Section 1
//NewgroundsAPIAsset_API_Conencted_4 (APIConnector_fla.NewgroundsAPIAsset_API_Conencted_4)
package APIConnector_fla {
import flash.display.*;
import com.newgrounds.components.*;
public dynamic class NewgroundsAPIAsset_API_Conencted_4 extends MovieClip {
public function NewgroundsAPIAsset_API_Conencted_4(){
addFrameScript(36, this.frame37);
}
function frame37(){
APIConnector(parent).clear();
}
}
}//package APIConnector_fla
Section 2
//NewgroundsAPIAsset_ConnectingAPI_2 (APIConnector_fla.NewgroundsAPIAsset_ConnectingAPI_2)
package APIConnector_fla {
import flash.display.*;
public dynamic class NewgroundsAPIAsset_ConnectingAPI_2 extends MovieClip {
public function NewgroundsAPIAsset_ConnectingAPI_2(){
addFrameScript(9, this.frame10);
}
function frame10(){
stop();
}
}
}//package APIConnector_fla
Section 3
//NewgroundsAPIAsset_Connection_Error_7 (APIConnector_fla.NewgroundsAPIAsset_Connection_Error_7)
package APIConnector_fla {
import flash.display.*;
import com.newgrounds.components.*;
public dynamic class NewgroundsAPIAsset_Connection_Error_7 extends MovieClip {
public function NewgroundsAPIAsset_Connection_Error_7(){
addFrameScript(9, this.frame10, 20, this.frame21);
}
function frame10(){
stop();
}
function frame21(){
APIConnector(parent).clear();
}
}
}//package APIConnector_fla
Section 4
//NewgroundsAPIAsset_Load_Indicator_3 (APIConnector_fla.NewgroundsAPIAsset_Load_Indicator_3)
package APIConnector_fla {
import flash.display.*;
import flash.events.*;
public dynamic class NewgroundsAPIAsset_Load_Indicator_3 extends MovieClip {
public function NewgroundsAPIAsset_Load_Indicator_3(){
addFrameScript(0, this.frame1);
}
public function onEnterFrame(_arg1:Event):void{
if (((visible) && (stage))){
rotation = (rotation + 30);
} else {
removeEventListener(Event.ENTER_FRAME, this.onEnterFrame);
};
}
function frame1(){
addEventListener(Event.ENTER_FRAME, this.onEnterFrame);
}
}
}//package APIConnector_fla
Section 5
//NewgroundsAPIAsset_Login_Warning_5 (APIConnector_fla.NewgroundsAPIAsset_Login_Warning_5)
package APIConnector_fla {
import flash.display.*;
import com.newgrounds.components.*;
public dynamic class NewgroundsAPIAsset_Login_Warning_5 extends MovieClip {
public function NewgroundsAPIAsset_Login_Warning_5(){
addFrameScript(9, this.frame10, 20, this.frame21);
}
function frame10(){
stop();
}
function frame21(){
APIConnector(parent).clear();
}
}
}//package APIConnector_fla
Section 6
//alt_intro_holder_18 (BioAssault_NG_ApiEna_v2_fla.alt_intro_holder_18)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class alt_intro_holder_18 extends MovieClip {
public function alt_intro_holder_18(){
addFrameScript(82, frame83);
}
function frame83(){
stop();
MovieClip(parent).play();
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 7
//arcacxdebomb_13 (BioAssault_NG_ApiEna_v2_fla.arcacxdebomb_13)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class arcacxdebomb_13 extends MovieClip {
public var hitBox_mc:MovieClip;
public function arcacxdebomb_13(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 8
//awardsinner_32 (BioAssault_NG_ApiEna_v2_fla.awardsinner_32)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class awardsinner_32 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 9
//btn_awards_29 (BioAssault_NG_ApiEna_v2_fla.btn_awards_29)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_awards_29 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 10
//btn_back_38 (BioAssault_NG_ApiEna_v2_fla.btn_back_38)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_back_38 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 11
//btn_emergency1_65 (BioAssault_NG_ApiEna_v2_fla.btn_emergency1_65)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_emergency1_65 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 12
//btn_emergency2_66 (BioAssault_NG_ApiEna_v2_fla.btn_emergency2_66)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_emergency2_66 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 13
//btn_emergency3_67 (BioAssault_NG_ApiEna_v2_fla.btn_emergency3_67)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_emergency3_67 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 14
//btn_highscore_26 (BioAssault_NG_ApiEna_v2_fla.btn_highscore_26)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_highscore_26 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 15
//btn_initiateMIssion_69 (BioAssault_NG_ApiEna_v2_fla.btn_initiateMIssion_69)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class btn_initiateMIssion_69 extends MovieClip {
public var money_txt:TextField;
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 16
//btn_loadGame_25 (BioAssault_NG_ApiEna_v2_fla.btn_loadGame_25)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_loadGame_25 extends MovieClip {
public var hitBox_mc:MovieClip;
public function btn_loadGame_25(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 17
//btn_mainMenu_103 (BioAssault_NG_ApiEna_v2_fla.btn_mainMenu_103)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_mainMenu_103 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 18
//btn_moregames_33 (BioAssault_NG_ApiEna_v2_fla.btn_moregames_33)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_moregames_33 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 19
//btn_newGame_24 (BioAssault_NG_ApiEna_v2_fla.btn_newGame_24)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_newGame_24 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 20
//btn_next_39 (BioAssault_NG_ApiEna_v2_fla.btn_next_39)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_next_39 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 21
//btn_no_36 (BioAssault_NG_ApiEna_v2_fla.btn_no_36)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_no_36 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 22
//btn_postLevelNext_102 (BioAssault_NG_ApiEna_v2_fla.btn_postLevelNext_102)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_postLevelNext_102 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 23
//btn_PRELEVELbACK_70 (BioAssault_NG_ApiEna_v2_fla.btn_PRELEVELbACK_70)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class btn_PRELEVELbACK_70 extends MovieClip {
public var money_txt:TextField;
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 24
//btn_retry_104 (BioAssault_NG_ApiEna_v2_fla.btn_retry_104)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_retry_104 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 25
//btn_special1_53 (BioAssault_NG_ApiEna_v2_fla.btn_special1_53)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_special1_53 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 26
//btn_special2_54 (BioAssault_NG_ApiEna_v2_fla.btn_special2_54)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_special2_54 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 27
//btn_special3_55 (BioAssault_NG_ApiEna_v2_fla.btn_special3_55)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_special3_55 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 28
//btn_special4_56 (BioAssault_NG_ApiEna_v2_fla.btn_special4_56)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_special4_56 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 29
//btn_special5_57 (BioAssault_NG_ApiEna_v2_fla.btn_special5_57)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_special5_57 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 30
//btn_special6_58 (BioAssault_NG_ApiEna_v2_fla.btn_special6_58)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_special6_58 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 31
//btn_upgrade_63 (BioAssault_NG_ApiEna_v2_fla.btn_upgrade_63)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_upgrade_63 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 32
//btn_weapon1_47 (BioAssault_NG_ApiEna_v2_fla.btn_weapon1_47)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_weapon1_47 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 33
//btn_weapon2_48 (BioAssault_NG_ApiEna_v2_fla.btn_weapon2_48)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_weapon2_48 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 34
//btn_weapon3_49 (BioAssault_NG_ApiEna_v2_fla.btn_weapon3_49)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_weapon3_49 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 35
//btn_weapon4_50 (BioAssault_NG_ApiEna_v2_fla.btn_weapon4_50)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_weapon4_50 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 36
//btn_yes_35 (BioAssault_NG_ApiEna_v2_fla.btn_yes_35)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class btn_yes_35 extends MovieClip {
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 37
//loaderbar_11 (BioAssault_NG_ApiEna_v2_fla.loaderbar_11)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class loaderbar_11 extends MovieClip {
public var bar_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 38
//MainTimeline (BioAssault_NG_ApiEna_v2_fla.MainTimeline)
package BioAssault_NG_ApiEna_v2_fla {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import com.newgrounds.components.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import com.adobe.crypto.*;
import ru.etcs.ui.*;
import flash.media.*;
import flash.geom.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class MainTimeline extends MovieClip {
public var kills_txt:TextField;
public var emergency1_des:String;
public var submit:MovieClip;
public var kills_levels:Number;
public var loader:URLLoader;
public var upgrade3Level:Number;
public var score10:TextField;
public var weapon3_name:String;
public var award7Des:String;
public var upgrade3_name:String;
public var bgStars1a_mc:MovieClip;
public var strikeSnd:Sound;
public var __setPropDict:Dictionary;
public var waveMax_lvl1:Number;
public var special5UIContainer_mc:MovieClip;
public var ammo4Max:Number;
public var waveMax_lvl4:Number;
public var waveMax_lvl5:Number;
public var waveMax_lvl7:Number;
public var waveMax_lvl8:Number;
public var waveMax_lvl3:Number;
public var shieldActivated:String;
public var playerSpecial6Array:Array;
public var award11_Name:String;
public var waveMax_lvl6:Number;
public var waveMax_lvl9:Number;
public var enemyAmmo4Array:Array;
public var waveMax_lvl2:Number;
public var awardBack_btn:MovieClip;
public var plate4_2_mc:MovieClip;
public var award4_Name:String;
public var weapon5_des:String;
public var special3Activated:String;
public var playerAmmo4Array:Array;
public var selectedWeapon:Number;
public var weapon3Availability:String;
public var upgrade3_price:Number;
public var upgrade5_des:String;
public var award2_mc:MovieClip;
public var weapon3_price:Number;
public var upgrade4Level:Number;
public var ammo4Inventory:Number;
public var title_mc:MovieClip;
public var waveTimer_lvl2:Timer;
public var waveTimer_lvl4:Timer;
public var waveTimer_lvl5:Timer;
public var waveTimer_lvl6:Timer;
public var waveTimer_lvl7:Timer;
public var waveTimer_lvl8:Timer;
public var waveTimer_lvl9:Timer;
public var waveTimer_lvl3:Timer;
public var waveTimer_lvl1:Timer;
public var weapon4_des:String;
public var wave_lvl11:Number;
public var wave_lvl12:Number;
public var weapon4_name:String;
public var award9Des:String;
public var btnHoverSnd:Sound;
public var upgrade4_name:String;
public var award12_Name:String;
public var buySnd:Sound;
public var wave_lvl10:Number;
public var special3Availability:String;
public var upgrade4_des:String;
public var special1_price:Number;
public var lifeDenom:Number;
public var emergency1_price:Number;
public var ammo3Reload:Number;
public var enemyAmmo5Array:Array;
public var playerAmmo5Array:Array;
public var award5_Name:String;
public var special6_price:Number;
public var btnClickSnd:Sound;
public var flakes1_1_mc:MovieClip;
public var playerSpecial5aArray:Array;
public var award4_mc:MovieClip;
public var weapon3_des:String;
public var upgrade5Level:Number;
public var weapon5_name:String;
public var minionROF:Number;
public var specialContainer_mc:MovieClip;
public var moneyArray:Array;
public var special4Activated:String;
public var upgrade5_name:String;
public var pickupWeaponArray:Array;
public var upgrade3_des:String;
public var flareTmrObject:Timer;
public var gameScreenSnd:Sound;
public var award11Des:String;
public var flareActivated:String;
public var award6_Name:String;
public var killsOverall:Number;
public var enemyAmmo6Array:Array;
public var storyPanel_mc:MovieClip;
public var awardSnd:Sound;
public var money_levels:Number;
public var playerAmmo6Array:Array;
public var wave_lvl2:Number;
public var wave_lvl3:Number;
public var wave_lvl4:Number;
public var wave_lvl5:Number;
public var shieldEnergyDenom:Number;
public var wave_lvl7:Number;
public var wave_lvl1:Number;
public var wave_lvl9:Number;
public var wave_lvl6:Number;
public var weapon2_des:String;
public var name10:TextField;
public var homingSnd:Sound;
public var cloakEnergyNum:Number;
public var flakes2_1_mc:MovieClip;
public var upgrade2_des:String;
public var EMPActivated:String;
public var upgrade6Level:Number;
public var playerAmmo2Rof:Number;
public var upgrade6_name:String;
public var wave_lvl8:Number;
public var weapon2Availability:String;
public var award6_mc:MovieClip;
public var upgrade1_price:Number;
public var pickupAmmo2Max:Number;
public var plate1_1_mc:MovieClip;
public var toPostLevelTimer:Timer;
public var gameStateCode:Number;
public var award7_Name:String;
public var award2Des:String;
public var upgrade1_des:String;
public var upgrade6_price:Number;
public var money_txt:TextField;
public var shieldEnergyNum:Number;
public var playerAmmo7Array:Array;
public var flakes3_1_mc:MovieClip;
public var request:URLRequest;
public var special2Availability:String;
public var special5Activated:String;
public var ammo1Reload:Number;
public var special4_price:Number;
public var flareSnd:Sound;
public var pickUpAmmo2Rof:Number;
public var playerAmmo4Rof:Number;
public var waveInterval:Number;
public var award8_mc:MovieClip;
public var plate2_1_mc:MovieClip;
public var ammo6Reload:Number;
public var lifeNum:Number;
public var bossArray:Array;
public var award8_Name:String;
public var bar1_mc:MovieClip;
public var pickupAmmo4Max:Number;
public var pickupAmmo1Inventory:Number;
public var howToBack_btn:MovieClip;
public var howToNext_btn:MovieClip;
public var disFromBarrel:Number;
public var award4Des:String;
public var emergencyItem3Array:Array;
public var flakes4_1_mc:MovieClip;
public var BossLifeUIContainer_mc:MovieClip;
public var weaponAccuracy:Number;
public var emergency3Availability:String;
public var ammo1Max:Number;
public var moneyOverall:Number;
public var musicShow_txt:TextField;
public var special6_des:String;
public var award10_mc:MovieClip;
public var pickUpAmmo4Rof:Number;
public var bossWarningSnd:Sound;
public var playerAmmo6Rof:Number;
public var level:Number;
public var plate3_1_mc:MovieClip;
public var loadmode:int;
public var waveTimer_lvl10:Timer;
public var waveTimer_lvl11:Timer;
public var waveTimer_lvl12:Timer;
public var whiteFlash_mc:MovieClip;
public var qualityCode:Number;
public var loadGame_btn:MovieClip;
public var abSubmitScore_btn:MovieClip;
public var emergencyItem3aArray:Array;
public var nonGameScreenSnd:Sound;
public var levelContainer_mc:MovieClip;
public var pickupWeapon:String;
public var award6Des:String;
public var abPostWin_btn:MovieClip;
public var score2:TextField;
public var score3:TextField;
public var score4:TextField;
public var score5:TextField;
public var score6:TextField;
public var score7:TextField;
public var score8:TextField;
public var score9:TextField;
public var special3UIContainer_mc:MovieClip;
public var special1_name:String;
public var score1:TextField;
public var upgrade4_price:Number;
public var fireWeapon:String;
public var magnetRange:Number;
public var special5_des:String;
public var weapon4_price:Number;
public var ammo3Max:Number;
public var award9_Name:String;
public var moreGames_btn:MovieClip;
public var special1Availability:String;
public var special2_price:Number;
public var plate4_1_mc:MovieClip;
public var waveMax_lvl10:Number;
public var waveMax_lvl12:Number;
public var pickupAmmo2Inventory:Number;
public var waveMax_lvl11:Number;
public var award12_mc:MovieClip;
public var shieldInUse:String;
public var award1_mc:MovieClip;
public var retry_btn:MovieClip;
public var abPreload_btn:MovieClip;
public var qualityShow_txt:TextField;
public var emergency2_price:Number;
public var awards_btn:MovieClip;
public var mainMenu_btn:MovieClip;
public var explosionArray:Array;
public var ammo4Reload:Number;
public var highscores_btn:MovieClip;
public var emergencyItemsContainer_mc:MovieClip;
public var dead:String;
public var __id0_:APIConnector;
public var special4_des:String;
public var special2_name:String;
public var abPostFin_btn:MovieClip;
public var splash_btn:MovieClip;
public var abPreload_btn2:MovieClip;
public var playerSpecial6aArray:Array;
public var award8Des:String;
public var special6Availability:String;
public var pickUpAmmo1Array:Array;
public var coins_txt:TextField;
public var acquireSnd:Sound;
public var emergency2Availability:String;
public var newGamePrompt_mc:MovieClip;
public var explodeSnd:Sound;
public var initiateMission_btn:MovieClip;
public var abTitle_btn:MovieClip;
public var levelComplete:Boolean;
public var special3_des:String;
public var fader_mc:MovieClip;
public var award3_mc:MovieClip;
public var special3_name:String;
public var mouseFollowSpeed:Number;
public var mb2:SimpleButton;
public var mb3:SimpleButton;
public var playerSpecial1Array:Array;
public var weaponDmg:Number;
public var award10Des:String;
public var pickUpAmmo2Array:Array;
public var pickupAmmo3Inventory:Number;
public var upgrade2_price:Number;
public var special2_des:String;
public var weapon2_price:Number;
public var ammo1Inventory:Number;
public var upgradesContainer_mc:MovieClip;
public var playerAmmo1Rof:Number;
public var EmergencyItemUIContainer:MovieClip;
public var flakes1_2_mc:MovieClip;
public var musicCode:Number;
public var special4_name:String;
public var howToPanel_mc:MovieClip;
public var award5_mc:MovieClip;
public var barContainer_mc:MovieClip;
public var pickupAmmo1Max:Number;
public var playerSpecial2Array:Array;
public var ammo2Reload:Number;
public var special5_price:Number;
public var pickUpAmmo3Array:Array;
public var special1_des:String;
public var award12Des:String;
public var award1Des:String;
public var abShowScore_btn:MovieClip;
public var special5Availability:String;
public var abPostAward_btn:MovieClip;
public var ammo7Reload:Number;
public var special4UIContainer_mc:MovieClip;
public var music:String;
public var special1Activated:String;
public var emergency1Availability:String;
public var abPostLost_btn:MovieClip;
public var bioAssault_so:SharedObject;
public var postWinNext_btn:MovieClip;
public var flakes2_2_mc:MovieClip;
public var newGame_btn:MovieClip;
public var weaponContainer_mc:MovieClip;
public var crystalSnd:Sound;
public var special5_name:String;
public var playerAmmo3Rof:Number;
public var pickUpAmmo1Rof:Number;
public var pickupAmmo4Inventory:Number;
public var award7_mc:MovieClip;
public var submitScoreBack_btn:MovieClip;
public var blasterSnd:Sound;
public var playerSpecial3Array:Array;
public var Score:Number;
public var pickUpAmmo4Array:Array;
public var blasterEnergyMax:Number;
public var ammo2Inventory:Number;
public var pickupAmmo3Max:Number;
public var award1_Name:String;
public var laserSnd:Sound;
public var enemyAmmo1Array:Array;
public var plate1_2_mc:MovieClip;
public var emergency1_name:String;
public var Name:String;
public var playerAmmo1Array:Array;
public var bossSnd:Sound;
public var award3Des:String;
public var playerSpecial2Rof:Number;
public var numOfMinion:Number;
public var flakes3_2_mc:MovieClip;
public var upgrade1Level:Number;
public var upgrade1_name:String;
public var selectedEmergencyWeapon:Number;
public var special6_name:String;
public var name1:TextField;
public var name2:TextField;
public var name3:TextField;
public var name4:TextField;
public var name5:TextField;
public var name6:TextField;
public var name8:TextField;
public var name9:TextField;
public var name7:TextField;
public var emergency3_des:String;
public var cloakEnergyDenom:Number;
public var playerSpecial4Array:Array;
public var pickUpAmmo3Rof:Number;
public var weapon4Availability:String;
public var upgrade5_price:Number;
public var lifeBarContainer_mc:MovieClip;
public var playerAmmo5Rof:Number;
public var award2_Name:String;
public var award9_mc:MovieClip;
public var enemyAmmo2Array:Array;
public var plate2_2_mc:MovieClip;
public var bgStars3a_mc:MovieClip;
public var emergency2_name:String;
public var bar2_mc:MovieClip;
public var map_mc:MovieClip;
public var playerAmmo2Array:Array;
public var special1UIContainer_mc:MovieClip;
public var special3_price:Number;
public var wireEnergy:Number;
public var award5Des:String;
public var postFinNext_btn:MovieClip;
public var flakes4_2_mc:MovieClip;
public var blasterEnergy:Number;
public var upgrade2Level:Number;
public var emergency3_price:Number;
public var weapon2_name:String;
public var playerSpecial4Rof:Number;
public var special4Availability:String;
public var ammo2Max:Number;
public var ammo5Reload:Number;
public var upgrade2_name:String;
public var enemyArray:Array;
public var emergency2_des:String;
public var showScoreBack_btn:MovieClip;
public var playerSpecial5Array:Array;
public var bgStars2a_mc:MovieClip;
public var ammo3Inventory:Number;
public var award3_Name:String;
public var award11_mc:MovieClip;
public var enemyAmmo3Array:Array;
public var award10_Name:String;
public var abortMission_btn:MovieClip;
public var playerAmmo7Rof:Number;
public var plate3_2_mc:MovieClip;
public var cloakActivated:String;
public var upgrade6_des:String;
public var emergency3_name:String;
public var playerAmmo3Array:Array;
public var keyIsPressed:String;
public var redFlash_mc:MovieClip;
public function MainTimeline(){
__setPropDict = new Dictionary(true);
super();
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 23, frame24);
}
public function attHealthPrompt(_arg1:MovieClip){
var _local2:HealthPrompt;
playAcquireSnd();
_local2 = new HealthPrompt();
if ((_arg1 is Health1)){
_local2.display_mc.gotoAndStop(1);
} else {
if ((_arg1 is Health2)){
_local2.display_mc.gotoAndStop(2);
};
};
_local2.x = 275;
_local2.y = 170;
levelContainer_mc.addChild(_local2);
}
public function sponsorLinkTemp(_arg1:MovieClip){
var movr:Function;
var mout:Function;
var clck:Function;
var btn = _arg1;
movr = function (_arg1:MouseEvent){
};
mout = function (_arg1:MouseEvent){
};
clck = function (_arg1:MouseEvent){
var _local2:String;
var _local3:URLRequest;
_local2 = "http://www.arcadebomb.com";
_local3 = new URLRequest(_local2);
navigateToURL(_local3, "_new");
};
btn.buttonMode = true;
btn.addEventListener(MouseEvent.MOUSE_OVER, movr);
btn.addEventListener(MouseEvent.MOUSE_OUT, mout);
btn.addEventListener(MouseEvent.CLICK, clck);
}
public function keyIsDown(_arg1:KeyboardEvent){
if (_arg1.keyCode == 81){
trace("quality");
qualityCode++;
if (qualityCode == 1){
stage.quality = "low";
qualityShow_txt.text = "[ Q ] - Quality Toggle: LOW ";
};
if (qualityCode == 2){
stage.quality = "medium";
qualityShow_txt.text = "[ Q ] - Quality Toggle: MEDIUM";
};
if (qualityCode == 3){
stage.quality = "high";
qualityShow_txt.text = "[ Q ] - Quality Toggle: HIGH";
qualityCode = 0;
};
};
if (_arg1.keyCode == 77){
musicCode++;
if (musicCode == 1){
SoundMixer.soundTransform = new SoundTransform(0);
musicShow_txt.text = "[ M ] - MUSIC - OFF";
};
if (musicCode == 2){
SoundMixer.soundTransform = new SoundTransform(1);
musicShow_txt.text = "[ M ] - MUSIC - ON";
musicCode = 0;
};
};
if ((((currentFrame >= 5)) && ((currentFrame <= 16)))){
if (keyIsPressed == "false"){
switch (_arg1.keyCode){
case 49:
if ((((special1Availability == "sold")) && ((special1Activated == "false")))){
trace("homing missiles");
playHomingSnd();
special1UIContainer_mc.gotoAndStop(1);
attPlayerSpecial1();
special1Activated = "true";
};
keyIsPressed = "true";
break;
case 50:
if ((((special3Availability == "sold")) && ((special3Activated == "false")))){
trace("missile strike");
special3UIContainer_mc.gotoAndStop(1);
attPlayerSpecial3();
special3Activated = "true";
};
keyIsPressed = "true";
break;
case 51:
if ((((special4Availability == "sold")) && ((special4Activated == "false")))){
trace("blaster");
special4UIContainer_mc.gotoAndStop(1);
special4Activated = "true";
};
keyIsPressed = "true";
break;
case 52:
if ((((special5Availability == "sold")) && ((special5Activated == "false")))){
trace("wire");
playLaserSnd();
special5UIContainer_mc.gotoAndStop(1);
attPlayerSpecial5();
special5Activated = "true";
};
keyIsPressed = "true";
break;
case 32:
trace("space");
if ((((selectedEmergencyWeapon == 1)) && ((shieldActivated == "no")))){
shieldActivated = "yes";
levelContainer_mc.player_mc.forceField_mc.gotoAndPlay(2);
EmergencyItemUIContainer.alpha = 0;
} else {
if ((((selectedEmergencyWeapon == 2)) && ((EMPActivated == "no")))){
EMPActivated = "yes";
levelContainer_mc.player_mc.empCharging_mc.gotoAndPlay(2);
EmergencyItemUIContainer.alpha = 0;
} else {
if ((((selectedEmergencyWeapon == 3)) && ((flareActivated == "no")))){
flareActivated = "yes";
attEmegencyItem3();
EmergencyItemUIContainer.alpha = 0;
};
};
};
keyIsPressed = "true";
break;
};
};
};
}
function __setProp___id0__Preloader_NG_1(){
try {
__id0_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id0_.movieId = "17676:J50HKVHu ";
__id0_.debugMode = true;
__id0_.encryptionKey = "SR068ugCnM24CPDLr3kUAWlWUWkbniGp";
__id0_.movieVersion = "";
__id0_.showConnectingPopup = true;
__id0_.useErrorPopup = true;
__id0_.useMedalPopup = true;
__id0_.useFakeSession = true;
try {
__id0_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
public function updateLevel(){
toPostLevelTimer.start();
levelComplete = true;
}
function frame10(){
initGame();
}
function frame11(){
initGame();
}
function frame14(){
initGame();
}
function frame15(){
initGame();
}
function frame16(){
initGame();
}
function frame12(){
initGame();
}
public function keyIsUp(_arg1:KeyboardEvent){
if ((((((((((_arg1.keyCode == 49)) || ((_arg1.keyCode == 50)))) || ((_arg1.keyCode == 51)))) || ((_arg1.keyCode == 52)))) || ((_arg1.keyCode == 32)))){
keyIsPressed = "false";
};
}
function frame13(){
initGame();
}
function frame18(){
initGame();
}
function frame23(){
Security.allowDomain("*");
Security.loadPolicyFile("http://hiscore.arcadebomb.com/crossdomain.xml");
submit.button.addEventListener(MouseEvent.MOUSE_UP, buttonPressed);
navButtons(submitScoreBack_btn, "title");
sponsorLinkBtns(abSubmitScore_btn);
}
function frame17(){
initGame();
}
function frame20(){
stop();
navButtons(retry_btn, "prelevel");
navButtons(mainMenu_btn, "title");
sponsorLinkBtns(abPostLost_btn);
updateQualityAndMusicDisplay();
this.addEventListener(Event.ENTER_FRAME, postLostLooper);
fader();
}
function frame22(){
stop();
fader();
navButtons(awardBack_btn, "title");
sponsorLinkBtns(abPostAward_btn);
updateQualityAndMusicDisplay();
initAwardsScreen();
_setAwardsNameDesc(award1_mc, award1_Name, award1Des);
_setAwardsNameDesc(award2_mc, award2_Name, award2Des);
_setAwardsNameDesc(award3_mc, award3_Name, award3Des);
_setAwardsNameDesc(award4_mc, award4_Name, award4Des);
_setAwardsNameDesc(award5_mc, award5_Name, award5Des);
_setAwardsNameDesc(award6_mc, award6_Name, award6Des);
_setAwardsNameDesc(award7_mc, award7_Name, award7Des);
_setAwardsNameDesc(award8_mc, award8_Name, award8Des);
_setAwardsNameDesc(award9_mc, award9_Name, award9Des);
_setAwardsNameDesc(award10_mc, award10_Name, award10Des);
_setAwardsNameDesc(award11_mc, award11_Name, award11Des);
_setAwardsNameDesc(award12_mc, award12_Name, award12Des);
}
function frame24(){
Security.allowDomain("*");
Security.loadPolicyFile("http://hiscore.arcadebomb.com/crossdomain.xml");
loadmode = 1;
request = new URLRequest("http://hiscore.arcadebomb.com/bioassault_get.php");
loader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
request.data = ("m=" + loadmode);
request.method = URLRequestMethod.POST;
loader.addEventListener(Event.COMPLETE, handleComplete);
loader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
loader.load(request);
abShowScore_btn.addEventListener(MouseEvent.MOUSE_UP, button1Pressed);
mb2.addEventListener(MouseEvent.MOUSE_UP, button2Pressed);
navButtons(showScoreBack_btn, "title");
}
public function postWinLooper(_arg1:Event){
if (currentFrame == 17){
scroller(flakes1_2_mc, flakes2_2_mc, flakes3_2_mc, flakes4_2_mc, 0.8);
scroller(flakes1_1_mc, flakes2_1_mc, flakes3_1_mc, flakes4_1_mc, 1);
} else {
this.removeEventListener(Event.ENTER_FRAME, postWinLooper);
};
}
function frame19(){
stop();
updateQualityAndMusicDisplay();
kills_txt.text = String(kills_levels);
coins_txt.text = String(money_levels);
navButtons(postWinNext_btn, "prelevel");
sponsorLinkBtns(abPostWin_btn);
this.addEventListener(Event.ENTER_FRAME, postWinLooper);
fader();
}
public function removeFromArray(_arg1:Array, _arg2:MovieClip){
var _local3:Number;
_local3 = 0;
while (_local3 < _arg1.length) {
if (_arg1[_local3] == _arg2){
_arg1.splice(_local3, 1);
levelContainer_mc.removeChild(_arg2);
break;
};
_local3++;
};
}
public function flareTmrComplete(_arg1:TimerEvent){
flareTmrObject.reset();
}
public function buttonPressed(_arg1:MouseEvent){
var _local2:URLVariables;
var _local3:URLRequest;
var _local4:URLLoader;
Name = submit.inputbox.text;
Score = bioAssault_so.data.killsOveralll_so;
_local2 = new URLVariables();
_local2.n = Name;
_local2.s = Score;
_local2.k = MD5.hash(("" + (Score + 1518)));
_local2.m = 1;
trace(_local2);
_local3 = new URLRequest("http://hiscore.arcadebomb.com/bioassault_submit.php");
_local3.method = "POST";
_local3.data = _local2;
_local4 = new URLLoader();
_local4.load(_local3);
_local4.addEventListener(Event.COMPLETE, goodjob);
}
public function playBG1(){
SoundMixer.stopAll();
if (music == "on"){
trace("BG1");
nonGameScreenSnd.play(0, int.MAX_VALUE);
};
}
public function playBG2(){
SoundMixer.stopAll();
if (music == "on"){
gameScreenSnd.play(0, int.MAX_VALUE);
};
}
public function playBG3(){
playBossWarningSnd();
SoundMixer.stopAll();
if (music == "on"){
bossSnd.play(0, int.MAX_VALUE);
};
}
public function navButtons(_arg1:MovieClip, _arg2:String){
var movr:Function;
var mout:Function;
var mclck:Function;
var btn = _arg1;
var whereTo = _arg2;
movr = function (_arg1:MouseEvent){
playBtnHoverSnd();
};
mout = function (_arg1:MouseEvent){
};
mclck = function (_arg1:MouseEvent){
playBtnClickSnd();
gotoAndStop(whereTo);
};
btn.buttonMode = true;
btn.addEventListener(MouseEvent.MOUSE_OVER, movr);
btn.addEventListener(MouseEvent.MOUSE_OUT, mout);
btn.addEventListener(MouseEvent.CLICK, mclck);
}
public function attPlayerSpecial6Ammo(_arg1:MovieClip){
var _local2:PlayerAmmo1;
_local2 = new PlayerAmmo1(_arg1.x, _arg1.y, 270);
levelContainer_mc.addChild(_local2);
playerAmmo1Array.push(_local2);
}
public function shopLooper(_arg1:Event){
if (currentFrame == 4){
scroller(flakes1_2_mc, flakes2_2_mc, flakes3_2_mc, flakes4_2_mc, 0.8);
scroller(flakes1_1_mc, flakes2_1_mc, flakes3_1_mc, flakes4_1_mc, 1);
scroller(plate1_2_mc, plate2_2_mc, plate3_2_mc, plate4_2_mc, 1.2);
} else {
this.removeEventListener(Event.ENTER_FRAME, shopLooper);
};
}
public function playHomingSnd(){
if (music == "on"){
homingSnd.play();
};
}
public function initWireOnEnemies(){
var _local1:Number;
var _local2:Number;
_local1 = (enemyArray.length - 1);
while (_local1 >= 0) {
if ((((((((enemyArray[_local1].x > 0)) && ((enemyArray[_local1].x < 550)))) && ((enemyArray[_local1].y > 0)))) && ((enemyArray[_local1].y < 550)))){
enemyArray[_local1].initWire();
};
_local1--;
};
_local2 = (bossArray.length - 1);
while (_local2 >= 0) {
bossArray[_local2].initWire();
_local2--;
};
}
public function loading(_arg1:Event):void{
var _local2:Number;
var _local3:Number;
_local2 = this.stage.loaderInfo.bytesTotal;
_local3 = this.stage.loaderInfo.bytesLoaded;
barContainer_mc.bar_mc.scaleX = (_local3 / _local2);
if (_local2 == _local3){
this.removeEventListener(Event.ENTER_FRAME, loading);
gotoAndPlay(2);
};
}
function frame21(){
stop();
navButtons(postFinNext_btn, "submitScore");
sponsorLinkBtns(abPostFin_btn);
updateQualityAndMusicDisplay();
this.addEventListener(Event.ENTER_FRAME, postFinLooper);
fader();
}
public function playBuySnd(){
if (music == "on"){
buySnd.play();
};
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * (_arg2 - _arg1))) + _arg1);
return (_local3);
}
public function checkHit(_arg1:Array, _arg2:Array, _arg3:Number){
var _local4:Number;
var _local5:Number;
_local4 = (_arg1.length - 1);
while (_local4 >= 0) {
_local5 = (_arg2.length - 1);
while (_local5 >= 0) {
if (_arg1[_local4].hitBox_mc.hitTestObject(_arg2[_local5].hitBox_mc)){
if ((((_arg1 == playerSpecial3Array)) || ((_arg1 == playerSpecial1Array)))){
attExplosion(_arg1[_local4]);
};
_arg1[_local4].destruct("");
_arg2[_local5].life = (_arg2[_local5].life - _arg3);
_arg2[_local5].flash_mc.gotoAndPlay(2);
break;
};
_local5--;
};
_local4--;
};
}
public function fader(){
fader_mc.gotoAndPlay(1);
}
public function postFinLooper(_arg1:Event){
if (currentFrame == 19){
scroller(flakes1_2_mc, flakes2_2_mc, flakes3_2_mc, flakes4_2_mc, 0.8);
scroller(flakes1_1_mc, flakes2_1_mc, flakes3_1_mc, flakes4_1_mc, 1);
} else {
this.removeEventListener(Event.ENTER_FRAME, postFinLooper);
};
}
public function attSpecialRecharge(){
var _local1:Number;
var _local2:Number;
var _local3:SpecialRecharge;
if ((((((((((((special1Availability == "sold")) || ((special2Availability == "sold")))) || ((special3Availability == "sold")))) || ((special4Availability == "sold")))) || ((special5Availability == "sold")))) || ((special6Availability == "sold")))){
_local1 = randomGenerator(50, 500);
_local2 = randomGenerator(-50, 0);
_local3 = new SpecialRecharge(_local1, _local2, 90);
levelContainer_mc.addChild(_local3);
moneyArray.push(_local3);
};
}
public function sponsorLinkSplash(_arg1:MovieClip){
var movr:Function;
var mout:Function;
var clck:Function;
var btn = _arg1;
movr = function (_arg1:MouseEvent){
};
mout = function (_arg1:MouseEvent){
};
clck = function (_arg1:MouseEvent){
var _local2:String;
var _local3:URLRequest;
_local2 = "http://www.arcadebomb.com";
_local3 = new URLRequest(_local2);
navigateToURL(_local3, "_new");
};
btn.buttonMode = true;
btn.addEventListener(MouseEvent.MOUSE_OVER, movr);
btn.addEventListener(MouseEvent.MOUSE_OUT, mout);
btn.addEventListener(MouseEvent.CLICK, clck);
}
public function onIOError(_arg1:IOErrorEvent):void{
trace("Error loading URL.");
}
public function attEnemy11(_arg1:Number){
var _local2:Number;
var _local3:Enemy11;
_local2 = 0;
while (_local2 < _arg1) {
_local3 = new Enemy11(0, levelContainer_mc.player_mc);
_local3.main = this;
_local3.target = levelContainer_mc.player_mc;
_local3.x = randomGenerator(100, 350);
_local3.y = randomGenerator(-100, 50);
levelContainer_mc.addChild(_local3);
enemyArray.push(_local3);
_local2++;
};
}
public function attEnemy12(_arg1:Number){
var _local2:Number;
var _local3:Enemy12;
_local2 = 0;
while (_local2 < _arg1) {
_local3 = new Enemy12();
_local3.main = this;
_local3.target = levelContainer_mc.player_mc;
_local3.x = randomGenerator(100, 350);
_local3.y = randomGenerator(-100, 50);
levelContainer_mc.addChild(_local3);
enemyArray.push(_local3);
_local2++;
};
}
public function attEnemy13(_arg1:Number){
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Enemy13;
_local2 = 0;
while (_local2 < _arg1) {
_local3 = randomGenerator(1, 3);
if (_local3 == 1){
_local4 = randomGenerator(-50, -10);
_local5 = new Enemy13(_local4);
} else {
_local4 = randomGenerator(600, 650);
_local5 = new Enemy13(_local4);
};
_local5.main = this;
_local5.target = levelContainer_mc.player_mc;
_local5.x = _local4;
_local5.y = randomGenerator(40, 110);
levelContainer_mc.addChild(_local5);
enemyArray.push(_local5);
_local2++;
};
}
public function attEnemy14(_arg1:Number){
var _local2:Number;
var _local3:Enemy14;
_local2 = 0;
while (_local2 < _arg1) {
_local3 = new Enemy14(0, levelContainer_mc.player_mc);
_local3.main = this;
_local3.x = randomGenerator(100, 350);
_local3.y = randomGenerator(-100, 50);
levelContainer_mc.addChild(_local3);
enemyArray.push(_local3);
_local2++;
};
}
public function attEnemy10(_arg1:Number){
var _local2:Number;
var _local3:Enemy10;
_local2 = 0;
while (_local2 < _arg1) {
_local3 = new Enemy10();
_local3.main = this;
_local3.target = levelContainer_mc.player_mc;
_local3.x = randomGenerator(100, 350);
_local3.y = randomGenerator(-100, 50);
levelContainer_mc.addChild(_local3);
enemyArray.push(_local3);
_local2++;
};
}
public function attEnemy15(_arg1:Number){
var _local2:Number;
var _local3:Enemy15;
_local2 = 0;
while (_local2 < _arg1) {
_local3 = new Enemy15();
_local3.main = this;
_local3.target = levelContainer_mc.player_mc;
_local3.x = randomGenerator(10, 450);
_local3.y = randomGenerator(-100, 50);
levelContainer_mc.addChild(_local3);
enemyArray.push(_local3);
_local2++;
};
}
public function sponsorLinkBtns(_arg1:MovieClip){
var movr:Function;
var mout:Function;
var clck:Function;
var btn = _arg1;
movr = function (_arg1:MouseEvent){
playBtnHoverSnd();
btn.gotoAndStop(2);
};
mout = function (_arg1:MouseEvent){
btn.gotoAndStop(1);
};
clck = function (_arg1:MouseEvent){
var _local2:String;
var _local3:URLRequest;
_local2 = "http://www.arcadebomb.com";
_local3 = new URLRequest(_local2);
navigateToURL(_local3, "_new");
};
btn.buttonMode = true;
btn.addEventListener(MouseEvent.MOUSE_OVER, movr);
btn.addEventListener(MouseEvent.MOUSE_OUT, mout);
btn.addEventListener(MouseEvent.CLICK, clck);
}
public function playLaserSnd(){
if (music == "on"){
laserSnd.play();
};
}
public function upgrades(_arg1:MovieClip){
var movr:Function;
var mout:Function;
var mclck:Function;
var btn = _arg1;
movr = function (_arg1:MouseEvent){
playBtnHoverSnd();
upgradesContainer_mc.itemDes_txt.textColor = 0xFFFF00;
switch (btn){
case upgradesContainer_mc.upgrade1_btn:
upgradesContainer_mc.itemDes_txt.text = String(((upgrade1_name + "\n\n") + upgrade1_des));
break;
case upgradesContainer_mc.upgrade2_btn:
upgradesContainer_mc.itemDes_txt.text = String(((upgrade2_name + "\n\n") + upgrade2_des));
break;
case upgradesContainer_mc.upgrade3_btn:
upgradesContainer_mc.itemDes_txt.text = String(((upgrade3_name + "\n\n") + upgrade3_des));
break;
case upgradesContainer_mc.upgrade4_btn:
upgradesContainer_mc.itemDes_txt.text = String(((upgrade4_name + "\n\n") + upgrade4_des));
break;
case upgradesContainer_mc.upgrade5_btn:
upgradesContainer_mc.itemDes_txt.text = String(((upgrade5_name + "\n\n") + upgrade5_des));
break;
case upgradesContainer_mc.upgrade6_btn:
upgradesContainer_mc.itemDes_txt.text = String(((upgrade6_name + "\n\n") + upgrade6_des));
break;
};
};
mout = function (_arg1:MouseEvent){
upgradesContainer_mc.itemDes_txt.textColor = 0xFF9900;
upgradesContainer_mc.itemDes_txt.text = "Item Description \n\n Hover your mouse on an item to see their description.";
};
mclck = function (_arg1:MouseEvent){
switch (btn){
case upgradesContainer_mc.upgrade1_btn:
if (upgrade1Level < 5){
if (moneyOverall >= upgrade1_price){
upgrade1Level++;
upgradesContainer_mc.showUpgrade1Level_txt.text = String((upgrade1Level + " / 5"));
updateMoney(moneyOverall, upgrade1_price);
upgrade1_price = (upgrade1_price + upgrade1_price);
upgradesContainer_mc.upgrade1price_txt.text = String(upgrade1_price);
};
};
if (upgrade1Level == 5){
upgradesContainer_mc.upgrade1price_txt.text = "complete";
setTextColorToRed(upgradesContainer_mc.upgrade1price_txt);
};
break;
case upgradesContainer_mc.upgrade2_btn:
if (upgrade2Level < 5){
if (moneyOverall >= upgrade2_price){
upgrade2Level++;
upgradesContainer_mc.showUpgrade2Level_txt.text = String((upgrade2Level + " / 5"));
updateMoney(moneyOverall, upgrade2_price);
upgrade2_price = (upgrade2_price + upgrade2_price);
upgradesContainer_mc.upgrade2price_txt.text = String(upgrade2_price);
};
};
if (upgrade2Level == 5){
upgradesContainer_mc.upgrade2price_txt.text = "complete";
setTextColorToRed(upgradesContainer_mc.upgrade2price_txt);
};
break;
case upgradesContainer_mc.upgrade3_btn:
if (upgrade3Level < 3){
if (moneyOverall >= upgrade3_price){
upgrade3Level++;
upgradesContainer_mc.showUpgrade3Level_txt.text = String((upgrade3Level + " / 3"));
updateMoney(moneyOverall, upgrade3_price);
upgrade3_price = (upgrade3_price + upgrade3_price);
upgradesContainer_mc.upgrade3price_txt.text = String(upgrade3_price);
};
};
if (upgrade3Level == 3){
upgradesContainer_mc.upgrade3price_txt.text = "complete";
setTextColorToRed(upgradesContainer_mc.upgrade3price_txt);
};
break;
case upgradesContainer_mc.upgrade4_btn:
if (upgrade4Level < 5){
if (moneyOverall >= upgrade4_price){
upgrade4Level++;
upgradesContainer_mc.showUpgrade4Level_txt.text = String((upgrade4Level + " / 5"));
updateMoney(moneyOverall, upgrade4_price);
upgrade4_price = (upgrade4_price + upgrade4_price);
upgradesContainer_mc.upgrade4price_txt.text = String(upgrade4_price);
};
};
if (upgrade4Level == 5){
upgradesContainer_mc.upgrade4price_txt.text = "complete";
setTextColorToRed(upgradesContainer_mc.upgrade4price_txt);
};
break;
case upgradesContainer_mc.upgrade5_btn:
if (upgrade5Level < 5){
if (moneyOverall >= upgrade5_price){
upgrade5Level++;
upgradesContainer_mc.showUpgrade5Level_txt.text = String((upgrade5Level + " / 5"));
updateMoney(moneyOverall, upgrade5_price);
upgrade5_price = (upgrade5_price + upgrade5_price);
upgradesContainer_mc.upgrade5price_txt.text = String(upgrade5_price);
};
};
if (upgrade5Level == 5){
upgradesContainer_mc.upgrade5price_txt.text = "complete";
setTextColorToRed(upgradesContainer_mc.upgrade5price_txt);
};
break;
case upgradesContainer_mc.upgrade6_btn:
if (upgrade6Level < 5){
if (moneyOverall >= upgrade6_price){
upgrade6Level++;
upgradesContainer_mc.showUpgrade6Level_txt.text = String((upgrade6Level + " / 5"));
updateMoney(moneyOverall, upgrade6_price);
upgrade6_price = (upgrade6_price + upgrade6_price);
upgradesContainer_mc.upgrade6price_txt.text = String(upgrade6_price);
};
};
if (upgrade6Level == 5){
upgradesContainer_mc.upgrade6price_txt.text = "complete";
setTextColorToRed(upgradesContainer_mc.upgrade6price_txt);
};
break;
};
saveToLSO();
};
btn.buttonMode = true;
btn.addEventListener(MouseEvent.MOUSE_OVER, movr);
btn.addEventListener(MouseEvent.MOUSE_OUT, mout);
btn.addEventListener(MouseEvent.CLICK, mclck);
}
public function attEnemyAmmo1(_arg1:MovieClip){
var _local2:EnemyAmmo1;
_local2 = new EnemyAmmo1(_arg1.x, (_arg1.y + 24), 90);
_local2.main = this;
levelContainer_mc.addChild(_local2);
enemyAmmo1Array.push(_local2);
}
public function attEnemyAmmo2(_arg1:MovieClip){
var _local2:Number;
var _local3:Number;
var _local4:EnemyAmmo2;
_local2 = 150;
_local3 = 0;
while (_local3 < 3) {
_local2 = (_local2 - 30);
_local4 = new EnemyAmmo2(_arg1.x, _arg1.y, _local2);
_local4.main = this;
levelContainer_mc.addChild(_local4);
enemyAmmo2Array.push(_local4);
_local3++;
};
}
public function attEnemyAmmo4(_arg1:MovieClip){
var _local2:Number;
var _local3:Number;
var _local4:EnemyAmmo4;
_local2 = 360;
_local3 = 0;
while (_local3 < 8) {
_local2 = (_local2 - 45);
_local4 = new EnemyAmmo4(_arg1.x, _arg1.y, _local2);
_local4.main = this;
levelContainer_mc.addChild(_local4);
enemyAmmo4Array.push(_local4);
_local3++;
};
}
public function attEnemyAmmo5(_arg1:MovieClip){
var _local2:Number;
var _local3:Number;
var _local4:EnemyAmmo5;
_local2 = 360;
_local3 = 0;
while (_local3 < 12) {
_local2 = (_local2 - 30);
_local4 = new EnemyAmmo5(_arg1.x, _arg1.y, _local2);
_local4.main = this;
levelContainer_mc.addChild(_local4);
enemyAmmo5Array.push(_local4);
_local3++;
};
}
public function attEnemyAmmo6(_arg1:MovieClip){
}
public function attEnemyAmmo3(_arg1:MovieClip){
var _local2:Number;
var _local3:Number;
var _local4:EnemyAmmo3;
_local2 = 160;
_local3 = 0;
while (_local3 < 6) {
_local2 = (_local2 - 20);
_local4 = new EnemyAmmo3(_arg1.x, (_arg1.y + 20), _local2);
_local4.main = this;
levelContainer_mc.addChild(_local4);
enemyAmmo3Array.push(_local4);
_local3++;
};
}
public function removeWireOnEnemies(){
var _local1:Number;
var _local2:Number;
_local1 = (enemyArray.length - 1);
while (_local1 >= 0) {
enemyArray[_local1].removeWire();
_local1--;
};
_local2 = (bossArray.length - 1);
while (_local2 >= 0) {
bossArray[_local2].removeWire();
_local2--;
};
}
public function screenShake(){
Earthquake.go(this, 10, 0.9);
}
public function looper(_arg1:Event){
var _local2:Number;
var _local3:Number;
if ((((level == 1)) && ((levelComplete == false)))){
if ((((wave_lvl1 >= waveMax_lvl1)) && ((enemyArray.length == 0)))){
trace("Game OVER 1");
updateLevel();
};
};
if ((((level == 2)) && ((levelComplete == false)))){
if ((((((wave_lvl2 >= waveMax_lvl2)) && ((enemyArray.length == 0)))) && ((bossArray.length == 0)))){
trace("Game OVER 2");
updateLevel();
};
};
if ((((level == 3)) && ((levelComplete == false)))){
if ((((wave_lvl3 >= waveMax_lvl3)) && ((enemyArray.length == 0)))){
trace("Game OVER 3");
updateLevel();
};
};
if ((((level == 4)) && ((levelComplete == false)))){
if ((((((wave_lvl4 >= waveMax_lvl4)) && ((enemyArray.length == 0)))) && ((bossArray.length == 0)))){
trace("Game OVER 4");
updateLevel();
};
};
if ((((level == 5)) && ((levelComplete == false)))){
if ((((wave_lvl5 >= waveMax_lvl5)) && ((enemyArray.length == 0)))){
trace("Game OVER 5");
updateLevel();
};
};
if ((((level == 6)) && ((levelComplete == false)))){
if ((((((wave_lvl6 >= waveMax_lvl6)) && ((enemyArray.length == 0)))) && ((bossArray.length == 0)))){
trace("Game OVER 6");
updateLevel();
};
};
if ((((level == 7)) && ((levelComplete == false)))){
if ((((wave_lvl7 >= waveMax_lvl7)) && ((enemyArray.length == 0)))){
trace("Game OVER 7");
updateLevel();
};
};
if ((((level == 8)) && ((levelComplete == false)))){
if ((((((wave_lvl8 >= waveMax_lvl8)) && ((enemyArray.length == 0)))) && ((bossArray.length == 0)))){
trace("Game OVER 8");
updateLevel();
};
};
if ((((level == 9)) && ((levelComplete == false)))){
if ((((wave_lvl9 >= waveMax_lvl9)) && ((enemyArray.length == 0)))){
trace("Game OVER 9");
updateLevel();
};
};
if ((((level == 10)) && ((levelComplete == false)))){
if ((((((wave_lvl10 >= waveMax_lvl10)) && ((enemyArray.length == 0)))) && ((bossArray.length == 0)))){
trace("Game OVER 9");
updateLevel();
};
};
if ((((level == 11)) && ((levelComplete == false)))){
if ((((wave_lvl11 >= waveMax_lvl11)) && ((enemyArray.length == 0)))){
trace("Game OVER 9");
updateLevel();
};
};
if ((((level == 12)) && ((levelComplete == false)))){
if ((((((wave_lvl12 >= waveMax_lvl12)) && ((enemyArray.length == 0)))) && ((bossArray.length == 0)))){
trace("Game OVER 9");
updateLevel();
};
};
if (lifeNum <= 0){
if (dead == "false"){
dead = "true";
attExplosion(levelContainer_mc.player_mc);
toPostLevelTimer.start();
};
};
instanceLooper(playerAmmo1Array);
instanceLooper(playerAmmo2Array);
instanceLooper(playerAmmo3Array);
instanceLooper(playerAmmo4Array);
instanceLooper(playerAmmo5Array);
instanceLooper(playerAmmo6Array);
instanceLooper(playerAmmo7Array);
instanceLooper(bossArray);
instanceLooper(enemyArray);
instanceLooper(enemyAmmo1Array);
instanceLooper(enemyAmmo2Array);
instanceLooper(enemyAmmo3Array);
instanceLooper(enemyAmmo4Array);
instanceLooper(enemyAmmo5Array);
instanceLooper(enemyAmmo6Array);
instanceLooper(playerSpecial1Array);
instanceLooper(playerSpecial2Array);
instanceLooper(playerSpecial3Array);
instanceLooper(playerSpecial4Array);
instanceLooper(playerSpecial5Array);
instanceLooper(playerSpecial6Array);
instanceLooper(emergencyItem3Array);
instanceLooper(emergencyItem3aArray);
instanceLooper(pickUpAmmo1Array);
instanceLooper(pickUpAmmo2Array);
instanceLooper(pickUpAmmo3Array);
instanceLooper(pickUpAmmo4Array);
instanceLooper(pickupWeaponArray);
instanceLooper(moneyArray);
checkHit(playerAmmo1Array, enemyArray, weaponDmg);
checkHit(playerAmmo2Array, enemyArray, weaponDmg);
checkHit(playerAmmo3Array, enemyArray, weaponDmg);
checkHit(playerAmmo4Array, enemyArray, weaponDmg);
checkHit(playerAmmo5Array, enemyArray, weaponDmg);
checkHit(playerAmmo6Array, enemyArray, weaponDmg);
checkHit(playerAmmo7Array, enemyArray, weaponDmg);
checkHit(playerSpecial1Array, enemyArray, 20);
checkHit(playerSpecial2Array, enemyArray, 2);
checkHit(playerSpecial3Array, enemyArray, 20);
checkHit(playerSpecial4Array, enemyArray, 5);
checkHit(playerSpecial5Array, enemyArray, 2);
checkHit(pickUpAmmo1Array, enemyArray, weaponDmg);
checkHit(pickUpAmmo2Array, enemyArray, weaponDmg);
checkHit(pickUpAmmo3Array, enemyArray, weaponDmg);
checkHit(pickUpAmmo4Array, enemyArray, 5);
checkHit(emergencyItem3aArray, enemyArray, 10);
checkHit(playerAmmo1Array, bossArray, weaponDmg);
checkHit(playerAmmo2Array, bossArray, weaponDmg);
checkHit(playerAmmo3Array, bossArray, weaponDmg);
checkHit(playerAmmo4Array, bossArray, weaponDmg);
checkHit(playerAmmo5Array, bossArray, weaponDmg);
checkHit(playerAmmo6Array, bossArray, weaponDmg);
checkHit(playerAmmo7Array, bossArray, weaponDmg);
checkHit(playerSpecial1Array, bossArray, 40);
checkHit(playerSpecial2Array, bossArray, 4);
checkHit(playerSpecial3Array, bossArray, 40);
checkHit(playerSpecial4Array, bossArray, 10);
checkHit(playerSpecial5Array, bossArray, 2);
checkHit(playerSpecial6Array, bossArray, 2);
checkHit(pickUpAmmo1Array, bossArray, weaponDmg);
checkHit(pickUpAmmo2Array, bossArray, weaponDmg);
checkHit(pickUpAmmo3Array, bossArray, weaponDmg);
checkHit(pickUpAmmo4Array, bossArray, 10);
checkHit(emergencyItem3aArray, bossArray, 10);
playerCheckHit(enemyArray, 10);
playerCheckHit(enemyAmmo1Array, 10);
playerCheckHit(enemyAmmo2Array, 10);
playerCheckHit(enemyAmmo3Array, 10);
playerCheckHit(enemyAmmo4Array, 10);
playerCheckHit(enemyAmmo5Array, 10);
playerCheckHit(enemyAmmo6Array, 10);
playerCheckHit(bossArray, 10);
if (dead == "false"){
levelContainer_mc.player_mc.x = ((mouseFollowSpeed * (levelContainer_mc.player_mc.x - mouseX)) + mouseX);
levelContainer_mc.player_mc.y = ((mouseFollowSpeed * (levelContainer_mc.player_mc.y - mouseY)) + mouseY);
if (levelContainer_mc.player_mc.x <= (levelContainer_mc.player_mc.width / 2)){
levelContainer_mc.player_mc.x = (levelContainer_mc.player_mc.width / 2);
};
if (levelContainer_mc.player_mc.y <= ((levelContainer_mc.player_mc.height / 2) + 75)){
levelContainer_mc.player_mc.y = ((levelContainer_mc.player_mc.height / 2) + 75);
};
if (levelContainer_mc.player_mc.x >= (550 - (levelContainer_mc.player_mc.width / 2))){
levelContainer_mc.player_mc.x = (550 - (levelContainer_mc.player_mc.width / 2));
};
if (levelContainer_mc.player_mc.y >= (550 - (levelContainer_mc.player_mc.height / 2))){
levelContainer_mc.player_mc.y = (550 - (levelContainer_mc.player_mc.height / 2));
};
} else {
levelContainer_mc.player_mc.x = -500;
};
firingFunction();
if (special2Availability == "sold"){
attPlayerSpecial2();
};
if (special4Activated == "true"){
blasterEnergy--;
if (blasterEnergy == (blasterEnergyMax - 1)){
playBlasterSnd();
levelContainer_mc.superBlaster_mc.gotoAndPlay(1);
};
if (blasterEnergy > 0){
levelContainer_mc.superBlaster_mc.x = levelContainer_mc.player_mc.x;
levelContainer_mc.superBlaster_mc.y = levelContainer_mc.player_mc.y;
attPlayerSpecial4();
} else {
special4Activated = "false";
levelContainer_mc.superBlaster_mc.stop();
levelContainer_mc.superBlaster_mc.x = -200;
levelContainer_mc.superBlaster_mc.y = 500;
};
};
if (special5Activated == "true"){
wireEnergy--;
if (wireEnergy == 1){
_local2 = (enemyArray.length - 1);
while (_local2 >= 0) {
if (enemyArray[_local2].wireOn == "yes"){
trace("merong wire");
enemyArray[_local2].life = 0;
};
_local2--;
};
_local3 = (bossArray.length - 1);
while (_local3 >= 0) {
if (bossArray[_local3].wireOn == "yes"){
trace("merong wire");
bossArray[_local3].life = (bossArray[_local3].life - (bossArray[_local3].lifeDenom * 0.2));
bossArray[_local3].removeWire();
};
_local3--;
};
};
};
if (shieldActivated == "yes"){
if (shieldEnergyNum > 0){
shieldEnergyNum--;
shieldInUse = "yes";
} else {
shieldInUse = "no";
levelContainer_mc.player_mc.forceField_mc.gotoAndStop(1);
};
};
if (pickupWeapon == "homingMiniMissile"){
trace("mini homing");
attPickUpAmmo4();
};
scroller(flakes1_2_mc, flakes2_2_mc, flakes3_2_mc, flakes4_2_mc, 0.8);
scroller(flakes1_1_mc, flakes2_1_mc, flakes3_1_mc, flakes4_1_mc, 1);
scroller(plate1_2_mc, plate2_2_mc, plate3_2_mc, plate4_2_mc, 1.2);
scroller(plate1_1_mc, plate2_1_mc, plate3_1_mc, plate4_1_mc, 2);
lifeBarContainer_mc.lifeBar_mc.scaleX = (lifeNum / lifeDenom);
if (lifeNum <= 0){
lifeBarContainer_mc.lifeBar_mc.scaleX = 0;
};
coins_txt.text = String(("ACQUIRED BYTES:\n" + money_levels));
kills_txt.text = String(("DESTOYED ENEMIES:\n" + kills_levels));
}
public function firingFunction(){
if (fireWeapon == "open"){
if (pickupWeapon == "weapon5"){
trace("ammo5");
attPickUpAmmo1();
} else {
if (pickupWeapon == "weapon6"){
trace("ammo6");
attPickUpAmmo2();
} else {
if (pickupWeapon == "weapon7"){
trace("ammo7");
attPickUpAmmo3();
} else {
switch (selectedWeapon){
case 1:
trace("ammo1");
attPlayerAmmo1();
break;
case 2:
trace("ammo2");
attPlayerAmmo2();
break;
case 3:
trace("ammo3");
attPlayerAmmo3();
break;
case 4:
trace("ammo4");
attPlayerAmmo4();
break;
};
};
};
};
};
}
public function toPostLevel(_arg1:TimerEvent){
playBG1();
stage.removeEventListener(Event.ENTER_FRAME, looper);
waveTimer_lvl1.reset();
waveTimer_lvl2.reset();
waveTimer_lvl3.reset();
waveTimer_lvl4.reset();
waveTimer_lvl5.reset();
waveTimer_lvl6.reset();
waveTimer_lvl7.reset();
waveTimer_lvl8.reset();
waveTimer_lvl9.reset();
waveTimer_lvl10.reset();
waveTimer_lvl12.reset();
waveTimer_lvl12.reset();
toPostLevelTimer.reset();
endLevelCleanUpArray(playerAmmo1Array);
endLevelCleanUpArray(playerAmmo2Array);
endLevelCleanUpArray(playerAmmo3Array);
endLevelCleanUpArray(playerAmmo4Array);
endLevelCleanUpArray(playerAmmo5Array);
endLevelCleanUpArray(playerAmmo6Array);
endLevelCleanUpArray(playerAmmo7Array);
endLevelCleanUpArray(bossArray);
endLevelCleanUpArray(enemyArray);
endLevelCleanUpArray(enemyAmmo1Array);
endLevelCleanUpArray(enemyAmmo2Array);
endLevelCleanUpArray(enemyAmmo3Array);
endLevelCleanUpArray(enemyAmmo4Array);
endLevelCleanUpArray(enemyAmmo5Array);
endLevelCleanUpArray(enemyAmmo6Array);
endLevelCleanUpArray(playerSpecial1Array);
endLevelCleanUpArray(playerSpecial2Array);
endLevelCleanUpArray(playerSpecial3Array);
endLevelCleanUpArray(playerSpecial4Array);
endLevelCleanUpArray(playerSpecial5Array);
endLevelCleanUpArray(playerSpecial6Array);
endLevelCleanUpArray(emergencyItem3Array);
endLevelCleanUpArray(emergencyItem3aArray);
endLevelCleanUpArray(pickUpAmmo1Array);
endLevelCleanUpArray(pickUpAmmo2Array);
endLevelCleanUpArray(pickUpAmmo3Array);
endLevelCleanUpArray(pickUpAmmo4Array);
endLevelCleanUpArray(pickupWeaponArray);
endLevelCleanUpArray(moneyArray);
if (lifeNum > 0){
moneyOverall = (moneyOverall + money_levels);
killsOverall = (killsOverall + kills_levels);
level++;
if (level > 12){
level = 12;
gotoAndStop("postFin");
} else {
gotoAndStop("postWin");
};
saveToLSO();
} else {
moneyOverall = (moneyOverall + Math.round((money_levels * 0.3)));
saveToLSO();
gotoAndStop("postLost");
};
}
public function mDown(_arg1:MouseEvent){
if ((((currentFrame >= 5)) && ((currentFrame <= 16)))){
fireWeapon = "open";
};
trace("shoot");
}
public function deployEnemy_Lvl1(_arg1:TimerEvent){
wave_lvl1++;
trace(wave_lvl1);
switch (wave_lvl1){
case 1:
attEnemy1(1);
attEnemy2(1);
break;
case 2:
attEnemy1(1);
attEnemy2(1);
break;
case 3:
attEnemy1(1);
attEnemy2(1);
break;
case 4:
attEnemy1(1);
attEnemy2(1);
attEnemy3(1);
break;
case 5:
attEnemy1(1);
break;
case 6:
attPickupWeapon1();
attEnemy2(2);
break;
case 7:
attEnemy2(2);
break;
case 8:
attEnemy1(2);
break;
case 9:
attSpecialRecharge();
attEnemy2(2);
break;
case 10:
attHealth1();
attEnemy1(2);
break;
case 11:
attEnemy2(2);
break;
case 12:
attPickupWeapon2();
attEnemy1(2);
break;
case 13:
attEnemy2(2);
break;
case 14:
attEnemy1(2);
break;
case 15:
attEnemy2(2);
break;
case 16:
attEnemy1(2);
break;
case 17:
attEnemy2(2);
break;
case 18:
attEnemy1(2);
break;
default:
break;
};
}
public function playAcquireSnd(){
if (music == "on"){
acquireSnd.play();
};
}
public function deployEnemy_Lvl4(_arg1:TimerEvent){
wave_lvl4++;
trace(wave_lvl4);
switch (wave_lvl4){
case 1:
attEnemy6(1);
break;
case 2:
attEnemy5(1);
attEnemy2(1);
break;
case 3:
attEnemy6(1);
break;
case 4:
attEnemy5(1);
break;
case 5:
attEnemy4(4, "left");
break;
case 6:
attEnemy2(2);
break;
case 7:
attHealth1();
attEnemy4(6, "right");
attEnemy6(2);
break;
case 8:
attPickupWeapon2();
attEnemy5(1);
break;
case 9:
attEnemy2(1);
break;
case 10:
attEnemy4(3, "right");
break;
case 11:
attEnemy2(2);
attEnemy6(2);
break;
case 12:
attSpecialRecharge();
attEnemy4(3, "right");
break;
case 13:
attEnemy5(1);
attEnemy6(2);
break;
case 14:
attHealth2();
attEnemy1(1);
break;
case 15:
attEnemy4(7, "left");
break;
case 16:
attPickupWeapon3();
attEnemy2(2);
break;
case 17:
attEnemy1(1);
break;
case 18:
attEnemy4(6, "right");
break;
case 19:
attEnemy2(3);
break;
case 20:
attEnemy6(2);
break;
case 21:
attHealth1();
attEnemy5(1);
break;
case 22:
attEnemy5(1);
break;
case 23:
attEnemy6(2);
break;
case 24:
attEnemy2(1);
attBossPrompter();
break;
case 25:
attEnemy6(2);
attBoss2();
break;
default:
break;
};
}
public function deployEnemy_Lvl5(_arg1:TimerEvent){
wave_lvl5++;
trace(wave_lvl5);
switch (wave_lvl5){
case 1:
attEnemy6(1);
attEnemy7(1);
break;
case 2:
attEnemy2(1);
attEnemy4(4, "left");
break;
case 3:
attEnemy6(2);
break;
case 4:
attEnemy5(2);
break;
case 5:
attHealth1();
attEnemy4(4, "left");
break;
case 6:
attEnemy2(2);
break;
case 7:
attEnemy4(6, "right");
attEnemy6(2);
break;
case 8:
attEnemy5(1);
attEnemy7(1);
break;
case 9:
attEnemy7(2);
break;
case 10:
attPickupWeapon2();
attHealth1();
attEnemy4(3, "right");
break;
case 11:
attEnemy2(2);
attEnemy6(2);
break;
case 12:
attEnemy4(3, "right");
break;
case 13:
attEnemy5(1);
attEnemy6(2);
break;
case 14:
attEnemy1(1);
attEnemy7(1);
break;
case 15:
attSpecialRecharge();
attHealth2();
attEnemy4(7, "left");
break;
case 16:
attEnemy2(2);
attEnemy7(1);
break;
case 17:
attEnemy2(2);
break;
case 18:
attEnemy4(6, "right");
break;
case 19:
attEnemy2(2);
break;
case 20:
attPickupWeapon3();
attHealth1();
attEnemy6(2);
break;
case 21:
attEnemy5(1);
attEnemy7(1);
break;
case 22:
attEnemy5(1);
attEnemy7(1);
break;
case 23:
attEnemy6(2);
attEnemy7(1);
break;
case 24:
attEnemy2(2);
break;
case 25:
attHealth1();
attEnemy6(2);
break;
case 26:
attEnemy5(1);
attEnemy7(1);
break;
case 27:
attEnemy5(2);
break;
case 28:
attEnemy6(2);
break;
case 29:
attEnemy2(2);
attEnemy7(1);
break;
case 30:
attEnemy6(2);
break;
default:
break;
};
}
public function deployEnemy_Lvl6(_arg1:TimerEvent){
wave_lvl6++;
trace(wave_lvl6);
switch (wave_lvl6){
case 1:
attEnemy6(1);
attEnemy7(1);
break;
case 2:
attEnemy2(1);
attEnemy4(4, "left");
break;
case 3:
attEnemy6(2);
break;
case 4:
attEnemy8(2);
break;
case 5:
attHealth1();
attEnemy4(4, "left");
break;
case 6:
attEnemy2(2);
break;
case 7:
attEnemy4(6, "right");
attEnemy6(2);
break;
case 8:
attEnemy5(1);
attEnemy8(2);
break;
case 9:
attEnemy7(2);
break;
case 10:
attPickupWeapon3();
attHealth1();
attEnemy4(3, "right");
break;
case 11:
attEnemy2(2);
attEnemy6(2);
break;
case 12:
attEnemy4(3, "right");
break;
case 13:
attEnemy5(1);
attEnemy6(2);
break;
case 14:
attSpecialRecharge();
attEnemy1(1);
attEnemy8(2);
break;
case 15:
attHealth2();
attEnemy4(7, "left");
break;
case 16:
attEnemy2(2);
attEnemy7(1);
break;
case 17:
attEnemy2(2);
break;
case 18:
attEnemy4(6, "right");
break;
case 19:
attEnemy8(2);
break;
case 20:
attPickupWeapon4();
attHealth1();
attEnemy6(2);
break;
case 21:
attEnemy5(1);
attEnemy8(2);
break;
case 22:
attEnemy5(1);
attEnemy7(1);
break;
case 23:
attEnemy6(2);
attEnemy8(2);
break;
case 24:
attEnemy2(2);
break;
case 25:
attHealth1();
attEnemy8(2);
break;
case 26:
attEnemy5(1);
attEnemy8(2);
break;
case 27:
attEnemy5(2);
break;
case 28:
attEnemy6(2);
break;
case 29:
attEnemy2(2);
attEnemy8(2);
attBossPrompter();
break;
case 30:
attEnemy8(2);
attBoss3();
break;
default:
break;
};
}
public function deployEnemy_Lvl7(_arg1:TimerEvent){
wave_lvl7++;
trace(wave_lvl7);
switch (wave_lvl7){
case 1:
attEnemy3(1);
attEnemy5(1);
break;
case 2:
attEnemy6(1);
attEnemy4(4, "left");
break;
case 3:
attEnemy9(2);
break;
case 4:
attEnemy8(2);
break;
case 5:
attHealth1();
attEnemy7(1);
attEnemy4(4, "left");
break;
case 6:
attEnemy9(2);
break;
case 7:
attEnemy4(6, "right");
attEnemy6(2);
break;
case 8:
attEnemy5(1);
attEnemy8(2);
break;
case 9:
attEnemy1(2);
break;
case 10:
attPickupWeapon3();
attEnemy7(1);
attEnemy4(3, "right");
attEnemy9(2);
break;
case 11:
attEnemy2(2);
attEnemy6(2);
break;
case 12:
attEnemy4(3, "right");
break;
case 13:
attEnemy2(1);
attEnemy6(2);
break;
case 14:
attEnemy1(1);
attEnemy9(2);
break;
case 15:
attHealth2();
attEnemy7(1);
attEnemy4(7, "left");
break;
case 16:
attEnemy2(2);
attEnemy9(1);
break;
case 17:
attSpecialRecharge();
attEnemy2(2);
break;
case 18:
attEnemy4(6, "right");
break;
case 19:
attEnemy9(2);
break;
case 20:
attPickupWeapon4();
attEnemy7(2);
attEnemy6(2);
break;
case 21:
attEnemy5(1);
attEnemy8(2);
break;
case 22:
attEnemy5(1);
attEnemy9(2);
break;
case 23:
attEnemy6(2);
attEnemy8(2);
break;
case 24:
attEnemy2(4);
break;
case 25:
attHealth1();
attEnemy7(2);
attEnemy8(2);
break;
case 26:
attEnemy5(1);
attEnemy8(2);
break;
case 27:
attEnemy5(2);
break;
case 28:
attEnemy5(2);
break;
case 29:
attEnemy2(2);
attEnemy9(2);
break;
case 30:
attEnemy7(2);
attEnemy9(2);
break;
default:
break;
};
}
public function playExplodeSnd(){
if (music == "on"){
explodeSnd.play();
};
}
public function deployEnemy_Lvl8(_arg1:TimerEvent){
wave_lvl8++;
trace(wave_lvl8);
switch (wave_lvl8){
case 1:
attEnemy3(1);
attEnemy5(1);
break;
case 2:
attEnemy10(1);
attEnemy4(4, "left");
break;
case 3:
attEnemy9(2);
break;
case 4:
attEnemy5(1);
break;
case 5:
attHealth1();
attEnemy4(4, "left");
break;
case 6:
attEnemy9(2);
break;
case 7:
attEnemy4(6, "right");
attEnemy6(2);
break;
case 8:
attEnemy8(2);
attEnemy10(1);
break;
case 9:
attEnemy10(1);
break;
case 10:
attPickupWeapon3();
attEnemy4(3, "right");
attEnemy9(2);
break;
case 11:
attEnemy2(2);
attEnemy6(2);
break;
case 12:
attEnemy4(3, "right");
break;
case 13:
attSpecialRecharge();
attEnemy2(1);
attEnemy6(2);
break;
case 14:
attEnemy10(1);
attEnemy9(2);
break;
case 15:
attHealth2();
attEnemy4(5, "left");
break;
case 16:
attEnemy2(2);
attEnemy9(1);
break;
case 17:
attEnemy10(1);
break;
case 18:
attEnemy4(6, "right");
break;
case 19:
attEnemy9(2);
break;
case 20:
attPickupWeapon4();
attEnemy6(2);
break;
case 21:
attEnemy5(1);
attEnemy8(2);
break;
case 22:
attEnemy9(2);
attEnemy10(1);
break;
case 23:
attEnemy6(2);
attEnemy8(2);
break;
case 24:
attEnemy2(2);
break;
case 25:
attHealth1();
attEnemy8(2);
break;
case 26:
attEnemy5(1);
attEnemy8(2);
break;
case 27:
attEnemy10(1);
break;
case 28:
attEnemy5(2);
break;
case 29:
attEnemy10(1);
attEnemy9(2);
attBossPrompter();
break;
case 30:
attEnemy9(2);
attBoss4();
break;
default:
break;
};
}
public function deployEnemy_Lvl9(_arg1:TimerEvent){
wave_lvl9++;
trace(wave_lvl9);
switch (wave_lvl9){
case 1:
attEnemy3(1);
attEnemy11(1);
break;
case 2:
attEnemy10(1);
attEnemy4(4, "left");
break;
case 3:
attEnemy9(2);
break;
case 4:
attEnemy5(1);
break;
case 5:
attHealth1();
attEnemy7(2);
attEnemy4(4, "left");
break;
case 6:
attEnemy11(2);
break;
case 7:
attEnemy4(6, "right");
attEnemy6(2);
break;
case 8:
attEnemy8(2);
attEnemy11(1);
break;
case 9:
attSpecialRecharge();
attEnemy10(1);
break;
case 10:
attPickupWeapon2();
attEnemy7(1);
attEnemy4(3, "right");
attEnemy9(2);
break;
case 11:
attEnemy2(2);
attEnemy6(2);
break;
case 12:
attEnemy4(3, "right");
break;
case 13:
attEnemy2(1);
attEnemy6(2);
break;
case 14:
attEnemy10(1);
attEnemy11(1);
break;
case 15:
attHealth2();
attEnemy7(2);
attEnemy4(5, "left");
break;
case 16:
attEnemy2(2);
attEnemy9(1);
break;
case 17:
attEnemy10(1);
break;
case 18:
attEnemy4(6, "right");
break;
case 19:
attEnemy9(2);
break;
case 20:
attPickupWeapon4();
attEnemy7(2);
attEnemy11(2);
break;
case 21:
attEnemy5(1);
attEnemy8(2);
break;
case 22:
attEnemy9(2);
attEnemy10(1);
break;
case 23:
attEnemy6(2);
attEnemy11(1);
break;
case 24:
attEnemy2(2);
break;
case 25:
attHealth1();
attEnemy7(2);
attEnemy8(2);
break;
case 26:
attEnemy5(1);
attEnemy11(1);
break;
case 27:
attEnemy10(1);
break;
case 28:
attEnemy5(2);
break;
case 29:
attEnemy10(1);
attEnemy9(2);
break;
case 30:
attEnemy7(2);
attEnemy11(1);
break;
default:
break;
};
}
public function deployEnemy_Lvl2(_arg1:TimerEvent){
wave_lvl2++;
trace(wave_lvl2);
switch (wave_lvl2){
case 1:
attEnemy3(1);
break;
case 2:
attEnemy1(1);
attEnemy2(1);
break;
case 3:
attEnemy3(2);
break;
case 4:
attEnemy2(1);
break;
case 5:
attEnemy4(4, "left");
break;
case 6:
attPickupWeapon1();
attEnemy2(2);
break;
case 7:
attHealth1();
attEnemy2(1);
break;
case 8:
attEnemy3(1);
break;
case 9:
attEnemy2(1);
break;
case 10:
attSpecialRecharge();
attEnemy1(1);
break;
case 11:
attEnemy2(2);
break;
case 12:
attPickupWeapon2();
attEnemy4(3, "right");
break;
case 13:
attEnemy2(2);
break;
case 14:
attHealth1();
attEnemy1(1);
break;
case 15:
attEnemy4(2, "left");
break;
case 16:
attEnemy1(2);
break;
case 17:
attEnemy1(1);
break;
case 18:
attEnemy1(1);
break;
case 19:
attEnemy1(2);
attBossPrompter();
break;
case 20:
attEnemy1(1);
attBoss1();
break;
default:
break;
};
}
public function deployEnemy_Lvl3(_arg1:TimerEvent){
wave_lvl3++;
trace(wave_lvl3);
switch (wave_lvl3){
case 1:
attEnemy3(1);
break;
case 2:
attEnemy1(1);
attEnemy2(1);
break;
case 3:
attEnemy3(2);
break;
case 4:
attEnemy5(1);
break;
case 5:
attEnemy4(4, "left");
break;
case 6:
attEnemy2(2);
break;
case 7:
attHealth1();
attEnemy4(6, "right");
break;
case 8:
attPickupWeapon1();
attEnemy5(1);
break;
case 9:
attEnemy2(1);
break;
case 10:
attEnemy4(3, "right");
break;
case 11:
attSpecialRecharge();
attEnemy2(2);
break;
case 12:
attEnemy4(3, "right");
break;
case 13:
attEnemy5(1);
break;
case 14:
attHealth1();
attEnemy1(1);
break;
case 15:
attEnemy4(2, "left");
break;
case 16:
attPickupWeapon2();
attEnemy1(2);
break;
case 17:
attEnemy1(1);
break;
case 18:
attEnemy4(3, "right");
break;
case 19:
attEnemy1(2);
break;
case 20:
attEnemy1(1);
break;
case 21:
attEnemy5(1);
break;
case 22:
attEnemy2(1);
break;
default:
break;
};
}
public function acquireEmergencyWeapon(_arg1:MovieClip){
var movr:Function;
var mout:Function;
var mclck:Function;
var btn = _arg1;
movr = function (_arg1:MouseEvent){
playBtnHoverSnd();
emergencyItemsContainer_mc.itemDes_txt.textColor = 0xFFFF00;
switch (btn){
case emergencyItemsContainer_mc.emergeny1Buy_btn:
emergencyItemsContainer_mc.itemDes_txt.text = String(((emergency1_name + "\n") + emergency1_des));
break;
case emergencyItemsContainer_mc.emergeny2Buy_btn:
emergencyItemsContainer_mc.itemDes_txt.text = String(((emergency2_name + "\n") + emergency2_des));
break;
case emergencyItemsContainer_mc.emergeny3Buy_btn:
emergencyItemsContainer_mc.itemDes_txt.text = String(((emergency3_name + "\n") + emergency3_des));
break;
};
};
mout = function (_arg1:MouseEvent){
emergencyItemsContainer_mc.itemDes_txt.textColor = 0xFF9900;
emergencyItemsContainer_mc.itemDes_txt.text = "Item Description \n\n Hover your mouse on an item to see their description.";
};
mclck = function (_arg1:MouseEvent){
switch (btn){
case emergencyItemsContainer_mc.emergeny1Buy_btn:
if (emergency1Availability == "available"){
if (moneyOverall >= emergency1_price){
emergency1Availability = "sold";
selectedEmergencyWeapon = 1;
_setSelectedEmergencyWeaponMarker(emergencyItemsContainer_mc.emergeny1Buy_btn);
setTextColorToRed(emergencyItemsContainer_mc.emergency1price_txt);
updateMoney(moneyOverall, emergency1_price);
emergencyItemsContainer_mc.emergency1price_txt.text = String(emergency1Availability);
trace(("e1" + emergency1Availability));
};
} else {
selectedEmergencyWeapon = 1;
_setSelectedEmergencyWeaponMarker(emergencyItemsContainer_mc.emergeny1Buy_btn);
};
break;
case emergencyItemsContainer_mc.emergeny2Buy_btn:
if (emergency2Availability == "available"){
if (moneyOverall >= emergency2_price){
emergency2Availability = "sold";
selectedEmergencyWeapon = 2;
_setSelectedEmergencyWeaponMarker(emergencyItemsContainer_mc.emergeny2Buy_btn);
setTextColorToRed(emergencyItemsContainer_mc.emergency2price_txt);
updateMoney(moneyOverall, emergency2_price);
emergencyItemsContainer_mc.emergency2price_txt.text = String(emergency2Availability);
trace(("e2" + emergency2Availability));
};
} else {
selectedEmergencyWeapon = 2;
_setSelectedEmergencyWeaponMarker(emergencyItemsContainer_mc.emergeny2Buy_btn);
};
break;
case emergencyItemsContainer_mc.emergeny3Buy_btn:
if (emergency3Availability == "available"){
if (moneyOverall >= emergency3_price){
emergency3Availability = "sold";
selectedEmergencyWeapon = 3;
_setSelectedEmergencyWeaponMarker(emergencyItemsContainer_mc.emergeny3Buy_btn);
setTextColorToRed(emergencyItemsContainer_mc.emergency3price_txt);
updateMoney(moneyOverall, emergency3_price);
emergencyItemsContainer_mc.emergency3price_txt.text = String(emergency3Availability);
trace(("e3" + emergency3Availability));
};
} else {
selectedEmergencyWeapon = 3;
_setSelectedEmergencyWeaponMarker(emergencyItemsContainer_mc.emergeny3Buy_btn);
};
break;
};
saveToLSO();
};
btn.buttonMode = true;
btn.addEventListener(MouseEvent.MOUSE_OVER, movr);
btn.addEventListener(MouseEvent.MOUSE_OUT, mout);
btn.addEventListener(MouseEvent.CLICK, mclck);
}
public function attPlayerAmmo1(){
var _local1:Number;
var _local2:PlayerAmmo1;
playerAmmo1Rof--;
if (playerAmmo1Rof <= 0){
_local1 = 0;
while (_local1 < 2) {
_local2 = new PlayerAmmo1(levelContainer_mc.player_mc.x, (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(265, 275));
levelContainer_mc.addChild(_local2);
playerAmmo1Array.push(_local2);
_local1++;
};
playerAmmo1Rof = 6;
};
}
public function attPlayerAmmo2(){
var _local1:Number;
var _local2:PlayerAmmo2;
playerAmmo2Rof--;
if (playerAmmo2Rof <= 0){
_local1 = 0;
while (_local1 < 2) {
_local2 = new PlayerAmmo2(levelContainer_mc.player_mc.x, (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(265, 275));
levelContainer_mc.addChild(_local2);
playerAmmo2Array.push(_local2);
_local1++;
};
playerAmmo2Rof = 4;
};
}
public function attPlayerAmmo3(){
var _local1:Number;
var _local2:PlayerAmmo3;
playerAmmo3Rof--;
if (playerAmmo3Rof <= 0){
_local1 = 0;
while (_local1 < 3) {
_local2 = new PlayerAmmo3(levelContainer_mc.player_mc.x, (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(260, 280));
levelContainer_mc.addChild(_local2);
playerAmmo3Array.push(_local2);
_local1++;
};
playerAmmo3Rof = 5;
};
}
public function attPlayerAmmo5(){
var _local1:PlayerAmmo5;
var _local2:PlayerAmmo5;
var _local3:PlayerAmmo5;
var _local4:PlayerAmmo5;
playerAmmo5Rof--;
if (playerAmmo5Rof <= 0){
_local1 = new PlayerAmmo5((levelContainer_mc.player_mc.x + 10), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(260, 280));
levelContainer_mc.addChild(_local1);
playerAmmo5Array.push(_local1);
_local2 = new PlayerAmmo5((levelContainer_mc.player_mc.x + 5), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(260, 280));
levelContainer_mc.addChild(_local2);
playerAmmo5Array.push(_local2);
_local3 = new PlayerAmmo5((levelContainer_mc.player_mc.x - 5), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(260, 280));
levelContainer_mc.addChild(_local3);
playerAmmo5Array.push(_local3);
_local4 = new PlayerAmmo5((levelContainer_mc.player_mc.x - 10), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(260, 280));
levelContainer_mc.addChild(_local4);
playerAmmo5Array.push(_local4);
playerAmmo5Rof = 5;
};
}
public function attPlayerAmmo6(){
var _local1:PlayerAmmo6;
var _local2:PlayerAmmo6;
var _local3:PlayerAmmo6;
var _local4:PlayerAmmo6;
var _local5:PlayerAmmo6;
playerAmmo6Rof--;
if (playerAmmo6Rof <= 0){
_local1 = new PlayerAmmo6((levelContainer_mc.player_mc.x + 10), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(240, 300));
levelContainer_mc.addChild(_local1);
playerAmmo5Array.push(_local1);
_local2 = new PlayerAmmo6((levelContainer_mc.player_mc.x + 5), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(240, 300));
levelContainer_mc.addChild(_local2);
playerAmmo5Array.push(_local2);
_local3 = new PlayerAmmo6(levelContainer_mc.player_mc.x, (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(240, 300));
levelContainer_mc.addChild(_local3);
playerAmmo5Array.push(_local3);
_local4 = new PlayerAmmo6((levelContainer_mc.player_mc.x - 10), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(240, 300));
levelContainer_mc.addChild(_local4);
playerAmmo5Array.push(_local4);
_local5 = new PlayerAmmo6((levelContainer_mc.player_mc.x - 10), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(240, 300));
levelContainer_mc.addChild(_local5);
playerAmmo5Array.push(_local5);
playerAmmo6Rof = 5;
};
}
public function attPlayerAmmo7(){
var _local1:PlayerAmmo7;
var _local2:PlayerAmmo7;
var _local3:PlayerAmmo7;
var _local4:PlayerAmmo7;
var _local5:PlayerAmmo7;
var _local6:PlayerAmmo7;
playerAmmo7Rof--;
if (playerAmmo7Rof <= 0){
_local1 = new PlayerAmmo7((levelContainer_mc.player_mc.x + 10), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(240, 300));
levelContainer_mc.addChild(_local1);
playerAmmo5Array.push(_local1);
_local2 = new PlayerAmmo7((levelContainer_mc.player_mc.x + 5), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(240, 300));
levelContainer_mc.addChild(_local2);
playerAmmo5Array.push(_local2);
_local3 = new PlayerAmmo7(levelContainer_mc.player_mc.x, (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(240, 300));
levelContainer_mc.addChild(_local3);
playerAmmo5Array.push(_local3);
_local4 = new PlayerAmmo7((levelContainer_mc.player_mc.x - 10), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(240, 300));
levelContainer_mc.addChild(_local4);
playerAmmo5Array.push(_local4);
_local5 = new PlayerAmmo7((levelContainer_mc.player_mc.x - 10), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(240, 300));
levelContainer_mc.addChild(_local5);
playerAmmo5Array.push(_local5);
_local6 = new PlayerAmmo7((levelContainer_mc.player_mc.x - 10), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(240, 300));
levelContainer_mc.addChild(_local6);
playerAmmo5Array.push(_local6);
playerAmmo7Rof = 5;
};
}
public function attPlayerAmmo4(){
var _local1:PlayerAmmo4;
var _local2:Number;
var _local3:Number;
var _local4:PlayerAmmo4;
playerAmmo4Rof--;
if (playerAmmo4Rof <= 0){
_local1 = new PlayerAmmo4(levelContainer_mc.player_mc.x, (levelContainer_mc.player_mc.y - disFromBarrel), 270);
levelContainer_mc.addChild(_local1);
playerAmmo4Array.push(_local1);
_local2 = 220;
_local3 = 0;
while (_local3 < 4) {
_local2 = (_local2 + (20 + randomGenerator(-5, 5)));
_local4 = new PlayerAmmo4(levelContainer_mc.player_mc.x, (levelContainer_mc.player_mc.y - disFromBarrel), _local2);
levelContainer_mc.addChild(_local4);
playerAmmo4Array.push(_local4);
_local3++;
};
playerAmmo4Rof = 5;
};
}
public function updateQualityAndMusicDisplay(){
switch (stage.quality){
case "LOW":
qualityShow_txt.text = "[Q] - QUALITY - LOW";
break;
case "MEDIUM":
qualityShow_txt.text = "[Q] - QUALITY - MEDIUM";
break;
case "HIGH":
qualityShow_txt.text = "[Q] - QUALITY - HIGH";
break;
};
if (musicCode == 1){
musicShow_txt.text = "[M] - MUSIC - OFF";
};
if (musicCode == 2){
musicShow_txt.text = "[M] - MUSIC - ON";
};
}
public function sponsorLinkBtnsFirst(_arg1:MovieClip){
var movr:Function;
var mout:Function;
var clck:Function;
var btn = _arg1;
movr = function (_arg1:MouseEvent){
btn.gotoAndStop(2);
};
mout = function (_arg1:MouseEvent){
btn.gotoAndStop(1);
};
clck = function (_arg1:MouseEvent){
var _local2:String;
var _local3:URLRequest;
_local2 = "http://www.arcadebomb.com";
_local3 = new URLRequest(_local2);
navigateToURL(_local3, "_new");
};
btn.buttonMode = true;
btn.addEventListener(MouseEvent.MOUSE_OVER, movr);
btn.addEventListener(MouseEvent.MOUSE_OUT, mout);
btn.addEventListener(MouseEvent.CLICK, clck);
}
public function handleComplete(_arg1:Event):void{
var _local2:URLLoader;
_local2 = URLLoader(_arg1.target);
name1.text = _local2.data.name1;
score1.text = _local2.data.score1;
name2.text = _local2.data.name2;
score2.text = _local2.data.score2;
name3.text = _local2.data.name3;
score3.text = _local2.data.score3;
name4.text = _local2.data.name4;
score4.text = _local2.data.score4;
name5.text = _local2.data.name5;
score5.text = _local2.data.score5;
name6.text = _local2.data.name6;
score6.text = _local2.data.score6;
name7.text = _local2.data.name7;
score7.text = _local2.data.score7;
name8.text = _local2.data.name8;
score8.text = _local2.data.score8;
name9.text = _local2.data.name9;
score9.text = _local2.data.score9;
name10.text = _local2.data.name10;
score10.text = _local2.data.score10;
}
public function attEnemy2(_arg1:Number){
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Enemy2;
_local2 = 0;
while (_local2 < _arg1) {
_local3 = randomGenerator(1, 3);
if (_local3 == 1){
_local4 = randomGenerator(-50, -10);
_local5 = new Enemy2(_local4);
} else {
_local4 = randomGenerator(600, 650);
_local5 = new Enemy2(_local4);
};
_local5.main = this;
_local5.target = levelContainer_mc.player_mc;
_local5.x = _local4;
_local5.y = randomGenerator(40, 110);
levelContainer_mc.addChild(_local5);
enemyArray.push(_local5);
_local2++;
};
}
public function attEnemy3(_arg1:Number){
var _local2:Number;
var _local3:Enemy3;
_local2 = 0;
while (_local2 < _arg1) {
_local3 = new Enemy3();
_local3.main = this;
_local3.target = levelContainer_mc.player_mc;
_local3.x = randomGenerator(10, 450);
_local3.y = randomGenerator(-100, 50);
levelContainer_mc.addChild(_local3);
enemyArray.push(_local3);
_local2++;
};
}
public function attEnemy4(_arg1:Number, _arg2:String){
var _local3:Enemy4;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
_local6 = 50;
_local7 = 30;
_local5 = randomGenerator(0, 100);
if (_arg2 == "left"){
_local4 = -10;
_local8 = 0;
while (_local8 < _arg1) {
_local4 = (_local4 - _local6);
_local5 = (_local5 - _local7);
_local3 = new Enemy4(20);
_local3.main = this;
_local3.target = levelContainer_mc.player_mc;
_local3.x = _local4;
_local3.y = _local5;
levelContainer_mc.addChild(_local3);
enemyArray.push(_local3);
_local8++;
};
} else {
_local4 = 650;
_local9 = 0;
while (_local9 < _arg1) {
_local4 = (_local4 + _local6);
_local5 = (_local5 - _local7);
_local3 = new Enemy4(160);
_local3.main = this;
_local3.target = levelContainer_mc.player_mc;
_local3.x = _local4;
_local3.y = _local5;
levelContainer_mc.addChild(_local3);
enemyArray.push(_local3);
_local9++;
};
};
}
public function attEnemy5(_arg1:Number){
var _local2:Number;
var _local3:Enemy5;
_local2 = 0;
while (_local2 < _arg1) {
_local3 = new Enemy5();
_local3.main = this;
_local3.target = levelContainer_mc.player_mc;
_local3.x = randomGenerator(100, 350);
_local3.y = randomGenerator(-100, 50);
levelContainer_mc.addChild(_local3);
enemyArray.push(_local3);
_local2++;
};
}
public function attEnemy6(_arg1:Number){
var _local2:Number;
var _local3:Enemy6;
_local2 = 0;
while (_local2 < _arg1) {
_local3 = new Enemy6();
_local3.main = this;
_local3.target = levelContainer_mc.player_mc;
_local3.x = randomGenerator(100, 350);
_local3.y = randomGenerator(-100, 50);
levelContainer_mc.addChild(_local3);
enemyArray.push(_local3);
_local2++;
};
}
public function attEnemy7(_arg1:Number){
var _local2:Number;
var _local3:Enemy7;
_local2 = 0;
while (_local2 < _arg1) {
_local3 = new Enemy7();
_local3.main = this;
_local3.target = levelContainer_mc.player_mc;
_local3.x = randomGenerator(100, 350);
_local3.y = randomGenerator(-100, 50);
levelContainer_mc.addChild(_local3);
enemyArray.push(_local3);
_local2++;
};
}
public function attEnemy8(_arg1:Number){
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Enemy8;
_local2 = 0;
while (_local2 < _arg1) {
_local3 = randomGenerator(1, 3);
if (_local3 == 1){
_local4 = randomGenerator(-50, -10);
_local5 = new Enemy8(_local4);
} else {
_local4 = randomGenerator(600, 650);
_local5 = new Enemy8(_local4);
};
_local5.main = this;
_local5.target = levelContainer_mc.player_mc;
_local5.x = _local4;
_local5.y = randomGenerator(40, 110);
levelContainer_mc.addChild(_local5);
enemyArray.push(_local5);
_local2++;
};
}
public function attEnemy1(_arg1:Number){
var _local2:Number;
var _local3:Enemy1;
_local2 = 0;
while (_local2 < _arg1) {
_local3 = new Enemy1();
_local3.main = this;
_local3.target = levelContainer_mc.player_mc;
_local3.x = randomGenerator(10, 450);
_local3.y = randomGenerator(-100, 50);
levelContainer_mc.addChild(_local3);
enemyArray.push(_local3);
_local2++;
};
}
public function attEnemy9(_arg1:Number){
var _local2:Number;
var _local3:Enemy9;
_local2 = 0;
while (_local2 < _arg1) {
_local3 = new Enemy9();
_local3.main = this;
_local3.target = levelContainer_mc.player_mc;
_local3.x = randomGenerator(100, 350);
_local3.y = randomGenerator(-100, 50);
levelContainer_mc.addChild(_local3);
enemyArray.push(_local3);
_local2++;
};
}
public function mUp(_arg1:MouseEvent){
fireWeapon = "cease";
trace("halt");
}
public function endLevelCleanUpArray(_arg1:Array){
var _local2:Number;
_local2 = (_arg1.length - 1);
while (_local2 >= 0) {
_arg1[_local2].stop();
_arg1[_local2].destruct("");
_local2--;
};
}
public function _setSelectedWeaponMarker(_arg1){
weaponContainer_mc.selectedWeapon_mc.x = _arg1.x;
weaponContainer_mc.selectedWeapon_mc.y = _arg1.y;
}
public function remEventListeners(){
stage.removeEventListener(MouseEvent.MOUSE_DOWN, mDown);
stage.removeEventListener(MouseEvent.MOUSE_UP, mUp);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyIsDown);
stage.removeEventListener(KeyboardEvent.KEY_UP, keyIsUp);
}
public function acquireWeapons(_arg1:MovieClip){
var movr:Function;
var mout:Function;
var mclck:Function;
var btn = _arg1;
movr = function (_arg1:MouseEvent){
playBtnHoverSnd();
weaponContainer_mc.weaponDes_txt.textColor = 0xFFFF00;
switch (btn){
case weaponContainer_mc.weapon1Buy_btn:
weaponContainer_mc.weaponDes_txt.text = String(((weapon2_name + "\n\n") + weapon2_des));
break;
case weaponContainer_mc.weapon2Buy_btn:
weaponContainer_mc.weaponDes_txt.text = String(((weapon3_name + "\n\n") + weapon3_des));
break;
case weaponContainer_mc.weapon3Buy_btn:
weaponContainer_mc.weaponDes_txt.text = String(((weapon4_name + "\n\n") + weapon4_des));
break;
case weaponContainer_mc.weapon4Buy_btn:
weaponContainer_mc.weaponDes_txt.text = String(((weapon5_name + "\n\n") + weapon5_des));
break;
};
};
mout = function (_arg1:MouseEvent){
weaponContainer_mc.weaponDes_txt.textColor = 0xFF9900;
weaponContainer_mc.weaponDes_txt.text = "Item Description \n\n Hover your mouse on an item to see their description.";
};
mclck = function (_arg1:MouseEvent){
switch (btn){
case weaponContainer_mc.weapon1Buy_btn:
selectedWeapon = 1;
_setSelectedWeaponMarker(weaponContainer_mc.weapon1Buy_btn);
break;
case weaponContainer_mc.weapon2Buy_btn:
if (weapon2Availability == "available"){
if (moneyOverall >= weapon2_price){
weapon2Availability = "sold";
selectedWeapon = 2;
_setSelectedWeaponMarker(weaponContainer_mc.weapon2Buy_btn);
setTextColorToRed(weaponContainer_mc.weapon2price_txt);
weaponContainer_mc.weapon2price_txt.text = String(weapon2Availability);
updateMoney(moneyOverall, weapon2_price);
};
} else {
selectedWeapon = 2;
_setSelectedWeaponMarker(weaponContainer_mc.weapon2Buy_btn);
};
break;
case weaponContainer_mc.weapon3Buy_btn:
if (weapon3Availability == "available"){
if (moneyOverall >= weapon3_price){
weapon3Availability = "sold";
selectedWeapon = 3;
_setSelectedWeaponMarker(weaponContainer_mc.weapon3Buy_btn);
setTextColorToRed(weaponContainer_mc.weapon3price_txt);
weaponContainer_mc.weapon3price_txt.text = String(weapon3Availability);
updateMoney(moneyOverall, weapon3_price);
};
} else {
selectedWeapon = 3;
_setSelectedWeaponMarker(weaponContainer_mc.weapon3Buy_btn);
};
break;
case weaponContainer_mc.weapon4Buy_btn:
if (weapon4Availability == "available"){
if (moneyOverall >= weapon4_price){
weapon4Availability = "sold";
selectedWeapon = 4;
_setSelectedWeaponMarker(weaponContainer_mc.weapon4Buy_btn);
setTextColorToRed(weaponContainer_mc.weapon4price_txt);
weaponContainer_mc.weapon4price_txt.text = String(weapon4Availability);
updateMoney(moneyOverall, weapon4_price);
};
} else {
selectedWeapon = 4;
_setSelectedWeaponMarker(weaponContainer_mc.weapon4Buy_btn);
};
break;
};
saveToLSO();
};
btn.buttonMode = true;
btn.addEventListener(MouseEvent.MOUSE_OVER, movr);
btn.addEventListener(MouseEvent.MOUSE_OUT, mout);
btn.addEventListener(MouseEvent.CLICK, mclck);
}
public function initShop(){
map_mc.section_mc.gotoAndStop(level);
map_mc.section_txt.text = String(("SECTION: " + level));
weaponContainer_mc.weapon2price_txt.text = String(weapon2_price);
weaponContainer_mc.weapon3price_txt.text = String(weapon3_price);
weaponContainer_mc.weapon4price_txt.text = String(weapon4_price);
specialContainer_mc.special1price_txt.text = String(special1_price);
specialContainer_mc.special2price_txt.text = String(special2_price);
specialContainer_mc.special3price_txt.text = String(special3_price);
specialContainer_mc.special4price_txt.text = String(special4_price);
specialContainer_mc.special5price_txt.text = String(special5_price);
specialContainer_mc.special6price_txt.text = String(special6_price);
upgradesContainer_mc.upgrade1price_txt.text = String(upgrade1_price);
upgradesContainer_mc.upgrade2price_txt.text = String(upgrade2_price);
upgradesContainer_mc.upgrade3price_txt.text = String(upgrade3_price);
upgradesContainer_mc.upgrade4price_txt.text = String(upgrade4_price);
upgradesContainer_mc.upgrade5price_txt.text = String(upgrade5_price);
upgradesContainer_mc.upgrade6price_txt.text = String(upgrade6_price);
emergencyItemsContainer_mc.emergency1price_txt.text = String(emergency1_price);
emergencyItemsContainer_mc.emergency2price_txt.text = String(emergency2_price);
emergencyItemsContainer_mc.emergency3price_txt.text = String(emergency3_price);
upgradesContainer_mc.upgrade1Level_txt.text = String(upgrade1_name);
upgradesContainer_mc.upgrade2Level_txt.text = String(upgrade2_name);
upgradesContainer_mc.upgrade3Level_txt.text = String(upgrade3_name);
upgradesContainer_mc.upgrade4Level_txt.text = String(upgrade4_name);
upgradesContainer_mc.upgrade5Level_txt.text = String(upgrade5_name);
upgradesContainer_mc.upgrade6Level_txt.text = String(upgrade6_name);
upgradesContainer_mc.showUpgrade1Level_txt.text = String((upgrade1Level + " / 5"));
upgradesContainer_mc.showUpgrade2Level_txt.text = String((upgrade2Level + " / 5"));
upgradesContainer_mc.showUpgrade3Level_txt.text = String((upgrade3Level + " / 3"));
upgradesContainer_mc.showUpgrade4Level_txt.text = String((upgrade4Level + " / 5"));
upgradesContainer_mc.showUpgrade5Level_txt.text = String((upgrade5Level + " / 5"));
upgradesContainer_mc.showUpgrade6Level_txt.text = String((upgrade6Level + " / 5"));
if (selectedWeapon == 1){
_setSelectedWeaponMarker(weaponContainer_mc.weapon1Buy_btn);
} else {
if (selectedWeapon == 2){
_setSelectedWeaponMarker(weaponContainer_mc.weapon2Buy_btn);
} else {
if (selectedWeapon == 3){
_setSelectedWeaponMarker(weaponContainer_mc.weapon3Buy_btn);
} else {
if (selectedWeapon == 4){
_setSelectedWeaponMarker(weaponContainer_mc.weapon4Buy_btn);
};
};
};
};
if (selectedEmergencyWeapon == 1){
_setSelectedEmergencyWeaponMarker(emergencyItemsContainer_mc.emergeny1Buy_btn);
} else {
if (selectedEmergencyWeapon == 2){
_setSelectedEmergencyWeaponMarker(emergencyItemsContainer_mc.emergeny2Buy_btn);
} else {
if (selectedEmergencyWeapon == 3){
_setSelectedEmergencyWeaponMarker(emergencyItemsContainer_mc.emergeny3Buy_btn);
};
};
};
if (weapon2Availability == "sold"){
weaponContainer_mc.weapon2price_txt.text = String(weapon2Availability);
setTextColorToRed(weaponContainer_mc.weapon2price_txt);
};
if (weapon3Availability == "sold"){
weaponContainer_mc.weapon3price_txt.text = String(weapon3Availability);
setTextColorToRed(weaponContainer_mc.weapon3price_txt);
};
if (weapon4Availability == "sold"){
weaponContainer_mc.weapon4price_txt.text = String(weapon4Availability);
setTextColorToRed(weaponContainer_mc.weapon4price_txt);
};
if (special1Availability == "sold"){
specialContainer_mc.special1price_txt.text = String(special1Availability);
setTextColorToRed(specialContainer_mc.special1price_txt);
_setAcquiredSpecialMarker(specialContainer_mc.selectedSpecial1_mc, specialContainer_mc.special1Buy_btn);
};
if (special2Availability == "sold"){
specialContainer_mc.special2price_txt.text = String(special2Availability);
setTextColorToRed(specialContainer_mc.special2price_txt);
_setAcquiredSpecialMarker(specialContainer_mc.selectedSpecial2_mc, specialContainer_mc.special2Buy_btn);
};
if (special3Availability == "sold"){
specialContainer_mc.special3price_txt.text = String(special3Availability);
setTextColorToRed(specialContainer_mc.special3price_txt);
_setAcquiredSpecialMarker(specialContainer_mc.selectedSpecial3_mc, specialContainer_mc.special3Buy_btn);
};
if (special4Availability == "sold"){
specialContainer_mc.special4price_txt.text = String(special4Availability);
setTextColorToRed(specialContainer_mc.special4price_txt);
_setAcquiredSpecialMarker(specialContainer_mc.selectedSpecial4_mc, specialContainer_mc.special4Buy_btn);
};
if (special5Availability == "sold"){
specialContainer_mc.special5price_txt.text = String(special5Availability);
setTextColorToRed(specialContainer_mc.special5price_txt);
_setAcquiredSpecialMarker(specialContainer_mc.selectedSpecial5_mc, specialContainer_mc.special5Buy_btn);
};
if (special6Availability == "sold"){
specialContainer_mc.special6price_txt.text = String(special6Availability);
setTextColorToRed(specialContainer_mc.special6price_txt);
_setAcquiredSpecialMarker(specialContainer_mc.selectedSpecial6_mc, specialContainer_mc.special6Buy_btn);
};
if (emergency1Availability == "sold"){
trace(("e1" + emergency1Availability));
emergencyItemsContainer_mc.emergency1price_txt.text = String(emergency1Availability);
setTextColorToRed(emergencyItemsContainer_mc.emergency1price_txt);
};
if (emergency2Availability == "sold"){
trace(("e2" + emergency2Availability));
emergencyItemsContainer_mc.emergency2price_txt.text = String(emergency2Availability);
setTextColorToRed(emergencyItemsContainer_mc.emergency2price_txt);
};
if (emergency3Availability == "sold"){
trace(("e3" + emergency3Availability));
emergencyItemsContainer_mc.emergency3price_txt.text = String(emergency3Availability);
setTextColorToRed(emergencyItemsContainer_mc.emergency3price_txt);
};
if (upgrade1Level == 5){
upgradesContainer_mc.upgrade1price_txt.text = "complete";
setTextColorToRed(upgradesContainer_mc.upgrade1price_txt);
};
if (upgrade2Level == 5){
upgradesContainer_mc.upgrade2price_txt.text = "complete";
setTextColorToRed(upgradesContainer_mc.upgrade2price_txt);
};
if (upgrade3Level == 3){
upgradesContainer_mc.upgrade3price_txt.text = "complete";
setTextColorToRed(upgradesContainer_mc.upgrade3price_txt);
};
if (upgrade4Level == 5){
upgradesContainer_mc.upgrade4price_txt.text = "complete";
setTextColorToRed(upgradesContainer_mc.upgrade4price_txt);
};
if (upgrade5Level == 5){
upgradesContainer_mc.upgrade5price_txt.text = "complete";
setTextColorToRed(upgradesContainer_mc.upgrade5price_txt);
};
if (upgrade6Level == 5){
upgradesContainer_mc.upgrade6price_txt.text = "complete";
setTextColorToRed(upgradesContainer_mc.upgrade6price_txt);
};
money_txt.text = String(moneyOverall);
}
public function scroller(_arg1:MovieClip, _arg2:MovieClip, _arg3:MovieClip, _arg4:MovieClip, _arg5:Number){
_arg1.y = (_arg1.y + _arg5);
_arg2.y = (_arg2.y + _arg5);
_arg3.y = (_arg3.y + _arg5);
_arg4.y = (_arg4.y + _arg5);
if (_arg1.y >= 1400){
_arg1.y = (_arg4.y - _arg4.height);
};
if (_arg2.y >= 1400){
_arg2.y = (_arg1.y - _arg1.height);
};
if (_arg3.y >= 1400){
_arg3.y = (_arg2.y - _arg2.height);
};
if (_arg4.y >= 1400){
_arg4.y = (_arg3.y - _arg3.height);
};
}
public function attBoss1(){
var _local1:Boss1;
playBG3();
_local1 = new Boss1();
_local1.main = this;
_local1.target = levelContainer_mc.player_mc;
_local1.x = randomGenerator(100, 350);
_local1.y = randomGenerator(-200, -50);
levelContainer_mc.addChild(_local1);
bossArray.push(_local1);
}
public function attBoss5(){
var _local1:Boss5;
playBG3();
_local1 = new Boss5();
_local1.main = this;
_local1.target = levelContainer_mc.player_mc;
_local1.x = randomGenerator(100, 350);
_local1.y = randomGenerator(-200, -50);
levelContainer_mc.addChild(_local1);
bossArray.push(_local1);
}
public function attBoss6(){
var _local1:Boss6;
playBG3();
_local1 = new Boss6();
_local1.main = this;
_local1.target = levelContainer_mc.player_mc;
_local1.x = randomGenerator(100, 350);
_local1.y = randomGenerator(-200, -50);
levelContainer_mc.addChild(_local1);
bossArray.push(_local1);
}
public function attBoss3(){
var _local1:Boss3;
playBG3();
_local1 = new Boss3();
_local1.main = this;
_local1.target = levelContainer_mc.player_mc;
_local1.x = randomGenerator(100, 350);
_local1.y = randomGenerator(-200, -50);
levelContainer_mc.addChild(_local1);
bossArray.push(_local1);
}
public function attBoss4(){
var _local1:Boss4;
playBG3();
_local1 = new Boss4();
_local1.main = this;
_local1.target = levelContainer_mc.player_mc;
_local1.x = randomGenerator(100, 350);
_local1.y = randomGenerator(-200, -50);
levelContainer_mc.addChild(_local1);
bossArray.push(_local1);
}
function frame2(){
stop();
stage.quality = "medium";
music = "on";
musicCode = 0;
qualityCode = 0;
gameStateCode = 0;
nonGameScreenSnd = new NonGameScreenSnd();
gameScreenSnd = new GameScreenSnd();
bossSnd = new BossSnd();
explodeSnd = new ExplodeSnd();
crystalSnd = new CrystalSnd();
laserSnd = new LaserSnd();
blasterSnd = new BlasterSnd();
strikeSnd = new StrikeSnd();
flareSnd = new FlareSnd();
homingSnd = new HomingSnd();
acquireSnd = new AcquireSnd();
btnClickSnd = new BtnClickSnd();
btnHoverSnd = new BtnHoverSnd();
awardSnd = new AwardSnd();
bossWarningSnd = new BossWarningSnd();
buySnd = new BuySnd();
sponsorLinkSplash(splash_btn);
}
public function attBoss2(){
var _local1:Boss2;
playBG3();
_local1 = new Boss2();
_local1.main = this;
_local1.target = levelContainer_mc.player_mc;
_local1.x = randomGenerator(100, 350);
_local1.y = randomGenerator(-200, -50);
levelContainer_mc.addChild(_local1);
bossArray.push(_local1);
}
function frame4(){
stop();
updateQualityAndMusicDisplay();
if (bioAssault_so.data.gameDataExist != undefined){
navButtons(loadGame_btn, "prelevel");
loadGame_btn.gotoAndStop(1);
} else {
loadGame_btn.gotoAndStop(2);
};
navButtons(awards_btn, "awards");
navButtons(highscores_btn, "showScore");
newGameBtn(newGame_btn, "howTo");
newGameBtn(newGamePrompt_mc.yes_btn, "howTo");
newGameBtn(newGamePrompt_mc.no_btn, "");
title_mc.alpha = 0;
newGame_btn.alpha = 0;
loadGame_btn.alpha = 0;
highscores_btn.alpha = 0;
moreGames_btn.alpha = 0;
bar1_mc.scaleX = 0;
bar2_mc.scaleX = 0;
Tweener.addCaller(title_mc, {onUpdate:this.blink, time:0.7, count:13, transition:"easeinoutstrong", waitFrames:true});
Tweener.addCaller(newGame_btn, {onUpdate:this.blink, time:0.7, count:13, transition:"easeinoutstrong", waitFrames:true, delay:0.2});
Tweener.addCaller(loadGame_btn, {onUpdate:this.blink, time:0.7, count:13, transition:"easeinoutstrong", waitFrames:true, delay:0.4});
Tweener.addCaller(highscores_btn, {onUpdate:this.blink, time:0.7, count:13, transition:"easeinoutstrong", waitFrames:true, delay:0.6});
Tweener.addCaller(moreGames_btn, {onUpdate:this.blink, time:0.7, count:13, transition:"easeinoutstrong", waitFrames:true, delay:0.8});
Tweener.addTween(bar1_mc, {scaleX:1, time:0.4, transition:"easeOutStrong", delay:0.3});
Tweener.addCaller(bar1_mc, {onUpdate:this.blink, time:0.4, count:4, transition:"easeinoutstrong", waitFrames:true, delay:0.4});
Tweener.addTween(bar2_mc, {scaleX:1, time:0.4, transition:"easeOutStrong", delay:0.3});
Tweener.addCaller(bar2_mc, {onUpdate:this.blink, time:0.4, count:4, transition:"easeinoutstrong", waitFrames:true, delay:0.4});
this.addEventListener(Event.ENTER_FRAME, titleLooper);
fader();
sponsorLinkBtns(abTitle_btn);
sponsorLinkTemp(moreGames_btn);
}
function frame5(){
stop();
updateQualityAndMusicDisplay();
navButtons(howToBack_btn, "title");
navButtons(howToNext_btn, "prelevel");
storyPanel_mc.alpha = 0;
howToPanel_mc.alpha = 0;
Tweener.addCaller(storyPanel_mc, {onUpdate:this.blink, time:0.7, count:13, transition:"easeinoutstrong", waitFrames:true});
Tweener.addCaller(howToPanel_mc, {onUpdate:this.blink, time:0.7, count:13, transition:"easeinoutstrong", waitFrames:true, delay:0.2});
this.addEventListener(Event.ENTER_FRAME, howToLooper);
fader();
}
function frame6(){
stop();
updateQualityAndMusicDisplay();
weapon2_name = "Mcafee Cannon";
weapon3_name = "Norton Canon";
weapon4_name = "AVG Cannon";
weapon5_name = "Kaspersky Cannon";
weapon2_des = "A 2 barrel cannon;Your standard cannon";
weapon3_des = "A 2 barrel cannon; 2 projectiles at a time but with a high rate of fire.";
weapon4_des = "A 3 barrel cannon; More barrels, more fire power.";
weapon5_des = "A 4 barrel cannon; Shoot 4 projectiles enough to cover wide area.";
special1_name = "HOMING MISSILES";
special2_name = "MINI MISSILES";
special3_name = "WORM STRIKE";
special4_name = "DELETER CANNON";
special5_name = "WIRE";
special6_name = "MINION";
special1_des = "Enables you to release helpful 6 homing missiles. \n\n Press 1 to activate.";
special2_des = "A non-stop barrage of mini missiles. \n\nAutomatically deployed at the beginning of each stage";
special3_des = "Summons a large number of destructive worms. \n\nPress 2 to activate.";
special4_des = "A large blaster beam to annihilate a group of enemies. \n\n Press 3 to activate";
special5_des = "Deploys wires on nearby enemies to zap them to death. \n\nPress 4 to activate";
special6_des = "Battle drone ship(s) at your disposal. Automatically deployed at the beginning of each stage";
upgrade1_name = "HULL";
upgrade2_name = "ACCELERATION";
upgrade3_name = "MINION";
upgrade4_name = "WEAPON DAMAGE POWER";
upgrade5_name = "MINION ROF";
upgrade6_name = "POWER UP MAGNET";
upgrade1_des = "Increases ship's durability.";
upgrade2_des = "Enhances speed and movement.";
upgrade3_des = "Upgrade for additional drones.";
upgrade4_des = "The more fire power, the better.";
upgrade5_des = "Enhances the rate of fire of your minions.";
upgrade6_des = "Allows you to attrack bytes even on long distances.";
emergency1_name = "SHIELD";
emergency2_name = "PULSE";
emergency3_name = "FLARE";
emergency1_des = "Temporary armor for incoming bullets. Press [SPACE] to use.";
emergency2_des = "Vaporizes enemies. Press [SPACE] to use.";
emergency3_des = "Allows you to fire desturctive exploding rounds. Press [SPACE] to use.";
weapon2_price = 80;
weapon3_price = 250;
weapon4_price = 300;
special1_price = 150;
special2_price = 150;
special3_price = 120;
special4_price = 175;
special5_price = 80;
special6_price = 120;
emergency1_price = 100;
emergency2_price = 110;
emergency3_price = 150;
special1Activated = "false";
special3Activated = "false";
special4Activated = "false";
special5Activated = "false";
initShop();
acquireWeapons(weaponContainer_mc.weapon1Buy_btn);
acquireWeapons(weaponContainer_mc.weapon2Buy_btn);
acquireWeapons(weaponContainer_mc.weapon3Buy_btn);
acquireWeapons(weaponContainer_mc.weapon4Buy_btn);
acquireSpecials(specialContainer_mc.special1Buy_btn);
acquireSpecials(specialContainer_mc.special2Buy_btn);
acquireSpecials(specialContainer_mc.special3Buy_btn);
acquireSpecials(specialContainer_mc.special4Buy_btn);
acquireSpecials(specialContainer_mc.special5Buy_btn);
acquireSpecials(specialContainer_mc.special6Buy_btn);
upgrades(upgradesContainer_mc.upgrade1_btn);
upgrades(upgradesContainer_mc.upgrade2_btn);
upgrades(upgradesContainer_mc.upgrade3_btn);
upgrades(upgradesContainer_mc.upgrade4_btn);
upgrades(upgradesContainer_mc.upgrade5_btn);
upgrades(upgradesContainer_mc.upgrade6_btn);
acquireEmergencyWeapon(emergencyItemsContainer_mc.emergeny1Buy_btn);
acquireEmergencyWeapon(emergencyItemsContainer_mc.emergeny2Buy_btn);
acquireEmergencyWeapon(emergencyItemsContainer_mc.emergeny3Buy_btn);
navButtons(abortMission_btn, "title");
initLevelButton(initiateMission_btn, level);
weaponContainer_mc.alpha = 0;
specialContainer_mc.alpha = 0;
upgradesContainer_mc.alpha = 0;
emergencyItemsContainer_mc.alpha = 0;
Tweener.addCaller(weaponContainer_mc, {onUpdate:this.blink, time:0.7, count:13, transition:"easeinoutstrong", waitFrames:true});
Tweener.addCaller(specialContainer_mc, {onUpdate:this.blink, time:0.7, count:13, transition:"easeinoutstrong", waitFrames:true, delay:0.2});
Tweener.addCaller(upgradesContainer_mc, {onUpdate:this.blink, time:0.7, count:13, transition:"easeinoutstrong", waitFrames:true, delay:0.4});
Tweener.addCaller(emergencyItemsContainer_mc, {onUpdate:this.blink, time:0.7, count:13, transition:"easeinoutstrong", waitFrames:true, delay:0.6});
this.addEventListener(Event.ENTER_FRAME, shopLooper);
fader();
}
function frame9(){
initGame();
}
function frame3(){
playBG1();
MouseWheel.capture();
stage.showDefaultContextMenu = false;
bioAssault_so = SharedObject.getLocal("BioAssaultSavedData");
moneyOverall = 10000000000;
money_levels = 0;
levelComplete = false;
level = 1;
kills_levels = 0;
keyIsPressed = "false";
mouseFollowSpeed = 0.9;
weaponAccuracy = 0.9;
weaponDmg = 10;
fireWeapon = "cease";
lifeDenom = 100;
lifeNum = lifeDenom;
dead = "false";
pickupWeapon = "";
playerAmmo1Array = new Array();
playerAmmo2Array = new Array();
playerAmmo3Array = new Array();
playerAmmo4Array = new Array();
playerAmmo5Array = new Array();
playerAmmo6Array = new Array();
playerAmmo7Array = new Array();
pickUpAmmo1Array = new Array();
pickUpAmmo2Array = new Array();
pickUpAmmo3Array = new Array();
pickUpAmmo4Array = new Array();
ammo1Max = 170;
ammo2Max = 150;
ammo3Max = 200;
ammo4Max = 175;
pickupAmmo1Max = 50;
pickupAmmo2Max = 50;
pickupAmmo3Max = 50;
pickupAmmo4Max = 50;
ammo1Inventory = ammo1Max;
ammo2Inventory = ammo2Max;
ammo3Inventory = ammo3Max;
ammo4Inventory = ammo4Max;
pickupAmmo1Inventory = pickupAmmo1Max;
pickupAmmo2Inventory = pickupAmmo2Max;
pickupAmmo3Inventory = pickupAmmo3Max;
pickupAmmo4Inventory = pickupAmmo4Max;
ammo1Reload = 4;
ammo2Reload = 4;
ammo3Reload = 2;
ammo4Reload = 2;
ammo5Reload = 1;
ammo6Reload = 1;
ammo7Reload = 0.8;
playerSpecial1Array = new Array();
playerSpecial2Array = new Array();
playerSpecial3Array = new Array();
playerSpecial4Array = new Array();
playerSpecial5Array = new Array();
playerSpecial5aArray = new Array();
playerSpecial6Array = new Array();
playerSpecial6aArray = new Array();
pickupWeaponArray = new Array();
numOfMinion = 1;
emergencyItem3Array = new Array();
emergencyItem3aArray = new Array();
shieldInUse = "no";
shieldActivated = "no";
shieldEnergyDenom = 120;
shieldEnergyNum = shieldEnergyDenom;
EMPActivated = "no";
flareActivated = "no";
cloakActivated = "no";
cloakEnergyDenom = 200;
cloakEnergyNum = cloakEnergyDenom;
magnetRange = 0;
minionROF = 1000;
enemyArray = new Array();
bossArray = new Array();
enemyAmmo1Array = new Array();
enemyAmmo2Array = new Array();
enemyAmmo3Array = new Array();
enemyAmmo4Array = new Array();
enemyAmmo5Array = new Array();
enemyAmmo6Array = new Array();
explosionArray = new Array();
moneyArray = new Array();
selectedWeapon = 1;
selectedEmergencyWeapon = 1;
weapon2Availability = "available";
weapon3Availability = "available";
weapon4Availability = "available";
special1Availability = "available";
special2Availability = "available";
special3Availability = "available";
special4Availability = "available";
special5Availability = "available";
special6Availability = "available";
upgrade1Level = 1;
upgrade2Level = 1;
upgrade3Level = 1;
upgrade4Level = 1;
upgrade5Level = 1;
upgrade6Level = 1;
emergency1Availability = "available";
emergency2Availability = "available";
emergency3Availability = "available";
upgrade1_price = 70;
upgrade2_price = 80;
upgrade3_price = 120;
upgrade4_price = 100;
upgrade5_price = 115;
upgrade6_price = 40;
LSO_Checker();
delete bioAssault_so.data.award1_so;
delete bioAssault_so.data.award2_so;
delete bioAssault_so.data.award3_so;
delete bioAssault_so.data.award4_so;
delete bioAssault_so.data.award5_so;
delete bioAssault_so.data.award6_so;
delete bioAssault_so.data.award7_so;
delete bioAssault_so.data.award8_so;
delete bioAssault_so.data.award9_so;
delete bioAssault_so.data.award10_so;
delete bioAssault_so.data.award11_so;
delete bioAssault_so.data.award12_so;
stage.addEventListener(MouseEvent.MOUSE_DOWN, mDown);
stage.addEventListener(MouseEvent.MOUSE_UP, mUp);
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyIsDown);
stage.addEventListener(KeyboardEvent.KEY_UP, keyIsUp);
disFromBarrel = 30;
playerAmmo1Rof = 1;
playerAmmo2Rof = 1;
playerAmmo3Rof = 1;
playerAmmo4Rof = 1;
playerAmmo5Rof = 1;
playerAmmo6Rof = 1;
playerAmmo7Rof = 1;
playerSpecial2Rof = 1;
blasterEnergyMax = 150;
blasterEnergy = blasterEnergyMax;
playerSpecial4Rof = 1;
wireEnergy = 20;
flareTmrObject = new Timer(200, 20);
flareTmrObject.addEventListener(TimerEvent.TIMER, flareTmr);
flareTmrObject.addEventListener(TimerEvent.TIMER_COMPLETE, flareTmrComplete);
pickUpAmmo1Rof = 1;
pickUpAmmo2Rof = 1;
pickUpAmmo3Rof = 1;
pickUpAmmo4Rof = 1;
waveInterval = 2000;
wave_lvl1 = 0;
waveMax_lvl1 = 18;
waveTimer_lvl1 = new Timer(waveInterval, waveMax_lvl1);
waveTimer_lvl1.addEventListener(TimerEvent.TIMER, deployEnemy_Lvl1);
wave_lvl2 = 0;
waveMax_lvl2 = 20;
waveTimer_lvl2 = new Timer(waveInterval, waveMax_lvl2);
waveTimer_lvl2.addEventListener(TimerEvent.TIMER, deployEnemy_Lvl2);
wave_lvl3 = 0;
waveMax_lvl3 = 22;
waveTimer_lvl3 = new Timer(waveInterval, waveMax_lvl3);
waveTimer_lvl3.addEventListener(TimerEvent.TIMER, deployEnemy_Lvl3);
wave_lvl4 = 0;
waveMax_lvl4 = 25;
waveTimer_lvl4 = new Timer(waveInterval, waveMax_lvl4);
waveTimer_lvl4.addEventListener(TimerEvent.TIMER, deployEnemy_Lvl4);
wave_lvl5 = 0;
waveMax_lvl5 = 30;
waveTimer_lvl5 = new Timer(waveInterval, waveMax_lvl5);
waveTimer_lvl5.addEventListener(TimerEvent.TIMER, deployEnemy_Lvl5);
wave_lvl6 = 0;
waveMax_lvl6 = 30;
waveTimer_lvl6 = new Timer(waveInterval, waveMax_lvl6);
waveTimer_lvl6.addEventListener(TimerEvent.TIMER, deployEnemy_Lvl6);
wave_lvl7 = 0;
waveMax_lvl7 = 30;
waveTimer_lvl7 = new Timer(waveInterval, waveMax_lvl7);
waveTimer_lvl7.addEventListener(TimerEvent.TIMER, deployEnemy_Lvl7);
wave_lvl8 = 0;
waveMax_lvl8 = 30;
waveTimer_lvl8 = new Timer(waveInterval, waveMax_lvl8);
waveTimer_lvl8.addEventListener(TimerEvent.TIMER, deployEnemy_Lvl8);
wave_lvl9 = 0;
waveMax_lvl9 = 30;
waveTimer_lvl9 = new Timer(waveInterval, waveMax_lvl9);
waveTimer_lvl9.addEventListener(TimerEvent.TIMER, deployEnemy_Lvl9);
wave_lvl10 = 0;
waveMax_lvl10 = 32;
waveTimer_lvl10 = new Timer(waveInterval, waveMax_lvl10);
waveTimer_lvl10.addEventListener(TimerEvent.TIMER, deployEnemy_Lvl10);
wave_lvl11 = 0;
waveMax_lvl11 = 32;
waveTimer_lvl11 = new Timer(waveInterval, waveMax_lvl11);
waveTimer_lvl11.addEventListener(TimerEvent.TIMER, deployEnemy_Lvl11);
wave_lvl12 = 0;
waveMax_lvl12 = 32;
waveTimer_lvl12 = new Timer(waveInterval, waveMax_lvl12);
waveTimer_lvl12.addEventListener(TimerEvent.TIMER, deployEnemy_Lvl12);
toPostLevelTimer = new Timer(1000, 4);
toPostLevelTimer.addEventListener(TimerEvent.TIMER_COMPLETE, toPostLevel);
award1_Name = "Officer Cadet";
award2_Name = "Pilot Officer";
award3_Name = "System Officer";
award4_Name = "Lieutenant";
award5_Name = "Squadron Leader";
award6_Name = "System Commander";
award7_Name = "Captain";
award8_Name = "Commodore";
award9_Name = "Vice-Marshal";
award10_Name = "Marshal";
award11_Name = "Chief Marshal";
award12_Name = "Marshal of the System";
award1Des = "Reaching area 1";
award2Des = "Reaching area 2";
award3Des = "Reaching area 3";
award4Des = "Reaching area 4";
award5Des = "Reaching area 5";
award6Des = "Reaching area 6";
award7Des = "Reaching area 7";
award8Des = "Reaching area 8";
award9Des = "Reaching area 9";
award10Des = "Reaching area 10";
award11Des = "Reaching area 11";
award12Des = "Reaching area 12";
this.blink = function (){
this.alpha = !(this.alpha);
};
this.blink2 = function (){
this.visible = !(this.visible);
};
}
function frame8(){
initGame();
}
function frame1(){
if ((((__setPropDict[__id0_] == undefined)) || (!((int(__setPropDict[__id0_]) == 1))))){
__setPropDict[__id0_] = currentFrame;
__setProp___id0__Preloader_NG_1();
};
stop();
stage.showDefaultContextMenu = false;
sponsorLinkBtnsFirst(abPreload_btn);
sponsorLinkBtnsFirst(abPreload_btn2);
this.addEventListener(Event.ENTER_FRAME, loading);
}
function frame7(){
initGame();
}
public function setTextColorToRed(_arg1:TextField){
_arg1.textColor = 0xFF0000;
}
public function attPickUpAmmo1(){
var _local1:PickUpAmmo1;
var _local2:PickUpAmmo1;
var _local3:PickUpAmmo1;
var _local4:PickUpAmmo1;
pickUpAmmo1Rof--;
if (pickUpAmmo1Rof <= 0){
_local1 = new PickUpAmmo1((levelContainer_mc.player_mc.x + 5), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(240, 300));
levelContainer_mc.addChild(_local1);
pickUpAmmo1Array.push(_local1);
_local2 = new PickUpAmmo1((levelContainer_mc.player_mc.x - 5), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(240, 300));
levelContainer_mc.addChild(_local2);
pickUpAmmo1Array.push(_local2);
_local3 = new PickUpAmmo1((levelContainer_mc.player_mc.x + 5), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(240, 300));
levelContainer_mc.addChild(_local3);
pickUpAmmo1Array.push(_local3);
_local4 = new PickUpAmmo1((levelContainer_mc.player_mc.x - 5), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(240, 300));
levelContainer_mc.addChild(_local4);
pickUpAmmo1Array.push(_local4);
pickupAmmo1Inventory--;
if (pickupAmmo1Inventory <= 0){
pickupAmmo1Inventory = 0;
pickupWeapon = "";
};
pickUpAmmo1Rof = 4;
};
}
public function attPickUpAmmo3(){
var _local1:PickUpAmmo3;
var _local2:PickUpAmmo3;
var _local3:PickUpAmmo3;
var _local4:PickUpAmmo3;
var _local5:PickUpAmmo3;
var _local6:PickUpAmmo3;
pickUpAmmo3Rof--;
if (pickUpAmmo3Rof <= 0){
_local1 = new PickUpAmmo3((levelContainer_mc.player_mc.x + 5), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(230, 310));
levelContainer_mc.addChild(_local1);
pickUpAmmo3Array.push(_local1);
_local2 = new PickUpAmmo3((levelContainer_mc.player_mc.x - 5), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(230, 310));
levelContainer_mc.addChild(_local2);
pickUpAmmo3Array.push(_local2);
_local3 = new PickUpAmmo3((levelContainer_mc.player_mc.x + 5), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(230, 310));
levelContainer_mc.addChild(_local3);
pickUpAmmo3Array.push(_local3);
_local4 = new PickUpAmmo3((levelContainer_mc.player_mc.x - 5), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(230, 310));
levelContainer_mc.addChild(_local4);
pickUpAmmo3Array.push(_local4);
_local5 = new PickUpAmmo3((levelContainer_mc.player_mc.x - 5), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(230, 310));
levelContainer_mc.addChild(_local5);
pickUpAmmo3Array.push(_local5);
_local6 = new PickUpAmmo3((levelContainer_mc.player_mc.x - 5), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(230, 310));
levelContainer_mc.addChild(_local6);
pickUpAmmo3Array.push(_local6);
pickupAmmo3Inventory--;
if (pickupAmmo3Inventory <= 0){
pickupAmmo3Inventory = 0;
pickupWeapon = "";
};
pickUpAmmo3Rof = 4;
};
}
public function attPickUpAmmo4(){
var _local1:PickUpAmmo4;
pickUpAmmo4Rof--;
if (pickUpAmmo4Rof <= 0){
_local1 = new PickUpAmmo4(levelContainer_mc.player_mc);
_local1.main = this;
_local1.x = levelContainer_mc.player_mc.x;
_local1.y = levelContainer_mc.player_mc.y;
levelContainer_mc.addChild(_local1);
pickUpAmmo4Array.push(_local1);
pickupAmmo4Inventory--;
if (pickupAmmo4Inventory <= 0){
pickupAmmo4Inventory = 0;
pickupWeapon = "";
};
pickUpAmmo4Rof = 4;
};
}
public function attPickUpAmmo2(){
var _local1:PickUpAmmo2;
var _local2:PickUpAmmo2;
var _local3:PickUpAmmo2;
var _local4:PickUpAmmo2;
var _local5:PickUpAmmo2;
pickUpAmmo2Rof--;
if (pickUpAmmo2Rof <= 0){
_local1 = new PickUpAmmo2((levelContainer_mc.player_mc.x + 5), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(230, 310));
levelContainer_mc.addChild(_local1);
pickUpAmmo2Array.push(_local1);
_local2 = new PickUpAmmo2((levelContainer_mc.player_mc.x - 5), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(230, 310));
levelContainer_mc.addChild(_local2);
pickUpAmmo2Array.push(_local2);
_local3 = new PickUpAmmo2((levelContainer_mc.player_mc.x + 5), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(230, 310));
levelContainer_mc.addChild(_local3);
pickUpAmmo2Array.push(_local3);
_local4 = new PickUpAmmo2((levelContainer_mc.player_mc.x - 5), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(230, 310));
levelContainer_mc.addChild(_local4);
pickUpAmmo2Array.push(_local4);
_local5 = new PickUpAmmo2((levelContainer_mc.player_mc.x - 5), (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(230, 310));
levelContainer_mc.addChild(_local5);
pickUpAmmo2Array.push(_local5);
pickupAmmo2Inventory--;
if (pickupAmmo2Inventory <= 0){
pickupAmmo2Inventory = 0;
pickupWeapon = "";
};
pickUpAmmo2Rof = 4;
};
}
public function initLevelButton(_arg1:MovieClip, _arg2:Number){
var movr:Function;
var mout:Function;
var mclck:Function;
var btn = _arg1;
var lvl = _arg2;
movr = function (_arg1:MouseEvent){
Tweener.addTween(map_mc, {x:298.4, time:0.4, transition:"easeOutStrong"});
};
mout = function (_arg1:MouseEvent){
Tweener.addTween(map_mc, {x:-565.8, time:0.4, transition:"easeOutStrong"});
};
mclck = function (_arg1:MouseEvent){
gotoAndStop(String(("level" + lvl)));
};
btn.buttonMode = true;
btn.addEventListener(MouseEvent.MOUSE_OVER, movr);
btn.addEventListener(MouseEvent.MOUSE_OUT, mout);
btn.addEventListener(MouseEvent.CLICK, mclck);
}
public function playCrystalSnd(){
if (music == "on"){
crystalSnd.play();
};
}
public function button2Pressed(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://hiscore.arcadebomb.com/bunker.php"), "_blank");
}
public function attCoin(_arg1:MovieClip){
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Coin;
_local2 = randomGenerator(10, 20);
if ((((((((((((_arg1 is Boss1)) || ((_arg1 is Boss2)))) || ((_arg1 is Boss3)))) || ((_arg1 is Boss4)))) || ((_arg1 is Boss5)))) || ((_arg1 is Boss6)))){
_local2 = randomGenerator(30, 40);
};
_local3 = 0;
while (_local3 < _local2) {
_local4 = (_arg1.x + randomGenerator(-50, 50));
_local5 = (_arg1.y + randomGenerator(-50, 50));
_local6 = new Coin(_local4, _local5, 90);
_local6.main = this;
levelContainer_mc.addChild(_local6);
moneyArray.push(_local6);
_local3++;
};
}
public function playBlasterSnd(){
if (music == "on"){
blasterSnd.play();
};
}
public function attBossPrompter(){
var _local1:BossWarningPrompter;
BossLifeUIContainer_mc.x = 540;
playBossWarningSnd();
_local1 = new BossWarningPrompter();
_local1.x = 275;
_local1.y = 177.8;
addChild(_local1);
}
public function _setSelectedEmergencyWeaponMarker(_arg1){
emergencyItemsContainer_mc.selectedEmergency_mc.x = _arg1.x;
emergencyItemsContainer_mc.selectedEmergency_mc.y = _arg1.y;
}
public function attBossExplosion(_arg1:MovieClip){
var bossExplosionTImer:Timer;
var attRapidExplosion:Function;
var stopRapidExplosion:Function;
var mc = _arg1;
attRapidExplosion = function (_arg1:TimerEvent){
var _local2:Explosion;
screenShake();
playExplodeSnd();
_local2 = new Explosion();
_local2.x = (mc.x - randomGenerator(-100, 100));
_local2.y = (mc.y - randomGenerator(-60, 50));
_local2.rotation = randomGenerator(0, 360);
levelContainer_mc.addChild(_local2);
explosionArray.push(_local2);
};
stopRapidExplosion = function (_arg1:TimerEvent){
bossExplosionTImer.reset();
bossExplosionTImer.removeEventListener(TimerEvent.TIMER, attRapidExplosion);
bossExplosionTImer.removeEventListener(TimerEvent.TIMER_COMPLETE, stopRapidExplosion);
};
bossExplosionTImer = new Timer(100, 16);
bossExplosionTImer.addEventListener(TimerEvent.TIMER, attRapidExplosion);
bossExplosionTImer.addEventListener(TimerEvent.TIMER_COMPLETE, stopRapidExplosion);
bossExplosionTImer.start();
}
public function playAwardSnd(){
if (music == "on"){
awardSnd.play();
};
}
public function initGame(){
pickupWeapon = "";
kills_levels = 0;
money_levels = 0;
updateQualityAndMusicDisplay();
playBG2();
stage.addEventListener(Event.ENTER_FRAME, looper);
levelAwards();
fader();
fireWeapon = "cease";
wireEnergy = 20;
blasterEnergy = blasterEnergyMax;
switch (upgrade1Level){
case 1:
lifeDenom = 90;
break;
case 2:
lifeDenom = 100;
break;
case 3:
lifeDenom = 110;
break;
case 4:
lifeDenom = 120;
break;
case 5:
lifeDenom = 130;
break;
};
levelComplete = false;
lifeNum = lifeDenom;
dead = "false";
wave_lvl1 = 0;
wave_lvl2 = 0;
wave_lvl3 = 0;
wave_lvl4 = 0;
wave_lvl5 = 0;
wave_lvl6 = 0;
wave_lvl7 = 0;
wave_lvl8 = 0;
wave_lvl9 = 0;
wave_lvl10 = 0;
wave_lvl11 = 0;
wave_lvl12 = 0;
switch (upgrade2Level){
case 1:
mouseFollowSpeed = 0.9;
break;
case 2:
mouseFollowSpeed = 0.8;
break;
case 3:
mouseFollowSpeed = 0.7;
break;
case 4:
mouseFollowSpeed = 0.6;
break;
case 5:
mouseFollowSpeed = 0.5;
break;
};
switch (upgrade3Level){
case 1:
numOfMinion = 1;
break;
case 2:
numOfMinion = 2;
break;
case 3:
numOfMinion = 3;
break;
};
switch (upgrade4Level){
case 1:
weaponDmg = 8;
break;
case 2:
weaponDmg = 8.1;
break;
case 3:
weaponDmg = 8.2;
break;
case 4:
weaponDmg = 8.3;
break;
case 5:
weaponDmg = 8.5;
break;
};
switch (upgrade5Level){
case 1:
minionROF = 1000;
break;
case 2:
minionROF = 800;
break;
case 3:
minionROF = 750;
break;
case 4:
minionROF = 700;
break;
case 5:
minionROF = 600;
break;
};
switch (upgrade6Level){
case 1:
magnetRange = 25;
break;
case 2:
magnetRange = 50;
break;
case 3:
magnetRange = 75;
break;
case 4:
magnetRange = 80;
break;
case 5:
magnetRange = 100;
break;
};
if (special6Availability == "sold"){
attPlayerSpecial6();
};
if (special1Availability == "sold"){
special1UIContainer_mc.gotoAndStop(2);
};
if (special3Availability == "sold"){
special3UIContainer_mc.gotoAndStop(2);
};
if (special4Availability == "sold"){
special4UIContainer_mc.gotoAndStop(2);
};
if (special5Availability == "sold"){
special5UIContainer_mc.gotoAndStop(2);
};
if (selectedEmergencyWeapon == 1){
EmergencyItemUIContainer.alpha = 1;
EmergencyItemUIContainer.icon_mc.gotoAndStop(1);
EmergencyItemUIContainer.emergencyItem_txt.text = emergency1_name;
} else {
if (selectedEmergencyWeapon == 2){
EmergencyItemUIContainer.alpha = 1;
EmergencyItemUIContainer.icon_mc.gotoAndStop(2);
EmergencyItemUIContainer.emergencyItem_txt.text = emergency2_name;
} else {
if (selectedEmergencyWeapon == 3){
EmergencyItemUIContainer.alpha = 1;
EmergencyItemUIContainer.icon_mc.gotoAndStop(3);
EmergencyItemUIContainer.emergencyItem_txt.text = emergency3_name;
} else {
EmergencyItemUIContainer.alpha = 0;
};
};
};
switch (level){
case 1:
waveTimer_lvl1.start();
break;
case 2:
waveTimer_lvl2.start();
break;
case 3:
waveTimer_lvl3.start();
break;
case 4:
waveTimer_lvl4.start();
break;
case 5:
waveTimer_lvl5.start();
break;
case 6:
waveTimer_lvl6.start();
break;
case 7:
waveTimer_lvl7.start();
break;
case 8:
waveTimer_lvl8.start();
break;
case 9:
waveTimer_lvl9.start();
break;
case 10:
waveTimer_lvl10.start();
break;
case 11:
waveTimer_lvl11.start();
break;
case 12:
waveTimer_lvl12.start();
break;
default:
break;
};
shieldInUse = "no";
shieldActivated = "no";
EMPActivated = "no";
flareActivated = "no";
shieldEnergyNum = shieldEnergyDenom;
}
public function howToLooper(_arg1:Event){
if (currentFrame == 3){
scroller(flakes1_2_mc, flakes2_2_mc, flakes3_2_mc, flakes4_2_mc, 0.8);
scroller(flakes1_1_mc, flakes2_1_mc, flakes3_1_mc, flakes4_1_mc, 1);
} else {
this.removeEventListener(Event.ENTER_FRAME, howToLooper);
};
}
public function playBtnHoverSnd(){
if (music == "on"){
btnHoverSnd.play();
};
}
public function playBtnClickSnd(){
if (music == "on"){
btnClickSnd.play();
};
}
public function attExplosion(_arg1:MovieClip){
var _local2:Explosion;
playExplodeSnd();
_local2 = new Explosion();
_local2.x = _arg1.x;
_local2.y = _arg1.y;
_local2.rotation = randomGenerator(0, 360);
levelContainer_mc.addChild(_local2);
explosionArray.push(_local2);
}
public function updateMoney(_arg1:Number, _arg2:Number){
playBuySnd();
moneyOverall = (_arg1 - _arg2);
money_txt.text = String(("" + moneyOverall));
}
public function attPlayerSpecial1(){
var _local1:Number;
var _local2:Number;
var _local3:PlayerSpecial1;
_local1 = (levelContainer_mc.player_mc.x - 60);
_local2 = 0;
while (_local2 < 6) {
_local1 = (_local1 + 20);
_local3 = new PlayerSpecial1(levelContainer_mc.player_mc);
_local3.main = this;
_local3.x = _local1;
_local3.y = levelContainer_mc.player_mc.y;
levelContainer_mc.addChild(_local3);
playerSpecial1Array.push(_local3);
_local2++;
};
}
public function attPlayerSpecial2(){
var _local1:PlayerSpecial2;
playerSpecial2Rof--;
if (playerSpecial2Rof <= 0){
_local1 = new PlayerSpecial2(levelContainer_mc.player_mc.x, levelContainer_mc.player_mc.y, randomGenerator(80, 100));
_local1.main = this;
levelContainer_mc.addChild(_local1);
playerSpecial2Array.push(_local1);
playerSpecial2Rof = 10;
};
}
public function attPlayerSpecial3(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:PlayerSpecial3;
var _local7:Number;
playStrikeSnd();
_local1 = 10;
_local2 = 10;
_local3 = 10;
_local4 = 10;
_local7 = 0;
while (_local7 < 21) {
if (_local7 < 6){
_local1 = (_local1 + (100 + randomGenerator(-70, 70)));
_local5 = (700 + randomGenerator(-50, 50));
_local6 = new PlayerSpecial3(_local1, _local5, 270);
_local6.main = this;
} else {
if (_local7 < 11){
_local2 = (_local2 + (100 + randomGenerator(-70, 70)));
_local5 = (900 + randomGenerator(-50, 50));
_local6 = new PlayerSpecial3(_local2, _local5, 270);
_local6.main = this;
} else {
if (_local7 < 16){
_local3 = (_local3 + (100 + randomGenerator(-70, 70)));
_local5 = (1100 + randomGenerator(-50, 50));
_local6 = new PlayerSpecial3(_local3, _local5, 270);
_local6.main = this;
} else {
if (_local7 < 21){
_local4 = (_local4 + (100 + randomGenerator(-70, 70)));
_local5 = (1300 + randomGenerator(-50, 50));
_local6 = new PlayerSpecial3(_local4, _local5, 270);
_local6.main = this;
};
};
};
};
levelContainer_mc.addChild(_local6);
playerSpecial3Array.push(_local6);
_local7++;
};
}
public function attPlayerSpecial4(){
var _local1:PlayerSpecial4;
playerSpecial4Rof--;
if (playerSpecial4Rof <= 0){
_local1 = new PlayerSpecial4(levelContainer_mc.player_mc.x, levelContainer_mc.player_mc.y, 270);
_local1.main = this;
levelContainer_mc.addChild(_local1);
playerSpecial4Array.push(_local1);
playerSpecial4Rof = 1;
};
}
public function attPlayerSpecial6(){
var _local1:Number;
var _local2:Number;
var _local3:PlayerSpecial6;
_local1 = (levelContainer_mc.player_mc.x - 60);
trace(("num of minion-" + numOfMinion));
_local2 = 0;
while (_local2 < numOfMinion) {
_local1 = (_local1 + 20);
_local3 = new PlayerSpecial6(levelContainer_mc.player_mc, minionROF);
_local3.x = _local1;
_local3.y = levelContainer_mc.player_mc.y;
levelContainer_mc.addChild(_local3);
playerSpecial6Array.push(_local3);
_local2++;
};
}
public function attPlayerSpecial5(){
initWireOnEnemies();
}
public function acquireSpecials(_arg1:MovieClip){
var movr:Function;
var mout:Function;
var mclck:Function;
var btn = _arg1;
movr = function (_arg1:MouseEvent){
playBtnHoverSnd();
specialContainer_mc.specialDes_txt.textColor = 0xFFFF00;
switch (btn){
case specialContainer_mc.special1Buy_btn:
specialContainer_mc.specialDes_txt.text = String(((special1_name + "\n\n") + special1_des));
break;
case specialContainer_mc.special2Buy_btn:
specialContainer_mc.specialDes_txt.text = String(((special2_name + "\n\n") + special2_des));
break;
case specialContainer_mc.special3Buy_btn:
specialContainer_mc.specialDes_txt.text = String(((special3_name + "\n\n") + special3_des));
break;
case specialContainer_mc.special4Buy_btn:
specialContainer_mc.specialDes_txt.text = String(((special4_name + "\n\n") + special4_des));
break;
case specialContainer_mc.special5Buy_btn:
specialContainer_mc.specialDes_txt.text = String(((special5_name + "\n\n") + special5_des));
break;
case specialContainer_mc.special6Buy_btn:
specialContainer_mc.specialDes_txt.text = String(((special6_name + "\n\n") + special6_des));
break;
};
};
mout = function (_arg1:MouseEvent){
specialContainer_mc.specialDes_txt.textColor = 0xFF9900;
specialContainer_mc.specialDes_txt.text = "Item Description \n\n Hover your mouse on an item to see their description.";
};
mclck = function (_arg1:MouseEvent){
switch (btn){
case specialContainer_mc.special1Buy_btn:
if (special1Availability == "available"){
if (moneyOverall >= special1_price){
special1Availability = "sold";
_setAcquiredSpecialMarker(specialContainer_mc.selectedSpecial1_mc, specialContainer_mc.special1Buy_btn);
updateMoney(moneyOverall, special1_price);
setTextColorToRed(specialContainer_mc.special1price_txt);
specialContainer_mc.special1price_txt.text = String(special1Availability);
};
};
break;
case specialContainer_mc.special2Buy_btn:
if (special2Availability == "available"){
if (moneyOverall >= special2_price){
special2Availability = "sold";
_setAcquiredSpecialMarker(specialContainer_mc.selectedSpecial2_mc, specialContainer_mc.special2Buy_btn);
updateMoney(moneyOverall, special2_price);
setTextColorToRed(specialContainer_mc.special2price_txt);
specialContainer_mc.special2price_txt.text = String(special2Availability);
};
};
break;
case specialContainer_mc.special3Buy_btn:
if (special3Availability == "available"){
if (moneyOverall >= special3_price){
special3Availability = "sold";
_setAcquiredSpecialMarker(specialContainer_mc.selectedSpecial3_mc, specialContainer_mc.special3Buy_btn);
updateMoney(moneyOverall, special3_price);
setTextColorToRed(specialContainer_mc.special3price_txt);
specialContainer_mc.special3price_txt.text = String(special3Availability);
};
};
break;
case specialContainer_mc.special4Buy_btn:
if (special4Availability == "available"){
if (moneyOverall >= special4_price){
special4Availability = "sold";
_setAcquiredSpecialMarker(specialContainer_mc.selectedSpecial4_mc, specialContainer_mc.special4Buy_btn);
updateMoney(moneyOverall, special4_price);
setTextColorToRed(specialContainer_mc.special4price_txt);
specialContainer_mc.special4price_txt.text = String(special4Availability);
};
};
break;
case specialContainer_mc.special5Buy_btn:
if (special5Availability == "available"){
if (moneyOverall >= special5_price){
special5Availability = "sold";
_setAcquiredSpecialMarker(specialContainer_mc.selectedSpecial5_mc, specialContainer_mc.special5Buy_btn);
updateMoney(moneyOverall, special5_price);
setTextColorToRed(specialContainer_mc.special5price_txt);
specialContainer_mc.special5price_txt.text = String(special5Availability);
};
};
break;
case specialContainer_mc.special6Buy_btn:
if (special6Availability == "available"){
if (moneyOverall >= special6_price){
special6Availability = "sold";
_setAcquiredSpecialMarker(specialContainer_mc.selectedSpecial6_mc, specialContainer_mc.special6Buy_btn);
updateMoney(moneyOverall, special6_price);
setTextColorToRed(specialContainer_mc.special6price_txt);
specialContainer_mc.special6price_txt.text = String(special6Availability);
};
};
break;
};
saveToLSO();
};
btn.buttonMode = true;
btn.addEventListener(MouseEvent.MOUSE_OVER, movr);
btn.addEventListener(MouseEvent.MOUSE_OUT, mout);
btn.addEventListener(MouseEvent.CLICK, mclck);
}
public function goodjob(_arg1:Event):void{
trace(URLLoader(_arg1.target).data);
gotoAndStop("showScore");
}
public function LSO_Checker(){
if (bioAssault_so.data.gameDataExist != undefined){
level = bioAssault_so.data.level_so;
moneyOverall = bioAssault_so.data.moneyOverall_so;
killsOverall = bioAssault_so.data.killsOveralll_so;
selectedWeapon = bioAssault_so.data.selectedWeapon_so;
selectedEmergencyWeapon = bioAssault_so.data.selectedEmergencyWeapon_so;
weapon2Availability = bioAssault_so.data.weapon2Availability_so;
weapon3Availability = bioAssault_so.data.weapon3Availability_so;
weapon4Availability = bioAssault_so.data.weapon4Availability_so;
special1Availability = bioAssault_so.data.special1Availability_so;
special2Availability = bioAssault_so.data.special2Availability_so;
special3Availability = bioAssault_so.data.special3Availability_so;
special4Availability = bioAssault_so.data.special4Availability_so;
special5Availability = bioAssault_so.data.special5Availability_so;
special6Availability = bioAssault_so.data.special6Availability_so;
upgrade1Level = bioAssault_so.data.upgrade1Level_so;
upgrade2Level = bioAssault_so.data.upgrade2Level_so;
upgrade3Level = bioAssault_so.data.upgrade3Level_so;
upgrade4Level = bioAssault_so.data.upgrade4Level_so;
upgrade5Level = bioAssault_so.data.upgrade5Level_so;
upgrade6Level = bioAssault_so.data.upgrade6Level_so;
emergency1Availability = bioAssault_so.data.emergency1Availability_so;
emergency2Availability = bioAssault_so.data.emergency2Availability_so;
emergency3Availability = bioAssault_so.data.emergency3Availability_so;
upgrade1_price = bioAssault_so.data.upgrade1_price_so;
upgrade2_price = bioAssault_so.data.upgrade2_price_so;
upgrade3_price = bioAssault_so.data.upgrade3_price_so;
upgrade4_price = bioAssault_so.data.upgrade4_price_so;
upgrade5_price = bioAssault_so.data.upgrade5_price_so;
upgrade6_price = bioAssault_so.data.upgrade6_price_so;
} else {
level = 1;
kills_levels = 0;
money_levels = 0;
killsOverall = 0;
moneyOverall = 50;
selectedWeapon = 1;
selectedEmergencyWeapon = 0;
weapon2Availability = "available";
weapon3Availability = "available";
weapon4Availability = "available";
special1Availability = "available";
special2Availability = "available";
special3Availability = "available";
special4Availability = "available";
special5Availability = "available";
special6Availability = "available";
upgrade1Level = 1;
upgrade2Level = 1;
upgrade3Level = 1;
upgrade4Level = 1;
upgrade5Level = 1;
upgrade6Level = 1;
emergency1Availability = "available";
emergency2Availability = "available";
emergency3Availability = "available";
upgrade1_price = 70;
upgrade2_price = 80;
upgrade3_price = 120;
upgrade4_price = 100;
upgrade5_price = 115;
upgrade6_price = 40;
};
}
public function playFlareSnd(){
if (music == "on"){
flareSnd.play();
};
}
public function _setAwardsNameDesc(_arg1:MovieClip, _arg2:String, _arg3:String){
_arg1.name_txt.text = _arg2;
_arg1.desc_txt.text = _arg3;
switch (_arg1){
case award1_mc:
_arg1.icon_mc.gotoAndStop(1);
break;
case award2_mc:
_arg1.icon_mc.gotoAndStop(2);
break;
case award3_mc:
_arg1.icon_mc.gotoAndStop(3);
break;
case award4_mc:
_arg1.icon_mc.gotoAndStop(4);
break;
case award5_mc:
_arg1.icon_mc.gotoAndStop(5);
break;
case award6_mc:
_arg1.icon_mc.gotoAndStop(6);
break;
case award7_mc:
_arg1.icon_mc.gotoAndStop(7);
break;
case award8_mc:
_arg1.icon_mc.gotoAndStop(8);
break;
case award9_mc:
_arg1.icon_mc.gotoAndStop(9);
break;
case award10_mc:
_arg1.icon_mc.gotoAndStop(10);
break;
case award11_mc:
_arg1.icon_mc.gotoAndStop(11);
break;
case award12_mc:
_arg1.icon_mc.gotoAndStop(12);
break;
};
}
public function deleteLSO(){
delete bioAssault_so.data.gameDataExist;
delete bioAssault_so.data.level_so;
delete bioAssault_so.data.moneyOverall_so;
delete bioAssault_so.data.killsOveralll_so;
delete bioAssault_so.data.selectedWeapon_so;
delete bioAssault_so.data.selectedEmergencyWeapon_so;
delete bioAssault_so.data.weapon2Availability_so;
delete bioAssault_so.data.weapon3Availability_so;
delete bioAssault_so.data.weapon4Availability_so;
delete bioAssault_so.data.special1Availability_so;
delete bioAssault_so.data.special2Availability_so;
delete bioAssault_so.data.special3Availability_so;
delete bioAssault_so.data.special4Availability_so;
delete bioAssault_so.data.special5Availability_so;
delete bioAssault_so.data.special6Availability_so;
delete bioAssault_so.data.upgrade1Level_so;
delete bioAssault_so.data.upgrade2Level_so;
delete bioAssault_so.data.upgrade3Level_so;
delete bioAssault_so.data.upgrade4Level_so;
delete bioAssault_so.data.upgrade5Level_so;
delete bioAssault_so.data.upgrade6Level_so;
delete bioAssault_so.data.upgrade1_price_so;
delete bioAssault_so.data.upgrade2_price_so;
delete bioAssault_so.data.upgrade3_price_so;
delete bioAssault_so.data.upgrade4_price_so;
delete bioAssault_so.data.upgrade5_price_so;
delete bioAssault_so.data.upgrade6_price_so;
delete bioAssault_so.data.emergency1Availability_so;
delete bioAssault_so.data.emergency2Availability_so;
delete bioAssault_so.data.emergency3Availability_so;
}
public function countLevelKills(){
kills_levels++;
}
public function attPickupWeapon1(){
var _local1:Number;
var _local2:Number;
var _local3:PickupWeapon1;
_local1 = randomGenerator(50, 500);
_local2 = randomGenerator(-50, 0);
_local3 = new PickupWeapon1(_local1, _local2, 90);
_local3.main = this;
levelContainer_mc.addChild(_local3);
pickupWeaponArray.push(_local3);
}
public function attPickupWeapon2(){
var _local1:Number;
var _local2:Number;
var _local3:PickupWeapon2;
_local1 = randomGenerator(50, 500);
_local2 = randomGenerator(-50, 0);
_local3 = new PickupWeapon2(_local1, _local2, 90);
_local3.main = this;
levelContainer_mc.addChild(_local3);
pickupWeaponArray.push(_local3);
}
public function attPickupWeapon3(){
var _local1:Number;
var _local2:Number;
var _local3:PickupWeapon3;
_local1 = randomGenerator(50, 500);
_local2 = randomGenerator(-50, 0);
_local3 = new PickupWeapon3(_local1, _local2, 90);
_local3.main = this;
levelContainer_mc.addChild(_local3);
pickupWeaponArray.push(_local3);
}
public function flareTmr(_arg1:TimerEvent){
var _local2:EmergencyItem3;
playFlareSnd();
_local2 = new EmergencyItem3(levelContainer_mc.player_mc.x, (levelContainer_mc.player_mc.y - disFromBarrel), randomGenerator(240, 300));
levelContainer_mc.addChild(_local2);
emergencyItem3Array.push(_local2);
}
public function attPickupWeapon4(){
var _local1:Number;
var _local2:Number;
var _local3:PickupWeapon4;
_local1 = randomGenerator(50, 500);
_local2 = randomGenerator(-50, 0);
_local3 = new PickupWeapon4(_local1, _local2, 90);
_local3.main = this;
levelContainer_mc.addChild(_local3);
pickupWeaponArray.push(_local3);
}
public function levelAwards(){
if (bioAssault_so.data.award1_so == undefined){
if (level == 1){
API.unlockMedal(award1_Name);
bioAssault_so.data.award1_so = 1;
promptAchievement(award1_Name);
};
};
if (bioAssault_so.data.award2_so == undefined){
if (level == 2){
API.unlockMedal(award2_Name);
bioAssault_so.data.award2_so = 2;
promptAchievement(award2_Name);
};
};
if (bioAssault_so.data.award3_so == undefined){
if (level == 3){
API.unlockMedal(award3_Name);
bioAssault_so.data.award3_so = 3;
promptAchievement(award3_Name);
};
};
if (bioAssault_so.data.award4_so == undefined){
if (level == 4){
API.unlockMedal(award4_Name);
bioAssault_so.data.award4_so = 4;
promptAchievement(award4_Name);
};
};
if (bioAssault_so.data.award5_so == undefined){
if (level == 5){
API.unlockMedal(award5_Name);
bioAssault_so.data.award4_so = 5;
promptAchievement(award5_Name);
};
};
if (bioAssault_so.data.award6_so == undefined){
if (level == 6){
API.unlockMedal(award6_Name);
bioAssault_so.data.award6_so = 6;
promptAchievement(award6_Name);
};
};
if (bioAssault_so.data.award7_so == undefined){
if (level == 7){
API.unlockMedal(award7_Name);
bioAssault_so.data.award7_so = 2;
promptAchievement(award7_Name);
};
};
if (bioAssault_so.data.award8_so == undefined){
if (level == 8){
API.unlockMedal(award8_Name);
bioAssault_so.data.award8_so = 1;
promptAchievement(award8_Name);
};
};
if (bioAssault_so.data.award9_so == undefined){
if (level == 9){
API.unlockMedal(award9_Name);
bioAssault_so.data.award9_so = 4;
promptAchievement(award9_Name);
};
};
if (bioAssault_so.data.award10_so == undefined){
if (level == 10){
API.unlockMedal(award10_Name);
bioAssault_so.data.award10_so = 10;
promptAchievement(award10_Name);
};
};
if (bioAssault_so.data.award11_so == undefined){
if (level == 11){
API.unlockMedal(award11_Name);
bioAssault_so.data.award11_so = 1;
promptAchievement(award11_Name);
};
};
if (bioAssault_so.data.award12_so == undefined){
if (level == 12){
API.unlockMedal(award12_Name);
bioAssault_so.data.award12_so = 2;
promptAchievement(award12_Name);
};
};
}
public function attEmegencyItem1(){
shieldActivated = "yes";
}
public function attEmegencyItem2(){
var _local1:Number;
_local1 = (enemyArray.length - 1);
while (_local1 >= 0) {
enemyArray[_local1].life = 0;
_local1--;
};
}
public function attEmegencyItem3(){
flareTmrObject.start();
}
public function _setAcquiredSpecialMarker(_arg1:MovieClip, _arg2:MovieClip){
_arg1.x = _arg2.x;
_arg1.y = _arg2.y;
}
public function deployEnemy_Lvl10(_arg1:TimerEvent){
wave_lvl10++;
trace(wave_lvl10);
switch (wave_lvl10){
case 1:
attEnemy3(1);
attEnemy12(1);
break;
case 2:
attEnemy10(1);
attEnemy4(4, "left");
break;
case 3:
attEnemy9(2);
break;
case 4:
attEnemy5(1);
break;
case 5:
attEnemy4(4, "left");
attEnemy7(1);
attEnemy9(2);
break;
case 6:
attEnemy11(2);
break;
case 7:
attEnemy4(4, "right");
attEnemy6(2);
break;
case 8:
attHealth1();
attEnemy8(2);
attEnemy11(1);
break;
case 9:
attEnemy12(2);
break;
case 10:
attPickupWeapon3();
attEnemy4(3, "right");
attEnemy9(2);
attEnemy7(1);
attEnemy9(1);
break;
case 11:
attEnemy2(2);
attEnemy12(1);
break;
case 12:
attEnemy4(3, "right");
break;
case 13:
attEnemy2(1);
attEnemy6(2);
break;
case 14:
attEnemy10(1);
attEnemy12(2);
break;
case 15:
attEnemy4(5, "left");
attEnemy7(1);
attEnemy9(1);
break;
case 16:
attHealth1();
attEnemy2(2);
attEnemy9(1);
break;
case 17:
attSpecialRecharge();
attEnemy10(1);
break;
case 18:
attEnemy4(6, "right");
break;
case 19:
attEnemy12(1);
break;
case 20:
attPickupWeapon4();
attEnemy11(2);
attEnemy7(1);
attEnemy9(1);
break;
case 21:
attEnemy5(1);
attEnemy8(2);
break;
case 22:
attEnemy9(2);
attEnemy10(1);
break;
case 23:
attEnemy6(2);
attEnemy11(1);
break;
case 24:
attEnemy12(1);
break;
case 25:
attEnemy9(2);
attEnemy7(2);
attEnemy9(1);
break;
case 26:
attEnemy5(1);
attEnemy11(1);
break;
case 27:
attEnemy12(1);
break;
case 28:
attHealth1();
attEnemy5(2);
break;
case 29:
attEnemy9(2);
attEnemy10(1);
attBossPrompter();
break;
case 30:
attEnemy12(1);
attEnemy7(2);
attEnemy9(2);
attBoss5();
break;
default:
break;
};
}
public function deployEnemy_Lvl11(_arg1:TimerEvent){
wave_lvl11++;
trace(wave_lvl11);
switch (wave_lvl11){
case 1:
attEnemy3(1);
attEnemy13(1);
break;
case 2:
attEnemy10(1);
attEnemy4(4, "left");
break;
case 3:
attEnemy9(2);
break;
case 4:
attEnemy13(1);
break;
case 5:
attEnemy4(4, "left");
attEnemy7(1);
attEnemy9(2);
break;
case 6:
attEnemy11(2);
break;
case 7:
attEnemy4(4, "right");
attEnemy6(2);
break;
case 8:
attHealth1();
attEnemy8(2);
attEnemy11(1);
break;
case 9:
attEnemy12(2);
break;
case 10:
attPickupWeapon3();
attEnemy4(3, "right");
attEnemy13(1);
attEnemy7(1);
attEnemy9(1);
break;
case 11:
attEnemy2(2);
attEnemy12(1);
break;
case 12:
attEnemy4(3, "right");
break;
case 13:
attEnemy2(1);
attEnemy6(2);
break;
case 14:
attEnemy10(1);
attEnemy12(2);
break;
case 15:
attEnemy4(5, "left");
attEnemy7(1);
attEnemy9(1);
break;
case 16:
attEnemy2(2);
attEnemy13(1);
break;
case 17:
attSpecialRecharge();
attEnemy10(1);
break;
case 18:
attEnemy4(6, "right");
break;
case 19:
attEnemy12(1);
break;
case 20:
attPickupWeapon4();
attHealth1();
attEnemy11(2);
attEnemy7(1);
attEnemy9(1);
break;
case 21:
attEnemy5(1);
attEnemy13(1);
break;
case 22:
attEnemy9(2);
attEnemy13(1);
break;
case 23:
attEnemy6(2);
attEnemy11(1);
break;
case 24:
attEnemy12(1);
break;
case 25:
attEnemy9(2);
attEnemy7(1);
attEnemy9(1);
break;
case 26:
attEnemy5(1);
attEnemy13(1);
break;
case 27:
attEnemy12(1);
break;
case 28:
attHealth1();
attEnemy5(2);
break;
case 29:
attEnemy9(2);
attEnemy13(1);
attEnemy7(1);
attEnemy9(1);
break;
case 30:
attEnemy12(1);
break;
case 31:
attEnemy9(2);
attEnemy13(1);
break;
case 32:
attEnemy13(1);
attEnemy7(1);
attEnemy9(2);
break;
default:
break;
};
}
public function deployEnemy_Lvl12(_arg1:TimerEvent){
wave_lvl12++;
trace(wave_lvl12);
switch (wave_lvl12){
case 1:
attEnemy2(1);
attEnemy14(1);
break;
case 2:
attEnemy10(1);
attEnemy4(4, "left");
break;
case 3:
attEnemy9(2);
break;
case 4:
attHealth1();
attEnemy13(1);
break;
case 5:
attEnemy4(4, "left");
attEnemy7(1);
attEnemy9(2);
break;
case 6:
attEnemy14(1);
break;
case 7:
attEnemy4(4, "right");
attEnemy6(2);
break;
case 8:
attHealth1();
attEnemy8(2);
attEnemy14(1);
break;
case 9:
attEnemy12(2);
break;
case 10:
attPickupWeapon3();
attEnemy4(3, "right");
attEnemy13(1);
attEnemy7(1);
attEnemy9(1);
break;
case 11:
attEnemy2(2);
attEnemy12(1);
break;
case 12:
attHealth2();
attEnemy4(3, "right");
break;
case 13:
attEnemy2(1);
attEnemy6(2);
break;
case 14:
attEnemy10(1);
attEnemy15(2);
break;
case 15:
attEnemy4(5, "left");
attEnemy7(1);
attEnemy9(2);
break;
case 16:
attHealth1();
attEnemy2(2);
attEnemy13(1);
break;
case 17:
attSpecialRecharge();
attEnemy10(1);
break;
case 18:
attEnemy4(6, "right");
break;
case 19:
attEnemy14(2);
break;
case 20:
attPickupWeapon4();
attHealth1();
attEnemy15(2);
attEnemy7(1);
attEnemy9(1);
break;
case 21:
attEnemy5(1);
attEnemy13(1);
break;
case 22:
attEnemy9(2);
attEnemy13(1);
break;
case 23:
attEnemy6(2);
attEnemy11(1);
break;
case 24:
attHealth2();
attEnemy15(1);
attEnemy7(1);
attEnemy9(2);
break;
case 25:
attEnemy9(2);
break;
case 26:
attEnemy5(1);
attEnemy15(1);
break;
case 27:
attEnemy12(1);
break;
case 28:
attHealth1();
attEnemy5(2);
break;
case 29:
attEnemy9(2);
attEnemy15(1);
break;
case 30:
attEnemy12(1);
attEnemy7(1);
attEnemy9(2);
break;
case 31:
attEnemy9(2);
attEnemy14(1);
attBossPrompter();
break;
case 32:
attEnemy15(1);
attEnemy7(1);
attEnemy9(1);
attBoss6();
break;
default:
break;
};
}
public function titleLooper(_arg1:Event){
if (currentFrame == 2){
scroller(flakes1_2_mc, flakes2_2_mc, flakes3_2_mc, flakes4_2_mc, 0.8);
scroller(flakes1_1_mc, flakes2_1_mc, flakes3_1_mc, flakes4_1_mc, 1);
} else {
this.removeEventListener(Event.ENTER_FRAME, titleLooper);
};
}
public function initAwardsScreen(){
award1_mc.icon_mc.alpha = 0.2;
award2_mc.icon_mc.alpha = 0.2;
award3_mc.icon_mc.alpha = 0.2;
award4_mc.icon_mc.alpha = 0.2;
award5_mc.icon_mc.alpha = 0.2;
award6_mc.icon_mc.alpha = 0.2;
award7_mc.icon_mc.alpha = 0.2;
award8_mc.icon_mc.alpha = 0.2;
award9_mc.icon_mc.alpha = 0.2;
award10_mc.icon_mc.alpha = 0.2;
award11_mc.icon_mc.alpha = 0.2;
award12_mc.icon_mc.alpha = 0.2;
if (bioAssault_so.data.award1_so != undefined){
award1_mc.icon_mc.alpha = 1;
};
if (bioAssault_so.data.award2_so != undefined){
award2_mc.icon_mc.alpha = 1;
};
if (bioAssault_so.data.award3_so != undefined){
award3_mc.icon_mc.alpha = 1;
};
if (bioAssault_so.data.award4_so != undefined){
award4_mc.icon_mc.alpha = 1;
};
if (bioAssault_so.data.award5_so != undefined){
award5_mc.icon_mc.alpha = 1;
};
if (bioAssault_so.data.award6_so != undefined){
award6_mc.icon_mc.alpha = 1;
};
if (bioAssault_so.data.award7_so != undefined){
award7_mc.icon_mc.alpha = 1;
};
if (bioAssault_so.data.award8_so != undefined){
award8_mc.icon_mc.alpha = 1;
};
if (bioAssault_so.data.award9_so != undefined){
award9_mc.icon_mc.alpha = 1;
};
if (bioAssault_so.data.award10_so != undefined){
award10_mc.icon_mc.alpha = 1;
};
if (bioAssault_so.data.award11_so != undefined){
award11_mc.icon_mc.alpha = 1;
};
if (bioAssault_so.data.award12_so != undefined){
award12_mc.icon_mc.alpha = 1;
};
}
public function promptAchievement(_arg1:String){
var _local2:AwardPrompt;
_local2 = new AwardPrompt();
_local2.name_txt.text = _arg1;
_local2.icon_mc.gotoAndStop(level);
_local2.x = 275;
_local2.y = 170;
levelContainer_mc.addChild(_local2);
}
public function instanceLooper(_arg1:Array){
var _local2:Number;
_local2 = (_arg1.length - 1);
while (_local2 >= 0) {
_arg1[_local2].looper();
_local2--;
};
}
public function postLostLooper(_arg1:Event){
if (currentFrame == 18){
scroller(flakes1_2_mc, flakes2_2_mc, flakes3_2_mc, flakes4_2_mc, 0.8);
scroller(flakes1_1_mc, flakes2_1_mc, flakes3_1_mc, flakes4_1_mc, 1);
} else {
this.removeEventListener(Event.ENTER_FRAME, postLostLooper);
};
}
public function playerCheckHit(_arg1:Array, _arg2:Number){
var _local3:Number;
_local3 = (_arg1.length - 1);
while (_local3 >= 0) {
if (_arg1[_local3].hitBox_mc.hitTestObject(levelContainer_mc.player_mc.hitBox_mc)){
attExplosion(_arg1[_local3]);
redFlash_mc.gotoAndPlay(2);
if (shieldInUse == "yes"){
} else {
lifeNum = (lifeNum - _arg2);
levelContainer_mc.player_mc.flash_mc.gotoAndPlay(2);
screenShake();
trace(("lifeNum- " + lifeNum));
};
if (_arg1 == bossArray){
} else {
_arg1[_local3].destruct("");
};
break;
};
_local3--;
};
}
public function wireEraser(_arg1:MovieClip){
levelContainer_mc.removeChild(_arg1);
}
public function attHealth2(){
var _local1:Number;
var _local2:Number;
var _local3:Health2;
_local1 = randomGenerator(50, 500);
_local2 = randomGenerator(-50, 0);
_local3 = new Health2(_local1, _local2, 90);
levelContainer_mc.addChild(_local3);
moneyArray.push(_local3);
}
public function playStrikeSnd(){
if (music == "on"){
strikeSnd.play();
};
}
public function newGameBtn(_arg1:MovieClip, _arg2:String){
var movr:Function;
var mout:Function;
var mclck:Function;
var btn = _arg1;
var whereTo = _arg2;
movr = function (_arg1:MouseEvent){
Tweener.addTween(btn.stars_mc, {x:-170, time:0.4, transition:"easeOutStrong"});
Tweener.addTween(btn.stars_mc, {alpha:1, time:0.4, transition:"easeOutStrong"});
};
mout = function (_arg1:MouseEvent){
Tweener.addTween(btn.stars_mc, {x:0, time:0.4, transition:"easeOutStrong"});
Tweener.addTween(btn.stars_mc, {alpha:0, time:0.4, transition:"easeOutStrong"});
};
mclck = function (_arg1:MouseEvent){
if (btn == newGame_btn){
trace("why");
if (bioAssault_so.data.gameDataExist != undefined){
trace("data exist");
Tweener.addTween(newGamePrompt_mc, {x:275.6, time:0.4, transition:"easeOutStrong"});
} else {
trace("no data exist");
LSO_Checker();
gotoAndStop(whereTo);
};
} else {
if (btn == newGamePrompt_mc.yes_btn){
deleteLSO();
LSO_Checker();
gotoAndStop(whereTo);
} else {
if (btn == newGamePrompt_mc.no_btn){
Tweener.addTween(newGamePrompt_mc, {x:-394.4, time:0.4, transition:"easeOutStrong"});
} else {
gotoAndStop(whereTo);
};
};
};
};
btn.buttonMode = true;
btn.addEventListener(MouseEvent.MOUSE_OVER, movr);
btn.addEventListener(MouseEvent.MOUSE_OUT, mout);
btn.addEventListener(MouseEvent.CLICK, mclck);
}
public function attHealth1(){
var _local1:Number;
var _local2:Number;
var _local3:Health1;
_local1 = randomGenerator(50, 500);
_local2 = randomGenerator(-50, 0);
_local3 = new Health1(_local1, _local2, 90);
levelContainer_mc.addChild(_local3);
moneyArray.push(_local3);
}
public function playBossWarningSnd(){
if (music == "on"){
bossWarningSnd.play();
};
}
public function saveToLSO(){
bioAssault_so.data.gameDataExist = "true";
bioAssault_so.data.level_so = level;
bioAssault_so.data.moneyOverall_so = moneyOverall;
bioAssault_so.data.killsOveralll_so = killsOverall;
bioAssault_so.data.selectedWeapon_so = selectedWeapon;
bioAssault_so.data.selectedEmergencyWeapon_so = selectedEmergencyWeapon;
bioAssault_so.data.weapon2Availability_so = weapon2Availability;
bioAssault_so.data.weapon3Availability_so = weapon3Availability;
bioAssault_so.data.weapon4Availability_so = weapon4Availability;
bioAssault_so.data.special1Availability_so = special1Availability;
bioAssault_so.data.special2Availability_so = special2Availability;
bioAssault_so.data.special3Availability_so = special3Availability;
bioAssault_so.data.special4Availability_so = special4Availability;
bioAssault_so.data.special5Availability_so = special5Availability;
bioAssault_so.data.special6Availability_so = special6Availability;
bioAssault_so.data.upgrade1Level_so = upgrade1Level;
bioAssault_so.data.upgrade2Level_so = upgrade2Level;
bioAssault_so.data.upgrade3Level_so = upgrade3Level;
bioAssault_so.data.upgrade4Level_so = upgrade4Level;
bioAssault_so.data.upgrade5Level_so = upgrade5Level;
bioAssault_so.data.upgrade6Level_so = upgrade6Level;
bioAssault_so.data.upgrade1_price_so = upgrade1_price;
bioAssault_so.data.upgrade2_price_so = upgrade2_price;
bioAssault_so.data.upgrade3_price_so = upgrade3_price;
bioAssault_so.data.upgrade4_price_so = upgrade4_price;
bioAssault_so.data.upgrade5_price_so = upgrade5_price;
bioAssault_so.data.upgrade6_price_so = upgrade6_price;
bioAssault_so.data.emergency1Availability_so = emergency1Availability;
bioAssault_so.data.emergency2Availability_so = emergency2Availability;
bioAssault_so.data.emergency3Availability_so = emergency3Availability;
bioAssault_so.flush();
}
public function button1Pressed(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.arcadebomb.com"), "_blank");
}
public function attWeaponPrompt(_arg1:MovieClip){
var _local2:WeaponPrompt;
playAcquireSnd();
_local2 = new WeaponPrompt();
if ((_arg1 is PickupWeapon1)){
_local2.display_mc.gotoAndStop(1);
} else {
if ((_arg1 is PickupWeapon2)){
_local2.display_mc.gotoAndStop(2);
} else {
if ((_arg1 is PickupWeapon3)){
_local2.display_mc.gotoAndStop(3);
} else {
if ((_arg1 is PickupWeapon4)){
_local2.display_mc.gotoAndStop(4);
} else {
if ((_arg1 is SpecialRecharge)){
_local2.display_mc.gotoAndStop(5);
};
};
};
};
};
_local2.x = 275;
_local2.y = 170;
levelContainer_mc.addChild(_local2);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 39
//mc_awardContainer_105 (BioAssault_NG_ApiEna_v2_fla.mc_awardContainer_105)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class mc_awardContainer_105 extends MovieClip {
public var icon_mc:MovieClip;
public var desc_txt:TextField;
public var name_txt:TextField;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 40
//mc_awardIcon_106 (BioAssault_NG_ApiEna_v2_fla.mc_awardIcon_106)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_awardIcon_106 extends MovieClip {
public function mc_awardIcon_106(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 41
//mc_blinkingDesignOnTitle_9 (BioAssault_NG_ApiEna_v2_fla.mc_blinkingDesignOnTitle_9)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_blinkingDesignOnTitle_9 extends MovieClip {
public var plate2_2_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 42
//mc_boss1Flash_134 (BioAssault_NG_ApiEna_v2_fla.mc_boss1Flash_134)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_boss1Flash_134 extends MovieClip {
public function mc_boss1Flash_134(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
stop();
gotoAndStop(1);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 43
//mc_boss2Flash_132 (BioAssault_NG_ApiEna_v2_fla.mc_boss2Flash_132)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_boss2Flash_132 extends MovieClip {
public function mc_boss2Flash_132(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
stop();
gotoAndStop(1);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 44
//mc_boss3FLash_130 (BioAssault_NG_ApiEna_v2_fla.mc_boss3FLash_130)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_boss3FLash_130 extends MovieClip {
public var electricCharge_mc:MovieClip;
public function mc_boss3FLash_130(){
addFrameScript(0, frame1, 4, frame5);
}
function frame5(){
stop();
gotoAndStop(1);
}
function frame1(){
stop();
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 45
//mc_boss4Flash_128 (BioAssault_NG_ApiEna_v2_fla.mc_boss4Flash_128)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_boss4Flash_128 extends MovieClip {
public function mc_boss4Flash_128(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
stop();
gotoAndStop(1);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 46
//mc_boss5Flash_126 (BioAssault_NG_ApiEna_v2_fla.mc_boss5Flash_126)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_boss5Flash_126 extends MovieClip {
public function mc_boss5Flash_126(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
stop();
gotoAndStop(1);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 47
//mc_boss6Flash_123 (BioAssault_NG_ApiEna_v2_fla.mc_boss6Flash_123)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_boss6Flash_123 extends MovieClip {
public function mc_boss6Flash_123(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
stop();
gotoAndStop(1);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 48
//mc_bossLifeBarContainer_81 (BioAssault_NG_ApiEna_v2_fla.mc_bossLifeBarContainer_81)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_bossLifeBarContainer_81 extends MovieClip {
public var lifeBar_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 49
//mc_coinAnimation_121 (BioAssault_NG_ApiEna_v2_fla.mc_coinAnimation_121)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_coinAnimation_121 extends MovieClip {
public function mc_coinAnimation_121(){
addFrameScript(139, frame140);
}
function frame140(){
stop();
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 50
//mc_display_118 (BioAssault_NG_ApiEna_v2_fla.mc_display_118)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_display_118 extends MovieClip {
public function mc_display_118(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 51
//mc_e10Flash_176 (BioAssault_NG_ApiEna_v2_fla.mc_e10Flash_176)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_e10Flash_176 extends MovieClip {
public function mc_e10Flash_176(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
gotoAndStop(1);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 52
//mc_e11Flash_178 (BioAssault_NG_ApiEna_v2_fla.mc_e11Flash_178)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_e11Flash_178 extends MovieClip {
public function mc_e11Flash_178(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
gotoAndStop(1);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 53
//mc_e12Flash_182 (BioAssault_NG_ApiEna_v2_fla.mc_e12Flash_182)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_e12Flash_182 extends MovieClip {
public function mc_e12Flash_182(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
gotoAndStop(1);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 54
//mc_e13Flash_180 (BioAssault_NG_ApiEna_v2_fla.mc_e13Flash_180)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_e13Flash_180 extends MovieClip {
public function mc_e13Flash_180(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
gotoAndStop(1);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 55
//mc_e14Flash_184 (BioAssault_NG_ApiEna_v2_fla.mc_e14Flash_184)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_e14Flash_184 extends MovieClip {
public function mc_e14Flash_184(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
gotoAndStop(1);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 56
//mc_e15Flash_186 (BioAssault_NG_ApiEna_v2_fla.mc_e15Flash_186)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_e15Flash_186 extends MovieClip {
public function mc_e15Flash_186(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
gotoAndStop(1);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 57
//mc_E1Flash_159 (BioAssault_NG_ApiEna_v2_fla.mc_E1Flash_159)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_E1Flash_159 extends MovieClip {
public function mc_E1Flash_159(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
gotoAndStop(1);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 58
//mc_e2Flash_162 (BioAssault_NG_ApiEna_v2_fla.mc_e2Flash_162)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_e2Flash_162 extends MovieClip {
public function mc_e2Flash_162(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
gotoAndStop(1);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 59
//mc_e3Flash_164 (BioAssault_NG_ApiEna_v2_fla.mc_e3Flash_164)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_e3Flash_164 extends MovieClip {
public function mc_e3Flash_164(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
gotoAndStop(1);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 60
//mc_e4FLash_194 (BioAssault_NG_ApiEna_v2_fla.mc_e4FLash_194)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_e4FLash_194 extends MovieClip {
public function mc_e4FLash_194(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
gotoAndStop(1);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 61
//mc_e5Flash_166 (BioAssault_NG_ApiEna_v2_fla.mc_e5Flash_166)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_e5Flash_166 extends MovieClip {
public function mc_e5Flash_166(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
gotoAndStop(1);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 62
//mc_e6Flash_168 (BioAssault_NG_ApiEna_v2_fla.mc_e6Flash_168)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_e6Flash_168 extends MovieClip {
public function mc_e6Flash_168(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
gotoAndStop(1);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 63
//mc_e7Flash_170 (BioAssault_NG_ApiEna_v2_fla.mc_e7Flash_170)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_e7Flash_170 extends MovieClip {
public function mc_e7Flash_170(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
gotoAndStop(1);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 64
//mc_e8Flash_172 (BioAssault_NG_ApiEna_v2_fla.mc_e8Flash_172)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_e8Flash_172 extends MovieClip {
public function mc_e8Flash_172(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
gotoAndStop(1);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 65
//mc_e9Flash_174 (BioAssault_NG_ApiEna_v2_fla.mc_e9Flash_174)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_e9Flash_174 extends MovieClip {
public function mc_e9Flash_174(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
gotoAndStop(1);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 66
//mc_electricCharge_160 (BioAssault_NG_ApiEna_v2_fla.mc_electricCharge_160)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_electricCharge_160 extends MovieClip {
public function mc_electricCharge_160(){
addFrameScript(0, frame1, 10, frame11);
}
function frame1(){
stop();
}
function frame11(){
gotoAndPlay(2);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 67
//mc_emergencyItemContainer_64 (BioAssault_NG_ApiEna_v2_fla.mc_emergencyItemContainer_64)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class mc_emergencyItemContainer_64 extends MovieClip {
public var itemDes_txt:TextField;
public var selectedEmergency_mc:MovieClip;
public var emergeny3Buy_btn:MovieClip;
public var emergeny2Buy_btn:MovieClip;
public var emergeny1Buy_btn:MovieClip;
public var emergency1price_txt:TextField;
public var emergency2price_txt:TextField;
public var emergency3price_txt:TextField;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 68
//mc_EmergencyItemUI_91 (BioAssault_NG_ApiEna_v2_fla.mc_EmergencyItemUI_91)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_EmergencyItemUI_91 extends MovieClip {
public function mc_EmergencyItemUI_91(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 69
//mc_EmergencyItemUIContainer_90 (BioAssault_NG_ApiEna_v2_fla.mc_EmergencyItemUIContainer_90)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class mc_EmergencyItemUIContainer_90 extends MovieClip {
public var emergencyItem_txt:TextField;
public var icon_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 70
//mc_empCharging_77 (BioAssault_NG_ApiEna_v2_fla.mc_empCharging_77)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.geom.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class mc_empCharging_77 extends MovieClip {
public function mc_empCharging_77(){
addFrameScript(0, frame1, 10, frame11);
}
function frame1(){
stop();
}
function frame11(){
stop();
MovieClip(parent.parent.parent).attEmegencyItem2();
MovieClip(parent.parent.parent).whiteFlash_mc.gotoAndPlay(2);
gotoAndPlay(1);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 71
//mc_fader_37 (BioAssault_NG_ApiEna_v2_fla.mc_fader_37)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_fader_37 extends MovieClip {
public function mc_fader_37(){
addFrameScript(6, frame7);
}
function frame7(){
stop();
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 72
//mc_forceField_76 (BioAssault_NG_ApiEna_v2_fla.mc_forceField_76)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_forceField_76 extends MovieClip {
public function mc_forceField_76(){
addFrameScript(0, frame1, 17, frame18);
}
function frame18(){
stop();
gotoAndPlay(2);
}
function frame1(){
stop();
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 73
//mc_laserWireElectricCurrentBig_124 (BioAssault_NG_ApiEna_v2_fla.mc_laserWireElectricCurrentBig_124)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_laserWireElectricCurrentBig_124 extends MovieClip {
public function mc_laserWireElectricCurrentBig_124(){
addFrameScript(0, frame1, 10, frame11);
}
function frame1(){
stop();
}
function frame11(){
gotoAndPlay(2);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 74
//mc_levelContainer1_71 (BioAssault_NG_ApiEna_v2_fla.mc_levelContainer1_71)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_levelContainer1_71 extends MovieClip {
public var superBlaster_mc:MovieClip;
public var player_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 75
//mc_lifeBarContainer_78 (BioAssault_NG_ApiEna_v2_fla.mc_lifeBarContainer_78)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_lifeBarContainer_78 extends MovieClip {
public var lifeBar_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 76
//mc_newGamePrompt_34 (BioAssault_NG_ApiEna_v2_fla.mc_newGamePrompt_34)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_newGamePrompt_34 extends MovieClip {
public var yes_btn:MovieClip;
public var no_btn:MovieClip;
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 77
//mc_pickDisplay_116 (BioAssault_NG_ApiEna_v2_fla.mc_pickDisplay_116)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_pickDisplay_116 extends MovieClip {
public function mc_pickDisplay_116(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 78
//mc_player_73 (BioAssault_NG_ApiEna_v2_fla.mc_player_73)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_player_73 extends MovieClip {
public var forceField_mc:MovieClip;
public var empCharging_mc:MovieClip;
public var flash_mc:MovieClip;
public var hitBox_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 79
//mc_playerFlash_74 (BioAssault_NG_ApiEna_v2_fla.mc_playerFlash_74)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_playerFlash_74 extends MovieClip {
public function mc_playerFlash_74(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
gotoAndStop(1);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 80
//mc_promptAwardIcon_114 (BioAssault_NG_ApiEna_v2_fla.mc_promptAwardIcon_114)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_promptAwardIcon_114 extends MovieClip {
public function mc_promptAwardIcon_114(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 81
//mc_redFlash_93 (BioAssault_NG_ApiEna_v2_fla.mc_redFlash_93)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_redFlash_93 extends MovieClip {
public function mc_redFlash_93(){
addFrameScript(0, frame1, 7, frame8);
}
function frame1(){
stop();
}
function frame8(){
stop();
gotoAndStop(1);
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 82
//mc_special1UIContainer_83 (BioAssault_NG_ApiEna_v2_fla.mc_special1UIContainer_83)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_special1UIContainer_83 extends MovieClip {
public function mc_special1UIContainer_83(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 83
//mc_special3UIContainer_84 (BioAssault_NG_ApiEna_v2_fla.mc_special3UIContainer_84)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_special3UIContainer_84 extends MovieClip {
public function mc_special3UIContainer_84(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 84
//mc_special4UIContainer_86 (BioAssault_NG_ApiEna_v2_fla.mc_special4UIContainer_86)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_special4UIContainer_86 extends MovieClip {
public function mc_special4UIContainer_86(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 85
//mc_special5UIContainer_88 (BioAssault_NG_ApiEna_v2_fla.mc_special5UIContainer_88)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_special5UIContainer_88 extends MovieClip {
public function mc_special5UIContainer_88(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 86
//mc_specialContainer_52 (BioAssault_NG_ApiEna_v2_fla.mc_specialContainer_52)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class mc_specialContainer_52 extends MovieClip {
public var special2price_txt:TextField;
public var special4Buy_btn:MovieClip;
public var selectedSpecial1_mc:MovieClip;
public var special3Buy_btn:MovieClip;
public var selectedSpecial4_mc:MovieClip;
public var special3price_txt:TextField;
public var special4price_txt:TextField;
public var special1Buy_btn:MovieClip;
public var selectedSpecial2_mc:MovieClip;
public var special5price_txt:TextField;
public var special2Buy_btn:MovieClip;
public var special6price_txt:TextField;
public var selectedSpecial5_mc:MovieClip;
public var specialDes_txt:TextField;
public var special6Buy_btn:MovieClip;
public var selectedSpecial3_mc:MovieClip;
public var selectedSpecial6_mc:MovieClip;
public var special1price_txt:TextField;
public var special5Buy_btn:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 87
//mc_systemMap_20 (BioAssault_NG_ApiEna_v2_fla.mc_systemMap_20)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class mc_systemMap_20 extends MovieClip {
public var section_txt:TextField;
public var section_mc:MovieClip;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 88
//mc_systemMapLoc_21 (BioAssault_NG_ApiEna_v2_fla.mc_systemMapLoc_21)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_systemMapLoc_21 extends MovieClip {
public function mc_systemMapLoc_21(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 89
//mc_upgradesContainer_62 (BioAssault_NG_ApiEna_v2_fla.mc_upgradesContainer_62)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class mc_upgradesContainer_62 extends MovieClip {
public var showUpgrade4Level_txt:TextField;
public var upgrade5price_txt:TextField;
public var showUpgrade5Level_txt:TextField;
public var itemDes_txt:TextField;
public var upgrade2_btn:MovieClip;
public var upgrade4_btn:MovieClip;
public var upgrade6price_txt:TextField;
public var showUpgrade6Level_txt:TextField;
public var upgrade2Level_txt:TextField;
public var upgrade6_btn:MovieClip;
public var upgrade1Level_txt:TextField;
public var upgrade4Level_txt:TextField;
public var upgrade3Level_txt:TextField;
public var upgrade1price_txt:TextField;
public var upgrade2price_txt:TextField;
public var upgrade1_btn:MovieClip;
public var upgrade3_btn:MovieClip;
public var upgrade5_btn:MovieClip;
public var upgrade5Level_txt:TextField;
public var upgrade6Level_txt:TextField;
public var upgrade3price_txt:TextField;
public var showUpgrade1Level_txt:TextField;
public var showUpgrade2Level_txt:TextField;
public var showUpgrade3Level_txt:TextField;
public var upgrade4price_txt:TextField;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 90
//mc_weaponsContainer_46 (BioAssault_NG_ApiEna_v2_fla.mc_weaponsContainer_46)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class mc_weaponsContainer_46 extends MovieClip {
public var weaponDes_txt:TextField;
public var selectedWeapon_mc:MovieClip;
public var weapon4Buy_btn:MovieClip;
public var weapon2Buy_btn:MovieClip;
public var weapon2price_txt:TextField;
public var weapon3Buy_btn:MovieClip;
public var weapon3price_txt:TextField;
public var weapon1Buy_btn:MovieClip;
public var weapon4price_txt:TextField;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 91
//mc_whiteFlash_92 (BioAssault_NG_ApiEna_v2_fla.mc_whiteFlash_92)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
public dynamic class mc_whiteFlash_92 extends MovieClip {
public function mc_whiteFlash_92(){
addFrameScript(0, frame1, 5, frame6);
}
function frame6(){
stop();
this.gotoAndStop(1);
}
function frame1(){
stop();
}
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 92
//score_submit_107 (BioAssault_NG_ApiEna_v2_fla.score_submit_107)
package BioAssault_NG_ApiEna_v2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class score_submit_107 extends MovieClip {
public var button:SimpleButton;
public var inputbox:TextField;
}
}//package BioAssault_NG_ApiEna_v2_fla
Section 93
//AuxFunctions (caurina.transitions.AuxFunctions)
package caurina.transitions {
public class AuxFunctions {
public static function getObjectLength(_arg1:Object):uint{
var _local2:uint;
var _local3:String;
_local2 = 0;
for (_local3 in _arg1) {
_local2++;
};
return (_local2);
}
public static function numberToG(_arg1:Number):Number{
return (((_arg1 & 0xFF00) >> 8));
}
public static function numberToB(_arg1:Number):Number{
return ((_arg1 & 0xFF));
}
public static function numberToR(_arg1:Number):Number{
return (((_arg1 & 0xFF0000) >> 16));
}
public static function concatObjects(... _args):Object{
var _local2:Object;
var _local3:Object;
var _local4:int;
var _local5:String;
_local2 = {};
_local4 = 0;
while (_local4 < _args.length) {
_local3 = _args[_local4];
for (_local5 in _local3) {
if (_local3[_local5] == null){
delete _local2[_local5];
} else {
_local2[_local5] = _local3[_local5];
};
};
_local4++;
};
return (_local2);
}
}
}//package caurina.transitions
Section 94
//Equations (caurina.transitions.Equations)
package caurina.transitions {
public class Equations {
public function Equations(){
trace("Equations is a static class and should not be instantiated.");
}
public static function easeOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
if (_arg1 < (1 / 2.75)){
return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2));
};
if (_arg1 < (2 / 2.75)){
_arg1 = (_arg1 - (1.5 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2));
};
if (_arg1 < (2.5 / 2.75)){
_arg1 = (_arg1 - (2.25 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2));
};
_arg1 = (_arg1 - (2.625 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2));
}
public static function easeInOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
var _local7:Number;
var _local8:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 == 2){
return ((_arg2 + _arg3));
};
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * (0.3 * 1.5)) : _arg5.period;
_local8 = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude;
if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){
_local8 = _arg3;
_local7 = (_local6 / 4);
} else {
_local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8)));
};
if (_arg1 < 1){
--_arg1;
return (((-0.5 * ((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2));
};
--_arg1;
return ((((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) * 0.5) + _arg3) + _arg2));
}
public static function easeInOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2));
};
--_arg1;
return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2));
}
public static function easeInOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (((easeInBounce((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2));
};
return ((((easeOutBounce(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2));
}
public static function easeInOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot;
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
_local6 = (_local6 * 1.525);
return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_local6 + 1) * _arg1) - _local6))) + _arg2));
};
_arg1 = (_arg1 - 2);
_local6 = (_local6 * 1.525);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 2)) + _arg2));
}
public static function easeOutInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutCubic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInCubic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot;
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 1)) + _arg2));
}
public static function easeInOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return ((((-(_arg3) / 2) * (Math.cos(((Math.PI * _arg1) / _arg4)) - 1)) + _arg2));
}
public static function easeInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot;
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * (((_local6 + 1) * _arg1) - _local6)) + _arg2));
}
public static function easeInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return ((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeOutInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuint((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInQuint(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutBounce((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInBounce(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function init():void{
Tweener.registerTransition("easenone", easeNone);
Tweener.registerTransition("linear", easeNone);
Tweener.registerTransition("easeinquad", easeInQuad);
Tweener.registerTransition("easeoutquad", easeOutQuad);
Tweener.registerTransition("easeinoutquad", easeInOutQuad);
Tweener.registerTransition("easeoutinquad", easeOutInQuad);
Tweener.registerTransition("easeincubic", easeInCubic);
Tweener.registerTransition("easeoutcubic", easeOutCubic);
Tweener.registerTransition("easeinoutcubic", easeInOutCubic);
Tweener.registerTransition("easeoutincubic", easeOutInCubic);
Tweener.registerTransition("easeinquart", easeInQuart);
Tweener.registerTransition("easeoutquart", easeOutQuart);
Tweener.registerTransition("easeinoutquart", easeInOutQuart);
Tweener.registerTransition("easeoutinquart", easeOutInQuart);
Tweener.registerTransition("easeinquint", easeInQuint);
Tweener.registerTransition("easeoutquint", easeOutQuint);
Tweener.registerTransition("easeinoutquint", easeInOutQuint);
Tweener.registerTransition("easeoutinquint", easeOutInQuint);
Tweener.registerTransition("easeinsine", easeInSine);
Tweener.registerTransition("easeoutsine", easeOutSine);
Tweener.registerTransition("easeinoutsine", easeInOutSine);
Tweener.registerTransition("easeoutinsine", easeOutInSine);
Tweener.registerTransition("easeincirc", easeInCirc);
Tweener.registerTransition("easeoutcirc", easeOutCirc);
Tweener.registerTransition("easeinoutcirc", easeInOutCirc);
Tweener.registerTransition("easeoutincirc", easeOutInCirc);
Tweener.registerTransition("easeinexpo", easeInExpo);
Tweener.registerTransition("easeoutexpo", easeOutExpo);
Tweener.registerTransition("easeinoutexpo", easeInOutExpo);
Tweener.registerTransition("easeoutinexpo", easeOutInExpo);
Tweener.registerTransition("easeinelastic", easeInElastic);
Tweener.registerTransition("easeoutelastic", easeOutElastic);
Tweener.registerTransition("easeinoutelastic", easeInOutElastic);
Tweener.registerTransition("easeoutinelastic", easeOutInElastic);
Tweener.registerTransition("easeinback", easeInBack);
Tweener.registerTransition("easeoutback", easeOutBack);
Tweener.registerTransition("easeinoutback", easeInOutBack);
Tweener.registerTransition("easeoutinback", easeOutInBack);
Tweener.registerTransition("easeinbounce", easeInBounce);
Tweener.registerTransition("easeoutbounce", easeOutBounce);
Tweener.registerTransition("easeinoutbounce", easeInOutBounce);
Tweener.registerTransition("easeoutinbounce", easeOutInBounce);
}
public static function easeOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg1)==_arg4) ? (_arg2 + _arg3) : (((_arg3 * 1.001) * (-(Math.pow(2, ((-10 * _arg1) / _arg4))) + 1)) + _arg2));
}
public static function easeOutInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutBack((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInBack(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg1)==0) ? _arg2 : (((_arg3 * Math.pow(2, (10 * ((_arg1 / _arg4) - 1)))) + _arg2) - (_arg3 * 0.001)));
}
public static function easeInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((-(_arg3) / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) + 1)) + _arg2));
}
public static function easeInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return ((((_arg3 * _arg1) * _arg1) + _arg2));
}
public static function easeInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg3 - easeOutBounce((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2));
}
public static function easeOutInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutExpo((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInExpo(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((-(_arg3) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 1)) + _arg2));
}
public static function easeInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg3) + _arg2));
}
public static function easeInOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((-(_arg3) / 2) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 2)) + _arg2));
}
public static function easeOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
public static function easeOutInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutElastic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInElastic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
var _local7:Number;
var _local8:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period;
_local8 = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude;
if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){
_local8 = _arg3;
_local7 = (_local6 / 4);
} else {
_local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8)));
};
--_arg1;
return ((-(((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2));
}
public static function easeOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeOutInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuad((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInQuad(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg3 * Math.sin(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2));
}
public static function easeInOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * _arg1) + 2)) + _arg2));
}
public static function easeInOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2));
}
public static function easeInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return (((-(_arg3) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2));
}
public static function easeOutInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutSine((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInSine(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeInOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 == 0){
return (_arg2);
};
if (_arg1 == _arg4){
return ((_arg2 + _arg3));
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((_arg3 / 2) * Math.pow(2, (10 * (_arg1 - 1)))) + _arg2) - (_arg3 * 0.0005)));
};
--_arg1;
return (((((_arg3 / 2) * 1.0005) * (-(Math.pow(2, (-10 * _arg1))) + 2)) + _arg2));
}
public static function easeOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
var _local7:Number;
var _local8:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period;
_local8 = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude;
if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){
_local8 = _arg3;
_local7 = (_local6 / 4);
} else {
_local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8)));
};
return (((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) + _arg3) + _arg2));
}
public static function easeOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * Math.sqrt((1 - (_arg1 * _arg1)))) + _arg2));
}
public static function easeOutInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuart((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInQuart(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutCirc((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInCirc(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
}
}//package caurina.transitions
Section 95
//PropertyInfoObj (caurina.transitions.PropertyInfoObj)
package caurina.transitions {
public class PropertyInfoObj {
public var originalValueComplete:Object;
public var modifierParameters:Array;
public var isSpecialProperty:Boolean;
public var hasModifier:Boolean;
public var valueComplete:Number;
public var extra:Object;
public var valueStart:Number;
public var modifierFunction:Function;
public var arrayIndex:Number;
public function PropertyInfoObj(_arg1:Number, _arg2:Number, _arg3:Object, _arg4:Number, _arg5:Object, _arg6:Boolean, _arg7:Function, _arg8:Array){
valueStart = _arg1;
valueComplete = _arg2;
originalValueComplete = _arg3;
arrayIndex = _arg4;
extra = _arg5;
isSpecialProperty = _arg6;
hasModifier = Boolean(_arg7);
modifierFunction = _arg7;
modifierParameters = _arg8;
}
public function toString():String{
var _local1:String;
_local1 = "\n[PropertyInfoObj ";
_local1 = (_local1 + ("valueStart:" + String(valueStart)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("valueComplete:" + String(valueComplete)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("originalValueComplete:" + String(originalValueComplete)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("arrayIndex:" + String(arrayIndex)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("extra:" + String(extra)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("isSpecialProperty:" + String(isSpecialProperty)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("hasModifier:" + String(hasModifier)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("modifierFunction:" + String(modifierFunction)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("modifierParameters:" + String(modifierParameters)));
_local1 = (_local1 + "]\n");
return (_local1);
}
public function clone():PropertyInfoObj{
var _local1:PropertyInfoObj;
_local1 = new PropertyInfoObj(valueStart, valueComplete, originalValueComplete, arrayIndex, extra, isSpecialProperty, modifierFunction, modifierParameters);
return (_local1);
}
}
}//package caurina.transitions
Section 96
//SpecialProperty (caurina.transitions.SpecialProperty)
package caurina.transitions {
public class SpecialProperty {
public var parameters:Array;
public var preProcess:Function;
public var setValue:Function;
public var getValue:Function;
public function SpecialProperty(_arg1:Function, _arg2:Function, _arg3:Array=null, _arg4:Function=null){
getValue = _arg1;
setValue = _arg2;
parameters = _arg3;
preProcess = _arg4;
}
public function toString():String{
var _local1:String;
_local1 = "";
_local1 = (_local1 + "[SpecialProperty ");
_local1 = (_local1 + ("getValue:" + String(getValue)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("setValue:" + String(setValue)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("parameters:" + String(parameters)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("preProcess:" + String(preProcess)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 97
//SpecialPropertyModifier (caurina.transitions.SpecialPropertyModifier)
package caurina.transitions {
public class SpecialPropertyModifier {
public var getValue:Function;
public var modifyValues:Function;
public function SpecialPropertyModifier(_arg1:Function, _arg2:Function){
modifyValues = _arg1;
getValue = _arg2;
}
public function toString():String{
var _local1:String;
_local1 = "";
_local1 = (_local1 + "[SpecialPropertyModifier ");
_local1 = (_local1 + ("modifyValues:" + String(modifyValues)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("getValue:" + String(getValue)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 98
//SpecialPropertySplitter (caurina.transitions.SpecialPropertySplitter)
package caurina.transitions {
public class SpecialPropertySplitter {
public var parameters:Array;
public var splitValues:Function;
public function SpecialPropertySplitter(_arg1:Function, _arg2:Array){
splitValues = _arg1;
parameters = _arg2;
}
public function toString():String{
var _local1:String;
_local1 = "";
_local1 = (_local1 + "[SpecialPropertySplitter ");
_local1 = (_local1 + ("splitValues:" + String(splitValues)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("parameters:" + String(parameters)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 99
//Tweener (caurina.transitions.Tweener)
package caurina.transitions {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class Tweener {
private static var _timeScale:Number = 1;
private static var _currentTimeFrame:Number;
private static var _specialPropertySplitterList:Object;
public static var autoOverwrite:Boolean = true;
private static var _engineExists:Boolean = false;
private static var _currentTime:Number;
private static var _tweenList:Array;
private static var _specialPropertyModifierList:Object;
private static var _specialPropertyList:Object;
private static var _transitionList:Object;
private static var _inited:Boolean = false;
private static var __tweener_controller__:MovieClip;
public function Tweener(){
trace("Tweener is a static class and should not be instantiated.");
}
public static function registerSpecialPropertyModifier(_arg1:String, _arg2:Function, _arg3:Function):void{
var _local4:SpecialPropertyModifier;
if (!_inited){
init();
};
_local4 = new SpecialPropertyModifier(_arg2, _arg3);
_specialPropertyModifierList[_arg1] = _local4;
}
public static function registerSpecialProperty(_arg1:String, _arg2:Function, _arg3:Function, _arg4:Array=null, _arg5:Function=null):void{
var _local6:SpecialProperty;
if (!_inited){
init();
};
_local6 = new SpecialProperty(_arg2, _arg3, _arg4, _arg5);
_specialPropertyList[_arg1] = _local6;
}
public static function init(... _args):void{
_inited = true;
_transitionList = new Object();
Equations.init();
_specialPropertyList = new Object();
_specialPropertyModifierList = new Object();
_specialPropertySplitterList = new Object();
}
private static function updateTweens():Boolean{
var _local1:int;
if (_tweenList.length == 0){
return (false);
};
_local1 = 0;
while (_local1 < _tweenList.length) {
if ((((_tweenList[_local1] == undefined)) || (!(_tweenList[_local1].isPaused)))){
if (!updateTweenByIndex(_local1)){
removeTweenByIndex(_local1);
};
if (_tweenList[_local1] == null){
removeTweenByIndex(_local1, true);
_local1--;
};
};
_local1++;
};
return (true);
}
public static function addCaller(_arg1:Object=null, _arg2:Object=null):Boolean{
var _local3:Number;
var _local4:Array;
var _local5:Object;
var _local6:Number;
var _local7:Number;
var _local8:Function;
var _local9:TweenListObj;
var _local10:Number;
var _local11:String;
if (!Boolean(_arg1)){
return (false);
};
if ((_arg1 is Array)){
_local4 = _arg1.concat();
} else {
_local4 = [_arg1];
};
_local5 = _arg2;
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
_local6 = (isNaN(_local5.time)) ? 0 : _local5.time;
_local7 = (isNaN(_local5.delay)) ? 0 : _local5.delay;
if (typeof(_local5.transition) == "string"){
_local11 = _local5.transition.toLowerCase();
_local8 = _transitionList[_local11];
} else {
_local8 = _local5.transition;
};
if (!Boolean(_local8)){
_local8 = _transitionList["easeoutexpo"];
};
_local3 = 0;
while (_local3 < _local4.length) {
if (_local5.useFrames == true){
_local9 = new TweenListObj(_local4[_local3], (_currentTimeFrame + (_local7 / _timeScale)), (_currentTimeFrame + ((_local7 + _local6) / _timeScale)), true, _local8, _local5.transitionParams);
} else {
_local9 = new TweenListObj(_local4[_local3], (_currentTime + ((_local7 * 1000) / _timeScale)), (_currentTime + (((_local7 * 1000) + (_local6 * 1000)) / _timeScale)), false, _local8, _local5.transitionParams);
};
_local9.properties = null;
_local9.onStart = _local5.onStart;
_local9.onUpdate = _local5.onUpdate;
_local9.onComplete = _local5.onComplete;
_local9.onOverwrite = _local5.onOverwrite;
_local9.onStartParams = _local5.onStartParams;
_local9.onUpdateParams = _local5.onUpdateParams;
_local9.onCompleteParams = _local5.onCompleteParams;
_local9.onOverwriteParams = _local5.onOverwriteParams;
_local9.onStartScope = _local5.onStartScope;
_local9.onUpdateScope = _local5.onUpdateScope;
_local9.onCompleteScope = _local5.onCompleteScope;
_local9.onOverwriteScope = _local5.onOverwriteScope;
_local9.onErrorScope = _local5.onErrorScope;
_local9.isCaller = true;
_local9.count = _local5.count;
_local9.waitFrames = _local5.waitFrames;
_tweenList.push(_local9);
if ((((_local6 == 0)) && ((_local7 == 0)))){
_local10 = (_tweenList.length - 1);
updateTweenByIndex(_local10);
removeTweenByIndex(_local10);
};
_local3++;
};
return (true);
}
public static function pauseAllTweens():Boolean{
var _local1:Boolean;
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local1 = false;
_local2 = 0;
while (_local2 < _tweenList.length) {
pauseTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
public static function removeTweens(_arg1:Object, ... _args):Boolean{
var _local3:Array;
var _local4:uint;
var _local5:SpecialPropertySplitter;
var _local6:Array;
var _local7:uint;
_local3 = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){
if (_specialPropertySplitterList[_args[_local4]]){
_local5 = _specialPropertySplitterList[_args[_local4]];
_local6 = _local5.splitValues(_arg1, null);
_local7 = 0;
while (_local7 < _local6.length) {
_local3.push(_local6[_local7].name);
_local7++;
};
} else {
_local3.push(_args[_local4]);
};
};
_local4++;
};
return (affectTweens(removeTweenByIndex, _arg1, _local3));
}
public static function updateFrame():void{
_currentTimeFrame++;
}
public static function splitTweens(_arg1:Number, _arg2:Array):uint{
var _local3:TweenListObj;
var _local4:TweenListObj;
var _local5:uint;
var _local6:String;
var _local7:Boolean;
_local3 = _tweenList[_arg1];
_local4 = _local3.clone(false);
_local5 = 0;
while (_local5 < _arg2.length) {
_local6 = _arg2[_local5];
if (Boolean(_local3.properties[_local6])){
_local3.properties[_local6] = undefined;
delete _local3.properties[_local6];
};
_local5++;
};
for (_local6 in _local4.properties) {
_local7 = false;
_local5 = 0;
while (_local5 < _arg2.length) {
if (_arg2[_local5] == _local6){
_local7 = true;
break;
};
_local5++;
};
if (!_local7){
_local4.properties[_local6] = undefined;
delete _local4.properties[_local6];
};
};
_tweenList.push(_local4);
return ((_tweenList.length - 1));
}
public static function resumeTweenByIndex(_arg1:Number):Boolean{
var _local2:TweenListObj;
var _local3:Number;
_local2 = _tweenList[_arg1];
if ((((_local2 == null)) || (!(_local2.isPaused)))){
return (false);
};
_local3 = getCurrentTweeningTime(_local2);
_local2.timeStart = (_local2.timeStart + (_local3 - _local2.timePaused));
_local2.timeComplete = (_local2.timeComplete + (_local3 - _local2.timePaused));
_local2.timePaused = undefined;
_local2.isPaused = false;
return (true);
}
public static function getVersion():String{
return ("AS3 1.33.74");
}
public static function onEnterFrame(_arg1:Event):void{
var _local2:Boolean;
updateTime();
updateFrame();
_local2 = false;
_local2 = updateTweens();
if (!_local2){
stopEngine();
};
}
public static function updateTime():void{
_currentTime = getTimer();
}
private static function updateTweenByIndex(_arg1:Number):Boolean{
var tTweening:TweenListObj;
var isOver:Boolean;
var mustUpdate:Boolean;
var nv:Number;
var t:Number;
var b:Number;
var c:Number;
var d:Number;
var pName:String;
var eventScope:Object;
var tScope:Object;
var cTime:Number;
var tProperty:Object;
var pv:Number;
var i = _arg1;
tTweening = _tweenList[i];
if ((((tTweening == null)) || (!(Boolean(tTweening.scope))))){
return (false);
};
isOver = false;
cTime = getCurrentTweeningTime(tTweening);
if (cTime >= tTweening.timeStart){
tScope = tTweening.scope;
if (tTweening.isCaller){
do {
t = (((tTweening.timeComplete - tTweening.timeStart) / tTweening.count) * (tTweening.timesCalled + 1));
b = tTweening.timeStart;
c = (tTweening.timeComplete - tTweening.timeStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, b, c, d);
} while (!(cTime >= nv));
} else {
mustUpdate = (((((tTweening.skipUpdates < 1)) || (!(tTweening.skipUpdates)))) || ((tTweening.updatesSkipped >= tTweening.skipUpdates)));
if (cTime >= tTweening.timeComplete){
isOver = true;
mustUpdate = true;
};
if (!tTweening.hasStarted){
if (Boolean(tTweening.onStart)){
eventScope = (Boolean(tTweening.onStartScope)) ? tTweening.onStartScope : tScope;
try {
tTweening.onStart.apply(eventScope, tTweening.onStartParams);
} catch(e2:Error) {
handleError(tTweening, e2, "onStart");
};
};
for (pName in tTweening.properties) {
if (tTweening.properties[pName].isSpecialProperty){
if (Boolean(_specialPropertyList[pName].preProcess)){
tTweening.properties[pName].valueComplete = _specialPropertyList[pName].preProcess(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].originalValueComplete, tTweening.properties[pName].extra);
};
pv = _specialPropertyList[pName].getValue(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra);
} else {
pv = tScope[pName];
};
tTweening.properties[pName].valueStart = (isNaN(pv)) ? tTweening.properties[pName].valueComplete : pv;
};
mustUpdate = true;
tTweening.hasStarted = true;
};
if (mustUpdate){
for (pName in tTweening.properties) {
tProperty = tTweening.properties[pName];
if (isOver){
nv = tProperty.valueComplete;
} else {
if (tProperty.hasModifier){
t = (cTime - tTweening.timeStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, 0, 1, d, tTweening.transitionParams);
nv = tProperty.modifierFunction(tProperty.valueStart, tProperty.valueComplete, nv, tProperty.modifierParameters);
} else {
t = (cTime - tTweening.timeStart);
b = tProperty.valueStart;
c = (tProperty.valueComplete - tProperty.valueStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, b, c, d, tTweening.transitionParams);
};
};
if (tTweening.rounded){
nv = Math.round(nv);
};
if (tProperty.isSpecialProperty){
_specialPropertyList[pName].setValue(tScope, nv, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra);
} else {
tScope[pName] = nv;
};
};
tTweening.updatesSkipped = 0;
if (Boolean(tTweening.onUpdate)){
eventScope = (Boolean(tTweening.onUpdateScope)) ? tTweening.onUpdateScope : tScope;
try {
tTweening.onUpdate.apply(eventScope, tTweening.onUpdateParams);
} catch(e3:Error) {
handleError(tTweening, e3, "onUpdate");
};
};
} else {
tTweening.updatesSkipped++;
};
};
if (((isOver) && (Boolean(tTweening.onComplete)))){
eventScope = (Boolean(tTweening.onCompleteScope)) ? tTweening.onCompleteScope : tScope;
try {
tTweening.onComplete.apply(eventScope, tTweening.onCompleteParams);
} catch(e4:Error) {
handleError(tTweening, e4, "onComplete");
};
};
return (!(isOver));
};
return (true);
}
public static function setTimeScale(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
if (isNaN(_arg1)){
_arg1 = 1;
};
if (_arg1 < 1E-5){
_arg1 = 1E-5;
};
if (_arg1 != _timeScale){
if (_tweenList != null){
_local2 = 0;
while (_local2 < _tweenList.length) {
_local3 = getCurrentTweeningTime(_tweenList[_local2]);
_tweenList[_local2].timeStart = (_local3 - (((_local3 - _tweenList[_local2].timeStart) * _timeScale) / _arg1));
_tweenList[_local2].timeComplete = (_local3 - (((_local3 - _tweenList[_local2].timeComplete) * _timeScale) / _arg1));
if (_tweenList[_local2].timePaused != undefined){
_tweenList[_local2].timePaused = (_local3 - (((_local3 - _tweenList[_local2].timePaused) * _timeScale) / _arg1));
};
_local2++;
};
};
_timeScale = _arg1;
};
}
public static function resumeAllTweens():Boolean{
var _local1:Boolean;
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local1 = false;
_local2 = 0;
while (_local2 < _tweenList.length) {
resumeTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
private static function handleError(_arg1:TweenListObj, _arg2:Error, _arg3:String):void{
var eventScope:Object;
var pTweening = _arg1;
var pError = _arg2;
var pCallBackName = _arg3;
if (((Boolean(pTweening.onError)) && ((pTweening.onError is Function)))){
eventScope = (Boolean(pTweening.onErrorScope)) ? pTweening.onErrorScope : pTweening.scope;
try {
pTweening.onError.apply(eventScope, [pTweening.scope, pError]);
} catch(metaError:Error) {
printError(((((String(pTweening.scope) + " raised an error while executing the 'onError' handler. Original error:\n ") + pError.getStackTrace()) + "\nonError error: ") + metaError.getStackTrace()));
};
} else {
if (!Boolean(pTweening.onError)){
printError(((((String(pTweening.scope) + " raised an error while executing the '") + pCallBackName) + "'handler. \n") + pError.getStackTrace()));
};
};
}
private static function startEngine():void{
_engineExists = true;
_tweenList = new Array();
__tweener_controller__ = new MovieClip();
__tweener_controller__.addEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame);
_currentTimeFrame = 0;
updateTime();
}
public static function removeAllTweens():Boolean{
var _local1:Boolean;
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local1 = false;
_local2 = 0;
while (_local2 < _tweenList.length) {
removeTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
public static function addTween(_arg1:Object=null, _arg2:Object=null):Boolean{
var _local3:Number;
var _local4:Number;
var _local5:String;
var _local6:Array;
var _local7:Object;
var _local8:Number;
var _local9:Number;
var _local10:Array;
var _local11:Object;
var _local12:Object;
var _local13:Function;
var _local14:Object;
var _local15:TweenListObj;
var _local16:Number;
var _local17:Array;
var _local18:Array;
var _local19:Array;
var _local20:String;
if (!Boolean(_arg1)){
return (false);
};
if ((_arg1 is Array)){
_local6 = _arg1.concat();
} else {
_local6 = [_arg1];
};
_local7 = TweenListObj.makePropertiesChain(_arg2);
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
_local8 = (isNaN(_local7.time)) ? 0 : _local7.time;
_local9 = (isNaN(_local7.delay)) ? 0 : _local7.delay;
_local10 = new Array();
_local11 = {overwrite:true, time:true, delay:true, useFrames:true, skipUpdates:true, transition:true, transitionParams:true, onStart:true, onUpdate:true, onComplete:true, onOverwrite:true, onError:true, rounded:true, onStartParams:true, onUpdateParams:true, onCompleteParams:true, onOverwriteParams:true, onStartScope:true, onUpdateScope:true, onCompleteScope:true, onOverwriteScope:true, onErrorScope:true};
_local12 = new Object();
for (_local5 in _local7) {
if (!_local11[_local5]){
if (_specialPropertySplitterList[_local5]){
_local17 = _specialPropertySplitterList[_local5].splitValues(_local7[_local5], _specialPropertySplitterList[_local5].parameters);
_local3 = 0;
while (_local3 < _local17.length) {
if (_specialPropertySplitterList[_local17[_local3].name]){
_local18 = _specialPropertySplitterList[_local17[_local3].name].splitValues(_local17[_local3].value, _specialPropertySplitterList[_local17[_local3].name].parameters);
_local4 = 0;
while (_local4 < _local18.length) {
_local10[_local18[_local4].name] = {valueStart:undefined, valueComplete:_local18[_local4].value, arrayIndex:_local18[_local4].arrayIndex, isSpecialProperty:false};
_local4++;
};
} else {
_local10[_local17[_local3].name] = {valueStart:undefined, valueComplete:_local17[_local3].value, arrayIndex:_local17[_local3].arrayIndex, isSpecialProperty:false};
};
_local3++;
};
} else {
if (_specialPropertyModifierList[_local5] != undefined){
_local19 = _specialPropertyModifierList[_local5].modifyValues(_local7[_local5]);
_local3 = 0;
while (_local3 < _local19.length) {
_local12[_local19[_local3].name] = {modifierParameters:_local19[_local3].parameters, modifierFunction:_specialPropertyModifierList[_local5].getValue};
_local3++;
};
} else {
_local10[_local5] = {valueStart:undefined, valueComplete:_local7[_local5]};
};
};
};
};
for (_local5 in _local10) {
if (_specialPropertyList[_local5] != undefined){
_local10[_local5].isSpecialProperty = true;
} else {
if (_local6[0][_local5] == undefined){
printError((((("The property '" + _local5) + "' doesn't seem to be a normal object property of ") + String(_local6[0])) + " or a registered special property."));
};
};
};
for (_local5 in _local12) {
if (_local10[_local5] != undefined){
_local10[_local5].modifierParameters = _local12[_local5].modifierParameters;
_local10[_local5].modifierFunction = _local12[_local5].modifierFunction;
};
};
if (typeof(_local7.transition) == "string"){
_local20 = _local7.transition.toLowerCase();
_local13 = _transitionList[_local20];
} else {
_local13 = _local7.transition;
};
if (!Boolean(_local13)){
_local13 = _transitionList["easeoutexpo"];
};
_local3 = 0;
while (_local3 < _local6.length) {
_local14 = new Object();
for (_local5 in _local10) {
_local14[_local5] = new PropertyInfoObj(_local10[_local5].valueStart, _local10[_local5].valueComplete, _local10[_local5].valueComplete, _local10[_local5].arrayIndex, {}, _local10[_local5].isSpecialProperty, _local10[_local5].modifierFunction, _local10[_local5].modifierParameters);
};
if (_local7.useFrames == true){
_local15 = new TweenListObj(_local6[_local3], (_currentTimeFrame + (_local9 / _timeScale)), (_currentTimeFrame + ((_local9 + _local8) / _timeScale)), true, _local13, _local7.transitionParams);
} else {
_local15 = new TweenListObj(_local6[_local3], (_currentTime + ((_local9 * 1000) / _timeScale)), (_currentTime + (((_local9 * 1000) + (_local8 * 1000)) / _timeScale)), false, _local13, _local7.transitionParams);
};
_local15.properties = _local14;
_local15.onStart = _local7.onStart;
_local15.onUpdate = _local7.onUpdate;
_local15.onComplete = _local7.onComplete;
_local15.onOverwrite = _local7.onOverwrite;
_local15.onError = _local7.onError;
_local15.onStartParams = _local7.onStartParams;
_local15.onUpdateParams = _local7.onUpdateParams;
_local15.onCompleteParams = _local7.onCompleteParams;
_local15.onOverwriteParams = _local7.onOverwriteParams;
_local15.onStartScope = _local7.onStartScope;
_local15.onUpdateScope = _local7.onUpdateScope;
_local15.onCompleteScope = _local7.onCompleteScope;
_local15.onOverwriteScope = _local7.onOverwriteScope;
_local15.onErrorScope = _local7.onErrorScope;
_local15.rounded = _local7.rounded;
_local15.skipUpdates = _local7.skipUpdates;
if (((_local7.overwrite == undefined)) ? autoOverwrite : _local7.overwrite){
removeTweensByTime(_local15.scope, _local15.properties, _local15.timeStart, _local15.timeComplete);
};
_tweenList.push(_local15);
if ((((_local8 == 0)) && ((_local9 == 0)))){
_local16 = (_tweenList.length - 1);
updateTweenByIndex(_local16);
removeTweenByIndex(_local16);
};
_local3++;
};
return (true);
}
public static function registerTransition(_arg1:String, _arg2:Function):void{
if (!_inited){
init();
};
_transitionList[_arg1] = _arg2;
}
public static function printError(_arg1:String):void{
trace(("## [Tweener] Error: " + _arg1));
}
private static function affectTweens(_arg1:Function, _arg2:Object, _arg3:Array):Boolean{
var _local4:Boolean;
var _local5:uint;
var _local6:Array;
var _local7:uint;
var _local8:uint;
var _local9:uint;
_local4 = false;
if (!Boolean(_tweenList)){
return (false);
};
_local5 = 0;
while (_local5 < _tweenList.length) {
if (((_tweenList[_local5]) && ((_tweenList[_local5].scope == _arg2)))){
if (_arg3.length == 0){
_arg1(_local5);
_local4 = true;
} else {
_local6 = new Array();
_local7 = 0;
while (_local7 < _arg3.length) {
if (Boolean(_tweenList[_local5].properties[_arg3[_local7]])){
_local6.push(_arg3[_local7]);
};
_local7++;
};
if (_local6.length > 0){
_local8 = AuxFunctions.getObjectLength(_tweenList[_local5].properties);
if (_local8 == _local6.length){
_arg1(_local5);
_local4 = true;
} else {
_local9 = splitTweens(_local5, _local6);
_arg1(_local9);
_local4 = true;
};
};
};
};
_local5++;
};
return (_local4);
}
public static function getTweens(_arg1:Object):Array{
var _local2:uint;
var _local3:String;
var _local4:Array;
if (!Boolean(_tweenList)){
return ([]);
};
_local4 = new Array();
_local2 = 0;
while (_local2 < _tweenList.length) {
if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){
for (_local3 in _tweenList[_local2].properties) {
_local4.push(_local3);
};
};
_local2++;
};
return (_local4);
}
public static function isTweening(_arg1:Object):Boolean{
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local2 = 0;
while (_local2 < _tweenList.length) {
if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){
return (true);
};
_local2++;
};
return (false);
}
public static function pauseTweenByIndex(_arg1:Number):Boolean{
var _local2:TweenListObj;
_local2 = _tweenList[_arg1];
if ((((_local2 == null)) || (_local2.isPaused))){
return (false);
};
_local2.timePaused = getCurrentTweeningTime(_local2);
_local2.isPaused = true;
return (true);
}
public static function getCurrentTweeningTime(_arg1:Object):Number{
return ((_arg1.useFrames) ? _currentTimeFrame : _currentTime);
}
public static function getTweenCount(_arg1:Object):Number{
var _local2:uint;
var _local3:Number;
if (!Boolean(_tweenList)){
return (0);
};
_local3 = 0;
_local2 = 0;
while (_local2 < _tweenList.length) {
if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){
_local3 = (_local3 + AuxFunctions.getObjectLength(_tweenList[_local2].properties));
};
_local2++;
};
return (_local3);
}
private static function stopEngine():void{
_engineExists = false;
_tweenList = null;
_currentTime = 0;
_currentTimeFrame = 0;
__tweener_controller__.removeEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame);
__tweener_controller__ = null;
}
public static function removeTweensByTime(_arg1:Object, _arg2:Object, _arg3:Number, _arg4:Number):Boolean{
var removed:Boolean;
var removedLocally:Boolean;
var i:uint;
var tl:uint;
var pName:String;
var eventScope:Object;
var p_scope = _arg1;
var p_properties = _arg2;
var p_timeStart = _arg3;
var p_timeComplete = _arg4;
removed = false;
tl = _tweenList.length;
i = 0;
while (i < tl) {
if (((Boolean(_tweenList[i])) && ((p_scope == _tweenList[i].scope)))){
if ((((p_timeComplete > _tweenList[i].timeStart)) && ((p_timeStart < _tweenList[i].timeComplete)))){
removedLocally = false;
for (pName in _tweenList[i].properties) {
if (Boolean(p_properties[pName])){
if (Boolean(_tweenList[i].onOverwrite)){
eventScope = (Boolean(_tweenList[i].onOverwriteScope)) ? _tweenList[i].onOverwriteScope : _tweenList[i].scope;
try {
_tweenList[i].onOverwrite.apply(eventScope, _tweenList[i].onOverwriteParams);
} catch(e:Error) {
handleError(_tweenList[i], e, "onOverwrite");
};
};
_tweenList[i].properties[pName] = undefined;
delete _tweenList[i].properties[pName];
removedLocally = true;
removed = true;
};
};
if (removedLocally){
if (AuxFunctions.getObjectLength(_tweenList[i].properties) == 0){
removeTweenByIndex(i);
};
};
};
};
i = (i + 1);
};
return (removed);
}
public static function registerSpecialPropertySplitter(_arg1:String, _arg2:Function, _arg3:Array=null):void{
var _local4:SpecialPropertySplitter;
if (!_inited){
init();
};
_local4 = new SpecialPropertySplitter(_arg2, _arg3);
_specialPropertySplitterList[_arg1] = _local4;
}
public static function removeTweenByIndex(_arg1:Number, _arg2:Boolean=false):Boolean{
_tweenList[_arg1] = null;
if (_arg2){
_tweenList.splice(_arg1, 1);
};
return (true);
}
public static function resumeTweens(_arg1:Object, ... _args):Boolean{
var _local3:Array;
var _local4:uint;
_local3 = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(resumeTweenByIndex, _arg1, _local3));
}
public static function pauseTweens(_arg1:Object, ... _args):Boolean{
var _local3:Array;
var _local4:uint;
_local3 = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(pauseTweenByIndex, _arg1, _local3));
}
}
}//package caurina.transitions
Section 100
//TweenListObj (caurina.transitions.TweenListObj)
package caurina.transitions {
public class TweenListObj {
public var onUpdate:Function;
public var useFrames:Boolean;
public var hasStarted:Boolean;
public var onOverwriteParams:Array;
public var timeStart:Number;
public var count:Number;
public var timeComplete:Number;
public var onStartParams:Array;
public var onUpdateScope:Object;
public var rounded:Boolean;
public var onUpdateParams:Array;
public var properties:Object;
public var onComplete:Function;
public var transitionParams:Object;
public var updatesSkipped:Number;
public var onStart:Function;
public var onOverwriteScope:Object;
public var skipUpdates:Number;
public var onStartScope:Object;
public var scope:Object;
public var transition:Function;
public var timePaused:Number;
public var onCompleteParams:Array;
public var timesCalled:Number;
public var isCaller:Boolean;
public var onError:Function;
public var onErrorScope:Object;
public var onOverwrite:Function;
public var isPaused:Boolean;
public var waitFrames:Boolean;
public var onCompleteScope:Object;
public function TweenListObj(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:Boolean, _arg5:Function, _arg6:Object){
scope = _arg1;
timeStart = _arg2;
timeComplete = _arg3;
useFrames = _arg4;
transition = _arg5;
transitionParams = _arg6;
properties = new Object();
isPaused = false;
timePaused = undefined;
isCaller = false;
updatesSkipped = 0;
timesCalled = 0;
skipUpdates = 0;
hasStarted = false;
}
public function clone(_arg1:Boolean):TweenListObj{
var _local2:TweenListObj;
var _local3:String;
_local2 = new TweenListObj(scope, timeStart, timeComplete, useFrames, transition, transitionParams);
_local2.properties = new Array();
for (_local3 in properties) {
_local2.properties[_local3] = properties[_local3].clone();
};
_local2.skipUpdates = skipUpdates;
_local2.updatesSkipped = updatesSkipped;
if (!_arg1){
_local2.onStart = onStart;
_local2.onUpdate = onUpdate;
_local2.onComplete = onComplete;
_local2.onOverwrite = onOverwrite;
_local2.onError = onError;
_local2.onStartParams = onStartParams;
_local2.onUpdateParams = onUpdateParams;
_local2.onCompleteParams = onCompleteParams;
_local2.onOverwriteParams = onOverwriteParams;
_local2.onStartScope = onStartScope;
_local2.onUpdateScope = onUpdateScope;
_local2.onCompleteScope = onCompleteScope;
_local2.onOverwriteScope = onOverwriteScope;
_local2.onErrorScope = onErrorScope;
};
_local2.rounded = rounded;
_local2.isPaused = isPaused;
_local2.timePaused = timePaused;
_local2.isCaller = isCaller;
_local2.count = count;
_local2.timesCalled = timesCalled;
_local2.waitFrames = waitFrames;
_local2.hasStarted = hasStarted;
return (_local2);
}
public function toString():String{
var _local1:String;
var _local2:Boolean;
var _local3:String;
_local1 = "\n[TweenListObj ";
_local1 = (_local1 + ("scope:" + String(scope)));
_local1 = (_local1 + ", properties:");
_local2 = true;
for (_local3 in properties) {
if (!_local2){
_local1 = (_local1 + ",");
};
_local1 = (_local1 + ("[name:" + properties[_local3].name));
_local1 = (_local1 + (",valueStart:" + properties[_local3].valueStart));
_local1 = (_local1 + (",valueComplete:" + properties[_local3].valueComplete));
_local1 = (_local1 + "]");
_local2 = false;
};
_local1 = (_local1 + (", timeStart:" + String(timeStart)));
_local1 = (_local1 + (", timeComplete:" + String(timeComplete)));
_local1 = (_local1 + (", useFrames:" + String(useFrames)));
_local1 = (_local1 + (", transition:" + String(transition)));
_local1 = (_local1 + (", transitionParams:" + String(transitionParams)));
if (skipUpdates){
_local1 = (_local1 + (", skipUpdates:" + String(skipUpdates)));
};
if (updatesSkipped){
_local1 = (_local1 + (", updatesSkipped:" + String(updatesSkipped)));
};
if (Boolean(onStart)){
_local1 = (_local1 + (", onStart:" + String(onStart)));
};
if (Boolean(onUpdate)){
_local1 = (_local1 + (", onUpdate:" + String(onUpdate)));
};
if (Boolean(onComplete)){
_local1 = (_local1 + (", onComplete:" + String(onComplete)));
};
if (Boolean(onOverwrite)){
_local1 = (_local1 + (", onOverwrite:" + String(onOverwrite)));
};
if (Boolean(onError)){
_local1 = (_local1 + (", onError:" + String(onError)));
};
if (onStartParams){
_local1 = (_local1 + (", onStartParams:" + String(onStartParams)));
};
if (onUpdateParams){
_local1 = (_local1 + (", onUpdateParams:" + String(onUpdateParams)));
};
if (onCompleteParams){
_local1 = (_local1 + (", onCompleteParams:" + String(onCompleteParams)));
};
if (onOverwriteParams){
_local1 = (_local1 + (", onOverwriteParams:" + String(onOverwriteParams)));
};
if (onStartScope){
_local1 = (_local1 + (", onStartScope:" + String(onStartScope)));
};
if (onUpdateScope){
_local1 = (_local1 + (", onUpdateScope:" + String(onUpdateScope)));
};
if (onCompleteScope){
_local1 = (_local1 + (", onCompleteScope:" + String(onCompleteScope)));
};
if (onOverwriteScope){
_local1 = (_local1 + (", onOverwriteScope:" + String(onOverwriteScope)));
};
if (onErrorScope){
_local1 = (_local1 + (", onErrorScope:" + String(onErrorScope)));
};
if (rounded){
_local1 = (_local1 + (", rounded:" + String(rounded)));
};
if (isPaused){
_local1 = (_local1 + (", isPaused:" + String(isPaused)));
};
if (timePaused){
_local1 = (_local1 + (", timePaused:" + String(timePaused)));
};
if (isCaller){
_local1 = (_local1 + (", isCaller:" + String(isCaller)));
};
if (count){
_local1 = (_local1 + (", count:" + String(count)));
};
if (timesCalled){
_local1 = (_local1 + (", timesCalled:" + String(timesCalled)));
};
if (waitFrames){
_local1 = (_local1 + (", waitFrames:" + String(waitFrames)));
};
if (hasStarted){
_local1 = (_local1 + (", hasStarted:" + String(hasStarted)));
};
_local1 = (_local1 + "]\n");
return (_local1);
}
public static function makePropertiesChain(_arg1:Object):Object{
var _local2:Object;
var _local3:Object;
var _local4:Object;
var _local5:Object;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local2 = _arg1.base;
if (_local2){
_local3 = {};
if ((_local2 is Array)){
_local4 = [];
_local8 = 0;
while (_local8 < _local2.length) {
_local4.push(_local2[_local8]);
_local8++;
};
} else {
_local4 = [_local2];
};
_local4.push(_arg1);
_local6 = _local4.length;
_local7 = 0;
while (_local7 < _local6) {
if (_local4[_local7]["base"]){
_local5 = AuxFunctions.concatObjects(makePropertiesChain(_local4[_local7]["base"]), _local4[_local7]);
} else {
_local5 = _local4[_local7];
};
_local3 = AuxFunctions.concatObjects(_local3, _local5);
_local7++;
};
if (_local3["base"]){
delete _local3["base"];
};
return (_local3);
//unresolved jump
};
return (_arg1);
}
}
}//package caurina.transitions
Section 101
//MD5 (com.adobe.crypto.MD5)
package com.adobe.crypto {
import com.adobe.utils.*;
public class MD5 {
private static function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function createBlocks(_arg1:String):Array{
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:int;
_local2 = new Array();
_local3 = (_arg1.length * 8);
_local4 = 0xFF;
_local5 = 0;
while (_local5 < _local3) {
_local2[(_local5 >> 5)] = (_local2[(_local5 >> 5)] | ((_arg1.charCodeAt((_local5 / 8)) & _local4) << (_local5 % 32)));
_local5 = (_local5 + 8);
};
_local2[(_local3 >> 5)] = (_local2[(_local3 >> 5)] | (128 << (_local3 % 32)));
_local2[((((_local3 + 64) >>> 9) << 4) + 14)] = _local3;
return (_local2);
}
private static function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function f(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg2) | (~(_arg1) & _arg3)));
}
private static function g(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg3) | (_arg2 & ~(_arg3))));
}
private static function h(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 ^ _arg2) ^ _arg3));
}
private static function i(_arg1:int, _arg2:int, _arg3:int):int{
return ((_arg2 ^ (_arg1 | ~(_arg3))));
}
private static function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{
var _local9:int;
_local9 = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8);
return ((IntUtil.rol(_local9, _arg7) + _arg3));
}
private static function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
public static function hash(_arg1:String):String{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:Array;
var _local11:int;
var _local12:int;
_local2 = 1732584193;
_local3 = -271733879;
_local4 = -1732584194;
_local5 = 271733878;
_local10 = createBlocks(_arg1);
_local11 = _local10.length;
_local12 = 0;
while (_local12 < _local11) {
_local6 = _local2;
_local7 = _local3;
_local8 = _local4;
_local9 = _local5;
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 7, -680876936);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 1)], 12, -389564586);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 17, 606105819);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 3)], 22, -1044525330);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 7, -176418897);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 5)], 12, 1200080426);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 17, -1473231341);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 7)], 22, -45705983);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 7, 1770035416);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 9)], 12, -1958414417);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 17, -42063);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 11)], 22, -1990404162);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 7, 1804603682);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 13)], 12, -40341101);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 17, -1502002290);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 15)], 22, 1236535329);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 5, -165796510);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 6)], 9, -1069501632);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 14, 643717713);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 0)], 20, -373897302);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 5, -701558691);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 10)], 9, 38016083);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 14, -660478335);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 4)], 20, -405537848);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 5, 568446438);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 14)], 9, -1019803690);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 14, -187363961);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 8)], 20, 1163531501);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 5, -1444681467);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 2)], 9, -51403784);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 14, 1735328473);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 12)], 20, -1926607734);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 4, -378558);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 8)], 11, -2022574463);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 16, 1839030562);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 14)], 23, -35309556);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 4, -1530992060);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 4)], 11, 1272893353);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 16, -155497632);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 10)], 23, -1094730640);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 4, 681279174);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 0)], 11, -358537222);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 16, -722521979);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 6)], 23, 76029189);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 4, -640364487);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 12)], 11, -421815835);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 16, 530742520);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 2)], 23, -995338651);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 6, -198630844);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 7)], 10, 1126891415);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 15, -1416354905);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 5)], 21, -57434055);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 6, 1700485571);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 3)], 10, -1894986606);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 15, -1051523);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 1)], 21, -2054922799);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 6, 1873313359);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 15)], 10, -30611744);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 15, -1560198380);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 13)], 21, 1309151649);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 6, -145523070);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 11)], 10, -1120210379);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 15, 718787259);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 9)], 21, -343485551);
_local2 = (_local2 + _local6);
_local3 = (_local3 + _local7);
_local4 = (_local4 + _local8);
_local5 = (_local5 + _local9);
_local12 = (_local12 + 16);
};
return ((((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5)));
}
private static function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
}
}//package com.adobe.crypto
Section 102
//PNGEncoder (com.adobe.images.PNGEncoder)
package com.adobe.images {
import flash.display.*;
import flash.utils.*;
public class PNGEncoder {
private static var crcTableComputed:Boolean = false;
private static var crcTable:Array;
private static function writeChunk(_arg1:ByteArray, _arg2:uint, _arg3:ByteArray):void{
var _local4:uint;
var _local5:uint;
var _local6:uint;
var _local7:int;
var _local8:uint;
var _local9:uint;
var _local10:uint;
if (!crcTableComputed){
crcTableComputed = true;
crcTable = [];
_local9 = 0;
while (_local9 < 0x0100) {
_local8 = _local9;
_local10 = 0;
while (_local10 < 8) {
if ((_local8 & 1)){
_local8 = uint((uint(3988292384) ^ uint((_local8 >>> 1))));
} else {
_local8 = uint((_local8 >>> 1));
};
_local10++;
};
crcTable[_local9] = _local8;
_local9++;
};
};
_local4 = 0;
if (_arg3 != null){
_local4 = _arg3.length;
};
_arg1.writeUnsignedInt(_local4);
_local5 = _arg1.position;
_arg1.writeUnsignedInt(_arg2);
if (_arg3 != null){
_arg1.writeBytes(_arg3);
};
_local6 = _arg1.position;
_arg1.position = _local5;
_local8 = 4294967295;
_local7 = 0;
while (_local7 < (_local6 - _local5)) {
_local8 = uint((crcTable[((_local8 ^ _arg1.readUnsignedByte()) & uint(0xFF))] ^ uint((_local8 >>> 8))));
_local7++;
};
_local8 = uint((_local8 ^ uint(4294967295)));
_arg1.position = _local6;
_arg1.writeUnsignedInt(_local8);
}
public static function encode(_arg1:BitmapData):ByteArray{
var _local2:ByteArray;
var _local3:ByteArray;
var _local4:ByteArray;
var _local5:int;
var _local6:uint;
var _local7:int;
_local2 = new ByteArray();
_local2.writeUnsignedInt(2303741511);
_local2.writeUnsignedInt(218765834);
_local3 = new ByteArray();
_local3.writeInt(_arg1.width);
_local3.writeInt(_arg1.height);
_local3.writeUnsignedInt(134610944);
_local3.writeByte(0);
writeChunk(_local2, 1229472850, _local3);
_local4 = new ByteArray();
_local5 = 0;
while (_local5 < _arg1.height) {
_local4.writeByte(0);
if (!_arg1.transparent){
_local7 = 0;
while (_local7 < _arg1.width) {
_local6 = _arg1.getPixel(_local7, _local5);
_local4.writeUnsignedInt(uint((((_local6 & 0xFFFFFF) << 8) | 0xFF)));
_local7++;
};
} else {
_local7 = 0;
while (_local7 < _arg1.width) {
_local6 = _arg1.getPixel32(_local7, _local5);
_local4.writeUnsignedInt(uint((((_local6 & 0xFFFFFF) << 8) | (_local6 >>> 24))));
_local7++;
};
};
_local5++;
};
_local4.compress();
writeChunk(_local2, 1229209940, _local4);
writeChunk(_local2, 1229278788, null);
return (_local2);
}
}
}//package com.adobe.images
Section 103
//JSON (com.adobe.serialization.json.JSON)
package com.adobe.serialization.json {
public class JSON {
public static function decode(_arg1:String){
var _local2:JSONDecoder;
_local2 = new JSONDecoder(_arg1);
return (_local2.getValue());
}
public static function encode(_arg1:Object):String{
var _local2:JSONEncoder;
_local2 = new JSONEncoder(_arg1);
return (_local2.getString());
}
}
}//package com.adobe.serialization.json
Section 104
//JSONDecoder (com.adobe.serialization.json.JSONDecoder)
package com.adobe.serialization.json {
public class JSONDecoder {
private var value;
private var tokenizer:JSONTokenizer;
private var token:JSONToken;
public function JSONDecoder(_arg1:String){
tokenizer = new JSONTokenizer(_arg1);
nextToken();
value = parseValue();
}
private function nextToken():JSONToken{
return ((token = tokenizer.getNextToken()));
}
private function parseObject():Object{
var _local1:Object;
var _local2:String;
_local1 = new Object();
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACE){
return (_local1);
};
while (true) {
if (token.type == JSONTokenType.STRING){
_local2 = String(token.value);
nextToken();
if (token.type == JSONTokenType.COLON){
nextToken();
_local1[_local2] = parseValue();
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACE){
return (_local1);
};
if (token.type == JSONTokenType.COMMA){
nextToken();
} else {
tokenizer.parseError(("Expecting } or , but found " + token.value));
};
} else {
tokenizer.parseError(("Expecting : but found " + token.value));
};
} else {
tokenizer.parseError(("Expecting string but found " + token.value));
};
};
return (null);
}
private function parseArray():Array{
var _local1:Array;
_local1 = new Array();
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACKET){
return (_local1);
};
while (true) {
_local1.push(parseValue());
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACKET){
return (_local1);
};
if (token.type == JSONTokenType.COMMA){
nextToken();
} else {
tokenizer.parseError(("Expecting ] or , but found " + token.value));
};
};
return (null);
}
public function getValue(){
return (value);
}
private function parseValue():Object{
switch (token.type){
case JSONTokenType.LEFT_BRACE:
return (parseObject());
case JSONTokenType.LEFT_BRACKET:
return (parseArray());
case JSONTokenType.STRING:
case JSONTokenType.NUMBER:
case JSONTokenType.TRUE:
case JSONTokenType.FALSE:
case JSONTokenType.NULL:
return (token.value);
default:
tokenizer.parseError(("Unexpected " + token.value));
};
return (null);
}
}
}//package com.adobe.serialization.json
Section 105
//JSONEncoder (com.adobe.serialization.json.JSONEncoder)
package com.adobe.serialization.json {
import flash.utils.*;
public class JSONEncoder {
private var jsonString:String;
public function JSONEncoder(_arg1){
jsonString = convertToString(_arg1);
}
private function arrayToString(_arg1:Array):String{
var _local2:String;
var _local3:int;
_local2 = "";
_local3 = 0;
while (_local3 < _arg1.length) {
if (_local2.length > 0){
_local2 = (_local2 + ",");
};
_local2 = (_local2 + convertToString(_arg1[_local3]));
_local3++;
};
return ((("[" + _local2) + "]"));
}
private function convertToString(_arg1):String{
if ((_arg1 is String)){
return (escapeString((_arg1 as String)));
};
if ((_arg1 is Number)){
return ((isFinite((_arg1 as Number))) ? _arg1.toString() : "null");
} else {
if ((_arg1 is Boolean)){
return ((_arg1) ? "true" : "false");
} else {
if ((_arg1 is Array)){
return (arrayToString((_arg1 as Array)));
};
if ((((_arg1 is Object)) && (!((_arg1 == null))))){
return (objectToString(_arg1));
};
};
};
return ("null");
}
private function escapeString(_arg1:String):String{
var _local2:String;
var _local3:String;
var _local4:Number;
var _local5:int;
var _local6:String;
var _local7:String;
_local2 = "";
_local4 = _arg1.length;
_local5 = 0;
while (_local5 < _local4) {
_local3 = _arg1.charAt(_local5);
switch (_local3){
case "\"":
_local2 = (_local2 + "\\\"");
break;
case "\\":
_local2 = (_local2 + "\\\\");
break;
case "\b":
_local2 = (_local2 + "\\b");
break;
case "\f":
_local2 = (_local2 + "\\f");
break;
case "\n":
_local2 = (_local2 + "\\n");
break;
case "\r":
_local2 = (_local2 + "\\r");
break;
case "\t":
_local2 = (_local2 + "\\t");
break;
default:
if (_local3 < " "){
_local6 = _local3.charCodeAt(0).toString(16);
_local7 = ((_local6.length == 2)) ? "00" : "000";
_local2 = (_local2 + (("\\u" + _local7) + _local6));
} else {
_local2 = (_local2 + _local3);
};
};
_local5++;
};
return ((("\"" + _local2) + "\""));
}
private function objectToString(_arg1:Object):String{
var s:String;
var classInfo:XML;
var value:Object;
var key:String;
var v:XML;
var o = _arg1;
s = "";
classInfo = describeType(o);
if (classInfo.@name.toString() == "Object"){
for (key in o) {
value = o[key];
if ((value is Function)){
} else {
if (s.length > 0){
s = (s + ",");
};
s = (s + ((escapeString(key) + ":") + convertToString(value)));
};
};
} else {
for each (v in classInfo..*.(((name() == "variable")) || ((name() == "accessor")))) {
if (s.length > 0){
s = (s + ",");
};
s = (s + ((escapeString(v.@name.toString()) + ":") + convertToString(o[v.@name])));
};
};
return ((("{" + s) + "}"));
}
public function getString():String{
return (jsonString);
}
}
}//package com.adobe.serialization.json
Section 106
//JSONParseError (com.adobe.serialization.json.JSONParseError)
package com.adobe.serialization.json {
public class JSONParseError extends Error {
private var _text:String;
private var _location:int;
public function JSONParseError(_arg1:String="", _arg2:int=0, _arg3:String=""){
super(_arg1);
_location = _arg2;
_text = _arg3;
}
public function get text():String{
return (_text);
}
public function get location():int{
return (_location);
}
}
}//package com.adobe.serialization.json
Section 107
//JSONToken (com.adobe.serialization.json.JSONToken)
package com.adobe.serialization.json {
public class JSONToken {
private var _value:Object;
private var _type:int;
public function JSONToken(_arg1:int=-1, _arg2:Object=null){
_type = _arg1;
_value = _arg2;
}
public function set value(_arg1:Object):void{
_value = _arg1;
}
public function get value():Object{
return (_value);
}
public function set type(_arg1:int):void{
_type = _arg1;
}
public function get type():int{
return (_type);
}
}
}//package com.adobe.serialization.json
Section 108
//JSONTokenizer (com.adobe.serialization.json.JSONTokenizer)
package com.adobe.serialization.json {
public class JSONTokenizer {
private var loc:int;
private var ch:String;
private var obj:Object;
private var jsonString:String;
public function JSONTokenizer(_arg1:String){
jsonString = _arg1;
loc = 0;
nextChar();
}
private function skipComments():void{
if (ch == "/"){
nextChar();
switch (ch){
case "/":
do {
nextChar();
} while (((!((ch == "\n"))) && (!((ch == "")))));
nextChar();
break;
case "*":
nextChar();
while (true) {
if (ch == "*"){
nextChar();
if (ch == "/"){
nextChar();
break;
};
} else {
nextChar();
};
if (ch == ""){
parseError("Multi-line comment not closed");
};
};
break;
default:
parseError((("Unexpected " + ch) + " encountered (expecting '/' or '*' )"));
};
};
}
private function isDigit(_arg1:String):Boolean{
return ((((_arg1 >= "0")) && ((_arg1 <= "9"))));
}
private function readNumber():JSONToken{
var _local1:JSONToken;
var _local2:String;
var _local3:Number;
_local1 = new JSONToken();
_local1.type = JSONTokenType.NUMBER;
_local2 = "";
if (ch == "-"){
_local2 = (_local2 + "-");
nextChar();
};
if (!isDigit(ch)){
parseError("Expecting a digit");
};
if (ch == "0"){
_local2 = (_local2 + ch);
nextChar();
if (isDigit(ch)){
parseError("A digit cannot immediately follow 0");
};
} else {
while (isDigit(ch)) {
_local2 = (_local2 + ch);
nextChar();
};
};
if (ch == "."){
_local2 = (_local2 + ".");
nextChar();
if (!isDigit(ch)){
parseError("Expecting a digit");
};
while (isDigit(ch)) {
_local2 = (_local2 + ch);
nextChar();
};
};
if ((((ch == "e")) || ((ch == "E")))){
_local2 = (_local2 + "e");
nextChar();
if ((((ch == "+")) || ((ch == "-")))){
_local2 = (_local2 + ch);
nextChar();
};
if (!isDigit(ch)){
parseError("Scientific notation number needs exponent value");
};
while (isDigit(ch)) {
_local2 = (_local2 + ch);
nextChar();
};
};
_local3 = Number(_local2);
if (((isFinite(_local3)) && (!(isNaN(_local3))))){
_local1.value = _local3;
return (_local1);
};
parseError((("Number " + _local3) + " is not valid!"));
return (null);
}
private function nextChar():String{
return ((ch = jsonString.charAt(loc++)));
}
public function getNextToken():JSONToken{
var _local1:JSONToken;
var _local2:String;
var _local3:String;
var _local4:String;
_local1 = new JSONToken();
skipIgnored();
switch (ch){
case "{":
_local1.type = JSONTokenType.LEFT_BRACE;
_local1.value = "{";
nextChar();
break;
case "}":
_local1.type = JSONTokenType.RIGHT_BRACE;
_local1.value = "}";
nextChar();
break;
case "[":
_local1.type = JSONTokenType.LEFT_BRACKET;
_local1.value = "[";
nextChar();
break;
case "]":
_local1.type = JSONTokenType.RIGHT_BRACKET;
_local1.value = "]";
nextChar();
break;
case ",":
_local1.type = JSONTokenType.COMMA;
_local1.value = ",";
nextChar();
break;
case ":":
_local1.type = JSONTokenType.COLON;
_local1.value = ":";
nextChar();
break;
case "t":
_local2 = ((("t" + nextChar()) + nextChar()) + nextChar());
if (_local2 == "true"){
_local1.type = JSONTokenType.TRUE;
_local1.value = true;
nextChar();
} else {
parseError(("Expecting 'true' but found " + _local2));
};
break;
case "f":
_local3 = (((("f" + nextChar()) + nextChar()) + nextChar()) + nextChar());
if (_local3 == "false"){
_local1.type = JSONTokenType.FALSE;
_local1.value = false;
nextChar();
} else {
parseError(("Expecting 'false' but found " + _local3));
};
break;
case "n":
_local4 = ((("n" + nextChar()) + nextChar()) + nextChar());
if (_local4 == "null"){
_local1.type = JSONTokenType.NULL;
_local1.value = null;
nextChar();
} else {
parseError(("Expecting 'null' but found " + _local4));
};
break;
case "\"":
_local1 = readString();
break;
default:
if (((isDigit(ch)) || ((ch == "-")))){
_local1 = readNumber();
} else {
if (ch == ""){
return (null);
};
parseError((("Unexpected " + ch) + " encountered"));
};
};
return (_local1);
}
private function skipWhite():void{
while (isWhiteSpace(ch)) {
nextChar();
};
}
private function isWhiteSpace(_arg1:String):Boolean{
return ((((((_arg1 == " ")) || ((_arg1 == "\t")))) || ((_arg1 == "\n"))));
}
public function parseError(_arg1:String):void{
throw (new JSONParseError(_arg1, loc, jsonString));
}
private function skipIgnored():void{
skipWhite();
skipComments();
skipWhite();
}
private function isHexDigit(_arg1:String):Boolean{
var _local2:String;
_local2 = _arg1.toUpperCase();
return (((isDigit(_arg1)) || ((((_local2 >= "A")) && ((_local2 <= "F"))))));
}
private function readString():JSONToken{
var _local1:JSONToken;
var _local2:String;
var _local3:String;
var _local4:int;
_local1 = new JSONToken();
_local1.type = JSONTokenType.STRING;
_local2 = "";
nextChar();
while (((!((ch == "\""))) && (!((ch == ""))))) {
if (ch == "\\"){
nextChar();
switch (ch){
case "\"":
_local2 = (_local2 + "\"");
break;
case "/":
_local2 = (_local2 + "/");
break;
case "\\":
_local2 = (_local2 + "\\");
break;
case "b":
_local2 = (_local2 + "\b");
break;
case "f":
_local2 = (_local2 + "\f");
break;
case "n":
_local2 = (_local2 + "\n");
break;
case "r":
_local2 = (_local2 + "\r");
break;
case "t":
_local2 = (_local2 + "\t");
break;
case "u":
_local3 = "";
_local4 = 0;
while (_local4 < 4) {
if (!isHexDigit(nextChar())){
parseError((" Excepted a hex digit, but found: " + ch));
};
_local3 = (_local3 + ch);
_local4++;
};
_local2 = (_local2 + String.fromCharCode(parseInt(_local3, 16)));
break;
default:
_local2 = (_local2 + ("\\" + ch));
};
} else {
_local2 = (_local2 + ch);
};
nextChar();
};
if (ch == ""){
parseError("Unterminated string literal");
};
nextChar();
_local1.value = _local2;
return (_local1);
}
}
}//package com.adobe.serialization.json
Section 109
//JSONTokenType (com.adobe.serialization.json.JSONTokenType)
package com.adobe.serialization.json {
public class JSONTokenType {
public static const NUMBER:int = 11;
public static const FALSE:int = 8;
public static const RIGHT_BRACKET:int = 4;
public static const NULL:int = 9;
public static const TRUE:int = 7;
public static const RIGHT_BRACE:int = 2;
public static const UNKNOWN:int = -1;
public static const COMMA:int = 0;
public static const LEFT_BRACKET:int = 3;
public static const STRING:int = 10;
public static const LEFT_BRACE:int = 1;
public static const COLON:int = 6;
}
}//package com.adobe.serialization.json
Section 110
//IntUtil (com.adobe.utils.IntUtil)
package com.adobe.utils {
public class IntUtil {
private static var hexChars:String = "0123456789abcdef";
public static function toHex(_arg1:int, _arg2:Boolean=false):String{
var _local3:String;
var _local4:int;
var _local5:int;
_local3 = "";
if (_arg2){
_local4 = 0;
while (_local4 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15))));
_local4++;
};
} else {
_local5 = 0;
while (_local5 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15))));
_local5++;
};
};
return (_local3);
}
public static function ror(_arg1:int, _arg2:int):uint{
var _local3:int;
_local3 = (32 - _arg2);
return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3))));
}
public static function rol(_arg1:int, _arg2:int):int{
return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
}
}
}//package com.adobe.utils
Section 111
//APIConnector (com.newgrounds.components.APIConnector)
package com.newgrounds.components {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class APIConnector extends MovieClip {
public var errorDialog:MovieClip;
public var background:MovieClip;
public var viewLatestButton:SimpleButton;
public var closeButton:SimpleButton;
public var viewAuthorizedButton:SimpleButton;
private var _initialized:Boolean;
private var _movieId:String;
private var _encryptionKey:String;
private var _movieVersion:String;
private var _showConnectingPopup:Boolean;// = true
private var _useErrorPopup:Boolean;// = true
private var _medalPopup:MedalPopup;
private var _popDelay:Timer;
public function APIConnector(){
this._popDelay = new Timer(3000, 1);
super();
addFrameScript(0, this.frame1, 6, this.frame7, 7, this.frame8);
if (((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")))){
return;
};
this.useErrorPopup = true;
this.useMedalPopup = true;
this._popDelay.addEventListener(TimerEvent.TIMER, this.errorTimerHandler);
addEventListener(Event.ENTER_FRAME, this.enterFrameHandler);
if (stage){
addEventListener(Event.RENDER, this.renderHandler);
stage.invalidate();
} else {
this.clear();
};
}
public function get movieId():String{
return (this._movieId);
}
public function set movieId(_arg1:String):void{
this._movieId = _arg1;
}
public function get encryptionKey():String{
return (this._encryptionKey);
}
public function set encryptionKey(_arg1:String):void{
this._encryptionKey = _arg1;
}
public function get movieVersion():String{
return (this._movieVersion);
}
public function set movieVersion(_arg1:String):void{
this._movieVersion = _arg1;
}
public function get debugMode():Boolean{
return (API.debugMode);
}
public function set debugMode(_arg1:Boolean):void{
API.debugMode = true;
}
public function get useFakeSession():Boolean{
return (API.getFakeSession());
}
public function set useFakeSession(_arg1:Boolean):void{
API.setFakeSession(true);
}
public function get useMedalPopup():Boolean{
return (!((this._medalPopup == null)));
}
public function set useMedalPopup(_arg1:Boolean):void{
if (((_arg1) && (!(this._medalPopup)))){
this._medalPopup = new MedalPopup();
addChild(this._medalPopup);
} else {
if (((!(_arg1)) && (this._medalPopup))){
removeChild(this._medalPopup);
this._medalPopup = null;
};
};
}
public function get useErrorPopup():Boolean{
return (this._useErrorPopup);
}
public function set useErrorPopup(_arg1:Boolean):void{
this._useErrorPopup = _arg1;
API.addEventListener(APIEvent.API_CONNECTED, this.movieConnectedHandler);
if (this._useErrorPopup){
API.addEventListener(APIEvent.NEW_VERSION_AVAILABLE, this.newVersionAvailableHandler);
API.addEventListener(APIEvent.HOST_BLOCKED, this.hostBlockedHandler);
} else {
API.removeEventListener(APIEvent.NEW_VERSION_AVAILABLE, this.newVersionAvailableHandler);
API.removeEventListener(APIEvent.HOST_BLOCKED, this.hostBlockedHandler);
};
}
public function get showConnectingPopup():Boolean{
return (this._showConnectingPopup);
}
public function set showConnectingPopup(_arg1:Boolean):void{
this._showConnectingPopup = _arg1;
if (((!(_arg1)) && ((((currentLabel == "connecting")) || ((currentLabel == "connected")))))){
this.clear();
};
}
public function clear():void{
gotoAndStop("idle");
}
public function connect():void{
API.setVersion(this._movieVersion);
API.connect(root.loaderInfo, this._movieId, this._encryptionKey);
visible = true;
if (this.showConnectingPopup){
gotoAndStop("connecting");
};
}
private function renderHandler(_arg1:Event):void{
removeEventListener(Event.RENDER, this.renderHandler);
this.clear();
this.connect();
}
private function movieConnectedHandler(_arg1:APIEvent):void{
if (_arg1.success){
if (((((((API.isPublishedHost()) && (API.hostIsCompatible()))) && (!(API.hasUserSession())))) && (!(API.debugMode)))){
gotoAndStop("no_login");
this._popDelay.start();
visible = true;
} else {
if (this.showConnectingPopup){
gotoAndStop("connected");
};
};
} else {
gotoAndStop("no_connect");
this._popDelay.start();
visible = true;
};
}
private function newVersionAvailableHandler(_arg1:APIEvent):void{
gotoAndStop("new_version");
visible = true;
this.centerOnStage();
}
private function hostBlockedHandler(_arg1:APIEvent):void{
gotoAndStop("bad_host");
visible = true;
this.centerOnStage();
}
private function closeButtonClickHandler(_arg1:Event):void{
this.clear();
}
private function officialVersionClickHandler(_arg1:Event):void{
API.loadOfficialURL();
}
private function enterFrameHandler(_arg1:Event):void{
this.forceAlwaysOnTop();
}
private function initButtons():void{
if (this.viewLatestButton){
this.viewLatestButton.addEventListener(MouseEvent.CLICK, this.officialVersionClickHandler);
};
if (this.viewAuthorizedButton){
this.viewAuthorizedButton.addEventListener(MouseEvent.CLICK, this.officialVersionClickHandler);
};
if (this.closeButton){
this.closeButton.addEventListener(MouseEvent.CLICK, this.closeButtonClickHandler);
};
}
private function forceAlwaysOnTop():void{
var myIndex:uint;
var topIndex:uint;
if (((parent) && (visible))){
try {
myIndex = parent.getChildIndex(this);
topIndex = (parent.numChildren - 1);
if (myIndex != topIndex){
parent.setChildIndex(this, topIndex);
};
} catch(e:Error) {
};
};
}
private function centerOnStage():void{
if (stage){
x = (stage.stageWidth / 2);
y = (stage.stageHeight / 2);
};
}
private function errorTimerHandler(_arg1:TimerEvent):void{
if (this.errorDialog){
this.errorDialog.gotoAndPlay("closeme");
} else {
this.clear();
};
}
function frame1(){
stop();
}
function frame7(){
this.initButtons();
}
function frame8(){
this.initButtons();
}
}
}//package com.newgrounds.components
Section 112
//FlashAd (com.newgrounds.components.FlashAd)
package com.newgrounds.components {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class FlashAd extends Sprite {
public var background:MovieClip;
private var _showBackground:Boolean;
private var _adURLLoader:URLLoader;
private var _adRect:Sprite;
private var _mask:Shape;
private var _ad:Loader;
private static const DEBUG_AD_URL:String = "http://www.ngads.com/adtest.php";
private static const REMOVED_FROM_STAGE:String = "removedFromStage";
private static var _adResetTime:uint = 0;
private static var _adURL:URLRequest;
public function FlashAd(_arg1:Boolean=true){
if (((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")))){
return;
};
Security.allowDomain("server.cpmstar.com");
this._adRect = new Sprite();
this._adRect.graphics.beginFill(0);
this._adRect.graphics.moveTo(0, 0);
this._adRect.graphics.lineTo(300, 0);
this._adRect.graphics.lineTo(300, 250);
this._adRect.graphics.lineTo(0, 250);
this._adRect.graphics.lineTo(0, 0);
this._adRect.graphics.endFill();
this._mask = new Shape();
this._mask.graphics.beginFill(0);
this._mask.graphics.moveTo(0, 0);
this._mask.graphics.lineTo(300, 0);
this._mask.graphics.lineTo(300, 250);
this._mask.graphics.lineTo(0, 250);
this._mask.graphics.lineTo(0, 0);
this._mask.graphics.endFill();
addChild(this._adRect);
this._adRect.addChild(this._mask);
this._adRect.visible = false;
x = Math.round(x);
y = Math.round(y);
scaleX = 1;
scaleY = 1;
if (this.background){
if (this.background.ngLinkButton){
this.background.ngLinkButton.addEventListener(MouseEvent.CLICK, this.linkClickHandler);
};
if (this.background.loadingClip){
this.background.loadingClip.visible = false;
};
};
if (API.isFlashVersion(9, 0, 28)){
addEventListener(REMOVED_FROM_STAGE, this.onRemovedFromStage);
};
if (API.adsApproved){
this.loadAdFeed(API.adFeedURL);
} else {
API.addEventListener(APIEvent.ADS_APPROVED, this.onAdsApproved, false, 0, true);
};
this.showBackground = _arg1;
}
public function get showBackground():Boolean{
return (this._showBackground);
}
public function set showBackground(_arg1:Boolean):void{
this._showBackground = _arg1;
if (this.background){
this.background.visible = _arg1;
this._adRect.mask = (_arg1) ? this.background.adMask : null;
};
}
public function removeAd():void{
removeEventListener(REMOVED_FROM_STAGE, this.onRemovedFromStage);
if (((this.background) && (this.background.loadingClip))){
this.background.loadingClip.visible = false;
};
if (this._adURLLoader){
try {
this._adURLLoader.close();
} catch(e:Error) {
};
};
if (this._adRect){
this._adRect.visible = false;
};
if (this._ad){
trace("[NewgroundsAPI] :: Ad removed");
try {
this._ad.close();
} catch(e:Error) {
};
try {
Object(this._ad).unloadAndStop(true);
} catch(e:Error) {
_ad.unload();
};
if (this._ad.parent){
this._ad.parent.removeChild(this._ad);
};
};
this._ad = null;
}
private function onAdsApproved(_arg1:APIEvent):void{
API.removeEventListener(APIEvent.ADS_APPROVED, this.onAdsApproved, false);
if (_arg1.success){
this.loadAdFeed(API.adFeedURL);
} else {
trace("[NewgroundsAPI] :: No ad feed URL supplied to Newgrounds API ad!");
};
}
private function loadAdFeed(_arg1:String):void{
var adFeedURL = _arg1;
this._adURLLoader = new URLLoader();
this._adURLLoader.addEventListener(Event.COMPLETE, this.onAdFeedLoaded);
this._adURLLoader.addEventListener(IOErrorEvent.IO_ERROR, this.onAdError);
this._adURLLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onAdError);
if (!adFeedURL){
trace("[Newgrounds API] :: Invalid feed URL!");
return;
};
if (this.hasAdElapsed){
if (adFeedURL.indexOf("?") > -1){
_adURL = new URLRequest(((adFeedURL + "&random=") + Math.random()));
} else {
_adURL = new URLRequest(((adFeedURL + "?random=") + Math.random()));
};
};
try {
this._adURLLoader.load(_adURL);
} catch(e:Error) {
onAdError(null);
};
if (((this.background) && (this.background.loadingClip))){
this.background.loadingClip.visible = true;
};
}
private function loadAd(_arg1:String):void{
var url = _arg1;
if (this._ad){
this.removeAd();
};
this._ad = new Loader();
this._ad.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onAdLoaded);
this._ad.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, this.onAdError);
try {
Object(this._ad.contentLoaderInfo).uncaughtErrorEvents.addEventListener("uncaughtError", function (_arg1:Event):void{
});
} catch(error:Error) {
};
this._ad.load(new URLRequest(url), new LoaderContext(false, new ApplicationDomain(null)));
if (((this.background) && (this.background.loadingClip))){
this.background.loadingClip.visible = true;
};
}
private function onAdFeedLoaded(_arg1:Event):void{
var _local2:URLLoader = URLLoader(_arg1.target);
if (((_local2.data) && (!((_local2.data == ""))))){
this.loadAd((_local2.data as String));
} else {
dispatchEvent(new APIEvent(APIEvent.AD_ATTACHED, false, new APIError("FLASH_ADS_NOT_APPROVED", "Unable to render ad")));
if (((this.background) && (this.background.loadingClip))){
this.background.loadingClip.visible = false;
};
};
}
private function onAdFeedError(_arg1:Event):void{
trace("[NewgroundsAPI] :: Unable to load ad feed!");
if (((this.background) && (this.background.loadingClip))){
this.background.loadingClip.visible = false;
};
}
private function onAdError(_arg1:Event):void{
dispatchEvent(new APIEvent(APIEvent.AD_ATTACHED, false, new APIError("FLASH_ADS_NOT_APPROVED", "Unable to render ad")));
this.removeAd();
}
private function onAdLoaded(_arg1:Event):void{
this._adRect.addChild(this._ad);
this._ad.mask = this._mask;
this._adRect.visible = true;
if (this.background){
if (this._showBackground){
this._adRect.mask = this.background.adMask;
};
if (this.background.loadingClip){
this.background.loadingClip.visible = false;
};
};
trace("[NewgroundsAPI] :: Ad loaded!");
dispatchEvent(new APIEvent(APIEvent.AD_ATTACHED, true));
}
private function onRemovedFromStage(_arg1:Event):void{
this.removeAd();
}
private function get hasAdElapsed():Boolean{
if (getTimer() >= _adResetTime){
_adResetTime = (getTimer() + ((1000 * 60) * 5));
return (true);
};
return (false);
}
private function linkClickHandler(_arg1:MouseEvent):void{
API.loadNewgrounds();
}
}
}//package com.newgrounds.components
Section 113
//MedalPopup (com.newgrounds.components.MedalPopup)
package com.newgrounds.components {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
public class MedalPopup extends MovieClip {
public var medalNameText:TextField;
public var medalValueText:TextField;
public var medalContainer:Sprite;
private var _initialized:Boolean;
private var _medal:Medal;
private var _medalIcon:Bitmap;
private var _medalQueue:Array;
private var _popDelay:Timer;
public function MedalPopup(){
this._medalQueue = [];
this._popDelay = new Timer(3000, 1);
super();
addFrameScript(0, this.frame1, 9, this.frame10, 18, this.frame19);
if (((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")))){
return;
};
visible = false;
addEventListener(Event.ENTER_FRAME, this.enterFrameHandler);
stop();
API.addEventListener(APIEvent.MEDAL_UNLOCKED, this.onMedalUnlocked, false, 0, true);
this._popDelay.addEventListener(TimerEvent.TIMER, this.timerHandler);
}
public function get popupTime():Number{
return ((this._popDelay.delay / 1000));
}
public function set popupTime(_arg1:Number):void{
if (isNaN(_arg1)){
_arg1 = 3;
};
this._popDelay.delay = (_arg1 * 1000);
}
private function enterFrameHandler(_arg1:Event):void{
var myIndex:uint;
var topIndex:uint;
var event = _arg1;
if (((this._medalQueue.length) && (!(visible)))){
this._medal = this._medalQueue.pop();
this._popDelay.start();
gotoAndPlay("medal_show");
visible = true;
};
if (((visible) && (parent))){
try {
myIndex = parent.getChildIndex(this);
topIndex = (parent.numChildren - 1);
if (myIndex != topIndex){
parent.setChildIndex(this, topIndex);
};
} catch(error:Error) {
};
};
}
private function onMedalUnlocked(_arg1:APIEvent):void{
if (((((_arg1.success) && (_arg1.data))) && ((_arg1.data.medal is Medal)))){
this._medalQueue.push(Medal(_arg1.data.medal));
};
}
private function showMedalInfo():void{
if (!this._medal){
return;
};
if (this.medalContainer){
this._medalIcon = this._medal.createIconBitmap();
this.medalContainer.addChild(this._medalIcon);
};
if (this.medalNameText){
this.medalNameText.text = this._medal.name;
};
if (this.medalValueText){
this.medalValueText.text = (this._medal.value.toString() + "pts");
};
this._popDelay.start();
stop();
}
private function timerHandler(_arg1:TimerEvent):void{
if (((this._medalIcon) && (this._medalIcon.parent))){
this._medalIcon.parent.removeChild(this._medalIcon);
this._medalIcon = null;
};
gotoAndPlay("medal_hide");
this._popDelay.stop();
}
function frame1(){
stop();
}
function frame10(){
this.showMedalInfo();
stop();
}
function frame19(){
stop();
visible = false;
}
}
}//package com.newgrounds.components
Section 114
//API (com.newgrounds.API)
package com.newgrounds {
import flash.display.*;
import flash.events.*;
import com.newgrounds.components.*;
import flash.utils.*;
import com.adobe.serialization.json.*;
import flash.net.*;
import com.adobe.crypto.*;
import com.adobe.images.*;
import flash.system.*;
public class API {
public static const VERSION:String = "2.4.18";
private static const GATEWAY_URL:String = "http://www.ngads.com/gateway_v2.php";
private static const AD_TERMS_URL:String = "http://www.newgrounds.com/wiki/flashads/terms/";
private static const COMMANDS_WIKI_URL:String = "http://www.newgrounds.com/wiki/flashapi/commands/";
private static var do_echo:Boolean = false;
private static var _debug:Boolean = true;
private static var _connected:Boolean = false;
private static var _isMetadataLoaded:Boolean = false;
private static var _preloadComplete:Boolean = false;
private static var _adsApproved:Boolean = false;
private static var _saveGroupId:uint;
private static var _saveFileId:uint;
private static var _trackerId:uint;
private static var _movieId:String;
private static var _encryptionKey:String;
private static var _url:String;
private static var _host:String;
private static var connected:Boolean;
private static var version:String;
private static var ad_url:String;
private static var _fakeSession:Boolean = false;
private static var publisher_id:uint;
private static var session_id:String;
private static var user_email:String;
private static var user_name:String;
private static var user_id:uint;
private static var userpage_format:String;
private static var _medals:Array;
private static var timeoutTimer:Timer = new Timer(8000, 1);
private static var _userpageFormat:String;
private static var _scoreboards:Array = new Array();
private static var _bridge:Bridge;
private static var save_file:SaveFile;
private static var _imageFilePath:String;
private static var _saveFilePath:String;
private static var _saveGroups:Array = [];
private static var root:DisplayObject;
private static var _eventDispatcher:EventDispatcher = new EventDispatcher();
private static var score_page_counts:Object = new Object();
private static var compression_radix:String = "/g8236klvBQ#&|;Zb*7CEA59%s`Oue1wziFp$rDVY@TKxUPWytSaGHJ>dmoMR^<0~4qNLhc(I+fjn)X";
private static var compressor:BaseN = new BaseN(compression_radix);
public static var errors:Dictionary = APIError.init_codes();
private static var sharedObjects:Dictionary = new Dictionary();
private static var _preloadAssets:Array = [];
public static var periods:Object = getPeriodAliases();
private static var period_aliases:Object = {t:{name:"Today", alias:"TODAY"}, p:{name:"Yesterday", alias:"YESTERDAY"}, w:{name:"This Week", alias:"THIS_WEEK"}, m:{name:"This Month", alias:"THIS_MONTH"}, y:{name:"This Year", alias:"THIS_YEAR"}, a:{name:"All-Time", alias:"ALL_TIME"}};
private static var secureCommand:String;
public static function get adFeedURL():String{
return (ad_url);
}
public static function get preloadComplete():Boolean{
return (_preloadComplete);
}
private static function assertConnected():Boolean{
if (!_connected){
return (false);
};
return (true);
}
public static function setVersion(_arg1:String):void{
if (((_arg1) && (!((_arg1 == ""))))){
version = _arg1;
};
}
public static function setUserEmail(_arg1:String):void{
user_email = _arg1;
}
public static function setFakeSession(_arg1:Boolean):void{
_fakeSession = _arg1;
}
public static function getFakeSession():Boolean{
return (_fakeSession);
}
public static function get debugMode():Boolean{
return (_debug);
}
public static function set debugMode(_arg1:Boolean):void{
_debug = _arg1;
}
public static function getTrackerID():uint{
return (_trackerId);
}
public static function getUserID():uint{
return (user_id);
}
public static function getUserName():String{
return (user_name);
}
public static function isConnected():Boolean{
return (_connected);
}
public static function getID():uint{
return (_trackerId);
}
public static function getOfficialURL():String{
var _local1:String = ((((((GATEWAY_URL + "?tracker_id=") + _movieId) + "&command_id=") + getCommandID("loadOfficalVersion")) + "&seed=") + Math.random());
if (debugMode){
_local1 = (_local1 + "&debug=1");
};
return (_local1);
}
public static function get adsApproved():Boolean{
return (_adsApproved);
}
public static function hasUserSession():Boolean{
return (((((!((session_id == null))) && (!((session_id == ""))))) && (!((publisher_id == 0)))));
}
public static function isNewgrounds():Boolean{
return ((((publisher_id == 1)) || (((_host) && ((_host.toLowerCase().indexOf("ungrounded.net") > -1))))));
}
public static function hostIsCompatible():Boolean{
return (!((publisher_id == 0)));
}
public static function hasUserEmail():Boolean{
return (((!((user_email == null))) && (!((user_email == "")))));
}
public static function connectionTimeOut(_arg1:Event=null):void{
dispatchEvent(new APIEvent(APIEvent.API_CONNECTED, false, new APIError("CONNECTION_FAILED", "Connection to NewgroundsAPI gateway timed out.")));
}
public static function connect(_arg1:LoaderInfo, _arg2:String, _arg3:String=null):void{
var loaderInfo = _arg1;
var m_id = _arg2;
var encrypt_key = _arg3;
if (!loaderInfo){
fatalError("Null loaderInfo paremeter passed in to connectMovie!", "");
return;
};
try {
if (loaderInfo.loader){
loaderInfo = loaderInfo.loader.loaderInfo;
};
} catch(error:Error) {
};
_url = loaderInfo.url;
_host = _url;
if ((((_host.indexOf("http://") > -1)) || ((_host.indexOf("https://") > -1)))){
_host = _host.split("/")[2].toLowerCase();
} else {
_host = "localhost";
};
var flashVars:Object = loaderInfo.parameters;
if (isPublishedHost()){
debugMode = false;
};
if (((!(debugMode)) && (flashVars))){
if (flashVars.NewgroundsAPI_UserName){
user_name = flashVars.NewgroundsAPI_UserName;
};
if (flashVars.NewgroundsAPI_UserID){
user_id = flashVars.NewgroundsAPI_UserID;
};
if (flashVars.NewgroundsAPI_PublisherID){
publisher_id = flashVars.NewgroundsAPI_PublisherID;
} else {
publisher_id = 0;
};
if (flashVars.NewgroundsAPI_UserpageFormat){
_userpageFormat = flashVars.NewgroundsAPI_UserpageFormat;
};
if (flashVars.NewgroundsAPI_SessionID){
session_id = flashVars.NewgroundsAPI_SessionID;
};
if (flashVars.NewgroundsAPI_SaveGroupID){
_saveGroupId = flashVars.NewgroundsAPI_SaveGroupID;
};
if (flashVars.NewgroundsAPI_SaveFileID){
_saveFileId = flashVars.NewgroundsAPI_SaveFileID;
};
if (flashVars.NewgroundsAPI_SandboxID){
_bridge = new Bridge(flashVars.NewgroundsAPI_SandboxID);
};
} else {
publisher_id = 1;
if (_fakeSession){
session_id = "D3bu64p1U53R";
user_id = 10;
user_name = "API-Debugger";
};
};
if (connected){
fatalError("NewgroundsAPI.connect() - connection already in progress", "connect");
return;
};
timeoutTimer.start();
if (!m_id){
fatalError("NewgroundsAPI.connectMovie() - missing required movieId parameter", "connectMovie");
};
_movieId = String(m_id);
_trackerId = uint(_movieId.substring(0, _movieId.indexOf(":")));
_encryptionKey = encrypt_key;
connected = true;
sendCommand("connectMovie", {host:getHost(), movie_version:version});
}
private static function getHost():String{
return (_host);
}
public static function isPublishedHost():Boolean{
return (((!((getHost() == "localhost"))) && ((getHost().indexOf("file://") == -1))));
}
public static function loadUserPage(_arg1:uint=0, _arg2:String=null):Boolean{
var _local3:String;
if ((((_arg1 == 0)) && ((_arg2 == null)))){
if (hasUserSession()){
_arg1 = user_id;
_arg2 = user_name;
} else {
return (false);
};
};
if (publisher_id == 1){
_local3 = (("http://" + _arg2.toLowerCase()) + ".newgrounds.com");
navigateToURL(new URLRequest(_local3), "_blank");
return (true);
};
if (userpage_format){
_local3 = userpage_format;
_local3 = _local3.split(":user_id:").join(_arg1.toString());
_local3 = _local3.split(":user_name:").join(escape(_arg2));
navigateToURL(new URLRequest(_local3), "_blank");
return (true);
};
return (false);
}
public static function loadNewgrounds():void{
sendCommand("loadNewgrounds", {host:getHost()}, true);
}
public static function loadOfficialURL():void{
navigateToURL(new URLRequest(getOfficialURL()));
}
public static function loadMySite():void{
sendCommand("loadMySite", {host:getHost()}, true);
}
public static function loadCustomLink(_arg1:String):void{
sendCommand("loadCustomLink", {host:getHost(), link:_arg1}, true);
}
public static function logCustomEvent(_arg1:String):void{
sendCommand("logCustomEvent", {host:getHost(), event:_arg1});
}
public static function getScoreBoard(_arg1:String):ScoreBoard{
var _local2:ScoreBoard;
for each (_local2 in _scoreboards) {
if (_local2.name == _arg1){
return (_local2);
};
};
return (null);
}
public static function getScoreBoardById(_arg1:uint):ScoreBoard{
var _local2:ScoreBoard;
for each (_local2 in _scoreboards) {
if (_local2.id == _arg1){
return (_local2);
};
};
return (null);
}
public static function postScore(_arg1:String, _arg2:uint, _arg3:String=""):void{
if (((!(_arg1)) || ((_arg1 == "")))){
sendError({command_id:getCommandID("postScore")}, new APIError("MISSING_PARAM", "missing required parameter(s)"));
return;
};
if (_arg3 == null){
_arg3 = "";
};
sendSecureCommand("postScore", {user_name:user_name, board:_arg1, value:_arg2, publisher_id:publisher_id, tag:_arg3});
}
public static function loadScores(_arg1:String, _arg2:String=null, _arg3:String=null):void{
var _local4 = "loadScores";
var _local5:ScoreBoard = getScoreBoard(_arg1);
if (((!(_local5)) || (!(_local5.id)))){
sendError({command_id:getCommandID(_local4)}, new APIError("MISSING_PARAM", "missing required ScoreBoard instance"));
return;
};
var _local6:Object = {};
_local6.publisher_id = publisher_id;
if (_arg2){
_local6.period = _arg2;
} else {
_local6.period = _local5.period;
};
_local6.board = _local5.id;
_local6.num_results = _local5.num_results;
_local6.page = _local5.page;
if (((!(_arg3)) || ((_arg3 == "")))){
_local6.tag = _local5.tag;
} else {
_local6.tag = _arg3;
};
sendCommand(_local4, _local6);
}
public static function loadScoresInRange(_arg1:String, _arg2:String="All-Time", _arg3:uint=1, _arg4:uint=10):void{
if (((!(_arg1)) || ((_arg1 == "")))){
sendError({command_id:getCommandID("postScore")}, new APIError("MISSING_PARAM", "missing required parameter(s)"));
return;
};
var _local5:ScoreBoard = getScoreBoard(_arg1);
if (_local5){
_local5.loadScoresInRange(_arg2, _arg3, _arg4);
} else {
sendWarning((("loadScoresInRange: Scoreboard " + _arg1) + " could not be found."));
};
}
private static function populateMedals(_arg1:Array):void{
var _local2:uint;
var _local3:Object;
if (_medals === null){
_medals = new Array();
_local2 = 0;
while (_local2 < _arg1.length) {
_local3 = _arg1[_local2];
_medals.push(Medal.createFromObject(_local3));
_local2++;
};
};
sendMessage("Medals loaded!");
}
private static function populateSaveGroups(_arg1:Array):void{
var _local3:SaveGroup;
_saveGroups = [];
var _local2:uint;
while (_local2 < _arg1.length) {
_local3 = SaveGroup.createFromObject(_arg1[_local2]);
_saveGroups.push(_local3);
_local2++;
};
}
private static function populateScoreBoards(_arg1:Array):void{
_scoreboards = [];
var _local2:uint;
while (_local2 < _arg1.length) {
_scoreboards.push(new ScoreBoard(_arg1[_local2].id, _arg1[_local2].name, ""));
_local2++;
};
}
public static function getMedals():Array{
return (_medals);
}
public static function getMedalById(_arg1:uint):Medal{
var _local2:Medal;
for each (_local2 in _medals) {
if (_local2.id == _arg1){
return (_local2);
};
};
return (null);
}
public static function getMedal(_arg1:String):Medal{
var _local2:Medal;
for each (_local2 in _medals) {
if (_local2.name == _arg1){
return (_local2);
};
};
return (null);
}
public static function unlockMedal(_arg1:String):void{
var _local3:Object;
var _local4:Object;
if (((!(_arg1)) || ((_arg1 == "")))){
sendError({command_id:getCommandID("unlockMedal")}, new APIError("MISSING_PARAM", "missing required medal name"));
return;
};
var _local2:Medal = getMedal(_arg1);
if (!_local2){
sendMessage(("No medal with name: " + _arg1));
return;
};
if (((hasUserSession()) || (debugMode))){
sendMessage((("Attempting to unlock '" + _local2.name) + "'"));
if (_local2.unlocked){
sendWarning((("Medal '" + _local2.name) + "' is already unlocked!"));
return;
};
_local3 = new Object();
_local3.medal_id = _local2.id;
sendSecureCommand("unlockMedal", _local3);
} else {
sendMessage(("Locally unlocking " + _local2.name));
if (_local2.unlocked){
sendWarning((("Medal '" + _local2.name) + "' is already unlocked!"));
return;
};
_local2.unlocked = true;
_local4 = loadLocal("medals_unlocked");
if (!_local4){
_local4 = new Object();
};
_local4[_local2.id.toString()] = true;
saveLocal("medals_unlocked", _local4);
callListener(APIEvent.UNLOCK_MEDAL, true, {medal:_local2});
};
}
public static function loadMedals():void{
if (_medals){
dispatchEvent(new APIEvent(APIEvent.MEDALS_LOADED, true, {medals:getMedals()}));
return;
};
var _local1:Object = new Object();
if (hasUserSession()){
_local1.publisher_id = publisher_id;
_local1.user_id = user_id;
};
sendCommand("getMedals", _local1);
}
public static function saveLocal(_arg1:String, _arg2:Object, _arg3:uint=0):void{
var sharedObj:SharedObject;
var save_id = _arg1;
var save_data = _arg2;
var size_allocation = _arg3;
try {
if (!sharedObjects[save_id]){
sharedObjects[save_id] = SharedObject.getLocal(((("ng_ap_secure_" + _trackerId) + "_") + save_id));
};
sharedObj = sharedObjects[save_id];
sharedObj.data[save_id] = encodeData(save_data);
sharedObj.flush();
} catch(e:Error) {
sendWarning(("saveLocal ERROR: " + e));
};
}
public static function loadLocal(_arg1:String):Object{
var sharedObj:SharedObject;
var save_id = _arg1;
try {
if (!sharedObjects[save_id]){
sharedObjects[save_id] = SharedObject.getLocal(((("ng_ap_secure_" + _trackerId) + "_") + save_id));
};
sharedObj = sharedObjects[save_id];
if (((((sharedObj) && (sharedObj.data))) && (sharedObj.data[save_id]))){
return (decodeData(sharedObj.data[save_id]));
} else {
return (null);
};
} catch(e:Error) {
sendWarning(("loadLocal ERROR: " + e));
};
return (null);
}
public static function encodeData(_arg1:Object):String{
return (compressHex(RC4.encrypt(JSON.encode(_arg1), _encryptionKey)));
}
public static function decodeData(_arg1:String){
return (JSON.decode(RC4.decrypt(uncompressHex(_arg1), _encryptionKey)));
}
private static function compressHex(_arg1:String):String{
var _local2:uint = (_arg1.length % 6);
var _local3 = "";
var _local4:uint;
while (_local4 < _arg1.length) {
_local3 = (_local3 + compressor.encode(uint(("0x" + _arg1.substr(_local4, 6))), 4));
_local4 = (_local4 + 6);
};
return ((_local2.toString() + _local3));
}
private static function uncompressHex(_arg1:String):String{
var _local4:uint;
var _local6:String;
var _local7:uint;
var _local8:String;
var _local2:uint = uint(_arg1.charAt(0));
var _local3 = "";
var _local5:uint = 1;
while (_local5 < _arg1.length) {
_local6 = _arg1.substr(_local5, 4);
_local7 = uint(compressor.decode(_local6));
_local8 = _local7.toString(16);
if ((_local5 + 4) < _arg1.length){
_local4 = 6;
} else {
_local4 = _local2;
};
while (_local8.length < _local4) {
_local8 = ("0" + _local8);
};
_local3 = (_local3 + _local8);
_local5 = (_local5 + 4);
};
return (_local3);
}
public static function getSaveGroupById(_arg1:uint):SaveGroup{
if (((!(_saveGroups)) || ((_saveGroups.length < 1)))){
sendWarning("No save groups found");
return (null);
};
var _local2:uint;
while (_local2 < _saveGroups.length) {
if (_saveGroups[_local2].id == _arg1){
return (_saveGroups[_local2]);
};
_local2++;
};
return (null);
}
public static function getSaveGroup(_arg1:String):SaveGroup{
if (((!(_saveGroups)) || ((_saveGroups.length < 1)))){
sendWarning("No save groups found");
return (null);
};
var _local2:uint;
while (_local2 < _saveGroups.length) {
if (_saveGroups[_local2].name == _arg1){
return (_saveGroups[_local2]);
};
_local2++;
};
return (null);
}
public static function getCurrentSaveFile(){
return (save_file);
}
public static function setCurrentSaveFile(_arg1:SaveFile){
save_file = _arg1;
}
public static function newSaveQuery(_arg1:String):SaveGroupQuery{
var _local2:SaveGroup = getSaveGroup(_arg1);
if (_local2){
return (_local2.newQuery());
};
return (null);
}
public static function executeSaveQuery(_arg1:SaveGroupQuery):void{
sendCommand("lookupSaveFiles", {publisher_id:publisher_id, group_id:_arg1.groupId, query:JSON.encode(_arg1.toObject())}, false, null, _arg1);
}
public static function lookupSaveFiles(_arg1:SaveGroup):void{
var _local2:SaveGroupQuery = _arg1.getQuery(false);
sendCommand("lookupSaveFiles", {publisher_id:publisher_id, group_id:_arg1.id, query:_local2.toObject()}, false, null, _local2);
}
public static function checkFilePrivledges(_arg1:SaveFile):void{
sendCommand("checkFilePrivs", {group:_arg1.groupId, filename:_arg1.name, user_id:(user_id) ? user_id : 0, publisher_id:publisher_id});
}
public static function newSaveFile(_arg1:String):SaveFile{
var _local2:SaveGroup = getSaveGroup(_arg1);
if (_local2){
return (new SaveFile(_local2));
};
sendError({command_id:"newSaveFile"}, new APIError("INVALID_SAVE_GROUP", (("'" + _local2) + "' is not a valid save group.")));
return (null);
}
public static function saveFile(_arg1:SaveFile, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local4:Object = _arg1.toObject();
_local4.user_name = user_name;
if (_arg1.id){
_local4.save_id = _arg1.id;
};
_local4.overwrite = (_arg2) ? 1 : 0;
if (_arg3){
_local4.draft = 1;
};
var _local5:ByteArray = new ByteArray();
if ((_arg1.contents is ByteArray)){
_local5.writeByte(0);
_local5.writeBytes(_arg1.contents);
} else {
_local5.writeByte(1);
_local5.writeObject(_arg1.contents);
};
_local5.compress();
var _local6:Object = new Object();
_local6.file = _local5;
if (_arg1.thumbnail){
_local6.thumbnail = PNGEncoder.encode(_arg1.thumbnail);
};
save_file = _arg1;
sendSecureCommand("saveFile", _local4, null, _local6, _arg1);
}
public static function rateSaveFile(_arg1:SaveFile, _arg2:SaveRating, _arg3:Number):void{
sendSecureCommand("rateSaveFile", {group:_arg1.groupId, save_id:_arg1.id, rating_id:_arg2.id, vote:_arg3, user_id:user_id}, null, null, _arg1);
}
public static function loadSaveFile(_arg1:Number, _arg2:Boolean=true){
var _local3:Object = {publisher_id:publisher_id, save_id:_arg1, get_contents:_arg2};
save_file = null;
sendCommand("loadSaveFile", _local3);
}
public static function loadFilesByDate(_arg1:String, _arg2:Boolean=true, _arg3:String=null, _arg4=null):void{
var _local7:*;
var _local5:SaveGroup = getSaveGroup(_arg1);
if (!_local5){
_local7 = new APIError("QUERY_INCOMPLETE", "The query could not be preformed, check the spelling of your save group name.");
sendError({command_id:"loadFilesByDate"}, _local7);
return;
};
var _local6:SaveGroupQuery = _local5.newQuery();
if (_arg3){
_local6.addKeyCondition(_arg3, "=", _arg4);
};
_local6.sortOn(SaveGroupQuery.CREATED_ON, _arg2);
_local6.execute();
}
public static function loadFilesByViews(_arg1:String, _arg2:Boolean=true, _arg3:String=null, _arg4=null):void{
var _local7:*;
var _local5:SaveGroup = getSaveGroup(_arg1);
if (!_local5){
_local7 = new APIError("QUERY_INCOMPLETE", "The query could not be preformed, check the spelling of your save group name.");
sendError({command_id:"loadFilesByViews"}, _local7);
return;
};
var _local6:SaveGroupQuery = _local5.newQuery();
if (_arg3){
_local6.addKeyCondition(_arg3, "=", _arg4);
};
_local6.sortOn(SaveGroupQuery.TOTAL_VIEWS, _arg2);
_local6.execute();
}
public static function loadFilesByRating(_arg1:String, _arg2:String, _arg3:Boolean=true, _arg4:String=null, _arg5=null):void{
var _local8:*;
var _local6:SaveGroup = getSaveGroup(_arg1);
if (!_local6){
_local8 = new APIError("QUERY_INCOMPLETE", "The query could not be preformed, check the spelling of your save group name.");
sendError({command_id:"loadFilesByDate"}, _local8);
return;
};
var _local7:SaveGroupQuery = _local6.newQuery();
if (_arg4){
_local7.addKeyCondition(_arg4, "=", _arg5);
};
_local7.sortOnRating(_arg2, _arg3);
_local7.execute();
}
public static function onRemoteAuthentication(_arg1:String){
var _local2:Object = JSON.decode(RC4.decrypt(_arg1, _encryptionKey));
user_id = _local2.NewgroundsAPI_UserID;
user_name = _local2.NewgroundsAPI_UserName;
session_id = _local2.NewgroundsAPI_SessionID;
publisher_id = _local2.NewgroundsAPI_PublisherID;
}
private static function doEvent(_arg1:Object):void{
var _local2:String;
var _local3:Object;
var _local4:String;
var _local5:Boolean;
var _local6:ScoreBoard;
var _local7:Array;
var _local8:*;
var _local9:String;
var _local10:Medal;
var _local11:SaveGroup;
var _local12:Object;
var _local13:Object;
var _local14:Object;
var _local15:SaveFile;
var _local16:uint;
var _local17:Object;
var _local18:uint;
var _local19:APIError;
var _local20:Object;
switch (getCommandName(_arg1.command_id)){
case "connectMovie":
timeoutTimer.stop();
if (_arg1.success){
sendMessage("You have successfully connected to the Newgrounds API Gateway");
sendMessage((("Movie identified as \"" + _arg1.movie_name) + "\""));
callListener(APIEvent.API_CONNECTED, _arg1.success, {title:_arg1.movie_name});
} else {
callListener(APIEvent.API_CONNECTED, _arg1.success, {});
return;
};
_local5 = false;
if (_arg1.ad_status === -1){
_local2 = "This movie was not approved to run Flash Ads.";
sendWarning(_local2);
sendWarning((("visit " + AD_TERMS_URL) + " to view our approval guidelines"));
if (!_arg1.ad_url){
callListener(APIEvent.ADS_APPROVED, false, new APIError("FLASH_ADS_NOT_APPROVED", _local2));
} else {
_local5 = true;
};
} else {
if (_arg1.ad_status === 0){
_local2 = "Flash Ads are currently awaiting approval.";
sendNotice(_local2);
if (!_arg1.ad_url){
callListener(APIEvent.ADS_APPROVED, false, new APIError("FLASH_ADS_NOT_APPROVED", _local2));
} else {
_local5 = true;
};
};
};
if (_arg1.ad_url){
ad_url = unescape(_arg1.ad_url);
if (!_local5){
sendMessage("This movie has been approved to run Flash Ads!");
};
_adsApproved = true;
callListener(APIEvent.ADS_APPROVED, true);
};
if (_arg1.deny_host){
_local2 = (getHost() + " does not have permission to run this movie!");
sendWarning(_local2);
sendWarning(("\tUpdate your API configuration to unblock " + getHost()));
callListener(APIEvent.HOST_BLOCKED, true, {real_url:unescape(_arg1.movie_url), url:getOfficialURL()});
};
if (_arg1.movie_version){
sendWarning("According to your API Configuration, this version is out of date.");
if (version){
sendWarning(("\tThe this movie is version " + version));
};
sendWarning(("\tThe most current version is " + _arg1.movie_version));
callListener(APIEvent.NEW_VERSION_AVAILABLE, true, {version:_arg1.movie_version, real_url:unescape(_arg1.movie_url), url:getOfficialURL()});
};
if (_arg1.request_portal_url){
sendCommand("setPortalID", {portal_url:_url});
};
sendCommand("preloadSettings", {publisher_id:publisher_id, user_id:user_id});
break;
case "preloadSettings":
if (_arg1.medals){
populateMedals(_arg1.medals);
if (((!(hasUserSession())) && (!(debugMode)))){
echo("Checking for SharedObject Medals...");
_local8 = loadLocal("medals_unlocked");
if (_local8){
for (_local9 in _local8) {
if (_local8[_local9]){
_local10 = getMedalById(uint(_local9));
echo(("Now unlocking " + _local10.name));
_local10.unlocked = true;
};
};
};
};
};
if (_arg1.save_groups){
populateSaveGroups(_arg1.save_groups);
};
if (_arg1.save_file_path){
_saveFilePath = (_arg1.save_file_path + "/");
};
if (_arg1.image_file_path){
_imageFilePath = (_arg1.image_file_path + "/");
};
if (_arg1.score_boards){
populateScoreBoards(_arg1.score_boards);
};
sendMessage("Metadata loaded!");
callListener(APIEvent.METADATA_LOADED, _arg1.success);
if (((_saveFileId) && (_saveGroupId))){
_local11 = getSaveGroupById(_saveGroupId);
if (_local11){
callListener(APIEvent.FILE_REQUESTED, true, {save_id:_saveFileId, group:_local11});
};
};
_preloadComplete = true;
break;
case "logCustomEvent":
if (_arg1.success){
sendMessage((("Event '" + _arg1.event) + "' was logged."));
};
callListener(APIEvent.EVENT_LOGGED, _arg1.success, {event:_arg1.event});
break;
case "postScore":
if (_arg1.success){
_local4 = "User";
if (user_email){
_local4 = user_email;
} else {
if (user_name){
_local4 = user_name;
};
};
_local6 = getScoreBoardById(_arg1.board);
if (_local6){
sendMessage((((((_local4 + " posted ") + _arg1.value) + " to '") + _local6.name) + "'"));
};
if (_arg1.best_scores){
_local12 = {today:_arg1.best_scores.D, yesterday:_arg1.best_scores.P, week:_arg1.best_scores.W, year:_arg1.best_scores.Y, all_time:_arg1.best_scores.A};
} else {
_local12 = {};
};
if (_arg1.best_ranks){
_local13 = {today:_arg1.best_ranks.D, yesterday:_arg1.best_ranks.P, week:_arg1.best_ranks.W, year:_arg1.best_ranks.Y, all_time:_arg1.best_ranks.A};
} else {
_local13 = {};
};
if (_arg1.num_scores){
_local14 = {today:_arg1.num_scores.D, yesterday:_arg1.num_scores.P, week:_arg1.num_scores.W, year:_arg1.num_scores.Y, all_time:_arg1.num_scores.A};
} else {
_local14 = {};
};
_local3 = {score:_arg1.score, value:_arg1.value, username:_local4, best_scores:_local12, best_ranks:_local13, num_scores:_local14};
};
callListener(APIEvent.SCORE_POSTED, _arg1.success, _local3);
break;
case "loadScores":
_local3 = new Object();
_local6 = getScoreBoardById(_arg1.board);
if (_local6){
_local6.setScores(_arg1.scores, _arg1.period, _arg1.page, _arg1.num_results, _arg1.num_scores);
};
callListener(APIEvent.SCORES_LOADED, _arg1.success, {board:_local6});
break;
case "unlockMedal":
if (_medals){
_local10 = getMedal(_arg1.medal_name);
if (_local10.unlocked){
return;
};
_local10.unlocked = true;
callListener(APIEvent.MEDAL_UNLOCKED, _arg1.success, {medal_id:_local10.id, medal:_local10});
};
break;
case "getMedals":
if (_arg1.success){
populateMedals(_arg1.medals);
};
callListener(APIEvent.MEDALS_LOADED, _arg1.success, _local3);
break;
case "loadSaveFile":
if (_arg1.success){
_local11 = getSaveGroupById(_arg1.group_id);
_local15 = new SaveFile(_local11);
_local15.id = _arg1.file.save_id;
_local15.name = _arg1.file.filename;
_local15.fileUrl = (_saveFilePath + _arg1.file.file);
_local15.thumbnailUrl = (_imageFilePath + _arg1.file.thumb);
_local15.authorName = _arg1.file.user_name;
_local15.authorId = _arg1.file.user_id;
_local15.setStatus(_arg1.file.status);
_local15.description = _arg1.file.description;
_local15.setFileSize(_arg1.file.file_size);
if (((_arg1.file.keys) && (_arg1.file.keys.length))){
_local16 = 0;
while (_local16 < _arg1.file.keys.length) {
_local15.setKey(_arg1.file.keys[_local16].id, _arg1.file.keys[_local16].value);
_local16++;
};
};
if (((_arg1.file.ratings) && (_arg1.file.ratings.length))){
_local16 = 0;
while (_local16 < _arg1.file.ratings.length) {
_local15.setRating(_arg1.file.ratings[_local16].id, _arg1.file.ratings[_local16].votes, _arg1.file.ratings[_local16].score);
_local16++;
};
};
if (_arg1.get_contents){
_local15.loadContents();
};
};
save_file = _local15;
callListener(APIEvent.FILE_INITIALIZED, _arg1.success, {save_id:_local15.id, file:_local15});
break;
case "lookupSaveFiles":
_local7 = [];
if (((_arg1.success) && (_arg1.files))){
_local16 = 0;
while (_local16 < _arg1.files.length) {
_local17 = _arg1.files[_local16];
_local15 = new SaveFile(getSaveGroupById(_arg1.group_id));
_local15.name = _local17.filename;
_local15.id = _local17.save_id;
_local15.description = _local17.description;
_local15.thumbnailUrl = (_imageFilePath + _local17.thumb);
_local15.fileUrl = (_saveFilePath + _local17.file);
_local15.authorName = _local17.user_name;
_local15.authorId = _local17.user_id;
_local15.setStatus(_local17.status);
_local15.setFileSize(_local17.file_size);
if (((_local17.keys) && (_local17.keys.length))){
_local18 = 0;
while (_local18 < _local17.keys.length) {
_local15.setKey(_local17.keys[_local18].id, _local17.keys[_local18].value);
_local18++;
};
};
if (((_local17.ratings) && (_local17.ratings.length))){
_local18 = 0;
while (_local18 < _local17.ratings.length) {
_local15.setRating(_local17.ratings[_local18].id, _local17.ratings[_local18].votes, _local17.ratings[_local18].score);
_local18++;
};
};
_local7.push(_local15);
_local16++;
};
};
_arg1.owner.setResults(_local7);
_arg1.owner.dispatchEvent(new APIEvent(APIEvent.QUERY_COMPLETE, _arg1.success, {query:_arg1.owner}));
callListener(APIEvent.QUERY_COMPLETE, _arg1.success, {query:_arg1.owner});
break;
case "rateSaveFile":
_local15 = _arg1.owner;
_arg1.success = ((_arg1.success) && (!(_arg1.already_voted)));
if (_arg1.success){
_local15.setRating(_arg1.rating_id, _arg1.votes, _arg1.score);
};
_arg1.file = _local15;
if (_arg1.already_voted){
_local19 = new APIError("PERMISSION_DENIED", "You have already voted on this item today");
_local15.dispatchEvent(new APIEvent(APIEvent.VOTE_COMPLETE, _arg1.success, {error:_local19, file:_local15, save_id:_local15.id}));
callListener(APIEvent.VOTE_COMPLETE, _arg1.success, _arg1);
} else {
_local20 = _local15.getRating(_arg1.rating_id);
_local15.dispatchEvent(new APIEvent(APIEvent.VOTE_COMPLETE, _arg1.success, {rating:_local20, file:_local15, save_id:_local15.id}));
API.callListener(APIEvent.VOTE_COMPLETE, _arg1.success, {rating:_local20, file:_local15, save_id:_local15.id});
};
break;
case "saveFile":
_local3 = {};
if (_arg1.success){
_local3 = {save_id:_arg1.save_id, filename:_arg1.filename, file_url:_arg1.file_url, thumbnail:_arg1.thumbnail, icon:_arg1.icon};
SaveFile(_arg1.owner).fileSaved(_local3);
};
_arg1.owner.dispatchEvent(new APIEvent(APIEvent.FILE_SAVED, _arg1.success, {save_id:save_file.id, file:save_file}));
callListener(APIEvent.FILE_SAVED, _arg1.success, {save_id:save_file.id, file:save_file});
save_file = null;
break;
case "checkFilePrivs":
_local3 = {filename:_arg1.filename, folder:_arg1.folder, can_read:_arg1.can_read, can_write:_arg1.can_write};
callListener(APIEvent.FILE_PRIVS_LOADED, _arg1.success, _local3);
break;
};
}
public static function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:uint=0, _arg5:Boolean=false):void{
_eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public static function hasEventListener(_arg1:String):Boolean{
return (_eventDispatcher.hasEventListener(_arg1));
}
public static function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
_eventDispatcher.removeEventListener(_arg1, _arg2, _arg3);
}
private static function dispatchEvent(_arg1:Event):void{
_eventDispatcher.dispatchEvent(_arg1);
echo(("Fired Event: " + _arg1.type));
}
static function callListener(_arg1:String, _arg2:Boolean=true, _arg3=undefined):void{
dispatchEvent(new APIEvent(_arg1, _arg2, _arg3));
if (_bridge){
_bridge.sendEvent(_arg1, {success:_arg2, data:_arg3});
};
}
private static function getCommandName(_arg1:String):String{
return (_arg1);
}
private static function getCommandID(_arg1:String):String{
return (_arg1);
}
private static function getPeriodAliases():Object{
var _local2:String;
var _local1:Object = new Object();
for (_local2 in period_aliases) {
_local1[period_aliases[_local2].alias] = _local2;
};
return (_local1);
}
public static function getPeriodName(_arg1:String):String{
var _local2:String;
for (_local2 in period_aliases) {
if (_local2 == _arg1){
return (period_aliases[_local2].name);
};
};
return (null);
}
public static function getPeriodAlias(_arg1:String):String{
var _local2:String;
for (_local2 in period_aliases) {
if (_local2 == _arg1){
return (period_aliases[_local2].alias);
};
};
return (null);
}
private static function sendError(_arg1:Object, _arg2:APIError):void{
var _local3:String = ((((("[NewgroundsAPI ERROR] :: " + getCommandName(_arg1.command_id)) + "() - ") + _arg2.name) + ":\n\t\t\t\t") + _arg2.message);
trace(_local3);
if (_bridge){
_bridge.sendEvent("trace", {data:_local3});
};
}
private static function sendWarning(_arg1:String, _arg2:String=null):void{
if (_arg2){
_arg1 = (_arg1 + ((("\n[NewgroundsAPI WARNING] :: \tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information."));
};
trace(_arg1);
if (_bridge){
_bridge.sendEvent("trace", {data:_arg1});
};
}
private static function sendNotice(_arg1:String, _arg2:String=null):void{
var _local3:String;
if (_arg2){
_arg1 = (_arg1 + ((("\n[NewgroundsAPI NOTICE] :: \tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information."));
};
trace(_arg1);
if (_bridge){
_bridge.sendEvent("trace", {data:_arg1});
};
}
private static function fatalError(_arg1:String, _arg2:String):void{
if (_arg2){
_arg1 = (_arg1 + ((("\n\tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information."));
};
trace(("***ERROR*** class=API\n\n" + _arg1));
}
public static function openLoginPage(){
if (hasUserSession()){
return;
};
}
public static function sendSecureCommand(_arg1:String, _arg2:Object, _arg3:Object=null, _arg4:Object=null, _arg5=null):void{
if (((((!(debugMode)) && (!(hasUserSession())))) && (!(hasUserEmail())))){
sendError({command_id:getCommandID(_arg1)}, new APIError("IDENTIFICATION_REQUIRED", (("You must be logged in or provide an e-mail address ( using NewgroundsAPI.setUserEmail(\"name@domain.com\"); ) to use " + _arg1) + "().")));
return;
};
if (!_arg1){
fatalError("Missing command", "sendSecureCommand");
};
if (!_arg2){
fatalError("Missing secure_params", "sendSecureCommand");
};
if (!_arg3){
_arg3 = new Object();
};
var _local6 = "";
var _local7:uint;
while (_local7 < 16) {
_local6 = (_local6 + compression_radix.charAt(Math.floor((Math.random() * compression_radix.length))));
_local7++;
};
if (((debugMode) && (!(session_id)))){
_arg2.session_id = "";
} else {
_arg2.session_id = session_id;
};
_arg2.as_version = 3;
_arg2.user_email = user_email;
_arg2.publisher_id = publisher_id;
_arg2.seed = _local6;
_arg2.command_id = getCommandID(_arg1);
var _local8:String = MD5.hash(_local6);
var _local9:String = RC4.encrypt(JSON.encode(_arg2), _encryptionKey);
var _local10:String = (_local8 + _local9);
_arg3.secure = compressHex(_local10);
secureCommand = _arg1;
sendCommand("securePacket", _arg3, false, _arg4, _arg5);
}
public static function stopPendingCommands():void{
SmartURLLoader.closeAll();
}
private static function onCommandComplete(_arg1:Event):void{
var response:Object;
var error:APIError;
var e = _arg1;
var loader:SmartURLLoader = SmartURLLoader(e.target);
echo((("INPUT: \n" + loader.response) + "\n"));
var i:uint;
while (i < _preloadAssets.length) {
if (_preloadAssets[i] == loader){
_preloadAssets.splice(i, 1);
break;
};
i = (i + 1);
};
try {
response = JSON.decode(loader.response);
} catch(error:Error) {
};
if (!response){
response = {command_id:loader._command, success:false};
};
response.owner = loader.owner;
if (((!(response)) || (!(response.success)))){
if (response.command_id == "connectMovie"){
connected = false;
};
error = new APIError(response.error_code, response.error_msg);
sendError(response, error);
if (response.command_id){
doEvent(response);
};
} else {
doEvent(response);
};
}
private static function onCommandError(_arg1:Event):void{
var _local2:Object = {success:false};
var _local3:SmartURLLoader = SmartURLLoader(_arg1.target);
_local2.owner = _local3.owner;
var _local4:uint;
while (_local4 < _preloadAssets.length) {
if (_preloadAssets[_local4] == _local3){
_preloadAssets.splice(_local4, 1);
break;
};
_local4++;
};
if (_local3._command){
_local2.command_id = _local3._command;
if (_local2.command_id == "connectMovie"){
connected = false;
};
doEvent(_local2);
};
}
private static function sendCommand(_arg1:String, _arg2:Object, _arg3:Boolean=false, _arg4:Object=null, _arg5=null):void{
var _local7:String;
var _local8:String;
var _local9:String;
if (((!(connected)) && (!((_arg1 == "connectMovie"))))){
_local7 = (("NewgroundsAPI." + _arg1) + "() - NewgroundsAPI.connectMovie() must be called before this command can be called\n");
fatalError(_local7, "connectMovie");
};
var _local6:SmartURLLoader = new SmartURLLoader();
_local6.addVariable("command_id", getCommandID(_arg1));
_local6.addVariable("tracker_id", _movieId);
if (debugMode){
_local6.addVariable("debug", 1);
};
if (_arg2){
for (_local8 in _arg2) {
_local6.addVariable(_local8, _arg2[_local8]);
};
};
if (_arg4){
for (_local9 in _arg4) {
_local6.addFile(_local9, _arg4[_local9], _local9);
};
};
if (_arg3){
_local6.method = URLRequestMethod.GET;
} else {
_local6.method = URLRequestMethod.POST;
};
_local6.preventCache = true;
if (_arg3){
_local6.openBrowser = true;
_local6.method = URLRequestMethod.GET;
} else {
_local6.addEventListener(Event.COMPLETE, onCommandComplete);
_local6.addEventListener(IOErrorEvent.IO_ERROR, onCommandError);
_local6.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onCommandError);
_local6.method = URLRequestMethod.POST;
};
if (_arg2.secure){
_local6._command = secureCommand;
} else {
_local6._command = getCommandID(_arg1);
};
_local6.owner = _arg5;
_local6.load(GATEWAY_URL);
}
public static function isFlashVersion(_arg1:uint, _arg2:uint=0, _arg3:uint=0, _arg4:uint=0):Boolean{
var _local6:Array = Capabilities.version.split(" ")[1].split(",");
var _local7:Array = arguments;
var _local8:uint;
while (_local8 < _local7.length) {
_local6[_local8] = uint(_local6[_local8]);
_local8++;
};
_local8 = 0;
while (_local8 < _local7.length) {
if (_local6[_local8] > _local7[_local8]){
return (true);
};
if (_local6[_local8] < _local7[_local8]){
return (false);
};
_local8++;
};
return (true);
}
public static function createAd():FlashAd{
sendMessage("You may see a security sandbox violation. This is normal!");
return (new FlashAd());
}
public static function sendMessage(_arg1:String, _arg2:Boolean=false):void{
var _local3:String = ("[NewgroundsAPI] :: " + _arg1);
trace(_local3);
if (_bridge){
_bridge.sendEvent("trace", {data:_local3});
};
}
private static function echo(_arg1:String):void{
if (do_echo){
trace(_arg1);
};
}
}
}//package com.newgrounds
Section 115
//APIError (com.newgrounds.APIError)
package com.newgrounds {
import flash.utils.*;
public class APIError {
public var code:Number;// = 0
public var message:String;
public var name:String;
public var alias:String;
public static const aliases:Array = new Array("UNKNOWN_ERROR", "INVALID_API_ID", "MISSING_PARAM", "INVALID_STAT_ID", "INVALID_COMMAND_ID", "FLASH_ADS_NOT_APPROVED", "PERMISSION_DENIED", "IDENTIFICATION_REQUIRED", "INVALID_EMAIL_ADDRESS", "BANNED_USER", "SESSION_EXPIRED", "INVALID_SCORE", "INVALID_MEDAL", "INVALID_FOLDER", "FILE_NOT_FOUND", "SITE_ID_REQUIRED", "UPLOAD_IN_PROGRESS", "USER_CANCELLED", "CONFIRM_REQUEST", "CONNECTION_FAILED");
private static const always_caps:Array = new Array("API", "URL", "ID");
public static const error_codes:Object = init_codes();
public static const error_names:Object = init_names();
public function APIError(_arg1, _arg2:String){
if ((_arg1 is String)){
_arg1 = error_codes[_arg1];
} else {
if (!(_arg1 is uint)){
_arg1 = 0;
};
};
this.code = _arg1;
this.message = _arg2;
this.name = error_names[_arg1];
this.alias = aliases[_arg1];
}
public function isError():Boolean{
return (true);
}
public static function init_codes():Dictionary{
var _local1:Dictionary = new Dictionary();
var _local2:uint;
while (_local2 < aliases.length) {
_local1[aliases[_local2]] = _local2;
_local2++;
};
return (_local1);
}
private static function init_names():Array{
var _local3:Array;
var _local4:uint;
var _local5:String;
var _local1:Array = new Array();
var _local2:uint;
while (_local2 < aliases.length) {
_local3 = aliases[_local2].toLowerCase().split("_");
_local4 = 0;
while (_local4 < _local3.length) {
_local3[_local4] = (_local3[_local4].substr(0, 1).toUpperCase() + _local3[_local4].substr(1, _local3[_local4].length));
for each (_local5 in always_caps) {
if (_local3[_local4].toUpperCase() == _local5){
_local3[_local4] = _local3[_local4].toUpperCase();
};
};
_local4++;
};
_local1[_local2] = _local3.join(" ");
_local2++;
};
return (_local1);
}
}
}//package com.newgrounds
Section 116
//APIEvent (com.newgrounds.APIEvent)
package com.newgrounds {
import flash.events.*;
public class APIEvent extends Event {
private var _data;
private var _success:Boolean;
private var _target;
private var _error:APIError;
public static const API_CONNECTED:String = "movieConnected";
public static const ADS_APPROVED:String = "adsApproved";
public static const AD_ATTACHED:String = "adAttached";
public static const HOST_BLOCKED:String = "hostBlocked";
public static const NEW_VERSION_AVAILABLE:String = "newVersionAvailable";
public static const EVENT_LOGGED:String = "eventLogged";
public static const SCORE_POSTED:String = "scorePosted";
public static const SCORES_LOADED:String = "scoresLoaded";
public static const UNLOCK_MEDAL:String = "unlockMedal";
public static const MEDAL_UNLOCKED:String = "medalUnlocked";
public static const MEDALS_LOADED:String = "medalsLoaded";
public static const METADATA_LOADED:String = "metadataLoaded";
public static const FILE_PRIVS_LOADED:String = "filePrivsLoaded";
public static const FILE_SAVED:String = "fileSaved";
public static const FILE_LOADED:String = "fileLoaded";
public static const FILE_INITIALIZED:String = "fileInitialized";
public static const FILE_REQUESTED:String = "fileRequested";
public static const QUERY_COMPLETE:String = "queryComplete";
public static const VOTE_COMPLETE:String = "voteComplete";
public function APIEvent(_arg1:String, _arg2:Boolean=true, _arg3=undefined){
super(_arg1);
this._data = _arg3;
this._success = _arg2;
}
public function get success():Boolean{
return (this._success);
}
public function get data(){
return (this._data);
}
}
}//package com.newgrounds
Section 117
//BaseN (com.newgrounds.BaseN)
package com.newgrounds {
import flash.utils.*;
public class BaseN {
private var _hashIndex:String;
private var _hashVal:Dictionary;
private var _base:Number;
public function BaseN(_arg1:String=null){
if (_arg1){
this._hashIndex = _arg1;
} else {
this._hashIndex = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`~@#$%^&*()+|;/";
};
this._base = this._hashIndex.length;
this._hashVal = new Dictionary();
var _local2:uint;
while (_local2 < this._base) {
this._hashVal[this._hashIndex.charAt(_local2)] = _local2;
_local2++;
};
}
public function encode(_arg1:Number, _arg2:uint=1):String{
var _local3:String = _arg1.toString();
var _local4 = "";
if (_local3.charAt(0) == "-"){
_local4 = "-";
_local3 = _local3.substring(1);
};
var _local5:Array = _local3.split(".", 2);
_local4 = (_local4 + this.baseNEncoder(_local5[0], _arg2));
if (_local5.length > 1){
_local4 = (_local4 + ("." + this.baseNEncoder(_local5[1])));
};
return (_local4);
}
public function decode(_arg1:String):Number{
var _local2 = "";
if (_arg1.charAt(0) == "-"){
_local2 = "-";
_arg1 = _arg1.substring(1);
};
var _local3:Array = _arg1.split(".", 2);
_local2 = (_local2 + this.baseNDecoder(_local3[0]));
if (_local3.length > 1){
_local2 = (_local2 + ".");
_local2 = (_local2 + this.baseNDecoder(_local3[1]));
};
return (Number(_local2));
}
private function baseNEncoder(_arg1:uint, _arg2:uint=1):String{
var _local3 = "";
var _local4:uint = _arg1;
while (_local4 != 0) {
_local3 = (this._hashIndex.charAt((_local4 % this._base)) + _local3);
_local4 = (_local4 / this._base);
};
if (_arg2){
while (_local3.length < _arg2) {
_local3 = (this._hashIndex.charAt(0) + _local3);
};
};
return (_local3);
}
private function baseNDecoder(_arg1:String):uint{
var _local2:uint;
var _local3:uint;
while (_local3 < _arg1.length) {
_local2 = (_local2 * this._base);
_local2 = (_local2 + this._hashVal[_arg1.charAt(_local3)]);
_local3++;
};
return (_local2);
}
}
}//package com.newgrounds
Section 118
//Bridge (com.newgrounds.Bridge)
package com.newgrounds {
import flash.events.*;
import flash.net.*;
public class Bridge {
private var _inConnection:LocalConnection;
private var _outConnection:LocalConnection;
private var _widgetId:String;
public function Bridge(_arg1:String){
this._widgetId = _arg1;
this._inConnection = new LocalConnection();
this._outConnection = new LocalConnection();
this._inConnection.client = this;
this._inConnection.connect(("rec_" + this._widgetId));
this._outConnection.addEventListener(StatusEvent.STATUS, this.onStatus);
}
public function sendCommand(_arg1:String, _arg2:Object):void{
if (this._outConnection){
this._outConnection.send(this._widgetId, "sendCommand", _arg1, this.scrubParameters(_arg2));
};
}
public function sendEvent(_arg1:String, _arg2:Object):void{
if (this._outConnection){
this._outConnection.send(this._widgetId, "sendEvent", _arg1, this.scrubParameters(_arg2));
};
}
public function receiveEvent(_arg1:String, _arg2:Object):void{
API.callListener(_arg1, _arg2.success, _arg2.data);
}
public function scrubParameters(_arg1:Object):Object{
var _local3:String;
var _local2:Object = new Object();
for (_local3 in _arg1) {
if ((((((((((_arg1[_local3] is String)) || ((_arg1[_local3] is Number)))) || ((_arg1[_local3] is uint)))) || ((_arg1[_local3] is int)))) || ((_arg1[_local3] is Boolean)))){
_local2[_local3] = _arg1[_local3];
};
};
return (_local2);
}
private function onStatus(_arg1:Event):void{
}
}
}//package com.newgrounds
Section 119
//Medal (com.newgrounds.Medal)
package com.newgrounds {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.system.*;
public class Medal {
private var _id:uint;
private var _name:String;
private var _value:uint;
private var _difficultyId:uint;
private var _unlocked:Boolean;// = false
private var _iconUrl:URLRequest;
private var _iconLoader:Loader;
private var _icon:BitmapData;
private static const DEFAULT_ICON:BitmapData = new BitmapData(50, 50, false, 0);
private static const DIFFICULT_NAMES:Array = [null, "Easy", "Moderate", "Challenging", "Difficult", "Brutal"];
public function Medal(_arg1:uint, _arg2:String, _arg3:uint, _arg4:uint, _arg5:Boolean, _arg6:String){
var id = _arg1;
var name = _arg2;
var value = _arg3;
var difficulty = _arg4;
var unlocked = _arg5;
var iconUrl = _arg6;
this._icon = DEFAULT_ICON;
super();
this._id = id;
this._name = name;
this._value = value;
this._difficultyId = difficulty;
this._unlocked = unlocked;
if (iconUrl){
this._iconUrl = new URLRequest(iconUrl);
this._iconLoader = new Loader();
this._iconLoader.contentLoaderInfo.addEventListener(Event.INIT, this.onIconLoaderInit);
this._iconLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, this.onIconLoaderError);
this._iconLoader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onIconLoaderError);
this._iconLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onIconLoaderComplete);
try {
this._iconLoader.load(this._iconUrl, new LoaderContext(true));
} catch(e:Error) {
onIconLoaderError(null);
};
};
}
public function get difficulty():String{
return (DIFFICULT_NAMES[this._difficultyId]);
}
public function get difficultyId():uint{
return (this._difficultyId);
}
public function get icon():BitmapData{
return (this._icon);
}
public function get id():uint{
return (this._id);
}
public function get name():String{
return (this._name);
}
public function get unlocked():Boolean{
return (this._unlocked);
}
public function isUnlocked():Boolean{
return (this._unlocked);
}
public function set unlocked(_arg1:Boolean):void{
this._unlocked = _arg1;
}
public function get value():uint{
return (this._value);
}
public function get bytesLoaded():uint{
return ((this._iconLoader) ? this._iconLoader.contentLoaderInfo.bytesLoaded : 0);
}
public function get bytesTotal():uint{
return ((this._iconLoader) ? this._iconLoader.contentLoaderInfo.bytesTotal : 0);
}
public function getID():uint{
return (this._id);
}
public function getName():String{
return (this._name);
}
public function getValue():uint{
return (this._value);
}
public function getDifficulty():String{
return (DIFFICULT_NAMES[this._difficultyId]);
}
private function onIconLoaderInit(_arg1:Event):void{
}
private function onIconLoaderError(_arg1:IOErrorEvent):void{
trace((((("[NewgroundsAPI WARNING] :: Failed to load medal icon for " + this.name) + " (") + this._iconUrl.url.split("/").pop()) + ")"));
this._iconLoader.unload();
this._iconLoader = null;
}
private function onIconLoaderComplete(_arg1:Event):void{
var _local2:Bitmap = (this._iconLoader.content as Bitmap);
this._icon = _local2.bitmapData;
this._iconLoader.unload();
this._iconLoader = null;
}
public function unlock():void{
if (!this._unlocked){
API.unlockMedal(this._name);
};
}
public function createIconBitmap():Bitmap{
return (new Bitmap(this.icon));
}
public function toString():String{
return (this._name);
}
public static function createFromObject(_arg1:Object):Medal{
return (new Medal(_arg1.medal_id, _arg1.medal_name, _arg1.medal_value, _arg1.medal_difficulty, _arg1.medal_unlocked, _arg1.medal_icon));
}
}
}//package com.newgrounds
Section 120
//RC4 (com.newgrounds.RC4)
package com.newgrounds {
public class RC4 {
private static var sbox:Array = new Array(0xFF);
private static var mykey:Array = new Array(0xFF);
public static function encrypt(_arg1:String, _arg2:String):String{
var _local3:Array = strToChars(_arg1);
var _local4:Array = strToChars(_arg2);
var _local5:Array = calculate(_local3, _local4);
return (charsToHex(_local5));
}
public static function encryptbin(_arg1:String, _arg2:String):Array{
var _local3:Array = strToChars(_arg1);
var _local4:Array = strToChars(_arg2);
var _local5:Array = calculate(_local3, _local4);
return (_local5);
}
public static function decrypt(_arg1:String, _arg2:String):String{
var _local3:Array = hexToChars(_arg1);
var _local4:Array = strToChars(_arg2);
var _local5:Array = calculate(_local3, _local4);
return (charsToStr(_local5));
}
private static function initialize(_arg1:Array):void{
var _local3:uint;
var _local2:uint;
var _local4:uint = _arg1.length;
var _local5:uint;
while (_local5 <= 0xFF) {
mykey[_local5] = _arg1[(_local5 % _local4)];
sbox[_local5] = _local5;
_local5++;
};
_local5 = 0;
while (_local5 <= 0xFF) {
_local2 = (((_local2 + sbox[_local5]) + mykey[_local5]) % 0x0100);
_local3 = sbox[_local5];
sbox[_local5] = sbox[_local2];
sbox[_local2] = _local3;
_local5++;
};
}
private static function calculate(_arg1:Array, _arg2:Array):Array{
var _local6:uint;
var _local7:uint;
var _local8:uint;
var _local10:uint;
initialize(_arg2);
var _local3:uint;
var _local4:uint;
var _local5:Array = new Array();
var _local9:uint;
while (_local9 < _arg1.length) {
_local3 = ((_local3 + 1) % 0x0100);
_local4 = ((_local4 + sbox[_local3]) % 0x0100);
_local7 = sbox[_local3];
sbox[_local3] = sbox[_local4];
sbox[_local4] = _local7;
_local10 = ((sbox[_local3] + sbox[_local4]) % 0x0100);
_local6 = sbox[_local10];
_local8 = (_arg1[_local9] ^ _local6);
_local5.push(_local8);
_local9++;
};
return (_local5);
}
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:uint;
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:uint = ((_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:uint;
while (_local3 < _arg1.length) {
_local2 = (_local2 + String.fromCharCode(_arg1[_local3]));
_local3++;
};
return (_local2);
}
private static function strToChars(_arg1:String):Array{
var _local2:Array = new Array();
var _local3:uint;
while (_local3 < _arg1.length) {
_local2.push(_arg1.charCodeAt(_local3));
_local3++;
};
return (_local2);
}
}
}//package com.newgrounds
Section 121
//SaveFile (com.newgrounds.SaveFile)
package com.newgrounds {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
public class SaveFile extends EventDispatcher {
private var _filename:String;
private var _id:uint;
private var _description:String;
private var _contents;
private var _loader:SmartURLLoader;
private var _group:SaveGroup;
private var _keys:Dictionary;
private var _ratings:Dictionary;
private var _fileUrl:String;
private var _thumbnail:BitmapData;
private var _thumbnailUrl:String;
private var _authorId:uint;
private var _authorName:String;
private var _contentSize:uint;
private var _locked:Boolean;
private var _status:uint;
private var duplicate_id:uint;
private var _draft:Boolean;
public static const STATUS_PRIVATE = 1;
public static const STATUS_SHARED = 2;
public static const STATUS_UNAPPROVED = 3;
public static const STATUS_APPROVED = 4;
public function SaveFile(_arg1:SaveGroup){
this._keys = new Dictionary();
this._ratings = new Dictionary();
this._group = _arg1;
this._description = "";
}
public function get name():String{
return (this._filename);
}
public function set name(_arg1:String):void{
this._filename = _arg1;
}
public function get id():uint{
return (this._id);
}
public function set id(_arg1:uint):void{
this._id = _arg1;
}
public function get description():String{
return (this._description);
}
public function set description(_arg1:String):void{
this._description = _arg1;
}
public function get contents(){
return (this._contents);
}
public function set contents(_arg1):void{
this._contents = _arg1;
this._contentSize = 0;
}
public function get thumbnailUrl():String{
return (this._thumbnailUrl);
}
public function set thumbnailUrl(_arg1:String):void{
this._thumbnailUrl = _arg1;
}
public function get fileUrl():String{
return (this._fileUrl);
}
public function set fileUrl(_arg1:String):void{
this._fileUrl = _arg1;
}
public function get thumbnail():BitmapData{
return (this._thumbnail);
}
public function set thumbnail(_arg1:BitmapData):void{
if (this._thumbnail){
this._thumbnail.dispose();
};
this._thumbnail = _arg1.clone();
}
public function loadThumbnail():Loader{
var _local1:Loader = new Loader();
if (this._thumbnailUrl){
_local1.load(new URLRequest(this._thumbnailUrl));
};
return (_local1);
}
public function get bytesLoaded():uint{
return ((this._loader) ? this._loader.bytesLoaded : this._contentSize);
}
public function get bytesTotal():uint{
return (this._contentSize);
}
public function get status():uint{
return (this._status);
}
function setStatus(_arg1:uint):void{
this._status = _arg1;
}
public function get groupId():uint{
return (this._group.id);
}
public function get groupName():String{
return (this._group.name);
}
public function get groupType():uint{
return (this._group.type);
}
public function get authorName():String{
return (this._authorName);
}
public function set authorName(_arg1:String):void{
this._authorName = _arg1;
}
public function get authorId():uint{
return (this._authorId);
}
public function set authorId(_arg1:uint):void{
this._authorId = _arg1;
}
public function get draft():Boolean{
return (this._draft);
}
public function set draft(_arg1:Boolean):void{
this._draft = _arg1;
}
public function get locked():Boolean{
return (this._locked);
}
public function get shared():Boolean{
return ((this._status == STATUS_SHARED));
}
public function get isPrivate():Boolean{
return ((this._status == STATUS_PRIVATE));
}
public function get isPublic():Boolean{
if (this.isPrivate){
return (false);
};
if (((this._group.isType("SYSTEM")) || (this._group.isType("PRIVATE")))){
return (false);
};
if (this._group.isType("PUBLIC")){
return (true);
};
if (this.approved){
return (true);
};
return (false);
}
public function get approved():Boolean{
return ((this._status > STATUS_UNAPPROVED));
}
public function get keys():Dictionary{
return (this._keys);
}
public function get ratings():Dictionary{
return (this._ratings);
}
function setPermissions(_arg1:uint, _arg2:Boolean){
_arg2 = this._locked;
this._status = _arg1;
}
function setFileSize(_arg1:uint):void{
this._contentSize = _arg1;
}
public function isLocked():Boolean{
return (this._locked);
}
public function getDescription():String{
return (this._description);
}
public function getShared():Boolean{
return (this._draft);
}
public function getDuplicateID():uint{
return (this.duplicate_id);
}
public function getKeys():Dictionary{
return (this._keys);
}
public function getRatings():Dictionary{
return (this._ratings);
}
public function setKey(_arg1, _arg2):void{
var _local3:SaveKey;
if ((_arg1 is String)){
_local3 = this._group.getKeyName(_arg1);
} else {
_local3 = this._group.getKeyID(_arg1);
};
if (_local3){
switch (_local3.type){
case SaveKey.TYPE_BOOLEAN:
this._keys[_local3] = {id:_local3.id, value:Boolean(int(_arg2))};
break;
case SaveKey.TYPE_FLOAT:
this._keys[_local3] = {id:_local3.id, value:Number(_arg2)};
break;
case SaveKey.TYPE_INTEGER:
this._keys[_local3] = {id:_local3.id, value:int(_arg2)};
break;
case SaveKey.TYPE_STRING:
default:
this._keys[_local3] = {id:_local3.id, value:_arg2.toString()};
break;
};
};
}
public function getKey(_arg1){
var _local2:SaveKey;
if ((_arg1 is String)){
_local2 = this._group.getKeyName(_arg1);
} else {
_local2 = this._group.getKeyID(_arg1);
};
if (_local2){
return (this._keys[_local2]);
};
return (null);
}
public function setRating(_arg1, _arg2:Number, _arg3:Number):void{
var _local4:SaveRating;
if ((_arg1 is String)){
_local4 = this._group.getRatingName(_arg1);
} else {
_local4 = this._group.getRatingID(_arg1);
};
if (_local4){
this._ratings[_local4] = {id:_local4.id, name:_local4.name, votes:_arg2, score:_arg3};
};
}
public function getRating(_arg1):Object{
var _local2:SaveRating;
if ((_arg1 is String)){
_local2 = this._group.getRatingName(_arg1);
} else {
_local2 = this._group.getRatingID(_arg1);
};
if (_local2){
return (this._ratings[_local2]);
};
return (null);
}
public function sendRating(_arg1:String, _arg2:Number):void{
var _local3:SaveRating = this._group.getRatingName(_arg1);
if (!_local3){
trace((("[NewgroundsAPISaveFile] " + _arg1) + " is not a recognized save file"));
return;
};
if ((((_arg2 < _local3.minValue)) || ((_arg2 > _local3.maxValue)))){
trace(((("[NewgroundsAPISaveFile] Vote must be between " + _local3.minValue) + " and ") + _local3.maxValue));
return;
};
_local3.voted = true;
API.rateSaveFile(this, _local3, _arg2);
}
override public function toString():String{
var _local2:Object;
var _local3:Object;
var _local1 = (((((("Save File " + this._filename) + " ID: ") + this._id) + "\n ") + this._description) + "\n");
for each (_local2 in this._keys) {
_local1 = (_local1 + ((((" " + this._group.getKeyID(_local2.id).name) + ": ") + _local2.val) + "\n"));
};
for each (_local3 in this._ratings) {
_local1 = (_local1 + ((((((" " + this._group.getRatingID(_local3.id).name) + "\n Score: ") + _local3.score) + " Votes: ") + _local3.votes) + "\n"));
};
return (_local1);
}
public function toObject():Object{
var _local2:Object;
var _local1:Object = {group:this.groupId, filename:this.name, description:this.description, shared:true};
_local1.keys = [];
for each (_local2 in this._keys) {
_local1.keys.push({id:_local2.id, value:_local2.val});
};
return (_local1);
}
public function save(_arg1:Boolean=false, _arg2:Boolean=false):void{
API.saveFile(this, _arg1, _arg2);
}
public function loadContents():void{
if (this._fileUrl){
this._loader = new SmartURLLoader();
this._loader.responseFormat = URLLoaderDataFormat.BINARY;
this._loader.addEventListener(Event.COMPLETE, this.onContentsLoaded);
this._loader.addEventListener(IOErrorEvent.IO_ERROR, this.onContentsError);
this._loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onContentsError);
this._loader.load(this._fileUrl);
};
}
private function onContentsError(_arg1:Event):void{
this._loader = null;
dispatchEvent(new APIEvent(APIEvent.FILE_LOADED, false));
API.callListener(APIEvent.FILE_LOADED, false);
}
private function onContentsLoaded(_arg1:Event):void{
var _local2:ByteArray = _arg1.target.response;
this._contentSize = _local2.length;
_local2.uncompress();
var _local3:uint = _local2.readUnsignedByte();
if (_local3 == 0){
this._contents = new ByteArray();
this._contents.writeBytes(_local2, 1);
} else {
this._contents = _local2.readObject();
};
this._loader = null;
dispatchEvent(new APIEvent(APIEvent.FILE_LOADED, true, {file:this}));
API.callListener(APIEvent.FILE_LOADED, true, {file:this});
}
public function loadAuthorPage(){
API.loadUserPage(this._authorId, this._authorName);
}
function fileSaved(_arg1:Object):void{
this._id = _arg1.save_id;
this._thumbnailUrl = _arg1.thumbnail;
this._fileUrl = _arg1.file_url;
}
}
}//package com.newgrounds
Section 122
//SaveGroup (com.newgrounds.SaveGroup)
package com.newgrounds {
public class SaveGroup {
private var _name:String;
private var _id:uint;
private var _type:uint;
private var _keys:Array;
private var _ratings:Array;
private var _files:Array;
private var _query:SaveGroupQuery;
public static const TYPE_SYSTEM:uint = 0;
public static const TYPE_PRIVATE:uint = 1;
public static const TYPE_PUBLIC:uint = 2;
public static const TYPE_MODERATED:uint = 3;
public static const KEY_TYPES:Array = [null, "float", "integer", "string", "boolean"];
public static const TYPES:Object = {SYSTEM:0, PRIVATE:1, PUBLIC:2, MODERATED:3};
public function SaveGroup(_arg1:uint, _arg2:String, _arg3:uint){
this._name = _arg2;
this._id = _arg1;
this._type = _arg3;
this._ratings = [];
this._keys = [];
this._files = [];
this._query = new SaveGroupQuery(this);
}
public function get name():String{
return (this._name);
}
public function get id():uint{
return (this._id);
}
public function get type():uint{
return (this._type);
}
public function get keys():Array{
return (this._keys);
}
public function get ratings():Array{
return (this._ratings);
}
public function get group_id():uint{
return (this._id);
}
public function get group_name():String{
return (this._name);
}
public function addRating(_arg1:SaveRating):void{
this._ratings.push(_arg1);
}
function getRating(_arg1):SaveRating{
var _local2:uint;
while (_local2 < this._ratings.length) {
if ((((((((_arg1 is uint)) || ((_arg1 is int)))) || ((_arg1 is Number)))) && ((this._ratings[_local2].rating_id == _arg1)))){
return (this._ratings[_local2]);
};
if (this._ratings[_local2].name == _arg1){
return (this._ratings[_local2]);
};
_local2++;
};
return (null);
}
public function getRatingID(_arg1:uint):SaveRating{
var _local2:uint;
while (_local2 < this._ratings.length) {
if (this._ratings[_local2].id == _arg1){
return (this._ratings[_local2]);
};
_local2++;
};
return (null);
}
public function getRatingName(_arg1:String):SaveRating{
var _local2:uint;
while (_local2 < this._ratings.length) {
if (this._ratings[_local2].name == _arg1){
return (this._ratings[_local2]);
};
_local2++;
};
return (null);
}
public function addKey(_arg1:SaveKey):void{
this._keys.push(_arg1);
}
public function getKey(_arg1):SaveKey{
var _local2:uint;
while (_local2 < this._keys.length) {
if ((((((((_arg1 is Number)) || ((_arg1 is uint)))) || ((_arg1 is int)))) && ((this._keys[_local2].key_id == _arg1)))){
return (this._keys[_local2]);
};
if (this._keys[_local2].key_name == _arg1){
return (this._keys[_local2]);
};
_local2++;
};
return (null);
}
public function getKeyID(_arg1:uint):SaveKey{
var _local2:uint;
while (_local2 < this._keys.length) {
if (this._keys[_local2].id == _arg1){
return (this._keys[_local2]);
};
_local2++;
};
return (null);
}
public function getKeyType(_arg1:String, _arg2:Boolean=false){
var _local3:SaveKey = this.getKey(_arg1);
if (_local3){
return ((_arg2) ? KEY_TYPES[_local3.key_type] : _local3.key_type);
};
return (null);
}
public function getKeyName(_arg1:String):SaveKey{
var _local2:uint;
while (_local2 < this._keys.length) {
if (this._keys[_local2].name == _arg1){
return (this._keys[_local2]);
};
_local2++;
};
return (null);
}
public function isType(_arg1:String):Boolean{
return ((TYPES[this._type] == _arg1));
}
public function getID():uint{
return (this._id);
}
public function getName():String{
return (this._name);
}
public function getQuery(_arg1:Boolean=false){
return ((_arg1) ? this._query.toObject() : this._query);
}
public function newQuery():SaveGroupQuery{
return (new SaveGroupQuery(this));
}
public function newFile():SaveFile{
return (new SaveFile(this));
}
public function toString():String{
return ((((((("SaveGroup { name: " + this._name) + ", id: ") + this._id) + ", keys: ") + this._keys) + "}"));
}
public static function createFromObject(_arg1:Object):SaveGroup{
var _local4:Object;
var _local5:Object;
var _local2:SaveGroup = new SaveGroup(_arg1.group_id, _arg1.group_name, _arg1.group_type);
var _local3:uint;
while (_local3 < _arg1.keys.length) {
_local4 = _arg1.keys[_local3];
_local2.addKey(new SaveKey(_local4.id, _local4.name, _local4.type));
_local3++;
};
_local3 = 0;
while (_local3 < _arg1.ratings.length) {
_local5 = _arg1.ratings[_local3];
_local2.addRating(new SaveRating(_local5.id, _local5.name, _local5.float, _local5.min, _local5.max));
_local3++;
};
return (_local2);
}
}
}//package com.newgrounds
Section 123
//SaveGroupQuery (com.newgrounds.SaveGroupQuery)
package com.newgrounds {
import flash.events.*;
public class SaveGroupQuery extends EventDispatcher {
private var _group:SaveGroup;
private var _groupBy:Array;
private var _lookupKeys:Array;
private var _lookupRatings:Array;
private var _fileConditions:Array;
private var _keyConditions:Array;
private var _ratingConditions:Array;
private var _sortConditions:Array;
private var _page:uint;
private var _resultsPerPage:uint;
private var _randomizeResults:Boolean;
private var _results:Array;
public static const TABLE_FILES:uint = 1;
public static const TABLE_KEYS:uint = 2;
public static const TABLE_RATINGS:uint = 3;
public static const FILE_ID:uint = 0;
public static const AUTHOR_ID:uint = 1;
public static const AUTHOR_NAME:uint = 2;
public static const FILE_NAME:uint = 3;
public static const CREATED_ON:uint = 4;
public static const UPDATED_ON:uint = 5;
public static const TOTAL_VIEWS:uint = 6;
public static const FILE_STATUS:uint = 7;
public static const SCORE:String = "score";
public static const TOTAL_VOTES:String = "votes";
public function SaveGroupQuery(_arg1:SaveGroup){
this._results = [];
super();
this._group = _arg1;
this.reset();
}
public function clearCache():void{
this._results = [];
}
public function get group():SaveGroup{
return (this._group);
}
public function get groupId():uint{
return (this._group.id);
}
public function get resultsPerPage():uint{
return (this._resultsPerPage);
}
public function set resultsPerPage(_arg1:uint):void{
this._resultsPerPage = _arg1;
}
public function get page():uint{
return (this._page);
}
public function set page(_arg1:uint):void{
this._page = _arg1;
}
public function get randomized():Boolean{
return (this._randomizeResults);
}
public function set randomized(_arg1:Boolean):void{
this._randomizeResults = _arg1;
}
public function get results():Array{
return (this._results);
}
public function reset():void{
this._fileConditions = [];
this._keyConditions = [];
this._ratingConditions = [];
this._sortConditions = [];
this._groupBy = [];
this._lookupKeys = [];
this._lookupRatings = [];
this._randomizeResults = false;
this._resultsPerPage = 20;
this._page = 1;
this.clearCache();
}
function getGroup():SaveGroup{
return (this._group);
}
function getGroupID():uint{
return (this._group.getID());
}
public function includeKey(_arg1:String):void{
var _local2:SaveKey = this._group.getKeyName(_arg1);
if (_local2){
this._lookupKeys.push(_local2.id);
};
}
public function isRandomized():Boolean{
return (this._randomizeResults);
}
public function includeRating(_arg1:String):void{
var _local2:SaveRating = this._group.getRatingName(_arg1);
if (_local2){
this._lookupRatings.push(_local2.id);
};
}
public function excludeKey(_arg1:String):void{
var _local2:SaveKey = this._group.getKeyName(_arg1);
var _local3:uint;
while (_local3 < this._lookupKeys.length) {
if (this._lookupKeys[_local3] == _local2.id){
this._lookupKeys.splice(_local3, 1);
return;
};
_local3++;
};
}
public function excludeRating(_arg1:String):void{
var _local2:SaveRating = this._group.getRatingName(_arg1);
var _local3:uint;
while (_local3 < this._lookupRatings.length) {
if (this._lookupRatings[_local3] == _local2.id){
this._lookupRatings.splice(_local3, 1);
return;
};
_local3++;
};
}
public function groupBy(_arg1:uint):void{
this._groupBy.push({table:TABLE_FILES, field:_arg1});
}
public function groupByRating(_arg1:String):void{
var _local2:SaveRating = this._group.getRatingName(_arg1);
if (!_local2){
return;
};
this._groupBy.push({table:TABLE_RATINGS, field:_local2.id});
}
public function groupByKey(_arg1:String):void{
var _local2:SaveKey = this._group.getKeyName(_arg1);
if (!_local2){
return;
};
this._groupBy.push({table:TABLE_KEYS, field:_local2.id});
}
public function addFileCondition(_arg1:uint, _arg2:String, _arg3):void{
this._fileConditions.push({field:_arg1, operator:_arg2, value:_arg3});
}
public function addKeyCondition(_arg1:String, _arg2:String, _arg3):void{
var _local4:SaveKey = this._group.getKeyName(_arg1);
if (!_local4){
return;
};
if (!this.checkValue(_arg3, _local4.type)){
return;
};
this._keyConditions.push({key_id:_local4.id, operator:_arg2, value:_arg3});
}
public function addRatingCondition(_arg1:String, _arg2:String, _arg3, _arg4:String="score"):void{
var _local5:SaveRating = this._group.getRatingName(_arg1);
if (!_local5){
return;
};
this._ratingConditions.push({rating_id:_local5.id, operator:_arg2, value:_arg3, column:_arg4});
}
private function addSortCondition(_arg1:uint, _arg2:uint, _arg3:Boolean=false, _arg4=null):void{
var _local5:Object = {table:_arg1, field:_arg2, desc:_arg3};
if (_arg4){
_local5.extra = _arg4;
};
this._sortConditions.push(_local5);
}
public function sortOn(_arg1:uint, _arg2:Boolean=false):void{
this.addSortCondition(TABLE_FILES, _arg1, _arg2);
}
public function sortOnKey(_arg1:String, _arg2:Boolean=false):void{
this.addSortCondition(TABLE_KEYS, this._group.getKeyName(_arg1).id, _arg2);
}
public function sortOnRating(_arg1:String, _arg2:Boolean=false, _arg3:String="score"):void{
this.addSortCondition(TABLE_RATINGS, this._group.getRatingName(_arg1).id, _arg2, _arg3);
}
public function sortOnRatingScore(_arg1:String, _arg2:Boolean){
this.sortOnRating(_arg1, _arg2, SCORE);
}
public function sortOnRatingVotes(_arg1:String, _arg2:Boolean){
this.sortOnRating(_arg1, _arg2, TOTAL_VOTES);
}
public function setResultsPerPage(_arg1:uint){
this._resultsPerPage = _arg1;
this.clearCache();
}
public function setPage(_arg1:Number){
this._page = _arg1;
this.clearCache();
}
public function setRandomize(_arg1:Boolean):void{
this._randomizeResults = _arg1;
}
public function execute():void{
API.executeSaveQuery(this);
}
private function checkValue(_arg1, _arg2:uint):Boolean{
return (true);
}
function setResults(_arg1:Array):void{
this._results = _arg1;
}
override public function toString():String{
return ("");
}
public function toObject():Object{
var _local1:Object = {page:this._page, num_results:this._resultsPerPage};
if (this.isRandomized()){
_local1.randomize = 1;
};
if (((this._fileConditions) && ((this._fileConditions.length > 0)))){
_local1.file_conditions = this._fileConditions;
};
if (((this._keyConditions) && ((this._keyConditions.length > 0)))){
_local1.key_conditions = this._keyConditions;
};
if (((this._ratingConditions) && ((this._ratingConditions.length > 0)))){
_local1.rating_conditions = this._ratingConditions;
};
if (((this._sortConditions) && ((this._sortConditions.length > 0)))){
_local1.sort_conditions = this._sortConditions;
};
if (((this._lookupKeys) && ((this._lookupKeys.length > 0)))){
_local1.lookup_keys = this._lookupKeys;
};
if (((this._lookupRatings) && ((this._lookupRatings.length > 0)))){
_local1.lookup_ratings = this._lookupRatings;
};
if (((this._groupBy) && ((this._groupBy.length > 0)))){
_local1.group_by = this._groupBy;
};
return (_local1);
}
}
}//package com.newgrounds
Section 124
//SaveKey (com.newgrounds.SaveKey)
package com.newgrounds {
public class SaveKey {
private var _id:uint;
private var _name:String;
private var _type:uint;
public static const TYPE_FLOAT:uint = 1;
public static const TYPE_INTEGER:uint = 2;
public static const TYPE_STRING:uint = 3;
public static const TYPE_BOOLEAN:uint = 4;
public function SaveKey(_arg1:uint, _arg2:String, _arg3:uint){
this._id = _arg1;
this._name = _arg2;
this._type = _arg3;
}
public function get id():uint{
return (this._id);
}
public function get name():String{
return (this._name);
}
public function get type():uint{
return (this._type);
}
public function get key_id():uint{
return (this._id);
}
public function get key_name():String{
return (this._name);
}
public function get key_type():uint{
return (this._type);
}
public function isValueValid(_arg1):Boolean{
if (this._type == TYPE_INTEGER){
return ((((_arg1 is int)) || ((_arg1 is uint))));
};
if (this._type == TYPE_FLOAT){
return ((((((_arg1 is int)) || ((_arg1 is uint)))) || ((_arg1 is Number))));
};
if (this._type == TYPE_STRING){
return ((_arg1 is String));
};
if (this._type == TYPE_BOOLEAN){
return ((((((((_arg1 is Boolean)) || ((_arg1 === 0)))) || ((_arg1 === 1)))) || ((_arg1 == ""))));
};
return (false);
}
public function toString():String{
return (this._name);
}
}
}//package com.newgrounds
Section 125
//SaveRating (com.newgrounds.SaveRating)
package com.newgrounds {
public class SaveRating {
private var _id:uint;
private var _name:String;
private var _minValue:Number;
private var _maxValue:Number;
private var _isFloat:Boolean;
private var _voted:Boolean;
public function SaveRating(_arg1:uint, _arg2:String, _arg3:Boolean, _arg4:Number=-INF, _arg5:Number=INF){
this._id = _arg1;
this._name = _arg2;
this._isFloat = _arg3;
this._minValue = _arg4;
this._maxValue = _arg5;
}
public function get rating_id():uint{
return (this._id);
}
public function get rating_name():String{
return (this._name);
}
public function get id():uint{
return (this._id);
}
public function get name():String{
return (this._name);
}
public function get minValue():Number{
return (this._minValue);
}
public function get maxValue():Number{
return (this._maxValue);
}
public function get isFloat():Boolean{
return (this._isFloat);
}
public function get voted():Boolean{
return (this._voted);
}
public function set voted(_arg1:Boolean):void{
this._voted = _arg1;
}
public function toString():String{
return (this._name);
}
}
}//package com.newgrounds
Section 126
//Score (com.newgrounds.Score)
package com.newgrounds {
public class Score {
private var _board:ScoreBoard;
private var _position:uint;
private var _username:String;
private var _value:String;
private var _numeric_value:uint;
private var _tag:String;
public function Score(_arg1:ScoreBoard, _arg2:Number, _arg3:String, _arg4:String, _arg5:uint, _arg6:String){
this._board = _arg1;
this._position = _arg2;
this._username = _arg3;
this._value = _arg4;
this._numeric_value = _arg5;
this._tag = _arg6;
}
public function get board():ScoreBoard{
return (this._board);
}
public function get position():uint{
return (this._position);
}
public function get username():String{
return (this._username);
}
public function get value():String{
return (this._value);
}
public function get numeric_value():uint{
return (this._numeric_value);
}
public function get tag():String{
return (this._tag);
}
}
}//package com.newgrounds
Section 127
//ScoreBoard (com.newgrounds.ScoreBoard)
package com.newgrounds {
import flash.events.*;
public class ScoreBoard extends EventDispatcher {
private var _name:String;
private var _id:uint;
private var _scores:Array;
private var _period:String;// = "Today"
private var _num_results:uint;// = 10
private var _numScores:uint;
private var _desiredNumResults:uint;
private var _startRank:uint;
private var _endRank:uint;
private var _page:uint;// = 1
private var _tag:String;
public function ScoreBoard(_arg1:uint, _arg2:String, _arg3:String){
this._name = _arg2;
this._id = _arg1;
this._scores = [];
this._tag = _arg3;
}
public function exists():Boolean{
return ((this._id > 0));
}
public function get id():Number{
return (this._id);
}
public function get name():String{
return (this._name);
}
public function get period():String{
return (this._period);
}
public function get page():uint{
return (this._page);
}
public function get num_results():uint{
return (this._num_results);
}
public function get scores():Array{
return (this._scores);
}
public function get tag():String{
return (this._tag);
}
public function get num_scores():uint{
return (this._numScores);
}
public function postScore(_arg1:uint, _arg2:String=null):void{
if (_arg2){
this._tag = _arg2;
};
API.postScore(this._name, _arg1);
}
public function loadScores(_arg1:String="Today", _arg2:uint=1, _arg3:uint=10):void{
this._period = _arg1;
if (((!(this._period)) || ((this._period == "")))){
this._period = ScoreBoardPeriod.TODAY;
};
this._page = _arg2;
this._num_results = _arg3;
this._desiredNumResults = 0;
API.loadScores(this.name);
}
public function loadScoresInRange(_arg1:String="Today", _arg2:uint=1, _arg3:uint=10):void{
if (_arg2 == 0){
_arg2 = 1;
};
if (_arg3 < _arg2){
_arg3 = _arg2;
};
this._period = _arg1;
if (((!(this._period)) || ((this._period == "")))){
this._period = ScoreBoardPeriod.TODAY;
};
this._desiredNumResults = ((_arg3 - _arg2) + 1);
this._num_results = this._desiredNumResults;
while (int(((_arg2 - 1) / this._num_results)) != int(((_arg3 - 1) / this._num_results))) {
this._num_results++;
};
this._page = ((_arg2 - 1) / this._num_results);
this._startRank = _arg2;
this._endRank = _arg3;
this._page++;
API.loadScores(this.name);
}
function setScores(_arg1:Array, _arg2:String, _arg3:Number, _arg4:Number, _arg5:uint):void{
var _local7:uint;
this._period = _arg2;
this._page = _arg3;
this._num_results = _arg4;
this._numScores = _arg5;
this._scores = [];
var _local6:uint;
while (_local6 < _arg1.length) {
_local7 = (((this._num_results * (this._page - 1)) + 1) + _local6);
if (((!(this._desiredNumResults)) || ((((_local7 >= this._startRank)) && ((_local7 <= this._endRank)))))){
this._scores.push(new Score(this, _local7, _arg1[_local6].username, _arg1[_local6].value, _arg1[_local6].numeric_value, _arg1[_local6].tag));
};
_local6++;
};
this._num_results = this._scores.length;
}
}
}//package com.newgrounds
Section 128
//ScoreBoardPeriod (com.newgrounds.ScoreBoardPeriod)
package com.newgrounds {
public class ScoreBoardPeriod {
public static const TODAY:String = "Today";
public static const WEEK:String = "This Week";
public static const MONTH:String = "This Month";
public static const YEAR:String = "This Year";
public static const ALL_TIME:String = "All-Time";
}
}//package com.newgrounds
Section 129
//SmartURLLoader (com.newgrounds.SmartURLLoader)
package com.newgrounds {
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.errors.*;
public class SmartURLLoader extends EventDispatcher {
private var _variables:Dictionary;
private var _files:Dictionary;
private var _hasVariables:Boolean;
private var _method:String;// = "GET"
private var _urlRequest:URLRequest;
private var _urlLoader:URLLoader;
private var _dataFormat:String;// = "text"
private var _openBrowser:Boolean;// = false
private var _preventCache:Boolean;// = false
var _command:String;
public var owner;
private static const CRLF:String = "
";
private static var _loaders:Dictionary = new Dictionary();
public function SmartURLLoader(){
this._urlRequest = new URLRequest();
this._variables = new Dictionary();
}
public function get responseFormat():String{
return (this._dataFormat);
}
public function set responseFormat(_arg1:String):void{
this._dataFormat = _arg1;
}
public function get response(){
return (this._urlLoader.data);
}
public function get hasFiles():Boolean{
return (Boolean(this._files));
}
public function get method():String{
return (this._method);
}
public function set method(_arg1:String):void{
if (((this.hasFiles) && ((_arg1 == URLRequestMethod.GET)))){
throw (new IllegalOperationError("GET cannot be used to upload files."));
};
this._method = _arg1;
}
public function get openBrowser():Boolean{
return (this._openBrowser);
}
public function set openBrowser(_arg1:Boolean):void{
this._openBrowser = _arg1;
}
public function get preventCache():Boolean{
return (this._preventCache);
}
public function set preventCache(_arg1:Boolean):void{
this._preventCache = _arg1;
}
public function get bytesLoaded():uint{
return ((this._urlLoader) ? this._urlLoader.bytesLoaded : 0);
}
public function get bytesTotal():uint{
return ((this._urlLoader) ? this._urlLoader.bytesTotal : 0);
}
public function addVariable(_arg1:String, _arg2=""):void{
this._variables[_arg1] = _arg2;
if (_arg2){
this._hasVariables = true;
};
}
public function addFile(_arg1:String, _arg2:ByteArray, _arg3:String, _arg4:String="application/octet-stream"):void{
this.method = URLRequestMethod.POST;
if (!this._files){
this._files = new Dictionary();
};
this._files[_arg1] = new File(_arg1, _arg2, _arg3, _arg4);
}
public function clearVariables():void{
this._variables = new Dictionary();
}
public function clearFiles():void{
this._files = null;
}
public function load(_arg1:String):void{
var urlVariables:URLVariables;
var key:String;
var boundary:String;
var i:uint;
var event:SecurityErrorEvent;
var url = _arg1;
this._urlRequest.url = url;
if (this._preventCache){
url = (url + ("?seed=" + Math.random()));
if (this._hasVariables){
url = (url + "&");
};
};
this._urlRequest.method = this._method;
if ((((this._urlRequest.method == URLRequestMethod.GET)) || (!(this.hasFiles)))){
this._urlRequest.contentType = "application/x-www-form-urlencoded";
if (this._hasVariables){
urlVariables = new URLVariables();
for (key in this._variables) {
urlVariables[key] = this._variables[key];
};
this._urlRequest.data = urlVariables;
};
} else {
boundary = "";
i = 0;
while (i < 32) {
boundary = (boundary + String.fromCharCode(uint((97 + (Math.random() * 25)))));
i = (i + 1);
};
this._urlRequest.contentType = (("multipart/form-data; boundary=\"" + boundary) + "\"");
this._urlRequest.data = this.buildMultipartData(boundary);
};
if (this.openBrowser){
navigateToURL(this._urlRequest, "_blank");
} else {
this._urlLoader = new URLLoader();
this._urlLoader.dataFormat = this._dataFormat;
this._urlLoader.addEventListener(Event.COMPLETE, this.onComplete);
this._urlLoader.addEventListener(ProgressEvent.PROGRESS, this.onProgress);
this._urlLoader.addEventListener(IOErrorEvent.IO_ERROR, this.onIOError);
this._urlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, this.onHTTPStatus);
this._urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onSecurityError);
_loaders[this._urlLoader] = this;
try {
this._urlLoader.load(this._urlRequest);
} catch(error:Error) {
event = new SecurityErrorEvent(SecurityErrorEvent.SECURITY_ERROR, false, false, error.message);
onSecurityError(event);
};
};
}
public function close():void{
try {
this._urlLoader.close();
} catch(e:Error) {
};
}
public function dispose():void{
this.close();
this._files = null;
this._variables = null;
if (this._urlLoader){
this._urlLoader.removeEventListener(Event.COMPLETE, this.onComplete);
this._urlLoader.removeEventListener(ProgressEvent.PROGRESS, this.onProgress);
this._urlLoader.removeEventListener(IOErrorEvent.IO_ERROR, this.onIOError);
this._urlLoader.removeEventListener(HTTPStatusEvent.HTTP_STATUS, this.onHTTPStatus);
this._urlLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onSecurityError);
this._urlLoader = null;
};
this._urlRequest = null;
delete _loaders[this];
}
private function buildMultipartData(_arg1:String):ByteArray{
var _local3:String;
var _local4:File;
var _local2:ByteArray = new ByteArray();
_local2.endian = Endian.BIG_ENDIAN;
_arg1 = ("--" + _arg1);
for (_local3 in this._variables) {
_local2.writeUTFBytes((_arg1 + CRLF));
_local2.writeUTFBytes(((("Content-Disposition: form-data; name=\"" + _local3) + "\"") + CRLF));
_local2.writeUTFBytes(CRLF);
_local2.writeUTFBytes((this._variables[_local3] + CRLF));
};
if (this.hasFiles){
for each (_local4 in this._files) {
_local2.writeUTFBytes((_arg1 + CRLF));
_local2.writeUTFBytes(("Content-Disposition: form-data; name=\"Filename\"" + CRLF));
_local2.writeUTFBytes(CRLF);
_local2.writeUTFBytes((_local4.fileName + CRLF));
_local2.writeUTFBytes((_arg1 + CRLF));
_local2.writeUTFBytes(((((("Content-Disposition: form-data; name=\"" + _local4.dataField) + "\"; filename=\"") + _local4.fileName) + "\"") + CRLF));
_local2.writeUTFBytes((("Content-Type: " + _local4.contentType) + CRLF));
_local2.writeUTFBytes(CRLF);
_local2.writeBytes(_local4.data);
_local2.writeUTFBytes(CRLF);
};
_local2.writeUTFBytes((_arg1 + CRLF));
_local2.writeUTFBytes(("Content-Disposition: form-data; name=\"Upload\"" + CRLF));
_local2.writeUTFBytes(CRLF);
_local2.writeUTFBytes(("Submit Query" + CRLF));
};
_local2.writeUTFBytes((_arg1 + "--"));
_local2.position = 0;
_local2.position = 0;
return (_local2);
}
private function onComplete(_arg1:Event):void{
dispatchEvent(_arg1);
this.dispose();
}
private function onProgress(_arg1:ProgressEvent):void{
dispatchEvent(_arg1);
}
private function onIOError(_arg1:IOErrorEvent):void{
dispatchEvent(_arg1);
this.dispose();
}
private function onSecurityError(_arg1:SecurityErrorEvent):void{
dispatchEvent(_arg1);
this.dispose();
}
private function onHTTPStatus(_arg1:HTTPStatusEvent):void{
dispatchEvent(_arg1);
}
public static function closeAll():void{
var _local1:SmartURLLoader;
for each (_local1 in _loaders) {
if (_local1){
_local1.dispose();
};
};
_loaders = new Dictionary();
}
}
}//package com.newgrounds
import flash.utils.*;
class File {
private var fileName:String;
private var data:ByteArray;
private var dataField:String;
private var contentType:String;
private function File(_arg1:String, _arg2:ByteArray, _arg3:String="Filedata", _arg4:String="application/octet-stream"){
this.fileName = _arg1;
this.data = _arg2;
this.dataField = _arg3;
this.contentType = _arg4;
}
}
Section 130
//MouseWheel (ru.etcs.ui.MouseWheel)
package ru.etcs.ui {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.errors.*;
public final class MouseWheel {
private static const _bytes:ByteArray = new ByteArray();
private static const _dataPart0:Array = new Array(1180128009, 671154176, 2013267295, 4000, 7937, 0x441100, 67, 50331647, 1057226240, 34908, 589932, 1660963951, 1667329091, 1869508197, 1668573551, 1845521507);
private static const _dataPart1:Array = new Array(6516590, 1852138356, 6513008, 1953854053, 5074805, 1935999073, 1684294761, 1937007982, 1701970034, 1701670774, 1699506547, 1952804453, 1912631150, 1299150195, 1700227173, 1701576854, 218105856, 100663296, 0, 524608, 496371968, 134350593, 8, 1873410, 525138, 395706880, 134225046, 33556484, 2383347712, 16778025, 161377, 1819632896, 939562498, 262674, 2634154009, 0x960900, 67176193, 8, 85759490, 525906, 395903488, 335582729, 262407, 16777216, 134552726, 33556487, 1377259414, 33556488, 2600796160, 0, 496371968, 83953409, 8, 1873410, 525394, 385892352);
private static const _connection:LocalConnection = new LocalConnection();
private static var _complete:Boolean = false;
private static var _loader:Loader;
private static var _captured:Boolean = false;
private static var _connectionID:uint;
public function MouseWheel(){
throw (new IllegalOperationError("do not instantiate MouseWheel"));
}
public static function capture():void{
var _local1:uint;
var _local2:ByteArray;
var _local3:Array;
var _local4:uint;
var _local5:uint;
if (MouseWheel._captured){
return;
};
if (!MouseWheel._bytes.length){
_local1 = Math.round((Math.random() * 100000));
while (_local1 < 10000) {
_local1 = Math.round((Math.random() * 100000));
};
MouseWheel._connectionID = _local1;
_local2 = MouseWheel._bytes;
_local3 = MouseWheel._dataPart0;
_local4 = _local3.length;
_local5 = 0;
while (_local5 < _local4) {
_local2.writeUnsignedInt(_local3[_local5]);
_local5++;
};
_local2.writeUTFBytes(("_" + MouseWheel._connectionID.toString()));
_local3 = MouseWheel._dataPart1;
_local4 = _local3.length;
_local5 = 0;
while (_local5 < _local4) {
_local2.writeUnsignedInt(_local3[_local5]);
_local5++;
};
_local2.writeShort(0);
};
MouseWheel._connection.addEventListener(StatusEvent.STATUS, MouseWheel.handler_status);
MouseWheel._connection.addEventListener(AsyncErrorEvent.ASYNC_ERROR, MouseWheel.handler_asyncError);
MouseWheel._captured = true;
if (MouseWheel._loader){
MouseWheel.send();
} else {
MouseWheel._loader = new Loader();
MouseWheel._loader.loadBytes(MouseWheel._bytes);
MouseWheel._loader.contentLoaderInfo.addEventListener(Event.COMPLETE, MouseWheel.handler_complete);
};
}
private static function handler_status(_arg1:StatusEvent):void{
if (_arg1.level == "error"){
MouseWheel.send();
};
}
public static function release():void{
if (!MouseWheel._captured){
return;
};
MouseWheel._captured = false;
MouseWheel.send();
}
private static function send(_arg1:Event=null):void{
if (!MouseWheel._complete){
return;
};
MouseWheel._connection.send(("lc_" + MouseWheel._connectionID), "capture", MouseWheel._captured);
}
private static function handler_asyncError(_arg1:AsyncErrorEvent):void{
}
private static function handler_complete(_arg1:Event):void{
MouseWheel._complete = true;
if (!MouseWheel._captured){
MouseWheel.send();
};
}
public static function get captured():Boolean{
return (MouseWheel._captured);
}
}
}//package ru.etcs.ui
Section 131
//AcquireSnd (AcquireSnd)
package {
import flash.media.*;
public dynamic class AcquireSnd extends Sound {
}
}//package
Section 132
//AwardPrompt (AwardPrompt)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.geom.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class AwardPrompt extends MovieClip {
public var icon_mc:MovieClip;
public var name_txt:TextField;
public function AwardPrompt(){
addFrameScript(0, frame1);
}
public function _goToPlayer(){
Tweener.addTween(this, {y:600, time:1, onComplete:_disappear, transition:"easeInBack"});
}
public function _disappear(){
MovieClip(parent).removeChild(this);
}
function frame1(){
stop();
MovieClip(parent.parent).playAwardSnd();
this.scaleX = 0;
this.scaleY = 0;
Tweener.addTween(this, {scaleX:1, scaleY:1, time:1, onComplete:_goToPlayer, transition:"easeOutElastic"});
}
}
}//package
Section 133
//AwardSnd (AwardSnd)
package {
import flash.media.*;
public dynamic class AwardSnd extends Sound {
}
}//package
Section 134
//BlasterSnd (BlasterSnd)
package {
import flash.media.*;
public dynamic class BlasterSnd extends Sound {
}
}//package
Section 135
//Boss1 (Boss1)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class Boss1 extends MovieClip {
private var xDir:String;
public var life:Number;
public var lifeDenom:Number;
private var xSpd:Number;
public var drawingLine:MovieClip;
public var wireOn:String;// = "no"
public var flash_mc:MovieClip;
public var typeOfDestruction:String;
private var shootTimer:Timer;
public var electricCharge_mc:MovieClip;
private var minXpos:Number;
public var target:MovieClip;
private var movTimer:Timer;
private var maxXpos:Number;
private var spd:Number;
private var rateOfShoot:Number;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Boss1(){
wireOn = "no";
drawingLine = new MovieClip();
movTimer = new Timer(1000, 0);
super();
life = 2000;
lifeDenom = life;
spd = (Math.floor((Math.random() * (3 - 1))) + 1);
xSpd = ((Math.random() * (2 - 1)) + 1);
minXpos = 25;
maxXpos = 475;
xDir = "left";
rateOfShoot = (Math.floor((Math.random() * (1000 - 800))) + 800);
shootTimer = new Timer(rateOfShoot, 0);
shootTimer.addEventListener(TimerEvent.TIMER, shoot);
shootTimer.start();
movTimer.addEventListener(TimerEvent.TIMER, mov);
movTimer.start();
}
public function mov(_arg1:TimerEvent){
Tweener.addTween(this, {x:randomGenerator(50, 450), y:randomGenerator(50, 150), time:2, transition:"linear"});
}
private function shoot(_arg1:TimerEvent){
if ((((MovieClip(parent.parent).lives <= 0)) && ((MovieClip(parent.parent).lifeNumerator <= 0)))){
} else {
MovieClip(parent.parent).attEnemyAmmo3(this);
};
}
public function removeWire(){
electricCharge_mc.gotoAndStop(1);
Tweener.removeTweens(this);
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * (_arg2 - _arg1))) + _arg1);
return (_local3);
}
public function looper(){
if (life <= 0){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
MovieClip(parent.parent).attCoin(this);
MovieClip(parent.parent).kills_levels++;
MovieClip(parent.parent).countLevelKills();
MovieClip(parent.parent).attBossExplosion(this);
destruct("hit");
} else {
MovieClip(parent.parent).BossLifeUIContainer_mc.lifeBar_mc.scaleX = (life / lifeDenom);
if (life < 0){
life = 0;
};
if (this.y >= 550){
destruct("outBounds");
};
drawWire();
};
}
public function destruct(_arg1:String){
if (_arg1 == "hit"){
} else {
if (_arg1 == "outBounds"){
};
};
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
Tweener.removeTweens(this);
shootTimer.stop();
shootTimer.removeEventListener(TimerEvent.TIMER, shoot);
movTimer.stop();
movTimer.removeEventListener(TimerEvent.TIMER, mov);
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).bossArray, this);
}
public function initWire(){
electricCharge_mc.gotoAndPlay(2);
MovieClip(parent).addChild(drawingLine);
wireOn = "yes";
}
function drawWire(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:GlowFilter;
_local1 = 10;
_local2 = this.rotation;
_local3 = (this.x + (_local1 * Math.cos(((_local2 * Math.PI) / 180))));
_local4 = (this.y + (_local1 * Math.sin(((_local2 * Math.PI) / 180))));
drawingLine.graphics.clear();
drawingLine.graphics.lineStyle(1, 0xFFFFFF, 0.5);
drawingLine.graphics.moveTo(_local3, _local4);
drawingLine.graphics.lineTo(target.x, target.y);
_local5 = new GlowFilter();
_local5.inner = false;
_local5.color = 0xFF0000;
_local5.blurX = 20;
_local5.blurY = 20;
_local5.alpha = 0.8;
drawingLine.filters = [_local5];
}
}
}//package
Section 136
//Boss2 (Boss2)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class Boss2 extends MovieClip {
private var xDir:String;
public var life:Number;
public var lifeDenom:Number;
private var xSpd:Number;
public var drawingLine:MovieClip;
public var wireOn:String;// = "no"
public var flash_mc:MovieClip;
public var typeOfDestruction:String;
private var shootTimer:Timer;
public var electricCharge_mc:MovieClip;
private var minXpos:Number;
public var target:MovieClip;
private var movTimer:Timer;
private var maxXpos:Number;
private var spd:Number;
private var rateOfShoot:Number;
public var main:MovieClip;
private var shootCounter:Number;// = 10
public var hitBox_mc:MovieClip;
public function Boss2(){
wireOn = "no";
drawingLine = new MovieClip();
movTimer = new Timer(1000, 0);
shootCounter = 10;
super();
life = 3000;
lifeDenom = life;
spd = (Math.floor((Math.random() * (3 - 1))) + 1);
xSpd = ((Math.random() * (2 - 1)) + 1);
minXpos = 25;
maxXpos = 475;
xDir = "left";
rateOfShoot = (Math.floor((Math.random() * (1000 - 800))) + 800);
shootTimer = new Timer(rateOfShoot, 0);
shootTimer.addEventListener(TimerEvent.TIMER, shoot);
shootTimer.start();
movTimer.addEventListener(TimerEvent.TIMER, mov);
movTimer.start();
}
public function mov(_arg1:TimerEvent){
Tweener.addTween(this, {x:randomGenerator(50, 450), y:randomGenerator(50, 150), time:2, transition:"linear"});
}
private function shoot(_arg1:TimerEvent){
if ((((MovieClip(parent.parent).lives <= 0)) && ((MovieClip(parent.parent).lifeNumerator <= 0)))){
} else {
MovieClip(parent.parent).attEnemyAmmo3(this);
};
}
public function removeWire(){
electricCharge_mc.gotoAndStop(1);
Tweener.removeTweens(this);
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * (_arg2 - _arg1))) + _arg1);
return (_local3);
}
public function looper(){
if (life <= 0){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
MovieClip(parent.parent).attCoin(this);
MovieClip(parent.parent).kills_levels++;
MovieClip(parent.parent).countLevelKills();
MovieClip(parent.parent).attBossExplosion(this);
destruct("hit");
} else {
MovieClip(parent.parent).BossLifeUIContainer_mc.lifeBar_mc.scaleX = (life / lifeDenom);
if (life < 0){
life = 0;
};
shootCounter--;
if (shootCounter <= 0){
MovieClip(parent.parent).attEnemyAmmo1(this);
shootCounter = 30;
};
if (this.y >= 550){
destruct("outBounds");
};
drawWire();
};
}
public function destruct(_arg1:String){
if (_arg1 == "hit"){
} else {
if (_arg1 == "outBounds"){
};
};
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
Tweener.removeTweens(this);
shootTimer.stop();
shootTimer.removeEventListener(TimerEvent.TIMER, shoot);
movTimer.stop();
movTimer.removeEventListener(TimerEvent.TIMER, mov);
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).bossArray, this);
}
public function initWire(){
electricCharge_mc.gotoAndPlay(2);
MovieClip(parent).addChild(drawingLine);
wireOn = "yes";
}
function drawWire(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:GlowFilter;
_local1 = 10;
_local2 = this.rotation;
_local3 = (this.x + (_local1 * Math.cos(((_local2 * Math.PI) / 180))));
_local4 = (this.y + (_local1 * Math.sin(((_local2 * Math.PI) / 180))));
drawingLine.graphics.clear();
drawingLine.graphics.lineStyle(1, 0xFFFFFF, 0.5);
drawingLine.graphics.moveTo(_local3, _local4);
drawingLine.graphics.lineTo(target.x, target.y);
_local5 = new GlowFilter();
_local5.inner = false;
_local5.color = 0xFF0000;
_local5.blurX = 20;
_local5.blurY = 20;
_local5.alpha = 0.8;
drawingLine.filters = [_local5];
}
}
}//package
Section 137
//Boss3 (Boss3)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class Boss3 extends MovieClip {
private var xDir:String;
public var life:Number;
private var shootCounter2:Number;// = 60
public var lifeDenom:Number;
private var xSpd:Number;
public var drawingLine:MovieClip;
public var wireOn:String;// = "no"
public var flash_mc:MovieClip;
public var typeOfDestruction:String;
private var shootCounter1:Number;// = 10
private var shootTimer:Timer;
public var electricCharge_mc:MovieClip;
private var minXpos:Number;
public var target:MovieClip;
private var movTimer:Timer;
private var maxXpos:Number;
private var spd:Number;
private var rateOfShoot:Number;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Boss3(){
wireOn = "no";
drawingLine = new MovieClip();
movTimer = new Timer(1000, 0);
shootCounter1 = 10;
shootCounter2 = 60;
super();
life = 4000;
lifeDenom = life;
spd = (Math.floor((Math.random() * (3 - 1))) + 1);
xSpd = ((Math.random() * (2 - 1)) + 1);
minXpos = 25;
maxXpos = 475;
xDir = "left";
rateOfShoot = (Math.floor((Math.random() * (1000 - 800))) + 800);
shootTimer = new Timer(rateOfShoot, 0);
shootTimer.addEventListener(TimerEvent.TIMER, shoot);
shootTimer.start();
movTimer.addEventListener(TimerEvent.TIMER, mov);
movTimer.start();
}
public function mov(_arg1:TimerEvent){
Tweener.addTween(this, {x:randomGenerator(50, 450), y:randomGenerator(50, 150), time:2, transition:"linear"});
}
private function shoot(_arg1:TimerEvent){
if ((((MovieClip(parent.parent).lives <= 0)) && ((MovieClip(parent.parent).lifeNumerator <= 0)))){
} else {
MovieClip(parent.parent).attEnemyAmmo3(this);
};
}
public function removeWire(){
electricCharge_mc.gotoAndStop(1);
Tweener.removeTweens(this);
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * (_arg2 - _arg1))) + _arg1);
return (_local3);
}
public function looper(){
if (life <= 0){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
MovieClip(parent.parent).attCoin(this);
MovieClip(parent.parent).kills_levels++;
MovieClip(parent.parent).countLevelKills();
MovieClip(parent.parent).attBossExplosion(this);
destruct("hit");
} else {
MovieClip(parent.parent).BossLifeUIContainer_mc.lifeBar_mc.scaleX = (life / lifeDenom);
if (life < 0){
life = 0;
};
shootCounter1--;
if (shootCounter1 <= 0){
MovieClip(parent.parent).attEnemyAmmo1(this);
shootCounter1 = 30;
};
shootCounter2--;
if (shootCounter2 <= 0){
MovieClip(parent.parent).attEnemyAmmo6(this);
shootCounter2 = 60;
};
if (this.y >= 550){
destruct("outBounds");
};
drawWire();
};
}
public function destruct(_arg1:String){
if (_arg1 == "hit"){
} else {
if (_arg1 == "outBounds"){
};
};
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
Tweener.removeTweens(this);
shootTimer.stop();
shootTimer.removeEventListener(TimerEvent.TIMER, shoot);
movTimer.stop();
movTimer.removeEventListener(TimerEvent.TIMER, mov);
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).bossArray, this);
}
public function initWire(){
electricCharge_mc.gotoAndPlay(2);
MovieClip(parent).addChild(drawingLine);
wireOn = "yes";
}
function drawWire(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:GlowFilter;
_local1 = 10;
_local2 = this.rotation;
_local3 = (this.x + (_local1 * Math.cos(((_local2 * Math.PI) / 180))));
_local4 = (this.y + (_local1 * Math.sin(((_local2 * Math.PI) / 180))));
drawingLine.graphics.clear();
drawingLine.graphics.lineStyle(1, 0xFFFFFF, 0.5);
drawingLine.graphics.moveTo(_local3, _local4);
drawingLine.graphics.lineTo(target.x, target.y);
_local5 = new GlowFilter();
_local5.inner = false;
_local5.color = 0xFF0000;
_local5.blurX = 20;
_local5.blurY = 20;
_local5.alpha = 0.8;
drawingLine.filters = [_local5];
}
}
}//package
Section 138
//Boss4 (Boss4)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class Boss4 extends MovieClip {
private var xDir:String;
private var shootCounter3:Number;// = 100
public var life:Number;
private var shootCounter2:Number;// = 60
public var lifeDenom:Number;
private var xSpd:Number;
public var drawingLine:MovieClip;
public var wireOn:String;// = "no"
public var flash_mc:MovieClip;
public var typeOfDestruction:String;
private var shootCounter1:Number;// = 10
private var shootTimer:Timer;
public var electricCharge_mc:MovieClip;
private var minXpos:Number;
public var target:MovieClip;
private var movTimer:Timer;
private var maxXpos:Number;
private var spd:Number;
private var rateOfShoot:Number;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Boss4(){
wireOn = "no";
drawingLine = new MovieClip();
movTimer = new Timer(1000, 0);
shootCounter1 = 10;
shootCounter2 = 60;
shootCounter3 = 100;
super();
life = 5000;
lifeDenom = life;
spd = (Math.floor((Math.random() * (3 - 1))) + 1);
xSpd = ((Math.random() * (2 - 1)) + 1);
minXpos = 25;
maxXpos = 475;
xDir = "left";
rateOfShoot = (Math.floor((Math.random() * (1000 - 800))) + 800);
shootTimer = new Timer(rateOfShoot, 0);
shootTimer.addEventListener(TimerEvent.TIMER, shoot);
shootTimer.start();
movTimer.addEventListener(TimerEvent.TIMER, mov);
movTimer.start();
}
public function mov(_arg1:TimerEvent){
Tweener.addTween(this, {x:randomGenerator(50, 450), y:randomGenerator(50, 150), time:2, transition:"linear"});
}
private function shoot(_arg1:TimerEvent){
if ((((MovieClip(parent.parent).lives <= 0)) && ((MovieClip(parent.parent).lifeNumerator <= 0)))){
} else {
MovieClip(parent.parent).attEnemyAmmo3(this);
};
}
public function removeWire(){
electricCharge_mc.gotoAndStop(1);
Tweener.removeTweens(this);
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * (_arg2 - _arg1))) + _arg1);
return (_local3);
}
public function looper(){
if (life <= 0){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
MovieClip(parent.parent).attCoin(this);
MovieClip(parent.parent).kills_levels++;
MovieClip(parent.parent).countLevelKills();
MovieClip(parent.parent).attBossExplosion(this);
destruct("hit");
} else {
MovieClip(parent.parent).BossLifeUIContainer_mc.lifeBar_mc.scaleX = (life / lifeDenom);
if (life < 0){
life = 0;
};
shootCounter1--;
if (shootCounter1 <= 0){
MovieClip(parent.parent).attEnemyAmmo1(this);
shootCounter1 = 30;
};
shootCounter2--;
if (shootCounter2 <= 0){
MovieClip(parent.parent).attEnemyAmmo6(this);
shootCounter2 = 60;
};
shootCounter3--;
if (shootCounter3 <= 0){
MovieClip(parent.parent).attEnemy11(2);
shootCounter3 = 100;
};
if (this.y >= 550){
destruct("outBounds");
};
drawWire();
};
}
public function destruct(_arg1:String){
if (_arg1 == "hit"){
} else {
if (_arg1 == "outBounds"){
};
};
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
Tweener.removeTweens(this);
shootTimer.stop();
shootTimer.removeEventListener(TimerEvent.TIMER, shoot);
movTimer.stop();
movTimer.removeEventListener(TimerEvent.TIMER, mov);
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).bossArray, this);
}
public function initWire(){
electricCharge_mc.gotoAndPlay(2);
MovieClip(parent).addChild(drawingLine);
wireOn = "yes";
}
function drawWire(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:GlowFilter;
_local1 = 10;
_local2 = this.rotation;
_local3 = (this.x + (_local1 * Math.cos(((_local2 * Math.PI) / 180))));
_local4 = (this.y + (_local1 * Math.sin(((_local2 * Math.PI) / 180))));
drawingLine.graphics.clear();
drawingLine.graphics.lineStyle(1, 0xFFFFFF, 0.5);
drawingLine.graphics.moveTo(_local3, _local4);
drawingLine.graphics.lineTo(target.x, target.y);
_local5 = new GlowFilter();
_local5.inner = false;
_local5.color = 0xFF0000;
_local5.blurX = 20;
_local5.blurY = 20;
_local5.alpha = 0.8;
drawingLine.filters = [_local5];
}
}
}//package
Section 139
//Boss5 (Boss5)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class Boss5 extends MovieClip {
private var xDir:String;
public var life:Number;
private var shootCounter2:Number;// = 60
public var lifeDenom:Number;
private var xSpd:Number;
public var drawingLine:MovieClip;
public var wireOn:String;// = "no"
public var flash_mc:MovieClip;
public var typeOfDestruction:String;
private var shootCounter1:Number;// = 10
private var shootTimer:Timer;
public var electricCharge_mc:MovieClip;
private var minXpos:Number;
public var target:MovieClip;
private var movTimer:Timer;
private var maxXpos:Number;
private var spd:Number;
private var rateOfShoot:Number;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Boss5(){
wireOn = "no";
drawingLine = new MovieClip();
movTimer = new Timer(1000, 0);
shootCounter1 = 10;
shootCounter2 = 60;
super();
life = 6000;
lifeDenom = life;
spd = (Math.floor((Math.random() * (3 - 1))) + 1);
xSpd = ((Math.random() * (2 - 1)) + 1);
minXpos = 25;
maxXpos = 475;
xDir = "left";
rateOfShoot = (Math.floor((Math.random() * (1000 - 800))) + 800);
shootTimer = new Timer(rateOfShoot, 0);
shootTimer.addEventListener(TimerEvent.TIMER, shoot);
shootTimer.start();
movTimer.addEventListener(TimerEvent.TIMER, mov);
movTimer.start();
}
public function mov(_arg1:TimerEvent){
Tweener.addTween(this, {x:randomGenerator(50, 450), y:randomGenerator(50, 150), time:2, transition:"linear"});
}
private function shoot(_arg1:TimerEvent){
if ((((MovieClip(parent.parent).lives <= 0)) && ((MovieClip(parent.parent).lifeNumerator <= 0)))){
} else {
MovieClip(parent.parent).attEnemyAmmo3(this);
};
}
public function removeWire(){
electricCharge_mc.gotoAndStop(1);
Tweener.removeTweens(this);
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * (_arg2 - _arg1))) + _arg1);
return (_local3);
}
public function looper(){
if (life <= 0){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
MovieClip(parent.parent).attCoin(this);
MovieClip(parent.parent).kills_levels++;
MovieClip(parent.parent).countLevelKills();
MovieClip(parent.parent).attBossExplosion(this);
destruct("hit");
} else {
MovieClip(parent.parent).BossLifeUIContainer_mc.lifeBar_mc.scaleX = (life / lifeDenom);
if (life < 0){
life = 0;
};
shootCounter1--;
if (shootCounter1 <= 0){
MovieClip(parent.parent).attEnemyAmmo1(this);
shootCounter1 = 30;
};
shootCounter2--;
if (shootCounter2 <= 0){
MovieClip(parent.parent).attEnemyAmmo6(this);
shootCounter2 = 60;
};
if (this.y >= 550){
destruct("outBounds");
};
drawWire();
};
}
public function destruct(_arg1:String){
if (_arg1 == "hit"){
} else {
if (_arg1 == "outBounds"){
};
};
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
Tweener.removeTweens(this);
shootTimer.stop();
shootTimer.removeEventListener(TimerEvent.TIMER, shoot);
movTimer.stop();
movTimer.removeEventListener(TimerEvent.TIMER, mov);
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).bossArray, this);
}
public function initWire(){
electricCharge_mc.gotoAndPlay(2);
MovieClip(parent).addChild(drawingLine);
wireOn = "yes";
}
function drawWire(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:GlowFilter;
_local1 = 10;
_local2 = this.rotation;
_local3 = (this.x + (_local1 * Math.cos(((_local2 * Math.PI) / 180))));
_local4 = (this.y + (_local1 * Math.sin(((_local2 * Math.PI) / 180))));
drawingLine.graphics.clear();
drawingLine.graphics.lineStyle(1, 0xFFFFFF, 0.5);
drawingLine.graphics.moveTo(_local3, _local4);
drawingLine.graphics.lineTo(target.x, target.y);
_local5 = new GlowFilter();
_local5.inner = false;
_local5.color = 0xFF0000;
_local5.blurX = 20;
_local5.blurY = 20;
_local5.alpha = 0.8;
drawingLine.filters = [_local5];
}
}
}//package
Section 140
//Boss6 (Boss6)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class Boss6 extends MovieClip {
private var xDir:String;
private var shootCounter3:Number;// = 100
public var life:Number;
private var shootCounter2:Number;// = 60
public var lifeDenom:Number;
private var xSpd:Number;
public var drawingLine:MovieClip;
public var wireOn:String;// = "no"
public var flash_mc:MovieClip;
public var typeOfDestruction:String;
private var shootCounter1:Number;// = 10
private var shootTimer:Timer;
public var electricCharge_mc:MovieClip;
private var minXpos:Number;
public var target:MovieClip;
private var movTimer:Timer;
private var maxXpos:Number;
private var spd:Number;
private var rateOfShoot:Number;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Boss6(){
wireOn = "no";
drawingLine = new MovieClip();
movTimer = new Timer(1000, 0);
shootCounter1 = 10;
shootCounter2 = 60;
shootCounter3 = 100;
super();
life = 7000;
lifeDenom = life;
spd = (Math.floor((Math.random() * (3 - 1))) + 1);
xSpd = ((Math.random() * (2 - 1)) + 1);
minXpos = 25;
maxXpos = 475;
xDir = "left";
rateOfShoot = (Math.floor((Math.random() * (1000 - 800))) + 800);
shootTimer = new Timer(rateOfShoot, 0);
shootTimer.addEventListener(TimerEvent.TIMER, shoot);
shootTimer.start();
movTimer.addEventListener(TimerEvent.TIMER, mov);
movTimer.start();
}
public function mov(_arg1:TimerEvent){
Tweener.addTween(this, {x:randomGenerator(50, 450), y:randomGenerator(50, 150), time:2, transition:"linear"});
}
private function shoot(_arg1:TimerEvent){
if ((((MovieClip(parent.parent).lives <= 0)) && ((MovieClip(parent.parent).lifeNumerator <= 0)))){
} else {
MovieClip(parent.parent).attEnemyAmmo3(this);
};
}
public function removeWire(){
electricCharge_mc.gotoAndStop(1);
Tweener.removeTweens(this);
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * (_arg2 - _arg1))) + _arg1);
return (_local3);
}
public function looper(){
if (life <= 0){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
MovieClip(parent.parent).attCoin(this);
MovieClip(parent.parent).kills_levels++;
MovieClip(parent.parent).countLevelKills();
MovieClip(parent.parent).attBossExplosion(this);
destruct("hit");
} else {
MovieClip(parent.parent).BossLifeUIContainer_mc.lifeBar_mc.scaleX = (life / lifeDenom);
if (life < 0){
life = 0;
};
shootCounter1--;
if (shootCounter1 <= 0){
MovieClip(parent.parent).attEnemyAmmo1(this);
shootCounter1 = 30;
};
shootCounter2--;
if (shootCounter2 <= 0){
MovieClip(parent.parent).attEnemyAmmo6(this);
shootCounter2 = 60;
};
shootCounter3--;
if (shootCounter3 <= 0){
MovieClip(parent.parent).attEnemy11(2);
shootCounter3 = 100;
};
if (this.y >= 550){
destruct("outBounds");
};
drawWire();
};
}
public function destruct(_arg1:String){
if (_arg1 == "hit"){
} else {
if (_arg1 == "outBounds"){
};
};
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
Tweener.removeTweens(this);
shootTimer.stop();
shootTimer.removeEventListener(TimerEvent.TIMER, shoot);
movTimer.stop();
movTimer.removeEventListener(TimerEvent.TIMER, mov);
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).bossArray, this);
}
public function initWire(){
electricCharge_mc.gotoAndPlay(2);
MovieClip(parent).addChild(drawingLine);
wireOn = "yes";
}
function drawWire(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:GlowFilter;
_local1 = 10;
_local2 = this.rotation;
_local3 = (this.x + (_local1 * Math.cos(((_local2 * Math.PI) / 180))));
_local4 = (this.y + (_local1 * Math.sin(((_local2 * Math.PI) / 180))));
drawingLine.graphics.clear();
drawingLine.graphics.lineStyle(1, 0xFFFFFF, 0.5);
drawingLine.graphics.moveTo(_local3, _local4);
drawingLine.graphics.lineTo(target.x, target.y);
_local5 = new GlowFilter();
_local5.inner = false;
_local5.color = 0xFF0000;
_local5.blurX = 20;
_local5.blurY = 20;
_local5.alpha = 0.8;
drawingLine.filters = [_local5];
}
}
}//package
Section 141
//BossSnd (BossSnd)
package {
import flash.media.*;
public dynamic class BossSnd extends Sound {
}
}//package
Section 142
//BossWarningPrompter (BossWarningPrompter)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public dynamic class BossWarningPrompter extends MovieClip {
public var prompt_txt:MovieClip;
public var timer:Timer;
public var i:Number;
public function BossWarningPrompter(){
addFrameScript(0, frame1);
}
public function blinkMe(_arg1:TimerEvent){
i++;
if ((((((((i == 1)) || ((i == 3)))) || ((i == 5)))) || ((i == 7)))){
prompt_txt.alpha = 0;
} else {
prompt_txt.alpha = 1;
};
}
public function removeMe(_arg1:TimerEvent){
MovieClip(parent).removeChild(this);
}
function frame1(){
i = 0;
timer = new Timer(500, 8);
timer.addEventListener(TimerEvent.TIMER, blinkMe);
timer.addEventListener(TimerEvent.TIMER_COMPLETE, removeMe);
timer.start();
}
}
}//package
Section 143
//BossWarningSnd (BossWarningSnd)
package {
import flash.media.*;
public dynamic class BossWarningSnd extends Sound {
}
}//package
Section 144
//BtnClickSnd (BtnClickSnd)
package {
import flash.media.*;
public dynamic class BtnClickSnd extends Sound {
}
}//package
Section 145
//BtnHoverSnd (BtnHoverSnd)
package {
import flash.media.*;
public dynamic class BtnHoverSnd extends Sound {
}
}//package
Section 146
//BuySnd (BuySnd)
package {
import flash.media.*;
public dynamic class BuySnd extends Sound {
}
}//package
Section 147
//Coin (Coin)
package {
import flash.display.*;
import flash.events.*;
public class Coin extends MovieClip {
public var a_x:Number;
public var a_y:Number;
public var xSpd:Number;
public var animation_mc:MovieClip;
public var pointer:Number;// = 0
public var followSpd:Number;
public var speed:int;
public var ySpd:Number;
public var main:MovieClip;
public var spd:Number;
public var angle:Number;
public var _angle:Number;
public var hitBox_mc:MovieClip;
public function Coin(_arg1:Number, _arg2:Number, _arg3:Number){
pointer = 0;
super();
addFrameScript(0, frame1);
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
followSpd = 8;
spd = 1.5;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * (_arg2 - _arg1))) + _arg1);
return (_local3);
}
function frame1(){
stop();
animation_mc.gotoAndPlay(randomGenerator(2, 15));
}
public function looper(){
if (this.animation_mc.currentFrame == 140){
destruct("");
} else {
if (MovieClip(parent.parent).levelContainer_mc.player_mc.hitBox_mc.hitTestObject(this.hitBox_mc)){
this.stop();
MovieClip(parent.parent).playCrystalSnd();
MovieClip(parent.parent).money_levels++;
destruct("");
} else {
if (this.y > 600){
this.stop();
destruct("");
} else {
if (calDist(this.x, this.y, main.levelContainer_mc.player_mc.x, main.levelContainer_mc.player_mc.y) < MovieClip(parent.parent).magnetRange){
changeDirection();
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
} else {
angle = ((90 / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
};
};
};
}
public function destruct(_arg1:String){
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).moneyArray, this);
}
public function calDist(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local5 = ((_arg1 - _arg3) * (_arg1 - _arg3));
_local6 = ((_arg2 - _arg4) * (_arg2 - _arg4));
_local7 = Math.sqrt((_local5 + _local6));
return (_local7);
}
public function changeDirection(){
pointTowardPlayer(MovieClip(parent).player_mc);
angle = ((MovieClip(this).rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * followSpd);
ySpd = (Math.sin(angle) * followSpd);
}
public function pointTowardPlayer(_arg1:MovieClip){
a_x = (_arg1.x - this.x);
a_y = (_arg1.y - this.y);
_angle = ((180 * Math.atan2(a_y, a_x)) / Math.PI);
pointer = _angle;
this.rotation = pointer;
}
}
}//package
Section 148
//CrystalSnd (CrystalSnd)
package {
import flash.media.*;
public dynamic class CrystalSnd extends Sound {
}
}//package
Section 149
//Earthquake (Earthquake)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class Earthquake {
private static const FRAME_RATE:int = 30;
private static var timer:Timer;
private static var originalX:int;
private static var originalY:int;
private static var intensityOffset:int;
private static var intensity:int;
private static var image:DisplayObject;
private static function cleanup():void{
timer = null;
image = null;
}
public static function go(_arg1:DisplayObject, _arg2:Number=10, _arg3:Number=1):void{
var _local4:int;
var _local5:int;
if (timer){
timer.stop();
};
image = _arg1;
originalX = 0;
originalY = 0;
intensity = _arg2;
intensityOffset = (intensity / 2);
_local4 = int((1000 / FRAME_RATE));
_local5 = int(((_arg3 * 1000) / _local4));
timer = new Timer(_local4, _local5);
timer.addEventListener(TimerEvent.TIMER, quake);
timer.addEventListener(TimerEvent.TIMER_COMPLETE, resetImage);
timer.start();
}
public static function temp():void{
}
private static function quake(_arg1:TimerEvent):void{
var _local2:int;
var _local3:int;
_local2 = ((originalX + (Math.random() * intensity)) - intensityOffset);
_local3 = ((originalY + (Math.random() * intensity)) - intensityOffset);
image.x = _local2;
image.y = _local3;
}
private static function resetImage(_arg1:TimerEvent=null):void{
image.x = originalX;
image.y = originalY;
cleanup();
}
}
}//package
Section 150
//EmergencyItem3 (EmergencyItem3)
package {
import flash.display.*;
import flash.events.*;
public class EmergencyItem3 extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var main:MovieClip;
public var yLimit:Number;
public var angle:Number;
public var hitBox_mc:MovieClip;
public function EmergencyItem3(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
yLimit = randomGenerator(60, 355);
trace(("ylimit" + yLimit));
init();
}
public function init(){
spd = 35;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * (_arg2 - _arg1))) + _arg1);
return (_local3);
}
public function looper(){
if (this.y < yLimit){
explode();
destruct("");
} else {
if (this.y < -10){
destruct("");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
};
}
public function destruct(_arg1:String){
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).emergencyItem3Array, this);
}
public function explode(){
var _local1:Number;
var _local2:Number;
var _local3:EmergencyItem3a;
_local1 = 0;
_local2 = 0;
while (_local2 < 12) {
_local1 = (_local1 + 30);
_local3 = new EmergencyItem3a(this.x, this.y, _local1);
MovieClip(parent).addChild(_local3);
MovieClip(parent.parent).emergencyItem3aArray.push(_local3);
_local2++;
};
}
}
}//package
Section 151
//EmergencyItem3a (EmergencyItem3a)
package {
import flash.display.*;
import flash.events.*;
public class EmergencyItem3a extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var main:MovieClip;
public var angle:Number;
public var hitBox_mc:MovieClip;
public function EmergencyItem3a(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 35;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (this.y < -10){
destruct("");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).emergencyItem3aArray, this);
}
}
}//package
Section 152
//Enemy1 (Enemy1)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class Enemy1 extends MovieClip {
private var xDir:String;
public var life:Number;
private var xSpd:Number;
public var drawingLine:MovieClip;
public var wireOn:String;// = "no"
public var flash_mc:MovieClip;
public var typeOfDestruction:String;
private var shootTimer:Timer;
public var electricCharge_mc:MovieClip;
private var minXpos:Number;
public var target:MovieClip;
private var maxXpos:Number;
private var spd:Number;
private var rateOfShoot:Number;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Enemy1(){
wireOn = "no";
drawingLine = new MovieClip();
super();
life = 20;
spd = (Math.floor((Math.random() * (3 - 1))) + 1);
xSpd = ((Math.random() * (2 - 1)) + 1);
minXpos = 25;
maxXpos = 475;
xDir = "left";
rateOfShoot = (Math.floor((Math.random() * (3000 - 1500))) + 1500);
shootTimer = new Timer(rateOfShoot, 0);
shootTimer.addEventListener(TimerEvent.TIMER, shoot);
shootTimer.start();
}
public function removeWire(){
electricCharge_mc.gotoAndStop(1);
Tweener.removeTweens(this);
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
};
}
private function shoot(_arg1:TimerEvent){
if ((main.lifeNum <= 0)){
};
}
public function looper(){
if (life <= 0){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
main.attExplosion(this);
main.attCoin(this);
main.countLevelKills();
destruct("hit");
} else {
if (this.x < minXpos){
xDir = "right";
} else {
if (this.x > maxXpos){
xDir = "left";
};
};
if (xDir == "left"){
xSpd = ((Math.random() * (2 - 1)) + 1);
this.x = (this.x - xSpd);
} else {
if (xDir == "right"){
xSpd = ((Math.random() * (2 - 1)) + 1);
this.x = (this.x + xSpd);
};
};
this.y = (this.y + spd);
if (this.y >= 550){
destruct("outBounds");
};
drawWire();
};
}
public function destruct(_arg1:String){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
shootTimer.stop();
shootTimer.removeEventListener(TimerEvent.TIMER, shoot);
main.removeFromArray(main.enemyArray, this);
}
public function initWire(){
electricCharge_mc.gotoAndPlay(2);
MovieClip(parent).addChild(drawingLine);
wireOn = "yes";
}
function drawWire(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:GlowFilter;
_local1 = 10;
_local2 = this.rotation;
_local3 = (this.x + (_local1 * Math.cos(((_local2 * Math.PI) / 180))));
_local4 = (this.y + (_local1 * Math.sin(((_local2 * Math.PI) / 180))));
drawingLine.graphics.clear();
drawingLine.graphics.lineStyle(1, 0xFFFFFF, 0.5);
drawingLine.graphics.moveTo(_local3, _local4);
drawingLine.graphics.lineTo(target.x, target.y);
_local5 = new GlowFilter();
_local5.inner = false;
_local5.color = 0xFF0000;
_local5.blurX = 20;
_local5.blurY = 20;
_local5.alpha = 0.8;
drawingLine.filters = [_local5];
}
}
}//package
Section 153
//Enemy10 (Enemy10)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class Enemy10 extends MovieClip {
private var xDir:String;
public var life:Number;
private var xSpd:Number;
private var _animationSet:Number;
public var drawingLine:MovieClip;
public var wireOn:String;// = "no"
public var flash_mc:MovieClip;
public var typeOfDestruction:String;
private var shootTimer:Timer;
public var electricCharge_mc:MovieClip;
private var minXpos:Number;
public var target:MovieClip;
private var maxXpos:Number;
private var spd:Number;
private var rateOfShoot:Number;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Enemy10(){
wireOn = "no";
drawingLine = new MovieClip();
super();
life = 30;
spd = (Math.floor((Math.random() * (3 - 1))) + 1);
xSpd = ((Math.random() * (2 - 1)) + 1);
minXpos = 25;
maxXpos = 475;
xDir = "left";
rateOfShoot = (Math.floor((Math.random() * (1000 - 800))) + 800);
shootTimer = new Timer(rateOfShoot, 0);
shootTimer.addEventListener(TimerEvent.TIMER, shoot);
shootTimer.start();
_animationSet = randomGenerator(1, 5);
if (_animationSet == 1){
Tweener.addTween(this, {y:50, time:2, onComplete:shoot2, transition:"easeInOutStrong"});
Tweener.addTween(this, {y:700, time:2, delay:2, transition:"easeInOutStrong"});
} else {
if (_animationSet == 2){
Tweener.addTween(this, {y:75, time:2, onComplete:shoot2, transition:"easeInOutStrong"});
Tweener.addTween(this, {y:700, time:2, delay:2, transition:"easeInOutStrong"});
} else {
if (_animationSet == 3){
Tweener.addTween(this, {y:100, time:2, onComplete:shoot2, transition:"easeInOutStrong"});
Tweener.addTween(this, {y:700, time:2, delay:2, transition:"easeInOutStrong"});
} else {
if (_animationSet == 4){
Tweener.addTween(this, {y:150, time:2, onComplete:shoot2, transition:"easeInOutStrong"});
Tweener.addTween(this, {y:700, time:2, delay:2, transition:"easeInOutStrong"});
};
};
};
};
}
public function removeWire(){
electricCharge_mc.gotoAndStop(1);
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
};
}
private function shoot(_arg1:TimerEvent){
if ((((main.lives <= 0)) && ((main.lifeNumerator <= 0)))){
} else {
main.attEnemyAmmo6(this);
};
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * (_arg2 - _arg1))) + _arg1);
return (_local3);
}
public function looper(){
if (life <= 0){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
main.attExplosion(this);
main.attCoin(this);
main.countLevelKills();
destruct("hit");
} else {
if (this.y >= 550){
destruct("outBounds");
};
drawWire();
};
}
private function shoot2(){
main.attEnemyAmmo6(this);
}
public function destruct(_arg1:String){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
Tweener.removeTweens(this);
shootTimer.stop();
shootTimer.removeEventListener(TimerEvent.TIMER, shoot);
main.removeFromArray(main.enemyArray, this);
}
public function initWire(){
electricCharge_mc.gotoAndPlay(2);
MovieClip(parent).addChild(drawingLine);
wireOn = "yes";
}
function drawWire(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:GlowFilter;
_local1 = 10;
_local2 = this.rotation;
_local3 = (this.x + (_local1 * Math.cos(((_local2 * Math.PI) / 180))));
_local4 = (this.y + (_local1 * Math.sin(((_local2 * Math.PI) / 180))));
drawingLine.graphics.clear();
drawingLine.graphics.lineStyle(1, 0xFFFFFF, 0.5);
drawingLine.graphics.moveTo(_local3, _local4);
drawingLine.graphics.lineTo(target.x, target.y);
_local5 = new GlowFilter();
_local5.inner = false;
_local5.color = 0xFF0000;
_local5.blurX = 20;
_local5.blurY = 20;
_local5.alpha = 0.8;
drawingLine.filters = [_local5];
}
}
}//package
Section 154
//Enemy11 (Enemy11)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.filters.*;
public class Enemy11 extends MovieClip {
public var life:Number;// = 10
public var xSpd:Number;
public var drawingLine:MovieClip;
public var wireOn:String;// = "no"
public var flash_mc:MovieClip;
public var electricCharge_mc:MovieClip;
public var ySpd:Number;
public var target:MovieClip;
public var mc:MovieClip;
public var spd:Number;
private var dir:Point;
public var grvty:Number;
public var main:MovieClip;
public var angle:Number;
public var rot:Number;
public var hitBox_mc:MovieClip;
public function Enemy11(_arg1:Number, _arg2:MovieClip){
wireOn = "no";
drawingLine = new MovieClip();
life = 10;
dir = new Point(0, 0);
super();
mc = mc;
target = _arg2;
this.rotation = _arg1;
init();
}
public function init(){
spd = 5;
grvty = 0.25;
angle = ((MovieClip(this).rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function removeWire(){
electricCharge_mc.gotoAndStop(1);
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
};
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = ((Math.random() * (_arg2 - _arg1)) + _arg1);
return (_local3);
}
public function looper(){
var _local1:Point;
if ((((((((this.x < -50)) || ((this.x > 1020)))) || ((this.y < -500)))) || ((this.y > 750)))){
destruct("");
} else {
if (life <= 0){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
main.attExplosion(this);
main.attCoin(this);
main.countLevelKills();
destruct("");
} else {
_local1 = new Point((target.x - this.x), (target.y - this.y));
_local1.normalize(randomGenerator(0, 2));
dir = dir.add(_local1);
dir.normalize(randomGenerator(6, 9));
this.x = (this.x + dir.x);
this.y = (this.y + dir.y);
this.rotation = ((Math.atan2(dir.y, dir.x) * 180) / Math.PI);
drawWire();
};
};
}
public function destruct(_arg1:String){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
main.removeFromArray(main.enemyArray, this);
}
public function initWire(){
electricCharge_mc.gotoAndPlay(2);
MovieClip(parent).addChild(drawingLine);
wireOn = "yes";
}
function drawWire(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:GlowFilter;
_local1 = 10;
_local2 = this.rotation;
_local3 = (this.x + (_local1 * Math.cos(((_local2 * Math.PI) / 180))));
_local4 = (this.y + (_local1 * Math.sin(((_local2 * Math.PI) / 180))));
drawingLine.graphics.clear();
drawingLine.graphics.lineStyle(1, 0xFFFFFF, 0.5);
drawingLine.graphics.moveTo(_local3, _local4);
drawingLine.graphics.lineTo(target.x, target.y);
_local5 = new GlowFilter();
_local5.inner = false;
_local5.color = 0xFF0000;
_local5.blurX = 20;
_local5.blurY = 20;
_local5.alpha = 0.8;
drawingLine.filters = [_local5];
}
}
}//package
Section 155
//Enemy12 (Enemy12)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class Enemy12 extends MovieClip {
private var xDir:String;
public var life:Number;
private var xSpd:Number;
private var _animationSet:Number;
public var drawingLine:MovieClip;
public var wireOn:String;// = "no"
public var flash_mc:MovieClip;
public var typeOfDestruction:String;
private var shootTimer:Timer;
public var electricCharge_mc:MovieClip;
private var minXpos:Number;
public var target:MovieClip;
private var maxXpos:Number;
private var spd:Number;
private var rateOfShoot:Number;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Enemy12(){
wireOn = "no";
drawingLine = new MovieClip();
super();
life = 30;
spd = (Math.floor((Math.random() * (3 - 1))) + 1);
xSpd = ((Math.random() * (2 - 1)) + 1);
minXpos = 25;
maxXpos = 475;
xDir = "left";
rateOfShoot = (Math.floor((Math.random() * (1000 - 800))) + 800);
shootTimer = new Timer(rateOfShoot, 0);
shootTimer.addEventListener(TimerEvent.TIMER, shoot);
shootTimer.start();
_animationSet = randomGenerator(1, 5);
Tweener.addTween(this, {y:randomGenerator(50, 100), time:1, transition:"easeInOutStrong"});
Tweener.addTween(this, {x:randomGenerator(50, 450), y:randomGenerator(50, 150), time:1, delay:1, transition:"easeInOutStrong"});
Tweener.addTween(this, {x:randomGenerator(50, 450), y:randomGenerator(50, 150), time:1, delay:2, transition:"easeInOutStrong"});
Tweener.addTween(this, {x:randomGenerator(50, 450), y:randomGenerator(50, 150), time:1, delay:3, transition:"easeInOutStrong"});
Tweener.addTween(this, {x:randomGenerator(50, 450), y:randomGenerator(50, 150), time:1, delay:4, transition:"easeInOutStrong"});
Tweener.addTween(this, {y:600, time:3, delay:4, onComplete:destruct, onCompleteParams:[""], transition:"easeInOutStrong"});
}
public function removeWire(){
electricCharge_mc.gotoAndStop(1);
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
};
}
private function shoot(_arg1:TimerEvent){
if ((((main.lives <= 0)) && ((main.lifeNumerator <= 0)))){
} else {
main.attEnemyAmmo6(this);
};
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * (_arg2 - _arg1))) + _arg1);
return (_local3);
}
public function looper(){
if (life <= 0){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
main.attExplosion(this);
main.attCoin(this);
main.countLevelKills();
destruct("hit");
} else {
if (this.y >= 550){
destruct("outBounds");
};
drawWire();
};
}
private function shoot2(){
trace("ENEMY 3 projectile");
}
public function destruct(_arg1:String){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
Tweener.removeTweens(this);
shootTimer.stop();
shootTimer.removeEventListener(TimerEvent.TIMER, shoot);
main.removeFromArray(main.enemyArray, this);
}
public function initWire(){
electricCharge_mc.gotoAndPlay(2);
MovieClip(parent).addChild(drawingLine);
wireOn = "yes";
}
function drawWire(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:GlowFilter;
_local1 = 10;
_local2 = this.rotation;
_local3 = (this.x + (_local1 * Math.cos(((_local2 * Math.PI) / 180))));
_local4 = (this.y + (_local1 * Math.sin(((_local2 * Math.PI) / 180))));
drawingLine.graphics.clear();
drawingLine.graphics.lineStyle(1, 0xFFFFFF, 0.5);
drawingLine.graphics.moveTo(_local3, _local4);
drawingLine.graphics.lineTo(target.x, target.y);
_local5 = new GlowFilter();
_local5.inner = false;
_local5.color = 0xFF0000;
_local5.blurX = 20;
_local5.blurY = 20;
_local5.alpha = 0.8;
drawingLine.filters = [_local5];
}
}
}//package
Section 156
//Enemy13 (Enemy13)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class Enemy13 extends MovieClip {
public var life:Number;
public var drawingLine:MovieClip;
public var wireOn:String;// = "no"
public var flash_mc:MovieClip;
public var typeOfDestruction:String;
private var shootTimer:Timer;
public var electricCharge_mc:MovieClip;
private var origYposition:Number;
public var target:MovieClip;
public var origXposition:Number;
private var spd:Number;
private var rateOfShoot:Number;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Enemy13(_arg1:Number){
wireOn = "no";
drawingLine = new MovieClip();
super();
life = 30;
spd = (Math.floor((Math.random() * (3 - 1))) + 1);
rateOfShoot = (Math.floor((Math.random() * (1000 - 800))) + 800);
shootTimer = new Timer(rateOfShoot, 0);
shootTimer.addEventListener(TimerEvent.TIMER, shoot);
shootTimer.start();
origXposition = _arg1;
origYposition = this.y;
if (origXposition < 0){
Tweener.addTween(this, {x:650, time:4, onComplete:destruct, onCompleteParams:[""], transition:"easeInOutStrong"});
} else {
if (origXposition > 500){
Tweener.addTween(this, {x:-10, time:4, onComplete:destruct, onCompleteParams:[""], transition:"easeInOutStrong"});
};
};
Tweener.addTween(this, {y:randomGenerator(100, 250), time:2, transition:"easeInOutStrong"});
Tweener.addTween(this, {y:origYposition, time:2, delay:2, transition:"easeInOutStrong"});
}
public function removeWire(){
electricCharge_mc.gotoAndStop(1);
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
};
}
private function shoot(_arg1:TimerEvent){
if ((((main.lives <= 0)) && ((main.lifeNumerator <= 0)))){
} else {
main.attEnemyAmmo4(this);
};
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * (_arg2 - _arg1))) + _arg1);
return (_local3);
}
public function looper(){
if (life <= 0){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
main.attExplosion(this);
main.attCoin(this);
main.countLevelKills();
destruct("hit");
} else {
drawWire();
};
}
public function destruct(_arg1:String){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
Tweener.removeTweens(this);
shootTimer.stop();
shootTimer.removeEventListener(TimerEvent.TIMER, shoot);
main.removeFromArray(main.enemyArray, this);
}
public function initWire(){
electricCharge_mc.gotoAndPlay(2);
MovieClip(parent).addChild(drawingLine);
wireOn = "yes";
}
function drawWire(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:GlowFilter;
_local1 = 10;
_local2 = this.rotation;
_local3 = (this.x + (_local1 * Math.cos(((_local2 * Math.PI) / 180))));
_local4 = (this.y + (_local1 * Math.sin(((_local2 * Math.PI) / 180))));
drawingLine.graphics.clear();
drawingLine.graphics.lineStyle(1, 0xFFFFFF, 0.5);
drawingLine.graphics.moveTo(_local3, _local4);
drawingLine.graphics.lineTo(target.x, target.y);
_local5 = new GlowFilter();
_local5.inner = false;
_local5.color = 0xFF0000;
_local5.blurX = 20;
_local5.blurY = 20;
_local5.alpha = 0.8;
drawingLine.filters = [_local5];
}
}
}//package
Section 157
//Enemy14 (Enemy14)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.filters.*;
public class Enemy14 extends MovieClip {
public var life:Number;// = 10
public var xSpd:Number;
public var drawingLine:MovieClip;
public var wireOn:String;// = "no"
public var flash_mc:MovieClip;
public var electricCharge_mc:MovieClip;
public var ySpd:Number;
public var target:MovieClip;
public var mc:MovieClip;
public var spd:Number;
private var dir:Point;
public var grvty:Number;
public var main:MovieClip;
public var angle:Number;
public var rot:Number;
public var hitBox_mc:MovieClip;
public function Enemy14(_arg1:Number, _arg2:MovieClip){
wireOn = "no";
drawingLine = new MovieClip();
life = 10;
dir = new Point(0, 0);
super();
mc = mc;
target = _arg2;
this.rotation = _arg1;
init();
}
public function init(){
spd = 5;
grvty = 0.25;
angle = ((MovieClip(this).rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function removeWire(){
electricCharge_mc.gotoAndStop(1);
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
};
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (((Math.random() * _arg2) - _arg1) + _arg1);
return (_local3);
}
public function looper(){
var _local1:Point;
if ((((((((this.x < -50)) || ((this.x > 1020)))) || ((this.y < -500)))) || ((this.y > 750)))){
destruct("");
} else {
if (life <= 0){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
main.attExplosion(this);
main.attCoin(this);
main.countLevelKills();
destruct("");
} else {
_local1 = new Point((target.x - this.x), (target.y - this.y));
_local1.normalize(randomGenerator(0, 2));
dir = dir.add(_local1);
dir.normalize(randomGenerator(6, 9));
this.x = (this.x + dir.x);
this.y = (this.y + dir.y);
this.rotation = ((Math.atan2(dir.y, dir.x) * 180) / Math.PI);
drawWire();
};
};
}
public function destruct(_arg1:String){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
main.removeFromArray(main.enemyArray, this);
}
public function initWire(){
electricCharge_mc.gotoAndPlay(2);
MovieClip(parent).addChild(drawingLine);
wireOn = "yes";
}
function drawWire(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:GlowFilter;
_local1 = 10;
_local2 = this.rotation;
_local3 = (this.x + (_local1 * Math.cos(((_local2 * Math.PI) / 180))));
_local4 = (this.y + (_local1 * Math.sin(((_local2 * Math.PI) / 180))));
drawingLine.graphics.clear();
drawingLine.graphics.lineStyle(1, 0xFFFFFF, 0.5);
drawingLine.graphics.moveTo(_local3, _local4);
drawingLine.graphics.lineTo(target.x, target.y);
_local5 = new GlowFilter();
_local5.inner = false;
_local5.color = 0xFF0000;
_local5.blurX = 20;
_local5.blurY = 20;
_local5.alpha = 0.8;
drawingLine.filters = [_local5];
}
}
}//package
Section 158
//Enemy15 (Enemy15)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class Enemy15 extends MovieClip {
private var xDir:String;
public var life:Number;
private var xSpd:Number;
public var drawingLine:MovieClip;
public var wireOn:String;// = "no"
public var flash_mc:MovieClip;
public var typeOfDestruction:String;
private var shootTimer:Timer;
public var electricCharge_mc:MovieClip;
private var minXpos:Number;
public var target:MovieClip;
private var maxXpos:Number;
private var spd:Number;
private var rateOfShoot:Number;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Enemy15(){
wireOn = "no";
drawingLine = new MovieClip();
super();
life = 30;
spd = (Math.floor((Math.random() * (6 - 1))) + 1);
xSpd = ((Math.random() * (12 - 8)) + 8);
minXpos = 25;
maxXpos = 475;
xDir = "left";
rateOfShoot = (Math.floor((Math.random() * (1000 - 800))) + 800);
shootTimer = new Timer(rateOfShoot, 0);
shootTimer.addEventListener(TimerEvent.TIMER, shoot);
shootTimer.start();
}
public function removeWire(){
electricCharge_mc.gotoAndStop(1);
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
};
}
private function shoot(_arg1:TimerEvent){
if ((((main.lives <= 0)) && ((main.lifeNumerator <= 0)))){
} else {
main.attEnemyAmmo3(this);
};
}
public function looper(){
if (life <= 0){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
main.attExplosion(this);
main.attCoin(this);
main.countLevelKills();
destruct("hit");
} else {
if (this.x < minXpos){
xDir = "right";
} else {
if (this.x > maxXpos){
xDir = "left";
};
};
if (xDir == "left"){
xSpd = ((Math.random() * (12 - 8)) + 8);
this.x = (this.x - xSpd);
} else {
if (xDir == "right"){
xSpd = ((Math.random() * (12 - 8)) + 8);
this.x = (this.x + xSpd);
};
};
this.y = (this.y + spd);
if (this.y >= 550){
destruct("outBounds");
};
drawWire();
};
}
public function destruct(_arg1:String){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
shootTimer.stop();
shootTimer.removeEventListener(TimerEvent.TIMER, shoot);
main.removeFromArray(main.enemyArray, this);
}
public function initWire(){
electricCharge_mc.gotoAndPlay(2);
MovieClip(parent).addChild(drawingLine);
wireOn = "yes";
}
function drawWire(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:GlowFilter;
_local1 = 10;
_local2 = this.rotation;
_local3 = (this.x + (_local1 * Math.cos(((_local2 * Math.PI) / 180))));
_local4 = (this.y + (_local1 * Math.sin(((_local2 * Math.PI) / 180))));
drawingLine.graphics.clear();
drawingLine.graphics.lineStyle(1, 0xFFFFFF, 0.5);
drawingLine.graphics.moveTo(_local3, _local4);
drawingLine.graphics.lineTo(target.x, target.y);
_local5 = new GlowFilter();
_local5.inner = false;
_local5.color = 0xFF0000;
_local5.blurX = 20;
_local5.blurY = 20;
_local5.alpha = 0.8;
drawingLine.filters = [_local5];
}
}
}//package
Section 159
//Enemy2 (Enemy2)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class Enemy2 extends MovieClip {
public var life:Number;
public var drawingLine:MovieClip;
public var wireOn:String;// = "no"
public var flash_mc:MovieClip;
public var typeOfDestruction:String;
private var shootTimer:Timer;
public var electricCharge_mc:MovieClip;
private var origYposition:Number;
public var target:MovieClip;
public var origXposition:Number;
private var spd:Number;
private var rateOfShoot:Number;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Enemy2(_arg1:Number){
wireOn = "no";
drawingLine = new MovieClip();
super();
life = 30;
spd = (Math.floor((Math.random() * (3 - 1))) + 1);
rateOfShoot = (Math.floor((Math.random() * (1000 - 800))) + 800);
shootTimer = new Timer(rateOfShoot, 0);
shootTimer.addEventListener(TimerEvent.TIMER, shoot);
shootTimer.start();
origXposition = _arg1;
origYposition = this.y;
if (origXposition < 0){
Tweener.addTween(this, {x:650, time:4, onComplete:destruct, onCompleteParams:[""], transition:"linear"});
} else {
if (origXposition > 500){
Tweener.addTween(this, {x:-10, time:4, onComplete:destruct, onCompleteParams:[""], transition:"linear"});
};
};
Tweener.addTween(this, {y:randomGenerator(100, 250), time:2, transition:"linear"});
Tweener.addTween(this, {y:origYposition, time:2, delay:2, transition:"linear"});
}
public function removeWire(){
electricCharge_mc.gotoAndStop(1);
Tweener.removeTweens(this);
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
};
}
private function shoot(_arg1:TimerEvent){
if ((((main.lives <= 0)) && ((main.lifeNumerator <= 0)))){
} else {
main.attEnemyAmmo1(this);
};
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * (_arg2 - _arg1))) + _arg1);
return (_local3);
}
public function looper(){
if (life <= 0){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
main.attExplosion(this);
main.attCoin(this);
main.countLevelKills();
destruct("hit");
} else {
drawWire();
};
}
public function destruct(_arg1:String){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
Tweener.removeTweens(this);
shootTimer.stop();
shootTimer.removeEventListener(TimerEvent.TIMER, shoot);
main.removeFromArray(main.enemyArray, this);
}
public function initWire(){
electricCharge_mc.gotoAndPlay(2);
MovieClip(parent).addChild(drawingLine);
wireOn = "yes";
}
function drawWire(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:GlowFilter;
_local1 = 10;
_local2 = this.rotation;
_local3 = (this.x + (_local1 * Math.cos(((_local2 * Math.PI) / 180))));
_local4 = (this.y + (_local1 * Math.sin(((_local2 * Math.PI) / 180))));
drawingLine.graphics.clear();
drawingLine.graphics.lineStyle(1, 0xFFFFFF, 0.5);
drawingLine.graphics.moveTo(_local3, _local4);
drawingLine.graphics.lineTo(target.x, target.y);
_local5 = new GlowFilter();
_local5.inner = false;
_local5.color = 0xFF0000;
_local5.blurX = 20;
_local5.blurY = 20;
_local5.alpha = 0.8;
drawingLine.filters = [_local5];
}
}
}//package
Section 160
//Enemy3 (Enemy3)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class Enemy3 extends MovieClip {
private var xDir:String;
public var life:Number;
private var xSpd:Number;
private var _animationSet:Number;
public var drawingLine:MovieClip;
public var wireOn:String;// = "no"
public var flash_mc:MovieClip;
public var typeOfDestruction:String;
private var shootTimer:Timer;
public var electricCharge_mc:MovieClip;
private var minXpos:Number;
public var target:MovieClip;
private var maxXpos:Number;
private var spd:Number;
private var rateOfShoot:Number;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Enemy3(){
wireOn = "no";
drawingLine = new MovieClip();
super();
life = 30;
spd = (Math.floor((Math.random() * (3 - 1))) + 1);
xSpd = ((Math.random() * (2 - 1)) + 1);
minXpos = 25;
maxXpos = 475;
xDir = "left";
rateOfShoot = (Math.floor((Math.random() * (1500 - 100))) + 100);
shootTimer = new Timer(rateOfShoot, 0);
shootTimer.addEventListener(TimerEvent.TIMER, shoot);
shootTimer.start();
_animationSet = randomGenerator(1, 5);
if (_animationSet == 1){
Tweener.addTween(this, {y:250, time:2, onComplete:shoot2, transition:"easeInOutStrong"});
Tweener.addTween(this, {y:700, time:2, delay:2, transition:"easeInOutStrong"});
} else {
if (_animationSet == 2){
Tweener.addTween(this, {y:275, time:2, onComplete:shoot2, transition:"easeInOutStrong"});
Tweener.addTween(this, {y:700, time:2, delay:2, transition:"easeInOutStrong"});
} else {
if (_animationSet == 3){
Tweener.addTween(this, {y:300, time:2, onComplete:shoot2, transition:"easeInOutStrong"});
Tweener.addTween(this, {y:700, time:2, delay:2, transition:"easeInOutStrong"});
} else {
if (_animationSet == 4){
Tweener.addTween(this, {y:350, time:2, onComplete:shoot2, transition:"easeInOutStrong"});
Tweener.addTween(this, {y:700, time:2, delay:2, transition:"easeInOutStrong"});
};
};
};
};
}
public function removeWire(){
electricCharge_mc.gotoAndStop(1);
Tweener.removeTweens(this);
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
};
}
private function shoot(_arg1:TimerEvent){
if ((((main.lives <= 0)) && ((main.lifeNumerator <= 0)))){
};
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * (_arg2 - _arg1))) + _arg1);
return (_local3);
}
public function looper(){
if (life <= 0){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
main.attExplosion(this);
main.attCoin(this);
main.countLevelKills();
destruct("hit");
} else {
if (this.y >= 550){
destruct("outBounds");
};
drawWire();
};
}
private function shoot2(){
main.attEnemyAmmo4(this);
}
public function destruct(_arg1:String){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
Tweener.removeTweens(this);
shootTimer.stop();
shootTimer.removeEventListener(TimerEvent.TIMER, shoot);
main.removeFromArray(main.enemyArray, this);
}
public function initWire(){
electricCharge_mc.gotoAndPlay(2);
MovieClip(parent).addChild(drawingLine);
wireOn = "yes";
}
function drawWire(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:GlowFilter;
_local1 = 10;
_local2 = this.rotation;
_local3 = (this.x + (_local1 * Math.cos(((_local2 * Math.PI) / 180))));
_local4 = (this.y + (_local1 * Math.sin(((_local2 * Math.PI) / 180))));
drawingLine.graphics.clear();
drawingLine.graphics.lineStyle(1, 0xFFFFFF, 0.5);
drawingLine.graphics.moveTo(_local3, _local4);
drawingLine.graphics.lineTo(target.x, target.y);
_local5 = new GlowFilter();
_local5.inner = false;
_local5.color = 0xFF0000;
_local5.blurX = 20;
_local5.blurY = 20;
_local5.alpha = 0.8;
drawingLine.filters = [_local5];
}
}
}//package
Section 161
//Enemy4 (Enemy4)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class Enemy4 extends MovieClip {
public var life:Number;
public var xSpd:Number;
public var drawingLine:MovieClip;
public var wireOn:String;// = "no"
public var flash_mc:MovieClip;
public var typeOfDestruction:String;
private var shootTimer:Timer;
public var electricCharge_mc:MovieClip;
public var ySpd:Number;
public var target:MovieClip;
public var spd:Number;
public var grvty:Number;
private var rateOfShoot:Number;
public var main:MovieClip;
public var angle:Number;
public var hitBox_mc:MovieClip;
public function Enemy4(_arg1:Number){
wireOn = "no";
drawingLine = new MovieClip();
super();
life = 30;
spd = (Math.floor((Math.random() * (3 - 1))) + 1);
xSpd = ((Math.random() * (2 - 1)) + 1);
rateOfShoot = (Math.floor((Math.random() * (1000 - 800))) + 800);
shootTimer = new Timer(rateOfShoot, 0);
shootTimer.addEventListener(TimerEvent.TIMER, shoot);
shootTimer.start();
spd = 8;
grvty = 1;
angle = ((_arg1 / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function removeWire(){
electricCharge_mc.gotoAndStop(1);
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
};
}
private function shoot2(){
trace("ENEMY 4 projectile");
}
private function shoot(_arg1:TimerEvent){
if ((((main.lives <= 0)) && ((main.lifeNumerator <= 0)))){
} else {
main.attEnemyAmmo1(this);
};
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * (_arg2 - _arg1))) + _arg1);
return (_local3);
}
public function looper(){
if (life <= 0){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
main.attExplosion(this);
main.attCoin(this);
main.countLevelKills();
destruct("hit");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
if (this.y >= 800){
destruct("outBounds");
};
drawWire();
};
}
public function destruct(_arg1:String){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
Tweener.removeTweens(this);
shootTimer.stop();
shootTimer.removeEventListener(TimerEvent.TIMER, shoot);
main.removeFromArray(main.enemyArray, this);
}
public function initWire(){
electricCharge_mc.gotoAndPlay(2);
MovieClip(parent).addChild(drawingLine);
wireOn = "yes";
}
function drawWire(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:GlowFilter;
_local1 = 10;
_local2 = this.rotation;
_local3 = (this.x + (_local1 * Math.cos(((_local2 * Math.PI) / 180))));
_local4 = (this.y + (_local1 * Math.sin(((_local2 * Math.PI) / 180))));
drawingLine.graphics.clear();
drawingLine.graphics.lineStyle(1, 0xFFFFFF, 0.5);
drawingLine.graphics.moveTo(_local3, _local4);
drawingLine.graphics.lineTo(target.x, target.y);
_local5 = new GlowFilter();
_local5.inner = false;
_local5.color = 0xFF0000;
_local5.blurX = 20;
_local5.blurY = 20;
_local5.alpha = 0.8;
drawingLine.filters = [_local5];
}
}
}//package
Section 162
//Enemy5 (Enemy5)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class Enemy5 extends MovieClip {
private var xDir:String;
public var life:Number;
private var xSpd:Number;
private var _animationSet:Number;
public var drawingLine:MovieClip;
public var wireOn:String;// = "no"
public var flash_mc:MovieClip;
public var typeOfDestruction:String;
private var shootTimer:Timer;
public var electricCharge_mc:MovieClip;
private var minXpos:Number;
public var target:MovieClip;
private var maxXpos:Number;
private var spd:Number;
private var rateOfShoot:Number;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Enemy5(){
wireOn = "no";
drawingLine = new MovieClip();
super();
life = 30;
spd = (Math.floor((Math.random() * (3 - 1))) + 1);
xSpd = ((Math.random() * (2 - 1)) + 1);
minXpos = 25;
maxXpos = 475;
xDir = "left";
rateOfShoot = (Math.floor((Math.random() * (1000 - 800))) + 800);
shootTimer = new Timer(rateOfShoot, 0);
shootTimer.addEventListener(TimerEvent.TIMER, shoot);
shootTimer.start();
_animationSet = randomGenerator(1, 5);
if (_animationSet == 1){
Tweener.addTween(this, {y:100, time:1, onComplete:shoot2, transition:"easeInOutStrong"});
Tweener.addTween(this, {y:700, time:1, delay:1, transition:"easeInOutStrong"});
} else {
if (_animationSet == 2){
Tweener.addTween(this, {y:110, time:1, onComplete:shoot2, transition:"easeInOutStrong"});
Tweener.addTween(this, {y:700, time:1, delay:1, transition:"easeInOutStrong"});
} else {
if (_animationSet == 3){
Tweener.addTween(this, {y:120, time:1, onComplete:shoot2, transition:"easeInOutStrong"});
Tweener.addTween(this, {y:700, time:1, delay:1, transition:"easeInOutStrong"});
} else {
if (_animationSet == 4){
Tweener.addTween(this, {y:150, time:1, onComplete:shoot2, transition:"easeInOutStrong"});
Tweener.addTween(this, {y:700, time:1, delay:1, transition:"easeInOutStrong"});
};
};
};
};
}
public function removeWire(){
electricCharge_mc.gotoAndStop(1);
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
};
}
private function shoot(_arg1:TimerEvent){
if ((((main.lives <= 0)) && ((main.lifeNumerator <= 0)))){
};
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * (_arg2 - _arg1))) + _arg1);
return (_local3);
}
public function looper(){
if (life <= 0){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
main.attCoin(this);
main.countLevelKills();
destruct("hit");
} else {
if (this.y >= 550){
destruct("outBounds");
};
drawWire();
};
}
private function shoot2(){
main.attEnemyAmmo2(this);
}
public function destruct(_arg1:String){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
Tweener.removeTweens(this);
shootTimer.stop();
shootTimer.removeEventListener(TimerEvent.TIMER, shoot);
main.removeFromArray(main.enemyArray, this);
}
public function initWire(){
electricCharge_mc.gotoAndPlay(2);
MovieClip(parent).addChild(drawingLine);
wireOn = "yes";
}
function drawWire(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:GlowFilter;
_local1 = 10;
_local2 = this.rotation;
_local3 = (this.x + (_local1 * Math.cos(((_local2 * Math.PI) / 180))));
_local4 = (this.y + (_local1 * Math.sin(((_local2 * Math.PI) / 180))));
drawingLine.graphics.clear();
drawingLine.graphics.lineStyle(1, 0xFFFFFF, 0.5);
drawingLine.graphics.moveTo(_local3, _local4);
drawingLine.graphics.lineTo(target.x, target.y);
_local5 = new GlowFilter();
_local5.inner = false;
_local5.color = 0xFF0000;
_local5.blurX = 20;
_local5.blurY = 20;
_local5.alpha = 0.8;
drawingLine.filters = [_local5];
}
}
}//package
Section 163
//Enemy6 (Enemy6)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class Enemy6 extends MovieClip {
private var xDir:String;
public var life:Number;
private var xSpd:Number;
private var _animationSet:Number;
public var drawingLine:MovieClip;
public var wireOn:String;// = "no"
public var flash_mc:MovieClip;
public var typeOfDestruction:String;
private var shootTimer:Timer;
public var electricCharge_mc:MovieClip;
private var minXpos:Number;
public var target:MovieClip;
private var maxXpos:Number;
private var spd:Number;
private var rateOfShoot:Number;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Enemy6(){
wireOn = "no";
drawingLine = new MovieClip();
super();
life = 30;
spd = (Math.floor((Math.random() * (3 - 1))) + 1);
xSpd = ((Math.random() * (2 - 1)) + 1);
minXpos = 25;
maxXpos = 475;
xDir = "left";
rateOfShoot = (Math.floor((Math.random() * (1000 - 800))) + 800);
shootTimer = new Timer(rateOfShoot, 0);
shootTimer.addEventListener(TimerEvent.TIMER, shoot);
shootTimer.start();
_animationSet = randomGenerator(1, 5);
Tweener.addTween(this, {y:randomGenerator(50, 100), time:1, transition:"easeInOutStrong"});
Tweener.addTween(this, {x:randomGenerator(50, 450), y:randomGenerator(50, 150), time:1, delay:1, transition:"easeInOutStrong"});
Tweener.addTween(this, {x:randomGenerator(50, 450), y:randomGenerator(50, 150), time:1, delay:2, transition:"easeInOutStrong"});
Tweener.addTween(this, {x:randomGenerator(50, 450), y:randomGenerator(50, 150), time:1, delay:3, transition:"easeInOutStrong"});
Tweener.addTween(this, {x:randomGenerator(50, 450), y:randomGenerator(50, 150), time:1, delay:4, transition:"easeInOutStrong"});
Tweener.addTween(this, {y:600, time:3, delay:4, onComplete:destruct, onCompleteParams:[""], transition:"easeInOutStrong"});
}
public function removeWire(){
electricCharge_mc.gotoAndStop(1);
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
};
}
private function shoot(_arg1:TimerEvent){
if ((((main.lives <= 0)) && ((main.lifeNumerator <= 0)))){
} else {
main.attEnemyAmmo1(this);
};
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * (_arg2 - _arg1))) + _arg1);
return (_local3);
}
public function looper(){
if (life <= 0){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
main.attExplosion(this);
main.attCoin(this);
main.countLevelKills();
destruct("hit");
} else {
if (this.y >= 550){
destruct("outBounds");
};
drawWire();
};
}
private function shoot2(){
trace("ENEMY 3 projectile");
}
public function destruct(_arg1:String){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
Tweener.removeTweens(this);
shootTimer.stop();
shootTimer.removeEventListener(TimerEvent.TIMER, shoot);
main.removeFromArray(main.enemyArray, this);
}
public function initWire(){
electricCharge_mc.gotoAndPlay(2);
MovieClip(parent).addChild(drawingLine);
wireOn = "yes";
}
function drawWire(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:GlowFilter;
_local1 = 10;
_local2 = this.rotation;
_local3 = (this.x + (_local1 * Math.cos(((_local2 * Math.PI) / 180))));
_local4 = (this.y + (_local1 * Math.sin(((_local2 * Math.PI) / 180))));
drawingLine.graphics.clear();
drawingLine.graphics.lineStyle(1, 0xFFFFFF, 0.5);
drawingLine.graphics.moveTo(_local3, _local4);
drawingLine.graphics.lineTo(target.x, target.y);
_local5 = new GlowFilter();
_local5.inner = false;
_local5.color = 0xFF0000;
_local5.blurX = 20;
_local5.blurY = 20;
_local5.alpha = 0.8;
drawingLine.filters = [_local5];
}
}
}//package
Section 164
//Enemy7 (Enemy7)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class Enemy7 extends MovieClip {
private var xDir:String;
public var life:Number;
private var xSpd:Number;
private var _animationSet:Number;
public var drawingLine:MovieClip;
public var wireOn:String;// = "no"
public var flash_mc:MovieClip;
public var typeOfDestruction:String;
private var shootTimer:Timer;
public var electricCharge_mc:MovieClip;
private var minXpos:Number;
public var target:MovieClip;
private var maxXpos:Number;
private var spd:Number;
private var rateOfShoot:Number;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Enemy7(){
wireOn = "no";
drawingLine = new MovieClip();
super();
life = 30;
spd = (Math.floor((Math.random() * (3 - 1))) + 1);
xSpd = ((Math.random() * (2 - 1)) + 1);
minXpos = 25;
maxXpos = 475;
xDir = "left";
rateOfShoot = (Math.floor((Math.random() * (1000 - 800))) + 800);
shootTimer = new Timer(rateOfShoot, 0);
shootTimer.addEventListener(TimerEvent.TIMER, shoot);
shootTimer.start();
_animationSet = randomGenerator(1, 5);
if (_animationSet == 1){
Tweener.addTween(this, {y:200, time:2, onComplete:shoot2, transition:"linear"});
Tweener.addTween(this, {y:700, time:2, delay:2, transition:"linear"});
} else {
if (_animationSet == 2){
Tweener.addTween(this, {y:250, time:2, onComplete:shoot2, transition:"linear"});
Tweener.addTween(this, {y:700, time:2, delay:2, transition:"linear"});
} else {
if (_animationSet == 3){
Tweener.addTween(this, {y:275, time:2, onComplete:shoot2, transition:"linear"});
Tweener.addTween(this, {y:700, time:2, delay:2, transition:"linear"});
} else {
if (_animationSet == 4){
Tweener.addTween(this, {y:300, time:2, onComplete:shoot2, transition:"linear"});
Tweener.addTween(this, {y:700, time:2, delay:2, transition:"linear"});
};
};
};
};
}
public function removeWire(){
electricCharge_mc.gotoAndStop(1);
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
};
}
private function shoot(_arg1:TimerEvent){
if ((((main.lives <= 0)) && ((main.lifeNumerator <= 0)))){
} else {
main.attEnemyAmmo5(this);
};
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * (_arg2 - _arg1))) + _arg1);
return (_local3);
}
public function looper(){
if (life <= 0){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
main.attExplosion(this);
main.attCoin(this);
main.countLevelKills();
destruct("hit");
} else {
if (this.y >= 550){
destruct("outBounds");
};
drawWire();
};
}
private function shoot2(){
main.attEnemyAmmo5(this);
}
public function destruct(_arg1:String){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
Tweener.removeTweens(this);
shootTimer.stop();
shootTimer.removeEventListener(TimerEvent.TIMER, shoot);
main.removeFromArray(main.enemyArray, this);
}
public function initWire(){
electricCharge_mc.gotoAndPlay(2);
MovieClip(parent).addChild(drawingLine);
wireOn = "yes";
}
function drawWire(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:GlowFilter;
_local1 = 10;
_local2 = this.rotation;
_local3 = (this.x + (_local1 * Math.cos(((_local2 * Math.PI) / 180))));
_local4 = (this.y + (_local1 * Math.sin(((_local2 * Math.PI) / 180))));
drawingLine.graphics.clear();
drawingLine.graphics.lineStyle(1, 0xFFFFFF, 0.5);
drawingLine.graphics.moveTo(_local3, _local4);
drawingLine.graphics.lineTo(target.x, target.y);
_local5 = new GlowFilter();
_local5.inner = false;
_local5.color = 0xFF0000;
_local5.blurX = 20;
_local5.blurY = 20;
_local5.alpha = 0.8;
drawingLine.filters = [_local5];
}
}
}//package
Section 165
//Enemy8 (Enemy8)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class Enemy8 extends MovieClip {
public var life:Number;
public var drawingLine:MovieClip;
public var wireOn:String;// = "no"
public var flash_mc:MovieClip;
public var typeOfDestruction:String;
private var shootTimer:Timer;
public var electricCharge_mc:MovieClip;
private var origYposition:Number;
public var target:MovieClip;
public var origXposition:Number;
private var spd:Number;
private var rateOfShoot:Number;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Enemy8(_arg1:Number){
wireOn = "no";
drawingLine = new MovieClip();
super();
life = 30;
spd = (Math.floor((Math.random() * (3 - 1))) + 1);
rateOfShoot = (Math.floor((Math.random() * (1000 - 800))) + 800);
shootTimer = new Timer(rateOfShoot, 0);
shootTimer.addEventListener(TimerEvent.TIMER, shoot);
shootTimer.start();
origXposition = _arg1;
origYposition = this.y;
if (origXposition < 0){
Tweener.addTween(this, {x:650, time:4, onComplete:destruct, onCompleteParams:[""], transition:"linear"});
} else {
if (origXposition > 500){
Tweener.addTween(this, {x:-10, time:4, onComplete:destruct, onCompleteParams:[""], transition:"linear"});
};
};
Tweener.addTween(this, {y:randomGenerator(100, 250), time:2, transition:"linear"});
Tweener.addTween(this, {y:origYposition, time:2, delay:2, transition:"linear"});
}
public function removeWire(){
electricCharge_mc.gotoAndStop(1);
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
};
}
private function shoot(_arg1:TimerEvent){
if ((((main.lives <= 0)) && ((main.lifeNumerator <= 0)))){
} else {
main.attEnemyAmmo2(this);
};
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * (_arg2 - _arg1))) + _arg1);
return (_local3);
}
public function looper(){
if (life <= 0){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
main.attExplosion(this);
main.attCoin(this);
main.countLevelKills();
destruct("hit");
} else {
drawWire();
};
}
public function destruct(_arg1:String){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
Tweener.removeTweens(this);
shootTimer.stop();
shootTimer.removeEventListener(TimerEvent.TIMER, shoot);
main.removeFromArray(main.enemyArray, this);
}
public function initWire(){
electricCharge_mc.gotoAndPlay(2);
MovieClip(parent).addChild(drawingLine);
wireOn = "yes";
}
function drawWire(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:GlowFilter;
_local1 = 10;
_local2 = this.rotation;
_local3 = (this.x + (_local1 * Math.cos(((_local2 * Math.PI) / 180))));
_local4 = (this.y + (_local1 * Math.sin(((_local2 * Math.PI) / 180))));
drawingLine.graphics.clear();
drawingLine.graphics.lineStyle(1, 0xFFFFFF, 0.5);
drawingLine.graphics.moveTo(_local3, _local4);
drawingLine.graphics.lineTo(target.x, target.y);
_local5 = new GlowFilter();
_local5.inner = false;
_local5.color = 0xFF0000;
_local5.blurX = 20;
_local5.blurY = 20;
_local5.alpha = 0.8;
drawingLine.filters = [_local5];
}
}
}//package
Section 166
//Enemy9 (Enemy9)
package {
import flash.display.*;
import flash.events.*;
import caurina.transitions.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class Enemy9 extends MovieClip {
private var xDir:String;
public var life:Number;
private var xSpd:Number;
private var _animationSet:Number;
public var drawingLine:MovieClip;
public var wireOn:String;// = "no"
public var flash_mc:MovieClip;
public var typeOfDestruction:String;
private var shootTimer:Timer;
public var electricCharge_mc:MovieClip;
private var minXpos:Number;
public var target:MovieClip;
private var maxXpos:Number;
private var spd:Number;
private var rateOfShoot:Number;
public var main:MovieClip;
public var hitBox_mc:MovieClip;
public function Enemy9(){
wireOn = "no";
drawingLine = new MovieClip();
super();
life = 30;
spd = (Math.floor((Math.random() * (3 - 1))) + 1);
xSpd = ((Math.random() * (2 - 1)) + 1);
minXpos = 25;
maxXpos = 475;
xDir = "left";
rateOfShoot = (Math.floor((Math.random() * (1000 - 800))) + 800);
shootTimer = new Timer(rateOfShoot, 0);
shootTimer.addEventListener(TimerEvent.TIMER, shoot);
shootTimer.start();
_animationSet = randomGenerator(1, 5);
Tweener.addTween(this, {y:randomGenerator(50, 100), time:1, transition:"easeInOutStrong"});
Tweener.addTween(this, {x:randomGenerator(50, 450), y:randomGenerator(50, 150), time:1, delay:1, transition:"easeInOutStrong"});
Tweener.addTween(this, {x:randomGenerator(50, 450), y:randomGenerator(50, 150), time:1, delay:2, transition:"easeInOutStrong"});
Tweener.addTween(this, {x:randomGenerator(50, 450), y:randomGenerator(50, 150), time:1, delay:3, transition:"easeInOutStrong"});
Tweener.addTween(this, {x:randomGenerator(50, 450), y:randomGenerator(50, 150), time:1, delay:4, transition:"easeInOutStrong"});
Tweener.addTween(this, {y:600, time:3, delay:4, onComplete:destruct, onCompleteParams:[""], transition:"easeInOutStrong"});
}
public function removeWire(){
electricCharge_mc.gotoAndStop(1);
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
};
}
private function shoot(_arg1:TimerEvent){
if ((((main.lives <= 0)) && ((main.lifeNumerator <= 0)))){
} else {
main.attEnemyAmmo2(this);
};
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * (_arg2 - _arg1))) + _arg1);
return (_local3);
}
public function looper(){
if (life <= 0){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
main.attExplosion(this);
main.attCoin(this);
main.countLevelKills();
destruct("hit");
} else {
if (this.y >= 550){
destruct("outBounds");
};
drawWire();
};
}
private function shoot2(){
trace("ENEMY 3 projectile");
}
public function destruct(_arg1:String){
if (wireOn == "yes"){
MovieClip(parent).removeChild(drawingLine);
wireOn = "no";
};
Tweener.removeTweens(this);
shootTimer.stop();
shootTimer.removeEventListener(TimerEvent.TIMER, shoot);
main.removeFromArray(main.enemyArray, this);
}
public function initWire(){
electricCharge_mc.gotoAndPlay(2);
MovieClip(parent).addChild(drawingLine);
wireOn = "yes";
}
function drawWire(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:GlowFilter;
_local1 = 10;
_local2 = this.rotation;
_local3 = (this.x + (_local1 * Math.cos(((_local2 * Math.PI) / 180))));
_local4 = (this.y + (_local1 * Math.sin(((_local2 * Math.PI) / 180))));
drawingLine.graphics.clear();
drawingLine.graphics.lineStyle(1, 0xFFFFFF, 0.5);
drawingLine.graphics.moveTo(_local3, _local4);
drawingLine.graphics.lineTo(target.x, target.y);
_local5 = new GlowFilter();
_local5.inner = false;
_local5.color = 0xFF0000;
_local5.blurX = 20;
_local5.blurY = 20;
_local5.alpha = 0.8;
drawingLine.filters = [_local5];
}
}
}//package
Section 167
//EnemyAmmo1 (EnemyAmmo1)
package {
import flash.display.*;
import flash.events.*;
public class EnemyAmmo1 extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var main:MovieClip;
public var angle:Number;
public var hitBox_mc:MovieClip;
public function EnemyAmmo1(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 6;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (this.y > 600){
destruct("");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).enemyAmmo1Array, this);
}
}
}//package
Section 168
//EnemyAmmo2 (EnemyAmmo2)
package {
import flash.display.*;
import flash.events.*;
public class EnemyAmmo2 extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var main:MovieClip;
public var angle:Number;
public var hitBox_mc:MovieClip;
public function EnemyAmmo2(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 6;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (this.y > 600){
destruct("");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).enemyAmmo2Array, this);
}
}
}//package
Section 169
//EnemyAmmo3 (EnemyAmmo3)
package {
import flash.display.*;
import flash.events.*;
public class EnemyAmmo3 extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var main:MovieClip;
public var angle:Number;
public var hitBox_mc:MovieClip;
public function EnemyAmmo3(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 4;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if ((((((this.x < 0)) || ((this.x > 600)))) || ((this.y > 600)))){
destruct("");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).enemyAmmo3Array, this);
}
}
}//package
Section 170
//EnemyAmmo4 (EnemyAmmo4)
package {
import flash.display.*;
import flash.events.*;
public class EnemyAmmo4 extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var main:MovieClip;
public var angle:Number;
public var hitBox_mc:MovieClip;
public function EnemyAmmo4(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 4;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if ((((((this.x < 0)) || ((this.x > 600)))) || ((this.y > 600)))){
destruct("");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).enemyAmmo4Array, this);
}
}
}//package
Section 171
//EnemyAmmo5 (EnemyAmmo5)
package {
import flash.display.*;
import flash.events.*;
public class EnemyAmmo5 extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var main:MovieClip;
public var angle:Number;
public var hitBox_mc:MovieClip;
public function EnemyAmmo5(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 4;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if ((((((this.x < 0)) || ((this.x > 600)))) || ((this.y > 600)))){
destruct("");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).enemyAmmo5Array, this);
}
}
}//package
Section 172
//EnemyAmmo6 (EnemyAmmo6)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.filters.*;
public class EnemyAmmo6 extends MovieClip {
public var life:Number;// = 10
public var xSpd:Number;
public var ySpd:Number;
public var target:MovieClip;
public var mc:MovieClip;
public var spd:Number;
private var dir:Point;
public var grvty:Number;
public var main:MovieClip;
public var angle:Number;
public var rot:Number;
public var hitBox_mc:MovieClip;
public function EnemyAmmo6(_arg1:Number, _arg2:MovieClip){
life = 10;
dir = new Point(0, 0);
super();
mc = mc;
target = _arg2;
this.rotation = _arg1;
init();
}
public function init(){
spd = 5;
grvty = 0.25;
angle = ((MovieClip(this).rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = ((Math.random() * (_arg2 - _arg1)) + _arg1);
return (_local3);
}
public function looper(){
var _local1:Point;
if ((((((((this.x < -50)) || ((this.x > 1020)))) || ((this.y < -50)))) || ((this.y > 750)))){
destruct("");
} else {
if (life <= 0){
MovieClip(parent.parent).attExplosion(this);
destruct("");
} else {
_local1 = new Point((target.x - this.x), (target.y - this.y));
_local1.normalize(randomGenerator(0, 2));
dir = dir.add(_local1);
dir.normalize(randomGenerator(6, 9));
this.x = (this.x + dir.x);
this.y = (this.y + dir.y);
this.rotation = ((Math.atan2(dir.y, dir.x) * 180) / Math.PI);
};
};
}
public function destruct(_arg1:String){
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).enemyArray, this);
}
}
}//package
Section 173
//ExplodeSnd (ExplodeSnd)
package {
import flash.media.*;
public dynamic class ExplodeSnd extends Sound {
}
}//package
Section 174
//Explosion (Explosion)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.geom.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Explosion extends MovieClip {
public function Explosion(){
addFrameScript(13, frame14);
}
function frame14(){
stop();
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).explosionArray, this);
}
}
}//package
Section 175
//FlareSnd (FlareSnd)
package {
import flash.media.*;
public dynamic class FlareSnd extends Sound {
}
}//package
Section 176
//GameScreenSnd (GameScreenSnd)
package {
import flash.media.*;
public dynamic class GameScreenSnd extends Sound {
}
}//package
Section 177
//Health1 (Health1)
package {
import flash.display.*;
import flash.events.*;
public class Health1 extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var angle:Number;
public function Health1(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 1.5;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (MovieClip(parent.parent).levelContainer_mc.player_mc.hitTestObject(this)){
MovieClip(parent.parent).attHealthPrompt(this);
MovieClip(parent.parent).lifeNum = (MovieClip(parent.parent).lifeNum + (MovieClip(parent.parent).lifeDenom * 0.25));
if (MovieClip(parent.parent).lifeNum >= MovieClip(parent.parent).lifeDenom){
MovieClip(parent.parent).lifeNum = MovieClip(parent.parent).lifeDenom;
};
MovieClip(parent.parent).didAcquireHealth = true;
destruct("");
} else {
if (this.y > 600){
destruct("");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
};
}
public function destruct(_arg1:String){
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).moneyArray, this);
}
}
}//package
Section 178
//Health2 (Health2)
package {
import flash.display.*;
import flash.events.*;
public class Health2 extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var angle:Number;
public function Health2(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 1.5;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (MovieClip(parent.parent).levelContainer_mc.player_mc.hitTestObject(this)){
MovieClip(parent.parent).attHealthPrompt(this);
MovieClip(parent.parent).lifeNum = MovieClip(parent.parent).lifeDenom;
MovieClip(parent.parent).didAcquireHealth = true;
destruct("");
} else {
if (this.y > 600){
destruct("");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
};
}
public function destruct(_arg1:String){
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).moneyArray, this);
}
}
}//package
Section 179
//HealthPrompt (HealthPrompt)
package {
import flash.display.*;
import caurina.transitions.*;
public dynamic class HealthPrompt extends MovieClip {
public var display_mc:MovieClip;
public function HealthPrompt(){
addFrameScript(0, frame1);
}
public function _disappear(){
MovieClip(parent).removeChild(this);
}
function frame1(){
stop();
Tweener.addTween(this, {scaleX:2, scaleY:2, time:2, transition:"easeOutStrong"});
Tweener.addTween(this, {alpha:0, time:3, onComplete:_disappear, transition:"linear"});
}
}
}//package
Section 180
//HomingSnd (HomingSnd)
package {
import flash.media.*;
public dynamic class HomingSnd extends Sound {
}
}//package
Section 181
//LaserSnd (LaserSnd)
package {
import flash.media.*;
public dynamic class LaserSnd extends Sound {
}
}//package
Section 182
//NewgroundsAPIAsset_big_popup_background (NewgroundsAPIAsset_big_popup_background)
package {
import flash.display.*;
public dynamic class NewgroundsAPIAsset_big_popup_background extends MovieClip {
public var tl:MovieClip;
public var br:MovieClip;
public var tr:MovieClip;
public var l:MovieClip;
public var shadow:MovieClip;
public var r:MovieClip;
public var b:MovieClip;
public var bl:MovieClip;
public var t:MovieClip;
public var c:MovieClip;
}
}//package
Section 183
//NonGameScreenSnd (NonGameScreenSnd)
package {
import flash.media.*;
public dynamic class NonGameScreenSnd extends Sound {
}
}//package
Section 184
//PickUpAmmo1 (PickUpAmmo1)
package {
import flash.display.*;
import flash.events.*;
public class PickUpAmmo1 extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var main:MovieClip;
public var angle:Number;
public var hitBox_mc:MovieClip;
public function PickUpAmmo1(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 35;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (this.y < -10){
destruct("");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).pickUpAmmo1Array, this);
}
}
}//package
Section 185
//PickUpAmmo2 (PickUpAmmo2)
package {
import flash.display.*;
import flash.events.*;
public class PickUpAmmo2 extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var main:MovieClip;
public var angle:Number;
public var hitBox_mc:MovieClip;
public function PickUpAmmo2(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 35;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (this.y < -10){
destruct("");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).pickUpAmmo2Array, this);
}
}
}//package
Section 186
//PickUpAmmo3 (PickUpAmmo3)
package {
import flash.display.*;
import flash.events.*;
public class PickUpAmmo3 extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var main:MovieClip;
public var angle:Number;
public var hitBox_mc:MovieClip;
public function PickUpAmmo3(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 35;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (this.y < -10){
destruct("");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).pickUpAmmo3Array, this);
}
}
}//package
Section 187
//PickUpAmmo4 (PickUpAmmo4)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class PickUpAmmo4 extends MovieClip {
private var shootInterval:Number;
public var hitBox_mc:MovieClip;
public var tangentialAcceleration:Number;// = 0.0174532925199433
public var rotationalVelocity:Number;// = 0
public var traction;// = 3
public var distanceTravelled:Number;// = 0
public var mini:MovieClip;
public var pos:Point;
public var speed:Number;// = 0
public var shootDist:Number;
private var shootTimer:Timer;
public var s:Shape;
public var velMag:Number;
public var myBossArr:Array;
public var dx:Number;// = 0
public var dy:Number;// = 0
public var dir:Number;// = 0
public var thrustSpeed:Number;// = 0
public var direksyon_2:Point;
public var life:Number;// = 10
public var maxDist:Number;
public var drawingLine:MovieClip;
public var drag;// = 0.9
public var emptyThrustSpeed:Number;// = 0
public var fillThrustSpeed:Number;
public var rotationalVelocityMax:Number;// = 0.0872664625997165
public var mat:Matrix;
public var myEnemyArr:Array;
public var target:MovieClip;
public var smokeCounter:Number;// = 10
public var vel:Point;
public var main:MovieClip;
public var mc:MovieClip;
private var _dir:Point;
public var norm1:Number;
public var norm2:Number;
public var driftDX:Number;// = 0
public var driftDY:Number;// = 0
public function PickUpAmmo4(_arg1:MovieClip){
dx = 0;
dy = 0;
speed = 0;
dir = 0;
drag = 0.9;
traction = 3;
thrustSpeed = 0;
distanceTravelled = 0;
fillThrustSpeed = randomGenerator(2, 5);
emptyThrustSpeed = 0;
driftDX = 0;
driftDY = 0;
direksyon_2 = new Point(0, 0);
norm1 = randomGenerator(1, 2);
norm2 = randomGenerator(5, 7);
pos = new Point();
vel = new Point();
mat = new Matrix();
s = new Shape();
rotationalVelocity = 0;
rotationalVelocityMax = ((Math.PI / 180) * 5);
tangentialAcceleration = ((Math.PI / 180) * 1);
drawingLine = new MovieClip();
life = 10;
_dir = new Point(0, 0);
myEnemyArr = new Array();
myBossArr = new Array();
smokeCounter = 10;
super();
thrustSpeed = fillThrustSpeed;
maxDist = (Math.floor((Math.random() * (200 - 100))) + 100);
shootDist = 300;
pos.x = 250;
pos.y = 250;
vel.x = (Math.PI * 2);
vel.y = (Math.PI * 2);
velMag = 5;
if (myEnemyArr.length == 0){
dir = _arg1.rotation;
this.rotation = (_arg1.rotation + 270);
} else {
if (myBossArr.length == 0){
dir = _arg1.rotation;
this.rotation = (_arg1.rotation + 270);
};
};
}
public function Move(){
this.x = (this.x + (driftDX * traction));
this.y = (this.y + (driftDY * traction));
this.x = (this.x + ((dx * 1) / traction));
this.y = (this.y + ((dy * 1) / traction));
}
public function shoot(_arg1:TimerEvent){
if (calDist(this.x, this.y, target.x, target.y) <= shootDist){
MovieClip(parent.parent).attEnemyAmmo1(this);
};
}
public function looper(){
if (life <= 0){
destruct("");
} else {
if ((((((((this.x < -50)) || ((this.x > 1020)))) || ((this.y < -50)))) || ((this.y > 750)))){
destruct("");
} else {
smokeCounter--;
if (smokeCounter <= 0){
smokeCounter = 10;
};
whichEnemyToEngage();
turn();
Move();
};
};
}
public function whichEnemyToEngage(){
var _local1:Number;
var _local2:Object;
var _local3:Number;
var _local4:Object;
if (MovieClip(parent.parent).enemyArray.length > 0){
_local1 = 0;
while (_local1 < MovieClip(parent.parent).enemyArray.length) {
_local2 = {mc:MovieClip(parent.parent).enemyArray[_local1], dis:calDist(MovieClip(parent.parent).enemyArray[_local1].x, MovieClip(parent.parent).enemyArray[_local1].y, this.x, this.y)};
myEnemyArr.push(_local2);
_local1++;
};
};
if (MovieClip(parent.parent).bossArray.length > 0){
_local3 = 0;
while (_local3 < MovieClip(parent.parent).bossArray.length) {
_local4 = {mc:MovieClip(parent.parent).bossArray[_local3], dis:calDist(MovieClip(parent.parent).bossArray[_local3].x, MovieClip(parent.parent).bossArray[_local3].y, this.x, this.y)};
myEnemyArr.push(_local4);
_local3++;
};
};
myEnemyArr.sortOn("dis", Array.NUMERIC);
if (myEnemyArr.length > 0){
followTarget(myEnemyArr[0].mc);
};
myEnemyArr.splice(0, myEnemyArr.length);
}
public function turn(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local1 = dir;
_local1 = (_local1 - 90);
_local2 = ((_local1 * Math.PI) / 180);
speed = ((dx * dx) + (dy * dy));
_local3 = Math.cos(_local2);
_local4 = Math.sin(_local2);
_local3 = (_local3 * speed);
_local4 = (_local4 * speed);
_local5 = (thrustSpeed * Math.cos(_local2));
_local6 = (thrustSpeed * Math.sin(_local2));
dx = (dx + _local5);
dy = (dy + _local6);
dx = (dx * drag);
dy = (dy * drag);
}
public function calDist(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local5 = ((_arg1 - _arg3) * (_arg1 - _arg3));
_local6 = ((_arg2 - _arg4) * (_arg2 - _arg4));
_local7 = Math.sqrt((_local5 + _local6));
return (_local7);
}
public function followTarget(_arg1:MovieClip){
var _local2:Point;
var _local3:Number;
_local2 = new Point((_arg1.x - this.x), (_arg1.y - this.y));
_local2.normalize(norm1);
direksyon_2 = direksyon_2.add(_local2);
direksyon_2.normalize(norm2);
_local3 = ((Math.atan2(direksyon_2.y, direksyon_2.x) * 180) / Math.PI);
dir = (_local3 + 90);
this.rotation = _local3;
}
public function initLine(){
MovieClip(parent).addChild(drawingLine);
}
function drwLine(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local1 = 10;
_local2 = this.rotation;
_local3 = (this.x + (_local1 * Math.cos(((_local2 * Math.PI) / 180))));
_local4 = (this.y + (_local1 * Math.sin(((_local2 * Math.PI) / 180))));
drawingLine.graphics.clear();
drawingLine.graphics.lineStyle(3);
drawingLine.graphics.moveTo(_local3, _local4);
drawingLine.graphics.lineTo(target.x, target.y);
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = ((Math.random() * (_arg2 - _arg1)) + _arg1);
return (_local3);
}
public function rotateBody(_arg1:MovieClip, _arg2:MovieClip){
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local3 = (_arg1.x - (this.x + _arg2.x));
_local4 = (_arg1.y - (this.y + _arg2.y));
_local5 = ((180 * Math.atan2(_local4, _local3)) / Math.PI);
_arg2.rotation = _local5;
}
public function destruct(_arg1:String){
main.removeFromArray(main.pickUpAmmo4Array, this);
}
function movMinimapElement(){
mini.x = (this.x * 0.1);
mini.y = (this.y * 0.1);
}
}
}//package
Section 188
//PickupWeapon1 (PickupWeapon1)
package {
import flash.display.*;
import flash.events.*;
public class PickupWeapon1 extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var main:MovieClip;
public var angle:Number;
public function PickupWeapon1(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 1.5;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (main.levelContainer_mc.player_mc.hitTestObject(this)){
main.attWeaponPrompt(this);
main.pickupAmmo1Inventory = main.pickupAmmo1Max;
main.pickupWeapon = "weapon5";
destruct("");
} else {
if (this.y > 600){
destruct("");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
};
}
public function destruct(_arg1:String){
main.removeFromArray(main.pickupWeaponArray, this);
}
}
}//package
Section 189
//PickupWeapon2 (PickupWeapon2)
package {
import flash.display.*;
import flash.events.*;
public class PickupWeapon2 extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var main:MovieClip;
public var angle:Number;
public function PickupWeapon2(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 1.5;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (main.levelContainer_mc.player_mc.hitTestObject(this)){
main.attWeaponPrompt(this);
main.pickupAmmo2Inventory = main.pickupAmmo2Max;
main.pickupWeapon = "weapon6";
destruct("");
} else {
if (this.y > 600){
destruct("");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
};
}
public function destruct(_arg1:String){
main.removeFromArray(main.pickupWeaponArray, this);
}
}
}//package
Section 190
//PickupWeapon3 (PickupWeapon3)
package {
import flash.display.*;
import flash.events.*;
public class PickupWeapon3 extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var main:MovieClip;
public var angle:Number;
public function PickupWeapon3(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 1.5;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (main.levelContainer_mc.player_mc.hitTestObject(this)){
main.attWeaponPrompt(this);
main.pickupAmmo3Inventory = main.pickupAmmo3Max;
main.pickupWeapon = "weapon7";
destruct("");
} else {
if (this.y > 600){
destruct("");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
};
}
public function destruct(_arg1:String){
main.removeFromArray(main.pickupWeaponArray, this);
}
}
}//package
Section 191
//PickupWeapon4 (PickupWeapon4)
package {
import flash.display.*;
import flash.events.*;
public class PickupWeapon4 extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var main:MovieClip;
public var angle:Number;
public function PickupWeapon4(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 1.5;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (main.levelContainer_mc.player_mc.hitTestObject(this)){
main.attWeaponPrompt(this);
main.pickupAmmo4Inventory = main.pickupAmmo4Max;
main.pickupWeapon = "homingMiniMissile";
destruct("");
} else {
if (this.y > 600){
destruct("");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
};
}
public function destruct(_arg1:String){
main.removeFromArray(main.pickupWeaponArray, this);
}
}
}//package
Section 192
//PlayerAmmo1 (PlayerAmmo1)
package {
import flash.display.*;
import flash.events.*;
public class PlayerAmmo1 extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var main:MovieClip;
public var angle:Number;
public var hitBox_mc:MovieClip;
public function PlayerAmmo1(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 35;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (this.y < -10){
destruct("");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).playerAmmo1Array, this);
}
}
}//package
Section 193
//PlayerAmmo2 (PlayerAmmo2)
package {
import flash.display.*;
import flash.events.*;
public class PlayerAmmo2 extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var main:MovieClip;
public var angle:Number;
public var hitBox_mc:MovieClip;
public function PlayerAmmo2(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 35;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (this.y < -10){
destruct("");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).playerAmmo2Array, this);
}
}
}//package
Section 194
//PlayerAmmo3 (PlayerAmmo3)
package {
import flash.display.*;
import flash.events.*;
public class PlayerAmmo3 extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var main:MovieClip;
public var angle:Number;
public var hitBox_mc:MovieClip;
public function PlayerAmmo3(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 35;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (this.y < -10){
destruct("");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).playerAmmo3Array, this);
}
}
}//package
Section 195
//PlayerAmmo4 (PlayerAmmo4)
package {
import flash.display.*;
import flash.events.*;
public class PlayerAmmo4 extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var main:MovieClip;
public var angle:Number;
public var hitBox_mc:MovieClip;
public function PlayerAmmo4(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 35;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (this.y < -10){
destruct("");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).playerAmmo4Array, this);
}
}
}//package
Section 196
//PlayerAmmo5 (PlayerAmmo5)
package {
import flash.display.*;
import flash.events.*;
public class PlayerAmmo5 extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var main:MovieClip;
public var angle:Number;
public var hitBox_mc:MovieClip;
public function PlayerAmmo5(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 35;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (this.y < -10){
destruct("");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).playerAmmo5Array, this);
}
}
}//package
Section 197
//PlayerAmmo6 (PlayerAmmo6)
package {
import flash.display.*;
import flash.events.*;
public class PlayerAmmo6 extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var main:MovieClip;
public var angle:Number;
public var hitBox_mc:MovieClip;
public function PlayerAmmo6(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 35;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (this.y < -10){
destruct("");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).playerAmmo6Array, this);
}
}
}//package
Section 198
//PlayerAmmo7 (PlayerAmmo7)
package {
import flash.display.*;
import flash.events.*;
public class PlayerAmmo7 extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var main:MovieClip;
public var angle:Number;
public var hitBox_mc:MovieClip;
public function PlayerAmmo7(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 35;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (this.y < -10){
destruct("");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).playerAmmo7Array, this);
}
}
}//package
Section 199
//PlayerSpecial1 (PlayerSpecial1)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class PlayerSpecial1 extends MovieClip {
private var shootInterval:Number;
public var hitBox_mc:MovieClip;
public var tangentialAcceleration:Number;// = 0.0174532925199433
public var rotationalVelocity:Number;// = 0
public var traction;// = 3
public var distanceTravelled:Number;// = 0
public var mini:MovieClip;
public var pos:Point;
public var speed:Number;// = 0
public var shootDist:Number;
private var shootTimer:Timer;
public var s:Shape;
public var velMag:Number;
public var myBossArr:Array;
public var dx:Number;// = 0
public var dy:Number;// = 0
public var dir:Number;// = 0
public var thrustSpeed:Number;// = 0
public var direksyon_2:Point;
public var life:Number;// = 10
public var maxDist:Number;
public var drawingLine:MovieClip;
public var drag;// = 0.9
public var emptyThrustSpeed:Number;// = 0
public var fillThrustSpeed:Number;
public var rotationalVelocityMax:Number;// = 0.0872664625997165
public var mat:Matrix;
public var myEnemyArr:Array;
public var target:MovieClip;
public var smokeCounter:Number;// = 10
public var vel:Point;
public var main:MovieClip;
public var mc:MovieClip;
private var _dir:Point;
public var norm1:Number;
public var norm2:Number;
public var driftDX:Number;// = 0
public var driftDY:Number;// = 0
public function PlayerSpecial1(_arg1:MovieClip){
dx = 0;
dy = 0;
speed = 0;
dir = 0;
drag = 0.9;
traction = 3;
thrustSpeed = 0;
distanceTravelled = 0;
fillThrustSpeed = randomGenerator(2, 5);
emptyThrustSpeed = 0;
driftDX = 0;
driftDY = 0;
direksyon_2 = new Point(0, 0);
norm1 = randomGenerator(1, 2);
norm2 = randomGenerator(5, 7);
pos = new Point();
vel = new Point();
mat = new Matrix();
s = new Shape();
rotationalVelocity = 0;
rotationalVelocityMax = ((Math.PI / 180) * 5);
tangentialAcceleration = ((Math.PI / 180) * 1);
drawingLine = new MovieClip();
life = 10;
_dir = new Point(0, 0);
myEnemyArr = new Array();
myBossArr = new Array();
smokeCounter = 10;
super();
thrustSpeed = fillThrustSpeed;
maxDist = (Math.floor((Math.random() * (200 - 100))) + 100);
shootDist = 300;
pos.x = 250;
pos.y = 250;
vel.x = (Math.PI * 2);
vel.y = (Math.PI * 2);
velMag = 5;
if (myEnemyArr.length == 0){
dir = _arg1.rotation;
this.rotation = (_arg1.rotation + 270);
} else {
if (myBossArr.length == 0){
dir = _arg1.rotation;
this.rotation = (_arg1.rotation + 270);
};
};
}
public function Move(){
this.x = (this.x + (driftDX * traction));
this.y = (this.y + (driftDY * traction));
this.x = (this.x + ((dx * 1) / traction));
this.y = (this.y + ((dy * 1) / traction));
}
public function shoot(_arg1:TimerEvent){
if (calDist(this.x, this.y, target.x, target.y) <= shootDist){
MovieClip(parent.parent).attEnemyAmmo1(this);
};
}
public function looper(){
if (life <= 0){
destruct("");
} else {
if ((((((((this.x < -50)) || ((this.x > 1020)))) || ((this.y < -50)))) || ((this.y > 750)))){
destruct("");
} else {
smokeCounter--;
if (smokeCounter <= 0){
smokeCounter = 10;
};
whichEnemyToEngage();
turn();
Move();
};
};
}
public function whichEnemyToEngage(){
var _local1:Number;
var _local2:Object;
var _local3:Number;
var _local4:Object;
if (MovieClip(parent.parent).enemyArray.length > 0){
_local1 = 0;
while (_local1 < MovieClip(parent.parent).enemyArray.length) {
_local2 = {mc:MovieClip(parent.parent).enemyArray[_local1], dis:calDist(MovieClip(parent.parent).enemyArray[_local1].x, MovieClip(parent.parent).enemyArray[_local1].y, this.x, this.y)};
myEnemyArr.push(_local2);
_local1++;
};
};
if (MovieClip(parent.parent).bossArray.length > 0){
_local3 = 0;
while (_local3 < MovieClip(parent.parent).bossArray.length) {
_local4 = {mc:MovieClip(parent.parent).bossArray[_local3], dis:calDist(MovieClip(parent.parent).bossArray[_local3].x, MovieClip(parent.parent).bossArray[_local3].y, this.x, this.y)};
myEnemyArr.push(_local4);
_local3++;
};
};
myEnemyArr.sortOn("dis", Array.NUMERIC);
if (myEnemyArr.length > 0){
followTarget(myEnemyArr[0].mc);
};
myEnemyArr.splice(0, myEnemyArr.length);
}
public function turn(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local1 = dir;
_local1 = (_local1 - 90);
_local2 = ((_local1 * Math.PI) / 180);
speed = ((dx * dx) + (dy * dy));
_local3 = Math.cos(_local2);
_local4 = Math.sin(_local2);
_local3 = (_local3 * speed);
_local4 = (_local4 * speed);
_local5 = (thrustSpeed * Math.cos(_local2));
_local6 = (thrustSpeed * Math.sin(_local2));
dx = (dx + _local5);
dy = (dy + _local6);
dx = (dx * drag);
dy = (dy * drag);
}
public function calDist(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local5 = ((_arg1 - _arg3) * (_arg1 - _arg3));
_local6 = ((_arg2 - _arg4) * (_arg2 - _arg4));
_local7 = Math.sqrt((_local5 + _local6));
return (_local7);
}
public function followTarget(_arg1:MovieClip){
var _local2:Point;
var _local3:Number;
_local2 = new Point((_arg1.x - this.x), (_arg1.y - this.y));
_local2.normalize(norm1);
direksyon_2 = direksyon_2.add(_local2);
direksyon_2.normalize(norm2);
_local3 = ((Math.atan2(direksyon_2.y, direksyon_2.x) * 180) / Math.PI);
dir = (_local3 + 90);
this.rotation = _local3;
}
public function initLine(){
MovieClip(parent).addChild(drawingLine);
}
function drwLine(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local1 = 10;
_local2 = this.rotation;
_local3 = (this.x + (_local1 * Math.cos(((_local2 * Math.PI) / 180))));
_local4 = (this.y + (_local1 * Math.sin(((_local2 * Math.PI) / 180))));
drawingLine.graphics.clear();
drawingLine.graphics.lineStyle(3);
drawingLine.graphics.moveTo(_local3, _local4);
drawingLine.graphics.lineTo(target.x, target.y);
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = ((Math.random() * (_arg2 - _arg1)) + _arg1);
return (_local3);
}
public function rotateBody(_arg1:MovieClip, _arg2:MovieClip){
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local3 = (_arg1.x - (this.x + _arg2.x));
_local4 = (_arg1.y - (this.y + _arg2.y));
_local5 = ((180 * Math.atan2(_local4, _local3)) / Math.PI);
_arg2.rotation = _local5;
}
public function destruct(_arg1:String){
main.removeFromArray(main.playerSpecial1Array, this);
}
function movMinimapElement(){
mini.x = (this.x * 0.1);
mini.y = (this.y * 0.1);
}
}
}//package
Section 200
//PlayerSpecial2 (PlayerSpecial2)
package {
import flash.display.*;
import flash.events.*;
import flash.filters.*;
public class PlayerSpecial2 extends MovieClip {
public var xSpd:Number;
public var ySpd:Number;
public var mc:MovieClip;
public var spd:Number;
public var grvty:Number;
public var main:MovieClip;
public var angle:Number;
public var rot:Number;
public var hitBox_mc:MovieClip;
public function PlayerSpecial2(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
spd = 18;
grvty = 1.5;
angle = ((_arg3 / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (this.y < 0){
destruct("");
} else {
if ((((this.x < 0)) || ((this.x > 550)))){
destruct("");
} else {
ySpd = (ySpd - grvty);
this.x = (this.x - xSpd);
this.y = (this.y + ySpd);
};
};
}
public function destruct(_arg1:String){
main.removeFromArray(main.playerSpecial2Array, this);
}
}
}//package
Section 201
//PlayerSpecial3 (PlayerSpecial3)
package {
import flash.display.*;
import flash.events.*;
public class PlayerSpecial3 extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var smokeCounter:Number;// = 3
public var main:MovieClip;
public var soundPlayed:String;// = "no"
public var angle:Number;
public var hitBox_mc:MovieClip;
public function PlayerSpecial3(_arg1:Number, _arg2:Number, _arg3:Number){
smokeCounter = 3;
soundPlayed = "no";
super();
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 20;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (this.y < -10){
destruct("");
} else {
smokeCounter--;
if (smokeCounter <= 0){
smokeCounter = 4;
};
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
}
public function destruct(_arg1:String){
main.removeFromArray(main.playerSpecial3Array, this);
}
}
}//package
Section 202
//PlayerSpecial4 (PlayerSpecial4)
package {
import flash.display.*;
import flash.events.*;
public class PlayerSpecial4 extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var smokeCounter:Number;// = 3
public var main:MovieClip;
public var angle:Number;
public var hitBox_mc:MovieClip;
public function PlayerSpecial4(_arg1:Number, _arg2:Number, _arg3:Number){
smokeCounter = 3;
super();
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 20;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (this.y < -10){
destruct("");
} else {
smokeCounter--;
if (smokeCounter <= 0){
smokeCounter = 4;
};
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
this.x = MovieClip(parent).player_mc.x;
};
}
public function destruct(_arg1:String){
main.removeFromArray(main.playerSpecial4Array, this);
}
}
}//package
Section 203
//PlayerSpecial6 (PlayerSpecial6)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class PlayerSpecial6 extends MovieClip {
private var shootInterval:Number;
public var hitBox_mc:MovieClip;
public var tangentialAcceleration:Number;// = 0.0174532925199433
public var rotationalVelocity:Number;// = 0
public var traction;// = 3
public var distanceTravelled:Number;// = 0
public var mini:MovieClip;
public var pos:Point;
public var speed:Number;// = 0
public var shootDist:Number;
private var shootTimer:Timer;
public var s:Shape;
public var velMag:Number;
public var dx:Number;// = 0
public var dy:Number;// = 0
public var dir:Number;// = 0
public var thrustSpeed:Number;// = 0
public var player:MovieClip;
public var direksyon_2:Point;
public var life:Number;// = 100
public var maxDist:Number;
public var drawingLine:MovieClip;
public var drag;// = 0.9
public var emptyThrustSpeed:Number;// = 0
public var fillThrustSpeed:Number;
public var rotationalVelocityMax:Number;// = 0.0872664625997165
public var mat:Matrix;
public var myEnemyArr:Array;
public var target:MovieClip;
public var vel:Point;
public var main:MovieClip;
private var _dir:Point;
public var norm1:Number;
public var norm2:Number;
public var driftDX:Number;// = 0
public var driftDY:Number;// = 0
public function PlayerSpecial6(_arg1:MovieClip, _arg2:Number){
dx = 0;
dy = 0;
speed = 0;
dir = 0;
drag = 0.9;
traction = 3;
thrustSpeed = 0;
distanceTravelled = 0;
fillThrustSpeed = randomGenerator(2, 5);
emptyThrustSpeed = 0;
driftDX = 0;
driftDY = 0;
direksyon_2 = new Point(0, 0);
norm1 = randomGenerator(1, 2);
norm2 = randomGenerator(5, 7);
pos = new Point();
vel = new Point();
mat = new Matrix();
s = new Shape();
rotationalVelocity = 0;
rotationalVelocityMax = ((Math.PI / 180) * 5);
tangentialAcceleration = ((Math.PI / 180) * 1);
drawingLine = new MovieClip();
life = 100;
_dir = new Point(0, 0);
myEnemyArr = new Array();
super();
thrustSpeed = fillThrustSpeed;
maxDist = (Math.floor((Math.random() * (200 - 100))) + 100);
shootDist = 300;
pos.x = 250;
pos.y = 250;
vel.x = (Math.PI * 2);
vel.y = (Math.PI * 2);
velMag = 5;
player = _arg1;
shootInterval = _arg2;
shootTimer = new Timer(shootInterval, 0);
shootTimer.addEventListener(TimerEvent.TIMER, shoot);
shootTimer.start();
}
public function Move(){
this.x = (this.x + (driftDX * traction));
this.y = (this.y + (driftDY * traction));
this.x = (this.x + ((dx * 1) / traction));
this.y = (this.y + ((dy * 1) / traction));
}
public function shoot(_arg1:TimerEvent){
if ((((MovieClip(parent.parent).enemyArray.length > 0)) || ((MovieClip(parent.parent).bossArray.length > 0)))){
MovieClip(parent.parent).attPlayerSpecial6Ammo(this);
};
}
public function looper(){
if (life <= 0){
destruct("");
} else {
if ((((((((this.x < -50)) || ((this.x > 1020)))) || ((this.y < -50)))) || ((this.y > 750)))){
destruct("");
} else {
turn();
Move();
followTarget(player);
};
};
}
public function whichEnemyToEngage(){
var _local1:Number;
var _local2:Object;
_local1 = 0;
while (_local1 < MovieClip(parent.parent).enemyArray.length) {
_local2 = {mc:MovieClip(parent.parent).enemyArray[_local1], dis:calDist(MovieClip(parent.parent).enemyArray[_local1].x, MovieClip(parent.parent).enemyArray[_local1].y, this.x, this.y)};
myEnemyArr.push(_local2);
_local1++;
};
myEnemyArr.sortOn("dis", Array.NUMERIC);
if (myEnemyArr.length > 0){
followTarget(player);
};
myEnemyArr.splice(0, myEnemyArr.length);
}
public function turn(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local1 = dir;
_local1 = (_local1 - 90);
_local2 = ((_local1 * Math.PI) / 180);
speed = ((dx * dx) + (dy * dy));
_local3 = Math.cos(_local2);
_local4 = Math.sin(_local2);
_local3 = (_local3 * speed);
_local4 = (_local4 * speed);
_local5 = (thrustSpeed * Math.cos(_local2));
_local6 = (thrustSpeed * Math.sin(_local2));
dx = (dx + _local5);
dy = (dy + _local6);
dx = (dx * drag);
dy = (dy * drag);
}
public function calDist(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local5 = ((_arg1 - _arg3) * (_arg1 - _arg3));
_local6 = ((_arg2 - _arg4) * (_arg2 - _arg4));
_local7 = Math.sqrt((_local5 + _local6));
return (_local7);
}
public function followTarget(_arg1:MovieClip){
var _local2:Point;
var _local3:Number;
_local2 = new Point((_arg1.x - this.x), (_arg1.y - this.y));
_local2.normalize(norm1);
direksyon_2 = direksyon_2.add(_local2);
direksyon_2.normalize(norm2);
_local3 = ((Math.atan2(direksyon_2.y, direksyon_2.x) * 180) / Math.PI);
dir = (_local3 + 90);
}
public function initLine(){
MovieClip(parent).addChild(drawingLine);
}
function drwLine(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local1 = 10;
_local2 = this.rotation;
_local3 = (this.x + (_local1 * Math.cos(((_local2 * Math.PI) / 180))));
_local4 = (this.y + (_local1 * Math.sin(((_local2 * Math.PI) / 180))));
drawingLine.graphics.clear();
drawingLine.graphics.lineStyle(3);
drawingLine.graphics.moveTo(_local3, _local4);
drawingLine.graphics.lineTo(target.x, target.y);
}
public function randomGenerator(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = ((Math.random() * (_arg2 - _arg1)) + _arg1);
return (_local3);
}
public function rotateBody(_arg1:MovieClip, _arg2:MovieClip){
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local3 = (_arg1.x - (this.x + _arg2.x));
_local4 = (_arg1.y - (this.y + _arg2.y));
_local5 = ((180 * Math.atan2(_local4, _local3)) / Math.PI);
_arg2.rotation = _local5;
}
public function destruct(_arg1:String){
shootTimer.stop();
shootTimer.removeEventListener(TimerEvent.TIMER, shoot);
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).playerSpecial6Array, this);
}
function movMinimapElement(){
mini.x = (this.x * 0.1);
mini.y = (this.y * 0.1);
}
}
}//package
Section 204
//SpecialRecharge (SpecialRecharge)
package {
import flash.display.*;
import flash.events.*;
public class SpecialRecharge extends MovieClip {
public var xSpd:Number;
public var speed:int;
public var ySpd:Number;
public var spd:Number;
public var angle:Number;
public function SpecialRecharge(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.rotation = _arg3;
init();
}
public function init(){
spd = 1.5;
angle = ((this.rotation / 180) * Math.PI);
xSpd = (Math.cos(angle) * spd);
ySpd = (Math.sin(angle) * spd);
}
public function looper(){
if (MovieClip(parent.parent).levelContainer_mc.player_mc.hitTestObject(this)){
MovieClip(parent.parent).playAcquireSnd();
if (MovieClip(parent.parent).special1Availability == "sold"){
MovieClip(parent.parent).special1UIContainer_mc.gotoAndStop(2);
MovieClip(parent.parent).special1Activated = "false";
};
if (MovieClip(parent.parent).special3Availability == "sold"){
MovieClip(parent.parent).special3UIContainer_mc.gotoAndStop(2);
MovieClip(parent.parent).special3Activated = "false";
};
if (MovieClip(parent.parent).special4Availability == "sold"){
MovieClip(parent.parent).blasterEnergy = MovieClip(parent.parent).blasterEnergyMax;
MovieClip(parent.parent).levelContainer_mc.superBlaster_mc.stop();
MovieClip(parent.parent).levelContainer_mc.superBlaster_mc.x = -200;
MovieClip(parent.parent).levelContainer_mc.superBlaster_mc.y = 500;
MovieClip(parent.parent).special4UIContainer_mc.gotoAndStop(2);
MovieClip(parent.parent).special4Activated = "false";
};
if (MovieClip(parent.parent).special5Availability == "sold"){
MovieClip(parent.parent).wireEnergy = 20;
MovieClip(parent.parent).special5UIContainer_mc.gotoAndStop(2);
MovieClip(parent.parent).special5Activated = "false";
};
MovieClip(parent.parent).attWeaponPrompt(this);
destruct("");
} else {
if (this.y > 600){
destruct("");
} else {
this.x = (this.x + xSpd);
this.y = (this.y + ySpd);
this.rotation = ((Math.atan2(ySpd, xSpd) * 180) / Math.PI);
};
};
}
public function destruct(_arg1:String){
MovieClip(parent.parent).removeFromArray(MovieClip(parent.parent).moneyArray, this);
}
}
}//package
Section 205
//StrikeSnd (StrikeSnd)
package {
import flash.media.*;
public dynamic class StrikeSnd extends Sound {
}
}//package
Section 206
//WeaponPrompt (WeaponPrompt)
package {
import flash.display.*;
import caurina.transitions.*;
public dynamic class WeaponPrompt extends MovieClip {
public var display_mc:MovieClip;
public function WeaponPrompt(){
addFrameScript(0, frame1);
}
public function _disappear(){
MovieClip(parent).removeChild(this);
}
function frame1(){
stop();
Tweener.addTween(this, {scaleX:2, scaleY:2, time:2, transition:"easeOutStrong"});
Tweener.addTween(this, {alpha:0, time:3, onComplete:_disappear, transition:"linear"});
}
}
}//package