Frame 1
Stage.scaleMode = "noScale";
Stage.showMenu = false;
fscommand ("trapallkeys", "true");
_quality = "Medium";
stop();
Frame 2
function onlineCheck() {
if (_parent != undefined) {
info.gotoAndStop(2);
stop();
}
if (_url.substr(1, 4) == "file") {
info.gotoAndStop(2);
stop();
}
if (fnIsWinNet()) {
stop();
info.gotoAndStop(2);
}
}
function securityCheck() {
if (_url.split("/")[2].indexOf("www.thebestwebgames") < 0) {
_root.demo = false;
}
}
function fnIsWinNet() {
if (_url.substr(1, 4) == "http") {
return(true);
}
return(false);
}
_root.biscuit = SharedObject.getLocal("xt2");
System.security.allowDomain("www.onlinegamesquad.com", "www.free-online-games-directory.com", "www.thebestwebgames.com");
securityCheck();
Frame 3
stop();
Instance of Symbol 946 MovieClip in Frame 3
onClipEvent (load) {
if (_root.demo != true) {
_parent.nextFrame();
}
}
Frame 4
stop();
var oldchoisie;
var listener = new Object();
listener.onMouseWheel = function () {
_root.oldchoisie._mcObject.sel.gotoAndStop(1);
_root.mcGame._cursorCurrent.clear();
_root.mcGame._layerCanvas.clear();
_root.mcGame._mcMissionUI.zero();
_root.mcGame._mcMissionUI.level.text = "--";
_root.mcGame._mcMissionUI.nom.text = "--";
_root.oldchoisie = 0;
_root.choisie = 0;
};
Mouse.addListener(listener);
Instance of Symbol 948 MovieClip in Frame 4
/* no clip actions */
Symbol 1 MovieClip [aso#01324] Frame 1
#initclip 18
Object.registerClass("aso#01324", aso#22496);
#endinitclip
Symbol 16 MovieClip Frame 1
stop();
var i = 0;
var total = _root.getBytesTotal();
onEnterFrame = function () {
var _local4 = _root.getBytesLoaded();
var _local3 = _local4 / total;
var _local2 = Math.round(_local3 * 100);
_root.loa = ("LOADED : " + _local2) + " %";
loadbar._width = _local2 * 3.35;
if (_local2 == 100) {
_root.play();
}
};
Symbol 20 MovieClip Frame 7
this.removeMovieClip();
stop();
Symbol 949 MovieClip [aso#04529.aso#16507] Frame 0
class aso#16507 extends MovieClip
{
var _parent;
function aso#16507 () {
super();
}
function dispatchMessage(__numMessage, __objParam, __mcInvoker) {
if (__numMessage == undefined) {
__numMessage = MSG_UNDEFINED;
}
if (__mcInvoker == undefined) {
__mcInvoker = this;
}
var _local3 = _parent;
do {
if (_local3 instanceof aso#16507) {
_local3.processMessage(__numMessage, __objParam, __mcInvoker);
return(true);
}
_local3 = _local3._parent;
} while (_local3 != _root);
return(false);
}
function processMessage(__numMessage, __objParam, __mcInvoker) {
dispatchMessage(__numMessage, __objParam, __mcInvoker);
}
static var MSG_UNDEFINED = 0;
static var MSG_TOGGLEPRESS = 1;
static var MSG_MOUSECLICK = 2;
static var MSG_MOUSEOVER = 3;
static var MSG_MOUSEOUT = 4;
static var MSG_TARGETLOST = 5;
static var MSG_READYTOSHOOT = 6;
static var MSG_SPLASHEFFECT = 7;
static var MSG_CREATEGFX = 8;
static var MSG_ENEMYDEAD = 9;
static var MSG_ENEMYPASSED = 10;
static var MSG_HURRYATTACK = 11;
static var MSG_QUITGAME = 12;
static var MSG_PAUSEGAME = 13;
}
Symbol 950 MovieClip [aso#04529.aso#22496] Frame 0
class aso#22496 extends aso#16507
{
var _parent, _numState, _mcMainScreen, _mcOptionsScreen, _mcRulesScreen, _mcViewScoreScreen, _mcSaveScoreScreen, _mcMissionUI, _mcGamePaused, _mcQuitDialog, _mcGameOverDialog, _mapCurrent, _cursorCurrent, _layerCanvas, attachMovie, numMap, numProgram, _arrAbilities, _numMoneyEarned, numScore, _arrQuests1, _arrQuests2, _arrQuests3, _boolPaused, _boolInit, onEnterFrame, _numFunds, _numPopulation, _numProgram, _numProgramPtr, _numEnemiesTimer, _numEnemiesPeriod, _boolPausedBeforeQuit;
function aso#22496 () {
super();
aso#97148.createSoundService(aso#65811.SOUND_NAMES, _parent, 9999);
numState = (STATE_MAINSCREEN);
}
function get numState() {
return(_numState);
}
function set numState(__numValue) {
if (_numState != __numValue) {
_numState = __numValue;
_mcMainScreen.removeMovieClip();
_mcOptionsScreen.removeMovieClip();
_mcRulesScreen.removeMovieClip();
_mcViewScoreScreen.removeMovieClip();
_mcSaveScoreScreen.removeMovieClip();
_mcMissionUI.removeMovieClip();
_mcGamePaused.removeMovieClip();
_mcQuitDialog.removeMovieClip();
_mcGameOverDialog.removeMovieClip();
_mapCurrent.removeMovieClip();
_cursorCurrent.removeMovieClip();
_layerCanvas.removeMovieClip();
switch (_numState) {
case STATE_MAINSCREEN :
attachMovie("aso#19291", "_mcMainScreen", 1);
var _local3 = aso#97148.getSoundAt(aso#65811.SND_MAINLOOP);
_local3.setVolume(100);
aso#97148.playLoopSound(aso#65811.SND_MAINLOOP);
break;
case STATE_OPTIONSSCREEN :
attachMovie("aso#68595", "_mcOptionsScreen", 1);
_local3 = aso#97148.getSoundAt(aso#65811.SND_MAINLOOP);
_local3.setVolume(100);
aso#97148.playLoopSound(aso#65811.SND_MAINLOOP);
break;
case STATE_RULESSCREEN :
attachMovie("aso#93943", "_mcRulesScreen", 1);
_local3 = aso#97148.getSoundAt(aso#65811.SND_MAINLOOP);
_local3.setVolume(100);
aso#97148.playLoopSound(aso#65811.SND_MAINLOOP);
break;
case STATE_VIEWSCORE :
attachMovie("aso#46031", "_mcViewScoreScreen", 1);
_local3 = aso#97148.getSoundAt(aso#65811.SND_MAINLOOP);
_local3.setVolume(100);
aso#97148.playLoopSound(aso#65811.SND_MAINLOOP);
break;
case STATE_SAVESCORE :
attachMovie("aso#14694", "_mcSaveScoreScreen", 1);
_local3 = aso#97148.getSoundAt(aso#65811.SND_MAINLOOP);
_local3.setVolume(100);
aso#97148.playLoopSound(aso#65811.SND_MAINLOOP);
break;
case STATE_MISSION :
attachMovie("id_map", "_mapCurrent", 1);
attachMovie("id_layer", "_layerCanvas", 3);
attachMovie("aso#55225", "_cursorCurrent", 4);
attachMovie("aso#23888", "_mcMissionUI", 5, {_x:0});
if (numMap == undefined) {
numMap = 1;
}
if (numProgram == undefined) {
numProgram = 0;
}
_mcMissionUI.ads.gotoAndStop(random(2) + 1);
loadMission(numMap, numProgram);
_cursorCurrent.initCursor(_mapCurrent);
aso#28485.RANGE_BONUS = 0;
_arrAbilities = new Array();
_arrAbilities.push(new aso#79181(aso#79181.TYPE_SELL, _mcMissionUI._mcBtnAbility1, 1));
_arrAbilities.push(new aso#79181(aso#79181.TYPE_MISSILE, _mcMissionUI._mcBtnAbility2, 0));
_arrAbilities.push(new aso#79181(aso#79181.TYPE_WALL, _mcMissionUI._mcBtnAbility3, 1));
_arrAbilities.push(new aso#79181(aso#79181.TYPE_TIMEBOMB, _mcMissionUI._mcBtnAbility4, 0));
_arrAbilities.push(new aso#79181(aso#79181.TYPE_MONEYBONUS, undefined, 0));
_arrAbilities.push(new aso#79181(aso#79181.TYPE_TOWERBONUS, undefined, 0));
numFunds = (INITIAL_FUNDS);
_numMoneyEarned = 1215752191 /* 0x4876E7FF */;
numPopulation = (INITIAL_POPULATION);
numScore = 0;
_arrQuests1 = new Array(new aso#53833(aso#53833.TYPE_TOWERS1_1), new aso#53833(aso#53833.TYPE_TOWERS1_2), new aso#53833(aso#53833.TYPE_TOWERS1_3), new aso#53833(aso#53833.TYPE_TOWERS1_4), new aso#53833(aso#53833.TYPE_TOWERS1_5));
_arrQuests2 = new Array(new aso#53833(aso#53833.TYPE_TOWERS2_1), new aso#53833(aso#53833.TYPE_TOWERS2_2), new aso#53833(aso#53833.TYPE_TOWERS2_3), new aso#53833(aso#53833.TYPE_TOWERS2_4), new aso#53833(aso#53833.TYPE_TOWERS2_5));
_arrQuests3 = new Array(new aso#53833(aso#53833.TYPE_STRUCTURES_1), new aso#53833(aso#53833.TYPE_STRUCTURES_2), new aso#53833(aso#53833.TYPE_STRUCTURES_3), new aso#53833(aso#53833.TYPE_STRUCTURES_4), new aso#53833(aso#53833.TYPE_STRUCTURES_5));
var _local2 = 1;
while (_local2 <= 3) {
this["_arrQuests" + _local2].current = -1;
_local2++;
}
_boolPaused = false;
_boolInit = true;
onEnterFrame = oefProcessMission;
_local3 = aso#97148.getSoundAt(aso#65811.SND_MAINLOOP);
_local3.setVolume(30);
aso#97148.playLoopSound(aso#65811.SND_MAINLOOP);
}
}
//return(numState);
}
function get numFunds() {
return(_numFunds);
}
function set numFunds(__numValue) {
_numFunds = __numValue;
if (_numFunds < 0) {
_numFunds = 0;
}
_mcMissionUI.updatePriceColor(_numFunds);
_arrQuests2[2].numPoints = _numFunds;
if (_arrQuests2[2].boolActive) {
_mcMissionUI.updateQuest(2, 3, _arrQuests2[2]);
}
_mcMissionUI.textFunds.text = String(_numFunds);
//return(numFunds);
}
function get numPopulation() {
return(_numPopulation);
}
function set numPopulation(__numValue) {
_numPopulation = __numValue;
if (_numPopulation <= 0) {
_numPopulation = 0;
}
_mcMissionUI.textPopulation.text = String(_numPopulation);
_mcMissionUI.shield.gotoAndStop(_numPopulation);
//return(numPopulation);
}
function get boolPaused() {
return(_boolPaused);
}
function set boolPaused(__boolValue) {
if (numState == STATE_MISSION) {
_boolPaused = __boolValue;
_mapCurrent.__set__boolPaused(__boolValue);
if (_boolPaused) {
attachMovie("mc_gamepaused", "_mcGamePaused", 100, {_x:0, _y:0});
onEnterFrame = null;
_layerCanvas.clear();
_cursorCurrent.clear();
} else {
_mcGamePaused.removeMovieClip();
onEnterFrame = oefProcessMission;
}
_mcMissionUI.boolEnabled = !_boolPaused;
if (!_mapCurrent.__get__noEnemies()) {
_mcMissionUI._btnStartAttack._visible = false;
}
}
//return(boolPaused);
}
function processMessage(__numMessage, __objParam, __mcInvoker) {
switch (__numMessage) {
case aso#16507.MSG_TOGGLEPRESS :
var _local6 = aso#35866(__mcInvoker);
if (_mcMissionUI.hitTest(_root._xmouse, _root._ymouse, true)) {
if (__objParam.isHit) {
_local6.__set__boolPressed(!_local6.__get__boolPressed());
} else {
_local6.__set__boolPressed(false);
}
_cursorCurrent.clear();
}
if (__objParam.isHit && (_local6.__get__boolPressed())) {
switch (_local6) {
case _mcMissionUI._mcTabPage1._mcBtnBuilding1 :
_cursorCurrent.attachBuilding(aso#28485.TYPE_TOWER_1_1);
break;
case _mcMissionUI._mcTabPage1._mcBtnBuilding2 :
_cursorCurrent.attachBuilding(aso#28485.TYPE_TOWER_1_2);
break;
case _mcMissionUI._mcTabPage1._mcBtnBuilding3 :
_cursorCurrent.attachBuilding(aso#28485.TYPE_TOWER_1_3);
break;
case _mcMissionUI._mcTabPage1._mcBtnBuilding4 :
_cursorCurrent.attachBuilding(aso#28485.TYPE_TOWER_1_4);
break;
case _mcMissionUI._mcTabPage1._mcBtnBuilding5 :
_cursorCurrent.attachBuilding(aso#28485.TYPE_TOWER_1_5);
break;
case _mcMissionUI._mcTabPage2._mcBtnBuilding1 :
_cursorCurrent.attachBuilding(aso#28485.TYPE_TOWER_2_1);
break;
case _mcMissionUI._mcTabPage2._mcBtnBuilding2 :
_cursorCurrent.attachBuilding(aso#28485.TYPE_TOWER_2_2);
break;
case _mcMissionUI._mcTabPage2._mcBtnBuilding3 :
_cursorCurrent.attachBuilding(aso#28485.TYPE_TOWER_2_3);
break;
case _mcMissionUI._mcTabPage2._mcBtnBuilding4 :
_cursorCurrent.attachBuilding(aso#28485.TYPE_TOWER_2_4);
break;
case _mcMissionUI._mcTabPage2._mcBtnBuilding5 :
_cursorCurrent.attachBuilding(aso#28485.TYPE_TOWER_2_5);
break;
case _mcMissionUI._mcTabPage3._mcBtnBuilding1 :
_cursorCurrent.attachBuilding(aso#28485.TYPE_BULIDING_1);
break;
case _mcMissionUI._mcTabPage3._mcBtnBuilding2 :
_cursorCurrent.attachBuilding(aso#28485.TYPE_BULIDING_2);
break;
case _mcMissionUI._mcTabPage3._mcBtnBuilding3 :
_cursorCurrent.attachBuilding(aso#28485.TYPE_BULIDING_3);
break;
case _mcMissionUI._mcTabPage3._mcBtnBuilding4 :
_cursorCurrent.attachBuilding(aso#28485.TYPE_BULIDING_4);
break;
case _mcMissionUI._mcTabPage3._mcBtnBuilding5 :
_cursorCurrent.attachBuilding(aso#28485.TYPE_BULIDING_5);
break;
case _mcMissionUI._mcBtnAbility1 :
_cursorCurrent.attachAbility(aso#79181.TYPE_SELL);
break;
case _mcMissionUI._mcBtnAbility2 :
_cursorCurrent.attachAbility(aso#79181.TYPE_MISSILE);
break;
case _mcMissionUI._mcBtnAbility3 :
_cursorCurrent.attachAbility(aso#79181.TYPE_WALL);
break;
case _mcMissionUI._mcBtnAbility4 :
_cursorCurrent.attachAbility(aso#79181.TYPE_TIMEBOMB);
}
}
break;
case aso#16507.MSG_MOUSECLICK :
if (((_cursorCurrent.__get__numState() != aso#41855.STATE_CLEAR) && (!__objParam.free)) && (!__objParam.out)) {
aso#97148.playSound(aso#65811.SND_ERROR);
}
if ((((_cursorCurrent.__get__numState() == aso#41855.STATE_BUILDING) && (__objParam.free)) && (!__objParam.out)) && (numFunds < _cursorCurrent.__get__buildingCursor()._numPrice)) {
_mcMissionUI.showMessage("NOT ENOUGH\nMONEY!", true);
}
if ((((_cursorCurrent.__get__numState() == aso#41855.STATE_BUILDING) && (__objParam.free)) && (!__objParam.out)) && (numFunds >= _cursorCurrent.__get__buildingCursor()._numPrice)) {
_mapCurrent.addBuilding(_cursorCurrent.__get__buildingCursor());
numFunds = (numFunds - _cursorCurrent.__get__buildingCursor()._numPrice);
_cursorCurrent.refresh();
aso#97148.playSound(aso#65811.SND_CONSTRUCTION);
switch (_cursorCurrent.__get__buildingCursor().__get__numType()) {
case aso#28485.TYPE_TOWER_1_1 :
_arrQuests3[0].numPoints++;
if (_arrQuests3[0].boolActive) {
_mcMissionUI.updateQuest(3, 1, _arrQuests3[0]);
}
break;
case aso#28485.TYPE_TOWER_1_3 :
_arrQuests3[2].numPoints++;
if (_arrQuests3[2].boolActive) {
_mcMissionUI.updateQuest(3, 3, _arrQuests3[2]);
}
break;
case aso#28485.TYPE_TOWER_2_2 :
_arrQuests1[2].numPoints++;
if (_arrQuests1[2].boolActive) {
_mcMissionUI.updateQuest(1, 3, _arrQuests1[2]);
}
break;
case aso#28485.TYPE_TOWER_2_1 :
_arrQuests3[3].numPoints++;
if (_arrQuests3[3].boolActive) {
_mcMissionUI.updateQuest(3, 4, _arrQuests3[3]);
}
break;
case aso#28485.TYPE_TOWER_2_3 :
_arrQuests3[2].numPoints++;
if (_arrQuests3[2].boolActive) {
_mcMissionUI.updateQuest(3, 3, _arrQuests3[2]);
}
break;
case aso#28485.TYPE_BULIDING_1 :
_arrAbilities[1].numSources++;
break;
case aso#28485.TYPE_BULIDING_2 :
_arrAbilities[2].numSources++;
_arrQuests3[4].numPoints++;
if (_arrQuests3[4].boolActive) {
_mcMissionUI.updateQuest(3, 5, _arrQuests3[4]);
}
break;
case aso#28485.TYPE_BULIDING_3 :
_arrAbilities[4].numSources++;
break;
case aso#28485.TYPE_BULIDING_4 :
_arrAbilities[5].numSources++;
aso#28485.RANGE_BONUS = aso#28485.RANGE_BONUS + 0.1;
aso#91159.DAMAGE_BONUS = aso#91159.DAMAGE_BONUS + 0.1;
_arrQuests2[3].numPoints++;
if (_arrQuests2[3].boolActive) {
_mcMissionUI.updateQuest(2, 4, _arrQuests2[3]);
}
break;
case aso#28485.TYPE_BULIDING_5 :
_arrAbilities[3].numSources++;
_arrQuests1[4].numPoints++;
if (!_arrQuests1[4].boolActive) {
break;
}
_mcMissionUI.updateQuest(1, 5, _arrQuests1[4]);
}
_arrQuests3[1].numPoints++;
if (_arrQuests3[1].boolActive) {
_mcMissionUI.updateQuest(3, 2, _arrQuests3[1]);
}
}
if (((_cursorCurrent.__get__numState() == aso#41855.STATE_ABILITY) && (__objParam.free)) && (!__objParam.out)) {
var _local5;
var _local8 = true;
switch (_cursorCurrent.__get__numAbility()) {
case aso#79181.TYPE_SELL :
_local5 = 0;
var _local9 = _mapCurrent.getBuildingAt(__objParam.i, __objParam.j);
numFunds = (numFunds + Math.round(0.5 * _local9._numPrice));
switch (_local9.__get__numType()) {
case aso#28485.TYPE_TOWER_1_1 :
_arrQuests3[0].numPoints--;
if (_arrQuests3[0].boolActive) {
_mcMissionUI.updateQuest(3, 1, _arrQuests3[0]);
}
break;
case aso#28485.TYPE_TOWER_1_3 :
_arrQuests3[2].numPoints--;
if (_arrQuests3[2].boolActive) {
_mcMissionUI.updateQuest(3, 3, _arrQuests3[2]);
}
break;
case aso#28485.TYPE_TOWER_2_1 :
_arrQuests3[3].numPoints--;
if (_arrQuests3[3].boolActive) {
_mcMissionUI.updateQuest(3, 4, _arrQuests3[3]);
}
break;
case aso#28485.TYPE_TOWER_2_2 :
_arrQuests1[2].numPoints--;
if (_arrQuests1[2].boolActive) {
_mcMissionUI.updateQuest(1, 3, _arrQuests1[2]);
}
break;
case aso#28485.TYPE_TOWER_2_3 :
_arrQuests3[2].numPoints--;
if (_arrQuests3[2].boolActive) {
_mcMissionUI.updateQuest(3, 3, _arrQuests3[2]);
}
break;
case aso#28485.TYPE_BULIDING_1 :
_arrAbilities[1].numSources--;
break;
case aso#28485.TYPE_BULIDING_2 :
_arrAbilities[2].numSources--;
_arrQuests3[4].numPoints--;
if (_arrQuests3[4].boolActive) {
_mcMissionUI.updateQuest(3, 5, _arrQuests3[4]);
}
break;
case aso#28485.TYPE_BULIDING_3 :
_arrAbilities[4].numSources--;
break;
case aso#28485.TYPE_BULIDING_4 :
_arrAbilities[5].numSources--;
aso#28485.RANGE_BONUS = aso#28485.RANGE_BONUS - 0.1;
aso#91159.DAMAGE_BONUS = aso#91159.DAMAGE_BONUS - 0.1;
_arrQuests2[3].numPoints--;
if (_arrQuests2[3].boolActive) {
_mcMissionUI.updateQuest(2, 4, _arrQuests2[3]);
}
break;
case aso#28485.TYPE_BULIDING_5 :
_arrAbilities[3].numSources--;
_arrQuests1[4].numPoints--;
if (!_arrQuests1[4].boolActive) {
break;
}
_mcMissionUI.updateQuest(1, 5, _arrQuests1[4]);
}
aso#97148.playSound(aso#65811.SND_SELL);
_arrQuests3[1].numPoints--;
if (_arrQuests3[1].boolActive) {
_mcMissionUI.updateQuest(3, 2, _arrQuests3[1]);
}
_mapCurrent.deleteBuilding(_local9);
_layerCanvas.clear();
break;
case aso#79181.TYPE_MISSILE :
_local5 = 1;
var _local12 = {x:224, y:500, direction:new aso#73192(0, -1), altitude:aso#59822.ALTITUDE_BOTH, type:aso#91159.TYPE_MISSILE, targetsEnemy:false, targetX:_root._xmouse, targetY:_root._ymouse, speed:6};
_mapCurrent.addBlast(_local12);
aso#97148.playSound(aso#65811.SND_NUCLEARLAUNCH);
if (_arrQuests1[1].boolActive) {
_arrQuests1[1].numPoints++;
_mcMissionUI.updateQuest(1, 2, _arrQuests1[1]);
}
break;
case aso#79181.TYPE_WALL :
_local5 = 2;
if (__objParam.free && (!__objParam.out)) {
if (_mapCurrent.isHitWithGroundEnemy(__mcInvoker.mcCursor)) {
_mcMissionUI.showMessage("YOU CAN'T INSTALL WALL\nOVER THE ENEMY!", true);
_local8 = false;
break;
}
if (!_mapCurrent.markCacheMatrix(__objParam.i, __objParam.j)) {
_mcMissionUI.showMessage("YOU CAN'T\nBLOCK PATH!", true);
_local8 = false;
} else {
if (numFunds > 9) {
numFunds = (numFunds - 10);
_mapCurrent.addWall(__objParam.i, __objParam.j);
_mapCurrent.toggleGrid(false);
aso#97148.playSound(aso#65811.SND_CONSTRUCTION);
_arrQuests2[4].numPoints++;
if (_arrQuests2[4].boolActive) {
_mcMissionUI.updateQuest(2, 5, _arrQuests2[4]);
}
break;
}
_mcMissionUI.showMessage("NOT ENOUGH\nMONEY!", true);
}
}
break;
case aso#79181.TYPE_TIMEBOMB :
_local5 = 3;
_mapCurrent.applySplashEffect(new aso#85170(aso#85170.TYPE_TIMESTOP, undefined, 120), _root._xmouse, _root._ymouse, 100, aso#59822.ALTITUDE_BOTH);
aso#97148.playSound(aso#65811.SND_TIMESTOP);
}
if (_local8) {
if (_arrAbilities[_local5].reset()) {
_cursorCurrent.clear();
}
}
}
break;
case aso#16507.MSG_MOUSEOVER :
if ((((__mcInvoker instanceof aso#28485) && (__mcInvoker._boolTower)) && ((_cursorCurrent.__get__numState() == aso#41855.STATE_CLEAR) || (__objParam.forceShow))) && (!boolPaused)) {
var _local10 = {x:__mcInvoker._mcObject.mcGun._x, y:__mcInvoker._mcObject.mcGun._y};
__mcInvoker._mcObject.localToGlobal(_local10);
_layerCanvas.globalToLocal(_local10);
var _local18 = _layerCanvas.addElement("id_tower_range", {_x:_local10.x, _y:_local10.y, _width:2 * Math.floor(__mcInvoker.numRange), _height:2 * Math.floor(__mcInvoker.numRange)});
}
break;
case aso#16507.MSG_MOUSEOUT :
if (((__mcInvoker instanceof aso#28485) && (__mcInvoker._boolTower)) && ((_cursorCurrent.__get__numState() == aso#41855.STATE_CLEAR) || (__objParam.forceHide))) {
_layerCanvas.clear();
}
break;
case aso#16507.MSG_TARGETLOST :
if (__mcInvoker instanceof aso#28485) {
var _local10 = {x:__mcInvoker._mcObject.mcGun._x, y:__mcInvoker._mcObject.mcGun._y};
__mcInvoker._mcObject.localToGlobal(_local10);
__mcInvoker._enemyTarget = _mapCurrent.getNearestEnemy(_local10.x, _local10.y, Math.floor(__mcInvoker._numRange * (1 + aso#28485.RANGE_BONUS)), __mcInvoker._numAimingAltitude);
}
if (__mcInvoker instanceof aso#91159) {
var _local10 = {x:__mcInvoker._mcObject._x, y:__mcInvoker._mcObject._y};
__mcInvoker.localToGlobal(_local10);
__mcInvoker._mcTarget = _mapCurrent.getNearestEnemy(_local10.x, _local10.y, __objParam.range, __objParam.alt, __objParam.forbidden);
}
break;
case aso#16507.MSG_READYTOSHOOT :
aso#91159.Instigator = __mcInvoker;
_mapCurrent.addBlast(__objParam, __mcInvoker);
__mcInvoker._mcObject.mcGun.gotoAndPlay(2);
break;
case aso#16507.MSG_SPLASHEFFECT :
_mapCurrent.applySplashEffect(__objParam.effect, __objParam.centerX, __objParam.centerY, __objParam.radius, __objParam.altitude);
break;
case aso#16507.MSG_CREATEGFX :
_mapCurrent.addGFX(__objParam);
break;
case aso#16507.MSG_ENEMYDEAD :
var _local11 = Math.round(__mcInvoker._numReward * (1 + (0.5 * _arrAbilities[4].numSources)));
numFunds = (numFunds + _local11);
_numMoneyEarned = _numMoneyEarned + _local11;
_mapCurrent.addGFX(__objParam);
if (__mcInvoker.numAltitude == aso#59822.ALTITUDE_AIR) {
_arrQuests2[1].numPoints++;
if (_arrQuests2[1].boolActive) {
_mcMissionUI.updateQuest(2, 2, _arrQuests2[1]);
}
}
if (__mcInvoker.numAltitude == aso#59822.ALTITUDE_AIR) {
_arrQuests1[3].numPoints++;
if (_arrQuests1[3].boolActive) {
_mcMissionUI.updateQuest(1, 4, _arrQuests1[3]);
}
}
__mcInvoker.remove();
if (_mapCurrent.__get__noEnemies()) {
if (_numProgramPtr >= aso#34474.PROGRAMS[_numProgram].length) {
showGameOverDialog(true);
} else {
_mcMissionUI._btnStartAttack._visible = true;
}
}
break;
case aso#16507.MSG_ENEMYPASSED :
numPopulation = (numPopulation - 1);
__mcInvoker.remove();
aso#97148.playSound(aso#65811.SND_POPDEAD, true);
if (numPopulation == 0) {
showGameOverDialog(false);
} else if (_mapCurrent.__get__noEnemies()) {
if (_numProgramPtr >= aso#34474.PROGRAMS[_numProgram].length) {
showGameOverDialog(true);
} else {
_mcMissionUI._btnStartAttack._visible = true;
}
}
break;
case aso#16507.MSG_HURRYATTACK :
_numEnemiesTimer = _numEnemiesPeriod;
for (var _local7 in _arrAbilities) {
_arrAbilities[_local7].numTimer = _arrAbilities[_local7].numTimer - _numEnemiesTimer;
}
break;
case aso#16507.MSG_QUITGAME :
_boolPausedBeforeQuit = boolPaused;
boolPaused = (true);
_mcMissionUI.switchServiceButtonsVisibility(false);
attachMovie("mc_quitdialog", "_mcQuitDialog", 100, {_x:0, _y:0});
break;
case aso#16507.MSG_PAUSEGAME :
boolPaused = (__objParam.pause);
}
}
function loadMission(__numMapID, __numProgramID) {
_numProgram = __numProgramID;
_numProgramPtr = 0;
_numEnemiesPeriod = WAVE_TIME[numProgram];
_numEnemiesTimer = 0;
_mapCurrent.loadMap(__numMapID);
updateWaveScreen(aso#34474.PROGRAMS[_numProgram][_numProgramPtr]);
}
function createAttackWave(__objWave) {
var _local4;
if (__objWave.alt == WAVE_ALT_GROUND) {
switch (__objWave.size) {
case WAVE_SIZE_TINY :
_local4 = aso#47844.TYPE_BAGGI;
break;
case WAVE_SIZE_SMALL :
_local4 = aso#47844.TYPE_TRICYCLE;
break;
case WAVE_SIZE_MEDIUM :
_local4 = aso#47844.TYPE_CAR;
break;
case WAVE_SIZE_BIG :
_local4 = aso#47844.TYPE_HOWERTANK;
}
} else {
switch (__objWave.size) {
case WAVE_SIZE_TINY :
_local4 = aso#47844.TYPE_PLANE;
break;
case WAVE_SIZE_SMALL :
_local4 = aso#47844.TYPE_INSECT;
break;
case WAVE_SIZE_MEDIUM :
_local4 = aso#47844.TYPE_SCORPIO;
break;
case WAVE_SIZE_BIG :
_local4 = aso#47844.TYPE_ESSAI1;
}
}
var _local5;
switch (__objWave.effect) {
case WAVE_EFFECT_FAST :
_local5 = new aso#85170(aso#85170.TYPE_FAST, {percent:0.5}, -1);
break;
case WAVE_EFFECT_REPAIR :
_local5 = new aso#85170(aso#85170.TYPE_REPAIR, {percent:0.005}, -1);
break;
case WAVE_EFFECT_SHIELD :
_local5 = new aso#85170(aso#85170.TYPE_SHIELD, {pass:0.1}, -1);
}
var _local2 = 0;
while (_local2 < __objWave.qty) {
_mapCurrent.addEnemy(_local4, __objWave.level, _local5.makeCopy(), _local2);
_local2++;
}
}
function updateWaveScreen(__objWave) {
if (__objWave != undefined) {
var _local2 = ("Wave : " + (_numProgramPtr + 1).toString()) + newline;
_local2 = _local2 + (String(__objWave.qty) + " ");
_local2 = _local2 + " Unit";
if (__objWave.qty > 1) {
_local2 = _local2 + "s";
}
switch (__objWave.alt) {
case WAVE_ALT_GROUND :
_local2 = _local2 + "\nGround";
break;
case WAVE_ALT_AIR :
_local2 = _local2 + "\nAir";
}
switch (__objWave.effect) {
case WAVE_EFFECT_FAST :
_local2 = _local2 + " + Special:turbo";
break;
case WAVE_EFFECT_REPAIR :
_local2 = _local2 + " + Special:regenerate";
break;
case WAVE_EFFECT_SHIELD :
_local2 = _local2 + " +Special:shield";
}
_mcMissionUI.textScreen.text = _local2;
}
if (_numProgramPtr >= aso#34474.PROGRAMS[_numProgram].length) {
_mcMissionUI.textScreen._visible = false;
_mcMissionUI.textTimer._visible = false;
}
var _local3 = Math.floor((_numEnemiesPeriod - _numEnemiesTimer) / 24);
if (_local3 < 0) {
_local3 = 0;
}
var _local4 = Math.floor(_local3 / 60);
_local3 = _local3 - (_local4 * 60);
_mcMissionUI.textTimer.text = (((((_local4 < 10) ? "0" : "") + _local4.toString()) + ":") + ((_local3 < 10) ? "0" : "")) + _local3.toString();
}
function onQuitDialogClose(__boolQuit) {
if (__boolQuit) {
numState = (STATE_MAINSCREEN);
} else {
_mcQuitDialog.removeMovieClip();
boolPaused = (_boolPausedBeforeQuit);
_mcMissionUI.switchServiceButtonsVisibility(true);
}
aso#97148.playSound(aso#65811.SND_SWITCH);
}
function showGameOverDialog(__boolWin) {
boolPaused = (true);
attachMovie("mc_gameoverdialog", "_mcGameOverDialog", 100, {_x:0, _y:0});
if (!__boolWin) {
_mcGameOverDialog.mcMessage.gotoAndStop(2);
} else if (_root.mission == 1) {
_root.biscuit.data.mission1 = 1;
} else if (_root.mission == 2) {
_root.biscuit.data.mission2 = 1;
} else if (_root.mission == 3) {
_root.biscuit.data.mission3 = 1;
} else if (_root.mission == 4) {
_root.biscuit.data.mission4 = 1;
} else if (_root.mission == 5) {
_root.biscuit.data.mission5 = 1;
} else if (_root.mission == 6) {
_root.biscuit.data.mission6 = 1;
_root.biscuit.data.secret = 1;
}
_mcMissionUI.switchServiceButtonsVisibility(false);
_mcGameOverDialog.textMoneyQty.text = _numMoneyEarned.toString();
var _local4 = _numMoneyEarned;
_mcGameOverDialog.textPopQty.text = numPopulation.toString();
var _local3 = numPopulation;
numScore = Math.round(_local4 + _local3);
_root.score = numScore;
_mcGameOverDialog.textTotalScore.text = numScore.toString();
}
function onGameOverDialogClose() {
numState = (STATE_OPTIONSSCREEN);
aso#97148.playSound(aso#65811.SND_SWITCH);
}
function oefProcessMission() {
if (_boolInit) {
_arrAbilities[1].boolAvaliable = false;
_arrAbilities[2].boolAvaliable = false;
_arrAbilities[3].boolAvaliable = false;
_boolInit = false;
}
if (_numEnemiesTimer > _numEnemiesPeriod) {
_numEnemiesTimer = 0;
createAttackWave(aso#34474.PROGRAMS[_numProgram][_numProgramPtr]);
_numProgramPtr++;
updateWaveScreen(aso#34474.PROGRAMS[_numProgram][_numProgramPtr]);
_mcMissionUI._btnStartAttack._visible = false;
} else {
_numEnemiesTimer++;
updateWaveScreen();
}
for (var _local3 in _arrAbilities) {
_arrAbilities[_local3].tick();
}
if (!aso#65811.DISABLE_QUESTS) {
var _local3 = 1;
while (_local3 <= 3) {
var _local2 = this["_arrQuests" + _local3];
if (_local2.current == -1) {
_local2.current = 0;
_mcMissionUI.changeBBState(_local3, _local2.current + 1, aso#10518.BB_STATE_QUEST);
_local2[_local2.current].boolActive = true;
_mcMissionUI.updateQuest(_local3, _local2.current + 1, _local2[_local2.current]);
}
if (_local2[_local2.current].boolComplete) {
_mcMissionUI.changeBBState(_local3, _local2.current + 1, aso#10518.BB_STATE_SHOW);
_mcMissionUI.changeBBState(_local3, _local2.current + 2, aso#10518.BB_STATE_QUEST);
_local2[_local2.current].boolActive = false;
_local2[_local2.current + 1].boolActive = true;
_mcMissionUI.updateQuest(_local3, _local2.current + 2, _local2[_local2.current + 1]);
_mcMissionUI.updatePriceColor(numFunds);
if (_local2[_local2.current].numPointCap > 0) {
_mcMissionUI.showMessage("Quest complete!\n" + _local2[_local2.current].strCompleteMsg);
}
_local2.current++;
}
_local3++;
}
}
_mapCurrent.process();
}
static var STATE_MAINSCREEN = 1;
static var STATE_OPTIONSSCREEN = 2;
static var STATE_RULESSCREEN = 3;
static var STATE_VIEWSCORE = 4;
static var STATE_SAVESCORE = 5;
static var STATE_MISSION = 6;
static var INITIAL_FUNDS = 14100;
static var INITIAL_POPULATION = 700;
static var MONEY_SCORE_MULT = 1;
static var POP_SCORE_MULT = 1000;
static var WAVE_ALT_GROUND = 1;
static var WAVE_ALT_AIR = 2;
static var WAVE_SIZE_TINY = 1;
static var WAVE_SIZE_SMALL = 2;
static var WAVE_SIZE_MEDIUM = 3;
static var WAVE_SIZE_BIG = 4;
static var WAVE_EFFECT_FAST = 1;
static var WAVE_EFFECT_SHIELD = 2;
static var WAVE_EFFECT_REPAIR = 3;
static var WAVE_TIME = new Array(1000, 1000, 1000, 1000, 1000, 1000);
static var SCORE_BONUS = new Array(0, 0, 0, 0, 0, 0);
}
Symbol 951 MovieClip [aso#04529.aso#97148] Frame 0
class aso#97148 extends MovieClip
{
var m_sounds, m_soundsState, m_soundsNames, createEmptyMovieClip, onEnterFrame;
function aso#97148 () {
super();
}
function realPlaySound(id, repeatCount) {
if (m_soundOff) {
return(undefined);
}
Sound(m_sounds[id]).start(0, repeatCount);
}
function processSounds() {
var _local2 = 0;
while (_local2 < m_sounds.length) {
if (m_soundsState[_local2] > 0) {
realPlaySound(_local2, m_soundsState[_local2]);
m_soundsState[_local2] = ST_PLAY;
}
_local2++;
}
}
function init(soundNames) {
m_soundsNames = soundNames;
m_sounds = new Array(soundNames.length);
m_soundsState = new Array(soundNames.length);
var _local2 = 0;
while (_local2 < soundNames.length) {
var _local4 = createEmptyMovieClip("_contMovie" + _local2, 1000 + _local2);
var _local3 = new Sound(_local4);
_local3.attachSound(soundNames[_local2]);
m_soundsState[_local2] = ST_STOP;
_local3.sounID = _local2;
_local3.parent = m_instance;
_local3.onSoundComplete = function () {
this.parent.m_soundsState[this.sounID] = aso#97148.ST_STOP;
};
m_sounds[_local2] = _local3;
_local2++;
}
onEnterFrame = processSounds;
}
static function createSoundService(soundNames, soundsPlace, depthInSoundsPlace) {
m_instance = aso#97148(soundsPlace.attachMovie("aso#92551", "__SoundServiceObject", depthInSoundsPlace));
m_instance.init(soundNames);
return(m_instance);
}
static function playLoopSound(soundID) {
if ((m_instance.m_loopSoundID >= 0) && (m_instance.m_loopSoundID != soundID)) {
stopSound(m_instance.m_loopSoundID);
}
m_instance.m_loopSoundID = soundID;
if (!soundIsPlay(m_instance.m_loopSoundID)) {
playCurLoopSound();
}
}
static function playCurLoopSound() {
playSound(m_instance.m_loopSoundID, true, 9999);
}
static function stopCurLoopSound() {
stopSound(m_instance.m_loopSoundID);
m_instance.m_loopSoundID = -1;
}
static function soundOff() {
var _local1 = 0;
while (_local1 < m_instance.m_sounds.length) {
stopSound(_local1);
_local1++;
}
m_instance.m_soundOff = true;
}
static function soundOn() {
m_instance.m_soundOff = false;
if (m_instance.m_loopSoundID >= 0) {
playCurLoopSound();
}
}
static function soundIsPlay(id) {
return(m_instance.m_soundsState[id] != ST_STOP);
}
static function playSound(id, ifSoundStop, repeatCount) {
if (repeatCount == undefined) {
repeatCount = 1;
}
if (ifSoundStop == undefined) {
ifSoundStop = false;
}
if (m_instance.m_soundOff) {
return(undefined);
}
if (ifSoundStop && (soundIsPlay(id))) {
return(undefined);
}
m_instance.m_soundsState[id] = repeatCount;
}
static function stopSound(id) {
Sound(m_instance.m_sounds[id]).stop(m_instance.m_soundsNames[id]);
m_instance.m_soundsState[id] = ST_STOP;
}
static function getSoundAt(soundNum) {
return(m_instance.m_sounds[soundNum]);
}
static function soundIsOn() {
return(!m_instance.m_soundOff);
}
static function stopAllSound() {
var _local1 = 0;
while (_local1 < m_instance.m_sounds.length) {
stopSound(_local1);
_local1++;
}
}
var m_loopSoundID = -1;
static var m_instance = null;
var m_soundOff = false;
static var ST_PLAY = -1;
static var ST_STOP = 0;
static var PLAY_OPT_ALWAYS = 0;
static var PLAY_OPT_IFSTOP = 1;
static var PLAY_OPT_STOPANDPLAY = 2;
}
Symbol 952 MovieClip [aso#04529.aso#65811] Frame 0
class aso#65811
{
function aso#65811 () {
}
static function TRACE(__strMessage) {
if (TRACE_DEBUG_INFO) {
trace(__strMessage);
}
}
static var TRACE_DEBUG_INFO = false;
static var DISABLE_QUESTS = true;
static var MATRIX_CELL_WIDTH = 32;
static var MATRIX_CELL_HEIGHT = 32;
static var MATRIX_WIDTH = 20;
static var MATRIX_HEIGHT = 12;
static var SOUND_NAMES = new Array("aso#75976", "aso#08705", "aso#63998", "aso#26672", "aso#69987", "aso#07313", "aso#20683", "aso#77368", "aso#87954", "aso#95335", "aso#25280", "aso#37258", "aso#99932", "aso#74584", "aso#31269", "aso#05921", "aso#49236", "aso#52020", "aso#56617", "aso#62606", "aso#81965", "aso#44639", "aso#86562", "aso#40042", "aso#32661", "aso#38650", "aso#83357");
static var SND_MAINLOOP = 0;
static var SND_QUEST = 1;
static var SND_ERROR = 2;
static var SND_NUCLEAREXPLOSION = 3;
static var SND_SWITCH = 4;
static var SND_POPDEAD = 5;
static var SND_NUCLEARLAUNCH = 6;
static var SND_TIMESTOP = 7;
static var SND_CONSTRUCTION = 8;
static var SND_SELL = 9;
static var SND_BIGEXPLOSION = 10;
static var SND_MEDIUMEXPLOSION = 11;
static var SND_SMALLEXPLOSION = 12;
static var SND_NULIFICATORSHOT = 13;
static var SND_TESLATOWERSHOT = 14;
static var SND_GAUSSCANNONSHOT = 15;
static var SND_GUTLINGLASERSHOT = 16;
static var SND_OILSPRAYSHOT = 17;
static var SND_CHAINGUNSHOT = 18;
static var SND_GOOCANNONSHOT = 19;
static var SND_MORTARSHOT = 20;
static var SND_AAGUNSHOT = 21;
static var SND_MISSILETURRETSHOT = 22;
static var SND_HIT = 23;
static var SND_ALARM = 24;
static var SND_UPGRADE = 25;
static var SND_PLASMASPLASH = 26;
}
Symbol 953 MovieClip [aso#04529.aso#28485] Frame 0
class aso#28485 extends aso#16507
{
var _boolMouseOver, _boolTower, useHandCursor, _numState, _numType, level, damage, pai, _numRange, _numTurnSpeed, _numAimingAltitude, _numReloadTime, _numReloadTimer, nom, special, _numPrice, onRollOver, onRollOut, onPress, _vectDirection, attachMovie, _mcMatrix, localToGlobal, _matrixPattern, _parent, _x, _y, _numCellI, _numCellJ, dispatchMessage, _mcObject, _enemyTarget;
function aso#28485 () {
super();
_boolMouseOver = false;
_boolTower = false;
useHandCursor = false;
_numState = STATE_UNDEFINED;
}
function get numType() {
return(_numType);
}
function set numType(__numValue) {
if (_numType != __numValue) {
_numType = __numValue;
switch (_numType) {
case TYPE_TOWER_1_1 :
level = 1;
damage = 25;
pai = 0.2;
_boolTower = true;
_numRange = 110;
_numTurnSpeed = 0.1;
_numAimingAltitude = aso#59822.ALTITUDE_GROUND;
_numReloadTime = 45;
_numReloadTimer = _numReloadTime;
nom = "S.A.M turret";
special = "None";
break;
case TYPE_TOWER_1_2 :
level = 1;
damage = 50;
pai = 0.2;
_boolTower = true;
_numRange = 110;
_numTurnSpeed = 0.07;
_numAimingAltitude = aso#59822.ALTITUDE_GROUND;
_numReloadTime = 45;
_numReloadTimer = _numReloadTime;
nom = "Plasma Canon";
special = "Splash";
break;
case TYPE_TOWER_1_3 :
level = 1;
damage = 40;
pai = 0.2;
_boolTower = true;
_numRange = 55;
_numTurnSpeed = 0;
_numAimingAltitude = aso#59822.ALTITUDE_GROUND;
_numReloadTime = 55;
_numReloadTimer = _numReloadTime;
nom = "UV Turret";
special = "Splash";
break;
case TYPE_TOWER_1_4 :
level = 1;
damage = 60;
pai = 0.2;
_boolTower = true;
_numRange = 115;
_numTurnSpeed = 0.3;
_numAimingAltitude = aso#59822.ALTITUDE_GROUND;
_numReloadTime = 20;
_numReloadTimer = _numReloadTime;
nom = "Laser Turret";
special = "None";
break;
case TYPE_TOWER_1_5 :
level = 1;
damage = 12;
pai = 0.2;
_boolTower = true;
_numRange = 120;
_numTurnSpeed = 0.2;
_numAimingAltitude = aso#59822.ALTITUDE_BOTH;
_numReloadTime = 25;
_numReloadTimer = _numReloadTime;
nom = "Dissipator";
special = "Disipate";
break;
case TYPE_TOWER_2_1 :
level = 1;
damage = 10;
pai = 0.2;
_boolTower = true;
_numRange = 80;
_numTurnSpeed = 0.1;
_numAimingAltitude = aso#59822.ALTITUDE_GROUND;
_numReloadTime = 24;
_numReloadTimer = _numReloadTime;
nom = "vulcan";
special = "None";
break;
case TYPE_TOWER_2_2 :
level = 1;
damage = 12;
pai = 0.2;
_boolTower = true;
_numRange = 120;
_numTurnSpeed = 0.1;
_numAimingAltitude = aso#59822.ALTITUDE_BOTH;
_numReloadTime = 20;
_numReloadTimer = _numReloadTime;
nom = "Frost gaz";
special = "Slow";
break;
case TYPE_TOWER_2_3 :
level = 1;
damage = 45;
pai = 0.2;
_boolTower = true;
_numRange = 120;
_numTurnSpeed = 0.08;
_numAimingAltitude = aso#59822.ALTITUDE_GROUND;
_numReloadTime = 35;
_numReloadTimer = _numReloadTime;
nom = "Devastator";
special = "Multi-hit";
break;
case TYPE_TOWER_2_4 :
level = 1;
damage = 25;
pai = 0.2;
_boolTower = true;
_numRange = 140;
_numTurnSpeed = 0.1;
_numAimingAltitude = aso#59822.ALTITUDE_AIR;
_numReloadTime = 25;
_numReloadTimer = _numReloadTime;
nom = "Skybeam";
special = "None";
break;
case TYPE_TOWER_2_5 :
level = 1;
damage = 12;
pai = 0.2;
_boolTower = true;
_numRange = 120;
_numTurnSpeed = 0.2;
_numAimingAltitude = aso#59822.ALTITUDE_GROUND;
_numReloadTime = 24;
_numReloadTimer = _numReloadTime;
break;
case TYPE_BULIDING_1 :
case TYPE_BULIDING_2 :
case TYPE_BULIDING_3 :
case TYPE_BULIDING_4 :
case TYPE_BULIDING_5 :
_boolTower = false;
}
_numPrice = PRICES[_numType - 1];
}
//return(numType);
}
function get numRange() {
return(_numRange * (1 + RANGE_BONUS));
}
function get numState() {
return(_numState);
}
function set numState(__newValue) {
if (_numState != __newValue) {
_numState = __newValue;
switch (_numState) {
case STATE_PLACING :
onRollOver = undefined;
onRollOut = undefined;
break;
case STATE_INSTALLED :
onRollOver = onInstalledRollOver;
onRollOut = onInstalledRollOut;
onPress = onInstalledPress;
}
}
//return(numState);
}
function initBuilding(__numType) {
numType = (__numType);
_vectDirection = new aso#73192(0, -1);
if (MATRICES[__numType] == undefined) {
if (attachMovie((SYMBOL_BASE + __numType.toString()) + "_matrix", "_mcMatrix", 0) == undefined) {
aso#65811.TRACE((("ERROR! Couldn't load building matrix " + SYMBOL_BASE) + __numType.toString()) + "_matrix");
return(false);
}
var _local7 = Math.ceil(_mcMatrix._width / aso#65811.MATRIX_CELL_WIDTH);
var _local8 = Math.ceil(_mcMatrix._height / aso#65811.MATRIX_CELL_HEIGHT);
MATRICES[__numType] = new Array(_local7 * _local8);
MATRICES[__numType].width = _local7;
MATRICES[__numType].height = _local8;
var _local5 = {x:_mcMatrix._x, y:_mcMatrix._y};
localToGlobal(_local5);
var _local6 = 0;
while (_local6 < MATRICES[__numType].height) {
var _local3 = 0;
while (_local3 < MATRICES[__numType].width) {
if (_mcMatrix.hitTest((_local5.x + (aso#65811.MATRIX_CELL_WIDTH / 2)) + (_local3 * aso#65811.MATRIX_CELL_WIDTH), (_local5.y + (aso#65811.MATRIX_CELL_HEIGHT / 2)) + (_local6 * aso#65811.MATRIX_CELL_HEIGHT), true)) {
MATRICES[__numType][(_local6 * MATRICES[__numType].width) + _local3] = CELL_OCCUPIED;
} else {
MATRICES[__numType][(_local6 * MATRICES[__numType].width) + _local3] = CELL_VOID;
}
_local3++;
}
_local6++;
}
_mcMatrix.removeMovieClip();
}
_matrixPattern = MATRICES[__numType];
if (attachMovie(SYMBOL_BASE + __numType.toString(), "_mcObject", 1) == undefined) {
aso#65811.TRACE(("ERROR! Couldn't load construction image " + SYMBOL_BASE) + __numType.toString());
return(false);
}
if (aso#65811.TRACE_DEBUG_INFO) {
var _local4 = "Buidling matrix: \n";
var _local6 = 0;
while (_local6 < _matrixPattern.height) {
var _local3 = 0;
while (_local3 < _matrixPattern.width) {
_local4 = _local4 + (_matrixPattern[(_local6 * _matrixPattern.width) + _local3] + " ");
_local3++;
}
_local4 = _local4 + newline;
_local6++;
}
aso#65811.TRACE(_local4);
}
return(true);
}
function copyFrom(__buildingSource) {
var _local2 = {x:0, y:0};
__buildingSource.localToGlobal(_local2);
_parent.globalToLocal(_local2);
_x = _local2.x;
_y = _local2.y;
if (!initBuilding(__buildingSource.__get__numType())) {
return(false);
}
_numCellI = __buildingSource._numCellI;
_numCellJ = __buildingSource._numCellJ;
_numState = __buildingSource.numState;
return(true);
}
function onInstalledRollOver() {
if (!_boolMouseOver) {
_boolMouseOver = true;
dispatchMessage(aso#16507.MSG_MOUSEOVER);
}
updateAfterEvent();
}
function onInstalledRollOut() {
if (_boolMouseOver) {
_boolMouseOver = false;
dispatchMessage(aso#16507.MSG_MOUSEOUT);
}
updateAfterEvent();
}
function onInstalledPress() {
_root.choisie = this;
_root.mcGame._mcMissionUI.level.text = level;
_root.mcGame._mcMissionUI.range.text = _numRange;
_root.mcGame._mcMissionUI.turnspeed.text = _numTurnSpeed;
_root.mcGame._mcMissionUI.speed.text = _numReloadTime;
_root.mcGame._mcMissionUI.damage.text = damage;
_root.mcGame._mcMissionUI.pai.text = pai;
_root.mcGame._mcMissionUI.nom.text = nom;
if (level < 10) {
_root.mcGame._mcMissionUI.cost.text = 5 * level;
} else {
_root.mcGame._mcMissionUI.cost.text = "max";
}
_root.oldchoisie._mcObject.sel.gotoAndStop(1);
_root.oldchoisie = this;
_mcObject.sel.gotoAndStop(2);
_root.oldchoisie = this;
_root.mcGame._mcMissionUI.adjust();
updateAfterEvent();
}
function process() {
if (_boolTower) {
if (_numReloadTimer > 0) {
_numReloadTimer--;
}
if (_enemyTarget == undefined) {
dispatchMessage(aso#16507.MSG_TARGETLOST);
}
if (_enemyTarget != undefined) {
var _local3 = {x:_mcObject.mcGun._x, y:_mcObject.mcGun._y};
_mcObject.localToGlobal(_local3);
_enemyTarget._parent.globalToLocal(_local3);
var _local6 = _enemyTarget.getDistanceFrom(_local3.x, _local3.y);
if ((_local6 > numRange) || (_local6 == undefined)) {
_enemyTarget = undefined;
} else {
var _local4 = new aso#73192(_enemyTarget._x - _local3.x, _enemyTarget._y - _local3.y);
if (_vectDirection.getAngleWith(_local4) <= ENEMY_TURN_TOLERANCE) {
if (_numReloadTimer == 0) {
var _local2 = {x:_local3.x, y:_local3.y, direction:_vectDirection, altitude:_enemyTarget.numAltitude};
var _local5 = {x:_enemyTarget._x, y:_enemyTarget._y};
_enemyTarget._parent.localToGlobal(_local5);
switch (_numType) {
case TYPE_TOWER_1_1 :
_local2.type = aso#91159.TYPE_ROCKET;
_local2.targetsEnemy = true;
_local2.target = _enemyTarget;
_local2.speed = 4;
aso#97148.playSound(aso#65811.SND_MISSILETURRETSHOT);
break;
case TYPE_TOWER_1_2 :
_local2.type = aso#91159.TYPE_BALL;
_local2.targetsEnemy = false;
_local2.targetX = _local5.x;
_local2.targetY = _local5.y;
_local2.speed = 5;
aso#97148.playSound(aso#65811.SND_MORTARSHOT);
break;
case TYPE_TOWER_1_3 :
_local2.type = aso#91159.TYPE_ELECTRICFIELD;
_local2.targetsEnemy = false;
_local2.targetX = _local3.x;
_local2.targetY = _local3.y;
_local2.speed = 0;
aso#97148.playSound(aso#65811.SND_TESLATOWERSHOT);
break;
case TYPE_TOWER_1_4 :
_local2.type = aso#91159.TYPE_LASERBEAM;
_local2.targetsEnemy = true;
_local2.target = _enemyTarget;
_local2.speed = _local4.numLength;
aso#97148.playSound(aso#65811.SND_GUTLINGLASERSHOT);
break;
case TYPE_TOWER_1_5 :
_local2.type = aso#91159.TYPE_NULIFYBALL;
_local2.targetsEnemy = true;
_local2.target = _enemyTarget;
_local2.speed = 4;
aso#97148.playSound(aso#65811.SND_NULIFICATORSHOT);
break;
case TYPE_TOWER_2_1 :
_local2.type = aso#91159.TYPE_AASHELL;
_local2.targetsEnemy = true;
_local2.target = _enemyTarget;
_local2.speed = _local4.numLength;
aso#97148.playSound(aso#65811.SND_AAGUNSHOT);
break;
case TYPE_TOWER_2_2 :
_local2.type = aso#91159.TYPE_SLOWSHOT;
_local2.targetsEnemy = true;
_local2.target = _enemyTarget;
_local2.speed = 4;
aso#97148.playSound(aso#65811.SND_GOOCANNONSHOT);
break;
case TYPE_TOWER_2_3 :
_local2.type = aso#91159.TYPE_CHAINBLAST;
_local2.targetsEnemy = true;
_local2.target = _enemyTarget;
_local2.speed = 6;
aso#97148.playSound(aso#65811.SND_CHAINGUNSHOT);
break;
case TYPE_TOWER_2_4 :
_local2.type = aso#91159.TYPE_GAUSSRAIL;
_local2.targetsEnemy = true;
_local2.target = _enemyTarget;
_local2.speed = _local4.numLength;
aso#97148.playSound(aso#65811.SND_GAUSSCANNONSHOT);
break;
case TYPE_TOWER_2_5 :
_local2.type = aso#91159.TYPE_CONFUSEBALL;
_local2.targetsEnemy = true;
_local2.target = _enemyTarget;
_local2.speed = 5;
aso#97148.playSound(aso#65811.SND_OILSPRAYSHOT);
}
dispatchMessage(aso#16507.MSG_READYTOSHOOT, _local2);
_numReloadTimer = _numReloadTime;
}
} else if (_numTurnSpeed == 0) {
_vectDirection.__set__numX(_local4.numX);
_vectDirection.__set__numY(_local4.numY);
_vectDirection.__set__numLength(1);
} else {
var _local7 = (_local4.__get__numX() * _vectDirection.__get__numY()) - (_vectDirection.__get__numX() * _local4.__get__numY());
if (_local7 > 0) {
_vectDirection.rotate(_numTurnSpeed);
} else {
_vectDirection.rotate(-_numTurnSpeed);
}
}
if (_numTurnSpeed != 0) {
_mcObject.mcGun._rotation = _vectDirection.numRotation;
}
}
}
}
}
static var TYPE_TOWER_1_1 = 1;
static var TYPE_TOWER_1_2 = 2;
static var TYPE_TOWER_1_3 = 3;
static var TYPE_TOWER_1_4 = 4;
static var TYPE_TOWER_1_5 = 5;
static var TYPE_TOWER_2_1 = 6;
static var TYPE_TOWER_2_2 = 7;
static var TYPE_TOWER_2_3 = 8;
static var TYPE_TOWER_2_4 = 9;
static var TYPE_TOWER_2_5 = 10;
static var TYPE_BULIDING_1 = 11;
static var TYPE_BULIDING_2 = 12;
static var TYPE_BULIDING_3 = 13;
static var TYPE_BULIDING_4 = 14;
static var TYPE_BULIDING_5 = 15;
static var PRICES = new Array(30, 250, 80, 60, 100, 20, 40, 200, 45, 10, 60, 240, 280, 440, 500);
static var MATRICES = new Array(15);
static var SYMBOL_BASE = "id_construction";
static var CELL_VOID = 0;
static var CELL_OCCUPIED = 1;
static var STATE_UNDEFINED = 0;
static var STATE_PLACING = 1;
static var STATE_INSTALLED = 2;
static var ENEMY_TURN_TOLERANCE = 0.1;
static var RANGE_BONUS = 0;
static var _BONUS = 0;
}
Symbol 954 MovieClip [aso#04529.aso#59822] Frame 0
class aso#59822 extends MovieClip
{
var attachMovie, _matrixCache, _boolPaused, _layerBuildings, _layerEnemies1, _layerEnemies2, _layerEffects1, _layerEffects2, _layerBlasts1, _matrixPattern, localToGlobal, _layerWalls, _layerWallShadows, _layerInfo, __mcInvoker, _mcGrid;
function aso#59822 () {
super();
attachMovie("id_layer", "_layerEnemies1", 2);
attachMovie("id_layer", "_layerWallShadows", 3);
attachMovie("id_layer", "_layerWalls", 4);
attachMovie("id_layer", "_layerEffects1", 5);
attachMovie("id_layer", "_layerBuildings", 8);
attachMovie("id_layer", "_layerBlasts1", 9);
attachMovie("id_layer", "_layerEffects2", 10);
attachMovie("id_layer", "_layerEnemies2", 11);
attachMovie("id_layer", "_layerInfo", 12);
_matrixCache = new Array(aso#65811.MATRIX_WIDTH * aso#65811.MATRIX_HEIGHT);
_matrixCache.width = aso#65811.MATRIX_WIDTH;
_matrixCache.height = aso#65811.MATRIX_HEIGHT;
_boolPaused = false;
}
function get buildingsLayer() {
return(_layerBuildings);
}
function get enemiesLayer1() {
return(_layerEnemies1);
}
function get enemiesLayer2() {
return(_layerEnemies2);
}
function get noEnemies() {
for (var _local2 in _layerEnemies1) {
if (_layerEnemies1[_local2] instanceof aso#47844) {
return(false);
}
}
for (var _local2 in _layerEnemies2) {
if (_layerEnemies2[_local2] instanceof aso#47844) {
return(false);
}
}
return(true);
}
function get boolPaused() {
return(_boolPaused);
}
function set boolPaused(__boolValue) {
_boolPaused = __boolValue;
_layerEffects1.__set__boolPaused(__boolValue);
_layerEffects2.__set__boolPaused(__boolValue);
_layerBlasts1.__set__boolPaused(__boolValue);
_layerEnemies1.__set__boolPaused(__boolValue);
_layerEnemies2.__set__boolPaused(__boolValue);
//return(boolPaused);
}
function loadMap(__numIndex) {
_matrixPattern = new Array(aso#65811.MATRIX_WIDTH * aso#65811.MATRIX_HEIGHT);
_matrixPattern.width = aso#65811.MATRIX_WIDTH;
_matrixPattern.height = aso#65811.MATRIX_HEIGHT;
var _local5 = attachMovie((SYMBOL_BASE + __numIndex.toString()) + "_matrix", "_mcMatrix", 1);
if (_local5 == undefined) {
aso#65811.TRACE((("ERROR! Couldn't load map " + SYMBOL_BASE) + __numIndex.toString()) + "_matrix");
return(false);
}
var _local4 = {x:0, y:0};
localToGlobal(_local4);
var _local3 = 0;
while (_local3 < aso#65811.MATRIX_HEIGHT) {
var _local2 = 0;
while (_local2 < aso#65811.MATRIX_WIDTH) {
if (_local5.hitTest((_local4.x + (aso#65811.MATRIX_CELL_WIDTH / 2)) + (_local2 * aso#65811.MATRIX_CELL_WIDTH), (_local4.y + (aso#65811.MATRIX_CELL_HEIGHT / 2)) + (_local3 * aso#65811.MATRIX_CELL_HEIGHT), true)) {
_matrixPattern[(_local3 * aso#65811.MATRIX_WIDTH) + _local2] = CELL_ROCK;
} else {
_matrixPattern[(_local3 * aso#65811.MATRIX_WIDTH) + _local2] = CELL_VOID;
}
_local2++;
}
_local3++;
}
_local5.removeMovieClip();
attachMovie((SYMBOL_BASE + __numIndex.toString()) + "_sand", "_mcSand", 1);
attachMovie((SYMBOL_BASE + __numIndex.toString()) + "_landscape", "_mcLandscape", 6);
markCacheMatrix();
writeMatrixFromCache();
return(true);
}
function markCacheMatrix(__numNewWallI, __numNewWallJ) {
var _local2 = 0;
while (_local2 < _matrixPattern.length) {
_matrixCache[_local2] = _matrixPattern[_local2];
_local2++;
}
var _local3 = new Array();
var _local5;
if ((__numNewWallI == undefined) || (__numNewWallJ == undefined)) {
_local5 = CELL_VOID;
} else if (_matrixCache[(__numNewWallI * _matrixCache.width) + __numNewWallJ] <= CELL_VOID) {
_local5 = CELL_VOID - _matrixCache[(__numNewWallI * _matrixCache.width) + __numNewWallJ];
_matrixCache[(__numNewWallI * _matrixCache.width) + __numNewWallJ] = CELL_WALL;
}
_local2 = 0;
while (_local2 < _matrixCache.height) {
var _local4 = 0;
while (_local4 < _matrixCache.width) {
if (_matrixCache[(_local2 * _matrixCache.width) + _local4] < CELL_VOID) {
if (_matrixCache[(_local2 * _matrixCache.width) + _local4] == (CELL_VOID - _local5)) {
_local3.push({i:_local2, j:_local4});
} else if (_matrixCache[(_local2 * _matrixCache.width) + _local4] < (CELL_VOID - _local5)) {
_matrixCache[(_local2 * _matrixCache.width) + _local4] = CELL_VOID;
}
}
_local4++;
}
_local2++;
}
if (_local5 == CELL_VOID) {
_local5 = 1;
_local3 = getExitCells();
for (_local2 in _local3) {
_matrixCache[(_local3[_local2].i * _matrixCache.width) + _local3[_local2].j] = CELL_VOID - _local5;
}
}
var _local8 = false;
var _local9;
_local5++;
while (!_local8) {
_local9 = new Array();
_local8 = true;
for (var _local10 in _local3) {
_local2 = Math.max(_local3[_local10].i - 1, 0);
while (_local2 <= Math.min(_local3[_local10].i + 1, _matrixCache.height - 1)) {
var _local4 = Math.max(_local3[_local10].j - 1, 0);
while (_local4 <= Math.min(_local3[_local10].j + 1, _matrixCache.width - 1)) {
if (((_local2 != _local3[_local10].i) && (_local4 != _local3[_local10].j)) || ((_local2 == _local3[_local10].i) && (_local4 == _local3[_local10].j))) {
} else if (_matrixCache[(_local2 * _matrixCache.width) + _local4] == CELL_VOID) {
_matrixCache[(_local2 * _matrixCache.width) + _local4] = CELL_VOID - _local5;
_local9.push({i:_local2, j:_local4});
_local8 = false;
}
_local4++;
}
_local2++;
}
}
_local5++;
_local3 = _local9;
}
_local2 = 0;
while (_local2 < _matrixCache.length) {
if (_matrixCache[_local2] == CELL_VOID) {
return(false);
}
_local2++;
}
return(true);
}
function writeMatrixFromCache() {
var _local2 = 0;
while (_local2 < _matrixPattern.length) {
_matrixPattern[_local2] = _matrixCache[_local2];
_local2++;
}
}
function addWall(__numCellI, __numCellJ) {
_layerWalls.addElement("id_cursor_wall", {_x:__numCellJ * aso#65811.MATRIX_CELL_WIDTH, _y:__numCellI * aso#65811.MATRIX_CELL_HEIGHT});
_layerWallShadows.addElement("id_wall_shadow", {_x:__numCellJ * aso#65811.MATRIX_CELL_WIDTH, _y:__numCellI * aso#65811.MATRIX_CELL_HEIGHT});
writeMatrixFromCache();
var _local2;
for (var _local3 in _layerEnemies1) {
if (_layerEnemies1[_local3] instanceof aso#47844) {
_local2 = aso#47844(_layerEnemies1[_local3]);
_local2.updateWaypoint();
}
}
}
function cellHitTest(__numX, __numY) {
var _local2 = {out:false, i:0, j:0, x:0, y:0};
var _local3 = {x:0, y:0};
localToGlobal(_local3);
_local2.j = Math.floor((__numX - _local3.x) / aso#65811.MATRIX_CELL_WIDTH);
_local2.i = Math.floor((__numY - _local3.y) / aso#65811.MATRIX_CELL_HEIGHT);
if (_local2.i < 0) {
_local2.out = true;
_local2.j = undefined;
}
if (_local2.j < 0) {
_local2.out = true;
_local2.j = undefined;
}
if (_local2.j >= _matrixPattern.width) {
_local2.out = true;
_local2.j = undefined;
}
if (_local2.i >= _matrixPattern.height) {
_local2.out = true;
_local2.j = undefined;
}
_local2.x = _local3.x + (_local2.j * aso#65811.MATRIX_CELL_WIDTH);
_local2.y = _local3.y + (_local2.i * aso#65811.MATRIX_CELL_HEIGHT);
return(_local2);
}
function checkPlacingSpace(__numI, __numJ, __matrixPattern) {
if ((((__numI < 0) || (__numJ < 0)) || ((__numI + __matrixPattern.height) > _matrixPattern.height)) || ((__numJ + __matrixPattern.width) > _matrixPattern.width)) {
return(false);
}
var _local3 = 0;
while (_local3 < __matrixPattern.height) {
var _local2 = 0;
while (_local2 < __matrixPattern.width) {
if (((__matrixPattern[(_local3 * __matrixPattern.width) + _local2] != aso#28485.CELL_VOID) && (_matrixPattern[((_local3 + __numI) * _matrixPattern.width) + (_local2 + __numJ)] != CELL_ROCK)) && (_matrixPattern[((_local3 + __numI) * _matrixPattern.width) + (_local2 + __numJ)] != CELL_WALL)) {
return(false);
}
_local2++;
}
_local3++;
}
return(true);
}
function checkBuildingSpace(__numI, __numJ) {
return(_matrixPattern[(__numI * _matrixPattern.width) + __numJ] >= CELL_BUILDING);
}
function checkWallSpace(__numI, __numJ) {
if (((((_matrixPattern[(__numI * _matrixPattern.width) + __numJ] > CELL_VOID) || (__numI == 0)) || (__numJ == 0)) || (__numI == (_matrixPattern.height - 1))) || (__numJ == (_matrixPattern.width - 1))) {
return(false);
}
return(true);
}
function isHitWithGroundEnemy(__mcTarget) {
var _local2 = false;
for (var _local4 in _layerEnemies1) {
if ((_layerEnemies1[_local4] instanceof aso#47844) && (_layerEnemies1[_local4].hitTest(__mcTarget))) {
_local2 = true;
break;
}
}
return(_local2);
}
function addBuilding(__buildingSource) {
var _local2 = _layerBuildings.addElement("id_building");
if (!_local2.copyFrom(__buildingSource)) {
return(false);
}
_local2.numState = aso#28485.STATE_INSTALLED;
var _local4 = 0;
while (_local4 < _local2._matrixPattern.height) {
var _local3 = 0;
while (_local3 < _local2._matrixPattern.width) {
if (_local2._matrixPattern[(_local4 * _local2._matrixPattern.width) + _local3] == aso#28485.CELL_OCCUPIED) {
_matrixPattern[((_local4 + _local2._numCellI) * _matrixPattern.width) + (_local3 + _local2._numCellJ)] = CELL_BUILDING + _local2.getDepth();
}
_local3++;
}
_local4++;
}
return(true);
}
function getBuildingAt(__numI, __numJ) {
var _local2 = _matrixPattern[(__numI * _matrixPattern.width) + __numJ] - CELL_BUILDING;
return(aso#28485(_layerBuildings.getInstanceAtDepth(_local2)));
}
function deleteBuilding(__bldTarget) {
if (__bldTarget._parent == _layerBuildings) {
var _local4 = 0;
while (_local4 < __bldTarget._matrixPattern.height) {
var _local3 = 0;
while (_local3 < __bldTarget._matrixPattern.width) {
if (__bldTarget._matrixPattern[(_local4 * __bldTarget._matrixPattern.width) + _local3] == aso#28485.CELL_OCCUPIED) {
_matrixPattern[((_local4 + __bldTarget._numCellI) * _matrixPattern.width) + (_local3 + __bldTarget._numCellJ)] = CELL_ROCK;
}
_local3++;
}
_local4++;
}
__bldTarget.removeMovieClip();
}
}
function addEnemy(__numType, __numLevel, __effectInitial, __numWaveIndex) {
var _local5 = false;
if (((__numType == aso#47844.TYPE_PLANE) || (__numType == aso#47844.TYPE_INSECT)) || (__numType == aso#47844.TYPE_SCORPIO)) {
_local5 = true;
}
var _local4;
var _local3;
if (_local5) {
_local4 = 0;
_local3 = 3 + random(14);
} else {
var _local6 = getEntryCells();
var _local7 = random(_local6.length);
_local4 = _local6[_local7].i;
_local3 = _local6[_local7].j;
}
var _local2;
if (_local5) {
_local2 = _layerEnemies2.addElement("id_enemy", {_mapReference:this, _numCellI:_local4, _numCellJ:_local3});
_local2.numAltitude = ALTITUDE_AIR;
} else {
_local2 = _layerEnemies1.addElement("id_enemy", {_mapReference:this, _numCellI:_local4, _numCellJ:_local3});
_local2.numAltitude = ALTITUDE_GROUND;
}
_local2._x = (_local3 * aso#65811.MATRIX_CELL_WIDTH) + (aso#65811.MATRIX_CELL_WIDTH / 2);
_local2._y = (_local4 * aso#65811.MATRIX_CELL_HEIGHT) + (aso#65811.MATRIX_CELL_HEIGHT / 2);
if (_local4 == 0) {
_local2._y = _local2._y - aso#65811.MATRIX_CELL_HEIGHT;
_local2._x = _local2._x + (random(16) - 8);
_local2._y = _local2._y - (65 * __numWaveIndex);
_local2._vectSpeed.numX = 0;
_local2._vectSpeed.numY = 100;
} else if (_local3 == 0) {
_local2._x = _local2._x - aso#65811.MATRIX_CELL_WIDTH;
_local2._y = _local2._y + (random(16) - 8);
_local2._x = _local2._x - (65 * __numWaveIndex);
_local2._vectSpeed.numX = 100;
_local2._vectSpeed.numY = 0;
}
if (_local5) {
_local2._numWaypointX = _local2._x;
_local2._numWaypointY = (_matrixPattern.height * aso#65811.MATRIX_CELL_HEIGHT) + (aso#65811.MATRIX_CELL_HEIGHT / 2);
} else {
_local2.updateWaypoint();
}
_local2.initEnemy(__numType, __numLevel, _layerInfo);
if (__effectInitial != undefined) {
_local2.applyEffect(__effectInitial);
}
}
function addBlast(__objParam) {
_layerBlasts1.globalToLocal(__objParam, __mcInvoker);
var _local4 = {_x:__objParam.x, _y:__objParam.y, vectSpeed:__objParam.direction, numSpeed:__objParam.speed, _numAltitude:__objParam.altitude};
var _local3 = _layerBlasts1.addElement("id_blast", _local4);
_local3.initBlast(__objParam.type);
if (__objParam.targetsEnemy) {
_local3.setTarget(__objParam.targetsEnemy, __objParam.target);
} else {
_local3.setTarget(__objParam.targetsEnemy, {x:__objParam.targetX, y:__objParam.targetY});
}
}
function addGFX(__objParam) {
var _local3;
if ((__objParam.altitude == ALTITUDE_AIR) || (__objParam.altitude == ALTITUDE_BOTH)) {
_local3 = _layerEffects2;
} else {
_local3 = _layerEffects1;
}
_local3.globalToLocal(__objParam);
var _local4 = {_x:__objParam.x, _y:__objParam.y};
if (__objParam.radius) {
_local4._width = 2 * __objParam.radius;
_local4._height = 2 * __objParam.radius;
}
_local3.addElement(__objParam.symbol, _local4);
}
function getEntryCells() {
var _local4 = new Array();
var _local3 = 0;
while (_local3 < _matrixPattern.width) {
if (_matrixPattern[_local3] <= CELL_VOID) {
_local4.push({i:0, j:_local3});
}
_local3++;
}
var _local2 = 0;
while (_local2 < _matrixPattern.height) {
if (_matrixPattern[_local2 * _matrixPattern.width] <= CELL_VOID) {
_local4.push({i:_local2, j:0});
}
_local2++;
}
return(_local4);
}
function getNextCell(__numCellI, __numCellJ) {
var _local9;
var _local8 = false;
var _local3 = Math.max(__numCellI - 1, 0);
while (_local3 <= Math.min(__numCellI + 1, _matrixPattern.height - 1)) {
var _local2 = Math.max(__numCellJ - 1, 0);
while (_local2 <= Math.min(__numCellJ + 1, _matrixPattern.width - 1)) {
if (((_local3 != __numCellI) && (_local2 != __numCellJ)) || ((_local3 == __numCellI) && (_local2 == __numCellJ))) {
} else if ((_matrixPattern[(_local3 * _matrixPattern.width) + _local2] == (_matrixPattern[(__numCellI * _matrixPattern.width) + __numCellJ] + 1)) && (_matrixPattern[(_local3 * _matrixPattern.width) + _local2] <= CELL_VOID)) {
_local9 = {i:_local3, j:_local2};
_local8 = true;
break;
}
_local2++;
}
if (_local8) {
break;
}
_local3++;
}
return(_local9);
}
function getExitCells() {
var _local4 = new Array();
var _local3 = 0;
while (_local3 < _matrixPattern.width) {
if (_matrixPattern[((_matrixPattern.height - 1) * _matrixPattern.width) + _local3] <= CELL_VOID) {
_local4.push({i:_matrixPattern.height - 1, j:_local3});
}
_local3++;
}
var _local2 = 0;
while (_local2 < _matrixPattern.height) {
if (_matrixPattern[((_local2 + 1) * _matrixPattern.width) - 1] <= CELL_VOID) {
_local4.push({i:_local2, j:_matrixPattern.width - 1});
}
_local2++;
}
return(_local4);
}
function getNearestEnemy(__numX, __numY, __numRange, __numAltitude, __enemyForbidden) {
var _local3 = 999999 /* 0x0F423F */;
var _local4;
var _local2;
if ((__numAltitude == ALTITUDE_GROUND) || (__numAltitude == ALTITUDE_BOTH)) {
for (var _local9 in _layerEnemies1) {
if ((((_layerEnemies1[_local9] instanceof aso#47844) && (_layerEnemies1[_local9] != __enemyForbidden)) && (_layerEnemies1[_local9]._x > 0)) && (_layerEnemies1[_local9]._y > 0)) {
_local2 = _layerEnemies1[_local9].getDistanceFrom(__numX, __numY);
if ((_local2 <= __numRange) && (_local2 < _local3)) {
_local3 = _local2;
_local4 = _layerEnemies1[_local9];
}
}
}
}
if ((__numAltitude == ALTITUDE_AIR) || (__numAltitude == ALTITUDE_BOTH)) {
for (var _local9 in _layerEnemies2) {
if ((((_layerEnemies2[_local9] instanceof aso#47844) && (_layerEnemies2[_local9] != __enemyForbidden)) && (_layerEnemies2[_local9]._x > 0)) && (_layerEnemies2[_local9]._y > 0)) {
_local2 = _layerEnemies2[_local9].getDistanceFrom(__numX, __numY);
if ((_local2 <= __numRange) && (_local2 < _local3)) {
_local3 = _local2;
_local4 = _layerEnemies2[_local9];
}
}
}
}
return(_local4);
}
function applySplashEffect(__effectSplash, __numCenterX, __numCenterY, __numRadius, __numAltitude) {
var _local2;
if ((__numAltitude == ALTITUDE_GROUND) || (__numAltitude == ALTITUDE_BOTH)) {
for (var _local7 in _layerEnemies1) {
if (_layerEnemies1[_local7] instanceof aso#47844) {
_local2 = _layerEnemies1[_local7].getDistanceFrom(__numCenterX, __numCenterY);
if (_local2 <= __numRadius) {
_layerEnemies1[_local7].applyEffect(__effectSplash);
}
}
}
}
if ((__numAltitude == ALTITUDE_AIR) || (__numAltitude == ALTITUDE_BOTH)) {
for (var _local7 in _layerEnemies2) {
if (_layerEnemies2[_local7] instanceof aso#47844) {
_local2 = _layerEnemies2[_local7].getDistanceFrom(__numCenterX, __numCenterY);
if (_local2 <= __numRadius) {
_layerEnemies2[_local7].applyEffect(__effectSplash);
}
}
}
}
}
function toggleGrid(__boolVisible) {
_mcGrid._visible = false;
}
function process() {
_layerEnemies1.process();
_layerEnemies2.process();
_layerBuildings.process();
_layerBlasts1.process();
}
static var CELL_VOID = 0;
static var CELL_ROCK = 1;
static var CELL_WALL = 2;
static var CELL_BUILDING = 10;
static var ALTITUDE_GROUND = 1;
static var ALTITUDE_AIR = 2;
static var ALTITUDE_BOTH = 3;
static var SYMBOL_BASE = "id_map";
}
Symbol 955 MovieClip [aso#04529.aso#47844] Frame 0
class aso#47844 extends aso#16507
{
var boolExists, _boolNearExit, _boolAutoMove, _numType, _numMaxSpeed, _numThrottle, _numTurnSpeed, _vectSpeed, _numMaxHealth, _strDeathEffect, _numLevel, _numHealth, _mcHealthBar, _numReward, numAltitude, _y, _x, dispatchMessage, attachMovie, _mcObject, localToGlobal, _arrEffects, _mapReference, _numCellI, _numCellJ, _numWaypointX, _numWaypointY, _mcFastEffect, getNextHighestDepth, _mcSlowEffect, _mcRepairEffect, _mcShieldEffect, _width, _height, _rotation, _numOldCellI, _numOldCellJ, removeMovieClip, _parent;
function aso#47844 () {
super();
boolExists = true;
_boolNearExit = false;
_boolAutoMove = false;
}
function get numType() {
return(_numType);
}
function set numType(__numValue) {
if (_numType != __numValue) {
_numType = __numValue;
switch (_numType) {
case TYPE_BAGGI :
_numMaxSpeed = 2;
_numThrottle = 0.3;
_numTurnSpeed = 0.11;
_vectSpeed = new aso#73192(1, 1);
_vectSpeed.__set__numLength(_numMaxSpeed);
_numMaxHealth = 15;
_strDeathEffect = "aso#61214";
break;
case TYPE_TRICYCLE :
_numMaxSpeed = 1.7;
_numThrottle = 0.3;
_numTurnSpeed = 0.1;
_vectSpeed = new aso#73192(1, 1);
_vectSpeed.__set__numLength(_numMaxSpeed);
_numMaxHealth = 35;
_strDeathEffect = "aso#98540";
break;
case TYPE_CAR :
_numMaxSpeed = 1.5;
_numThrottle = 0.25;
_numTurnSpeed = 0.08;
_vectSpeed = new aso#73192(1, 1);
_vectSpeed.__set__numLength(_numMaxSpeed);
_numMaxHealth = 70;
_strDeathEffect = "aso#98540";
break;
case TYPE_HOWERTANK :
_numMaxSpeed = 1.1;
_numThrottle = 0.2;
_numTurnSpeed = 0.06;
_vectSpeed = new aso#73192(1, 1);
_vectSpeed.__set__numLength(_numMaxSpeed);
_numMaxHealth = 120;
_strDeathEffect = "aso#29877";
break;
case TYPE_PLANE :
_numMaxSpeed = 1.8;
_numThrottle = 0.3;
_numTurnSpeed = 0.11;
_vectSpeed = new aso#73192(0, 1);
_vectSpeed.__set__numLength(_numMaxSpeed);
_numMaxHealth = 8;
_strDeathEffect = "aso#61214";
break;
case TYPE_INSECT :
_numMaxSpeed = 1.5;
_numThrottle = 0.3;
_numTurnSpeed = 0.16;
_vectSpeed = new aso#73192(0, 1);
_vectSpeed.__set__numLength(_numMaxSpeed);
_numMaxHealth = 20;
_strDeathEffect = "aso#98540";
break;
case TYPE_SCORPIO :
_numMaxSpeed = 1.2;
_numThrottle = 0.3;
_numTurnSpeed = 0.06;
_vectSpeed = new aso#73192(0, 1);
_vectSpeed.__set__numLength(_numMaxSpeed);
_numMaxHealth = 40;
_strDeathEffect = "aso#29877";
break;
case TYPE_ESSAI1 :
_numMaxSpeed = 1.5;
_numThrottle = 0.25;
_numTurnSpeed = 0.06;
_vectSpeed = new aso#73192(0, 1);
_vectSpeed.__set__numLength(_numMaxSpeed);
_numMaxHealth = 130;
_strDeathEffect = "aso#29877";
}
_numMaxHealth = _numMaxHealth + Math.round((1.2 * (_numLevel - 1)) * _numMaxHealth);
var _local2 = ((_numMaxHealth < 100) ? (_numMaxHealth) : 100);
_numHealth = _numMaxHealth;
_mcHealthBar._width = _local2 / 2;
_numReward = REWARDS[_numType - 1] * (1 + (0.2 * (_numLevel - 1)));
}
//return(numType);
}
function get numHealth() {
return(_numHealth);
}
function set numHealth(__numValue) {
_numHealth = __numValue;
if (_numHealth < 0) {
_numHealth = 0;
}
if (_numHealth > _numMaxHealth) {
_numHealth = _numMaxHealth;
}
_mcHealthBar.mcBar._width = (50 * _numHealth) / _numMaxHealth;
if (_numHealth == 0) {
var _local2 = {symbol:_strDeathEffect, x:_x, y:_y, altitude:numAltitude};
dispatchMessage(aso#16507.MSG_ENEMYDEAD, _local2);
}
//return(numHealth);
}
function initEnemy(__numType, __numLevel, __mcLayerInfo) {
attachMovie(SYMBOL_BASE + __numType.toString(), "_mcObject", 1);
_mcHealthBar = __mcLayerInfo.addElement("id_healthbar");
var _local2 = {x:_mcObject._x, y:(_mcObject._y - (_mcObject._height / 2)) - 5};
localToGlobal(_local2);
__mcLayerInfo.globalToLocal(_local2);
_mcHealthBar._x = _local2.x;
_mcHealthBar._y = _local2.y;
_numLevel = __numLevel;
numType = (__numType);
_arrEffects = new Array();
}
function updateWaypoint() {
_boolAutoMove = false;
var _local2 = _mapReference.getNextCell(_numCellI, _numCellJ);
if (_local2 == undefined) {
return(false);
}
if (_numCellJ == _local2.j) {
if (_numCellI < _local2.i) {
_numWaypointX = (_numCellJ + 0.5) * aso#65811.MATRIX_CELL_WIDTH;
_numWaypointY = (_numCellI + 1) * aso#65811.MATRIX_CELL_HEIGHT;
} else {
_numWaypointX = (_numCellJ + 0.5) * aso#65811.MATRIX_CELL_WIDTH;
_numWaypointY = _numCellI * aso#65811.MATRIX_CELL_HEIGHT;
}
}
if (_numCellI == _local2.i) {
if (_numCellJ < _local2.j) {
_numWaypointX = (_numCellJ + 1) * aso#65811.MATRIX_CELL_WIDTH;
_numWaypointY = (_numCellI + 0.5) * aso#65811.MATRIX_CELL_HEIGHT;
} else {
_numWaypointX = _numCellJ * aso#65811.MATRIX_CELL_WIDTH;
_numWaypointY = (_numCellI + 0.5) * aso#65811.MATRIX_CELL_HEIGHT;
}
}
return(true);
}
function process() {
if (_vectSpeed.__get__numLength() < _numMaxSpeed) {
_vectSpeed.numLength = _vectSpeed.numLength + _numMaxSpeed;
}
if (_vectSpeed.__get__numLength() > _numMaxSpeed) {
_vectSpeed.__set__numLength(_numMaxSpeed);
}
var _local19 = false;
var _local11 = false;
var _local4 = false;
var _local15 = false;
var _local13 = false;
var _local12 = false;
var _local17 = false;
var _local5 = 0;
var _local9 = 0;
var _local10 = 0;
var _local7 = 0;
var _local6 = 0;
var _local8 = 1;
var _local3 = 0;
var _local2 = 0;
while (_local2 < _arrEffects.length) {
switch (_arrEffects[_local2].numType) {
case aso#85170.TYPE_DAMAGE :
_local19 = true;
_local10 = _local10 + _arrEffects[_local2].objParams.damage;
break;
case aso#85170.TYPE_FAST :
_local11 = true;
_local5 = _local5 + (_vectSpeed.__get__numLength() * _arrEffects[_local2].objParams.percent);
break;
case aso#85170.TYPE_SLOW :
_local4 = true;
_local9 = _local9 + (_vectSpeed.__get__numLength() * _arrEffects[_local2].objParams.percent);
break;
case aso#85170.TYPE_CLEAR :
_local15 = true;
break;
case aso#85170.TYPE_REPAIR :
_local13 = true;
_local7 = _local7 + (_numMaxHealth * _arrEffects[_local2].objParams.percent);
break;
case aso#85170.TYPE_SHIELD :
_local12 = true;
_local8 = Math.min(_local8, _arrEffects[_local2].objParams.pass);
break;
case aso#85170.TYPE_PIERCEDAMAGE :
_local6 = _local6 + _arrEffects[_local2].objParams.damage;
break;
case aso#85170.TYPE_CONFUSE :
_local3 = _local3 + (_numTurnSpeed * _arrEffects[_local2].objParams.percent);
if (_local3 >= _numTurnSpeed) {
_local3 = _numTurnSpeed;
}
break;
case aso#85170.TYPE_TIMESTOP :
_local4 = true;
_local17 = true;
}
if (_arrEffects[_local2].tick()) {
_arrEffects.splice(_local2, 1);
_local2--;
}
_local2++;
}
_vectSpeed.numLength = _vectSpeed.numLength + (_local5 - _local9);
if (_vectSpeed.__get__numLength() < MIN_SPEED) {
_vectSpeed.__set__numLength(MIN_SPEED);
}
var _local20 = _numTurnSpeed - _local3;
if (_local17) {
_vectSpeed.__set__numLength(0);
_local20 = 0;
}
numHealth = (numHealth + ((_local7 - _local6) - (_local8 * _local10)));
if (_local15) {
_arrEffects = new Array();
}
if (_local11 && (_mcFastEffect == undefined)) {
attachMovie("id_effect_fast", "_mcFastEffect", getNextHighestDepth(), {_width:1.3 * _mcObject._width, _height:1.3 * _mcObject._height});
}
if ((!_local11) && (_mcFastEffect != undefined)) {
_mcFastEffect.removeMovieClip();
}
if (_local4 && (_mcSlowEffect == undefined)) {
attachMovie("id_effect_slow", "_mcSlowEffect", getNextHighestDepth(), {_width:1.3 * _mcObject._width, _height:1.3 * _mcObject._height});
}
if ((!_local4) && (_mcSlowEffect != undefined)) {
_mcSlowEffect.removeMovieClip();
}
if (_local13 && (_mcRepairEffect == undefined)) {
attachMovie("id_effect_repair", "_mcRepairEffect", getNextHighestDepth());
}
if ((!_local13) && (_mcRepairEffect != undefined)) {
_mcRepairEffect.removeMovieClip();
}
if (_local12 && (_mcShieldEffect == undefined)) {
attachMovie("id_effect_shield", "_mcShieldEffect", getNextHighestDepth(), {_width:1.3 * _mcObject._width, _height:1.3 * _mcObject._height});
}
if ((!_local12) && (_mcShieldEffect != undefined)) {
_mcShieldEffect.removeMovieClip();
}
if (_local19) {
aso#97148.playSound(aso#65811.SND_HIT);
}
var _local16 = new aso#73192(0, 0);
if (_boolNearExit) {
if (((_x - (_width / 2)) > (aso#65811.MATRIX_WIDTH * aso#65811.MATRIX_CELL_WIDTH)) || ((_y - (_height / 2)) > (aso#65811.MATRIX_HEIGHT * aso#65811.MATRIX_CELL_HEIGHT))) {
dispatchMessage(aso#16507.MSG_ENEMYPASSED);
}
if (_numCellI == (_mapReference._matrixPattern.height - 1)) {
_local16.__set__numY(1);
}
if (_numCellJ == (_mapReference._matrixPattern.width - 1)) {
_local16.__set__numX(1);
}
} else {
_local16.__set__numX(_numWaypointX - _x);
_local16.__set__numY(_numWaypointY - _y);
}
if (numAltitude != aso#59822.ALTITUDE_AIR) {
var _local21 = _vectSpeed.getAngleWith(_local16);
if (_local21 > WAYPOINT_TURN_TOLERANCE) {
var _local23 = (_local16.__get__numX() * _vectSpeed.__get__numY()) - (_vectSpeed.__get__numX() * _local16.__get__numY());
var _local22 = ((_local20 > _local21) ? (_local21) : (_local20));
if (_local23 > 0) {
_vectSpeed.rotate(_local22);
} else {
_vectSpeed.rotate(-_local22);
}
}
}
var _local25 = _x;
var _local24 = _y;
_x = _x + _vectSpeed.numX;
_y = _y + _vectSpeed.numY;
_rotation = _vectSpeed.numRotation;
var _local14 = Math.floor(_x / aso#65811.MATRIX_CELL_WIDTH);
var _local18 = Math.floor(_y / aso#65811.MATRIX_CELL_HEIGHT);
if ((((((numAltitude != aso#59822.ALTITUDE_AIR) && (_local18 >= 0)) && (_local18 < aso#65811.MATRIX_HEIGHT)) && (_local14 >= 0)) && (_local14 < aso#65811.MATRIX_WIDTH)) && (_mapReference._matrixPattern[(_local18 * aso#65811.MATRIX_WIDTH) + _local14] > aso#59822.CELL_VOID)) {
_vectSpeed.__set__numLength(0.1);
_x = _local25;
_y = _local24;
_local18 = -1;
_local14 = -1;
} else {
_mcHealthBar._x = _mcHealthBar._x + _vectSpeed.numX;
_mcHealthBar._y = _mcHealthBar._y + _vectSpeed.numY;
}
if (((_local18 >= 0) && (_local14 >= 0)) && ((_numCellI != _local18) || (_numCellJ != _local14))) {
_numOldCellI = _numCellI;
_numOldCellJ = _numCellJ;
_numCellJ = _local14;
_numCellI = _local18;
if ((numAltitude == aso#59822.ALTITUDE_AIR) || (!updateWaypoint())) {
_boolNearExit = true;
}
}
}
function restoreOldCell() {
_numCellI = _numOldCellI;
_numCellJ = _numOldCellJ;
}
function remove() {
_mcHealthBar.removeMovieClip();
removeMovieClip();
}
function getDistanceFrom(__numX, __numY) {
var _local2 = {x:__numX, y:__numY};
_parent.globalToLocal(_local2);
return(Math.sqrt(((_x - _local2.x) * (_x - _local2.x)) + ((_y - _local2.y) * (_y - _local2.y))));
}
function applyEffect(__effectNew) {
_arrEffects.push(__effectNew);
}
static var TYPE_BAGGI = 1;
static var TYPE_TRICYCLE = 2;
static var TYPE_CAR = 3;
static var TYPE_HOWERTANK = 4;
static var TYPE_PLANE = 5;
static var TYPE_INSECT = 6;
static var TYPE_SCORPIO = 7;
static var TYPE_ESSAI1 = 8;
static var REWARDS = new Array(3, 6, 8, 13, 4, 16, 11, 13);
static var SYMBOL_BASE = "id_enemy";
static var WAYPOINT_HIT_TOLERANCE = 20;
static var WAYPOINT_TURN_TOLERANCE = 0.1;
static var WAYPOINT_RANDOM = 16;
static var MIN_SPEED = 0.35;
}
Symbol 956 MovieClip [aso#04529.aso#73192] Frame 0
class aso#73192
{
var _numX, _numY;
function aso#73192 (__numX, __numY) {
_numX = __numX;
_numY = __numY;
}
function get numX() {
return(_numX);
}
function set numX(__numNew) {
_numX = __numNew;
//return(numX);
}
function get numY() {
return(_numY);
}
function set numY(__numNew) {
_numY = __numNew;
//return(numY);
}
function get numLength() {
return(Math.sqrt((_numX * _numX) + (_numY * _numY)));
}
function set numLength(__numNew) {
if (__numNew < MIN_LENGTH) {
__numNew = MIN_LENGTH;
}
if (numLength) {
var _local2 = __numNew / numLength;
_numX = _numX * _local2;
_numY = _numY * _local2;
}
//return(numLength);
}
function get numRotation() {
var _local2 = (180 * getAngleWith(new aso#73192(0, -1))) / Math.PI;
if (_numX < 0) {
_local2 = _local2 * -1;
}
return(_local2);
}
function set numRotation(__numValue) {
var _local2 = numLength;
_numX = 0;
_numY = 1;
rotate((-3.141592 * __numValue) / 180);
numLength = (_local2);
//return(numRotation);
}
function makeCopy() {
return(new aso#73192(_numX, _numY));
}
function addVector(__vectAdd) {
_numX = _numX + __vectAdd.numX;
_numY = _numY + __vectAdd.numY;
}
function rotate(__numAngle) {
if (__numAngle) {
var _local2 = Math.atan2(_numX, _numY) + __numAngle;
var _local3 = numLength;
_numX = _local3 * Math.sin(_local2);
_numY = _local3 * Math.cos(_local2);
}
}
function oneWayTo(__vector, __precision) {
return(Math.abs((_numX * __vector.__get__numY()) - (_numY * __vector.__get__numX())));
}
function getAngleWith(__vector) {
return(Math.acos(((_numX * __vector.__get__numX()) + (_numY * __vector.__get__numY())) / (numLength * __vector.__get__numLength())));
}
function getProjection(__vector) {
return(((_numX * __vector.__get__numX()) + (_numY * __vector.__get__numY())) / __vector.__get__numLength());
}
function toString() {
return(new String(((("|" + _numX) + ",") + _numY) + "|"));
}
var MIN_LENGTH = 0.001;
}
Symbol 957 MovieClip [aso#04529.aso#85170] Frame 0
class aso#85170
{
var numType, objParams, _numDuration, _numTimer;
function aso#85170 (__numType, __objParams, __numDuration) {
numType = __numType;
objParams = __objParams;
_numDuration = __numDuration;
if (_numDuration == undefined) {
_numTimer = 0;
} else {
_numTimer = _numDuration;
}
}
function tick() {
if (_numTimer == 0) {
return(true);
}
_numTimer--;
return(false);
}
function makeCopy() {
return(new aso#85170(numType, objParams, _numDuration));
}
static var TYPE_DAMAGE = 1;
static var TYPE_FAST = 2;
static var TYPE_SLOW = 3;
static var TYPE_CLEAR = 4;
static var TYPE_REPAIR = 5;
static var TYPE_SHIELD = 6;
static var TYPE_PIERCEDAMAGE = 7;
static var TYPE_CONFUSE = 8;
static var TYPE_TIMESTOP = 9;
}
Symbol 958 MovieClip [aso#04529.aso#91159] Frame 0
class aso#91159 extends aso#16507
{
static var Instigator;
var _numLiveTimer, _numType, _numTurnSpeed, _numDamage, _numSplashRadius, _strEffectSymbol, lineStyle, moveTo, lineTo, _vectSpeed, _numTTL, _numSpeed, attachMovie, _boolTargetsEnemy, _mcTarget, _numTargetX, _numTargetY, removeMovieClip, _parent, _x, _y, dispatchMessage, _numAltitude, _rotation;
function aso#91159 () {
super();
_numLiveTimer = TTL;
}
function get numType() {
return(_numType);
}
function set numType(__numValue) {
if (_numType != __numValue) {
_numType = __numValue;
switch (_numType) {
case TYPE_ROCKET :
_numTurnSpeed = 0.1 * (1 + SPEED_BONUS);
_numDamage = 1 * (1 + DAMAGE_BONUS);
_numSplashRadius = 0 * (1 + RADIUS_BONUS);
_strEffectSymbol = "aso#50628";
break;
case TYPE_BALL :
_numTurnSpeed = 0.05;
_numDamage = 1 * (1 + DAMAGE_BONUS);
_numSplashRadius = 45;
_strEffectSymbol = "aso#13302";
break;
case TYPE_ELECTRICFIELD :
_numTurnSpeed = 0;
_numDamage = 1 * (1 + DAMAGE_BONUS);
_numSplashRadius = 60 * (1 + aso#28485.RANGE_BONUS);
_strEffectSymbol = "aso#17899";
break;
case TYPE_LASERBEAM :
_numTurnSpeed = 0;
_numDamage = 1 * (1 + DAMAGE_BONUS);
_numSplashRadius = 0;
lineStyle(0, 16711680);
moveTo(0, 0);
lineTo(0, _vectSpeed.__get__numLength());
lineStyle(0, 16777215);
moveTo(1, 0);
lineTo(1, _vectSpeed.__get__numLength());
lineStyle(0, 16711680);
moveTo(-1, 0);
lineTo(-1, _vectSpeed.__get__numLength());
break;
case TYPE_NULIFYBALL :
_numTurnSpeed = 0.1;
_numDamage = 1 * (1 + DAMAGE_BONUS);
_numSplashRadius = 0;
break;
case TYPE_AASHELL :
_numTurnSpeed = 0;
_numDamage = 1 * (1 + DAMAGE_BONUS);
_numSplashRadius = 0;
break;
case TYPE_SLOWSHOT :
_numTurnSpeed = 0.1 * (1 + SPEED_BONUS);
_numDamage = 1 * (1 + DAMAGE_BONUS);
_numSplashRadius = 15;
break;
case TYPE_CHAINBLAST :
_numTurnSpeed = 3.141592;
_numDamage = 1 * (1 + DAMAGE_BONUS);
_numSplashRadius = 0;
_numTTL = 1;
break;
case TYPE_GAUSSRAIL :
_numTurnSpeed = 0;
_numDamage = 1 * (1 + DAMAGE_BONUS);
_numSplashRadius = 0;
lineStyle(0, 65535);
moveTo(0, 0);
lineTo(0, _vectSpeed.__get__numLength());
lineStyle(0, 16777215);
moveTo(1, 0);
lineTo(1, _vectSpeed.__get__numLength());
lineStyle(0, 65535);
moveTo(-1, 0);
lineTo(-1, _vectSpeed.__get__numLength());
break;
case TYPE_CONFUSEBALL :
_numTurnSpeed = 0.5;
_numDamage = 1 * (1 + DAMAGE_BONUS);
_numSplashRadius = 0;
break;
case TYPE_MISSILE :
_numTurnSpeed = 0.1;
_numDamage = 1 * (1 + DAMAGE_BONUS);
_numSplashRadius = 100;
_strEffectSymbol = "aso#58009";
}
}
//return(numType);
}
function get vectSpeed() {
return(_vectSpeed);
}
function set vectSpeed(__vectPattern) {
_vectSpeed = __vectPattern.makeCopy();
_vectSpeed.__set__numLength(_numSpeed);
//return(vectSpeed);
}
function get numSpeed() {
return(_numSpeed);
}
function set numSpeed(__numValue) {
_numSpeed = __numValue;
_vectSpeed.__set__numLength(_numSpeed);
//return(numSpeed);
}
function initBlast(__numType, __mcInvoker) {
attachMovie(SYMBOL_BASE + __numType.toString(), "_mcObject", 1);
numType = (__numType);
_numDamage = Number(_numDamage + Instigator.damage);
if (numType == 4) {
_numSplashRadius = Instigator._numRange;
}
}
function setTarget(__boolTargetsEnemy, __objTarget) {
_boolTargetsEnemy = __boolTargetsEnemy;
if (_boolTargetsEnemy) {
_mcTarget = MovieClip(__objTarget);
} else {
_numTargetX = __objTarget.x;
_numTargetY = __objTarget.y;
}
}
function process() {
if (_boolTargetsEnemy && (!_mcTarget.boolExists)) {
_numLiveTimer--;
if (_numLiveTimer == 0) {
removeMovieClip();
}
} else {
var _local2 = new Object();
if (_boolTargetsEnemy) {
_local2.x = _mcTarget._x;
_local2.y = _mcTarget._y;
_mcTarget._parent.localToGlobal(objTargetGlobal);
} else {
_local2.x = _numTargetX;
_local2.y = _numTargetY;
}
var objTargetGlobal = {x:_local2.x, y:_local2.y};
_parent.globalToLocal(_local2);
var _local4 = new aso#73192(_local2.x - _x, _local2.y - _y);
if (_local4.__get__numLength() <= TARGET_HIT_TOLERANCE) {
switch (_numType) {
case TYPE_ROCKET :
case TYPE_AASHELL :
_mcTarget.applyEffect(new aso#85170(aso#85170.TYPE_DAMAGE, {damage:_numDamage}));
break;
case TYPE_CHAINBLAST :
_mcTarget.applyEffect(new aso#85170(aso#85170.TYPE_DAMAGE, {damage:_numDamage / _numTTL}));
break;
case TYPE_MISSILE :
dispatchMessage(aso#16507.MSG_SPLASHEFFECT, {effect:new aso#85170(aso#85170.TYPE_PIERCEDAMAGE, {damage:_numDamage}), centerX:objTargetGlobal.x, centerY:objTargetGlobal.y, radius:_numSplashRadius, altitude:_numAltitude});
case TYPE_BALL :
aso#97148.playSound(aso#65811.SND_PLASMASPLASH);
case TYPE_ELECTRICFIELD :
dispatchMessage(aso#16507.MSG_SPLASHEFFECT, {effect:new aso#85170(aso#85170.TYPE_DAMAGE, {damage:_numDamage}), centerX:objTargetGlobal.x, centerY:objTargetGlobal.y, radius:_numSplashRadius, altitude:_numAltitude});
break;
case TYPE_SLOWSHOT :
_mcTarget.applyEffect(new aso#85170(aso#85170.TYPE_DAMAGE, {damage:_numDamage}));
dispatchMessage(aso#16507.MSG_SPLASHEFFECT, {effect:new aso#85170(aso#85170.TYPE_SLOW, {percent:0.25}, 36), centerX:objTargetGlobal.x, centerY:objTargetGlobal.y, radius:_numSplashRadius, altitude:_numAltitude});
break;
case TYPE_NULIFYBALL :
_mcTarget.applyEffect(new aso#85170(aso#85170.TYPE_DAMAGE, {damage:_numDamage}));
_mcTarget.applyEffect(new aso#85170(aso#85170.TYPE_CLEAR));
break;
case TYPE_LASERBEAM :
_mcTarget.applyEffect(new aso#85170(aso#85170.TYPE_PIERCEDAMAGE, {damage:_numDamage}));
case TYPE_GAUSSRAIL :
_mcTarget.applyEffect(new aso#85170(aso#85170.TYPE_PIERCEDAMAGE, {damage:_numDamage}));
break;
case TYPE_CONFUSEBALL :
_mcTarget.applyEffect(new aso#85170(aso#85170.TYPE_DAMAGE, {damage:_numDamage}));
_mcTarget.applyEffect(new aso#85170(aso#85170.TYPE_CONFUSE, {percent:0.7}, 60));
}
if (_strEffectSymbol) {
var _local3 = {symbol:_strEffectSymbol, x:_x, y:_y, altitude:_numAltitude};
if (_numType == TYPE_ELECTRICFIELD) {
_local3.altitude = aso#59822.ALTITUDE_AIR;
_local3.radius = _numSplashRadius;
}
_parent.localToGlobal(_local3);
dispatchMessage(aso#16507.MSG_CREATEGFX, _local3);
}
if ((_numType == TYPE_CHAINBLAST) && (_numTTL < 4)) {
_numTTL++;
var _local8 = _mcTarget;
_mcTarget = undefined;
dispatchMessage(aso#16507.MSG_TARGETLOST, {range:60, alt:aso#59822.ALTITUDE_GROUND, forbidden:_local8});
if (!_mcTarget.boolExists) {
removeMovieClip();
}
} else {
removeMovieClip();
}
}
var _local5 = _vectSpeed.getAngleWith(_local4);
if (_local5 > TARGET_TURN_TOLERANCE) {
var _local7 = (_local4.__get__numX() * _vectSpeed.__get__numY()) - (_vectSpeed.__get__numX() * _local4.__get__numY());
var _local6 = ((_numTurnSpeed > _local5) ? (_local5) : (_numTurnSpeed));
if (_local7 > 0) {
_vectSpeed.rotate(_local6);
} else {
_vectSpeed.rotate(-_local6);
}
}
}
_x = _x + _vectSpeed.numX;
_y = _y + _vectSpeed.numY;
_rotation = _vectSpeed.numRotation;
}
static var TYPE_ROCKET = 1;
static var TYPE_BALL = 2;
static var TYPE_SLOWSHOT = 3;
static var TYPE_ELECTRICFIELD = 4;
static var TYPE_NULIFYBALL = 5;
static var TYPE_LASERBEAM = 6;
static var TYPE_AASHELL = 7;
static var TYPE_MISSILE = 8;
static var TYPE_CHAINBLAST = 9;
static var TYPE_GAUSSRAIL = 10;
static var TYPE_CONFUSEBALL = 11;
static var SYMBOL_BASE = "id_blast";
static var TARGET_HIT_TOLERANCE = 10;
static var TARGET_TURN_TOLERANCE = 0.1;
static var TTL = 100;
static var DAMAGE_BONUS = 0;
static var SPEED_BONUS = 0;
static var RADIUS_BONUS = 0;
}
Symbol 959 MovieClip [aso#04529.aso#79181] Frame 0
class aso#79181
{
var numType, _numCooldown, tgbtnLink, _numSources, _boolAvaliable, _numTimer;
function aso#79181 (__numType, __tgbtnLink, __numSources) {
numType = __numType;
switch (numType) {
case TYPE_SELL :
case TYPE_MONEYBONUS :
case TYPE_TOWERBONUS :
_numCooldown = 0;
break;
case TYPE_MISSILE :
_numCooldown = 5400;
break;
case TYPE_WALL :
_numCooldown = 0;
break;
case TYPE_TIMEBOMB :
_numCooldown = 5400;
}
tgbtnLink = __tgbtnLink;
tgbtnLink.mcClock.gotoAndStop(7201);
numSources = (__numSources);
}
static function getCursorSymbol(__numType) {
switch (__numType) {
case TYPE_SELL :
return("id_cursor_sell");
case TYPE_MISSILE :
return("id_cursor_missile");
case TYPE_WALL :
return("id_cursor_wall");
case TYPE_TIMEBOMB :
return("id_cursor_timebomb");
}
return(undefined);
}
function get numSources() {
return(_numSources);
}
function set numSources(__numValue) {
_numSources = __numValue;
if (_numSources < 0) {
_numSources = 0;
}
boolAvaliable = (_numSources > 0);
//return(numSources);
}
function get boolAvaliable() {
return(_boolAvaliable);
}
function set boolAvaliable(__boolValue) {
if ((!_boolAvaliable) && (__boolValue)) {
numTimer = (0);
}
_boolAvaliable = true;
tgbtnLink.__set__boolEnabled(_boolAvaliable);
tgbtnLink._visible = true;
//return(boolAvaliable);
}
function get numTimer() {
return(_numTimer);
}
function set numTimer(__numValue) {
_numTimer = __numValue;
if (_numTimer < 0) {
_numTimer = 0;
}
updateClock();
//return(numTimer);
}
function tick() {
if (_boolAvaliable) {
if (numTimer == 0) {
if (!tgbtnLink.__get__boolEnabled()) {
tgbtnLink.__set__boolEnabled(true);
}
} else {
numTimer = (numTimer - numSources);
}
}
}
function updateClock() {
tgbtnLink.mcClock.gotoAndStop(7201 - Math.floor((7200 * _numTimer) / _numCooldown));
}
function reset() {
numTimer = (_numCooldown);
if (numTimer > 0) {
tgbtnLink.__set__boolEnabled(false);
return(true);
}
return(false);
}
static var TYPE_SELL = 1;
static var TYPE_MISSILE = 2;
static var TYPE_WALL = 3;
static var TYPE_TIMEBOMB = 4;
static var TYPE_MONEYBONUS = 5;
static var TYPE_TOWERBONUS = 6;
}
Symbol 960 MovieClip [aso#04529.aso#53833] Frame 0
class aso#53833
{
var _numPoints, boolActive, _numType, _numPointCap, strCompleteMsg;
function aso#53833 (__numType) {
numType = (__numType);
_numPoints = 0;
boolActive = false;
}
function get numType() {
return(_numType);
}
function set numType(__numValue) {
if (_numType != __numValue) {
_numType = __numValue;
switch (_numType) {
case TYPE_TOWERS1_1 :
_numPointCap = 0;
strCompleteMsg = "M";
break;
case TYPE_TOWERS1_2 :
_numPointCap = 1;
strCompleteMsg = "";
break;
case TYPE_TOWERS1_3 :
_numPointCap = 5;
strCompleteMsg = "";
break;
case TYPE_TOWERS1_4 :
_numPointCap = 40;
strCompleteMsg = "";
break;
case TYPE_TOWERS1_5 :
_numPointCap = 1;
strCompleteMsg = "";
break;
case TYPE_TOWERS2_1 :
_numPointCap = 0;
strCompleteMsg = "";
break;
case TYPE_TOWERS2_2 :
_numPointCap = 5;
strCompleteMsg = "";
break;
case TYPE_TOWERS2_3 :
_numPointCap = 1000;
strCompleteMsg = "";
break;
case TYPE_TOWERS2_4 :
_numPointCap = 1;
strCompleteMsg = "";
break;
case TYPE_TOWERS2_5 :
_numPointCap = 10;
strCompleteMsg = "";
break;
case TYPE_STRUCTURES_1 :
_numPointCap = 5;
strCompleteMsg = "";
break;
case TYPE_STRUCTURES_2 :
_numPointCap = 15;
strCompleteMsg = "";
break;
case TYPE_STRUCTURES_3 :
_numPointCap = 3;
strCompleteMsg = "";
break;
case TYPE_STRUCTURES_4 :
_numPointCap = 7;
strCompleteMsg = "";
break;
case TYPE_STRUCTURES_5 :
strCompleteMsg = "";
_numPointCap = 2;
}
}
//return(numType);
}
function get numPoints() {
return(_numPoints);
}
function set numPoints(__numValue) {
_numPoints = __numValue;
if (_numPoints < 0) {
_numPoints = 0;
}
//return(numPoints);
}
function get numPointCap() {
return(_numPointCap);
}
function get boolComplete() {
return(_numPoints >= _numPointCap);
}
static var TYPE_TOWERS1_1 = 1;
static var TYPE_TOWERS1_2 = 2;
static var TYPE_TOWERS1_3 = 3;
static var TYPE_TOWERS1_4 = 4;
static var TYPE_TOWERS1_5 = 5;
static var TYPE_TOWERS2_1 = 6;
static var TYPE_TOWERS2_2 = 7;
static var TYPE_TOWERS2_3 = 8;
static var TYPE_TOWERS2_4 = 9;
static var TYPE_TOWERS2_5 = 10;
static var TYPE_STRUCTURES_1 = 11;
static var TYPE_STRUCTURES_2 = 12;
static var TYPE_STRUCTURES_3 = 13;
static var TYPE_STRUCTURES_4 = 14;
static var TYPE_STRUCTURES_5 = 15;
}
Symbol 961 MovieClip [aso#04529.aso#35866] Frame 0
class aso#35866 extends aso#16507
{
var mcHitArea, _boolPressed, _boolEnabled, gotoAndStop, dispatchMessage, _strToolTip;
function aso#35866 () {
super();
if (mcHitArea == undefined) {
mcHitArea = this;
}
_boolPressed = false;
_boolEnabled = true;
}
function get boolPressed() {
return(_boolPressed);
}
function set boolPressed(__boolValue) {
if (_boolPressed != __boolValue) {
_boolPressed = __boolValue;
if (_boolPressed) {
gotoAndStop("frmPressed");
} else {
gotoAndStop("frmReleased");
}
}
//return(boolPressed);
}
function get boolEnabled() {
return(_boolEnabled);
}
function set boolEnabled(__boolValue) {
if (_boolEnabled != __boolValue) {
_boolEnabled = __boolValue;
if (_boolEnabled == false) {
boolPressed = (false);
}
}
//return(boolEnabled);
}
function onMouseDown() {
if (_boolEnabled) {
if (mcHitArea.hitTest(_root._xmouse, _root._ymouse, true)) {
dispatchMessage(aso#16507.MSG_TOGGLEPRESS, {isHit:true});
aso#97148.playSound(aso#65811.SND_SWITCH);
} else {
dispatchMessage(aso#16507.MSG_TOGGLEPRESS, {isHit:false});
}
}
if ((_strToolTip != undefined) && (_strToolTip != "")) {
}
updateAfterEvent();
}
}
Symbol 962 MovieClip [aso#04529.aso#41855] Frame 0
class aso#41855 extends aso#16507
{
var _numState, mcCursor, _numAbilityAttached, _mapReference, attachMovie, _boolJustAttached, filters, _objCell, _parent, _visible, _x, _y, dispatchMessage, _alpha;
function aso#41855 () {
super();
}
function get numState() {
return(_numState);
}
function set numState(__newValue) {
if (_numState != __newValue) {
_numState = __newValue;
}
//return(numState);
}
function get buildingCursor() {
return(aso#28485(mcCursor));
}
function get numAbility() {
return(_numAbilityAttached);
}
function initCursor(__mapReference) {
_mapReference = __mapReference;
}
function attachBuilding(__numType) {
clear();
attachMovie("id_building", "mcCursor", CURSOR_DEPTH);
if (mcCursor.initBuilding(__numType) == false) {
return(false);
}
mcCursor.numState = aso#28485.STATE_PLACING;
numState = (STATE_BUILDING);
_root.choisie = aso#28485;
_boolJustAttached = true;
return(true);
}
function attachAbility(__numType) {
_numAbilityAttached = __numType;
attachMovie(aso#79181.getCursorSymbol(__numType), "mcCursor", CURSOR_DEPTH);
numState = (STATE_ABILITY);
_boolJustAttached = true;
}
function clear() {
if (!_boolJustAttached) {
mcCursor.removeMovieClip();
numState = (STATE_CLEAR);
filters = new Array();
}
}
function refresh() {
if (numState != STATE_CLEAR) {
_objCell = _mapReference.cellHitTest(_root._xmouse, _root._ymouse);
_parent.globalToLocal(_objCell);
var _local4 = (mcCursor._numCellI != _objCell.i) || (mcCursor._numCellJ != _objCell.j);
mcCursor._numCellI = _objCell.i;
mcCursor._numCellJ = _objCell.j;
_visible = !_objCell.out;
if (numState == STATE_BUILDING) {
_x = _objCell.x;
_y = _objCell.y;
if (_local4) {
dispatchMessage(aso#16507.MSG_MOUSEOUT, {forceHide:true}, buildingCursor);
if (!_objCell.out) {
dispatchMessage(aso#16507.MSG_MOUSEOVER, {forceShow:true}, buildingCursor);
}
_mapReference.toggleGrid(!_objCell.out);
}
if (_mapReference.checkPlacingSpace(_objCell.i, _objCell.j, mcCursor._matrixPattern)) {
_objCell.free = true;
var _local3 = new Array();
_local3.push(PERMISSION_GLOW);
mcCursor._mcObject.mcGun.fx.fx.filters = _local3;
} else {
_objCell.free = false;
var _local3 = new Array();
_local3.push(FORBIDDEN_GLOW);
mcCursor._mcObject.mcGun.fx.fx.filters = _local3;
}
} else if ((numState == STATE_ABILITY) && (numAbility == aso#79181.TYPE_WALL)) {
_x = _objCell.x;
_y = _objCell.y;
if (_mapReference.checkWallSpace(_objCell.i, _objCell.j)) {
_objCell.free = true;
var _local3 = new Array();
_local3.push(PERMISSION_GLOW);
mcCursor.mcGun.fx.fx.filters = _local3;
} else {
_objCell.free = false;
var _local3 = new Array();
_local3.push(FORBIDDEN_GLOW);
mcCursor.mcGun.fx.fx.filters = _local3;
}
_mapReference.toggleGrid(!_objCell.out);
} else {
_x = _parent._xmouse;
_y = _parent._ymouse;
switch (numAbility) {
case aso#79181.TYPE_SELL :
if (_mapReference.checkBuildingSpace(_objCell.i, _objCell.j)) {
_objCell.free = true;
filters = new Array();
} else {
_objCell.free = false;
var _local3 = new Array();
_local3.push(FORBIDDEN_GLOW);
mcCursor._mcObject.mcGun.fx.fx.filters = _local3;
}
_mapReference.toggleGrid(!_objCell.out);
break;
case aso#79181.TYPE_MISSILE :
case aso#79181.TYPE_TIMEBOMB :
_objCell.free = true;
_alpha = 100;
}
}
}
}
function onMouseMove() {
refresh();
updateAfterEvent();
}
function onMouseDown() {
if ((numState == STATE_BUILDING) || (numState == STATE_ABILITY)) {
refresh();
dispatchMessage(aso#16507.MSG_MOUSECLICK, _objCell);
}
updateAfterEvent();
}
function onEnterFrame() {
_boolJustAttached = false;
}
static var CURSOR_DEPTH = 1;
static var STATE_CLEAR = 0;
static var STATE_BUILDING = 1;
static var STATE_ABILITY = 2;
static var FORBIDDEN_GLOW = new flash.filters.GlowFilter(16711680, 100, 4, 4);
static var PERMISSION_GLOW = new flash.filters.GlowFilter(65280, 100, 4, 4);
}
Symbol 963 MovieClip [aso#04529.aso#34474] Frame 0
class aso#34474
{
function aso#34474 () {
}
static var WAVE_ALT_GROUND = 1;
static var WAVE_ALT_AIR = 2;
static var WAVE_SIZE_TINY = 1;
static var WAVE_SIZE_SMALL = 2;
static var WAVE_SIZE_MEDIUM = 3;
static var WAVE_SIZE_BIG = 4;
static var WAVE_EFFECT_FAST = 1;
static var WAVE_EFFECT_SHIELD = 2;
static var WAVE_EFFECT_REPAIR = 3;
static var PROGRAMS = new Array(new Array({alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_TINY, level:4}, {alt:WAVE_ALT_GROUND, qty:5, size:WAVE_SIZE_TINY, level:4}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_TINY, level:4}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_TINY, level:5}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_TINY, level:5}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_MEDIUM, level:3}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_TINY, level:5}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_TINY, level:6}, {alt:WAVE_ALT_AIR, qty:1, size:WAVE_SIZE_TINY, level:4}, {alt:WAVE_ALT_GROUND, qty:3, size:WAVE_SIZE_SMALL, level:6}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_MEDIUM, level:4}, {alt:WAVE_ALT_GROUND, qty:6, size:WAVE_SIZE_TINY, level:7}, {alt:WAVE_ALT_GROUND, qty:3, size:WAVE_SIZE_SMALL, level:7}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_MEDIUM, level:7}, {alt:WAVE_ALT_GROUND, qty:10, size:WAVE_SIZE_TINY, level:7}, {alt:WAVE_ALT_AIR, qty:1, size:WAVE_SIZE_TINY, level:9}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_TINY, level:9}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_TINY, level:9, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_TINY, level:10}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:10}, {alt:WAVE_ALT_GROUND, qty:1, size:WAVE_SIZE_MEDIUM, level:10, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_AIR, qty:1, size:WAVE_SIZE_SMALL, level:11}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_MEDIUM, level:11}, {alt:WAVE_ALT_AIR, qty:2, size:WAVE_SIZE_SMALL, level:11}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:12, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_SMALL, level:12}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_SMALL, level:12}, {alt:WAVE_ALT_AIR, qty:2, size:WAVE_SIZE_MEDIUM, level:13}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_BIG, level:13}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_BIG, level:16, effect:WAVE_EFFECT_REPAIR}), new Array({alt:WAVE_ALT_GROUND, qty:5, size:WAVE_SIZE_TINY, level:5}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_TINY, level:5}, {alt:WAVE_ALT_GROUND, qty:3, size:WAVE_SIZE_SMALL, level:5}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_TINY, level:6}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:6}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_TINY, level:6}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_SMALL, level:7, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_TINY, level:7}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_TINY, level:8}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:8}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_TINY, level:8}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_TINY, level:9, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:9}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_MEDIUM, level:10}, {alt:WAVE_ALT_AIR, qty:8, size:WAVE_SIZE_TINY, level:10}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_TINY, level:10}, {alt:WAVE_ALT_GROUND, qty:10, size:WAVE_SIZE_MEDIUM, level:11}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_SMALL, level:11}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:11, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_TINY, level:12}, {alt:WAVE_ALT_GROUND, qty:1, size:WAVE_SIZE_BIG, level:12}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_SMALL, level:12}, {alt:WAVE_ALT_AIR, qty:2, size:WAVE_SIZE_MEDIUM, level:13}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:13, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_TINY, level:13}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:14, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_AIR, qty:12, size:WAVE_SIZE_TINY, level:14}, {alt:WAVE_ALT_AIR, qty:8, size:WAVE_SIZE_TINY, level:14, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:10, size:WAVE_SIZE_SMALL, level:15}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_MEDIUM, level:15}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:15}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_BIG, level:16, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_MEDIUM, level:16}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_TINY, level:16, effect:WAVE_EFFECT_SHIELD}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_MEDIUM, level:17}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:17}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_MEDIUM, level:17}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:18, effect:WAVE_EFFECT_SHIELD}, {alt:WAVE_ALT_AIR, qty:8, size:WAVE_SIZE_MEDIUM, level:22, effect:WAVE_EFFECT_SHIELD}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_BIG, level:28, effect:WAVE_EFFECT_REPAIR}), new Array({alt:WAVE_ALT_GROUND, qty:5, size:WAVE_SIZE_TINY, level:5}, {alt:WAVE_ALT_GROUND, qty:6, size:WAVE_SIZE_TINY, level:5}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:5}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_MEDIUM, level:5}, {alt:WAVE_ALT_GROUND, qty:5, size:WAVE_SIZE_SMALL, level:6}, {alt:WAVE_ALT_GROUND, qty:5, size:WAVE_SIZE_TINY, level:6}, {alt:WAVE_ALT_GROUND, qty:1, size:WAVE_SIZE_SMALL, level:6, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_TINY, level:6}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_TINY, level:7}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:7}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_TINY, level:5}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_TINY, level:7, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:7}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_MEDIUM, level:7}, {alt:WAVE_ALT_AIR, qty:8, size:WAVE_SIZE_TINY, level:8}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_TINY, level:5}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_MEDIUM, level:8}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_SMALL, level:8}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:8, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_TINY, level:8}, {alt:WAVE_ALT_GROUND, qty:1, size:WAVE_SIZE_BIG, level:9}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_SMALL, level:9}, {alt:WAVE_ALT_AIR, qty:2, size:WAVE_SIZE_MEDIUM, level:9}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:9, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_TINY, level:10}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:10, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_AIR, qty:12, size:WAVE_SIZE_TINY, level:10}, {alt:WAVE_ALT_AIR, qty:8, size:WAVE_SIZE_TINY, level:10, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_SMALL, level:11}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_MEDIUM, level:11}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:11}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_BIG, level:12, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_MEDIUM, level:12}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_TINY, level:12, effect:WAVE_EFFECT_SHIELD}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_MEDIUM, level:12}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:12}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_MEDIUM, level:13}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:13, effect:WAVE_EFFECT_SHIELD}, {alt:WAVE_ALT_AIR, qty:1, size:WAVE_SIZE_MEDIUM, level:13, effect:WAVE_EFFECT_SHIELD}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:13}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_MEDIUM, level:13}, {alt:WAVE_ALT_GROUND, qty:1, size:WAVE_SIZE_BIG, level:13, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_BIG, level:13, effect:WAVE_EFFECT_SHIELD}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_MEDIUM, level:13, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_AIR, qty:8, size:WAVE_SIZE_SMALL, level:14}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_MEDIUM, level:14}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_BIG, level:14, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_TINY, level:14, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_BIG, level:14, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_AIR, qty:6, size:WAVE_SIZE_MEDIUM, level:20, effect:WAVE_EFFECT_REPAIR}), new Array({alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_TINY, level:5}, {alt:WAVE_ALT_GROUND, qty:5, size:WAVE_SIZE_TINY, level:5}, {alt:WAVE_ALT_GROUND, qty:6, size:WAVE_SIZE_TINY, level:5}, {alt:WAVE_ALT_GROUND, qty:3, size:WAVE_SIZE_SMALL, level:5}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_SMALL, level:5}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_TINY, level:5}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_TINY, level:6}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_TINY, level:6}, {alt:WAVE_ALT_AIR, qty:1, size:WAVE_SIZE_TINY, level:6}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:7}, {alt:WAVE_ALT_GROUND, qty:1, size:WAVE_SIZE_MEDIUM, level:7}, {alt:WAVE_ALT_AIR, qty:2, size:WAVE_SIZE_TINY, level:7}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:8}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_MEDIUM, level:8}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_TINY, level:8}, {alt:WAVE_ALT_AIR, qty:2, size:WAVE_SIZE_TINY, level:9}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_TINY, level:9}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_TINY, level:9, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_TINY, level:10}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:10}, {alt:WAVE_ALT_GROUND, qty:1, size:WAVE_SIZE_MEDIUM, level:10, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_AIR, qty:1, size:WAVE_SIZE_SMALL, level:11}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_MEDIUM, level:11}, {alt:WAVE_ALT_AIR, qty:2, size:WAVE_SIZE_SMALL, level:11}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:12, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_SMALL, level:12}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_SMALL, level:12}, {alt:WAVE_ALT_AIR, qty:2, size:WAVE_SIZE_MEDIUM, level:13}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_BIG, level:13}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_BIG, level:16, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_GROUND, qty:1, size:WAVE_SIZE_TINY, level:16, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_GROUND, qty:1, size:WAVE_SIZE_TINY, level:16, effect:WAVE_EFFECT_SHIELD}, {alt:WAVE_ALT_GROUND, qty:1, size:WAVE_SIZE_TINY, level:16, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:1, size:WAVE_SIZE_SMALL, level:17}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_SMALL, level:17}, {alt:WAVE_ALT_AIR, qty:1, size:WAVE_SIZE_TINY, level:17}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_TINY, level:17}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_TINY, level:18}, {alt:WAVE_ALT_AIR, qty:1, size:WAVE_SIZE_TINY, level:18}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:18}, {alt:WAVE_ALT_GROUND, qty:1, size:WAVE_SIZE_MEDIUM, level:19}, {alt:WAVE_ALT_AIR, qty:2, size:WAVE_SIZE_TINY, level:19}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:20}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_MEDIUM, level:20}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_TINY, level:20}, {alt:WAVE_ALT_AIR, qty:2, size:WAVE_SIZE_TINY, level:20}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_TINY, level:21}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_TINY, level:21, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_TINY, level:21}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:21}, {alt:WAVE_ALT_GROUND, qty:1, size:WAVE_SIZE_MEDIUM, level:22, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_AIR, qty:1, size:WAVE_SIZE_SMALL, level:22}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_MEDIUM, level:11}, {alt:WAVE_ALT_AIR, qty:2, size:WAVE_SIZE_SMALL, level:22}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:23, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_SMALL, level:30}, {alt:WAVE_ALT_AIR, qty:16, size:WAVE_SIZE_SMALL, level:24}, {alt:WAVE_ALT_AIR, qty:2, size:WAVE_SIZE_MEDIUM, level:30}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_BIG, level:35}, {alt:WAVE_ALT_GROUND, qty:6, size:WAVE_SIZE_BIG, level:40, effect:WAVE_EFFECT_REPAIR}), new Array({alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_TINY, level:5}, {alt:WAVE_ALT_GROUND, qty:5, size:WAVE_SIZE_TINY, level:5}, {alt:WAVE_ALT_GROUND, qty:3, size:WAVE_SIZE_SMALL, level:5}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_TINY, level:6}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:6}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_TINY, level:6}, {alt:WAVE_ALT_GROUND, qty:1, size:WAVE_SIZE_SMALL, level:7, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_TINY, level:7}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_TINY, level:8}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:8}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_TINY, level:8}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_TINY, level:9, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:9}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_MEDIUM, level:10}, {alt:WAVE_ALT_AIR, qty:8, size:WAVE_SIZE_TINY, level:10}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_TINY, level:10}, {alt:WAVE_ALT_GROUND, qty:10, size:WAVE_SIZE_MEDIUM, level:11}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_SMALL, level:11}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:11, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_TINY, level:12}, {alt:WAVE_ALT_GROUND, qty:1, size:WAVE_SIZE_BIG, level:12}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_SMALL, level:12}, {alt:WAVE_ALT_AIR, qty:2, size:WAVE_SIZE_MEDIUM, level:13}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:13, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_TINY, level:13}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:14, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_AIR, qty:12, size:WAVE_SIZE_TINY, level:14}, {alt:WAVE_ALT_AIR, qty:8, size:WAVE_SIZE_TINY, level:14, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:10, size:WAVE_SIZE_SMALL, level:15}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_MEDIUM, level:15}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:15}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_BIG, level:16, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_MEDIUM, level:16}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_TINY, level:16, effect:WAVE_EFFECT_SHIELD}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_MEDIUM, level:17}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:17}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_MEDIUM, level:17}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:18, effect:WAVE_EFFECT_SHIELD}, {alt:WAVE_ALT_AIR, qty:1, size:WAVE_SIZE_MEDIUM, level:18, effect:WAVE_EFFECT_SHIELD}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_BIG, level:20, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_GROUND, qty:5, size:WAVE_SIZE_TINY, level:21}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_TINY, level:21}, {alt:WAVE_ALT_GROUND, qty:3, size:WAVE_SIZE_SMALL, level:21}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_TINY, level:21}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:22}, {alt:WAVE_ALT_AIR, qty:1, size:WAVE_SIZE_TINY, level:6}, {alt:WAVE_ALT_GROUND, qty:1, size:WAVE_SIZE_SMALL, level:7, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_TINY, level:7}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_TINY, level:8}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:8}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_TINY, level:8}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_TINY, level:9, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:25}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_MEDIUM, level:25}, {alt:WAVE_ALT_AIR, qty:8, size:WAVE_SIZE_TINY, level:25}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_TINY, level:26}, {alt:WAVE_ALT_GROUND, qty:10, size:WAVE_SIZE_MEDIUM, level:26}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_SMALL, level:26}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:26, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_TINY, level:27}, {alt:WAVE_ALT_GROUND, qty:1, size:WAVE_SIZE_BIG, level:27}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_SMALL, level:22}, {alt:WAVE_ALT_AIR, qty:2, size:WAVE_SIZE_MEDIUM, level:22}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:23, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_TINY, level:23}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:24, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_AIR, qty:12, size:WAVE_SIZE_TINY, level:24}, {alt:WAVE_ALT_AIR, qty:8, size:WAVE_SIZE_TINY, level:14, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:10, size:WAVE_SIZE_SMALL, level:15}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_MEDIUM, level:15}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:15}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_BIG, level:16, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_MEDIUM, level:16}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_TINY, level:20, effect:WAVE_EFFECT_SHIELD}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_MEDIUM, level:30}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:35}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_MEDIUM, level:35}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:40, effect:WAVE_EFFECT_SHIELD}, {alt:WAVE_ALT_AIR, qty:6, size:WAVE_SIZE_MEDIUM, level:35, effect:WAVE_EFFECT_SHIELD}, {alt:WAVE_ALT_GROUND, qty:15, size:WAVE_SIZE_BIG, level:50, effect:WAVE_EFFECT_REPAIR}), new Array({alt:WAVE_ALT_GROUND, qty:3, size:WAVE_SIZE_TINY, level:4}, {alt:WAVE_ALT_GROUND, qty:6, size:WAVE_SIZE_TINY, level:4}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_SMALL, level:4}, {alt:WAVE_ALT_GROUND, qty:3, size:WAVE_SIZE_SMALL, level:4}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:4}, {alt:WAVE_ALT_GROUND, qty:10, size:WAVE_SIZE_TINY, level:4}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:4}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_TINY, level:6}, {alt:WAVE_ALT_GROUND, qty:10, size:WAVE_SIZE_TINY, level:6}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:7}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_TINY, level:5}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_TINY, level:7, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:7}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_MEDIUM, level:7}, {alt:WAVE_ALT_AIR, qty:2, size:WAVE_SIZE_TINY, level:8}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_TINY, level:5}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_MEDIUM, level:8}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_SMALL, level:8}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:8, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_TINY, level:8}, {alt:WAVE_ALT_GROUND, qty:1, size:WAVE_SIZE_BIG, level:9}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_SMALL, level:9}, {alt:WAVE_ALT_AIR, qty:2, size:WAVE_SIZE_MEDIUM, level:9}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:9, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_TINY, level:10}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:10, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_AIR, qty:12, size:WAVE_SIZE_TINY, level:10}, {alt:WAVE_ALT_AIR, qty:8, size:WAVE_SIZE_TINY, level:10, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_SMALL, level:11}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_MEDIUM, level:11}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:11}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_BIG, level:12, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_MEDIUM, level:12}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_TINY, level:12, effect:WAVE_EFFECT_SHIELD}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_MEDIUM, level:12}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:12}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_MEDIUM, level:13}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:13, effect:WAVE_EFFECT_SHIELD}, {alt:WAVE_ALT_AIR, qty:1, size:WAVE_SIZE_MEDIUM, level:13, effect:WAVE_EFFECT_SHIELD}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:13}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_MEDIUM, level:13}, {alt:WAVE_ALT_GROUND, qty:1, size:WAVE_SIZE_BIG, level:13, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_BIG, level:13, effect:WAVE_EFFECT_SHIELD}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_MEDIUM, level:13, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_AIR, qty:8, size:WAVE_SIZE_SMALL, level:14}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_MEDIUM, level:14}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_BIG, level:14, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_TINY, level:14, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_BIG, level:14, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_AIR, qty:6, size:WAVE_SIZE_MEDIUM, level:20, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_AIR, qty:5, size:WAVE_SIZE_TINY, level:21}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_MEDIUM, level:22}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:23}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_BIG, level:24}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:6}, {alt:WAVE_ALT_AIR, qty:1, size:WAVE_SIZE_TINY, level:25}, {alt:WAVE_ALT_GROUND, qty:1, size:WAVE_SIZE_SMALL, level:26, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_TINY, level:27}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_TINY, level:28}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:29}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_TINY, level:30}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_TINY, level:31, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:32}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_MEDIUM, level:33}, {alt:WAVE_ALT_AIR, qty:8, size:WAVE_SIZE_TINY, level:34}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_TINY, level:35}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_MEDIUM, level:36}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_SMALL, level:37}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:38, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_TINY, level:39}, {alt:WAVE_ALT_GROUND, qty:1, size:WAVE_SIZE_BIG, level:40}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_SMALL, level:41}, {alt:WAVE_ALT_AIR, qty:2, size:WAVE_SIZE_MEDIUM, level:42}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:43, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_TINY, level:44}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:45, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_AIR, qty:12, size:WAVE_SIZE_TINY, level:46}, {alt:WAVE_ALT_AIR, qty:8, size:WAVE_SIZE_TINY, level:47, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_SMALL, level:48}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_MEDIUM, level:49}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:50}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_BIG, level:51, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_MEDIUM, level:52}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_TINY, level:53, effect:WAVE_EFFECT_SHIELD}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_MEDIUM, level:54}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:55}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_MEDIUM, level:56}, {alt:WAVE_ALT_GROUND, qty:4, size:WAVE_SIZE_SMALL, level:57, effect:WAVE_EFFECT_SHIELD}, {alt:WAVE_ALT_AIR, qty:1, size:WAVE_SIZE_MEDIUM, level:58, effect:WAVE_EFFECT_SHIELD}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_SMALL, level:59}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_MEDIUM, level:60}, {alt:WAVE_ALT_GROUND, qty:1, size:WAVE_SIZE_BIG, level:61, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_GROUND, qty:2, size:WAVE_SIZE_BIG, level:62, effect:WAVE_EFFECT_SHIELD}, {alt:WAVE_ALT_AIR, qty:4, size:WAVE_SIZE_MEDIUM, level:63, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_AIR, qty:8, size:WAVE_SIZE_SMALL, level:64}, {alt:WAVE_ALT_GROUND, qty:12, size:WAVE_SIZE_MEDIUM, level:65}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_BIG, level:70, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:8, size:WAVE_SIZE_TINY, level:100, effect:WAVE_EFFECT_FAST}, {alt:WAVE_ALT_GROUND, qty:15, size:WAVE_SIZE_BIG, level:75, effect:WAVE_EFFECT_REPAIR}, {alt:WAVE_ALT_GROUND, qty:20, size:WAVE_SIZE_BIG, level:100, effect:WAVE_EFFECT_REPAIR}));
}
Symbol 964 MovieClip [aso#04529.aso#10518] Frame 0
class aso#10518 extends aso#16507
{
var onEnterFrame, _boolEnabled, _btnStartAttack, _mcBtnAbility1, _mcBtnAbility2, _mcBtnAbility3, _mcBtnAbility4, _visible, textMessage, _numCurrentTab, dispatchMessage, _mcPauseSwitch, _btnQuit, textScreen, _mcErrorBlink, numMessageTimer, textTimer, _mcTabButton1, _mcTabButton2, _mcTabButton3;
function aso#10518 () {
super();
Key.addListener(this);
onEnterFrame = oefInit;
}
function get boolEnabled() {
return(_boolEnabled);
}
function set boolEnabled(__boolValue) {
_boolEnabled = __boolValue;
_btnStartAttack._visible = _boolEnabled;
//return(boolEnabled);
}
function oefInit() {
var _local3 = 1;
while (_local3 <= 3) {
var _local2 = 1;
while (_local2 <= 5) {
if (aso#65811.DISABLE_QUESTS) {
changeBBState(_local3, _local2, BB_STATE_SHOW);
} else {
changeBBState(_local3, _local2, BB_STATE_HIDE);
}
_local2++;
}
_local3++;
}
_mcBtnAbility1.__set__strToolTip("Sell tower");
_mcBtnAbility2.__set__strToolTip("LAUNCH MISSILE");
_mcBtnAbility3.__set__strToolTip("Construct Wall");
_mcBtnAbility4.__set__strToolTip("STOP TIME");
onTabChange(1);
_visible = true;
textMessage._visible = false;
boolEnabled = (true);
onEnterFrame = undefined;
}
function changeBBState(__numTabPage, __numButton, __numState) {
var _local2 = aso#35866(this[TABPAGE_NAME_BASE + __numTabPage]["_mcBtnBuilding" + __numButton]);
switch (__numState) {
case BB_STATE_HIDE :
_local2._visible = false;
_local2.__set__boolEnabled(false);
this[TABPAGE_NAME_BASE + __numTabPage]["_mcDescription" + __numButton].gotoAndStop(3);
break;
case BB_STATE_QUEST :
_local2._visible = false;
_local2.__set__boolEnabled(false);
this[TABPAGE_NAME_BASE + __numTabPage]["_mcDescription" + __numButton].gotoAndStop(2);
break;
case BB_STATE_SHOW :
if (_numCurrentTab == __numTabPage) {
_local2._visible = true;
_local2.__set__boolEnabled(true);
}
this[TABPAGE_NAME_BASE + __numTabPage]["_mcDescription" + __numButton].gotoAndStop(1);
this[TABPAGE_NAME_BASE + __numTabPage]["_mcDescription" + __numButton].textInfo.text = String(aso#28485.PRICES[((__numTabPage - 1) * 5) + (__numButton - 1)]) + " $";
}
}
function updateQuest(__numTabPage, __numButton, __quest) {
this[TABPAGE_NAME_BASE + __numTabPage]["_mcDescription" + __numButton].textInfo.text = (__quest.__get__numPoints().toString() + " / ") + __quest.__get__numPointCap().toString();
}
function onTabChange(__numTabIndex) {
_numCurrentTab = __numTabIndex;
var _local5;
var _local3 = 1;
while (_local3 <= TABS_NUMBER) {
_local5 = aso#35866(this[TABBUTTON_NAME_BASE + _local3]);
var _local4 = true;
if (_local3 == _numCurrentTab) {
_local4 = true;
}
_local5.__set__boolPressed(_local4);
this[TABPAGE_NAME_BASE + _local3]._visible = true;
var _local2 = 1;
while (_local2 <= 5) {
if (this[TABPAGE_NAME_BASE + _local3]["_mcDescription" + _local2]._currentframe == 1) {
this[TABPAGE_NAME_BASE + _local3]["_mcBtnBuilding" + _local2].boolEnabled = _local4;
this[TABPAGE_NAME_BASE + _local3]["_mcBtnBuilding" + _local2]._visible = _local4;
}
_local2++;
}
_local3++;
}
}
function updatePriceColor(__numFunds) {
var _local3 = 1;
while (_local3 <= 3) {
var _local2 = 1;
while (_local2 <= 5) {
if (this[TABPAGE_NAME_BASE + _local3]["_mcDescription" + _local2]._currentframe == 1) {
if (__numFunds >= aso#28485.PRICES[((_local3 - 1) * 5) + (_local2 - 1)]) {
this[TABPAGE_NAME_BASE + _local3]["_mcDescription" + _local2].textInfo.textColor = 16776960 /* 0xFFFF00 */;
} else {
this[TABPAGE_NAME_BASE + _local3]["_mcDescription" + _local2].textInfo.textColor = 16711680 /* 0xFF0000 */;
}
}
_local2++;
}
_local3++;
}
}
function onHurryRelease() {
dispatchMessage(aso#16507.MSG_HURRYATTACK);
aso#97148.playSound(aso#65811.SND_ALARM);
}
function onQuitRelease() {
dispatchMessage(aso#16507.MSG_QUITGAME);
aso#97148.playSound(aso#65811.SND_SWITCH);
}
function onPauseRelease(__boolPause) {
dispatchMessage(aso#16507.MSG_PAUSEGAME, {pause:__boolPause});
aso#97148.playSound(aso#65811.SND_SWITCH);
}
function switchServiceButtonsVisibility(__boolVisible) {
_mcPauseSwitch._visible = __boolVisible;
_btnQuit._visible = __boolVisible;
}
function showMessage(__strMessage, __boolError) {
if (__boolError == undefined) {
__boolError = false;
}
textScreen._visible = false;
textMessage.text = __strMessage;
textMessage._visible = true;
_mcErrorBlink.play();
if (__boolError) {
aso#97148.playSound(aso#65811.SND_ERROR);
} else {
aso#97148.playSound(aso#65811.SND_QUEST);
}
numMessageTimer = MESSAGE_DELAY;
onEnterFrame = oefWaitMessage;
}
function onKeyDown() {
if (Key.isDown(32)) {
_root.oldchoisie._mcObject.sel.gotoAndStop(1);
_root.mcGame._cursorCurrent.clear();
_root.mcGame._layerCanvas.clear();
_root.mcGame._mcMissionUI.zero();
_root.mcGame._mcMissionUI.level.text = "--";
_root.mcGame._mcMissionUI.nom.text = "--";
_root.oldchoisie = 0;
_root.choisie = 0;
}
if (Key.isDown(13) && (_btnStartAttack._visible)) {
onHurryRelease();
}
}
function oefWaitMessage() {
numMessageTimer--;
if (numMessageTimer == 0) {
textTimer._visible = true;
textScreen._visible = true;
textMessage._visible = false;
onEnterFrame = undefined;
}
}
function processMessage(__numMessage, __objParam, __mcInvoker) {
var _local2 = false;
if (!(__numMessage === aso#16507.MSG_TOGGLEPRESS)) {
} else if (!boolEnabled) {
_local2 = true;
} else {
var _local3 = aso#35866(__mcInvoker);
if (((_local3 == _mcTabButton1) || (_local3 == _mcTabButton2)) || (_local3 == _mcTabButton3)) {
_local2 = true;
}
if (__objParam.isHit && (!_local3.__get__boolPressed())) {
switch (_local3) {
case _mcTabButton1 :
onTabChange(1);
_mcTabButton2.__set__boolPressed(false);
_mcTabButton3.__set__boolPressed(false);
_local2 = true;
break;
case _mcTabButton2 :
onTabChange(2);
_mcTabButton1.__set__boolPressed(false);
_mcTabButton3.__set__boolPressed(false);
_local2 = true;
break;
case _mcTabButton3 :
onTabChange(3);
_mcTabButton1.__set__boolPressed(false);
_mcTabButton2.__set__boolPressed(false);
_local2 = true;
}
}
}
if (!_local2) {
dispatchMessage(__numMessage, __objParam, __mcInvoker);
}
}
static var TABBUTTON_NAME_BASE = "_mcTabButton";
static var TABPAGE_NAME_BASE = "_mcTabPage";
static var FRAME_NAME_BASE = "_mcFrame";
static var TABS_NUMBER = 3;
static var BB_STATE_HIDE = 1;
static var BB_STATE_QUEST = 2;
static var BB_STATE_SHOW = 3;
static var MESSAGE_DELAY = 48;
}
Symbol 965 MovieClip [aso#04529.aso#67203] Frame 0
class aso#67203 extends MovieClip
{
var _numCounter, _boolPaused, attachMovie, getNextHighestDepth;
function aso#67203 () {
super();
_numCounter = 0;
_boolPaused = false;
}
function get boolPaused() {
return(_boolPaused);
}
function set boolPaused(__boolValue) {
_boolPaused = __boolValue;
if (_boolPaused) {
for (var _local3 in this) {
if (this[_local3] instanceof MovieClip) {
this[_local3].stop();
for (var _local2 in this[_local3]) {
this[_local3][_local2].stop();
}
if (this[_local3]._mcObject != undefined) {
for (var _local2 in this[_local3]._mcObject) {
this[_local3]._mcObject[_local2].stop();
}
}
}
}
} else {
for (var _local3 in this) {
if (this[_local3] instanceof MovieClip) {
this[_local3].play();
for (var _local2 in this[_local3]) {
this[_local3][_local2].play();
}
if (this[_local3]._mcObject != undefined) {
for (var _local2 in this[_local3]._mcObject) {
this[_local3]._mcObject[_local2].play();
}
}
}
}
}
//return(boolPaused);
}
function clear() {
for (var _local2 in this) {
if (this[_local2] instanceof MovieClip) {
this[_local2].removeMovieClip();
}
}
_numCounter = 0;
}
function addElement(__strSymbolName, __objInit) {
_numCounter++;
return(attachMovie(__strSymbolName, "_mcElement" + _numCounter, getNextHighestDepth(), __objInit));
}
function removeElement(__mcTarget) {
if (__mcTarget._parent != this) {
aso#65811.TRACE(("ERROR! " + __mcTarget) + " isn't element of layer.");
return(false);
}
__mcTarget.removeMovieClip();
return(true);
}
function process() {
for (var _local2 in this) {
if (this[_local2] instanceof MovieClip) {
this[_local2].process();
}
}
}
}
Symbol 34 MovieClip [aso#13302] Frame 2
Symbol 34 MovieClip [aso#13302] Frame 10
this.removeMovieClip();
Symbol 35 MovieClip [id_blast] Frame 1
#initclip 32
Object.registerClass("id_blast", aso#91159);
#endinitclip
Symbol 87 MovieClip [aso#50628] Frame 7
this.removeMovieClip();
Symbol 88 MovieClip [id_building] Frame 1
#initclip 19
Object.registerClass("id_building", aso#28485);
#endinitclip
Symbol 132 MovieClip [aso#89346] Frame 6
this.removeMovieClip();
Symbol 133 MovieClip [id_enemy] Frame 1
#initclip 20
Object.registerClass("id_enemy", aso#47844);
#endinitclip
Symbol 159 MovieClip [aso#29877] Frame 1
aso#97148.playSound(aso#65811.SND_BIGEXPLOSION);
Symbol 159 MovieClip [aso#29877] Frame 11
this.removeMovieClip();
Symbol 194 MovieClip [aso#17899] Frame 16
this.removeMovieClip();
Symbol 195 MovieClip [aso#98540] Frame 1
aso#97148.playSound(aso#65811.SND_MEDIUMEXPLOSION);
Symbol 195 MovieClip [aso#98540] Frame 11
this.removeMovieClip();
Symbol 196 MovieClip [aso#61214] Frame 1
aso#97148.playSound(aso#65811.SND_SMALLEXPLOSION);
Symbol 196 MovieClip [aso#61214] Frame 11
this.removeMovieClip();
Symbol 203 MovieClip [aso#80573] Frame 1
#initclip 21
Object.registerClass("aso#80573", aso#35866);
#endinitclip
stop();
Symbol 203 MovieClip [aso#80573] Frame 2
stop();
Symbol 205 MovieClip [aso#11910] Frame 1
#initclip 22
Object.registerClass("aso#11910", aso#35866);
#endinitclip
stop();
Symbol 205 MovieClip [aso#11910] Frame 2
stop();
Symbol 206 MovieClip [aso#43247] Frame 1
#initclip 23
Object.registerClass("aso#43247", aso#35866);
#endinitclip
stop();
Symbol 206 MovieClip [aso#43247] Frame 2
stop();
Symbol 211 MovieClip [id_map] Frame 1
#initclip 24
Object.registerClass("id_map", aso#59822);
#endinitclip
Symbol 212 MovieClip [aso#55225] Frame 1
#initclip 25
Object.registerClass("aso#55225", aso#41855);
#endinitclip
Symbol 213 MovieClip [id_mapLayer] Frame 1
#initclip 26
Object.registerClass("id_mapLayer", aso#59822);
#endinitclip
Symbol 214 MovieClip [id_layer] Frame 1
#initclip 27
Object.registerClass("id_layer", aso#67203);
#endinitclip
Symbol 236 MovieClip Frame 1
stop();
Symbol 237 MovieClip [aso#92551] Frame 1
#initclip 28
Object.registerClass("aso#92551", aso#97148);
#endinitclip
Symbol 469 Button
on (rollOver) {
gotoAndPlay (2);
}
on (rollOut) {
gotoAndPlay (7);
}
on (press) {
btn_function();
}
Symbol 470 MovieClip Frame 1
stop();
Symbol 470 MovieClip Frame 6
stop();
Symbol 472 Button
on (press) {
btn1.btn_function();
}
on (rollOver) {
btn1.gotoAndPlay("on");
fx1._visible = true;
}
on (rollOut, release, releaseOutside) {
btn1.gotoAndPlay("off");
fx1._visible = false;
}
Symbol 478 MovieClip Frame 1
stop();
Symbol 478 MovieClip Frame 2
stop();
Symbol 482 MovieClip Frame 1
stop();
if (_root.biscuit.data.mission6 == 1) {
this.Gameend.gotoAndStop(2);
}
Instance of Symbol 291 MovieClip "fx1" in Symbol 482 MovieClip Frame 1
onClipEvent (load) {
_visible = false;
}
Instance of Symbol 470 MovieClip "btn1" in Symbol 482 MovieClip Frame 1
onClipEvent (load) {
function btn_function() {
_parent._parent._parent.onGameOverDialogClose();
}
}
Symbol 482 MovieClip Frame 2
stop();
Instance of Symbol 470 MovieClip "btn1" in Symbol 482 MovieClip Frame 2
onClipEvent (load) {
function btn_function() {
_parent._parent._parent.onGameOverDialogClose();
}
}
Symbol 499 Button
on (press) {
getURL ("http://www.free-online-games-directory.com", "_blank");
}
Symbol 503 Button
on (press) {
getURL ("http://www.onlinegamesquad.com/index.php?1085-1", "_blank");
}
Symbol 504 MovieClip Frame 1
stop();
Symbol 504 MovieClip Frame 2
stop();
Instance of Symbol 206 MovieClip [aso#43247] "_mcBtnBuilding1" in Symbol 530 MovieClip Frame 1
on (rollOver) {
_parent._parent.adjust1();
_parent._parent.showMessage("S.A.M turret\nDamage:medium Speed:medium\nRange:high", false);
}
Instance of Symbol 206 MovieClip [aso#43247] "_mcBtnBuilding2" in Symbol 530 MovieClip Frame 1
on (rollOver) {
_parent._parent.adjust2();
_parent._parent.showMessage("Plasma canon\nDamage:high Speed:medium\nRange:high\nSplash damage", false);
}
Instance of Symbol 206 MovieClip [aso#43247] "_mcBtnBuilding3" in Symbol 530 MovieClip Frame 1
on (rollOver) {
_parent._parent.adjust3();
_parent._parent.showMessage("UV turret\nDamage:high Speed:low\nRange:low\nSplash damage", false);
}
Instance of Symbol 206 MovieClip [aso#43247] "_mcBtnBuilding4" in Symbol 530 MovieClip Frame 1
on (rollOver) {
_parent._parent.adjust7();
_parent._parent.showMessage("Laser beam\nDamage:medium Speed:low\nRange:high", false);
}
Instance of Symbol 206 MovieClip [aso#43247] "_mcBtnBuilding5" in Symbol 530 MovieClip Frame 1
on (rollOver) {
_parent._parent.adjust4();
_parent._parent.showMessage("Dissipator \nDamage:low Speed:medium\nRange:medium \nRemove enemy's special", false);
}
Instance of Symbol 206 MovieClip [aso#43247] "_mcBtnBuilding1" in Symbol 531 MovieClip Frame 1
on (rollOver) {
_parent._parent.adjust6();
_parent._parent.showMessage("Vulcan turret\nDamage:medium Speed:high\nRange:medium", false);
}
Instance of Symbol 206 MovieClip [aso#43247] "_mcBtnBuilding2" in Symbol 531 MovieClip Frame 1
on (rollOver) {
_parent._parent.adjust9();
_parent._parent.showMessage("Frost turret\nDamage:low Speed:high\nRange:high\nSlow target", false);
}
Instance of Symbol 206 MovieClip [aso#43247] "_mcBtnBuilding3" in Symbol 531 MovieClip Frame 1
on (rollOver) {
_parent._parent.adjust8();
_parent._parent.showMessage("Devastator \nDamage:high Speed:medium\nRange:medium\nMulti hit", false);
}
Instance of Symbol 206 MovieClip [aso#43247] "_mcBtnBuilding4" in Symbol 531 MovieClip Frame 1
on (rollOver) {
_parent._parent.adjust5();
_parent._parent.showMessage("Sky Beam\nDamage:medium Speed:medium\nRange:high", false);
}
Symbol 538 MovieClip Frame 1
stop();
Symbol 542 Button
on (release) {
this.onHurryRelease();
}
Symbol 543 Button
on (release) {
this.onQuitRelease();
}
Symbol 544 Button
on (release) {
this.play();
_parent.onPauseRelease(true);
}
Symbol 545 Button
on (release) {
this.play();
_parent.onPauseRelease(false);
}
Symbol 546 MovieClip Frame 1
stop();
Symbol 546 MovieClip Frame 2
stop();
Symbol 548 Button
on (release) {
this.play();
aso#97148.soundOff();
}
Symbol 549 Button
on (release) {
this.play();
aso#97148.soundOn();
}
Symbol 550 MovieClip Frame 1
if (!aso#97148.soundIsOn()) {
this.gotoAndStop(2);
}
stop();
Symbol 550 MovieClip Frame 2
stop();
Symbol 551 Button
on (press) {
choix = range;
upgrade();
}
Symbol 552 Button
on (press) {
choix = speed;
upgrade();
}
Symbol 553 Button
on (press) {
choix = damage;
upgrade();
}
Symbol 560 MovieClip [aso#23888] Frame 1
#initclip 29
Object.registerClass("aso#23888", aso#10518);
#endinitclip
function adjust() {
this.range_bar.b._xscale = (_root.choisie._numRange / 200) * 100;
this.speed_bar.b._xscale = 100 - _root.choisie._numReloadTime;
this.damage_bar.b._xscale = (_root.choisie.damage / 200) * 100;
this.special.text = _root.choisie.special;
this.nom.text = _root.choisie.nom;
}
function zero() {
this.range_bar.b._xscale = 0.1;
this.speed_bar.b._xscale = 0.1;
this.damage_bar.b._xscale = 0.1;
}
function adjust1() {
this.range_bar.b._xscale = 55;
this.speed_bar.b._xscale = 55;
this.damage_bar.b._xscale = 12.5;
this.special.text = "--";
this.nom.text = "S.A.M turret";
}
function adjust2() {
this.range_bar.b._xscale = 55;
this.speed_bar.b._xscale = 55;
this.damage_bar.b._xscale = 25;
this.special.text = "Splash";
this.nom.text = "plasma canon";
}
function adjust3() {
this.range_bar.b._xscale = 27.5;
this.speed_bar.b._xscale = 45;
this.damage_bar.b._xscale = 20;
this.special.text = "Splash";
this.nom.text = "UV turret";
}
function adjust4() {
this.range_bar.b._xscale = 45;
this.speed_bar.b._xscale = 65;
this.damage_bar.b._xscale = 0.5;
this.special.text = "Remove effect";
this.nom.text = "Dissipator";
}
function adjust5() {
this.range_bar.b._xscale = 70;
this.speed_bar.b._xscale = 70;
this.damage_bar.b._xscale = 10;
this.special.text = "--";
this.nom.text = "Skybeam";
}
function adjust6() {
this.range_bar.b._xscale = 40;
this.speed_bar.b._xscale = 76;
this.damage_bar.b._xscale = 5;
this.special.text = "--";
this.nom.text = "Vulcan";
}
function adjust7() {
this.range_bar.b._xscale = 60;
this.speed_bar.b._xscale = 50;
this.damage_bar.b._xscale = 25;
this.special.text = "--";
this.nom.text = "Laser";
}
function adjust8() {
this.range_bar.b._xscale = 60;
this.speed_bar.b._xscale = 68;
this.damage_bar.b._xscale = 22.5;
this.special.text = "Multihit";
this.nom.text = "Devastator";
}
function adjust9() {
this.range_bar.b._xscale = 50;
this.speed_bar.b._xscale = 68;
this.damage_bar.b._xscale = 2.5;
this.special.text = "Slow";
this.nom.text = "Frost gaz";
}
function upgrade() {
var _local4 = _root.choisie.level;
if (((_parent.numFunds >= (5 * _local4)) && (_root.choisie.level < 10)) && (choix != 0)) {
this.cost.text = 5 * (_local4 + 1);
_parent.numFunds = _parent.numFunds - (5 * _local4);
_root.choisie._numPrice = _root.choisie._numPrice + (5 * _local4);
_root.choisie.level++;
_root.choisie._mcObject.mcGun.fx.gotoAndStop(_root.choisie.level);
_root.choisie._mcObject.pips.gotoAndStop(_root.choisie.level);
this.level.text = _root.choisie.level;
switch (choix) {
case turnspeed :
_root.choisie._numTurnSpeed = _root.choisie._numTurnSpeed + (_root.choisie.level / 500);
this.turnspeed.text = _root.choisie._numTurnSpeed;
break;
case range :
_root.choisie._numRange = _root.choisie._numRange + _root.choisie.level;
this.range_bar.b._xscale = (_root.choisie._numRange / 200) * 100;
this.range.text = _root.choisie._numRange;
break;
case speed :
_root.choisie._numReloadTime = _root.choisie._numReloadTime - Math.round(_root.choisie.level / 3);
_root.choisie._numReloadTimer = _root.choisie._numReloadTime;
this.speed_bar.b._xscale = 100 - _root.choisie._numReloadTime;
this.speed.text = _root.choisie._numReloadTime;
break;
case damage :
_root.choisie.damage = Number(_root.choisie.damage + (_root.choisie.level + Math.round(_root.choisie.damage / 10)));
this.damage.text = _root.choisie.damage;
}
adjust();
aso#97148.playSound(aso#65811.SND_UPGRADE);
} else if (choix == 0) {
_parent._mcMissionUI.showMessage("Select a turret first!", true);
} else if (_root.choisie.level > 9) {
_parent._mcMissionUI.showMessage("Level max!", false);
this.cost.text = "max";
} else if (_parent.numFunds < (5 * _local4)) {
_parent._mcMissionUI.showMessage("Not enough money!", true);
}
}
var choix = 0;
this.cost.text = 5;
Instance of Symbol 510 MovieClip "shield" in Symbol 560 MovieClip [aso#23888] Frame 1
onClipEvent (load) {
gotoAndStop (20);
}
Instance of Symbol 205 MovieClip [aso#11910] "_mcBtnAbility3" in Symbol 560 MovieClip [aso#23888] Frame 1
on (rollOver) {
_parent.showMessage("WALL.\nYou can build a turret \nover it", false);
}
Symbol 561 Button
on (release) {
_parent.onQuitDialogClose(true);
}
Symbol 562 Button
on (release) {
_parent.onQuitDialogClose(false);
}
Symbol 572 Button
on (release) {
getURL ("http://www.miniclip.com", "_blank");
}
Symbol 575 Button
on (rollOver) {
gotoAndPlay (2);
}
on (rollOut) {
gotoAndPlay (7);
}
on (press) {
btn_function();
}
Symbol 576 MovieClip Frame 1
stop();
Symbol 576 MovieClip Frame 10
stop();
Symbol 577 Button
on (press) {
btn2.btn_function();
}
on (rollOver) {
btn2.gotoAndPlay("on");
fx2._visible = true;
}
on (rollOut, release, releaseOutside) {
btn2.gotoAndPlay("off");
fx2._visible = false;
}
Symbol 578 Button
on (press) {
btn3.btn_function();
}
on (rollOver) {
btn3.gotoAndPlay("on");
fx3._visible = true;
}
on (rollOut, release, releaseOutside) {
btn3.gotoAndPlay("off");
fx3._visible = false;
}
Symbol 579 Button
on (press) {
btn4.btn_function();
}
on (rollOver) {
btn4.gotoAndPlay("on");
fx4._visible = true;
}
on (rollOut, release, releaseOutside) {
btn4.gotoAndPlay("off");
fx4._visible = false;
}
Symbol 581 Button
on (release) {
aso#97148.playSound(aso#65811.SND_SWITCH);
_parent._parent.numState = aso#22496.STATE_OPTIONSSCREEN;
_root.biscuit.data.mission1 = undefined;
_root.biscuit.data.mission2 = undefined;
_root.biscuit.data.mission3 = undefined;
_root.biscuit.data.mission4 = undefined;
_root.biscuit.data.mission5 = undefined;
_root.biscuit.data.mission6 = undefined;
}
Symbol 583 Button
on (release) {
gotoAndStop (1);
}
Symbol 586 MovieClip Frame 1
stop();
Symbol 586 MovieClip Frame 2
stop();
Instance of Symbol 291 MovieClip "fx1" in Symbol 587 MovieClip [aso#19291] Frame 1
onClipEvent (load) {
_visible = false;
}
Instance of Symbol 291 MovieClip "fx2" in Symbol 587 MovieClip [aso#19291] Frame 1
onClipEvent (load) {
_visible = false;
}
Instance of Symbol 291 MovieClip "fx3" in Symbol 587 MovieClip [aso#19291] Frame 1
onClipEvent (load) {
_visible = false;
}
Instance of Symbol 291 MovieClip "fx4" in Symbol 587 MovieClip [aso#19291] Frame 1
onClipEvent (load) {
_visible = false;
}
Instance of Symbol 576 MovieClip "btn1" in Symbol 587 MovieClip [aso#19291] Frame 1
onClipEvent (load) {
function btn_function() {
aso#97148.playSound(aso#65811.SND_SWITCH);
_parent._parent.numState = aso#22496.STATE_OPTIONSSCREEN;
}
}
Instance of Symbol 576 MovieClip "btn2" in Symbol 587 MovieClip [aso#19291] Frame 1
onClipEvent (load) {
function btn_function() {
if (_root.biscuit.data.mission1 != undefined) {
aso#97148.playSound(aso#65811.SND_SWITCH);
_parent._parent.numState = aso#22496.STATE_OPTIONSSCREEN;
_root.biscuit.data.mission1 = undefined;
_root.biscuit.data.mission2 = undefined;
_root.biscuit.data.mission3 = undefined;
_root.biscuit.data.mission4 = undefined;
_root.biscuit.data.mission5 = undefined;
_root.biscuit.data.mission6 = undefined;
} else {
aso#97148.playSound(aso#65811.SND_SWITCH);
_parent._parent.numState = aso#22496.STATE_OPTIONSSCREEN;
_root.biscuit.data.mission1 = undefined;
_root.biscuit.data.mission2 = undefined;
_root.biscuit.data.mission3 = undefined;
_root.biscuit.data.mission4 = undefined;
_root.biscuit.data.mission5 = undefined;
_root.biscuit.data.mission6 = undefined;
}
}
}
Instance of Symbol 576 MovieClip "btn3" in Symbol 587 MovieClip [aso#19291] Frame 1
onClipEvent (load) {
function btn_function() {
aso#97148.playSound(aso#65811.SND_SWITCH);
_parent._parent.numState = aso#22496.STATE_RULESSCREEN;
}
}
Instance of Symbol 576 MovieClip "btn4" in Symbol 587 MovieClip [aso#19291] Frame 1
onClipEvent (load) {
function btn_function() {
if (random(10) > 6) {
getURL ("http://www.onlinegamesquad.com", "_blank");
} else {
getURL ("http://www.free-online-games-directory.com", "_blank");
}
}
}
Symbol 598 MovieClip Frame 5
stop();
Symbol 599 Button
on (release) {
_parent._parent.numMap = 1;
_parent.mcSelectedMap.gotoAndStop(1);
aso#97148.playSound(aso#65811.SND_SWITCH);
_parent._parent.numProgram = 0;
_parent._parent.numState = aso#22496.STATE_MISSION;
_root.difficulty = 1;
_root.mission = 1;
}
Symbol 600 Button
on (release) {
_parent._parent.numMap = 2;
_parent.mcSelectedMap.gotoAndStop(2);
aso#97148.playSound(aso#65811.SND_SWITCH);
_parent._parent.numProgram = 1;
_parent._parent.numState = aso#22496.STATE_MISSION;
_root.mission = 2;
}
Symbol 601 Button
on (release) {
_parent._parent.numMap = 3;
_parent.mcSelectedMap.gotoAndStop(2);
aso#97148.playSound(aso#65811.SND_SWITCH);
_parent._parent.numProgram = 2;
_parent._parent.numState = aso#22496.STATE_MISSION;
_root.mission = 3;
}
Symbol 602 Button
on (release) {
_parent._parent.numMap = 4;
_parent.mcSelectedMap.gotoAndStop(2);
aso#97148.playSound(aso#65811.SND_SWITCH);
_parent._parent.numProgram = 3;
_parent._parent.numState = aso#22496.STATE_MISSION;
_root.mission = 4;
}
Symbol 603 Button
on (release) {
_parent._parent.numMap = 5;
_parent.mcSelectedMap.gotoAndStop(2);
aso#97148.playSound(aso#65811.SND_SWITCH);
_parent._parent.numProgram = 4;
_parent._parent.numState = aso#22496.STATE_MISSION;
_root.mission = 5;
}
Symbol 604 Button
on (release) {
_parent._parent.numMap = 6;
_parent.mcSelectedMap.gotoAndStop(2);
aso#97148.playSound(aso#65811.SND_SWITCH);
_parent._parent.numProgram = 5;
_parent._parent.numState = aso#22496.STATE_MISSION;
_root.mission = 6;
}
Symbol 609 MovieClip Frame 1
stop();
Symbol 609 MovieClip Frame 2
stop();
Symbol 611 MovieClip Frame 1
stop();
Symbol 611 MovieClip Frame 2
stop();
Symbol 614 Button
on (release) {
if (random(10) > 6) {
getURL ("http://www.onlinegamesquad.com/index.php?1401-1", "_blank");
} else {
getURL ("http://www.free-online-games-directory.com", "_blank");
}
}
Symbol 615 MovieClip Frame 1
stop();
Symbol 615 MovieClip Frame 2
stop();
Symbol 617 MovieClip Frame 1
stop();
Symbol 617 MovieClip Frame 2
stop();
Symbol 619 MovieClip Frame 1
stop();
Symbol 619 MovieClip Frame 2
stop();
Symbol 620 MovieClip Frame 1
this.mcNoise2.gotoAndPlay(9);
this.mcNoise3.gotoAndPlay(43);
stop();
Instance of Symbol 609 MovieClip "mission1" in Symbol 620 MovieClip Frame 1
onClipEvent (load) {
if (_root.biscuit.data.mission1 != undefined) {
_visible = false;
} else {
_visible = true;
}
}
Instance of Symbol 611 MovieClip "mission2" in Symbol 620 MovieClip Frame 1
onClipEvent (load) {
if (_root.biscuit.data.mission2 != undefined) {
_visible = false;
} else {
_visible = true;
}
}
Instance of Symbol 615 MovieClip "mission3" in Symbol 620 MovieClip Frame 1
onClipEvent (load) {
if (_root.demo) {
}
if (_root.biscuit.data.mission3 != undefined) {
_visible = true;
}
}
Instance of Symbol 617 MovieClip "mission4" in Symbol 620 MovieClip Frame 1
onClipEvent (load) {
if (!_root.demo) {
}
if (_root.biscuit.data.mission4 != undefined) {
_visible = false;
}
}
Instance of Symbol 619 MovieClip "mission4" in Symbol 620 MovieClip Frame 1
onClipEvent (load) {
if (!_root.demo) {
}
if (_root.biscuit.data.mission5 != undefined) {
_visible = false;
}
}
Symbol 623 Button
on (release) {
aso#97148.playSound(aso#65811.SND_SWITCH);
this.gotoAndStop(1);
}
Symbol 624 Button
on (release) {
aso#97148.playSound(aso#65811.SND_SWITCH);
_parent.numProgram = 0;
_parent.numState = aso#22496.STATE_MISSION;
}
Symbol 625 Button
on (release) {
aso#97148.playSound(aso#65811.SND_SWITCH);
_parent.numProgram = 1;
_parent.numState = aso#22496.STATE_MISSION;
}
Symbol 626 Button
on (release) {
aso#97148.playSound(aso#65811.SND_SWITCH);
_parent.numProgram = 2;
_parent.numState = aso#22496.STATE_MISSION;
}
Symbol 628 MovieClip [aso#68595] Frame 1
stop();
Instance of Symbol 291 MovieClip "fx1" in Symbol 628 MovieClip [aso#68595] Frame 1
onClipEvent (load) {
_visible = false;
}
Instance of Symbol 470 MovieClip "btn1" in Symbol 628 MovieClip [aso#68595] Frame 1
onClipEvent (load) {
function btn_function() {
aso#97148.playSound(aso#65811.SND_SWITCH);
_parent._parent.numState = aso#22496.STATE_MAINSCREEN;
}
}
Symbol 628 MovieClip [aso#68595] Frame 2
stop();
Instance of Symbol 291 MovieClip "fx1" in Symbol 634 MovieClip [aso#93943] Frame 1
onClipEvent (load) {
_visible = false;
}
Instance of Symbol 470 MovieClip "btn1" in Symbol 634 MovieClip [aso#93943] Frame 1
onClipEvent (load) {
function btn_function() {
aso#97148.playSound(aso#65811.SND_SWITCH);
_parent._parent.numState = aso#22496.STATE_MAINSCREEN;
}
}
Symbol 641 MovieClip Frame 1
stop();
Symbol 641 MovieClip Frame 2
stop();
Symbol 645 MovieClip Frame 1
stop();
Symbol 647 MovieClip Frame 1
stop();
Symbol 657 MovieClip Frame 1
stop();
Symbol 662 MovieClip Frame 1
stop();
Symbol 664 MovieClip Frame 1
stop();
Symbol 669 MovieClip Frame 1
stop();
Symbol 670 MovieClip Frame 1
stop();
Symbol 675 MovieClip Frame 1
stop();
Symbol 679 MovieClip Frame 1
stop();
Symbol 683 MovieClip Frame 1
stop();
Symbol 683 MovieClip Frame 2
stop();
Symbol 687 MovieClip Frame 1
stop();
Symbol 690 MovieClip Frame 1
stop();
Symbol 695 MovieClip Frame 1
stop();
Symbol 698 MovieClip Frame 1
stop();
Symbol 703 MovieClip Frame 1
stop();
Symbol 706 MovieClip Frame 1
stop();
Symbol 711 MovieClip Frame 1
stop();
Symbol 713 MovieClip Frame 1
stop();
Symbol 718 MovieClip Frame 1
stop();
Symbol 723 MovieClip Frame 1
stop();
Symbol 820 MovieClip [id_enemy2] Frame 1
#initclip 30
Object.registerClass("id_enemy2", aso#47844);
#endinitclip
Symbol 856 MovieClip [id_enemy3] Frame 1
#initclip 31
Object.registerClass("id_enemy3", aso#47844);
#endinitclip
Symbol 932 MovieClip Frame 1
stop();
Symbol 937 Button
on (release) {
if (random(10) > 6) {
getURL ("http://www.onlinegamesquad.com/index.php?1401-1", "_blank");
} else {
getURL ("http://www.free-online-games-directory.com", "_blank");
}
_root.unloadmovie(0);
}
Symbol 938 MovieClip Frame 1
stop();
Symbol 938 MovieClip Frame 2
stop();
Symbol 945 Button
on (release) {
getURL ("http://www.free-online-games-directory.com", "_blank");
}
Symbol 946 MovieClip Frame 120
stop();
_root.nextFrame();