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&noui&jump=close&url=" + encodeURIComponent(_gameURL)) + "&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))) + ")¤cy_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