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

<div style="position:absolute;top:-99px;left:-99px;"><img src="https://tools.swfchan.com/stathit.asp?noj=FRM50526499-23DC&rnd=50526499" width="1" height="1"></div>

armorgames as-i-lay-dying-10042.swf

This is the info page for
Flash #267670

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


Text
100%

Loading "Game Name"...

Highscores:

- fastest time to reach civilization -

A game by Teale Fristoe

For Christie,
with love

Oliver Marsh

Playable Media 2010

William Faulkner, Inspirational Badass

© Copyright 2010 Teale Fristoe (click for licensing)

AS I LAY DYING!

OR, TEALE'S BIG HIKE!

SPECIAL THANKS

Version X.X

INCOMPLETE

<p align="left"><font face="Nokia Cellphone FC" size="16" color="#ffffff" letterSpacing="1.000000" kerning="0"><b>Achievement Name:</b></font></p>

Achievement description goes here..

<p align="left"><font face="Nokia Cellphone FC" size="16" color="#ffffff" letterSpacing="1.000000" kerning="0"><b>Achievement Name:</b></font></p>

Achievement description goes here..

<p align="left"><font face="Nokia Cellphone FC" size="16" color="#ffffff" letterSpacing="1.000000" kerning="0"><b>Achievement Name:</b></font></p>

Achievement description goes here..

Achievement description goes here..

Achievement description goes here..

<p align="left"><font face="Nokia Cellphone FC" size="16" color="#ffffff" letterSpacing="1.000000" kerning="0"><b>Achievement Name:</b></font></p>

Achievement description goes here..

Achievements:

AS I LAY DYING!

OR, TEALE'S BIG HIKE!

A game by Teale Fristoe

Play

Play

This game is free to host on your website, however it will not work if you try to play it locally. To play the game on Dig Your Own Grave, use the Play button below:

SL

ActionScript [AS3]

Section 1
//Achievement (achievements.Achievement) package achievements { public class Achievement { private var mCompleted:Boolean;// = false private var mSubmitted:Boolean;// = false private var mDescription:String;// = "" private var mName:String;// = "" public function Achievement(_arg1:String, _arg2:String){ mName = _arg1; mDescription = _arg2; } public function IsComplete():Boolean{ return (mCompleted); } public function Description():String{ return (mDescription); } public function MarkAsSubmitted():void{ mSubmitted = true; } public function MarkAsCompleted():void{ mCompleted = true; } public function IsSubmitted():Boolean{ return (mSubmitted); } public function Name():String{ return (mName); } } }//package achievements
Section 2
//Achievements (achievements.Achievements) package achievements { import flash.events.*; import flash.display.*; import flash.text.*; import game.*; import audio.*; import flash.net.*; import misc.*; import security.*; import portalAPI.*; public class Achievements { private static var sAchievementsDisplay:MovieClip; private static var sGameHighscoreID:int = -1; private static var sNotifyFunction:Function = null; private static var sManualSubmitButtonFunction:Function = null; private static var sUserKey:String = ""; public static var sHaveSubmittedCheatMessage:Boolean = false; private static var sSubmitText:TextField = null; private static var sLittlegreyID:int = -1; private static var sAchievements:Array; private static var sNotifyFunctionCaller:Object = null; private static var sDYOGServerLocation:String = "http://localhost/"; private static var sAvatarPrefix:int = -1; private static var sLittlegreyServerLocation:String = "http://www.littlegrey.net/"; private static var sInitialized:Boolean = false; private static var sConsole:TextField; private static var sUsername:String = ""; private static var sSubmitButton:SimpleButton = null; public static function AreInitialized():Boolean{ return (sInitialized); } public static function CompletedAchievement(_arg1:int, _arg2:Boolean=false):void{ var shrdObject:SharedObject; var achievementKey:String; var achievementID = _arg1; var save = _arg2; consoleMessage(("Completed achievement " + achievementID)); if (sAchievements[achievementID] == null){ trace(("***** ERROR: Unknown achievement id: " + achievementID)); return; }; var alreadyCompleted:Boolean = sAchievements[achievementID].IsComplete(); sAchievements[achievementID].MarkAsCompleted(); trace(("Achievement completed: " + achievementID)); if (((((!(alreadyCompleted)) && (!((sNotifyFunction == null))))) && (!(DeploymentSettings.sUseMoFunZoneAPI)))){ sNotifyFunction.call(sNotifyFunctionCaller, sAchievements[achievementID].Name()); }; if (save){ try { shrdObject = SharedObjectHelper.GetData(); if (shrdObject != null){ achievementKey = ("achievement_" + achievementID); shrdObject.data[achievementKey] = true; }; } catch(e:Error) { trace(("***** Could not save completed achievements: " + e.toString())); }; }; submitAchievementToPortals(achievementID, !(alreadyCompleted)); } public static function SetSubmitUI(_arg1:SimpleButton, _arg2:TextField, _arg3:Function):void{ sSubmitButton = _arg1; sSubmitText = _arg2; sManualSubmitButtonFunction = _arg3; sSubmitText.visible = false; sSubmitButton.visible = true; if (((!((sManualSubmitButtonFunction == null))) && (!((sSubmitButton == null))))){ sSubmitButton.addEventListener(MouseEvent.MOUSE_DOWN, sManualSubmitButtonFunction, false, 0, true); sSubmitButton.addEventListener(MouseEvent.MOUSE_DOWN, AudioEngine.PlayButtonDownSound, false, 0, true); sSubmitButton.addEventListener(MouseEvent.MOUSE_OVER, AudioEngine.PlayButtonHoverSound, false, 0, true); sSubmitButton.useHandCursor = true; }; } public static function errorOnGetUserProfile(_arg1:String):void{ trace(_arg1); consoleMessage(_arg1); } private static function onSubmitAchievementError(_arg1:Event):void{ _arg1.target.removeEventListener(Event.COMPLETE, onSubmitAchievementComplete); _arg1.target.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onSubmitAchievementError); _arg1.target.removeEventListener(IOErrorEvent.IO_ERROR, onSubmitAchievementError); submitAchievementError(_arg1.toString()); } public static function SubmitCheatMessage(_arg1:int, _arg2:int, _arg3:String):Boolean{ var _local4:URLLoader; var _local5:String; sGameHighscoreID = _arg1; if ((((sLittlegreyID > 0)) && (DomainCheck.CanSubmitHighscores()))){ _local4 = new URLLoader(); _local4.addEventListener(Event.COMPLETE, onCheatNotifierComplete, false, 0, true); _local4.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onCheatNotifierComplete, false, 0, true); _local4.addEventListener(IOErrorEvent.IO_ERROR, onCheatNotifierComplete, false, 0, true); _local5 = ((((((((sDYOGServerLocation + "high_scores/exclusive/auto_submit_score_special.php?user_id=") + sLittlegreyID) + "&game_id=") + sGameHighscoreID) + "&score=") + _arg2) + "&key=") + _arg3); _local4.load(new URLRequest(_local5)); consoleMessage(("Submitting cheat message: " + _arg3)); sSubmitButton.visible = false; sSubmitText.text = (("Congratulations " + sUsername) + "! Your score + achievements have automatically been submitted"); sSubmitText.visible = true; return (true); }; return (false); } public static function SetAchievementsStatus():void{ var _local3:Achievement; var _local1:Boolean; var _local2:int; for each (_local3 in Achievements.sAchievements) { if (_local3.IsComplete()){ _local2++; if (!_local3.IsSubmitted()){ _local1 = false; }; }; }; if (((_local1) && ((_local2 > 0)))){ sSubmitButton.visible = false; sSubmitText.text = (("Congratulations " + sUsername) + "! Your achievements have automatically been submitted"); sSubmitText.visible = true; }; } public static function SetAchievement(_arg1:int, _arg2:String, _arg3:String):void{ if (sAchievements == null){ sAchievements = new Array(); }; if (sAchievements[_arg1] == null){ sAchievements[_arg1] = new Achievement(_arg2, _arg3); }; } public static function LoadUserFromKey(_arg1:String):void{ var _local2:URLLoader; var _local3:String; consoleMessage(("Loading user from key: " + _arg1)); if (_arg1 != ""){ sUserKey = _arg1; _local2 = new URLLoader(); _local2.addEventListener(Event.COMPLETE, onUserProfileLoadXMLComplete, false, 0, true); _local2.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onUserProfileLoadXMLError, false, 0, true); _local2.addEventListener(IOErrorEvent.IO_ERROR, onUserProfileLoadXMLError, false, 0, true); _local3 = ((sLittlegreyServerLocation + "get_user_profile_data_from_key.php?key[]=") + sUserKey); _local3 = (_local3 + "&remove=1"); _local2.load(new URLRequest(_local3)); } else { sLittlegreyID = -1; sUsername = ""; sAvatarPrefix = -1; }; } public static function SubmitAllAchievements():void{ var _local1:String; var _local2:Achievement; for (_local1 in sAchievements) { _local2 = sAchievements[_local1]; if (_local2.IsComplete()){ submitAchievementToPortals(int(_local1), true); }; }; } public static function Display(_arg1:MovieClip):void{ sAchievementsDisplay = _arg1; if (sAchievementsDisplay != null){ sAchievementsDisplay.Display(); }; } public static function SetNotifyFunction(_arg1:Function, _arg2:Object):void{ sNotifyFunction = _arg1; sNotifyFunctionCaller = _arg2; } public static function GetAchievementsString():String{ var _local3:String; var _local4:Achievement; var _local1 = ""; var _local2:Boolean; for (_local3 in sAchievements) { _local4 = sAchievements[_local3]; if (_local4.IsComplete()){ if (!_local2){ _local1 = (_local1 + "-"); }; _local1 = (_local1 + _local3); _local2 = false; }; }; return (_local1); } public static function consoleMessage(_arg1:String):void{ if (sConsole != null){ sConsole.htmlText = (sConsole.htmlText + _arg1); }; } private static function submitDYOGAchievement(_arg1:int):void{ var _local2:String; var _local3:URLLoader; var _local4:String; if ((((sLittlegreyID > 0)) && (DomainCheck.CanSubmitHighscores()))){ _local2 = SHA1Hash.SHA1(((String(_arg1) + MemoryCrypto.getString("highscore_password")) + String(sLittlegreyID))); _local3 = new URLLoader(); _local3.addEventListener(Event.COMPLETE, onSubmitAchievementComplete, false, 0, true); _local3.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSubmitAchievementError, false, 0, true); _local3.addEventListener(IOErrorEvent.IO_ERROR, onSubmitAchievementError, false, 0, true); _local4 = ((((((sDYOGServerLocation + "high_scores/exclusive/auto_submit_achievement.php?user_id=") + sLittlegreyID) + "&achievement=") + _arg1) + "&key=") + _local2); _local3.load(new URLRequest(_local4)); consoleMessage(("Transmitting achievement: " + _local4)); }; } public static function SetInitialized():void{ sInitialized = true; } public static function SetConsole(_arg1:TextField):void{ sConsole = _arg1; } public static function Initialize(_arg1:String, _arg2:String):void{ sLittlegreyServerLocation = _arg1; sDYOGServerLocation = _arg2; } private static function onUserProfileLoadXMLComplete(_arg1:Event):void{ var profileXML:XML; var message:String; var event = _arg1; event.target.removeEventListener(Event.COMPLETE, onUserProfileLoadXMLComplete); event.target.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onUserProfileLoadXMLError); event.target.removeEventListener(IOErrorEvent.IO_ERROR, onUserProfileLoadXMLError); profileXML = new XML(event.target.data); if (profileXML.length() == 0){ errorOnGetUserProfile("***** User profile xml is malformed."); return; }; var userNode:XMLList = profileXML.user.(@key == String(sUserKey)); if (userNode.length() != 0){ sLittlegreyID = userNode.id; sUsername = userNode.username; sAvatarPrefix = userNode.avatar_prefix; message = (((("Loaded profile data for " + sUsername) + " (id:") + sLittlegreyID) + ")"); trace(message); consoleMessage(message); } else { errorOnGetUserProfile("***** Could not locate user id in user profile xml"); return; }; } public static function LoadUserFromQueryString(_arg1:Object):void{ var _local2:String; var _local3:String; for (_local2 in _arg1) { _local3 = String(_arg1[_local2]); if (_local2 == "user_key"){ sUserKey = _local3; }; }; LoadUserFromKey(sUserKey); } public static function SubmitScore(_arg1:int, _arg2:int):void{ var _local3:String; var _local4:URLLoader; var _local5:String; sGameHighscoreID = _arg1; if ((((sLittlegreyID > 0)) && (DomainCheck.CanSubmitHighscores()))){ _local3 = SHA1Hash.SHA1((((String(sGameHighscoreID) + String(_arg2)) + MemoryCrypto.getString("highscore_password")) + String(sLittlegreyID))); _local4 = new URLLoader(); _local4.addEventListener(Event.COMPLETE, onSubmitScoreComplete, false, 0, true); _local4.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSubmitScoreError, false, 0, true); _local4.addEventListener(IOErrorEvent.IO_ERROR, onSubmitScoreError, false, 0, true); _local5 = ((((((((sDYOGServerLocation + "high_scores/exclusive/auto_submit_score.php?user_id=") + sLittlegreyID) + "&game_id=") + sGameHighscoreID) + "&score=") + _arg2) + "&key=") + _local3); _local4.load(new URLRequest(_local5)); consoleMessage(("Submitting highscore: " + _local5)); }; if (DeploymentSettings.sUseKongregateAPI){ KongregateServices.SubmitScore(_arg2); }; if (DeploymentSettings.sUseArmorGamesAPI){ ArmorGames.SubmitScore(_arg2); }; if (DeploymentSettings.sUseMindJoltAPI){ MindJoltAPI.SubmitScore(_arg2); }; } private static function onSubmitScoreError(_arg1:Event):void{ _arg1.target.removeEventListener(Event.COMPLETE, onSubmitScoreComplete); _arg1.target.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onSubmitScoreError); _arg1.target.removeEventListener(IOErrorEvent.IO_ERROR, onSubmitScoreError); submitScoreError(_arg1.toString()); } private static function submitAchievementError(_arg1:String):void{ trace(("***** Submit Achievement Response Error: " + _arg1)); consoleMessage(("***** Submit Achievement Response Error: " + _arg1)); } private static function onSubmitAchievementComplete(_arg1:Event):void{ var _local3:int; _arg1.target.removeEventListener(Event.COMPLETE, onSubmitAchievementComplete); _arg1.target.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onSubmitAchievementError); _arg1.target.removeEventListener(IOErrorEvent.IO_ERROR, onSubmitAchievementError); var _local2:XML = new XML(_arg1.target.data); if (_local2.length() == 0){ submitAchievementError("xml is malformed."); return; }; if (_local2.id != undefined){ _local3 = _local2.id; if (sAchievements[_local3] != null){ sAchievements[_local3].MarkAsSubmitted(); trace(("Successfully submitted achievement " + _local3)); consoleMessage(("Successfully submitted achievement " + _local3)); } else { submitAchievementError("unknown achievement id"); }; } else { submitAchievementError("no achievement id"); return; }; } private static function onSubmitScoreComplete(_arg1:Event):void{ var _local5:Achievement; var _local6:int; _arg1.target.removeEventListener(Event.COMPLETE, onSubmitScoreComplete); _arg1.target.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onSubmitScoreError); _arg1.target.removeEventListener(IOErrorEvent.IO_ERROR, onSubmitScoreError); var _local2:Boolean; var _local3:XML = new XML(_arg1.target.data); if (_local3.length() == 0){ submitAchievementError("xml is malformed."); return; }; if (_local3.game_id != undefined){ _local6 = _local3.game_id; if (_local6 == sGameHighscoreID){ trace("Successfully submitted highscore."); consoleMessage("Successfully submitted highscore."); _local2 = true; } else { submitAchievementError("unknown game id"); }; } else { submitScoreError("no game id"); return; }; var _local4:Boolean; for each (_local5 in Achievements.sAchievements) { if (((_local5.IsComplete()) && (!(_local5.IsSubmitted())))){ _local4 = false; }; }; if (((_local4) && (_local2))){ if (sSubmitButton != null){ sSubmitButton.visible = false; }; if (sSubmitText != null){ sSubmitText.text = (("Congratulations " + sUsername) + "! Your score + achievements have automatically been submitted"); sSubmitText.visible = true; }; }; } private static function submitAchievementToPortals(_arg1:int, _arg2:Boolean):void{ var _local3:String; if (_arg2){ submitDYOGAchievement(_arg1); }; if (DeploymentSettings.sUseKongregateAPI){ KongregateServices.SubmitStat(sAchievements[_arg1].Name(), 1); }; if (DeploymentSettings.sUseMoFunZoneAPI){ _local3 = sAchievements[_arg1].Name().toLowerCase(); _local3 = _local3.split(" ").join("_"); MoFunZone.SubmitAchievement(_local3); }; } private static function onUserProfileLoadXMLError(_arg1:Event):void{ _arg1.target.removeEventListener(Event.COMPLETE, onUserProfileLoadXMLComplete); _arg1.target.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onUserProfileLoadXMLError); _arg1.target.removeEventListener(IOErrorEvent.IO_ERROR, onUserProfileLoadXMLError); errorOnGetUserProfile(_arg1.toString()); } private static function onCheatNotifierComplete(_arg1:Event):void{ _arg1.target.removeEventListener(Event.COMPLETE, onCheatNotifierComplete); _arg1.target.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onCheatNotifierComplete); _arg1.target.removeEventListener(IOErrorEvent.IO_ERROR, onCheatNotifierComplete); } private static function submitScoreError(_arg1:String):void{ trace(("***** Submit Score Response Error: " + _arg1)); consoleMessage(("***** Submit Score Response Error: " + _arg1)); } public static function LoadSavedAchievements():void{ var shrdObject:SharedObject; var idAsString:String; var achievement:Achievement; var achievementKey:String; try { shrdObject = SharedObjectHelper.GetData(); if (shrdObject != null){ for (idAsString in sAchievements) { achievement = sAchievements[idAsString]; achievementKey = ("achievement_" + idAsString); if (((((!((shrdObject.data[achievementKey] == null))) && (!((shrdObject.data[achievementKey] == undefined))))) && ((shrdObject.data[achievementKey] == true)))){ sAchievements[idAsString].MarkAsCompleted(); }; }; }; } catch(e:Error) { trace(("***** Could not load saved achievements: " + e.toString())); }; } public static function SaveCompletedAchievements():void{ var shrdObject:SharedObject; var idAsString:String; var achievement:Achievement; var achievementKey:String; try { shrdObject = SharedObjectHelper.GetData(); if (shrdObject != null){ for (idAsString in sAchievements) { achievement = sAchievements[idAsString]; if (achievement.IsComplete()){ achievementKey = ("achievement_" + idAsString); shrdObject.data[achievementKey] = true; }; }; }; } catch(e:Error) { trace(("***** Could not save completed achievements: " + e.toString())); }; } public static function Username():String{ return (sUsername); } public static function GetAchievements():Array{ return (sAchievements); } public static function FakeLoad(_arg1:int, _arg2:String, _arg3:int):void{ sLittlegreyID = _arg1; sUsername = _arg2; sAvatarPrefix = _arg3; consoleMessage((((("Loaded fake user: " + _arg2) + " (") + _arg1) + ")")); } } }//package achievements
Section 3
//AchievementsDisplay (achievements.AchievementsDisplay) package achievements { public dynamic class AchievementsDisplay extends AutoHighscoreDisplay { override public function Display():void{ var _local3:String; var _local4:Object; var _local5:Object; var _local6:Achievement; var _local1:uint = 1; var _local2:Array = new Array(); for (_local3 in Achievements.GetAchievements()) { _local5 = new Object(); _local5.ach = Achievements.GetAchievements()[_local3]; _local5.id = _local3; _local2.push(_local5); }; _local2.sortOn("id"); for each (_local4 in _local2) { _local6 = _local4.ach; this[("tfName" + _local1)].text = (_local6.Name() + ":"); this[("tfDescription" + _local1)].text = _local6.Description(); if (_local6.IsComplete()){ this[("mcIncomplete" + _local1)].visible = false; this[("mcEarned" + _local1)].visible = true; this[("mcIcon" + _local1)].alpha = 1; this[("mcIcon" + _local1)].gotoAndStop(2); } else { this[("mcIncomplete" + _local1)].visible = true; this[("mcEarned" + _local1)].visible = false; this[("mcIcon" + _local1)].gotoAndStop(1); this[("mcIcon" + _local1)].alpha = 0.8; }; _local1++; }; while (_local1 < 8) { if (this[("mcIcon" + _local1)] != null){ this[("mcIncomplete" + _local1)].visible = false; this[("mcEarned" + _local1)].visible = false; this[("mcIcon" + _local1)].visible = false; this[("tfName" + _local1)].visible = false; this[("tfDescription" + _local1)].visible = false; }; _local1++; }; super.Display(); } } }//package achievements
Section 4
//AutoHighscoreDisplay (achievements.AutoHighscoreDisplay) package achievements { import flash.display.*; public dynamic class AutoHighscoreDisplay extends MovieClip { public function Display():void{ if (this["txAutoSubmitText"] != null){ this["txAutoSubmitText"].visible = false; }; } } }//package achievements
Section 5
//AdServer (adserver.AdServer) package adserver { import flash.events.*; import flash.display.*; import flash.net.*; public class AdServer { private static var sPendingDisplayAd:Boolean = false; private static var sCurrentAd:Number = -1; private static var sEnabled:Boolean = false; private static var sDomain:String; private static var sInitialized:Boolean = false; private static var sAdContainer:MovieClip = null; private static var sGameName:String; private static var sXML:XML; private static var sAds:Array; private static function loadSWFComplete(_arg1:Event):void{ var _local3:Number; var _local2:LoaderInfo = (_arg1.target as LoaderInfo); if (_local2){ _local2.loader.removeEventListener(Event.COMPLETE, loadSWFComplete); _local3 = 0; while (_local3 < sAdContainer["msAdArea"].numChildren) { sAdContainer["msAdArea"].removeChildAt(_local3); _local3++; }; sAdContainer["msAdArea"].addChild(_local2.content); sAdContainer.visible = true; }; } public static function Enable(_arg1:Boolean):void{ sEnabled = _arg1; } public static function AdClicked(_arg1:MouseEvent):void{ var _local2:URLRequest; if (sAds[sCurrentAd] != null){ _local2 = new URLRequest(sAds[sCurrentAd].URL()); navigateToURL(_local2, "_blank"); }; } public static function DisplayAd(_arg1:MovieClip):void{ if (!sEnabled){ _arg1.visible = false; return; }; sAdContainer = _arg1; sAdContainer.visible = false; if (!sInitialized){ Initialize(sAdContainer); sPendingDisplayAd = true; return; }; if ((((sAds == null)) || ((sAds.length == 0)))){ _arg1.visible = false; return; }; sCurrentAd++; if (sCurrentAd >= sAds.length){ sCurrentAd = 0; }; trace(("Displaying ad #" + sCurrentAd)); trace(("Image: " + sAds[sCurrentAd].ImageURL())); loadSWF(sAds[sCurrentAd].ImageURL()); sAdContainer["msText"].text = sAds[sCurrentAd].BelowText(); sAdContainer["msInvisibleButton"].addEventListener(MouseEvent.MOUSE_DOWN, AdClicked, false, 0, true); sAdContainer["msInvisibleButton"].useHandCursor = true; sAdContainer["msInvisibleButton"].buttonMode = true; } private static function onloadXMLComplete(_arg1:Event):void{ var siteNode:XMLList; var ad:XML; var adURL:String; var adImage:String; var belowText:String; var event = _arg1; sInitialized = true; sXML = new XML(event.target.data); if (sXML.length() == 0){ trace("***** ERROR: Could not load adspec xml"); sAdContainer.visible = false; return; }; var gameNode:XMLList = sXML.game.(@name == sGameName); if (gameNode.length() == 0){ trace("Using default ad..."); gameNode = sXML.default_ad; if (gameNode.length() == 0){ trace("***** ERROR: Could not load game xml node"); sAdContainer.visible = false; return; }; }; siteNode = sXML.game.site.(@domain == sDomain); if (siteNode.length() > 0){ gameNode = siteNode; }; trace("Iterating through game nodes..."); for each (ad in gameNode.children()) { if (ad.name() == "ad"){ adURL = ad.url; adImage = ad.image; belowText = ad.text; if (!(((((((((adURL == null)) || ((adImage == null)))) || ((belowText == null)))) || ((adURL == "")))) || ((adImage == "")))){ sAds.push(new Advertisement(adURL, adImage, belowText)); }; }; }; if (sPendingDisplayAd){ sPendingDisplayAd = false; DisplayAd(sAdContainer); }; } public static function Initialize(_arg1:MovieClip):void{ if (!sEnabled){ _arg1.visible = false; return; }; trace("Initializing ad server..."); var _local2:LocalConnection = new LocalConnection(); sDomain = _local2.domain; sAdContainer = _arg1; sAds = new Array(); sCurrentAd = 0; var _local3:URLLoader = new URLLoader(); _local3.addEventListener(Event.COMPLETE, onloadXMLComplete); _local3.load(new URLRequest("http://gameads.digyourowngrave.com/468x60/adspec_v2.xml")); } private static function loadSWF(_arg1:String):void{ var _local2:URLRequest = new URLRequest(_arg1); var _local3:Loader = new Loader(); _local3.contentLoaderInfo.addEventListener(Event.COMPLETE, loadSWFComplete); _local3.load(_local2); } public static function SetGameName(_arg1:String):void{ sGameName = _arg1; } } }//package adserver
Section 6
//Advertisement (adserver.Advertisement) package adserver { public class Advertisement { private var mBelowText:String;// = "" private var mURL:String;// = "" private var mImageURL:String;// = "" public function Advertisement(_arg1:String, _arg2:String, _arg3:String){ mURL = _arg1; mImageURL = _arg2; mBelowText = _arg3; } public function ImageURL():String{ return (mImageURL); } public function BelowText():String{ return (mBelowText); } public function URL():String{ return (mURL); } } }//package adserver
Section 7
//AudioEngine (audio.AudioEngine) package audio { import flash.events.*; import flash.net.*; import flash.media.*; import misc.*; import flash.utils.*; public class AudioEngine { private static var sSoundInstances:Array = new Array(); private static var sSoundTransforms:Array = new Array(); public static var SFX_CHANNEL:Number = 0; private static var sSoundObjects:Array = new Array(); public static var sMusicMuted:Boolean = false; private static var sFreeInstanceSlots:Array = new Array(); private static var sVolumes:Array = new Array(); public static var MUSIC_CHANNEL:Number = 1; public static var sSFXMuted:Boolean = false; public static function PlayButtonHoverSound(_arg1:MouseEvent):void{ PlaySound("sfxButtonOver", AudioEngine.SFX_CHANNEL); } public static function PlayButtonDownSound(_arg1:MouseEvent):void{ PlaySound("sfxButtonDown", AudioEngine.SFX_CHANNEL); } public static function SoundComplete(_arg1:Number, _arg2:Number):void{ sSoundInstances[_arg1][_arg2] = null; sFreeInstanceSlots[_arg1].push(_arg2); } private static function trackSound(_arg1:Number, _arg2:SoundHandle):void{ var _local3:Number = -1; if (sFreeInstanceSlots[_arg1].length == 0){ _local3 = (sSoundInstances[_arg1].push(_arg2) - 1); } else { _local3 = sFreeInstanceSlots[_arg1].pop(); sSoundInstances[_arg1][_local3] = _arg2; }; _arg2.SetID(_local3); } public static function RegisterSound(_arg1:Class, _arg2:String, _arg3:Number):void{ CheckChannel(_arg3); if (sSoundObjects[_arg3][_arg2] == null){ sSoundObjects[_arg3][_arg2] = new (_arg1); }; } public static function PlaySound(_arg1:String, _arg2:Number, _arg3:Boolean=false):SoundHandle{ var theClass:Class; var name = _arg1; var channel = _arg2; var looping = _arg3; CheckChannel(channel); if (sSoundObjects[channel][name] == null){ try { theClass = Class(getDefinitionByName(name)); } catch(e:Error) { trace((("***** Audio file '" + name) + "' not found!")); return (null); }; sSoundObjects[channel][name] = new (theClass); }; var newSound:SoundHandle = new SoundHandle(sSoundObjects[channel][name].play(0, (looping) ? 9999 : 0, sSoundTransforms[channel]), channel); trackSound(channel, newSound); return (newSound); } public static function KillAllSounds():void{ var _local2:Array; var _local3:Number; var _local1:int; while (_local1 <= 1) { if (sVolumes[_local1] != null){ _local2 = sSoundInstances[_local1]; _local3 = 0; while (_local3 < _local2.length) { if (_local2[_local3] != null){ _local2[_local3].Stop(); }; _local3++; }; }; _local1++; }; } public static function GetVolume(_arg1:Number):Number{ CheckChannel(_arg1); return (sVolumes[_arg1]); } public static function LoadSavedAudioSettings():void{ var shrdObject:SharedObject; try { shrdObject = SharedObjectHelper.GetData(); if (shrdObject != null){ if (((((!((shrdObject.data.mute_soundeffects == null))) && (!((shrdObject.data.mute_soundeffects == undefined))))) && (shrdObject.data.mute_soundeffects))){ AudioEngine.sSFXMuted = true; AudioEngine.SetVolume(AudioEngine.SFX_CHANNEL, 0); }; if (((((!((shrdObject.data.mute_music == null))) && (!((shrdObject.data.mute_music == undefined))))) && (shrdObject.data.mute_music))){ AudioEngine.sMusicMuted = true; AudioEngine.SetVolume(AudioEngine.MUSIC_CHANNEL, 0); }; }; } catch(e:Error) { trace(("***** Unable to load saved audio settings: " + e.toString())); }; } public static function CheckChannel(_arg1:Number):void{ if (sVolumes[_arg1] != null){ return; }; sVolumes[_arg1] = 1; sSoundObjects[_arg1] = new Array(); sSoundInstances[_arg1] = new Array(); sFreeInstanceSlots[_arg1] = new Array(); sSoundTransforms[_arg1] = new SoundTransform(); } public static function SetVolume(_arg1:Number, _arg2:Number):void{ CheckChannel(_arg1); sVolumes[_arg1] = _arg2; sSoundTransforms[_arg1].volume = _arg2; var _local3:Array = sSoundInstances[_arg1]; var _local4:Number = 0; while (_local4 < _local3.length) { if (_local3[_local4] != null){ _local3[_local4].ResetVolume(); }; _local4++; }; } } }//package audio
Section 8
//MusicButton (audio.MusicButton) package audio { import flash.events.*; import flash.display.*; import flash.net.*; import misc.*; public class MusicButton extends MovieClip { private var mClip:MusicButton_MovieClip; public function MusicButton(_arg1:MusicButton_MovieClip){ mClip = _arg1; if (mClip != null){ mClip.useHandCursor = true; mClip.buttonMode = true; if (mClip.mcHitArea != null){ mClip.hitArea = mClip.mcHitArea; mClip["mcHitArea"].visible = false; }; mClip.addEventListener(MouseEvent.MOUSE_DOWN, onButtonPressed, false, 0, true); InitState(); }; } private function onButtonPressed(_arg1:MouseEvent):void{ var shrdObject:SharedObject; var event = _arg1; AudioEngine.sMusicMuted = !(AudioEngine.sMusicMuted); if (AudioEngine.sMusicMuted){ mClip.gotoAndStop("off"); AudioEngine.SetVolume(AudioEngine.MUSIC_CHANNEL, 0); } else { mClip.gotoAndStop("on"); AudioEngine.SetVolume(AudioEngine.MUSIC_CHANNEL, 1); }; try { shrdObject = SharedObjectHelper.GetData(); if (shrdObject != null){ shrdObject.data.mute_music = AudioEngine.sMusicMuted; shrdObject.flush(); }; } catch(e:Error) { trace(("***** Could not save audio setting: " + e.toString())); }; } public function InitState():void{ if (AudioEngine.sMusicMuted){ mClip.gotoAndStop("off"); } else { mClip.gotoAndStop("on"); }; } public function IsMuted():Boolean{ return (AudioEngine.sMusicMuted); } } }//package audio
Section 9
//SoundEffectsButton (audio.SoundEffectsButton) package audio { import flash.events.*; import flash.display.*; import flash.net.*; import misc.*; public class SoundEffectsButton extends MovieClip { private var mClip:SoundEffectsButton_MovieClip; public function SoundEffectsButton(_arg1:SoundEffectsButton_MovieClip){ mClip = _arg1; if (mClip != null){ mClip.useHandCursor = true; mClip.buttonMode = true; if (mClip.mcHitArea != null){ mClip.hitArea = mClip.mcHitArea; mClip["mcHitArea"].visible = false; }; mClip.addEventListener(MouseEvent.MOUSE_DOWN, onButtonPressed, false, 0, true); InitState(); }; } private function onButtonPressed(_arg1:MouseEvent):void{ var shrdObject:SharedObject; var event = _arg1; AudioEngine.sSFXMuted = !(AudioEngine.sSFXMuted); if (AudioEngine.sSFXMuted){ mClip.gotoAndStop("off"); AudioEngine.SetVolume(AudioEngine.SFX_CHANNEL, 0); } else { mClip.gotoAndStop("on"); AudioEngine.SetVolume(AudioEngine.SFX_CHANNEL, 1); }; try { shrdObject = SharedObjectHelper.GetData(); if (shrdObject != null){ shrdObject.data.mute_soundeffects = AudioEngine.sSFXMuted; shrdObject.flush(); }; } catch(e:Error) { trace(("***** Could not save audio setting: " + e.toString())); }; } public function InitState():void{ if (AudioEngine.sSFXMuted){ mClip.gotoAndStop("off"); } else { mClip.gotoAndStop("on"); }; } public function IsMuted():Boolean{ return (AudioEngine.sSFXMuted); } } }//package audio
Section 10
//SoundHandle (audio.SoundHandle) package audio { import flash.events.*; import flash.media.*; public class SoundHandle extends EventDispatcher { private var mSoundType:Number; private var mVolume:Number;// = 1 private var mID:Number;// = -1 private var mChannel:SoundChannel; public function SoundHandle(_arg1:SoundChannel, _arg2:Number){ mSoundType = AudioEngine.SFX_CHANNEL; super(); mChannel = _arg1; mSoundType = _arg2; if (mChannel != null){ mChannel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler, false, 0, true); }; } public function Stop():void{ if (mChannel != null){ mChannel.stop(); }; soundComplete(); } public function ResetVolume():void{ if (mChannel == null){ return; }; var _local1:SoundTransform = mChannel.soundTransform; _local1.volume = (mVolume * AudioEngine.GetVolume(mSoundType)); mChannel.soundTransform = _local1; } private function soundComplete():void{ AudioEngine.SoundComplete(mSoundType, mID); } private function soundCompleteHandler(_arg1:Event):void{ soundComplete(); } public function SetPan(_arg1:Number):void{ if (mChannel == null){ return; }; var _local2:SoundTransform = mChannel.soundTransform; _local2.pan = _arg1; mChannel.soundTransform = _local2; } public function SetVolume(_arg1:Number):void{ if (mChannel == null){ return; }; mVolume = _arg1; var _local2:SoundTransform = mChannel.soundTransform; _local2.volume = (mVolume * AudioEngine.GetVolume(mSoundType)); mChannel.soundTransform = _local2; } public function SetID(_arg1:Number):void{ mID = _arg1; } } }//package audio
Section 11
//Geometry (framework.math.Geometry) package framework.math { import org.flixel.*; public class Geometry { public static var zero_velocity:Number = 1; public static var snap_distance:Number = 0.5; public static var two_pi:Number = 6.28318530717959; public static var zero_distance_squared:Number = 4; public static function angleAway(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (normalizeAngle((angleBetween(_arg1, _arg2, _arg3, _arg4) + Math.PI))); } public static function normalizeAngle(_arg1:Number):Number{ while (_arg1 < 0) { _arg1 = (_arg1 + two_pi); }; while (_arg1 >= two_pi) { _arg1 = (_arg1 - two_pi); }; return (_arg1); } public static function getCollisionDirections(_arg1:FlxCore, _arg2:FlxCore, _arg3:Number=0):Array{ var _local4:Array = new Array(4); _local4[0] = ((((_arg2.x + _arg2.width) > _arg1.x)) && (((_arg2.last.x + _arg2.width) <= _arg1.last.x))); _local4[1] = (((_arg2.x < (_arg1.x + _arg1.width))) && ((_arg2.last.x >= (_arg1.last.x + _arg1.width)))); _local4[2] = (((((_arg2.y + _arg2.height) + _arg3) > _arg1.y)) && (((_arg2.last.y + _arg2.height) <= _arg1.last.y))); _local4[3] = (((_arg2.y < (_arg1.y + _arg1.height))) && ((_arg2.last.y >= (_arg1.last.y + _arg1.height)))); return (_local4); } public static function distanceSquared(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local5:Number = (_arg1 - _arg3); var _local6:Number = (_arg2 - _arg4); return (((_local5 * _local5) + (_local6 * _local6))); } public static function angleBetween(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ var _local5:Number = (_arg1 - _arg3); var _local6:Number = (_arg2 - _arg4); return (Math.atan2(_local6, _local5)); } public static function overlapCheck(_arg1:FlxCore, _arg2:FlxCore, _arg3:Number=0, _arg4:Number=0, _arg5:Number=0, _arg6:Number=0):Boolean{ if ((((((((((_arg2.x + _arg2.width) + _arg6) <= _arg1.x)) || (((_arg2.x - _arg5) >= (_arg1.x + _arg1.width))))) || (((_arg2.y - _arg4) >= (_arg1.y + _arg1.height))))) || ((((_arg2.y + _arg2.height) + _arg3) <= _arg1.y)))){ return (false); }; return (true); } public static function distance(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (Math.sqrt(distanceSquared(_arg1, _arg2, _arg3, _arg4))); } } }//package framework.math
Section 12
//Random (framework.math.Random) package framework.math { import flash.geom.*; public class Random { public static function intRange(_arg1:int, _arg2:int):int{ return (int((_arg1 + (Math.random() * (_arg2 - _arg1))))); } public static function uniformRange(_arg1:Number, _arg2:Number):Number{ return ((_arg1 + (Math.random() * (_arg2 - _arg1)))); } public static function pointInCircle(_arg1:Point, _arg2:Number):Point{ var _local3:Number = uniformRange(0, (Math.PI * 2)); var _local4:Number = uniformRange(0, _arg2); return (new Point((_arg1.x + (Math.cos(_local3) * _local4)), (_arg1.y + (Math.sin(_local3) * _local4)))); } public static function pointInBox(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Point{ return (new Point(uniformRange(_arg1, _arg3), uniformRange(_arg2, _arg4))); } } }//package framework.math
Section 13
//DomainCheck (framework.security.DomainCheck) package framework.security { import flash.net.*; public class DomainCheck { private static var sAllowedDomainsList:Array = new Array("digyourowngrave.com", "ucsc.edu"); public static function isCurrentDomainAllowed():Boolean{ var _local3:Number; var _local1:LocalConnection = new LocalConnection(); var _local2:String = _local1.domain; if (_local2 == "localhost"){ return (true); }; if (sAllowedDomainsList == null){ return (false); }; _local3 = 0; while (_local3 < sAllowedDomainsList.length) { if (_local2 == sAllowedDomainsList[_local3]){ return (true); }; _local3++; }; _local3 = 0; while (_local3 < sAllowedDomainsList.length) { if (_local2.substr(-((sAllowedDomainsList[_local3].length + 1))) == ("." + sAllowedDomainsList[_local3])){ return (true); }; _local3++; }; return (false); } } }//package framework.security
Section 14
//SHA1Hash (framework.security.SHA1Hash) package framework.security { public class SHA1Hash { private static function rotate_left(_arg1:int, _arg2:int):int{ var _local3 = ((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))); return (_local3); } private static function cvt_hex(_arg1:int):String{ var _local3:int; var _local4:int; var _local2 = ""; _local3 = 7; while (_local3 >= 0) { _local4 = ((_arg1 >>> (_local3 * 4)) & 15); _local2 = (_local2 + _local4.toString(16)); _local3--; }; return (_local2); } public static function SHA1(_arg1:String):String{ var _local2:int; var _local3:int; var _local10:int; var _local11:int; var _local12:int; var _local13:int; var _local14:int; var _local15:int; var _local4:Array = new Array(80); var _local5 = 1732584193; var _local6:int = 4023233417; var _local7:int = 2562383102; var _local8 = 271733878; var _local9:int = 3285377520; _arg1 = Utf8Encode(_arg1); var _local16:int = _arg1.length; var _local17:Array = new Array(); _local2 = 0; while (_local2 < (_local16 - 3)) { _local3 = ((((_arg1.charCodeAt(_local2) << 24) | (_arg1.charCodeAt((_local2 + 1)) << 16)) | (_arg1.charCodeAt((_local2 + 2)) << 8)) | _arg1.charCodeAt((_local2 + 3))); _local17.push(_local3); _local2 = (_local2 + 4); }; switch ((_local16 % 4)){ case 0: _local2 = 2147483648; break; case 1: _local2 = ((_arg1.charCodeAt((_local16 - 1)) << 24) | 0x800000); break; case 2: _local2 = (((_arg1.charCodeAt((_local16 - 2)) << 24) | (_arg1.charCodeAt((_local16 - 1)) << 16)) | 0x8000); break; case 3: _local2 = ((((_arg1.charCodeAt((_local16 - 3)) << 24) | (_arg1.charCodeAt((_local16 - 2)) << 16)) | (_arg1.charCodeAt((_local16 - 1)) << 8)) | 128); break; }; _local17.push(_local2); while ((_local17.length % 16) != 14) { _local17.push(0); }; _local17.push((_local16 >>> 29)); _local17.push(((_local16 << 3) & 4294967295)); var _local18:int; while (_local18 < _local17.length) { _local2 = 0; while (_local2 < 16) { _local4[_local2] = _local17[(_local18 + _local2)]; _local2++; }; _local2 = 16; while (_local2 <= 79) { _local4[_local2] = rotate_left((((_local4[(_local2 - 3)] ^ _local4[(_local2 - 8)]) ^ _local4[(_local2 - 14)]) ^ _local4[(_local2 - 16)]), 1); _local2++; }; _local10 = _local5; _local11 = _local6; _local12 = _local7; _local13 = _local8; _local14 = _local9; _local2 = 0; while (_local2 <= 19) { _local15 = (((((rotate_left(_local10, 5) + ((_local11 & _local12) | (~(_local11) & _local13))) + _local14) + _local4[_local2]) + 1518500249) & 4294967295); _local14 = _local13; _local13 = _local12; _local12 = rotate_left(_local11, 30); _local11 = _local10; _local10 = _local15; _local2++; }; _local2 = 20; while (_local2 <= 39) { _local15 = (((((rotate_left(_local10, 5) + ((_local11 ^ _local12) ^ _local13)) + _local14) + _local4[_local2]) + 1859775393) & 4294967295); _local14 = _local13; _local13 = _local12; _local12 = rotate_left(_local11, 30); _local11 = _local10; _local10 = _local15; _local2++; }; _local2 = 40; while (_local2 <= 59) { _local15 = (((((rotate_left(_local10, 5) + (((_local11 & _local12) | (_local11 & _local13)) | (_local12 & _local13))) + _local14) + _local4[_local2]) + 2400959708) & 4294967295); _local14 = _local13; _local13 = _local12; _local12 = rotate_left(_local11, 30); _local11 = _local10; _local10 = _local15; _local2++; }; _local2 = 60; while (_local2 <= 79) { _local15 = (((((rotate_left(_local10, 5) + ((_local11 ^ _local12) ^ _local13)) + _local14) + _local4[_local2]) + 3395469782) & 4294967295); _local14 = _local13; _local13 = _local12; _local12 = rotate_left(_local11, 30); _local11 = _local10; _local10 = _local15; _local2++; }; _local5 = ((_local5 + _local10) & 4294967295); _local6 = ((_local6 + _local11) & 4294967295); _local7 = ((_local7 + _local12) & 4294967295); _local8 = ((_local8 + _local13) & 4294967295); _local9 = ((_local9 + _local14) & 4294967295); _local18 = (_local18 + 16); }; var _local19:String = ((((cvt_hex(_local5) + cvt_hex(_local6)) + cvt_hex(_local7)) + cvt_hex(_local8)) + cvt_hex(_local9)); return (_local19.toLowerCase()); } private static function Utf8Encode(_arg1:String):String{ var _local4:int; var _local2 = ""; var _local3:int; while (_local3 < _arg1.length) { _local4 = _arg1.charCodeAt(_local3); if (_local4 < 128){ _local2 = (_local2 + String.fromCharCode(_local4)); } else { if ((((_local4 > 127)) && ((_local4 < 0x0800)))){ _local2 = (_local2 + String.fromCharCode(((_local4 >> 6) | 192))); _local2 = (_local2 + String.fromCharCode(((_local4 & 63) | 128))); } else { _local2 = (_local2 + String.fromCharCode(((_local4 >> 12) | 224))); _local2 = (_local2 + String.fromCharCode((((_local4 >> 6) & 63) | 128))); _local2 = (_local2 + String.fromCharCode(((_local4 & 63) | 128))); }; }; _local3++; }; return (_local2); } private static function lsb_hex(_arg1:int):String{ var _local3:int; var _local4:int; var _local5:int; var _local2 = ""; _local3 = 0; while (_local3 <= 6) { _local4 = ((_arg1 >>> ((_local3 * 4) + 4)) & 15); _local5 = ((_arg1 >>> (_local3 * 4)) & 15); _local2 = (_local2 + (_local4.toString(16) + _local5.toString(16))); _local3 = (_local3 + 2); }; return (_local2); } } }//package framework.security
Section 15
//ActivateSwitch (game.bodies.ActivateSwitch) package game.bodies { import game.*; public class ActivateSwitch extends CBody { public var save_activated:Boolean; public var activated:Boolean;// = false public var start_activated:Boolean;// = false public var activator:Activator;// = null public var toggles:Boolean;// = true public static var w:Number = 6; public static var HandSwitchImage:Class = ActivateSwitch_HandSwitchImage; public static var h:Number = 8; public function ActivateSwitch(_arg1:int=0, _arg2:int=0, _arg3:Activator=null, _arg4:Boolean=true){ super(HandSwitchImage, _arg1, _arg2, true, false, w, h); activator = _arg3; toggles = _arg4; } override public function loadState():void{ super.loadState(); save_activated = activated; } override public function initialize():void{ super.initialize(); addAnimation("off", [0]); addAnimation("on", [1]); holdable = false; useable = true; setActivated(start_activated); if (activator != null){ activator.initialize(); }; holding_image_y_offset = -3; } public function setActivated(_arg1:Boolean):void{ activated = _arg1; if (_arg1){ play("on"); } else { play("off"); }; } override public function activate():void{ super.activate(); toggleActivated(); if (activator != null){ activator.activate(); }; SoundManager.play("switch"); } override public function saveState():void{ super.saveState(); activated = save_activated; } public function toggleActivated():void{ if (((!(activated)) || (toggles))){ setActivated(!(activated)); }; } } }//package game.bodies
Section 16
//ActivateSwitch_HandSwitchImage (game.bodies.ActivateSwitch_HandSwitchImage) package game.bodies { import mx.core.*; public class ActivateSwitch_HandSwitchImage extends BitmapAsset { } }//package game.bodies
Section 17
//Activator (game.bodies.Activator) package game.bodies { import game.terrain.*; public class Activator { public var toggle_moving_block:MovingBlock;// = null public var percentage_block:PercentageBlock;// = null public var activated:Boolean;// = false public var start_activated:Boolean;// = false public var moving_block:MovingBlock;// = null public function Activator(_arg1:MovingBlock=null, _arg2:MovingBlock=null, _arg3:PercentageBlock=null){ moving_block = _arg1; toggle_moving_block = _arg2; percentage_block = _arg3; } public function initialize():void{ activated = start_activated; } public function activate():void{ if (moving_block){ moving_block.moving = true; moving_block.switchTarget(); }; if (toggle_moving_block){ toggle_moving_block.moving = !(toggle_moving_block.moving); }; } } }//package game.bodies
Section 18
//Blueberry (game.bodies.Blueberry) package game.bodies { import game.npcs.*; import game.scripting.*; import game.*; public class Blueberry extends CBody { public static var BlueberryImage:Class = Blueberry_BlueberryImage; public function Blueberry(_arg1:int=0, _arg2:int=0){ super(BlueberryImage, _arg1, _arg2); starts_attached = true; useable = false; start_mass = 0.5; max_throw_strength = 175; collision_muffle = 0.5; initialize(); } override public function initialize():void{ super.initialize(); land_sound = "blueberry_knock"; bounce_sound = "blueberry_knock"; } override public function activate():void{ var _local1:Player; super.activate(); if (!dead){ _local1 = Player.getGameState().getPlayer(); if (_local1.holding == this){ _local1.hurt(-1); _local1.releaseHolding(); kill(); SoundManager.play("christie_yum"); Player.getGameState().addQueuedEvent(new DisplayTextEvent(3, "Yum!", Player.text_color)); }; }; } override public function hold(_arg1:CCharacter):void{ if (!dettached){ SoundManager.play("blueberry_pick", SoundManager.getDistanceMultiplier(x, y), SoundManager.getPan(x, y)); useable = true; }; super.hold(_arg1); } } }//package game.bodies
Section 19
//Blueberry_BlueberryImage (game.bodies.Blueberry_BlueberryImage) package game.bodies { import mx.core.*; public class Blueberry_BlueberryImage extends BitmapAsset { } }//package game.bodies
Section 20
//CBody (game.bodies.CBody) package game.bodies { import org.flixel.*; import flash.geom.*; import game.npcs.*; import game.*; import framework.math.*; public class CBody extends CGeneralBody { public var dettached:Boolean;// = true public var max_x_velocity:Number;// = 200 public var message:String;// = "" public var drag_rate:Number;// = 1 public var collision_muffle:Number;// = 0.4 public var holdable:Boolean;// = true public var max_y_velocity:Number;// = 200 public var remaining_life:Number;// = 0 public var save_remaining_life:Number; public var holder:CCharacter;// = null public var life_span:Number;// = 0 public var save_holder:CCharacter; public var max_throw_strength:Number;// = 275 public var attach_acceleration:Number;// = 0 public var triggers:Boolean;// = false public var save_dettached:Boolean; public var gravity_acceleration:Number;// = 420 public var starts_attached:Boolean;// = false public var life_fade:Boolean;// = true public var useable:Boolean;// = false public var continuously_useable:Boolean;// = false public function CBody(_arg1:Class=null, _arg2:int=0, _arg3:int=0, _arg4:Boolean=false, _arg5:Boolean=false, _arg6:uint=0, _arg7:uint=0, _arg8:uint=0, _arg9:Boolean=false){ super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9); initialize(); } override public function initialize():void{ super.initialize(); collides_blocks = true; if (starts_attached){ acceleration.y = attach_acceleration; dettached = false; } else { acceleration.y = gravity_acceleration; }; maxVelocity = new Point(max_x_velocity, max_y_velocity); remaining_life = life_span; holder = null; } override public function saveState():void{ super.saveState(); save_dettached = dettached; save_holder = holder; save_remaining_life = remaining_life; } public function trigger():void{ } override public function hitFloor(_arg1:FlxCore=null):Boolean{ var _local2:Number = velocity.y; if (((super.hitFloor(_arg1)) && (!((acceleration.y == 0))))){ this.velocity.y = (-(this.collision_muffle) * _local2); if ((((velocity.y <= Geometry.zero_velocity)) && ((velocity.y >= -(Geometry.zero_velocity))))){ velocity.y = 0; }; velocity.x = (velocity.x * this.collision_muffle); if ((((velocity.x <= Geometry.zero_velocity)) && ((velocity.x >= -(Geometry.zero_velocity))))){ velocity.x = 0; }; return (true); }; return (false); } public function hold(_arg1:CCharacter):void{ dettached = true; acceleration.y = 0; holder = _arg1; } override public function loadState():void{ super.loadState(); dettached = save_dettached; holder = save_holder; remaining_life = save_remaining_life; } override public function update():void{ super.update(); if (life_span > 0){ remaining_life = (remaining_life - FlxG.elapsed); if (life_fade){ alpha = (remaining_life / life_span); }; if (remaining_life <= 0){ kill(); }; }; } override public function kill(_arg1:Boolean=false):void{ super.kill(_arg1); Player.getGameState().removeBody(this); } public function messageReady():Boolean{ return (!((message == ""))); } public function displayMessage():void{ } public function drop():void{ acceleration.y = gravity_acceleration; holder = null; } public function activate():void{ } override public function hitWall(_arg1:FlxCore=null):Boolean{ var _local2:Number = velocity.x; if (super.hitWall(_arg1)){ velocity.x = (_local2 * -(collision_muffle)); return (true); }; return (false); } public function isHeld():Boolean{ return (!((holder == null))); } } }//package game.bodies
Section 21
//CCamera (game.bodies.CCamera) package game.bodies { import game.*; import game.graphics.*; import framework.math.*; public class CCamera extends CBody { public var activated:Boolean; public var num_sparks:int;// = 5 public var save_activated:Boolean; public static var CameraImage:Class = CCamera_CameraImage; public static var w:Number = 8; public static var h:Number = 8; public function CCamera(_arg1:int=0, _arg2:int=0){ super(CameraImage, _arg1, (_arg2 - h), true, false, w, h); initialize(); } override public function initialize():void{ super.initialize(); addAnimation("off", [0]); addAnimation("on", [1, 2], 15, false); activated = false; holdable = false; useable = true; play("off"); holding_image_y_offset = -3; } override public function saveState():void{ super.saveState(); save_activated = activated; } override public function activate():void{ var _local1:CSpark; var _local2:Number; var _local3:int; super.activate(); if (!activated){ play("on"); activated = true; useable = false; Player.getGameState().save_state = true; _local2 = 100; while (_local3 < num_sparks) { _local1 = new CSpark(Random.uniformRange(x, (x + width)), (y + 3)); _local1.velocity.x = Random.uniformRange(-(_local2), _local2); _local1.velocity.y = Random.uniformRange(-(_local2), 0); Player.getGameState().addBody(_local1); _local3++; }; SoundManager.play("camera"); }; } override public function loadState():void{ super.loadState(); activated = save_activated; } } }//package game.bodies
Section 22
//CCamera_CameraImage (game.bodies.CCamera_CameraImage) package game.bodies { import mx.core.*; public class CCamera_CameraImage extends BitmapAsset { } }//package game.bodies
Section 23
//CCorpse (game.bodies.CCorpse) package game.bodies { import org.flixel.*; import game.scripting.*; import game.*; import audio.*; import achievements.*; import game.graphics.*; import framework.math.*; public class CCorpse extends CBody { public var gore_health:Number; public var min_damage_amount:int;// = 100 public var death_sound:String;// = "corpse_death" public var corpse_chunk_image:Class; public var create_chunks:Boolean;// = true public var min_blood_speed:int;// = 80 public var max_health:int;// = 12000 public var death_achievement:Boolean; public var display_alerts:Boolean;// = false public static var ChristieCorpseImage:Class = CCorpse_ChristieCorpseImage; public static var CorpseImage:Class = CCorpse_CorpseImage; public static var HangingCorpseImage:Class = CCorpse_HangingCorpseImage; public function CCorpse(_arg1:Number, _arg2:Number, _arg3:Class=null, _arg4:Number=16, _arg5:Number=8, _arg6:Boolean=false){ if (_arg3 == null){ _arg3 = HangingCorpseImage; }; super(_arg3, _arg1, _arg2, true, true, _arg4, _arg5); start_mass = 5; drag_rate = 0.5; collision_muffle = 0.2; death_achievement = _arg6; initialize(); } override public function loadState():void{ super.loadState(); gore_health = health; } override public function initialize():void{ super.initialize(); health = max_health; gore_health = health; land_sound = "corpse_knock"; bounce_sound = "corpse_knock"; corpse_chunk_image = CorpseChunk.CorpseChunkImage; } override public function hurt(_arg1:Number):void{ var _local2:CBlood; var _local4:CorpseChunk; var _local5:Number; var _local6:int; var _local7:int; super.hurt(_arg1); if (display_alerts){ GameState.total_corpse_damage = (GameState.total_corpse_damage + _arg1); if (health <= 0){ GameState.total_corpse_deaths = (GameState.total_corpse_deaths + 1); }; }; var _local3:Number = (_arg1 / 4); if (_local3 < min_blood_speed){ _local3 = min_blood_speed; }; while (gore_health > health) { gore_health = (gore_health - min_damage_amount); if ((gore_health % min_damage_amount) != 0){ _local5 = (gore_health % min_damage_amount); if (_local5 > (min_damage_amount / 2)){ gore_health = (gore_health + (min_damage_amount - _local5)); } else { gore_health = (gore_health - _local5); }; }; _local2 = new CBlood(Random.uniformRange(x, (x + width)), y); _local2.velocity.x = Random.uniformRange(-(_local3), _local3); _local2.velocity.y = Random.uniformRange(-(_local3), 0); Player.getGameState().addBody(_local2); if (((create_chunks) && (((gore_health % 2000) == 0)))){ _local4 = new CorpseChunk(Random.uniformRange(x, (x + width)), y, Random.uniformRange(-(_local3), _local3), Random.uniformRange(-(_local3), 0), corpse_chunk_image); Player.getGameState().addBody(_local4); if (display_alerts){ GameState.total_corpse_chunks = (GameState.total_corpse_chunks + 1); }; }; if (((display_alerts) && (Player.isAlive()))){ if (gore_health == ((max_health * 2) / 3)){ Player.getGameState().addQueuedEvent(new DisplayTextEvent(5, "Ew. The corpse is looking a little nasty. I should be careful.", Player.text_color)); AudioEngine.PlaySound("ew", AudioEngine.SFX_CHANNEL); }; if (gore_health == (max_health / 3)){ Player.getGameState().addQueuedEvent(new DisplayTextEvent(5, "Gross! The corpse is about to fall apart!", Player.text_color)); AudioEngine.PlaySound("gross", AudioEngine.SFX_CHANNEL); }; }; if (((create_chunks) && ((gore_health == 0)))){ _local6 = 4; _local7 = 0; while (_local7 < _local6) { _local4 = new CorpseChunk(Random.uniformRange(x, (x + width)), y, Random.uniformRange(-(_local3), _local3), Random.uniformRange(-(_local3), 0), corpse_chunk_image); Player.getGameState().addBody(_local4); _local7++; }; }; }; if ((((health <= 0)) && (death_achievement))){ Achievements.CompletedAchievement(91, true); }; } override public function kill(_arg1:Boolean=false):void{ if (!_arg1){ SoundManager.play(death_sound, SoundManager.getDistanceMultiplier(x, y), SoundManager.getPan(x, y)); }; super.kill(_arg1); if (((display_alerts) && (Player.isAlive()))){ Player.getGameState().addQueuedEvent(new DisplayTextEvent(15, "Great. The corpse is ruined. [5] or [0]. [ESC] for help.", Player.text_color, false, 2)); if (!_arg1){ AudioEngine.PlaySound("great", AudioEngine.SFX_CHANNEL); }; }; } public function actuallyHitWall(_arg1:FlxCore=null, _arg2:Number=0):void{ collideHurt(_arg2); } public function actuallyHitCeiling(_arg1:FlxCore=null, _arg2:Number=0):void{ collideHurt(_arg2); } public function collideHurt(_arg1:Number):void{ if (_arg1 >= min_damage_amount){ hurt(_arg1); }; } override public function hitCeiling(_arg1:FlxCore=null):Boolean{ var _local2:Number = this.getForce(); if (super.hitCeiling(_arg1)){ actuallyHitCeiling(_arg1, _local2); return (true); }; return (false); } public function actuallyHitFloor(_arg1:FlxCore=null, _arg2:Number=0):void{ collideHurt(_arg2); } override public function hitFloor(_arg1:FlxCore=null):Boolean{ var _local2:Number = this.getForce(); if (super.hitFloor(_arg1)){ actuallyHitFloor(_arg1, _local2); return (true); }; return (false); } override public function hitWall(_arg1:FlxCore=null):Boolean{ var _local2:Number = this.getForce(); if (super.hitWall(_arg1)){ actuallyHitWall(_arg1, _local2); return (true); }; return (false); } } }//package game.bodies
Section 24
//CCorpse_ChristieCorpseImage (game.bodies.CCorpse_ChristieCorpseImage) package game.bodies { import mx.core.*; public class CCorpse_ChristieCorpseImage extends BitmapAsset { } }//package game.bodies
Section 25
//CCorpse_CorpseImage (game.bodies.CCorpse_CorpseImage) package game.bodies { import mx.core.*; public class CCorpse_CorpseImage extends BitmapAsset { } }//package game.bodies
Section 26
//CCorpse_HangingCorpseImage (game.bodies.CCorpse_HangingCorpseImage) package game.bodies { import mx.core.*; public class CCorpse_HangingCorpseImage extends BitmapAsset { } }//package game.bodies
Section 27
//ContinuousSwitch (game.bodies.ContinuousSwitch) package game.bodies { import org.flixel.*; import game.*; import framework.math.*; public class ContinuousSwitch extends CBody { public var activate_duration:Number;// = 5 public var save_activating:Boolean; public var decay_rate:Number;// = 0.2 public var activating:Boolean;// = false public var activator:Activator;// = null public var save_activate_time:Number; public var activate_time:Number;// = 0 public var start_activate_time:Number;// = 0 public static var RotarySwitchImage:Class = ContinuousSwitch_RotarySwitchImage; public function ContinuousSwitch(_arg1:int=0, _arg2:int=0, _arg3:Activator=null, _arg4:Number=5){ super(RotarySwitchImage, _arg1, _arg2, true, false, ActivateSwitch.w, ActivateSwitch.h); activator = _arg3; activate_duration = _arg4; } override public function update():void{ super.update(); activate_time = (activate_time - (FlxG.elapsed * decay_rate)); if (!activating){ play("unwind"); if (activate_time > 0){ if (Geometry.distanceSquared(x, y, Player.getGameState().getPlayer().x, Player.getGameState().getPlayer().y) <= SoundManager.hearing_distance_squared){ SoundManager.play("crank_unwind"); }; }; }; activating = false; if (activate_time < 0){ activate_time = 0; play("idle"); }; if (activate_time > activate_duration){ activate_time = activate_duration; }; if (activator.percentage_block != null){ activator.percentage_block.percentage = (activate_time / activate_duration); }; } override public function loadState():void{ super.loadState(); activate_time = save_activate_time; activating = save_activating; } override public function saveState():void{ super.saveState(); save_activate_time = activate_time; save_activating = activating; } override public function activate():void{ super.activate(); activate_time = (activate_time + FlxG.elapsed); play("crank"); activating = true; SoundManager.play("crank"); } override public function initialize():void{ super.initialize(); this.holdable = false; this.useable = true; this.continuously_useable = true; activate_time = start_activate_time; addAnimation("idle", [0]); addAnimation("crank", [0, 1, 2, 3, 4, 3, 2, 1], 12); addAnimation("unwind", [0, 1, 2, 3, 4, 3, 2, 1], 4); holding_image_y_offset = -3; } } }//package game.bodies
Section 28
//ContinuousSwitch_RotarySwitchImage (game.bodies.ContinuousSwitch_RotarySwitchImage) package game.bodies { import mx.core.*; public class ContinuousSwitch_RotarySwitchImage extends BitmapAsset { } }//package game.bodies
Section 29
//CorpseChunk (game.bodies.CorpseChunk) package game.bodies { import framework.math.*; public class CorpseChunk extends CCorpse { public static var CorpseChunkImage:Class = CorpseChunk_CorpseChunkImage; public static var VultureCorpseChunkImage:Class = CorpseChunk_VultureCorpseChunkImage; public function CorpseChunk(_arg1:int=0, _arg2:int=0, _arg3:Number=0, _arg4:Number=0, _arg5:Class=null){ if (_arg5 == null){ _arg5 = CorpseChunkImage; }; super(_arg1, _arg2, _arg5, 3, 3); max_health = 1000; initialize(); velocity.x = _arg3; velocity.y = _arg4; } override public function initialize():void{ super.initialize(); addAnimation("1", [0]); addAnimation("2", [1]); addAnimation("3", [2]); addAnimation("4", [3]); var _local1:Number = Random.intRange(1, 5); if (_local1 == 1){ play("1"); } else { if (_local1 == 2){ play("2"); } else { if (_local1 == 3){ play("3"); } else { play("4"); }; }; }; start_mass = 1; drag_rate = 1; collision_muffle = 0.35; land_sound = "chunk_knock"; bounce_sound = "chunk_knock"; death_sound = "none"; create_chunks = false; } } }//package game.bodies
Section 30
//CorpseChunk_CorpseChunkImage (game.bodies.CorpseChunk_CorpseChunkImage) package game.bodies { import mx.core.*; public class CorpseChunk_CorpseChunkImage extends BitmapAsset { } }//package game.bodies
Section 31
//CorpseChunk_VultureCorpseChunkImage (game.bodies.CorpseChunk_VultureCorpseChunkImage) package game.bodies { import mx.core.*; public class CorpseChunk_VultureCorpseChunkImage extends BitmapAsset { } }//package game.bodies
Section 32
//CStone (game.bodies.CStone) package game.bodies { public class CStone extends CBody { public static var StoneImage:Class = CStone_StoneImage; public function CStone(_arg1:int=0, _arg2:int=0){ super(StoneImage, _arg1, _arg2); start_mass = 1; initialize(); } override public function initialize():void{ super.initialize(); land_sound = "stone_knock"; bounce_sound = "stone_knock"; } } }//package game.bodies
Section 33
//CStone_StoneImage (game.bodies.CStone_StoneImage) package game.bodies { import mx.core.*; public class CStone_StoneImage extends BitmapAsset { } }//package game.bodies
Section 34
//EndSign (game.bodies.EndSign) package game.bodies { import game.scripting.*; import game.*; import game.graphics.*; public class EndSign extends Sign { public var end_game:Boolean;// = false public static var EndRightSignImage:Class = EndSign_EndRightSignImage; public function EndSign(_arg1:Class=null, _arg2:int=0, _arg3:int=0, _arg4:String="", _arg5:Boolean=false, _arg6:Boolean=false, _arg7:uint=0, _arg8:uint=0, _arg9:uint=0, _arg10:Boolean=false){ super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10); } override public function initialize():void{ super.initialize(); this.triggers = true; this.active = true; this.dead = false; } override public function trigger():void{ var _local1:GameState = Player.getGameState(); var _local2:Player = _local1.getPlayer(); if (_local2.holding == _local1.getCorpse()){ SoundManager.play("christie_hooray"); _local1.addQueuedEvent(new DisplayTextEvent(1.5, "Awesome.", Player.text_color)); _local1.addQueuedEvent(new DelayEvent(1.5)); if (end_game){ _local1.addQueuedEvent(new MenuStateEvent()); } else { _local1.addQueuedEvent(new NextLevelEvent()); }; } else { SoundManager.play("christie_without_body"); _local1.addQueuedEvent(new DisplayTextEvent(2.5, "I guess I shouldn't leave without the body...", Player.text_color)); }; } } }//package game.bodies
Section 35
//EndSign_EndRightSignImage (game.bodies.EndSign_EndRightSignImage) package game.bodies { import mx.core.*; public class EndSign_EndRightSignImage extends BitmapAsset { } }//package game.bodies
Section 36
//TealeCorpse (game.bodies.TealeCorpse) package game.bodies { import org.flixel.*; import game.npcs.*; public class TealeCorpse extends CCorpse { public var thrown:Boolean;// = false public var save_thrown:Boolean; public static var TealeCorpseImage:Class = TealeCorpse_TealeCorpseImage; public function TealeCorpse(_arg1:Number, _arg2:Number, _arg3:Class=null, _arg4:Number=16, _arg5:Number=8){ if (_arg3 == null){ _arg3 = TealeCorpseImage; }; super(_arg1, _arg2, _arg3, _arg4, _arg5); initialize(); } override public function update():void{ var _local1:Number = velocity.y; if (isHeld()){ if (holder.velocity.x != 0){ play("held_bouncing"); } else { play("held"); }; if (holder.facing == RIGHT){ facing = RIGHT; } else { facing = LEFT; }; }; super.update(); if ((((velocity.y >= 0)) && (((thrown) || (((!(isHeld())) && ((_local1 < -3)))))))){ play("free_fall"); thrown = false; }; } override public function loadState():void{ super.loadState(); thrown = save_thrown; } public function setupAnimations():void{ addAnimation("idle", [0]); addAnimation("thrown", [10]); addAnimation("free_fall", [8, 9, 4], 15, false); addAnimation("land", [5, 6, 0], 30, false); addAnimation("held", [2]); addAnimation("held_bouncing", [2, 2, 3, 2], 12); } override public function drop():void{ y = (y - 1); thrown = true; super.drop(); play("thrown"); } override public function initialize():void{ super.initialize(); setupAnimations(); play("idle"); holding_image_x_offset = -2; holding_image_y_offset = -4; } override public function hitFloor(_arg1:FlxCore=null):Boolean{ var _local2:Number = velocity.y; if (super.hitFloor(_arg1)){ if (_local2 > 0){ play("land"); }; return (true); }; return (false); } override public function saveState():void{ super.saveState(); save_thrown = thrown; } override public function hold(_arg1:CCharacter):void{ super.hold(_arg1); play("held"); } } }//package game.bodies
Section 37
//TealeCorpse_TealeCorpseImage (game.bodies.TealeCorpse_TealeCorpseImage) package game.bodies { import mx.core.*; public class TealeCorpse_TealeCorpseImage extends BitmapAsset { } }//package game.bodies
Section 38
//VultureCorpse (game.bodies.VultureCorpse) package game.bodies { public class VultureCorpse extends TealeCorpse { public static var VultureCorpseImage:Class = VultureCorpse_VultureCorpseImage; public function VultureCorpse(_arg1:Number, _arg2:Number, _arg3:Class=null, _arg4:Number=10, _arg5:Number=7){ if (_arg3 == null){ _arg3 = VultureCorpseImage; }; super(_arg1, _arg2, _arg3, _arg4, _arg5); max_health = 8000; display_alerts = false; start_mass = 4; drag_rate = 0.65; collision_muffle = 0.25; max_throw_strength = 170; initialize(); } override public function initialize():void{ super.initialize(); play("free_fall"); corpse_chunk_image = CorpseChunk.VultureCorpseChunkImage; holding_image_x_offset = -2; holding_image_y_offset = -4; } override public function setupAnimations():void{ addAnimation("idle", [0]); addAnimation("thrown", [3]); addAnimation("free_fall", [4, 5, 6], 15, false); addAnimation("land", [7, 0], 15, false); addAnimation("held", [1]); addAnimation("held_bouncing", [1, 1, 2, 1], 12); } } }//package game.bodies
Section 39
//VultureCorpse_VultureCorpseImage (game.bodies.VultureCorpse_VultureCorpseImage) package game.bodies { import mx.core.*; public class VultureCorpse_VultureCorpseImage extends BitmapAsset { } }//package game.bodies
Section 40
//BigRock (game.graphics.BigRock) package game.graphics { import game.bodies.*; public class BigRock extends CBody { public var version:String;// = "" public static var w:int = 40; public static var h:int = 40; public static var BigRock3Image:Class = BigRock_BigRock3Image; public static var BigRock2Image:Class = BigRock_BigRock2Image; public static var BigRock1Image:Class = BigRock_BigRock1Image; public function BigRock(_arg1:int=0, _arg2:int=0, _arg3:String="big_rock1"){ var _local4:Class; if (_arg3 == "big_rock1"){ _local4 = BigRock1Image; } else { if (_arg3 == "big_rock2"){ _local4 = BigRock2Image; } else { if (_arg3 == "big_rock3"){ _local4 = BigRock3Image; }; }; }; super(_local4, _arg1, (_arg2 - h)); initialize(); } override public function initialize():void{ super.initialize(); holdable = false; } } }//package game.graphics
Section 41
//BigRock_BigRock1Image (game.graphics.BigRock_BigRock1Image) package game.graphics { import mx.core.*; public class BigRock_BigRock1Image extends BitmapAsset { } }//package game.graphics
Section 42
//BigRock_BigRock2Image (game.graphics.BigRock_BigRock2Image) package game.graphics { import mx.core.*; public class BigRock_BigRock2Image extends BitmapAsset { } }//package game.graphics
Section 43
//BigRock_BigRock3Image (game.graphics.BigRock_BigRock3Image) package game.graphics { import mx.core.*; public class BigRock_BigRock3Image extends BitmapAsset { } }//package game.graphics
Section 44
//BlueberryBush (game.graphics.BlueberryBush) package game.graphics { import flash.geom.*; import game.bodies.*; import game.*; public class BlueberryBush extends CBody { public var version:String;// = "" public var made_berries:Boolean;// = false public var num_berries:int;// = 0 public var berry_points:Array; public static var BlueberryBushImage:Class = BlueberryBush_BlueberryBushImage; public function BlueberryBush(_arg1:int=0, _arg2:int=0, _arg3:int=2, _arg4:String="bush1"){ var _local5:Class; var _local6:Number; var _local7:Number; berry_points = new Array(); version = _arg4; num_berries = _arg3; if (version == "bush1"){ _local5 = BlueberryBushImage; _local6 = 12; _local7 = 12; berry_points = [new Point(1, 4), new Point(9, 3), new Point(5, 1)]; }; super(_local5, _arg1, (_arg2 - _local7), false, false, _local6, _local7); initialize(); } override public function initialize():void{ super.initialize(); made_berries = false; holdable = false; } override public function update():void{ var _local1:Blueberry; var _local2:Point; var _local3:int; super.update(); if (!made_berries){ _local3 = 0; while (_local3 < num_berries) { if (_local3 < berry_points.length){ _local2 = (berry_points[_local3] as Point); if (_local2 != null){ _local1 = new Blueberry((x + _local2.x), (y + _local2.y)); Player.getGameState().addBody(_local1); } else { trace((((("!!! " + version) + " does not have ") + _local3) + " berry points!")); }; }; _local3++; }; made_berries = true; }; } } }//package game.graphics
Section 45
//BlueberryBush_BlueberryBushImage (game.graphics.BlueberryBush_BlueberryBushImage) package game.graphics { import mx.core.*; public class BlueberryBush_BlueberryBushImage extends BitmapAsset { } }//package game.graphics
Section 46
//Cabin (game.graphics.Cabin) package game.graphics { import game.bodies.*; public class Cabin extends CBody { public var h:int; public var w:int; public static var Cabin2Image:Class = Cabin_Cabin2Image; public static var Cabin1Image:Class = Cabin_Cabin1Image; public function Cabin(_arg1:int=0, _arg2:int=0, _arg3:String="cabin1"){ var _local4:Class; if (_arg3 == "cabin1"){ _local4 = Cabin1Image; w = 48; h = 32; } else { if (_arg3 == "cabin2"){ _local4 = Cabin2Image; w = 48; h = 32; }; }; super(_local4, _arg1, (_arg2 - h), false, false, w, h); initialize(); } override public function initialize():void{ super.initialize(); holdable = false; } } }//package game.graphics
Section 47
//Cabin_Cabin1Image (game.graphics.Cabin_Cabin1Image) package game.graphics { import mx.core.*; public class Cabin_Cabin1Image extends BitmapAsset { } }//package game.graphics
Section 48
//Cabin_Cabin2Image (game.graphics.Cabin_Cabin2Image) package game.graphics { import mx.core.*; public class Cabin_Cabin2Image extends BitmapAsset { } }//package game.graphics
Section 49
//Car (game.graphics.Car) package game.graphics { import game.bodies.*; public class Car extends CBody { public var h:int; public var w:int; public static var Car2Image:Class = Car_Car2Image; public static var Car1Image:Class = Car_Car1Image; public function Car(_arg1:int=0, _arg2:int=0, _arg3:String="car1"){ var _local4:Class; if (_arg3 == "car1"){ _local4 = Car1Image; w = 48; h = 24; } else { if (_arg3 == "car2"){ _local4 = Car2Image; w = 48; h = 24; }; }; super(_local4, _arg1, (_arg2 - h), false, false, w, h); initialize(); } override public function initialize():void{ super.initialize(); holdable = false; } } }//package game.graphics
Section 50
//Car_Car1Image (game.graphics.Car_Car1Image) package game.graphics { import mx.core.*; public class Car_Car1Image extends BitmapAsset { } }//package game.graphics
Section 51
//Car_Car2Image (game.graphics.Car_Car2Image) package game.graphics { import mx.core.*; public class Car_Car2Image extends BitmapAsset { } }//package game.graphics
Section 52
//CBlood (game.graphics.CBlood) package game.graphics { import game.bodies.*; public class CBlood extends CBody { public static var BloodImage:Class = CBlood_BloodImage; public function CBlood(_arg1:int=0, _arg2:int=0){ super(BloodImage, _arg1, _arg2); max_x_velocity = 100; life_span = 1.5; holdable = false; initialize(); } override public function update():void{ super.update(); if ((((((((velocity.x > maxVelocity.x)) || ((velocity.x < -(maxVelocity.x))))) || ((velocity.y > maxVelocity.y)))) || ((velocity.y < -(maxVelocity.y))))){ trace((" bv " + velocity)); }; } } }//package game.graphics
Section 53
//CBlood_BloodImage (game.graphics.CBlood_BloodImage) package game.graphics { import mx.core.*; public class CBlood_BloodImage extends BitmapAsset { } }//package game.graphics
Section 54
//CHeart (game.graphics.CHeart) package game.graphics { import org.flixel.*; public class CHeart extends FlxSprite { public static var HeartImage:Class = CHeart_HeartImage; public function CHeart(){ super(HeartImage, 0, 0, true, false, 7, 7); addAnimation("gone", [0]); addAnimation("there", [1]); } } }//package game.graphics
Section 55
//CHeart_HeartImage (game.graphics.CHeart_HeartImage) package game.graphics { import mx.core.*; public class CHeart_HeartImage extends BitmapAsset { } }//package game.graphics
Section 56
//CSpark (game.graphics.CSpark) package game.graphics { import game.bodies.*; import framework.math.*; public class CSpark extends CBody { public static var Spark3Image:Class = CSpark_Spark3Image; public static var Spark2Image:Class = CSpark_Spark2Image; public static var Spark1Image:Class = CSpark_Spark1Image; public function CSpark(_arg1:int=0, _arg2:int=0){ var _local3:Class = Spark1Image; var _local4:int = Random.intRange(0, 2); if (_local4 == 1){ _local3 = Spark2Image; } else { if (_local4 == 2){ _local3 = Spark3Image; }; }; super(_local3, _arg1, _arg2); max_x_velocity = 100; life_span = 1; holdable = false; initialize(); } } }//package game.graphics
Section 57
//CSpark_Spark1Image (game.graphics.CSpark_Spark1Image) package game.graphics { import mx.core.*; public class CSpark_Spark1Image extends BitmapAsset { } }//package game.graphics
Section 58
//CSpark_Spark2Image (game.graphics.CSpark_Spark2Image) package game.graphics { import mx.core.*; public class CSpark_Spark2Image extends BitmapAsset { } }//package game.graphics
Section 59
//CSpark_Spark3Image (game.graphics.CSpark_Spark3Image) package game.graphics { import mx.core.*; public class CSpark_Spark3Image extends BitmapAsset { } }//package game.graphics
Section 60
//DeadTree (game.graphics.DeadTree) package game.graphics { import flash.geom.*; import game.bodies.*; import game.npcs.*; import game.*; public class DeadTree extends CBody { public var raven_points:Array; public var version:String;// = "" public var num_ravens:int;// = 0 public var made_ravens:Boolean;// = false public static var Tree1Image:Class = DeadTree_Tree1Image; public static var Tree2Image:Class = DeadTree_Tree2Image; public function DeadTree(_arg1:int=0, _arg2:int=0, _arg3:int=0, _arg4:String="tree1"){ var _local5:Class; var _local6:Number; var _local7:Number; raven_points = new Array(); version = _arg4; num_ravens = _arg3; if (version == "tree1"){ _local5 = Tree1Image; _local6 = 64; _local7 = 80; raven_points = [new Point(2, 23), new Point(56, 22), new Point(26, 15)]; } else { if (version == "tree2"){ _local5 = Tree2Image; _local6 = 48; _local7 = 160; raven_points = [new Point(5, 114), new Point(40, 107), new Point(8, 87), new Point(39, 64), new Point(14, 47), new Point(31, 28)]; }; }; super(_local5, _arg1, (_arg2 - _local7), false, false, _local6, _local7); initialize(); } override public function initialize():void{ super.initialize(); made_ravens = false; holdable = false; acceleration.y = 0; collides_blocks = false; } override public function update():void{ var _local1:Raven; var _local2:Point; var _local3:int; super.update(); if (!made_ravens){ _local3 = 0; while (_local3 < num_ravens) { if (_local3 < raven_points.length){ _local2 = (raven_points[_local3] as Point); if (_local2 != null){ _local1 = new Raven((x + _local2.x), (y + _local2.y)); Player.getGameState().addNpc(_local1); } else { trace((((("!!! " + version) + " does not have ") + _local3) + " raven points!")); }; }; _local3++; }; made_ravens = true; }; } } }//package game.graphics
Section 61
//DeadTree_Tree1Image (game.graphics.DeadTree_Tree1Image) package game.graphics { import mx.core.*; public class DeadTree_Tree1Image extends BitmapAsset { } }//package game.graphics
Section 62
//DeadTree_Tree2Image (game.graphics.DeadTree_Tree2Image) package game.graphics { import mx.core.*; public class DeadTree_Tree2Image extends BitmapAsset { } }//package game.graphics
Section 63
//Flower (game.graphics.Flower) package game.graphics { import game.bodies.*; public class Flower extends CBody { public static var PoppyImage:Class = Flower_PoppyImage; public function Flower(_arg1:Class=null, _arg2:int=0, _arg3:int=0, _arg4:Boolean=false, _arg5:Boolean=false, _arg6:uint=0, _arg7:uint=0, _arg8:uint=0, _arg9:Boolean=false){ super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9); } override public function initialize():void{ super.initialize(); holdable = false; } } }//package game.graphics
Section 64
//Flower_PoppyImage (game.graphics.Flower_PoppyImage) package game.graphics { import mx.core.*; public class Flower_PoppyImage extends BitmapAsset { } }//package game.graphics
Section 65
//HangingGraphic (game.graphics.HangingGraphic) package game.graphics { import game.bodies.*; public class HangingGraphic extends CBody { public function HangingGraphic(_arg1:Class=null, _arg2:int=0, _arg3:int=0, _arg4:Boolean=false, _arg5:Boolean=false, _arg6:uint=0, _arg7:uint=0, _arg8:uint=0, _arg9:Boolean=false){ super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9); } override public function initialize():void{ super.initialize(); acceleration.y = 0; holdable = false; active = false; } } }//package game.graphics
Section 66
//LightPost (game.graphics.LightPost) package game.graphics { import game.bodies.*; import game.*; public class LightPost extends CBody { public var made_light:Boolean; public static var LightPostImage:Class = LightPost_LightPostImage; public static var w:int = 24; public static var h:int = 32; public function LightPost(_arg1:int=0, _arg2:int=0, _arg3:Boolean=false, _arg4:Boolean=false, _arg5:uint=0, _arg6:uint=0, _arg7:uint=0, _arg8:Boolean=false){ super(LightPostImage, _arg1, (_arg2 - h), false, false, w, h); initialize(); } override public function update():void{ super.update(); if (!made_light){ Player.getGameState().addBody(new LightPostLight(x, y)); made_light = true; }; } override public function initialize():void{ super.initialize(); made_light = false; holdable = false; } } }//package game.graphics
Section 67
//LightPost_LightPostImage (game.graphics.LightPost_LightPostImage) package game.graphics { import mx.core.*; public class LightPost_LightPostImage extends BitmapAsset { } }//package game.graphics
Section 68
//LightPostLight (game.graphics.LightPostLight) package game.graphics { import game.bodies.*; public class LightPostLight extends CBody { public static var LightPostLightImage:Class = LightPostLight_LightPostLightImage; public function LightPostLight(_arg1:int=0, _arg2:int=0, _arg3:Boolean=false, _arg4:Boolean=false, _arg5:uint=0, _arg6:uint=0, _arg7:uint=0, _arg8:Boolean=false){ super(LightPostLightImage, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); initialize(); } override public function initialize():void{ super.initialize(); holdable = false; } } }//package game.graphics
Section 69
//LightPostLight_LightPostLightImage (game.graphics.LightPostLight_LightPostLightImage) package game.graphics { import mx.core.*; public class LightPostLight_LightPostLightImage extends BitmapAsset { } }//package game.graphics
Section 70
//Moon (game.graphics.Moon) package game.graphics { public class Moon extends HangingGraphic { public static var MoonImage:Class = Moon_MoonImage; public function Moon(_arg1:int=0, _arg2:int=0){ super(MoonImage, _arg1, _arg2); } } }//package game.graphics
Section 71
//Moon_MoonImage (game.graphics.Moon_MoonImage) package game.graphics { import mx.core.*; public class Moon_MoonImage extends BitmapAsset { } }//package game.graphics
Section 72
//Scale (game.graphics.Scale) package game.graphics { import org.flixel.*; import game.bodies.*; import game.terrain.*; import game.*; public class Scale extends CBody { public var base_y_offset:Number;// = 20 public var needle_y_offset:Number;// = 6 public var needle:FlxSprite; public var base:WeightSwitch; public var activator:Activator; public var needle_x_offset:Number;// = 6 public var setup:Boolean;// = false public static var ScaleNeedleImage:Class = Scale_ScaleNeedleImage; public static var ScaleFrameImage:Class = Scale_ScaleFrameImage; public static var w:int = 16; public static var h:int = 24; public function Scale(_arg1:int=0, _arg2:int=0, _arg3:Activator=null){ super(ScaleFrameImage, _arg1, (_arg2 - h), true, false, w, h); activator = _arg3; initialize(); } override public function initialize():void{ super.initialize(); setup = false; holdable = false; addAnimation("off", [0]); addAnimation("on", [1]); play("off"); } override public function update():void{ var _local1:GameState; super.update(); if (!setup){ _local1 = Player.getGameState(); needle = new FlxSprite(ScaleNeedleImage, (x + needle_x_offset), (y + base_y_offset), false, false, 4, 1); _local1.add(needle); base = new WeightSwitch(x, (y + base_y_offset), activator); _local1.addBlock(base); setup = true; }; if (base.percentage >= 1){ play("on"); } else { play("off"); }; needle.y = (((y + base_y_offset) - 1) - (base.percentage * ((base_y_offset - needle_y_offset) - 1))); } } }//package game.graphics
Section 73
//Scale_ScaleFrameImage (game.graphics.Scale_ScaleFrameImage) package game.graphics { import mx.core.*; public class Scale_ScaleFrameImage extends BitmapAsset { } }//package game.graphics
Section 74
//Scale_ScaleNeedleImage (game.graphics.Scale_ScaleNeedleImage) package game.graphics { import mx.core.*; public class Scale_ScaleNeedleImage extends BitmapAsset { } }//package game.graphics
Section 75
//Sign (game.graphics.Sign) package game.graphics { import game.bodies.*; public class Sign extends CBody { public static var RightSignImage:Class = Sign_RightSignImage; public static var WarningSignImage:Class = Sign_WarningSignImage; public static var F8SignImage:Class = Sign_F8SignImage; public static var MouseSignImage:Class = Sign_MouseSignImage; public static var FallWarningSignImage:Class = Sign_FallWarningSignImage; public static var UpSignImage:Class = Sign_UpSignImage; public static var BlueberrySignImage:Class = Sign_BlueberrySignImage; public static var ResetSignImage:Class = Sign_ResetSignImage; public static var LeftSignImage:Class = Sign_LeftSignImage; public static var VultureSignImage:Class = Sign_VultureSignImage; public static var KnockHiveSignImage:Class = Sign_KnockHiveSignImage; public static var ActivateSignImage:Class = Sign_ActivateSignImage; public static var RotarySignImage:Class = Sign_RotarySignImage; public static var DropSignImage:Class = Sign_DropSignImage; public static var SelectPickupSignImage:Class = Sign_SelectPickupSignImage; public static var HitSwitchSignImage:Class = Sign_HitSwitchSignImage; public static var CameraSignImage:Class = Sign_CameraSignImage; public static var BeeSignImage:Class = Sign_BeeSignImage; public static var PickupSignImage:Class = Sign_PickupSignImage; public static var WeightSignImage:Class = Sign_WeightSignImage; public static var PauseSignImage:Class = Sign_PauseSignImage; public static var TargetSignImage:Class = Sign_TargetSignImage; public static var h:int = 12; public static var ScareRavenSignImage:Class = Sign_ScareRavenSignImage; public static var w:int = 12; public static var ThrowSignImage:Class = Sign_ThrowSignImage; public function Sign(_arg1:Class=null, _arg2:int=0, _arg3:int=0, _arg4:String="", _arg5:Boolean=false, _arg6:Boolean=false, _arg7:uint=0, _arg8:uint=0, _arg9:uint=0, _arg10:Boolean=false){ if (_arg7 == 0){ _arg7 = w; }; if (_arg8 == 0){ _arg8 = h; }; super(_arg1, _arg2, _arg3, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10); message = _arg4; } override public function initialize():void{ super.initialize(); holdable = false; this.active = false; this.dead = true; } } }//package game.graphics
Section 76
//Sign_ActivateSignImage (game.graphics.Sign_ActivateSignImage) package game.graphics { import mx.core.*; public class Sign_ActivateSignImage extends BitmapAsset { } }//package game.graphics
Section 77
//Sign_BeeSignImage (game.graphics.Sign_BeeSignImage) package game.graphics { import mx.core.*; public class Sign_BeeSignImage extends BitmapAsset { } }//package game.graphics
Section 78
//Sign_BlueberrySignImage (game.graphics.Sign_BlueberrySignImage) package game.graphics { import mx.core.*; public class Sign_BlueberrySignImage extends BitmapAsset { } }//package game.graphics
Section 79
//Sign_CameraSignImage (game.graphics.Sign_CameraSignImage) package game.graphics { import mx.core.*; public class Sign_CameraSignImage extends BitmapAsset { } }//package game.graphics
Section 80
//Sign_DropSignImage (game.graphics.Sign_DropSignImage) package game.graphics { import mx.core.*; public class Sign_DropSignImage extends BitmapAsset { } }//package game.graphics
Section 81
//Sign_F8SignImage (game.graphics.Sign_F8SignImage) package game.graphics { import mx.core.*; public class Sign_F8SignImage extends BitmapAsset { } }//package game.graphics
Section 82
//Sign_FallWarningSignImage (game.graphics.Sign_FallWarningSignImage) package game.graphics { import mx.core.*; public class Sign_FallWarningSignImage extends BitmapAsset { } }//package game.graphics
Section 83
//Sign_HitSwitchSignImage (game.graphics.Sign_HitSwitchSignImage) package game.graphics { import mx.core.*; public class Sign_HitSwitchSignImage extends BitmapAsset { } }//package game.graphics
Section 84
//Sign_KnockHiveSignImage (game.graphics.Sign_KnockHiveSignImage) package game.graphics { import mx.core.*; public class Sign_KnockHiveSignImage extends BitmapAsset { } }//package game.graphics
Section 85
//Sign_LeftSignImage (game.graphics.Sign_LeftSignImage) package game.graphics { import mx.core.*; public class Sign_LeftSignImage extends BitmapAsset { } }//package game.graphics
Section 86
//Sign_MouseSignImage (game.graphics.Sign_MouseSignImage) package game.graphics { import mx.core.*; public class Sign_MouseSignImage extends BitmapAsset { } }//package game.graphics
Section 87
//Sign_PauseSignImage (game.graphics.Sign_PauseSignImage) package game.graphics { import mx.core.*; public class Sign_PauseSignImage extends BitmapAsset { } }//package game.graphics
Section 88
//Sign_PickupSignImage (game.graphics.Sign_PickupSignImage) package game.graphics { import mx.core.*; public class Sign_PickupSignImage extends BitmapAsset { } }//package game.graphics
Section 89
//Sign_ResetSignImage (game.graphics.Sign_ResetSignImage) package game.graphics { import mx.core.*; public class Sign_ResetSignImage extends BitmapAsset { } }//package game.graphics
Section 90
//Sign_RightSignImage (game.graphics.Sign_RightSignImage) package game.graphics { import mx.core.*; public class Sign_RightSignImage extends BitmapAsset { } }//package game.graphics
Section 91
//Sign_RotarySignImage (game.graphics.Sign_RotarySignImage) package game.graphics { import mx.core.*; public class Sign_RotarySignImage extends BitmapAsset { } }//package game.graphics
Section 92
//Sign_ScareRavenSignImage (game.graphics.Sign_ScareRavenSignImage) package game.graphics { import mx.core.*; public class Sign_ScareRavenSignImage extends BitmapAsset { } }//package game.graphics
Section 93
//Sign_SelectPickupSignImage (game.graphics.Sign_SelectPickupSignImage) package game.graphics { import mx.core.*; public class Sign_SelectPickupSignImage extends BitmapAsset { } }//package game.graphics
Section 94
//Sign_TargetSignImage (game.graphics.Sign_TargetSignImage) package game.graphics { import mx.core.*; public class Sign_TargetSignImage extends BitmapAsset { } }//package game.graphics
Section 95
//Sign_ThrowSignImage (game.graphics.Sign_ThrowSignImage) package game.graphics { import mx.core.*; public class Sign_ThrowSignImage extends BitmapAsset { } }//package game.graphics
Section 96
//Sign_UpSignImage (game.graphics.Sign_UpSignImage) package game.graphics { import mx.core.*; public class Sign_UpSignImage extends BitmapAsset { } }//package game.graphics
Section 97
//Sign_VultureSignImage (game.graphics.Sign_VultureSignImage) package game.graphics { import mx.core.*; public class Sign_VultureSignImage extends BitmapAsset { } }//package game.graphics
Section 98
//Sign_WarningSignImage (game.graphics.Sign_WarningSignImage) package game.graphics { import mx.core.*; public class Sign_WarningSignImage extends BitmapAsset { } }//package game.graphics
Section 99
//Sign_WeightSignImage (game.graphics.Sign_WeightSignImage) package game.graphics { import mx.core.*; public class Sign_WeightSignImage extends BitmapAsset { } }//package game.graphics
Section 100
//Star (game.graphics.Star) package game.graphics { public class Star extends HangingGraphic { public var version:String;// = "" public static var SmallStarImage:Class = Star_SmallStarImage; public static var LargeStarImage:Class = Star_LargeStarImage; public function Star(_arg1:int=0, _arg2:int=0, _arg3:String="small"){ var _local4:Class; var _local5:Number; var _local6:Number; if (_arg3 == "small"){ _local4 = SmallStarImage; _local5 = 5; _local6 = 5; } else { if (_arg3 == "large"){ _local4 = LargeStarImage; _local5 = 7; _local6 = 7; }; }; super(_local4, _arg1, (_arg2 - _local6), false, false, _local5, _local6); } } }//package game.graphics
Section 101
//Star_LargeStarImage (game.graphics.Star_LargeStarImage) package game.graphics { import mx.core.*; public class Star_LargeStarImage extends BitmapAsset { } }//package game.graphics
Section 102
//Star_SmallStarImage (game.graphics.Star_SmallStarImage) package game.graphics { import mx.core.*; public class Star_SmallStarImage extends BitmapAsset { } }//package game.graphics
Section 103
//Bee (game.hive.Bee) package game.hive { import org.flixel.*; import flash.geom.*; import game.terrain.*; import game.npcs.*; import game.*; import framework.math.*; public class Bee extends CCharacter { public var chase_target:CGeneralBody;// = null public var flee_time:Number;// = 1 public var save_chase_target:CGeneralBody; public var hive_distance_squared:Number;// = 0 public var target:FlxSprite;// = null public var save_target:FlxSprite; public var hive_hover_center:Point;// = null public var aggitated_max_speed:Number;// = 43 public var current_flee_time:Number;// = 2.5 public var hive_angle:Number;// = 0 public var hive_hover_distance:Number;// = 20 public var casual_max_speed:Number;// = 25 public var save_target_point:Point; public var hive:CHive;// = null public var target_point:Point;// = null public var min_target_distance:Number;// = 9 public var max_hive_distance_squared:Number;// = 10000 public var save_current_flee_time:Number; public static var BeeImage:Class = Bee_BeeImage; public function Bee(_arg1:int, _arg2:int, _arg3:CHive){ super(BeeImage, _arg1, _arg2, true, true, 4, 4); hive = _arg3; hive_hover_center = new Point((hive.x + (hive.width / 2)), (hive.y + (hive.height * 2))); sense_distance_squared = 625; initialize(); } override public function initialize():void{ super.initialize(); addAnimation("flying", [0, 1], 15); play("flying"); } override public function act():void{ super.act(); if (!acted){ if (behavior_state == "chasing"){ chase(); acted = true; }; }; } override public function saveState():void{ super.saveState(); save_target_point = target_point.clone(); save_target = target; save_chase_target = chase_target; save_current_flee_time = current_flee_time; } public function setHiveTarget():void{ setTargetPoint(Random.pointInCircle(hive_hover_center, hive_hover_distance)); } public function startChase(_arg1:CGeneralBody):void{ maxVelocity.x = aggitated_max_speed; maxVelocity.y = aggitated_max_speed; chase_target = _arg1; behavior_state = "chasing"; } override public function sense():void{ if (behavior_state == "bored"){ if (((canSense(Player.getGameState().getPlayer())) && (!(Player.getPlayer().dead)))){ startChase(Player.getGameState().getPlayer()); }; }; if (Geometry.distanceSquared(x, y, hive.x, hive.y) > this.max_hive_distance_squared){ startBored(); }; if (((!((chase_target == null))) && (chase_target.dead))){ startBored(); }; } override public function actBored():void{ chase_target = null; if ((((target_point == null)) || ((Geometry.distanceSquared(x, y, target_point.x, target_point.y) < min_target_distance)))){ setHiveTarget(); }; moveTowardsTargetPoint(); playSound(); } public function moveTowardsTargetPoint():void{ flyTowardsPoint(target_point); } public function playSound(_arg1:String="bee"):void{ var _local2:Number = (x - Player.getPlayer().x); if (Math.abs(_local2) <= SoundManager.hearing_distance){ SoundManager.play(_arg1, SoundManager.getDistanceMultiplier(x, y), SoundManager.getPan(x, y)); }; } public function setTargetPoint(_arg1:Point):void{ target_point = _arg1; } override public function collide(_arg1:FlxCore):void{ var _local2:Player; super.collide(_arg1); if (behavior_state != "fleeing"){ _local2 = (_arg1 as Player); if (_local2 != null){ if (Geometry.overlapCheck(this, _local2)){ _local2.hurt(1); kill(); }; }; }; } override public function update():void{ if (hive != null){ hive_distance_squared = Geometry.distanceSquared(x, y, hive.x, hive.y); hive_angle = Geometry.angleBetween(x, y, hive.x, hive.y); }; if (velocity.x < 0){ this.facing = LEFT; } else { this.facing = RIGHT; }; super.update(); } override public function loadState():void{ super.loadState(); target_point = save_target_point.clone(); target = save_target; chase_target = save_chase_target; current_flee_time = save_current_flee_time; } override public function flee():void{ current_flee_time = (current_flee_time - FlxG.elapsed); if (current_flee_time <= 0){ kill(); } else { this.alpha = (current_flee_time / flee_time); moveTowardsTargetPoint(); }; playSound(); } override public function startBored():void{ maxVelocity.x = casual_max_speed; maxVelocity.y = casual_max_speed; if (hive_hover_center != null){ setHiveTarget(); }; super.startBored(); } public function chase():void{ if (chase_target != null){ setTargetPoint(new Point((chase_target.x + (chase_target.width / 2)), (chase_target.y + (chase_target.height / 2)))); moveTowardsTargetPoint(); } else { startBored(); }; playSound("angry_bee"); } override public function startFleeing():void{ current_flee_time = flee_time; var _local1:Number = Random.uniformRange(0, (Math.PI * 2)); target_point = new Point((Math.cos(_local1) * 1000), (Math.sin(_local1) * 1000)); maxVelocity.x = aggitated_max_speed; maxVelocity.y = aggitated_max_speed; super.startFleeing(); } } }//package game.hive
Section 104
//Bee_BeeImage (game.hive.Bee_BeeImage) package game.hive { import mx.core.*; public class Bee_BeeImage extends BitmapAsset { } }//package game.hive
Section 105
//DeadHive (game.hive.DeadHive) package game.hive { import game.bodies.*; public class DeadHive extends CBody { public static var DeadHiveImage:Class = DeadHive_DeadHiveImage; public function DeadHive(_arg1:int=0, _arg2:int=0){ super(DeadHiveImage, _arg1, _arg2, false, true, 8, 8); start_mass = 0.5; drag_rate = 0.9; max_throw_strength = 150; collision_muffle = 0.3; gravity_acceleration = 350; initialize(); } override public function initialize():void{ super.initialize(); land_sound = "hive_knock"; bounce_sound = "hive_knock"; holding_image_y_offset = -3; } } }//package game.hive
Section 106
//DeadHive_DeadHiveImage (game.hive.DeadHive_DeadHiveImage) package game.hive { import mx.core.*; public class DeadHive_DeadHiveImage extends BitmapAsset { } }//package game.hive
Section 107
//IntroLevel (game.level.IntroLevel) package game.level { import flash.geom.*; import game.npcs.*; import game.scripting.*; import game.*; public class IntroLevel extends IntroLevelTerrain { public function IntroLevel(){ show_start_mini_map = false; start_music = false; setupTerrain(); var _local1:LiveTeale = new LiveTeale(230, 184); this.npcs.add(_local1); this.events.push(new TweakActorEvent(18, null, "disable_player", "", true)); this.events.push(new TweakActorEvent(12.5, _local1, "max_run_speed", String((80 / 2)))); this.events.push(new TweakActorEvent(12.5, null, "max_run_speed", String((80 / 2)), true)); this.events.push(new ControlActorEvent(2, _local1, "right", 40)); this.events.push(new ControlActorEvent(2, null, "right", 40, true)); this.events.push(new PlaySoundEvent(1, "teale_beautiful_christie")); this.events.push(new DisplayTextEvent(3, "Isn't it beautiful up here, Christie?", LiveTeale.text_color)); this.events.push(new DelayEvent(2)); this.events.push(new ControlActorEvent(0.4, _local1, "left", 80)); this.events.push(new DelayEvent(1)); this.events.push(new PlaySoundEvent(1, "christie_oh_teale")); this.events.push(new DisplayTextEvent(3, "Oh Teale, it really is!", Player.text_color)); this.events.push(new DelayEvent(1)); this.events.push(new ControlActorEvent(0.4, _local1, "left", 40)); this.events.push(new ControlActorEvent(0.4, null, "right", 40, true)); this.events.push(new DelayEvent(2)); this.events.push(new PlaySoundEvent(1, "teale_flower_gorgeous", 0.6)); this.events.push(new DisplayTextEvent(2, "Even that flower is gorgeous!", LiveTeale.text_color)); this.events.push(new ControlActorEvent(2, _local1, "right", 20)); this.events.push(new DelayEvent(2)); this.events.push(new ControlActorEvent(0.4, null, "right", 80, true)); this.events.push(new ControlActorEvent(0.4, _local1, "left", 80)); this.events.push(new PlaySoundEvent(1, "christie_prone_accidents")); this.events.push(new DisplayTextEvent(2.5, "Be careful, Teale! You know you're prone to accidents!", Player.text_color)); this.events.push(new DelayEvent(3)); this.events.push(new ControlActorEvent(1.75, _local1, "right", 20)); this.events.push(new PlaySoundEvent(1, "teale_closer_look", 0.6)); this.events.push(new DisplayTextEvent(3, "Don't worry, I just want a closer look...", LiveTeale.text_color)); this.events.push(new DelayEvent(1.8)); this.events.push(new PlaySoundEvent(1, "teale_ahhh", 0.6)); this.events.push(new DisplayTextEvent(3, "Christie...", LiveTeale.text_color)); this.events.push(new DelayEvent(1)); this.events.push(new PlaySoundEvent(1, "christie_teale_no")); this.events.push(new DisplayTextEvent(3, "Teale! Noooooooooooo!", Player.text_color)); this.events.push(new ControlActorEvent(0.75, null, "right", -1, true)); this.events.push(new DelayEvent(2)); this.events.push(new PlaySoundEvent(1, "christie_crap")); this.events.push(new DisplayTextEvent(2, "Crap.", Player.text_color)); this.events.push(new DelayEvent(2)); this.events.push(new PlaySoundEvent(1, "christie_find_him")); this.events.push(new DisplayTextEvent(3, "I guess I better find him...", Player.text_color)); this.events.push(new ControlActorEvent(1.97, null, "left", -1, true)); this.events.push(new DelayEvent(1.98)); this.events.push(new NextLevelEvent()); player_start = new Point(220, 188); name = "An Adventure Begins"; initialize(); } } }//package game.level
Section 108
//IntroLevelTerrain (game.level.IntroLevelTerrain) package game.level { import flash.geom.*; import game.bodies.*; import game.terrain.*; import game.npcs.*; import game.scripting.*; import game.*; import game.graphics.*; public class IntroLevelTerrain extends Level { protected var BackgroundIntroImage:Class; public static var setup_intro_stars:Boolean = false; public static var intro_stars:Array = new Array(); public function IntroLevelTerrain(){ BackgroundIntroImage = IntroLevelTerrain_BackgroundIntroImage; setIntroStars(); super(); } public function setupTerrain():void{ var _local1:Star; var _local2:MovingBlock; var _local3:MovingBlock; var _local4:MovingBlock; var _local5:MovingBlock; var _local6:DeadTree; var _local7:Trigger; var _local8:Raven; var _local9:Raven; width = 0x0300; height = 800; this.events.push(new CommandEvent(1, "corpse_health", "hide")); for each (_local1 in intro_stars) { background_bodies.add(_local1); }; background_bodies.add(new Moon(400, 152)); background_blocks.add(BackgroundBlock.fromCoords(0, 200, 360, (height - 64))); background_blocks.add(BackgroundBlock.fromCoords(0, 192, 48, 200)); this.blocks.add(new CBlock(96, 200, 260, 8)); this.blocks.add(new CBlock(352, 208, 8, 450)); this.blocks.add(CBlock.fromCoords(0, 192, 16, (height - 64))); this.blocks.add(CBlock.fromCoords(0, (height - 64), width, height)); this.blocks.add(CBlock.fromCoords(width, 0, (width + 8), (height + 8))); background_bodies.add(new DeadTree(216, 200)); background_bodies.add(new BigRock(120, 200, "big_rock2")); background_bodies.add(new DeadTree(632, (height - 64), 3)); this.background_bodies.add(new Flower(Flower.PoppyImage, 354, 194, false, false, 4, 6)); this.background_bodies.add(new Sign(Sign.LeftSignImage, 192, 188, "[A] to move left.")); background_bodies.add(new BigRock(56, (height - 64), "big_rock3")); background_bodies.add(new BigRock(136, (height - 64), "big_rock2")); background_bodies.add(new BigRock(280, (height - 64), "big_rock3")); this.blocks.add(CBlock.fromCoords(16, 0x0100, 244, 264)); this.background_bodies.add(new Sign(Sign.RightSignImage, 35, 244, "[D] to move right.")); background_bodies.add(new BigRock(56, 0x0100, "big_rock3")); background_bodies.add(new Sign(Sign.PauseSignImage, 152, 244, "[ESC] to pause for help and left hand controls.")); background_bodies.add(new BigRock(200, 0x0100, "big_rock3")); this.blocks.add(CBlock.fromCoords(48, 288, 192, 312)); this.blocks.add(CBlock.fromCoords(48, 312, 216, 336)); this.blocks.add(CBlock.fromCoords(48, 336, 352, 344)); this.background_bodies.add(new Sign(Sign.UpSignImage, 232, 324, "[W] to jump.")); background_bodies.add(new BigRock((352 - 32), 336, "big_rock1")); this.blocks.add(CBlock.fromCoords(16, 392, 56, 504)); this.blocks.add(CBlock.fromCoords(56, 472, 184, 504)); this.blocks.add(CBlock.fromCoords(184, 416, 200, 504)); _local2 = new MovingBlock(160, 408, 56, 408, 24, 8, true, CBlock.BridgeTerrainImage); _local2.start_moving = false; this.blocks.add(_local2); this.background_bodies.add(new Sign(Sign.F8SignImage, 72, 460, "[0] to restart the level.")); this.background_bodies.add(new Sign(Sign.ActivateSignImage, 20, 380, "[SPACEBAR] to use objects like switches.")); this.background_bodies.add(new ActivateSwitch(40, 384, new Activator(null, _local2))); background_bodies.add(new BigRock(92, 472, "big_rock2")); background_bodies.add(new BigRock(144, 472, "big_rock1")); this.blocks.add(CBlock.fromCoords(184, 400, (352 - 24), 416)); _local3 = new MovingBlock((352 - 24), 408, (352 - 24), 0x0200, 24, 8, true, CBlock.BridgeTerrainImage); _local3.start_moving = false; _local3.start_bouncing = false; this.blocks.add(_local3); this.bodies.add(new CStone((352 - 96), 396)); this.bodies.add(new CStone((352 - 104), 396)); this.background_bodies.add(new Sign(Sign.PickupSignImage, (352 - 120), 388, "[S] to pick up objects")); this.background_bodies.add(new Sign(Sign.MouseSignImage, (352 - 80), 388, "[CLICK], hold, and release to throw.")); this.background_bodies.add(new Sign(Sign.HitSwitchSignImage, (352 - 56), 388, "Knock electrical boxes to activate them.")); background_bodies.add(new CCamera((352 - 60), 536)); background_bodies.add(new Sign(Sign.CameraSignImage, (352 - 48), (536 - Sign.h), "[SPACEBAR] use a camera to snap a picture.")); background_bodies.add(new Sign(Sign.ResetSignImage, (352 - 76), (536 - Sign.h), "[5] to return to the last picture.")); _local4 = new MovingBlock(241, 432, 241, 532, 24, 8, true, CBlock.BridgeTerrainImage, 20); _local4.start_moving = false; _local4.start_bouncing = false; this.blocks.add(_local4); this.blocks.add(CBlock.fromCoords(40, 536, 352, 658)); this.background_bodies.add(new ActivateSwitch(266, 528, new Activator(_local4))); this.background_bodies.add(new Sign(Sign.BeeSignImage, 228, 524, "WARNING: Bee stings hurt.")); this.bodies.add(new CStone(244, 428)); this.bodies.add(new CStone(250, 428)); this.bodies.add(new CStone(0x0100, 428)); _local5 = new MovingBlock(16, 544, 16, (height - 80), 24, 8, true, CBlock.BridgeTerrainImage); _local5.start_moving = false; _local5.start_bouncing = false; this.blocks.add(_local5); this.background_bodies.add(new ActivateSwitch(24, 536, new Activator(_local5))); _local6 = new DeadTree(358, (height - 64)); background_bodies.add(_local6); background_bodies.add(new BigRock(464, (height - 64), "big_rock1")); background_bodies.add(new BigRock(452, (height - 64), "big_rock3")); background_bodies.add(new BigRock(544, (height - 64), "big_rock2")); _local7 = new Trigger(128, 666, 1, 78); _local7.events.push(new TweakActorEvent(32.5, null, "disable_player", "", true)); _local7.events.push(new MusicEvent(1, "volume", SoundManager.quiet_music_volume)); _local7.events.push(new PlaySoundEvent(1, "christie_teale")); _local7.events.push(new DisplayTextEvent(2.5, "Teale!", Player.text_color)); _local7.events.push(new ControlActorEvent(2.5, null, "right", 40, true)); _local7.events.push(new ControlActorEvent(2.5, null, "drop", 40, true)); _local7.events.push(new DelayEvent(3)); _local7.events.push(new PlaySoundEvent(1, "christie_god_damnit")); _local7.events.push(new DisplayTextEvent(3, "God damn it Teale.", Player.text_color)); _local7.events.push(new DelayEvent(1.5)); _local7.events.push(new AwardAchievementEvent(1, 89)); _local7.events.push(new DelayEvent(1.5)); _local7.events.push(new ControlActorEvent(0.85, null, "right", 80, true)); _local7.events.push(new PlaySoundEvent(1, "christie_admire_distance")); _local7.events.push(new DisplayTextEvent(3, "You couldn't admire from a distance!?", Player.text_color)); _local7.events.push(new DelayEvent(3)); _local7.events.push(new PlaySoundEvent(1, "christie_supposed_to_do")); _local7.events.push(new DisplayTextEvent(3, "Now what am I supposed to do!?", Player.text_color)); _local7.events.push(new DelayEvent(3)); _local7.events.push(new PlaySoundEvent(1, "christie_nothing_can_do")); _local7.events.push(new DisplayTextEvent(3.5, "There's nothing I can do.", Player.text_color)); _local7.events.push(new ControlActorEvent(3.5, null, "right", 40, true)); _local7.events.push(new DelayEvent(3.5)); _local8 = new Raven((_local6.x + Point(_local6.raven_points[0]).x), (_local6.y + Point(_local6.raven_points[0]).y)); _local9 = new Raven((_local6.x + Point(_local6.raven_points[1]).x), (_local6.y + Point(_local6.raven_points[1]).y)); _local7.events.push(new AddNpcEvent(0, _local8)); _local7.events.push(new AddNpcEvent(0, _local9)); _local7.events.push(new PlaySoundEvent(1, "raven_caw", 0.5, -1)); _local7.events.push(new DisplayTextEvent(2, "Caw! Caw!", Raven.text_color)); _local7.events.push(new ControlActorEvent(0.2, null, "left", 80, true)); _local7.events.push(new DelayEvent(0.5)); _local7.events.push(new PlaySoundEvent(1, "raven_caw", 0.5, -1)); _local7.events.push(new DelayEvent(1.5)); _local7.events.push(new PlaySoundEvent(1, "christie_hey_get_away")); _local7.events.push(new DisplayTextEvent(3.7, "Hey, get away from him!", Player.text_color)); _local7.events.push(new DelayEvent(1)); _local7.events.push(new ControlActorEvent(2.75, null, "left", 80, true)); _local7.events.push(new DelayEvent(4.5)); _local7.events.push(new PlaySoundEvent(1, "christie_deb_heartbroken")); _local7.events.push(new DisplayTextEvent(3, "Deb would be heartbroken if her son's corpse was ruined!", Player.text_color)); _local7.events.push(new DelayEvent(3)); _local7.events.push(new ControlActorEvent(0.1, null, "right", 80, true)); _local7.events.push(new DelayEvent(1)); _local7.events.push(new ControlActorEvent(0.1, null, "left", 80, true)); _local7.events.push(new DelayEvent(1)); _local7.events.push(new ControlActorEvent(0.1, null, "right", 80, true)); _local7.events.push(new DelayEvent(1)); _local7.events.push(new ControlActorEvent(0.1, null, "left", 80, true)); _local7.events.push(new DelayEvent(1)); _local7.events.push(new PlaySoundEvent(1, "christie_cant_leave")); _local7.events.push(new DisplayTextEvent(2.5, "Well, I guess I can't just leave it here...", Player.text_color)); _local7.events.push(new DelayEvent(2.5)); _local7.events.push(new CommandEvent(1, "corpse_health", "show")); _local7.events.push(new MusicEvent(1, "volume", SoundManager.normal_music_volume)); _local7.events.push(new ClearEventQueueEvent(1)); this.background_bodies.add(_local7); this.blocks.add(new KnockableSwitch((352 - 16), 360, new Activator(_local3), false)); this.blocks.add(new CHive(184, 504)); this.blocks.add(new CHive(136, 504)); this.blocks.add(new CHive(88, 504)); background_image = BackgroundNavyImage; start_holding = false; start_moving = false; } public function setIntroStars():void{ if (!setup_intro_stars){ intro_stars = getStars(0, 0, 360, (200 - 16)); intro_stars = intro_stars.concat(getStars(368, 0, 0x0300, 736)); setup_intro_stars = true; }; } } }//package game.level
Section 109
//IntroLevelTerrain_BackgroundIntroImage (game.level.IntroLevelTerrain_BackgroundIntroImage) package game.level { import mx.core.*; public class IntroLevelTerrain_BackgroundIntroImage extends BitmapAsset { } }//package game.level
Section 110
//Level (game.level.Level) package game.level { import org.flixel.*; import flash.geom.*; import game.graphics.*; import framework.math.*; public class Level { public var bodies:FlxArray; public var player_start:Point; public var distant_bodies:FlxArray; public var width:uint;// = 640 public var background_image:Class; public var name:String;// = "" public var blocks:FlxArray; public var start_music:Boolean;// = true protected var BackgroundNightImage:Class; public var start_moving:Boolean;// = true protected var BackgroundNavyImage:Class; public var events:Array; public var start_left:Boolean;// = false public var mid_bodies:FlxArray; public var corpse_start:Point;// = null public var height:uint;// = 480 public var fade_in:Boolean;// = true public var start_holding:Boolean;// = true public var background_bodies:FlxArray; public var npcs:FlxArray; protected var BackgroundBlueImage:Class; public var background_blocks:FlxArray; public var show_start_mini_map:Boolean;// = true public static var aps:Number = 7744; public static var apl:Number = 28224; public function Level(){ BackgroundBlueImage = Level_BackgroundBlueImage; BackgroundNavyImage = Level_BackgroundNavyImage; BackgroundNightImage = Level_BackgroundNightImage; background_image = BackgroundNavyImage; player_start = new Point(0, 0); distant_bodies = new FlxArray(); background_blocks = new FlxArray(); mid_bodies = new FlxArray(); blocks = new FlxArray(); background_bodies = new FlxArray(); bodies = new FlxArray(); npcs = new FlxArray(); events = new Array(); super(); setup(); } public function initialize():void{ } public function setup():void{ width = 640; height = 480; player_start = new Point(0, 0); corpse_start = null; distant_bodies = new FlxArray(); background_blocks = new FlxArray(); mid_bodies = new FlxArray(); blocks = new FlxArray(); background_bodies = new FlxArray(); bodies = new FlxArray(); npcs = new FlxArray(); events = new Array(); } public function addStars(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:Number=-1, _arg6:Number=-1):void{ var _local8:Star; if (_arg5 == -1){ _arg5 = aps; }; if (_arg6 == -1){ _arg6 = apl; }; var _local7:Array = getStars(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6); for each (_local8 in _local7) { distant_bodies.add(_local8); }; } public static function getStars(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:Number=-1, _arg6:Number=-1):Array{ var _local11:int; var _local12:Point; if (_arg5 == -1){ _arg5 = aps; }; if (_arg6 == -1){ _arg6 = apl; }; var _local7:Array = new Array(); var _local8:Number = (_arg3 - _arg1); var _local9:Number = (_arg4 - _arg2); var _local10:Number = (_local8 * _local9); if (_local10 > (2 * _arg5)){ if (_local8 > _local9){ _local7 = _local7.concat(getStars(_arg1, _arg2, (_arg3 - (_local8 / 2)), _arg4, _arg5, _arg6)); _local7 = _local7.concat(getStars((_arg3 - (_local8 / 2)), _arg2, _arg3, _arg4, _arg5, _arg6)); return (_local7); }; _local7 = _local7.concat(getStars(_arg1, _arg2, _arg3, (_arg4 - (_local9 / 2)), _arg5, _arg6)); _local7 = _local7.concat(getStars(_arg1, (_arg4 - (_local9 / 2)), _arg3, _arg4, _arg5, _arg6)); return (_local7); }; _local11 = 0; while (_local11 < (_local10 / _arg5)) { _local12 = Random.pointInBox(_arg1, _arg2, _arg3, _arg4); _local7.push(new Star(_local12.x, _local12.y)); _local11++; }; _local11 = 0; while (_local11 < (_local10 / _arg6)) { _local12 = Random.pointInBox(_arg1, _arg2, _arg3, _arg4); _local7.push(new Star(_local12.x, _local12.y, "large")); _local11++; }; return (_local7); } } }//package game.level
Section 111
//Level_BackgroundBlueImage (game.level.Level_BackgroundBlueImage) package game.level { import mx.core.*; public class Level_BackgroundBlueImage extends BitmapAsset { } }//package game.level
Section 112
//Level_BackgroundNavyImage (game.level.Level_BackgroundNavyImage) package game.level { import mx.core.*; public class Level_BackgroundNavyImage extends BitmapAsset { } }//package game.level
Section 113
//Level_BackgroundNightImage (game.level.Level_BackgroundNightImage) package game.level { import mx.core.*; public class Level_BackgroundNightImage extends BitmapAsset { } }//package game.level
Section 114
//Level1 (game.level.Level1) package game.level { import flash.geom.*; import game.bodies.*; import game.terrain.*; import game.graphics.*; public class Level1 extends Level { override public function setup():void{ width = 416; height = 288; addStars(0, 0, width, 224); blocks.add(CBlock.fromCoords(-8, 0, 0, 240)); blocks.add(CBlock.fromCoords(416, 0, 424, 240)); background_blocks.add(BackgroundBlock.fromCoords(0, 240, width, height)); blocks.add(CBlock.fromCoords(0, 240, 176, height)); blocks.add(CBlock.fromCoords(48, 232, 144, 240)); blocks.add(CBlock.fromCoords(72, 224, 120, 232)); blocks.add(CBlock.fromCoords(192, 240, 224, height)); blocks.add(CBlock.fromCoords(240, 240, 0x0100, height)); blocks.add(CBlock.fromCoords(272, 240, 304, height)); blocks.add(CBlock.fromCoords(280, 232, 296, 240)); blocks.add(CBlock.fromCoords(320, 240, 328, height)); blocks.add(CBlock.fromCoords(344, 240, 416, height)); background_bodies.add(new DeadTree(64, 224, 2)); background_bodies.add(new DeadTree(176, 240, 3)); background_bodies.add(new DeadTree(328, 240, 3)); background_bodies.add(new EndSign(EndSign.EndRightSignImage, (width - 32), (240 - Sign.h))); player_start = new Point(0, (240 - 12)); corpse_start = new Point(32, 185); name = "Burden"; } } }//package game.level
Section 115
//Level2 (game.level.Level2) package game.level { import flash.geom.*; import game.bodies.*; import game.terrain.*; import game.graphics.*; public class Level2 extends Level { override public function setup():void{ super.setup(); name = "Sit Tight"; width = 760; height = 288; blocks.add(CBlock.fromCoords(-8, 0, 0, height)); blocks.add(CBlock.fromCoords(width, 0, (width + 8), height)); addStars(0, 0, width, (height - 32)); blocks.add(CBlock.fromCoords(0, 240, 112, 288)); background_blocks.add(BackgroundBlock.fromCoords(8, 232, 16, height)); background_blocks.add(BackgroundBlock.fromCoords(16, 224, 24, height)); background_blocks.add(BackgroundBlock.fromCoords(24, 216, 32, height)); background_blocks.add(BackgroundBlock.fromCoords(32, 200, 40, height)); background_blocks.add(BackgroundBlock.fromCoords(40, 176, 56, height)); background_blocks.add(BackgroundBlock.fromCoords(56, 152, 64, height)); background_blocks.add(BackgroundBlock.fromCoords(64, 136, 72, height)); background_blocks.add(BackgroundBlock.fromCoords(72, 120, 80, height)); background_blocks.add(BackgroundBlock.fromCoords(80, 104, 88, height)); blocks.add(CBlock.fromCoords(88, 96, 152, 288)); background_bodies.add(new DeadTree(88, 96, 3)); blocks.add(new SwitchPlatform(56, 232, 56, 96, 30)); background_bodies.add(new Sign(Sign.DropSignImage, 106, (96 - Sign.h), "[S] to drop an object you're holding.")); background_bodies.add(new Sign(Sign.SelectPickupSignImage, 128, (96 - Sign.h), "[Q] to select which item to pick up.")); bodies.add(new CStone(114, 92)); bodies.add(new CStone(124, 92)); bodies.add(new CStone(132, 92)); background_blocks.add(BackgroundBlock.fromCoords(152, 96, 416, height)); var _local1:MovingBlock = new MovingBlock(240, 100, 152, 100, 24, 8, true, CBlock.BridgeTerrainImage); _local1.start_moving = false; blocks.add(_local1); blocks.add(CBlock.fromCoords(264, 96, 304, 288)); background_bodies.add(new CCamera(272, 96)); background_bodies.add(new Sign(Sign.WarningSignImage, 288, (96 - Sign.h), "DANGER: Fragile bridge. One person at a time.")); blocks.addFrom(FragileBlock.getBatch(304, 108, 416, 116)); blocks.add(CBlock.fromCoords(416, 96, 456, height)); blocks.add(new SwitchPlatform(392, 100, 304, 100)); background_bodies.add(new Sign(Sign.FallWarningSignImage, 440, (96 - Sign.h), "DANGER: Path below. Continue at own risk.")); background_blocks.addFrom(BackgroundBlock.fromTop(456, height, [112, 8, 136, 8, 152, 8, 176, 8, 200, 16, 216, 8, 240, 8, 0x0100, 16, 264, 8])); blocks.add(CBlock.fromCoords(456, 272, 536, 288)); background_bodies.add(new Sign(Sign.BlueberrySignImage, 479, (272 - Sign.h), "[S] to pick and [SPACEBAR] to eat blueberries.")); background_bodies.add(new BlueberryBush(504, 272)); background_blocks.add(BackgroundBlock.fromCoords(536, 272, 552, height)); blocks.addFrom(CBlock.fromTop(552, height, [272, 64, 232, 144])); blocks.add(new SwitchPlatform(584, 232, 584, 264)); bodies.add(new CStone(626, 228)); bodies.add(new CStone(641, 228)); background_bodies.add(new DeadTree(608, 232, 3)); background_blocks.addFrom(BackgroundBlock.fromTop(632, height, [224, 16, 216, 8, 200, 8, 192, 48, 200, 8, 208, 8, 224, 8])); blocks.add(CBlock.fromCoords(672, 184, 696, 192)); blocks.add(new KnockableSwitch(168, 56, new Activator(null, _local1), false)); blocks.add(new CHive(680, 192)); background_bodies.add(new EndSign(EndSign.EndRightSignImage, (width - 24), (232 - Sign.h))); player_start = new Point(0, 228); corpse_start = new Point(32, 233); } } }//package game.level
Section 116
//LevelBees (game.level.LevelBees) package game.level { import flash.geom.*; import game.bodies.*; import game.terrain.*; import game.graphics.*; public class LevelBees extends Level { override public function setup():void{ super.setup(); name = "Beyond Hope"; width = 1976; height = 288; blocks.add(CBlock.fromCoords(-8, 0, 0, height)); blocks.add(CBlock.fromCoords(width, 0, (width + 8), height)); var _local1:int; var _local2:int = (_local1 + 64); var _local3:int = (_local2 + 40); var _local4:int = (_local2 + 224); var _local5:int = (height - 112); var _local6:int = (_local5 + 4); var _local7:int = (_local6 + 8); var _local8:int = (_local5 - 32); var _local9:int = (_local8 - 32); blocks.add(CBlock.fromCoords(_local1, _local5, _local2, height)); mid_bodies.add(new DeadTree(_local1, _local5, 3)); blocks.add(new CBlock(_local3, (_local8 - 8), 144, 8)); blocks.add(new CBlock((_local3 + 16), (_local8 - 16), 112, 8)); blocks.add(new CBlock((_local3 + 32), (_local8 - 24), 80, 8)); blocks.add(new CBlock((_local3 + 48), _local9, 48, 8)); blocks.addFrom(FragileBlock.getBatch((_local4 - 24), _local7, _local4, (_local7 + 8))); var _local10:MovingBlock = new MovingBlock(_local2, _local6, (_local4 - 24), _local6); _local10.start_bouncing = false; blocks.add(_local10); background_bodies.add(new ActivateSwitch((_local2 - 12), (_local5 - ActivateSwitch.h), new Activator(_local10))); mid_bodies.add(new DeadTree((_local3 + 40), _local9, 3)); blocks.add(new CHive((_local3 + 48), _local8)); blocks.add(new CHive((_local3 + 88), _local8)); var _local11:int = _local4; var _local12:int = (_local11 + 48); var _local13:int = (_local12 + 40); var _local14:int = (_local12 + 224); var _local15:int = _local5; var _local16:int = (_local15 + 96); var _local17:int = (_local15 - 32); var _local18:int = (_local17 - 32); var _local19:int = (_local15 + 4); var _local20:int = (_local19 + 8); blocks.add(CBlock.fromCoords(_local4, _local15, _local12, height)); blocks.add(new CBlock(_local13, (_local17 - 8), 144, 8)); blocks.add(new CBlock((_local13 + 16), (_local17 - 16), 112, 8)); blocks.add(new CBlock((_local13 + 32), (_local17 - 24), 80, 8)); blocks.add(new CBlock((_local13 + 48), _local18, 48, 8)); var _local21:MovingBlock = new MovingBlock(_local12, _local19, (_local14 - 24), _local19, 24, 8, true, null, 25); _local21.start_bouncing = false; blocks.add(_local21); background_bodies.add(new ActivateSwitch((_local12 - 12), (_local15 - ActivateSwitch.h), new Activator(_local21))); blocks.add(CBlock.fromCoords((_local13 + 8), _local16, ((_local13 + 32) + 8), height)); blocks.add(CBlock.fromCoords(((_local14 - 32) - 48), _local16, (_local14 - 48), height)); mid_bodies.add(new DeadTree((_local13 - 8), _local16, 2)); mid_bodies.add(new DeadTree((((_local14 - 32) - 48) - 16), _local16, 2)); blocks.add(new CHive((_local13 + 48), _local17)); blocks.add(new CHive((_local13 + 88), _local17)); blocks.addFrom(FragileBlock.getBatch((_local14 - 24), _local20, _local14, (_local20 + 8))); var _local22:int = _local14; var _local23:int = (_local22 + 64); var _local24:int = (_local23 + 96); var _local25:int = (_local24 + 64); var _local26:int = (_local25 + 64); var _local27:int = (_local26 + 96); var _local28:int = _local15; var _local29:int = (_local28 - 40); var _local30:int = (_local28 + 4); var _local31:int = (_local30 + 8); blocks.add(CBlock.fromCoords(_local22, _local28, _local23, height)); bodies.add(new CCamera((_local22 + 28), _local28)); blocks.add(new CBlock(_local24, _local29, 24, 8)); blocks.add(new CHive((_local24 + 8), (_local29 + 8))); blocks.add(new CBlock(_local25, _local29, 24, 8)); blocks.add(new CHive((_local25 + 8), (_local29 + 8))); blocks.add(new CBlock(_local26, _local29, 24, 8)); blocks.add(new CHive((_local26 + 8), (_local29 + 8))); var _local32:MovingBlock = new MovingBlock(_local23, _local30, (_local27 - 24), _local30, 24, 8, true, null, 20); _local32.start_bouncing = false; blocks.add(_local32); background_bodies.add(new ActivateSwitch((_local23 - 12), (_local15 - ActivateSwitch.h), new Activator(_local32))); blocks.addFrom(FragileBlock.getBatch((_local27 - 16), _local31, _local27, (_local31 + 8))); var _local33:int = _local27; var _local34:int = (_local33 + 368); var _local35:int = (_local33 + 64); var _local36:int = (_local35 + 88); var _local37:int = (_local36 + 88); var _local38:int = _local28; var _local39:int = (_local38 - 68); blocks.add(CBlock.fromCoords(_local33, _local38, _local34, height)); blocks.add(new CBlock(_local35, _local39, 24, 8)); blocks.add(new CHive((_local35 + 8), (_local39 + 8))); blocks.add(new CBlock(_local36, _local39, 24, 8)); blocks.add(new CHive((_local36 + 8), (_local39 + 8))); blocks.add(new CBlock(_local37, _local39, 24, 8)); blocks.add(new CHive((_local37 + 8), (_local39 + 8))); mid_bodies.add(new DeadTree((_local35 + 24), _local38, 2)); mid_bodies.add(new DeadTree((_local36 + 24), _local38, 2)); background_bodies.add(new BlueberryBush((_local33 + 20), _local38)); background_bodies.add(new BlueberryBush((_local34 - 44), _local38)); background_bodies.add(new CCamera((_local34 - 16), _local38)); var _local40:int = _local34; var _local41:int = (_local40 + 128); var _local42:int = (_local41 + 192); var _local43:int = (_local41 + 32); var _local44:int = _local38; var _local45:int = (_local44 + 96); var _local46:int = (_local44 - 32); blocks.add(CBlock.fromCoords(_local40, _local45, _local41, height)); blocks.add(CBlock.fromCoords(_local41, _local44, _local42, height)); var _local47:MovingBlock = new MovingBlock((_local41 - 32), (_local45 - 4), (_local41 - 32), (_local44 - 4)); _local47.start_bouncing = true; blocks.add(_local47); background_bodies.add(new Scale((_local41 - 68), _local45, new Activator(null, _local47))); blocks.add(new CHive((_local43 + 48), _local46)); blocks.add(new CHive((_local43 + 72), _local46)); blocks.add(new CBlock(_local43, (_local46 - 8), 128, 8)); blocks.add(new CBlock((_local43 + 16), (_local46 - 16), 96, 8)); blocks.add(new CBlock((_local43 + 32), (_local46 - 24), 64, 8)); blocks.add(new CBlock((_local43 + 48), (_local46 - 32), 32, 8)); bodies.add(new CStone((_local43 + 62), (_local46 - 36))); var _local48:int = _local42; var _local49:int = (_local48 + 32); var _local50:int = (_local49 + 240); var _local51:int = (_local49 + 64); var _local52:int = _local44; var _local53:int = (_local52 + 48); var _local54:int = (_local53 - 40); blocks.add(CBlock.fromCoords(_local48, _local53, _local49, height)); var _local55:MovingBlock = new MovingBlock(_local49, (_local53 + 4), (_local50 - 40), (_local53 + 4), 40, 8, true, null, 25); _local55.start_bouncing = false; blocks.add(_local55); background_bodies.add(new ActivateSwitch((_local49 - 16), (_local53 - ActivateSwitch.h), new Activator(_local55))); bodies.add(new CStone((_local49 + 6), _local53)); bodies.add(new CStone((_local49 + 13), _local53)); bodies.add(new CStone((_local49 + 19), _local53)); blocks.add(new CBlock(_local51, (_local54 - 8), 128, 8)); blocks.add(new CBlock((_local51 + 16), (_local54 - 16), 96, 8)); blocks.add(new CBlock((_local51 + 32), (_local54 - 24), 64, 8)); blocks.add(new CBlock((_local51 + 48), (_local54 - 32), 32, 8)); blocks.add(new CHive((_local51 + 40), _local54)); blocks.add(new CHive((_local51 + 72), _local54)); blocks.add(new CHive((_local51 + 96), _local54)); blocks.add(CBlock.fromCoords(_local50, _local53, width, height)); background_blocks.addFrom(BackgroundBlock.fromTop((_local1 + 16), height, [(_local5 - 8), 24, (_local5 - 16), 16, (_local5 - 24), 24, (_local5 - 32), 176, (_local5 - 24), 16, (_local5 - 16), 24, (_local5 - 8), 24, _local5, 8, (_local5 - 8), 16, (_local5 - 16), 16, (_local5 - 24), 8, (_local5 - 32), 24, (_local5 - 40), 16, (_local5 - 48), 16, (_local5 - 56), 24, (_local5 - 64), 16, (_local5 - 72), 16, (_local5 - 80), 24, (_local5 - 72), 16, (_local5 - 64), 16, (_local5 - 56), 24, (_local5 - 48), 16, (_local5 - 40), 24, (_local5 - 32), 16, (_local5 - 40), 16, (_local5 - 48), 16, (_local5 - 56), 16, (_local5 - 64), 8, (_local5 - 72), 16, (_local5 - 80), 16, (_local5 - 88), 16, (_local5 - 96), 16, (_local5 - 104), 24, (_local5 - 96), 24, (_local5 - 88), 16, (_local5 - 80), 16, (_local5 - 72), 24, (_local5 - 64), 16, (_local5 - 56), 16, (_local5 - 48), 16, (_local5 - 40), 16, (_local5 - 32), 16, (_local5 - 24), 24, (_local5 - 16), 16, (_local5 - 8), 24, (_local5 - 16), 16, (_local5 - 24), 16, (_local5 - 32), 24, (_local5 - 40), 16, (_local5 - 48), 24, (_local5 - 56), 16, (_local5 - 64), 16, (_local5 - 72), 16, (_local5 - 80), 24, (_local5 - 88), 16, (_local5 - 80), 16, (_local5 - 72), 24, (_local5 - 64), 16, (_local5 - 56), 16, (_local5 - 48), 24, (_local5 - 40), 16, (_local5 - 32), 16, (_local5 - 40), 24, (_local5 - 48), 24, (_local5 - 56), 16, (_local5 - 64), 16, (_local5 - 72), 24, (_local5 - 80), 16, (_local5 - 72), 16, (_local5 - 64), 16, (_local5 - 56), 24, (_local5 - 48), 96, (_local5 - 56), 16, (_local5 - 64), 24, (_local5 - 72), 16, (_local5 - 64), 16, (_local5 - 56), 16, (_local5 - 48), 24, (_local5 - 40), 24, (_local5 - 32), 16, (_local5 - 24), 16, (_local5 - 16), 16, (_local5 - 24), 16, (_local5 - 32), 16, (_local5 - 40), 24, (_local5 - 48), 16, (_local5 - 56), 16, (_local5 - 64), 16, (_local5 - 72), 32, (_local5 - 64), 16, (_local5 - 56), 16, (_local5 - 48), 24, (_local5 - 40), 16, (_local5 - 32), 16])); var _local56:Number = (144 * 144); addStars(_local1, 0, width, _local5, _local56); var _local57:EndSign = new EndSign(EndSign.EndRightSignImage, (width - 24), (_local53 - Sign.h)); background_bodies.add(_local57); player_start = new Point(4, (_local5 - 12)); corpse_start = new Point(32, 233); } } }//package game.level
Section 117
//LevelFinal (game.level.LevelFinal) package game.level { import flash.geom.*; import game.terrain.*; import game.npcs.*; import game.scripting.*; import game.*; import game.graphics.*; public class LevelFinal extends Level { override public function setup():void{ var _local2:int; super.setup(); name = "Satisfaction"; show_start_mini_map = false; width = 1464; height = 488; blocks.add(CBlock.fromCoords(-8, 0, 0, height)); blocks.add(CBlock.fromCoords(width, 0, (width + 8), height)); var _local1:int; _local2 = (height - 48); var _local3:int = (_local2 - 128); blocks.add(CBlock.fromCoords(_local1, _local2, width, height)); mid_bodies.add(new DeadTree(32, _local2, 3, "tree1")); mid_bodies.add(new DeadTree(116, _local2, 6, "tree2")); mid_bodies.add(new DeadTree(188, _local2, 3, "tree1")); mid_bodies.add(new LightPost(264, _local2)); mid_bodies.add(new Car(312, _local2)); mid_bodies.add(new Cabin(376, _local2)); mid_bodies.add(new DeadTree(432, _local2, 6, "tree2")); mid_bodies.add(new DeadTree(496, _local2, 3, "tree1")); mid_bodies.add(new Cabin(568, _local2, "cabin2")); mid_bodies.add(new LightPost(624, _local2)); mid_bodies.add(new Car(636, _local2, "car2")); mid_bodies.add(new Car(708, _local2, "car1")); mid_bodies.add(new LightPost(776, _local2)); mid_bodies.add(new DeadTree(808, _local2, 6, "tree2")); mid_bodies.add(new Cabin(864, _local2, "cabin1")); mid_bodies.add(new Flower(Flower.PoppyImage, 920, (_local2 - 6))); mid_bodies.add(new Flower(Flower.PoppyImage, 928, (_local2 - 6))); mid_bodies.add(new Flower(Flower.PoppyImage, 938, (_local2 - 6))); mid_bodies.add(new Flower(Flower.PoppyImage, 945, (_local2 - 6))); npcs.add(new Vulture(945, _local3, 636, 945, _local3)); events.push(new MusicEvent(1, "volume", SoundManager.quiet_music_volume)); this.events.push(new TweakActorEvent(50, null, "disable_player", "", true)); this.events.push(new ControlActorEvent(15, null, "right", 40, true)); this.events.push(new DelayEvent(3)); events.push(new AwardAchievementEvent(1, 93)); this.events.push(new DelayEvent(2)); this.events.push(new PlaySoundEvent(1, "christie_civilization")); this.events.push(new DisplayTextEvent(3, "Sweet, civilization.", Player.text_color)); this.events.push(new DelayEvent(3)); this.events.push(new PlaySoundEvent(1, "christie_damned_corpse")); this.events.push(new DisplayTextEvent(4, "I can finally get rid of this damned corpse!", Player.text_color)); this.events.push(new DelayEvent(7)); this.events.push(new TweakActorEvent(20, null, "max_run_speed", String((80 / 2)), true)); this.events.push(new ControlActorEvent(10, null, "right", 40, true)); this.events.push(new PlaySoundEvent(1, "christie_dead_weight")); this.events.push(new DisplayTextEvent(5, "You know, I'm going to miss this dead weight.", Player.text_color)); this.events.push(new DelayEvent(5)); this.events.push(new PlaySoundEvent(1, "christie_better_now")); this.events.push(new DisplayTextEvent(5, "He looks better now than when he was alive!", Player.text_color)); this.events.push(new DelayEvent(5)); this.events.push(new PlaySoundEvent(1, "christie_couple_days")); this.events.push(new DisplayTextEvent(5, "No one would miss him for another couple days...", Player.text_color)); this.events.push(new ControlActorEvent(0.1, null, "left", 80, true)); events.push(new DelayEvent(1)); events.push(new ControlActorEvent(0.1, null, "right", 80, true)); events.push(new DelayEvent(1)); events.push(new ControlActorEvent(0.1, null, "left", 80, true)); events.push(new DelayEvent(1)); events.push(new ControlActorEvent(0.1, null, "right", 80, true)); events.push(new DelayEvent(2)); this.events.push(new ControlActorEvent(5, null, "left", 40, true)); this.events.push(new PlaySoundEvent(1, "christie_keep_around")); this.events.push(new DisplayTextEvent(5, "Maybe I'll just keep him around a bit longer.", Player.text_color)); this.events.push(new DelayEvent(5)); this.events.push(new ControlActorEvent(15, null, "left", 40, true)); this.events.push(new PlaySoundEvent(1, "christie_head_home")); this.events.push(new DisplayTextEvent(5, "Well, I guess I better head home!", Player.text_color)); this.events.push(new AwardAchievementEvent(1, 94)); this.events.push(new DelayEvent(5)); events.push(new FadeOutEvent()); events.push(new MusicEvent(1, "volume", SoundManager.normal_music_volume)); this.events.push(new DelayEvent(10)); events.push(new WinEvent()); player_start = new Point((_local1 + 4), (_local2 - 12)); corpse_start = new Point(32, 233); var _local4:int = (208 * 208); addStars(0, (_local2 - 192), 945, _local2, _local4); background_blocks.addFrom(BackgroundBlock.fromTop(0, height, [(_local2 - 32), 8, (_local2 - 40), 16, (_local2 - 48), 16, (_local2 - 56), 16, (_local2 - 64), 8, (_local2 - 72), 16, (_local2 - 80), 16, (_local2 - 88), 8, (_local2 - 96), 8, (_local2 - 88), 16, (_local2 - 80), 8, (_local2 - 72), 16, (_local2 - 64), 16, (_local2 - 56), 8, (_local2 - 48), 16, (_local2 - 40), 16, (_local2 - 32), 8, (_local2 - 24), 16, (_local2 - 32), 16, (_local2 - 40), 8, (_local2 - 48), 16, (_local2 - 56), 16, (_local2 - 64), 16, (_local2 - 72), 8, (_local2 - 80), 16, (_local2 - 88), 8, (_local2 - 96), 16, (_local2 - 88), 16, (_local2 - 80), 16, (_local2 - 72), 8, (_local2 - 64), 16, (_local2 - 56), 8, (_local2 - 48), 8, (_local2 - 40), 8, (_local2 - 48), 8, (_local2 - 56), 16, (_local2 - 64), 8, (_local2 - 72), 16, (_local2 - 80), 8, (_local2 - 88), 8, (_local2 - 96), 8, (_local2 - 104), 16, (_local2 - 96), 16, (_local2 - 88), 8, (_local2 - 80), 8, (_local2 - 72), 16, (_local2 - 64), 8, (_local2 - 56), 16, (_local2 - 48), 8, (_local2 - 40), 8, (_local2 - 32), 8, (_local2 - 24), 16, (_local2 - 16), 8, (_local2 - 24), 8, (_local2 - 32), 8, (_local2 - 40), 16, (_local2 - 48), 8, (_local2 - 56), 8, (_local2 - 64), 16, (_local2 - 72), 8, (_local2 - 80), 8, (_local2 - 88), 8, (_local2 - 80), 8, (_local2 - 72), 16, (_local2 - 64), 8, (_local2 - 56), 8, (_local2 - 48), 8, (_local2 - 56), 8, (_local2 - 64), 16, (_local2 - 72), 8, (_local2 - 80), 8, (_local2 - 88), 8, (_local2 - 96), 8, (_local2 - 104), 16, (_local2 - 112), 8, (_local2 - 120), 8, (_local2 - 112), 8, (_local2 - 104), 8, (_local2 - 96), 16, (_local2 - 88), 8, (_local2 - 80), 8, (_local2 - 72), 8, (_local2 - 64), 16, (_local2 - 56), 8, (_local2 - 48), 8, (_local2 - 40), 8, (_local2 - 32), 16])); } } }//package game.level
Section 118
//LevelLeaveBehind (game.level.LevelLeaveBehind) package game.level { import flash.geom.*; import game.bodies.*; import game.terrain.*; import game.graphics.*; public class LevelLeaveBehind extends Level { override public function setup():void{ var _local3:int; super.setup(); name = "Who's Scared?"; width = 1040; height = 544; blocks.add(CBlock.fromCoords(-8, 0, 0, height)); blocks.add(CBlock.fromCoords(width, 0, (width + 8), height)); var _local1:int; var _local2:int = (height - 48); _local3 = (height - 112); blocks.addFrom(CBlock.fromTop(_local1, height, [_local2, 128, _local3, 64])); blocks.add(new CBlock((_local1 + 64), (_local2 - 48), 24, 8, true, CBlock.BridgeTerrainImage)); var _local4:PercentageBlock = new PercentageBlock((_local1 + 96), (_local2 - 8), (_local1 + 96), (_local3 - 4), 24, 8, true, CBlock.BridgeTerrainImage); blocks.add(_local4); background_bodies.add(new Sign(Sign.RotarySignImage, (_local1 + 132), (_local3 - Sign.h), "Hold [SPACEBAR] to activate a rotary switch.")); background_bodies.add(new ContinuousSwitch((_local1 + 152), (_local3 - ActivateSwitch.h), new Activator(null, null, _local4))); background_blocks.addFrom(BackgroundBlock.fromTop(_local1, height, [_local2, 32, (_local2 - 8), 16, (_local2 - 16), 8, (_local2 - 24), 8, (_local2 - 32), 16, (_local2 - 40), 8, (_local2 - 56), 8, _local3, 8, (_local3 - 8), 8, (_local3 - 16), 16, (_local3 - 24), 8, (_local3 - 32), 8, (_local3 - 40), 16, (_local3 - 48), 8, (_local3 - 56), 8, (_local3 - 64), 16, (_local3 - 72), 16, (_local3 - 80), 8, (_local3 - 88), 8, (_local3 - 96), 8, (_local3 - 104), 16, (_local3 - 96), 8, (_local3 - 88), 16, (_local3 - 80), 8, (_local3 - 72), 8, (_local3 - 64), 16, (_local3 - 56), 16, (_local3 - 48), 8, (_local3 - 40), 8, (_local3 - 24), 8, (_local3 - 16), 8, (_local3 - 8), 8, _local3, 16, (_local2 - 56), 8, (_local2 - 48), 8, (_local2 - 40), 8, (_local2 - 32), 16, (_local2 - 24), 8, (_local2 - 16), 8, (_local2 - 8), 8, _local2, 16, (_local2 + 8), 16, (_local2 + 16), 8, (_local2 + 24), 16, (_local2 + 32), 16, (_local2 + 40), 8])); var _local5 = 192; blocks.addFrom(FragileBlock.getBatch(_local5, (_local3 + 12), (_local5 + 112), (_local3 + 20))); blocks.addFrom(CBlock.fromTop((_local5 + 112), height, [_local3, 48, _local2, 80])); mid_bodies.add(new DeadTree((_local5 + 168), _local2, 3)); background_bodies.add(new CCamera((_local5 + 228), _local2)); var _local6:MovingBlock = new MovingBlock((_local5 + 88), (_local3 + 4), _local5, (_local3 + 4), 24, 8, true, CBlock.BridgeTerrainImage); _local6.start_moving = false; blocks.add(_local6); blocks.add(new SwitchPlatform((_local5 + 120), (_local3 - 16), (_local5 + 120), (_local3 - 128))); blocks.add(new CBlock((_local5 + 88), (_local3 - 128), 24, 8, true, CBlock.BridgeTerrainImage)); var _local7:PercentageBlock = new PercentageBlock((_local5 - 64), (_local3 - 128), (_local5 + 56), (_local3 - 128), 24, 8, true, CBlock.BridgeTerrainImage); blocks.add(_local7); background_bodies.add(new ContinuousSwitch((_local5 + 96), ((_local3 - 128) - ActivateSwitch.h), new Activator(null, null, _local7))); bodies.add(new CStone(((_local5 - 64) + 10), ((_local3 - 128) - 4))); blocks.add(new KnockableSwitch((_local5 + 152), (_local3 - 160), new Activator(_local6))); var _local8 = 432; blocks.addFrom(FragileBlock.getBatch(_local8, (_local2 + 12), (_local8 + 240), (_local2 + 20))); blocks.add(CBlock.fromCoords((_local8 + 240), _local2, (_local8 + 304), height)); mid_bodies.add(new DeadTree((_local8 + 240), _local2, 3)); background_bodies.add(new Sign(Sign.ScareRavenSignImage, (_local8 + 246), (_local2 - Sign.h), "Throw objects like stones to scare ravens.")); bodies.add(new CStone((_local8 + 262), (_local2 - 4))); blocks.add(new SwitchPlatform((_local8 + 216), (_local2 + 4), _local8, (_local2 + 4))); var _local9 = 592; var _local10:int = height; background_blocks.addFrom(BackgroundBlock.fromTop(_local9, height, [(_local10 - 8), 16, (_local10 - 16), 8, (_local10 - 24), 16, (_local10 - 32), 8, (_local10 - 40), 8, (_local10 - 48), 16, (_local10 - 56), 8, (_local10 - 64), 8, (_local10 - 72), 16, (_local10 - 80), 8, (_local10 - 88), 16, (_local10 - 96), 16, (_local10 - 104), 8, (_local10 - 112), 8, (_local10 - 120), 8, (_local10 - 136), 8, (_local10 - 144), 8, (_local10 - 160), 8, (_local10 - 168), 8, (_local10 - 176), 8, (_local10 - 192), 8, (_local10 - 208), 8, (_local10 - 216), 8, (_local10 - 224), 8, (_local10 - 240), 8, (_local10 - 248), 8, (_local10 - 264), 8, (_local10 - 272), 8, (_local10 - 280), 8, (_local10 - 296), 8, (_local10 - 304), 8, (_local10 - 312), 8, (_local10 - 328), 8, (_local10 - 336), 8, (_local10 - 352), 8, (_local10 - 360), 8, (_local10 - 368), 8, (_local10 - 376), 16, (_local10 - 384), 8, (_local10 - 392), 16, (_local10 - 400), 8, (_local10 - 408), 16, (_local10 - 416), 16, (_local10 - 424), 8, (_local10 - 432), 16])); var _local11 = 736; var _local12 = 880; var _local13:int = (height - 192); var _local14:int = (height - 352); blocks.addFrom(FragileBlock.getBatch(_local11, (_local2 + 24), (_local11 + 144), (_local2 + 32))); var _local15:PercentageBlock = new PercentageBlock((_local12 - 24), (_local13 - 4), _local11, (_local2 + 16), 24, 8, true, CBlock.BridgeTerrainImage); blocks.add(_local15); blocks.add(new CBlock((_local11 + 112), _local2, 24, 8, true, CBlock.BridgeTerrainImage)); var _local16:ContinuousSwitch = new ContinuousSwitch((_local11 + 120), (_local2 - ActivateSwitch.h), new Activator(null, null, _local15), 10); _local16.decay_rate = 0.33; background_bodies.add(_local16); bodies.add(new CStone((_local11 + 114), (_local2 - 4))); bodies.add(new CStone((_local11 + 130), (_local2 - 4))); blocks.add(new CBlock((_local12 + 64), (_local13 - 40), 24, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock((_local12 + 64), (_local13 - 80), 24, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock((_local12 + 64), (_local13 - 120), 24, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock((_local12 + 64), _local14, 24, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock((_local12 + 32), _local14, 24, 8, true, CBlock.BridgeTerrainImage)); blocks.addFrom(CBlock.fromTop(_local12, height, [_local13, 80, _local14, 80])); mid_bodies.add(new DeadTree(_local12, _local13, 3)); var _local17:MovingBlock = new MovingBlock(_local12, _local14, _local12, (_local13 - 8), 24, 8, true, CBlock.BridgeTerrainImage); _local17.start_moving = false; _local17.start_bouncing = false; blocks.add(_local17); background_bodies.add(new ActivateSwitch((_local12 + 96), (_local14 - ActivateSwitch.h), new Activator(_local17))); var _local18:Number = (224 * 224); addStars(_local1, 0, _local8, (_local3 - 16), _local18); addStars(_local8, _local14, (_local8 + 240), (_local2 - 32), _local18); addStars(_local11, 0, _local12, _local13, _local18); addStars(_local12, 0, width, _local14, _local18); var _local19:EndSign = new EndSign(EndSign.EndRightSignImage, (width - 24), (_local14 - Sign.h)); background_bodies.add(_local19); player_start = new Point(0, (_local2 - 12)); corpse_start = new Point(32, 233); } } }//package game.level
Section 119
//LevelMorbiid (game.level.LevelMorbiid) package game.level { import flash.geom.*; import game.bodies.*; import game.terrain.*; import game.npcs.*; import game.graphics.*; public class LevelMorbiid extends Level { override public function setup():void{ var _local1:int; var _local6:int; var _local27:int; var _local45:int; super.setup(); name = "Shovel Dreams"; width = 1464; height = 488; blocks.add(CBlock.fromCoords(-8, 0, 0, height)); blocks.add(CBlock.fromCoords(width, 0, (width + 8), height)); _local1 = 0; var _local2:int = (_local1 + 32); var _local3:int = (_local2 + 48); var _local4:int = (_local3 + 48); var _local5:int = (_local4 + 24); _local6 = (height - 48); var _local7:int = (_local6 - 160); blocks.add(CBlock.fromCoords(_local1, _local6, _local5, height)); var _local8:MovingBlock = new MovingBlock(_local2, (_local6 - 32), _local2, _local7); _local8.start_bouncing = false; blocks.add(_local8); background_bodies.add(new ActivateSwitch((_local5 - 16), (_local6 - ActivateSwitch.h), new Activator(_local8))); blocks.add(new CBlock(_local3, _local7, 24, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock(_local4, (_local6 - 40), 24, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock(_local4, (_local6 - 80), 24, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock(_local4, (_local6 - 120), 24, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock(_local4, (_local6 - 160), 24, 8, true, CBlock.BridgeTerrainImage)); mid_bodies.add(new DeadTree((_local2 + 16), _local6, 6, "tree2")); var _local9:int = _local5; var _local10:int = (_local9 + 48); var _local11:int = (_local10 + 72); var _local12:int = (_local11 + 112); var _local13:int = (_local10 + 24); var _local14:int = _local7; var _local15:int = _local6; var _local16:int = (_local14 - 96); blocks.add(CBlock.fromCoords(_local9, _local14, _local10, height)); blocks.add(CBlock.fromCoords(_local10, _local15, _local11, height)); blocks.add(CBlock.fromCoords(_local11, _local14, _local12, height)); background_bodies.add(new CCamera((_local9 + 20), _local14)); background_bodies.add(new CCamera((_local12 - 36), _local14)); npcs.add(new Vulture(_local9, _local16, _local9, _local10, _local16)); npcs.add(new Vulture(_local10, _local16, _local10, _local11, _local16)); npcs.add(new Vulture(_local11, _local16, _local11, _local12, _local16)); var _local17:MovingBlock = new MovingBlock(_local13, (_local15 - 64), _local13, _local14); _local17.start_bouncing = false; blocks.add(_local17); background_bodies.add(new ActivateSwitch((_local11 + 8), (_local14 - ActivateSwitch.h), new Activator(_local17))); mid_bodies.add(new DeadTree((_local13 - 12), _local15, 6, "tree2")); var _local18:int = _local12; var _local19:int = (_local18 + 160); var _local20:int = _local14; var _local21:int = (_local20 + 4); var _local22:int = (_local20 + 40); var _local23:int = (_local22 + 48); var _local24:int = (_local20 - 96); blocks.add(CBlock.fromCoords(_local18, _local22, _local19, height)); var _local25:PercentageBlock = new PercentageBlock(_local18, _local21, (_local19 - 24), _local21); blocks.add(_local25); background_bodies.add(new ContinuousSwitch((_local18 - 16), (_local20 - ActivateSwitch.h), new Activator(null, null, _local25), 7)); npcs.add(new Vulture(_local18, _local24, _local18, _local19, _local24)); var _local26:int = _local19; _local27 = (_local26 + 64); var _local28:int = (_local27 + 48); var _local29:int = (_local28 + 40); var _local30:int = (_local29 + 56); var _local31:int = (_local30 + 40); var _local32:int = (_local31 + 64); var _local33:int = _local20; var _local34:int = (_local33 + 128); var _local35:int = (_local33 - 8); var _local36:int = (_local34 - 32); var _local37:int = (_local33 - 96); var _local38:int = (_local34 - 40); blocks.add(CBlock.fromCoords(_local26, _local33, _local27, height)); npcs.add(new Vulture(_local26, _local37, _local26, _local27, _local37)); background_bodies.add(new CCamera((_local27 - 16), _local33)); blocks.add(CBlock.fromCoords(_local27, _local34, _local31, height)); mid_bodies.add(new DeadTree((_local27 + 16), _local34, 3)); mid_bodies.add(new DeadTree((_local31 - 80), _local34, 3)); blocks.add(CBlock.fromCoords(_local31, _local33, _local32, height)); background_bodies.add(new CCamera((_local31 + 32), _local33)); blocks.addFrom(FragileBlock.getBatch(_local27, (_local33 + 4), (_local27 + 8), (_local33 + 12))); var _local39:MovingBlock = new MovingBlock(_local28, _local36, _local28, _local35); _local39.start_bouncing = true; blocks.add(_local39); blocks.add(new CBlock(_local29, _local33, 40, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new SwitchPlatform(_local30, _local38, _local30, _local33)); blocks.add(new KnockableSwitch((_local31 + 16), (_local33 - 32), new Activator(null, _local39))); var _local40:int = _local32; var _local41:int = (_local40 + 72); var _local42:int = (_local41 + 64); var _local43:int = (_local42 + 56); var _local44:int = (_local43 + 56); _local45 = _local33; var _local46:int = (_local45 - 40); var _local47:int = (_local45 + 4); var _local48:int = (_local45 + 96); var _local49:MovingBlock = new MovingBlock(_local40, _local47, (_local43 - 24), _local47, 24, 8, true, CBlock.BridgeTerrainImage, 30); _local49.start_bouncing = false; blocks.add(_local49); background_bodies.add(new ActivateSwitch((_local40 - 16), (_local45 - ActivateSwitch.h), new Activator(_local49))); blocks.add(new CBlock(_local41, _local46, 24, 8)); blocks.add(new CHive((_local41 + 8), (_local46 + 8))); blocks.add(new CBlock(_local42, _local46, 24, 8)); blocks.add(new CHive((_local42 + 8), (_local46 + 8))); blocks.add(new CBlock(_local43, _local46, 24, 8)); blocks.add(new CHive((_local43 + 8), (_local46 + 8))); bodies.add(new CStone((_local43 + 10), (_local46 - 4))); blocks.add(CBlock.fromCoords((_local41 + 24), _local48, (_local41 + 56), height)); mid_bodies.add(new DeadTree((_local41 + 8), _local48, 3)); blocks.add(CBlock.fromCoords((_local43 - 8), _local48, (_local43 + 24), height)); mid_bodies.add(new DeadTree((_local43 - 24), _local48, 3)); var _local50:int = _local44; var _local51:int = (_local50 + 64); var _local52:int = (_local51 + 48); var _local53:int = (_local52 + 56); var _local54:int = (_local53 + 48); var _local55:int = (_local54 + 64); var _local56:int = (_local55 + 16); var _local57:int = (_local56 + 128); var _local58:int = _local45; var _local59:int = (_local58 + 72); var _local60:int = (_local59 - 32); var _local61:int = (_local60 - 8); blocks.add(CBlock.fromCoords(_local50, _local58, _local51, height)); background_bodies.add(new CCamera((_local51 - 16), _local58)); blocks.add(CBlock.fromCoords(_local51, _local59, _local56, height)); mid_bodies.add(new DeadTree((_local51 + 16), _local59, 3)); mid_bodies.add(new DeadTree((_local51 + 88), _local59, 3)); mid_bodies.add(new DeadTree((_local56 - 72), _local59, 3)); blocks.add(new CBlock(_local55, _local58, 16, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock(_local55, _local60, 16, 8, true, CBlock.BridgeTerrainImage)); blocks.add(CBlock.fromCoords(_local56, _local58, _local57, height)); var _local62:MovingBlock = new MovingBlock(_local53, _local61, _local54, _local60); _local62.start_bouncing = true; blocks.add(_local62); background_bodies.add(new Scale((_local56 + 8), _local58, new Activator(null, _local62))); blocks.addFrom(FragileBlock.getBatch((_local52 - 8), _local58, (_local52 + 8), (_local58 + 8))); blocks.add(new CBlock(_local54, _local58, 24, 8, true, CBlock.BridgeTerrainImage)); background_bodies.add(new Sign(Sign.WarningSignImage, (_local57 - 64), (_local58 - Sign.h), "Congratulations! Don't forget to note your time!")); var _local63:EndSign = new EndSign(EndSign.EndRightSignImage, (width - 24), (_local58 - Sign.h)); background_bodies.add(_local63); player_start = new Point((_local1 + 4), (_local6 - 12)); corpse_start = new Point(32, 233); var _local64:Number = (144 * 144); addStars(_local1, (_local14 - 192), _local10, _local6); addStars(_local18, (_local20 - 192), _local19, _local20); addStars(_local27, (_local45 - 192), width, _local45, _local64); background_blocks.addFrom(BackgroundBlock.fromTop(_local1, height, [(_local6 - 32), 8, (_local6 - 40), 8, (_local6 - 48), 8, (_local6 - 56), 8, (_local6 - 72), 8, (_local6 - 80), 8, (_local6 - 88), 8, (_local6 - 96), 8, (_local6 - 104), 8, (_local6 - 120), 8, (_local6 - 136), 8, (_local6 - 144), 8, (_local6 - 152), 8, (_local6 - 168), 8, (_local6 - 176), 8, (_local6 - 184), 8, (_local6 - 192), 8, (_local6 - 208), 8, (_local6 - 216), 8, (_local6 - 232), 8, (_local6 - 248), 8, (_local6 - 0x0100), 8, (_local6 - 264), 8, (_local6 - 272), 8, (_local6 - 288), 8, (_local6 - 296), 8, (_local6 - 304), 8, (_local6 - 312), 8, (_local6 - 304), 8, (_local6 - 296), 8, (_local6 - 288), 8, (_local6 - 280), 8, (_local6 - 264), 8, (_local6 - 272), 8, (_local6 - 280), 8, (_local6 - 288), 8, (_local6 - 304), 8, (_local6 - 312), 8, (_local6 - 320), 8, (_local6 - 328), 8, (_local6 - 320), 8, (_local6 - 312), 8, (_local6 - 304), 8, (_local6 - 296), 8, (_local6 - 288), 8, (_local6 - 280), 16, (_local6 - 272), 8, (_local6 - 264), 8, (_local6 - 0x0100), 16, (_local6 - 248), 16, (_local6 - 240), 8, (_local6 - 232), 8, (_local6 - 224), 16, (_local6 - 216), 8, (_local6 - 208), 16, (_local6 - 216), 8, (_local6 - 224), 8, (_local6 - 232), 16, (_local6 - 240), 16, (_local6 - 248), 8, (_local6 - 0x0100), 16, (_local6 - 264), 16, (_local6 - 272), 8, (_local6 - 280), 16, (_local6 - 288), 16, (_local6 - 296), 8, (_local6 - 304), 16, (_local6 - 296), 16, (_local6 - 288), 8, (_local6 - 280), 16, (_local6 - 272), 8, (_local6 - 264), 8, (_local6 - 0x0100), 16, (_local6 - 248), 16, (_local6 - 240), 16, (_local6 - 232), 8, (_local6 - 224), 16, (_local6 - 216), 16, (_local6 - 208), 16, (_local6 - 200), 8, (_local6 - 192), 16, (_local6 - 200), 8, (_local6 - 208), 16, (_local6 - 216), 16, (_local6 - 224), 8, (_local6 - 232), 16, (_local6 - 240), 8, (_local6 - 248), 16, (_local6 - 0x0100), 16, (_local6 - 264), 8, (_local6 - 272), 16, (_local6 - 280), 8, (_local6 - 288), 8, (_local6 - 280), 8, (_local6 - 272), 16, (_local6 - 264), 8, (_local6 - 0x0100), 16, (_local6 - 248), 16, (_local6 - 240), 16, (_local6 - 232), 16, (_local6 - 224), 16, (_local6 - 216), 8, (_local6 - 208), 16, (_local6 - 200), 16, (_local6 - 192), 16, (_local6 - 184), 24, (_local6 - 176), 16, (_local6 - 168), 16, (_local6 - 160), 24, (_local6 - 152), 16, (_local6 - 144), 16, (_local6 - 136), 16, (_local6 - 128), 24, (_local6 - 136), 16, (_local6 - 144), 16, (_local6 - 152), 16, (_local6 - 160), 8, (_local6 - 168), 16, (_local6 - 176), 16, (_local6 - 184), 16, (_local6 - 192), 24, (_local6 - 200), 16, (_local6 - 208), 16, (_local6 - 216), 8, (_local6 - 224), 16])); } } }//package game.level
Section 120
//LevelScales (game.level.LevelScales) package game.level { import flash.geom.*; import game.bodies.*; import game.terrain.*; import game.scripting.*; import game.graphics.*; public class LevelScales extends Level { override public function setup():void{ super.setup(); name = "Carry that Weight"; width = 952; height = 488; blocks.add(CBlock.fromCoords(-8, 0, 0, height)); blocks.add(CBlock.fromCoords(width, 0, (width + 8), height)); this.events.push(new AwardAchievementEvent(1, 92)); var _local1:int; var _local2:int = (_local1 + 112); var _local3:int = (_local2 + 80); var _local4:int = (_local3 + 80); var _local5:int = (_local4 + 64); var _local6:int = (height - 48); var _local7:int = (_local6 - 80); var _local8:int = (_local7 - 96); blocks.addFrom(CBlock.fromTop(_local1, height, [_local6, 112, _local7, 80, _local8, 80])); var _local9:MovingBlock = new MovingBlock((_local1 + 80), (_local7 - 8), (_local1 + 80), (_local6 - 4), 24, 8, true, CBlock.BridgeTerrainImage); _local9.start_moving = false; _local9.start_bouncing = true; blocks.add(_local9); background_bodies.add(new Scale((_local1 + 56), _local6, new Activator(null, _local9))); background_bodies.add(new Sign(Sign.WeightSignImage, (_local1 + 36), (_local6 - Sign.h), "Leave enough weight on a scale to activate it.")); bodies.add(new CStone((_local1 + 82), (_local6 - 4))); bodies.add(new CStone((_local1 + 90), (_local6 - 4))); var _local10:MovingBlock = new MovingBlock((_local2 + 48), (_local8 - 8), (_local1 + 160), (_local7 - 4), 24, 8, true, CBlock.BridgeTerrainImage); _local10.start_bouncing = true; blocks.add(_local10); background_bodies.add(new Scale((_local2 + 24), _local7, new Activator(null, _local10))); bodies.add(new CStone((_local3 + 11), (_local8 - 4))); bodies.add(new CStone((_local3 + 23), (_local8 - 4))); background_bodies.add(new Sign(Sign.FallWarningSignImage, (_local3 + 52), (_local8 - Sign.h), "DANGER: Path below. Continue at own risk.")); blocks.add(CBlock.fromCoords(_local4, _local6, _local5, height)); background_bodies.add(new CCamera((_local4 + 32), _local6)); var _local11:int = (_local5 + 16); var _local12:int = (_local11 + 96); var _local13:int = (_local12 + 80); var _local14:int = (_local7 - 56); blocks.addFrom(CBlock.fromTop(_local11, height, [_local6, 96, _local7, 80, _local14, 64])); var _local15:MovingBlock = new MovingBlock((_local12 - 32), (_local7 - 8), (_local12 - 32), (_local6 - 4), 24, 8, true, CBlock.BridgeTerrainImage); _local15.start_bouncing = true; blocks.add(_local15); background_bodies.add(new BlueberryBush((_local11 + 4), _local6)); background_bodies.add(new BlueberryBush((_local11 + 24), _local6)); background_bodies.add(new Scale((_local11 + 40), _local6, new Activator(null, _local15))); var _local16:MovingBlock = new MovingBlock((_local13 - 32), (_local14 - 8), (_local13 - 32), (_local7 - 4), 24, 8, true, CBlock.BridgeTerrainImage); _local16.start_bouncing = true; blocks.add(_local16); background_bodies.add(new Scale((_local12 + 28), _local7, new Activator(null, _local16))); background_bodies.add(new CCamera((_local13 + 12), _local14)); bodies.add(new CStone((_local13 + 30), (_local14 - 4))); bodies.add(new CStone((_local13 + 42), (_local14 - 4))); var _local17:int = (_local13 + 64); var _local18:int = (_local17 + 96); var _local19:int = (_local18 + 8); var _local20:int = (_local19 + 16); var _local21:int = (_local20 + 144); var _local22:int = (_local14 - 80); var _local23:int = (_local22 - 160); blocks.add(new CBlock(_local18, _local22, 24, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock((_local18 - 48), _local22, 32, 8, true, CBlock.BridgeTerrainImage)); blocks.addFrom(CBlock.fromTop(_local18, height, [_local7, 8, (_local7 + 16), 16, _local22, 144])); var _local24:MovingBlock = new MovingBlock((_local17 + 8), (_local22 - 8), (_local17 + 8), (_local14 + 8), 24, 8, true, CBlock.BridgeTerrainImage); _local24.start_bouncing = true; blocks.add(_local24); background_bodies.add(new Scale(_local19, (_local7 + 16), new Activator(null, _local24))); blocks.add(new CBlock((_local21 - 24), _local23, 24, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock((_local21 - 24), (_local23 + 40), 24, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock((_local21 - 24), (_local23 + 80), 24, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock((_local21 - 24), (_local23 + 120), 24, 8, true, CBlock.BridgeTerrainImage)); mid_bodies.add(new DeadTree((_local21 - 112), _local22, 6, "tree2")); var _local25:MovingBlock = new MovingBlock((_local21 - 56), (_local22 - 32), (_local21 - 56), (_local23 - 8), 24, 8, true, CBlock.BridgeTerrainImage, 15); _local25.start_bouncing = true; blocks.add(_local25); blocks.add(CBlock.fromCoords(_local21, _local23, width, height)); background_bodies.add(new Scale((_local20 + 16), _local22, new Activator(null, _local25))); background_bodies.add(new BlueberryBush((_local20 + 76), _local22, 3)); background_blocks.addFrom(BackgroundBlock.fromTop((_local1 + 16), height, [(_local6 - 8), 8, (_local6 - 16), 8, (_local6 - 32), 8, (_local6 - 40), 8, (_local6 - 48), 8, (_local6 - 56), 8, (_local6 - 64), 8, (_local6 - 80), 8, (_local6 - 88), 8, (_local6 - 96), 8, (_local6 - 104), 8, (_local6 - 112), 8, (_local6 - 120), 8, (_local6 - 136), 8, (_local6 - 144), 8, (_local6 - 152), 8, (_local6 - 160), 8, (_local6 - 168), 8, (_local6 - 176), 16, (_local6 - 184), 8, (_local6 - 192), 8, (_local6 - 200), 8, (_local6 - 208), 16, (_local6 - 216), 8, (_local6 - 224), 8, (_local6 - 216), 16, (_local6 - 208), 8, (_local6 - 200), 8, (_local6 - 192), 16, (_local6 - 184), 8, (_local6 - 176), 8, (_local6 - 168), 8, (_local6 - 160), 16, (_local6 - 152), 16, (_local6 - 144), 8, (_local6 - 136), 16, (_local6 - 128), 16, (_local6 - 120), 24, (_local6 - 128), 8, (_local6 - 136), 16, (_local6 - 144), 16, (_local6 - 152), 8, (_local6 - 160), 16, (_local6 - 168), 8, (_local6 - 176), 16, (_local6 - 184), 16, (_local6 - 176), 24, (_local6 - 168), 16, (_local6 - 160), 16, (_local6 - 152), 8, (_local6 - 144), 16, (_local6 - 152), 16, (_local6 - 160), 8, (_local6 - 168), 16, (_local6 - 176), 8, (_local6 - 184), 8, (_local6 - 192), 8, (_local6 - 200), 16, (_local6 - 208), 8, (_local6 - 216), 8, (_local6 - 224), 8, (_local6 - 232), 8, (_local6 - 248), 8, (_local6 - 0x0100), 8, (_local6 - 264), 8, (_local6 - 272), 8, (_local6 - 280), 8, (_local6 - 296), 8, (_local6 - 304), 8, (_local6 - 312), 8, (_local6 - 320), 8, (_local6 - 328), 8, (_local6 - 336), 8, (_local6 - 344), 8, (_local6 - 352), 8, (_local6 - 360), 8, (_local6 - 376), 8, (_local6 - 384), 8, (_local6 - 392), 8, (_local6 - 400), 8, (_local6 - 408), 8, (_local6 - 416), 16, (_local6 - 424), 8, (_local6 - 432), 16, (_local6 - 424), 16, (_local6 - 416), 16, (_local6 - 408), 8, (_local6 - 416), 8, (_local6 - 424), 8, (_local6 - 432), 8])); addStars(_local1, 0, _local5, _local6); addStars(_local5, 0, width, _local14); var _local26:EndSign = new EndSign(EndSign.EndRightSignImage, (width - 24), (_local23 - Sign.h)); background_bodies.add(_local26); player_start = new Point(4, (_local6 - 12)); corpse_start = new Point(32, 233); } } }//package game.level
Section 121
//LevelThrowCorpse (game.level.LevelThrowCorpse) package game.level { import flash.geom.*; import game.bodies.*; import game.terrain.*; import game.graphics.*; public class LevelThrowCorpse extends Level { override public function setup():void{ super.setup(); name = "Leading the Way"; width = 784; height = 544; blocks.add(CBlock.fromCoords(-8, 0, 0, height)); blocks.add(CBlock.fromCoords(width, 0, (width + 8), height)); var _local1:int; var _local2:int = (height - 48); var _local3:int = (_local2 - 24); var _local4:int = (_local3 - 24); var _local5:int = (_local4 - 24); blocks.add(new CBlock((_local1 + 80), _local3, 16, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock((_local1 + 96), _local4, 16, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock((_local1 + 112), _local5, 16, 8, true, CBlock.BridgeTerrainImage)); blocks.addFrom(CBlock.fromTop(_local1, height, [_local2, 96, _local3, 16, _local4, 16, _local5, 16])); mid_bodies.add(new DeadTree((_local1 + 16), _local2, 2)); var _local6:int = (_local1 + 160); var _local7:int = (_local5 - 32); var _local8:int = (_local7 - 32); var _local9:int = (_local8 - 32); blocks.add(new CBlock(_local6, _local5, 32, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock((_local6 + 16), _local7, 16, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock((_local6 + 32), _local8, 16, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock((_local6 + 48), _local9, 16, 8, true, CBlock.BridgeTerrainImage)); blocks.addFrom(CBlock.fromTop((_local6 + 32), height, [_local7, 16, _local8, 16, _local9, 48])); var _local10:Number = _local7; var _local11:int = (_local6 + 160); var _local12:int = (_local10 - 40); var _local13:int = (_local12 - 40); var _local14:int = (_local13 - 40); var _local15:int = (_local14 - 40); var _local16:int = (_local15 - 8); blocks.add(new CBlock(_local11, _local10, 16, 8, true, CBlock.BridgeTerrainImage)); background_bodies.add(new CCamera((_local11 + 4), _local10)); blocks.add(new CBlock((_local11 + 64), _local12, 16, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock((_local11 + 88), _local13, 16, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock((_local11 + 112), _local14, 16, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock((_local11 + 136), _local15, 16, 8, true, CBlock.BridgeTerrainImage)); blocks.addFrom(CBlock.fromTop((_local11 + 16), height, [_local10, 64, _local12, 24, _local13, 24, _local14, 24, _local15, 24])); mid_bodies.add(new DeadTree((_local11 + 8), _local10, 3)); var _local17:MovingBlock = new MovingBlock((_local11 + 16), _local16, (_local11 + 16), (_local10 - 32), 24, 8, true, CBlock.BridgeTerrainImage); _local17.start_bouncing = false; blocks.add(_local17); blocks.add(new CBlock((_local11 + 56), _local16, 24, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock((_local11 + 96), _local16, 24, 8, true, CBlock.BridgeTerrainImage)); background_bodies.add(new ActivateSwitch((_local11 + 64), (_local16 - ActivateSwitch.h), new Activator(_local17))); var _local18:int = (_local11 + 224); var _local19:int = (_local14 + 8); var _local20:int = (_local19 - 40); var _local21:int = (_local20 - 40); var _local22:int = (_local21 - 40); var _local23:int = (_local22 - 40); var _local24:int = (_local23 - 8); blocks.add(new CBlock(_local18, _local19, 16, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock((_local18 + 64), _local20, 16, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock((_local18 + 88), _local21, 16, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock((_local18 + 112), _local22, 16, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock((_local18 + 136), _local23, 16, 8, true, CBlock.BridgeTerrainImage)); blocks.addFrom(CBlock.fromTop((_local18 + 16), height, [_local19, 64, _local20, 24, _local21, 24, _local22, 24, _local23, 88])); mid_bodies.add(new DeadTree((_local18 + 8), _local19, 3)); var _local25:MovingBlock = new MovingBlock((_local18 + 16), (_local24 - 4), (_local18 + 16), (_local19 - 28), 24, 8, true, CBlock.BridgeTerrainImage); blocks.add(_local25); blocks.add(new CBlock((_local18 + 56), _local24, 24, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock((_local18 + 96), _local24, 24, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new KnockableSwitch((_local18 + 64), (_local24 - 40), new Activator(null, _local25))); bodies.add(new CStone((_local18 + 104), (_local24 - 4))); background_blocks.addFrom(BackgroundBlock.fromTop((_local1 + 32), height, [(_local2 - 8), 16, (_local2 - 16), 8, (_local2 - 32), 8, (_local2 - 40), 8, (_local2 - 48), 8, (_local2 - 56), 16, (_local2 - 64), 8, (_local2 - 72), 16, (_local2 - 80), 8, (_local2 - 88), 8, (_local2 - 96), 16, (_local2 - 104), 8, (_local2 - 112), 8, (_local2 - 120), 8, (_local2 - 128), 16, (_local2 - 136), 8, (_local2 - 144), 8, (_local2 - 160), 8, (_local2 - 176), 8, (_local2 - 184), 8, (_local2 - 192), 8, (_local2 - 200), 8, (_local2 - 208), 16, (_local2 - 200), 8, (_local2 - 192), 16, (_local2 - 184), 8, (_local2 - 176), 8, (_local2 - 168), 16, (_local2 - 160), 8, (_local2 - 152), 16, (_local2 - 160), 8, (_local2 - 168), 8, (_local2 - 176), 8, (_local2 - 192), 8, (_local2 - 200), 8, (_local2 - 208), 8, (_local2 - 216), 16, (_local2 - 224), 8, (_local2 - 232), 8, (_local2 - 240), 8, (_local2 - 0x0100), 8, (_local2 - 264), 8, (_local2 - 272), 8, (_local2 - 280), 8, (_local2 - 288), 16, (_local2 - 296), 8, (_local2 - 288), 8, (_local2 - 280), 16, (_local2 - 272), 8, (_local2 - 264), 8, (_local2 - 0x0100), 16, (_local2 - 248), 8, (_local2 - 240), 16, (_local2 - 248), 8, (_local2 - 0x0100), 8, (_local2 - 264), 8, (_local2 - 272), 8, (_local2 - 280), 16, (_local2 - 288), 8, (_local2 - 296), 8, (_local2 - 304), 8, (_local2 - 320), 8, (_local2 - 328), 8, (_local2 - 336), 8, (_local2 - 344), 8, (_local2 - 360), 8, (_local2 - 368), 8, (_local2 - 376), 8, (_local2 - 392), 8, (_local2 - 400), 8, (_local2 - 408), 8, (_local2 - 416), 16, (_local2 - 424), 8, (_local2 - 432), 8, (_local2 - 440), 8, (_local2 - 448), 8, (_local2 - 440), 8, (_local2 - 432), 8])); addStars(_local1, 0, _local6, _local2); addStars(_local6, 0, _local11, _local7); addStars(_local11, 0, _local18, _local12); addStars(_local18, 0, width, _local19); var _local26:EndSign = new EndSign(EndSign.EndRightSignImage, (width - 24), (_local23 - Sign.h)); background_bodies.add(_local26); player_start = new Point(4, (_local2 - 12)); corpse_start = new Point(32, 233); } } }//package game.level
Section 122
//LevelUseCorpse (game.level.LevelUseCorpse) package game.level { import flash.geom.*; import game.bodies.*; import game.terrain.*; import game.graphics.*; public class LevelUseCorpse extends Level { override public function setup():void{ var _local1:int; var _local4:int; super.setup(); name = "Pulling Weight"; width = 1040; height = 488; blocks.add(CBlock.fromCoords(-8, 0, 0, height)); blocks.add(CBlock.fromCoords(width, 0, (width + 8), height)); _local1 = 0; var _local2:int = (_local1 + 80); var _local3:int = (_local2 + 112); _local4 = (height - 128); blocks.add(CBlock.fromCoords(_local1, _local4, _local2, height)); var _local5:MovingBlock = new MovingBlock(_local2, (_local4 + 4), (_local3 - 24), (_local4 + 4)); _local5.start_bouncing = true; blocks.add(_local5); blocks.addFrom(FragileBlock.getBatch(_local2, (_local4 + 12), _local3, (_local4 + 20))); blocks.add(new KnockableSwitch((_local2 - 16), (_local4 - 40), new Activator(_local5), false)); var _local6:int = _local3; var _local7:int = (_local6 + 64); var _local8:int = (_local7 + 128); var _local9:int = (_local7 + 60); var _local10:int = (_local8 + 96); var _local11:int = _local4; var _local12:int = (_local11 - 32); var _local13:int = (_local12 - 40); blocks.add(CBlock.fromCoords(_local6, _local11, _local10, height)); background_bodies.add(new CCamera((_local10 - 24), _local11)); blocks.add(CBlock.fromCoords(_local7, (_local12 - 8), _local8, _local12)); blocks.add(CBlock.fromCoords((_local7 + 16), (_local12 - 16), (_local8 - 16), (_local12 - 8))); blocks.add(CBlock.fromCoords((_local7 + 32), (_local12 - 24), (_local8 - 32), (_local12 - 16))); blocks.add(CBlock.fromCoords((_local7 + 48), (_local12 - 32), (_local8 - 48), (_local12 - 24))); blocks.add(new CHive(_local9, _local12)); var _local14:int = _local10; var _local15:int = (_local14 + 80); var _local16:int = (_local15 + 32); var _local17:int = _local11; var _local18:int = (_local17 + 64); var _local19:int = (_local17 - 64); blocks.add(CBlock.fromCoords(_local15, _local18, _local16, height)); var _local20:MovingBlock = new MovingBlock(_local14, (_local17 + 4), _local14, (_local19 - 8)); _local20.start_bouncing = true; blocks.add(_local20); background_bodies.add(new Scale((_local15 + 8), _local18, new Activator(null, _local20))); mid_bodies.add(new DeadTree((_local15 - 16), _local18, 6, "tree2")); blocks.add(new SwitchPlatform((_local15 + 0), _local19, (_local15 + 0), (_local18 - 12))); var _local21:int = _local16; var _local22:int = (_local21 + 48); var _local23:int = (_local22 + 144); var _local24:int = (_local23 + 80); var _local25:int = _local19; var _local26:int = (_local25 + 4); var _local27:int = (_local25 - 40); var _local28:int = (_local27 - 40); blocks.add(CBlock.fromCoords(_local21, _local25, _local22, height)); var _local29:MovingBlock = new MovingBlock(_local22, _local26, (_local23 - 24), _local26); _local29.start_bouncing = false; blocks.add(_local29); blocks.add(CBlock.fromCoords(_local23, _local25, _local24, height)); background_bodies.add(new ActivateSwitch((_local23 + 8), (_local25 - ActivateSwitch.h), new Activator(_local29))); var _local30:MovingBlock = new MovingBlock((_local23 - 24), _local28, _local22, _local28); _local30.start_bouncing = true; blocks.add(_local30); blocks.add(new KnockableSwitch((_local22 - 16), _local27, new Activator(_local30), false)); mid_bodies.add(new DeadTree((_local21 - 8), _local25, 3)); background_bodies.add(new CCamera((_local23 + 24), _local25)); var _local31:int = _local24; var _local32:int = (_local31 + 80); var _local33:int = _local25; var _local34:int = (_local33 - 128); blocks.add(CBlock.fromCoords(_local31, _local34, _local32, height)); var _local35:MovingBlock = new MovingBlock((_local31 - 24), (_local33 - 4), (_local31 - 24), (_local34 - 4)); _local35.start_bouncing = true; blocks.add(_local35); blocks.add(new KnockableSwitch((_local31 - 48), (_local33 - 72), new Activator(_local35))); var _local36:int = _local32; var _local37:int = (_local36 + 96); var _local38:int = _local34; var _local39:int = (_local38 - 96); blocks.add(CBlock.fromCoords(_local36, _local39, _local37, height)); var _local40:MovingBlock = new MovingBlock((_local36 - 24), (_local38 - 8), (_local36 - 24), (_local39 - 8)); _local40.start_bouncing = true; blocks.add(_local40); background_bodies.add(new Scale((_local36 - 44), _local38, new Activator(null, _local40))); var _local41:EndSign = new EndSign(EndSign.EndRightSignImage, (width - 24), (_local39 - Sign.h)); background_bodies.add(_local41); player_start = new Point((_local1 + 4), (_local4 - 12)); corpse_start = new Point(32, 233); addStars(_local1, (_local4 - 208), _local21, _local4); addStars(_local21, 0, width, _local33); background_blocks.addFrom(BackgroundBlock.fromTop(_local1, height, [(_local4 - 48), 16, (_local4 - 56), 16, (_local4 - 48), 16, (_local4 - 40), 24, (_local4 - 32), 16, (_local4 - 24), 16, (_local4 - 16), 24, (_local4 - 8), 16, (_local4 - 16), 16, (_local4 - 24), 16, (_local4 - 32), 8, (_local4 - 40), 16, (_local4 - 48), 8, (_local4 - 56), 16, (_local4 - 64), 16, (_local4 - 72), 8, (_local4 - 64), 16, (_local4 - 56), 16, (_local4 - 48), 88, (_local4 - 40), 8, (_local4 - 48), 16, (_local4 - 56), 16, (_local4 - 64), 16, (_local4 - 72), 24, (_local4 - 80), 16, (_local4 - 88), 16, (_local4 - 96), 16, (_local4 - 104), 24, (_local4 - 96), 16, (_local4 - 88), 16, (_local4 - 96), 8, (_local4 - 104), 16, (_local4 - 112), 8, (_local4 - 120), 8, (_local4 - 128), 16, (_local4 - 136), 8, (_local4 - 144), 16, (_local4 - 152), 16, (_local4 - 160), 16, (_local4 - 168), 8, (_local4 - 176), 16, (_local4 - 184), 8, (_local4 - 192), 8, (_local4 - 200), 8, (_local4 - 208), 16, (_local4 - 216), 8, (_local4 - 224), 16, (_local4 - 232), 8, (_local4 - 240), 8, (_local4 - 248), 8, (_local4 - 0x0100), 8, (_local4 - 264), 16, (_local4 - 272), 8, (_local4 - 280), 8, (_local4 - 288), 16, (_local4 - 280), 8, (_local4 - 272), 8, (_local4 - 264), 8, (_local4 - 0x0100), 16, (_local4 - 248), 8, (_local4 - 0x0100), 8, (_local4 - 264), 16, (_local4 - 272), 8, (_local4 - 280), 16, (_local4 - 288), 8, (_local4 - 296), 16, (_local4 - 304), 8, (_local4 - 312), 16, (_local4 - 320), 8, (_local4 - 328), 8, (_local4 - 336), 16, (_local4 - 328), 8, (_local4 - 320), 8, (_local4 - 312), 16])); } } }//package game.level
Section 123
//LevelVultures (game.level.LevelVultures) package game.level { import flash.geom.*; import game.bodies.*; import game.terrain.*; import game.npcs.*; import game.graphics.*; public class LevelVultures extends Level { override public function setup():void{ super.setup(); name = "New Friends"; width = 1520; height = 488; blocks.add(CBlock.fromCoords(-8, 0, 0, height)); blocks.add(CBlock.fromCoords(width, 0, (width + 8), height)); var _local1:int; var _local2:int = (_local1 + 64); var _local3:int = (_local2 + 128); var _local4:int = (_local3 + 96); var _local5:int = (height - 48); var _local6:int = (_local5 - 96); blocks.add(CBlock.fromCoords(_local1, _local5, _local4, height)); npcs.add(new Vulture(_local3, _local6, _local2, _local3, _local6)); background_bodies.add(new Sign(Sign.VultureSignImage, _local2, (_local5 - Sign.h), "WARNING: Vultures are voracious.")); var _local7:int = _local4; var _local8:int = (_local7 + 96); var _local9:int = (_local8 + 64); var _local10:int = _local5; var _local11:int = (_local10 - 96); var _local12:int = (_local10 + 4); blocks.addFrom(FragileBlock.getBatch(_local7, (_local10 + 12), _local8, (_local10 + 16))); var _local13:PercentageBlock = new PercentageBlock(_local7, _local12, (_local8 - 24), _local12); blocks.add(_local13); blocks.add(CBlock.fromCoords(_local8, _local10, _local9, height)); background_bodies.add(new ContinuousSwitch((_local8 + 8), (_local10 - ActivateSwitch.h), new Activator(null, null, _local13), 7)); npcs.add(new Vulture(_local7, _local11, _local7, _local8, _local11)); background_bodies.add(new CCamera((_local8 + 36), _local10)); var _local14:int = _local9; var _local15:int = (_local14 + 160); var _local16:int = (_local15 + 192); var _local17:int = (_local14 + 80); var _local18:int = _local10; var _local19:int = (_local18 - 96); var _local20:int = (_local18 + 4); blocks.addFrom(FragileBlock.getBatch(_local14, (_local18 + 12), _local15, (_local18 + 20))); blocks.add(CBlock.fromCoords(_local15, _local18, _local16, height)); var _local21:PercentageBlock = new PercentageBlock(_local14, _local20, (_local15 - 24), _local20); blocks.add(_local21); background_bodies.add(new ContinuousSwitch((_local15 + 8), (_local18 - ActivateSwitch.h), new Activator(null, null, _local21), 7.5)); npcs.add(new Vulture(_local17, _local19, _local14, _local17, _local19)); bodies.add(new CStone((_local15 + 22), (_local18 - 4))); var _local22:int = (_local15 + 64); var _local23:int = (_local22 + 128); var _local24:int = (_local23 + 240); var _local25:int = _local18; var _local26:int = (_local25 - 96); var _local27:int = (_local26 - 24); blocks.add(new CBlock((_local23 - 16), (_local25 - 40), 16, 8, true, CBlock.BridgeTerrainImage)); blocks.add(new CBlock((_local23 - 16), (_local25 - 80), 16, 8, true, CBlock.BridgeTerrainImage)); blocks.add(CBlock.fromCoords((_local22 + 32), _local27, _local23, (_local27 + 8), true, CBlock.BridgeTerrainImage)); blocks.add(CBlock.fromCoords(_local23, _local27, _local24, height)); var _local28:PercentageBlock = new PercentageBlock(_local22, (_local25 - 8), _local22, _local27); blocks.add(_local28); background_bodies.add(new ContinuousSwitch((_local23 + 8), (_local27 - ActivateSwitch.h), new Activator(null, null, _local28), 7.5)); background_bodies.add(new CCamera((_local23 + 36), _local27)); npcs.add(new Vulture(_local22, _local26, _local22, (_local22 + 64), _local26)); var _local29:int = (_local23 + 80); var _local30:int = _local24; var _local31:int = (_local30 + 160); var _local32:int = _local27; var _local33:int = (_local32 - 96); var _local34:int = (_local33 - 24); blocks.add(CBlock.fromCoords(_local30, _local34, _local31, height)); var _local35:MovingBlock = new MovingBlock((_local30 - 32), (_local32 - 8), (_local30 - 32), (_local34 - 8)); _local35.start_bouncing = true; _local35.start_moving = false; blocks.add(_local35); background_bodies.add(new Scale((_local30 - 64), _local32, new Activator(null, _local35))); npcs.add(new Vulture(_local29, _local33, _local29, (_local30 - 48), _local33)); var _local36:int = _local31; var _local37:int = _local36; var _local38:int = (_local37 + 40); var _local39:int = (_local37 + 240); var _local40:int = _local34; var _local41:int = (_local40 + 96); var _local42:int = (_local40 - 32); var _local43:int = (_local42 - 32); var _local44:int = (_local40 + 4); var _local45:int = (_local44 + 8); var _local46:int = (_local34 - 96); npcs.add(new Vulture((_local30 + 16), _local46, (_local30 + 80), (_local30 + 16), _local46)); blocks.add(new CBlock(_local38, (_local42 - 8), 160, 8)); blocks.add(new CBlock((_local38 + 16), (_local42 - 16), 128, 8)); blocks.add(new CBlock((_local38 + 32), (_local42 - 24), 96, 8)); blocks.add(new CBlock((_local38 + 48), _local43, 64, 8)); var _local47:MovingBlock = new MovingBlock(_local37, _local44, (_local38 + 68), _local44, 24, 8, true, null, 25); _local47.start_bouncing = false; blocks.add(_local47); background_bodies.add(new ActivateSwitch((_local37 - 12), (_local40 - ActivateSwitch.h), new Activator(_local47))); var _local48:PercentageBlock = new PercentageBlock(_local37, (_local44 + 8), (_local39 - 24), (_local44 + 8), 24, 8, true, CBlock.BridgeTerrainImage); blocks.add(_local48); background_bodies.add(new ContinuousSwitch((_local38 + 76), (_local43 - ActivateSwitch.h), new Activator(null, null, _local48), 9)); bodies.add(new CStone((_local37 + 10), (_local44 - 4))); blocks.add(CBlock.fromCoords((_local38 + 32), _local41, ((_local38 + 32) + 32), height)); blocks.add(CBlock.fromCoords(((_local39 - 32) - 64), _local41, (_local39 - 64), height)); mid_bodies.add(new DeadTree((_local38 + 16), _local41, 3)); mid_bodies.add(new DeadTree((((_local39 - 32) - 48) - 32), _local41, 3)); blocks.add(new CHive((_local38 + 48), _local42)); blocks.add(new CHive((_local38 + 76), _local42)); blocks.add(new CHive((_local38 + 104), _local42)); blocks.add(new CBlock((_local39 - 16), _local44, 16, 8, true, CBlock.BridgeTerrainImage)); blocks.add(CBlock.fromCoords(_local39, _local40, (_local39 + 80), height)); background_blocks.addFrom(BackgroundBlock.fromTop(_local1, height, [(_local5 - 40), 16, (_local5 - 32), 16, (_local5 - 24), 24, (_local5 - 16), 16, (_local5 - 8), 24, (_local5 - 16), 24, (_local5 - 24), 16, (_local5 - 32), 16, (_local5 - 40), 16, (_local5 - 48), 24, (_local5 - 56), 16, (_local5 - 64), 16, (_local5 - 72), 16, (_local5 - 64), 24, (_local5 - 56), 16, (_local5 - 48), 16, (_local5 - 40), 16, (_local5 - 48), 24, (_local5 - 56), 16, (_local5 - 64), 16, (_local5 - 72), 24, (_local5 - 80), 16, (_local5 - 88), 16, (_local5 - 96), 16, (_local5 - 104), 24, (_local5 - 96), 16, (_local5 - 88), 24, (_local5 - 80), 16, (_local5 - 72), 16, (_local5 - 64), 24, (_local5 - 56), 16, (_local5 - 48), 16, (_local5 - 40), 24, (_local5 - 48), 16, (_local5 - 56), 24, (_local5 - 64), 24, (_local5 - 72), 16, (_local5 - 80), 16, (_local5 - 88), 24, (_local5 - 96), 16, (_local5 - 104), 24, (_local5 - 112), 16, (_local5 - 120), 24, (_local5 - 128), 16, (_local5 - 136), 8, (_local5 - 144), 8, (_local5 - 152), 16, (_local5 - 160), 16, (_local5 - 168), 16, (_local5 - 176), 24, (_local5 - 184), 16, (_local5 - 192), 8, (_local5 - 200), 16, (_local5 - 208), 16, (_local5 - 216), 16, (_local5 - 224), 8, (_local5 - 232), 16, (_local5 - 240), 16, (_local5 - 248), 16, (_local5 - 0x0100), 8, (_local5 - 264), 16, (_local5 - 272), 8, (_local5 - 280), 8, (_local5 - 288), 16, (_local5 - 296), 8, (_local5 - 304), 8, (_local5 - 312), 8, (_local5 - 320), 16, (_local5 - 328), 8, (_local5 - 320), 16, (_local5 - 312), 8, (_local5 - 304), 16, (_local5 - 296), 8, (_local5 - 288), 8, (_local5 - 280), 16, (_local5 - 272), 16, (_local5 - 280), 40, (_local5 - 288), 16, (_local5 - 296), 16, (_local5 - 304), 16, (_local5 - 312), 16, (_local5 - 320), 16, (_local5 - 328), 8, (_local5 - 336), 16, (_local5 - 344), 8, (_local5 - 352), 8, (_local5 - 360), 16, (_local5 - 352), 16, (_local5 - 344), 16, (_local5 - 336), 8, (_local5 - 328), 16, (_local5 - 320), 8, (_local5 - 328), 16, (_local5 - 336), 8, (_local5 - 344), 16])); var _local49:Number = (144 * 144); addStars(_local1, (_local6 - 112), _local22, _local5, _local49); addStars(_local22, _local34, _local31, _local32, _local49); addStars(_local29, (_local46 - 112), width, _local40, _local49); var _local50:EndSign = new EndSign(EndSign.EndRightSignImage, (width - 24), (_local40 - Sign.h)); background_bodies.add(_local50); player_start = new Point((_local1 + 4), (_local5 - 12)); corpse_start = new Point(32, 233); } } }//package game.level
Section 124
//TutorialLevel (game.level.TutorialLevel) package game.level { import flash.geom.*; import game.bodies.*; public class TutorialLevel extends IntroLevelTerrain { public function TutorialLevel(){ show_start_mini_map = false; setupTerrain(); player_start = new Point(195, 188); corpse_start = new Point(368, 728); start_left = true; this.background_bodies.add(new EndSign(EndSign.EndRightSignImage, (width - 24), 724)); initialize(); fade_in = false; name = "Rescue"; } } }//package game.level
Section 125
//CActor (game.npcs.CActor) package game.npcs { import org.flixel.*; import audio.*; public class CActor extends CCharacter { public var save_controllers:int; public var save_run_speed:int; public var run_speed:int;// = 80 protected var jump_velocity:Number;// = 200 public var save_max_run_speed:int; public var controllers:int;// = 0 public var max_run_speed:int;// = 80 public var save_jump_velocity:Number; protected static const gravity_acceleration:Number = 420; protected static const max_jump_velocity:Number = 200; public function CActor(_arg1:Class=null, _arg2:int=0, _arg3:int=0, _arg4:Boolean=false, _arg5:Boolean=false, _arg6:uint=0, _arg7:uint=0, _arg8:uint=0, _arg9:Boolean=false){ super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9); } public function move(_arg1:Boolean, _arg2:Number=-1):void{ if (_arg2 == -1){ _arg2 = drag.x; }; facing = _arg1; if (_arg1 == FlxSprite.LEFT){ acceleration.x = -(_arg2); } else { if (_arg1 == FlxSprite.RIGHT){ acceleration.x = _arg2; }; }; } override public function initialize():void{ super.initialize(); collides_blocks = true; drag.x = (run_speed * 8); acceleration.y = gravity_acceleration; maxVelocity.x = run_speed; maxVelocity.y = jump_velocity; controllers = 0; land_sound = "christie_land"; } override public function update():void{ preupdate(); super.update(); } override public function loadState():void{ super.loadState(); max_run_speed = save_max_run_speed; run_speed = save_run_speed; jump_velocity = save_jump_velocity; controllers = save_controllers; } override public function saveState():void{ super.saveState(); save_max_run_speed = max_run_speed; save_run_speed = run_speed; save_jump_velocity = jump_velocity; save_controllers = controllers; } public function preupdate():void{ if (controllers == 0){ acceleration.x = 0; }; jump_velocity = max_jump_velocity; run_speed = max_run_speed; drag.x = (run_speed * 8); maxVelocity.x = run_speed; } public function jump():void{ velocity.y = -(jump_velocity); AudioEngine.PlaySound("jump1", AudioEngine.SFX_CHANNEL); } } }//package game.npcs
Section 126
//CCharacter (game.npcs.CCharacter) package game.npcs { import org.flixel.*; import flash.geom.*; import game.*; import framework.math.*; public class CCharacter extends CGeneralBody { public var starting_behavior_state:String;// = "bored" public var max_fly_acceleration:Number;// = 1000 public var sense_distance_squared:Number;// = 0 public var bounce_bodies:Boolean;// = false public var behavior_state:String;// = "bored" public var save_behavior_state:String; public var acted:Boolean;// = false public var bounce_force:Number;// = -1 public var sensed:Boolean;// = false public function CCharacter(_arg1:Class=null, _arg2:int=0, _arg3:int=0, _arg4:Boolean=false, _arg5:Boolean=false, _arg6:uint=0, _arg7:uint=0, _arg8:uint=0, _arg9:Boolean=false){ super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9); initialize(); } public function hitFromAbove(_arg1:FlxCore):void{ _arg1.y = (this.y - _arg1.height); _arg1.last.y = _arg1.y; } override public function collide(_arg1:FlxCore):void{ var _local2:CGeneralBody; var _local3:Array; if (bounce_bodies){ _local2 = (_arg1 as CGeneralBody); if (((!((_local2 == null))) && (!(_local2.collides_blocks)))){ return; }; if (!Geometry.overlapCheck(this, _arg1)){ return; }; if (((!((bounce_force == -1))) && ((_local2.getForce() < bounce_force)))){ return; }; _local3 = Geometry.getCollisionDirections(this, _arg1); if (((_local3[2]) && (_arg1.hitFloor(this)))){ hitFromAbove(_arg1); }; if (((((_local3[0]) || (_local3[1]))) && (_arg1.hitWall(this)))){ if (_local3[1]){ _arg1.x = (this.x + this.width); _arg1.last.x = _arg1.x; } else { if (_local3[0]){ _arg1.x = (this.x - _arg1.width); _arg1.last.x = _arg1.x; }; }; }; }; } override public function update():void{ super.update(); sensed = false; sense(); acted = false; act(); } override public function loadState():void{ super.loadState(); behavior_state = save_behavior_state; } override public function initialize():void{ super.initialize(); if (starting_behavior_state == "bored"){ startBored(); }; } public function act():void{ if (!acted){ if (behavior_state == "bored"){ actBored(); acted = true; }; }; if (!acted){ if (behavior_state == "fleeing"){ flee(); acted = true; }; }; } override public function saveState():void{ super.saveState(); save_behavior_state = behavior_state; } override public function kill(_arg1:Boolean=false):void{ super.kill(_arg1); Player.getGameState().removeNpc(this); } public function flyTowardsPoint(_arg1:Point):void{ var _local2:Number = Geometry.angleBetween(x, y, _arg1.x, _arg1.y); acceleration.x = (-(Math.cos(_local2)) * max_fly_acceleration); acceleration.y = (-(Math.sin(_local2)) * max_fly_acceleration); } public function startBored():void{ behavior_state = "bored"; } public function flee():void{ } public function actBored():void{ } public function sense():void{ } public function startFleeing():void{ behavior_state = "fleeing"; } public function canSense(_arg1:CGeneralBody, _arg2:Number=-1):Boolean{ if (_arg2 == -1){ _arg2 = sense_distance_squared; }; if (Geometry.distanceSquared(x, y, _arg1.x, _arg1.y) <= _arg2){ return (true); }; if (Geometry.distanceSquared(x, y, (_arg1.x + _arg1.width), _arg1.y) <= _arg2){ return (true); }; if (Geometry.distanceSquared(x, y, _arg1.x, (_arg1.y + _arg1.height)) <= _arg2){ return (true); }; if (Geometry.distanceSquared(x, y, (_arg1.x + _arg1.width), (_arg1.y + _arg1.height)) <= _arg2){ return (true); }; return (false); } } }//package game.npcs
Section 127
//LiveTeale (game.npcs.LiveTeale) package game.npcs { public class LiveTeale extends CActor { protected var LiveTealeImage:Class; public static var text_color:Number = 5728668; public function LiveTeale(_arg1:int=-1, _arg2:int=-1){ LiveTealeImage = LiveTeale_LiveTealeImage; super(LiveTealeImage, _arg1, _arg2, true, true, 6, 16); } override public function initialize():void{ super.initialize(); addAnimation("idle", [0]); addAnimation("running", [1, 2, 3, 0], 12); addAnimation("jumping", [4]); } override public function preupdate():void{ super.preupdate(); acceleration.y = gravity_acceleration; if (velocity.y != 0){ play("jumping"); } else { if (velocity.x != 0){ play("running"); } else { play("idle"); }; }; } } }//package game.npcs
Section 128
//LiveTeale_LiveTealeImage (game.npcs.LiveTeale_LiveTealeImage) package game.npcs { import mx.core.*; public class LiveTeale_LiveTealeImage extends BitmapAsset { } }//package game.npcs
Section 129
//Raven (game.npcs.Raven) package game.npcs { import org.flixel.*; import flash.geom.*; import game.bodies.*; import game.scripting.*; import game.*; import framework.math.*; public class Raven extends CCharacter { public var target_body:CBody;// = null public var timid_sense_distance_squared:Number;// = 625 public var save_eating_offset_x:Number; public var timid_duration:Number;// = 2.5 public var landing_acceleration:Number;// = 600 public var max_speed:Number;// = 35 public var save_eating_offset_y:Number; public var home_point:Point; public var landing_distance_squared:Number;// = 400 public var save_target_body:CBody; public var normal_acceleration:Number;// = 150 public var timid_time:Number;// = 0 public var save_timid_time:Number; public var eating_offset_x:Number;// = 0 public var target_point:Point; public var save_target_point:Point; public var timid_body_mass:Number;// = 1 public var eating_offset_y:Number;// = 0 public var timid_body_speed:Number;// = 120 public static var text_color:uint = 0xB1B1B1; public static var RavenImage:Class = Raven_RavenImage; public function Raven(_arg1:int=0, _arg2:int=0){ home_point = new Point(); target_point = new Point(); super(RavenImage, _arg1, _arg2, true, true, 6, 6); initialize(); } public function startEating():void{ behavior_state = "eating"; play("eating"); eating_offset_x = (x - target_body.x); eating_offset_y = (y - target_body.y); playSound(); Player.getGameState().addQueuedEvent(new DisplayTextEvent(3, "Caw! Caw!", text_color)); if ((((((target_body == Player.getGameState().corpse)) && (Player.isAlive()))) && (Player.getPlayer().controllable))){ SoundManager.play("hey"); }; } override public function initialize():void{ super.initialize(); home_point = new Point(start_x, start_y); target_point = home_point; target_body = null; timid_time = 0; sense_distance_squared = 5625; max_fly_acceleration = normal_acceleration; maxVelocity.x = max_speed; maxVelocity.y = max_speed; addAnimation("bored", [0]); addAnimation("flying", [1, 2], 8); addAnimation("eating", [0, 3], 2); play("bored"); } override public function act():void{ super.act(); if (!acted){ if (behavior_state == "chasing"){ chase(); acted = true; }; }; if (!acted){ if (behavior_state == "eating"){ eat(); acted = true; }; }; if (!acted){ if (behavior_state == "freak_out"){ freakOut(); acted = true; }; }; } override public function saveState():void{ super.saveState(); save_target_point = target_point.clone(); save_target_body = target_body; save_timid_time = timid_time; save_eating_offset_x = eating_offset_x; save_eating_offset_y = eating_offset_y; } override public function sense():void{ var _local1:CBody; var _local2:Player = Player.getGameState().getPlayer(); if ((((timid_time <= 0)) && ((((behavior_state == "bored")) || ((behavior_state == "fleeing")))))){ for each (_local1 in Player.getGameState().bodies) { if ((((((_local1 is CCorpse)) && (!(_local1.dead)))) && (canSense(_local1)))){ startChasing(_local1); break; }; }; }; if (!_local2.dead){ if (Geometry.distanceSquared(_local2.x, _local2.y, x, y) <= timid_sense_distance_squared){ getScared(); return; }; if (((!((target_body == null))) && ((Geometry.distanceSquared(_local2.x, _local2.y, target_body.x, target_body.y) <= timid_sense_distance_squared)))){ startFleeing(); return; }; }; for each (_local1 in Player.getGameState().bodies) { if ((((((_local1.mass >= timid_body_mass)) && ((_local1.getMagnitude() >= timid_body_speed)))) && (canSense(_local1, timid_sense_distance_squared)))){ getScared(); return; }; }; if (((!((target_body == null))) && (target_body.dead))){ startFleeing(); }; } override public function actBored():void{ super.actBored(); timid_time = (timid_time - FlxG.elapsed); } public function playSound(_arg1:String="raven_caw"):void{ SoundManager.play(_arg1, SoundManager.getDistanceMultiplier(x, y), SoundManager.getPan(x, y)); } override public function collide(_arg1:FlxCore):void{ super.collide(_arg1); } public function setChasingPoint():void{ if (target_body.width >= width){ target_point = new Point(Random.uniformRange(target_body.x, ((target_body.x + target_body.width) - width)), ((target_body.y + (target_body.height / 2)) - height)); } else { target_point = new Point(Random.uniformRange((target_body.x - width), ((target_body.x + target_body.width) - width)), ((target_body.y + target_body.height) - height)); }; } override public function update():void{ var _local1:CCorpse; if (velocity.x > 0){ facing = LEFT; } else { if (velocity.x < 0){ facing = RIGHT; } else { if (target_body != null){ if ((target_body.x + (target_body.width / 2)) < x){ facing = RIGHT; } else { facing = LEFT; }; } else { _local1 = Player.getGameState().getCorpse(); if (_local1){ if ((_local1.x + (_local1.width / 2)) < x){ facing = RIGHT; } else { facing = LEFT; }; }; }; }; }; super.update(); } public function setFreakOutTarget():void{ max_fly_acceleration = normal_acceleration; target_point = Random.pointInBox((home_point.x - 25), (home_point.y - 40), (home_point.x + 25), (home_point.y - 20)); } public function freakOut():void{ timid_time = (timid_time - FlxG.elapsed); if ((((target_point == null)) || (hasArrived()))){ setFreakOutTarget(); }; flyTowardsPoint(target_point); SoundManager.play("raven_flutter", getVolume(), getPan()); if (timid_time <= 0){ startFleeing(); }; } public function startFreakOut():void{ if (behavior_state != "freak_out"){ setFreakOutTarget(); behavior_state = "freak_out"; }; target_body = null; play("flying"); playSound(); } public function getScared():void{ timid_time = timid_duration; startFreakOut(); } override public function loadState():void{ super.loadState(); target_point = save_target_point.clone(); target_body = save_target_body; timid_time = save_timid_time; eating_offset_x = save_eating_offset_x; eating_offset_y = save_eating_offset_y; } public function eat():void{ x = (target_body.x + eating_offset_x); y = (target_body.y + eating_offset_y); target_body.hurt((100 * FlxG.elapsed)); playSound("raven_eat"); } override public function flee():void{ super.flee(); timid_time = (timid_time - FlxG.elapsed); if (hasArrived()){ startBored(); land(); } else { flyTowardsPoint(target_point); SoundManager.play("raven_flutter", getVolume(), getPan()); }; } public function land():void{ velocity.x = (velocity.y = 0); acceleration.x = (acceleration.y = 0); max_fly_acceleration = normal_acceleration; x = target_point.x; y = target_point.y; } public function chase():void{ setChasingPoint(); if (hasArrived()){ land(); startEating(); } else { flyTowardsPoint(target_point); SoundManager.play("raven_flutter", getVolume(), getPan()); }; } public function startChasing(_arg1:CBody):void{ behavior_state = "chasing"; target_body = _arg1; setChasingPoint(); play("flying"); } override public function startBored():void{ super.startBored(); play("bored"); } public function hasArrived():Boolean{ var _local1:Number = Geometry.distanceSquared(x, y, target_point.x, target_point.y); if (_local1 <= landing_distance_squared){ max_fly_acceleration = landing_acceleration; }; return ((_local1 <= (Geometry.zero_distance_squared + 2))); } override public function startFleeing():void{ super.startFleeing(); target_point = home_point; target_body = null; play("flying"); } } }//package game.npcs
Section 130
//Raven_RavenImage (game.npcs.Raven_RavenImage) package game.npcs { import mx.core.*; public class Raven_RavenImage extends BitmapAsset { } }//package game.npcs
Section 131
//Vulture (game.npcs.Vulture) package game.npcs { import org.flixel.*; import flash.geom.*; import game.bodies.*; import game.*; import audio.*; import framework.math.*; public class Vulture extends CCharacter { public var kill_time:Number;// = 0 public var target_body:CGeneralBody; public var timid_sense_distance_squared:Number;// = 625 public var chill_point1:Point; public var chill_point2:Point; public var save_eating_offset_x:Number; public var aggitated_acceleration:Number;// = 200 public var bored_animation_time:Number; public var save_bored_animation_time:Number; public var timid_duration:Number;// = 0.5 public var landing_acceleration:Number;// = 600 public var bored_animation:uint; public var aggitated_max_speed:Number;// = 40 public var timid_body:CGeneralBody;// = null public var landing_distance_squared:Number;// = 400 public var kill_force:Number;// = 200 public var save_kill_time:Number; public var normal_max_speed:Number;// = 30 public var save_target_body:CGeneralBody; public var normal_acceleration:Number;// = 150 public var timid_time:Number;// = 0 public var save_timid_time:Number; public var eating_offset_x:Number;// = 0 public var target_point:Point; public var save_target_point:Point; public var timid_body_mass:Number;// = 1 public var save_eating_offset_y:Number; public var eat_rate:Number;// = 1000 public var eating_offset_y:Number;// = 0 public var save_bored_animation:uint; public var timid_body_speed:Number;// = 120 public static var VultureImage:Class = Vulture_VultureImage; public function Vulture(_arg1:int=0, _arg2:int=0, _arg3:Number=0, _arg4:Number=0, _arg5:Number=0){ super(VultureImage, _arg1, _arg2, true, true, 10, 6); chill_point1 = new Point(_arg3, _arg5); chill_point2 = new Point(_arg4, _arg5); initialize(); } public function startChasing(_arg1:CBody):void{ behavior_state = "chasing"; target_body = _arg1; max_fly_acceleration = aggitated_acceleration; maxVelocity.x = aggitated_max_speed; maxVelocity.y = aggitated_max_speed; setChasingPoint(); } override public function update():void{ var _local1:CCorpse; if (velocity.x > 0){ facing = LEFT; } else { if (velocity.x < 0){ facing = RIGHT; } else { if (target_body != null){ if ((target_body.x + (target_body.width / 2)) < x){ facing = RIGHT; } else { facing = LEFT; }; } else { _local1 = Player.getGameState().getCorpse(); if (_local1){ if ((_local1.x + (_local1.width / 2)) < x){ facing = RIGHT; } else { facing = LEFT; }; }; }; }; }; kill_time = (kill_time - FlxG.elapsed); bored_animation_time = (bored_animation_time - FlxG.elapsed); if (bored_animation_time <= 0){ bored_animation_time = Random.uniformRange(0.35, 1); bored_animation = ((bored_animation + 1) % 2); }; if (velocity.x == 0){ play("eating"); } else { if (velocity.y >= 30){ animateDiving(); } else { if (velocity.y >= -5){ animateBored(); } else { play("flying"); SoundManager.play("vulture_flutter", getVolume(), getPan()); }; }; }; if (((((target_point) && ((target_point.y == chill_point1.y)))) && ((Math.abs((y - chill_point1.y)) <= Geometry.zero_velocity)))){ velocity.y = (velocity.y * 0.9); }; super.update(); } public function setFreakOutTarget():void{ var _local1:Number; max_fly_acceleration = normal_acceleration; if (timid_body != null){ _local1 = Geometry.angleAway(x, y, timid_body.x, timid_body.y); target_point = new Point((x - (Math.cos(_local1) * 1000)), (y - (Math.sin(_local1) * 1000))); if (target_point.y > y){ target_point.y = (y - (target_point.y - y)); }; } else { trace("no timid_body"); setChillPoint(); }; } override public function startFleeing():void{ super.startFleeing(); setChillPoint(); max_fly_acceleration = normal_acceleration; maxVelocity.x = normal_max_speed; maxVelocity.y = normal_max_speed; target_body = null; } public function startEating():void{ behavior_state = "eating"; play("eating"); eating_offset_x = (x - target_body.x); eating_offset_y = (y - target_body.y); if ((((target_body == Player.getGameState().corpse)) && (Player.isAlive()))){ SoundManager.play("hey"); }; } override public function act():void{ super.act(); if (!acted){ if (behavior_state == "chasing"){ chase(); acted = true; }; }; if (!acted){ if (behavior_state == "eating"){ eat(); acted = true; }; }; if (!acted){ if (behavior_state == "freak_out"){ freakOut(); acted = true; }; }; } override public function initialize():void{ super.initialize(); target_point = chill_point1; target_body = null; timid_time = 0; sense_distance_squared = 5625; max_fly_acceleration = normal_acceleration; maxVelocity.x = normal_max_speed; maxVelocity.y = normal_max_speed; bounce_bodies = true; bounce_force = 80; bored_animation = 0; bored_animation_time = 0; addAnimation("bored", [0, 5], 0.7); addAnimation("bored0", [0]); addAnimation("bored1", [5]); addAnimation("flying", [1, 2, 1, 0], 6); addAnimation("eating", [3, 4], 4); addAnimation("diving", [6, 7], 1); addAnimation("diving0", [6]); addAnimation("diving1", [7]); startBored(); } override public function saveState():void{ super.saveState(); save_target_point = target_point.clone(); save_target_body = target_body; save_timid_time = timid_time; save_eating_offset_x = eating_offset_x; save_eating_offset_y = eating_offset_y; save_kill_time = kill_time; save_bored_animation = bored_animation; save_bored_animation_time = bored_animation_time; } override public function sense():void{ var _local1:CBody; var _local2:Player = Player.getGameState().getPlayer(); if ((((timid_time <= 0)) && ((((behavior_state == "bored")) || ((behavior_state == "fleeing")))))){ for each (_local1 in Player.getGameState().bodies) { if ((((((((_local1 is CCorpse)) && (!(_local1.dead)))) && (canSense(_local1)))) && ((Geometry.distanceSquared(_local2.x, _local2.y, _local1.x, _local1.y) > timid_sense_distance_squared)))){ startChasing(_local1); break; }; }; }; if (!_local2.dead){ if (Geometry.distanceSquared(_local2.x, _local2.y, x, y) <= timid_sense_distance_squared){ getScared(_local2); return; }; if (((!((target_body == null))) && ((Geometry.distanceSquared(_local2.x, _local2.y, target_body.x, target_body.y) <= timid_sense_distance_squared)))){ startFleeing(); return; }; }; for each (_local1 in Player.getGameState().bodies) { if ((((((_local1.mass >= timid_body_mass)) && ((_local1.getMagnitude() >= timid_body_speed)))) && (super.canSense(_local1, timid_sense_distance_squared)))){ getScared(_local1); return; }; }; if (((!((target_body == null))) && (target_body.dead))){ startFleeing(); }; } override public function actBored():void{ super.actBored(); if (hasArrived()){ setChillPoint(); }; flyTowardsPoint(target_point); } public function setChasingPoint():void{ if (target_body.width >= width){ target_point = new Point(Random.uniformRange(target_body.x, ((target_body.x + target_body.width) - width)), ((target_body.y + (target_body.height / 2)) - height)); } else { target_point = new Point(Random.uniformRange(((target_body.x - width) + 3), (((target_body.x + target_body.width) - width) + 3)), (((target_body.y + target_body.height) - height) - 1)); }; } public function animateBored():void{ if (bored_animation == 0){ play("bored0"); } else { if (bored_animation == 1){ play("bored1"); }; }; } public function freakOut():void{ timid_time = (timid_time - FlxG.elapsed); if ((((target_point == null)) || (hasArrived()))){ setFreakOutTarget(); }; flyTowardsPoint(target_point); if (timid_time <= 0){ startBored(); }; } override public function kill(_arg1:Boolean=false):void{ super.kill(_arg1); if (!_arg1){ SoundManager.play("vulture_death", SoundManager.getDistanceMultiplier(x, y), SoundManager.getPan(x, y)); }; } public function eat():void{ x = (target_body.x + eating_offset_x); y = (target_body.y + eating_offset_y); target_body.hurt((eat_rate * FlxG.elapsed)); kill_time = 0.5; SoundManager.play("vulture_eat", SoundManager.getDistanceMultiplier(x, y), SoundManager.getPan(x, y)); } override public function canSense(_arg1:CGeneralBody, _arg2:Number=-1):Boolean{ return (((super.canSense(_arg1, _arg2)) || ((((((((_arg1.x >= x)) && ((_arg1.x <= (x + width))))) || (((((_arg1.x + _arg1.width) >= x)) && (((_arg1.x + _arg1.width) <= (x + width))))))) && ((_arg1.y >= y)))))); } override public function loadState():void{ super.loadState(); target_point = save_target_point.clone(); target_body = save_target_body; timid_time = save_timid_time; eating_offset_x = save_eating_offset_x; eating_offset_y = save_eating_offset_y; kill_time = save_kill_time; bored_animation = save_bored_animation; bored_animation_time = save_bored_animation_time; } override public function collide(_arg1:FlxCore):void{ var _local2:CBody = (_arg1 as CBody); if (_local2 != null){ if ((((((kill_time > 0)) && ((_local2.getForce() > kill_force)))) && (Geometry.overlapCheck(_local2, this)))){ Player.getGameState().addBody(new VultureCorpse(x, y)); AudioEngine.PlaySound("take_that", AudioEngine.SFX_CHANNEL); kill(); GameState.total_vultures_killed = (GameState.total_vultures_killed + 1); }; }; super.collide(_arg1); } override public function flee():void{ super.flee(); if (hasArrived()){ startBored(); } else { flyTowardsPoint(target_point); }; } public function startFreakOut():void{ if (behavior_state != "freak_out"){ behavior_state = "freak_out"; }; max_fly_acceleration = aggitated_acceleration; maxVelocity.x = aggitated_max_speed; maxVelocity.y = aggitated_max_speed; target_body = null; } public function setChillPoint():void{ if (((target_point) && (target_point.equals(chill_point1)))){ target_point = chill_point2; } else { if (((target_point) && (target_point.equals(chill_point2)))){ target_point = chill_point1; } else { if (Random.uniformRange(0, 1) < 0.5){ target_point = chill_point1; } else { target_point = chill_point2; }; }; }; } override public function startBored():void{ super.startBored(); max_fly_acceleration = normal_acceleration; maxVelocity.x = normal_max_speed; maxVelocity.y = normal_max_speed; setChillPoint(); } public function animateDiving():void{ if (bored_animation == 0){ play("diving0"); } else { if (bored_animation == 1){ play("diving1"); }; }; } public function hasArrived():Boolean{ var _local1:Number = Geometry.distanceSquared(x, y, target_point.x, target_point.y); if (((((!(target_point.equals(chill_point1))) && (!(target_point.equals(chill_point2))))) && ((_local1 <= landing_distance_squared)))){ max_fly_acceleration = landing_acceleration; }; return ((_local1 <= (Geometry.zero_distance_squared + 2))); } public function chase():void{ setChasingPoint(); if (hasArrived()){ land(); startEating(); } else { flyTowardsPoint(target_point); }; } public function getScared(_arg1:CGeneralBody):void{ timid_body = _arg1; timid_time = timid_duration; target_point = null; startFreakOut(); } public function land():void{ velocity.x = (velocity.y = 0); acceleration.x = (acceleration.y = 0); max_fly_acceleration = normal_acceleration; x = target_point.x; y = target_point.y; } } }//package game.npcs
Section 132
//Vulture_VultureImage (game.npcs.Vulture_VultureImage) package game.npcs { import mx.core.*; public class Vulture_VultureImage extends BitmapAsset { } }//package game.npcs
Section 133
//AddNpcEvent (game.scripting.AddNpcEvent) package game.scripting { import game.npcs.*; import game.*; public class AddNpcEvent extends ScriptEvent { public var npc:CCharacter;// = null public function AddNpcEvent(_arg1:Number=0, _arg2:CCharacter=null){ super(_arg1); npc = _arg2; } override public function initialize():void{ super.initialize(); if (npc != null){ npc.initialize(); }; } override public function start(_arg1:GameState):void{ super.start(_arg1); } override public function update():void{ super.update(); game_state.addNpc(npc); finish(); } } }//package game.scripting
Section 134
//AwardAchievementEvent (game.scripting.AwardAchievementEvent) package game.scripting { import game.*; import achievements.*; public class AwardAchievementEvent extends ScriptEvent { public var achievement_id:int; public function AwardAchievementEvent(_arg1:Number=0, _arg2:int=0){ super(_arg1); achievement_id = _arg2; } override public function start(_arg1:GameState):void{ super.start(_arg1); if (((!((achievement_id == 94))) || ((GameState.total_time <= (30 * 60))))){ Achievements.CompletedAchievement(achievement_id, true); }; } } }//package game.scripting
Section 135
//ClearEventQueueEvent (game.scripting.ClearEventQueueEvent) package game.scripting { import game.*; public class ClearEventQueueEvent extends ScriptEvent { public function ClearEventQueueEvent(_arg1:Number=0){ super(_arg1); initialize(); } override public function start(_arg1:GameState):void{ super.start(_arg1); game_state.clearEventQueue(); } } }//package game.scripting
Section 136
//CommandEvent (game.scripting.CommandEvent) package game.scripting { import game.*; public class CommandEvent extends ScriptEvent { public var submessage:String;// = "" public var message:String;// = "" public function CommandEvent(_arg1:Number=0, _arg2:String="", _arg3:String=""){ super(_arg1); message = _arg2; submessage = _arg3; } override public function start(_arg1:GameState):void{ super.start(_arg1); if (message == "corpse_health"){ if (submessage == "hide"){ game_state.hud.display_corpse_health = false; } else { if (submessage == "show"){ game_state.hud.display_corpse_health = true; }; }; }; } } }//package game.scripting
Section 137
//ControlActorEvent (game.scripting.ControlActorEvent) package game.scripting { import org.flixel.*; import game.npcs.*; import game.*; public class ControlActorEvent extends ScriptEvent { public var control_player:Boolean;// = false public var actor:CActor;// = null public var control_type:String;// = "" public var num_arg:Number;// = -1 public function ControlActorEvent(_arg1:Number=0, _arg2:CActor=null, _arg3:String="", _arg4:Number=-1, _arg5:Boolean=false){ super(_arg1); actor = _arg2; control_type = _arg3; control_player = _arg5; num_arg = _arg4; } override public function update():void{ super.update(); if (control_type == "right"){ actor.move(FlxSprite.RIGHT, num_arg); } else { if (control_type == "left"){ actor.move(FlxSprite.LEFT, num_arg); } else { if (control_type == "jump"){ actor.jump(); finish(); } else { if (control_type == "drop"){ if ((actor is Player)){ Player(actor).releaseHolding(); finish(); }; }; }; }; }; } override public function start(_arg1:GameState):void{ super.start(_arg1); if (control_player){ actor = Player.getGameState().getPlayer(); }; actor.controllers++; } override public function finish():void{ super.finish(); actor.controllers = (actor.controllers - 1); } } }//package game.scripting
Section 138
//DelayEvent (game.scripting.DelayEvent) package game.scripting { import game.*; public class DelayEvent extends ScriptEvent { public var has_delayed:Boolean;// = false public function DelayEvent(_arg1:Number=0){ super(_arg1); initialize(); } override public function initialize():void{ super.initialize(); has_delayed = false; } override public function start(_arg1:GameState):void{ super.start(_arg1); game_state.block_events = true; } override public function finish():void{ super.finish(); game_state.block_events = false; } } }//package game.scripting
Section 139
//DisplayTextEvent (game.scripting.DisplayTextEvent) package game.scripting { import game.*; public class DisplayTextEvent extends ScriptEvent { public var display_color:uint;// = 0xFFFFFF public var display_message:String;// = "" public var precedent:int;// = 1 public var fade:Boolean;// = false public function DisplayTextEvent(_arg1:Number=0, _arg2:String="", _arg3:uint=0xFFFFFF, _arg4:Boolean=false, _arg5:int=1){ super(_arg1); display_message = _arg2; display_color = _arg3; precedent = _arg5; fade = _arg4; initialize(); } override public function initialize():void{ super.initialize(); } override public function start(_arg1:GameState):void{ super.start(_arg1); game_state.hud.displayMessage(display_message, total_time, display_color, fade, precedent); } } }//package game.scripting
Section 140
//FadeOutEvent (game.scripting.FadeOutEvent) package game.scripting { import game.*; public class FadeOutEvent extends ScriptEvent { public function FadeOutEvent(_arg1:Number=0){ super(_arg1); } override public function start(_arg1:GameState):void{ super.start(_arg1); game_state.hud.fadeOut(); } } }//package game.scripting
Section 141
//MenuStateEvent (game.scripting.MenuStateEvent) package game.scripting { import org.flixel.*; import game.*; public class MenuStateEvent extends ScriptEvent { public function MenuStateEvent(_arg1:Number=0){ super(_arg1); } override public function update():void{ super.update(); FlxG.switchState(MenuState); } } }//package game.scripting
Section 142
//MusicEvent (game.scripting.MusicEvent) package game.scripting { import game.*; public class MusicEvent extends ScriptEvent { public var volume:Number; public var command:String; public function MusicEvent(_arg1:Number=0, _arg2:String="", _arg3:Number=1){ super(_arg1); command = _arg2; volume = _arg3; } override public function start(_arg1:GameState):void{ super.start(_arg1); if (command == "play"){ SoundManager.playMusic(); } else { if (command == "stop"){ SoundManager.stopMusic(); } else { if (command == "volume"){ SoundManager.setMusicVolume(volume); }; }; }; } } }//package game.scripting
Section 143
//NextLevelEvent (game.scripting.NextLevelEvent) package game.scripting { import game.*; public class NextLevelEvent extends ScriptEvent { public function NextLevelEvent(_arg1:Number=0){ super(_arg1); } override public function update():void{ super.update(); game_state.nextLevel(); finish(); } override public function start(_arg1:GameState):void{ super.start(_arg1); } } }//package game.scripting
Section 144
//PlaySoundEvent (game.scripting.PlaySoundEvent) package game.scripting { import game.*; public class PlaySoundEvent extends ScriptEvent { public var volume:Number;// = 1 public var pan:Number;// = 0 public var sound:String;// = "none" public function PlaySoundEvent(_arg1:Number=0, _arg2:String="none", _arg3:Number=1, _arg4:Number=0){ super(_arg1); sound = _arg2; volume = _arg3; pan = _arg4; initialize(); } override public function start(_arg1:GameState):void{ super.start(_arg1); SoundManager.play(sound, volume, pan); } } }//package game.scripting
Section 145
//ScriptEvent (game.scripting.ScriptEvent) package game.scripting { import org.flixel.*; import game.*; public class ScriptEvent { public var game_state:GameState;// = null public var total_time:Number;// = 0 public var save_time_left:Number; public var time_left:Number; public function ScriptEvent(_arg1:Number=0){ total_time = _arg1; initialize(); } public function start(_arg1:GameState):void{ game_state = _arg1; } public function update():void{ if (total_time > 0){ time_left = (time_left - FlxG.elapsed); if (time_left <= 0){ finish(); }; }; } public function loadState():void{ time_left = save_time_left; } public function saveState():void{ save_time_left = time_left; } public function finish():void{ game_state.removeCurrentEvent(this); } public function initialize():void{ time_left = total_time; } } }//package game.scripting
Section 146
//Trigger (game.scripting.Trigger) package game.scripting { import game.bodies.*; import game.*; public class Trigger extends CBody { protected var TriggerImage:Class; public var save_triggered:Boolean; public var triggered:Boolean;// = false public var repeats:Boolean;// = false public var events:Array; public function Trigger(_arg1:int=0, _arg2:int=0, _arg3:uint=1, _arg4:uint=24, _arg5:Class=null, _arg6:Boolean=false, _arg7:Boolean=false, _arg8:uint=0, _arg9:Boolean=false){ TriggerImage = Trigger_TriggerImage; events = new Array(); if (_arg5 == null){ _arg5 = TriggerImage; }; super(_arg5, _arg1, _arg2, _arg6, _arg7, _arg3, _arg4, _arg8, _arg9); this.height = _arg4; this.width = _arg3; initialize(); } override public function trigger():void{ var _local1:ScriptEvent; super.trigger(); if (((repeats) || (!(triggered)))){ for each (_local1 in events) { _local1.initialize(); Player.getGameState().addQueuedEvent(_local1); }; triggered = true; }; } override public function loadState():void{ super.loadState(); triggered = save_triggered; } override public function saveState():void{ super.saveState(); save_triggered = triggered; } override public function initialize():void{ super.initialize(); triggers = true; triggered = false; this.gravity_acceleration = 0; } } }//package game.scripting
Section 147
//Trigger_TriggerImage (game.scripting.Trigger_TriggerImage) package game.scripting { import mx.core.*; public class Trigger_TriggerImage extends BitmapAsset { } }//package game.scripting
Section 148
//TweakActorEvent (game.scripting.TweakActorEvent) package game.scripting { import game.npcs.*; import game.*; public class TweakActorEvent extends ScriptEvent { public var player:Boolean;// = false public var former_value:String;// = "" public var temp_value:String;// = "" public var parameter:String;// = "" public var actor:CActor;// = null public function TweakActorEvent(_arg1:Number=0, _arg2:CActor=null, _arg3:String="", _arg4:String="", _arg5:Boolean=false){ super(_arg1); actor = _arg2; parameter = _arg3; temp_value = _arg4; player = _arg5; } override public function start(_arg1:GameState):void{ var _local2:Player; super.start(_arg1); if (player){ actor = Player.getGameState().getPlayer(); }; if (parameter == "disable_player"){ _local2 = (actor as Player); if (_local2 != null){ _local2.controllable = false; }; } else { if (parameter == "max_run_speed"){ former_value = String(actor.max_run_speed); actor.max_run_speed = Number(temp_value); } else { if (parameter == "velocity_x"){ actor.velocity.x = Number(temp_value); }; }; }; } override public function finish():void{ var _local1:Player; super.finish(); if (parameter == "disable_player"){ _local1 = (actor as Player); if (_local1 != null){ _local1.controllable = true; }; } else { if (parameter == "max_run_speed"){ actor.max_run_speed = Number(former_value); }; }; } } }//package game.scripting
Section 149
//WinEvent (game.scripting.WinEvent) package game.scripting { import game.*; public class WinEvent extends ScriptEvent { public function WinEvent(_arg1:Number=0){ super(_arg1); } override public function start(_arg1:GameState):void{ super.start(_arg1); game_state.win(); } } }//package game.scripting
Section 150
//BackgroundBlock (game.terrain.BackgroundBlock) package game.terrain { import org.flixel.*; public class BackgroundBlock extends CBlock { public static var BackgroundMountainTerrainImage:Class = BackgroundBlock_BackgroundMountainTerrainImage; public function BackgroundBlock(_arg1:int, _arg2:int, _arg3:uint, _arg4:uint, _arg5:Class=null){ if (_arg5 == null){ _arg5 = BackgroundMountainTerrainImage; }; super(_arg1, _arg2, _arg3, _arg4, false, _arg5); } override public function collide(_arg1:FlxCore):void{ } public static function fromCoords(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:Class=null):BackgroundBlock{ return (new BackgroundBlock(_arg1, _arg2, (_arg3 - _arg1), (_arg4 - _arg2), _arg5)); } public static function fromTop(_arg1:int, _arg2:int, _arg3:Array, _arg4:Boolean=false):FlxArray{ var _local7:BackgroundBlock; var _local8:int; var _local5:FlxArray = new FlxArray(); var _local6:int = _arg1; var _local9:int; while (_local9 < _arg3.length) { if (_arg4){ _local8 = _arg3[(_local9 + 1)]; } else { _local8 = (_local6 + _arg3[(_local9 + 1)]); }; _local7 = fromCoords(_local6, _arg3[_local9], _local8, _arg2); _local5.add(_local7); _local6 = (_local6 + _arg3[(_local9 + 1)]); _local9 = (_local9 + 2); }; return (_local5); } } }//package game.terrain
Section 151
//BackgroundBlock_BackgroundMountainTerrainImage (game.terrain.BackgroundBlock_BackgroundMountainTerrainImage) package game.terrain { import mx.core.*; public class BackgroundBlock_BackgroundMountainTerrainImage extends BitmapAsset { } }//package game.terrain
Section 152
//CBlock (game.terrain.CBlock) package game.terrain { import org.flixel.*; import game.*; import framework.math.*; public class CBlock extends FlxBlock { public var trigger_weight_load:Number;// = -1 public var current_weight_load:Number;// = 0 public var save_active:Boolean; public var last_weighing_bodies:FlxArray; public var destroyable:Boolean;// = false public var image:Class; public var start_y:Number; public var save_exists:Boolean; public var start_x:Number; public var last_weight_load:Number;// = 0 public var save_dead:Boolean; public var platform:Boolean;// = false public var save_x:Number; public var save_y:Number; public var weighing_bodies:FlxArray; public static var MountainTerrainImage:Class = CBlock_MountainTerrainImage; public static var BridgeTerrainImage:Class = CBlock_BridgeTerrainImage; public function CBlock(_arg1:int, _arg2:int, _arg3:uint, _arg4:uint, _arg5:Boolean=false, _arg6:Class=null, _arg7:uint=0){ weighing_bodies = new FlxArray(); last_weighing_bodies = new FlxArray(); if (_arg6 == null){ _arg6 = MountainTerrainImage; }; super(_arg1, _arg2, _arg3, _arg4, _arg6, _arg7); this.platform = _arg5; start_x = _arg1; start_y = _arg2; image = _arg6; initialize(); } public function hitFromAbove(_arg1:FlxCore):void{ var _local3:Player; _arg1.y = (this.y - _arg1.height); _arg1.last.y = _arg1.y; var _local2:CGeneralBody = (_arg1 as CGeneralBody); if (_local2 != null){ if (trigger_weight_load > 0){ current_weight_load = (current_weight_load + _local2.mass); _local3 = (_local2 as Player); if (((!((_local3 == null))) && (!((_local3.holding == null))))){ current_weight_load = (current_weight_load + _local3.holding.mass); }; weighing_bodies.add(_local2); }; }; } public function overlapCheck(_arg1:FlxCore):Boolean{ return (Geometry.overlapCheck(this, _arg1)); } override public function update():void{ super.update(); if (trigger_weight_load > 0){ last_weight_load = current_weight_load; if (current_weight_load >= trigger_weight_load){ trigger(); } else { triggerOff(); }; current_weight_load = 0; last_weighing_bodies = weighing_bodies; weighing_bodies = new FlxArray(); }; } public function loadState():void{ x = save_x; y = save_y; active = save_active; dead = save_dead; exists = save_exists; } public function initialize():void{ this.dead = false; this.exists = true; this.active = true; x = start_x; y = start_y; } public function saveState():void{ save_x = x; save_y = y; save_active = active; save_dead = dead; save_exists = exists; } override public function kill(_arg1:Boolean=false):void{ super.kill(_arg1); Player.getGameState().removeBlock(this); } public function triggerOff():void{ } public function getCollisionDirections(_arg1:FlxCore, _arg2:Number=0):Array{ return (Geometry.getCollisionDirections(this, _arg1, _arg2)); } override public function collide(_arg1:FlxCore):void{ var _local2:CGeneralBody = (_arg1 as CGeneralBody); if (((!((_local2 == null))) && (!(_local2.collides_blocks)))){ return; }; if (!overlapCheck(_arg1)){ return; }; var _local3:Array = getCollisionDirections(_arg1); if (((_local3[2]) && (_arg1.hitFloor(this)))){ hitFromAbove(_arg1); }; if (!platform){ if (((((_local3[0]) || (_local3[1]))) && (_arg1.hitWall(this)))){ if (_local3[1]){ _arg1.x = (this.x + this.width); _arg1.last.x = _arg1.x; } else { if (_local3[0]){ _arg1.x = (this.x - _arg1.width); _arg1.last.x = _arg1.x; }; }; }; if (((_local3[3]) && (_arg1.hitCeiling(this)))){ _arg1.y = (this.y + this.height); _arg1.last.y = _arg1.y; }; }; } public function trigger():void{ } public static function fromCoords(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:Boolean=false, _arg6:Class=null):CBlock{ return (new CBlock(_arg1, _arg2, Math.abs((_arg3 - _arg1)), Math.abs((_arg4 - _arg2)), _arg5, _arg6)); } public static function fromTop(_arg1:int, _arg2:int, _arg3:Array, _arg4:Boolean=false):FlxArray{ var _local7:CBlock; var _local8:int; var _local5:FlxArray = new FlxArray(); var _local6:int = _arg1; var _local9:int; while (_local9 < _arg3.length) { if (_arg4){ _local8 = _arg3[(_local9 + 1)]; } else { _local8 = (_local6 + _arg3[(_local9 + 1)]); }; _local7 = fromCoords(_local6, _arg3[_local9], _local8, _arg2); _local5.add(_local7); _local6 = (_local6 + _arg3[(_local9 + 1)]); _local9 = (_local9 + 2); }; return (_local5); } } }//package game.terrain
Section 153
//CBlock_BridgeTerrainImage (game.terrain.CBlock_BridgeTerrainImage) package game.terrain { import mx.core.*; public class CBlock_BridgeTerrainImage extends BitmapAsset { } }//package game.terrain
Section 154
//CBlock_MountainTerrainImage (game.terrain.CBlock_MountainTerrainImage) package game.terrain { import mx.core.*; public class CBlock_MountainTerrainImage extends BitmapAsset { } }//package game.terrain
Section 155
//CHive (game.terrain.CHive) package game.terrain { import org.flixel.*; import flash.geom.*; import game.*; import framework.math.*; import game.hive.*; public class CHive extends Knockable { public var num_bees:int;// = 0 public var bees:FlxArray; public var save_bees:FlxArray; public var hive_height:Number;// = 8 public var hive_width:Number;// = 8 public var made_bees:Boolean;// = false public static var HiveImage:Class = CHive_HiveImage; public function CHive(_arg1:int, _arg2:int, _arg3:Number=3){ bees = new FlxArray(); super(_arg1, _arg2, hive_width, hive_height, false, HiveImage); num_bees = _arg3; initialize(); } override public function saveState():void{ super.saveState(); save_bees = bees; } override public function knock(_arg1:CGeneralBody):void{ var _local2:Bee; var _local3:DeadHive; for each (_local2 in bees) { _local2.startFleeing(); }; _local3 = new DeadHive(x, y); _local3.velocity.x = (_arg1.velocity.x * 0.1); _local3.velocity.y = (_arg1.velocity.y * 0.1); Player.getGameState().addBody(_local3); kill(); GameState.total_hives_destroyed = (GameState.total_hives_destroyed + 1); } override public function update():void{ var _local1:Bee; var _local2:Point; var _local3:Point; var _local4:int; super.update(); if (!made_bees){ _local3 = new Point((x + (width / 2)), (y + (height / 2))); _local4 = 0; while (_local4 < num_bees) { _local2 = Random.pointInCircle(_local3, (height / 2)); _local1 = new Bee(x, y, this); bees.add(_local1); Player.getGameState().addNpc(_local1); _local4++; }; made_bees = true; }; } override public function loadState():void{ super.loadState(); bees = save_bees; } override public function initialize():void{ var _local1:Bee; super.initialize(); for each (_local1 in bees) { _local1.kill(); }; bees = new FlxArray(); made_bees = false; destroyable = true; } } }//package game.terrain
Section 156
//CHive_HiveImage (game.terrain.CHive_HiveImage) package game.terrain { import mx.core.*; public class CHive_HiveImage extends BitmapAsset { } }//package game.terrain
Section 157
//FragileBlock (game.terrain.FragileBlock) package game.terrain { import org.flixel.*; import game.bodies.*; import game.*; import framework.math.*; public class FragileBlock extends CBlock { public var num_stones:int;// = 2 public static var FragileTerrainImage:Class = FragileBlock_FragileTerrainImage; public static var w:int = 8; public static var h:int = 8; public function FragileBlock(_arg1:int, _arg2:int, _arg3:uint, _arg4:uint, _arg5:Boolean=false, _arg6:Class=null){ super(_arg1, _arg2, _arg3, _arg4, _arg5, FragileTerrainImage); initialize(); } override public function trigger():void{ var _local1:CStone; var _local2:GameState = Player.getGameState(); var _local3:int; while (_local3 < num_stones) { _local1 = new CStone(Random.uniformRange(x, ((x + width) - 4)), y); _local1.velocity.x = Random.uniformRange(-15, 15); _local2.addBody(_local1); _local3++; }; kill(); SoundManager.play("fragile_terrain", SoundManager.getDistanceMultiplier(x, y), SoundManager.getPan(x, y)); } override public function initialize():void{ super.initialize(); trigger_weight_load = 4.5; } public static function getBatch(_arg1:int, _arg2:int, _arg3:int, _arg4:int=-1):FlxArray{ var _local7:int; if (_arg4 == -1){ _arg4 = (_arg2 + 8); }; var _local5:FlxArray = new FlxArray(); var _local6:int = _arg2; while (_local6 < _arg4) { _local7 = _arg1; while (_local7 < _arg3) { _local5.add(new FragileBlock(_local7, _local6, w, h, true)); _local7 = (_local7 + w); }; _local6 = (_local6 + h); }; return (_local5); } } }//package game.terrain
Section 158
//FragileBlock_FragileTerrainImage (game.terrain.FragileBlock_FragileTerrainImage) package game.terrain { import mx.core.*; public class FragileBlock_FragileTerrainImage extends BitmapAsset { } }//package game.terrain
Section 159
//Knockable (game.terrain.Knockable) package game.terrain { import org.flixel.*; import game.*; public class Knockable extends CBlock { public var knock_force:Number;// = 100 public function Knockable(_arg1:int, _arg2:int, _arg3:uint, _arg4:uint, _arg5:Boolean=false, _arg6:Class=null, _arg7:uint=0){ super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7); } public function knock(_arg1:CGeneralBody):void{ } override public function collide(_arg1:FlxCore):void{ var _local2:CGeneralBody = (_arg1 as CGeneralBody); if (_local2 != null){ if (overlapCheck(_arg1)){ if (_local2.getForce() > knock_force){ knock(_local2); }; }; }; super.collide(_arg1); } } }//package game.terrain
Section 160
//KnockableSwitch (game.terrain.KnockableSwitch) package game.terrain { import game.bodies.*; import game.*; import game.graphics.*; import framework.math.*; public class KnockableSwitch extends Knockable { public var save_activated:Boolean; public var required_force:Number;// = 160 public var activatable:Boolean;// = true public var num_sparks:int;// = 5 public var activated:Boolean;// = false public var start_activated:Boolean;// = false public var activator:Activator;// = null public var toggles:Boolean;// = true public static var KnockableSwitchOnImage:Class = KnockableSwitch_KnockableSwitchOnImage; public static var KnockableSwitchOffImage:Class = KnockableSwitch_KnockableSwitchOffImage; public function KnockableSwitch(_arg1:int, _arg2:int, _arg3:Activator=null, _arg4:Boolean=true, _arg5:Class=null, _arg6:Boolean=false){ if (_arg5 == null){ _arg5 = KnockableSwitchOffImage; }; super(_arg1, _arg2, 8, 8, false, _arg5); activator = _arg3; toggles = _arg4; start_activated = _arg6; initialize(); } override public function knock(_arg1:CGeneralBody):void{ super.knock(_arg1); if (((activatable) && (((toggles) || (!(activated)))))){ if (activator != null){ activator.activate(); }; toggleActivated(); SoundManager.play("electricity", SoundManager.getDistanceMultiplier(x, y), SoundManager.getPan(x, y)); }; } override public function initialize():void{ super.initialize(); knock_force = required_force; activated = start_activated; activatable = true; if (activator != null){ activator.initialize(); }; } override public function loadState():void{ super.loadState(); activated = save_activated; } override public function saveState():void{ super.saveState(); save_activated = activated; } public function toggleActivated():void{ var _local1:CSpark; var _local3:int; var _local2:Number = 100; while (_local3 < num_sparks) { _local1 = new CSpark(Random.uniformRange(x, (x + width)), y); _local1.velocity.x = Random.uniformRange(-(_local2), _local2); _local1.velocity.y = Random.uniformRange(-(_local2), 0); Player.getGameState().addBody(_local1); _local3++; }; var _local4:Class = KnockableSwitchOnImage; if (activated){ _local4 = KnockableSwitchOffImage; }; var _local5:KnockableSwitch = new KnockableSwitch(x, y, activator, toggles, _local4, !(activated)); Player.getGameState().addBlock(_local5); Player.getGameState().removeBlock(this); this.kill(); } } }//package game.terrain
Section 161
//KnockableSwitch_KnockableSwitchOffImage (game.terrain.KnockableSwitch_KnockableSwitchOffImage) package game.terrain { import mx.core.*; public class KnockableSwitch_KnockableSwitchOffImage extends BitmapAsset { } }//package game.terrain
Section 162
//KnockableSwitch_KnockableSwitchOnImage (game.terrain.KnockableSwitch_KnockableSwitchOnImage) package game.terrain { import mx.core.*; public class KnockableSwitch_KnockableSwitchOnImage extends BitmapAsset { } }//package game.terrain
Section 163
//MovableBlock (game.terrain.MovableBlock) package game.terrain { import org.flixel.*; import framework.math.*; public class MovableBlock extends CBlock { public var end_x:Number; public var end_y:Number; public function MovableBlock(_arg1:int, _arg2:int, _arg3:Number, _arg4:Number, _arg5:uint, _arg6:uint, _arg7:Boolean=false, _arg8:Class=null, _arg9:uint=0){ super(_arg1, _arg2, _arg5, _arg6, _arg7, _arg8, _arg9); end_x = _arg3; end_y = _arg4; } override public function getCollisionDirections(_arg1:FlxCore, _arg2:Number=0):Array{ return (super.getCollisionDirections(_arg1, Geometry.snap_distance)); } override public function overlapCheck(_arg1:FlxCore):Boolean{ return (Geometry.overlapCheck(this, _arg1, Geometry.snap_distance)); } override public function hitFromAbove(_arg1:FlxCore):void{ super.hitFromAbove(_arg1); _arg1.x = (_arg1.x + (this.x - this.last.x)); } override public function update():void{ super.update(); this.last.x = x; this.last.y = y; } } }//package game.terrain
Section 164
//MovingBlock (game.terrain.MovingBlock) package game.terrain { import org.flixel.*; import game.*; import framework.math.*; public class MovingBlock extends MovableBlock { public var start_bouncing:Boolean;// = true public var bouncing:Boolean;// = true public var save_bouncing:Boolean; public var target_x:Number; public var start_moving:Boolean;// = false public var save_target_x:Number; public var save_target_y:Number; public var moving:Boolean;// = false public var save_moving:Boolean; public var target_y:Number; public var dx:Number;// = 0 public var dy:Number;// = 0 public var save_dx:Number; public var save_dy:Number; public var max_speed:Number; public var target_end:Boolean;// = false public var save_target_end:Boolean; public function MovingBlock(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:uint=24, _arg6:uint=8, _arg7:Boolean=true, _arg8:Class=null, _arg9:Number=20, _arg10:uint=0){ if (_arg8 == null){ _arg8 = CBlock.BridgeTerrainImage; }; super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg10); max_speed = _arg9; } override public function update():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; super.update(); if (moving){ _local1 = Geometry.angleBetween(x, y, target_x, target_y); dx = ((-(Math.cos(_local1)) * max_speed) * FlxG.elapsed); dy = ((-(Math.sin(_local1)) * max_speed) * FlxG.elapsed); move(dx, dy); if (hitTarget()){ handleTarget(); }; _local2 = Geometry.distanceSquared(x, y, Player.getGameState().getPlayer().x, Player.getGameState().getPlayer().y); if (_local2 <= SoundManager.hearing_distance_squared){ _local3 = ((SoundManager.hearing_distance_squared - _local2) / SoundManager.hearing_distance_squared); _local4 = ((x - Player.getGameState().getPlayer().x) / SoundManager.hearing_distance); SoundManager.play("machine", _local3, _local4); }; }; } public function hitTarget():Boolean{ return ((Geometry.distanceSquared(x, y, target_x, target_y) <= 1)); } public function handleTarget():void{ x = target_x; y = target_y; if (!bouncing){ moving = false; } else { switchTarget(); }; } override public function saveState():void{ super.saveState(); save_target_end = target_end; save_dx = dx; save_dy = dy; save_target_x = target_x; save_target_y = target_y; save_bouncing = bouncing; save_moving = moving; } public function move(_arg1:Number, _arg2:Number):void{ x = (x + _arg1); y = (y + _arg2); } override public function initialize():void{ super.initialize(); target_end = true; bouncing = start_bouncing; moving = start_moving; switchTarget(); } public function switchTarget():void{ if (target_end){ target_end = false; target_x = start_x; target_y = start_y; } else { target_end = true; target_x = end_x; target_y = end_y; }; } override public function loadState():void{ super.loadState(); target_end = save_target_end; dx = save_dx; dy = save_dy; target_x = save_target_x; target_y = save_target_y; bouncing = save_bouncing; moving = save_moving; } } }//package game.terrain
Section 165
//PercentageBlock (game.terrain.PercentageBlock) package game.terrain { public class PercentageBlock extends MovableBlock { public var starting_percentage:Number;// = 0 public var percentage:Number;// = 0 public var save_percentage:Number; public function PercentageBlock(_arg1:int, _arg2:int, _arg3:Number, _arg4:Number, _arg5:uint=24, _arg6:uint=8, _arg7:Boolean=true, _arg8:Class=null, _arg9:Number=0, _arg10:uint=0){ if (_arg8 == null){ _arg8 = CBlock.BridgeTerrainImage; }; super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg10); starting_percentage = _arg9; } override public function initialize():void{ super.initialize(); percentage = starting_percentage; } override public function update():void{ super.update(); if (percentage < 0){ percentage = 0; }; if (percentage > 1){ percentage = 1; }; x = (start_x + (percentage * (end_x - start_x))); y = (start_y + (percentage * (end_y - start_y))); } override public function saveState():void{ super.saveState(); save_percentage = percentage; } override public function loadState():void{ super.loadState(); percentage = save_percentage; } } }//package game.terrain
Section 166
//SwitchPlatform (game.terrain.SwitchPlatform) package game.terrain { import game.bodies.*; import game.*; public class SwitchPlatform extends MovingBlock { public var created_switch:Boolean;// = false public function SwitchPlatform(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:Number=20){ super(_arg1, _arg2, _arg3, _arg4, 24, 8, true, CBlock.BridgeTerrainImage, _arg5); start_bouncing = false; start_moving = false; } override public function initialize():void{ super.initialize(); created_switch = false; } override public function update():void{ var _local1:ActivateSwitch; super.update(); if (!created_switch){ _local1 = new ActivateSwitch(((start_x + 12) - (ActivateSwitch.w / 2)), (start_y - ActivateSwitch.h), new Activator(this)); Player.getGameState().addBody(_local1); created_switch = true; }; } } }//package game.terrain
Section 167
//WeightSwitch (game.terrain.WeightSwitch) package game.terrain { import game.bodies.*; import game.*; public class WeightSwitch extends CBlock { public var save_activated:Boolean; public var activated:Boolean; public var activator:Activator; public var percentage:Number; public static var ScaleBaseImage:Class = WeightSwitch_ScaleBaseImage; public static var h:int = 16; public static var w:int = 16; public function WeightSwitch(_arg1:int, _arg2:int, _arg3:Activator){ super(_arg1, _arg2, w, h, true, ScaleBaseImage); trigger_weight_load = 2; activator = _arg3; initialize(); } override public function update():void{ super.update(); percentage = (last_weight_load / trigger_weight_load); if (percentage > 1){ percentage = 1; }; if (percentage < 0){ percentage = 0; }; } override public function loadState():void{ super.loadState(); activated = save_activated; } override public function initialize():void{ super.initialize(); activated = false; } override public function triggerOff():void{ super.triggerOff(); if (activated){ activator.activate(); activated = false; }; } override public function trigger():void{ super.trigger(); if (!activated){ activator.activate(); activated = true; SoundManager.play("bell", SoundManager.getDistanceMultiplier(x, y), SoundManager.getPan(x, y)); }; } override public function saveState():void{ super.saveState(); save_activated = activated; } } }//package game.terrain
Section 168
//WeightSwitch_ScaleBaseImage (game.terrain.WeightSwitch_ScaleBaseImage) package game.terrain { import mx.core.*; public class WeightSwitch_ScaleBaseImage extends BitmapAsset { } }//package game.terrain
Section 169
//CButton (game.ui.CButton) package game.ui { import org.flixel.*; public class CButton extends FlxButton { protected var sprite:FlxSprite; public function CButton(_arg1:int, _arg2:int, _arg3:FlxSprite, _arg4:FlxSprite=null, _arg5:FlxText=null, _arg6:FlxText=null){ super(_arg1, _arg2, _arg3, onClick, _arg4, _arg5, _arg6); sprite = _arg3; initialize(); } public function initialize():void{ setupSprite(); } public function setupSprite():void{ sprite.addAnimation("rest", [0]); sprite.addAnimation("hover", [1]); } public function offHover():void{ sprite.play("rest"); } override public function update():void{ super.update(); if ((((((((FlxG.mouse.x >= x)) && ((FlxG.mouse.x <= (x + sprite.width))))) && ((FlxG.mouse.y >= y)))) && ((FlxG.mouse.y <= (y + sprite.height))))){ onHover(); } else { offHover(); }; } public function onClick():void{ } public function onHover():void{ sprite.play("hover"); } } }//package game.ui
Section 170
//CCursor (game.ui.CCursor) package game.ui { import org.flixel.*; public class CCursor extends FlxSprite { public function CCursor(){ super(CTarget.imgTarget); } override public function update():void{ super.update(); this.x = FlxG.mouse.x; this.y = FlxG.mouse.y; } } }//package game.ui
Section 171
//CFlashButton (game.ui.CFlashButton) package game.ui { import flash.events.*; import flash.display.*; import game.*; public class CFlashButton extends Sprite { public var rest_image:Bitmap; public var click_sound:String;// = "stone_knock" public var hover_sound:String;// = "switch" public var hover_image:Bitmap; public function CFlashButton(_arg1:int, _arg2:int, _arg3:Class, _arg4:Class){ this.x = _arg1; this.y = _arg2; rest_image = (this.addChild(new (_arg3)) as Bitmap); rest_image.scaleX = (rest_image.scaleY = 2); hover_image = (this.addChild(new (_arg4)) as Bitmap); hover_image.scaleX = (hover_image.scaleY = 2); hover_image.visible = false; this.addEventListener(MouseEvent.MOUSE_OVER, onFocus); this.addEventListener(MouseEvent.MOUSE_OUT, onUnfocus); this.addEventListener(MouseEvent.CLICK, onClick); } public function onClick(_arg1:Event):void{ SoundManager.play(click_sound, 0.8); } public function onUnfocus(_arg1:Event):void{ rest_image.visible = true; hover_image.visible = false; } public function onFocus(_arg1:Event):void{ rest_image.visible = false; hover_image.visible = true; SoundManager.play(hover_sound, 0.4); } } }//package game.ui
Section 172
//CHud (game.ui.CHud) package game.ui { import flash.display.*; import org.flixel.*; import game.bodies.*; import game.*; import game.graphics.*; public class CHud { public var game_state:GameState;// = null public var message:FlxText;// = null public var fade_out:FlxSprite;// = null public var empty_message:String;// = "" public var holding_image_x:int;// = 150 public var holding_image_y:int;// = 8 public var damage_flash:FlxSprite;// = null protected var CorpseHealthImage:Class; public var holding_text:FlxText;// = null public var display_time:Number;// = 0 public var using_text:FlxText;// = null protected var DamageFlashImage:Class; public var achievement_text:FlxText;// = null protected var CorpseHealthEmptyImage:Class; public var fading_out:Boolean;// = false public var achievement_image:MovieClip; public var save_display_precedent:int; public var camera_flash:FlxSprite;// = null public var corpse_health_bar:FlxSprite;// = null public var display_delaying:Boolean;// = false public var achievement_time_total:Number;// = 0 public var save_display_color:uint; protected var FadeOutImage:Class; public var total_time_display:FlxText;// = null protected var CameraFlashImage:Class; public var save_fade_display:Boolean; public var achievement_image_x:int; public var achievement_image_y:int; public var text_background:FlxSprite;// = null public var achievement_images:Object; public var display_message:String;// = "" public var display_precedent:int;// = 0 public var fade_out_rate:Number;// = 0.1 public var display_color:uint;// = 0xFFFFFF public var display_delay_time:Number;// = 0 public var save_display_time:Number; protected var TextBackgroundImage:Class; public var display_corpse_health:Boolean;// = true public var num_hearts:int;// = 3 public var damage_flash_decay_rate:Number;// = 2 public var camera_flash_decay_rate:Number;// = 2 public var save_display_message:String; public var using_image_x:int;// = 250 public var achievement_time:Number;// = 0 public var using_image_y:int; public var display_delay_duration:Number;// = 0.02 public var display_time_total:Number;// = 0 public var save_display_time_total:Number; public var hearts:FlxArray; public var corpse_health_background:FlxSprite;// = null public var achievement_text_x:int;// = 120 public var achievement_text_y:int;// = 200 public var fade_display:Boolean;// = false public function CHud(_arg1:GameState){ TextBackgroundImage = CHud_TextBackgroundImage; CorpseHealthImage = CHud_CorpseHealthImage; CorpseHealthEmptyImage = CHud_CorpseHealthEmptyImage; CameraFlashImage = CHud_CameraFlashImage; DamageFlashImage = CHud_DamageFlashImage; FadeOutImage = CHud_FadeOutImage; achievement_image_x = (achievement_text_x - 25); achievement_image_y = (achievement_text_y - 1); using_image_y = holding_image_y; hearts = new FlxArray(); super(); game_state = _arg1; initialize(); } public function displayAchievement(_arg1:String, _arg2:Number=5):void{ achievement_time_total = _arg2; achievement_time = achievement_time_total; achievement_text.setText((("Achievement Unlocked:\n" + _arg1) + "!")); achievement_text.visible = true; if (achievement_image != null){ game_state.removeChild(achievement_image); achievement_image = null; }; achievement_image = achievement_images[_arg1]; game_state.addChild(achievement_image); achievement_image.gotoAndStop(2); achievement_image.scaleX = (achievement_image.scaleY = 0.5); achievement_image.x = achievement_image_x; achievement_image.y = achievement_image_y; } public function getMessageColor():uint{ var _local1:uint = 0xFF; return (((_local1 * 16777216) + display_color)); } public function saveState():void{ save_display_color = display_color; save_display_message = display_message; save_display_precedent = display_precedent; save_display_time = display_time; save_display_time_total = display_time_total; save_fade_display = fade_display; } public function fadeOut():void{ game_state.remove(fade_out); game_state.add(fade_out); fade_out.alpha = 0; fading_out = true; } public function loadState():void{ displayMessage(save_display_message, save_display_time_total, save_display_color, save_fade_display); display_time = save_display_time; } public function clear():void{ clearAchievementImage(); } public function initialize():void{ var _local1:CHeart; message = new FlxText(10, 30, (FlxG.width - 10), 40, "", 4294967295, null, 8, "center"); message.scrollFactor.x = (message.scrollFactor.y = 0); text_background = new FlxSprite(TextBackgroundImage, 10, 15, false, false, 300, 40); text_background.scrollFactor.x = (text_background.scrollFactor.y = 0); text_background.visible = false; game_state.add(text_background); achievement_text = new FlxText(achievement_text_x, achievement_text_y, (FlxG.width - 10), 40, ""); achievement_text.scrollFactor.x = (achievement_text.scrollFactor.y = 0); achievement_image = null; achievement_images = new Object(); achievement_images["Grim Discovery"] = new AchievementIcon1(); achievement_images["Eternal Love"] = new AchievementIcon2(); achievement_images["Bird Feeder"] = new AchievementIcon3(); achievement_images["Half Full"] = new AchievementIcon4(); achievement_images["My Heroine"] = new AchievementIcon5(); achievement_images["Blazing Hearse"] = new AchievementIcon6(); hearts = new FlxArray(); var _local2:int; while (_local2 < num_hearts) { _local1 = new CHeart(); _local1.x = (5 + (_local2 * 10)); _local1.y = 5; _local1.scrollFactor.x = (_local1.scrollFactor.y = 0); game_state.add(_local1); hearts.add(_local1); _local2++; }; corpse_health_background = new FlxSprite(CorpseHealthEmptyImage, (15 + (num_hearts * 10)), 5, false, false, 20, 7); corpse_health_background.scrollFactor.x = (corpse_health_background.scrollFactor.y = 0); game_state.add(corpse_health_background); corpse_health_bar = new FlxSprite(CorpseHealthImage, (16 + (num_hearts * 10)), 6, false, false, 1, 5); corpse_health_bar.scrollFactor.x = (corpse_health_bar.scrollFactor.y = 0); game_state.add(corpse_health_bar); holding_text = new FlxText((holding_image_x - 72), 1, 80, 10, ""); holding_text.scrollFactor.x = (holding_text.scrollFactor.y = 0); using_text = new FlxText((using_image_x - 77), 1, 80, 10, ""); using_text.scrollFactor.x = (using_text.scrollFactor.y = 0); total_time_display = new FlxText(280, 0, 40, 20, "timer!", 4288256409, null, 8, "right"); total_time_display.scrollFactor.x = (total_time_display.scrollFactor.y = 0); camera_flash = new FlxSprite(CameraFlashImage, 0, 0); camera_flash.scrollFactor.x = (camera_flash.scrollFactor.y = 0); camera_flash.alpha = 0; damage_flash = new FlxSprite(DamageFlashImage, 0, 0); damage_flash.scrollFactor.x = (damage_flash.scrollFactor.y = 0); damage_flash.alpha = 0; fade_out = new FlxSprite(FadeOutImage, 0, 0); fade_out.scrollFactor.x = (fade_out.scrollFactor.y = 0); fade_out.alpha = 0; fading_out = false; } public function update():void{ var _local1:CHeart; if (display_delay_time > 0){ display_delay_time = (display_delay_time - FlxG.elapsed); }; if ((((display_delay_time <= 0)) && (display_delaying))){ text_background.visible = true; message.visible = true; display_delay_time = 0; display_delaying = false; }; if (display_time > 0){ display_time = (display_time - FlxG.elapsed); }; if (display_time <= 0){ display_message = empty_message; message.setText(empty_message); display_precedent = 0; text_background.visible = false; message.visible = false; }; if (achievement_time > 0){ achievement_time = (achievement_time - FlxG.elapsed); }; if (achievement_time <= 0){ achievement_text.setText(empty_message); achievement_text.visible = false; clearAchievementImage(); }; var _local2:Player = game_state.getPlayer(); var _local3:int; while (_local3 < hearts.length) { _local1 = (hearts[_local3] as CHeart); if (_local1){ if (_local2 != null){ _local1.visible = true; if (_local2.health > _local3){ _local1.play("there"); } else { _local1.play("gone"); }; } else { _local1.visible = false; }; }; _local3++; }; var _local4:CCorpse = game_state.getCorpse(); if (((!((_local4 == null))) && (display_corpse_health))){ corpse_health_background.visible = true; corpse_health_bar.visible = true; if (_local4.dead){ corpse_health_bar.scale.x = 0; } else { corpse_health_bar.scale.x = ((_local4.health / _local4.max_health) * 18); }; } else { corpse_health_background.visible = false; corpse_health_bar.visible = false; }; total_time_display.setText(""); if (camera_flash.alpha > 0){ camera_flash.alpha = (camera_flash.alpha - (camera_flash_decay_rate * FlxG.elapsed)); }; if (camera_flash.alpha < 0){ game_state.remove(camera_flash); camera_flash.alpha = 0; }; if (damage_flash.alpha > 0){ damage_flash.alpha = (damage_flash.alpha - (damage_flash_decay_rate * FlxG.elapsed)); }; if (damage_flash.alpha < 0){ game_state.remove(damage_flash); damage_flash.alpha = 0; }; if (fading_out){ if (fade_out.alpha < 1){ fade_out.alpha = (fade_out.alpha + (fade_out_rate * FlxG.elapsed)); }; if (fade_out.alpha > 1){ fade_out.alpha = 1; }; }; } public function displayMessage(_arg1:String, _arg2:Number=30, _arg3:Number=6635590, _arg4:Boolean=false, _arg5:int=0):void{ if (display_precedent <= _arg5){ display_message = _arg1; message.setText(display_message); display_precedent = _arg5; setDisplayTime(_arg2); fade_display = _arg4; display_color = _arg3; message.setColor(getMessageColor()); display_delay_time = display_delay_duration; display_delaying = true; }; } public function clearAchievementImage():void{ if (achievement_image != null){ game_state.removeChild(achievement_image); achievement_image = null; }; } public function setDisplayTime(_arg1:Number=30):void{ display_time_total = _arg1; display_time = display_time_total; } public static function timeString(_arg1:Number):String{ var _local2 = ""; var _local3:int = ((_arg1 / 60) / 60); if (_local3 > 0){ _local2 = (_local2 + (_local3.toString() + ":")); }; var _local4:int = (int((_arg1 / 60)) % 60); if ((((_local3 > 0)) && ((_local4 < 10)))){ _local2 = (_local2 + "0"); }; _local2 = (_local2 + (_local4.toString() + ":")); var _local5:int = (int(_arg1) % 60); if (_local5 < 10){ _local2 = (_local2 + "0"); }; _local2 = (_local2 + _local5.toString()); return (_local2); } } }//package game.ui
Section 173
//CHud_CameraFlashImage (game.ui.CHud_CameraFlashImage) package game.ui { import mx.core.*; public class CHud_CameraFlashImage extends BitmapAsset { } }//package game.ui
Section 174
//CHud_CorpseHealthEmptyImage (game.ui.CHud_CorpseHealthEmptyImage) package game.ui { import mx.core.*; public class CHud_CorpseHealthEmptyImage extends BitmapAsset { } }//package game.ui
Section 175
//CHud_CorpseHealthImage (game.ui.CHud_CorpseHealthImage) package game.ui { import mx.core.*; public class CHud_CorpseHealthImage extends BitmapAsset { } }//package game.ui
Section 176
//CHud_DamageFlashImage (game.ui.CHud_DamageFlashImage) package game.ui { import mx.core.*; public class CHud_DamageFlashImage extends BitmapAsset { } }//package game.ui
Section 177
//CHud_FadeOutImage (game.ui.CHud_FadeOutImage) package game.ui { import mx.core.*; public class CHud_FadeOutImage extends BitmapAsset { } }//package game.ui
Section 178
//CHud_TextBackgroundImage (game.ui.CHud_TextBackgroundImage) package game.ui { import mx.core.*; public class CHud_TextBackgroundImage extends BitmapAsset { } }//package game.ui
Section 179
//CMiniMapScreen (game.ui.CMiniMapScreen) package game.ui { import flash.display.*; import flash.text.*; import game.*; public class CMiniMapScreen extends CPauseScreen { public var level_name_field:TextField; public var current_level_marker:Bitmap;// = null protected var MiniMapImage:Class; protected var continue_game_button:ContinueGameButton; protected var CompletedLevelMarkerImage:Class; public var completed_level_markers:Array; protected var CurrentLevelMarkerImage:Class; public var level_coords:Array; protected var controls_button:ControlsButton; protected var LevelMarkerImage:Class; protected var WinImage:Class; public function CMiniMapScreen(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:Array){ WinImage = CMiniMapScreen_WinImage; MiniMapImage = CMiniMapScreen_MiniMapImage; CompletedLevelMarkerImage = CMiniMapScreen_CompletedLevelMarkerImage; CurrentLevelMarkerImage = CMiniMapScreen_CurrentLevelMarkerImage; LevelMarkerImage = CMiniMapScreen_LevelMarkerImage; level_coords = [[17, 294], [77, 427], [120, 411], [188, 427], [249, 343], [329, 291], [388, 242], [440, 242], [515, 200], [569, 128]]; completed_level_markers = []; super(_arg1, _arg2, _arg3, _arg4); } override public function update():void{ var _local1:Array; var _local2:Bitmap; var _local3:int; super.update(); if (current_level_marker != null){ this.removeChild(current_level_marker); }; if ((((GameState.s_current_level_index > 0)) && ((GameState.s_current_level_index < 10)))){ _local1 = level_coords[(GameState.s_current_level_index - 1)]; current_level_marker = setupBitmap(new CurrentLevelMarkerImage(), _local1[0], _local1[1]); } else { current_level_marker = null; }; for each (_local2 in completed_level_markers) { this.removeChild(_local2); }; completed_level_markers = new Array(); _local3 = 0; while (_local3 < (GameState.s_current_level_index - 1)) { _local1 = level_coords[_local3]; completed_level_markers.push(setupBitmap(new CompletedLevelMarkerImage(), (_local1[0] + 2), (_local1[1] + 2))); _local3++; }; level_name_field.text = GameState.s_current_level_name; } override public function initialize():void{ var _local1:Array; background = (addChild(new MiniMapImage()) as Bitmap); background.scaleX = 2; background.scaleY = 2; background.x = 0; background.y = 0; setupTextField("Current Level: ", 60, 18, 24); level_name_field = setupTextField("", 295, 18, 24); setupStats(15, 60, 0x999999); if (DeploymentSettings.sWalkthroughButtons){ controls_button = new ControlsButton(450, 375); this.addChild(controls_button); walkthrough_button = new WalkthroughButton(355, 410); this.addChild(walkthrough_button); } else { controls_button = new ControlsButton(450, 410); this.addChild(controls_button); }; continue_game_button = new ContinueGameButton(350, 445); this.addChild(continue_game_button); for each (_local1 in level_coords) { setupBitmap(new LevelMarkerImage(), _local1[0], _local1[1]); }; } } }//package game.ui
Section 180
//CMiniMapScreen_CompletedLevelMarkerImage (game.ui.CMiniMapScreen_CompletedLevelMarkerImage) package game.ui { import mx.core.*; public class CMiniMapScreen_CompletedLevelMarkerImage extends BitmapAsset { } }//package game.ui
Section 181
//CMiniMapScreen_CurrentLevelMarkerImage (game.ui.CMiniMapScreen_CurrentLevelMarkerImage) package game.ui { import mx.core.*; public class CMiniMapScreen_CurrentLevelMarkerImage extends BitmapAsset { } }//package game.ui
Section 182
//CMiniMapScreen_LevelMarkerImage (game.ui.CMiniMapScreen_LevelMarkerImage) package game.ui { import mx.core.*; public class CMiniMapScreen_LevelMarkerImage extends BitmapAsset { } }//package game.ui
Section 183
//CMiniMapScreen_MiniMapImage (game.ui.CMiniMapScreen_MiniMapImage) package game.ui { import mx.core.*; public class CMiniMapScreen_MiniMapImage extends BitmapAsset { } }//package game.ui
Section 184
//CMiniMapScreen_WinImage (game.ui.CMiniMapScreen_WinImage) package game.ui { import mx.core.*; public class CMiniMapScreen_WinImage extends BitmapAsset { } }//package game.ui
Section 185
//ContinueGameButton (game.ui.ContinueGameButton) package game.ui { import flash.events.*; import org.flixel.*; import game.*; public class ContinueGameButton extends CFlashButton { protected var ContinueGameButtonHoverImage:Class; protected var ContinueGameButtonRestImage:Class; public function ContinueGameButton(_arg1:int, _arg2:int, _arg3:Class=null, _arg4:Class=null){ ContinueGameButtonRestImage = ContinueGameButton_ContinueGameButtonRestImage; ContinueGameButtonHoverImage = ContinueGameButton_ContinueGameButtonHoverImage; if (_arg3 == null){ _arg3 = ContinueGameButtonRestImage; }; if (_arg4 == null){ _arg4 = ContinueGameButtonHoverImage; }; super(_arg1, _arg2, _arg3, _arg4); } override public function onClick(_arg1:Event):void{ super.onClick(_arg1); CorpseGame(FlxG._game).hideMiniMap(); CorpseGame(FlxG._game).unpause(true); } } }//package game.ui
Section 186
//ContinueGameButton_ContinueGameButtonHoverImage (game.ui.ContinueGameButton_ContinueGameButtonHoverImage) package game.ui { import mx.core.*; public class ContinueGameButton_ContinueGameButtonHoverImage extends BitmapAsset { } }//package game.ui
Section 187
//ContinueGameButton_ContinueGameButtonRestImage (game.ui.ContinueGameButton_ContinueGameButtonRestImage) package game.ui { import mx.core.*; public class ContinueGameButton_ContinueGameButtonRestImage extends BitmapAsset { } }//package game.ui
Section 188
//ContinueLastGameButton (game.ui.ContinueLastGameButton) package game.ui { import org.flixel.*; import game.*; public class ContinueLastGameButton extends CButton { protected var ContinueLastGameButtonImage:Class; public function ContinueLastGameButton(_arg1:int, _arg2:int, _arg3:FlxSprite=null, _arg4:FlxSprite=null, _arg5:FlxText=null, _arg6:FlxText=null){ ContinueLastGameButtonImage = ContinueLastGameButton_ContinueLastGameButtonImage; super(_arg1, _arg2, new FlxSprite(ContinueLastGameButtonImage, 0, 0, true, false, 170, 11), _arg4, _arg5, _arg6); } override public function onClick():void{ CorpseGame.new_game = false; FlxG.switchState(GameState); } } }//package game.ui
Section 189
//ContinueLastGameButton_ContinueLastGameButtonImage (game.ui.ContinueLastGameButton_ContinueLastGameButtonImage) package game.ui { import mx.core.*; public class ContinueLastGameButton_ContinueLastGameButtonImage extends BitmapAsset { } }//package game.ui
Section 190
//ControlsButton (game.ui.ControlsButton) package game.ui { import flash.events.*; import org.flixel.*; import game.*; public class ControlsButton extends CFlashButton { protected var ControlsButtonHoverImage:Class; protected var ControlsButtonRestImage:Class; public function ControlsButton(_arg1:int, _arg2:int, _arg3:Class=null, _arg4:Class=null){ ControlsButtonRestImage = ControlsButton_ControlsButtonRestImage; ControlsButtonHoverImage = ControlsButton_ControlsButtonHoverImage; if (_arg3 == null){ _arg3 = ControlsButtonRestImage; }; if (_arg4 == null){ _arg4 = ControlsButtonHoverImage; }; super(_arg1, _arg2, _arg3, _arg4); } override public function onClick(_arg1:Event):void{ super.onClick(_arg1); CorpseGame(FlxG._game).hideMiniMap(); CorpseGame(FlxG._game).pause(true); } } }//package game.ui
Section 191
//ControlsButton_ControlsButtonHoverImage (game.ui.ControlsButton_ControlsButtonHoverImage) package game.ui { import mx.core.*; public class ControlsButton_ControlsButtonHoverImage extends BitmapAsset { } }//package game.ui
Section 192
//ControlsButton_ControlsButtonRestImage (game.ui.ControlsButton_ControlsButtonRestImage) package game.ui { import mx.core.*; public class ControlsButton_ControlsButtonRestImage extends BitmapAsset { } }//package game.ui
Section 193
//CPauseScreen (game.ui.CPauseScreen) package game.ui { import flash.display.*; import flash.text.*; import game.*; import audio.*; import org.flixel.data.*; public class CPauseScreen extends FlxPause { public var total_vultures_killed_label:TextField; public var total_loads_label:TextField; protected var F5KeyImage:Class; public var minimap_button:MiniMapButton; protected var F8KeyImage:Class; public var stat_width:int;// = 80 public var total_vultures_killed_text:TextField; protected var ZeroKeyImage:Class; protected var PauseImage:Class; public var total_time_text:TextField; public var text:TextField; public var background:Bitmap; protected var FiveKeyImage:Class; public var x_offset:int;// = 175 public var title_x_offset:int;// = 120 public var controls_start_x:int;// = 30 public var controls_start_y:int;// = 60 public var total_deaths_label:TextField; public var total_hives_destroyed_label:TextField; public var total_health_loss_text:TextField; public var total_health_loss_label:TextField; public var total_hives_destroyed_text:TextField; public var sound_effect_button:SoundEffectsButton; public var hide_blank_stats:Boolean;// = true public var total_deaths_text:TextField; public var total_corpse_chunks_label:TextField; public var total_corpse_deaths_text:TextField; public var main_menu_button:MainMenuButton; public var total_restarts_text:TextField; public var pause_start_y:int;// = 15 public var total_restarts_label:TextField; public var total_corpse_damage_text:TextField; public var total_corpse_damage_label:TextField; public var total_corpse_deaths_label:TextField; protected var AKeyImage:Class; protected var DKeyImage:Class; public var esc_y_offset:int;// = 10 protected var IKeyImage:Class; protected var KKeyImage:Class; protected var LKeyImage:Class; protected var QKeyImage:Class; public var margin:int;// = 8 protected var SKeyImage:Class; protected var UKeyImage:Class; protected var WKeyImage:Class; protected var JKeyImage:Class; protected var EscKeyImage:Class; public var stats_y_offset:int; public var unpause_button:ContinueGameButton; protected var ShiftKeyImage:Class; public var total_corpse_chunks_text:TextField; protected var SpacebarKeyImage:Class; protected var EightKeyImage:Class; public var total_loads_text:TextField; protected var MouseImage:Class; public var stats_x_offset:int;// = 230 public var show_stats:Boolean;// = true public var total_time_label:TextField; public var music_button:MusicButton; public var label:TextField; public var walkthrough_button:WalkthroughButton; public function CPauseScreen(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:Array){ PauseImage = CPauseScreen_PauseImage; AKeyImage = CPauseScreen_AKeyImage; DKeyImage = CPauseScreen_DKeyImage; WKeyImage = CPauseScreen_WKeyImage; QKeyImage = CPauseScreen_QKeyImage; SKeyImage = CPauseScreen_SKeyImage; JKeyImage = CPauseScreen_JKeyImage; LKeyImage = CPauseScreen_LKeyImage; UKeyImage = CPauseScreen_UKeyImage; IKeyImage = CPauseScreen_IKeyImage; KKeyImage = CPauseScreen_KKeyImage; SpacebarKeyImage = CPauseScreen_SpacebarKeyImage; EscKeyImage = CPauseScreen_EscKeyImage; MouseImage = CPauseScreen_MouseImage; F5KeyImage = CPauseScreen_F5KeyImage; F8KeyImage = CPauseScreen_F8KeyImage; ShiftKeyImage = CPauseScreen_ShiftKeyImage; FiveKeyImage = CPauseScreen_FiveKeyImage; EightKeyImage = CPauseScreen_EightKeyImage; ZeroKeyImage = CPauseScreen_ZeroKeyImage; stats_y_offset = (11 + (1.5 * margin)); super(_arg1, _arg2, _arg3, _arg4); } public function setupBitmap(_arg1:DisplayObject, _arg2:int, _arg3:int):Bitmap{ var _local4:Bitmap = (addChild(_arg1) as Bitmap); _local4.scaleX = 2; _local4.scaleY = 2; _local4.x = _arg2; _local4.y = _arg3; return (_local4); } public function setupStats(_arg1:int, _arg2:int, _arg3:int=0xFFFFFF):void{ total_time_text = setupTextField(CHud.timeString(GameState.total_time), _arg1, _arg2, 16, "right", stat_width, _arg3); text = total_time_text; total_time_label = setupTextField("PLAY TIME", ((text.x + text.width) + margin), text.y, 16, "left", 0, _arg3); label = total_time_label; total_hives_destroyed_text = setupTextField("", (text.x + stats_x_offset), text.y, 16, "right", stat_width, _arg3); text = total_hives_destroyed_text; total_hives_destroyed_label = setupTextField("", ((text.x + text.width) + margin), text.y, 16, "left", 0, _arg3); label = total_hives_destroyed_label; total_loads_text = setupTextField("", _arg1, (text.y + stats_y_offset), 16, "right", stat_width, _arg3); text = total_loads_text; total_loads_label = setupTextField("", ((text.x + text.width) + margin), text.y, 16, "left", 0, _arg3); label = total_loads_label; total_restarts_text = setupTextField("", (text.x + stats_x_offset), text.y, 16, "right", stat_width, _arg3); text = total_restarts_text; total_restarts_label = setupTextField("", ((text.x + text.width) + margin), text.y, 16, "left", 0, _arg3); label = total_restarts_label; total_corpse_damage_text = setupTextField("", _arg1, (text.y + stats_y_offset), 16, "right", stat_width, _arg3); text = total_corpse_damage_text; total_corpse_damage_label = setupTextField("", ((text.x + text.width) + margin), text.y, 16, "left", 0, _arg3); label = total_corpse_damage_label; total_health_loss_text = setupTextField("", (text.x + stats_x_offset), text.y, 16, "right", stat_width, _arg3); text = total_health_loss_text; total_health_loss_label = setupTextField("", ((text.x + text.width) + margin), text.y, 16, "left", 0, _arg3); label = total_health_loss_label; total_corpse_chunks_text = setupTextField("", _arg1, (text.y + stats_y_offset), 16, "right", stat_width, _arg3); text = total_corpse_chunks_text; total_corpse_chunks_label = setupTextField("", ((text.x + text.width) + margin), text.y, 16, "left", 0, _arg3); label = total_corpse_chunks_label; total_deaths_text = setupTextField("", (text.x + stats_x_offset), text.y, 16, "right", stat_width, _arg3); text = total_deaths_text; total_deaths_label = setupTextField("", ((text.x + text.width) + margin), text.y, 16, "left", 0, _arg3); label = total_deaths_label; total_corpse_deaths_text = setupTextField("", _arg1, (text.y + stats_y_offset), 16, "right", stat_width, _arg3); text = total_corpse_deaths_text; total_corpse_deaths_label = setupTextField("", ((text.x + text.width) + margin), text.y, 16, "left", 0, _arg3); label = total_corpse_deaths_label; total_vultures_killed_text = setupTextField("", (text.x + stats_x_offset), text.y, 16, "right", stat_width, _arg3); text = total_vultures_killed_text; total_vultures_killed_label = setupTextField("", ((text.x + text.width) + margin), text.y, 16, "left", 0, _arg3); label = total_vultures_killed_label; } override public function initialize():void{ var _local3:Bitmap; var _local8:int; background = (addChild(new PauseImage()) as Bitmap); background.scaleX = 4; background.scaleY = 4; background.x = 0; background.y = 0; text = setupTextField("GAME PAUSED", (controls_start_x + title_x_offset), pause_start_y, 32); show_stats = false; _local3 = setupBitmap(new EscKeyImage(), (controls_start_x - (2 * margin)), ((controls_start_y + esc_y_offset) + margin)); text = setupTextField("PAUSE", ((_local3.x + _local3.width) + margin), _local3.y); _local3 = setupBitmap(new FiveKeyImage(), (controls_start_x + x_offset), _local3.y); text = setupTextField("RELOAD SAVE", ((_local3.x + _local3.width) + margin), _local3.y); _local3 = setupBitmap(new ZeroKeyImage(), ((controls_start_x + (2 * x_offset)) + (2 * margin)), _local3.y); text = setupTextField("RESTART LEVEL", ((_local3.x + _local3.width) + margin), _local3.y); var _local1:int = (controls_start_x - 20); var _local2:int = ((_local3.y + _local3.height) + (margin * 2)); var _local4:int = (margin / 2); var _local5:int = x_offset; _local3 = setupBitmap(new QKeyImage(), (_local1 + (0.35 * _local5)), (_local2 + margin)); _local3 = setupBitmap(new UKeyImage(), ((_local3.x + _local3.width) + _local4), _local3.y); text = setupTextField("SELECT ITEM", ((_local3.x + _local3.width) + margin), _local3.y); _local3 = setupBitmap(new WKeyImage(), (_local1 + (1.55 * _local5)), (_local2 + margin)); _local3 = setupBitmap(new IKeyImage(), ((_local3.x + _local3.width) + _local4), _local3.y); text = setupTextField("JUMP", ((_local3.x + _local3.width) + margin), _local3.y); _local3 = setupBitmap(new AKeyImage(), (_local1 + (0.25 * _local5)), ((_local3.y + _local3.height) + (2 * margin))); _local3 = setupBitmap(new JKeyImage(), ((_local3.x + _local3.width) + _local4), _local3.y); text = setupTextField("MOVE LEFT", ((_local3.x + _local3.width) + margin), _local3.y); _local3 = setupBitmap(new DKeyImage(), (_local1 + (1.6 * _local5)), _local3.y); _local3 = setupBitmap(new LKeyImage(), ((_local3.x + _local3.width) + _local4), _local3.y); text = setupTextField("MOVE RIGHT", ((_local3.x + _local3.width) + margin), _local3.y); _local3 = setupBitmap(new SKeyImage(), (_local1 + (0.65 * _local5)), ((_local3.y + _local3.height) + (2 * margin))); _local3 = setupBitmap(new KKeyImage(), ((_local3.x + _local3.width) + _local4), _local3.y); _local3 = setupBitmap(new ShiftKeyImage(), ((_local3.x + _local3.width) + _local4), _local3.y); text = setupTextField("PICK UP/DROP", ((_local3.x + _local3.width) + margin), _local3.y); _local3 = setupBitmap(new SpacebarKeyImage(), (_local1 + ((x_offset * 3) / 4)), ((_local3.y + _local3.height) + (3 * margin))); text = setupTextField("USE/EAT", ((_local3.x + _local3.width) + margin), _local3.y); var _local6:int = _local3.height; _local3 = setupBitmap(new MouseImage(), (_local1 + ((x_offset * 3) / 8)), ((_local3.y + _local3.height) + (3 * margin))); var _local7:int = ((_local3.x + _local3.width) + margin); text = setupTextField("HOLD LEFT BUTTON TO CHARGE", _local7, _local3.y); text = setupTextField("POINT TO AIM", _local7, (_local3.y + _local6)); text = setupTextField("RELEASE BUTTON TO THROW", _local7, (_local3.y + (2 * _local6))); minimap_button = new MiniMapButton((_local1 - 20), ((_local3.y + _local3.height) + (3 * margin))); this.addChild(minimap_button); if (DeploymentSettings.sWalkthroughButtons){ walkthrough_button = new WalkthroughButton((minimap_button.x - (x_offset / 5)), (minimap_button.y + (4 * margin))); this.addChild(walkthrough_button); _local8 = (walkthrough_button.y + (4 * margin)); } else { minimap_button.y = (minimap_button.y + (4 * margin)); _local8 = (minimap_button.y + (4 * margin)); }; unpause_button = new ContinueGameButton((minimap_button.x - (x_offset / 12)), _local8); this.addChild(unpause_button); main_menu_button = new MainMenuButton(((unpause_button.x + unpause_button.width) + (5 * margin)), unpause_button.y); this.addChild(main_menu_button); var _local9:SoundEffectsButton_MovieClip = new SoundEffectsButton_MovieClip(); _local9.x = 605; _local9.y = 445; this.addChild(_local9); sound_effect_button = new SoundEffectsButton(_local9); var _local10:MusicButton_MovieClip = new MusicButton_MovieClip(); _local10.x = (_local9.x - 35); _local10.y = _local9.y; this.addChild(_local10); music_button = new MusicButton(_local10); } public function setupTextField(_arg1:String, _arg2:int, _arg3:int, _arg4:int=16, _arg5:String="left", _arg6:int=0, _arg7:int=0xFFFFFF):TextField{ var _local8:TextField = new TextField(); if (_arg6 == 0){ _arg6 = (background.width / 2); }; _local8.width = _arg6; _local8.selectable = false; _local8.embedFonts = true; _local8.antiAliasType = AntiAliasType.NORMAL; _local8.gridFitType = GridFitType.PIXEL; _local8.defaultTextFormat = new TextFormat("system", _arg4, _arg7, null, null, null, null, null, _arg5, null, null, null, 4); _local8.text = _arg1; _local8.x = _arg2; _local8.y = _arg3; addChild(_local8); return (_local8); } override public function update():void{ if (show_stats){ total_time_text.text = CHud.timeString(GameState.total_time); if (((!(hide_blank_stats)) || ((GameState.total_hives_destroyed > 0)))){ total_hives_destroyed_text.text = GameState.total_hives_destroyed.toString(); total_hives_destroyed_label.text = "HIVES DESTROYED"; }; if (((!(hide_blank_stats)) || ((GameState.total_loads > 0)))){ total_loads_text.text = GameState.total_loads.toString(); total_loads_label.text = "RELOADED SAVES"; }; if (((!(hide_blank_stats)) || ((GameState.total_restarts > 0)))){ total_restarts_text.text = GameState.total_restarts.toString(); total_restarts_label.text = "RESTARTED LEVELS"; }; if (((!(hide_blank_stats)) || ((GameState.total_corpse_damage > 0)))){ total_corpse_damage_text.text = int((GameState.total_corpse_damage / 100)).toString(); total_corpse_damage_label.text = "CORPSE DAMAGE"; }; if (((!(hide_blank_stats)) || ((GameState.total_health_loss > 0)))){ total_health_loss_text.text = GameState.total_health_loss.toString(); total_health_loss_label.text = "HEALTH LOSS"; }; if (((!(hide_blank_stats)) || ((GameState.total_corpse_chunks > 0)))){ total_corpse_chunks_text.text = GameState.total_corpse_chunks.toString(); total_corpse_chunks_label.text = "CORPSE CHUNKS"; }; if (((!(hide_blank_stats)) || ((GameState.total_deaths > 0)))){ total_deaths_text.text = GameState.total_deaths.toString(); total_deaths_label.text = "DEATHS"; }; if (((!(hide_blank_stats)) || ((GameState.total_corpse_deaths > 0)))){ total_corpse_deaths_text.text = GameState.total_corpse_deaths.toString(); total_corpse_deaths_label.text = "CORPSE DEATHS"; }; if (((!(hide_blank_stats)) || ((GameState.total_vultures_killed > 0)))){ total_vultures_killed_text.text = GameState.total_vultures_killed.toString(); total_vultures_killed_label.text = "VULTURES KILLED"; }; }; } } }//package game.ui
Section 194
//CPauseScreen_AKeyImage (game.ui.CPauseScreen_AKeyImage) package game.ui { import mx.core.*; public class CPauseScreen_AKeyImage extends BitmapAsset { } }//package game.ui
Section 195
//CPauseScreen_DKeyImage (game.ui.CPauseScreen_DKeyImage) package game.ui { import mx.core.*; public class CPauseScreen_DKeyImage extends BitmapAsset { } }//package game.ui
Section 196
//CPauseScreen_EightKeyImage (game.ui.CPauseScreen_EightKeyImage) package game.ui { import mx.core.*; public class CPauseScreen_EightKeyImage extends BitmapAsset { } }//package game.ui
Section 197
//CPauseScreen_EscKeyImage (game.ui.CPauseScreen_EscKeyImage) package game.ui { import mx.core.*; public class CPauseScreen_EscKeyImage extends BitmapAsset { } }//package game.ui
Section 198
//CPauseScreen_F5KeyImage (game.ui.CPauseScreen_F5KeyImage) package game.ui { import mx.core.*; public class CPauseScreen_F5KeyImage extends BitmapAsset { } }//package game.ui
Section 199
//CPauseScreen_F8KeyImage (game.ui.CPauseScreen_F8KeyImage) package game.ui { import mx.core.*; public class CPauseScreen_F8KeyImage extends BitmapAsset { } }//package game.ui
Section 200
//CPauseScreen_FiveKeyImage (game.ui.CPauseScreen_FiveKeyImage) package game.ui { import mx.core.*; public class CPauseScreen_FiveKeyImage extends BitmapAsset { } }//package game.ui
Section 201
//CPauseScreen_IKeyImage (game.ui.CPauseScreen_IKeyImage) package game.ui { import mx.core.*; public class CPauseScreen_IKeyImage extends BitmapAsset { } }//package game.ui
Section 202
//CPauseScreen_JKeyImage (game.ui.CPauseScreen_JKeyImage) package game.ui { import mx.core.*; public class CPauseScreen_JKeyImage extends BitmapAsset { } }//package game.ui
Section 203
//CPauseScreen_KKeyImage (game.ui.CPauseScreen_KKeyImage) package game.ui { import mx.core.*; public class CPauseScreen_KKeyImage extends BitmapAsset { } }//package game.ui
Section 204
//CPauseScreen_LKeyImage (game.ui.CPauseScreen_LKeyImage) package game.ui { import mx.core.*; public class CPauseScreen_LKeyImage extends BitmapAsset { } }//package game.ui
Section 205
//CPauseScreen_MouseImage (game.ui.CPauseScreen_MouseImage) package game.ui { import mx.core.*; public class CPauseScreen_MouseImage extends BitmapAsset { } }//package game.ui
Section 206
//CPauseScreen_PauseImage (game.ui.CPauseScreen_PauseImage) package game.ui { import mx.core.*; public class CPauseScreen_PauseImage extends BitmapAsset { } }//package game.ui
Section 207
//CPauseScreen_QKeyImage (game.ui.CPauseScreen_QKeyImage) package game.ui { import mx.core.*; public class CPauseScreen_QKeyImage extends BitmapAsset { } }//package game.ui
Section 208
//CPauseScreen_ShiftKeyImage (game.ui.CPauseScreen_ShiftKeyImage) package game.ui { import mx.core.*; public class CPauseScreen_ShiftKeyImage extends BitmapAsset { } }//package game.ui
Section 209
//CPauseScreen_SKeyImage (game.ui.CPauseScreen_SKeyImage) package game.ui { import mx.core.*; public class CPauseScreen_SKeyImage extends BitmapAsset { } }//package game.ui
Section 210
//CPauseScreen_SpacebarKeyImage (game.ui.CPauseScreen_SpacebarKeyImage) package game.ui { import mx.core.*; public class CPauseScreen_SpacebarKeyImage extends BitmapAsset { } }//package game.ui
Section 211
//CPauseScreen_UKeyImage (game.ui.CPauseScreen_UKeyImage) package game.ui { import mx.core.*; public class CPauseScreen_UKeyImage extends BitmapAsset { } }//package game.ui
Section 212
//CPauseScreen_WKeyImage (game.ui.CPauseScreen_WKeyImage) package game.ui { import mx.core.*; public class CPauseScreen_WKeyImage extends BitmapAsset { } }//package game.ui
Section 213
//CPauseScreen_ZeroKeyImage (game.ui.CPauseScreen_ZeroKeyImage) package game.ui { import mx.core.*; public class CPauseScreen_ZeroKeyImage extends BitmapAsset { } }//package game.ui
Section 214
//CreditsButton (game.ui.CreditsButton) package game.ui { import org.flixel.*; import game.*; public class CreditsButton extends CButton { protected var CreditsButtonImage:Class; public function CreditsButton(_arg1:int, _arg2:int, _arg3:FlxSprite=null, _arg4:FlxSprite=null, _arg5:FlxText=null, _arg6:FlxText=null){ CreditsButtonImage = CreditsButton_CreditsButtonImage; super(_arg1, _arg2, new FlxSprite(CreditsButtonImage, 0, 0, true, false, 100, 11), _arg4, _arg5, _arg6); } override public function onClick():void{ FlxG.switchState(CreditsState); } } }//package game.ui
Section 215
//CreditsButton_CreditsButtonImage (game.ui.CreditsButton_CreditsButtonImage) package game.ui { import mx.core.*; public class CreditsButton_CreditsButtonImage extends BitmapAsset { } }//package game.ui
Section 216
//CTarget (game.ui.CTarget) package game.ui { import org.flixel.*; public class CTarget extends FlxSprite { public var level:Number;// = 1 public static var imgTarget:Class = CTarget_imgTarget; public static var imgTarget2:Class = CTarget_imgTarget2; public static var imgTarget3:Class = CTarget_imgTarget3; public function CTarget(_arg1:Number){ var _local2:Class; level = _arg1; if (level == 1){ _local2 = imgTarget; } else { if (level == 2){ _local2 = imgTarget2; } else { if (level == 3){ _local2 = imgTarget3; }; }; }; super(_local2); if ((((level < 1)) || ((level > 3)))){ throw (new Error(("Illegal CTarget level: " + level))); }; } } }//package game.ui
Section 217
//CTarget_imgTarget (game.ui.CTarget_imgTarget) package game.ui { import mx.core.*; public class CTarget_imgTarget extends BitmapAsset { } }//package game.ui
Section 218
//CTarget_imgTarget2 (game.ui.CTarget_imgTarget2) package game.ui { import mx.core.*; public class CTarget_imgTarget2 extends BitmapAsset { } }//package game.ui
Section 219
//CTarget_imgTarget3 (game.ui.CTarget_imgTarget3) package game.ui { import mx.core.*; public class CTarget_imgTarget3 extends BitmapAsset { } }//package game.ui
Section 220
//CWinScreen (game.ui.CWinScreen) package game.ui { import flash.display.*; import game.*; import achievements.*; public class CWinScreen extends CPauseScreen { public var submit_highscore_button:SubmitHighscoreButton; protected var WinImage:Class; public function CWinScreen(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:Array){ WinImage = CWinScreen_WinImage; super(_arg1, _arg2, _arg3, _arg4); } override public function initialize():void{ background = (addChild(new WinImage()) as Bitmap); background.scaleX = 4; background.scaleY = 4; background.x = 0; background.y = 0; controls_start_x = 130; var _local1 = 300; var _local2 = 270; var _local3 = 30; text = setupTextField("THE END", ((controls_start_x + x_offset) + 5), pause_start_y, 32); text = setupTextField("FINAL STATS", (controls_start_x + (title_x_offset * 1.2)), (text.y + (esc_y_offset * 5)), 32); setupStats(controls_start_x, ((text.y + (esc_y_offset * 7.5)) - 8)); text = setupTextField("COMING SOON:", (_local1 + 50), _local2, 24); text = setupTextField("A ROSE FOR CHRISTIE!", _local1, (text.y + (_local3 * 1.5)), 24); text = setupTextField("OR, TEALE'S BIG HIKE II!", (_local1 - 13), (text.y + _local3), 24, "left", (background.width * 0.75)); hide_blank_stats = false; main_menu_button = new MainMenuButton((_local1 + 60), (text.y + (_local3 * 2)), null, null); this.addChild(main_menu_button); submit_highscore_button = new SubmitHighscoreButton((main_menu_button.x - 70), (main_menu_button.y + _local3), null, null, this); this.addChild(submit_highscore_button); } override public function show():void{ Achievements.SubmitScore(DeploymentSettings.sHighscoreGameID, (GameState.total_time * 1000)); } } }//package game.ui
Section 221
//CWinScreen_WinImage (game.ui.CWinScreen_WinImage) package game.ui { import mx.core.*; public class CWinScreen_WinImage extends BitmapAsset { } }//package game.ui
Section 222
//FlxMainMenuButton (game.ui.FlxMainMenuButton) package game.ui { import org.flixel.*; import game.*; public class FlxMainMenuButton extends CButton { protected var MainMenuButtonImage:Class; public function FlxMainMenuButton(_arg1:int, _arg2:int, _arg3:FlxSprite=null, _arg4:FlxSprite=null, _arg5:FlxText=null, _arg6:FlxText=null){ MainMenuButtonImage = FlxMainMenuButton_MainMenuButtonImage; super(_arg1, _arg2, new FlxSprite(MainMenuButtonImage, 0, 0, true, false, 100, 11), _arg4, _arg5, _arg6); } override public function onClick():void{ FlxG.switchState(MenuState); } } }//package game.ui
Section 223
//FlxMainMenuButton_MainMenuButtonImage (game.ui.FlxMainMenuButton_MainMenuButtonImage) package game.ui { import mx.core.*; public class FlxMainMenuButton_MainMenuButtonImage extends BitmapAsset { } }//package game.ui
Section 224
//MainMenuButton (game.ui.MainMenuButton) package game.ui { import flash.events.*; import org.flixel.*; import game.*; public class MainMenuButton extends CFlashButton { protected var MainMenuButtonHoverImage:Class; protected var MainMenuButtonRestImage:Class; public function MainMenuButton(_arg1:int, _arg2:int, _arg3:Class=null, _arg4:Class=null){ MainMenuButtonRestImage = MainMenuButton_MainMenuButtonRestImage; MainMenuButtonHoverImage = MainMenuButton_MainMenuButtonHoverImage; if (_arg3 == null){ _arg3 = MainMenuButtonRestImage; }; if (_arg4 == null){ _arg4 = MainMenuButtonHoverImage; }; super(_arg1, _arg2, _arg3, _arg4); } override public function onClick(_arg1:Event):void{ super.onClick(_arg1); SoundManager.stopMusic(); CorpseGame(FlxG._game).unwin(); CorpseGame(FlxG._game).unpause(true); Game.main_menu_request = true; FlxG.switchState(MenuState); } } }//package game.ui
Section 225
//MainMenuButton_MainMenuButtonHoverImage (game.ui.MainMenuButton_MainMenuButtonHoverImage) package game.ui { import mx.core.*; public class MainMenuButton_MainMenuButtonHoverImage extends BitmapAsset { } }//package game.ui
Section 226
//MainMenuButton_MainMenuButtonRestImage (game.ui.MainMenuButton_MainMenuButtonRestImage) package game.ui { import mx.core.*; public class MainMenuButton_MainMenuButtonRestImage extends BitmapAsset { } }//package game.ui
Section 227
//MiniMapButton (game.ui.MiniMapButton) package game.ui { import flash.events.*; import org.flixel.*; import game.*; public class MiniMapButton extends CFlashButton { protected var MiniMapButtonRestImage:Class; protected var MiniMapButtonHoverImage:Class; public function MiniMapButton(_arg1:int, _arg2:int, _arg3:Class=null, _arg4:Class=null){ MiniMapButtonRestImage = MiniMapButton_MiniMapButtonRestImage; MiniMapButtonHoverImage = MiniMapButton_MiniMapButtonHoverImage; if (_arg3 == null){ _arg3 = MiniMapButtonRestImage; }; if (_arg4 == null){ _arg4 = MiniMapButtonHoverImage; }; super(_arg1, _arg2, _arg3, _arg4); } override public function onClick(_arg1:Event):void{ super.onClick(_arg1); CorpseGame(FlxG._game).unpause(true); CorpseGame(FlxG._game).showMiniMap(); } } }//package game.ui
Section 228
//MiniMapButton_MiniMapButtonHoverImage (game.ui.MiniMapButton_MiniMapButtonHoverImage) package game.ui { import mx.core.*; public class MiniMapButton_MiniMapButtonHoverImage extends BitmapAsset { } }//package game.ui
Section 229
//MiniMapButton_MiniMapButtonRestImage (game.ui.MiniMapButton_MiniMapButtonRestImage) package game.ui { import mx.core.*; public class MiniMapButton_MiniMapButtonRestImage extends BitmapAsset { } }//package game.ui
Section 230
//StartButton (game.ui.StartButton) package game.ui { import org.flixel.*; import game.*; public class StartButton extends CButton { protected var PlayButtonImage:Class; public function StartButton(_arg1:int, _arg2:int, _arg3:FlxSprite=null, _arg4:FlxSprite=null, _arg5:FlxText=null, _arg6:FlxText=null){ PlayButtonImage = StartButton_PlayButtonImage; super(_arg1, _arg2, new FlxSprite(PlayButtonImage, 0, 0, true, false, 100, 11), _arg4, _arg5, _arg6); } override public function onClick():void{ CorpseGame.new_game = true; FlxG.switchState(GameState); } } }//package game.ui
Section 231
//StartButton_PlayButtonImage (game.ui.StartButton_PlayButtonImage) package game.ui { import mx.core.*; public class StartButton_PlayButtonImage extends BitmapAsset { } }//package game.ui
Section 232
//SubmitHighscoreButton (game.ui.SubmitHighscoreButton) package game.ui { import flash.events.*; import flash.display.*; import game.*; import main.screens.*; import portalAPI.*; public class SubmitHighscoreButton extends CFlashButton { public var anchor:Sprite; protected var SubmitHighscoreButtonHoverImage:Class; protected var SubmitHighscoreButtonRestImage:Class; public function SubmitHighscoreButton(_arg1:int, _arg2:int, _arg3:Class, _arg4:Class, _arg5:Sprite){ SubmitHighscoreButtonRestImage = SubmitHighscoreButton_SubmitHighscoreButtonRestImage; SubmitHighscoreButtonHoverImage = SubmitHighscoreButton_SubmitHighscoreButtonHoverImage; if (_arg3 == null){ _arg3 = SubmitHighscoreButtonRestImage; }; if (_arg4 == null){ _arg4 = SubmitHighscoreButtonHoverImage; }; anchor = _arg5; super(_arg1, _arg2, _arg3, _arg4); } override public function onClick(_arg1:Event):void{ var _local2:MochiLeaderboardScreen; super.onClick(_arg1); if (DeploymentSettings.sUseArmorGamesAPI){ ArmorGames.SubmitScore((GameState.total_time * 1000)); } else { _local2 = new MochiLeaderboardScreen(anchor); _local2.SubmitScore((GameState.total_time * 1000)); }; } } }//package game.ui
Section 233
//SubmitHighscoreButton_SubmitHighscoreButtonHoverImage (game.ui.SubmitHighscoreButton_SubmitHighscoreButtonHoverImage) package game.ui { import mx.core.*; public class SubmitHighscoreButton_SubmitHighscoreButtonHoverImage extends BitmapAsset { } }//package game.ui
Section 234
//SubmitHighscoreButton_SubmitHighscoreButtonRestImage (game.ui.SubmitHighscoreButton_SubmitHighscoreButtonRestImage) package game.ui { import mx.core.*; public class SubmitHighscoreButton_SubmitHighscoreButtonRestImage extends BitmapAsset { } }//package game.ui
Section 235
//WalkthroughButton (game.ui.WalkthroughButton) package game.ui { import flash.events.*; import game.*; public class WalkthroughButton extends CFlashButton { protected var WalkthroughButtonRestImage:Class; protected var WalkthroughButtonHoverImage:Class; public function WalkthroughButton(_arg1:int, _arg2:int, _arg3:Class=null, _arg4:Class=null){ WalkthroughButtonRestImage = WalkthroughButton_WalkthroughButtonRestImage; WalkthroughButtonHoverImage = WalkthroughButton_WalkthroughButtonHoverImage; if (_arg3 == null){ _arg3 = WalkthroughButtonRestImage; }; if (_arg4 == null){ _arg4 = WalkthroughButtonHoverImage; }; super(_arg1, _arg2, _arg3, _arg4); } override public function onClick(_arg1:Event):void{ super.onClick(_arg1); GameState.openWalkthrough(); } } }//package game.ui
Section 236
//WalkthroughButton_WalkthroughButtonHoverImage (game.ui.WalkthroughButton_WalkthroughButtonHoverImage) package game.ui { import mx.core.*; public class WalkthroughButton_WalkthroughButtonHoverImage extends BitmapAsset { } }//package game.ui
Section 237
//WalkthroughButton_WalkthroughButtonRestImage (game.ui.WalkthroughButton_WalkthroughButtonRestImage) package game.ui { import mx.core.*; public class WalkthroughButton_WalkthroughButtonRestImage extends BitmapAsset { } }//package game.ui
Section 238
//CGeneralBody (game.CGeneralBody) package game { import org.flixel.*; import flash.geom.*; public class CGeneralBody extends FlxSprite { public var save_acceleration:Point; public var volume_multiplier:Number;// = 1 public var save_active:Boolean; public var collides_blocks:Boolean;// = false public var bounce_sound:String;// = "none" public var holding_image_x_offset:int; public var save_alpha:Number; public var save_last:Point; public var fall_velocity:int;// = 25 public var save_visible:Boolean; public var start_mass:Number;// = 0 public var save_x:Number; public var land_sound:String;// = "none" public var save_y:Number; public var start_x:Number; public var start_y:Number; public var save_exists:Boolean; public var holding_image:FlxSprite; public var using_image:FlxSprite; public var save_facing:Boolean; public var save_health:Number; public var save_velocity:Point; public var save_animation_name:String; public var save_dead:Boolean; public var mass:Number; public var holding_image_y_offset:int; public var save_mass:Number; public function CGeneralBody(_arg1:Class=null, _arg2:int=0, _arg3:int=0, _arg4:Boolean=false, _arg5:Boolean=false, _arg6:uint=0, _arg7:uint=0, _arg8:uint=0, _arg9:Boolean=false){ super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9); start_x = _arg2; start_y = _arg3; holding_image = new FlxSprite(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9); holding_image.visible = false; holding_image.scrollFactor.x = (holding_image.scrollFactor.y = 0); holding_image_x_offset = (holding_image_y_offset = 0); using_image = new FlxSprite(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9); using_image.visible = false; using_image.scrollFactor.x = (using_image.scrollFactor.y = 0); } public function saveState():void{ save_x = x; save_y = y; save_mass = mass; save_last = last.clone(); save_velocity = velocity.clone(); save_acceleration = acceleration.clone(); save_dead = dead; save_exists = exists; save_active = active; save_visible = visible; save_health = health; if (_curAnim){ save_animation_name = _curAnim.name; } else { save_animation_name = null; }; save_facing = facing; save_alpha = alpha; } override public function hitWall(_arg1:FlxCore=null):Boolean{ var _local2:Number; var _local3:Number; var _local4:Number; if ((((velocity.x > fall_velocity)) || ((velocity.x < (-1 * fall_velocity))))){ _local2 = (x - Player.getGameState().getPlayer().x); if (Math.abs(_local2) <= SoundManager.hearing_distance){ _local3 = (_local2 / SoundManager.hearing_distance); _local4 = getKnockVolume(velocity.y); SoundManager.play(bounce_sound, _local4, _local3); }; }; return (super.hitWall(_arg1)); } public function getVolume():Number{ return (SoundManager.getDistanceMultiplier(x, y)); } override public function hitCeiling(_arg1:FlxCore=null):Boolean{ var _local2:Number; var _local3:Number; var _local4:Number; if (velocity.y < (-1 * fall_velocity)){ _local2 = (x - Player.getGameState().getPlayer().x); if (Math.abs(_local2) <= SoundManager.hearing_distance){ _local3 = (_local2 / SoundManager.hearing_distance); _local4 = getKnockVolume(velocity.x); SoundManager.play(bounce_sound, _local4); }; }; return (super.hitCeiling(_arg1)); } public function initialize():void{ this.dead = false; this.exists = true; this.active = true; x = start_x; y = start_y; last = new Point(start_x, start_y); mass = start_mass; velocity = new Point(); acceleration = new Point(); } public function getForce():Number{ var _local1:Number = getMagnitude(); return ((_local1 * mass)); } override public function hitFloor(_arg1:FlxCore=null):Boolean{ var _local2:Number; var _local3:Number; var _local4:Number; if (velocity.y > fall_velocity){ _local2 = (x - Player.getGameState().getPlayer().x); if (Math.abs(_local2) <= SoundManager.hearing_distance){ _local3 = (_local2 / SoundManager.hearing_distance); _local4 = getKnockVolume(velocity.y); SoundManager.play(land_sound, _local4, _local3); }; }; return (super.hitFloor(_arg1)); } override public function update():void{ super.update(); holding_image.visible = false; using_image.visible = false; } public function loadState():void{ x = save_x; y = save_y; mass = save_mass; last = save_last.clone(); velocity = save_velocity.clone(); acceleration = save_acceleration.clone(); dead = save_dead; exists = save_exists; active = save_active; visible = save_visible; health = save_health; if (save_animation_name != null){ play(save_animation_name); }; facing = save_facing; alpha = save_alpha; } override public function play(_arg1:String, _arg2:Boolean=false):void{ super.play(_arg1, _arg2); holding_image.play(_arg1, _arg2); using_image.play(_arg1, _arg2); } public function getKnockVolume(_arg1:Number):Number{ return ((SoundManager.getDistanceMultiplier(x, y) * volume_multiplier)); } public function getMagnitude():Number{ return (Math.sqrt(((velocity.x * velocity.x) + (velocity.y * velocity.y)))); } override public function addAnimation(_arg1:String, _arg2:Array, _arg3:Number=0, _arg4:Boolean=true):void{ super.addAnimation(_arg1, _arg2, _arg3, _arg4); holding_image.addAnimation(_arg1, _arg2, _arg3, _arg4); using_image.addAnimation(_arg1, _arg2, _arg3, _arg4); } public function getPan():Number{ return (SoundManager.getPan(x, y)); } } }//package game
Section 239
//CorpseGame (game.CorpseGame) package game { import flash.events.*; import org.flixel.*; import audio.*; import game.ui.*; public class CorpseGame extends FlxGame { protected var ChristieOuch3Sound:Class; protected var ChristieOuch1Sound:Class; protected var ChristieJump2Sound:Class; protected var ChristieGrossSound:Class; protected var ChristieThrowHeavySound:Class; protected var ChristieGreatSound:Class; protected var ChristieEwSound:Class; protected var ChristiePickUpHeavySound:Class; protected var ChristieOuch4Sound:Class; protected var ChristieOuch2Sound:Class; protected var ChristieJump1Sound:Class; protected var ChristieThrowLightSound:Class; protected var ChristieTakeThatSound:Class; public static var new_game:Boolean = true; public function CorpseGame():void{ ChristieJump1Sound = CorpseGame_ChristieJump1Sound; ChristieJump2Sound = CorpseGame_ChristieJump2Sound; ChristiePickUpHeavySound = CorpseGame_ChristiePickUpHeavySound; ChristieThrowHeavySound = CorpseGame_ChristieThrowHeavySound; ChristieThrowLightSound = CorpseGame_ChristieThrowLightSound; ChristieOuch1Sound = CorpseGame_ChristieOuch1Sound; ChristieOuch2Sound = CorpseGame_ChristieOuch2Sound; ChristieOuch3Sound = CorpseGame_ChristieOuch3Sound; ChristieOuch4Sound = CorpseGame_ChristieOuch4Sound; ChristieGrossSound = CorpseGame_ChristieGrossSound; ChristieEwSound = CorpseGame_ChristieEwSound; ChristieGreatSound = CorpseGame_ChristieGreatSound; ChristieTakeThatSound = CorpseGame_ChristieTakeThatSound; super(320, 240, GameState, 2, 4279442459, true, 4285700436); useDefaultVolumeControls(true); AudioEngine.RegisterSound(ChristieJump1Sound, "jump1", AudioEngine.SFX_CHANNEL); AudioEngine.RegisterSound(ChristieJump2Sound, "jump2", AudioEngine.SFX_CHANNEL); AudioEngine.RegisterSound(ChristiePickUpHeavySound, "pickupHeavy", AudioEngine.SFX_CHANNEL); AudioEngine.RegisterSound(ChristieThrowHeavySound, "throwHeavy", AudioEngine.SFX_CHANNEL); AudioEngine.RegisterSound(ChristieThrowLightSound, "throwLight", AudioEngine.SFX_CHANNEL); AudioEngine.RegisterSound(ChristieOuch1Sound, "ouch1", AudioEngine.SFX_CHANNEL); AudioEngine.RegisterSound(ChristieOuch2Sound, "ouch2", AudioEngine.SFX_CHANNEL); AudioEngine.RegisterSound(ChristieOuch3Sound, "ouch3", AudioEngine.SFX_CHANNEL); AudioEngine.RegisterSound(ChristieOuch4Sound, "ouch4", AudioEngine.SFX_CHANNEL); AudioEngine.RegisterSound(ChristieGrossSound, "gross", AudioEngine.SFX_CHANNEL); AudioEngine.RegisterSound(ChristieEwSound, "ew", AudioEngine.SFX_CHANNEL); AudioEngine.RegisterSound(ChristieGreatSound, "great", AudioEngine.SFX_CHANNEL); AudioEngine.RegisterSound(ChristieTakeThatSound, "take_that", AudioEngine.SFX_CHANNEL); } override public function initializePause():void{ _minimapPopup = new CMiniMapScreen(_gameXOffset, _gameYOffset, _zoom, _helpStrings); _pausePopup = new CPauseScreen(_gameXOffset, _gameYOffset, _zoom, _helpStrings); _winPopup = new CWinScreen(_gameXOffset, _gameYOffset, _zoom, _helpStrings); } override protected function onFocus(_arg1:Event=null):void{ unpause(); } override protected function onFocusLost(_arg1:Event=null):void{ pause(); } } }//package game
Section 240
//CorpseGame_ChristieEwSound (game.CorpseGame_ChristieEwSound) package game { import mx.core.*; public class CorpseGame_ChristieEwSound extends SoundAsset { } }//package game
Section 241
//CorpseGame_ChristieGreatSound (game.CorpseGame_ChristieGreatSound) package game { import mx.core.*; public class CorpseGame_ChristieGreatSound extends SoundAsset { } }//package game
Section 242
//CorpseGame_ChristieGrossSound (game.CorpseGame_ChristieGrossSound) package game { import mx.core.*; public class CorpseGame_ChristieGrossSound extends SoundAsset { } }//package game
Section 243
//CorpseGame_ChristieJump1Sound (game.CorpseGame_ChristieJump1Sound) package game { import mx.core.*; public class CorpseGame_ChristieJump1Sound extends SoundAsset { } }//package game
Section 244
//CorpseGame_ChristieJump2Sound (game.CorpseGame_ChristieJump2Sound) package game { import mx.core.*; public class CorpseGame_ChristieJump2Sound extends SoundAsset { } }//package game
Section 245
//CorpseGame_ChristieOuch1Sound (game.CorpseGame_ChristieOuch1Sound) package game { import mx.core.*; public class CorpseGame_ChristieOuch1Sound extends SoundAsset { } }//package game
Section 246
//CorpseGame_ChristieOuch2Sound (game.CorpseGame_ChristieOuch2Sound) package game { import mx.core.*; public class CorpseGame_ChristieOuch2Sound extends SoundAsset { } }//package game
Section 247
//CorpseGame_ChristieOuch3Sound (game.CorpseGame_ChristieOuch3Sound) package game { import mx.core.*; public class CorpseGame_ChristieOuch3Sound extends SoundAsset { } }//package game
Section 248
//CorpseGame_ChristieOuch4Sound (game.CorpseGame_ChristieOuch4Sound) package game { import mx.core.*; public class CorpseGame_ChristieOuch4Sound extends SoundAsset { } }//package game
Section 249
//CorpseGame_ChristiePickUpHeavySound (game.CorpseGame_ChristiePickUpHeavySound) package game { import mx.core.*; public class CorpseGame_ChristiePickUpHeavySound extends SoundAsset { } }//package game
Section 250
//CorpseGame_ChristieTakeThatSound (game.CorpseGame_ChristieTakeThatSound) package game { import mx.core.*; public class CorpseGame_ChristieTakeThatSound extends SoundAsset { } }//package game
Section 251
//CorpseGame_ChristieThrowHeavySound (game.CorpseGame_ChristieThrowHeavySound) package game { import mx.core.*; public class CorpseGame_ChristieThrowHeavySound extends SoundAsset { } }//package game
Section 252
//CorpseGame_ChristieThrowLightSound (game.CorpseGame_ChristieThrowLightSound) package game { import mx.core.*; public class CorpseGame_ChristieThrowLightSound extends SoundAsset { } }//package game
Section 253
//CreditsState (game.CreditsState) package game { import org.flixel.*; import game.ui.*; public class CreditsState extends FlxState { protected var CreditsImage:Class; protected var background_image:FlxSprite; protected var main_menu_button:FlxMainMenuButton; public function CreditsState(){ CreditsImage = CreditsState_CreditsImage; super(); background_image = new FlxSprite(CreditsImage); background_image.x = (background_image.x + (background_image.width / 2)); background_image.y = (background_image.y + (background_image.height / 2)); background_image.scale.x = 2; background_image.scale.y = 2; this.add(background_image); var _local1:FlxText = new FlxText(85, 10, FlxG.width, 20, "AS I LAY DYING!", 657971, null, 16); this.add(_local1); var _local2:FlxText = new FlxText((_local1.x + 20), (_local1.y + _local1.height), FlxG.width, 10, "OR, TEALE'S BIG HIKE!", 2105441, null, 8); this.add(_local2); var _local3:FlxText = new FlxText((_local1.x + 10), ((_local2.y + _local2.height) + 8), FlxG.width, 10, "A game by Teale Fristoe", 0); this.add(_local3); var _local4 = 8398619; var _local5:FlxText = new FlxText(113, ((_local3.y + _local3.height) + 26), FlxG.width, 10, "For Christie,", _local4); this.add(_local5); var _local6:FlxText = new FlxText((_local5.x + 39), (_local5.y + _local5.height), FlxG.width, 10, "with love", _local4); this.add(_local6); var _local7 = 0xDDDDDD; var _local8:FlxText = new FlxText(135, 145, FlxG.width, 20, "SPECIAL THANKS", _local7, null, 16); this.add(_local8); var _local9:FlxText = new FlxText((_local8.x + 44), ((_local8.y + _local8.height) + 4), FlxG.width, 10, "Oliver Marsh", _local7); this.add(_local9); var _local10:FlxText = new FlxText((_local8.x + 28), ((_local9.y + _local9.height) + 4), FlxG.width, 10, "Playable Media 2010", _local7); this.add(_local10); var _local11:FlxText = new FlxText((_local8.x - 15), ((_local10.y + _local10.height) + 4), FlxG.width, 10, "William Faulkner, Inspirational Badass", _local7); this.add(_local11); main_menu_button = new FlxMainMenuButton(10, 220); this.add(main_menu_button); this.add(new CCursor()); } } }//package game
Section 254
//CreditsState_CreditsImage (game.CreditsState_CreditsImage) package game { import mx.core.*; public class CreditsState_CreditsImage extends BitmapAsset { } }//package game
Section 255
//DeploymentSettings (game.DeploymentSettings) package game { import main.*; import security.*; public class DeploymentSettings { public static const sShowAds:Boolean = true; public static const sFullscreenURL:String = "http://www.digyourowngrave.com/as-i-lay-dying/play_full_screen/"; public static const sAllowAllDomains:Boolean = false; public static const sSkipSplashes:Boolean = !(sDeploymentBuild); public static const sUseKongregateAPI:Boolean = false; public static const sMochiID:String = ""; public static const sCustomLoaderFramerate:int = 30; public static const sUseCustomLoader:Boolean = false; public static const sGameURL:String = "http://www.digyourowngrave.com/as-i-lay-dying/"; public static const sPrerollAdExemptDomains:Array = new Array("digyourowngrave.com", "armorgames.com"); public static const sGameName:String = "As I Lay Dying!"; public static const sFakeLoading:Boolean = false; public static const sDeploymentBuild:Boolean = true; public static const sAllowedDomains:Array = new Array("digyourowngrave.com", "armorgames.com"); public static const sAllowCheats:Boolean = !(sDeploymentBuild); public static const sMochiSize:String = "640x480"; public static const s_btnSponsor1Mute:Boolean = true; public static const sLicenseURL:String = "http://www.littlegreymedia.com/games.html"; public static const sUseArmorGamesAPI:Boolean = true; public static const sUseMoFunZoneAPI:Boolean = false; public static const sWalkthroughURL:String = "http://armorgames.com/guide/as-i-lay-dying-walk-through"; public static const sWalkthroughButtons:Boolean = true; public static const sBlockLocalhost:Boolean = true; public static const sDYOGServerLocation:String = "http://www.digyourowngrave.com/"; public static const sUseAnalytics:Boolean = false; public static const sVersion:String = "AG1.0"; public static const sSponsorURL1:String = "http://www.armorgames.com/"; public static const sLockedMessage:String = "This build is site-locked to Armor Games. To play the game on Dig Your Own Grave, use the Play button below:"; public static const sPortalAPIGameKey:String = "lay-dying"; public static const sMultiplayer:Boolean = false; public static const sClassName:String = "AsILayDying"; public static const sGamePostURL:String = "http://www.digyourowngrave.com/2010/as-i-lay-dying/"; public static const sHighscoreDomains:Array = new Array("digyourowngrave.com"); public static const sMoreGamesURL:String = "http://www.digyourowngrave.com/"; public static const sLittlegreyServerLocation:String = "http://www.littlegrey.net/"; public static const sHighscoreGameID:Number = 0x0500; public static const sAdExemptDomains:Array = new Array("digyourowngrave.com"); public static const sShowStats:Boolean = !(sDeploymentBuild); public static const sUseMindJoltAPI:Boolean = false; public static var sSplashScreens:Array = new Array(); public static function Initialize():void{ sSplashScreens.push(new SplashScreenDescriptor(new ArmorGamesSplash(), 45)); MemoryCrypto.setString("highscore_password", "troisdixchix"); MemoryCrypto.setString("baddomain_highscore_password", "baddomain000"); } } }//package game
Section 256
//Game (game.Game) package game { import adserver.*; import achievements.*; import security.*; public class Game extends CorpseGame { private var _mochiScreenProxy:MochiLeaderboardScreen_MovieClip; private var _creditsScreenProxy:CreditsScreen_MovieClip; private var _achievementsScreenProxy:AchievementsOverlay_MovieClip; public static var main_menu_request:Boolean = false; public function Paused():Boolean{ return (false); } public function RequestsPause():Boolean{ return (false); } public function StartGame(_arg1:int, _arg2:Boolean):void{ if (_arg2){ CorpseGame.new_game = false; }; } public function Shutdown():void{ this._curState.destroy(); this.shutdownFlixel(); } public function Freeze(_arg1:Boolean):void{ } public function RequestsMainMenu():Boolean{ if (main_menu_request){ main_menu_request = false; return (true); }; return (false); } public static function InitializeAchievements():void{ DomainCheck.SetHighscoreDomains(DeploymentSettings.sHighscoreDomains); DomainCheck.SetAdExemptDomains(DeploymentSettings.sAdExemptDomains); AdServer.Enable(((DeploymentSettings.sShowAds) && (!(DomainCheck.IsAdExempt())))); AdServer.SetGameName(DeploymentSettings.sGameName); if (Achievements.AreInitialized()){ return; }; Achievements.SetAchievement(89, "Grim Discovery", "Find Teale after he falls."); Achievements.SetAchievement(90, "Eternal Love", "Follow Teale over the cliff."); Achievements.SetAchievement(91, "Bird Feeder", "Let ravens eat Christie's corpse."); Achievements.SetAchievement(92, "Half Full", "Make it halfway through the game."); Achievements.SetAchievement(93, "My Heroine", "Return to civilization."); Achievements.SetAchievement(94, "Blazing Hearse", "Return to civilization in 30 minutes or less."); Achievements.LoadSavedAchievements(); Achievements.SetInitialized(); } } }//package game
Section 257
//GameState (game.GameState) package game { import org.flixel.*; import game.level.*; import game.bodies.*; import game.terrain.*; import game.npcs.*; import game.scripting.*; import flash.net.*; import game.ui.*; import achievements.*; import misc.*; import framework.security.*; public class GameState extends FlxState { public var blocks:FlxArray; public var save_blocks:FlxArray; public var block_events:Boolean;// = false public var save_block_events:Boolean; public var current_level_index:int; public var save_current_level:Level; public var current_events:Array; public var save_current_events:Array; public var event_queue:Array; public var npcs:FlxArray; public var save_npcs:FlxArray; public var save_hud:CHud; public var bodies:FlxArray; protected var current_level:Level;// = null public var save_bodies:FlxArray; public var save_state:Boolean;// = false public var player:Player;// = null public var save_player:Player; public var save_event_queue:Array; public var levels:Array; public var have_saved:Boolean;// = false public var save_cores:Array; public var hud:CHud;// = null public var save_levels:Array; public var corpse:CCorpse;// = null public var save_corpse:CCorpse; public static var s_current_level_index:int; public static var total_vultures_killed:int; public static var total_loads:int; public static var total_corpse_chunks:int; public static var total_corpse_damage:Number; public static var total_deaths:int; public static var total_restarts:int; public static var total_corpse_deaths:int; public static var total_time:Number; public static var total_hives_destroyed:int; public static var total_health_loss:int; public static var debugging:Boolean = false; public static var s_current_level_name:String; public function GameState(){ levels = new Array(); blocks = new FlxArray(); bodies = new FlxArray(); npcs = new FlxArray(); event_queue = new Array(); current_events = new Array(); super(); initialize(); } public function removeBlock(_arg1:CBlock):void{ this.remove(_arg1); this.blocks.remove(_arg1, true); } public function setupCamera():void{ FlxG.follow(player, 2.5); FlxG.followAdjust(0.5, 0); FlxG.followBounds(0, 0, current_level.width, current_level.height); } public function setLevels():void{ levels.push(new IntroLevel()); levels.push(new TutorialLevel()); levels.push(new Level1()); levels.push(new Level2()); levels.push(new LevelLeaveBehind()); levels.push(new LevelThrowCorpse()); levels.push(new LevelScales()); levels.push(new LevelBees()); levels.push(new LevelVultures()); levels.push(new LevelUseCorpse()); levels.push(new LevelMorbiid()); levels.push(new LevelFinal()); } public function addNpc(_arg1:CCharacter):void{ this.add(_arg1); this.npcs.add(_arg1); } public function startNewGame():void{ total_time = 0; total_corpse_damage = 0; total_corpse_chunks = 0; total_corpse_deaths = 0; total_health_loss = 0; total_deaths = 0; total_hives_destroyed = 0; total_vultures_killed = 0; total_loads = 0; total_restarts = 0; current_level_index = -1; s_current_level_index = current_level_index; s_current_level_name = ""; nextLevel(false); } public function addQueuedEvent(_arg1:ScriptEvent):void{ event_queue.push(_arg1); } public function initialize():void{ SoundManager.initialize(); setLevels(); if (CorpseGame.new_game){ startNewGame(); } else { persistentLoad(); }; CorpseGame.new_game = true; Achievements.SetNotifyFunction(AchievementNotify, this); } public function getHashCode():String{ return (getHashCodeFrom(total_time, total_corpse_damage, total_corpse_chunks, total_corpse_deaths, total_health_loss, total_deaths, total_hives_destroyed, total_vultures_killed, total_loads, total_restarts, current_level_index)); } public function initializeToLevel(_arg1:Level, _arg2:Boolean=true):void{ var _local5:CBody; var _local6:CBlock; var _local7:CCharacter; var _local8:ScriptEvent; clear(); var _local3:FlxArray = new FlxArray(); current_level = _arg1; var _local4:FlxSprite = new FlxSprite(current_level.background_image, 0, 0, false, false, current_level.width, current_level.height); _local4.scrollFactor.x = (_local4.scrollFactor.y = 0); this.add(_local4); for each (_local5 in current_level.distant_bodies) { _local5.initialize(); addBody(_local5); }; for each (_local6 in current_level.background_blocks) { if ((_local6 is Knockable)){ _local3.add(_local6); } else { _local6.initialize(); addBlock(_local6); }; }; for each (_local5 in current_level.mid_bodies) { _local5.initialize(); addBody(_local5); }; for each (_local6 in current_level.blocks) { if ((_local6 is Knockable)){ _local3.add(_local6); } else { _local6.initialize(); addBlock(_local6); }; }; for each (_local6 in _local3) { _local6.initialize(); addBlock(_local6); }; for each (_local5 in current_level.background_bodies) { _local5.initialize(); addBody(_local5); }; if (player == null){ player = new Player(this); this.add(player); }; player.initialize(); player.x = current_level.player_start.x; player.y = current_level.player_start.y; if (current_level.start_left){ player.facing = FlxSprite.LEFT; }; if (current_level.start_moving){ }; if (current_level.corpse_start != null){ if (corpse == null){ corpse = new TealeCorpse(current_level.corpse_start.x, current_level.corpse_start.y); corpse.display_alerts = true; this.addBody(corpse); }; corpse.initialize(); }; if (current_level.start_holding){ player.pickup(corpse, true); }; setupCamera(); for each (_local5 in current_level.bodies) { _local5.initialize(); addBody(_local5); }; for each (_local7 in current_level.npcs) { _local7.initialize(); addNpc(_local7); }; if (current_level.name != ""){ addQueuedEvent(new DisplayTextEvent(5, current_level.name, 0xFFFFFF)); }; s_current_level_name = current_level.name; for each (_local8 in current_level.events) { _local8.initialize(); addQueuedEvent(_local8); }; hud = new CHud(this); this.add(hud.message); this.add(hud.holding_text); this.add(hud.using_text); this.add(hud.total_time_display); this.add(hud.achievement_text); this.add(new CCursor()); if (current_level.fade_in){ }; if (((((current_level.show_start_mini_map) && (_arg2))) && (!(debugging)))){ CorpseGame(FlxG._game).showMiniMap(); }; if (current_level.start_music){ SoundManager.playMusic(); }; } public function saveState():void{ var _local1:FlxCore; var _local2:Level; var _local3:CBlock; var _local4:CBody; var _local5:CCharacter; var _local6:ScriptEvent; save_cores = new Array(); for each (_local1 in this._layer.children()) { save_cores.push(_local1); }; save_levels = new Array(); for each (_local2 in levels) { save_levels.push(_local2); }; save_current_level = current_level; save_player = player; save_player.saveState(); if (corpse != null){ save_corpse = corpse; save_corpse.saveState(); }; save_blocks = new FlxArray(); for each (_local3 in blocks) { _local3.saveState(); save_blocks.push(_local3); }; save_bodies = new FlxArray(); for each (_local4 in bodies) { _local4.saveState(); save_bodies.push(_local4); }; save_npcs = new FlxArray(); for each (_local5 in npcs) { _local5.saveState(); save_npcs.push(_local5); }; save_event_queue = new Array(); for each (_local6 in event_queue) { _local6.saveState(); save_event_queue.push(_local6); }; save_current_events = new Array(); for each (_local6 in current_events) { _local6.saveState(); save_current_events.push(_local6); }; save_block_events = block_events; save_hud = hud; hud.saveState(); have_saved = true; persistentSave(); } public function persistentLoad():void{ var _local2:Object; var _local3:String; var _local1:SharedObject = SharedObjectHelper.GetData(); if (_local1 != null){ if (_local1.data.key != null){ _local2 = _local1.data; _local3 = getHashCodeFrom(_local2.total_time, _local2.total_corpse_damage, _local2.total_corpse_chunks, _local2.total_corpse_deaths, _local2.total_health_loss, _local2.total_deaths, _local2.total_hives_destroyed, _local2.total_vultures_killed, _local2.total_loads, _local2.total_restarts, _local2.current_level_index); if (_local3 == _local1.data.key){ total_time = _local2.total_time; total_corpse_damage = _local2.total_corpse_damage; total_corpse_chunks = _local2.total_corpse_chunks; total_corpse_deaths = _local2.total_corpse_deaths; total_health_loss = _local2.total_health_loss; total_deaths = _local2.total_deaths; total_hives_destroyed = _local2.total_hives_destroyed; total_vultures_killed = _local2.total_vultures_killed; total_loads = _local2.total_loads; total_restarts = _local2.total_restarts; current_level_index = _local2.current_level_index; s_current_level_index = current_level_index; current_level = levels[current_level_index]; s_current_level_name = current_level.name; initializeToLevel(current_level, false); have_saved = false; return; }; }; }; startNewGame(); } public function AchievementNotify(_arg1:String):void{ hud.displayAchievement(_arg1); } public function persistentSave():void{ var sharedObject:SharedObject; try { sharedObject = SharedObjectHelper.GetData(); if (sharedObject != null){ sharedObject.data.total_time = total_time; sharedObject.data.total_corpse_damage = total_corpse_damage; sharedObject.data.total_corpse_chunks = total_corpse_chunks; sharedObject.data.total_corpse_deaths = total_corpse_deaths; sharedObject.data.total_health_loss = total_health_loss; sharedObject.data.total_deaths = total_deaths; sharedObject.data.total_hives_destroyed = total_hives_destroyed; sharedObject.data.total_vultures_killed = total_vultures_killed; sharedObject.data.total_loads = total_loads; sharedObject.data.total_restarts = total_restarts; sharedObject.data.current_level_index = current_level_index; sharedObject.data.key = getHashCode(); sharedObject.flush(); }; } catch(e:Error) { trace(("ERROR! Saving game state: " + e.toString())); }; } public function removeNpc(_arg1:CCharacter):void{ this.remove(_arg1); this.npcs.remove(_arg1, true); } override public function alwaysUpdate():void{ super.alwaysUpdate(); SoundManager.update(); } public function clearEventQueue():void{ event_queue = new Array(); } public function loadState():void{ var _local1:FlxCore; var _local2:Level; var _local3:CBlock; var _local4:CBody; var _local5:CCharacter; var _local6:ScriptEvent; if (!have_saved){ initializeToLevel(current_level, false); return; }; destroy(); for each (_local1 in save_cores) { this.add(_local1); }; levels = new Array(); for each (_local2 in save_levels) { levels.push(_local2); }; current_level = save_current_level; player = save_player; player.loadState(); if (save_corpse != null){ corpse = save_corpse; corpse.loadState(); }; setupCamera(); blocks = new FlxArray(); for each (_local3 in save_blocks) { blocks.add(_local3); _local3.loadState(); }; bodies = new FlxArray(); for each (_local4 in save_bodies) { bodies.add(_local4); _local4.loadState(); }; npcs = new FlxArray(); for each (_local5 in save_npcs) { npcs.add(_local5); _local5.loadState(); }; clearEventQueue(); for each (_local6 in save_event_queue) { event_queue.push(_local6); _local6.loadState(); }; current_events = new Array(); for each (_local6 in save_current_events) { current_events.push(_local6); _local6.loadState(); }; block_events = save_block_events; hud = save_hud; hud.loadState(); SoundManager.play("camera"); } public function removeCurrentEvent(_arg1:ScriptEvent):void{ current_events.splice(current_events.indexOf(_arg1), 1); } public function clear():void{ var _local1:CBlock; var _local2:CBody; var _local3:CCharacter; var _local4:ScriptEvent; destroy(); if (player != null){ player.kill(true); player = null; }; if (corpse != null){ corpse.kill(true); corpse = null; }; for each (_local1 in blocks) { _local1.kill(); }; blocks = new FlxArray(); for each (_local2 in bodies) { _local2.kill(true); }; bodies = new FlxArray(); for each (_local3 in npcs) { _local3.kill(true); }; npcs = new FlxArray(); clearEventQueue(); while (current_events.length > 0) { _local4 = (current_events[0] as ScriptEvent); _local4.finish(); }; current_events = new Array(); if (hud != null){ hud.clear(); hud = null; }; current_level = null; } override public function update():void{ var _local1:ScriptEvent; var _local2:CBody; var _local3:CGeneralBody; var _local4:FlxSprite; var _local5:int; var _local6:int; var _local7:FlxSprite; super.update(); total_time = (total_time + FlxG.elapsed); if (current_level != null){ FlxG.collideArray(blocks, player); FlxG.collideArrays(blocks, bodies); FlxG.collideArray(npcs, player); FlxG.collideArrays(blocks, npcs); FlxG.collideArrays(npcs, bodies); _local3 = null; _local4 = null; _local5 = 0; _local6 = 0; player.can_hold = new Array(); hud.holding_text.setText(""); if (player.holding == null){ for each (_local2 in bodies) { if (((_local2.holdable) && (_local2.overlaps(player)))){ player.can_hold.push(_local2); }; }; if (player.can_hold_index >= player.can_hold.length){ player.can_hold_index = 0; }; if (player.can_hold.length > 0){ _local3 = CGeneralBody(player.can_hold[player.can_hold_index]); _local4 = FlxSprite(player.can_hold[player.can_hold_index].holding_image); _local5 = _local3.holding_image_x_offset; _local6 = _local3.holding_image_y_offset; }; }; if (((((!((_local4 == null))) && (Player.isAlive()))) && (player.controllable))){ hud.holding_text.setText("[S] to pick up:"); _local4.visible = true; _local4.x = (hud.holding_image_x + _local5); _local4.y = (hud.holding_image_y + _local6); }; player.can_use = null; hud.using_text.setText(""); if (((player.holding) && (player.holding.useable))){ player.can_use = player.holding; } else { for each (_local2 in bodies) { if (((_local2.useable) && (_local2.overlaps(player)))){ player.can_use = _local2; break; }; }; }; if (((((!((player.can_use == null))) && (Player.isAlive()))) && (player.controllable))){ _local7 = player.can_use.using_image; hud.using_text.setText("[SPACE] to use:"); _local7.visible = true; _local7.x = (hud.using_image_x + player.can_use.holding_image_x_offset); _local7.y = (hud.using_image_y + player.can_use.holding_image_y_offset); }; for each (_local2 in bodies) { if (((_local2.messageReady()) && (_local2.overlaps(player)))){ _local2.displayMessage(); if (_local2.message != hud.display_message){ addQueuedEvent(new DisplayTextEvent(1, _local2.message)); } else { hud.setDisplayTime(1); }; }; }; for each (_local2 in bodies) { if (((_local2.triggers) && (_local2.overlaps(player)))){ _local2.trigger(); }; }; }; if (hud != null){ hud.update(); }; while (((!(block_events)) && ((event_queue.length > 0)))) { _local1 = event_queue.shift(); addCurrentEvent(_local1); }; for each (_local1 in current_events) { _local1.update(); }; if (player == null){ trace("player"); }; if (current_level == null){ trace("current_level"); }; if (((((!((player == null))) && ((player.y > current_level.height)))) && (!(player.dead)))){ player.kill(); total_deaths = (total_deaths + 1); }; if (((((!((corpse == null))) && ((corpse.y > current_level.height)))) && (!(corpse.dead)))){ corpse.kill(); total_corpse_deaths = (total_corpse_deaths + 1); }; if (((FlxG.keys.justPressed("F8")) || (FlxG.keys.justPressed("ZERO")))){ total_restarts = (total_restarts + 1); persistentSave(); initializeToLevel(current_level, false); }; if (((FlxG.keys.justPressed("F12")) && (debugging))){ nextLevel(); }; if (save_state){ save_state = false; this.saveState(); this.add(hud.camera_flash); hud.camera_flash.alpha = 1; }; if (((FlxG.keys.justPressed("F5")) || (FlxG.keys.justPressed("FIVE")))){ total_loads = (total_loads + 1); persistentSave(); this.loadState(); }; if (FlxG.keys.justPressed("F")){ }; if (FlxG.keys.justPressed("ESC")){ if (FlxG._game){ FlxG._game._paused = FlxG._game._paused; }; if (FlxG._game._paused){ CorpseGame(FlxG._game).unpause(true); } else { CorpseGame(FlxG._game).pause(true); FlxG.keys.ESC = false; }; }; if (FlxG.keys.justPressed("M")){ if (debugging){ CorpseGame(FlxG._game).showMiniMap(); }; }; } public function removeBody(_arg1:CBody):void{ this.remove(_arg1); this.bodies.remove(_arg1, true); this.remove(_arg1.holding_image); this.remove(_arg1.using_image); } public function getPlayer():Player{ return (player); } public function getHashCodeFrom(_arg1:Number, _arg2:Number, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int, _arg9:int, _arg10:int, _arg11:int):String{ var _local12 = (((((((((((((_arg1.toString() + _arg2.toString()) + _arg3.toString()) + _arg4.toString()) + "love") + _arg5.toString()) + _arg6.toString()) + _arg7.toString()) + _arg8.toString()) + "for") + _arg9.toString()) + _arg10.toString()) + _arg11.toString()) + "everyone"); return (SHA1Hash.SHA1(_local12)); } public function win():void{ CorpseGame(FlxG._game).win(); } public function nextLevel(_arg1:Boolean=true):void{ if (current_level_index >= 0){ }; current_level_index = (current_level_index + 1); s_current_level_index = current_level_index; var _local2:Level = (levels[current_level_index] as Level); if (_local2){ initializeToLevel(_local2, _arg1); persistentSave(); have_saved = false; } else { trace("No next level!!!"); }; } public function addBlock(_arg1:CBlock):void{ this.add(_arg1); this.blocks.add(_arg1); } public function getCorpse():CCorpse{ return (corpse); } public function addCurrentEvent(_arg1:ScriptEvent):void{ _arg1.start(this); current_events.push(_arg1); } public function addBody(_arg1:CBody):void{ this.add(_arg1); this.bodies.add(_arg1); this.add(_arg1.holding_image); this.add(_arg1.using_image); } public static function openWalkthrough():void{ var _local1:String = DeploymentSettings["sWalkthroughURL"]; var _local2:URLRequest = new URLRequest(_local1); navigateToURL(_local2, "_blank"); } public static function reportAnalytics(_arg1:int):void{ } } }//package game
Section 258
//MenuState (game.MenuState) package game { import org.flixel.*; import game.ui.*; import framework.security.*; public class MenuState extends FlxState { protected var TitleImage:Class; protected var load_game_button:ContinueLastGameButton; protected var credits_button:CreditsButton; protected var play_button:StartButton; public function MenuState(){ var _local4:FlxText; TitleImage = MenuState_TitleImage; super(); this.add(new FlxSprite(TitleImage)); var _local1:FlxText = new FlxText(95, 20, FlxG.width, 30, "AS I LAY DYING!", 657971, null, 24); this.add(_local1); var _local2:FlxText = new FlxText(102, (_local1.y + _local1.height), FlxG.width, 20, "OR, TEALE'S BIG HIKE!", 2105441, null, 16); this.add(_local2); if (DomainCheck.isCurrentDomainAllowed()){ play_button = new StartButton(150, 95); this.add(play_button); load_game_button = new ContinueLastGameButton(115, (play_button.y + 15)); this.add(load_game_button); credits_button = new CreditsButton(150, (load_game_button.y + 15)); this.add(credits_button); } else { _local4 = new FlxText(122, 105, FlxG.width, 10, "Sorry, this game is in private beta.", 0, null, 8); this.add(_local4); _local4 = new FlxText(115, (_local4.y + _local4.height), FlxG.width, 10, "To play, please visit", 0, null, 8); _local4 = new FlxText(100, (_local4.y + _local4.height), FlxG.width, 10, "http://www.digyourowngrave.com/as-i-lay-dying/", 0, null, 8); }; var _local3:FlxText = new FlxText(138, 197, FlxG.width, 20, "A game by Teale Fristoe", 4737119); this.add(_local3); this.add(new CCursor()); } override public function update():void{ super.update(); } } }//package game
Section 259
//MenuState_TitleImage (game.MenuState_TitleImage) package game { import mx.core.*; public class MenuState_TitleImage extends BitmapAsset { } }//package game
Section 260
//PauseOverlay (game.PauseOverlay) package game { import flash.events.*; import flash.display.*; import audio.*; import flash.net.*; import flash.utils.*; public dynamic class PauseOverlay extends MovieClip { protected var mMusicButton:MusicButton; protected var mSoundEffectsButton:SoundEffectsButton; protected var mClip:MovieClip; public function PauseOverlay(){ var theClass:Class; super(); try { theClass = Class(getDefinitionByName("PauseOverlay_MovieClip")); mClip = new (theClass); } catch(e:Error) { trace(("***** Could not create PauseOverlay_MovieClip: " + e.message)); return; }; if (mClip == null){ return; }; addChild(mClip); addEventListener(Event.ADDED_TO_STAGE, initialize); } private function initialize(_arg1:Event=null):void{ removeEventListener(Event.ADDED_TO_STAGE, initialize); mSoundEffectsButton = new SoundEffectsButton(mClip.mcSoundEffectsButton); mMusicButton = new MusicButton(mClip.mcMusicButton); } public function ContinueButton():SimpleButton{ return (mClip.btnContinue); } public function MainMenuButton():SimpleButton{ return (null); } } }//package game
Section 261
//Player (game.Player) package game { import org.flixel.*; import game.bodies.*; import game.npcs.*; import game.scripting.*; import audio.*; import game.ui.*; import achievements.*; import framework.math.*; public class Player extends CActor { public var corpse_distance_squared:Number;// = -1 public var save_holding:CBody; public var controllable:Boolean;// = true public var save_controllable:Boolean; public var pain_fall_distance:Number;// = 144 public var max_throw_power:Number;// = 1.5 protected var max_health:int;// = 3 public var can_use:CBody;// = null public var can_hold_index:int;// = 0 protected var ChristieImage:Class; public var current_throw_power:Number;// = 0 public var holding:CBody;// = null public var can_hold:Array; public var throw_target_time:Number;// = 0.25 public var save_current_throw_power:Number; public var throw_target1:CTarget;// = null public var throw_target2:CTarget;// = null public var throw_target3:CTarget;// = null public var fall_height:Number;// = -1 protected static const pstart_x:int = 300; protected static const pstart_y:int = 300; protected static const player_mass:Number = 0.9; public static var game_state:GameState; public static var text_color:Number = 8660863; public function Player(_arg1:GameState){ ChristieImage = Player_ChristieImage; can_hold = new Array(); super(ChristieImage, pstart_x, pstart_y, true, true, 6, 12); game_state = _arg1; start_x = pstart_x; start_y = pstart_y; start_mass = player_mass; initialize(); } override public function hurt(_arg1:Number):void{ var _local2:int; super.hurt(_arg1); if (_arg1 >= 1){ if (health > 0){ game_state.addQueuedEvent(new DisplayTextEvent(2.5, "Ouch!", text_color)); _local2 = Random.intRange(0, 4); if (_local2 == 0){ AudioEngine.PlaySound("ouch1", AudioEngine.SFX_CHANNEL); } else { if (_local2 == 1){ AudioEngine.PlaySound("ouch2", AudioEngine.SFX_CHANNEL); } else { if (_local2 == 2){ AudioEngine.PlaySound("ouch3", AudioEngine.SFX_CHANNEL); } else { if (_local2 == 3){ AudioEngine.PlaySound("ouch4", AudioEngine.SFX_CHANNEL); }; }; }; }; game_state.remove(game_state.hud.damage_flash); game_state.add(game_state.hud.damage_flash); game_state.hud.damage_flash.alpha = 1; }; GameState.total_health_loss = (GameState.total_health_loss + 1); }; if (health > max_health){ health = max_health; }; if (health <= 0){ GameState.total_deaths = (GameState.total_deaths + 1); }; } override public function saveState():void{ super.saveState(); save_controllable = controllable; save_holding = holding; save_current_throw_power = current_throw_power; } override public function initialize():void{ super.initialize(); releaseHolding(); this.health = max_health; fall_height = -1; addAnimation("idle", [0]); addAnimation("run", [1, 2, 3, 0], 12); addAnimation("jump", [4]); addAnimation("idle_up", [5]); addAnimation("run_up", [6, 7, 8, 5], 12); addAnimation("jump_up", [9]); addAnimation("jump_down", [10]); } public function getMouseAngle():Number{ return (Geometry.angleBetween(FlxG.mouse.x, y, (x + (width / 2)), FlxG.mouse.y)); } override public function preupdate():void{ var _local2:Number; var _local3:int; super.preupdate(); var _local1:CCorpse = getGameState().getCorpse(); if (_local1 != null){ corpse_distance_squared = Geometry.distanceSquared(x, y, _local1.x, _local1.y); }; if (holding != null){ holding.x = ((x + (width / 2)) - (holding.width / 2)); holding.y = (y + (height / 3)); jump_velocity = (max_jump_velocity * holding.drag_rate); run_speed = (max_run_speed * holding.drag_rate); } else { jump_velocity = max_jump_velocity; run_speed = max_run_speed; }; drag.x = (run_speed * 8); maxVelocity.x = run_speed; if ((((velocity.y >= 0)) && ((fall_height < 0)))){ fall_height = y; } else { if ((((velocity.y <= 0)) && ((fall_height > 0)))){ _local2 = (y - fall_height); _local3 = int((_local2 / pain_fall_distance)); if (_local3 >= 1){ if (_local3 >= 3){ Achievements.CompletedAchievement(90, true); }; hurt(_local3); }; fall_height = -1; }; }; if (current_throw_power > max_throw_power){ current_throw_power = max_throw_power; }; if (((controllable) && ((controllers == 0)))){ if (((FlxG.keys.A) || (FlxG.keys.J))){ move(LEFT); } else { if (((FlxG.keys.D) || (FlxG.keys.L))){ move(RIGHT); }; }; if (((((FlxG.keys.justPressed("W")) || (FlxG.keys.justPressed("I")))) && (!(velocity.y)))){ jump(); }; if (((((FlxG.keys.justReleased("W")) || (FlxG.keys.justReleased("I")))) && ((velocity.y < 0)))){ acceleration.y = (3 * gravity_acceleration); }; if (velocity.y >= 0){ acceleration.y = gravity_acceleration; }; if (((((FlxG.keys.justPressed("S")) || (FlxG.keys.justPressed("SHIFT")))) || (FlxG.keys.justPressed("K")))){ if (holding != null){ releaseHolding(); } else { if ((((can_hold.length > can_hold_index)) && ((holding == null)))){ pickup(can_hold[can_hold_index]); can_hold_index = 0; }; }; }; if (((FlxG.keys.justPressed("Q")) || (FlxG.keys.justPressed("U")))){ can_hold_index++; }; if (FlxG.keys.justPressed("SPACE")){ if (((!((can_use == null))) && (!(can_use.continuously_useable)))){ can_use.activate(); }; }; if (FlxG.keys.pressed("SPACE")){ if (((!((can_use == null))) && (can_use.continuously_useable))){ can_use.activate(); }; }; if (holding != null){ if (FlxG.mouse.pressed()){ addThrowPower(FlxG.elapsed); }; if (FlxG.mouse.justReleased()){ fling(getMouseAngle()); }; }; }; if (velocity.y != 0){ play("jump"); } else { if (velocity.x == 0){ play("idle"); } else { play("run"); }; }; } public function getThrowPower():Number{ var _local1:Number = ((current_throw_power * 500) / holding.mass); if (_local1 > holding.max_throw_strength){ _local1 = holding.max_throw_strength; }; return (_local1); } public function releaseHolding():void{ if (holding != null){ holding.drop(); holding = null; }; current_throw_power = 0; if (throw_target1 != null){ throw_target1.kill(); throw_target1 = null; }; if (throw_target2 != null){ throw_target2.kill(); throw_target2 = null; }; if (throw_target3 != null){ throw_target3.kill(); throw_target3 = null; }; } public function addThrowPower(_arg1:Number):void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; if (holding != null){ current_throw_power = (current_throw_power + ((_arg1 * 2) * holding.drag_rate)); _local2 = (current_throw_power / max_throw_power); _local3 = getMouseAngle(); if (throw_target1 == null){ throw_target1 = new CTarget(1); game_state.add(throw_target1); }; if ((((_local2 >= 0.33)) && ((throw_target2 == null)))){ throw_target2 = new CTarget(2); game_state.add(throw_target2); }; if ((((_local2 >= 0.66)) && ((throw_target3 == null)))){ throw_target3 = new CTarget(3); game_state.add(throw_target3); }; _local4 = getThrowPower(); _local5 = (Math.cos(_local3) * _local4); _local6 = (-(Math.sin(_local3)) * _local4); if (throw_target1 != null){ throw_target1.x = (x + (_local5 * throw_target_time)); _local7 = (((2 * _local6) + (acceleration.y * throw_target_time)) / 2); throw_target1.y = (y + (_local7 * throw_target_time)); throw_target1.scale.x = _local2; throw_target1.scale.y = _local2; }; if (throw_target2 != null){ _local9 = ((throw_target_time * 2) / 3); throw_target2.x = (x + (_local5 * _local9)); _local7 = (_local6 + ((acceleration.y * _local9) / 2)); throw_target2.y = (y + (_local7 * _local9)); _local8 = (((_local2 - (1 / 3)) * 3) / 2); throw_target2.scale.x = _local8; throw_target2.scale.y = _local8; }; if (throw_target3 != null){ _local9 = (throw_target_time / 3); throw_target3.x = (x + (_local5 * _local9)); _local7 = (_local6 + ((acceleration.y * _local9) / 2)); throw_target3.y = (y + (_local7 * _local9)); _local8 = ((_local2 - (2 / 3)) * 3); throw_target3.scale.x = _local8; throw_target3.scale.y = _local8; }; } else { current_throw_power = 0; }; } override public function getForce():Number{ return ((super.getForce() * 0.8)); } override public function loadState():void{ super.loadState(); controllable = save_controllable; holding = save_holding; current_throw_power = save_current_throw_power; } public function fling(_arg1:Number):void{ var _local2:Number; if (holding){ _local2 = getThrowPower(); holding.velocity.x = (Math.cos(_arg1) * _local2); holding.velocity.y = (-(Math.sin(_arg1)) * _local2); current_throw_power = 0; if (holding.mass >= 4){ AudioEngine.PlaySound("throwHeavy", AudioEngine.SFX_CHANNEL); } else { AudioEngine.PlaySound("throwLight", AudioEngine.SFX_CHANNEL); }; releaseHolding(); }; } override public function kill(_arg1:Boolean=false):void{ super.kill(_arg1); releaseHolding(); game_state.addBody(new CCorpse(x, y, CCorpse.ChristieCorpseImage, 12, 6, true)); if (!_arg1){ SoundManager.play("christie_death"); }; game_state.addQueuedEvent(new DisplayTextEvent(15, "Ahhhh! [5] or [0]. [ESC] for help.", text_color, false, 2)); game_state.addQueuedEvent(new DelayEvent(15)); } public function pickup(_arg1:CBody, _arg2:Boolean=false):void{ holding = _arg1; if (((!(_arg2)) && ((_arg1.mass >= 4)))){ AudioEngine.PlaySound("pickupHeavy", AudioEngine.SFX_CHANNEL); }; holding.hold(this); } public static function getGameState():GameState{ return (game_state); } public static function isAlive():Boolean{ return (((!((getPlayer() == null))) && (!(getPlayer().dead)))); } public static function getPlayer():Player{ return (game_state.getPlayer()); } } }//package game
Section 262
//Player_ChristieImage (game.Player_ChristieImage) package game { import mx.core.*; public class Player_ChristieImage extends BitmapAsset { } }//package game
Section 263
//SoundManager (game.SoundManager) package game { import org.flixel.*; import audio.*; import framework.math.*; public class SoundManager { protected static var Owl3Sound:Class = SoundManager_Owl3Sound; protected static var ChristieBetterNowSound:Class = SoundManager_ChristieBetterNowSound; protected static var ChristieGodDamnitSound:Class = SoundManager_ChristieGodDamnitSound; protected static var MusicSound:Class = SoundManager_MusicSound; protected static var Cricket2Sound:Class = SoundManager_Cricket2Sound; protected static var ChristieFindHimSound:Class = SoundManager_ChristieFindHimSound; protected static var VultureEatSound:Class = SoundManager_VultureEatSound; public static var cricket_max_delay:Number = 14; protected static var SwitchSound:Class = SoundManager_SwitchSound; protected static var ChristieOhTealeSound:Class = SoundManager_ChristieOhTealeSound; protected static var ChristieCoupleDaysSound:Class = SoundManager_ChristieCoupleDaysSound; protected static var ChristieCrapSound:Class = SoundManager_ChristieCrapSound; protected static var MachineSound:Class = SoundManager_MachineSound; protected static var ChristieLandSound:Class = SoundManager_ChristieLandSound; protected static var ChristieHeySound:Class = SoundManager_ChristieHeySound; public static var volume_multipliers:Object; public static var sound_handles:Object; public static var sound_names:Array; protected static var VultureDeathSound:Class = SoundManager_VultureDeathSound; protected static var ElectricitySound:Class = SoundManager_ElectricitySound; protected static var ChristieHeadHomeSound:Class = SoundManager_ChristieHeadHomeSound; protected static var ChristieNothingCanDoSound:Class = SoundManager_ChristieNothingCanDoSound; protected static var FragileTerrainSound:Class = SoundManager_FragileTerrainSound; protected static var HiveKnockSound:Class = SoundManager_HiveKnockSound; protected static var Cricket4Sound:Class = SoundManager_Cricket4Sound; protected static var ChristieAdmireDistanceSound:Class = SoundManager_ChristieAdmireDistanceSound; protected static var VultureFlutterSound:Class = SoundManager_VultureFlutterSound; protected static var AngryBeeSound:Class = SoundManager_AngryBeeSound; protected static var CorpseKnockSound:Class = SoundManager_CorpseKnockSound; public static var animal_options:Array; protected static var ChristieTealeNoSound:Class = SoundManager_ChristieTealeNoSound; protected static var CrankSound:Class = SoundManager_CrankSound; protected static var RavenFlutterSound:Class = SoundManager_RavenFlutterSound; public static var animal_max_delay:Number = 18; protected static var ChristieHeyGetAwaySound:Class = SoundManager_ChristieHeyGetAwaySound; public static var wind_options:Array; public static var times:Object; protected static var Wind4Sound:Class = SoundManager_Wind4Sound; protected static var Cricket1Sound:Class = SoundManager_Cricket1Sound; public static var wind_max_delay:Number = 12; public static var delays:Object; protected static var ChristieCantLeaveSound:Class = SoundManager_ChristieCantLeaveSound; public static var pans:Object; protected static var ChristieDeadWeightSound:Class = SoundManager_ChristieDeadWeightSound; protected static var ChristieWithoutBodySound:Class = SoundManager_ChristieWithoutBodySound; protected static var TealeAhhhSound:Class = SoundManager_TealeAhhhSound; public static var hearing_distance_squared:int = 20000; public static var music_handle:SoundHandle = null; public static var cricket_time_left:Number = 0; protected static var Wind1Sound:Class = SoundManager_Wind1Sound; public static var cricket_options:Array; protected static var ChristieKeepAroundSound:Class = SoundManager_ChristieKeepAroundSound; protected static var Wolf3Sound:Class = SoundManager_Wolf3Sound; public static var cricket_min_delay:Number = 8; protected static var ChristieYumSound:Class = SoundManager_ChristieYumSound; public static var volumes:Object; protected static var BlueberryKnockSound:Class = SoundManager_BlueberryKnockSound; protected static var ChristieTealeSound:Class = SoundManager_ChristieTealeSound; protected static var ChristieDeathSound:Class = SoundManager_ChristieDeathSound; public static var quiet_music_volume:Number = 0.1; protected static var RavenEatSound:Class = SoundManager_RavenEatSound; protected static var ChristieSupposedToDoSound:Class = SoundManager_ChristieSupposedToDoSound; protected static var BellSound:Class = SoundManager_BellSound; protected static var Cricket3Sound:Class = SoundManager_Cricket3Sound; protected static var TealeCloserLookSound:Class = SoundManager_TealeCloserLookSound; protected static var TealeBeautifulChristieSound:Class = SoundManager_TealeBeautifulChristieSound; public static var animal_time_left:Number = 0; protected static var CorpseDeathSound:Class = SoundManager_CorpseDeathSound; protected static var Owl1Sound:Class = SoundManager_Owl1Sound; protected static var Wind3Sound:Class = SoundManager_Wind3Sound; protected static var ChristieCivilizationSound:Class = SoundManager_ChristieCivilizationSound; protected static var RavenCawSound:Class = SoundManager_RavenCawSound; protected static var StoneKnockSound:Class = SoundManager_StoneKnockSound; protected static var ChunkKnockSound:Class = SoundManager_ChunkKnockSound; public static var wind_time_left:Number = 0; protected static var CameraSound:Class = SoundManager_CameraSound; public static var normal_music_volume:Number = 0.5; protected static var ChristieHooraySound:Class = SoundManager_ChristieHooraySound; public static var hearing_distance:Number; public static var animal_min_delay:Number = 10; protected static var BeeSound:Class = SoundManager_BeeSound; public static var wind_min_delay:Number = 5; protected static var ChristieDebHeartbrokenSound:Class = SoundManager_ChristieDebHeartbrokenSound; protected static var TealeFlowerGorgeousSound:Class = SoundManager_TealeFlowerGorgeousSound; protected static var Cricket5Sound:Class = SoundManager_Cricket5Sound; protected static var Wolf2Sound:Class = SoundManager_Wolf2Sound; protected static var BlueberryPickSound:Class = SoundManager_BlueberryPickSound; protected static var ChristieProneAccidentsSound:Class = SoundManager_ChristieProneAccidentsSound; protected static var ChristieDamnedCorpseSound:Class = SoundManager_ChristieDamnedCorpseSound; public static function setAnimalTime():void{ animal_time_left = Random.uniformRange(animal_min_delay, animal_max_delay); } public static function playCricket():void{ var _local1:Number; cricket_time_left = (cricket_time_left - FlxG.elapsed); if (cricket_time_left <= 0){ setCricketTime(); _local1 = 1; if (Random.intRange(0, 2) == 0){ _local1 = -1; }; play(cricket_options[Random.intRange(0, cricket_options.length)], Random.uniformRange(0.15, 0.35), _local1); }; } public static function initialize():void{ var _local2:String; var _local3:Array; hearing_distance = Math.sqrt(hearing_distance_squared); AudioEngine.RegisterSound(MusicSound, "music", AudioEngine.MUSIC_CHANNEL); times = new Object(); delays = new Object(); volume_multipliers = new Object(); sound_names = new Array(); sound_handles = new Object(); volumes = new Object(); pans = new Object(); var _local1:Array = [["hey", ChristieHeySound, 2, 1], ["christie_yum", ChristieYumSound, 0.05, 1], ["christie_hooray", ChristieHooraySound, 2, 1], ["christie_death", ChristieDeathSound, 2, 1], ["christie_without_body", ChristieWithoutBodySound, 5, 1], ["raven_caw", RavenCawSound, 0.4, 1], ["raven_eat", RavenEatSound, 0.4, 1], ["raven_flutter", RavenFlutterSound, 0.55, 0.8], ["switch", SwitchSound, 0.05, 1], ["camera", CameraSound, 0.5, 1], ["machine", MachineSound, 0.5, 1], ["electricity", ElectricitySound, 0.45, 1], ["crank", CrankSound, 0.25, 1], ["crank_unwind", CrankSound, 1, 1], ["christie_land", ChristieLandSound, 0.25, 1], ["stone_knock", StoneKnockSound, 0.03, 0.5], ["corpse_knock", CorpseKnockSound, 0.05, 1], ["corpse_death", CorpseDeathSound, 0.05, 1], ["chunk_knock", ChunkKnockSound, 0.02, 1], ["bee", BeeSound, 0.4, 1], ["angry_bee", AngryBeeSound, 0.25, 1], ["hive_knock", HiveKnockSound, 0.03, 1], ["blueberry_pick", BlueberryPickSound, 0.02, 1], ["blueberry_knock", BlueberryKnockSound, 0.05, 0.5], ["fragile_terrain", FragileTerrainSound, 0.15, 1], ["bell", BellSound, 0.4, 1], ["vulture_eat", VultureEatSound, 0.4, 1], ["vulture_flutter", VultureFlutterSound, 0.6, 1], ["vulture_death", VultureDeathSound, 2, 1], ["wind1", Wind1Sound, 3, 1], ["wind3", Wind3Sound, 8.5, 1], ["wind4", Wind4Sound, 2, 1], ["owl1", Owl1Sound, 1.5, 1], ["owl3", Owl3Sound, 0.5, 1], ["wolf2", Wolf2Sound, 4, 1], ["wolf3", Wolf3Sound, 3, 1], ["cricket1", Cricket1Sound, 1.5, 1], ["cricket2", Cricket2Sound, 2.5, 1], ["cricket3", Cricket3Sound, 1, 1], ["cricket4", Cricket4Sound, 2.5, 1], ["cricket5", Cricket5Sound, 2, 1], ["teale_beautiful_christie", TealeBeautifulChristieSound, 2, 1], ["christie_oh_teale", ChristieOhTealeSound, 2, 1], ["teale_flower_gorgeous", TealeFlowerGorgeousSound, 2, 1], ["christie_prone_accidents", ChristieProneAccidentsSound, 2, 1], ["teale_closer_look", TealeCloserLookSound, 2, 1], ["teale_ahhh", TealeAhhhSound, 2, 1], ["christie_teale_no", ChristieTealeNoSound, 2, 1], ["christie_crap", ChristieCrapSound, 2, 1], ["christie_find_him", ChristieFindHimSound, 2, 1], ["christie_teale", ChristieTealeSound, 2, 1], ["christie_god_damnit", ChristieGodDamnitSound, 2, 1], ["christie_admire_distance", ChristieAdmireDistanceSound, 2, 1], ["christie_supposed_to_do", ChristieSupposedToDoSound, 2, 1], ["christie_nothing_can_do", ChristieNothingCanDoSound, 2, 1], ["christie_hey_get_away", ChristieHeyGetAwaySound, 2, 1], ["christie_deb_heartbroken", ChristieDebHeartbrokenSound, 2, 1], ["christie_cant_leave", ChristieCantLeaveSound, 2, 1], ["christie_civilization", ChristieCivilizationSound, 2, 1], ["christie_damned_corpse", ChristieDamnedCorpseSound, 2, 1], ["christie_dead_weight", ChristieDeadWeightSound, 2, 1], ["christie_better_now", ChristieBetterNowSound, 2, 1], ["christie_couple_days", ChristieCoupleDaysSound, 2, 1], ["christie_keep_around", ChristieKeepAroundSound, 2, 1], ["christie_head_home", ChristieHeadHomeSound, 2, 1]]; for each (_local3 in _local1) { _local2 = _local3[0]; AudioEngine.RegisterSound(_local3[1], _local2, AudioEngine.SFX_CHANNEL); times[_local2] = 0; delays[_local2] = _local3[2]; volume_multipliers[_local2] = _local3[3]; sound_names.push(_local2); sound_handles[_local2] = null; volumes[_local2] = -1; pans[_local2] = 0; }; wind_time_left = Random.uniformRange(0, wind_min_delay); wind_options = ["wind1", "wind3", "wind4"]; animal_time_left = Random.uniformRange(0, animal_min_delay); animal_options = ["owl1", "owl3", "owl1", "owl3", "wolf2", "wolf3"]; cricket_time_left = Random.uniformRange(0, cricket_min_delay); cricket_options = ["cricket1", "cricket2", "cricket3", "cricket4", "cricket5"]; } public static function play(_arg1:String, _arg2:Number=1, _arg3:Number=0, _arg4:Boolean=false):void{ if (_arg1 == "none"){ return; }; if ((((times[_arg1] <= 0)) || (_arg4))){ sound_handles[_arg1] = AudioEngine.PlaySound(_arg1, AudioEngine.SFX_CHANNEL); times[_arg1] = delays[_arg1]; volumes[_arg1] = _arg2; pans[_arg1] = _arg3; updateSound(_arg1); } else { if (volumes[_arg1] <= _arg2){ volumes[_arg1] = _arg2; pans[_arg1] = _arg3; }; }; } public static function stopMusic():void{ if (music_handle != null){ music_handle.Stop(); music_handle = null; }; } public static function playMusic(_arg1:Number=-1):void{ if (music_handle == null){ if (_arg1 == -1){ _arg1 = normal_music_volume; }; music_handle = AudioEngine.PlaySound("music", AudioEngine.MUSIC_CHANNEL, true); music_handle.SetVolume(_arg1); }; } public static function playWind():void{ wind_time_left = (wind_time_left - FlxG.elapsed); if (wind_time_left <= 0){ setWindTime(); play(wind_options[Random.intRange(0, wind_options.length)], Random.uniformRange(0.7, 0.9)); }; } public static function setWindTime():void{ wind_time_left = Random.uniformRange(wind_min_delay, wind_max_delay); } public static function getDistanceMultiplier(_arg1:Number, _arg2:Number):Number{ var _local3:Number = Geometry.distance(_arg1, _arg2, Player.getPlayer().x, Player.getPlayer().y); if (_local3 > hearing_distance){ return (0); }; var _local4:Number = ((hearing_distance - _local3) / hearing_distance); if (_local4 > 1){ _local4 = 1; } else { if (_local4 < 0){ _local4 = 0; }; }; return (_local4); } public static function playAnimal():void{ var _local1:Number; animal_time_left = (animal_time_left - FlxG.elapsed); if (animal_time_left <= 0){ setAnimalTime(); _local1 = 1; if (Random.intRange(0, 2) == 0){ _local1 = -1; }; play(animal_options[Random.intRange(0, animal_options.length)], Random.uniformRange(0.25, 0.45), _local1); }; } public static function getPan(_arg1:Number, _arg2:Number):Number{ var _local3:Number = ((_arg1 - Player.getPlayer().x) / hearing_distance); if (_local3 > 1){ _local3 = 1; } else { if (_local3 < -1){ _local3 = -1; }; }; return (_local3); } public static function update():void{ var _local1:String; playWind(); playAnimal(); playCricket(); for each (_local1 in sound_names) { times[_local1] = (times[_local1] - FlxG.elapsed); if (times[_local1] < 0){ times[_local1] = 0; volumes[_local1] = -1; sound_handles[_local1] = null; }; updateSound(_local1); }; } public static function updateSound(_arg1:String):void{ if (((sound_handles[_arg1]) && (!((volumes[_arg1] == -1))))){ SoundHandle(sound_handles[_arg1]).SetVolume((volumes[_arg1] * volume_multipliers[_arg1])); SoundHandle(sound_handles[_arg1]).SetPan(pans[_arg1]); volumes[_arg1] = -1; pans[_arg1] = 0; }; } public static function setCricketTime():void{ cricket_time_left = Random.uniformRange(cricket_min_delay, cricket_max_delay); } public static function setMusicVolume(_arg1:Number):void{ if (music_handle != null){ music_handle.SetVolume(_arg1); }; } } }//package game
Section 264
//SoundManager_AngryBeeSound (game.SoundManager_AngryBeeSound) package game { import mx.core.*; public class SoundManager_AngryBeeSound extends SoundAsset { } }//package game
Section 265
//SoundManager_BeeSound (game.SoundManager_BeeSound) package game { import mx.core.*; public class SoundManager_BeeSound extends SoundAsset { } }//package game
Section 266
//SoundManager_BellSound (game.SoundManager_BellSound) package game { import mx.core.*; public class SoundManager_BellSound extends SoundAsset { } }//package game
Section 267
//SoundManager_BlueberryKnockSound (game.SoundManager_BlueberryKnockSound) package game { import mx.core.*; public class SoundManager_BlueberryKnockSound extends SoundAsset { } }//package game
Section 268
//SoundManager_BlueberryPickSound (game.SoundManager_BlueberryPickSound) package game { import mx.core.*; public class SoundManager_BlueberryPickSound extends SoundAsset { } }//package game
Section 269
//SoundManager_CameraSound (game.SoundManager_CameraSound) package game { import mx.core.*; public class SoundManager_CameraSound extends SoundAsset { } }//package game
Section 270
//SoundManager_ChristieAdmireDistanceSound (game.SoundManager_ChristieAdmireDistanceSound) package game { import mx.core.*; public class SoundManager_ChristieAdmireDistanceSound extends SoundAsset { } }//package game
Section 271
//SoundManager_ChristieBetterNowSound (game.SoundManager_ChristieBetterNowSound) package game { import mx.core.*; public class SoundManager_ChristieBetterNowSound extends SoundAsset { } }//package game
Section 272
//SoundManager_ChristieCantLeaveSound (game.SoundManager_ChristieCantLeaveSound) package game { import mx.core.*; public class SoundManager_ChristieCantLeaveSound extends SoundAsset { } }//package game
Section 273
//SoundManager_ChristieCivilizationSound (game.SoundManager_ChristieCivilizationSound) package game { import mx.core.*; public class SoundManager_ChristieCivilizationSound extends SoundAsset { } }//package game
Section 274
//SoundManager_ChristieCoupleDaysSound (game.SoundManager_ChristieCoupleDaysSound) package game { import mx.core.*; public class SoundManager_ChristieCoupleDaysSound extends SoundAsset { } }//package game
Section 275
//SoundManager_ChristieCrapSound (game.SoundManager_ChristieCrapSound) package game { import mx.core.*; public class SoundManager_ChristieCrapSound extends SoundAsset { } }//package game
Section 276
//SoundManager_ChristieDamnedCorpseSound (game.SoundManager_ChristieDamnedCorpseSound) package game { import mx.core.*; public class SoundManager_ChristieDamnedCorpseSound extends SoundAsset { } }//package game
Section 277
//SoundManager_ChristieDeadWeightSound (game.SoundManager_ChristieDeadWeightSound) package game { import mx.core.*; public class SoundManager_ChristieDeadWeightSound extends SoundAsset { } }//package game
Section 278
//SoundManager_ChristieDeathSound (game.SoundManager_ChristieDeathSound) package game { import mx.core.*; public class SoundManager_ChristieDeathSound extends SoundAsset { } }//package game
Section 279
//SoundManager_ChristieDebHeartbrokenSound (game.SoundManager_ChristieDebHeartbrokenSound) package game { import mx.core.*; public class SoundManager_ChristieDebHeartbrokenSound extends SoundAsset { } }//package game
Section 280
//SoundManager_ChristieFindHimSound (game.SoundManager_ChristieFindHimSound) package game { import mx.core.*; public class SoundManager_ChristieFindHimSound extends SoundAsset { } }//package game
Section 281
//SoundManager_ChristieGodDamnitSound (game.SoundManager_ChristieGodDamnitSound) package game { import mx.core.*; public class SoundManager_ChristieGodDamnitSound extends SoundAsset { } }//package game
Section 282
//SoundManager_ChristieHeadHomeSound (game.SoundManager_ChristieHeadHomeSound) package game { import mx.core.*; public class SoundManager_ChristieHeadHomeSound extends SoundAsset { } }//package game
Section 283
//SoundManager_ChristieHeyGetAwaySound (game.SoundManager_ChristieHeyGetAwaySound) package game { import mx.core.*; public class SoundManager_ChristieHeyGetAwaySound extends SoundAsset { } }//package game
Section 284
//SoundManager_ChristieHeySound (game.SoundManager_ChristieHeySound) package game { import mx.core.*; public class SoundManager_ChristieHeySound extends SoundAsset { } }//package game
Section 285
//SoundManager_ChristieHooraySound (game.SoundManager_ChristieHooraySound) package game { import mx.core.*; public class SoundManager_ChristieHooraySound extends SoundAsset { } }//package game
Section 286
//SoundManager_ChristieKeepAroundSound (game.SoundManager_ChristieKeepAroundSound) package game { import mx.core.*; public class SoundManager_ChristieKeepAroundSound extends SoundAsset { } }//package game
Section 287
//SoundManager_ChristieLandSound (game.SoundManager_ChristieLandSound) package game { import mx.core.*; public class SoundManager_ChristieLandSound extends SoundAsset { } }//package game
Section 288
//SoundManager_ChristieNothingCanDoSound (game.SoundManager_ChristieNothingCanDoSound) package game { import mx.core.*; public class SoundManager_ChristieNothingCanDoSound extends SoundAsset { } }//package game
Section 289
//SoundManager_ChristieOhTealeSound (game.SoundManager_ChristieOhTealeSound) package game { import mx.core.*; public class SoundManager_ChristieOhTealeSound extends SoundAsset { } }//package game
Section 290
//SoundManager_ChristieProneAccidentsSound (game.SoundManager_ChristieProneAccidentsSound) package game { import mx.core.*; public class SoundManager_ChristieProneAccidentsSound extends SoundAsset { } }//package game
Section 291
//SoundManager_ChristieSupposedToDoSound (game.SoundManager_ChristieSupposedToDoSound) package game { import mx.core.*; public class SoundManager_ChristieSupposedToDoSound extends SoundAsset { } }//package game
Section 292
//SoundManager_ChristieTealeNoSound (game.SoundManager_ChristieTealeNoSound) package game { import mx.core.*; public class SoundManager_ChristieTealeNoSound extends SoundAsset { } }//package game
Section 293
//SoundManager_ChristieTealeSound (game.SoundManager_ChristieTealeSound) package game { import mx.core.*; public class SoundManager_ChristieTealeSound extends SoundAsset { } }//package game
Section 294
//SoundManager_ChristieWithoutBodySound (game.SoundManager_ChristieWithoutBodySound) package game { import mx.core.*; public class SoundManager_ChristieWithoutBodySound extends SoundAsset { } }//package game
Section 295
//SoundManager_ChristieYumSound (game.SoundManager_ChristieYumSound) package game { import mx.core.*; public class SoundManager_ChristieYumSound extends SoundAsset { } }//package game
Section 296
//SoundManager_ChunkKnockSound (game.SoundManager_ChunkKnockSound) package game { import mx.core.*; public class SoundManager_ChunkKnockSound extends SoundAsset { } }//package game
Section 297
//SoundManager_CorpseDeathSound (game.SoundManager_CorpseDeathSound) package game { import mx.core.*; public class SoundManager_CorpseDeathSound extends SoundAsset { } }//package game
Section 298
//SoundManager_CorpseKnockSound (game.SoundManager_CorpseKnockSound) package game { import mx.core.*; public class SoundManager_CorpseKnockSound extends SoundAsset { } }//package game
Section 299
//SoundManager_CrankSound (game.SoundManager_CrankSound) package game { import mx.core.*; public class SoundManager_CrankSound extends SoundAsset { } }//package game
Section 300
//SoundManager_Cricket1Sound (game.SoundManager_Cricket1Sound) package game { import mx.core.*; public class SoundManager_Cricket1Sound extends SoundAsset { } }//package game
Section 301
//SoundManager_Cricket2Sound (game.SoundManager_Cricket2Sound) package game { import mx.core.*; public class SoundManager_Cricket2Sound extends SoundAsset { } }//package game
Section 302
//SoundManager_Cricket3Sound (game.SoundManager_Cricket3Sound) package game { import mx.core.*; public class SoundManager_Cricket3Sound extends SoundAsset { } }//package game
Section 303
//SoundManager_Cricket4Sound (game.SoundManager_Cricket4Sound) package game { import mx.core.*; public class SoundManager_Cricket4Sound extends SoundAsset { } }//package game
Section 304
//SoundManager_Cricket5Sound (game.SoundManager_Cricket5Sound) package game { import mx.core.*; public class SoundManager_Cricket5Sound extends SoundAsset { } }//package game
Section 305
//SoundManager_ElectricitySound (game.SoundManager_ElectricitySound) package game { import mx.core.*; public class SoundManager_ElectricitySound extends SoundAsset { } }//package game
Section 306
//SoundManager_FragileTerrainSound (game.SoundManager_FragileTerrainSound) package game { import mx.core.*; public class SoundManager_FragileTerrainSound extends SoundAsset { } }//package game
Section 307
//SoundManager_HiveKnockSound (game.SoundManager_HiveKnockSound) package game { import mx.core.*; public class SoundManager_HiveKnockSound extends SoundAsset { } }//package game
Section 308
//SoundManager_MachineSound (game.SoundManager_MachineSound) package game { import mx.core.*; public class SoundManager_MachineSound extends SoundAsset { } }//package game
Section 309
//SoundManager_MusicSound (game.SoundManager_MusicSound) package game { import mx.core.*; public class SoundManager_MusicSound extends SoundAsset { } }//package game
Section 310
//SoundManager_Owl1Sound (game.SoundManager_Owl1Sound) package game { import mx.core.*; public class SoundManager_Owl1Sound extends SoundAsset { } }//package game
Section 311
//SoundManager_Owl3Sound (game.SoundManager_Owl3Sound) package game { import mx.core.*; public class SoundManager_Owl3Sound extends SoundAsset { } }//package game
Section 312
//SoundManager_RavenCawSound (game.SoundManager_RavenCawSound) package game { import mx.core.*; public class SoundManager_RavenCawSound extends SoundAsset { } }//package game
Section 313
//SoundManager_RavenEatSound (game.SoundManager_RavenEatSound) package game { import mx.core.*; public class SoundManager_RavenEatSound extends SoundAsset { } }//package game
Section 314
//SoundManager_RavenFlutterSound (game.SoundManager_RavenFlutterSound) package game { import mx.core.*; public class SoundManager_RavenFlutterSound extends SoundAsset { } }//package game
Section 315
//SoundManager_StoneKnockSound (game.SoundManager_StoneKnockSound) package game { import mx.core.*; public class SoundManager_StoneKnockSound extends SoundAsset { } }//package game
Section 316
//SoundManager_SwitchSound (game.SoundManager_SwitchSound) package game { import mx.core.*; public class SoundManager_SwitchSound extends SoundAsset { } }//package game
Section 317
//SoundManager_TealeAhhhSound (game.SoundManager_TealeAhhhSound) package game { import mx.core.*; public class SoundManager_TealeAhhhSound extends SoundAsset { } }//package game
Section 318
//SoundManager_TealeBeautifulChristieSound (game.SoundManager_TealeBeautifulChristieSound) package game { import mx.core.*; public class SoundManager_TealeBeautifulChristieSound extends SoundAsset { } }//package game
Section 319
//SoundManager_TealeCloserLookSound (game.SoundManager_TealeCloserLookSound) package game { import mx.core.*; public class SoundManager_TealeCloserLookSound extends SoundAsset { } }//package game
Section 320
//SoundManager_TealeFlowerGorgeousSound (game.SoundManager_TealeFlowerGorgeousSound) package game { import mx.core.*; public class SoundManager_TealeFlowerGorgeousSound extends SoundAsset { } }//package game
Section 321
//SoundManager_VultureDeathSound (game.SoundManager_VultureDeathSound) package game { import mx.core.*; public class SoundManager_VultureDeathSound extends SoundAsset { } }//package game
Section 322
//SoundManager_VultureEatSound (game.SoundManager_VultureEatSound) package game { import mx.core.*; public class SoundManager_VultureEatSound extends SoundAsset { } }//package game
Section 323
//SoundManager_VultureFlutterSound (game.SoundManager_VultureFlutterSound) package game { import mx.core.*; public class SoundManager_VultureFlutterSound extends SoundAsset { } }//package game
Section 324
//SoundManager_Wind1Sound (game.SoundManager_Wind1Sound) package game { import mx.core.*; public class SoundManager_Wind1Sound extends SoundAsset { } }//package game
Section 325
//SoundManager_Wind3Sound (game.SoundManager_Wind3Sound) package game { import mx.core.*; public class SoundManager_Wind3Sound extends SoundAsset { } }//package game
Section 326
//SoundManager_Wind4Sound (game.SoundManager_Wind4Sound) package game { import mx.core.*; public class SoundManager_Wind4Sound extends SoundAsset { } }//package game
Section 327
//SoundManager_Wolf2Sound (game.SoundManager_Wolf2Sound) package game { import mx.core.*; public class SoundManager_Wolf2Sound extends SoundAsset { } }//package game
Section 328
//SoundManager_Wolf3Sound (game.SoundManager_Wolf3Sound) package game { import mx.core.*; public class SoundManager_Wolf3Sound extends SoundAsset { } }//package game
Section 329
//LoadBar (loader.LoadBar) package loader { import flash.display.*; import game.*; public dynamic class LoadBar extends MovieClip { private var mClip:LoadBar_MovieClip; public function LoadBar(){ mClip = new LoadBar_MovieClip(); addChild(mClip); } public function SetProgress(_arg1:Number):void{ mClip["mcLoadBarFill"].scaleX = _arg1; mClip["tfPercentLoaded"].text = (Math.ceil((_arg1 * 100)) + "%"); mClip["tfLoadingText"].text = (("Loading " + DeploymentSettings.sGameName) + "..."); } } }//package loader
Section 330
//MochiLeaderboardScreen (main.screens.MochiLeaderboardScreen) package main.screens { import flash.events.*; import flash.display.*; import game.*; import audio.*; import flash.net.*; import achievements.*; import security.*; import mochi.as3.*; import flash.utils.*; public dynamic class MochiLeaderboardScreen extends MovieClip { protected var mParentClip:Sprite; protected var mClip:MovieClip; protected static var sScore:Number = 0; protected static var sSubmitScore:Boolean = false; public function MochiLeaderboardScreen(_arg1:Sprite){ mParentClip = _arg1; } public function ShowLeaderboard():Boolean{ sSubmitScore = false; return (initializeClip()); } public function SubmitScore(_arg1:Number):Boolean{ sSubmitScore = true; sScore = _arg1; return (initializeClip()); } private function addedToStage(_arg1:Event=null):void{ var _local3:String; removeEventListener(Event.ADDED_TO_STAGE, addedToStage); if (DeploymentSettings["sMochiLeaderboardID"] == null){ return; }; var _local2:String = DeploymentSettings["sMochiLeaderboardID"].f(0, ""); if (sSubmitScore){ _local3 = Achievements.Username(); if (_local3 != ""){ MochiScores.showLeaderboard({boardID:_local2, onClose:closeScreen, score:sScore, name:_local3}); } else { MochiScores.showLeaderboard({boardID:_local2, onClose:closeScreen, score:sScore}); }; Achievements.SubmitScore(DeploymentSettings.sHighscoreGameID, sScore); } else { MochiScores.showLeaderboard({boardID:_local2, onClose:closeScreen}); }; } private function closeScreen():void{ MochiScores.closeLeaderboard(); mParentClip.removeChild(this); mParentClip = null; } private function onBackButton(_arg1:MouseEvent):void{ closeScreen(); } private function initializeClip():Boolean{ var theClass:Class; try { theClass = Class(getDefinitionByName("MochiLeaderboardScreen_MovieClip")); mClip = new (theClass); } catch(e:Error) { trace(("***** Could not create MochiLeaderboardScreen_MovieClip: " + e.message)); return (false); }; if (mClip == null){ return (false); }; mClip["btnBack"].addEventListener(MouseEvent.MOUSE_DOWN, onBackButton, false, 0, true); mClip["btnBack"].useHandCursor = true; mClip["btnBack"].addEventListener(MouseEvent.MOUSE_DOWN, AudioEngine.PlayButtonDownSound, false, 0, true); mClip["btnBack"].addEventListener(MouseEvent.MOUSE_OVER, AudioEngine.PlayButtonHoverSound, false, 0, true); addChild(mClip); addEventListener(Event.ADDED_TO_STAGE, addedToStage); mParentClip.addChild(this); return (true); } } }//package main.screens
Section 331
//MainLoop (main.MainLoop) package main { import flash.events.*; import flash.display.*; import game.*; import audio.*; import flash.media.*; import flash.ui.*; public class MainLoop extends Sprite { private var mMainMenu:MovieClip;// = null private var mPreSplashFramerate:int; protected var mMusicButton:MovieClip; protected var mSoundEffectsButton:MovieClip; private var mGameState:int;// = 0 private var mSplash:MovieClip;// = null protected var mPauseClip:PauseOverlay; private var mPaused:Boolean;// = false private var mGame:Game;// = null public static const GAMESTATE_SPLASH:int = 2; public static const GAMESTATE_INGAME:int = 4; public static const GAMESTATE_UNINITIALIZED:int = 0; public static const GAMESTATE_LOADING:int = 1; public static const GAMESTATE_MAINMENU:int = 3; public function MainLoop(){ if (stage){ initialize(); } else { addEventListener(Event.ADDED_TO_STAGE, initialize); }; } private function update(_arg1:Event=null):void{ var _local2:int; var _local3:Boolean; switch (mGameState){ case GAMESTATE_UNINITIALIZED: case GAMESTATE_SPLASH: if ((((mSplash == null)) || ((mSplash.currentFrame == mSplash.totalFrames)))){ if (!setupNextSplash()){ stage.frameRate = mPreSplashFramerate; mGameState = GAMESTATE_MAINMENU; }; }; break; case GAMESTATE_MAINMENU: if (mMainMenu == null){ mMainMenu = new MainMenu(); addChild(mMainMenu); mMainMenu.x = 0; mMainMenu.y = 0; stage.focus = mMainMenu; Mouse.show(); }; if (mMainMenu.GameMode() > 0){ mGameState = GAMESTATE_INGAME; _local2 = mMainMenu.GameMode(); _local3 = mMainMenu.UseSaveGameData(); removeChild(mMainMenu); mMainMenu = null; mGame = new Game(); addChild(mGame); mGame.x = 0; mGame.y = 0; stage.focus = mGame; mGame.StartGame(_local2, _local3); }; break; case GAMESTATE_INGAME: if (mGame.RequestsMainMenu()){ if (mGame != null){ mGame.Shutdown(); removeChild(mGame); mGame = null; }; mGameState = GAMESTATE_MAINMENU; }; if (((!((mGame == null))) && (mGame.RequestsPause()))){ Pause(); }; break; }; } public function Pause():void{ if (mPaused){ return; }; mPaused = true; mPauseClip = new PauseOverlay(); addChild(mPauseClip); if (mGame != null){ mGame.Freeze(true); }; mSoundEffectsButton = new SoundEffectsButton(mPauseClip.mcSoundEffectsButton); mMusicButton = new MusicButton(mPauseClip.mcMusicButton); mPauseClip.ContinueButton().addEventListener(MouseEvent.MOUSE_DOWN, onContinue, false, 0, true); if (mPauseClip.MainMenuButton() != null){ mPauseClip.MainMenuButton().addEventListener(MouseEvent.MOUSE_DOWN, onMainMenu, false, 0, true); }; } private function setupNextSplash():Boolean{ mGameState = GAMESTATE_SPLASH; if (DeploymentSettings.sSkipSplashes){ return (false); }; if (mSplash != null){ removeChild(mSplash); mSplash.stop(); mSplash = null; }; var _local1:SplashScreenDescriptor = DeploymentSettings.sSplashScreens.pop(); if (_local1 == null){ return (false); }; stage.frameRate = _local1.Framerate(); mSplash = _local1.Clip(); addChild(mSplash); mSplash.x = (loaderInfo.width / 2); mSplash.y = (loaderInfo.height / 2); mSplash.gotoAndPlay(2); return (true); } private function initialize(_arg1:Event=null):void{ var _local3:Video; removeEventListener(Event.ADDED_TO_STAGE, initialize); DeploymentSettings.Initialize(); var _local2:ContextMenu = new ContextMenu(); _local2.hideBuiltInItems(); this.contextMenu = _local2; stage.stageFocusRect = false; mPreSplashFramerate = stage.frameRate; mGameState = GAMESTATE_SPLASH; if (((!((DeploymentSettings["sIsAndroidGame"] == null))) && (DeploymentSettings["sIsAndroidGame"]))){ _local3 = new Video(); addChild(_local3); stage.addEventListener(FullScreenEvent.FULL_SCREEN, fullScreenChange); }; addEventListener(Event.ENTER_FRAME, update); } protected function onContinue(_arg1:MouseEvent):void{ if (stage.displayState == StageDisplayState.NORMAL){ stage.displayState = StageDisplayState.FULL_SCREEN; }; UnPause(); } protected function fullScreenChange(_arg1:FullScreenEvent):void{ if (_arg1.fullScreen){ } else { if (!mPaused){ if (!mGame.Paused()){ Pause(); }; }; }; } protected function onMainMenu(_arg1:MouseEvent):void{ if (stage.displayState == StageDisplayState.NORMAL){ stage.displayState = StageDisplayState.FULL_SCREEN; }; UnPause(); } public function UnPause():void{ if (!mPaused){ return; }; mPaused = false; mPauseClip.ContinueButton().removeEventListener(MouseEvent.MOUSE_DOWN, onContinue); if (mPauseClip.MainMenuButton() != null){ mPauseClip.MainMenuButton().removeEventListener(MouseEvent.MOUSE_DOWN, onMainMenu); }; mSoundEffectsButton = null; mMusicButton = null; removeChild(mPauseClip); mPauseClip = null; if (mGame != null){ mGame.Freeze(false); }; } } }//package main
Section 332
//MainMenu (main.MainMenu) package main { import flash.events.*; import flash.display.*; import game.*; import audio.*; import flash.net.*; import achievements.*; import misc.*; import main.screens.*; import security.*; import flash.utils.*; import portalAPI.*; public class MainMenu extends MovieClip { protected var mGameMode:int;// = 0 protected var mMusicButton:MovieClip; protected var mSoundEffectsButton:SoundEffectsButton; protected var mUseSaveGameData:Boolean;// = true protected var mCreditsClip:MovieClip; protected var mAchievementsClip:MovieClip; protected var mClip:MainMenu_MovieClip; public function MainMenu(){ mClip = new MainMenu_MovieClip(); addChild(mClip); addEventListener(Event.ADDED_TO_STAGE, initialize); } public function FlashPlayerVersionCheck():void{ } private function setupSequentialButtons(_arg1:String, _arg2:Function, _arg3:MovieClip=null):void{ var _local6:DisplayObject; var _local7:String; var _local8:MovieClip; _arg3 = ((_arg3 == null)) ? mClip : _arg3; var _local4 = 1; var _local5:Boolean; while (!(_local5)) { _local6 = _arg3[(_arg1 + _local4.toString())]; if (_local6 != null){ _local6.addEventListener(MouseEvent.MOUSE_DOWN, _arg2, false, 0, true); _local7 = getQualifiedClassName(_arg3[(_arg1 + _local4.toString())]); if (_local7 != "flash.display::SimpleButton"){ _local8 = _arg3[(_arg1 + _local4.toString())]; _local8.buttonMode = true; _local8.useHandCursor = true; if (_local8["mcHitArea"] != null){ _local8.hitArea = _local8["mcHitArea"]; _local8.mouseChildren = false; _local8["mcHitArea"].mouseEnabled = false; _local8["mcHitArea"].visible = false; }; }; if (DeploymentSettings[((("s_" + _arg1) + _local4.toString()) + "Mute")] == true){ } else { _local6.addEventListener(MouseEvent.MOUSE_DOWN, AudioEngine.PlayButtonDownSound, false, 0, true); _local6.addEventListener(MouseEvent.MOUSE_OVER, AudioEngine.PlayButtonHoverSound, false, 0, true); }; } else { _local5 = true; }; _local4++; }; } private function initializeLockedScreen():void{ mClip.addFrameScript((mClip.currentFrame - 1), initializeLockedScreenHelper); } private function viewHighscores(_arg1:MouseEvent):void{ var _local2:URLRequest = new URLRequest(DeploymentSettings.sGamePostURL); navigateToURL(_local2, urlTarget()); } private function miscLink(_arg1:MouseEvent):void{ var _local3:URLRequest; var _local2:int = getIndexFromButtonName(_arg1.currentTarget.name, "btnMiscLink"); if (DeploymentSettings[("sMiscLink" + _local2)] != null){ _local3 = new URLRequest(DeploymentSettings[("sMiscLink" + _local2)]); navigateToURL(_local3, urlTarget()); } else { trace(("***** Could not locate misc URL DeploymentSettings.sMiscLink" + _local2)); }; } private function setupButton(_arg1:String, _arg2:Function, _arg3:MovieClip=null):void{ _arg3 = ((_arg3 == null)) ? mClip : _arg3; if (_arg3[_arg1] != null){ _arg3[_arg1].addEventListener(MouseEvent.MOUSE_DOWN, _arg2, false, 0, true); _arg3[_arg1].useHandCursor = true; if (DeploymentSettings[(("s_" + _arg1) + "Mute")] == true){ } else { _arg3[_arg1].addEventListener(MouseEvent.MOUSE_DOWN, AudioEngine.PlayButtonDownSound, false, 0, true); _arg3[_arg1].addEventListener(MouseEvent.MOUSE_OVER, AudioEngine.PlayButtonHoverSound, false, 0, true); }; }; } private function initialize(_arg1:Event=null):void{ removeEventListener(Event.ADDED_TO_STAGE, initialize); SharedObjectHelper.sGameName = DeploymentSettings.sGameName; mGameMode = 0; mUseSaveGameData = true; AudioEngine.LoadSavedAudioSettings(); mSoundEffectsButton = new SoundEffectsButton(mClip.mcSoundEffectsButton); mMusicButton = new MusicButton(mClip.mcMusicButton); if (mClip.tfVersion != null){ mClip.tfVersion.text = ("Version " + DeploymentSettings.sVersion); }; FlashPlayerVersionCheck(); DomainCheck.AllowAllDomains(DeploymentSettings.sAllowAllDomains); DomainCheck.BlockLocalhost(DeploymentSettings.sBlockLocalhost); DomainCheck.SetAllowedDomains(DeploymentSettings.sAllowedDomains); if (!DomainCheck.isCurrentDomainAllowed()){ mClip.gotoAndStop("locked"); initializeLockedScreen(); return; }; mClip.gotoAndStop("unlocked"); Game.InitializeAchievements(); Achievements.Initialize(DeploymentSettings.sLittlegreyServerLocation, DeploymentSettings.sDYOGServerLocation); if (mClip["tfConsole"] != null){ Achievements.SetConsole(mClip["tfConsole"]); }; Achievements.LoadUserFromQueryString(loaderInfo.parameters); setupButton("btnHighscores", viewHighscores); setupButton("btnMoreGames", moreGames); setupButton("btnPlayFullscreen", playFullscreen); setupButton("btnLicenseOptions", licenseOptions); setupButton("btnAchievements", viewAchievements); setupButton("btnCredits", viewCredits); setupButton("btnMochiLeaderboard", viewMochiLeaderboard); setupButton("btnArmorGamesLeaderboard", viewArmorGamesLeaderboard); setupSequentialButtons("btnStartNewGame", startGame); setupSequentialButtons("btnSponsor", gotoSponsorSite); setupSequentialButtons("btnMiscLink", miscLink); if (mClip["btnContinue"] != null){ SharedObjectHelper.sSaveDataExists = true; if (SharedObjectHelper.HasData()){ mClip["btnContinue"].alpha = 1; mClip["btnContinue"].enabled = true; mClip["btnContinue"].addEventListener(MouseEvent.MOUSE_DOWN, continueGame, false, 0, true); mClip["btnContinue"].addEventListener(MouseEvent.MOUSE_DOWN, AudioEngine.PlayButtonDownSound, false, 0, true); mClip["btnContinue"].addEventListener(MouseEvent.MOUSE_OVER, AudioEngine.PlayButtonHoverSound, false, 0, true); mClip["btnContinue"].useHandCursor = true; } else { mClip["btnContinue"].alpha = 0.4; mClip["btnContinue"].enabled = false; }; }; if (DeploymentSettings.sUseMoFunZoneAPI == true){ MoFunZone.ShowUsername(); }; } public function GameMode():int{ return (mGameMode); } private function playFullscreen(_arg1:MouseEvent):void{ var _local2:URLRequest = new URLRequest(DeploymentSettings.sFullscreenURL); navigateToURL(_local2, urlTarget()); } private function initializeLockedScreenHelper():void{ mClip.addFrameScript((mClip.currentFrame - 1), null); mClip.tfLockedMessage.text = DeploymentSettings.sLockedMessage; setupButton("btnPlayFullscreen", playFullscreen); setupButton("btnLicenseOptions", licenseOptions); setupSequentialButtons("btnSponsor", gotoSponsorSite); setupSequentialButtons("btnMiscLink", miscLink); if (mClip["btnLockedPlay"] != null){ mClip["btnLockedPlay"].addEventListener(MouseEvent.MOUSE_DOWN, lockedPlay, false, 0, true); mClip["btnLockedPlay"].addEventListener(MouseEvent.MOUSE_DOWN, AudioEngine.PlayButtonDownSound, false, 0, true); mClip["btnLockedPlay"].addEventListener(MouseEvent.MOUSE_OVER, AudioEngine.PlayButtonHoverSound, false, 0, true); mClip["btnLockedPlay"].useHandCursor = true; }; } private function gotoSponsorSite(_arg1:MouseEvent):void{ var _local3:URLRequest; var _local2:int = getIndexFromButtonName(_arg1.currentTarget.name, "btnSponsor"); if (DeploymentSettings[("sSponsorURL" + _local2)] != null){ _local3 = new URLRequest(DeploymentSettings[("sSponsorURL" + _local2)]); navigateToURL(_local3, urlTarget()); } else { trace(("***** Could not locate sponsor URL DeploymentSettings.sSponsorURL" + _local2)); }; } public function UseSaveGameData():Boolean{ return (mUseSaveGameData); } private function getIndexFromButtonName(_arg1:String, _arg2:String):int{ var _local3:int; if (_arg1.length > _arg2.length){ _local3 = int(_arg1.substring(_arg2.length)); }; return (_local3); } private function lockedPlay(_arg1:MouseEvent):void{ var _local2:URLRequest = new URLRequest(DeploymentSettings.sGameURL); navigateToURL(_local2, urlTarget()); } protected function urlTarget():String{ if (((!((DeploymentSettings["sIsAndroidGame"] == null))) && ((DeploymentSettings["sIsAndroidGame"] == true)))){ return (""); }; return ("_blank"); } private function creditsBack(_arg1:MouseEvent):void{ mClip.removeChild(mCreditsClip); mCreditsClip = null; mSoundEffectsButton = new SoundEffectsButton(mClip.mcSoundEffectsButton); mMusicButton = new MusicButton(mClip.mcMusicButton); } private function viewAchievements(_arg1:MouseEvent):void{ var theClass:Class; var event = _arg1; try { theClass = Class(getDefinitionByName("AchievementsOverlay_MovieClip")); mAchievementsClip = new (theClass); } catch(e:Error) { trace(("***** Could not create AchievementsOverlay_MovieClip: " + e.message)); return; }; if (mAchievementsClip == null){ return; }; Achievements.Display(mAchievementsClip["mcAchievements"]); mClip.addChild(mAchievementsClip); mAchievementsClip["btnBack"].addEventListener(MouseEvent.MOUSE_DOWN, achievementsBack, false, 0, true); mAchievementsClip["btnBack"].useHandCursor = true; mAchievementsClip["btnBack"].addEventListener(MouseEvent.MOUSE_DOWN, AudioEngine.PlayButtonDownSound, false, 0, true); mAchievementsClip["btnBack"].addEventListener(MouseEvent.MOUSE_OVER, AudioEngine.PlayButtonHoverSound, false, 0, true); Achievements.SubmitAllAchievements(); } private function achievementsBack(_arg1:MouseEvent):void{ mClip.removeChild(mAchievementsClip); mAchievementsClip = null; } private function viewMochiLeaderboard(_arg1:MouseEvent):void{ var _local2:MochiLeaderboardScreen = new MochiLeaderboardScreen(this); _local2.ShowLeaderboard(); } private function startGame(_arg1:MouseEvent):void{ mGameMode = getIndexFromButtonName(_arg1.currentTarget.name, "btnStartNewGame"); mUseSaveGameData = false; } private function licenseOptions(_arg1:MouseEvent):void{ var _local2:URLRequest = new URLRequest(DeploymentSettings.sLicenseURL); navigateToURL(_local2, urlTarget()); } private function viewArmorGamesLeaderboard(_arg1:MouseEvent):void{ ArmorGames.ShowLeaderboard(); } private function continueGame(_arg1:MouseEvent):void{ mGameMode = 1; mUseSaveGameData = true; } private function moreGames(_arg1:MouseEvent):void{ var _local2:URLRequest = new URLRequest(DeploymentSettings.sMoreGamesURL); navigateToURL(_local2, urlTarget()); } private function viewCredits(_arg1:MouseEvent):void{ var theClass:Class; var event = _arg1; try { theClass = Class(getDefinitionByName("CreditsScreen_MovieClip")); mCreditsClip = new (theClass); } catch(e:Error) { trace(("***** Could not create CreditsScreen_MovieClip: " + e.message)); return; }; if (mCreditsClip == null){ return; }; mClip.addChild(mCreditsClip); mCreditsClip["btnBack"].addEventListener(MouseEvent.MOUSE_DOWN, creditsBack, false, 0, true); mCreditsClip["btnBack"].useHandCursor = true; mCreditsClip["btnBack"].addEventListener(MouseEvent.MOUSE_DOWN, AudioEngine.PlayButtonDownSound, false, 0, true); mCreditsClip["btnBack"].addEventListener(MouseEvent.MOUSE_OVER, AudioEngine.PlayButtonHoverSound, false, 0, true); if (mCreditsClip["tfVersion"] != null){ mCreditsClip["tfVersion"].text = ("Version " + DeploymentSettings.sVersion); }; setupButton("btnLicenseOptions", licenseOptions, mCreditsClip); if (mCreditsClip["mcSoundEffectsButton"] != null){ mSoundEffectsButton = new SoundEffectsButton(mCreditsClip["mcSoundEffectsButton"]); }; if (mCreditsClip["mcMusicButton"] != null){ mMusicButton = new MusicButton(mCreditsClip["mcMusicButton"]); }; setupSequentialButtons("btnSponsor", gotoSponsorSite, mCreditsClip); setupSequentialButtons("btnMiscLink", miscLink, mCreditsClip); } } }//package main
Section 333
//Preloader (main.Preloader) package main { import flash.events.*; import flash.display.*; import mochi.as3.*; import flash.utils.*; import loader.*; import portalAPI.*; import security.*; import game.*; public dynamic class Preloader extends MovieClip { private var mLoadBar:LoadBar;// = null private var mHideDYOGLoader:Boolean;// = false private var mCustomLoader:MovieClip;// = null private var mOriginalFramerate:int; private var mFakeLoadLevel:int;// = 0 private var _customLoadBar:CustomLoadBar; public static var sCustomLoaderIsDone:Boolean = false; private static var sFakeLoadLimit:int = 100; public function Preloader(){ if (stage){ initialize(); } else { addEventListener(Event.ADDED_TO_STAGE, initialize); }; } private function startup():void{ if (mLoadBar != null){ removeChild(mLoadBar); mLoadBar = null; }; if (mCustomLoader != null){ removeChild(mCustomLoader); mCustomLoader = null; stage.frameRate = mOriginalFramerate; }; var _local1:Class = (getDefinitionByName(DeploymentSettings.sClassName) as Class); addChild((new (_local1) as DisplayObject)); } private function checkFrame(_arg1:Event):void{ var _local2:Number; if (DeploymentSettings.sUseCustomLoader){ if (mCustomLoader == null){ mCustomLoader = new CustomLoadBar(); addChild(mCustomLoader); mCustomLoader.x = (loaderInfo.width / 2); mCustomLoader.y = (loaderInfo.height / 2); stage.frameRate = DeploymentSettings.sCustomLoaderFramerate; }; if (sCustomLoaderIsDone){ removeEventListener(Event.ENTER_FRAME, checkFrame); nextFrame(); startup(); }; } else { if (((((DeploymentSettings.sFakeLoading) && ((mFakeLoadLevel <= sFakeLoadLimit)))) || ((loaderInfo.bytesLoaded < loaderInfo.bytesTotal)))){ if (mLoadBar == null){ mLoadBar = new LoadBar(); addChild(mLoadBar); mLoadBar.x = (loaderInfo.width / 2); mLoadBar.y = (loaderInfo.height / 2); }; _local2 = 0; if (DeploymentSettings.sFakeLoading){ _local2 = (mFakeLoadLevel / sFakeLoadLimit); mFakeLoadLevel++; } else { _local2 = (loaderInfo.bytesLoaded / loaderInfo.bytesTotal); }; if (mLoadBar != null){ mLoadBar.SetProgress(_local2); }; } else { removeEventListener(Event.ENTER_FRAME, checkFrame); nextFrame(); startup(); }; }; } private function initialize(_arg1:Event=null):void{ var _local2:String; if (DeploymentSettings.sUseKongregateAPI == true){ KongregateServices.Initialize(root); }; if (DeploymentSettings.sUseMindJoltAPI == true){ MindJoltAPI.Initialize(root, DeploymentSettings.sPortalAPIGameKey, prerollAdFinished); }; if (DeploymentSettings.sUseArmorGamesAPI == true){ ArmorGames.Initialize(root, DeploymentSettings.sPortalAPIGameKey); }; if (DeploymentSettings.sUseMoFunZoneAPI == true){ MoFunZone.Initialize(stage, 640, 480, DeploymentSettings.sPortalAPIGameKey); }; if (DeploymentSettings["sMochiLeaderboardID"] != null){ MochiServices.connect(DeploymentSettings.sMochiID, root); }; removeEventListener(Event.ADDED_TO_STAGE, initialize); mOriginalFramerate = stage.frameRate; stop(); if (DeploymentSettings.sPrerollAdExemptDomains != null){ DomainCheck.SetAdExemptDomains(DeploymentSettings.sPrerollAdExemptDomains); }; if (DeploymentSettings.sUseMindJoltAPI == true){ mHideDYOGLoader = true; } else { if (((((!((DeploymentSettings.sMochiID == null))) && (!((DeploymentSettings.sMochiID == ""))))) && (!(DomainCheck.IsAdExempt())))){ mHideDYOGLoader = true; _local2 = ((DeploymentSettings.sMochiSize == null)) ? "640x480" : DeploymentSettings.sMochiSize; MochiAd.showPreGameAd({clip:this, id:DeploymentSettings.sMochiID, res:_local2, background:0, color:5658782, outline:0xFFFFFF, no_bg:true, ad_finished:prerollAdFinished}); }; }; if (!mHideDYOGLoader){ addEventListener(Event.ENTER_FRAME, checkFrame); }; } private function prerollAdFinished():void{ nextFrame(); startup(); } } }//package main
Section 334
//SplashScreenDescriptor (main.SplashScreenDescriptor) package main { import flash.display.*; public class SplashScreenDescriptor { private var mFramerate:int;// = 30 private var mClip:MovieClip;// = null public function SplashScreenDescriptor(_arg1:MovieClip, _arg2:int){ mFramerate = _arg2; mClip = _arg1; mClip.stop(); } public function Framerate():int{ return (mFramerate); } public function Release():void{ mClip.stop(); mClip = null; } public function Clip():MovieClip{ return (mClip); } } }//package main
Section 335
//SharedObjectHelper (misc.SharedObjectHelper) package misc { import flash.net.*; public class SharedObjectHelper { public static var sGameName:String = ""; public static var sSaveDataExists:Boolean = false; public static function HasData():Boolean{ var _local1:SharedObject = GetData(); return (((_local1 == null)) ? false : !((_local1.data.key == null))); } public static function GetAppName():String{ var _local1:String = sGameName.split(" ").join(""); _local1 = _local1.split("'").join(""); _local1 = _local1.split("?").join(""); _local1 = _local1.split(":").join(""); return (_local1); } public static function ClearAllData():void{ var _local1:SharedObject = GetData(); if (((!((_local1 == null))) && (!((_local1.data.key == null))))){ _local1.data.key = null; _local1.flush(); }; } public static function GetData():SharedObject{ var shrdObject:SharedObject; try { shrdObject = SharedObject.getLocal(GetAppName()); } catch(e:Error) { trace("***** Error loading save file."); }; return (shrdObject); } } }//package misc
Section 336
//MochiAd (mochi.as3.MochiAd) package mochi.as3 { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class MochiAd { public static function getVersion():String{ return (MochiServices.getVersion()); } public static function showClickAwayAd(_arg1:Object):void{ var clip:Object; var mc:MovieClip; var chk:MovieClip; var options = _arg1; var DEFAULTS:Object = {ad_timeout:5500, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{ }, ad_finished:function ():void{ }, ad_loaded:function (_arg1:Number, _arg2:Number):void{ }, ad_failed:function ():void{ trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_skipped:function ():void{ }}; options = MochiAd._parseOptions(options, DEFAULTS); clip = options.clip; var ad_timeout:Number = options.ad_timeout; delete options.ad_timeout; if (!MochiAd.load(options)){ options.ad_failed(); options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ MochiAd._cleanup(mc); options.ad_finished(); }; var wh:Array = MochiAd._getRes(options, clip); var w:Number = wh[0]; var h:Number = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; mc.unloadAd = function ():void{ MochiAd.unload(clip); }; mc.adLoaded = options.ad_loaded; mc.adSkipped = options.ad_skipped; mc.rpc = function (_arg1:Number, _arg2:Object):void{ MochiAd.rpc(clip, _arg1, _arg2); }; chk["onEnterFrame"] = function ():void{ var _local4:Number; if (!this.parent){ delete this.onEnterFrame; return; }; var _local1:Object = this.parent._mochiad_ctr; var _local2:Number = (getTimer() - this.started); var _local3:Boolean; if (!chk.showing){ _local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal; if (_local4 > 0){ chk.showing = true; _local3 = true; chk.started = getTimer(); } else { if (_local2 > chk.ad_timeout){ options.ad_failed(); _local3 = true; }; }; }; if (this.root == null){ _local3 = true; }; if (_local3){ delete this.onEnterFrame; }; }; doOnEnterFrame(chk); } public static function _isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function _allowDomains(_arg1:String):String{ var _local2:String = _arg1.split("/")[2].split(":")[0]; if (Security.sandboxType == "application"){ return (_local2); }; Security.allowDomain("*"); Security.allowDomain(_local2); Security.allowInsecureDomain("*"); Security.allowInsecureDomain(_local2); return (_local2); } public static function unload(_arg1:Object):Boolean{ if (((_arg1.clip) && (_arg1.clip._mochiad))){ _arg1 = _arg1.clip; }; if (_arg1.origFrameRate != undefined){ _arg1.stage.frameRate = _arg1.origFrameRate; }; if (!_arg1._mochiad){ return (false); }; if (_arg1._mochiad._containerLCName != undefined){ _arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "notify", {id:"unload"}); }; if (_arg1._mochiad.onUnload){ _arg1._mochiad.onUnload(); }; delete _arg1._mochiad_loaded; delete _arg1._mochiad; return (true); } public static function showInterLevelAd(_arg1:Object):void{ var clip:Object; var mc:MovieClip; var chk:MovieClip; var options = _arg1; var DEFAULTS:Object = {ad_timeout:5500, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{ if ((this.clip is MovieClip)){ this.clip.stop(); } else { throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_finished:function ():void{ if ((this.clip is MovieClip)){ this.clip.play(); } else { throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_loaded:function (_arg1:Number, _arg2:Number):void{ }, ad_failed:function ():void{ trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_skipped:function ():void{ }}; options = MochiAd._parseOptions(options, DEFAULTS); clip = options.clip; var ad_msec:Number = 11000; var ad_timeout:Number = options.ad_timeout; delete options.ad_timeout; var fadeout_time:Number = options.fadeout_time; delete options.fadeout_time; if (!MochiAd.load(options)){ options.ad_failed(); options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ MochiAd._cleanup(mc); options.ad_finished(); }; var wh:Array = MochiAd._getRes(options, clip); var w:Number = wh[0]; var h:Number = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.ad_msec = ad_msec; chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; chk.fadeout_time = fadeout_time; chk.fadeFunction = function ():void{ if (!this.parent){ delete this.onEnterFrame; delete this.fadeFunction; return; }; var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time))); if (_local1 > 0){ this.parent.alpha = (_local1 * 0.01); } else { MochiAd.unload(clip); delete this["onEnterFrame"]; }; }; mc.unloadAd = function ():void{ MochiAd.unload(clip); }; mc.adLoaded = options.ad_loaded; mc.adSkipped = options.ad_skipped; mc.adjustProgress = function (_arg1:Number):void{ var _local2:Object = mc._mochiad_wait; _local2.server_control = true; _local2.showing = true; _local2.started = getTimer(); _local2.ad_msec = (_arg1 - 250); }; mc.rpc = function (_arg1:Number, _arg2:Object):void{ MochiAd.rpc(clip, _arg1, _arg2); }; chk["onEnterFrame"] = function ():void{ var _local4:Number; if (!this.parent){ delete this.onEnterFrame; delete this.fadeFunction; return; }; var _local1:Object = this.parent._mochiad_ctr; var _local2:Number = (getTimer() - this.started); var _local3:Boolean; if (!chk.showing){ _local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal; if (_local4 > 0){ chk.showing = true; chk.started = getTimer(); MochiAd.adShowing(clip); } else { if (_local2 > chk.ad_timeout){ options.ad_failed(); _local3 = true; }; }; }; if (_local2 > chk.ad_msec){ _local3 = true; }; if (_local3){ if (this.server_control){ delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = this.fadeFunction; }; }; }; doOnEnterFrame(chk); } public static function _parseOptions(_arg1:Object, _arg2:Object):Object{ var _local4:String; var _local5:Array; var _local6:Number; var _local7:Array; var _local3:Object = {}; for (_local4 in _arg2) { _local3[_local4] = _arg2[_local4]; }; if (_arg1){ for (_local4 in _arg1) { _local3[_local4] = _arg1[_local4]; }; }; if (_local3.clip == undefined){ throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite.")); }; _arg1 = _local3.clip.loaderInfo.parameters.mochiad_options; if (_arg1){ _local5 = _arg1.split("&"); _local6 = 0; while (_local6 < _local5.length) { _local7 = _local5[_local6].split("="); _local3[unescape(_local7[0])] = unescape(_local7[1]); _local6++; }; }; if (_local3.id == "test"){ trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!"); }; return (_local3); } public static function _cleanup(_arg1:Object):void{ var k:String; var lc:LocalConnection; var f:Function; var mc = _arg1; if (("lc" in mc)){ lc = mc.lc; f = function ():void{ try { lc.client = null; lc.close(); } catch(e:Error) { }; }; setTimeout(f, 0); }; var idx:Number = DisplayObjectContainer(mc).numChildren; while (idx > 0) { idx = (idx - 1); DisplayObjectContainer(mc).removeChildAt(idx); }; for (k in mc) { delete mc[k]; }; } public static function load(_arg1:Object):MovieClip{ var clip:Object; var mc:MovieClip; var k:String; var server:String; var hostname:String; var lc:LocalConnection; var name:String; var loader:Loader; var g:Function; var req:URLRequest; var v:Object; var options = _arg1; var DEFAULTS:Object = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"}; options = MochiAd._parseOptions(options, DEFAULTS); options.swfv = 9; options.mav = MochiAd.getVersion(); clip = options.clip; if (!(clip is DisplayObject)){ trace("Warning: Object passed as container clip not a descendant of the DisplayObject type"); return (null); }; if (MovieClip(clip).stage == null){ trace("Warning: Container clip for ad is not attached to the stage"); return (null); }; if (!MochiAd._isNetworkAvailable()){ return (null); }; try { if (clip._mochiad_loaded){ return (null); }; } catch(e:Error) { throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic.")); }; var depth:Number = options.depth; delete options.depth; mc = createEmptyMovieClip(clip, "_mochiad", depth); var wh:Array = MochiAd._getRes(options, clip); options.res = ((wh[0] + "x") + wh[1]); options.server = (options.server + options.id); delete options.id; clip._mochiad_loaded = true; if (clip.loaderInfo.loaderURL.indexOf("http") == 0){ options.as3_swf = clip.loaderInfo.loaderURL; } else { trace("[MochiAd] NOTE: Security Sandbox Violation errors below are normal"); }; var lv:URLVariables = new URLVariables(); for (k in options) { v = options[k]; if (!(v is Function)){ lv[k] = v; }; }; server = lv.server; delete lv.server; hostname = _allowDomains(server); lc = new LocalConnection(); lc.client = mc; name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_"); lc.allowDomain("*", "localhost"); lc.allowInsecureDomain("*", "localhost"); lc.connect(name); mc.lc = lc; mc.lcName = name; lv.lc = name; lv.st = getTimer(); mc.regContLC = function (_arg1:String):void{ mc._containerLCName = _arg1; }; loader = new Loader(); g = function (_arg1:Object):void{ _arg1.target.removeEventListener(_arg1.type, arguments.callee); MochiAd.unload(clip); }; loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g); req = new URLRequest(((server + ".swf?cacheBust=") + new Date().getTime())); req.contentType = "application/x-www-form-urlencoded"; req.method = URLRequestMethod.POST; req.data = lv; loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:IOErrorEvent):void{ trace("[MochiAds] Blocked URL"); }); if (!options.skip){ loader.load(req); }; mc.addChild(loader); mc._mochiad_ctr = loader; return (mc); } public static function runMethod(_arg1:Object, _arg2:String, _arg3:Array):Object{ var _local4:Array = _arg2.split("."); var _local5:Number = 0; while (_local5 < (_local4.length - 1)) { if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){ return (undefined); }; _arg1 = _arg1[_local4[_local5]]; _local5++; }; if (typeof(_arg1[_local4[_local5]]) == "function"){ return (_arg1[_local4[_local5]].apply(_arg1, _arg3)); }; return (undefined); } public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{ var _local4:MovieClip = new MovieClip(); if (((false) && (_arg3))){ _arg1.addChildAt(_local4, _arg3); } else { _arg1.addChild(_local4); }; _arg1[_arg2] = _local4; _local4["_name"] = _arg2; return (_local4); } public static function _getRes(_arg1:Object, _arg2:Object):Array{ var _local6:Array; var _local3:Object = _arg2.getBounds(_arg2.root); var _local4:Number = 0; var _local5:Number = 0; if (typeof(_arg1.res) != "undefined"){ _local6 = _arg1.res.split("x"); _local4 = parseFloat(_local6[0]); _local5 = parseFloat(_local6[1]); } else { _local4 = (_local3.right - _local3.left); _local5 = (_local3.top - _local3.bottom); }; if ((((_local4 == 0)) || ((_local5 == 0)))){ _local4 = _arg2.stage.stageWidth; _local5 = _arg2.stage.stageHeight; }; return ([_local4, _local5]); } public static function adShowing(_arg1:Object):void{ _arg1.origFrameRate = _arg1.stage.frameRate; _arg1.stage.frameRate = 30; } public static function getValue(_arg1:Object, _arg2:String):Object{ var _local3:Array = _arg2.split("."); var _local4:Number = 0; while (_local4 < (_local3.length - 1)) { if ((((_arg1[_local3[_local4]] == undefined)) || ((_arg1[_local3[_local4]] == null)))){ return (undefined); }; _arg1 = _arg1[_local3[_local4]]; _local4++; }; return (_arg1[_local3[_local4]]); } public static function rpc(_arg1:Object, _arg2:Number, _arg3:Object):void{ var _local4:Object; var _local5:Object; switch (_arg3.id){ case "setValue": MochiAd.setValue(_arg1, _arg3.objectName, _arg3.value); break; case "getValue": _local4 = MochiAd.getValue(_arg1, _arg3.objectName); _arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local4); break; case "runMethod": _local5 = MochiAd.runMethod(_arg1, _arg3.method, _arg3.args); _arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local5); break; default: trace(("[mochiads rpc] unknown rpc id: " + _arg3.id)); }; } public static function setValue(_arg1:Object, _arg2:String, _arg3:Object):void{ var _local4:Array = _arg2.split("."); var _local5:Number = 0; while (_local5 < (_local4.length - 1)) { if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){ return; }; _arg1 = _arg1[_local4[_local5]]; _local5++; }; _arg1[_local4[_local5]] = _arg3; } public static function showPreGameAd(_arg1:Object):void{ var clip:Object; var mc:MovieClip; var chk:MovieClip; var complete:Boolean; var unloaded:Boolean; var sendHostProgress:Boolean; var fn:Function; var r:MovieClip; var options = _arg1; var DEFAULTS:Object = {ad_timeout:5500, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{ if ((this.clip is MovieClip)){ this.clip.stop(); } else { throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_finished:function ():void{ if ((this.clip is MovieClip)){ this.clip.play(); } else { throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_loaded:function (_arg1:Number, _arg2:Number):void{ }, ad_failed:function ():void{ trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_skipped:function ():void{ }, ad_progress:function (_arg1:Number):void{ }, progress_override:function (_arg1:Object):Number{ return (NaN); }, bar_offset:0}; options = MochiAd._parseOptions(options, DEFAULTS); if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){ options.ad_started(); fn = function ():void{ options.ad_finished(); }; setTimeout(fn, 100); return; }; clip = options.clip; var ad_msec:Number = 11000; var ad_timeout:Number = options.ad_timeout; if (options.skip){ ad_timeout = 0; }; delete options.ad_timeout; var fadeout_time:Number = options.fadeout_time; delete options.fadeout_time; if (!MochiAd.load(options)){ options.ad_failed(); options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ MochiAd._cleanup(mc); var fn:Function = function ():void{ options.ad_finished(); }; setTimeout(fn, 100); }; var wh:Array = MochiAd._getRes(options, clip); var w:Number = wh[0]; var h:Number = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.x = (w * -0.5); chk.y = (h * -0.5); var bar:MovieClip = createEmptyMovieClip(chk, "_mochiad_bar", 4); if (options.no_progress_bar){ bar.visible = false; delete options.no_progress_bar; } else { bar.x = (10 + options.bar_offset); bar.y = (h - 20); }; var bar_w:Number = ((w - bar.x) - 10); var bar_color:Number = options.color; delete options.color; var bar_background:Number = options.background; delete options.background; var bar_outline:Number = options.outline; delete options.outline; var backing_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 1); var backing:Object = backing_mc.graphics; backing.beginFill(bar_background); backing.moveTo(0, 0); backing.lineTo(bar_w, 0); backing.lineTo(bar_w, 10); backing.lineTo(0, 10); backing.lineTo(0, 0); backing.endFill(); var inside_mc:MovieClip = createEmptyMovieClip(bar, "_inside", 2); var inside:Object = inside_mc.graphics; inside.beginFill(bar_color); inside.moveTo(0, 0); inside.lineTo(bar_w, 0); inside.lineTo(bar_w, 10); inside.lineTo(0, 10); inside.lineTo(0, 0); inside.endFill(); inside_mc.scaleX = 0; var outline_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 3); var outline:Object = outline_mc.graphics; outline.lineStyle(0, bar_outline, 100); outline.moveTo(0, 0); outline.lineTo(bar_w, 0); outline.lineTo(bar_w, 10); outline.lineTo(0, 10); outline.lineTo(0, 0); chk.ad_msec = ad_msec; chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; chk.last_pcnt = 0; chk.fadeout_time = fadeout_time; chk.fadeFunction = function ():void{ var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time))); if (_local1 > 0){ this.parent.alpha = (_local1 * 0.01); } else { MochiAd.unload(clip); delete this["onEnterFrame"]; }; }; complete = false; unloaded = false; var progress:Number = Math.min(1, options.progress_override(clip)); var f:Function = function (_arg1:Event):void{ _arg1.target.removeEventListener(_arg1.type, arguments.callee); complete = true; if (unloaded){ MochiAd.unload(clip); }; }; if (!isNaN(progress)){ complete = (progress == 1); } else { if (clip.loaderInfo.bytesLoaded == clip.loaderInfo.bytesTotal){ complete = true; } else { if ((clip.root is MovieClip)){ r = (clip.root as MovieClip); if (r.framesLoaded >= r.totalFrames){ complete = true; } else { clip.loaderInfo.addEventListener(Event.COMPLETE, f); }; } else { clip.loaderInfo.addEventListener(Event.COMPLETE, f); }; }; }; mc.unloadAd = function ():void{ unloaded = true; if (complete){ MochiAd.unload(clip); }; }; mc.adLoaded = options.ad_loaded; mc.adSkipped = options.ad_skipped; mc.adjustProgress = function (_arg1:Number):void{ var _local2:Object = mc._mochiad_wait; _local2.server_control = true; _local2.showing = true; _local2.started = getTimer(); _local2.ad_msec = _arg1; }; mc.rpc = function (_arg1:Number, _arg2:Object):void{ MochiAd.rpc(clip, _arg1, _arg2); }; mc.rpcTestFn = function (_arg1:String):Object{ trace(("[MOCHIAD rpcTestFn] " + _arg1)); return (_arg1); }; sendHostProgress = false; mc.sendHostLoadProgress = function (_arg1:String):void{ sendHostProgress = true; }; chk["onEnterFrame"] = function ():void{ var _local12:Number; if (((!(this.parent)) || (!(this.parent.parent)))){ delete this["onEnterFrame"]; return; }; var _local1:Object = this.parent.parent.root; var _local2:Object = this.parent._mochiad_ctr; var _local3:Number = (getTimer() - this.started); var _local4:Boolean; var _local5:Number = _local1.loaderInfo.bytesTotal; var _local6:Number = _local1.loaderInfo.bytesLoaded; var _local7:Number = Math.min(1, options.progress_override(_local1)); if (_local7 == 1){ complete = true; }; if (complete){ _local6 = Math.max(1, _local6); _local5 = _local6; }; var _local8:Number = ((100 * _local6) / _local5); if (!isNaN(_local7)){ _local8 = (100 * _local7); }; var _local9:Number = ((100 * _local3) / chk.ad_msec); var _local10:Object = this._mochiad_bar._inside; var _local11:Number = Math.min(100, Math.min(((_local8) || (0)), _local9)); _local11 = Math.max(this.last_pcnt, _local11); this.last_pcnt = _local11; _local10.scaleX = (_local11 * 0.01); options.ad_progress(_local11); if (sendHostProgress){ clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local8}); if (_local8 >= 100){ sendHostProgress = false; }; }; if (!chk.showing){ _local12 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal; if (_local12 > 0){ chk.showing = true; chk.started = getTimer(); MochiAd.adShowing(clip); } else { if ((((_local3 > chk.ad_timeout)) && ((_local8 == 100)))){ options.ad_failed(); _local4 = true; }; }; }; if (_local3 > chk.ad_msec){ _local4 = true; }; if (((complete) && (_local4))){ if (unloaded){ MochiAd.unload(_local1); } else { if (this.server_control){ delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = chk.fadeFunction; }; }; }; }; doOnEnterFrame(chk); } public static function showPreloaderAd(_arg1:Object):void{ trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0"); MochiAd.showPreGameAd(_arg1); } public static function showTimedAd(_arg1:Object):void{ trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0"); MochiAd.showInterLevelAd(_arg1); } public static function doOnEnterFrame(_arg1:MovieClip):void{ var mc = _arg1; var f:Function = function (_arg1:Object):void{ if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){ mc.onEnterFrame(); } else { _arg1.target.removeEventListener(_arg1.type, arguments.callee); }; }; mc.addEventListener(Event.ENTER_FRAME, f); } } }//package mochi.as3
Section 337
//MochiCoins (mochi.as3.MochiCoins) package mochi.as3 { public class MochiCoins { public static const STORE_HIDE:String = "StoreHide"; public static const NO_USER:String = "NoUser"; public static const IO_ERROR:String = "IOError"; public static const ITEM_NEW:String = "ItemNew"; public static const ITEM_OWNED:String = "ItemOwned"; public static const STORE_ITEMS:String = "StoreItems"; public static const ERROR:String = "Error"; public static const STORE_SHOW:String = "StoreShow"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); public static var _inventory:MochiInventory; public static function triggerEvent(_arg1:String, _arg2:Object):void{ _dispatcher.triggerEvent(_arg1, _arg2); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.removeEventListener(_arg1, _arg2); } public static function addEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.addEventListener(_arg1, _arg2); } public static function getStoreItems():void{ MochiServices.send("coins_getStoreItems"); } public static function get inventory():MochiInventory{ return (_inventory); } public static function showStore(_arg1:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("coins_showStore", {options:_arg1}, null, null); } public static function requestFunding(_arg1:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("social_requestFunding", _arg1); } public static function showItem(_arg1:Object=null):void{ if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){ trace("ERROR: showItem call must pass an Object with an item key"); return; }; MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("coins_showItem", {options:_arg1}, null, null); } public static function getVersion():String{ return (MochiServices.getVersion()); } public static function showVideo(_arg1:Object=null):void{ if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){ trace("ERROR: showVideo call must pass an Object with an item key"); return; }; MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("coins_showVideo", {options:_arg1}, null, null); } addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{ _inventory = new MochiInventory(); }); addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{ _inventory = null; }); } }//package mochi.as3
Section 338
//MochiDigits (mochi.as3.MochiDigits) package mochi.as3 { public final class MochiDigits { private var Sibling:MochiDigits; private var Fragment:Number; private var Encoder:Number; public function MochiDigits(_arg1:Number=0, _arg2:uint=0):void{ Encoder = 0; setValue(_arg1, _arg2); } public function reencode():void{ var _local1:uint = int((2147483647 * Math.random())); Fragment = (Fragment ^ (_local1 ^ Encoder)); Encoder = _local1; } public function set value(_arg1:Number):void{ setValue(_arg1); } public function toString():String{ var _local1:String = String.fromCharCode((Fragment ^ Encoder)); if (Sibling != null){ _local1 = (_local1 + Sibling.toString()); }; return (_local1); } public function setValue(_arg1:Number=0, _arg2:uint=0):void{ var _local3:String = _arg1.toString(); var _temp1 = _arg2; _arg2 = (_arg2 + 1); Fragment = (_local3.charCodeAt(_temp1) ^ Encoder); if (_arg2 < _local3.length){ Sibling = new MochiDigits(_arg1, _arg2); } else { Sibling = null; }; reencode(); } public function get value():Number{ return (Number(this.toString())); } public function addValue(_arg1:Number):void{ value = (value + _arg1); } } }//package mochi.as3
Section 339
//MochiEventDispatcher (mochi.as3.MochiEventDispatcher) package mochi.as3 { public class MochiEventDispatcher { private var eventTable:Object; public function MochiEventDispatcher():void{ eventTable = {}; } public function triggerEvent(_arg1:String, _arg2:Object):void{ var _local3:Object; if (eventTable[_arg1] == undefined){ return; }; for (_local3 in eventTable[_arg1]) { var _local6 = eventTable[_arg1]; _local6[_local3](_arg2); }; } public function removeEventListener(_arg1:String, _arg2:Function):void{ var _local3:Object; if (eventTable[_arg1] == undefined){ eventTable[_arg1] = []; return; }; for (_local3 in eventTable[_arg1]) { if (eventTable[_arg1][_local3] != _arg2){ } else { eventTable[_arg1].splice(Number(_local3), 1); }; }; } public function addEventListener(_arg1:String, _arg2:Function):void{ removeEventListener(_arg1, _arg2); eventTable[_arg1].push(_arg2); } } }//package mochi.as3
Section 340
//MochiEvents (mochi.as3.MochiEvents) package mochi.as3 { import flash.display.*; public class MochiEvents { public static const ALIGN_BOTTOM_LEFT:String = "ALIGN_BL"; public static const FORMAT_LONG:String = "LongForm"; public static const ALIGN_BOTTOM:String = "ALIGN_B"; public static const ACHIEVEMENT_RECEIVED:String = "AchievementReceived"; public static const FORMAT_SHORT:String = "ShortForm"; public static const ALIGN_TOP_RIGHT:String = "ALIGN_TR"; public static const ALIGN_BOTTOM_RIGHT:String = "ALIGN_BR"; public static const ALIGN_TOP:String = "ALIGN_T"; public static const ALIGN_LEFT:String = "ALIGN_L"; public static const ALIGN_RIGHT:String = "ALIGN_R"; public static const ALIGN_TOP_LEFT:String = "ALIGN_TL"; public static const ALIGN_CENTER:String = "ALIGN_C"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); private static var gameStart:Number; private static var levelStart:Number; public static function endPlay():void{ MochiServices.send("events_clearRoundID", null, null, null); } public static function addEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.addEventListener(_arg1, _arg2); } public static function trackEvent(_arg1:String, _arg2=null):void{ MochiServices.send("events_trackEvent", {tag:_arg1, value:_arg2}, null, null); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.removeEventListener(_arg1, _arg2); } public static function startSession(_arg1:String):void{ MochiServices.send("events_beginSession", {achievementID:_arg1}, null, null); } public static function triggerEvent(_arg1:String, _arg2:Object):void{ _dispatcher.triggerEvent(_arg1, _arg2); } public static function setNotifications(_arg1:MovieClip, _arg2:Object):void{ var _local4:Object; var _local3:Object = {}; for (_local4 in _arg2) { _local3[_local4] = _arg2[_local4]; }; _local3.clip = _arg1; MochiServices.send("events_setNotifications", _local3, null, null); } public static function getVersion():String{ return (MochiServices.getVersion()); } public static function startPlay(_arg1:String="gameplay"):void{ MochiServices.send("events_setRoundID", {tag:String(_arg1)}, null, null); } } }//package mochi.as3
Section 341
//MochiInventory (mochi.as3.MochiInventory) package mochi.as3 { import flash.events.*; import flash.utils.*; public dynamic class MochiInventory extends Proxy { private var _timer:Timer; private var _names:Array; private var _syncID:Number; private var _consumableProperties:Object; private var _storeSync:Object; private var _outstandingID:Number; private var _syncPending:Boolean; public static const READY:String = "InvReady"; public static const ERROR:String = "Error"; public static const IO_ERROR:String = "IoError"; private static const KEY_SALT:String = " syncMaint"; public static const WRITTEN:String = "InvWritten"; public static const NOT_READY:String = "InvNotReady"; public static const VALUE_ERROR:String = "InvValueError"; private static const CONSUMER_KEY:String = "MochiConsumables"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); public function MochiInventory():void{ MochiCoins.addEventListener(MochiCoins.ITEM_OWNED, itemOwned); MochiCoins.addEventListener(MochiCoins.ITEM_NEW, newItems); MochiSocial.addEventListener(MochiSocial.LOGGED_IN, loggedIn); MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, loggedOut); _storeSync = new Object(); _syncPending = false; _outstandingID = 0; _syncID = 0; _timer = new Timer(1000); _timer.addEventListener(TimerEvent.TIMER, sync); _timer.start(); if (MochiSocial.loggedIn){ loggedIn(); } else { loggedOut(); }; } private function newItems(_arg1:Object):void{ if (!this[(_arg1.id + KEY_SALT)]){ this[(_arg1.id + KEY_SALT)] = 0; }; if (!this[_arg1.id]){ this[_arg1.id] = 0; }; this[(_arg1.id + KEY_SALT)] = (this[(_arg1.id + KEY_SALT)] + _arg1.count); this[_arg1.id] = (this[_arg1.id] + _arg1.count); if (((_arg1.privateProperties) && (_arg1.privateProperties.consumable))){ if (!this[_arg1.privateProperties.tag]){ this[_arg1.privateProperties.tag] = 0; }; this[_arg1.privateProperties.tag] = (this[_arg1.privateProperties.tag] + (_arg1.privateProperties.inc * _arg1.count)); }; } public function release():void{ MochiCoins.removeEventListener(MochiCoins.ITEM_NEW, newItems); MochiSocial.removeEventListener(MochiSocial.LOGGED_IN, loggedIn); MochiSocial.removeEventListener(MochiSocial.LOGGED_OUT, loggedOut); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){ if (_consumableProperties == null){ triggerEvent(ERROR, {type:NOT_READY}); return (-1); }; if (_consumableProperties[_arg1]){ return (MochiDigits(_consumableProperties[_arg1]).value); }; return (undefined); } private function loggedIn(_arg1:Object=null):void{ MochiUserData.get(CONSUMER_KEY, getConsumableBag); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function hasProperty(_arg1):Boolean{ if (_consumableProperties == null){ triggerEvent(ERROR, {type:NOT_READY}); return (false); }; if (_consumableProperties[_arg1] == undefined){ return (false); }; return (true); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(_arg1:int):int{ return (((_arg1)>=_names.length) ? 0 : (_arg1 + 1)); } private function putConsumableBag(_arg1:MochiUserData):void{ _syncPending = false; if (_arg1.error){ triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error}); _outstandingID = -1; }; triggerEvent(WRITTEN, {}); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{ var _local3:MochiDigits; if (_consumableProperties == null){ triggerEvent(ERROR, {type:NOT_READY}); return; }; if (!(_arg2 is Number)){ triggerEvent(ERROR, {type:VALUE_ERROR, error:"Invalid type", arg:_arg2}); return; }; if (_consumableProperties[_arg1]){ _local3 = MochiDigits(_consumableProperties[_arg1]); if (_local3.value == _arg2){ return; }; _local3.value = _arg2; } else { _names.push(_arg1); _consumableProperties[_arg1] = new MochiDigits(_arg2); }; _syncID++; } private function itemOwned(_arg1:Object):void{ _storeSync[_arg1.id] = {properties:_arg1.properties, count:_arg1.count}; } private function sync(_arg1:Event=null):void{ var _local3:String; if (((_syncPending) || ((_syncID == _outstandingID)))){ return; }; _outstandingID = _syncID; var _local2:Object = {}; for (_local3 in _consumableProperties) { _local2[_local3] = MochiDigits(_consumableProperties[_local3]).value; }; MochiUserData.put(CONSUMER_KEY, _local2, putConsumableBag); _syncPending = true; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(_arg1:int):String{ return (_names[(_arg1 - 1)]); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function deleteProperty(_arg1):Boolean{ if (!_consumableProperties[_arg1]){ return (false); }; _names.splice(_names.indexOf(_arg1), 1); delete _consumableProperties[_arg1]; return (true); } private function getConsumableBag(_arg1:MochiUserData):void{ var _local2:String; var _local3:Number; if (_arg1.error){ triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error}); return; }; _consumableProperties = {}; _names = new Array(); if (_arg1.data){ for (_local2 in _arg1.data) { _names.push(_local2); _consumableProperties[_local2] = new MochiDigits(_arg1.data[_local2]); }; }; for (_local2 in _storeSync) { _local3 = _storeSync[_local2].count; if (_consumableProperties[(_local2 + KEY_SALT)]){ _local3 = (_local3 - _consumableProperties[(_local2 + KEY_SALT)].value); }; if (_local3 == 0){ } else { newItems({id:_local2, count:_local3, properties:_storeSync[_local2].properties}); }; }; triggerEvent(READY, {}); } private function loggedOut(_arg1:Object=null):void{ _consumableProperties = null; } public static function triggerEvent(_arg1:String, _arg2:Object):void{ _dispatcher.triggerEvent(_arg1, _arg2); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.removeEventListener(_arg1, _arg2); } public static function addEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.addEventListener(_arg1, _arg2); } } }//package mochi.as3
Section 342
//MochiScores (mochi.as3.MochiScores) package mochi.as3 { import flash.display.*; import flash.text.*; public class MochiScores { private static var boardID:String; public static var onErrorHandler:Object; public static var onCloseHandler:Object; public static function showLeaderboard(_arg1:Object=null):void{ var n:Number; var options = _arg1; if (options != null){ delete options.clip; MochiServices.setContainer(); MochiServices.bringToTop(); if (options.name != null){ if ((options.name is TextField)){ if (options.name.text.length > 0){ options.name = options.name.text; }; }; }; if (options.score != null){ if ((options.score is TextField)){ if (options.score.text.length > 0){ options.score = options.score.text; }; } else { if ((options.score is MochiDigits)){ options.score = options.score.value; }; }; n = Number(options.score); if (isNaN(n)){ trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is 'Not a Number'")); } else { if ((((n == Number.NEGATIVE_INFINITY)) || ((n == Number.POSITIVE_INFINITY)))){ trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is an infinite")); } else { if (Math.floor(n) != n){ trace((("WARNING: Submitted score '" + options.score) + "' will be truncated")); }; options.score = n; }; }; }; if (options.onDisplay != null){ options.onDisplay(); } else { if (MochiServices.clip != null){ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; }; } else { options = {}; if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; if (options.onClose != null){ onCloseHandler = options.onClose; } else { onCloseHandler = function ():void{ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.play(); } else { trace("Warning: Container is not a MovieClip, cannot call default onClose."); }; }; }; if (options.onError != null){ onErrorHandler = options.onError; } else { onErrorHandler = null; }; if (options.boardID == null){ if (MochiScores.boardID != null){ options.boardID = MochiScores.boardID; }; }; MochiServices.warnID(options.boardID, true); trace("[MochiScores] NOTE: Security Sandbox Violation errors below are normal"); MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose); } public static function closeLeaderboard():void{ MochiServices.send("scores_closeLeaderboard"); } public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2); } public static function requestList(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_requestList", null, _arg1, _arg2); } public static function scoresArrayToObjects(_arg1:Object):Object{ var _local3:Number; var _local4:Number; var _local5:Object; var _local6:Object; var _local7:String; var _local8:String; var _local2:Object = {}; for (_local7 in _arg1) { if (typeof(_arg1[_local7]) == "object"){ if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){ _local2[_local7] = []; _local5 = _arg1[_local7]; _local4 = 0; while (_local4 < _local5.rows.length) { _local6 = {}; _local3 = 0; while (_local3 < _local5.cols.length) { _local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3]; _local3++; }; _local2[_local7].push(_local6); _local4++; }; } else { _local2[_local7] = {}; for (_local8 in _arg1[_local7]) { _local2[_local7][_local8] = _arg1[_local7][_local8]; }; }; } else { _local2[_local7] = _arg1[_local7]; }; }; return (_local2); } public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{ _arg1 = Number(_arg1); if (isNaN(_arg1)){ trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is 'Not a Number'")); } else { if ((((_arg1 == Number.NEGATIVE_INFINITY)) || ((_arg1 == Number.POSITIVE_INFINITY)))){ trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is an infinite")); } else { if (Math.floor(_arg1) != _arg1){ trace((("WARNING: Submitted score '" + String(_arg1)) + "' will be truncated")); }; _arg1 = Number(_arg1); }; }; MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4); } public static function onClose(_arg1:Object=null):void{ if (((((_arg1) && ((_arg1.error == true)))) && (onErrorHandler))){ if (_arg1.errorCode == null){ _arg1.errorCode = "IOError"; }; onErrorHandler(_arg1.errorCode); MochiServices.doClose(); return; }; onCloseHandler(); MochiServices.doClose(); } public static function setBoardID(_arg1:String):void{ MochiServices.warnID(_arg1, true); MochiScores.boardID = _arg1; MochiServices.send("scores_setBoardID", {boardID:_arg1}); } } }//package mochi.as3
Section 343
//MochiServices (mochi.as3.MochiServices) package mochi.as3 { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.net.*; import flash.system.*; import flash.geom.*; public class MochiServices { public static const CONNECTED:String = "onConnected"; private static var _container:Object; private static var _connected:Boolean = false; private static var _queue:Array; private static var _swfVersion:String; private static var _preserved:Object; public static var netupAttempted:Boolean = false; private static var _sendChannel:LocalConnection; private static var _nextCallbackID:Number; private static var _clip:MovieClip; private static var _loader:Loader; private static var _id:String; private static var _services:String = "services.swf"; private static var _servURL:String = "http://www.mochiads.com/static/lib/services/"; public static var widget:Boolean = false; private static var _timer:Timer; private static var _sendChannelName:String; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); private static var _callbacks:Object; private static var _connecting:Boolean = false; private static var _mochiLocalConnection:MovieClip; private static var _listenChannelName:String = "__ms_"; public static var onError:Object; public static var netup:Boolean = true; private static var _mochiLC:String = "MochiLC.swf"; public static function isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function get connected():Boolean{ return (_connected); } private static function onReceive(_arg1:Object):void{ var methodName:String; var pkg = _arg1; var cb:String = pkg.callbackID; var cblst:Object = _callbacks[cb]; if (!cblst){ return; }; var method:* = cblst.callbackMethod; methodName = ""; var obj:Object = cblst.callbackObject; if (((obj) && ((typeof(method) == "string")))){ methodName = method; if (obj[method] != null){ method = obj[method]; } else { trace((("Error: Method " + method) + " does not exist.")); }; }; if (method != undefined){ try { method.apply(obj, pkg.args); } catch(error:Error) { trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString())); }; } else { if (obj != null){ try { obj(pkg.args); } catch(error:Error) { trace(("Error invoking method on object: " + error.toString())); }; }; }; delete _callbacks[cb]; } public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{ if (_connected){ _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_nextCallbackID}); } else { if ((((_clip == null)) || (!(_connecting)))){ trace(("Error: MochiServices not connected. Please call MochiServices.connect(). Function: " + _arg1)); handleError(_arg2, _arg3, _arg4); flush(true); return; }; _queue.push({methodName:_arg1, args:_arg2, callbackID:_nextCallbackID}); }; if (_clip != null){ if (_callbacks != null){ _callbacks[_nextCallbackID] = {callbackObject:_arg3, callbackMethod:_arg4}; _nextCallbackID++; }; }; } private static function init(_arg1:String, _arg2:Object):void{ _id = _arg1; if (_arg2 != null){ _container = _arg2; loadCommunicator(_arg1, _container); }; } private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{ var _local4:int; var _local14:Loader; var _local3:Array = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23]; var _local5:Array = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3]; var _local6:Array = [0, 64, 0, 0, 0]; var _local7:MovieClip = new MovieClip(); var _local8:LocalConnection = new LocalConnection(); var _local9:String = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().time)); _local8 = new LocalConnection(); _local7.lc = _local8; _local7.click = _arg2; _local8.client = _local7; _local8.connect(_local9); var _local10:ByteArray = new ByteArray(); var _local11:ByteArray = new ByteArray(); _local11.endian = Endian.LITTLE_ENDIAN; _local11.writeShort(1); _local11.writeUTFBytes(((_arg1 + " ") + _local9)); _local11.writeByte(0); var _local12:uint = ((_local3.length + _local11.length) + 4); var _local13:uint = (_local12 + 35); _local10.endian = Endian.LITTLE_ENDIAN; _local10.writeUTFBytes("FWS"); _local10.writeByte(8); _local10.writeUnsignedInt(_local13); for each (_local4 in _local5) { _local10.writeByte(_local4); }; _local10.writeUnsignedInt(_local12); _local10.writeByte(136); _local10.writeShort(_local11.length); _local10.writeBytes(_local11); for each (_local4 in _local3) { _local10.writeByte(_local4); }; for each (_local4 in _local6) { _local10.writeByte(_local4); }; _local14 = new Loader(); _local14.loadBytes(_local10); _local7.addChild(_local14); return (_local7); } private static function detach(_arg1:Event):void{ var _local2:LoaderInfo = LoaderInfo(_arg1.target); _local2.removeEventListener(Event.COMPLETE, detach); _local2.removeEventListener(IOErrorEvent.IO_ERROR, detach); _local2.removeEventListener(Event.COMPLETE, loadLCBridgeComplete); _local2.removeEventListener(IOErrorEvent.IO_ERROR, loadError); } public static function stayOnTop():void{ _container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true); if (_clip != null){ _clip.visible = true; }; } private static function loadLCBridgeComplete(_arg1:Event):void{ var _local2:Loader = LoaderInfo(_arg1.target).loader; _mochiLocalConnection = MovieClip(_local2.content); listen(); } public static function disconnect():void{ if (((_connected) || (_connecting))){ if (_clip != null){ if (_clip.parent != null){ if ((_clip.parent is Sprite)){ Sprite(_clip.parent).removeChild(_clip); _clip = null; }; }; }; _connecting = (_connected = false); flush(true); try { _mochiLocalConnection.close(); } catch(error:Error) { }; }; if (_timer != null){ try { _timer.stop(); _timer.removeEventListener(TimerEvent.TIMER, connectWait); _timer = null; } catch(error:Error) { }; }; } public static function allowDomains(_arg1:String):String{ var _local2:String; if (Security.sandboxType != "application"){ Security.allowDomain("*"); Security.allowInsecureDomain("*"); }; if (_arg1.indexOf("http://") != -1){ _local2 = _arg1.split("/")[2].split(":")[0]; if (Security.sandboxType != "application"){ Security.allowDomain(_local2); Security.allowInsecureDomain(_local2); }; }; return (_local2); } public static function getVersion():String{ return ("3.9.1 as3"); } public static function doClose():void{ _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); } public static function warnID(_arg1:String, _arg2:Boolean):void{ _arg1 = _arg1.toLowerCase(); if (_arg1.length != 16){ trace((("WARNING: " + (_arg2) ? "board" : "game") + " ID is not the appropriate length")); return; } else { if (_arg1 == "1e113c7239048b3f"){ if (_arg2){ trace("WARNING: Using testing board ID"); } else { trace("WARNING: Using testing board ID as game ID"); }; return; } else { if (_arg1 == "84993a1de4031cd8"){ if (_arg2){ trace("WARNING: Using testing game ID as board ID"); } else { trace("WARNING: Using testing game ID"); }; return; }; }; }; var _local3:Number = 0; while (_local3 < _arg1.length) { switch (_arg1.charAt(_local3)){ case "0": case "1": case "2": case "3": case "4": case "5": case "6": case "7": case "8": case "9": case "a": case "b": case "c": case "d": case "e": case "f": break; default: trace(("WARNING: Board ID contains illegal characters: " + _arg1)); return; }; _local3++; }; } private static function flush(_arg1:Boolean):void{ var _local2:Object; var _local3:Object; if (((_clip) && (_queue))){ while (_queue.length > 0) { _local2 = _queue.shift(); _local3 = null; if (_local2 != null){ if (_local2.callbackID != null){ _local3 = _callbacks[_local2.callbackID]; }; delete _callbacks[_local2.callbackID]; if (((_arg1) && (!((_local3 == null))))){ handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod); }; }; }; }; } public static function get id():String{ return (_id); } private static function onEvent(_arg1:Object):void{ var _local2:String = _arg1.target; var _local3:String = _arg1.event; switch (_local2){ case "services": MochiServices.triggerEvent(_arg1.event, _arg1.args); break; case "events": MochiEvents.triggerEvent(_arg1.event, _arg1.args); break; case "coins": MochiCoins.triggerEvent(_arg1.event, _arg1.args); break; case "social": MochiSocial.triggerEvent(_arg1.event, _arg1.args); break; }; } private static function urlOptions(_arg1:Object):Object{ var _local3:String; var _local4:Array; var _local5:Number; var _local6:Array; var _local2:Object = {}; if (_arg1.stage){ _local3 = _arg1.stage.loaderInfo.parameters.mochiad_options; } else { _local3 = _arg1.loaderInfo.parameters.mochiad_options; }; if (_local3){ _local4 = _local3.split("&"); _local5 = 0; while (_local5 < _local4.length) { _local6 = _local4[_local5].split("="); _local2[unescape(_local6[0])] = unescape(_local6[1]); _local5++; }; }; return (_local2); } public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4:Function=null):void{ var avm1Click:DisplayObject; var x:String; var req:URLRequest; var loader:Loader; var setURL:Function; var err:Function; var complete:Function; var url = _arg1; var burl = _arg2; var btn = _arg3; var onClick = _arg4; var vars:Object = new Object(); vars["mav"] = getVersion(); vars["swfv"] = "9"; vars["swfurl"] = btn.loaderInfo.loaderURL; vars["fv"] = Capabilities.version; vars["os"] = Capabilities.os; vars["lang"] = Capabilities.language; vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY); var s = "?"; var i:Number = 0; for (x in vars) { if (i != 0){ s = (s + "&"); }; i = (i + 1); s = (((s + x) + "=") + escape(vars[x])); }; req = new URLRequest("http://link.mochiads.com/linkping.swf"); loader = new Loader(); setURL = function (_arg1:String):void{ if (avm1Click){ btn.removeChild(avm1Click); }; avm1Click = clickMovie(_arg1, onClick); var _local2:Rectangle = btn.getBounds(btn); btn.addChild(avm1Click); avm1Click.x = _local2.x; avm1Click.y = _local2.y; avm1Click.scaleX = (0.01 * _local2.width); avm1Click.scaleY = (0.01 * _local2.height); }; err = function (_arg1:Object):void{ netup = false; _arg1.target.removeEventListener(_arg1.type, arguments.callee); setURL(burl); }; complete = function (_arg1:Object):void{ _arg1.target.removeEventListener(_arg1.type, arguments.callee); }; if (netup){ setURL((url + s)); } else { setURL(burl); }; if (!((netupAttempted) || (_connected))){ netupAttempted = true; loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete); loader.load(req); }; } public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{ if (_clip.parent){ _clip.parent.removeChild(_clip); }; if (_arg1 != null){ if ((_arg1 is DisplayObjectContainer)){ _container = _arg1; }; }; if (_arg2){ if ((_container is DisplayObjectContainer)){ DisplayObjectContainer(_container).addChild(_clip); }; }; } private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{ var args = _arg1; var callbackObject = _arg2; var callbackMethod = _arg3; if (args != null){ if (args.onError != null){ args.onError.apply(null, ["NotConnected"]); }; if (((!((args.options == null))) && (!((args.options.onError == null))))){ args.options.onError.apply(null, ["NotConnected"]); }; }; if (callbackMethod != null){ args = {}; args.error = true; args.errorCode = "NotConnected"; if (((!((callbackObject == null))) && ((callbackMethod is String)))){ try { var _local5 = callbackObject; _local5[callbackMethod](args); } catch(error:Error) { }; } else { if (callbackMethod != null){ try { callbackMethod.apply(args); } catch(error:Error) { }; }; }; }; } private static function loadError(_arg1:Object):void{ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); } public static function get childClip():Object{ return (_clip); } private static function initComChannels():void{ if (!_connected){ trace("[SERVICES_API] connected!"); _connecting = false; _connected = true; _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"}); _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"registerGame", preserved:_preserved, id:_id, version:getVersion(), parentURL:_container.loaderInfo.loaderURL}); _clip.onReceive = onReceive; _clip.onEvent = onEvent; _clip.onError = function ():void{ MochiServices.onError("IOError"); }; while (_queue.length > 0) { _mochiLocalConnection.send(_sendChannelName, "onReceive", _queue.shift()); }; }; } public static function triggerEvent(_arg1:String, _arg2:Object):void{ _dispatcher.triggerEvent(_arg1, _arg2); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.removeEventListener(_arg1, _arg2); } private static function listen():void{ _mochiLocalConnection.connect(_listenChannelName); _clip.handshake = function (_arg1:Object):void{ MochiServices.comChannelName = _arg1.newChannel; }; trace("Waiting for MochiAds services to connect..."); } public static function addEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.addEventListener(_arg1, _arg2); } private static function loadLCBridge(_arg1:Object):void{ var _local2:Loader = new Loader(); var _local3:String = (_servURL + _mochiLC); var _local4:URLRequest = new URLRequest(_local3); _local2.contentLoaderInfo.addEventListener(Event.COMPLETE, detach); _local2.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, detach); _local2.contentLoaderInfo.addEventListener(Event.COMPLETE, loadLCBridgeComplete); _local2.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError); _local2.load(_local4); _arg1.addChild(_local2); } public static function set comChannelName(_arg1:String):void{ if (_arg1 != null){ if (_arg1.length > 3){ _sendChannelName = (_arg1 + "_fromgame"); initComChannels(); }; }; } private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{ if (_clip != null){ return (_clip); }; if (!MochiServices.isNetworkAvailable()){ return (null); }; if (urlOptions(_arg2).servURL){ _servURL = urlOptions(_arg2).servURL; }; var _local3:String = (_servURL + _services); if (urlOptions(_arg2).servicesURL){ _local3 = urlOptions(_arg2).servicesURL; }; _listenChannelName = (_listenChannelName + ((Math.floor(new Date().time) + "_") + Math.floor((Math.random() * 99999)))); MochiServices.allowDomains(_local3); _clip = new MovieClip(); loadLCBridge(_clip); _loader = new Loader(); _loader.contentLoaderInfo.addEventListener(Event.COMPLETE, detach); _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, detach); _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError); var _local4:URLRequest = new URLRequest(_local3); var _local5:URLVariables = new URLVariables(); _local5.listenLC = _listenChannelName; _local5.mochiad_options = _arg2.loaderInfo.parameters.mochiad_options; _local5.api_version = getVersion(); if (widget){ _local5.widget = true; }; _local4.data = _local5; _loader.load(_local4); _clip.addChild(_loader); _sendChannel = new LocalConnection(); _queue = []; _nextCallbackID = 0; _callbacks = {}; _timer = new Timer(10000, 1); _timer.addEventListener(TimerEvent.TIMER, connectWait); _timer.start(); return (_clip); } public static function get clip():Object{ return (_container); } public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{ var id = _arg1; var clip = _arg2; var onError = _arg3; warnID(id, false); if ((clip is DisplayObject)){ if (clip.stage == null){ trace("MochiServices connect requires the containing clip be attached to the stage"); }; if (((!(_connected)) && ((_clip == null)))){ trace("MochiServices Connecting..."); _connecting = true; init(id, clip); }; } else { trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage."); }; if (onError != null){ MochiServices.onError = onError; } else { if (MochiServices.onError == null){ MochiServices.onError = function (_arg1:String):void{ trace(_arg1); }; }; }; } public static function bringToTop(_arg1:Event=null):void{ var e = _arg1; if (((!((MochiServices.clip == null))) && (!((MochiServices.childClip == null))))){ try { if (MochiServices.clip.numChildren > 1){ MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1)); }; } catch(errorObject:Error) { trace("Warning: Depth sort error."); _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); }; }; } public static function connectWait(_arg1:TimerEvent):void{ if (!_connected){ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load. (timeout)"); MochiServices.disconnect(); MochiServices.onError("IOError"); } else { _timer.stop(); _timer.removeEventListener(TimerEvent.TIMER, connectWait); _timer = null; }; } } }//package mochi.as3
Section 344
//MochiSocial (mochi.as3.MochiSocial) package mochi.as3 { public class MochiSocial { public static const LOGGED_IN:String = "LoggedIn"; public static const ACTION_CANCELED:String = "onCancel"; public static const PROPERTIES_SIZE:String = "PropertiesSize"; public static const IO_ERROR:String = "IOError"; public static const NO_USER:String = "NoUser"; public static const FRIEND_LIST:String = "FriendsList"; public static const PROFILE_DATA:String = "ProfileData"; public static const GAMEPLAY_DATA:String = "GameplayData"; public static const ACTION_COMPLETE:String = "onComplete"; public static const LOGIN_SHOW:String = "LoginShow"; public static const PROFILE_HIDE:String = "ProfileHide"; public static const USER_INFO:String = "UserInfo"; public static const PROPERTIES_SAVED:String = "PropertySaved"; public static const WIDGET_LOADED:String = "WidgetLoaded"; public static const ERROR:String = "Error"; public static const LOGGED_OUT:String = "LoggedOut"; public static const PROFILE_SHOW:String = "ProfileShow"; public static const LOGIN_HIDE:String = "LoginHide"; public static const LOGIN_SHOWN:String = "LoginShown"; public static var _user_info:Object = null; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); public static function requestFan(_arg1:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("social_requestFan", _arg1); } public static function postToStream(_arg1:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("social_postToStream", _arg1); } public static function getFriendsList(_arg1:Object=null):void{ MochiServices.send("social_getFriendsList", _arg1); } public static function requestLogin(_arg1:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("social_requestLogin", _arg1); } public static function getVersion():String{ return (MochiServices.getVersion()); } public static function saveUserProperties(_arg1:Object):void{ MochiServices.send("social_saveUserProperties", _arg1); } public static function triggerEvent(_arg1:String, _arg2:Object):void{ _dispatcher.triggerEvent(_arg1, _arg2); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.removeEventListener(_arg1, _arg2); } public static function inviteFriends(_arg1:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("social_inviteFriends", _arg1); } public static function get loggedIn():Boolean{ return (!((_user_info == null))); } public static function addEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.addEventListener(_arg1, _arg2); } public static function showLoginWidget(_arg1:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("social_showLoginWidget", {options:_arg1}); } public static function getAPIURL():String{ if (!_user_info){ return (null); }; return (_user_info.api_url); } public static function hideLoginWidget():void{ MochiServices.send("social_hideLoginWidget"); } public static function getAPIToken():String{ if (!_user_info){ return (null); }; return (_user_info.api_token); } MochiSocial.addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{ _user_info = _arg1; }); MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{ _user_info = null; }); } }//package mochi.as3
Section 345
//MochiUserData (mochi.as3.MochiUserData) package mochi.as3 { import flash.events.*; import flash.utils.*; import flash.net.*; public class MochiUserData extends EventDispatcher { public var callback:Function;// = null public var operation:String;// = null public var error:Event;// = null public var data;// = null public var _loader:URLLoader; public var key:String;// = null public function MochiUserData(_arg1:String="", _arg2:Function=null){ this.key = _arg1; this.callback = _arg2; } public function serialize(_arg1):ByteArray{ var _local2:ByteArray = new ByteArray(); _local2.objectEncoding = ObjectEncoding.AMF3; _local2.writeObject(_arg1); _local2.compress(); return (_local2); } public function errorHandler(_arg1:IOErrorEvent):void{ data = null; error = _arg1; if (callback != null){ performCallback(); } else { dispatchEvent(_arg1); }; close(); } public function putEvent(_arg1):void{ request("put", serialize(_arg1)); } public function deserialize(_arg1:ByteArray){ _arg1.objectEncoding = ObjectEncoding.AMF3; _arg1.uncompress(); return (_arg1.readObject()); } public function securityErrorHandler(_arg1:SecurityErrorEvent):void{ errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + _arg1.toString()))); } public function getEvent():void{ request("get", serialize(null)); } override public function toString():String{ return ((((((((("[MochiUserData operation=" + operation) + " key=\"") + key) + "\" data=") + data) + " error=\"") + error) + "\"]")); } public function performCallback():void{ try { callback(this); } catch(e:Error) { trace(("[MochiUserData] exception during callback: " + e)); }; } public function request(_arg1:String, _arg2:ByteArray):void{ var _operation = _arg1; var _data = _arg2; operation = _operation; var api_url:String = MochiSocial.getAPIURL(); var api_token:String = MochiSocial.getAPIToken(); if ((((api_url == null)) || ((api_token == null)))){ errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, "not logged in")); return; }; _loader = new URLLoader(); var args:URLVariables = new URLVariables(); args.op = _operation; args.key = key; var req:URLRequest = new URLRequest((((MochiSocial.getAPIURL() + "/") + "MochiUserData?") + args.toString())); req.method = URLRequestMethod.POST; req.contentType = "application/x-mochi-userdata"; req.requestHeaders = [new URLRequestHeader("x-mochi-services-version", MochiServices.getVersion()), new URLRequestHeader("x-mochi-api-token", api_token)]; req.data = _data; _loader.dataFormat = URLLoaderDataFormat.BINARY; _loader.addEventListener(Event.COMPLETE, completeHandler); _loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); _loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); try { _loader.load(req); } catch(e:SecurityError) { errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + e.toString()))); }; } public function completeHandler(_arg1:Event):void{ var event = _arg1; try { if (_loader.data.length){ data = deserialize(_loader.data); } else { data = null; }; } catch(e:Error) { errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("deserialize error: " + e.toString()))); return; }; if (callback != null){ performCallback(); } else { dispatchEvent(event); }; close(); } public function close():void{ if (_loader){ _loader.removeEventListener(Event.COMPLETE, completeHandler); _loader.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler); _loader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); _loader.close(); _loader = null; }; error = null; callback = null; } public static function get(_arg1:String, _arg2:Function):void{ var _local3:MochiUserData = new MochiUserData(_arg1, _arg2); _local3.getEvent(); } public static function put(_arg1:String, _arg2, _arg3:Function):void{ var _local4:MochiUserData = new MochiUserData(_arg1, _arg3); _local4.putEvent(_arg2); } } }//package mochi.as3
Section 346
//BitmapAsset (mx.core.BitmapAsset) package mx.core { import flash.display.*; public class BitmapAsset extends FlexBitmap implements IFlexAsset, IFlexDisplayObject { mx_internal static const VERSION:String = "3.0.0.0"; public function BitmapAsset(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } public function get measuredWidth():Number{ if (bitmapData){ return (bitmapData.width); }; return (0); } public function get measuredHeight():Number{ if (bitmapData){ return (bitmapData.height); }; return (0); } public function setActualSize(_arg1:Number, _arg2:Number):void{ width = _arg1; height = _arg2; } public function move(_arg1:Number, _arg2:Number):void{ this.x = _arg1; this.y = _arg2; } } }//package mx.core
Section 347
//FlexBitmap (mx.core.FlexBitmap) package mx.core { import flash.display.*; import mx.utils.*; public class FlexBitmap extends Bitmap { mx_internal static const VERSION:String = "3.0.0.0"; public function FlexBitmap(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){ var bitmapData = _arg1; var pixelSnapping = _arg2; var smoothing = _arg3; super(bitmapData, pixelSnapping, smoothing); try { name = NameUtil.createUniqueName(this); } catch(e:Error) { }; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 348
//FontAsset (mx.core.FontAsset) package mx.core { import flash.text.*; public class FontAsset extends Font implements IFlexAsset { mx_internal static const VERSION:String = "3.0.0.0"; } }//package mx.core
Section 349
//IFlexAsset (mx.core.IFlexAsset) package mx.core { public interface IFlexAsset { } }//package mx.core
Section 350
//IFlexDisplayObject (mx.core.IFlexDisplayObject) package mx.core { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.accessibility.*; public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher { function get visible():Boolean; function get rotation():Number; function localToGlobal(_arg1:Point):Point; function get name():String; function set width(_arg1:Number):void; function get measuredHeight():Number; function get blendMode():String; function get scale9Grid():Rectangle; function set name(_arg1:String):void; function set scaleX(_arg1:Number):void; function set scaleY(_arg1:Number):void; function get measuredWidth():Number; function get accessibilityProperties():AccessibilityProperties; function set scrollRect(_arg1:Rectangle):void; function get cacheAsBitmap():Boolean; function globalToLocal(_arg1:Point):Point; function get height():Number; function set blendMode(_arg1:String):void; function get parent():DisplayObjectContainer; function getBounds(_arg1:DisplayObject):Rectangle; function get opaqueBackground():Object; function set scale9Grid(_arg1:Rectangle):void; function setActualSize(_arg1:Number, _arg2:Number):void; function set alpha(_arg1:Number):void; function set accessibilityProperties(_arg1:AccessibilityProperties):void; function get width():Number; function hitTestPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean; function set cacheAsBitmap(_arg1:Boolean):void; function get scaleX():Number; function get scaleY():Number; function get scrollRect():Rectangle; function get mouseX():Number; function get mouseY():Number; function set height(_arg1:Number):void; function set mask(_arg1:DisplayObject):void; function getRect(_arg1:DisplayObject):Rectangle; function get alpha():Number; function set transform(_arg1:Transform):void; function move(_arg1:Number, _arg2:Number):void; function get loaderInfo():LoaderInfo; function get root():DisplayObject; function hitTestObject(_arg1:DisplayObject):Boolean; function set opaqueBackground(_arg1:Object):void; function set visible(_arg1:Boolean):void; function get mask():DisplayObject; function set x(_arg1:Number):void; function set y(_arg1:Number):void; function get transform():Transform; function set filters(_arg1:Array):void; function get x():Number; function get y():Number; function get filters():Array; function set rotation(_arg1:Number):void; function get stage():Stage; } }//package mx.core
Section 351
//IRepeaterClient (mx.core.IRepeaterClient) package mx.core { public interface IRepeaterClient { function get instanceIndices():Array; function set instanceIndices(_arg1:Array):void; function get isDocument():Boolean; function set repeaters(_arg1:Array):void; function initializeRepeaterArrays(_arg1:IRepeaterClient):void; function get repeaters():Array; function set repeaterIndices(_arg1:Array):void; function get repeaterIndices():Array; } }//package mx.core
Section 352
//mx_internal (mx.core.mx_internal) package mx.core { public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal"; }//package mx.core
Section 353
//SoundAsset (mx.core.SoundAsset) package mx.core { import flash.media.*; public class SoundAsset extends Sound implements IFlexAsset { mx_internal static const VERSION:String = "3.0.0.0"; } }//package mx.core
Section 354
//NameUtil (mx.utils.NameUtil) package mx.utils { import flash.display.*; import mx.core.*; import flash.utils.*; public class NameUtil { mx_internal static const VERSION:String = "3.0.0.0"; private static var counter:int = 0; public static function displayObjectToString(_arg1:DisplayObject):String{ var _local2:String; var _local4:String; var _local5:Array; var _local3:DisplayObject = _arg1; while (_local3 != null) { if (((((_local3.parent) && (_local3.stage))) && ((_local3.parent == _local3.stage)))){ break; }; _local4 = _local3.name; if ((_local3 is IRepeaterClient)){ _local5 = IRepeaterClient(_local3).instanceIndices; if (_local5){ _local4 = (_local4 + (("[" + _local5.join("][")) + "]")); }; }; _local2 = ((_local2 == null)) ? _local4 : ((_local4 + ".") + _local2); _local3 = _local3.parent; }; return (_local2); } public static function createUniqueName(_arg1:Object):String{ if (!_arg1){ return (null); }; var _local2:String = getQualifiedClassName(_arg1); var _local3:int = _local2.indexOf("::"); if (_local3 != -1){ _local2 = _local2.substr((_local3 + 2)); }; var _local4:int = _local2.charCodeAt((_local2.length - 1)); if ((((_local4 >= 48)) && ((_local4 <= 57)))){ _local2 = (_local2 + "_"); }; return ((_local2 + counter++)); } } }//package mx.utils
Section 355
//FlxAnim (org.flixel.data.FlxAnim) package org.flixel.data { public class FlxAnim { public var delay:Number; public var frames:Array; public var looped:Boolean; public var name:String; public function FlxAnim(_arg1:String, _arg2:Array, _arg3:Number=0, _arg4:Boolean=true){ name = _arg1; delay = (1 / _arg3); frames = _arg2; looped = _arg4; } } }//package org.flixel.data
Section 356
//FlxConsole (org.flixel.data.FlxConsole) package org.flixel.data { import flash.display.*; import org.flixel.*; import flash.text.*; public class FlxConsole extends Sprite { protected const MAX_CONSOLE_LINES:uint = 0x0100; protected var _lines:Array; protected var _text:TextField; protected var _fpsUpdate:Boolean; protected var _console:Sprite; protected var _Y:Number; protected var _curFPS:uint; protected var _fps:Array; protected var _bx:int; protected var _by:int; protected var _fpsDisplay:TextField; protected var _YT:Number; protected var _byt:int; public function FlxConsole(_arg1:uint, _arg2:uint, _arg3:uint){ visible = false; x = (_arg1 * _arg3); _by = (_arg2 * _arg3); _byt = (_by - (FlxG.height * _arg3)); _YT = (_Y = (y = _byt)); var _local4:Bitmap = new Bitmap(new BitmapData((FlxG.width * _arg3), (FlxG.height * _arg3), true, 2130706432)); addChild(_local4); _fps = new Array(8); _curFPS = 0; _fpsUpdate = true; _text = new TextField(); _text.width = _local4.width; _text.height = _local4.height; _text.multiline = true; _text.wordWrap = true; _text.embedFonts = true; _text.antiAliasType = AntiAliasType.NORMAL; _text.gridFitType = GridFitType.PIXEL; _text.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF); addChild(_text); _fpsDisplay = new TextField(); _fpsDisplay.width = _local4.width; _fpsDisplay.height = 20; _fpsDisplay.multiline = true; _fpsDisplay.wordWrap = true; _fpsDisplay.embedFonts = true; _fpsDisplay.antiAliasType = AntiAliasType.NORMAL; _fpsDisplay.gridFitType = GridFitType.PIXEL; _fpsDisplay.defaultTextFormat = new TextFormat("system", 16, 0xFFFFFF, true, null, null, null, null, "right"); addChild(_fpsDisplay); _lines = new Array(); } public function log(_arg1:String):void{ var _local2:String; var _local3:uint; if (_arg1 == null){ _arg1 = "NULL"; }; trace(_arg1); _lines.push(_arg1); if (_lines.length > MAX_CONSOLE_LINES){ _lines.shift(); _local2 = ""; _local3 = 0; while (_local3 < _lines.length) { _local2 = (_local2 + (_lines[_local3] + "\n")); _local3++; }; _text.text = _local2; } else { _text.appendText((_arg1 + "\n")); }; _text.scrollV = _text.height; } public function update():void{ var _local1:uint; var _local2:uint; if (visible){ _fps[_curFPS] = (1 / FlxG.elapsed); if (++_curFPS >= _fps.length){ _curFPS = 0; }; _fpsUpdate = !(_fpsUpdate); if (_fpsUpdate){ _local1 = 0; _local2 = 0; while (_local2 < _fps.length) { _local1 = (_local1 + _fps[_local2]); _local2++; }; _fpsDisplay.text = (Math.floor((_local1 / _fps.length)) + " fps"); }; }; if (_Y < _YT){ _Y = (_Y + ((FlxG.height * 10) * FlxG.elapsed)); } else { if (_Y > _YT){ _Y = (_Y - ((FlxG.height * 10) * FlxG.elapsed)); }; }; if (_Y > _by){ _Y = _by; } else { if (_Y < _byt){ _Y = _byt; visible = false; }; }; y = Math.floor(_Y); } public function toggle():void{ if (_YT == _by){ _YT = _byt; } else { _YT = _by; visible = true; }; } } }//package org.flixel.data
Section 357
//FlxFade (org.flixel.data.FlxFade) package org.flixel.data { import org.flixel.*; public class FlxFade extends FlxSprite { protected var _delay:Number; protected var _helper:Number; protected var _complete:Function; public function FlxFade(){ super(null, 0, 0, false, false, FlxG.width, FlxG.height); scrollFactor.x = 0; scrollFactor.y = 0; visible = false; } public function restart(_arg1:uint=0, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{ if (_arg1 == 0){ visible = false; return; }; if (((!(_arg4)) && (visible))){ return; }; draw(new FlxSprite(null, 0, 0, false, false, width, height, _arg1), 0, 0); _delay = _arg2; _complete = _arg3; _helper = 0; alpha = 0; visible = true; } override public function update():void{ if (((visible) && (!((alpha == 1))))){ _helper = (_helper + (FlxG.elapsed / _delay)); alpha = _helper; if (alpha >= 1){ alpha = 1; if (_complete != null){ _complete(); }; }; }; } } }//package org.flixel.data
Section 358
//FlxFlash (org.flixel.data.FlxFlash) package org.flixel.data { import org.flixel.*; public class FlxFlash extends FlxSprite { protected var _delay:Number; protected var _helper:Number; protected var _complete:Function; public function FlxFlash(){ super(null, 0, 0, false, false, FlxG.width, FlxG.height); scrollFactor.x = 0; scrollFactor.y = 0; visible = false; } public function restart(_arg1:uint, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{ if (_arg1 == 0){ visible = false; return; }; if (((!(_arg4)) && (visible))){ return; }; draw(new FlxSprite(null, 0, 0, false, false, width, height, _arg1), 0, 0); _delay = _arg2; _complete = _arg3; _helper = 1; alpha = 1; visible = true; } override public function update():void{ if (visible){ _helper = (_helper - (FlxG.elapsed / _delay)); alpha = _helper; if (alpha <= 0){ visible = false; if (_complete != null){ _complete(); }; }; }; } } }//package org.flixel.data
Section 359
//FlxKeyboard (org.flixel.data.FlxKeyboard) package org.flixel.data { import flash.events.*; public class FlxKeyboard { protected const _t:uint = 0x0100; public var RIGHT:Boolean; public var LEFT:Boolean; public var FOUR:Boolean; public var TWO:Boolean; public var CONTROL:Boolean; public var A:Boolean; public var B:Boolean; public var C:Boolean; public var D:Boolean; public var E:Boolean; public var ONE:Boolean; public var G:Boolean; public var H:Boolean; public var I:Boolean; public var J:Boolean; public var K:Boolean; public var F:Boolean; public var N:Boolean; public var O:Boolean; public var Q:Boolean; public var R:Boolean; public var S:Boolean; public var T:Boolean; public var ESC:Boolean; public var MINUS:Boolean; public var Y:Boolean; public var L:Boolean; public var Z:Boolean; public var QUOTE:Boolean; public var V:Boolean; public var X:Boolean; public var P:Boolean; public var SHIFT:Boolean; public var SLASH:Boolean; public var U:Boolean; public var EIGHT:Boolean; public var W:Boolean; public var M:Boolean; public var THREE:Boolean; public var SEMICOLON:Boolean; public var CAPSLOCK:Boolean; protected var _lookup:Object; public var PLUS:Boolean; protected var _map:Array; public var ZERO:Boolean; public var DOWN:Boolean; public var F1:Boolean; public var F2:Boolean; public var F3:Boolean; public var F4:Boolean; public var F5:Boolean; public var F6:Boolean; public var F7:Boolean; public var NINE:Boolean; public var F9:Boolean; public var ALT:Boolean; public var F8:Boolean; public var DELETE:Boolean; public var LBRACKET:Boolean; public var UP:Boolean; public var ENTER:Boolean; public var FIVE:Boolean; public var SIX:Boolean; public var COMMA:Boolean; public var PERIOD:Boolean; public var BACKSLASH:Boolean; public var F10:Boolean; public var F11:Boolean; public var F12:Boolean; public var SEVEN:Boolean; public var SPACE:Boolean; public var RBRACKET:Boolean; public function FlxKeyboard(){ var _local1:uint; _lookup = new Object(); _map = new Array(_t); _local1 = 65; while (_local1 <= 90) { addKey(String.fromCharCode(_local1), _local1); _local1++; }; _local1 = 48; var _temp1 = _local1; _local1 = (_local1 + 1); addKey("ZERO", _temp1); var _temp2 = _local1; _local1 = (_local1 + 1); addKey("ONE", _temp2); var _temp3 = _local1; _local1 = (_local1 + 1); addKey("TWO", _temp3); var _temp4 = _local1; _local1 = (_local1 + 1); addKey("THREE", _temp4); var _temp5 = _local1; _local1 = (_local1 + 1); addKey("FOUR", _temp5); var _temp6 = _local1; _local1 = (_local1 + 1); addKey("FIVE", _temp6); var _temp7 = _local1; _local1 = (_local1 + 1); addKey("SIX", _temp7); var _temp8 = _local1; _local1 = (_local1 + 1); addKey("SEVEN", _temp8); var _temp9 = _local1; _local1 = (_local1 + 1); addKey("EIGHT", _temp9); var _temp10 = _local1; _local1 = (_local1 + 1); addKey("NINE", _temp10); _local1 = 1; while (_local1 <= 12) { addKey(("F" + _local1), (111 + _local1)); _local1++; }; addKey("ESC", 27); addKey("MINUS", 189); addKey("PLUS", 187); addKey("DELETE", 8); addKey("LBRACKET", 219); addKey("RBRACKET", 221); addKey("BACKSLASH", 220); addKey("CAPSLOCK", 20); addKey("SEMICOLON", 186); addKey("QUOTE", 222); addKey("ENTER", 13); addKey("SHIFT", 16); addKey("COMMA", 188); addKey("PERIOD", 190); addKey("SLASH", 191); addKey("CONTROL", 17); addKey("ALT", 18); addKey("SPACE", 32); addKey("UP", 38); addKey("DOWN", 40); addKey("LEFT", 37); addKey("RIGHT", 39); } public function handleKeyUp(_arg1:KeyboardEvent):void{ var _local2:Object = _map[_arg1.keyCode]; if (_local2 == null){ return; }; if (_local2.current > 0){ _local2.current = -1; } else { _local2.current = 0; }; this[_local2.name] = false; } public function pressed(_arg1:String):Boolean{ return (this[_arg1]); } public function justReleased(_arg1:String):Boolean{ return ((_map[_lookup[_arg1]].current == -1)); } public function handleKeyDown(_arg1:KeyboardEvent):void{ var _local2:Object = _map[_arg1.keyCode]; if (_local2 == null){ return; }; if (_local2.current > 0){ _local2.current = 1; } else { _local2.current = 2; }; this[_local2.name] = true; } public function reset():void{ var _local2:Object; var _local1:uint; while (_local1 < _t) { if (_map[_local1] == null){ } else { _local2 = _map[_local1]; this[_local2.name] = false; _local2.current = 0; _local2.last = 0; }; _local1++; }; } public function justPressed(_arg1:String):Boolean{ return ((_map[_lookup[_arg1]].current == 2)); } public function update():void{ var _local2:Object; var _local1:uint; while (_local1 < _t) { if (_map[_local1] == null){ } else { _local2 = _map[_local1]; if ((((_local2.last == -1)) && ((_local2.current == -1)))){ _local2.current = 0; } else { if ((((_local2.last == 2)) && ((_local2.current == 2)))){ _local2.current = 1; }; }; _local2.last = _local2.current; }; _local1++; }; } protected function addKey(_arg1:String, _arg2:uint):void{ _lookup[_arg1] = _arg2; _map[_arg2] = {name:_arg1, current:0, last:0}; } } }//package org.flixel.data
Section 360
//FlxLogoPixel (org.flixel.data.FlxLogoPixel) package org.flixel.data { import flash.display.*; public class FlxLogoPixel extends Sprite { private var _curLayer:uint; private var _layers:Array; public function FlxLogoPixel(_arg1:int, _arg2:int, _arg3:uint, _arg4:uint, _arg5:uint){ x = _arg1; y = _arg2; _layers = new Array(); var _local6:Array = new Array(4294901760, 4278255360, 4278190335, 4294967040, 4278255615); _layers.push(addChild(new Bitmap(new BitmapData(_arg3, _arg3, true, _arg5)))); var _local7:uint; while (_local7 < _local6.length) { _layers.push(addChild(new Bitmap(new BitmapData(_arg3, _arg3, true, _local6[_arg4])))); ++_arg4; if (_arg4 >= _local6.length){ _arg4 = 0; }; _local7++; }; _curLayer = (_layers.length - 1); } public function update():void{ if (_curLayer == 0){ return; }; if (_layers[_curLayer].alpha >= 0.1){ _layers[_curLayer].alpha = (_layers[_curLayer].alpha - 0.1); } else { _layers[_curLayer].alpha = 0; _curLayer--; }; } } }//package org.flixel.data
Section 361
//FlxMouse (org.flixel.data.FlxMouse) package org.flixel.data { import flash.events.*; public class FlxMouse { protected var _last:int; public var x:int; public var y:int; protected var _current:int; public function FlxMouse(){ x = 0; y = 0; _current = 0; _last = 0; } public function justReleased():Boolean{ return ((_current == -1)); } public function pressed():Boolean{ return ((_current > 0)); } public function handleMouseUp(_arg1:MouseEvent):void{ if (_current > 0){ _current = -1; } else { _current = 0; }; } public function update(_arg1:int, _arg2:int):void{ x = _arg1; y = _arg2; if ((((_last == -1)) && ((_current == -1)))){ _current = 0; } else { if ((((_last == 2)) && ((_last == 2)))){ _current = 1; }; }; _last = _current; } public function reset():void{ _current = 0; _last = 0; } public function justPressed():Boolean{ return ((_current == 2)); } public function handleMouseDown(_arg1:MouseEvent):void{ if (_current > 0){ _current = 1; } else { _current = 2; }; } } }//package org.flixel.data
Section 362
//FlxPanel (org.flixel.data.FlxPanel) package org.flixel.data { import org.flixel.*; import flash.ui.*; public class FlxPanel extends FlxCore { private var _close:FlxButton; private var _digg:FlxButton; private var _gameTitle:String; private var _closed:Boolean; private var _payPalID:String; private var _donate:FlxButton; private var ImgClose:Class; private var _topBar:FlxSprite; private var _ty:Number; private var _caption:FlxText; private var _initialized:Boolean; private var _twitter:FlxButton; private var _delicious:FlxButton; private var _stumble:FlxButton; private var ImgDelicious:Class; private var ImgTwitter:Class; private var _mainBar:FlxSprite; private var _gameURL:String; private var ImgStumble:Class; private var ImgReddit:Class; private var ImgDigg:Class; private var _bottomBar:FlxSprite; private var _payPalAmount:Number; private var _s:Number; private var ImgDonate:Class; private var _reddit:FlxButton; public function FlxPanel(){ ImgDonate = FlxPanel_ImgDonate; ImgStumble = FlxPanel_ImgStumble; ImgDigg = FlxPanel_ImgDigg; ImgReddit = FlxPanel_ImgReddit; ImgDelicious = FlxPanel_ImgDelicious; ImgTwitter = FlxPanel_ImgTwitter; ImgClose = FlxPanel_ImgClose; super(); y = -21; _ty = y; _closed = false; _initialized = false; _topBar = new FlxSprite(null, 0, 0, false, false, FlxG.width, 1, 2147483647); _topBar.scrollFactor.x = 0; _topBar.scrollFactor.y = 0; _mainBar = new FlxSprite(null, 0, 0, false, false, FlxG.width, 19, 2130706432); _mainBar.scrollFactor.x = 0; _mainBar.scrollFactor.y = 0; _bottomBar = new FlxSprite(null, 0, 0, false, false, FlxG.width, 1, 2147483647); _bottomBar.scrollFactor.x = 0; _bottomBar.scrollFactor.y = 0; _donate = new FlxButton(3, 0, new FlxSprite(ImgDonate), onDonate); _donate.scrollFactor.x = 0; _donate.scrollFactor.y = 0; _stumble = new FlxButton(((((((FlxG.width / 2) - 6) - 13) - 6) - 13) - 6), 0, new FlxSprite(ImgStumble), onStumble); _stumble.scrollFactor.x = 0; _stumble.scrollFactor.y = 0; _digg = new FlxButton(((((FlxG.width / 2) - 6) - 13) - 6), 0, new FlxSprite(ImgDigg), onDigg); _digg.scrollFactor.x = 0; _digg.scrollFactor.y = 0; _reddit = new FlxButton(((FlxG.width / 2) - 6), 0, new FlxSprite(ImgReddit), onReddit); _reddit.scrollFactor.x = 0; _reddit.scrollFactor.y = 0; _delicious = new FlxButton((((FlxG.width / 2) + 7) + 6), 0, new FlxSprite(ImgDelicious), onDelicious); _delicious.scrollFactor.x = 0; _delicious.scrollFactor.y = 0; _twitter = new FlxButton((((((FlxG.width / 2) + 7) + 6) + 12) + 6), 0, new FlxSprite(ImgTwitter), onTwitter); _twitter.scrollFactor.x = 0; _twitter.scrollFactor.y = 0; _caption = new FlxText((FlxG.width / 2), 0, ((FlxG.width / 2) - 19), 20, "", 0xFFFFFF, null, 8, "right"); _caption.scrollFactor.x = 0; _caption.scrollFactor.y = 0; _close = new FlxButton((FlxG.width - 16), 0, new FlxSprite(ImgClose), onClose); _close.scrollFactor.x = 0; _close.scrollFactor.y = 0; hide(); _s = 50; } public function onDelicious():void{ FlxG.openURL(((("http://delicious.com/save?v=5&amp;noui&amp;jump=close&amp;url=" + encodeURIComponent(_gameURL)) + "&amp;title=") + encodeURIComponent(_gameTitle))); } public function init(_arg1:String, _arg2:Number, _arg3:String, _arg4:String, _arg5:String):void{ _payPalID = _arg1; if (_payPalID.length <= 0){ _donate.visible = false; }; _payPalAmount = _arg2; _gameTitle = _arg3; _gameURL = _arg4; _caption.setText(_arg5); _initialized = true; } public function onTwitter():void{ FlxG.openURL(("http://twitter.com/home?status=Playing" + encodeURIComponent((((" " + _gameTitle) + " - ") + _gameURL)))); } public function show(_arg1:Boolean=true):void{ if (_closed){ return; }; if (_arg1){ y = -21; _ty = -1; } else { y = FlxG.height; _ty = (FlxG.height - 20); }; Mouse.show(); visible = true; } public function onStumble():void{ FlxG.openURL(("http://www.stumbleupon.com/submit?url=" + encodeURIComponent(_gameURL))); } override public function render():void{ if (!_initialized){ return; }; if (_topBar.visible){ _topBar.render(); }; if (_mainBar.visible){ _mainBar.render(); }; if (_bottomBar.visible){ _bottomBar.render(); }; if (_donate.visible){ _donate.render(); }; if (_stumble.visible){ _stumble.render(); }; if (_digg.visible){ _digg.render(); }; if (_reddit.visible){ _reddit.render(); }; if (_delicious.visible){ _delicious.render(); }; if (_twitter.visible){ _twitter.render(); }; if (_caption.visible){ _caption.render(); }; if (_close.visible){ _close.render(); }; } public function onDigg():void{ FlxG.openURL(((("http://digg.com/submit?url=" + encodeURIComponent(_gameURL)) + "&title=") + encodeURIComponent(_gameTitle))); } public function onReddit():void{ FlxG.openURL(("http://www.reddit.com/submit?url=" + encodeURIComponent(_gameURL))); } public function onDonate():void{ FlxG.openURL(((((("https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=" + encodeURIComponent(_payPalID)) + "&item_name=") + encodeURIComponent(((_gameTitle + " Contribution (") + _gameURL))) + ")&currency_code=USD&amount=") + _payPalAmount)); } override public function update():void{ if (!_initialized){ return; }; if (_ty != y){ if (y < _ty){ y = (y + (FlxG.elapsed * _s)); if (y > _ty){ y = _ty; }; } else { y = (y - (FlxG.elapsed * _s)); if (y < _ty){ y = _ty; }; }; }; if ((((y <= -21)) || ((y > FlxG.height)))){ visible = false; }; _topBar.y = y; _mainBar.y = (y + 1); _bottomBar.y = (y + 20); _donate.y = (y + 4); _stumble.y = (y + 4); _digg.y = (y + 4); _reddit.y = (y + 4); _delicious.y = (y + 5); _twitter.y = (y + 4); _caption.y = (y + 4); _close.y = (y + 4); if (_donate.active){ _donate.update(); }; if (_stumble.active){ _stumble.update(); }; if (_digg.active){ _digg.update(); }; if (_reddit.active){ _reddit.update(); }; if (_delicious.active){ _delicious.update(); }; if (_twitter.active){ _twitter.update(); }; if (_caption.active){ _caption.update(); }; if (_close.active){ _close.update(); }; } public function hide():void{ if (y < 0){ _ty = -21; } else { _ty = FlxG.height; }; Mouse.hide(); visible = false; } public function onClose():void{ _closed = true; hide(); } } }//package org.flixel.data
Section 363
//FlxPanel_ImgClose (org.flixel.data.FlxPanel_ImgClose) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgClose extends BitmapAsset { } }//package org.flixel.data
Section 364
//FlxPanel_ImgDelicious (org.flixel.data.FlxPanel_ImgDelicious) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgDelicious extends BitmapAsset { } }//package org.flixel.data
Section 365
//FlxPanel_ImgDigg (org.flixel.data.FlxPanel_ImgDigg) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgDigg extends BitmapAsset { } }//package org.flixel.data
Section 366
//FlxPanel_ImgDonate (org.flixel.data.FlxPanel_ImgDonate) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgDonate extends BitmapAsset { } }//package org.flixel.data
Section 367
//FlxPanel_ImgReddit (org.flixel.data.FlxPanel_ImgReddit) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgReddit extends BitmapAsset { } }//package org.flixel.data
Section 368
//FlxPanel_ImgStumble (org.flixel.data.FlxPanel_ImgStumble) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgStumble extends BitmapAsset { } }//package org.flixel.data
Section 369
//FlxPanel_ImgTwitter (org.flixel.data.FlxPanel_ImgTwitter) package org.flixel.data { import mx.core.*; public class FlxPanel_ImgTwitter extends BitmapAsset { } }//package org.flixel.data
Section 370
//FlxPause (org.flixel.data.FlxPause) package org.flixel.data { import flash.display.*; import org.flixel.*; import flash.text.*; public class FlxPause extends Sprite { private var ImgKeyC:Class; private var ImgKeyMouse:Class; private var ImgKeyMinus:Class; private var ImgKeyX:Class; protected var _help:Array; private var ImgKeysArrows:Class; protected var _zoom:uint; private var ImgKey1:Class; private var ImgKeyPlus:Class; protected var _x:uint; protected var _y:uint; private var ImgKey0:Class; public function FlxPause(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:Array){ ImgKeyX = FlxPause_ImgKeyX; ImgKeyC = FlxPause_ImgKeyC; ImgKeyMouse = FlxPause_ImgKeyMouse; ImgKeysArrows = FlxPause_ImgKeysArrows; ImgKeyMinus = FlxPause_ImgKeyMinus; ImgKeyPlus = FlxPause_ImgKeyPlus; ImgKey0 = FlxPause_ImgKey0; ImgKey1 = FlxPause_ImgKey1; super(); visible = false; _x = _arg1; _y = _arg2; _zoom = _arg3; _help = _arg4; initialize(); } public function initialize():void{ var _local4:Bitmap; if (FlxG.width > 160){ scaleX = 2; scaleY = 2; }; var _local1:uint = 160; var _local2:uint = 100; addChild(new Bitmap(new BitmapData(_local1, _local2, true, 3204448256))); x = (((_x + (FlxG.width / 2)) * _zoom) - ((_local1 / 2) * scaleX)); y = (((_y + (FlxG.height / 2)) * _zoom) - ((_local2 / 2) * scaleY)); var _local3:TextField = new TextField(); _local3.width = _local1; _local3.height = 20; _local3.multiline = true; _local3.wordWrap = true; _local3.selectable = false; _local3.embedFonts = true; _local3.antiAliasType = AntiAliasType.NORMAL; _local3.gridFitType = GridFitType.PIXEL; _local3.defaultTextFormat = new TextFormat("system", 16, 0xFFFFFF, null, null, null, null, null, "center"); _local3.text = "GAME PAUSED"; _local3.y = 7; addChild(_local3); var _local5:uint = 14; _local4 = (addChild(new ImgKeyX()) as Bitmap); _local4.x = 4; _local4.y = 36; _local4 = (addChild(new ImgKeyC()) as Bitmap); _local4.x = 4; _local4.y = (36 + _local5); _local4 = (addChild(new ImgKeyMouse()) as Bitmap); _local4.x = 4; _local4.y = (36 + (_local5 * 2)); _local4 = (addChild(new ImgKeysArrows()) as Bitmap); _local4.x = 4; _local4.y = (36 + (_local5 * 3)); _local4 = (addChild(new ImgKeyMinus()) as Bitmap); _local4.x = 84; _local4.y = 36; _local4 = (addChild(new ImgKeyPlus()) as Bitmap); _local4.x = 84; _local4.y = (36 + _local5); _local4 = (addChild(new ImgKey0()) as Bitmap); _local4.x = 84; _local4.y = (36 + (_local5 * 2)); _local4 = (addChild(new ImgKey1()) as Bitmap); _local4.x = 84; _local4.y = (36 + (_local5 * 3)); _local3 = new TextField(); _local3.width = (_local1 / 2); _local3.height = (_local2 - 20); _local3.multiline = true; _local3.wordWrap = true; _local3.selectable = false; _local3.embedFonts = true; _local3.antiAliasType = AntiAliasType.NORMAL; _local3.gridFitType = GridFitType.PIXEL; _local3.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF, null, null, null, null, null, "left", null, null, null, 4); _local3.text = ""; var _local6:uint; while (_local6 < _help.length) { if (_local6 == (_help.length - 1)){ _local3.appendText(" "); }; if (_help[_local6] != null){ _local3.appendText(_help[_local6]); }; _local3.appendText("\n"); _local6++; }; _local3.x = 15; _local3.y = 35; addChild(_local3); _local3 = new TextField(); _local3.width = (_local1 / 2); _local3.height = (_local2 - 20); _local3.multiline = true; _local3.wordWrap = true; _local3.selectable = false; _local3.embedFonts = true; _local3.antiAliasType = AntiAliasType.NORMAL; _local3.gridFitType = GridFitType.PIXEL; _local3.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF, null, null, null, null, null, "left", null, null, null, 4); _local3.text = "Sound Down\nSound Up\nMute\nConsole"; _local3.x = 95; _local3.y = 35; addChild(_local3); } public function update():void{ } public function show():void{ } } }//package org.flixel.data
Section 371
//FlxPause_ImgKey0 (org.flixel.data.FlxPause_ImgKey0) package org.flixel.data { import mx.core.*; public class FlxPause_ImgKey0 extends BitmapAsset { } }//package org.flixel.data
Section 372
//FlxPause_ImgKey1 (org.flixel.data.FlxPause_ImgKey1) package org.flixel.data { import mx.core.*; public class FlxPause_ImgKey1 extends BitmapAsset { } }//package org.flixel.data
Section 373
//FlxPause_ImgKeyC (org.flixel.data.FlxPause_ImgKeyC) package org.flixel.data { import mx.core.*; public class FlxPause_ImgKeyC extends BitmapAsset { } }//package org.flixel.data
Section 374
//FlxPause_ImgKeyMinus (org.flixel.data.FlxPause_ImgKeyMinus) package org.flixel.data { import mx.core.*; public class FlxPause_ImgKeyMinus extends BitmapAsset { } }//package org.flixel.data
Section 375
//FlxPause_ImgKeyMouse (org.flixel.data.FlxPause_ImgKeyMouse) package org.flixel.data { import mx.core.*; public class FlxPause_ImgKeyMouse extends BitmapAsset { } }//package org.flixel.data
Section 376
//FlxPause_ImgKeyPlus (org.flixel.data.FlxPause_ImgKeyPlus) package org.flixel.data { import mx.core.*; public class FlxPause_ImgKeyPlus extends BitmapAsset { } }//package org.flixel.data
Section 377
//FlxPause_ImgKeysArrows (org.flixel.data.FlxPause_ImgKeysArrows) package org.flixel.data { import mx.core.*; public class FlxPause_ImgKeysArrows extends BitmapAsset { } }//package org.flixel.data
Section 378
//FlxPause_ImgKeyX (org.flixel.data.FlxPause_ImgKeyX) package org.flixel.data { import mx.core.*; public class FlxPause_ImgKeyX extends BitmapAsset { } }//package org.flixel.data
Section 379
//FlxQuake (org.flixel.data.FlxQuake) package org.flixel.data { import org.flixel.*; public class FlxQuake { public var y:int; protected var _length:Number; protected var _timer:Number; protected var _intensity:Number; public var x:int; protected var _zoom:uint; public function FlxQuake(_arg1:uint){ _zoom = _arg1; reset(0); } public function update():void{ if (_timer > 0){ _timer = (_timer + FlxG.elapsed); if (_timer > _length){ _timer = 0; x = 0; y = 0; } else { x = (((((Math.random() * _intensity) * FlxG.width) * 2) - (_intensity * FlxG.width)) * _zoom); y = (((((Math.random() * _intensity) * FlxG.height) * 2) - (_intensity * FlxG.height)) * _zoom); }; }; } public function reset(_arg1:Number, _arg2:Number=0.5):void{ x = 0; y = 0; _intensity = _arg1; if (_intensity == 0){ _length = 0; _timer = 0; return; }; _length = _arg2; _timer = 0.01; } } }//package org.flixel.data
Section 380
//FlxArray (org.flixel.FlxArray) package org.flixel { public dynamic class FlxArray extends Array { public function getNonexist():FlxCore{ if (this.length <= 0){ return (null); }; var _local1:uint; do { if (!(this[_local1] as FlxCore).exists){ return (this[_local1]); }; ++_local1; } while (_local1 < this.length); return (null); } public function add(_arg1:Object):Object{ var _local2:uint; while (_local2 < this.length) { if (this[_local2] == null){ return ((this[_local2] = _arg1)); }; _local2++; }; return (this[(this.push(_arg1) - 1)]); } public function remove(_arg1:Object, _arg2:Boolean=false):void{ removeAt(indexOf(_arg1), _arg2); } public function removeAt(_arg1:uint, _arg2:Boolean=false):void{ if (_arg2){ this.splice(_arg1, 1); } else { this[_arg1] = null; }; } public function killAt(_arg1:uint):void{ if ((this[_arg1] is FlxCore)){ this[_arg1].kill(); }; } public function addFrom(_arg1:Array):void{ var _local2:Object; for each (_local2 in _arg1) { add(_local2); }; } public function clear():void{ this.length = 0; } public function kill(_arg1:FlxCore):void{ killAt(indexOf(_arg1)); } public static function getRandom(_arg1:Array):Object{ return (_arg1[int((FlxG.random() * length))]); } } }//package org.flixel
Section 381
//FlxBlock (org.flixel.FlxBlock) package org.flixel { import flash.display.*; import flash.geom.*; public class FlxBlock extends FlxCore { protected var _p:Point; protected var _pixels:BitmapData; protected var _rects:FlxArray; protected var _tileSize:uint; public function FlxBlock(_arg1:int, _arg2:int, _arg3:uint, _arg4:uint, _arg5:Class, _arg6:uint=0){ var _local8:uint; super(); x = _arg1; y = _arg2; width = _arg3; height = _arg4; fixed = true; if (_arg5 == null){ return; }; _pixels = FlxG.addBitmap(_arg5); _rects = new FlxArray(); _p = new Point(); _tileSize = _pixels.height; var _local7:uint = Math.ceil((width / _tileSize)); _local8 = Math.ceil((height / _tileSize)); width = (_local7 * _tileSize); height = (_local8 * _tileSize); var _local9:uint = (_local7 * _local8); var _local10:uint = (_pixels.width / _tileSize); var _local11:uint; while (_local11 < _local9) { if ((FlxG.random() * (_local10 + _arg6)) > _arg6){ _rects.push(new Rectangle((_tileSize * Math.floor((FlxG.random() * _local10))), 0, _tileSize, _tileSize)); } else { _rects.push(null); }; _local11++; }; } override public function render():void{ super.render(); getScreenXY(_p); var _local1:int = _p.x; var _local2:uint; while (_local2 < _rects.length) { if (_rects[_local2] != null){ FlxG.buffer.copyPixels(_pixels, _rects[_local2], _p, null, null, true); }; _p.x = (_p.x + _tileSize); if (_p.x >= (_local1 + width)){ _p.x = _local1; _p.y = (_p.y + _tileSize); }; _local2++; }; } } }//package org.flixel
Section 382
//FlxButton (org.flixel.FlxButton) package org.flixel { import flash.events.*; import flash.geom.*; public class FlxButton extends FlxCore { private var _onTO:Point; private var _initialized:Boolean; private var _pressed:Boolean; private var _onT:FlxText; private var _callback:Function; private var _off:FlxSprite; private var _onToggle:Boolean; private var _offTO:Point; private var _offT:FlxText; private var _on:FlxSprite; public function FlxButton(_arg1:int, _arg2:int, _arg3:FlxSprite, _arg4:Function, _arg5:FlxSprite=null, _arg6:FlxText=null, _arg7:FlxText=null){ x = _arg1; y = _arg2; _off = _arg3; if (_arg5 == null){ _on = _off; } else { _on = _arg5; }; width = _off.width; height = _off.height; if (_arg6 != null){ _offT = _arg6; }; if (_arg7 == null){ _onT = _offT; } else { _onT = _arg7; }; if (_offT != null){ _offTO = new Point(_offT.x, _offT.y); }; if (_onT != null){ _onTO = new Point(_onT.x, _onT.y); }; _off.scrollFactor = scrollFactor; _on.scrollFactor = scrollFactor; if (_offT != null){ _offT.scrollFactor = scrollFactor; _onT.scrollFactor = scrollFactor; }; _callback = _arg4; _onToggle = false; _pressed = false; updatePositions(); _initialized = false; } private function onMouseUp(_arg1:MouseEvent):void{ if (((!(exists)) || (!(visible)))){ return; }; if (_off.overlapsPoint((FlxG.mouse.x + ((1 - scrollFactor.x) * FlxG.scroll.x)), (FlxG.mouse.y + ((1 - scrollFactor.y) * FlxG.scroll.y)))){ _callback(); }; } override public function update():void{ if (!_initialized){ if (FlxG.state == null){ return; }; if (FlxG.state.parent == null){ return; }; if (FlxG.state.parent.stage == null){ return; }; FlxG.state.parent.stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp, false, 0, true); _initialized = true; }; super.update(); if (((((!((_off == null))) && (_off.exists))) && (_off.active))){ _off.update(); }; if (((((!((_on == null))) && (_on.exists))) && (_on.active))){ _on.update(); }; if (_offT != null){ if (((((!((_offT == null))) && (_offT.exists))) && (_offT.active))){ _offT.update(); }; if (((((!((_onT == null))) && (_onT.exists))) && (_onT.active))){ _onT.update(); }; }; visibility(false); if (_off.overlapsPoint(FlxG.mouse.x, FlxG.mouse.y)){ if (!FlxG.mouse.pressed()){ _pressed = false; } else { if (!_pressed){ _pressed = true; if (!_initialized){ _callback(); }; }; }; visibility(!(_pressed)); }; if (_onToggle){ visibility(_off.visible); }; updatePositions(); } private function visibility(_arg1:Boolean):void{ if (_arg1){ _off.visible = false; if (_offT != null){ _offT.visible = false; }; _on.visible = true; if (_onT != null){ _onT.visible = true; }; } else { _on.visible = false; if (_onT != null){ _onT.visible = false; }; _off.visible = true; if (_offT != null){ _offT.visible = true; }; }; } override public function render():void{ super.render(); if (((((!((_off == null))) && (_off.exists))) && (_off.visible))){ _off.render(); }; if (((((!((_on == null))) && (_on.exists))) && (_on.visible))){ _on.render(); }; if (_offT != null){ if (((((!((_offT == null))) && (_offT.exists))) && (_offT.visible))){ _offT.render(); }; if (((((!((_onT == null))) && (_onT.exists))) && (_onT.visible))){ _onT.render(); }; }; } public function switchOff():void{ _onToggle = false; } public function on():Boolean{ return (_onToggle); } private function updatePositions():void{ _off.x = x; _off.y = y; if (_offT){ _offT.x = (_offTO.x + x); _offT.y = (_offTO.y + y); }; _on.x = x; _on.y = y; if (_onT){ _onT.x = (_onTO.x + x); _onT.y = (_onTO.y + y); }; } public function switchOn():void{ _onToggle = true; } } }//package org.flixel
Section 383
//FlxCore (org.flixel.FlxCore) package org.flixel { import flash.geom.*; public class FlxCore { public var y:Number; public var active:Boolean; public var x:Number; public var visible:Boolean; private var _flickerTimer:Number; public var width:uint; public var last:Point; public var exists:Boolean; public var height:uint; public var dead:Boolean; public var fixed:Boolean; private var _flicker:Boolean; public var scrollFactor:Point; public function FlxCore(){ exists = true; active = true; visible = true; dead = false; fixed = false; width = 0; height = 0; x = 0; y = 0; last = new Point(x, y); scrollFactor = new Point(1, 1); _flicker = false; _flickerTimer = -1; } public function update():void{ last.x = x; last.y = y; if (flickering()){ if (_flickerTimer > 0){ _flickerTimer = (_flickerTimer - FlxG.elapsed); }; if (_flickerTimer < 0){ flicker(-1); } else { _flicker = !(_flicker); visible = !(_flicker); }; }; } public function reset(_arg1:Number, _arg2:Number):void{ exists = true; active = true; visible = true; dead = false; last.x = (x = _arg1); last.y = (y = _arg2); } public function flicker(_arg1:Number=1):void{ _flickerTimer = _arg1; if (_flickerTimer < 0){ _flicker = false; visible = true; }; } public function overlapsPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean{ var _local4:Number = x; var _local5:Number = y; if (((!((scrollFactor.x == 1))) || (!((scrollFactor.y == 1))))){ _local4 = (_local4 - Math.floor((FlxG.scroll.x * scrollFactor.x))); _local5 = (_local5 - Math.floor((FlxG.scroll.y * scrollFactor.y))); }; if ((((((((_arg1 <= _local4)) || ((_arg1 >= (_local4 + width))))) || ((_arg2 <= _local5)))) || ((_arg2 >= (_local5 + height))))){ return (false); }; return (true); } public function collideX(_arg1:FlxCore):void{ var _local2:Number; var _local3:Rectangle = new Rectangle(); var _local4:Rectangle = new Rectangle(); if (_arg1.x > _arg1.last.x){ _local4.x = _arg1.last.x; _local4.width = ((_arg1.x - _arg1.last.x) + _arg1.width); } else { _local4.x = _arg1.x; _local4.width = ((_arg1.last.x - _arg1.x) + _arg1.width); }; _local4.y = _arg1.last.y; _local4.height = _arg1.height; if (x > last.x){ _local3.x = last.x; _local3.width = ((x - last.x) + width); } else { _local3.x = x; _local3.width = ((last.x - x) + width); }; _local3.y = last.y; _local3.height = height; if (((((((((_local4.x + _local4.width) <= _local3.x)) || ((_local4.x >= (_local3.x + _local3.width))))) || (((_local4.y + _local4.height) <= _local3.y)))) || ((_local4.y >= (_local3.y + _local3.height))))){ return; }; var _local5 = (_arg1.x > _arg1.last.x); if (((((_local5) && (((_arg1.x - _arg1.last.x) > (x - last.x))))) || (((!(_local5)) && (((_arg1.last.x - _arg1.x) < (last.x - x))))))){ if (_local4.right > _local3.left){ if (((fixed) && (!(_arg1.fixed)))){ if (_arg1.hitWall(this)){ _arg1.x = (x - _arg1.width); }; } else { if (((!(fixed)) && (_arg1.fixed))){ if (hitWall(_arg1)){ x = (_arg1.x + _arg1.width); }; } else { if (((_arg1.hitWall(this)) && (hitWall(_arg1)))){ _local2 = ((_local4.right - _local3.left) / 2); _arg1.x = (_arg1.x - _local2); x = (x + _local2); }; }; }; }; } else { if (((((_local5) && (((_arg1.x - _arg1.last.x) < (x - last.x))))) || (((!(_local5)) && (((_arg1.last.x - _arg1.x) > (last.x - x))))))){ if (_local4.left < _local3.right){ if (((fixed) && (!(_arg1.fixed)))){ if (_arg1.hitWall(this)){ _arg1.x = (x + width); }; } else { if (((!(fixed)) && (_arg1.fixed))){ if (hitWall(_arg1)){ x = (_arg1.x - width); }; } else { if (((_arg1.hitWall(this)) && (hitWall(_arg1)))){ _local2 = ((_local3.right - _local4.left) / 2); _arg1.x = (_arg1.x + _local2); x = (x - _local2); }; }; }; }; }; }; } public function render():void{ } public function kill(_arg1:Boolean=false):void{ exists = false; dead = true; } public function collideY(_arg1:FlxCore):void{ var _local2:Number; var _local3:Rectangle = new Rectangle(); var _local4:Rectangle = new Rectangle(); if (_arg1.y > _arg1.last.y){ _local4.y = _arg1.last.y; _local4.height = ((_arg1.y - _arg1.last.y) + _arg1.height); } else { _local4.y = _arg1.y; _local4.height = ((_arg1.last.y - _arg1.y) + _arg1.height); }; _local4.x = _arg1.x; _local4.width = _arg1.width; if (y > last.y){ _local3.y = last.y; _local3.height = ((y - last.y) + height); } else { _local3.y = y; _local3.height = ((last.y - y) + height); }; _local3.x = x; _local3.width = width; if (((((((((_local4.x + _local4.width) <= _local3.x)) || ((_local4.x >= (_local3.x + _local3.width))))) || (((_local4.y + _local4.height) <= _local3.y)))) || ((_local4.y >= (_local3.y + _local3.height))))){ return; }; var _local5 = (_arg1.y > _arg1.last.y); if (((((_local5) && (((_arg1.y - _arg1.last.y) > (y - last.y))))) || (((!(_local5)) && (((_arg1.last.y - _arg1.y) < (last.y - y))))))){ if (_local4.bottom > _local3.top){ if (((fixed) && (!(_arg1.fixed)))){ if (_arg1.hitFloor(this)){ _arg1.y = (y - _arg1.height); }; } else { if (((!(fixed)) && (_arg1.fixed))){ if (hitCeiling(_arg1)){ y = (_arg1.y + _arg1.height); }; } else { if (((_arg1.hitFloor(this)) && (hitCeiling(_arg1)))){ _local2 = ((_local4.bottom - _local3.top) / 2); _arg1.y = (_arg1.y - _local2); y = (y + _local2); }; }; }; }; } else { if (((((_local5) && (((_arg1.y - _arg1.last.y) < (y - last.y))))) || (((!(_local5)) && (((_arg1.last.y - _arg1.y) > (last.y - y))))))){ if (_local4.top < _local3.bottom){ if (((fixed) && (!(_arg1.fixed)))){ if (_arg1.hitCeiling(this)){ _arg1.y = (y + height); }; } else { if (((!(fixed)) && (_arg1.fixed))){ if (hitFloor(_arg1)){ y = (_arg1.y - height); }; } else { if (((_arg1.hitCeiling(this)) && (hitFloor(_arg1)))){ _local2 = ((_local3.bottom - _local4.top) / 2); _arg1.y = (_arg1.y + _local2); y = (y - _local2); }; }; }; }; }; }; } protected function getScreenXY(_arg1:Point):void{ _arg1.x = (Math.floor(x) + Math.floor((FlxG.scroll.x * scrollFactor.x))); _arg1.y = (Math.floor(y) + Math.floor((FlxG.scroll.y * scrollFactor.y))); } public function hitFloor(_arg1:FlxCore=null):Boolean{ return (true); } public function hitCeiling(_arg1:FlxCore=null):Boolean{ return (true); } public function overlaps(_arg1:FlxCore):Boolean{ var _local2:Number = x; var _local3:Number = y; if (((!((scrollFactor.x == 1))) || (!((scrollFactor.y == 1))))){ _local2 = (_local2 - Math.floor((FlxG.scroll.x * scrollFactor.x))); _local3 = (_local3 - Math.floor((FlxG.scroll.y * scrollFactor.y))); }; var _local4:Number = _arg1.x; var _local5:Number = _arg1.y; if (((!((_arg1.scrollFactor.x == 1))) || (!((_arg1.scrollFactor.y == 1))))){ _local4 = (_local4 - Math.floor((FlxG.scroll.x * _arg1.scrollFactor.x))); _local5 = (_local5 - Math.floor((FlxG.scroll.y * _arg1.scrollFactor.y))); }; if ((((((((_local4 <= (_local2 - _arg1.width))) || ((_local4 >= (_local2 + width))))) || ((_local5 <= (_local3 - _arg1.height))))) || ((_local5 >= (_local3 + height))))){ return (false); }; return (true); } public function flickering():Boolean{ return ((_flickerTimer >= 0)); } public function onScreen():Boolean{ var _local1:Point = new Point(); getScreenXY(_local1); if (((((((((_local1.x + width) < 0)) || ((_local1.x > FlxG.width)))) || (((_local1.y + height) < 0)))) || ((_local1.y > FlxG.height)))){ return (false); }; return (true); } public function hitWall(_arg1:FlxCore=null):Boolean{ return (true); } public function collide(_arg1:FlxCore):void{ collideX(_arg1); collideY(_arg1); } } }//package org.flixel
Section 384
//FlxG (org.flixel.FlxG) package org.flixel { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.net.*; import flash.media.*; import org.flixel.data.*; public class FlxG { protected static var _musicChannel:SoundChannel; private static var ImgDefaultCursor:Class = FlxG_ImgDefaultCursor; public static var kong:FlxKong; public static var scores:FlxArray; protected static var _music:Sound; public static var height:uint; protected static var _volume:Number; public static var buffer:BitmapData; protected static var _seed:Number; public static var LIBRARY_MINOR_VERSION:uint = 27; protected static var _muted:uint; public static var LIBRARY_MAJOR_VERSION:uint = 1; public static var levels:FlxArray; protected static var _musicPosition:Number; public static var elapsed:Number; protected static var _cache:Object; public static var level:int; public static var state:FlxState; public static var score:int; protected static var _scrollTarget:Point; public static var followTarget:FlxCore; public static var mouse:FlxMouse; public static var followLead:Point; public static var LIBRARY_NAME:String = "flixel"; protected static var _originalSeed:Number; public static var width:uint; public static var followLerp:Number; public static var scroll:Point; public static var _game:FlxGame; protected static var _musicVolume:Number; public static var followMin:Point; public static var followMax:Point; public static var keys:FlxKeyboard; protected static var _masterVolume:Number; public static function getVolume():Number{ return (_volume); } public static function showSupportPanel(_arg1:Boolean=true):void{ _game._panel.show(_arg1); } public static function collideArrays(_arg1:FlxArray, _arg2:FlxArray):void{ var _local3:uint; var _local4:uint; var _local5:FlxCore; var _local6:FlxCore; if (_arg1 === _arg2){ _local3 = 0; while (_local3 < _arg1.length) { _local5 = _arg1[_local3]; if ((((((_local5 == null)) || (!(_local5.exists)))) || (_local5.dead))){ } else { _local4 = (_local3 + 1); while (_local4 < _arg2.length) { _local6 = _arg2[_local4]; if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){ } else { _local5.collide(_local6); }; _local4++; }; }; _local3++; }; } else { _local3 = 0; while (_local3 < _arg1.length) { _local5 = _arg1[_local3]; if ((((((_local5 == null)) || (!(_local5.exists)))) || (_local5.dead))){ } else { _local4 = 0; while (_local4 < _arg2.length) { _local6 = _arg2[_local4]; if ((((((((_local5 === _local6)) || ((_local6 == null)))) || (!(_local6.exists)))) || (_local6.dead))){ } else { _local5.collide(_local6); }; _local4++; }; }; _local3++; }; }; } public static function setVolume(_arg1:Number):void{ _volume = _arg1; adjustMusicVolume(); } static function doFollow():void{ if (followTarget != null){ if (((followTarget.exists) && (!(followTarget.dead)))){ _scrollTarget.x = (((width >> 1) - followTarget.x) - (followTarget.width >> 1)); _scrollTarget.y = (((height >> 1) - followTarget.y) - (followTarget.height >> 1)); if (((!((followLead == null))) && ((followTarget is FlxSprite)))){ _scrollTarget.x = (_scrollTarget.x - ((followTarget as FlxSprite).velocity.x * followLead.x)); _scrollTarget.y = (_scrollTarget.y - ((followTarget as FlxSprite).velocity.y * followLead.y)); }; }; scroll.x = (scroll.x + (((_scrollTarget.x - scroll.x) * followLerp) * FlxG.elapsed)); scroll.y = (scroll.y + (((_scrollTarget.y - scroll.y) * followLerp) * FlxG.elapsed)); if (followMin != null){ if (scroll.x > followMin.x){ scroll.x = followMin.x; }; if (scroll.y > followMin.y){ scroll.y = followMin.y; }; }; if (followMax != null){ if (scroll.x < followMax.x){ scroll.x = followMax.x; }; if (scroll.y < followMax.y){ scroll.y = followMax.y; }; }; }; } public static function getAngle(_arg1:Number, _arg2:Number):Number{ return (((Math.atan2(_arg2, _arg1) * 180) / Math.PI)); } public static function addBitmap(_arg1:Class, _arg2:Boolean=false):BitmapData{ var _local6:BitmapData; var _local7:Matrix; var _local3:Boolean; var _local4:String = String(_arg1); if ((((_cache[_local4] == undefined)) || ((_cache[_local4] == null)))){ _cache[_local4] = new (_arg1).bitmapData; if (_arg2){ _local3 = true; }; }; var _local5:BitmapData = _cache[_local4]; if (((((!(_local3)) && (_arg2))) && ((_local5.width == new (_arg1).bitmapData.width)))){ _local3 = true; }; if (_local3){ _local6 = new BitmapData((_local5.width << 1), _local5.height, true, 0); _local6.draw(_local5); _local7 = new Matrix(); _local7.scale(-1, 1); _local7.translate(_local6.width, 0); _local6.draw(_local5, _local7); _local5 = _local6; }; return (_local5); } public static function play(_arg1:Class, _arg2:Number=1):void{ new (_arg1).play(0, 0, new SoundTransform((((_arg2 * _muted) * _volume) * _masterVolume))); } public static function hideCursor():void{ if (_game._cursor == null){ return; }; _game._buffer.removeChild(_game._cursor); _game._cursor = null; } public static function computeVelocity(_arg1:Number, _arg2:Number=0, _arg3:Number=0, _arg4:Number=10000):Number{ var _local5:Number; if (_arg2 != 0){ _arg1 = (_arg1 + (_arg2 * FlxG.elapsed)); } else { if (_arg3 != 0){ _local5 = (_arg3 * FlxG.elapsed); if ((_arg1 - _local5) > 0){ _arg1 = (_arg1 - _local5); } else { if ((_arg1 + _local5) < 0){ _arg1 = (_arg1 + _local5); } else { _arg1 = 0; }; }; }; }; if (((!((_arg1 == 0))) && (!((_arg4 == 10000))))){ if (_arg1 > _arg4){ _arg1 = _arg4; } else { if (_arg1 < -(_arg4)){ _arg1 = -(_arg4); }; }; }; return (_arg1); } static function setGameData(_arg1:FlxGame, _arg2:uint, _arg3:uint):void{ _game = _arg1; _cache = new Object(); width = _arg2; height = _arg3; _muted = 1; _volume = 1; _musicVolume = 1; _masterVolume = 0.5; _musicPosition = -1; mouse = new FlxMouse(); keys = new FlxKeyboard(); unfollow(); FlxG.levels = new FlxArray(); FlxG.scores = new FlxArray(); level = 0; score = 0; seed = -256; kong = null; } public static function collideArraysY(_arg1:FlxArray, _arg2:FlxArray):void{ var _local3:uint; var _local4:uint; var _local5:FlxCore; var _local6:FlxCore; if (_arg1 === _arg2){ _local3 = 0; while (_local3 < _arg1.length) { _local5 = _arg1[_local3]; if ((((((_local5 == null)) || (!(_local5.exists)))) || (_local5.dead))){ } else { _local4 = (_local3 + 1); while (_local4 < _arg2.length) { _local6 = _arg2[_local4]; if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){ } else { _local5.collideY(_local6); }; _local4++; }; }; _local3++; }; } else { _local3 = 0; while (_local3 < _arg1.length) { _local5 = _arg1[_local3]; if ((((((_local5 == null)) || (!(_local5.exists)))) || (_local5.dead))){ } else { _local4 = 0; while (_local4 < _arg2.length) { _local6 = _arg2[_local4]; if ((((((((_local5 === _local6)) || ((_local6 == null)))) || (!(_local6.exists)))) || (_local6.dead))){ } else { _local5.collideY(_local6); }; _local4++; }; }; _local3++; }; }; } public static function stopMusic():void{ _musicPosition = 0; if (_musicChannel != null){ _musicChannel.stop(); _musicChannel = null; }; } public static function collideArraysX(_arg1:FlxArray, _arg2:FlxArray):void{ var _local3:uint; var _local4:uint; var _local5:FlxCore; var _local6:FlxCore; if (_arg1 === _arg2){ _local3 = 0; while (_local3 < _arg1.length) { _local5 = _arg1[_local3]; if ((((((_local5 == null)) || (!(_local5.exists)))) || (_local5.dead))){ } else { _local4 = (_local3 + 1); while (_local4 < _arg2.length) { _local6 = _arg2[_local4]; if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){ } else { _local5.collideX(_local6); }; _local4++; }; }; _local3++; }; } else { _local3 = 0; while (_local3 < _arg1.length) { _local5 = _arg1[_local3]; if ((((((_local5 == null)) || (!(_local5.exists)))) || (_local5.dead))){ } else { _local4 = 0; while (_local4 < _arg2.length) { _local6 = _arg2[_local4]; if ((((((((_local5 === _local6)) || ((_local6 == null)))) || (!(_local6.exists)))) || (_local6.dead))){ } else { _local5.collideX(_local6); }; _local4++; }; }; _local3++; }; }; } public static function createBitmap(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:Boolean):BitmapData{ var _local7:uint; var _local8:String; var _local5:String = ((((_arg1 + "x") + _arg2) + ":") + _arg3); var _local6:Boolean; if ((((_cache[_local5] == undefined)) || ((_cache[_local5] == null)))){ _cache[_local5] = new BitmapData(_arg1, _arg2, true, _arg3); } else { if (_arg4){ _local7 = 0; do { var _temp1 = _local7; _local7 = (_local7 + 1); _local8 = (_local5 + _temp1); } while ((((_cache[_local5] == undefined)) && ((_cache[_local5] == null)))); _cache[_local5] = new BitmapData(_arg1, _arg2, true, _arg3); }; }; return (_cache[_local5]); } public static function playMusic():void{ if (_musicPosition < 0){ return; }; if (_musicPosition == 0){ if (_musicChannel == null){ _musicChannel = _music.play(0, 9999, new SoundTransform((((_muted * _volume) * _musicVolume) * _masterVolume))); }; } else { _musicChannel = _music.play(_musicPosition, 0, new SoundTransform((((_muted * _volume) * _musicVolume) * _masterVolume))); _musicChannel.addEventListener(Event.SOUND_COMPLETE, loopMusic, false, 0, true); }; _musicPosition = 0; } public static function overlapArray(_arg1:FlxArray, _arg2:FlxCore, _arg3:Function=null):void{ var _local4:FlxCore; if ((((((_arg2 == null)) || (!(_arg2.exists)))) || (_arg2.dead))){ return; }; var _local5:uint; while (_local5 < _arg1.length) { _local4 = _arg1[_local5]; if ((((((((_local4 === _arg2)) || ((_local4 == null)))) || (!(_local4.exists)))) || (_local4.dead))){ } else { if (_local4.overlaps(_arg2)){ if (_arg3 != null){ _arg3(_local4, _arg2); } else { _local4.kill(); _arg2.kill(); }; }; }; _local5++; }; } public static function log(_arg1:String):void{ _game._console.log(_arg1); } public static function overlapArrays(_arg1:FlxArray, _arg2:FlxArray, _arg3:Function=null):void{ var _local4:uint; var _local5:uint; var _local6:FlxCore; var _local7:FlxCore; if (_arg1 === _arg2){ _local4 = 0; while (_local4 < _arg1.length) { _local6 = _arg1[_local4]; if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){ } else { _local5 = (_local4 + 1); while (_local5 < _arg2.length) { _local7 = _arg2[_local5]; if ((((((_local7 == null)) || (!(_local7.exists)))) || (_local7.dead))){ } else { if (_local6.overlaps(_local7)){ if (_arg3 != null){ _arg3(_local6, _local7); } else { _local6.kill(); _local7.kill(); }; }; }; _local5++; }; }; _local4++; }; } else { _local4 = 0; while (_local4 < _arg1.length) { _local6 = _arg1[_local4]; if ((((((_local6 == null)) || (!(_local6.exists)))) || (_local6.dead))){ } else { _local5 = 0; while (_local5 < _arg2.length) { _local7 = _arg2[_local5]; if ((((((((_local6 === _local7)) || ((_local7 == null)))) || (!(_local7.exists)))) || (_local7.dead))){ } else { if (_local6.overlaps(_local7)){ if (_arg3 != null){ _arg3(_local6, _local7); } else { _local6.kill(); _local7.kill(); }; }; }; _local5++; }; }; _local4++; }; }; } public static function getMusicVolume():Number{ return (_musicVolume); } public static function get seed():Number{ return (_originalSeed); } static function updateInput():void{ keys.update(); mouse.update((state.mouseX - scroll.x), (state.mouseY - scroll.y)); } static function unfollow():void{ followTarget = null; followLead = null; followLerp = 1; followMin = null; followMax = null; scroll = new Point(); _scrollTarget = new Point(); } public static function fade(_arg1:uint, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{ _game._fade.restart(_arg1, _arg2, _arg3, _arg4); } public static function getMute():Boolean{ if (_muted == 0){ return (true); }; return (false); } private static function adjustMusicVolume():void{ if (_muted < 0){ _muted = 0; } else { if (_muted > 1){ _muted = 1; }; }; if (_volume < 0){ _volume = 0; } else { if (_volume > 1){ _volume = 1; }; }; if (_musicVolume < 0){ _musicVolume = 0; } else { if (_musicVolume > 1){ _musicVolume = 1; }; }; if (_masterVolume < 0){ _masterVolume = 0; } else { if (_masterVolume > 1){ _masterVolume = 1; }; }; if (_musicChannel != null){ _musicChannel.soundTransform = new SoundTransform((((_muted * _volume) * _musicVolume) * _masterVolume)); }; } static function getMasterVolume():Number{ return (_masterVolume); } public static function setMute(_arg1:Boolean):void{ if (_arg1){ _muted = 0; } else { _muted = 1; }; adjustMusicVolume(); } static function setMasterVolume(_arg1:Number):void{ _masterVolume = _arg1; adjustMusicVolume(); } public static function followAdjust(_arg1:Number=0, _arg2:Number=0):void{ followLead = new Point(_arg1, _arg2); } public static function follow(_arg1:FlxCore, _arg2:Number=1):void{ followTarget = _arg1; followLerp = _arg2; scroll.x = (_scrollTarget.x = (((width >> 1) - followTarget.x) - (followTarget.width >> 1))); scroll.y = (_scrollTarget.y = (((height >> 1) - followTarget.y) - (followTarget.height >> 1))); } public static function showCursor(_arg1:Class=null):void{ if (_arg1 == null){ _game._cursor = (_game._buffer.addChild(new ImgDefaultCursor()) as Bitmap); } else { _game._cursor = (_game._buffer.addChild(new (_arg1)) as Bitmap); }; } public static function resetInput():void{ keys.reset(); mouse.reset(); } public static function switchState(_arg1:Class):void{ _game._panel.hide(); FlxG.unfollow(); FlxG.keys.reset(); FlxG.mouse.reset(); _game._quake.reset(0); _game._buffer.x = 0; _game._buffer.y = 0; if (_game._cursor != null){ _game._buffer.removeChild(_game._cursor); _game._cursor = null; }; var _local2:FlxState = new (_arg1); _game._buffer.addChild(_local2); if (_game._curState != null){ _game._buffer.swapChildren(_local2, _game._curState); _game._buffer.removeChild(_game._curState); _game._curState.destroy(); }; _game._fade.visible = false; _game._curState = _local2; } public static function random(_arg1:Boolean=false):Number{ if (((_arg1) || ((_seed == -256)))){ return (Math.random()); }; var _local2:Number = (((69621 * int((_seed * 2147483647))) % 2147483647) / 2147483647); _seed = (_seed + _local2); if (_seed > 1){ _seed = (_seed - int(_seed)); }; return (_local2); } public static function openURL(_arg1:String):void{ navigateToURL(new URLRequest(_arg1), "_blank"); } public static function collideArray(_arg1:FlxArray, _arg2:FlxSprite):void{ var _local3:FlxCore; if ((((((_arg2 == null)) || (!(_arg2.exists)))) || (_arg2.dead))){ return; }; var _local4:uint; while (_local4 < _arg1.length) { _local3 = _arg1[_local4]; if ((((((((_local3 === _arg2)) || ((_local3 == null)))) || (!(_local3.exists)))) || (_local3.dead))){ } else { _local3.collide(_arg2); }; _local4++; }; } public static function pauseMusic():void{ if (_musicChannel == null){ _musicPosition = -1; return; }; _musicPosition = _musicChannel.position; _musicChannel.stop(); while (_musicPosition >= _music.length) { _musicPosition = (_musicPosition - _music.length); }; _musicChannel = null; } public static function followBounds(_arg1:int=0, _arg2:int=0, _arg3:int=0, _arg4:int=0):void{ followMin = new Point(-(_arg1), -(_arg2)); followMax = new Point((-(_arg3) + width), (-(_arg4) + height)); if (followMax.x > followMin.x){ followMax.x = followMin.x; }; if (followMax.y > followMin.y){ followMax.y = followMin.y; }; } public static function quake(_arg1:Number, _arg2:Number=0.5):void{ _game._quake.reset(_arg1, _arg2); } public static function setMusicVolume(_arg1:Number):void{ _musicVolume = _arg1; adjustMusicVolume(); } public static function set seed(_arg1:Number):void{ _seed = _arg1; _originalSeed = _seed; } public static function setMusic(_arg1:Class, _arg2:Number=1, _arg3:Boolean=true):void{ stopMusic(); _music = new (_arg1); _musicVolume = _arg2; if (_arg3){ playMusic(); }; } public static function hideSupportPanel():void{ _game._panel.hide(); } private static function loopMusic(_arg1:Event=null):void{ if (_musicChannel == null){ return; }; _musicChannel.removeEventListener(Event.SOUND_COMPLETE, loopMusic); _musicChannel = null; playMusic(); } public static function rotatePoint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Point{ var _local6:Number = ((-(_arg5) / 180) * Math.PI); var _local7:Number = (_arg1 - _arg3); var _local8:Number = (_arg4 - _arg2); return (new Point(((_arg3 + (Math.cos(_local6) * _local7)) - (Math.sin(_local6) * _local8)), (_arg4 - ((Math.sin(_local6) * _local7) + (Math.cos(_local6) * _local8))))); } public static function flash(_arg1:uint, _arg2:Number=1, _arg3:Function=null, _arg4:Boolean=false):void{ _game._flash.restart(_arg1, _arg2, _arg3, _arg4); } public static function collideArrayX(_arg1:FlxArray, _arg2:FlxSprite):void{ var _local3:FlxCore; if ((((((_arg2 == null)) || (!(_arg2.exists)))) || (_arg2.dead))){ return; }; var _local4:uint; while (_local4 < _arg1.length) { _local3 = _arg1[_local4]; if ((((((((_local3 === _arg2)) || ((_local3 == null)))) || (!(_local3.exists)))) || (_local3.dead))){ } else { _local3.collideX(_arg2); }; _local4++; }; } public static function collideArrayY(_arg1:FlxArray, _arg2:FlxSprite):void{ var _local3:FlxCore; if ((((((_arg2 == null)) || (!(_arg2.exists)))) || (_arg2.dead))){ return; }; var _local4:uint; while (_local4 < _arg1.length) { _local3 = _arg1[_local4]; if ((((((((_local3 === _arg2)) || ((_local3 == null)))) || (!(_local3.exists)))) || (_local3.dead))){ } else { _local3.collideY(_arg2); }; _local4++; }; } } }//package org.flixel
Section 385
//FlxG_ImgDefaultCursor (org.flixel.FlxG_ImgDefaultCursor) package org.flixel { import mx.core.*; public class FlxG_ImgDefaultCursor extends BitmapAsset { } }//package org.flixel
Section 386
//FlxGame (org.flixel.FlxGame) package org.flixel { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.text.*; import flash.media.*; import org.flixel.data.*; import flash.ui.*; import flash.utils.*; public class FlxGame extends Sprite { const MAX_ELAPSED:Number = 0.0333; var _bmpFront:Bitmap; var _panel:FlxPanel; var _defaultSoundControls:Boolean; private var SndBeep:Class; var _console:FlxConsole; protected var _gameXOffset:int; var _logoFade:Bitmap; var _elapsed:Number; protected var _helpStrings:Array; var _flipped:Boolean; var _total:uint; var _soundTrayBars:Array; public var _paused:Boolean; private var junk:String;// = "FlxGame_junk" var _fc:uint; var _buffer:Sprite; protected var _gameYOffset:int; var _poweredBy:Bitmap; var _soundTray:Sprite; var _fSound:Class; var _fade:FlxFade; var _frame:Class; var _cursor:Bitmap; private var ImgPoweredBy:Class; var _soundTrayTimer:Number; public var _game_over:Boolean; private var SndFlixel:Class; protected var _winPopup:FlxPause; public var _curState:FlxState; var _showLogo:Boolean; var _created:Boolean; protected var _zoom:uint; protected var _iState:Class; var _bmpBack:Bitmap; var _quake:FlxQuake; var _logoTimer:Number; var _bgColor:Number; protected var _minimapPopup:FlxPause; var _f:FlxArray; var _flash:FlxFlash; var _logoComplete:Boolean; protected var _pausePopup:FlxPause; public static var manual_pause:Boolean = false; public function FlxGame(_arg1:uint, _arg2:uint, _arg3:Class, _arg4:uint=2, _arg5:Number=4278190080, _arg6:Boolean=true, _arg7:Number=4294967295, _arg8:Class=null, _arg9:Class=null, _arg10:uint=0, _arg11:uint=0){ ImgPoweredBy = FlxGame_ImgPoweredBy; SndBeep = FlxGame_SndBeep; SndFlixel = FlxGame_SndFlixel; super(); _zoom = _arg4; _gameXOffset = _arg10; _gameYOffset = _arg11; _bgColor = _arg5; _fc = _arg7; FlxG.setGameData(this, _arg1, _arg2); _created = false; addEventListener(Event.ENTER_FRAME, onEnterFrame, false, 0, true); _elapsed = 0; _total = 0; Mouse.hide(); _logoComplete = false; _f = null; _quake = new FlxQuake(_zoom); _flash = new FlxFlash(); _fade = new FlxFade(); if (_arg8 == null){ _fSound = SndFlixel; } else { _fSound = _arg8; }; _curState = null; _frame = _arg9; _iState = _arg3; _paused = false; _game_over = false; _helpStrings = new Array(); _helpStrings.push("Button 1"); _helpStrings.push("Button 2"); _helpStrings.push("Mouse"); _helpStrings.push("Move"); _showLogo = _arg6; _panel = new FlxPanel(); } public function unpause(_arg1:Boolean=false):void{ if (((((_arg1) || (!(manual_pause)))) && (!(_game_over)))){ if (!_panel.visible){ Mouse.hide(); }; _pausePopup.visible = false; FlxG.resetInput(); _paused = false; FlxG.playMusic(); stage.frameRate = 90; manual_pause = false; }; } protected function onFocus(_arg1:Event=null):void{ if (!_panel.visible){ Mouse.hide(); }; _pausePopup.visible = false; FlxG.resetInput(); _paused = false; FlxG.playMusic(); stage.frameRate = 90; } private function onMouseUp(_arg1:MouseEvent):void{ FlxG.mouse.handleMouseUp(_arg1); } protected function help(_arg1:String=null, _arg2:String=null, _arg3:String=null, _arg4:String=null):void{ if (_arg1 != null){ _helpStrings[0] = _arg1; }; if (_arg2 != null){ _helpStrings[1] = _arg2; }; if (_arg3 != null){ _helpStrings[2] = _arg3; }; if (_arg4 != null){ _helpStrings[3] = _arg4; }; } protected function useDefaultVolumeControls(_arg1:Boolean):void{ _defaultSoundControls = _arg1; } public function initializePause():void{ _minimapPopup = new FlxPause(_gameXOffset, _gameYOffset, _zoom, _helpStrings); _pausePopup = new FlxPause(_gameXOffset, _gameYOffset, _zoom, _helpStrings); _winPopup = new FlxPause(_gameXOffset, _gameYOffset, _zoom, _helpStrings); } public function updateGame():void{ FlxG.updateInput(); if (!_paused){ if (_cursor != null){ _cursor.x = (FlxG.mouse.x + FlxG.scroll.x); _cursor.y = (FlxG.mouse.y + FlxG.scroll.y); }; FlxG.doFollow(); _curState.update(); _flash.update(); _fade.update(); _quake.update(); _buffer.x = _quake.x; _buffer.y = _quake.y; if (_flipped){ _bmpFront.bitmapData.fillRect(new Rectangle(0, 0, _bmpFront.width, _bmpFront.height), _bgColor); FlxG.buffer = _bmpFront.bitmapData; } else { _bmpBack.bitmapData.fillRect(new Rectangle(0, 0, _bmpBack.width, _bmpBack.height), _bgColor); FlxG.buffer = _bmpBack.bitmapData; }; _curState.render(); _flash.render(); _fade.render(); _panel.render(); _bmpBack.visible = !((_bmpFront.visible = _flipped)); _flipped = !(_flipped); } else { if (FlxG.keys.justPressed("ESC")){ unpause(true); hideMiniMap(); }; }; _curState.alwaysUpdate(); } private function showSoundTray():void{ FlxG.play(SndBeep); _soundTrayTimer = 1; _soundTray.y = (_gameYOffset * _zoom); _soundTray.visible = true; var _local1:uint = Math.round((FlxG.getMasterVolume() * 10)); if (FlxG.getMute()){ _local1 = 0; }; var _local2:uint; while (_local2 < _soundTrayBars.length) { if (_local2 < _local1){ _soundTrayBars[_local2].alpha = 1; } else { _soundTrayBars[_local2].alpha = 0.5; }; _local2++; }; } protected function setupSupportPanel(_arg1:String, _arg2:Number, _arg3:String, _arg4:String, _arg5:String):void{ _panel.init(_arg1, _arg2, _arg3, _arg4, _arg5); } public function unwin(_arg1:Boolean=false):void{ if (!_panel.visible){ Mouse.hide(); }; _winPopup.visible = false; FlxG.resetInput(); _paused = false; FlxG.playMusic(); stage.frameRate = 90; _game_over = false; } private function onEnterFrame(_arg1:Event):void{ var _local2:uint; var _local4:Bitmap; var _local5:uint; var _local6:uint; var _local7:int; var _local8:int; var _local9:ColorTransform; var _local10:String; var _local11:String; var _local12:TextField; var _local13:uint; var _local14:uint; var _local15:Bitmap; var _local3:uint = getTimer(); _elapsed = ((_local3 - _total) / 1000); _total = _local3; FlxG.elapsed = _elapsed; if (FlxG.elapsed > MAX_ELAPSED){ FlxG.elapsed = MAX_ELAPSED; }; if (_logoComplete){ _panel.update(); _console.update(); if (_soundTrayTimer > 0){ _soundTrayTimer = (_soundTrayTimer - _elapsed); } else { if (_soundTray.y > -(_soundTray.height)){ _soundTray.y = (_soundTray.y - ((_elapsed * FlxG.height) * 2)); if (_soundTray.y < -(_soundTray.height)){ _soundTray.visible = false; }; }; }; updateGame(); } else { if (_created){ if (!_showLogo){ _logoComplete = true; FlxG.switchState(_iState); } else { if (_f == null){ _f = new FlxArray(); _local5 = 1; if (FlxG.height > 200){ _local5 = 2; }; _local6 = (32 * _local5); _local7 = (((FlxG.height * _zoom) / 2) - (_local6 * 2)); _local8 = (((FlxG.width * _zoom) / 2) - _local6); _f.push((addChild(new FlxLogoPixel((_local8 + _local6), _local7, _local6, 0, _fc)) as FlxLogoPixel)); _f.push((addChild(new FlxLogoPixel(_local8, (_local7 + _local6), _local6, 1, _fc)) as FlxLogoPixel)); _f.push((addChild(new FlxLogoPixel(_local8, (_local7 + (_local6 * 2)), _local6, 2, _fc)) as FlxLogoPixel)); _f.push((addChild(new FlxLogoPixel((_local8 + _local6), (_local7 + (_local6 * 2)), _local6, 3, _fc)) as FlxLogoPixel)); _f.push((addChild(new FlxLogoPixel(_local8, (_local7 + (_local6 * 3)), _local6, 4, _fc)) as FlxLogoPixel)); _poweredBy = new ImgPoweredBy(); _poweredBy.scaleX = _local5; _poweredBy.scaleY = _local5; _poweredBy.x = (((FlxG.width * _zoom) / 2) - (_poweredBy.width / 2)); _poweredBy.y = ((_local7 + (_local6 * 4)) + 16); _local9 = new ColorTransform(); _local9.color = _fc; _poweredBy.bitmapData.colorTransform(new Rectangle(0, 0, _poweredBy.width, _poweredBy.height), _local9); addChild(_poweredBy); _logoFade = (addChild(new Bitmap(new BitmapData((FlxG.width * _zoom), (FlxG.height * _zoom), true, 4278190080))) as Bitmap); _logoFade.x = (_gameXOffset * _zoom); _logoFade.y = (_gameYOffset * _zoom); if (_fSound != null){ new _fSound().play(0, 0, new SoundTransform(0.35, 0)); }; }; _logoTimer = (_logoTimer + _elapsed); _local2 = 0; while (_local2 < _f.length) { _f[_local2].update(); _local2++; }; if (_logoFade.alpha > 0){ _logoFade.alpha = (_logoFade.alpha - (_elapsed * 0.5)); }; if (_logoTimer > 2){ removeChild(_poweredBy); _local2 = 0; while (_local2 < _f.length) { removeChild(_f[_local2]); _local2++; }; _f.clear(); removeChild(_logoFade); FlxG.switchState(_iState); _logoComplete = true; }; }; } else { if (root != null){ stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; stage.frameRate = 90; _buffer = new Sprite(); _buffer.scaleX = _zoom; _buffer.scaleY = _zoom; addChild(_buffer); _bmpBack = new Bitmap(new BitmapData(FlxG.width, FlxG.height, true, _bgColor)); _bmpBack.x = _gameXOffset; _bmpBack.y = _gameYOffset; _buffer.addChild(_bmpBack); _bmpFront = new Bitmap(new BitmapData(_bmpBack.width, _bmpBack.height, true, _bgColor)); _bmpFront.x = _bmpBack.x; _bmpFront.y = _bmpBack.y; _buffer.addChild(_bmpFront); _flipped = false; _console = new FlxConsole(_gameXOffset, _gameYOffset, _zoom); addChild(_console); _local10 = ((((FlxG.LIBRARY_NAME + " v") + FlxG.LIBRARY_MAJOR_VERSION) + ".") + FlxG.LIBRARY_MINOR_VERSION); _local11 = ""; _local2 = 0; while (_local2 < (_local10.length + 32)) { _local11 = (_local11 + "-"); _local2++; }; FlxG.log(_local10); FlxG.log(_local11); stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown, false, 0, true); stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp, false, 0, true); stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown, false, 0, true); stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp, false, 0, true); initializePause(); addChild(_minimapPopup); addChild(_pausePopup); addChild(_winPopup); stage.addEventListener(Event.DEACTIVATE, onFocusLost, false, 0, true); stage.addEventListener(Event.ACTIVATE, onFocus, false, 0, true); _soundTray = new Sprite(); _soundTray.visible = false; _soundTray.scaleX = 2; _soundTray.scaleY = 2; _local4 = new Bitmap(new BitmapData(80, 30, true, 2130706432)); _soundTray.x = (((_gameXOffset + (FlxG.width / 2)) * _zoom) - ((_local4.width / 2) * _soundTray.scaleX)); _soundTray.addChild(_local4); _local12 = new TextField(); _local12.width = _local4.width; _local12.height = _local4.height; _local12.multiline = true; _local12.wordWrap = true; _local12.selectable = false; _local12.embedFonts = true; _local12.antiAliasType = AntiAliasType.NORMAL; _local12.gridFitType = GridFitType.PIXEL; _local12.defaultTextFormat = new TextFormat("system", 8, 0xFFFFFF, null, null, null, null, null, "center"); _soundTray.addChild(_local12); _local12.text = "VOLUME"; _local12.y = 16; _local13 = 10; _local14 = 14; _soundTrayBars = new Array(); _local2 = 0; while (_local2 < 10) { _local4 = new Bitmap(new BitmapData(4, (_local2 + 1), false, 0xFFFFFF)); _local4.x = _local13; _local4.y = _local14; _soundTrayBars.push(_soundTray.addChild(_local4)); _local13 = (_local13 + 6); _local14--; _local2++; }; addChild(_soundTray); if (_frame != null){ _local15 = new _frame(); _local15.scaleX = _zoom; _local15.scaleY = _zoom; addChild(_local15); }; _created = true; _logoTimer = 0; }; }; }; } private function onKeyUp(_arg1:KeyboardEvent):void{ var _local2:int; var _local3:String; if (_arg1.keyCode == 192){ _console.toggle(); return; }; if (_defaultSoundControls){ _local2 = _arg1.keyCode; _local3 = String.fromCharCode(_arg1.charCode); switch (_local2){ case 189: FlxG.setMute(false); FlxG.setMasterVolume((FlxG.getMasterVolume() - 0.1)); showSoundTray(); return; case 187: FlxG.setMute(false); FlxG.setMasterVolume((FlxG.getMasterVolume() + 0.1)); showSoundTray(); return; default: break; }; }; FlxG.keys.handleKeyUp(_arg1); } private function onMouseDown(_arg1:MouseEvent):void{ FlxG.mouse.handleMouseDown(_arg1); } private function onKeyDown(_arg1:KeyboardEvent):void{ FlxG.keys.handleKeyDown(_arg1); } public function showMiniMap():void{ _minimapPopup.update(); if (((!((x == 0))) || (!((y == 0))))){ x = 0; y = 0; }; Mouse.show(); _minimapPopup.visible = true; _minimapPopup.show(); _paused = true; FlxG.pauseMusic(); stage.frameRate = 10; } public function shutdownFlixel():void{ removeEventListener(Event.ENTER_FRAME, onEnterFrame); stage.removeEventListener(Event.DEACTIVATE, onFocusLost); stage.removeEventListener(Event.ACTIVATE, onFocus); stage.removeEventListener(KeyboardEvent.KEY_DOWN, onKeyDown); stage.removeEventListener(KeyboardEvent.KEY_UP, onKeyUp); stage.removeEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp); _panel = null; _helpStrings = null; _f = null; _quake = null; _flash = null; _fade = null; } public function win():void{ _winPopup.update(); if (((!((x == 0))) || (!((y == 0))))){ x = 0; y = 0; }; Mouse.show(); _winPopup.visible = true; _winPopup.show(); _paused = true; FlxG.pauseMusic(); stage.frameRate = 10; _game_over = true; } public function pause(_arg1:Boolean=false):void{ if (((_arg1) || (!(manual_pause)))){ _pausePopup.update(); if (((!((x == 0))) || (!((y == 0))))){ x = 0; y = 0; }; Mouse.show(); _pausePopup.visible = true; _paused = true; FlxG.pauseMusic(); stage.frameRate = 10; if (_arg1){ manual_pause = true; }; }; } public function hideMiniMap():void{ if (!_panel.visible){ Mouse.hide(); }; _minimapPopup.visible = false; FlxG.resetInput(); _paused = false; FlxG.playMusic(); stage.frameRate = 90; } protected function onFocusLost(_arg1:Event=null):void{ if (((!((x == 0))) || (!((y == 0))))){ x = 0; y = 0; }; Mouse.show(); _pausePopup.visible = true; _paused = true; FlxG.pauseMusic(); stage.frameRate = 10; } } }//package org.flixel
Section 387
//FlxGame_ImgPoweredBy (org.flixel.FlxGame_ImgPoweredBy) package org.flixel { import mx.core.*; public class FlxGame_ImgPoweredBy extends BitmapAsset { } }//package org.flixel
Section 388
//FlxGame_junk (org.flixel.FlxGame_junk) package org.flixel { import mx.core.*; public class FlxGame_junk extends FontAsset { } }//package org.flixel
Section 389
//FlxGame_SndBeep (org.flixel.FlxGame_SndBeep) package org.flixel { import mx.core.*; public class FlxGame_SndBeep extends SoundAsset { } }//package org.flixel
Section 390
//FlxGame_SndFlixel (org.flixel.FlxGame_SndFlixel) package org.flixel { import mx.core.*; public class FlxGame_SndFlixel extends SoundAsset { } }//package org.flixel
Section 391
//FlxKong (org.flixel.FlxKong) package org.flixel { import flash.events.*; import flash.display.*; import flash.net.*; public class FlxKong extends Sprite { public var API; public function init():void{ var _local1:Object = LoaderInfo(root.loaderInfo).parameters; var _local2:String = ((_local1.api_path) || ("http://www.kongregate.com/flash/API_AS3_Local.swf")); var _local3:URLRequest = new URLRequest(_local2); var _local4:Loader = new Loader(); _local4.contentLoaderInfo.addEventListener(Event.COMPLETE, APILoaded); _local4.load(_local3); this.addChild(_local4); } private function APILoaded(_arg1:Event):void{ API = _arg1.target.content; API.services.connect(); } } }//package org.flixel
Section 392
//FlxLayer (org.flixel.FlxLayer) package org.flixel { public class FlxLayer extends FlxCore { private var _children:FlxArray; public function FlxLayer(){ _children = new FlxArray(); } public function add(_arg1:FlxCore):FlxCore{ return ((_children.add(_arg1) as FlxCore)); } public function remove(_arg1:FlxCore):void{ _children.remove(_arg1, true); } override public function render():void{ super.render(); var _local1:uint; while (_local1 < _children.length) { if (((((!((_children[_local1] == null))) && (_children[_local1].exists))) && (_children[_local1].visible))){ _children[_local1].render(); }; _local1++; }; } override public function update():void{ super.update(); var _local1:uint; while (_local1 < _children.length) { if (((((!((_children[_local1] == null))) && (_children[_local1].exists))) && (_children[_local1].active))){ _children[_local1].update(); }; _local1++; }; } public function destroy():void{ _children.clear(); } public function children():FlxArray{ return (_children); } } }//package org.flixel
Section 393
//FlxSprite (org.flixel.FlxSprite) package org.flixel { import flash.display.*; import flash.geom.*; import org.flixel.data.*; public class FlxSprite extends FlxCore { public var acceleration:Point; public var finished:Boolean; public var angularAcceleration:Number; private var _alpha:Number; private var _animations:FlxArray; private var _ct:ColorTransform; public var offset:Point; private var _callback:Function; protected var _curAnim:FlxAnim; public var drag:Point; public var angularDrag:Number; private var _pZero:Point; private var _flipped:uint; public var pixels:BitmapData; public var scale:Point; private var _pixels:BitmapData; public var angle:Number; public var thrust:Number; public var maxThrust:Number; public var velocity:Point; public var maxAngular:Number; public var angularVelocity:Number; public var maxVelocity:Point; public var health:Number; protected var _bh:uint; private var _p:Point; private var _r:Rectangle; protected var _bw:uint; private var _frameTimer:Number; private var _facing:Boolean; protected var _curFrame:uint; private var _color:uint; public static const RIGHT:Boolean = true; public static const LEFT:Boolean = false; public function FlxSprite(_arg1:Class=null, _arg2:int=0, _arg3:int=0, _arg4:Boolean=false, _arg5:Boolean=false, _arg6:uint=0, _arg7:uint=0, _arg8:uint=0, _arg9:Boolean=false){ if (_arg1 == null){ pixels = FlxG.createBitmap(_arg6, _arg7, _arg8, _arg9); } else { pixels = FlxG.addBitmap(_arg1, _arg5); }; last.x = (x = _arg2); last.y = (y = _arg3); if (_arg6 == 0){ if (_arg4){ _arg6 = pixels.height; } else { _arg6 = pixels.width; }; }; width = (_bw = _arg6); height = (_bh = pixels.height); offset = new Point(); velocity = new Point(); acceleration = new Point(); drag = new Point(); maxVelocity = new Point(10000, 10000); angle = 0; angularVelocity = 0; angularAcceleration = 0; angularDrag = 0; maxAngular = 10000; thrust = 0; scale = new Point(1, 1); finished = false; _facing = true; _animations = new FlxArray(); if (_arg5){ _flipped = (pixels.width >> 1); } else { _flipped = 0; }; _curAnim = null; _curFrame = 0; _frameTimer = 0; _p = new Point(x, y); _pZero = new Point(); _r = new Rectangle(0, 0, _bw, _bh); _pixels = new BitmapData(width, height); _pixels.copyPixels(pixels, _r, _pZero); health = 1; alpha = 1; color = 0xFFFFFF; _callback = null; } override protected function getScreenXY(_arg1:Point):void{ _arg1.x = (Math.floor((x - offset.x)) + Math.floor((FlxG.scroll.x * scrollFactor.x))); _arg1.y = (Math.floor((y - offset.y)) + Math.floor((FlxG.scroll.y * scrollFactor.y))); } public function hurt(_arg1:Number):void{ if ((health = (health - _arg1)) <= 0){ kill(); }; } override public function overlapsPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean{ var _local4:Number = x; var _local5:Number = y; if (((!((scrollFactor.x == 1))) || (!((scrollFactor.y == 1))))){ _local4 = (_local4 - Math.floor((FlxG.scroll.x * scrollFactor.x))); _local5 = (_local5 - Math.floor((FlxG.scroll.y * scrollFactor.y))); }; if (_arg3){ return (_pixels.hitTest(new Point(0, 0), 0xFF, new Point((_arg1 - _local4), (_arg2 - _local5)))); }; if ((((((((_arg1 <= _local4)) || ((_arg1 >= (_local4 + width))))) || ((_arg2 <= _local5)))) || ((_arg2 >= (_local5 + height))))){ return (false); }; return (true); } override public function render():void{ var _local1:Matrix; if (!visible){ return; }; getScreenXY(_p); if (((((!((angle == 0))) || (!((scale.x == 1))))) || (!((scale.y == 1))))){ _local1 = new Matrix(); _local1.translate(-((_bw >> 1)), -((_bh >> 1))); _local1.scale(scale.x, scale.y); if (angle != 0){ _local1.rotate(((Math.PI * 2) * (angle / 360))); }; _local1.translate((_p.x + (_bw >> 1)), (_p.y + (_bh >> 1))); FlxG.buffer.draw(_pixels, _local1); return; }; FlxG.buffer.copyPixels(_pixels, _r, _p, null, null, true); } public function randomFrame():void{ _pixels.copyPixels(pixels, new Rectangle((Math.floor((FlxG.random() * (pixels.width / _bw))) * _bw), 0, _bw, _bh), _pZero); } protected function calcFrame():void{ var _local1:uint; if (_curAnim == null){ _local1 = 0; } else { _local1 = (_curAnim.frames[_curFrame] * _bw); }; if (((!(_facing)) && ((_flipped > 0)))){ _local1 = (((_flipped << 1) - _local1) - _bw); }; _pixels.copyPixels(pixels, new Rectangle(_local1, 0, _bw, _bh), _pZero); if (_ct != null){ _pixels.colorTransform(_r, _ct); }; if (_callback != null){ _callback(_curAnim.name, _curFrame, _curAnim.frames[_curFrame]); }; } public function get color():uint{ return (_color); } override public function hitCeiling(_arg1:FlxCore=null):Boolean{ velocity.y = 0; return (true); } public function play(_arg1:String, _arg2:Boolean=false):void{ if (((((!(_arg2)) && (!((_curAnim == null))))) && ((_arg1 == _curAnim.name)))){ return; }; _curFrame = 0; _frameTimer = 0; var _local3:uint; while (_local3 < _animations.length) { if (_animations[_local3].name == _arg1){ finished = false; _curAnim = _animations[_local3]; calcFrame(); return; }; _local3++; }; } override public function hitFloor(_arg1:FlxCore=null):Boolean{ velocity.y = 0; return (true); } public function draw(_arg1:FlxSprite, _arg2:int=0, _arg3:int=0, _arg4:Boolean=false):void{ var _local5:BitmapData = _arg1._pixels; if ((((((((_ct == null)) && ((_arg1.angle == 0)))) && ((_arg1.scale.x == 1)))) && ((_arg1.scale.y == 1)))){ pixels.copyPixels(_local5, new Rectangle(0, 0, _local5.width, _local5.height), new Point(_arg2, _arg3), null, null, !(_arg4)); calcFrame(); return; }; var _local6:Matrix = new Matrix(); if (((((!((_arg1.angle == 0))) || (!((_arg1.scale.x == 1))))) || (!((_arg1.scale.y == 1))))){ _local6.translate(-((_arg1._bw >> 1)), -((_arg1._bh >> 1))); _local6.scale(_arg1.scale.x, _arg1.scale.y); if (_arg1.angle != 0){ _local6.rotate(((Math.PI * 2) * (_arg1.angle / 360))); }; _local6.translate((_arg2 + (_arg1._bw >> 1)), (_arg3 + (_arg1._bh >> 1))); } else { _local6.translate(_arg2, _arg3); }; pixels.draw(_local5, _local6, _ct); calcFrame(); } public function set color(_arg1:uint):void{ _color = (_arg1 & 0xFFFFFF); if (((!((_alpha == 1))) || (!((_color == 0xFFFFFF))))){ _ct = new ColorTransform((Number((_color >> 16)) / 0xFF), (Number(((_color >> 8) & 0xFF)) / 0xFF), (Number((_color & 0xFF)) / 0xFF), _alpha); } else { _ct = null; }; calcFrame(); } override public function update():void{ var _local1:Point; var _local2:Point; var _local3:Number; super.update(); if (!active){ return; }; if (((((!((_curAnim == null))) && ((_curAnim.delay > 0)))) && (((_curAnim.looped) || (!(finished)))))){ _frameTimer = (_frameTimer + FlxG.elapsed); if (_frameTimer > _curAnim.delay){ _frameTimer = (_frameTimer - _curAnim.delay); if (_curFrame == (_curAnim.frames.length - 1)){ if (_curAnim.looped){ _curFrame = 0; }; finished = true; } else { _curFrame++; }; calcFrame(); }; }; angle = (angle + ((angularVelocity = FlxG.computeVelocity(angularVelocity, angularAcceleration, angularDrag, maxAngular)) * FlxG.elapsed)); if (thrust != 0){ _local1 = FlxG.rotatePoint(-(thrust), 0, 0, 0, angle); _local2 = FlxG.rotatePoint(-(maxThrust), 0, 0, 0, angle); _local3 = Math.abs(_local2.x); if (_local3 > Math.abs(_local2.y)){ _local2.y = _local3; } else { _local3 = Math.abs(_local2.y); }; maxVelocity.x = Math.abs(_local3); maxVelocity.y = Math.abs(_local3); } else { _local1 = _pZero; }; x = (x + ((velocity.x = FlxG.computeVelocity(velocity.x, (acceleration.x + _local1.x), drag.x, maxVelocity.x)) * FlxG.elapsed)); y = (y + ((velocity.y = FlxG.computeVelocity(velocity.y, (acceleration.y + _local1.y), drag.y, maxVelocity.y)) * FlxG.elapsed)); } public function set alpha(_arg1:Number):void{ if (_arg1 > 1){ _arg1 = 1; }; if (_arg1 < 0){ _arg1 = 0; }; _alpha = _arg1; if (((!((_alpha == 1))) || (!((_color == 0xFFFFFF))))){ _ct = new ColorTransform((Number((_color >> 16)) / 0xFF), (Number(((_color >> 8) & 0xFF)) / 0xFF), (Number((_color & 0xFF)) / 0xFF), _alpha); } else { _ct = null; }; calcFrame(); } public function onEmit():void{ } public function set facing(_arg1:Boolean):void{ var _local2 = !((_facing == _arg1)); _facing = _arg1; if (_local2){ calcFrame(); }; } public function addAnimationCallback(_arg1:Function):void{ _callback = _arg1; } public function specificFrame(_arg1:uint):void{ _pixels.copyPixels(pixels, new Rectangle((_arg1 * _bw), 0, _bw, _bh), _pZero); } public function get facing():Boolean{ return (_facing); } public function addAnimation(_arg1:String, _arg2:Array, _arg3:Number=0, _arg4:Boolean=true):void{ _animations.add(new FlxAnim(_arg1, _arg2, _arg3, _arg4)); } public function get alpha():Number{ return (_alpha); } override public function hitWall(_arg1:FlxCore=null):Boolean{ velocity.x = 0; return (true); } } }//package org.flixel
Section 394
//FlxState (org.flixel.FlxState) package org.flixel { import flash.display.*; public class FlxState extends Sprite { protected var _layer:FlxLayer; public function FlxState(){ _layer = new FlxLayer(); FlxG.state = this; } public function add(_arg1:FlxCore):FlxCore{ return (_layer.add(_arg1)); } public function render():void{ _layer.render(); } public function alwaysUpdate():void{ } public function update():void{ _layer.update(); } public function destroy():void{ _layer.destroy(); } public function remove(_arg1:FlxCore):void{ _layer.remove(_arg1); } } }//package org.flixel
Section 395
//FlxText (org.flixel.FlxText) package org.flixel { import flash.geom.*; import flash.text.*; public class FlxText extends FlxCore { private var _original_x:Number; private var _ox:Number; private var _oy:Number; private var _centered:Boolean;// = false private var _tf:TextField; private var _mtx:Matrix; public var angle:Number; private var _oa:Number; public function FlxText(_arg1:Number, _arg2:Number, _arg3:uint, _arg4:uint, _arg5:String="", _arg6:uint=0xFFFFFF, _arg7:String=null, _arg8:uint=8, _arg9:String=null, _arg10:Number=0){ _ox = (x = _arg1); _oy = (y = _arg2); _oa = (angle = _arg10); width = _arg3; height = _arg4; if (_arg7 == null){ _arg7 = "system"; }; if (_arg5 == null){ _arg5 = ""; }; _tf = new TextField(); _tf.width = width; _tf.height = height; _tf.embedFonts = true; _tf.selectable = false; _tf.sharpness = 100; if (_arg9 == "center"){ _centered = true; _arg9 = "left"; _original_x = _arg1; }; _tf.defaultTextFormat = new TextFormat(_arg7, _arg8, _arg6, null, null, null, null, null, _arg9); _tf.text = _arg5; _mtx = new Matrix(); _mtx.translate(-((width >> 1)), -((height >> 1))); _mtx.rotate(((Math.PI * 2) * (angle / 360))); _mtx.translate((Math.floor(x) + (width >> 1)), (Math.floor(y) + (height >> 1))); } public function setColor(_arg1:uint):void{ var _local2:TextFormat = _tf.defaultTextFormat; _local2.color = _arg1; _tf.defaultTextFormat = _local2; _tf.text = _tf.text; } public function setText(_arg1:String):void{ var _local3:TextLineMetrics; var _local2:Boolean = this.visible; if (_local2){ this.visible = false; }; _tf.text = _arg1; if (_centered){ _local3 = _tf.getLineMetrics(0); x = (_original_x + ((width / 2) - (_local3.width / 2))); }; this.visible = _local2; } override public function update():void{ super.update(); var _local1:Point = new Point(); getScreenXY(_local1); if (((((!((_ox == _local1.x))) || (!((_oy == _local1.y))))) || (!((_oa == angle))))){ _mtx = new Matrix(); _mtx.translate(-((width >> 1)), -((height >> 1))); _mtx.rotate(((Math.PI * 2) * (angle / 360))); _mtx.translate((_local1.x + (width >> 1)), (_local1.y + (height >> 1))); _ox = _local1.x; _oy = _local1.y; }; } override public function render():void{ FlxG.buffer.draw(_tf, _mtx); } } }//package org.flixel
Section 396
//MFZAchievement (portalAPI.MoFunZoneAPI.MFZAchievement) package portalAPI.MoFunZoneAPI { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class MFZAchievement { private static var _config:MFZAchievementConfig; private static var _user:String; private static var _resource:MovieClip = null; private static var _readyFuntion:Function = null; private static var _debug:Object; private static var _resourceAPI:Object; public static function success(_arg1:String):void{ if (_resource != null){ _resource.success(_arg1); }; } public static function loadMe(_arg1:String, _arg2:Object, _arg3:Function, ... _args):void{ readyCallBack(_arg3); loadAchievement(_arg1, MFZAchievementConfig(_arg2), _args[0].getAPI(), _args[1].getUserName()); } private static function _http(_arg1):void{ if (_debug != null){ _debug.text = ("httpstatus: " + _arg1.status); }; } private static function _progress(_arg1):void{ if (_debug != null){ _debug.text = (_debug.text + ((("progressHandler: bytesLoaded=" + _arg1.bytesLoaded) + " bytesTotal=") + _arg1.bytesTotal)); }; } public static function loadAchievement(_arg1:String, _arg2:MFZAchievementConfig, _arg3:Object, _arg4:String, _arg5=null):void{ var resource_address = _arg1; var config = _arg2; var resource = _arg3; var username = _arg4; var debug = _arg5; Security.allowDomain("*"); _debug = debug; _config = config; _user = username; _resourceAPI = resource; if (_resource != null){ return; }; var resourceload:Loader = new Loader(); var resource_request:URLRequest = new URLRequest(resource_address); resourceload.contentLoaderInfo.addEventListener(Event.COMPLETE, _complete); resourceload.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, _security); resourceload.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, _ioerror); resourceload.contentLoaderInfo.addEventListener(HTTPStatusEvent.HTTP_STATUS, _http); resourceload.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, _progress); try { resourceload.load(resource_request); if (_debug != null){ _debug.text = "loading"; }; } catch(error) { if (_debug != null){ _debug.text = "loaderror"; }; }; } private static function _ioerror(_arg1):void{ if (_debug != null){ _debug.text = "Achievement SWF not found"; }; } public static function readyCallBack(_arg1:Function):void{ _readyFuntion = _arg1; } private static function _complete(_arg1):void{ if (_debug != null){ _debug.text = "complete"; }; _resource = _arg1.target.loader.content; _resource.resourceAPI = _resourceAPI; _resource.readyFuntion = _readyFuntion; if (_debug != null){ _debug.text = "config setup"; }; _resource.gameid = _config.gameID; _resource.test = _config.testMode; _resource.username = _user; _resource.play(); if (_debug != null){ _debug.text = "complete"; }; } public static function getAchievement():Object{ return (_resource); } private static function _security(_arg1):void{ if (_debug != null){ _debug.text = _arg1; }; } } }//package portalAPI.MoFunZoneAPI
Section 397
//MFZAchievementConfig (portalAPI.MoFunZoneAPI.MFZAchievementConfig) package portalAPI.MoFunZoneAPI { public class MFZAchievementConfig { public var testMode:Boolean; public var gameID:String; public function MFZAchievementConfig(){ gameID = ""; testMode = false; } } }//package portalAPI.MoFunZoneAPI
Section 398
//MFZDisplayConfig (portalAPI.MoFunZoneAPI.MFZDisplayConfig) package portalAPI.MoFunZoneAPI { public class MFZDisplayConfig { public var workspaceWidth:Number;// = 550 public var bringToTop:Boolean;// = false public var dialogScale:Number;// = 1 public var workspaceHeight:Number;// = 400 public var autoPosition:String;// = "cc" public function MFZDisplayConfig(){ workspaceWidth = 550; workspaceHeight = 400; autoPosition = "cc"; bringToTop = false; dialogScale = 1; } } }//package portalAPI.MoFunZoneAPI
Section 399
//MFZEasyAPI (portalAPI.MoFunZoneAPI.MFZEasyAPI) package portalAPI.MoFunZoneAPI { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class MFZEasyAPI { private static var displayconfig:MFZDisplayConfig = new MFZDisplayConfig(); private static var systemcount:Number; public static var achievementConfig:MFZAchievementConfig = achievementconfig; public static var achievementEnabled:Boolean = false; public static var displayConfig:MFZDisplayConfig = displayconfig; public static var userInfoEnabled:Boolean = false; private static var _readyCallBack:Function; private static var achievementconfig:MFZAchievementConfig = new MFZAchievementConfig(); private static var apilist:Array = new Array(); public static function success(_arg1:String):void{ if (MFZAchievement.getAchievement() != null){ MFZAchievement.success(_arg1); }; } public static function showLoginStatus():void{ if (MFZUserLogin.getUserName() != null){ MFZResource.getAPI().showLogin(); }; } public static function readyCallBack(_arg1:Function):void{ _readyCallBack = _arg1; } private static function turnOnSystem(_arg1:Class, _arg2:Object, _arg3:String):void{ apilist.push({api:_arg1, config:_arg2, file:_arg3}); } public static function configAchievement(_arg1:String, _arg2:Boolean):void{ achievementconfig = new MFZAchievementConfig(); achievementconfig.testMode = _arg2; achievementconfig.gameID = _arg1; } public static function showNotifyDialog(_arg1:String):void{ if (MFZResource.getAPI() != null){ MFZResource.getAPI().showNotifyDialog(_arg1); }; } private static function connectToSystem(_arg1:Object, _arg2:String):void{ var ready:Function; var readyGUI:Function; var maintimeline = _arg1; var guiswf = _arg2; ready = function (_arg1:Boolean):void{ systemcount++; if ((((systemcount == apilist.length)) || ((apilist.length == 0)))){ if (_readyCallBack != null){ _readyCallBack(true); }; } else { apilist[systemcount].api.loadMe(apilist[systemcount].file, apilist[systemcount].config, ready, MFZResource, MFZUserLogin); }; }; readyGUI = function (_arg1:Boolean):void{ if (_arg1){ if (apilist.length > 0){ apilist[systemcount].api.loadMe(apilist[systemcount].file, apilist[systemcount].config, ready, MFZResource, MFZUserLogin); } else { _readyCallBack(true); }; } else { _readyCallBack(false); }; }; systemcount = 0; if (displayconfig == null){ trace("MFZ GUI/Display Resource create error: call configDisplay() first"); return; }; MFZResource.readyCallBack(readyGUI); MFZResource.loadResource(guiswf, maintimeline, displayconfig); } public static function hideLoginStatus():void{ if (MFZUserLogin.getUserName() != null){ MFZResource.getAPI().hideLogin(); }; } public static function autoBring():void{ if (MFZResource.getAPI() != null){ MFZResource.getAPI().autoBring(); }; } public static function getEXP():String{ return (MFZUserLogin.getEXP()); } public static function getUserName():String{ return (MFZUserLogin.getUserName()); } public static function configDisplay(_arg1:Number, _arg2:Number, _arg3:String, _arg4:Number):void{ displayconfig = new MFZDisplayConfig(); displayconfig.workspaceWidth = _arg1; displayconfig.workspaceHeight = _arg2; displayconfig.autoPosition = _arg3; displayconfig.bringToTop = false; displayconfig.dialogScale = _arg4; } public static function downloadAPI(_arg1:Object):void{ if (displayconfig == null){ trace("API Download : Call configDisplay( ) before downloadAPI()"); return; }; if (userInfoEnabled){ MFZEasyAPI.turnOnSystem(MFZUserLogin, null, "http://www.mofunzone.com/api/as3/user_info.swf"); }; if (achievementEnabled){ if (achievementconfig != null){ MFZEasyAPI.turnOnSystem(MFZAchievement, achievementconfig, "http://www.mofunzone.com/api/as3/achievement.swf"); } else { trace("achievementEnabled : Call configAchievement() before downloadAPI()"); return; }; }; MFZEasyAPI.connectToSystem(_arg1, "http://www.mofunzone.com/api/as3/resources.swf"); } public static function stopBring():void{ if (MFZResource.getAPI() != null){ MFZResource.getAPI().stopBring(); }; } public static function getGender():String{ return (MFZUserLogin.getGender()); } } }//package portalAPI.MoFunZoneAPI
Section 400
//MFZResource (portalAPI.MoFunZoneAPI.MFZResource) package portalAPI.MoFunZoneAPI { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class MFZResource { private static var _resourceconfig:MFZDisplayConfig; private static var _resource:MovieClip = null; private static var _topleveltimeline:Object; private static var _debug:Object; private static var _readyFuntion:Function = null; private static var _intervalId:uint; private static function _ioerror(_arg1):void{ if (_debug != null){ _debug.text = "Achievement SWF not found"; }; if (_readyFuntion != null){ _readyFuntion(false); }; } public static function getAPI():MovieClip{ return (_resource); } private static function _security(_arg1):void{ if (_debug != null){ _debug.text = _arg1; }; if (_readyFuntion != null){ _readyFuntion(false); }; } private static function _progress(_arg1):void{ if (_debug != null){ _debug.text = (_debug.text + ((("progressHandler: bytesLoaded=" + _arg1.bytesLoaded) + " bytesTotal=") + _arg1.bytesTotal)); }; } private static function _http(_arg1):void{ if (_debug != null){ _debug.text = ("httpstatus: " + _arg1.status); }; } public static function readyCallBack(_arg1:Function):void{ _readyFuntion = _arg1; } private static function _complete(_arg1):void{ var status_loop:Function; var e = _arg1; status_loop = function ():void{ if (_debug != null){ _debug.text = "ready"; }; if (_readyFuntion != null){ _readyFuntion(true); }; clearInterval(_intervalId); }; if (_debug != null){ _debug.text = "complete"; }; _resource = _topleveltimeline.addChild(e.target.loader.content); _resource.screenwidth = _resourceconfig.workspaceWidth; _resource.screenheight = _resourceconfig.workspaceHeight; _resource.dialogpositionmode = _resourceconfig.autoPosition; _resource.dialogscale = _resourceconfig.dialogScale; _resource.bring = _resourceconfig.bringToTop; if (_debug != null){ _debug.text = "config setup"; }; _resource.play(); if (_debug != null){ _debug.text = "complete"; }; _intervalId = setInterval(status_loop, 1000); } public static function loadResource(_arg1:String, _arg2:Object, _arg3:MFZDisplayConfig, _arg4=null):void{ var resource_address = _arg1; var topleveltimeline = _arg2; var config = _arg3; var debug = _arg4; Security.allowDomain("*"); _debug = debug; if (_resource != null){ return; }; var resourceload:Loader = new Loader(); var resource_request:URLRequest = new URLRequest(resource_address); _resourceconfig = config; _topleveltimeline = topleveltimeline; resourceload.contentLoaderInfo.addEventListener(Event.COMPLETE, _complete); resourceload.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, _security); resourceload.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, _ioerror); resourceload.contentLoaderInfo.addEventListener(HTTPStatusEvent.HTTP_STATUS, _http); resourceload.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, _progress); try { resourceload.load(resource_request); if (_debug != null){ _debug.text = "loading"; }; } catch(error) { if (_debug != null){ _debug.text = "loaderror"; }; }; } } }//package portalAPI.MoFunZoneAPI
Section 401
//MFZUserLogin (portalAPI.MoFunZoneAPI.MFZUserLogin) package portalAPI.MoFunZoneAPI { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class MFZUserLogin { private static var _resource:MovieClip = null; private static var _readyFuntion:Function = null; private static var _debug:Object; private static var _resourceAPI:Object; public static function readyCallBack(_arg1:Function){ _readyFuntion = _arg1; } private static function _ioerror(_arg1):void{ trace("USER file not found."); if (_debug != null){ _debug.text = "Achievement SWF not found"; }; } public static function loadMe(_arg1:String, _arg2:Object, _arg3:Function, ... _args):void{ readyCallBack(_arg3); MFZUserLogin.loadUserName(_arg1, _args[0].getAPI()); } public static function getEXP(){ if (_resource != null){ return (_resource.exp); }; return (null); } public static function loadUserName(_arg1:String, _arg2:Object, _arg3=null):void{ var resource_address = _arg1; var resource = _arg2; var debug = _arg3; Security.allowDomain("*"); _debug = debug; if (_resource != null){ return; }; var resourceload:Loader = new Loader(); var resource_request:URLRequest = new URLRequest(resource_address); _resourceAPI = resource; resourceload.contentLoaderInfo.addEventListener(Event.COMPLETE, _complete); resourceload.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, _security); resourceload.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, _ioerror); resourceload.contentLoaderInfo.addEventListener(HTTPStatusEvent.HTTP_STATUS, _http); resourceload.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, _progress); try { resourceload.load(resource_request); if (_debug != null){ _debug.text = "loading"; }; } catch(error) { trace("USER file not found."); if (_debug != null){ _debug.text = "loaderror"; }; }; } public static function getUserName(){ if (_resource != null){ return (_resource.username); }; return (null); } private static function _http(_arg1):void{ if (_debug != null){ _debug.text = ("httpstatus: " + _arg1.status); }; } private static function _progress(_arg1):void{ if (_debug != null){ _debug.text = (_debug.text + ((("progressHandler: bytesLoaded=" + _arg1.bytesLoaded) + " bytesTotal=") + _arg1.bytesTotal)); }; } public static function getGender(){ if (_resource != null){ return (_resource.gender); }; return (null); } private static function _complete(_arg1):void{ if (_debug != null){ _debug.text = "complete"; }; _resource = _arg1.target.loader.content; _resource.resourceAPI = _resourceAPI; _resource.readyFuntion = _readyFuntion; if (_debug != null){ _debug.text = "config setup"; }; _resource.play(); if (_debug != null){ _debug.text = "complete"; }; } private static function _security(_arg1):void{ trace("USER Security block"); if (_debug != null){ _debug.text = _arg1; }; } } }//package portalAPI.MoFunZoneAPI
Section 402
//ArmorGames (portalAPI.ArmorGames) package portalAPI { import flash.events.*; import flash.display.*; import flash.net.*; import flash.system.*; public class ArmorGames { private static var sRoot:MovieClip = null; private static var ArmorGamesAPI = null; private static var sGameKey:String = ""; private static var sDevKey:String = "ba654fd587fc4631d74e2f04209e9c3c"; public static function ShowLeaderboard():void{ if (ArmorGamesAPI == null){ return; }; ArmorGamesAPI.initAGUI({onClose:closeHandler}); sRoot.addChild(ArmorGamesAPI); var _local1:Object = new Object(); _local1.format = "custom"; _local1.customFormatCallback = formatScores; _local1.descending = false; ArmorGamesAPI.showScoreboardList([_local1]); } private static function formatScores(_arg1:Number):String{ return (timeMilli(_arg1)); } public static function SubmitScore(_arg1:Number, _arg2:String=null):void{ if (ArmorGamesAPI == null){ return; }; sRoot.addChild(ArmorGamesAPI); var _local3:Object = new Object(); _local3.format = "custom"; _local3.customFormatCallback = formatScores; _local3.descending = false; ArmorGamesAPI.showScoreboardSubmit(_arg1, null, null, [_local3]); } private static function timeMilli(_arg1:Number, _arg2:uint=3):String{ if (_arg2 > 3){ _arg2 = 3; }; var _local3:Number = 0; var _local4:Number = (_arg1 / 3600000); _local3 = (_local4 - int(_local4)); _local4 = int(_local4); var _local5:Number = (_local3 * 60); _local3 = (_local5 - int(_local5)); _local5 = int(_local5); var _local6:Number = (_local3 * 60); _local3 = (_local6 - int(_local6)); _local6 = int(_local6); var _local7:Number = (_local3 * 1000); _local3 = (_local7 - int(_local7)); _local7 = int(_local7); if ((((_local7 < 0)) || (isNaN(_local7)))){ return (("00:" + String("000").substring(0, _arg2))); }; var _local8:String = ((_local4 < 10)) ? ("0" + _local4) : ("" + _local4); var _local9:String = ((_local5 < 10)) ? ("0" + _local5) : ("" + _local5); var _local10:String = ((_local6 < 10)) ? ("0" + _local6) : ("" + _local6); if (_local4 > 0){ return (((((_local8 + ":") + _local9) + ":") + _local10)); }; if (_local5 > 0){ return (((("00:" + _local9) + ":") + _local10)); }; return (("00:00:" + _local10)); } private static function closeHandler():void{ } public static function Initialize(_arg1, _arg2:String):void{ var _local3:String; var _local4:URLRequest; var _local5:Loader; sRoot = _arg1; sGameKey = _arg2; if (ArmorGamesAPI == null){ _local3 = "http://agi.armorgames.com/assets/agi/AGI.swf"; Security.allowDomain(_local3); Security.allowInsecureDomain(_local3); _local4 = new URLRequest(_local3); _local5 = new Loader(); _local5.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); _local5.load(_local4); }; } private static function loadComplete(_arg1:Event):void{ ArmorGamesAPI = _arg1.currentTarget.content; sRoot.addChild(ArmorGamesAPI); ArmorGamesAPI.init(sDevKey, sGameKey); } } }//package portalAPI
Section 403
//KongregateServices (portalAPI.KongregateServices) package portalAPI { import flash.events.*; import flash.display.*; import flash.net.*; public class KongregateServices { private static var kongregateAPI = null; public static function Initialize(_arg1):void{ if (kongregateAPI != null){ return; }; var _local2:Object = LoaderInfo(_arg1.loaderInfo).parameters; var _local3:String = ((_local2.api_path) || ("http://www.kongregate.com/flash/API_AS3_Local.swf")); trace(("Kongregate API path: " + _local3)); var _local4:URLRequest = new URLRequest(_local3); var _local5:Loader = new Loader(); _local5.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete, false, 0, true); _local5.load(_local4); _arg1.addChild(_local5); } private static function loadComplete(_arg1:Event):void{ kongregateAPI = _arg1.target.content; kongregateAPI.services.connect(); trace(("\n" + kongregateAPI.services)); trace(("\n" + kongregateAPI.user)); trace(("\n" + kongregateAPI.scores)); trace(("\n" + kongregateAPI.stats)); } public static function SubmitScore(_arg1:Number, _arg2:String=null):void{ if (kongregateAPI == null){ return; }; SubmitStat("Score", _arg1); } public static function SubmitStat(_arg1:String, _arg2:Number):void{ if (kongregateAPI == null){ return; }; kongregateAPI.stats.submit(_arg1, _arg2); } } }//package portalAPI
Section 404
//MindJoltAPI (portalAPI.MindJoltAPI) package portalAPI { import flash.events.*; import flash.display.*; import flash.net.*; import flash.system.*; public class MindJoltAPI { private static var callback:Function; private static var gameKey:String; private static var clip:MovieClip; private static var sPlayAgainFunction:Function = null; public static var service:Object = {connect:load_service}; private static var version:String = "1.0.3"; private static var options:Object; public static var ad:Object = {showPreGameAd:showPreGameAd}; private static var sPrerollFinishedCallback:Function = null; private static var sRoot:MovieClip = null; private static function load_service_complete(_arg1:Event):void{ if (((!((_arg1.currentTarget.content == null))) && (!((_arg1.currentTarget.content.service == null))))){ service = _arg1.currentTarget.content.service; trace("[MindJoltAPI] service successfully loaded"); service.connect(gameKey, clip, callback); if (options != null){ service.showPreGameAd(options); }; service.getLogger().info((("MindJoltAPI loader version [" + version) + "]")); } else { trace("[MindJoltAPI] failed to load"); }; } public static function SetPlayAgainFunction(_arg1:Function):void{ sPlayAgainFunction = _arg1; } private static function load_service(_arg1:String, _arg2:MovieClip, _arg3:Function=null):void{ var _local4:Object; var _local5:Loader; MindJoltAPI.gameKey = _arg1; MindJoltAPI.clip = _arg2; MindJoltAPI.callback = _arg3; if (service.submitScore == null){ Security.allowDomain("static.mindjolt.com"); _local4 = LoaderInfo(_arg2.root.loaderInfo).parameters; _local5 = new Loader(); _local5.contentLoaderInfo.addEventListener(Event.COMPLETE, load_service_complete); _local5.load(new URLRequest(((_local4.mjPath) || ("http://static.mindjolt.com/api/as3/api_local_as3.swf")))); _arg2.addChild(_local5); }; } public static function Initialize(_arg1, _arg2:String, _arg3:Function):void{ sRoot = _arg1; sPrerollFinishedCallback = _arg3; MindJoltAPI.service.connect(_arg2, sRoot, loadComplete); } public static function SubmitScore(_arg1:Number, _arg2:String=null):void{ if (service == null){ trace("MindJoltAPI has not been initialized yet!"); return; }; if (_arg2 != null){ MindJoltAPI.service.submitScore(_arg1, _arg2, sPlayAgainFunction); } else { MindJoltAPI.service.submitScore(_arg1, null, sPlayAgainFunction); }; } public static function showPreGameAd(_arg1:Object=null):void{ if (clip == null){ trace("[MindJoltAPI] You must call MindJoltAPI.service.connect before MindJoltAPI.ad.showPreGameAd."); }; if (_arg1 == null){ _arg1 = {}; }; if (service.showPreGameAd != undefined){ service.showPreGameAd(_arg1); } else { MindJoltAPI.options = _arg1; if ((((_arg1["ad_started"] == null)) && (!((_arg1["clip"] == null))))){ _arg1["clip"].stop(); }; }; } private static function loadComplete(_arg1:Boolean):void{ MindJoltAPI.showPreGameAd({clip:sRoot, ad_finished:sPrerollFinishedCallback}); } } }//package portalAPI
Section 405
//MoFunZone (portalAPI.MoFunZone) package portalAPI { import portalAPI.MoFunZoneAPI.*; import game.*; public class MoFunZone { private static var mofunzoneAPI = null; private static var mPendingShowUsernameRequest:Boolean = false; public static function Initialize(_arg1, _arg2:int, _arg3:int, _arg4:String):void{ MFZEasyAPI.displayConfig.workspaceWidth = _arg2; MFZEasyAPI.displayConfig.workspaceHeight = _arg3; MFZEasyAPI.displayConfig.autoPosition = "cc"; MFZEasyAPI.displayConfig.dialogScale = 1; MFZEasyAPI.userInfoEnabled = true; MFZEasyAPI.achievementEnabled = true; MFZEasyAPI.achievementConfig.gameID = _arg4; MFZEasyAPI.achievementConfig.testMode = !(DeploymentSettings.sDeploymentBuild); MFZEasyAPI.readyCallBack(readyCallBack); MFZEasyAPI.downloadAPI(_arg1); } public static function ShowUsername():void{ mPendingShowUsernameRequest = true; MFZEasyAPI.showLoginStatus(); mPendingShowUsernameRequest = false; } public static function SubmitAchievement(_arg1:String):void{ MFZEasyAPI.success(_arg1); } private static function readyCallBack(_arg1:Boolean):void{ if (((mPendingShowUsernameRequest) && (_arg1))){ ShowUsername(); }; } public static function HideUsername():void{ mPendingShowUsernameRequest = false; MFZEasyAPI.hideLoginStatus(); } } }//package portalAPI
Section 406
//DomainCheck (security.DomainCheck) package security { import flash.net.*; public class DomainCheck { private static var sAllowAllDomains:Boolean = false; private static var sAdExemptList:Array; private static var sHighscoreDomainsList:Array; private static var sAllowedDomainsList:Array; private static var sBlockLocalhost:Boolean = false; public static function SetHighscoreDomains(_arg1:Array):void{ sHighscoreDomainsList = _arg1; } public static function SetAllowedDomains(_arg1:Array):void{ sAllowedDomainsList = _arg1; } public static function SetAdExemptDomains(_arg1:Array):void{ sAdExemptList = _arg1; } public static function IsAdExempt():Boolean{ var _local3:Number; var _local1:LocalConnection = new LocalConnection(); var _local2:String = _local1.domain; if (sAdExemptList == null){ return (false); }; _local3 = 0; while (_local3 < sAdExemptList.length) { if (_local2 == sAdExemptList[_local3]){ return (true); }; _local3++; }; _local3 = 0; while (_local3 < sAdExemptList.length) { if (_local2.substr(-((sAdExemptList[_local3].length + 1))) == ("." + sAdExemptList[_local3])){ return (true); }; _local3++; }; return (false); } public static function BlockLocalhost(_arg1:Boolean):void{ sBlockLocalhost = _arg1; } public static function isCurrentDomainAllowed():Boolean{ var _local3:Number; var _local1:LocalConnection = new LocalConnection(); var _local2:String = _local1.domain; if (_local2 == "localhost"){ return (!(sBlockLocalhost)); }; if (sAllowAllDomains){ return (true); }; if (sAllowedDomainsList == null){ return (false); }; _local3 = 0; while (_local3 < sAllowedDomainsList.length) { if (_local2 == sAllowedDomainsList[_local3]){ return (true); }; _local3++; }; _local3 = 0; while (_local3 < sAllowedDomainsList.length) { if (_local2.substr(-((sAllowedDomainsList[_local3].length + 1))) == ("." + sAllowedDomainsList[_local3])){ return (true); }; _local3++; }; return (false); } public static function CanSubmitHighscores():Boolean{ var _local3:Number; var _local1:LocalConnection = new LocalConnection(); var _local2:String = _local1.domain; if (sHighscoreDomainsList == null){ return (false); }; _local3 = 0; while (_local3 < sHighscoreDomainsList.length) { if (_local2 == sHighscoreDomainsList[_local3]){ return (true); }; _local3++; }; _local3 = 0; while (_local3 < sHighscoreDomainsList.length) { if (_local2.substr(-((sHighscoreDomainsList[_local3].length + 1))) == ("." + sHighscoreDomainsList[_local3])){ return (true); }; _local3++; }; return (false); } public static function AllowAllDomains(_arg1:Boolean):void{ sAllowAllDomains = _arg1; } } }//package security
Section 407
//MemoryCrypto (security.MemoryCrypto) package security { public class MemoryCrypto { private static var crypto:TEA = null; private static var INCREMENT:Number = 0; private static var initialized:Boolean = false; private static var key:String = null; private static var MULTIPLY:Number = 2; private static var DECREMENT:Number = 1; private static var dataHolder:Object = null; private static var DIVIDE:Number = 3; public static function getString(_arg1:String):String{ initIfNeeded(); var _local2 = ""; if (isValueSet(_arg1)){ _local2 = crypto.decrypt(dataHolder[_arg1], key); }; return (_local2); } public static function incrementValue(_arg1:String, _arg2:Number):Number{ return (processValue(_arg1, _arg2, INCREMENT)); } public static function isValueSet(_arg1:String):Boolean{ initIfNeeded(); var _local2:Boolean; if (dataHolder[_arg1] != null){ _local2 = true; }; return (_local2); } private static function processValue(_arg1:String, _arg2:Number, _arg3:Number):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 setString(_arg1:String, _arg2:String):String{ initIfNeeded(); dataHolder[_arg1] = crypto.encrypt(_arg2, key); return (_arg2); } 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 = _local1.toString(); _local2 = _local2.substr(2, (_local2.length - 2)); _local3 = Math.random(); _local4 = _local3.toString(); _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 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); } } }//package security
Section 408
//SHA1Hash (security.SHA1Hash) package security { public class SHA1Hash { private static function rotate_left(_arg1:int, _arg2:int):int{ var _local3 = ((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))); return (_local3); } private static function cvt_hex(_arg1:int):String{ var _local3:int; var _local4:int; var _local2 = ""; _local3 = 7; while (_local3 >= 0) { _local4 = ((_arg1 >>> (_local3 * 4)) & 15); _local2 = (_local2 + _local4.toString(16)); _local3--; }; return (_local2); } public static function SHA1(_arg1:String):String{ var _local2:int; var _local3:int; var _local10:int; var _local11:int; var _local12:int; var _local13:int; var _local14:int; var _local15:int; var _local4:Array = new Array(80); var _local5 = 1732584193; var _local6:int = 4023233417; var _local7:int = 2562383102; var _local8 = 271733878; var _local9:int = 3285377520; _arg1 = Utf8Encode(_arg1); var _local16:int = _arg1.length; var _local17:Array = new Array(); _local2 = 0; while (_local2 < (_local16 - 3)) { _local3 = ((((_arg1.charCodeAt(_local2) << 24) | (_arg1.charCodeAt((_local2 + 1)) << 16)) | (_arg1.charCodeAt((_local2 + 2)) << 8)) | _arg1.charCodeAt((_local2 + 3))); _local17.push(_local3); _local2 = (_local2 + 4); }; switch ((_local16 % 4)){ case 0: _local2 = 2147483648; break; case 1: _local2 = ((_arg1.charCodeAt((_local16 - 1)) << 24) | 0x800000); break; case 2: _local2 = (((_arg1.charCodeAt((_local16 - 2)) << 24) | (_arg1.charCodeAt((_local16 - 1)) << 16)) | 0x8000); break; case 3: _local2 = ((((_arg1.charCodeAt((_local16 - 3)) << 24) | (_arg1.charCodeAt((_local16 - 2)) << 16)) | (_arg1.charCodeAt((_local16 - 1)) << 8)) | 128); break; }; _local17.push(_local2); while ((_local17.length % 16) != 14) { _local17.push(0); }; _local17.push((_local16 >>> 29)); _local17.push(((_local16 << 3) & 4294967295)); var _local18:int; while (_local18 < _local17.length) { _local2 = 0; while (_local2 < 16) { _local4[_local2] = _local17[(_local18 + _local2)]; _local2++; }; _local2 = 16; while (_local2 <= 79) { _local4[_local2] = rotate_left((((_local4[(_local2 - 3)] ^ _local4[(_local2 - 8)]) ^ _local4[(_local2 - 14)]) ^ _local4[(_local2 - 16)]), 1); _local2++; }; _local10 = _local5; _local11 = _local6; _local12 = _local7; _local13 = _local8; _local14 = _local9; _local2 = 0; while (_local2 <= 19) { _local15 = (((((rotate_left(_local10, 5) + ((_local11 & _local12) | (~(_local11) & _local13))) + _local14) + _local4[_local2]) + 1518500249) & 4294967295); _local14 = _local13; _local13 = _local12; _local12 = rotate_left(_local11, 30); _local11 = _local10; _local10 = _local15; _local2++; }; _local2 = 20; while (_local2 <= 39) { _local15 = (((((rotate_left(_local10, 5) + ((_local11 ^ _local12) ^ _local13)) + _local14) + _local4[_local2]) + 1859775393) & 4294967295); _local14 = _local13; _local13 = _local12; _local12 = rotate_left(_local11, 30); _local11 = _local10; _local10 = _local15; _local2++; }; _local2 = 40; while (_local2 <= 59) { _local15 = (((((rotate_left(_local10, 5) + (((_local11 & _local12) | (_local11 & _local13)) | (_local12 & _local13))) + _local14) + _local4[_local2]) + 2400959708) & 4294967295); _local14 = _local13; _local13 = _local12; _local12 = rotate_left(_local11, 30); _local11 = _local10; _local10 = _local15; _local2++; }; _local2 = 60; while (_local2 <= 79) { _local15 = (((((rotate_left(_local10, 5) + ((_local11 ^ _local12) ^ _local13)) + _local14) + _local4[_local2]) + 3395469782) & 4294967295); _local14 = _local13; _local13 = _local12; _local12 = rotate_left(_local11, 30); _local11 = _local10; _local10 = _local15; _local2++; }; _local5 = ((_local5 + _local10) & 4294967295); _local6 = ((_local6 + _local11) & 4294967295); _local7 = ((_local7 + _local12) & 4294967295); _local8 = ((_local8 + _local13) & 4294967295); _local9 = ((_local9 + _local14) & 4294967295); _local18 = (_local18 + 16); }; var _local19:String = ((((cvt_hex(_local5) + cvt_hex(_local6)) + cvt_hex(_local7)) + cvt_hex(_local8)) + cvt_hex(_local9)); return (_local19.toLowerCase()); } private static function Utf8Encode(_arg1:String):String{ var _local4:int; var _local2 = ""; var _local3:int; while (_local3 < _arg1.length) { _local4 = _arg1.charCodeAt(_local3); if (_local4 < 128){ _local2 = (_local2 + String.fromCharCode(_local4)); } else { if ((((_local4 > 127)) && ((_local4 < 0x0800)))){ _local2 = (_local2 + String.fromCharCode(((_local4 >> 6) | 192))); _local2 = (_local2 + String.fromCharCode(((_local4 & 63) | 128))); } else { _local2 = (_local2 + String.fromCharCode(((_local4 >> 12) | 224))); _local2 = (_local2 + String.fromCharCode((((_local4 >> 6) & 63) | 128))); _local2 = (_local2 + String.fromCharCode(((_local4 & 63) | 128))); }; }; _local3++; }; return (_local2); } private static function lsb_hex(_arg1:int):String{ var _local3:int; var _local4:int; var _local5:int; var _local2 = ""; _local3 = 0; while (_local3 <= 6) { _local4 = ((_arg1 >>> ((_local3 * 4) + 4)) & 15); _local5 = ((_arg1 >>> (_local3 * 4)) & 15); _local2 = (_local2 + (_local4.toString(16) + _local5.toString(16))); _local3 = (_local3 + 2); }; return (_local2); } } }//package security
Section 409
//TEA (security.TEA) package security { 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) { if (_arg1[_local3] != 0){ _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 security
Section 410
//AchievementEarned (AchievementEarned) package { import flash.display.*; public dynamic class AchievementEarned extends MovieClip { } }//package
Section 411
//AchievementIcon1 (AchievementIcon1) package { import flash.display.*; public dynamic class AchievementIcon1 extends MovieClip { public function AchievementIcon1(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 412
//AchievementIcon2 (AchievementIcon2) package { import flash.display.*; public dynamic class AchievementIcon2 extends MovieClip { public function AchievementIcon2(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 413
//AchievementIcon3 (AchievementIcon3) package { import flash.display.*; public dynamic class AchievementIcon3 extends MovieClip { public function AchievementIcon3(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 414
//AchievementIcon4 (AchievementIcon4) package { import flash.display.*; public dynamic class AchievementIcon4 extends MovieClip { public function AchievementIcon4(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 415
//AchievementIcon5 (AchievementIcon5) package { import flash.display.*; public dynamic class AchievementIcon5 extends MovieClip { public function AchievementIcon5(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 416
//AchievementIcon6 (AchievementIcon6) package { import flash.display.*; public dynamic class AchievementIcon6 extends MovieClip { public function AchievementIcon6(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 417
//AchievementIncomplete (AchievementIncomplete) package { import flash.display.*; public dynamic class AchievementIncomplete extends MovieClip { } }//package
Section 418
//AchievementsDisplay_Blank (AchievementsDisplay_Blank) package { import achievements.*; public dynamic class AchievementsDisplay_Blank extends AchievementsDisplay { } }//package
Section 419
//AchievementsOverlay_MovieClip (AchievementsOverlay_MovieClip) package { import flash.display.*; import flash.text.*; public dynamic class AchievementsOverlay_MovieClip extends MovieClip { public var tfFinalScore:TextField; public var mcAchievements:AchievementsDisplay_Blank; public var btnBack:SimpleButton; } }//package
Section 420
//ArmorGamesSplash (ArmorGamesSplash) package { import flash.display.*; public dynamic class ArmorGamesSplash extends MovieClip { public function ArmorGamesSplash(){ addFrameScript(217, frame218); } function frame218(){ } } }//package
Section 421
//AsILayDying (AsILayDying) package { import main.*; public class AsILayDying extends MainLoop { } }//package
Section 422
//CreditsScreen_MovieClip (CreditsScreen_MovieClip) package { import flash.display.*; import flash.text.*; public dynamic class CreditsScreen_MovieClip extends MovieClip { public var btnLicenseOptions:SimpleButton; public var tfVersion:TextField; public var btnBack:SimpleButton; } }//package
Section 423
//CustomLoadBar (CustomLoadBar) package { import flash.display.*; public dynamic class CustomLoadBar extends MovieClip { } }//package
Section 424
//LoadBar_MovieClip (LoadBar_MovieClip) package { import flash.display.*; import flash.text.*; public dynamic class LoadBar_MovieClip extends MovieClip { public var mcLoadBarFill:MovieClip; public var tfLoadingText:TextField; public var tfPercentLoaded:TextField; } }//package
Section 425
//MainMenu_MovieClip (MainMenu_MovieClip) package { import flash.display.*; import flash.text.*; public dynamic class MainMenu_MovieClip extends MovieClip { public var btnContinue:SimpleButton; public var btnStartNewGame1:SimpleButton; public var btnSponsor1:SimpleButton; public var btnArmorGamesLeaderboard:SimpleButton; public var tfVersion:TextField; public var btnAchievements:SimpleButton; public var tfLockedMessage:TextField; public var btnLockedPlay:SimpleButton; public var btnCredits:SimpleButton; } }//package
Section 426
//MenuSounds (MenuSounds) package { import flash.display.*; public dynamic class MenuSounds extends MovieClip { public function MenuSounds(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 427
//MochiLeaderboardScreen_MovieClip (MochiLeaderboardScreen_MovieClip) package { import flash.display.*; import flash.text.*; public dynamic class MochiLeaderboardScreen_MovieClip extends MovieClip { public var tfFinalScore:TextField; public var btnBack:SimpleButton; } }//package
Section 428
//MusicButton_MovieClip (MusicButton_MovieClip) package { import flash.display.*; public dynamic class MusicButton_MovieClip extends MovieClip { public function MusicButton_MovieClip(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 429
//sfxButtonDown (sfxButtonDown) package { import flash.media.*; public dynamic class sfxButtonDown extends Sound { } }//package
Section 430
//sfxButtonOver (sfxButtonOver) package { import flash.media.*; public dynamic class sfxButtonOver extends Sound { } }//package
Section 431
//SoundEffectsButton_MovieClip (SoundEffectsButton_MovieClip) package { import flash.display.*; public dynamic class SoundEffectsButton_MovieClip extends MovieClip { public function SoundEffectsButton_MovieClip(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package

Library Items

Symbol 1 MovieClip {CustomLoadBar} [CustomLoadBar]
Symbol 2 GraphicUsed by:3
Symbol 3 MovieClipUses:2Used by:10
Symbol 4 GraphicUsed by:10
Symbol 5 GraphicUsed by:6
Symbol 6 MovieClipUses:5Used by:10
Symbol 7 FontUsed by:8 9 50 51 64 65 66 115 128 162 163
Symbol 8 EditableTextUses:7Used by:10
Symbol 9 EditableTextUses:7Used by:10
Symbol 10 MovieClip {LoadBar_MovieClip} [LoadBar_MovieClip]Uses:3 4 6 8 9
Symbol 11 GraphicUsed by:12
Symbol 12 ButtonUses:11Used by:26
Symbol 13 GraphicUsed by:26
Symbol 14 GraphicUsed by:26
Symbol 15 GraphicUsed by:26
Symbol 16 GraphicUsed by:17
Symbol 17 MovieClipUses:16Used by:26
Symbol 18 GraphicUsed by:26
Symbol 19 SoundUsed by:26
Symbol 20 SoundUsed by:26
Symbol 21 SoundUsed by:26
Symbol 22 SoundUsed by:26
Symbol 23 SoundUsed by:26
Symbol 24 SoundUsed by:26
Symbol 25 SoundUsed by:26
Symbol 26 MovieClip {ArmorGamesSplash} [ArmorGamesSplash]Uses:12 13 14 15 17 18 19 20 21 22 23 24 25
Symbol 27 Sound {org.flixel.FlxGame_SndBeep} [org.flixel.FlxGame_SndBeep]
Symbol 28 Sound {org.flixel.FlxGame_SndFlixel} [org.flixel.FlxGame_SndFlixel]
Symbol 29 Sound {game.CorpseGame_ChristieOuch4Sound} [game.CorpseGame_ChristieOuch4Sound]
Symbol 30 Sound {game.CorpseGame_ChristieEwSound} [game.CorpseGame_ChristieEwSound]
Symbol 31 Sound {game.CorpseGame_ChristieThrowHeavySound} [game.CorpseGame_ChristieThrowHeavySound]
Symbol 32 Sound {game.CorpseGame_ChristieThrowLightSound} [game.CorpseGame_ChristieThrowLightSound]
Symbol 33 Sound {game.CorpseGame_ChristieGreatSound} [game.CorpseGame_ChristieGreatSound]
Symbol 34 Sound {game.CorpseGame_ChristieJump1Sound} [game.CorpseGame_ChristieJump1Sound]
Symbol 35 Sound {game.CorpseGame_ChristiePickUpHeavySound} [game.CorpseGame_ChristiePickUpHeavySound]
Symbol 36 Sound {game.CorpseGame_ChristieJump2Sound} [game.CorpseGame_ChristieJump2Sound]
Symbol 37 Sound {game.CorpseGame_ChristieOuch2Sound} [game.CorpseGame_ChristieOuch2Sound]
Symbol 38 Sound {game.CorpseGame_ChristieGrossSound} [game.CorpseGame_ChristieGrossSound]
Symbol 39 Sound {game.CorpseGame_ChristieOuch3Sound} [game.CorpseGame_ChristieOuch3Sound]
Symbol 40 Sound {game.CorpseGame_ChristieTakeThatSound} [game.CorpseGame_ChristieTakeThatSound]
Symbol 41 Sound {game.CorpseGame_ChristieOuch1Sound} [game.CorpseGame_ChristieOuch1Sound]
Symbol 42 BitmapUsed by:43
Symbol 43 GraphicUses:42Used by:52 116
Symbol 44 BitmapUsed by:45
Symbol 45 GraphicUses:44Used by:49
Symbol 46 BitmapUsed by:47
Symbol 47 GraphicUses:46Used by:49
Symbol 48 GraphicUsed by:49 63 136 141 146 151 156 161 164
Symbol 49 ButtonUses:45 47 48Used by:52 68 116
Symbol 50 EditableTextUses:7Used by:52
Symbol 51 EditableTextUses:7Used by:52
Symbol 52 MovieClip {MochiLeaderboardScreen_MovieClip} [MochiLeaderboardScreen_MovieClip]Uses:43 49 50 51
Symbol 53 BitmapUsed by:54
Symbol 54 GraphicUses:53Used by:68
Symbol 55 FontUsed by:56 57 58 59 60 104 106 108 112
Symbol 56 TextUses:55Used by:68
Symbol 57 TextUses:55Used by:68
Symbol 58 TextUses:55Used by:68
Symbol 59 TextUses:55Used by:68
Symbol 60 TextUses:55Used by:68
Symbol 61 FontUsed by:62 67 87 105 107 109 110 111 113 165
Symbol 62 TextUses:61Used by:63
Symbol 63 ButtonUses:62 48Used by:68
Symbol 64 TextUses:7Used by:68
Symbol 65 TextUses:7Used by:68
Symbol 66 TextUses:7Used by:68
Symbol 67 EditableTextUses:61Used by:68 171
Symbol 68 MovieClip {CreditsScreen_MovieClip} [CreditsScreen_MovieClip]Uses:54 49 56 57 58 59 60 63 64 65 66 67
Symbol 69 BitmapUsed by:70
Symbol 70 GraphicUses:69Used by:73
Symbol 71 BitmapUsed by:72
Symbol 72 GraphicUses:71Used by:73
Symbol 73 MovieClip {AchievementIcon1} [AchievementIcon1]Uses:70 72Used by:114
Symbol 74 BitmapUsed by:75
Symbol 75 GraphicUses:74Used by:78
Symbol 76 BitmapUsed by:77
Symbol 77 GraphicUses:76Used by:78
Symbol 78 MovieClip {AchievementIcon2} [AchievementIcon2]Uses:75 77Used by:114
Symbol 79 BitmapUsed by:80
Symbol 80 GraphicUses:79Used by:83
Symbol 81 BitmapUsed by:82
Symbol 82 GraphicUses:81Used by:83
Symbol 83 MovieClip {AchievementIcon3} [AchievementIcon3]Uses:80 82Used by:114
Symbol 84 BitmapUsed by:85
Symbol 85 GraphicUses:84Used by:86
Symbol 86 MovieClip {AchievementEarned} [AchievementEarned]Uses:85Used by:114
Symbol 87 TextUses:61Used by:88
Symbol 88 MovieClip {AchievementIncomplete} [AchievementIncomplete]Uses:87Used by:114
Symbol 89 BitmapUsed by:90
Symbol 90 GraphicUses:89Used by:93
Symbol 91 BitmapUsed by:92
Symbol 92 GraphicUses:91Used by:93
Symbol 93 MovieClip {AchievementIcon4} [AchievementIcon4]Uses:90 92Used by:114
Symbol 94 BitmapUsed by:95
Symbol 95 GraphicUses:94Used by:98
Symbol 96 BitmapUsed by:97
Symbol 97 GraphicUses:96Used by:98
Symbol 98 MovieClip {AchievementIcon5} [AchievementIcon5]Uses:95 97Used by:114
Symbol 99 BitmapUsed by:100
Symbol 100 GraphicUses:99Used by:103
Symbol 101 BitmapUsed by:102
Symbol 102 GraphicUses:101Used by:103
Symbol 103 MovieClip {AchievementIcon6} [AchievementIcon6]Uses:100 102Used by:114
Symbol 104 EditableTextUses:55Used by:114
Symbol 105 EditableTextUses:61Used by:114
Symbol 106 EditableTextUses:55Used by:114
Symbol 107 EditableTextUses:61Used by:114
Symbol 108 EditableTextUses:55Used by:114
Symbol 109 EditableTextUses:61Used by:114
Symbol 110 EditableTextUses:61Used by:114
Symbol 111 EditableTextUses:61Used by:114
Symbol 112 EditableTextUses:55Used by:114
Symbol 113 EditableTextUses:61Used by:114
Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank]Uses:73 78 83 86 88 93 98 103 104 105 106 107 108 109 110 111 112 113Used by:116
Symbol 115 EditableTextUses:7Used by:116
Symbol 116 MovieClip {AchievementsOverlay_MovieClip} [AchievementsOverlay_MovieClip]Uses:43 49 114 115
Symbol 117 BitmapUsed by:118
Symbol 118 GraphicUses:117Used by:121
Symbol 119 BitmapUsed by:120 174
Symbol 120 GraphicUses:119Used by:121
Symbol 121 MovieClip {SoundEffectsButton_MovieClip} [SoundEffectsButton_MovieClip]Uses:118 120
Symbol 122 BitmapUsed by:123
Symbol 123 GraphicUses:122Used by:171
Symbol 124 FontUsed by:125
Symbol 125 TextUses:124Used by:171
Symbol 126 FontUsed by:127
Symbol 127 TextUses:126Used by:171
Symbol 128 TextUses:7Used by:171
Symbol 129 GraphicUsed by:136
Symbol 130 BitmapUsed by:131
Symbol 131 GraphicUses:130Used by:132
Symbol 132 MovieClipUses:131Used by:136
Symbol 133 GraphicUsed by:136
Symbol 134 GraphicUsed by:135
Symbol 135 MovieClipUses:134Used by:136
Symbol 136 ButtonUses:129 132 133 135 48Used by:171
Symbol 137 BitmapUsed by:138
Symbol 138 GraphicUses:137Used by:141
Symbol 139 BitmapUsed by:140
Symbol 140 GraphicUses:139Used by:141
Symbol 141 ButtonUses:138 140 48Used by:171
Symbol 142 BitmapUsed by:143
Symbol 143 GraphicUses:142Used by:146
Symbol 144 BitmapUsed by:145
Symbol 145 GraphicUses:144Used by:146
Symbol 146 ButtonUses:143 145 48Used by:171
Symbol 147 BitmapUsed by:148
Symbol 148 GraphicUses:147Used by:151
Symbol 149 BitmapUsed by:150
Symbol 150 GraphicUses:149Used by:151
Symbol 151 ButtonUses:148 150 48Used by:171
Symbol 152 BitmapUsed by:153
Symbol 153 GraphicUses:152Used by:156
Symbol 154 BitmapUsed by:155
Symbol 155 GraphicUses:154Used by:156
Symbol 156 ButtonUses:153 155 48Used by:171
Symbol 157 BitmapUsed by:158
Symbol 158 GraphicUses:157Used by:161
Symbol 159 BitmapUsed by:160
Symbol 160 GraphicUses:159Used by:161
Symbol 161 ButtonUses:158 160 48Used by:171
Symbol 162 TextUses:7Used by:164
Symbol 163 TextUses:7Used by:164
Symbol 164 ButtonUses:162 163 48Used by:171
Symbol 165 EditableTextUses:61Used by:171
Symbol 166 FontUsed by:167
Symbol 167 EditableTextUses:166Used by:170
Symbol 168 Sound {sfxButtonOver} [sfxButtonOver]Used by:170
Symbol 169 Sound {sfxButtonDown} [sfxButtonDown]Used by:170
Symbol 170 MovieClip {MenuSounds} [MenuSounds]Uses:167 168 169Used by:171
Symbol 171 MovieClip {MainMenu_MovieClip} [MainMenu_MovieClip]Uses:123 125 67 127 128 136 141 146 151 156 161 164 165 170
Symbol 172 BitmapUsed by:173
Symbol 173 GraphicUses:172Used by:175
Symbol 174 GraphicUses:119Used by:175
Symbol 175 MovieClip {MusicButton_MovieClip} [MusicButton_MovieClip]Uses:173 174
Symbol 176 Sound {game.SoundManager_ChristieHeySound} [game.SoundManager_ChristieHeySound]
Symbol 177 Sound {game.SoundManager_ChristieDeathSound} [game.SoundManager_ChristieDeathSound]
Symbol 178 Sound {game.SoundManager_ChristieHeadHomeSound} [game.SoundManager_ChristieHeadHomeSound]
Symbol 179 Sound {game.SoundManager_MachineSound} [game.SoundManager_MachineSound]
Symbol 180 Sound {game.SoundManager_BeeSound} [game.SoundManager_BeeSound]
Symbol 181 Sound {game.SoundManager_ChunkKnockSound} [game.SoundManager_ChunkKnockSound]
Symbol 182 Sound {game.SoundManager_ChristieFindHimSound} [game.SoundManager_ChristieFindHimSound]
Symbol 183 Sound {game.SoundManager_ChristieNothingCanDoSound} [game.SoundManager_ChristieNothingCanDoSound]
Symbol 184 Sound {game.SoundManager_AngryBeeSound} [game.SoundManager_AngryBeeSound]
Symbol 185 Sound {game.SoundManager_ChristieHeyGetAwaySound} [game.SoundManager_ChristieHeyGetAwaySound]
Symbol 186 Sound {game.SoundManager_TealeAhhhSound} [game.SoundManager_TealeAhhhSound]
Symbol 187 Sound {game.SoundManager_Cricket5Sound} [game.SoundManager_Cricket5Sound]
Symbol 188 Sound {game.SoundManager_ChristieTealeNoSound} [game.SoundManager_ChristieTealeNoSound]
Symbol 189 Sound {game.SoundManager_Wind3Sound} [game.SoundManager_Wind3Sound]
Symbol 190 Sound {game.SoundManager_CameraSound} [game.SoundManager_CameraSound]
Symbol 191 Sound {game.SoundManager_RavenEatSound} [game.SoundManager_RavenEatSound]
Symbol 192 Sound {game.SoundManager_Wind4Sound} [game.SoundManager_Wind4Sound]
Symbol 193 Sound {game.SoundManager_ChristieDebHeartbrokenSound} [game.SoundManager_ChristieDebHeartbrokenSound]
Symbol 194 Sound {game.SoundManager_ChristieCoupleDaysSound} [game.SoundManager_ChristieCoupleDaysSound]
Symbol 195 Sound {game.SoundManager_Owl3Sound} [game.SoundManager_Owl3Sound]
Symbol 196 Sound {game.SoundManager_BellSound} [game.SoundManager_BellSound]
Symbol 197 Sound {game.SoundManager_TealeFlowerGorgeousSound} [game.SoundManager_TealeFlowerGorgeousSound]
Symbol 198 Sound {game.SoundManager_ChristieWithoutBodySound} [game.SoundManager_ChristieWithoutBodySound]
Symbol 199 Sound {game.SoundManager_ChristieBetterNowSound} [game.SoundManager_ChristieBetterNowSound]
Symbol 200 Sound {game.SoundManager_MusicSound} [game.SoundManager_MusicSound]
Symbol 201 Sound {game.SoundManager_RavenCawSound} [game.SoundManager_RavenCawSound]
Symbol 202 Sound {game.SoundManager_ChristieDeadWeightSound} [game.SoundManager_ChristieDeadWeightSound]
Symbol 203 Sound {game.SoundManager_ChristieCrapSound} [game.SoundManager_ChristieCrapSound]
Symbol 204 Sound {game.SoundManager_StoneKnockSound} [game.SoundManager_StoneKnockSound]
Symbol 205 Sound {game.SoundManager_VultureFlutterSound} [game.SoundManager_VultureFlutterSound]
Symbol 206 Sound {game.SoundManager_ElectricitySound} [game.SoundManager_ElectricitySound]
Symbol 207 Sound {game.SoundManager_VultureDeathSound} [game.SoundManager_VultureDeathSound]
Symbol 208 Sound {game.SoundManager_ChristieKeepAroundSound} [game.SoundManager_ChristieKeepAroundSound]
Symbol 209 Sound {game.SoundManager_ChristieAdmireDistanceSound} [game.SoundManager_ChristieAdmireDistanceSound]
Symbol 210 Sound {game.SoundManager_FragileTerrainSound} [game.SoundManager_FragileTerrainSound]
Symbol 211 Sound {game.SoundManager_Cricket1Sound} [game.SoundManager_Cricket1Sound]
Symbol 212 Sound {game.SoundManager_TealeCloserLookSound} [game.SoundManager_TealeCloserLookSound]
Symbol 213 Sound {game.SoundManager_ChristieTealeSound} [game.SoundManager_ChristieTealeSound]
Symbol 214 Sound {game.SoundManager_CrankSound} [game.SoundManager_CrankSound]
Symbol 215 Sound {game.SoundManager_ChristieGodDamnitSound} [game.SoundManager_ChristieGodDamnitSound]
Symbol 216 Sound {game.SoundManager_Wolf2Sound} [game.SoundManager_Wolf2Sound]
Symbol 217 Sound {game.SoundManager_ChristieProneAccidentsSound} [game.SoundManager_ChristieProneAccidentsSound]
Symbol 218 Sound {game.SoundManager_ChristieLandSound} [game.SoundManager_ChristieLandSound]
Symbol 219 Sound {game.SoundManager_ChristieCantLeaveSound} [game.SoundManager_ChristieCantLeaveSound]
Symbol 220 Sound {game.SoundManager_ChristieOhTealeSound} [game.SoundManager_ChristieOhTealeSound]
Symbol 221 Sound {game.SoundManager_HiveKnockSound} [game.SoundManager_HiveKnockSound]
Symbol 222 Sound {game.SoundManager_VultureEatSound} [game.SoundManager_VultureEatSound]
Symbol 223 Sound {game.SoundManager_Cricket3Sound} [game.SoundManager_Cricket3Sound]
Symbol 224 Sound {game.SoundManager_Owl1Sound} [game.SoundManager_Owl1Sound]
Symbol 225 Sound {game.SoundManager_TealeBeautifulChristieSound} [game.SoundManager_TealeBeautifulChristieSound]
Symbol 226 Sound {game.SoundManager_ChristieCivilizationSound} [game.SoundManager_ChristieCivilizationSound]
Symbol 227 Sound {game.SoundManager_Wind1Sound} [game.SoundManager_Wind1Sound]
Symbol 228 Sound {game.SoundManager_Cricket2Sound} [game.SoundManager_Cricket2Sound]
Symbol 229 Sound {game.SoundManager_ChristieDamnedCorpseSound} [game.SoundManager_ChristieDamnedCorpseSound]
Symbol 230 Sound {game.SoundManager_CorpseDeathSound} [game.SoundManager_CorpseDeathSound]
Symbol 231 Sound {game.SoundManager_ChristieYumSound} [game.SoundManager_ChristieYumSound]
Symbol 232 Sound {game.SoundManager_SwitchSound} [game.SoundManager_SwitchSound]
Symbol 233 Sound {game.SoundManager_CorpseKnockSound} [game.SoundManager_CorpseKnockSound]
Symbol 234 Sound {game.SoundManager_Cricket4Sound} [game.SoundManager_Cricket4Sound]
Symbol 235 Sound {game.SoundManager_BlueberryKnockSound} [game.SoundManager_BlueberryKnockSound]
Symbol 236 Sound {game.SoundManager_Wolf3Sound} [game.SoundManager_Wolf3Sound]
Symbol 237 Sound {game.SoundManager_RavenFlutterSound} [game.SoundManager_RavenFlutterSound]
Symbol 238 Sound {game.SoundManager_BlueberryPickSound} [game.SoundManager_BlueberryPickSound]
Symbol 239 Sound {game.SoundManager_ChristieSupposedToDoSound} [game.SoundManager_ChristieSupposedToDoSound]
Symbol 240 Sound {game.SoundManager_ChristieHooraySound} [game.SoundManager_ChristieHooraySound]
Symbol 241 Bitmap {game.graphics.Sign_RotarySignImage}
Symbol 242 Bitmap {game.graphics.Sign_ResetSignImage}
Symbol 243 Bitmap {game.graphics.Sign_PauseSignImage}
Symbol 244 Bitmap {game.graphics.Sign_BlueberrySignImage}
Symbol 245 Bitmap {game.graphics.LightPostLight_LightPostLightImage}
Symbol 246 Bitmap {game.ui.FlxMainMenuButton_MainMenuButtonImage}
Symbol 247 Bitmap {game.bodies.ActivateSwitch_HandSwitchImage}
Symbol 248 Bitmap {game.graphics.Moon_MoonImage}
Symbol 249 Bitmap {game.bodies.EndSign_EndRightSignImage}
Symbol 250 Bitmap {game.ui.CPauseScreen_IKeyImage}
Symbol 251 Bitmap {game.terrain.CBlock_MountainTerrainImage}
Symbol 252 Bitmap {game.ui.CMiniMapScreen_WinImage}
Symbol 253 Bitmap {game.ui.CPauseScreen_ZeroKeyImage}
Symbol 254 Bitmap {game.level.Level_BackgroundNightImage}
Symbol 255 Bitmap {game.graphics.LightPost_LightPostImage}
Symbol 256 Bitmap {game.graphics.Star_SmallStarImage}
Symbol 257 Font {org.flixel.FlxGame_junk}
Symbol 258 Bitmap {game.graphics.Star_LargeStarImage}
Symbol 259 Bitmap {game.bodies.CorpseChunk_CorpseChunkImage}
Symbol 260 Bitmap {game.npcs.Vulture_VultureImage}
Symbol 261 Bitmap {game.hive.DeadHive_DeadHiveImage}
Symbol 262 Bitmap {game.hive.Bee_BeeImage}
Symbol 263 Bitmap {game.terrain.CHive_HiveImage}
Symbol 264 Bitmap {game.terrain.WeightSwitch_ScaleBaseImage}
Symbol 265 Bitmap {game.ui.CHud_FadeOutImage}
Symbol 266 Bitmap {game.ui.CPauseScreen_WKeyImage}
Symbol 267 Bitmap {game.ui.CPauseScreen_SKeyImage}
Symbol 268 Bitmap {game.ui.CMiniMapScreen_CurrentLevelMarkerImage}
Symbol 269 Bitmap {game.ui.ControlsButton_ControlsButtonHoverImage}
Symbol 270 Bitmap {game.graphics.BlueberryBush_BlueberryBushImage}
Symbol 271 Bitmap {game.npcs.LiveTeale_LiveTealeImage}
Symbol 272 Bitmap {game.graphics.Sign_WarningSignImage}
Symbol 273 Bitmap {org.flixel.data.FlxPanel_ImgDonate}
Symbol 274 Bitmap {game.ui.CPauseScreen_KKeyImage}
Symbol 275 Bitmap {game.graphics.BigRock_BigRock3Image}
Symbol 276 Bitmap {game.graphics.Sign_RightSignImage}
Symbol 277 Bitmap {game.ui.CPauseScreen_JKeyImage}
Symbol 278 Bitmap {org.flixel.data.FlxPanel_ImgReddit}
Symbol 279 Bitmap {game.graphics.Sign_DropSignImage}
Symbol 280 Bitmap {game.ui.CPauseScreen_MouseImage}
Symbol 281 Bitmap {game.bodies.CCorpse_CorpseImage}
Symbol 282 Bitmap {game.ui.CHud_CorpseHealthImage}
Symbol 283 Bitmap {org.flixel.data.FlxPanel_ImgTwitter}
Symbol 284 Bitmap {game.bodies.CCorpse_ChristieCorpseImage}
Symbol 285 Bitmap {game.ui.SubmitHighscoreButton_SubmitHighscoreButtonRestImage}
Symbol 286 Bitmap {game.ui.MiniMapButton_MiniMapButtonHoverImage}
Symbol 287 Bitmap {game.ui.CHud_CameraFlashImage}
Symbol 288 Bitmap {game.terrain.FragileBlock_FragileTerrainImage}
Symbol 289 Bitmap {game.ui.CHud_CorpseHealthEmptyImage}
Symbol 290 Bitmap {game.level.Level_BackgroundNavyImage}
Symbol 291 Bitmap {game.Player_ChristieImage}
Symbol 292 Bitmap {game.graphics.CSpark_Spark3Image}
Symbol 293 Bitmap {org.flixel.FlxGame_ImgPoweredBy}
Symbol 294 Bitmap {org.flixel.data.FlxPanel_ImgClose}
Symbol 295 Bitmap {game.ui.CTarget_imgTarget3}
Symbol 296 Bitmap {game.ui.CTarget_imgTarget2}
Symbol 297 Bitmap {game.graphics.Car_Car1Image}
Symbol 298 Bitmap {game.graphics.Sign_F8SignImage}
Symbol 299 Bitmap {game.ui.SubmitHighscoreButton_SubmitHighscoreButtonHoverImage}
Symbol 300 Bitmap {game.ui.ControlsButton_ControlsButtonRestImage}
Symbol 301 Bitmap {game.graphics.Sign_KnockHiveSignImage}
Symbol 302 Bitmap {game.graphics.Sign_UpSignImage}
Symbol 303 Bitmap {game.ui.CMiniMapScreen_CompletedLevelMarkerImage}
Symbol 304 Bitmap {game.graphics.Scale_ScaleFrameImage}
Symbol 305 Bitmap {game.graphics.Flower_PoppyImage}
Symbol 306 Bitmap {game.ui.CHud_DamageFlashImage}
Symbol 307 Bitmap {game.ui.CPauseScreen_SpacebarKeyImage}
Symbol 308 Bitmap {game.level.IntroLevelTerrain_BackgroundIntroImage}
Symbol 309 Bitmap {game.ui.CMiniMapScreen_MiniMapImage}
Symbol 310 Bitmap {org.flixel.data.FlxPause_ImgKeyX}
Symbol 311 Bitmap {game.graphics.Sign_LeftSignImage}
Symbol 312 Bitmap {game.graphics.Sign_CameraSignImage}
Symbol 313 Bitmap {game.bodies.CCorpse_HangingCorpseImage}
Symbol 314 Bitmap {game.ui.CPauseScreen_QKeyImage}
Symbol 315 Bitmap {game.graphics.Sign_ThrowSignImage}
Symbol 316 Bitmap {game.terrain.CBlock_BridgeTerrainImage}
Symbol 317 Bitmap {game.graphics.Sign_TargetSignImage}
Symbol 318 Bitmap {game.graphics.BigRock_BigRock1Image}
Symbol 319 Bitmap {game.ui.MiniMapButton_MiniMapButtonRestImage}
Symbol 320 Bitmap {game.graphics.CSpark_Spark1Image}
Symbol 321 Bitmap {game.graphics.Sign_HitSwitchSignImage}
Symbol 322 Bitmap {game.graphics.Sign_SelectPickupSignImage}
Symbol 323 Bitmap {game.graphics.CBlood_BloodImage}
Symbol 324 Bitmap {org.flixel.data.FlxPause_ImgKeyPlus}
Symbol 325 Bitmap {org.flixel.data.FlxPause_ImgKeysArrows}
Symbol 326 Bitmap {org.flixel.data.FlxPause_ImgKeyMouse}
Symbol 327 Bitmap {game.graphics.Sign_BeeSignImage}
Symbol 328 Bitmap {game.MenuState_TitleImage}
Symbol 329 Bitmap {game.graphics.Cabin_Cabin2Image}
Symbol 330 Bitmap {game.graphics.DeadTree_Tree1Image}
Symbol 331 Bitmap {game.graphics.Car_Car2Image}
Symbol 332 Bitmap {game.ui.CPauseScreen_EightKeyImage}
Symbol 333 Bitmap {game.terrain.KnockableSwitch_KnockableSwitchOffImage}
Symbol 334 Bitmap {game.terrain.BackgroundBlock_BackgroundMountainTerrainImage}
Symbol 335 Bitmap {game.graphics.Cabin_Cabin1Image}
Symbol 336 Bitmap {game.ui.CPauseScreen_AKeyImage}
Symbol 337 Bitmap {game.ui.ContinueGameButton_ContinueGameButtonHoverImage}
Symbol 338 Bitmap {game.graphics.Sign_WeightSignImage}
Symbol 339 Bitmap {game.ui.CPauseScreen_LKeyImage}
Symbol 340 Bitmap {game.ui.WalkthroughButton_WalkthroughButtonHoverImage}
Symbol 341 Bitmap {game.ui.WalkthroughButton_WalkthroughButtonRestImage}
Symbol 342 Bitmap {game.ui.MainMenuButton_MainMenuButtonHoverImage}
Symbol 343 Bitmap {game.bodies.ContinuousSwitch_RotarySwitchImage}
Symbol 344 Bitmap {game.ui.CPauseScreen_ShiftKeyImage}
Symbol 345 Bitmap {game.npcs.Raven_RavenImage}
Symbol 346 Bitmap {game.graphics.BigRock_BigRock2Image}
Symbol 347 Bitmap {game.bodies.VultureCorpse_VultureCorpseImage}
Symbol 348 Bitmap {game.terrain.KnockableSwitch_KnockableSwitchOnImage}
Symbol 349 Bitmap {game.bodies.CorpseChunk_VultureCorpseChunkImage}
Symbol 350 Bitmap {org.flixel.data.FlxPause_ImgKeyMinus}
Symbol 351 Bitmap {game.ui.ContinueLastGameButton_ContinueLastGameButtonImage}
Symbol 352 Bitmap {game.ui.CPauseScreen_PauseImage}
Symbol 353 Bitmap {game.graphics.Sign_ActivateSignImage}
Symbol 354 Bitmap {game.ui.CreditsButton_CreditsButtonImage}
Symbol 355 Bitmap {game.ui.CPauseScreen_F5KeyImage}
Symbol 356 Bitmap {game.ui.CMiniMapScreen_LevelMarkerImage}
Symbol 357 Bitmap {game.ui.CPauseScreen_UKeyImage}
Symbol 358 Bitmap {game.graphics.Sign_PickupSignImage}
Symbol 359 Bitmap {game.graphics.CSpark_Spark2Image}
Symbol 360 Bitmap {game.graphics.DeadTree_Tree2Image}
Symbol 361 Bitmap {game.graphics.CHeart_HeartImage}
Symbol 362 Bitmap {org.flixel.data.FlxPause_ImgKeyC}
Symbol 363 Bitmap {game.graphics.Scale_ScaleNeedleImage}
Symbol 364 Bitmap {org.flixel.data.FlxPanel_ImgDelicious}
Symbol 365 Bitmap {game.level.Level_BackgroundBlueImage}
Symbol 366 Bitmap {game.bodies.CStone_StoneImage}
Symbol 367 Bitmap {game.CreditsState_CreditsImage}
Symbol 368 Bitmap {game.graphics.Sign_MouseSignImage}
Symbol 369 Bitmap {game.graphics.Sign_FallWarningSignImage}
Symbol 370 Bitmap {org.flixel.data.FlxPause_ImgKey1}
Symbol 371 Bitmap {game.ui.CPauseScreen_DKeyImage}
Symbol 372 Bitmap {org.flixel.data.FlxPanel_ImgDigg}
Symbol 373 Bitmap {game.ui.CHud_TextBackgroundImage}
Symbol 374 Bitmap {game.ui.CPauseScreen_F8KeyImage}
Symbol 375 Bitmap {game.graphics.Sign_ScareRavenSignImage}
Symbol 376 Bitmap {game.bodies.TealeCorpse_TealeCorpseImage}
Symbol 377 Bitmap {game.ui.MainMenuButton_MainMenuButtonRestImage}
Symbol 378 Bitmap {org.flixel.data.FlxPause_ImgKey0}
Symbol 379 Bitmap {org.flixel.FlxG_ImgDefaultCursor}
Symbol 380 Bitmap {game.ui.CTarget_imgTarget}
Symbol 381 Bitmap {org.flixel.data.FlxPanel_ImgStumble}
Symbol 382 Bitmap {game.ui.StartButton_PlayButtonImage}
Symbol 383 Bitmap {game.bodies.CCamera_CameraImage}
Symbol 384 Bitmap {game.scripting.Trigger_TriggerImage}
Symbol 385 Bitmap {game.ui.CPauseScreen_EscKeyImage}
Symbol 386 Bitmap {game.ui.ContinueGameButton_ContinueGameButtonRestImage}
Symbol 387 Bitmap {game.ui.CPauseScreen_FiveKeyImage}
Symbol 388 Bitmap {game.bodies.Blueberry_BlueberryImage}
Symbol 389 Bitmap {game.graphics.Sign_VultureSignImage}

Instance Names

"mcLoadBarFill"Symbol 10 MovieClip {LoadBar_MovieClip} [LoadBar_MovieClip] Frame 1Symbol 3 MovieClip
"tfPercentLoaded"Symbol 10 MovieClip {LoadBar_MovieClip} [LoadBar_MovieClip] Frame 1Symbol 8 EditableText
"tfLoadingText"Symbol 10 MovieClip {LoadBar_MovieClip} [LoadBar_MovieClip] Frame 1Symbol 9 EditableText
"btnBack"Symbol 52 MovieClip {MochiLeaderboardScreen_MovieClip} [MochiLeaderboardScreen_MovieClip] Frame 1Symbol 49 Button
"tfFinalScore"Symbol 52 MovieClip {MochiLeaderboardScreen_MovieClip} [MochiLeaderboardScreen_MovieClip] Frame 1Symbol 50 EditableText
"tfFinalScore"Symbol 52 MovieClip {MochiLeaderboardScreen_MovieClip} [MochiLeaderboardScreen_MovieClip] Frame 1Symbol 51 EditableText
"btnBack"Symbol 68 MovieClip {CreditsScreen_MovieClip} [CreditsScreen_MovieClip] Frame 1Symbol 49 Button
"btnLicenseOptions"Symbol 68 MovieClip {CreditsScreen_MovieClip} [CreditsScreen_MovieClip] Frame 1Symbol 63 Button
"tfVersion"Symbol 68 MovieClip {CreditsScreen_MovieClip} [CreditsScreen_MovieClip] Frame 1Symbol 67 EditableText
"mcIcon1"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 73 MovieClip {AchievementIcon1} [AchievementIcon1]
"mcIcon2"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 78 MovieClip {AchievementIcon2} [AchievementIcon2]
"mcIcon3"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 83 MovieClip {AchievementIcon3} [AchievementIcon3]
"mcEarned1"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 86 MovieClip {AchievementEarned} [AchievementEarned]
"mcEarned2"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 86 MovieClip {AchievementEarned} [AchievementEarned]
"mcEarned3"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 86 MovieClip {AchievementEarned} [AchievementEarned]
"mcEarned4"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 86 MovieClip {AchievementEarned} [AchievementEarned]
"mcEarned5"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 86 MovieClip {AchievementEarned} [AchievementEarned]
"mcEarned6"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 86 MovieClip {AchievementEarned} [AchievementEarned]
"mcIncomplete2"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 88 MovieClip {AchievementIncomplete} [AchievementIncomplete]
"mcIncomplete1"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 88 MovieClip {AchievementIncomplete} [AchievementIncomplete]
"mcIncomplete3"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 88 MovieClip {AchievementIncomplete} [AchievementIncomplete]
"mcIcon4"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 93 MovieClip {AchievementIcon4} [AchievementIcon4]
"mcIcon5"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 98 MovieClip {AchievementIcon5} [AchievementIcon5]
"mcIcon6"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 103 MovieClip {AchievementIcon6} [AchievementIcon6]
"mcIncomplete5"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 88 MovieClip {AchievementIncomplete} [AchievementIncomplete]
"mcIncomplete4"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 88 MovieClip {AchievementIncomplete} [AchievementIncomplete]
"mcIncomplete6"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 88 MovieClip {AchievementIncomplete} [AchievementIncomplete]
"tfName4"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 104 EditableText
"tfDescription4"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 105 EditableText
"tfName5"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 106 EditableText
"tfDescription5"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 107 EditableText
"tfName6"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 108 EditableText
"tfDescription6"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 109 EditableText
"tfName1"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 104 EditableText
"tfDescription1"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 110 EditableText
"tfName2"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 106 EditableText
"tfDescription2"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 111 EditableText
"tfName3"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 112 EditableText
"tfDescription3"Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank] Frame 1Symbol 113 EditableText
"btnBack"Symbol 116 MovieClip {AchievementsOverlay_MovieClip} [AchievementsOverlay_MovieClip] Frame 1Symbol 49 Button
"mcAchievements"Symbol 116 MovieClip {AchievementsOverlay_MovieClip} [AchievementsOverlay_MovieClip] Frame 1Symbol 114 MovieClip {AchievementsDisplay_Blank} [AchievementsDisplay_Blank]
"tfFinalScore"Symbol 116 MovieClip {AchievementsOverlay_MovieClip} [AchievementsOverlay_MovieClip] Frame 1Symbol 115 EditableText
"tfVersion"Symbol 171 MovieClip {MainMenu_MovieClip} [MainMenu_MovieClip] Frame 1Symbol 67 EditableText
"btnSponsor1"Symbol 171 MovieClip {MainMenu_MovieClip} [MainMenu_MovieClip] Frame 1Symbol 136 Button
"btnStartNewGame1"Symbol 171 MovieClip {MainMenu_MovieClip} [MainMenu_MovieClip] Frame 1Symbol 141 Button
"btnContinue"Symbol 171 MovieClip {MainMenu_MovieClip} [MainMenu_MovieClip] Frame 1Symbol 146 Button
"btnCredits"Symbol 171 MovieClip {MainMenu_MovieClip} [MainMenu_MovieClip] Frame 1Symbol 151 Button
"btnArmorGamesLeaderboard"Symbol 171 MovieClip {MainMenu_MovieClip} [MainMenu_MovieClip] Frame 1Symbol 156 Button
"btnAchievements"Symbol 171 MovieClip {MainMenu_MovieClip} [MainMenu_MovieClip] Frame 1Symbol 161 Button
"btnLockedPlay"Symbol 171 MovieClip {MainMenu_MovieClip} [MainMenu_MovieClip] Frame 2Symbol 164 Button
"tfLockedMessage"Symbol 171 MovieClip {MainMenu_MovieClip} [MainMenu_MovieClip] Frame 2Symbol 165 EditableText

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 1459 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 1 as "CustomLoadBar"
ExportAssets (56)Timeline Frame 1Symbol 10 as "LoadBar_MovieClip"
ExportAssets (56)Timeline Frame 1Symbol 26 as "ArmorGamesSplash"
ExportAssets (56)Timeline Frame 2Symbol 27 as "org.flixel.FlxGame_SndBeep"
ExportAssets (56)Timeline Frame 2Symbol 28 as "org.flixel.FlxGame_SndFlixel"
ExportAssets (56)Timeline Frame 2Symbol 29 as "game.CorpseGame_ChristieOuch4Sound"
ExportAssets (56)Timeline Frame 2Symbol 30 as "game.CorpseGame_ChristieEwSound"
ExportAssets (56)Timeline Frame 2Symbol 31 as "game.CorpseGame_ChristieThrowHeavySound"
ExportAssets (56)Timeline Frame 2Symbol 32 as "game.CorpseGame_ChristieThrowLightSound"
ExportAssets (56)Timeline Frame 2Symbol 33 as "game.CorpseGame_ChristieGreatSound"
ExportAssets (56)Timeline Frame 2Symbol 34 as "game.CorpseGame_ChristieJump1Sound"
ExportAssets (56)Timeline Frame 2Symbol 35 as "game.CorpseGame_ChristiePickUpHeavySound"
ExportAssets (56)Timeline Frame 2Symbol 36 as "game.CorpseGame_ChristieJump2Sound"
ExportAssets (56)Timeline Frame 2Symbol 37 as "game.CorpseGame_ChristieOuch2Sound"
ExportAssets (56)Timeline Frame 2Symbol 38 as "game.CorpseGame_ChristieGrossSound"
ExportAssets (56)Timeline Frame 2Symbol 39 as "game.CorpseGame_ChristieOuch3Sound"
ExportAssets (56)Timeline Frame 2Symbol 40 as "game.CorpseGame_ChristieTakeThatSound"
ExportAssets (56)Timeline Frame 2Symbol 41 as "game.CorpseGame_ChristieOuch1Sound"
ExportAssets (56)Timeline Frame 2Symbol 52 as "MochiLeaderboardScreen_MovieClip"
ExportAssets (56)Timeline Frame 2Symbol 68 as "CreditsScreen_MovieClip"
ExportAssets (56)Timeline Frame 2Symbol 116 as "AchievementsOverlay_MovieClip"
ExportAssets (56)Timeline Frame 2Symbol 121 as "SoundEffectsButton_MovieClip"
ExportAssets (56)Timeline Frame 2Symbol 171 as "MainMenu_MovieClip"
ExportAssets (56)Timeline Frame 2Symbol 175 as "MusicButton_MovieClip"
ExportAssets (56)Timeline Frame 2Symbol 114 as "AchievementsDisplay_Blank"
ExportAssets (56)Timeline Frame 2Symbol 170 as "MenuSounds"
ExportAssets (56)Timeline Frame 2Symbol 93 as "AchievementIcon4"
ExportAssets (56)Timeline Frame 2Symbol 83 as "AchievementIcon3"
ExportAssets (56)Timeline Frame 2Symbol 78 as "AchievementIcon2"
ExportAssets (56)Timeline Frame 2Symbol 103 as "AchievementIcon6"
ExportAssets (56)Timeline Frame 2Symbol 73 as "AchievementIcon1"
ExportAssets (56)Timeline Frame 2Symbol 98 as "AchievementIcon5"
ExportAssets (56)Timeline Frame 2Symbol 176 as "game.SoundManager_ChristieHeySound"
ExportAssets (56)Timeline Frame 2Symbol 177 as "game.SoundManager_ChristieDeathSound"
ExportAssets (56)Timeline Frame 2Symbol 178 as "game.SoundManager_ChristieHeadHomeSound"
ExportAssets (56)Timeline Frame 2Symbol 179 as "game.SoundManager_MachineSound"
ExportAssets (56)Timeline Frame 2Symbol 180 as "game.SoundManager_BeeSound"
ExportAssets (56)Timeline Frame 2Symbol 181 as "game.SoundManager_ChunkKnockSound"
ExportAssets (56)Timeline Frame 2Symbol 182 as "game.SoundManager_ChristieFindHimSound"
ExportAssets (56)Timeline Frame 2Symbol 183 as "game.SoundManager_ChristieNothingCanDoSound"
ExportAssets (56)Timeline Frame 2Symbol 184 as "game.SoundManager_AngryBeeSound"
ExportAssets (56)Timeline Frame 2Symbol 185 as "game.SoundManager_ChristieHeyGetAwaySound"
ExportAssets (56)Timeline Frame 2Symbol 186 as "game.SoundManager_TealeAhhhSound"
ExportAssets (56)Timeline Frame 2Symbol 187 as "game.SoundManager_Cricket5Sound"
ExportAssets (56)Timeline Frame 2Symbol 188 as "game.SoundManager_ChristieTealeNoSound"
ExportAssets (56)Timeline Frame 2Symbol 189 as "game.SoundManager_Wind3Sound"
ExportAssets (56)Timeline Frame 2Symbol 190 as "game.SoundManager_CameraSound"
ExportAssets (56)Timeline Frame 2Symbol 191 as "game.SoundManager_RavenEatSound"
ExportAssets (56)Timeline Frame 2Symbol 192 as "game.SoundManager_Wind4Sound"
ExportAssets (56)Timeline Frame 2Symbol 193 as "game.SoundManager_ChristieDebHeartbrokenSound"
ExportAssets (56)Timeline Frame 2Symbol 194 as "game.SoundManager_ChristieCoupleDaysSound"
ExportAssets (56)Timeline Frame 2Symbol 195 as "game.SoundManager_Owl3Sound"
ExportAssets (56)Timeline Frame 2Symbol 196 as "game.SoundManager_BellSound"
ExportAssets (56)Timeline Frame 2Symbol 197 as "game.SoundManager_TealeFlowerGorgeousSound"
ExportAssets (56)Timeline Frame 2Symbol 198 as "game.SoundManager_ChristieWithoutBodySound"
ExportAssets (56)Timeline Frame 2Symbol 199 as "game.SoundManager_ChristieBetterNowSound"
ExportAssets (56)Timeline Frame 2Symbol 200 as "game.SoundManager_MusicSound"
ExportAssets (56)Timeline Frame 2Symbol 201 as "game.SoundManager_RavenCawSound"
ExportAssets (56)Timeline Frame 2Symbol 202 as "game.SoundManager_ChristieDeadWeightSound"
ExportAssets (56)Timeline Frame 2Symbol 203 as "game.SoundManager_ChristieCrapSound"
ExportAssets (56)Timeline Frame 2Symbol 204 as "game.SoundManager_StoneKnockSound"
ExportAssets (56)Timeline Frame 2Symbol 205 as "game.SoundManager_VultureFlutterSound"
ExportAssets (56)Timeline Frame 2Symbol 206 as "game.SoundManager_ElectricitySound"
ExportAssets (56)Timeline Frame 2Symbol 207 as "game.SoundManager_VultureDeathSound"
ExportAssets (56)Timeline Frame 2Symbol 208 as "game.SoundManager_ChristieKeepAroundSound"
ExportAssets (56)Timeline Frame 2Symbol 209 as "game.SoundManager_ChristieAdmireDistanceSound"
ExportAssets (56)Timeline Frame 2Symbol 210 as "game.SoundManager_FragileTerrainSound"
ExportAssets (56)Timeline Frame 2Symbol 211 as "game.SoundManager_Cricket1Sound"
ExportAssets (56)Timeline Frame 2Symbol 212 as "game.SoundManager_TealeCloserLookSound"
ExportAssets (56)Timeline Frame 2Symbol 213 as "game.SoundManager_ChristieTealeSound"
ExportAssets (56)Timeline Frame 2Symbol 214 as "game.SoundManager_CrankSound"
ExportAssets (56)Timeline Frame 2Symbol 215 as "game.SoundManager_ChristieGodDamnitSound"
ExportAssets (56)Timeline Frame 2Symbol 216 as "game.SoundManager_Wolf2Sound"
ExportAssets (56)Timeline Frame 2Symbol 217 as "game.SoundManager_ChristieProneAccidentsSound"
ExportAssets (56)Timeline Frame 2Symbol 218 as "game.SoundManager_ChristieLandSound"
ExportAssets (56)Timeline Frame 2Symbol 219 as "game.SoundManager_ChristieCantLeaveSound"
ExportAssets (56)Timeline Frame 2Symbol 220 as "game.SoundManager_ChristieOhTealeSound"
ExportAssets (56)Timeline Frame 2Symbol 221 as "game.SoundManager_HiveKnockSound"
ExportAssets (56)Timeline Frame 2Symbol 222 as "game.SoundManager_VultureEatSound"
ExportAssets (56)Timeline Frame 2Symbol 223 as "game.SoundManager_Cricket3Sound"
ExportAssets (56)Timeline Frame 2Symbol 224 as "game.SoundManager_Owl1Sound"
ExportAssets (56)Timeline Frame 2Symbol 225 as "game.SoundManager_TealeBeautifulChristieSound"
ExportAssets (56)Timeline Frame 2Symbol 226 as "game.SoundManager_ChristieCivilizationSound"
ExportAssets (56)Timeline Frame 2Symbol 227 as "game.SoundManager_Wind1Sound"
ExportAssets (56)Timeline Frame 2Symbol 228 as "game.SoundManager_Cricket2Sound"
ExportAssets (56)Timeline Frame 2Symbol 229 as "game.SoundManager_ChristieDamnedCorpseSound"
ExportAssets (56)Timeline Frame 2Symbol 230 as "game.SoundManager_CorpseDeathSound"
ExportAssets (56)Timeline Frame 2Symbol 231 as "game.SoundManager_ChristieYumSound"
ExportAssets (56)Timeline Frame 2Symbol 232 as "game.SoundManager_SwitchSound"
ExportAssets (56)Timeline Frame 2Symbol 233 as "game.SoundManager_CorpseKnockSound"
ExportAssets (56)Timeline Frame 2Symbol 234 as "game.SoundManager_Cricket4Sound"
ExportAssets (56)Timeline Frame 2Symbol 235 as "game.SoundManager_BlueberryKnockSound"
ExportAssets (56)Timeline Frame 2Symbol 236 as "game.SoundManager_Wolf3Sound"
ExportAssets (56)Timeline Frame 2Symbol 237 as "game.SoundManager_RavenFlutterSound"
ExportAssets (56)Timeline Frame 2Symbol 238 as "game.SoundManager_BlueberryPickSound"
ExportAssets (56)Timeline Frame 2Symbol 239 as "game.SoundManager_ChristieSupposedToDoSound"
ExportAssets (56)Timeline Frame 2Symbol 240 as "game.SoundManager_ChristieHooraySound"
ExportAssets (56)Timeline Frame 2Symbol 86 as "AchievementEarned"
ExportAssets (56)Timeline Frame 2Symbol 88 as "AchievementIncomplete"
ExportAssets (56)Timeline Frame 2Symbol 168 as "sfxButtonOver"
ExportAssets (56)Timeline Frame 2Symbol 169 as "sfxButtonDown"
SerialNumber (41)Timeline Frame 1

Labels

"main_Preloader"Frame 1
"AsILayDying"Frame 2
"on"Symbol 121 MovieClip {SoundEffectsButton_MovieClip} [SoundEffectsButton_MovieClip] Frame 1
"off"Symbol 121 MovieClip {SoundEffectsButton_MovieClip} [SoundEffectsButton_MovieClip] Frame 2
"unlocked"Symbol 171 MovieClip {MainMenu_MovieClip} [MainMenu_MovieClip] Frame 1
"locked"Symbol 171 MovieClip {MainMenu_MovieClip} [MainMenu_MovieClip] Frame 2
"on"Symbol 175 MovieClip {MusicButton_MovieClip} [MusicButton_MovieClip] Frame 1
"off"Symbol 175 MovieClip {MusicButton_MovieClip} [MusicButton_MovieClip] Frame 2




https://swfchan.com/54/267670/info.shtml
Created: 6/6 -2026 02:47:50 Last modified: 6/6 -2026 02:47:50 Server time: 23/06 -2026 11:46:42