Section 1
//2_5 (AquaTurret_fla.2_5)
package AquaTurret_fla {
import flash.display.*;
public dynamic class 2_5 extends MovieClip {
public var fsk:MovieClip;
}
}//package AquaTurret_fla
Section 2
//bigship0_269 (AquaTurret_fla.bigship0_269)
package AquaTurret_fla {
import flash.display.*;
public dynamic class bigship0_269 extends MovieClip {
public var hitTextMc:MovieClip;
}
}//package AquaTurret_fla
Section 3
//bigShipCannon_270 (AquaTurret_fla.bigShipCannon_270)
package AquaTurret_fla {
import flash.display.*;
public dynamic class bigShipCannon_270 extends MovieClip {
public var fsk:MovieClip;
}
}//package AquaTurret_fla
Section 4
//bonusRoll_232 (AquaTurret_fla.bonusRoll_232)
package AquaTurret_fla {
import flash.display.*;
public dynamic class bonusRoll_232 extends MovieClip {
public var bonusTxtMc:MovieClip;
}
}//package AquaTurret_fla
Section 5
//bonusTxtMc_234 (AquaTurret_fla.bonusTxtMc_234)
package AquaTurret_fla {
import flash.display.*;
import flash.text.*;
public dynamic class bonusTxtMc_234 extends MovieClip {
public var numTxt:TextField;
}
}//package AquaTurret_fla
Section 6
//btnClick_22 (AquaTurret_fla.btnClick_22)
package AquaTurret_fla {
import flash.display.*;
public dynamic class btnClick_22 extends MovieClip {
public var specialsBtn:SPECIALS;
public var nextBtn:NEXTWAVE;
public var priUpgradeBtn:UPGRADE;
public var turretUpgradeBtn:UPGRADE;
public var repairBtn:REPAIR;
public var secUpgradeBtn:UPGRADE;
}
}//package AquaTurret_fla
Section 7
//gameOverClickSprite_205 (AquaTurret_fla.gameOverClickSprite_205)
package AquaTurret_fla {
import flash.display.*;
public dynamic class gameOverClickSprite_205 extends MovieClip {
public var mainMenuBtn:MAINMENU;
public var subScoreBtn:SUBMITSCORE;
}
}//package AquaTurret_fla
Section 8
//gameOverMc_203 (AquaTurret_fla.gameOverMc_203)
package AquaTurret_fla {
import flash.display.*;
import flash.text.*;
public dynamic class gameOverMc_203 extends MovieClip {
public var txtEffect:MovieClip;
public var score_txt:TextField;
public var waves_txt:TextField;
public var clickSprite:MovieClip;
public var name_txt:TextField;
public var accu_txt:TextField;
public var enemies_txt:TextField;
public var rank_txt:TextField;
public var medalMc:MovieClip;
}
}//package AquaTurret_fla
Section 9
//hitTest_243 (AquaTurret_fla.hitTest_243)
package AquaTurret_fla {
import flash.display.*;
public dynamic class hitTest_243 extends MovieClip {
public var loc9:MovieClip;
public var loc5:MovieClip;
public var loc3:MovieClip;
public var loc8:MovieClip;
public var loc4:MovieClip;
public var loc7:MovieClip;
public var loc1:MovieClip;
public var loc2:MovieClip;
public var loc6:MovieClip;
public var loc0:MovieClip;
}
}//package AquaTurret_fla
Section 10
//mediumShipCannon_251 (AquaTurret_fla.mediumShipCannon_251)
package AquaTurret_fla {
import flash.display.*;
public dynamic class mediumShipCannon_251 extends MovieClip {
public var fsk:MovieClip;
}
}//package AquaTurret_fla
Section 11
//menuBtns_162 (AquaTurret_fla.menuBtns_162)
package AquaTurret_fla {
import flash.display.*;
public dynamic class menuBtns_162 extends MovieClip {
public var howToPlayBtn:HOWTOPLAY副本;
public var highScoreBtn:HIGHSCORE;
public var startGameBtn:STARTGAME;
public var moreGamesBtn:MOREGAMES;
public var spilGamesMc:spilGamesMcClass;
}
}//package AquaTurret_fla
Section 12
//moreGamesMc_229 (AquaTurret_fla.moreGamesMc_229)
package AquaTurret_fla {
import flash.display.*;
public dynamic class moreGamesMc_229 extends MovieClip {
public var moreGamesMc:branding_aligned_center;
}
}//package AquaTurret_fla
Section 13
//newWeaponTip_13 (AquaTurret_fla.newWeaponTip_13)
package AquaTurret_fla {
import flash.display.*;
public dynamic class newWeaponTip_13 extends MovieClip {
public function newWeaponTip_13(){
addFrameScript(0, frame1, 74, frame75);
}
function frame75(){
stop();
}
function frame1(){
stop();
}
}
}//package AquaTurret_fla
Section 14
//QualitySound_282 (AquaTurret_fla.QualitySound_282)
package AquaTurret_fla {
import flash.display.*;
public dynamic class QualitySound_282 extends MovieClip {
public var normalBtn:MovieClip;
public var bestBtn:MovieClip;
public var badBtn:MovieClip;
public var moffBtn:MovieClip;
public var sonBtn:MovieClip;
public var soffBtn:MovieClip;
public var monBtn:MovieClip;
}
}//package AquaTurret_fla
Section 15
//rewardmc_351 (AquaTurret_fla.rewardmc_351)
package AquaTurret_fla {
import flash.display.*;
import flash.text.*;
public dynamic class rewardmc_351 extends MovieClip {
public var txt:TextField;
}
}//package AquaTurret_fla
Section 16
//screen_else_221 (AquaTurret_fla.screen_else_221)
package AquaTurret_fla {
import flash.display.*;
import flash.text.*;
public dynamic class screen_else_221 extends MovieClip {
public var freezesTxt:TextField;
public var shieldBtn:SimpleButton;
public var freezeBtn:SimpleButton;
public var levelTxt:TextField;
public var planesTxt:TextField;
public var moneyTxt:TextField;
public var pauseBtn:PAUSE;
public var planeBtn:SimpleButton;
public var scoreTxt:TextField;
public var freezeTimeTxt:TextField;
public var lifeBtn:SimpleButton;
public var lifeTxt:TextField;
public var shieldsTxt:TextField;
}
}//package AquaTurret_fla
Section 17
//smallShip_246 (AquaTurret_fla.smallShip_246)
package AquaTurret_fla {
import flash.display.*;
public dynamic class smallShip_246 extends MovieClip {
public var hitTextMc:MovieClip;
}
}//package AquaTurret_fla
Section 18
//specialsClick_104 (AquaTurret_fla.specialsClick_104)
package AquaTurret_fla {
import flash.display.*;
public dynamic class specialsClick_104 extends MovieClip {
public var backBtn:back;
public var life:SimpleButton;
public var plane:SimpleButton;
public var shield:SimpleButton;
public var emp:SimpleButton;
}
}//package AquaTurret_fla
Section 19
//subMarineCannon_267 (AquaTurret_fla.subMarineCannon_267)
package AquaTurret_fla {
import flash.display.*;
public dynamic class subMarineCannon_267 extends MovieClip {
public var fsk:MovieClip;
}
}//package AquaTurret_fla
Section 20
//Timeline_2 (AquaTurret_fla.Timeline_2)
package AquaTurret_fla {
import flash.display.*;
public dynamic class Timeline_2 extends MovieClip {
public var weapons:MovieClip;
public function Timeline_2(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package AquaTurret_fla
Section 21
//Timeline_204 (AquaTurret_fla.Timeline_204)
package AquaTurret_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Timeline_204 extends MovieClip {
public var name_txt:TextField;
public function Timeline_204(){
addFrameScript(39, frame40);
}
function frame40(){
stop();
}
}
}//package AquaTurret_fla
Section 22
//Timeline_218 (AquaTurret_fla.Timeline_218)
package AquaTurret_fla {
import flash.display.*;
public dynamic class Timeline_218 extends MovieClip {
public function Timeline_218(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package AquaTurret_fla
Section 23
//Timeline_250 (AquaTurret_fla.Timeline_250)
package AquaTurret_fla {
import flash.display.*;
public dynamic class Timeline_250 extends MovieClip {
public var hitTextMc:MovieClip;
}
}//package AquaTurret_fla
Section 24
//Timeline_266 (AquaTurret_fla.Timeline_266)
package AquaTurret_fla {
import flash.display.*;
public dynamic class Timeline_266 extends MovieClip {
public var waveSprite:MovieClip;
public var hitTextMc:MovieClip;
public function Timeline_266(){
addFrameScript(0, frame1, 50, frame51);
}
function frame1(){
stop();
}
function frame51(){
}
}
}//package AquaTurret_fla
Section 25
//Timeline_274 (AquaTurret_fla.Timeline_274)
package AquaTurret_fla {
import flash.display.*;
public dynamic class Timeline_274 extends MovieClip {
public var hitTextMc:MovieClip;
public var initMc:MovieClip;
public var nextMc:MovieClip;
}
}//package AquaTurret_fla
Section 26
//Timeline_275 (AquaTurret_fla.Timeline_275)
package AquaTurret_fla {
import flash.display.*;
public dynamic class Timeline_275 extends MovieClip {
public var fsk:MovieClip;
}
}//package AquaTurret_fla
Section 27
//Timeline_280 (AquaTurret_fla.Timeline_280)
package AquaTurret_fla {
import flash.display.*;
public dynamic class Timeline_280 extends MovieClip {
public var fsk:MovieClip;
}
}//package AquaTurret_fla
Section 28
//Timeline_300 (AquaTurret_fla.Timeline_300)
package AquaTurret_fla {
import flash.display.*;
public dynamic class Timeline_300 extends MovieClip {
public function Timeline_300(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package AquaTurret_fla
Section 29
//Timeline_302 (AquaTurret_fla.Timeline_302)
package AquaTurret_fla {
import flash.display.*;
public dynamic class Timeline_302 extends MovieClip {
public function Timeline_302(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package AquaTurret_fla
Section 30
//Timeline_308 (AquaTurret_fla.Timeline_308)
package AquaTurret_fla {
import flash.display.*;
public dynamic class Timeline_308 extends MovieClip {
public function Timeline_308(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package AquaTurret_fla
Section 31
//Timeline_327 (AquaTurret_fla.Timeline_327)
package AquaTurret_fla {
import flash.display.*;
public dynamic class Timeline_327 extends MovieClip {
public var star:MovieClip;
}
}//package AquaTurret_fla
Section 32
//Timeline_333 (AquaTurret_fla.Timeline_333)
package AquaTurret_fla {
import flash.display.*;
public dynamic class Timeline_333 extends MovieClip {
public var _mc2:MovieClip;
public var _mc1:MovieClip;
public function Timeline_333(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
if (this.parent != null){
this.parent.removeChild(this);
};
}
}
}//package AquaTurret_fla
Section 33
//Timeline_353 (AquaTurret_fla.Timeline_353)
package AquaTurret_fla {
import flash.display.*;
public dynamic class Timeline_353 extends MovieClip {
public function Timeline_353(){
addFrameScript(0, frame1);
}
function frame1(){
if (!cacheAsBitmap){
cacheAsBitmap = true;
};
}
}
}//package AquaTurret_fla
Section 34
//Timeline_94 (AquaTurret_fla.Timeline_94)
package AquaTurret_fla {
import flash.display.*;
public dynamic class Timeline_94 extends MovieClip {
public function Timeline_94(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package AquaTurret_fla
Section 35
//tipmc_116 (AquaTurret_fla.tipmc_116)
package AquaTurret_fla {
import flash.display.*;
import flash.text.*;
public dynamic class tipmc_116 extends MovieClip {
public var txt:TextField;
public var txt1:TextField;
public var coinmc:MovieClip;
}
}//package AquaTurret_fla
Section 36
//weapons_3 (AquaTurret_fla.weapons_3)
package AquaTurret_fla {
import flash.display.*;
public dynamic class weapons_3 extends MovieClip {
public var fsk:MovieClip;
public var fireWeaponMc:MovieClip;
public var fsk1:MovieClip;
}
}//package AquaTurret_fla
Section 37
//Data (Code.Data.Data)
package Code.Data {
import Code.*;
import flash.geom.*;
import Code.Enemy.*;
import Code.Player.Turret.*;
public class Data {
public static var allHits:int;
public static var curTurretHealthValue:int;
public static var levelHealth:int;
public static var shipsData:Object;
public static var primaryWeaponData:Array;
public static var turretSize:int;
public static var score:int;
public static var allShots:int;
public static var levelMoney:int;
public static var upgradeRate:Number;
public static var curLevel:int;
public static var rank:String;
public static var unlocks:Array;
public static var shipsDensity:int;
public static var shipDes:int;
public static var turretLoc:Point;
public static var ships:Array;
public static var secondaryWeapons:int;
public static var shipsNum:int;
public static var curSecondaryWeapon:int;
public static var upgradeInitRate:Number;
public static var ifTest:Boolean = false;
public static var curMoney:int;
public static var turretHealthValue:int;
public static var upgradeData:Object;
public static var shipEnterTime:int;
public static var curPrimaryWeapon:int;
public static var levelScore:int;
public static var primaryWeapons:int;
public static var specialWeapons:Object;
public static var secondaryWeaponData:Array;
public static function init():void{
upgradeInitRate = 1.05;
curLevel = 0;
score = 0;
curMoney = 0;
levelScore = 0;
levelMoney = 0;
levelHealth = 0;
allShots = 0;
allHits = 0;
shipDes = 0;
curPrimaryWeapon = 0;
curSecondaryWeapon = 0;
turretLoc = new Point(300, 250);
turretSize = 80;
curTurretHealthValue = (turretHealthValue = 3500);
primaryWeaponData = [];
primaryWeaponData[0] = {power:200, price:200, MaxRange:200, speed:10, name:LanguageData.Bomb[(Language.language_nr - 1)]};
primaryWeaponData[1] = {power:400, price:400, MaxRange:210, speed:8, name:LanguageData.Rocket[(Language.language_nr - 1)]};
primaryWeaponData[2] = {power:600, price:800, MaxRange:200, speed:8, name:LanguageData.Pulsar[(Language.language_nr - 1)]};
primaryWeaponData[3] = {power:1600, price:1600, MaxRange:200, speed:8, name:LanguageData.ClusterBomb[(Language.language_nr - 1)]};
primaryWeaponData[4] = {power:4800, price:3200, MaxRange:220, speed:8, name:LanguageData.MiniNuke[(Language.language_nr - 1)]};
secondaryWeaponData = [];
secondaryWeaponData[0] = {power:20, price:100, MaxRange:200, speed:8, name:LanguageData.MachineGun[(Language.language_nr - 1)], shots:25, reload:2000};
secondaryWeaponData[1] = {power:30, price:200, MaxRange:200, speed:8, name:LanguageData.HeavyMachineGun[(Language.language_nr - 1)], shots:25, reload:2000};
secondaryWeaponData[2] = {power:250, price:400, MaxRange:200, speed:6, name:LanguageData.HeatSeeker[(Language.language_nr - 1)], shots:2, reload:2000};
secondaryWeaponData[3] = {power:600, price:800, MaxRange:180, speed:8, name:LanguageData.Blaze[(Language.language_nr - 1)], shots:6000, reload:1800};
secondaryWeaponData[4] = {power:1200, price:1600, MaxRange:180, speed:8, name:LanguageData.Laser[(Language.language_nr - 1)], shots:6000, reload:1400};
unlocks = [1, 5, 10, 15, 20];
upgradeData = {repair:0, turretUpgrade:500, priUpgrade:[300, 600, 1200, 2400, 4800], secUpgrade:[100, 200, 400, 800, 1600]};
specialWeapons = {planes:{num:0, money:1000}, shields:{num:0, money:2000}, freezes:{num:0, money:2500}, lifes:{num:0, money:3000}};
shipsData = {smallShip:{health:100, power:100, score:100}, mediumShip:{health:250, power:150, score:250}, bigShip:{health:400, power:200, score:500}, submarine:{health:400, power:250, score:800}, aircraftCarrier:{health:1500, power:400, score:1500}};
}
public static function calRank(_arg1:int):String{
var _local2:String;
if (_arg1 < 2){
_local2 = "Rookie";
} else {
if (_arg1 < 5){
_local2 = "Petty Officer";
} else {
if (_arg1 < 10){
_local2 = "Lieutenant";
} else {
if (_arg1 < 15){
_local2 = "Marine";
} else {
if (_arg1 < 20){
_local2 = "Captain";
} else {
_local2 = "Admiral";
};
};
};
};
};
return (_local2);
}
public static function calHisAccu():void{
allShots = (allShots + (TurretPrimaryWeapon.shots + int(TurretSecondaryWeapon.shots)));
allHits = (allHits + (TurretPrimaryWeapon.hits + int(TurretSecondaryWeapon.hits)));
TurretPrimaryWeapon.shots = 0;
TurretSecondaryWeapon.shots = 0;
TurretPrimaryWeapon.hits = 0;
TurretSecondaryWeapon.hits = 0;
rank = calRank(curLevel);
}
public static function midwayBack():void{
score = (score - levelScore);
curMoney = (curMoney - levelMoney);
curTurretHealthValue = (curTurretHealthValue - levelHealth);
}
public static function wavesShipScore(_arg1:int):int{
var _local2:Array;
var _local3:int;
var _local4:Number;
var _local5:int;
var _local6:*;
var _local7:int;
_local4 = (upgradeInitRate - 0.015);
_local5 = 0;
while (_local5 < _arg1) {
_local2 = calShipNums(_local5);
_local4 = Math.pow(_local4, _local5);
for (_local6 in _local2) {
switch (_local2[_local6][0]){
case SmallShip:
_local7 = 0;
while (_local7 < _local2[_local6][1]) {
_local3 = (_local3 + (shipsData["smallShip"].score * _local4));
_local7++;
};
break;
case MediumShip:
_local7 = 0;
while (_local7 < _local2[_local6][1]) {
_local3 = (_local3 + (shipsData["mediumShip"].score * _local4));
_local7++;
};
break;
case BigShip:
_local7 = 0;
while (_local7 < _local2[_local6][1]) {
_local3 = (_local3 + (shipsData["bigShip"].score * _local4));
_local7++;
};
break;
case Submarine:
_local7 = 0;
while (_local7 < _local2[_local6][1]) {
_local3 = (_local3 + (shipsData["submarine"].score * _local4));
_local7++;
};
break;
case AircraftCarrier:
_local7 = 0;
while (_local7 < _local2[_local6][1]) {
_local3 = (_local3 + (shipsData["aircraftCarrier"].score * _local4));
_local7++;
};
break;
};
};
_local5++;
};
return (_local3);
}
public static function refresh():void{
var _local1:*;
if (curLevel < 10){
shipsDensity = 3;
} else {
if (curLevel < 20){
shipsDensity = 4;
} else {
shipsDensity = 5;
};
};
if (!ifTest){
ships = calShipNums(curLevel);
} else {
ships = new Array([SmallShip, 1], [MediumShip, 1], [BigShip, 0], [Submarine, 0], [AircraftCarrier, 1]);
};
upgradeRate = (upgradeInitRate + (curLevel * 0.01));
for (_local1 in shipsData) {
shipsData[_local1].health = (shipsData[_local1].health * upgradeRate);
shipsData[_local1].power = (shipsData[_local1].power * upgradeRate);
shipsData[_local1].score = (shipsData[_local1].score * (upgradeInitRate - 0.015));
};
shipEnterTime = (4000 - (curLevel * 50));
if (shipEnterTime < 1600){
shipEnterTime = 1600;
};
elseRefresh();
}
private static function elseRefresh():void{
var _local1:*;
shipsNum = 0;
for (_local1 in ships) {
shipsNum = (shipsNum + ships[_local1][1]);
};
if (curLevel < (unlocks[1] - 2)){
primaryWeapons = 1;
secondaryWeapons = 1;
} else {
if (curLevel < (unlocks[2] - 2)){
primaryWeapons = 2;
secondaryWeapons = 2;
} else {
if (curLevel < (unlocks[3] - 2)){
primaryWeapons = 3;
secondaryWeapons = 3;
} else {
if (curLevel < (unlocks[4] - 2)){
primaryWeapons = 4;
secondaryWeapons = 4;
} else {
primaryWeapons = 5;
secondaryWeapons = 5;
};
};
};
};
if (ifTest){
primaryWeapons = 5;
secondaryWeapons = 5;
};
calHisAccu();
levelScore = 0;
levelMoney = 0;
levelHealth = 0;
}
private static function calShipNums(_arg1:int):Array{
var _local2:Array;
switch (_arg1){
case 0:
_local2 = new Array([SmallShip, 6], [MediumShip, 1], [BigShip, 0], [Submarine, 0], [AircraftCarrier, 0]);
break;
case 1:
_local2 = new Array([SmallShip, 7], [MediumShip, 1], [BigShip, 1], [Submarine, 0], [AircraftCarrier, 0]);
break;
case 2:
_local2 = new Array([SmallShip, 8], [MediumShip, 1], [BigShip, 1], [Submarine, 1], [AircraftCarrier, 0]);
break;
case 3:
_local2 = new Array([SmallShip, 8], [MediumShip, 2], [BigShip, 2], [Submarine, 1], [AircraftCarrier, 0]);
break;
case 4:
_local2 = new Array([SmallShip, 9], [MediumShip, 2], [BigShip, 2], [Submarine, 1], [AircraftCarrier, 1]);
break;
default:
_local2 = new Array([SmallShip, Math.round((5 + (_arg1 * 1)))], [MediumShip, (2 + Math.round((_arg1 * 0.5)))], [BigShip, (1 + Math.round((_arg1 * 0.35)))], [Submarine, (0 + Math.round((_arg1 * 0.25)))], [AircraftCarrier, Math.round((0 + (_arg1 * 0.2)))]);
break;
};
return (_local2);
}
public static function calculate():void{
upgradeData["repair"] = Math.round((turretHealthValue - curTurretHealthValue));
}
}
}//package Code.Data
Section 38
//LanguageData (Code.Data.LanguageData)
package Code.Data {
public class LanguageData {
public static var HeavyMachineGun:Array = ["Heavy Machine Gun", "Heavy Machine Gun", "Zwaar Machinegeweer", "Mitrailleuse lourde", "Schweres Maschinengewehr", "Ametralladora pesada", "Metralhadora Pesada", "Metralhadora pesada", "Mitragliatrice pesante", "Stort maskingevär", "CKM", "Тяжелый пулемет", "Ağır Makineli Tüfek ", "Senapan mesin berat", "Mesingan Berat", "ヘビーマシンガン", "重机枪"];
public static var Bomb:Array = ["Bomb", "Bomb", "Bom", "Bombe", "Bombe", "Bomba", "Bomba", "Bomba", "Bomba", "Bomb", "Bomba", "Бомба", "Bomba", "Bom", "Bom", "爆弾", "炮弹"];
public static var HP:Array = ["HP", "HP", "HP", "HP", "HP", "HP", "HP", "HP", "HP", "HP", "HP", "HP", "HP", "HP", "HP", "HP", "生命值"];
public static var YOURMONEY:Array = ["YOUR MONEY", "YOUR MONEY", "JOUW GELD", "TON ARGENT", "DEIN GELD", "TU DINERO", "SEU DINHEIRO", "O SEU DINHEIRO", "DENARO A DISPOSIZIONE", "DINA PENGAR", "TWOJE PIENIĄDZE", "ВАШИ ДЕНЬГИ", "PARANIZ", "UANG ANDA", "WANG ANDA", "所持金", "剩余金额"];
public static var HeatSeeker:Array = ["Heat Seeker", "Heat Seeker", "Hittezoeker", "Tête chercheuse à infrarouge", "Wärmesuchgerät", "Buscador de calor", "Infravermelho", "Carabineiro", "Razzo termosensibile", "Värmesökare", "Pocisk samonaprowadzający", "Теплоискатель", "Isı Güdümlü Füze", "Pencari Panas", "Pencari Haba", "熱探知機", "导弹"];
public static var MachineGun:Array = ["Machine Gun", "Machine Gun", "Machinegeweer", "Mitraillette", "Maschinengewehr", "Ametralladora", "Metralhadora", "Metralhadora", "Mitragliatrice leggera", "Maskingevär", "Karabin maszynowy", "Пулемет", "Makineli Tüfek", "Senapan mesin", "Mesingan", "マシンガン", "机枪"];
public static var BuySpecialAttack:Array = ["Buy Special Attacks", "Buy Special Attacks", "Speciale aanvallen kopen", "Achète des attaques spéciales", "Spezialangriffe kaufen", "Comprar ataques especiales", "Compre ataques especiais", "Adquira ataques especiais", "Acquista attacchi speciali", "Köp specialattacker", "Kup ataki specjalne", "Приобрести специальные средства поражения", "Özel saldırı satın al", "Beli serangan khusus", "Beli serangan khusus", "スペシャルアタックを購入", "购买道具(特殊武器)"];
public static var ClusterBomb:Array = ["Cluster Bomb", "Cluster Bomb", "Clusterbom", "Bombe à sous-munitions", "Streubombe", "Bomba de racimo", "Bomba de Fragmentação", "Série de bombas", "Bomba a grappolo", "Klusterbomb", "Bomba kasetowa", "Кассетная бомба", "Misket Bombası", "Bom Tandan", "Bom berangkai", "クラスター爆弾", "集束炸弹"];
public static var Pulsar:Array = ["Pulsar", "Pulsar", "Pulsar", "Pulsar", "Pulsar", "Púlsar", "Pulsar", "Pulsar", "Pulsar", "Pulsar", "Pulsar", "Пульсар", "Işın", "pulsar", "Pulsar", "パルサー", "脉冲炸弹"];
public static var POWER:Array = ["POWER", "POWER", "KRACHT", "ÉNERGIE", "ENERGIE", "PODER", "ENERGIA", "PODER", "ENERGIA", "KRAFT", "SIŁA", "МОЩНОСТЬ", "GÜÇ", "KEKUATAN", "KUASA", "パワー", "火力"];
public static var Blaze:Array = ["Blaze", "Blaze", "Vuurstorm", "Flamme", "Flammenwerfer", "Llamarada", "Lança-Chamas", "Arma de feixes", "Vampata", "Eld", "Wyrzutnia", "Огнемет", "Alev", "Nyala api", "Api", "ブレイズ", "火焰"];
public static var Laser:Array = ["Laser", "Laser", "Laser", "Laser", "Laser", "Láser", "Laser", "Laser", "Laser", "Laser", "Laser", "Лазер", "Lazer", "Laser", "Laser", "レーザー", "激光"];
public static var UnlockInLevel:Array = ["Unlock in Level", "Unlock in Level", "Vrijspelen in level", "Déverrouiller le niveau", "Freischalten in Level", "Desbloquear en nivel", "Destravar no Nível", "Desbloqueado no nível", "Sblocca nel livello", "Lås upp på nivå", "Odblokuj na poziomie", "Открывается на уровне", "Aktive Edileceği Seviye:", "Terbuka di level", "Buka kunci dalam Tahap", "~レベルで使用解除", "解除锁定:"];
public static var Rocket:Array = ["Rocket", "Rocket", "Raket", "Roquette", "Rakete", "Misil", "Foguete", "Míssil", "Razzo", "Raket", "Rakieta", "Ракета", "Roket", "Roket", "Roket", "ロケット", "火箭弹"];
public static var MiniNuke:Array = ["Mini-Nuke", "Mini-Nuke", "Mini-kernkop", "Mini bombe nucléaire", "Mini-Atombombe", "Mini arma nuclear", "Mininuclear", "Arma letal", "Mini bomba atomica", "Atombomb", "Broń jądrowa", "Миниатюрный ядерный заряд", "Mini Atom Bombası", "Nuklir-mini", "Nuklear mini", "ミニ核爆弾", "核弹"];
public static var YourName:Array = ["Your Name", "Your Name", "Je naam", "Ton nom", "Dein Name", "Tu nombre", "Seu nome", "O seu nome", "Tuo nome", "Ditt namn", "Twoje imię", "Ваше имя", "Adınız", "Nama anda", "Nama anda", "あなたの名前", "您的名字"];
}
}//package Code.Data
Section 39
//AircraftCarrier (Code.Enemy.AircraftCarrier)
package Code.Enemy {
import flash.display.*;
import flash.events.*;
import Code.Game.*;
import flash.geom.*;
import Code.Data.*;
public class AircraftCarrier extends Ship {
private var initLoc:Point;
private var planes:Array;
private var ran:int;
private var initMc:Sprite;
private var js:int;
private var nextLoc:Point;
private var nextMc:Sprite;
public function AircraftCarrier(_arg1:String){
super(_arg1);
planes = new Array();
initMc = (shipmc.getChildByName("initMc") as Sprite);
nextMc = (shipmc.getChildByName("nextMc") as Sprite);
js = 0;
ran = 5;
}
override public function setFreeze(_arg1:Boolean, _arg2:Boolean=false):void{
var _local3:*;
super.setFreeze(_arg1, _arg2);
for (_local3 in planes) {
planes[_local3].setFreeze(_arg1);
};
}
override public function deleteMe():void{
var _local1:*;
super.deleteMe();
for each (_local1 in planes) {
(_local1 as NavyPlane).deleteMe();
};
}
override protected function getTerminatePoint():void{
var _local1:Number;
_local1 = ((calculateAngle(Data.turretLoc, p1, true) * Math.PI) / 180);
p2 = War.map.getShipsTerminateLoc(attackRange, shipName, attackRange, _local1);
}
private function addPlane():void{
initLoc = initMc.localToGlobal(new Point(0, 0));
nextLoc = nextMc.localToGlobal(new Point(0, 0));
planes.push(new NavyPlane(initLoc, nextLoc));
initMc.alpha = 0;
}
override public function setPause(_arg1:Boolean):void{
var _local2:*;
super.setPause(_arg1);
for (_local2 in planes) {
planes[_local2].setPause(_arg1);
};
}
override protected function overRideFun():void{
setShipClass = "aircraftCarrier";
speed = 1;
angleSpeed = 0.5;
attackRange = 200;
healthValue = Data.shipsData["aircraftCarrier"].health;
scoreForTurret = Data.shipsData["aircraftCarrier"].score;
bombDense = 0.7;
}
override protected function enterFrame(_arg1:Event):void{
if (getState == NORMAL){
super.enterFrame(_arg1);
if (!ifMoving){
if ((((((((curPoint.x > 0)) && ((curPoint.y > 0)))) && ((curPoint.x < 600)))) && ((curPoint.y < 450)))){
js++;
if (js > (ran - 60)){
if (initMc.alpha < 1){
initMc.alpha = (initMc.alpha + 0.02);
};
};
if (js > ran){
js = 0;
ran = (int((Math.random() * 100)) + 300);
addPlane();
};
};
};
};
}
}
}//package Code.Enemy
Section 40
//BigShip (Code.Enemy.BigShip)
package Code.Enemy {
import Code.Data.*;
public class BigShip extends Ship {
public function BigShip(_arg1:String){
super(_arg1);
cannon = new ShipCannon(this);
}
override protected function overRideFun():void{
missile = "Cannonball0";
setShipClass = "bigShip";
speed = 1;
angleSpeed = 0.5;
missileSpeed = 9;
attackRange = 220;
powerValue = Data.shipsData["bigShip"].power;
healthValue = Data.shipsData["bigShip"].health;
scoreForTurret = Data.shipsData["bigShip"].score;
}
}
}//package Code.Enemy
Section 41
//Enemy (Code.Enemy.Enemy)
package Code.Enemy {
import flash.events.*;
import Code.Game.*;
import Code.Data.*;
import flash.utils.*;
public class Enemy {
private var shipTimer:Timer;
private var shipsNum:int;
private var allShips:Array;
private var pause:Boolean;
public static var addedShips:Array;
public function Enemy(){
getShipsData();
dealSubmarine();
pause = false;
shipsNum = 0;
addedShips = new Array();
newShip();
shipTimer = new Timer(Data.shipEnterTime);
shipTimer.addEventListener("timer", addShip, false, 0, true);
start();
}
public function start():void{
shipTimer.start();
}
public function deleteMe():void{
var _local1:*;
var _local2:Ship;
for (_local1 in addedShips) {
_local2 = addedShips[_local1];
if (_local2.getState){
_local2.deleteMe();
};
};
addedShips = [];
shipTimer.stop();
}
private function addShip(_arg1:TimerEvent):void{
var _local2:int;
var _local3:*;
_local2 = 0;
for (_local3 in addedShips) {
if (addedShips[_local3].getState){
_local2++;
};
};
if (_local2 >= Data.shipsDensity){
shipTimer.stop();
} else {
newShip();
};
}
private function dealSubmarine():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:int;
_local1 = 5;
_local2 = allShips.length;
if ((_local2 / 2) < _local1){
_local1 = (_local2 / 2);
};
_local3 = (_local2 - 1);
while (_local3 >= (_local2 - _local1)) {
if (allShips[_local3] == Submarine){
allShips.splice(_local3, 1);
};
_local3--;
};
_local4 = allShips.length;
_local3 = 0;
while (_local3 < (_local2 - _local4)) {
allShips.splice(((_local3 * 2) + 1), 0, Submarine);
_local3++;
};
}
private function getShipsData():void{
var _local1:Array;
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
_local1 = new Array();
_local2 = Data.ships;
_local3 = _local2.length;
_local4 = 0;
while (_local4 < _local3) {
_local6 = 0;
while (_local6 < _local2[_local4][1]) {
_local1.push(_local2[_local4][0]);
_local6++;
};
_local4++;
};
allShips = new Array();
_local5 = 0;
do {
_local5 = int((Math.random() * _local1.length));
allShips.push(_local1[_local5]);
_local1.splice(_local5, 1);
} while (_local1.length != 0);
}
public function setPause(_arg1:Boolean):void{
var _local2:*;
for (_local2 in Enemy.addedShips) {
if (Enemy.addedShips[_local2].getState){
Enemy.addedShips[_local2].setPause(_arg1);
};
};
pause = _arg1;
}
private function newShip():void{
var _local1:Ship;
var _local2:int;
var _local3:*;
if (!pause){
if (shipsNum < Data.shipsNum){
_local1 = new allShips[shipsNum](String(shipsNum));
addedShips.push(_local1);
shipsNum++;
} else {
_local2 = 0;
for (_local3 in addedShips) {
_local1 = addedShips[_local3];
if (!_local1.getState){
_local2++;
};
};
if (_local2 >= Data.shipsNum){
War.warScreen.dispatchEvent(new Event("levelComplete"));
};
};
};
}
}
}//package Code.Enemy
Section 42
//MediumShip (Code.Enemy.MediumShip)
package Code.Enemy {
import Code.Data.*;
public class MediumShip extends Ship {
public function MediumShip(_arg1:String){
super(_arg1);
cannon = new ShipCannon(this);
}
override protected function overRideFun():void{
missile = "Missile0";
setShipClass = "mediumShip";
speed = 1;
angleSpeed = 0.5;
missileSpeed = 5;
attackRange = 170;
healthValue = Data.shipsData["mediumShip"].health;
powerValue = Data.shipsData["mediumShip"].power;
scoreForTurret = Data.shipsData["mediumShip"].score;
bombDense = 0.3;
}
}
}//package Code.Enemy
Section 43
//NavyPlane (Code.Enemy.NavyPlane)
package Code.Enemy {
import flash.events.*;
import flash.geom.*;
import Code.Enemy.*;
import Code.Weapon.*;
import Code.Data.*;
import flash.utils.*;
class NavyPlane extends AirCraft {
protected var tarSpeedy:Number;
protected var tarSpeedx:Number;
private var time:int;
private var bombNumb:int;
function NavyPlane(_arg1:Point, _arg2:Point){
super(_arg1, _arg2);
weapon = new PlaneWeapon(this, PlaneMissile);
bounda = -300;
boundb = 900;
}
public function setFreeze(_arg1:Boolean):void{
if (_arg1){
state = 3;
} else {
state = 1;
};
}
private function overBound():void{
var _local1:int;
if ((((((((curLoc.x > boundb)) || ((curLoc.x < bounda)))) || ((curLoc.y > boundb)))) || ((curLoc.y < bounda)))){
time++;
bombNumb = 0;
if (time <= 3){
_local1 = ((Math.random() - 0.2) * 1000);
if ((((curLoc.x > boundb)) || ((curLoc.x < bounda)))){
curLoc = new Point(_local1, curLoc.x);
if (curLoc.x < bounda){
curLoc.x = bounda;
};
if (curLoc.x > boundb){
curLoc.x = boundb;
};
} else {
if ((((curLoc.y > boundb)) || ((curLoc.y < bounda)))){
curLoc = new Point(curLoc.y, _local1);
if (curLoc.y < bounda){
curLoc.y = bounda;
};
if (curLoc.y > boundb){
curLoc.y = boundb;
};
};
};
calculate(curLoc, new Point((Data.turretLoc.x + int((_local1 / 40))), (Data.turretLoc.y + int((_local1 / 40)))));
} else {
deleteMe();
};
};
}
override protected function calculate(_arg1:Point, _arg2:Point):void{
super.calculate(_arg1, _arg2);
if (time < 1){
tarSpeedx = curSpeedx;
tarSpeedy = curSpeedy;
curSpeedx = 0;
curSpeedy = 0;
};
}
override protected function overRideFun():void{
powerValue = (Data.shipsData["aircraftCarrier"].power / 3.5);
speed = 8;
targetScale = int((3 + Math.random()));
AirCraftClass = (getDefinitionByName("AirCraft0") as Class);
}
override protected function enterFrame(_arg1:Event):void{
var _local2:int;
if ((((state == 1)) || ((state == 3)))){
if (time < 1){
if (curSpeedx != tarSpeedx){
curSpeedx = (curSpeedx + (tarSpeedx / ((1 / speed) * 140)));
curSpeedy = (curSpeedy + (tarSpeedy / ((1 / speed) * 140)));
if (Math.abs(curSpeedx) >= Math.abs(tarSpeedx)){
curSpeedx = tarSpeedx;
curSpeedy = tarSpeedy;
};
} else {
if (_mc.scaleX < targetScale){
_mc.scaleX = (_mc.scaleX + (speed / 100));
_mc.scaleY = (_mc.scaleY + (speed / 100));
};
};
};
overBound();
curLoc.x = (curLoc.x + curSpeedx);
curLoc.y = (curLoc.y + curSpeedy);
_mc.x = curLoc.x;
_mc.y = curLoc.y;
if (state == 1){
if (bombNumb < 3){
_local2 = Point.distance(Data.turretLoc, curLoc);
if (_local2 < 60){
if (Math.random() > ((1 / speed) * 6)){
throwBomb();
bombNumb++;
};
};
};
};
};
}
}
}//package Code.Enemy
Section 44
//Ship (Code.Enemy.Ship)
package Code.Enemy {
import Code.*;
import flash.display.*;
import flash.events.*;
import Code.Game.*;
import flash.geom.*;
import Code.Weapon.*;
import Code.Data.*;
import flash.utils.*;
import Code.Player.*;
public class Ship {
private var lastGrid:Object;
private var shipFreeze:ShipFreeze;
private var curP:Point;
private var speedx:Number;
private var speedy:Number;
protected var missile:String;
protected var pathArray:Array;
protected var canBeAttacked:Boolean;
protected var angleSpeed:Number;
protected var speed:Number;
protected var curPathIndex:int;
private var health:Health;
private var mapLength:int;
protected var bombEffectClass:Class;
var powerValue:int;
protected var curAngle:Number;
protected var healthValue:int;
private var goingEnd:Boolean;
private var hitMc:Sprite;
private var state:int;
private var terminalLocArray:Array;
private var onWayPark:Boolean;
private var lastState:int;
protected var shipClass:Class;
protected var bombDense:Number;
private var nextAngle:Number;
private var curGrid:Object;
protected var scoreForTurret:int;
private var whenCur:int;// = 3
protected var waterWave:ShipWaterWave;
private var thismc:Sprite;
var missileSpeed:int;
protected var p2:Point;
protected var p1:Point;
protected var ifMoving:Boolean;
private var haveAttack:int;
var attackRange:int;
protected var shipName:String;
private var angleDirection:Number;
private var shipMc:MovieClip;
private var haveBombNum:int;
protected var cannon:AbstractShooter;
public static var DIE:int = 0;
public static var NORMAL:int = 1;
public static var FREEZE:int = 2;
public static var PAUSE:int = 3;
public function Ship(_arg1:String=""){
bombEffectClass = (getDefinitionByName("bombEffect0") as Class);
whenCur = 3;
super();
shipName = _arg1;
variableInit();
overRideFun();
getFirstPoint();
getTerminatePoint();
getPath();
addShip();
addEvent();
}
public function get missileClass():String{
return (missile);
}
private function shipExplode():void{
var _local1:Sprite;
var _local2:Point;
var _local3:MovieClip;
if (getState){
if (haveBombNum < (bombDense * 10)){
_local1 = hitMc[("loc" + haveBombNum)];
_local2 = _local1.localToGlobal(new Point(0, 0));
_local3 = new bombEffectClass();
_local3.x = _local2.x;
_local3.y = _local2.y;
thismc.parent.addChild(_local3);
haveBombNum++;
if (haveBombNum == (bombDense * 10)){
_local3.addFrameScript(int((_local3.totalFrames / 2)), shipDie);
} else {
_local3.addFrameScript(3, shipExplode);
};
};
};
}
private function runAngle():void{
if (curAngle != nextAngle){
curAngle = (curAngle + (angleDirection * angleSpeed));
if (curAngle >= 360){
curAngle = 0;
};
if (curAngle < 0){
curAngle = 359;
};
if (Math.abs((curAngle - nextAngle)) < angleSpeed){
if (state == FREEZE){
state = NORMAL;
};
curAngle = nextAngle;
};
shipMc.rotation = curAngle;
};
}
protected function calculateAngle(_arg1:Point, _arg2:Point, _arg3:Boolean=false):Number{
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local4 = (_arg2.x - _arg1.x);
_local5 = (_arg2.y - _arg1.y);
_local6 = Math.sqrt(((_local4 * _local4) + (_local5 * _local5)));
_local7 = ((Math.asin((_local5 / _local6)) * 180) / Math.PI);
if ((((_arg2.x < _arg1.x)) && ((_arg2.y >= _arg1.y)))){
_local7 = ((90 - _local7) + 90);
} else {
if ((((_arg2.x < _arg1.x)) && ((_arg2.y <= _arg1.y)))){
_local7 = (-(_local7) + 180);
} else {
if ((((_arg2.x >= _arg1.x)) && ((_arg2.y < _arg1.y)))){
_local7 = ((90 + _local7) + 270);
};
};
};
if (!_arg3){
speedx = ((_local4 / _local6) * speed);
speedy = ((_local5 / _local6) * speed);
};
return (_local7);
}
public function get hitTextMc():Sprite{
return (hitMc);
}
private function calcuCurPoint():Boolean{
if ((((((((curP.x > 0)) && ((curP.x < 600)))) && ((curP.y > 50)))) && ((curP.y < 450)))){
return (true);
};
return (false);
}
private function setObstacle(_arg1:Point, _arg2:Number=1):Array{
return (War.map.setRecObstacle(_arg1, (shipMc.width * _arg2), (shipMc.height * _arg2), false, Map.PARKED));
}
private function startExplode(_arg1:Event):void{
haveBombNum = 0;
shipExplode();
shipDesSound();
if (cannon != null){
cannon.setPause(true);
};
}
private function addReward():void{
var _local1:Class;
var _local2:MovieClip;
_local1 = (getDefinitionByName("shipRewardScreen") as Class);
_local2 = new (_local1);
_local2.x = curP.x;
_local2.y = curP.y;
_local2["mc"]["txt"].text = scoreForTurret;
War.elseScreen.addChild(_local2);
}
public function get _mc():Sprite{
return (thismc);
}
private function getFreezeTimeMc(_arg1:Boolean=false):void{
if (shipFreeze == null){
shipFreeze = new ShipFreeze(this);
};
shipFreeze.start(_arg1);
}
public function get curPoint():Point{
return (new Point(curP.x, curP.y));
}
public function beAttacked(_arg1:int):Boolean{
if (health.value > 0){
health.modify(_arg1);
shipMc.alpha = 0.4;
return (true);
};
return (false);
}
function get moveState():Boolean{
return (ifMoving);
}
private function backToFree(_arg1:Array):void{
var _local2:*;
if (_arg1 != null){
for (_local2 in _arg1) {
War.map.backToFree(_arg1[_local2]);
};
};
}
private function shipStop():void{
modifyHealthLoc();
goingEnd = false;
ifMoving = false;
waterWave.waveStop();
}
private function calculate(_arg1:Point, _arg2:Point, _arg3:Boolean=false):void{
var _local4:Number;
_local4 = calculateAngle(_arg1, _arg2, _arg3);
nextAngle = _local4;
if (nextAngle != curAngle){
if (nextAngle >= curAngle){
angleDirection = 1;
} else {
angleDirection = -1;
};
};
if (Math.abs((curAngle - _local4)) > 180){
angleDirection = (angleDirection * -1);
};
}
private function runShip():void{
if (((!((curAngle == nextAngle))) || (goingEnd))){
curP.x = (curP.x + (speedx / 2));
curP.y = (curP.y + (speedy / 2));
} else {
curP.x = (curP.x + speedx);
curP.y = (curP.y + speedy);
};
thismc.x = curP.x;
thismc.y = curP.y;
}
protected function enterFrame(_arg1:Event):void{
whenCur++;
if (whenCur > 2){
if (onWayPark){
if (whenCur > 40){
calculateCurGrid();
whenCur = 0;
};
} else {
calculateCurGrid();
whenCur = 0;
};
};
if (((ifMoving) && ((state == NORMAL)))){
runAngle();
runShip();
ifGridIsPathNext();
};
if (haveAttack < 5){
haveAttack++;
if (haveAttack >= 5){
shipMc.alpha = 1;
haveAttack = 0;
};
};
}
private function calculateCurGrid():void{
var _local1:Boolean;
curGrid = War.map.mapsCurObj(curP);
if (curGrid != lastGrid){
backToFree(terminalLocArray);
terminalLocArray = setObstacle(curP);
_local1 = false;
if (terminalLocArray[(terminalLocArray.length - 1)] === true){
terminalLocArray.pop();
_local1 = true;
};
if (((_local1) && (calcuCurPoint()))){
waterWave.waveStop();
onWayPark = true;
modifyHealthLoc();
ifMoving = false;
} else {
if (!ifMoving){
waterWave.waveStart();
ifMoving = true;
onWayPark = false;
};
lastGrid = curGrid;
};
};
}
private function addEvent():void{
thismc.addEventListener(Event.ENTER_FRAME, enterFrame, false, 0, true);
}
private function addShip():void{
var _local1:MovieClip;
thismc = new shipClass();
thismc.x = p1.x;
thismc.y = p1.y;
thismc.mouseChildren = false;
thismc.name = shipName;
War.warScreen.addChild(thismc);
thismc.addEventListener("die", startExplode, false, 0, true);
shipMc = (thismc.getChildByName("shipmc") as MovieClip);
shipMc.cacheAsBitmap = true;
shipMc.rotation = nextAngle;
waterWave = new ShipWaterWave(this);
_local1 = (thismc.getChildByName("healthmc") as MovieClip);
health = new Health(_local1, healthValue, healthValue);
hitMc = (shipMc.getChildByName("hitTextMc") as Sprite);
}
protected function getPathArray():void{
pathArray = War.map.getPath(p1, p2, shipName);
}
private function calculateNext(_arg1:Point):void{
if (curPathIndex < (mapLength - 1)){
calculate(_arg1, pathArray[(curPathIndex + 1)].center, false);
};
}
private function ifGridIsPathNext():void{
var _local1:Number;
if (curGrid == null){
deleteMe();
} else {
if (curGrid == pathArray[(curPathIndex + 1)]){
if (!goingEnd){
if (curGrid == pathArray[(mapLength - 1)]){
goingEnd = true;
};
};
_local1 = Point.distance(curP, curGrid["center"]);
if (_local1 <= (speed * 1.5)){
curPathIndex++;
calculateNext(curGrid["center"]);
if (goingEnd){
shipStop();
};
};
};
};
}
public function setFreeze(_arg1:Boolean, _arg2:Boolean=false):void{
if (cannon != null){
cannon.setPause(_arg1);
};
if (_arg1){
state = FREEZE;
getFreezeTimeMc(_arg2);
modifyHealthLoc();
} else {
state = NORMAL;
};
}
private function getPath():void{
getPathArray();
mapLength = pathArray.length;
curPathIndex = 0;
curP = new Point(p1.x, p1.y);
curAngle = 0;
calculateNext(curP);
curAngle = nextAngle;
}
public function deleteMe():void{
if (getState){
state = DIE;
backToFree(terminalLocArray);
waterWave.waveStop();
if (shipFreeze != null){
shipFreeze.deleteMe();
};
if (cannon != null){
cannon.deleteMe();
};
if (thismc.parent != null){
thismc.parent.removeChild(thismc);
};
thismc.removeEventListener("die", startExplode);
thismc.removeEventListener(Event.ENTER_FRAME, enterFrame);
War.enemy.start();
};
}
protected function getTerminatePoint():void{
p2 = War.map.getShipsTerminateLoc(attackRange, shipName);
}
protected function shipDie():void{
Player.alterScore(scoreForTurret);
Data.shipDes++;
addReward();
deleteMe();
}
private function variableInit():void{
canBeAttacked = true;
ifMoving = true;
goingEnd = false;
state = NORMAL;
speed = 1;
angleSpeed = 1;
missileSpeed = 4;
attackRange = 200;
healthValue = 500;
powerValue = 100;
scoreForTurret = 500;
bombDense = 0.5;
terminalLocArray = new Array();
}
private function modifyHealthLoc():void{
var temp:Point;
try {
if (health.getMc != null){
temp = thismc.localToGlobal(new Point(health.getMc.x, health.getMc.y));
if (temp.y > 447){
health.getMc.y = -(Math.abs(health.getMc.y));
};
};
} catch(err:Error) {
};
}
protected function shipDesSound():void{
SoundsManager.playSound("ship_des_s", false);
}
public function get canBeShoot():Boolean{
if (((getState) && (canBeAttacked))){
return (true);
};
return (false);
}
private function getFirstPoint():void{
p1 = War.map.getShipsInitLoc(shipName);
}
protected function set setShipClass(_arg1:String):void{
shipClass = (getDefinitionByName(_arg1) as Class);
}
public function setPause(_arg1:Boolean):void{
if (getState){
if (cannon != null){
cannon.setPause(_arg1);
};
if (shipFreeze != null){
shipFreeze.setPause(_arg1);
};
if (_arg1){
lastState = state;
state = PAUSE;
} else {
state = lastState;
};
};
}
public function get shipmc():MovieClip{
return (shipMc);
}
public function get getState():int{
return (state);
}
protected function overRideFun():void{
}
public function get disToTurret():Number{
return (Point.distance(curP, Data.turretLoc));
}
}
}//package Code.Enemy
Section 45
//ShipCannon (Code.Enemy.ShipCannon)
package Code.Enemy {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import Code.Weapon.*;
import Code.Data.*;
public class ShipCannon extends AbstractShooter {
protected var extendRange:Number;
var ship:Ship;
protected var js:int;
protected var ran:int;
protected var missileClass:String;
public function ShipCannon(_arg1:Ship){
super((_arg1._mc as Sprite));
ship = _arg1;
missileClass = _arg1.missileClass;
js = 0;
ran = 100;
range = ship.attackRange;
extendRange = (range * 1.2);
addEvent();
}
private function addEvent():void{
shooterSprite.addEventListener(Event.ENTER_FRAME, enterFrame, false, 0, true);
}
protected function getRandomRange(_arg1:int):int{
if ((ship is Submarine)){
return ((_arg1 - (Data.turretSize / 2)));
};
return ((((Math.random() * _arg1) * 0.6) + (0.7 * _arg1)));
}
override public function deleteMe():void{
shooterSprite.removeEventListener(Event.ENTER_FRAME, enterFrame);
super.deleteMe();
}
override protected function overRideFun():void{
childrenInit("shooter");
}
private function enterFrame(_arg1:Event):void{
if (!pause){
shooterPoint = shooterSprite.localToGlobal(new Point(shooterSprite.x, shooterSprite.y));
getGlobalFskPoint();
modifyWeaponAngle(Data.turretLoc);
getNewBomb();
};
}
protected function getNewBomb():void{
var _local1:int;
var _local2:int;
_local1 = ship.disToTurret;
if (_local1 < extendRange){
js++;
if (js >= ran){
js = 0;
_local2 = getRandomRange(_local1);
missiles.push(new ShipCannonMissile(this, Data.turretLoc, missileClass, ship.missileSpeed, _local2));
ran = ((Math.random() * 100) + 150);
};
};
}
}
}//package Code.Enemy
Section 46
//ShipCannonMissile (Code.Enemy.ShipCannonMissile)
package Code.Enemy {
import flash.geom.*;
import Code.Weapon.*;
import Code.Player.*;
public class ShipCannonMissile extends AbstractRocketScale {
public function ShipCannonMissile(_arg1:ShipCannon, _arg2:Point, _arg3:String, _arg4:int, _arg5:int=200){
super(_arg1, _arg2);
this.range = _arg5;
this.speed = _arg4;
power = _arg1.ship.powerValue;
addNewMissile(_arg3);
}
override protected function hitTestFun():void{
var _local1:*;
if (bombHitTestMc != null){
for (_local1 in Player.turrets) {
if (bombHitTestMc.hitTestObject(Player.turrets[_local1].turretSprite)){
Player.turrets[_local1].beAttacked(-(power));
bombHitTestMc = null;
};
};
};
}
}
}//package Code.Enemy
Section 47
//ShipFreeze (Code.Enemy.ShipFreeze)
package Code.Enemy {
import flash.display.*;
import flash.text.*;
import flash.utils.*;
public class ShipFreeze {
private var intervalId:int;
private var freezeTime:Number;
private var freezeTimeTxt:TextField;
private var _mc:MovieClip;
private var pause:Boolean;
private var ship:Ship;
private static var cla:Class = (getDefinitionByName("freezeTimeMc") as Class);
public function ShipFreeze(_arg1:Ship){
this.ship = _arg1;
_mc = new cla();
_arg1._mc.addChild(_mc);
freezeTimeTxt = (_mc.getChildByName("freezeTimeTxt") as TextField);
freezeTimeTxt.selectable = false;
pause = false;
freezeTime = 0;
}
function deleteMe():void{
freezeTime = 0;
freezeTimeTxt.text = "";
clearInterval(intervalId);
}
function start(_arg1:Boolean=false):void{
if (_arg1){
freezeTime = (freezeTime + 10);
} else {
freezeTime = (freezeTime + 20);
};
if (freezeTime > 20){
freezeTime = 20;
};
clearInterval(intervalId);
freezeTimeTxt.text = String(int(freezeTime));
intervalId = setInterval(freezeFun, 500);
}
function setPause(_arg1:Boolean):void{
pause = _arg1;
}
private function freezeFun():void{
if (!pause){
freezeTimeTxt.text = String(int(freezeTime));
freezeTime = (freezeTime - 0.5);
if ((freezeTime % 1) == 0){
ship.shipmc.alpha = 0.5;
} else {
ship.shipmc.alpha = 1;
};
if (freezeTime < 0){
ship.shipmc.alpha = 1;
ship.setFreeze(false);
deleteMe();
};
};
}
}
}//package Code.Enemy
Section 48
//ShipWaterWave (Code.Enemy.ShipWaterWave)
package Code.Enemy {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class ShipWaterWave {
var container:Sprite;
private var js:uint;
private static var mcCla:Class = (getDefinitionByName("WaterWave") as Class);
public function ShipWaterWave(_arg1:Ship){
var _local2:Number;
super();
container = new Sprite();
container.x = (((-1 * _arg1.shipmc.width) / 2) + 3);
_arg1.shipmc.addChild(container);
_arg1.shipmc.setChildIndex(container, 0);
addNewWave();
_local2 = container.height;
if ((_arg1 is AircraftCarrier)){
container.height = 25;
container.x = (container.x + 8);
} else {
container.height = 14;
if ((_arg1 is Submarine)){
container.x = (container.x + 10);
};
};
container.scaleX = ((container.height / _local2) * 1.2);
waveStart();
}
function waveStart():void{
container.addEventListener(Event.ENTER_FRAME, enterFrameFun, false, 0, true);
}
private function addNewWave():void{
var _local1:MovieClip;
_local1 = new mcCla();
_local1.y = ((Math.random() - 0.5) * 10);
container.addChild(_local1);
}
function waveStop():void{
container.removeEventListener(Event.ENTER_FRAME, enterFrameFun);
}
private function enterFrameFun(_arg1:Event):void{
js++;
if (js > 1){
addNewWave();
js = 0;
};
}
}
}//package Code.Enemy
Section 49
//SmallShip (Code.Enemy.SmallShip)
package Code.Enemy {
import Code.*;
import flash.events.*;
import Code.Game.*;
import flash.geom.*;
import Code.Data.*;
import Code.Player.*;
public class SmallShip extends Ship {
private var haveBombSelf:Boolean;
private var move_s_int:int;
public function SmallShip(_arg1:String){
super(_arg1);
move_s_int = SoundsManager.playSound("smallShip_move_s", false, int.MAX_VALUE);
}
override public function deleteMe():void{
if (getState){
SoundsManager.stopSound("smallShip_move_s", move_s_int);
};
super.deleteMe();
}
override protected function shipDie():void{
if (haveBombSelf){
deleteMe();
} else {
super.shipDie();
};
}
override protected function getTerminatePoint():void{
p2 = War.map.getMapPoint(new Point(Data.turretLoc.x, Data.turretLoc.y));
}
override protected function overRideFun():void{
setShipClass = "smallShip";
speed = 1.4;
angleSpeed = 1;
attackRange = 120;
healthValue = Data.shipsData["smallShip"].health;
powerValue = Data.shipsData["smallShip"].power;
scoreForTurret = Data.shipsData["smallShip"].score;
bombDense = 0.2;
}
override protected function enterFrame(_arg1:Event):void{
var _local2:*;
super.enterFrame(_arg1);
if (getState){
if (!haveBombSelf){
if (disToTurret < ((Data.turretSize / 3) * 2)){
for (_local2 in Player.turrets) {
_mc.dispatchEvent(new Event("die", true));
_mc.alpha = 0;
Player.turrets[_local2].beAttacked(-(powerValue));
haveBombSelf = true;
};
};
};
};
}
override protected function getPathArray():void{
pathArray = War.map.getPath(p1, p2, shipName, true);
}
}
}//package Code.Enemy
Section 50
//Submarine (Code.Enemy.Submarine)
package Code.Enemy {
import Code.*;
import flash.display.*;
import flash.events.*;
import Code.Data.*;
public class Submarine extends Ship {
private var inInt:int;// = -1
private var ran:int;
private var isOut:Boolean;
private var js:int;
private var cloneMc:Sprite;
private var outInt:int;// = -1
private var shipMcCur:int;
public function Submarine(_arg1:String){
outInt = -1;
inInt = -1;
super(_arg1);
isOut = false;
js = 0;
ran = ((Math.random() * 50) + 50);
_mc.parent.setChildIndex(_mc, 0);
shipmc.stop();
shipmc["waveSprite"].addChild(waterWave.container);
cannon = new SubmarineCannon(this);
}
private function enterframe():void{
if (getState == NORMAL){
js++;
if (js > ran){
hideOrShow();
js = 0;
if (isOut){
ran = ((Math.random() * 50) + 200);
} else {
ran = ((Math.random() * 50) + 120);
};
};
if (shipMcCur > 1){
shipMcCur--;
shipmc.gotoAndStop(shipMcCur);
};
};
}
override public function deleteMe():void{
if (getState){
if (cloneMc != null){
shipmc.addFrameScript((shipmc.totalFrames - 1), null);
cloneMc.parent.removeChild(cloneMc);
cloneMc = null;
};
};
super.deleteMe();
}
private function addCloneMc():void{
var _local1:MovieClip;
if (cloneMc == null){
cloneMc = new shipClass();
};
_local1 = (cloneMc.getChildByName("shipmc") as MovieClip);
_local1.rotation = curAngle;
cloneMc.x = curPoint.x;
cloneMc.y = curPoint.y;
_mc.parent.addChild(cloneMc);
cloneMc.parent.setChildIndex(cloneMc, 0);
}
function get outHideState():Boolean{
return (isOut);
}
private function outSound():void{
if (outInt >= 0){
SoundsManager.stopSound("submarine_up_s", outInt);
};
outInt = SoundsManager.playSound("submarine_up_s");
}
private function hideOrShow():void{
isOut = !(isOut);
if (isOut){
outSound();
addCloneMc();
_mc.parent.setChildIndex(_mc, (_mc.parent.numChildren - 1));
shipMcCur = shipmc.totalFrames;
canBeAttacked = true;
} else {
inSound();
addCloneMc();
shipmc.gotoAndPlay(2);
shipmc.addFrameScript((shipmc.totalFrames - 1), whenAllHide);
};
}
private function whenAllHide():void{
if (getState){
canBeAttacked = false;
_mc.parent.setChildIndex(_mc, 0);
shipmc.gotoAndStop(1);
cloneMc.parent.setChildIndex(cloneMc, 0);
};
}
private function inSound():void{
if (inInt >= 0){
SoundsManager.stopSound("submarine_down_s", inInt);
};
inInt = SoundsManager.playSound("submarine_down_s");
}
override protected function overRideFun():void{
missile = "Torpedo0";
setShipClass = "subMarine";
speed = 1;
angleSpeed = 0.5;
missileSpeed = 5;
attackRange = 220;
healthValue = Data.shipsData["submarine"].health;
powerValue = Data.shipsData["submarine"].power;
scoreForTurret = Data.shipsData["submarine"].score;
canBeAttacked = false;
}
override protected function enterFrame(_arg1:Event):void{
super.enterFrame(_arg1);
if (!ifMoving){
enterframe();
} else {
if (cloneMc != null){
cloneMc.x = curPoint.x;
cloneMc.y = curPoint.y;
cloneMc["shipmc"].rotation = shipmc.rotation;
};
};
}
}
}//package Code.Enemy
Section 51
//SubmarineCannon (Code.Enemy.SubmarineCannon)
package Code.Enemy {
import Code.Data.*;
public class SubmarineCannon extends ShipCannon {
private var submarine:Submarine;
public function SubmarineCannon(_arg1:Ship){
super(_arg1);
submarine = (_arg1 as Submarine);
ran = 80;
}
override protected function getNewBomb():void{
var _local1:int;
var _local2:int;
_local1 = ship.disToTurret;
if (_local1 < extendRange){
if (submarine.outHideState){
js++;
if (js >= ran){
_local2 = getRandomRange(_local1);
missiles.push(new SubmarineTorpedo(this, Data.turretLoc, missileClass, ship.missileSpeed, _local2));
js = 0;
ran = ((Math.random() * 100) + 50);
};
} else {
js = 0;
};
};
}
}
}//package Code.Enemy
Section 52
//SubmarineTorpedo (Code.Enemy.SubmarineTorpedo)
package Code.Enemy {
import flash.geom.*;
import Code.Weapon.*;
import Code.Player.*;
public class SubmarineTorpedo extends AbstractRocket {
public function SubmarineTorpedo(_arg1:ShipCannon, _arg2:Point, _arg3:String, _arg4:int, _arg5:int=200){
super(_arg1, _arg2);
this.range = _arg5;
this.speed = _arg4;
power = _arg1.ship.powerValue;
addNewMissile(_arg3);
_mc.parent.setChildIndex(_mc, 0);
_mc.scaleX = 0.5;
_mc.scaleY = 0.5;
}
override protected function overRideFun():void{
super.overRideFun();
frySoundName = null;
}
override protected function hitTestFun():void{
var _local1:*;
if (bombHitTestMc != null){
for (_local1 in Player.turrets) {
if (bombHitTestMc.hitTestObject(Player.turrets[_local1].turretSprite)){
Player.turrets[_local1].beAttacked(-(power));
bombHitTestMc = null;
};
};
};
}
}
}//package Code.Enemy
Section 53
//Bonus (Code.Game.Bonus)
package Code.Game {
import flash.display.*;
import flash.events.*;
import Code.Data.*;
import flash.text.*;
public class Bonus extends UI {
private var numsTxt:TextField;
private var rollMc:MovieClip;
private var backBtn:MovieClip;
private var stopBtn:MovieClip;
private var bonus:int;
public function Bonus(_arg1:int){
screenInit();
this.bonus = _arg1;
}
private function showTxt():void{
var _local1:int;
_local1 = ((rollMc.currentFrame - 1) / 5);
if (_local1 == 0){
numsTxt.text = String((5 * (1 + bonus)));
} else {
numsTxt.text = String((bonus + 1));
};
}
private function backFun(_arg1:MouseEvent):void{
stopBtn.removeEventListener(MouseEvent.CLICK, stopFun);
backBtn.removeEventListener(MouseEvent.CLICK, backFun);
removeScreen(screen);
}
protected function screenInit():void{
screen = addScreen(UI.bnusClass);
screen.x = 300;
screen.y = 225;
stopBtn = (screen.getChildByName("stopBtn") as MovieClip);
stopBtn.addEventListener(MouseEvent.MOUSE_UP, stopFun, false, 0, true);
backBtn = (screen.getChildByName("backBtn") as MovieClip);
backBtn.addEventListener(MouseEvent.MOUSE_UP, backFun, false, 0, true);
rollMc = (screen.getChildByName("rollMc") as MovieClip);
rollMc.addFrameScript(0, showTxt, 5, showTxt, 10, showTxt, 15, showTxt, 20, showTxt);
numsTxt = (rollMc["bonusTxtMc"].getChildByName("numTxt") as TextField);
}
private function stopFun(_arg1:MouseEvent):void{
var _local2:int;
rollMc.gotoAndStop((int((Math.random() * rollMc.totalFrames)) + 1));
_local2 = ((rollMc.currentFrame - 1) / 5);
rollMc.gotoAndStop(((_local2 * 5) + 1));
switch (_local2){
case 0:
Data.primaryWeaponData[Data.curPrimaryWeapon].power = int((Data.primaryWeaponData[Data.curPrimaryWeapon].power * (1 + (0.05 * (bonus + 1)))));
Data.secondaryWeaponData[Data.curSecondaryWeapon].power = int((Data.secondaryWeaponData[Data.curSecondaryWeapon].power * (1 + (0.05 * (bonus + 1)))));
break;
case 1:
Data.specialWeapons["planes"].num = (Data.specialWeapons["planes"].num + (bonus + 1));
break;
case 2:
Data.specialWeapons["shields"].num = (Data.specialWeapons["shields"].num + (bonus + 1));
break;
case 3:
Data.specialWeapons["freezes"].num = (Data.specialWeapons["freezes"].num + (bonus + 1));
break;
case 4:
Data.specialWeapons["lifes"].num = (Data.specialWeapons["lifes"].num + (bonus + 1));
break;
};
stopBtn.visible = false;
}
}
}//package Code.Game
Section 54
//ChooseWeapon (Code.Game.ChooseWeapon)
package Code.Game {
import Code.*;
import flash.display.*;
import flash.events.*;
import Code.Data.*;
import flash.utils.*;
public class ChooseWeapon {
private var sec:MovieClip;
private var screen:Sprite;
private var btnBack0:Array;
private var btnBack1:Array;
private var tipMc:Sprite;
private var pri:MovieClip;
private var toolTipMc:Sprite;
public function ChooseWeapon(_arg1:Sprite){
var parent = _arg1;
super();
screen = parent;
try {
init();
} catch(err:Error) {
};
toolTipInit();
}
private function selectFun(_arg1:MouseEvent):void{
var _local2:String;
var _local3:int;
var _local4:int;
_local2 = (_arg1.target as MovieClip).name;
_local3 = Number(_local2.slice(-2, -1));
_local4 = Number(_local2.slice(-1));
if ((((((_local3 == 0)) && (!((_local4 == Data.curPrimaryWeapon))))) || ((((_local3 == 1)) && (!((_local4 == Data.curSecondaryWeapon))))))){
UI.weaponSelectSound();
btnBackRecover(_local3, _local4);
if (_local3 == 0){
Data.curPrimaryWeapon = _local4;
} else {
if (_local3 == 1){
Data.curSecondaryWeapon = _local4;
};
};
screen.dispatchEvent(new Event("refresh", true));
};
}
private function rollOutFun(_arg1:MouseEvent):void{
if (toolTipMc.parent != null){
toolTipMc.parent.removeChild(toolTipMc);
};
}
private function btnBackRecover(_arg1:int, _arg2:int):void{
var _local3:int;
if (_arg1 == 0){
_local3 = 0;
while (_local3 < Data.primaryWeapons) {
btnBack0[_local3].gotoAndStop(2);
_local3++;
};
btnBack0[_arg2].gotoAndStop(3);
} else {
_local3 = 0;
while (_local3 < Data.secondaryWeapons) {
btnBack1[_local3].gotoAndStop(2);
_local3++;
};
btnBack1[_arg2].gotoAndStop(3);
};
}
public function deleteMe():void{
var _local1:*;
for (_local1 in btnBack0) {
btnBack0[_local1].removeEventListener(MouseEvent.CLICK, selectFun);
btnBack0[_local1].removeEventListener(MouseEvent.ROLL_OVER, rollOverFun);
btnBack0[_local1].removeEventListener(MouseEvent.ROLL_OUT, rollOutFun);
};
for (_local1 in btnBack1) {
btnBack1[_local1].removeEventListener(MouseEvent.CLICK, selectFun);
btnBack1[_local1].removeEventListener(MouseEvent.ROLL_OVER, rollOverFun);
btnBack1[_local1].removeEventListener(MouseEvent.ROLL_OUT, rollOutFun);
};
}
private function toolTipInit():void{
toolTipMc = new ((getDefinitionByName("toolTip") as Class));
toolTipMc.mouseEnabled = false;
toolTipMc.mouseChildren = false;
tipMc = toolTipMc["tipmc"];
tipMc["coinmc"].visible = false;
tipMc["txt"].autoSize = "center";
}
private function init():void{
var _local1:int;
btnBack0 = [];
btnBack1 = [];
_local1 = 0;
while (_local1 < 5) {
pri = (screen.getChildByName(("back0" + _local1)) as MovieClip);
pri["weapons"].gotoAndStop((_local1 + 1));
pri.mouseChildren = false;
pri.addEventListener(MouseEvent.ROLL_OVER, rollOverFun, false, 0, true);
pri.addEventListener(MouseEvent.ROLL_OUT, rollOutFun, false, 0, true);
sec = (screen.getChildByName(("back1" + _local1)) as MovieClip);
sec["weapons"].gotoAndStop((_local1 + 6));
sec.mouseChildren = false;
sec.addEventListener(MouseEvent.ROLL_OVER, rollOverFun, false, 0, true);
sec.addEventListener(MouseEvent.ROLL_OUT, rollOutFun, false, 0, true);
if (_local1 < Data.primaryWeapons){
pri.addEventListener(MouseEvent.CLICK, selectFun, false, 0, true);
pri.gotoAndStop(2);
pri.buttonMode = true;
btnBack0[_local1] = pri;
sec.addEventListener(MouseEvent.CLICK, selectFun, false, 0, true);
sec.gotoAndStop(2);
sec.buttonMode = true;
btnBack1[_local1] = sec;
} else {
pri.gotoAndStop(1);
sec.gotoAndStop(1);
};
_local1++;
};
btnBack0[Data.curPrimaryWeapon].gotoAndStop(3);
btnBack1[Data.curSecondaryWeapon].gotoAndStop(3);
}
private function rollOverFun(_arg1:MouseEvent):void{
var _local2:MovieClip;
var _local3:String;
var _local4:String;
var _local5:int;
_local2 = (_arg1.target as MovieClip);
_local3 = _local2.name;
_local4 = _local3.slice(-2, -1);
_local5 = int(_local3.slice(-1));
if (_local4 == "0"){
if (_local5 <= (Data.primaryWeapons - 1)){
tipMc["txt"].text = ((((Data.primaryWeaponData[_local5].name + " ") + LanguageData.POWER[(Language.language_nr - 1)]) + " : ") + Data.primaryWeaponData[_local5].power);
} else {
tipMc["txt"].text = ((((Data.primaryWeaponData[_local5].name + " ") + LanguageData.UnlockInLevel[(Language.language_nr - 1)]) + " ") + Data.unlocks[_local5]);
};
} else {
if (_local5 <= (Data.secondaryWeapons - 1)){
tipMc["txt"].text = ((((Data.secondaryWeaponData[_local5].name + " ") + LanguageData.POWER[(Language.language_nr - 1)]) + " : ") + Data.secondaryWeaponData[_local5].power);
} else {
tipMc["txt"].text = ((((Data.secondaryWeaponData[_local5].name + " ") + LanguageData.UnlockInLevel[(Language.language_nr - 1)]) + " ") + Data.unlocks[_local5]);
};
};
toolTipMc.x = _local2.x;
toolTipMc.y = (_local2.y - 25);
toolTipMc["back"].width = (tipMc.width + 5);
screen.addChild(toolTipMc);
}
}
}//package Code.Game
Section 55
//EditorList (Code.Game.EditorList)
package Code.Game {
import flash.events.*;
public class EditorList extends UI {
public function EditorList(){
screenInit();
}
private function screenInit():void{
screen = addScreen(UI.editorListClass);
screen.addEventListener(MouseEvent.CLICK, clickFun, false, 0, true);
}
private function clickFun(_arg1:MouseEvent):void{
screen.removeEventListener(MouseEvent.CLICK, clickFun);
removeScreen(screen);
game.mainMenu = new MainMenu();
game.editorList = null;
}
}
}//package Code.Game
Section 56
//Game (Code.Game.Game)
package Code.Game {
import Code.*;
import flash.display.*;
public class Game {
var reinforce:Reinforce;
var highScore:HighScore;
public var weaponSelect:WeaponSelect;
private var levelComplete:LevelComplete;
public var primaryWeaponHint:PrimaryWeaponHint;
var war:War;
var editorList:EditorList;
var load:Load;
var gameOver:GameOver;
var pause:Pause;
var mainMenu:MainMenu;
var howToPlay:HowToPlay;
public function Game(_arg1:Root, _arg2:Sprite){
UI.game = this;
UI.pmc = _arg2;
UI._stage = _arg1.stage;
addLoad();
}
function howtoplayToReinforce():void{
howToPlay = null;
reinforce = new Reinforce();
}
function startWar():void{
war = new War();
}
function toReinforce():void{
levelComplete = null;
reinforce = new Reinforce();
}
function toGameOver():void{
war = null;
gameOver = new GameOver();
}
function toLevelComplete():void{
war = null;
levelComplete = new LevelComplete();
}
function addLoad():void{
load = new Load();
}
function highScoreToMenu():void{
highScore = null;
mainMenu = new MainMenu();
}
function howToPlayToMenu():void{
howToPlay = null;
mainMenu = new MainMenu();
}
function menuToHowToPlay(_arg1:int=0):void{
mainMenu = null;
howToPlay = new HowToPlay(_arg1);
}
function toPause():void{
pause = new Pause();
}
function menuToHighScore():void{
mainMenu = null;
highScore = new HighScore();
}
}
}//package Code.Game
Section 57
//GameOver (Code.Game.GameOver)
package Code.Game {
import Code.*;
import flash.display.*;
import flash.events.*;
import Code.Data.*;
import flash.text.*;
public class GameOver extends UI {
private var mainMenuBtn:MovieClip;
private var medalMc:MovieClip;
private var scoreper:int;
private var subScoreBtn:MovieClip;
private var moreGamesBtn:MovieClip;
private var score0:int;
private var txtEffect:MovieClip;
private var screenMc:MovieClip;
private var nameTxt:TextField;
private var clickSprite:Sprite;
private var tempInt:int;
private var gameOverCon:Sprite;
public function GameOver(){
screenInit();
childrenInit();
playMusic("gameOver_m", 1);
}
private function soundEffect():void{
SoundsManager.playSound("gun_fire_s");
}
private function removeTextEvent():void{
nameTxt.removeEventListener(MouseEvent.MOUSE_DOWN, clearTxt);
nameTxt.removeEventListener(Event.CHANGE, onChange);
}
private function enterFrameFun(_arg1:Event):void{
tempInt++;
if (tempInt == 120){
if (Language._languageNum != 1){
nameTxt.visible = true;
screen.stage.focus = nameTxt;
txtEffect.visible = true;
soundEffect();
};
tempInt = 0;
screen.removeEventListener(Event.ENTER_FRAME, enterFrameFun);
} else {
if ((((tempInt >= 70)) && ((tempInt < 104)))){
if (tempInt == 70){
gameOverCon["score_txt"].visible = true;
soundEffect();
};
if (score0 < Data.score){
score0 = (score0 + scoreper);
} else {
score0 = Data.score;
gameOverCon["rank_txt"].visible = true;
medalMc.visible = true;
tempInt = 105;
soundEffect();
};
gameOverCon["score_txt"].text = score0;
} else {
if (tempInt == 60){
gameOverCon["accu_txt"].visible = true;
soundEffect();
} else {
if (tempInt == 55){
gameOverCon["enemies_txt"].visible = true;
soundEffect();
} else {
if (tempInt == 50){
gameOverCon["waves_txt"].visible = true;
soundEffect();
};
};
};
};
};
}
private function screenInit():void{
screen = addScreen(UI.GameOverClass);
screenMc = (screen as MovieClip);
screenMc.addFrameScript((screenMc.totalFrames - 1), toLastFrame);
screen.addEventListener(Event.ENTER_FRAME, enterFrameFun, false, 0, true);
}
private function clearTxt(_arg1:MouseEvent):void{
nameTxt.text = "";
removeTextEvent();
}
private function subScoreFun(_arg1:MouseEvent):void{
var _local2:String;
UI.btnPressSound0();
if (Language._languageNum == 1){
Random.submitCode(Data.score);
if (Data.rank == "Admiral"){
game.editorList = new EditorList();
} else {
game.mainMenu = new MainMenu();
};
deleteMe();
Data.init();
} else {
_local2 = MathTool.RemoveStrBlank(nameTxt.text);
if (_local2 == ""){
_local2 = LanguageData.YourName[(Language.language_nr - 1)];
};
if (_local2 == LanguageData.YourName[(Language.language_nr - 1)]){
txtEffect.gotoAndPlay(1);
screen.stage.focus = nameTxt;
nameTxt.setSelection(0, nameTxt.length);
} else {
if (NewHighScore.getDomainOk()){
NewHighScore.submit(Number(Data.score), _local2);
if (Data.rank == "Admiral"){
game.highScore = new HighScore(_local2, true);
} else {
game.highScore = new HighScore(_local2);
};
deleteMe();
Data.init();
} else {
screen.addChild(NewHighScore.getMc());
NewHighScore.getMc().x = 70;
NewHighScore.getMc().y = 65;
};
};
};
}
private function mainMenuFun(_arg1:MouseEvent):void{
UI.btnBackSound();
deleteMe();
if (Data.rank == "Admiral"){
game.editorList = new EditorList();
} else {
game.mainMenu = new MainMenu();
};
Data.init();
}
private function btnOver(_arg1:MouseEvent):void{
UI.btnOverSound0();
}
private function deleteMe():void{
if (Language._languageNum != 1){
removeTextEvent();
};
clickSprite.removeEventListener(MouseEvent.ROLL_OVER, btnOver);
subScoreBtn.removeEventListener(MouseEvent.MOUSE_UP, subScoreFun);
mainMenuBtn.removeEventListener(MouseEvent.MOUSE_UP, mainMenuFun);
moreGamesBtn.removeEventListener(MouseEvent.MOUSE_UP, moreGamesFun);
screen.removeEventListener(Event.ENTER_FRAME, enterFrameFun);
removeScreen(screen);
game.gameOver = null;
}
private function childrenInit():void{
var _local1:int;
gameOverCon = (screen.getChildByName("gameOverCon") as Sprite);
if (Language._languageNum != 1){
nameTxt = gameOverCon["name_txt"];
nameTxt.text = LanguageData.YourName[(Language.language_nr - 1)];
screen.stage.focus = nameTxt;
nameTxt.setSelection(0, nameTxt.length);
nameTxt.addEventListener(MouseEvent.MOUSE_DOWN, clearTxt, false, 0, true);
nameTxt.addEventListener(Event.CHANGE, onChange, false, 0, true);
nameTxt.visible = false;
txtEffect = gameOverCon["txtEffect"];
txtEffect.stop();
txtEffect.visible = false;
};
gameOverCon["waves_txt"].selectable = false;
gameOverCon["waves_txt"].text = Data.curLevel;
gameOverCon["waves_txt"].visible = false;
gameOverCon["enemies_txt"].selectable = false;
gameOverCon["enemies_txt"].text = Data.shipDes;
gameOverCon["enemies_txt"].visible = false;
gameOverCon["accu_txt"].selectable = false;
if (Data.allShots == 0){
_local1 = 0;
} else {
_local1 = Math.round(((Data.allHits / Data.allShots) * 100));
};
gameOverCon["accu_txt"].text = (_local1 + " %");
gameOverCon["accu_txt"].visible = false;
gameOverCon["score_txt"].selectable = false;
gameOverCon["score_txt"].text = 0;
gameOverCon["score_txt"].visible = false;
scoreper = (Data.score / 30);
gameOverCon["rank_txt"].selectable = false;
gameOverCon["rank_txt"].text = Data.rank;
gameOverCon["rank_txt"].visible = false;
medalMc = gameOverCon["medalMc"];
medalMc.gotoAndStop(Data.rank);
medalMc.visible = false;
}
private function toLastFrame():void{
screenMc.stop();
clickSprite = (gameOverCon.getChildByName("clickSprite") as Sprite);
clickSprite.addEventListener(MouseEvent.ROLL_OVER, btnOver, false, 0, true);
subScoreBtn = (clickSprite.getChildByName("subScoreBtn") as MovieClip);
subScoreBtn.addEventListener(MouseEvent.MOUSE_UP, subScoreFun, false, 0, true);
mainMenuBtn = (clickSprite.getChildByName("mainMenuBtn") as MovieClip);
mainMenuBtn.addEventListener(MouseEvent.MOUSE_UP, mainMenuFun, false, 0, true);
moreGamesBtn = (screen.getChildByName("moreGamesBtn") as MovieClip);
moreGamesBtn.addEventListener(MouseEvent.MOUSE_UP, moreGamesFun, false, 0, true);
}
private function moreGamesFun(_arg1:MouseEvent):void{
getURL("&utm_term=logo_gameover");
}
private function onChange(_arg1:Event):void{
removeTextEvent();
}
}
}//package Code.Game
Section 58
//HighScore (Code.Game.HighScore)
package Code.Game {
import Code.*;
import flash.display.*;
import flash.events.*;
import Code.Data.*;
import flash.text.*;
import flash.net.*;
public class HighScore extends UI {
private var nameList:Boolean;
private var playerName:String;
private var rankTxts:Array;
private var moreGamesBtn:MovieClip;
private var haveName:String;
private var waveTxts:Array;
private var localName:String;// = "AquaTurret-V1.09"
private var newPlayer:String;
private var newTxtMc:MovieClip;
private var nameTxts:Array;
private var backBtn:MovieClip;
private var scoreTxts:Array;
public function HighScore(_arg1:String=null, _arg2:Boolean=false){
localName = "AquaTurret-V1.09";
super();
haveName = _arg1;
screenInit();
childrenInit();
scoreInit();
this.nameList = _arg2;
playerName = LanguageData.YourName[(Language.language_nr - 1)];
if (_arg1 != null){
if (_arg1 == ""){
_arg1 = playerName;
};
newPlayer = _arg1;
addNewPlayer();
};
showScore();
submit2();
}
private function addNewPlayer():void{
var _local1:SharedObject;
var _local2:int;
var _local3:int;
var _local4:int;
_local1 = SharedObject.getLocal(localName, "/");
if (newPlayer == playerName){
_local2 = _local1.data["scores"].length;
_local3 = 1;
_local4 = 0;
while (_local4 < _local2) {
if (_local1.data["scores"][_local4]["name"].slice(0, 6) == playerName){
_local3++;
};
_local4++;
};
newPlayer = (newPlayer + String(_local3));
};
_local1.data["scores"].push({name:newPlayer, score:Data.score, rank:Data.calRank(Data.curLevel), waves:Data.curLevel});
_local1.data["scores"].sortOn("score", (Array.DESCENDING | Array.NUMERIC));
_local1.flush();
}
private function showScore():void{
var _local1:SharedObject;
var _local2:int;
newTxtMc.visible = false;
_local1 = SharedObject.getLocal(localName, "/");
_local2 = 0;
while (_local2 < 10) {
nameTxts[_local2].text = _local1.data["scores"][_local2]["name"];
scoreTxts[_local2].text = _local1.data["scores"][_local2]["score"];
rankTxts[_local2].text = _local1.data["scores"][_local2]["rank"];
waveTxts[_local2].text = _local1.data["scores"][_local2]["waves"];
if ((((_local1.data["scores"][_local2]["name"] == newPlayer)) && ((_local1.data["scores"][_local2]["score"] == String(Data.score))))){
newTxtMc.visible = true;
newTxtMc.y = nameTxts[_local2].y;
};
_local2++;
};
}
private function backBtnClick(_arg1:MouseEvent):void{
UI.btnPressSound0();
backBtn.removeEventListener(MouseEvent.CLICK, backBtnClick);
backBtn.removeEventListener(MouseEvent.ROLL_OVER, btnRollOver);
moreGamesBtn.removeEventListener(MouseEvent.CLICK, moreGamesBtnClick);
removeScreen(screen);
if (nameList){
game.editorList = new EditorList();
} else {
game.highScoreToMenu();
};
}
private function scoreInit():void{
var _local1:String;
var _local2:SharedObject;
var _local3:Array;
var _local4:int;
_local1 = "CPU";
_local2 = SharedObject.getLocal(localName, "/");
if (_local2.data["scores"] == null){
_local2.data["scores"] = new Array();
_local3 = [2, 4, 5, 7, 9, 10, 13, 14, 18, 21];
_local4 = 0;
while (_local4 < 10) {
_local2.data["scores"][_local4] = new Object();
_local2.data["scores"][_local4]["name"] = _local1;
_local2.data["scores"][_local4]["score"] = Data.wavesShipScore(_local3[_local4]);
_local2.data["scores"][_local4]["rank"] = Data.calRank(_local3[_local4]);
_local2.data["scores"][_local4]["waves"] = _local3[_local4];
_local4++;
};
_local2.data["scores"].sortOn("score", (Array.DESCENDING | Array.NUMERIC));
_local4 = 0;
while (_local4 < 10) {
_local2.data["scores"][_local4]["name"] = (_local1 + (_local4 + 1));
_local4++;
};
_local2.flush();
};
}
private function moreGamesBtnClick(_arg1:MouseEvent):void{
getURL("&utm_term=logo_highscore");
}
private function submit2():void{
screen.addChild(NewHighScore.getMc());
NewHighScore.getMc().x = 70;
NewHighScore.getMc().y = 65;
}
private function screenInit():void{
screen = addScreen(HighScoreClass);
}
private function childrenInit():void{
var _local1:int;
if (haveName == null){
backBtn = (screen.getChildByName("mainMenuBtn1") as MovieClip);
screen["mainMenuBtn0"].visible = false;
} else {
backBtn = (screen.getChildByName("mainMenuBtn0") as MovieClip);
screen["mainMenuBtn1"].visible = false;
};
backBtn.addEventListener(MouseEvent.MOUSE_UP, backBtnClick, false, 0, true);
backBtn.addEventListener(MouseEvent.ROLL_OVER, btnRollOver, false, 0, true);
moreGamesBtn = (screen.getChildByName("moreGamesBtn") as MovieClip);
moreGamesBtn.addEventListener(MouseEvent.MOUSE_UP, moreGamesBtnClick, false, 0, true);
newTxtMc = (screen.getChildByName("newTxtMc") as MovieClip);
nameTxts = new Array();
scoreTxts = new Array();
rankTxts = new Array();
waveTxts = new Array();
_local1 = 0;
while (_local1 < 10) {
nameTxts[_local1] = (screen.getChildByName(("n" + _local1)) as TextField);
nameTxts[_local1].selectable = false;
nameTxts[_local1].autoSize = "center";
scoreTxts[_local1] = (screen.getChildByName(("s" + _local1)) as TextField);
scoreTxts[_local1].selectable = false;
scoreTxts[_local1].autoSize = "center";
rankTxts[_local1] = (screen.getChildByName(("r" + _local1)) as TextField);
rankTxts[_local1].selectable = false;
rankTxts[_local1].autoSize = "center";
waveTxts[_local1] = (screen.getChildByName(("w" + _local1)) as TextField);
waveTxts[_local1].selectable = false;
waveTxts[_local1].autoSize = "center";
_local1++;
};
}
private function btnRollOver(_arg1:MouseEvent):void{
UI.btnOverSound0();
}
}
}//package Code.Game
Section 59
//HowToPlay (Code.Game.HowToPlay)
package Code.Game {
import flash.display.*;
import flash.events.*;
public class HowToPlay extends UI {
private var moreBtn:MovieClip;
private var state:int;
private var startBtn:MovieClip;
private var backBtn2:MovieClip;
private var okBtn:MovieClip;
private var screenMc:MovieClip;
private var backBtn:MovieClip;
private var preBtn:MovieClip;
public function HowToPlay(_arg1:int=0){
this.state = _arg1;
screenInit();
}
private function getChild1():void{
backBtn = (screen.getChildByName("backBtn") as MovieClip);
backBtn.addEventListener(MouseEvent.CLICK, clickFun, false, 0, true);
backBtn.addEventListener(MouseEvent.ROLL_OVER, rollOverFun, false, 0, true);
moreBtn = (screen.getChildByName("moreBtn") as MovieClip);
moreBtn.addEventListener(MouseEvent.CLICK, clickFun, false, 0, true);
moreBtn.addEventListener(MouseEvent.ROLL_OVER, rollOverFun, false, 0, true);
startBtn = (screen.getChildByName("startBtn") as MovieClip);
startBtn.addEventListener(MouseEvent.CLICK, clickFun, false, 0, true);
startBtn.addEventListener(MouseEvent.ROLL_OVER, rollOverFun, false, 0, true);
if (state == 1){
backBtn.visible = false;
moreBtn.visible = false;
} else {
startBtn.visible = false;
};
}
private function getChild2():void{
preBtn = (screen.getChildByName("preBtn") as MovieClip);
preBtn.addEventListener(MouseEvent.CLICK, clickFun, false, 0, true);
preBtn.addEventListener(MouseEvent.ROLL_OVER, rollOverFun, false, 0, true);
okBtn = (screen.getChildByName("okBtn") as MovieClip);
okBtn.addEventListener(MouseEvent.CLICK, clickFun, false, 0, true);
okBtn.addEventListener(MouseEvent.ROLL_OVER, rollOverFun, false, 0, true);
backBtn = (screen.getChildByName("backBtn2") as MovieClip);
backBtn.addEventListener(MouseEvent.CLICK, clickFun, false, 0, true);
backBtn.addEventListener(MouseEvent.ROLL_OVER, rollOverFun, false, 0, true);
backBtn2 = (screen.getChildByName("backBtn1") as MovieClip);
backBtn2.addEventListener(MouseEvent.CLICK, clickFun, false, 0, true);
backBtn2.addEventListener(MouseEvent.ROLL_OVER, rollOverFun, false, 0, true);
if (state == 2){
preBtn.visible = false;
backBtn.visible = false;
backBtn2.visible = false;
} else {
if (state == 3){
okBtn.visible = false;
backBtn.visible = false;
} else {
okBtn.visible = false;
backBtn2.visible = false;
};
};
}
private function rollOverFun(_arg1:MouseEvent):void{
UI.btnOverSound0();
}
private function clickFun(_arg1:MouseEvent):void{
switch (_arg1.currentTarget){
case backBtn:
UI.btnBackSound();
deleteMe();
if (state == 0){
game.howToPlayToMenu();
};
break;
case moreBtn:
UI.btnPressSound0();
screenMc.gotoAndStop(2);
break;
case preBtn:
UI.btnBackSound();
screenMc.gotoAndStop(1);
break;
case startBtn:
UI.btnPressSound0();
deleteMe();
new MenuScreenEffect(screen);
game.startWar();
break;
case okBtn:
UI.btnPressSound0();
deleteMe();
game.howtoplayToReinforce();
break;
case backBtn2:
UI.btnBackSound();
deleteMe();
break;
};
}
private function screenInit():void{
screen = addScreen(HowToPlayClass);
screenMc = (screen as MovieClip);
screenMc.stop();
screenMc.addFrameScript(0, getChild1, 1, getChild2);
screenMc.mouseEnabled = false;
if (state == 2){
screenMc.gotoAndStop(2);
};
}
private function deleteMe():void{
if (backBtn != null){
backBtn.removeEventListener(MouseEvent.CLICK, clickFun);
backBtn.removeEventListener(MouseEvent.ROLL_OVER, rollOverFun);
};
if (moreBtn != null){
moreBtn.removeEventListener(MouseEvent.CLICK, clickFun);
moreBtn.removeEventListener(MouseEvent.ROLL_OVER, rollOverFun);
};
if (startBtn != null){
startBtn.removeEventListener(MouseEvent.CLICK, clickFun);
startBtn.removeEventListener(MouseEvent.ROLL_OVER, rollOverFun);
};
if (preBtn != null){
preBtn.removeEventListener(MouseEvent.CLICK, clickFun);
preBtn.removeEventListener(MouseEvent.ROLL_OVER, rollOverFun);
};
if (okBtn != null){
okBtn.removeEventListener(MouseEvent.CLICK, clickFun);
okBtn.removeEventListener(MouseEvent.ROLL_OVER, rollOverFun);
};
if (backBtn2 != null){
backBtn2.removeEventListener(MouseEvent.CLICK, clickFun);
backBtn2.removeEventListener(MouseEvent.ROLL_OVER, rollOverFun);
};
removeScreen(screen);
}
}
}//package Code.Game
Section 60
//LevelComplete (Code.Game.LevelComplete)
package Code.Game {
import flash.display.*;
import flash.events.*;
import Code.Player.Turret.*;
import Code.Data.*;
import flash.net.*;
public class LevelComplete extends UI {
private var bonusInt:int;
private var moreGamesMc:MovieClip;
private var bonus:Bonus;
private var nextBtn:MovieClip;
private var bonusBtn:MovieClip;
public function LevelComplete(){
screenInit();
childrenInit();
showText();
playMusic("win_m");
releaseMemory();
}
private function showText():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
screen["pri0_txt"].selectable = false;
screen["pri0_txt"].text = TurretPrimaryWeapon.shots;
screen["pri1_txt"].selectable = false;
screen["pri1_txt"].text = TurretPrimaryWeapon.hits;
screen["pri2_txt0"].selectable = false;
screen["pri2_txt"].selectable = false;
_local1 = TurretPrimaryWeapon.shots;
if (_local1 != 0){
_local6 = Math.round(((TurretPrimaryWeapon.hits / _local1) * 100));
} else {
_local6 = 0;
};
screen["sec0_txt"].selectable = false;
screen["sec0_txt"].text = int(TurretSecondaryWeapon.shots);
screen["sec1_txt"].selectable = false;
screen["sec1_txt"].text = int(TurretSecondaryWeapon.hits);
screen["sec2_txt0"].selectable = false;
screen["sec2_txt"].selectable = false;
_local1 = TurretSecondaryWeapon.shots;
if (_local1 != 0){
_local7 = Math.round(((TurretSecondaryWeapon.hits / _local1) * 100));
} else {
_local7 = 0;
};
screen["money_txt"].selectable = false;
screen["money_txt"].text = Data.curMoney;
screen["levelScore_txt"].selectable = false;
screen["levelScore_txt"].text = Data.levelScore;
screen["totalScore_txt"].selectable = false;
screen["totalScore_txt"].text = Data.score;
_local2 = 95;
_local3 = 95;
_local4 = 75;
_local5 = 75;
if (Data.curSecondaryWeapon == 2){
};
if ((((_local6 >= _local2)) && ((_local7 >= _local3)))){
bonusInt = 1;
showScore(_local6, _local7);
} else {
if ((((_local6 >= _local4)) && ((_local7 >= _local5)))){
bonusInt = 0;
showScore(_local6, _local7);
} else {
bonusBtn.visible = false;
screen["pri2_txt0"].text = (_local6 + " %");
screen["sec2_txt0"].text = (_local7 + " %");
screen["pri2_txt"].visible = false;
screen["sec2_txt"].visible = false;
};
};
}
private function showScore(_arg1:int, _arg2:int):void{
screen["pri2_txt"].text = (_arg1 + " %");
screen["sec2_txt"].text = (_arg2 + " %");
screen["pri2_txt0"].visible = false;
screen["sec2_txt0"].visible = false;
}
private function clickFun(_arg1:MouseEvent):void{
deleteMe();
if (Data.curLevel == 0){
game.howToPlay = new HowToPlay(2);
} else {
game.toReinforce();
};
}
private function screenInit():void{
screen = addScreen(UI.LevelCompleteClass);
screen.mouseEnabled = false;
}
private function deleteMe():void{
nextBtn.removeEventListener(MouseEvent.CLICK, clickFun);
bonusBtn.removeEventListener(MouseEvent.CLICK, getBonus);
moreGamesMc.removeEventListener(MouseEvent.CLICK, moreGamesFun);
removeScreen(screen);
}
private function releaseMemory():void{
try {
new LocalConnection().connect("MoonSpirit");
new LocalConnection().connect("MoonSpirit");
} catch(error:Error) {
};
}
private function childrenInit():void{
nextBtn = (screen.getChildByName("nextBtn") as MovieClip);
nextBtn.addEventListener(MouseEvent.MOUSE_UP, clickFun, false, 0, true);
bonusBtn = (screen.getChildByName("bonusBtn") as MovieClip);
bonusBtn.addEventListener(MouseEvent.MOUSE_UP, getBonus, false, 0, true);
screen["priWeapon"].gotoAndStop(3);
screen["priWeapon"]["weapons"].gotoAndStop((Data.curPrimaryWeapon + 1));
screen["secWeapon"].gotoAndStop(3);
screen["secWeapon"]["weapons"].gotoAndStop((Data.curSecondaryWeapon + 6));
moreGamesMc = (screen.getChildByName("moreGamesMc") as MovieClip);
moreGamesMc.addEventListener(MouseEvent.CLICK, moreGamesFun, false, 0, true);
}
private function getBonus(_arg1:MouseEvent):void{
bonus = new Bonus(bonusInt);
bonusBtn.visible = false;
}
private function moreGamesFun(_arg1:MouseEvent):void{
getURL("&utm_term=logo_levelcomplete");
}
}
}//package Code.Game
Section 61
//Load (Code.Game.Load)
package Code.Game {
import Code.*;
import flash.display.*;
import flash.events.*;
import Code.Game.*;
import flash.text.*;
import flash.utils.*;
class Load extends UI {
private var moreGamesMc:MovieClip;
private var Youxi:MovieClip;
private var percentTxt:TextField;
private var loadingMc:MovieClip;
function Load(){
screenInit();
childObjectInit();
}
private function deleteyouxi():void{
Youxi.stop();
Youxi.removeEventListener(MouseEvent.CLICK, youxiClick);
UI.pmc.removeChild(Youxi);
Youxi = null;
toMenu();
}
private function completeFun():void{
(screen.root as Root).gotoAndStop(2);
(screen.root as Root).gotoAndStop(1);
setRootMask();
deleteMe();
SoundsManager.init();
if (Language._languageNum == 1){
loadyouxizhongguo();
} else {
toMenu();
};
}
private function toMenu():void{
openSound();
game.mainMenu = new MainMenu();
game.load = null;
}
private function screenInit():void{
screen = addScreen(UI.LoadScreenClass);
screen.root.addEventListener(Event.ENTER_FRAME, loadingPercent, false, 0, true);
}
private function youxiClick(_arg1:MouseEvent):void{
getURL("http://www.game.com.cn", true);
}
private function deleteMe():void{
moreGamesMc.removeEventListener(MouseEvent.CLICK, moreGamesFun);
screen.root.removeEventListener(Event.ENTER_FRAME, loadingPercent);
removeScreen(screen);
}
private function openSound():void{
SoundsManager.playSound("menu_open_s");
}
private function loadingPercent(_arg1:Event):void{
var _local2:Number;
_local2 = (screen.root.loaderInfo.bytesLoaded / screen.root.loaderInfo.bytesTotal);
if (_local2 >= 1){
completeFun();
} else {
_local2 = Math.round((_local2 * 100));
percentTxt.text = String((_local2 + "%"));
loadingMc.gotoAndStop((_local2 + 1));
};
}
private function childObjectInit():void{
percentTxt = (screen.getChildByName("txt") as TextField);
loadingMc = (screen.getChildByName("loadingMc") as MovieClip);
moreGamesMc = (screen.getChildByName("moreGamesMc") as MovieClip);
moreGamesMc.addEventListener(MouseEvent.CLICK, moreGamesFun, false, 0, true);
}
private function loadyouxizhongguo():void{
var _local1:Class;
_local1 = (getDefinitionByName("youxizhongguo") as Class);
Youxi = new (_local1);
Youxi.x = 300;
Youxi.y = 225;
UI.pmc.addChild(Youxi);
Youxi.addFrameScript((Youxi.totalFrames - 1), deleteyouxi);
Youxi.buttonMode = true;
Youxi.mouseChildren = false;
Youxi.addEventListener(MouseEvent.CLICK, youxiClick, false, 0, true);
}
private function moreGamesFun(_arg1:MouseEvent):void{
getURL("&utm_term=logo_preloader");
}
private function setRootMask():void{
var _local1:Class;
var _local2:Sprite;
_local1 = (getDefinitionByName("backGround") as Class);
_local2 = new (_local1);
(UI.pmc.root as MovieClip).addChild(_local2);
UI.pmc.mask = _local2;
}
}
}//package Code.Game
Section 62
//MainMenu (Code.Game.MainMenu)
package Code.Game {
import Code.*;
import flash.display.*;
import flash.events.*;
import Code.Data.*;
public class MainMenu extends UI {
private var startGameBtn:MovieClip;
private var menuBtns:MovieClip;
private var howToPlayBtn:MovieClip;
private var spilGamesMc:MovieClip;
private var moreGamesBtn:MovieClip;
private var highScoreBtn:MovieClip;
public function MainMenu(){
screenInit();
childrenInit();
playMusic("menu_m");
}
private function toHowToPlay():void{
deleteMe();
game.menuToHowToPlay();
}
private function btnOver(_arg1:MouseEvent):void{
btnOverSound0();
}
private function toHighScore():void{
if (Language._languageNum == 1){
Random.geturl();
} else {
if (NewHighScore.getDomainOk()){
deleteMe();
game.menuToHighScore();
} else {
screen.addChild(NewHighScore.getMc());
NewHighScore.getMc().x = 70;
NewHighScore.getMc().y = 65;
};
};
}
private function clickFun(_arg1:MouseEvent):void{
if (_arg1.currentTarget != spilGamesMc){
btnPressSound0();
};
switch (_arg1.currentTarget){
case startGameBtn:
startGame();
break;
case howToPlayBtn:
toHowToPlay();
break;
case highScoreBtn:
toHighScore();
break;
case moreGamesBtn:
getURL("&utm_term=button_mainscreen_moregames");
break;
case spilGamesMc:
if (Language._languageNum == 1){
getURL("http://www.game.com.cn/downloads", true);
} else {
getURL("http://www.gameportal.net", true);
};
break;
};
}
private function screenInit():void{
screen = addScreen(UI.MainScreenClass);
}
private function deleteMe():void{
spilGamesMc.removeEventListener(MouseEvent.CLICK, clickFun);
startGameBtn.removeEventListener(MouseEvent.MOUSE_UP, clickFun);
startGameBtn.removeEventListener(MouseEvent.ROLL_OVER, btnOver);
howToPlayBtn.removeEventListener(MouseEvent.MOUSE_UP, clickFun);
howToPlayBtn.removeEventListener(MouseEvent.ROLL_OVER, btnOver);
highScoreBtn.removeEventListener(MouseEvent.MOUSE_UP, clickFun);
highScoreBtn.removeEventListener(MouseEvent.ROLL_OVER, btnOver);
moreGamesBtn.removeEventListener(MouseEvent.MOUSE_UP, clickFun);
moreGamesBtn.removeEventListener(MouseEvent.ROLL_OVER, btnOver);
removeScreen(screen);
}
private function childrenInit():void{
menuBtns = (screen.getChildByName("menuBtns") as MovieClip);
spilGamesMc = (menuBtns.getChildByName("spilGamesMc") as MovieClip);
spilGamesMc.buttonMode = true;
spilGamesMc.addEventListener(MouseEvent.CLICK, clickFun, false, 0, true);
startGameBtn = (menuBtns.getChildByName("startGameBtn") as MovieClip);
startGameBtn.addEventListener(MouseEvent.MOUSE_UP, clickFun, false, 0, true);
startGameBtn.addEventListener(MouseEvent.ROLL_OVER, btnOver, false, 0, true);
howToPlayBtn = (menuBtns.getChildByName("howToPlayBtn") as MovieClip);
howToPlayBtn.addEventListener(MouseEvent.MOUSE_UP, clickFun, false, 0, true);
howToPlayBtn.addEventListener(MouseEvent.ROLL_OVER, btnOver, false, 0, true);
highScoreBtn = (menuBtns.getChildByName("highScoreBtn") as MovieClip);
highScoreBtn.addEventListener(MouseEvent.MOUSE_UP, clickFun, false, 0, true);
highScoreBtn.addEventListener(MouseEvent.ROLL_OVER, btnOver, false, 0, true);
moreGamesBtn = (menuBtns.getChildByName("moreGamesBtn") as MovieClip);
moreGamesBtn.addEventListener(MouseEvent.MOUSE_UP, clickFun, false, 0, true);
moreGamesBtn.addEventListener(MouseEvent.ROLL_OVER, btnOver, false, 0, true);
}
private function startGame():void{
if (Data.curLevel == 0){
game.menuToHowToPlay(1);
} else {
new MenuScreenEffect(screen);
game.startWar();
};
deleteMe();
game.mainMenu = null;
}
}
}//package Code.Game
Section 63
//Map (Code.Game.Map)
package Code.Game {
import flash.display.*;
import flash.geom.*;
import Code.Enemy.*;
import Code.Data.*;
import flash.text.*;
public class Map {
private var size:int;
private var he:int;
private var lastSide:Array;
private var lie:int;
private var havePathTrace:Boolean;// = false
private var shipsInit2:Array;
private var fillNormalColor:uint;// = 0xFFFFFF
private var mapSprite:Sprite;
private var haveShipsInitLocGrid:Boolean;// = false
private var lineColor:uint;// = 0x333333
private var fillObstacleColor:uint;// = 0x999999
private var haveGrid:Boolean;// = false
private var mapArray:Array;
private var initPoint:Point;
private var shipsInit:Array;
private var warScreen:Sprite;
private var fillPathColor:uint;// = 0xAAAAAA
private var haveObstacleGrid:Boolean;// = false
public static var TURRET:int = 4;
public static var PARKED:int = 3;
public static var FREE:int = 0;
public function Map(_arg1:Sprite){
lastSide = new Array();
lineColor = 0x333333;
fillObstacleColor = 0x999999;
fillPathColor = 0xAAAAAA;
fillNormalColor = 0xFFFFFF;
haveGrid = false;
haveShipsInitLocGrid = false;
havePathTrace = false;
haveObstacleGrid = false;
super();
warScreen = _arg1;
valueInit();
constructMap();
shipsInitLoc();
setUIArea();
}
private function sideCondition(_arg1:int):Boolean{
var _local2:*;
for (_local2 in lastSide) {
if (_arg1 == lastSide[_local2]){
return (true);
};
};
return (false);
}
private function constructMap():void{
mapSprite.mouseChildren = false;
mapSprite.mouseEnabled = false;
warScreen.addChild(mapSprite);
}
public function getMapPoint(_arg1:Point):Point{
var _local2:Point;
_arg1 = getIndex(new Point(_arg1.x, _arg1.y));
_local2 = new Point(mapArray[_arg1.x][_arg1.y].center.x, mapArray[_arg1.x][_arg1.y].center.y);
return (_local2);
}
private function createCirclePoint(_arg1:Number, _arg2:Number, _arg3:Point):Point{
var _local4:int;
var _local5:int;
_arg1 = ((2 * Math.PI) - _arg1);
_local4 = ((Math.cos(_arg1) * _arg2) + _arg3.x);
_local5 = ((Math.sin(_arg1) * _arg2) + _arg3.y);
_local5 = (_arg3.y - (_local5 - _arg3.y));
return (new Point(_local4, _local5));
}
public function setRecObstacle(_arg1:Point, _arg2:int, _arg3:int, _arg4:Boolean=false, _arg5:int=0):Array{
var _local6:Array;
var _local7:Point;
var _local8:int;
var _local9:int;
var _local10:int;
var _local11:int;
var _local12:int;
var _local13:int;
var _local14:int;
var _local15:int;
var _local16:Boolean;
var _local17:int;
var _local18:int;
if (_arg1 == null){
trace("nullll");
};
_local6 = new Array();
_local7 = getIndex(new Point((_arg1.x - (_arg2 / 2)), (_arg1.y - (_arg3 / 2))));
_local8 = _local7.x;
_local9 = _local7.y;
_local7 = getIndex(new Point((_arg1.x + (_arg2 / 2)), (_arg1.y - (_arg3 / 2))));
_local10 = _local7.x;
_local11 = _local7.y;
_local7 = getIndex(new Point((_arg1.x - (_arg2 / 2)), (_arg1.y + (_arg3 / 2))));
_local12 = _local7.x;
_local13 = _local7.y;
_local7 = getIndex(new Point((_arg1.x + (_arg2 / 2)), (_arg1.y + (_arg3 / 2))));
_local14 = _local7.x;
_local15 = _local7.y;
_local16 = false;
if (!_arg4){
_local17 = _local8;
while (_local17 <= _local10) {
_local18 = _local9;
while (_local18 <= _local13) {
if (mapArray[_local17][_local18].type != TURRET){
if (mapArray[_local17][_local18].type != PARKED){
mapArray[_local17][_local18].type = _arg5;
_local6.push(mapArray[_local17][_local18]);
if (haveObstacleGrid){
paintShape(mapArray[_local17][_local18].mc, lineColor, fillObstacleColor);
};
} else {
_local16 = true;
};
};
_local18++;
};
_local17++;
};
} else {
_local17 = _local8;
while (_local17 <= _local10) {
if (haveObstacleGrid){
paintShape(mapArray[_local17][_local9].mc, lineColor, fillObstacleColor);
};
mapArray[_local17][_local9].type = _arg5;
_local6.push(mapArray[_local17][_local9]);
_local17++;
};
_local17 = _local12;
while (_local17 <= _local14) {
if (haveObstacleGrid){
paintShape(mapArray[_local17][_local13].mc, lineColor, fillObstacleColor);
};
mapArray[_local17][_local13].type = _arg5;
_local6.push(mapArray[_local17][_local13]);
_local17++;
};
_local17 = (_local9 + 1);
while (_local17 < _local13) {
if (haveObstacleGrid){
paintShape(mapArray[_local8][_local17].mc, lineColor, fillObstacleColor);
};
mapArray[_local8][_local17].type = _arg5;
_local6.push(mapArray[_local8][_local17]);
_local17++;
};
_local17 = (_local11 + 1);
while (_local17 < _local15) {
if (haveObstacleGrid){
paintShape(mapArray[_local10][_local17].mc, lineColor, fillObstacleColor);
};
mapArray[_local10][_local17].type = _arg5;
_local6.push(mapArray[_local10][_local17]);
_local17++;
};
};
if (_local16){
_local6.push(_local16);
};
return (_local6);
}
function setCircleObstacle(_arg1:Point, _arg2:int):void{
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local3 = Math.PI;
_local4 = (_local3 / 6);
_local5 = 0;
while (_local5 < (2 * _local3)) {
setOneCaseObstacle(createCirclePoint(_local5, _arg2, _arg1));
_local5 = (_local5 + _local4);
};
}
public function getPath(_arg1:Point, _arg2:Point, _arg3:String, _arg4:Boolean=false):Array{
var _local5:Object;
var _local6:int;
var _local7:Array;
var _local8:int;
var _local9:int;
var _local10:int;
var _local11:Array;
_arg1 = new Point(_arg1.x, _arg1.y);
_arg2 = new Point(_arg2.x, _arg2.y);
_arg1 = getIndex(_arg1);
_arg2 = getIndex(_arg2);
_local6 = 0;
_local7 = new Array();
_local7.push(mapArray[_arg1.x][_arg1.y]);
_local5 = _local7[0];
while (_local5 != mapArray[_arg2.x][_arg2.y]) {
_local9 = _local5["x"];
_local10 = _local5["y"];
_local11 = getRound(_local9, _local10, _arg3, _arg4);
_local5 = getLatestDis(_arg2, _local11);
if (_local5 == null){
break;
};
_local5["objName"] = _arg3;
_local7.push(_local5);
_local6++;
};
_local7.push(mapArray[_arg2.x][_arg2.y]);
_local8 = _local7.length;
if (havePathTrace){
paintShape(_local7[0]["mc"], lineColor, fillPathColor);
_local7[0].txt.text = _arg3;
paintShape(_local7[(_local8 - 1)]["mc"], lineColor, fillPathColor);
_local7[(_local8 - 1)].txt.text = _arg3;
};
return (getSwervePath(_local7, _arg3));
}
public function mapsCurObj(_arg1:Point):Object{
var _local2:Object;
_arg1 = getIndex(new Point(_arg1.x, _arg1.y));
if (_arg1 == null){
return (_local2);
};
_local2 = mapArray[_arg1.x][_arg1.y];
return (_local2);
}
private function valueInit():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:Point;
var _local6:Sprite;
var _local7:TextField;
size = 20;
_local1 = 300;
_local2 = 450;
lie = Math.round(((600 + _local1) / size));
he = Math.round(((450 + _local2) / size));
initPoint = new Point((-(_local1) / 2), (-(_local2) / 2));
mapSprite = new Sprite();
mapArray = new Array();
_local3 = 0;
while (_local3 < lie) {
mapArray[_local3] = new Array();
_local4 = 0;
while (_local4 < he) {
mapArray[_local3][_local4] = new Object();
_local5 = new Point(((initPoint.x + (_local3 * size)) + (size / 2)), ((initPoint.y + (_local4 * size)) + (size / 2)));
mapArray[_local3][_local4].center = _local5;
mapArray[_local3][_local4].type = FREE;
mapArray[_local3][_local4].objName = "";
mapArray[_local3][_local4].x = _local3;
mapArray[_local3][_local4].y = _local4;
_local6 = new Sprite();
if (haveGrid){
paintShape(_local6, lineColor, fillNormalColor, 1, 0);
};
_local6.x = _local5.x;
_local6.y = _local5.y;
mapArray[_local3][_local4].mc = _local6;
mapSprite.addChild(_local6);
_local7 = new TextField();
_local7.selectable = false;
_local7.x = (-(size) / 2);
_local7.y = (-(size) / 2);
_local6.addChild(_local7);
mapArray[_local3][_local4].txt = _local7;
_local4++;
};
_local3++;
};
}
private function setUIArea():void{
}
private function setOneCaseObstacle(_arg1:Point):void{
var _local2:Point;
var _local3:int;
var _local4:int;
_local2 = new Point(_arg1.x, _arg1.y);
_local3 = getIndex(_local2).x;
_local4 = getIndex(_local2).y;
if (haveObstacleGrid){
paintShape(mapArray[_local3][_local4].mc, lineColor, fillObstacleColor);
};
}
public function getIndex(_arg1:Point):Point{
var _local2:int;
var _local3:int;
var _local4:Point;
_local2 = ((_arg1.x - initPoint.x) / size);
_local3 = ((_arg1.y - initPoint.y) / size);
if ((((((((_local2 < 0)) || ((_local3 < 0)))) || ((_local2 >= he)))) || ((_local3 >= lie)))){
return (_local4);
};
_local4 = new Point(_local2, _local3);
return (_local4);
}
private function getSwervePath(_arg1:Array, _arg2:String):Array{
var _local3:int;
var _local4:Array;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:int;
var _local11:int;
_local3 = _arg1.length;
_local4 = new Array();
_local4.push(_arg1[0]);
_local5 = 1;
while (_local5 < (_local3 - 2)) {
_local6 = _arg1[(_local5 - 1)]["center"].x;
_local7 = _arg1[(_local5 - 1)]["center"].y;
_local8 = _arg1[_local5]["center"].x;
_local9 = _arg1[_local5]["center"].y;
_local10 = _arg1[(_local5 + 1)]["center"].x;
_local11 = _arg1[(_local5 + 1)]["center"].y;
if (int(((_local10 - _local8) / (_local11 - _local9))) != int(((_local8 - _local6) / (_local9 - _local7)))){
_local4.push(_arg1[_local5]);
if (havePathTrace){
paintShape(_arg1[_local5]["mc"], lineColor, fillPathColor);
_arg1[_local5].txt.text = _arg2;
};
};
_local5++;
};
_local4.push(_arg1[(_local3 - 1)]);
return (_local4);
}
private function ranCondition(_arg1:Object):Boolean{
var _local2:*;
for (_local2 in Enemy.addedShips) {
if (Enemy.addedShips[_local2].getState){
if (Point.distance(Enemy.addedShips[_local2].curPoint, _arg1["center"]) < 150){
return (true);
};
};
};
return (false);
}
public function getShipsInitLoc0(_arg1:String):Point{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:Point;
var _local6:Point;
do {
_local2 = (Math.random() * 4);
} while (sideCondition(_local2));
lastSide.push(_local2);
if (lastSide.length >= 4){
lastSide.shift();
};
do {
_local3++;
if (_local3 > 10){
_local2 = (Math.random() * 4);
};
_local4 = (Math.random() * shipsInit[_local2].length);
} while (!(_local3 > 40));
shipsInit[_local2][_local4].objName = _arg1;
_local5 = shipsInit[_local2][_local4].center;
_local6 = new Point(_local5.x, _local5.y);
return (_local6);
}
public function getShipsTerminateLoc(_arg1:int, _arg2:String, _arg3:int=0, _arg4:Number=NaN):Point{
var _local5:Point;
var _local6:*;
var _local7:*;
var _local8:*;
do {
if (_arg3 == 0){
_arg3 = (((Data.turretSize / 2) + ((Math.random() * _arg1) * 0.4)) + (_arg1 * 0.5));
};
if (_arg3 < 110){
_arg3 = 110;
};
if (_arg3 > 185){
_arg3 = 185;
};
if (isNaN(_arg4)){
_local8 = ((Math.random() * 2) * Math.PI);
} else {
_local8 = ((((Math.random() - 0.5) * Math.PI) / 2) + _arg4);
};
_local6 = createCirclePoint(_local8, _arg3, new Point(Data.turretLoc.x, Data.turretLoc.y));
_local7 = mapsCurObj(_local6);
} while (_local7["type"] != FREE);
_arg2 = "";
_local5 = _local7["center"];
return (new Point(_local5.x, _local5.y));
}
private function shipsInitLoc():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:*;
var _local5:*;
shipsInit = new Array();
_local1 = 0;
while (_local1 < 4) {
shipsInit[_local1] = new Array();
_local1++;
};
_local2 = (int((Math.random() * 2)) + 12);
_local3 = _local2;
while (_local3 < (lie - 10)) {
shipsInit[0].push(mapArray[6][_local3]);
shipsInit[1].push(mapArray[(he - 6)][(_local3 - 1)]);
_local3 = (_local3 + 8);
};
_local2 = (int((Math.random() * 2)) + 10);
_local1 = _local2;
while (_local1 < (he - 6)) {
shipsInit[2].push(mapArray[_local1][9]);
shipsInit[3].push(mapArray[(_local1 + 1)][(he - 9)]);
_local1 = (_local1 + 8);
};
shipsInit2 = new Array();
for (_local4 in shipsInit) {
for (_local5 in shipsInit[_local4]) {
shipsInit2.push(shipsInit[_local4][_local5]);
};
};
if (haveShipsInitLocGrid){
_local1 = 0;
while (_local1 < 4) {
_local3 = 0;
while (_local3 < shipsInit[_local1].length) {
shipsInit[_local1][_local3].txt.text = ((_local1 + "") + _local3);
_local3++;
};
_local1++;
};
};
}
public function getShipsInitLoc(_arg1:String):Point{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:Point;
var _local8:Point;
_local2 = shipsInit2.length;
shipsInit2 = shipsInit2.splice((Math.random() * _local2)).concat(shipsInit2);
_local3 = 0;
_local4 = 0;
_local6 = 0;
while (_local6 < _local2) {
_local5 = calDis(shipsInit2[_local6]);
if (_local5 > 250){
_local4 = _local6;
break;
};
if (_local5 > _local3){
_local3 = _local5;
_local4 = _local6;
};
_local6++;
};
shipsInit2[_local4].objName = _arg1;
_local7 = shipsInit2[_local4].center;
_local8 = new Point(_local7.x, _local7.y);
return (_local8);
}
private function getRound(_arg1:int, _arg2:int, _arg3:String, _arg4:Boolean=false):Array{
var _local5:Array;
var _local6:Array;
var _local7:int;
var _local8:int;
var _local9:int;
_local5 = new Array();
_local5.push([(_arg1 - 1), (_arg2 - 1)], [_arg1, (_arg2 - 1)], [(_arg1 + 1), (_arg2 - 1)], [(_arg1 + 1), _arg2], [(_arg1 + 1), (_arg2 + 1)], [_arg1, (_arg2 + 1)], [(_arg1 - 1), (_arg2 + 1)], [(_arg1 - 1), _arg2]);
_local6 = new Array();
_local7 = 0;
while (_local7 < 8) {
_local8 = _local5[_local7][0];
_local9 = _local5[_local7][1];
if ((((((((_local8 >= 0)) && ((_local8 < he)))) && ((_local9 >= 0)))) && ((_local9 < lie)))){
if (mapArray[_local8][_local9].objName != _arg3){
if (_arg4){
_local6.push(mapArray[_local8][_local9]);
} else {
if (mapArray[_local8][_local9].type != TURRET){
_local6.push(mapArray[_local8][_local9]);
};
};
};
};
_local7++;
};
return (_local6);
}
private function paintShape(_arg1:Sprite, _arg2:uint, _arg3:uint, _arg4:Number=0.5, _arg5:Number=0.5):void{
_arg1.graphics.clear();
_arg1.graphics.lineStyle(0, _arg2, _arg4);
_arg1.graphics.beginFill(_arg3, _arg5);
_arg1.graphics.drawRect((-(size) / 2), (-(size) / 2), size, size);
_arg1.graphics.endFill();
}
public function backToFree(_arg1:Object):void{
if (_arg1["type"] != TURRET){
_arg1["type"] = FREE;
};
}
private function getLatestDis(_arg1:Point, _arg2:Array):Object{
var _local3:Point;
var _local4:Number;
var _local5:Object;
var _local6:int;
var _local7:int;
var _local8:Point;
var _local9:Number;
_local3 = mapArray[_arg1.x][_arg1.y].center;
_local4 = 10000;
_local5 = new Object();
_local6 = _arg2.length;
_local7 = 0;
while (_local7 < _local6) {
if (_arg2[_local7] != null){
_local8 = _arg2[_local7]["center"];
_local9 = Point.distance(_local8, _local3);
if (_local9 < _local4){
_local4 = _local9;
_local5 = _arg2[_local7];
};
};
_local7++;
};
return (_local5);
}
private function calDis(_arg1:Object):int{
var _local2:int;
var _local3:*;
var _local4:int;
_local2 = 1000;
for (_local3 in Enemy.addedShips) {
if (Enemy.addedShips[_local3].getState){
_local4 = Point.distance(Enemy.addedShips[_local3].curPoint, _arg1["center"]);
if (_local4 < _local2){
_local2 = _local4;
};
};
};
return (_local2);
}
}
}//package Code.Game
Section 64
//MenuScreenEffect (Code.Game.MenuScreenEffect)
package Code.Game {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class MenuScreenEffect {
private var Bitmaps:Array;
private var speed:Number;
private var listeners:Array;
public function MenuScreenEffect(_arg1:Sprite){
Bitmaps = new Array();
listeners = new Array();
speed = 10;
getPicture(_arg1);
Bitmaps[0][0].addEventListener(Event.ENTER_FRAME, motion, false, 0, false);
}
private function implementListener():void{
var _local1:*;
for each (_local1 in listeners) {
var _local4 = _local1;
_local4[1]();
};
}
private function getPicture(_arg1:Sprite):void{
var _local2:BitmapData;
_local2 = new BitmapData(600, 450, true, 0);
_local2.draw(_arg1, new Matrix(), null, null, new Rectangle(0, 0, 300, 225));
newBitmap(_local2, new Point(-(speed), -(speed)));
_local2 = new BitmapData(600, 450, true, 0);
_local2.draw(_arg1, new Matrix(), null, null, new Rectangle(300, 0, 300, 225));
newBitmap(_local2, new Point(speed, -(speed)));
_local2 = new BitmapData(600, 450, true, 0);
_local2.draw(_arg1, new Matrix(), null, null, new Rectangle(0, 225, 300, 225));
newBitmap(_local2, new Point(-(speed), speed));
_local2 = new BitmapData(600, 450, true, 0);
_local2.draw(_arg1, new Matrix(), null, null, new Rectangle(300, 225, 300, 225));
newBitmap(_local2, new Point(speed, speed));
}
public function addListener(_arg1:Object, _arg2:Function):void{
listeners.push([_arg1, _arg2]);
}
private function motion(_arg1:Event):void{
var _local2:int;
var _local3:*;
_local2 = 0;
while (_local2 < 4) {
Bitmaps[_local2][0].x = (Bitmaps[_local2][0].x + Bitmaps[_local2][1].x);
Bitmaps[_local2][0].y = (Bitmaps[_local2][0].y + Bitmaps[_local2][1].y);
_local2++;
};
if (Bitmaps[0][0].x < -300){
Bitmaps[0][0].removeEventListener(Event.ENTER_FRAME, motion);
for (_local3 in Bitmaps) {
UI.pmc.removeChild(Bitmaps[_local3][0]);
};
implementListener();
};
}
private function newBitmap(_arg1:BitmapData, _arg2:Point):void{
var _local3:Bitmap;
_local3 = new Bitmap();
_local3.bitmapData = _arg1;
UI.pmc.addChild(_local3);
Bitmaps.push([_local3, _arg2]);
}
}
}//package Code.Game
Section 65
//NewHighScore (Code.Game.NewHighScore)
package Code.Game {
import Code.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class NewHighScore {
private static var mc:MovieClip;
private static var sound:Object;
public static function getWebsite(_arg1:Event):void{
QualitySound.pause({s:1, m:1});
}
public static function continueBtn(_arg1:Event):void{
if (mc.parent != null){
mc.parent.removeChild(mc);
};
QualitySound.pause(sound);
}
public static function submit(_arg1:Number, _arg2:String):void{
var _local3 = mc;
_local3["O11111O10"](Number(_arg1), _arg2);
}
public static function getMc(_arg1:Root=null):MovieClip{
if (mc == null){
mc = new (getDefinitionByName("O11111OO11"));
mc.addEventListener("000111000100", continueBtn, false, 0, true);
mc.addEventListener("00111111000", getWebsite, false, 0, true);
var _local2 = mc;
_local2["O111111O"](_arg1, "aqua_turret", (Language._languageNum + 1), "Aqua-Turret", 0);
};
sound = QualitySound.state;
return (mc);
}
public static function getDomainOk():Boolean{
if (mc == null){
getMc();
};
return (mc["O11111100"]());
}
}
}//package Code.Game
Section 66
//Pause (Code.Game.Pause)
package Code.Game {
import Code.*;
import flash.display.*;
import flash.events.*;
public class Pause extends UI {
private var menuBtn:MovieClip;
private var continueBtn:MovieClip;
private var qualitySound:QualitySound;
private var howToPlayBtn:MovieClip;
public function Pause(){
screenInit();
childrenInit();
}
private function deleteMe():void{
qualitySound.deleteMe();
continueBtn.removeEventListener(MouseEvent.ROLL_OVER, rollOverFun);
continueBtn.removeEventListener(MouseEvent.MOUSE_UP, clickFun);
howToPlayBtn.removeEventListener(MouseEvent.ROLL_OVER, rollOverFun);
howToPlayBtn.removeEventListener(MouseEvent.MOUSE_UP, clickFun);
menuBtn.removeEventListener(MouseEvent.ROLL_OVER, rollOverFun);
menuBtn.removeEventListener(MouseEvent.MOUSE_UP, clickFun);
game.war.setPause(false);
removeScreen(screen);
game.pause = null;
}
private function rollOverFun(_arg1:MouseEvent):void{
UI.btnOverSound0();
}
private function childrenInit():void{
continueBtn = (screen.getChildByName("continueBtn") as MovieClip);
continueBtn.addEventListener(MouseEvent.ROLL_OVER, rollOverFun, false, 0, true);
continueBtn.addEventListener(MouseEvent.MOUSE_UP, clickFun, false, 0, true);
howToPlayBtn = (screen.getChildByName("howToPlayBtn") as MovieClip);
howToPlayBtn.addEventListener(MouseEvent.ROLL_OVER, rollOverFun, false, 0, true);
howToPlayBtn.addEventListener(MouseEvent.MOUSE_UP, clickFun, false, 0, true);
menuBtn = (screen.getChildByName("menuBtn") as MovieClip);
menuBtn.addEventListener(MouseEvent.ROLL_OVER, rollOverFun, false, 0, true);
menuBtn.addEventListener(MouseEvent.MOUSE_UP, clickFun, false, 0, true);
}
private function screenInit():void{
screen = addScreen(UI.pauseClass);
qualitySound = new QualitySound(screen);
}
private function clickFun(_arg1:MouseEvent):void{
if (_arg1.currentTarget == continueBtn){
deleteMe();
SoundsManager.playSound("pause_btn_s");
} else {
if (_arg1.currentTarget == menuBtn){
deleteMe();
UI.btnBackSound();
War.warScreen.dispatchEvent(new Event("midwayBack", true));
} else {
if (_arg1.currentTarget == howToPlayBtn){
UI.btnPressSound0();
game.howToPlay = new HowToPlay(3);
};
};
};
}
}
}//package Code.Game
Section 67
//PrimaryWeaponHint (Code.Game.PrimaryWeaponHint)
package Code.Game {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class PrimaryWeaponHint {
private var okBtn:MovieClip;
private var war:War;
private var screen:Sprite;
private var count:int;
private var primaryHintClass:Class;
public function PrimaryWeaponHint(_arg1:War){
addScreen();
this.war = _arg1;
}
private function okFun(_arg1:MouseEvent):void{
deleteMe();
}
private function enterframeFun(_arg1:Event):void{
count++;
if (count > 35){
screen.visible = true;
war.setPause(true);
okBtn = (screen.getChildByName("okBtn") as MovieClip);
okBtn.addEventListener(MouseEvent.MOUSE_UP, okFun, false, 0, true);
screen.removeEventListener(Event.ENTER_FRAME, enterframeFun);
};
}
private function addScreen():void{
primaryHintClass = (getDefinitionByName("primaryWeaponHintScreen") as Class);
screen = new primaryHintClass();
UI.pmc.addChild(screen);
screen.addEventListener(Event.ENTER_FRAME, enterframeFun, false, 0, true);
screen.visible = false;
}
public function deleteMe():void{
screen.dispatchEvent(new Event("primaryHintDel", true));
screen.removeEventListener(Event.ENTER_FRAME, enterframeFun);
okBtn.removeEventListener(MouseEvent.MOUSE_UP, okFun);
UI.pmc.removeChild(screen);
war.setPause(false);
UI.game.primaryWeaponHint = null;
}
}
}//package Code.Game
Section 68
//QualitySound (Code.Game.QualitySound)
package Code.Game {
import Code.*;
import flash.display.*;
import flash.events.*;
public class QualitySound {
private var soffBtn:MovieClip;
private var con:Sprite;
private var sonBtn:MovieClip;
private var normalBtn:MovieClip;
private var badBtn:MovieClip;
private var bestBtn:MovieClip;
private var moffBtn:MovieClip;
private var monBtn:MovieClip;
public static var music:int;
private static var quality:int;
private static var curInstance:QualitySound;
public static var sound:int;
public function QualitySound(_arg1:Sprite){
curInstance = this;
con = (_arg1.getChildByName("con") as Sprite);
con.buttonMode = true;
con.addEventListener(MouseEvent.CLICK, clickFun, false, 0, true);
childrenInit();
}
function deleteMe():void{
con.removeEventListener(MouseEvent.CLICK, clickFun);
curInstance = null;
}
private function childrenInit():void{
bestBtn = (con.getChildByName("bestBtn") as MovieClip);
bestBtn.mouseChildren = false;
normalBtn = (con.getChildByName("normalBtn") as MovieClip);
normalBtn.mouseChildren = false;
badBtn = (con.getChildByName("badBtn") as MovieClip);
badBtn.mouseChildren = false;
sonBtn = (con.getChildByName("sonBtn") as MovieClip);
sonBtn.mouseChildren = false;
soffBtn = (con.getChildByName("soffBtn") as MovieClip);
soffBtn.mouseChildren = false;
monBtn = (con.getChildByName("monBtn") as MovieClip);
monBtn.mouseChildren = false;
moffBtn = (con.getChildByName("moffBtn") as MovieClip);
moffBtn.mouseChildren = false;
qualityRefresh();
}
private function qualityRefresh():void{
bestBtn.gotoAndStop(1);
normalBtn.gotoAndStop(1);
badBtn.gotoAndStop(1);
sonBtn.gotoAndStop(1);
soffBtn.gotoAndStop(1);
monBtn.gotoAndStop(1);
moffBtn.gotoAndStop(1);
if (quality == 0){
bestBtn.gotoAndStop(2);
UI._stage.quality = "high";
} else {
if (quality == 1){
normalBtn.gotoAndStop(2);
UI._stage.quality = "medium";
} else {
if (quality == 2){
badBtn.gotoAndStop(2);
UI._stage.quality = "low";
};
};
};
if (sound == 0){
sonBtn.gotoAndStop(2);
SoundsManager.modifySoundsVolume();
} else {
if (sound == 1){
soffBtn.gotoAndStop(2);
SoundsManager.modifySoundsVolume(0);
};
};
if (music == 0){
monBtn.gotoAndStop(2);
SoundsManager.modifyMusicVolume();
} else {
if (music == 1){
moffBtn.gotoAndStop(2);
SoundsManager.modifyMusicVolume(0);
};
};
}
private function clickFun(_arg1:MouseEvent):void{
switch (_arg1.target){
case bestBtn:
quality = 0;
break;
case normalBtn:
quality = 1;
break;
case badBtn:
quality = 2;
break;
case sonBtn:
sound = 0;
break;
case soffBtn:
sound = 1;
break;
case monBtn:
music = 0;
break;
case moffBtn:
music = 1;
break;
};
qualityRefresh();
testAllPause();
}
public static function pause(_arg1:Object):void{
sound = _arg1["s"];
music = _arg1["m"];
testAllPause();
if (curInstance != null){
curInstance.qualityRefresh();
} else {
SoundsManager.modifySoundsVolume((sound - 1));
SoundsManager.modifyMusicVolume((music - 1));
};
}
private static function testAllPause():void{
if ((((music == 1)) && ((sound == 1)))){
SoundMc.testPause(true);
} else {
if ((((music == 0)) || ((sound == 0)))){
SoundMc.testPause(false);
};
};
}
public static function get state():Object{
return ({s:sound, m:music});
}
}
}//package Code.Game
Section 69
//Reinforce (Code.Game.Reinforce)
package Code.Game {
import Code.*;
import flash.display.*;
import flash.events.*;
import Code.Data.*;
import flash.text.*;
import flash.utils.*;
public class Reinforce extends UI {
private var repairBtn:MovieClip;
private var tipMc:Sprite;
private var chooseWeapon:ChooseWeapon;
private var priUpgradeBtn:MovieClip;
private var specialsBtn:MovieClip;
private var repairingMc:MovieClip;
private var curTurretValueTxt:TextField;
private var turretUpgradeBtn:MovieClip;
private var repairingRate:int;
private var confirm:upgradeConfirm;
private var moreGamesMc:MovieClip;
private var secUpgradeBtn:MovieClip;
private var toolTipMc:Sprite;
private var specials:Specials;
private var tempVar0:Number;
private var tempVar1:Number;
private var nextBtn:MovieClip;
private var curMoneyTxt:TextField;
private var turretValueTxt:TextField;
public function Reinforce(){
Data.calculate();
tempVar0 = Data.upgradeRate;
tempVar1 = Data.upgradeInitRate;
levelCompleteFun();
screenInit();
childrenInit();
chooseWeapon = new ChooseWeapon(screen);
toolTipInit();
}
private function secUpgrade():void{
if (Data.curMoney >= Data.upgradeData["secUpgrade"][Data.curSecondaryWeapon]){
confirm = new upgradeConfirm("wup");
Data.curMoney = (Data.curMoney - Data.upgradeData["secUpgrade"][Data.curSecondaryWeapon]);
Data.secondaryWeaponData[Data.curSecondaryWeapon].power = Math.round((Data.secondaryWeaponData[Data.curSecondaryWeapon].power * Data.upgradeInitRate));
Data.upgradeData["secUpgrade"][Data.curSecondaryWeapon] = Math.round((Data.upgradeData["secUpgrade"][Data.curSecondaryWeapon] * tempVar0));
} else {
confirm = new upgradeConfirm("not");
};
}
private function turretUpgrade():void{
var _local1:int;
if (Data.curMoney >= Data.upgradeData["turretUpgrade"]){
confirm = new upgradeConfirm("tup");
Data.curMoney = (Data.curMoney - Data.upgradeData["turretUpgrade"]);
_local1 = (Data.turretHealthValue * (Data.upgradeInitRate - 1));
Data.turretHealthValue = (Data.turretHealthValue + _local1);
Data.curTurretHealthValue = (Data.curTurretHealthValue + _local1);
Data.upgradeData["turretUpgrade"] = Math.round((Data.upgradeData["turretUpgrade"] * tempVar1));
showRepairing();
} else {
confirm = new upgradeConfirm("not");
};
}
private function toolTipInit():void{
toolTipMc = new ((getDefinitionByName("toolTip") as Class));
toolTipMc.mouseEnabled = false;
toolTipMc.mouseChildren = false;
tipMc = toolTipMc["tipmc"];
tipMc["txt"].autoSize = "left";
tipMc["txt1"].autoSize = "left";
screen["btnClick"].addChild(toolTipMc);
toolTipMc.visible = false;
}
function refreshTxt():void{
curMoneyTxt.text = String(Data.curMoney);
showRepairing();
}
private function screenInit():void{
screen = addScreen(UI.ReinforceClass);
screen.mouseEnabled = false;
screen.addEventListener("refresh", refresh, false, 0, true);
moreGamesMc = (screen.getChildByName("moreGamesMc") as MovieClip);
moreGamesMc.addEventListener(MouseEvent.CLICK, moreGamesFun, false, 0, true);
}
private function deleteMe():void{
if (specials != null){
pmc.removeEventListener("specialsClosed", specialsClosedFun);
};
chooseWeapon.deleteMe();
screen.stage.removeEventListener(MouseEvent.MOUSE_UP, restart);
screen.removeEventListener(Event.ENTER_FRAME, repairing);
screen.removeEventListener("refresh", refresh);
removeEvent();
removeScreen(screen);
game.reinforce = null;
}
private function rollOutFun(_arg1:MouseEvent):void{
toolTipMc.visible = false;
}
private function childrenInit():void{
var _local1:Sprite;
_local1 = (screen.getChildByName("btnClick") as Sprite);
_local1.mouseEnabled = false;
repairingMc = (screen.getChildByName("repairingMc") as MovieClip);
repairBtn = (_local1.getChildByName("repairBtn") as MovieClip);
if (Data.curTurretHealthValue >= Data.turretHealthValue){
repairBtn.visible = false;
};
repairBtn.addEventListener(MouseEvent.MOUSE_UP, clickFun, false, 0, true);
repairBtn.addEventListener(MouseEvent.ROLL_OVER, rollOverFun, false, 0, true);
repairBtn.addEventListener(MouseEvent.ROLL_OUT, rollOutFun, false, 0, true);
turretUpgradeBtn = (_local1.getChildByName("turretUpgradeBtn") as MovieClip);
turretUpgradeBtn.addEventListener(MouseEvent.MOUSE_UP, clickFun, false, 0, true);
turretUpgradeBtn.addEventListener(MouseEvent.MOUSE_OVER, rollOverFun, false, 0, true);
turretUpgradeBtn.addEventListener(MouseEvent.MOUSE_OUT, rollOutFun, false, 0, true);
specialsBtn = (_local1.getChildByName("specialsBtn") as MovieClip);
specialsBtn.addEventListener(MouseEvent.MOUSE_UP, clickFun, false, 0, true);
specialsBtn.addEventListener(MouseEvent.ROLL_OVER, rollOverFun, false, 0, true);
specialsBtn.addEventListener(MouseEvent.ROLL_OUT, rollOutFun, false, 0, true);
priUpgradeBtn = (_local1.getChildByName("priUpgradeBtn") as MovieClip);
priUpgradeBtn.addEventListener(MouseEvent.MOUSE_UP, clickFun, false, 0, true);
priUpgradeBtn.addEventListener(MouseEvent.ROLL_OVER, rollOverFun, false, 0, true);
priUpgradeBtn.addEventListener(MouseEvent.ROLL_OUT, rollOutFun, false, 0, true);
secUpgradeBtn = (_local1.getChildByName("secUpgradeBtn") as MovieClip);
secUpgradeBtn.addEventListener(MouseEvent.MOUSE_UP, clickFun, false, 0, true);
secUpgradeBtn.addEventListener(MouseEvent.ROLL_OVER, rollOverFun, false, 0, true);
secUpgradeBtn.addEventListener(MouseEvent.ROLL_OUT, rollOutFun, false, 0, true);
nextBtn = (_local1.getChildByName("nextBtn") as MovieClip);
nextBtn.addEventListener(MouseEvent.MOUSE_UP, clickFun, false, 0, true);
nextBtn.addEventListener(MouseEvent.ROLL_OVER, rollOverFun, false, 0, true);
nextBtn.addEventListener(MouseEvent.ROLL_OUT, rollOutFun, false, 0, true);
newWeaponUnlock();
textInit();
}
private function showRepairing():void{
curTurretValueTxt.text = String(Data.curTurretHealthValue);
turretValueTxt.text = String(Data.turretHealthValue);
repairingMc.gotoAndStop(int(((Data.curTurretHealthValue / Data.turretHealthValue) * 100)));
}
private function specialsClosedFun(_arg1:Event):void{
refreshTxt();
}
private function showOverText(_arg1:String=null, _arg2:String=null):void{
tipMc["txt"].text = _arg1;
tipMc["coinmc"].x = ((tipMc["txt"].x + tipMc["txt"].width) + 10);
tipMc["coinmc"].visible = true;
tipMc["txt1"].text = _arg2;
tipMc["txt1"].x = ((tipMc["coinmc"].x + tipMc["coinmc"].width) + 5);
tipMc.x = (-(tipMc.width) / 2);
toolTipMc["back"].width = (tipMc.width + 5);
}
private function newWeaponUnlock():void{
var _local1:Boolean;
var _local2:*;
screen["newWeaponTip"].stop();
for (_local2 in Data.unlocks) {
if (Data.curLevel != 0){
if (Data.curLevel == (Data.unlocks[_local2] - 1)){
_local1 = true;
break;
};
};
};
if (_local1){
confirm = new upgradeConfirm("newUnlock");
};
}
private function restart():void{
new MenuScreenEffect(screen);
game.startWar();
deleteMe();
}
private function repairing(_arg1:Event):void{
Data.curTurretHealthValue = (Data.curTurretHealthValue + repairingRate);
if (Data.curTurretHealthValue >= Data.turretHealthValue){
Data.curTurretHealthValue = Data.turretHealthValue;
confirm = new upgradeConfirm("repair");
Data.curMoney = (Data.curMoney - Data.upgradeData["repair"]);
screen.removeEventListener(Event.ENTER_FRAME, repairing);
repairBtn.visible = false;
screen.mouseChildren = true;
refreshTxt();
};
showRepairing();
}
private function rollOverFun(_arg1:MouseEvent):void{
var _local2:MovieClip;
btnOverSound0();
_local2 = (_arg1.currentTarget as MovieClip);
if (_local2 != nextBtn){
switch (_local2){
case repairBtn:
tipMc["coinmc"].x = tipMc["txt"].x;
tipMc["coinmc"].visible = true;
tipMc["txt"].text = "";
tipMc["txt1"].text = Data.upgradeData["repair"];
tipMc["txt1"].x = ((tipMc["coinmc"].x + tipMc["coinmc"].width) + 5);
tipMc.x = (-(tipMc.width) / 2);
toolTipMc["back"].width = (tipMc.width + 5);
break;
case turretUpgradeBtn:
showOverText(((LanguageData.HP[(Language.language_nr - 1)] + " +") + Math.round((Data.turretHealthValue * (tempVar1 - 1)))), Data.upgradeData["turretUpgrade"]);
break;
case specialsBtn:
tipMc["txt"].text = LanguageData.BuySpecialAttack[(Language.language_nr - 1)];
tipMc["txt1"].text = "";
tipMc["coinmc"].visible = false;
tipMc.x = (-(tipMc.width) / 2);
toolTipMc["back"].width = (tipMc.width + 5);
break;
case priUpgradeBtn:
showOverText(((LanguageData.POWER[(Language.language_nr - 1)] + " +") + Math.round((Data.primaryWeaponData[Data.curPrimaryWeapon].power * (tempVar1 - 1)))), Data.upgradeData["priUpgrade"][Data.curPrimaryWeapon]);
break;
case secUpgradeBtn:
showOverText(((LanguageData.POWER[(Language.language_nr - 1)] + " +") + Math.round((Data.secondaryWeaponData[Data.curSecondaryWeapon].power * (tempVar1 - 1)))), Data.upgradeData["secUpgrade"][Data.curSecondaryWeapon]);
break;
};
toolTipMc.x = (_local2.x - 10);
toolTipMc.y = (_local2.y - 20);
toolTipMc.visible = true;
};
}
private function clickFun(_arg1:MouseEvent):void{
btnPressSound0();
switch (_arg1.currentTarget){
case repairBtn:
repairTurret();
break;
case turretUpgradeBtn:
turretUpgrade();
break;
case specialsBtn:
specials = new Specials(this);
pmc.addEventListener("specialsClosed", specialsClosedFun, false, 0, true);
break;
case priUpgradeBtn:
priUpgrade();
break;
case secUpgradeBtn:
secUpgrade();
break;
case nextBtn:
restart();
break;
};
refreshTxt();
}
private function refresh(_arg1:Event):void{
refreshTxt();
}
private function levelCompleteFun():void{
Data.curLevel++;
}
private function textInit():void{
curTurretValueTxt = (screen.getChildByName("curTurretValueTxt") as TextField);
curTurretValueTxt.autoSize = "right";
curTurretValueTxt.selectable = false;
turretValueTxt = (screen.getChildByName("turretValueTxt") as TextField);
turretValueTxt.autoSize = "left";
turretValueTxt.selectable = false;
curMoneyTxt = (screen.getChildByName("curMoneyTxt") as TextField);
curMoneyTxt.autoSize = "left";
curMoneyTxt.selectable = false;
screen["curScoreTxt"].selectable = false;
screen["curScoreTxt"].text = String(Data.score);
screen["curLevelTxt"].selectable = false;
screen["curLevelTxt"].text = String((Data.curLevel + 1));
refreshTxt();
}
private function moreGamesFun(_arg1:MouseEvent):void{
getURL("&utm_term=logo_reinforce");
}
private function repairTurret():void{
if (Data.curMoney >= Data.upgradeData["repair"]){
screen.addEventListener(Event.ENTER_FRAME, repairing, false, 0, true);
screen.mouseChildren = false;
repairingRate = ((Data.turretHealthValue - Data.curTurretHealthValue) / 30);
if (repairingRate < 20){
repairingRate = 20;
};
} else {
confirm = new upgradeConfirm("not");
};
}
private function removeEvent():void{
repairBtn.removeEventListener(MouseEvent.MOUSE_UP, clickFun);
repairBtn.removeEventListener(MouseEvent.ROLL_OVER, rollOverFun);
repairBtn.removeEventListener(MouseEvent.ROLL_OUT, rollOutFun);
turretUpgradeBtn.removeEventListener(MouseEvent.MOUSE_UP, clickFun);
turretUpgradeBtn.removeEventListener(MouseEvent.MOUSE_OVER, rollOverFun);
turretUpgradeBtn.removeEventListener(MouseEvent.MOUSE_OUT, rollOutFun);
specialsBtn.removeEventListener(MouseEvent.MOUSE_UP, clickFun);
specialsBtn.removeEventListener(MouseEvent.ROLL_OVER, rollOverFun);
specialsBtn.removeEventListener(MouseEvent.ROLL_OUT, rollOutFun);
priUpgradeBtn.removeEventListener(MouseEvent.MOUSE_UP, clickFun);
priUpgradeBtn.removeEventListener(MouseEvent.ROLL_OVER, rollOverFun);
priUpgradeBtn.removeEventListener(MouseEvent.ROLL_OUT, rollOutFun);
secUpgradeBtn.removeEventListener(MouseEvent.MOUSE_UP, clickFun);
secUpgradeBtn.removeEventListener(MouseEvent.ROLL_OVER, rollOverFun);
secUpgradeBtn.removeEventListener(MouseEvent.ROLL_OUT, rollOutFun);
nextBtn.removeEventListener(MouseEvent.MOUSE_UP, clickFun);
nextBtn.removeEventListener(MouseEvent.ROLL_OVER, rollOverFun);
nextBtn.removeEventListener(MouseEvent.ROLL_OUT, rollOutFun);
moreGamesMc.removeEventListener(MouseEvent.CLICK, moreGamesFun);
}
private function priUpgrade():void{
if (Data.curMoney >= Data.upgradeData["priUpgrade"][Data.curPrimaryWeapon]){
confirm = new upgradeConfirm("wup");
Data.curMoney = (Data.curMoney - Data.upgradeData["priUpgrade"][Data.curPrimaryWeapon]);
Data.primaryWeaponData[Data.curPrimaryWeapon].power = Math.round((Data.primaryWeaponData[Data.curPrimaryWeapon].power * Data.upgradeInitRate));
Data.upgradeData["priUpgrade"][Data.curPrimaryWeapon] = Math.round((Data.upgradeData["priUpgrade"][Data.curPrimaryWeapon] * tempVar0));
} else {
confirm = new upgradeConfirm("not");
};
}
}
}//package Code.Game
Section 70
//SoundMc (Code.Game.SoundMc)
package Code.Game {
import Code.*;
import flash.display.*;
import flash.events.*;
public class SoundMc extends MovieClip {
private static var curInstance:SoundMc;
private static var soundOn:Boolean = true;
public function SoundMc(){
this.addEventListener(MouseEvent.CLICK, soundFun, false, 0, true);
this.buttonMode = true;
curInstance = this;
if (soundOn){
this.gotoAndStop(1);
} else {
this.gotoAndStop(2);
};
}
public function del():void{
this.removeEventListener(MouseEvent.CLICK, soundFun);
}
private function soundFun(_arg1:MouseEvent):void{
if (soundOn){
SoundsManager.pause(true);
this.gotoAndStop(2);
soundOn = false;
QualitySound.sound = 1;
QualitySound.music = 1;
} else {
SoundsManager.pause(false);
this.gotoAndStop(1);
soundOn = true;
QualitySound.sound = 0;
QualitySound.music = 0;
};
}
public static function testPause(_arg1:Boolean):void{
if (_arg1){
if (curInstance != null){
curInstance.gotoAndStop(2);
};
soundOn = false;
} else {
if (curInstance != null){
curInstance.gotoAndStop(1);
};
soundOn = true;
};
}
}
}//package Code.Game
Section 71
//Specials (Code.Game.Specials)
package Code.Game {
import flash.display.*;
import flash.events.*;
import Code.Data.*;
public class Specials extends UI {
private var cancelBtn:MovieClip;
private var reinforce:Reinforce;
private var popTxtMc:MovieClip;
private var curSpecial:Object;
private var okBtn:MovieClip;
private var backBtn:MovieClip;
private var clickMc:Sprite;
public function Specials(_arg1:Reinforce){
reinforce = _arg1;
screenInit();
}
private function getPopTxtMc():void{
if (popTxtMc == null){
popTxtMc = new SpecialConfirmMcClass();
popTxtMc.x = 180;
popTxtMc.y = 157;
okBtn = popTxtMc["okBtn"];
cancelBtn = popTxtMc["cancelBtn"];
okBtn.addEventListener(MouseEvent.MOUSE_UP, okCancelFun, false, 0, true);
cancelBtn.addEventListener(MouseEvent.MOUSE_UP, okCancelFun, false, 0, true);
};
pmc.addChild(popTxtMc);
if (Data.curMoney < curSpecial["money"]){
popTxtMc.gotoAndStop(2);
cancelBtn.visible = false;
okBtn.x = 120.5;
} else {
popTxtMc.gotoAndStop(1);
cancelBtn.visible = true;
okBtn.x = 66.3;
};
popTxtMc.addFrameScript(0, getText, 1, getText);
}
private function clickFun(_arg1:MouseEvent):void{
var _local2:String;
_local2 = (_arg1.target as DisplayObject).name;
switch (_local2){
case "plane":
curSpecial = Data.specialWeapons["planes"];
break;
case "shield":
curSpecial = Data.specialWeapons["shields"];
break;
case "emp":
curSpecial = Data.specialWeapons["freezes"];
break;
case "life":
curSpecial = Data.specialWeapons["lifes"];
break;
};
if (_local2 != "backBtn"){
getPopTxtMc();
};
}
protected function screenInit():void{
screen = addScreen(UI.SpecialsClass);
clickMc = (screen.getChildByName("clickMc") as Sprite);
clickMc.addEventListener(MouseEvent.CLICK, clickFun, false, 0, true);
backBtn = clickMc["backBtn"];
backBtn.addEventListener(MouseEvent.MOUSE_UP, backFun, false, 0, true);
priceTxtInit();
numTxtRefresh();
}
private function priceTxtInit():void{
var _local1:int;
_local1 = 0;
while (_local1 < 4) {
screen[("price" + _local1)].selectable = false;
screen[("num" + _local1)].selectable = false;
_local1++;
};
}
private function backFun(_arg1:MouseEvent):void{
pmc.dispatchEvent(new Event("specialsClose"));
UI.btnBackSound();
deleteMe();
}
private function getText():void{
popTxtMc["moneyTxt"].selectable = false;
popTxtMc["moneyTxt"].text = Data.curMoney;
popTxtMc["spendTxt"].selectable = false;
popTxtMc["spendTxt"].text = curSpecial["money"];
}
private function okCancelFun(_arg1:MouseEvent):void{
if (_arg1.currentTarget == okBtn){
if (popTxtMc.currentFrame == 1){
var _local2 = curSpecial;
var _local3 = "num";
var _local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
Data.curMoney = (Data.curMoney - curSpecial["money"]);
curSpecial["money"] = Math.round((curSpecial["money"] * Data.upgradeRate));
numTxtRefresh();
};
removePopTxtMc();
} else {
if (_arg1.currentTarget == cancelBtn){
removePopTxtMc();
};
};
}
private function numTxtRefresh():void{
screen["num0"].text = Data.specialWeapons["planes"]["num"];
screen["num1"].text = Data.specialWeapons["shields"]["num"];
screen["num2"].text = Data.specialWeapons["freezes"]["num"];
screen["num3"].text = Data.specialWeapons["lifes"]["num"];
screen["price0"].text = Data.specialWeapons["planes"]["money"];
screen["price1"].text = Data.specialWeapons["shields"]["money"];
screen["price2"].text = Data.specialWeapons["freezes"]["money"];
screen["price3"].text = Data.specialWeapons["lifes"]["money"];
reinforce.refreshTxt();
}
private function removePopTxtMc():void{
okBtn.removeEventListener(MouseEvent.MOUSE_UP, okCancelFun);
cancelBtn.removeEventListener(MouseEvent.MOUSE_UP, okCancelFun);
pmc.removeChild(popTxtMc);
popTxtMc = null;
}
function deleteMe():void{
if (popTxtMc != null){
removePopTxtMc();
};
clickMc.removeEventListener(MouseEvent.CLICK, clickFun);
backBtn.removeEventListener(MouseEvent.MOUSE_UP, backFun);
removeScreen(screen);
}
}
}//package Code.Game
Section 72
//UI (Code.Game.UI)
package Code.Game {
import Code.*;
import flash.display.*;
import flash.utils.*;
import flash.net.*;
public class UI {
var screen:Sprite;
static var WarScreenClass:Class = (getDefinitionByName("WarScreen") as Class);
static var ReinforceClass:Class = (getDefinitionByName("reinforceScreen") as Class);
public static var pmc:Sprite;
static var weapnSelectClass:Class = (getDefinitionByName("weaponChoose") as Class);
static var LoadScreenClass:Class = (getDefinitionByName("LoadingScreen") as Class);
static var GameOverClass:Class = (getDefinitionByName("GameOverScreen") as Class);
static var MainScreenClass:Class = (getDefinitionByName("MainScreen") as Class);
static var upgradeConfirmClass:Class = (getDefinitionByName("upgradeConfirmMc") as Class);
static var HowToPlayClass:Class = (getDefinitionByName("HowToPlayScreen") as Class);
static var SpecialsClass:Class = (getDefinitionByName("SpecialScreen") as Class);
static var editorListClass:Class = (getDefinitionByName("editorListScreen") as Class);
static var pauseClass:Class = (getDefinitionByName("pauseScreen") as Class);
static var SpecialConfirmMcClass:Class = (getDefinitionByName("SpecialConfirmMc") as Class);
static var bnusClass:Class = (getDefinitionByName("bonusScreen") as Class);
static var HighScoreClass:Class = (getDefinitionByName("HighScoreScreen") as Class);
public static var game:Game;
static var LevelCompleteClass:Class = (getDefinitionByName("LevelCompleteScreen") as Class);
public static var _stage:Stage;
protected function removeScreen(_arg1:Sprite):void{
if (_arg1.parent != null){
_arg1.parent.removeChild(_arg1);
};
}
protected function playMusic(_arg1:String, _arg2:int=2147483647):void{
SoundsManager.playMusic(_arg1, _arg2);
}
protected function addScreen(_arg1:Class):Sprite{
var _local2:Sprite;
_local2 = new (_arg1);
pmc.addChild(_local2);
return (_local2);
}
static function getURL(_arg1:String, _arg2:Boolean=false):void{
if (!_arg2){
if (Language._languageNum == 1){
_arg1 = Language.url1;
} else {
_arg1 = (Language.url1 + _arg1);
};
};
navigateToURL(new URLRequest(_arg1), "_blank");
}
static function weaponSelectSound():void{
SoundsManager.playSound("weapon_select_s");
}
static function btnBackSound():void{
SoundsManager.playSound("menu_back_s");
}
static function btnOverSound0():void{
SoundsManager.playSound("menu_touch_s");
}
static function btnPressSound0():void{
SoundsManager.playSound("menu_press_s");
}
}
}//package Code.Game
Section 73
//upgradeConfirm (Code.Game.upgradeConfirm)
package Code.Game {
import Code.*;
import flash.display.*;
import flash.events.*;
import Code.Data.*;
import flash.text.*;
public class upgradeConfirm extends UI {
private var okBtn:MovieClip;
private var curMoneyTxt:TextField;
public function upgradeConfirm(_arg1:String){
screenInit(_arg1);
childrenInit(_arg1);
}
private function rollOverFun(_arg1:MouseEvent):void{
UI.btnOverSound0();
}
private function screenInit(_arg1:String):void{
screen = addScreen(UI.upgradeConfirmClass);
screen.x = 180;
screen.y = 154.5;
(screen as MovieClip).gotoAndStop(_arg1);
}
private function childrenInit(_arg1:String):void{
okBtn = (screen.getChildByName("okBtn") as MovieClip);
okBtn.addEventListener(MouseEvent.MOUSE_UP, okBtnFun, false, 0, true);
okBtn.addEventListener(MouseEvent.ROLL_OVER, rollOverFun, false, 0, true);
curMoneyTxt = (screen.getChildByName("moneyTxt") as TextField);
curMoneyTxt.selectable = false;
if (_arg1 == "not"){
curMoneyTxt.text = ((LanguageData.YOURMONEY[(Language.language_nr - 1)] + ": ") + String(Data.curMoney));
} else {
curMoneyTxt.text = "";
};
}
private function okBtnFun(_arg1:MouseEvent):void{
UI.btnBackSound();
okBtn.removeEventListener(MouseEvent.MOUSE_UP, okBtnFun);
okBtn.removeEventListener(MouseEvent.ROLL_OVER, rollOverFun);
removeScreen(screen);
}
}
}//package Code.Game
Section 74
//War (Code.Game.War)
package Code.Game {
import Code.*;
import flash.display.*;
import flash.events.*;
import Code.Enemy.*;
import Code.Data.*;
import flash.utils.*;
import Code.Player.*;
public class War extends UI {
private var musicArr:Array;
private var curMusic:int;
private var pauseBtn:MovieClip;
private var timer:Timer;
private var moreGamesMc:MovieClip;
private var pause:Boolean;
private var waveSoundInt:int;
private var cloudInt:int;
private var nextInt:int;
private static var cloudScreen:Sprite;
public static var map:Map;
public static var elseScreen:Sprite;
public static var planeScreen:Sprite;
public static var screen:Sprite;
public static var war_planeScreen:Sprite;
public static var warScreen:Sprite;
public static var enemy:Enemy;
public static var player:Player;
private static var cloudClass:Class = (getDefinitionByName("cloud") as Class);
private static var planeShadow:Sprite;
public function War(){
var _local1:Class;
super();
Data.refresh();
_local1 = UI.WarScreenClass;
this.screen = addScreen(_local1);
UI.pmc.setChildIndex(this.screen, 0);
War.screen = this.screen;
pause = false;
createWarSprite();
createMap();
addEnemy();
childrenInit();
addplayer();
musicInit();
}
private function createMap():void{
War.map = new Map(warScreen);
}
private function controlMusic(_arg1:TimerEvent):void{
if ((Data.curTurretHealthValue / Data.turretHealthValue) < 0.5){
timer.stop();
playMusic("danger_m");
} else {
if (timer.currentCount > (musicArr[curMusic] - 10)){
timer.reset();
curMusic++;
if (curMusic > 3){
curMusic = 0;
};
playMusic(("level_m" + curMusic));
};
};
getCloud();
}
private function addplayer():void{
player = new Player(this);
}
private function moreGamesFun(_arg1:MouseEvent):void{
getURL(("&utm_term=logo_level" + Data.curLevel));
}
private function getCloud():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:MovieClip;
cloudInt++;
if (cloudInt >= nextInt){
cloudInt = 0;
nextInt = ((Math.random() * 50) + 5);
_local1 = ((Math.random() * 9) + 1);
_local2 = ((Math.random() * 430) + 20);
_local3 = ((Math.random() - 0.5) * 10);
_local4 = 0;
while (_local4 < _local1) {
_local5 = new cloudClass();
_local5.mouseEnabled = false;
_local5.mouseChildren = false;
_local5.rotation = _local3;
_local5.x = ((Math.random() * 60) - 90);
_local5.y = ((_local2 + (Math.random() * 30)) + 15);
cloudScreen.addChild(_local5);
_local4++;
};
};
}
private function addPauseBtnEvent(_arg1:Event):void{
pauseBtn.addEventListener(MouseEvent.CLICK, clickFun, false, 0, true);
}
private function musicInit():void{
curMusic = (Data.curLevel % 4);
musicArr = [517, 510, 484, 494];
timer = new Timer(100);
timer.addEventListener(TimerEvent.TIMER, controlMusic, false, 0, true);
timer.start();
playMusic(("level_m" + curMusic));
waveSoundInt = SoundsManager.playSound("wave_s", true, int.MAX_VALUE);
}
private function clickFun(_arg1:MouseEvent):void{
SoundsManager.playSound("pause_btn_s");
if (!pause){
game.toPause();
setPause(true);
};
}
private function levelComplete(_arg1:Event):void{
deleteWar();
warScreen.removeEventListener("levelComplete", levelComplete);
game.toLevelComplete();
}
private function gameOver(_arg1:Event):void{
deleteWar();
warScreen.removeEventListener("turretDie", gameOver);
warScreen.removeEventListener("levelComplete", levelComplete);
Data.calHisAccu();
game.toGameOver();
}
private function addEnemy():void{
enemy = new Enemy();
}
private function midwayBack(_arg1:Event):void{
deleteWar();
game.war = null;
game.mainMenu = new MainMenu();
warScreen.removeEventListener("midwayBack", midwayBack);
Data.midwayBack();
}
private function childrenInit():void{
var _local1:Sprite;
_local1 = (screen.getChildByName("warHandle") as Sprite);
screen.setChildIndex(_local1, (screen.numChildren - 1));
screen.setChildIndex(screen["others"], (screen.numChildren - 1));
pauseBtn = (_local1.getChildByName("pauseBtn") as MovieClip);
if (Data.curLevel > 0){
pauseBtn.addEventListener(MouseEvent.CLICK, clickFun, false, 0, true);
} else {
pauseBtn.stage.addEventListener("primaryHintDel", addPauseBtnEvent, false, 0, true);
};
moreGamesMc = (screen["others"].getChildByName("moreGamesMc") as MovieClip);
moreGamesMc.addEventListener(MouseEvent.CLICK, moreGamesFun, false, 0, true);
}
private function createWarSprite():void{
warScreen = (screen.getChildByName("warSprite") as Sprite);
warScreen.addEventListener("turretDie", gameOver, false, 0, true);
warScreen.addEventListener("levelComplete", levelComplete, false, 0, true);
warScreen.addEventListener("midwayBack", midwayBack, false, 0, true);
war_planeScreen = new Sprite();
war_planeScreen.mouseEnabled = false;
war_planeScreen.mouseChildren = false;
screen.addChild(war_planeScreen);
elseScreen = new Sprite();
elseScreen.mouseEnabled = false;
elseScreen.mouseChildren = false;
screen.addChild(elseScreen);
planeShadow = new Sprite();
planeShadow.mouseEnabled = false;
planeShadow.mouseChildren = false;
screen.addChild(planeShadow);
planeScreen = new Sprite();
planeScreen.mouseEnabled = false;
screen.addChild(planeScreen);
cloudScreen = new Sprite();
cloudScreen.mouseEnabled = false;
screen.addChild(cloudScreen);
}
public function setPause(_arg1:Boolean):void{
if (pause != _arg1){
pause = _arg1;
enemy.setPause(_arg1);
player.setPause(_arg1);
};
}
private function deleteWar():void{
timer.stop();
SoundsManager.stopSound("wave_s", waveSoundInt);
SoundsManager.memoryRelease();
enemy.deleteMe();
player.deleteMe();
moreGamesMc.removeEventListener(MouseEvent.CLICK, moreGamesFun);
pauseBtn.removeEventListener(MouseEvent.CLICK, clickFun);
removeScreen(screen);
}
}
}//package Code.Game
Section 75
//WeaponSelect (Code.Game.WeaponSelect)
package Code.Game {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import Code.Player.Turret.*;
public class WeaponSelect extends UI {
private var smallPoint:Point;
private var backGround:Sprite;
private var chooseWeapon:ChooseWeapon;
private var count:int;
private var okBtn:MovieClip;
private var war:War;
private var bigPoint:Point;
private var turret:Turret;
public function WeaponSelect(_arg1:Turret, _arg2:War){
this.turret = _arg1;
this.war = _arg2;
valueInit();
screenInit();
childrenInit();
}
private function okBtnOver(_arg1:MouseEvent):void{
UI.btnOverSound0();
}
private function hideScreen(_arg1:MouseEvent):void{
btnPressSound0();
war.setPause(false);
screen.x = smallPoint.x;
screen.y = smallPoint.y;
screen.scaleX = 0.2;
screen.scaleY = 0.2;
screen.alpha = 0.7;
screen.mouseEnabled = true;
screen.mouseChildren = false;
screen.buttonMode = true;
screen.addEventListener(MouseEvent.MOUSE_DOWN, popScreen, false, 0, true);
backGround.visible = false;
turret.weaponInit();
}
private function popScreen(_arg1:MouseEvent):void{
war.setPause(true);
screen.x = bigPoint.x;
screen.y = bigPoint.y;
screen.scaleX = 1;
screen.scaleY = 1;
screen.alpha = 1;
screen.mouseEnabled = false;
screen.mouseChildren = true;
screen.buttonMode = false;
screen.removeEventListener(MouseEvent.MOUSE_DOWN, popScreen);
backGround.visible = true;
}
private function valueInit():void{
smallPoint = new Point(55, 415);
bigPoint = new Point(300, 225);
}
private function screenInit():void{
screen = addScreen(UI.weapnSelectClass);
screen.addEventListener(Event.ENTER_FRAME, countFun, false, 0, true);
screen.x = bigPoint.x;
screen.y = bigPoint.y;
}
public function deleteMe():void{
chooseWeapon.deleteMe();
removeScreen(screen);
screen.removeEventListener("enterFrame", countFun);
okBtn.removeEventListener(MouseEvent.CLICK, hideScreen);
okBtn.removeEventListener(MouseEvent.ROLL_OVER, okBtnOver);
screen.removeEventListener(MouseEvent.MOUSE_DOWN, popScreen);
}
private function childrenInit():void{
okBtn = (screen.getChildByName("okBtn") as MovieClip);
okBtn.addEventListener(MouseEvent.CLICK, hideScreen, false, 0, true);
okBtn.addEventListener(MouseEvent.ROLL_OVER, okBtnOver, false, 0, true);
backGround = (screen.getChildByName("bg") as Sprite);
chooseWeapon = new ChooseWeapon(screen);
}
private function countFun(_arg1:Event):void{
count++;
if (count > 3){
count = 0;
war.setPause(true);
screen.removeEventListener("enterFrame", countFun);
};
}
}
}//package Code.Game
Section 76
//Turret (Code.Player.Turret.Turret)
package Code.Player.Turret {
import flash.display.*;
import flash.events.*;
import Code.Game.*;
import flash.geom.*;
import Code.Weapon.*;
import Code.Data.*;
import flash.utils.*;
public class Turret {
private var intervalId:int;
private var haveRestore:Boolean;
private var hitMc:MovieClip;
private var restoreRate:int;
private var thisMc:Sprite;
private var shieldTime:int;
private var parkedArr:Array;
private var health:Health;
private var shield:MovieClip;
private var turretLoc:Point;
private var healthmc:MovieClip;
private var pause:Boolean;
private var secondaryWeapon:TurretSecondaryWeapon;
private var tempInt:int;
private var primaryWeapon:TurretPrimaryWeapon;
private static var turretSpriteClass:Class = (getDefinitionByName("turretSprite") as Class);
private static var shieldClass:Class = (getDefinitionByName("shield") as Class);
public function Turret(_arg1:War, _arg2:int, _arg3:int){
turretLoc = War.map.getMapPoint(new Point(_arg2, _arg3));
addTurrent();
parkedArr = War.map.setRecObstacle(turretLoc, (Data.turretSize + 32), (Data.turretSize + 32), false, Map.TURRET);
healthInit();
pause = false;
weaponInit();
if (Data.ifTest){
} else {
if (Data.curLevel == 0){
UI.game.primaryWeaponHint = new PrimaryWeaponHint(_arg1);
};
};
}
public function get hitTestMc():Sprite{
return (hitMc);
}
public function setShield():void{
if (shield == null){
shield = new shieldClass();
thisMc.addChild(shield);
};
shieldTime = (shieldTime + 20);
shield["txt"].text = String(shieldTime);
clearInterval(intervalId);
intervalId = setInterval(shieldTimer, 1000);
}
private function addMouseEvent():void{
thisMc.stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveFun, false, 0, true);
}
private function turretDie(_arg1:Event):void{
thisMc.removeEventListener("die", turretDie);
thisMc.dispatchEvent(new Event("turretDie", true));
}
public function beAttacked(_arg1:int):void{
if (shield == null){
health.modify(_arg1);
Data.curTurretHealthValue = (Data.curTurretHealthValue + _arg1);
Data.levelHealth = (Data.levelHealth + _arg1);
thisMc.alpha = 0.5;
healthmc.alpha = 0.2;
thisMc.addEventListener(Event.ENTER_FRAME, count, false, 0, true);
};
}
private function addTurrent():void{
thisMc = new turretSpriteClass();
thisMc.x = turretLoc.x;
thisMc.y = turretLoc.y;
War.warScreen.addChild(thisMc);
thisMc.mouseChildren = false;
thisMc.mouseEnabled = false;
hitMc = (thisMc.getChildByName("hitTestMc") as MovieClip);
addMouseEvent();
}
private function mouseMoveFun(_arg1:MouseEvent):void{
var _local2:Point;
if (!pause){
_local2 = new Point(_arg1.stageX, _arg1.stageY);
primaryWeapon.modifyWeaponAngle(_local2);
secondaryWeapon.modifyWeaponAngle(_local2);
};
}
public function weaponInit():void{
var _local1:*;
if (primaryWeapon != null){
primaryWeapon.deleteMe();
};
if (secondaryWeapon != null){
secondaryWeapon.deleteMe();
};
switch (Data.curSecondaryWeapon){
case 0:
case 1:
_local1 = TurretSecGunWeapon;
break;
case 2:
_local1 = TurretSecMissileWeapon;
break;
case 3:
_local1 = TurretSecBlazeWeapon;
break;
case 4:
_local1 = TurretSecLaserWeapon;
};
secondaryWeapon = new _local1(this);
primaryWeapon = new TurretPrimaryWeapon(this);
if (shield != null){
thisMc.addChild(shield);
};
}
public function restore():Boolean{
if (Data.curTurretHealthValue >= Data.turretHealthValue){
return (false);
};
if (!haveRestore){
restoreRate = Math.ceil(((Data.turretHealthValue - Data.curTurretHealthValue) / 30));
healthmc.addEventListener(Event.ENTER_FRAME, restoring, false, 0, true);
haveRestore = true;
return (true);
};
return (false);
}
private function restoring(_arg1:Event):void{
health.modify(restoreRate);
Data.curTurretHealthValue = (Data.curTurretHealthValue + restoreRate);
if (Data.curTurretHealthValue >= Data.turretHealthValue){
Data.curTurretHealthValue = Data.turretHealthValue;
healthmc.removeEventListener(Event.ENTER_FRAME, restoring);
haveRestore = false;
};
}
private function healthInit():void{
healthmc = (thisMc.getChildByName("healthmc") as MovieClip);
health = new Health(healthmc, Data.curTurretHealthValue, Data.turretHealthValue);
thisMc.addEventListener("die", turretDie, false, 0, true);
}
private function count(_arg1:Event):void{
tempInt++;
if (tempInt == 5){
thisMc.alpha = 1;
healthmc.alpha = 1;
} else {
if (tempInt == 10){
thisMc.alpha = 0.5;
healthmc.alpha = 0.2;
} else {
if (tempInt == 15){
tempInt = 0;
thisMc.alpha = 1;
healthmc.alpha = 1;
thisMc.removeEventListener(Event.ENTER_FRAME, count);
};
};
};
}
public function deleteMe():void{
if (UI.game.primaryWeaponHint != null){
UI.game.primaryWeaponHint.deleteMe();
};
clearInterval(intervalId);
healthmc.removeEventListener(Event.ENTER_FRAME, restoring);
thisMc.stage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveFun);
thisMc.removeEventListener(Event.ENTER_FRAME, count);
primaryWeapon.deleteMe();
secondaryWeapon.deleteMe();
if (UI.game.weaponSelect != null){
UI.game.weaponSelect.deleteMe();
UI.game.weaponSelect = null;
};
}
private function shieldTimer():void{
if (!pause){
shield["txt"].text = String(shieldTime);
shieldTime--;
if (shieldTime < 0){
clearInterval(intervalId);
thisMc.removeChild(shield);
shield = null;
shieldTime = 0;
};
};
}
public function get turretSprite():Sprite{
return (thisMc);
}
public function setPause(_arg1:Boolean):void{
pause = _arg1;
primaryWeapon.setPause(_arg1);
secondaryWeapon.setPause(_arg1);
}
}
}//package Code.Player.Turret
Section 77
//TurretCannonRocket (Code.Player.Turret.TurretCannonRocket)
package Code.Player.Turret {
import flash.geom.*;
import Code.Weapon.*;
import Code.Data.*;
public class TurretCannonRocket extends TurretRocket {
public function TurretCannonRocket(_arg1:AbstractShooter, _arg2:Point, _arg3:int=200){
super(_arg1, _arg2, _arg3);
}
override protected function chooseRocketClass():void{
switch (Data.curPrimaryWeapon){
case 0:
missileClass = "Cannonball0";
break;
case 1:
missileClass = "Rocket0";
setBombEffectClass = "bombEffect1";
break;
case 4:
missileClass = "NuclearRocket0";
setBombEffectClass = "nuclearBomb";
break;
};
}
override protected function overRideFun():void{
super.overRideFun();
switch (Data.curPrimaryWeapon){
case 0:
fireSoundName = "cannon_fire_s";
break;
case 4:
bombSoundName = "huge_bomb_s";
break;
};
}
}
}//package Code.Player.Turret
Section 78
//TurretChildRocket (Code.Player.Turret.TurretChildRocket)
package Code.Player.Turret {
import Code.*;
import flash.geom.*;
import Code.Weapon.*;
public class TurretChildRocket extends TurretRocket {
public function TurretChildRocket(_arg1:AbstractShooter, _arg2:Point, _arg3:int, _arg4:Point, _arg5:Number){
var _local6:Number;
super(_arg1, _arg2, _arg3, _arg4);
_local6 = MathTool.radianToAngle(_arg5);
_mc["mc"].rotation = _local6;
_mc["smc"].rotation = _local6;
}
override protected function fireSound():void{
if (fireSoundName != null){
fireSoundInt = SoundsManager.playSound(fireSoundName, false, 0, 0.4);
};
if (frySoundName != null){
frySoundInt = SoundsManager.playSound(frySoundName, false, 0, 0.4);
};
}
override protected function playBombSound():void{
if (bombSoundName != null){
SoundsManager.playSound(bombSoundName, false, 0, 0.4);
};
}
override protected function calculateSpeedXY():void{
speedPoint = MathTool.caculateSpeed(fskPoint, terminalPoint, speed);
}
override protected function chooseRocketClass():void{
missileClass = "parentRocket0";
setBombEffectClass = "bombEffect1";
}
}
}//package Code.Player.Turret
Section 79
//TurretGunBullet (Code.Player.Turret.TurretGunBullet)
package Code.Player.Turret {
import flash.events.*;
import flash.geom.*;
import Code.Enemy.*;
import Code.Weapon.*;
import Code.Data.*;
public class TurretGunBullet extends AbstractBullet {
private var enemyShips:Array;
public function TurretGunBullet(_arg1:TurretSecondaryWeapon, _arg2:Point, _arg3:Point){
super(_arg1, _arg2);
fskPoint = _arg3;
setBombEffectClass = "bulletHit0";
addNewMissile("bulletSingle1");
enemyShips = Enemy.addedShips;
}
override protected function overRideFun():void{
super.overRideFun();
range = shooter.range;
speed = shooter.speed;
if (Data.curSecondaryWeapon == 0){
fireSoundName = "gun_fire_s";
} else {
if (Data.curSecondaryWeapon == 1){
fireSoundName = "gun_fire2_s";
};
};
}
override protected function hitTestFun():void{
var _local1:*;
for (_local1 in enemyShips) {
if (enemyShips[_local1].canBeShoot){
if (_mc != null){
if (enemyShips[_local1].shipmc.hitTestPoint(curPoint.x, curPoint.y, true)){
_mc.dispatchEvent(new Event("hit"));
enemyShips[_local1].beAttacked(-(shooter.power));
delFireSound();
explode();
deleteMe();
};
};
};
};
}
}
}//package Code.Player.Turret
Section 80
//TurretMagnetRocket (Code.Player.Turret.TurretMagnetRocket)
package Code.Player.Turret {
import Code.*;
import flash.events.*;
import flash.geom.*;
import Code.Weapon.*;
public class TurretMagnetRocket extends TurretRocket {
private var hitWater:Boolean;
public function TurretMagnetRocket(_arg1:AbstractShooter, _arg2:Point, _arg3:int=200){
super(_arg1, _arg2, _arg3);
}
override protected function testHitTarget():Boolean{
var _local1:Boolean;
var _local2:*;
_local1 = false;
for (_local2 in enemyShips) {
if (enemyShips[_local2].canBeShoot){
if (_mc != null){
if (_mc.hitTestObject(enemyShips[_local2].shipmc)){
_mc.dispatchEvent(new Event("hit"));
_local1 = true;
break;
};
};
};
};
if (!_local1){
setBombEffectClass = "bombInWater";
bombSoundName = "bomb_water_s";
hitWater = true;
return (true);
};
return (false);
}
override protected function hitTestFun():void{
var _local1:*;
if (!hitWater){
if (bombHitTestMc != null){
for (_local1 in enemyShips) {
if (enemyShips[_local1].canBeShoot){
if (bombHitTestMc.hitTestObject(enemyShips[_local1].shipmc)){
enemyShips[_local1].beAttacked(-(shooter.power));
enemyShips[_local1].setFreeze(true, true);
SoundsManager.playSound("magnet_s");
};
};
};
bombHitTestMc = null;
};
};
}
override protected function chooseRocketClass():void{
missileClass = "Magnet0";
setBombEffectClass = "MagnetEffect0";
}
override protected function overRideFun():void{
super.overRideFun();
bombSoundName = "magnet_hit_s";
}
}
}//package Code.Player.Turret
Section 81
//TurretMissile (Code.Player.Turret.TurretMissile)
package Code.Player.Turret {
import Code.*;
import flash.events.*;
import flash.geom.*;
import Code.Enemy.*;
import Code.Weapon.*;
public class TurretMissile extends AbstractRocket {
private var enemyShips:Array;
private var track:Boolean;
private var tempSpeed:Point;
private var lockedShip:Ship;
public function TurretMissile(_arg1:AbstractShooter, _arg2:Point, _arg3:Point, _arg4:Ship, _arg5:int=200){
super(_arg1, _arg3);
fskPoint = _arg2;
this.range = _arg5;
setBombEffectClass = "bombEffect0";
addNewMissile("Missile0");
this.lockedShip = _arg4;
enemyShips = Enemy.addedShips;
alterScale(0.2);
}
override protected function overRideFun():void{
super.overRideFun();
range = shooter.range;
speed = shooter.speed;
}
override protected function testHitTarget():Boolean{
var _local1:Boolean;
var _local2:*;
_local1 = false;
for (_local2 in enemyShips) {
if (enemyShips[_local2].canBeShoot){
if (_mc != null){
if (_mc.hitTestObject(enemyShips[_local2].shipmc)){
_mc.dispatchEvent(new Event("hit"));
_local1 = true;
break;
};
};
};
};
if (!_local1){
setBombEffectClass = "bombInWater";
bombSoundName = "bomb_water_s";
return (true);
};
return (false);
}
override protected function hitTestFun():void{
var _local1:*;
for (_local1 in enemyShips) {
if (enemyShips[_local1].canBeShoot){
if (bombHitTestMc != null){
if (bombHitTestMc.hitTestObject(enemyShips[_local1].shipmc)){
enemyShips[_local1].beAttacked(-(shooter.power));
bombHitTestMc = null;
};
};
};
};
}
override protected function calculateSpeedXY():void{
speedPoint = MathTool.caculateSpeed(curPoint, terminalPoint, speed);
}
override protected function enterFrameFun(_arg1:Event):void{
var _local2:int;
var _local3:Number;
if (!pause){
_local2 = Point.distance(curPoint, lockedShip.curPoint);
if (((track) || ((curRange > 20)))){
if (!track){
track = true;
};
tempSpeed = MathTool.caculateSpeed(terminalPoint, lockedShip.curPoint, speed);
terminalPoint.offset(tempSpeed.x, tempSpeed.y);
calculateSpeedXY();
_local3 = MathTool.calculateAngle(curPoint, terminalPoint);
_mc["mc"].rotation = _local3;
_mc["smc"].rotation = _local3;
} else {
if (_mc.scaleX < 1.1){
alterScale((_mc.scaleX + 0.15));
};
};
};
super.enterFrameFun(_arg1);
if (_local2 < 50){
if (_mc != null){
if (_mc.scaleX > 0.1){
alterScale((_mc.scaleX - 0.05));
};
};
if (_local2 <= 5){
arriveRange();
};
};
}
private function alterScale(_arg1:Number):void{
_mc.scaleX = _arg1;
_mc.scaleY = _arg1;
}
}
}//package Code.Player.Turret
Section 82
//TurretParentRocket (Code.Player.Turret.TurretParentRocket)
package Code.Player.Turret {
import flash.geom.*;
import Code.Weapon.*;
public class TurretParentRocket extends TurretRocket {
private var childRockets:Array;
public function TurretParentRocket(_arg1:AbstractShooter, _arg2:Point, _arg3:int=200){
super(_arg1, _arg2, _arg3);
childRockets = new Array();
}
override protected function hitTestFun():void{
super.hitTestFun();
spreadChildren();
}
private function spreadChildren():void{
var _local1:int;
var _local2:Number;
var _local3:Number;
var _local4:Point;
var _local5:Point;
_local1 = 0;
while (_local1 < 4) {
_local2 = ((Math.random() * 10) + 50);
_local3 = (((Math.PI / 2) * _local1) + (((Math.random() - 0.5) * Math.PI) / 4));
_local4 = new Point(curPoint.x, curPoint.y);
_local5 = Point.polar(_local2, _local3);
_local5 = _local4.add(_local5);
childRockets.push(new TurretChildRocket(shooter, _local5, _local2, _local4, _local3));
_local1++;
};
}
override public function deleteMe():void{
var _local1:*;
for (_local1 in childRockets) {
if (childRockets[_local1]._mc != null){
childRockets[_local1].deleteMe();
};
};
super.deleteMe();
}
override protected function chooseRocketClass():void{
missileClass = "parentRocket0";
setBombEffectClass = "bombEffect1";
}
override protected function overRideFun():void{
power = 600;
speed = 8;
super.overRideFun();
}
}
}//package Code.Player.Turret
Section 83
//TurretPrimaryWeapon (Code.Player.Turret.TurretPrimaryWeapon)
package Code.Player.Turret {
import Code.*;
import flash.display.*;
import flash.events.*;
import Code.Game.*;
import flash.geom.*;
import Code.Weapon.*;
import Code.Data.*;
import flash.utils.*;
import flash.ui.*;
public class TurretPrimaryWeapon extends AbstractShooter {
private var weaponRange:WeaponRange;
var ifCooling:Boolean;
private var curRange:int;
private var fskEffectMc:MovieClip;
private var shooterSpriteMc:MovieClip;
var turret:Turret;
private var aimatMc:Sprite;
public static var hits:int;
public static var shots:int;
public function TurretPrimaryWeapon(_arg1:Turret){
super(_arg1.turretSprite);
turret = _arg1;
ifCooling = false;
addWeaponEnergy(_arg1.turretSprite);
shooterSprite.stage.focus = shooterSprite.stage;
addEvent();
}
private function coolingEndFun(_arg1:Event):void{
ifCooling = false;
MathTool.setColor(0, shooterSpriteMc);
}
private function addWeaponEnergy(_arg1:Sprite):void{
weaponRange = new WeaponRange(_arg1, this, "weaponEnergy");
weaponRange._mc.visible = false;
weaponRange._mc.addEventListener("coolingOver", coolingEndFun, false, 0, true);
}
private function removeEvent():void{
var _local1:*;
shooterSprite.stage.removeEventListener(KeyboardEvent.KEY_DOWN, startShot);
shooterSprite.stage.removeEventListener(KeyboardEvent.KEY_UP, stopShot);
shooterSprite.removeEventListener(Event.ENTER_FRAME, aimatFun);
weaponRange._mc.removeEventListener("coolingOver", coolingEndFun);
for (_local1 in missiles) {
if (missiles[_local1]._mc != null){
missiles[_local1]._mc.removeEventListener("hit", hitCount);
};
};
}
override public function deleteMe():void{
fskEffectMc.addFrameScript((fskEffectMc.totalFrames - 1), null);
removeEvent();
weaponRange.deleteMe();
super.deleteMe();
}
private function aimatFun(_arg1:Event):void{
var _local2:Point;
if (aimatMc.visible){
curRange = int(((range * weaponRange.cur) / 101));
_local2 = Point.polar(curRange, angle);
_local2 = _local2.add(fskPoint);
aimatMc.x = _local2.x;
aimatMc.y = _local2.y;
};
}
override protected function childrenInit(_arg1:String):void{
var _local2:Class;
_local2 = (getDefinitionByName(_arg1) as Class);
shooterSprite = new (_local2);
parent.addChild(shooterSprite);
shooterPoint = shooterSprite.localToGlobal(new Point(shooterSprite.x, shooterSprite.y));
fskSprite = (shooterSprite.getChildByName("fsk") as Sprite);
aimatMc = new ((getDefinitionByName("aimatMc") as Class));
War.screen.addChild(aimatMc);
aimatMc.visible = false;
aimatMc.alpha = 0.5;
fskEffectMc = (shooterSprite.getChildByName("fskxg") as MovieClip);
fskEffectMc.stop();
fskEffectMc.addFrameScript((fskEffectMc.totalFrames - 1), fskEffectMcEnd);
fskEffectMc.alpha = 0.6;
}
private function fskEffectMcEnd():void{
if (ifCooling){
MathTool.setColor(0.2, shooterSpriteMc);
};
}
protected function hitCount(_arg1:Event):void{
hits++;
}
private function stopShot(_arg1:KeyboardEvent):void{
if (!pause){
if ((((_arg1.keyCode == Keyboard.SPACE)) && (!(ifCooling)))){
shooterSpriteMc.gotoAndPlay(1);
weaponRange.modify(-1.5);
addNewMissile();
ifCooling = true;
aimatMc.visible = false;
SoundsManager.stopSound("aiming_s");
};
};
}
override public function addNewMissile():void{
var _local1:Point;
var _local2:AbstractRocketScale;
if (fskEffectMc != null){
fskEffectMc.gotoAndPlay(1);
};
shots++;
_local1 = new Point(shooterSprite.stage.mouseX, shooterSprite.stage.mouseY);
switch (Data.curPrimaryWeapon){
case 0:
case 1:
case 4:
_local2 = new TurretCannonRocket(this, _local1, curRange);
break;
case 3:
power = (Data.primaryWeaponData[Data.curPrimaryWeapon].power / 2);
_local2 = new TurretParentRocket(this, _local1, curRange);
break;
case 2:
_local2 = new TurretMagnetRocket(this, _local1, curRange);
break;
};
_local2._mc.addEventListener("hit", hitCount, false, 0, true);
missiles.push(_local2);
}
override protected function overRideFun():void{
childrenInit(("primaryMc" + Data.curPrimaryWeapon));
shooterSpriteMc = (shooterSprite as MovieClip);
shooterSpriteMc.gotoAndStop(shooterSpriteMc.totalFrames);
range = Data.primaryWeaponData[Data.curPrimaryWeapon].MaxRange;
power = Data.primaryWeaponData[Data.curPrimaryWeapon].power;
speed = Data.primaryWeaponData[Data.curPrimaryWeapon].speed;
}
private function addEvent():void{
shooterSprite.stage.addEventListener(KeyboardEvent.KEY_DOWN, startShot, false, 0, true);
shooterSprite.stage.addEventListener(KeyboardEvent.KEY_UP, stopShot, false, 0, true);
shooterSprite.addEventListener(Event.ENTER_FRAME, aimatFun, false, 0, true);
}
private function startShot(_arg1:KeyboardEvent):void{
if (!pause){
if (((((!(aimatMc.visible)) && ((((_arg1.keyCode == 229)) || ((_arg1.keyCode == 32)))))) && (!(ifCooling)))){
weaponRange.modify(3);
aimatMc.visible = true;
SoundsManager.playSound("aiming_s");
};
};
}
}
}//package Code.Player.Turret
Section 84
//TurretRocket (Code.Player.Turret.TurretRocket)
package Code.Player.Turret {
import flash.events.*;
import flash.geom.*;
import Code.Enemy.*;
import Code.Weapon.*;
public class TurretRocket extends AbstractRocketScale {
protected var missileClass:String;
protected var enemyShips:Array;
public function TurretRocket(_arg1:AbstractShooter, _arg2:Point, _arg3:int=200, _arg4:Point=null){
super(_arg1, _arg2);
this.range = _arg3;
if (_arg4 != null){
fskPoint = _arg4;
};
enemyShips = Enemy.addedShips;
chooseRocketClass();
addNewMissile(missileClass);
}
override protected function testHitTarget():Boolean{
var _local1:Boolean;
var _local2:*;
_local1 = false;
for (_local2 in enemyShips) {
if (enemyShips[_local2].canBeShoot){
if (_mc != null){
if (_mc.hitTestObject(enemyShips[_local2].shipmc)){
_mc.dispatchEvent(new Event("hit"));
_local1 = true;
break;
};
};
};
};
if (!_local1){
setBombEffectClass = "bombInWater";
bombSoundName = "bomb_water_s";
return (true);
};
return (false);
}
override protected function hitTestFun():void{
var _local1:*;
if (bombHitTestMc != null){
for (_local1 in enemyShips) {
if (enemyShips[_local1].canBeShoot){
if (bombHitTestMc.hitTestObject(enemyShips[_local1].shipmc)){
enemyShips[_local1].beAttacked(-(shooter.power));
};
};
};
bombHitTestMc = null;
};
}
protected function chooseRocketClass():void{
}
override protected function overRideFun():void{
super.overRideFun();
power = shooter.power;
range = shooter.range;
speed = shooter.speed;
}
}
}//package Code.Player.Turret
Section 85
//TurretSecBlazeWeapon (Code.Player.Turret.TurretSecBlazeWeapon)
package Code.Player.Turret {
import Code.*;
import flash.display.*;
import flash.events.*;
import Code.Game.*;
import flash.geom.*;
import Code.Enemy.*;
import Code.Data.*;
import flash.utils.*;
public class TurretSecBlazeWeapon extends TurretSecondaryWeapon {
private var fireSound:Boolean;
private var weaponTimer:Timer;
private var blazeMc:Sprite;
private var enemyShips:Array;
private var fireWeaponMc:Sprite;
private var backRate:int;
private var totalTime:int;
private var blazeMc1:MovieClip;
private var havePress:Boolean;
private var blazeMc0:MovieClip;
private var leftTime:int;
private static var blazeMcCla:Class = (getDefinitionByName("hyMc3") as Class);
public function TurretSecBlazeWeapon(_arg1:Turret){
super(_arg1);
getChildren();
addTimerEvent();
valueInit();
}
override protected function mouseDownFun():void{
if (!ifCooling){
fire();
havePress = true;
weaponTimer.start();
};
}
private function fireSoundStop():void{
if (fireSound){
SoundsManager.stopSound("fire_s");
fireSound = false;
};
}
override public function deleteMe():void{
weaponTimer.stop();
fireSoundStop();
weaponTimer.removeEventListener("timer", timerFun);
weaponTimer = null;
super.deleteMe();
}
private function timerFun(_arg1:TimerEvent):void{
if (!pause){
if (!ifCooling){
if (havePress){
if (leftTime > 0){
if ((leftTime % 100) == 0){
fire();
};
};
hitTest();
leftTime = (leftTime - 100);
if (leftTime <= 0){
leftTime = 0;
fireSoundStop();
setColor(0.2, fireWeaponMc);
ifCooling = true;
};
} else {
if (!havePress){
fireSoundStop();
if (leftTime >= totalTime){
leftTime = totalTime;
weaponTimer.stop();
};
};
};
} else {
if (ifCooling){
fireSoundStop();
leftTime = (leftTime + backRate);
if (leftTime >= totalTime){
leftTime = totalTime;
setColor(0, fireWeaponMc);
ifCooling = false;
if (!havePress){
weaponTimer.stop();
};
};
};
};
secWeaponEnergy.goto(((101 / totalTime) * leftTime));
};
}
private function valueInit():void{
totalTime = Data.secondaryWeaponData[3].shots;
leftTime = totalTime;
enemyShips = Enemy.addedShips;
backRate = (400000 / Data.secondaryWeaponData[3].reload);
}
private function fire():void{
var _local1:Point;
if (!fireSound){
SoundsManager.playSound("fire_s", true, int.MAX_VALUE);
fireSound = true;
};
blazeMc0 = new blazeMcCla();
_local1 = blazeMc.globalToLocal(fskSprite.localToGlobal(new Point(0, 0)));
blazeMc0.x = _local1.x;
blazeMc0.y = _local1.y;
blazeMc0.rotation = ((angle * 180) / Math.PI);
blazeMc.addChild(blazeMc0);
blazeMc1 = new blazeMcCla();
_local1 = blazeMc.globalToLocal(fskSprite1.localToGlobal(new Point(0, 0)));
blazeMc1.x = _local1.x;
blazeMc1.y = _local1.y;
blazeMc1.rotation = ((angle * 180) / Math.PI);
blazeMc.addChild(blazeMc1);
}
override protected function mouseUpFun():void{
havePress = false;
}
private function hitTest():void{
var _local1:Boolean;
var _local2:*;
enemyShips = Enemy.addedShips;
_local1 = false;
for (_local2 in enemyShips) {
if (enemyShips[_local2].canBeShoot){
if (blazeMc.hitTestObject(enemyShips[_local2].shipmc)){
enemyShips[_local2].beAttacked(-(power));
_local1 = true;
};
if (blazeMc.hitTestObject(enemyShips[_local2].shipmc)){
enemyShips[_local2].beAttacked(-(power));
_local1 = true;
};
};
};
shots = (shots + 0.2);
if (_local1){
hits = (hits + 0.2);
};
}
private function addTimerEvent():void{
weaponTimer = new Timer(100);
weaponTimer.addEventListener("timer", timerFun, false, 0, true);
weaponTimer.stop();
}
override protected function overRideFun():void{
super.overRideFun();
power = (Data.secondaryWeaponData[Data.curSecondaryWeapon].power / 6);
}
private function getChildren():void{
blazeMc = War.war_planeScreen;
fireWeaponMc = (shooterSprite.getChildByName("fireWeaponMc") as Sprite);
}
}
}//package Code.Player.Turret
Section 86
//TurretSecGunWeapon (Code.Player.Turret.TurretSecGunWeapon)
package Code.Player.Turret {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import Code.Data.*;
import flash.utils.*;
public class TurretSecGunWeapon extends TurretSecondaryWeapon {
private var haveShot:Number;
private var weaponTimer:Timer;
private var haveHitsName:Array;
private var shotRate:int;
private var havePress:Boolean;
private var shotTotals:int;
private var coolingTime:int;
public function TurretSecGunWeapon(_arg1:Turret){
super(_arg1);
havePress = false;
ifCooling = false;
haveShot = 0;
haveHitsName = [];
}
private function shot():void{
if (!pause){
if (((!(ifCooling)) && (havePress))){
addNewMissile();
};
if (((!(ifCooling)) && (!(havePress)))){
} else {
if (ifCooling){
haveShot = (haveShot + 1);
} else {
haveShot = (haveShot + 1);
};
};
if (!ifCooling){
secWeaponEnergy.goto(((101 / shotTotals) * (shotTotals - haveShot)));
if (haveShot >= shotTotals){
setColor(0.2, shooterSprite);
ifCooling = true;
haveShot = 0;
if (!havePress){
weaponTimer.stop();
};
};
} else {
secWeaponEnergy.goto(((101 / coolingTime) * haveShot));
if (haveShot >= coolingTime){
setColor(0, shooterSprite);
ifCooling = false;
haveShot = 0;
if (!havePress){
weaponTimer.stop();
};
};
};
};
}
override protected function mouseDownFun():void{
havePress = true;
shot();
weaponTimer.delay = shotRate;
weaponTimer.start();
}
override public function deleteMe():void{
weaponTimer.stop();
weaponTimer.removeEventListener("timer", timerFun);
weaponTimer = null;
super.deleteMe();
}
override protected function hitCount(_arg1:Event):void{
var _local2:String;
var _local3:Boolean;
var _local4:*;
_local2 = (_arg1.target as DisplayObject).name;
_local3 = false;
for (_local4 in haveHitsName) {
if (_local2 == haveHitsName[_local4]){
_local3 = true;
break;
};
};
if (!_local3){
hits++;
haveHitsName.push(_local2);
};
}
override protected function mouseUpFun():void{
havePress = false;
}
private function timerFun(_arg1:Event):void{
shot();
}
override public function addNewMissile():void{
var _local1:Point;
var _local2:TurretGunBullet;
shots++;
(shooterSprite as MovieClip).play();
_local1 = new Point(shooterSprite.stage.mouseX, shooterSprite.stage.mouseY);
_local2 = new TurretGunBullet(this, _local1, fskPoint);
_local2._mc.name = String(shots);
_local2._mc.addEventListener("hit", hitCount, false, 0, true);
missiles.push(_local2);
_local2 = new TurretGunBullet(this, _local1, fskPoint1);
_local2._mc.name = String(shots);
_local2._mc.addEventListener("hit", hitCount, false, 0, true);
missiles.push(_local2);
}
override protected function overRideFun():void{
var _local1:int;
super.overRideFun();
_local1 = Data.curSecondaryWeapon;
shotTotals = Data.secondaryWeaponData[_local1].shots;
if (_local1 == 0){
shotRate = 400;
} else {
if (_local1 == 1){
shotRate = 200;
};
};
coolingTime = (Data.secondaryWeaponData[_local1].reload / shotRate);
weaponTimer = new Timer(shotRate);
weaponTimer.addEventListener("timer", timerFun, false, 0, true);
weaponTimer.stop();
weaponTimer.delay = shotRate;
}
}
}//package Code.Player.Turret
Section 87
//TurretSecLaserWeapon (Code.Player.Turret.TurretSecLaserWeapon)
package Code.Player.Turret {
import Code.*;
import flash.display.*;
import flash.events.*;
import Code.Game.*;
import flash.geom.*;
import Code.Enemy.*;
import Code.Data.*;
import flash.utils.*;
public class TurretSecLaserWeapon extends TurretSecondaryWeapon {
private var fireSound:Boolean;
private var leftTime:int;
private var linePoints:Array;
private var fskGlobal:Array;
private var lineDis:Array;
private var haveHitShip:Array;
private var laserHitMc:Array;
private var enemyShips:Array;
private var backRate:int;
private var lineTimer:Timer;
private var havePress:Boolean;
private var laserMc:Array;
private var totalTime:int;
private var terminals:Array;
public function TurretSecLaserWeapon(_arg1:Turret){
super(_arg1);
valueInit();
getChildren();
}
private function getChildren():void{
var _local1:Class;
var _local2:int;
var _local3:Sprite;
_local1 = (getDefinitionByName("__laserMc") as Class);
laserMc = [];
laserHitMc = [];
_local2 = 0;
while (_local2 < 2) {
_local3 = new (_local1);
laserMc[_local2] = (_local3.getChildByName("laserMc") as Sprite);
War.war_planeScreen.addChild(laserMc[_local2]);
laserHitMc[_local2] = new ((getDefinitionByName("bulletHit") as Class));
War.war_planeScreen.addChild(laserHitMc[_local2]);
laserHitMc[_local2].visible = false;
_local2++;
};
}
override protected function mouseDownFun():void{
if (!ifCooling){
lineTimer.start();
havePress = true;
};
}
private function fireSoundStop():void{
if (fireSound){
SoundsManager.stopSound("laser_s");
fireSound = false;
};
}
override public function deleteMe():void{
var _local1:int;
_local1 = 0;
while (_local1 < 2) {
War.war_planeScreen.removeChild(laserMc[_local1]);
War.war_planeScreen.removeChild(laserHitMc[_local1]);
_local1++;
};
lineTimer.stop();
fireSoundStop();
lineTimer.removeEventListener("timer", timerFun);
super.deleteMe();
}
private function timerFun(_arg1:Event):void{
if (!pause){
if (!ifCooling){
lineLaser();
if (havePress){
playSound();
hitTest();
leftTime = (leftTime - 50);
if (leftTime <= 0){
fireSoundStop();
leftTime = 0;
setColor(0.2);
ifCooling = true;
laserMc[0].graphics.clear();
laserMc[1].graphics.clear();
laserHitMc[0].visible = false;
laserHitMc[1].visible = false;
lineDis = [0, 0];
};
} else {
if (!havePress){
fireSoundStop();
laserHitMc[0].visible = false;
laserHitMc[1].visible = false;
if (leftTime < totalTime){
} else {
if (leftTime > totalTime){
leftTime = totalTime;
};
};
};
};
} else {
if (ifCooling){
fireSoundStop();
leftTime = (leftTime + backRate);
if (leftTime >= totalTime){
setColor(0);
ifCooling = false;
};
};
};
secWeaponEnergy.goto(((101 / totalTime) * leftTime));
};
}
private function valueInit():void{
terminals = new Array();
linePoints = new Array();
lineDis = new Array(0, 0);
fskGlobal = new Array();
haveHitShip = new Array(false, false);
totalTime = Data.secondaryWeaponData[4].shots;
leftTime = totalTime;
backRate = (200000 / Data.secondaryWeaponData[4].reload);
}
private function addLaserHitMc(_arg1:Point, _arg2:int):void{
if (_arg1 != null){
laserHitMc[_arg2].visible = true;
laserHitMc[_arg2].x = _arg1.x;
laserHitMc[_arg2].y = _arg1.y;
} else {
laserHitMc[_arg2].visible = false;
};
}
private function lineLaser():void{
var _local1:int;
var _local2:Point;
var _local3:Point;
getPoint();
changeLineDis();
_local1 = 0;
while (_local1 < 2) {
_local2 = new Point(fskGlobal[_local1].x, fskGlobal[_local1].y);
_local3 = linePoints[_local1][lineDis[_local1]];
laserMc[_local1].graphics.clear();
laserMc[_local1].graphics.lineStyle(3, 0xFFFF, 1);
laserMc[_local1].graphics.moveTo(_local2.x, _local2.y);
laserMc[_local1].graphics.lineTo(_local3.x, _local3.y);
_local1++;
};
}
private function changeLineDis():void{
var _local1:int;
var _local2:int;
_local1 = 0;
_local2 = 0;
while (_local2 < 2) {
if (havePress){
if (!haveHitShip[_local2]){
if (lineDis[_local2] < 30){
lineDis[_local2] = (lineDis[_local2] + 3);
if (lineDis[_local2] >= 30){
lineDis[_local2] = 30;
};
};
};
} else {
if (lineDis[_local2] > 0){
lineDis[_local2] = (lineDis[_local2] - 4);
if (lineDis[_local2] <= 0){
lineDis[_local2] = 0;
_local1++;
};
};
};
_local2++;
};
if (_local1 >= 2){
lineTimer.stop();
fireSoundStop();
};
}
override protected function mouseUpFun():void{
havePress = false;
}
private function playSound():void{
if (!fireSound){
SoundsManager.playSound("laser_s", true, int.MAX_VALUE);
fireSound = true;
};
}
private function hitTest():void{
var _local1:Boolean;
var _local2:int;
var _local3:Array;
var _local4:uint;
var _local5:int;
var _local6:Point;
var _local7:*;
enemyShips = Enemy.addedShips;
_local1 = false;
_local2 = 0;
while (_local2 < 2) {
haveHitShip[_local2] = false;
_local3 = new Array();
_local4 = linePoints[_local2].length;
_local5 = (_local4 - 1);
while (_local5 >= 0) {
_local6 = laserMc[_local2].localToGlobal(new Point(linePoints[_local2][_local5].x, linePoints[_local2][_local5].y));
for (_local7 in enemyShips) {
if (enemyShips[_local7].canBeShoot){
if (enemyShips[_local7].shipmc.hitTestPoint(_local6.x, _local6.y, true)){
if (havePress){
lineDis[_local2] = _local5;
};
if (!haveHitShip[_local2]){
haveHitShip[_local2] = true;
};
enemyShips[_local7].beAttacked(-(power));
_local3[_local2] = new Point(_local6.x, _local6.y);
_local1 = true;
};
};
};
_local5--;
};
addLaserHitMc(_local3[_local2], _local2);
_local2++;
};
shots = (shots + 0.2);
if (_local1){
hits = (hits + 0.2);
};
}
private function getFskGlobal():void{
fskGlobal[0] = fskPoint;
fskGlobal[1] = fskPoint1;
}
private function getPoint():void{
getFskGlobal();
getTerminal();
getLinePoints();
}
private function getTerminal():void{
var _local1:int;
var _local2:Point;
_local1 = 0;
while (_local1 < 2) {
_local2 = Point.polar(range, angle);
_local2 = _local2.add(fskGlobal[_local1]);
terminals[_local1] = _local2;
_local1++;
};
}
private function getLinePoints():void{
var _local1:int;
var _local2:int;
var _local3:Point;
_local1 = 0;
while (_local1 < 2) {
linePoints[_local1] = [];
_local2 = 0;
while (_local2 <= 30) {
_local3 = Point.interpolate(terminals[_local1], fskGlobal[_local1], (_local2 / 30));
linePoints[_local1].push(_local3);
_local2++;
};
_local1++;
};
}
override protected function overRideFun():void{
super.overRideFun();
power = (Data.secondaryWeaponData[Data.curSecondaryWeapon].power / 45);
}
override protected function addEvent():void{
super.addEvent();
lineTimer = new Timer(50);
lineTimer.addEventListener("timer", timerFun, false, 0, true);
}
}
}//package Code.Player.Turret
Section 88
//TurretSecMissileWeapon (Code.Player.Turret.TurretSecMissileWeapon)
package Code.Player.Turret {
import Code.*;
import flash.display.*;
import flash.events.*;
import Code.Game.*;
import flash.geom.*;
import Code.Enemy.*;
import Code.Data.*;
import flash.text.*;
import flash.utils.*;
public class TurretSecMissileWeapon extends TurretSecondaryWeapon {
private var backRate:Number;
private var totalNums:int;
private var tempTerminatePoint:Point;
private var lockedTxtMc:MovieClip;
private var curLeftNums:Number;
private var curLockedShip:Ship;
private var lockedOnCla:Class;
private var fskEffectMc:MovieClip;
private var tipsTxtMc:Sprite;
private var fskEffectMc1:MovieClip;
public function TurretSecMissileWeapon(_arg1:Turret){
super(_arg1);
lockedOnCla = (getDefinitionByName("LockedonTxtMc") as Class);
lockedTxtMc = new lockedOnCla();
totalNums = Data.secondaryWeaponData[2].shots;
curLeftNums = totalNums;
backRate = (Data.secondaryWeaponData[2].reload / 40000);
fskEffectMc = (shooterSprite.getChildByName("fskxg") as MovieClip);
fskEffectMc.stop();
fskEffectMc.alpha = 0.6;
fskEffectMc1 = (shooterSprite.getChildByName("fskxg1") as MovieClip);
fskEffectMc1.stop();
fskEffectMc1.alpha = 0.6;
}
function autoLockTheShip(_arg1:Array):Boolean{
var _local2:int;
var _local3:Boolean;
var _local4:*;
_local2 = 10000;
for (_local4 in _arg1) {
if (_arg1[_local4].canBeShoot){
if (_arg1[_local4].disToTurret < _local2){
curLockedShip = _arg1[_local4];
_local2 = curLockedShip.disToTurret;
_local3 = true;
};
};
};
return (_local3);
}
private function energyBack(_arg1:Event):void{
if (!pause){
curLeftNums = (curLeftNums + backRate);
secWeaponEnergy.goto(((101 / totalNums) * curLeftNums));
if (curLeftNums >= totalNums){
curLeftNums = totalNums;
setColor(0);
ifCooling = false;
shooterSprite.removeEventListener(Event.ENTER_FRAME, energyBack);
};
};
}
override protected function mouseUp(_arg1:MouseEvent):void{
var evt = _arg1;
if (!pause){
if (!ifCooling){
areaLock();
if (curLockedShip != null){
try {
addMissile();
} catch(err:Error) {
};
};
};
};
}
override public function deleteMe():void{
shooterSprite.removeEventListener(Event.ENTER_FRAME, energyBack);
super.deleteMe();
}
function manualLock(_arg1:String):void{
var _local2:Ship;
if (Number(_arg1) >= 0){
_local2 = Enemy.addedShips[Number(_arg1)];
if (curLockedShip != _local2){
curLockedShip = _local2;
curLockedShip._mc.addChild(lockedTxtMc);
} else {
if (curLockedShip != null){
addMissile();
};
};
} else {
if (curLockedShip != null){
addMissile();
} else {
addTipsTxtMc();
};
};
}
private function addTipsTxtMc():void{
var _local1:Class;
var _local2:TextField;
if (tipsTxtMc == null){
_local1 = (getDefinitionByName("freezeTimeMc") as Class);
tipsTxtMc = new (_local1);
tipsTxtMc.x = 300;
tipsTxtMc.y = 430;
_local2 = (tipsTxtMc.getChildByName("freezeTimeTxt") as TextField);
_local2.autoSize = "center";
_local2.selectable = false;
_local2.text = "先单击船只锁定!";
War.screen.addChild(tipsTxtMc);
};
}
private function addMissile():void{
var _local1:Number;
var _local2:Number;
var _local3:Point;
var _local4:TurretMissile;
if (((curLockedShip.getState) && ((curLeftNums > 0)))){
shots++;
_local1 = ((Math.random() * 20) + 60);
fskPoint;
_local2 = Math.random();
_local3 = ((_local2 > 0.5)) ? fskPoint : fskPoint1;
if (_local2 > 0.5){
fskEffectMc.gotoAndPlay(1);
} else {
fskEffectMc1.gotoAndPlay(1);
};
tempTerminatePoint = Point.polar(_local1, angle);
tempTerminatePoint = _local3.add(tempTerminatePoint);
_local4 = new TurretMissile(this, _local3, tempTerminatePoint, curLockedShip);
_local4._mc.addEventListener("hit", hitCount, false, 0, true);
missiles.push(_local4);
curLeftNums--;
if (curLeftNums <= 0){
ifCooling = true;
setColor(0.2);
shooterSprite.addEventListener(Event.ENTER_FRAME, energyBack, false, 0, true);
};
secWeaponEnergy.goto(((101 / totalNums) * curLeftNums));
if (tipsTxtMc != null){
if (tipsTxtMc.parent != null){
tipsTxtMc.parent.removeChild(tipsTxtMc);
tipsTxtMc = null;
};
};
};
}
private function areaLock():void{
var _local1:int;
var _local2:Array;
var _local3:*;
var _local4:int;
var _local5:int;
_local1 = MathTool.radianToAngle(angle);
_local2 = new Array();
for (_local3 in Enemy.addedShips) {
if (Enemy.addedShips[_local3].canBeShoot){
_local4 = MathTool.calculateAngle(Data.turretLoc, Enemy.addedShips[_local3].curPoint);
_local5 = Math.abs((_local4 - _local1));
if ((((_local5 < 30)) || ((_local5 > 330)))){
_local2.push(Enemy.addedShips[_local3]);
};
};
};
if (_local2.length > 0){
autoLockTheShip(_local2);
} else {
curLockedShip = null;
};
}
}
}//package Code.Player.Turret
Section 89
//TurretSecondaryWeapon (Code.Player.Turret.TurretSecondaryWeapon)
package Code.Player.Turret {
import Code.*;
import flash.display.*;
import flash.events.*;
import Code.Game.*;
import flash.geom.*;
import Code.Weapon.*;
import Code.Data.*;
import flash.utils.*;
public class TurretSecondaryWeapon extends AbstractShooter {
protected var ifCooling:Boolean;
protected var secWeaponEnergy:WeaponRange;
var turret:Turret;
protected var warScreen:Sprite;
protected var fskSprite1:Sprite;
protected var fskPoint1:Point;
public static var hits:Number;
public static var shots:Number;
public function TurretSecondaryWeapon(_arg1:Turret){
super(_arg1.turretSprite);
turret = _arg1;
warScreen = War.warScreen;
pause = false;
addWeaponEnergy(_arg1.turretSprite);
addEvent();
}
private function addWeaponEnergy(_arg1:Sprite):void{
secWeaponEnergy = new WeaponRange(_arg1, this, "secWeaponEnergy");
secWeaponEnergy._mc.gotoAndStop(101);
}
protected function mouseDownFun():void{
}
protected function mouseUp(_arg1:MouseEvent):void{
if (!pause){
mouseUpFun();
};
}
protected function setColor(_arg1:Number, _arg2:Sprite=null):void{
if (_arg2 == null){
_arg2 = shooterSprite;
};
MathTool.setColor(_arg1, _arg2);
}
override public function deleteMe():void{
var _local1:*;
warScreen.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
warScreen.removeEventListener(MouseEvent.MOUSE_UP, mouseUp);
for (_local1 in missiles) {
if (missiles[_local1]._mc != null){
missiles[_local1]._mc.removeEventListener("hit", hitCount);
};
};
super.deleteMe();
}
override public function getGlobalFskPoint():void{
super.getGlobalFskPoint();
fskPoint1 = shooterSprite.localToGlobal(new Point(fskSprite1.x, fskSprite1.y));
}
override protected function childrenInit(_arg1:String):void{
var _local2:Class;
_local2 = (getDefinitionByName(_arg1) as Class);
shooterSprite = new (_local2);
parent.addChild(shooterSprite);
shooterPoint = shooterSprite.localToGlobal(new Point(shooterSprite.x, shooterSprite.y));
fskSprite = (shooterSprite.getChildByName("fsk") as Sprite);
fskSprite1 = (shooterSprite.getChildByName("fsk1") as Sprite);
}
protected function hitCount(_arg1:Event):void{
hits++;
}
protected function mouseUpFun():void{
}
private function mouseDown(_arg1:MouseEvent):void{
if (!pause){
mouseDownFun();
};
}
override protected function overRideFun():void{
childrenInit(("secondaryMc" + Data.curSecondaryWeapon));
power = Data.secondaryWeaponData[Data.curSecondaryWeapon].power;
range = Data.secondaryWeaponData[Data.curSecondaryWeapon].MaxRange;
speed = Data.secondaryWeaponData[Data.curSecondaryWeapon].speed;
}
protected function addEvent():void{
warScreen.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown, false, 0, true);
warScreen.addEventListener(MouseEvent.MOUSE_UP, mouseUp, false, 0, true);
}
}
}//package Code.Player.Turret
Section 90
//WeaponRange (Code.Player.Turret.WeaponRange)
package Code.Player.Turret {
import flash.display.*;
import flash.events.*;
import Code.Weapon.*;
public class WeaponRange {
public var cur:Number;
private var back:int;
public var _mc:MovieClip;
private var speed:Number;
private var cannon:AbstractShooter;
public function WeaponRange(_arg1:Sprite, _arg2:AbstractShooter, _arg3:String){
this.cannon = _arg2;
_mc = (_arg1.getChildByName(_arg3) as MovieClip);
_mc.stop();
cur = 1;
speed = 1;
}
function goto(_arg1:int, _arg2:Boolean=false):void{
_mc.gotoAndStop(int(_arg1));
if (!_arg2){
cur = _arg1;
};
}
public function modify(_arg1:int):void{
if (_arg1 > 0){
speed = _arg1;
} else {
speed = (-(cur) / 70);
};
_mc.addEventListener(Event.ENTER_FRAME, enterFrame, false, 0, true);
back = 0;
}
function deleteMe():void{
_mc.removeEventListener(Event.ENTER_FRAME, enterFrame);
}
private function enterFrame(_arg1:Event):void{
var _local2:MovieClip;
if (!cannon.getPause){
cur = (cur + speed);
if ((((cur > 101)) || ((cur < 1)))){
_mc.removeEventListener(Event.ENTER_FRAME, enterFrame);
if (cur > 101){
cur = 101;
};
if (cur < 1){
cur = 1;
};
};
goto(cur, true);
if (speed < 0){
if (back < 5){
back++;
};
if (back == 4){
_local2 = (cannon.shooterSprite as MovieClip);
_local2.gotoAndStop(_local2.totalFrames);
};
if (cur == 1){
_mc.dispatchEvent(new Event("coolingOver"));
};
};
};
}
}
}//package Code.Player.Turret
Section 91
//Player (Code.Player.Player)
package Code.Player {
import Code.*;
import flash.display.*;
import flash.events.*;
import Code.Game.*;
import flash.geom.*;
import Code.Enemy.*;
import Code.Player.Turret.*;
import Code.Data.*;
import flash.text.*;
import flash.utils.*;
public class Player {
private var freezeTime:Number;
private var freezeMc:MovieClip;
private var freezesTxt:TextField;
private var planes:int;
private var shields:int;
private var shieldBtn:SimpleButton;
private var havePress:Boolean;
private var freezes:int;
private var freezeBtn:SimpleButton;
private var lifeBtn:SimpleButton;
private var freezeTimeTxt:TextField;
private var lifeTxt:TextField;
private var intervalId:int;
private var planesTxt:TextField;
private var planeBtn:SimpleButton;
private var freezeShips:Array;
private var shieldsTxt:TextField;
private var pause:Boolean;
private var lifes:int;
public static var turrets:Array;
private static var levelTxt:TextField;
private static var moneyTxt:TextField;
public static var playerPlanes:Array;
private static var scoreTxt:TextField;
public function Player(_arg1:War){
childrenInit();
addTurret(_arg1);
valueInit();
TurretPrimaryWeapon.shots = 0;
TurretPrimaryWeapon.hits = 0;
TurretSecondaryWeapon.shots = 0;
TurretSecondaryWeapon.hits = 0;
UI._stage.addEventListener(KeyboardEvent.KEY_DOWN, keyboardFun, false, 0, true);
UI._stage.addEventListener(KeyboardEvent.KEY_UP, keyboardUpFun, false, 0, true);
}
private function getFreezeMc():void{
if (freezeMc == null){
freezeMc = new ((getDefinitionByName("freeze_mc") as Class));
freezeMc.cacheAsBitmap = true;
freezeMc.x = Data.turretLoc.x;
freezeMc.y = Data.turretLoc.y;
War.warScreen.addChild(freezeMc);
} else {
freezeMc.visible = true;
freezeMc.gotoAndPlay(1);
};
}
private function getNewLife():void{
var _local1:Boolean;
var _local2:*;
if (lifes > 0){
for (_local2 in turrets) {
_local1 = turrets[_local2].restore();
};
if (_local1){
lifes--;
};
};
}
private function setFreeze():void{
var _local1:*;
var _local2:Point;
if (freezes > 0){
getFreezeMc();
freezeShips = Enemy.addedShips.concat();
for (_local1 in freezeShips) {
if (freezeShips[_local1].getState){
_local2 = freezeShips[_local1].curPoint;
if ((((_local2.x > -10)) && ((_local2.x < 610)))){
if ((((_local2.y > -10)) && ((_local2.y < 460)))){
freezeShips[_local1].setFreeze(true);
};
};
};
};
freezeTime = (freezeTime + 20);
clearInterval(intervalId);
intervalId = setInterval(freezeFun, 500);
SoundsManager.playSound("magnet_s");
freezes--;
};
}
private function getPlanes():void{
var _local1:Array;
if (planes > 0){
_local1 = GetPlane.getPlane(Enemy.addedShips);
if (_local1 != null){
playerPlanes.push(new PlayerPlane(_local1, String(playerPlanes.length), 0));
planes--;
};
};
}
private function keyboardFun(_arg1:KeyboardEvent):void{
if (((!(pause)) && (!(havePress)))){
switch (_arg1.charCode){
case 49:
getPlanes();
txtRefresh();
break;
case 50:
setShield();
txtRefresh();
break;
case 51:
setFreeze();
txtRefresh();
break;
case 52:
getNewLife();
txtRefresh();
};
havePress = true;
};
}
private function valueInit():void{
planes = Data.specialWeapons["planes"].num;
freezes = Data.specialWeapons["freezes"].num;
shields = Data.specialWeapons["shields"].num;
lifes = Data.specialWeapons["lifes"].num;
freezeTimeTxt.text = "";
freezeTime = 0;
pause = false;
playerPlanes = new Array();
txtRefresh();
}
public function deleteMe():void{
var _local1:*;
clearInterval(intervalId);
UI._stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyboardFun);
UI._stage.removeEventListener(KeyboardEvent.KEY_UP, keyboardUpFun);
for (_local1 in turrets) {
turrets[_local1].deleteMe();
};
turrets = [];
for (_local1 in playerPlanes) {
playerPlanes[_local1].deleteMe();
};
playerPlanes = [];
}
public function setPause(_arg1:Boolean):void{
var _local2:*;
pause = _arg1;
for (_local2 in turrets) {
turrets[_local2].setPause(_arg1);
};
}
private function childrenInit():void{
var _local1:Sprite;
_local1 = (War.screen.getChildByName("warHandle") as Sprite);
_local1.addEventListener(MouseEvent.CLICK, handleFun, false, 0, true);
planeBtn = (_local1.getChildByName("planeBtn") as SimpleButton);
freezeBtn = (_local1.getChildByName("freezeBtn") as SimpleButton);
shieldBtn = (_local1.getChildByName("shieldBtn") as SimpleButton);
lifeBtn = (_local1.getChildByName("lifeBtn") as SimpleButton);
planesTxt = (_local1.getChildByName("planesTxt") as TextField);
freezesTxt = (_local1.getChildByName("freezesTxt") as TextField);
shieldsTxt = (_local1.getChildByName("shieldsTxt") as TextField);
lifeTxt = (_local1.getChildByName("lifeTxt") as TextField);
planesTxt.selectable = false;
planesTxt.mouseEnabled = false;
freezesTxt.selectable = false;
freezesTxt.mouseEnabled = false;
shieldsTxt.selectable = false;
shieldsTxt.mouseEnabled = false;
lifeTxt.selectable = false;
lifeTxt.mouseEnabled = false;
freezeTimeTxt = (_local1.getChildByName("freezeTimeTxt") as TextField);
freezeTimeTxt.selectable = false;
freezeTimeTxt.mouseEnabled = false;
scoreTxt = (_local1.getChildByName("scoreTxt") as TextField);
moneyTxt = (_local1.getChildByName("moneyTxt") as TextField);
levelTxt = (_local1.getChildByName("levelTxt") as TextField);
scoreTxt.selectable = false;
scoreTxt.text = String(Data.score);
moneyTxt.selectable = false;
moneyTxt.text = String(Data.curMoney);
levelTxt.selectable = false;
levelTxt.text = String((Data.curLevel + 1));
}
private function handleFun(_arg1:MouseEvent):void{
switch (_arg1.target){
case shieldBtn:
setShield();
break;
case freezeBtn:
setFreeze();
break;
case planeBtn:
getPlanes();
break;
case lifeBtn:
getNewLife();
};
txtRefresh();
}
private function keyboardUpFun(_arg1:KeyboardEvent):void{
havePress = false;
}
private function txtRefresh():void{
Data.specialWeapons["planes"].num = planes;
Data.specialWeapons["freezes"].num = freezes;
Data.specialWeapons["shields"].num = shields;
Data.specialWeapons["lifes"].num = lifes;
planesTxt.text = String(planes);
freezesTxt.text = String(freezes);
shieldsTxt.text = String(shields);
lifeTxt.text = String(lifes);
}
private function freezeFun():void{
if (!pause){
freezeTimeTxt.text = String(int(freezeTime));
freezeTime = (freezeTime - 0.5);
if (freezeTime < 0){
freezeTime = 0;
freezeTimeTxt.text = "";
clearInterval(intervalId);
};
};
}
private function setShield():void{
var _local1:*;
if (shields > 0){
for (_local1 in turrets) {
turrets[_local1].setShield();
};
SoundsManager.playSound("get_shield_s");
shields--;
};
}
private function addTurret(_arg1:War):void{
turrets = new Array();
turrets.push(new Turret(_arg1, Data.turretLoc.x, Data.turretLoc.y));
}
static function planesReturn(_arg1:String, _arg2:int):void{
var _local3:Array;
_local3 = GetPlane.getPlane(Enemy.addedShips);
if (_local3 != null){
playerPlanes.push(new PlayerPlane(_local3, _arg1, _arg2));
};
}
public static function alterScore(_arg1:int):void{
Data.levelScore = (Data.levelScore + _arg1);
Data.levelMoney = (Data.levelMoney + _arg1);
Data.score = (Data.score + _arg1);
Data.curMoney = (Data.curMoney + _arg1);
scoreTxt.text = String(Data.score);
moneyTxt.text = String(Data.curMoney);
}
}
}//package Code.Player
import flash.geom.*;
class GetPlane {
private function GetPlane(){
}
private static function getPlane(_arg1:Array):Array{
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:Array;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:int;
var _local11:int;
var _local12:int;
var _local13:int;
var _local14:int;
var _local15:*;
_local2 = _arg1.concat();
_local3 = 0;
while (_local3 < _local2.length) {
if (((!(_local2[_local3].getState)) || (!((((((((_local2[_local3]._mc.x >= -20)) && ((_local2[_local3]._mc.x <= 620)))) && ((_local2[_local3]._mc.y >= -20)))) && ((_local2[_local3]._mc.y <= 470))))))){
_local2.splice(_local3, 1);
_local3--;
};
_local3++;
};
_local4 = _local2.length;
if (_local4 == 0){
return (_local5);
};
_local6 = int((Math.random() * _local4));
_local7 = _local2[_local6]._mc.x;
_local8 = _local2[_local6]._mc.y;
_local5 = new Array(_local2[_local6]);
_local9 = 200;
_local10 = 800;
if (_local4 == 1){
_local5.push(new Point(_local10, int((Math.random() * 900))));
return (_local5);
};
if (_local4 >= 2){
do {
_local15 = int((Math.random() * _local4));
} while (_local6 == _local15);
_local11 = _local2[_local15]._mc.x;
_local12 = _local2[_local15]._mc.y;
_local5.push(_local2[_local15]);
_local13 = (((((_local8 - _local12) / (_local7 - _local11)) * -(_local9)) + _local8) - (((_local8 - _local12) / (_local7 - _local11)) * _local7));
if ((((_local13 >= -(_local9))) && ((_local13 <= _local10)))){
_local5.push(new Point(-(_local9), _local13));
return (_local5);
};
_local14 = ((-(_local9) - (((_local8 - _local12) / (_local7 - _local11)) * _local7)) / ((_local8 - _local12) / (_local7 - _local11)));
if ((((_local14 >= -(_local9))) && ((_local14 <= _local10)))){
_local5.push(new Point(_local14, -(_local9)));
return (_local5);
};
_local13 = (((((_local8 - _local12) / (_local7 - _local11)) * _local10) + _local8) - (((_local8 - _local12) / (_local7 - _local11)) * _local7));
if ((((_local13 >= -(_local9))) && ((_local13 <= _local10)))){
_local5.push(new Point(_local10, _local13));
return (_local5);
};
_local14 = ((_local10 - (((_local8 - _local12) / (_local7 - _local11)) * _local7)) / ((_local8 - _local12) / (_local7 - _local11)));
if ((((_local14 >= -(_local9))) && ((_local14 <= _local10)))){
_local5.push(new Point(_local14, _local10));
return (_local5);
};
_local5.push(new Point(_local10, int((Math.random() * 900))));
return (_local5);
};
return (new Array());
}
}
Section 92
//PlayerPlane (Code.Player.PlayerPlane)
package Code.Player {
import flash.events.*;
import Code.Game.*;
import flash.geom.*;
import Code.Enemy.*;
import Code.Weapon.*;
import flash.utils.*;
public class PlayerPlane extends AirCraft {
private var shipNums:int;
private var attackNums:int;
private var attackTotalNums:int;// = 2
private var ships:Array;
private var canSwerve:Boolean;
public function PlayerPlane(_arg1:Array, _arg2:String, _arg3:int){
attackTotalNums = 2;
super(_arg1[(_arg1.length - 1)], _arg1[0].curPoint);
getShips(_arg1);
this.name = _arg2;
this.attackNums = _arg3;
_arg3 = 0;
canSwerve = true;
weapon = new PlaneWeapon(this, PlayerPlaneMissile);
bounda = -300;
boundb = 900;
War.screen.addEventListener(("playerPlaneAttack" + _arg2), attacked, false, 0, true);
}
private function getShips(_arg1:Array):void{
var _local2:int;
_arg1.splice((_arg1.length - 1), 1);
shipNums = _arg1.length;
ships = new Array();
_local2 = 0;
while (_local2 < shipNums) {
ships[_local2] = new Object();
ships[_local2].ship = _arg1[_local2];
ships[_local2].loc = new Point(_arg1[_local2]._mc.x, _arg1[_local2]._mc.y);
ships[_local2].dis = Point.distance(ships[_local2].loc, initLoc);
_local2++;
};
ships.sortOn("dis");
}
private function getReturn():void{
if ((((((((curLoc.x <= bounda)) || ((curLoc.x >= boundb)))) || ((curLoc.y <= bounda)))) || ((curLoc.y >= boundb)))){
if (attackNums < attackTotalNums){
Player.planesReturn(name, attackNums);
};
deleteMe();
};
}
private function attack():void{
var _local1:int;
var _local2:Number;
_local1 = 0;
while (_local1 < Enemy.addedShips.length) {
if (Enemy.addedShips[_local1].getState){
_local2 = Point.distance(Enemy.addedShips[_local1].curPoint, curLoc);
if (_local2 <= 50){
if (attackNums < attackTotalNums){
if (Enemy.addedShips[_local1].disToTurret > 50){
if (Math.random() > ((1 / speed) * 4)){
throwBomb();
};
};
};
if (canSwerve){
if (ships[(shipNums - 1)].ship == Enemy.addedShips[_local1]){
canSwerve = false;
};
};
};
};
_local1++;
};
if (((canSwerve) && (ships[(shipNums - 1)].ship.getState))){
calculate(curLoc, ships[(shipNums - 1)].ship.curPoint);
};
getReturn();
}
override protected function overRideFun():void{
powerValue = 10000;
speed = 14;
AirCraftClass = (getDefinitionByName("AirCraft1") as Class);
}
override protected function enterFrame(_arg1:Event):void{
super.enterFrame(_arg1);
if (state == 1){
attack();
};
}
private function attacked(_arg1:Event):void{
attackNums++;
}
}
}//package Code.Player
Section 93
//PlayerPlaneMissile (Code.Player.PlayerPlaneMissile)
package Code.Player {
import flash.events.*;
import flash.geom.*;
import Code.Enemy.*;
import Code.Weapon.*;
public class PlayerPlaneMissile extends PlaneMissile {
public function PlayerPlaneMissile(_arg1:PlaneWeapon, _arg2:Point, _arg3:int, _arg4:int=200){
super(_arg1, _arg2, _arg3, _arg4);
}
override protected function hitTestFun():void{
var _local1:*;
for (_local1 in Enemy.addedShips) {
if (Enemy.addedShips[_local1].canBeShoot){
if (bombHitTestMc != null){
if (bombHitTestMc.hitTestObject(Enemy.addedShips[_local1].shipmc)){
if (Enemy.addedShips[_local1].beAttacked(-(powerValue))){
bombHitTestMc.dispatchEvent(new Event(("playerPlaneAttack" + planeWeapon.plane.name), true));
};
bombHitTestMc = null;
};
};
};
};
}
}
}//package Code.Player
Section 94
//AbstractBullet (Code.Weapon.AbstractBullet)
package Code.Weapon {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import Code.Player.Turret.*;
public class AbstractBullet extends AbstractMissile {
private var canTestNum:int;
public function AbstractBullet(_arg1:TurretSecondaryWeapon, _arg2:Point){
super(_arg1, _arg2);
}
private function checkTest():void{
if (canTestNum >= 2){
hitTestFun();
} else {
canTestNum++;
};
}
override protected function enterFrameFun(_arg1:Event):void{
super.enterFrameFun(_arg1);
if (!pause){
checkTest();
};
}
override protected function explode():void{
var _local1:MovieClip;
_local1 = new bombEffectClass();
_local1.x = curPoint.x;
_local1.y = curPoint.y;
_mc.parent.addChild(_local1);
}
override protected function overRideFun():void{
super.overRideFun();
}
}
}//package Code.Weapon
Section 95
//AbstractMissile (Code.Weapon.AbstractMissile)
package Code.Weapon {
import Code.*;
import flash.display.*;
import flash.events.*;
import Code.Game.*;
import flash.geom.*;
import flash.utils.*;
public class AbstractMissile {
protected var power:int;
protected var speedPoint:Point;
protected var shooter:AbstractShooter;
protected var frySoundName:String;
protected var fireSoundName:String;
protected var frySoundInt:int;// = -1
protected var curPoint:Point;
protected var fireSoundInt:int;// = -1
protected var bombSoundName:String;
private var thismc:MovieClip;
protected var range:int;
protected var speed:int;
protected var curRange:int;
protected var bombEffectClass:Class;
protected var fskPoint:Point;
protected var terminalPoint:Point;
protected var pause:Boolean;
public function AbstractMissile(_arg1:AbstractShooter, _arg2:Point){
fireSoundInt = -1;
frySoundInt = -1;
super();
shooter = _arg1;
terminalPoint = _arg2;
fskPoint = _arg1.fskPoint;
power = 100;
range = 200;
speed = 5;
pause = false;
overRideFun();
setBombEffectClass = "bombEffect0";
}
protected function fireSound():void{
if (fireSoundName != null){
fireSoundInt = SoundsManager.playSound(fireSoundName, false);
};
if (frySoundName != null){
frySoundInt = SoundsManager.playSound(frySoundName, false);
};
}
protected function hitTestFun():void{
}
public function deleteMe():void{
if (thismc != null){
thismc.removeEventListener("enterFrame", enterFrameFun);
if (thismc.parent != null){
thismc.parent.removeChild(thismc);
};
thismc = null;
};
}
protected function arriveRange():void{
deleteMe();
}
protected function delFireSound():void{
if (fireSoundInt >= 0){
SoundsManager.stopSound(fireSoundName, fireSoundInt);
};
if (frySoundInt >= 0){
SoundsManager.stopSound(frySoundName, frySoundInt);
};
playBombSound();
}
public function setPause(_arg1:Boolean):void{
pause = _arg1;
}
public function get _mc():MovieClip{
return (thismc);
}
protected function playBombSound():void{
if (bombSoundName != null){
SoundsManager.playSound(bombSoundName, false);
};
}
protected function calculateSpeedXY():void{
speedPoint = MathTool.calculateSpeedByRadian(shooter.angle, speed);
}
protected function set setBombEffectClass(_arg1:String):void{
bombEffectClass = (getDefinitionByName(_arg1) as Class);
}
protected function enterFrameFun(_arg1:Event):void{
if (!pause){
curPoint.x = (curPoint.x + speedPoint.x);
curPoint.y = (curPoint.y + speedPoint.y);
thismc.x = curPoint.x;
thismc.y = curPoint.y;
curRange = Math.round(Point.distance(fskPoint, curPoint));
if (curRange >= range){
arriveRange();
};
};
}
protected function explode():void{
}
protected function addNewMissile(_arg1:String):void{
var _local2:Class;
var _local3:Number;
fireSound();
_local2 = (getDefinitionByName(_arg1) as Class);
thismc = new (_local2);
thismc.x = fskPoint.x;
thismc.y = fskPoint.y;
curPoint = new Point(thismc.x, thismc.y);
_local3 = ((shooter.angle * 180) / Math.PI);
thismc["mc"].rotation = _local3;
thismc["smc"].rotation = _local3;
War.warScreen.addChild(thismc);
calculateSpeedXY();
addEvent();
}
protected function overRideFun():void{
}
private function addEvent():void{
thismc.addEventListener("enterFrame", enterFrameFun, false, 0, true);
}
}
}//package Code.Weapon
Section 96
//AbstractRocket (Code.Weapon.AbstractRocket)
package Code.Weapon {
import flash.display.*;
import flash.geom.*;
public class AbstractRocket extends AbstractMissile {
protected var bombHitTestMc:Sprite;
public function AbstractRocket(_arg1:AbstractShooter, _arg2:Point){
super(_arg1, _arg2);
}
protected function testHitTarget():Boolean{
return (true);
}
override protected function arriveRange():void{
testHitTarget();
delFireSound();
explode();
deleteMe();
}
override protected function explode():void{
var _local1:MovieClip;
if (bombHitTestMc == null){
_local1 = new bombEffectClass();
_local1.x = curPoint.x;
_local1.y = curPoint.y;
_mc.parent.addChild(_local1);
_local1.addFrameScript(int((_local1.totalFrames / 2)), hitTestFun);
bombHitTestMc = (_local1.getChildByName("hitTestMc") as Sprite);
};
}
override protected function overRideFun():void{
super.overRideFun();
fireSoundName = "rocket_fire_s";
frySoundName = "bomb_fry_s";
bombSoundName = "bomb_hit_s";
}
}
}//package Code.Weapon
Section 97
//AbstractRocketScale (Code.Weapon.AbstractRocketScale)
package Code.Weapon {
import flash.events.*;
import flash.geom.*;
public class AbstractRocketScale extends AbstractRocket {
private var per:Number;
private var firstduan:Boolean;
private var curScale:Number;
public function AbstractRocketScale(_arg1:AbstractShooter, _arg2:Point){
super(_arg1, _arg2);
}
private function calculateScale():void{
firstduan = true;
curScale = 0.2;
per = (((1 - curScale) / (range / speed)) * 2);
}
override protected function enterFrameFun(_arg1:Event):void{
if (!pause){
alterScale();
};
super.enterFrameFun(_arg1);
}
private function alterScale():void{
if (firstduan){
if (curScale >= 1){
per = (per * -1);
firstduan = false;
};
};
curScale = (curScale + per);
if (curScale < 0){
curScale = 0;
} else {
if (curScale > 1){
curScale = 1;
};
};
_mc.scaleX = curScale;
_mc.scaleY = curScale;
}
override protected function addNewMissile(_arg1:String):void{
super.addNewMissile(_arg1);
calculateScale();
alterScale();
}
}
}//package Code.Weapon
Section 98
//AbstractShooter (Code.Weapon.AbstractShooter)
package Code.Weapon {
import Code.*;
import flash.display.*;
import flash.geom.*;
public class AbstractShooter {
protected var missiles:Array;
protected var shotNums:int;
private var fskP:Point;
private var angleValue:Number;
protected var fskSprite:Sprite;
protected var parent:Sprite;
private var powerValue:int;
private var curPoint:Point;
protected var aimedNums:int;
private var thismc:Sprite;
protected var pause:Boolean;
private var speedValue:int;
private var rangeValue:int;
public function AbstractShooter(_arg1:Sprite){
this.parent = _arg1;
variableInit();
overRideFun();
}
public function get getPause():Boolean{
return (pause);
}
protected function overRideFun():void{
}
public function setPause(_arg1:Boolean):void{
pause = _arg1;
}
private function variableInit():void{
pause = false;
shotNums = 0;
aimedNums = 0;
range = 200;
power = 100;
speed = 8;
angleValue = 0;
missiles = new Array();
}
public function get power():int{
return (powerValue);
}
public function set shooterPoint(_arg1:Point):void{
curPoint = _arg1;
}
public function set range(_arg1:int):void{
rangeValue = _arg1;
}
public function set power(_arg1:int):void{
powerValue = _arg1;
}
public function get range():int{
return (rangeValue);
}
public function deleteMe():void{
if (thismc != null){
if (thismc.parent != null){
thismc.parent.removeChild(thismc);
};
thismc = null;
};
}
public function get shooterPoint():Point{
return (curPoint);
}
public function get angle():Number{
return (angleValue);
}
public function get speed():int{
return (speedValue);
}
public function set speed(_arg1:int):void{
speedValue = _arg1;
}
public function addNewMissile():void{
}
public function set shooterSprite(_arg1:Sprite):void{
thismc = _arg1;
}
public function getGlobalFskPoint():void{
try {
fskP = thismc.localToGlobal(new Point(fskSprite.x, fskSprite.y));
} catch(err:Error) {
};
}
public function get fskPoint():Point{
getGlobalFskPoint();
return (fskP);
}
public function get shooterSprite():Sprite{
return (thismc);
}
public function modifyWeaponAngle(_arg1:Point):void{
var _local2:int;
_local2 = MathTool.calculateAngle(curPoint, _arg1);
thismc.rotation = _local2;
angleValue = ((_local2 * Math.PI) / 180);
}
protected function childrenInit(_arg1:String):void{
thismc = (parent.getChildByName(_arg1) as Sprite);
curPoint = thismc.localToGlobal(new Point(thismc.x, thismc.y));
fskSprite = (thismc.getChildByName("fsk") as Sprite);
}
}
}//package Code.Weapon
Section 99
//AirCraft (Code.Weapon.AirCraft)
package Code.Weapon {
import Code.*;
import flash.display.*;
import flash.events.*;
import Code.Game.*;
import flash.geom.*;
public class AirCraft {
protected var AirCraftClass:Class;
private var power:int;
protected var initLoc:Point;
protected var state:int;
private var planeMc:Sprite;
private var planeName:String;
private var lastState:int;
protected var weapon:AbstractShooter;
protected var bounda:int;
protected var boundb:int;
protected var targetScale:int;
protected var speed:int;
private var flySound:int;
protected var curLoc:Point;
protected var planeScreen:Sprite;
protected var curSpeedx:Number;
protected var curSpeedy:Number;
protected var planemc:Sprite;
public function AirCraft(_arg1:Point, _arg2:Point){
planeScreen = War.planeScreen;
this.initLoc = _arg1;
curLoc = _arg1;
variableInit();
overRideFun();
addAirCraft();
calculate(_arg1, _arg2);
addEvent();
flySound = SoundsManager.playSound("fly_s", false, int.MAX_VALUE);
}
private function addEvent():void{
planeMc.addEventListener(Event.ENTER_FRAME, enterFrame, false, 0, true);
}
public function get name():String{
return (planeName);
}
public function set name(_arg1:String):void{
planeName = _arg1;
}
protected function throwBomb():void{
weapon.getGlobalFskPoint();
weapon.addNewMissile();
}
public function deleteMe():void{
if (state){
state = 0;
SoundsManager.stopSound("fly_s", flySound);
weapon.deleteMe();
if (planeMc.parent != null){
planeMc.parent.removeChild(planeMc);
};
planeMc.removeEventListener(Event.ENTER_FRAME, enterFrame);
};
}
private function variableInit():void{
state = 1;
curSpeedx = 0;
curSpeedy = 0;
speed = 10;
targetScale = 4;
powerValue = 50;
}
public function setPause(_arg1:Boolean):void{
if (_arg1){
lastState = state;
state = 2;
} else {
state = lastState;
};
weapon.setPause(_arg1);
}
public function get _mc():Sprite{
return (planeMc);
}
private function addAirCraft():void{
planeMc = new AirCraftClass();
planeMc.x = initLoc.x;
planeMc.y = initLoc.y;
planeScreen.addChild(planeMc);
planemc = (planeMc.getChildByName("planemc") as Sprite);
}
public function set powerValue(_arg1:int):void{
power = _arg1;
}
protected function calculate(_arg1:Point, _arg2:Point):void{
var _local3:Point;
var _local4:Number;
_local3 = MathTool.caculateSpeed(_arg1, _arg2, speed);
curSpeedx = _local3.x;
curSpeedy = _local3.y;
_local4 = MathTool.calculateAngle(_arg1, _arg2);
planemc.rotation = _local4;
planeMc["smc"].rotation = _local4;
}
public function get powerValue():int{
return (power);
}
protected function overRideFun():void{
}
protected function enterFrame(_arg1:Event):void{
if (state == 1){
curLoc.x = (curLoc.x + curSpeedx);
curLoc.y = (curLoc.y + curSpeedy);
planeMc.x = curLoc.x;
planeMc.y = curLoc.y;
};
}
}
}//package Code.Weapon
Section 100
//Health (Code.Weapon.Health)
package Code.Weapon {
import flash.display.*;
import flash.events.*;
public class Health {
private var val:int;
private var total:int;
private var mc:MovieClip;
public function Health(_arg1:MovieClip, _arg2:int, _arg3:int){
this.mc = _arg1;
this.total = _arg3;
this.val = _arg2;
modify(0);
}
public function get value():int{
return (val);
}
public function modify(_arg1:int):void{
if (mc != null){
val = (val + _arg1);
if (val > total){
val = total;
};
mc.gotoAndStop((Math.ceil(((val / total) * 100)) + 1));
if (val <= 0){
mc.dispatchEvent(new Event("die", true));
mc = null;
};
};
}
public function get getMc():MovieClip{
return (mc);
}
}
}//package Code.Weapon
Section 101
//PlaneMissile (Code.Weapon.PlaneMissile)
package Code.Weapon {
import flash.events.*;
import flash.geom.*;
import Code.Player.*;
public class PlaneMissile extends AbstractRocket {
protected var planeWeapon:PlaneWeapon;
protected var powerValue:int;
public function PlaneMissile(_arg1:PlaneWeapon, _arg2:Point, _arg3:int, _arg4:int=200){
super(_arg1, _arg2);
this.planeWeapon = _arg1;
this.range = _arg4;
powerValue = _arg1.plane.powerValue;
addNewMissile("Torpedo0");
_mc.rotation = ((_arg3 + 20) + int(((Math.random() - 0.5) * 30)));
}
override protected function overRideFun():void{
super.overRideFun();
fireSoundName = null;
frySoundName = "bomb_down_s";
speed = 8;
}
override protected function hitTestFun():void{
var _local1:*;
if (bombHitTestMc != null){
for (_local1 in Player.turrets) {
if (bombHitTestMc.hitTestObject(Player.turrets[_local1].turretSprite)){
Player.turrets[_local1].beAttacked(-(powerValue));
bombHitTestMc = null;
};
};
};
}
override protected function enterFrameFun(_arg1:Event):void{
if (!pause){
_mc.scaleX = (_mc.scaleX - 0.03);
_mc.scaleY = (_mc.scaleY - 0.03);
if (_mc.scaleX < 0.1){
arriveRange();
};
};
}
}
}//package Code.Weapon
Section 102
//PlaneWeapon (Code.Weapon.PlaneWeapon)
package Code.Weapon {
import flash.geom.*;
public class PlaneWeapon extends AbstractShooter {
public var plane:AirCraft;
private var missileClass:Class;
public function PlaneWeapon(_arg1:AirCraft, _arg2:Class){
super(_arg1._mc);
plane = _arg1;
missileClass = _arg2;
}
override public function addNewMissile():void{
var _local1:Point;
_local1 = new Point(shooterSprite.stage.mouseX, shooterSprite.stage.mouseY);
missiles.push(new missileClass(this, _local1, plane._mc.rotation, range));
}
override protected function overRideFun():void{
childrenInit("planemc");
}
}
}//package Code.Weapon
Section 103
//Brand (Code.Brand)
package Code {
import flash.display.*;
public class Brand extends MovieClip {
public var hitAreaMc:MovieClip;
public function Brand(){
this.gotoAndStop(Language.branding_nr);
this["hitAreaMc"].width = (this.width + 5);
this.buttonMode = true;
this.mouseChildren = false;
}
}
}//package Code
Section 104
//FpsCounter (Code.FpsCounter)
package Code {
import flash.display.*;
import flash.text.*;
import flash.utils.*;
import flash.system.*;
public class FpsCounter extends Sprite {
private var oldT:uint;
private var mfpsCount:int;// = 0
private var avgCount:int;// = 30
private var avgCount2:int;// = 30
private var textBox:TextField;
private var mfpsCount2:int;// = 0
private var textBox3:TextField;
private var textBox4:TextField;
private var textBox2:TextField;
public function FpsCounter(){
mfpsCount = 0;
mfpsCount2 = 0;
avgCount = 30;
avgCount2 = 30;
super();
textBox = new TextField();
textBox.text = "fps average";
textBox.textColor = 11145540;
textBox.selectable = false;
textBox2 = new TextField();
textBox2.text = "fps (physics)";
textBox2.textColor = 11145540;
textBox2.selectable = false;
textBox2.y = 15;
textBox3 = new TextField();
textBox3.text = "memory wasted";
textBox3.textColor = 11145540;
textBox3.selectable = false;
textBox3.y = 30;
textBox4 = new TextField();
textBox4.text = "x: |y: ";
textBox4.textColor = 11145540;
textBox4.selectable = false;
textBox4.y = 45;
oldT = getTimer();
addChild(textBox);
addChild(textBox2);
addChild(textBox3);
addChild(textBox4);
}
public function updateEnd():void{
}
public function updatePhys(_arg1:uint):void{
var _local2:uint;
var _local3:uint;
_local2 = getTimer();
_local3 = (_local2 - _arg1);
mfpsCount2 = (mfpsCount2 + _local3);
if (avgCount2 < 1){
textBox2.text = String((Math.round((1000 / (mfpsCount2 / 30))) + " fps (physics)"));
avgCount2 = 30;
mfpsCount2 = 0;
};
avgCount2--;
}
public function update():void{
var _local1:uint;
var _local2:uint;
_local1 = getTimer();
_local2 = (_local1 - oldT);
mfpsCount = (mfpsCount + _local2);
if (avgCount < 1){
textBox.text = String((Math.round((1000 / (mfpsCount / 30))) + " fps average"));
avgCount = 30;
mfpsCount = 0;
};
avgCount--;
oldT = getTimer();
textBox3.text = (Math.round((System.totalMemory / (0x0400 * 0x0400))) + " MB used");
textBox4.text = (((("x:" + stage.mouseX) + "| ") + "y:") + stage.mouseY);
}
}
}//package Code
Section 105
//Language (Code.Language)
package Code {
import flash.net.*;
public class Language {
public static var SpillGroupUrl:Array = new Array();
public static var localConnection:LocalConnection = new LocalConnection();
public static var _languageBox:Array = new Array();
public static var _languageNum:uint;
public static var hostingdomain:String;
public static function languageInit(_arg1:Object):void{
var returnDomain:Function;
var language1:languageItem;
var language2:languageItem;
var language3:languageItem;
var language4:languageItem;
var language5:languageItem;
var language6:languageItem;
var language7:languageItem;
var language8:languageItem;
var language9:languageItem;
var language10:languageItem;
var language11:languageItem;
var language12:languageItem;
var language13:languageItem;
var language14:languageItem;
var language15:languageItem;
var language16:languageItem;
var language17:languageItem;
var language18:languageItem;
var language19:languageItem;
var myArray:Array;
var domainextention:int;
var domainname:int;
var languageVersion = _arg1;
returnDomain = function (_arg1:String):String{
var _local2:String;
var _local3:uint;
_local2 = new String();
_local3 = 7;
while (_local3 < _arg1.length) {
if (_arg1.charAt(_local3) == "/"){
break;
};
_local2 = (_local2 + _arg1.charAt(_local3));
_local3++;
};
return (_local2);
};
if (localConnection.domain != "localhost"){
myArray = localConnection.domain.split(".");
domainextention = (myArray.length - 1);
domainname = (myArray.length - 2);
hostingdomain = ((myArray[domainname] + ".") + myArray[domainextention]);
} else {
hostingdomain = "localhost";
};
language1 = new languageItem();
language1.url1 = ("http://www.agame.com/moregames/?utm_source=brandedgames_external&utm_medium=Aqua_Turret&utm_campaign=" + hostingdomain);
language1.url2 = "http://www.agame.com/moregames/?utm_source=brandedgames_internal&utm_medium=Aqua_Turret";
language1.language_nr = 1;
language1.branding_nr = 1;
_languageBox.push(language1);
language2 = new languageItem();
language2.url1 = "http://www.game.com.cn/moregames/";
language2.url2 = "http://www.game.com.cn/moregames/";
language2.language_nr = 17;
language2.branding_nr = 2;
_languageBox.push(language2);
language3 = new languageItem();
language3.url1 = ("http://www.spel.nl/moregames/?utm_source=brandedgames_external&utm_medium=Aqua_Turret&utm_campaign=" + hostingdomain);
language3.url2 = "http://www.spel.nl/moregames/?utm_source=brandedgames_internal&utm_medium=Aqua_Turret";
language3.language_nr = 3;
language3.branding_nr = 4;
_languageBox.push(language3);
language4 = new languageItem();
language4.url1 = ("http://www.jeu.fr/moregames/?utm_source=brandedgames_external&utm_medium=Aqua_Turret&utm_campaign=" + hostingdomain);
language4.url2 = "http://www.jeu.fr/moregames/?utm_source=brandedgames_internal&utm_medium=Aqua_Turret";
language4.language_nr = 4;
language4.branding_nr = 5;
_languageBox.push(language4);
language5 = new languageItem();
language5.url1 = ("http://www.spielen.com/moregames/?utm_source=brandedgames_external&utm_medium=Aqua_Turret&utm_campaign=" + hostingdomain);
language5.url2 = "http://www.spielen.com/moregames/?utm_source=brandedgames_internal&utm_medium=Aqua_Turret";
language5.language_nr = 5;
language5.branding_nr = 6;
_languageBox.push(language5);
language6 = new languageItem();
language6.url1 = ("http://www.minigry.pl/moregames/?utm_source=brandedgames_external&utm_medium=Aqua_Turret&utm_campaign=" + hostingdomain);
language6.url2 = "http://www.minigry.pl/moregames/?utm_source=brandedgames_internal&utm_medium=Aqua_Turret";
language6.language_nr = 11;
language6.branding_nr = 14;
_languageBox.push(language6);
language7 = new languageItem();
language7.url1 = ("http://www.spel.eu/moregames/?utm_source=brandedgames_external&utm_medium=Aqua_Turret&utm_campaign=" + hostingdomain);
language7.url2 = "http://www.spel.eu/moregames/?utm_source=brandedgames_internal&utm_medium=Aqua_Turret";
language7.language_nr = 10;
language7.branding_nr = 9;
_languageBox.push(language7);
language8 = new languageItem();
language8.url1 = ("http://www.giocaregratis.it/moregames/?utm_source=brandedgames_external&utm_medium=Aqua_Turret&utm_campaign=" + hostingdomain);
language8.url2 = "http://www.giocaregratis.it/moregames/?utm_source=brandedgames_internal&utm_medium=Aqua_Turret";
language8.language_nr = 9;
language8.branding_nr = 8;
_languageBox.push(language8);
language9 = new languageItem();
language9.url1 = ("http://www.zapjuegos.com/moregames/?utm_source=brandedgames_external&utm_medium=Aqua_Turret&utm_campaign=" + hostingdomain);
language9.url2 = "http://www.zapjuegos.com/moregames/?utm_source=brandedgames_internal&utm_medium=Aqua_Turret";
language9.language_nr = 6;
language9.branding_nr = 3;
_languageBox.push(language9);
language10 = new languageItem();
language10.url1 = ("http://www.clickjogos.com/moregames/?utm_source=brandedgames_external&utm_medium=Aqua_Turret&utm_campaign=" + hostingdomain);
language10.url2 = "http://www.clickjogos.com/moregames/?utm_source=brandedgames_internal&utm_medium=Aqua_Turret";
language10.language_nr = 7;
language10.branding_nr = 7;
_languageBox.push(language10);
language11 = new languageItem();
language11.url1 = ("http://www.games.co.id/moregames/?utm_source=brandedgames_external&utm_medium=Aqua_Turret&utm_campaign=" + hostingdomain);
language11.url2 = "http://www.games.co.id/moregames/?utm_source=brandedgames_internal&utm_medium=Aqua_Turret";
language11.language_nr = 14;
language11.branding_nr = 13;
_languageBox.push(language11);
language12 = new languageItem();
language12.url1 = ("http://www.flashgames.ru/moregames/?utm_source=brandedgames_external&utm_medium=Aqua_Turret&utm_campaign=" + hostingdomain);
language12.url2 = "http://www.flashgames.ru/moregames/?utm_source=brandedgames_internal&utm_medium=Aqua_Turret";
language12.language_nr = 12;
language12.branding_nr = 11;
_languageBox.push(language12);
language13 = new languageItem();
language13.url1 = ("http://www.mygames.co.uk/moregames/?utm_source=brandedgames_external&utm_medium=Aqua_Turret&utm_campaign=" + hostingdomain);
language13.url2 = "http://www.mygames.co.uk/moregames/?utm_source=brandedgames_internal&utm_medium=Aqua_Turret";
language13.language_nr = 2;
language13.branding_nr = 10;
_languageBox.push(language13);
language14 = new languageItem();
language14.url1 = ("http://www.game.co.in/moregames/?utm_source=brandedgames_external&utm_medium=Aqua_Turret&utm_campaign=" + hostingdomain);
language14.url2 = "http://www.game.co.in/moregames/?utm_source=brandedgames_internal&utm_medium=Aqua_Turret";
language14.language_nr = 2;
language14.branding_nr = 12;
_languageBox.push(language14);
language15 = new languageItem();
language15.url1 = ("http://www.asoyun.com/moregames/?utm_source=brandedgames_external&utm_medium=Aqua_Turret&utm_campaign=" + hostingdomain);
language15.url2 = "http://www.asoyun.com/moregames/?utm_source=brandedgames_internal&utm_medium=Aqua_Turret";
language15.language_nr = 13;
language15.branding_nr = 15;
_languageBox.push(language15);
language16 = new languageItem();
language16.url1 = ("http://www.game.com.my/moregames/?utm_source=brandedgames_external&utm_medium=Aqua_Turret&utm_campaign=" + hostingdomain);
language16.url2 = "http://www.game.com.my/moregames/?utm_source=brandedgames_internal&utm_medium=Aqua_Turret";
language16.language_nr = 15;
language16.branding_nr = 16;
_languageBox.push(language16);
language17 = new languageItem();
language17.url1 = ("http://www.ojogos.pt/moregames/?utm_source=brandedgames_external&utm_medium=Aqua_Turret&utm_campaign=" + hostingdomain);
language17.url2 = "http://www.ojogos.pt/moregames/?utm_source=brandedgames_internal&utm_medium=Aqua_Turret";
language17.language_nr = 8;
language17.branding_nr = 42;
_languageBox.push(language17);
language18 = new languageItem();
language18.url1 = ("http://www.laro.com.ph/moregames/?utm_source=brandedgames_external&utm_medium=Aqua_Turret&utm_campaign=" + hostingdomain);
language18.url2 = "http://www.laro.com.ph/moregames/?utm_source=brandedgames_internal&utm_medium=Aqua_Turret";
language18.language_nr = 2;
language18.branding_nr = 43;
_languageBox.push(language18);
language19 = new languageItem();
language19.url1 = ("http://www.egames.jp/moregames/?utm_source=brandedgames_external&utm_medium=Aqua_Turret&utm_campaign=" + hostingdomain);
language19.url2 = "http://www.egames.jp/moregames/?utm_source=brandedgames_internal&utm_medium=Aqua_Turret";
language19.language_nr = 16;
language19.branding_nr = 44;
_languageBox.push(language19);
SpillGroupUrl.push("localhost");
SpillGroupUrl.push("www8.agame.com");
if ((((((languageVersion is Number)) || ((languageVersion is uint)))) || ((languageVersion is int)))){
_languageNum = (Number(languageVersion) - 1);
};
}
public static function get url2():String{
var _local1:int;
_local1 = 0;
while (_local1 < SpillGroupUrl.length) {
if (localConnection.domain == SpillGroupUrl[_local1]){
return (_languageBox[_languageNum].url2);
};
_local1++;
};
return (_languageBox[_languageNum].url2);
}
public static function get language_nr():int{
return (_languageBox[_languageNum].language_nr);
}
public static function get url1():String{
var _local1:int;
_local1 = 0;
while (_local1 < SpillGroupUrl.length) {
if (localConnection.domain == SpillGroupUrl[_local1]){
return (_languageBox[_languageNum].url2);
};
_local1++;
};
return (_languageBox[_languageNum].url1);
}
public static function get branding_nr():int{
return (_languageBox[_languageNum].branding_nr);
}
}
}//package Code
class languageItem {
public var url1:String;
public var url2:String;
public var branding_nr:int;
public var language_nr:int;
private function languageItem(){
}
}
Section 106
//MathTool (Code.MathTool)
package Code {
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
public class MathTool {
public static function caculateSpeed(_arg1:Point, _arg2:Point, _arg3:Number):Point{
var _local4:Number;
var _local5:Point;
_local4 = Point.distance(_arg2, _arg1);
_local5 = new Point();
_local5.x = (((_arg2.x - _arg1.x) / _local4) * _arg3);
_local5.y = (((_arg2.y - _arg1.y) / _local4) * _arg3);
return (_local5);
}
public static function radianToAngle(_arg1:Number):Number{
return (((_arg1 * 180) / Math.PI));
}
public static function setColor(_arg1:Number, _arg2:Sprite):void{
var _local3:Array;
var _local4:ColorMatrixFilter;
var _local5:Array;
_local3 = new Array();
if (_arg1 > 0){
_local3 = _local3.concat([0.5, 0.5, 0.5, 0.5, 0.5]);
_local3 = _local3.concat([0, 0, 0, 0, 0]);
_local3 = _local3.concat([0, 0, 0, 0, 0]);
_local3 = _local3.concat([_arg1, _arg1, _arg1, _arg1, _arg1]);
_local4 = new ColorMatrixFilter(_local3);
_local5 = new Array();
_local5.push(_local4);
_arg2.filters = _local5;
} else {
_arg2.filters = null;
};
}
public static function calculateSpeedByRadian(_arg1:Number, _arg2:Number):Point{
var _local3:Point;
_local3 = new Point();
_local3.x = (Math.cos(_arg1) * _arg2);
_local3.y = (Math.sin(_arg1) * _arg2);
return (_local3);
}
public static function calculateAngle(_arg1:Point, _arg2:Point, _arg3:Boolean=false):Number{
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local4 = (_arg2.x - _arg1.x);
_local5 = (_arg2.y - _arg1.y);
_local6 = Math.sqrt(((_local4 * _local4) + (_local5 * _local5)));
_local7 = ((Math.asin((_local5 / _local6)) * 180) / Math.PI);
if ((((_arg2.x < _arg1.x)) && ((_arg2.y > _arg1.y)))){
_local7 = ((90 - _local7) + 90);
} else {
if ((((_arg2.x < _arg1.x)) && ((_arg2.y <= _arg1.y)))){
_local7 = (-(_local7) + 180);
} else {
if ((((_arg2.x >= _arg1.x)) && ((_arg2.y <= _arg1.y)))){
_local7 = ((90 + _local7) + 270);
};
};
};
if (_arg3){
_local7 = angleToRadian(_local7);
};
return (_local7);
}
public static function RemoveStrBlank(_arg1:String):String{
var _local2:int;
var _local3:String;
var _local4:int;
_local2 = _arg1.length;
_local4 = 0;
while (_local4 < _local2) {
_local3 = _arg1.charAt(_local4);
if (_local3 != " "){
_arg1 = _arg1.slice(_local4);
break;
};
if (_local4 == (_local2 - 1)){
return ("");
};
_local4++;
};
_local2 = _arg1.length;
_local4 = (_local2 - 1);
while (_local4 >= 0) {
_local3 = _arg1.charAt(_local4);
if (_local3 != " "){
_arg1 = _arg1.slice(0, (_local4 + 1));
break;
};
_local4--;
};
return (_arg1);
}
public static function angleToRadian(_arg1:Number):Number{
return (((_arg1 * Math.PI) / 180));
}
}
}//package Code
Section 107
//McButton (Code.McButton)
package Code {
import flash.display.*;
import flash.events.*;
public class McButton extends MovieClip {
private var newHitMc:Sprite;
public function McButton(){
this.stop();
setHandUse(true);
createHitMc();
newHitMc.addEventListener(MouseEvent.ROLL_OVER, rollOverFun, false, 0, true);
newHitMc.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownFun, false, 0, true);
newHitMc.addEventListener(MouseEvent.MOUSE_UP, mouseUpFun, false, 0, true);
newHitMc.addEventListener(MouseEvent.ROLL_OUT, rollOutFun, false, 0, true);
}
public function del():void{
newHitMc.removeEventListener(MouseEvent.ROLL_OVER, rollOverFun);
newHitMc.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownFun);
newHitMc.removeEventListener(MouseEvent.MOUSE_UP, mouseUpFun);
newHitMc.removeEventListener(MouseEvent.ROLL_OUT, rollOutFun);
}
private function rollOutFun(_arg1:MouseEvent):void{
if (this.currentFrame != 4){
this.gotoAndStop(1);
this.addChild(newHitMc);
};
}
private function mouseDownFun(_arg1:MouseEvent):void{
if (this.currentFrame != 4){
this.gotoAndStop(3);
this.addChild(newHitMc);
};
}
private function mouseUpFun(_arg1:MouseEvent):void{
if (this.currentFrame != 4){
this.gotoAndStop(2);
this.addChild(newHitMc);
};
}
private function rollOverFun(_arg1:MouseEvent):void{
if (this.currentFrame != 4){
this.gotoAndStop(2);
this.addChild(newHitMc);
};
}
public function setHandUse(_arg1:Boolean):void{
this.buttonMode = _arg1;
}
private function createHitMc():void{
newHitMc = new Sprite();
this.addChild(newHitMc);
newHitMc.graphics.lineStyle(0, 0, 0);
newHitMc.graphics.beginFill(0, 0);
newHitMc.graphics.drawRect((-(this.width) / 2), (-(this.height) / 2), this.width, this.height);
newHitMc.graphics.endFill();
}
}
}//package Code
Section 108
//Random (Code.Random)
package Code {
import flash.display.*;
import flash.net.*;
public class Random {
var randomStr;
private static var hexcase = 0;
public static var gameID:int = 76;
public static var strqq:String;
private static var chrsz = 8;
private static var b64pad = "";
public function Random(){
randomStr = Randoms(10);
super();
}
public static function average_gg(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7){
return (average_cmn(((_arg2 & _arg4) | (_arg3 & ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7));
}
public static function SortT(){
var _local1:*;
var _local2:*;
var _local3:*;
_local1 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
_local2 = "";
trace((_local1 + "###"));
_local3 = 0;
while (_local3 < 10) {
_local2 = (_local2 + _local1.substr(Math.floor((Math.random() * _local1.length)), 1));
_local3++;
};
trace(_local2);
return (_local2);
}
public static function b64_hmac_average(_arg1, _arg2){
return (binl2b64(core_hmac_average(_arg1, _arg2)));
}
public static function md5(_arg1:String){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:*;
var _local13:*;
var _local14:*;
var _local15:*;
var _local16:*;
var _local17:*;
var _local18:*;
var _local19:*;
_local2[(_local3 >> 5)] = (_local2[(_local3 >> 5)] | (128 << (_local3 % 32)));
_local2[((((_local3 + 64) >>> 9) << 4) + 14)] = _local3;
_local5 = 1732584193;
_local6 = -271733879;
_local7 = -1732584194;
_local8 = 271733878;
_local9 = str2binl(_local4);
if (_local9.length > 16){
_local9 = core_average(_local9, (_local4.length * chrsz));
};
_local10 = new Array(16);
_local11 = new Array(16);
_local12 = 0;
while (_local12 < 16) {
_local10[_local12] = (_local9[_local12] ^ 909522486);
_local11[_local12] = (_local9[_local12] ^ 1549556828);
_local12++;
};
_local14 = core_average(_local10.concat(str2binl(_local13)), (0x0200 + (_local13.length * chrsz)));
return (core_average(_local11.concat(_local14), (0x0200 + 128)));
return (new Array(_local5, _local6, _local7, _local8));
}
public static function average_ii(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7){
return (average_cmn((_arg3 ^ (_arg2 | ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7));
}
public static function average_cmn(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6){
return (safe_add(bit_rol(safe_add(safe_add(_arg2, _arg1), safe_add(_arg4, _arg6)), _arg5), _arg3));
}
public static function binl2b64(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
_local2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
_local3 = "";
_local4 = 0;
while (_local4 < (_arg1.length * 4)) {
_local5 = (((((_arg1[(_local4 >> 2)] >> (8 * (_local4 % 4))) & 0xFF) << 16) | (((_arg1[((_local4 + 1) >> 2)] >> (8 * ((_local4 + 1) % 4))) & 0xFF) << 8)) | ((_arg1[((_local4 + 2) >> 2)] >> (8 * ((_local4 + 2) % 4))) & 0xFF));
_local6 = 0;
while (_local6 < 4) {
if (((_local4 * 8) + (_local6 * 6)) > (_arg1.length * 32)){
_local3 = (_local3 + b64pad);
} else {
_local3 = (_local3 + _local2.charAt(((_local5 >> (6 * (3 - _local6))) & 63)));
};
_local6++;
};
_local4 = (_local4 + 3);
};
return (_local3);
}
public static function senturl(_arg1, _arg2, _arg3, _arg4):void{
var _local5:String;
var _local6:URLRequest;
_local5 = ((((((((("http://user.game.com.cn/game/?action=highscore&id=" + gameID) + "&s=") + _arg1) + "&a=") + _arg2) + "&t=") + _arg4) + "&r=") + _arg3);
_local6 = new URLRequest(_local5);
navigateToURL(_local6, "_blank");
}
public static function geturl():void{
var _local1:String;
var _local2:URLRequest;
_local1 = ("http://user.game.com.cn/game/?action=highscore&id=" + gameID);
_local2 = new URLRequest(_local1);
navigateToURL(_local2, "_blank");
}
public static function bit_rol(_arg1, _arg2){
return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
}
public static function submitCode(_arg1:Number):void{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local2 = new Date().getTime();
_local3 = SortT();
_local4 = hex_average((((String(gameID) + _arg1) + _local3) + _local2));
DrawLine(_local4, _local3, 10, 10, 15, 15);
_local5 = strqq;
senturl(_arg1, _local3, _local5, _local2);
}
public static function core_hmac_average(_arg1, _arg2){
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
_local3 = str2binl(_arg1);
if (_local3.length > 16){
_local3 = core_average(_local3, (_arg1.length * chrsz));
};
_local4 = new Array(16);
_local5 = new Array(16);
_local6 = 0;
while (_local6 < 16) {
_local4[_local6] = (_local3[_local6] ^ 909522486);
_local5[_local6] = (_local3[_local6] ^ 1549556828);
_local6++;
};
_local7 = core_average(_local4.concat(str2binl(_arg2)), (0x0200 + (_arg2.length * chrsz)));
return (core_average(_local5.concat(_local7), (0x0200 + 128)));
}
public static function str2binl(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = new Array();
_local3 = ((1 << chrsz) - 1);
_local4 = 0;
while (_local4 < (_arg1.length * chrsz)) {
_local2[(_local4 >> 5)] = (_local2[(_local4 >> 5)] | ((_arg1.charCodeAt((_local4 / chrsz)) & _local3) << (_local4 % 32)));
_local4 = (_local4 + chrsz);
};
return (_local2);
}
public static function binl2hex(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = (hexcase) ? "0123456789ABCDEF" : "0123456789abcdef";
_local3 = "";
_local4 = 0;
while (_local4 < (_arg1.length * 4)) {
_local3 = (_local3 + (_local2.charAt(((_arg1[(_local4 >> 2)] >> (((_local4 % 4) * 8) + 4)) & 15)) + _local2.charAt(((_arg1[(_local4 >> 2)] >> ((_local4 % 4) * 8)) & 15))));
_local4++;
};
return (_local3);
}
public static function calcaverage(_arg1){
return (binl2hex(core_average(str2binl(_arg1), (_arg1.length * chrsz))));
}
public static function hex_hmac_average(_arg1, _arg2){
return (binl2hex(core_hmac_average(_arg1, _arg2)));
}
public static function average_hh(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7){
return (average_cmn(((_arg2 ^ _arg3) ^ _arg4), _arg1, _arg2, _arg5, _arg6, _arg7));
}
public static function safe_add(_arg1, _arg2){
var _local3:*;
var _local4:*;
_local3 = ((_arg1 & 0xFFFF) + (_arg2 & 0xFFFF));
_local4 = (((_arg1 >> 16) + (_arg2 >> 16)) + (_local3 >> 16));
return (((_local4 << 16) | (_local3 & 0xFFFF)));
}
public static function Randoms(_arg1:Number){
var _local2:*;
var _local3:*;
var _local4:String;
var _local5:*;
_local2 = "123098938487634asdflskafgpoipALKGAISFH:LKHAODG";
_local3 = "";
_local4 = "";
_local5 = 0;
while (_local5 < _arg1) {
_local3 = (_local3 + _local2.substr(Math.floor((Math.random() * _local2.length)), 1));
_local5++;
};
return (_local3);
}
public static function average_vm_test(){
return ((hex_average("abc") == "900150983cd24fb0d6963f7d28e17f72"));
}
public static function hex_average(_arg1){
return (binl2hex(core_average(str2binl(_arg1), (_arg1.length * chrsz))));
}
public static function average_ff(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7){
return (average_cmn(((_arg2 & _arg3) | (~(_arg2) & _arg4)), _arg1, _arg2, _arg5, _arg6, _arg7));
}
public static function core_average(_arg1, _arg2){
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
_arg1[(_arg2 >> 5)] = (_arg1[(_arg2 >> 5)] | (128 << (_arg2 % 32)));
_arg1[((((_arg2 + 64) >>> 9) << 4) + 14)] = _arg2;
_local3 = 1732584193;
_local4 = -271733879;
_local5 = -1732584194;
_local6 = 271733878;
_local7 = 0;
while (_local7 < _arg1.length) {
_local8 = _local3;
_local9 = _local4;
_local10 = _local5;
_local11 = _local6;
_local3 = average_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 7, -680876936);
_local6 = average_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 1)], 12, -389564586);
_local5 = average_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 17, 606105819);
_local4 = average_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 3)], 22, -1044525330);
_local3 = average_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 7, -176418897);
_local6 = average_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 5)], 12, 1200080426);
_local5 = average_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 17, -1473231341);
_local4 = average_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 7)], 22, -45705983);
_local3 = average_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 7, 1770035416);
_local6 = average_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 9)], 12, -1958414417);
_local5 = average_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 17, -42063);
_local4 = average_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 11)], 22, -1990404162);
_local3 = average_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 7, 1804603682);
_local6 = average_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 13)], 12, -40341101);
_local5 = average_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 17, -1502002290);
_local4 = average_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 15)], 22, 1236535329);
_local3 = average_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 5, -165796510);
_local6 = average_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 6)], 9, -1069501632);
_local5 = average_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 14, 643717713);
_local4 = average_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 0)], 20, -373897302);
_local3 = average_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 5, -701558691);
_local6 = average_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 10)], 9, 38016083);
_local5 = average_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 14, -660478335);
_local4 = average_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 4)], 20, -405537848);
_local3 = average_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 5, 568446438);
_local6 = average_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 14)], 9, -1019803690);
_local5 = average_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 14, -187363961);
_local4 = average_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 8)], 20, 1163531501);
_local3 = average_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 5, -1444681467);
_local6 = average_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 2)], 9, -51403784);
_local5 = average_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 14, 1735328473);
_local4 = average_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 12)], 20, -1926607734);
_local3 = average_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 4, -378558);
_local6 = average_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 8)], 11, -2022574463);
_local5 = average_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 16, 1839030562);
_local4 = average_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 14)], 23, -35309556);
_local3 = average_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 4, -1530992060);
_local6 = average_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 4)], 11, 1272893353);
_local5 = average_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 16, -155497632);
_local4 = average_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 10)], 23, -1094730640);
_local3 = average_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 4, 681279174);
_local6 = average_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 0)], 11, -358537222);
_local5 = average_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 16, -722521979);
_local4 = average_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 6)], 23, 76029189);
_local3 = average_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 4, -640364487);
_local6 = average_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 12)], 11, -421815835);
_local5 = average_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 16, 530742520);
_local4 = average_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 2)], 23, -995338651);
_local3 = average_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 6, -198630844);
_local6 = average_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 7)], 10, 1126891415);
_local5 = average_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 15, -1416354905);
_local4 = average_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 5)], 21, -57434055);
_local3 = average_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 6, 1700485571);
_local6 = average_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 3)], 10, -1894986606);
_local5 = average_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 15, -1051523);
_local4 = average_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 1)], 21, -2054922799);
_local3 = average_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 6, 1873313359);
_local6 = average_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 15)], 10, -30611744);
_local5 = average_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 15, -1560198380);
_local4 = average_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 13)], 21, 1309151649);
_local3 = average_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 6, -145523070);
_local6 = average_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 11)], 10, -1120210379);
_local5 = average_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 15, 718787259);
_local4 = average_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 9)], 21, -343485551);
_local3 = safe_add(_local3, _local8);
_local4 = safe_add(_local4, _local9);
_local5 = safe_add(_local5, _local10);
_local6 = safe_add(_local6, _local11);
_local7 = (_local7 + 16);
};
return (new Array(_local3, _local4, _local5, _local6));
}
public static function b64_average(_arg1){
return (binl2b64(core_average(str2binl(_arg1), (_arg1.length * chrsz))));
}
public static function DrawLine(_arg1, _arg2, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number){
var point1:Vector;
var point:Vector;
var current:*;
var nextdot:*;
var minX:Number;
var minY:Number;
var maxX:Number;
var maxY:Number;
var verts:Array;
var center:Vector;
var normal:Vector;
var dmc:MovieClip;
var isVisible:Boolean;
var isActivated:Boolean;
var AbstractTile:Function;
var initializeContainer:Function;
var createBoundingRect:Function;
var testIntervals:Function;
var k:*;
var i:*;
var point2:Vector;
var point3:Vector;
var point4:Vector;
var point5:Vector;
var b:*;
var j:*;
var l:*;
var c:*;
var position = _arg1;
var line = _arg2;
var x1 = _arg3;
var x2 = _arg4;
var y1 = _arg5;
var y2 = _arg6;
AbstractTile = function (_arg1:Number, _arg2:Number){
center = new Vector(_arg1, _arg2);
verts = new Array();
normal = new Vector(0, 0);
isVisible = true;
isActivated = true;
initializeContainer();
};
initializeContainer = function (){
var _local1:String;
_local1 = "_oooo";
dmc = new MovieClip();
dmc.name = _local1;
};
createBoundingRect = function (_arg1:Number, _arg2:Number){
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local3 = (center.y - (_arg2 / 2));
_local4 = (center.y + (_arg2 / 2));
_local5 = (center.x - (_arg1 / 2));
_local6 = (center.x + (_arg1 / 2));
verts.push(new Vector(_local6, _local4));
verts.push(new Vector(_local6, _local3));
verts.push(new Vector(_local5, _local3));
verts.push(new Vector(_local5, _local4));
};
testIntervals = function (_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){
var _local5:Number;
var _local6:Number;
if (_arg2 < _arg3){
return (0);
};
if (_arg4 < _arg1){
return (0);
};
_local5 = (_arg4 - _arg1);
_local6 = (_arg3 - _arg2);
if (Math.abs(_local5) < Math.abs(_local6)){
return (_local5);
};
return (_local6);
};
point1 = new Vector(x1, y1);
point = new Vector(x2, y2);
current = point1.dot(point);
nextdot = point1.cross(point);
current = (current + nextdot);
k = [];
strqq = "";
i = 0;
while (i < 8) {
b = 0;
j = 0;
while (j < 10) {
c = line.substr(j, 1).charCodeAt();
c = String(c).substr((String(c).length - 2), 1);
b = (b + Number(c));
j = (j + 1);
};
trace(b);
if (b > 10){
b = (b % 10);
};
k[i] = Math.round((((i + b) * (i + b)) - ((b * b) / 2)));
while (k[i] >= 32) {
k[i] = Math.round((k[i] / 2));
};
l = 0;
l = 0;
while (l < (k.length - 1)) {
if (k[i] == k[l]){
k[i] = (k[i] + 1);
};
l = (l + 1);
};
trace(k[i]);
strqq = (strqq + position.substr(k[i], 1));
i = (i + 1);
};
point2 = new Vector(x1, y1);
current = point2.dot(point);
nextdot = point2.cross(point);
current = (current + nextdot);
point3 = new Vector(x1, y1);
current = point3.dot(point);
nextdot = point3.cross(point);
current = (current + nextdot);
point4 = new Vector(x1, y1);
current = point4.dot(point);
nextdot = point4.cross(point);
current = (current + nextdot);
point5 = new Vector(x1, y1);
current = point5.dot(point);
nextdot = point5.cross(point);
current = (current + nextdot);
current = Math.round(Math.sqrt((current * 2)));
if (current > 20){
current = Math.round(Math.sqrt(current));
};
return (current);
}
}
}//package Code
Section 109
//Root (Code.Root)
package Code {
import flash.display.*;
import flash.events.*;
import Code.Game.*;
import Code.Data.*;
import flash.text.*;
public class Root extends MovieClip {
public var bb_mc:WaterWave;
private var pmc:Sprite;
public var txt1:TextField;
public var txt2:TextField;
private var fps:FpsCounter;
private var game:Game;
public function Root(){
stop();
Language.languageInit(1);
Data.init();
stageInit();
if (Language._languageNum != 1){
NewHighScore.getMc(this);
};
pmc = new Sprite();
addChild(pmc);
game = new Game(this, pmc);
if (Data.ifTest){
getFps();
};
}
private function count(_arg1:Event):void{
fps.update();
}
private function stageInit():void{
stage.showDefaultContextMenu = false;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.stageFocusRect = false;
stage.tabChildren = false;
}
private function getFps():void{
fps = new FpsCounter();
fps.x = 80;
fps.y = 5;
addChild(fps);
stage.addEventListener(Event.ENTER_FRAME, count, false, 0, true);
}
}
}//package Code
Section 110
//SoundsManager (Code.SoundsManager)
package Code {
import flash.events.*;
import flash.media.*;
import Code.Data.*;
import flash.utils.*;
public class SoundsManager {
private static const VOLUME_SOUND:Number = 0.75;
private static const SOUNDSLINK:Array = ["ship_des_s", "bomb_hit_s", "bomb_water_s", "cannon_fire_s", "gun_fire_s", "wave_s", "bomb_down_s", "bomb_fry_s", "smallShip_move_s", "menu_back_s", "menu_open_s", "menu_press_s", "menu_touch_s", "weapon_select_s", "submarine_up_s", "submarine_down_s", "get_shield_s", "pause_btn_s", "aiming_s", "fly_s", "magnet_s", "cannon_fire2_s", "huge_bomb_s", "laser_s", "magnet_hit_s", "rocket_fire_s", "fire_s", "gun_fire2_s"];
private static const VOLUME_MUSIC:Number = 0.95;
private static var curMusicArr:Array;
private static var curSoundVolume:Number;
private static var fadeTimer:Timer;
private static var soundsArr:Array;
private static var curMusicVolume:Number;
private static function timerFun(_arg1:Event):void{
fadeMusic();
}
public static function stopMusic(_arg1:Boolean=false):void{
var _local2:*;
if (!_arg1){
for (_local2 in curMusicArr) {
if (soundsArr[curMusicArr[_local2].name].channel[0] != null){
soundsArr[curMusicArr[_local2].name].channel[0].stop();
};
};
};
}
public static function modifyMusicVolume(_arg1:Number=-1):void{
var _local2:*;
var _local3:SoundTransform;
if (_arg1 < 0){
curMusicVolume = VOLUME_MUSIC;
} else {
curMusicVolume = _arg1;
};
for (_local2 in curMusicArr) {
if (soundsArr[curMusicArr[_local2].name].channel[0] != null){
_local3 = soundsArr[curMusicArr[_local2].name].channel[0].soundTransform;
_local3.volume = curMusicVolume;
soundsArr[curMusicArr[_local2].name].channel[0].soundTransform = _local3;
};
};
}
public static function memoryRelease():void{
var _local1:*;
var _local2:Object;
var _local3:*;
for (_local1 in soundsArr) {
_local2 = soundsArr[_local1];
if (!_local2["music"]){
for (_local3 in _local2["channel"]) {
if (_local2["channel"][_local3] != null){
_local2["channel"][_local3].stop();
delete _local2["channel"][_local3];
};
};
_local2["channel"] = [];
};
};
}
private static function fadeMusic():void{
var _local1:int;
var _local2:SoundChannel;
var _local3:Number;
var _local4:SoundTransform;
_local1 = curMusicArr.length;
if (_local1 > 0){
_local2 = soundsArr[curMusicArr[0].name].channel[0];
if (_local1 == 1){
if (_local2.soundTransform.volume < curMusicVolume){
_local3 = (100 / curMusicArr[0].delayStart);
if (_local3 > 1){
_local3 = 1;
};
_local4 = _local2.soundTransform;
_local4.volume = (_local2.soundTransform.volume + _local3);
_local2.soundTransform = _local4;
} else {
fadeTimer.stop();
};
} else {
if (_local1 > 1){
if (_local2.soundTransform.volume > 0){
_local3 = (100 / curMusicArr[0].delayEnd);
if (_local3 > 1){
_local3 = 1;
};
_local4 = _local2.soundTransform;
_local4.volume = (_local2.soundTransform.volume - _local3);
_local2.soundTransform = _local4;
} else {
_local2.stop();
curMusicArr.splice(0, (_local1 - 1));
startMusic(curMusicArr[0].name, curMusicArr[0].times);
};
};
};
};
}
public static function init():void{
var _local1:int;
var _local2:String;
var _local3:Sound;
var _local4:Object;
if (!Data.ifTest){
SOUNDSLINK.push("danger_m", "gameOver_m", "menu_m", "win_m", "level_m0", "level_m1", "level_m2", "level_m3");
};
curMusicVolume = VOLUME_MUSIC;
curSoundVolume = VOLUME_SOUND;
soundsArr = new Array();
_local1 = 0;
while (_local1 < SOUNDSLINK.length) {
_local2 = SOUNDSLINK[_local1];
_local3 = getSound(_local2);
_local4 = {name:_local2, sound:_local3, channel:[], music:false, loop:false};
soundsArr[_local2] = _local4;
_local1++;
};
curMusicArr = new Array();
fadeTimer = new Timer(100);
fadeTimer.addEventListener("timer", timerFun, false, 0, true);
fadeTimer.stop();
}
public static function playMusic(_arg1:String, _arg2:int=2147483647, _arg3:Number=1500, _arg4:int=1500):void{
var _local5:Object;
_local5 = {name:_arg1, times:_arg2, delayStart:_arg3, delayEnd:_arg4};
if (soundsArr[_arg1] != null){
if (curMusicArr.length == 0){
startMusic(_arg1, _arg2);
};
if (!(((curMusicArr.length > 0)) && ((curMusicArr[(curMusicArr.length - 1)].name == _arg1)))){
curMusicArr.push(_local5);
fadeTimer.start();
};
} else {
trace((("Music \"" + _arg1) + "\" is not exist!"));
};
}
public static function modifySoundsVolume(_arg1:Number=-1):void{
var _local2:*;
var _local3:*;
var _local4:SoundTransform;
if (_arg1 < 0){
curSoundVolume = VOLUME_SOUND;
} else {
curSoundVolume = _arg1;
};
for (_local2 in soundsArr) {
if (!soundsArr[_local2].music){
for (_local3 in soundsArr[_local2].channel) {
if (soundsArr[_local2].channel[_local3] != null){
_local4 = soundsArr[_local2].channel[_local3].soundTransform;
_local4.volume = curSoundVolume;
soundsArr[_local2].channel[_local3].soundTransform = _local4;
};
};
};
};
}
private static function startMusic(_arg1:String, _arg2:int=2147483647):void{
var _local3:SoundChannel;
if (_arg1 != null){
if (soundsArr[_arg1] != null){
if (soundsArr[_arg1].channel[0] != null){
soundsArr[_arg1].channel[0].stop();
};
_local3 = soundsArr[_arg1].sound.play(0, _arg2, new SoundTransform(0));
soundsArr[_arg1].channel[0] = _local3;
soundsArr[_arg1].music = true;
} else {
trace((("Music \"" + _arg1) + "\" is not exist!"));
};
};
}
private static function getSound(_arg1:String):Sound{
var _local2:Class;
var _local3:Sound;
_local2 = (getDefinitionByName(_arg1) as Class);
_local3 = new (_local2);
return (_local3);
}
public static function stopSound(_arg1:String, _arg2:int=0):void{
var _local3:Object;
if (soundsArr[_arg1] != null){
_local3 = soundsArr[_arg1];
if (!_local3["music"]){
if (_local3["channel"][_arg2] != null){
_local3["channel"][_arg2].stop();
delete _local3["channel"][_arg2];
};
};
};
}
public static function pause(_arg1:Boolean):void{
if (_arg1){
modifySoundsVolume(0);
modifyMusicVolume(0);
} else {
modifySoundsVolume();
modifyMusicVolume();
};
}
public static function playSound(_arg1:String, _arg2:Boolean=true, _arg3:int=0, _arg4:Number=-1):int{
var _local5:SoundChannel;
if (soundsArr[_arg1] != null){
if (_arg3 > 0){
soundsArr[_arg1].loop = true;
};
if ((((_arg4 == -1)) || ((curSoundVolume == 0)))){
_arg4 = curSoundVolume;
};
_local5 = soundsArr[_arg1].sound.play(0, _arg3, new SoundTransform(_arg4));
if (!_arg2){
soundsArr[_arg1].channel.push(_local5);
return ((soundsArr[_arg1].channel.length - 1));
};
soundsArr[_arg1].channel[0] = _local5;
return (0);
} else {
trace((("Sound \"" + _arg1) + "\" is not exist!"));
};
return (-1);
}
}
}//package Code
Section 111
//TranslateTxt (Code.TranslateTxt)
package Code {
import flash.display.*;
public class TranslateTxt extends MovieClip {
public function TranslateTxt(){
this.mouseEnabled = false;
this.gotoAndStop(Language.language_nr);
}
}
}//package Code
Section 112
//Vector (Code.Vector)
package Code {
public class Vector {
public var x:Number;
public var y:Number;
public function Vector(_arg1:Number, _arg2:Number){
x = _arg1;
y = _arg2;
}
public function cross(_arg1:Vector):Number{
return (((x * _arg1.y) - (y * _arg1.x)));
}
public function magnitude():Number{
return (Math.sqrt(((x * x) + (y * y))));
}
public function plusNew(_arg1:Vector):Vector{
return (new Vector((x + _arg1.x), (y + _arg1.y)));
}
public function mult(_arg1:Number):Vector{
x = (x * _arg1);
y = (y * _arg1);
return (this);
}
public function dot(_arg1:Vector):Number{
return (((x * _arg1.x) + (y * _arg1.y)));
}
public function normalize():Vector{
var _local1:Number;
_local1 = Math.sqrt(((x * x) + (y * y)));
x = (x / _local1);
y = (y / _local1);
return (this);
}
public function project(_arg1:Vector):Vector{
var _local2:Number;
var _local3:Number;
var _local4:Vector;
_local2 = this.dot(_arg1);
_local3 = ((_arg1.x * _arg1.x) + (_arg1.y * _arg1.y));
_local4 = new Vector(0, 0);
_local4.x = ((_local2 / _local3) * _arg1.x);
_local4.y = ((_local2 / _local3) * _arg1.y);
return (_local4);
}
public function copy(_arg1:Vector):void{
x = _arg1.x;
y = _arg1.y;
}
public function multNew(_arg1:Number):Vector{
return (new Vector((x * _arg1), (y * _arg1)));
}
public function minus(_arg1:Vector):Vector{
x = (x - _arg1.x);
y = (y - _arg1.y);
return (this);
}
public function plus(_arg1:Vector):Vector{
x = (x + _arg1.x);
y = (y + _arg1.y);
return (this);
}
public function distance(_arg1:Vector):Number{
var _local2:Number;
var _local3:Number;
_local2 = (x - _arg1.x);
_local3 = (y - _arg1.y);
return (Math.sqrt(((_local2 * _local2) + (_local3 * _local3))));
}
public function setTo(_arg1:Number, _arg2:Number):void{
x = _arg1;
y = _arg2;
}
public function minusNew(_arg1:Vector):Vector{
return (new Vector((x - _arg1.x), (y - _arg1.y)));
}
}
}//package Code
Section 113
//O1111111l (O11111110.O1111111l)
package O11111110 {
import flash.net.*;
public class O1111111l {
private var O11111l1l:String;
private var O11111l1O:Array;
private var O111111Ol:String;
public var O11111OOO:int;// = 1
private var O111111O0:String;
private static var O11111l11:O1111111l;
public function O1111111l():void{
O11111OOO = 1;
super();
O11111l1O = new Array();
}
private function O11111l10():void{
O11111l1O.push(new O11111O00(1, 1, (((((("http://www.agame.com/game/" + O111111O0) + ".html?utm_source=brandedgames_external&utm_medium=") + O111111Ol) + "&utm_campaign=") + O11111l1l) + "&utm_term=play_with_highscore")));
O11111l1O.push(new O11111O00(2, 19, "http://www.game.com.cn"));
O11111l1O.push(new O11111O00(3, 5, (((((("http://www.spel.nl/game/" + O111111O0) + ".html?utm_source=brandedgames_external&utm_medium=") + O111111Ol) + "&utm_campaign=") + O11111l1l) + "&utm_term=play_with_highscore")));
O11111l1O.push(new O11111O00(4, 6, (((((("http://www.jeu.fr/jeu/" + O111111O0) + ".html?utm_source=brandedgames_external&utm_medium=") + O111111Ol) + "&utm_campaign=") + O11111l1l) + "&utm_term=play_with_highscore")));
O11111l1O.push(new O11111O00(5, 7, (((((("http://www.spielen.com/spiel/" + O111111O0) + ".html?utm_source=brandedgames_external&utm_medium=") + O111111Ol) + "&utm_campaign=") + O11111l1l) + "&utm_term=play_with_highscore")));
O11111l1O.push(new O11111O00(6, 13, (((((("http://www.minigry.pl/gra/" + O111111O0) + ".html?utm_source=brandedgames_external&utm_medium=") + O111111Ol) + "&utm_campaign=") + O11111l1l) + "&utm_term=play_with_highscore")));
O11111l1O.push(new O11111O00(7, 12, (((((("http://www.spel.eu/spel_/" + O111111O0) + ".htmlutm_source=brandedgames_external&utm_medium=") + O111111Ol) + "&utm_campaign=") + O11111l1l) + "&utm_term=play_with_highscore")));
O11111l1O.push(new O11111O00(8, 11, (((((("http://www.giocaregratis.it/gioco/" + O111111O0) + ".html?utm_source=brandedgames_external&utm_medium=") + O111111Ol) + "&utm_campaign=") + O11111l1l) + "&utm_term=play_with_highscore")));
O11111l1O.push(new O11111O00(9, 8, (((((("http://www.zapjuegos.com/juego/" + O111111O0) + ".html?utm_source=brandedgames_external&utm_medium=") + O111111Ol) + "&utm_campaign=") + O11111l1l) + "&utm_term=play_with_highscore")));
O11111l1O.push(new O11111O00(10, 9, (((((("http://www.clickjogos.com/jogo/" + O111111O0) + ".html?utm_source=brandedgames_external&utm_medium=") + O111111Ol) + "&utm_campaign=") + O11111l1l) + "&utm_term=play_with_highscore")));
O11111l1O.push(new O11111O00(11, 16, (((((("http://www.games.co.id/permainanme/" + O111111O0) + ".html?utm_source=brandedgames_external&utm_medium=") + O111111Ol) + "&utm_campaign=") + O11111l1l) + "&utm_term=play_with_highscore")));
O11111l1O.push(new O11111O00(12, 14, (((((("http://www.flashgames.ru/igra/" + O111111O0) + ".html?utm_source=brandedgames_external&utm_medium=") + O111111Ol) + "&utm_campaign=") + O11111l1l) + "&utm_term=play_with_highscore")));
O11111l1O.push(new O11111O00(13, 2, (((((("http://www.mygames.co.uk/game/" + O111111O0) + ".html?utm_source=brandedgames_external&utm_medium=") + O111111Ol) + "&utm_campaign=") + O11111l1l) + "&utm_term=play_with_highscore")));
O11111l1O.push(new O11111O00(14, 3, (((((("http://www.game.co.in/game/" + O111111O0) + ".html?utm_source=brandedgames_external&utm_medium=") + O111111Ol) + "&utm_campaign=") + O11111l1l) + "&utm_term=play_with_highscore")));
O11111l1O.push(new O11111O00(15, 15, (((((("http://www.asoyun.com/oyun/" + O111111O0) + ".html?utm_source=brandedgames_external&utm_medium=") + O111111Ol) + "&utm_campaign=") + O11111l1l) + "&utm_term=play_with_highscore")));
O11111l1O.push(new O11111O00(16, 17, (((((("http://www.game.com.my/permainan_/" + O111111O0) + ".html?utm_source=brandedgames_external&utm_medium=") + O111111Ol) + "&utm_campaign=") + O11111l1l) + "&utm_term=play_with_highscore")));
O11111l1O.push(new O11111O00(17, 10, (((((("http://www.ojogos.pt/jogo/" + O111111O0) + ".html?utm_source=brandedgames_external&utm_medium=") + O111111Ol) + "&utm_campaign=") + O11111l1l) + "&utm_term=play_with_highscore")));
O11111l1O.push(new O11111O00(18, 4, (((((("http://www.laro.com.ph/game/" + O111111O0) + ".html?utm_source=brandedgames_external&utm_medium=") + O111111Ol) + "&utm_campaign=") + O11111l1l) + "&utm_term=play_with_highscore")));
O11111l1O.push(new O11111O00(19, 18, (((((("http://www.egames.jp/game/" + O111111O0) + ".html?utm_source=brandedgames_external&utm_medium=") + O111111Ol) + "&utm_campaign=") + O11111l1l) + "&utm_term=play_with_highscore")));
}
public function O11111O0l():void{
navigateToURL(new URLRequest(O11111l1O[(O11111OOO - 1)].O11111Ol1), "_blank");
}
public function O11111Oll(_arg1:String, _arg2:String, _arg3:String):void{
O11111l1l = _arg1;
O111111Ol = _arg2;
O111111O0 = _arg3;
O11111l10();
}
public function O11111O01():int{
return (O11111l1O[(O11111OOO - 1)].O11111OOl);
}
public function O11111Ol0(_arg1:int=1):void{
O11111OOO = _arg1;
}
public function O11111O0O():int{
return (O11111l1O[(O11111OOO - 1)].O11111OO0);
}
public static function O11111OlO():O1111111l{
if (O11111l11 == null){
O11111l11 = new (O1111111l);
};
return (O11111l11);
}
}
}//package O11111110
class O11111O00 {
public var O11111Ol1:String;
public var O11111OOl:int;
public var O11111OO0:int;
private function O11111O00(_arg1:int, _arg2:int, _arg3:String):void{
O11111OOl = _arg1;
O11111OO0 = _arg2;
O11111Ol1 = _arg3;
}
}
Section 114
//O1111111O (O11111110.O1111111O)
package O11111110 {
import flash.net.*;
import flash.external.*;
public class O1111111O {
private static const O11111OOO:Array = ["gamedev.dev.spillgroup.com", "www.agame.com", "www.girlsgogames.com", "www.games.co.uk", "www.mygames.co.uk", "www.girlsgogames.co.uk", "www.spel.nl", "www.spelletjes.nl", "www.girlsgogames.nl", "www.jetztspielen.de", "www.spielen.com", "www.girlsgogames.de", "www.jeux.fr", "www.jeu.fr", "www.girlsgogames.fr", "www.juegos.com", "www.zapjuegos.com", "www.juegosdechicas.com", "www.gioco.it", "www.giocaregratis.it", "www.girlsgogames.it", "www.gry.pl", "www.minigry.pl", "www.girlsgogames.pl", "www.spela.se", "www.spel.eu", "www.girlsgogames.se", "www.ojogos.pt", "www.ourgames.ru", "www.flashgames.ru", "www.girlsgogames.ru", "www.oyunlar123.com", "www.asoyun.com", "www.girlsgogamestr.com", "www.gamesgames.com", "www.agame.com", "www.girlsgogames.com", "www.juegos.com", "www.zapjuegos.com", "www.juegosdechicas.com", "www.ojogos.com.br", "www.clickjogos.com", "www.girlsgogames.com.br", "www.game.com.cn", "www.xiaoyouxi.com", "www.egames.jp", "www.game.co.in", "www.game.co.in", "www.girlsgogames.in", "www.games.co.id", "www.laro.com.ph", "www.game.com.my", "www.onrpg.com", "www.zlonggames.com", "www.a10.com"];
private static var O11111OOl:URLRequest;
private static var O11111OO0;
public function O1111111O():void{
super();
try {
O11111OO0 = ExternalInterface.call("window.location.href.toString");
} catch(e) {
O11111OO0 = "error";
};
if ((((O11111OO0 == null)) || ((O11111OO0 == "")))){
O11111OO0 = "error";
};
if (String(O11111OO0).indexOf(".swf") != -1){
O11111OO0 = "error";
};
}
public function O11111OO1():Boolean{
if (((!((O11111Ol0(O11111O01(O11111OO0)) == -1))) && (!((O11111OO0 == "error"))))){
return (true);
};
return (false);
}
private static function O11111O01(_arg1:String):String{
var _local2:String;
var _local3:uint;
_local2 = new String();
_local3 = 7;
while (_local3 < _arg1.length) {
if (_arg1.charAt(_local3) == "/"){
break;
};
_local2 = (_local2 + _arg1.charAt(_local3));
_local3++;
};
return (_local2);
}
private static function O11111Ol0(_arg1:String):Number{
var _local2:uint;
if (((O11111OOO) && (_arg1))){
_local2 = 0;
while (_local2 < O11111OOO.length) {
if (_arg1 == O11111OOO[_local2]){
return (_local2);
};
_local2++;
};
return (-1);
} else {
trace("cannot find site name");
};
return (-1);
}
}
}//package O11111110
Section 115
//__laserMc (__laserMc)
package {
import flash.display.*;
public dynamic class __laserMc extends Sprite {
public var laserMc:MovieClip;
}
}//package
Section 116
//ACCURACY (ACCURACY)
package {
import Code.*;
public dynamic class ACCURACY extends TranslateTxt {
}
}//package
Section 117
//ACCURACYISREWARDEDtxt (ACCURACYISREWARDEDtxt)
package {
import Code.*;
public dynamic class ACCURACYISREWARDEDtxt extends TranslateTxt {
}
}//package
Section 118
//ACCURACYtxt (ACCURACYtxt)
package {
import Code.*;
public dynamic class ACCURACYtxt extends TranslateTxt {
}
}//package
Section 119
//ACTIVATEPROTECTIVEtxt (ACTIVATEPROTECTIVEtxt)
package {
import Code.*;
public dynamic class ACTIVATEPROTECTIVEtxt extends TranslateTxt {
}
}//package
Section 120
//aimatMc (aimatMc)
package {
import flash.display.*;
public dynamic class aimatMc extends Sprite {
}
}//package
Section 121
//aiming_s (aiming_s)
package {
import flash.media.*;
public dynamic class aiming_s extends Sound {
}
}//package
Section 122
//AirCraft0 (AirCraft0)
package {
import flash.display.*;
public dynamic class AirCraft0 extends Sprite {
public var smc:MovieClip;
public var planemc:MovieClip;
}
}//package
Section 123
//AirCraft1 (AirCraft1)
package {
import flash.display.*;
public dynamic class AirCraft1 extends Sprite {
public var smc:MovieClip;
public var planemc:MovieClip;
}
}//package
Section 124
//aircraftCarrier (aircraftCarrier)
package {
import flash.display.*;
public dynamic class aircraftCarrier extends Sprite {
public var shipmc:MovieClip;
public var healthmc:MovieClip;
}
}//package
Section 125
//AQUATURRET (AQUATURRET)
package {
import Code.*;
public dynamic class AQUATURRET extends TranslateTxt {
}
}//package
Section 126
//Artwork (Artwork)
package {
import Code.*;
public dynamic class Artwork extends TranslateTxt {
}
}//package
Section 127
//back (back)
package {
import Code.*;
public dynamic class back extends McButton {
}
}//package
Section 128
//backGround (backGround)
package {
import flash.display.*;
public dynamic class backGround extends MovieClip {
}
}//package
Section 129
//backtxt (backtxt)
package {
import Code.*;
public dynamic class backtxt extends TranslateTxt {
}
}//package
Section 130
//BAD (BAD)
package {
import Code.*;
public dynamic class BAD extends TranslateTxt {
}
}//package
Section 131
//BEST (BEST)
package {
import Code.*;
public dynamic class BEST extends TranslateTxt {
}
}//package
Section 132
//bigShip (bigShip)
package {
import flash.display.*;
public dynamic class bigShip extends Sprite {
public var shooter:MovieClip;
public var shipmc:MovieClip;
public var healthmc:MovieClip;
}
}//package
Section 133
//bomb_down_s (bomb_down_s)
package {
import flash.media.*;
public dynamic class bomb_down_s extends Sound {
}
}//package
Section 134
//bomb_fry_s (bomb_fry_s)
package {
import flash.media.*;
public dynamic class bomb_fry_s extends Sound {
}
}//package
Section 135
//bomb_hit_s (bomb_hit_s)
package {
import flash.media.*;
public dynamic class bomb_hit_s extends Sound {
}
}//package
Section 136
//bomb_s (bomb_s)
package {
import flash.media.*;
public dynamic class bomb_s extends Sound {
}
}//package
Section 137
//bomb_water_s (bomb_water_s)
package {
import flash.media.*;
public dynamic class bomb_water_s extends Sound {
}
}//package
Section 138
//bombEffect0 (bombEffect0)
package {
import flash.display.*;
import flash.filters.*;
public dynamic class bombEffect0 extends MovieClip {
public var hitTestMc:MovieClip;
public function bombEffect0(){
addFrameScript(18, frame19, 19, frame20);
}
function frame20(){
stop();
if (this.parent != null){
this.parent.removeChild(this);
};
}
function frame19(){
new ColorMatrixFilter();
}
}
}//package
Section 139
//bombEffect1 (bombEffect1)
package {
import flash.display.*;
public dynamic class bombEffect1 extends MovieClip {
public var hitTestMc:MovieClip;
public function bombEffect1(){
addFrameScript(27, frame28);
}
function frame28(){
stop();
if (this.parent != null){
this.parent.removeChild(this);
};
}
}
}//package
Section 140
//bombEffect2 (bombEffect2)
package {
import flash.display.*;
public dynamic class bombEffect2 extends MovieClip {
public var hitTestMc:MovieClip;
public function bombEffect2(){
addFrameScript(18, frame19);
}
function frame19(){
stop();
if (this.parent != null){
this.parent.removeChild(this);
};
}
}
}//package
Section 141
//bombInWater (bombInWater)
package {
import flash.display.*;
public dynamic class bombInWater extends MovieClip {
public var hitTestMc:MovieClip;
public function bombInWater(){
addFrameScript(27, frame28);
}
function frame28(){
stop();
if (this.parent != null){
this.parent.removeChild(this);
};
}
}
}//package
Section 142
//BONUS (BONUS)
package {
import Code.*;
public dynamic class BONUS extends McButton {
}
}//package
Section 143
//bonusScreen (bonusScreen)
package {
import flash.display.*;
public dynamic class bonusScreen extends MovieClip {
public var stopBtn:STOP;
public var backBtn:OK;
public var rollMc:MovieClip;
}
}//package
Section 144
//BONUStxt (BONUStxt)
package {
import Code.*;
public dynamic class BONUStxt extends TranslateTxt {
}
}//package
Section 145
//branding_aligned_center (branding_aligned_center)
package {
import Code.*;
public dynamic class branding_aligned_center extends Brand {
}
}//package
Section 146
//BreathXue (BreathXue)
package {
import Code.*;
public dynamic class BreathXue extends TranslateTxt {
}
}//package
Section 147
//Bullet0 (Bullet0)
package {
import flash.display.*;
public dynamic class Bullet0 extends MovieClip {
}
}//package
Section 148
//Bullet1 (Bullet1)
package {
import flash.display.*;
public dynamic class Bullet1 extends MovieClip {
}
}//package
Section 149
//bulletHit (bulletHit)
package {
import flash.display.*;
public dynamic class bulletHit extends MovieClip {
}
}//package
Section 150
//bulletHit0 (bulletHit0)
package {
import flash.display.*;
public dynamic class bulletHit0 extends MovieClip {
public function bulletHit0(){
addFrameScript(7, frame8);
}
function frame8(){
stop();
if (this.parent != null){
this.parent.removeChild(this);
};
}
}
}//package
Section 151
//bulletSingle0 (bulletSingle0)
package {
import flash.display.*;
public dynamic class bulletSingle0 extends MovieClip {
public var smc:MovieClip;
public var mc:MovieClip;
}
}//package
Section 152
//bulletSingle1 (bulletSingle1)
package {
import flash.display.*;
public dynamic class bulletSingle1 extends MovieClip {
public var smc:MovieClip;
public var mc:MovieClip;
}
}//package
Section 153
//CANCEL (CANCEL)
package {
import Code.*;
public dynamic class CANCEL extends McButton {
}
}//package
Section 154
//CANCELtxt (CANCELtxt)
package {
import Code.*;
public dynamic class CANCELtxt extends TranslateTxt {
}
}//package
Section 155
//cannon_fire_s (cannon_fire_s)
package {
import flash.media.*;
public dynamic class cannon_fire_s extends Sound {
}
}//package
Section 156
//cannon_fire2_s (cannon_fire2_s)
package {
import flash.media.*;
public dynamic class cannon_fire2_s extends Sound {
}
}//package
Section 157
//Cannonball0 (Cannonball0)
package {
import flash.display.*;
public dynamic class Cannonball0 extends MovieClip {
public var smc:MovieClip;
public var mc:MovieClip;
}
}//package
Section 158
//charge (charge)
package {
import Code.*;
public dynamic class charge extends TranslateTxt {
}
}//package
Section 159
//Clicktobattleagain (Clicktobattleagain)
package {
import Code.*;
public dynamic class Clicktobattleagain extends TranslateTxt {
}
}//package
Section 160
//cloud (cloud)
package {
import flash.display.*;
public dynamic class cloud extends MovieClip {
public function cloud(){
addFrameScript(199, frame200);
}
function frame200(){
stop();
if (this.parent != null){
this.parent.removeChild(this);
};
}
}
}//package
Section 161
//COM_LoadingBar (COM_LoadingBar)
package {
import flash.display.*;
public dynamic class COM_LoadingBar extends MovieClip {
}
}//package
Section 162
//COM_LoadingProgress (COM_LoadingProgress)
package {
import flash.display.*;
public dynamic class COM_LoadingProgress extends MovieClip {
}
}//package
Section 163
//CONTINUE (CONTINUE)
package {
import Code.*;
public dynamic class CONTINUE extends McButton {
}
}//package
Section 164
//CONTINUEtxt (CONTINUEtxt)
package {
import Code.*;
public dynamic class CONTINUEtxt extends TranslateTxt {
}
}//package
Section 165
//danger_m (danger_m)
package {
import flash.media.*;
public dynamic class danger_m extends Sound {
}
}//package
Section 166
//DISABLEALLENEMIEStxt (DISABLEALLENEMIEStxt)
package {
import Code.*;
public dynamic class DISABLEALLENEMIEStxt extends TranslateTxt {
}
}//package
Section 167
//editorListScreen (editorListScreen)
package {
import flash.display.*;
public dynamic class editorListScreen extends MovieClip {
}
}//package
Section 168
//EMP (EMP)
package {
import Code.*;
public dynamic class EMP extends TranslateTxt {
}
}//package
Section 169
//EMPtxt (EMPtxt)
package {
import Code.*;
public dynamic class EMPtxt extends TranslateTxt {
}
}//package
Section 170
//ENEMIESDESTROYED (ENEMIESDESTROYED)
package {
import Code.*;
public dynamic class ENEMIESDESTROYED extends TranslateTxt {
}
}//package
Section 171
//fire_s (fire_s)
package {
import flash.media.*;
public dynamic class fire_s extends Sound {
}
}//package
Section 172
//fly_s (fly_s)
package {
import flash.media.*;
public dynamic class fly_s extends Sound {
}
}//package
Section 173
//freeze_mc (freeze_mc)
package {
import flash.display.*;
public dynamic class freeze_mc extends MovieClip {
public function freeze_mc(){
addFrameScript(39, frame40);
}
function frame40(){
this.visible = false;
stop();
}
}
}//package
Section 174
//freezeTimeMc (freezeTimeMc)
package {
import flash.display.*;
import flash.text.*;
public dynamic class freezeTimeMc extends MovieClip {
public var freezeTimeTxt:TextField;
}
}//package
Section 175
//FuChong (FuChong)
package {
import Code.*;
public dynamic class FuChong extends TranslateTxt {
}
}//package
Section 176
//GameDesign (GameDesign)
package {
import Code.*;
public dynamic class GameDesign extends TranslateTxt {
}
}//package
Section 177
//GAMEOVER (GAMEOVER)
package {
import Code.*;
public dynamic class GAMEOVER extends TranslateTxt {
}
}//package
Section 178
//gameOver_m (gameOver_m)
package {
import flash.media.*;
public dynamic class gameOver_m extends Sound {
}
}//package
Section 179
//GameOverScreen (GameOverScreen)
package {
import flash.display.*;
public dynamic class GameOverScreen extends MovieClip {
public var moreGamesBtn:branding_aligned_center;
public var gameOverCon:MovieClip;
public function GameOverScreen(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
}
}
}//package
Section 180
//GAMEPAUSED (GAMEPAUSED)
package {
import Code.*;
public dynamic class GAMEPAUSED extends TranslateTxt {
}
}//package
Section 181
//get_shield_s (get_shield_s)
package {
import flash.media.*;
public dynamic class get_shield_s extends Sound {
}
}//package
Section 182
//GOALtxt (GOALtxt)
package {
import Code.*;
public dynamic class GOALtxt extends TranslateTxt {
}
}//package
Section 183
//gun_fire_s (gun_fire_s)
package {
import flash.media.*;
public dynamic class gun_fire_s extends Sound {
}
}//package
Section 184
//gun_fire2_s (gun_fire2_s)
package {
import flash.media.*;
public dynamic class gun_fire2_s extends Sound {
}
}//package
Section 185
//HIGHSCORE (HIGHSCORE)
package {
import Code.*;
public dynamic class HIGHSCORE extends McButton {
}
}//package
Section 186
//HighScoreScreen (HighScoreScreen)
package {
import flash.display.*;
import flash.text.*;
public dynamic class HighScoreScreen extends MovieClip {
public var r2:TextField;
public var r3:TextField;
public var r5:TextField;
public var r6:TextField;
public var r7:TextField;
public var r8:TextField;
public var r9:TextField;
public var r4:TextField;
public var s0:TextField;
public var s1:TextField;
public var s3:TextField;
public var s4:TextField;
public var s5:TextField;
public var s6:TextField;
public var s7:TextField;
public var s8:TextField;
public var s2:TextField;
public var mainMenuBtn0:PLAYAGAINhighscore;
public var mainMenuBtn1:MAINMENU_hihg_score;
public var s9:TextField;
public var moreGamesBtn:MOREGAMES_highscorenouse;
public var newTxtMc:MovieClip;
public var w0:TextField;
public var w1:TextField;
public var w2:TextField;
public var w4:TextField;
public var w6:TextField;
public var w8:TextField;
public var w3:TextField;
public var w5:TextField;
public var w7:TextField;
public var w9:TextField;
public var conSprite:MovieClip;
public var n0:TextField;
public var n1:TextField;
public var n2:TextField;
public var n3:TextField;
public var n5:TextField;
public var n7:TextField;
public var n8:TextField;
public var n9:TextField;
public var n6:TextField;
public var n4:TextField;
public var r0:TextField;
public var r1:TextField;
}
}//package
Section 187
//HIGHSCOREStxt (HIGHSCOREStxt)
package {
import Code.*;
public dynamic class HIGHSCOREStxt extends TranslateTxt {
}
}//package
Section 188
//HIGHSCOREtxt (HIGHSCOREtxt)
package {
import Code.*;
public dynamic class HIGHSCOREtxt extends TranslateTxt {
}
}//package
Section 189
//HITS (HITS)
package {
import Code.*;
public dynamic class HITS extends TranslateTxt {
}
}//package
Section 190
//HOWTOPLAY (HOWTOPLAY)
package {
import Code.*;
public dynamic class HOWTOPLAY extends McButton {
}
}//package
Section 191
//HowToPlayScreen (HowToPlayScreen)
package {
import flash.display.*;
public dynamic class HowToPlayScreen extends MovieClip {
public var backBtn:back;
public var backBtn1:back;
public var startBtn:START;
public var preBtn:HOWTOPLAY;
public var moreBtn:MORE;
public var backBtn2:MAINMENU;
public var okBtn:OK;
}
}//package
Section 192
//HOWTOPLAYtxt (HOWTOPLAYtxt)
package {
import Code.*;
public dynamic class HOWTOPLAYtxt extends TranslateTxt {
}
}//package
Section 193
//HOWTOPLAYtxttxt (HOWTOPLAYtxttxt)
package {
import Code.*;
public dynamic class HOWTOPLAYtxttxt extends TranslateTxt {
}
}//package
Section 194
//HOWTOPLAY副本 (HOWTOPLAY副本)
package {
import Code.*;
public dynamic class HOWTOPLAY副本 extends McButton {
}
}//package
Section 195
//HPtxt (HPtxt)
package {
import Code.*;
public dynamic class HPtxt extends TranslateTxt {
}
}//package
Section 196
//huge_bomb_s (huge_bomb_s)
package {
import flash.media.*;
public dynamic class huge_bomb_s extends Sound {
}
}//package
Section 197
//hyMc3 (hyMc3)
package {
import flash.display.*;
public dynamic class hyMc3 extends MovieClip {
public var _mc1:MovieClip;
public function hyMc3(){
addFrameScript(1, frame2);
}
function frame2(){
stop();
_mc1.scaleX = ((Math.random() * 0.3) + 0.7);
_mc1.scaleY = ((Math.random() * 0.3) + 0.7);
}
}
}//package
Section 198
//Insufficientfunds (Insufficientfunds)
package {
import Code.*;
public dynamic class Insufficientfunds extends TranslateTxt {
}
}//package
Section 199
//JiZhenyu (JiZhenyu)
package {
import Code.*;
public dynamic class JiZhenyu extends TranslateTxt {
}
}//package
Section 200
//laser_s (laser_s)
package {
import flash.media.*;
public dynamic class laser_s extends Sound {
}
}//package
Section 201
//Lethe_Alert_Page (Lethe_Alert_Page)
package {
import flash.display.*;
public dynamic class Lethe_Alert_Page extends MovieClip {
}
}//package
Section 202
//Lethe_All_Logo (Lethe_All_Logo)
package {
import flash.display.*;
public dynamic class Lethe_All_Logo extends MovieClip {
}
}//package
Section 203
//Lethe_BackGround (Lethe_BackGround)
package {
import flash.display.*;
public dynamic class Lethe_BackGround extends MovieClip {
}
}//package
Section 204
//Lethe_Button_Back (Lethe_Button_Back)
package {
import flash.display.*;
public dynamic class Lethe_Button_Back extends MovieClip {
}
}//package
Section 205
//Lethe_Button_Down (Lethe_Button_Down)
package {
import flash.display.*;
public dynamic class Lethe_Button_Down extends MovieClip {
public var _txt:MovieClip;
}
}//package
Section 206
//Lethe_Button_Down2 (Lethe_Button_Down2)
package {
import flash.display.*;
public dynamic class Lethe_Button_Down2 extends MovieClip {
public var _txt:MovieClip;
}
}//package
Section 207
//Lethe_Button_Down3 (Lethe_Button_Down3)
package {
import flash.display.*;
public dynamic class Lethe_Button_Down3 extends MovieClip {
public var _txt:MovieClip;
}
}//package
Section 208
//Lethe_Button_Up (Lethe_Button_Up)
package {
import flash.display.*;
public dynamic class Lethe_Button_Up extends MovieClip {
public var _txt:MovieClip;
}
}//package
Section 209
//Lethe_Button_Up2 (Lethe_Button_Up2)
package {
import flash.display.*;
public dynamic class Lethe_Button_Up2 extends MovieClip {
public var _txt:MovieClip;
}
}//package
Section 210
//Lethe_Button_Up3 (Lethe_Button_Up3)
package {
import flash.display.*;
public dynamic class Lethe_Button_Up3 extends MovieClip {
public var _txt:MovieClip;
}
}//package
Section 211
//Lethe_Continue_Button (Lethe_Continue_Button)
package {
import flash.display.*;
public dynamic class Lethe_Continue_Button extends MovieClip {
public function Lethe_Continue_Button(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package
Section 212
//Lethe_FocusLine (Lethe_FocusLine)
package {
import flash.display.*;
public dynamic class Lethe_FocusLine extends MovieClip {
}
}//package
Section 213
//Lethe_LineBack (Lethe_LineBack)
package {
import flash.display.*;
public dynamic class Lethe_LineBack extends MovieClip {
}
}//package
Section 214
//Lethe_LineBack2 (Lethe_LineBack2)
package {
import flash.display.*;
public dynamic class Lethe_LineBack2 extends MovieClip {
}
}//package
Section 215
//Lethe_Link_Button (Lethe_Link_Button)
package {
import flash.display.*;
public dynamic class Lethe_Link_Button extends MovieClip {
public function Lethe_Link_Button(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package
Section 216
//Lethe_Loading_Text (Lethe_Loading_Text)
package {
import flash.display.*;
public dynamic class Lethe_Loading_Text extends MovieClip {
}
}//package
Section 217
//Lethe_PreviewMc (Lethe_PreviewMc)
package {
import flash.display.*;
public dynamic class Lethe_PreviewMc extends MovieClip {
}
}//package
Section 218
//Lethe_Text1 (Lethe_Text1)
package {
import flash.display.*;
public dynamic class Lethe_Text1 extends MovieClip {
}
}//package
Section 219
//Lethe_Text2 (Lethe_Text2)
package {
import flash.display.*;
public dynamic class Lethe_Text2 extends MovieClip {
}
}//package
Section 220
//Lethe_Text3 (Lethe_Text3)
package {
import flash.display.*;
public dynamic class Lethe_Text3 extends MovieClip {
}
}//package
Section 221
//LEVEL (LEVEL)
package {
import Code.*;
public dynamic class LEVEL extends TranslateTxt {
}
}//package
Section 222
//level_m0 (level_m0)
package {
import flash.media.*;
public dynamic class level_m0 extends Sound {
}
}//package
Section 223
//level_m1 (level_m1)
package {
import flash.media.*;
public dynamic class level_m1 extends Sound {
}
}//package
Section 224
//level_m2 (level_m2)
package {
import flash.media.*;
public dynamic class level_m2 extends Sound {
}
}//package
Section 225
//level_m3 (level_m3)
package {
import flash.media.*;
public dynamic class level_m3 extends Sound {
}
}//package
Section 226
//LevelCompleteScreen (LevelCompleteScreen)
package {
import flash.display.*;
import flash.text.*;
public dynamic class LevelCompleteScreen extends MovieClip {
public var pri1_txt:TextField;
public var moreGamesMc:branding_aligned_center;
public var pri2_txt0:TextField;
public var levelScore_txt:TextField;
public var sec0_txt:TextField;
public var sec2_txt:TextField;
public var sec2_txt0:TextField;
public var totalScore_txt:TextField;
public var nextBtn:NEXTWAVE;
public var money_txt:TextField;
public var pri0_txt:TextField;
public var sec1_txt:TextField;
public var priWeapon:MovieClip;
public var bonusBtn:BONUS;
public var pri2_txt:TextField;
public var secWeapon:MovieClip;
}
}//package
Section 227
//LEVELSCORE (LEVELSCORE)
package {
import Code.*;
public dynamic class LEVELSCORE extends TranslateTxt {
}
}//package
Section 228
//Lifesaver (Lifesaver)
package {
import Code.*;
public dynamic class Lifesaver extends TranslateTxt {
}
}//package
Section 229
//Lifesavertxt (Lifesavertxt)
package {
import Code.*;
public dynamic class Lifesavertxt extends TranslateTxt {
}
}//package
Section 230
//LoadingScreen (LoadingScreen)
package {
import flash.display.*;
import flash.text.*;
public dynamic class LoadingScreen extends MovieClip {
public var moreGamesMc:branding_aligned_center;
public var txt:TextField;
public var loadingMc:MovieClip;
}
}//package
Section 231
//LockedonTxtMc (LockedonTxtMc)
package {
import flash.display.*;
public dynamic class LockedonTxtMc extends MovieClip {
}
}//package
Section 232
//magnet_hit_s (magnet_hit_s)
package {
import flash.media.*;
public dynamic class magnet_hit_s extends Sound {
}
}//package
Section 233
//magnet_s (magnet_s)
package {
import flash.media.*;
public dynamic class magnet_s extends Sound {
}
}//package
Section 234
//Magnet0 (Magnet0)
package {
import flash.display.*;
public dynamic class Magnet0 extends MovieClip {
public var smc:MovieClip;
public var mc:MovieClip;
}
}//package
Section 235
//MagnetEffect0 (MagnetEffect0)
package {
import flash.display.*;
public dynamic class MagnetEffect0 extends MovieClip {
public var hitTestMc:MovieClip;
public function MagnetEffect0(){
addFrameScript(22, frame23);
}
function frame23(){
stop();
if (this.parent != null){
this.parent.removeChild(this);
};
}
}
}//package
Section 236
//MAINMENU (MAINMENU)
package {
import Code.*;
public dynamic class MAINMENU extends McButton {
}
}//package
Section 237
//MAINMENU_hihg_score (MAINMENU_hihg_score)
package {
import Code.*;
public dynamic class MAINMENU_hihg_score extends McButton {
}
}//package
Section 238
//MAINMENUtxt (MAINMENUtxt)
package {
import Code.*;
public dynamic class MAINMENUtxt extends TranslateTxt {
}
}//package
Section 239
//MainScreen (MainScreen)
package {
import flash.display.*;
public dynamic class MainScreen extends MovieClip {
public var menuBtns:MovieClip;
}
}//package
Section 240
//mediumShip (mediumShip)
package {
import flash.display.*;
public dynamic class mediumShip extends Sprite {
public var shooter:MovieClip;
public var shipmc:MovieClip;
public var healthmc:MovieClip;
}
}//package
Section 241
//menu_back_s (menu_back_s)
package {
import flash.media.*;
public dynamic class menu_back_s extends Sound {
}
}//package
Section 242
//menu_m (menu_m)
package {
import flash.media.*;
public dynamic class menu_m extends Sound {
}
}//package
Section 243
//menu_open_s (menu_open_s)
package {
import flash.media.*;
public dynamic class menu_open_s extends Sound {
}
}//package
Section 244
//menu_press_s (menu_press_s)
package {
import flash.media.*;
public dynamic class menu_press_s extends Sound {
}
}//package
Section 245
//menu_touch_s (menu_touch_s)
package {
import flash.media.*;
public dynamic class menu_touch_s extends Sound {
}
}//package
Section 246
//Missile0 (Missile0)
package {
import flash.display.*;
public dynamic class Missile0 extends MovieClip {
public var smc:MovieClip;
public var mc:MovieClip;
}
}//package
Section 247
//MOERFREEONLINEGAMESAT (MOERFREEONLINEGAMESAT)
package {
import Code.*;
public dynamic class MOERFREEONLINEGAMESAT extends TranslateTxt {
}
}//package
Section 248
//MONEY (MONEY)
package {
import Code.*;
public dynamic class MONEY extends TranslateTxt {
}
}//package
Section 249
//MONEYEARNED (MONEYEARNED)
package {
import Code.*;
public dynamic class MONEYEARNED extends TranslateTxt {
}
}//package
Section 250
//MORE (MORE)
package {
import Code.*;
public dynamic class MORE extends McButton {
}
}//package
Section 251
//MOREGAMES (MOREGAMES)
package {
import Code.*;
public dynamic class MOREGAMES extends McButton {
}
}//package
Section 252
//MOREGAMES_highscorenouse (MOREGAMES_highscorenouse)
package {
import Code.*;
public dynamic class MOREGAMES_highscorenouse extends McButton {
}
}//package
Section 253
//MOREGAMES2 (MOREGAMES2)
package {
import Code.*;
public dynamic class MOREGAMES2 extends TranslateTxt {
}
}//package
Section 254
//MOREGAMEStxt (MOREGAMEStxt)
package {
import Code.*;
public dynamic class MOREGAMEStxt extends TranslateTxt {
}
}//package
Section 255
//MOREtxt (MOREtxt)
package {
import Code.*;
public dynamic class MOREtxt extends TranslateTxt {
}
}//package
Section 256
//Music (Music)
package {
import Code.*;
public dynamic class Music extends TranslateTxt {
}
}//package
Section 257
//MUSICtxt (MUSICtxt)
package {
import Code.*;
public dynamic class MUSICtxt extends TranslateTxt {
}
}//package
Section 258
//NAMEtxt (NAMEtxt)
package {
import Code.*;
public dynamic class NAMEtxt extends TranslateTxt {
}
}//package
Section 259
//NAMEtxttxt (NAMEtxttxt)
package {
import Code.*;
public dynamic class NAMEtxttxt extends TranslateTxt {
}
}//package
Section 260
//newtxt (newtxt)
package {
import Code.*;
public dynamic class newtxt extends TranslateTxt {
}
}//package
Section 261
//NEWWEAPON (NEWWEAPON)
package {
import Code.*;
public dynamic class NEWWEAPON extends TranslateTxt {
}
}//package
Section 262
//NEXTWAVE (NEXTWAVE)
package {
import Code.*;
public dynamic class NEXTWAVE extends McButton {
}
}//package
Section 263
//NEXTWAVEtxt (NEXTWAVEtxt)
package {
import Code.*;
public dynamic class NEXTWAVEtxt extends TranslateTxt {
}
}//package
Section 264
//NORMAL (NORMAL)
package {
import Code.*;
public dynamic class NORMAL extends TranslateTxt {
}
}//package
Section 265
//nuclearBomb (nuclearBomb)
package {
import flash.display.*;
public dynamic class nuclearBomb extends MovieClip {
public var hitTestMc:MovieClip;
public function nuclearBomb(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
if (this.parent != null){
this.parent.removeChild(this);
};
}
}
}//package
Section 266
//NuclearRocket0 (NuclearRocket0)
package {
import flash.display.*;
public dynamic class NuclearRocket0 extends MovieClip {
public var smc:MovieClip;
public var mc:MovieClip;
}
}//package
Section 267
//O11111111 (O11111111)
package {
import flash.display.*;
import flash.events.*;
import O11111110.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class O11111111 extends MovieClip {
private const O11111OO1:Array;
private var O11111OO0:int;
public var O111111lO:int;
private var O11111OOO:MovieClip;
public var O111111ll:int;
public var O111111l1:String;
private var O11111O01:Boolean;// = false
public var O111111O0:String;
public var O111111O1:String;
private var O11111OOl;
private var O11111l11;
private var O11111O0O:Loader;
private var O11111O0l;
private var O11111Ol0:MovieClip;
private var O11111l1O;
private var O11111Ol1:Array;
private var O11111O00;
public var O111111OO:String;
private var O11111OlO:String;
public var O111111Ol:String;
private var O11111Oll:Boolean;
public function O11111111():void{
var O11111l1l:int;
var O11111l10:*;
O11111O01 = false;
O11111OO1 = ["Failed to get highscores.", "Failed to get highscores.", "Failed to get highscores.", "Failed to get highscores.", "Ophalen van de highscores mislukt", "Classement échoué.", "Highscores konnten nicht geladen werden.", "Error al cargar las puntuaciones máximas.", "Os recordes não foram recebidos.", "Não conseguiu obter uma das melhores pontuações", "Impossibile recuperare dati sui record.", "Kunde ej hämta toppoäng.", "Pobieranie rankingu nie powiodło się.", "Ошибка! Получить данные о рекордах не удалось!", "Yüksek skorlar alınamadı.", "Gagal untuk mendapatkan skor tertinggi", "Gagal mendapatkan skor tertinggi.", "ハイスコア情報の取得に失敗しました", "获取排行榜失败"];
super();
Security.allowDomain("*");
O11111OOl = this.parent;
O11111OOl.stop();
O11111l1l = 0;
while (true) {
try {
O11111l10 = O11111OOl.getChildAt(O11111l1l);
if ((O11111l10 is MovieClip)){
O11111l10.visible = false;
} else {
O11111OOl.removeChild(O11111l10);
};
O11111l1l = (O11111l1l + 1);
} catch(O11111llO:Error) {
break;
};
};
try {
O11111OOl["O111111O"] = O111110lO;
} catch(O11111llO:Error) {
};
}
public function set O11111O10(_arg1:Boolean):void{
var _local2:LocalConnection;
var _local3:String;
var _local4:Array;
var _local5:int;
var _local6:int;
var _local7:O1111111O;
O11111O01 = _arg1;
O11111Ol1 = ["www8.agame.com", "www.zlonggames.com"];
_local2 = new LocalConnection();
if (_local2.domain != "localhost"){
_local4 = _local2.domain.split(".");
_local5 = (_local4.length - 1);
_local6 = (_local4.length - 2);
O11111OlO = ((_local4[_local6] + ".") + _local4[_local5]);
} else {
O11111OlO = "localhost";
};
O1111111l.O11111OlO().O11111Oll(O11111OlO, O111111Ol, O111111O0);
if (((isNaN(O11111OO0)) || (isNaN(O111111lO)))){
O111110l0();
return;
};
for each (_local3 in O11111Ol1) {
if (_local2.domain == _local3){
_local7 = new O1111111O();
if (_local7.O11111OO1()){
O11111Oll = true;
O1111O110();
return;
};
O111110l0();
return;
};
};
O111110l0();
}
public function O111111l0():Boolean{
return (O11111Oll);
}
private function O1111100O(_arg1:MouseEvent):void{
_arg1.currentTarget.gotoAndStop(1);
}
private function O1111O1l1(_arg1:IOErrorEvent):void{
removeEventListener(Event.ENTER_FRAME, O111110ll);
O11111l11.visible = true;
O11111O00.text = O11111OO1[(O1111111l.O11111OlO().O11111O0O() - 1)];
}
private function O1111O11l(_arg1:MouseEvent):void{
this.O1111O1lO(new Event("000111000100"));
}
private function O1111100l(_arg1:MouseEvent):void{
_arg1.currentTarget.gotoAndStop(3);
}
private function O111110l0():void{
var O11111ll0:*;
if (O11111OOO != null){
O11111OOl.removeChild(O11111OOO);
O11111OOO = null;
};
if (O11111Ol0 == null){
try {
O11111ll0 = getDefinitionByName("Lethe_Alert_Page");
O11111Ol0 = new (O11111ll0);
O11111OOl.addChild(O11111Ol0);
O1111O111();
} catch(O11111llO:Error) {
};
};
}
private function O1111O1lO(_arg1:Event):void{
O11111OOl.dispatchEvent(_arg1);
}
private function O1111O11O(_arg1:MouseEvent):void{
O1111111l.O11111OlO().O11111O0l();
this.O1111O1lO(new Event("00111111000"));
}
private function O111110ll(_arg1:Event):void{
var _local2:int;
_local2 = (((O11111O0O.contentLoaderInfo.bytesLoaded / O11111O0O.contentLoaderInfo.bytesTotal) * 100) >> 0);
if (_local2 == 0){
O11111O0l.gotoAndStop(1);
} else {
O11111O0l.gotoAndStop(_local2);
};
O11111O00.text = (String(_local2) + "%");
if (_local2 >= 100){
O11111l11 = null;
O11111O0l = null;
O11111O00 = null;
removeEventListener(Event.ENTER_FRAME, O111110ll);
O11111OOl.removeChild(O11111OOO);
O11111OOO = null;
};
}
public function get O11111O10():Boolean{
return (O11111O01);
}
public function O11111O11():void{
if (O11111l1O){
O11111l1O.O11111l0O();
};
}
private function O111110lO(_arg1=null, _arg2:String="default", _arg3=1, _arg4="", _arg5:int=0, _arg6:String="normal"):void{
O11111OOl["O11111O10"] = O11111O1l;
O11111OOl["O11111O11"] = O11111O1O;
O11111OOl["O11111100"] = O111111l0;
O11111OOl["O11111101"] = O11111101;
O1111111l.O11111OlO().O11111Ol0(_arg3);
O111111O1 = _arg6;
O111111Ol = _arg2;
if (_arg4 == ""){
O111111O0 = O111111Ol;
} else {
O111111O0 = _arg4;
};
O111111ll = _arg5;
if (((!((_arg1 == null))) && (!((_arg1.loaderInfo == null))))){
O11111OO0 = Number(_arg1.loaderInfo.parameters["id"]);
O111111lO = Number(_arg1.loaderInfo.parameters["s"]);
O111111l1 = "http://www8.agame.com/games/flash/highscore/Submiter.swf";
O11111O10 = true;
};
}
public function O1111110l():void{
if (O11111l1O){
O11111l1O.O11111l00();
};
}
public function O11111O1O():void{
if (O11111l1O){
O11111l1O.O11111l1l();
};
}
public function O11111100():void{
if (O11111l1O){
O11111l1O.O11111l0l();
};
}
private function O1111O1OO(_arg1:MouseEvent):void{
this.O1111O1lO(new Event("00000100110"));
}
private function O1111O1O1():void{
var O111110O1:*;
var O111110OO:*;
var O111110Ol:*;
var O111110O0:*;
var O11111l1l:int;
var O11111l01:int;
var O1111101l:*;
var O11111l10:*;
var O111110l1:*;
O111110O1 = getDefinitionByName("Lethe_Button_Back");
O111110OO = getDefinitionByName("Lethe_Loading_Text");
O111110Ol = getDefinitionByName("COM_LoadingProgress");
O111110O0 = getDefinitionByName("Lethe_Text3");
O11111l1l = 0;
O11111l01 = 0;
while (true) {
try {
O11111l10 = O11111OOO.getChildAt(O11111l1l);
if ((O11111l10 is O111110O1)){
O11111l11 = O11111l10;
O11111001(O11111l11);
O11111l01 = 0;
while (true) {
try {
O1111101l = O11111l11.getChildAt(O11111l01);
if ((O1111101l is O111110O0)){
O1111101l.gotoAndStop(O1111111l.O11111OlO().O11111O0O());
break;
};
O11111l01 = (O11111l01 + 1);
} catch(O11111llO:Error) {
break;
};
};
O11111l11.visible = false;
O11111l10.addEventListener(MouseEvent.CLICK, O1111O1OO, false, 0, true);
} else {
if ((O11111l10 is O111110OO)){
O11111l01 = 0;
while (true) {
try {
O111110l1 = O11111l10.getChildAt(O11111l01);
if ((O111110l1 is TextField)){
O11111O00 = O111110l1;
break;
};
O11111l01 = (O11111l01 + 1);
} catch(O11111llO:Error) {
break;
};
};
} else {
if ((O11111l10 is O111110Ol)){
O11111O0l = O11111l10;
O11111O0l.stop();
};
};
};
O11111l1l = (O11111l1l + 1);
} catch(O11111llO:Error) {
break;
};
};
}
public function O11111101():Boolean{
return (!((O11111l1O == null)));
}
public function O11111O1l(_arg1:int, _arg2:String):void{
if (O11111l1O){
O11111l1O.O11111l10(_arg1, _arg2);
};
}
public function O1111110O(_arg1:Number, _arg2:Number):void{
if (O11111O0O){
O11111O0O.scaleX = (_arg1 / 460);
O11111O0O.scaleY = (_arg2 / 300);
};
}
private function O1111O1Ol(_arg1:Event):void{
this.dispatchEvent(new Event(Event.COMPLETE));
O11111l1O = _arg1.currentTarget.content;
O11111l1O.addEventListener("000111000100", O1111O1lO);
O11111l1O.addEventListener("00111111000", O1111O1lO);
O11111l1O.addEventListener("000000000000", O1111O1lO);
O11111l1O.addEventListener("010101010100", O1111O1lO);
O11111l1O.addEventListener("000001111111", O1111O1lO);
O11111l1O.O11111l1O(O11111OO0, O111111lO, O111111ll, O111111Ol, O11111O10, O1111111l.O11111OlO().O11111OOO, O111111O1);
O11111l1O.O11111l11(O1111O1O0("Lethe_BackGround"), O1111O1O0("Lethe_Button_Down"), O1111O1O0("Lethe_Button_Down2"), O1111O1O0("Lethe_Button_Down3"), O1111O1O0("Lethe_Button_Up"), O1111O1O0("Lethe_Button_Up2"), O1111O1O0("Lethe_Button_Up3"), O1111O1O0("Lethe_FocusLine"), O1111O1O0("Lethe_LineBack"), O1111O1O0("Lethe_LineBack2"));
O11111O1O();
}
private function O1111O1O0(_arg1:String){
return (getDefinitionByName(_arg1));
}
private function O11111000(_arg1:MouseEvent):void{
_arg1.currentTarget.gotoAndStop(2);
}
private function O11111001(_arg1):void{
_arg1.stop();
_arg1.mouseChildren = false;
_arg1.buttonMode = true;
_arg1.addEventListener(MouseEvent.MOUSE_OVER, O11111000, false, 0, true);
_arg1.addEventListener(MouseEvent.MOUSE_DOWN, O1111100l, false, 0, true);
_arg1.addEventListener(MouseEvent.MOUSE_OUT, O1111100O, false, 0, true);
_arg1.addEventListener(MouseEvent.MOUSE_UP, O1111100O, false, 0, true);
}
private function O1111O111():void{
var O11111l1l:int;
var O11111l01:int;
var O11111l0O:*;
var O11111l0l:*;
var O11111l00:*;
var O11111011:*;
var O1111101O:*;
var O1111101l:*;
var O11111l10:*;
O11111l1l = 0;
O11111l01 = 0;
O11111l0O = getDefinitionByName("Lethe_Continue_Button");
O11111l0l = getDefinitionByName("Lethe_Link_Button");
O11111l00 = getDefinitionByName("Lethe_Text1");
O11111011 = getDefinitionByName("Lethe_Text2");
O1111101O = getDefinitionByName("Lethe_All_Logo");
while (true) {
try {
O11111l10 = O11111Ol0.getChildAt(O11111l1l);
if ((O11111l10 is O11111l0O)){
O11111001(O11111l10);
O11111l10.addEventListener(MouseEvent.CLICK, O1111O11l, false, 0, true);
O11111l01 = 0;
while (true) {
try {
O1111101l = O11111l10.getChildAt(O11111l01);
if ((((O1111101l is O11111l00)) || ((O1111101l is O11111011)))){
O1111101l.gotoAndStop(O1111111l.O11111OlO().O11111O0O());
};
O11111l01 = (O11111l01 + 1);
} catch(O11111llO:Error) {
break;
};
};
} else {
if ((O11111l10 is O11111l0l)){
O11111l10.addEventListener(MouseEvent.CLICK, O1111O11O, false, 0, true);
O11111001(O11111l10);
O11111l01 = 0;
while (true) {
try {
O1111101l = O11111l10.getChildAt(O11111l01);
if ((((O1111101l is O11111l00)) || ((O1111101l is O11111011)))){
O1111101l.gotoAndStop(O1111111l.O11111OlO().O11111O0O());
} else {
if ((O1111101l is O1111101O)){
O1111101l.gotoAndStop(O1111111l.O11111OlO().O11111O01());
};
};
O11111l01 = (O11111l01 + 1);
} catch(O11111llO:Error) {
break;
};
};
};
};
O11111l1l = (O11111l1l + 1);
} catch(O11111llO:Error) {
break;
};
};
}
private function O1111O110():void{
var _local1:*;
stop();
O11111O0O = new Loader();
O11111O0O.load(new URLRequest(O111111l1));
O11111OOl.addChildAt(O11111O0O, 0);
this.addEventListener(Event.ENTER_FRAME, O111110ll);
O11111O0O.contentLoaderInfo.addEventListener(Event.COMPLETE, O1111O1Ol);
O11111O0O.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, O1111O1l1);
_local1 = getDefinitionByName("COM_LoadingBar");
if (_local1 != null){
O11111OOO = new (_local1);
O11111OOl.addChild(O11111OOO);
O1111O1O1();
};
}
}
}//package
Section 268
//O11111OO11 (O11111OO11)
package {
import flash.display.*;
public dynamic class O11111OO11 extends MovieClip {
}
}//package
Section 269
//OFF (OFF)
package {
import Code.*;
public dynamic class OFF extends TranslateTxt {
}
}//package
Section 270
//OK (OK)
package {
import Code.*;
public dynamic class OK extends McButton {
}
}//package
Section 271
//OKtxt (OKtxt)
package {
import Code.*;
public dynamic class OKtxt extends TranslateTxt {
}
}//package
Section 272
//ON (ON)
package {
import Code.*;
public dynamic class ON extends TranslateTxt {
}
}//package
Section 273
//parentRocket0 (parentRocket0)
package {
import flash.display.*;
public dynamic class parentRocket0 extends MovieClip {
public var smc:MovieClip;
public var mc:MovieClip;
}
}//package
Section 274
//PAUSE (PAUSE)
package {
import Code.*;
public dynamic class PAUSE extends McButton {
}
}//package
Section 275
//pause_btn_s (pause_btn_s)
package {
import flash.media.*;
public dynamic class pause_btn_s extends Sound {
}
}//package
Section 276
//pauseScreen (pauseScreen)
package {
import flash.display.*;
public dynamic class pauseScreen extends MovieClip {
public var howToPlayBtn:HOWTOPLAY;
public var continueBtn:CONTINUE;
public var menuBtn:MAINMENU;
public var con:MovieClip;
}
}//package
Section 277
//PAUSEtxt (PAUSEtxt)
package {
import Code.*;
public dynamic class PAUSEtxt extends TranslateTxt {
}
}//package
Section 278
//PLAYAGAINhighscore (PLAYAGAINhighscore)
package {
import Code.*;
public dynamic class PLAYAGAINhighscore extends McButton {
}
}//package
Section 279
//POSITIONtxt (POSITIONtxt)
package {
import Code.*;
public dynamic class POSITIONtxt extends TranslateTxt {
}
}//package
Section 280
//primaryMc0 (primaryMc0)
package {
import flash.display.*;
public dynamic class primaryMc0 extends MovieClip {
public var fsk:MovieClip;
public var fskxg:MovieClip;
public function primaryMc0(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 281
//primaryMc1 (primaryMc1)
package {
import flash.display.*;
public dynamic class primaryMc1 extends MovieClip {
public var fsk:MovieClip;
public var fskxg:MovieClip;
public function primaryMc1(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 282
//primaryMc2 (primaryMc2)
package {
import flash.display.*;
public dynamic class primaryMc2 extends MovieClip {
public var fsk:MovieClip;
public var fskxg:MovieClip;
}
}//package
Section 283
//primaryMc3 (primaryMc3)
package {
import flash.display.*;
public dynamic class primaryMc3 extends MovieClip {
public var fsk:MovieClip;
public var fskxg:MovieClip;
public function primaryMc3(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 284
//primaryMc4 (primaryMc4)
package {
import flash.display.*;
public dynamic class primaryMc4 extends MovieClip {
public var fsk:MovieClip;
public var fskxg:MovieClip;
public function primaryMc4(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 285
//PRIMARYWEAPON (PRIMARYWEAPON)
package {
import Code.*;
public dynamic class PRIMARYWEAPON extends TranslateTxt {
}
}//package
Section 286
//primaryWeaponHintScreen (primaryWeaponHintScreen)
package {
import flash.display.*;
public dynamic class primaryWeaponHintScreen extends Sprite {
public var okBtn:OK;
}
}//package
Section 287
//PRIMARYWEAPONtxt (PRIMARYWEAPONtxt)
package {
import Code.*;
public dynamic class PRIMARYWEAPONtxt extends TranslateTxt {
}
}//package
Section 288
//Programming (Programming)
package {
import Code.*;
public dynamic class Programming extends TranslateTxt {
}
}//package
Section 289
//QALQATesting (QALQATesting)
package {
import Code.*;
public dynamic class QALQATesting extends TranslateTxt {
}
}//package
Section 290
//QiuYu (QiuYu)
package {
import Code.*;
public dynamic class QiuYu extends TranslateTxt {
}
}//package
Section 291
//QUALITY (QUALITY)
package {
import Code.*;
public dynamic class QUALITY extends TranslateTxt {
}
}//package
Section 292
//RANKINGtxt (RANKINGtxt)
package {
import Code.*;
public dynamic class RANKINGtxt extends TranslateTxt {
}
}//package
Section 293
//RANKtxt (RANKtxt)
package {
import Code.*;
public dynamic class RANKtxt extends TranslateTxt {
}
}//package
Section 294
//reinforceScreen (reinforceScreen)
package {
import flash.display.*;
import flash.text.*;
public dynamic class reinforceScreen extends MovieClip {
public var moreGamesMc:branding_aligned_center;
public var back02:MovieClip;
public var back04:MovieClip;
public var newWeaponTip:MovieClip;
public var back03:MovieClip;
public var back00:MovieClip;
public var back12:MovieClip;
public var back11:MovieClip;
public var back13:MovieClip;
public var turretValueTxt:TextField;
public var back14:MovieClip;
public var back01:MovieClip;
public var back10:MovieClip;
public var curLevelTxt:TextField;
public var curTurretValueTxt:TextField;
public var btnClick:MovieClip;
public var repairingMc:MovieClip;
public var curScoreTxt:TextField;
public var curMoneyTxt:TextField;
}
}//package
Section 295
//REINFORCEtxt (REINFORCEtxt)
package {
import Code.*;
public dynamic class REINFORCEtxt extends TranslateTxt {
}
}//package
Section 296
//REPAIR (REPAIR)
package {
import Code.*;
public dynamic class REPAIR extends McButton {
}
}//package
Section 297
//REPAIRtxt (REPAIRtxt)
package {
import Code.*;
public dynamic class REPAIRtxt extends TranslateTxt {
}
}//package
Section 298
//RequestAir (RequestAir)
package {
import Code.*;
public dynamic class RequestAir extends TranslateTxt {
}
}//package
Section 299
//REQUESTAIRASSAULT (REQUESTAIRASSAULT)
package {
import Code.*;
public dynamic class REQUESTAIRASSAULT extends TranslateTxt {
}
}//package
Section 300
//RequestAirAssaulttxt (RequestAirAssaulttxt)
package {
import Code.*;
public dynamic class RequestAirAssaulttxt extends TranslateTxt {
}
}//package
Section 301
//RESTOREYOURTURRETONCEtxt (RESTOREYOURTURRETONCEtxt)
package {
import Code.*;
public dynamic class RESTOREYOURTURRETONCEtxt extends TranslateTxt {
}
}//package
Section 302
//RicoGu (RicoGu)
package {
import Code.*;
public dynamic class RicoGu extends TranslateTxt {
}
}//package
Section 303
//rocket_fire_s (rocket_fire_s)
package {
import flash.media.*;
public dynamic class rocket_fire_s extends Sound {
}
}//package
Section 304
//Rocket0 (Rocket0)
package {
import flash.display.*;
public dynamic class Rocket0 extends MovieClip {
public var smc:MovieClip;
public var mc:MovieClip;
}
}//package
Section 305
//SaskiavantHoff (SaskiavantHoff)
package {
import Code.*;
public dynamic class SaskiavantHoff extends TranslateTxt {
}
}//package
Section 306
//SCORE (SCORE)
package {
import Code.*;
public dynamic class SCORE extends TranslateTxt {
}
}//package
Section 307
//SCOREtxt (SCOREtxt)
package {
import Code.*;
public dynamic class SCOREtxt extends TranslateTxt {
}
}//package
Section 308
//Second (Second)
package {
import Code.*;
public dynamic class Second extends TranslateTxt {
}
}//package
Section 309
//secondaryMc0 (secondaryMc0)
package {
import flash.display.*;
public dynamic class secondaryMc0 extends MovieClip {
public var fsk:MovieClip;
public var fsk1:MovieClip;
public function secondaryMc0(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 310
//secondaryMc1 (secondaryMc1)
package {
import flash.display.*;
public dynamic class secondaryMc1 extends MovieClip {
public var fsk:MovieClip;
public var fsk1:MovieClip;
public function secondaryMc1(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 311
//secondaryMc2 (secondaryMc2)
package {
import flash.display.*;
public dynamic class secondaryMc2 extends MovieClip {
public var fskxg1:MovieClip;
public var fsk:MovieClip;
public var fskxg:MovieClip;
public var fsk1:MovieClip;
public function secondaryMc2(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 312
//secondaryMc3 (secondaryMc3)
package {
import flash.display.*;
public dynamic class secondaryMc3 extends MovieClip {
public var fsk:MovieClip;
public var fireWeaponMc:MovieClip;
public var fsk1:MovieClip;
}
}//package
Section 313
//secondaryMc4 (secondaryMc4)
package {
import flash.display.*;
public dynamic class secondaryMc4 extends MovieClip {
public var fsk:MovieClip;
public var fsk1:MovieClip;
}
}//package
Section 314
//SECONDARYWEAPON (SECONDARYWEAPON)
package {
import Code.*;
public dynamic class SECONDARYWEAPON extends TranslateTxt {
}
}//package
Section 315
//SECONDARYWEAPONtxt (SECONDARYWEAPONtxt)
package {
import Code.*;
public dynamic class SECONDARYWEAPONtxt extends TranslateTxt {
}
}//package
Section 316
//SecondShieldtxt (SecondShieldtxt)
package {
import Code.*;
public dynamic class SecondShieldtxt extends TranslateTxt {
}
}//package
Section 317
//SELECTWEAPONStxt (SELECTWEAPONStxt)
package {
import Code.*;
public dynamic class SELECTWEAPONStxt extends TranslateTxt {
}
}//package
Section 318
//shield (shield)
package {
import flash.display.*;
import flash.text.*;
public dynamic class shield extends MovieClip {
public var txt:TextField;
}
}//package
Section 319
//ship_des_s (ship_des_s)
package {
import flash.media.*;
public dynamic class ship_des_s extends Sound {
}
}//package
Section 320
//shipRewardScreen (shipRewardScreen)
package {
import flash.display.*;
public dynamic class shipRewardScreen extends MovieClip {
public var mc:MovieClip;
public function shipRewardScreen(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
this.parent.removeChild(this);
}
}
}//package
Section 321
//SHOOTINGtxt (SHOOTINGtxt)
package {
import Code.*;
public dynamic class SHOOTINGtxt extends TranslateTxt {
}
}//package
Section 322
//SHOTSFIRED (SHOTSFIRED)
package {
import Code.*;
public dynamic class SHOTSFIRED extends TranslateTxt {
}
}//package
Section 323
//smallShip (smallShip)
package {
import flash.display.*;
public dynamic class smallShip extends Sprite {
public var shipmc:MovieClip;
public var healthmc:MovieClip;
}
}//package
Section 324
//smallShip_move_s (smallShip_move_s)
package {
import flash.media.*;
public dynamic class smallShip_move_s extends Sound {
}
}//package
Section 325
//SOUND (SOUND)
package {
import Code.*;
public dynamic class SOUND extends TranslateTxt {
}
}//package
Section 326
//SPACEtxt (SPACEtxt)
package {
import Code.*;
public dynamic class SPACEtxt extends TranslateTxt {
}
}//package
Section 327
//SpecialConfirmMc (SpecialConfirmMc)
package {
import flash.display.*;
import flash.text.*;
public dynamic class SpecialConfirmMc extends MovieClip {
public var spendTxt:TextField;
public var bg:backGround;
public var moneyTxt:TextField;
public var cancelBtn:CANCEL;
public var okBtn:OK;
}
}//package
Section 328
//SPECIALS (SPECIALS)
package {
import Code.*;
public dynamic class SPECIALS extends McButton {
}
}//package
Section 329
//SPECIALS1 (SPECIALS1)
package {
import Code.*;
public dynamic class SPECIALS1 extends TranslateTxt {
}
}//package
Section 330
//SpecialScreen (SpecialScreen)
package {
import flash.display.*;
import flash.text.*;
public dynamic class SpecialScreen extends MovieClip {
public var price1:TextField;
public var price2:TextField;
public var life:MovieClip;
public var price0:TextField;
public var price3:TextField;
public var clickMc:MovieClip;
public var plane:MovieClip;
public var shield:MovieClip;
public var num0:TextField;
public var num1:TextField;
public var num3:TextField;
public var num2:TextField;
public var emp:MovieClip;
}
}//package
Section 331
//SPECIALStxt (SPECIALStxt)
package {
import Code.*;
public dynamic class SPECIALStxt extends TranslateTxt {
}
}//package
Section 332
//spilGamesMcClass (spilGamesMcClass)
package {
import Code.*;
public dynamic class spilGamesMcClass extends McButton {
}
}//package
Section 333
//START (START)
package {
import Code.*;
public dynamic class START extends McButton {
}
}//package
Section 334
//STARTGAME (STARTGAME)
package {
import Code.*;
public dynamic class STARTGAME extends McButton {
}
}//package
Section 335
//STARTGAMEtxt (STARTGAMEtxt)
package {
import Code.*;
public dynamic class STARTGAMEtxt extends TranslateTxt {
}
}//package
Section 336
//STARTtxt (STARTtxt)
package {
import Code.*;
public dynamic class STARTtxt extends TranslateTxt {
}
}//package
Section 337
//STOP (STOP)
package {
import Code.*;
public dynamic class STOP extends McButton {
}
}//package
Section 338
//STOPtxt (STOPtxt)
package {
import Code.*;
public dynamic class STOPtxt extends TranslateTxt {
}
}//package
Section 339
//subMarine (subMarine)
package {
import flash.display.*;
public dynamic class subMarine extends Sprite {
public var shooter:MovieClip;
public var shipmc:MovieClip;
public var healthmc:MovieClip;
}
}//package
Section 340
//submarine_down_s (submarine_down_s)
package {
import flash.media.*;
public dynamic class submarine_down_s extends Sound {
}
}//package
Section 341
//submarine_up_s (submarine_up_s)
package {
import flash.media.*;
public dynamic class submarine_up_s extends Sound {
}
}//package
Section 342
//SUBMITSCORE (SUBMITSCORE)
package {
import Code.*;
public dynamic class SUBMITSCORE extends McButton {
}
}//package
Section 343
//SUBMITSCOREtxt (SUBMITSCOREtxt)
package {
import Code.*;
public dynamic class SUBMITSCOREtxt extends TranslateTxt {
}
}//package
Section 344
//SURVIVEASMANYWAVESAStxt (SURVIVEASMANYWAVESAStxt)
package {
import Code.*;
public dynamic class SURVIVEASMANYWAVESAStxt extends TranslateTxt {
}
}//package
Section 345
//THANKYOUFORPLAYING (THANKYOUFORPLAYING)
package {
import Code.*;
public dynamic class THANKYOUFORPLAYING extends TranslateTxt {
}
}//package
Section 346
//THISCOSTS (THISCOSTS)
package {
import Code.*;
public dynamic class THISCOSTS extends TranslateTxt {
}
}//package
Section 347
//TomasStaelens (TomasStaelens)
package {
import Code.*;
public dynamic class TomasStaelens extends TranslateTxt {
}
}//package
Section 348
//toolTip (toolTip)
package {
import flash.display.*;
public dynamic class toolTip extends Sprite {
public var tipmc:MovieClip;
public var back:MovieClip;
}
}//package
Section 349
//Torpedo0 (Torpedo0)
package {
import flash.display.*;
public dynamic class Torpedo0 extends MovieClip {
public var smc:MovieClip;
public var mc:MovieClip;
}
}//package
Section 350
//TOTALSCORE (TOTALSCORE)
package {
import Code.*;
public dynamic class TOTALSCORE extends TranslateTxt {
}
}//package
Section 351
//TOTALSCOREtxt (TOTALSCOREtxt)
package {
import Code.*;
public dynamic class TOTALSCOREtxt extends TranslateTxt {
}
}//package
Section 352
//TurretRepaired (TurretRepaired)
package {
import Code.*;
public dynamic class TurretRepaired extends TranslateTxt {
}
}//package
Section 353
//turretSprite (turretSprite)
package {
import flash.display.*;
public dynamic class turretSprite extends MovieClip {
public var hitTestMc:MovieClip;
public var secWeaponEnergy:MovieClip;
public var weaponMc:MovieClip;
public var weaponEnergy:MovieClip;
public var healthmc:MovieClip;
}
}//package
Section 354
//TurretUpgraded (TurretUpgraded)
package {
import Code.*;
public dynamic class TurretUpgraded extends TranslateTxt {
}
}//package
Section 355
//UPGRADE (UPGRADE)
package {
import Code.*;
public dynamic class UPGRADE extends McButton {
}
}//package
Section 356
//upgradeConfirmMc (upgradeConfirmMc)
package {
import flash.display.*;
import flash.text.*;
public dynamic class upgradeConfirmMc extends MovieClip {
public var bg:backGround;
public var moneyTxt:TextField;
public var okBtn:OK;
}
}//package
Section 357
//UPGRADES (UPGRADES)
package {
import Code.*;
public dynamic class UPGRADES extends TranslateTxt {
}
}//package
Section 358
//UPGRADEtxt (UPGRADEtxt)
package {
import Code.*;
public dynamic class UPGRADEtxt extends TranslateTxt {
}
}//package
Section 359
//UPGRADEYOURTURRETtxt (UPGRADEYOURTURRETtxt)
package {
import Code.*;
public dynamic class UPGRADEYOURTURRETtxt extends TranslateTxt {
}
}//package
Section 360
//UPGRADEYOURtxt (UPGRADEYOURtxt)
package {
import Code.*;
public dynamic class UPGRADEYOURtxt extends TranslateTxt {
}
}//package
Section 361
//USETHEMOUSETOAIMtxt (USETHEMOUSETOAIMtxt)
package {
import Code.*;
public dynamic class USETHEMOUSETOAIMtxt extends TranslateTxt {
}
}//package
Section 362
//WarScreen (WarScreen)
package {
import flash.display.*;
public dynamic class WarScreen extends MovieClip {
public var warHandle:MovieClip;
public var others:MovieClip;
public var warSprite:MovieClip;
}
}//package
Section 363
//WaterWave (WaterWave)
package {
import flash.display.*;
public dynamic class WaterWave extends MovieClip {
public function WaterWave(){
addFrameScript(0, frame1, 20, frame21);
}
function frame1(){
}
function frame21(){
stop();
this.parent.removeChild(this);
}
}
}//package
Section 364
//wave_s (wave_s)
package {
import flash.media.*;
public dynamic class wave_s extends Sound {
}
}//package
Section 365
//WAVECOMPLETE (WAVECOMPLETE)
package {
import Code.*;
public dynamic class WAVECOMPLETE extends TranslateTxt {
}
}//package
Section 366
//WAVESSURVIVEDtxt (WAVESSURVIVEDtxt)
package {
import Code.*;
public dynamic class WAVESSURVIVEDtxt extends TranslateTxt {
}
}//package
Section 367
//WAVEStxt (WAVEStxt)
package {
import Code.*;
public dynamic class WAVEStxt extends TranslateTxt {
}
}//package
Section 368
//weapon_select_s (weapon_select_s)
package {
import flash.media.*;
public dynamic class weapon_select_s extends Sound {
}
}//package
Section 369
//weaponChoose (weaponChoose)
package {
import flash.display.*;
public dynamic class weaponChoose extends Sprite {
public var back02:MovieClip;
public var back04:MovieClip;
public var back00:MovieClip;
public var back03:MovieClip;
public var back01:MovieClip;
public var bg:backGround;
public var back12:MovieClip;
public var back13:MovieClip;
public var back11:MovieClip;
public var back14:MovieClip;
public var back10:MovieClip;
public var okBtn:OK;
}
}//package
Section 370
//WeaponsPowertxt (WeaponsPowertxt)
package {
import Code.*;
public dynamic class WeaponsPowertxt extends TranslateTxt {
}
}//package
Section 371
//WeaponUpgraded (WeaponUpgraded)
package {
import Code.*;
public dynamic class WeaponUpgraded extends TranslateTxt {
}
}//package
Section 372
//win_m (win_m)
package {
import flash.media.*;
public dynamic class win_m extends Sound {
}
}//package
Section 373
//XiangXiaodong (XiangXiaodong)
package {
import Code.*;
public dynamic class XiangXiaodong extends TranslateTxt {
}
}//package
Section 374
//Youareatruewarrior (Youareatruewarrior)
package {
import Code.*;
public dynamic class Youareatruewarrior extends TranslateTxt {
}
}//package
Section 375
//YOURMONEY (YOURMONEY)
package {
import Code.*;
public dynamic class YOURMONEY extends TranslateTxt {
}
}//package
Section 376
//ZCREDITS (ZCREDITS)
package {
import Code.*;
public dynamic class ZCREDITS extends TranslateTxt {
}
}//package
Section 377
//ZGameconcept (ZGameconcept)
package {
import Code.*;
public dynamic class ZGameconcept extends TranslateTxt {
}
}//package
Section 378
//ZProjectmanagement (ZProjectmanagement)
package {
import Code.*;
public dynamic class ZProjectmanagement extends TranslateTxt {
}
}//package
Section 379
//声音控制 (声音控制)
package {
import Code.Game.*;
public dynamic class 声音控制 extends SoundMc {
}
}//package