Section 1
//agame_com_intro_animatie_359 (BunnyCharm_fla.agame_com_intro_animatie_359)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class agame_com_intro_animatie_359 extends MovieClip {
public function agame_com_intro_animatie_359(){
addFrameScript(88, frame89);
}
function frame89(){
stop();
}
}
}//package BunnyCharm_fla
Section 2
//axionConquista_mc_23 (BunnyCharm_fla.axionConquista_mc_23)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class axionConquista_mc_23 extends MovieClip {
public function axionConquista_mc_23(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
}
}
}//package BunnyCharm_fla
Section 3
//baseButton_308 (BunnyCharm_fla.baseButton_308)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class baseButton_308 extends MovieClip {
public var marcoBoton:MovieClip;
public function baseButton_308(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package BunnyCharm_fla
Section 4
//branding_aligned_center_169 (BunnyCharm_fla.branding_aligned_center_169)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class branding_aligned_center_169 extends MovieClip {
public function branding_aligned_center_169(){
addFrameScript(0, frame1);
}
function frame1(){
gotoAndStop(language.branding_nr);
}
}
}//package BunnyCharm_fla
Section 5
//Cuatic_151 (BunnyCharm_fla.Cuatic_151)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class Cuatic_151 extends MovieClip {
public var slogan:MovieClip;
public function Cuatic_151(){
addFrameScript(84, frame85);
}
function frame85(){
stop();
}
}
}//package BunnyCharm_fla
Section 6
//dedoMuerte1_mc_39 (BunnyCharm_fla.dedoMuerte1_mc_39)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class dedoMuerte1_mc_39 extends MovieClip {
public function dedoMuerte1_mc_39(){
addFrameScript(82, frame83);
}
function frame83(){
stop();
}
}
}//package BunnyCharm_fla
Section 7
//dedoMuerte3_mc_109 (BunnyCharm_fla.dedoMuerte3_mc_109)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class dedoMuerte3_mc_109 extends MovieClip {
public function dedoMuerte3_mc_109(){
addFrameScript(82, frame83);
}
function frame83(){
stop();
}
}
}//package BunnyCharm_fla
Section 8
//dedoMuerteDedal_mccopy_91 (BunnyCharm_fla.dedoMuerteDedal_mccopy_91)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class dedoMuerteDedal_mccopy_91 extends MovieClip {
public function dedoMuerteDedal_mccopy_91(){
addFrameScript(82, frame83);
}
function frame83(){
stop();
}
}
}//package BunnyCharm_fla
Section 9
//dedoMuerteIndice_59 (BunnyCharm_fla.dedoMuerteIndice_59)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class dedoMuerteIndice_59 extends MovieClip {
public function dedoMuerteIndice_59(){
addFrameScript(82, frame83);
}
function frame83(){
stop();
}
}
}//package BunnyCharm_fla
Section 10
//dedoMuerteRunner_126 (BunnyCharm_fla.dedoMuerteRunner_126)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class dedoMuerteRunner_126 extends MovieClip {
public function dedoMuerteRunner_126(){
addFrameScript(82, frame83);
}
function frame83(){
stop();
}
}
}//package BunnyCharm_fla
Section 11
//dedoMuerteShooter_78 (BunnyCharm_fla.dedoMuerteShooter_78)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class dedoMuerteShooter_78 extends MovieClip {
public function dedoMuerteShooter_78(){
addFrameScript(82, frame83);
}
function frame83(){
stop();
}
}
}//package BunnyCharm_fla
Section 12
//DinamyteButton_318 (BunnyCharm_fla.DinamyteButton_318)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class DinamyteButton_318 extends MovieClip {
public var marcoBoton:MovieClip;
public function DinamyteButton_318(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package BunnyCharm_fla
Section 13
//ExpBar_303 (BunnyCharm_fla.ExpBar_303)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class ExpBar_303 extends MovieClip {
public var barMask:MovieClip;
public function ExpBar_303(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package BunnyCharm_fla
Section 14
//game_com_cn_intro_animatie_365 (BunnyCharm_fla.game_com_cn_intro_animatie_365)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class game_com_cn_intro_animatie_365 extends MovieClip {
public function game_com_cn_intro_animatie_365(){
addFrameScript(88, frame89);
}
function frame89(){
stop();
}
}
}//package BunnyCharm_fla
Section 15
//gamesgames_intro_animatie_355 (BunnyCharm_fla.gamesgames_intro_animatie_355)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class gamesgames_intro_animatie_355 extends MovieClip {
public function gamesgames_intro_animatie_355(){
addFrameScript(89, frame90, 90, frame91);
}
function frame90(){
}
function frame91(){
stop();
}
}
}//package BunnyCharm_fla
Section 16
//girlsgogames_com_intro_animatie_362 (BunnyCharm_fla.girlsgogames_com_intro_animatie_362)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class girlsgogames_com_intro_animatie_362 extends MovieClip {
public function girlsgogames_com_intro_animatie_362(){
addFrameScript(88, frame89);
}
function frame89(){
stop();
}
}
}//package BunnyCharm_fla
Section 17
//glowingUpgrade_301 (BunnyCharm_fla.glowingUpgrade_301)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class glowingUpgrade_301 extends MovieClip {
public function glowingUpgrade_301(){
addFrameScript(0, frame1, 30, frame31);
}
function frame1(){
stop();
}
function frame31(){
gotoAndPlay(2);
}
}
}//package BunnyCharm_fla
Section 18
//HealthBar_305 (BunnyCharm_fla.HealthBar_305)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class HealthBar_305 extends MovieClip {
public var barMask:MovieClip;
public function HealthBar_305(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package BunnyCharm_fla
Section 19
//impactoEnergia_mc_4 (BunnyCharm_fla.impactoEnergia_mc_4)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class impactoEnergia_mc_4 extends MovieClip {
public function impactoEnergia_mc_4(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
parent.removeChild(this);
}
}
}//package BunnyCharm_fla
Section 20
//informacionJugador_168 (BunnyCharm_fla.informacionJugador_168)
package BunnyCharm_fla {
import flash.display.*;
import flash.text.*;
public dynamic class informacionJugador_168 extends MovieClip {
public var playerName:TextField;
public var playerLevel:TextField;
public var playerScore:TextField;
}
}//package BunnyCharm_fla
Section 21
//intro_hitarea_358 (BunnyCharm_fla.intro_hitarea_358)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class intro_hitarea_358 extends MovieClip {
public var button_intro:SimpleButton;
public function intro_hitarea_358(){
addFrameScript(89, frame90);
}
function frame90(){
stop();
}
}
}//package BunnyCharm_fla
Section 22
//MainTimeline (BunnyCharm_fla.MainTimeline)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class MainTimeline extends MovieClip {
public var uiCanvas:UICanvas;
public function MainTimeline(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stage.showDefaultContextMenu = false;
uiCanvas = new UICanvas();
addChild(uiCanvas);
stop();
}
function frame1(){
MochiAd.showPreGameAd({clip:root, id:"3347596c983d31fe", res:"550x400"});
stop();
}
function frame2(){
MochiBot.track(this, "9217fe3e");
}
}
}//package BunnyCharm_fla
Section 23
//mano2Muerte01_mc_141 (BunnyCharm_fla.mano2Muerte01_mc_141)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class mano2Muerte01_mc_141 extends MovieClip {
public function mano2Muerte01_mc_141(){
addFrameScript(49, frame50);
}
function frame50(){
stop();
}
}
}//package BunnyCharm_fla
Section 24
//manoMuerte01_mc_133 (BunnyCharm_fla.manoMuerte01_mc_133)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class manoMuerte01_mc_133 extends MovieClip {
public function manoMuerte01_mc_133(){
addFrameScript(49, frame50);
}
function frame50(){
stop();
}
}
}//package BunnyCharm_fla
Section 25
//mineButton_316 (BunnyCharm_fla.mineButton_316)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class mineButton_316 extends MovieClip {
public var marcoBoton:MovieClip;
public function mineButton_316(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package BunnyCharm_fla
Section 26
//mineButtonfreeze_322 (BunnyCharm_fla.mineButtonfreeze_322)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class mineButtonfreeze_322 extends MovieClip {
public var marcoBoton:MovieClip;
public function mineButtonfreeze_322(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package BunnyCharm_fla
Section 27
//MisilButton_311 (BunnyCharm_fla.MisilButton_311)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class MisilButton_311 extends MovieClip {
public var marcoBoton:MovieClip;
public function MisilButton_311(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package BunnyCharm_fla
Section 28
//navBer_222 (BunnyCharm_fla.navBer_222)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class navBer_222 extends MovieClip {
public var downWindow:SimpleButton;
public var upWindow:SimpleButton;
}
}//package BunnyCharm_fla
Section 29
//obj01_306 (BunnyCharm_fla.obj01_306)
package BunnyCharm_fla {
import flash.display.*;
import flash.text.*;
public dynamic class obj01_306 extends MovieClip {
public var actualLevel:TextField;
}
}//package BunnyCharm_fla
Section 30
//plussPointMessage_253 (BunnyCharm_fla.plussPointMessage_253)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class plussPointMessage_253 extends MovieClip {
public function plussPointMessage_253(){
addFrameScript(0, frame1, 40, frame41, 60, frame61, 80, frame81);
}
function frame81(){
gotoAndStop(1);
}
function frame1(){
stop();
}
function frame41(){
gotoAndStop(1);
}
function frame61(){
gotoAndStop(1);
}
}
}//package BunnyCharm_fla
Section 31
//text1_216 (BunnyCharm_fla.text1_216)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class text1_216 extends MovieClip {
public function text1_216(){
addFrameScript(0, frame1);
}
function frame1(){
gotoAndStop(language.language_nr);
}
}
}//package BunnyCharm_fla
Section 32
//TextInfo_326 (BunnyCharm_fla.TextInfo_326)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class TextInfo_326 extends MovieClip {
public function TextInfo_326(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame2(){
stop();
}
}
}//package BunnyCharm_fla
Section 33
//towerButton_310 (BunnyCharm_fla.towerButton_310)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class towerButton_310 extends MovieClip {
public var marcoBoton:MovieClip;
public function towerButton_310(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package BunnyCharm_fla
Section 34
//toxicButton_320 (BunnyCharm_fla.toxicButton_320)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class toxicButton_320 extends MovieClip {
public var marcoBoton:MovieClip;
public function toxicButton_320(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package BunnyCharm_fla
Section 35
//upgradeButton_299 (BunnyCharm_fla.upgradeButton_299)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class upgradeButton_299 extends MovieClip {
public function upgradeButton_299(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BunnyCharm_fla
Section 36
//upgradeComponent_297 (BunnyCharm_fla.upgradeComponent_297)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class upgradeComponent_297 extends MovieClip {
public var upgradeWindow:MovieClip;
public function upgradeComponent_297(){
addFrameScript(0, frame1, 1, frame2, 20, frame21, 21, frame22, 39, frame40);
}
function frame1(){
stop();
}
function frame22(){
}
function frame21(){
stop();
}
function frame2(){
}
function frame40(){
gotoAndStop(1);
}
}
}//package BunnyCharm_fla
Section 37
//upgradeWindow_298 (BunnyCharm_fla.upgradeWindow_298)
package BunnyCharm_fla {
import flash.display.*;
import flash.text.*;
public dynamic class upgradeWindow_298 extends MovieClip {
public var ratePoints:TextField;
public var speedPoints:TextField;
public var rateButton:SimpleButton;
public var glowing:MovieClip;
public var totalPoints:TextField;
public var healthPoints:TextField;
public var speedButton:SimpleButton;
public var upgradeButton:MovieClip;
public var rangePoints:TextField;
public var damageButton:SimpleButton;
public var healthButton:SimpleButton;
public var rangeButton:SimpleButton;
public var damagePoints:TextField;
}
}//package BunnyCharm_fla
Section 38
//WaveBar_143 (BunnyCharm_fla.WaveBar_143)
package BunnyCharm_fla {
import flash.display.*;
public dynamic class WaveBar_143 extends MovieClip {
public function WaveBar_143(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package BunnyCharm_fla
Section 39
//MochiScores (mochi.MochiScores)
package mochi {
import flash.display.*;
import flash.text.*;
public class MochiScores {
private static var boardID:String;
public static var onErrorHandler:Object;
public static var onCloseHandler:Object;
public static function showLeaderboard(_arg1:Object=null):void{
var options = _arg1;
if (options != null){
if (options.clip != null){
if ((options.clip is Sprite)){
MochiServices.setContainer(options.clip);
};
delete options.clip;
} else {
MochiServices.setContainer();
};
MochiServices.stayOnTop();
if (options.name != null){
if ((options.name is TextField)){
if (options.name.text.length > 0){
options.name = options.name.text;
};
};
};
if (options.score != null){
if ((options.score is TextField)){
if (options.score.text.length > 0){
options.score = options.score.text;
};
};
};
if (options.onDisplay != null){
options.onDisplay();
} else {
if (MochiServices.clip != null){
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
};
} else {
options = {};
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
if (options.onClose != null){
onCloseHandler = options.onClose;
} else {
onCloseHandler = function ():void{
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.play();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onClose.");
};
};
};
if (options.onError != null){
onErrorHandler = options.onError;
} else {
onErrorHandler = null;
};
if (options.boardID == null){
if (MochiScores.boardID != null){
options.boardID = MochiScores.boardID;
};
};
MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose);
}
public static function closeLeaderboard():void{
MochiServices.send("scores_closeLeaderboard");
}
public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2);
}
public static function requestList(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_requestList", null, _arg1, _arg2);
}
public static function scoresArrayToObjects(_arg1:Object):Object{
var _local2:Object;
var _local3:Number;
var _local4:Number;
var _local5:Object;
var _local6:Object;
var _local7:String;
var _local8:String;
_local2 = {};
for (_local7 in _arg1) {
if (typeof(_arg1[_local7]) == "object"){
if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){
_local2[_local7] = [];
_local5 = _arg1[_local7];
_local4 = 0;
while (_local4 < _local5.rows.length) {
_local6 = {};
_local3 = 0;
while (_local3 < _local5.cols.length) {
_local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3];
_local3++;
};
_local2[_local7].push(_local6);
_local4++;
};
} else {
_local2[_local7] = {};
for (_local8 in _arg1[_local7]) {
_local2[_local7][_local8] = _arg1[_local7][_local8];
};
};
} else {
_local2[_local7] = _arg1[_local7];
};
};
return (_local2);
}
public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{
MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4);
}
public static function onClose(_arg1:Object=null):void{
if (_arg1 != null){
if (_arg1.error != null){
if (_arg1.error == true){
if (onErrorHandler != null){
if (_arg1.errorCode == null){
_arg1.errorCode = "IOError";
};
onErrorHandler(_arg1.errorCode);
MochiServices.doClose();
return;
};
};
};
};
onCloseHandler();
MochiServices.doClose();
}
public static function setBoardID(_arg1:String):void{
MochiScores.boardID = _arg1;
MochiServices.send("scores_setBoardID", {boardID:_arg1});
}
}
}//package mochi
Section 40
//MochiServices (mochi.MochiServices)
package mochi {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiServices {
private static var _container:Object;
private static var _connected:Boolean = false;
private static var _swfVersion:String;
private static var _sendChannel:LocalConnection;
private static var _rcvChannelName:String;
private static var _gatewayURL:String = "http://www.mochiads.com/static/lib/services/services.swf";
private static var _clip:MovieClip;
private static var _loader:Loader;
private static var _id:String;
private static var _listenChannel:LocalConnection;
private static var _timer:Timer;
private static var _sendChannelName:String;
private static var _startTime:Number;
private static var _connecting:Boolean = false;
public static var onError:Object;
private static var _listenChannelName:String = "__mochiservices";
private static var _rcvChannel:LocalConnection;
public static function isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{
if (_connected){
_sendChannel.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
} else {
if ((((_clip == null)) || (!(_connecting)))){
onError("NotConnected");
handleError(_arg2, _arg3, _arg4);
flush(true);
return;
};
_clip._queue.push({methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
};
if (_clip != null){
if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){
_clip._callbacks[_clip._nextcallbackID] = {callbackObject:_arg3, callbackMethod:_arg4};
_clip._nextcallbackID++;
};
};
}
public static function get connected():Boolean{
return (_connected);
}
private static function flush(_arg1:Boolean):void{
var _local2:Object;
var _local3:Object;
if (_clip != null){
if (_clip._queue != null){
while (_clip._queue.length > 0) {
_local2 = _clip._queue.shift();
_local3 = null;
if (_local2 != null){
if (_local2.callbackID != null){
_local3 = _clip._callbacks[_local2.callbackID];
};
delete _clip._callbacks[_local2.callbackID];
if (((_arg1) && (!((_local3 == null))))){
handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod);
};
};
};
};
};
}
private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{
var _local3:Array;
var _local4:int;
var _local5:Array;
var _local6:Array;
var _local7:MovieClip;
var _local8:LocalConnection;
var _local9:String;
var _local10:ByteArray;
var _local11:ByteArray;
var _local12:uint;
var _local13:uint;
var _local14:Loader;
_local3 = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23];
_local5 = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3];
_local6 = [0, 64, 0, 0, 0];
_local7 = new MovieClip();
_local8 = new LocalConnection();
_local9 = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().getTime()));
_local8 = new LocalConnection();
_local7.lc = _local8;
_local7.click = _arg2;
_local8.client = _local7;
_local8.connect(_local9);
_local10 = new ByteArray();
_local11 = new ByteArray();
_local11.endian = Endian.LITTLE_ENDIAN;
_local11.writeShort(1);
_local11.writeUTFBytes(((_arg1 + " ") + _local9));
_local11.writeByte(0);
_local12 = ((_local3.length + _local11.length) + 4);
_local13 = (_local12 + 35);
_local10.endian = Endian.LITTLE_ENDIAN;
_local10.writeUTFBytes("FWS");
_local10.writeByte(8);
_local10.writeUnsignedInt(_local13);
for each (_local4 in _local5) {
_local10.writeByte(_local4);
};
_local10.writeUnsignedInt(_local12);
_local10.writeByte(136);
_local10.writeShort(_local11.length);
_local10.writeBytes(_local11);
for each (_local4 in _local3) {
_local10.writeByte(_local4);
};
for each (_local4 in _local6) {
_local10.writeByte(_local4);
};
_local14 = new Loader();
_local14.loadBytes(_local10);
_local7.addChild(_local14);
return (_local7);
}
private static function init(_arg1:String, _arg2:Object):void{
_id = _arg1;
if (_arg2 != null){
_container = _arg2;
loadCommunicator(_arg1, _container);
};
}
public static function get childClip():Object{
return (_clip);
}
public static function get id():String{
return (_id);
}
public static function stayOnTop():void{
_container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true);
if (_clip != null){
_clip.visible = true;
};
}
public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4:Function=null):void{
var netup:Boolean;
var vars:Object;
var s:String;
var i:Number;
var x:String;
var req:URLRequest;
var loader:Loader;
var err:Function;
var complete:Function;
var setURL:Function;
var url = _arg1;
var burl = _arg2;
var btn = _arg3;
var onClick = _arg4;
vars = new Object();
vars["mav"] = getVersion();
vars["swfv"] = "9";
vars["swfurl"] = btn.loaderInfo.loaderURL;
vars["fv"] = Capabilities.version;
vars["os"] = Capabilities.os;
vars["lang"] = Capabilities.language;
vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY);
s = "?";
i = 0;
for (x in vars) {
if (i != 0){
s = (s + "&");
};
i = (i + 1);
s = (((s + x) + "=") + escape(vars[x]));
};
req = new URLRequest("http://x.mochiads.com/linkping.swf");
loader = new Loader();
err = function (_arg1:Object):void{
netup = false;
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
complete = function (_arg1:Object):void{
netup = true;
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
loader.load(req);
setURL = function ():void{
var _local1:String;
var _local2:DisplayObject;
if (netup){
_local1 = (url + s);
} else {
_local1 = burl;
};
_local2 = clickMovie(_local1, onClick);
btn.addChild(_local2);
_local2.scaleX = (0.01 * btn.width);
_local2.scaleY = (0.01 * btn.height);
};
setTimeout(setURL, 1500);
}
public static function getVersion():String{
return ("1.35");
}
public static function disconnect():void{
if (((_connected) || (_connecting))){
if (_clip != null){
if (_clip.parent != null){
if ((_clip.parent is Sprite)){
Sprite(_clip.parent).removeChild(_clip);
_clip = null;
};
};
};
_connecting = (_connected = false);
flush(true);
try {
_listenChannel.close();
_rcvChannel.close();
} catch(error:Error) {
};
};
if (_timer != null){
try {
_timer.stop();
} catch(error:Error) {
};
};
}
public static function allowDomains(_arg1:String):String{
var _local2:String;
Security.allowDomain("*");
Security.allowInsecureDomain("*");
if (_arg1.indexOf("http://") != -1){
_local2 = _arg1.split("/")[2].split(":")[0];
Security.allowDomain(_local2);
Security.allowInsecureDomain(_local2);
};
return (_local2);
}
public static function doClose():void{
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
if (_clip.parent != null){
Sprite(_clip.parent).removeChild(_clip);
};
}
public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{
if (_arg1 != null){
if ((_arg1 is Sprite)){
_container = _arg1;
};
};
if (_arg2){
if ((_container is Sprite)){
Sprite(_container).addChild(_clip);
};
};
}
private static function onStatus(_arg1:StatusEvent):void{
switch (_arg1.level){
case "error":
_connected = false;
_listenChannel.connect(_listenChannelName);
break;
};
}
private static function initComChannels():void{
if (!_connected){
_sendChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus);
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_container, version:getVersion(), parentURL:_container.loaderInfo.loaderURL});
_rcvChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus);
_clip.onReceive = function (_arg1:Object):void{
var cb:String;
var cblst:Object;
var method:*;
var methodName:String;
var obj:Object;
var pkg = _arg1;
cb = pkg.callbackID;
cblst = this.client._callbacks[cb];
if (!cblst){
return;
};
method = cblst.callbackMethod;
methodName = "";
obj = cblst.callbackObject;
if (((obj) && ((typeof(method) == "string")))){
methodName = method;
if (obj[method] != null){
method = obj[method];
} else {
trace((("Error: Method " + method) + " does not exist."));
};
};
if (method != undefined){
try {
method.apply(obj, pkg.args);
} catch(error:Error) {
trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString()));
};
} else {
if (obj != null){
try {
obj(pkg.args);
} catch(error:Error) {
trace(("Error invoking method on object: " + error.toString()));
};
};
};
delete this.client._callbacks[cb];
};
_clip.onError = function ():void{
MochiServices.onError("IOError");
};
_rcvChannel.connect(_rcvChannelName);
trace("connected!");
_connecting = false;
_connected = true;
_listenChannel.close();
while (_clip._queue.length > 0) {
_sendChannel.send(_sendChannelName, "onReceive", _clip._queue.shift());
};
};
}
private static function listen():void{
_listenChannel = new LocalConnection();
_listenChannel.client = _clip;
_clip.handshake = function (_arg1:Object):void{
MochiServices.comChannelName = _arg1.newChannel;
};
_listenChannel.allowDomain("*", "localhost");
_listenChannel.allowInsecureDomain("*", "localhost");
_listenChannel.connect(_listenChannelName);
trace("Waiting for MochiAds services to connect...");
}
private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{
var args = _arg1;
var callbackObject = _arg2;
var callbackMethod = _arg3;
if (args != null){
if (args.onError != null){
args.onError.apply(null, ["NotConnected"]);
};
if (((!((args.options == null))) && (!((args.options.onError == null))))){
args.options.onError.apply(null, ["NotConnected"]);
};
};
if (callbackMethod != null){
args = {};
args.error = true;
args.errorCode = "NotConnected";
if (((!((callbackObject == null))) && ((callbackMethod is String)))){
try {
var _local5 = callbackObject;
_local5[callbackMethod](args);
} catch(error:Error) {
};
} else {
if (callbackMethod != null){
try {
callbackMethod.apply(args);
} catch(error:Error) {
};
};
};
};
}
public static function get clip():Object{
return (_container);
}
public static function set comChannelName(_arg1:String):void{
if (_arg1 != null){
if (_arg1.length > 3){
_sendChannelName = (_arg1 + "_fromgame");
_rcvChannelName = _arg1;
initComChannels();
};
};
}
private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{
var clipname:String;
var f:Function;
var req:URLRequest;
var id = _arg1;
var clip = _arg2;
clipname = ("_mochiservices_com_" + id);
if (_clip != null){
return (_clip);
};
if (!MochiServices.isNetworkAvailable()){
return (null);
};
MochiServices.allowDomains(_gatewayURL);
_clip = createEmptyMovieClip(clip, clipname, 10336, false);
_loader = new Loader();
_timer = new Timer(1000, 0);
_startTime = getTimer();
_timer.addEventListener(TimerEvent.TIMER, connectWait);
_timer.start();
f = function (_arg1:Object):void{
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
};
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f);
req = new URLRequest(_gatewayURL);
_loader.load(req);
_clip.addChild(_loader);
_clip._mochiservices_com = _loader;
_sendChannel = new LocalConnection();
_clip._queue = [];
_rcvChannel = new LocalConnection();
_rcvChannel.allowDomain("*", "localhost");
_rcvChannel.allowInsecureDomain("*", "localhost");
_rcvChannel.client = _clip;
_clip._nextcallbackID = 0;
_clip._callbacks = {};
listen();
return (_clip);
}
public static function bringToTop(_arg1:Event):void{
var e = _arg1;
if (MochiServices.clip != null){
if (MochiServices.childClip != null){
try {
if (MochiServices.clip.numChildren > 1){
MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1));
};
} catch(errorObject:Error) {
trace("Warning: Depth sort error.");
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
};
};
};
}
public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{
var id = _arg1;
var clip = _arg2;
var onError = _arg3;
if ((clip is DisplayObject)){
if (((!(_connected)) && ((_clip == null)))){
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
};
} else {
trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage.");
};
if (onError != null){
MochiServices.onError = onError;
} else {
if (MochiServices.onError == null){
MochiServices.onError = function (_arg1:String):void{
trace(_arg1);
};
};
};
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Boolean=true):MovieClip{
var mc:MovieClip;
var parent = _arg1;
var name = _arg2;
var depth = _arg3;
var doAdd = _arg4;
mc = new MovieClip();
if (doAdd){
if (((false) && (depth))){
parent.addChildAt(mc, depth);
} else {
parent.addChild(mc);
};
};
try {
parent[name] = mc;
} catch(e:Error) {
throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
mc["_name"] = name;
return (mc);
}
public static function connectWait(_arg1:TimerEvent):void{
if ((getTimer() - _startTime) > 10000){
if (!_connected){
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
};
_timer.stop();
};
}
}
}//package mochi
Section 41
//achBar (achBar)
package {
import flash.display.*;
import flash.text.*;
public dynamic class achBar extends MovieClip {
public var scoreS:TextField;
public var titleC:TextField;
public var titleS:TextField;
public var progressC:TextField;
public var descriptionC:TextField;
public var descriptionS:TextField;
public var scoreC:TextField;
public function achBar(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 42
//AchievesWindow (AchievesWindow)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class AchievesWindow extends MovieClip {
public var masc:MovieClip;
public var padre:UICanvas;
public var okButton:SimpleButton;
public var navLevel:int;// = 0
public var oSelected:Number;
public var downButton:SimpleButton;
public var achieves:Array;
public var upButton:SimpleButton;
var interval:Timer;
public var achProgress:Array;
public var back:SimpleButton;
public var navBar:MovieClip;
public function AchievesWindow(_arg1:UICanvas){
var _local2:int;
navLevel = 0;
achieves = new Array();
achProgress = new Array();
super();
this.padre = _arg1;
_local2 = 1;
while (_local2 < 13) {
achieves.push(generateAchievement(_local2));
achProgress.push(achieves[(_local2 - 1)].progressC);
_local2++;
};
okButton = back;
upButton = navBar.upWindow;
downButton = navBar.downWindow;
x = 275;
y = 200;
interval = new Timer((1000 / 24), 0);
okButton.addEventListener(MouseEvent.CLICK, backClick);
okButton.addEventListener(MouseEvent.ROLL_OVER, backOver);
okButton.addEventListener(MouseEvent.ROLL_OUT, backOut);
okButton.enabled = false;
upButton.addEventListener(MouseEvent.CLICK, upClick);
downButton.addEventListener(MouseEvent.CLICK, downClick);
alpha = 0;
}
public function backOut(_arg1:MouseEvent):void{
}
public function downClick(_arg1:MouseEvent):void{
var _local2:*;
if (navLevel < 20){
navLevel++;
_local2 = 0;
while (_local2 < achieves.length) {
achieves[_local2].y = (achieves[_local2].y - (achieves[_local2].height / 2));
_local2++;
};
};
}
function fadeOut(_arg1:TimerEvent):void{
alpha = (alpha - 0.1);
okButton.enabled = false;
if (alpha <= 0){
interval.removeEventListener(TimerEvent.TIMER, fadeOut);
padre.addMainMenu();
padre.removeChild(this);
};
}
public function backOver(_arg1:MouseEvent):void{
}
public function initAchievements(){
var _local1:*;
_local1 = 0;
while (_local1 < achieves.length) {
if (padre.local_data.data.achScoreList[_local1] > 0){
achieves[_local1].gotoAndStop("on");
achProgress[_local1].text = "Completed";
} else {
achieves[_local1].gotoAndStop("off");
if (padre.achieveSystem.achObjective[_local1] < 1000){
achProgress[_local1].text = ((padre.local_data.data.achCount[_local1] + "/") + padre.achieveSystem.achObjective[_local1]);
} else {
achProgress[_local1].text = (((padre.local_data.data.achCount[_local1] + "/") + (padre.achieveSystem.achObjective[_local1] / 1000)) + "k");
};
};
_local1++;
};
}
public function generateAchievement(_arg1:Number){
var _local2:MovieClip;
_local2 = new achBar();
if (_arg1 < 10){
_local2.titleC.text = Text[("AchieveTitle0" + _arg1)];
_local2.titleS.text = Text[("AchieveTitle0" + _arg1)];
_local2.descriptionC.text = Text[("AchieveDescription0" + _arg1)];
} else {
_local2.titleC.text = Text[("AchieveTitle" + _arg1)];
_local2.titleS.text = Text[("AchieveTitle" + _arg1)];
_local2.descriptionC.text = Text[("AchieveDescription" + _arg1)];
};
_local2.scoreC.text = (padre.local_data.data.achScoreList[(_arg1 - 1)] + "");
_local2.progressC.text = (padre.local_data.data.achCount[(_arg1 - 1)] + "");
_local2.descriptionS.text = "Achievement Completed!";
_local2.scoreS.text = (padre.achieveSystem.achActualScore[(_arg1 - 1)] + "");
_local2.y = (-57.5 + (62.5 * (_arg1 - 1)));
this.masc.addChild(_local2);
return (_local2);
}
function exitWindow(){
interval.addEventListener(TimerEvent.TIMER, fadeOut);
}
function fadeIn(_arg1:TimerEvent):void{
alpha = (alpha + 0.1);
if (alpha >= 1){
okButton.enabled = true;
interval.removeEventListener(TimerEvent.TIMER, fadeIn);
};
}
public function upClick(_arg1:MouseEvent):void{
var _local2:*;
if (navLevel > 0){
navLevel--;
_local2 = 0;
while (_local2 < achieves.length) {
achieves[_local2].y = (achieves[_local2].y + (achieves[_local2].height / 2));
_local2++;
};
};
}
public function backClick(_arg1:MouseEvent):void{
exitWindow();
}
function enterWindow(){
interval.addEventListener(TimerEvent.TIMER, fadeIn);
interval.start();
}
}
}//package
Section 43
//AchieveSystem (AchieveSystem)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class AchieveSystem {
public var interval:Timer;
public var padre:UICanvas;
public var achieveScore:Number;// = 0
public var achObjective:Array;
public var madeIt:Boolean;
public var achCount:Array;
public var achScoreList:Array;
public var nivelEscalar:Array;
public var achieveLevel:Number;// = 1
public var achMes:MovieClip;
public var contador:int;// = 20
public var achActualScore:Array;
public function AchieveSystem(){
achScoreList = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
achCount = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
achObjective = [1, 1, 1, 1, 5000, 3000, 3000, 3000, 3000, 3000, 3000, 25000];
achActualScore = [100, 200, 300, 600, 200, 400, 500, 600, 700, 800, 900, 1200];
nivelEscalar = [500, 1500, 3500, 6500, 10000];
achieveLevel = 1;
achieveScore = 0;
contador = 20;
super();
}
public function initAchievements(){
interval = new Timer((1000 / 24), 0);
if (padre.local_data.data.achScoreList == undefined){
padre.local_data.data.achScoreList = achScoreList;
padre.local_data.data.achieveScore = achieveScore;
padre.local_data.data.achieveLevel = achieveLevel;
padre.local_data.data.achCount = achCount;
padre.local_data.flush();
};
}
public function achMessage(_arg1:int, _arg2:Boolean){
exitWindow();
}
public function exitWindow(){
interval.delay = (1000 / 24);
interval.addEventListener(TimerEvent.TIMER, fadeOut);
contador = (1500 / 24);
interval.start();
}
public function saveAchievement(_arg1:Number){
padre.local_data.data.achScoreList[_arg1] = achActualScore[_arg1];
padre.local_data.data.achieveScore = (padre.local_data.data.achieveScore + achActualScore[_arg1]);
if ((((padre.local_data.data.achieveScore < nivelEscalar[0])) && ((padre.local_data.data.achieveLevel == 1)))){
padre.local_data.data.achieveLevel = 1;
};
if ((((((padre.local_data.data.achieveScore >= nivelEscalar[0])) && ((padre.local_data.data.achieveScore < nivelEscalar[1])))) && ((padre.local_data.data.achieveLevel < 2)))){
padre.local_data.data.achieveLevel = 2;
achMessage(0, true);
};
if ((((((padre.local_data.data.achieveScore >= nivelEscalar[1])) && ((padre.local_data.data.achieveScore < nivelEscalar[2])))) && ((padre.local_data.data.achieveLevel < 3)))){
padre.local_data.data.achieveLevel = 3;
achMessage(0, true);
};
if ((((((padre.local_data.data.achieveScore >= nivelEscalar[2])) && ((padre.local_data.data.achieveScore < nivelEscalar[3])))) && ((padre.local_data.data.achieveLevel < 4)))){
padre.local_data.data.achieveLevel = 4;
achMessage(0, true);
};
if ((((((padre.local_data.data.achieveScore >= nivelEscalar[3])) && ((padre.local_data.data.achieveScore < nivelEscalar[4])))) && ((padre.local_data.data.achieveLevel < 5)))){
padre.local_data.data.achieveLevel = 5;
achMessage(0, true);
};
padre.local_data.flush();
}
public function achControl(_arg1:int){
var _local2 = padre.local_data.data.achCount;
var _local3 = _arg1;
var _local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
if (padre.local_data.data.achCount[_arg1] >= achObjective[_arg1]){
if (padre.local_data.data.achScoreList[_arg1] == 0){
saveAchievement(_arg1);
padre.scoreSystem.submitScore(5, padre.local_data.data.achieveScore);
achMessage(_arg1, false);
};
padre.local_data.data.achCount[_arg1] = achObjective[_arg1];
};
}
function fadeOut(_arg1:TimerEvent):void{
contador--;
if (contador <= 0){
achMes.alpha = (achMes.alpha - 0.1);
if (achMes.alpha <= 0){
interval.removeEventListener(TimerEvent.TIMER, fadeOut);
padre.main.removeChild(achMes);
};
};
}
}
}//package
Section 44
//AchMessageMC (AchMessageMC)
package {
import flash.display.*;
import flash.text.*;
public dynamic class AchMessageMC extends MovieClip {
public var levelStatus:TextField;
}
}//package
Section 45
//AStar (AStar)
package {
public class AStar {
public static const IMPOSIBLE:int = 3;
public static const CERRADO:int = 2;
public static const ABIERTO:int = 1;
public static const PENDIENTE:int = 0;
public static var lista:AStarNode;
public static var levelData:Array;
private static var bases:Array;
private static var camino:Array;
private static function initializaData(_arg1:int){
var _local2:int;
var _local3:int;
_local2 = 0;
while (_local2 < levelData.length) {
_local3 = 0;
while (_local3 < levelData[_local2].length) {
if (levelData[_local2][_local3].estado != IMPOSIBLE){
levelData[_local2][_local3].estado = PENDIENTE;
levelData[_local2][_local3].costoHastaAqui = 0;
if (_arg1 == Parametros.MaximaCantidadDeBases){
};
levelData[_local2][_local3].calcularTotal(_arg1);
};
_local3++;
};
_local2++;
};
lista = null;
}
private static function search(_arg1:int){
var _local2:AStarNode;
while (lista != null) {
_local2 = findLowestAndRemoveIt();
if ((((_local2.i == bases[_arg1].i)) && ((_local2.j == bases[_arg1].j)))){
return;
};
agregarVecinos(_local2.i, _local2.j, _local2.costoHastaAqui, _arg1);
};
}
private static function agregarVecinos(_arg1:int, _arg2:int, _arg3:int, _arg4:int){
var _local5:AStarNode;
if ((_arg1 - 1) >= 0){
_local5 = levelData[(_arg1 - 1)][_arg2];
if (_local5.estado == PENDIENTE){
addNode(_local5, _arg1, _arg2, (_arg3 + 32), _arg4);
} else {
if (_local5.estado == ABIERTO){
if (_local5.costoHastaAqui > (_arg3 + 32)){
_local5.updateData((_arg3 + 10), _arg1, _arg2, _arg4);
};
};
};
};
if ((_arg1 + 1) < levelData[0].length){
_local5 = levelData[(_arg1 + 1)][_arg2];
if (_local5.estado == PENDIENTE){
addNode(_local5, _arg1, _arg2, (_arg3 + 32), _arg4);
} else {
if (_local5.estado == ABIERTO){
if (_local5.costoHastaAqui > (_arg3 + 32)){
_local5.updateData((_arg3 + 32), _arg1, _arg2, _arg4);
};
};
};
};
if ((_arg2 - 1) >= 0){
_local5 = levelData[_arg1][(_arg2 - 1)];
if (_local5.estado == PENDIENTE){
addNode(_local5, _arg1, _arg2, (_arg3 + 32), _arg4);
} else {
if (_local5.estado == ABIERTO){
if (_local5.costoHastaAqui > (_arg3 + 32)){
_local5.updateData((_arg3 + 32), _arg1, _arg2, _arg4);
};
};
};
};
if ((_arg2 + 1) < levelData[0].length){
_local5 = levelData[_arg1][(_arg2 + 1)];
if (_local5.estado == PENDIENTE){
addNode(_local5, _arg1, _arg2, (_arg3 + 32), _arg4);
} else {
if (_local5.estado == ABIERTO){
if (_local5.costoHastaAqui > (_arg3 + 32)){
_local5.updateData((_arg3 + 32), _arg1, _arg2, _arg4);
};
};
};
};
if (((((_arg1 - 1) >= 0)) && (((_arg2 - 1) >= 0)))){
if (((!((levelData[(_arg1 - 1)][_arg2].estado == IMPOSIBLE))) && (!((levelData[_arg1][(_arg2 - 1)].estado == IMPOSIBLE))))){
_local5 = levelData[(_arg1 - 1)][(_arg2 - 1)];
if (_local5.estado == PENDIENTE){
addNode(_local5, _arg1, _arg2, (_arg3 + 45), _arg4);
} else {
if (_local5.estado == ABIERTO){
if (_local5.costoHastaAqui > (_arg3 + 45)){
_local5.updateData((_arg3 + 45), _arg1, _arg2, _arg4);
};
};
};
};
};
if (((((_arg1 - 1) >= 0)) && (((_arg2 + 1) < levelData[0].length)))){
if (((!((levelData[(_arg1 - 1)][_arg2].estado == IMPOSIBLE))) && (!((levelData[_arg1][(_arg2 + 1)].estado == IMPOSIBLE))))){
_local5 = levelData[(_arg1 - 1)][(_arg2 + 1)];
if (_local5.estado == PENDIENTE){
addNode(_local5, _arg1, _arg2, (_arg3 + 45), _arg4);
} else {
if (_local5.estado == ABIERTO){
if (_local5.costoHastaAqui > (_arg3 + 45)){
_local5.updateData((_arg3 + 45), _arg1, _arg2, _arg4);
};
};
};
};
};
if (((((_arg1 + 1) < levelData.length)) && (((_arg2 + 1) < levelData[0].length)))){
if (((!((levelData[(_arg1 + 1)][_arg2].estado == IMPOSIBLE))) && (!((levelData[_arg1][(_arg2 + 1)].estado == IMPOSIBLE))))){
_local5 = levelData[(_arg1 + 1)][(_arg2 + 1)];
if (_local5.estado == PENDIENTE){
addNode(_local5, _arg1, _arg2, (_arg3 + 45), _arg4);
} else {
if (_local5.estado == ABIERTO){
if (_local5.costoHastaAqui > (_arg3 + 45)){
_local5.updateData((_arg3 + 45), _arg1, _arg2, _arg4);
};
};
};
};
};
if (((((_arg1 + 1) < levelData.length)) && (((_arg2 - 1) >= 0)))){
if (((!((levelData[(_arg1 + 1)][_arg2].estado == IMPOSIBLE))) && (!((levelData[_arg1][(_arg2 - 1)].estado == IMPOSIBLE))))){
_local5 = levelData[(_arg1 + 1)][(_arg2 - 1)];
if (_local5.estado == PENDIENTE){
addNode(_local5, _arg1, _arg2, (_arg3 + 45), _arg4);
} else {
if (_local5.estado == ABIERTO){
if (_local5.costoHastaAqui > (_arg3 + 45)){
_local5.updateData((_arg3 + 45), _arg1, _arg2, _arg4);
};
};
};
};
};
}
private static function addNode(_arg1:AStarNode, _arg2:int, _arg3:int, _arg4:int, _arg5:int){
_arg1.estado = ABIERTO;
_arg1.origenI = _arg2;
_arg1.origenJ = _arg3;
_arg1.costoHastaAqui = _arg4;
_arg1.calcularTotal(_arg5);
_arg1.prevNode = null;
_arg1.nextNode = lista;
if (lista != null){
lista.prevNode = _arg1;
};
lista = _arg1;
}
public static function updateEstimate(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int){
var _local6:int;
var _local7:int;
_local6 = 0;
while (_local6 < levelData.length) {
_local7 = 0;
while (_local7 < levelData[_local6].length) {
if (levelData[_local6][_local7].estado != IMPOSIBLE){
if ((((_local6 == 7)) && ((_local7 == 7)))){
};
if (_local7 < _arg5){
levelData[_local6][_local7].estimadoDesdeAqui[_arg1] = (levelData[_local6][_local7].estimadoDesdeAqui[_arg1] + _arg2);
} else {
if (_local7 > _arg5){
levelData[_local6][_local7].estimadoDesdeAqui[_arg1] = (levelData[_local6][_local7].estimadoDesdeAqui[_arg1] - _arg2);
} else {
levelData[_local6][_local7].estimadoDesdeAqui[_arg1] = (levelData[_local6][_local7].estimadoDesdeAqui[_arg1] - Math.abs(_arg2));
};
};
if (_local6 < _arg4){
levelData[_local6][_local7].estimadoDesdeAqui[_arg1] = (levelData[_local6][_local7].estimadoDesdeAqui[_arg1] + _arg3);
} else {
if (_local6 > _arg4){
levelData[_local6][_local7].estimadoDesdeAqui[_arg1] = (levelData[_local6][_local7].estimadoDesdeAqui[_arg1] - _arg3);
} else {
levelData[_local6][_local7].estimadoDesdeAqui[_arg1] = (levelData[_local6][_local7].estimadoDesdeAqui[_arg1] - Math.abs(_arg3));
};
};
};
_local7++;
};
_local6++;
};
}
private static function findLowestAndRemoveIt():AStarNode{
var _local1:AStarNode;
var _local2:int;
var _local3:AStarNode;
_local1 = null;
_local1 = lista;
_local2 = int.MAX_VALUE;
_local3 = null;
while (_local1 != null) {
if (_local1.total <= _local2){
if ((((Math.random() < 0.5)) || ((_local2 == int.MAX_VALUE)))){
_local2 = _local1.total;
_local3 = _local1;
};
};
_local1 = _local1.nextNode;
};
if (_local3 != null){
if (_local3.prevNode != null){
_local3.prevNode.nextNode = _local3.nextNode;
} else {
lista = _local3.nextNode;
};
if (_local3.nextNode != null){
_local3.nextNode.prevNode = _local3.prevNode;
};
};
return (_local3);
}
public static function findPath(_arg1:Number, _arg2:Number, _arg3:int):Array{
var _local4:int;
var _local5:int;
var _local6:AStarNode;
_local4 = int((_arg2 / 32));
if (_local4 < 0){
_local4 = 0;
} else {
if (_local4 >= levelData.length){
_local4 = (levelData.length - 1);
};
};
_local5 = int((_arg1 / 32));
if (_local5 < 0){
_local5 = 0;
} else {
if (_local5 >= levelData[0].length){
_local5 = (levelData[0].length - 1);
};
};
camino = new Array();
initializaData(_arg3);
levelData[_local4][_local5].estado = ABIERTO;
levelData[_local4][_local5].origenI = (levelData[_local4][_local5].origenJ = -1);
levelData[_local4][_local5].costoHastaAqui = 0;
levelData[_local4][_local5].calcularTotal(_arg3);
lista = levelData[_local4][_local5];
lista.prevNode = (lista.nextNode = null);
search(_arg3);
_local6 = levelData[bases[_arg3].i][bases[_arg3].j];
while (((!((_local6.origenI == -1))) && (!((_local6.origenJ == -1))))) {
camino.push(_local6.i);
camino.push(_local6.j);
_local6 = levelData[_local6.origenI][_local6.origenJ];
};
camino.push(_local6.i);
camino.push(_local6.j);
return (camino);
}
public static function buildData(_arg1:Array, _arg2:Player){
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
levelData = new Array(_arg1.length);
bases = _arg2.bases;
_local3 = Math.floor((_arg2.posicion.X / Parametros.TamanyoTile));
_local4 = Math.floor((_arg2.posicion.Y / Parametros.TamanyoTile));
_local5 = 0;
while (_local5 < _arg1.length) {
levelData[_local5] = new Array(_arg1[_local5].length);
_local6 = 0;
while (_local6 < _arg1[_local5].length) {
levelData[_local5][_local6] = new AStarNode(_local5, _local6);
if (_arg1[_local5][_local6] >= 1){
levelData[_local5][_local6].estado = IMPOSIBLE;
};
_local7 = 0;
while (_local7 < bases.length) {
levelData[_local5][_local6].estimadoDesdeAqui[_local7] = ((Math.abs((bases[_local7].j - _local6)) + Math.abs((bases[_local7].i - _local5))) * Parametros.TamanyoTile);
_local7++;
};
levelData[_local5][_local6].estimadoDesdeAqui[Parametros.MaximaCantidadDeBases] = ((Math.abs((_local3 - _local5)) + Math.abs((_local4 - _local6))) * Parametros.TamanyoTile);
_local6++;
};
_local5++;
};
}
}
}//package
Section 46
//AStarNode (AStarNode)
package {
public class AStarNode {
public var total:int;
public var costoHastaAqui:int;
public var prevNode:AStarNode;
public var estimadoDesdeAqui:Array;
public var origenI:int;
public var origenJ:int;
public var nextNode:AStarNode;
public var estado:int;
public var i:int;
public var j:int;
public function AStarNode(_arg1:int, _arg2:int){
this.i = _arg1;
this.j = _arg2;
estimadoDesdeAqui = new Array((Parametros.MaximaCantidadDeBases + 1));
}
public function updateData(_arg1:int, _arg2:int, _arg3:int, _arg4:int){
this.costoHastaAqui = _arg1;
origenI = _arg2;
origenJ = _arg3;
calcularTotal(_arg4);
}
public function calcularTotal(_arg1:int){
total = (costoHastaAqui + estimadoDesdeAqui[_arg1]);
}
}
}//package
Section 47
//Auch (Auch)
package {
import flash.media.*;
public dynamic class Auch extends Sound {
}
}//package
Section 48
//AutoBarrel (AutoBarrel)
package {
import flash.display.*;
public dynamic class AutoBarrel extends MovieClip {
}
}//package
Section 49
//Bala (Bala)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class Bala extends ObjetoListaEnlazada {
public var level:CanvasScenario;
public var padre:MovieClip;
public var speed:Number;// = 15
public var radioDisparo:Number;// = 100
public var interval:Timer;
public var radioObjetivo:Number;
public var posicion:Vector2D;
public var movieClip:MovieClip;
public var tipoMuerte:int;
public var killIt:Boolean;// = false
public var isPlayer:Boolean;// = false
public var velocidad:Vector2D;
public function Bala(_arg1:CanvasScenario, _arg2:Number, _arg3:Number, _arg4:MovieClip, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Boolean){
var _local9:*;
var _local10:*;
var _local11:Number;
var _local12:Number;
speed = 15;
radioDisparo = 100;
killIt = false;
isPlayer = false;
super();
this.level = _arg1;
padre = _arg4;
posicion = new Vector2D();
posicion.X = _arg2;
posicion.Y = _arg3;
movieClip = new bala_mc();
_arg4.addChild(movieClip);
movieClip.x = posicion.X;
movieClip.y = posicion.Y;
if (_arg8 == false){
speed = 2;
};
this.velocidad = new Vector2D();
_local9 = ((_arg6 - padre.x) - _arg2);
_local10 = ((_arg7 - padre.y) - _arg3);
_local11 = Math.sqrt(((_local9 * _local9) + (_local10 * _local10)));
this.velocidad.X = ((speed * _local9) / _local11);
this.velocidad.Y = ((speed * _local10) / _local11);
radioObjetivo = (radioDisparo = _arg5);
this.isPlayer = _arg8;
_local12 = Math.atan((velocidad.Y / velocidad.X));
if ((_arg2 + _arg4.x) > _arg6){
movieClip.rotation = (((_local12 * 180) / 3.14) + 180);
} else {
movieClip.rotation = ((_local12 * 180) / 3.14);
};
if (_arg8 == true){
if (_arg1.player.danyoDisparo < 4){
_arg1.padre.padre.soundSystem.gunA.play(0, 1, _arg1.padre.padre.soundSystem.volPrincipal);
movieClip.gotoAndStop(1);
} else {
if ((((_arg1.player.danyoDisparo >= 4)) && ((_arg1.player.danyoDisparo < 5)))){
_arg1.padre.padre.soundSystem.gunAA.play(0, 1, _arg1.padre.padre.soundSystem.volPrincipal);
movieClip.gotoAndStop(2);
} else {
if ((((_arg1.player.danyoDisparo >= 5)) && ((_arg1.player.danyoDisparo < 6)))){
_arg1.padre.padre.soundSystem.gunB.play(0, 1, _arg1.padre.padre.soundSystem.volPrincipal);
movieClip.gotoAndStop(3);
} else {
if ((((_arg1.player.danyoDisparo >= 6)) && ((_arg1.player.danyoDisparo < 7)))){
_arg1.padre.padre.soundSystem.gunBB.play(0, 1, _arg1.padre.padre.soundSystem.volPrincipal);
movieClip.gotoAndStop(4);
} else {
if ((((_arg1.player.danyoDisparo >= 7)) && ((_arg1.player.danyoDisparo < 8)))){
_arg1.padre.padre.soundSystem.gunC.play(0, 1, _arg1.padre.padre.soundSystem.volPrincipal);
movieClip.gotoAndStop(5);
} else {
if ((((_arg1.player.danyoDisparo >= 8)) && ((_arg1.player.danyoDisparo < 9)))){
_arg1.padre.padre.soundSystem.gunC.play(0, 1, _arg1.padre.padre.soundSystem.volPrincipal);
movieClip.gotoAndStop(6);
} else {
if ((((_arg1.player.danyoDisparo >= 9)) && ((_arg1.player.danyoDisparo < 10)))){
_arg1.padre.padre.soundSystem.gunC.play(0, 1, _arg1.padre.padre.soundSystem.volPrincipal);
movieClip.gotoAndStop(7);
} else {
if ((((_arg1.player.danyoDisparo >= 10)) && ((_arg1.player.danyoDisparo < 11)))){
_arg1.padre.padre.soundSystem.gunC.play(0, 1, _arg1.padre.padre.soundSystem.volPrincipal);
movieClip.gotoAndStop(8);
} else {
if ((((_arg1.player.danyoDisparo >= 11)) && ((_arg1.player.danyoDisparo < 12)))){
_arg1.padre.padre.soundSystem.gunF.play(0, 1, _arg1.padre.padre.soundSystem.volPrincipal);
movieClip.gotoAndStop(9);
} else {
if (_arg1.player.danyoDisparo >= 12){
_arg1.padre.padre.soundSystem.gunFF.play(0, 1, _arg1.padre.padre.soundSystem.volPrincipal);
movieClip.gotoAndStop(10);
};
};
};
};
};
};
};
};
};
};
} else {
movieClip.gotoAndStop("enemigo1");
};
this.movieClip.x = (this.movieClip.x + (velocidad.X / 2));
this.movieClip.y = (this.movieClip.y + (velocidad.Y / 2));
interval = new Timer((1000 / 30), 0);
interval.addEventListener(TimerEvent.TIMER, update);
interval.start();
}
public function update(_arg1:TimerEvent):void{
var _local2:DisparableVisible;
var _local3:Vector2D;
var _local4:MovieClip;
var _local5:Number;
if (level.padre.isRun){
this.movieClip.x = (this.movieClip.x + velocidad.X);
this.movieClip.y = (this.movieClip.y + velocidad.Y);
radioDisparo = (radioDisparo - speed);
if (level.collisionMap[Math.floor((movieClip.y / 32))][Math.floor((movieClip.x / 32))] == 1){
killIt = true;
if (isPlayer == true){
tipoMuerte = 1;
} else {
tipoMuerte = 3;
};
};
if (killIt == false){
if (isPlayer == true){
_local2 = DisparableVisible(level.listaDeEnemigosVisibles.primerObjeto);
while (_local2 != null) {
_local3 = _local2.disparable.posicion;
if ((((((((((movieClip.x > (_local3.X - 20))) && ((movieClip.x < (_local3.X + 20))))) && ((movieClip.y > (_local3.Y - 20))))) && ((movieClip.y < (_local3.Y + 20))))) && (!(_local2.disparable.muerto)))){
velocidad.X = (velocidad.X * level.player.pushBack);
velocidad.Y = (velocidad.Y * level.player.pushBack);
_local2.disparable.sufrirDanyo(level.player.danyoDisparo, 0, velocidad);
killIt = true;
tipoMuerte = 2;
_local2 = null;
} else {
_local2 = DisparableVisible(_local2.sgte);
};
};
} else {
if (((((((((!((level.player.movieClip == null))) && ((movieClip.x > (level.player.movieClip.x - 10))))) && ((movieClip.x < (level.player.movieClip.x + 10))))) && ((movieClip.y > (level.player.movieClip.y - 16))))) && ((movieClip.y < (level.player.movieClip.y + 16))))){
level.player.sufrirDanyo(0.05);
killIt = true;
tipoMuerte = 3;
};
};
if ((((radioDisparo <= (radioObjetivo / 1.2))) && ((killIt == false)))){
movieClip.alpha = (movieClip.alpha / 1.5);
if (radioDisparo <= 0){
killIt = true;
};
};
};
if (killIt){
interval.removeEventListener(TimerEvent.TIMER, update);
switch (tipoMuerte){
case 1:
if ((((level.player.danyoDisparo >= 3)) && ((level.player.danyoDisparo < 7)))){
_local5 = Math.floor((Math.random() * 4));
switch (_local5){
case 0:
level.padre.padre.soundSystem.rebote1.play(0, 1, level.padre.padre.soundSystem.volPrincipal);
break;
case 1:
level.padre.padre.soundSystem.rebote2.play(0, 1, level.padre.padre.soundSystem.volPrincipal);
break;
case 2:
level.padre.padre.soundSystem.rebote3.play(0, 1, level.padre.padre.soundSystem.volPrincipal);
break;
case 3:
level.padre.padre.soundSystem.rebote4.play(0, 1, level.padre.padre.soundSystem.volPrincipal);
break;
case 4:
level.padre.padre.soundSystem.rebote4.play(0, 1, level.padre.padre.soundSystem.volPrincipal);
break;
};
_local4 = new muerteBalaMC();
_local4.x = movieClip.x;
_local4.y = movieClip.y;
padre.addChild(_local4);
_local4.scaleX = (_local4.scaleX * 0.25);
_local4.scaleY = (_local4.scaleY * 0.25);
_local4.alpha = 1;
_local4.play();
} else {
if ((((level.player.danyoDisparo >= 9)) && ((level.player.danyoDisparo < 11)))){
_local4 = new ImpactoEnEnemigo_();
_local4.x = movieClip.x;
_local4.y = movieClip.y;
padre.addChild(_local4);
_local4.alpha = 1;
_local4.play();
} else {
if ((((level.player.danyoDisparo >= 7)) && ((level.player.danyoDisparo < 9)))){
_local4 = new ImpactoEnEnemigo_();
_local4.x = movieClip.x;
_local4.y = movieClip.y;
padre.addChild(_local4);
_local4.alpha = 1;
_local4.play();
} else {
if (level.player.danyoDisparo >= 11){
level.padre.padre.soundSystem.exploRocket.play(0, 1, level.padre.padre.soundSystem.volPrincipal);
_local4 = new explocion_mc();
_local4.x = movieClip.x;
_local4.y = movieClip.y;
padre.addChild(_local4);
_local4.scaleX = (_local4.scaleX * 0.5);
_local4.scaleY = (_local4.scaleY * 0.5);
_local4.alpha = 1;
_local4.play();
};
};
};
};
break;
case 2:
if (level.player.danyoDisparo >= 11){
level.padre.padre.soundSystem.exploRocket.play(0, 1, level.padre.padre.soundSystem.volPrincipal);
_local4 = new explocion_mc();
_local4.x = movieClip.x;
_local4.y = movieClip.y;
padre.addChild(_local4);
_local4.scaleX = (_local4.scaleX * 0.5);
_local4.scaleY = (_local4.scaleY * 0.5);
_local4.alpha = 1;
_local4.play();
} else {
if ((((level.player.danyoDisparo >= 7)) && ((level.player.danyoDisparo < 9)))){
_local4 = new explocion_mc();
_local4.x = movieClip.x;
_local4.y = movieClip.y;
padre.addChild(_local4);
_local4.scaleX = (_local4.scaleX * 0.25);
_local4.scaleY = (_local4.scaleY * 0.25);
_local4.alpha = 1;
_local4.play();
} else {
if ((((level.player.danyoDisparo >= 9)) && ((level.player.danyoDisparo < 11)))){
_local4 = new ImpactoEnEnemigo_();
_local4.x = movieClip.x;
_local4.y = movieClip.y;
padre.addChild(_local4);
_local4.alpha = 1;
_local4.play();
} else {
if ((((level.player.danyoDisparo >= 3)) && ((level.player.danyoDisparo < 7)))){
_local4 = new ImpactoEnEnemigo();
_local4.x = movieClip.x;
_local4.y = movieClip.y;
padre.addChild(_local4);
_local4.alpha = 1;
_local4.play();
};
};
};
};
break;
case 3:
level.padre.padre.soundSystem.impactoEnemigo1.play(0, 1, level.padre.padre.soundSystem.volPrincipal);
_local4 = new muerteBalaMC();
_local4.x = movieClip.x;
_local4.y = movieClip.y;
padre.addChild(_local4);
_local4.scaleX = (_local4.scaleX * 0.25);
_local4.scaleY = (_local4.scaleY * 0.25);
_local4.alpha = 1;
_local4.play();
break;
};
this.padre.removeChild(this.movieClip);
level.listaDeBalas.removerObjeto(this);
};
};
}
}
}//package
Section 50
//bala_mc (bala_mc)
package {
import flash.display.*;
public dynamic class bala_mc extends MovieClip {
public function bala_mc(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11);
}
function frame10(){
stop();
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame9(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame11(){
stop();
}
}
}//package
Section 51
//BalaMC (BalaMC)
package {
import flash.display.*;
public dynamic class BalaMC extends MovieClip {
}
}//package
Section 52
//Barrel (Barrel)
package {
import flash.display.*;
public dynamic class Barrel extends MovieClip {
}
}//package
Section 53
//Base (Base)
package {
import flash.display.*;
public class Base {
public var barra:MovieClip;
public var rayCounter:int;
public var level:CanvasScenario;
public var _domMask:MovieClip;
public var id:int;
public var fireWeapon:Function;
public var movieClip:MovieClip;
public var isConquered:Boolean;
public var isAttacked:Boolean;
public var radioDisparoSq:Number;// = 2500
public var machineGunCounter:int;// = 0
public var rayMC:MovieClip;
public var currentRotacion:Number;
public var conqObjective:int;// = 200
public var energiaInicial:Number;
public var domMC:MovieClip;
public var posicion:Vector2D;
public var i:int;
public var j:int;
public var deltaAim:Vector2D;
public var energia:Number;// = 0
public var isConquering:Boolean;
public var conqProgress:int;
public function Base(_arg1:int, _arg2:int, _arg3:int, _arg4:CanvasScenario, _arg5:Boolean){
energia = 0;
radioDisparoSq = (Parametros.RadioDisparoBase * Parametros.RadioDisparoBase);
machineGunCounter = 0;
conqObjective = 200;
super();
isConquering = false;
isConquered = false;
isAttacked = false;
this.id = _arg1;
this.i = _arg2;
this.j = _arg3;
posicion = new Vector2D();
posicion.X = ((_arg3 * Parametros.TamanyoTile) + (Parametros.TamanyoTile / 2));
posicion.Y = ((_arg2 * Parametros.TamanyoTile) + (Parametros.TamanyoTile / 2));
this.level = _arg4;
if (_arg5 == false){
domMC = new domCircle();
domMC.x = (_arg3 * Parametros.TamanyoTile);
domMC.y = (_arg2 * Parametros.TamanyoTile);
_arg4.map.addChild(domMC);
domMC.visible = true;
_domMask = domMC.domMask;
_domMask.scaleX = (conqProgress / conqObjective);
conqObjective = 2000;
};
deltaAim = new Vector2D();
movieClip = new BaseMC();
movieClip.visible = false;
movieClip.x = posicion.X;
movieClip.y = posicion.Y;
barra = new EnergyBar();
barra.visible = false;
barra.y = (movieClip.y + (movieClip.height / 2));
barra.x = movieClip.x;
_arg4.map.addChild(barra);
_arg4.map.addChild(movieClip);
rayMC = new Rayo();
rayMC.visible = false;
_arg4.map.addChild(rayMC);
fireWeapon = fireMachineGun;
}
function fireRay(){
deltaAim.normalize(20);
rayMC.x = (deltaAim.X + movieClip.x);
rayMC.y = (deltaAim.Y + movieClip.y);
currentRotacion = (90 - (Math.atan2(-(deltaAim.Y), deltaAim.X) * (180 / Math.PI)));
rayMC.rotation = currentRotacion;
if (currentRotacion < -22.5){
currentRotacion = (currentRotacion + 360);
};
currentRotacion = (currentRotacion + 22.5);
currentRotacion = ((Math.floor((currentRotacion / 45)) * 10) + 1);
movieClip.gotoAndStop(currentRotacion);
rayMC.visible = true;
rayCounter = 2;
deltaAim.X = (deltaAim.X * 5);
deltaAim.Y = (deltaAim.Y * 5);
}
public function revivir(){
movieClip.visible = true;
energia = (energiaInicial = Parametros.EnergiaInicialBase);
barra.green.scaleX = 1;
barra.green.visible = true;
barra.visible = true;
level.collisionMap[i][j] = 1;
}
public function update(){
if (rayCounter > 0){
rayCounter--;
} else {
rayMC.visible = false;
};
fireWeapon();
}
function fireMachineGun(){
var _local1:Enemigo;
if (machineGunCounter <= 0){
_local1 = level.getCloserEnemy(posicion, radioDisparoSq);
if (_local1 != null){
deltaAim.subAndAssign(_local1.posicion, posicion);
level.newAddBullet(posicion.X, posicion.Y, 150, _local1.posicion.X, _local1.posicion.Y, false);
machineGunCounter = Parametros.BaseMachineGunReload;
};
} else {
if (machineGunCounter > 0){
machineGunCounter--;
};
};
}
public function reset(){
isConquered = false;
isConquering = false;
conqProgress = 0;
domMC.gotoAndStop(1);
_domMask.scaleX = (conqProgress / conqObjective);
}
public function sufrirDanyo(_arg1:Number){
energia = (energia - _arg1);
if (energia > 0){
barra.green.scaleX = (energia / energiaInicial);
} else {
barra.green.visible = false;
movieClip.visible = false;
rayMC.visible = false;
barra.visible = false;
level.collisionMap[i][j] = 0;
level.torretaDestruida(id);
};
}
public function setPosicion(_arg1:Number, _arg2:Number, _arg3:int, _arg4:int){
this.i = _arg3;
this.j = _arg4;
this.posicion.X = _arg1;
this.posicion.Y = _arg2;
}
public function conquestProgress(_arg1:Boolean){
if (_arg1){
conqProgress = (conqProgress + 10);
_domMask.scaleX = (conqProgress / conqObjective);
if (conqProgress >= conqObjective){
if (level.padre.player.domination == (level.baseEsperada.length - 1)){
level.padre.hudMenu.conqueringMessage(false);
level.padre.hudMenu.pointControledMessage(true);
} else {
level.padre.hudMenu.conqueringMessage(false);
level.padre.hudMenu.pointControledMessage(false);
};
isConquered = true;
conqProgress = conqObjective;
domMC.gotoAndStop(3);
level.player._actionMessage.gotoAndPlay(42);
level.player.points++;
level.padre.hudMenu._totalPoints.text = ("" + level.player.points);
level.padre.hudMenu.upgradeUpgrade(level.player.points);
} else {
isConquered = false;
};
} else {
isConquered = false;
if (conqProgress > 0){
if (conqProgress <= 0){
conqProgress = 0;
};
_domMask.scaleX = (conqProgress / conqObjective);
};
};
}
}
}//package
Section 54
//BaseMC (BaseMC)
package {
import flash.display.*;
public dynamic class BaseMC extends MovieClip {
public function BaseMC(){
addFrameScript(0, frame1, 10, frame11, 20, frame21, 30, frame31, 40, frame41, 50, frame51, 60, frame61, 70, frame71);
}
function frame71(){
stop();
}
function frame1(){
stop();
}
function frame21(){
stop();
}
function frame31(){
stop();
}
function frame11(){
stop();
}
function frame41(){
stop();
}
function frame51(){
stop();
}
function frame61(){
stop();
}
}
}//package
Section 55
//bolaFuego_mc (bolaFuego_mc)
package {
import flash.display.*;
public dynamic class bolaFuego_mc extends MovieClip {
}
}//package
Section 56
//bombaMinaGas_mc (bombaMinaGas_mc)
package {
import flash.display.*;
public dynamic class bombaMinaGas_mc extends MovieClip {
}
}//package
Section 57
//bombaMinaHielo_mc (bombaMinaHielo_mc)
package {
import flash.display.*;
public dynamic class bombaMinaHielo_mc extends MovieClip {
}
}//package
Section 58
//Bonus (Bonus)
package {
import flash.media.*;
public dynamic class Bonus extends Sound {
}
}//package
Section 59
//BonusObtained (BonusObtained)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public dynamic class BonusObtained extends MovieClip {
public var actualTic:Number;
public var interval:Timer;
public function BonusObtained(){
addFrameScript(0, frame1);
}
function frame1(){
actualTic = 3;
interval = new Timer(1000, 0);
interval.addEventListener(TimerEvent.TIMER, tic);
interval.start();
}
public function tic(_arg1:TimerEvent):void{
this.actualTic--;
if (this.actualTic == 0){
this.interval.stop();
this.interval.removeEventListener(TimerEvent.TIMER, this.tic);
this.parent.removeChild(this);
};
}
}
}//package
Section 60
//Boss (Boss)
package {
import flash.display.*;
public dynamic class Boss extends MovieClip {
}
}//package
Section 61
//BumA (BumA)
package {
import flash.media.*;
public dynamic class BumA extends Sound {
}
}//package
Section 62
//Canvas (Canvas)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class Canvas extends MovieClip {
var mouseInLevel:Vector2D;
public var padre:UICanvas;
public var canvasScenario:CanvasScenario;
public var gameOverMC:MovieClip;
public var isRun:Boolean;
public var dificultad:int;
public var waveHud:MovieClip;
var difference:int;// = 33
public var cursor:MovieClip;
public var isWin:Boolean;
var lastDate:uint;// = 0
var newDate:Date;
public var intervalo:Timer;
private var _afterTime:int;// = 0
private var ingame:Boolean;
private var _beforeTime:int;// = 0
var mouseInScreen:Vector2D;
private var _sleepTime:int;// = 0
public var FrameRate:Number;// = 30
private var _timeDiff:int;// = 0
private var _overSleepTime:int;// = 0
public var player:Player;
private var _excess:int;// = 0
public var hudMenu:HudMenu;
public static const APPLICATION_HEIGHT:Number = 400;
public static const APPLICATION_WIDTH:Number = (550 - HUD_WIDTH);
public static const FRAME_RATE:int = 30;
public static const HUD_WIDTH:Number = 80;
public function Canvas(){
FrameRate = 30;
lastDate = 0;
difference = 33;
_beforeTime = 0;
_afterTime = 0;
_timeDiff = 0;
_sleepTime = 0;
_overSleepTime = 0;
_excess = 0;
super();
ingame = true;
isWin = false;
isRun = true;
difference = 33;
newDate = new Date();
lastDate = newDate.time;
difference = (newDate.time - lastDate);
lastDate = newDate.time;
}
public function Load(_arg1:int){
this.dificultad = _arg1;
mouseInLevel = new Vector2D();
mouseInScreen = new Vector2D();
canvasScenario = new CanvasScenario(this, APPLICATION_WIDTH, APPLICATION_HEIGHT, _arg1);
player = new Player(this, canvasScenario);
canvasScenario.setPlayer(player);
this.parent.stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseUpdate);
waveHud = new WaveHud();
this.addChild(waveHud);
waveHud.y = (400 - 32);
switch (_arg1){
case 1:
waveHud.waveBar.gotoAndStop(1);
break;
case 2:
waveHud.waveBar.gotoAndStop(2);
break;
case 3:
waveHud.waveBar.gotoAndStop(2);
break;
case 4:
waveHud.waveBar.gotoAndStop(3);
break;
};
hudMenu = new HudMenu(this, canvasScenario, player);
this.addChild(hudMenu);
trace(("Definimos Intervalo: " + difference));
difference = 33;
lastDate = newDate.time;
newDate = new Date();
difference = (newDate.time - lastDate);
lastDate = newDate.time;
intervalo = new Timer((1000 / this.FrameRate), 0);
intervalo.addEventListener(TimerEvent.TIMER, run);
intervalo.start();
player.updateEnergyCounter();
player.updateExperience(0);
isWin = false;
isRun = true;
hudMenu.gameIntro();
}
public function salidaLocal(){
intervalo.removeEventListener(TimerEvent.TIMER, run);
gameOverMC.backB.removeEventListener(MouseEvent.CLICK, backClick);
gameOverMC.tryB.removeEventListener(MouseEvent.CLICK, tryClick);
hudMenu = null;
waveHud = null;
cursor = null;
player = null;
mouseInLevel = null;
mouseInScreen = null;
padre = null;
intervalo = null;
canvasScenario = null;
gameOverMC = null;
}
public function tryClick(_arg1:MouseEvent):void{
padre.exitGame(true);
}
function mouseUpdate(_arg1:MouseEvent){
mouseInScreen.X = _arg1.stageX;
mouseInScreen.Y = _arg1.stageY;
}
function run(_arg1:TimerEvent):void{
if (ingame){
if ((((canvasScenario.currentWave >= 1)) && (!((hudMenu.inGameIntro == null))))){
this.removeChild(hudMenu.inGameIntro);
hudMenu.inGameIntro = null;
};
canvasScenario.toLevelCoords(mouseInScreen, mouseInLevel);
newDate = new Date();
difference = (newDate.time - lastDate);
lastDate = newDate.time;
if (!player.update(mouseInLevel, difference)){
gameOverMC = new GameOverClip();
gameOverMC.x = (APPLICATION_WIDTH / 2);
gameOverMC.y = (APPLICATION_HEIGHT / 2);
this.addChild(gameOverMC);
if (isWin == true){
gameOverMC.gotoAndStop(2);
padre.scoreSystem.submitScore(1, canvasScenario.player.score);
padre.achieveSystem.achControl((dificultad - 1));
};
canvasScenario.player.movieClip.stage.removeEventListener(KeyboardEvent.KEY_DOWN, canvasScenario.player.onKeyDown);
canvasScenario.player.movieClip.stage.removeEventListener(KeyboardEvent.KEY_UP, canvasScenario.player.onKeyUp);
canvasScenario.player.movieClip.stage.removeEventListener(MouseEvent.MOUSE_DOWN, canvasScenario.player.onClick);
canvasScenario.player.movieClip.stage.removeEventListener(MouseEvent.MOUSE_UP, canvasScenario.player.onUnclick);
gameOverMC.backB.addEventListener(MouseEvent.CLICK, backClick);
gameOverMC.tryB.addEventListener(MouseEvent.CLICK, tryClick);
gameOverMC.button_gameover_moregames.addEventListener(MouseEvent.CLICK, padre.onCLick1);
ingame = false;
};
canvasScenario.update(difference);
};
}
public function backClick(_arg1:MouseEvent):void{
padre.exitGame(false);
}
}
}//package
Section 63
//CanvasScenario (CanvasScenario)
package {
import flash.display.*;
public class CanvasScenario extends MovieClip {
public var numeroOleadas:int;
public var padre:Canvas;
public var listaDeBalas:ListaEnlazada;
var currentWave:Number;// = 0
public var verticalWalls:Array;
public var horizontalWalls:Array;
private var spawnPoints:Array;
var conqAny:Boolean;// = false
public var mapDimensions:Vector2D;
public var parametrosOlas:Array;
private var spawnPointsRadio:int;// = 1
public var timeBetween:Number;
public var baseEsperada:Array;
public var halfScreenHeight:Number;
public var halfScreenWidth:Number;
public var posInitPX:Number;// = 0
public var posInitPY:Number;// = 0
private var mapLimits:Vector2D;
public var collisionMap:Array;
var timeToNextWave:Number;// = 5000
public var player:Player;
public var objectBeingFollowed:MovieClip;
public var listaDeEnemigosVisibles:ListaEnlazada;
public var listaDeMinas:ListaEnlazada;
private var spawnPointsEsperado:Array;
public var healthEsperada:Array;
private var basePosition:Vector2D;
var enemigosRemaining:int;// = 0
public var dificultad:int;
public var map:MovieClip;
public var listaDeDinamitas:ListaEnlazada;
var proximoEnemigoMs:int;// = 0
public var listaDeEnemigos:ListaEnlazada;
public function CanvasScenario(_arg1:Canvas, _arg2:Number, _arg3:Number, _arg4:int){
verticalWalls = new Array();
horizontalWalls = new Array();
spawnPointsRadio = 1;
currentWave = 0;
timeToNextWave = Parametros.FirstWave;
enemigosRemaining = 0;
proximoEnemigoMs = 0;
posInitPX = 0;
posInitPY = 0;
conqAny = false;
super();
padre = _arg1;
this.dificultad = _arg4;
halfScreenWidth = (_arg2 / 2);
halfScreenHeight = (_arg3 / 2);
switch (_arg4){
case 1:
map = new GatoMapStill();
_arg1.addChild(map);
collisionMap = [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1], [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1], [1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1], [1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1], [1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]];
spawnPointsEsperado = [[8, 4], [3, 10], [15, 14]];
setSpawnPoints();
baseEsperada = [[3, 4], [16, 3], [3, 13]];
healthEsperada = [[9, 9], [-5, -5]];
Parametros.MaximaCantidadDeBases = 3;
parametrosOlas = [[0], [1000, [5, 9, 0, 1, 0.1], [0, 15, 0, 1, 0.1], [0, 21, 0, 1, 0.2], [0, 15, 0, 1.5, 0.3], [0, 30, 0, 1.5, 0.2], [0, 80, 0, 1.3, 0.25], [0, 30, 0, 2, 0.2], [0, 160, 0, 1.6, 0.25]], [1000, [8], [0], [0], [0], [0], [0], [0], [0]], [1000, [0], [5], [0], [0], [0], [0], [0], [0]], [1000, [10], [0], [0], [0], [0], [0], [0], [0]], [1000, [5], [0], [0], [0], [0], [1], [0], [0]], [1000, [0], [5], [0], [0], [0], [0], [0], [0]], [1000, [0], [8], [0], [0], [0], [0], [0], [0]], [1000, [5], [0], [5], [0], [0], [0], [0], [0]], [1000, [0], [10], [0], [0], [0], [0], [0], [0]], [1000, [0], [5], [0], [0], [0], [1], [0], [0]], [1000, [0], [0], [5], [0], [0], [0], [0], [0]], [1000, [0], [0], [8], [0], [0], [0], [0], [0]], [1000, [0], [5], [0], [5], [0], [0], [0], [0]], [1000, [0], [0], [10], [0], [0], [0], [0], [0]], [1000, [0], [0], [5], [0], [0], [2], [0], [0]], [1000, [0], [0], [0], [5], [0], [0], [0], [0]], [1000, [0], [0], [0], [8], [0], [0], [0], [0]], [1000, [0], [0], [5], [0], [5], [0], [0], [0]], [1000, [0], [0], [0], [10], [0], [0], [0], [0]], [1000, [0], [0], [0], [5], [0], [2], [0], [0]], [1000, [0], [0], [0], [0], [5], [0], [0], [0]], [1000, [0], [0], [0], [0], [8], [0], [0], [0]], [1000, [0], [0], [0], [5], [0], [0], [5], [0]], [1000, [0], [0], [0], [0], [10], [0], [0], [0]], [1000, [0], [0], [0], [0], [5], [3], [0], [0]], [1000, [0], [10], [0], [5], [0], [0], [0], [0]], [1000, [0], [0], [10], [0], [5], [0], [0], [0]], [1000, [0], [0], [0], [10], [0], [0], [5], [0]], [1000, [0], [0], [5], [0], [0], [0], [10], [0]], [2000, [0], [0], [0], [0], [0], [6], [0], [0]]];
timeBetween = 40000;
numeroOleadas = 30;
posInitPX = 300;
posInitPY = 300;
break;
case 2:
map = new MapaNormal();
_arg1.addChild(map);
collisionMap = [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1], [1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1], [1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]];
spawnPointsEsperado = [[2, 9], [16, 3], [13, 13]];
setSpawnPoints();
baseEsperada = [[2, 3], [2, 13], [14, 9], [19, 3], [17, 14]];
healthEsperada = [[9, 3], [6, 11]];
Parametros.MaximaCantidadDeBases = 5;
parametrosOlas = [[0], [750, [5, 9, 0, 1.1, 0.1], [0, 15, 0, 1.1, 0.1], [0, 21, 0, 1.1, 0.2], [0, 15, 0, 1.6, 0.3], [0, 30, 0, 1.6, 0.2], [0, 80, 0, 1.4, 0.24], [0, 30, 0, 2.1, 0.2], [0, 160, 0, 1.7, 0.25]], [750, [8], [0], [0], [0], [0], [0], [0], [0]], [750, [0], [5], [0], [0], [0], [0], [0], [0]], [750, [10], [0], [0], [0], [0], [0], [0], [0]], [750, [5], [0], [0], [0], [0], [1], [0], [0]], [750, [0], [5], [0], [0], [0], [0], [0], [0]], [750, [0], [8], [0], [0], [0], [0], [0], [0]], [750, [5], [0], [5], [0], [0], [0], [0], [0]], [750, [0], [10], [0], [0], [0], [0], [0], [0]], [750, [0], [5], [0], [0], [0], [1], [0], [0]], [750, [0], [0], [5], [0], [0], [0], [0], [0]], [750, [0], [0], [8], [0], [0], [0], [0], [0]], [750, [0], [5], [0], [5], [0], [0], [0], [0]], [750, [0], [0], [10], [0], [0], [0], [0], [0]], [750, [0], [0], [5], [0], [0], [2], [0], [0]], [750, [0], [0], [0], [5], [0], [0], [0], [0]], [750, [0], [0], [0], [8], [0], [0], [0], [0]], [750, [0], [0], [5], [0], [5], [0], [0], [0]], [750, [0], [0], [0], [10], [0], [0], [0], [0]], [750, [0], [0], [0], [5], [0], [2], [0], [0]], [750, [0], [0], [0], [0], [5], [0], [0], [0]], [750, [0], [0], [0], [0], [8], [0], [0], [0]], [750, [0], [0], [0], [5], [0], [0], [5], [0]], [750, [0], [0], [0], [0], [10], [0], [0], [0]], [750, [0], [0], [0], [0], [5], [3], [0], [0]], [750, [0], [10], [0], [5], [0], [0], [0], [0]], [750, [0], [0], [10], [0], [5], [0], [0], [0]], [750, [0], [0], [0], [10], [0], [0], [5], [0]], [750, [0], [0], [5], [0], [0], [0], [10], [0]], [1500, [0], [0], [0], [0], [0], [6], [0], [0]], [750, [0], [0], [0], [10], [0], [0], [5], [0]], [750, [0], [0], [0], [0], [5], [0], [10], [0]], [750, [0], [0], [0], [0], [8], [0], [10], [0]], [750, [0], [0], [0], [0], [10], [0], [8], [0]], [750, [0], [0], [0], [0], [0], [8], [0], [0]], [750, [40], [0], [0], [0], [0], [0], [0], [0]], [750, [0], [40], [0], [0], [0], [0], [0], [0]], [750, [0], [0], [0], [0], [20], [0], [0], [0]], [750, [0], [0], [0], [0], [0], [0], [20], [0]], [750, [0], [0], [0], [0], [0], [0], [0], [4]]];
timeBetween = 35000;
numeroOleadas = 40;
posInitPX = 288;
posInitPY = 224;
break;
case 3:
map = new MapaHard();
_arg1.addChild(map);
collisionMap = [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1], [1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1], [1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1], [1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1], [1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1], [1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]];
spawnPointsEsperado = [[7, 7], [14, 9]];
setSpawnPoints();
baseEsperada = [[2, 3], [12, 2], [19, 3], [2, 8], [2, 13], [10, 14], [19, 14]];
healthEsperada = [[11, 5], [8, 11], [19, 9]];
Parametros.MaximaCantidadDeBases = 7;
parametrosOlas = [[0], [500, [8, 9, 0, 1.4, 0.1], [0, 15, 0, 1.4, 0.1], [0, 21, 0, 1.4, 0.2], [0, 15, 0, 1.9, 0.3], [0, 30, 0, 1.9, 0.2], [0, 80, 0, 1.5, 0.25], [0, 30, 0, 2.43, 0.2], [0, 160, 0, 1.8, 0.25]], [500, [8], [0], [0], [0], [0], [0], [0], [0]], [500, [0], [5], [0], [0], [0], [0], [0], [0]], [500, [10], [0], [0], [0], [0], [0], [0], [0]], [500, [5], [0], [0], [0], [0], [1], [0], [0]], [500, [0], [5], [0], [0], [0], [0], [0], [0]], [500, [0], [8], [0], [0], [0], [0], [0], [0]], [500, [5], [0], [5], [0], [0], [0], [0], [0]], [500, [0], [10], [0], [0], [0], [0], [0], [0]], [500, [0], [5], [0], [0], [0], [1], [0], [0]], [500, [0], [0], [5], [0], [0], [0], [0], [0]], [500, [0], [0], [8], [0], [0], [0], [0], [0]], [500, [0], [5], [0], [5], [0], [0], [0], [0]], [500, [0], [0], [10], [0], [0], [0], [0], [0]], [500, [0], [0], [5], [0], [0], [2], [0], [0]], [500, [0], [0], [0], [5], [0], [0], [0], [0]], [500, [0], [0], [0], [8], [0], [0], [0], [0]], [500, [0], [0], [5], [0], [5], [0], [0], [0]], [500, [0], [0], [0], [10], [0], [0], [0], [0]], [500, [0], [0], [0], [5], [0], [2], [0], [0]], [500, [0], [0], [0], [0], [5], [0], [0], [0]], [500, [0], [0], [0], [0], [8], [0], [0], [0]], [500, [0], [0], [0], [5], [0], [0], [5], [0]], [500, [0], [0], [0], [0], [10], [0], [0], [0]], [500, [0], [0], [0], [0], [5], [3], [0], [0]], [500, [0], [10], [0], [5], [0], [0], [0], [0]], [500, [0], [0], [10], [0], [5], [0], [0], [0]], [500, [0], [0], [0], [10], [0], [0], [5], [0]], [500, [0], [0], [5], [0], [0], [0], [10], [0]], [1000, [0], [0], [0], [0], [0], [0], [0], [3]], [500, [0], [0], [0], [10], [0], [0], [5], [0]], [500, [0], [0], [0], [0], [5], [0], [10], [0]], [500, [0], [0], [0], [0], [8], [0], [10], [0]], [500, [0], [0], [0], [0], [10], [0], [8], [0]], [500, [0], [0], [0], [0], [0], [4], [0], [2]], [500, [40], [0], [0], [0], [0], [0], [0], [0]], [500, [0], [40], [0], [0], [0], [0], [0], [0]], [500, [0], [0], [0], [0], [20], [0], [0], [0]], [500, [0], [0], [0], [0], [0], [0], [20], [0]], [500, [0], [0], [0], [0], [0], [2], [0], [4]]];
timeBetween = 30000;
numeroOleadas = 40;
posInitPX = 352;
posInitPY = 224;
break;
case 4:
map = new MapaChallengeMC();
_arg1.addChild(map);
collisionMap = [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1], [1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1], [1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1], [1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1], [1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1], [1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1], [1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]];
spawnPointsEsperado = [[1, 2], [1, 10], [13, 9]];
setSpawnPoints();
baseEsperada = [[4, 6], [6, 5], [9, 5], [9, 7], [6, 7], [9, 14]];
healthEsperada = [[2, 15], [12, 2]];
Parametros.MaximaCantidadDeBases = 6;
parametrosOlas = [[0], [500, [8, 9, 0, 1.5, 0.1], [0, 15, 0, 1.5, 0.1], [0, 21, 0, 1.5, 0.2], [0, 15, 0, 2, 0.3], [0, 30, 0, 2, 0.2], [0, 80, 0, 1.6, 0.25], [0, 30, 0, 2.6, 0.2], [0, 160, 0, 2, 0.25]], [500, [8], [0], [0], [0], [0], [0], [0], [0]], [500, [0], [5], [0], [0], [0], [0], [0], [0]], [500, [10], [0], [0], [0], [0], [0], [0], [0]], [500, [5], [0], [0], [0], [0], [1], [0], [0]], [500, [0], [5], [0], [0], [0], [0], [0], [0]], [500, [0], [8], [0], [0], [0], [0], [0], [0]], [500, [5], [0], [5], [0], [0], [0], [0], [0]], [500, [0], [10], [0], [0], [0], [0], [0], [0]], [500, [0], [5], [0], [0], [0], [1], [0], [0]], [500, [0], [0], [5], [0], [0], [0], [0], [0]], [500, [0], [0], [8], [0], [0], [0], [0], [0]], [500, [0], [5], [0], [5], [0], [0], [0], [0]], [500, [0], [0], [10], [0], [0], [0], [0], [0]], [500, [0], [0], [5], [0], [0], [2], [0], [0]], [500, [0], [0], [0], [5], [0], [0], [0], [0]], [500, [0], [0], [0], [8], [0], [0], [0], [0]], [500, [0], [0], [5], [0], [5], [0], [0], [0]], [500, [0], [0], [0], [10], [0], [0], [0], [0]], [500, [0], [0], [0], [5], [0], [2], [0], [0]], [500, [0], [0], [0], [0], [5], [0], [0], [0]], [500, [0], [0], [0], [0], [8], [0], [0], [0]], [500, [0], [0], [0], [5], [0], [0], [5], [0]], [500, [0], [0], [0], [0], [10], [0], [0], [0]], [500, [0], [0], [0], [0], [5], [3], [0], [0]], [500, [0], [10], [0], [5], [0], [0], [0], [0]], [500, [0], [0], [10], [0], [5], [0], [0], [0]], [500, [0], [0], [0], [10], [0], [0], [5], [0]], [500, [0], [0], [5], [0], [0], [0], [10], [0]], [1000, [0], [0], [0], [0], [0], [0], [0], [3]], [500, [0], [0], [0], [10], [0], [0], [5], [0]], [500, [0], [0], [0], [0], [5], [0], [10], [0]], [500, [0], [0], [0], [0], [8], [0], [10], [0]], [500, [0], [0], [0], [0], [10], [0], [8], [0]], [500, [0], [0], [0], [0], [0], [4], [0], [2]], [500, [40], [0], [0], [0], [0], [0], [0], [0]], [500, [0], [40], [0], [0], [0], [0], [0], [0]], [500, [0], [0], [0], [0], [20], [0], [0], [0]], [500, [0], [0], [0], [0], [0], [0], [20], [0]], [500, [0], [0], [0], [0], [0], [2], [0], [4]]];
timeBetween = 25000;
numeroOleadas = 40;
posInitPX = 100;
posInitPY = 100;
break;
};
mapLimits = new Vector2D();
mapLimits.X = -((map.width - _arg2));
mapLimits.Y = -((map.height - _arg3));
mapDimensions = new Vector2D();
mapDimensions.X = map.width;
mapDimensions.Y = map.height;
listaDeEnemigos = new ListaEnlazada();
listaDeEnemigosVisibles = new ListaEnlazada();
listaDeMinas = new ListaEnlazada();
listaDeDinamitas = new ListaEnlazada();
listaDeBalas = new ListaEnlazada();
}
public function torretaDestruida(_arg1:int){
var _local2:Disparable;
_local2 = Disparable(listaDeEnemigos.primerObjeto);
while (_local2 != null) {
_local2.torretaDestruida(_arg1);
_local2 = Disparable(_local2.sgte);
};
}
private function followObject(){
var _local1:Number;
var _local2:Number;
_local1 = (objectBeingFollowed.x - halfScreenWidth);
_local2 = (objectBeingFollowed.y - halfScreenHeight);
map.x = -(_local1);
map.y = -(_local2);
if (map.x < mapLimits.X){
map.x = mapLimits.X;
};
if (map.x > 0){
map.x = 0;
};
if (map.y < mapLimits.Y){
map.y = mapLimits.Y;
};
if (map.y > 0){
map.y = 0;
};
}
public function spawnNewEnemy(){
var _local1:Array;
var _local2:int;
var _local3:int;
var _local4:Enemigo;
_local1 = new Array();
_local2 = 1;
while (_local2 < parametrosOlas[currentWave].length) {
if (parametrosOlas[currentWave][_local2][0] > 0){
_local1.push(_local2.valueOf());
};
_local2++;
};
_local3 = Math.floor((Math.random() * _local1.length));
var _local5 = parametrosOlas[currentWave][_local1[_local3]];
var _local6:int;
var _local7 = (_local5[_local6] - 1);
_local5[_local6] = _local7;
_local4 = new Enemigo(map, ((spawnPoints[(enemigosRemaining % spawnPoints.length)].X - spawnPointsRadio) + (2 * (Math.random() * spawnPointsRadio))), ((spawnPoints[(enemigosRemaining % spawnPoints.length)].Y - spawnPointsRadio) + (2 * (Math.random() * spawnPointsRadio))), mapDimensions, _local1[_local3], currentWave, player, padre);
addEnemy(_local4);
}
public function tilePasable(_arg1:int, _arg2:int):Boolean{
if ((((((((_arg1 >= 0)) && ((_arg1 <= collisionMap.length)))) && ((_arg2 >= 0)))) && ((_arg2 < collisionMap[0].length)))){
if (collisionMap[_arg1][_arg2] != 1){
return (true);
};
};
return (false);
}
private function setSpawnPoints(){
var _local1:Vector2D;
var _local2:int;
var _local3:MovieClip;
spawnPoints = new Array();
_local2 = 0;
while (_local2 < spawnPointsEsperado.length) {
_local1 = new Vector2D();
_local1.X = (spawnPointsEsperado[_local2][0] * Parametros.TamanyoTile);
_local1.Y = (spawnPointsEsperado[_local2][1] * Parametros.TamanyoTile);
_local3 = new DeathMatk();
_local3.x = _local1.X;
_local3.y = _local1.Y;
map.addChild(_local3);
switch (spawnPointsEsperado[_local2][0]){
case 0:
_local1.X = (_local1.X - spawnPointsRadio);
break;
case (map.width / Parametros.TamanyoTile):
_local1.X = (_local1.X + spawnPointsRadio);
break;
};
switch (spawnPointsEsperado[_local2][1]){
case 0:
_local1.Y = (_local1.Y - spawnPointsRadio);
break;
case (map.height / Parametros.TamanyoTile):
_local1.Y = (_local1.Y + spawnPointsRadio);
break;
};
spawnPoints.push(_local1);
_local2++;
};
}
public function addMina(_arg1:Number, _arg2:Number, _arg3:int, _arg4:MovieClip){
var _local5:int;
var _local6:int;
_arg1 = (_arg1 - map.x);
_arg2 = (_arg2 - map.y);
_local5 = Math.floor((_arg2 / Parametros.TamanyoTile));
_local6 = Math.floor((_arg1 / Parametros.TamanyoTile));
if (collisionMap[_local5][_local6] == 0){
collisionMap[_local5][_local6] = _arg3;
listaDeMinas.agregarObjeto(new Mina(_local5, _local6, map, this, _arg3, _arg4));
};
}
public function newFireBullet(_arg1:Vector2D, _arg2:Vector2D, _arg3:Vector2D, _arg4:Number, _arg5:int, _arg6:Boolean):Boolean{
var _local7:Boolean;
var _local8:Disparable;
var _local9:DisparableVisible;
var _local10:Vector2D;
var _local11:int;
var _local12:Number;
var _local13:Number;
var _local14:int;
var _local15:int;
_local8 = null;
_local9 = DisparableVisible(listaDeEnemigosVisibles.primerObjeto);
while (_local9 != null) {
_local7 = false;
if (!_local9.disparable.muerto){
if ((((_arg4 >= 45)) && ((_arg4 <= 135)))){
if (_local9.disparable.posicion.X > _arg1.X){
_local7 = true;
};
} else {
if ((((_arg4 >= -45)) && ((_arg4 <= 45)))){
if (_local9.disparable.posicion.Y < _arg1.Y){
_local7 = true;
};
} else {
if ((((_arg4 >= -135)) && ((_arg4 <= -45)))){
if (_local9.disparable.posicion.X < _arg1.X){
_local7 = true;
};
} else {
if (_local9.disparable.posicion.Y > _arg1.Y){
_local7 = true;
};
};
};
};
};
if (_local7){
_local10 = _local9.disparable.posicion;
if ((((((((_arg3.X > (_local10.X - 16))) && ((_arg3.X < (_local10.X + 16))))) && ((_arg3.Y > (_local10.Y - 20))))) && ((_arg3.Y < (_local10.Y + 20))))){
_local8 = _local9.disparable;
break;
};
};
_local9 = DisparableVisible(_local9.sgte);
};
if (_local8 != null){
if (_arg6){
_local11 = -1;
_local12 = Number.MAX_VALUE;
_arg2.add(_arg1);
_local14 = 0;
while (_local14 < verticalWalls.length) {
if (Utils.intersect(_arg1.X, _arg1.Y, _arg2.X, _arg2.Y, verticalWalls[_local14][1], verticalWalls[_local14][0], verticalWalls[_local14][1], verticalWalls[_local14][2])){
_local13 = Math.abs((_arg1.X - verticalWalls[_local14][1]));
if (_local13 < _local12){
_local12 = _local13;
_local11 = _local14;
};
};
_local14++;
};
if (Math.abs((_local8.posicion.X - _arg1.X)) > _local12){
_local8 = null;
} else {
_local15 = -1;
_local12 = Number.MAX_VALUE;
_local14 = 0;
while (_local14 < horizontalWalls.length) {
if (Utils.intersect(_arg1.X, _arg1.Y, _arg2.X, _arg2.Y, horizontalWalls[_local14][0], horizontalWalls[_local14][1], horizontalWalls[_local14][2], horizontalWalls[_local14][1])){
_local13 = Math.abs((_arg1.Y - horizontalWalls[_local14][1]));
if (_local13 < _local12){
_local12 = _local13;
_local15 = _local14;
};
};
_local14++;
};
if (Math.abs((_local8.posicion.Y - _arg1.Y)) > _local12){
_local8 = null;
};
};
};
if (_local8 != null){
return (true);
};
return (false);
//unresolved jump
};
return (false);
}
private function danyarEnemigosEnRadio(_arg1:Vector2D, _arg2:Number, _arg3:Number, _arg4:int){
var _local5:Disparable;
_local5 = Disparable(listaDeEnemigos.primerObjeto);
while (_local5 != null) {
if (_arg1.squaredDistanceTo(_local5.posicion) < (_arg2 * _arg2)){
_local5.sufrirDanyo(_arg3, _arg4, null);
};
_local5 = Disparable(_local5.sgte);
};
}
public function activateTrap(_arg1:int, _arg2:int){
var _local3:Mina;
var _local4:MovieClip;
if (collisionMap[_arg1][_arg2] != 0){
_local3 = Mina(listaDeMinas.primerObjeto);
while (_local3 != null) {
if ((((_local3.i == _arg1)) && ((_local3.j == _arg2)))){
listaDeMinas.removerObjeto(_local3);
map.removeChild(_local3.movieClip);
padre.padre.soundSystem.exploMina.play(0, 1, padre.padre.soundSystem.volPrincipal);
switch (collisionMap[_arg1][_arg2]){
case HudMenu.MINE_TRAP:
danyarEnemigosEnRadio(_local3.posicion, Parametros.TamanyoTile, Parametros.DanyoMina, HudMenu.MINE_TRAP);
_local4 = new explocion_mc();
break;
case HudMenu.TOXIC_MINE_TRAP:
danyarEnemigosEnRadio(_local3.posicion, Parametros.TamanyoTile, 0, HudMenu.TOXIC_MINE_TRAP);
_local4 = new ExploGas();
break;
case HudMenu.FREEZE_MINE_TRAP:
danyarEnemigosEnRadio(_local3.posicion, Parametros.TamanyoTile, 0, HudMenu.FREEZE_MINE_TRAP);
_local4 = new explocion_mc();
break;
};
_local4.x = _local3.movieClip.x;
_local4.y = _local3.movieClip.y;
map.addChild(_local4);
_local4.play();
collisionMap[_local3.i][_local3.j] = 0;
break;
};
_local3 = Mina(_local3.sgte);
};
};
}
public function update(_arg1:int){
var _local2:Disparable;
var _local3:Dinamita;
var _local4:int;
var _local5:MovieClip;
if (currentWave < (parametrosOlas.length - 1)){
timeToNextWave = (timeToNextWave - _arg1);
if (timeToNextWave < 0){
currentWave++;
timeToNextWave = timeBetween;
spawnWave(currentWave);
};
updateTimeCounter();
if (listaDeEnemigos.primerObjeto != null){
padre.hudMenu._nextWaveButton.visible = false;
padre.hudMenu._nextWaveButton.alpha = 0;
padre.hudMenu._nextWaveButton.enabled = false;
} else {
padre.hudMenu._nextWaveButton.visible = true;
padre.hudMenu._nextWaveButton.alpha = 1;
padre.hudMenu._nextWaveButton.enabled = true;
};
} else {
padre.hudMenu._nextWaveButton.visible = false;
padre.hudMenu._nextWaveButton.alpha = 0;
padre.hudMenu._nextWaveButton.enabled = false;
};
if (enemigosRemaining > 0){
proximoEnemigoMs = (proximoEnemigoMs - _arg1);
while (proximoEnemigoMs < 0) {
proximoEnemigoMs = (proximoEnemigoMs + parametrosOlas[currentWave][0]);
enemigosRemaining--;
spawnNewEnemy();
};
};
followObject();
_local2 = Disparable(listaDeEnemigos.primerObjeto);
while (_local2 != null) {
if (((!(_local2.update())) || (!(_local2.movieClip.visible)))){
if (_local2.movieClip.parent == map){
map.removeChild(_local2.movieClip);
};
listaDeEnemigos.removerObjeto(_local2);
if (_local2.linkVisible.enLista){
listaDeEnemigosVisibles.removerObjeto(_local2.linkVisible);
};
} else {
if ((((((((_local2.posicion.X > (player.posicion.X - Parametros.ParametrosPlayerPorNivel[1][5].valueOf()))) && ((_local2.posicion.X < (player.posicion.X + Parametros.ParametrosPlayerPorNivel[1][5].valueOf()))))) && ((_local2.posicion.Y > (player.posicion.Y - Parametros.ParametrosPlayerPorNivel[1][5].valueOf()))))) && ((_local2.posicion.Y < (player.posicion.Y + Parametros.ParametrosPlayerPorNivel[1][5].valueOf()))))){
if (!_local2.linkVisible.enLista){
listaDeEnemigosVisibles.agregarObjeto(_local2.linkVisible);
_local2.linkVisible.enLista = true;
};
} else {
if (_local2.linkVisible.enLista){
listaDeEnemigosVisibles.removerObjeto(_local2.linkVisible);
_local2.linkVisible.enLista = false;
};
};
};
_local2 = Disparable(_local2.sgte);
};
_local3 = Dinamita(listaDeDinamitas.primerObjeto);
while (_local3 != null) {
if (_local3.explota(_arg1)){
listaDeDinamitas.removerObjeto(_local3);
collisionMap[_local3.i][_local3.j] = 0;
map.removeChild(_local3.movieClip);
danyarEnemigosEnRadio(_local3.posicion, Parametros.TamanyoTile, Parametros.DanyoDinamita, 0);
_local5 = new explocion_mc();
_local5.x = ((_local3.j * Parametros.TamanyoTile) + Parametros.TamanyoTileMedios);
_local5.y = ((_local3.i * Parametros.TamanyoTile) + Parametros.TamanyoTileMedios);
map.addChild(_local5);
_local5.scaleX = (_local5.scaleX * 1.5);
_local5.scaleY = (_local5.scaleY * 1.5);
_local5.play();
padre.padre.soundSystem.exploDinamita.play(0, 1, padre.padre.soundSystem.volPrincipal);
};
_local3 = Dinamita(_local3.sgte);
};
player.domination = 0;
conqAny = false;
_local4 = 0;
while (_local4 < baseEsperada.length) {
if (((((((baseEsperada[_local4][0] * Parametros.TamanyoTile) <= player.posicion.X)) && ((player.posicion.X < ((baseEsperada[_local4][0] + 1) * Parametros.TamanyoTile))))) && (((((baseEsperada[_local4][1] * Parametros.TamanyoTile) <= (player.posicion.Y + 10))) && (((player.posicion.Y + 10) < ((baseEsperada[_local4][1] + 1) * Parametros.TamanyoTile))))))){
if (player.bases[_local4].isConquered == false){
player.bases[_local4].isConquering = true;
conqAny = true;
player.bases[_local4].domMC.gotoAndStop(2);
};
} else {
player.bases[_local4].isConquering = false;
};
if ((((player.bases[_local4].isConquered == false)) && ((player.bases[_local4].isConquering == true)))){
player.bases[_local4].domMC.gotoAndStop(2);
} else {
if ((((player.bases[_local4].isConquered == false)) && ((player.bases[_local4].isConquering == false)))){
player.bases[_local4].domMC.gotoAndStop(1);
};
};
if (player.bases[_local4].isConquered == true){
player.domination++;
};
_local4++;
};
padre.hudMenu.conqueringMessage(conqAny);
padre.hudMenu._actualDom.text = player.domination.toString();
if ((((currentWave >= (parametrosOlas.length - 1))) && ((listaDeEnemigos.primerObjeto == null)))){
padre.isWin = true;
player.thisWin = true;
trace("GANO 1");
};
}
public function fireBullet(_arg1:Vector2D, _arg2:Vector2D, _arg3:Number, _arg4:int, _arg5:Boolean){
var _local6:Number;
var _local7:Number;
var _local8:Boolean;
var _local9:Disparable;
var _local10:Number;
var _local11:DisparableVisible;
var _local12:Vector2D;
var _local13:Number;
var _local14:int;
var _local15:Number;
var _local16:Number;
var _local17:int;
var _local18:int;
_local6 = ((_arg2.X * _arg2.X) + (_arg2.Y * _arg2.Y));
_local7 = ((_arg1.X * _arg1.X) + (_arg1.Y * _arg1.Y));
_local9 = null;
_local10 = 99999;
_local11 = DisparableVisible(listaDeEnemigosVisibles.primerObjeto);
while (_local11 != null) {
_local8 = false;
if (!_local11.disparable.muerto){
if ((((_arg3 >= 45)) && ((_arg3 <= 135)))){
if (_local11.disparable.posicion.X > _arg1.X){
_local8 = true;
};
} else {
if ((((_arg3 >= -45)) && ((_arg3 <= 45)))){
if (_local11.disparable.posicion.Y < _arg1.Y){
_local8 = true;
};
} else {
if ((((_arg3 >= -135)) && ((_arg3 <= -45)))){
if (_local11.disparable.posicion.X < _arg1.X){
_local8 = true;
};
} else {
if (_local11.disparable.posicion.Y > _arg1.Y){
_local8 = true;
};
};
};
};
};
if (_local8){
if (Utils.RayoCircunferencia(_arg2, _local6, _local7, _arg1, _local11.disparable.posicion, _local11.disparable.radioSquared, null)){
_local12 = _local11.disparable.posicion;
_local13 = (((_arg1.X - _local12.X) * (_arg1.X - _local12.X)) + ((_arg1.Y - _local12.Y) * (_arg1.Y - _local12.Y)));
if (_local13 < _local10){
_local10 = _local13;
_local9 = _local11.disparable;
};
};
};
_local11 = DisparableVisible(_local11.sgte);
};
if (_local9 != null){
if (_arg5){
_local14 = -1;
_local15 = Number.MAX_VALUE;
_arg2.add(_arg1);
_local17 = 0;
while (_local17 < verticalWalls.length) {
if (Utils.intersect(_arg1.X, _arg1.Y, _arg2.X, _arg2.Y, verticalWalls[_local17][1], verticalWalls[_local17][0], verticalWalls[_local17][1], verticalWalls[_local17][2])){
_local16 = Math.abs((_arg1.X - verticalWalls[_local17][1]));
if (_local16 < _local15){
_local15 = _local16;
_local14 = _local17;
};
};
_local17++;
};
if (Math.abs((_local9.posicion.X - _arg1.X)) > _local15){
_local9 = null;
} else {
_local18 = -1;
_local15 = Number.MAX_VALUE;
_local17 = 0;
while (_local17 < horizontalWalls.length) {
if (Utils.intersect(_arg1.X, _arg1.Y, _arg2.X, _arg2.Y, horizontalWalls[_local17][0], horizontalWalls[_local17][1], horizontalWalls[_local17][2], horizontalWalls[_local17][1])){
_local16 = Math.abs((_arg1.Y - horizontalWalls[_local17][1]));
if (_local16 < _local15){
_local15 = _local16;
_local18 = _local17;
};
};
_local17++;
};
if (Math.abs((_local9.posicion.Y - _arg1.Y)) > _local15){
_local9 = null;
};
};
};
if (_local9 != null){
_local9.sufrirDanyo(_arg4, 0, null);
};
};
}
public function addTurret(_arg1:Number, _arg2:Number){
_arg1 = (_arg1 - map.x);
_arg2 = (_arg2 - map.y);
_arg1 = (_arg1 / Parametros.TamanyoTile);
_arg2 = (_arg2 / Parametros.TamanyoTile);
player.addTurret(_arg1, _arg2);
}
function toLevelTileCoordX(_arg1:Number):Number{
return ((((Math.floor(((_arg1 - map.x) / Parametros.TamanyoTile)) + 0.5) * Parametros.TamanyoTile) + map.x));
}
public function getCloserEnemy(_arg1:Vector2D, _arg2:Number):Enemigo{
var _local3:ObjetoListaEnlazada;
var _local4:Enemigo;
_local3 = listaDeEnemigos.primerObjeto;
while (_local3 != null) {
if ((_local3 is Enemigo)){
_local4 = Enemigo(_local3);
if ((((_local4.posicion.X - _arg1.X) * (_local4.posicion.X - _arg1.X)) + ((_local4.posicion.Y - _arg1.Y) * (_local4.posicion.Y - _arg1.Y))) < _arg2){
return (_local4);
};
};
_local3 = _local3.sgte;
};
return (null);
}
public function spawnWave(_arg1:Number){
var _local2:int;
_local2 = 1;
while (_local2 < parametrosOlas[currentWave].length) {
enemigosRemaining = (enemigosRemaining + parametrosOlas[_arg1][_local2][0]);
_local2++;
};
proximoEnemigoMs = parametrosOlas[_arg1][0];
spawnNewEnemy();
enemigosRemaining--;
}
public function newAddBullet(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Boolean){
_arg1 = (_arg1 - map.x);
_arg2 = (_arg2 - map.y);
listaDeBalas.agregarObjeto(new Bala(this, _arg1, _arg2, map, _arg3, _arg4, _arg5, _arg6));
}
function toLevelCoords(_arg1:Vector2D, _arg2:Vector2D){
_arg2.X = (_arg1.X - map.x);
_arg2.Y = (_arg1.Y - map.y);
}
function toLevelTileCoordY(_arg1:Number):Number{
return ((((Math.floor(((_arg1 - map.y) / Parametros.TamanyoTile)) + 0.5) * Parametros.TamanyoTile) + map.y));
}
public function addTrap(_arg1:Trap){
if (player.money >= Parametros.CostoBarril){
_arg1.posicion.X = (_arg1.posicion.X - map.x);
_arg1.posicion.Y = (_arg1.posicion.Y - map.y);
_arg1.movieClip.x = _arg1.posicion.X;
_arg1.movieClip.y = _arg1.posicion.Y;
_arg1.listaDeEnemigos = listaDeEnemigos;
map.addChild(_arg1.movieClip);
listaDeEnemigos.agregarObjeto(_arg1);
player.money = (player.money - Parametros.CostoBarril);
player.updateMoneyCounter();
};
}
public function addEnemy(_arg1:Enemigo){
listaDeEnemigos.agregarObjeto(_arg1);
}
public function avisarNuevaTorreta(){
var _local1:Disparable;
_local1 = Disparable(listaDeEnemigos.primerObjeto);
while (_local1 != null) {
_local1.encontrarDestino();
_local1 = Disparable(_local1.sgte);
};
}
public function addDinamita(_arg1:Number, _arg2:Number){
var _local3:int;
var _local4:int;
_arg1 = (_arg1 - map.x);
_arg2 = (_arg2 - map.y);
_local3 = Math.floor((_arg2 / Parametros.TamanyoTile));
_local4 = Math.floor((_arg1 / Parametros.TamanyoTile));
if (collisionMap[_local3][_local4] == 0){
collisionMap[_local3][_local4] = HudMenu.DYNAMITE_TRAP;
listaDeDinamitas.agregarObjeto(new Dinamita(_local3, _local4, map, this));
};
}
public function setPlayer(_arg1:Player){
this.player = _arg1;
AStar.buildData(collisionMap, _arg1);
}
public function updateTimeCounter(){
if (currentWave < (parametrosOlas.length - 1)){
padre.waveHud.waveBar.x = ((1570 - ((currentWave - 1) * 80)) - (((timeBetween - timeToNextWave) / timeBetween) * 80));
};
}
}
}//package
Section 64
//ChallengeMap (ChallengeMap)
package {
import flash.display.*;
public dynamic class ChallengeMap extends MovieClip {
}
}//package
Section 65
//clickAnalogico (clickAnalogico)
package {
import flash.media.*;
public dynamic class clickAnalogico extends Sound {
}
}//package
Section 66
//clickBurbuja (clickBurbuja)
package {
import flash.media.*;
public dynamic class clickBurbuja extends Sound {
}
}//package
Section 67
//Conejo (Conejo)
package {
import flash.display.*;
public dynamic class Conejo extends MovieClip {
public var particula2:MovieClip;
public var particula3:MovieClip;
public var particula1:MovieClip;
public var actionMessage:MovieClip;
public function Conejo(){
addFrameScript(0, frame1, 1, frame2, 10, frame11, 11, frame12, 20, frame21, 21, frame22, 30, frame31, 31, frame32, 40, frame41, 41, frame42, 50, frame51, 51, frame52, 60, frame61, 61, frame62, 70, frame71, 71, frame72);
}
function frame62(){
stop();
}
function frame72(){
stop();
}
function frame71(){
stop();
}
function frame12(){
stop();
}
function frame1(){
stop();
}
function frame22(){
stop();
}
function frame21(){
stop();
}
function frame2(){
stop();
}
function frame31(){
stop();
}
function frame11(){
stop();
}
function frame41(){
stop();
}
function frame32(){
stop();
}
function frame42(){
stop();
}
function frame51(){
stop();
}
function frame52(){
stop();
}
function frame61(){
stop();
}
}
}//package
Section 68
//Conquering (Conquering)
package {
import flash.display.*;
public dynamic class Conquering extends MovieClip {
}
}//package
Section 69
//Corazon (Corazon)
package {
import flash.media.*;
public dynamic class Corazon extends Sound {
}
}//package
Section 70
//Dead (Dead)
package {
import flash.display.*;
public dynamic class Dead extends MovieClip {
}
}//package
Section 71
//DeathMatk (DeathMatk)
package {
import flash.display.*;
public dynamic class DeathMatk extends MovieClip {
}
}//package
Section 72
//DifficultyWindow (DifficultyWindow)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class DifficultyWindow extends MovieClip {
public var padre:MainMenu;
public var easy:SimpleButton;
public var hard:SimpleButton;
public var challengeGame:SimpleButton;
public var achievements:SimpleButton;
public var oSelected:Number;
public var challengeMode:SimpleButton;
public var newGame:Boolean;// = true
public var AchievementScore:SimpleButton;
public var interval:Timer;
public var easyButton:SimpleButton;
public var normal:SimpleButton;
public var normalButton:SimpleButton;
public var hardButton:SimpleButton;
public function DifficultyWindow(){
newGame = true;
super();
addFrameScript(0, frame1, 1, frame2);
}
function fadeOut(_arg1:TimerEvent):void{
alpha = (alpha - 0.1);
if (alpha <= 0){
interval.removeEventListener(TimerEvent.TIMER, fadeOut);
padre.difSelected = oSelected;
if (newGame == false){
padre.oSelected = 61;
} else {
padre.oSelected = 62;
};
padre.exitWindow();
padre.removeChild(this);
};
}
public function hardClick(_arg1:MouseEvent):void{
oSelected = 3;
exitWindow();
}
public function initDif(){
easyButton = easy;
normalButton = normal;
hardButton = hard;
challengeGame = challengeMode;
achievements = AchievementScore;
easyButton.addEventListener(MouseEvent.CLICK, easyClick);
normalButton.addEventListener(MouseEvent.CLICK, normalClick);
hardButton.addEventListener(MouseEvent.CLICK, hardClick);
challengeGame.addEventListener(MouseEvent.CLICK, challengeGameClick);
achievements.addEventListener(MouseEvent.CLICK, achievementsClick);
interval = new Timer((1000 / 24), 0);
alpha = 0;
}
function frame1(){
stop();
}
public function challengeGameClick(_arg1:MouseEvent):void{
oSelected = 4;
exitWindow();
}
public function easyClick(_arg1:MouseEvent):void{
oSelected = 1;
exitWindow();
}
function exitWindow(){
interval.addEventListener(TimerEvent.TIMER, fadeOut);
}
function fadeIn(_arg1:TimerEvent):void{
alpha = (alpha + 0.1);
if (alpha >= 1){
interval.removeEventListener(TimerEvent.TIMER, fadeIn);
};
}
public function achievementsClick(_arg1:MouseEvent):void{
oSelected = 7;
exitWindow();
}
public function normalClick(_arg1:MouseEvent):void{
oSelected = 2;
exitWindow();
}
function enterWindow(){
interval.addEventListener(TimerEvent.TIMER, fadeIn);
interval.start();
}
function frame2(){
stop();
}
}
}//package
Section 73
//Dinamita (Dinamita)
package {
import flash.display.*;
public class Dinamita extends ObjetoListaEnlazada {
public var movieClip:MovieClip;
public var i:int;
public var j:int;
public var posicion:Vector2D;
public var counter:int;
public function Dinamita(_arg1:int, _arg2:int, _arg3:MovieClip, _arg4:CanvasScenario){
i = _arg1;
j = _arg2;
movieClip = new DynamiteMC();
counter = Parametros.TiempoExplosionDinamita;
posicion = new Vector2D();
posicion.X = ((j + 0.5) * Parametros.TamanyoTile);
posicion.Y = ((i + 0.5) * Parametros.TamanyoTile);
movieClip.x = posicion.X;
movieClip.y = posicion.Y;
_arg3.addChild(movieClip);
_arg4.player.money = (_arg4.player.money - Parametros.CostoDinamita);
}
public function explota(_arg1:int):Boolean{
if (counter > 0){
counter = (counter - _arg1);
return (false);
};
return (true);
}
}
}//package
Section 74
//Disparable (Disparable)
package {
import flash.display.*;
public class Disparable extends ObjetoListaEnlazada {
public var energiaInicial:Number;
public var muerto:Boolean;
public var posicion:Vector2D;
public var linkVisible:DisparableVisible;
public var movieClip:MovieClip;
public var energia:Number;
public var radioSquared:Number;
public var radio:Number;
public var energiaCadaver:int;
public function Disparable(){
linkVisible = new DisparableVisible(this);
}
public function update():Boolean{
return (true);
}
public function sufrirDanyo(_arg1:Number, _arg2:int, _arg3:Vector2D){
}
public function encontrarDestino(){
}
public function torretaDestruida(_arg1:int){
}
}
}//package
Section 75
//DisparableVisible (DisparableVisible)
package {
public class DisparableVisible extends ObjetoListaEnlazada {
public var enLista:Boolean;
public var disparable:Disparable;
public function DisparableVisible(_arg1:Disparable){
disparable = _arg1;
}
}
}//package
Section 76
//domCircle (domCircle)
package {
import flash.display.*;
public dynamic class domCircle extends MovieClip {
public var domMask:MovieClip;
public var flag:MovieClip;
public function domCircle(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
flag.gotoAndPlay(1);
stop();
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 77
//DynamiteMC (DynamiteMC)
package {
import flash.display.*;
public dynamic class DynamiteMC extends MovieClip {
}
}//package
Section 78
//Enemigo (Enemigo)
package {
import flash.display.*;
public class Enemigo extends Disparable {
var barra:MovieClip;
private var padre:Canvas;
public var destino:Vector2D;
private var atacando:Boolean;
private var enfermo:Boolean;
private var tipoEnemigo:Number;
private var basePosition:Vector2D;
public var factorVelocidad:Number;
private var costoAlMorir:int;
public var sufrirDanyoCounter:Number;// = 500
public var velocidad:Vector2D;
private var radioAtaqueSquared:Number;
public var levelLimits:Vector2D;
private var congeladoRemaining:int;
public var currentAnimacion:int;
private var particula:MovieClip;
public var currentText:String;
private var camino:Array;
public var caminoTrack:int;
private var danyoGolpe:Number;
public var shootCounter:Number;// = 0
private var player:Player;
public var map:MovieClip;
private var slidingRemaining:int;
public var elapsedTime:Number;// = 33.3333333333333
private var tillDisappear:int;
private var baseDestino:int;
public function Enemigo(_arg1:MovieClip, _arg2:Number, _arg3:Number, _arg4:Vector2D, _arg5:Number, _arg6:int, _arg7:Player, _arg8:Canvas){
sufrirDanyoCounter = 500;
shootCounter = 0;
elapsedTime = (1000 / 30);
super();
this.posicion = new Vector2D();
this.posicion.X = _arg2;
this.posicion.Y = _arg3;
this.velocidad = new Vector2D();
this.tipoEnemigo = _arg5;
map = _arg1;
padre = _arg8;
this.player = _arg7;
this.muerto = false;
energiaInicial = padre.canvasScenario.parametrosOlas[1][_arg5][1];
energiaCadaver = padre.canvasScenario.parametrosOlas[1][_arg5][2];
factorVelocidad = padre.canvasScenario.parametrosOlas[1][_arg5][3];
danyoGolpe = padre.canvasScenario.parametrosOlas[1][_arg5][4];
switch (_arg5){
case 5:
movieClip = new Indice();
costoAlMorir = Parametros.CostoAlMorirIndice;
this.radio = (movieClip.width / 2);
movieClip.width = (movieClip.width * 0.75);
movieClip.height = (movieClip.height * 0.75);
break;
case 1:
movieClip = new Pulgar();
costoAlMorir = Parametros.CostoAlMorirPulgar;
this.radio = (movieClip.width / 2);
this.radio = (movieClip.width / 2);
movieClip.width = (movieClip.width * 0.75);
movieClip.height = (movieClip.height * 0.75);
break;
case 3:
movieClip = new Soldado();
costoAlMorir = Parametros.CostoAlMorirSoldado;
this.radio = 100;
movieClip.width = (movieClip.width * 0.75);
movieClip.height = (movieClip.height * 0.75);
break;
case 2:
movieClip = new Sargento();
costoAlMorir = Parametros.CostoAlMorirSargento;
this.radio = (movieClip.width / 2);
movieClip.width = (movieClip.width * 0.75);
movieClip.height = (movieClip.height * 0.75);
break;
case 4:
movieClip = new Kamikaze();
costoAlMorir = Parametros.CostoAlMorirKamikaze;
this.radio = (movieClip.width / 2);
movieClip.width = (movieClip.width * 0.75);
movieClip.height = (movieClip.height * 0.75);
break;
case 6:
movieClip = new Boss();
costoAlMorir = Parametros.CostoAlMorirWorm;
this.radio = (movieClip.width / 2);
break;
case 7:
movieClip = new Runner();
costoAlMorir = Parametros.CostoAlMorirRunner;
this.radio = (movieClip.width / 2);
movieClip.width = (movieClip.width * 0.75);
movieClip.height = (movieClip.height * 0.75);
break;
case 8:
movieClip = new Robot();
costoAlMorir = Parametros.CostoAlMorirRobot;
this.radio = (movieClip.width / 2);
break;
};
currentAnimacion = 1;
barra = new EnergyBar();
barra.y = (movieClip.height / 2);
movieClip.addChild(barra);
_arg1.addChild(movieClip);
this.energia = this.energiaInicial;
this.levelLimits = _arg4;
this.radioSquared = (this.radio * this.radio);
this.radioAtaqueSquared = (this.radio + 16);
this.radioAtaqueSquared = (this.radioAtaqueSquared * this.radioAtaqueSquared);
atacando = true;
movieClip.x = posicion.X;
movieClip.y = posicion.Y;
basePosition = new Vector2D();
destino = new Vector2D();
encontrarDestino();
enfermo = false;
}
override public function encontrarDestino(){
var _local1:Number;
var _local2:int;
var _local3:int;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local1 = Number.MAX_VALUE;
_local2 = -1;
_local3 = 0;
while (_local3 < player.bases.length) {
if (player.bases[_local3].energia > 0){
_local4 = player.bases[_local3].posicion.X;
_local5 = player.bases[_local3].posicion.Y;
_local6 = (((posicion.X - _local4) * (posicion.X - _local4)) + ((posicion.Y - _local5) * (posicion.Y - _local5)));
if (_local6 < _local1){
_local2 = _local3;
_local1 = _local6;
};
};
_local3++;
};
if (_local2 != -1){
baseDestino = _local2;
basePosition.X = player.bases[_local2].posicion.X;
basePosition.Y = player.bases[_local2].posicion.Y;
camino = AStar.findPath(posicion.X, posicion.Y, _local2);
caminoTrack = camino.length;
caminoTrack = (caminoTrack - 2);
setNewDestiny();
};
}
public function die(){
velocidad.X = (velocidad.Y = 0);
}
override public function torretaDestruida(_arg1:int){
if (baseDestino == _arg1){
encontrarDestino();
};
}
override public function update():Boolean{
var _local1:MovieClip;
if (!muerto){
if (enfermo){
sufrirDanyo(Parametros.DanyoToxicMinePorUpdate, 0, null);
particula.x = movieClip.x;
particula.y = movieClip.y;
};
if (congeladoRemaining > 0){
congeladoRemaining--;
if (congeladoRemaining <= 0){
movieClip.gotoAndStop(("Avanzar" + currentText));
map.removeChild(particula);
particula = null;
if (enfermo){
sufrirDanyo(0, HudMenu.TOXIC_MINE_TRAP, null);
};
};
} else {
posicion.X = (posicion.X + velocidad.X);
posicion.Y = (posicion.Y + velocidad.Y);
movieClip.x = posicion.X;
movieClip.y = posicion.Y;
};
if (slidingRemaining > 0){
slidingRemaining--;
if (slidingRemaining <= 0){
atacando = false;
encontrarDestino();
};
};
if (((!(muerto)) && ((caminoTrack <= 4)))){
if (posicion.squaredDistanceTo(player.posicion) <= radioAtaqueSquared){
atacando = true;
velocidad.X = (velocidad.Y = 0);
if (movieClip.currentFrame != (currentAnimacion + 4)){
movieClip.gotoAndStop((currentAnimacion + 4));
};
if ((((tipoEnemigo == 4)) && ((atacando == true)))){
player.danyarBase(baseDestino, danyoGolpe);
muerto = true;
energia = 0;
_local1 = new explocion_mc();
_local1.x = movieClip.x;
_local1.y = movieClip.y;
map.addChild(_local1);
_local1.scaleX = (_local1.scaleX * 1);
_local1.scaleY = (_local1.scaleY * 1);
_local1.play();
padre.padre.soundSystem.exploDinamita.play(0, 1, padre.padre.soundSystem.volPrincipal);
return (false);
};
if ((((tipoEnemigo == 3)) && ((atacando == true)))){
if (shootCounter <= 0){
padre.canvasScenario.newAddBullet((movieClip.x + map.x), (movieClip.y + map.y), (radio * 10), (player.movieClip.x + map.x), (player.movieClip.y + map.y), false);
shootCounter = 1500;
} else {
if (shootCounter > 0){
shootCounter = (shootCounter - elapsedTime);
};
};
} else {
setSonido();
};
} else {
if ((((atacando == true)) || ((((velocidad.X == 0)) && ((velocidad.Y == 0)))))){
atacando = false;
encontrarDestino();
} else {
if ((((velocidad.X == 0)) && ((velocidad.Y == 0)))){
encontrarDestino();
};
};
};
};
};
if ((((((((posicion.X < (destino.X + 5))) && ((posicion.X > (destino.X - 5))))) && ((posicion.Y > (destino.Y - 5))))) && ((posicion.Y < (destino.Y + 5))))){
encontrarDestino();
padre.canvasScenario.activateTrap(camino[(caminoTrack + 2)], camino[((caminoTrack + 1) + 2)]);
} else {
if ((((energia <= -(energiaCadaver))) && (!(muerto)))){
darExperiencia();
die();
player.money = (player.money + costoAlMorir);
player.updateMoneyCounter();
muerto = true;
tillDisappear = 70;
barra.alpha = 0;
movieClip.gotoAndStop(13);
player.level.padre.padre.soundSystem.entierro.play(0, 1, player.level.padre.padre.soundSystem.volPrincipal);
} else {
if (muerto){
tillDisappear--;
if (tillDisappear <= 0){
if (particula != null){
map.removeChild(particula);
};
padre.padre.achieveSystem.achControl((4 + tipoEnemigo));
padre.padre.achieveSystem.achControl(4);
padre.padre.achieveSystem.achControl(11);
return (false);
};
};
};
};
return (true);
}
override public function sufrirDanyo(_arg1:Number, _arg2:int, _arg3:Vector2D){
var _local4:*;
if (_arg2 == HudMenu.FREEZE_MINE_TRAP){
if (particula != null){
_local4 = new hielo_mc();
particula.addChildAt(_local4, 0);
} else {
particula = new hielo_mc();
};
particula.x = movieClip.x;
particula.y = movieClip.y;
map.addChild(particula);
congeladoRemaining = Parametros.CongeladoUpdates;
movieClip.gotoAndStop(("Quieto" + currentText));
return;
} else {
if (_arg2 == HudMenu.TOXIC_MINE_TRAP){
enfermo = true;
if (particula == null){
particula = new gas_mc();
particula.x = movieClip.x;
particula.y = movieClip.y;
map.addChild(particula);
};
return;
};
};
if (((!((_arg3 == null))) && ((congeladoRemaining <= 0)))){
slidingRemaining = Parametros.SlideUpdates;
velocidad.X = _arg3.X;
velocidad.Y = _arg3.Y;
};
energia = (energia - _arg1);
if (energia > 0){
barra.green.scaleX = (energia / energiaInicial);
} else {
barra.green.visible = false;
die();
};
}
private function setNewDestiny(){
caminoTrack = (caminoTrack - 2);
if (caminoTrack < 0){
caminoTrack = 0;
return;
};
destino.Y = ((camino[caminoTrack] * Parametros.TamanyoTile) + (Parametros.TamanyoTile / 2));
destino.X = ((camino[(caminoTrack + 1)] * Parametros.TamanyoTile) + (Parametros.TamanyoTile / 2));
velocidad.subAndAssign(destino, posicion);
velocidad.normalize(factorVelocidad);
if ((((velocidad.Y < 0)) && ((velocidad.Y <= -(Math.abs(velocidad.X)))))){
currentAnimacion = 2;
currentText = "Abajo";
} else {
if ((((velocidad.X > 0)) && ((velocidad.X >= Math.abs(velocidad.Y))))){
currentAnimacion = 3;
currentText = "Izquierda";
} else {
if ((((velocidad.Y > 0)) && ((velocidad.Y >= Math.abs(velocidad.X))))){
currentAnimacion = 1;
currentText = "Arriba";
} else {
if ((((velocidad.X < 0)) && ((velocidad.X <= -(Math.abs(velocidad.Y)))))){
currentAnimacion = 4;
currentText = "Derecha";
};
};
};
};
movieClip.gotoAndStop(("Avanzar" + currentText));
}
private function setSonido(){
var _local1:Number;
if (sufrirDanyoCounter <= 0){
player.danyarBase(baseDestino, danyoGolpe);
_local1 = Math.floor((Math.random() * 4));
switch (_local1){
case 0:
player.level.padre.padre.soundSystem.canalSecundario = player.level.padre.padre.soundSystem.golpe1.play(0, 1, padre.padre.soundSystem.volPrincipal);
break;
case 1:
player.level.padre.padre.soundSystem.canalSecundario = player.level.padre.padre.soundSystem.golpe2.play(0, 1, padre.padre.soundSystem.volPrincipal);
break;
case 2:
player.level.padre.padre.soundSystem.canalSecundario = player.level.padre.padre.soundSystem.golpe3.play(0, 1, padre.padre.soundSystem.volPrincipal);
break;
case 3:
player.level.padre.padre.soundSystem.canalSecundario = player.level.padre.padre.soundSystem.golpe4.play(0, 1, padre.padre.soundSystem.volPrincipal);
break;
case 4:
player.level.padre.padre.soundSystem.canalSecundario = player.level.padre.padre.soundSystem.golpe4.play(0, 1, padre.padre.soundSystem.volPrincipal);
break;
};
sufrirDanyoCounter = 500;
} else {
if (sufrirDanyoCounter > 0){
sufrirDanyoCounter = (sufrirDanyoCounter - (1000 / 30));
};
};
}
private function darExperiencia(){
switch (tipoEnemigo){
case 1:
player.updateScore(1);
player.updateExperience(1);
break;
case 2:
player.updateScore(2);
player.updateExperience(1);
break;
case 3:
player.updateScore(2);
player.updateExperience(2);
break;
case 4:
player.updateScore(2);
player.updateExperience(2);
break;
case 5:
player.updateScore(3);
player.updateExperience(3);
break;
case 6:
player.updateScore(2);
player.updateExperience(2);
break;
case 7:
player.updateScore(3);
player.updateExperience(3);
break;
};
}
}
}//package
Section 79
//enemy_01 (enemy_01)
package {
import flash.display.*;
public dynamic class enemy_01 extends MovieClip {
public function enemy_01(){
addFrameScript(47, frame48, 95, frame96, 99, frame100);
}
function frame100(){
gotoAndPlay("Idle");
}
function frame96(){
gotoAndPlay("Idle");
}
function frame48(){
gotoAndPlay("Idle");
}
}
}//package
Section 80
//enemy_02 (enemy_02)
package {
import flash.display.*;
public dynamic class enemy_02 extends MovieClip {
public function enemy_02(){
addFrameScript(47, frame48, 51, frame52);
}
function frame48(){
gotoAndPlay("Idle");
}
function frame52(){
gotoAndPlay("Idle");
}
}
}//package
Section 81
//enemy_03 (enemy_03)
package {
import flash.display.*;
public dynamic class enemy_03 extends MovieClip {
public function enemy_03(){
addFrameScript(47, frame48, 52, frame53);
}
function frame48(){
gotoAndPlay("Idle");
}
function frame53(){
gotoAndPlay("Idle");
}
}
}//package
Section 82
//EnergyBar (EnergyBar)
package {
import flash.display.*;
public dynamic class EnergyBar extends MovieClip {
public var green:GreenBar;
}
}//package
Section 83
//Entierro (Entierro)
package {
import flash.media.*;
public dynamic class Entierro extends Sound {
}
}//package
Section 84
//explocion_mc (explocion_mc)
package {
import flash.display.*;
public dynamic class explocion_mc extends MovieClip {
public function explocion_mc(){
addFrameScript(14, frame15);
}
function frame15(){
stop();
parent.removeChild(this);
}
}
}//package
Section 85
//ExploDinamita (ExploDinamita)
package {
import flash.media.*;
public dynamic class ExploDinamita extends Sound {
}
}//package
Section 86
//ExploGas (ExploGas)
package {
import flash.display.*;
public dynamic class ExploGas extends MovieClip {
public function ExploGas(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
parent.removeChild(this);
}
}
}//package
Section 87
//ExploMina (ExploMina)
package {
import flash.media.*;
public dynamic class ExploMina extends Sound {
}
}//package
Section 88
//ExploRocket (ExploRocket)
package {
import flash.media.*;
public dynamic class ExploRocket extends Sound {
}
}//package
Section 89
//ExplosionDisparoEnemigo1 (ExplosionDisparoEnemigo1)
package {
import flash.media.*;
public dynamic class ExplosionDisparoEnemigo1 extends Sound {
}
}//package
Section 90
//GameOverClip (GameOverClip)
package {
import flash.display.*;
public dynamic class GameOverClip extends MovieClip {
public var backB:SimpleButton;
public var button_gameover_moregames:SimpleButton;
public var logo_mainscreen:MovieClip;
public var tryB:SimpleButton;
public function GameOverClip(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 91
//gamePaused (gamePaused)
package {
import flash.display.*;
public dynamic class gamePaused extends MovieClip {
}
}//package
Section 92
//gas_mc (gas_mc)
package {
import flash.display.*;
public dynamic class gas_mc extends MovieClip {
}
}//package
Section 93
//GatoMap (GatoMap)
package {
import flash.display.*;
public dynamic class GatoMap extends MovieClip {
}
}//package
Section 94
//GatoMapStill (GatoMapStill)
package {
import flash.display.*;
public dynamic class GatoMapStill extends MovieClip {
}
}//package
Section 95
//Golpe1 (Golpe1)
package {
import flash.media.*;
public dynamic class Golpe1 extends Sound {
}
}//package
Section 96
//Golpe2 (Golpe2)
package {
import flash.media.*;
public dynamic class Golpe2 extends Sound {
}
}//package
Section 97
//Golpe3 (Golpe3)
package {
import flash.media.*;
public dynamic class Golpe3 extends Sound {
}
}//package
Section 98
//Golpe4 (Golpe4)
package {
import flash.media.*;
public dynamic class Golpe4 extends Sound {
}
}//package
Section 99
//GolpeEnemigo1 (GolpeEnemigo1)
package {
import flash.media.*;
public dynamic class GolpeEnemigo1 extends Sound {
}
}//package
Section 100
//GolpeEnemigo2 (GolpeEnemigo2)
package {
import flash.media.*;
public dynamic class GolpeEnemigo2 extends Sound {
}
}//package
Section 101
//GolpeEnemigo3 (GolpeEnemigo3)
package {
import flash.media.*;
public dynamic class GolpeEnemigo3 extends Sound {
}
}//package
Section 102
//GolpeEnemigo4 (GolpeEnemigo4)
package {
import flash.media.*;
public dynamic class GolpeEnemigo4 extends Sound {
}
}//package
Section 103
//GolpeEnemigo5 (GolpeEnemigo5)
package {
import flash.media.*;
public dynamic class GolpeEnemigo5 extends Sound {
}
}//package
Section 104
//GreenBar (GreenBar)
package {
import flash.display.*;
public dynamic class GreenBar extends MovieClip {
}
}//package
Section 105
//GunFire (GunFire)
package {
import flash.media.*;
public dynamic class GunFire extends Sound {
}
}//package
Section 106
//GunFire_doble (GunFire_doble)
package {
import flash.media.*;
public dynamic class GunFire_doble extends Sound {
}
}//package
Section 107
//GunFire2 (GunFire2)
package {
import flash.media.*;
public dynamic class GunFire2 extends Sound {
}
}//package
Section 108
//GunFire2_double (GunFire2_double)
package {
import flash.media.*;
public dynamic class GunFire2_double extends Sound {
}
}//package
Section 109
//HealthSpace (HealthSpace)
package {
import flash.display.*;
public dynamic class HealthSpace extends MovieClip {
public function HealthSpace(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 110
//hielo_mc (hielo_mc)
package {
import flash.display.*;
public dynamic class hielo_mc extends MovieClip {
}
}//package
Section 111
//HowToPlay (HowToPlay)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class HowToPlay extends MovieClip {
public var conq2:domCircle;
public var conq3:domCircle;
public var padre:UICanvas;
public var button:SimpleButton;
public var backB:SimpleButton;
var interval:Timer;
public var conq1:domCircle;
public function HowToPlay(){
addFrameScript(0, frame1);
backB = button;
alpha = 0;
interval = new Timer((1000 / 24), 0);
backB.addEventListener(MouseEvent.CLICK, backClick);
backB.addEventListener(MouseEvent.ROLL_OVER, backOver);
backB.addEventListener(MouseEvent.ROLL_OUT, backOut);
}
public function backOver(_arg1:MouseEvent):void{
}
function fadeOut(_arg1:TimerEvent):void{
alpha = (alpha - 0.1);
if (alpha <= 0){
interval.removeEventListener(TimerEvent.TIMER, fadeOut);
padre.addMainMenu();
padre.removeChild(this);
};
}
function frame1(){
conq1.gotoAndStop(1);
conq2.gotoAndStop(2);
conq2.domMask.scaleX = 0.75;
conq1.domMask.scaleX = 0;
conq3.gotoAndStop(3);
}
function exitWindow(){
interval.addEventListener(TimerEvent.TIMER, fadeOut);
}
function fadeIn(_arg1:TimerEvent):void{
alpha = (alpha + 0.1);
if (alpha >= 1){
interval.removeEventListener(TimerEvent.TIMER, fadeIn);
};
}
public function backClick(_arg1:MouseEvent):void{
backB.enabled = false;
exitWindow();
}
function enterWindow(){
interval.addEventListener(TimerEvent.TIMER, fadeIn);
interval.start();
}
public function backOut(_arg1:MouseEvent):void{
}
}
}//package
Section 112
//HudMenu (HudMenu)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.ui.*;
public class HudMenu extends MovieClip {
public var padre:Canvas;
public var infoTitulo:TextField;
public var nivel:MovieClip;
public var _upgradeGlow:MovieClip;
public var _nivelStar:MovieClip;
public var _soundOn:SimpleButton;
public var _actualMoney:TextField;
public var rateCount:int;// = 0
public var healthBar:MovieClip;
public var healthCount:int;// = 0
public var pushCount:int;// = 0
public var infoCosto:TextField;
public var infoRof:TextField;
public var infoWindow:MovieClip;
public var upgradeComponent:MovieClip;
public var inGameIntro:InGameIntro;
public var mainButton:SimpleButton;
public var _healthPoints:TextField;
public var _speedPoints:TextField;
var selectedTrap:int;
public var _costMisil:TextField;
public var losingBase:LosingBase;
public var nextWave:SimpleButton;
public var _healthButton:SimpleButton;
public var soundButtonOff:SimpleButton;
public var _healthBar:MovieClip;
public var _speedButton:SimpleButton;
public var _upgradeComponent:MovieClip;
public var _playerName:TextField;
public var info:MovieClip;
public var conquering:Conquering;
public var continueButton:SimpleButton;
public var expBar:MovieClip;
public var _rangePoints:TextField;
public var _addLevel:MovieClip;
public var infoDano:TextField;
public var pauseButton:SimpleButton;
public var actualDom:TextField;
public var _actualLevel:TextField;
public var soundButtonOn:SimpleButton;
var player:Player;
public var _continueButton:SimpleButton;
public var _costDynamite:TextField;
public var damageCount:int;// = 0
public var _nextWaveButton:SimpleButton;
public var _baseButton:MovieClip;
public var _mineButton:MovieClip;
public var _pauseButton:SimpleButton;
public var _rangeButton:SimpleButton;
public var playerName:TextField;
public var infoTipo:TextField;
public var pointControled:PointControled;
public var _damagePoints:TextField;
public var _costMine:TextField;
public var _botonUpgrade:MovieClip;
public var bonusObtained:BonusObtained;
public var _actualDom:TextField;
public var _soundOff:SimpleButton;
public var _gamePaused:gamePaused;
public var baseButton:MovieClip;
public var mineButton:MovieClip;
public var addLevel:MovieClip;
public var freezeMineButton:MovieClip;
public var _damageButton:SimpleButton;
var level:CanvasScenario;
public var _totalPoints:TextField;
public var _ratePoints:TextField;
public var _costBase:TextField;
public var towerButton:MovieClip;
public var misilButton:MovieClip;
public var dynamiteButton:MovieClip;
public var levelUpCost:TextField;
public var actualScore:TextField;
var selectedObject:MovieClip;
public var _freezeMineButton:MovieClip;
public var _toxicMineButton:MovieClip;
public var _costTower:TextField;
public var _dynamiteButton:MovieClip;
public var _rateButton:SimpleButton;
public var actualMoney:TextField;
public var _misilButton:MovieClip;
public var _expBar:MovieClip;
public var _towerButton:MovieClip;
public var _actualScore:TextField;
public var _levelUpCost:TextField;
var posicionDiscreta:Boolean;
public var _mainButton:SimpleButton;
public var toxicMineButton:MovieClip;
public static const TOXIC_MINE_TRAP:int = -4;
public static const TOWER:int = 4;
public static const FREEZE_MINE_TRAP:int = -5;
public static const DYNAMITE_TRAP:int = -2;
public static const BASE:int = -3;
public static const MINE_TRAP:int = -1;
public static const MISIL:int = 5;
public function HudMenu(_arg1:Canvas, _arg2:CanvasScenario, _arg3:Player){
healthCount = 0;
damageCount = 0;
rateCount = 0;
pushCount = 0;
super();
padre = _arg1;
padre.stage.addEventListener(MouseEvent.MOUSE_MOVE, moverCursor);
padre.stage.addEventListener(MouseEvent.MOUSE_UP, soltarObjeto);
padre.stage.addEventListener(KeyboardEvent.KEY_DOWN, onEnter);
this.level = _arg2;
this.player = _arg3;
_actualMoney = actualMoney;
_actualMoney.text = _arg3.money.toString();
_actualDom = actualDom;
_actualDom.text = _arg3.domination.toString();
_mineButton = mineButton;
_toxicMineButton = toxicMineButton;
_freezeMineButton = freezeMineButton;
_dynamiteButton = dynamiteButton;
_baseButton = baseButton;
_towerButton = towerButton;
_misilButton = misilButton;
_playerName = playerName;
_actualLevel = nivel.actualLevel;
_actualLevel.text = _arg3.nivel.toString();
_addLevel = addLevel;
_levelUpCost = levelUpCost;
_mainButton = mainButton;
_expBar = expBar;
_healthBar = healthBar;
_nextWaveButton = nextWave;
infoWindow = info;
_actualScore = actualScore;
_pauseButton = pauseButton;
_continueButton = continueButton;
_soundOn = soundButtonOn;
_soundOff = soundButtonOff;
_mineButton.addEventListener(MouseEvent.MOUSE_DOWN, mineSelected);
_toxicMineButton.addEventListener(MouseEvent.MOUSE_DOWN, toxicMineSelected);
_freezeMineButton.addEventListener(MouseEvent.MOUSE_DOWN, freezeMineSelected);
_dynamiteButton.addEventListener(MouseEvent.MOUSE_DOWN, dynamiteSelected);
_baseButton.addEventListener(MouseEvent.MOUSE_DOWN, baseSelected);
_towerButton.addEventListener(MouseEvent.MOUSE_DOWN, towerSelected);
_misilButton.addEventListener(MouseEvent.MOUSE_DOWN, misilSelected);
_addLevel.addEventListener(MouseEvent.MOUSE_DOWN, levelUpSelected);
_mainButton.addEventListener(MouseEvent.CLICK, mainMenuAccess);
_nextWaveButton.addEventListener(MouseEvent.CLICK, nextWaveOrder);
_pauseButton.addEventListener(MouseEvent.CLICK, pauseGame);
_continueButton.addEventListener(MouseEvent.CLICK, pauseGame);
_soundOn.addEventListener(MouseEvent.CLICK, soundOn);
_soundOff.addEventListener(MouseEvent.CLICK, soundOff);
_playerName.text = padre.padre.local_data.data.playerName;
_expBar.addEventListener(MouseEvent.ROLL_OVER, expOver);
_expBar.addEventListener(MouseEvent.ROLL_OUT, expOut);
_healthBar.addEventListener(MouseEvent.ROLL_OVER, healthOver);
_healthBar.addEventListener(MouseEvent.ROLL_OUT, healthOut);
_mineButton.addEventListener(MouseEvent.ROLL_OVER, mineOver);
_dynamiteButton.addEventListener(MouseEvent.ROLL_OVER, dynamiteOver);
_baseButton.addEventListener(MouseEvent.ROLL_OVER, baseOver);
_toxicMineButton.addEventListener(MouseEvent.ROLL_OVER, toxicOver);
_freezeMineButton.addEventListener(MouseEvent.ROLL_OVER, freezeOver);
_mineButton.addEventListener(MouseEvent.ROLL_OUT, mineOut);
_dynamiteButton.addEventListener(MouseEvent.ROLL_OUT, mineOut);
_baseButton.addEventListener(MouseEvent.ROLL_OUT, mineOut);
_toxicMineButton.addEventListener(MouseEvent.ROLL_OUT, mineOut);
_freezeMineButton.addEventListener(MouseEvent.ROLL_OUT, mineOut);
_mineButton.marcoBoton.alpha = 0;
_toxicMineButton.marcoBoton.alpha = 0;
_freezeMineButton.marcoBoton.alpha = 0;
_dynamiteButton.marcoBoton.alpha = 0;
_baseButton.marcoBoton.alpha = 0;
_towerButton.marcoBoton.alpha = 0;
_misilButton.marcoBoton.alpha = 0;
_actualScore.text = "0";
_upgradeComponent = upgradeComponent;
_botonUpgrade = upgradeComponent.upgradeWindow.upgradeButton;
_healthButton = upgradeComponent.upgradeWindow.healthButton;
_speedButton = upgradeComponent.upgradeWindow.speedButton;
_rangeButton = upgradeComponent.upgradeWindow.rangeButton;
_rateButton = upgradeComponent.upgradeWindow.rateButton;
_damageButton = upgradeComponent.upgradeWindow.damageButton;
_healthButton.addEventListener(MouseEvent.CLICK, moreHealth);
_speedButton.addEventListener(MouseEvent.CLICK, moreSpeed);
_rangeButton.addEventListener(MouseEvent.CLICK, moreRange);
_rateButton.addEventListener(MouseEvent.CLICK, moreRate);
_damageButton.addEventListener(MouseEvent.CLICK, moreDamage);
_totalPoints = upgradeComponent.upgradeWindow.totalPoints;
_healthPoints = upgradeComponent.upgradeWindow.healthPoints;
_speedPoints = upgradeComponent.upgradeWindow.speedPoints;
_rangePoints = upgradeComponent.upgradeWindow.rangePoints;
_ratePoints = upgradeComponent.upgradeWindow.ratePoints;
_damagePoints = upgradeComponent.upgradeWindow.damagePoints;
_totalPoints.text = (padre.player.points + "");
_healthPoints.text = "0";
_speedPoints.text = "0";
_rangePoints.text = "0";
_ratePoints.text = "0";
_damagePoints.text = "0";
_upgradeGlow = upgradeComponent.upgradeWindow.glowing;
_upgradeGlow.addEventListener(MouseEvent.CLICK, getUpgrade);
upgradeUpgrade(padre.player.points);
_upgradeGlow.addEventListener(MouseEvent.ROLL_OVER, upgradeButtonOver);
_upgradeGlow.addEventListener(MouseEvent.ROLL_OUT, upgradeButtonOut);
_pauseButton.visible = true;
_pauseButton.alpha = 1;
_pauseButton.enabled = true;
_continueButton.visible = false;
_continueButton.alpha = 0;
_continueButton.visible = false;
_expBar.gotoAndStop(1);
_healthBar.gotoAndStop(1);
_upgradeComponent.gotoAndStop(1);
padre.padre.soundSystem.volPrincipal.volume = 0.6;
_soundOn.enabled = true;
_soundOn.visible = true;
_soundOn.alpha = 1;
_soundOff.enabled = false;
_soundOff.visible = false;
_soundOff.alpha = 0;
}
public function expOut(_arg1:MouseEvent){
_expBar.gotoAndStop(1);
}
public function mineSelected(_arg1:MouseEvent){
if ((((player.money >= Parametros.CostoMina)) && (padre.isRun))){
selectedObject = new MineMC();
this.padre.addChild(selectedObject);
selectedTrap = MINE_TRAP;
posicionDiscreta = true;
};
}
public function mineOut(_arg1:MouseEvent){
_mineButton.marcoBoton.alpha = 0;
_dynamiteButton.marcoBoton.alpha = 0;
_baseButton.marcoBoton.alpha = 0;
_toxicMineButton.marcoBoton.alpha = 0;
_freezeMineButton.marcoBoton.alpha = 0;
infoWindow.gotoAndStop(1);
}
public function nextWaveOrder(_arg1:MouseEvent){
padre.canvasScenario.timeToNextWave = 0;
padre.canvasScenario.updateTimeCounter();
}
public function refreshHud(){
if (player.money >= Parametros.CostoMina){
mineButton.gotoAndStop("alcansa");
} else {
mineButton.gotoAndStop("noalcansa");
};
if (player.money >= Parametros.CostoDinamita){
dynamiteButton.gotoAndStop("alcansa");
} else {
dynamiteButton.gotoAndStop("noalcansa");
};
if (player.money >= Parametros.CostoBase){
baseButton.gotoAndStop("alcansa");
} else {
baseButton.gotoAndStop("noalcansa");
};
if (player.money >= Parametros.CostoMinaToxica){
toxicMineButton.gotoAndStop("alcansa");
} else {
toxicMineButton.gotoAndStop("noalcansa");
};
if (player.money >= Parametros.CostoMinaCongelar){
freezeMineButton.gotoAndStop("alcansa");
} else {
freezeMineButton.gotoAndStop("noalcansa");
};
_actualMoney.text = player.money.toString();
_actualDom.text = player.domination.toString();
_actualLevel.text = player.nivel.toString();
}
public function freezeOver(_arg1:MouseEvent){
_freezeMineButton.marcoBoton.alpha = 1;
infoWindow.gotoAndStop(4);
}
public function mainMenuAccess(_arg1:MouseEvent){
padre.player.movieClip.stage.removeEventListener(KeyboardEvent.KEY_DOWN, padre.player.onKeyDown);
padre.player.movieClip.stage.removeEventListener(KeyboardEvent.KEY_UP, padre.player.onKeyUp);
padre.player.movieClip.stage.removeEventListener(MouseEvent.MOUSE_DOWN, padre.player.onClick);
padre.player.movieClip.stage.removeEventListener(MouseEvent.MOUSE_UP, padre.player.onUnclick);
padre.padre.exitGame(false);
}
public function upgradeButtonOut(_arg1:MouseEvent){
_botonUpgrade.gotoAndStop(1);
}
public function moreHealth(_arg1:MouseEvent){
healthCount++;
player.velocidad = (player.velocidad + Parametros.UpgradePropiedadesJugador[1]);
_healthPoints.text = (healthCount + "");
if (player.points > 0){
player.points--;
_totalPoints.text = (player.points + "");
upgradeUpgrade(player.points);
};
}
public function freezeMineSelected(_arg1:MouseEvent){
if ((((player.money >= Parametros.CostoMina)) && (padre.isRun))){
selectedObject = new bombaMinaHielo_mc();
this.padre.addChild(selectedObject);
selectedTrap = FREEZE_MINE_TRAP;
posicionDiscreta = true;
};
}
public function conqueringMessage(_arg1:Boolean){
if ((((conquering == null)) && (_arg1))){
conquering = new Conquering();
conquering.x = (Canvas.APPLICATION_WIDTH / 2);
conquering.y = 25;
padre.addChild(conquering);
padre.padre.soundSystem.sonidoMenuB.play(0, 1, padre.padre.soundSystem.volPrincipal);
} else {
if (((!((conquering == null))) && (!(_arg1)))){
padre.removeChild(conquering);
conquering = null;
};
};
}
public function onEnter(_arg1:KeyboardEvent){
switch (_arg1.keyCode){
case Keyboard.SPACE:
case 85:
if ((((padre.isWin == false)) && (padre.player.update(padre.mouseInLevel, (1000 / padre.FrameRate))))){
if (padre.isRun == true){
if (_upgradeComponent.currentFrame == 1){
_upgradeComponent.gotoAndPlay("open");
padre.isRun = false;
padre.intervalo.stop();
_gamePaused = new gamePaused();
_gamePaused.x = (Canvas.APPLICATION_WIDTH / 2);
_gamePaused.y = (Canvas.APPLICATION_HEIGHT / 2);
padre.addChild(_gamePaused);
_pauseButton.visible = false;
_pauseButton.alpha = 0;
_pauseButton.enabled = false;
_continueButton.visible = true;
_continueButton.alpha = 1;
_continueButton.visible = true;
} else {
_upgradeComponent.gotoAndPlay("close");
padre.isRun = true;
padre.intervalo.start();
padre.removeChild(_gamePaused);
_gamePaused = null;
_pauseButton.visible = true;
_pauseButton.alpha = 1;
_pauseButton.enabled = true;
_continueButton.visible = false;
_continueButton.alpha = 0;
_continueButton.visible = false;
};
} else {
if (_upgradeComponent.currentFrame == 1){
_upgradeComponent.gotoAndPlay("open");
} else {
_upgradeComponent.gotoAndPlay("close");
padre.isRun = true;
padre.intervalo.start();
padre.removeChild(_gamePaused);
_gamePaused = null;
_pauseButton.visible = true;
_pauseButton.alpha = 1;
_pauseButton.enabled = true;
_continueButton.visible = false;
_continueButton.alpha = 0;
_continueButton.visible = false;
};
};
};
break;
case 80:
if ((((padre.isWin == false)) && (padre.player.update(padre.mouseInLevel, (1000 / padre.FrameRate))))){
if (padre.isRun == false){
padre.intervalo.start();
padre.isRun = true;
padre.removeChild(_gamePaused);
_gamePaused = null;
_pauseButton.visible = true;
_pauseButton.alpha = 1;
_pauseButton.enabled = true;
_continueButton.visible = false;
_continueButton.alpha = 0;
_continueButton.visible = false;
if (_upgradeComponent.currentFrame != 1){
_upgradeComponent.gotoAndPlay("close");
};
} else {
padre.intervalo.stop();
padre.isRun = false;
_gamePaused = new gamePaused();
_gamePaused.x = (Canvas.APPLICATION_WIDTH / 2);
_gamePaused.y = (Canvas.APPLICATION_HEIGHT / 2);
padre.addChild(_gamePaused);
_pauseButton.visible = false;
_pauseButton.alpha = 0;
_pauseButton.enabled = false;
_continueButton.visible = true;
_continueButton.alpha = 1;
_continueButton.visible = true;
};
};
break;
};
}
public function upgradeButtonOver(_arg1:MouseEvent){
_botonUpgrade.gotoAndStop(2);
}
public function upgradeUpgrade(_arg1:Number){
if (_arg1 > 0){
_upgradeGlow.gotoAndPlay(2);
_healthButton.alpha = 1;
_healthButton.enabled = true;
_healthButton.visible = true;
_speedButton.alpha = 1;
_speedButton.enabled = true;
_speedButton.visible = true;
_rateButton.alpha = 1;
_rateButton.enabled = true;
_rateButton.visible = true;
if (player.rateOfFire > 0.15){
_rateButton.alpha = 1;
_rateButton.enabled = true;
_rateButton.visible = true;
} else {
player.rateOfFire = 0.15;
};
if (player.danyoDisparo < 12){
_damageButton.alpha = 1;
_damageButton.enabled = true;
_damageButton.visible = true;
};
} else {
_upgradeGlow.gotoAndStop(1);
_healthButton.alpha = 0;
_healthButton.enabled = false;
_healthButton.visible = false;
_speedButton.alpha = 0;
_speedButton.enabled = false;
_speedButton.visible = false;
_rangeButton.alpha = 0;
_rangeButton.enabled = false;
_rangeButton.visible = false;
_rateButton.alpha = 0;
_rateButton.enabled = false;
_rateButton.visible = false;
_damageButton.alpha = 0;
_damageButton.enabled = false;
_damageButton.visible = false;
};
}
public function misilSelected(_arg1:MouseEvent){
if ((((player.money >= Parametros.CostoMisil)) && (padre.isRun))){
this.addChild(selectedObject);
selectedTrap = MISIL;
posicionDiscreta = true;
};
}
public function dynamiteOver(_arg1:MouseEvent){
_dynamiteButton.marcoBoton.alpha = 1;
infoWindow.gotoAndStop(5);
}
public function baseSelected(_arg1:MouseEvent){
if ((((player.money >= Parametros.CostoBase)) && (padre.isRun))){
selectedObject = new BaseMC();
this.padre.addChild(selectedObject);
selectedTrap = BASE;
posicionDiscreta = true;
};
}
public function expOver(_arg1:MouseEvent){
_expBar.gotoAndStop(2);
}
public function toxicOver(_arg1:MouseEvent){
_toxicMineButton.marcoBoton.alpha = 1;
infoWindow.gotoAndStop(3);
}
public function towerSelected(_arg1:MouseEvent){
if ((((player.money >= Parametros.CostoTorreta)) && (padre.isRun))){
this.padre.addChild(selectedObject);
selectedTrap = TOWER;
posicionDiscreta = true;
};
}
public function toxicMineSelected(_arg1:MouseEvent){
if ((((player.money >= Parametros.CostoMina)) && (padre.isRun))){
selectedObject = new bombaMinaGas_mc();
this.padre.addChild(selectedObject);
selectedTrap = TOXIC_MINE_TRAP;
posicionDiscreta = true;
};
}
public function moreRange(_arg1:MouseEvent){
player.radio = (player.radio + Parametros.UpgradePropiedadesJugador[4]);
_rangePoints.text = (player.radio + "");
if (player.points > 0){
player.points--;
_totalPoints.text = (player.points + "");
upgradeUpgrade(player.points);
};
}
public function levelUpSelected(_arg1:MouseEvent){
player.levelUp();
if ((player.nivel + 1) < Parametros.ParametrosPlayerPorNivel.length){
_actualLevel.text = player.nivel.toString();
_levelUpCost.text = Parametros.ParametrosPlayerPorNivel[(player.nivel + 1)][4].toString();
} else {
_addLevel.visible = false;
_addLevel.enabled = false;
};
refreshHud();
}
public function losingMessage(_arg1:Boolean){
if ((((losingBase == null)) && (_arg1))){
losingBase = new LosingBase();
losingBase.x = (Canvas.APPLICATION_WIDTH / 2);
losingBase.y = 25;
padre.addChild(losingBase);
padre.padre.soundSystem.sonidoMenuB.play(0, 1, padre.padre.soundSystem.volPrincipal);
} else {
if (((!((losingBase == null))) && ((_arg1 == false)))){
padre.removeChild(losingBase);
losingBase = null;
};
};
}
public function pauseGame(_arg1:MouseEvent){
if ((((padre.isWin == false)) && (padre.player.update(padre.mouseInLevel, (1000 / padre.FrameRate))))){
if (padre.isRun == false){
padre.intervalo.start();
padre.isRun = true;
padre.removeChild(_gamePaused);
_gamePaused = null;
_pauseButton.visible = true;
_pauseButton.alpha = 1;
_pauseButton.enabled = true;
_continueButton.visible = false;
_continueButton.alpha = 0;
_continueButton.visible = false;
if (_upgradeComponent.currentFrame != 1){
_upgradeComponent.gotoAndPlay("close");
};
} else {
padre.intervalo.stop();
padre.isRun = false;
_gamePaused = new gamePaused();
_gamePaused.x = (Canvas.APPLICATION_WIDTH / 2);
_gamePaused.y = (Canvas.APPLICATION_HEIGHT / 2);
padre.addChild(_gamePaused);
_pauseButton.visible = false;
_pauseButton.alpha = 0;
_pauseButton.enabled = false;
_continueButton.visible = true;
_continueButton.alpha = 1;
_continueButton.visible = true;
};
};
}
public function moreDamage(_arg1:MouseEvent){
damageCount++;
player.danyoDisparo = (player.danyoDisparo + Parametros.UpgradePropiedadesJugador[3]);
trace(player.danyoDisparo);
_damagePoints.text = (damageCount + "");
if (player.points > 0){
player.points--;
_totalPoints.text = (player.points + "");
upgradeUpgrade(player.points);
};
}
public function baseOver(_arg1:MouseEvent){
_baseButton.marcoBoton.alpha = 1;
infoWindow.gotoAndStop(4);
}
public function healthOver(_arg1:MouseEvent){
_healthBar.gotoAndStop(2);
}
public function healthOut(_arg1:MouseEvent){
_healthBar.gotoAndStop(1);
}
public function pointControledMessage(_arg1:Boolean){
if (_arg1 == false){
padre.padre.soundSystem.sonidoMenuB.play(0, 1, padre.padre.soundSystem.volPrincipal);
pointControled = new PointControled();
pointControled.x = (Canvas.APPLICATION_WIDTH / 2);
pointControled.y = 25;
padre.addChild(pointControled);
} else {
padre.padre.soundSystem.bonus.play(0, 1, padre.padre.soundSystem.volPrincipal);
bonusObtained = new BonusObtained();
bonusObtained.x = (Canvas.APPLICATION_WIDTH / 2);
bonusObtained.y = 25;
padre.addChild(bonusObtained);
padre.padre.soundSystem.bonus.play(0, 1, padre.padre.soundSystem.volPrincipal);
};
}
public function soundOn(_arg1:MouseEvent){
padre.padre.soundSystem.volPrincipal.volume = 0;
_soundOn.enabled = false;
_soundOn.visible = false;
_soundOn.alpha = 0;
_soundOff.enabled = true;
_soundOff.visible = true;
_soundOff.alpha = 1;
}
public function moverCursor(_arg1:MouseEvent){
if (((!((selectedObject == null))) && (padre.isRun))){
if (posicionDiscreta){
selectedObject.x = level.toLevelTileCoordX(_arg1.stageX);
selectedObject.y = level.toLevelTileCoordY(_arg1.stageY);
} else {
selectedObject.x = _arg1.stageX;
selectedObject.y = _arg1.stageY;
};
};
}
public function gameIntro(){
inGameIntro = new InGameIntro();
inGameIntro.x = (Canvas.APPLICATION_WIDTH / 2);
inGameIntro.y = (Canvas.APPLICATION_HEIGHT - 75);
padre.addChild(inGameIntro);
}
public function soltarObjeto(_arg1:MouseEvent){
if (((!((selectedObject == null))) && (padre.isRun))){
padre.removeChild(selectedObject);
if (_arg1.stageX < Canvas.APPLICATION_WIDTH){
switch (selectedTrap){
case MINE_TRAP:
case TOXIC_MINE_TRAP:
case FREEZE_MINE_TRAP:
level.addMina(selectedObject.x, selectedObject.y, selectedTrap, selectedObject);
break;
case DYNAMITE_TRAP:
level.addDinamita(selectedObject.x, selectedObject.y);
break;
case BASE:
level.addTurret(selectedObject.x, selectedObject.y);
break;
case TOWER:
break;
case MISIL:
break;
};
};
selectedObject = null;
};
refreshHud();
}
public function mineOver(_arg1:MouseEvent){
_mineButton.marcoBoton.alpha = 1;
infoWindow.gotoAndStop(2);
}
public function dynamiteSelected(_arg1:MouseEvent){
if ((((player.money >= Parametros.CostoDinamita)) && (padre.isRun))){
selectedObject = new DynamiteMC();
this.padre.addChild(selectedObject);
selectedTrap = DYNAMITE_TRAP;
posicionDiscreta = true;
};
}
public function soundOff(_arg1:MouseEvent){
padre.padre.soundSystem.volPrincipal.volume = 0.6;
_soundOn.enabled = true;
_soundOn.visible = true;
_soundOn.alpha = 1;
_soundOff.enabled = false;
_soundOff.visible = false;
_soundOff.alpha = 0;
}
public function moreRate(_arg1:MouseEvent){
rateCount++;
player.rateOfFire = (player.rateOfFire - 0.025);
_ratePoints.text = (rateCount + "");
if (player.points > 0){
padre.player.points--;
_totalPoints.text = (padre.player.points + "");
upgradeUpgrade(padre.player.points);
};
}
public function getUpgrade(_arg1:MouseEvent){
if ((((padre.isWin == false)) && (padre.player.update(padre.mouseInLevel, (1000 / padre.FrameRate))))){
if (padre.isRun == true){
if (_upgradeComponent.currentFrame == 1){
_upgradeComponent.gotoAndPlay("open");
padre.isRun = false;
padre.intervalo.stop();
_gamePaused = new gamePaused();
_gamePaused.x = (Canvas.APPLICATION_WIDTH / 2);
_gamePaused.y = (Canvas.APPLICATION_HEIGHT / 2);
padre.addChild(_gamePaused);
_pauseButton.visible = false;
_pauseButton.alpha = 0;
_pauseButton.enabled = false;
_continueButton.visible = true;
_continueButton.alpha = 1;
_continueButton.visible = true;
} else {
_upgradeComponent.gotoAndPlay("close");
padre.isRun = true;
padre.intervalo.start();
padre.removeChild(_gamePaused);
_gamePaused = null;
_pauseButton.visible = true;
_pauseButton.alpha = 1;
_pauseButton.enabled = true;
_continueButton.visible = false;
_continueButton.alpha = 0;
_continueButton.visible = false;
};
} else {
if (_upgradeComponent.currentFrame == 1){
_upgradeComponent.gotoAndPlay("open");
} else {
_upgradeComponent.gotoAndPlay("close");
padre.isRun = true;
padre.intervalo.start();
padre.removeChild(_gamePaused);
_gamePaused = null;
_pauseButton.visible = true;
_pauseButton.alpha = 1;
_pauseButton.enabled = true;
_continueButton.visible = false;
_continueButton.alpha = 0;
_continueButton.visible = false;
};
};
};
}
public function moreSpeed(_arg1:MouseEvent){
pushCount++;
player.pushBack = (player.pushBack + 0.005);
_speedPoints.text = (pushCount + "");
if (player.points > 0){
player.points--;
_totalPoints.text = (player.points + "");
upgradeUpgrade(player.points);
};
}
}
}//package
Section 113
//ImpactoEnEnemigo (ImpactoEnEnemigo)
package {
import flash.display.*;
public dynamic class ImpactoEnEnemigo extends MovieClip {
public function ImpactoEnEnemigo(){
addFrameScript(5, frame6);
}
function frame6(){
stop();
parent.removeChild(this);
}
}
}//package
Section 114
//ImpactoEnEnemigo_ (ImpactoEnEnemigo_)
package {
import flash.display.*;
public dynamic class ImpactoEnEnemigo_ extends MovieClip {
public function ImpactoEnEnemigo_(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 115
//Indice (Indice)
package {
import flash.display.*;
public dynamic class Indice extends MovieClip {
public var mc:MovieClip;
}
}//package
Section 116
//InGameIntro (InGameIntro)
package {
import flash.display.*;
public dynamic class InGameIntro extends MovieClip {
}
}//package
Section 117
//InsertNameWindow (InsertNameWindow)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import flash.ui.*;
public class InsertNameWindow extends MovieClip {
public var insertName:TextField;
public var padre:UICanvas;
public var playerName:TextField;
public var okIt:SimpleButton;
public var okButton:SimpleButton;
public var playerString:String;
public var interval:Timer;
public function InsertNameWindow(_arg1:UICanvas){
okButton = okIt;
playerName = insertName;
padre = _arg1;
okButton.addEventListener(MouseEvent.CLICK, okClick);
padre.addEventListener(KeyboardEvent.KEY_DOWN, onEnter);
playerName.text = "Enter your name.";
playerName.selectable = true;
playerName.maxChars = 12;
x = 275;
y = 200;
interval = new Timer((1000 / 24), 0);
}
function fadeOut(_arg1:TimerEvent):void{
alpha = (alpha - 0.1);
if (alpha <= 0){
interval.removeEventListener(TimerEvent.TIMER, fadeOut);
padre.achieveSystem = new AchieveSystem();
padre.achieveSystem.padre = padre;
padre.achieveSystem.initAchievements();
if (padre.local_data.data.playerName == playerString){
} else {
padre.local_data.data.playerName = playerString;
};
padre.gotoAndStop("MainMenu");
padre.removeChild(this);
};
}
public function onEnter(_arg1:KeyboardEvent){
switch (_arg1.keyCode){
case Keyboard.ENTER:
if ((((playerName.text == "")) || ((playerName.text == "Type your name.")))){
playerName.text = "Type your name.";
} else {
padre.openData(playerName.text);
exitWindow();
};
break;
};
}
public function okClick(_arg1:MouseEvent):void{
if ((((playerName.text == "")) || ((playerName.text == "Type your name.")))){
playerName.text = "Type your name.";
} else {
padre.openData(playerName.text);
exitWindow();
};
}
function exitWindow(){
padre.removeEventListener(KeyboardEvent.KEY_DOWN, onEnter);
interval.addEventListener(TimerEvent.TIMER, fadeOut);
interval.start();
playerString = playerName.text;
playerName.text = "";
okButton.enabled = false;
}
}
}//package
Section 118
//intro (intro)
package {
import flash.display.*;
public dynamic class intro extends MovieClip {
public var hitarea:MovieClip;
public function intro(){
addFrameScript(0, frame1);
}
function frame1(){
if (language.portal == "family"){
gotoAndStop(1);
};
if (language.portal == "tweens"){
gotoAndStop(2);
};
if (language.portal == "girl"){
gotoAndStop(3);
};
if (language.portal == "game_com_cn"){
gotoAndStop(4);
};
}
}
}//package
Section 119
//IntroSlogan (IntroSlogan)
package {
import flash.text.*;
public dynamic class IntroSlogan extends Font {
}
}//package
Section 120
//jumpA (jumpA)
package {
import flash.media.*;
public dynamic class jumpA extends Sound {
}
}//package
Section 121
//Kamikaze (Kamikaze)
package {
import flash.display.*;
public dynamic class Kamikaze extends MovieClip {
}
}//package
Section 122
//language (language)
package {
import flash.net.*;
public class language {
public static var localConnection = new LocalConnection();
public static var _languageNum:uint = 0;
public static var _languageBox:Array = new Array();
public static var SpillGroupUrl:Array = new Array();
public static var gamename = "Bunny_Charm";
public static function get url2():String{
var _local1:int;
_local1 = 0;
while (_local1 < SpillGroupUrl.length) {
if (localConnection.domain == SpillGroupUrl[_local1]){
return (_languageBox[_languageNum].url2);
};
_local1++;
};
return (_languageBox[_languageNum].url2);
}
public static function get language_nr():String{
return (_languageBox[_languageNum].language_nr);
}
public static function get portal():String{
return (_languageBox[_languageNum].portal);
}
public static function set Language(_arg1:Object):void{
var returnDomain:Function;
var hostingdomain:String;
var myList:String;
var myArray:Array;
var language1:*;
var language2:*;
var language3:*;
var language4:*;
var language5:*;
var language6:*;
var language7:*;
var language8:*;
var language9:*;
var language10:*;
var language11:*;
var language12:*;
var language13:*;
var language14:*;
var language15:*;
var language16:*;
var language17:*;
var language18:*;
var domainextention:int;
var domainname:int;
var languageVersion = _arg1;
returnDomain = function (_arg1:String):String{
var _local2:String;
var _local3:uint;
_local2 = new String();
_local3 = 7;
while (_local3 < _arg1.length) {
if (_arg1.charAt(_local3) == "/"){
break;
};
_local2 = (_local2 + _arg1.charAt(_local3));
_local3++;
};
return (_local2);
};
hostingdomain = "";
myList = localConnection.domain;
myArray = myList.split(".");
if (myArray.length <= 3){
domainextention = (myArray.length - 1);
domainname = (myArray.length - 2);
hostingdomain = ((myArray[domainname] + ".") + myArray[domainextention]);
} else {
hostingdomain = localConnection.domain;
};
language1 = new languageItem();
language1.url1 = ((("http://www.agame.com/moregames/?utm_medium=brandedgames_external&utm_campaign=" + gamename) + "&utm_source=") + hostingdomain);
language1.url2 = ("http://www.agame.com/moregames/?utm_medium=brandedgames_internal&utm_campaign=" + gamename);
language1.language_nr = 1;
language1.branding_nr = 1;
language1.portal = "tweens";
_languageBox.push(language1);
language2 = new languageItem();
language2.url1 = "http://www.game.com.cn/moregames/";
language2.url2 = "http://www.game.com.cn/moregames/";
language2.language_nr = 2;
language2.branding_nr = 2;
language2.portal = "game_com_cn";
_languageBox.push(language2);
language3 = new languageItem();
language3.url1 = ((("http://www.spel.nl/moregames/?utm_medium=brandedgames_external&utm_campaign=" + gamename) + "&utm_source=") + hostingdomain);
language3.url2 = ("http://www.spel.nl/moregames/?utm_medium=brandedgames_internal&utm_campaign=" + gamename);
language3.language_nr = 3;
language3.branding_nr = 4;
language3.portal = "tweens";
_languageBox.push(language3);
language4 = new languageItem();
language4.url1 = ((("http://www.jeu.fr/moregames/?utm_medium=brandedgames_external&utm_campaign=" + gamename) + "&utm_source=") + hostingdomain);
language4.url2 = ("http://www.jeu.fr/moregames/?utm_medium=brandedgames_internal&utm_campaign=" + gamename);
language4.language_nr = 4;
language4.branding_nr = 5;
language4.portal = "tweens";
_languageBox.push(language4);
language5 = new languageItem();
language5.url1 = ((("http://www.spielen.com/moregames/?utm_medium=brandedgames_external&utm_campaign=" + gamename) + "&utm_source=") + hostingdomain);
language5.url2 = ("http://www.spielen.com/moregames/?utm_medium=brandedgames_internal&utm_campaign=" + gamename);
language5.language_nr = 5;
language5.branding_nr = 6;
language5.portal = "tweens";
_languageBox.push(language5);
language6 = new languageItem();
language6.url1 = ((("http://www.minigry.pl/moregames/?utm_medium=brandedgames_external&utm_campaign=" + gamename) + "&utm_source=") + hostingdomain);
language6.url2 = ("http://www.minigry.pl/moregames/?utm_medium=brandedgames_internal&utm_campaign=" + gamename);
language6.language_nr = 6;
language6.branding_nr = 14;
language6.portal = "tweens";
_languageBox.push(language6);
language7 = new languageItem();
language7.url1 = ((("http://www.spel.eu/moregames/?utm_medium=brandedgames_external&utm_campaign=" + gamename) + "&utm_source=") + hostingdomain);
language7.url2 = ("http://www.spel.eu/moregames/?utm_medium=brandedgames_internal&utm_campaign=" + gamename);
language7.language_nr = 7;
language7.branding_nr = 9;
language7.portal = "tweens";
_languageBox.push(language7);
language8 = new languageItem();
language8.url1 = ((("http://www.giocaregratis.it/moregames/?utm_medium=brandedgames_external&utm_campaign=" + gamename) + "&utm_source=") + hostingdomain);
language8.url2 = ("http://www.giocaregratis.it/moregames/?utm_medium=brandedgames_internal&utm_campaign=" + gamename);
language8.language_nr = 8;
language8.branding_nr = 8;
language8.portal = "tweens";
_languageBox.push(language8);
language9 = new languageItem();
language9.url1 = ((("http://www.zapjuegos.com/moregames/?utm_medium=brandedgames_external&utm_campaign=" + gamename) + "&utm_source=") + hostingdomain);
language9.url2 = ("http://www.zapjuegos.com/moregames/?utm_medium=brandedgames_internal&utm_campaign=" + gamename);
language9.language_nr = 9;
language9.branding_nr = 3;
language9.portal = "tweens";
_languageBox.push(language9);
language10 = new languageItem();
language10.url1 = ((("http://www.clickjogos.com/moregames/?utm_medium=brandedgames_external&utm_campaign=" + gamename) + "&utm_source=") + hostingdomain);
language10.url2 = ("http://www.clickjogos.com/moregames/?utm_medium=brandedgames_internal&utm_campaign=" + gamename);
language10.language_nr = 11;
language10.branding_nr = 7;
language10.portal = "tweens";
_languageBox.push(language10);
language11 = new languageItem();
language11.url1 = ((("http://www.games.co.id/moregames/?utm_medium=brandedgames_external&utm_campaign=" + gamename) + "&utm_source=") + hostingdomain);
language11.url2 = ("http://www.games.co.id/moregames/?utm_medium=brandedgames_internal&utm_campaign=" + gamename);
language11.language_nr = 13;
language11.branding_nr = 13;
language11.portal = "tweens";
_languageBox.push(language11);
language12 = new languageItem();
language12.url1 = ((("http://www.flashgames.ru/moregames/?utm_medium=brandedgames_external&utm_campaign=" + gamename) + "&utm_source=") + hostingdomain);
language12.url2 = ("http://www.flashgames.ru/moregames/?utm_medium=brandedgames_internal&utm_campaign=" + gamename);
language12.language_nr = 12;
language12.branding_nr = 11;
language12.portal = "tweens";
_languageBox.push(language12);
language13 = new languageItem();
language13.url1 = ((("http://www.mygames.co.uk/moregames/?utm_medium=brandedgames_external&utm_campaign=" + gamename) + "&utm_source=") + hostingdomain);
language13.url2 = ("http://www.mygames.co.uk/moregames/?utm_medium=brandedgames_internal&utm_campaign=" + gamename);
language13.language_nr = 16;
language13.branding_nr = 10;
language13.portal = "tweens";
_languageBox.push(language13);
language14 = new languageItem();
language14.url1 = ((("http://www.game.co.in/moregames/?utm_medium=brandedgames_external&utm_campaign=" + gamename) + "&utm_source=") + hostingdomain);
language14.url2 = ("http://www.game.co.in/moregames/?utm_medium=brandedgames_internal&utm_campaign=" + gamename);
language14.language_nr = 16;
language14.branding_nr = 12;
language14.portal = "tweens";
_languageBox.push(language14);
language15 = new languageItem();
language15.url1 = ((("http://www.asoyun.com/moregames/?utm_medium=brandedgames_external&utm_campaign=" + gamename) + "&utm_source=") + hostingdomain);
language15.url2 = ("http://www.asoyun.com/moregames/?utm_medium=brandedgames_internal&utm_campaign=" + gamename);
language15.language_nr = 14;
language15.branding_nr = 15;
language15.portal = "tweens";
_languageBox.push(language15);
language16 = new languageItem();
language16.url1 = ((("http://www.game.com.my/moregames/?utm_medium=brandedgames_external&utm_campaign=" + gamename) + "&utm_source=") + hostingdomain);
language16.url2 = ("http://www.game.com.my/moregames/?utm_medium=brandedgames_internal&utm_campaign=" + gamename);
language16.language_nr = 15;
language16.branding_nr = 16;
language16.portal = "tweens";
_languageBox.push(language16);
language17 = new languageItem();
language17.url1 = ((("http://www.ojogos.pt/moregames/?utm_medium=brandedgames_external&utm_campaign=" + gamename) + "&utm_source=") + hostingdomain);
language17.url2 = ("http://www.ojogos.pt/moregames/?utm_medium=brandedgames_internal&utm_campaign=" + gamename);
language17.language_nr = 10;
language17.branding_nr = 42;
language17.portal = "family";
_languageBox.push(language17);
language18 = new languageItem();
language18.url1 = ((("http://www.egames.jp/moregames/?utm_medium=brandedgames_external&utm_campaign=" + gamename) + "&utm_source=") + hostingdomain);
language18.url2 = ("http://www.egames.jp/moregames/?utm_medium=brandedgames_internal&utm_campaign=" + gamename);
language18.language_nr = 17;
language18.branding_nr = 44;
language18.portal = "tweens";
_languageBox.push(language18);
SpillGroupUrl.push("localhost");
SpillGroupUrl.push("www8.agame.com");
if ((((((languageVersion is Number)) || ((languageVersion is uint)))) || ((languageVersion is int)))){
_languageNum = (Number(languageVersion) - 1);
};
}
public static function get url1():String{
var _local1:int;
_local1 = 0;
while (_local1 < SpillGroupUrl.length) {
if (localConnection.domain == SpillGroupUrl[_local1]){
return (_languageBox[_languageNum].url2);
};
_local1++;
};
return (_languageBox[_languageNum].url1);
}
public static function get branding_nr():String{
return (_languageBox[_languageNum].branding_nr);
}
}
}//package
class languageItem {
public var url1:String;
public var url2:String;
public var branding_nr:int;
public var language_nr:int;
public var portal:String;
private function languageItem(){
}
}
Section 123
//LevelUp (LevelUp)
package {
import flash.display.*;
public dynamic class LevelUp extends MovieClip {
}
}//package
Section 124
//ListaEnlazada (ListaEnlazada)
package {
public class ListaEnlazada {
public var primerObjeto:ObjetoListaEnlazada;
public var counter:int;
public function ListaEnlazada(){
primerObjeto = null;
counter = 0;
}
public function agregarObjeto(_arg1:ObjetoListaEnlazada){
_arg1.sgte = primerObjeto;
if (primerObjeto != null){
primerObjeto.prev = _arg1;
};
_arg1.prev = null;
primerObjeto = _arg1;
counter++;
}
public function removerObjeto(_arg1:ObjetoListaEnlazada){
if (_arg1.sgte != null){
_arg1.sgte.prev = _arg1.prev;
};
if (_arg1.prev != null){
_arg1.prev.sgte = _arg1.sgte;
} else {
primerObjeto = _arg1.sgte;
};
counter--;
}
}
}//package
Section 125
//LosingBase (LosingBase)
package {
import flash.display.*;
public dynamic class LosingBase extends MovieClip {
}
}//package
Section 126
//MainMenu (MainMenu)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
public class MainMenu extends MovieClip {
public var newButton:SimpleButton;
public var pmgButton:SimpleButton;
public var padre:UICanvas;
public var pScore:TextField;
public var pName:TextField;
public var achievements:SimpleButton;
public var pLevel:TextField;
public var oSelected:Number;// = 0
public var infoPlayer:MovieClip;
public var difSelected:Number;// = 0
public var highscores:SimpleButton;
public var htpButton:SimpleButton;
public var achButton:SimpleButton;
public var specialButton:SimpleButton;
public var scoreButton:SimpleButton;
public var button_gameover_moregames:SimpleButton;
public var logo_mainscreen:MovieClip;
public var difficultyWindow:DifficultyWindow;
public var newGame:SimpleButton;
public var interval:Timer;
public var howToPlay:SimpleButton;
public function MainMenu(_arg1:UICanvas){
oSelected = 0;
difSelected = 0;
super();
addFrameScript(0, frame1, 14, frame15);
this.padre = _arg1;
alpha = 0;
_arg1.addEventListener(KeyboardEvent.KEY_DOWN, onEnter);
interval = new Timer((1000 / 24), 0);
newButton = newGame;
htpButton = howToPlay;
achButton = achievements;
scoreButton = highscores;
newButton.enabled = false;
htpButton.enabled = false;
achButton.enabled = false;
scoreButton.enabled = false;
newButton.addEventListener(MouseEvent.CLICK, newClick);
newButton.addEventListener(MouseEvent.ROLL_OVER, newOver);
newButton.addEventListener(MouseEvent.ROLL_OUT, newOut);
htpButton.addEventListener(MouseEvent.CLICK, htpClick);
htpButton.addEventListener(MouseEvent.ROLL_OVER, htpOver);
htpButton.addEventListener(MouseEvent.ROLL_OUT, htpOut);
achButton.addEventListener(MouseEvent.CLICK, achClick);
achButton.addEventListener(MouseEvent.ROLL_OVER, achOver);
achButton.addEventListener(MouseEvent.ROLL_OUT, achOut);
scoreButton.addEventListener(MouseEvent.CLICK, scoreClick);
scoreButton.addEventListener(MouseEvent.ROLL_OVER, scoreOver);
scoreButton.addEventListener(MouseEvent.ROLL_OUT, scoreOut);
pName = this.infoPlayer.playerName;
pLevel = this.infoPlayer.playerLevel;
pScore = this.infoPlayer.playerScore;
pName.text = (_arg1.local_data.data.playerName + "");
pLevel.text = (_arg1.local_data.data.achieveLevel + "");
pScore.text = (_arg1.local_data.data.achieveScore + "");
pName.selectable = false;
pLevel.selectable = false;
pScore.selectable = false;
button_gameover_moregames.addEventListener(MouseEvent.CLICK, _arg1.onCLick3);
enterWindow();
}
public function htpOver(_arg1:MouseEvent):void{
}
public function htpClick(_arg1:MouseEvent):void{
oSelected = 3;
exitWindow();
}
public function achOut(_arg1:MouseEvent):void{
}
function fadeOut(_arg1:TimerEvent):void{
switch (oSelected){
case 1:
interval.removeEventListener(TimerEvent.TIMER, fadeOut);
addDifficultyWindow();
difficultyWindow.gotoAndStop("dificultad");
difficultyWindow.newGame = true;
oSelected = -1;
break;
case 3:
alpha = (alpha - 0.1);
if (alpha <= 0){
interval.removeEventListener(TimerEvent.TIMER, fadeOut);
padre.addHowToPlay();
oSelected = -1;
padre.removeChild(this);
};
break;
case 4:
alpha = (alpha - 0.1);
if (alpha <= 0){
interval.removeEventListener(TimerEvent.TIMER, fadeOut);
padre.addAchieveWindow();
oSelected = -1;
padre.removeChild(this);
};
break;
case 5:
alpha = (alpha - 0.1);
if (alpha <= 0){
interval.removeEventListener(TimerEvent.TIMER, fadeOut);
padre.addSpecialContent();
oSelected = -1;
padre.removeChild(this);
};
break;
case 6:
interval.removeEventListener(TimerEvent.TIMER, fadeOut);
addDifficultyWindow();
difficultyWindow.gotoAndStop("opcion");
difficultyWindow.newGame = false;
oSelected = -1;
break;
case 61:
alpha = (alpha - 0.1);
if (alpha <= 0){
interval.removeEventListener(TimerEvent.TIMER, fadeOut);
padre.scoreSystem.showScores(difSelected);
oSelected = -1;
padre.removeChild(this);
};
break;
case 62:
alpha = (alpha - 0.1);
if (alpha <= 0){
interval.removeEventListener(TimerEvent.TIMER, fadeOut);
padre.newGame(difSelected);
oSelected = -1;
padre.removeChild(this);
};
break;
};
}
public function scoreClick(_arg1:MouseEvent):void{
oSelected = 6;
exitWindow();
}
public function pmgOver(_arg1:MouseEvent):void{
}
public function addDifficultyWindow(){
padre.removeEventListener(KeyboardEvent.KEY_DOWN, onEnter);
difficultyWindow = new DifficultyWindow();
addChild(difficultyWindow);
difficultyWindow.x = 275;
difficultyWindow.y = 200;
difficultyWindow.padre = this;
difficultyWindow.initDif();
difficultyWindow.enterWindow();
}
public function pmgOut(_arg1:MouseEvent):void{
}
public function specialOver(_arg1:MouseEvent):void{
}
function frame15(){
stop();
padre.soundSystem.gunB.play();
}
public function specialClick(_arg1:MouseEvent):void{
oSelected = 5;
exitWindow();
}
public function loadOut(_arg1:MouseEvent):void{
}
public function achOver(_arg1:MouseEvent):void{
}
public function scoreOver(_arg1:MouseEvent):void{
}
public function achClick(_arg1:MouseEvent):void{
oSelected = 4;
exitWindow();
}
public function newOver(_arg1:MouseEvent):void{
}
public function pmgClick(_arg1:MouseEvent):void{
var _local2:URLRequest;
_local2 = new URLRequest("http://www.cuaticgames.com/");
navigateToURL(_local2, "_blank");
}
function exitWindow(){
newButton.enabled = false;
htpButton.enabled = false;
achButton.enabled = false;
scoreButton.enabled = false;
interval.addEventListener(TimerEvent.TIMER, fadeOut);
}
public function newOut(_arg1:MouseEvent):void{
}
public function onEnter(_arg1:KeyboardEvent){
switch (_arg1.keyCode){
case Keyboard.ENTER:
oSelected = 1;
exitWindow();
break;
};
}
function fadeIn(_arg1:TimerEvent):void{
alpha = (alpha + 0.1);
if (alpha >= 1){
newButton.enabled = true;
htpButton.enabled = true;
achButton.enabled = true;
scoreButton.enabled = true;
interval.removeEventListener(TimerEvent.TIMER, fadeIn);
};
}
function frame1(){
padre.soundSystem.mainMenuIntro.play();
}
public function htpOut(_arg1:MouseEvent):void{
}
public function specialOut(_arg1:MouseEvent):void{
}
public function newClick(_arg1:MouseEvent):void{
oSelected = 1;
exitWindow();
}
public function loadOver(_arg1:MouseEvent):void{
}
public function scoreOut(_arg1:MouseEvent):void{
}
function enterWindow(){
interval.addEventListener(TimerEvent.TIMER, fadeIn);
interval.start();
}
public function loadClick(_arg1:MouseEvent):void{
}
}
}//package
Section 127
//MainMenuShotGun (MainMenuShotGun)
package {
import flash.media.*;
public dynamic class MainMenuShotGun extends Sound {
}
}//package
Section 128
//MapaChallengeMC (MapaChallengeMC)
package {
import flash.display.*;
public dynamic class MapaChallengeMC extends MovieClip {
}
}//package
Section 129
//MapaHard (MapaHard)
package {
import flash.display.*;
public dynamic class MapaHard extends MovieClip {
}
}//package
Section 130
//MapaNormal (MapaNormal)
package {
import flash.display.*;
public dynamic class MapaNormal extends MovieClip {
}
}//package
Section 131
//Menu (Menu)
package {
import flash.display.*;
public dynamic class Menu extends MovieClip {
}
}//package
Section 132
//Mina (Mina)
package {
import flash.display.*;
public class Mina extends ObjetoListaEnlazada {
public var movieClip:MovieClip;
public var i:int;
public var j:int;
public var posicion:Vector2D;
public function Mina(_arg1:int, _arg2:int, _arg3:MovieClip, _arg4:CanvasScenario, _arg5:int, _arg6:MovieClip){
i = _arg1;
j = _arg2;
movieClip = _arg6;
posicion = new Vector2D();
posicion.X = ((j + 0.5) * Parametros.TamanyoTile);
posicion.Y = ((i + 0.5) * Parametros.TamanyoTile);
movieClip.x = posicion.X;
movieClip.y = posicion.Y;
_arg3.addChildAt(movieClip, 1);
switch (_arg5){
case HudMenu.MINE_TRAP:
_arg4.player.money = (_arg4.player.money - Parametros.CostoMina);
break;
case HudMenu.TOXIC_MINE_TRAP:
_arg4.player.money = (_arg4.player.money - Parametros.CostoMinaToxica);
break;
case HudMenu.FREEZE_MINE_TRAP:
_arg4.player.money = (_arg4.player.money - Parametros.CostoMinaCongelar);
break;
};
}
}
}//package
Section 133
//MineMC (MineMC)
package {
import flash.display.*;
public dynamic class MineMC extends MovieClip {
}
}//package
Section 134
//mineTrigger (mineTrigger)
package {
import flash.media.*;
public dynamic class mineTrigger extends Sound {
}
}//package
Section 135
//MochiAd (MochiAd)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiAd {
public static function getVersion():String{
return ("2.7");
}
public static function showClickAwayAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_timeout:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var sendHostProgress:Boolean;
var options = _arg1;
DEFAULTS = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{
}, ad_finished:function ():void{
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
sendHostProgress = false;
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
return;
};
_local1 = this.parent._mochiad_ctr;
_local2 = (getTimer() - this.started);
_local3 = false;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
_local3 = true;
chk.started = getTimer();
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (this.root == null){
_local3 = true;
};
if (_local3){
delete this.onEnterFrame;
};
};
doOnEnterFrame(chk);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function _allowDomains(_arg1:String):String{
var _local2:String;
_local2 = _arg1.split("/")[2].split(":")[0];
Security.allowDomain("*");
Security.allowDomain(_local2);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(_local2);
return (_local2);
}
public static function unload(_arg1:Object):Boolean{
if (((_arg1.clip) && (_arg1.clip._mochiad))){
_arg1 = _arg1.clip;
};
if (_arg1.origFrameRate != undefined){
_arg1.stage.frameRate = _arg1.origFrameRate;
};
if (!_arg1._mochiad){
return (false);
};
if (_arg1._mochiad._containerLCName != undefined){
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "notify", {id:"unload"});
};
if (_arg1._mochiad.onUnload){
_arg1._mochiad.onUnload();
};
delete _arg1._mochiad_loaded;
delete _arg1._mochiad;
return (true);
}
public static function showInterLevelAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = (_arg1 - 250);
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
_local1 = this.parent._mochiad_ctr;
_local2 = (getTimer() - this.started);
_local3 = false;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (_local2 > chk.ad_msec){
_local3 = true;
};
if (_local3){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _parseOptions(_arg1:Object, _arg2:Object):Object{
var _local3:Object;
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
_local3 = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
if (_arg1){
for (_local4 in _arg1) {
_local3[_local4] = _arg1[_local4];
};
};
if (_local3.clip == undefined){
throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite."));
};
_arg1 = _local3.clip.loaderInfo.parameters.mochiad_options;
if (_arg1){
_local5 = _arg1.split("&");
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = _local5[_local6].split("=");
_local3[unescape(_local7[0])] = unescape(_local7[1]);
_local6++;
};
};
if (_local3.id == "test"){
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
};
return (_local3);
}
public static function _cleanup(_arg1:Object):void{
var idx:Number;
var k:String;
var lc:LocalConnection;
var f:Function;
var mc = _arg1;
if (("lc" in mc)){
lc = mc.lc;
f = function ():void{
try {
lc.client = null;
lc.close();
} catch(e:Error) {
};
};
setTimeout(f, 0);
};
idx = DisplayObjectContainer(mc).numChildren;
while (idx > 0) {
idx = (idx - 1);
DisplayObjectContainer(mc).removeChildAt(idx);
};
for (k in mc) {
delete mc[k];
};
}
public static function load(_arg1:Object):MovieClip{
var DEFAULTS:Object;
var clip:Object;
var depth:Number;
var mc:MovieClip;
var wh:Array;
var lv:URLVariables;
var k:String;
var server:String;
var hostname:String;
var lc:LocalConnection;
var name:String;
var loader:Loader;
var g:Function;
var req:URLRequest;
var v:Object;
var options = _arg1;
DEFAULTS = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
if (!MochiAd._isNetworkAvailable()){
return (null);
};
try {
if (clip._mochiad_loaded){
return (null);
};
} catch(e:Error) {
throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
depth = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, "_mochiad", depth);
wh = MochiAd._getRes(options, clip);
options.res = ((wh[0] + "x") + wh[1]);
options.server = (options.server + options.id);
delete options.id;
clip._mochiad_loaded = true;
if (clip.loaderInfo.loaderURL.indexOf("http") == 0){
options.as3_swf = clip.loaderInfo.loaderURL;
};
lv = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
mc.lcName = name;
lv.lc = name;
lv.st = getTimer();
loader = new Loader();
g = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest(((server + ".swf?cacheBust=") + new Date().getTime()));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.load(req);
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function runMethod(_arg1:Object, _arg2:String, _arg3:Array):Object{
var _local4:Array;
var _local5:Number;
_local4 = _arg2.split(".");
_local5 = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
if (typeof(_arg1[_local4[_local5]]) == "function"){
return (_arg1[_local4[_local5]].apply(_arg1, _arg3));
};
return (undefined);
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{
var _local4:MovieClip;
_local4 = new MovieClip();
if (((false) && (_arg3))){
_arg1.addChildAt(_local4, _arg3);
} else {
_arg1.addChild(_local4);
};
_arg1[_arg2] = _local4;
_local4["_name"] = _arg2;
return (_local4);
}
public static function _getRes(_arg1:Object, _arg2:Object):Array{
var _local3:Object;
var _local4:Number;
var _local5:Number;
var _local6:Array;
_local3 = _arg2.getBounds(_arg2.root);
_local4 = 0;
_local5 = 0;
if (typeof(_arg1.res) != "undefined"){
_local6 = _arg1.res.split("x");
_local4 = parseFloat(_local6[0]);
_local5 = parseFloat(_local6[1]);
} else {
_local4 = (_local3.xMax - _local3.xMin);
_local5 = (_local3.yMax - _local3.yMin);
};
if ((((_local4 == 0)) || ((_local5 == 0)))){
_local4 = _arg2.stage.stageWidth;
_local5 = _arg2.stage.stageHeight;
};
return ([_local4, _local5]);
}
public static function adShowing(_arg1:Object):void{
_arg1.origFrameRate = _arg1.stage.frameRate;
_arg1.stage.frameRate = 30;
}
public static function getValue(_arg1:Object, _arg2:String):Object{
var _local3:Array;
var _local4:Number;
_local3 = _arg2.split(".");
_local4 = 0;
while (_local4 < (_local3.length - 1)) {
if ((((_arg1[_local3[_local4]] == undefined)) || ((_arg1[_local3[_local4]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local3[_local4]];
_local4++;
};
return (_arg1[_local3[_local4]]);
}
public static function rpc(_arg1:Object, _arg2:Number, _arg3:Object):void{
var _local4:Object;
var _local5:Object;
switch (_arg3.id){
case "setValue":
MochiAd.setValue(_arg1, _arg3.objectName, _arg3.value);
break;
case "getValue":
_local4 = MochiAd.getValue(_arg1, _arg3.objectName);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local4);
break;
case "runMethod":
_local5 = MochiAd.runMethod(_arg1, _arg3.method, _arg3.args);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local5);
break;
default:
trace(("[mochiads rpc] unknown rpc id: " + _arg3.id));
};
}
public static function setValue(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Array;
var _local5:Number;
_local4 = _arg2.split(".");
_local5 = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return;
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
_arg1[_local4[_local5]] = _arg3;
}
public static function showPreGameAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var bar:MovieClip;
var bar_color:Number;
var bar_background:Number;
var bar_outline:Number;
var backing_mc:MovieClip;
var backing:Object;
var inside_mc:MovieClip;
var inside:Object;
var outline_mc:MovieClip;
var outline:Object;
var complete:Boolean;
var unloaded:Boolean;
var f:Function;
var sendHostProgress:Boolean;
var fn:Function;
var r:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}, ad_progress:function (_arg1:Number):void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){
options.ad_started();
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
return;
};
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
var fn:Function;
MochiAd._cleanup(mc);
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
bar = createEmptyMovieClip(chk, "_mochiad_bar", 4);
if (options.no_progress_bar){
bar.visible = false;
delete options.no_progress_bar;
} else {
bar.x = 10;
bar.y = (h - 20);
};
bar_color = options.color;
delete options.color;
bar_background = options.background;
delete options.background;
bar_outline = options.outline;
delete options.outline;
backing_mc = createEmptyMovieClip(bar, "_outline", 1);
backing = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo((w - 20), 0);
backing.lineTo((w - 20), 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
inside_mc = createEmptyMovieClip(bar, "_inside", 2);
inside = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo((w - 20), 0);
inside.lineTo((w - 20), 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
outline_mc = createEmptyMovieClip(bar, "_outline", 3);
outline = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo((w - 20), 0);
outline.lineTo((w - 20), 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
f = function (_arg1:Event):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = _arg1;
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
mc.rpcTestFn = function (_arg1:String):Object{
trace(("[MOCHIAD rpcTestFn] " + _arg1));
return (_arg1);
};
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
sendHostProgress = false;
mc.sendHostLoadProgress = function (_arg1:String):void{
sendHostProgress = true;
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Object;
var _local3:Number;
var _local4:Boolean;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Object;
var _local10:Number;
var _local11:Number;
if (((!(this.parent)) || (!(this.parent.parent)))){
delete this["onEnterFrame"];
return;
};
_local1 = this.parent.parent.root;
_local2 = this.parent._mochiad_ctr;
_local3 = (getTimer() - this.started);
_local4 = false;
_local5 = _local1.loaderInfo.bytesTotal;
_local6 = _local1.loaderInfo.bytesLoaded;
if (complete){
_local6 = Math.max(1, _local6);
_local5 = _local6;
};
_local7 = ((100 * _local6) / _local5);
_local8 = ((100 * _local3) / chk.ad_msec);
_local9 = this._mochiad_bar._inside;
_local10 = Math.min(100, Math.min(((_local7) || (0)), _local8));
_local10 = Math.max(this.last_pcnt, _local10);
this.last_pcnt = _local10;
_local9.scaleX = (_local10 * 0.01);
options.ad_progress(_local10);
if (sendHostProgress){
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local7});
if (_local7 == 100){
sendHostProgress = false;
};
};
if (!chk.showing){
_local11 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local11 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if ((((_local3 > chk.ad_timeout)) && ((_local7 == 100)))){
options.ad_failed();
_local4 = true;
};
};
};
if (_local3 > chk.ad_msec){
_local4 = true;
};
if (((complete) && (_local4))){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
MochiAd.showPreGameAd(_arg1);
}
public static function showTimedAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
MochiAd.showInterLevelAd(_arg1);
}
public static function doOnEnterFrame(_arg1:MovieClip):void{
var f:Function;
var mc = _arg1;
f = function (_arg1:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package
Section 136
//MochiBot (MochiBot)
package {
import flash.display.*;
import flash.net.*;
import flash.system.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:Sprite, _arg2:String):MochiBot{
var _local3:MochiBot;
var _local4:String;
var _local5:URLVariables;
var _local6:String;
var _local7:URLRequest;
var _local8:Loader;
if (Security.sandboxType == "localWithFile"){
return (null);
};
_local3 = new (MochiBot);
_arg1.addChild(_local3);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
_local4 = "http://core.mochibot.com/my/core.swf";
_local5 = new URLVariables();
_local5["sb"] = Security.sandboxType;
_local5["v"] = Capabilities.version;
_local5["swfid"] = _arg2;
_local5["mv"] = "8";
_local5["fv"] = "9";
_local6 = _local3.root.loaderInfo.loaderURL;
if (_local6.indexOf("http") == 0){
_local5["url"] = _local6;
} else {
_local5["url"] = "local";
};
_local7 = new URLRequest(_local4);
_local7.contentType = "application/x-www-form-urlencoded";
_local7.method = URLRequestMethod.POST;
_local7.data = _local5;
_local8 = new Loader();
_local3.addChild(_local8);
_local8.load(_local7);
return (_local3);
}
}
}//package
Section 137
//muerteBalaMC (muerteBalaMC)
package {
import flash.display.*;
public dynamic class muerteBalaMC extends MovieClip {
public function muerteBalaMC(){
addFrameScript(14, frame15);
}
function frame15(){
stop();
parent.removeChild(this);
}
}
}//package
Section 138
//muerteDedoMC (muerteDedoMC)
package {
import flash.display.*;
public dynamic class muerteDedoMC extends MovieClip {
public function muerteDedoMC(){
addFrameScript(44, frame45);
}
function frame45(){
parent.removeChild(this);
stop();
}
}
}//package
Section 139
//MuerteNaturalBala (MuerteNaturalBala)
package {
import flash.media.*;
public dynamic class MuerteNaturalBala extends Sound {
}
}//package
Section 140
//NewMap (NewMap)
package {
import flash.display.*;
public dynamic class NewMap extends MovieClip {
}
}//package
Section 141
//ObjetoListaEnlazada (ObjetoListaEnlazada)
package {
public class ObjetoListaEnlazada {
public var prev:ObjetoListaEnlazada;
public var sgte:ObjetoListaEnlazada;
}
}//package
Section 142
//OldMap (OldMap)
package {
import flash.display.*;
public dynamic class OldMap extends MovieClip {
}
}//package
Section 143
//Parametros (Parametros)
package {
public class Parametros {
public static const TimeBeetweenWaves:int = 30000;
public static const CostoBase:int = 50;
public static const CongeladoUpdates:int = 200;
public static const DanyoDisparo:int = 2;
public static const DanyoMina:int = 15;
public static const EnergiaEnemigoRojo:int = 2;
public static const VelocidadEnemigoRojo:Number = 1;
public static const yInicialPlayer:int = 116;
public static const EnergiaCadaverEnemigoCafe:int = 3;
public static const SlideFactor:Number = 0.1;
public static const CostoDinamita:int = 15;
public static const CostoTorreta:int = 20;
public static const EnergiaEnemigoVerde:int = 1;
public static const DistanciaMaximaPosicionamientoBase:int = 50;
public static const DineroInicialPlayer:int = 0;
public static const DanyoDinamita:int = 25;
public static const CostoAlMorirSoldado:int = 1;
public static const CostoMinaCongelar:int = 10;
public static const CostoAlMorirRobot:int = 5;
public static const CostoAlMorirWorm:int = 5;
public static const BaseMachineGunReload:int = 40;
public static const ParametrosPlayerPorNivel:Array = [[0], [3, 2, 0.6, 3, 0, 150], [11, 1.1, 0.5, 5, 10, 105], [12, 1.2, 0.5, 5, 15, 105], [13, 1.3, 0.45, 5, 20, 110], [14, 1.4, 0.45, 10, 25, 110], [15, 1.5, 0.45, 10, 30, 115], [16, 1.6, 0.4, 10, 35, 115], [17, 1.7, 0.4, 10, 40, 120], [18, 1.8, 0.4, 15, 45, 120], [19, 1.9, 0.35, 15, 50, 125], [20, 2, 0.35, 15, 55, 125], [21, 2.1, 0.357, 15, 60, 130], [22, 2.2, 0.3, 20, 65, 130], [23, 2.3, 0.3, 20, 70, 135], [24, 2.4, 0.3, 20, 75, 135], [25, 2.5, 0.3, 20, 80, 140], [26, 2.6, 0.25, 25, 85, 140], [27, 2.7, 0.25, 25, 90, 145], [28, 2.8, 0.2, 25, 95, 150], [30, 3, 0.2, 30, 100, 150]];
public static const VelocidadEnemigoCafe:Number = 0.5;
public static const CostoMina:int = 5;
public static const MachineGunReload:int = 3;
public static const VelocidadEnemigoVerde:Number = 1.5;
public static const EnergiaEnemigoCafe:int = 3;
public static const TiempoEntreDominationCheckPoint:int = 5000;
public static const DominationMoneyPorBase:int = 1;
public static const CostoAlMorirRunner:int = 1;
public static const xInicialPlayer:int = 116;
public static const RadioDisparoBase:int = 50;
public static const DanyoDisparoBase:int = 10;
public static const DanyoToxicMinePorUpdate:Number = 0.05;
public static const FirstWave:int = 5000;
public static const CostoAlMorirIndice:int = 1;
public static const CostoLevelUp:int = 60;
public static const CostoMisil:int = 30;
public static const VelocidadPlayer:Number = 10;
public static const TamanyoTile:int = 32;
public static const CostoAlMorirSargento:int = 1;
public static const EnergiaInicialBase:int = 20;
public static const CostoAlMorirKamikaze:int = 1;
public static const TiempoExplosionDinamita:int = 1000;
public static const EnergiaCadaverEnemigoVerde:int = 1;
public static const UpgradePropiedadesJugador:Array = [1, 0.05, 0.93, 0.5, 5];
public static const EnergiaCadaverEnemigoRojo:int = 2;
public static const CostoBarril:int = 5;
public static const CostoAlMorirPulgar:int = 1;
public static const EnergiaInicialPlayer:int = 10;
public static const TamanyoTileMedios:int = 16;
public static const SlideUpdates:int = 6;
public static const CostoMinaToxica:int = 15;
public static const RadioDinamita:int = 40;
public static var MaximaCantidadDeBases:int = 3;
}
}//package
Section 144
//PartExploA (PartExploA)
package {
import flash.display.*;
public dynamic class PartExploA extends MovieClip {
}
}//package
Section 145
//Player (Player)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
public class Player {
public var nivel:int;
private var currentAnimation:int;
public var danyoDisparo:Number;
private var newAnimationDirection:int;
private var currentRotation:Number;
var actualTic:Number;// = 3000
public var pushBack:Number;// = 0
public var maxNiveles:int;
public var velocidad:Number;
public var conqueringTimeRemaining:int;// = 1000
public var isMovingLeft:Boolean;// = false
private var machineGunCounter:int;
public var rayMC:MovieClip;
private var clickDown:Boolean;
public var energyCounter:TextField;
public var currentTileI:int;
public var currentTileJ:int;
public var thisWin:Boolean;
public var domination:int;
var isHealing:Boolean;// = false
private var rayCounter:int;
public var velocidadDiagonal:Number;
var ticObj:Number;// = 1000
var interval_level:Timer;
public var level:CanvasScenario;
public var aunVivo:Boolean;
public var score:Number;
public var healths:Array;
public var movieClip:MovieClip;
public var particulaA:MovieClip;
private var mouse:Vector2D;
public var particulaB:MovieClip;
public var rateOfFire:Number;
public var posicionAnterior:Vector2D;
public var experiencia:int;
public var particulaC:MovieClip;
public var expIntervalo:Array;
public var origenBala:Array;
public var money:int;
public var bases:Array;
private var deltaMouse:Vector2D;
public var isMovingUp:Boolean;// = false
public var isMovingDown:Boolean;// = false
public var energiaTotal:Number;
public var posicion:Vector2D;
public var dominationTimeRemaining:int;
public var points:Number;
public var energia:Number;
public var isMovingRight:Boolean;// = false
var ticCorazon:Number;// = 1000
private var fireWeapon:Function;
public var _actionMessage:MovieClip;
public var radio:Number;
public var _radio:Number;
public function Player(_arg1:MovieClip, _arg2:CanvasScenario){
var _local3:int;
var _local4:int;
var _local5:MovieClip;
isMovingUp = false;
isMovingDown = false;
isMovingLeft = false;
isMovingRight = false;
danyoDisparo = Parametros.DanyoDisparo;
energia = Parametros.EnergiaInicialPlayer;
conqueringTimeRemaining = 1000;
actualTic = 3000;
interval_level = new Timer((1000 / 30), 0);
ticCorazon = 1000;
ticObj = 1000;
pushBack = 0;
isHealing = false;
super();
level = _arg2;
points = 0;
construirTextoEnergia(_arg1);
posicionAnterior = new Vector2D();
posicion = new Vector2D();
posicion.X = level.posInitPX;
posicion.Y = level.posInitPY;
currentTileI = Math.floor((posicion.Y / Parametros.TamanyoTile));
currentTileJ = Math.floor((posicion.X / Parametros.TamanyoTile));
bases = new Array((level.baseEsperada.length + 1));
_local3 = 0;
while (_local3 < level.baseEsperada.length) {
bases[_local3] = new Base(_local3, level.baseEsperada[_local3][1], level.baseEsperada[_local3][0], level, false);
_local3++;
};
bases[level.baseEsperada.length] = new Base(level.baseEsperada.length, currentTileI, currentTileJ, level, true);
bases[level.baseEsperada.length].energia = 1;
healths = new Array(level.healthEsperada.length);
_local4 = 0;
while (_local4 < level.healthEsperada.length) {
_local5 = new HealthSpace();
_local5.x = (32 * level.healthEsperada[_local4][0]);
_local5.y = (32 * level.healthEsperada[_local4][1]);
level.map.addChild(_local5);
healths[_local4] = _local5;
_local4++;
};
movieClip = new Conejo();
movieClip.gotoAndStop(1);
_radio = ((movieClip.height / 2) - 3);
level.map.addChild(movieClip);
particulaA = movieClip.particula1;
particulaB = movieClip.particula2;
particulaC = movieClip.particula3;
particulaA.alpha = 0;
particulaB.alpha = 0;
particulaC.alpha = 0;
particulaA.stop();
rayMC = new Rayo();
rayMC.visible = false;
level.map.addChild(rayMC);
deltaMouse = new Vector2D();
mouse = new Vector2D();
_arg2.objectBeingFollowed = this.movieClip;
movieClip.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
movieClip.stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
movieClip.stage.addEventListener(MouseEvent.MOUSE_DOWN, onClick);
movieClip.stage.addEventListener(MouseEvent.MOUSE_UP, onUnclick);
clickDown = false;
fireWeapon = fireMachineGun;
money = Parametros.DineroInicialPlayer;
domination = 0;
nivel = 0;
levelUp();
experiencia = 0;
expIntervalo = [5, 10, 15, 20, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25];
maxNiveles = 20;
score = 0;
conqueringTimeRemaining = 1000;
energia = (energiaTotal = Parametros.ParametrosPlayerPorNivel[1][0]);
velocidad = Parametros.ParametrosPlayerPorNivel[1][1];
velocidadDiagonal = (velocidad / 1.4142);
rateOfFire = Parametros.ParametrosPlayerPorNivel[1][2];
danyoDisparo = Parametros.ParametrosPlayerPorNivel[1][3];
radio = Parametros.ParametrosPlayerPorNivel[1][5];
thisWin = false;
pushBack = 0;
_actionMessage = movieClip.actionMessage;
origenBala = [[0, -6], [5.5, 1.5], [4, 8], [3, 6.5], [1.5, 5], [-4, 7], [-5, 8], [-5, 4]];
}
public function corregirPosicion():Boolean{
var _local1:int;
var _local2:int;
var _local3:Number;
var _local4:Number;
var _local5:Boolean;
var _local6:Boolean;
var _local7:Boolean;
var _local8:Boolean;
var _local9:Boolean;
_local1 = int((posicion.Y / Parametros.TamanyoTile));
_local2 = int((posicion.X / Parametros.TamanyoTile));
_local3 = (_local2 * Parametros.TamanyoTile);
_local4 = (_local1 * Parametros.TamanyoTile);
_local5 = false;
_local6 = false;
_local7 = false;
_local8 = false;
_local9 = false;
if (((isMovingUp) && (((posicion.Y - _radio) < _local4)))){
_local5 = true;
if (!level.tilePasable((_local1 - 1), _local2)){
posicion.Y = posicionAnterior.Y;
_local9 = true;
};
};
if (((isMovingDown) && (((posicion.Y + _radio) > (_local4 + Parametros.TamanyoTile))))){
_local7 = true;
if (!level.tilePasable((_local1 + 1), _local2)){
posicion.Y = posicionAnterior.Y;
_local9 = true;
};
};
if (((isMovingLeft) && (((posicion.X - _radio) < _local3)))){
_local6 = true;
if (!level.tilePasable(_local1, (_local2 - 1))){
posicion.X = posicionAnterior.X;
_local9 = true;
};
};
if (((isMovingRight) && (((posicion.X + _radio) > (_local3 + Parametros.TamanyoTile))))){
_local8 = true;
if (!level.tilePasable(_local1, (_local2 + 1))){
posicion.X = posicionAnterior.X;
_local9 = true;
};
};
if (!_local9){
if (((_local6) && (_local5))){
if ((((posicion.X - _local3) * (posicion.X - _local3)) + ((posicion.Y - _local4) * (posicion.Y - _local4))) < (_radio * _radio)){
if (!level.tilePasable((_local1 - 1), (_local2 - 1))){
posicion.assign(posicionAnterior);
};
};
};
if (((_local8) && (_local5))){
if ((((posicion.X - (_local3 + Parametros.TamanyoTile)) * (posicion.X - (_local3 + Parametros.TamanyoTile))) + ((posicion.Y - _local4) * (posicion.Y - _local4))) < (_radio * _radio)){
if (!level.tilePasable((_local1 - 1), (_local2 + 1))){
posicion.assign(posicionAnterior);
};
};
};
if (((_local8) && (_local7))){
if ((((posicion.X - (_local3 + Parametros.TamanyoTile)) * (posicion.X - (_local3 + Parametros.TamanyoTile))) + ((posicion.Y - (_local4 + Parametros.TamanyoTile)) * (posicion.Y - (_local4 + Parametros.TamanyoTile)))) < (_radio * _radio)){
if (!level.tilePasable((_local1 + 1), (_local2 + 1))){
posicion.assign(posicionAnterior);
};
};
};
if (((_local6) && (_local7))){
if ((((posicion.X - _local3) * (posicion.X - _local3)) + ((posicion.Y - (_local4 + Parametros.TamanyoTile)) * (posicion.Y - (_local4 + Parametros.TamanyoTile)))) < (_radio * _radio)){
if (!level.tilePasable((_local1 + 1), (_local2 - 1))){
posicion.assign(posicionAnterior);
};
};
};
};
return (false);
}
public function onClick(_arg1:MouseEvent){
if (_arg1.stageX < Canvas.APPLICATION_WIDTH){
clickDown = true;
fireWeapon(0);
};
}
public function updateNivelCounter(){
}
public function updateExperience(_arg1:int){
if (nivel < maxNiveles){
experiencia = (experiencia + _arg1);
if ((((expIntervalo[(nivel - 1)] <= experiencia)) && ((nivel < maxNiveles)))){
experiencia = (experiencia - expIntervalo[(nivel - 1)]);
levelUp();
};
level.padre.hudMenu._expBar.barMask.scaleX = (experiencia / expIntervalo[(nivel - 1)]);
};
}
public function updateEnergyCounter(){
if (level.padre.hudMenu != null){
level.padre.hudMenu._healthBar.barMask.scaleX = (energia / energiaTotal);
};
}
function fireRay(){
deltaMouse.normalize(6);
rayMC.x = (deltaMouse.X + movieClip.x);
rayMC.y = (deltaMouse.Y + movieClip.y);
rayMC.rotation = currentRotation;
deltaMouse.X = (deltaMouse.X * 50);
deltaMouse.Y = (deltaMouse.Y * 50);
if (level.newFireBullet(posicion, deltaMouse, mouse, rayMC.rotation, danyoDisparo, true)){
rayMC.visible = true;
rayCounter = 2;
level.padre.padre.soundSystem.gunA.play(0, 1, level.padre.padre.soundSystem.volPrincipal);
};
}
function fireGun(_arg1:int){
if (clickDown){
clickDown = false;
trace("bullet");
level.newAddBullet(((movieClip.x + level.map.x) + origenBala[currentAnimation][0]), ((movieClip.y + level.map.y) + origenBala[currentAnimation][1]), radio, level.padre.mouseInScreen.X, level.padre.mouseInScreen.Y, true);
trace(origenBala[currentAnimation][0]);
};
}
public function levelUp(){
if ((nivel + 1) < Parametros.ParametrosPlayerPorNivel.length){
particulaA.alpha = 1;
particulaA.gotoAndPlay(1);
particulaB.alpha = 1;
particulaC.alpha = 1;
actualTic = 3000;
interval_level.addEventListener(TimerEvent.TIMER, tic);
interval_level.start();
if (nivel > 0){
points = (points + 1);
level.padre.hudMenu.upgradeUpgrade(points);
level.padre.hudMenu._totalPoints.text = ("" + points);
};
nivel++;
updateNivelCounter();
updateMoneyCounter();
if (nivel > 1){
updateScore(nivel);
level.padre.hudMenu._actualLevel.text = ("" + nivel);
};
};
}
public function updateScore(_arg1:Number){
score = (score + (_arg1 * 10));
level.padre.hudMenu._actualScore.text = score.toString();
}
public function sufrirDanyo(_arg1:Number){
energia = (energia - _arg1);
updateEnergyCounter();
}
function fireMachineGun(_arg1:int){
if (level.padre.isRun == true){
if (((clickDown) && ((machineGunCounter <= 0)))){
level.newAddBullet(((movieClip.x + level.map.x) + origenBala[int((currentAnimation / 10))][0]), ((movieClip.y + level.map.y) + origenBala[int((currentAnimation / 10))][1]), radio, level.padre.mouseInScreen.X, level.padre.mouseInScreen.Y, true);
machineGunCounter = (rateOfFire * 1000);
} else {
if (machineGunCounter > 0){
machineGunCounter = (machineGunCounter - _arg1);
};
};
};
}
public function updateMoneyCounter(){
}
function tic(_arg1:TimerEvent):void{
actualTic = (actualTic - (1000 / 30));
if (actualTic <= 1){
particulaB.alpha = (particulaB.alpha - 0.1);
particulaC.alpha = (particulaC.alpha - 0.1);
if (actualTic <= 0){
particulaB.alpha = 0;
particulaC.alpha = 0;
particulaA.stop();
particulaA.alpha = 0;
interval_level.stop();
interval_level.removeEventListener(TimerEvent.TIMER, this.tic);
};
};
}
public function danyarBase(_arg1:int, _arg2:Number){
if (_arg1 == Parametros.MaximaCantidadDeBases){
sufrirDanyo(_arg2);
} else {
bases[_arg1].sufrirDanyo(_arg2);
};
}
public function onUnclick(_arg1:MouseEvent){
clickDown = false;
}
function update(_arg1:Vector2D, _arg2:int):Boolean{
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
if (domination == level.baseEsperada.length){
score = (score + 1000);
updateScore(100);
level.padre.hudMenu._totalPoints.text = ("" + points);
level.padre.hudMenu.upgradeUpgrade(points);
_local3 = 0;
while (_local3 < level.baseEsperada.length) {
bases[_local3].reset();
_local3++;
};
};
isHealing = false;
ticCorazon = (ticCorazon - _arg2);
_local4 = 0;
while (_local4 < healths.length) {
if ((((((((((healths[_local4].x <= movieClip.x)) && ((movieClip.x < (healths[_local4].x + 32))))) && ((healths[_local4].y <= (movieClip.y + 10))))) && (((movieClip.y + 10) < (healths[_local4].y + 32))))) && ((energia < 3)))){
energia = (energia + 0.002);
updateEnergyCounter();
isHealing = true;
healths[_local4].gotoAndStop(2);
if (ticCorazon <= 0){
level.padre.padre.soundSystem.corazon.play(0, 1, level.padre.padre.soundSystem.volPrincipal);
ticCorazon = (ticObj * (energia / 3));
if (ticCorazon < 175){
ticCorazon = 200;
};
};
if (energia >= 3){
energia = 3;
};
} else {
healths[_local4].gotoAndStop(1);
};
_local4++;
};
if (((isHealing) && ((energia < 3)))){
particulaA.alpha = 1;
particulaA.play();
} else {
particulaA.alpha = 0;
particulaA.stop();
};
conqueringTimeRemaining = (conqueringTimeRemaining - _arg2);
if (conqueringTimeRemaining <= 0){
_local3 = 0;
while (_local3 < bases.length) {
if (!bases[_local3].isConquered){
bases[_local3].conquestProgress(bases[_local3].isConquering);
};
_local3++;
};
conqueringTimeRemaining = 100;
};
mouse.assign(_arg1);
deltaMouse.X = (mouse.X - posicion.X);
deltaMouse.Y = (mouse.Y - posicion.Y);
currentRotation = (90 - (Math.atan2(-(deltaMouse.Y), deltaMouse.X) * 57.2957));
newAnimationDirection = currentRotation;
if (newAnimationDirection < -22.5){
newAnimationDirection = (newAnimationDirection + 360);
};
newAnimationDirection = (newAnimationDirection + 22.5);
currentAnimation = ((Math.floor((newAnimationDirection / 45)) * 10) + 1);
posicionAnterior.assign(posicion);
if (isMovingUp){
if (isMovingLeft){
posicion.Y = (posicion.Y - velocidadDiagonal);
posicion.X = (posicion.X - velocidadDiagonal);
} else {
if (isMovingRight){
posicion.Y = (posicion.Y - velocidadDiagonal);
posicion.X = (posicion.X + velocidadDiagonal);
} else {
posicion.Y = (posicion.Y - velocidad);
};
};
} else {
if (isMovingDown){
if (isMovingLeft){
posicion.Y = (posicion.Y + velocidadDiagonal);
posicion.X = (posicion.X - velocidadDiagonal);
} else {
if (isMovingRight){
posicion.Y = (posicion.Y + velocidadDiagonal);
posicion.X = (posicion.X + velocidadDiagonal);
} else {
posicion.Y = (posicion.Y + velocidad);
};
};
} else {
if (isMovingLeft){
posicion.X = (posicion.X - velocidad);
} else {
if (isMovingRight){
posicion.X = (posicion.X + velocidad);
};
};
};
};
if (posicion.equals(posicionAnterior)){
if (currentAnimation != movieClip.currentFrame){
movieClip.gotoAndStop(currentAnimation);
};
} else {
corregirPosicion();
if ((currentAnimation + 1) != movieClip.currentFrame){
movieClip.gotoAndStop((currentAnimation + 1));
};
_local5 = Math.floor((posicion.Y / Parametros.TamanyoTile));
_local6 = Math.floor((posicion.X / Parametros.TamanyoTile));
if (((!((_local5 == currentTileI))) || (!((_local6 == currentTileJ))))){
AStar.updateEstimate(Parametros.MaximaCantidadDeBases, ((_local6 - currentTileJ) * Parametros.TamanyoTile), ((_local5 - currentTileI) * Parametros.TamanyoTile), _local5, _local6);
currentTileI = _local5;
currentTileJ = _local6;
bases[Parametros.MaximaCantidadDeBases].setPosicion(posicion.X, posicion.Y, currentTileI, currentTileJ);
};
};
movieClip.x = posicion.X;
movieClip.y = posicion.Y;
if (rayCounter >= 0){
rayCounter--;
if (rayCounter < 0){
rayMC.visible = false;
};
};
fireWeapon(_arg2);
if (energia > 0){
if (thisWin == true){
trace("GANO 2");
return (false);
};
return (true);
};
return (false);
}
public function onKeyUp(_arg1:KeyboardEvent){
switch (_arg1.keyCode){
case 37:
case 65:
isMovingLeft = false;
break;
case 38:
case 87:
isMovingUp = false;
break;
case 39:
case 68:
isMovingRight = false;
break;
case 40:
case 83:
isMovingDown = false;
break;
};
}
public function onKeyDown(_arg1:KeyboardEvent){
switch (_arg1.keyCode){
case 37:
case 65:
isMovingLeft = true;
break;
case 39:
case 68:
isMovingRight = true;
break;
case 38:
case 87:
isMovingUp = true;
break;
case 40:
case 83:
isMovingDown = true;
break;
};
}
public function construirTextoEnergia(_arg1:MovieClip){
var _local2:TextFormat;
_local2 = new TextFormat();
_local2.font = "Verdana";
_local2.color = 0xFFFFFF;
_local2.size = 12;
_local2.align = "right";
energyCounter = new TextField();
energyCounter.defaultTextFormat = _local2;
energyCounter.selectable = false;
energyCounter.width = (Canvas.APPLICATION_WIDTH - 5);
energyCounter.height = 30;
energyCounter.y = 5;
energyCounter.x = 5;
_arg1.addChild(energyCounter);
}
public function updateDominationCounter(){
}
public function addTurret(_arg1:int, _arg2:int){
var _local3:int;
_local3 = 0;
while (_local3 < level.baseEsperada.length) {
if ((((((((level.baseEsperada[_local3][0] <= _arg1)) && ((_arg1 < (level.baseEsperada[_local3][0] + 1))))) && ((((level.baseEsperada[_local3][1] <= _arg2)) && ((_arg2 < (level.baseEsperada[_local3][1] + 1))))))) && ((bases[_local3].isConquered == true)))){
if ((((money >= Parametros.CostoBase)) && ((bases[_local3].energia <= 0)))){
money = (money - Parametros.CostoBase);
updateMoneyCounter();
bases[_local3].revivir();
level.avisarNuevaTorreta();
};
};
_local3++;
};
}
}
}//package
Section 146
//PlayerMC (PlayerMC)
package {
import flash.display.*;
public class PlayerMC extends MovieClip {
public var padre:CanvasScenario;
}
}//package
Section 147
//PointControled (PointControled)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public dynamic class PointControled extends MovieClip {
public var actualTic:Number;
public var interval:Timer;
public function PointControled(){
addFrameScript(0, frame1);
}
function frame1(){
actualTic = 3;
interval = new Timer(1000, 0);
interval.addEventListener(TimerEvent.TIMER, tic);
interval.start();
}
public function tic(_arg1:TimerEvent):void{
this.actualTic--;
if (this.actualTic == 0){
this.interval.stop();
this.interval.removeEventListener(TimerEvent.TIMER, this.tic);
this.parent.removeChild(this);
};
}
}
}//package
Section 148
//Pulgar (Pulgar)
package {
import flash.display.*;
public dynamic class Pulgar extends MovieClip {
public var mc:MovieClip;
}
}//package
Section 149
//Rayo (Rayo)
package {
import flash.display.*;
public dynamic class Rayo extends MovieClip {
}
}//package
Section 150
//Rebote1 (Rebote1)
package {
import flash.media.*;
public dynamic class Rebote1 extends Sound {
}
}//package
Section 151
//Rebote2 (Rebote2)
package {
import flash.media.*;
public dynamic class Rebote2 extends Sound {
}
}//package
Section 152
//Rebote3 (Rebote3)
package {
import flash.media.*;
public dynamic class Rebote3 extends Sound {
}
}//package
Section 153
//Rebote4 (Rebote4)
package {
import flash.media.*;
public dynamic class Rebote4 extends Sound {
}
}//package
Section 154
//RedBar (RedBar)
package {
import flash.display.*;
public dynamic class RedBar extends MovieClip {
}
}//package
Section 155
//Robot (Robot)
package {
import flash.display.*;
public dynamic class Robot extends MovieClip {
}
}//package
Section 156
//Rocket (Rocket)
package {
import flash.media.*;
public dynamic class Rocket extends Sound {
}
}//package
Section 157
//Rocket2 (Rocket2)
package {
import flash.media.*;
public dynamic class Rocket2 extends Sound {
}
}//package
Section 158
//Runner (Runner)
package {
import flash.display.*;
public dynamic class Runner extends MovieClip {
}
}//package
Section 159
//Sargento (Sargento)
package {
import flash.display.*;
public dynamic class Sargento extends MovieClip {
}
}//package
Section 160
//ScoreSystem (ScoreSystem)
package {
import mochi.*;
public class ScoreSystem {
public var padre:UICanvas;
private function scoreSubmitted(_arg1:Object){
}
public function connectSystem(){
MochiServices.connect("3347596c983d31fe", padre);
}
public function submitScore(_arg1:Number, _arg2:Number){
switch (_arg1){
case 1:
MochiScores.setBoardID("411d5e9943d8599b");
break;
case 2:
MochiScores.setBoardID("585ae175eaff49d8");
break;
case 3:
MochiScores.setBoardID("f8e708bf73d0cb7a");
break;
case 4:
MochiScores.setBoardID("80c0309dc986e1a4");
break;
case 5:
MochiScores.setBoardID("363511512617d327");
break;
case 6:
MochiScores.setBoardID("363511512617d327");
break;
case 7:
MochiScores.setBoardID("363511512617d327");
break;
};
MochiScores.submit(_arg2, padre.local_data.data.playerName, this, "scoreSubmitted");
}
public function showScores(_arg1:Number){
var value = _arg1;
switch (value){
case 1:
MochiScores.setBoardID("411d5e9943d8599b");
break;
case 2:
MochiScores.setBoardID("585ae175eaff49d8");
break;
case 3:
MochiScores.setBoardID("f8e708bf73d0cb7a");
break;
case 4:
MochiScores.setBoardID("80c0309dc986e1a4");
break;
case 5:
MochiScores.setBoardID("363511512617d327");
break;
case 6:
MochiScores.setBoardID("363511512617d327");
break;
case 7:
MochiScores.setBoardID("363511512617d327");
break;
};
MochiScores.showLeaderboard({res:"550x400", clip:padre, numScores:25, showTableRank:true, preloaderDisplay:true, onClose:function (){
padre.addMainMenu();
}, onError:function (_arg1:String){
trace(("show error: " + _arg1));
}});
}
}
}//package
Section 161
//SecCounter (SecCounter)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class SecCounter extends MovieClip {
public var padre:UICanvas;
public var actualTic:Number;// = 8
public var nextScreen:String;
public var interval:Timer;
public function SecCounter(){
actualTic = 8;
super();
x = 275;
y = 200;
gotoAndStop(actualTic);
interval = new Timer(1000, 0);
interval.addEventListener(TimerEvent.TIMER, tic);
interval.start();
}
function tic(_arg1:TimerEvent):void{
actualTic--;
if (actualTic == 0){
interval.stop();
interval.removeEventListener(TimerEvent.TIMER, tic);
padre.gotoAndStop(nextScreen);
padre.removeChild(this);
} else {
gotoAndStop(actualTic);
};
}
}
}//package
Section 162
//Soldado (Soldado)
package {
import flash.display.*;
public dynamic class Soldado extends MovieClip {
}
}//package
Section 163
//SonidoDisparoA (SonidoDisparoA)
package {
import flash.media.*;
public dynamic class SonidoDisparoA extends Sound {
}
}//package
Section 164
//SonidoDisparoB (SonidoDisparoB)
package {
import flash.media.*;
public dynamic class SonidoDisparoB extends Sound {
}
}//package
Section 165
//SonidoDisparoE (SonidoDisparoE)
package {
import flash.media.*;
public dynamic class SonidoDisparoE extends Sound {
}
}//package
Section 166
//SonidoMuerteA (SonidoMuerteA)
package {
import flash.media.*;
public dynamic class SonidoMuerteA extends Sound {
}
}//package
Section 167
//SoundSystem (SoundSystem)
package {
import flash.media.*;
public class SoundSystem {
public var gunA:Sound;
public var gunC:Sound;
public var gunB:Sound;
public var gunF:Sound;
public var gunBB:Sound;
public var exploDinamita:Sound;
public var mainMenuIntro:Sound;
public var padre:UICanvas;
public var entierro:Sound;
public var sonidoMenuB:Sound;
public var volPrincipal:SoundTransform;
public var bonus:Sound;
public var rebote1:Sound;
public var rebote2:Sound;
public var rebote3:Sound;
public var rebote4:Sound;
public var gunFF:Sound;
public var auch:Sound;
public var volSecundario:SoundTransform;
public var exploMina:Sound;
public var exploRocket:Sound;
public var golpe1:Sound;
public var golpe2:Sound;
public var impactoEnemigo1:Sound;
public var golpe4:Sound;
public var corazon:Sound;
public var gunAA:Sound;
public var golpe3:Sound;
public var sonidoMenuA:Sound;
public var canalSecundario:SoundChannel;
public var canalPrincipal:SoundChannel;
public function SoundSystem(){
gunA = new GunFire();
gunAA = new GunFire_doble();
gunB = new GunFire2();
gunBB = new GunFire2_double();
gunC = new SonidoDisparoE();
gunF = new Rocket();
gunFF = new Rocket2();
exploDinamita = new ExploDinamita();
exploMina = new BumA();
exploRocket = new ExploRocket();
rebote1 = new Rebote1();
rebote2 = new Rebote2();
rebote3 = new Rebote3();
rebote4 = new Rebote4();
golpe1 = new Golpe1();
golpe2 = new Golpe2();
golpe3 = new Golpe3();
golpe4 = new Golpe4();
auch = new GolpeEnemigo5();
impactoEnemigo1 = new ExplosionDisparoEnemigo1();
sonidoMenuA = new clickAnalogico();
sonidoMenuB = new clickBurbuja();
bonus = new Bonus();
mainMenuIntro = new MainMenuShotGun();
corazon = new Corazon();
entierro = new Entierro();
canalPrincipal = new SoundChannel();
volPrincipal = new SoundTransform(0);
canalSecundario = new SoundChannel();
volSecundario = new SoundTransform();
super();
canalPrincipal.soundTransform = volPrincipal;
trace(("VOL: " + canalPrincipal.soundTransform.volume));
volSecundario.volume = 0.05;
canalSecundario.soundTransform = volSecundario;
}
}
}//package
Section 168
//SpecialContent (SpecialContent)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class SpecialContent extends MovieClip {
public var padre:UICanvas;
public var thumbBase10:ThumbnailButton;
public var backB:SimpleButton;
public var thumbBase3:ThumbnailButton;
public var thumbBase7:ThumbnailButton;
public var thumbBase5:ThumbnailButton;
public var thumbBase2:ThumbnailButton;
public var thumbBase8:ThumbnailButton;
public var thumbBase9:ThumbnailButton;
public var thumbBase6:ThumbnailButton;
public var thumbBase1:ThumbnailButton;
public var thumbBase4:ThumbnailButton;
var interval:Timer;
var big_pic:Loader;
public var back:SimpleButton;
public function SpecialContent(){
thumbBase1 = new ThumbnailButton();
thumbBase2 = new ThumbnailButton();
thumbBase3 = new ThumbnailButton();
thumbBase4 = new ThumbnailButton();
thumbBase5 = new ThumbnailButton();
thumbBase6 = new ThumbnailButton();
thumbBase7 = new ThumbnailButton();
thumbBase8 = new ThumbnailButton();
thumbBase9 = new ThumbnailButton();
thumbBase10 = new ThumbnailButton();
big_pic = new Loader();
super();
backB = back;
alpha = 0;
interval = new Timer((1000 / 24), 0);
thumbBase1.createThumb("specialcontent/Ilus_Mapa_1_thumb.jpg", "specialcontent/Ilus_Mapa_1.jpg", "InGame action drawing #1", this, -260, -125);
thumbBase2.createThumb("specialcontent/Ilus_Mapa_2_thumb.jpg", "specialcontent/Ilus_Mapa_2.jpg", "InGame action drawing #2", this, -260, -75);
thumbBase3.createThumb("specialcontent/Ilus_Mapa_3_thumb.jpg", "specialcontent/Ilus_Mapa_3.jpg", "InGame action drawing #3", this, -260, -25);
thumbBase4.createThumb("specialcontent/PersonajePrincipal_thumb.jpg", "specialcontent/PersonajePrincipal.jpg", "Main Character drawings", this, -260, 25);
thumbBase5.createThumb("specialcontent/PersonajePrincipal_thumb.jpg", "specialcontent/PersonajePrincipal.jpg", "Main Character drawings", this, -260, 75);
thumbBase6.createThumb("specialcontent/PersonajePrincipal_thumb.jpg", "specialcontent/PersonajePrincipal.jpg", "Main Character drawings", this, 190, -125);
thumbBase7.createThumb("specialcontent/PersonajePrincipal_thumb.jpg", "specialcontent/PersonajePrincipal.jpg", "Main Character drawings", this, 190, -75);
thumbBase8.createThumb("specialcontent/PersonajePrincipal_thumb.jpg", "specialcontent/PersonajePrincipal.jpg", "Main Character drawings", this, 190, -25);
thumbBase9.createThumb("specialcontent/PersonajePrincipal_thumb.jpg", "specialcontent/PersonajePrincipal.jpg", "Main Character drawings", this, 190, 25);
thumbBase10.createThumb("specialcontent/PersonajePrincipal_thumb.jpg", "specialcontent/PersonajePrincipal.jpg", "Main Character drawings", this, 190, 75);
this.addChild(big_pic);
backB.addEventListener(MouseEvent.CLICK, backClick);
backB.addEventListener(MouseEvent.ROLL_OVER, backOver);
backB.addEventListener(MouseEvent.ROLL_OUT, backOut);
}
function fadeOut(_arg1:TimerEvent):void{
alpha = (alpha - 0.1);
if (alpha <= 0){
interval.removeEventListener(TimerEvent.TIMER, fadeOut);
padre.addMainMenu();
padre.removeChild(this);
};
}
public function backOver(_arg1:MouseEvent):void{
}
function exitWindow(){
interval.addEventListener(TimerEvent.TIMER, fadeOut);
}
function fadeIn(_arg1:TimerEvent):void{
alpha = (alpha + 0.1);
if (alpha >= 1){
interval.removeEventListener(TimerEvent.TIMER, fadeIn);
};
}
public function backClick(_arg1:MouseEvent):void{
exitWindow();
}
function enterWindow(){
interval.addEventListener(TimerEvent.TIMER, fadeIn);
interval.start();
}
public function backOut(_arg1:MouseEvent):void{
}
}
}//package
Section 169
//SpriteMap (SpriteMap)
package {
import flash.display.*;
public dynamic class SpriteMap extends MovieClip {
}
}//package
Section 170
//Text (Text)
package {
public class Text {
public static const optionVA:String = "TRY AGAIN";
public static const titleVA:String = "YOU WIN!";
public static const titleVB:String = "GAME OVER";
public static const optionVD:String = "NEXT WAVE";
public static const AchieveTitle10:String = "Kill 3000 Index Soldiers";
public static const AchieveTitle11:String = "Kill 3000 Runners";
public static const AchieveTitle12:String = "Kill 25000 Enemies";
public static const optionVB:String = "BACK";
public static const textVBB:String = "drag & drop";
public static const AchieveOptionUP:String = "UP";
public static const textSA:String = "MOVE";
public static const textSB:String = "SHOOT & AIM";
public static const textSC:String = "CONQUEST";
public static const textSE:String = "PLANT TRAPS";
public static const textSD:String = "UPGRADE POINTS";
public static const AchieveDescription01:String = "Survive through all 30 levels in easy mode.";
public static const AchieveDescription02:String = "Survive through all 40 levels in normal mode.";
public static const AchieveDescription04:String = "Survive through all 40 levels in challenge mode.";
public static const AchieveDescription05:String = "Kill 5000 enemies using your gun.";
public static const AchieveDescription06:String = "Kill 3000 thumb soldiers in any mode.";
public static const AchieveDescription07:String = "Kill 3000 Seargents in any mode.";
public static const AchieveDescription08:String = "Kill 3000 Shooters in any mode.";
public static const AchieveDescription09:String = "Kill 3000 Kamikaze in any mode.";
public static const AchieveDescription03:String = "Survive through all 40 levels in hard mode.";
public static const optionIC:String = "HARD,Map:All mighty bunny";
public static const optionIE:String = "ACHIEVEMENTS";
public static const textTA:String = "You gain upgrade points this way.";
public static const textTB:String = "Use your points to upgrade you special abilities: Health, speed, damage, rate of fire and range.";
public static const textTC:String = "Use the money you earn from killing enemies to buy traps. You can drag from the menu at your right and drop them anywhere in the game field.";
public static const optionIB:String = "NORMAL,Map:Five corners";
public static const optionID:String = "CHALLENGE,Map:No way, Jose!";
public static const optionVAB:String = "pause";
public static const optionIA:String = "EASY,Map:Three easy ways";
public static const AchieveDescription11:String = "Kill 3000 Runners in any mode.";
public static const AchieveDescription12:String = "Kill 25000 Enemies in any mode.";
public static const optionB:String = "PLAY";
public static const optionC:String = "HIGHSCORES";
public static const optionD:String = "ACHIEVEMENTS";
public static const AchieveDescription10:String = "Kill 3000 Index Soldiers in any mode.";
public static const optionH:String = "BACK";
public static const textUA:String = "survive the enemy attacks!";
public static const optionA:String = "OK";
public static const textUB:String = "pause";
public static const textUC:String = "Controling";
public static const textUD:String = "Point Controled";
public static const optionVBB:String = "continue";
public static const textVB:String = "You got killed by your enemies! Give it another try!";
public static const textVD:String = "Points availble for upgrade:";
public static const textVF:String = "Damage:";
public static const AchieveDetailA:String = "Ach.Score:";
public static const AchieveDetailB:String = "Progress:";
public static const AchieveTitle:String = "Achievements";
public static const AchieveOptionDOWN:String = "DOWN";
public static const textVAB:String = "Score";
public static const textVE:String = "Speed:";
public static const textVN:String = "Normal";
public static const textVG:String = "Rate of Fire:";
public static const textVH:String = "EXPLOSIVE MINE. High damage, small area of effect.";
public static const textVA:String = "Congratulations, your score has been submited!";
public static const textVK:String = "DYNAMITE. Explodes after 2 seconds, high damage and area of effect.";
public static const textVC:String = "current wave";
public static const textVM:String = "Easy";
public static const textB:String = "SHOOT & AIM";
public static const textD:String = "Level:";
public static const textVJ:String = "FREEZE TRAP. Freezes enemies for 5 seconds.";
public static const textA:String = "MOVE";
public static const textC:String = "Achievements:";
public static const inputA:String = "Type your name.";
public static const textVP:String = "New Enemy";
public static const textVL:String = "Cost:";
public static const textVQ:String = "Boss";
public static const textVS:String = "New Boss";
public static const textVI:String = "POISSON MINE. Periodic damage, medium area of effect.";
public static const textVO:String = "Hard";
public static const optionVC:String = "main Menu";
public static const optionVE:String = "upgrade";
public static const AchieveTitle01:String = "Beat Easy Mode";
public static const titleA:String = "what's your name?";
public static const AchieveTitle03:String = "Beat Hard Mode";
public static const titleC:String = "how to play?";
public static const AchieveTitle05:String = "Make 5000 gun kills";
public static const AchieveOptionBACK:String = "BACK";
public static const AchieveTitle07:String = "Kill 3000 Seargents";
public static const AchieveTitle08:String = "Kill 3000 Shooters";
public static const AchieveTitle02:String = "Beat Normal Mode";
public static const AchieveTitle04:String = "Beat Challenge Mode";
public static const AchieveTitle06:String = "Kill 3000 thumb soldiers";
public static const slogan:String = "Enlightening Entertainment!";
public static const AchieveTitle09:String = "Kill 3000 Kamikaze";
}
}//package
Section 171
//ThumbnailButton (ThumbnailButton)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class ThumbnailButton extends MovieClip {
public var padre:SpecialContent;
public var picldr:Loader;
public var _caption;
public var imgReq:URLRequest;
public var thumbReq:URLRequest;
public function ThumbnailButton(){
picldr = new Loader();
super();
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
public function createThumb(_arg1:String, _arg2:String, _arg3:String, _arg4:SpecialContent, _arg5:Number, _arg6:Number){
x = _arg5;
y = _arg6;
_caption = _arg3;
padre = _arg4;
thumbReq = new URLRequest(_arg1);
imgReq = new URLRequest(_arg2);
picldr.load(thumbReq);
this.addChild(picldr);
padre.addChild(this);
this.buttonMode = true;
this.addEventListener(MouseEvent.CLICK, onClick);
this.addEventListener(MouseEvent.ROLL_OVER, thumbRollOver);
this.addEventListener(MouseEvent.ROLL_OUT, thumbRollOut);
}
private function onClick(_arg1:MouseEvent):void{
padre.big_pic.load(imgReq);
padre.big_pic.x = -175;
padre.big_pic.y = -125;
}
private function thumbRollOver(_arg1:MouseEvent):void{
}
private function thumbRollOut(_arg1:MouseEvent):void{
}
}
}//package
Section 172
//Trap (Trap)
package {
public class Trap extends Disparable {
public var radioEfecto:int;
public var radioEfectoSquared:int;
public var listaDeEnemigos:ListaEnlazada;
public function Trap(_arg1:int, _arg2:Number, _arg3:Number){
posicion = new Vector2D();
posicion.X = _arg2;
posicion.Y = _arg3;
switch (_arg1){
case TrapMenu.BARREL_TRAP:
movieClip = new Barrel();
radio = (movieClip.width / 2);
energia = 1;
radioEfecto = 120;
break;
};
movieClip.x = posicion.X;
movieClip.y = posicion.Y;
radioEfectoSquared = (radioEfecto * radioEfecto);
radioSquared = (radio * radio);
}
override public function update():Boolean{
if (!movieClip.visible){
return (false);
};
return (true);
}
override public function sufrirDanyo(_arg1:Number, _arg2:int, _arg3:Vector2D){
var _local4:Disparable;
movieClip.visible = false;
_local4 = Disparable(listaDeEnemigos.primerObjeto);
while (_local4 != null) {
if (((_local4.movieClip.visible) && (((((_local4.posicion.X - posicion.X) * (_local4.posicion.X - posicion.X)) + ((_local4.posicion.Y - posicion.Y) * (_local4.posicion.Y - posicion.Y))) < radioEfectoSquared)))){
_local4.sufrirDanyo(5, _arg2, null);
};
_local4 = Disparable(_local4.sgte);
};
}
}
}//package
Section 173
//TrapMenu (TrapMenu)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class TrapMenu {
var level:CanvasScenario;
var turretIcon:MovieClip;
var levelUpIcon:MovieClip;
var player:Player;
var menu:MovieClip;
var selectedTrap:int;
var levelUpCost:TextField;
var main:MovieClip;
var selectedObject:MovieClip;
var barrelIcon:MovieClip;
public static const TURRET:int = -1;
public static const BARREL_TRAP:int = 1;
public function TrapMenu(_arg1:MovieClip, _arg2:CanvasScenario, _arg3:Player){
var _local4:TextField;
super();
this.main = _arg1;
this.main.stage.addEventListener(MouseEvent.MOUSE_MOVE, moverCursor);
this.main.stage.addEventListener(MouseEvent.MOUSE_UP, soltarObjeto);
this.level = _arg2;
this.player = _arg3;
menu = new Menu();
menu.y = 0;
menu.x = Canvas.APPLICATION_WIDTH;
_arg1.addChild(menu);
barrelIcon = new Barrel();
barrelIcon.y = 30;
barrelIcon.x = (menu.width / 2);
menu.addChild(barrelIcon);
barrelIcon.addEventListener(MouseEvent.MOUSE_DOWN, barrelSelected);
_local4 = Utils.getTextLabel(Parametros.CostoBarril.toString(), "center", 30, 20);
_local4.x = -5;
barrelIcon.addChild(_local4);
turretIcon = new PlayerMC();
turretIcon.y = 70;
turretIcon.x = (menu.width / 2);
menu.addChild(turretIcon);
turretIcon.addEventListener(MouseEvent.MOUSE_DOWN, turretSelected);
_local4 = Utils.getTextLabel(Parametros.CostoBase.toString(), "center", 30, 20);
_local4.x = -5;
turretIcon.addChild(_local4);
levelUpIcon = new LevelUp();
levelUpIcon.x = (menu.width / 2);
levelUpIcon.y = ((Canvas.APPLICATION_HEIGHT - (levelUpIcon.height / 2)) - 5);
menu.addChild(levelUpIcon);
levelUpIcon.addEventListener(MouseEvent.CLICK, levelUpSelected);
levelUpCost = Utils.getTextLabel(Parametros.ParametrosPlayerPorNivel[2][4].toString(), "center", 30, 20);
levelUpCost.x = -5;
levelUpIcon.addChild(levelUpCost);
}
public function barrelSelected(_arg1:MouseEvent){
selectedObject = new Barrel();
main.addChild(selectedObject);
selectedTrap = BARREL_TRAP;
}
public function soltarObjeto(_arg1:MouseEvent){
var _local2:Trap;
if (selectedObject != null){
main.removeChild(selectedObject);
if (_arg1.stageX < Canvas.APPLICATION_WIDTH){
if (selectedTrap > 0){
_local2 = new Trap(selectedTrap, selectedObject.x, selectedObject.y);
level.addTrap(_local2);
} else {
level.addTurret(selectedObject.x, selectedObject.y);
};
};
selectedObject = null;
};
}
public function levelUpSelected(_arg1:MouseEvent){
player.levelUp();
if ((player.nivel + 1) < Parametros.ParametrosPlayerPorNivel.length){
levelUpCost.text = Parametros.ParametrosPlayerPorNivel[(player.nivel + 1)][4].toString();
} else {
levelUpIcon.visible = false;
};
}
public function turretSelected(_arg1:MouseEvent){
selectedObject = new PlayerMC();
main.addChild(selectedObject);
selectedTrap = TURRET;
}
public function moverCursor(_arg1:MouseEvent){
if (selectedObject != null){
selectedObject.x = _arg1.stageX;
selectedObject.y = _arg1.stageY;
};
}
}
}//package
Section 174
//TreeMap (TreeMap)
package {
import flash.display.*;
public dynamic class TreeMap extends MovieClip {
}
}//package
Section 175
//UICanvas (UICanvas)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class UICanvas extends MovieClip {
public var local_data:SharedObject;
public var soundSystem:SoundSystem;
public var insertNameWindow:InsertNameWindow;
public var secCounter:SecCounter;
public var gameSandBox:MovieClip;
public var scoreSystem:ScoreSystem;
public var specialContent:SpecialContent;
public var introCuatic:MovieClip;
var request:URLRequest;
var localConnection:LocalConnection;
public var main:MovieClip;
public var howToPlay:HowToPlay;
public var mainMenu:MainMenu;
public var achievesWindow:AchievesWindow;
public var achieveSystem:AchieveSystem;
public var welcomeWindow:WelcomeWindow;
public function UICanvas(){
localConnection = new LocalConnection();
super();
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6);
language.Language = 1;
scoreSystem = new ScoreSystem();
scoreSystem.padre = this;
scoreSystem.connectSystem();
soundSystem = new SoundSystem();
}
public function saveData(){
local_data.flush();
}
function frame2(){
addNewCounter("CuaticGames");
stop();
}
public function openData(_arg1:String){
local_data = SharedObject.getLocal(("cuaticGames_RunnerDefense_" + _arg1));
}
public function exitGame(_arg1:Boolean){
var _local2:int;
_local2 = main.canvasScenario.dificultad;
main.intervalo.stop();
this.removeChild(main);
main.canvasScenario = null;
main = null;
if (_arg1 == false){
addMainMenu();
} else {
newGame(_local2);
};
}
function onCLick1(_arg1:Event){
if (language.language_nr == "2"){
request = new URLRequest(language.url1);
} else {
request = new URLRequest((language.url1 + "&utm_content=logo_intro"));
};
navigateToURL(request, "_blank");
}
function onCLick2(_arg1:Event){
if (language.language_nr == "2"){
request = new URLRequest(language.url1);
} else {
request = new URLRequest((language.url1 + "&utm_content=button_mainscreen_moregames"));
};
navigateToURL(request, "_blank");
}
public function addHowToPlay(){
howToPlay = new HowToPlay();
trace(howToPlay);
addChild(howToPlay);
howToPlay.x = 275;
howToPlay.y = 200;
howToPlay.padre = this;
howToPlay.enterWindow();
}
function onCLick4(_arg1:Event){
if (language.language_nr == "2"){
request = new URLRequest(language.url1);
} else {
request = new URLRequest((language.url1 + "&utm_content=button_highscore_3000games"));
};
navigateToURL(request, "_blank");
}
function frame3(){
addNewCounter("SplashScreen");
stop();
}
function frame6(){
stop();
}
function frame4(){
addInsertName();
stop();
}
function onCLick3(_arg1:Event){
if (language.language_nr == "2"){
request = new URLRequest(language.url1);
} else {
request = new URLRequest((language.url1 + "&utm_content=button_gameover_moregames"));
};
navigateToURL(request, "_blank");
}
function frame1(){
addNewCounter("SplashScreen");
stop();
}
public function addSpecialContent(){
specialContent = new SpecialContent();
trace(specialContent);
addChild(specialContent);
specialContent.x = 275;
specialContent.y = 200;
specialContent.padre = this;
specialContent.enterWindow();
}
public function addMainMenu(){
mainMenu = new MainMenu(this);
addChild(mainMenu);
}
function frame5(){
addMainMenu();
stop();
}
public function addAchieveWindow(){
achievesWindow = new AchievesWindow(this);
addChild(achievesWindow);
achievesWindow.x = 275;
achievesWindow.y = 200;
achievesWindow.initAchievements();
achievesWindow.enterWindow();
}
public function addNewCounter(_arg1:String){
secCounter = new SecCounter();
secCounter.nextScreen = _arg1;
secCounter.padre = this;
addChild(secCounter);
}
public function newGame(_arg1:int){
main = null;
main = new Canvas();
main.padre = this;
this.addChild(main);
main.Load(_arg1);
}
public function closeData(){
local_data.close();
}
public function addWelcomeWindow(){
welcomeWindow = new WelcomeWindow();
welcomeWindow.padre = this;
addChild(welcomeWindow);
welcomeWindow.enterWindow();
}
public function addInsertName(){
var _local1:MovieClip;
insertNameWindow = new InsertNameWindow(this);
insertNameWindow.padre = this;
addChild(insertNameWindow);
_local1 = new intro();
_local1.hitarea.button_intro.addEventListener(MouseEvent.CLICK, onCLick1);
_local1.x = 275;
_local1.y = 200;
addChild(_local1);
}
}
}//package
Section 176
//Utils (Utils)
package {
import flash.text.*;
public class Utils {
static var EPS:Number = 0.001;
public static function getTextLabel(_arg1:String, _arg2:String, _arg3:int, _arg4:int):TextField{
var _local5:TextField;
var _local6:TextFormat;
_local6 = new TextFormat();
_local6.font = "Verdana";
_local6.color = 0xFFFFFF;
_local6.size = 12;
_local6.align = _arg2;
_local5 = new TextField();
_local5.defaultTextFormat = _local6;
_local5.selectable = false;
_local5.width = _arg3;
_local5.height = _arg4;
_local5.text = _arg1;
return (_local5);
}
public static function RayoCircunferencia(_arg1:Vector2D, _arg2:Number, _arg3:Number, _arg4:Vector2D, _arg5:Vector2D, _arg6:Number, _arg7:Vector2D):Boolean{
var _local8:*;
var _local9:Number;
var _local10:Number;
_local8 = (2 * ((_arg1.X * (_arg4.X - _arg5.X)) + (_arg1.Y * (_arg4.Y - _arg5.Y))));
_local9 = ((_arg5.X * _arg5.X) + (_arg5.Y * _arg5.Y));
_local9 = (_local9 + _arg3);
_local9 = (_local9 - (2 * ((_arg5.X * _arg4.X) + (_arg5.Y * _arg4.Y))));
_local9 = (_local9 - _arg6);
_local10 = ((_local8 * _local8) - ((4 * _arg2) * _local9));
if ((((Math.abs(_arg2) < EPS)) || ((_local10 < 0)))){
return (false);
};
return (true);
}
public static function ccw(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):int{
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
_local7 = (_arg3 - _arg1);
_local9 = (_arg4 - _arg2);
_local8 = (_arg5 - _arg1);
_local10 = (_arg6 - _arg2);
if ((_local7 * _local10) > (_local9 * _local8)){
return (1);
};
if ((_local7 * _local10) < (_local9 * _local8)){
return (-1);
};
if (((((_local7 * _local8) < 0)) || (((_local9 * _local10) < 0)))){
return (-1);
};
if (((_local7 * _local7) + (_local9 * _local9)) < ((_local8 * _local8) + (_local10 * _local10))){
return (1);
};
return (0);
}
public static function intersect(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number):Boolean{
return (((((ccw(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6) * ccw(_arg1, _arg2, _arg3, _arg4, _arg7, _arg8)) <= 0)) && (((ccw(_arg5, _arg6, _arg7, _arg8, _arg1, _arg2) * ccw(_arg5, _arg6, _arg7, _arg8, _arg3, _arg4)) <= 0))));
}
}
}//package
Section 177
//WaveHud (WaveHud)
package {
import flash.display.*;
public dynamic class WaveHud extends MovieClip {
public var waveBar:MovieClip;
}
}//package
Section 178
//Vector2D (Vector2D)
package {
public class Vector2D {
public var y:Number;
public var x:Number;
public function Vector2D(){
this.x = 0;
this.y = 0;
}
public function add(_arg1:Vector2D){
this.x = (this.x + _arg1.X);
this.y = (this.y + _arg1.Y);
}
public function distanceTo(_arg1:Vector2D):Number{
return (Math.sqrt((((this.x - _arg1.X) * (this.x - _arg1.X)) + ((this.y - _arg1.Y) * (this.y - _arg1.Y)))));
}
public function addAndAssign(_arg1:Vector2D, _arg2:Vector2D){
this.x = (_arg1.X + _arg2.X);
this.y = (_arg1.Y + _arg2.Y);
}
public function subAndAssign(_arg1:Vector2D, _arg2:Vector2D){
this.x = (_arg1.X - _arg2.X);
this.y = (_arg1.Y - _arg2.Y);
}
public function get Y():Number{
return (this.y);
}
public function dot(_arg1:Vector2D):Number{
return ((((_arg1.x * this.x) + _arg1.y) + this.y));
}
public function length():Number{
var _local1:Number;
_local1 = ((x * x) + (y * y));
return (Math.sqrt(_local1));
}
public function equals(_arg1:Vector2D):Boolean{
if ((((_arg1.X == this.x)) && ((_arg1.Y == this.y)))){
return (true);
};
return (false);
}
public function normalize(_arg1:Number){
var _local2:Number;
_local2 = this.length();
this.x = ((this.x / _local2) * _arg1);
this.y = ((this.y / _local2) * _arg1);
}
public function assign(_arg1:Vector2D){
this.x = _arg1.X;
this.y = _arg1.Y;
}
public function set X(_arg1:Number){
this.x = _arg1;
}
public function set Y(_arg1:Number){
this.y = _arg1;
}
public function limitTo(_arg1:Number){
if (_arg1 < 1){
this.x = (this.x * _arg1);
this.y = (this.y * _arg1);
};
}
public function squaredDistanceTo(_arg1:Vector2D):Number{
return ((((this.x - _arg1.X) * (this.x - _arg1.X)) + ((this.y - _arg1.Y) * (this.y - _arg1.Y))));
}
public function get X():Number{
return (this.x);
}
}
}//package
Section 179
//WelcomeWindow (WelcomeWindow)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
public class WelcomeWindow extends MovieClip {
public var insertName:TextField;
public var counter:Number;// = 0
public var padre:UICanvas;
public var maxCount:Number;// = 5
public var skipIt:SimpleButton;
public var playerName:TextField;
public var level:TextField;
public var skipButton:SimpleButton;
public var newPlayer:Boolean;
public var achieveLevel:TextField;
public var achieveScore:TextField;
public var interval:Timer;
public var achievescore:TextField;
public function WelcomeWindow(){
counter = 0;
maxCount = 5;
achieveScore = new TextField();
achieveLevel = new TextField();
super();
addFrameScript(0, frame1, 1, frame2);
skipButton = skipIt;
playerName = insertName;
achieveScore = achievescore;
achieveLevel = level;
skipButton.addEventListener(MouseEvent.CLICK, skipClick);
skipButton.addEventListener(MouseEvent.ROLL_OVER, skipOver);
skipButton.addEventListener(MouseEvent.ROLL_OUT, skipOut);
x = 275;
y = 200;
alpha = 0;
interval = new Timer((1000 / 24), 0);
playerName.maxChars = 12;
}
function count(_arg1:TimerEvent):void{
counter++;
if (counter >= maxCount){
interval.removeEventListener(TimerEvent.TIMER, count);
exitWindow();
};
}
public function skipOver(_arg1:MouseEvent):void{
}
function fadeOut(_arg1:TimerEvent):void{
alpha = (alpha - 0.1);
if (alpha <= 0){
interval.removeEventListener(TimerEvent.TIMER, fadeOut);
padre.gotoAndStop("MainMenu");
padre.removeChild(this);
};
}
public function skipClick(_arg1:MouseEvent):void{
exitWindow();
}
function frame1(){
stop();
}
public function skipOut(_arg1:MouseEvent):void{
}
public function changeFrame(){
gotoAndStop(2);
}
function exitWindow(){
interval.delay = (1000 / 24);
interval.addEventListener(TimerEvent.TIMER, fadeOut);
playerName.text = "";
}
function frame2(){
stop();
}
function fadeIn(_arg1:TimerEvent):void{
alpha = (alpha + 0.1);
if (alpha >= 1){
interval.removeEventListener(TimerEvent.TIMER, fadeIn);
interval.delay = 1000;
interval.addEventListener(TimerEvent.TIMER, count);
playerName.text = padre.local_data.data.playerName;
};
}
function enterWindow(){
achieveScore.text = (padre.local_data.data.achieveScore + "");
achieveLevel.text = (padre.local_data.data.achieveLevel + "");
interval.addEventListener(TimerEvent.TIMER, fadeIn);
interval.start();
}
}
}//package