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

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

Wolverine-MRD-escape.swf

This is the info page for
Flash #122648

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


Text
HOW TO PLAY

HIGH SCORES

MORE GAMES

MEDALS

PAUSE GAME

MAIN MENU

<p align="left"><font face="BadaBoom BB" size="18" color="#000000" letterSpacing="1.000000" kerning="0">123,456,789</font></p>

WEAPON X

WEAPON X

RAISED BY NUMEROUS FOSTER FAMILIES, THE YOUNG WOMAN
KNOWN ONLY AS ROGUE HAS LEARNED TO LOOK AFTER HERSELF.
HER MUTANT ABILITY TO DRAIN THE LIFE ENERGY, MEMORIES AND
POWERS OF ANYONE SHE TOUCHES FORCED HER TO KEEP THOSE
SHE CARED ABOUT AT ARM’S LENGTH… LITERALLY.
HAS ROGUE REALLY FOUND A HOME AT XAVIER’S SCHOOL FOR GIFTED
YOUNGSTERS OR ARE WOLVERINE AND THE X-MEN JUST ANOTHER
IN A LONG LINE OF TEMPORARY FAMILIES?

KITTY PRYDE MIGHT BE ABLE TO BECOME IMMATERIAL AND
“PHASE” THROUGH SOLID OBJECTS, BUT HER DEVOTION
TO PROFESSOR XAVIER’S SCHOOL FOR GIFTED YOUNGSTERS
IS ANYTHING BUT INSUBSTANTIAL.
ENROLLED IN THE SCHOOL SINCE SHE WAS ONLY THIRTEEN,
THE SPUNKY YOUNG MUTANT CALLED SHADOWCAT SERVES
AS A CHEERLEADER FOR XAVIER’S MISSION AND A VALUED
TEAMMATE TO WOLVERINE AND THE X-MEN!

THOUGH BLESSED WITH THE AGILITY AND STRENGTH OF A GREAT
APE, THE BLUE-FURRED HENRY MCCOY’S GREAT ASSET IS HIS KEEN
SCIENTIFIC MIND. THE BRILLIANT AND SUPERSTRONG BEAST IS
PROUD TO BE ON STAFF AT PROFESSOR’S XAVIER’S SCHOOL FOR
GIFTED YOUNGSTERS, AND OFTEN ACTS AS THE VOICE OF REASON
FOR WOLVERINE AND THE X-MEN.

HE WAS ONCE THE OPTIMISTIC, STRAIGHT-LACED LEADER OF
PROFESSOR XAVIER’S X-MEN, BUT WHEN SCOTT SUMMERS  LOST
THE TWO PEOPLE HE CARED FOR MOST, HE ALSO LOST THE DRIVE TO
LEAD THE MUTANT HEROES.
SCOTT ONCE KEPT A FIRM CONTROL ON HIS LIFE — MUCH LIKE HIS
RUBY QUARTZ VISOR KEEPS HIS POWERFUL OPTIC BLASTS IN CHECK
— BUT NOW ALL BETS ARE OFF. HE MAY BEGRUDGINGLY WORK
WITH WOLVERINE AND THE X-MEN TO PREVENT A FUTURE THAT
LOOKS DARKER EVERY SECOND, BUT INSIDE… THE MAN
CALLED CYCLOPS IS ALONE.

THE DRIFTER KNOWN SIMPLY AS LOGAN HAS LIVED MANY LIVES IN
HIS TIME — A SAMURAI, A COVERT OPERATIVE, A LIVING WEAPON
— BUT THE ONLY LIFE THAT EVER MATTERED TO HIM IS THE ONE HE
SHARED WITH PROFESSOR XAVIER’S STUDENTS, THE X-MEN.
IT TOOK A SURROGATE FAMILY FOR THIS RAPIDLY HEALING MUTANT
TO TRULY RECOVER FROM THE PROCESS THAT STOLE HIS MEMORY
AND BONDED ADAMANTIUM TO HIS SKELETON. NOW THE CANADIAN
BRAWLER WITH THE RAZOR-SHARP CLAWS FINDS HIMSELF THE
UNLIKELY HEAD OF THAT FAMILY, AND ONLY WOLVERINE AND THE
X-MEN CAN PROTECT THE WORLD FROM ITS OWN BLEAK FUTURE BY
CONTINUING XAVIER’S MISSION!

<p align="center"><font face="Armor Piercing" size="42" color="#ffffff" letterSpacing="1.000000" kerning="0">0</font></p>

00:00:00

0

0

0

00:00:00

0

0

0

<p align="left"><font face="BadaBoom BB" size="19" color="#000000" letterSpacing="1.000000" kerning="0">Level 1: The baseMENT</font></p>

SPACE to skip


9

<p align="left"></p>

CLEAR

SUBMIT

USE MOUSE TO CUT WIRE

!

<p align="center"><font face="Armor Piercing" size="50" color="#ffffff" letterSpacing="1.000000" kerning="0">999,999,999</font></p>

<p align="left"></p>

NAME

Username

PASSWORD

<p align="center"><font face="Armor Piercing" size="15" color="#cc0000" letterSpacing="0.500000" kerning="0">error</font></p>

THIS IS A MESSAGE BOX FOR SWITCHES

ActionScript [AS3]

Section 1
//CreditsUI (assets.pages.CreditsUI) package assets.pages { import flash.display.*; public dynamic class CreditsUI extends MovieClip { public function CreditsUI(){ addFrameScript(27, frame28); } function frame28(){ stop(); } } }//package assets.pages
Section 2
//HelpUI (assets.pages.HelpUI) package assets.pages { import flash.display.*; public dynamic class HelpUI extends MovieClip { public function HelpUI(){ addFrameScript(27, frame28); } function frame28(){ stop(); } } }//package assets.pages
Section 3
//MedalsUI (assets.pages.MedalsUI) package assets.pages { import flash.display.*; public dynamic class MedalsUI extends MovieClip { public var medalMastermind:MovieClip; public var medalIntel:MovieClip; public var baseNinja:MovieClip; public var medalScrapyard:MovieClip; public var medalGenius:MovieClip; public var baseBest:MovieClip; public var medalBest:MovieClip; public var baseDestroyer:MovieClip; public var medalSaboteur:MovieClip; public var baseIntel:MovieClip; public var medalSecret:MovieClip; public var baseSabotuer:MovieClip; public var baseGenius:MovieClip; public var baseMastermind:MovieClip; public var baseScrapyard:MovieClip; public var medalWeaponX:MovieClip; public var baseWeaponx:MovieClip; public var medalNinja:MovieClip; public var baseSecret:MovieClip; public var medalDestroyer:MovieClip; public function MedalsUI(){ addFrameScript(27, frame28); } function frame28(){ stop(); } } }//package assets.pages
Section 4
//mutantButtons (assets.pages.mutantButtons) package assets.pages { import flash.display.*; public dynamic class mutantButtons extends MovieClip { public var next:MovieClip; public var prev:MovieClip; public var iconShadowcat:MovieClip; public var iconBeast:MovieClip; public var iconWolverine:MovieClip; public var iconCyclops:MovieClip; public var iconRogue:MovieClip; } }//package assets.pages
Section 5
//MutantsUI (assets.pages.MutantsUI) package assets.pages { import flash.display.*; import events.*; public dynamic class MutantsUI extends MovieClip { public var pageBeast:MovieClip; public var pageWolverine:MovieClip; public var pageCyclops:MovieClip; public var pageRogue:MovieClip; public var pageShadowcat:MovieClip; public function MutantsUI(){ addFrameScript(24, frame25); } function frame25(){ stop(); dispatchEvent(new UIEvent(UIEvent.LOAD_HIGHSCORES)); } } }//package assets.pages
Section 6
//SubmitScoreUI (assets.pages.SubmitScoreUI) package assets.pages { import flash.events.*; import flash.display.*; import events.*; import flash.text.*; public dynamic class SubmitScoreUI extends MovieClip { public var tryAgainButton:MovieClip; public var nameField:MovieClip; public var submitButton:SimpleButton; public var closeButton:MovieClip; public var loginButton:MovieClip; public var skipButton:MovieClip; public var score:TextField; public function SubmitScoreUI(){ addFrameScript(0, frame1, 7, frame8, 19, frame20, 20, frame21, 27, frame28, 36, frame37, 76, frame77, 77, frame78, 95, frame96); } function frame77(){ stop(); dispatchEvent(new UIEvent(UIEvent.SUBMIT_SCORE_SUCCESS)); } function frame78(){ skipButton.addEventListener(MouseEvent.MOUSE_UP, onSkipPress); tryAgainButton.addEventListener(MouseEvent.MOUSE_UP, onTryAgainPress); } public function onTryAgainPress(_arg1:MouseEvent):void{ dispatchEvent(new UIEvent(UIEvent.SUBMIT_SCORE_AGAIN)); } function frame1(){ stop(); } public function onClosePress(_arg1:MouseEvent):void{ dispatchEvent(new UIEvent(UIEvent.CLOSE)); } function frame21(){ submitButton.addEventListener(MouseEvent.MOUSE_UP, onSubmitPress); dispatchEvent(new UIEvent(UIEvent.SUBMIT_SCORE_FORM)); initializeCloseButton(); } function frame8(){ loginButton.addEventListener(MouseEvent.MOUSE_UP, onLoginPress); dispatchEvent(new UIEvent(UIEvent.SUBMIT_SCORE_FORM)); initializeCloseButton(); } function frame96(){ stop(); } function frame28(){ stop(); } function frame20(){ stop(); } public function initializeCloseButton():void{ closeButton.addEventListener(MouseEvent.MOUSE_UP, onClosePress); } public function onLoginPress(_arg1:MouseEvent):void{ dispatchEvent(new LoginEvent(LoginEvent.OPEN_LOGIN)); } function frame37(){ stop(); dispatchEvent(new UIEvent(UIEvent.SEND_SCORE)); } public function onSubmitPress(_arg1:MouseEvent):void{ dispatchEvent(new UIEvent(UIEvent.SUBMIT_SCORE)); } public function onSkipPress(_arg1:MouseEvent):void{ dispatchEvent(new UIEvent(UIEvent.CLOSE)); } } }//package assets.pages
Section 7
//TitleUI (assets.pages.TitleUI) package assets.pages { import flash.display.*; public dynamic class TitleUI extends MovieClip { public var sponsor:MovieClip; public function TitleUI(){ addFrameScript(0, frame1, 45, frame46); } function frame1(){ stop(); } function frame46(){ stop(); } } }//package assets.pages
Section 8
//CameraLeftUI (assets.CameraLeftUI) package assets { import flash.display.*; public dynamic class CameraLeftUI extends MovieClip { } }//package assets
Section 9
//CameraRightUI (assets.CameraRightUI) package assets { import flash.display.*; public dynamic class CameraRightUI extends MovieClip { } }//package assets
Section 10
//DoorDoubleFutureExitUI (assets.DoorDoubleFutureExitUI) package assets { import flash.display.*; public dynamic class DoorDoubleFutureExitUI extends MovieClip { } }//package assets
Section 11
//DoorDoubleFutureUI (assets.DoorDoubleFutureUI) package assets { import flash.display.*; public dynamic class DoorDoubleFutureUI extends MovieClip { } }//package assets
Section 12
//DoorDoubleSteelExitUI (assets.DoorDoubleSteelExitUI) package assets { import flash.display.*; public dynamic class DoorDoubleSteelExitUI extends MovieClip { } }//package assets
Section 13
//DoorDoubleSteelUI (assets.DoorDoubleSteelUI) package assets { import flash.display.*; public dynamic class DoorDoubleSteelUI extends MovieClip { } }//package assets
Section 14
//DoorSingleSteelExitUI (assets.DoorSingleSteelExitUI) package assets { import flash.display.*; public dynamic class DoorSingleSteelExitUI extends MovieClip { } }//package assets
Section 15
//DoorSingleSteelUI (assets.DoorSingleSteelUI) package assets { import flash.display.*; public dynamic class DoorSingleSteelUI extends MovieClip { } }//package assets
Section 16
//HeroUI (assets.HeroUI) package assets { import flash.display.*; public dynamic class HeroUI extends MovieClip { public function HeroUI(){ addFrameScript(23, frame24, 40, frame41, 58, frame59, 69, frame70, 79, frame80, 89, frame90, 96, frame97, 108, frame109); } function frame70(){ stop(); } function frame80(){ gotoAndPlay("idle"); } function frame90(){ stop(); } function frame97(){ stop(); } function frame109(){ stop(); } function frame24(){ gotoAndPlay("idle"); } function frame41(){ gotoAndPlay("crouch"); } function frame59(){ gotoAndPlay("walk"); } } }//package assets
Section 17
//HudItemBaseUI (assets.HudItemBaseUI) package assets { import flash.display.*; public dynamic class HudItemBaseUI extends MovieClip { } }//package assets
Section 18
//HudItemUI (assets.HudItemUI) package assets { import flash.display.*; import flash.text.*; public dynamic class HudItemUI extends MovieClip { public var locked:MovieClip; public var hover:MovieClip; public var titleText:TextField; } }//package assets
Section 19
//HudStartUI (assets.HudStartUI) package assets { import flash.display.*; public dynamic class HudStartUI extends MovieClip { public var btnStart:SimpleButton; public var buttonContainer:MovieClip; } }//package assets
Section 20
//HudUI (assets.HudUI) package assets { import flash.display.*; import flash.text.*; public dynamic class HudUI extends MovieClip { public var top:MovieClip; public var btnMarvel:SimpleButton; public var btnCredits:SimpleButton; public var scoretext:TextField; public var btnXmen:SimpleButton; public var soundControls:MovieClip; } }//package assets
Section 21
//HudUIButtons (assets.HudUIButtons) package assets { import flash.display.*; public dynamic class HudUIButtons extends MovieClip { public var ButtonScores:MovieClip; public var BaseShare:MovieClip; public var BaseScores:MovieClip; public var ButtonShare:MovieClip; public var ButtonHelp:MovieClip; public var ButtonMore:MovieClip; public var BaseHelp:MovieClip; public var InGame:MovieClip; public var BaseMore:MovieClip; } }//package assets
Section 22
//HumanUI (assets.HumanUI) package assets { import flash.display.*; public dynamic class HumanUI extends MovieClip { } }//package assets
Section 23
//KeypadFutureUI (assets.KeypadFutureUI) package assets { import flash.display.*; public dynamic class KeypadFutureUI extends MovieClip { } }//package assets
Section 24
//KeypadUI (assets.KeypadUI) package assets { import flash.display.*; public dynamic class KeypadUI extends MovieClip { } }//package assets
Section 25
//LaserBigUI (assets.LaserBigUI) package assets { import flash.display.*; public dynamic class LaserBigUI extends MovieClip { } }//package assets
Section 26
//LaserFutureUI (assets.LaserFutureUI) package assets { import flash.display.*; public dynamic class LaserFutureUI extends MovieClip { } }//package assets
Section 27
//LevelEndCompleteUI (assets.LevelEndCompleteUI) package assets { import flash.display.*; import flash.text.*; public dynamic class LevelEndCompleteUI extends MovieClip { public var medalsEarned:MovieClip; public var textBonusPoints:TextField; public var textScore:TextField; public var textTime:TextField; public var btnPlay:SimpleButton; public var textAlarms:TextField; public function LevelEndCompleteUI(){ addFrameScript(5, frame6); } function frame6(){ stop(); } } }//package assets
Section 28
//LevelEndFailedUI (assets.LevelEndFailedUI) package assets { import flash.display.*; import flash.text.*; public dynamic class LevelEndFailedUI extends MovieClip { public var textScore:TextField; public var btnPlay:SimpleButton; public function LevelEndFailedUI(){ addFrameScript(5, frame6); } function frame6(){ stop(); } } }//package assets
Section 29
//LevelEndGameCompleteUI (assets.LevelEndGameCompleteUI) package assets { import flash.display.*; import flash.text.*; public dynamic class LevelEndGameCompleteUI extends MovieClip { public var medalsEarned:MovieClip; public var textGameTime:TextField; public var textBonusPoints:TextField; public var textScore:TextField; public var textTime:TextField; public var textAlarms:TextField; public function LevelEndGameCompleteUI(){ addFrameScript(5, frame6); } function frame6(){ stop(); } } }//package assets
Section 30
//MarvelLoginUI (assets.MarvelLoginUI) package assets { import flash.events.*; import flash.display.*; import flash.utils.*; import events.*; import flash.media.*; import flash.filters.*; import flash.system.*; import flash.net.*; import flash.geom.*; import flash.text.*; import flash.errors.*; import flash.ui.*; import flash.external.*; import adobe.utils.*; import flash.accessibility.*; import flash.printing.*; import flash.xml.*; public dynamic class MarvelLoginUI extends MovieClip { public var tryAgainButton:MovieClip; public var loginButton:MovieClip; public var skipButton:MovieClip; public var nameEntry:MovieClip; public var registerButton:MovieClip; public var passEntry:MovieClip; public var errorMessage:TextField; public function MarvelLoginUI(){ addFrameScript(0, frame1, 1, frame2, 15, frame16, 23, frame24, 53, frame54, 54, frame55, 63, frame64); } function frame64(){ stop(); } public function init():void{ nameEntry.input.tabIndex = 0; passEntry.input.tabIndex = 1; passEntry.input.displayAsPassword = true; loginButton.button.addEventListener(MouseEvent.MOUSE_UP, onLoginPress); skipButton.button.addEventListener(MouseEvent.MOUSE_UP, onSkipPress); registerButton.button.addEventListener(MouseEvent.MOUSE_UP, onRegisterPress); dispatchEvent(new LoginEvent(LoginEvent.INITIALIZE)); } public function onSuccess():void{ dispatchEvent(new LoginEvent(LoginEvent.LOGIN_SUCCESS)); } public function onTryAgainPress(_arg1:MouseEvent):void{ dispatchEvent(new LoginEvent(LoginEvent.TRY_AGAIN)); } public function onError():void{ dispatchEvent(new LoginEvent(LoginEvent.LOGIN_ERROR)); } function frame1(){ } function frame24(){ stop(); } function frame2(){ init(); } function frame16(){ stop(); } public function onLoginPress(_arg1:MouseEvent):void{ var _local2:Object; var _local3:Boolean; _local2 = new Object(); _local2.username = nameEntry.input.text; _local2.password = passEntry.input.text; _local3 = true; if (_local2.username.length == 0){ _local3 = false; nameEntry.gotoAndPlay("error"); }; if (_local2.password.length == 0){ _local3 = false; passEntry.gotoAndPlay("error"); }; if (_local3 == true){ dispatchEvent(new LoginEvent(LoginEvent.LOGIN, _local2)); }; } public function onRegisterPress(_arg1:MouseEvent):void{ dispatchEvent(new LoginEvent(LoginEvent.REGISTER)); } function frame54(){ stop(); onSuccess(); } function frame55(){ skipButton.button.addEventListener(MouseEvent.MOUSE_UP, onSkipPress); tryAgainButton.button.addEventListener(MouseEvent.MOUSE_UP, onTryAgainPress); onError(); } public function onSkipPress(_arg1:MouseEvent):void{ dispatchEvent(new LoginEvent(LoginEvent.SKIP)); } } }//package assets
Section 31
//MedalSmall (assets.MedalSmall) package assets { import flash.display.*; public dynamic class MedalSmall extends MovieClip { public var toolTip:MovieClip; public var hit:MovieClip; } }//package assets
Section 32
//MessageBoxUI (assets.MessageBoxUI) package assets { import flash.display.*; import flash.text.*; public dynamic class MessageBoxUI extends MovieClip { public var description:TextField; } }//package assets
Section 33
//MiniGameIntro (assets.MiniGameIntro) package assets { import flash.display.*; import flash.text.*; public dynamic class MiniGameIntro extends MovieClip { public var btnClose:SimpleButton; public var infoText:TextField; } }//package assets
Section 34
//MiniGameIntroScreenBackground (assets.MiniGameIntroScreenBackground) package assets { import flash.display.*; public dynamic class MiniGameIntroScreenBackground extends MovieClip { } }//package assets
Section 35
//MiniGameKeyboard (assets.MiniGameKeyboard) package assets { import flash.display.*; public dynamic class MiniGameKeyboard extends MovieClip { public var btnClose:SimpleButton; public var btnClear:SimpleButton; public var btnSubmit:SimpleButton; public var key2:MovieClip; public var key4:MovieClip; public var key6:MovieClip; public var key1:MovieClip; public var key9:MovieClip; public var key3:MovieClip; public var key5:MovieClip; public var key7:MovieClip; public var key8:MovieClip; public var digits:MovieClip; public var status:MovieClip; } }//package assets
Section 36
//MiniGameTerminal (assets.MiniGameTerminal) package assets { import flash.display.*; import flash.text.*; public dynamic class MiniGameTerminal extends MovieClip { public var btnClose:SimpleButton; public var infoText:TextField; } }//package assets
Section 37
//MiniGameTerminalScreen (assets.MiniGameTerminalScreen) package assets { import flash.display.*; public dynamic class MiniGameTerminalScreen extends MovieClip { } }//package assets
Section 38
//MiniGameWires (assets.MiniGameWires) package assets { import flash.display.*; public dynamic class MiniGameWires extends MovieClip { public var btnClose:SimpleButton; public var btnGreen:SimpleButton; public var greenbar:MovieClip; public var claw:MovieClip; public var wires:MovieClip; public var btnRed:SimpleButton; public var btnBlue:SimpleButton; } }//package assets
Section 39
//Mutant1 (assets.Mutant1) package assets { import flash.display.*; public dynamic class Mutant1 extends MovieClip { } }//package assets
Section 40
//Mutant2 (assets.Mutant2) package assets { import flash.display.*; public dynamic class Mutant2 extends MovieClip { } }//package assets
Section 41
//Mutant3 (assets.Mutant3) package assets { import flash.display.*; public dynamic class Mutant3 extends MovieClip { } }//package assets
Section 42
//Mutant4 (assets.Mutant4) package assets { import flash.display.*; public dynamic class Mutant4 extends MovieClip { } }//package assets
Section 43
//Preloader (assets.Preloader) package assets { import flash.display.*; public dynamic class Preloader extends MovieClip { public var bar:MovieClip; } }//package assets
Section 44
//Robot2UI (assets.Robot2UI) package assets { import flash.display.*; public dynamic class Robot2UI extends MovieClip { } }//package assets
Section 45
//RobotUI (assets.RobotUI) package assets { import flash.display.*; public dynamic class RobotUI extends MovieClip { } }//package assets
Section 46
//Scanline (assets.Scanline) package assets { import flash.display.*; public dynamic class Scanline extends BitmapData { public function Scanline(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package assets
Section 47
//SensorBottomUI (assets.SensorBottomUI) package assets { import flash.display.*; public dynamic class SensorBottomUI extends MovieClip { } }//package assets
Section 48
//SensorTopUI (assets.SensorTopUI) package assets { import flash.display.*; public dynamic class SensorTopUI extends MovieClip { } }//package assets
Section 49
//sfx_access_denied_01 (assets.sfx_access_denied_01) package assets { import flash.media.*; public dynamic class sfx_access_denied_01 extends Sound { } }//package assets
Section 50
//sfx_aerial_01 (assets.sfx_aerial_01) package assets { import flash.media.*; public dynamic class sfx_aerial_01 extends Sound { } }//package assets
Section 51
//sfx_auto_turret_scan_01 (assets.sfx_auto_turret_scan_01) package assets { import flash.media.*; public dynamic class sfx_auto_turret_scan_01 extends Sound { } }//package assets
Section 52
//sfx_charge_kill_stab_01 (assets.sfx_charge_kill_stab_01) package assets { import flash.media.*; public dynamic class sfx_charge_kill_stab_01 extends Sound { } }//package assets
Section 53
//sfx_console_entry_03 (assets.sfx_console_entry_03) package assets { import flash.media.*; public dynamic class sfx_console_entry_03 extends Sound { } }//package assets
Section 54
//sfx_cursor (assets.sfx_cursor) package assets { import flash.media.*; public dynamic class sfx_cursor extends Sound { } }//package assets
Section 55
//sfx_dry_fire_02 (assets.sfx_dry_fire_02) package assets { import flash.media.*; public dynamic class sfx_dry_fire_02 extends Sound { } }//package assets
Section 56
//sfx_machete_heavy_01 (assets.sfx_machete_heavy_01) package assets { import flash.media.*; public dynamic class sfx_machete_heavy_01 extends Sound { } }//package assets
Section 57
//sfx_machete_normal_02 (assets.sfx_machete_normal_02) package assets { import flash.media.*; public dynamic class sfx_machete_normal_02 extends Sound { } }//package assets
Section 58
//sfx_machete_normal_04 (assets.sfx_machete_normal_04) package assets { import flash.media.*; public dynamic class sfx_machete_normal_04 extends Sound { } }//package assets
Section 59
//sfx_machete_normal_08 (assets.sfx_machete_normal_08) package assets { import flash.media.*; public dynamic class sfx_machete_normal_08 extends Sound { } }//package assets
Section 60
//sfx_mech_operate_17 (assets.sfx_mech_operate_17) package assets { import flash.media.*; public dynamic class sfx_mech_operate_17 extends Sound { } }//package assets
Section 61
//sfx_MRD_intro_main (assets.sfx_MRD_intro_main) package assets { import flash.media.*; public dynamic class sfx_MRD_intro_main extends Sound { } }//package assets
Section 62
//sfx_MRD_level_loop_2 (assets.sfx_MRD_level_loop_2) package assets { import flash.media.*; public dynamic class sfx_MRD_level_loop_2 extends Sound { } }//package assets
Section 63
//sfx_MRD_level_loop_3 (assets.sfx_MRD_level_loop_3) package assets { import flash.media.*; public dynamic class sfx_MRD_level_loop_3 extends Sound { } }//package assets
Section 64
//sfx_MRD_level_loop_4 (assets.sfx_MRD_level_loop_4) package assets { import flash.media.*; public dynamic class sfx_MRD_level_loop_4 extends Sound { } }//package assets
Section 65
//sfx_SOUNDDOGS_AL_147468 (assets.sfx_SOUNDDOGS_AL_147468) package assets { import flash.media.*; public dynamic class sfx_SOUNDDOGS_AL_147468 extends Sound { } }//package assets
Section 66
//sfx_staff_12 (assets.sfx_staff_12) package assets { import flash.media.*; public dynamic class sfx_staff_12 extends Sound { } }//package assets
Section 67
//sfx_throw_whoosh_01 (assets.sfx_throw_whoosh_01) package assets { import flash.media.*; public dynamic class sfx_throw_whoosh_01 extends Sound { } }//package assets
Section 68
//sfx_throw_whoosh_03 (assets.sfx_throw_whoosh_03) package assets { import flash.media.*; public dynamic class sfx_throw_whoosh_03 extends Sound { } }//package assets
Section 69
//sfx_thud (assets.sfx_thud) package assets { import flash.media.*; public dynamic class sfx_thud extends Sound { } }//package assets
Section 70
//sfx_thud2 (assets.sfx_thud2) package assets { import flash.media.*; public dynamic class sfx_thud2 extends Sound { } }//package assets
Section 71
//sfx_tram_crash_01 (assets.sfx_tram_crash_01) package assets { import flash.media.*; public dynamic class sfx_tram_crash_01 extends Sound { } }//package assets
Section 72
//sfx_turbolift_doorclose_01 (assets.sfx_turbolift_doorclose_01) package assets { import flash.media.*; public dynamic class sfx_turbolift_doorclose_01 extends Sound { } }//package assets
Section 73
//sfx_wall_climb_02 (assets.sfx_wall_climb_02) package assets { import flash.media.*; public dynamic class sfx_wall_climb_02 extends Sound { } }//package assets
Section 74
//sfx_wire_slice_01 (assets.sfx_wire_slice_01) package assets { import flash.media.*; public dynamic class sfx_wire_slice_01 extends Sound { } }//package assets
Section 75
//SwitchFutureUI (assets.SwitchFutureUI) package assets { import flash.display.*; public dynamic class SwitchFutureUI extends MovieClip { } }//package assets
Section 76
//SwitchUI (assets.SwitchUI) package assets { import flash.display.*; public dynamic class SwitchUI extends MovieClip { } }//package assets
Section 77
//TerminalFutureUI (assets.TerminalFutureUI) package assets { import flash.display.*; public dynamic class TerminalFutureUI extends MovieClip { } }//package assets
Section 78
//TerminalUI (assets.TerminalUI) package assets { import flash.display.*; public dynamic class TerminalUI extends MovieClip { } }//package assets
Section 79
//tilesBackground (assets.tilesBackground) package assets { import flash.display.*; public dynamic class tilesBackground extends BitmapData { public function tilesBackground(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package assets
Section 80
//tilesForeground (assets.tilesForeground) package assets { import flash.display.*; public dynamic class tilesForeground extends BitmapData { public function tilesForeground(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package assets
Section 81
//VideoEndSequence (assets.VideoEndSequence) package assets { import flash.display.*; public dynamic class VideoEndSequence extends MovieClip { public function VideoEndSequence(){ addFrameScript(332, frame333); } function frame333(){ stop(); } } }//package assets
Section 82
//VideoIntroSequence (assets.VideoIntroSequence) package assets { import flash.display.*; public dynamic class VideoIntroSequence extends MovieClip { public function VideoIntroSequence(){ addFrameScript(470, frame471); } function frame471(){ stop(); } } }//package assets
Section 83
//VideoUnlockSequence (assets.VideoUnlockSequence) package assets { import flash.display.*; public dynamic class VideoUnlockSequence extends MovieClip { public function VideoUnlockSequence(){ addFrameScript(33, frame34); } function frame34(){ stop(); } } }//package assets
Section 84
//WiresUI (assets.WiresUI) package assets { import flash.display.*; public dynamic class WiresUI extends MovieClip { } }//package assets
Section 85
//Clawcopy_80 (assets_fla.Clawcopy_80) package assets_fla { import flash.display.*; public dynamic class Clawcopy_80 extends MovieClip { public function Clawcopy_80(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package assets_fla
Section 86
//highscoresNavArrow_2 (assets_fla.highscoresNavArrow_2) package assets_fla { import flash.display.*; public dynamic class highscoresNavArrow_2 extends MovieClip { public function highscoresNavArrow_2(){ addFrameScript(0, frame1, 9, frame10, 18, frame19, 28, frame29, 38, frame39, 49, frame50); } function frame10(){ stop(); } function frame1(){ stop(); } function frame19(){ stop(); } function frame29(){ stop(); } function frame39(){ stop(); } function frame50(){ stop(); } } }//package assets_fla
Section 87
//HudUI_19 (assets_fla.HudUI_19) package assets_fla { import flash.display.*; import flash.text.*; public dynamic class HudUI_19 extends MovieClip { public var label:TextField; public var hover:MovieClip; } }//package assets_fla
Section 88
//HudUi_21 (assets_fla.HudUi_21) package assets_fla { import flash.display.*; import flash.text.*; public dynamic class HudUi_21 extends MovieClip { public var label:TextField; public var hover:MovieClip; } }//package assets_fla
Section 89
//HudUi_23 (assets_fla.HudUi_23) package assets_fla { import flash.display.*; import flash.text.*; public dynamic class HudUi_23 extends MovieClip { public var label:TextField; public var hover:MovieClip; } }//package assets_fla
Section 90
//HudUi_25 (assets_fla.HudUi_25) package assets_fla { import flash.display.*; import flash.text.*; public dynamic class HudUi_25 extends MovieClip { public var label:TextField; public var hover:MovieClip; } }//package assets_fla
Section 91
//HudUI_27 (assets_fla.HudUI_27) package assets_fla { import flash.display.*; public dynamic class HudUI_27 extends MovieClip { public var ButtonMain:MovieClip; public var ButtonPause:MovieClip; } }//package assets_fla
Section 92
//HudUI_28 (assets_fla.HudUI_28) package assets_fla { import flash.display.*; import flash.text.*; public dynamic class HudUI_28 extends MovieClip { public var label:TextField; public var hover:MovieClip; } }//package assets_fla
Section 93
//HudUI_30 (assets_fla.HudUI_30) package assets_fla { import flash.display.*; import flash.text.*; public dynamic class HudUI_30 extends MovieClip { public var label:TextField; public var hover:MovieClip; } }//package assets_fla
Section 94
//Key_68 (assets_fla.Key_68) package assets_fla { import flash.display.*; import flash.text.*; public dynamic class Key_68 extends MovieClip { public var digit:TextField; public var sheen:MovieClip; public var base:MovieClip; } }//package assets_fla
Section 95
//loginButton_150 (assets_fla.loginButton_150) package assets_fla { import flash.display.*; public dynamic class loginButton_150 extends MovieClip { public var button:NavButtonUI; public function loginButton_150(){ addFrameScript(0, frame1, 9, frame10, 18, frame19, 28, frame29, 38, frame39, 49, frame50); } function frame10(){ stop(); } function frame19(){ stop(); } function frame29(){ stop(); } function frame1(){ stop(); } function frame39(){ stop(); } function frame50(){ stop(); } } }//package assets_fla
Section 96
//loginEntry_155 (assets_fla.loginEntry_155) package assets_fla { import flash.display.*; import flash.text.*; public dynamic class loginEntry_155 extends MovieClip { public var input:TextField; public function loginEntry_155(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package assets_fla
Section 97
//medalsOverlay_116 (assets_fla.medalsOverlay_116) package assets_fla { import flash.display.*; public dynamic class medalsOverlay_116 extends MovieClip { public var scratch:MovieClip; public var toolTip:MovieClip; public var hit:MovieClip; } }//package assets_fla
Section 98
//registerButton_183 (assets_fla.registerButton_183) package assets_fla { import flash.display.*; public dynamic class registerButton_183 extends MovieClip { public var button:NavButtonUI; public function registerButton_183(){ addFrameScript(0, frame1, 9, frame10, 18, frame19, 28, frame29, 38, frame39, 49, frame50); } function frame10(){ stop(); } function frame19(){ stop(); } function frame29(){ stop(); } function frame1(){ stop(); } function frame39(){ stop(); } function frame50(){ stop(); } } }//package assets_fla
Section 99
//scanLines_52 (assets_fla.scanLines_52) package assets_fla { import flash.display.*; public dynamic class scanLines_52 extends MovieClip { public function scanLines_52(){ addFrameScript(0, frame1); } function frame1(){ this.mouseEnabled = (this.mouseChildren = false); } } }//package assets_fla
Section 100
//skipButton_163 (assets_fla.skipButton_163) package assets_fla { import flash.display.*; public dynamic class skipButton_163 extends MovieClip { public var button:NavButtonUI; public function skipButton_163(){ addFrameScript(0, frame1, 9, frame10, 18, frame19, 28, frame29, 38, frame39, 49, frame50); } function frame10(){ stop(); } function frame19(){ stop(); } function frame29(){ stop(); } function frame1(){ stop(); } function frame39(){ stop(); } function frame50(){ stop(); } } }//package assets_fla
Section 101
//SoundControls_135 (assets_fla.SoundControls_135) package assets_fla { import flash.display.*; public dynamic class SoundControls_135 extends MovieClip { public var soundButton:SimpleButton; public var musicSlider:MovieClip; public var musicButton:SimpleButton; public var soundSlider:MovieClip; } }//package assets_fla
Section 102
//soundSlider_136 (assets_fla.soundSlider_136) package assets_fla { import flash.display.*; public dynamic class soundSlider_136 extends MovieClip { public function soundSlider_136(){ addFrameScript(0, frame1, 7, frame8, 15, frame16); } function frame16(){ stop(); } function frame1(){ stop(); } function frame8(){ stop(); } } }//package assets_fla
Section 103
//submitScoreClose_152 (assets_fla.submitScoreClose_152) package assets_fla { import flash.display.*; public dynamic class submitScoreClose_152 extends MovieClip { public function submitScoreClose_152(){ addFrameScript(0, frame1, 9, frame10, 18, frame19, 28, frame29, 38, frame39, 49, frame50); } function frame10(){ stop(); } function frame1(){ stop(); } function frame19(){ stop(); } function frame29(){ stop(); } function frame39(){ stop(); } function frame50(){ stop(); } } }//package assets_fla
Section 104
//Terminal_71 (assets_fla.Terminal_71) package assets_fla { import flash.display.*; public dynamic class Terminal_71 extends MovieClip { public function Terminal_71(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package assets_fla
Section 105
//Terminal_72 (assets_fla.Terminal_72) package assets_fla { import flash.display.*; import flash.text.*; public dynamic class Terminal_72 extends MovieClip { public var digitsText:TextField; } }//package assets_fla
Section 106
//tooltip_12 (assets_fla.tooltip_12) package assets_fla { import flash.display.*; import flash.text.*; public dynamic class tooltip_12 extends MovieClip { public var descriptionText:TextField; public var titleText:TextField; } }//package assets_fla
Section 107
//tryAgainButton_161 (assets_fla.tryAgainButton_161) package assets_fla { import flash.display.*; public dynamic class tryAgainButton_161 extends MovieClip { public var button:NavButtonUI; public function tryAgainButton_161(){ addFrameScript(0, frame1, 9, frame10, 18, frame19, 28, frame29, 38, frame39, 49, frame50); } function frame10(){ stop(); } function frame19(){ stop(); } function frame29(){ stop(); } function frame1(){ stop(); } function frame39(){ stop(); } function frame50(){ stop(); } } }//package assets_fla
Section 108
//Wires_78 (assets_fla.Wires_78) package assets_fla { import flash.display.*; public dynamic class Wires_78 extends MovieClip { public function Wires_78(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4); } function frame3(){ stop(); } function frame1(){ stop(); } function frame4(){ stop(); } function frame2(){ stop(); } } }//package assets_fla
Section 109
//NavButton (buttons.NavButton) package buttons { import flash.events.*; import flash.display.*; import flash.utils.*; public class NavButton extends SimpleButton { private var _display:MovieClip; private var _frames:Dictionary; private var _disabled:Boolean; private var _labels:Array; private var _pressed:Boolean; public var releaseFrame:String; public var pressFrame:String; public var releaseOutsideFrame:String; public var overFrame:String; public var outFrame:String; public function NavButton():void{ outFrame = "out"; overFrame = "over"; pressFrame = "press"; releaseFrame = "release"; releaseOutsideFrame = "releaseOutside"; _pressed = false; _disabled = false; display = (parent as MovieClip); } private function navigateToFrame(_arg1:String):void{ if (_arg1 != null){ if (hasFrame(_arg1) == true){ _display.gotoAndPlay(_arg1); }; }; } public function get display():MovieClip{ return (_display); } public function set display(_arg1:MovieClip):void{ var _local2:int; var _local3:int; var _local4:FrameLabel; if (_arg1 != null){ _display = _arg1; _labels = _display.currentLabels; _frames = new Dictionary(true); _local3 = _labels.length; _local2 = 0; while (_local2 < _local3) { _local4 = _labels[_local2]; _frames[_local4.name] = _local4; _local2++; }; enable(); }; } protected function onButtonReleaseOutside():void{ navigateToFrame(releaseOutsideFrame); } protected function onDisable():void{ } protected function onEnable():void{ } public function enable():void{ _disabled = false; _display.mouseEnabled = (_display.mouseChildren = true); enableInternalEvents(); } private function hasFrame(_arg1:String):Boolean{ return (!((_frames[_arg1] == null))); } protected function onButtonRelease():void{ navigateToFrame(releaseFrame); } protected function enableInternalEvents():void{ removeInternalEvents(); addEventListener(MouseEvent.ROLL_OVER, onButtonOver, false, 0, true); addEventListener(MouseEvent.ROLL_OUT, onButtonOut, false, 0, true); addEventListener(MouseEvent.MOUSE_DOWN, onButtonDown, false, 0, true); } protected function removeInternalEvents():void{ removeEventListener(MouseEvent.ROLL_OVER, onButtonOver); removeEventListener(MouseEvent.ROLL_OUT, onButtonOut); removeEventListener(MouseEvent.MOUSE_DOWN, onButtonDown); } protected function onButtonOut(_arg1:MouseEvent):void{ if (_pressed == false){ navigateToFrame(outFrame); }; } public function get pressed():Boolean{ return (_pressed); } public function disable():void{ _disabled = true; _display.mouseEnabled = (_display.mouseChildren = false); removeInternalEvents(); } protected function onButtonOver(_arg1:MouseEvent):void{ if (_pressed == false){ navigateToFrame(overFrame); }; } public function set disabled(_arg1:Boolean):void{ if (_arg1 == true){ disable(); } else { enable(); }; } protected function onButtonDown(_arg1:MouseEvent):void{ _pressed = true; navigateToFrame(pressFrame); stage.addEventListener(MouseEvent.MOUSE_UP, onButtonUp, false, 0, true); } protected function onButtonUp(_arg1:MouseEvent):void{ _pressed = false; var _local2:DisplayObject = (_arg1.target as DisplayObject); if ((((_local2 == _display)) || (_display.contains(_local2)))){ onButtonRelease(); } else { onButtonReleaseOutside(); }; if (stage != null){ stage.removeEventListener(MouseEvent.MOUSE_UP, onButtonUp); }; } public function get disabled():Boolean{ return (_disabled); } } }//package buttons
Section 110
//AuxFunctions (caurina.transitions.AuxFunctions) package caurina.transitions { public class AuxFunctions { public static function getObjectLength(_arg1:Object):uint{ var _local3:String; var _local2:uint; for (_local3 in _arg1) { _local2++; }; return (_local2); } public static function numberToG(_arg1:Number):Number{ return (((_arg1 & 0xFF00) >> 8)); } public static function numberToB(_arg1:Number):Number{ return ((_arg1 & 0xFF)); } public static function numberToR(_arg1:Number):Number{ return (((_arg1 & 0xFF0000) >> 16)); } public static function concatObjects(... _args):Object{ var _local3:Object; var _local5:String; var _local2:Object = {}; var _local4:int; while (_local4 < _args.length) { _local3 = _args[_local4]; for (_local5 in _local3) { if (_local3[_local5] == null){ delete _local2[_local5]; } else { _local2[_local5] = _local3[_local5]; }; }; _local4++; }; return (_local2); } } }//package caurina.transitions
Section 111
//Equations (caurina.transitions.Equations) package caurina.transitions { public class Equations { public function Equations(){ trace("Equations is a static class and should not be instantiated."); } public static function easeOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); if (_arg1 < (1 / 2.75)){ return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2)); }; if (_arg1 < (2 / 2.75)){ _arg1 = (_arg1 - (1.5 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2)); }; if (_arg1 < (2.5 / 2.75)){ _arg1 = (_arg1 - (2.25 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2)); }; _arg1 = (_arg1 - (2.625 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2)); } public static function easeInOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 == 2){ return ((_arg2 + _arg3)); }; var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * (0.3 * 1.5)) : _arg5.period; var _local8:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude; if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){ _local8 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8))); }; if (_arg1 < 1){ --_arg1; return (((-0.5 * ((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2)); }; --_arg1; return ((((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) * 0.5) + _arg3) + _arg2)); } public static function easeInOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2)); }; --_arg1; return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2)); } public static function easeInOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (((easeInBounce((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2)); }; return ((((easeOutBounce(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2)); } public static function easeInOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ _local6 = (_local6 * 1.525); return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_local6 + 1) * _arg1) - _local6))) + _arg2)); }; _arg1 = (_arg1 - 2); _local6 = (_local6 * 1.525); return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 2)) + _arg2)); } public static function easeOutInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutCubic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInCubic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot; _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 1)) + _arg2)); } public static function easeInOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return ((((-(_arg3) / 2) * (Math.cos(((Math.PI * _arg1) / _arg4)) - 1)) + _arg2)); } public static function easeInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot; _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * (((_local6 + 1) * _arg1) - _local6)) + _arg2)); } public static function easeInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return ((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeOutInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuint((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInQuint(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeOutInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutBounce((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInBounce(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function init():void{ Tweener.registerTransition("easenone", easeNone); Tweener.registerTransition("linear", easeNone); Tweener.registerTransition("easeinquad", easeInQuad); Tweener.registerTransition("easeoutquad", easeOutQuad); Tweener.registerTransition("easeinoutquad", easeInOutQuad); Tweener.registerTransition("easeoutinquad", easeOutInQuad); Tweener.registerTransition("easeincubic", easeInCubic); Tweener.registerTransition("easeoutcubic", easeOutCubic); Tweener.registerTransition("easeinoutcubic", easeInOutCubic); Tweener.registerTransition("easeoutincubic", easeOutInCubic); Tweener.registerTransition("easeinquart", easeInQuart); Tweener.registerTransition("easeoutquart", easeOutQuart); Tweener.registerTransition("easeinoutquart", easeInOutQuart); Tweener.registerTransition("easeoutinquart", easeOutInQuart); Tweener.registerTransition("easeinquint", easeInQuint); Tweener.registerTransition("easeoutquint", easeOutQuint); Tweener.registerTransition("easeinoutquint", easeInOutQuint); Tweener.registerTransition("easeoutinquint", easeOutInQuint); Tweener.registerTransition("easeinsine", easeInSine); Tweener.registerTransition("easeoutsine", easeOutSine); Tweener.registerTransition("easeinoutsine", easeInOutSine); Tweener.registerTransition("easeoutinsine", easeOutInSine); Tweener.registerTransition("easeincirc", easeInCirc); Tweener.registerTransition("easeoutcirc", easeOutCirc); Tweener.registerTransition("easeinoutcirc", easeInOutCirc); Tweener.registerTransition("easeoutincirc", easeOutInCirc); Tweener.registerTransition("easeinexpo", easeInExpo); Tweener.registerTransition("easeoutexpo", easeOutExpo); Tweener.registerTransition("easeinoutexpo", easeInOutExpo); Tweener.registerTransition("easeoutinexpo", easeOutInExpo); Tweener.registerTransition("easeinelastic", easeInElastic); Tweener.registerTransition("easeoutelastic", easeOutElastic); Tweener.registerTransition("easeinoutelastic", easeInOutElastic); Tweener.registerTransition("easeoutinelastic", easeOutInElastic); Tweener.registerTransition("easeinback", easeInBack); Tweener.registerTransition("easeoutback", easeOutBack); Tweener.registerTransition("easeinoutback", easeInOutBack); Tweener.registerTransition("easeoutinback", easeOutInBack); Tweener.registerTransition("easeinbounce", easeInBounce); Tweener.registerTransition("easeoutbounce", easeOutBounce); Tweener.registerTransition("easeinoutbounce", easeInOutBounce); Tweener.registerTransition("easeoutinbounce", easeOutInBounce); } public static function easeOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg1)==_arg4) ? (_arg2 + _arg3) : (((_arg3 * 1.001) * (-(Math.pow(2, ((-10 * _arg1) / _arg4))) + 1)) + _arg2)); } public static function easeOutInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutBack((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInBack(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg1)==0) ? _arg2 : (((_arg3 * Math.pow(2, (10 * ((_arg1 / _arg4) - 1)))) + _arg2) - (_arg3 * 0.001))); } public static function easeInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((-(_arg3) / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) + 1)) + _arg2)); } public static function easeInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return ((((_arg3 * _arg1) * _arg1) + _arg2)); } public static function easeInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg3 - easeOutBounce((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2)); } public static function easeOutInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutExpo((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInExpo(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((-(_arg3) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 1)) + _arg2)); } public static function easeInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg3) + _arg2)); } public static function easeInOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((-(_arg3) / 2) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 2)) + _arg2)); } public static function easeOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function easeOutInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutElastic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInElastic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period; var _local8:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude; if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){ _local8 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8))); }; --_arg1; return ((-(((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2)); } public static function easeOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeOutInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuad((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInQuad(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg3 * Math.sin(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2)); } public static function easeInOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((_arg1 * _arg1) * _arg1) + 2)) + _arg2)); } public static function easeInOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2)); } public static function easeInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return (((-(_arg3) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2)); } public static function easeOutInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutSine((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInSine(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 == 0){ return (_arg2); }; if (_arg1 == _arg4){ return ((_arg2 + _arg3)); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * Math.pow(2, (10 * (_arg1 - 1)))) + _arg2) - (_arg3 * 0.0005))); }; --_arg1; return (((((_arg3 / 2) * 1.0005) * (-(Math.pow(2, (-10 * _arg1))) + 2)) + _arg2)); } public static function easeOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period; var _local8:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude; if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){ _local8 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8))); }; return (((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) + _arg3) + _arg2)); } public static function easeOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * Math.sqrt((1 - (_arg1 * _arg1)))) + _arg2)); } public static function easeOutInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuart((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInQuart(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeOutInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutCirc((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInCirc(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } } }//package caurina.transitions
Section 112
//PropertyInfoObj (caurina.transitions.PropertyInfoObj) package caurina.transitions { public class PropertyInfoObj { public var modifierParameters:Array; public var isSpecialProperty:Boolean; public var valueComplete:Number; public var modifierFunction:Function; public var extra:Object; public var valueStart:Number; public var hasModifier:Boolean; public var arrayIndex:Number; public var originalValueComplete:Object; public function PropertyInfoObj(_arg1:Number, _arg2:Number, _arg3:Object, _arg4:Number, _arg5:Object, _arg6:Boolean, _arg7:Function, _arg8:Array){ valueStart = _arg1; valueComplete = _arg2; originalValueComplete = _arg3; arrayIndex = _arg4; extra = _arg5; isSpecialProperty = _arg6; hasModifier = Boolean(_arg7); modifierFunction = _arg7; modifierParameters = _arg8; } public function toString():String{ var _local1 = "\n[PropertyInfoObj "; _local1 = (_local1 + ("valueStart:" + String(valueStart))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("valueComplete:" + String(valueComplete))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("originalValueComplete:" + String(originalValueComplete))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("arrayIndex:" + String(arrayIndex))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("extra:" + String(extra))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("isSpecialProperty:" + String(isSpecialProperty))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("hasModifier:" + String(hasModifier))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("modifierFunction:" + String(modifierFunction))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("modifierParameters:" + String(modifierParameters))); _local1 = (_local1 + "]\n"); return (_local1); } public function clone():PropertyInfoObj{ var _local1:PropertyInfoObj = new PropertyInfoObj(valueStart, valueComplete, originalValueComplete, arrayIndex, extra, isSpecialProperty, modifierFunction, modifierParameters); return (_local1); } } }//package caurina.transitions
Section 113
//SpecialProperty (caurina.transitions.SpecialProperty) package caurina.transitions { public class SpecialProperty { public var parameters:Array; public var getValue:Function; public var preProcess:Function; public var setValue:Function; public function SpecialProperty(_arg1:Function, _arg2:Function, _arg3:Array=null, _arg4:Function=null){ getValue = _arg1; setValue = _arg2; parameters = _arg3; preProcess = _arg4; } public function toString():String{ var _local1 = ""; _local1 = (_local1 + "[SpecialProperty "); _local1 = (_local1 + ("getValue:" + String(getValue))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("setValue:" + String(setValue))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("parameters:" + String(parameters))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("preProcess:" + String(preProcess))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 114
//SpecialPropertyModifier (caurina.transitions.SpecialPropertyModifier) package caurina.transitions { public class SpecialPropertyModifier { public var getValue:Function; public var modifyValues:Function; public function SpecialPropertyModifier(_arg1:Function, _arg2:Function){ modifyValues = _arg1; getValue = _arg2; } public function toString():String{ var _local1 = ""; _local1 = (_local1 + "[SpecialPropertyModifier "); _local1 = (_local1 + ("modifyValues:" + String(modifyValues))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("getValue:" + String(getValue))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 115
//SpecialPropertySplitter (caurina.transitions.SpecialPropertySplitter) package caurina.transitions { public class SpecialPropertySplitter { public var parameters:Array; public var splitValues:Function; public function SpecialPropertySplitter(_arg1:Function, _arg2:Array){ splitValues = _arg1; parameters = _arg2; } public function toString():String{ var _local1 = ""; _local1 = (_local1 + "[SpecialPropertySplitter "); _local1 = (_local1 + ("splitValues:" + String(splitValues))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("parameters:" + String(parameters))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 116
//Tweener (caurina.transitions.Tweener) package caurina.transitions { import flash.events.*; import flash.display.*; import flash.utils.*; public class Tweener { private static var _timeScale:Number = 1; private static var _currentTimeFrame:Number; private static var _specialPropertySplitterList:Object; private static var _engineExists:Boolean = false; private static var _specialPropertyModifierList:Object; private static var _currentTime:Number; private static var _tweenList:Array; private static var _specialPropertyList:Object; private static var _transitionList:Object; private static var _inited:Boolean = false; private static var __tweener_controller__:MovieClip; public function Tweener(){ trace("Tweener is a static class and should not be instantiated."); } public static function registerSpecialPropertyModifier(_arg1:String, _arg2:Function, _arg3:Function):void{ if (!_inited){ init(); }; var _local4:SpecialPropertyModifier = new SpecialPropertyModifier(_arg2, _arg3); _specialPropertyModifierList[_arg1] = _local4; } public static function registerSpecialProperty(_arg1:String, _arg2:Function, _arg3:Function, _arg4:Array=null, _arg5:Function=null):void{ if (!_inited){ init(); }; var _local6:SpecialProperty = new SpecialProperty(_arg2, _arg3, _arg4, _arg5); _specialPropertyList[_arg1] = _local6; } public static function init(... _args):void{ _inited = true; _transitionList = new Object(); Equations.init(); _specialPropertyList = new Object(); _specialPropertyModifierList = new Object(); _specialPropertySplitterList = new Object(); } private static function updateTweens():Boolean{ var _local1:int; if (_tweenList.length == 0){ return (false); }; _local1 = 0; while (_local1 < _tweenList.length) { if ((((_tweenList[_local1] == undefined)) || (!(_tweenList[_local1].isPaused)))){ if (!updateTweenByIndex(_local1)){ removeTweenByIndex(_local1); }; if (_tweenList[_local1] == null){ removeTweenByIndex(_local1, true); _local1--; }; }; _local1++; }; return (true); } public static function addCaller(_arg1:Object=null, _arg2:Object=null):Boolean{ var _local3:Number; var _local4:Array; var _local8:Function; var _local9:TweenListObj; var _local10:Number; var _local11:String; if (!Boolean(_arg1)){ return (false); }; if ((_arg1 is Array)){ _local4 = _arg1.concat(); } else { _local4 = [_arg1]; }; var _local5:Object = _arg2; if (!_inited){ init(); }; if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){ startEngine(); }; var _local6:Number = (isNaN(_local5.time)) ? 0 : _local5.time; var _local7:Number = (isNaN(_local5.delay)) ? 0 : _local5.delay; if (typeof(_local5.transition) == "string"){ _local11 = _local5.transition.toLowerCase(); _local8 = _transitionList[_local11]; } else { _local8 = _local5.transition; }; if (!Boolean(_local8)){ _local8 = _transitionList["easeoutexpo"]; }; _local3 = 0; while (_local3 < _local4.length) { if (_local5.useFrames == true){ _local9 = new TweenListObj(_local4[_local3], (_currentTimeFrame + (_local7 / _timeScale)), (_currentTimeFrame + ((_local7 + _local6) / _timeScale)), true, _local8, _local5.transitionParams); } else { _local9 = new TweenListObj(_local4[_local3], (_currentTime + ((_local7 * 1000) / _timeScale)), (_currentTime + (((_local7 * 1000) + (_local6 * 1000)) / _timeScale)), false, _local8, _local5.transitionParams); }; _local9.properties = null; _local9.onStart = _local5.onStart; _local9.onUpdate = _local5.onUpdate; _local9.onComplete = _local5.onComplete; _local9.onOverwrite = _local5.onOverwrite; _local9.onStartParams = _local5.onStartParams; _local9.onUpdateParams = _local5.onUpdateParams; _local9.onCompleteParams = _local5.onCompleteParams; _local9.onOverwriteParams = _local5.onOverwriteParams; _local9.onStartScope = _local5.onStartScope; _local9.onUpdateScope = _local5.onUpdateScope; _local9.onCompleteScope = _local5.onCompleteScope; _local9.onOverwriteScope = _local5.onOverwriteScope; _local9.onErrorScope = _local5.onErrorScope; _local9.isCaller = true; _local9.count = _local5.count; _local9.waitFrames = _local5.waitFrames; _tweenList.push(_local9); if ((((_local6 == 0)) && ((_local7 == 0)))){ _local10 = (_tweenList.length - 1); updateTweenByIndex(_local10); removeTweenByIndex(_local10); }; _local3++; }; return (true); } public static function pauseAllTweens():Boolean{ var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; var _local1:Boolean; _local2 = 0; while (_local2 < _tweenList.length) { pauseTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } public static function removeTweens(_arg1:Object, ... _args):Boolean{ var _local4:uint; var _local5:SpecialPropertySplitter; var _local6:Array; var _local7:uint; var _local3:Array = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){ if (_specialPropertySplitterList[_args[_local4]]){ _local5 = _specialPropertySplitterList[_args[_local4]]; _local6 = _local5.splitValues(_arg1, null); _local7 = 0; while (_local7 < _local6.length) { _local3.push(_local6[_local7].name); _local7++; }; } else { _local3.push(_args[_local4]); }; }; _local4++; }; return (affectTweens(removeTweenByIndex, _arg1, _local3)); } public static function splitTweens(_arg1:Number, _arg2:Array):uint{ var _local5:uint; var _local6:String; var _local7:Boolean; var _local3:TweenListObj = _tweenList[_arg1]; var _local4:TweenListObj = _local3.clone(false); _local5 = 0; while (_local5 < _arg2.length) { _local6 = _arg2[_local5]; if (Boolean(_local3.properties[_local6])){ _local3.properties[_local6] = undefined; delete _local3.properties[_local6]; }; _local5++; }; for (_local6 in _local4.properties) { _local7 = false; _local5 = 0; while (_local5 < _arg2.length) { if (_arg2[_local5] == _local6){ _local7 = true; break; }; _local5++; }; if (!_local7){ _local4.properties[_local6] = undefined; delete _local4.properties[_local6]; }; }; _tweenList.push(_local4); return ((_tweenList.length - 1)); } public static function updateFrame():void{ _currentTimeFrame++; } public static function resumeTweenByIndex(_arg1:Number):Boolean{ var _local2:TweenListObj = _tweenList[_arg1]; if ((((_local2 == null)) || (!(_local2.isPaused)))){ return (false); }; var _local3:Number = getCurrentTweeningTime(_local2); _local2.timeStart = (_local2.timeStart + (_local3 - _local2.timePaused)); _local2.timeComplete = (_local2.timeComplete + (_local3 - _local2.timePaused)); _local2.timePaused = undefined; _local2.isPaused = false; return (true); } public static function getVersion():String{ return ("AS3 1.31.74"); } public static function onEnterFrame(_arg1:Event):void{ updateTime(); updateFrame(); var _local2:Boolean; _local2 = updateTweens(); if (!_local2){ stopEngine(); }; } public static function updateTime():void{ _currentTime = getTimer(); } private static function updateTweenByIndex(_arg1:Number):Boolean{ var tTweening:TweenListObj; var mustUpdate:Boolean; var nv:Number; var t:Number; var b:Number; var c:Number; var d:Number; var pName:String; var eventScope:Object; var tScope:Object; var tProperty:Object; var pv:Number; var i = _arg1; tTweening = _tweenList[i]; if ((((tTweening == null)) || (!(Boolean(tTweening.scope))))){ return (false); }; var isOver:Boolean; var cTime:Number = getCurrentTweeningTime(tTweening); if (cTime >= tTweening.timeStart){ tScope = tTweening.scope; if (tTweening.isCaller){ do { t = (((tTweening.timeComplete - tTweening.timeStart) / tTweening.count) * (tTweening.timesCalled + 1)); b = tTweening.timeStart; c = (tTweening.timeComplete - tTweening.timeStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, b, c, d); } while (!(cTime >= nv)); } else { mustUpdate = (((((tTweening.skipUpdates < 1)) || (!(tTweening.skipUpdates)))) || ((tTweening.updatesSkipped >= tTweening.skipUpdates))); if (cTime >= tTweening.timeComplete){ isOver = true; mustUpdate = true; }; if (!tTweening.hasStarted){ if (Boolean(tTweening.onStart)){ eventScope = (Boolean(tTweening.onStartScope)) ? tTweening.onStartScope : tScope; try { tTweening.onStart.apply(eventScope, tTweening.onStartParams); } catch(e2:Error) { handleError(tTweening, e2, "onStart"); }; }; for (pName in tTweening.properties) { if (tTweening.properties[pName].isSpecialProperty){ if (Boolean(_specialPropertyList[pName].preProcess)){ tTweening.properties[pName].valueComplete = _specialPropertyList[pName].preProcess(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].originalValueComplete, tTweening.properties[pName].extra); }; pv = _specialPropertyList[pName].getValue(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra); } else { pv = tScope[pName]; }; tTweening.properties[pName].valueStart = (isNaN(pv)) ? tTweening.properties[pName].valueComplete : pv; }; mustUpdate = true; tTweening.hasStarted = true; }; if (mustUpdate){ for (pName in tTweening.properties) { tProperty = tTweening.properties[pName]; if (isOver){ nv = tProperty.valueComplete; } else { if (tProperty.hasModifier){ t = (cTime - tTweening.timeStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, 0, 1, d, tTweening.transitionParams); nv = tProperty.modifierFunction(tProperty.valueStart, tProperty.valueComplete, nv, tProperty.modifierParameters); } else { t = (cTime - tTweening.timeStart); b = tProperty.valueStart; c = (tProperty.valueComplete - tProperty.valueStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, b, c, d, tTweening.transitionParams); }; }; if (tTweening.rounded){ nv = Math.round(nv); }; if (tProperty.isSpecialProperty){ _specialPropertyList[pName].setValue(tScope, nv, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra); } else { tScope[pName] = nv; }; }; tTweening.updatesSkipped = 0; if (Boolean(tTweening.onUpdate)){ eventScope = (Boolean(tTweening.onUpdateScope)) ? tTweening.onUpdateScope : tScope; try { tTweening.onUpdate.apply(eventScope, tTweening.onUpdateParams); } catch(e3:Error) { handleError(tTweening, e3, "onUpdate"); }; }; } else { tTweening.updatesSkipped++; }; }; if (((isOver) && (Boolean(tTweening.onComplete)))){ eventScope = (Boolean(tTweening.onCompleteScope)) ? tTweening.onCompleteScope : tScope; try { tTweening.onComplete.apply(eventScope, tTweening.onCompleteParams); } catch(e4:Error) { handleError(tTweening, e4, "onComplete"); }; }; return (!(isOver)); }; return (true); } public static function setTimeScale(_arg1:Number):void{ var _local2:Number; var _local3:Number; if (isNaN(_arg1)){ _arg1 = 1; }; if (_arg1 < 1E-5){ _arg1 = 1E-5; }; if (_arg1 != _timeScale){ if (_tweenList != null){ _local2 = 0; while (_local2 < _tweenList.length) { _local3 = getCurrentTweeningTime(_tweenList[_local2]); _tweenList[_local2].timeStart = (_local3 - (((_local3 - _tweenList[_local2].timeStart) * _timeScale) / _arg1)); _tweenList[_local2].timeComplete = (_local3 - (((_local3 - _tweenList[_local2].timeComplete) * _timeScale) / _arg1)); if (_tweenList[_local2].timePaused != undefined){ _tweenList[_local2].timePaused = (_local3 - (((_local3 - _tweenList[_local2].timePaused) * _timeScale) / _arg1)); }; _local2++; }; }; _timeScale = _arg1; }; } public static function resumeAllTweens():Boolean{ var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; var _local1:Boolean; _local2 = 0; while (_local2 < _tweenList.length) { resumeTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } private static function handleError(_arg1:TweenListObj, _arg2:Error, _arg3:String):void{ var eventScope:Object; var pTweening = _arg1; var pError = _arg2; var pCallBackName = _arg3; if (((Boolean(pTweening.onError)) && ((pTweening.onError is Function)))){ eventScope = (Boolean(pTweening.onErrorScope)) ? pTweening.onErrorScope : pTweening.scope; try { pTweening.onError.apply(eventScope, [pTweening.scope, pError]); } catch(metaError:Error) { printError(((((String(pTweening.scope) + " raised an error while executing the 'onError' handler. Original error:\n ") + pError.getStackTrace()) + "\nonError error: ") + metaError.getStackTrace())); }; } else { if (!Boolean(pTweening.onError)){ printError(((((String(pTweening.scope) + " raised an error while executing the '") + pCallBackName) + "'handler. \n") + pError.getStackTrace())); }; }; } private static function startEngine():void{ _engineExists = true; _tweenList = new Array(); __tweener_controller__ = new MovieClip(); __tweener_controller__.addEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame); _currentTimeFrame = 0; updateTime(); } public static function removeAllTweens():Boolean{ var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; var _local1:Boolean; _local2 = 0; while (_local2 < _tweenList.length) { removeTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } public static function addTween(_arg1:Object=null, _arg2:Object=null):Boolean{ var _local3:Number; var _local4:Number; var _local5:String; var _local6:Array; var _local13:Function; var _local14:Object; var _local15:TweenListObj; var _local16:Number; var _local17:Array; var _local18:Array; var _local19:Array; var _local20:String; if (!Boolean(_arg1)){ return (false); }; if ((_arg1 is Array)){ _local6 = _arg1.concat(); } else { _local6 = [_arg1]; }; var _local7:Object = TweenListObj.makePropertiesChain(_arg2); if (!_inited){ init(); }; if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){ startEngine(); }; var _local8:Number = (isNaN(_local7.time)) ? 0 : _local7.time; var _local9:Number = (isNaN(_local7.delay)) ? 0 : _local7.delay; var _local10:Array = new Array(); var _local11:Object = {time:true, delay:true, useFrames:true, skipUpdates:true, transition:true, transitionParams:true, onStart:true, onUpdate:true, onComplete:true, onOverwrite:true, onError:true, rounded:true, onStartParams:true, onUpdateParams:true, onCompleteParams:true, onOverwriteParams:true, onStartScope:true, onUpdateScope:true, onCompleteScope:true, onOverwriteScope:true, onErrorScope:true}; var _local12:Object = new Object(); for (_local5 in _local7) { if (!_local11[_local5]){ if (_specialPropertySplitterList[_local5]){ _local17 = _specialPropertySplitterList[_local5].splitValues(_local7[_local5], _specialPropertySplitterList[_local5].parameters); _local3 = 0; while (_local3 < _local17.length) { if (_specialPropertySplitterList[_local17[_local3].name]){ _local18 = _specialPropertySplitterList[_local17[_local3].name].splitValues(_local17[_local3].value, _specialPropertySplitterList[_local17[_local3].name].parameters); _local4 = 0; while (_local4 < _local18.length) { _local10[_local18[_local4].name] = {valueStart:undefined, valueComplete:_local18[_local4].value, arrayIndex:_local18[_local4].arrayIndex, isSpecialProperty:false}; _local4++; }; } else { _local10[_local17[_local3].name] = {valueStart:undefined, valueComplete:_local17[_local3].value, arrayIndex:_local17[_local3].arrayIndex, isSpecialProperty:false}; }; _local3++; }; } else { if (_specialPropertyModifierList[_local5] != undefined){ _local19 = _specialPropertyModifierList[_local5].modifyValues(_local7[_local5]); _local3 = 0; while (_local3 < _local19.length) { _local12[_local19[_local3].name] = {modifierParameters:_local19[_local3].parameters, modifierFunction:_specialPropertyModifierList[_local5].getValue}; _local3++; }; } else { _local10[_local5] = {valueStart:undefined, valueComplete:_local7[_local5]}; }; }; }; }; for (_local5 in _local10) { if (_specialPropertyList[_local5] != undefined){ _local10[_local5].isSpecialProperty = true; } else { if (_local6[0][_local5] == undefined){ printError((((("The property '" + _local5) + "' doesn't seem to be a normal object property of ") + String(_local6[0])) + " or a registered special property.")); }; }; }; for (_local5 in _local12) { if (_local10[_local5] != undefined){ _local10[_local5].modifierParameters = _local12[_local5].modifierParameters; _local10[_local5].modifierFunction = _local12[_local5].modifierFunction; }; }; if (typeof(_local7.transition) == "string"){ _local20 = _local7.transition.toLowerCase(); _local13 = _transitionList[_local20]; } else { _local13 = _local7.transition; }; if (!Boolean(_local13)){ _local13 = _transitionList["easeoutexpo"]; }; _local3 = 0; while (_local3 < _local6.length) { _local14 = new Object(); for (_local5 in _local10) { _local14[_local5] = new PropertyInfoObj(_local10[_local5].valueStart, _local10[_local5].valueComplete, _local10[_local5].valueComplete, _local10[_local5].arrayIndex, {}, _local10[_local5].isSpecialProperty, _local10[_local5].modifierFunction, _local10[_local5].modifierParameters); }; if (_local7.useFrames == true){ _local15 = new TweenListObj(_local6[_local3], (_currentTimeFrame + (_local9 / _timeScale)), (_currentTimeFrame + ((_local9 + _local8) / _timeScale)), true, _local13, _local7.transitionParams); } else { _local15 = new TweenListObj(_local6[_local3], (_currentTime + ((_local9 * 1000) / _timeScale)), (_currentTime + (((_local9 * 1000) + (_local8 * 1000)) / _timeScale)), false, _local13, _local7.transitionParams); }; _local15.properties = _local14; _local15.onStart = _local7.onStart; _local15.onUpdate = _local7.onUpdate; _local15.onComplete = _local7.onComplete; _local15.onOverwrite = _local7.onOverwrite; _local15.onError = _local7.onError; _local15.onStartParams = _local7.onStartParams; _local15.onUpdateParams = _local7.onUpdateParams; _local15.onCompleteParams = _local7.onCompleteParams; _local15.onOverwriteParams = _local7.onOverwriteParams; _local15.onStartScope = _local7.onStartScope; _local15.onUpdateScope = _local7.onUpdateScope; _local15.onCompleteScope = _local7.onCompleteScope; _local15.onOverwriteScope = _local7.onOverwriteScope; _local15.onErrorScope = _local7.onErrorScope; _local15.rounded = _local7.rounded; _local15.skipUpdates = _local7.skipUpdates; removeTweensByTime(_local15.scope, _local15.properties, _local15.timeStart, _local15.timeComplete); _tweenList.push(_local15); if ((((_local8 == 0)) && ((_local9 == 0)))){ _local16 = (_tweenList.length - 1); updateTweenByIndex(_local16); removeTweenByIndex(_local16); }; _local3++; }; return (true); } public static function registerTransition(_arg1:String, _arg2:Function):void{ if (!_inited){ init(); }; _transitionList[_arg1] = _arg2; } public static function printError(_arg1:String):void{ trace(("## [Tweener] Error: " + _arg1)); } private static function affectTweens(_arg1:Function, _arg2:Object, _arg3:Array):Boolean{ var _local5:uint; var _local6:Array; var _local7:uint; var _local8:uint; var _local9:uint; var _local4:Boolean; if (!Boolean(_tweenList)){ return (false); }; _local5 = 0; while (_local5 < _tweenList.length) { if (((_tweenList[_local5]) && ((_tweenList[_local5].scope == _arg2)))){ if (_arg3.length == 0){ _arg1(_local5); _local4 = true; } else { _local6 = new Array(); _local7 = 0; while (_local7 < _arg3.length) { if (Boolean(_tweenList[_local5].properties[_arg3[_local7]])){ _local6.push(_arg3[_local7]); }; _local7++; }; if (_local6.length > 0){ _local8 = AuxFunctions.getObjectLength(_tweenList[_local5].properties); if (_local8 == _local6.length){ _arg1(_local5); _local4 = true; } else { _local9 = splitTweens(_local5, _local6); _arg1(_local9); _local4 = true; }; }; }; }; _local5++; }; return (_local4); } public static function getTweens(_arg1:Object):Array{ var _local2:uint; var _local3:String; if (!Boolean(_tweenList)){ return ([]); }; var _local4:Array = new Array(); _local2 = 0; while (_local2 < _tweenList.length) { if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){ for (_local3 in _tweenList[_local2].properties) { _local4.push(_local3); }; }; _local2++; }; return (_local4); } public static function isTweening(_arg1:Object):Boolean{ var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; _local2 = 0; while (_local2 < _tweenList.length) { if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){ return (true); }; _local2++; }; return (false); } public static function pauseTweenByIndex(_arg1:Number):Boolean{ var _local2:TweenListObj = _tweenList[_arg1]; if ((((_local2 == null)) || (_local2.isPaused))){ return (false); }; _local2.timePaused = getCurrentTweeningTime(_local2); _local2.isPaused = true; return (true); } public static function getCurrentTweeningTime(_arg1:Object):Number{ return ((_arg1.useFrames) ? _currentTimeFrame : _currentTime); } public static function getTweenCount(_arg1:Object):Number{ var _local2:uint; if (!Boolean(_tweenList)){ return (0); }; var _local3:Number = 0; _local2 = 0; while (_local2 < _tweenList.length) { if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){ _local3 = (_local3 + AuxFunctions.getObjectLength(_tweenList[_local2].properties)); }; _local2++; }; return (_local3); } private static function stopEngine():void{ _engineExists = false; _tweenList = null; _currentTime = 0; _currentTimeFrame = 0; __tweener_controller__.removeEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame); __tweener_controller__ = null; } public static function removeTweensByTime(_arg1:Object, _arg2:Object, _arg3:Number, _arg4:Number):Boolean{ var removedLocally:Boolean; var i:uint; var pName:String; var eventScope:Object; var p_scope = _arg1; var p_properties = _arg2; var p_timeStart = _arg3; var p_timeComplete = _arg4; var removed:Boolean; var tl:uint = _tweenList.length; i = 0; while (i < tl) { if (((Boolean(_tweenList[i])) && ((p_scope == _tweenList[i].scope)))){ if ((((p_timeComplete > _tweenList[i].timeStart)) && ((p_timeStart < _tweenList[i].timeComplete)))){ removedLocally = false; for (pName in _tweenList[i].properties) { if (Boolean(p_properties[pName])){ if (Boolean(_tweenList[i].onOverwrite)){ eventScope = (Boolean(_tweenList[i].onOverwriteScope)) ? _tweenList[i].onOverwriteScope : _tweenList[i].scope; try { _tweenList[i].onOverwrite.apply(eventScope, _tweenList[i].onOverwriteParams); } catch(e:Error) { handleError(_tweenList[i], e, "onOverwrite"); }; }; _tweenList[i].properties[pName] = undefined; delete _tweenList[i].properties[pName]; removedLocally = true; removed = true; }; }; if (removedLocally){ if (AuxFunctions.getObjectLength(_tweenList[i].properties) == 0){ removeTweenByIndex(i); }; }; }; }; i = (i + 1); }; return (removed); } public static function registerSpecialPropertySplitter(_arg1:String, _arg2:Function, _arg3:Array=null):void{ if (!_inited){ init(); }; var _local4:SpecialPropertySplitter = new SpecialPropertySplitter(_arg2, _arg3); _specialPropertySplitterList[_arg1] = _local4; } public static function removeTweenByIndex(_arg1:Number, _arg2:Boolean=false):Boolean{ _tweenList[_arg1] = null; if (_arg2){ _tweenList.splice(_arg1, 1); }; return (true); } public static function resumeTweens(_arg1:Object, ... _args):Boolean{ var _local4:uint; var _local3:Array = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){ _local3.push(_args[_local4]); }; _local4++; }; return (affectTweens(resumeTweenByIndex, _arg1, _local3)); } public static function pauseTweens(_arg1:Object, ... _args):Boolean{ var _local4:uint; var _local3:Array = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){ _local3.push(_args[_local4]); }; _local4++; }; return (affectTweens(pauseTweenByIndex, _arg1, _local3)); } } }//package caurina.transitions
Section 117
//TweenListObj (caurina.transitions.TweenListObj) package caurina.transitions { public class TweenListObj { public var hasStarted:Boolean; public var onUpdate:Function; public var useFrames:Boolean; public var count:Number; public var onOverwriteParams:Array; public var timeStart:Number; public var timeComplete:Number; public var onStartParams:Array; public var onUpdateScope:Object; public var rounded:Boolean; public var onUpdateParams:Array; public var properties:Object; public var onComplete:Function; public var transitionParams:Object; public var updatesSkipped:Number; public var onStart:Function; public var onOverwriteScope:Object; public var skipUpdates:Number; public var onStartScope:Object; public var scope:Object; public var isCaller:Boolean; public var timePaused:Number; public var transition:Function; public var onCompleteParams:Array; public var onError:Function; public var timesCalled:Number; public var onErrorScope:Object; public var onOverwrite:Function; public var isPaused:Boolean; public var waitFrames:Boolean; public var onCompleteScope:Object; public function TweenListObj(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:Boolean, _arg5:Function, _arg6:Object){ scope = _arg1; timeStart = _arg2; timeComplete = _arg3; useFrames = _arg4; transition = _arg5; transitionParams = _arg6; properties = new Object(); isPaused = false; timePaused = undefined; isCaller = false; updatesSkipped = 0; timesCalled = 0; skipUpdates = 0; hasStarted = false; } public function clone(_arg1:Boolean):TweenListObj{ var _local3:String; var _local2:TweenListObj = new TweenListObj(scope, timeStart, timeComplete, useFrames, transition, transitionParams); _local2.properties = new Array(); for (_local3 in properties) { _local2.properties[_local3] = properties[_local3].clone(); }; _local2.skipUpdates = skipUpdates; _local2.updatesSkipped = updatesSkipped; if (!_arg1){ _local2.onStart = onStart; _local2.onUpdate = onUpdate; _local2.onComplete = onComplete; _local2.onOverwrite = onOverwrite; _local2.onError = onError; _local2.onStartParams = onStartParams; _local2.onUpdateParams = onUpdateParams; _local2.onCompleteParams = onCompleteParams; _local2.onOverwriteParams = onOverwriteParams; _local2.onStartScope = onStartScope; _local2.onUpdateScope = onUpdateScope; _local2.onCompleteScope = onCompleteScope; _local2.onOverwriteScope = onOverwriteScope; _local2.onErrorScope = onErrorScope; }; _local2.rounded = rounded; _local2.isPaused = isPaused; _local2.timePaused = timePaused; _local2.isCaller = isCaller; _local2.count = count; _local2.timesCalled = timesCalled; _local2.waitFrames = waitFrames; _local2.hasStarted = hasStarted; return (_local2); } public function toString():String{ var _local3:String; var _local1 = "\n[TweenListObj "; _local1 = (_local1 + ("scope:" + String(scope))); _local1 = (_local1 + ", properties:"); var _local2:Boolean; for (_local3 in properties) { if (!_local2){ _local1 = (_local1 + ","); }; _local1 = (_local1 + ("[name:" + properties[_local3].name)); _local1 = (_local1 + (",valueStart:" + properties[_local3].valueStart)); _local1 = (_local1 + (",valueComplete:" + properties[_local3].valueComplete)); _local1 = (_local1 + "]"); _local2 = false; }; _local1 = (_local1 + (", timeStart:" + String(timeStart))); _local1 = (_local1 + (", timeComplete:" + String(timeComplete))); _local1 = (_local1 + (", useFrames:" + String(useFrames))); _local1 = (_local1 + (", transition:" + String(transition))); _local1 = (_local1 + (", transitionParams:" + String(transitionParams))); if (skipUpdates){ _local1 = (_local1 + (", skipUpdates:" + String(skipUpdates))); }; if (updatesSkipped){ _local1 = (_local1 + (", updatesSkipped:" + String(updatesSkipped))); }; if (Boolean(onStart)){ _local1 = (_local1 + (", onStart:" + String(onStart))); }; if (Boolean(onUpdate)){ _local1 = (_local1 + (", onUpdate:" + String(onUpdate))); }; if (Boolean(onComplete)){ _local1 = (_local1 + (", onComplete:" + String(onComplete))); }; if (Boolean(onOverwrite)){ _local1 = (_local1 + (", onOverwrite:" + String(onOverwrite))); }; if (Boolean(onError)){ _local1 = (_local1 + (", onError:" + String(onError))); }; if (onStartParams){ _local1 = (_local1 + (", onStartParams:" + String(onStartParams))); }; if (onUpdateParams){ _local1 = (_local1 + (", onUpdateParams:" + String(onUpdateParams))); }; if (onCompleteParams){ _local1 = (_local1 + (", onCompleteParams:" + String(onCompleteParams))); }; if (onOverwriteParams){ _local1 = (_local1 + (", onOverwriteParams:" + String(onOverwriteParams))); }; if (onStartScope){ _local1 = (_local1 + (", onStartScope:" + String(onStartScope))); }; if (onUpdateScope){ _local1 = (_local1 + (", onUpdateScope:" + String(onUpdateScope))); }; if (onCompleteScope){ _local1 = (_local1 + (", onCompleteScope:" + String(onCompleteScope))); }; if (onOverwriteScope){ _local1 = (_local1 + (", onOverwriteScope:" + String(onOverwriteScope))); }; if (onErrorScope){ _local1 = (_local1 + (", onErrorScope:" + String(onErrorScope))); }; if (rounded){ _local1 = (_local1 + (", rounded:" + String(rounded))); }; if (isPaused){ _local1 = (_local1 + (", isPaused:" + String(isPaused))); }; if (timePaused){ _local1 = (_local1 + (", timePaused:" + String(timePaused))); }; if (isCaller){ _local1 = (_local1 + (", isCaller:" + String(isCaller))); }; if (count){ _local1 = (_local1 + (", count:" + String(count))); }; if (timesCalled){ _local1 = (_local1 + (", timesCalled:" + String(timesCalled))); }; if (waitFrames){ _local1 = (_local1 + (", waitFrames:" + String(waitFrames))); }; if (hasStarted){ _local1 = (_local1 + (", hasStarted:" + String(hasStarted))); }; _local1 = (_local1 + "]\n"); return (_local1); } public static function makePropertiesChain(_arg1:Object):Object{ var _local3:Object; var _local4:Object; var _local5:Object; var _local6:Number; var _local7:Number; var _local8:Number; var _local2:Object = _arg1.base; if (_local2){ _local3 = {}; if ((_local2 is Array)){ _local4 = []; _local8 = 0; while (_local8 < _local2.length) { _local4.push(_local2[_local8]); _local8++; }; } else { _local4 = [_local2]; }; _local4.push(_arg1); _local6 = _local4.length; _local7 = 0; while (_local7 < _local6) { if (_local4[_local7]["base"]){ _local5 = AuxFunctions.concatObjects(makePropertiesChain(_local4[_local7]["base"]), _local4[_local7]); } else { _local5 = _local4[_local7]; }; _local3 = AuxFunctions.concatObjects(_local3, _local5); _local7++; }; if (_local3["base"]){ delete _local3["base"]; }; return (_local3); //unresolved jump }; return (_arg1); } } }//package caurina.transitions
Section 118
//MemoryCrypto (com.electrotank.util.MemoryCrypto) package com.electrotank.util { import com.meychi.ascrypt3.*; public class MemoryCrypto { private static var crypto:TEA = null; private static var INCREMENT:int = 0; private static var initialized:Boolean = false; private static var key:String = null; private static var MULTIPLY:int = 2; private static var DECREMENT:int = 1; private static var dataHolder:Object = null; private static var DIVIDE:int = 3; public static function incrementValue(_arg1:String, _arg2:Number):Number{ return (processValue(_arg1, _arg2, INCREMENT)); } public static function getValue(_arg1:String):Number{ initIfNeeded(); var _local2:Number = 0; if (!isValueSet(_arg1)){ setValue(_arg1, _local2); } else { _local2 = new Number(crypto.decrypt(dataHolder[_arg1], key)); }; return (_local2); } private static function processValue(_arg1:String, _arg2:Number, _arg3:int):Number{ initIfNeeded(); var _local4:Number = getValue(_arg1); switch (_arg3){ case INCREMENT: _local4 = (_local4 + _arg2); break; case DECREMENT: _local4 = (_local4 - _arg2); break; case MULTIPLY: _local4 = (_local4 * _arg2); break; case DIVIDE: _local4 = (_local4 / _arg2); break; }; setValue(_arg1, _local4); return (_local4); } public static function reset():void{ initialized = false; initIfNeeded(); } public static function decrementValue(_arg1:String, _arg2:Number):Number{ return (processValue(_arg1, _arg2, DECREMENT)); } private static function initIfNeeded():void{ var _local1:Number; var _local2:String; var _local3:Number; var _local4:String; if (!initialized){ _local1 = Math.random(); _local2 = new String(_local1); _local2 = _local2.substr(2, (_local2.length - 2)); _local3 = Math.random(); _local4 = new String(_local3); _local4 = _local4.substr(2, (_local4.length - 2)); key = (_local2 + _local4); crypto = new TEA(); dataHolder = new Object(); initialized = true; }; } public static function multiplyValue(_arg1:String, _arg2:Number):Number{ return (processValue(_arg1, _arg2, MULTIPLY)); } public static function setValue(_arg1:String, _arg2:Number):Number{ initIfNeeded(); dataHolder[_arg1] = crypto.encrypt(_arg2.toString(), key); return (_arg2); } public static function divideValue(_arg1:String, _arg2:Number):Number{ if (_arg2 == 0){ throw (new Error("Amount can't be zero when dividing!")); }; return (processValue(_arg1, _arg2, DIVIDE)); } public static function isValueSet(_arg1:String):Boolean{ initIfNeeded(); var _local2:Boolean; if (dataHolder[_arg1] != null){ _local2 = true; }; return (_local2); } } }//package com.electrotank.util
Section 119
//Raster (com.foxaweb.utils.Raster) package com.foxaweb.utils { import flash.display.*; import flash.geom.*; public class Raster { public static function aaCircle(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:int, _arg5:Number):void{ var _local6:int; var _local7:int; var _local8:int; var _local10:Number; _local6 = _arg4; _local7 = 0; var _local9:Number = 0; var _local11:Function = Math.sqrt; var _local12:Function = Math.ceil; _arg1.setPixel((_arg2 + _local6), (_arg3 + _local7), _arg5); _arg1.setPixel((_arg2 - _local6), (_arg3 + _local7), _arg5); _arg1.setPixel((_arg2 + _local7), (_arg3 + _local6), _arg5); _arg1.setPixel((_arg2 + _local7), (_arg3 - _local6), _arg5); while (_local6 > (_local7 + 1)) { _local7++; _local10 = (_local12(_local11(((_arg4 * _arg4) - (_local7 * _local7)))) - _local11(((_arg4 * _arg4) - (_local7 * _local7)))); if (_local10 < _local9){ _local6--; }; drawAlphaPixel(_arg1, (_arg2 + _local6), (_arg3 + _local7), (1 - _local10), _arg5); drawAlphaPixel(_arg1, ((_arg2 + _local6) - 1), (_arg3 + _local7), _local10, _arg5); drawAlphaPixel(_arg1, (_arg2 - _local6), (_arg3 + _local7), (1 - _local10), _arg5); drawAlphaPixel(_arg1, ((_arg2 - _local6) + 1), (_arg3 + _local7), _local10, _arg5); drawAlphaPixel(_arg1, (_arg2 + _local6), (_arg3 - _local7), (1 - _local10), _arg5); drawAlphaPixel(_arg1, ((_arg2 + _local6) - 1), (_arg3 - _local7), _local10, _arg5); drawAlphaPixel(_arg1, (_arg2 - _local6), (_arg3 - _local7), (1 - _local10), _arg5); drawAlphaPixel(_arg1, ((_arg2 - _local6) + 1), (_arg3 - _local7), _local10, _arg5); drawAlphaPixel(_arg1, (_arg2 + _local7), (_arg3 + _local6), (1 - _local10), _arg5); drawAlphaPixel(_arg1, (_arg2 + _local7), ((_arg3 + _local6) - 1), _local10, _arg5); drawAlphaPixel(_arg1, (_arg2 - _local7), (_arg3 + _local6), (1 - _local10), _arg5); drawAlphaPixel(_arg1, (_arg2 - _local7), ((_arg3 + _local6) - 1), _local10, _arg5); drawAlphaPixel(_arg1, (_arg2 + _local7), (_arg3 - _local6), (1 - _local10), _arg5); drawAlphaPixel(_arg1, (_arg2 + _local7), ((_arg3 - _local6) + 1), _local10, _arg5); drawAlphaPixel(_arg1, (_arg2 - _local7), (_arg3 - _local6), (1 - _local10), _arg5); drawAlphaPixel(_arg1, (_arg2 - _local7), ((_arg3 - _local6) + 1), _local10, _arg5); _local9 = _local10; }; } public static function cubicBezier(_arg1:BitmapData, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int, _arg9:int, _arg10:Number, _arg11:int=5):void{ var _local14:int; var _local15:int; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local12:Number = _arg2; var _local13:Number = _arg3; var _local16:Number = 0; var _local17:Number = (1 / _arg11); var _local24:int; while (++_local24 <= _arg11) { _local18 = (_local17 * _local24); _local19 = ((_local17 * _local24) * _local18); _local20 = (_local19 * _local18); _local21 = (1 - _local18); _local22 = ((1 - _local18) * _local21); _local23 = (_local22 * _local21); _local14 = ((((_local23 * _arg2) + (((3 * _local18) * _local22) * _arg4)) + (((3 * _arg6) * _local19) * _local21)) + (_arg8 * _local20)); _local15 = ((((_local23 * _arg3) + (((3 * _local18) * _local22) * _arg5)) + (((3 * _arg7) * _local19) * _local21)) + (_arg9 * _local20)); _local16 = (_local16 + Math.sqrt((((_local14 - _local12) * (_local14 - _local12)) + ((_local15 - _local13) * (_local15 - _local13))))); _local12 = _local14; _local13 = _local15; }; var _local25:int = Math.floor(_local16); _local17 = (1 / _local25); var _local26:int = _arg2; var _local27:int = _arg3; _local24 = -1; while (++_local24 <= _local25) { _local18 = (_local17 * _local24); _local19 = ((_local17 * _local24) * _local18); _local20 = (_local19 * _local18); _local21 = (1 - _local18); _local22 = ((1 - _local18) * _local21); _local23 = (_local22 * _local21); _local14 = ((((_local23 * _arg2) + (((3 * _local18) * _local22) * _arg4)) + (((3 * _arg6) * _local19) * _local21)) + (_arg8 * _local20)); _local15 = ((((_local23 * _arg3) + (((3 * _local18) * _local22) * _arg5)) + (((3 * _arg7) * _local19) * _local21)) + (_arg9 * _local20)); line(_arg1, _local26, _local27, _local14, _local15, _arg10); _local26 = _local14; _local27 = _local15; }; } private static function checkLine(_arg1:Object, _arg2:int, _arg3:int, _arg4:BitmapData, _arg5:int, _arg6:Rectangle):void{ if (_arg1[_arg3]){ if (_arg1[_arg3] > _arg2){ _arg6.width = (_arg1[_arg3] - _arg2); _arg6.x = _arg2; _arg6.y = _arg3; _arg4.fillRect(_arg6, _arg5); } else { _arg6.width = (_arg2 - _arg1[_arg3]); _arg6.x = _arg1[_arg3]; _arg6.y = _arg3; _arg4.fillRect(_arg6, _arg5); }; } else { _arg1[_arg3] = _arg2; }; } public static function line(_arg1:BitmapData, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:Number):void{ var _local7:int; var _local8:int; var _local9:int; var _local10:int; var _local11:int; var _local12:int; var _local13:int; var _local14:int; _local13 = _arg2; _local14 = _arg3; _local7 = (_arg4 - _arg2); _local8 = (_arg5 - _arg3); _local10 = ((_local7)>0) ? 1 : -1; _local11 = ((_local8)>0) ? 1 : -1; _local7 = Math.abs(_local7); _local8 = Math.abs(_local8); _arg1.setPixel32(_local13, _local14, _arg6); if (_local7 > _local8){ _local12 = (_local7 / 2); _local9 = 1; while (_local9 <= _local7) { _local13 = (_local13 + _local10); _local12 = (_local12 + _local8); if (_local12 >= _local7){ _local12 = (_local12 - _local7); _local14 = (_local14 + _local11); }; _arg1.setPixel32(_local13, _local14, _arg6); _local9++; }; } else { _local12 = (_local8 / 2); _local9 = 1; while (_local9 <= _local8) { _local14 = (_local14 + _local11); _local12 = (_local12 + _local7); if (_local12 >= _local8){ _local12 = (_local12 - _local8); _local13 = (_local13 + _local10); }; _arg1.setPixel32(_local13, _local14, _arg6); _local9++; }; }; } public static function quadBezier(_arg1:BitmapData, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:Number, _arg9:int=3):void{ var _local12:int; var _local13:int; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local10:Number = _arg2; var _local11:Number = _arg3; var _local14:Number = 0; var _local15:Number = (1 / _arg9); var _local20:int; while (++_local20 <= _arg9) { _local16 = (_local15 * _local20); _local17 = ((_local15 * _local20) * _local16); _local18 = (1 - _local16); _local19 = ((1 - _local16) * _local18); _local12 = (((_local19 * _arg2) + (((2 * _local16) * _local18) * _arg4)) + (_local17 * _arg6)); _local13 = (((_local19 * _arg3) + (((2 * _local16) * _local18) * _arg5)) + (_local17 * _arg7)); _local14 = (_local14 + Math.sqrt((((_local12 - _local10) * (_local12 - _local10)) + ((_local13 - _local11) * (_local13 - _local11))))); _local10 = _local12; _local11 = _local13; }; var _local21:int = Math.floor(_local14); _local15 = (1 / _local21); var _local22:int = _arg2; var _local23:int = _arg3; _local20 = -1; while (++_local20 <= _local21) { _local16 = (_local15 * _local20); _local17 = ((_local15 * _local20) * _local16); _local18 = (1 - _local16); _local19 = ((1 - _local16) * _local18); _local12 = (((_local19 * _arg2) + (((2 * _local16) * _local18) * _arg4)) + (_local17 * _arg6)); _local13 = (((_local19 * _arg3) + (((2 * _local16) * _local18) * _arg5)) + (_local17 * _arg7)); line(_arg1, _local22, _local23, _local12, _local13, _arg8); _local22 = _local12; _local23 = _local13; }; } public static function circle(_arg1:BitmapData, _arg2:int, _arg3:int, _arg4:int, _arg5:Number):void{ var _local6:int; var _local7:int; var _local8:int; _local6 = 0; _local7 = _arg4; _local8 = (1 - _arg4); _arg1.setPixel32((_arg2 + _local6), (_arg3 + _local7), _arg5); _arg1.setPixel32((_arg2 + _local6), (_arg3 - _local7), _arg5); _arg1.setPixel32((_arg2 - _local7), (_arg3 + _local6), _arg5); _arg1.setPixel32((_arg2 + _local7), (_arg3 + _local6), _arg5); while (_local7 > _local6) { if (_local8 < 0){ _local8 = (_local8 + ((2 * _local6) + 3)); } else { _local8 = (_local8 + ((2 * (_local6 - _local7)) + 5)); _local7--; }; _local6++; _arg1.setPixel32((_arg2 + _local6), (_arg3 + _local7), _arg5); _arg1.setPixel32((_arg2 - _local6), (_arg3 + _local7), _arg5); _arg1.setPixel32((_arg2 + _local6), (_arg3 - _local7), _arg5); _arg1.setPixel32((_arg2 - _local6), (_arg3 - _local7), _arg5); _arg1.setPixel32((_arg2 - _local7), (_arg3 + _local6), _arg5); _arg1.setPixel32((_arg2 - _local7), (_arg3 - _local6), _arg5); _arg1.setPixel32((_arg2 + _local7), (_arg3 - _local6), _arg5); _arg1.setPixel32((_arg2 + _local7), (_arg3 + _local6), _arg5); }; } public static function triangle(_arg1:BitmapData, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:Number):void{ line(_arg1, _arg2, _arg3, _arg4, _arg5, _arg8); line(_arg1, _arg4, _arg5, _arg6, _arg7, _arg8); line(_arg1, _arg6, _arg7, _arg2, _arg3, _arg8); } public static function filledTri(_arg1:BitmapData, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:Number):void{ var _local9:Object = {}; lineTri(_local9, _arg1, _arg2, _arg3, _arg4, _arg5, _arg8); lineTri(_local9, _arg1, _arg4, _arg5, _arg6, _arg7, _arg8); lineTri(_local9, _arg1, _arg6, _arg7, _arg2, _arg3, _arg8); } public static function aaLine(_arg1:BitmapData, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:Number):void{ var _local8:int; var _local17:Number; var _local7 = (Math.abs((_arg5 - _arg3)) > Math.abs((_arg4 - _arg2))); if (_local7){ _local8 = _arg2; _arg2 = _arg3; _arg3 = _local8; _local8 = _arg4; _arg4 = _arg5; _arg5 = _local8; }; if (_arg2 > _arg4){ _local8 = _arg2; _arg2 = _arg4; _arg4 = _local8; _local8 = _arg3; _arg3 = _arg5; _arg5 = _local8; }; var _local9:int = (_arg4 - _arg2); var _local10:int = (_arg5 - _arg3); var _local11:Number = (_local10 / _local9); var _local12:int = _arg2; var _local13:Number = (_arg3 + (_local11 * (_local12 - _arg2))); var _local14:Number = (1 - ((_arg2 + 0.5) % 1)); var _local15:int = _local12; var _local16:int = Math.floor(_local13); _local17 = ((1 - (_local13 % 1)) * _local14); if (_local7){ }; _local17 = ((_local13 % 1) * _local14); if (_local7){ }; var _local18:Number = (_local13 + _local11); _local12 = _arg4; _local13 = (_arg5 + (_local11 * (_local12 - _arg4))); _local14 = ((_arg4 + 0.5) % 1); var _local19:int = _local12; var _local20:int = Math.floor(_local13); _local17 = ((1 - (_local13 % 1)) * _local14); if (_local7){ drawAlphaPixel(_arg1, _local20, _local19, _local17, _arg6); } else { drawAlphaPixel(_arg1, _local19, _local20, _local17, _arg6); }; _local17 = ((_local13 % 1) * _local14); if (_local7){ drawAlphaPixel(_arg1, (_local20 + 1), _local19, _local17, _arg6); } else { drawAlphaPixel(_arg1, _local19, (_local20 + 1), _local17, _arg6); }; var _local21:int = _local15; while (_local21++ < _local19) { _local17 = (1 - (_local18 % 1)); if (_local7){ drawAlphaPixel(_arg1, _local18, _local21, _local17, _arg6); } else { drawAlphaPixel(_arg1, _local21, _local18, _local17, _arg6); }; _local17 = (_local18 % 1); if (_local7){ drawAlphaPixel(_arg1, (_local18 + 1), _local21, _local17, _arg6); } else { drawAlphaPixel(_arg1, _local21, (_local18 + 1), _local17, _arg6); }; _local18 = (_local18 + _local11); }; } private static function drawAlphaPixel(_arg1:BitmapData, _arg2:int, _arg3:int, _arg4:Number, _arg5:Number):void{ var _local6:uint = _arg1.getPixel32(_arg2, _arg3); var _local7:uint = ((_local6 & 0xFF0000) >> 16); var _local8:uint = ((_local6 & 0xFF00) >> 8); var _local9:uint = (_local6 & 0xFF); var _local10:uint = ((_arg5 & 0xFF0000) >> 16); var _local11:uint = ((_arg5 & 0xFF00) >> 8); var _local12:uint = (_arg5 & 0xFF); var _local13:Number = 0xFF; var _local14:Number = ((_local10 * _arg4) + (_local7 * (1 - _arg4))); var _local15:Number = ((_local11 * _arg4) + (_local8 * (1 - _arg4))); var _local16:Number = ((_local12 * _arg4) + (_local9 * (1 - _arg4))); var _local17:uint = ((((_local13 << 24) + (_local14 << 16)) + (_local15 << 8)) + _local16); _arg1.setPixel32(_arg2, _arg3, _local17); } private static function lineTri(_arg1:Object, _arg2:BitmapData, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:Number):void{ var _local9:int; var _local8 = (((_arg6 - _arg4) * (_arg6 - _arg4)) > ((_arg5 - _arg3) * (_arg5 - _arg3))); if (_local8){ _local9 = _arg3; _arg3 = _arg4; _arg4 = _local9; _local9 = _arg5; _arg5 = _arg6; _arg6 = _local9; }; if (_arg3 > _arg5){ _arg3 = (_arg3 ^ _arg5); _arg5 = (_arg5 ^ _arg3); _arg3 = (_arg3 ^ _arg5); _arg4 = (_arg4 ^ _arg6); _arg6 = (_arg6 ^ _arg4); _arg4 = (_arg4 ^ _arg6); }; var _local10:int = (_arg5 - _arg3); var _local11:int = Math.abs((_arg6 - _arg4)); var _local12:int; var _local13:int = _arg4; var _local14:int = ((_arg4 < _arg6)) ? 1 : -1; var _local15:int = _arg3; var _local16:int = (_arg5 - (_local10 >> 1)); var _local17:int = _arg5; var _local18:int = _arg6; var _local19:Rectangle = new Rectangle(); var _local20:int; _local19.x = 0; _local19.y = 0; _local19.width = 0; _local19.height = 1; while (_local15++ <= _local16) { if (_local8){ checkLine(_arg1, _local13, _local15, _arg2, _arg7, _local19); if (((!((_local17 == _arg5))) && (!((_local17 == _local16))))){ checkLine(_arg1, _local18, (_local17 + 1), _arg2, _arg7, _local19); }; }; _local12 = (_local12 + _local11); if ((_local12 << 1) >= _local10){ if (!_local8){ checkLine(_arg1, ((_local15 - _local20) + 1), _local13, _arg2, _arg7, _local19); if (_local17 != _local16){ checkLine(_arg1, (_local17 + 1), _local18, _arg2, _arg7, _local19); }; }; _local20 = 0; _local13 = (_local13 + _local14); _local18 = (_local18 - _local14); _local12 = (_local12 - _local10); }; _local20++; _local17--; }; if (!_local8){ checkLine(_arg1, ((_local15 - _local20) + 1), _local13, _arg2, _arg7, _local19); }; } } }//package com.foxaweb.utils
Section 120
//CampaignInfo (com.google.analytics.campaign.CampaignInfo) package com.google.analytics.campaign { import com.google.analytics.utils.*; public class CampaignInfo { private var _new:Boolean; private var _empty:Boolean; public function CampaignInfo(_arg1:Boolean=true, _arg2:Boolean=false){ _empty = _arg1; _new = _arg2; } public function toURLString():String{ var _local1:Variables = toVariables(); return (_local1.toString()); } public function isNew():Boolean{ return (_new); } public function get utmcn():String{ return ("1"); } public function isEmpty():Boolean{ return (_empty); } public function toVariables():Variables{ var _local1:Variables = new Variables(); _local1.URIencode = true; if (((!(isEmpty())) && (isNew()))){ _local1.utmcn = utmcn; }; if (((!(isEmpty())) && (!(isNew())))){ _local1.utmcr = utmcr; }; return (_local1); } public function get utmcr():String{ return ("1"); } } }//package com.google.analytics.campaign
Section 121
//CampaignKey (com.google.analytics.campaign.CampaignKey) package com.google.analytics.campaign { public class CampaignKey { public var UCMD:String;// = "utm_medium" public var UCID:String;// = "utm_id" public var UCTR:String;// = "utm_term" public var UCSR:String;// = "utm_source" public var UCNO:String;// = "utm_nooverride" public var UCCN:String;// = "utm_campaign" public var UGCLID:String;// = "gclid" public var UCCT:String;// = "utm_content" } }//package com.google.analytics.campaign
Section 122
//CampaignManager (com.google.analytics.campaign.CampaignManager) package com.google.analytics.campaign { import com.google.analytics.core.*; import com.google.analytics.v4.*; import com.google.analytics.debug.*; import com.google.analytics.utils.*; public class CampaignManager { private var _config:Configuration; private var _domainHash:Number; private var _debug:DebugConfiguration; private var _timeStamp:Number; private var _referrer:String; private var _buffer:Buffer; public static const trackingDelimiter:String = "|"; public function CampaignManager(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Buffer, _arg4:Number, _arg5:String, _arg6:Number){ _config = _arg1; _debug = _arg2; _buffer = _arg3; _domainHash = _arg4; _referrer = _arg5; _timeStamp = _arg6; } public function getCampaignInformation(_arg1:String, _arg2:Boolean):CampaignInfo{ var _local4:CampaignTracker; var _local8:CampaignTracker; var _local9:int; var _local3:CampaignInfo = new CampaignInfo(); var _local5:Boolean; var _local6:Boolean; var _local7:int; if (((_config.allowLinker) && (_buffer.isGenuine()))){ if (!_buffer.hasUTMZ()){ return (_local3); }; }; _local4 = getTrackerFromSearchString(_arg1); if (isValid(_local4)){ _local6 = hasNoOverride(_arg1); if (((_local6) && (!(_buffer.hasUTMZ())))){ return (_local3); }; }; if (!isValid(_local4)){ _local4 = getOrganicCampaign(); if (((!(_buffer.hasUTMZ())) && (isIgnoredKeyword(_local4)))){ return (_local3); }; }; if (((!(isValid(_local4))) && (_arg2))){ _local4 = getReferrerCampaign(); if (((!(_buffer.hasUTMZ())) && (isIgnoredReferral(_local4)))){ return (_local3); }; }; if (!isValid(_local4)){ if (((!(_buffer.hasUTMZ())) && (_arg2))){ _local4 = getDirectCampaign(); }; }; if (!isValid(_local4)){ return (_local3); }; if (((_buffer.hasUTMZ()) && (!(_buffer.utmz.isEmpty())))){ _local8 = new CampaignTracker(); _local8.fromTrackerString(_buffer.utmz.campaignTracking); _local5 = (_local8.toTrackerString() == _local4.toTrackerString()); _local7 = _buffer.utmz.responseCount; }; if (((!(_local5)) || (_arg2))){ _local9 = _buffer.utma.sessionCount; _local7++; if (_local9 == 0){ _local9 = 1; }; _buffer.utmz.domainHash = _domainHash; _buffer.utmz.campaignCreation = _timeStamp; _buffer.utmz.campaignSessions = _local9; _buffer.utmz.responseCount = _local7; _buffer.utmz.campaignTracking = _local4.toTrackerString(); _debug.info(_buffer.utmz.toString(), VisualDebugMode.geek); _local3 = new CampaignInfo(false, true); } else { _local3 = new CampaignInfo(false, false); }; return (_local3); } public function hasNoOverride(_arg1:String):Boolean{ var _local2:CampaignKey = _config.campaignKey; if (_arg1 == ""){ return (false); }; var _local3:Variables = new Variables(_arg1); var _local4 = ""; if (_local3.hasOwnProperty(_local2.UCNO)){ _local4 = _local3[_local2.UCNO]; switch (_local4){ case "1": return (true); case "": case "0": default: return (false); }; }; return (false); } public function getTrackerFromSearchString(_arg1:String):CampaignTracker{ var _local2:CampaignTracker = getOrganicCampaign(); var _local3:CampaignTracker = new CampaignTracker(); var _local4:CampaignKey = _config.campaignKey; if (_arg1 == ""){ return (_local3); }; var _local5:Variables = new Variables(_arg1); if (_local5.hasOwnProperty(_local4.UCID)){ _local3.id = _local5[_local4.UCID]; }; if (_local5.hasOwnProperty(_local4.UCSR)){ _local3.source = _local5[_local4.UCSR]; }; if (_local5.hasOwnProperty(_local4.UGCLID)){ _local3.clickId = _local5[_local4.UGCLID]; }; if (_local5.hasOwnProperty(_local4.UCCN)){ _local3.name = _local5[_local4.UCCN]; } else { _local3.name = "(not set)"; }; if (_local5.hasOwnProperty(_local4.UCMD)){ _local3.medium = _local5[_local4.UCMD]; } else { _local3.medium = "(not set)"; }; if (_local5.hasOwnProperty(_local4.UCTR)){ _local3.term = _local5[_local4.UCTR]; } else { if (((_local2) && (!((_local2.term == ""))))){ _local3.term = _local2.term; }; }; if (_local5.hasOwnProperty(_local4.UCCT)){ _local3.content = _local5[_local4.UCCT]; }; return (_local3); } public function getOrganicCampaign():CampaignTracker{ var _local1:CampaignTracker; var _local4:Array; var _local5:OrganicReferrer; var _local6:String; if (((isInvalidReferrer(_referrer)) || (isFromGoogleCSE(_referrer, _config)))){ return (_local1); }; var _local2:URL = new URL(_referrer); var _local3 = ""; if (_local2.hostName != ""){ if (_local2.hostName.indexOf(".") > -1){ _local4 = _local2.hostName.split("."); switch (_local4.length){ case 2: _local3 = _local4[0]; break; case 3: _local3 = _local4[1]; break; }; }; }; if (_config.organic.match(_local3)){ _local5 = _config.organic.getReferrerByName(_local3); _local6 = _config.organic.getKeywordValue(_local5, _local2.search); _local1 = new CampaignTracker(); _local1.source = _local5.engine; _local1.name = "(organic)"; _local1.medium = "organic"; _local1.term = _local6; }; return (_local1); } public function getDirectCampaign():CampaignTracker{ var _local1:CampaignTracker = new CampaignTracker(); _local1.source = "(direct)"; _local1.name = "(direct)"; _local1.medium = "(none)"; return (_local1); } public function isIgnoredKeyword(_arg1:CampaignTracker):Boolean{ if (((_arg1) && ((_arg1.medium == "organic")))){ return (_config.organic.isIgnoredKeyword(_arg1.term)); }; return (false); } public function isIgnoredReferral(_arg1:CampaignTracker):Boolean{ if (((_arg1) && ((_arg1.medium == "referral")))){ return (_config.organic.isIgnoredReferral(_arg1.source)); }; return (false); } public function isValid(_arg1:CampaignTracker):Boolean{ if (((_arg1) && (_arg1.isValid()))){ return (true); }; return (false); } public function getReferrerCampaign():CampaignTracker{ var _local1:CampaignTracker; if (((isInvalidReferrer(_referrer)) || (isFromGoogleCSE(_referrer, _config)))){ return (_local1); }; var _local2:URL = new URL(_referrer); var _local3:String = _local2.hostName; var _local4:String = _local2.path; if (_local3.indexOf("www.") == 0){ _local3 = _local3.substr(4); }; _local1 = new CampaignTracker(); _local1.source = _local3; _local1.name = "(referral)"; _local1.medium = "referral"; _local1.content = _local4; return (_local1); } public static function isInvalidReferrer(_arg1:String):Boolean{ var _local2:URL; if ((((((_arg1 == "")) || ((_arg1 == "-")))) || ((_arg1 == "0")))){ return (true); }; if (_arg1.indexOf("://") > -1){ _local2 = new URL(_arg1); if ((((_local2.protocol == Protocols.file)) || ((_local2.protocol == Protocols.none)))){ return (true); }; }; return (false); } public static function isFromGoogleCSE(_arg1:String, _arg2:Configuration):Boolean{ var _local3:URL = new URL(_arg1); if (_local3.hostName.indexOf(_arg2.google) > -1){ if (_local3.search.indexOf((_arg2.googleSearchParam + "=")) > -1){ if (_local3.path == ("/" + _arg2.googleCsePath)){ return (true); }; }; }; return (false); } } }//package com.google.analytics.campaign
Section 123
//CampaignTracker (com.google.analytics.campaign.CampaignTracker) package com.google.analytics.campaign { import com.google.analytics.utils.*; public class CampaignTracker { public var content:String; public var source:String; public var clickId:String; public var name:String; public var term:String; public var medium:String; public var id:String; public function CampaignTracker(_arg1:String="", _arg2:String="", _arg3:String="", _arg4:String="", _arg5:String="", _arg6:String="", _arg7:String=""){ this.id = _arg1; this.source = _arg2; this.clickId = _arg3; this.name = _arg4; this.medium = _arg5; this.term = _arg6; this.content = _arg7; } public function isValid():Boolean{ if (((((!((id == ""))) || (!((source == ""))))) || (!((clickId == ""))))){ return (true); }; return (false); } public function toTrackerString():String{ var _local1:Array = []; _addIfNotEmpty(_local1, "utmcid=", id); _addIfNotEmpty(_local1, "utmcsr=", source); _addIfNotEmpty(_local1, "utmgclid=", clickId); _addIfNotEmpty(_local1, "utmccn=", name); _addIfNotEmpty(_local1, "utmcmd=", medium); _addIfNotEmpty(_local1, "utmctr=", term); _addIfNotEmpty(_local1, "utmcct=", content); return (_local1.join(CampaignManager.trackingDelimiter)); } private function _addIfNotEmpty(_arg1:Array, _arg2:String, _arg3:String):void{ if (_arg3 != ""){ _arg3 = _arg3.split("+").join("%20"); _arg3 = _arg3.split(" ").join("%20"); _arg1.push((_arg2 + _arg3)); }; } public function fromTrackerString(_arg1:String):void{ var _local2:String = _arg1.split(CampaignManager.trackingDelimiter).join("&"); var _local3:Variables = new Variables(_local2); if (_local3.hasOwnProperty("utmcid")){ this.id = _local3["utmcid"]; }; if (_local3.hasOwnProperty("utmcsr")){ this.source = _local3["utmcsr"]; }; if (_local3.hasOwnProperty("utmccn")){ this.name = _local3["utmccn"]; }; if (_local3.hasOwnProperty("utmcmd")){ this.medium = _local3["utmcmd"]; }; if (_local3.hasOwnProperty("utmctr")){ this.term = _local3["utmctr"]; }; if (_local3.hasOwnProperty("utmcct")){ this.content = _local3["utmcct"]; }; if (_local3.hasOwnProperty("utmgclid")){ this.clickId = _local3["utmgclid"]; }; } } }//package com.google.analytics.campaign
Section 124
//BrowserInfo (com.google.analytics.core.BrowserInfo) package com.google.analytics.core { import com.google.analytics.v4.*; import com.google.analytics.utils.*; public class BrowserInfo { private var _config:Configuration; private var _info:Environment; public function BrowserInfo(_arg1:Configuration, _arg2:Environment){ _config = _arg1; _info = _arg2; } public function get utmul():String{ return (_info.language.toLowerCase()); } public function get utmje():String{ return ("0"); } public function toURLString():String{ var _local1:Variables = toVariables(); return (_local1.toString()); } public function get utmsr():String{ return (((_info.screenWidth + "x") + _info.screenHeight)); } public function get utmfl():String{ var _local1:Version; if (_config.detectFlash){ _local1 = _info.flashVersion; return (((((_local1.major + ".") + _local1.minor) + " r") + _local1.build)); }; return ("-"); } public function get utmcs():String{ return (_info.languageEncoding); } public function toVariables():Variables{ var _local1:Variables = new Variables(); _local1.URIencode = true; _local1.utmcs = utmcs; _local1.utmsr = utmsr; _local1.utmsc = utmsc; _local1.utmul = utmul; _local1.utmje = utmje; _local1.utmfl = utmfl; return (_local1); } public function get utmsc():String{ return ((_info.screenColorDepth + "-bit")); } } }//package com.google.analytics.core
Section 125
//Buffer (com.google.analytics.core.Buffer) package com.google.analytics.core { import flash.events.*; import com.google.analytics.v4.*; import com.google.analytics.debug.*; import flash.net.*; import com.google.analytics.data.*; public dynamic class Buffer { private var _SO:SharedObject; private var _data:Object; private var _OBJ:Object; private var _utmb:UTMB; private var _utmc:UTMC; private var _utma:UTMA; private var _debug:DebugConfiguration; private var _utmk:UTMK; private var _config:Configuration; private var _utmv:UTMV; private var _utmx:UTMX; private var _utmz:UTMZ; private var _volatile:Boolean; public function Buffer(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Boolean=false, _arg4:Object=null){ var _local5:String; super(); _config = _arg1; _debug = _arg2; _data = _arg4; _volatile = _arg3; if (_volatile){ _OBJ = new Object(); if (_data){ for (_local5 in _data) { _OBJ[_local5] = _data[_local5]; }; }; }; } public function save():void{ var flushStatus:String; if (!isVolatile()){ flushStatus = null; try { flushStatus = _SO.flush(); } catch(e:Error) { _debug.warning("Error...Could not write SharedObject to disk"); }; switch (flushStatus){ case SharedObjectFlushStatus.PENDING: _debug.info("Requesting permission to save object..."); _SO.addEventListener(NetStatusEvent.NET_STATUS, _onFlushStatus); break; case SharedObjectFlushStatus.FLUSHED: _debug.info("Value flushed to disk."); break; }; }; } public function get utmv():UTMV{ if (!hasUTMV()){ _createUMTV(); }; return (_utmv); } public function get utmx():UTMX{ if (!hasUTMX()){ _createUMTX(); }; return (_utmx); } public function get utmz():UTMZ{ if (!hasUTMZ()){ _createUMTZ(); }; return (_utmz); } public function hasUTMA():Boolean{ if (_utma){ return (true); }; return (false); } public function hasUTMB():Boolean{ if (_utmb){ return (true); }; return (false); } public function hasUTMC():Boolean{ if (_utmc){ return (true); }; return (false); } public function clearCookies():void{ utma.reset(); utmb.reset(); utmc.reset(); utmz.reset(); utmv.reset(); utmk.reset(); } public function resetCurrentSession():void{ _clearUTMB(); _clearUTMC(); save(); } public function hasUTMK():Boolean{ if (_utmk){ return (true); }; return (false); } public function getLinkerUrl(_arg1:String="", _arg2:Boolean=false):String{ var _local3:String = toLinkerParams(); var _local4:String = _arg1; var _local5:Array = _arg1.split("#"); if (_local3){ if (_arg2){ if (1 >= _local5.length){ _local4 = (_local4 + ("#" + _local3)); } else { _local4 = (_local4 + ("&" + _local3)); }; } else { if (1 >= _local5.length){ if (_arg1.indexOf("?") > -1){ _local4 = (_local4 + "&"); } else { _local4 = (_local4 + "?"); }; _local4 = (_local4 + _local3); } else { _local4 = _local5[0]; if (_arg1.indexOf("?") > -1){ _local4 = (_local4 + "&"); } else { _local4 = (_local4 + "?"); }; _local4 = (_local4 + ((_local3 + "#") + _local5[1])); }; }; }; return (_local4); } public function generateCookiesHash():Number{ var _local1 = ""; _local1 = (_local1 + utma.valueOf()); _local1 = (_local1 + utmb.valueOf()); _local1 = (_local1 + utmc.valueOf()); _local1 = (_local1 + utmx.valueOf()); _local1 = (_local1 + utmz.valueOf()); _local1 = (_local1 + utmv.valueOf()); return (Utils.generateHash(_local1)); } private function _createUMTA():void{ _utma = new UTMA(); _utma.proxy = this; } private function _createUMTB():void{ _utmb = new UTMB(); _utmb.proxy = this; } private function _createUMTC():void{ _utmc = new UTMC(); } public function hasUTMV():Boolean{ if (_utmv){ return (true); }; return (false); } private function _createUMTK():void{ _utmk = new UTMK(); _utmk.proxy = this; } public function hasUTMX():Boolean{ if (_utmx){ return (true); }; return (false); } public function hasUTMZ():Boolean{ if (_utmz){ return (true); }; return (false); } private function _createUMTV():void{ _utmv = new UTMV(); _utmv.proxy = this; } private function _createUMTX():void{ _utmx = new UTMX(); _utmx.proxy = this; } private function _createUMTZ():void{ _utmz = new UTMZ(); _utmz.proxy = this; } public function updateUTMA(_arg1:Number):void{ if (_debug.verbose){ _debug.info((("updateUTMA( " + _arg1) + " )"), VisualDebugMode.advanced); }; if (!utma.isEmpty()){ if (isNaN(utma.sessionCount)){ utma.sessionCount = 1; } else { utma.sessionCount = (utma.sessionCount + 1); }; utma.lastTime = utma.currentTime; utma.currentTime = _arg1; }; } public function isGenuine():Boolean{ if (!hasUTMK()){ return (true); }; return ((utmk.hash == generateCookiesHash())); } private function _onFlushStatus(_arg1:NetStatusEvent):void{ _debug.info("User closed permission dialog..."); switch (_arg1.info.code){ case "SharedObject.Flush.Success": _debug.info("User granted permission -- value saved."); break; case "SharedObject.Flush.Failed": _debug.info("User denied permission -- value not saved."); break; }; _SO.removeEventListener(NetStatusEvent.NET_STATUS, _onFlushStatus); } public function toLinkerParams():String{ var _local1 = ""; _local1 = (_local1 + utma.toURLString()); _local1 = (_local1 + ("&" + utmb.toURLString())); _local1 = (_local1 + ("&" + utmc.toURLString())); _local1 = (_local1 + ("&" + utmx.toURLString())); _local1 = (_local1 + ("&" + utmz.toURLString())); _local1 = (_local1 + ("&" + utmv.toURLString())); _local1 = (_local1 + ("&__utmk=" + generateCookiesHash())); return (_local1); } private function _clearUTMA():void{ _utma = null; if (!isVolatile()){ _SO.data.utma = null; delete _SO.data.utma; }; } private function _clearUTMC():void{ _utmc = null; } private function _clearUTMB():void{ _utmb = null; if (!isVolatile()){ _SO.data.utmb = null; delete _SO.data.utmb; }; } public function update(_arg1:String, _arg2):void{ if (isVolatile()){ _OBJ[_arg1] = _arg2; } else { _SO.data[_arg1] = _arg2; }; } public function createSO():void{ var saveSO:Boolean; UTMZ.defaultTimespan = _config.conversionTimeout; UTMB.defaultTimespan = _config.sessionTimeout; if (!_volatile){ try { _SO = SharedObject.getLocal(_config.cookieName, _config.cookiePath); } catch(e:Error) { if (_debug.active){ _debug.warning(((("Shared Object " + _config.cookieName) + " failed to be set\nreason: ") + e.message)); }; }; saveSO = false; if (_SO.data.utma){ if (!hasUTMA()){ _createUMTA(); }; _utma.fromSharedObject(_SO.data.utma); if (_debug.verbose){ _debug.info(("found: " + _utma.toString(true)), VisualDebugMode.geek); }; if (_utma.isExpired()){ if (_debug.verbose){ _debug.warning("UTMA has expired", VisualDebugMode.advanced); }; _clearUTMA(); saveSO = true; }; }; if (_SO.data.utmb){ if (!hasUTMB()){ _createUMTB(); }; _utmb.fromSharedObject(_SO.data.utmb); if (_debug.verbose){ _debug.info(("found: " + _utmb.toString(true)), VisualDebugMode.geek); }; if (_utmb.isExpired()){ if (_debug.verbose){ _debug.warning("UTMB has expired", VisualDebugMode.advanced); }; _clearUTMB(); saveSO = true; }; }; if (_SO.data.utmc){ delete _SO.data.utmc; saveSO = true; }; if (_SO.data.utmk){ if (!hasUTMK()){ _createUMTK(); }; _utmk.fromSharedObject(_SO.data.utmk); if (_debug.verbose){ _debug.info(("found: " + _utmk.toString()), VisualDebugMode.geek); }; }; if (!hasUTMX()){ _createUMTX(); }; if (_SO.data.utmv){ if (!hasUTMV()){ _createUMTV(); }; _utmv.fromSharedObject(_SO.data.utmv); if (_debug.verbose){ _debug.info(("found: " + _utmv.toString(true)), VisualDebugMode.geek); }; if (_utmv.isExpired()){ if (_debug.verbose){ _debug.warning("UTMV has expired", VisualDebugMode.advanced); }; _clearUTMV(); saveSO = true; }; }; if (_SO.data.utmz){ if (!hasUTMZ()){ _createUMTZ(); }; _utmz.fromSharedObject(_SO.data.utmz); if (_debug.verbose){ _debug.info(("found: " + _utmz.toString(true)), VisualDebugMode.geek); }; if (_utmz.isExpired()){ if (_debug.verbose){ _debug.warning("UTMZ has expired", VisualDebugMode.advanced); }; _clearUTMZ(); saveSO = true; }; }; if (saveSO){ save(); }; }; } private function _clearUTMZ():void{ _utmz = null; if (!isVolatile()){ _SO.data.utmz = null; delete _SO.data.utmz; }; } private function _clearUTMV():void{ _utmv = null; if (!isVolatile()){ _SO.data.utmv = null; delete _SO.data.utmv; }; } public function isVolatile():Boolean{ return (_volatile); } public function get utma():UTMA{ if (!hasUTMA()){ _createUMTA(); }; return (_utma); } public function get utmb():UTMB{ if (!hasUTMB()){ _createUMTB(); }; return (_utmb); } public function get utmc():UTMC{ if (!hasUTMC()){ _createUMTC(); }; return (_utmc); } public function get utmk():UTMK{ if (!hasUTMK()){ _createUMTK(); }; return (_utmk); } } }//package com.google.analytics.core
Section 126
//DocumentInfo (com.google.analytics.core.DocumentInfo) package com.google.analytics.core { import com.google.analytics.v4.*; import com.google.analytics.external.*; import com.google.analytics.utils.*; public class DocumentInfo { private var _pageURL:String; private var _utmr:String; private var _config:Configuration; private var _adSense:AdSenseGlobals; private var _info:Environment; public function DocumentInfo(_arg1:Configuration, _arg2:Environment, _arg3:String, _arg4:String=null, _arg5:AdSenseGlobals=null){ _config = _arg1; _info = _arg2; _utmr = _arg3; _pageURL = _arg4; _adSense = _arg5; } public function get utmr():String{ if (!_utmr){ return ("-"); }; return (_utmr); } public function toURLString():String{ var _local1:Variables = toVariables(); return (_local1.toString()); } private function _renderPageURL(_arg1:String=""):String{ var _local2:String = _info.locationPath; var _local3:String = _info.locationSearch; if (((!(_arg1)) || ((_arg1 == "")))){ _arg1 = (_local2 + unescape(_local3)); if (_arg1 == ""){ _arg1 = "/"; }; }; return (_arg1); } public function get utmp():String{ return (_renderPageURL(_pageURL)); } public function get utmhid():String{ return (String(_generateHitId())); } private function _generateHitId():Number{ var _local1:Number; if (((_adSense.hid) && (!((_adSense.hid == ""))))){ _local1 = Number(_adSense.hid); } else { _local1 = Math.round((Math.random() * 2147483647)); _adSense.hid = String(_local1); }; return (_local1); } public function toVariables():Variables{ var _local1:Variables = new Variables(); _local1.URIencode = true; if (((_config.detectTitle) && (!((utmdt == ""))))){ _local1.utmdt = utmdt; }; _local1.utmhid = utmhid; _local1.utmr = utmr; _local1.utmp = utmp; return (_local1); } public function get utmdt():String{ return (_info.documentTitle); } } }//package com.google.analytics.core
Section 127
//Domain (com.google.analytics.core.Domain) package com.google.analytics.core { import com.google.analytics.debug.*; public class Domain { private var _mode:DomainNameMode; private var _debug:DebugConfiguration; private var _name:String; public function Domain(_arg1:DomainNameMode=null, _arg2:String="", _arg3:DebugConfiguration=null){ _debug = _arg3; if (_arg1 == null){ _arg1 = DomainNameMode.auto; }; _mode = _arg1; if (_arg1 == DomainNameMode.custom){ this.name = _arg2; } else { _name = _arg2; }; } public function get mode():DomainNameMode{ return (_mode); } public function set mode(_arg1:DomainNameMode):void{ _mode = _arg1; if (_mode == DomainNameMode.none){ _name = ""; }; } public function get name():String{ return (_name); } public function set name(_arg1:String):void{ if (((!((_arg1.charAt(0) == "."))) && (_debug))){ _debug.warning(("missing leading period \".\", cookie will only be accessible on " + _arg1), VisualDebugMode.geek); }; _name = _arg1; } } }//package com.google.analytics.core
Section 128
//DomainNameMode (com.google.analytics.core.DomainNameMode) package com.google.analytics.core { public class DomainNameMode { private var _value:int; private var _name:String; public static const custom:DomainNameMode = new DomainNameMode(2, "custom"); ; public static const none:DomainNameMode = new DomainNameMode(0, "none"); ; public static const auto:DomainNameMode = new DomainNameMode(1, "auto"); ; public function DomainNameMode(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.core
Section 129
//Ecommerce (com.google.analytics.core.Ecommerce) package com.google.analytics.core { import com.google.analytics.debug.*; import com.google.analytics.ecommerce.*; public class Ecommerce { private var _debug:DebugConfiguration; private var _trans:Array; public function Ecommerce(_arg1:DebugConfiguration){ this._debug = _arg1; _trans = new Array(); } public function getTransLength():Number{ return (_trans.length); } public function getTransFromArray(_arg1:Number):Transaction{ return (_trans[_arg1]); } public function addTransaction(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:String, _arg6:String, _arg7:String, _arg8:String):Transaction{ var _local9:Transaction; _local9 = getTransaction(_arg1); if (_local9 == null){ _local9 = new Transaction(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); _trans.push(_local9); } else { _local9.affiliation = _arg2; _local9.total = _arg3; _local9.tax = _arg4; _local9.shipping = _arg5; _local9.city = _arg6; _local9.state = _arg7; _local9.country = _arg8; }; return (_local9); } public function getTransaction(_arg1:String):Transaction{ var _local2:Number; _local2 = 0; while (_local2 < _trans.length) { if (_trans[_local2].id == _arg1){ return (_trans[_local2]); }; _local2++; }; return (null); } } }//package com.google.analytics.core
Section 130
//EventInfo (com.google.analytics.core.EventInfo) package com.google.analytics.core { import com.google.analytics.data.*; import com.google.analytics.utils.*; public class EventInfo { private var _ext10:X10; private var _isEventHit:Boolean; private var _x10:X10; public function EventInfo(_arg1:Boolean, _arg2:X10, _arg3:X10=null){ _isEventHit = _arg1; _x10 = _arg2; _ext10 = _arg3; } public function toURLString():String{ var _local1:Variables = toVariables(); return (_local1.toString()); } public function get utmt():String{ return ("event"); } public function get utme():String{ return (_x10.renderMergedUrlString(_ext10)); } public function toVariables():Variables{ var _local1:Variables = new Variables(); _local1.URIencode = true; if (_isEventHit){ _local1.utmt = utmt; }; _local1.utme = utme; return (_local1); } } }//package com.google.analytics.core
Section 131
//EventTracker (com.google.analytics.core.EventTracker) package com.google.analytics.core { import com.google.analytics.v4.*; public class EventTracker { private var _parent:GoogleAnalyticsAPI; public var name:String; public function EventTracker(_arg1:String, _arg2:GoogleAnalyticsAPI){ this.name = _arg1; _parent = _arg2; } public function trackEvent(_arg1:String, _arg2:String=null, _arg3:Number=NaN):Boolean{ return (_parent.trackEvent(name, _arg1, _arg2, _arg3)); } } }//package com.google.analytics.core
Section 132
//ga_internal (com.google.analytics.core.ga_internal) package com.google.analytics.core { public namespace ga_internal; }//package com.google.analytics.core
Section 133
//GIFRequest (com.google.analytics.core.GIFRequest) package com.google.analytics.core { import flash.events.*; import flash.display.*; import com.google.analytics.v4.*; import com.google.analytics.debug.*; import flash.system.*; import flash.net.*; import com.google.analytics.utils.*; public class GIFRequest { private var _info:Environment; private var _count:int; private var _utmac:String; private var _alertcount:int; private var _debug:DebugConfiguration; private var _lastRequest:URLRequest; private var _buffer:Buffer; private var _config:Configuration; private var _requests:Array; public function GIFRequest(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Buffer, _arg4:Environment){ _config = _arg1; _debug = _arg2; _buffer = _arg3; _info = _arg4; _count = 0; _alertcount = 0; _requests = []; } public function get utmn():String{ return ((Utils.generate32bitRandom() as String)); } public function onIOError(_arg1:IOErrorEvent):void{ var _local2:String = _lastRequest.url; var _local3:String = String((_requests.length - 1)); var _local4 = (("Gif Request #" + _local3) + " failed"); if (_debug.GIFRequests){ if (!_debug.verbose){ if (_local2.indexOf("?") > -1){ _local2 = _local2.split("?")[0]; }; _local2 = _shortenURL(_local2); }; if (int(_debug.mode) > int(VisualDebugMode.basic)){ _local4 = (_local4 + ((" \"" + _local2) + "\" does not exists or is unreachable")); }; _debug.failure(_local4); } else { _debug.warning(_local4); }; _removeListeners(_arg1.target); } public function send(_arg1:String, _arg2:Variables=null, _arg3:Boolean=false, _arg4:Boolean=false):void{ var _local5:String; var _local6:URLRequest; var _local7:URLRequest; _utmac = _arg1; if (!_arg2){ _arg2 = new Variables(); }; _arg2.URIencode = false; _arg2.pre = ["utmwv", "utmn", "utmhn", "utmt", "utme", "utmcs", "utmsr", "utmsc", "utmul", "utmje", "utmfl", "utmdt", "utmhid", "utmr", "utmp"]; _arg2.post = ["utmcc"]; if (_debug.verbose){ _debug.info(((("tracking: " + _buffer.utmb.trackCount) + "/") + _config.trackingLimitPerSession), VisualDebugMode.geek); }; if ((((_buffer.utmb.trackCount < _config.trackingLimitPerSession)) || (_arg3))){ if (_arg4){ updateToken(); }; if (((((_arg3) || (!(_arg4)))) || ((_buffer.utmb.token >= 1)))){ if (((!(_arg3)) && (_arg4))){ _buffer.utmb.token = (_buffer.utmb.token - 1); }; _buffer.utmb.trackCount = (_buffer.utmb.trackCount + 1); if (_debug.verbose){ _debug.info(_buffer.utmb.toString(), VisualDebugMode.geek); }; _arg2.utmwv = utmwv; _arg2.utmn = Utils.generate32bitRandom(); if (_info.domainName != ""){ _arg2.utmhn = _info.domainName; }; if (_config.sampleRate < 1){ _arg2.utmsp = (_config.sampleRate * 100); }; if ((((_config.serverMode == ServerOperationMode.local)) || ((_config.serverMode == ServerOperationMode.both)))){ _local5 = _info.locationSWFPath; if (_local5.lastIndexOf("/") > 0){ _local5 = _local5.substring(0, _local5.lastIndexOf("/")); }; _local6 = new URLRequest(); if (_config.localGIFpath.indexOf("http") == 0){ _local6.url = _config.localGIFpath; } else { _local6.url = (_local5 + _config.localGIFpath); }; _local6.url = (_local6.url + ("?" + _arg2.toString())); if (((_debug.active) && (_debug.GIFRequests))){ _debugSend(_local6); } else { sendRequest(_local6); }; }; if ((((_config.serverMode == ServerOperationMode.remote)) || ((_config.serverMode == ServerOperationMode.both)))){ _local7 = new URLRequest(); if (_info.protocol == Protocols.HTTPS){ _local7.url = _config.secureRemoteGIFpath; } else { if (_info.protocol == Protocols.HTTP){ _local7.url = _config.remoteGIFpath; } else { _local7.url = _config.remoteGIFpath; }; }; _arg2.utmac = utmac; _arg2.utmcc = encodeURIComponent(utmcc); _local7.url = (_local7.url + ("?" + _arg2.toString())); if (((_debug.active) && (_debug.GIFRequests))){ _debugSend(_local7); } else { sendRequest(_local7); }; }; }; }; } public function onSecurityError(_arg1:SecurityErrorEvent):void{ if (_debug.GIFRequests){ _debug.failure(_arg1.text); }; } public function get utmsp():String{ return (((_config.sampleRate * 100) as String)); } public function get utmcc():String{ var _local1:Array = []; if (_buffer.hasUTMA()){ _local1.push((_buffer.utma.toURLString() + ";")); }; if (_buffer.hasUTMZ()){ _local1.push((_buffer.utmz.toURLString() + ";")); }; if (_buffer.hasUTMV()){ _local1.push((_buffer.utmv.toURLString() + ";")); }; return (_local1.join("+")); } public function get utmac():String{ return (_utmac); } public function get utmwv():String{ return (_config.version); } public function sendRequest(_arg1:URLRequest):void{ var request = _arg1; var loader:Loader = new Loader(); loader.name = String(_count++); var context:LoaderContext = new LoaderContext(false); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIOError); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); _lastRequest = request; _requests[loader.name] = new RequestObject(request); try { loader.load(request, context); } catch(e:Error) { _debug.failure("\"Loader.load()\" could not instanciate Gif Request"); }; } private function _removeListeners(_arg1:Object):void{ _arg1.removeEventListener(IOErrorEvent.IO_ERROR, onIOError); _arg1.removeEventListener(Event.COMPLETE, onComplete); } public function updateToken():void{ var _local2:Number; var _local1:Number = new Date().getTime(); _local2 = ((_local1 - _buffer.utmb.lastTime) * (_config.tokenRate / 1000)); if (_debug.verbose){ _debug.info(("tokenDelta: " + _local2), VisualDebugMode.geek); }; if (_local2 >= 1){ _buffer.utmb.token = Math.min(Math.floor((_buffer.utmb.token + _local2)), _config.bucketCapacity); _buffer.utmb.lastTime = _local1; if (_debug.verbose){ _debug.info(_buffer.utmb.toString(), VisualDebugMode.geek); }; }; } public function get utmhn():String{ return (_info.domainName); } private function _shortenURL(_arg1:String):String{ var _local2:Array; if (_arg1.length > 60){ _local2 = _arg1.split("/"); while (_arg1.length > 60) { _local2.shift(); _arg1 = ("../" + _local2.join("/")); }; }; return (_arg1); } private function _debugSend(_arg1:URLRequest):void{ var _local3:String; var _local2 = ""; switch (_debug.mode){ case VisualDebugMode.geek: _local2 = ((("Gif Request #" + _alertcount) + ":\n") + _arg1.url); break; case VisualDebugMode.advanced: _local3 = _arg1.url; if (_local3.indexOf("?") > -1){ _local3 = _local3.split("?")[0]; }; _local3 = _shortenURL(_local3); _local2 = (((("Send Gif Request #" + _alertcount) + ":\n") + _local3) + " ?"); break; case VisualDebugMode.basic: default: _local2 = (((("Send " + _config.serverMode.toString()) + " Gif Request #") + _alertcount) + " ?"); }; _debug.alertGifRequest(_local2, _arg1, this); _alertcount++; } public function onComplete(_arg1:Event):void{ var _local2:String = _arg1.target.loader.name; _requests[_local2].complete(); var _local3 = (("Gif Request #" + _local2) + " sent"); var _local4:String = _requests[_local2].request.url; if (_debug.GIFRequests){ if (!_debug.verbose){ if (_local4.indexOf("?") > -1){ _local4 = _local4.split("?")[0]; }; _local4 = _shortenURL(_local4); }; if (int(_debug.mode) > int(VisualDebugMode.basic)){ _local3 = (_local3 + ((" to \"" + _local4) + "\"")); }; _debug.success(_local3); } else { _debug.info(_local3); }; _removeListeners(_arg1.target); } } }//package com.google.analytics.core
Section 134
//IdleTimer (com.google.analytics.core.IdleTimer) package com.google.analytics.core { import flash.events.*; import flash.display.*; import flash.utils.*; import com.google.analytics.v4.*; import com.google.analytics.debug.*; public class IdleTimer { private var _stage:Stage; private var _loop:Timer; private var _lastMove:int; private var _inactivity:Number; private var _debug:DebugConfiguration; private var _session:Timer; private var _buffer:Buffer; public function IdleTimer(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:DisplayObject, _arg4:Buffer){ var _local5:Number = _arg1.idleLoop; var _local6:Number = _arg1.idleTimeout; var _local7:Number = _arg1.sessionTimeout; _loop = new Timer((_local5 * 1000)); _session = new Timer((_local7 * 1000), 1); _debug = _arg2; _stage = _arg3.stage; _buffer = _arg4; _lastMove = getTimer(); _inactivity = (_local6 * 1000); _loop.addEventListener(TimerEvent.TIMER, checkForIdle); _session.addEventListener(TimerEvent.TIMER_COMPLETE, endSession); _stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove); _debug.info(((((("delay: " + _local5) + "sec , inactivity: ") + _local6) + "sec, sessionTimeout: ") + _local7), VisualDebugMode.geek); _loop.start(); } private function onMouseMove(_arg1:MouseEvent):void{ _lastMove = getTimer(); if (_session.running){ _debug.info("session timer reset", VisualDebugMode.geek); _session.reset(); }; } public function endSession(_arg1:TimerEvent):void{ _session.removeEventListener(TimerEvent.TIMER_COMPLETE, endSession); _debug.info("session timer end session", VisualDebugMode.geek); _session.reset(); _buffer.resetCurrentSession(); _debug.info(_buffer.utmb.toString(), VisualDebugMode.geek); _debug.info(_buffer.utmc.toString(), VisualDebugMode.geek); _session.addEventListener(TimerEvent.TIMER_COMPLETE, endSession); } public function checkForIdle(_arg1:TimerEvent):void{ var _local2:int = getTimer(); if ((_local2 - _lastMove) >= _inactivity){ if (!_session.running){ _debug.info("session timer start", VisualDebugMode.geek); _session.start(); }; }; } } }//package com.google.analytics.core
Section 135
//Organic (com.google.analytics.core.Organic) package com.google.analytics.core { import com.google.analytics.utils.*; public class Organic { private var _sourcesCache:Array; private var _sourcesEngine:Array; private var _ignoredKeywords:Array; private var _ignoredReferralsCache:Object; private var _ignoredReferrals:Array; private var _ignoredKeywordsCache:Object; private var _sources:Array; public static var throwErrors:Boolean = false; public function Organic(){ _sources = []; _sourcesCache = []; _sourcesEngine = []; _ignoredReferrals = []; _ignoredReferralsCache = {}; _ignoredKeywords = []; _ignoredKeywordsCache = {}; } public function isIgnoredKeyword(_arg1:String):Boolean{ if (_ignoredKeywordsCache.hasOwnProperty(_arg1)){ return (true); }; return (false); } public function getKeywordValue(_arg1:OrganicReferrer, _arg2:String):String{ var _local3:String = _arg1.keyword; return (getKeywordValueFromPath(_local3, _arg2)); } public function isIgnoredReferral(_arg1:String):Boolean{ if (_ignoredReferralsCache.hasOwnProperty(_arg1)){ return (true); }; return (false); } public function clear():void{ clearEngines(); clearIgnoredReferrals(); clearIgnoredKeywords(); } public function get count():int{ return (_sources.length); } public function get ignoredKeywordsCount():int{ return (_ignoredKeywords.length); } public function match(_arg1:String):Boolean{ if (_arg1 == ""){ return (false); }; _arg1 = _arg1.toLowerCase(); if (_sourcesEngine[_arg1] != undefined){ return (true); }; return (false); } public function clearIgnoredKeywords():void{ _ignoredKeywords = []; _ignoredKeywordsCache = {}; } public function addSource(_arg1:String, _arg2:String):void{ var _local3:OrganicReferrer = new OrganicReferrer(_arg1, _arg2); if (_sourcesCache[_local3.toString()] == undefined){ _sources.push(_local3); _sourcesCache[_local3.toString()] = (_sources.length - 1); if (_sourcesEngine[_local3.engine] == undefined){ _sourcesEngine[_local3.engine] = [(_sources.length - 1)]; } else { _sourcesEngine[_local3.engine].push((_sources.length - 1)); }; } else { if (throwErrors){ throw (new Error((_local3.toString() + " already exists, we don't add it."))); }; }; } public function clearEngines():void{ _sources = []; _sourcesCache = []; _sourcesEngine = []; } public function get ignoredReferralsCount():int{ return (_ignoredReferrals.length); } public function addIgnoredReferral(_arg1:String):void{ if (_ignoredReferralsCache[_arg1] == undefined){ _ignoredReferrals.push(_arg1); _ignoredReferralsCache[_arg1] = (_ignoredReferrals.length - 1); } else { if (throwErrors){ throw (new Error((("\"" + _arg1) + "\" already exists, we don't add it."))); }; }; } public function clearIgnoredReferrals():void{ _ignoredReferrals = []; _ignoredReferralsCache = {}; } public function getReferrerByName(_arg1:String):OrganicReferrer{ var _local2:int; if (match(_arg1)){ _local2 = _sourcesEngine[_arg1][0]; return (_sources[_local2]); }; return (null); } public function addIgnoredKeyword(_arg1:String):void{ if (_ignoredKeywordsCache[_arg1] == undefined){ _ignoredKeywords.push(_arg1); _ignoredKeywordsCache[_arg1] = (_ignoredKeywords.length - 1); } else { if (throwErrors){ throw (new Error((("\"" + _arg1) + "\" already exists, we don't add it."))); }; }; } public function get sources():Array{ return (_sources); } public static function getKeywordValueFromPath(_arg1:String, _arg2:String):String{ var _local3:String; var _local4:Variables; if (_arg2.indexOf((_arg1 + "=")) > -1){ if (_arg2.charAt(0) == "?"){ _arg2 = _arg2.substr(1); }; _arg2 = _arg2.split("+").join("%20"); _local4 = new Variables(_arg2); _local3 = _local4[_arg1]; }; return (_local3); } } }//package com.google.analytics.core
Section 136
//OrganicReferrer (com.google.analytics.core.OrganicReferrer) package com.google.analytics.core { public class OrganicReferrer { private var _engine:String; private var _keyword:String; public function OrganicReferrer(_arg1:String, _arg2:String){ this.engine = _arg1; this.keyword = _arg2; } public function get keyword():String{ return (_keyword); } public function get engine():String{ return (_engine); } public function set engine(_arg1:String):void{ _engine = _arg1.toLowerCase(); } public function toString():String{ return (((engine + "?") + keyword)); } public function set keyword(_arg1:String):void{ _keyword = _arg1.toLowerCase(); } } }//package com.google.analytics.core
Section 137
//RequestObject (com.google.analytics.core.RequestObject) package com.google.analytics.core { import flash.utils.*; import flash.net.*; public class RequestObject { public var start:int; public var end:int; public var request:URLRequest; public function RequestObject(_arg1:URLRequest){ start = getTimer(); this.request = _arg1; } public function hasCompleted():Boolean{ return ((end > 0)); } public function toString():String{ var _local1:Array = []; _local1.push((("duration: " + duration) + "ms")); _local1.push(("url: " + request.url)); return ((("{ " + _local1.join(", ")) + " }")); } public function complete():void{ end = getTimer(); } public function get duration():int{ if (!hasCompleted()){ return (0); }; return ((end - start)); } } }//package com.google.analytics.core
Section 138
//ServerOperationMode (com.google.analytics.core.ServerOperationMode) package com.google.analytics.core { public class ServerOperationMode { private var _value:int; private var _name:String; public static const both:ServerOperationMode = new ServerOperationMode(2, "both"); ; public static const remote:ServerOperationMode = new ServerOperationMode(1, "remote"); ; public static const local:ServerOperationMode = new ServerOperationMode(0, "local"); ; public function ServerOperationMode(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.core
Section 139
//TrackerCache (com.google.analytics.core.TrackerCache) package com.google.analytics.core { import com.google.analytics.v4.*; import flash.errors.*; public class TrackerCache implements GoogleAnalyticsAPI { public var tracker:GoogleAnalyticsAPI; private var _ar:Array; public static var CACHE_THROW_ERROR:Boolean; public function TrackerCache(_arg1:GoogleAnalyticsAPI=null){ this.tracker = _arg1; _ar = []; } public function size():uint{ return (_ar.length); } public function flush():void{ var _local1:Object; var _local2:String; var _local3:Array; var _local4:int; var _local5:int; if (tracker == null){ return; }; if (size() > 0){ _local4 = _ar.length; while (_local5 < _local4) { _local1 = _ar.shift(); _local2 = (_local1.name as String); _local3 = (_local1.args as Array); if (((!((_local2 == null))) && ((_local2 in tracker)))){ (tracker[_local2] as Function).apply(tracker, _local3); }; _local5++; }; }; } public function enqueue(_arg1:String, ... _args):Boolean{ if (_arg1 == null){ return (false); }; _ar.push({name:_arg1, args:_args}); return (true); } public function link(_arg1:String, _arg2:Boolean=false):void{ enqueue("link", _arg1, _arg2); } public function addOrganic(_arg1:String, _arg2:String):void{ enqueue("addOrganic", _arg1, _arg2); } public function setAllowLinker(_arg1:Boolean):void{ enqueue("setAllowLinker", _arg1); } public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{ enqueue("trackEvent", _arg1, _arg2, _arg3, _arg4); return (true); } public function getLinkerUrl(_arg1:String="", _arg2:Boolean=false):String{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getLinkerUrl' method for the moment.")); }; return (""); } public function getClientInfo():Boolean{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getClientInfo' method for the moment.")); }; return (false); } public function trackTrans():void{ enqueue("trackTrans"); } public function trackPageview(_arg1:String=""):void{ enqueue("trackPageview", _arg1); } public function setClientInfo(_arg1:Boolean):void{ enqueue("setClientInfo", _arg1); } public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{ enqueue("linkByPost", _arg1, _arg2); } public function setCookieTimeout(_arg1:int):void{ enqueue("setCookieTimeout", _arg1); } public function isEmpty():Boolean{ return ((_ar.length == 0)); } public function getDetectTitle():Boolean{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getDetectTitle' method for the moment.")); }; return (false); } public function resetSession():void{ enqueue("resetSession"); } public function setDetectFlash(_arg1:Boolean):void{ enqueue("setDetectFlash", _arg1); } public function clear():void{ _ar = []; } public function setCampNameKey(_arg1:String):void{ enqueue("setCampNameKey", _arg1); } public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{ enqueue("addItem", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6); } public function createEventTracker(_arg1:String):EventTracker{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'createEventTracker' method for the moment.")); }; return (null); } public function clearIgnoredOrganic():void{ enqueue("clearIgnoredOrganic"); } public function setVar(_arg1:String):void{ enqueue("setVar", _arg1); } public function setDomainName(_arg1:String):void{ enqueue("setDomainName", _arg1); } public function setCampSourceKey(_arg1:String):void{ enqueue("setCampSourceKey", _arg1); } public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):void{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'addTrans' method for the moment.")); }; } public function setCampContentKey(_arg1:String):void{ enqueue("setCampContentKey", _arg1); } public function setLocalServerMode():void{ enqueue("setLocalServerMode"); } public function getLocalGifPath():String{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getLocalGifPath' method for the moment.")); }; return (""); } public function setAllowAnchor(_arg1:Boolean):void{ enqueue("setAllowAnchor", _arg1); } public function clearIgnoredRef():void{ enqueue("clearIgnoredRef"); } public function setLocalGifPath(_arg1:String):void{ enqueue("setLocalGifPath", _arg1); } public function getVersion():String{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getVersion' method for the moment.")); }; return (""); } public function setCookiePath(_arg1:String):void{ enqueue("setCookiePath", _arg1); } public function setSampleRate(_arg1:Number):void{ enqueue("setSampleRate", _arg1); } public function setDetectTitle(_arg1:Boolean):void{ enqueue("setDetectTitle", _arg1); } public function setAllowHash(_arg1:Boolean):void{ enqueue("setAllowHash", _arg1); } public function addIgnoredOrganic(_arg1:String):void{ enqueue("addIgnoredOrganic", _arg1); } public function setCampNOKey(_arg1:String):void{ enqueue("setCampNOKey", _arg1); } public function getServiceMode():ServerOperationMode{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getServiceMode' method for the moment.")); }; return (null); } public function setLocalRemoteServerMode():void{ enqueue("setLocalRemoteServerMode"); } public function cookiePathCopy(_arg1:String):void{ enqueue("cookiePathCopy", _arg1); } public function getDetectFlash():Boolean{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getDetectFlash' method for the moment.")); }; return (false); } public function setCampaignTrack(_arg1:Boolean):void{ enqueue("setCampaignTrack", _arg1); } public function clearOrganic():void{ enqueue("clearOrganic"); } public function setCampTermKey(_arg1:String):void{ enqueue("setCampTermKey", _arg1); } public function addIgnoredRef(_arg1:String):void{ enqueue("addIgnoredRef", _arg1); } public function setCampMediumKey(_arg1:String):void{ enqueue("setCampMediumKey", _arg1); } public function setSessionTimeout(_arg1:int):void{ enqueue("setSessionTimeout", _arg1); } public function setRemoteServerMode():void{ enqueue("setRemoteServerMode"); } public function element(){ return (_ar[0]); } public function getAccount():String{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getAccount' method for the moment.")); }; return (""); } } }//package com.google.analytics.core
Section 140
//TrackerMode (com.google.analytics.core.TrackerMode) package com.google.analytics.core { public class TrackerMode { public static const BRIDGE:String = "Bridge"; public static const AS3:String = "AS3"; } }//package com.google.analytics.core
Section 141
//Utils (com.google.analytics.core.Utils) package com.google.analytics.core { public class Utils { public static function trim(_arg1:String, _arg2:Boolean=false):String{ var _local5:int; var _local6:int; var _local7:int; if (_arg1 == ""){ return (""); }; var _local3:Array = [" ", "\n", "\r", "\t"]; var _local4:String = _arg1; if (_arg2){ _local5 = 0; while ((((_local5 < _local3.length)) && ((_local4.indexOf(_local3[_local5]) > -1)))) { _local4 = _local4.split(_local3[_local5]).join(""); _local5++; }; } else { _local6 = 0; while ((((_local6 < _local4.length)) && ((_local3.indexOf(_local4.charAt(_local6)) > -1)))) { _local6++; }; _local4 = _local4.substr(_local6); _local7 = (_local4.length - 1); while ((((_local7 >= 0)) && ((_local3.indexOf(_local4.charAt(_local7)) > -1)))) { _local7--; }; _local4 = _local4.substring(0, (_local7 + 1)); }; return (_local4); } public static function generateHash(_arg1:String):int{ var _local4:int; var _local5:int; var _local2 = 1; var _local3:int; if (((!((_arg1 == null))) && (!((_arg1 == ""))))){ _local2 = 0; _local4 = (_arg1.length - 1); while (_local4 >= 0) { _local5 = _arg1.charCodeAt(_local4); _local2 = ((((_local2 << 6) & 268435455) + _local5) + (_local5 << 14)); _local3 = (_local2 & 266338304); if (_local3 != 0){ _local2 = (_local2 ^ (_local3 >> 21)); }; _local4--; }; }; return (_local2); } public static function generate32bitRandom():int{ return (Math.round((Math.random() * 2147483647))); } public static function validateAccount(_arg1:String):Boolean{ var _local2:RegExp = /^UA-[0-9]*-[0-9]*$/; return (_local2.test(_arg1)); } } }//package com.google.analytics.core
Section 142
//Cookie (com.google.analytics.data.Cookie) package com.google.analytics.data { public interface Cookie { function fromSharedObject(_arg1:Object):void; function toURLString():String; function get creation():Date; function toSharedObject():Object; function isExpired():Boolean; function set creation(_arg1:Date):void; function set expiration(_arg1:Date):void; function get expiration():Date; } }//package com.google.analytics.data
Section 143
//UTMA (com.google.analytics.data.UTMA) package com.google.analytics.data { import com.google.analytics.utils.*; public class UTMA extends UTMCookie { private var _sessionId:Number; private var _domainHash:Number; private var _firstTime:Number; private var _currentTime:Number; private var _lastTime:Number; private var _sessionCount:Number; public function UTMA(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN, _arg5:Number=NaN, _arg6:Number=NaN){ super("utma", "__utma", ["domainHash", "sessionId", "firstTime", "lastTime", "currentTime", "sessionCount"], (Timespan.twoyears * 1000)); this.domainHash = _arg1; this.sessionId = _arg2; this.firstTime = _arg3; this.lastTime = _arg4; this.currentTime = _arg5; this.sessionCount = _arg6; } public function get lastTime():Number{ return (_lastTime); } public function set lastTime(_arg1:Number):void{ _lastTime = _arg1; update(); } public function set currentTime(_arg1:Number):void{ _currentTime = _arg1; update(); } public function get sessionId():Number{ return (_sessionId); } public function get sessionCount():Number{ return (_sessionCount); } public function get firstTime():Number{ return (_firstTime); } public function get currentTime():Number{ return (_currentTime); } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } public function set sessionId(_arg1:Number):void{ _sessionId = _arg1; update(); } public function set sessionCount(_arg1:Number):void{ _sessionCount = _arg1; update(); } public function get domainHash():Number{ return (_domainHash); } public function set firstTime(_arg1:Number):void{ _firstTime = _arg1; update(); } } }//package com.google.analytics.data
Section 144
//UTMB (com.google.analytics.data.UTMB) package com.google.analytics.data { import com.google.analytics.utils.*; public class UTMB extends UTMCookie { private var _trackCount:Number; private var _lastTime:Number; private var _domainHash:Number; private var _token:Number; public static var defaultTimespan:Number = Timespan.thirtyminutes; public function UTMB(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN){ super("utmb", "__utmb", ["domainHash", "trackCount", "token", "lastTime"], (defaultTimespan * 1000)); this.domainHash = _arg1; this.trackCount = _arg2; this.token = _arg3; this.lastTime = _arg4; } public function set token(_arg1:Number):void{ _token = _arg1; update(); } public function set trackCount(_arg1:Number):void{ _trackCount = _arg1; update(); } public function get lastTime():Number{ return (_lastTime); } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } public function set lastTime(_arg1:Number):void{ _lastTime = _arg1; update(); } public function get domainHash():Number{ return (_domainHash); } public function get token():Number{ return (_token); } public function get trackCount():Number{ return (_trackCount); } } }//package com.google.analytics.data
Section 145
//UTMC (com.google.analytics.data.UTMC) package com.google.analytics.data { public class UTMC extends UTMCookie { private var _domainHash:Number; public function UTMC(_arg1:Number=NaN){ super("utmc", "__utmc", ["domainHash"]); this.domainHash = _arg1; } public function get domainHash():Number{ return (_domainHash); } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } } }//package com.google.analytics.data
Section 146
//UTMCookie (com.google.analytics.data.UTMCookie) package com.google.analytics.data { import com.google.analytics.core.*; public class UTMCookie implements Cookie { protected var inURL:String; protected var name:String; private var _creation:Date; private var _expiration:Date; public var proxy:Buffer; protected var fields:Array; private var _timespan:Number; public function UTMCookie(_arg1:String, _arg2:String, _arg3:Array, _arg4:Number=0){ this.name = _arg1; this.inURL = _arg2; this.fields = _arg3; _timestamp(_arg4); } public function isEmpty():Boolean{ var _local2:String; var _local1:int; var _local3:int; while (_local3 < fields.length) { _local2 = fields[_local3]; if ((((this[_local2] is Number)) && (isNaN(this[_local2])))){ _local1++; } else { if ((((this[_local2] is String)) && ((this[_local2] == "")))){ _local1++; }; }; _local3++; }; if (_local1 == fields.length){ return (true); }; return (false); } public function resetTimestamp(_arg1:Number=NaN):void{ if (!isNaN(_arg1)){ _timespan = _arg1; }; _creation = null; _expiration = null; _timestamp(_timespan); } protected function update():void{ resetTimestamp(); if (proxy){ proxy.update(name, toSharedObject()); }; } public function reset():void{ var _local1:String; var _local2:int; while (_local2 < fields.length) { _local1 = fields[_local2]; if ((this[_local1] is Number)){ this[_local1] = NaN; } else { if ((this[_local1] is String)){ this[_local1] = ""; }; }; _local2++; }; resetTimestamp(); update(); } public function fromSharedObject(_arg1:Object):void{ var _local2:String; var _local3:int = fields.length; var _local4:int; while (_local4 < _local3) { _local2 = fields[_local4]; if (_arg1[_local2]){ this[_local2] = _arg1[_local2]; }; _local4++; }; if (_arg1.creation){ this.creation = _arg1.creation; }; if (_arg1.expiration){ this.expiration = _arg1.expiration; }; } private function _timestamp(_arg1:Number):void{ creation = new Date(); _timespan = _arg1; if (_arg1 > 0){ expiration = new Date((creation.valueOf() + _arg1)); }; } public function isExpired():Boolean{ var _local1:Date = new Date(); var _local2:Number = (expiration.valueOf() - _local1.valueOf()); if (_local2 <= 0){ return (true); }; return (false); } public function set expiration(_arg1:Date):void{ _expiration = _arg1; } public function get creation():Date{ return (_creation); } public function valueOf():String{ var _local2:String; var _local3:*; var _local4:Array; var _local1:Array = []; var _local5 = ""; var _local6:int; while (_local6 < fields.length) { _local2 = fields[_local6]; _local3 = this[_local2]; if ((_local3 is String)){ if (_local3 == ""){ _local3 = "-"; _local1.push(_local3); } else { _local1.push(_local3); }; } else { if ((_local3 is Number)){ if (_local3 == 0){ _local1.push(_local3); } else { if (isNaN(_local3)){ _local3 = "-"; _local1.push(_local3); } else { _local1.push(_local3); }; }; }; }; _local6++; }; if (isEmpty()){ return ("-"); }; return (("" + _local1.join("."))); } public function toURLString():String{ return (((inURL + "=") + valueOf())); } public function get expiration():Date{ if (_expiration){ return (_expiration); }; return (new Date((new Date().valueOf() + 1000))); } public function toSharedObject():Object{ var _local2:String; var _local3:*; var _local1:Object = {}; var _local4:int; for (;_local4 < fields.length;_local4++) { _local2 = fields[_local4]; _local3 = this[_local2]; if ((_local3 is String)){ _local1[_local2] = _local3; } else { if (_local3 == 0){ _local1[_local2] = _local3; } else { if (isNaN(_local3)){ continue; } else { _local1[_local2] = _local3; }; }; }; }; _local1.creation = creation; _local1.expiration = expiration; return (_local1); } public function toString(_arg1:Boolean=false):String{ var _local3:String; var _local4:*; var _local2:Array = []; var _local5:int = fields.length; var _local6:int; for (;_local6 < _local5;_local6++) { _local3 = fields[_local6]; _local4 = this[_local3]; if ((_local4 is String)){ _local2.push((((_local3 + ": \"") + _local4) + "\"")); } else { if (_local4 == 0){ _local2.push(((_local3 + ": ") + _local4)); } else { if (isNaN(_local4)){ continue; } else { _local2.push(((_local3 + ": ") + _local4)); }; }; }; }; var _local7 = (((name.toUpperCase() + " {") + _local2.join(", ")) + "}"); if (_arg1){ _local7 = (_local7 + (((" creation:" + creation) + ", expiration:") + expiration)); }; return (_local7); } public function set creation(_arg1:Date):void{ _creation = _arg1; } } }//package com.google.analytics.data
Section 147
//UTMK (com.google.analytics.data.UTMK) package com.google.analytics.data { public class UTMK extends UTMCookie { private var _hash:Number; public function UTMK(_arg1:Number=NaN){ super("utmk", "__utmk", ["hash"]); this.hash = _arg1; } public function set hash(_arg1:Number):void{ _hash = _arg1; update(); } public function get hash():Number{ return (_hash); } } }//package com.google.analytics.data
Section 148
//UTMV (com.google.analytics.data.UTMV) package com.google.analytics.data { import com.google.analytics.utils.*; public class UTMV extends UTMCookie { private var _domainHash:Number; private var _value:String; public function UTMV(_arg1:Number=NaN, _arg2:String=""){ super("utmv", "__utmv", ["domainHash", "value"], (Timespan.twoyears * 1000)); this.domainHash = _arg1; this.value = _arg2; } public function get value():String{ return (_value); } public function get domainHash():Number{ return (_domainHash); } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } public function set value(_arg1:String):void{ _value = _arg1; update(); } } }//package com.google.analytics.data
Section 149
//UTMX (com.google.analytics.data.UTMX) package com.google.analytics.data { public class UTMX extends UTMCookie { private var _value:String; public function UTMX(){ super("utmx", "__utmx", ["value"], 0); _value = "-"; } public function get value():String{ return (_value); } public function set value(_arg1:String):void{ _value = _arg1; } } }//package com.google.analytics.data
Section 150
//UTMZ (com.google.analytics.data.UTMZ) package com.google.analytics.data { import com.google.analytics.utils.*; public class UTMZ extends UTMCookie { private var _campaignTracking:String; private var _campaignCreation:Number; private var _responseCount:Number; private var _domainHash:Number; private var _campaignSessions:Number; public static var defaultTimespan:Number = Timespan.sixmonths; public function UTMZ(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN, _arg5:String=""){ super("utmz", "__utmz", ["domainHash", "campaignCreation", "campaignSessions", "responseCount", "campaignTracking"], (defaultTimespan * 1000)); this.domainHash = _arg1; this.campaignCreation = _arg2; this.campaignSessions = _arg3; this.responseCount = _arg4; this.campaignTracking = _arg5; } public function set responseCount(_arg1:Number):void{ _responseCount = _arg1; update(); } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } public function set campaignCreation(_arg1:Number):void{ _campaignCreation = _arg1; update(); } public function get campaignTracking():String{ return (_campaignTracking); } public function get campaignSessions():Number{ return (_campaignSessions); } public function get domainHash():Number{ return (_domainHash); } public function get responseCount():Number{ return (_responseCount); } public function get campaignCreation():Number{ return (_campaignCreation); } public function set campaignSessions(_arg1:Number):void{ _campaignSessions = _arg1; update(); } public function set campaignTracking(_arg1:String):void{ _campaignTracking = _arg1; update(); } } }//package com.google.analytics.data
Section 151
//X10 (com.google.analytics.data.X10) package com.google.analytics.data { public class X10 { private var _delimEnd:String;// = ")" private var _minimum:int; private var _delimSet:String;// = "*" private var _escapeChar:String;// = "'" private var _delimBegin:String;// = "(" private var _delimNumValue:String;// = "!" private var _key:String;// = "k" private var _set:Array; private var _hasData:int; private var _escapeCharMap:Object; private var _projectData:Object; private var _value:String;// = "v" public function X10(){ _set = [_key, _value]; super(); _projectData = {}; _escapeCharMap = {}; _escapeCharMap[_escapeChar] = "'0"; _escapeCharMap[_delimEnd] = "'1"; _escapeCharMap[_delimSet] = "'2"; _escapeCharMap[_delimNumValue] = "'3"; _minimum = 1; } private function _setInternal(_arg1:Number, _arg2:String, _arg3:Number, _arg4:String):void{ if (!hasProject(_arg1)){ _projectData[_arg1] = {}; }; if (_projectData[_arg1][_arg2] == undefined){ _projectData[_arg1][_arg2] = []; }; _projectData[_arg1][_arg2][_arg3] = _arg4; _hasData = (_hasData + 1); } private function _renderProject(_arg1:Object):String{ var _local4:int; var _local5:Array; var _local2 = ""; var _local3:Boolean; var _local6:int = _set.length; _local4 = 0; while (_local4 < _local6) { _local5 = _arg1[_set[_local4]]; if (_local5){ if (_local3){ _local2 = (_local2 + _set[_local4]); }; _local2 = (_local2 + _renderDataType(_local5)); _local3 = false; } else { _local3 = true; }; _local4++; }; return (_local2); } public function hasProject(_arg1:Number):Boolean{ return (_projectData[_arg1]); } public function clearKey(_arg1:Number):void{ _clearInternal(_arg1, _key); } private function _renderDataType(_arg1:Array):String{ var _local3:String; var _local4:int; var _local2:Array = []; _local4 = 0; while (_local4 < _arg1.length) { if (_arg1[_local4] != undefined){ _local3 = ""; if (((!((_local4 == _minimum))) && ((_arg1[(_local4 - 1)] == undefined)))){ _local3 = (_local3 + _local4.toString()); _local3 = (_local3 + _delimNumValue); }; _local3 = (_local3 + _escapeExtensibleValue(_arg1[_local4])); _local2.push(_local3); }; _local4++; }; return (((_delimBegin + _local2.join(_delimSet)) + _delimEnd)); } public function getKey(_arg1:Number, _arg2:Number):String{ return ((_getInternal(_arg1, _key, _arg2) as String)); } public function hasData():Boolean{ return ((_hasData > 0)); } public function renderMergedUrlString(_arg1:X10=null):String{ var _local3:String; if (!_arg1){ return (renderUrlString()); }; var _local2:Array = [_arg1.renderUrlString()]; for (_local3 in _projectData) { if (((hasProject(Number(_local3))) && (!(_arg1.hasProject(Number(_local3)))))){ _local2.push((_local3 + _renderProject(_projectData[_local3]))); }; }; return (_local2.join("")); } public function setValue(_arg1:Number, _arg2:Number, _arg3:Number):Boolean{ if (((((!((Math.round(_arg3) == _arg3))) || (isNaN(_arg3)))) || ((_arg3 == Infinity)))){ return (false); }; _setInternal(_arg1, _value, _arg2, _arg3.toString()); return (true); } public function renderUrlString():String{ var _local2:String; var _local1:Array = []; for (_local2 in _projectData) { if (hasProject(Number(_local2))){ _local1.push((_local2 + _renderProject(_projectData[_local2]))); }; }; return (_local1.join("")); } private function _getInternal(_arg1:Number, _arg2:String, _arg3:Number):Object{ if (((hasProject(_arg1)) && (!((_projectData[_arg1][_arg2] == undefined))))){ return (_projectData[_arg1][_arg2][_arg3]); }; return (undefined); } public function setKey(_arg1:Number, _arg2:Number, _arg3:String):Boolean{ _setInternal(_arg1, _key, _arg2, _arg3); return (true); } public function clearValue(_arg1:Number):void{ _clearInternal(_arg1, _value); } private function _clearInternal(_arg1:Number, _arg2:String):void{ var _local3:Boolean; var _local4:int; var _local5:int; if (((hasProject(_arg1)) && (!((_projectData[_arg1][_arg2] == undefined))))){ _projectData[_arg1][_arg2] = undefined; _local3 = true; _local5 = _set.length; _local4 = 0; while (_local4 < _local5) { if (_projectData[_arg1][_set[_local4]] != undefined){ _local3 = false; break; }; _local4++; }; if (_local3){ _projectData[_arg1] = undefined; _hasData = (_hasData - 1); }; }; } public function getValue(_arg1:Number, _arg2:Number){ var _local3:* = _getInternal(_arg1, _value, _arg2); if (_local3 == null){ return (null); }; return (Number(_local3)); } private function _escapeExtensibleValue(_arg1:String):String{ var _local3:int; var _local4:String; var _local5:String; var _local2 = ""; _local3 = 0; while (_local3 < _arg1.length) { _local4 = _arg1.charAt(_local3); _local5 = _escapeCharMap[_local4]; if (_local5){ _local2 = (_local2 + _local5); } else { _local2 = (_local2 + _local4); }; _local3++; }; return (_local2); } } }//package com.google.analytics.data
Section 152
//_Style (com.google.analytics.debug._Style) package com.google.analytics.debug { import flash.net.*; import flash.text.*; public class _Style { public var failureColor:uint; public var borderColor:uint; public var backgroundColor:uint; private var _sheet:StyleSheet; public var roundedCorner:uint; public var warningColor:uint; public var infoColor:uint; public var alertColor:uint; public var successColor:uint; private var _loader:URLLoader; private var _defaultSheet:String; public function _Style(){ _sheet = new StyleSheet(); _loader = new URLLoader(); _init(); } private function _parseSheet(_arg1:String):void{ _sheet.parseCSS(_arg1); } public function get sheet():StyleSheet{ return (_sheet); } private function _init():void{ _defaultSheet = ""; _defaultSheet = (_defaultSheet + "a{text-decoration: underline;}\n"); _defaultSheet = (_defaultSheet + ".uiLabel{color: #000000;font-family: Arial;font-size: 12;margin-left: 2;margin-right: 2;}\n"); _defaultSheet = (_defaultSheet + ".uiWarning{color: #ffffff;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiAlert{color: #ffffff;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiInfo{color: #000000;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiSuccess{color: #ffffff;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiFailure{color: #ffffff;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiAlertAction{color: #ffffff;text-align: center;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiAlertTitle{color: #ffffff;font-family: Arial;font-size: 16;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + "\n"); roundedCorner = 6; backgroundColor = 0xCCCCCC; borderColor = 0x555555; infoColor = 16777113; alertColor = 0xFFCC00; warningColor = 0xCC0000; successColor = 0xFF00; failureColor = 0xFF0000; _parseSheet(_defaultSheet); } } }//package com.google.analytics.debug
Section 153
//Alert (com.google.analytics.debug.Alert) package com.google.analytics.debug { import flash.events.*; public class Alert extends Label { public var autoClose:Boolean;// = true public var actionOnNextLine:Boolean;// = true private var _actions:Array; public function Alert(_arg1:String, _arg2:Array, _arg3:String="uiAlert", _arg4:uint=0, _arg5:Align=null, _arg6:Boolean=false, _arg7:Boolean=true){ if (_arg4 == 0){ _arg4 = Style.alertColor; }; if (_arg5 == null){ _arg5 = Align.center; }; super(_arg1, _arg3, _arg4, _arg5, _arg6); this.selectable = true; super.mouseChildren = true; this.buttonMode = true; this.mouseEnabled = true; this.useHandCursor = true; this.actionOnNextLine = _arg7; _actions = []; var _local8:int; while (_local8 < _arg2.length) { _arg2[_local8].container = this; _actions.push(_arg2[_local8]); _local8++; }; } private function _defineActions():void{ var _local3:AlertAction; var _local1 = ""; if (actionOnNextLine){ _local1 = (_local1 + "\n"); } else { _local1 = (_local1 + " |"); }; _local1 = (_local1 + " "); var _local2:Array = []; var _local4:int; while (_local4 < _actions.length) { _local3 = _actions[_local4]; _local2.push((((("<a href=\"event:" + _local3.activator) + "\">") + _local3.name) + "</a>")); _local4++; }; _local1 = (_local1 + _local2.join(" | ")); appendText(_local1, "uiAlertAction"); } protected function isValidAction(_arg1:String):Boolean{ var _local2:int; while (_local2 < _actions.length) { if (_arg1 == _actions[_local2].activator){ return (true); }; _local2++; }; return (false); } override protected function layout():void{ super.layout(); _defineActions(); } protected function getAction(_arg1:String):AlertAction{ var _local2:int; while (_local2 < _actions.length) { if (_arg1 == _actions[_local2].activator){ return (_actions[_local2]); }; _local2++; }; return (null); } protected function spaces(_arg1:int):String{ var _local2 = ""; var _local3 = " "; var _local4:int; while (_local4 < (_arg1 + 1)) { _local2 = (_local2 + _local3); _local4++; }; return (_local2); } override public function onLink(_arg1:TextEvent):void{ var _local2:AlertAction; if (isValidAction(_arg1.text)){ _local2 = getAction(_arg1.text); if (_local2){ _local2.execute(); }; }; if (autoClose){ close(); }; } public function close():void{ if (parent != null){ parent.removeChild(this); }; } } }//package com.google.analytics.debug
Section 154
//AlertAction (com.google.analytics.debug.AlertAction) package com.google.analytics.debug { public class AlertAction { public var container:Alert; private var _callback; public var activator:String; public var name:String; public function AlertAction(_arg1:String, _arg2:String, _arg3){ this.name = _arg1; this.activator = _arg2; _callback = _arg3; } public function execute():void{ if (_callback){ if ((_callback is Function)){ (_callback as Function)(); } else { if ((_callback is String)){ var _local1 = container; _local1[_callback](); }; }; }; } } }//package com.google.analytics.debug
Section 155
//Align (com.google.analytics.debug.Align) package com.google.analytics.debug { public class Align { private var _value:int; private var _name:String; public static const bottomRight:Align = new Align(18, "bottomRight"); ; public static const right:Align = new Align(16, "right"); ; public static const left:Align = new Align(32, "left"); ; public static const topRight:Align = new Align(17, "topRight"); ; public static const bottom:Align = new Align(2, "bottom"); ; public static const bottomLeft:Align = new Align(34, "bottomLeft"); ; public static const topLeft:Align = new Align(33, "topLeft"); ; public static const center:Align = new Align(0x0100, "center"); ; public static const none:Align = new Align(0, "none"); ; public static const top:Align = new Align(1, "top"); ; public function Align(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.debug
Section 156
//Background (com.google.analytics.debug.Background) package com.google.analytics.debug { import flash.display.*; public class Background { public static function drawRounded(_arg1, _arg2:Graphics, _arg3:uint=0, _arg4:uint=0):void{ var _local5:uint; var _local6:uint; var _local7:uint = Style.roundedCorner; if ((((_arg3 > 0)) && ((_arg4 > 0)))){ _local5 = _arg3; _local6 = _arg4; } else { _local5 = _arg1.width; _local6 = _arg1.height; }; if (((_arg1.stickToEdge) && (!((_arg1.alignement == Align.none))))){ switch (_arg1.alignement){ case Align.top: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, _local7, _local7); break; case Align.topLeft: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, 0, _local7); break; case Align.topRight: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, _local7, 0); break; case Align.bottom: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, _local7, 0, 0); break; case Align.bottomLeft: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, _local7, 0, 0); break; case Align.bottomRight: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, 0, 0, 0); break; case Align.left: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, _local7, 0, _local7); break; case Align.right: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, 0, _local7, 0); break; case Align.center: _arg2.drawRoundRect(0, 0, _local5, _local6, _local7, _local7); break; }; } else { _arg2.drawRoundRect(0, 0, _local5, _local6, _local7, _local7); }; } } }//package com.google.analytics.debug
Section 157
//Debug (com.google.analytics.debug.Debug) package com.google.analytics.debug { import flash.events.*; import flash.ui.*; public class Debug extends Label { private var _lines:Array; private var _preferredForcedWidth:uint;// = 540 private var _linediff:int;// = 0 public var maxLines:uint;// = 16 public static var count:uint; public function Debug(_arg1:uint=0, _arg2:Align=null, _arg3:Boolean=false){ if (_arg2 == null){ _arg2 = Align.bottom; }; super("", "uiLabel", _arg1, _arg2, _arg3); this.name = ("Debug" + count++); _lines = []; selectable = true; addEventListener(KeyboardEvent.KEY_DOWN, onKey); } public function writeBold(_arg1:String):void{ write(_arg1, true); } private function _getLinesToDisplay(_arg1:int=0):Array{ var _local2:Array; var _local3:uint; var _local4:uint; if ((_lines.length - 1) > maxLines){ if ((_linediff <= 0)){ _linediff = (_linediff + _arg1); } else { if ((((_linediff > 0)) && ((_arg1 < 0)))){ _linediff = (_linediff + _arg1); }; }; _local3 = ((_lines.length - maxLines) + _linediff); _local4 = (_local3 + maxLines); _local2 = _lines.slice(_local3, _local4); } else { _local2 = _lines; }; return (_local2); } private function onKey(_arg1:KeyboardEvent=null):void{ var _local2:Array; switch (_arg1.keyCode){ case Keyboard.DOWN: _local2 = _getLinesToDisplay(1); break; case Keyboard.UP: _local2 = _getLinesToDisplay(-1); break; default: _local2 = null; }; if (_local2 == null){ return; }; text = _local2.join("\n"); } override public function get forcedWidth():uint{ if (this.parent){ if (UISprite(this.parent).forcedWidth > _preferredForcedWidth){ return (_preferredForcedWidth); }; return (UISprite(this.parent).forcedWidth); //unresolved jump }; return (super.forcedWidth); } public function write(_arg1:String, _arg2:Boolean=false):void{ var _local3:Array; if (_arg1.indexOf("") > -1){ _local3 = _arg1.split("\n"); } else { _local3 = [_arg1]; }; var _local4 = ""; var _local5 = ""; if (_arg2){ _local4 = "<b>"; _local5 = "</b>"; }; var _local6:int; while (_local6 < _local3.length) { _lines.push(((_local4 + _local3[_local6]) + _local5)); _local6++; }; var _local7:Array = _getLinesToDisplay(); text = _local7.join("\n"); } public function close():void{ dispose(); } override protected function dispose():void{ removeEventListener(KeyboardEvent.KEY_DOWN, onKey); super.dispose(); } } }//package com.google.analytics.debug
Section 158
//DebugConfiguration (com.google.analytics.debug.DebugConfiguration) package com.google.analytics.debug { import flash.utils.*; import com.google.analytics.core.*; import flash.net.*; public class DebugConfiguration { public var showHideKey:Number;// = 32 private var _mode:VisualDebugMode; private var _verbose:Boolean;// = false public var destroyKey:Number;// = 8 public var GIFRequests:Boolean;// = false public var showInfos:Boolean;// = true public var infoTimeout:Number;// = 1000 public var minimizedOnStart:Boolean;// = false private var _active:Boolean;// = false public var traceOutput:Boolean;// = false public var layout:ILayout; public var warningTimeout:Number;// = 1500 public var javascript:Boolean;// = false public var showWarnings:Boolean;// = true private var _visualInitialized:Boolean;// = false public function DebugConfiguration(){ _mode = VisualDebugMode.basic; super(); } public function get verbose():Boolean{ return (_verbose); } public function set verbose(_arg1:Boolean):void{ _verbose = _arg1; } public function set mode(_arg1):void{ if ((_arg1 is String)){ switch (_arg1){ case "geek": _arg1 = VisualDebugMode.geek; break; case "advanced": _arg1 = VisualDebugMode.advanced; break; case "basic": default: _arg1 = VisualDebugMode.basic; }; }; _mode = _arg1; } public function success(_arg1:String):void{ if (layout){ layout.createSuccessAlert(_arg1); }; if (traceOutput){ trace((("[+] " + _arg1) + " !!")); }; } public function get active():Boolean{ return (_active); } private function _initializeVisual():void{ if (layout){ layout.init(); _visualInitialized = true; }; } private function _destroyVisual():void{ if (((layout) && (_visualInitialized))){ layout.destroy(); }; } public function warning(_arg1:String, _arg2:VisualDebugMode=null):void{ if (_filter(_arg2)){ return; }; if (((layout) && (showWarnings))){ layout.createWarning(_arg1); }; if (traceOutput){ trace((("## " + _arg1) + " ##")); }; } private function _filter(_arg1:VisualDebugMode=null):Boolean{ return (((_arg1) && ((int(_arg1) >= int(this.mode))))); } public function failure(_arg1:String):void{ if (layout){ layout.createFailureAlert(_arg1); }; if (traceOutput){ trace((("[-] " + _arg1) + " !!")); }; } public function get mode(){ return (_mode); } public function set active(_arg1:Boolean):void{ _active = _arg1; if (_active){ _initializeVisual(); } else { _destroyVisual(); }; } protected function trace(_arg1:String):void{ var _local7:Array; var _local8:int; var _local2:Array = []; var _local3 = ""; var _local4 = ""; if (this.mode == VisualDebugMode.geek){ _local3 = (getTimer() + " - "); _local4 = (new Array(_local3.length).join(" ") + " "); }; if (_arg1.indexOf("\n") > -1){ _local7 = _arg1.split("\n"); _local8 = 0; while (_local8 < _local7.length) { if (_local7[_local8] == ""){ } else { if (_local8 == 0){ _local2.push((_local3 + _local7[_local8])); } else { _local2.push((_local4 + _local7[_local8])); }; }; _local8++; }; } else { _local2.push((_local3 + _arg1)); }; var _local5:int = _local2.length; var _local6:int; while (_local6 < _local5) { trace(_local2[_local6]); _local6++; }; } public function alert(_arg1:String):void{ if (layout){ layout.createAlert(_arg1); }; if (traceOutput){ trace((("!! " + _arg1) + " !!")); }; } public function info(_arg1:String, _arg2:VisualDebugMode=null):void{ if (_filter(_arg2)){ return; }; if (((layout) && (showInfos))){ layout.createInfo(_arg1); }; if (traceOutput){ trace(_arg1); }; } public function alertGifRequest(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void{ if (layout){ layout.createGIFRequestAlert(_arg1, _arg2, _arg3); }; if (traceOutput){ trace(((">> " + _arg1) + " <<")); }; } } }//package com.google.analytics.debug
Section 159
//FailureAlert (com.google.analytics.debug.FailureAlert) package com.google.analytics.debug { public class FailureAlert extends Alert { public function FailureAlert(_arg1:DebugConfiguration, _arg2:String, _arg3:Array){ var _local4:Align = Align.bottomLeft; var _local5:Boolean; var _local6:Boolean; if (_arg1.verbose){ _arg2 = ((("<u><span class=\"uiAlertTitle\">Failure</span>" + spaces(18)) + "</u>\n\n") + _arg2); _local4 = Align.center; _local5 = false; _local6 = true; }; super(_arg2, _arg3, "uiFailure", Style.failureColor, _local4, _local5, _local6); } } }//package com.google.analytics.debug
Section 160
//GIFRequestAlert (com.google.analytics.debug.GIFRequestAlert) package com.google.analytics.debug { public class GIFRequestAlert extends Alert { public function GIFRequestAlert(_arg1:String, _arg2:Array){ super(_arg1, _arg2); } } }//package com.google.analytics.debug
Section 161
//ILayout (com.google.analytics.debug.ILayout) package com.google.analytics.debug { import flash.display.*; import com.google.analytics.core.*; import flash.net.*; public interface ILayout { function createAlert(_arg1:String):void; function addToStage(_arg1:DisplayObject):void; function createGIFRequestAlert(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void; function createWarning(_arg1:String):void; function createPanel(_arg1:String, _arg2:uint, _arg3:uint):void; function createInfo(_arg1:String):void; function createFailureAlert(_arg1:String):void; function addToPanel(_arg1:String, _arg2:DisplayObject):void; function init():void; function createSuccessAlert(_arg1:String):void; function createVisualDebug():void; function destroy():void; function bringToFront(_arg1:DisplayObject):void; function isAvailable():Boolean; } }//package com.google.analytics.debug
Section 162
//Info (com.google.analytics.debug.Info) package com.google.analytics.debug { import flash.events.*; import flash.utils.*; public class Info extends Label { private var _timer:Timer; public function Info(_arg1:String="", _arg2:uint=3000){ super(_arg1, "uiInfo", Style.infoColor, Align.top, true); if (_arg2 > 0){ _timer = new Timer(_arg2, 1); _timer.start(); _timer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete, false, 0, true); }; } public function close():void{ if (parent != null){ parent.removeChild(this); }; } override public function onLink(_arg1:TextEvent):void{ switch (_arg1.text){ case "hide": close(); break; }; } public function onComplete(_arg1:TimerEvent):void{ close(); } } }//package com.google.analytics.debug
Section 163
//Label (com.google.analytics.debug.Label) package com.google.analytics.debug { import flash.events.*; import flash.display.*; import flash.text.*; public class Label extends UISprite { private var _color:uint; private var _background:Shape; private var _textField:TextField; public var stickToEdge:Boolean; private var _text:String; protected var selectable:Boolean; private var _tag:String; public static var count:uint = 0; public function Label(_arg1:String="", _arg2:String="uiLabel", _arg3:uint=0, _arg4:Align=null, _arg5:Boolean=false){ this.name = ("Label" + count++); selectable = false; _background = new Shape(); _textField = new TextField(); _text = _arg1; _tag = _arg2; if (_arg4 == null){ _arg4 = Align.none; }; this.alignement = _arg4; this.stickToEdge = _arg5; if (_arg3 == 0){ _arg3 = Style.backgroundColor; }; _color = _arg3; _textField.addEventListener(TextEvent.LINK, onLink); } public function get tag():String{ return (_tag); } private function _draw():void{ var _local1:Graphics = _background.graphics; _local1.clear(); _local1.beginFill(_color); var _local2:uint = _textField.width; var _local3:uint = _textField.height; if (forcedWidth > 0){ _local2 = forcedWidth; }; Background.drawRounded(this, _local1, _local2, _local3); _local1.endFill(); } public function get text():String{ return (_textField.text); } public function appendText(_arg1:String, _arg2:String=""):void{ if (_arg1 == ""){ return; }; if (_arg2 == ""){ _arg2 = tag; }; _textField.htmlText = (_textField.htmlText + (((("<span class=\"" + _arg2) + "\">") + _arg1) + "</span>")); _text = (_text + _arg1); _draw(); resize(); } public function set text(_arg1:String):void{ if (_arg1 == ""){ _arg1 = _text; }; _textField.htmlText = (((("<span class=\"" + tag) + "\">") + _arg1) + "</span>"); _text = _arg1; _draw(); resize(); } override protected function layout():void{ _textField.type = TextFieldType.DYNAMIC; _textField.autoSize = TextFieldAutoSize.LEFT; _textField.background = false; _textField.selectable = selectable; _textField.multiline = true; _textField.styleSheet = Style.sheet; this.text = _text; addChild(_background); addChild(_textField); } public function set tag(_arg1:String):void{ _tag = _arg1; text = ""; } public function onLink(_arg1:TextEvent):void{ } override protected function dispose():void{ _textField.removeEventListener(TextEvent.LINK, onLink); super.dispose(); } } }//package com.google.analytics.debug
Section 164
//Layout (com.google.analytics.debug.Layout) package com.google.analytics.debug { import flash.events.*; import flash.display.*; import com.google.analytics.core.*; import flash.net.*; import com.google.analytics.*; public class Layout implements ILayout { private var _display:DisplayObject; private var _infoQueue:Array; private var _maxCharPerLine:int;// = 85 private var _hasInfo:Boolean; private var _warningQueue:Array; private var _hasDebug:Boolean; private var _hasWarning:Boolean; private var _mainPanel:Panel; private var _GRAlertQueue:Array; private var _debug:DebugConfiguration; public var visualDebug:Debug; private var _hasGRAlert:Boolean; public function Layout(_arg1:DebugConfiguration, _arg2:DisplayObject){ _display = _arg2; _debug = _arg1; _hasWarning = false; _hasInfo = false; _hasDebug = false; _hasGRAlert = false; _warningQueue = []; _infoQueue = []; _GRAlertQueue = []; } private function onKey(_arg1:KeyboardEvent=null):void{ switch (_arg1.keyCode){ case _debug.showHideKey: _mainPanel.visible = !(_mainPanel.visible); break; case _debug.destroyKey: destroy(); break; }; } public function createWarning(_arg1:String):void{ if (((_hasWarning) || (!(isAvailable())))){ _warningQueue.push(_arg1); return; }; _arg1 = _filterMaxChars(_arg1); _hasWarning = true; var _local2:Warning = new Warning(_arg1, _debug.warningTimeout); addToPanel("analytics", _local2); _local2.addEventListener(Event.REMOVED_FROM_STAGE, _clearWarning, false, 0, true); if (_hasDebug){ visualDebug.writeBold(_arg1); }; } public function bringToFront(_arg1:DisplayObject):void{ _display.stage.setChildIndex(_arg1, (_display.stage.numChildren - 1)); } public function createFailureAlert(_arg1:String):void{ var _local2:AlertAction; if (_debug.verbose){ _arg1 = _filterMaxChars(_arg1); _local2 = new AlertAction("Close", "close", "close"); } else { _local2 = new AlertAction("X", "close", "close"); }; var _local3:Alert = new FailureAlert(_debug, _arg1, [_local2]); addToPanel("analytics", _local3); if (_hasDebug){ if (_debug.verbose){ _arg1 = _arg1.split("\n").join(""); _arg1 = _filterMaxChars(_arg1, 66); }; visualDebug.writeBold(_arg1); }; } public function init():void{ var _local1 = 10; var _local2:uint = (_display.stage.stageWidth - (_local1 * 2)); var _local3:uint = (_display.stage.stageHeight - (_local1 * 2)); var _local4:Panel = new Panel("analytics", _local2, _local3); _local4.alignement = Align.top; _local4.stickToEdge = false; _local4.title = ("Google Analytics v" + GATracker.version); _mainPanel = _local4; addToStage(_local4); bringToFront(_local4); if (_debug.minimizedOnStart){ _mainPanel.onToggle(); }; createVisualDebug(); _display.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKey, false, 0, true); } public function addToPanel(_arg1:String, _arg2:DisplayObject):void{ var _local4:Panel; var _local3:DisplayObject = _display.stage.getChildByName(_arg1); if (_local3){ _local4 = (_local3 as Panel); _local4.addData(_arg2); } else { trace((("panel \"" + _arg1) + "\" not found")); }; } private function _clearInfo(_arg1:Event):void{ _hasInfo = false; if (_infoQueue.length > 0){ createInfo(_infoQueue.shift()); }; } private function _filterMaxChars(_arg1:String, _arg2:int=0):String{ var _local6:String; var _local3 = "\n"; var _local4:Array = []; var _local5:Array = _arg1.split(_local3); if (_arg2 == 0){ _arg2 = _maxCharPerLine; }; var _local7:int; while (_local7 < _local5.length) { _local6 = _local5[_local7]; while (_local6.length > _arg2) { _local4.push(_local6.substr(0, _arg2)); _local6 = _local6.substring(_arg2); }; _local4.push(_local6); _local7++; }; return (_local4.join(_local3)); } private function _clearGRAlert(_arg1:Event):void{ _hasGRAlert = false; if (_GRAlertQueue.length > 0){ createGIFRequestAlert.apply(this, _GRAlertQueue.shift()); }; } public function createSuccessAlert(_arg1:String):void{ var _local2:AlertAction; if (_debug.verbose){ _arg1 = _filterMaxChars(_arg1); _local2 = new AlertAction("Close", "close", "close"); } else { _local2 = new AlertAction("X", "close", "close"); }; var _local3:Alert = new SuccessAlert(_debug, _arg1, [_local2]); addToPanel("analytics", _local3); if (_hasDebug){ if (_debug.verbose){ _arg1 = _arg1.split("\n").join(""); _arg1 = _filterMaxChars(_arg1, 66); }; visualDebug.writeBold(_arg1); }; } public function isAvailable():Boolean{ return (!((_display.stage == null))); } public function createAlert(_arg1:String):void{ _arg1 = _filterMaxChars(_arg1); var _local2:Alert = new Alert(_arg1, [new AlertAction("Close", "close", "close")]); addToPanel("analytics", _local2); if (_hasDebug){ visualDebug.writeBold(_arg1); }; } public function createInfo(_arg1:String):void{ if (((_hasInfo) || (!(isAvailable())))){ _infoQueue.push(_arg1); return; }; _arg1 = _filterMaxChars(_arg1); _hasInfo = true; var _local2:Info = new Info(_arg1, _debug.infoTimeout); addToPanel("analytics", _local2); _local2.addEventListener(Event.REMOVED_FROM_STAGE, _clearInfo, false, 0, true); if (_hasDebug){ visualDebug.write(_arg1); }; } public function createGIFRequestAlert(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void{ var message = _arg1; var request = _arg2; var ref = _arg3; if (_hasGRAlert){ _GRAlertQueue.push([message, request, ref]); return; }; _hasGRAlert = true; var f:Function = function ():void{ ref.sendRequest(request); }; message = _filterMaxChars(message); var gra:GIFRequestAlert = new GIFRequestAlert(message, [new AlertAction("OK", "ok", f), new AlertAction("Cancel", "cancel", "close")]); addToPanel("analytics", gra); gra.addEventListener(Event.REMOVED_FROM_STAGE, _clearGRAlert, false, 0, true); if (_hasDebug){ if (_debug.verbose){ message = message.split("\n").join(""); message = _filterMaxChars(message, 66); }; visualDebug.write(message); }; } public function createVisualDebug():void{ if (!visualDebug){ visualDebug = new Debug(); visualDebug.alignement = Align.bottom; visualDebug.stickToEdge = true; addToPanel("analytics", visualDebug); _hasDebug = true; }; } public function addToStage(_arg1:DisplayObject):void{ _display.stage.addChild(_arg1); } private function _clearWarning(_arg1:Event):void{ _hasWarning = false; if (_warningQueue.length > 0){ createWarning(_warningQueue.shift()); }; } public function createPanel(_arg1:String, _arg2:uint, _arg3:uint):void{ var _local4:Panel = new Panel(_arg1, _arg2, _arg3); _local4.alignement = Align.center; _local4.stickToEdge = false; addToStage(_local4); bringToFront(_local4); } public function destroy():void{ _mainPanel.close(); _debug.layout = null; } } }//package com.google.analytics.debug
Section 165
//Margin (com.google.analytics.debug.Margin) package com.google.analytics.debug { public class Margin { public var top:int; public var left:int; public var bottom:int; public var right:int; public function Margin(_arg1:int=0, _arg2:int=0, _arg3:int=0, _arg4:int=0){ this.top = _arg1; this.bottom = _arg2; this.left = _arg3; this.right = _arg4; } } }//package com.google.analytics.debug
Section 166
//Panel (com.google.analytics.debug.Panel) package com.google.analytics.debug { import flash.events.*; import flash.display.*; public class Panel extends UISprite { private var _savedH:uint; private var _data:UISprite; private var _mask:Sprite; private var _background:Shape; private var _savedW:uint; private var _stickToEdge:Boolean; private var _border:Shape; private var _borderColor:uint; protected var baseAlpha:Number; private var _backgroundColor:uint; private var _title:Label; private var _colapsed:Boolean; private var _name:String; public function Panel(_arg1:String, _arg2:uint, _arg3:uint, _arg4:uint=0, _arg5:uint=0, _arg6:Number=0.3, _arg7:Align=null, _arg8:Boolean=false){ _name = _arg1; this.name = _arg1; this.mouseEnabled = false; _colapsed = false; forcedWidth = _arg2; forcedHeight = _arg3; this.baseAlpha = _arg6; _background = new Shape(); _data = new UISprite(); _data.forcedWidth = _arg2; _data.forcedHeight = _arg3; _data.mouseEnabled = false; _title = new Label(_arg1, "uiLabel", 0xFFFFFF, Align.topLeft, _arg8); _title.buttonMode = true; _title.margin.top = 0.6; _title.margin.left = 0.6; _title.addEventListener(MouseEvent.CLICK, onToggle); _title.mouseChildren = false; _border = new Shape(); _mask = new Sprite(); _mask.useHandCursor = false; _mask.mouseEnabled = false; _mask.mouseChildren = false; if (_arg7 == null){ _arg7 = Align.none; }; this.alignement = _arg7; this.stickToEdge = _arg8; if (_arg4 == 0){ _arg4 = Style.backgroundColor; }; _backgroundColor = _arg4; if (_arg5 == 0){ _arg5 = Style.borderColor; }; _borderColor = _arg5; } public function get stickToEdge():Boolean{ return (_stickToEdge); } public function onToggle(_arg1:MouseEvent=null):void{ if (_colapsed){ _data.visible = true; } else { _data.visible = false; }; _colapsed = !(_colapsed); _update(); resize(); } public function set stickToEdge(_arg1:Boolean):void{ _stickToEdge = _arg1; _title.stickToEdge = _arg1; } override protected function dispose():void{ _title.removeEventListener(MouseEvent.CLICK, onToggle); super.dispose(); } private function _draw():void{ var _local1:uint; var _local2:uint; if (((_savedW) && (_savedH))){ forcedWidth = _savedW; forcedHeight = _savedH; }; if (!_colapsed){ _local1 = forcedWidth; _local2 = forcedHeight; } else { _local1 = _title.width; _local2 = _title.height; _savedW = forcedWidth; _savedH = forcedHeight; forcedWidth = _local1; forcedHeight = _local2; }; var _local3:Graphics = _background.graphics; _local3.clear(); _local3.beginFill(_backgroundColor); Background.drawRounded(this, _local3, _local1, _local2); _local3.endFill(); var _local4:Graphics = _data.graphics; _local4.clear(); _local4.beginFill(_backgroundColor, 0); Background.drawRounded(this, _local4, _local1, _local2); _local4.endFill(); var _local5:Graphics = _border.graphics; _local5.clear(); _local5.lineStyle(0.1, _borderColor); Background.drawRounded(this, _local5, _local1, _local2); _local5.endFill(); var _local6:Graphics = _mask.graphics; _local6.clear(); _local6.beginFill(_backgroundColor); Background.drawRounded(this, _local6, (_local1 + 1), (_local2 + 1)); _local6.endFill(); } public function get title():String{ return (_title.text); } private function _update():void{ _draw(); if (baseAlpha < 1){ _background.alpha = baseAlpha; _border.alpha = baseAlpha; }; } public function addData(_arg1:DisplayObject):void{ _data.addChild(_arg1); } override protected function layout():void{ _update(); addChild(_background); addChild(_data); addChild(_title); addChild(_border); addChild(_mask); mask = _mask; } public function set title(_arg1:String):void{ _title.text = _arg1; } public function close():void{ dispose(); if (parent != null){ parent.removeChild(this); }; } } }//package com.google.analytics.debug
Section 167
//Style (com.google.analytics.debug.Style) package com.google.analytics.debug { public const Style:_Style = new _Style(); }//package com.google.analytics.debug
Section 168
//SuccessAlert (com.google.analytics.debug.SuccessAlert) package com.google.analytics.debug { public class SuccessAlert extends Alert { public function SuccessAlert(_arg1:DebugConfiguration, _arg2:String, _arg3:Array){ var _local4:Align = Align.bottomLeft; var _local5:Boolean; var _local6:Boolean; if (_arg1.verbose){ _arg2 = ((("<u><span class=\"uiAlertTitle\">Success</span>" + spaces(18)) + "</u>\n\n") + _arg2); _local4 = Align.center; _local5 = false; _local6 = true; }; super(_arg2, _arg3, "uiSuccess", Style.successColor, _local4, _local5, _local6); } } }//package com.google.analytics.debug
Section 169
//UISprite (com.google.analytics.debug.UISprite) package com.google.analytics.debug { import flash.events.*; import flash.display.*; public class UISprite extends Sprite { private var _forcedWidth:uint; public var margin:Margin; protected var alignTarget:DisplayObject; protected var listenResize:Boolean; public var alignement:Align; private var _forcedHeight:uint; public function UISprite(_arg1:DisplayObject=null){ listenResize = false; alignement = Align.none; this.alignTarget = _arg1; margin = new Margin(); addEventListener(Event.ADDED_TO_STAGE, _onAddedToStage); addEventListener(Event.REMOVED_FROM_STAGE, _onRemovedFromStage); } public function get forcedHeight():uint{ if (_forcedHeight){ return (_forcedHeight); }; return (height); } private function _onAddedToStage(_arg1:Event):void{ layout(); resize(); } protected function dispose():void{ var _local1:DisplayObject; var _local2:int; while (_local2 < numChildren) { _local1 = getChildAt(_local2); if (_local1){ removeChild(_local1); }; _local2++; }; } public function set forcedHeight(_arg1:uint):void{ _forcedHeight = _arg1; } public function set forcedWidth(_arg1:uint):void{ _forcedWidth = _arg1; } protected function layout():void{ } public function get forcedWidth():uint{ if (_forcedWidth){ return (_forcedWidth); }; return (width); } public function alignTo(_arg1:Align, _arg2:DisplayObject=null):void{ var _local3:uint; var _local4:uint; var _local5:uint; var _local6:uint; var _local7:UISprite; if (_arg2 == null){ if ((parent is Stage)){ _arg2 = this.stage; } else { _arg2 = parent; }; }; if (_arg2 == this.stage){ if (this.stage == null){ return; }; _local3 = this.stage.stageHeight; _local4 = this.stage.stageWidth; _local5 = 0; _local6 = 0; } else { _local7 = (_arg2 as UISprite); if (_local7.forcedHeight){ _local3 = _local7.forcedHeight; } else { _local3 = _local7.height; }; if (_local7.forcedWidth){ _local4 = _local7.forcedWidth; } else { _local4 = _local7.width; }; _local5 = 0; _local6 = 0; }; switch (_arg1){ case Align.top: x = ((_local4 / 2) - (forcedWidth / 2)); y = (_local6 + margin.top); break; case Align.bottom: x = ((_local4 / 2) - (forcedWidth / 2)); y = (((_local6 + _local3) - forcedHeight) - margin.bottom); break; case Align.left: x = (_local5 + margin.left); y = ((_local3 / 2) - (forcedHeight / 2)); break; case Align.right: x = (((_local5 + _local4) - forcedWidth) - margin.right); y = ((_local3 / 2) - (forcedHeight / 2)); break; case Align.center: x = ((_local4 / 2) - (forcedWidth / 2)); y = ((_local3 / 2) - (forcedHeight / 2)); break; case Align.topLeft: x = (_local5 + margin.left); y = (_local6 + margin.top); break; case Align.topRight: x = (((_local5 + _local4) - forcedWidth) - margin.right); y = (_local6 + margin.top); break; case Align.bottomLeft: x = (_local5 + margin.left); y = (((_local6 + _local3) - forcedHeight) - margin.bottom); break; case Align.bottomRight: x = (((_local5 + _local4) - forcedWidth) - margin.right); y = (((_local6 + _local3) - forcedHeight) - margin.bottom); break; }; if (((!(listenResize)) && (!((_arg1 == Align.none))))){ _arg2.addEventListener(Event.RESIZE, onResize, false, 0, true); listenResize = true; }; this.alignement = _arg1; this.alignTarget = _arg2; } private function _onRemovedFromStage(_arg1:Event):void{ removeEventListener(Event.ADDED_TO_STAGE, _onAddedToStage); removeEventListener(Event.REMOVED_FROM_STAGE, _onRemovedFromStage); dispose(); } public function resize():void{ if (alignement != Align.none){ alignTo(alignement, alignTarget); }; } protected function onResize(_arg1:Event):void{ resize(); } } }//package com.google.analytics.debug
Section 170
//Warning (com.google.analytics.debug.Warning) package com.google.analytics.debug { import flash.events.*; import flash.utils.*; public class Warning extends Label { private var _timer:Timer; public function Warning(_arg1:String="", _arg2:uint=3000){ super(_arg1, "uiWarning", Style.warningColor, Align.top, false); margin.top = 32; if (_arg2 > 0){ _timer = new Timer(_arg2, 1); _timer.start(); _timer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete, false, 0, true); }; } public function close():void{ if (parent != null){ parent.removeChild(this); }; } override public function onLink(_arg1:TextEvent):void{ switch (_arg1.text){ case "hide": close(); break; }; } public function onComplete(_arg1:TimerEvent):void{ close(); } } }//package com.google.analytics.debug
Section 171
//VisualDebugMode (com.google.analytics.debug.VisualDebugMode) package com.google.analytics.debug { public class VisualDebugMode { private var _value:int; private var _name:String; public static const advanced:VisualDebugMode = new VisualDebugMode(1, "advanced"); ; public static const geek:VisualDebugMode = new VisualDebugMode(2, "geek"); ; public static const basic:VisualDebugMode = new VisualDebugMode(0, "basic"); ; public function VisualDebugMode(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.debug
Section 172
//Item (com.google.analytics.ecommerce.Item) package com.google.analytics.ecommerce { import com.google.analytics.utils.*; public class Item { private var _price:String; private var _id:String; private var _sku:String; private var _category:String; private var _quantity:String; private var _name:String; public function Item(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:String, _arg6:String){ this._id = _arg1; this._sku = _arg2; this._name = _arg3; this._category = _arg4; this._price = _arg5; this._quantity = _arg6; } public function set sku(_arg1:String):void{ _sku = _arg1; } public function get price():String{ return (_price); } public function get name():String{ return (_name); } public function get quantity():String{ return (_quantity); } public function set name(_arg1:String):void{ _name = _arg1; } public function set price(_arg1:String):void{ _price = _arg1; } public function get id():String{ return (_id); } public function get sku():String{ return (_sku); } public function set quantity(_arg1:String):void{ _quantity = _arg1; } public function toGifParams():Variables{ var _local1:Variables = new Variables(); _local1.URIencode = true; _local1.post = ["utmt", "utmtid", "utmipc", "utmipn", "utmiva", "utmipr", "utmiqt"]; _local1.utmt = "item"; _local1.utmtid = _id; _local1.utmipc = _sku; _local1.utmipn = _name; _local1.utmiva = _category; _local1.utmipr = _price; _local1.utmiqt = _quantity; return (_local1); } public function set id(_arg1:String):void{ _id = _arg1; } public function set category(_arg1:String):void{ _category = _arg1; } public function get category():String{ return (_category); } } }//package com.google.analytics.ecommerce
Section 173
//Transaction (com.google.analytics.ecommerce.Transaction) package com.google.analytics.ecommerce { import com.google.analytics.utils.*; public class Transaction { private var _items:Array; private var _total:String; private var _vars:Variables; private var _shipping:String; private var _city:String; private var _state:String; private var _country:String; private var _tax:String; private var _affiliation:String; private var _id:String; public function Transaction(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:String, _arg6:String, _arg7:String, _arg8:String){ this._id = _arg1; this._affiliation = _arg2; this._total = _arg3; this._tax = _arg4; this._shipping = _arg5; this._city = _arg6; this._state = _arg7; this._country = _arg8; _items = new Array(); } public function get total():String{ return (_total); } public function getItemFromArray(_arg1:Number):Item{ return (_items[_arg1]); } public function set total(_arg1:String):void{ _total = _arg1; } public function getItem(_arg1:String):Item{ var _local2:Number; _local2 = 0; while (_local2 < _items.length) { if (_items[_local2].sku == _arg1){ return (_items[_local2]); }; _local2++; }; return (null); } public function getItemsLength():Number{ return (_items.length); } public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:String):void{ var _local6:Item; _local6 = getItem(_arg1); if (_local6 == null){ _local6 = new Item(_id, _arg1, _arg2, _arg3, _arg4, _arg5); _items.push(_local6); } else { _local6.name = _arg2; _local6.category = _arg3; _local6.price = _arg4; _local6.quantity = _arg5; }; } public function set shipping(_arg1:String):void{ _shipping = _arg1; } public function get country():String{ return (_country); } public function get state():String{ return (_state); } public function set tax(_arg1:String):void{ _tax = _arg1; } public function set affiliation(_arg1:String):void{ _affiliation = _arg1; } public function set state(_arg1:String):void{ _state = _arg1; } public function get id():String{ return (_id); } public function get tax():String{ return (_tax); } public function toGifParams():Variables{ var _local1:Variables = new Variables(); _local1.URIencode = true; _local1.utmt = "tran"; _local1.utmtid = id; _local1.utmtst = affiliation; _local1.utmtto = total; _local1.utmttx = tax; _local1.utmtsp = shipping; _local1.utmtci = city; _local1.utmtrg = state; _local1.utmtco = country; _local1.post = ["utmtid", "utmtst", "utmtto", "utmttx", "utmtsp", "utmtci", "utmtrg", "utmtco"]; return (_local1); } public function get affiliation():String{ return (_affiliation); } public function get city():String{ return (_city); } public function get shipping():String{ return (_shipping); } public function set id(_arg1:String):void{ _id = _arg1; } public function set city(_arg1:String):void{ _city = _arg1; } public function set country(_arg1:String):void{ _country = _arg1; } } }//package com.google.analytics.ecommerce
Section 174
//AnalyticsEvent (com.google.analytics.events.AnalyticsEvent) package com.google.analytics.events { import flash.events.*; import com.google.analytics.*; public class AnalyticsEvent extends Event { public var tracker:AnalyticsTracker; public static const READY:String = "ready"; public function AnalyticsEvent(_arg1:String, _arg2:AnalyticsTracker, _arg3:Boolean=false, _arg4:Boolean=false){ super(_arg1, _arg3, _arg4); this.tracker = _arg2; } override public function clone():Event{ return (new AnalyticsEvent(type, tracker, bubbles, cancelable)); } } }//package com.google.analytics.events
Section 175
//AdSenseGlobals (com.google.analytics.external.AdSenseGlobals) package com.google.analytics.external { import com.google.analytics.debug.*; public class AdSenseGlobals extends JavascriptProxy { private var _gaGlobalVerified:Boolean;// = false public static var gaGlobal_js:XML = <script> <![CDATA[ function() { try { gaGlobal } catch(e) { gaGlobal = {} ; } } ]]> </script> ; public function AdSenseGlobals(_arg1:DebugConfiguration){ super(_arg1); } public function set vid(_arg1:String):void{ if (!isAvailable()){ return; }; _verify(); setProperty("gaGlobal.vid", _arg1); } public function get hid():String{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal.hid")); } public function set hid(_arg1:String):void{ if (!isAvailable()){ return; }; _verify(); setProperty("gaGlobal.hid", _arg1); } public function get dh():String{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal.dh")); } public function get sid():String{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal.sid")); } public function get vid():String{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal.vid")); } private function _verify():void{ if (!_gaGlobalVerified){ executeBlock(gaGlobal_js); _gaGlobalVerified = true; }; } public function set sid(_arg1:String):void{ if (!isAvailable()){ return; }; _verify(); setProperty("gaGlobal.sid", _arg1); } public function get gaGlobal():Object{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal")); } } }//package com.google.analytics.external
Section 176
//HTMLDOM (com.google.analytics.external.HTMLDOM) package com.google.analytics.external { import com.google.analytics.debug.*; public class HTMLDOM extends JavascriptProxy { private var _referrer:String; private var _language:String; private var _host:String; private var _pathname:String; private var _location:String; private var _search:String; private var _characterSet:String; private var _title:String; private var _protocol:String; private var _colorDepth:String; public static var cache_properties_js:XML = <script> <![CDATA[ function() { var obj = {}; obj.host = document.location.host; obj.language = navigator.language ? navigator.language : navigator.browserLanguage; obj.characterSet = document.characterSet ? document.characterSet : document.charset; obj.colorDepth = window.screen.colorDepth; obj.location = document.location.toString(); obj.pathname = document.location.pathname; obj.protocol = document.location.protocol; obj.search = document.location.search; obj.referrer = document.referrer; obj.title = document.title; return obj; } ]]> </script> ; public function HTMLDOM(_arg1:DebugConfiguration){ super(_arg1); } public function get search():String{ if (_search){ return (_search); }; if (!isAvailable()){ return (null); }; _search = getProperty("document.location.search"); return (_search); } public function get location():String{ if (_location){ return (_location); }; if (!isAvailable()){ return (null); }; _location = getPropertyString("document.location"); return (_location); } public function get pathname():String{ if (_pathname){ return (_pathname); }; if (!isAvailable()){ return (null); }; _pathname = getProperty("document.location.pathname"); return (_pathname); } public function cacheProperties():void{ if (!isAvailable()){ return; }; var _local1:Object = call(cache_properties_js); if (_local1){ _host = _local1.host; _language = _local1.language; _characterSet = _local1.characterSet; _colorDepth = _local1.colorDepth; _location = _local1.location; _pathname = _local1.pathname; _protocol = _local1.protocol; _search = _local1.search; _referrer = _local1.referrer; _title = _local1.title; }; } public function get language():String{ if (_language){ return (_language); }; if (!isAvailable()){ return (null); }; var _local1:String = getProperty("navigator.language"); if (_local1 == null){ _local1 = getProperty("navigator.browserLanguage"); }; _language = _local1; return (_language); } public function get colorDepth():String{ if (_colorDepth){ return (_colorDepth); }; if (!isAvailable()){ return (null); }; _colorDepth = getProperty("window.screen.colorDepth"); return (_colorDepth); } public function get referrer():String{ if (_referrer){ return (_referrer); }; if (!isAvailable()){ return (null); }; _referrer = getProperty("document.referrer"); return (_referrer); } public function get protocol():String{ if (_protocol){ return (_protocol); }; if (!isAvailable()){ return (null); }; _protocol = getProperty("document.location.protocol"); return (_protocol); } public function get host():String{ if (_host){ return (_host); }; if (!isAvailable()){ return (null); }; _host = getProperty("document.location.host"); return (_host); } public function get characterSet():String{ if (_characterSet){ return (_characterSet); }; if (!isAvailable()){ return (null); }; var _local1:String = getProperty("document.characterSet"); if (_local1 == null){ _local1 = getProperty("document.charset"); }; _characterSet = _local1; return (_characterSet); } public function get title():String{ if (_title){ return (_title); }; if (!isAvailable()){ return (null); }; _title = getProperty("document.title"); return (_title); } } }//package com.google.analytics.external
Section 177
//JavascriptProxy (com.google.analytics.external.JavascriptProxy) package com.google.analytics.external { import com.google.analytics.debug.*; import flash.system.*; import flash.external.*; public class JavascriptProxy { private var _notAvailableWarning:Boolean;// = true private var _debug:DebugConfiguration; public static var setProperty_js:XML = <script> <![CDATA[ function( path , value ) { var paths; var prop; if( path.indexOf(".") > 0 ) { paths = path.split("."); prop = paths.pop() ; } else { paths = []; prop = path; } var target = window ; var len = paths.length ; for( var i = 0 ; i < len ; i++ ) { target = target[ paths[i] ] ; } target[ prop ] = value ; } ]]> </script> ; public static var hasProperty_js:XML = <script> <![CDATA[ function( path ) { var paths; if( path.indexOf(".") > 0 ) { paths = path.split("."); } else { paths = [path]; } var target = window ; var len = paths.length ; for( var i = 0 ; i < len ; i++ ) { target = target[ paths[i] ] ; } if( target ) { return true; } else { return false; } } ]]> </script> ; public static var setPropertyRef_js:XML = <script> <![CDATA[ function( path , target ) { var paths; var prop; if( path.indexOf(".") > 0 ) { paths = path.split("."); prop = paths.pop() ; } else { paths = []; prop = path; } alert( "paths:"+paths.length+", prop:"+prop ); var targets; var name; if( target.indexOf(".") > 0 ) { targets = target.split("."); name = targets.pop(); } else { targets = []; name = target; } alert( "targets:"+targets.length+", name:"+name ); var root = window; var len = paths.length; for( var i = 0 ; i < len ; i++ ) { root = root[ paths[i] ] ; } var ref = window; var depth = targets.length; for( var j = 0 ; j < depth ; j++ ) { ref = ref[ targets[j] ] ; } root[ prop ] = ref[name] ; } ]]> </script> ; public function JavascriptProxy(_arg1:DebugConfiguration){ _debug = _arg1; } public function getProperty(_arg1:String){ return (call((_arg1 + ".valueOf"))); } public function hasProperty(_arg1:String):Boolean{ return (call(hasProperty_js, _arg1)); } public function setProperty(_arg1:String, _arg2):void{ call(setProperty_js, _arg1, _arg2); } public function executeBlock(_arg1:String):void{ var data = _arg1; if (isAvailable()){ try { ExternalInterface.call(data); } catch(e:SecurityError) { if (_debug.javascript){ _debug.warning("ExternalInterface is not allowed.\nEnsure that allowScriptAccess is set to \"always\" in the Flash embed HTML."); }; } catch(e:Error) { if (_debug.javascript){ _debug.warning(("ExternalInterface failed to make the call\nreason: " + e.message)); }; }; }; } public function getPropertyString(_arg1:String):String{ return (call((_arg1 + ".toString"))); } public function setPropertyByReference(_arg1:String, _arg2:String):void{ call(setPropertyRef_js, _arg1, _arg2); } public function call(_arg1:String, ... _args){ var output:String; var functionName = _arg1; var args = _args; if (isAvailable()){ try { if (((_debug.javascript) && (_debug.verbose))){ output = ""; output = ("Flash->JS: " + functionName); output = (output + "( "); if (args.length > 0){ output = (output + args.join(",")); }; output = (output + " )"); _debug.info(output); }; args.unshift(functionName); return (ExternalInterface.call.apply(ExternalInterface, args)); } catch(e:SecurityError) { if (_debug.javascript){ _debug.warning("ExternalInterface is not allowed.\nEnsure that allowScriptAccess is set to \"always\" in the Flash embed HTML."); }; } catch(e:Error) { if (_debug.javascript){ _debug.warning(("ExternalInterface failed to make the call\nreason: " + e.message)); }; }; }; return (null); } public function isAvailable():Boolean{ var _local1:Boolean = ExternalInterface.available; if (((_local1) && ((Capabilities.playerType == "External")))){ _local1 = false; }; if (((((!(_local1)) && (_debug.javascript))) && (_notAvailableWarning))){ _debug.warning("ExternalInterface is not available."); _notAvailableWarning = false; }; return (_local1); } } }//package com.google.analytics.external
Section 178
//Environment (com.google.analytics.utils.Environment) package com.google.analytics.utils { import com.google.analytics.debug.*; import flash.system.*; import com.google.analytics.external.*; public class Environment { private var _dom:HTMLDOM; private var _appName:String; private var _debug:DebugConfiguration; private var _appVersion:Version; private var _url:String; private var _protocol:Protocols; private var _userAgent:UserAgent; public function Environment(_arg1:String="", _arg2:String="", _arg3:String="", _arg4:DebugConfiguration=null, _arg5:HTMLDOM=null){ var _local6:Version; super(); if (_arg2 == ""){ if (isAIR()){ _arg2 = "AIR"; } else { _arg2 = "Flash"; }; }; if (_arg3 == ""){ _local6 = flashVersion; } else { _local6 = Version.fromString(_arg3); }; _url = _arg1; _appName = _arg2; _appVersion = _local6; _debug = _arg4; _dom = _arg5; } public function isAIR():Boolean{ return ((((playerType == "Desktop")) && ((Security.sandboxType.toString() == "application")))); } public function get screenWidth():Number{ return (Capabilities.screenResolutionX); } public function get playerType():String{ return (Capabilities.playerType); } public function get locationSearch():String{ var _local1:String = _dom.search; if (_local1){ return (_local1); }; return (""); } public function get protocol():Protocols{ if (!_protocol){ _findProtocol(); }; return (_protocol); } public function get flashVersion():Version{ var _local1:Version = Version.fromString(Capabilities.version.split(" ")[1], ","); return (_local1); } public function get userAgent():UserAgent{ if (!_userAgent){ _userAgent = new UserAgent(this, appName, appVersion.toString(4)); }; return (_userAgent); } public function get languageEncoding():String{ var _local1:String; if (System.useCodePage){ _local1 = _dom.characterSet; if (_local1){ return (_local1); }; return ("-"); }; return ("UTF-8"); } public function get appName():String{ return (_appName); } public function get screenColorDepth():String{ var _local1:String; switch (Capabilities.screenColor){ case "bw": _local1 = "1"; break; case "gray": _local1 = "2"; break; case "color": default: _local1 = "24"; }; var _local2:String = _dom.colorDepth; if (_local2){ _local1 = _local2; }; return (_local1); } private function _findProtocol():void{ var _local4:String; var _local5:String; var _local1:Protocols = Protocols.none; if (_url != ""){ _local4 = _url.toLowerCase(); _local5 = _local4.substr(0, 5); switch (_local5){ case "file:": _local1 = Protocols.file; break; case "http:": _local1 = Protocols.HTTP; break; case "https": if (_local4.charAt(5) == ":"){ _local1 = Protocols.HTTPS; }; break; default: _protocol = Protocols.none; }; }; var _local2:String = _dom.protocol; var _local3:String = (_local1.toString() + ":").toLowerCase(); if (((((_local2) && (!((_local2 == _local3))))) && (_debug))){ _debug.warning(((("Protocol mismatch: SWF=" + _local3) + ", DOM=") + _local2)); }; _protocol = _local1; } public function get locationSWFPath():String{ return (_url); } public function get platform():String{ var _local1:String = Capabilities.manufacturer; return (_local1.split("Adobe ")[1]); } public function get operatingSystem():String{ return (Capabilities.os); } public function set appName(_arg1:String):void{ _appName = _arg1; userAgent.applicationProduct = _arg1; } function set url(_arg1:String):void{ _url = _arg1; } public function get referrer():String{ var _local1:String = _dom.referrer; if (_local1){ return (_local1); }; if (protocol == Protocols.file){ return ("localhost"); }; return (""); } public function isInHTML():Boolean{ return ((Capabilities.playerType == "PlugIn")); } public function get language():String{ var _local1:String = _dom.language; var _local2:String = Capabilities.language; if (_local1){ if ((((_local1.length > _local2.length)) && ((_local1.substr(0, _local2.length) == _local2)))){ _local2 = _local1; }; }; return (_local2); } public function get domainName():String{ var _local1:String; var _local2:String; var _local3:int; if ((((protocol == Protocols.HTTP)) || ((protocol == Protocols.HTTPS)))){ _local1 = _url.toLowerCase(); if (protocol == Protocols.HTTP){ _local2 = _local1.split("http://").join(""); } else { if (protocol == Protocols.HTTPS){ _local2 = _local1.split("https://").join(""); }; }; _local3 = _local2.indexOf("/"); if (_local3 > -1){ _local2 = _local2.substring(0, _local3); }; return (_local2); }; if (protocol == Protocols.file){ return ("localhost"); }; return (""); } public function set userAgent(_arg1:UserAgent):void{ _userAgent = _arg1; } public function set appVersion(_arg1:Version):void{ _appVersion = _arg1; userAgent.applicationVersion = _arg1.toString(4); } public function get screenHeight():Number{ return (Capabilities.screenResolutionY); } public function get locationPath():String{ var _local1:String = _dom.pathname; if (_local1){ return (_local1); }; return (""); } public function get documentTitle():String{ var _local1:String = _dom.title; if (_local1){ return (_local1); }; return (""); } public function get appVersion():Version{ return (_appVersion); } } }//package com.google.analytics.utils
Section 179
//Protocols (com.google.analytics.utils.Protocols) package com.google.analytics.utils { public class Protocols { private var _value:int; private var _name:String; public static const none:Protocols = new Protocols(0, "none"); ; public static const HTTPS:Protocols = new Protocols(3, "HTTPS"); ; public static const file:Protocols = new Protocols(1, "file"); ; public static const HTTP:Protocols = new Protocols(2, "HTTP"); ; public function Protocols(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.utils
Section 180
//Timespan (com.google.analytics.utils.Timespan) package com.google.analytics.utils { public class Timespan { public static var sixmonths:Number = 15768000; public static var twoyears:Number = 63072000; public static var thirtyminutes:Number = 1800; } }//package com.google.analytics.utils
Section 181
//URL (com.google.analytics.utils.URL) package com.google.analytics.utils { public class URL { private var _url:String; public function URL(_arg1:String=""){ _url = _arg1.toLowerCase(); } public function get domain():String{ var _local1:Array; if (((!((hostName == ""))) && ((hostName.indexOf(".") > -1)))){ _local1 = hostName.split("."); switch (_local1.length){ case 2: return (hostName); case 3: if (_local1[1] == "co"){ return (hostName); }; _local1.shift(); return (_local1.join(".")); case 4: _local1.shift(); return (_local1.join(".")); }; }; return (""); } public function get path():String{ var _local1:String = _url; if (_local1.indexOf("://") > -1){ _local1 = _local1.split("://")[1]; }; if (_local1.indexOf(hostName) == 0){ _local1 = _local1.substr(hostName.length); }; if (_local1.indexOf("?") > -1){ _local1 = _local1.split("?")[0]; }; if (_local1.charAt(0) != "/"){ _local1 = ("/" + _local1); }; return (_local1); } public function get protocol():Protocols{ var _local1:String = _url.split("://")[0]; switch (_local1){ case "file": return (Protocols.file); case "http": return (Protocols.HTTP); case "https": return (Protocols.HTTPS); default: return (Protocols.none); }; } public function get hostName():String{ var _local1:String = _url; if (_local1.indexOf("://") > -1){ _local1 = _local1.split("://")[1]; }; if (_local1.indexOf("/") > -1){ _local1 = _local1.split("/")[0]; }; if (_local1.indexOf("?") > -1){ _local1 = _local1.split("?")[0]; }; if ((((protocol == Protocols.file)) || ((protocol == Protocols.none)))){ return (""); }; return (_local1); } public function get subDomain():String{ if (((!((domain == ""))) && (!((domain == hostName))))){ return (hostName.split(("." + domain)).join("")); }; return (""); } public function get search():String{ var _local1:String = _url; if (_local1.indexOf("://") > -1){ _local1 = _local1.split("://")[1]; }; if (_local1.indexOf(hostName) == 0){ _local1 = _local1.substr(hostName.length); }; if (_local1.indexOf("?") > -1){ _local1 = _local1.split("?")[1]; } else { _local1 = ""; }; return (_local1); } } }//package com.google.analytics.utils
Section 182
//UserAgent (com.google.analytics.utils.UserAgent) package com.google.analytics.utils { import com.google.analytics.core.*; import flash.system.*; public class UserAgent { private var _localInfo:Environment; private var _applicationProduct:String; private var _version:Version; public static var minimal:Boolean = false; public function UserAgent(_arg1:Environment, _arg2:String="", _arg3:String=""){ _localInfo = _arg1; applicationProduct = _arg2; _version = Version.fromString(_arg3); } public function get tamarinProductToken():String{ if (UserAgent.minimal){ return (""); }; if (System.vmVersion){ return (("Tamarin/" + Utils.trim(System.vmVersion, true))); }; return (""); } public function get applicationVersion():String{ return (_version.toString(2)); } public function get vendorProductToken():String{ var _local1 = ""; if (_localInfo.isAIR()){ _local1 = (_local1 + "AIR"); } else { _local1 = (_local1 + "FlashPlayer"); }; _local1 = (_local1 + "/"); _local1 = (_local1 + _version.toString(3)); return (_local1); } public function toString():String{ var _local1 = ""; _local1 = (_local1 + applicationProductToken); if (applicationComment != ""){ _local1 = (_local1 + (" " + applicationComment)); }; if (tamarinProductToken != ""){ _local1 = (_local1 + (" " + tamarinProductToken)); }; if (vendorProductToken != ""){ _local1 = (_local1 + (" " + vendorProductToken)); }; return (_local1); } public function get applicationComment():String{ var _local1:Array = []; _local1.push(_localInfo.platform); _local1.push(_localInfo.playerType); if (!UserAgent.minimal){ _local1.push(_localInfo.operatingSystem); _local1.push(_localInfo.language); }; if (Capabilities.isDebugger){ _local1.push("DEBUG"); }; if (_local1.length > 0){ return ((("(" + _local1.join("; ")) + ")")); }; return (""); } public function set applicationVersion(_arg1:String):void{ _version = Version.fromString(_arg1); } public function get applicationProductToken():String{ var _local1:String = applicationProduct; if (applicationVersion != ""){ _local1 = (_local1 + ("/" + applicationVersion)); }; return (_local1); } public function set applicationProduct(_arg1:String):void{ _applicationProduct = _arg1; } public function get applicationProduct():String{ return (_applicationProduct); } } }//package com.google.analytics.utils
Section 183
//Variables (com.google.analytics.utils.Variables) package com.google.analytics.utils { import flash.net.*; public dynamic class Variables { public var post:Array; public var URIencode:Boolean; public var pre:Array; public var sort:Boolean;// = true public function Variables(_arg1:String=null, _arg2:Array=null, _arg3:Array=null){ pre = []; post = []; super(); if (_arg1){ decode(_arg1); }; if (_arg2){ this.pre = _arg2; }; if (_arg3){ this.post = _arg3; }; } private function _join(_arg1:Variables):void{ var _local2:String; if (!_arg1){ return; }; for (_local2 in _arg1) { this[_local2] = _arg1[_local2]; }; } public function join(... _args):void{ var _local2:int = _args.length; var _local3:int; while (_local3 < _local2) { if (!(_args[_local3] is Variables)){ } else { _join(_args[_local3]); }; _local3++; }; } public function toString():String{ var _local2:String; var _local3:String; var _local4:String; var _local5:int; var _local6:int; var _local7:String; var _local8:String; var _local1:Array = []; for (_local3 in this) { _local2 = this[_local3]; if (URIencode){ _local2 = encodeURI(_local2); }; _local1.push(((_local3 + "=") + _local2)); }; if (sort){ _local1.sort(); }; if (pre.length > 0){ pre.reverse(); _local5 = 0; while (_local5 < pre.length) { _local7 = pre[_local5]; _local6 = 0; while (_local6 < _local1.length) { _local4 = _local1[_local6]; if (_local4.indexOf(_local7) == 0){ _local1.unshift(_local1.splice(_local6, 1)[0]); }; _local6++; }; _local5++; }; pre.reverse(); }; if (post.length > 0){ _local5 = 0; while (_local5 < post.length) { _local8 = post[_local5]; _local6 = 0; while (_local6 < _local1.length) { _local4 = _local1[_local6]; if (_local4.indexOf(_local8) == 0){ _local1.push(_local1.splice(_local6, 1)[0]); }; _local6++; }; _local5++; }; }; return (_local1.join("&")); } public function decode(_arg1:String):void{ var _local2:Array; var _local3:String; var _local4:String; var _local5:String; var _local6:Array; if (_arg1 == ""){ return; }; if (_arg1.charAt(0) == "?"){ _arg1 = _arg1.substr(1, _arg1.length); }; if (_arg1.indexOf("&") > -1){ _local2 = _arg1.split("&"); } else { _local2 = [_arg1]; }; var _local7:int; while (_local7 < _local2.length) { _local3 = _local2[_local7]; if (_local3.indexOf("=") > -1){ _local6 = _local3.split("="); _local4 = _local6[0]; _local5 = decodeURI(_local6[1]); this[_local4] = _local5; }; _local7++; }; } public function toURLVariables():URLVariables{ var _local2:String; var _local1:URLVariables = new URLVariables(); for (_local2 in this) { _local1[_local2] = this[_local2]; }; return (_local1); } } }//package com.google.analytics.utils
Section 184
//Version (com.google.analytics.utils.Version) package com.google.analytics.utils { public class Version { private var _revision:uint; private var _maxBuild:uint;// = 0xFF private var _maxMinor:uint;// = 15 private var _maxMajor:uint;// = 15 private var _separator:String;// = "." private var _maxRevision:uint;// = 0xFFFF private var _build:uint; private var _major:uint; private var _minor:uint; public function Version(_arg1:uint=0, _arg2:uint=0, _arg3:uint=0, _arg4:uint=0){ var _local5:Version; super(); if ((((((((_arg1 > _maxMajor)) && ((_arg2 == 0)))) && ((_arg3 == 0)))) && ((_arg4 == 0)))){ _local5 = Version.fromNumber(_arg1); _arg1 = _local5.major; _arg2 = _local5.minor; _arg3 = _local5.build; _arg4 = _local5.revision; }; this.major = _arg1; this.minor = _arg2; this.build = _arg3; this.revision = _arg4; } public function toString(_arg1:int=0):String{ var _local2:Array; if ((((_arg1 <= 0)) || ((_arg1 > 4)))){ _arg1 = getFields(); }; switch (_arg1){ case 1: _local2 = [major]; break; case 2: _local2 = [major, minor]; break; case 3: _local2 = [major, minor, build]; break; case 4: default: _local2 = [major, minor, build, revision]; }; return (_local2.join(_separator)); } public function set revision(_arg1:uint):void{ _revision = Math.min(_arg1, _maxRevision); } public function get revision():uint{ return (_revision); } public function set build(_arg1:uint):void{ _build = Math.min(_arg1, _maxBuild); } public function set minor(_arg1:uint):void{ _minor = Math.min(_arg1, _maxMinor); } public function get build():uint{ return (_build); } public function set major(_arg1:uint):void{ _major = Math.min(_arg1, _maxMajor); } public function get minor():uint{ return (_minor); } private function getFields():int{ var _local1 = 4; if (revision == 0){ _local1--; }; if ((((_local1 == 3)) && ((build == 0)))){ _local1--; }; if ((((_local1 == 2)) && ((minor == 0)))){ _local1--; }; return (_local1); } public function valueOf():uint{ return (((((major << 28) | (minor << 24)) | (build << 16)) | revision)); } public function get major():uint{ return (_major); } public function equals(_arg1):Boolean{ if (!(_arg1 is Version)){ return (false); }; if ((((((((_arg1.major == major)) && ((_arg1.minor == minor)))) && ((_arg1.build == build)))) && ((_arg1.revision == revision)))){ return (true); }; return (false); } public static function fromString(_arg1:String="", _arg2:String="."):Version{ var _local4:Array; var _local3:Version = new (Version); if ((((_arg1 == "")) || ((_arg1 == null)))){ return (_local3); }; if (_arg1.indexOf(_arg2) > -1){ _local4 = _arg1.split(_arg2); _local3.major = parseInt(_local4[0]); _local3.minor = parseInt(_local4[1]); _local3.build = parseInt(_local4[2]); _local3.revision = parseInt(_local4[3]); } else { _local3.major = parseInt(_arg1); }; return (_local3); } public static function fromNumber(_arg1:Number=0):Version{ var _local2:Version = new (Version); if (((((((((((isNaN(_arg1)) || ((_arg1 == 0)))) || ((_arg1 < 0)))) || ((_arg1 == Number.MAX_VALUE)))) || ((_arg1 == Number.POSITIVE_INFINITY)))) || ((_arg1 == Number.NEGATIVE_INFINITY)))){ return (_local2); }; _local2.major = (_arg1 >>> 28); _local2.minor = ((_arg1 & 251658240) >>> 24); _local2.build = ((_arg1 & 0xFF0000) >>> 16); _local2.revision = (_arg1 & 0xFFFF); return (_local2); } } }//package com.google.analytics.utils
Section 185
//Bridge (com.google.analytics.v4.Bridge) package com.google.analytics.v4 { import com.google.analytics.core.*; import com.google.analytics.debug.*; import com.google.analytics.external.*; public class Bridge implements GoogleAnalyticsAPI { private var _debug:DebugConfiguration; private var _proxy:JavascriptProxy; private var _jsContainer:String;// = "_GATracker" private var _hasGATracker:Boolean;// = false private var _account:String; private static var _linkTrackingObject_js:XML = <script> <![CDATA[ function( container , target ) { var targets ; var name ; if( target.indexOf(".") > 0 ) { targets = target.split("."); name = targets.pop(); } else { targets = []; name = target; } var ref = window; var depth = targets.length; for( var j = 0 ; j < depth ; j++ ) { ref = ref[ targets[j] ] ; } window[container][target] = ref[name] ; } ]]> </script> ; private static var _createTrackingObject_js:XML = <script> <![CDATA[ function( acct ) { _GATracker[acct] = _gat._getTracker(acct); } ]]> </script> ; private static var _injectTrackingObject_js:XML = <script> <![CDATA[ function() { try { _GATracker } catch(e) { _GATracker = {}; } } ]]> </script> ; private static var _checkGAJS_js:XML = <script> <![CDATA[ function() { if( _gat && _gat._getTracker ) { return true; } return false; } ]]> </script> ; private static var _checkValidTrackingObject_js:XML = <script> <![CDATA[ function(acct) { if( _GATracker[acct] && (_GATracker[acct]._getAccount) ) { return true ; } else { return false; } } ]]> </script> ; public function Bridge(_arg1:String, _arg2:DebugConfiguration, _arg3:JavascriptProxy){ var _local4:String; var _local5:String; var _local6:String; super(); _account = _arg1; _debug = _arg2; _proxy = _arg3; if (!_checkGAJS()){ _local4 = ""; _local4 = (_local4 + "ga.js not found, be sure to check if\n"); _local4 = (_local4 + "<script src=\"http://www.google-analytics.com/ga.js\"></script>\n"); _local4 = (_local4 + "is included in the HTML."); _debug.warning(_local4); throw (new Error(_local4)); }; if (!_hasGATracker){ if (((_debug.javascript) && (_debug.verbose))){ _local5 = ""; _local5 = (_local5 + "The Google Analytics tracking code was not found on the container page\n"); _local5 = (_local5 + "we create it"); _debug.info(_local5, VisualDebugMode.advanced); }; _injectTrackingObject(); }; if (Utils.validateAccount(_arg1)){ _createTrackingObject(_arg1); } else { if (_checkTrackingObject(_arg1)){ _linkTrackingObject(_arg1); } else { _local6 = ""; _local6 = (_local6 + (("JS Object \"" + _arg1) + "\" doesn't exist in DOM\n")); _local6 = (_local6 + "Bridge object not created."); _debug.warning(_local6); throw (new Error(_local6)); }; }; } public function link(_arg1:String, _arg2:Boolean=false):void{ _debug.info((((("link( " + _arg1) + ", ") + _arg2) + " )")); _call("_link", _arg1, _arg2); } public function addOrganic(_arg1:String, _arg2:String):void{ _debug.info((("addOrganic( " + [_arg1, _arg2].join(", ")) + " )")); _call("_addOrganic", _arg1); } public function setAllowLinker(_arg1:Boolean):void{ _debug.info((("setAllowLinker( " + _arg1) + " )")); _call("_setAllowLinker", _arg1); } public function getLinkerUrl(_arg1:String="", _arg2:Boolean=false):String{ _debug.info((((("getLinkerUrl(" + _arg1) + ", ") + _arg2) + ")")); return (_call("_getLinkerUrl", _arg1, _arg2)); } private function _linkTrackingObject(_arg1:String):void{ _proxy.call(_linkTrackingObject_js, _jsContainer, _arg1); } public function setClientInfo(_arg1:Boolean):void{ _debug.info((("setClientInfo( " + _arg1) + " )")); _call("_setClientInfo", _arg1); } public function trackTrans():void{ _debug.info("trackTrans()"); _call("_trackTrans"); } public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{ var _local5 = 2; if (((_arg3) && (!((_arg3 == ""))))){ _local5 = 3; }; if ((((_local5 == 3)) && (!(isNaN(_arg4))))){ _local5 = 4; }; switch (_local5){ case 4: _debug.info((("trackEvent( " + [_arg1, _arg2, _arg3, _arg4].join(", ")) + " )")); return (_call("_trackEvent", _arg1, _arg2, _arg3, _arg4)); case 3: _debug.info((("trackEvent( " + [_arg1, _arg2, _arg3].join(", ")) + " )")); return (_call("_trackEvent", _arg1, _arg2, _arg3)); case 2: default: _debug.info((("trackEvent( " + [_arg1, _arg2].join(", ")) + " )")); return (_call("_trackEvent", _arg1, _arg2)); }; } public function setCookieTimeout(_arg1:int):void{ _debug.info((("setCookieTimeout( " + _arg1) + " )")); _call("_setCookieTimeout", _arg1); } public function trackPageview(_arg1:String=""):void{ _debug.info((("trackPageview( " + _arg1) + " )")); _call("_trackPageview", _arg1); } private function _checkValidTrackingObject(_arg1:String):Boolean{ return (_proxy.call(_checkValidTrackingObject_js, _arg1)); } private function _checkGAJS():Boolean{ return (_proxy.call(_checkGAJS_js)); } public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{ _debug.warning((((("linkByPost( " + _arg1) + ", ") + _arg2) + " ) not implemented")); } public function getClientInfo():Boolean{ _debug.info("getClientInfo()"); return (_call("_getClientInfo")); } private function _call(_arg1:String, ... _args){ _args.unshift(((((("window." + _jsContainer) + "[\"") + _account) + "\"].") + _arg1)); return (_proxy.call.apply(_proxy, _args)); } public function hasGAJS():Boolean{ return (_checkGAJS()); } private function _checkTrackingObject(_arg1:String):Boolean{ var _local2:Boolean = _proxy.hasProperty(_arg1); var _local3:Boolean = _proxy.hasProperty((_arg1 + "._getAccount")); return (((_local2) && (_local3))); } public function resetSession():void{ _debug.warning("resetSession() not implemented"); } public function getDetectTitle():Boolean{ _debug.info("getDetectTitle()"); return (_call("_getDetectTitle")); } public function setCampNameKey(_arg1:String):void{ _debug.info((("setCampNameKey( " + _arg1) + " )")); _call("_setCampNameKey", _arg1); } public function setDetectFlash(_arg1:Boolean):void{ _debug.info((("setDetectFlash( " + _arg1) + " )")); _call("_setDetectFlash", _arg1); } public function createEventTracker(_arg1:String):EventTracker{ _debug.info((("createEventTracker( " + _arg1) + " )")); return (new EventTracker(_arg1, this)); } public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{ _debug.info((("addItem( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6].join(", ")) + " )")); _call("_addItem", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6); } public function clearIgnoredOrganic():void{ _debug.info("clearIgnoredOrganic()"); _call("_clearIgnoreOrganic"); } public function setVar(_arg1:String):void{ _debug.info((("setVar( " + _arg1) + " )")); _call("_setVar", _arg1); } public function setDomainName(_arg1:String):void{ _debug.info((("setDomainName( " + _arg1) + " )")); _call("_setDomainName", _arg1); } public function hasTrackingAccount(_arg1:String):Boolean{ if (Utils.validateAccount(_arg1)){ return (_checkValidTrackingObject(_arg1)); }; return (_checkTrackingObject(_arg1)); } public function setCampSourceKey(_arg1:String):void{ _debug.info((("setCampSourceKey( " + _arg1) + " )")); _call("_setCampSourceKey", _arg1); } public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):void{ _debug.info((("addTrans( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8].join(", ")) + " )")); _call("_addTrans", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); } public function setCampContentKey(_arg1:String):void{ _debug.info((("setCampContentKey( " + _arg1) + " )")); _call("_setCampContentKey", _arg1); } public function setLocalServerMode():void{ _debug.info("setLocalServerMode()"); _call("_setLocalServerMode"); } public function getLocalGifPath():String{ _debug.info("getLocalGifPath()"); return (_call("_getLocalGifPath")); } public function clearIgnoredRef():void{ _debug.info("clearIgnoredRef()"); _call("_clearIgnoreRef"); } public function setAllowAnchor(_arg1:Boolean):void{ _debug.info((("setAllowAnchor( " + _arg1) + " )")); _call("_setAllowAnchor", _arg1); } public function setLocalGifPath(_arg1:String):void{ _debug.info((("setLocalGifPath( " + _arg1) + " )")); _call("_setLocalGifPath", _arg1); } public function getVersion():String{ _debug.info("getVersion()"); return (_call("_getVersion")); } private function _injectTrackingObject():void{ _proxy.executeBlock(_injectTrackingObject_js); _hasGATracker = true; } public function setCookiePath(_arg1:String):void{ _debug.info((("setCookiePath( " + _arg1) + " )")); _call("_setCookiePath", _arg1); } public function setSampleRate(_arg1:Number):void{ _debug.info((("setSampleRate( " + _arg1) + " )")); _call("_setSampleRate", _arg1); } public function setAllowHash(_arg1:Boolean):void{ _debug.info((("setAllowHash( " + _arg1) + " )")); _call("_setAllowHash", _arg1); } public function addIgnoredOrganic(_arg1:String):void{ _debug.info((("addIgnoredOrganic( " + _arg1) + " )")); _call("_addIgnoredOrganic", _arg1); } public function setCampNOKey(_arg1:String):void{ _debug.info((("setCampNOKey( " + _arg1) + " )")); _call("_setCampNOKey", _arg1); } public function cookiePathCopy(_arg1:String):void{ _debug.info((("cookiePathCopy( " + _arg1) + " )")); _call("_cookiePathCopy", _arg1); } public function setLocalRemoteServerMode():void{ _debug.info("setLocalRemoteServerMode()"); _call("_setLocalRemoteServerMode"); } public function getServiceMode():ServerOperationMode{ _debug.info("getServiceMode()"); return (_call("_getServiceMode")); } public function setDetectTitle(_arg1:Boolean):void{ _debug.info((("setDetectTitle( " + _arg1) + " )")); _call("_setDetectTitle", _arg1); } private function _createTrackingObject(_arg1:String):void{ _proxy.call(_createTrackingObject_js, _arg1); } public function setCampaignTrack(_arg1:Boolean):void{ _debug.info((("setCampaignTrack( " + _arg1) + " )")); _call("_setCampaignTrack", _arg1); } public function clearOrganic():void{ _debug.info("clearOrganic()"); _call("_clearOrganic"); } public function setCampTermKey(_arg1:String):void{ _debug.info((("setCampTermKey( " + _arg1) + " )")); _call("_setCampTermKey", _arg1); } public function getDetectFlash():Boolean{ _debug.info("getDetectFlash()"); return (_call("_getDetectFlash")); } public function setCampMediumKey(_arg1:String):void{ _debug.info((("setCampMediumKey( " + _arg1) + " )")); _call("_setCampMediumKey", _arg1); } public function addIgnoredRef(_arg1:String):void{ _debug.info((("addIgnoredRef( " + _arg1) + " )")); _call("_addIgnoredRef", _arg1); } public function setSessionTimeout(_arg1:int):void{ _debug.info((("setSessionTimeout( " + _arg1) + " )")); _call("_setSessionTimeout", _arg1); } public function setRemoteServerMode():void{ _debug.info("setRemoteServerMode()"); _call("_setRemoteServerMode"); } public function getAccount():String{ _debug.info("getAccount()"); return (_call("_getAccount")); } } }//package com.google.analytics.v4
Section 186
//Configuration (com.google.analytics.v4.Configuration) package com.google.analytics.v4 { import com.google.analytics.core.*; import com.google.analytics.debug.*; import com.google.analytics.utils.*; import com.google.analytics.campaign.*; public class Configuration { public var serverMode:ServerOperationMode; public var detectFlash:Boolean;// = true public var hasSiteOverlay:Boolean;// = false public var allowLocalTracking:Boolean;// = true public var secureRemoteGIFpath:String;// = "https://ssl.google-analytics.com/__utm.gif" private var _version:String;// = "4.3as" public var allowDomainHash:Boolean;// = true public var detectClientInfo:Boolean;// = true public var idleLoop:Number;// = 30 public var isTrackOutboundSubdomains:Boolean;// = false public var cookiePath:String;// = "/" public var transactionFieldDelim:String;// = "|" private var _organic:Organic; private var _cookieName:String;// = "analytics" public var campaignKey:CampaignKey; public var google:String;// = "google" public var googleCsePath:String;// = "cse" public var bucketCapacity:Number;// = 10 private var _sampleRate:Number;// = 1 public var remoteGIFpath:String;// = "http://www.google-analytics.com/__utm.gif" public var googleSearchParam:String;// = "q" public var allowLinker:Boolean;// = false public var maxOutboundLinkExamined:Number;// = 1000 private var _debug:DebugConfiguration; public var allowAnchor:Boolean;// = false private var _domain:Domain; private var _trackingLimitPerSession:int;// = 500 public var tokenCliff:int;// = 10 public var sessionTimeout:Number; public var idleTimeout:Number;// = 60 public var campaignTracking:Boolean;// = true public var domainName:String;// = "" public var detectTitle:Boolean;// = true public var tokenRate:Number;// = 0.2 public var conversionTimeout:Number; public var localGIFpath:String;// = "/__utm.gif" public function Configuration(_arg1:DebugConfiguration=null){ _organic = new Organic(); conversionTimeout = Timespan.sixmonths; sessionTimeout = Timespan.thirtyminutes; campaignKey = new CampaignKey(); serverMode = ServerOperationMode.remote; super(); _debug = _arg1; _domain = new Domain(DomainNameMode.auto, "", _debug); serverMode = ServerOperationMode.remote; _initOrganicSources(); } public function get organic():Organic{ return (_organic); } public function get cookieName():String{ return (_cookieName); } public function get trackingLimitPerSession():int{ return (_trackingLimitPerSession); } private function _initOrganicSources():void{ addOrganicSource(google, googleSearchParam); addOrganicSource("yahoo", "p"); addOrganicSource("msn", "q"); addOrganicSource("aol", "query"); addOrganicSource("aol", "encquery"); addOrganicSource("lycos", "query"); addOrganicSource("ask", "q"); addOrganicSource("altavista", "q"); addOrganicSource("netscape", "query"); addOrganicSource("cnn", "query"); addOrganicSource("looksmart", "qt"); addOrganicSource("about", "terms"); addOrganicSource("mamma", "query"); addOrganicSource("alltheweb", "q"); addOrganicSource("gigablast", "q"); addOrganicSource("voila", "rdata"); addOrganicSource("virgilio", "qs"); addOrganicSource("live", "q"); addOrganicSource("baidu", "wd"); addOrganicSource("alice", "qs"); addOrganicSource("yandex", "text"); addOrganicSource("najdi", "q"); addOrganicSource("aol", "q"); addOrganicSource("club-internet", "q"); addOrganicSource("mama", "query"); addOrganicSource("seznam", "q"); addOrganicSource("search", "q"); addOrganicSource("wp", "szukaj"); addOrganicSource("onet", "qt"); addOrganicSource("netsprint", "q"); addOrganicSource("google.interia", "q"); addOrganicSource("szukacz", "q"); addOrganicSource("yam", "k"); addOrganicSource("pchome", "q"); addOrganicSource("kvasir", "searchExpr"); addOrganicSource("sesam", "q"); addOrganicSource("ozu", "q"); addOrganicSource("terra", "query"); addOrganicSource("nostrum", "query"); addOrganicSource("mynet", "q"); addOrganicSource("ekolay", "q"); addOrganicSource("search.ilse", "search_for"); } public function get sampleRate():Number{ return (_sampleRate); } public function addOrganicSource(_arg1:String, _arg2:String):void{ var engine = _arg1; var keyword = _arg2; try { _organic.addSource(engine, keyword); } catch(e:Error) { if (((_debug) && (_debug.active))){ _debug.warning(e.message); }; }; } public function get domain():Domain{ return (_domain); } public function set sampleRate(_arg1:Number):void{ if (_arg1 <= 0){ _arg1 = 0.1; }; if (_arg1 > 1){ _arg1 = 1; }; _arg1 = Number(_arg1.toFixed(2)); _sampleRate = _arg1; } public function get version():String{ return (_version); } } }//package com.google.analytics.v4
Section 187
//GoogleAnalyticsAPI (com.google.analytics.v4.GoogleAnalyticsAPI) package com.google.analytics.v4 { import com.google.analytics.core.*; public interface GoogleAnalyticsAPI { function setCampSourceKey(_arg1:String):void; function setDetectTitle(_arg1:Boolean):void; function setLocalRemoteServerMode():void; function resetSession():void; function setLocalServerMode():void; function setCampContentKey(_arg1:String):void; function addOrganic(_arg1:String, _arg2:String):void; function setDetectFlash(_arg1:Boolean):void; function setAllowLinker(_arg1:Boolean):void; function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean; function setCampTermKey(_arg1:String):void; function setCampNameKey(_arg1:String):void; function getLinkerUrl(_arg1:String="", _arg2:Boolean=false):String; function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void; function clearIgnoredRef():void; function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):void; function getDetectFlash():Boolean; function setCampaignTrack(_arg1:Boolean):void; function createEventTracker(_arg1:String):EventTracker; function setCookieTimeout(_arg1:int):void; function setAllowAnchor(_arg1:Boolean):void; function trackTrans():void; function clearOrganic():void; function trackPageview(_arg1:String=""):void; function setLocalGifPath(_arg1:String):void; function getVersion():String; function getLocalGifPath():String; function getServiceMode():ServerOperationMode; function setVar(_arg1:String):void; function clearIgnoredOrganic():void; function setCampMediumKey(_arg1:String):void; function addIgnoredRef(_arg1:String):void; function setClientInfo(_arg1:Boolean):void; function setCookiePath(_arg1:String):void; function setSampleRate(_arg1:Number):void; function setSessionTimeout(_arg1:int):void; function setRemoteServerMode():void; function setDomainName(_arg1:String):void; function addIgnoredOrganic(_arg1:String):void; function setAllowHash(_arg1:Boolean):void; function getAccount():String; function linkByPost(_arg1:Object, _arg2:Boolean=false):void; function link(_arg1:String, _arg2:Boolean=false):void; function setCampNOKey(_arg1:String):void; function getClientInfo():Boolean; function cookiePathCopy(_arg1:String):void; function getDetectTitle():Boolean; } }//package com.google.analytics.v4
Section 188
//Tracker (com.google.analytics.v4.Tracker) package com.google.analytics.v4 { import com.google.analytics.core.*; import com.google.analytics.debug.*; import flash.net.*; import com.google.analytics.data.*; import com.google.analytics.external.*; import com.google.analytics.utils.*; import com.google.analytics.ecommerce.*; import com.google.analytics.campaign.*; public class Tracker implements GoogleAnalyticsAPI { private const EVENT_TRACKER_LABEL_KEY_NUM:int = 3; private const EVENT_TRACKER_VALUE_VALUE_NUM:int = 1; private const EVENT_TRACKER_PROJECT_ID:int = 5; private const EVENT_TRACKER_OBJECT_NAME_KEY_NUM:int = 1; private const EVENT_TRACKER_TYPE_KEY_NUM:int = 2; private var _adSense:AdSenseGlobals; private var _eventTracker:X10; private var _noSessionInformation:Boolean;// = false private var _browserInfo:BrowserInfo; private var _debug:DebugConfiguration; private var _isNewVisitor:Boolean;// = false private var _buffer:Buffer; private var _config:Configuration; private var _x10Module:X10; private var _campaign:CampaignManager; private var _formatedReferrer:String; private var _timeStamp:Number; private var _info:Environment; private var _domainHash:Number; private var _campaignInfo:CampaignInfo; private var _gifRequest:GIFRequest; private var _hasInitData:Boolean;// = false private var _ecom:Ecommerce; private var _account:String; public function Tracker(_arg1:String, _arg2:Configuration, _arg3:DebugConfiguration, _arg4:Environment, _arg5:Buffer, _arg6:GIFRequest, _arg7:AdSenseGlobals, _arg8:Ecommerce){ var _local9:String; super(); _account = _arg1; _config = _arg2; _debug = _arg3; _info = _arg4; _buffer = _arg5; _gifRequest = _arg6; _adSense = _arg7; _ecom = _arg8; if (!Utils.validateAccount(_arg1)){ _local9 = (("Account \"" + _arg1) + "\" is not valid."); _debug.warning(_local9); throw (new Error(_local9)); }; } private function _doTracking():Boolean{ if (((((!((_info.protocol == Protocols.file))) && (!((_info.protocol == Protocols.none))))) && (_isNotGoogleSearch()))){ return (true); }; if (_config.allowLocalTracking){ return (true); }; return (false); } public function addOrganic(_arg1:String, _arg2:String):void{ _debug.info((("addOrganic( " + [_arg1, _arg2].join(", ")) + " )")); _config.organic.addSource(_arg1, _arg2); } public function setAllowLinker(_arg1:Boolean):void{ _config.allowLinker = _arg1; _debug.info((("setAllowLinker( " + _config.allowLinker) + " )")); } public function getLinkerUrl(_arg1:String="", _arg2:Boolean=false):String{ _initData(); _debug.info((((("getLinkerUrl( " + _arg1) + ", ") + _arg2.toString()) + " )")); return (_buffer.getLinkerUrl(_arg1, _arg2)); } public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{ _initData(); var _local5:Boolean; var _local6 = 2; if (((!((_arg1 == ""))) && (!((_arg2 == ""))))){ _eventTracker.clearKey(EVENT_TRACKER_PROJECT_ID); _eventTracker.clearValue(EVENT_TRACKER_PROJECT_ID); _local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_OBJECT_NAME_KEY_NUM, _arg1); _local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_TYPE_KEY_NUM, _arg2); if (((_arg3) && (!((_arg3 == ""))))){ _local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_LABEL_KEY_NUM, _arg3); _local6 = 3; if (!isNaN(_arg4)){ _local5 = _eventTracker.setValue(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_VALUE_VALUE_NUM, _arg4); _local6 = 4; }; }; if (_local5){ _debug.info(((("valid event tracking call\ncategory: " + _arg1) + "\naction: ") + _arg2), VisualDebugMode.geek); _sendXEvent(_eventTracker); }; } else { _debug.warning(((("event tracking call is not valid, failed!\ncategory: " + _arg1) + "\naction: ") + _arg2), VisualDebugMode.geek); _local5 = false; }; switch (_local6){ case 4: _debug.info((("trackEvent( " + [_arg1, _arg2, _arg3, _arg4].join(", ")) + " )")); break; case 3: _debug.info((("trackEvent( " + [_arg1, _arg2, _arg3].join(", ")) + " )")); break; case 2: default: _debug.info((("trackEvent( " + [_arg1, _arg2].join(", ")) + " )")); }; return (_local5); } public function trackPageview(_arg1:String=""):void{ _debug.info((("trackPageview( " + _arg1) + " )")); if (_doTracking()){ _initData(); _trackMetrics(_arg1); _noSessionInformation = false; } else { _debug.warning((("trackPageview( " + _arg1) + " ) failed")); }; } public function setCookieTimeout(_arg1:int):void{ _config.conversionTimeout = _arg1; _debug.info((("setCookieTimeout( " + _config.conversionTimeout) + " )")); } public function trackTrans():void{ var _local1:Number; var _local2:Number; var _local4:Transaction; _initData(); var _local3:Array = new Array(); if (_takeSample()){ _local1 = 0; while (_local1 < _ecom.getTransLength()) { _local4 = _ecom.getTransFromArray(_local1); _local3.push(_local4.toGifParams()); _local2 = 0; while (_local2 < _local4.getItemsLength()) { _local3.push(_local4.getItemFromArray(_local2).toGifParams()); _local2++; }; _local1++; }; _local1 = 0; while (_local1 < _local3.length) { _gifRequest.send(_account, _local3[_local1]); _local1++; }; }; } public function setClientInfo(_arg1:Boolean):void{ _config.detectClientInfo = _arg1; _debug.info((("setClientInfo( " + _config.detectClientInfo) + " )")); } public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{ _debug.warning("linkByPost not implemented in AS3 mode"); } private function _initData():void{ var _local1:String; var _local2:String; if (!_hasInitData){ _updateDomainName(); _domainHash = _getDomainHash(); _timeStamp = Math.round((new Date().getTime() / 1000)); if (_debug.verbose){ _local1 = ""; _local1 = (_local1 + "_initData 0"); _local1 = (_local1 + ("\ndomain name: " + _config.domainName)); _local1 = (_local1 + ("\ndomain hash: " + _domainHash)); _local1 = (_local1 + (((("\ntimestamp: " + _timeStamp) + " (") + new Date((_timeStamp * 1000))) + ")")); _debug.info(_local1, VisualDebugMode.geek); }; }; if (_doTracking()){ _handleCookie(); }; if (!_hasInitData){ if (_doTracking()){ _formatedReferrer = _formatReferrer(); _browserInfo = new BrowserInfo(_config, _info); _debug.info(("browserInfo: " + _browserInfo.toURLString()), VisualDebugMode.advanced); if (_config.campaignTracking){ _campaign = new CampaignManager(_config, _debug, _buffer, _domainHash, _formatedReferrer, _timeStamp); _campaignInfo = _campaign.getCampaignInformation(_info.locationSearch, _noSessionInformation); _debug.info(("campaignInfo: " + _campaignInfo.toURLString()), VisualDebugMode.advanced); _debug.info(("Search: " + _info.locationSearch)); _debug.info(("CampaignTrackig: " + _buffer.utmz.campaignTracking)); }; }; _x10Module = new X10(); _eventTracker = new X10(); _hasInitData = true; }; if (_config.hasSiteOverlay){ _debug.warning("Site Overlay is not supported"); }; if (_debug.verbose){ _local2 = ""; _local2 = (_local2 + "_initData (misc)"); _local2 = (_local2 + ("\nflash version: " + _info.flashVersion.toString(4))); _local2 = (_local2 + ("\nprotocol: " + _info.protocol)); _local2 = (_local2 + (("\ndefault domain name (auto): \"" + _info.domainName) + "\"")); _local2 = (_local2 + ("\nlanguage: " + _info.language)); _local2 = (_local2 + ("\ndomain hash: " + _getDomainHash())); _local2 = (_local2 + ("\nuser-agent: " + _info.userAgent)); _debug.info(_local2, VisualDebugMode.geek); }; } public function getDetectTitle():Boolean{ _debug.info("getDetectTitle()"); return (_config.detectTitle); } public function resetSession():void{ _debug.info("resetSession()"); _buffer.resetCurrentSession(); } public function getClientInfo():Boolean{ _debug.info("getClientInfo()"); return (_config.detectClientInfo); } private function _sendXEvent(_arg1:X10=null):void{ var _local2:Variables; var _local3:EventInfo; var _local4:Variables; var _local5:Variables; if (_takeSample()){ _local2 = new Variables(); _local2.URIencode = true; _local3 = new EventInfo(true, _x10Module, _arg1); _local4 = _local3.toVariables(); _local5 = _renderMetricsSearchVariables(); _local2.join(_local4, _local5); _gifRequest.send(_account, _local2, false, true); }; } public function setDetectFlash(_arg1:Boolean):void{ _config.detectFlash = _arg1; _debug.info((("setDetectFlash( " + _config.detectFlash) + " )")); } public function setCampNameKey(_arg1:String):void{ _config.campaignKey.UCCN = _arg1; var _local2 = (("setCampNameKey( " + _config.campaignKey.UCCN) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCCN]")); } else { _debug.info(_local2); }; } private function _formatReferrer():String{ var _local2:String; var _local3:URL; var _local4:URL; var _local1:String = _info.referrer; if ((((_local1 == "")) || ((_local1 == "localhost")))){ _local1 = "-"; } else { _local2 = _info.domainName; _local3 = new URL(_local1); _local4 = new URL(("http://" + _local2)); if (_local3.hostName == _local2){ return ("-"); }; if (_local4.domain == _local3.domain){ if (_local4.subDomain != _local3.subDomain){ _local1 = "0"; }; }; if ((((_local1.charAt(0) == "[")) && (_local1.charAt((_local1.length - 1))))){ _local1 = "-"; }; }; _debug.info(("formated referrer: " + _local1), VisualDebugMode.advanced); return (_local1); } private function _visitCode():Number{ if (_debug.verbose){ _debug.info(("visitCode: " + _buffer.utma.sessionId), VisualDebugMode.geek); }; return (_buffer.utma.sessionId); } public function createEventTracker(_arg1:String):EventTracker{ _debug.info((("createEventTracker( " + _arg1) + " )")); return (new EventTracker(_arg1, this)); } public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{ var _local7:Transaction; _local7 = _ecom.getTransaction(_arg1); if (_local7 == null){ _local7 = _ecom.addTransaction(_arg1, "", "", "", "", "", "", ""); }; _local7.addItem(_arg2, _arg3, _arg4, _arg5.toString(), _arg6.toString()); if (_debug.active){ _debug.info((("addItem( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6].join(", ")) + " )")); }; } public function clearIgnoredOrganic():void{ _debug.info("clearIgnoredOrganic()"); _config.organic.clearIgnoredKeywords(); } public function setVar(_arg1:String):void{ var _local2:Variables; if (((!((_arg1 == ""))) && (_isNotGoogleSearch()))){ _initData(); _buffer.utmv.domainHash = _domainHash; _buffer.utmv.value = encodeURI(_arg1); if (_debug.verbose){ _debug.info(_buffer.utmv.toString(), VisualDebugMode.geek); }; _debug.info((("setVar( " + _arg1) + " )")); if (_takeSample()){ _local2 = new Variables(); _local2.utmt = "var"; _gifRequest.send(_account, _local2); }; } else { _debug.warning((("setVar \"" + _arg1) + "\" is ignored")); }; } public function setDomainName(_arg1:String):void{ if (_arg1 == "auto"){ _config.domain.mode = DomainNameMode.auto; } else { if (_arg1 == "none"){ _config.domain.mode = DomainNameMode.none; } else { _config.domain.mode = DomainNameMode.custom; _config.domain.name = _arg1; }; }; _updateDomainName(); _debug.info((("setDomainName( " + _config.domainName) + " )")); } private function _updateDomainName():void{ var _local1:String; if (_config.domain.mode == DomainNameMode.auto){ _local1 = _info.domainName; if (_local1.substring(0, 4) == "www."){ _local1 = _local1.substring(4); }; _config.domain.name = _local1; }; _config.domainName = _config.domain.name.toLowerCase(); _debug.info(("domain name: " + _config.domainName), VisualDebugMode.advanced); } public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):void{ _ecom.addTransaction(_arg1, _arg2, _arg3.toString(), _arg4.toString(), _arg5.toString(), _arg6, _arg7, _arg8); if (_debug.active){ _debug.info((("addTrans( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8].join(", ")) + " );")); }; } private function _renderMetricsSearchVariables(_arg1:String=""):Variables{ var _local4:Variables; var _local2:Variables = new Variables(); _local2.URIencode = true; var _local3:DocumentInfo = new DocumentInfo(_config, _info, _formatedReferrer, _arg1, _adSense); _debug.info(("docInfo: " + _local3.toURLString()), VisualDebugMode.geek); if (_config.campaignTracking){ _local4 = _campaignInfo.toVariables(); }; var _local5:Variables = _browserInfo.toVariables(); _local2.join(_local3.toVariables(), _local5, _local4); return (_local2); } public function setCampContentKey(_arg1:String):void{ _config.campaignKey.UCCT = _arg1; var _local2 = (("setCampContentKey( " + _config.campaignKey.UCCT) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCCT]")); } else { _debug.info(_local2); }; } private function _handleCookie():void{ var _local1:String; var _local2:String; var _local3:Array; var _local4:String; if (_config.allowLinker){ }; _buffer.createSO(); if (((_buffer.hasUTMA()) && (!(_buffer.utma.isEmpty())))){ if (((!(_buffer.hasUTMB())) || (!(_buffer.hasUTMC())))){ _buffer.updateUTMA(_timeStamp); _noSessionInformation = true; }; if (_debug.verbose){ _debug.info(("from cookie " + _buffer.utma.toString()), VisualDebugMode.geek); }; } else { _debug.info("create a new utma", VisualDebugMode.advanced); _buffer.utma.domainHash = _domainHash; _buffer.utma.sessionId = _getUniqueSessionId(); _buffer.utma.firstTime = _timeStamp; _buffer.utma.lastTime = _timeStamp; _buffer.utma.currentTime = _timeStamp; _buffer.utma.sessionCount = 1; if (_debug.verbose){ _debug.info(_buffer.utma.toString(), VisualDebugMode.geek); }; _noSessionInformation = true; _isNewVisitor = true; }; if (((_adSense.gaGlobal) && ((_adSense.dh == String(_domainHash))))){ if (_adSense.sid){ _buffer.utma.currentTime = Number(_adSense.sid); if (_debug.verbose){ _local1 = ""; _local1 = (_local1 + "AdSense sid found\n"); _local1 = (_local1 + (((("Override currentTime(" + _buffer.utma.currentTime) + ") from AdSense sid(") + Number(_adSense.sid)) + ")")); _debug.info(_local1, VisualDebugMode.geek); }; }; if (_isNewVisitor){ if (_adSense.sid){ _buffer.utma.lastTime = Number(_adSense.sid); if (_debug.verbose){ _local2 = ""; _local2 = (_local2 + "AdSense sid found (new visitor)\n"); _local2 = (_local2 + (((("Override lastTime(" + _buffer.utma.lastTime) + ") from AdSense sid(") + Number(_adSense.sid)) + ")")); _debug.info(_local2, VisualDebugMode.geek); }; }; if (_adSense.vid){ _local3 = _adSense.vid.split("."); _buffer.utma.sessionId = Number(_local3[0]); _buffer.utma.firstTime = Number(_local3[1]); if (_debug.verbose){ _local4 = ""; _local4 = (_local4 + "AdSense vid found (new visitor)\n"); _local4 = (_local4 + (((("Override sessionId(" + _buffer.utma.sessionId) + ") from AdSense vid(") + Number(_local3[0])) + ")\n")); _local4 = (_local4 + (((("Override firstTime(" + _buffer.utma.firstTime) + ") from AdSense vid(") + Number(_local3[1])) + ")")); _debug.info(_local4, VisualDebugMode.geek); }; }; if (_debug.verbose){ _debug.info(("AdSense modified : " + _buffer.utma.toString()), VisualDebugMode.geek); }; }; }; _buffer.utmb.domainHash = _domainHash; if (isNaN(_buffer.utmb.trackCount)){ _buffer.utmb.trackCount = 0; }; if (isNaN(_buffer.utmb.token)){ _buffer.utmb.token = _config.tokenCliff; }; if (isNaN(_buffer.utmb.lastTime)){ _buffer.utmb.lastTime = _buffer.utma.currentTime; }; _buffer.utmc.domainHash = _domainHash; if (_debug.verbose){ _debug.info(_buffer.utmb.toString(), VisualDebugMode.advanced); _debug.info(_buffer.utmc.toString(), VisualDebugMode.advanced); }; } public function setLocalServerMode():void{ _config.serverMode = ServerOperationMode.local; _debug.info("setLocalServerMode()"); } public function clearIgnoredRef():void{ _debug.info("clearIgnoredRef()"); _config.organic.clearIgnoredReferrals(); } public function setCampSourceKey(_arg1:String):void{ _config.campaignKey.UCSR = _arg1; var _local2 = (("setCampSourceKey( " + _config.campaignKey.UCSR) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCSR]")); } else { _debug.info(_local2); }; } public function getLocalGifPath():String{ _debug.info("getLocalGifPath()"); return (_config.localGIFpath); } public function setLocalGifPath(_arg1:String):void{ _config.localGIFpath = _arg1; _debug.info((("setLocalGifPath( " + _config.localGIFpath) + " )")); } public function getVersion():String{ _debug.info("getVersion()"); return (_config.version); } public function setAllowAnchor(_arg1:Boolean):void{ _config.allowAnchor = _arg1; _debug.info((("setAllowAnchor( " + _config.allowAnchor) + " )")); } private function _isNotGoogleSearch():Boolean{ var _local1:String = _config.domainName; var _local2 = (_local1.indexOf("www.google.") < 0); var _local3 = (_local1.indexOf(".google.") < 0); var _local4 = (_local1.indexOf("google.") < 0); var _local5 = (_local1.indexOf("google.org") > -1); return (((((((((_local2) || (_local3))) || (_local4))) || (!((_config.cookiePath == "/"))))) || (_local5))); } public function setSampleRate(_arg1:Number):void{ if (_arg1 < 0){ _debug.warning("sample rate can not be negative, ignoring value."); } else { _config.sampleRate = _arg1; }; _debug.info((("setSampleRate( " + _config.sampleRate) + " )")); } private function _takeSample():Boolean{ if (_debug.verbose){ _debug.info((((("takeSample: (" + (_visitCode() % 10000)) + ") < (") + (_config.sampleRate * 10000)) + ")"), VisualDebugMode.geek); }; return (((_visitCode() % 10000) < (_config.sampleRate * 10000))); } public function setCookiePath(_arg1:String):void{ _config.cookiePath = _arg1; _debug.info((("setCookiePath( " + _config.cookiePath) + " )")); } public function setAllowHash(_arg1:Boolean):void{ _config.allowDomainHash = _arg1; _debug.info((("setAllowHash( " + _config.allowDomainHash) + " )")); } private function _generateUserDataHash():Number{ var _local1 = ""; _local1 = (_local1 + _info.appName); _local1 = (_local1 + _info.appVersion); _local1 = (_local1 + _info.language); _local1 = (_local1 + _info.platform); _local1 = (_local1 + _info.userAgent.toString()); _local1 = (_local1 + (((_info.screenWidth + "x") + _info.screenHeight) + _info.screenColorDepth)); _local1 = (_local1 + _info.referrer); return (Utils.generateHash(_local1)); } public function setCampNOKey(_arg1:String):void{ _config.campaignKey.UCNO = _arg1; var _local2 = (("setCampNOKey( " + _config.campaignKey.UCNO) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCNO]")); } else { _debug.info(_local2); }; } public function addIgnoredOrganic(_arg1:String):void{ _debug.info((("addIgnoredOrganic( " + _arg1) + " )")); _config.organic.addIgnoredKeyword(_arg1); } public function setLocalRemoteServerMode():void{ _config.serverMode = ServerOperationMode.both; _debug.info("setLocalRemoteServerMode()"); } public function cookiePathCopy(_arg1:String):void{ _debug.warning((("cookiePathCopy( " + _arg1) + " ) not implemented")); } public function setDetectTitle(_arg1:Boolean):void{ _config.detectTitle = _arg1; _debug.info((("setDetectTitle( " + _config.detectTitle) + " )")); } public function setCampTermKey(_arg1:String):void{ _config.campaignKey.UCTR = _arg1; var _local2 = (("setCampTermKey( " + _config.campaignKey.UCTR) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCTR]")); } else { _debug.info(_local2); }; } public function getServiceMode():ServerOperationMode{ _debug.info("getServiceMode()"); return (_config.serverMode); } private function _trackMetrics(_arg1:String=""):void{ var _local2:Variables; var _local3:Variables; var _local4:Variables; var _local5:EventInfo; if (_takeSample()){ _local2 = new Variables(); _local2.URIencode = true; if (((_x10Module) && (_x10Module.hasData()))){ _local5 = new EventInfo(false, _x10Module); _local3 = _local5.toVariables(); }; _local4 = _renderMetricsSearchVariables(_arg1); _local2.join(_local3, _local4); _gifRequest.send(_account, _local2); }; } public function setCampaignTrack(_arg1:Boolean):void{ _config.campaignTracking = _arg1; _debug.info((("setCampaignTrack( " + _config.campaignTracking) + " )")); } public function addIgnoredRef(_arg1:String):void{ _debug.info((("addIgnoredRef( " + _arg1) + " )")); _config.organic.addIgnoredReferral(_arg1); } public function clearOrganic():void{ _debug.info("clearOrganic()"); _config.organic.clearEngines(); } public function getDetectFlash():Boolean{ _debug.info("getDetectFlash()"); return (_config.detectFlash); } public function setCampMediumKey(_arg1:String):void{ _config.campaignKey.UCMD = _arg1; var _local2 = (("setCampMediumKey( " + _config.campaignKey.UCMD) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCMD]")); } else { _debug.info(_local2); }; } private function _getUniqueSessionId():Number{ var _local1:Number = ((Utils.generate32bitRandom() ^ _generateUserDataHash()) * 2147483647); _debug.info(("Session ID: " + _local1), VisualDebugMode.geek); return (_local1); } private function _getDomainHash():Number{ if (((((!(_config.domainName)) || ((_config.domainName == "")))) || ((_config.domain.mode == DomainNameMode.none)))){ _config.domainName = ""; return (1); }; _updateDomainName(); if (_config.allowDomainHash){ return (Utils.generateHash(_config.domainName)); }; return (1); } public function setSessionTimeout(_arg1:int):void{ _config.sessionTimeout = _arg1; _debug.info((("setSessionTimeout( " + _config.sessionTimeout) + " )")); } public function getAccount():String{ _debug.info("getAccount()"); return (_account); } public function link(_arg1:String, _arg2:Boolean=false):void{ var targetUrl = _arg1; var useHash = _arg2; _initData(); var out:String = _buffer.getLinkerUrl(targetUrl, useHash); var request:URLRequest = new URLRequest(out); _debug.info((("link( " + [targetUrl, useHash].join(",")) + " )")); try { navigateToURL(request, "_top"); } catch(e:Error) { _debug.warning(("An error occured in link() msg: " + e.message)); }; } public function setRemoteServerMode():void{ _config.serverMode = ServerOperationMode.remote; _debug.info("setRemoteServerMode()"); } } }//package com.google.analytics.v4
Section 189
//AnalyticsTracker (com.google.analytics.AnalyticsTracker) package com.google.analytics { import flash.events.*; import com.google.analytics.v4.*; import com.google.analytics.debug.*; public interface AnalyticsTracker extends GoogleAnalyticsAPI, IEventDispatcher { function set account(_arg1:String):void; function get config():Configuration; function get mode():String; function set config(_arg1:Configuration):void; function set mode(_arg1:String):void; function set debug(_arg1:DebugConfiguration):void; function get visualDebug():Boolean; function get account():String; function set visualDebug(_arg1:Boolean):void; function isReady():Boolean; function get debug():DebugConfiguration; } }//package com.google.analytics
Section 190
//API (com.google.analytics.API) package com.google.analytics { import com.google.analytics.utils.*; public class API { public static var version:Version = new Version(); version.major = 1; version.minor = 0; version.build = 1; version.revision = "$Rev: 319 $ ".split(" ")[1]; } }//package com.google.analytics
Section 191
//GATracker (com.google.analytics.GATracker) package com.google.analytics { import flash.events.*; import flash.display.*; import com.google.analytics.core.*; import com.google.analytics.v4.*; import com.google.analytics.debug.*; import com.google.analytics.external.*; import com.google.analytics.utils.*; import com.google.analytics.events.*; public class GATracker implements AnalyticsTracker { private var _adSense:AdSenseGlobals; private var _env:Environment; private var _visualDebug:Boolean; private var _idleTimer:IdleTimer; private var _debug:DebugConfiguration; private var _buffer:Buffer; private var _config:Configuration; private var _mode:String; private var _display:DisplayObject; private var _jsproxy:JavascriptProxy; private var _dom:HTMLDOM; private var _eventDispatcher:EventDispatcher; private var _ready:Boolean;// = false private var _gifRequest:GIFRequest; private var _ecom:Ecommerce; private var _account:String; private var _tracker:GoogleAnalyticsAPI; public static var version:Version = API.version; public static var autobuild:Boolean = true; public function GATracker(_arg1:DisplayObject, _arg2:String, _arg3:String="AS3", _arg4:Boolean=false, _arg5:Configuration=null, _arg6:DebugConfiguration=null){ _display = _arg1; _eventDispatcher = new EventDispatcher(this); _tracker = new TrackerCache(); this.account = _arg2; this.mode = _arg3; this.visualDebug = _arg4; if (!_arg6){ this.debug = new DebugConfiguration(); }; if (!_arg5){ this.config = new Configuration(_arg6); }; if (autobuild){ _factory(); }; } public function link(_arg1:String, _arg2:Boolean=false):void{ _tracker.link(_arg1, _arg2); } public function addOrganic(_arg1:String, _arg2:String):void{ _tracker.addOrganic(_arg1, _arg2); } public function setAllowLinker(_arg1:Boolean):void{ _tracker.setAllowLinker(_arg1); } public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{ return (_tracker.trackEvent(_arg1, _arg2, _arg3, _arg4)); } public function getLinkerUrl(_arg1:String="", _arg2:Boolean=false):String{ return (_tracker.getLinkerUrl(_arg1, _arg2)); } public function setCookieTimeout(_arg1:int):void{ _tracker.setCookieTimeout(_arg1); } public function trackTrans():void{ _tracker.trackTrans(); } public function getClientInfo():Boolean{ return (_tracker.getClientInfo()); } public function trackPageview(_arg1:String=""):void{ _tracker.trackPageview(_arg1); } public function setClientInfo(_arg1:Boolean):void{ _tracker.setClientInfo(_arg1); } public function get account():String{ return (_account); } public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{ _tracker.linkByPost(_arg1, _arg2); } public function getDetectTitle():Boolean{ return (_tracker.getDetectTitle()); } public function dispatchEvent(_arg1:Event):Boolean{ return (_eventDispatcher.dispatchEvent(_arg1)); } public function get config():Configuration{ return (_config); } public function set mode(_arg1:String):void{ _mode = _arg1; } public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ _eventDispatcher.removeEventListener(_arg1, _arg2, _arg3); } public function setDetectFlash(_arg1:Boolean):void{ _tracker.setDetectFlash(_arg1); } public function resetSession():void{ _tracker.resetSession(); } public function setCampNameKey(_arg1:String):void{ _tracker.setCampNameKey(_arg1); } public function get debug():DebugConfiguration{ return (_debug); } public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{ _tracker.addItem(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6); } private function _bridgeFactory():GoogleAnalyticsAPI{ debug.info(((("GATracker (Bridge) v" + version) + "\naccount: ") + account)); return (new Bridge(account, _debug, _jsproxy)); } public function clearIgnoredOrganic():void{ _tracker.clearIgnoredOrganic(); } public function set account(_arg1:String):void{ _account = _arg1; } public function setVar(_arg1:String):void{ _tracker.setVar(_arg1); } public function build():void{ if (!isReady()){ _factory(); }; } public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ _eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } public function setDomainName(_arg1:String):void{ _tracker.setDomainName(_arg1); } public function createEventTracker(_arg1:String):EventTracker{ return (_tracker.createEventTracker(_arg1)); } public function setCampSourceKey(_arg1:String):void{ _tracker.setCampSourceKey(_arg1); } public function set config(_arg1:Configuration):void{ _config = _arg1; } public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):void{ _tracker.addTrans(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); } public function setCampContentKey(_arg1:String):void{ _tracker.setCampContentKey(_arg1); } public function willTrigger(_arg1:String):Boolean{ return (_eventDispatcher.willTrigger(_arg1)); } public function setLocalServerMode():void{ _tracker.setLocalServerMode(); } public function isReady():Boolean{ return (_ready); } public function getLocalGifPath():String{ return (_tracker.getLocalGifPath()); } public function setAllowAnchor(_arg1:Boolean):void{ _tracker.setAllowAnchor(_arg1); } public function clearIgnoredRef():void{ _tracker.clearIgnoredRef(); } public function get mode():String{ return (_mode); } public function set debug(_arg1:DebugConfiguration):void{ _debug = _arg1; } public function setLocalGifPath(_arg1:String):void{ _tracker.setLocalGifPath(_arg1); } public function getVersion():String{ return (_tracker.getVersion()); } public function setSampleRate(_arg1:Number):void{ _tracker.setSampleRate(_arg1); } public function setCookiePath(_arg1:String):void{ _tracker.setCookiePath(_arg1); } public function setAllowHash(_arg1:Boolean):void{ _tracker.setAllowHash(_arg1); } public function addIgnoredOrganic(_arg1:String):void{ _tracker.addIgnoredOrganic(_arg1); } public function setLocalRemoteServerMode():void{ _tracker.setLocalRemoteServerMode(); } public function cookiePathCopy(_arg1:String):void{ _tracker.cookiePathCopy(_arg1); } private function _factory():void{ var _local1:GoogleAnalyticsAPI; _jsproxy = new JavascriptProxy(debug); if (visualDebug){ debug.layout = new Layout(debug, _display); debug.active = visualDebug; }; var _local2:TrackerCache = (_tracker as TrackerCache); switch (mode){ case TrackerMode.BRIDGE: _local1 = _bridgeFactory(); break; case TrackerMode.AS3: default: _local1 = _trackerFactory(); }; if (!_local2.isEmpty()){ _local2.tracker = _local1; _local2.flush(); }; _tracker = _local1; _ready = true; dispatchEvent(new AnalyticsEvent(AnalyticsEvent.READY, this)); } public function setCampTermKey(_arg1:String):void{ _tracker.setCampTermKey(_arg1); } private function _trackerFactory():GoogleAnalyticsAPI{ debug.info(((("GATracker (AS3) v" + version) + "\naccount: ") + account)); _adSense = new AdSenseGlobals(debug); _dom = new HTMLDOM(debug); _dom.cacheProperties(); _env = new Environment("", "", "", debug, _dom); _buffer = new Buffer(config, debug, false); _gifRequest = new GIFRequest(config, debug, _buffer, _env); _idleTimer = new IdleTimer(config, debug, _display, _buffer); _ecom = new Ecommerce(_debug); _env.url = _display.stage.loaderInfo.url; return (new Tracker(account, config, debug, _env, _buffer, _gifRequest, _adSense, _ecom)); } public function setCampNOKey(_arg1:String):void{ _tracker.setCampNOKey(_arg1); } public function setDetectTitle(_arg1:Boolean):void{ _tracker.setDetectTitle(_arg1); } public function clearOrganic():void{ _tracker.clearOrganic(); } public function setCampaignTrack(_arg1:Boolean):void{ _tracker.setCampaignTrack(_arg1); } public function addIgnoredRef(_arg1:String):void{ _tracker.addIgnoredRef(_arg1); } public function getServiceMode():ServerOperationMode{ return (_tracker.getServiceMode()); } public function set visualDebug(_arg1:Boolean):void{ _visualDebug = _arg1; } public function setCampMediumKey(_arg1:String):void{ _tracker.setCampMediumKey(_arg1); } public function getDetectFlash():Boolean{ return (_tracker.getDetectFlash()); } public function get visualDebug():Boolean{ return (_visualDebug); } public function hasEventListener(_arg1:String):Boolean{ return (_eventDispatcher.hasEventListener(_arg1)); } public function getAccount():String{ return (_tracker.getAccount()); } public function setSessionTimeout(_arg1:int):void{ _tracker.setSessionTimeout(_arg1); } public function setRemoteServerMode():void{ _tracker.setRemoteServerMode(); } } var _local1:* = ServerOperationMode; return (_local1); }//package com.google.analytics
Section 192
//Key (com.keyboard.Key) package com.keyboard { import flash.events.*; import flash.display.*; public class Key { private static var initialized:Boolean = false; private static var keysDown:Object = new Object(); public static function initialize(_arg1:Stage):void{ if (!initialized){ _arg1.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed); _arg1.addEventListener(KeyboardEvent.KEY_UP, keyReleased); _arg1.addEventListener(Event.DEACTIVATE, clearKeys); initialized = true; }; } private static function clearKeys(_arg1:Event):void{ keysDown = new Object(); } public static function isDown(_arg1:uint):Boolean{ if (!initialized){ throw (new Error("Key class has yet been initialized.")); }; return (Boolean((_arg1 in keysDown))); } private static function keyPressed(_arg1:KeyboardEvent):void{ keysDown[_arg1.keyCode] = true; } private static function keyReleased(_arg1:KeyboardEvent):void{ if ((_arg1.keyCode in keysDown)){ delete keysDown[_arg1.keyCode]; }; } } }//package com.keyboard
Section 193
//LoaderEvent (com.malee.events.LoaderEvent) package com.malee.events { import flash.events.*; public class LoaderEvent extends Event { private var _item:IEventDispatcher; public static const ITEM_SECURITY_ERROR:String = "itemSecurityError"; public static const ITEM_IO_ERROR:String = "itemIOError"; public static const ITEM_COMPLETE:String = "itemComplete"; public function LoaderEvent(_arg1:String, _arg2:IEventDispatcher, _arg3:Boolean=false, _arg4:Boolean=false):void{ super(_arg1, _arg3, _arg4); _item = _arg2; } public function get item():IEventDispatcher{ return (_item); } override public function clone():Event{ return (new LoaderEvent(type, _item, bubbles, cancelable)); } } }//package com.malee.events
Section 194
//TimeoutErrorEvent (com.malee.events.TimeoutErrorEvent) package com.malee.events { import flash.events.*; public class TimeoutErrorEvent extends ErrorEvent { public static const TIMEOUT:String = "timeoutError"; public function TimeoutErrorEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:String=""){ super(_arg1, _arg2, _arg3, _arg4); } override public function clone():Event{ return (new TimeoutErrorEvent(type, bubbles, cancelable, text)); } } }//package com.malee.events
Section 195
//AssetLoader (com.malee.loaders.AssetLoader) package com.malee.loaders { import flash.events.*; import flash.display.*; import flash.system.*; import flash.net.*; import flash.errors.*; public class AssetLoader extends Loader implements ILoader { private var _url:String; private var context:LoaderContext; private var request:URLRequest; public function AssetLoader(_arg1:String="", _arg2:ApplicationDomain=null){ _url = _arg1; request = new URLRequest(); context = new LoaderContext(); this.applicationDomain = ((_arg2 == null)) ? CURRENT_DOMAIN : _arg2; handleInternalEvents(); } public function set applicationDomain(_arg1:ApplicationDomain):void{ context.applicationDomain = _arg1; } private function onError(_arg1:ErrorEvent):void{ dispatchEvent(_arg1); } private function onProgress(_arg1:ProgressEvent):void{ dispatchEvent(_arg1); } private function handleInternalEvents():void{ contentLoaderInfo.addEventListener(Event.INIT, onInit); contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onError); contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onError); contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress); } public function get url():String{ return (_url); } public function get applicationDomain():ApplicationDomain{ return (contentLoaderInfo.applicationDomain); } public function get bytesLoaded():uint{ return (contentLoaderInfo.bytesLoaded); } override public function close():void{ try { super.close(); } catch(error:IOError) { }; } public function get bytesTotal():uint{ return (contentLoaderInfo.bytesTotal); } private function onComplete(_arg1:Event):void{ dispatchEvent(_arg1); } private function onInit(_arg1:Event):void{ dispatchEvent(_arg1); } public function loadData(_arg1:String):void{ _url = _arg1; request.url = _arg1; load(request, context); } public static function get CURRENT_DOMAIN():ApplicationDomain{ return (ApplicationDomain.currentDomain); } public static function get NEW_DOMAIN():ApplicationDomain{ return (new ApplicationDomain()); } public static function loadQuick(_arg1:String, _arg2:Function=null, _arg3:Function=null):AssetLoader{ var _local4:AssetLoader = new (AssetLoader); if (_arg3 != null){ _local4.addEventListener(IOErrorEvent.IO_ERROR, _arg3); _local4.addEventListener(SecurityErrorEvent.SECURITY_ERROR, _arg3); }; if (_arg2 != null){ _local4.addEventListener(Event.COMPLETE, _arg2); }; _local4.loadData(_arg1); return (_local4); } public static function get CHILD_DOMAIN():ApplicationDomain{ return (new ApplicationDomain(CURRENT_DOMAIN)); } } }//package com.malee.loaders
Section 196
//ILoader (com.malee.loaders.ILoader) package com.malee.loaders { import flash.events.*; public interface ILoader extends IEventDispatcher { function loadData(_arg1:String):void; function get url():String; } }//package com.malee.loaders
Section 197
//XMLLoader (com.malee.loaders.XMLLoader) package com.malee.loaders { import flash.events.*; import flash.net.*; import flash.utils.*; public class XMLLoader extends URLLoader implements ILoader { private var timeout:Timer; private var request:URLRequest; private var _url:String; private var _xml:XML; public function XMLLoader(_arg1:String=""):void{ _url = _arg1; request = new URLRequest(); initInternalEvents(); } private function onComplete(_arg1:Event):void{ stopTimeout(); _xml = new XML(data); } private function initInternalEvents():void{ addEventListener(Event.COMPLETE, onComplete); } public function loadData(_arg1:String):void{ _url = _arg1; request.url = _arg1; load(request); } private function onTimeout(_arg1:TimerEvent):void{ close(); dispatchEvent(new ErrorEvent(ErrorEvent.ERROR, false, false, "Response Timeout")); } private function stopTimeout():void{ if (timeout != null){ timeout.stop(); timeout.removeEventListener(TimerEvent.TIMER, onTimeout); }; } public function get url():String{ return (_url); } public function loadDataTimeout(_arg1:String, _arg2:int):void{ if (_arg2 > 0){ timeout = new Timer((_arg2 * 1000)); timeout.addEventListener(TimerEvent.TIMER, onTimeout, false, 0, true); timeout.start(); }; loadData(_arg1); } public function get xml():XML{ return (_xml); } override public function close():void{ try { super.close(); } catch(error:Error) { }; stopTimeout(); } } }//package com.malee.loaders
Section 198
//ClearSpringInterface (com.malee.net.clearspring.ClearSpringInterface) package com.malee.net.clearspring { import flash.display.*; import flash.system.*; public class ClearSpringInterface { private var _ref:DisplayObject; private var _api:Object; public function ClearSpringInterface(_arg1:DisplayObject){ _ref = _arg1; start(); } public function start():void{ Security.allowDomain("bin.clearspring.com"); Security.allowDomain("widgets.clearspring.com"); try { _api = _ref.loaderInfo.loader.root; trace((("User has viewed me " + _api.context.user.WIDGET_VIEWS) + " times")); } catch(e:Error) { trace("WARNING: Not able to add loader event listener. Normal if not running in the Clearspring container."); }; } public function get api():Object{ if (_api != null){ return (_api); }; return (null); } } }//package com.malee.net.clearspring
Section 199
//getURL (com.malee.net.getURL) package com.malee.net { import flash.net.*; public function getURL(_arg1:String, _arg2:String=null):void{ navigateToURL(new URLRequest(_arg1), _arg2); } }//package com.malee.net
Section 200
//URLDataLoader (com.malee.net.URLDataLoader) package com.malee.net { import flash.events.*; import flash.utils.*; import flash.net.*; import com.malee.events.*; import flash.errors.*; public class URLDataLoader extends URLLoader { private var timeout:Timer; private var _data:URLVariables; private var _request:URLRequest; public function URLDataLoader(_arg1:String="text"){ _data = new URLVariables(); _request = new URLRequest(); this.dataFormat = _arg1; } private function onComplete(_arg1:Event):void{ stopTimeout(); } public function clearVariables():void{ _data = new URLVariables(); } private function onError(_arg1:Event):void{ stopTimeout(); } private function onTimeout(_arg1:TimerEvent):void{ close(); dispatchEvent(new TimeoutErrorEvent(TimeoutErrorEvent.TIMEOUT, false, false, "Response Timeout")); } public function get variables():URLVariables{ return (_data); } override public function close():void{ try { super.close(); } catch(error:IOError) { }; stopTimeout(); } public function sendData(_arg1:String, _arg2:int=0, _arg3:String="POST"):void{ if (_arg2 > 0){ if (timeout == null){ timeout = new Timer(0); }; timeout.delay = (_arg2 * 1000); timeout.addEventListener(TimerEvent.TIMER, onTimeout, false, 0, true); timeout.start(); }; removeInternalEvents(); addInternalEvents(); _request.url = _arg1; _request.method = _arg3; _request.data = _data; load(_request); } private function removeInternalEvents():void{ removeEventListener(Event.COMPLETE, onComplete); removeEventListener(IOErrorEvent.IO_ERROR, onError); removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onError); } public function addVariable(_arg1:String, _arg2):void{ _data[_arg1] = _arg2; } private function addInternalEvents():void{ addEventListener(Event.COMPLETE, onComplete); addEventListener(IOErrorEvent.IO_ERROR, onError); addEventListener(SecurityErrorEvent.SECURITY_ERROR, onError); } private function stopTimeout():void{ if (timeout != null){ timeout.stop(); timeout.removeEventListener(TimerEvent.TIMER, onTimeout); }; } } }//package com.malee.net
Section 201
//SoapMenu (com.malee.soap.SoapMenu) package com.malee.soap { import flash.events.*; import flash.display.*; import flash.net.*; import flash.ui.*; public class SoapMenu { private var _context:ContextMenu; private var _object:InteractiveObject; public function SoapMenu(_arg1:DisplayObject):void{ _object = (_arg1 as InteractiveObject); _context = new ContextMenu(); _context.hideBuiltInItems(); _object.contextMenu = _context; init(); } public function addItem(_arg1:String):void{ var _local2:ContextMenuItem = new ContextMenuItem(_arg1); _local2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, selectItem); _context.customItems.push(_local2); } private function selectItem(_arg1:ContextMenuEvent):void{ switch (_arg1.target.caption){ case "Game by Soap Creative": linkToSoap(); break; case "High Quality": toggleQuality("HIGH"); break; case "Low Quality": toggleQuality("LOW"); break; }; } private function linkToSoap():void{ SoapTracking.trackSite("click", "visit_SOAP"); navigateToURL(new URLRequest("http://www.soap.com.au"), "_blank"); } private function toggleQuality(_arg1:String):void{ _object.stage.quality = _arg1; } private function init():void{ addItem("Game by Soap Creative"); addItem("High Quality"); addItem("Low Quality"); } } }//package com.malee.soap
Section 202
//SoapTracking (com.malee.soap.SoapTracking) package com.malee.soap { import flash.events.*; import flash.display.*; import flash.net.*; import flash.utils.*; public class SoapTracking { private static var _shared:SharedObject; public static var clientId:int; private static var siteEVTTime:Number; private static var _request:URLRequest; public static var projectId:int; private static var _tracking:URLLoader; private static var siteStartTime:Number; private static var returnVisitor:int; private static function onError(_arg1:IOErrorEvent):void{ trace("Tracking Error"); } private static function sendSiteStats(_arg1:DisplayObject):void{ var _local2:URLRequest = new URLRequest(); var _local3:URLLoader = new URLLoader(); var _local4:URLVariables = new URLVariables(); _local2.url = "http://stats.soap.com.au/usrinfo.php"; _local2.method = URLRequestMethod.POST; var _local5:String = _arg1.loaderInfo.url; if (_local5.substring(0, 4) == "http"){ _local4.url = _local5; } else { _local4.url = "local"; }; _local4.clientId = clientId; _local4.projectId = projectId; _local2.data = _local4; _local3.load(_local2); } private static function initTracking():void{ siteStartTime = getTimer(); siteEVTTime = getTimer(); checkReturn(); } private static function onComplete(_arg1:Event):void{ } public static function trackSite(_arg1:String, ... _args):void{ if (_tracking == null){ trace("ERROR - SoapTracking has not been Initalised"); return; }; var _local3:String = _args.join(","); var _local4:int; switch (_arg1){ case "impression": break; case "click": break; case "over": break; case "durationFromInit": _local4 = ((getTimer() - siteStartTime) / 1000); break; case "durationEvent": _local4 = ((getTimer() - siteEVTTime) / 1000); break; default: _arg1 = ""; }; var _local5:URLVariables = new URLVariables(); _local5["return"] = returnVisitor; _local5.clientId = clientId; _local5.projectId = projectId; _local5.actionType = _arg1; _local5.pageId = _local3; _local5.time = _local4; _local5.user = _shared.data.userID; _request.data = _local5; _tracking.load(_request); } private static function checkReturn():void{ returnVisitor = ((_shared.data.userID == undefined)) ? 0 : 1; _shared.data.userID = (Math.random() * 9999999999); } public static function INIT(_arg1:int, _arg2:int, _arg3:DisplayObject):void{ clientId = _arg1; projectId = _arg2; _tracking = new URLLoader(); _request = new URLRequest(); _shared = SharedObject.getLocal(((("siteTrackingStats_" + _arg1) + "_") + _arg2), "/"); _request.url = "http://stats.soap.com.au/pgtrack.php"; _request.method = URLRequestMethod.POST; _tracking.dataFormat = URLLoaderDataFormat.TEXT; _tracking.addEventListener(Event.COMPLETE, onComplete); _tracking.addEventListener(IOErrorEvent.IO_ERROR, onError); initTracking(); sendSiteStats(_arg3); } } }//package com.malee.soap
Section 203
//FormUtil (com.malee.utils.FormUtil) package com.malee.utils { public class FormUtil { public static const BAD_ALL:Array = BAD_INITIALS.concat(BAD_NAMES); public static const BAD_INITIALS:Array = ["fuk", "fuc", "cnt", "knt", "ass", "dic", "fag", "d1k", "4q", "cun", "pis", "nig", "fu", "as5", "a55", "p1s", "fu2", "BJ", "BJU", "bum", "cok", "cum", "tit", "t1t", "coc", "koc", "f4g", "c0k", "c0c", "twt", "pus", "dyk", "tlt", "sac", "sak", "s4c", "s4k"]; public static const BAD_NAMES:Array = ["fuck", "cunt", "dick", "shit", "pussy", "kunt"]; public static function isBadLanguage(_arg1:String, _arg2:Array):Boolean{ var _local3:String; var _local4:String; var _local5:int; _local3 = _arg1.toLowerCase(); if (_local3.length == 0){ return (true); }; _local5 = _arg2.length; while (--_local5 >= 0) { _local4 = _arg2[_local5].toLowerCase(); if (_local3.indexOf(_local4, 0) >= 0){ return (true); }; }; return (false); } public static function isValidEmail(_arg1:String):Boolean{ if (_arg1.length > 7){ if (_arg1.indexOf("@") > 0){ if ((((((((_arg1.indexOf(" ") < 0)) && ((_arg1.indexOf(",") < 0)))) && ((_arg1.indexOf("'") < 0)))) && ((_arg1.indexOf("\"") < 0)))){ if ((_arg1.indexOf("@") + 1) < _arg1.lastIndexOf(".")){ if (_arg1.indexOf("@") == _arg1.lastIndexOf("@")){ if (_arg1.lastIndexOf(".") < (_arg1.length - 1)){ return (true); }; }; }; }; }; }; return (false); } } }//package com.malee.utils
Section 204
//TextUtil (com.malee.utils.TextUtil) package com.malee.utils { public class TextUtil { public static function formatScoreComma(_arg1:Number, _arg2:String=","):String{ return (formatScoreCommaString(_arg1.toString(), _arg2)); } private static function formatScoreCommaString(_arg1:String, _arg2:String):String{ var _local5:int; var _local6:int; var _local3:int = _arg1.length; var _local4 = ""; if (_local3 > 3){ _local5 = (_local3 % 3); _local6 = 0; while (_local6 < _local3) { if (((((((_local6 % 3) == _local5)) && (!((_local6 == (_local3 - 1)))))) && (!((_local6 == 0))))){ _local4 = (_local4 + _arg2); }; _local4 = (_local4 + _arg1.charAt(_local6)); _local6++; }; } else { _local4 = (_local4 + _arg1); }; return (_local4); } public static function formatTime(_arg1:Number, _arg2:String="0", _arg3:String="0"):String{ var _local4:int = (int((_arg1 / 60)) % 60); var _local5:int = (int(_arg1) % 60); var _local6:String = ((_local4 < 10)) ? (_arg2 + _local4.toString()) : _local4.toString(); var _local7:String = ((_local5 < 10)) ? (_arg3 + _local5.toString()) : _local5.toString(); return (((_local6 + ":") + _local7)); } public static function formatMiliseconds(_arg1:Number, _arg2:String="0", _arg3:String="0", _arg4:String="0"):String{ var _local5:int = (int(_arg1) % 60); var _local6:int = (Math.round(((_arg1 - _local5) * 10)) % 10); var _local7:String = (_arg4 + _local6.toString()); return (((formatTime(_arg1, _arg2, _arg3) + ":") + _local7)); } public static function formatInvertedScoreComma(_arg1:Number, _arg2:String="000000000", _arg3:String=","):String{ var _local4:String = _arg1.toString(); var _local5:String = _arg2.substring(0, (_arg2.length - _local4.length)).concat(_local4); return (formatScoreCommaString(_local5, _arg3)); } } }//package com.malee.utils
Section 205
//Earthquake (com.markfennell.display.Earthquake) package com.markfennell.display { import flash.events.*; import flash.display.*; import flash.utils.*; public class Earthquake { private static const FRAME_RATE:int = 25; private static var timer:Timer; private static var originalX:int; private static var originalY:int; private static var horizontal:Boolean; private static var intensityOffset:int; private static var intensity:int; private static var image:DisplayObject; private static var vertical:Boolean; private static function resetImage(_arg1:TimerEvent=null):void{ image.x = originalX; image.y = originalY; cleanup(); } public static function temp():void{ } public static function go(_arg1:DisplayObject, _arg2:Number=10, _arg3:Number=1, _arg4:Boolean=true, _arg5:Boolean=true):void{ if (timer){ timer.stop(); }; image = _arg1; originalX = image.x; originalY = image.y; horizontal = _arg5; vertical = _arg4; intensity = _arg2; intensityOffset = (intensity / 2); var _local6:int = int((1000 / FRAME_RATE)); var _local7:int = int(((_arg3 * 1000) / _local6)); timer = new Timer(_local6, _local7); timer.addEventListener(TimerEvent.TIMER, quake); timer.addEventListener(TimerEvent.TIMER_COMPLETE, resetImage); timer.start(); } private static function cleanup():void{ timer = null; image = null; } private static function quake(_arg1:TimerEvent):void{ var _local2:int = ((originalX + (Math.random() * intensity)) - intensityOffset); var _local3:int = ((originalY + (Math.random() * intensity)) - intensityOffset); if (horizontal){ image.x = _local2; }; if (vertical){ image.y = _local3; }; } } }//package com.markfennell.display
Section 206
//Fx (com.markfennell.display.Fx) package com.markfennell.display { import flash.display.*; import flash.utils.*; import flash.filters.*; import caurina.transitions.*; public class Fx extends Sprite { private var m_callBack:Function; private var m_mc:DisplayObject; public function zoomIn(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:String, _arg10:Function=null):void{ var _interval:Number; var blurFilter:BlurFilter; var _animate:Function; var _mc = _arg1; var delay = _arg2; var duration = _arg3; var startX = _arg4; var startY = _arg5; var finishX = _arg6; var finishY = _arg7; var blur = _arg8; var transition = _arg9; var a_callBack = _arg10; _animate = function ():void{ m_mc.filters = [blurFilter]; Tweener.addTween(m_mc, {x:finishX, y:finishY, time:duration, transition:transition, onComplete:onMotionStopped}); }; var _initTime:Number = getTimer(); var angle:Number = Math.atan2((finishY - startY), (finishX - startX)); var blurX:int = Math.abs(Math.floor((Math.cos(angle) * blur))); var blurY:int = Math.abs(Math.floor((Math.sin(angle) * blur))); m_mc = _mc; var wait:int = (1000 * delay); m_callBack = a_callBack; m_mc.x = startX; m_mc.y = startY; blurFilter = new BlurFilter(blurX, blurY, 1); _interval = setTimeout(_animate, wait); } public function onMotionStopped():void{ m_mc.filters = []; if (m_callBack != null){ m_callBack(); }; } } }//package com.markfennell.display
Section 207
//SpriteSheet (com.markfennell.display.SpriteSheet) package com.markfennell.display { import flash.display.*; import flash.geom.*; public class SpriteSheet extends Sprite { private var BitmapDataArray:Array; private var _frames:Number; private var stepX:Number; private var transformMatrix:Matrix; private var yScale:Number; private var stepY:Number; private var copyPoint:Point; private var BitmapDataTile:BitmapData; private var _h:Number; private var stepRot:Number; private var xScale:Number; private var rotScale:Number; private var _w:Number; private var copyRectangle:Rectangle; public function SpriteSheet(_arg1:MovieClip, _arg2:Number, _arg3:Number){ _frames = _arg1.totalFrames; _w = _arg2; _h = _arg3; BitmapDataArray = []; copyRectangle = new Rectangle(0, 0, _w, _h); var _local4:int; while (_local4 < _frames) { BitmapDataTile = new BitmapData(_arg2, _arg3, true, 0xFFFFFF); transformMatrix = new Matrix(); transformMatrix.tx = (_arg2 / 2); transformMatrix.ty = _arg3; _arg1.gotoAndStop((_local4 + 1)); BitmapDataTile.draw(_arg1, transformMatrix); BitmapDataArray.push(BitmapDataTile); _local4++; }; } public function destroy():void{ var _local1:int; while (_local1 < BitmapDataArray.length) { BitmapDataArray[_local1].dispose(); _local1++; }; } public function draw(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:int, _arg5:Boolean=false):void{ if (_arg4 < 0){ _arg4 = 0; }; if (_arg4 >= BitmapDataArray.length){ _arg4 = (BitmapDataArray.length - 1); }; copyPoint = new Point((_arg2 - int((_w / 2))), (_arg3 - int((_h / 2)))); _arg1.copyPixels(getBitmap(_arg4, _arg5), copyRectangle, copyPoint, null, null, true); } public function getWidth():Number{ return (_w); } public function getFrames():int{ return (_frames); } public function getHeight():Number{ return (_h); } public function getBitmap(_arg1:Number, _arg2:Boolean):BitmapData{ var _local3:BitmapData; var _local4:Matrix; if (_arg1 < 0){ _arg1 = 0; }; if (_arg1 >= BitmapDataArray.length){ _arg1 = (BitmapDataArray.length - 1); }; if (_arg2){ _local3 = new BitmapData(_w, _h, true, 0xFFFFFF); _local4 = new Matrix(); _local4.scale(-1, 1); _local4.tx = _w; _local3.draw(BitmapDataArray[_arg1], _local4); return (_local3); }; return (BitmapDataArray[_arg1]); } } }//package com.markfennell.display
Section 208
//Static (com.markfennell.display.Static) package com.markfennell.display { import flash.events.*; import flash.display.*; import flash.utils.*; import org.casalib.display.*; import flash.geom.*; public class Static extends CasaSprite { private var m_distort:Number; private var m_angle:Number;// = 0 private var m_bitmapData0:BitmapData; private var m_bitmapData1:BitmapData; private var m_bitmapData2:BitmapData; private var m_bitmapData3:BitmapData; private var m_displayObject:DisplayObject; private var m_frequency:Number; private var m_timeout:int; private var m_bitmap:Bitmap; private var m_vshift:Number;// = 0 private var m_fuzz:Number; private var m_time:int; private var m_amount:Number; private var m_width:int; private var m_height:int; private var m_angleinc:Number;// = 0.01 private var m_vshiftrate:Number;// = 60 public function Static(_arg1:DisplayObject, _arg2:int, _arg3:int){ m_displayObject = _arg1; m_width = _arg2; m_height = _arg3; m_bitmapData0 = new BitmapData(m_width, m_height, false, 0); m_bitmapData1 = m_bitmapData0.clone(); m_bitmapData2 = m_bitmapData0.clone(); m_bitmapData3 = m_bitmapData0.clone(); m_bitmap = new Bitmap(m_bitmapData2); addChild(m_bitmap); } public function distort(_arg1:Event=null):void{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:BitmapData; m_bitmapData0.draw(m_displayObject, new Matrix()); m_angle = (m_angle + m_angleinc); m_frequency = ((Math.sin(m_angle) * 3) * Math.PI); var _local2:int; while (_local2 <= m_height) { _local3 = (((m_frequency * _local2) / height) + m_angle); _local4 = (m_amount * Math.sin(_local3)); _local4 = (_local4 + (Math.random() * 4)); m_bitmapData1.copyPixels(m_bitmapData0, new Rectangle(_local4, _local2, (m_width - _local4), 1), new Point(0, _local2)); _local2++; }; if (Math.random() < 0.1){ m_angle = (Math.random() * Math.PI); } else { m_angle = (m_angle * 0.8); }; if (Math.random() < m_fuzz){ m_bitmapData3.noise(int((Math.random() * 0xFF)), 0, 0xFF, ((1 | 2) | 4), true); _local5 = Math.floor((Math.random() * 128)); m_bitmapData1.merge(m_bitmapData3, m_bitmapData1.rect, new Point(0, 0), _local5, _local5, _local5, _local5); }; if (Math.random() < 0.02){ m_vshift = m_vshiftrate; } else { m_vshift = 0; }; if (m_vshift > 0){ m_vshift = (m_vshift + m_vshiftrate); m_vshift = (m_vshift % m_height); _local6 = m_bitmapData1.clone(); m_bitmapData1.copyPixels(_local6, new Rectangle(0, 0, m_width, m_vshift), new Point(0, (m_height - m_vshift))); m_bitmapData1.copyPixels(_local6, new Rectangle(0, m_vshift, m_width, (m_height - m_vshift)), new Point(0, 0)); }; m_bitmapData2.copyChannel(m_bitmapData1, m_bitmapData2.rect, new Point((Math.random() * m_distort), 0), 1, 1); m_bitmapData2.copyChannel(m_bitmapData1, m_bitmapData2.rect, new Point((Math.random() * m_distort), 0), 2, 2); m_bitmapData2.copyChannel(m_bitmapData1, m_bitmapData2.rect, new Point((Math.random() * m_distort), 0), 4, 4); } override public function destroy():void{ clearTimeout(m_timeout); removeChild(m_bitmap); m_bitmap = null; m_bitmapData0.dispose(); m_bitmapData1.dispose(); m_bitmapData2.dispose(); m_bitmapData3.dispose(); m_displayObject = null; super.destroy(); } public function reset():void{ removeEventListener(Event.ENTER_FRAME, distort); m_bitmapData2.draw(m_bitmapData0, new Matrix()); } public function glitch(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{ m_amount = _arg2; m_fuzz = _arg3; m_distort = _arg4; m_time = _arg1; addEventListener(Event.ENTER_FRAME, distort); if (m_time > 0){ m_timeout = setTimeout(reset, m_time); }; } } }//package com.markfennell.display
Section 209
//TimeKeeper (com.markfennell.display.TimeKeeper) package com.markfennell.display { import flash.utils.*; public class TimeKeeper { private var isCountdown:Boolean;// = false private var totalTime:Number;// = 0 private var oldTime:Number;// = 0 private var pause:Boolean;// = false private var countdownTime:Number;// = 0 public function TimeKeeper(_arg1:Number=0){ if (_arg1 != 0){ isCountdown = true; countdownTime = _arg1; }; this.reset(); } public function addMili(_arg1:int):void{ this.totalTime = Math.max(0, (this.totalTime + _arg1)); } public function reset():void{ this.oldTime = 0; this.pause = true; this.totalTime = 0; } public function displayHour():int{ var _local1:int = this.getMili(); var _local2:int = Math.floor((_local1 / 1000)); var _local3:int = Math.floor((_local2 / 60)); var _local4:int = Math.floor((_local3 / 60)); return (_local4); } public function stop():void{ if (!this.pause){ this.pause = true; this.totalTime = (this.totalTime + (getTimer() - this.oldTime)); }; } public function getTime(_arg1:int):int{ if (isCountdown){ return ((countdownTime - _arg1)); }; return (_arg1); } public function displaySec():int{ var _local1:int = this.getMili(); var _local2:int = Math.floor((_local1 / 1000)); _local2 = (_local2 % 60); return (_local2); } public function displayMin():int{ var _local1:int = this.getMili(); var _local2:int = Math.floor((_local1 / 1000)); var _local3:int = Math.floor((_local2 / 60)); _local3 = (_local3 % 60); return (_local3); } public function getMili():int{ var _local1:int = this.totalTime; if (!this.pause){ _local1 = (_local1 + (getTimer() - this.oldTime)); }; return (getTime(_local1)); } public function displayTime():String{ var _local1:String = three(displayMili()); _local1 = _local1.substring(0, 3); var _local2:String = ((((displayMin() + "'") + two(displaySec())) + "\"") + _local1); return (_local2); } public function getMins():int{ var _local1:int = (this.totalTime / 1000); if (!this.pause){ _local1 = (_local1 + (((getTimer() - this.oldTime) / 1000) / 60)); }; return (Math.round(getTime(_local1))); } public function getSecs():int{ var _local1:int = (this.totalTime / 1000); if (!this.pause){ _local1 = (_local1 + ((getTimer() - this.oldTime) / 1000)); }; return (Math.round(getTime(_local1))); } public function subMili(_arg1:int):void{ this.totalTime = (this.totalTime - _arg1); } public function start():void{ if (this.pause){ this.pause = false; this.oldTime = getTimer(); }; } public function displayMili():int{ var _local1:int = this.getMili(); _local1 = (_local1 % 1000); return (_local1); } public static function display(_arg1:Number, _arg2:String="'", _arg3:String="""):String{ var _local4:int = Math.floor((_arg1 / 1000)); var _local5:int = Math.floor((_local4 / 60)); return ((((((_local5 % 60) + _arg2) + two((_local4 % 60))) + _arg3) + three((_arg1 % 1000)))); } private static function two(_arg1:int):String{ return ((((_arg1)>9) ? "" : "0" + _arg1)); } private static function three(_arg1:int):String{ return (((((_arg1)>99) ? "" : "0" + ((_arg1)>9) ? "" : "0") + _arg1)); } } }//package com.markfennell.display
Section 210
//TriggerEvent (com.markfennell.events.TriggerEvent) package com.markfennell.events { import flash.events.*; public class TriggerEvent extends Event { public var data; public function TriggerEvent(_arg1:String, _arg2){ super(_arg1, true, true); data = _arg2; } override public function clone():Event{ return (new TriggerEvent(type, data)); } } }//package com.markfennell.events
Section 211
//Line (com.markfennell.geom.Line) package com.markfennell.geom { import flash.display.*; import flash.geom.*; import com.foxaweb.utils.*; public class Line { public var p0:Point; public var p1:Point; public function Line(_arg1:Point, _arg2:Point):void{ p0 = _arg1; p1 = _arg2; } public function get angle():Number{ return (Math.atan2((p1.y - p0.y), (p1.x - p0.x))); } public function toString():void{ trace((((((((("Line (" + int(p0.x)) + ",") + int(p0.y)) + ") -> (") + int(p1.x)) + ",") + int(p1.y)) + ")")); } public static function createLine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Line{ var _local5:Number = (_arg3 / 2); var _local6:Number = Math.sin(_arg4); var _local7:Number = Math.cos(_arg4); var _local8:Point = new Point((_arg1 + (_local5 * _local7)), (_arg2 + (_local5 * _local6))); var _local9:Point = new Point((_arg1 - (_local5 * _local7)), (_arg2 - (_local5 * _local6))); return (new Line(_local8, _local9)); } public static function draw(_arg1:Line, _arg2, _arg3:int=0xFF0000):void{ if ((((_arg2 is MovieClip)) || ((_arg2 is Sprite)))){ _arg2.graphics.lineStyle(2, _arg3); _arg2.graphics.moveTo(_arg1.p0.x, _arg1.p0.y); _arg2.graphics.lineTo(_arg1.p1.x, _arg1.p1.y); } else { if ((_arg2 is BitmapData)){ Raster.line(_arg2, _arg1.p0.x, _arg1.p0.y, _arg1.p1.x, _arg1.p1.y, _arg3); }; }; } public static function localToLocal(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Point=null):Point{ var _local4:Point = (_arg3) ? _arg3 : new Point(); _local4 = _arg1.localToGlobal(_local4); _local4 = _arg2.globalToLocal(_local4); return (_local4); } public static function drawRect(_arg1:Rectangle, _arg2, _arg3:uint=0xFF0000):void{ if ((((_arg2 is MovieClip)) || ((_arg2 is Sprite)))){ _arg2.graphics.lineStyle(2, _arg3); _arg2.graphics.moveTo(_arg1.x, _arg1.y); _arg2.graphics.lineTo((_arg1.x + _arg1.width), _arg1.y); _arg2.graphics.lineTo((_arg1.x + _arg1.width), (_arg1.y + _arg1.height)); _arg2.graphics.lineTo(_arg1.x, (_arg1.y + _arg1.height)); _arg2.graphics.lineTo(_arg1.x, _arg1.y); } else { if ((_arg2 is BitmapData)){ Raster.line(_arg2, _arg1.x, _arg1.y, (_arg1.x + _arg1.width), _arg1.y, _arg3); Raster.line(_arg2, (_arg1.x + _arg1.width), _arg1.y, (_arg1.x + _arg1.width), (_arg1.y + _arg1.height), _arg3); Raster.line(_arg2, (_arg1.x + _arg1.width), (_arg1.y + _arg1.height), _arg1.x, (_arg1.y + _arg1.height), _arg3); Raster.line(_arg2, _arg1.x, (_arg1.y + _arg1.height), _arg1.x, _arg1.y, _arg3); }; }; } public static function getPoint(_arg1:Line, _arg2:Number):Point{ var _local3:Number = (_arg1.p0.x + (_arg2 * (_arg1.p1.x - _arg1.p0.x))); var _local4:Number = (_arg1.p0.y + (_arg2 * (_arg1.p1.y - _arg1.p0.y))); return (new Point(_local3, _local4)); } public static function intersects(_arg1:Line, _arg2:Line):Boolean{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; _local3 = (_arg1.p1.x - _arg1.p0.x); _local4 = (_arg1.p1.y - _arg1.p0.y); _local5 = (_arg2.p1.x - _arg2.p0.x); _local6 = (_arg2.p1.y - _arg2.p0.y); _local7 = ((-(_local5) * _local4) + (_local3 * _local6)); _local10 = (_arg1.p0.x - _arg2.p0.x); _local11 = (_arg1.p0.y - _arg2.p0.y); _local8 = (((-(_local4) * _local10) + (_local3 * _local11)) / _local7); _local9 = (((_local5 * _local11) - (_local6 * _local10)) / _local7); if ((((((((_local8 >= 0)) && ((_local8 <= 1)))) && ((_local9 >= 0)))) && ((_local9 <= 1)))){ return (true); }; return (false); } public static function drawPoint(_arg1:Point, _arg2, _arg3:uint=0xFF00):void{ if ((((_arg2 is MovieClip)) || ((_arg2 is Sprite)))){ _arg2.graphics.lineStyle(2, _arg3); _arg2.graphics.drawCircle(_arg1.x, _arg1.y, 4); } else { if ((_arg2 is BitmapData)){ Raster.circle(_arg2, _arg1.x, _arg1.y, 4, _arg3); }; }; } } }//package com.markfennell.geom
Section 212
//Polygon (com.markfennell.geom.Polygon) package com.markfennell.geom { import flash.geom.*; public class Polygon { public var edges:Array; public function Polygon(... _args):void{ edges = []; super(); var _local2:int; while (_local2 < _args.length) { if ((_args[_local2] is Line)){ edges.push(_args[_local2]); }; _local2++; }; } public function draw(_arg1, _arg2:int=0xFF0000):void{ var _local3:int; while (_local3 < length) { Line.draw(getEdge(_local3), _arg1, _arg2); _local3++; }; } public function getEdge(_arg1:int):Line{ return (edges[_arg1]); } public function get length():Number{ return (edges.length); } public static function pointInRect(_arg1:Point, _arg2:Rectangle):Boolean{ if ((((((((_arg1.x >= _arg2.x)) && ((_arg1.x <= (_arg2.x + _arg2.width))))) && ((_arg1.y >= _arg2.y)))) && ((_arg1.y <= (_arg2.y + _arg2.height))))){ return (true); }; return (false); } public static function rectToPoly(_arg1:Rectangle):Polygon{ var _local2:Line = new Line(new Point(_arg1.x, _arg1.y), new Point(_arg1.x, (_arg1.y + _arg1.height))); var _local3:Line = new Line(new Point((_arg1.x + _arg1.width), _arg1.y), new Point((_arg1.x + _arg1.width), (_arg1.y + _arg1.height))); var _local4:Line = new Line(new Point(_arg1.x, _arg1.y), new Point((_arg1.x + _arg1.width), _arg1.y)); var _local5:Line = new Line(new Point(_arg1.x, (_arg1.y + _arg1.height)), new Point((_arg1.x + _arg1.width), (_arg1.y + _arg1.height))); var _local6:Polygon = new Polygon(_local2, _local4, _local3, _local5); return (_local6); } public static function isWithin(_arg1:Point, _arg2:Polygon):Boolean{ var _local3:Line = new Line(_arg1, new Point(_arg1.x, 10000000)); var _local4:int; var _local5:int; while (_local5 < _arg2.length) { if (Line.intersects(_arg2.getEdge(_local5), _local3)){ _local4++; }; _local5++; }; return (!(((_local4 % 2) == 0))); } public static function rectInPoly(_arg1:Rectangle, _arg2:Polygon):Boolean{ var _local5:int; if (isWithin(new Point(_arg1.x, _arg1.y), _arg2)){ return (true); }; if (isWithin(new Point((_arg1.x + _arg1.width), _arg1.y), _arg2)){ return (true); }; if (isWithin(new Point((_arg1.x + _arg1.width), (_arg1.y + _arg1.height)), _arg2)){ return (true); }; if (isWithin(new Point(_arg1.x, (_arg1.y + _arg1.height)), _arg2)){ return (true); }; var _local3:Polygon = rectToPoly(_arg1); var _local4:int; while (_local4 < _arg2.length) { _local5 = 0; while (_local5 < _local3.length) { if (Line.intersects(_local3.getEdge(_local5), _arg2.getEdge(_local4))){ return (true); }; _local5++; }; _local4++; }; return (false); } } }//package com.markfennell.geom
Section 213
//SoundEvent (com.markfennell.sound.SoundEvent) package com.markfennell.sound { import flash.events.*; public class SoundEvent extends Event { public var force:Boolean; public var volume:Number; public var name:String; public var loops:int; public static var DIALOG:String = "Sound Dialog"; public static var EFFECT:String = "Sound Effect"; public function SoundEvent(_arg1:String, _arg2:String, _arg3:Number, _arg4:int=1, _arg5:Boolean=false){ super(_arg1, true, true); name = _arg2; volume = _arg3; loops = _arg4; force = _arg5; } override public function clone():Event{ return (new SoundEvent(type, name, volume, loops, force)); } } }//package com.markfennell.sound
Section 214
//SoundPlayer (com.markfennell.sound.SoundPlayer) package com.markfennell.sound { import flash.events.*; import flash.utils.*; import flash.media.*; public class SoundPlayer extends EventDispatcher { private var m_soundChannel:SoundChannel; public var stoppable:Boolean;// = true private var m_loops:int; public var m_soundState:String; private var m_volume:Number; private var m_position:Number;// = 0 private var m_sound:Sound; private static var soundsDictionary:Dictionary = new Dictionary(); public static var STOPPED:String = "stopped"; public static var PAUSED:String = "paused"; public static var FINISHED:String = "finished"; public static var INITIALIZED:String = "init"; public static var PLAYING:String = "playing"; public static var COMPLETE:String = "complete"; public function SoundPlayer(_arg1:Sound):void{ m_soundChannel = new SoundChannel(); super(); m_sound = _arg1; m_soundState = INITIALIZED; soundsDictionary[this] = this; } public function get soundState():String{ return (m_soundState); } public function play(_arg1:Number=1, _arg2:int=1):void{ if (m_soundState == PLAYING){ return; }; m_volume = _arg1; m_loops = _arg2; m_soundChannel.stop(); m_soundChannel = m_sound.play(m_position); m_soundChannel.addEventListener(Event.SOUND_COMPLETE, soundComplete); m_soundState = PLAYING; volume = m_volume; } public function set soundState(_arg1:String):void{ m_soundState = _arg1; } public function pause():void{ if (m_soundState == INITIALIZED){ return; }; m_position = m_soundChannel.position; m_soundChannel.stop(); m_soundChannel.removeEventListener(Event.SOUND_COMPLETE, soundComplete); m_soundState = PAUSED; } public function stop():void{ m_position = 0; m_soundState = STOPPED; if (m_soundChannel){ m_soundChannel.stop(); m_soundChannel.removeEventListener(Event.SOUND_COMPLETE, soundComplete); }; } public function get leftPeak():Number{ return (m_soundChannel.leftPeak); } public function set position(_arg1:Number):void{ var _local2 = (m_soundState == PLAYING); pause(); m_position = _arg1; if (_local2){ play(); }; } public function get duration():Number{ return (m_sound.length); } public function get volume():Number{ return (m_soundChannel.soundTransform.volume); } public function get rightPeak():Number{ return (m_soundChannel.rightPeak); } public function destroy():void{ stop(); m_sound = null; m_soundChannel = null; soundsDictionary[this] = null; } public function get position():Number{ return (m_soundChannel.position); } public function resume():void{ play(m_volume, m_loops); } public function get playing():Boolean{ return ((m_soundState == PLAYING)); } private function soundComplete(_arg1:Event):void{ m_loops--; m_soundState = FINISHED; if (m_loops == 0){ dispatchEvent(new Event(COMPLETE)); destroy(); } else { play(volume, m_loops); }; } public function set volume(_arg1:Number):void{ if (m_soundChannel == null){ return; }; var _local2:SoundTransform = m_soundChannel.soundTransform; _local2.volume = _arg1; m_soundChannel.soundTransform = _local2; } public static function stopSounds():void{ var item:SoundPlayer; for each (item in soundsDictionary) { try { if (item.stoppable){ item.destroy(); soundsDictionary[item] = null; }; } catch(e:Error) { }; }; } } }//package com.markfennell.sound
Section 215
//TextWriter (com.markfennell.text.TextWriter) package com.markfennell.text { import flash.events.*; import flash.utils.*; import flash.text.*; import org.casalib.util.*; public class TextWriter extends EventDispatcher { private var m_position:int;// = 0 private var m_string:String; private var m_function:Function; private var m_timeout:int; private var m_editedString:String;// = "" private var m_textfield:TextField; private var m_textFormat:TextFormat; private var m_time:int; public static var COMPLETE:String = "Writer Complete"; public function TextWriter(_arg1:TextField, _arg2:String, _arg3:int=0, _arg4:int=15, _arg5:Boolean=false, _arg6:Function=null){ m_textfield = _arg1; m_textfield.htmlText = ""; m_textfield.wordWrap = false; m_textfield.multiline = true; m_string = _arg2; m_time = _arg4; m_function = _arg6; m_textFormat = new TextFormat(); if (_arg5){ m_textFormat.bold = true; }; editString(); setTimeout(startWriting, _arg3); } private function startWriting():void{ m_timeout = setInterval(writeLetter, m_time); } private function writeLetter():void{ if (m_position > m_string.length){ clearInterval(m_timeout); dispatchEvent(new Event(COMPLETE)); return; }; m_textfield.htmlText = m_string.substring(0, m_position); m_textfield.setTextFormat(m_textFormat); m_position++; if (m_function != null){ m_function(); }; } private function editString():void{ m_textfield.htmlText = ""; var _local1:Array = m_string.split(" "); m_string = ""; var _local2:int; while (_local2 < _local1.length) { m_textfield.htmlText = ((m_editedString + _local1[_local2]) + " "); if (m_textfield.textWidth > m_textfield.width){ m_editedString = (m_editedString + "<BR>"); m_string = (m_string + StringUtil.trim(m_editedString)); m_editedString = (_local1[_local2] + " "); } else { m_editedString = ((m_editedString + _local1[_local2]) + " "); }; if (_local2 == (_local1.length - 1)){ m_string = (m_string + StringUtil.trim(m_editedString)); }; _local2++; }; m_textfield.htmlText = ""; m_textfield.visible = true; } public function destroy():void{ clearInterval(m_timeout); } } }//package com.markfennell.text
Section 216
//DelayedCall (com.markfennell.utils.DelayedCall) package com.markfennell.utils { import flash.events.*; import flash.display.*; import flash.utils.*; public class DelayedCall { private var delay:Number; private var func:Function; private var timer:Timer; private var parameters:Array; private var loop:Boolean;// = false private var count:Number; private var milliseconds:Boolean;// = false private var _pending:Boolean;// = false private static var FRAME_DISPATCHER:Shape; public function DelayedCall(_arg1:Function, _arg2:Array, _arg3:Number, _arg4:Boolean=true){ count = 0; this.func = _arg1; this.delay = _arg3; this.parameters = _arg2; this.milliseconds = _arg4; begin(); } public function begin():void{ if (_pending){ clear(); }; _pending = true; if (milliseconds){ timer = new Timer(delay, 1); timer.addEventListener(TimerEvent.TIMER, tick); timer.start(); } else { if (!FRAME_DISPATCHER){ FRAME_DISPATCHER = new Shape(); }; FRAME_DISPATCHER.addEventListener(Event.ENTER_FRAME, frameTick); }; } public function get remainingDelay():Number{ var _local1:Number = 0; if (this._pending){ if (this.milliseconds){ _local1 = this.timer.currentCount; } else { _local1 = (_local1 + this.count); }; }; return (_local1); } public function get pending():Boolean{ return (_pending); } private function frameTick(_arg1:Event=null):void{ count++; if (count >= delay){ tick(); }; } public function clear():void{ _pending = false; if (timer){ timer.removeEventListener(TimerEvent.TIMER, tick); timer = null; }; if (!milliseconds){ FRAME_DISPATCHER.removeEventListener(Event.ENTER_FRAME, frameTick); }; } private function tick(_arg1:Event=null):void{ _pending = false; if (!loop){ clear(); delete ??getglobalscope [this]; } else { begin(); }; func.apply(null, parameters); } } }//package com.markfennell.utils
Section 217
//TEA (com.meychi.ascrypt3.TEA) package com.meychi.ascrypt3 { public class TEA { public function decrypt(_arg1:String, _arg2:String):String{ var _local9:Number; var _local10:Number; var _local13:Number; var _local3:Array = charsToLongs(hexToChars(_arg1)); var _local4:Array = charsToLongs(strToChars(_arg2)); var _local5:Number = _local3.length; if (_local5 == 0){ return (""); }; var _local6:Number = _local3[(_local5 - 1)]; var _local7:Number = _local3[0]; var _local8:Number = 2654435769; var _local11:Number = Math.floor((6 + (52 / _local5))); var _local12:Number = (_local11 * _local8); while (_local12 != 0) { _local10 = ((_local12 >>> 2) & 3); _local13 = (_local5 - 1); while (_local13 > 0) { _local6 = _local3[(_local13 - 1)]; _local9 = ((((_local6 >>> 5) ^ (_local7 << 2)) + ((_local7 >>> 3) ^ (_local6 << 4))) ^ ((_local12 ^ _local7) + (_local4[((_local13 & 3) ^ _local10)] ^ _local6))); _local7 = (_local3[_local13] = (_local3[_local13] - _local9)); _local13--; }; _local6 = _local3[(_local5 - 1)]; _local9 = ((((_local6 >>> 5) ^ (_local7 << 2)) + ((_local7 >>> 3) ^ (_local6 << 4))) ^ ((_local12 ^ _local7) + (_local4[((_local13 & 3) ^ _local10)] ^ _local6))); _local7 = (_local3[0] = (_local3[0] - _local9)); _local12 = (_local12 - _local8); }; return (charsToStr(longsToChars(_local3))); } public function encrypt(_arg1:String, _arg2:String):String{ var _local9:Number; var _local10:Number; var _local13:Number; var _local3:Array = charsToLongs(strToChars(_arg1)); var _local4:Array = charsToLongs(strToChars(_arg2)); var _local5:Number = _local3.length; if (_local5 == 0){ return (""); }; if (_local5 == 1){ var _temp1 = _local5; _local5 = (_local5 + 1); var _local14 = _temp1; _local3[_local14] = 0; }; var _local6:Number = _local3[(_local5 - 1)]; var _local7:Number = _local3[0]; var _local8:Number = 2654435769; var _local11:Number = Math.floor((6 + (52 / _local5))); var _local12:Number = 0; while (_local11-- > 0) { _local12 = (_local12 + _local8); _local10 = ((_local12 >>> 2) & 3); _local13 = 0; while (_local13 < (_local5 - 1)) { _local7 = _local3[(_local13 + 1)]; _local9 = ((((_local6 >>> 5) ^ (_local7 << 2)) + ((_local7 >>> 3) ^ (_local6 << 4))) ^ ((_local12 ^ _local7) + (_local4[((_local13 & 3) ^ _local10)] ^ _local6))); _local6 = (_local3[_local13] = (_local3[_local13] + _local9)); _local13++; }; _local7 = _local3[0]; _local9 = ((((_local6 >>> 5) ^ (_local7 << 2)) + ((_local7 >>> 3) ^ (_local6 << 4))) ^ ((_local12 ^ _local7) + (_local4[((_local13 & 3) ^ _local10)] ^ _local6))); _local6 = (_local3[(_local5 - 1)] = (_local3[(_local5 - 1)] + _local9)); }; return (charsToHex(longsToChars(_local3))); } private static function strToChars(_arg1:String):Array{ var _local2:Array = new Array(); var _local3:Number = 0; while (_local3 < _arg1.length) { _local2.push(_arg1.charCodeAt(_local3)); _local3++; }; return (_local2); } private static function charsToHex(_arg1:Array):String{ var _local2:String = new String(""); var _local3:Array = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"); var _local4:Number = 0; while (_local4 < _arg1.length) { _local2 = (_local2 + (_local3[(_arg1[_local4] >> 4)] + _local3[(_arg1[_local4] & 15)])); _local4++; }; return (_local2); } private static function hexToChars(_arg1:String):Array{ var _local2:Array = new Array(); var _local3:Number = ((_arg1.substr(0, 2))=="0x") ? 2 : 0; while (_local3 < _arg1.length) { _local2.push(parseInt(_arg1.substr(_local3, 2), 16)); _local3 = (_local3 + 2); }; return (_local2); } private static function charsToStr(_arg1:Array):String{ var _local2:String = new String(""); var _local3:Number = 0; while (_local3 < _arg1.length) { _local2 = (_local2 + String.fromCharCode(_arg1[_local3])); _local3++; }; return (_local2); } private static function longsToChars(_arg1:Array):Array{ var _local2:Array = new Array(); var _local3:Number = 0; while (_local3 < _arg1.length) { _local2.push((_arg1[_local3] & 0xFF), ((_arg1[_local3] >>> 8) & 0xFF), ((_arg1[_local3] >>> 16) & 0xFF), ((_arg1[_local3] >>> 24) & 0xFF)); _local3++; }; return (_local2); } private static function charsToLongs(_arg1:Array):Array{ var _local2:Array = new Array(Math.ceil((_arg1.length / 4))); var _local3:Number = 0; while (_local3 < _local2.length) { _local2[_local3] = (((_arg1[(_local3 * 4)] + (_arg1[((_local3 * 4) + 1)] << 8)) + (_arg1[((_local3 * 4) + 2)] << 16)) + (_arg1[((_local3 * 4) + 3)] << 24)); _local3++; }; return (_local2); } } }//package com.meychi.ascrypt3
Section 218
//Console (console.Console) package console { import flash.events.*; import flash.utils.*; import pages.*; import com.markfennell.sound.*; import events.*; import net.*; import game.*; import game.hud.*; import flash.net.*; import org.casalib.display.*; import com.google.analytics.*; import game.interfaces.*; import org.casalib.util.*; public class Console extends CasaSprite { private var m_hud:HudController; private var m_currentState:String; private var m_currentClass:IConsoleSection;// = null private var m_nextClass:IConsoleSection;// = null private var m_callBack:Function; private var m_soundController:SoundController; private var m_user:User; public static var firstPlay:Boolean = true; public static var GoogleAnalytics:AnalyticsTracker; public static var paused:Boolean = false; public function Console(){ m_soundController = new SoundController(); super(); m_hud = new HudController(); addChild(m_hud); GoogleAnalytics = new GATracker(StageReference.getStage(), Constants.GOOGLE, "AS3", false); GameBroadcaster.addEventListener(ConsoleEvents.DISPLAY_CREDITS, handleConsoleEvent); GameBroadcaster.addEventListener(ConsoleEvents.DISPLAY_HELP, handleConsoleEvent); GameBroadcaster.addEventListener(ConsoleEvents.DISPLAY_INTRO, handleConsoleEvent); GameBroadcaster.addEventListener(ConsoleEvents.DISPLAY_MORE, handleConsoleEvent); GameBroadcaster.addEventListener(ConsoleEvents.DISPLAY_PLAYGAME, handleConsoleEvent); GameBroadcaster.addEventListener(ConsoleEvents.DISPLAY_MUTANTS, handleConsoleEvent); GameBroadcaster.addEventListener(ConsoleEvents.DISPLAY_SHARE, handleConsoleEvent); GameBroadcaster.addEventListener(ConsoleEvents.DISPLAY_MEDALS, handleConsoleEvent); addEventListener(ConsoleEvents.TRANSITION_COMPLETE, handleTransitionComplete); GameBroadcaster.addEventListener(ConsoleEvents.PAUSE, handleConsoleEvent); GameBroadcaster.addEventListener(ConsoleEvents.EXIT, handleConsoleEvent); handleConsoleEvent(new ConsoleEvent(ConsoleEvents.DISPLAY_INTRO)); GameBroadcaster.addEventListener(SoundEvent.EFFECT, handleSoundEffect); GameBroadcaster.addEventListener(ConsoleEvents.GAME_COMPLETE, handleGameComplete); Console.GoogleAnalytics.trackPageview("MRD_Escape/game/index"); } private function onLoginEnd(_arg1:LoginEvent):void{ if ((m_currentClass is Title)){ Title(m_currentClass).playIntro(); }; m_hud.enableHud(); } private function checkLogin(_arg1:Title):void{ _arg1.playIntro(); m_hud.enableHud(); } private function handleConsoleEvent(_arg1:ConsoleEvent):void{ var e = _arg1; if (e.type == m_currentState){ return; }; trace(e.type, m_currentState); m_hud.setScore(); m_hud.updatePanel(); if (((!((m_callBack == null))) && (!((e.type == ConsoleEvents.DISPLAY_MORE))))){ m_callBack(); m_callBack = null; }; switch (e.type){ case ConsoleEvents.PAUSE: if (!paused){ m_nextClass.doPause(); SoundController.getInstance().pause_music(true); paused = true; } else { m_nextClass.doResume(); SoundController.getInstance().pause_music(false); paused = false; }; break; case ConsoleEvents.EXIT: paused = false; m_hud.hideInGameButtons(); SoundController.getInstance().start_music(0, true); m_currentState = ConsoleEvents.DISPLAY_INTRO; m_nextClass = new Title(); addChild((m_nextClass as CasaSprite)); m_nextClass.transitionIn(); setHudToTop(); break; case ConsoleEvents.DISPLAY_INTRO: SoundController.getInstance().start_music(0); m_hud.disableHud(); m_currentState = ConsoleEvents.DISPLAY_INTRO; m_nextClass = new Title(); addChild((m_nextClass as CasaSprite)); m_nextClass.transitionIn(); setHudToTop(); break; case ConsoleEvents.DISPLAY_HELP: Console.GoogleAnalytics.trackPageview("MRD_Escape/menu/instructions"); m_currentState = ConsoleEvents.DISPLAY_HELP; m_nextClass = new Help(); addChild((m_nextClass as CasaSprite)); m_nextClass.transitionIn(); setHudToTop(); break; case ConsoleEvents.DISPLAY_MEDALS: Console.GoogleAnalytics.trackPageview("MRD_Escape/menu/achievements"); m_currentState = ConsoleEvents.DISPLAY_MEDALS; m_nextClass = new Medals(); addChild((m_nextClass as CasaSprite)); m_nextClass.transitionIn(); m_callBack = m_nextClass.hide; setHudToTop(); break; case ConsoleEvents.DISPLAY_MUTANTS: Console.GoogleAnalytics.trackPageview("MRD_Escape/menu/mutants"); m_currentState = ConsoleEvents.DISPLAY_MUTANTS; m_nextClass = new Mutants(); addChild((m_nextClass as CasaSprite)); m_nextClass.transitionIn(); m_callBack = m_nextClass.hide; setHudToTop(); break; case ConsoleEvents.DISPLAY_PLAYGAME: Console.GoogleAnalytics.trackPageview("MRD_Escape/game/start"); if (m_currentState != ConsoleEvents.GAME_COMPLETE){ SoundController.getInstance().pause_music(true); }; m_currentState = ConsoleEvents.DISPLAY_PLAYGAME; m_nextClass = new GameController(int(e.data)); addChild((m_nextClass as CasaSprite)); m_nextClass.transitionIn(); setHudToTop(); break; case ConsoleEvents.DISPLAY_CREDITS: if (m_currentState == ConsoleEvents.DISPLAY_CREDITS){ return; }; Console.GoogleAnalytics.trackPageview("MRD_Escape/menu/credits"); SoundController.getInstance().start_music(0); m_currentState = ConsoleEvents.DISPLAY_CREDITS; m_nextClass = new Credits(); addChild((m_nextClass as CasaSprite)); m_nextClass.transitionIn(); if (!m_hud.showingTitleButtons){ m_hud.hideInGameButtons(); setTimeout(m_hud.showTitleButtons, 500); }; setHudToTop(); break; case ConsoleEvents.DISPLAY_MORE: trace("More Games"); Console.GoogleAnalytics.trackEvent("MRD_Escape", "linkout", "more games"); navigateToURL(Constants.URL_MOREGAMES, "_blank"); break; case ConsoleEvents.DISPLAY_SHARE: Console.GoogleAnalytics.trackPageview("MRD_Escape/menu/share"); trace("SHARE URL HERE"); try { Main.ClearSpring.api.menu.show(); } catch(e:TypeError) { trace("could not open clearspring"); navigateToURL(Constants.URL_MOREGAMES, "_blank"); Console.GoogleAnalytics.trackEvent("MRD_Escape", "linkout", "more games share"); }; break; }; } private function setHudToTop():void{ setChildIndex(m_hud, (numChildren - 1)); } override public function destroy():void{ GameBroadcaster.removeEventListener(ConsoleEvents.DISPLAY_CREDITS, handleConsoleEvent); GameBroadcaster.removeEventListener(ConsoleEvents.DISPLAY_HELP, handleConsoleEvent); GameBroadcaster.removeEventListener(ConsoleEvents.DISPLAY_INTRO, handleConsoleEvent); GameBroadcaster.removeEventListener(ConsoleEvents.DISPLAY_MORE, handleConsoleEvent); GameBroadcaster.removeEventListener(ConsoleEvents.DISPLAY_PLAYGAME, handleConsoleEvent); GameBroadcaster.removeEventListener(ConsoleEvents.DISPLAY_MUTANTS, handleConsoleEvent); GameBroadcaster.removeEventListener(ConsoleEvents.DISPLAY_SHARE, handleConsoleEvent); GameBroadcaster.removeEventListener(ConsoleEvents.TRANSITION_COMPLETE, handleTransitionComplete); GameBroadcaster.removeEventListener(SoundEvent.EFFECT, handleSoundEffect); GameBroadcaster.removeEventListener(ConsoleEvents.GAME_COMPLETE, handleGameComplete); m_currentClass.destroy(); m_nextClass.destroy(); super.destroy(); } private function handleGameComplete(_arg1:Event):void{ m_currentState = ConsoleEvents.GAME_COMPLETE; } private function handleTransitionComplete(_arg1:ConsoleEvent):void{ if (m_currentClass){ m_currentClass.destroy(); }; m_currentClass = m_nextClass; if (m_currentState == ConsoleEvents.DISPLAY_INTRO){ m_hud.showTitleButtons(); checkLogin((m_currentClass as Title)); }; } private function handleSoundEffect(_arg1:SoundEvent):void{ switch (_arg1.type){ case SoundEvent.EFFECT: SoundController.getInstance().playSound(_arg1); break; }; } } }//package console
Section 219
//ConsoleEvent (console.ConsoleEvent) package console { import flash.events.*; public class ConsoleEvent extends Event { public var data; public function ConsoleEvent(_arg1:String, _arg2=null){ super(_arg1, true, true); data = _arg2; } override public function clone():Event{ return (new ConsoleEvent(type, data)); } } }//package console
Section 220
//ConsoleEvents (console.ConsoleEvents) package console { public class ConsoleEvents { public static var PAUSE_DISABLED:String = "PauseDisabled"; public static var DISPLAY_MORE:String = "ConsoleDisplayMore"; public static var PAUSE:String = "GamePause"; public static var DISPLAY_MEDALS:String = "ConsoleDisplayMedals"; public static var DISPLAY_CREDITS:String = "ConsoleDisplayCredits"; public static var EXIT:String = "GameExit"; public static var STARTED:String = "GameStarted"; public static var DISPLAY_PLAYGAME:String = "ConsoleDisplayPlayGame"; public static var GAME_COMPLETE:String = "Game Completed"; public static var DISPLAY_SHARE:String = "ConsoleDisplaySendToFriend"; public static var TRANSITION_COMPLETE:String = "Transition COmplete"; public static var RESUME:String = "GameResume"; public static var DISPLAY_INTRO:String = "ConsoleDisplayIntro"; public static var PAUSE_ENABLED:String = "PauseEnabled"; public static var DISPLAY_MUTANTS:String = "ConsoleDisplayScores"; public static var DISPLAY_HELP:String = "ConsoleDisplayHelp"; } }//package console
Section 221
//LoginEvent (events.LoginEvent) package events { import flash.events.*; public class LoginEvent extends Event { private var _data:Object; public static const REGISTER:String = "loginRegister"; public static const LOGIN:String = "loginLogin"; public static const LOGIN_SUCCESS:String = "loginSuccess"; public static const INITIALIZE:String = "loginInitialize"; public static const OPEN_LOGIN:String = "loginOpenLogin"; public static const LOGIN_CANCEL:String = "loginCancel"; public static const LOGIN_ERROR:String = "loginError"; public static const TRY_AGAIN:String = "loginTryAgain"; public static const SKIP:String = "loginSkip"; public function LoginEvent(_arg1:String, _arg2:Object=null){ super(_arg1); _data = _arg2; } public function get data():Object{ return (_data); } override public function clone():Event{ return (new LoginEvent(type, _data)); } } }//package events
Section 222
//UIEvent (events.UIEvent) package events { import flash.events.*; public class UIEvent extends Event { public static const SHOW_HIGHSCORES:String = "UIShowHighScores"; public static const SUBMIT_SCORE:String = "UISubmitScore"; public static const SUBMIT_SCORE_AGAIN:String = "UISubmitScoreAgain"; public static const SUBMIT_SCORE_SUCCESS:String = "UISubmitScoreSuccess"; public static const CLOSE:String = "UIClose"; public static const SEND_SCORE:String = "UISendScore"; public static const LOAD_HIGHSCORES:String = "UILoadHighScores"; public static const SUBMIT_SCORE_FORM:String = "UISubmitScoreForm"; public function UIEvent(_arg1:String){ super(_arg1); } override public function clone():Event{ return (new UIEvent(type)); } } }//package events
Section 223
//Quadratic (fl.motion.easing.Quadratic) package fl.motion.easing { public class Quadratic { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((_arg3 * _arg1) * _arg1) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2)); }; --_arg1; return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2)); } } }//package fl.motion.easing
Section 224
//HudButton (game.hud.HudButton) package game.hud { import flash.events.*; import flash.display.*; import console.*; import com.markfennell.sound.*; import gs.*; import org.casalib.display.*; public class HudButton extends CasaSprite { private var m_label:String; private var m_item:MovieClip; private var m_toggle:Boolean;// = true private var m_event:String; private var m_enabled:Boolean;// = true private var m_canToggle:Boolean;// = false private var m_labelToggle:String; public function HudButton(_arg1:MovieClip, _arg2:String, _arg3:String, _arg4:String=""){ var a_item = _arg1; var a_label = _arg2; var a_event = _arg3; var a_toggle = _arg4; super(); m_item = a_item; m_item.hover.alpha = 0; m_event = a_event; m_label = a_label; if (a_toggle != ""){ m_canToggle = true; m_labelToggle = a_toggle; }; try { m_item.label.text = m_label; m_item.label.mouseEnabled = false; m_item.buttonMode = (m_item.useHandCursor = true); } catch(e:Error) { }; m_item.addEventListener(MouseEvent.CLICK, handleClick); m_item.addEventListener(MouseEvent.ROLL_OUT, handleRollOut); m_item.addEventListener(MouseEvent.ROLL_OVER, handleRollOver); this.buttonMode = true; this.useHandCursor = true; } private function handleClick(_arg1:MouseEvent):void{ if (m_enabled){ GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_machete_normal_02", 0.5, 1)); if (m_canToggle){ if (m_toggle){ m_item.label.text = m_labelToggle; m_toggle = false; } else { m_item.label.text = m_label; m_toggle = true; }; }; GameBroadcaster.dispatchEvent(new ConsoleEvent(m_event)); }; } public function enable():void{ m_enabled = true; TweenMax.to(m_item, 0.3, {alpha:1}); } public function reset():void{ m_item.label.text = m_label; m_toggle = true; disable(); } private function handleRollOut(_arg1:MouseEvent):void{ TweenMax.to(m_item.hover, 0.3, {alpha:0}); } public function disable():void{ m_enabled = false; TweenMax.to(m_item, 0.3, {alpha:0.5}); } private function handleRollOver(_arg1:MouseEvent):void{ TweenMax.to(m_item.hover, 0.3, {alpha:1}); } } }//package game.hud
Section 225
//HudController (game.hud.HudController) package game.hud { import flash.events.*; import flash.display.*; import flash.utils.*; import console.*; import com.markfennell.sound.*; import net.*; import game.*; import gs.*; import flash.net.*; import org.casalib.display.*; import org.casalib.util.*; import assets.*; import fl.motion.easing.*; public class HudController extends CasaSprite { private var m_btnMedals:HudButton; private var m_btnPause:HudButton; private var m_showingTitleButtons:Boolean; private var m_ui:HudUI; private var m_canShowPanel:Boolean;// = true private var m_stage:Stage; private var m_level:int; private var m_buttons:HudUIButtons; private var m_scoreLength:int;// = 9 private var m_btnScores:HudButton; private var m_startPanel:StartPanel; private var m_btnMain:HudButton; private var m_btnHelp:HudButton; private var m_btnShare:HudButton; private var m_mask:Shape; private var m_btnMore:HudButton; public function HudController(){ m_ui = new HudUI(); addChild(m_ui); setScore(); m_startPanel = new StartPanel(); m_startPanel.x = 230; m_startPanel.y = 500; m_buttons = new HudUIButtons(); m_buttons.x = 365; m_buttons.y = 434; addChild(m_buttons); User.getInstance().loadMedals(); m_buttons.ButtonHelp.x = 0; m_buttons.ButtonScores.x = 0; m_buttons.ButtonMore.x = 0; m_buttons.ButtonShare.x = 0; m_buttons.BaseHelp.x = 0; m_buttons.BaseScores.x = 0; m_buttons.BaseMore.x = 0; m_buttons.BaseShare.x = 0; m_btnHelp = new HudButton(m_buttons.ButtonHelp, "HOW TO PLAY", ConsoleEvents.DISPLAY_HELP); m_btnScores = new HudButton(m_buttons.ButtonScores, "MUTANTS", ConsoleEvents.DISPLAY_MUTANTS); m_btnMore = new HudButton(m_buttons.ButtonMore, "MORE GAMES", ConsoleEvents.DISPLAY_MORE); m_btnShare = new HudButton(m_buttons.ButtonShare, "MEDALS", ConsoleEvents.DISPLAY_MEDALS); m_btnMain = new HudButton(m_buttons.InGame.ButtonMain, "QUIT", ConsoleEvents.EXIT); m_btnPause = new HudButton(m_buttons.InGame.ButtonPause, "PAUSE GAME", ConsoleEvents.PAUSE, "RESUME GAME"); m_stage = StageReference.getStage(); m_stage.addChild(m_startPanel); m_mask = new Shape(); m_mask.graphics.beginFill(0xFFFFFF, 1); m_mask.graphics.drawRect(230, 0, 270, 457); m_mask.graphics.endFill(); addChild(m_mask); m_startPanel.mask = m_mask; m_startPanel.addEventListener(StartPanel.SHOW, handleStartPanel); m_startPanel.addEventListener(StartPanel.HIDE, handleStartPanel); GameBroadcaster.addEventListener(StartPanel.CLICK, handleStartPanel); GameBroadcaster.addEventListener(ConsoleEvents.STARTED, showInGameButtons); GameBroadcaster.addEventListener(ConsoleEvents.PAUSE_DISABLED, handlePauseState); GameBroadcaster.addEventListener(ConsoleEvents.PAUSE_ENABLED, handlePauseState); m_ui.btnMarvel.addEventListener(MouseEvent.CLICK, handleMouseClick); m_ui.btnXmen.addEventListener(MouseEvent.CLICK, handleMouseClick); m_ui.btnCredits.addEventListener(MouseEvent.CLICK, handleMouseClick); m_ui.soundControls.musicButton.addEventListener(MouseEvent.CLICK, handleMouseClick); m_ui.soundControls.soundButton.addEventListener(MouseEvent.CLICK, handleMouseClick); hideButtons(); mouseEnabled = false; } private function handlePauseState(_arg1:ConsoleEvent):void{ trace("Handle Pause State"); switch (_arg1.type){ case ConsoleEvents.PAUSE_ENABLED: m_btnPause.enable(); break; case ConsoleEvents.PAUSE_DISABLED: m_btnPause.disable(); break; }; } private function handleStartPanel(_arg1:StartEvent):void{ if (_arg1.type == StartPanel.SHOW){ GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_throw_whoosh_01", 0.8, 1)); if (m_canShowPanel){ TweenMax.to(m_startPanel, 0.25, {y:(395 - m_startPanel.itemsHeight), ease:Quadratic.easeOut}); }; }; if (_arg1.type == StartPanel.HIDE){ GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_throw_whoosh_03", 0.3, 1)); if (m_canShowPanel){ TweenMax.to(m_startPanel, 0.2, {y:395, ease:Quadratic.easeIn}); }; }; if (_arg1.type == StartPanel.CLICK){ if (m_canShowPanel){ GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_machete_normal_04", 0.5, 1)); m_level = _arg1.id; hideTitleButtons(); m_canShowPanel = false; }; }; } private function onPlayLevel(_arg1:ConsoleEvent):void{ m_buttons.InGame.reloadXML.level.text = EmbeddedData.getLevel(int(_arg1.data)).url; } public function startGame():void{ GameBroadcaster.dispatchEvent(new ConsoleEvent(ConsoleEvents.DISPLAY_PLAYGAME, m_level)); } public function hideInGameButtons():void{ TweenMax.to(m_buttons.InGame, 0.5, {delay:0, y:250, ease:Quadratic.easeOut}); } private function handleMouseClick(_arg1:MouseEvent):void{ switch (_arg1.target){ case m_ui.btnCredits: GameBroadcaster.dispatchEvent(new ConsoleEvent(ConsoleEvents.DISPLAY_CREDITS)); break; case m_ui.soundControls.soundButton: if (SoundController.getInstance().soundsEnabled == false){ m_ui.soundControls.soundSlider.gotoAndPlay("on"); trace("sound On"); Console.GoogleAnalytics.trackEvent("MRD_Escape", "toggleSFX", "on"); SoundController.getInstance().soundsEnabled = true; SoundController.getInstance().resumeSounds(); } else { m_ui.soundControls.soundSlider.gotoAndPlay("off"); trace("sound Off"); Console.GoogleAnalytics.trackEvent("MRD_Escape", "toggleSFX", "off"); SoundController.getInstance().soundsEnabled = false; SoundController.getInstance().stopSounds(); }; break; case m_ui.soundControls.musicButton: if (SoundController.getInstance().musicEnabled == false){ m_ui.soundControls.musicSlider.gotoAndPlay("on"); trace("Music On"); Console.GoogleAnalytics.trackEvent("MRD_Escape", "toggleMusic", "on"); SoundController.getInstance().musicEnabled = true; SoundController.getInstance().resume_music(); } else { m_ui.soundControls.musicSlider.gotoAndPlay("off"); trace("Music Off"); Console.GoogleAnalytics.trackEvent("MRD_Escape", "toggleMusic", "off"); SoundController.getInstance().musicEnabled = false; SoundController.getInstance().stop_music(); }; break; case m_ui.btnMarvel: trace("GOTO URL MARVEL"); Console.GoogleAnalytics.trackEvent("MRD_Escape", "linkout", "marvel kids logo"); navigateToURL(Constants.URL_MARVELKIDS, "_blank"); break; case m_ui.btnXmen: trace("GOTO URL XMEN"); Console.GoogleAnalytics.trackEvent("MRD_Escape", "linkout", "xmen"); navigateToURL(Constants.URL_XMEN, "_blank"); break; }; } public function showTitleButtons():void{ hideButtons(); m_showingTitleButtons = true; m_canShowPanel = true; TweenMax.killAll(true, false, false); hideInGameButtons(); TweenMax.to(m_startPanel, 0.25, {delay:0.2, y:393, ease:Quadratic.easeOut}); TweenMax.to(m_buttons.ButtonHelp, 0.25, {delay:0.4, x:-260, ease:Quadratic.easeOut}); TweenMax.to(m_buttons.BaseHelp, 0.25, {delay:0.4, x:-251, ease:Quadratic.easeOut}); TweenMax.to(m_buttons.ButtonShare, 0.25, {delay:0.4, x:262, ease:Quadratic.easeOut}); TweenMax.to(m_buttons.BaseShare, 0.25, {delay:0.4, x:251, ease:Quadratic.easeOut}); TweenMax.to(m_buttons.ButtonScores, 0.25, {delay:0.5, x:-143, ease:Quadratic.easeOut}); TweenMax.to(m_buttons.BaseScores, 0.25, {delay:0.5, x:-143, ease:Quadratic.easeOut}); TweenMax.to(m_buttons.ButtonMore, 0.25, {delay:0.5, x:172, ease:Quadratic.easeOut}); TweenMax.to(m_buttons.BaseMore, 0.25, {delay:0.5, x:156, ease:Quadratic.easeOut}); setTimeout(revealButtons, 400); } private function onLevelReloadComplete():void{ } private function onReloadButtonPress(_arg1:MouseEvent):void{ var _local2:String = m_buttons.InGame.reloadXML.level.text; if (_local2.length > 0){ EmbeddedData.reloadLevel(_local2, m_level, onLevelReloadComplete); }; } public function updatePanel():void{ m_startPanel.updatePanel(); } public function hide(_arg1:DisplayObject):void{ _arg1.visible = false; } public function setScore():void{ m_ui.scoretext.text = NumberUtil.format(User.getInstance().loadScore(), m_scoreLength, ",", ""); } private function showInGameButtons(_arg1:ConsoleEvent):void{ m_btnPause.reset(); TweenMax.to(m_buttons.InGame, 0.5, {delay:0, y:-2, ease:Quadratic.easeOut}); } private function hideButtons():void{ m_buttons.ButtonHelp.visible = false; m_buttons.BaseHelp.visible = false; m_buttons.ButtonShare.visible = false; m_buttons.BaseShare.visible = false; m_buttons.ButtonScores.visible = false; m_buttons.BaseScores.visible = false; m_buttons.ButtonMore.visible = false; m_buttons.BaseMore.visible = false; } public function get showingTitleButtons():Boolean{ return (m_showingTitleButtons); } public function disableHud():void{ mouseChildren = false; TweenMax.to(m_buttons, 0.25, {colorMatrixFilter:{colorize:0xCCCCCC, amount:1}}); TweenMax.to(m_startPanel, 0.25, {colorMatrixFilter:{colorize:0xCCCCCC, amount:1}}); } private function hideTitleButtons():void{ m_showingTitleButtons = false; TweenMax.to(m_buttons.ButtonHelp, 0.25, {delay:0.1, x:0, ease:Quadratic.easeOut, onComplete:hide, onCompleteParams:[m_buttons.ButtonHelp]}); TweenMax.to(m_buttons.BaseHelp, 0.25, {delay:0.1, x:0, ease:Quadratic.easeOut, onComplete:hide, onCompleteParams:[m_buttons.BaseHelp]}); TweenMax.to(m_buttons.ButtonShare, 0.25, {delay:0.1, x:0, ease:Quadratic.easeOut, onComplete:hide, onCompleteParams:[m_buttons.ButtonShare]}); TweenMax.to(m_buttons.BaseShare, 0.25, {delay:0.1, x:0, ease:Quadratic.easeOut, onComplete:hide, onCompleteParams:[m_buttons.BaseShare]}); TweenMax.to(m_buttons.ButtonScores, 0.25, {delay:0, x:0, ease:Quadratic.easeOut, onComplete:hide, onCompleteParams:[m_buttons.ButtonScores]}); TweenMax.to(m_buttons.BaseScores, 0.25, {delay:0, x:0, ease:Quadratic.easeOut, onComplete:hide, onCompleteParams:[m_buttons.BaseScores]}); TweenMax.to(m_buttons.ButtonMore, 0.25, {delay:0, x:0, ease:Quadratic.easeOut, onComplete:hide, onCompleteParams:[m_buttons.ButtonMore]}); TweenMax.to(m_buttons.BaseMore, 0.25, {delay:0, x:0, ease:Quadratic.easeOut, onComplete:hide, onCompleteParams:[m_buttons.BaseMore]}); TweenMax.to(m_startPanel, 0.2, {delay:0.2, y:700, ease:Quadratic.easeIn, onComplete:startGame}); } private function revealButtons():void{ m_buttons.ButtonHelp.visible = true; m_buttons.BaseHelp.visible = true; m_buttons.ButtonShare.visible = true; m_buttons.BaseShare.visible = true; m_buttons.ButtonScores.visible = true; m_buttons.BaseScores.visible = true; m_buttons.ButtonMore.visible = true; m_buttons.BaseMore.visible = true; } override public function destroy():void{ removeChild(m_ui); m_ui = null; super.destroy(); } public function enableHud():void{ TweenMax.to(m_buttons, 0.25, {colorMatrixFilter:{}}); TweenMax.to(m_startPanel, 0.25, {colorMatrixFilter:{}}); mouseChildren = true; m_ui.mouseEnabled = false; m_ui.top.mouseEnabled = (m_ui.top.mouseChildren = false); } } }//package game.hud
Section 226
//StartEvent (game.hud.StartEvent) package game.hud { import flash.events.*; public class StartEvent extends Event { public var id:int; public static var PLAY:String = "PlayGame"; public function StartEvent(_arg1:String, _arg2:int){ super(_arg1, true, true); id = _arg2; } override public function clone():Event{ return (new StartEvent(type, id)); } } }//package game.hud
Section 227
//StartPanel (game.hud.StartPanel) package game.hud { import flash.events.*; import flash.display.*; import net.*; import org.casalib.display.*; import org.casalib.util.*; import assets.*; public class StartPanel extends CasaSprite { private var m_base:int;// = 395 private var m_gap:int;// = 28 private var m_item:StartPanelItem; public var itemsHeight:int;// = 0 private var m_itemsArray:Array; private var m_panel:DisplayObject; private var m_offsetX:int;// = 0 private var m_offsetY:int;// = 0 private var m_showing:Boolean;// = false private var m_header:HudStartUI; public static var CLICK:String = "StartPanelClicked"; public static var HIDE:String = "StartPanelHide"; public static var SHOW:String = "StartPanelShow"; public function StartPanel(){ var _local1:XML; var _local2:String; m_itemsArray = []; super(); m_header = new HudStartUI(); addChild(m_header); var _local3:int; while (_local3 < EmbeddedData.levelNum) { _local1 = EmbeddedData.getLevel(_local3).xml; _local2 = ((("Level " + String((_local3 + 1))) + ": ") + String(_local1.name)); m_item = new StartPanelItem(_local2, _local3); m_item.x = m_offsetX; m_item.y = (m_offsetY + (m_gap * _local3)); m_header.buttonContainer.addChild(m_item); m_itemsArray.push(m_item); itemsHeight = (itemsHeight + m_gap); _local3++; }; m_header.btnStart.addEventListener(MouseEvent.ROLL_OVER, showPanel); StageReference.getStage().addEventListener(MouseEvent.MOUSE_MOVE, hidePanel); updatePanel(); } public function showPanel(_arg1:MouseEvent=null):void{ if (!m_showing){ m_showing = true; dispatchEvent(new StartEvent(SHOW, 0)); }; } public function hidePanel(_arg1:MouseEvent=null):void{ var _local2:Boolean; if (!m_showing){ return; }; if ((((((_arg1.stageX < 229)) || ((_arg1.stageX > 501)))) || ((_arg1.stageY < (395 - itemsHeight))))){ m_showing = false; dispatchEvent(new StartEvent(HIDE, 0)); }; } public function updatePanel():void{ var _local1:Array = User.getInstance().loadLevels(); var _local2:int; while (_local2 < m_itemsArray.length) { if (_local1[_local2]){ m_itemsArray[_local2].unlock(); }; _local2++; }; } } }//package game.hud
Section 228
//StartPanelItem (game.hud.StartPanelItem) package game.hud { import flash.events.*; import console.*; import gs.*; import org.casalib.display.*; import assets.*; public class StartPanelItem extends CasaSprite { private var m_item:HudItemUI; private var m_itemBase:HudItemBaseUI; public var id:int; public function StartPanelItem(_arg1:String, _arg2:int){ id = _arg2; m_item = new HudItemUI(); m_item.titleText.text = _arg1; m_item.hover.alpha = 0; addChild(m_item); if (id > 0){ m_itemBase = new HudItemBaseUI(); addChildAt(m_itemBase, 0); }; mouseChildren = false; } private function handleClick(_arg1:MouseEvent):void{ Console.GoogleAnalytics.trackPageview((("MRD_Escape/game/level/" + String((id + 1))) + "/start")); GameBroadcaster.dispatchEvent(new StartEvent(StartPanel.CLICK, id)); } public function unlock():void{ m_item.locked.visible = false; addEventListener(MouseEvent.CLICK, handleClick); addEventListener(MouseEvent.ROLL_OUT, handleRollOut); addEventListener(MouseEvent.ROLL_OVER, handleRollOver); this.buttonMode = true; this.useHandCursor = true; } private function handleRollOut(_arg1:MouseEvent):void{ TweenMax.to(m_item.hover, 0.3, {alpha:0}); } private function handleRollOver(_arg1:MouseEvent):void{ TweenMax.to(m_item.hover, 0.3, {alpha:1}); } override public function destroy():void{ removeChild(m_item); m_item = null; if (id > 0){ removeChild(m_itemBase); m_itemBase = null; }; super.destroy(); } } }//package game.hud
Section 229
//IConsoleSection (game.interfaces.IConsoleSection) package game.interfaces { import flash.events.*; public interface IConsoleSection extends IEventDispatcher { function destroy():void; function hide():void; function doResume():void; function transitionOut():void; function transitionIn():void; function doPause():void; function transitionIn_COMPLETE():void; } }//package game.interfaces
Section 230
//IGameController (game.interfaces.IGameController) package game.interfaces { import flash.events.*; public interface IGameController { function nextLevel(_arg1:Event=null):void; function doResume():void; function destroy():void; function doPause():void; function replayLevel(_arg1:Event=null):void; function restart(_arg1:Event=null):void; } }//package game.interfaces
Section 231
//ILevelController (game.interfaces.ILevelController) package game.interfaces { import flash.display.*; import game.levels.*; import org.casalib.display.*; public interface ILevelController { function init(_arg1:Level):void; function renderPhysics():void; function get gameBitmapData():BitmapData; function render(_arg1):void; function doResume():void; function get gameBitmap():CasaBitmap; function doPause():void; function renderDisplay():void; } }//package game.interfaces
Section 232
//IObstacle (game.interfaces.IObstacle) package game.interfaces { import flash.geom.*; public interface IObstacle { function destroy():void; function positionFromTile(_arg1:int, _arg2:int):Point; function get sx():int; function get sy():int; function getRange(_arg1:Point):Number; function setOn():void; function get isOn():Boolean; function set sx(_arg1:int):void; function get tileY():int; function renderDisplay(_arg1:int, _arg2:int):void; function setOff():void; function setAnimationState(_arg1:String):void; function get isActive():Boolean; function renderPhysics():void; function get point():Point; function get tileX():int; function get type():String; function get range():int; } }//package game.interfaces
Section 233
//CutSceneController (game.levels.CutSceneController) package game.levels { import flash.events.*; import flash.display.*; import flash.utils.*; import console.*; import game.*; import flash.media.*; import gs.*; import org.casalib.display.*; import org.casalib.util.*; import assets.*; import flash.ui.*; public class CutSceneController extends CasaSprite { private var m_ui:MovieClip; private var embed_VideoEndSequence:VideoEndSequence; private var m_stage:Stage; private var embed_VideoUnlockSequence:VideoUnlockSequence; private var m_skipTime:int; private var embed_VideoIntroSequence:VideoIntroSequence; public static var displayed:Boolean = false; override public function destroy():void{ removeCutScene(); super.destroy(); } public function display(_arg1:CutSceneEvent):void{ var _local3:SoundTransform; m_skipTime = getTimer(); displayed = true; m_stage = StageReference.getStage(); var _local2:* = getDefinitionByName(_arg1.cutScene); m_ui = new (_local2); addChild(m_ui); m_ui.x = 8; m_ui.y = 64; m_ui.alpha = 0; TweenMax.to(m_ui, 0, {tint:0xFFFFFF}); TweenMax.to(m_ui, 0.25, {alpha:1, delay:0.05}); TweenMax.to(m_ui, 0.25, {delay:0.3, removeTint:true}); m_ui.addEventListener(Event.ENTER_FRAME, render); if (SoundController.getInstance().soundsEnabled == false){ _local3 = new SoundTransform(); _local3.volume = 0; this.soundTransform = _local3; }; setupKeyListener(); m_stage.frameRate = 25; } public function removeCutScene_COMPLETE():void{ if (m_ui){ removeChild(m_ui); m_ui = null; }; displayed = false; GameBroadcaster.dispatchEvent(new CutSceneEvent(CutSceneEvent.HIDE, null)); } private function clearKeyListener():void{ StageReference.getStage().removeEventListener(KeyboardEvent.KEY_UP, handleCutSeneKeyUp); } private function removeCutScene():void{ if (m_ui){ m_ui.removeEventListener(Event.ENTER_FRAME, render); m_ui.stop(); TweenMax.to(m_ui, 0.25, {alpha:0, onComplete:removeCutScene_COMPLETE}); }; if (m_stage){ m_stage.frameRate = Constants.FRAME_RATE; }; } private function setupKeyListener():void{ clearKeyListener(); StageReference.getStage().addEventListener(KeyboardEvent.KEY_UP, handleCutSeneKeyUp); } private function handleCutSeneKeyUp(_arg1:KeyboardEvent):void{ if ((((_arg1.keyCode == Keyboard.SPACE)) || ((_arg1.keyCode == Keyboard.ESCAPE)))){ removeCutScene(); if (Console.firstPlay){ Console.GoogleAnalytics.trackEvent("MRD_Escape", "intro", "skipped", int(((getTimer() - m_skipTime) / 1000))); }; }; } private function render(_arg1:Event):void{ if (m_ui.currentFrame == m_ui.totalFrames){ m_ui.removeEventListener(Event.ENTER_FRAME, render); m_ui.stop(); removeCutScene(); }; } } }//package game.levels
Section 234
//CutSceneEvent (game.levels.CutSceneEvent) package game.levels { import flash.events.*; public class CutSceneEvent extends Event { public var cutScene:String; public static var DISPLAY:String = "DisplayCutScene"; public static var HIDE:String = "HideCutScene"; public function CutSceneEvent(_arg1:String, _arg2:String){ super(_arg1, true, true); cutScene = _arg2; } override public function clone():Event{ return (new CutSceneEvent(type, cutScene)); } } }//package game.levels
Section 235
//Digit (game.levels.Digit) package game.levels { import flash.events.*; import flash.display.*; import flash.utils.*; import com.markfennell.sound.*; public class Digit extends EventDispatcher { private var m_target:MovieClip; private var m_stickTime:int;// = 40 private var m_id:int; private static var m_digitsArray:Array = []; public function Digit(_arg1:MovieClip, _arg2:int){ m_target = _arg1; m_id = _arg2; m_target.sheen.visible = false; m_target.digit.text = (m_id + 1); m_target.digit.mouseEnabled = false; m_target.gotoAndStop("up"); m_target.addEventListener(MouseEvent.CLICK, handleClick); m_target.addEventListener(MouseEvent.ROLL_OVER, handleRollOver); m_target.addEventListener(MouseEvent.ROLL_OUT, handleRollOut); m_target.buttonMode = true; m_digitsArray.push(this); } private function handleClick(_arg1:MouseEvent):void{ click(); } public function click():void{ m_target.gotoAndStop("down"); GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_dry_fire_02", 1, 1)); dispatchEvent(new DigitEvent(DigitEvent.CLICK, m_id)); setTimeout(reset, m_stickTime); } private function handleRollOut(_arg1:MouseEvent):void{ m_target.sheen.visible = false; } public function reset():void{ m_target.gotoAndStop("up"); } private function handleRollOver(_arg1:MouseEvent):void{ m_target.sheen.visible = true; } public function get id():int{ return (m_id); } public static function keyClick(_arg1:int):void{ var _local2:int; while (_local2 < m_digitsArray.length) { if (_arg1 == m_digitsArray[_local2].id){ m_digitsArray[_local2].click(); return; }; _local2++; }; } public static function reset():void{ var _local1:int; while (_local1 < m_digitsArray.length) { m_digitsArray[_local1] = null; _local1++; }; m_digitsArray = []; } } }//package game.levels
Section 236
//DigitEvent (game.levels.DigitEvent) package game.levels { import flash.events.*; public class DigitEvent extends Event { public var id:int; public static var CLICK:String = "DigitClick"; public function DigitEvent(_arg1:String, _arg2:int){ super(_arg1, true, true); id = _arg2; } override public function clone():Event{ return (new DigitEvent(type, id)); } } }//package game.levels
Section 237
//EndLevel (game.levels.EndLevel) package game.levels { import flash.events.*; import flash.display.*; import flash.utils.*; import console.*; import pages.*; import events.*; import net.*; import game.*; import game.medals.*; import gs.*; import org.casalib.display.*; import org.casalib.util.*; import assets.*; import com.electrotank.util.*; import com.markfennell.display.*; import com.malee.utils.*; import flash.ui.*; public class EndLevel extends CasaSprite { private var m_ui:MovieClip; private var m_submitScore:SubmitScore; private var m_medalsArray:Array; private var m_level:Level; private var m_stage:Stage; private var m_state:String; private static var m_totalTime:Dictionary; public function EndLevel(_arg1:String, _arg2:int, _arg3:Level){ m_stage = StageReference.getStage(); m_level = _arg3; m_state = _arg1; GameBroadcaster.dispatchEvent(new ConsoleEvent(ConsoleEvents.PAUSE_DISABLED)); switch (m_state){ case GameController.LEVEL_COMPLETED: Console.GoogleAnalytics.trackPageview((("MRD_Escape/game/level/" + String((m_level.id + 1))) + "/complete")); Console.GoogleAnalytics.trackEvent("MRD_Escape", "finishLevel", String((m_level.id + 1)), int((_arg2 / 1000))); m_ui = new LevelEndCompleteUI(); populate(_arg2); m_totalTime[_arg3] = _arg2; m_stage.addEventListener(KeyboardEvent.KEY_UP, handleKeyboardUp); m_ui.btnPlay.addEventListener(MouseEvent.CLICK, handleClick); break; case GameController.LEVEL_FAILED: Console.GoogleAnalytics.trackPageview((("MRD_Escape/game/level/" + String((m_level.id + 1))) + "/fail")); m_ui = new LevelEndFailedUI(); m_stage.addEventListener(KeyboardEvent.KEY_UP, handleKeyboardUp); m_ui.btnPlay.addEventListener(MouseEvent.CLICK, handleClick); if (MemoryCrypto.getValue("score") == 0){ m_ui.btnPlay.x = 0; }; break; case GameController.GAME_COMPLETED: Console.GoogleAnalytics.trackPageview((("MRD_Escape/game/level/" + String((m_level.id + 1))) + "/complete")); Console.GoogleAnalytics.trackEvent("MRD_Escape", "finishLevel", String((m_level.id + 1)), int((_arg2 / 1000))); GameBroadcaster.dispatchEvent(new MedalEvent(MedalEvent.WEAPONX, m_level.id, MemoryCrypto.getValue("score"))); GameBroadcaster.dispatchEvent(new MedalEvent(MedalEvent.BEST, m_level.id, totalTime())); GameBroadcaster.dispatchEvent(new MedalEvent(MedalEvent.NINJA_SKILLS, m_level.id)); m_ui = new LevelEndGameCompleteUI(); m_totalTime[_arg3] = _arg2; populate(_arg2); GameBroadcaster.dispatchEvent(new Event(ConsoleEvents.GAME_COMPLETE)); }; m_ui.textScore.text = TextUtil.formatScoreComma(MemoryCrypto.getValue("score")); addChild(m_ui); m_ui.x = int((m_stage.stageWidth * 0.5)); m_ui.y = int((m_stage.stageHeight * 0.5)); m_ui.alpha = 0; TweenMax.to(m_ui, 0.3, {delay:0.25, alpha:1}); } private function handleClick(_arg1=null):void{ GameBroadcaster.dispatchEvent(new Event(m_state)); transitionOut(handleClick_COMPLETE); } override public function destroy():void{ m_stage.removeEventListener(KeyboardEvent.KEY_UP, handleKeyboardUp); if (m_ui){ if (m_ui.btnPlay){ m_ui.btnPlay.removeEventListener(MouseEvent.CLICK, handleClick); }; if (m_submitScore){ m_submitScore.destroy(); }; transitionOut(destroy_COMPLETE); }; } public function destroy_COMPLETE():void{ removeChild(m_ui); m_ui = null; super.destroy(); MedalDisplay.destroyAll(); } public function handleClick_COMPLETE():void{ if (m_state == GameController.LEVEL_FAILED){ Console.GoogleAnalytics.trackPageview(("MRD_Escape/replay level/" + String((m_level.id + 1)))); }; } private function populate(_arg1:int):void{ var _local5:MedalDisplay; var _local2:int; var _local3 = 10; m_ui.textTime.text = String(TimeKeeper.display(_arg1, ":", ":")); if ((m_level.time - _arg1) > 0){ _local2 = ((m_level.time - _arg1) * Constants.POINTS_TIME); }; MemoryCrypto.incrementValue("score", _local2); _local2 = (LevelController.attempts * Constants.POINTS_ALARM); m_ui.textAlarms.text = String(_local2); MemoryCrypto.incrementValue("score", _local2); _local2 = MemoryCrypto.getValue("bonus"); m_ui.textBonusPoints.text = TextUtil.formatScoreComma(_local2); MemoryCrypto.incrementValue("score", _local2); MemoryCrypto.setValue("bonus", 0); if (m_state == GameController.GAME_COMPLETED){ _local3 = 28; m_ui.textGameTime.text = String(TimeKeeper.display(totalTime(), ":", ":")); }; m_medalsArray = Medal.getMedals(m_level.id); var _local4:int; while (_local4 < m_medalsArray.length) { _local5 = new MedalDisplay(m_medalsArray[_local4]); _local5.x = (10 + (_local4 * 35)); _local5.y = _local3; m_ui.addChild(_local5); _local4++; }; User.getInstance().unlockLevel((m_level.id + 1)); User.getInstance().saveScore(); User.getInstance().saveMedals(MedalController.getMedals()); } private function handleSubmit(_arg1:MouseEvent):void{ m_stage.removeEventListener(KeyboardEvent.KEY_UP, handleKeyboardUp); m_submitScore = new SubmitScore(); m_submitScore.transitionIn(); m_submitScore.addEventListener(UIEvent.SUBMIT_SCORE_SUCCESS, onSubmitScoreSuccess); addChild(m_submitScore); } private function totalTime():int{ var _local2:Object; var _local1:int; for each (_local2 in m_totalTime) { _local1 = (_local1 + _local2); }; return (_local1); } private function onSubmitScoreSuccess(_arg1:UIEvent):void{ if (m_ui.btnPlay){ m_ui.btnPlay.x = 0; }; m_stage.addEventListener(KeyboardEvent.KEY_UP, handleKeyboardUp); } private function handleKeyboardUp(_arg1:KeyboardEvent):void{ if (_arg1.keyCode == Keyboard.SPACE){ m_stage.removeEventListener(KeyboardEvent.KEY_UP, handleKeyboardUp); handleClick(); }; } private function transitionOut(_arg1:Function):void{ TweenMax.to(m_ui, 0.3, {alpha:0, onComplete:_arg1}); } public static function reset():void{ m_totalTime = new Dictionary(); } } }//package game.levels
Section 238
//Level (game.levels.Level) package game.levels { import flash.geom.*; public class Level { public var unlock:String; private var m_levelXML:XML; public var collisionArray:Array; public var mapWidth:int; public var doorArray:Array; public var backgroundBlank:int; public var tileSize:int; public var foregroundBlank:int; public var backgroundArray:Array; public var id:int; public var time:int; public var player:Point; public var mapHeight:int; public var foregroundArray:Array; public var backgroundTileset:String; public var foregroundTileset:String; public var introText:String; public function Level(_arg1:int){ var _local2:int; var _local3:Array; backgroundArray = []; foregroundArray = []; collisionArray = []; doorArray = []; super(); id = _arg1; m_levelXML = EmbeddedData.getLevel(_arg1).xml; introText = String(m_levelXML.description); tileSize = int(m_levelXML.map.@tileSize); _local2 = 0; while (_local2 < m_levelXML.map.background.data.length()) { _local3 = NumberArray(String(m_levelXML.map.background.data[_local2]).split(",")); backgroundArray.push(_local3); _local2++; }; _local2 = 0; while (_local2 < m_levelXML.map.foreground.data.length()) { _local3 = NumberArray(String(m_levelXML.map.foreground.data[_local2]).split(",")); foregroundArray.push(_local3); _local2++; }; _local2 = 0; while (_local2 < m_levelXML.map.collision.data.length()) { _local3 = NumberArray(String(m_levelXML.map.collision.data[_local2]).split(",")); collisionArray.push(_local3); _local2++; }; foregroundTileset = String(m_levelXML.map.foreground.@tileset); backgroundTileset = String(m_levelXML.map.background.@tileset); foregroundBlank = int(m_levelXML.map.foreground.@blank); backgroundBlank = int(m_levelXML.map.background.@blank); unlock = String(m_levelXML.unlock); time = int(m_levelXML.time); player = new Point(int(m_levelXML.start.@x), int(m_levelXML.start.@y)); mapWidth = collisionArray[0].length; mapHeight = collisionArray.length; } public function validHeight(_arg1:int):int{ if (_arg1 < 0){ return (0); }; if (_arg1 >= (mapHeight - 1)){ return ((mapHeight - 1)); }; return (_arg1); } public function getXMLList(_arg1:String):XML{ var _local2:int; while (_local2 < m_levelXML.children().length()) { if (m_levelXML.children()[_local2].name() == _arg1){ return (m_levelXML.children()[_local2]); }; _local2++; }; return (null); } public function validWidth(_arg1:int):int{ if (_arg1 < 0){ return (0); }; if (_arg1 >= (mapWidth - 1)){ return ((mapWidth - 1)); }; return (_arg1); } private function NumberArray(_arg1:Array):Array{ var _local2:Array = []; var _local3:int; while (_local3 < _arg1.length) { _local2.push(int(_arg1[_local3])); _local3++; }; return (_local2); } } }//package game.levels
Section 239
//LevelController (game.levels.LevelController) package game.levels { import flash.events.*; import flash.display.*; import flash.utils.*; import console.*; import com.markfennell.sound.*; import game.*; import game.medals.*; import gs.*; import flash.filters.*; import org.casalib.display.*; import flash.geom.*; import game.obstacles.*; import game.interfaces.*; import org.casalib.util.*; import com.electrotank.util.*; import com.markfennell.utils.*; import com.markfennell.display.*; import game.tiles.*; import game.player.*; import com.keyboard.*; import flash.ui.*; public class LevelController extends CasaSprite implements ILevelController { private var m_timeDiff:int;// = 0 private var m_overSleepTime:int;// = 0 private var m_excess:int;// = 0 private var m_filter:BlurFilter; private var m_afterTime:int;// = 0 private var m_useTimer:Boolean;// = false private var m_startTimer:Boolean;// = false private var m_introShown:Boolean;// = false private var m_levelRobots:int; private var m_showIntro:Boolean;// = false private var m_gameTimer:Timer; private var m_stageRectangle:Rectangle; private var m_gameBitmapData:BitmapData; private var m_dx:int; private var m_dy:int; private var m_pause:Boolean;// = false private var m_obstacleController:ObstacleController; private var m_timeKeeper:TimeKeeper; private var m_level:Level; private var m_filterShow:Boolean;// = false private var m_cutSceneController:CutSceneController; private var m_origin:Point; private var m_period:Number;// = 32 private var m_gameBitmap:CasaBitmap; private var m_robots:Boolean;// = false private var m_tileLayerFG:TileEngine; private var m_player:Player; private var m_tileLayerBG:TileEngine; private var m_miniGameController:MiniGameController; private var m_sleepTime:int;// = 0 private var m_beforeTime:int;// = 0 public static var ALARM:String = "LevelAlarm"; public static var attempts:int = 0; public static var COMPLETE:String = "LevelComplete"; public static var PAN_HIDE:String = "PanHide"; public static var PAN_SHOW:String = "PanShow"; public function LevelController(){ m_origin = new Point(0, 0); m_filter = new BlurFilter(5, 5, 1); super(); Key.initialize(StageReference.getStage()); StageReference.getStage().addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown); StageReference.getStage().addEventListener(KeyboardEvent.KEY_UP, handleKeyUp); StageReference.getStage().focus = this; } private function handlePauseTimeout():void{ GameBroadcaster.dispatchEvent(new ConsoleEvent(ConsoleEvents.PAUSE_ENABLED)); } public function clearListeners():void{ StageReference.getStage().removeEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown); StageReference.getStage().removeEventListener(KeyboardEvent.KEY_UP, handleKeyUp); GameBroadcaster.removeEventListener(RumbleEvent.RUMBLE, handleRumble); GameBroadcaster.removeEventListener(MiniGameEvent.DISPLAY, handleMiniGame); GameBroadcaster.removeEventListener(MiniGameEvent.HIDE, handleMiniGame); GameBroadcaster.removeEventListener(CutSceneEvent.DISPLAY, handleCutScene); GameBroadcaster.removeEventListener(CutSceneEvent.HIDE, handleCutScene); GameBroadcaster.removeEventListener(PAN_SHOW, handleLevelPan); GameBroadcaster.removeEventListener(PAN_HIDE, handleLevelPan); if (m_useTimer){ m_gameTimer.removeEventListener(TimerEvent.TIMER, render); m_gameTimer.stop(); m_gameTimer = null; } else { removeEventListener(Event.ENTER_FRAME, render); }; } private function handleKeyInput():void{ m_player.resetInputs(); if (Key.isDown(Keyboard.LEFT)){ m_player.inputLeft = true; } else { if (Key.isDown(Keyboard.RIGHT)){ m_player.inputRight = true; }; }; } public function get gameBitmapData():BitmapData{ return (m_gameBitmapData); } public function gameOver():void{ GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_SOUNDDOGS_AL_147468", 1, 1, true)); var _local1:DelayedCall = new DelayedCall(doPause, [], 1, false); TweenMax.to(m_gameBitmap, 1, {colorMatrixFilter:{colorize:0xFF0000, amount:1}}); clearListeners(); } public function render(_arg1):void{ if (m_useTimer){ m_beforeTime = getTimer(); m_overSleepTime = ((m_beforeTime - m_afterTime) - m_sleepTime); renderPhysics(); renderDisplay(); m_afterTime = getTimer(); m_timeDiff = (m_afterTime - m_beforeTime); m_sleepTime = ((m_period - m_timeDiff) - m_overSleepTime); if (m_sleepTime <= 0){ m_excess = (m_excess - m_sleepTime); m_sleepTime = 2; }; m_gameTimer.reset(); m_gameTimer.delay = m_sleepTime; m_gameTimer.start(); while (m_excess > m_period) { renderPhysics(); m_excess = (m_excess - m_period); }; _arg1.updateAfterEvent(); } else { renderPhysics(); renderDisplay(); }; } public function doResume():void{ m_pause = false; m_timeKeeper.start(); } private function handleKeyUp(_arg1:KeyboardEvent):void{ if (m_pause){ return; }; if (((MiniGameController.displayed) || (CutSceneController.displayed))){ return; }; if (_arg1.keyCode == Keyboard.DOWN){ m_player.resetCrouch(); }; } private function handleRobotDestroyed(_arg1:MedalEvent):void{ trace("Level Robot Destroyed"); m_levelRobots--; } public function init(_arg1:Level):void{ m_level = _arg1; m_stageRectangle = new Rectangle(0, 0, Constants.STAGE_WIDTH, Constants.STAGE_HEIGHT); m_gameBitmapData = new BitmapData(Constants.STAGE_WIDTH, Constants.STAGE_HEIGHT, false, 0); m_gameBitmap = new CasaBitmap(m_gameBitmapData); addChild(m_gameBitmap); m_obstacleController = new ObstacleController(m_level, m_gameBitmapData); m_player = new Player(m_level, m_gameBitmapData); m_player.placePlayer(); m_tileLayerBG = new TileEngine(m_level.tileSize, m_level.backgroundBlank, m_level.backgroundArray, m_level.backgroundTileset); m_tileLayerFG = new TileEngine(m_level.tileSize, m_level.foregroundBlank, m_level.foregroundArray, m_level.foregroundTileset); if (m_useTimer){ m_gameTimer = new Timer(m_period, 1); m_gameTimer.addEventListener(TimerEvent.TIMER, render); m_gameTimer.start(); } else { addEventListener(Event.ENTER_FRAME, render); }; GameBroadcaster.addEventListener(RumbleEvent.RUMBLE, handleRumble); GameBroadcaster.addEventListener(MiniGameEvent.DISPLAY, handleMiniGame); GameBroadcaster.addEventListener(MiniGameEvent.HIDE, handleMiniGame); GameBroadcaster.addEventListener(CutSceneEvent.DISPLAY, handleCutScene); GameBroadcaster.addEventListener(CutSceneEvent.HIDE, handleCutScene); GameBroadcaster.addEventListener(PAN_SHOW, handleLevelPan); GameBroadcaster.addEventListener(PAN_HIDE, handleLevelPan); m_miniGameController = new MiniGameController(m_level.introText); addChild(m_miniGameController); m_cutSceneController = new CutSceneController(); addChild(m_cutSceneController); m_timeKeeper = new TimeKeeper(); m_showIntro = false; m_introShown = false; MemoryCrypto.setValue("bonus", 0); if (Guard.guards > 0){ m_levelRobots = (Guard.guards - 1); GameBroadcaster.addEventListener(MedalEvent.ROBOT_DESTROYED, handleRobotDestroyed); m_robots = true; } else { m_robots = false; }; } public function renderDisplay():void{ if (((Console.firstPlay) && ((m_level.id == 0)))){ handleCutScene(new CutSceneEvent(CutSceneEvent.DISPLAY, "assets.VideoIntroSequence")); } else { if (!m_introShown){ m_showIntro = true; m_introShown = true; }; }; if (!m_pause){ m_dx = int((-(m_player.sx) + 365)); m_dy = int(((-(m_player.sy) + 236) + 55)); m_gameBitmapData.lock(); m_gameBitmapData.copyPixels(m_tileLayerBG.renderDisplay(-(m_dx), -(m_dy)), m_stageRectangle, m_origin); m_obstacleController.renderDisplay(-(m_dx), -(m_dy)); m_player.renderDisplay(); m_gameBitmapData.copyPixels(m_tileLayerFG.renderDisplay(-(m_dx), -(m_dy)), m_stageRectangle, m_origin); if (m_filterShow){ m_gameBitmapData.applyFilter(m_gameBitmapData, m_stageRectangle, new Point(0, 0), m_filter); }; m_gameBitmapData.unlock(); }; if (m_showIntro){ handleMiniGame(new MiniGameEvent(MiniGameEvent.DISPLAY, MiniGameTypes.MINIGAME_INTRO, null, m_level.id)); m_showIntro = false; }; } private function handleLevelPan(_arg1:PanEvent):void{ if (_arg1.type == PAN_SHOW){ m_player.moveSprite(_arg1.x, _arg1.y, 1, _arg1.callBack); m_filterShow = true; } else { m_filterShow = false; }; } private function handleCutScene(_arg1:CutSceneEvent):void{ switch (_arg1.type){ case CutSceneEvent.DISPLAY: if (!CutSceneController.displayed){ Guard.resetWarnings(); CCTV.pauseTimers(); m_cutSceneController.display(_arg1); doPause(); GameBroadcaster.dispatchEvent(new ConsoleEvent(ConsoleEvents.PAUSE_DISABLED)); }; break; case CutSceneEvent.HIDE: if (!m_introShown){ m_showIntro = true; m_introShown = true; }; if (Console.firstPlay){ Console.firstPlay = false; }; doResume(); CCTV.resumeTimers(); stage.focus = this; if (!Console.firstPlay){ GameBroadcaster.dispatchEvent(new ConsoleEvent(ConsoleEvents.PAUSE_ENABLED)); }; break; }; } private function handleMiniGame(_arg1:MiniGameEvent):void{ switch (_arg1.type){ case MiniGameEvent.DISPLAY: if (!MiniGameController.displayed){ Guard.resetWarnings(); CCTV.pauseTimers(); m_miniGameController.display(_arg1); GameBroadcaster.dispatchEvent(new ConsoleEvent(ConsoleEvents.PAUSE_DISABLED)); doPause(); }; if (m_showIntro){ switch (m_level.id){ case 1: SoundController.getInstance().start_music(2); break; case 2: SoundController.getInstance().start_music(3); break; case 3: SoundController.getInstance().start_music(1); break; case 4: SoundController.getInstance().start_music(2); break; case 5: SoundController.getInstance().start_music(3); break; case 6: SoundController.getInstance().start_music(1); break; case 7: SoundController.getInstance().start_music(2); break; case 8: SoundController.getInstance().start_music(3); break; case 9: SoundController.getInstance().start_music(1); break; default: SoundController.getInstance().start_music(1); break; }; }; break; case MiniGameEvent.HIDE: doResume(); CCTV.resumeTimers(); stage.focus = this; if (!m_startTimer){ m_player.start(); m_startTimer = true; m_timeKeeper.start(); GameBroadcaster.dispatchEvent(new ConsoleEvent(ConsoleEvents.STARTED)); }; GameBroadcaster.dispatchEvent(new ConsoleEvent(ConsoleEvents.PAUSE_ENABLED)); break; }; } public function doPause():void{ m_pause = true; m_timeKeeper.stop(); } public function get time():int{ return (m_timeKeeper.getMili()); } public function get gameBitmap():CasaBitmap{ return (m_gameBitmap); } public function renderPhysics():void{ if (!m_pause){ if (((MiniGameController.displayed) || (CutSceneController.displayed))){ return; }; handleKeyInput(); m_player.renderPhysics(m_obstacleController.obstacles); m_obstacleController.renderPhysics(); }; } public function stopTimer():void{ m_timeKeeper.stop(); } private function handleKeyDown(_arg1:KeyboardEvent):void{ if (m_pause){ return; }; if (((MiniGameController.displayed) || (CutSceneController.displayed))){ return; }; if (_arg1.keyCode == Keyboard.SPACE){ m_player.handleSpace(); } else { if (_arg1.keyCode == Keyboard.UP){ m_player.handleUp(); } else { if (_arg1.keyCode == Keyboard.DOWN){ m_player.handleDown(); }; }; }; } public function checkMedalSecretAgent():void{ if (m_robots){ if (m_levelRobots == (Guard.guards - 1)){ GameBroadcaster.dispatchEvent(new MedalEvent(MedalEvent.SECRET, m_level.id)); }; }; } private function handleRumble(_arg1:RumbleEvent=null):void{ Earthquake.go(this, _arg1.intensity, _arg1.time); } override public function destroy():void{ trace("Level Controller destroy"); SoundController.getInstance().stopLasers(); clearListeners(); m_player.destroy(); m_gameBitmap.destroy(); m_gameBitmapData.dispose(); m_obstacleController.destroy(); m_tileLayerBG.destroy(); m_tileLayerFG.destroy(); m_tileLayerBG = null; m_tileLayerFG = null; m_miniGameController.destroy(); m_miniGameController = null; m_cutSceneController.destroy(); m_cutSceneController = null; super.destroy(); } } }//package game.levels
Section 240
//LevelXML (game.levels.LevelXML) package game.levels { public class LevelXML { private var _url:String; private var _xml:XML; public function LevelXML(_arg1:String, _arg2:XML){ _url = _arg1; _xml = _arg2; } public function get xml():XML{ return (_xml); } public function get url():String{ return (_url); } } }//package game.levels
Section 241
//MessageBox (game.levels.MessageBox) package game.levels { import flash.events.*; import flash.display.*; import gs.*; import org.casalib.util.*; import assets.*; import com.markfennell.text.*; public class MessageBox extends Sprite { private var m_delay:Number;// = 0.7 private var m_ui:MessageBoxUI; private var m_textWriter:TextWriter; private var m_stage:Stage; public function MessageBox(_arg1:String){ if (_arg1.length < 1){ return; }; m_stage = StageReference.getStage(); m_ui = new MessageBoxUI(); m_ui.x = int((m_stage.stageWidth * 0.5)); m_ui.y = int((m_stage.stageHeight * 0.5)); m_ui.alpha = 0; m_stage.addChild(m_ui); reveal(); m_textWriter = new TextWriter(m_ui.description, _arg1.toUpperCase(), 20, 15); m_textWriter.addEventListener(TextWriter.COMPLETE, hide); } public function hide_COMPLETE():void{ m_stage.removeChild(m_ui); m_ui = null; } private function reveal():void{ TweenMax.to(m_ui, 0.5, {alpha:1, y:(m_ui.y - 10)}); } private function hide(_arg1:Event=null):void{ m_textWriter.removeEventListener(TextWriter.COMPLETE, hide); TweenMax.to(m_ui, 0.5, {delay:m_delay, alpha:0, onComplete:hide_COMPLETE}); } } }//package game.levels
Section 242
//MiniGameController (game.levels.MiniGameController) package game.levels { import flash.events.*; import flash.display.*; import flash.utils.*; import com.markfennell.sound.*; import game.medals.*; import gs.*; import org.casalib.display.*; import game.obstacles.*; import flash.text.*; import org.casalib.util.*; import assets.*; import com.markfennell.display.*; import com.markfennell.text.*; import flash.ui.*; public class MiniGameController extends CasaSprite { private var m_showTime:int;// = 600 private var m_writer:TextWriter; private var m_keys:Array; private var m_static:Static; private var embed_Wires:MiniGameWires; private var m_removeFunction:Function; private var m_keypadArray:Array; private var m_terminal:MovieClip; private var m_textFormat:TextFormat; private var m_correct:String; private var embed_Keypad:MiniGameKeyboard; private var m_setAlarm:Boolean;// = false private var m_setupFunction:Function; private var m_ui:MovieClip; private var m_submitted:Boolean;// = false private var m_stage:Stage; private var m_level:int; private var m_effects:MovieClip; private var m_scanlineContainer:Sprite; private var m_isKeypad:Boolean;// = false private var m_info:String; private var embed_Terminal:MiniGameTerminal; private var m_scanlines:Scanline; private var m_type:String; private var m_keypad:Keypad; private var m_fx:Fx; private var m_introText:String; public static var displayed:Boolean = false; public function MiniGameController(_arg1:String){ m_fx = new Fx(); m_keys = []; m_introText = _arg1; super(); } private function clawStrike(_arg1:MouseEvent):void{ GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_machete_normal_04", 1, 1)); var _local2:Boolean; m_ui.claw.gotoAndPlay("strike"); if (_arg1.target == m_ui.btnGreen){ if (m_correct == MiniGameTypes.GREEN){ _local2 = true; }; m_ui.wires.gotoAndStop("green"); }; if (_arg1.target == m_ui.btnBlue){ if (m_correct == MiniGameTypes.BLUE){ _local2 = true; }; m_ui.wires.gotoAndStop("blue"); }; if (_arg1.target == m_ui.btnRed){ if (m_correct == MiniGameTypes.RED){ _local2 = true; }; m_ui.wires.gotoAndStop("red"); }; if (_local2){ GameBroadcaster.dispatchEvent(new MedalEvent(MedalEvent.WIRES_DESTROYED, m_level)); m_ui.greenbar.visible = true; setTimeout(success, m_showTime); GameBroadcaster.dispatchEvent(new RumbleEvent(RumbleEvent.RUMBLE, 10, 0.2)); } else { setTimeout(close, m_showTime); m_setAlarm = true; }; GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_wire_slice_01", 1, 1)); } private function removeMiniGame():void{ clearKeyListener(); if (m_ui){ m_fx.zoomIn(m_ui, 0, 0.2, m_ui.x, m_ui.y, m_ui.x, 1000, 10, "easeInExpo", removeMiniGame_COMPLETE); }; } public function success(_arg1:MouseEvent=null):void{ m_keypad.toggle(); removeMiniGame(); } private function handleClear(_arg1:MouseEvent):void{ if (m_submitted){ return; }; GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_dry_fire_02", 1, 1)); m_ui.digits.digitsText.text = ""; } public function setAlarm():void{ GameBroadcaster.dispatchEvent(new Event(LevelController.ALARM)); } public function close(_arg1:MouseEvent=null):void{ removeMiniGame(); } private function removeTerminal():void{ GameBroadcaster.dispatchEvent(new MedalEvent(MedalEvent.TERMINAL_ACCESSED, m_level)); m_terminal = null; m_writer.destroy(); if (m_ui){ m_ui.btnClose.removeEventListener(MouseEvent.CLICK, close); m_static.destroy(); }; } private function clearKeyListener():void{ StageReference.getStage().removeEventListener(KeyboardEvent.KEY_UP, handleMiniGameKeyUp); } private function handleMiniGameKeyUp(_arg1:KeyboardEvent):void{ trace(("CLICKED " + _arg1.keyCode)); if ((((((_arg1.keyCode == 49)) || ((_arg1.keyCode == 97)))) && (m_isKeypad))){ Digit.keyClick(0); }; if ((((((_arg1.keyCode == 50)) || ((_arg1.keyCode == 98)))) && (m_isKeypad))){ Digit.keyClick(1); }; if ((((((_arg1.keyCode == 51)) || ((_arg1.keyCode == 99)))) && (m_isKeypad))){ Digit.keyClick(2); }; if ((((((_arg1.keyCode == 52)) || ((_arg1.keyCode == 100)))) && (m_isKeypad))){ Digit.keyClick(3); }; if ((((((_arg1.keyCode == 53)) || ((_arg1.keyCode == 101)))) && (m_isKeypad))){ Digit.keyClick(4); }; if ((((((_arg1.keyCode == 54)) || ((_arg1.keyCode == 102)))) && (m_isKeypad))){ Digit.keyClick(5); }; if ((((((_arg1.keyCode == 55)) || ((_arg1.keyCode == 103)))) && (m_isKeypad))){ Digit.keyClick(6); }; if ((((((_arg1.keyCode == 56)) || ((_arg1.keyCode == 104)))) && (m_isKeypad))){ Digit.keyClick(7); }; if ((((((_arg1.keyCode == 57)) || ((_arg1.keyCode == 105)))) && (m_isKeypad))){ Digit.keyClick(8); }; if ((((_arg1.keyCode == Keyboard.ENTER)) && (m_isKeypad))){ handleSubmit(); }; if ((((_arg1.keyCode == Keyboard.SPACE)) || ((_arg1.keyCode == Keyboard.ESCAPE)))){ close(); }; } private function setUpTerminal():void{ GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_console_entry_03", 1, 1)); m_ui.btnClose.addEventListener(MouseEvent.CLICK, close); m_terminal = new MiniGameTerminalScreen(); m_writer = new TextWriter(m_ui.infoText, m_info, 500, 25, false, beepTick); m_static = new Static(m_terminal, 191, 191); m_static.x = -95; m_static.y = -126; m_static.blendMode = BlendMode.ADD; m_static.alpha = 0.25; m_ui.addChildAt(m_static, 1); m_static.glitch(0, 10, 0, 2); } public function removeMiniGame_COMPLETE():void{ trace("removeMiniGame_COMPLETE"); m_removeFunction(); displayed = false; if (m_ui){ m_stage.removeChild(m_ui); m_ui = null; }; if (m_scanlineContainer){ removeChild(m_scanlineContainer); m_scanlineContainer = null; }; GameBroadcaster.dispatchEvent(new MiniGameEvent(MiniGameEvent.HIDE, null, m_keypad, m_level)); if (m_setAlarm){ setAlarm(); }; } private function handleClick(_arg1:DigitEvent):void{ if (m_ui){ if (m_ui.digits.digitsText.text.length < 4){ m_ui.digits.digitsText.text = (m_ui.digits.digitsText.text + String((_arg1.id + 1))); }; m_ui.digits.digitsText.setTextFormat(m_textFormat); }; } private function setUpIntro():void{ m_ui.btnClose.addEventListener(MouseEvent.CLICK, close); m_writer = new TextWriter(m_ui.infoText, m_introText, 500, 25, false, beepTick); m_effects = new MiniGameIntroScreenBackground(); m_static = new Static(m_effects, 360, 264); m_static.x = -180; m_static.y = -126; m_static.blendMode = BlendMode.ADD; m_static.alpha = 0.25; m_ui.addChildAt(m_static, 1); m_static.glitch(0, 20, 0, 5); } public function display(_arg1:MiniGameEvent):void{ var _local2:Number = 0; m_setAlarm = false; displayed = true; m_keypad = _arg1.keypad; m_stage = StageReference.getStage(); m_scanlines = new Scanline(0, 0); m_type = _arg1.miniGame; m_level = _arg1.level; if (_arg1.keypad){ m_correct = _arg1.keypad.correct; }; if (_arg1.keypad){ m_info = _arg1.keypad.info; }; m_setupFunction = new Function(); m_removeFunction = new Function(); switch (m_type){ case MiniGameTypes.MINIGAME_INTRO: m_ui = new MiniGameIntro(); m_setupFunction = setUpIntro; m_removeFunction = removeIntro; _local2 = 0.3; break; case MiniGameTypes.MINIGAME_WIRES: m_ui = new MiniGameWires(); m_setupFunction = setUpWires; m_removeFunction = removeWires; break; case MiniGameTypes.MINIGAME_TERMINAL: m_ui = new MiniGameTerminal(); m_setupFunction = setUpTerminal; m_removeFunction = removeTerminal; break; case MiniGameTypes.MINIGAME_KEYPAD: m_ui = new MiniGameKeyboard(); m_setupFunction = setUpKeypad; m_removeFunction = removeKeypad; break; }; m_setupFunction(); m_scanlineContainer = new Sprite(); addChild(m_scanlineContainer); m_scanlineContainer.alpha = 0; TweenMax.to(m_scanlineContainer, 0.5, {alpha:1}); m_scanlineContainer.graphics.beginBitmapFill(m_scanlines); m_scanlineContainer.graphics.moveTo(0, 0); m_scanlineContainer.graphics.lineTo(m_stage.stageWidth, 0); m_scanlineContainer.graphics.lineTo(m_stage.stageWidth, m_stage.stageHeight); m_scanlineContainer.graphics.lineTo(0, m_stage.stageHeight); m_scanlineContainer.graphics.lineTo(0, 0); m_scanlineContainer.graphics.endFill(); m_scanlineContainer.cacheAsBitmap = true; m_stage.addChild(m_ui); m_fx.zoomIn(m_ui, _local2, 0.3, int((Constants.STAGE_WIDTH * 0.5)), 1000, int((Constants.STAGE_WIDTH * 0.5)), int((Constants.STAGE_HEIGHT * 0.5)), 10, "easeOutExpo", setupKeyListener); } private function removeIntro():void{ if (m_ui){ m_ui.btnClose.removeEventListener(MouseEvent.CLICK, close); }; if (m_static){ m_static.destroy(); }; m_effects = null; m_writer.destroy(); } private function setUpKeypad():void{ var _local2:Digit; m_isKeypad = true; Digit.reset(); m_submitted = false; m_textFormat = new TextFormat(); m_textFormat.letterSpacing = 25; m_ui.btnClose.addEventListener(MouseEvent.CLICK, close); m_ui.digits.digitsText.text = ""; m_keypadArray = [m_ui.key1, m_ui.key2, m_ui.key3, m_ui.key4, m_ui.key5, m_ui.key6, m_ui.key7, m_ui.key8, m_ui.key9]; var _local1:int; while (_local1 < m_keypadArray.length) { _local2 = new Digit(m_keypadArray[_local1], _local1); _local2.addEventListener(DigitEvent.CLICK, handleClick); _local1++; }; m_ui.btnClear.addEventListener(MouseEvent.CLICK, handleClear); m_ui.btnSubmit.addEventListener(MouseEvent.CLICK, handleSubmit); } private function removeWires():void{ if (m_ui){ m_ui.btnGreen.removeEventListener(MouseEvent.CLICK, clawStrike); m_ui.btnBlue.removeEventListener(MouseEvent.CLICK, clawStrike); m_ui.btnRed.removeEventListener(MouseEvent.CLICK, clawStrike); m_ui.btnClose.removeEventListener(MouseEvent.CLICK, close); }; } private function handleSubmit(_arg1:MouseEvent=null):void{ if (m_submitted){ return; }; m_submitted = true; GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_dry_fire_02", 1, 1)); if (m_ui.digits.digitsText.text == m_correct){ GameBroadcaster.dispatchEvent(new MedalEvent(MedalEvent.KEYPAD_ACCESSED, m_level)); m_ui.status.gotoAndStop("green"); setTimeout(success, m_showTime); } else { setTimeout(close, m_showTime); m_setAlarm = true; }; } private function setUpWires():void{ GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_console_entry_03", 1, 1)); m_ui.greenbar.visible = false; m_ui.wires.gotoAndStop("all"); m_ui.claw.gotoAndStop(1); m_ui.btnGreen.addEventListener(MouseEvent.CLICK, clawStrike); m_ui.btnBlue.addEventListener(MouseEvent.CLICK, clawStrike); m_ui.btnRed.addEventListener(MouseEvent.CLICK, clawStrike); m_ui.btnClose.addEventListener(MouseEvent.CLICK, close); } public function beepTick():void{ GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_cursor", 0.5, 1)); } private function setupKeyListener():void{ clearKeyListener(); StageReference.getStage().addEventListener(KeyboardEvent.KEY_UP, handleMiniGameKeyUp); } override public function destroy():void{ trace("MiniGameController.destroy()"); removeMiniGame(); super.destroy(); } private function removeKeypad():void{ var _local1:int; m_isKeypad = false; if (m_ui){ m_ui.btnClose.removeEventListener(MouseEvent.CLICK, close); m_ui.btnClear.removeEventListener(MouseEvent.CLICK, handleClear); m_ui.btnSubmit.removeEventListener(MouseEvent.CLICK, handleSubmit); _local1 = 0; while (_local1 < m_keypadArray.length) { m_keypadArray[_local1].gotoAndStop("down"); m_keypadArray[_local1].removeEventListener(MouseEvent.CLICK, handleClick); _local1++; }; }; } public static function reset():void{ } } }//package game.levels
Section 243
//MiniGameEvent (game.levels.MiniGameEvent) package game.levels { import flash.events.*; import game.obstacles.*; public class MiniGameEvent extends Event { public var level:int; public var miniGame:String; public var keypad:Keypad; public static var DISPLAY:String = "DisplayMiniGame"; public static var HIDE:String = "HideMiniGame"; public function MiniGameEvent(_arg1:String, _arg2:String, _arg3:Keypad, _arg4:int){ super(_arg1, true, true); miniGame = _arg2; keypad = _arg3; level = _arg4; } override public function clone():Event{ return (new MiniGameEvent(type, miniGame, keypad, level)); } } }//package game.levels
Section 244
//MiniGameTypes (game.levels.MiniGameTypes) package game.levels { public class MiniGameTypes { public static var GREEN:String = "green"; public static var MINIGAME_KEYPAD:String = "MiniGameKeypad"; public static var RED:String = "red"; public static var MINIGAME_TERMINAL:String = "MiniGameTerminal"; public static var MINIGAME_INTRO:String = "MiniGameIntro"; public static var MINIGAME_WIRES:String = "MiniGameWires"; public static var BLUE:String = "blue"; } }//package game.levels
Section 245
//PanEvent (game.levels.PanEvent) package game.levels { import flash.events.*; public class PanEvent extends Event { public var callBack:Function; public var x:Number; public var y:Number; public function PanEvent(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Function){ super(_arg1, true, true); x = _arg2; y = _arg3; callBack = _arg4; } override public function clone():Event{ return (new PanEvent(type, x, y, callBack)); } } }//package game.levels
Section 246
//RumbleEvent (game.levels.RumbleEvent) package game.levels { import flash.events.*; public class RumbleEvent extends Event { public var intensity:Number; public var time:Number; public static var RUMBLE:String = "Rumble"; public function RumbleEvent(_arg1:String, _arg2:Number, _arg3:Number){ super(_arg1, true, true); intensity = _arg2; time = _arg3; } override public function clone():Event{ return (new RumbleEvent(type, intensity, time)); } } }//package game.levels
Section 247
//Medal (game.medals.Medal) package game.medals { public class Medal { public var unlockLevel:int;// = 0 public var unlocked:Boolean;// = false public var saved:Boolean;// = false public var title:String; public var id:int; public var description:String; public static var medalArray:Array = []; public function Medal(_arg1:int, _arg2:String, _arg3:String){ id = _arg1; title = _arg2; description = _arg3; medalArray.push(this); } public function get frame():int{ return ((id + 1)); } public static function getMedals(_arg1:int):Array{ var _local2:Array = []; var _local3:int; while (_local3 < medalArray.length) { if (((((medalArray[_local3].unlocked) && (!(medalArray[_local3].saved)))) && ((medalArray[_local3].unlockLevel == _arg1)))){ _local2.push(medalArray[_local3]); }; _local3++; }; return (_local2); } } }//package game.medals
Section 248
//MedalController (game.medals.MedalController) package game.medals { import console.*; public class MedalController { private var m_medal:Medal; private var m_terminalsAccessed:int;// = 0 private var m_robotsTotal:int;// = 0 private var m_medalsUnlocked:Array; private var m_keypadsSolved:int;// = 0 private var m_wiresDestroyed:int;// = 0 private var m_robotsDestroyed:int;// = 0 public static var SECRET_AGENT:int = 8; public static var BEST_THERE_IS:int = 1; public static var SABOTUER:int = 5; public static var SCRAP_YARD:int = 2; public static var MASTERMIND:int = 3; public static var DESTROYER:int = 6; public static var GENIUS:int = 4; public static var WEAPONX:int = 0; public static var INTEL:int = 7; public static var NINJA_SKILLS:int = 9; public function MedalController(){ m_medalsUnlocked = []; super(); } public function clearListeners():void{ GameBroadcaster.removeEventListener(MedalEvent.WIRES_DESTROYED, handleEvents); GameBroadcaster.removeEventListener(MedalEvent.ROBOT_DESTROYED, handleEvents); GameBroadcaster.removeEventListener(MedalEvent.KEYPAD_ACCESSED, handleEvents); GameBroadcaster.removeEventListener(MedalEvent.TERMINAL_ACCESSED, handleEvents); GameBroadcaster.removeEventListener(MedalEvent.NINJA_SKILLS, handleEvents); GameBroadcaster.removeEventListener(MedalEvent.WEAPONX, handleEvents); GameBroadcaster.removeEventListener(MedalEvent.BEST, handleEvents); GameBroadcaster.removeEventListener(MedalEvent.SECRET, handleEvents); } private function handleEvents(_arg1:MedalEvent):void{ trace((" ---> Medal Event Called : " + _arg1.type)); switch (_arg1.type){ case MedalEvent.WIRES_DESTROYED: m_wiresDestroyed++; if (m_wiresDestroyed == 5){ unlockMedal(SABOTUER, _arg1.level); }; if (m_wiresDestroyed == 10){ unlockMedal(DESTROYER, _arg1.level); }; break; case MedalEvent.KEYPAD_ACCESSED: m_keypadsSolved++; if (m_keypadsSolved == 5){ unlockMedal(MASTERMIND, _arg1.level); }; if (m_keypadsSolved == 10){ unlockMedal(GENIUS, _arg1.level); }; break; case MedalEvent.ROBOT_DESTROYED: m_robotsDestroyed++; if (m_robotsDestroyed == 20){ unlockMedal(SCRAP_YARD, _arg1.level); }; break; case MedalEvent.TERMINAL_ACCESSED: m_terminalsAccessed++; if (m_terminalsAccessed == 20){ unlockMedal(INTEL, _arg1.level); }; break; case MedalEvent.NINJA_SKILLS: if (m_robotsDestroyed == 0){ unlockMedal(NINJA_SKILLS, _arg1.level); }; break; case MedalEvent.WEAPONX: if (_arg1.data >= 1000000){ unlockMedal(WEAPONX, _arg1.level); }; break; case MedalEvent.BEST: if (_arg1.data < 60000){ unlockMedal(BEST_THERE_IS, _arg1.level); }; break; case MedalEvent.SECRET: unlockMedal(SECRET_AGENT, _arg1.level); break; }; } public function unlockMedal(_arg1:int, _arg2:int):void{ if ((((_arg1 > 0)) && ((_arg1 < Medal.medalArray.length)))){ Console.GoogleAnalytics.trackEvent("MRD_Escape", "achievements", Medal.medalArray[_arg1].title); Medal.medalArray[_arg1].unlocked = true; Medal.medalArray[_arg1].unlockLevel = _arg2; }; } public function initMedals(_arg1:Array):void{ m_medal = new Medal(0, "Weapon X", "Scored 1,000,000+"); m_medal = new Medal(1, "The Best", "Completed under X min"); m_medal = new Medal(2, "Scrapyard", "20 robots destroyed"); m_medal = new Medal(3, "Mastermind", "5 Keypads Solved"); m_medal = new Medal(4, "Genius", "10 Keypads Solved"); m_medal = new Medal(5, "Saboteur", "5 wire panels destroyed"); m_medal = new Medal(6, "Destroyer", "10 wire panels"); m_medal = new Medal(7, "Intel", "Accessed 20 Terminals"); m_medal = new Medal(8, "Secret Agent", "Level Robots unharmed"); m_medal = new Medal(9, "Ninja Skills", "All Robots unharmed"); var _local2:int; while (_local2 < _arg1.length) { if (((_arg1[_local2]) && ((_local2 < Medal.medalArray.length)))){ Medal.medalArray[_local2].unlocked = true; Medal.medalArray[_local2].saved = true; }; _local2++; }; _local2 = 0; while (_local2 < Medal.medalArray.length) { trace(("--> " + Medal.medalArray[_local2].title), Medal.medalArray[_local2].unlocked); _local2++; }; } public function setupListeners():void{ GameBroadcaster.addEventListener(MedalEvent.WIRES_DESTROYED, handleEvents); GameBroadcaster.addEventListener(MedalEvent.ROBOT_DESTROYED, handleEvents); GameBroadcaster.addEventListener(MedalEvent.KEYPAD_ACCESSED, handleEvents); GameBroadcaster.addEventListener(MedalEvent.TERMINAL_ACCESSED, handleEvents); GameBroadcaster.addEventListener(MedalEvent.NINJA_SKILLS, handleEvents); GameBroadcaster.addEventListener(MedalEvent.WEAPONX, handleEvents); GameBroadcaster.addEventListener(MedalEvent.BEST, handleEvents); GameBroadcaster.addEventListener(MedalEvent.SECRET, handleEvents); } public static function getMedals():Array{ var _local1:Array = []; var _local2:int; while (_local2 < Medal.medalArray.length) { if (Medal.medalArray[_local2].unlocked){ _local1.push(true); } else { _local1.push(false); }; _local2++; }; trace("getMedals Array", _local1); return (_local1); } } }//package game.medals
Section 249
//MedalDisplay (game.medals.MedalDisplay) package game.medals { import flash.events.*; import flash.display.*; import gs.*; import org.casalib.display.*; import assets.*; public class MedalDisplay extends CasaSprite { public var m_medal:Medal; public var m_ui:MovieClip; public static var medalArray:Array = []; public function MedalDisplay(_arg1:Medal){ m_medal = _arg1; m_ui = new MedalSmall(); m_ui.gotoAndStop(m_medal.frame); m_ui.toolTip.titleText.text = m_medal.title; m_ui.toolTip.descriptionText.text = m_medal.description; addChild(m_ui); m_ui.toolTip.alpha = 0; m_ui.hit.addEventListener(MouseEvent.ROLL_OVER, handleRollOver); m_ui.hit.addEventListener(MouseEvent.ROLL_OUT, handleRollOut); medalArray.push(this); } private function handleRollOut(_arg1:MouseEvent):void{ TweenMax.to(m_ui.toolTip, 0.5, {alpha:0}); } override public function destroy():void{ m_ui.hit.removeEventListener(MouseEvent.ROLL_OVER, handleRollOver); m_ui.hit.removeEventListener(MouseEvent.ROLL_OUT, handleRollOut); removeChild(m_ui); m_ui = null; super.destroy(); } private function handleRollOver(_arg1:MouseEvent):void{ TweenMax.to(m_ui.toolTip, 0.5, {alpha:1}); } public static function destroyAll():void{ var _local1:int; while (_local1 < medalArray.length) { medalArray[_local1].destroy(); _local1++; }; medalArray = []; } } }//package game.medals
Section 250
//MedalEvent (game.medals.MedalEvent) package game.medals { import flash.events.*; public class MedalEvent extends Event { public var data; public var level:int; public static var ROBOT_DESTROYED:String = "Medal Robot Destroyed"; public static var TERMINAL_ACCESSED:String = "Medal Terminal Access"; public static var WIRES_DESTROYED:String = "Medal WIRres Destroyed"; public static var BEST:String = "Best Tehre iss"; public static var KEYPAD_ACCESSED:String = "Medal Keypad Access"; public static var LEVEL_START:String = "Medal Level Start"; public static var NINJA_SKILLS:String = "Ninja Skills"; public static var LEVEL_FINISH:String = "Medal Level Finish"; public static var WEAPONX:String = "Weaponsx"; public static var SECRET:String = "SecretAgent"; public function MedalEvent(_arg1:String, _arg2:int, _arg3=null){ super(_arg1, true, true); level = _arg2; data = _arg3; } override public function clone():Event{ return (new MedalEvent(type, level, data)); } } }//package game.medals
Section 251
//MedalPageDisplay (game.medals.MedalPageDisplay) package game.medals { import flash.events.*; import flash.display.*; import gs.*; import org.casalib.display.*; import org.casalib.util.*; public class MedalPageDisplay extends CasaSprite { public var m_base:MovieClip; public var m_medal:Medal; private var m_stage:Stage; public var m_ui:MovieClip; public static var medalArray:Array = []; public function MedalPageDisplay(_arg1:Medal, _arg2:MovieClip, _arg3:MovieClip, _arg4:MovieClip){ m_stage = StageReference.getStage(); m_medal = _arg1; m_ui = _arg2; m_base = _arg3; m_ui.mouseEnabled = false; m_ui.mouseChildren = false; m_stage.addChildAt(m_ui, 1); m_ui.x = (m_ui.x + 365); m_ui.y = (m_ui.y + 232); m_ui.toolTip.titleText.text = m_medal.title; m_ui.toolTip.descriptionText.text = m_medal.description; m_ui.toolTip.alpha = 0; if (!m_medal.unlocked){ m_ui.scratch.visible = false; TweenMax.to(m_base, 0.05, {colorMatrixFilter:{colorize:0xCCCCCC, amount:1}, alpha:0.5}); } else { m_ui.scratch.blendMode = BlendMode.MULTIPLY; m_ui.scratch.visible = true; TweenMax.to(m_base, 0.05, {colorMatrixFilter:{}, alpha:1}); }; m_stage.addChildAt(m_base, 1); m_base.x = (m_base.x + 365); m_base.y = (m_base.y + 232); m_base.addEventListener(MouseEvent.ROLL_OVER, handleRollOver); m_base.addEventListener(MouseEvent.ROLL_OUT, handleRollOut); medalArray.push(this); } private function handleRollOut(_arg1:MouseEvent):void{ TweenMax.to(m_ui.toolTip, 0.5, {alpha:0}); } private function handleRollOver(_arg1:MouseEvent):void{ TweenMax.to(m_ui.toolTip, 0.5, {alpha:1}); } override public function destroy():void{ m_stage.removeChild(m_base); m_stage.removeChild(m_ui); m_base.removeEventListener(MouseEvent.ROLL_OVER, handleRollOver); m_base.removeEventListener(MouseEvent.ROLL_OUT, handleRollOut); super.destroy(); } public static function destroyAll():void{ var _local1:int; while (_local1 < medalArray.length) { medalArray[_local1].destroy(); _local1++; }; medalArray = []; } } }//package game.medals
Section 252
//CCTV (game.obstacles.CCTV) package game.obstacles { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.geom.*; import com.markfennell.geom.*; import org.casalib.util.*; public class CCTV extends Obstacle { private var m_fov_v2:Point; private var m_fov_v0:Point; private var m_fov_v1:Point; private var m_cameraTimer:Timer; private var m_frameOff:int; private var m_timedSensor:Boolean;// = false private var m_frameOnEnd:int; private var m_cameraTime:int; private var m_frameOnStart:int; private var m_faces:String; private var m_fovPolygon:Polygon; public static var STATE_CAMERA_OFF:String = "CameraOff"; private static var camerasDictionary:Dictionary; private static var LEFT:String = "left"; public static var STATE_CAMERA_ON:String = "CameraOn"; private static var RIGHT:String = "right"; public function CCTV(_arg1:BitmapData, _arg2:MovieClip, _arg3:int, _arg4:int, _arg5:int, _arg6:Boolean, _arg7:int, _arg8:int, _arg9:String){ m_fov_v0 = new Point(35, 25); m_fov_v1 = new Point(60, 58); m_fov_v2 = new Point(160, 58); super(_arg1, _arg2, _arg2.width, _arg2.height, _arg3, _arg4, ObstacleTypes.CAMERA); if (camerasDictionary == null){ camerasDictionary = new Dictionary(true); }; m_isOn = _arg6; m_id = _arg5; m_cameraTime = _arg8; m_faces = _arg9; m_range = _arg7; m_offsetY = 5; if (m_faces == LEFT){ m_offsetX = 50; } else { m_offsetX = -50; m_fov_v0.x = -(m_fov_v0.x); m_fov_v1.x = -(m_fov_v1.x); m_fov_v2.x = -(m_fov_v2.x); }; m_frameOnStart = (FrameUtil.getFrameNumberForLabel(_arg2, "onStart") - 1); m_frameOnEnd = (FrameUtil.getFrameNumberForLabel(_arg2, "onEnd") - 1); m_frameOff = (FrameUtil.getFrameNumberForLabel(_arg2, "off") - 1); if (m_isOn){ setAnimationState(STATE_CAMERA_ON); } else { setAnimationState(STATE_CAMERA_OFF); }; if (_arg8 > 0){ setTimedSensor(); }; camerasDictionary[m_id] = this; _arg2 = null; } override public function renderDisplay(_arg1:int, _arg2:int):void{ super.renderDisplay(_arg1, _arg2); var _local3:Point = new Point(((sx - _arg1) - m_fov_v0.x), ((sy - _arg2) - m_fov_v0.y)); var _local4:Point = new Point(((sx - _arg1) + m_fov_v1.x), ((sy - _arg2) + m_fov_v1.y)); var _local5:Point = new Point(((sx - _arg1) + m_fov_v2.x), ((sy - _arg2) + m_fov_v2.y)); m_fovPolygon = new Polygon(new Line(_local3, _local4), new Line(_local4, _local5), new Line(_local5, _local3)); if (Constants.BOUNDS){ m_fovPolygon.draw(m_gameBitmapData, 0xFF0000); }; } public function onLeft():Boolean{ return ((m_faces == LEFT)); } private function setTimedSensor():void{ m_timedSensor = true; m_cameraTimer = new Timer(m_cameraTime); m_cameraTimer.addEventListener(TimerEvent.TIMER, toggle); m_cameraTimer.start(); } public function doResume():void{ if (m_timedSensor){ if (m_cameraTimer){ m_cameraTimer.start(); }; }; } public function toggle(_arg1:TimerEvent=null):void{ if (m_isOn){ m_isOn = false; setAnimationState(STATE_CAMERA_OFF); } else { m_isOn = true; setAnimationState(STATE_CAMERA_ON); }; } public function get fov():Polygon{ return (m_fovPolygon); } override public function setOff():void{ trace("CCTV OFF"); m_isOn = false; setAnimationState(STATE_CAMERA_OFF); if (m_timedSensor){ m_cameraTimer.stop(); m_cameraTimer = null; }; } override public function setAnimationState(_arg1:String):void{ if (_arg1 == m_state){ return; }; m_state = _arg1; m_callBack = null; switch (m_state){ case STATE_CAMERA_ON: m_startFrame = m_frameOnStart; m_endFrame = m_frameOnEnd; m_loopFrames = true; break; case STATE_CAMERA_OFF: m_startFrame = m_frameOff; m_endFrame = m_frameOff; m_loopFrames = false; break; }; m_currentFrame = m_startFrame; } override public function setOn():void{ m_isOn = true; setAnimationState(STATE_CAMERA_ON); if (m_timedSensor){ setTimedSensor(); }; } public function doPause():void{ if (m_timedSensor){ if (m_cameraTimer){ m_cameraTimer.stop(); }; }; } public static function getItem(_arg1:int):CCTV{ return (camerasDictionary[_arg1]); } public static function reset():void{ camerasDictionary = null; } public static function pauseTimers():void{ var _local1:CCTV; for each (_local1 in camerasDictionary) { _local1.doPause(); }; } public static function resumeTimers():void{ var _local1:CCTV; for each (_local1 in camerasDictionary) { _local1.doResume(); }; } } }//package game.obstacles
Section 253
//Door (game.obstacles.Door) package game.obstacles { import flash.display.*; import flash.utils.*; import com.markfennell.sound.*; import org.casalib.util.*; public class Door extends Obstacle { private var m_frameClose:int; private var m_frameOpen:int; private var m_isLocked:Boolean; private var m_goto:int; private var m_frameOpenEnd:int; private var m_frameOpenStart:int; public static var STATE_DOOR_CLOSED:String = "DoorClosed"; public static var STATE_DOOR_OPEN:String = "DoorOpen"; public static var STATE_DOOR_OPENING:String = "DoorOpening"; private static var doorsDictionary:Dictionary; public static var EXIT:int = -1; public function Door(_arg1:BitmapData, _arg2:MovieClip, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:Boolean, _arg8:int){ super(_arg1, _arg2, _arg2.width, _arg2.height, _arg3, _arg4, ObstacleTypes.DOOR); if (doorsDictionary == null){ doorsDictionary = new Dictionary(true); }; m_id = _arg5; m_goto = _arg6; m_isLocked = _arg7; m_range = _arg8; m_frameOpen = (FrameUtil.getFrameNumberForLabel(_arg2, "open") - 1); m_frameOpenStart = (FrameUtil.getFrameNumberForLabel(_arg2, "openStart") - 1); m_frameOpenEnd = (FrameUtil.getFrameNumberForLabel(_arg2, "openEnd") - 1); m_frameClose = (FrameUtil.getFrameNumberForLabel(_arg2, "close") - 1); if (m_isLocked){ setAnimationState(STATE_DOOR_CLOSED); } else { setAnimationState(STATE_DOOR_OPEN); }; doorsDictionary[m_id] = this; _arg2 = null; } public function get goto():int{ return (m_goto); } override public function setOn():void{ if (m_isLocked == false){ m_isLocked = true; if (getItem(m_goto).goto == id){ getItem(m_goto).setOn(); }; setAnimationState(STATE_DOOR_CLOSED); }; } override public function setOff():void{ if (m_isLocked){ m_isLocked = false; if (m_goto > 0){ if (getItem(m_goto).goto == id){ getItem(m_goto).setOff(); }; }; setAnimationState(STATE_DOOR_OPEN); }; } override public function setAnimationState(_arg1:String):void{ if (_arg1 == m_state){ return; }; m_state = _arg1; m_callBack = null; switch (m_state){ case STATE_DOOR_OPEN: m_startFrame = m_frameOpen; m_endFrame = m_frameOpen; m_loopFrames = false; break; case STATE_DOOR_CLOSED: m_startFrame = m_frameClose; m_endFrame = m_frameClose; m_loopFrames = false; break; case STATE_DOOR_OPENING: m_startFrame = m_frameOpenStart; m_endFrame = m_frameOpenEnd; m_loopFrames = false; m_callBack = shut; break; }; m_currentFrame = m_startFrame; } public function shut():void{ if (locked){ setAnimationState(STATE_DOOR_CLOSED); } else { setAnimationState(STATE_DOOR_OPEN); }; } public function open():void{ GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_turbolift_doorclose_01", 1, 1)); setAnimationState(STATE_DOOR_OPENING); } public function get locked():Boolean{ return (m_isLocked); } public static function getItem(_arg1:int):Door{ return (doorsDictionary[_arg1]); } public static function reset():void{ doorsDictionary = null; } } }//package game.obstacles
Section 254
//Guard (game.obstacles.Guard) package game.obstacles { import flash.events.*; import flash.display.*; import flash.utils.*; import com.markfennell.sound.*; import game.levels.*; import org.casalib.util.*; import game.tiles.*; public class Guard extends Obstacle { private var HUMAN:String;// = "human" private var m_moveRange:int; private var m_frameWarningEnd:int; private var m_guardType:String; private var m_moveAngle:Number;// = 0 private var m_frameExplodeEnd:int; private var m_warningTimeout:int; private var m_frameExplodeStart:int; private var m_warningTime:int;// = 2000 private var m_isDead:Boolean;// = false private var m_frameWalkStart:int; private var m_isWarning:Boolean;// = false private var ROBOT:String;// = "robot" private var m_maxRange:int;// = 300 private var m_frameWalkEnd:int; private var m_baseX:int; private var m_baseY:int; private var m_frameWarningStart:int; private var m_moveRate:Number; public static var STATE_EXPLODE:String = "guardExplode"; public static var STATE_WALK:String = "guardWalk"; private static var guardsArray:Array = []; public static var STATE_WARNING:String = "guardWarning"; public function Guard(_arg1:BitmapData, _arg2:MovieClip, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:Number, _arg9:String, _arg10:int){ super(_arg1, _arg2, _arg2.width, _arg2.height, _arg3, _arg4, ObstacleTypes.GUARD); m_id = _arg5; m_range = _arg6; m_moveRate = _arg8; m_baseX = sx; m_baseY = sy; m_moveRange = _arg7; m_guardType = _arg9; m_points = _arg10; if (m_guardType == HUMAN){ m_offsetY = 0; } else { m_offsetY = 3; }; m_frameWalkStart = (FrameUtil.getFrameNumberForLabel(_arg2, "walkStart") - 1); m_frameWalkEnd = (FrameUtil.getFrameNumberForLabel(_arg2, "walkEnd") - 1); m_frameWarningStart = (FrameUtil.getFrameNumberForLabel(_arg2, "huhStart") - 1); m_frameWarningEnd = (FrameUtil.getFrameNumberForLabel(_arg2, "huhEnd") - 1); m_frameExplodeStart = (FrameUtil.getFrameNumberForLabel(_arg2, "explodeStart") - 1); m_frameExplodeEnd = (FrameUtil.getFrameNumberForLabel(_arg2, "explodeEnd") - 1); setAnimationState(STATE_WALK); guardsArray.push(this); _arg2 = null; } public function clearWarning():void{ if (((!(m_isDead)) && (m_isWarning))){ clearTimeout(m_warningTimeout); setAnimationState(STATE_WALK); m_isWarning = false; }; } private function setAlarm():void{ GameBroadcaster.dispatchEvent(new Event(LevelController.ALARM)); } public function checkFOV(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:Array):void{ var _local6:int; if (Math.abs((_arg1 - sx)) > m_maxRange){ return; }; if ((_arg1 - sx) < 0){ _local6 = _arg3; while (_local6 <= tileX) { if (_arg5[tileY][_local6] == TileTypes.WALL_SOLID){ return; }; if (_arg5[tileY][_local6] == TileTypes.WALL_LEFT){ return; }; if (_arg5[tileY][_local6] == TileTypes.WALL_RIGHT){ return; }; _local6++; }; if (((((!(m_flip)) && (!(m_isWarning)))) && (!(m_isDead)))){ setWarning(); }; if (((((m_flip) && (m_isWarning))) && (!(m_isDead)))){ clearWarning(); }; } else { _local6 = tileX; while (_local6 <= _arg3) { if (_arg5[tileY][_local6] == TileTypes.WALL_SOLID){ return; }; if (_arg5[tileY][_local6] == TileTypes.WALL_LEFT){ return; }; if (_arg5[tileY][_local6] == TileTypes.WALL_RIGHT){ return; }; _local6++; }; if (((((m_flip) && (!(m_isWarning)))) && (!(m_isDead)))){ setWarning(); }; if (((((!(m_flip)) && (m_isWarning))) && (!(m_isDead)))){ clearWarning(); }; }; } public function isAlive():Boolean{ return (!(m_isDead)); } override public function renderDisplay(_arg1:int, _arg2:int):void{ if (((!(m_isDead)) && (!(m_isWarning)))){ sx = (m_baseX + int((Math.sin(m_moveAngle) * m_moveRange))); m_moveAngle = (m_moveAngle + m_moveRate); m_moveAngle = (m_moveAngle % (Math.PI * 2)); if ((((m_moveAngle > (Math.PI * 0.5))) && ((m_moveAngle < (Math.PI * 1.5))))){ m_flip = false; } else { m_flip = true; }; }; super.renderDisplay(_arg1, _arg2); } public function canKill():Boolean{ return ((m_guardType == ROBOT)); } public function setWarning():void{ if (((!(m_isDead)) && (!(m_isWarning)))){ m_isWarning = true; m_warningTimeout = setTimeout(setAlarm, m_warningTime); setAnimationState(STATE_WARNING); }; } private function setDead():void{ m_isDead = true; } public function explode():void{ GameBroadcaster.dispatchEvent(new RumbleEvent(RumbleEvent.RUMBLE, 10, 0.25)); GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_charge_kill_stab_01", 1, 1)); clearWarning(); setAnimationState(STATE_EXPLODE); } override public function setAnimationState(_arg1:String):void{ if (_arg1 == m_state){ return; }; m_state = _arg1; m_callBack = null; switch (m_state){ case STATE_WALK: m_startFrame = m_frameWalkStart; m_endFrame = m_frameWalkEnd; m_loopFrames = true; break; case STATE_EXPLODE: m_startFrame = m_frameExplodeStart; m_endFrame = m_frameExplodeEnd; m_loopFrames = false; setDead(); break; case STATE_WARNING: m_startFrame = m_frameWarningStart; m_endFrame = m_frameWarningEnd; m_loopFrames = true; break; }; m_currentFrame = m_startFrame; } override public function destroy():void{ clearTimeout(m_warningTimeout); super.destroy(); } public static function get guards():int{ return (guardsArray.length); } public static function resetWarnings():void{ var _local1:int; while (_local1 < guardsArray.length) { guardsArray[_local1].clearWarning(); _local1++; }; } public static function reset():void{ var _local1:int; while (_local1 < guardsArray.length) { guardsArray[_local1].destroy(); _local1++; }; guardsArray = []; } } }//package game.obstacles
Section 255
//Keypad (game.obstacles.Keypad) package game.obstacles { import flash.display.*; import game.levels.*; import org.casalib.util.*; public class Keypad extends Obstacle { private var m_info:String; private var m_used:Boolean;// = false private var m_frameOff:int; private var m_correct:String; private var m_frameOn:int; private var m_isTerminal:Boolean;// = false private var m_frameOnEnd:int; private var m_frameOnStart:int; private var m_canToggle:Boolean; private var m_message:String; private var m_miniGame:String; private var m_targetType:String; private var m_targetID:int; public static var STATE_KEYPAD_OFF:String = "KeypadOff"; public static var STATE_TERMINAL:String = "Terminal"; public static var STATE_KEYPAD_ON:String = "KeypadOn"; public function Keypad(_arg1:BitmapData, _arg2:MovieClip, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:Boolean, _arg8:int, _arg9:String, _arg10:String, _arg11:String, _arg12:Boolean=false, _arg13:int=0, _arg14:String=""){ super(_arg1, _arg2, _arg2.width, _arg2.height, _arg3, _arg4, ObstacleTypes.KEYPAD); m_isOn = _arg7; m_id = _arg5; m_targetID = _arg6; m_range = _arg8; m_targetType = _arg9; m_miniGame = _arg10; m_canToggle = _arg12; m_correct = _arg11; m_points = _arg13; m_message = _arg14; m_frameOn = (FrameUtil.getFrameNumberForLabel(_arg2, "on") - 1); m_frameOff = (FrameUtil.getFrameNumberForLabel(_arg2, "off") - 1); if (String(m_targetType) == "null"){ m_info = m_message; m_offsetY = -10; setAnimationState(STATE_TERMINAL); } else { m_offsetY = -30; if (m_isOn){ setAnimationState(STATE_KEYPAD_ON); } else { setAnimationState(STATE_KEYPAD_OFF); }; }; _arg2 = null; } public function get used():Boolean{ return (m_used); } override public function setAnimationState(_arg1:String):void{ if (_arg1 == m_state){ return; }; m_state = _arg1; m_callBack = null; switch (m_state){ case STATE_KEYPAD_ON: m_startFrame = m_frameOn; m_endFrame = m_frameOn; m_loopFrames = false; break; case STATE_KEYPAD_OFF: m_startFrame = m_frameOff; m_endFrame = m_frameOff; m_loopFrames = false; break; case STATE_TERMINAL: m_startFrame = m_frameOn; m_endFrame = m_frameOff; m_loopFrames = true; break; }; m_currentFrame = m_startFrame; } public function toggle():void{ var _local1:MessageBox; if (!m_canToggle){ if (m_used){ return; }; m_used = true; }; if (m_isOn){ setAnimationState(STATE_KEYPAD_OFF); m_isOn = false; } else { trace(m_message); _local1 = new MessageBox(m_message); m_isOn = true; setAnimationState(STATE_KEYPAD_ON); }; GameBroadcaster.dispatchEvent(new SwitchEvent(SwitchEvent.FLICKED, m_targetType, m_targetID, m_isOn)); } public function get miniGame():String{ return (m_miniGame); } public function get info():String{ return (m_info); } public function get correct():String{ return (m_correct); } } }//package game.obstacles
Section 256
//Laser (game.obstacles.Laser) package game.obstacles { import flash.events.*; import flash.display.*; import flash.utils.*; import game.*; import org.casalib.util.*; public class Laser extends Obstacle { private var m_movingLaser:Boolean;// = false private var m_frameOff:int; private var m_baseX:int; private var m_moveRange:int; private var m_laserTimer:Timer; private var m_baseY:int; private var m_frameOnEnd:int; private var m_moveRate:Number; private var m_laserTime:int; private var m_frameOnStart:int; private var m_timedLaser:Boolean;// = false private var m_moveAngle:Number;// = 0 public static var STATE_LASER_ON:String = "DoorClosed"; public static var STATE_LASER_OFF:String = "DoorOpen"; public static var LASER_ON:String = "LaserStart"; public static var LASER_OFF:String = "LaserFinish"; private static var lasersDictionary:Dictionary; public function Laser(_arg1:BitmapData, _arg2:MovieClip, _arg3:int, _arg4:int, _arg5:int, _arg6:Boolean, _arg7:int, _arg8:int, _arg9:int, _arg10:Number){ super(_arg1, _arg2, _arg2.width, 101, _arg3, _arg4, ObstacleTypes.LASER); if (lasersDictionary == null){ SoundController.getInstance().startLasers(); lasersDictionary = new Dictionary(true); }; m_offsetY = 0; m_isOn = _arg6; m_id = _arg5; m_range = _arg7; m_laserTime = _arg8; m_moveRate = _arg10; m_frameOnStart = (FrameUtil.getFrameNumberForLabel(_arg2, "onStart") - 1); m_frameOnEnd = (FrameUtil.getFrameNumberForLabel(_arg2, "onEnd") - 1); m_frameOff = (FrameUtil.getFrameNumberForLabel(_arg2, "off") - 1); if (m_isOn){ setAnimationState(STATE_LASER_ON); } else { setAnimationState(STATE_LASER_OFF); }; if (_arg9 > 0){ m_baseX = sx; m_baseY = sy; m_moveRange = _arg9; setMovingLaser(); }; if (_arg8 > 0){ setTimedLaser(); }; lasersDictionary[m_id] = this; _arg2 = null; } public function toggle(_arg1:TimerEvent=null):void{ if (m_isOn){ m_isOn = false; setAnimationState(STATE_LASER_OFF); } else { m_isOn = true; setAnimationState(STATE_LASER_ON); }; } private function setMovingLaser():void{ m_movingLaser = true; } override public function renderDisplay(_arg1:int, _arg2:int):void{ if (m_movingLaser){ sx = (m_baseX + int((Math.sin(m_moveAngle) * m_moveRange))); m_moveAngle = (m_moveAngle + m_moveRate); }; super.renderDisplay(_arg1, _arg2); } private function setTimedLaser():void{ m_timedLaser = true; m_laserTimer = new Timer(m_laserTime); m_laserTimer.addEventListener(TimerEvent.TIMER, toggle); m_laserTimer.start(); } override public function setAnimationState(_arg1:String):void{ if (_arg1 == m_state){ return; }; m_state = _arg1; m_callBack = null; switch (m_state){ case STATE_LASER_ON: m_startFrame = m_frameOnStart; m_endFrame = m_frameOnEnd; m_loopFrames = true; break; case STATE_LASER_OFF: m_startFrame = m_frameOff; m_endFrame = m_frameOff; m_loopFrames = false; break; }; m_currentFrame = m_startFrame; } override public function setOn():void{ m_isOn = true; setAnimationState(STATE_LASER_ON); if (m_timedLaser){ setTimedLaser(); }; } override public function setOff():void{ m_isOn = false; setAnimationState(STATE_LASER_OFF); if (m_timedLaser){ m_laserTimer.stop(); m_laserTimer = null; }; if (m_movingLaser){ m_movingLaser = true; }; } public static function reset():void{ lasersDictionary = null; } public static function getItem(_arg1:int):Laser{ return (lasersDictionary[_arg1]); } } }//package game.obstacles
Section 257
//Mutant (game.obstacles.Mutant) package game.obstacles { import flash.display.*; import flash.utils.*; import game.levels.*; import org.casalib.util.*; import assets.*; public class Mutant extends Obstacle { private var m_frameCaptiveEnd:int; private var m_frameCaptiveStart:int; private var m_frameReleaseEnd:int; private var m_goto:int; private var m_frameReleaseStart:int; private var m_cutscene:String; public static var STATE_MUTANT_CAPTIVE:String = "MutantCaptive"; public static var STATE_MUTANT_RELEASE:String = "MutantRelease"; private static var mutantsDictionary:Dictionary; public function Mutant(_arg1:BitmapData, _arg2:MovieClip, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:String){ super(_arg1, _arg2, _arg2.width, _arg2.height, _arg3, _arg4, ObstacleTypes.MUTANT); if (mutantsDictionary == null){ mutantsDictionary = new Dictionary(true); }; m_id = _arg5; m_goto = _arg6; m_cutscene = _arg7; m_frameCaptiveStart = (FrameUtil.getFrameNumberForLabel(_arg2, "captiveStart") - 1); m_frameCaptiveEnd = (FrameUtil.getFrameNumberForLabel(_arg2, "captiveEnd") - 1); m_frameReleaseStart = (FrameUtil.getFrameNumberForLabel(_arg2, "releaseStart") - 1); m_frameReleaseEnd = (FrameUtil.getFrameNumberForLabel(_arg2, "releaseEnd") - 1); setAnimationState(STATE_MUTANT_CAPTIVE); mutantsDictionary[m_id] = this; m_offsetY = ((_arg2 is Mutant1)) ? -42 : -1; _arg2 = null; } override public function setAnimationState(_arg1:String):void{ if (_arg1 == m_state){ return; }; m_state = _arg1; m_callBack = null; switch (m_state){ case STATE_MUTANT_CAPTIVE: m_startFrame = m_frameCaptiveStart; m_endFrame = m_frameCaptiveEnd; m_loopFrames = true; break; case STATE_MUTANT_RELEASE: m_startFrame = m_frameReleaseStart; m_endFrame = m_frameReleaseEnd; m_loopFrames = false; m_callBack = released; break; }; m_currentFrame = m_startFrame; } override public function setOff():void{ Door.getItem(m_goto).setOff(); setAnimationState(STATE_MUTANT_RELEASE); } public function released():void{ GameBroadcaster.dispatchEvent(new CutSceneEvent(CutSceneEvent.DISPLAY, m_cutscene)); } public static function getItem(_arg1:int):Mutant{ return (mutantsDictionary[_arg1]); } public static function reset():void{ mutantsDictionary = null; } } }//package game.obstacles
Section 258
//Obstacle (game.obstacles.Obstacle) package game.obstacles { import flash.display.*; import org.casalib.display.*; import flash.geom.*; import game.interfaces.*; import com.electrotank.util.*; import com.markfennell.display.*; public class Obstacle implements IObstacle { private var m_debugContainer:CasaSprite; protected var m_loopFrames:Boolean;// = false protected var m_points:int;// = 0 protected var m_currentFrame:int;// = 1 protected var m_flip:Boolean;// = false protected var m_callBack:Function; private var m_tileY:int; protected var m_gameBitmapData:BitmapData; private var m_tileX:int; protected var m_id:int; private var m_height:int; protected var m_isOn:Boolean;// = true protected var m_startFrame:int;// = 1 private var m_displayMargin:int;// = 50 protected var m_state:String; protected var m_type:String; private var m_spriteSheet:SpriteSheet; protected var m_offsetX:int;// = 0 protected var m_offsetY:int;// = 0 private var m_tileSize:Number;// = 118 protected var m_isActive:Boolean;// = false protected var m_endFrame:int;// = 1 private var m_floorThickness:int;// = 19 protected var m_range:int; private var m_stageHeight:int; private var m_sx:int; private var m_sy:int; private var m_stageWidth:int; private var m_width:int; public function Obstacle(_arg1:BitmapData, _arg2:MovieClip, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:String){ m_gameBitmapData = _arg1; m_spriteSheet = new SpriteSheet(_arg2, _arg3, _arg4); m_type = _arg7; m_stageWidth = Constants.STAGE_WIDTH; m_stageHeight = Constants.STAGE_HEIGHT; m_tileX = _arg5; m_tileY = _arg6; m_sx = ((_arg5 * m_tileSize) + (m_tileSize / 2)); m_sy = (((_arg6 * m_tileSize) + (m_tileSize - m_floorThickness)) - int((_arg2.height / 2))); } public function destroy():void{ m_spriteSheet.destroy(); } public function get tileY():int{ return (m_tileY); } public function renderDisplay(_arg1:int, _arg2:int):void{ m_isActive = false; if ((((m_sx > (_arg1 - m_displayMargin))) && ((m_sx < ((m_stageWidth + m_displayMargin) + _arg1))))){ if ((((m_sy > (_arg2 - m_displayMargin))) && ((m_sy < ((m_stageHeight + m_displayMargin) + _arg2))))){ m_isActive = true; if (m_currentFrame < (m_endFrame - 1)){ m_currentFrame++; } else { if (m_loopFrames){ m_currentFrame = m_startFrame; } else { if (m_callBack != null){ m_callBack(); m_callBack = null; } else { m_currentFrame = m_endFrame; }; }; }; m_spriteSheet.draw(m_gameBitmapData, ((m_sx - _arg1) + m_offsetX), ((m_sy - _arg2) + m_offsetY), m_currentFrame, m_flip); }; }; } public function getRange(_arg1:Point):Number{ return (Point.distance(point, _arg1)); } public function get point():Point{ return (new Point(m_sx, m_sy)); } public function setOn():void{ } public function get id():int{ return (m_id); } public function get height():int{ return (m_height); } public function get isOn():Boolean{ return (m_isOn); } public function setOff():void{ } public function get type():String{ return (m_type); } public function get width():int{ return (m_width); } public function set sx(_arg1:int):void{ m_sx = _arg1; } public function get isActive():Boolean{ return (m_isActive); } public function get range():int{ return (m_range); } public function renderPhysics():void{ } public function positionFromTile(_arg1:int, _arg2:int):Point{ var _local3:Point = new Point(); _local3.x = ((_arg1 * m_tileSize) + (m_tileSize / 2)); _local3.y = ((_arg2 * m_tileSize) + (m_tileSize - m_floorThickness)); return (_local3); } public function set sy(_arg1:int):void{ m_sy = _arg1; } public function setPoints():void{ MemoryCrypto.incrementValue("bonus", m_points); m_points = 0; } public function get sx():int{ return (m_sx); } public function get sy():int{ return (m_sy); } public function setAnimationState(_arg1:String):void{ } public function get tileX():int{ return (m_tileX); } } }//package game.obstacles
Section 259
//ObstacleController (game.obstacles.ObstacleController) package game.obstacles { import flash.display.*; import flash.utils.*; import game.levels.*; import org.casalib.display.*; import game.interfaces.*; import assets.*; public class ObstacleController { private var m_debugContainer:CasaSprite; private var embed_keypad:KeypadUI; private var embed_robot:RobotUI; private var embed_terminalFuture:TerminalFutureUI; private var embed_doorDoubleSteel:DoorDoubleSteelUI; private var embed_laserFuture:LaserFutureUI; private var embed_cameraRight:CameraRightUI; private var embed_mutant3:Mutant3; private var embed_mutant4:Mutant4; private var m_obstaclesArray:Array; private var embed_mutant2:Mutant2; private var m_gameBitmapData:BitmapData; private var embed_mutant1:Mutant1; private var embed_doorDoubleFutureExit:DoorDoubleFutureExitUI; private var embed_wires:WiresUI; private var embed_terminal:TerminalUI; private var embed_sensorBottom:SensorBottomUI; private var embed_doorSingleSteelExit:DoorSingleSteelExitUI; private var embed_robot2:Robot2UI; private var m_level:Level; private var embed_switchFuture:SwitchFutureUI; private var embed_doorDoubleSteelExit:DoorDoubleSteelExitUI; private var embed_human:HumanUI; private var embed_sensorTop:SensorTopUI; private var embed_laserBig:LaserBigUI; private var embed_keypadFuture:KeypadFutureUI; private var m_floorThickness:int;// = 19 private var embed_doorDoubleFuture:DoorDoubleFutureUI; private var embed_switch:SwitchUI; private var embed_doorSingleSteel:DoorSingleSteelUI; private var embed_cameraLeft:CameraLeftUI; public function ObstacleController(_arg1:Level, _arg2:BitmapData){ m_obstaclesArray = []; super(); Door.reset(); Laser.reset(); Sensor.reset(); CCTV.reset(); Guard.reset(); m_level = _arg1; m_gameBitmapData = _arg2; initObstacles(); GameBroadcaster.addEventListener(SwitchEvent.FLICKED, handleSwitchFlicked); } public function destroy():void{ GameBroadcaster.removeEventListener(SwitchEvent.FLICKED, handleSwitchFlicked); var _local1:int; while (_local1 < m_obstaclesArray.length) { m_obstaclesArray[_local1].destroy(); _local1++; }; } private function initObstacles():void{ var _local1:int; var _local2:XML; var _local3:XML; var _local4:*; var _local5:Boolean; var _local6:IObstacle; _local2 = m_level.getXMLList("doors"); _local1 = 0; while (_local1 < _local2.children().length()) { _local3 = _local2.children()[_local1]; _local5 = (String(_local3.@locked) == "true"); _local4 = getDefinitionByName(String(_local3.@asset)); _local6 = new Door(m_gameBitmapData, new (_local4), int(_local3.@x), int(_local3.@y), int(_local3.@id), int(_local3.@goto), _local5, int(_local3.@range)); m_obstaclesArray.push(_local6); _local1++; }; _local2 = m_level.getXMLList("switches"); _local1 = 0; while (_local1 < _local2.children().length()) { _local3 = _local2.children()[_local1]; _local4 = getDefinitionByName(String(_local3.@asset)); _local6 = new Switch(m_gameBitmapData, new (_local4), int(_local3.@x), int(_local3.@y), int(_local3.@id), int(_local3.@goto), (String(_local3.@isOn) == "true"), int(_local3.@range), String(_local3.@type), (String(_local3.@canToggle) == "true"), String(_local3)); m_obstaclesArray.push(_local6); _local1++; }; _local2 = m_level.getXMLList("lasers"); _local1 = 0; while (_local1 < _local2.children().length()) { _local3 = _local2.children()[_local1]; _local4 = getDefinitionByName(String(_local3.@asset)); _local5 = (String(_local3.@isOn) == "true"); _local6 = new Laser(m_gameBitmapData, new (_local4), int(_local3.@x), int(_local3.@y), int(_local3.@id), _local5, int(_local3.@range), int(_local3.@time), int(_local3.@move), Number(_local3.@rate)); m_obstaclesArray.push(_local6); _local1++; }; _local2 = m_level.getXMLList("sensors"); _local1 = 0; while (_local1 < _local2.children().length()) { _local3 = _local2.children()[_local1]; _local4 = getDefinitionByName(String(_local3.@asset)); _local5 = (String(_local3.@isOn) == "true"); _local6 = new Sensor(m_gameBitmapData, new (_local4), int(_local3.@x), int(_local3.@y), int(_local3.@id), _local5, int(_local3.@range), int(_local3.@time), String(_local3.@attach)); m_obstaclesArray.push(_local6); _local1++; }; _local2 = m_level.getXMLList("cameras"); _local1 = 0; while (_local1 < _local2.children().length()) { _local3 = _local2.children()[_local1]; _local4 = getDefinitionByName(String(_local3.@asset)); _local5 = (String(_local3.@isOn) == "true"); _local6 = new CCTV(m_gameBitmapData, new (_local4), int(_local3.@x), int(_local3.@y), int(_local3.@id), _local5, int(_local3.@range), int(_local3.@time), String(_local3.@face)); m_obstaclesArray.push(_local6); _local1++; }; _local2 = m_level.getXMLList("keypads"); _local1 = 0; while (_local1 < _local2.children().length()) { _local3 = _local2.children()[_local1]; _local4 = getDefinitionByName(String(_local3.@asset)); _local5 = (String(_local3.@isOn) == "true"); _local6 = new Keypad(m_gameBitmapData, new (_local4), int(_local3.@x), int(_local3.@y), int(_local3.@id), int(_local3.@goto), _local5, int(_local3.@range), String(_local3.@type), String(_local3.@miniGame), String(_local3.@correct), (String(_local3.@canToggle) == "true"), int(_local3.@points), String(_local3)); m_obstaclesArray.push(_local6); _local1++; }; _local2 = m_level.getXMLList("mutants"); _local1 = 0; while (_local1 < _local2.children().length()) { _local3 = _local2.children()[_local1]; _local4 = getDefinitionByName(String(_local3.@asset)); _local6 = new Mutant(m_gameBitmapData, new (_local4), int(_local3.@x), int(_local3.@y), int(_local3.@id), int(_local3.@goto), String(_local3.@cutscene)); m_obstaclesArray.push(_local6); _local1++; }; _local2 = m_level.getXMLList("guards"); _local1 = 0; while (_local1 < _local2.children().length()) { _local3 = _local2.children()[_local1]; _local4 = getDefinitionByName(String(_local3.@asset)); _local6 = new Guard(m_gameBitmapData, new (_local4), int(_local3.@x), int(_local3.@y), int(_local3.@id), int(_local3.@range), int(_local3.@move), Number(_local3.@rate), String(_local3.@type), int(_local3.@points)); m_obstaclesArray.push(_local6); _local1++; }; } private function tweenToObject(_arg1:IObstacle, _arg2:Function):void{ _arg2(); } private function handleSwitchFlicked(_arg1:SwitchEvent):void{ var _local2:IObstacle; switch (_arg1.targetType){ case ObstacleTypes.DOOR: _local2 = Door.getItem(_arg1.targetID); if (_local2.isOn){ tweenToObject(_local2, _local2.setOff); } else { tweenToObject(_local2, _local2.setOn); }; break; case ObstacleTypes.LASER: _local2 = Laser.getItem(_arg1.targetID); if (_local2.isOn){ tweenToObject(_local2, _local2.setOff); } else { tweenToObject(_local2, _local2.setOn); }; break; case ObstacleTypes.SENSOR: _local2 = Sensor.getItem(_arg1.targetID); if (_local2.isOn){ tweenToObject(_local2, _local2.setOff); } else { tweenToObject(_local2, _local2.setOn); }; break; case ObstacleTypes.CAMERA: _local2 = CCTV.getItem(_arg1.targetID); if (_local2.isOn){ tweenToObject(_local2, _local2.setOff); } else { tweenToObject(_local2, _local2.setOn); }; break; case ObstacleTypes.MUTANT: _local2 = Mutant.getItem(_arg1.targetID); tweenToObject(_local2, _local2.setOff); break; }; } public function renderPhysics():void{ var _local1:int; while (_local1 < m_obstaclesArray.length) { m_obstaclesArray[_local1].renderPhysics(); _local1++; }; } public function get obstacles():Array{ return (m_obstaclesArray); } public function renderDisplay(_arg1:int, _arg2:int):void{ var _local3:int; while (_local3 < m_obstaclesArray.length) { m_obstaclesArray[_local3].renderDisplay(_arg1, _arg2); _local3++; }; } } }//package game.obstacles
Section 260
//ObstacleTypes (game.obstacles.ObstacleTypes) package game.obstacles { public class ObstacleTypes { public static var KEYPAD:String = "keypad"; public static var CAMERA:String = "camera"; public static var LASER:String = "laser"; public static var GUARD:String = "guard"; public static var DOOR:String = "door"; public static var MUTANT:String = "mutant"; public static var BARRIER:String = "barrier"; public static var SENSOR:String = "sensor"; public static var SWITCH:String = "switch"; } }//package game.obstacles
Section 261
//Sensor (game.obstacles.Sensor) package game.obstacles { import flash.events.*; import flash.display.*; import flash.utils.*; import org.casalib.util.*; public class Sensor extends Obstacle { private var m_sensorTime:int; private var m_frameOnEnd:int; private var m_frameOnStart:int; private var m_frameOff:int; private var m_attach:String; private var m_sensorTimer:Timer; private var m_timedSensor:Boolean;// = false private static var sensorsDictionary:Dictionary; private static var BOTTOM:String = "bottom"; private static var TOP:String = "top"; public static var STATE_SENSOR_ON:String = "DoorClosed"; public static var STATE_SENSOR_OFF:String = "DoorOpen"; public function Sensor(_arg1:BitmapData, _arg2:MovieClip, _arg3:int, _arg4:int, _arg5:int, _arg6:Boolean, _arg7:int, _arg8:int, _arg9:String){ super(_arg1, _arg2, _arg2.width, _arg2.height, _arg3, _arg4, ObstacleTypes.SENSOR); if (sensorsDictionary == null){ sensorsDictionary = new Dictionary(true); }; m_isOn = _arg6; m_id = _arg5; m_sensorTime = _arg8; m_attach = _arg9; m_range = _arg7; if (m_attach == TOP){ m_offsetY = -70; } else { m_offsetY = 0; }; m_frameOnStart = (FrameUtil.getFrameNumberForLabel(_arg2, "onStart") - 1); m_frameOnEnd = (FrameUtil.getFrameNumberForLabel(_arg2, "onEnd") - 1); m_frameOff = (FrameUtil.getFrameNumberForLabel(_arg2, "off") - 1); if (m_isOn){ setAnimationState(STATE_SENSOR_ON); } else { setAnimationState(STATE_SENSOR_OFF); }; if (_arg8 > 0){ setTimedSensor(); }; sensorsDictionary[m_id] = this; _arg2 = null; } override public function setOn():void{ m_isOn = true; setAnimationState(STATE_SENSOR_ON); if (m_timedSensor){ setTimedSensor(); }; } override public function setAnimationState(_arg1:String):void{ if (_arg1 == m_state){ return; }; m_state = _arg1; m_callBack = null; switch (m_state){ case STATE_SENSOR_ON: m_startFrame = m_frameOnStart; m_endFrame = m_frameOnEnd; m_loopFrames = true; break; case STATE_SENSOR_OFF: m_startFrame = m_frameOff; m_endFrame = m_frameOff; m_loopFrames = false; break; }; m_currentFrame = m_startFrame; } override public function setOff():void{ m_isOn = false; setAnimationState(STATE_SENSOR_OFF); if (m_timedSensor){ m_sensorTimer.stop(); m_sensorTimer = null; }; } private function setTimedSensor():void{ m_timedSensor = true; m_sensorTimer = new Timer(m_sensorTime); m_sensorTimer.addEventListener(TimerEvent.TIMER, toggle); m_sensorTimer.start(); } public function toggle(_arg1:TimerEvent=null):void{ if (m_isOn){ m_isOn = false; setAnimationState(STATE_SENSOR_OFF); } else { m_isOn = true; setAnimationState(STATE_SENSOR_ON); }; } public function onTop():Boolean{ return ((m_attach == TOP)); } public static function getItem(_arg1:int):Sensor{ return (sensorsDictionary[_arg1]); } public static function reset():void{ sensorsDictionary = null; } } }//package game.obstacles
Section 262
//Switch (game.obstacles.Switch) package game.obstacles { import flash.display.*; import game.levels.*; import org.casalib.util.*; public class Switch extends Obstacle { private var m_frameOnEnd:int; private var m_targetID:int; private var m_frameOnStart:int; private var m_used:Boolean;// = false private var m_canToggle:Boolean;// = true private var m_message:String; private var m_frameOn:int; private var m_frameOff:int; private var m_targetType:String; public static var STATE_SWITCH_OFF:String = "DoorOpen"; public static var STATE_SWITCH_ON:String = "DoorClosed"; public function Switch(_arg1:BitmapData, _arg2:MovieClip, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:Boolean, _arg8:int, _arg9:String, _arg10:Boolean, _arg11:String=""){ super(_arg1, _arg2, _arg2.width, _arg2.height, _arg3, _arg4, ObstacleTypes.SWITCH); m_offsetY = -30; m_isOn = _arg7; m_id = _arg5; m_targetID = _arg6; m_range = _arg8; m_targetType = _arg9; m_canToggle = _arg10; m_message = _arg11; m_frameOn = (FrameUtil.getFrameNumberForLabel(_arg2, "on") - 1); m_frameOff = (FrameUtil.getFrameNumberForLabel(_arg2, "off") - 1); if (m_isOn){ setAnimationState(STATE_SWITCH_ON); } else { setAnimationState(STATE_SWITCH_OFF); }; _arg2 = null; } public function toggle():void{ var _local1:MessageBox; if (!m_canToggle){ if (m_used){ return; }; m_used = true; }; if (m_isOn){ m_isOn = false; setAnimationState(STATE_SWITCH_OFF); } else { _local1 = new MessageBox(m_message); m_isOn = true; setAnimationState(STATE_SWITCH_ON); }; GameBroadcaster.dispatchEvent(new SwitchEvent(SwitchEvent.FLICKED, m_targetType, m_targetID, m_isOn)); } public function get used():Boolean{ return (m_used); } override public function setAnimationState(_arg1:String):void{ if (_arg1 == m_state){ return; }; m_state = _arg1; m_callBack = null; switch (m_state){ case STATE_SWITCH_ON: m_startFrame = m_frameOn; m_endFrame = m_frameOn; m_loopFrames = false; break; case STATE_SWITCH_OFF: m_startFrame = m_frameOff; m_endFrame = m_frameOff; m_loopFrames = false; break; }; m_currentFrame = m_startFrame; } } }//package game.obstacles
Section 263
//SwitchEvent (game.obstacles.SwitchEvent) package game.obstacles { import flash.events.*; public class SwitchEvent extends Event { public var state:Boolean; public var targetType:String; public var targetID:int; public static var FLICKED:String = "SwitchFlicked"; public function SwitchEvent(_arg1:String, _arg2:String, _arg3:int, _arg4:Boolean=true){ super(_arg1, true, true); targetType = _arg2; targetID = _arg3; state = _arg4; } override public function clone():Event{ return (new SwitchEvent(type, targetType, targetID, state)); } } }//package game.obstacles
Section 264
//Player (game.player.Player) package game.player { import flash.events.*; import flash.display.*; import flash.utils.*; import console.*; import com.markfennell.sound.*; import game.levels.*; import game.*; import game.medals.*; import gs.*; import org.casalib.display.*; import flash.geom.*; import game.obstacles.*; import com.markfennell.geom.*; import game.interfaces.*; import org.casalib.util.*; import assets.*; import fl.motion.easing.*; import com.markfennell.display.*; import game.tiles.*; public class Player extends EventDispatcher { private var m_character_w2:int;// = 13 public var inputUp:Boolean;// = false private var m_jumpHeight:int; private var m_isJumpingRoof:Boolean;// = false private var m_isOnRoofHold:Boolean;// = false public var spriteSheetX:int; private var m_currentFrame:int;// = 1 private var m_isFallingRoof:Boolean;// = false private var m_accelerationCrawl:Number;// = 2 private var m_state:String; private var m_door:Door;// = null private var m_isGameOver:Boolean;// = false private var m_laserRange:Number;// = 150 private var m_attackTime:int;// = 200 private var m_guard:Guard;// = null private var m_walkOutTime:int;// = 300 public var inputRight:Boolean;// = false private var m_max_vx_walk:Number;// = 9 private var m_gravity:Number;// = 2 private var m_isAnimating:Boolean;// = false private var m_isOverSwitch:Boolean;// = false private var m_friction:Number;// = 0.8 private var m_character_height:int;// = 70 private var m_isVisible:Boolean;// = true private var m_offset:int;// = 14 private var m_isFalling:Boolean;// = false private var m_isOnRoof:Boolean;// = false private var m_started:Boolean;// = false private var m_isCrawling:Boolean;// = false private var m_bounds:Rectangle; private var m_spriteSheet:SpriteSheet; private var m_floorThickness:int;// = 19 private var m_isOverdoor:Boolean;// = false private var m_sy_old:int; private var m_endFrame:int;// = 1 public var inputLeft:Boolean;// = false private var m_tile_B:Point; private var m_tile_C:Point; private var m_accelerationRoof:Number;// = 0.7 private var m_isCrouching:Boolean;// = false private var m_tile_L:Point; private var m_acceleration:Number;// = 1 private var m_tile_R:Point; private var m_tile_T:Point; private var m_gameBitmapData:BitmapData; private var m_spriteSheetX_BASE:int; private var m_isOverKeypad:Boolean;// = false private var m_crouchReleased:Boolean;// = true private var m_level:Level; private var m_panTime:Number;// = 0.5 private var m_startFrame:int;// = 1 private var m_switch:Switch;// = null private var m_isJumpingLevel:Boolean;// = false private var m_isOverGuard:Boolean;// = false public var inputSpace:Boolean;// = false private var m_sx_old:int; private var m_tileSize:Number;// = 118 private var m_sx:Number;// = 0 private var m_sy:Number;// = 0 private var m_max_vx_crawl:Number;// = 3 private var m_debugContainer:CasaSprite; private var m_loopFrames:Boolean;// = false private var m_max_vx_roof:Number;// = 2 public var inputDown:Boolean;// = false private var m_max_vx:Number; private var m_boundColor:int;// = 0xFF0000 private var m_isWalking:Boolean;// = true private var m_tile_BL:Point; private var m_jumpTime:Number; private var m_tile_BR:Point; private var m_isAttacking:Boolean;// = false private var m_spriteSheetY_BASE:int; private var m_vx:Number;// = 0 private var m_vy:Number;// = 0 private var m_character:MovieClip; private var m_tile_TR:Point; private var m_tile_TL:Point; private var m_isOnRoofMoving:Boolean;// = false private var m_keypad:Keypad;// = null private var m_spriteFlip:Boolean;// = false private var m_targetDoor:Door;// = null private var m_callBack:Function; public var spriteSheetY:int; private static var LEFT:String = "left"; public static var STATE_DEAD:String = "PlayerDead"; public static var STATE_CROUCH:String = "PlayerCrouch"; public static var STATE_FALL:String = "PlayerFall"; public static var STATE_ROOF_MOVE:String = "PlayerRoofMove"; public static var STATE_DOOR_IN:String = "PlayerDoorIn"; public static var STATE_ATTACK:String = "PlayerAttack"; public static var STATE_WALK:String = "PlayerWalk"; public static var STATE_IDLE:String = "PlayerIdle"; public static var STATE_FLOOR_DOWN:String = "PlayerFloorDown"; public static var STATE_ROOF_JUMP:String = "PlayerRoofJump"; public static var STATE_ROOF_HANG:String = "PlayerRoofHang"; public static var STATE_FLOOR_UP:String = "PlayerFloorUp"; public static var STATE_CRAWL:String = "PlayerCrawl"; public static var STATE_DOOR_OUT:String = "PlayerDoorOut"; private static var RIGHT:String = "right"; public static var STATE_HIT:String = "PlayerHit"; public static var STATE_ROOF_HIDE:String = "PlayerRoofHide"; public function Player(_arg1:Level, _arg2:BitmapData){ m_tile_TL = new Point(); m_tile_T = new Point(); m_tile_TR = new Point(); m_tile_L = new Point(); m_tile_C = new Point(); m_tile_R = new Point(); m_tile_BL = new Point(); m_tile_B = new Point(); m_tile_BR = new Point(); super(); m_level = _arg1; m_gameBitmapData = _arg2; m_character = new HeroUI(); m_spriteSheet = new SpriteSheet(m_character, 120, 100); m_spriteSheetX_BASE = (spriteSheetX = (Constants.STAGE_WIDTH * 0.5)); m_spriteSheetY_BASE = (spriteSheetY = ((Constants.STAGE_HEIGHT * 0.5) + m_offset)); setAnimationState(STATE_IDLE); GameBroadcaster.addEventListener(LevelController.ALARM, playerDiscovered); } private function moveToDoor():void{ Guard.resetWarnings(); m_isAnimating = true; m_door.open(); setAnimationState(STATE_DOOR_IN); } private function playerDiscovered(_arg1:Event=null):void{ if (m_isGameOver){ return; }; m_isGameOver = true; m_boundColor = 0xFF0000; GameBroadcaster.dispatchEvent(new Event(LevelController.ALARM)); } public function destroy():void{ GameBroadcaster.removeEventListener(LevelController.ALARM, playerDiscovered); TweenMax.killAll(); m_spriteSheet.destroy(); } private function canJump():Boolean{ if (m_isFalling){ return (false); }; if (m_isJumpingLevel){ return (false); }; if (m_isJumpingRoof){ return (false); }; if (m_isOnRoof){ return (false); }; if (m_isOnRoofHold){ return (false); }; if (isForcedCrawl()){ return (false); }; if (m_isCrouching){ return (false); }; if (m_isCrawling){ return (false); }; return (true); } private function checkSpeed():void{ if (((((!(m_isWalking)) && (!(m_isCrawling)))) && (!(m_isAttacking)))){ m_vx = (m_vx * m_friction); if (Math.abs(m_vx) < 0.5){ m_vx = 0; }; }; if (m_vx > m_max_vx){ m_vx = m_max_vx; }; if (m_vx < -(m_max_vx)){ m_vx = -(m_max_vx); }; } public function resetInputs():void{ inputLeft = false; inputRight = false; } private function canCrawl():Boolean{ if (m_isOnRoofHold){ return (false); }; if (m_isOnRoof){ return (false); }; if (m_isFalling){ return (false); }; if (m_isJumpingLevel){ return (false); }; if (m_isJumpingRoof){ return (false); }; return (true); } private function canAttack():Boolean{ if (m_isAttacking){ return (false); }; if (m_isCrawling){ return (false); }; if (m_isCrouching){ return (false); }; if (m_isFalling){ return (false); }; if (m_isJumpingLevel){ return (false); }; if (m_isJumpingRoof){ return (false); }; if (m_isOnRoof){ return (false); }; return (true); } public function renderDisplay():void{ if (!m_isAnimating){ if (m_isAttacking){ setAnimationState(STATE_ATTACK); } else { if (m_isWalking){ setAnimationState(STATE_WALK); } else { if (m_isCrawling){ setAnimationState(STATE_CRAWL); } else { if (m_isCrouching){ setAnimationState(STATE_CROUCH); } else { if (m_isFalling){ setAnimationState(STATE_FALL); } else { if (m_isJumpingRoof){ setAnimationState(STATE_ROOF_JUMP); } else { if (m_isJumpingLevel){ setAnimationState(STATE_FLOOR_UP); } else { if (m_isOnRoofHold){ setAnimationState(STATE_ROOF_HIDE); } else { if (m_isOnRoofMoving){ setAnimationState(STATE_ROOF_MOVE); } else { if (m_isOnRoof){ setAnimationState(STATE_ROOF_HANG); } else { setAnimationState(STATE_IDLE); }; }; }; }; }; }; }; }; }; }; }; if (m_currentFrame < (m_endFrame - 1)){ m_currentFrame++; } else { if (m_loopFrames){ m_currentFrame = m_startFrame; } else { if (m_callBack != null){ m_callBack(); m_callBack = null; }; }; }; m_spriteSheet.draw(m_gameBitmapData, spriteSheetX, spriteSheetY, m_currentFrame, m_spriteFlip); if (Constants.BOUNDS){ Line.drawRect(getBounds(spriteSheetX, spriteSheetY), m_gameBitmapData, m_boundColor); }; } public function handleLeft():void{ if (m_isAnimating){ return; }; if (!m_isOnRoofHold){ m_spriteFlip = true; }; if (m_isCrouching){ m_max_vx = m_max_vx_crawl; m_vx = (m_vx - m_accelerationCrawl); m_isCrawling = true; } else { if (m_isOnRoofHold){ m_vx = 0; } else { if (m_isOnRoof){ m_max_vx = m_max_vx_roof; m_vx = (m_vx - m_acceleration); m_isOnRoofMoving = true; } else { if (canWalk()){ m_max_vx = m_max_vx_walk; m_vx = (m_vx - m_acceleration); m_isWalking = true; }; }; }; }; } private function attack():void{ if (m_guard){ m_guard.setPoints(); m_guard.explode(); m_guard = null; GameBroadcaster.dispatchEvent(new MedalEvent(MedalEvent.ROBOT_DESTROYED, m_level.id)); Console.GoogleAnalytics.trackEvent("MRD_Escape", "misc", "robotDestroyed"); } else { switch (int((Math.random() * 4))){ case 1: GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_machete_normal_02", 0.6, 1)); break; case 2: GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_machete_normal_04", 0.6, 1)); break; case 3: GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_machete_normal_08", 0.6, 1)); break; default: GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_staff_12", 0.8, 1)); break; }; }; m_vx = 0; m_isAttacking = true; setTimeout(attack_COMPLETE, m_attackTime); } public function start():void{ m_started = true; } public function get sx():Number{ return (m_sx); } public function get sy():Number{ return (m_sy); } private function setAnimationState(_arg1:String):void{ if (_arg1 == m_state){ return; }; m_state = _arg1; m_callBack = null; switch (m_state){ case STATE_IDLE: m_startFrame = 1; m_endFrame = 24; m_loopFrames = true; break; case STATE_WALK: m_startFrame = 42; m_endFrame = 59; m_loopFrames = true; break; case STATE_CROUCH: m_startFrame = 25; m_endFrame = 41; m_loopFrames = false; break; case STATE_ATTACK: if (Math.random() > 0.5){ m_startFrame = 71; m_endFrame = 80; } else { m_startFrame = 198; m_endFrame = 207; }; m_loopFrames = true; break; case STATE_ROOF_JUMP: m_startFrame = 60; m_endFrame = 70; m_loopFrames = false; break; case STATE_FLOOR_UP: m_startFrame = 60; m_endFrame = 70; m_loopFrames = false; break; case STATE_FALL: m_startFrame = 81; m_endFrame = 90; m_loopFrames = true; break; case STATE_CRAWL: m_startFrame = 209; m_endFrame = 236; m_loopFrames = true; break; case STATE_ROOF_HIDE: m_startFrame = 91; m_endFrame = 97; m_loopFrames = false; break; case STATE_ROOF_HANG: m_startFrame = 145; m_endFrame = 172; m_loopFrames = true; break; case STATE_ROOF_MOVE: m_startFrame = 173; m_endFrame = 197; m_loopFrames = true; break; case STATE_DOOR_IN: m_startFrame = 110; m_endFrame = 117; m_loopFrames = false; m_callBack = moveToDoor_TRANSITION_BEGIN; break; case STATE_DOOR_OUT: m_startFrame = 118; m_endFrame = 125; m_loopFrames = false; m_callBack = moveToDoor_COMPLETE; break; }; m_currentFrame = m_startFrame; } private function getBoundingTiles():void{ m_tile_C.x = int((m_sx / m_tileSize)); m_tile_C.y = int((m_sy / m_tileSize)); m_tile_L.x = m_level.validWidth((m_tile_C.x - 1)); m_tile_L.y = m_tile_C.y; m_tile_R.x = m_level.validWidth((m_tile_C.x + 1)); m_tile_R.y = m_tile_C.y; m_tile_T.x = m_tile_C.x; m_tile_T.y = m_level.validHeight((m_tile_C.y - 1)); m_tile_B.x = m_tile_C.x; m_tile_B.y = m_level.validHeight((m_tile_C.y + 1)); m_tile_BL.x = m_level.validWidth((m_tile_C.x - 1)); m_tile_BL.y = m_level.validHeight((m_tile_C.y + 1)); m_tile_BR.x = m_level.validWidth((m_tile_C.x + 1)); m_tile_BR.y = m_level.validHeight((m_tile_C.y + 1)); m_tile_TL.x = m_level.validWidth((m_tile_C.x - 1)); m_tile_TL.y = m_level.validHeight((m_tile_C.y - 1)); m_tile_TR.x = m_level.validWidth((m_tile_C.x + 1)); m_tile_TR.y = m_level.validHeight((m_tile_C.y - 1)); } public function set isAnimating(_arg1:Boolean):void{ m_isAnimating = _arg1; } private function checkCollisions(_arg1:Array):void{ var _local2:Number; m_sx = (m_sx + m_vx); if (m_vx < 0){ if (!tilePassable(m_tile_L)){ _local2 = (((m_tile_L.x + 1) * m_tileSize) + m_character_w2); if (m_sx < _local2){ m_sx = _local2; m_vx = 0; }; } else { if (m_level.collisionArray[m_tile_C.y][m_tile_C.x] == TileTypes.WALL_LEFT){ _local2 = (((m_tile_C.x + 0.5) * m_tileSize) + m_character_w2); if (m_sx < _local2){ m_sx = _local2; m_vx = 0; }; }; }; } else { if (m_vx > 0){ if (!tilePassable(m_tile_R)){ _local2 = ((m_tile_R.x * m_tileSize) - m_character_w2); if (m_sx > _local2){ m_sx = _local2; m_vx = 0; }; } else { if (m_level.collisionArray[m_tile_C.y][m_tile_C.x] == TileTypes.WALL_RIGHT){ _local2 = (((m_tile_C.x + 0.5) * m_tileSize) - m_character_w2); if (m_sx > _local2){ m_sx = _local2; m_vx = 0; }; }; }; }; }; } private function doFall():void{ m_isFalling = true; m_isOnRoof = false; m_isOnRoofHold = false; m_jumpHeight = ((m_tile_C.y * m_tileSize) + (m_tileSize - m_floorThickness)); TweenMax.to(this, 0.2, {ease:Quadratic.easeIn, sy:m_jumpHeight, onComplete:doFall_COMPLETE}); } public function doFall_COMPLETE():void{ m_isFalling = false; if (Math.random() > 0.5){ GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_thud", 0.6, 1)); } else { GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_thud2", 0.6, 1)); }; } private function moveToDoor_TRANSITION_BEGIN():void{ var _local1:Point; if (m_door.goto == Door.EXIT){ GameBroadcaster.dispatchEvent(new Event(LevelController.COMPLETE)); } else { m_targetDoor = Door.getItem(m_door.goto); _local1 = positionFromTile(m_targetDoor.tileX, m_targetDoor.tileY); TweenMax.to(this, 1, {sx:_local1.x, sy:_local1.y, onComplete:moveToDoor_TRANSITION_COMPLETE}); }; } public function set sx(_arg1:Number):void{ m_sx = _arg1; } public function set sy(_arg1:Number):void{ m_sy = _arg1; } public function placePlayer():void{ var _local1:Point = positionFromTile(m_level.player.x, m_level.player.y); m_sx = _local1.x; m_sy = _local1.y; } public function handleRight():void{ if (m_isAnimating){ return; }; if (!m_isOnRoofHold){ m_spriteFlip = false; }; if (m_isCrouching){ m_max_vx = m_max_vx_crawl; m_vx = (m_vx + m_accelerationCrawl); m_isCrawling = true; } else { if (m_isOnRoofHold){ m_vx = 0; } else { if (m_isOnRoof){ m_max_vx = m_max_vx_roof; m_vx = (m_vx + m_acceleration); m_isOnRoofMoving = true; } else { if (canWalk()){ m_max_vx = m_max_vx_walk; m_vx = (m_vx + m_acceleration); m_isWalking = true; }; }; }; }; } public function handleUp():void{ var _local1:Number; if (m_isAnimating){ return; }; if (canJump()){ if (isJumpTile(m_tile_T)){ GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_tram_crash_01", 0.9, 1)); m_jumpHeight = (((m_tile_T.y + 1) * m_tileSize) - m_floorThickness); m_isJumpingLevel = true; m_vx = 0; if (((!(tilePassable(m_tile_TL))) && ((m_vx < 0)))){ _local1 = (((m_tile_TL.x + 1) * m_tileSize) + m_character_w2); if (m_sx < _local1){ m_sx = _local1; m_vx = 0; }; TweenMax.to(this, 0.4, {ease:Quadratic.easeOut, sx:_local1, sy:m_jumpHeight, onComplete:doJumpLevel_COMPLETE}); } else { if (((!(tilePassable(m_tile_TR))) && ((m_vx > 0)))){ _local1 = ((m_tile_TR.x * m_tileSize) - m_character_w2); if (m_sx > _local1){ m_sx = _local1; }; TweenMax.to(this, 0.4, {ease:Quadratic.easeOut, sx:_local1, sy:m_jumpHeight, onComplete:doJumpLevel_COMPLETE}); } else { TweenMax.to(this, 0.4, {ease:Quadratic.easeOut, sy:m_jumpHeight, onComplete:doJumpLevel_COMPLETE}); }; }; } else { GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_wall_climb_02", 0.8, 1)); m_jumpHeight = (((m_tile_C.y + 1) * m_tileSize) - 45); m_isJumpingRoof = true; TweenMax.to(this, 0.2, {ease:Quadratic.easeOut, sy:m_jumpHeight, onComplete:doJumpRoof_COMPLETE}); }; } else { if (((m_isOnRoof) && (!(m_isOnRoofHold)))){ m_isOnRoofHold = true; } else { if (m_isOnRoofHold){ }; }; }; } public function handleDown():void{ var _local1:Number; m_vx = 0; if (m_isAnimating){ return; }; m_crouchReleased = false; if (m_isOnRoofHold){ m_isOnRoofHold = false; setAnimationState(STATE_ROOF_HANG); } else { if (m_isOnRoof){ doFall(); } else { if (((isJumpTile(m_tile_C)) && (canFall()))){ GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_aerial_01", 0.5, 1)); m_isFalling = true; m_jumpHeight = (((m_tile_B.y + 1) * m_tileSize) - m_floorThickness); if (((!(tilePassable(m_tile_BL))) && ((m_vx < 0)))){ _local1 = (((m_tile_BL.x + 1) * m_tileSize) + m_character_w2); if (m_sx < _local1){ m_sx = _local1; }; TweenMax.to(this, 0.4, {ease:Quadratic.easeIn, sx:_local1, sy:m_jumpHeight, onComplete:doFall_COMPLETE}); } else { if (((!(tilePassable(m_tile_BR))) && ((m_vx > 0)))){ _local1 = ((m_tile_BR.x * m_tileSize) - m_character_w2); if (m_sx > _local1){ m_sx = _local1; }; TweenMax.to(this, 0.4, {ease:Quadratic.easeIn, sx:_local1, sy:m_jumpHeight, onComplete:doFall_COMPLETE}); } else { TweenMax.to(this, 0.4, {ease:Quadratic.easeIn, sy:m_jumpHeight, onComplete:doFall_COMPLETE}); }; }; } else { if (canCrawl()){ m_isCrouching = true; }; }; }; }; } public function revertSprite_COMPLETE():void{ m_isAnimating = false; GameBroadcaster.dispatchEvent(new PanEvent(LevelController.PAN_HIDE, NaN, NaN, null)); } private function canOpenDoor():Boolean{ if (m_isFalling){ return (false); }; if (m_isJumpingLevel){ return (false); }; if (m_isJumpingRoof){ return (false); }; if (m_isOnRoof){ return (false); }; if (m_isOnRoofHold){ return (false); }; if (m_isCrouching){ return (false); }; if (m_isCrawling){ return (false); }; if (isForcedCrawl()){ return (false); }; return (true); } public function moveToDoor_TRANSITION_COMPLETE():void{ m_targetDoor.open(); setTimeout(moveToDoor_WALKOUT, m_walkOutTime); } private function isForcedCrawl():Boolean{ var _local1:int = m_level.collisionArray[m_tile_C.y][m_tile_C.x]; if (_local1 == TileTypes.CRAWL){ return (true); }; return (false); } public function doJumpLevel_COMPLETE():void{ m_isJumpingLevel = false; } private function attack_COMPLETE():void{ m_isAttacking = false; } public function moveSprite_COMPLETE():void{ if (m_callBack != null){ m_callBack(); }; m_callBack = null; revertSprite(); } private function isJumpTile(_arg1:Point):Boolean{ var _local2:int = m_level.collisionArray[_arg1.y][_arg1.x]; if (_local2 == TileTypes.FLOOR_JUMP){ return (true); }; return (false); } public function get tileX():int{ return (m_tile_C.x); } public function get tileY():int{ return (m_tile_C.y); } public function doJumpRoof_COMPLETE():void{ m_isJumpingRoof = false; m_isOnRoof = true; } private function canFall():Boolean{ if (m_isFalling){ return (false); }; if (m_isJumpingLevel){ return (false); }; if (m_isJumpingRoof){ return (false); }; return (true); } private function moveToDoor_WALKOUT():void{ setAnimationState(STATE_DOOR_OUT); } private function checkObstacles(_arg1:Array):void{ var _local4:IObstacle; var _local5:int; var _local6:Guard; var _local2:Array = []; m_boundColor = 0xFF00; m_guard = null; var _local3:int; while (_local3 < _arg1.length) { _local4 = _arg1[_local3]; _local5 = (sx - _local4.sx); _local5 = ((_local5 < 0)) ? -(_local5) : _local5; if (!_local4.isActive){ } else { switch (_local4.type){ case ObstacleTypes.DOOR: if ((((tileY == _local4.tileY)) && ((_local5 < _local4.range)))){ m_door = (_local4 as Door); m_isOverdoor = true; }; break; case ObstacleTypes.SWITCH: if ((((tileY == _local4.tileY)) && ((_local5 < _local4.range)))){ m_switch = (_local4 as Switch); m_isOverSwitch = true; }; break; case ObstacleTypes.KEYPAD: if ((((tileY == _local4.tileY)) && ((_local5 < _local4.range)))){ m_keypad = (_local4 as Keypad); m_isOverKeypad = true; }; break; case ObstacleTypes.LASER: if (tileY == _local4.tileY){ if (_local5 < _local4.range){ if ((_local4 as Laser).isOn){ playerDiscovered(); }; } else { if ((_local4 as Laser).isOn){ _local2.push(((m_laserRange - Math.min(m_laserRange, Math.abs(_local5))) / (m_laserRange - _local4.range))); } else { _local2.push(0); }; }; }; break; case ObstacleTypes.SENSOR: if (tileY == _local4.tileY){ if ((_local4 as Sensor).isOn){ _local2.push(((m_laserRange - Math.min(m_laserRange, Math.abs(_local5))) / (m_laserRange - _local4.range))); } else { _local2.push(0); }; if (_local5 < _local4.range){ if ((_local4 as Sensor).isOn){ if (((m_isOnRoof) || (m_isOnRoofHold))){ if ((_local4 as Sensor).onTop()){ playerDiscovered(); }; } else { if (!(_local4 as Sensor).onTop()){ playerDiscovered(); }; }; }; }; }; break; case ObstacleTypes.CAMERA: if ((((tileY == _local4.tileY)) && ((_local5 < _local4.range)))){ if ((_local4 as CCTV).isOn){ if (Polygon.rectInPoly(getBounds(spriteSheetX, spriteSheetY), (_local4 as CCTV).fov)){ playerDiscovered(); }; }; }; break; case ObstacleTypes.GUARD: if (tileY == _local4.tileY){ _local6 = (_local4 as Guard); if ((((((_local5 < _local4.range)) && (_local6.canKill()))) && (_local6.isAlive()))){ m_guard = _local6; }; if (!m_isOnRoofHold){ _local6.checkFOV(sx, sy, tileX, tileY, m_level.collisionArray); }; }; break; }; }; _local3++; }; SoundController.getInstance().setLaserVolume(ArrayUtil.getHighestValue(_local2)); } public function get point():Point{ return (new Point(m_sx, m_sy)); } private function getBounds(_arg1:int, _arg2:int):Rectangle{ var _local3:Rectangle; switch (m_state){ default: if (m_spriteFlip){ _local3 = new Rectangle((_arg1 - 10), (_arg2 - 5), 30, 50); } else { _local3 = new Rectangle((_arg1 - 20), (_arg2 - 5), 30, 50); }; break; case STATE_CRAWL: case STATE_CROUCH: if (m_spriteFlip){ _local3 = new Rectangle((_arg1 - 15), (_arg2 + 15), 33, 30); } else { _local3 = new Rectangle((_arg1 - 20), (_arg2 + 15), 33, 30); }; break; case STATE_FALL: case STATE_FLOOR_UP: case STATE_ROOF_MOVE: case STATE_ROOF_HANG: case STATE_ROOF_JUMP: if (m_spriteFlip){ _local3 = new Rectangle((_arg1 - 15), (_arg2 - 29), 30, 70); } else { _local3 = new Rectangle((_arg1 - 15), (_arg2 - 29), 30, 70); }; break; case STATE_ROOF_HIDE: if (m_spriteFlip){ _local3 = new Rectangle((_arg1 - 24), (_arg2 - 29), 50, 33); } else { _local3 = new Rectangle((_arg1 - 24), (_arg2 - 29), 50, 33); }; break; }; return (_local3); } private function canWalk():Boolean{ if (m_isAttacking){ return (false); }; if (m_isCrawling){ return (false); }; if (m_isCrouching){ return (false); }; if (m_isFalling){ return (false); }; if (m_isJumpingLevel){ return (false); }; if (m_isJumpingRoof){ return (false); }; if (m_isOnRoof){ return (false); }; return (true); } public function handleSpace():void{ if (m_isAnimating){ return; }; m_vx = 0; if (((!((m_guard == null))) && (canAttack()))){ attack(); } else { if (((m_isOverdoor) && (canOpenDoor()))){ if (!m_door.locked){ moveToDoor(); m_isAnimating = true; } else { GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_access_denied_01", 0.8, 1)); }; } else { if (((((m_isOverSwitch) && (!(m_switch.used)))) && (canOpenDoor()))){ m_switch.toggle(); GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_mech_operate_17", 0.8, 1)); } else { if (((((m_isOverKeypad) && (!(m_keypad.used)))) && (canOpenDoor()))){ m_keypad.setPoints(); GameBroadcaster.dispatchEvent(new MiniGameEvent(MiniGameEvent.DISPLAY, m_keypad.miniGame, m_keypad, m_level.id)); } else { if (canAttack()){ attack(); }; }; }; }; }; } public function revertSprite():void{ TweenMax.to(this, m_panTime, {delay:0.25, sx:m_sx_old, sy:m_sy_old, spriteSheetX:m_spriteSheetX_BASE, spriteSheetY:m_spriteSheetY_BASE, ease:Quadratic.easeOut, onComplete:revertSprite_COMPLETE}); } public function positionFromTile(_arg1:int, _arg2:int):Point{ var _local3:Point = new Point(); _local3.x = ((_arg1 * m_tileSize) + (m_tileSize / 2)); _local3.y = ((_arg2 * m_tileSize) + (m_tileSize - m_floorThickness)); return (_local3); } public function renderPhysics(_arg1:Array):void{ if (!m_started){ return; }; if (!m_isAnimating){ getBoundingTiles(); m_isOverdoor = false; m_isOverSwitch = false; m_isOverKeypad = false; m_isWalking = false; m_isCrawling = false; m_isOverGuard = false; m_isOnRoofMoving = false; if (((isForcedCrawl()) && (canCrawl()))){ m_isCrouching = true; }; if (((((!(isForcedCrawl())) && (m_isCrouching))) && (m_crouchReleased))){ m_isCrouching = false; }; if (inputLeft){ handleLeft(); } else { if (inputRight){ handleRight(); }; }; checkSpeed(); checkCollisions(_arg1); checkObstacles(_arg1); getBounds(spriteSheetX, spriteSheetX); if (((((m_isOnRoofHold) || (m_isJumpingLevel))) || (m_isFalling))){ Guard.resetWarnings(); }; }; } private function tilePassable(_arg1:Point):Boolean{ var _local2:int = m_level.collisionArray[_arg1.y][_arg1.x]; if (_local2 == TileTypes.WALL_SOLID){ return (false); }; if ((((_local2 == TileTypes.WALL_LEFT)) && ((m_vx > 0)))){ return (false); }; if ((((_local2 == TileTypes.WALL_RIGHT)) && ((m_vx < 0)))){ return (false); }; if ((((_local2 == TileTypes.CRAWL)) && (!(m_isCrawling)))){ return (false); }; return (true); } private function moveToDoor_COMPLETE():void{ m_isAnimating = false; } public function resetCrouch():void{ m_crouchReleased = true; m_isCrouching = false; } public function moveSprite(_arg1:int, _arg2:int, _arg3:Number, _arg4:Function):void{ m_sx_old = m_sx; m_sy_old = m_sy; m_callBack = _arg4; m_isAnimating = true; TweenMax.to(this, m_panTime, {sx:_arg1, sy:_arg2, spriteSheetX:(m_spriteSheetX_BASE + (m_sx - _arg1)), spriteSheetY:(m_spriteSheetY_BASE + (m_sy - _arg2)), ease:Quadratic.easeOut, onComplete:moveSprite_COMPLETE}); } } }//package game.player
Section 265
//TileEngine (game.tiles.TileEngine) package game.tiles { import flash.events.*; import flash.display.*; import flash.utils.*; import game.levels.*; import flash.geom.*; import assets.*; public class TileEngine { private var tx:Number; private var ty:Number; public var left:Number; private var tileSheetRef; private var level:Level; public var tileHeight:Number; private var m_bitmapData:BitmapData; public var tileSheetWidth:int; private var stageRectangle:Rectangle; private var mapPoint:Point; public var right:Number; private var oldX:int;// = 0 private var oldY:int;// = 0 public var mapHeight:Number; public var bottom:Number; private var m_container:Sprite; public var tileWidth:Number; private var stageHeight:Number; public var mapWidth:Number; private var tileArray:Array; private var offsetx:Number; private var offsety:Number; private var topMax:Number; private var tileSheet:BitmapData; private var blank:int; public var top:Number; private var _bitmapTilesFG:tilesForeground;// = null private var _bitmapTilesBG:tilesBackground;// = null public var mapArray:Array; private var mapRect:Rectangle; public var mapArrayHeight:int; private var stageWidth:Number; public var mapArrayWidth:int; private var cx:Number; private var cy:Number; private var _x:Number; private var _y:Number; private var t:Number; private var u:Number; private var leftMax:Number; public static var TOP:int = 2; public static var LEFT:int = 0; public static var BOTTOM:int = 3; public static var RIGHT:int = 1; public function TileEngine(_arg1:int, _arg2:int, _arg3:Array, _arg4:String){ mapArray = []; tileArray = []; super(); blank = _arg2; tileWidth = _arg1; tileHeight = _arg1; tileSheetRef = getDefinitionByName(_arg4); tileSheet = new tileSheetRef(0, 0); tileSheetRef = null; tileSheetWidth = (tileSheet.width / _arg1); stageWidth = Constants.STAGE_WIDTH; stageHeight = Constants.STAGE_HEIGHT; stageRectangle = new Rectangle(0, 0, stageWidth, stageHeight); m_bitmapData = new BitmapData(stageRectangle.width, stageRectangle.height, true, 0); mapArray = _arg3; mapArrayWidth = mapArray[0].length; mapArrayHeight = mapArray.length; mapWidth = (mapArrayWidth * tileWidth); mapHeight = (mapArray.length * tileHeight); tx = (Math.ceil((stageWidth / tileWidth)) + 1); ty = (Math.ceil((stageHeight / tileHeight)) + 1); leftMax = (mapWidth / tileWidth); topMax = (mapHeight / tileHeight); } public function get bitmapData():BitmapData{ return (m_bitmapData); } public function destroy():void{ tileSheet.dispose(); m_bitmapData.dispose(); } private function drawCircle(_arg1:int, _arg2:int, _arg3:int=0xFF0000):void{ m_container.graphics.lineStyle(1, _arg3); m_container.graphics.drawCircle(_arg1, _arg2, 4); } public function validWidth(_arg1:int):int{ if (_arg1 < 0){ _arg1 = 0; }; if (_arg1 >= mapArrayWidth){ _arg1 = (mapArrayWidth - 1); }; return (_arg1); } private function getTile(_arg1:int):Rectangle{ _arg1--; var _local2:int = int((_arg1 / tileSheetWidth)); var _local3:int = (_arg1 % tileSheetWidth); var _local4:Rectangle = new Rectangle((_local3 * tileWidth), (_local2 * tileHeight), tileWidth, tileHeight); return (_local4); } public function validHeight(_arg1:int):int{ if (_arg1 < 0){ _arg1 = 0; }; if (_arg1 >= mapArrayHeight){ _arg1 = (mapArrayHeight - 1); }; return (_arg1); } public function renderDisplay(_arg1:Number, _arg2:Number):BitmapData{ if (((((_arg1 - oldX) == 0)) && (((_arg2 - oldY) == 0)))){ return (m_bitmapData); }; m_bitmapData.fillRect(stageRectangle, 0); if (_arg1 < 0){ cx = -(Math.floor(Math.abs((_arg1 / tileWidth)))); } else { cx = Math.floor((_arg1 / tileWidth)); }; if (_arg2 < 0){ cy = -(Math.floor(Math.abs((_arg2 / tileHeight)))); } else { cy = Math.floor((_arg2 / tileHeight)); }; offsetx = (_arg1 % tileWidth); offsety = (_arg2 % tileHeight); t = -1; while (t < tx) { u = -1; for (;u < ty;u++) { left = (cx + t); top = (cy + u); right = (left + tx); bottom = (top + ty); if ((((((((left < 0)) || ((top < 0)))) || ((left >= leftMax)))) || ((top >= topMax)))){ mapRect = getTile(blank); } else { mapRect = getTile(mapArray[top][left]); }; mapPoint = new Point((-(offsetx) + (t * tileWidth)), (-(offsety) + (u * tileHeight))); if (mapPoint.x < -(tileWidth)){ continue; } else { if (mapPoint.y < -(tileHeight)){ continue; } else { if (mapPoint.x > stageWidth){ continue; } else { if (mapPoint.y > stageHeight){ continue; }; }; }; }; if (mapPoint.x > (stageWidth - tileWidth)){ mapRect.width = (stageWidth - mapPoint.x); } else { if (mapPoint.x <= 0){ mapRect.x = (mapRect.x + -(mapPoint.x)); mapRect.width = (mapRect.width + mapPoint.x); mapPoint.x = 0; }; }; if (mapPoint.y > (stageHeight - tileHeight)){ mapRect.height = (stageHeight - mapPoint.y); } else { if (mapPoint.y <= 0){ mapRect.y = (mapRect.y + -(mapPoint.y)); mapRect.height = (mapRect.height + mapPoint.y); mapPoint.y = 0; }; }; m_bitmapData.copyPixels(tileSheet, mapRect, mapPoint, null, null, false); }; t++; }; oldX = _arg1; oldY = _arg2; return (m_bitmapData); } private function drawRect(_arg1:Rectangle, _arg2:int):void{ m_container.graphics.lineStyle(1, _arg2); m_container.graphics.moveTo(_arg1.x, _arg1.y); m_container.graphics.lineTo((_arg1.x + _arg1.width), _arg1.y); m_container.graphics.lineTo((_arg1.x + _arg1.width), (_arg1.y + _arg1.height)); m_container.graphics.lineTo(_arg1.x, (_arg1.y + _arg1.height)); m_container.graphics.lineTo(_arg1.x, _arg1.y); } } }//package game.tiles
Section 266
//TileTypes (game.tiles.TileTypes) package game.tiles { public class TileTypes { public static var FLOOR_JUMP:int = 3; public static var WALL_RIGHT:int = 6; public static var CRAWL:int = 4; public static var WALL_SOLID:int = 1; public static var FLOOR_SOLID:int = 2; public static var WALL_LEFT:int = 5; } }//package game.tiles
Section 267
//GameController (game.GameController) package game { import flash.events.*; import console.*; import game.levels.*; import game.medals.*; import gs.*; import org.casalib.display.*; import game.interfaces.*; import org.casalib.util.*; import com.electrotank.util.*; import com.markfennell.utils.*; public class GameController extends CasaSprite implements IGameController, IConsoleSection { private var m_levels:int; private var m_medalController:MedalController; private var m_pause:Boolean;// = false private var m_addedToStage:Boolean;// = false private var m_cutSceneController:CutSceneController; private var m_level:int; private var m_levelController:LevelController; private var m_endLevel:EndLevel; private var m_levelData:Level; public static var LEVEL_COMPLETED:String = "Level Completed"; public static var alarm:Boolean = false; public static var LEVEL_FAILED:String = "LevelHASBEENFailed"; public static var GAME_COMPLETED:String = "Game Completed"; public function GameController(_arg1:int){ EndLevel.reset(); m_levels = EmbeddedData.levelNum; m_level = _arg1; GameBroadcaster.addEventListener(LEVEL_COMPLETED, nextLevel); GameBroadcaster.addEventListener(LEVEL_FAILED, replayLevel); MemoryCrypto.reset(); MemoryCrypto.setValue("score", 0); MemoryCrypto.setValue("bonus", 0); m_cutSceneController = new CutSceneController(); addChild(m_cutSceneController); m_medalController = new MedalController(); m_medalController.setupListeners(); } public function transitionIn_COMPLETE():void{ } public function restart(_arg1:Event=null):void{ MemoryCrypto.reset(); if (m_levelController){ m_levelController.destroy(); }; LevelController.attempts = 0; playLevel(); } private function handleLevelComplete(_arg1:Event):void{ m_levelController.checkMedalSecretAgent(); m_levelController.stopTimer(); clearListeners(); m_levelController.doPause(); if (m_level < (m_levels - 1)){ showEndScreen(LEVEL_COMPLETED); } else { showEndGame(); }; } public function doResume():void{ m_pause = false; m_levelController.doResume(); } private function showEndScreen(_arg1:String):void{ m_endLevel = new EndLevel(_arg1, m_levelController.time, m_levelData); addChild(m_endLevel); } public function doPause():void{ m_pause = true; m_levelController.doPause(); } private function handleGameOver(_arg1:Event):void{ alarm = true; clearListeners(); m_levelController.gameOver(); m_levelController.stopTimer(); var _local2:DelayedCall = new DelayedCall(showEndScreen, [LEVEL_FAILED], 1000); } private function showEndGame():void{ m_cutSceneController = new CutSceneController(); addChild(m_cutSceneController); GameBroadcaster.addEventListener(CutSceneEvent.DISPLAY, handleCutScene); GameBroadcaster.addEventListener(CutSceneEvent.HIDE, handleCutScene); handleCutScene(new CutSceneEvent(CutSceneEvent.DISPLAY, "assets.VideoEndSequence")); } private function playLevel():void{ if (m_endLevel){ m_endLevel.destroy(); }; alarm = false; m_levelData = new Level(m_level); GameBroadcaster.addEventListener(LevelController.COMPLETE, handleLevelComplete); GameBroadcaster.addEventListener(LevelController.ALARM, handleGameOver); m_levelController = new LevelController(); addChild(m_levelController); m_levelController.alpha = 0; m_levelController.init(m_levelData); if (!m_addedToStage){ m_addedToStage = true; TweenMax.to(m_levelController, 0.75, {delay:0.3, alpha:1, onComplete:playLevel_COMPLETE}); } else { TweenMax.to(m_levelController, 0.75, {delay:0.3, alpha:1}); }; StageReference.getStage().focus = m_levelController; } public function transitionOut():void{ TweenMax.to(this, 0.75, {alpha:0}); } private function handleCutScene(_arg1:CutSceneEvent):void{ switch (_arg1.type){ case CutSceneEvent.DISPLAY: m_cutSceneController.display(_arg1); m_levelController.alpha = 0; SoundController.getInstance().pause_music(true); break; case CutSceneEvent.HIDE: SoundController.getInstance().pause_music(false); showEndGame_COMPLETE(); break; }; } public function hide():void{ } public function nextLevel(_arg1:Event=null):void{ trace("NEXT LEVEL"); LevelController.attempts = 0; if (m_levelController){ m_levelController.destroy(); }; m_level++; playLevel(); } public function replayLevel_COMPLETE(_arg1:Event=null):void{ if (m_levelController){ m_levelController.destroy(); }; playLevel(); } public function replayLevel(_arg1:Event=null):void{ LevelController.attempts++; if (m_levelController){ TweenMax.to(m_levelController, 0.5, {alpha:0, onComplete:replayLevel_COMPLETE}); } else { replayLevel_COMPLETE(); }; } private function onReload(_arg1:ConsoleEvent):void{ m_level = int(_arg1.data); restart(); } public function transitionIn():void{ restart(); } private function showEndGame_COMPLETE():void{ showEndScreen(GAME_COMPLETED); } private function clearListeners():void{ GameBroadcaster.removeEventListener(LevelController.COMPLETE, handleLevelComplete); GameBroadcaster.removeEventListener(LevelController.ALARM, handleGameOver); } public function playLevel_COMPLETE():void{ dispatchEvent(new ConsoleEvent(ConsoleEvents.TRANSITION_COMPLETE)); } override public function destroy():void{ m_medalController.clearListeners(); GameBroadcaster.removeEventListener(CutSceneEvent.DISPLAY, handleCutScene); GameBroadcaster.removeEventListener(CutSceneEvent.HIDE, handleCutScene); GameBroadcaster.removeEventListener(LevelController.COMPLETE, handleLevelComplete); GameBroadcaster.removeEventListener(LevelController.ALARM, handleGameOver); GameBroadcaster.removeEventListener(LEVEL_COMPLETED, nextLevel); GameBroadcaster.removeEventListener(LEVEL_FAILED, replayLevel); if (m_endLevel){ m_endLevel.destroy(); }; if (m_levelController){ m_levelController.destroy(); }; if (m_cutSceneController){ m_cutSceneController.destroy(); }; super.destroy(); } } }//package game
Section 268
//SoundController (game.SoundController) package game { import flash.events.*; import flash.utils.*; import com.markfennell.sound.*; import assets.*; public class SoundController { private var _sfx_door:sfx_turbolift_doorclose_01; private var m_soundsEnabled:Boolean;// = true private var _sfx_laser:sfx_auto_turret_scan_01; private var m_music_position:Number;// = 0 private var m_laserSoundPlayer:SoundPlayer; private var _sfx_alarm:sfx_SOUNDDOGS_AL_147468; private var _sfx_beep:sfx_cursor; private var m_soundsArray:Array; private var m_soundDictionary:Dictionary; private var _sfx_denied:sfx_access_denied_01; private var m_volumeEffects:Number;// = 1 private var _sfx_wall:sfx_wall_climb_02; private var _sfx_music1:sfx_MRD_intro_main; private var m_musicArray:Array; private var _sfx_music3:sfx_MRD_level_loop_3; private var _sfx_click:sfx_dry_fire_02; private var m_music:SoundPlayer; private var _sfx_switch:sfx_mech_operate_17; private var _sfx_thud1:sfx_thud2; private var _sfx_thud2:sfx_thud; private var _sfx_music4:sfx_MRD_level_loop_4; private var m_volumeMusic:Number;// = 1 private var _sfx_fall:sfx_aerial_01; public var musicEnabled:Boolean;// = true private var _sfx_console:sfx_console_entry_03; private var m_currentTrack:int;// = -1 private var _sfx_wire:sfx_wire_slice_01; private var _sfx_explode:sfx_charge_kill_stab_01; private var _sfx_slash4:sfx_machete_heavy_01; private var _sfx_slash5:sfx_staff_12; private var _sfx_whoosh1:sfx_throw_whoosh_03; private var _sfx_slash1:sfx_machete_normal_02; private var _sfx_slash2:sfx_machete_normal_04; private var _sfx_slash3:sfx_machete_normal_08; private var _sfx_grunt:sfx_tram_crash_01; private var _sfx_whoosh2:sfx_throw_whoosh_01; private var _sfx_music2:sfx_MRD_level_loop_2; private static var m_instance:SoundController = null; public function SoundController(){ m_instance = this; m_musicArray = ["assets.sfx_MRD_intro_main", "assets.sfx_MRD_level_loop_2", "assets.sfx_MRD_level_loop_3", "assets.sfx_MRD_level_loop_4"]; m_soundsArray = []; } public function setLaserVolume(_arg1:Number, _arg2:Boolean=false):void{ if (m_laserSoundPlayer){ if (!soundsEnabled){ _arg1 = 0; }; m_laserSoundPlayer.volume = (_arg1 * m_volumeEffects); }; } public function start_music(_arg1:int=0, _arg2:Boolean=false):void{ var _local3:*; trace(("STARTING MUSIC TRACK " + _arg1)); if ((((m_currentTrack == _arg1)) && (!(_arg2)))){ return; }; if (musicEnabled){ m_currentTrack = _arg1; if (m_music){ m_music.destroy(); }; _local3 = getDefinitionByName(m_musicArray[m_currentTrack]); m_music = new SoundPlayer(new (_local3)); m_music.stoppable = false; _local3 = null; m_music.play((Constants.VOLUME_MUSIC * m_volumeMusic), 999); }; } public function get volumeEffects():Number{ return (m_volumeEffects); } public function startLasers():void{ m_laserSoundPlayer = new SoundPlayer(new sfx_auto_turret_scan_01()); m_laserSoundPlayer.play(1, 999); m_laserSoundPlayer.volume = 0; } public function pause_music(_arg1:Boolean):void{ if (_arg1){ m_music.pause(); } else { m_music.resume(); }; } public function resume_music():void{ start_music(m_currentTrack, true); } public function get volumeMusic():Number{ return (m_volumeMusic); } public function stop_music():void{ m_music.stop(); } public function musicRestart(_arg1:Event):void{ if (musicEnabled){ m_music.stop(); m_music.play((Constants.VOLUME_MUSIC * m_volumeMusic), 999); }; } public function set soundsEnabled(_arg1:Boolean):void{ m_soundsEnabled = _arg1; } public function set volumeEffects(_arg1:Number):void{ m_volumeEffects = Math.max(0, Math.min(1, _arg1)); } public function stopSounds():void{ stopLasers(); SoundPlayer.stopSounds(); } public function playSound(_arg1:SoundEvent):void{ var _local2:*; var _local3:SoundPlayer; if (soundsEnabled){ if (_arg1.force){ stopSounds(); }; _local2 = getDefinitionByName(_arg1.name); _local3 = new SoundPlayer(new (_local2)); _local3.play((_arg1.volume * m_volumeEffects)); _local2 = null; }; } public function stopLasers():void{ try { m_laserSoundPlayer.stop(); m_laserSoundPlayer.destroy(); } catch(e:Error) { }; } public function resumeSounds():void{ startLasers(); } public function get soundsEnabled():Boolean{ return (m_soundsEnabled); } public function set volumeMusic(_arg1:Number):void{ m_volumeMusic = Math.max(0, Math.min(1, _arg1)); } public static function getInstance():SoundController{ if (m_instance == null){ m_instance = new (SoundController); }; return (m_instance); } } }//package game
Section 269
//TweenEvent (gs.events.TweenEvent) package gs.events { import flash.events.*; public class TweenEvent extends Event { public var info:Object; public static const UPDATE:String = "update"; public static const START:String = "start"; public static const version:Number = 0.9; public static const COMPLETE:String = "complete"; public function TweenEvent(_arg1:String, _arg2:Object=null, _arg3:Boolean=false, _arg4:Boolean=false){ super(_arg1, _arg3, _arg4); this.info = _arg2; } override public function clone():Event{ return (new TweenEvent(this.type, this.info, this.bubbles, this.cancelable)); } } }//package gs.events
Section 270
//OverwriteManager (gs.OverwriteManager) package gs { import flash.utils.*; import flash.errors.*; public class OverwriteManager { public static const ALL:int = 1; public static const NONE:int = 0; public static const AUTO:int = 2; public static const CONCURRENT:int = 3; public static const version:Number = 1; public static var mode:int; public static var enabled:Boolean; public static function killVars(_arg1:Object, _arg2:Object, _arg3:Array, _arg4:Array, _arg5:Array):void{ var _local6:int; var _local7:String; _local6 = (_arg4.length - 1); while (_local6 > -1) { if (_arg1[_arg4[_local6].name] != undefined){ _arg4.splice(_local6, 1); }; _local6--; }; _local6 = (_arg3.length - 1); while (_local6 > -1) { if (_arg1[_arg3[_local6][4]] != undefined){ _arg3.splice(_local6, 1); }; _local6--; }; _local6 = (_arg5.length - 1); while (_local6 > -1) { if (_arg1[_arg5[_local6].name] != undefined){ _arg5.splice(_local6, 1); }; _local6--; }; for (_local7 in _arg1) { delete _arg2[_local7]; }; } public static function manageOverwrites(_arg1:TweenLite, _arg2:Array):void{ var _local7:int; var _local8:TweenLite; var _local9:Object; var _local10:String; var _local3:Object = _arg1.vars; var _local4:int = ((_local3.overwrite)==undefined) ? mode : int(_local3.overwrite); if ((((_local4 < 2)) || ((_arg2 == null)))){ return; }; var _local5:Number = _arg1.startTime; var _local6:Array = []; _local7 = (_arg2.length - 1); while (_local7 > -1) { _local8 = _arg2[_local7]; if (((((!((_local8 == _arg1))) && ((_local8.startTime <= _local5)))) && (((_local8.startTime + ((_local8.duration * 1000) / _local8.combinedTimeScale)) > _local5)))){ _local6[_local6.length] = _local8; }; _local7--; }; if (_local6.length == 0){ return; }; if (_local4 == AUTO){ if (_local3.isTV == true){ _local3 = _local3.exposedProps; }; _local9 = {}; for (_local10 in _local3) { if ((((((((((((((((((((((((((((((((((((((((((((_local10 == "ease")) || ((_local10 == "delay")))) || ((_local10 == "overwrite")))) || ((_local10 == "onComplete")))) || ((_local10 == "onCompleteParams")))) || ((_local10 == "runBackwards")))) || ((_local10 == "persist")))) || ((_local10 == "onUpdate")))) || ((_local10 == "onUpdateParams")))) || ((_local10 == "timeScale")))) || ((_local10 == "onStart")))) || ((_local10 == "onStartParams")))) || ((_local10 == "renderOnStart")))) || ((_local10 == "proxiedEase")))) || ((_local10 == "easeParams")))) || ((_local10 == "onCompleteAll")))) || ((_local10 == "onCompleteAllParams")))) || ((_local10 == "yoyo")))) || ((_local10 == "loop")))) || ((_local10 == "onCompleteListener")))) || ((_local10 == "onStartListener")))) || ((_local10 == "onUpdateListener")))){ } else { _local9[_local10] = 1; if (_local10 == "shortRotate"){ _local9.rotation = 1; } else { if (_local10 == "removeTint"){ _local9.tint = 1; } else { if (_local10 == "autoAlpha"){ _local9.alpha = 1; _local9.visible = 1; }; }; }; }; }; _local7 = (_local6.length - 1); while (_local7 > -1) { _local6[_local7].killVars(_local9); _local7--; }; } else { _local7 = (_local6.length - 1); while (_local7 > -1) { _local6[_local7].enabled = false; _local7--; }; }; } public static function init(_arg1:int=2):int{ if (TweenLite.version < 9.29){ trace("TweenLite warning: Your TweenLite class needs to be updated to work with OverwriteManager (or you may need to clear your ASO files). Please download and install the latest version from http://www.tweenlite.com."); }; TweenLite.overwriteManager = OverwriteManager; mode = _arg1; enabled = true; return (mode); } } }//package gs
Section 271
//TweenFilterLite (gs.TweenFilterLite) package gs { import flash.utils.*; import flash.filters.*; public class TweenFilterLite extends TweenLite { protected var _matrix:Array; protected var _hf:Boolean;// = false protected var _roundProps:Boolean; protected var _cmf:ColorMatrixFilter; protected var _filters:Array; protected var _endMatrix:Array; protected var _timeScale:Number; protected var _clrsa:Array; public static var removeTween:Function = TweenLite.removeTween; private static var _idMatrix:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]; private static var _lumB:Number = 0.072169; public static var delayedCall:Function = TweenLite.delayedCall; public static var killTweensOf:Function = TweenLite.killTweensOf; public static var version:Number = 9.29; private static var _lumG:Number = 0.71516; public static var killDelayedCallsTo:Function = TweenLite.killTweensOf; private static var _lumR:Number = 0.212671; protected static var _globalTimeScale:Number = 1; public function TweenFilterLite(_arg1:Object, _arg2:Number, _arg3:Object){ _filters = []; super(_arg1, _arg2, _arg3); if (((!((this.combinedTimeScale == 1))) && ((this.target is TweenFilterLite)))){ _timeScale = 1; this.combinedTimeScale = _globalTimeScale; } else { _timeScale = this.combinedTimeScale; this.combinedTimeScale = (this.combinedTimeScale * _globalTimeScale); }; if (((!((this.combinedTimeScale == 1))) && (!((this.delay == 0))))){ this.startTime = (this.initTime + (this.delay * (1000 / this.combinedTimeScale))); }; if (TweenLite.version < 9.29){ trace("TweenFilterLite error! Please update your TweenLite class or try deleting your ASO files. TweenFilterLite requires a more recent version. Download updates at http://www.TweenLite.com."); }; } override public function killVars(_arg1:Object):void{ if (TweenLite.overwriteManager.enabled){ TweenLite.overwriteManager.killVars(_arg1, this.vars, this.tweens, _subTweens, ((_filters) || ([]))); }; } override public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{ var _local3:int; var _local4:Object; var _local5:Object; var _local6:Object; var _local7:int; var _local8:String; if (((!(_arg1)) && (TweenLite.overwriteManager.enabled))){ TweenLite.overwriteManager.manageOverwrites(this, masterList[this.target]); }; _clrsa = []; _filters = []; _matrix = _idMatrix.slice(); _arg2 = (_arg2 + " blurFilter glowFilter colorMatrixFilter dropShadowFilter bevelFilter roundProps "); _roundProps = Boolean((this.vars.roundProps is Array)); if (_isDisplayObject){ if (this.vars.blurFilter != null){ _local4 = this.vars.blurFilter; addFilter("blurFilter", _local4, BlurFilter, ["blurX", "blurY", "quality"], new BlurFilter(0, 0, ((_local4.quality) || (2)))); }; if (this.vars.glowFilter != null){ _local4 = this.vars.glowFilter; addFilter("glowFilter", _local4, GlowFilter, ["alpha", "blurX", "blurY", "color", "quality", "strength", "inner", "knockout"], new GlowFilter(0xFFFFFF, 0, 0, 0, ((_local4.strength) || (1)), ((_local4.quality) || (2)), _local4.inner, _local4.knockout)); }; if (this.vars.colorMatrixFilter != null){ _local4 = this.vars.colorMatrixFilter; _local5 = addFilter("colorMatrixFilter", _local4, ColorMatrixFilter, [], new ColorMatrixFilter(_matrix)); _cmf = _local5.filter; _matrix = ColorMatrixFilter(_cmf).matrix; if (((!((_local4.matrix == null))) && ((_local4.matrix is Array)))){ _endMatrix = _local4.matrix; } else { if (_local4.relative == true){ _endMatrix = _matrix.slice(); } else { _endMatrix = _idMatrix.slice(); }; _endMatrix = setBrightness(_endMatrix, _local4.brightness); _endMatrix = setContrast(_endMatrix, _local4.contrast); _endMatrix = setHue(_endMatrix, _local4.hue); _endMatrix = setSaturation(_endMatrix, _local4.saturation); _endMatrix = setThreshold(_endMatrix, _local4.threshold); if (!isNaN(_local4.colorize)){ _endMatrix = colorize(_endMatrix, _local4.colorize, _local4.amount); } else { if (!isNaN(_local4.color)){ _endMatrix = colorize(_endMatrix, _local4.color, _local4.amount); }; }; }; _local3 = 0; while (_local3 < _endMatrix.length) { if (((!((_matrix[_local3] == _endMatrix[_local3]))) && (!((_matrix[_local3] == undefined))))){ this.tweens[this.tweens.length] = [_matrix, _local3.toString(), _matrix[_local3], (_endMatrix[_local3] - _matrix[_local3]), "colorMatrixFilter"]; }; _local3++; }; }; if (this.vars.dropShadowFilter != null){ _local4 = this.vars.dropShadowFilter; addFilter("dropShadowFilter", _local4, DropShadowFilter, ["alpha", "angle", "blurX", "blurY", "color", "distance", "quality", "strength", "inner", "knockout", "hideObject"], new DropShadowFilter(0, 45, 0, 0, 0, 0, 1, ((_local4.quality) || (2)), _local4.inner, _local4.knockout, _local4.hideObject)); }; if (this.vars.bevelFilter != null){ _local4 = this.vars.bevelFilter; addFilter("bevelFilter", _local4, BevelFilter, ["angle", "blurX", "blurY", "distance", "highlightAlpha", "highlightColor", "quality", "shadowAlpha", "shadowColor", "strength"], new BevelFilter(0, 0, 0xFFFFFF, 0.5, 0, 0.5, 2, 2, 0, ((_local4.quality) || (2)))); }; if (this.vars.runBackwards == true){ _local3 = (_clrsa.length - 1); while (_local3 > -1) { _local6 = _clrsa[_local3]; _clrsa[_local3].sr = (_local6.sr + _local6.cr); _local6.cr = (_local6.cr * -1); _local6.sg = (_local6.sg + _local6.cg); _local6.cg = (_local6.cg * -1); _local6.sb = (_local6.sb + _local6.cb); _local6.cb = (_local6.cb * -1); _local6.f[_local6.p] = (((_local6.sr << 16) | (_local6.sg << 8)) | _local6.sb); _local3--; }; }; super.initTweenVals(true, _arg2); } else { super.initTweenVals(_arg1, _arg2); }; if (_roundProps){ _local3 = (this.vars.roundProps.length - 1); while (_local3 > -1) { _local8 = this.vars.roundProps[_local3]; _local7 = (this.tweens.length - 1); while (_local7 > -1) { if ((((this.tweens[_local7][1] == _local8)) && ((this.tweens[_local7][0] == this.target)))){ this.tweens[_local7][5] = true; break; }; _local7--; }; _local3--; }; }; } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; if (_arg1){ this.combinedTimeScale = (_timeScale * _globalTimeScale); }; } public function set timeScale(_arg1:Number):void{ if (_arg1 < 1E-5){ _arg1 = (_timeScale = 1E-5); } else { _timeScale = _arg1; _arg1 = (_arg1 * _globalTimeScale); }; this.initTime = ((currentTime - ((((currentTime - this.initTime) - (this.delay * (1000 / this.combinedTimeScale))) * this.combinedTimeScale) * (1 / _arg1))) - (this.delay * (1000 / _arg1))); if (this.startTime != 999999999999999){ this.startTime = (this.initTime + (this.delay * (1000 / _arg1))); }; this.combinedTimeScale = _arg1; } public function get timeScale():Number{ return (_timeScale); } override public function render(_arg1:uint):void{ var _local3:Number; var _local4:Object; var _local5:int; var _local6:Number; var _local7:int; var _local8:Array; var _local9:int; var _local2:Number = (((_arg1 - this.startTime) * 0.001) * this.combinedTimeScale); if (_local2 >= this.duration){ _local2 = this.duration; _local3 = ((((this.ease == this.vars.ease)) || ((this.duration == 0.001)))) ? 1 : 0; } else { _local3 = this.ease(_local2, 0, 1, this.duration); }; if (!_roundProps){ _local5 = (this.tweens.length - 1); while (_local5 > -1) { _local4 = this.tweens[_local5]; _local4[0][_local4[1]] = (_local4[2] + (_local3 * _local4[3])); _local5--; }; } else { _local5 = (this.tweens.length - 1); while (_local5 > -1) { _local4 = this.tweens[_local5]; if (_local4[5]){ _local6 = (_local4[2] + (_local3 * _local4[3])); _local7 = ((_local6)<0) ? -1 : 1; _local4[0][_local4[1]] = ((((_local6 % 1) * _local7))>0.5) ? (int(_local6) + _local7) : int(_local6); } else { _local4[0][_local4[1]] = (_local4[2] + (_local3 * _local4[3])); }; _local5--; }; }; if (_hf){ _local5 = (_clrsa.length - 1); while (_local5 > -1) { _local4 = _clrsa[_local5]; _local4.f[_local4.p] = ((((_local4.sr + (_local3 * _local4.cr)) << 16) | ((_local4.sg + (_local3 * _local4.cg)) << 8)) | (_local4.sb + (_local3 * _local4.cb))); _local5--; }; if (_cmf != null){ ColorMatrixFilter(_cmf).matrix = _matrix; }; _local8 = this.target.filters; _local5 = 0; while (_local5 < _filters.length) { _local9 = (_local8.length - 1); while (_local9 > -1) { if ((_local8[_local9] is _filters[_local5].type)){ _local8.splice(_local9, 1, _filters[_local5].filter); break; }; _local9--; }; _local5++; }; this.target.filters = _local8; }; if (_hst){ _local5 = (_subTweens.length - 1); while (_local5 > -1) { _subTweens[_local5].proxy(_subTweens[_local5], _local2); _local5--; }; }; if (_hasUpdate){ this.vars.onUpdate.apply(null, this.vars.onUpdateParams); }; if (_local2 == this.duration){ complete(true); }; } private function addFilter(_arg1:String, _arg2:Object, _arg3:Class, _arg4:Array, _arg5:BitmapFilter):Object{ var _local8:int; var _local9:String; var _local10:Number; var _local11:Object; var _local12:Object; var _local6:Object = {type:_arg3, name:_arg1}; var _local7:Array = this.target.filters; _local8 = 0; while (_local8 < _local7.length) { if ((_local7[_local8] is _arg3)){ _local6.filter = _local7[_local8]; break; }; _local8++; }; if (_local6.filter == undefined){ _local6.filter = _arg5; _local7[_local7.length] = _local6.filter; this.target.filters = _local7; }; _local8 = 0; while (_local8 < _arg4.length) { _local9 = _arg4[_local8]; if (_arg2[_local9] != undefined){ if ((((((_local9 == "color")) || ((_local9 == "highlightColor")))) || ((_local9 == "shadowColor")))){ _local11 = HEXtoRGB(_local6.filter[_local9]); _local12 = HEXtoRGB(_arg2[_local9]); _clrsa[_clrsa.length] = {f:_local6.filter, p:_local9, sr:_local11.rb, cr:(_local12.rb - _local11.rb), sg:_local11.gb, cg:(_local12.gb - _local11.gb), sb:_local11.bb, cb:(_local12.bb - _local11.bb)}; } else { if ((((((((_local9 == "quality")) || ((_local9 == "inner")))) || ((_local9 == "knockout")))) || ((_local9 == "hideObject")))){ _local6.filter[_local9] = _arg2[_local9]; } else { if (typeof(_arg2[_local9]) == "number"){ _local10 = (_arg2[_local9] - _local6.filter[_local9]); } else { _local10 = Number(_arg2[_local9]); }; this.tweens[this.tweens.length] = [_local6.filter, _local9, _local6.filter[_local9], _local10, _arg1]; }; }; }; _local8++; }; _filters[_filters.length] = _local6; _hf = true; return (_local6); } public static function setHue(_arg1:Array, _arg2:Number):Array{ if (isNaN(_arg2)){ return (_arg1); }; _arg2 = (_arg2 * (Math.PI / 180)); var _local3:Number = Math.cos(_arg2); var _local4:Number = Math.sin(_arg2); var _local5:Array = [((_lumR + (_local3 * (1 - _lumR))) + (_local4 * -(_lumR))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * -(_lumG))), ((_lumB + (_local3 * -(_lumB))) + (_local4 * (1 - _lumB))), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * 0.143)), ((_lumG + (_local3 * (1 - _lumG))) + (_local4 * 0.14)), ((_lumB + (_local3 * -(_lumB))) + (_local4 * -0.283)), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * -((1 - _lumR)))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * _lumG)), ((_lumB + (_local3 * (1 - _lumB))) + (_local4 * _lumB)), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]; return (applyMatrix(_local5, _arg1)); } public static function setContrast(_arg1:Array, _arg2:Number):Array{ if (isNaN(_arg2)){ return (_arg1); }; _arg2 = (_arg2 + 0.01); var _local3:Array = [_arg2, 0, 0, 0, (128 * (1 - _arg2)), 0, _arg2, 0, 0, (128 * (1 - _arg2)), 0, 0, _arg2, 0, (128 * (1 - _arg2)), 0, 0, 0, 1, 0]; return (applyMatrix(_local3, _arg1)); } public static function applyMatrix(_arg1:Array, _arg2:Array):Array{ var _local6:int; var _local7:int; if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){ return (_arg2); }; var _local3:Array = []; var _local4:int; var _local5:int; _local6 = 0; while (_local6 < 4) { _local7 = 0; while (_local7 < 5) { if (_local7 == 4){ _local5 = _arg1[(_local4 + 4)]; } else { _local5 = 0; }; _local3[(_local4 + _local7)] = (((((_arg1[_local4] * _arg2[_local7]) + (_arg1[(_local4 + 1)] * _arg2[(_local7 + 5)])) + (_arg1[(_local4 + 2)] * _arg2[(_local7 + 10)])) + (_arg1[(_local4 + 3)] * _arg2[(_local7 + 15)])) + _local5); _local7++; }; _local4 = (_local4 + 5); _local6++; }; return (_local3); } public static function colorize(_arg1:Array, _arg2:Number, _arg3:Number=1):Array{ if (isNaN(_arg2)){ return (_arg1); }; if (isNaN(_arg3)){ _arg3 = 1; }; var _local4:Number = (((_arg2 >> 16) & 0xFF) / 0xFF); var _local5:Number = (((_arg2 >> 8) & 0xFF) / 0xFF); var _local6:Number = ((_arg2 & 0xFF) / 0xFF); var _local7:Number = (1 - _arg3); var _local8:Array = [(_local7 + ((_arg3 * _local4) * _lumR)), ((_arg3 * _local4) * _lumG), ((_arg3 * _local4) * _lumB), 0, 0, ((_arg3 * _local5) * _lumR), (_local7 + ((_arg3 * _local5) * _lumG)), ((_arg3 * _local5) * _lumB), 0, 0, ((_arg3 * _local6) * _lumR), ((_arg3 * _local6) * _lumG), (_local7 + ((_arg3 * _local6) * _lumB)), 0, 0, 0, 0, 0, 1, 0]; return (applyMatrix(_local8, _arg1)); } public static function setBrightness(_arg1:Array, _arg2:Number):Array{ if (isNaN(_arg2)){ return (_arg1); }; _arg2 = ((_arg2 * 100) - 100); return (applyMatrix([1, 0, 0, 0, _arg2, 0, 1, 0, 0, _arg2, 0, 0, 1, 0, _arg2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1], _arg1)); } public static function setSaturation(_arg1:Array, _arg2:Number):Array{ if (isNaN(_arg2)){ return (_arg1); }; var _local3:Number = (1 - _arg2); var _local4:Number = (_local3 * _lumR); var _local5:Number = (_local3 * _lumG); var _local6:Number = (_local3 * _lumB); var _local7:Array = [(_local4 + _arg2), _local5, _local6, 0, 0, _local4, (_local5 + _arg2), _local6, 0, 0, _local4, _local5, (_local6 + _arg2), 0, 0, 0, 0, 0, 1, 0]; return (applyMatrix(_local7, _arg1)); } public static function setGlobalTimeScale(_arg1:Number):void{ var _local3:int; var _local4:Array; if (_arg1 < 1E-5){ _arg1 = 1E-5; }; var _local2:Dictionary = masterList; _globalTimeScale = _arg1; for each (_local4 in _local2) { _local3 = (_local4.length - 1); while (_local3 > -1) { if ((_local4[_local3] is TweenFilterLite)){ _local4[_local3].timeScale = (_local4[_local3].timeScale * 1); }; _local3--; }; }; } public static function get globalTimeScale():Number{ return (_globalTimeScale); } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenFilterLite{ _arg3.runBackwards = true; return (new TweenFilterLite(_arg1, _arg2, _arg3)); } public static function set globalTimeScale(_arg1:Number):void{ setGlobalTimeScale(_arg1); } public static function HEXtoRGB(_arg1:Number):Object{ return ({rb:(_arg1 >> 16), gb:((_arg1 >> 8) & 0xFF), bb:(_arg1 & 0xFF)}); } public static function setThreshold(_arg1:Array, _arg2:Number):Array{ if (isNaN(_arg2)){ return (_arg1); }; var _local3:Array = [(_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), 0, 0, 0, 1, 0]; return (applyMatrix(_local3, _arg1)); } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenFilterLite{ return (new TweenFilterLite(_arg1, _arg2, _arg3)); } } }//package gs
Section 272
//TweenLite (gs.TweenLite) package gs { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.geom.*; public class TweenLite { public var started:Boolean; public var delay:Number; protected var _hasUpdate:Boolean; protected var _subTweens:Array; public var initted:Boolean; public var active:Boolean; public var startTime:Number; public var target:Object; public var duration:Number; protected var _hst:Boolean; public var gc:Boolean; protected var _isDisplayObject:Boolean; public var tweens:Array; public var vars:Object; public var ease:Function; protected var _specialVars:Object; public var initTime:Number; public var combinedTimeScale:Number; private static var _timer:Timer = new Timer(2000); private static var _classInitted:Boolean; public static var defaultEase:Function = TweenLite.easeOut; public static var version:Number = 9.29; public static var masterList:Dictionary = new Dictionary(false); public static var currentTime:uint; public static var overwriteManager:Object; public static var killDelayedCallsTo:Function = TweenLite.killTweensOf; public static var timingSprite:Sprite = new Sprite(); public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){ if (_arg1 == null){ return; }; if (!_classInitted){ currentTime = getTimer(); timingSprite.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true); if (overwriteManager == null){ overwriteManager = {mode:1, enabled:false}; }; _timer.addEventListener("timer", killGarbage, false, 0, true); _timer.start(); _classInitted = true; }; this.vars = _arg3; this.duration = ((_arg2) || (0.001)); this.delay = ((_arg3.delay) || (0)); this.combinedTimeScale = ((_arg3.timeScale) || (1)); this.active = Boolean((((_arg2 == 0)) && ((this.delay == 0)))); this.target = _arg1; _isDisplayObject = Boolean((_arg1 is DisplayObject)); if (!(this.vars.ease is Function)){ this.vars.ease = defaultEase; }; if (this.vars.easeParams != null){ this.vars.proxiedEase = this.vars.ease; this.vars.ease = easeProxy; }; this.ease = this.vars.ease; if (!isNaN(Number(this.vars.autoAlpha))){ this.vars.alpha = Number(this.vars.autoAlpha); this.vars.visible = Boolean((this.vars.alpha > 0)); }; _specialVars = ((this.vars.isTV)==true) ? this.vars.exposedProps : this.vars; this.tweens = []; _subTweens = []; _hst = (this.initted = false); this.initTime = currentTime; this.startTime = (this.initTime + (this.delay * 1000)); var _local4:int = ((((_arg3.overwrite == undefined)) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite); if ((((masterList[_arg1] == undefined)) || (((!((_arg1 == null))) && ((_local4 == 1)))))){ masterList[_arg1] = []; }; masterList[_arg1].push(this); if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (this.active))){ initTweenVals(); if (this.active){ render((this.startTime + 1)); } else { render(this.startTime); }; if (((((!((_specialVars.visible == null))) && ((this.vars.runBackwards == true)))) && (_isDisplayObject))){ this.target.visible = _specialVars.visible; }; }; } public function get enabled():Boolean{ return ((this.gc) ? false : true); } public function render(_arg1:uint):void{ var _local3:Number; var _local4:Object; var _local5:int; var _local2:Number = ((_arg1 - this.startTime) * 0.001); if (_local2 >= this.duration){ _local2 = this.duration; _local3 = ((((this.ease == this.vars.ease)) || ((this.duration == 0.001)))) ? 1 : 0; } else { _local3 = this.ease(_local2, 0, 1, this.duration); }; _local5 = (this.tweens.length - 1); while (_local5 > -1) { _local4 = this.tweens[_local5]; _local4[0][_local4[1]] = (_local4[2] + (_local3 * _local4[3])); _local5--; }; if (_hst){ _local5 = (_subTweens.length - 1); while (_local5 > -1) { _subTweens[_local5].proxy(_subTweens[_local5], _local2); _local5--; }; }; if (_hasUpdate){ this.vars.onUpdate.apply(null, this.vars.onUpdateParams); }; if (_local2 == this.duration){ complete(true); }; } public function set enabled(_arg1:Boolean):void{ var _local2:Array; var _local3:Boolean; var _local4:int; if (_arg1){ if (masterList[this.target] == undefined){ masterList[this.target] = [this]; } else { _local2 = masterList[this.target]; _local4 = (_local2.length - 1); while (_local4 > -1) { if (_local2[_local4] == this){ _local3 = true; break; }; _local4--; }; if (!_local3){ masterList[this.target].push(this); }; }; }; this.gc = (_arg1) ? false : true; if (this.gc){ this.active = false; } else { this.active = this.started; }; } public function activate():void{ this.started = (this.active = true); if (!this.initted){ initTweenVals(); }; if (this.vars.onStart != null){ this.vars.onStart.apply(null, this.vars.onStartParams); }; if (this.duration == 0.001){ this.startTime = (this.startTime - 1); }; } public function clear():void{ this.tweens = []; _subTweens = []; this.vars = {}; _hst = (_hasUpdate = false); } protected function addSubTween(_arg1:String, _arg2:Function, _arg3:Object, _arg4:Object, _arg5:Object=null):void{ var _local6:String; _subTweens[_subTweens.length] = {name:_arg1, proxy:_arg2, target:_arg3, info:_arg5}; for (_local6 in _arg4) { if (typeof(_arg4[_local6]) == "number"){ this.tweens[this.tweens.length] = [_arg3, _local6, _arg3[_local6], (_arg4[_local6] - _arg3[_local6]), _arg1]; } else { this.tweens[this.tweens.length] = [_arg3, _local6, _arg3[_local6], Number(_arg4[_local6]), _arg1]; }; }; _hst = true; } public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{ var _local3:String; var _local4:int; var _local5:Array; var _local6:ColorTransform; var _local7:ColorTransform; var _local8:Object; if (((!(_arg1)) && (overwriteManager.enabled))){ overwriteManager.manageOverwrites(this, masterList[this.target]); }; if ((this.target is Array)){ _local5 = ((this.vars.endArray) || ([])); _local4 = 0; while (_local4 < _local5.length) { if (((!((this.target[_local4] == _local5[_local4]))) && (!((this.target[_local4] == undefined))))){ this.tweens[this.tweens.length] = [this.target, _local4.toString(), this.target[_local4], (_local5[_local4] - this.target[_local4]), _local4.toString()]; }; _local4++; }; } else { if (((((!((typeof(_specialVars.tint) == "undefined"))) || ((this.vars.removeTint == true)))) && (_isDisplayObject))){ _local6 = this.target.transform.colorTransform; _local7 = new ColorTransform(); if (_specialVars.alpha != undefined){ _local7.alphaMultiplier = _specialVars.alpha; delete _specialVars.alpha; } else { _local7.alphaMultiplier = this.target.alpha; }; if (((!((this.vars.removeTint == true))) && (((((!((_specialVars.tint == null))) && (!((_specialVars.tint == ""))))) || ((_specialVars.tint == 0)))))){ _local7.color = _specialVars.tint; }; addSubTween("tint", tintProxy, {progress:0}, {progress:1}, {target:this.target, color:_local6, endColor:_local7}); }; if (((!((_specialVars.frame == null))) && (_isDisplayObject))){ addSubTween("frame", frameProxy, {frame:this.target.currentFrame}, {frame:_specialVars.frame}, {target:this.target}); }; if (((!(isNaN(this.vars.volume))) && (this.target.hasOwnProperty("soundTransform")))){ addSubTween("volume", volumeProxy, this.target.soundTransform, {volume:this.vars.volume}, {target:this.target}); }; if (((!((_specialVars.visible == null))) && (_isDisplayObject))){ addSubTween("visible", visibleProxy, {}, {}, {tween:this}); }; for (_local3 in _specialVars) { if ((((((((((((((((((((((((((((((((((((((_local3 == "ease")) || ((_local3 == "delay")))) || ((_local3 == "overwrite")))) || ((_local3 == "onComplete")))) || ((_local3 == "onCompleteParams")))) || ((_local3 == "runBackwards")))) || ((_local3 == "visible")))) || ((_local3 == "autoOverwrite")))) || ((_local3 == "persist")))) || ((_local3 == "onUpdate")))) || ((_local3 == "onUpdateParams")))) || ((_local3 == "autoAlpha")))) || ((((_local3 == "timeScale")) && (!((this.target is TweenLite))))))) || ((_local3 == "onStart")))) || ((_local3 == "onStartParams")))) || ((_local3 == "renderOnStart")))) || ((_local3 == "proxiedEase")))) || ((_local3 == "easeParams")))) || (((_arg1) && (!((_arg2.indexOf(((" " + _local3) + " ")) == -1))))))){ } else { if (((!(((_isDisplayObject) && ((((((_local3 == "tint")) || ((_local3 == "removeTint")))) || ((_local3 == "frame"))))))) && (!((((_local3 == "volume")) && (this.target.hasOwnProperty("soundTransform"))))))){ if (typeof(_specialVars[_local3]) == "number"){ this.tweens[this.tweens.length] = [this.target, _local3, this.target[_local3], (_specialVars[_local3] - this.target[_local3]), _local3]; } else { this.tweens[this.tweens.length] = [this.target, _local3, this.target[_local3], Number(_specialVars[_local3]), _local3]; }; }; }; }; }; if (this.vars.runBackwards == true){ _local4 = (this.tweens.length - 1); while (_local4 > -1) { _local8 = this.tweens[_local4]; _local8[2] = (_local8[2] + _local8[3]); _local8[3] = (_local8[3] * -1); _local4--; }; }; if (this.vars.onUpdate != null){ _hasUpdate = true; }; this.initted = true; } protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams))); } public function killVars(_arg1:Object):void{ if (overwriteManager.enabled){ overwriteManager.killVars(_arg1, this.vars, this.tweens, _subTweens, []); }; } public function complete(_arg1:Boolean=false):void{ if (!_arg1){ if (!this.initted){ initTweenVals(); }; this.startTime = (currentTime - ((this.duration * 1000) / this.combinedTimeScale)); render(currentTime); return; }; if (this.vars.persist != true){ this.enabled = false; }; if (this.vars.onComplete != null){ this.vars.onComplete.apply(null, this.vars.onCompleteParams); }; } public static function frameProxy(_arg1:Object, _arg2:Number=0):void{ _arg1.info.target.gotoAndStop(Math.round(_arg1.target.frame)); } public static function removeTween(_arg1:TweenLite, _arg2:Boolean=true):void{ if (_arg1 != null){ if (_arg2){ _arg1.clear(); }; _arg1.enabled = false; }; } public static function visibleProxy(_arg1:Object, _arg2:Number):void{ var _local3:TweenLite = _arg1.info.tween; if (_local3.duration == _arg2){ if (((!((_local3.vars.runBackwards == true))) && ((_local3.ease == _local3.vars.ease)))){ _local3.target.visible = _local3.vars.visible; }; } else { if (_local3.target.visible != true){ _local3.target.visible = true; }; }; } public static function killTweensOf(_arg1:Object=null, _arg2:Boolean=false):void{ var _local3:Array; var _local4:int; var _local5:TweenLite; if (((!((_arg1 == null))) && (!((masterList[_arg1] == undefined))))){ _local3 = masterList[_arg1]; _local4 = (_local3.length - 1); while (_local4 > -1) { _local5 = _local3[_local4]; if (((_arg2) && (!(_local5.gc)))){ _local5.complete(false); }; _local5.clear(); _local4--; }; delete masterList[_arg1]; }; } public static function updateAll(_arg1:Event=null):void{ var _local4:Array; var _local5:int; var _local6:TweenLite; var _local2:uint = (currentTime = getTimer()); var _local3:Dictionary = masterList; for each (_local4 in _local3) { _local5 = (_local4.length - 1); while (_local5 > -1) { _local6 = _local4[_local5]; if (_local6 == null){ } else { if (_local6.active){ _local6.render(_local2); } else { if (_local6.gc){ _local4.splice(_local5, 1); } else { if (_local2 >= _local6.startTime){ _local6.activate(); _local6.render(_local2); }; }; }; }; _local5--; }; }; } public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null):TweenLite{ return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, overwrite:0})); } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ _arg3.runBackwards = true; return (new TweenLite(_arg1, _arg2, _arg3)); } public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function tintProxy(_arg1:Object, _arg2:Number=0):void{ var _local3:Number = _arg1.target.progress; var _local4:Number = (1 - _local3); var _local5:Object = _arg1.info.color; var _local6:Object = _arg1.info.endColor; _arg1.info.target.transform.colorTransform = new ColorTransform(((_local5.redMultiplier * _local4) + (_local6.redMultiplier * _local3)), ((_local5.greenMultiplier * _local4) + (_local6.greenMultiplier * _local3)), ((_local5.blueMultiplier * _local4) + (_local6.blueMultiplier * _local3)), ((_local5.alphaMultiplier * _local4) + (_local6.alphaMultiplier * _local3)), ((_local5.redOffset * _local4) + (_local6.redOffset * _local3)), ((_local5.greenOffset * _local4) + (_local6.greenOffset * _local3)), ((_local5.blueOffset * _local4) + (_local6.blueOffset * _local3)), ((_local5.alphaOffset * _local4) + (_local6.alphaOffset * _local3))); } public static function volumeProxy(_arg1:Object, _arg2:Number=0):void{ _arg1.info.target.soundTransform = _arg1.target; } protected static function killGarbage(_arg1:TimerEvent):void{ var _local3:Object; var _local4:Array; var _local2:Dictionary = masterList; for (_local3 in _local2) { if (_local2[_local3].length == 0){ delete _local2[_local3]; }; }; } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ return (new TweenLite(_arg1, _arg2, _arg3)); } } }//package gs
Section 273
//TweenMax (gs.TweenMax) package gs { import flash.events.*; import flash.utils.*; import gs.events.*; public class TweenMax extends TweenFilterLite implements IEventDispatcher { protected var _dispatcher:EventDispatcher; public var pauseTime:Number; protected var _callbacks:Object; protected var _repeatCount:Number; protected static const _RAD2DEG:Number = 57.2957795130823; public static var removeTween:Function = TweenLite.removeTween; private static var _overwriteMode:int = (OverwriteManager.enabled) ? OverwriteManager.mode : OverwriteManager.init(); ; protected static var _pausedTweens:Dictionary = new Dictionary(false); public static var setGlobalTimeScale:Function = TweenFilterLite.setGlobalTimeScale; public static var killTweensOf:Function = TweenLite.killTweensOf; public static var version:Number = 3.51; public static var killDelayedCallsTo:Function = TweenLite.killTweensOf; public function TweenMax(_arg1:Object, _arg2:Number, _arg3:Object){ super(_arg1, _arg2, _arg3); if (((((!((this.vars.onCompleteListener == null))) || (!((this.vars.onUpdateListener == null))))) || (!((this.vars.onStartListener == null))))){ initDispatcher(); if ((((_arg2 == 0)) && ((this.delay == 0)))){ onUpdateDispatcher(); onCompleteDispatcher(); }; }; _repeatCount = 0; if (((!(isNaN(this.vars.yoyo))) || (!(isNaN(this.vars.loop))))){ this.vars.persist = true; }; if (TweenFilterLite.version < 9.29){ trace("TweenMax error! Please update your TweenFilterLite class or try deleting your ASO files. TweenMax requires a more recent version. Download updates at http://www.TweenMax.com."); }; } public function dispatchEvent(_arg1:Event):Boolean{ if (_dispatcher == null){ return (false); }; return (_dispatcher.dispatchEvent(_arg1)); } public function get reversed():Boolean{ return ((this.ease == reverseEase)); } public function set reversed(_arg1:Boolean):void{ if (this.reversed != _arg1){ reverse(); }; } override public function set enabled(_arg1:Boolean):void{ if (!_arg1){ _pausedTweens[this] = null; delete _pausedTweens[this]; }; super.enabled = _arg1; } protected function onStartDispatcher(... _args):void{ if (_callbacks.onStart != null){ _callbacks.onStart.apply(null, this.vars.onStartParams); }; _dispatcher.dispatchEvent(new TweenEvent(TweenEvent.START)); } public function setDestination(_arg1:String, _arg2, _arg3:Boolean=true):void{ var _local5:Object; var _local6:int; var _local7:Object; var _local8:Array; var _local9:Array; var _local4:Number = this.progress; if (((!((this.vars[_arg1] == undefined))) && (this.initted))){ if (((!(_arg3)) && (!((_local4 == 0))))){ _local6 = (this.tweens.length - 1); while (_local6 > -1) { if (this.tweens[_local6][4] == _arg1){ this.tweens[_local6][0][this.tweens[_local6][1]] = this.tweens[_local6][2]; }; _local6--; }; }; _local5 = {}; _local5[_arg1] = 1; killVars(_local5); }; this.vars[_arg1] = _arg2; if (this.initted){ _local7 = this.vars; _local8 = this.tweens; _local9 = _subTweens; this.vars = {}; this.tweens = []; _subTweens = []; this.vars[_arg1] = _arg2; initTweenVals(); if (((!((this.ease == reverseEase))) && ((_local7.ease is Function)))){ this.ease = _local7.ease; }; if (((_arg3) && (!((_local4 == 0))))){ adjustStartValues(); }; this.vars = _local7; this.tweens = _local8.concat(this.tweens); _subTweens = _local9.concat(_subTweens); }; } override public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{ var _local3:String; var _local4:int; var _local5:Object; var _local6:Object; var _local7:Array; var _local9:Number; _arg2 = (_arg2 + " hexColors bezier bezierThrough shortRotation orientToBezier quaternions onCompleteAll onCompleteAllParams yoyo loop onCompleteListener onUpdateListener onStartListener "); if (((!(_arg1)) && (TweenLite.overwriteManager.enabled))){ TweenLite.overwriteManager.manageOverwrites(this, masterList[this.target]); }; var _local8:Function = bezierProxy; if (this.vars.orientToBezier == true){ this.vars.orientToBezier = [["x", "y", "rotation", 0]]; _local8 = bezierProxy2; } else { if ((this.vars.orientToBezier is Array)){ _local8 = bezierProxy2; }; }; if (((!((this.vars.bezier == undefined))) && ((this.vars.bezier is Array)))){ _local6 = {}; _local7 = this.vars.bezier; _local4 = 0; while (_local4 < _local7.length) { for (_local3 in _local7[_local4]) { if (_local6[_local3] == undefined){ _local6[_local3] = [this.target[_local3]]; }; if (typeof(_local7[_local4][_local3]) == "number"){ _local6[_local3].push(_local7[_local4][_local3]); } else { _local6[_local3].push((this.target[_local3] + Number(_local7[_local4][_local3]))); }; }; _local4++; }; for (_local3 in _local6) { if (typeof(this.vars[_local3]) == "number"){ _local6[_local3].push(this.vars[_local3]); } else { _local6[_local3].push((this.target[_local3] + Number(this.vars[_local3]))); }; delete this.vars[_local3]; }; addSubTween("bezier", _local8, {t:0}, {t:1}, {props:parseBeziers(_local6, false), target:this.target, orientToBezier:this.vars.orientToBezier}); }; if (((!((this.vars.bezierThrough == undefined))) && ((this.vars.bezierThrough is Array)))){ _local6 = {}; _local7 = this.vars.bezierThrough; _local4 = 0; while (_local4 < _local7.length) { for (_local3 in _local7[_local4]) { if (_local6[_local3] == undefined){ _local6[_local3] = [this.target[_local3]]; }; if (typeof(_local7[_local4][_local3]) == "number"){ _local6[_local3].push(_local7[_local4][_local3]); } else { _local6[_local3].push((this.target[_local3] + Number(_local7[_local4][_local3]))); }; }; _local4++; }; for (_local3 in _local6) { if (typeof(this.vars[_local3]) == "number"){ _local6[_local3].push(this.vars[_local3]); } else { _local6[_local3].push((this.target[_local3] + Number(this.vars[_local3]))); }; delete this.vars[_local3]; }; addSubTween("bezierThrough", _local8, {t:0}, {t:1}, {props:parseBeziers(_local6, true), target:this.target, orientToBezier:this.vars.orientToBezier}); }; if (!isNaN(this.vars.shortRotation)){ _local9 = ((this.vars.shortRotation - this.target.rotation) % 360); if (((this.vars.shortRotation - this.target.rotation) % 360) != (_local9 % 180)){ _local9 = ((_local9)<0) ? (_local9 + 360) : (_local9 - 360); }; this.tweens[this.tweens.length] = [this.target, "rotation", this.target.rotation, _local9, "rotation"]; }; if (((!((this.vars.hexColors == undefined))) && ((typeof(this.vars.hexColors) == "object")))){ for (_local3 in this.vars.hexColors) { addSubTween("hexColors", hexColorsProxy, {r:(this.target[_local3] >> 16), g:((this.target[_local3] >> 8) & 0xFF), b:(this.target[_local3] & 0xFF)}, {r:(this.vars.hexColors[_local3] >> 16), g:((this.vars.hexColors[_local3] >> 8) & 0xFF), b:(this.vars.hexColors[_local3] & 0xFF)}, {prop:_local3, target:this.target}); }; }; super.initTweenVals(true, _arg2); } public function restart(_arg1:Boolean=false):void{ if (_arg1){ this.initTime = currentTime; this.startTime = (currentTime + (this.delay * (1000 / this.combinedTimeScale))); } else { this.startTime = currentTime; this.initTime = (currentTime - (this.delay * (1000 / this.combinedTimeScale))); }; _repeatCount = 0; if (this.target != this.vars.onComplete){ render(this.startTime); }; this.pauseTime = NaN; _pausedTweens[this] = null; delete _pausedTweens[this]; this.enabled = true; } public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ if (_dispatcher != null){ _dispatcher.removeEventListener(_arg1, _arg2, _arg3); }; } public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ if (_dispatcher == null){ initDispatcher(); }; if ((((_arg1 == TweenEvent.UPDATE)) && (!((this.vars.onUpdate == onUpdateDispatcher))))){ this.vars.onUpdate = onUpdateDispatcher; _hasUpdate = true; }; _dispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } protected function adjustStartValues():void{ var _local2:Number; var _local3:Number; var _local4:Object; var _local5:int; var _local1:Number = this.progress; if (_local1 != 0){ _local2 = (1 / (1 - this.ease((_local1 * this.duration), 0, 1, this.duration))); _local5 = (this.tweens.length - 1); while (_local5 > -1) { _local4 = this.tweens[_local5]; _local3 = (_local4[2] + _local4[3]); _local4[3] = ((_local3 - _local4[0][_local4[1]]) * _local2); _local4[2] = (_local3 - _local4[3]); _local5--; }; }; } protected function onUpdateDispatcher(... _args):void{ if (_callbacks.onUpdate != null){ _callbacks.onUpdate.apply(null, this.vars.onUpdateParams); }; _dispatcher.dispatchEvent(new TweenEvent(TweenEvent.UPDATE)); } protected function initDispatcher():void{ var _local1:Object; var _local2:String; if (_dispatcher == null){ _dispatcher = new EventDispatcher(this); _callbacks = {onStart:this.vars.onStart, onUpdate:this.vars.onUpdate, onComplete:this.vars.onComplete}; _local1 = {}; for (_local2 in this.vars) { _local1[_local2] = this.vars[_local2]; }; this.vars = _local1; this.vars.onStart = onStartDispatcher; this.vars.onComplete = onCompleteDispatcher; if ((this.vars.onStartListener is Function)){ _dispatcher.addEventListener(TweenEvent.START, this.vars.onStartListener, false, 0, true); }; if ((this.vars.onUpdateListener is Function)){ _dispatcher.addEventListener(TweenEvent.UPDATE, this.vars.onUpdateListener, false, 0, true); this.vars.onUpdate = onUpdateDispatcher; _hasUpdate = true; }; if ((this.vars.onCompleteListener is Function)){ _dispatcher.addEventListener(TweenEvent.COMPLETE, this.vars.onCompleteListener, false, 0, true); }; }; } public function willTrigger(_arg1:String):Boolean{ if (_dispatcher == null){ return (false); }; return (_dispatcher.willTrigger(_arg1)); } public function set progress(_arg1:Number):void{ this.startTime = (currentTime - ((this.duration * _arg1) * 1000)); this.initTime = (this.startTime - (this.delay * (1000 / this.combinedTimeScale))); if (!this.started){ activate(); }; render(currentTime); if (!isNaN(this.pauseTime)){ this.pauseTime = currentTime; this.startTime = 999999999999999; this.active = false; }; } public function reverse(_arg1:Boolean=true, _arg2:Boolean=true):void{ this.ease = ((this.vars.ease)==this.ease) ? reverseEase : this.vars.ease; var _local3:Number = this.progress; if (((_arg1) && ((_local3 > 0)))){ this.startTime = (currentTime - ((((1 - _local3) * this.duration) * 1000) / this.combinedTimeScale)); this.initTime = (this.startTime - (this.delay * (1000 / this.combinedTimeScale))); }; if (_arg2 != false){ if (_local3 < 1){ resume(); } else { restart(); }; }; } public function set paused(_arg1:Boolean):void{ if (_arg1){ pause(); } else { resume(); }; } public function resume():void{ this.enabled = true; if (!isNaN(this.pauseTime)){ this.initTime = (this.initTime + (currentTime - this.pauseTime)); this.startTime = (this.initTime + (this.delay * (1000 / this.combinedTimeScale))); this.pauseTime = NaN; if (((!(this.started)) && ((currentTime >= this.startTime)))){ activate(); } else { this.active = this.started; }; _pausedTweens[this] = null; delete _pausedTweens[this]; }; } public function get paused():Boolean{ return (isNaN(this.pauseTime)); } public function reverseEase(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (this.vars.ease((_arg4 - _arg1), _arg2, _arg3, _arg4)); } public function killProperties(_arg1:Array):void{ var _local3:int; var _local2:Object = {}; _local3 = (_arg1.length - 1); while (_local3 > -1) { if (this.vars[_arg1[_local3]] != null){ _local2[_arg1[_local3]] = 1; }; _local3--; }; killVars(_local2); } public function hasEventListener(_arg1:String):Boolean{ if (_dispatcher == null){ return (false); }; return (_dispatcher.hasEventListener(_arg1)); } public function pause():void{ if (isNaN(this.pauseTime)){ this.pauseTime = currentTime; this.startTime = 999999999999999; this.enabled = false; _pausedTweens[this] = this; }; } override public function complete(_arg1:Boolean=false):void{ if (((((!(isNaN(this.vars.yoyo))) && ((((_repeatCount < this.vars.yoyo)) || ((this.vars.yoyo == 0)))))) || (((!(isNaN(this.vars.loop))) && ((((_repeatCount < this.vars.loop)) || ((this.vars.loop == 0)))))))){ _repeatCount++; if (!isNaN(this.vars.yoyo)){ this.ease = ((this.vars.ease)==this.ease) ? reverseEase : this.vars.ease; }; this.startTime = (_arg1) ? (this.startTime + (this.duration * (1000 / this.combinedTimeScale))) : currentTime; this.initTime = (this.startTime - (this.delay * (1000 / this.combinedTimeScale))); } else { if (this.vars.persist == true){ super.complete(_arg1); pause(); return; }; }; super.complete(_arg1); } public function invalidate(_arg1:Boolean=true):void{ var _local2:Number; if (this.initted){ _local2 = this.progress; if (((!(_arg1)) && (!((_local2 == 0))))){ this.progress = 0; }; this.tweens = []; _subTweens = []; _specialVars = ((this.vars.isTV)==true) ? this.vars.exposedProps : this.vars; initTweenVals(); _timeScale = ((this.vars.timeScale) || (1)); this.combinedTimeScale = (_timeScale * _globalTimeScale); this.delay = ((this.vars.delay) || (0)); if (isNaN(this.pauseTime)){ this.startTime = (this.initTime + ((this.delay * 1000) / this.combinedTimeScale)); }; if (((((!((this.vars.onCompleteListener == null))) || (!((this.vars.onUpdateListener == null))))) || (!((this.vars.onStartListener == null))))){ if (_dispatcher != null){ this.vars.onStart = _callbacks.onStart; this.vars.onUpdate = _callbacks.onUpdate; this.vars.onComplete = _callbacks.onComplete; _dispatcher = null; }; initDispatcher(); }; if (_local2 != 0){ if (_arg1){ adjustStartValues(); } else { this.progress = _local2; }; }; }; } public function get progress():Number{ var _local1:Number = (isNaN(this.pauseTime)) ? currentTime : this.pauseTime; var _local2:Number = (((((_local1 - this.initTime) * 0.001) - (this.delay / this.combinedTimeScale)) / this.duration) * this.combinedTimeScale); if (_local2 > 1){ return (1); }; if (_local2 < 0){ return (0); }; return (_local2); } protected function onCompleteDispatcher(... _args):void{ if (_callbacks.onComplete != null){ _callbacks.onComplete.apply(null, this.vars.onCompleteParams); }; _dispatcher.dispatchEvent(new TweenEvent(TweenEvent.COMPLETE)); } public static function sequence(_arg1:Object, _arg2:Array):Array{ var _local3:uint; while (_local3 < _arg2.length) { _arg2[_local3].target = _arg1; _local3++; }; return (multiSequence(_arg2)); } public static function bezierProxy(_arg1:Object, _arg2:Number=0):void{ var _local6:int; var _local7:String; var _local8:Object; var _local9:Number; var _local10:uint; var _local3:Number = _arg1.target.t; var _local4:Object = _arg1.info.props; var _local5:Object = _arg1.info.target; if (_local3 == 1){ for (_local7 in _local4) { _local6 = (_local4[_local7].length - 1); _local5[_local7] = _local4[_local7][_local6].e; }; } else { for (_local7 in _local4) { _local10 = _local4[_local7].length; if (_local3 < 0){ _local6 = 0; } else { if (_local3 >= 1){ _local6 = (_local10 - 1); } else { _local6 = int((_local10 * _local3)); }; }; _local9 = ((_local3 - (_local6 * (1 / _local10))) * _local10); _local8 = _local4[_local7][_local6]; _local5[_local7] = (_local8.s + (_local9 * (((2 * (1 - _local9)) * (_local8.cp - _local8.s)) + (_local9 * (_local8.e - _local8.s))))); }; }; } public static function hexColorsProxy(_arg1:Object, _arg2:Number=0):void{ _arg1.info.target[_arg1.info.prop] = uint((((_arg1.target.r << 16) | (_arg1.target.g << 8)) | _arg1.target.b)); } public static function parseBeziers(_arg1:Object, _arg2:Boolean=false):Object{ var _local3:int; var _local4:Array; var _local5:Object; var _local6:String; var _local7:Object = {}; if (_arg2){ for (_local6 in _arg1) { _local4 = _arg1[_local6]; _local5 = []; _local7[_local6] = _local5; if (_local4.length > 2){ _local5[_local5.length] = {s:_local4[0], cp:(_local4[1] - ((_local4[2] - _local4[0]) / 4)), e:_local4[1]}; _local3 = 1; while (_local3 < (_local4.length - 1)) { _local5[_local5.length] = {s:_local4[_local3], cp:(_local4[_local3] + (_local4[_local3] - _local5[(_local3 - 1)].cp)), e:_local4[(_local3 + 1)]}; _local3++; }; } else { _local5[_local5.length] = {s:_local4[0], cp:((_local4[0] + _local4[1]) / 2), e:_local4[1]}; }; }; } else { for (_local6 in _arg1) { _local4 = _arg1[_local6]; _local5 = []; _local7[_local6] = _local5; if (_local4.length > 3){ _local5[_local5.length] = {s:_local4[0], cp:_local4[1], e:((_local4[1] + _local4[2]) / 2)}; _local3 = 2; while (_local3 < (_local4.length - 2)) { _local5[_local5.length] = {s:_local5[(_local3 - 2)].e, cp:_local4[_local3], e:((_local4[_local3] + _local4[(_local3 + 1)]) / 2)}; _local3++; }; _local5[_local5.length] = {s:_local5[(_local5.length - 1)].e, cp:_local4[(_local4.length - 2)], e:_local4[(_local4.length - 1)]}; } else { if (_local4.length == 3){ _local5[_local5.length] = {s:_local4[0], cp:_local4[1], e:_local4[2]}; } else { if (_local4.length == 2){ _local5[_local5.length] = {s:_local4[0], cp:((_local4[0] + _local4[1]) / 2), e:_local4[1]}; }; }; }; }; }; return (_local7); } public static function bezierProxy2(_arg1:Object, _arg2:Number=0):void{ var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Array; var _local10:Number; bezierProxy(_arg1, _arg2); var _local3:Object = {}; var _local4:Object = _arg1.info.target; _arg1.info.target = _local3; _arg1.target.t = (_arg1.target.t + 0.01); bezierProxy(_arg1); var _local5:Array = _arg1.info.orientToBezier; var _local11:uint; while (_local11 < _local5.length) { _local9 = _local5[_local11]; _local10 = ((_local9[3]) || (0)); _local7 = (_local3[_local9[0]] - _local4[_local9[0]]); _local8 = (_local3[_local9[1]] - _local4[_local9[1]]); _local4[_local9[2]] = ((Math.atan2(_local8, _local7) * _RAD2DEG) + _local10); _local11++; }; _arg1.info.target = _local4; _arg1.target.t = (_arg1.target.t - 0.01); } public static function pauseAll(_arg1:Boolean=true, _arg2:Boolean=false):void{ changePause(true, _arg1, _arg2); } public static function set globalTimeScale(_arg1:Number):void{ setGlobalTimeScale(_arg1); } public static function get globalTimeScale():Number{ return (_globalTimeScale); } public static function killAllDelayedCalls(_arg1:Boolean=false):void{ killAll(_arg1, false, true); } public static function multiSequence(_arg1:Array):Array{ var _local6:Object; var _local7:Object; var _local8:Number; var _local9:Number; var _local10:uint; var _local11:Object; var _local12:String; trace("WARNING: TweenMax.multiSequence() and TweenMax.sequence() have been deprecated in favor of the much more powerful and flexible TweenGroup class. See http://blog.greensock.com/tweengroup/ for more details. Future versions of TweenMax may not include sequence() and multiSequence() (to conserve file size)."); var _local2:Dictionary = new Dictionary(); var _local3:Array = []; var _local4:int = TweenLite.overwriteManager.mode; var _local5:Number = 0; _local10 = 0; while (_local10 < _arg1.length) { _local6 = _arg1[_local10]; _local9 = ((_local6.time) || (0)); _local11 = {}; for (_local12 in _local6) { _local11[_local12] = _local6[_local12]; }; delete _local11.time; _local8 = ((_local11.delay) || (0)); _local11.delay = (_local5 + _local8); _local7 = _local11.target; delete _local11.target; if (_local4 == 1){ if (_local2[_local7] == undefined){ _local2[_local7] = _local11; } else { _local11.overwrite = 2; }; }; _local3[_local3.length] = new TweenMax(_local7, _local9, _local11); _local5 = (_local5 + (_local9 + _local8)); _local10++; }; return (_local3); } public static function getTweensOf(_arg1:Object):Array{ var _local4:TweenLite; var _local5:int; var _local2:Array = masterList[_arg1]; var _local3:Array = []; if (_local2 != null){ _local5 = (_local2.length - 1); while (_local5 > -1) { if (!_local2[_local5].gc){ _local3[_local3.length] = _local2[_local5]; }; _local5--; }; }; for each (_local4 in _pausedTweens) { if (_local4.target == _arg1){ _local3[_local3.length] = _local4; }; }; return (_local3); } public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4:Boolean=false):TweenMax{ return (new TweenMax(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, persist:_arg4, overwrite:0})); } public static function isTweening(_arg1:Object):Boolean{ var _local2:Array = getTweensOf(_arg1); var _local3:int = (_local2.length - 1); while (_local3 > -1) { if (((_local2[_local3].active) && (!(_local2[_local3].gc)))){ return (true); }; _local3--; }; return (false); } public static function killAll(_arg1:Boolean=false, _arg2:Boolean=true, _arg3:Boolean=true):void{ var _local5:Boolean; var _local6:int; var _local4:Array = getAllTweens(); _local6 = (_local4.length - 1); while (_local6 > -1) { _local5 = (_local4[_local6].target == _local4[_local6].vars.onComplete); if ((((_local5 == _arg3)) || (!((_local5 == _arg2))))){ if (_arg1){ _local4[_local6].complete(false); _local4[_local6].clear(); } else { TweenLite.removeTween(_local4[_local6], true); }; }; _local6--; }; } public static function changePause(_arg1:Boolean, _arg2:Boolean=true, _arg3:Boolean=false):void{ var _local5:Boolean; var _local4:Array = getAllTweens(); var _local6:int = (_local4.length - 1); while (_local6 > -1) { _local5 = (_local4[_local6].target == _local4[_local6].vars.onComplete); if ((((_local4[_local6] is TweenMax)) && ((((_local5 == _arg3)) || (!((_local5 == _arg2))))))){ _local4[_local6].paused = _arg1; }; _local6--; }; } public static function callbackProxy(_arg1:Array, _arg2:Array=null):void{ var _local3:uint; while (_local3 < _arg1.length) { if (_arg1[_local3] != undefined){ _arg1[_local3].apply(null, _arg2[_local3]); }; _local3++; }; } public static function allFrom(_arg1:Array, _arg2:Number, _arg3:Object):Array{ _arg3.runBackwards = true; return (allTo(_arg1, _arg2, _arg3)); } public static function killAllTweens(_arg1:Boolean=false):void{ killAll(_arg1, true, false); } public static function getAllTweens():Array{ var _local3:Array; var _local4:int; var _local5:TweenLite; var _local1:Dictionary = masterList; var _local2:Array = []; for each (_local3 in _local1) { _local4 = (_local3.length - 1); while (_local4 > -1) { if (!_local3[_local4].gc){ _local2[_local2.length] = _local3[_local4]; }; _local4--; }; }; for each (_local5 in _pausedTweens) { _local2[_local2.length] = _local5; }; return (_local2); } public static function resumeAll(_arg1:Boolean=true, _arg2:Boolean=false):void{ changePause(false, _arg1, _arg2); } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{ _arg3.runBackwards = true; return (new TweenMax(_arg1, _arg2, _arg3)); } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{ return (new TweenMax(_arg1, _arg2, _arg3)); } public static function allTo(_arg1:Array, _arg2:Number, _arg3:Object):Array{ var _local4:int; var _local5:Object; var _local6:String; var _local7:Number; var _local8:Object; trace("WARNING: TweenMax.allTo() and TweenMax.allFrom() have been deprecated in favor of the much more powerful and flexible TweenGroup class. See http://blog.greensock.com/tweengroup/ for more details. Future versions of TweenMax may not include allTo() and allFrom() (to conserve file size)."); if (_arg1.length == 0){ return ([]); }; var _local9:Array = []; var _local10:Number = ((_arg3.delayIncrement) || (0)); delete _arg3.delayIncrement; if (_arg3.onCompleteAll == undefined){ _local8 = _arg3; } else { _local8 = {}; for (_local6 in _arg3) { _local8[_local6] = _arg3[_local6]; }; _local8.onCompleteParams = [[_arg3.onComplete, _arg3.onCompleteAll], [_arg3.onCompleteParams, _arg3.onCompleteAllParams]]; _local8.onComplete = TweenMax.callbackProxy; delete _arg3.onCompleteAll; }; delete _arg3.onCompleteAllParams; if (_local10 == 0){ _local4 = 0; while (_local4 < (_arg1.length - 1)) { _local5 = {}; for (_local6 in _arg3) { _local5[_local6] = _arg3[_local6]; }; _local9[_local9.length] = new TweenMax(_arg1[_local4], _arg2, _local5); _local4++; }; } else { _local7 = ((_arg3.delay) || (0)); _local4 = 0; while (_local4 < (_arg1.length - 1)) { _local5 = {}; for (_local6 in _arg3) { _local5[_local6] = _arg3[_local6]; }; _local5.delay = (_local7 + (_local4 * _local10)); _local9[_local9.length] = new TweenMax(_arg1[_local4], _arg2, _local5); _local4++; }; _local8.delay = (_local7 + ((_arg1.length - 1) * _local10)); }; _local9[_local9.length] = new TweenMax(_arg1[(_arg1.length - 1)], _arg2, _local8); if ((_arg3.onCompleteAllListener is Function)){ _local9[(_local9.length - 1)].addEventListener(TweenEvent.COMPLETE, _arg3.onCompleteAllListener); }; return (_local9); } } }//package gs
Section 274
//FlashVars (net.FlashVars) package net { import flash.display.*; public class FlashVars { private static var _data:Object; public static function getVariable(_arg1:String){ return (_data[_arg1]); } public static function initializeVariables(_arg1:DisplayObject):void{ _data = LoaderInfo(_arg1.loaderInfo).parameters; } public static function get data():Object{ return (_data); } } }//package net
Section 275
//User (net.User) package net { import flash.display.*; import flash.utils.*; import game.medals.*; import flash.net.*; import com.electrotank.util.*; public class User { private var m_levelsUnlocked:Array; private var _userID:String; public var userEmail:String;// = null private var m_hostName:String;// = "MRDEscape" private var _enableLogin:Boolean; private var m_so:SharedObject; private var _countryID:String; private var _username:String; public var userName:String;// = null private var m_medalsUnlocked:Array; private var m_bestScore:int; private static var _instance:User; public function User(_arg1:SingletonEnforcer){ m_so = SharedObject.getLocal(m_hostName); if (_arg1 == null){ throw (new Error("User must be implemented as a Singleton")); }; } public function get loggedIn():Boolean{ if (userID != null){ return ((userID.length > 0)); }; return (false); } public function createUser(_arg1:String, _arg2:String, _arg3:String):void{ _userID = _arg1; _username = _arg2; _countryID = _arg3; if ((((_countryID == null)) || ((_countryID.length == 0)))){ _countryID = "1"; }; } public function createFlashVarsUser(_arg1:DisplayObject, _arg2:Boolean):void{ var _local3:Object = LoaderInfo(_arg1.loaderInfo).parameters; _enableLogin = _arg2; if (_enableLogin == false){ createUser("0", "test", "1"); } else { createUser(_local3.userID, _local3.username, _local3.countryID); }; } public function saveLevels():void{ trace("Saving Levels ", m_levelsUnlocked); m_so.data.level = m_levelsUnlocked; m_so.flush(); } public function loadLevels():Array{ if (m_so.data.level == null){ m_levelsUnlocked = [false, false, false, false, false, false, false, false, false, false]; m_levelsUnlocked[0] = true; } else { m_levelsUnlocked = m_so.data.level; }; return (m_levelsUnlocked); } public function loadScore():int{ if (m_so.data.score == null){ return (0); }; return (int(m_so.data.score)); } public function saveScore():void{ if (m_so.data.score == null){ m_so.data.score = MemoryCrypto.getValue("score"); } else { if (int(MemoryCrypto.getValue("score")) > int(m_so.data.score)){ m_so.data.score = MemoryCrypto.getValue("score"); }; }; m_so.flush(); } public function get username():String{ return (_username); } public function unlockLevel(_arg1:int):void{ if (_arg1 < m_levelsUnlocked.length){ m_levelsUnlocked[_arg1] = true; saveLevels(); }; } public function get userID():String{ return (_userID); } public function get enableLogin():Boolean{ return (_enableLogin); } public function get countryID():String{ return (_countryID); } public function saveMedals(_arg1:Array):void{ m_so.data.medal = _arg1; m_so.flush(); } public function loadMedals():void{ if (m_so.data.medal == null){ m_medalsUnlocked = [false, false, false, false, false, false, false, false, false, false]; } else { m_medalsUnlocked = m_so.data.medal; }; var _local1:MedalController = new MedalController(); _local1.initMedals(m_medalsUnlocked); } public static function getInstance():User{ if (_instance == null){ _instance = new User(new SingletonEnforcer()); }; return (_instance); } } }//package net class SingletonEnforcer { private function SingletonEnforcer(){ } }
Section 276
//Destroyable (org.casalib.core.Destroyable) package org.casalib.core { public class Destroyable implements IDestroyable { protected var _isDestroyed:Boolean; public function get destroyed():Boolean{ return (this._isDestroyed); } public function destroy():void{ this._isDestroyed = true; } } }//package org.casalib.core
Section 277
//IDestroyable (org.casalib.core.IDestroyable) package org.casalib.core { public interface IDestroyable { function get destroyed():Boolean; function destroy():void; } }//package org.casalib.core
Section 278
//CasaBitmap (org.casalib.display.CasaBitmap) package org.casalib.display { import flash.display.*; import org.casalib.events.*; import org.casalib.core.*; public class CasaBitmap extends Bitmap implements IRemovableEventDispatcher, IDestroyable { protected var _isDestroyed:Boolean; protected var _listenerManager:ListenerManager; public function CasaBitmap(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); this._listenerManager = ListenerManager.getManager(this); } public function destroy():void{ this.removeEventListeners(); this._listenerManager.destroy(); this._isDestroyed = true; if (this.parent != null){ this.parent.removeChild(this); }; } override public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ super.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); this._listenerManager.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } public function removeEventsForListener(_arg1:Function):void{ this._listenerManager.removeEventsForListener(_arg1); } public function removeEventListeners():void{ this._listenerManager.removeEventListeners(); } override public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ super.removeEventListener(_arg1, _arg2, _arg3); this._listenerManager.removeEventListener(_arg1, _arg2, _arg3); } public function removeEventsForType(_arg1:String):void{ this._listenerManager.removeEventsForType(_arg1); } public function get destroyed():Boolean{ return (this._isDestroyed); } } }//package org.casalib.display
Section 279
//CasaSprite (org.casalib.display.CasaSprite) package org.casalib.display { import flash.display.*; import org.casalib.events.*; import org.casalib.core.*; public class CasaSprite extends Sprite implements IRemovableEventDispatcher, IDestroyable { protected var _isDestroyed:Boolean; protected var _listenerManager:ListenerManager; public function CasaSprite(){ this._listenerManager = ListenerManager.getManager(this); } public function destroy():void{ this.removeEventListeners(); this._listenerManager.destroy(); this._isDestroyed = true; if (this.parent != null){ this.parent.removeChild(this); }; } override public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ super.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); this._listenerManager.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } public function removeEventsForListener(_arg1:Function):void{ this._listenerManager.removeEventsForListener(_arg1); } public function removeEventListeners():void{ this._listenerManager.removeEventListeners(); } override public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ super.removeEventListener(_arg1, _arg2, _arg3); this._listenerManager.removeEventListener(_arg1, _arg2, _arg3); } public function removeEventsForType(_arg1:String):void{ this._listenerManager.removeEventsForType(_arg1); } public function get destroyed():Boolean{ return (this._isDestroyed); } } }//package org.casalib.display
Section 280
//ArguementTypeError (org.casalib.errors.ArguementTypeError) package org.casalib.errors { public class ArguementTypeError extends ArgumentError { public function ArguementTypeError(_arg1:String=null){ super(((_arg1)==null) ? "You passed an argument with an incorrect type to this method." : (("The argument type you passed for parameter \"" + _arg1) + "\" is not allowed by this method.")); } } }//package org.casalib.errors
Section 281
//IRemovableEventDispatcher (org.casalib.events.IRemovableEventDispatcher) package org.casalib.events { import flash.events.*; public interface IRemovableEventDispatcher extends IEventDispatcher { function removeEventsForListener(_arg1:Function):void; function removeEventListeners():void; function removeEventsForType(_arg1:String):void; } }//package org.casalib.events
Section 282
//ListenerManager (org.casalib.events.ListenerManager) package org.casalib.events { import flash.events.*; import flash.utils.*; import org.casalib.core.*; public class ListenerManager extends Destroyable implements IRemovableEventDispatcher { protected var _blockRequest:Boolean; protected var _eventDispatcher:IEventDispatcher; protected var _events:Array; protected static var _proxyMap:Dictionary; public function ListenerManager(_arg1:EventInfo, _arg2:IEventDispatcher){ this._eventDispatcher = _arg2; this._events = new Array(); } public function dispatchEvent(_arg1:Event):Boolean{ return (this._eventDispatcher.dispatchEvent(_arg1)); } public function willTrigger(_arg1:String):Boolean{ return (this._eventDispatcher.willTrigger(_arg1)); } public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ if (this._blockRequest){ return; }; var _local4:EventInfo = new EventInfo(_arg1, _arg2, _arg3); var _local5:int = this._events.length; while (_local5--) { if (this._events[_local5].equals(_local4)){ this._events.splice(_local5, 1); }; }; } public function removeEventListeners():void{ var _local2:EventInfo; this._blockRequest = true; var _local1:int = this._events.length; while (_local1--) { _local2 = this._events.splice(_local1, 1)[0]; this._eventDispatcher.removeEventListener(_local2.type, _local2.listener, _local2.useCapture); }; this._blockRequest = false; } public function removeEventsForListener(_arg1:Function):void{ var _local3:EventInfo; this._blockRequest = true; var _local2:int = this._events.length; while (_local2--) { _local3 = this._events[_local2]; if (_local3.listener == _arg1){ this._events.splice(_local2, 1); this._eventDispatcher.removeEventListener(_local3.type, _local3.listener, _local3.useCapture); }; }; this._blockRequest = false; } public function hasEventListener(_arg1:String):Boolean{ return (this._eventDispatcher.hasEventListener(_arg1)); } override public function destroy():void{ this.removeEventListeners(); delete ListenerManager._proxyMap[this._eventDispatcher]; this._eventDispatcher = null; super.destroy(); } public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ var _local6:EventInfo = new EventInfo(_arg1, _arg2, _arg3); var _local7:int = this._events.length; while (_local7--) { if (this._events[_local7].equals(_local6)){ return; }; }; this._events.push(_local6); } public function removeEventsForType(_arg1:String):void{ var _local3:EventInfo; this._blockRequest = true; var _local2:int = this._events.length; while (_local2--) { _local3 = this._events[_local2]; if (_local3.type == _arg1){ this._events.splice(_local2, 1); this._eventDispatcher.removeEventListener(_local3.type, _local3.listener, _local3.useCapture); }; }; this._blockRequest = false; } public static function getManager(_arg1:IEventDispatcher):ListenerManager{ if (ListenerManager._proxyMap == null){ ListenerManager._proxyMap = new Dictionary(); }; if (ListenerManager._proxyMap[_arg1] == null){ ListenerManager._proxyMap[_arg1] = new ListenerManager(new EventInfo(null, null, false), _arg1); }; return (ListenerManager._proxyMap[_arg1]); } } }//package org.casalib.events class EventInfo { public var listener:Function; public var type:String; public var useCapture:Boolean; private function EventInfo(_arg1:String, _arg2:Function, _arg3:Boolean){ this.type = _arg1; this.listener = _arg2; this.useCapture = _arg3; } public function equals(_arg1:EventInfo):Boolean{ return ((((((this.type == _arg1.type)) && ((this.listener == _arg1.listener)))) && ((this.useCapture == _arg1.useCapture)))); } }
Section 283
//Percent (org.casalib.math.Percent) package org.casalib.math { public class Percent { protected var _percent:Number; public function Percent(_arg1:Number=0, _arg2:Boolean=true){ if (_arg2){ this.decimalPercentage = _arg1; } else { this.percentage = _arg1; }; } public function set percentage(_arg1:Number):void{ this._percent = (_arg1 * 0.01); } public function clone():Percent{ return (new Percent(this.decimalPercentage)); } public function get percentage():Number{ return ((100 * this._percent)); } public function get decimalPercentage():Number{ return (this._percent); } public function set decimalPercentage(_arg1:Number):void{ this._percent = _arg1; } public function toString():String{ return (this.decimalPercentage.toString()); } public function equals(_arg1:Percent):Boolean{ return ((this.decimalPercentage == _arg1.decimalPercentage)); } } }//package org.casalib.math
Section 284
//ArrayUtil (org.casalib.util.ArrayUtil) package org.casalib.util { public class ArrayUtil { protected static function _sortRandom(_arg1, _arg2):int{ return ((NumberUtil.randomIntegerWithinRange(0, 1)) ? 1 : -1); } public static function containsAll(_arg1:Array, _arg2:Array):Boolean{ var _local3:uint = _arg2.length; while (_local3--) { if (_arg1.indexOf(_arg2[_local3]) == -1){ return (false); }; }; return (true); } protected static function _removeDuplicatesFilter(_arg1, _arg2:int, _arg3:Array):Boolean{ return (((_arg2)==0) ? true : (_arg3.lastIndexOf(_arg1, (_arg2 - 1)) == -1)); } public static function equals(_arg1:Array, _arg2:Array):Boolean{ var _local3:uint = _arg1.length; if (_local3 != _arg2.length){ return (false); }; while (_local3--) { if (_arg1[_local3] != _arg2[_local3]){ return (false); }; }; return (true); } public static function getHighestValue(_arg1:Array):Number{ return (_arg1[_arg1.sort((16 | 8))[(_arg1.length - 1)]]); } public static function sum(_arg1:Array):Number{ var _local2:Number = 0; var _local3:uint = _arg1.length; while (_local3--) { _local2 = (_local2 + _arg1[_local3]); }; return (_local2); } public static function removeDuplicates(_arg1:Array):Array{ return (_arg1.filter(ArrayUtil._removeDuplicatesFilter)); } public static function containsAny(_arg1:Array, _arg2:Array):Boolean{ var _local3:uint = _arg2.length; while (_local3--) { if (_arg1.indexOf(_arg2[_local3]) != -1){ return (true); }; }; return (false); } public static function getIndexOfDifference(_arg1:Array, _arg2:Array, _arg3:uint=0):int{ var _local4:int = (_arg3 - 1); while (++_local4 < _arg1.length) { if (_arg1[_local4] != _arg2[_local4]){ return (_local4); }; }; return (-1); } public static function randomize(_arg1:Array):Array{ var _local2:Array = new Array(); var _local3:Array = _arg1.sort(ArrayUtil._sortRandom, Array.RETURNINDEXEDARRAY); var _local4 = -1; while (++_local4 < _arg1.length) { _local2.push(_arg1[_local3[_local4]]); }; return (_local2); } public static function addItemsAt(_arg1:Array, _arg2:Array, _arg3:int=2147483647):Boolean{ if (_arg2.length == 0){ return (false); }; var _local4:Array = _arg2.concat(); _local4.splice(0, 0, _arg3, 0); _arg1.splice.apply(null, _local4); return (true); } public static function removeItem(_arg1:Array, _arg2):uint{ var _local3:int = _arg1.indexOf(_arg2); var _local4:uint; while (_local3 != -1) { _arg1.splice(_local3, 1); _local3 = _arg1.indexOf(_arg2, _local3); _local4++; }; return (_local4); } public static function getLowestValue(_arg1:Array):Number{ return (_arg1[_arg1.sort((16 | 8))[0]]); } public static function retainItems(_arg1:Array, _arg2:Array):Boolean{ var _local3:Boolean; var _local4:uint = _arg1.length; while (_local4--) { if (_arg2.indexOf(_arg1[_local4]) == -1){ _arg1.splice(_local4, 1); _local3 = true; }; }; return (_local3); } public static function removeItems(_arg1:Array, _arg2:Array):Boolean{ var _local3:Boolean; var _local4:uint = _arg1.length; while (_local4--) { if (_arg2.indexOf(_arg1[_local4]) != -1){ _arg1.splice(_local4, 1); _local3 = true; }; }; return (_local3); } public static function average(_arg1:Array):Number{ if (_arg1.length == 0){ return (0); }; return ((ArrayUtil.sum(_arg1) / _arg1.length)); } public static function contains(_arg1:Array, _arg2):uint{ var _local3:int = _arg1.indexOf(_arg2, 0); var _local4:uint; while (_local3 != -1) { _local3 = _arg1.indexOf(_arg2, (_local3 + 1)); _local4++; }; return (_local4); } } }//package org.casalib.util
Section 285
//FrameUtil (org.casalib.util.FrameUtil) package org.casalib.util { import flash.display.*; import org.casalib.errors.*; public class FrameUtil { public static function getFrameNumberForLabel(_arg1:MovieClip, _arg2:String):int{ var _local3:Array = _arg1.currentLabels; var _local4:int = _local3.length; while (_local4--) { if (_local3[_local4].name == _arg2){ return (_local3[_local4].frame); }; }; return (-1); } public static function removeFrameScript(_arg1:MovieClip, _arg2):void{ if ((_arg2 is String)){ _arg2 = FrameUtil.getFrameNumberForLabel(_arg1, _arg2); } else { if (!(_arg2 is uint)){ throw (new ArguementTypeError("frame")); }; }; if ((((((_arg2 == -1)) || ((_arg2 == 0)))) || ((_arg2 > _arg1.totalFrames)))){ return; }; _arg1.addFrameScript((_arg2 - 1), null); } public static function addFrameScript(_arg1:MovieClip, _arg2, _arg3:Function):Boolean{ if ((_arg2 is String)){ _arg2 = FrameUtil.getFrameNumberForLabel(_arg1, _arg2); } else { if (!(_arg2 is uint)){ throw (new ArguementTypeError("frame")); }; }; if ((((((_arg2 == -1)) || ((_arg2 == 0)))) || ((_arg2 > _arg1.totalFrames)))){ return (false); }; _arg1.addFrameScript((_arg2 - 1), _arg3); return (true); } } }//package org.casalib.util
Section 286
//NumberUtil (org.casalib.util.NumberUtil) package org.casalib.util { import org.casalib.math.*; public class NumberUtil { public static function interpolate(_arg1:Percent, _arg2:Number, _arg3:Number):Number{ return ((_arg2 + ((_arg3 - _arg2) * _arg1.decimalPercentage))); } public static function isEven(_arg1:Number):Boolean{ return (((_arg1 & 1) == 0)); } public static function isOdd(_arg1:Number):Boolean{ return (!(_slot1.isEven(_arg1))); } public static function constrain(_arg1:Number, _arg2:Number, _arg3:Number):Number{ return (Math.min(Math.max(_arg1, Math.min(_arg2, _arg3)), Math.max(_arg2, _arg3))); } public static function roundDecimalToPlace(_arg1:Number, _arg2:uint):Number{ var _local3:Number = Math.pow(10, _arg2); return ((Math.round((_arg1 * _local3)) / _local3)); } public static function max(_arg1, _arg2):Number{ if (((((isNaN(_arg1)) && (isNaN(_arg2)))) || ((((_arg1 == null)) && ((_arg2 == null)))))){ return (NaN); }; if ((((_arg1 == null)) || ((_arg2 == null)))){ return (((_arg2)==null) ? _arg1 : _arg2); }; if (((isNaN(_arg1)) || (isNaN(_arg2)))){ return ((isNaN(_arg2)) ? _arg1 : _arg2); }; return (Math.max(_arg1, _arg2)); } public static function getOrdinalSuffix(_arg1:int):String{ if ((((_arg1 >= 10)) && ((_arg1 <= 20)))){ return ("th"); }; switch ((_arg1 % 10)){ case 0: case 4: case 5: case 6: case 7: case 8: case 9: return ("th"); case 3: return ("rd"); case 2: return ("nd"); case 1: return ("st"); default: return (""); }; } public static function normalize(_arg1:Number, _arg2:Number, _arg3:Number):Percent{ return (new Percent(((_arg1 - _arg2) / (_arg3 - _arg2)))); } public static function loopIndex(_arg1:int, _arg2:uint):uint{ if (_arg1 < 0){ _arg1 = (_arg2 + (_arg1 % _arg2)); }; if (_arg1 >= _arg2){ return ((_arg1 % _arg2)); }; return (_arg1); } public static function randomWithinRange(_arg1:Number, _arg2:Number):Number{ return ((_arg1 + (Math.random() * (_arg2 - _arg1)))); } public static function min(_arg1, _arg2):Number{ if (((((isNaN(_arg1)) && (isNaN(_arg2)))) || ((((_arg1 == null)) && ((_arg2 == null)))))){ return (NaN); }; if ((((_arg1 == null)) || ((_arg2 == null)))){ return (((_arg2)==null) ? _arg1 : _arg2); }; if (((isNaN(_arg1)) || (isNaN(_arg2)))){ return ((isNaN(_arg2)) ? _arg1 : _arg2); }; return (Math.min(_arg1, _arg2)); } public static function isInteger(_arg1:Number):Boolean{ return (((_arg1 % 1) == 0)); } public static function isPrime(_arg1:Number):Boolean{ if ((((_arg1 == 1)) || ((_arg1 == 2)))){ return (true); }; if (_slot1.isEven(_arg1)){ return (false); }; var _local2:Number = Math.sqrt(_arg1); var _local3:Number = 3; while (_local3 <= _local2) { if ((_arg1 % _local3) == 0){ return (false); }; _local3++; }; return (true); } public static function randomIntegerWithinRange(_arg1:int, _arg2:int):int{ return (Math.round(_slot1.randomWithinRange(_arg1, _arg2))); } public static function format(_arg1:Number, _arg2:uint, _arg3:String=null, _arg4:String=null):String{ var _local7:Array; var _local8:uint; var _local9:uint; var _local10:String; var _local5:String = _arg1.toString(); var _local6:uint = _local5.length; if (_arg3 != null){ _local7 = _local5.split(""); _local8 = 3; _local9 = _local7.length; while (--_local9 > 0) { --_local8; if (_local8 == 0){ _local8 = 3; _local7.splice(_local9, 0, _arg3); }; }; _local5 = _local7.join(""); }; if (_arg2 != 0){ if (_local6 < _arg2){ _arg2 = (_arg2 - _local6); _local10 = ((_arg4)==null) ? "0" : _arg4; while (_arg2--) { _local5 = (_local10 + _local5); }; }; }; return (_local5); } public static function addLeadingZero(_arg1:Number):String{ return (((_arg1)<10) ? ("0" + _arg1) : _arg1.toString()); } public static function map(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Number{ return (_slot1.interpolate(_slot1.normalize(_arg1, _arg2, _arg3), _arg4, _arg5)); } public static function createStepsBetween(_arg1:Number, _arg2:Number, _arg3:Number):Array{ _arg3++; var _local4:uint; var _local5:Array = new Array(); var _local6:Number = ((_arg2 - _arg1) / _arg3); while (++_local4 < _arg3) { _local5.push(((_local4 * _local6) + _arg1)); }; return (_local5); } public static function isBetween(_arg1:Number, _arg2:Number, _arg3:Number):Boolean{ return (!((((_arg1 < Math.min(_arg2, _arg3))) || ((_arg1 > Math.max(_arg2, _arg3)))))); } } }//package org.casalib.util
Section 287
//ObjectUtil (org.casalib.util.ObjectUtil) package org.casalib.util { import flash.utils.*; public class ObjectUtil { public static function isNull(_arg1:Object):Boolean{ return ((_arg1 === null)); } public static function isEmpty(_arg1):Boolean{ var _local2:String; if (_arg1 == undefined){ return (true); }; if ((_arg1 is Number)){ return (isNaN(_arg1)); }; if ((((_arg1 is Array)) || ((_arg1 is String)))){ return ((_arg1.length == 0)); }; if ((_arg1 is Object)){ for (_local2 in _arg1) { return (false); }; return (true); }; return (false); } public static function isUndefined(_arg1:Object):Boolean{ return ((_arg1 is undefined)); } public static function getKeys(_arg1:Object):Array{ var _local3:String; var _local2:Array = new Array(); for (_local3 in _arg1) { _local2.push(_local3); }; return (_local2); } public static function clone(_arg1:Object):Object{ var _local2:ByteArray = new ByteArray(); _local2.writeObject(_arg1); _local2.position = 0; return (_local2.readObject()); } public static function contains(_arg1:Object, _arg2:Object):Boolean{ var _local3:String; for (_local3 in _arg1) { if (_arg1[_local3] == _arg2){ return (true); }; }; return (false); } } }//package org.casalib.util
Section 288
//StageReference (org.casalib.util.StageReference) package org.casalib.util { import flash.display.*; import flash.utils.*; public class StageReference { public static const STAGE_DEFAULT:String = "stageDefault"; protected static var _stageMap:Dictionary; public static function removeStage(_arg1:String="stageDefault"):Boolean{ if (_slot1._getMap()[_arg1] == null){ return (false); }; _slot1.setStage(null, _arg1); return (true); } public static function getStageId(_arg1:Stage):String{ var _local3:String; var _local2:Dictionary = _slot1._getMap(); for (_local3 in _local2) { if (_local2[_local3] == _arg1){ return (_local3); }; }; return (null); } protected static function _getMap():Dictionary{ if (_slot1._stageMap == null){ _slot1._stageMap = new Dictionary(); }; return (_slot1._stageMap); } public static function getStage(_arg1:String="stageDefault"):Stage{ if (_slot1._getMap()[_arg1] == null){ throw (new Error((("Cannot get Stage (\"" + _arg1) + "\") before it has been set."))); }; return (_slot1._getMap()[_arg1]); } public static function getIds():Array{ return (ObjectUtil.getKeys(_slot1._getMap())); } public static function setStage(_arg1:Stage, _arg2:String="stageDefault"):void{ _slot1._getMap()[_arg2] = _arg1; } } }//package org.casalib.util
Section 289
//StringUtil (org.casalib.util.StringUtil) package org.casalib.util { public class StringUtil { public static var SMALL_WORDS:Array = new Array("a", "an", "and", "as", "at", "but", "by", "en", "for", "if", "in", "of", "on", "or", "the", "to", "v", "via", "vs"); public static function remove(_arg1:String, _arg2:String):String{ return (StringUtil.replace(_arg1, _arg2, "")); } public static function isLowerCase(_arg1:String):Boolean{ var _local2:Array = _arg1.split(""); var _local3:Number = _local2.length; while (_local3--) { if (_local2[_local3] != _local2[_local3].toLowerCase()){ return (false); }; }; return (true); } public static function indexOfLowerCase(_arg1:String, _arg2:uint=0):int{ var _local3:Array = _arg1.split(""); var _local4:int = (_arg2 - 1); while (++_local4 < _local3.length) { if ((((_local3[_local4] == _local3[_local4].toLowerCase())) && (!((_local3[_local4] == _local3[_local4].toUpperCase()))))){ return (_local4); }; }; return (-1); } public static function trimLeft(_arg1:String, _arg2:String=" "):String{ var _local3:RegExp = new RegExp((("^[" + _arg2) + "]+"), ""); return (_arg1.replace(_local3, "")); } public static function replaceAt(_arg1:String, _arg2:int, _arg3:String):String{ var _local4:Array = _arg1.split(""); _local4.splice(_arg2, 1, _arg3); return (_local4.join("")); } public static function getNumbersFromString(_arg1:String):String{ var _local2:RegExp = /[^0-9]/g; return (_arg1.replace(_local2, "")); } public static function isPunctuation(_arg1:String, _arg2:Boolean=true):Boolean{ if (((!((StringUtil.getNumbersFromString(_arg1).length == 0))) || (!((StringUtil.getLettersFromString(_arg1).length == 0))))){ return (false); }; if (!_arg2){ return ((_arg1.split(" ").length == 1)); }; return (true); } public static function getUniqueCharacters(_arg1:String):String{ var _local4:String; var _local2 = ""; var _local3:uint; while (_local3 < _arg1.length) { _local4 = _arg1.charAt(_local3); if (_local2.indexOf(_local4) == -1){ _local2 = (_local2 + _local4); }; _local3++; }; return (_local2); } public static function getLettersFromString(_arg1:String):String{ var _local2:RegExp = /[^A-Z^a-z]/g; return (_arg1.replace(_local2, "")); } public static function removeAt(_arg1:String, _arg2:int):String{ return (StringUtil.replaceAt(_arg1, _arg2, "")); } public static function trimRight(_arg1:String, _arg2:String=" "):String{ var _local3:RegExp = new RegExp((("[" + _arg2) + "]+$"), ""); return (_arg1.replace(_local3, "")); } public static function contains(_arg1:String, _arg2:String):uint{ var _local3:RegExp = new RegExp(_arg2, "g"); return (_arg1.match(_local3).length); } protected static function _checkWords(_arg1:String, _arg2:String, _arg3:Boolean=false, _arg4:Boolean=false):String{ var _local7:String; var _local5:Array = _arg1.split(_arg2); var _local6:int = _local5.length; while (_local6--) { _local7 = _local5[_local6]; _local5[_local6] = StringUtil._checkWord(_local7, _arg3, _arg4); }; return (_local5.join(_arg2)); } public static function removeWhitespace(_arg1:String):String{ var _local2:RegExp = new RegExp("[ \n\t\r]", "g"); return (_arg1.replace(_local2, "")); } protected static function _isSmallWord(_arg1:String):Boolean{ var _local2:int = StringUtil.SMALL_WORDS.length; _arg1 = StringUtil.getLettersFromString(_arg1); while (_local2--) { if (_arg1.toLowerCase() == StringUtil.SMALL_WORDS[_local2]){ return (true); }; }; return (false); } public static function trim(_arg1:String, _arg2:String=" "):String{ var _local3:RegExp = new RegExp((((("^[" + _arg2) + "]+|[") + _arg2) + "]+$"), "g"); return (_arg1.replace(_local3, "")); } protected static function _capitalizeFirstLetter(_arg1:String):String{ var _local2 = -1; while (++_local2 < _arg1.length) { if (!StringUtil.isPunctuation(_arg1.charAt(_local2))){ return (StringUtil.replaceAt(_arg1, _local2, _arg1.charAt(_local2).toUpperCase())); }; }; return (_arg1); } public static function toTitleCase(_arg1:String, _arg2:Boolean=true):String{ var _local5:int; _arg1 = StringUtil._checkWords(_arg1, " ", true, _arg2); var _local3:Array = _arg1.split(" "); var _local4:int = (_local3.length - 1); if (!StringUtil._isIgnoredWord(_local3[0])){ _local3[0] = StringUtil._capitalizeFirstLetter(_local3[0]); }; if (!StringUtil._isIgnoredWord(_local3[_local4])){ _local3[_local4] = StringUtil._capitalizeFirstLetter(_local3[_local4]); }; _arg1 = _local3.join(" "); if (StringUtil.contains(_arg1, ": ")){ _local5 = -1; _local3 = _arg1.split(": "); while (++_local5 < _local3.length) { _local3[_local5] = StringUtil._capitalizeFirstLetter(_local3[_local5]); }; _arg1 = _local3.join(": "); }; return (_arg1); } public static function isUpperCase(_arg1:String):Boolean{ var _local2:Array = _arg1.split(""); var _local3:Number = _local2.length; while (_local3--) { if (_local2[_local3] != _local2[_local3].toUpperCase()){ return (false); }; }; return (true); } public static function indexOfUpperCase(_arg1:String, _arg2:uint=0):int{ var _local3:Array = _arg1.split(""); var _local4:int = (_arg2 - 1); while (++_local4 < _local3.length) { if ((((_local3[_local4] == _local3[_local4].toUpperCase())) && (!((_local3[_local4] == _local3[_local4].toLowerCase()))))){ return (_local4); }; }; return (-1); } protected static function _checkWord(_arg1:String, _arg2:Boolean, _arg3:Boolean):String{ var _local4:Array; var _local5:int; var _local6:Boolean; if (StringUtil._isIgnoredWord(_arg1)){ return (_arg1); }; if (_arg3){ if (StringUtil._isSmallWord(_arg1)){ return (_arg1.toLowerCase()); }; }; if (_arg2){ _local4 = new Array("-", "–", "—"); _local5 = -1; while (++_local5 < _local4.length) { if (StringUtil.contains(_arg1, _local4[_local5]) != 0){ _arg1 = StringUtil._checkWords(_arg1, _local4[_local5], false, true); _local6 = true; }; }; if (_local6){ return (_arg1); }; }; return (StringUtil._capitalizeFirstLetter(_arg1)); } public static function replace(_arg1:String, _arg2:String, _arg3:String):String{ var _local4:RegExp = new RegExp(_arg2, "g"); return (_arg1.replace(_local4, _arg3)); } public static function removeExtraSpaces(_arg1:String):String{ var _local2:RegExp = /( )+/g; return (StringUtil.trim(_arg1.replace(_local2, " "), " ")); } protected static function _isIgnoredWord(_arg1:String):Boolean{ var _local2:int = _arg1.indexOf("."); var _local3:int = StringUtil.indexOfUpperCase(_arg1); if (((((!((_local2 == -1))) && (!((_local2 == (_arg1.length - 1)))))) || (((!((_local3 == -1))) && (!((_local3 == 0))))))){ return (true); }; return (false); } public static function addAt(_arg1:String, _arg2:int, _arg3:String):String{ var _local4:Array = _arg1.split(""); _local4.splice(_arg2, 0, _arg3); return (_local4.join("")); } } }//package org.casalib.util
Section 290
//BasePage (pages.BasePage) package pages { import flash.display.*; import console.*; import gs.*; import org.casalib.display.*; import game.interfaces.*; public class BasePage extends CasaSprite implements IConsoleSection { protected var m_ui:MovieClip; public function hide():void{ } public function transitionIn_COMPLETE():void{ dispatchEvent(new ConsoleEvent(ConsoleEvents.TRANSITION_COMPLETE)); } public function doPause():void{ } protected function center():void{ m_ui.x = int((Constants.STAGE_WIDTH * 0.5)); m_ui.y = int((Constants.STAGE_HEIGHT * 0.5)); } public function doResume():void{ } public function transitionOut():void{ TweenMax.to(m_ui, 0.75, {alpha:0}); } public function transitionIn():void{ TweenMax.to(m_ui, 0.75, {alpha:1, onComplete:transitionIn_COMPLETE}); } override public function destroy():void{ if (m_ui){ TweenMax.killTweensOf(m_ui); removeChild(m_ui); m_ui = null; }; super.destroy(); } } }//package pages
Section 291
//Credits (pages.Credits) package pages { import assets.pages.*; public class Credits extends BasePage { public function Credits(){ m_ui = new CreditsUI(); addChild(m_ui); m_ui.alpha = 0; center(); } } }//package pages
Section 292
//Help (pages.Help) package pages { import assets.pages.*; public class Help extends BasePage { public function Help(){ m_ui = new HelpUI(); addChild(m_ui); m_ui.alpha = 0; center(); } } }//package pages
Section 293
//MarvelLogin (pages.MarvelLogin) package pages { import flash.events.*; import events.*; import net.*; import gs.*; import flash.system.*; import assets.*; import com.malee.net.*; import com.malee.events.*; public class MarvelLogin extends BasePage { private var _loader:URLDataLoader; private var _username:String; private var _password:String; private var _errorMessage:String; private static const LOGIN_URL:String = "http://marvelkids.marvel.com/soap/armored_assault/login.php?action=login"; public function MarvelLogin(){ initialize(); initializeComponent(); } private function onRegister(_arg1:LoginEvent):void{ var _local2:String; var _local3:String; if (((FlashVars.data) && (FlashVars.data.ref))){ _local2 = FlashVars.data.ref; } else { _local2 = "none"; }; trace(("urlReferrer: " + _local2)); _local3 = (("javascript:loadSignup('" + _local2) + "')"); trace(_local3); getURL(_local3, "_self"); } private function onLoginComplete(_arg1:Event):void{ var _local7:Array; var _local8:String; var _local9:String; var _local2:String = _loader.data; var _local3:String = _local2.substr(1, (_local2.length - 2)); var _local4:Array = _local3.split("&"); var _local5:Object = {}; var _local6:int; while (_local6 < _local4.length) { _local7 = _local4[_local6].split("="); _local8 = _local7[0]; _local9 = _local7[1]; _local5[_local8] = _local9; _local6++; }; if (_local5.user_id.length > 0){ User.getInstance().createUser(_local5.user_id, _local5.member_name, _local5.country_id); m_ui.gotoAndPlay("success"); } else { _errorMessage = "User not found."; m_ui.gotoAndPlay("error"); }; } private function onLoginError(_arg1:ErrorEvent):void{ trace("login error", _arg1.text); _errorMessage = _arg1.text; m_ui.gotoAndPlay("error"); } private function onTransitionOut():void{ destroy(); } private function onLoginSuccess(_arg1:LoginEvent):void{ transitionOut(); dispatchEvent(_arg1); } override public function transitionIn():void{ TweenMax.to(m_ui, 0.3, {alpha:1}); } private function onSkipLogin(_arg1:LoginEvent):void{ transitionOut(); dispatchEvent(new LoginEvent(LoginEvent.LOGIN_CANCEL)); } private function initializeComponent():void{ m_ui.addEventListener(LoginEvent.INITIALIZE, onLoginInitalize); m_ui.addEventListener(LoginEvent.LOGIN, onAttemptLogin); m_ui.addEventListener(LoginEvent.SKIP, onSkipLogin); m_ui.addEventListener(LoginEvent.REGISTER, onRegister); m_ui.addEventListener(LoginEvent.LOGIN_SUCCESS, onLoginSuccess); m_ui.addEventListener(LoginEvent.LOGIN_ERROR, onLoginUIError); m_ui.addEventListener(LoginEvent.TRY_AGAIN, onLoginTryAgain); } private function onLoginInitalize(_arg1:LoginEvent):void{ if (_username != null){ m_ui.nameEntry.input.text = _username; }; if (_password != null){ m_ui.passEntry.input.text = _password; }; } private function initialize():void{ Security.allowDomain("http://marvelkids.marvel.com"); Security.allowInsecureDomain("http://marvelkids.marvel.com"); m_ui = new MarvelLoginUI(); m_ui.alpha = 0; addChild(m_ui); _loader = new URLDataLoader(); _loader.addEventListener(Event.COMPLETE, onLoginComplete, false, 0, true); _loader.addEventListener(IOErrorEvent.IO_ERROR, onLoginError, false, 0, true); _loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onLoginError, false, 0, true); _loader.addEventListener(TimeoutErrorEvent.TIMEOUT, onLoginError, false, 0, true); center(); } private function onLoginUIError(_arg1:LoginEvent):void{ m_ui.errorMessage.text = _errorMessage; } private function onLoginTryAgain(_arg1:LoginEvent):void{ m_ui.gotoAndPlay("main"); } override public function transitionOut():void{ TweenMax.to(m_ui, 0.3, {alpha:0, onComplete:onTransitionOut}); } private function onAttemptLogin(_arg1:LoginEvent):void{ var _local2:String = LOGIN_URL; _username = _arg1.data.username; _password = _arg1.data.password; _local2 = (_local2 + ("&user=" + _arg1.data.username)); _local2 = (_local2 + ("&pass=" + _arg1.data.password)); _loader.sendData(_local2, 3); m_ui.gotoAndPlay("login"); } } }//package pages
Section 294
//Medals (pages.Medals) package pages { import game.medals.*; import assets.pages.*; public class Medals extends BasePage { private var m_medalPageDisplay:MedalPageDisplay; public function Medals(){ m_ui = new MedalsUI(); addChild(m_ui); m_ui.alpha = 0; center(); m_medalPageDisplay = new MedalPageDisplay(Medal.medalArray[9], m_ui.medalNinja, m_ui.baseNinja, m_ui); m_medalPageDisplay = new MedalPageDisplay(Medal.medalArray[8], m_ui.medalSecret, m_ui.baseSecret, m_ui); m_medalPageDisplay = new MedalPageDisplay(Medal.medalArray[7], m_ui.medalIntel, m_ui.baseIntel, m_ui); m_medalPageDisplay = new MedalPageDisplay(Medal.medalArray[6], m_ui.medalDestroyer, m_ui.baseDestroyer, m_ui); m_medalPageDisplay = new MedalPageDisplay(Medal.medalArray[5], m_ui.medalSaboteur, m_ui.baseSabotuer, m_ui); m_medalPageDisplay = new MedalPageDisplay(Medal.medalArray[4], m_ui.medalGenius, m_ui.baseGenius, m_ui); m_medalPageDisplay = new MedalPageDisplay(Medal.medalArray[3], m_ui.medalMastermind, m_ui.baseMastermind, m_ui); m_medalPageDisplay = new MedalPageDisplay(Medal.medalArray[2], m_ui.medalScrapyard, m_ui.baseScrapyard, m_ui); m_medalPageDisplay = new MedalPageDisplay(Medal.medalArray[1], m_ui.medalBest, m_ui.baseBest, m_ui); m_medalPageDisplay = new MedalPageDisplay(Medal.medalArray[0], m_ui.medalWeaponX, m_ui.baseWeaponx, m_ui); } override public function hide():void{ MedalPageDisplay.destroyAll(); } override public function destroy():void{ removeChild(m_ui); m_ui = null; super.destroy(); } } }//package pages
Section 295
//MutantButton (pages.MutantButton) package pages { import flash.events.*; import flash.display.*; import com.markfennell.events.*; import gs.*; import flash.filters.*; public class MutantButton { private var m_item:MovieClip; public var id:int; private var m_enabled:Boolean; public static var CLICKED:String = "MutantClicked"; public function MutantButton(_arg1:MovieClip, _arg2:int, _arg3:String){ id = _arg2; m_item = _arg1; m_item.addEventListener(MouseEvent.CLICK, handleClick); m_item.addEventListener(MouseEvent.ROLL_OUT, handleRollOut); m_item.addEventListener(MouseEvent.ROLL_OVER, handleRollOver); m_item.buttonMode = true; m_item.useHandCursor = true; } private function handleClick(_arg1:MouseEvent):void{ TweenMax.to(m_item, 0.1, {tint:0xFFFFFF}); TweenMax.to(m_item, 0.2, {alpha:1, delay:0.1}); TweenMax.to(m_item, 0.2, {delay:0.2, removeTint:true}); GameBroadcaster.dispatchEvent(new TriggerEvent(CLICKED, id)); } private function handleRollOver(_arg1:MouseEvent):void{ m_item.filters = [new GlowFilter(4294967295, 1, 4, 4, 3)]; } public function enable():void{ m_enabled = true; } public function disable():void{ m_enabled = false; } private function handleRollOut(_arg1:MouseEvent):void{ m_item.filters = []; TweenMax.to(m_item, 0.25, {delay:0.5, removeTint:true}); } } }//package pages
Section 296
//Mutants (pages.Mutants) package pages { import flash.events.*; import flash.display.*; import com.markfennell.sound.*; import com.markfennell.events.*; import gs.*; import org.casalib.util.*; import assets.pages.*; public class Mutants extends BasePage { private var m_iconButton_1:MutantButton; private var m_iconButton_2:MutantButton; private var m_iconButton_3:MutantButton; private var m_max:int;// = 4 private var m_iconButton_5:MutantButton; private var m_currentPage:MovieClip; private var m_iconButton_4:MutantButton; private var m_pagesArray:Array; private var m_current:int;// = 0 private var m_stage:Stage; private var m_buttons:mutantButtons; public function Mutants(){ m_ui = new MutantsUI(); addChild(m_ui); m_ui.alpha = 0; m_ui.pageWolverine.alpha = 0; m_ui.pageCyclops.alpha = 0; m_ui.pageBeast.alpha = 0; m_ui.pageShadowcat.alpha = 0; m_ui.pageRogue.alpha = 0; m_stage = StageReference.getStage(); m_pagesArray = [m_ui.pageWolverine, m_ui.pageCyclops, m_ui.pageBeast, m_ui.pageShadowcat, m_ui.pageRogue]; center(); changePage(m_pagesArray[m_current]); m_buttons = new mutantButtons(); m_stage.addChild(m_buttons); m_buttons.alpha = 0; m_buttons.x = 370; m_buttons.y = 175; m_buttons.prev.alpha = 0; m_buttons.prev.mouseEnabled = false; m_buttons.prev.mouseChildren = false; TweenMax.to(m_buttons, 0.25, {delay:0.25, alpha:1}); m_buttons.prev.addEventListener(MouseEvent.CLICK, handlePrev); m_buttons.next.addEventListener(MouseEvent.CLICK, handleNext); m_iconButton_1 = new MutantButton(m_buttons.iconWolverine, 0, ""); m_iconButton_2 = new MutantButton(m_buttons.iconCyclops, 1, ""); m_iconButton_3 = new MutantButton(m_buttons.iconBeast, 2, ""); m_iconButton_4 = new MutantButton(m_buttons.iconShadowcat, 3, ""); m_iconButton_5 = new MutantButton(m_buttons.iconRogue, 4, ""); GameBroadcaster.addEventListener(MutantButton.CLICKED, handleIconClick); } override public function destroy():void{ m_iconButton_1 = null; m_iconButton_2 = null; m_iconButton_3 = null; m_iconButton_4 = null; m_iconButton_5 = null; m_buttons.prev.removeEventListener(MouseEvent.CLICK, handlePrev); m_buttons.next.removeEventListener(MouseEvent.CLICK, handleNext); m_stage.removeChild(m_buttons); m_stage = null; m_buttons = null; super.destroy(); } private function handleNext(_arg1:MouseEvent):void{ if (m_current < m_max){ TweenMax.to(m_buttons.prev, 0.25, {alpha:1}); m_buttons.prev.mouseEnabled = true; m_buttons.prev.mouseChildren = true; m_current++; changePage(m_pagesArray[m_current]); GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_machete_normal_02", 0.3, 1)); if (m_current == m_max){ TweenMax.to(m_buttons.next, 0.25, {alpha:0}); m_buttons.next.mouseEnabled = false; m_buttons.next.mouseChildren = false; }; }; } private function handleIconClick(_arg1:TriggerEvent):void{ if (_arg1.data != m_current){ GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_machete_normal_02", 0.5, 1)); m_current = _arg1.data; changePage(m_pagesArray[m_current]); TweenMax.to(m_buttons.next, 0.25, {alpha:1}); m_buttons.next.mouseEnabled = true; m_buttons.next.mouseChildren = true; TweenMax.to(m_buttons.prev, 0.25, {alpha:1}); m_buttons.prev.mouseEnabled = true; m_buttons.prev.mouseChildren = true; if (m_current == 0){ TweenMax.to(m_buttons.prev, 0.25, {alpha:0}); m_buttons.prev.mouseEnabled = false; m_buttons.prev.mouseChildren = false; }; if (m_current == m_max){ TweenMax.to(m_buttons.next, 0.25, {alpha:0}); m_buttons.next.mouseEnabled = false; m_buttons.next.mouseChildren = false; }; }; } override public function hide():void{ trace("Hide Buttons Called"); TweenMax.to(m_buttons, 0.25, {alpha:0}); } public function changePage_COMPLETE(_arg1:MovieClip):void{ _arg1.alpha = 0; _arg1.visible = true; TweenMax.to(_arg1, 0.2, {tint:0xFFFFFF}); TweenMax.to(_arg1, 0.25, {alpha:1, delay:0.2}); TweenMax.to(_arg1, 0.25, {delay:0.5, removeTint:true}); m_currentPage = _arg1; } public function changePage(_arg1:MovieClip):void{ if (m_currentPage != null){ m_currentPage.visible = false; }; changePage_COMPLETE(_arg1); } private function handlePrev(_arg1:MouseEvent):void{ if (m_current >= 0){ TweenMax.to(m_buttons.next, 0.25, {alpha:1}); m_buttons.next.mouseEnabled = true; m_buttons.next.mouseChildren = true; m_current--; changePage(m_pagesArray[m_current]); GameBroadcaster.dispatchEvent(new SoundEvent(SoundEvent.EFFECT, "assets.sfx_machete_normal_02", 0.3, 1)); if (m_current == 0){ TweenMax.to(m_buttons.prev, 0.25, {alpha:0}); m_buttons.prev.mouseEnabled = false; m_buttons.prev.mouseChildren = false; }; }; } } }//package pages
Section 297
//SubmitScore (pages.SubmitScore) package pages { import flash.events.*; import console.*; import events.*; import net.*; import gs.*; import flash.text.*; import assets.pages.*; import com.electrotank.util.*; import com.malee.utils.*; import com.malee.net.*; public class SubmitScore extends BasePage { private var _loader:URLDataLoader; private static const DEFAULT_NAME:String = "ENTER NAME"; public function SubmitScore(){ initialize(); initializeComponent(); } override public function transitionOut():void{ TweenMax.to(m_ui, 0.5, {alpha:0, onComplete:onTransitionOut}); } private function checkName(_arg1:String):Boolean{ var _local2 = (_arg1.length > 0); var _local3 = (FormUtil.isBadLanguage(_arg1, FormUtil.BAD_ALL) == false); var _local4 = !((_arg1 == DEFAULT_NAME)); if (((((_local2) && (_local3))) && (_local4))){ return (true); }; return (false); } private function onScoreSent(_arg1:Event):void{ m_ui.gotoAndPlay("success"); } private function onOpenLogin(_arg1:LoginEvent):void{ var _local2:MarvelLogin = new MarvelLogin(); addChild(_local2); _local2.transitionIn(); _local2.addEventListener(LoginEvent.LOGIN_CANCEL, onLoginEnd); _local2.addEventListener(LoginEvent.LOGIN_SUCCESS, onLoginEnd); m_ui.mouseEnabled = (m_ui.mouseChildren = false); } override public function transitionIn():void{ TweenMax.to(m_ui, 0.5, {alpha:1}); } private function onSendScore(_arg1:UIEvent):void{ _loader.sendData("http://stats.soap.com.au/highscore/engine_mofo.php"); } private function onSubmitSuccess(_arg1:UIEvent):void{ transitionOut(); dispatchEvent(_arg1); } private function initializeComponent():void{ if (User.getInstance().loggedIn == false){ m_ui.gotoAndPlay("formSmall"); } else { m_ui.gotoAndPlay("form"); }; } private function onTransitionOut():void{ destroy(); } private function onShowForm(_arg1:UIEvent):void{ m_ui.score.text = TextUtil.formatScoreComma(MemoryCrypto.getValue("score")); if (User.getInstance().loggedIn == true){ if (User.getInstance().enableLogin == true){ m_ui.nameField.type = TextFieldType.DYNAMIC; m_ui.nameField.text = User.getInstance().username.toUpperCase(); m_ui.nameField.selectable = false; } else { m_ui.nameField.type = TextFieldType.INPUT; m_ui.nameField.text = DEFAULT_NAME; m_ui.nameField.selectable = true; }; }; } private function initialize():void{ m_ui = new SubmitScoreUI(); addChild(m_ui); m_ui.alpha = 0; m_ui.addEventListener(UIEvent.SUBMIT_SCORE_FORM, onShowForm); m_ui.addEventListener(UIEvent.SUBMIT_SCORE, onSubmitScore); m_ui.addEventListener(UIEvent.SEND_SCORE, onSendScore); m_ui.addEventListener(UIEvent.SUBMIT_SCORE_SUCCESS, onSubmitSuccess); m_ui.addEventListener(UIEvent.SUBMIT_SCORE_AGAIN, onSubmitAgain); m_ui.addEventListener(UIEvent.CLOSE, onCloseForm); m_ui.addEventListener(LoginEvent.OPEN_LOGIN, onOpenLogin); _loader = new URLDataLoader(); _loader.addEventListener(Event.COMPLETE, onScoreSent, false, 0, true); _loader.addEventListener(IOErrorEvent.IO_ERROR, onScoreSendError, false, 0, true); _loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onScoreSendError, false, 0, true); center(); } private function onLoginEnd(_arg1:LoginEvent):void{ initializeComponent(); m_ui.mouseEnabled = (m_ui.mouseChildren = true); } private function onScoreSendError(_arg1:ErrorEvent):void{ trace("score send error", _arg1.text); m_ui.gotoAndPlay("error"); } private function onSubmitAgain(_arg1:UIEvent):void{ m_ui.gotoAndPlay("submit"); } private function onSubmitScore(_arg1:UIEvent):void{ var _local2:String; if (User.getInstance().enableLogin == true){ _local2 = User.getInstance().username; } else { _local2 = m_ui.nameField.text.toUpperCase(); if (checkName(_local2) == false){ return; }; }; var _local3:int = (Math.random() * 100000); var _local4:int = (Math.random() * 100000); var _local5 = (((_local3 + "noemail@www") + _local4) + ".com"); trace(("SUBMIT SCORE : " + MemoryCrypto.getValue("score"))); Console.GoogleAnalytics.trackEvent("MRD_Escape", "submit score", "submitted", Number(MemoryCrypto.getValue("score"))); _loader.clearVariables(); _loader.addVariable("intGameId", 34); _loader.addVariable("intScore", MemoryCrypto.getValue("score")); _loader.addVariable("strName", _local2); _loader.addVariable("strEmail", _local5); _loader.addVariable("strMisc1", User.getInstance().countryID); _loader.addVariable("strMisc4", User.getInstance().userID); m_ui.gotoAndPlay("submit"); } override public function destroy():void{ dispatchEvent(new UIEvent(UIEvent.CLOSE)); super.destroy(); } private function onCloseForm(_arg1:UIEvent):void{ transitionOut(); } } }//package pages
Section 298
//Title (pages.Title) package pages { import flash.events.*; import com.malee.loaders.*; import assets.pages.*; public class Title extends BasePage { private var _sponsorLoaded:Boolean; private var _requestPlay:Boolean; private var _sponsorLogo:AssetLoader; public function Title(){ m_ui = new TitleUI(); addChild(m_ui); m_ui.alpha = 0; m_ui.stop(); m_ui.x = 10; m_ui.y = 66; _sponsorLoaded = false; _requestPlay = false; _sponsorLogo = new AssetLoader(); _sponsorLogo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSponsorError, false, 0, true); _sponsorLogo.addEventListener(IOErrorEvent.IO_ERROR, onSponsorError, false, 0, true); _sponsorLogo.addEventListener(Event.COMPLETE, onSponsorLoaded, false, 0, true); _sponsorLogo.loadData((Main.SPONSOR_URL + "sponsor.swf")); trace("Loading ", (Main.SPONSOR_URL + "sponsor.swf")); } private function onSponsorLoaded(_arg1:Event):void{ m_ui.sponsor.addChild(_sponsorLogo.content); _sponsorLoaded = true; if (_requestPlay == true){ m_ui.gotoAndPlay("intro"); }; } private function onSponsorError(_arg1:ErrorEvent):void{ _sponsorLoaded = true; if (_requestPlay == true){ m_ui.gotoAndPlay("intro"); }; } public function playIntro():void{ _requestPlay = true; if (_sponsorLoaded == true){ m_ui.gotoAndPlay("intro"); }; } } }//package pages
Section 299
//AbstractPreloader (preloader.AbstractPreloader) package preloader { import flash.events.*; import flash.display.*; import flash.utils.*; public class AbstractPreloader extends MovieClip { private var USE_EXTERNAL:Boolean;// = true private var m_loadTime:int; protected var VALID_URL:Array; private var m_firstEnterFrame:Boolean; public function AbstractPreloader(){ addEventListener(Event.ADDED_TO_STAGE, handleOnAddedToStage); stop(); } protected function endLoading():void{ } public function start():void{ trace("start"); m_firstEnterFrame = true; addEventListener(Event.ENTER_FRAME, onEnterFrame); } protected function updateLoading(_arg1:Number):void{ } private function handleOnAddedToStage(_arg1:Event):void{ stage.scaleMode = StageScaleMode.EXACT_FIT; stage.align = StageAlign.TOP_LEFT; m_loadTime = getTimer(); } protected function run():void{ var _local4:Class; var _local5:DisplayObject; var _local1:String = root.loaderInfo.url; var _local2:Boolean; var _local3:int; while (_local3 < VALID_URL.length) { if (_local1.indexOf(VALID_URL[_local3]) != -1){ _local2 = true; break; }; _local3++; }; if (_local2){ _local4 = (getDefinitionByName(mainClassName) as Class); if (_local4 == null){ throw (new Error("AbstractPreloader:initialize. There was no class matching that name. Did you remember to override mainClassName?")); }; _local5 = (new (_local4) as DisplayObject); if (_local5 == null){ throw (new Error("AbstractPreloader:initialize. Main class needs to inherit from Sprite or MovieClip.")); }; _local4.loadTime = int(((getTimer() - m_loadTime) / 1000)); if (((!((_local1.indexOf("mofo") == -1))) || (!((_local1.indexOf("file") == -1))))){ _local4.SPONSOR_URL = "http://littlemofo.soap.com.au/marvel/mrdescape/"; } else { _local4.SPONSOR_URL = "http://marvelkids.com/games/Wolverine_MRD_Escape/"; }; addChildAt(_local5, 0); }; } private function onEnterFrame(_arg1:Event):void{ var _local2:Number; if (m_firstEnterFrame){ m_firstEnterFrame = false; if (root.loaderInfo.bytesLoaded >= root.loaderInfo.bytesTotal){ removeEventListener(Event.ENTER_FRAME, onEnterFrame); nextFrame(); run(); } else { beginLoading(); }; return; }; if (root.loaderInfo.bytesLoaded >= root.loaderInfo.bytesTotal){ removeEventListener(Event.ENTER_FRAME, onEnterFrame); nextFrame(); run(); endLoading(); } else { _local2 = (root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal); updateLoading(_local2); }; } protected function beginLoading():void{ } protected function get mainClassName():String{ return ("Main"); } } }//package preloader
Section 300
//AbstractPreloaderView (preloader.AbstractPreloaderView) package preloader { import flash.events.*; import com.malee.events.*; import flash.display.*; import assets.*; import com.malee.soap.*; import game.levels.*; import com.malee.loaders.*; public class AbstractPreloaderView extends AbstractPreloader { private var m_ui:Preloader; private var m_menu:SoapMenu; private var m_embedded:Boolean;// = true public function AbstractPreloaderView(){ trace("AbstractPreloaderView"); stop(); VALID_URL = ["lilmofo", "", "http://127.0.0.1", "", "", "file://"]; m_ui = new Preloader(); m_ui.x = 365; m_ui.y = 236; addChild(m_ui); m_menu = new SoapMenu(this); m_menu.addItem("v 1.0"); super.start(); } override protected function endLoading():void{ } private function onDataComplete(_arg1:Event=null):void{ super.start(); } private function onLevelLoaded(_arg1:LoaderEvent):void{ var _local2:XMLLoader = (_arg1.item as XMLLoader); var _local3:LevelXML = new LevelXML(_local2.url, _local2.xml); } override protected function beginLoading():void{ trace("begin Loading"); } override protected function run():void{ removeChild(m_ui); m_ui = null; super.run(); } override protected function updateLoading(_arg1:Number):void{ var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local2:int = (104 / 2); var _local3:Number = (_arg1 * (Math.PI * 2)); var _local4:int = (1 + ((_local3 / Math.PI) * 30)); m_ui.bar.graphics.clear(); m_ui.bar.graphics.lineStyle(6, 0xFF0000, 1, false, "normal", CapsStyle.SQUARE); m_ui.bar.graphics.moveTo(0, -(_local2)); var _local5:int; while (_local5 <= _local4) { _local6 = ((_local5 / _local4) * _local3); _local7 = (_local6 - (Math.PI / 2)); _local8 = (Math.cos(_local7) * _local2); _local9 = (Math.sin(_local7) * _local2); m_ui.bar.graphics.lineTo(_local8, _local9); _local5++; }; } private function onAllLevelsLoaded(_arg1:Event):void{ onDataComplete(); } } }//package preloader
Section 301
//Constants (Constants) package { import flash.net.*; public class Constants { public static const FLOOR_THICKNESS:int = 19; public static const STAGE_WIDTH:int = 730; public static const FRAME_RATE:int = 31; public static const STAGE_HEIGHT:int = 472; public static const TILE_SIZE:int = 118; public static const BOUNDS:Boolean = false; public static var URL_XMEN:URLRequest = new URLRequest("http://marvelkids.marvel.com/shows/Wolverine_and_the_X-Men?utm_source=games&utm_medium=link_marvelkids&utm_content=MRDEscape&utm_campaign=MarvelGames2009"); public static var POINTS_ALARM:int = -500; public static var URL_MARVELKIDS:URLRequest = new URLRequest("http://marvelkids.marvel.com/?utm_source=games&utm_medium=link_marvelkids&utm_content=MRDEscape&utm_campaign=MarvelGames2009"); public static var VOLUME_MUSIC:Number = 1; public static var POINTS_TIME:int = 1; public static var GOOGLE:String = "UA-273913-11"; public static var URL_MOREGAMES:URLRequest = new URLRequest("http://marvelkids.marvel.com/games/?utm_source=games&utm_medium=link_moregames&utm_content=MRDEscape&utm_campaign=MarvelGames2009"); } }//package
Section 302
//EmbeddedData (EmbeddedData) package { import flash.events.*; import game.levels.*; public class EmbeddedData { private var m_levelsXML:XML; private static var _levels:Array = []; public function EmbeddedData(){ m_levelsXML = <levels> <level> <name>The Escape (Tutorial)</name> <description>Level 1: Learn how to escape. Use the space bar to access the info panels.</description> <start x="1" y="2"/> <time>5000</time> <map tileSize="118"> <background tileset="assets.tilesBackground" blank="19"> <data>20,16,16,16,1,1,1,16,16,16,16,16,21</data> <data>20,1,1,1,3,12,3,1,1,1,1,16,21</data> <data>20,2,2,2,13,16,8,13,2,2,8,16,21</data> <data>20,16,16,16,16,16,16,16,16,16,16,16,21</data> </background> <foreground tileset="assets.tilesForeground" blank="1"> <data>1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,3,1,1,1,1,1,1,1</data> <data>1,1,3,3,1,1,1,3,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1</data> </foreground> <collision> <data>1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,3,2,3,1,1,1,1,1,1</data> <data>1,2,2,2,2,1,2,2,2,2,2,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1</data> </collision> </map> <doors> <door asset="assets.DoorSingleSteelUI" x="1" y="2" id="0" goto="0" locked="true" range="25"/> <door asset="assets.DoorSingleSteelExitUI" x="10" y="2" id="1" goto="-1" locked="false" range="25"/> </doors> <switches/> <lasers> <laser asset="assets.LaserBigUI" x="8" y="2" id="0" isOn="true" range="20" time="1000" move="0" rate="0"/> </lasers> <sensors/> <cameras/> <guards/> <keypads> <keypad asset="assets.TerminalUI" x="6" y="1" id="0" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="250"><![CDATA[Wolverine can jump down through dark platforms. Press the down key to drop down to the platform below.<BR>Use space to close panels.]]></keypad> <keypad asset="assets.TerminalUI" x="4" y="2" id="1" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="250"><![CDATA[Wolverine can jump up through dark platforms. Press the up key to jump to the platform above.]]></keypad> <keypad asset="assets.TerminalUI" x="7" y="2" id="2" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="500"><![CDATA[Along the way, Wolverine will encounter obstacles. Wait until the laser is disabled and run through.]]></keypad> <keypad asset="assets.TerminalUI" x="9" y="2" id="2" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="500"><![CDATA[Doors with a green light are unlocked. Tap SPACE to enter unlocked doors.]]></keypad> </keypads> <mutants> <!-- <mutant asset="assets.CharacterMagnetoUI" x="1" y="1" id="0" goto="0" cutscene="assets.VideoUnlockSequence"/> --> </mutants> </level> <level> <name>Using Skills (Tutorial)</name> <description>Level 2: Use Wolverine’s skills to finish the level.</description> <start x="8" y="1"/> <time>20000</time> <map tileSize="118"> <background tileset="assets.tilesBackground" blank="19"> <data>20,1,1,1,1,16,16,1,1,1,21</data> <data>20,3,2,2,2,4,4,2,2,2,21</data> <data>20,8,3,1,1,1,1,1,1,1,21</data> <data>20,16,2,2,2,2,8,2,2,3,21</data> <data>20,16,16,16,16,16,2,2,2,10,21</data> <data>20,16,16,16,16,16,16,16,16,16,21</data> </background> <foreground tileset="assets.tilesForeground" blank="1"> <data>1,1,1,1,1,1,1,1,1,1,4</data> <data>1,1,1,3,2,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,2,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1</data> </foreground> <collision> <data>1,1,1,1,1,1,1,1,1,1,1</data> <data>1,3,2,2,2,4,4,2,2,2,1</data> <data>1,2,3,1,1,1,1,1,1,1,1</data> <data>1,1,2,2,2,2,2,2,2,3,1</data> <data>1,1,1,1,1,1,2,2,2,2,1</data> <data>1,1,1,1,1,1,1,1,1,1,1</data> </collision> </map> <doors> <door asset="assets.DoorSingleSteelUI" x="8" y="1" id="0" goto="0" locked="true" range="25"/> <door asset="assets.DoorSingleSteelExitUI" x="6" y="4" id="1" goto="-1" locked="true" range="25"/> </doors> <switches> <switch asset="assets.SwitchUI" x="7" y="4" id="0" goto="1" type="door" isOn="false" range="15" canToggle="true"/> </switches> <lasers> <laser asset="assets.LaserBigUI" x="2" y="1" id="0" isOn="true" range="20" time="2000" move="0" rate="0"/> </lasers> <sensors> <sensor asset="assets.SensorBottomUI" x="4" y="3" id="0" isOn="true" range="50" time="0" attach="bottom"/> <sensor asset="assets.SensorBottomUI" x="5" y="3" id="1" isOn="true" range="50" time="0" attach="bottom"/> <sensor asset="assets.SensorTopUI" x="8" y="3" id="2" isOn="true" range="50" time="0" attach="top"/> <sensor asset="assets.SensorTopUI" x="9" y="3" id="3" isOn="true" range="50" time="0" attach="top"/> </sensors> <cameras/> <guards/> <keypads> <keypad asset="assets.TerminalUI" x="7" y="1" id="0" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="200"><![CDATA[Wolverine can crouch and crawl. Press the down key while moving to crawl through the small space to the left.]]></keypad> <keypad asset="assets.TerminalUI" x="3" y="3" id="1" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="200"><![CDATA[Wolverine can use his claws to attach himself to a solid ceiling. Press the up key to perform the move and move past the floor sensors.]]></keypad> <keypad asset="assets.TerminalUI" x="7" y="3" id="2" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="200"><![CDATA[Some sensors will be attached to the ceiling, preventing Wolverine from using his claws.]]></keypad> <keypad asset="assets.TerminalUI" x="8" y="4" id="3" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="500"><![CDATA[Wolverine can use switches to control different sorts of objects in the game. Press the space bar to flick switches.]]></keypad> </keypads> <mutants> <!-- <mutant asset="assets.CharacterMagnetoUI" x="1" y="1" id="0" goto="0" cutscene="assets.VideoUnlockSequence"/> --> </mutants> </level> <level> <name>Be the Shadows (Tutorial)</name> <description>Level 3: Disable the security systems to finish the level.</description> <start x="9" y="4"/> <time>20000</time> <map tileSize="118"> <background tileset="assets.tilesBackground" blank="19"> <data>20,1,1,1,1,16,16,16,16,16,16,16,16,16,16,21</data> <data>20,2,2,2,3,16,16,16,16,16,16,16,16,16,16,21</data> <data>20,16,16,16,3,16,16,16,16,16,16,16,16,16,16,21</data> <data>20,16,16,16,3,1,1,16,16,16,16,16,16,16,16,21</data> <data>20,1,1,15,8,2,2,7,2,2,16,16,16,16,16,21</data> <data>20,13,13,13,13,13,13,9,17,16,16,16,16,16,16,21</data> <data>20,16,16,16,16,16,16,16,17,1,1,1,1,1,16,21</data> <data>20,16,16,16,16,16,16,16,13,2,13,13,2,17,16,21</data> <data>20,16,16,16,16,16,16,16,13,13,11,13,13,13,16,21</data> <data>20,16,16,16,16,16,16,16,16,13,2,13,13,13,16,21</data> <data>20,16,16,16,16,16,16,16,16,16,16,16,16,16,16,21</data> </background> <foreground tileset="assets.tilesForeground" blank="1"> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4</data> <data>1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,2,1,1,3,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> </foreground> <collision> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,2,2,2,3,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,2,2,2,2,2,2,1,1,1,1,1,1</data> <data>1,2,2,2,2,2,2,2,3,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,2,2,2,2,2,3,1,1</data> <data>1,1,1,1,1,1,1,1,2,2,2,2,2,2,1,1</data> <data>1,1,1,1,1,1,1,1,1,2,2,2,2,2,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> </collision> </map> <doors> <door asset="assets.DoorSingleSteelUI" x="1" y="1" id="0" goto="2" locked="true" range="25"/> <door asset="assets.DoorSingleSteelUI" x="9" y="4" id="1" goto="0" locked="true" range="25"/> <door asset="assets.DoorSingleSteelUI" x="1" y="5" id="2" goto="0" locked="true" range="25"/> <door asset="assets.DoorSingleSteelUI" x="8" y="8" id="3" goto="4" locked="false" range="25"/> <door asset="assets.DoorSingleSteelUI" x="9" y="9" id="4" goto="3" locked="true" range="25"/> <door asset="assets.DoorDoubleSteelExitUI" x="11" y="9" id="5" goto="-1" locked="true" range="50"/> </doors> <switches> <switch asset="assets.SwitchUI" x="12" y="8" id="0" goto="1" type="camera" isOn="false" range="15" canToggle="true"/> </switches> <lasers> <laser asset="assets.LaserBigUI" x="4" y="5" id="0" isOn="true" range="20" time="0" move="0" rate="0"/> </lasers> <sensors> <sensor asset="assets.SensorBottomUI" x="6" y="4" id="0" isOn="true" range="50" time="0" attach="bottom"/> <sensor asset="assets.SensorBottomUI" x="12" y="9" id="1" isOn="true" range="50" time="0" attach="bottom"/> </sensors> <cameras> <camera asset="assets.CameraRightUI" x="11" y="7" id="0" isOn="true" range="200" time="2000" face="left"/> <camera asset="assets.CameraLeftUI" x="11" y="8" id="1" isOn="true" range="200" time="0" face="right"/> </cameras> <guards/> <keypads> <keypad asset="assets.KeypadUI" x="2" y="1" id="0" goto="0" type="door" isOn="false" range="15" miniGame="MiniGameKeypad" correct="1234" canToggle="false" points="200"><![CDATA[Door access granted.]]></keypad> <keypad asset="assets.TerminalUI" x="3" y="1" id="1" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Security is tight, so you might need to use more advanced methods to advance. To use keypads, press the space bar and enter the code you have found. The code for this door is 1234]]></keypad> <keypad asset="assets.TerminalUI" x="2" y="5" id="2" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Wolverine can cut wires to disable certain security systems. Open the wire panel and cut the red wire to disable the laser.]]></keypad> <keypad asset="assets.WiresUI" x="3" y="5" id="3" goto="0" type="laser" isOn="false" range="15" miniGame="MiniGameWires" correct="red" canToggle="false" points="1000"><![CDATA[Laser shutdown confirmed.]]></keypad> <keypad asset="assets.TerminalUI" x="10" y="7" id="4" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Wolverine must not be detected by any camera. When a camera is flashing red, avoid its vision cone. Wait until the camera is inactive and run past.]]></keypad> <keypad asset="assets.TerminalUI" x="13" y="8" id="5" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Some cameras don't turn off. To disable the camera on the left flick the switch.]]></keypad> <keypad asset="assets.KeypadUI" x="10" y="9" id="6" goto="5" type="door" isOn="false" range="15" miniGame="MiniGameKeypad" correct="4321" canToggle="false" points="1000"><![CDATA[Exit code accepted.]]></keypad> <keypad asset="assets.TerminalUI" x="13" y="9" id="7" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[The code for the keypad is 4321.]]></keypad> </keypads> <mutants> <!--<mutant asset="assets.CharacterMagnetoUI" x="1" y="1" id="0" goto="0" cutscene="assets.VideoUnlockSequence"/>--> </mutants> </level> <!-- LEVEL 4 --> <level> <name>The One-Eyed Man (Tutorial)</name> <description>Level 4: Free Cyclops to finish the level.</description> <start x="11" y="3"/> <time>20000</time> <map tileSize="118"> <background tileset="assets.tilesBackground" blank="19"> <data>20,1,1,1,1,16,16,16,16,16,16,16,16,16,16,21</data> <data>20,18,11,2,13,16,16,16,16,16,16,16,16,16,16,21</data> <data>20,13,8,13,17,16,16,16,16,1,1,1,16,16,16,21</data> <data>20,13,13,13,9,16,16,1,1,18,9,13,16,16,16,21</data> <data>20,1,1,1,1,1,1,13,13,13,2,10,1,1,1,21</data> <data>20,10,2,13,13,2,24,12,13,2,12,12,4,4,7,21</data> <data>20,16,16,16,16,16,16,16,16,16,16,16,16,16,16,21</data> </background> <foreground tileset="assets.tilesForeground" blank="1"> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1</data> <data>1,1,1,1,2,1,1,1,1,3,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> </foreground> <collision> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,3,2,2,2,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,2,2,2,3,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,2,2,2,2,1,1,1,1,3,2,2,1,1,1,1</data> <data>1,1,1,1,1,1,1,2,2,2,2,2,1,1,1,1</data> <data>1,2,2,2,2,2,2,2,2,2,2,2,4,4,2,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> </collision> </map> <doors> <door asset="assets.DoorSingleSteelUI" x="4" y="1" id="0" goto="3" locked="true" range="25"/> <door asset="assets.DoorSingleSteelUI" x="1" y="3" id="1" goto="4" locked="false" range="25"/> <door asset="assets.DoorDoubleSteelUI" x="11" y="3" id="2" goto="0" locked="true" range="50"/> <door asset="assets.DoorSingleSteelUI" x="7" y="4" id="3" goto="0" locked="false" range="25"/> <door asset="assets.DoorSingleSteelUI" x="3" y="5" id="4" goto="1" locked="true" range="25"/> <door asset="assets.DoorSingleSteelExitUI" x="8" y="5" id="5" goto="-1" locked="true" range="25"/> </doors> <switches/> <lasers> <laser asset="assets.LaserBigUI" x="2" y="5" id="0" isOn="true" range="20" time="2000" move="0" rate="0"/> </lasers> <sensors> <sensor asset="assets.SensorBottomUI" x="12" y="5" id="0" isOn="true" range="50" time="4500" attach="bottom"/> <sensor asset="assets.SensorBottomUI" x="13" y="5" id="1" isOn="true" range="50" time="4500" attach="bottom"/> </sensors> <cameras> <camera asset="assets.CameraRightUI" x="11" y="5" id="0" isOn="true" range="200" time="0" face="left"/> </cameras> <guards> <guard asset="assets.RobotUI" x="2" y="3" id="0" range="60" move="100" rate="0.03" type="robot" points="1000"/> <guard asset="assets.Robot2UI" x="3" y="3" id="1" range="60" move="100" rate="0.01" type="robot" points="2000"/> <guard asset="assets.RobotUI" x="9" y="4" id="2" range="60" move="240" rate="0.02" type="robot" points="2000"/> </guards> <keypads> <keypad asset="assets.TerminalUI" x="3" y="2" id="0" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Wolverine can hold himself up when attached to the ceiling to avoid being seen. Try getting past the robots below without being seen.]]></keypad> <keypad asset="assets.TerminalUI" x="9" y="3" id="1" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Robots also patrol these areas. Robots can be destroyed by pressing the space bar. A robot cannot see behind itself. If a robot spots you, you’ll have a brief time to escape sight or to destroy it.]]></keypad> <keypad asset="assets.TerminalUI" x="1" y="5" id="2" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Cut the green wire to disable the camera.]]></keypad> <keypad asset="assets.KeypadUI" x="5" y="5" id="3" goto="0" type="mutant" isOn="false" range="15" miniGame="MiniGameKeypad" correct="1324" canToggle="false" points="2500"><![CDATA[Prisoner cell unlocked.]]></keypad> <keypad asset="assets.WiresUI" x="7" y="5" id="4" goto="0" type="camera" isOn="false" range="15" miniGame="MiniGameWires" correct="green" canToggle="false" points="2500"><![CDATA[Tunnel security camera disabled.]]></keypad> <keypad asset="assets.TerminalUI" x="14" y="5" id="5" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[If you encounter any mutants along the way you must try and free them. To save this mutant, enter 1324 into the keypad.]]></keypad> </keypads> <mutants> <mutant asset="assets.Mutant1" x="6" y="5" id="0" goto="5" cutscene="assets.VideoUnlockSequence"/> </mutants> </level> <!-- LEVEL 5 --> <level> <name>The Beast Within</name> <description>Level 5: Beast is trapped somewhere on this level. You must free him to exit.</description> <!-- 1,4 --> <start x="1" y="4"/> <time>100000</time> <map tileSize="118"> <background tileset="assets.tilesBackground" blank="19"> <data>40,40,40,40,40,40,40,40,40,40,40,40,40,40,40</data> <data>40,34,25,34,25,34,27,26,49,34,34,34,40,40,40</data> <data>40,32,27,32,30,27,26,36,34,27,26,34,40,40,40</data> <data>40,34,46,47,48,33,27,33,33,33,52,34,40,40,40</data> <data>40,26,35,36,26,35,27,34,34,25,34,34,40,25,40</data> <data>40,34,25,34,25,34,26,28,28,28,28,28,35,35,40</data> <data>40,40,40,40,40,40,40,40,40,40,40,40,40,40,40</data> </background> <foreground tileset="assets.tilesForeground" blank="1"> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,7,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,6,1,1,1,1,1,1,1</data> <data>1,1,7,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> </foreground> <collision> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,3,2,2,1,1,1,1,1,1</data> <data>1,2,3,2,6,3,2,2,1,3,2,1,1,1,1</data> <data>1,1,2,2,2,2,3,2,2,2,1,1,1,1,1</data> <data>1,2,2,2,2,2,3,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,2,4,4,4,4,4,2,2,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> </collision> </map> <doors> <door asset="assets.DoorDoubleFutureUI" x="1" y="4" id="0" goto="0" locked="true" range="25"/> <door asset="assets.DoorDoubleFutureExitUI" x="6" y="5" id="1" goto="-1" locked="true" range="25"/> </doors> <switches> <switch asset="assets.SwitchFutureUI" x="13" y="5" id="0" goto="0" type="mutant" isOn="false" range="15" canToggle="false"></switch> </switches> <lasers> <laser asset="assets.LaserFutureUI" x="3" y="3" id="0" isOn="true" range="20" time="2000" move="0" rate="0"/> </lasers> <sensors> <sensor asset="assets.SensorBottomUI" x="2" y="2" id="0" isOn="true" range="50" time="2000" attach="bottom"/> <sensor asset="assets.SensorBottomUI" x="8" y="5" id="1" isOn="true" range="50" time="0" attach="bottom"/> <sensor asset="assets.SensorBottomUI" x="10" y="5" id="2" isOn="true" range="50" time="0" attach="bottom"/> </sensors> <cameras> <camera asset="assets.CameraRightUI" x="5" y="2" id="0" isOn="true" range="200" time="3000" face="left"/> <camera asset="assets.CameraRightUI" x="5" y="4" id="2" isOn="true" range="200" time="3000" face="left"/> </cameras> <guards> <guard asset="assets.Robot2UI" x="6" y="2" id="0" range="60" move="80" rate="0.01" type="robot" points="2000"/> <guard asset="assets.RobotUI" x="8" y="3" id="1" range="60" move="80" rate="0.01" type="robot" points="2000"/> <guard asset="assets.Robot2UI" x="4" y="4" id="2" range="60" move="200" rate="0.01" type="robot" points="2000"/> </guards> <keypads> <keypad asset="assets.TerminalFutureUI" x="6" y="1" id="0" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Terminal access code: 5731]]></keypad> <keypad asset="assets.TerminalFutureUI" x="1" y="2" id="1" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Sentinel-prototype live test commencing in three days.]]></keypad> <keypad asset="assets.KeypadFutureUI" x="3" y="2" id="2" goto="2" type="sensor" isOn="false" range="15" miniGame="MiniGameKeypad" correct="5731" canToggle="false" points="0"><![CDATA[Tunnel sensor 2 disabled.]]></keypad> <keypad asset="assets.TerminalFutureUI" x="10" y="2" id="3" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Maintenance: Blue wire on level 2 is faulty.]]></keypad> <keypad asset="assets.WiresUI" x="5" y="3" id="4" goto="1" type="sensor" isOn="false" range="15" miniGame="MiniGameWires" correct="blue" canToggle="false" points="0"><![CDATA[Tunnel sensor 1 disabled.]]></keypad> </keypads> <mutants> <mutant asset="assets.Mutant2" x="12" y="5" id="0" goto="1" cutscene="assets.VideoUnlockSequence"/> </mutants> </level> <!-- LEVEL 6 --> <level> <name>Laser Test Zone</name> <description>Level 6: Get out any way you can.</description> <!--17 3--> <start x="17" y="3"/> <time>100000</time> <map tileSize="118"> <background tileset="assets.tilesBackground" blank="19"> <data>25,25,40,40,40,40,40,40,40,40,40,40,40,40,25,25,25,25,25,25,40</data> <data>40,32,32,32,32,33,36,33,36,33,36,33,36,33,36,33,31,31,35,25,40</data> <data>25,26,36,27,40,25,40,26,31,40,40,40,34,34,40,40,40,40,25,25,40</data> <data>25,40,25,27,40,40,40,25,25,40,25,40,40,40,40,26,32,26,40,40,40</data> <data>40,40,34,26,49,50,50,51,26,30,35,27,34,34,34,40,40,40,34,34,34</data> <data>40,40,25,25,52,34,25,34,52,25,25,46,47,48,33,33,49,50,51,35,34</data> <data>40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,34,34,34</data> </background> <foreground tileset="assets.tilesForeground" blank="1"> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,7,1,1,1,1,1,1,1,1,1,7,1,6,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,7,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> </foreground> <collision> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1</data> <data>1,2,2,3,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,2,2,2,1,1,1</data> <data>1,1,1,2,2,2,2,2,2,6,2,3,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> </collision> </map> <doors> <door asset="assets.DoorDoubleFutureUI" x="2" y="1" id="0" goto="7" locked="true" range="50"/> <door asset="assets.DoorDoubleFutureUI" x="9" y="1" id="1" goto="0" locked="true" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="1" y="2" id="2" goto="3" locked="false" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="7" y="2" id="3" goto="2" locked="false" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="15" y="3" id="4" goto="10" locked="false" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="17" y="3" id="5" goto="0" locked="true" range="50"/> <door asset="assets.DoorDoubleFutureUI" x="3" y="4" id="6" goto="8" locked="true" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="8" y="4" id="7" goto="0" locked="true" range="50"/> <door asset="assets.DoorDoubleFutureUI" x="10" y="4" id="8" goto="0" locked="true" range="25"/> <door asset="assets.DoorDoubleFutureExitUI" x="19" y="5" id="9" goto="-1" locked="false" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="18" y="1" id="10" goto="4" locked="false" range="25"/> </doors> <switches> <switch asset="assets.SwitchFutureUI" x="4" y="1" id="0" goto="0" type="door" isOn="false" range="15" canToggle="false"/> </switches> <lasers> <laser asset="assets.LaserFutureUI" x="3" y="1" id="0" isOn="true" range="20" time="2000" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="5" y="1" id="1" isOn="true" range="20" time="2000" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="10" y="1" id="2" isOn="true" range="20" time="2000" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="12" y="1" id="3" isOn="true" range="20" time="4000" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="12" y="5" id="4" isOn="true" range="20" time="1000" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="13" y="5" id="5" isOn="true" range="20" time="1100" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="14" y="5" id="6" isOn="true" range="20" time="1200" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="15" y="5" id="7" isOn="true" range="20" time="1300" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="16" y="5" id="8" isOn="true" range="20" time="1200" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="17" y="5" id="9" isOn="true" range="20" time="1100" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="18" y="5" id="10" isOn="true" range="20" time="1000" move="0" rate="0"/> </lasers> <sensors> <sensor asset="assets.SensorBottomUI" x="6" y="1" id="0" isOn="true" range="50" time="1500" attach="bottom"/> <sensor asset="assets.SensorTopUI" x="7" y="1" id="1" isOn="true" range="50" time="1500" attach="top"/> <sensor asset="assets.SensorBottomUI" x="8" y="1" id="2" isOn="true" range="50" time="0" attach="bottom"/> <sensor asset="assets.SensorBottomUI" x="11" y="1" id="3" isOn="true" range="50" time="0" attach="bottom"/> <sensor asset="assets.SensorBottomUI" x="13" y="1" id="4" isOn="true" range="50" time="0" attach="bottom"/> <sensor asset="assets.SensorBottomUI" x="14" y="1" id="5" isOn="true" range="50" time="0" attach="bottom"/> <sensor asset="assets.SensorBottomUI" x="16" y="1" id="6" isOn="true" range="50" time="2000" attach="bottom"/> <sensor asset="assets.SensorBottomUI" x="3" y="2" id="7" isOn="true" range="50" time="2000" attach="bottom"/> </sensors> <cameras> <camera asset="assets.CameraLeftUI" x="5" y="4" id="0" isOn="true" range="200" time="3000" face="right"/> </cameras> <guards> <guard asset="assets.RobotUI" x="16" y="3" id="0" range="60" move="80" rate="0.01" type="robot" points="2500"/> <guard asset="assets.RobotUI" x="6" y="4" id="1" range="60" move="80" rate="0.01" type="robot" points="2500"/> <guard asset="assets.Robot2UI" x="11" y="4" id="2" range="60" move="0" rate="0.01" type="robot" points="2500"/> </guards> <keypads> <keypad asset="assets.TerminalFutureUI" x="15" y="1" id="1" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Use the ceiling!]]></keypad> <keypad asset="assets.TerminalFutureUI" x="8" y="2" id="2" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Sub level access code: 2366]]></keypad> <keypad asset="assets.KeypadFutureUI" x="3" y="3" id="3" goto="6" type="door" isOn="false" range="15" miniGame="MiniGameKeypad" correct="2366" canToggle="false" points="0"><![CDATA[Door access code accepted.]]></keypad> </keypads> <mutants> <!--<mutant asset="assets.CharacterMagnetoUI" x="1" y="1" id="0" goto="0" cutscene="assets.VideoUnlockSequence"/>--> </mutants> </level> <!-- LEVEL 7 --> <level> <name>Trapped</name> <description>Level 7: Escape the maze of doors.</description> <!-- 10, 5 --> <start x="10" y="5"/> <time>100000</time> <map tileSize="118"> <background tileset="assets.tilesBackground" blank="19"> <data>40,40,40,40,40,40,40,40,40,34,34,25,40,40,40,40,40,40,40</data> <data>40,25,25,40,25,34,34,25,34,52,27,25,27,52,25,25,34,34,34</data> <data>25,34,26,35,31,34,35,33,26,35,26,25,26,32,26,26,26,26,34</data> <data>25,26,36,26,34,25,52,40,25,40,40,34,34,34,40,25,26,26,34</data> <data>25,25,52,33,27,33,36,33,35,33,27,32,33,36,32,27,26,25,25</data> <data>40,40,34,34,26,34,34,25,40,25,26,25,40,25,25,26,25,25,40</data> <data>40,40,40,34,34,34,40,40,40,25,25,34,40,40,25,25,25,40,40</data> </background> <foreground tileset="assets.tilesForeground" blank="1"> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,7,1,1,1,7,1,1,1,1,1</data> <data>1,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,6,1,7,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> </foreground> <collision> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,3,1,3,1,1,1,1,1,1</data> <data>1,1,2,2,2,1,2,2,2,2,2,1,2,2,2,2,2,2,1</data> <data>1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1</data> <data>1,1,1,2,3,2,2,2,2,2,3,2,2,2,2,3,2,1,1</data> <data>1,1,1,1,2,1,1,1,1,1,2,1,1,1,1,2,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> </collision> </map> <doors> <door asset="assets.DoorDoubleFutureUI" x="4" y="2" id="0" goto="10" locked="false" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="6" y="2" id="1" goto="3" locked="false" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="7" y="2" id="2" goto="17" locked="true" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="8" y="2" id="3" goto="5" locked="false" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="14" y="2" id="4" goto="14" locked="true" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="15" y="2" id="5" goto="16" locked="false" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="16" y="2" id="6" goto="9" locked="false" range="25"/> <door asset="assets.DoorDoubleFutureExitUI" x="1" y="3" id="7" goto="-1" locked="true" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="3" y="3" id="8" goto="13" locked="true" range="50"/> <door asset="assets.DoorDoubleFutureUI" x="16" y="3" id="9" goto="6" locked="false" range="50"/> <door asset="assets.DoorDoubleFutureUI" x="3" y="4" id="10" goto="0" locked="false" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="4" y="4" id="11" goto="13" locked="false" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="5" y="4" id="12" goto="13" locked="false" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="8" y="4" id="13" goto="8" locked="true" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="12" y="4" id="14" goto="4" locked="true" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="14" y="4" id="15" goto="14" locked="true" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="15" y="4" id="16" goto="5" locked="true" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="16" y="4" id="17" goto="2" locked="true" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="10" y="5" id="18" goto="0" locked="true" range="50"/> </doors> <switches> <switch asset="assets.SwitchFutureUI" x="3" y="2" id="0" goto="7" type="door" isOn="false" range="15" canToggle="false"/> <switch asset="assets.SwitchFutureUI" x="10" y="2" id="1" goto="13" type="door" isOn="false" range="15" canToggle="false"/> <switch asset="assets.SwitchFutureUI" x="12" y="2" id="2" goto="17" type="door" isOn="false" range="15" canToggle="false"/> <switch asset="assets.SwitchFutureUI" x="11" y="4" id="3" goto="14" type="door" isOn="false" range="15" canToggle="false"/> </switches> <lasers> <laser asset="assets.LaserFutureUI" x="9" y="2" id="0" isOn="true" range="20" time="2000" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="13" y="2" id="1" isOn="true" range="20" time="2000" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="6" y="4" id="2" isOn="true" range="20" time="2000" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="13" y="4" id="3" isOn="true" range="20" time="2000" move="0" rate="0"/> </lasers> <sensors/> <cameras/> <guards> <guard asset="assets.RobotUI" x="10" y="4" id="0" range="60" move="80" rate="0.01" type="robot" points="2500"/> </guards> <keypads> <keypad asset="assets.TerminalFutureUI" x="10" y="1" id="0" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Please do not feed the robots.]]></keypad> <keypad asset="assets.TerminalFutureUI" x="12" y="1" id="1" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Maintenance: Standard issue cells cannot hold Magneto.]]></keypad> <keypad asset="assets.TerminalFutureUI" x="2" y="2" id="2" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Administration: Door access is becoming a problem. Productivity down 50%.]]></keypad> <keypad asset="assets.TerminalFutureUI" x="17" y="2" id="3" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Maintenance: Spillage on level 4.]]></keypad> <keypad asset="assets.TerminalFutureUI" x="17" y="3" id="4" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Science Department: Robots are severely lacking intelligence.]]></keypad> <keypad asset="assets.TerminalFutureUI" x="4" y="5" id="5" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Administration: Morale needs significant boost. Suggest addition of plants on certain levels.]]></keypad> <keypad asset="assets.TerminalFutureUI" x="15" y="5" id="6" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Maintenance: Robot on level 1 may not be able to see.]]></keypad> </keypads> <mutants> <!-- <mutant asset="assets.CharacterMagnetoUI" x="1" y="1" id="0" goto="0" cutscene="assets.VideoUnlockSequence"/> --> </mutants> </level> <!-- LEVEL 8 --> <level> <name>Cat’s Shadow</name> <description>Level 8: Escape the ventilation system.</description> <!--15 7--> <start x="15" y="7"/> <time>1000500</time> <map tileSize="118"> <background tileset="assets.tilesBackground" blank="19"> <data>40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40</data> <data>40,27,35,27,40,40,34,34,40,40,40,40,40,40,40,40,40</data> <data>25,27,34,26,26,27,49,34,25,25,40,40,40,40,40,40,40</data> <data>25,27,40,25,25,51,28,36,27,25,27,40,34,25,40,40,40</data> <data>25,27,26,40,40,25,40,34,36,26,26,40,34,27,26,25,40</data> <data>40,27,34,35,26,27,32,34,52,34,33,26,27,33,25,34,34</data> <data>40,35,25,34,31,27,40,34,35,34,34,52,46,47,48,27,34</data> <data>40,40,40,40,25,32,32,26,32,26,26,34,40,34,34,35,40</data> <data>40,40,40,40,40,40,34,25,25,25,40,40,40,40,40,40,40</data> </background> <foreground tileset="assets.tilesForeground" blank="1"> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,6,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1</data> <data>1,1,1,1,7,1,1,1,1,1,1,1,7,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1</data> <data>1,1,1,1,1,1,6,7,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> </foreground> <collision> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,3,2,3,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,3,1,2,2,3,2,1,1,1,1,1,1,1,1,1,1</data> <data>1,3,1,1,1,2,4,2,3,1,3,1,1,1,1,1,1</data> <data>1,3,2,1,1,1,1,1,2,2,2,1,1,3,2,1,1</data> <data>1,3,1,2,2,3,2,1,1,1,2,2,3,2,1,1,1</data> <data>1,2,1,1,2,3,1,1,1,1,1,1,2,2,2,3,1</data> <data>1,1,1,1,1,2,2,2,2,2,2,1,1,1,1,2,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> </collision> </map> <doors> <door asset="assets.DoorDoubleFutureUI" x="8" y="3" id="0" goto="0" locked="true" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="13" y="4" id="1" goto="0" locked="true" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="3" y="5" id="2" goto="0" locked="true" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="1" y="6" id="3" goto="2" locked="false" range="25"/> <door asset="assets.DoorDoubleFutureExitUI" x="9" y="7" id="4" goto="-1" locked="true" range="50"/> <door asset="assets.DoorDoubleFutureUI" x="10" y="3" id="5" goto="6" locked="false" range="50"/> <door asset="assets.DoorDoubleFutureUI" x="3" y="1" id="6" goto="5" locked="true" range="50"/> </doors> <switches> <switch asset="assets.SwitchFutureUI" x="10" y="4" id="0" goto="0" type="sensor" isOn="false" range="15" canToggle="false"/> <switch asset="assets.SwitchFutureUI" x="5" y="5" id="1" goto="3" type="camera" isOn="false" range="15" canToggle="true"/> <switch asset="assets.SwitchFutureUI" x="5" y="6" id="2" goto="2" type="laser" isOn="false" range="15" canToggle="true"/> <switch asset="assets.SwitchFutureUI" x="5" y="7" id="3" goto="5" type="camera" isOn="false" range="15" canToggle="true"/> <switch asset="assets.SwitchFutureUI" x="10" y="7" id="4" goto="0" type="mutant" isOn="false" range="15" canToggle="false"/> </switches> <lasers> <laser asset="assets.LaserFutureUI" x="7" y="3" id="0" isOn="true" range="20" time="800" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="14" y="6" id="1" isOn="true" range="20" time="1000" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="8" y="7" id="2" isOn="true" range="20" time="0" move="0" rate="0"/> </lasers> <sensors> <sensor asset="assets.SensorBottomUI" x="1" y="3" id="0" isOn="true" range="50" time="0" attach="bottom"/> <sensor asset="assets.SensorBottomUI" x="6" y="3" id="1" isOn="true" range="50" time="4000" attach="bottom"/> <sensor asset="assets.SensorTopUI" x="1" y="5" id="2" isOn="true" range="50" time="0" attach="top"/> </sensors> <cameras> <camera asset="assets.CameraRightUI" x="1" y="1" id="0" isOn="true" range="200" time="3000" face="left"/> <camera asset="assets.CameraRightUI" x="9" y="4" id="1" isOn="true" range="200" time="0" face="left"/> <camera asset="assets.CameraLeftUI" x="13" y="5" id="2" isOn="true" range="200" time="3000" face="right"/> <camera asset="assets.CameraLeftUI" x="6" y="5" id="3" isOn="false" range="200" time="0" face="right"/> <camera asset="assets.CameraRightUI" x="4" y="6" id="4" isOn="false" range="200" time="0" face="left"/> <camera asset="assets.CameraLeftUI" x="6" y="7" id="5" isOn="false" range="200" time="0" face="right"/> </cameras> <guards> <guard asset="assets.RobotUI" x="2" y="1" id="0" range="60" move="80" rate="0.01" type="robot" points="2500"/> <guard asset="assets.Robot2UI" x="4" y="2" id="1" range="60" move="80" rate="0.01" type="robot" points="2500"/> <guard asset="assets.Robot2UI" x="5" y="2" id="2" range="60" move="80" rate="0.01" type="robot" points="2500"/> <guard asset="assets.RobotUI" x="12" y="5" id="3" range="60" move="80" rate="0.1" type="robot" points="2500"/> </guards> <keypads> <keypad asset="assets.KeypadFutureUI" x="1" y="2" id="0" goto="1" type="camera" isOn="false" range="15" miniGame="MiniGameKeypad" correct="7511" canToggle="false" points="0"><![CDATA[Switch Camera Disabled.]]></keypad> <keypad asset="assets.TerminalFutureUI" x="3" y="2" id="1" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Camera override code: 7511]]></keypad> <keypad asset="assets.KeypadFutureUI" x="1" y="4" id="2" goto="2" type="sensor" isOn="false" range="15" miniGame="MiniGameKeypad" correct="1157" canToggle="false" points="0"><![CDATA[Manual override accepted.]]></keypad> <keypad asset="assets.TerminalFutureUI" x="2" y="4" id="3" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Maintenance report: Please change basement access code to reverse of camera access code.]]></keypad> <keypad asset="assets.TerminalFutureUI" x="14" y="4" id="4" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Maintenance report: Wires have been cross-patched. Red is blue, and green is red.]]></keypad> <keypad asset="assets.TerminalFutureUI" x="11" y="5" id="5" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Maintenance report: Red wire is faulty on level 2.]]></keypad> <keypad asset="assets.WiresUI" x="12" y="6" id="6" goto="1" type="door" isOn="false" range="15" miniGame="MiniGameWires" correct="blue" canToggle="false" points="0"><![CDATA[Door security disabled.]]></keypad> <keypad asset="assets.TerminalFutureUI" x="7" y="7" id="7" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Maintenance report: Camera 2 is faulty.]]></keypad> </keypads> <mutants> <mutant asset="assets.Mutant3" x="8" y="6" id="0" goto="4" cutscene="assets.VideoUnlockSequence"/> </mutants> </level> <!-- LEVEL 9 --> <level> <name>The Lost Robots</name> <description>Level 9: Send your regards to administration.</description> <!-- 11, 3 --> <start x="11" y="3"/> <time>100000</time> <map tileSize="118"> <background tileset="assets.tilesBackground" blank="19"> <data>25,40,40,40,40,40,52,25,25,25,25,40,40</data> <data>34,27,33,33,33,36,33,36,33,35,25,40,40</data> <data>52,32,36,31,32,31,46,47,48,27,34,52,40</data> <data>34,27,32,32,36,32,32,26,26,31,34,27,25</data> <data>34,26,33,32,33,36,33,26,33,36,33,32,25</data> <data>34,34,34,40,40,25,40,25,40,40,34,34,34</data> </background> <foreground tileset="assets.tilesForeground" blank="1"> <data>1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,1,1,1,7,1,1,6,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,6,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,6,1,1,1,1,1</data> <data>1,7,7,1,1,1,1,6,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1</data> </foreground> <collision> <data>1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,3,2,2,2,2,2,2,2,2,1,1,1</data> <data>1,2,2,2,2,2,2,2,2,3,1,1,1</data> <data>1,3,2,2,2,2,2,2,2,2,1,3,1</data> <data>1,2,2,2,2,2,2,2,2,2,2,2,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1</data> </collision> </map> <doors> <door asset="assets.DoorDoubleFutureExitUI" x="9" y="1" id="0" goto="-1" locked="true" range="25"/> <door asset="assets.DoorDoubleFutureUI" x="11" y="3" id="1" goto="0" locked="true" range="25"/> </doors> <switches/> <lasers> <laser asset="assets.LaserFutureUI" x="2" y="2" id="0" isOn="true" range="20" time="800" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="7" y="2" id="1" isOn="true" range="20" time="800" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="6" y="3" id="2" isOn="true" range="20" time="800" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="9" y="4" id="3" isOn="true" range="20" time="800" move="0" rate="0"/> </lasers> <sensors> <sensor asset="assets.SensorTopUI" x="3" y="1" id="0" isOn="true" range="50" time="900" attach="top"/> <sensor asset="assets.SensorBottomUI" x="4" y="1" id="1" isOn="true" range="50" time="0" attach="bottom"/> <sensor asset="assets.SensorBottomUI" x="6" y="2" id="2" isOn="true" range="50" time="0" attach="bottom"/> <sensor asset="assets.SensorBottomUI" x="5" y="3" id="3" isOn="true" range="50" time="0" attach="bottom"/> <sensor asset="assets.SensorBottomUI" x="3" y="4" id="4" isOn="true" range="50" time="0" attach="bottom"/> <sensor asset="assets.SensorTopUI" x="4" y="4" id="5" isOn="true" range="50" time="900" attach="top"/> </sensors> <cameras/> <guards> <guard asset="assets.Robot2UI" x="2" y="1" id="0" range="60" move="80" rate="0.01" type="robot" points="2500"/> <guard asset="assets.Robot2UI" x="5" y="1" id="1" range="60" move="80" rate="0.01" type="robot" points="2500"/> <guard asset="assets.Robot2UI" x="8" y="1" id="2" range="60" move="80" rate="0.01" type="robot" points="2500"/> <guard asset="assets.RobotUI" x="4" y="2" id="3" range="60" move="80" rate="0.01" type="robot" points="2500"/> <guard asset="assets.Robot2UI" x="8" y="2" id="4" range="60" move="80" rate="0.01" type="robot" points="2500"/> <guard asset="assets.RobotUI" x="4" y="3" id="5" range="60" move="80" rate="0.01" type="robot" points="2500"/> <guard asset="assets.Robot2UI" x="8" y="3" id="6" range="60" move="80" rate="0.01" type="robot" points="2500"/> <guard asset="assets.RobotUI" x="4" y="4" id="7" range="60" move="80" rate="0.01" type="robot" points="2500"/> <guard asset="assets.RobotUI" x="7" y="4" id="8" range="60" move="80" rate="0.01" type="robot" points="2500"/> </guards> <keypads> <keypad asset="assets.KeypadFutureUI" x="3" y="3" id="0" goto="0" type="door" isOn="false" range="15" miniGame="MiniGameKeypad" correct="2449" canToggle="false" points="0"><![CDATA[Administration access granted.]]></keypad> <keypad asset="assets.TerminalFutureUI" x="6" y="4" id="1" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Maintenance: Notify Administration about the status of all robots on all decks. Send code 244 and the amount.]]></keypad> </keypads> <mutants> <!--<mutant asset="assets.CharacterMagnetoUI" x="1" y="1" id="0" goto="0" cutscene="assets.VideoUnlockSequence"/>--> </mutants> </level> <!-- LEVEL 10 --> <level> <name>Going Rogue</name> <description>Level 10: Free Rogue. Escape to the surface.</description> <!-- 13 5 --> <start x="13" y="5"/> <time>200000</time> <map tileSize="118"> <background tileset="assets.tilesBackground" blank="19"> <data>25,25,25,40,40,34,52,40,34,34,34,40,52,34,34</data> <data>34,26,49,51,27,35,46,47,27,26,28,32,36,26,34</data> <data>34,26,28,28,26,29,32,26,26,31,31,26,31,26,34</data> <data>25,27,35,27,52,40,34,26,31,28,26,26,52,40,40</data> <data>52,27,30,26,28,26,36,28,26,34,34,40,34,25,25</data> <data>25,33,36,33,36,33,36,33,28,26,49,50,51,26,25</data> <data>25,25,25,40,40,40,40,34,25,25,25,34,40,34,34</data> </background> <foreground tileset="assets.tilesForeground" blank="1"> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,7,1,1,1,1,1,1,6,1,1,1,1,1,1</data> <data>1,1,1,1,7,1,1,1,6,7,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,6,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,6,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,6,1,1,1,1,1,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> </foreground> <collision> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> <data>1,2,2,2,3,2,2,2,3,2,4,2,2,2,1</data> <data>1,2,4,4,2,5,2,2,2,2,2,2,2,2,1</data> <data>1,3,2,3,1,1,1,2,2,4,2,2,1,1,1</data> <data>1,3,6,2,4,2,2,4,2,1,1,1,1,1,1</data> <data>1,2,2,2,2,2,2,2,4,2,2,2,2,2,1</data> <data>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</data> </collision> </map> <doors> <door asset="assets.DoorDoubleFutureUI" x="1" y="1" id="0" goto="1" locked="false" range="50"/> <door asset="assets.DoorDoubleFutureUI" x="1" y="3" id="1" goto="0" locked="true" range="50"/> <door asset="assets.DoorDoubleFutureUI" x="7" y="3" id="2" goto="4" locked="false" range="50"/> <door asset="assets.DoorDoubleFutureExitUI" x="1" y="4" id="3" goto="-1" locked="true" range="50"/> <!-- LOCK --> <door asset="assets.DoorDoubleFutureUI" x="8" y="4" id="4" goto="2" locked="false" range="50"/> <door asset="assets.DoorDoubleFutureUI" x="13" y="5" id="5" goto="0" locked="true" range="50"/> </doors> <switches> <switch asset="assets.SwitchFutureUI" x="7" y="1" id="0" goto="2" type="sensor" isOn="false" range="15" canToggle="false"/> </switches> <lasers> <laser asset="assets.LaserFutureUI" x="2" y="1" id="0" isOn="true" range="20" time="1000" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="3" y="1" id="1" isOn="true" range="20" time="1000" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="12" y="2" id="2" isOn="true" range="20" time="2000" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="10" y="3" id="3" isOn="true" range="20" time="2000" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="3" y="5" id="4" isOn="true" range="20" time="900" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="5" y="5" id="5" isOn="true" range="20" time="900" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="9" y="5" id="6" isOn="true" range="20" time="2000" move="0" rate="0"/> <laser asset="assets.LaserFutureUI" x="12" y="5" id="7" isOn="true" range="20" time="2000" move="0" rate="0"/> </lasers> <sensors> <sensor asset="assets.SensorTopUI" x="4" y="1" id="0" isOn="true" range="50" time="0" attach="top"/> <sensor asset="assets.SensorBottomUI" x="9" y="1" id="1" isOn="true" range="50" time="2000" attach="bottom"/> <sensor asset="assets.SensorBottomUI" x="10" y="1" id="2" isOn="true" range="50" time="0" attach="bottom"/> <sensor asset="assets.SensorBottomUI" x="8" y="2" id="3" isOn="true" range="50" time="2000" attach="bottom"/> <sensor asset="assets.SensorBottomUI" x="4" y="5" id="4" isOn="true" range="50" time="0" attach="bottom"/> </sensors> <cameras> <camera asset="assets.CameraLeftUI" x="9" y="2" id="0" isOn="true" range="200" time="0" face="right"/> <camera asset="assets.CameraRightUI" x="10" y="2" id="1" isOn="true" range="200" time="3000" face="left"/> <camera asset="assets.CameraLeftUI" x="3" y="3" id="2" isOn="true" range="200" time="3000" face="right"/> <camera asset="assets.CameraRightUI" x="10" y="5" id="3" isOn="true" range="200" time="2000" face="left"/> </cameras> <guards> <guard asset="assets.RobotUI" x="5" y="1" id="0" range="60" move="80" rate="0.01" type="robot" points="2500"/> <guard asset="assets.RobotUI" x="7" y="2" id="1" range="60" move="80" rate="0.01" type="robot" points="2500"/> <guard asset="assets.RobotUI" x="6" y="4" id="2" range="60" move="80" rate="0.01" type="robot" points="2500"/> </guards> <keypads> <keypad asset="assets.WiresUI" x="11" y="1" id="0" goto="0" type="camera" isOn="false" range="15" miniGame="MiniGameWires" correct="green" canToggle="false" points="500"><![CDATA[Prisoner camera security disabled.]]></keypad> <keypad asset="assets.TerminalFutureUI" x="13" y="1" id="1" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Weather Report: Partly cloudy with a chance of rain.]]></keypad> <keypad asset="assets.TerminalFutureUI" x="1" y="2" id="2" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Maintenance: Red and blue wires are working at 150% capacity.]]></keypad> <keypad asset="assets.KeypadUI" x="6" y="2" id="3" goto="0" type="mutant" isOn="false" range="15" miniGame="MiniGameKeypad" correct="9177" canToggle="false" points="1000"><![CDATA[Prisioner cell access code accepted. Level 2 exit door access enabled.]]></keypad> <keypad asset="assets.TerminalFutureUI" x="13" y="2" id="4" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="1000"><![CDATA[Exit access code: 9177]]></keypad> <keypad asset="assets.KeypadFutureUI" x="11" y="3" id="5" goto="1" type="door" isOn="false" range="15" miniGame="MiniGameKeypad" correct="5555" canToggle="false" points="1000"><![CDATA[Western top level access door enabled.]]></keypad> <keypad asset="assets.TerminalFutureUI" x="3" y="4" id="6" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="0"><![CDATA[Mind your head.]]></keypad> <keypad asset="assets.TerminalFutureUI" x="5" y="4" id="7" goto="0" type="null" isOn="false" range="15" miniGame="MiniGameTerminal" canToggle="true" correct="" points="1000"><![CDATA[Top level access code: 5555.]]></keypad> </keypads> <mutants> <mutant asset="assets.Mutant4" x="7" y="2" id="0" goto="3" cutscene="assets.VideoUnlockSequence"/> </mutants> </level> </levels> ; super(); var _local1:int; while (_local1 < m_levelsXML.level.length()) { _levels.push(new LevelXML("", m_levelsXML.level[_local1])); _local1++; }; } public static function get levelNum():int{ return (_levels.length); } public static function addLevel(_arg1:LevelXML):void{ if (_levels == null){ _levels = new Array(); }; _levels.push(_arg1); } public static function reloadLevel(_arg1:String, _arg2:int, _arg3:Function):void{ var _local4:LevelLoader = new LevelLoader(); _local4.load(_arg1, _arg2, _arg3); _local4.addEventListener(Event.COMPLETE, onLevelReloaded); } private static function onLevelReloaded(_arg1:Event):void{ var _local2:LevelLoader = (_arg1.currentTarget as LevelLoader); _levels.splice(_local2.index, 0, _local2.level); _local2.onComplete(); } public static function getLevel(_arg1:int):LevelXML{ return (_levels[_arg1]); } } }//package import flash.events.*; import game.levels.*; import com.malee.loaders.*; class LevelLoader extends EventDispatcher { private var _level:LevelXML; private var _xmlLoader:XMLLoader; private var _url:String; private var onComplete:Function; private var _index:int; private function LevelLoader(){ _xmlLoader = new XMLLoader(); } private function onLoadError(_arg1:IOErrorEvent):void{ trace(("cannot load" + _url)); } public function get level():LevelXML{ return (_level); } private function load(_arg1:String, _arg2:int, _arg3:Function):void{ _url = _arg1; _index = _arg2; this.onComplete = _arg3; _xmlLoader.loadData(_arg1); _xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, onLoadError); _xmlLoader.addEventListener(Event.COMPLETE, onLevelReloaded, false, 0, true); } public function get index():int{ return (_index); } private function onLevelReloaded(_arg1:Event):void{ _level = new LevelXML(_url, _xmlLoader.xml); dispatchEvent(_arg1); } }
Section 303
//GameBroadcaster (GameBroadcaster) package { import flash.events.*; public class GameBroadcaster { private static var eventDispatcher:EventDispatcher; private static var m_alarm:Boolean = false; public static function dispatchEvent(_arg1:Event):void{ if (!m_alarm){ if (eventDispatcher){ eventDispatcher.dispatchEvent(_arg1); }; }; } public static function set alarm(_arg1:Boolean):void{ m_alarm = _arg1; } public static function broadcast(_arg1:Event):void{ trace(("Event Broadcast " + _arg1.type)); dispatchEvent(_arg1); } public static function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ if (eventDispatcher){ eventDispatcher.removeEventListener(_arg1, _arg2, _arg3); }; } public static function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=true):void{ if (!eventDispatcher){ eventDispatcher = new EventDispatcher(); }; eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } } }//package
Section 304
//Main (Main) package { import flash.events.*; import flash.display.*; import console.*; import net.*; import org.casalib.util.*; import com.malee.net.clearspring.*; public class Main extends Sprite { private var m_console:Console; public static var SPONSOR_URL:String; public static var loadTime:int; public static var ClearSpring:ClearSpringInterface; public function Main(){ var _local1:EmbeddedData = new EmbeddedData(); addEventListener(Event.ADDED_TO_STAGE, handleOnAddedToStage); } private function handleOnAddedToStage(_arg1:Event):void{ ClearSpring = new ClearSpringInterface(this); removeEventListener(Event.ADDED_TO_STAGE, handleOnAddedToStage); StageReference.setStage(stage); stage.scaleMode = StageScaleMode.NO_SCALE; stage.quality = StageQuality.MEDIUM; stage.stageFocusRect = false; FlashVars.initializeVariables(root); User.getInstance().createFlashVarsUser(root, true); m_console = new Console(); addChild(m_console); Console.GoogleAnalytics.trackEvent("MRD_Escape", "loadGame", "index", loadTime); } public function destroy():void{ m_console.destroy(); } } }//package
Section 305
//NavButtonUI (NavButtonUI) package { import buttons.*; public dynamic class NavButtonUI extends NavButton { } }//package

Library Items

Symbol 1 GraphicUsed by:2
Symbol 2 MovieClipUses:1Used by:16
Symbol 3 BitmapUsed by:4
Symbol 4 GraphicUses:3Used by:5
Symbol 5 MovieClipUses:4Used by:6 343 345 347
Symbol 6 MovieClip {assets_fla.scanLines_52} [assets_fla.scanLines_52]Uses:5Used by:16 166 210 248 276 301 327 339 793 817
Symbol 7 BitmapUsed by:8
Symbol 8 GraphicUses:7Used by:9
Symbol 9 MovieClipUses:8Used by:16
Symbol 10 MovieClipUsed by:16 285 327 339
Symbol 11 BitmapUsed by:12
Symbol 12 GraphicUses:11Used by:13
Symbol 13 MovieClipUses:12Used by:16
Symbol 14 BitmapUsed by:15
Symbol 15 GraphicUses:14Used by:16
Symbol 16 MovieClip {assets.Preloader} [assets.Preloader]Uses:2 6 9 10 13 15
Symbol 17 Sound {assets.sfx_access_denied_01} [assets.sfx_access_denied_01]
Symbol 18 Sound {assets.sfx_dry_fire_02} [assets.sfx_dry_fire_02]
Symbol 19 Sound {assets.sfx_machete_normal_08} [assets.sfx_machete_normal_08]
Symbol 20 Sound {assets.sfx_MRD_level_loop_3} [assets.sfx_MRD_level_loop_3]
Symbol 21 Sound {assets.sfx_cursor} [assets.sfx_cursor]
Symbol 22 Sound {assets.sfx_wire_slice_01} [assets.sfx_wire_slice_01]
Symbol 23 Sound {assets.sfx_turbolift_doorclose_01} [assets.sfx_turbolift_doorclose_01]
Symbol 24 Sound {assets.sfx_throw_whoosh_01} [assets.sfx_throw_whoosh_01]
Symbol 25 Sound {assets.sfx_MRD_level_loop_4} [assets.sfx_MRD_level_loop_4]
Symbol 26 Sound {assets.sfx_mech_operate_17} [assets.sfx_mech_operate_17]
Symbol 27 Sound {assets.sfx_MRD_level_loop_2} [assets.sfx_MRD_level_loop_2]
Symbol 28 Sound {assets.sfx_throw_whoosh_03} [assets.sfx_throw_whoosh_03]
Symbol 29 Sound {assets.sfx_tram_crash_01} [assets.sfx_tram_crash_01]
Symbol 30 Sound {assets.sfx_thud2} [assets.sfx_thud2]
Symbol 31 Sound {assets.sfx_aerial_01} [assets.sfx_aerial_01]
Symbol 32 Sound {assets.sfx_machete_heavy_01} [assets.sfx_machete_heavy_01]Used by:203
Symbol 33 Sound {assets.sfx_console_entry_03} [assets.sfx_console_entry_03]
Symbol 34 Sound {assets.sfx_staff_12} [assets.sfx_staff_12]
Symbol 35 Sound {assets.sfx_machete_normal_04} [assets.sfx_machete_normal_04]
Symbol 36 Sound {assets.sfx_thud} [assets.sfx_thud]
Symbol 37 Sound {assets.sfx_charge_kill_stab_01} [assets.sfx_charge_kill_stab_01]
Symbol 38 Sound {assets.sfx_machete_normal_02} [assets.sfx_machete_normal_02]
Symbol 39 Sound {assets.sfx_wall_climb_02} [assets.sfx_wall_climb_02]
Symbol 40 Sound {assets.sfx_auto_turret_scan_01} [assets.sfx_auto_turret_scan_01]
Symbol 41 Sound {assets.sfx_MRD_intro_main} [assets.sfx_MRD_intro_main]
Symbol 42 Sound {assets.sfx_SOUNDDOGS_AL_147468} [assets.sfx_SOUNDDOGS_AL_147468]
Symbol 43 BitmapUsed by:44
Symbol 44 GraphicUses:43Used by:45
Symbol 45 MovieClipUses:44Used by:84
Symbol 46 BitmapUsed by:47
Symbol 47 GraphicUses:46Used by:48
Symbol 48 MovieClipUses:47Used by:84
Symbol 49 BitmapUsed by:50
Symbol 50 GraphicUses:49Used by:51
Symbol 51 MovieClipUses:50Used by:84
Symbol 52 BitmapUsed by:53
Symbol 53 GraphicUses:52Used by:54
Symbol 54 MovieClipUses:53Used by:84
Symbol 55 GraphicUsed by:56
Symbol 56 MovieClipUses:55Used by:59
Symbol 57 FontUsed by:58 62 66 70 76 80 112 157 158 353 405 769 771 803 804
Symbol 58 EditableTextUses:57Used by:59
Symbol 59 MovieClip {assets_fla.HudUI_19} [assets_fla.HudUI_19]Uses:56 58Used by:84
Symbol 60 GraphicUsed by:61
Symbol 61 MovieClipUses:60Used by:63
Symbol 62 EditableTextUses:57Used by:63
Symbol 63 MovieClip {assets_fla.HudUi_21} [assets_fla.HudUi_21]Uses:61 62Used by:84
Symbol 64 GraphicUsed by:65
Symbol 65 MovieClipUses:64Used by:67
Symbol 66 EditableTextUses:57Used by:67
Symbol 67 MovieClip {assets_fla.HudUi_23} [assets_fla.HudUi_23]Uses:65 66Used by:84
Symbol 68 GraphicUsed by:69
Symbol 69 MovieClipUses:68Used by:71
Symbol 70 EditableTextUses:57Used by:71
Symbol 71 MovieClip {assets_fla.HudUi_25} [assets_fla.HudUi_25]Uses:69 70Used by:84
Symbol 72 BitmapUsed by:73
Symbol 73 GraphicUses:72Used by:83
Symbol 74 GraphicUsed by:75
Symbol 75 MovieClipUses:74Used by:77
Symbol 76 EditableTextUses:57Used by:77
Symbol 77 MovieClip {assets_fla.HudUI_28} [assets_fla.HudUI_28]Uses:75 76Used by:83
Symbol 78 GraphicUsed by:79
Symbol 79 MovieClipUses:78Used by:81
Symbol 80 EditableTextUses:57Used by:81
Symbol 81 MovieClip {assets_fla.HudUI_30} [assets_fla.HudUI_30]Uses:79 80Used by:83
Symbol 82 GraphicUsed by:83
Symbol 83 MovieClip {assets_fla.HudUI_27} [assets_fla.HudUI_27]Uses:73 77 81 82Used by:84
Symbol 84 MovieClip {assets.HudUIButtons} [assets.HudUIButtons]Uses:45 48 51 54 59 63 67 71 83
Symbol 85 BitmapUsed by:86
Symbol 86 GraphicUses:85Used by:87
Symbol 87 MovieClipUses:86Used by:115
Symbol 88 BitmapUsed by:89
Symbol 89 GraphicUses:88Used by:111
Symbol 90 ShapeTweeningUsed by:102
Symbol 91 BitmapUsed by:92
Symbol 92 GraphicUses:91Used by:93
Symbol 93 MovieClipUses:92Used by:102
Symbol 94 ShapeTweeningUsed by:102
Symbol 95 BitmapUsed by:96
Symbol 96 GraphicUses:95Used by:97
Symbol 97 MovieClipUses:96Used by:102
Symbol 98 ShapeTweeningUsed by:102
Symbol 99 ShapeTweeningUsed by:102
Symbol 100 GraphicUsed by:102 404 628 719
Symbol 101 GraphicUsed by:102 252
Symbol 102 MovieClip {assets_fla.soundSlider_136} [assets_fla.soundSlider_136]Uses:90 93 94 97 98 99 100 101Used by:111
Symbol 103 BitmapUsed by:104
Symbol 104 GraphicUses:103Used by:105
Symbol 105 MovieClipUses:104Used by:111
Symbol 106 BitmapUsed by:107
Symbol 107 GraphicUses:106Used by:108
Symbol 108 MovieClipUses:107Used by:111
Symbol 109 GraphicUsed by:110 395
Symbol 110 ButtonUses:109Used by:111
Symbol 111 MovieClip {assets_fla.SoundControls_135} [assets_fla.SoundControls_135]Uses:89 102 105 108 110Used by:115
Symbol 112 EditableTextUses:57 396Used by:115
Symbol 113 GraphicUsed by:114
Symbol 114 ButtonUses:113Used by:115 460
Symbol 115 MovieClip {assets.HudUI} [assets.HudUI]Uses:87 111 112 114
Symbol 116 BitmapUsed by:117
Symbol 117 GraphicUses:116Used by:118
Symbol 118 MovieClipUses:117Used by:166 210 276 327 339 793 817
Symbol 119 BitmapUsed by:120
Symbol 120 GraphicUses:119Used by:121
Symbol 121 MovieClipUses:120Used by:166 210 248 276
Symbol 122 BitmapUsed by:123
Symbol 123 GraphicUses:122Used by:124
Symbol 124 MovieClipUses:123Used by:166
Symbol 125 BitmapUsed by:126
Symbol 126 GraphicUses:125Used by:127
Symbol 127 MovieClipUses:126Used by:166
Symbol 128 BitmapUsed by:129
Symbol 129 GraphicUses:128Used by:130
Symbol 130 MovieClipUses:129Used by:166
Symbol 131 BitmapUsed by:132
Symbol 132 GraphicUses:131Used by:133
Symbol 133 MovieClipUses:132Used by:166
Symbol 134 BitmapUsed by:135
Symbol 135 GraphicUses:134Used by:136
Symbol 136 MovieClipUses:135Used by:166
Symbol 137 BitmapUsed by:138
Symbol 138 GraphicUses:137Used by:139
Symbol 139 MovieClipUses:138Used by:166
Symbol 140 BitmapUsed by:141
Symbol 141 GraphicUses:140Used by:142
Symbol 142 MovieClipUses:141Used by:166
Symbol 143 BitmapUsed by:144
Symbol 144 GraphicUses:143Used by:145
Symbol 145 MovieClipUses:144Used by:166
Symbol 146 BitmapUsed by:147
Symbol 147 GraphicUses:146Used by:148
Symbol 148 MovieClipUses:147Used by:166
Symbol 149 BitmapUsed by:150
Symbol 150 GraphicUses:149Used by:151
Symbol 151 MovieClipUses:150Used by:166
Symbol 152 BitmapUsed by:153
Symbol 153 GraphicUses:152Used by:154
Symbol 154 MovieClipUses:153Used by:162
Symbol 155 BitmapUsed by:156
Symbol 156 GraphicUses:155Used by:159
Symbol 157 EditableTextUses:57Used by:159
Symbol 158 EditableTextUses:57Used by:159
Symbol 159 MovieClip {assets_fla.tooltip_12} [assets_fla.tooltip_12]Uses:156 157 158Used by:162 798
Symbol 160 GraphicUsed by:161 170 580 625 797
Symbol 161 MovieClipUses:160Used by:162
Symbol 162 MovieClip {assets_fla.medalsOverlay_116} [assets_fla.medalsOverlay_116]Uses:154 159 161Used by:166
Symbol 163 BitmapUsed by:164
Symbol 164 GraphicUses:163Used by:165
Symbol 165 MovieClipUses:164Used by:166
Symbol 166 MovieClip {assets.pages.MedalsUI} [assets.pages.MedalsUI]Uses:118 6 121 124 127 130 133 136 139 142 145 148 151 162 165
Symbol 167 BitmapUsed by:168
Symbol 168 GraphicUses:167Used by:169
Symbol 169 MovieClipUses:168Used by:203
Symbol 170 MovieClipUses:160Used by:203
Symbol 171 BitmapUsed by:172
Symbol 172 GraphicUses:171Used by:173
Symbol 173 MovieClipUses:172Used by:174
Symbol 174 MovieClipUses:173Used by:203
Symbol 175 BitmapUsed by:176
Symbol 176 GraphicUses:175Used by:177
Symbol 177 MovieClipUses:176Used by:203
Symbol 178 BitmapUsed by:179
Symbol 179 GraphicUses:178Used by:180
Symbol 180 MovieClipUses:179Used by:203
Symbol 181 BitmapUsed by:182
Symbol 182 GraphicUses:181Used by:203 456
Symbol 183 BitmapUsed by:184
Symbol 184 GraphicUses:183Used by:203 456
Symbol 185 BitmapUsed by:186
Symbol 186 GraphicUses:185Used by:203 456
Symbol 187 BitmapUsed by:188
Symbol 188 GraphicUses:187Used by:203 456
Symbol 189 BitmapUsed by:190
Symbol 190 GraphicUses:189Used by:203 456
Symbol 191 BitmapUsed by:192
Symbol 192 GraphicUses:191Used by:203 456
Symbol 193 BitmapUsed by:194
Symbol 194 GraphicUses:193Used by:203 456
Symbol 195 BitmapUsed by:196
Symbol 196 GraphicUses:195Used by:203 456
Symbol 197 BitmapUsed by:198
Symbol 198 GraphicUses:197Used by:203 456
Symbol 199 BitmapUsed by:200
Symbol 200 GraphicUses:199Used by:203 456
Symbol 201 BitmapUsed by:202
Symbol 202 GraphicUses:201Used by:203 456
Symbol 203 MovieClip {assets.pages.TitleUI} [assets.pages.TitleUI]Uses:169 170 174 177 180 182 32 184 186 188 190 192 194 196 198 200 202
Symbol 204 BitmapUsed by:205
Symbol 205 GraphicUses:204Used by:206
Symbol 206 MovieClipUses:205Used by:210
Symbol 207 BitmapUsed by:208
Symbol 208 GraphicUses:207Used by:209
Symbol 209 MovieClipUses:208Used by:210
Symbol 210 MovieClip {assets.pages.CreditsUI} [assets.pages.CreditsUI]Uses:118 6 121 206 209
Symbol 211 BitmapUsed by:212
Symbol 212 GraphicUses:211Used by:213
Symbol 213 MovieClipUses:212Used by:248
Symbol 214 BitmapUsed by:215
Symbol 215 GraphicUses:214Used by:220
Symbol 216 FontUsed by:217 223 229 235 241 386 459
Symbol 217 TextUses:216Used by:220
Symbol 218 GraphicUsed by:219
Symbol 219 MovieClipUses:218Used by:220
Symbol 220 MovieClipUses:215 217 219Used by:248
Symbol 221 BitmapUsed by:222
Symbol 222 GraphicUses:221Used by:226
Symbol 223 TextUses:216Used by:226
Symbol 224 GraphicUsed by:225
Symbol 225 MovieClipUses:224Used by:226
Symbol 226 MovieClipUses:222 223 225Used by:248
Symbol 227 BitmapUsed by:228
Symbol 228 GraphicUses:227Used by:232
Symbol 229 TextUses:216Used by:232
Symbol 230 GraphicUsed by:231
Symbol 231 MovieClipUses:230Used by:232
Symbol 232 MovieClipUses:228 229 231Used by:248
Symbol 233 BitmapUsed by:234
Symbol 234 GraphicUses:233Used by:238
Symbol 235 TextUses:216Used by:238
Symbol 236 GraphicUsed by:237
Symbol 237 MovieClipUses:236Used by:238
Symbol 238 MovieClipUses:234 235 237Used by:248
Symbol 239 BitmapUsed by:240
Symbol 240 GraphicUses:239Used by:244
Symbol 241 TextUses:216Used by:244
Symbol 242 GraphicUsed by:243
Symbol 243 MovieClipUses:242Used by:244
Symbol 244 MovieClipUses:240 241 243Used by:248
Symbol 245 BitmapUsed by:246
Symbol 246 GraphicUses:245Used by:247
Symbol 247 MovieClipUses:246Used by:248
Symbol 248 MovieClip {assets.pages.MutantsUI} [assets.pages.MutantsUI]Uses:213 220 226 232 238 244 6 121 247
Symbol 249 BitmapUsed by:250
Symbol 250 GraphicUses:249Used by:251
Symbol 251 MovieClipUses:250Used by:253
Symbol 252 Button {NavButtonUI} [NavButtonUI]Uses:101Used by:253 758 762 785 789 802
Symbol 253 MovieClip {assets_fla.highscoresNavArrow_2} [assets_fla.highscoresNavArrow_2]Uses:251 252Used by:269
Symbol 254 BitmapUsed by:255
Symbol 255 GraphicUses:254Used by:256
Symbol 256 MovieClipUses:255Used by:269
Symbol 257 BitmapUsed by:258
Symbol 258 GraphicUses:257Used by:259
Symbol 259 MovieClipUses:258Used by:269
Symbol 260 BitmapUsed by:261
Symbol 261 GraphicUses:260Used by:262
Symbol 262 MovieClipUses:261Used by:269
Symbol 263 BitmapUsed by:264
Symbol 264 GraphicUses:263Used by:265
Symbol 265 MovieClipUses:264Used by:269
Symbol 266 BitmapUsed by:267
Symbol 267 GraphicUses:266Used by:268
Symbol 268 MovieClipUses:267Used by:269
Symbol 269 MovieClip {assets.pages.mutantButtons} [assets.pages.mutantButtons]Uses:253 256 259 262 265 268
Symbol 270 BitmapUsed by:271
Symbol 271 GraphicUses:270Used by:272
Symbol 272 MovieClipUses:271Used by:276
Symbol 273 BitmapUsed by:274
Symbol 274 GraphicUses:273Used by:275
Symbol 275 MovieClipUses:274Used by:276
Symbol 276 MovieClip {assets.pages.HelpUI} [assets.pages.HelpUI]Uses:118 6 121 272 275
Symbol 277 BitmapUsed by:278
Symbol 278 GraphicUses:277Used by:285
Symbol 279 GraphicUsed by:285
Symbol 280 GraphicUsed by:281
Symbol 281 MovieClipUses:280Used by:283
Symbol 282 GraphicUsed by:283
Symbol 283 ButtonUses:281 282Used by:285
Symbol 284 GraphicUsed by:285
Symbol 285 MovieClip {assets.HudStartUI} [assets.HudStartUI]Uses:278 279 10 283 284
Symbol 286 GraphicUsed by:287
Symbol 287 MovieClipUses:286Used by:301
Symbol 288 FontUsed by:289 302 303 304 305 328 329 330 331 748 816
Symbol 289 EditableTextUses:288Used by:301
Symbol 290 BitmapUsed by:291
Symbol 291 GraphicUses:290Used by:292
Symbol 292 MovieClipUses:291Used by:294
Symbol 293 GraphicUsed by:294 335 404 647 686 734 775
Symbol 294 ButtonUses:292 293Used by:301
Symbol 295 BitmapUsed by:296
Symbol 296 GraphicUses:295Used by:297
Symbol 297 MovieClipUses:296Used by:301
Symbol 298 BitmapUsed by:299
Symbol 299 GraphicUses:298Used by:300
Symbol 300 MovieClipUses:299Used by:301
Symbol 301 MovieClip {assets.LevelEndFailedUI} [assets.LevelEndFailedUI]Uses:287 289 294 297 300 6
Symbol 302 EditableTextUses:288Used by:327
Symbol 303 EditableTextUses:288Used by:327
Symbol 304 EditableTextUses:288Used by:327
Symbol 305 EditableTextUses:288Used by:327
Symbol 306 BitmapUsed by:307
Symbol 307 GraphicUses:306Used by:308
Symbol 308 MovieClipUses:307Used by:327 339
Symbol 309 BitmapUsed by:310
Symbol 310 GraphicUses:309Used by:311
Symbol 311 MovieClipUses:310Used by:327 339
Symbol 312 BitmapUsed by:313
Symbol 313 GraphicUses:312Used by:314
Symbol 314 MovieClipUses:313Used by:327 339
Symbol 315 BitmapUsed by:316
Symbol 316 GraphicUses:315Used by:317
Symbol 317 MovieClipUses:316Used by:327 339
Symbol 318 BitmapUsed by:319
Symbol 319 GraphicUses:318Used by:320
Symbol 320 MovieClipUses:319Used by:327 339
Symbol 321 BitmapUsed by:322
Symbol 322 GraphicUses:321Used by:323
Symbol 323 MovieClipUses:322Used by:327
Symbol 324 BitmapUsed by:325
Symbol 325 GraphicUses:324Used by:326
Symbol 326 MovieClipUses:325Used by:327
Symbol 327 MovieClip {assets.LevelEndGameCompleteUI} [assets.LevelEndGameCompleteUI]Uses:118 302 303 304 305 10 308 311 314 317 320 323 326 6
Symbol 328 EditableTextUses:288Used by:339
Symbol 329 EditableTextUses:288Used by:339
Symbol 330 EditableTextUses:288Used by:339
Symbol 331 EditableTextUses:288Used by:339
Symbol 332 BitmapUsed by:333
Symbol 333 GraphicUses:332Used by:334
Symbol 334 MovieClipUses:333Used by:335
Symbol 335 ButtonUses:334 293Used by:339
Symbol 336 BitmapUsed by:337
Symbol 337 GraphicUses:336Used by:338
Symbol 338 MovieClipUses:337Used by:339
Symbol 339 MovieClip {assets.LevelEndCompleteUI} [assets.LevelEndCompleteUI]Uses:118 328 329 330 331 10 308 311 314 317 320 335 338 6
Symbol 340 VideoUsed by:343
Symbol 341 GraphicUsed by:342
Symbol 342 MovieClipUses:341Used by:343 345 347
Symbol 343 MovieClip {assets.VideoUnlockSequence} [assets.VideoUnlockSequence]Uses:340 342 5 SS1
Symbol 344 VideoUsed by:345
Symbol 345 MovieClip {assets.VideoIntroSequence} [assets.VideoIntroSequence]Uses:344 342 5 SS2
Symbol 346 VideoUsed by:347
Symbol 347 MovieClip {assets.VideoEndSequence} [assets.VideoEndSequence]Uses:346 342 5 SS3
Symbol 348 BitmapUsed by:349
Symbol 349 GraphicUses:348Used by:350
Symbol 350 MovieClip {assets.HudItemBaseUI} [assets.HudItemBaseUI]Uses:349
Symbol 351 GraphicUsed by:352
Symbol 352 MovieClipUses:351Used by:359
Symbol 353 EditableTextUses:57 396Used by:359
Symbol 354 GraphicUsed by:357
Symbol 355 GraphicUsed by:356
Symbol 356 MovieClipUses:355Used by:357
Symbol 357 MovieClipUses:354 356Used by:359
Symbol 358 GraphicUsed by:359
Symbol 359 MovieClip {assets.HudItemUI} [assets.HudItemUI]Uses:352 353 357 358
Symbol 360 Bitmap {assets.tilesBackground} [assets.tilesBackground]
Symbol 361 Bitmap {assets.tilesForeground} [assets.tilesForeground]
Symbol 362 Bitmap {assets.Scanline} [assets.Scanline]Used by:636
Symbol 363 GraphicUsed by:374 420
Symbol 364 BitmapUsed by:365 390
Symbol 365 GraphicUses:364Used by:374
Symbol 366 BitmapUsed by:367 418
Symbol 367 GraphicUses:366Used by:374
Symbol 368 BitmapUsed by:369 373
Symbol 369 GraphicUses:368Used by:374 419
Symbol 370 BitmapUsed by:371 372
Symbol 371 GraphicUses:370Used by:374 419
Symbol 372 GraphicUses:370Used by:374 419
Symbol 373 GraphicUses:368Used by:374 419
Symbol 374 MovieClip {assets.MiniGameTerminalScreen} [assets.MiniGameTerminalScreen]Uses:363 365 367 369 371 372 373
Symbol 375 BitmapUsed by:377
Symbol 376 BitmapUsed by:377
Symbol 377 GraphicUses:376 375Used by:387
Symbol 378 FontUsed by:379 391
Symbol 379 EditableTextUses:378Used by:387
Symbol 380 BitmapUsed by:381
Symbol 381 GraphicUses:380Used by:385
Symbol 382 BitmapUsed by:383 384
Symbol 383 GraphicUses:382Used by:385
Symbol 384 GraphicUses:382Used by:385
Symbol 385 ButtonUses:381 383 384Used by:387 392 417 460
Symbol 386 TextUses:216Used by:387
Symbol 387 MovieClip {assets.MiniGameIntro} [assets.MiniGameIntro]Uses:377 379 385 386
Symbol 388 BitmapUsed by:390
Symbol 389 BitmapUsed by:390 403
Symbol 390 GraphicUses:364 388 389Used by:392
Symbol 391 EditableTextUses:378Used by:392
Symbol 392 MovieClip {assets.MiniGameTerminal} [assets.MiniGameTerminal]Uses:390 391 385
Symbol 393 BitmapUsed by:394
Symbol 394 GraphicUses:393Used by:417
Symbol 395 MovieClipUses:109Used by:402
Symbol 396 FontUsed by:112 353 397 410 414
Symbol 397 EditableTextUses:396Used by:402
Symbol 398 GraphicUsed by:399
Symbol 399 MovieClipUses:398Used by:402
Symbol 400 BitmapUsed by:401
Symbol 401 GraphicUses:400Used by:402
Symbol 402 MovieClip {assets_fla.Key_68} [assets_fla.Key_68]Uses:395 397 399 401Used by:417
Symbol 403 GraphicUses:389Used by:417
Symbol 404 MovieClip {assets_fla.Terminal_71} [assets_fla.Terminal_71]Uses:293 100Used by:417
Symbol 405 EditableTextUses:57Used by:406
Symbol 406 MovieClip {assets_fla.Terminal_72} [assets_fla.Terminal_72]Uses:405Used by:417
Symbol 407 BitmapUsed by:409
Symbol 408 BitmapUsed by:409
Symbol 409 GraphicUses:407 408Used by:417
Symbol 410 TextUses:396Used by:413
Symbol 411 GraphicUsed by:413
Symbol 412 GraphicUsed by:413
Symbol 413 ButtonUses:410 411 412Used by:417
Symbol 414 TextUses:396Used by:416
Symbol 415 GraphicUsed by:416
Symbol 416 ButtonUses:414 415Used by:417
Symbol 417 MovieClip {assets.MiniGameKeyboard} [assets.MiniGameKeyboard]Uses:394 402 403 404 406 409 385 413 416
Symbol 418 GraphicUses:366Used by:419
Symbol 419 MovieClipUses:418 369 371 372 373Used by:420
Symbol 420 MovieClip {assets.MiniGameIntroScreenBackground} [assets.MiniGameIntroScreenBackground]Uses:363 419
Symbol 421 BitmapUsed by:422
Symbol 422 GraphicUses:421Used by:460
Symbol 423 BitmapUsed by:424
Symbol 424 GraphicUses:423Used by:425
Symbol 425 MovieClipUses:424Used by:460
Symbol 426 BitmapUsed by:427
Symbol 427 GraphicUses:426Used by:455
Symbol 428 BitmapUsed by:429
Symbol 429 GraphicUses:428Used by:448 580 625
Symbol 430 BitmapUsed by:431
Symbol 431 GraphicUses:430Used by:448 580 625
Symbol 432 BitmapUsed by:433
Symbol 433 GraphicUses:432Used by:448 580 625
Symbol 434 BitmapUsed by:435
Symbol 435 GraphicUses:434Used by:448 580 625
Symbol 436 BitmapUsed by:437
Symbol 437 GraphicUses:436Used by:448 580 625
Symbol 438 BitmapUsed by:439
Symbol 439 GraphicUses:438Used by:448 580 625
Symbol 440 BitmapUsed by:441
Symbol 441 GraphicUses:440Used by:448 580 625
Symbol 442 BitmapUsed by:443
Symbol 443 GraphicUses:442Used by:448 580 625
Symbol 444 BitmapUsed by:445
Symbol 445 GraphicUses:444Used by:448 580 625
Symbol 446 BitmapUsed by:447
Symbol 447 GraphicUses:446Used by:448 580 625
Symbol 448 MovieClipUses:429 431 433 435 437 439 441 443 445 447Used by:455
Symbol 449 BitmapUsed by:450
Symbol 450 GraphicUses:449Used by:455
Symbol 451 BitmapUsed by:452
Symbol 452 GraphicUses:451Used by:455
Symbol 453 BitmapUsed by:454
Symbol 454 GraphicUses:453Used by:455
Symbol 455 MovieClip {assets_fla.Wires_78} [assets_fla.Wires_78]Uses:427 448 450 452 454Used by:460
Symbol 456 MovieClip {assets_fla.Clawcopy_80} [assets_fla.Clawcopy_80]Uses:182 184 186 188 190 192 194 196 198 200 202Used by:460
Symbol 457 BitmapUsed by:458
Symbol 458 GraphicUses:457Used by:460
Symbol 459 TextUses:216Used by:460
Symbol 460 MovieClip {assets.MiniGameWires} [assets.MiniGameWires]Uses:422 425 455 456 458 459 385 114
Symbol 461 BitmapUsed by:462
Symbol 462 GraphicUses:461Used by:556
Symbol 463 BitmapUsed by:464 467
Symbol 464 GraphicUses:463Used by:556
Symbol 465 BitmapUsed by:466
Symbol 466 GraphicUses:465Used by:556
Symbol 467 GraphicUses:463Used by:556
Symbol 468 BitmapUsed by:469
Symbol 469 GraphicUses:468Used by:556
Symbol 470 BitmapUsed by:471
Symbol 471 GraphicUses:470Used by:556
Symbol 472 BitmapUsed by:473
Symbol 473 GraphicUses:472Used by:556
Symbol 474 BitmapUsed by:475
Symbol 475 GraphicUses:474Used by:556
Symbol 476 BitmapUsed by:477
Symbol 477 GraphicUses:476Used by:556
Symbol 478 BitmapUsed by:479
Symbol 479 GraphicUses:478Used by:556
Symbol 480 BitmapUsed by:481
Symbol 481 GraphicUses:480Used by:556
Symbol 482 BitmapUsed by:483
Symbol 483 GraphicUses:482Used by:556
Symbol 484 BitmapUsed by:485
Symbol 485 GraphicUses:484Used by:556
Symbol 486 BitmapUsed by:487
Symbol 487 GraphicUses:486Used by:556
Symbol 488 BitmapUsed by:489
Symbol 489 GraphicUses:488Used by:556
Symbol 490 BitmapUsed by:491
Symbol 491 GraphicUses:490Used by:556
Symbol 492 BitmapUsed by:493
Symbol 493 GraphicUses:492Used by:556
Symbol 494 BitmapUsed by:495
Symbol 495 GraphicUses:494Used by:556
Symbol 496 BitmapUsed by:497
Symbol 497 GraphicUses:496Used by:556
Symbol 498 BitmapUsed by:499
Symbol 499 GraphicUses:498Used by:556
Symbol 500 BitmapUsed by:501
Symbol 501 GraphicUses:500Used by:556
Symbol 502 BitmapUsed by:503
Symbol 503 GraphicUses:502Used by:556
Symbol 504 BitmapUsed by:505
Symbol 505 GraphicUses:504Used by:556
Symbol 506 BitmapUsed by:507
Symbol 507 GraphicUses:506Used by:556
Symbol 508 BitmapUsed by:509
Symbol 509 GraphicUses:508Used by:556
Symbol 510 BitmapUsed by:511
Symbol 511 GraphicUses:510Used by:556
Symbol 512 BitmapUsed by:513
Symbol 513 GraphicUses:512Used by:556
Symbol 514 BitmapUsed by:515
Symbol 515 GraphicUses:514Used by:556
Symbol 516 BitmapUsed by:517
Symbol 517 GraphicUses:516Used by:556
Symbol 518 BitmapUsed by:519
Symbol 519 GraphicUses:518Used by:556
Symbol 520 BitmapUsed by:521
Symbol 521 GraphicUses:520Used by:556
Symbol 522 BitmapUsed by:523
Symbol 523 GraphicUses:522Used by:556
Symbol 524 BitmapUsed by:525
Symbol 525 GraphicUses:524Used by:556
Symbol 526 BitmapUsed by:527 530
Symbol 527 GraphicUses:526Used by:556
Symbol 528 BitmapUsed by:529
Symbol 529 GraphicUses:528Used by:556
Symbol 530 GraphicUses:526Used by:556
Symbol 531 BitmapUsed by:532
Symbol 532 GraphicUses:531Used by:556
Symbol 533 BitmapUsed by:534
Symbol 534 GraphicUses:533Used by:556
Symbol 535 BitmapUsed by:536
Symbol 536 GraphicUses:535Used by:556
Symbol 537 BitmapUsed by:538
Symbol 538 GraphicUses:537Used by:556
Symbol 539 BitmapUsed by:540
Symbol 540 GraphicUses:539Used by:556
Symbol 541 BitmapUsed by:542 547
Symbol 542 GraphicUses:541Used by:556
Symbol 543 BitmapUsed by:544
Symbol 544 GraphicUses:543Used by:556
Symbol 545 BitmapUsed by:546
Symbol 546 GraphicUses:545Used by:556
Symbol 547 GraphicUses:541Used by:556
Symbol 548 BitmapUsed by:549
Symbol 549 GraphicUses:548Used by:556
Symbol 550 BitmapUsed by:551
Symbol 551 GraphicUses:550Used by:556
Symbol 552 BitmapUsed by:553
Symbol 553 GraphicUses:552Used by:556
Symbol 554 BitmapUsed by:555
Symbol 555 GraphicUses:554Used by:556
Symbol 556 MovieClip {assets.HeroUI} [assets.HeroUI]Uses:462 464 466 467 469 471 473 475 477 479 481 483 485 487 489 491 493 495 497 499 501 503 505 507 509 511 513 515 517 519 521 523 525 527 529 530 532 534 536 538 540 542 544 546 547 549 551 553 555
Symbol 557 BitmapUsed by:558
Symbol 558 GraphicUses:557Used by:580
Symbol 559 BitmapUsed by:560
Symbol 560 GraphicUses:559Used by:580
Symbol 561 BitmapUsed by:562
Symbol 562 GraphicUses:561Used by:563
Symbol 563 MovieClipUses:562Used by:580
Symbol 564 BitmapUsed by:565
Symbol 565 GraphicUses:564Used by:580 625
Symbol 566 BitmapUsed by:567
Symbol 567 GraphicUses:566Used by:580 625
Symbol 568 BitmapUsed by:569
Symbol 569 GraphicUses:568Used by:580 625
Symbol 570 BitmapUsed by:571
Symbol 571 GraphicUses:570Used by:580 625
Symbol 572 BitmapUsed by:573
Symbol 573 GraphicUses:572Used by:580 625
Symbol 574 BitmapUsed by:575
Symbol 575 GraphicUses:574Used by:580 625
Symbol 576 BitmapUsed by:577
Symbol 577 GraphicUses:576Used by:580 625
Symbol 578 FontUsed by:579
Symbol 579 TextUses:578Used by:580 614 625
Symbol 580 MovieClip {assets.RobotUI} [assets.RobotUI]Uses:160 558 560 563 565 567 569 571 573 575 577 429 431 433 435 437 439 441 443 445 447 579
Symbol 581 BitmapUsed by:582
Symbol 582 GraphicUses:581Used by:585
Symbol 583 BitmapUsed by:584
Symbol 584 GraphicUses:583Used by:585
Symbol 585 MovieClip {assets.KeypadFutureUI} [assets.KeypadFutureUI]Uses:582 584
Symbol 586 BitmapUsed by:587
Symbol 587 GraphicUses:586Used by:588
Symbol 588 MovieClip {assets.TerminalUI} [assets.TerminalUI]Uses:587
Symbol 589 BitmapUsed by:590 615
Symbol 590 GraphicUses:589Used by:593
Symbol 591 BitmapUsed by:592 616
Symbol 592 GraphicUses:591Used by:593
Symbol 593 MovieClip {assets.CameraLeftUI} [assets.CameraLeftUI]Uses:590 592
Symbol 594 GraphicUsed by:611 676
Symbol 595 BitmapUsed by:596
Symbol 596 GraphicUses:595Used by:597
Symbol 597 MovieClipUses:596Used by:611 676
Symbol 598 BitmapUsed by:599
Symbol 599 GraphicUses:598Used by:600
Symbol 600 MovieClipUses:599Used by:611 676
Symbol 601 BitmapUsed by:602
Symbol 602 GraphicUses:601Used by:603
Symbol 603 MovieClipUses:602Used by:611 676
Symbol 604 BitmapUsed by:605
Symbol 605 GraphicUses:604Used by:611 647 676 686 734
Symbol 606 BitmapUsed by:607
Symbol 607 GraphicUses:606Used by:611 676
Symbol 608 BitmapUsed by:609
Symbol 609 GraphicUses:608Used by:610 647 686 734
Symbol 610 MovieClipUses:609Used by:611 676
Symbol 611 MovieClip {assets.DoorDoubleFutureUI} [assets.DoorDoubleFutureUI]Uses:594 597 600 603 605 607 610
Symbol 612 BitmapUsed by:613
Symbol 613 GraphicUses:612Used by:614
Symbol 614 MovieClip {assets.HumanUI} [assets.HumanUI]Uses:613 579
Symbol 615 GraphicUses:589Used by:617
Symbol 616 GraphicUses:591Used by:617
Symbol 617 MovieClip {assets.CameraRightUI} [assets.CameraRightUI]Uses:615 616
Symbol 618 BitmapUsed by:619
Symbol 619 GraphicUses:618Used by:625
Symbol 620 BitmapUsed by:621
Symbol 621 GraphicUses:620Used by:625
Symbol 622 BitmapUsed by:623
Symbol 623 GraphicUses:622Used by:624
Symbol 624 MovieClipUses:623Used by:625
Symbol 625 MovieClip {assets.Robot2UI} [assets.Robot2UI]Uses:160 619 621 624 565 567 569 571 573 575 577 429 431 433 435 437 439 441 443 445 447 579
Symbol 626 BitmapUsed by:627
Symbol 627 GraphicUses:626Used by:628
Symbol 628 MovieClip {assets.KeypadUI} [assets.KeypadUI]Uses:627 100
Symbol 629 BitmapUsed by:630
Symbol 630 GraphicUses:629Used by:631
Symbol 631 MovieClip {assets.TerminalFutureUI} [assets.TerminalFutureUI]Uses:630
Symbol 632 BitmapUsed by:633
Symbol 633 GraphicUses:632Used by:636
Symbol 634 BitmapUsed by:635
Symbol 635 GraphicUses:634Used by:636
Symbol 636 MovieClip {assets.SwitchUI} [assets.SwitchUI]Uses:633 635 362
Symbol 637 BitmapUsed by:638
Symbol 638 GraphicUses:637Used by:647 686 734
Symbol 639 BitmapUsed by:640
Symbol 640 GraphicUses:639Used by:641
Symbol 641 MovieClipUses:640Used by:647
Symbol 642 BitmapUsed by:643
Symbol 643 GraphicUses:642Used by:644
Symbol 644 MovieClipUses:643Used by:647 686 734
Symbol 645 BitmapUsed by:646
Symbol 646 GraphicUses:645Used by:647 686 734
Symbol 647 MovieClip {assets.Mutant4} [assets.Mutant4]Uses:638 293 641 644 605 646 609
Symbol 648 BitmapUsed by:649 669
Symbol 649 GraphicUses:648Used by:654
Symbol 650 BitmapUsed by:651 670
Symbol 651 GraphicUses:650Used by:654
Symbol 652 BitmapUsed by:653 671
Symbol 653 GraphicUses:652Used by:654
Symbol 654 MovieClip {assets.SensorBottomUI} [assets.SensorBottomUI]Uses:649 651 653
Symbol 655 BitmapUsed by:656
Symbol 656 GraphicUses:655Used by:668 747
Symbol 657 BitmapUsed by:658 745
Symbol 658 GraphicUses:657Used by:659
Symbol 659 MovieClipUses:658Used by:668
Symbol 660 BitmapUsed by:661 703
Symbol 661 GraphicUses:660Used by:668 747
Symbol 662 BitmapUsed by:663
Symbol 663 GraphicUses:662Used by:668 747
Symbol 664 BitmapUsed by:665
Symbol 665 GraphicUses:664Used by:666
Symbol 666 MovieClipUses:665Used by:668 715 735 747
Symbol 667 GraphicUsed by:668 693 715 735 747
Symbol 668 MovieClip {assets.DoorSingleSteelUI} [assets.DoorSingleSteelUI]Uses:656 659 661 663 666 667
Symbol 669 GraphicUses:648Used by:672
Symbol 670 GraphicUses:650Used by:672
Symbol 671 GraphicUses:652Used by:672
Symbol 672 MovieClip {assets.SensorTopUI} [assets.SensorTopUI]Uses:669 670 671
Symbol 673 BitmapUsed by:674
Symbol 674 GraphicUses:673Used by:675
Symbol 675 MovieClipUses:674Used by:676
Symbol 676 MovieClip {assets.DoorDoubleFutureExitUI} [assets.DoorDoubleFutureExitUI]Uses:594 597 600 603 605 675 607 610
Symbol 677 BitmapUsed by:679 681
Symbol 678 BitmapUsed by:679
Symbol 679 GraphicUses:677 678Used by:682
Symbol 680 BitmapUsed by:681
Symbol 681 GraphicUses:677 680Used by:682
Symbol 682 MovieClip {assets.SwitchFutureUI} [assets.SwitchFutureUI]Uses:679 681
Symbol 683 BitmapUsed by:684
Symbol 684 GraphicUses:683Used by:685
Symbol 685 MovieClipUses:684Used by:686
Symbol 686 MovieClip {assets.Mutant3} [assets.Mutant3]Uses:638 293 685 644 605 646 609
Symbol 687 BitmapUsed by:688
Symbol 688 GraphicUses:687Used by:689
Symbol 689 MovieClipUses:688Used by:693
Symbol 690 BitmapUsed by:691
Symbol 691 GraphicUses:690Used by:692
Symbol 692 MovieClipUses:691Used by:693
Symbol 693 MovieClip {assets.Mutant1} [assets.Mutant1]Uses:689 667 692
Symbol 694 BitmapUsed by:695
Symbol 695 GraphicUses:694Used by:715 735
Symbol 696 BitmapUsed by:697
Symbol 697 GraphicUses:696Used by:698
Symbol 698 MovieClipUses:697Used by:715 735
Symbol 699 BitmapUsed by:700
Symbol 700 GraphicUses:699Used by:701
Symbol 701 MovieClipUses:700Used by:715 735
Symbol 702 BitmapUsed by:703
Symbol 703 GraphicUses:702 660Used by:715 735
Symbol 704 BitmapUsed by:705
Symbol 705 GraphicUses:704Used by:706
Symbol 706 MovieClipUses:705Used by:715
Symbol 707 BitmapUsed by:708
Symbol 708 GraphicUses:707Used by:709
Symbol 709 MovieClipUses:708Used by:715
Symbol 710 BitmapUsed by:711
Symbol 711 GraphicUses:710Used by:715 735
Symbol 712 BitmapUsed by:713
Symbol 713 GraphicUses:712Used by:714
Symbol 714 MovieClipUses:713Used by:715 735
Symbol 715 MovieClip {assets.DoorDoubleSteelExitUI} [assets.DoorDoubleSteelExitUI]Uses:695 698 701 703 706 709 711 666 714 667
Symbol 716 BitmapUsed by:717
Symbol 717 GraphicUses:716Used by:719
Symbol 718 GraphicUsed by:719
Symbol 719 MovieClip {assets.WiresUI} [assets.WiresUI]Uses:717 718 100
Symbol 720 BitmapUsed by:721
Symbol 721 GraphicUses:720Used by:730
Symbol 722 BitmapUsed by:723 729
Symbol 723 GraphicUses:722Used by:730
Symbol 724 BitmapUsed by:725
Symbol 725 GraphicUses:724Used by:730
Symbol 726 GraphicUsed by:727
Symbol 727 MovieClipUses:726Used by:728
Symbol 728 MovieClipUses:727Used by:730
Symbol 729 GraphicUses:722Used by:730
Symbol 730 MovieClip {assets.LaserFutureUI} [assets.LaserFutureUI]Uses:721 723 725 728 729
Symbol 731 BitmapUsed by:732
Symbol 732 GraphicUses:731Used by:733
Symbol 733 MovieClipUses:732Used by:734
Symbol 734 MovieClip {assets.Mutant2} [assets.Mutant2]Uses:638 293 733 644 605 646 609
Symbol 735 MovieClip {assets.DoorDoubleSteelUI} [assets.DoorDoubleSteelUI]Uses:695 698 701 703 711 666 714 667
Symbol 736 GraphicUsed by:743
Symbol 737 BitmapUsed by:738
Symbol 738 GraphicUses:737Used by:743
Symbol 739 BitmapUsed by:740
Symbol 740 GraphicUses:739Used by:743
Symbol 741 BitmapUsed by:742
Symbol 742 GraphicUses:741Used by:743
Symbol 743 MovieClip {assets.LaserBigUI} [assets.LaserBigUI]Uses:736 738 740 742
Symbol 744 BitmapUsed by:745
Symbol 745 GraphicUses:744 657Used by:746
Symbol 746 MovieClipUses:745Used by:747
Symbol 747 MovieClip {assets.DoorSingleSteelExitUI} [assets.DoorSingleSteelExitUI]Uses:656 746 661 663 666 667
Symbol 748 EditableTextUses:288Used by:793
Symbol 749 BitmapUsed by:750
Symbol 750 GraphicUses:749Used by:751
Symbol 751 MovieClipUses:750Used by:793
Symbol 752 BitmapUsed by:753
Symbol 753 GraphicUses:752Used by:754
Symbol 754 MovieClipUses:753Used by:793
Symbol 755 BitmapUsed by:756
Symbol 756 GraphicUses:755Used by:757
Symbol 757 MovieClipUses:756Used by:758
Symbol 758 MovieClip {assets_fla.loginButton_150} [assets_fla.loginButton_150]Uses:757 252Used by:793 817
Symbol 759 BitmapUsed by:760
Symbol 760 GraphicUses:759Used by:761
Symbol 761 MovieClipUses:760Used by:762
Symbol 762 MovieClip {assets_fla.submitScoreClose_152} [assets_fla.submitScoreClose_152]Uses:761 252Used by:793
Symbol 763 BitmapUsed by:764
Symbol 764 GraphicUses:763Used by:765
Symbol 765 MovieClipUses:764Used by:793 817
Symbol 766 BitmapUsed by:767
Symbol 767 GraphicUses:766Used by:768
Symbol 768 MovieClipUses:767Used by:770
Symbol 769 EditableTextUses:57Used by:770
Symbol 770 MovieClip {assets_fla.loginEntry_155} [assets_fla.loginEntry_155]Uses:768 769Used by:793 817
Symbol 771 TextUses:57Used by:793
Symbol 772 BitmapUsed by:773
Symbol 773 GraphicUses:772Used by:774
Symbol 774 MovieClipUses:773Used by:775
Symbol 775 ButtonUses:774 293Used by:793
Symbol 776 BitmapUsed by:777
Symbol 777 GraphicUses:776Used by:778
Symbol 778 MovieClipUses:777Used by:793
Symbol 779 BitmapUsed by:780
Symbol 780 GraphicUses:779Used by:781
Symbol 781 MovieClipUses:780Used by:793
Symbol 782 BitmapUsed by:783
Symbol 783 GraphicUses:782Used by:784
Symbol 784 MovieClipUses:783Used by:785
Symbol 785 MovieClip {assets_fla.tryAgainButton_161} [assets_fla.tryAgainButton_161]Uses:784 252Used by:793 817
Symbol 786 BitmapUsed by:787
Symbol 787 GraphicUses:786Used by:788
Symbol 788 MovieClipUses:787Used by:789
Symbol 789 MovieClip {assets_fla.skipButton_163} [assets_fla.skipButton_163]Uses:788 252Used by:793 817
Symbol 790 BitmapUsed by:791
Symbol 791 GraphicUses:790Used by:792
Symbol 792 MovieClipUses:791Used by:793 817
Symbol 793 MovieClip {assets.pages.SubmitScoreUI} [assets.pages.SubmitScoreUI]Uses:118 6 748 751 754 758 762 765 770 771 775 778 781 785 789 792
Symbol 794 GraphicUsed by:798
Symbol 795 BitmapUsed by:796
Symbol 796 GraphicUses:795Used by:798
Symbol 797 MovieClipUses:160Used by:798
Symbol 798 MovieClip {assets.MedalSmall} [assets.MedalSmall]Uses:794 796 797 159
Symbol 799 BitmapUsed by:800
Symbol 800 GraphicUses:799Used by:801
Symbol 801 MovieClipUses:800Used by:802
Symbol 802 MovieClip {assets_fla.registerButton_183} [assets_fla.registerButton_183]Uses:801 252Used by:817
Symbol 803 TextUses:57Used by:817
Symbol 804 TextUses:57Used by:817
Symbol 805 BitmapUsed by:806
Symbol 806 GraphicUses:805Used by:817
Symbol 807 BitmapUsed by:808
Symbol 808 GraphicUses:807Used by:809
Symbol 809 MovieClipUses:808Used by:817
Symbol 810 BitmapUsed by:811
Symbol 811 GraphicUses:810Used by:812
Symbol 812 MovieClipUses:811Used by:817
Symbol 813 BitmapUsed by:814
Symbol 814 GraphicUses:813Used by:815
Symbol 815 MovieClipUses:814Used by:817
Symbol 816 EditableTextUses:288Used by:817
Symbol 817 MovieClip {assets.MarvelLoginUI} [assets.MarvelLoginUI]Uses:118 758 789 802 770 803 804 806 6 809 765 812 815 792 785 816
Symbol 818 GraphicUsed by:821
Symbol 819 FontUsed by:820
Symbol 820 EditableTextUses:819Used by:821
Symbol 821 MovieClip {assets.MessageBoxUI} [assets.MessageBoxUI]Uses:818 820
Streaming Sound 1Used by:Symbol 343 MovieClip {assets.VideoUnlockSequence} [assets.VideoUnlockSequence]
Streaming Sound 2Used by:Symbol 345 MovieClip {assets.VideoIntroSequence} [assets.VideoIntroSequence]
Streaming Sound 3Used by:Symbol 347 MovieClip {assets.VideoEndSequence} [assets.VideoEndSequence]

Instance Names

"bar"Symbol 16 MovieClip {assets.Preloader} [assets.Preloader] Frame 1Symbol 10 MovieClip
"hover"Symbol 59 MovieClip {assets_fla.HudUI_19} [assets_fla.HudUI_19] Frame 1Symbol 56 MovieClip
"label"Symbol 59 MovieClip {assets_fla.HudUI_19} [assets_fla.HudUI_19] Frame 1Symbol 58 EditableText
"hover"Symbol 63 MovieClip {assets_fla.HudUi_21} [assets_fla.HudUi_21] Frame 1Symbol 61 MovieClip
"label"Symbol 63 MovieClip {assets_fla.HudUi_21} [assets_fla.HudUi_21] Frame 1Symbol 62 EditableText
"hover"Symbol 67 MovieClip {assets_fla.HudUi_23} [assets_fla.HudUi_23] Frame 1Symbol 65 MovieClip
"label"Symbol 67 MovieClip {assets_fla.HudUi_23} [assets_fla.HudUi_23] Frame 1Symbol 66 EditableText
"hover"Symbol 71 MovieClip {assets_fla.HudUi_25} [assets_fla.HudUi_25] Frame 1Symbol 69 MovieClip
"label"Symbol 71 MovieClip {assets_fla.HudUi_25} [assets_fla.HudUi_25] Frame 1Symbol 70 EditableText
"hover"Symbol 77 MovieClip {assets_fla.HudUI_28} [assets_fla.HudUI_28] Frame 1Symbol 75 MovieClip
"label"Symbol 77 MovieClip {assets_fla.HudUI_28} [assets_fla.HudUI_28] Frame 1Symbol 76 EditableText
"hover"Symbol 81 MovieClip {assets_fla.HudUI_30} [assets_fla.HudUI_30] Frame 1Symbol 79 MovieClip
"label"Symbol 81 MovieClip {assets_fla.HudUI_30} [assets_fla.HudUI_30] Frame 1Symbol 80 EditableText
"ButtonPause"Symbol 83 MovieClip {assets_fla.HudUI_27} [assets_fla.HudUI_27] Frame 1Symbol 77 MovieClip {assets_fla.HudUI_28} [assets_fla.HudUI_28]
"ButtonMain"Symbol 83 MovieClip {assets_fla.HudUI_27} [assets_fla.HudUI_27] Frame 1Symbol 81 MovieClip {assets_fla.HudUI_30} [assets_fla.HudUI_30]
"BaseHelp"Symbol 84 MovieClip {assets.HudUIButtons} [assets.HudUIButtons] Frame 1Symbol 45 MovieClip
"BaseShare"Symbol 84 MovieClip {assets.HudUIButtons} [assets.HudUIButtons] Frame 1Symbol 48 MovieClip
"BaseMore"Symbol 84 MovieClip {assets.HudUIButtons} [assets.HudUIButtons] Frame 1Symbol 51 MovieClip
"BaseScores"Symbol 84 MovieClip {assets.HudUIButtons} [assets.HudUIButtons] Frame 1Symbol 54 MovieClip
"ButtonHelp"Symbol 84 MovieClip {assets.HudUIButtons} [assets.HudUIButtons] Frame 1Symbol 59 MovieClip {assets_fla.HudUI_19} [assets_fla.HudUI_19]
"ButtonScores"Symbol 84 MovieClip {assets.HudUIButtons} [assets.HudUIButtons] Frame 1Symbol 63 MovieClip {assets_fla.HudUi_21} [assets_fla.HudUi_21]
"ButtonMore"Symbol 84 MovieClip {assets.HudUIButtons} [assets.HudUIButtons] Frame 1Symbol 67 MovieClip {assets_fla.HudUi_23} [assets_fla.HudUi_23]
"ButtonShare"Symbol 84 MovieClip {assets.HudUIButtons} [assets.HudUIButtons] Frame 1Symbol 71 MovieClip {assets_fla.HudUi_25} [assets_fla.HudUi_25]
"InGame"Symbol 84 MovieClip {assets.HudUIButtons} [assets.HudUIButtons] Frame 1Symbol 83 MovieClip {assets_fla.HudUI_27} [assets_fla.HudUI_27]
"musicSlider"Symbol 111 MovieClip {assets_fla.SoundControls_135} [assets_fla.SoundControls_135] Frame 1Symbol 102 MovieClip {assets_fla.soundSlider_136} [assets_fla.soundSlider_136]
"soundSlider"Symbol 111 MovieClip {assets_fla.SoundControls_135} [assets_fla.SoundControls_135] Frame 1Symbol 102 MovieClip {assets_fla.soundSlider_136} [assets_fla.soundSlider_136]
"soundButton"Symbol 111 MovieClip {assets_fla.SoundControls_135} [assets_fla.SoundControls_135] Frame 1Symbol 110 Button
"musicButton"Symbol 111 MovieClip {assets_fla.SoundControls_135} [assets_fla.SoundControls_135] Frame 1Symbol 110 Button
"top"Symbol 115 MovieClip {assets.HudUI} [assets.HudUI] Frame 1Symbol 87 MovieClip
"soundControls"Symbol 115 MovieClip {assets.HudUI} [assets.HudUI] Frame 1Symbol 111 MovieClip {assets_fla.SoundControls_135} [assets_fla.SoundControls_135]
"scoretext"Symbol 115 MovieClip {assets.HudUI} [assets.HudUI] Frame 1Symbol 112 EditableText
"btnMarvel"Symbol 115 MovieClip {assets.HudUI} [assets.HudUI] Frame 1Symbol 114 Button
"btnCredits"Symbol 115 MovieClip {assets.HudUI} [assets.HudUI] Frame 1Symbol 114 Button
"btnXmen"Symbol 115 MovieClip {assets.HudUI} [assets.HudUI] Frame 1Symbol 114 Button
"titleText"Symbol 159 MovieClip {assets_fla.tooltip_12} [assets_fla.tooltip_12] Frame 1Symbol 157 EditableText
"descriptionText"Symbol 159 MovieClip {assets_fla.tooltip_12} [assets_fla.tooltip_12] Frame 1Symbol 158 EditableText
"scratch"Symbol 162 MovieClip {assets_fla.medalsOverlay_116} [assets_fla.medalsOverlay_116] Frame 1Symbol 154 MovieClip
"toolTip"Symbol 162 MovieClip {assets_fla.medalsOverlay_116} [assets_fla.medalsOverlay_116] Frame 1Symbol 159 MovieClip {assets_fla.tooltip_12} [assets_fla.tooltip_12]
"hit"Symbol 162 MovieClip {assets_fla.medalsOverlay_116} [assets_fla.medalsOverlay_116] Frame 1Symbol 161 MovieClip
"baseSecret"Symbol 166 MovieClip {assets.pages.MedalsUI} [assets.pages.MedalsUI] Frame 1Symbol 124 MovieClip
"baseIntel"Symbol 166 MovieClip {assets.pages.MedalsUI} [assets.pages.MedalsUI] Frame 1Symbol 127 MovieClip
"baseNinja"Symbol 166 MovieClip {assets.pages.MedalsUI} [assets.pages.MedalsUI] Frame 1Symbol 130 MovieClip
"baseDestroyer"Symbol 166 MovieClip {assets.pages.MedalsUI} [assets.pages.MedalsUI] Frame 1Symbol 133 MovieClip
"baseSabotuer"Symbol 166 MovieClip {assets.pages.MedalsUI} [assets.pages.MedalsUI] Frame 1Symbol 136 MovieClip
"baseWeaponx"Symbol 166 MovieClip {assets.pages.MedalsUI} [assets.pages.MedalsUI] Frame 1Symbol 139 MovieClip
"baseBest"Symbol 166 MovieClip {assets.pages.MedalsUI} [assets.pages.MedalsUI] Frame 1Symbol 142 MovieClip
"baseScrapyard"Symbol 166 MovieClip {assets.pages.MedalsUI} [assets.pages.MedalsUI] Frame 1Symbol 145 MovieClip
"baseMastermind"Symbol 166 MovieClip {assets.pages.MedalsUI} [assets.pages.MedalsUI] Frame 1Symbol 148 MovieClip
"baseGenius"Symbol 166 MovieClip {assets.pages.MedalsUI} [assets.pages.MedalsUI] Frame 1Symbol 151 MovieClip
"medalWeaponX"Symbol 166 MovieClip {assets.pages.MedalsUI} [assets.pages.MedalsUI] Frame 1Symbol 162 MovieClip {assets_fla.medalsOverlay_116} [assets_fla.medalsOverlay_116]
"medalBest"Symbol 166 MovieClip {assets.pages.MedalsUI} [assets.pages.MedalsUI] Frame 1Symbol 162 MovieClip {assets_fla.medalsOverlay_116} [assets_fla.medalsOverlay_116]
"medalScrapyard"Symbol 166 MovieClip {assets.pages.MedalsUI} [assets.pages.MedalsUI] Frame 1Symbol 162 MovieClip {assets_fla.medalsOverlay_116} [assets_fla.medalsOverlay_116]
"medalMastermind"Symbol 166 MovieClip {assets.pages.MedalsUI} [assets.pages.MedalsUI] Frame 1Symbol 162 MovieClip {assets_fla.medalsOverlay_116} [assets_fla.medalsOverlay_116]
"medalGenius"Symbol 166 MovieClip {assets.pages.MedalsUI} [assets.pages.MedalsUI] Frame 1Symbol 162 MovieClip {assets_fla.medalsOverlay_116} [assets_fla.medalsOverlay_116]
"medalSaboteur"Symbol 166 MovieClip {assets.pages.MedalsUI} [assets.pages.MedalsUI] Frame 1Symbol 162 MovieClip {assets_fla.medalsOverlay_116} [assets_fla.medalsOverlay_116]
"medalDestroyer"Symbol 166 MovieClip {assets.pages.MedalsUI} [assets.pages.MedalsUI] Frame 1Symbol 162 MovieClip {assets_fla.medalsOverlay_116} [assets_fla.medalsOverlay_116]
"medalIntel"Symbol 166 MovieClip {assets.pages.MedalsUI} [assets.pages.MedalsUI] Frame 1Symbol 162 MovieClip {assets_fla.medalsOverlay_116} [assets_fla.medalsOverlay_116]
"medalSecret"Symbol 166 MovieClip {assets.pages.MedalsUI} [assets.pages.MedalsUI] Frame 1Symbol 162 MovieClip {assets_fla.medalsOverlay_116} [assets_fla.medalsOverlay_116]
"medalNinja"Symbol 166 MovieClip {assets.pages.MedalsUI} [assets.pages.MedalsUI] Frame 1Symbol 162 MovieClip {assets_fla.medalsOverlay_116} [assets_fla.medalsOverlay_116]
"sponsor"Symbol 203 MovieClip {assets.pages.TitleUI} [assets.pages.TitleUI] Frame 1Symbol 170 MovieClip
"pageRogue"Symbol 248 MovieClip {assets.pages.MutantsUI} [assets.pages.MutantsUI] Frame 1Symbol 220 MovieClip
"pageShadowcat"Symbol 248 MovieClip {assets.pages.MutantsUI} [assets.pages.MutantsUI] Frame 1Symbol 226 MovieClip
"pageBeast"Symbol 248 MovieClip {assets.pages.MutantsUI} [assets.pages.MutantsUI] Frame 1Symbol 232 MovieClip
"pageCyclops"Symbol 248 MovieClip {assets.pages.MutantsUI} [assets.pages.MutantsUI] Frame 1Symbol 238 MovieClip
"pageWolverine"Symbol 248 MovieClip {assets.pages.MutantsUI} [assets.pages.MutantsUI] Frame 1Symbol 244 MovieClip
"next"Symbol 269 MovieClip {assets.pages.mutantButtons} [assets.pages.mutantButtons] Frame 1Symbol 253 MovieClip {assets_fla.highscoresNavArrow_2} [assets_fla.highscoresNavArrow_2]
"prev"Symbol 269 MovieClip {assets.pages.mutantButtons} [assets.pages.mutantButtons] Frame 1Symbol 253 MovieClip {assets_fla.highscoresNavArrow_2} [assets_fla.highscoresNavArrow_2]
"iconRogue"Symbol 269 MovieClip {assets.pages.mutantButtons} [assets.pages.mutantButtons] Frame 1Symbol 256 MovieClip
"iconShadowcat"Symbol 269 MovieClip {assets.pages.mutantButtons} [assets.pages.mutantButtons] Frame 1Symbol 259 MovieClip
"iconBeast"Symbol 269 MovieClip {assets.pages.mutantButtons} [assets.pages.mutantButtons] Frame 1Symbol 262 MovieClip
"iconCyclops"Symbol 269 MovieClip {assets.pages.mutantButtons} [assets.pages.mutantButtons] Frame 1Symbol 265 MovieClip
"iconWolverine"Symbol 269 MovieClip {assets.pages.mutantButtons} [assets.pages.mutantButtons] Frame 1Symbol 268 MovieClip
"buttonContainer"Symbol 285 MovieClip {assets.HudStartUI} [assets.HudStartUI] Frame 1Symbol 10 MovieClip
"btnStart"Symbol 285 MovieClip {assets.HudStartUI} [assets.HudStartUI] Frame 1Symbol 283 Button
"textScore"Symbol 301 MovieClip {assets.LevelEndFailedUI} [assets.LevelEndFailedUI] Frame 1Symbol 289 EditableText
"btnPlay"Symbol 301 MovieClip {assets.LevelEndFailedUI} [assets.LevelEndFailedUI] Frame 1Symbol 294 Button
"textTime"Symbol 327 MovieClip {assets.LevelEndGameCompleteUI} [assets.LevelEndGameCompleteUI] Frame 1Symbol 302 EditableText
"textAlarms"Symbol 327 MovieClip {assets.LevelEndGameCompleteUI} [assets.LevelEndGameCompleteUI] Frame 1Symbol 303 EditableText
"textScore"Symbol 327 MovieClip {assets.LevelEndGameCompleteUI} [assets.LevelEndGameCompleteUI] Frame 1Symbol 304 EditableText
"textBonusPoints"Symbol 327 MovieClip {assets.LevelEndGameCompleteUI} [assets.LevelEndGameCompleteUI] Frame 1Symbol 305 EditableText
"medalsEarned"Symbol 327 MovieClip {assets.LevelEndGameCompleteUI} [assets.LevelEndGameCompleteUI] Frame 1Symbol 10 MovieClip
"textGameTime"Symbol 327 MovieClip {assets.LevelEndGameCompleteUI} [assets.LevelEndGameCompleteUI] Frame 1Symbol 302 EditableText
"textTime"Symbol 339 MovieClip {assets.LevelEndCompleteUI} [assets.LevelEndCompleteUI] Frame 1Symbol 328 EditableText
"textAlarms"Symbol 339 MovieClip {assets.LevelEndCompleteUI} [assets.LevelEndCompleteUI] Frame 1Symbol 329 EditableText
"textScore"Symbol 339 MovieClip {assets.LevelEndCompleteUI} [assets.LevelEndCompleteUI] Frame 1Symbol 330 EditableText
"textBonusPoints"Symbol 339 MovieClip {assets.LevelEndCompleteUI} [assets.LevelEndCompleteUI] Frame 1Symbol 331 EditableText
"medalsEarned"Symbol 339 MovieClip {assets.LevelEndCompleteUI} [assets.LevelEndCompleteUI] Frame 1Symbol 10 MovieClip
"btnPlay"Symbol 339 MovieClip {assets.LevelEndCompleteUI} [assets.LevelEndCompleteUI] Frame 1Symbol 335 Button
"hover"Symbol 359 MovieClip {assets.HudItemUI} [assets.HudItemUI] Frame 1Symbol 352 MovieClip
"titleText"Symbol 359 MovieClip {assets.HudItemUI} [assets.HudItemUI] Frame 1Symbol 353 EditableText
"locked"Symbol 359 MovieClip {assets.HudItemUI} [assets.HudItemUI] Frame 1Symbol 357 MovieClip
"infoText"Symbol 387 MovieClip {assets.MiniGameIntro} [assets.MiniGameIntro] Frame 1Symbol 379 EditableText
"btnClose"Symbol 387 MovieClip {assets.MiniGameIntro} [assets.MiniGameIntro] Frame 1Symbol 385 Button
"infoText"Symbol 392 MovieClip {assets.MiniGameTerminal} [assets.MiniGameTerminal] Frame 1Symbol 391 EditableText
"btnClose"Symbol 392 MovieClip {assets.MiniGameTerminal} [assets.MiniGameTerminal] Frame 1Symbol 385 Button
"base"Symbol 402 MovieClip {assets_fla.Key_68} [assets_fla.Key_68] Frame 1Symbol 395 MovieClip
"digit"Symbol 402 MovieClip {assets_fla.Key_68} [assets_fla.Key_68] Frame 1Symbol 397 EditableText
"sheen"Symbol 402 MovieClip {assets_fla.Key_68} [assets_fla.Key_68] Frame 1Symbol 399 MovieClip
"digitsText"Symbol 406 MovieClip {assets_fla.Terminal_72} [assets_fla.Terminal_72] Frame 1Symbol 405 EditableText
"key4"Symbol 417 MovieClip {assets.MiniGameKeyboard} [assets.MiniGameKeyboard] Frame 1Symbol 402 MovieClip {assets_fla.Key_68} [assets_fla.Key_68]
"key1"Symbol 417 MovieClip {assets.MiniGameKeyboard} [assets.MiniGameKeyboard] Frame 1Symbol 402 MovieClip {assets_fla.Key_68} [assets_fla.Key_68]
"key7"Symbol 417 MovieClip {assets.MiniGameKeyboard} [assets.MiniGameKeyboard] Frame 1Symbol 402 MovieClip {assets_fla.Key_68} [assets_fla.Key_68]
"key5"Symbol 417 MovieClip {assets.MiniGameKeyboard} [assets.MiniGameKeyboard] Frame 1Symbol 402 MovieClip {assets_fla.Key_68} [assets_fla.Key_68]
"key2"Symbol 417 MovieClip {assets.MiniGameKeyboard} [assets.MiniGameKeyboard] Frame 1Symbol 402 MovieClip {assets_fla.Key_68} [assets_fla.Key_68]
"key8"Symbol 417 MovieClip {assets.MiniGameKeyboard} [assets.MiniGameKeyboard] Frame 1Symbol 402 MovieClip {assets_fla.Key_68} [assets_fla.Key_68]
"key6"Symbol 417 MovieClip {assets.MiniGameKeyboard} [assets.MiniGameKeyboard] Frame 1Symbol 402 MovieClip {assets_fla.Key_68} [assets_fla.Key_68]
"key3"Symbol 417 MovieClip {assets.MiniGameKeyboard} [assets.MiniGameKeyboard] Frame 1Symbol 402 MovieClip {assets_fla.Key_68} [assets_fla.Key_68]
"key9"Symbol 417 MovieClip {assets.MiniGameKeyboard} [assets.MiniGameKeyboard] Frame 1Symbol 402 MovieClip {assets_fla.Key_68} [assets_fla.Key_68]
"status"Symbol 417 MovieClip {assets.MiniGameKeyboard} [assets.MiniGameKeyboard] Frame 1Symbol 404 MovieClip {assets_fla.Terminal_71} [assets_fla.Terminal_71]
"digits"Symbol 417 MovieClip {assets.MiniGameKeyboard} [assets.MiniGameKeyboard] Frame 1Symbol 406 MovieClip {assets_fla.Terminal_72} [assets_fla.Terminal_72]
"btnClose"Symbol 417 MovieClip {assets.MiniGameKeyboard} [assets.MiniGameKeyboard] Frame 1Symbol 385 Button
"btnClear"Symbol 417 MovieClip {assets.MiniGameKeyboard} [assets.MiniGameKeyboard] Frame 1Symbol 413 Button
"btnSubmit"Symbol 417 MovieClip {assets.MiniGameKeyboard} [assets.MiniGameKeyboard] Frame 1Symbol 416 Button
"greenbar"Symbol 460 MovieClip {assets.MiniGameWires} [assets.MiniGameWires] Frame 1Symbol 425 MovieClip
"wires"Symbol 460 MovieClip {assets.MiniGameWires} [assets.MiniGameWires] Frame 1Symbol 455 MovieClip {assets_fla.Wires_78} [assets_fla.Wires_78]
"claw"Symbol 460 MovieClip {assets.MiniGameWires} [assets.MiniGameWires] Frame 1Symbol 456 MovieClip {assets_fla.Clawcopy_80} [assets_fla.Clawcopy_80]
"btnClose"Symbol 460 MovieClip {assets.MiniGameWires} [assets.MiniGameWires] Frame 1Symbol 385 Button
"btnGreen"Symbol 460 MovieClip {assets.MiniGameWires} [assets.MiniGameWires] Frame 1Symbol 114 Button
"btnBlue"Symbol 460 MovieClip {assets.MiniGameWires} [assets.MiniGameWires] Frame 1Symbol 114 Button
"btnRed"Symbol 460 MovieClip {assets.MiniGameWires} [assets.MiniGameWires] Frame 1Symbol 114 Button
"button"Symbol 758 MovieClip {assets_fla.loginButton_150} [assets_fla.loginButton_150] Frame 1Symbol 252 Button {NavButtonUI} [NavButtonUI]
"input"Symbol 770 MovieClip {assets_fla.loginEntry_155} [assets_fla.loginEntry_155] Frame 1Symbol 769 EditableText
"button"Symbol 785 MovieClip {assets_fla.tryAgainButton_161} [assets_fla.tryAgainButton_161] Frame 1Symbol 252 Button {NavButtonUI} [NavButtonUI]
"button"Symbol 789 MovieClip {assets_fla.skipButton_163} [assets_fla.skipButton_163] Frame 1Symbol 252 Button {NavButtonUI} [NavButtonUI]
"score"Symbol 793 MovieClip {assets.pages.SubmitScoreUI} [assets.pages.SubmitScoreUI] Frame 8Symbol 748 EditableText
"loginButton"Symbol 793 MovieClip {assets.pages.SubmitScoreUI} [assets.pages.SubmitScoreUI] Frame 8Symbol 758 MovieClip {assets_fla.loginButton_150} [assets_fla.loginButton_150]
"closeButton"Symbol 793 MovieClip {assets.pages.SubmitScoreUI} [assets.pages.SubmitScoreUI] Frame 8Symbol 762 MovieClip {assets_fla.submitScoreClose_152} [assets_fla.submitScoreClose_152]
"nameField"Symbol 793 MovieClip {assets.pages.SubmitScoreUI} [assets.pages.SubmitScoreUI] Frame 21Symbol 770 MovieClip {assets_fla.loginEntry_155} [assets_fla.loginEntry_155]
"submitButton"Symbol 793 MovieClip {assets.pages.SubmitScoreUI} [assets.pages.SubmitScoreUI] Frame 21Symbol 775 Button
"tryAgainButton"Symbol 793 MovieClip {assets.pages.SubmitScoreUI} [assets.pages.SubmitScoreUI] Frame 78Symbol 785 MovieClip {assets_fla.tryAgainButton_161} [assets_fla.tryAgainButton_161]
"skipButton"Symbol 793 MovieClip {assets.pages.SubmitScoreUI} [assets.pages.SubmitScoreUI] Frame 78Symbol 789 MovieClip {assets_fla.skipButton_163} [assets_fla.skipButton_163]
"hit"Symbol 798 MovieClip {assets.MedalSmall} [assets.MedalSmall] Frame 1Symbol 797 MovieClip
"toolTip"Symbol 798 MovieClip {assets.MedalSmall} [assets.MedalSmall] Frame 1Symbol 159 MovieClip {assets_fla.tooltip_12} [assets_fla.tooltip_12]
"button"Symbol 802 MovieClip {assets_fla.registerButton_183} [assets_fla.registerButton_183] Frame 1Symbol 252 Button {NavButtonUI} [NavButtonUI]
"loginButton"Symbol 817 MovieClip {assets.MarvelLoginUI} [assets.MarvelLoginUI] Frame 1Symbol 758 MovieClip {assets_fla.loginButton_150} [assets_fla.loginButton_150]
"skipButton"Symbol 817 MovieClip {assets.MarvelLoginUI} [assets.MarvelLoginUI] Frame 1Symbol 789 MovieClip {assets_fla.skipButton_163} [assets_fla.skipButton_163]
"registerButton"Symbol 817 MovieClip {assets.MarvelLoginUI} [assets.MarvelLoginUI] Frame 1Symbol 802 MovieClip {assets_fla.registerButton_183} [assets_fla.registerButton_183]
"nameEntry"Symbol 817 MovieClip {assets.MarvelLoginUI} [assets.MarvelLoginUI] Frame 1Symbol 770 MovieClip {assets_fla.loginEntry_155} [assets_fla.loginEntry_155]
"passEntry"Symbol 817 MovieClip {assets.MarvelLoginUI} [assets.MarvelLoginUI] Frame 1Symbol 770 MovieClip {assets_fla.loginEntry_155} [assets_fla.loginEntry_155]
"tryAgainButton"Symbol 817 MovieClip {assets.MarvelLoginUI} [assets.MarvelLoginUI] Frame 55Symbol 785 MovieClip {assets_fla.tryAgainButton_161} [assets_fla.tryAgainButton_161]
"skipButton"Symbol 817 MovieClip {assets.MarvelLoginUI} [assets.MarvelLoginUI] Frame 55Symbol 789 MovieClip {assets_fla.skipButton_163} [assets_fla.skipButton_163]
"errorMessage"Symbol 817 MovieClip {assets.MarvelLoginUI} [assets.MarvelLoginUI] Frame 55Symbol 816 EditableText
"description"Symbol 821 MovieClip {assets.MessageBoxUI} [assets.MessageBoxUI] Frame 1Symbol 820 EditableText

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 1456 bytes "<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'><rdf:Description rdf:about='' xmlns ..."
ScriptLimits (65)Timeline Frame 1MaxRecursionDepth: 1000, ScriptTimeout: 60 seconds
ExportAssets (56)Timeline Frame 1Symbol 16 as "assets.Preloader"
ExportAssets (56)Timeline Frame 1Symbol 6 as "assets_fla.scanLines_52"
ExportAssets (56)Timeline Frame 2Symbol 17 as "assets.sfx_access_denied_01"
ExportAssets (56)Timeline Frame 2Symbol 18 as "assets.sfx_dry_fire_02"
ExportAssets (56)Timeline Frame 2Symbol 19 as "assets.sfx_machete_normal_08"
ExportAssets (56)Timeline Frame 2Symbol 20 as "assets.sfx_MRD_level_loop_3"
ExportAssets (56)Timeline Frame 2Symbol 21 as "assets.sfx_cursor"
ExportAssets (56)Timeline Frame 2Symbol 22 as "assets.sfx_wire_slice_01"
ExportAssets (56)Timeline Frame 2Symbol 23 as "assets.sfx_turbolift_doorclose_01"
ExportAssets (56)Timeline Frame 2Symbol 24 as "assets.sfx_throw_whoosh_01"
ExportAssets (56)Timeline Frame 2Symbol 25 as "assets.sfx_MRD_level_loop_4"
ExportAssets (56)Timeline Frame 2Symbol 26 as "assets.sfx_mech_operate_17"
ExportAssets (56)Timeline Frame 2Symbol 27 as "assets.sfx_MRD_level_loop_2"
ExportAssets (56)Timeline Frame 2Symbol 28 as "assets.sfx_throw_whoosh_03"
ExportAssets (56)Timeline Frame 2Symbol 29 as "assets.sfx_tram_crash_01"
ExportAssets (56)Timeline Frame 2Symbol 30 as "assets.sfx_thud2"
ExportAssets (56)Timeline Frame 2Symbol 31 as "assets.sfx_aerial_01"
ExportAssets (56)Timeline Frame 2Symbol 32 as "assets.sfx_machete_heavy_01"
ExportAssets (56)Timeline Frame 2Symbol 33 as "assets.sfx_console_entry_03"
ExportAssets (56)Timeline Frame 2Symbol 34 as "assets.sfx_staff_12"
ExportAssets (56)Timeline Frame 2Symbol 35 as "assets.sfx_machete_normal_04"
ExportAssets (56)Timeline Frame 2Symbol 36 as "assets.sfx_thud"
ExportAssets (56)Timeline Frame 2Symbol 37 as "assets.sfx_charge_kill_stab_01"
ExportAssets (56)Timeline Frame 2Symbol 38 as "assets.sfx_machete_normal_02"
ExportAssets (56)Timeline Frame 2Symbol 39 as "assets.sfx_wall_climb_02"
ExportAssets (56)Timeline Frame 2Symbol 40 as "assets.sfx_auto_turret_scan_01"
ExportAssets (56)Timeline Frame 2Symbol 41 as "assets.sfx_MRD_intro_main"
ExportAssets (56)Timeline Frame 2Symbol 42 as "assets.sfx_SOUNDDOGS_AL_147468"
ExportAssets (56)Timeline Frame 2Symbol 84 as "assets.HudUIButtons"
ExportAssets (56)Timeline Frame 2Symbol 115 as "assets.HudUI"
ExportAssets (56)Timeline Frame 2Symbol 166 as "assets.pages.MedalsUI"
ExportAssets (56)Timeline Frame 2Symbol 203 as "assets.pages.TitleUI"
ExportAssets (56)Timeline Frame 2Symbol 210 as "assets.pages.CreditsUI"
ExportAssets (56)Timeline Frame 2Symbol 248 as "assets.pages.MutantsUI"
ExportAssets (56)Timeline Frame 2Symbol 269 as "assets.pages.mutantButtons"
ExportAssets (56)Timeline Frame 2Symbol 276 as "assets.pages.HelpUI"
ExportAssets (56)Timeline Frame 2Symbol 285 as "assets.HudStartUI"
ExportAssets (56)Timeline Frame 2Symbol 63 as "assets_fla.HudUi_21"
ExportAssets (56)Timeline Frame 2Symbol 67 as "assets_fla.HudUi_23"
ExportAssets (56)Timeline Frame 2Symbol 83 as "assets_fla.HudUI_27"
ExportAssets (56)Timeline Frame 2Symbol 59 as "assets_fla.HudUI_19"
ExportAssets (56)Timeline Frame 2Symbol 71 as "assets_fla.HudUi_25"
ExportAssets (56)Timeline Frame 2Symbol 111 as "assets_fla.SoundControls_135"
ExportAssets (56)Timeline Frame 2Symbol 162 as "assets_fla.medalsOverlay_116"
ExportAssets (56)Timeline Frame 2Symbol 253 as "assets_fla.highscoresNavArrow_2"
ExportAssets (56)Timeline Frame 2Symbol 301 as "assets.LevelEndFailedUI"
ExportAssets (56)Timeline Frame 2Symbol 327 as "assets.LevelEndGameCompleteUI"
ExportAssets (56)Timeline Frame 2Symbol 339 as "assets.LevelEndCompleteUI"
ExportAssets (56)Timeline Frame 2Symbol 343 as "assets.VideoUnlockSequence"
ExportAssets (56)Timeline Frame 2Symbol 345 as "assets.VideoIntroSequence"
ExportAssets (56)Timeline Frame 2Symbol 347 as "assets.VideoEndSequence"
ExportAssets (56)Timeline Frame 2Symbol 350 as "assets.HudItemBaseUI"
ExportAssets (56)Timeline Frame 2Symbol 359 as "assets.HudItemUI"
ExportAssets (56)Timeline Frame 2Symbol 77 as "assets_fla.HudUI_28"
ExportAssets (56)Timeline Frame 2Symbol 81 as "assets_fla.HudUI_30"
ExportAssets (56)Timeline Frame 2Symbol 102 as "assets_fla.soundSlider_136"
ExportAssets (56)Timeline Frame 2Symbol 159 as "assets_fla.tooltip_12"
ExportAssets (56)Timeline Frame 2Symbol 252 as "NavButtonUI"
ExportAssets (56)Timeline Frame 2Symbol 360 as "assets.tilesBackground"
ExportAssets (56)Timeline Frame 2Symbol 361 as "assets.tilesForeground"
ExportAssets (56)Timeline Frame 2Symbol 362 as "assets.Scanline"
ExportAssets (56)Timeline Frame 2Symbol 374 as "assets.MiniGameTerminalScreen"
ExportAssets (56)Timeline Frame 2Symbol 387 as "assets.MiniGameIntro"
ExportAssets (56)Timeline Frame 2Symbol 392 as "assets.MiniGameTerminal"
ExportAssets (56)Timeline Frame 2Symbol 417 as "assets.MiniGameKeyboard"
ExportAssets (56)Timeline Frame 2Symbol 420 as "assets.MiniGameIntroScreenBackground"
ExportAssets (56)Timeline Frame 2Symbol 460 as "assets.MiniGameWires"
ExportAssets (56)Timeline Frame 2Symbol 556 as "assets.HeroUI"
ExportAssets (56)Timeline Frame 2Symbol 580 as "assets.RobotUI"
ExportAssets (56)Timeline Frame 2Symbol 585 as "assets.KeypadFutureUI"
ExportAssets (56)Timeline Frame 2Symbol 588 as "assets.TerminalUI"
ExportAssets (56)Timeline Frame 2Symbol 593 as "assets.CameraLeftUI"
ExportAssets (56)Timeline Frame 2Symbol 611 as "assets.DoorDoubleFutureUI"
ExportAssets (56)Timeline Frame 2Symbol 614 as "assets.HumanUI"
ExportAssets (56)Timeline Frame 2Symbol 617 as "assets.CameraRightUI"
ExportAssets (56)Timeline Frame 2Symbol 625 as "assets.Robot2UI"
ExportAssets (56)Timeline Frame 2Symbol 628 as "assets.KeypadUI"
ExportAssets (56)Timeline Frame 2Symbol 631 as "assets.TerminalFutureUI"
ExportAssets (56)Timeline Frame 2Symbol 636 as "assets.SwitchUI"
ExportAssets (56)Timeline Frame 2Symbol 647 as "assets.Mutant4"
ExportAssets (56)Timeline Frame 2Symbol 654 as "assets.SensorBottomUI"
ExportAssets (56)Timeline Frame 2Symbol 668 as "assets.DoorSingleSteelUI"
ExportAssets (56)Timeline Frame 2Symbol 672 as "assets.SensorTopUI"
ExportAssets (56)Timeline Frame 2Symbol 676 as "assets.DoorDoubleFutureExitUI"
ExportAssets (56)Timeline Frame 2Symbol 682 as "assets.SwitchFutureUI"
ExportAssets (56)Timeline Frame 2Symbol 686 as "assets.Mutant3"
ExportAssets (56)Timeline Frame 2Symbol 693 as "assets.Mutant1"
ExportAssets (56)Timeline Frame 2Symbol 715 as "assets.DoorDoubleSteelExitUI"
ExportAssets (56)Timeline Frame 2Symbol 719 as "assets.WiresUI"
ExportAssets (56)Timeline Frame 2Symbol 730 as "assets.LaserFutureUI"
ExportAssets (56)Timeline Frame 2Symbol 734 as "assets.Mutant2"
ExportAssets (56)Timeline Frame 2Symbol 735 as "assets.DoorDoubleSteelUI"
ExportAssets (56)Timeline Frame 2Symbol 743 as "assets.LaserBigUI"
ExportAssets (56)Timeline Frame 2Symbol 747 as "assets.DoorSingleSteelExitUI"
ExportAssets (56)Timeline Frame 2Symbol 793 as "assets.pages.SubmitScoreUI"
ExportAssets (56)Timeline Frame 2Symbol 798 as "assets.MedalSmall"
ExportAssets (56)Timeline Frame 2Symbol 402 as "assets_fla.Key_68"
ExportAssets (56)Timeline Frame 2Symbol 404 as "assets_fla.Terminal_71"
ExportAssets (56)Timeline Frame 2Symbol 406 as "assets_fla.Terminal_72"
ExportAssets (56)Timeline Frame 2Symbol 455 as "assets_fla.Wires_78"
ExportAssets (56)Timeline Frame 2Symbol 456 as "assets_fla.Clawcopy_80"
ExportAssets (56)Timeline Frame 2Symbol 762 as "assets_fla.submitScoreClose_152"
ExportAssets (56)Timeline Frame 2Symbol 758 as "assets_fla.loginButton_150"
ExportAssets (56)Timeline Frame 2Symbol 770 as "assets_fla.loginEntry_155"
ExportAssets (56)Timeline Frame 2Symbol 789 as "assets_fla.skipButton_163"
ExportAssets (56)Timeline Frame 2Symbol 785 as "assets_fla.tryAgainButton_161"
ExportAssets (56)Timeline Frame 2Symbol 817 as "assets.MarvelLoginUI"
ExportAssets (56)Timeline Frame 2Symbol 821 as "assets.MessageBoxUI"
ExportAssets (56)Timeline Frame 2Symbol 802 as "assets_fla.registerButton_183"
SerialNumber (41)Timeline Frame 1

Labels

"preloader_AbstractPreloaderView"Frame 1
"Main"Frame 2
"off"Symbol 102 MovieClip {assets_fla.soundSlider_136} [assets_fla.soundSlider_136] Frame 2
"on"Symbol 102 MovieClip {assets_fla.soundSlider_136} [assets_fla.soundSlider_136] Frame 9
"intro"Symbol 203 MovieClip {assets.pages.TitleUI} [assets.pages.TitleUI] Frame 2
"loading"Symbol 248 MovieClip {assets.pages.MutantsUI} [assets.pages.MutantsUI] Frame 25
"over"Symbol 253 MovieClip {assets_fla.highscoresNavArrow_2} [assets_fla.highscoresNavArrow_2] Frame 2
"press"Symbol 253 MovieClip {assets_fla.highscoresNavArrow_2} [assets_fla.highscoresNavArrow_2] Frame 11
"release"Symbol 253 MovieClip {assets_fla.highscoresNavArrow_2} [assets_fla.highscoresNavArrow_2] Frame 20
"out"Symbol 253 MovieClip {assets_fla.highscoresNavArrow_2} [assets_fla.highscoresNavArrow_2] Frame 30
"releaseOutside"Symbol 253 MovieClip {assets_fla.highscoresNavArrow_2} [assets_fla.highscoresNavArrow_2] Frame 40
"up"Symbol 402 MovieClip {assets_fla.Key_68} [assets_fla.Key_68] Frame 1
"down"Symbol 402 MovieClip {assets_fla.Key_68} [assets_fla.Key_68] Frame 2
"red"Symbol 404 MovieClip {assets_fla.Terminal_71} [assets_fla.Terminal_71] Frame 1
"green"Symbol 404 MovieClip {assets_fla.Terminal_71} [assets_fla.Terminal_71] Frame 2
"all"Symbol 455 MovieClip {assets_fla.Wires_78} [assets_fla.Wires_78] Frame 1
"green"Symbol 455 MovieClip {assets_fla.Wires_78} [assets_fla.Wires_78] Frame 2
"blue"Symbol 455 MovieClip {assets_fla.Wires_78} [assets_fla.Wires_78] Frame 3
"red"Symbol 455 MovieClip {assets_fla.Wires_78} [assets_fla.Wires_78] Frame 4
"off"Symbol 456 MovieClip {assets_fla.Clawcopy_80} [assets_fla.Clawcopy_80] Frame 1
"swipe"Symbol 456 MovieClip {assets_fla.Clawcopy_80} [assets_fla.Clawcopy_80] Frame 2
"idle"Symbol 556 MovieClip {assets.HeroUI} [assets.HeroUI] Frame 1
"crouch"Symbol 556 MovieClip {assets.HeroUI} [assets.HeroUI] Frame 25
"walk"Symbol 556 MovieClip {assets.HeroUI} [assets.HeroUI] Frame 42
"jumpSmall"Symbol 556 MovieClip {assets.HeroUI} [assets.HeroUI] Frame 60
"attack"Symbol 556 MovieClip {assets.HeroUI} [assets.HeroUI] Frame 71
"fall"Symbol 556 MovieClip {assets.HeroUI} [assets.HeroUI] Frame 81
"hold"Symbol 556 MovieClip {assets.HeroUI} [assets.HeroUI] Frame 91
"hit"Symbol 556 MovieClip {assets.HeroUI} [assets.HeroUI] Frame 98
"doorIn"Symbol 556 MovieClip {assets.HeroUI} [assets.HeroUI] Frame 110
"doorOut"Symbol 556 MovieClip {assets.HeroUI} [assets.HeroUI] Frame 118
"toCrawl"Symbol 556 MovieClip {assets.HeroUI} [assets.HeroUI] Frame 126
"fromCrawl"Symbol 556 MovieClip {assets.HeroUI} [assets.HeroUI] Frame 139
"roofHold"Symbol 556 MovieClip {assets.HeroUI} [assets.HeroUI] Frame 145
"roofMove"Symbol 556 MovieClip {assets.HeroUI} [assets.HeroUI] Frame 173
"attack2"Symbol 556 MovieClip {assets.HeroUI} [assets.HeroUI] Frame 198
"crawl"Symbol 556 MovieClip {assets.HeroUI} [assets.HeroUI] Frame 209
"walkStart"Symbol 580 MovieClip {assets.RobotUI} [assets.RobotUI] Frame 1
"walkEnd"Symbol 580 MovieClip {assets.RobotUI} [assets.RobotUI] Frame 7
"explodeStart"Symbol 580 MovieClip {assets.RobotUI} [assets.RobotUI] Frame 8
"explodeEnd"Symbol 580 MovieClip {assets.RobotUI} [assets.RobotUI] Frame 30
"huhStart"Symbol 580 MovieClip {assets.RobotUI} [assets.RobotUI] Frame 31
"huhEnd"Symbol 580 MovieClip {assets.RobotUI} [assets.RobotUI] Frame 38
"off"Symbol 585 MovieClip {assets.KeypadFutureUI} [assets.KeypadFutureUI] Frame 1
"onStart"Symbol 585 MovieClip {assets.KeypadFutureUI} [assets.KeypadFutureUI] Frame 2
"onEnd"Symbol 585 MovieClip {assets.KeypadFutureUI} [assets.KeypadFutureUI] Frame 10
"on"Symbol 585 MovieClip {assets.KeypadFutureUI} [assets.KeypadFutureUI] Frame 11
"on"Symbol 588 MovieClip {assets.TerminalUI} [assets.TerminalUI] Frame 1
"off"Symbol 588 MovieClip {assets.TerminalUI} [assets.TerminalUI] Frame 4
"off"Symbol 593 MovieClip {assets.CameraLeftUI} [assets.CameraLeftUI] Frame 1
"onStart"Symbol 593 MovieClip {assets.CameraLeftUI} [assets.CameraLeftUI] Frame 2
"onEnd"Symbol 593 MovieClip {assets.CameraLeftUI} [assets.CameraLeftUI] Frame 7
"close"Symbol 611 MovieClip {assets.DoorDoubleFutureUI} [assets.DoorDoubleFutureUI] Frame 1
"openStart"Symbol 611 MovieClip {assets.DoorDoubleFutureUI} [assets.DoorDoubleFutureUI] Frame 2
"openEnd"Symbol 611 MovieClip {assets.DoorDoubleFutureUI} [assets.DoorDoubleFutureUI] Frame 37
"open"Symbol 611 MovieClip {assets.DoorDoubleFutureUI} [assets.DoorDoubleFutureUI] Frame 38
"walkStart"Symbol 614 MovieClip {assets.HumanUI} [assets.HumanUI] Frame 1
"walkEnd"Symbol 614 MovieClip {assets.HumanUI} [assets.HumanUI] Frame 7
"explodeStart"Symbol 614 MovieClip {assets.HumanUI} [assets.HumanUI] Frame 8
"explodeEnd"Symbol 614 MovieClip {assets.HumanUI} [assets.HumanUI] Frame 9
"huhStart"Symbol 614 MovieClip {assets.HumanUI} [assets.HumanUI] Frame 10
"huhEnd"Symbol 614 MovieClip {assets.HumanUI} [assets.HumanUI] Frame 17
"off"Symbol 617 MovieClip {assets.CameraRightUI} [assets.CameraRightUI] Frame 1
"onStart"Symbol 617 MovieClip {assets.CameraRightUI} [assets.CameraRightUI] Frame 2
"onEnd"Symbol 617 MovieClip {assets.CameraRightUI} [assets.CameraRightUI] Frame 7
"walkStart"Symbol 625 MovieClip {assets.Robot2UI} [assets.Robot2UI] Frame 1
"walkEnd"Symbol 625 MovieClip {assets.Robot2UI} [assets.Robot2UI] Frame 7
"explodeStart"Symbol 625 MovieClip {assets.Robot2UI} [assets.Robot2UI] Frame 8
"explodeEnd"Symbol 625 MovieClip {assets.Robot2UI} [assets.Robot2UI] Frame 30
"huhStart"Symbol 625 MovieClip {assets.Robot2UI} [assets.Robot2UI] Frame 31
"huhEnd"Symbol 625 MovieClip {assets.Robot2UI} [assets.Robot2UI] Frame 38
"off"Symbol 628 MovieClip {assets.KeypadUI} [assets.KeypadUI] Frame 1
"onStart"Symbol 628 MovieClip {assets.KeypadUI} [assets.KeypadUI] Frame 2
"onEnd"Symbol 628 MovieClip {assets.KeypadUI} [assets.KeypadUI] Frame 10
"on"Symbol 628 MovieClip {assets.KeypadUI} [assets.KeypadUI] Frame 11
"on"Symbol 631 MovieClip {assets.TerminalFutureUI} [assets.TerminalFutureUI] Frame 1
"off"Symbol 631 MovieClip {assets.TerminalFutureUI} [assets.TerminalFutureUI] Frame 4
"off"Symbol 636 MovieClip {assets.SwitchUI} [assets.SwitchUI] Frame 1
"onStart"Symbol 636 MovieClip {assets.SwitchUI} [assets.SwitchUI] Frame 2
"onEnd"Symbol 636 MovieClip {assets.SwitchUI} [assets.SwitchUI] Frame 10
"on"Symbol 636 MovieClip {assets.SwitchUI} [assets.SwitchUI] Frame 11
"captiveStart"Symbol 647 MovieClip {assets.Mutant4} [assets.Mutant4] Frame 1
"captiveEnd"Symbol 647 MovieClip {assets.Mutant4} [assets.Mutant4] Frame 25
"releaseStart"Symbol 647 MovieClip {assets.Mutant4} [assets.Mutant4] Frame 26
"releaseEnd"Symbol 647 MovieClip {assets.Mutant4} [assets.Mutant4] Frame 60
"free"Symbol 647 MovieClip {assets.Mutant4} [assets.Mutant4] Frame 61
"off"Symbol 654 MovieClip {assets.SensorBottomUI} [assets.SensorBottomUI] Frame 1
"onStart"Symbol 654 MovieClip {assets.SensorBottomUI} [assets.SensorBottomUI] Frame 2
"onEnd"Symbol 654 MovieClip {assets.SensorBottomUI} [assets.SensorBottomUI] Frame 9
"close"Symbol 668 MovieClip {assets.DoorSingleSteelUI} [assets.DoorSingleSteelUI] Frame 1
"openStart"Symbol 668 MovieClip {assets.DoorSingleSteelUI} [assets.DoorSingleSteelUI] Frame 2
"openEnd"Symbol 668 MovieClip {assets.DoorSingleSteelUI} [assets.DoorSingleSteelUI] Frame 16
"open"Symbol 668 MovieClip {assets.DoorSingleSteelUI} [assets.DoorSingleSteelUI] Frame 17
"off"Symbol 672 MovieClip {assets.SensorTopUI} [assets.SensorTopUI] Frame 1
"onStart"Symbol 672 MovieClip {assets.SensorTopUI} [assets.SensorTopUI] Frame 2
"onEnd"Symbol 672 MovieClip {assets.SensorTopUI} [assets.SensorTopUI] Frame 9
"close"Symbol 676 MovieClip {assets.DoorDoubleFutureExitUI} [assets.DoorDoubleFutureExitUI] Frame 1
"openStart"Symbol 676 MovieClip {assets.DoorDoubleFutureExitUI} [assets.DoorDoubleFutureExitUI] Frame 2
"openEnd"Symbol 676 MovieClip {assets.DoorDoubleFutureExitUI} [assets.DoorDoubleFutureExitUI] Frame 37
"open"Symbol 676 MovieClip {assets.DoorDoubleFutureExitUI} [assets.DoorDoubleFutureExitUI] Frame 38
"off"Symbol 682 MovieClip {assets.SwitchFutureUI} [assets.SwitchFutureUI] Frame 1
"onStart"Symbol 682 MovieClip {assets.SwitchFutureUI} [assets.SwitchFutureUI] Frame 2
"onEnd"Symbol 682 MovieClip {assets.SwitchFutureUI} [assets.SwitchFutureUI] Frame 10
"on"Symbol 682 MovieClip {assets.SwitchFutureUI} [assets.SwitchFutureUI] Frame 11
"captiveStart"Symbol 686 MovieClip {assets.Mutant3} [assets.Mutant3] Frame 1
"captiveEnd"Symbol 686 MovieClip {assets.Mutant3} [assets.Mutant3] Frame 25
"releaseStart"Symbol 686 MovieClip {assets.Mutant3} [assets.Mutant3] Frame 26
"releaseEnd"Symbol 686 MovieClip {assets.Mutant3} [assets.Mutant3] Frame 60
"free"Symbol 686 MovieClip {assets.Mutant3} [assets.Mutant3] Frame 61
"captiveStart"Symbol 693 MovieClip {assets.Mutant1} [assets.Mutant1] Frame 1
"captiveEnd"Symbol 693 MovieClip {assets.Mutant1} [assets.Mutant1] Frame 25
"releaseStart"Symbol 693 MovieClip {assets.Mutant1} [assets.Mutant1] Frame 26
"releaseEnd"Symbol 693 MovieClip {assets.Mutant1} [assets.Mutant1] Frame 55
"free"Symbol 693 MovieClip {assets.Mutant1} [assets.Mutant1] Frame 56
"close"Symbol 715 MovieClip {assets.DoorDoubleSteelExitUI} [assets.DoorDoubleSteelExitUI] Frame 1
"openStart"Symbol 715 MovieClip {assets.DoorDoubleSteelExitUI} [assets.DoorDoubleSteelExitUI] Frame 2
"openEnd"Symbol 715 MovieClip {assets.DoorDoubleSteelExitUI} [assets.DoorDoubleSteelExitUI] Frame 19
"open"Symbol 715 MovieClip {assets.DoorDoubleSteelExitUI} [assets.DoorDoubleSteelExitUI] Frame 20
"off"Symbol 719 MovieClip {assets.WiresUI} [assets.WiresUI] Frame 1
"onStart"Symbol 719 MovieClip {assets.WiresUI} [assets.WiresUI] Frame 2
"onEnd"Symbol 719 MovieClip {assets.WiresUI} [assets.WiresUI] Frame 10
"on"Symbol 719 MovieClip {assets.WiresUI} [assets.WiresUI] Frame 11
"off"Symbol 730 MovieClip {assets.LaserFutureUI} [assets.LaserFutureUI] Frame 1
"onStart"Symbol 730 MovieClip {assets.LaserFutureUI} [assets.LaserFutureUI] Frame 2
"onEnd"Symbol 730 MovieClip {assets.LaserFutureUI} [assets.LaserFutureUI] Frame 9
"captiveStart"Symbol 734 MovieClip {assets.Mutant2} [assets.Mutant2] Frame 1
"captiveEnd"Symbol 734 MovieClip {assets.Mutant2} [assets.Mutant2] Frame 25
"releaseStart"Symbol 734 MovieClip {assets.Mutant2} [assets.Mutant2] Frame 26
"releaseEnd"Symbol 734 MovieClip {assets.Mutant2} [assets.Mutant2] Frame 60
"free"Symbol 734 MovieClip {assets.Mutant2} [assets.Mutant2] Frame 61
"close"Symbol 735 MovieClip {assets.DoorDoubleSteelUI} [assets.DoorDoubleSteelUI] Frame 1
"openStart"Symbol 735 MovieClip {assets.DoorDoubleSteelUI} [assets.DoorDoubleSteelUI] Frame 2
"openEnd"Symbol 735 MovieClip {assets.DoorDoubleSteelUI} [assets.DoorDoubleSteelUI] Frame 19
"open"Symbol 735 MovieClip {assets.DoorDoubleSteelUI} [assets.DoorDoubleSteelUI] Frame 20
"off"Symbol 743 MovieClip {assets.LaserBigUI} [assets.LaserBigUI] Frame 1
"onStart"Symbol 743 MovieClip {assets.LaserBigUI} [assets.LaserBigUI] Frame 2
"onEnd"Symbol 743 MovieClip {assets.LaserBigUI} [assets.LaserBigUI] Frame 9
"close"Symbol 747 MovieClip {assets.DoorSingleSteelExitUI} [assets.DoorSingleSteelExitUI] Frame 1
"openStart"Symbol 747 MovieClip {assets.DoorSingleSteelExitUI} [assets.DoorSingleSteelExitUI] Frame 2
"openEnd"Symbol 747 MovieClip {assets.DoorSingleSteelExitUI} [assets.DoorSingleSteelExitUI] Frame 16
"open"Symbol 747 MovieClip {assets.DoorSingleSteelExitUI} [assets.DoorSingleSteelExitUI] Frame 17
"over"Symbol 758 MovieClip {assets_fla.loginButton_150} [assets_fla.loginButton_150] Frame 2
"press"Symbol 758 MovieClip {assets_fla.loginButton_150} [assets_fla.loginButton_150] Frame 11
"release"Symbol 758 MovieClip {assets_fla.loginButton_150} [assets_fla.loginButton_150] Frame 20
"out"Symbol 758 MovieClip {assets_fla.loginButton_150} [assets_fla.loginButton_150] Frame 30
"releaseOutside"Symbol 758 MovieClip {assets_fla.loginButton_150} [assets_fla.loginButton_150] Frame 40
"over"Symbol 762 MovieClip {assets_fla.submitScoreClose_152} [assets_fla.submitScoreClose_152] Frame 2
"press"Symbol 762 MovieClip {assets_fla.submitScoreClose_152} [assets_fla.submitScoreClose_152] Frame 11
"release"Symbol 762 MovieClip {assets_fla.submitScoreClose_152} [assets_fla.submitScoreClose_152] Frame 20
"out"Symbol 762 MovieClip {assets_fla.submitScoreClose_152} [assets_fla.submitScoreClose_152] Frame 30
"releaseOutside"Symbol 762 MovieClip {assets_fla.submitScoreClose_152} [assets_fla.submitScoreClose_152] Frame 40
"error"Symbol 770 MovieClip {assets_fla.loginEntry_155} [assets_fla.loginEntry_155] Frame 2
"over"Symbol 785 MovieClip {assets_fla.tryAgainButton_161} [assets_fla.tryAgainButton_161] Frame 2
"press"Symbol 785 MovieClip {assets_fla.tryAgainButton_161} [assets_fla.tryAgainButton_161] Frame 11
"release"Symbol 785 MovieClip {assets_fla.tryAgainButton_161} [assets_fla.tryAgainButton_161] Frame 20
"out"Symbol 785 MovieClip {assets_fla.tryAgainButton_161} [assets_fla.tryAgainButton_161] Frame 30
"releaseOutside"Symbol 785 MovieClip {assets_fla.tryAgainButton_161} [assets_fla.tryAgainButton_161] Frame 40
"over"Symbol 789 MovieClip {assets_fla.skipButton_163} [assets_fla.skipButton_163] Frame 2
"press"Symbol 789 MovieClip {assets_fla.skipButton_163} [assets_fla.skipButton_163] Frame 11
"release"Symbol 789 MovieClip {assets_fla.skipButton_163} [assets_fla.skipButton_163] Frame 20
"out"Symbol 789 MovieClip {assets_fla.skipButton_163} [assets_fla.skipButton_163] Frame 30
"releaseOutside"Symbol 789 MovieClip {assets_fla.skipButton_163} [assets_fla.skipButton_163] Frame 40
"init"Symbol 793 MovieClip {assets.pages.SubmitScoreUI} [assets.pages.SubmitScoreUI] Frame 1
"formSmall"Symbol 793 MovieClip {assets.pages.SubmitScoreUI} [assets.pages.SubmitScoreUI] Frame 8
"form"Symbol 793 MovieClip {assets.pages.SubmitScoreUI} [assets.pages.SubmitScoreUI] Frame 21
"submit"Symbol 793 MovieClip {assets.pages.SubmitScoreUI} [assets.pages.SubmitScoreUI] Frame 29
"success"Symbol 793 MovieClip {assets.pages.SubmitScoreUI} [assets.pages.SubmitScoreUI] Frame 38
"error"Symbol 793 MovieClip {assets.pages.SubmitScoreUI} [assets.pages.SubmitScoreUI] Frame 78
"over"Symbol 802 MovieClip {assets_fla.registerButton_183} [assets_fla.registerButton_183] Frame 2
"press"Symbol 802 MovieClip {assets_fla.registerButton_183} [assets_fla.registerButton_183] Frame 11
"release"Symbol 802 MovieClip {assets_fla.registerButton_183} [assets_fla.registerButton_183] Frame 20
"out"Symbol 802 MovieClip {assets_fla.registerButton_183} [assets_fla.registerButton_183] Frame 30
"releaseOutside"Symbol 802 MovieClip {assets_fla.registerButton_183} [assets_fla.registerButton_183] Frame 40
"idle"Symbol 817 MovieClip {assets.MarvelLoginUI} [assets.MarvelLoginUI] Frame 1
"main"Symbol 817 MovieClip {assets.MarvelLoginUI} [assets.MarvelLoginUI] Frame 2
"login"Symbol 817 MovieClip {assets.MarvelLoginUI} [assets.MarvelLoginUI] Frame 17
"success"Symbol 817 MovieClip {assets.MarvelLoginUI} [assets.MarvelLoginUI] Frame 25
"error"Symbol 817 MovieClip {assets.MarvelLoginUI} [assets.MarvelLoginUI] Frame 55




http://swfchan.com/25/122648/info.shtml
Created: 3/3 -2019 21:23:36 Last modified: 3/3 -2019 21:23:36 Server time: 05/11 -2024 08:35:13