Section 1
//BigPlate (Actors.Enemies.BigPlate)
package Actors.Enemies {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import com.greensock.*;
import com.greensock.easing.*;
import cerebral.utils.*;
public class BigPlate extends Enemy {
public var hpText:TextField;
public var clip:MovieClip;
var damageTween:TweenLite;
var shootTween:TweenLite;
var dieTween1:TweenLite;
var dieTween2:TweenLite;
var dieTween3:TweenLite;
public var balls:Number;// = 3
public var ballSize:Number;// = 2
public var ballTime:Number;// = 2
public var ballPower:Number;// = 50
public function BigPlate(){
hp = 850;
timeOnScreen = 8;
crystals = [2, 3, 3, 2];
}
public function init(_arg1=null){
moveLinear();
y = (int((Math.random() * 150)) + 20);
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
addEventListener("ON_DAMAGE", onDamage);
addEventListener("ON_DIE", onDie);
addEventListener("ON_SHOOT", onShoot);
addEventListener("ON_DESTROY", onDestroy);
removeEventListener(Event.ADDED_TO_STAGE, init);
shootTween = TweenLite.delayedCall(((Math.random() * 0.5) + 0.8), dropBall, [balls, ballSize, ballTime, 0, ballPower]);
}
public function onDamage(_arg1:Event){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this, 0.01, {colorMatrixFilter:{colorize:0xFF0000, amount:0.3}, onComplete:removeDamage});
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
}
public function removeDamage(){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this, 0.2, {colorMatrixFilter:{}});
}
public function onShoot(_arg1=null){
shootTween = TweenLite.delayedCall(2, dropBall, [balls, ballSize, ballTime, 0, ballPower]);
}
public function onDie(_arg1:Event){
var _local2:int;
onDestroy();
if (Defines.SHOW_EFFECTS){
_local2 = 0;
while (_local2 < 25) {
TweenLite.delayedCall((_local2 * 0.1), addSmoke);
_local2++;
};
_local2 = 0;
while (_local2 < 4) {
TweenLite.delayedCall((_local2 * 0.15), Defines._game.addExplosion, [NumberUtils.getRandom((x - 30), (x + 30)), NumberUtils.getRandom((y - 10), (y + 10)), NumberUtils.getRandom(0.3, 0.7)]);
_local2++;
};
};
removeDamage();
dieTween1 = TweenLite.to(this["clip"], 0.1, {colorMatrixFilter:{colorize:0, amount:0.3}});
dieTween2 = TweenLite.to(this, 2, {y:(Defines.DEFAULT_CHAR_Y - 30), x:(x + ((Math.random() * 300) - 200)), onComplete:Defines._game.quake, onCompleteParams:[5, 0.01, true], ease:Sine.easeIn});
dieTween3 = TweenLite.to(this["clip"], 1.8, {rotation:((Math.random() * 200) + 100), delay:0.2, ease:Sine.easeIn});
this.mask = Defines._game.addDeadMask();
}
public function deleteMask(){
var _local1:DisplayObject;
try {
_local1 = this.mask;
this.mask = null;
Defines._game.removeChild(_local1);
_local1 = null;
} catch(e:Error) {
};
}
public function onDestroy(_arg1=null){
removeEventListener("ON_DAMAGE", onDamage);
removeEventListener("ON_DIE", onDie);
removeEventListener("ON_SHOOT", onShoot);
removeEventListener("ON_DESTROY", onDestroy);
if (shootTween != null){
shootTween.kill();
};
if (moveTween != null){
moveTween.kill();
};
TweenMax.delayedCall(12, deleteMask);
TweenMax.to(this, 4, {y:(Defines.DEFAULT_CHAR_Y + 100), ease:Back.easeIn, onComplete:totallyDelete, delay:8});
}
}
}//package Actors.Enemies
Section 2
//BigShip (Actors.Enemies.BigShip)
package Actors.Enemies {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import com.greensock.*;
import com.greensock.easing.*;
public class BigShip extends Enemy {
public var hpText:TextField;
public var clip:MovieClip;
var damageTween:TweenLite;
var shootTween:TweenLite;
var dieTween1:TweenLite;
var dieTween2:TweenLite;
var dieTween3:TweenLite;
public var balls:Number;// = 1
public var ballTime:Number;// = 5
public var ballInterval:Number;// = 1
public function BigShip(){
crystals = [3, 4, 3];
hp = 1700;
timeOnScreen = 10;
maxShoots = 12;
}
public function init(_arg1=null){
TweenLite.delayedCall(1, moveLinear);
y = (int((Math.random() * 150)) + 60);
if (level == 2){
timeOnScreen = 7;
hp = 2400;
};
if (direction == 1){
this["clip"].scaleX = -1;
} else {
this["clip"].scaleX = 1;
};
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
addEventListener("ON_DAMAGE", onDamage);
addEventListener("ON_DIE", onDie);
addEventListener("ON_SHOOT", onShoot);
addEventListener("ON_DESTROY", onDestroy);
removeEventListener(Event.ADDED_TO_STAGE, init);
TweenLite.delayedCall(((Math.random() * 1) + 1), onShoot);
}
public function onDamage(_arg1:Event){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this, 0.01, {colorMatrixFilter:{colorize:0xFF0000, amount:0.3}, onComplete:removeDamage});
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
}
public function removeDamage(){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this, 0.2, {colorMatrixFilter:{}});
}
public function shoot(){
dropFixedBomb(ballTime, ((this.x - (this["clip"].scaleX * 30)) + 10), (this.y + 40), ((this.x - (this["clip"].scaleX * 30)) + 10), (Defines.DEFAULT_CHAR_Y - 5));
dropFixedBomb(ballTime, ((this.x - (this["clip"].scaleX * 30)) - 10), (this.y + 40), ((this.x - (this["clip"].scaleX * 30)) - 10), (Defines.DEFAULT_CHAR_Y - 5), true);
}
public function onShoot(_arg1=null){
if (currentShoots < maxShoots){
shootTween = TweenLite.delayedCall(ballInterval, shoot);
};
}
public function onDie(_arg1:Event){
var _local2:int;
onDestroy();
if (Defines.SHOW_EFFECTS){
_local2 = 0;
while (_local2 < 25) {
TweenLite.delayedCall((_local2 * 0.1), addSmoke);
_local2++;
};
Defines._game.addExplosion(x, y, 0.5);
};
removeDamage();
dieTween1 = TweenLite.to(this["clip"], 0.1, {colorMatrixFilter:{colorize:0, amount:0.3}});
dieTween2 = TweenLite.to(this, 1.5, {y:(Defines.DEFAULT_CHAR_Y - 30), x:(x + (this["clip"].scaleX * -220)), motionBlur:Defines.MOTION_BLUR2, onComplete:Defines._game.quake, onCompleteParams:[2, 0.01, true], ease:Sine.easeIn});
dieTween3 = TweenLite.to(this["clip"], 1.4, {rotation:(this["clip"].scaleX * -60), delay:0.1});
this.mask = Defines._game.addDeadMask();
}
public function deleteMask(){
var _local1:DisplayObject;
try {
_local1 = this.mask;
this.mask = null;
Defines._game.removeChild(_local1);
_local1 = null;
} catch(e:Error) {
};
}
public function onDestroy(_arg1=null){
removeEventListener("ON_DAMAGE", onDamage);
removeEventListener("ON_DIE", onDie);
removeEventListener("ON_SHOOT", onShoot);
removeEventListener("ON_DESTROY", onDestroy);
if (shootTween != null){
shootTween.kill();
};
TweenMax.delayedCall(12, deleteMask);
TweenMax.to(this, 4, {y:(Defines.DEFAULT_CHAR_Y + 100), ease:Back.easeIn, onComplete:totallyDelete, delay:8});
}
}
}//package Actors.Enemies
Section 3
//Boss1 (Actors.Enemies.Boss1)
package Actors.Enemies {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import com.greensock.*;
import com.greensock.easing.*;
import Utils.MovieClips.*;
public class Boss1 extends Enemy {
public var hpText:TextField;
public var clip:MovieClip;
var damageTween:TweenLite;
var shootTween:TweenLite;
var dieTween1:TweenLite;
var dieTween2:TweenLite;
var dieTween3:TweenLite;
var animTween1:TweenLite;
var animTween2:TweenLite;
var animTween3:TweenLite;
public var balls:Number;// = 1
public var ballSize:Number;// = 2
public var ballTime:Number;// = 1.2
public var ballPower:uint;// = 40
var addedFriend:Boolean;// = true
var shooting:Boolean;// = false
var DEFAULT_SHELL_Y:Number;// = -40
var BOTTOM_POS:Number;
var UP_POS:Number;// = -50
var X_POS:Array;
var shadow:MovieClip;
var ray:MovieClip;
var heroHitted:Boolean;// = false
public function Boss1(){
X_POS = [198, 270, 500, 570];
super();
crystals = [2, 3, 2, 2, 3, 5, 3, 4, 5, 4, 3, 5, 3, 4, 5];
isBoss = true;
maxhp = 18000;
hp = maxhp;
timeOnScreen = 5.5;
pixelCollision = false;
BOTTOM_POS = (Defines.DEFAULT_CHAR_Y - 150);
UP_POS = (Defines.DEFAULT_CHAR_Y - 300);
canHurt = false;
pixelCollision = false;
ray = (MovieClipUtils.createOn(Boss1Ray, (Defines._game as MovieClip)) as MovieClip);
ray.y = 330;
ray.visible = false;
}
public function init(_arg1=null){
x = 600;
y = (UP_POS - 800);
if (level == 2){
maxhp = 16000;
hp = maxhp;
ballTime = 0.8;
addedFriend = false;
};
anim_reset();
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
addEventListener("ON_DAMAGE", onDamage);
addEventListener("ON_DIE", onDie);
addEventListener("ON_SHOOT", onShoot);
addEventListener("ON_DESTROY", onDestroy);
removeEventListener(Event.ADDED_TO_STAGE, init);
goDown();
Defines._document["gui"]["bossbar"].visible = true;
Defines._document["gui"]["bossbar"].setProgress(maxhp, hp);
}
function createShadow(){
shadow = (MovieClipUtils.createOn(DefaultShadow, Defines._game) as MovieClip);
shadow.x = x;
shadow.y = (Defines.DEFAULT_CHAR_Y - 20);
shadow.scaleX = 0;
shadow.scaleY = 0;
shadow.alpha = 0.7;
Defines._game.setChildIndex(shadow, 2);
MovieClipUtils.setOnTop(Defines._game.hero);
}
function anim_reset(){
if (!death){
this["clip"]["shell"].rotation = 0;
this["clip"]["base"].rotation = 0;
};
}
function resetXPos(){
x = X_POS[int((Math.random() * 3))];
if (shadow != null){
shadow.x = x;
};
}
function shoot(){
var _local1:Array;
if (((!(shooting)) && (!(death)))){
_local1 = getHeroTarget();
TweenLite.delayedCall(0.1, burstBullets, [_local1[0], _local1[1]]);
TweenLite.delayedCall(0.3, burstBullets, [_local1[0], _local1[1]]);
TweenLite.delayedCall(0.5, burstBullets, [_local1[0], _local1[1]]);
TweenLite.delayedCall(0.7, burstBullets, [_local1[0], _local1[1]]);
if (level == 1){
TweenLite.delayedCall(0.9, burstBullets, [_local1[0], _local1[1]]);
TweenLite.delayedCall(1.1, burstBullets, [_local1[0], _local1[1]]);
};
shooting = true;
};
}
function burstBullets(_arg1:Number, _arg2:Number){
dropFixedBall(ballSize, ballTime, this.x, this.y, _arg1, _arg2, ballPower);
dropFixedBall(ballSize, ballTime, this.x, this.y, (_arg1 - 300), (_arg2 - 40), ballPower);
dropFixedBall(ballSize, ballTime, this.x, this.y, (_arg1 + 300), (_arg2 - 40), ballPower);
}
function getHeroTarget():Array{
return ([(stage.stageWidth * 0.5), (Defines.DEFAULT_CHAR_Y + 50)]);
}
function updateRay(){
ray.x = this.x;
if (!ray.visible){
ray.visible = true;
};
if ((((Math.abs((ray.x - Defines._game.hero.x)) < 20)) && (!(heroHitted)))){
Defines._game.hero.damage(80);
heroHitted = true;
TweenLite.delayedCall(0.6, enableHerohit);
};
}
function enableHerohit(){
heroHitted = false;
}
function anim_head(){
if (!death){
shoot();
};
}
function goUp(){
if (!death){
animTween1 = TweenLite.to(this, 1.5, {y:UP_POS, ease:Back.easeInOut});
ray.visible = false;
TweenLite.delayedCall(1.2, shoot);
TweenLite.delayedCall(2, goCenter);
};
}
function goDown(){
if (!death){
trace("Boss1.goDown");
animTween1 = TweenLite.to(this, 3, {y:BOTTOM_POS, delay:1, ease:Strong.easeInOut});
TweenLite.delayedCall(2, enableHurt);
TweenLite.delayedCall(3.5, goSide);
};
}
function goCenter(){
trace("Boss1.goCenter");
if (!death){
if (level == 1){
animTween1 = TweenLite.to(this, 1.5, {x:(stage.stageWidth * 0.5), ease:Sine.easeInOut});
TweenLite.delayedCall(2, goRandomDown);
} else {
if (level == 2){
animTween1 = TweenLite.to(this, 1.2, {x:(stage.stageWidth * 0.5), ease:Sine.easeInOut});
TweenLite.delayedCall(1.3, goRandomDown);
};
};
};
}
function goRandomDown(){
var _local1:int;
if (!death){
_local1 = 50;
shooting = false;
if (Defines._game.hero.x > 550){
_local1 = (Defines.CHAR_LIMIT_X_RIGHT - 50);
} else {
if (Defines._game.hero.x < 250){
_local1 = 50;
} else {
if (Math.random() < 0.5){
_local1 = (Defines.CHAR_LIMIT_X_RIGHT - 50);
};
};
};
if (level == 1){
animTween1 = TweenLite.to(this, 0.5, {x:_local1, y:BOTTOM_POS, ease:Sine.easeInOut, onComplete:goSide});
} else {
if (level == 2){
animTween1 = TweenLite.to(this, 0.3, {x:_local1, y:BOTTOM_POS, ease:Sine.easeInOut, onComplete:goSide});
};
};
};
}
function goSide(){
var _local1:int;
var _local2:Number;
if (!death){
_local1 = 200;
if (this.x < 300){
_local1 = (Defines.CHAR_LIMIT_X_RIGHT - 200);
};
heroHitted = false;
_local2 = 2.5;
if (level == 2){
_local2 = 1.9;
_local1 = 160;
if (this.x < 300){
_local1 = (Defines.CHAR_LIMIT_X_RIGHT - 160);
};
};
animTween1 = TweenLite.to(this, _local2, {x:_local1, ease:Back.easeInOut, onUpdate:updateRay});
TweenLite.delayedCall((_local2 + 0.2), goUp);
};
}
public function enableHurt(){
canHurt = true;
pixelCollision = true;
}
public function onDamage(_arg1:Event){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this, 0.01, {colorMatrixFilter:{colorize:0xFF0000, amount:0.3}, onComplete:removeDamage});
Defines._document["gui"]["bossbar"].setProgress(maxhp, hp);
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
}
public function removeDamage(){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this, 0.2, {colorMatrixFilter:{}});
}
public function onShoot(_arg1:Event){
}
public function onDie(_arg1:Event){
var e = _arg1;
onDestroy();
var i:int;
while (i < 30) {
TweenLite.delayedCall((i * 0.1), addSmoke, [0, -100]);
TweenLite.delayedCall((i * 0.1), addSmoke, [10, -110]);
TweenLite.delayedCall((i * 0.1), addSmoke, [-10, -110]);
i = (i + 1);
};
i = 0;
while (i < 18) {
TweenLite.delayedCall((i * 0.05), Defines._game.addExplosion, [((x - 100) + (Math.random() * 200)), ((y - 80) + (Math.random() * 70)), 0.9]);
i = (i + 1);
};
animTween1.kill();
Defines._document["gui"]["bossbar"].visible = false;
removeDamage();
dieTween1 = TweenLite.to(this["clip"], 0.1, {colorMatrixFilter:{colorize:0, amount:0.3}});
dieTween2 = TweenLite.to(this, 2, {y:(Defines.DEFAULT_CHAR_Y - 30), x:(x + ((Math.random() * 300) - 200)), onComplete:Defines._game.quake, onCompleteParams:[5, 0.01, true], ease:Sine.easeIn});
dieTween3 = TweenLite.to(this["clip"], 1.8, {rotation:((Math.random() * 100) + 50), delay:0.2, ease:Sine.easeIn});
try {
ray.visible = false;
Defines._game.removeChild(ray);
} catch(e:Error) {
trace("can't remove ray");
};
this.mask = Defines._game.addDeadMask();
Defines._game.quake(25, 0.12);
if (!addedFriend){
Defines._game.addEnemy(Boss2, 1, 2);
Defines._game.addEnemy(PowerupShip, 0, 1, {type:1});
Defines._game.currentLevel.totalEnemies = (Defines._game.currentLevel.totalEnemies + 2);
addedFriend = true;
};
}
public function onDestroy(_arg1=null){
if (ray != null){
Defines._game.removeChild(ray);
};
removeEventListener("ON_DAMAGE", onDamage);
removeEventListener("ON_DIE", onDie);
removeEventListener("ON_SHOOT", onShoot);
removeEventListener("ON_DESTROY", onDestroy);
Defines._document["gui"]["bossbar"].visible = false;
if (shootTween != null){
shootTween.kill();
};
TweenLite.killTweensOf(this);
TweenLite.killDelayedCallsTo(burstBullets);
TweenLite.killDelayedCallsTo(shoot);
TweenLite.killDelayedCallsTo(goDown);
TweenLite.killDelayedCallsTo(goUp);
TweenLite.killDelayedCallsTo(goRandomDown);
TweenLite.killDelayedCallsTo(goSide);
TweenLite.killDelayedCallsTo(enableHurt);
TweenLite.killDelayedCallsTo(enableHerohit);
TweenLite.killDelayedCallsTo(updateRay);
TweenLite.killDelayedCallsTo(goCenter);
}
}
}//package Actors.Enemies
Section 4
//Boss2 (Actors.Enemies.Boss2)
package Actors.Enemies {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import com.greensock.*;
import com.greensock.easing.*;
import Utils.MovieClips.*;
public class Boss2 extends Enemy {
public var hpText:TextField;
public var clip:MovieClip;
var damageTween:TweenLite;
var shootTween:TweenLite;
var dieTween1:TweenLite;
var dieTween2:TweenLite;
var dieTween3:TweenLite;
var animTween1:TweenLite;
var animTween2:TweenLite;
var animTween3:TweenLite;
public var balls:Number;// = 1
public var ballSize:Number;// = 2.3
public var ballTime:Number;// = 1.3
public var ballPower:uint;// = 15
var shooting:Boolean;// = false
var DEFAULT_BODY_Y:Number;// = -49
var DEFAULT_ARM_Y:Number;// = -95
var DEFAULT_LEG_Y:Number;// = -48
var DEFAULT_TUBES_Y:Number;// = -13
var DEFAULT_HEAD_Y:Number;// = -105
var BOTTOM_POS:Number;
var UP_POS:Number;// = -100
var X_POS:Array;
var shadow:MovieClip;
var jumps:int;// = 0
public function Boss2(){
X_POS = [198, 270, 500, 570];
super();
crystals = [2, 3, 5, 2, 5, 5, 6, 4, 5, 4, 6, 5, 3, 4, 5];
isBoss = true;
maxhp = 15000;
hp = maxhp;
timeOnScreen = 5.5;
pixelCollision = false;
BOTTOM_POS = (Defines.DEFAULT_CHAR_Y - 30);
canHurt = false;
pixelCollision = false;
}
public function init(_arg1=null){
y = UP_POS;
if (level == 2){
maxhp = 16000;
hp = maxhp;
ballTime = 0.8;
ballPower = 15;
};
anim_reset();
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
addEventListener("ON_DAMAGE", onDamage);
addEventListener("ON_DIE", onDie);
addEventListener("ON_SHOOT", onShoot);
addEventListener("ON_DESTROY", onDestroy);
removeEventListener(Event.ADDED_TO_STAGE, init);
createShadow();
goUp();
resetXPos();
Defines._document["gui"]["bossbar"].visible = true;
Defines._document["gui"]["bossbar"].setProgress(maxhp, hp);
}
function createShadow(){
shadow = (MovieClipUtils.createOn(DefaultShadow, Defines._game) as MovieClip);
shadow.x = x;
shadow.y = (Defines.DEFAULT_CHAR_Y - 20);
shadow.scaleX = 0;
shadow.scaleY = 0;
shadow.alpha = 0.7;
Defines._game.setChildIndex(shadow, 2);
MovieClipUtils.setOnTop(Defines._game.hero);
}
function anim_reset(){
if (!death){
this["clip"]["r_arm"].rotation = 0;
this["clip"]["l_arm"].rotation = 0;
this["clip"]["l_leg"].rotation = 0;
this["clip"]["r_leg"].rotation = 0;
this["clip"]["body"].y = DEFAULT_BODY_Y;
this["clip"]["tubes"].y = DEFAULT_TUBES_Y;
this["clip"]["head"].y = DEFAULT_HEAD_Y;
this["clip"]["l_arm"].y = DEFAULT_ARM_Y;
this["clip"]["r_arm"].y = DEFAULT_ARM_Y;
};
}
function resetXPos(){
x = X_POS[int((Math.random() * 3))];
if (shadow != null){
shadow.x = x;
};
}
function shoot(){
var _local1:Array;
var _local2:Number;
if (((!(shooting)) && (!(death)))){
_local1 = getHeroTarget();
_local2 = 1;
if (level == 2){
_local2 = 0.76;
};
TweenLite.delayedCall((0.1 * _local2), burstBullets, [_local1[0], _local1[1]]);
TweenLite.delayedCall((0.2 * _local2), burstBullets, [_local1[0], _local1[1]]);
TweenLite.delayedCall((0.3 * _local2), burstBullets, [_local1[0], _local1[1]]);
TweenLite.delayedCall((1.1 * _local2), burstBullets, [_local1[0], _local1[1]]);
TweenLite.delayedCall((1.2 * _local2), burstBullets, [_local1[0], _local1[1]]);
TweenLite.delayedCall((1.3 * _local2), burstBullets, [_local1[0], _local1[1]]);
TweenLite.delayedCall((2.1 * _local2), burstBullets, [_local1[0], _local1[1]]);
TweenLite.delayedCall((2.2 * _local2), burstBullets, [_local1[0], _local1[1]]);
TweenLite.delayedCall((2.3 * _local2), burstBullets, [_local1[0], _local1[1]]);
shooting = true;
};
}
function burstBullets(_arg1:Number, _arg2:Number){
dropFixedBall(ballSize, ballTime, this.x, (this.y - 110), _arg1, _arg2, ballPower);
dropFixedBall(ballSize, ballTime, this.x, (this.y - 110), _arg1, (_arg2 + 200), ballPower);
dropFixedBall(ballSize, (ballTime * 0.5), this.x, (this.y - 110), ((this.x)<(Defines.CHAR_LIMIT_X_RIGHT / 2)) ? -50 : (Defines.CHAR_LIMIT_X_RIGHT + 70), Defines.DEFAULT_CHAR_Y, ballPower);
dropFixedBall(ballSize, (ballTime * 0.5), this.x, (this.y - 110), ((this.x)<(Defines.CHAR_LIMIT_X_RIGHT / 2)) ? -50 : (Defines.CHAR_LIMIT_X_RIGHT + 70), (Defines.DEFAULT_CHAR_Y - 100), ballPower);
dropFixedBall(ballSize, (ballTime * 0.2), this.x, (this.y - 110), (this.x - 50), (Defines.DEFAULT_CHAR_Y + 5), ballPower);
dropFixedBall(ballSize, (ballTime * 0.2), this.x, (this.y - 110), (this.x + 50), (Defines.DEFAULT_CHAR_Y + 5), ballPower);
}
function getHeroTarget():Array{
if (this.x > 300){
return ([(Defines.CHAR_LIMIT_X_LEFT - 150), (Defines.DEFAULT_CHAR_Y - 22)]);
};
return ([(Defines.CHAR_LIMIT_X_RIGHT + 150), (Defines.DEFAULT_CHAR_Y - 22)]);
}
function anim_jump(){
if (!death){
TweenLite.to(this["clip"]["r_arm"], 2, {rotation:-15, overwrite:0});
TweenLite.to(this["clip"]["l_arm"], 2, {rotation:15, overwrite:0});
TweenLite.to(this["clip"]["body"], 2, {y:(DEFAULT_BODY_Y + 15), overwrite:0});
TweenLite.to(this["clip"]["tubes"], 2, {y:(DEFAULT_TUBES_Y + 15), overwrite:0});
TweenLite.to(this["clip"]["head"], 2, {y:(DEFAULT_HEAD_Y + 15), overwrite:0});
TweenLite.to(this["clip"]["l_arm"], 2, {y:(DEFAULT_ARM_Y + 15), overwrite:0});
TweenLite.to(this["clip"]["r_arm"], 2, {y:(DEFAULT_ARM_Y + 15), overwrite:0});
TweenLite.to(this["clip"]["l_leg"], 2, {rotation:15, overwrite:0});
TweenLite.to(this["clip"]["r_leg"], 2, {rotation:-15, overwrite:0});
TweenLite.to(this["clip"]["r_arm"], 0.1, {rotation:30, delay:2, overwrite:0});
TweenLite.to(this["clip"]["l_arm"], 0.1, {rotation:-30, delay:2, overwrite:0});
TweenLite.to(this["clip"]["body"], 0.1, {y:DEFAULT_BODY_Y, delay:2, overwrite:0});
TweenLite.to(this["clip"]["tubes"], 0.1, {y:DEFAULT_TUBES_Y, delay:2, overwrite:0});
TweenLite.to(this["clip"]["head"], 0.1, {y:DEFAULT_HEAD_Y, delay:2, overwrite:0});
TweenLite.to(this["clip"]["l_arm"], 0.1, {y:DEFAULT_ARM_Y, delay:2, overwrite:0});
TweenLite.to(this["clip"]["r_arm"], 0.1, {y:DEFAULT_ARM_Y, delay:2, overwrite:0});
TweenLite.to(this["clip"]["l_leg"], 0.1, {rotation:0, delay:2, overwrite:0});
TweenLite.to(this["clip"]["r_leg"], 0.1, {rotation:0, delay:2, overwrite:0});
TweenLite.delayedCall(2.05, goUp);
};
}
function anim_fall(){
if (!death){
if (Math.abs((Defines._game.hero.x - this.x)) < 100){
Defines._game.hero.damage(150);
};
TweenLite.to(this["clip"]["r_arm"], 0.5, {rotation:-15, overwrite:0});
TweenLite.to(this["clip"]["l_arm"], 0.5, {rotation:15, overwrite:0});
TweenLite.to(this["clip"]["body"], 0.2, {y:(DEFAULT_BODY_Y + 15), overwrite:0});
TweenLite.to(this["clip"]["tubes"], 0.2, {y:(DEFAULT_TUBES_Y + 15), overwrite:0});
TweenLite.to(this["clip"]["head"], 0.2, {y:(DEFAULT_HEAD_Y + 15), overwrite:0});
TweenLite.to(this["clip"]["l_arm"], 0.2, {y:(DEFAULT_ARM_Y + 15), overwrite:0});
TweenLite.to(this["clip"]["r_arm"], 0.2, {y:(DEFAULT_ARM_Y + 15), overwrite:0});
TweenLite.to(this["clip"]["l_leg"], 0.5, {rotation:15, overwrite:0});
TweenLite.to(this["clip"]["r_leg"], 0.5, {rotation:-15, overwrite:0});
TweenLite.to(this["clip"]["r_arm"], 0.5, {rotation:30, delay:1, overwrite:0});
TweenLite.to(this["clip"]["l_arm"], 0.5, {rotation:-30, delay:1, overwrite:0});
TweenLite.to(this["clip"]["body"], 0.5, {y:DEFAULT_BODY_Y, delay:1, overwrite:0});
TweenLite.to(this["clip"]["tubes"], 0.5, {y:DEFAULT_TUBES_Y, delay:1, overwrite:0});
TweenLite.to(this["clip"]["head"], 0.5, {y:DEFAULT_HEAD_Y, delay:1, overwrite:0});
TweenLite.to(this["clip"]["l_arm"], 0.5, {y:DEFAULT_ARM_Y, delay:1, overwrite:0});
TweenLite.to(this["clip"]["r_arm"], 0.5, {y:DEFAULT_ARM_Y, delay:1, overwrite:0});
TweenLite.to(this["clip"]["l_leg"], 0.5, {rotation:0, delay:2, overwrite:0});
TweenLite.to(this["clip"]["r_leg"], 0.5, {rotation:0, delay:2, overwrite:0});
TweenLite.to(this["clip"]["r_arm"], 2, {rotation:0, delay:1.5, overwrite:0});
TweenLite.to(this["clip"]["l_arm"], 2, {rotation:0, delay:1.5, overwrite:0});
animTween3 = TweenLite.delayedCall(1.5, anim_head);
};
}
function anim_head(){
if (!death){
TweenLite.to(this["clip"]["head"], 1, {y:(DEFAULT_HEAD_Y - 30)});
animTween3 = TweenLite.to(this["clip"]["head"], 1, {y:DEFAULT_HEAD_Y, delay:5, overwrite:0});
shoot();
};
}
function goUp(){
var _local1:int;
if (!death){
jumps++;
TweenLite.to(this, 0.15, {y:UP_POS, motionBlur:Defines.MOTION_BLUR});
if (Defines.SHOW_EFFECTS){
Defines._game.burstSmoke((x - 90), (Defines.DEFAULT_CHAR_Y - 30), 0.6, 1.1, 250, 10);
};
TweenLite.delayedCall(1, anim_reset);
TweenLite.delayedCall(1, resetXPos);
TweenLite.delayedCall(3, goDown);
shooting = false;
canHurt = false;
TweenLite.to(shadow, 0.5, {scaleX:0, scaleY:0, delay:0.1});
TweenLite.to(shadow, 0.8, {scaleX:2, scaleY:1.5, delay:2.2, overwite:false});
if ((((jumps > 3)) && ((jumps < 7)))){
_local1 = 0;
while (_local1 < (jumps - 1)) {
if (level == 1){
TweenLite.delayedCall((_local1 * 0.2), Defines._game.addEnemy, [MicroPlate]);
} else {
TweenLite.delayedCall((_local1 * 0.2), Defines._game.addEnemy, [Kamikaze]);
};
_local1++;
};
Defines._game.currentLevel.totalEnemies = (Defines._game.currentLevel.totalEnemies + _local1);
};
};
}
function goDown(){
TweenLite.to(this, 0.15, {y:BOTTOM_POS, motionBlur:Defines.MOTION_BLUR});
Defines._game.quake(8, 0.03);
TweenLite.delayedCall(0.4, enableHurt);
animTween1 = TweenLite.delayedCall(0.15, anim_fall);
animTween2 = TweenLite.delayedCall(timeOnScreen, anim_jump);
if (Defines.SHOW_EFFECTS){
TweenLite.delayedCall(0.1, Defines._game.burstSmoke, [(x - 90), (Defines.DEFAULT_CHAR_Y - 30), 0.6, 1.1, 250, 10]);
};
}
public function enableHurt(){
canHurt = true;
pixelCollision = true;
}
public function onDamage(_arg1:Event){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this, 0.01, {colorMatrixFilter:{colorize:0xFF0000, amount:0.3}, onComplete:removeDamage});
Defines._document["gui"]["bossbar"].setProgress(maxhp, hp);
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
}
public function removeDamage(){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this, 0.2, {colorMatrixFilter:{}});
}
public function onShoot(_arg1:Event){
}
public function onDie(_arg1:Event){
onDestroy();
var _local2:int;
while (_local2 < 30) {
TweenLite.delayedCall((_local2 * 0.1), addSmoke, [0, -100]);
TweenLite.delayedCall((_local2 * 0.1), addSmoke, [10, -110]);
TweenLite.delayedCall((_local2 * 0.1), addSmoke, [-10, -110]);
_local2++;
};
_local2 = 0;
while (_local2 < 18) {
TweenLite.delayedCall((_local2 * 0.05), Defines._game.addExplosion, [((x - 100) + (Math.random() * 200)), ((y - 80) + (Math.random() * 70)), 0.9]);
_local2++;
};
animTween1.kill();
animTween2.kill();
animTween3.kill();
Defines._document["gui"]["bossbar"].visible = false;
removeDamage();
dieTween1 = TweenLite.to(this["clip"], 0.1, {colorMatrixFilter:{colorize:0, amount:0.3}});
TweenLite.to(this["clip"]["head"], 1, {y:-20, rotation:150, delay:0, ease:Sine.easeIn});
TweenLite.to(this["clip"]["head"], 1, {x:"+100", rotation:450, delay:1, overwrite:false});
TweenLite.to(this["clip"]["r_arm"], 1, {y:-30, rotation:-170, x:60, delay:0.1, ease:Sine.easeIn});
TweenLite.to(this["clip"]["l_arm"], 1, {y:-30, rotation:170, x:-70, delay:0.15, ease:Sine.easeIn});
Defines._game.quake(25, 0.12);
}
public function onDestroy(_arg1=null){
removeEventListener("ON_DAMAGE", onDamage);
removeEventListener("ON_DIE", onDie);
removeEventListener("ON_SHOOT", onShoot);
removeEventListener("ON_DESTROY", onDestroy);
Defines._document["gui"]["bossbar"].visible = false;
if (shootTween != null){
shootTween.kill();
};
Defines._game.removeChild(shadow);
shadow = null;
TweenLite.killTweensOf(this);
TweenLite.killDelayedCallsTo(burstBullets);
TweenLite.killDelayedCallsTo(shoot);
TweenLite.killDelayedCallsTo(anim_fall);
TweenLite.killDelayedCallsTo(anim_head);
TweenLite.killDelayedCallsTo(anim_jump);
TweenLite.killDelayedCallsTo(goDown);
TweenLite.killDelayedCallsTo(goUp);
}
}
}//package Actors.Enemies
Section 5
//Boss3 (Actors.Enemies.Boss3)
package Actors.Enemies {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import com.greensock.*;
import Actors.Projectiles.*;
import Utils.MovieClips.*;
public class Boss3 extends Enemy {
public var hpText:TextField;
public var clip:MovieClip;
var damageTween:TweenLite;
var shootTween:TweenLite;
var dieTween1:TweenLite;
var dieTween2:TweenLite;
var dieTween3:TweenLite;
var animTween1:TweenLite;
var animTween2:TweenLite;
var animTween3:TweenLite;
public var balls:Number;// = 1
public var ballSize:Number;// = 2
public var ballTime:Number;// = 0.7
public var ballPower:uint;// = 28
var shooting:Boolean;// = false
var heroHitted:Boolean;// = false
public function Boss3(){
crystals = [6, 3, 5, 6, 4, 5, 6, 4, 5, 6, 6, 5, 4, 6, 6, 6, 6, 5, 4, 6, 6];
isBoss = true;
maxhp = 15000;
hp = maxhp;
timeOnScreen = 5.5;
pixelCollision = true;
canHurt = false;
pixelCollision = false;
}
public function init(_arg1=null){
trace("Boss3.init()");
Defines._document["gui"]["bossbar"].visible = true;
Defines._document["gui"]["bossbar"].setProgress(maxhp, hp);
x = 409;
y = (Defines.DEFAULT_CHAR_Y - 392);
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
addEventListener("ON_DAMAGE", onDamage);
addEventListener("ON_DIE", onDie);
addEventListener("ON_SHOOT", onShoot);
addEventListener("ON_DESTROY", onDestroy);
removeEventListener(Event.ADDED_TO_STAGE, init);
TweenMax.delayedCall(1, antennaUp);
TweenLite.from(this["clip"], 1, {colorMatrixFilter:{colorize:0xFFFFFF, amount:3, contrast:1.6, brightness:3}});
if (Defines._document.tempClip != null){
Defines._document.tempClip.visible = false;
};
}
function anim_reset(){
if (!death){
this["clip"]["shell"].rotation = 0;
this["clip"]["base"].rotation = 0;
};
}
function antennaDown(){
TweenMax.to(this["clip"]["lantenna"], 1, {x:-191, y:139});
TweenMax.to(this["clip"]["rantenna"], 1, {x:194, y:139});
}
function torreDown(){
Defines._game.addEnemy(ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 6) * 2)});
Defines._game.addEnemy(ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 6) * 4)});
Defines._game.currentLevel.totalEnemies = (Defines._game.currentLevel.totalEnemies + 2);
TweenMax.to(this["clip"]["casco"], 0.5, {y:77});
TweenMax.to(this["clip"]["torre"], 0.5, {y:69, delay:0.5});
shooting = false;
TweenMax.delayedCall(0.5, disableHurt);
}
function antennaUp(){
TweenMax.to(this["clip"]["lantenna"], 1, {x:-181, y:49});
TweenMax.to(this["clip"]["rantenna"], 1, {x:184, y:49, onComplete:raySequence1});
}
function torreUp(){
TweenMax.to(this["clip"]["torre"], 0.5, {y:29});
TweenMax.to(this["clip"]["casco"], 0.5, {y:-12, delay:0.5});
TweenMax.delayedCall(0.5, enableHurt);
TweenMax.delayedCall(1.5, shoot);
TweenMax.delayedCall(4, shoot);
TweenMax.delayedCall(6, torreDown);
TweenMax.delayedCall(8, antennaUp);
}
function raySequence1(){
shootRay((this.x - 175));
TweenLite.delayedCall(1, shootRay, [(this.x - 175)]);
TweenLite.delayedCall(2, shootRay, [(this.x - 175)]);
TweenLite.delayedCall(3, shootRay, [(this.x + 175)]);
TweenLite.delayedCall(4, shootRay, [(this.x + 175)]);
TweenLite.delayedCall(5, shootRay, [(this.x + 175)]);
TweenMax.delayedCall(6, antennaDown);
TweenMax.delayedCall(6.5, torreUp);
}
function shootRay(_arg1:int, _arg2:int=0){
var _local3:GroundRay;
_local3 = (MovieClipUtils.createOn(GroundRay, (Defines._game as MovieClip)) as GroundRay);
_local3.y = 100;
_local3.x = _arg1;
_local3.go();
}
function shoot(){
if (((!(shooting)) && (!(death)))){
TweenLite.delayedCall(0.1, burstBullets, [(Defines.CHAR_LIMIT_X_RIGHT / 2), Defines.DEFAULT_CHAR_Y]);
TweenLite.delayedCall(0.3, burstBullets, [(Defines.CHAR_LIMIT_X_RIGHT / 2), Defines.DEFAULT_CHAR_Y]);
TweenLite.delayedCall(0.5, burstBullets, [(Defines.CHAR_LIMIT_X_RIGHT / 2), Defines.DEFAULT_CHAR_Y]);
TweenLite.delayedCall((0.1 + 0.8), burstBullets, [((Defines.CHAR_LIMIT_X_RIGHT / 2) + 200), Defines.DEFAULT_CHAR_Y]);
TweenLite.delayedCall((0.3 + 0.8), burstBullets, [((Defines.CHAR_LIMIT_X_RIGHT / 2) + 200), Defines.DEFAULT_CHAR_Y]);
TweenLite.delayedCall((0.5 + 0.8), burstBullets, [((Defines.CHAR_LIMIT_X_RIGHT / 2) + 200), Defines.DEFAULT_CHAR_Y]);
TweenLite.delayedCall((0.1 + 1.6), burstBullets, [((Defines.CHAR_LIMIT_X_RIGHT / 2) - 200), Defines.DEFAULT_CHAR_Y]);
TweenLite.delayedCall((0.3 + 1.6), burstBullets, [((Defines.CHAR_LIMIT_X_RIGHT / 2) - 200), Defines.DEFAULT_CHAR_Y]);
TweenLite.delayedCall((0.5 + 1.6), burstBullets, [((Defines.CHAR_LIMIT_X_RIGHT / 2) - 200), Defines.DEFAULT_CHAR_Y]);
shooting = true;
};
}
function burstBullets(_arg1:Number, _arg2:Number){
dropFixedBall(ballSize, ballTime, this.x, (this.y + 10), (_arg1 - 35), _arg2, ballPower);
dropFixedBall(ballSize, ballTime, this.x, (this.y + 10), (_arg1 + 35), _arg2, ballPower);
dropFixedBall(ballSize, ballTime, this.x, (this.y + 10), (_arg1 - 200), (_arg2 - 40), ballPower);
dropFixedBall(ballSize, ballTime, this.x, (this.y + 10), (_arg1 - 260), (_arg2 - 40), ballPower);
dropFixedBall(ballSize, ballTime, this.x, (this.y + 10), (_arg1 + 200), (_arg2 - 40), ballPower);
dropFixedBall(ballSize, ballTime, this.x, (this.y + 10), (_arg1 + 260), (_arg2 - 40), ballPower);
}
function getHeroTarget():Array{
return ([(stage.stageWidth * 0.5), (Defines.DEFAULT_CHAR_Y + 50)]);
}
function enableHerohit(){
heroHitted = false;
}
public function disableHurt(){
trace("Boss3.disableHurt()");
canHurt = false;
}
public function enableHurt(){
trace("Boss3.enableHurt()");
canHurt = true;
pixelCollision = true;
}
public function onDamage(_arg1:Event){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this["clip"]["torre"], 0.01, {colorMatrixFilter:{colorize:0xFF0000, amount:0.3}, onComplete:removeDamage});
damageTween = TweenLite.to(this["clip"]["casco"], 0.01, {colorMatrixFilter:{colorize:0xFF0000, amount:0.3}, onComplete:removeDamage});
Defines._document["gui"]["bossbar"].setProgress(maxhp, hp);
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
}
public function removeDamage(){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this["clip"]["torre"], 0.2, {colorMatrixFilter:{}});
damageTween = TweenLite.to(this["clip"]["casco"], 0.2, {colorMatrixFilter:{}});
}
public function onShoot(_arg1:Event){
}
public function onDie(_arg1:Event){
onDestroy();
TweenLite.to(this["clip"], 0.3, {colorMatrixFilter:{colorize:0, amount:0.3}});
var _local2:int;
while (_local2 < 30) {
TweenLite.delayedCall((_local2 * 0.1), addSmoke, [0, -100]);
TweenLite.delayedCall((_local2 * 0.1), addSmoke, [10, -110]);
TweenLite.delayedCall((_local2 * 0.1), addSmoke, [-10, -110]);
_local2++;
};
_local2 = 0;
while (_local2 < 18) {
TweenLite.delayedCall((_local2 * 0.05), Defines._game.addExplosion, [((x - 100) + (Math.random() * 200)), (y + (Math.random() * 70)), 0.9]);
_local2++;
};
animTween1.kill();
Defines._document["gui"]["bossbar"].visible = false;
removeDamage();
Defines._game.quake(25, 0.12);
}
public function onDestroy(_arg1=null){
removeEventListener("ON_DAMAGE", onDamage);
removeEventListener("ON_DIE", onDie);
removeEventListener("ON_SHOOT", onShoot);
removeEventListener("ON_DESTROY", onDestroy);
Defines._document["gui"]["bossbar"].visible = false;
if (shootTween != null){
shootTween.kill();
};
TweenLite.killTweensOf(this);
TweenLite.killDelayedCallsTo(burstBullets);
TweenLite.killDelayedCallsTo(shoot);
TweenLite.killDelayedCallsTo(shootRay);
TweenLite.killDelayedCallsTo(torreDown);
TweenLite.killDelayedCallsTo(torreUp);
TweenLite.killDelayedCallsTo(antennaDown);
TweenLite.killDelayedCallsTo(antennaUp);
}
}
}//package Actors.Enemies
Section 6
//Boss5 (Actors.Enemies.Boss5)
package Actors.Enemies {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import com.greensock.*;
import Actors.Projectiles.*;
import com.greensock.easing.*;
import Utils.MovieClips.*;
public class Boss5 extends Enemy {
public var hpText:TextField;
public var clip:MovieClip;
var damageTween:TweenLite;
var shootTween:TweenLite;
var dieTween1:TweenLite;
var dieTween2:TweenLite;
var dieTween3:TweenLite;
var animTween1:TweenLite;
var animTween2:TweenLite;
var animTween3:TweenLite;
public var balls:Number;// = 1
public var ballSize:Number;// = 3
public var ballTime:Number;// = 0.8
public var ballPower:uint;// = 35
var addedFriend:Boolean;// = true
var shooting:Boolean;// = false
var DEFAULT_SHELL_Y:Number;// = -40
var BOTTOM_POS:Number;
var UP_POS:Number;// = -50
var X_POS:Array;
var shadow:MovieClip;
var ray:MovieClip;
var heroHitted:Boolean;// = false
var switchedBoss:Boolean;// = false
public function Boss5(){
X_POS = [198, 270, 500, 570];
super();
crystals = [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6];
isBoss = true;
maxhp = 0x7D00;
hp = maxhp;
timeOnScreen = 5.5;
pixelCollision = false;
BOTTOM_POS = (Defines.DEFAULT_CHAR_Y - 540);
UP_POS = (Defines.DEFAULT_CHAR_Y - 730);
canHurt = false;
pixelCollision = false;
ray = (MovieClipUtils.createOn(Boss1Ray, (Defines._game as MovieClip)) as MovieClip);
ray.y = 0;
ray.scaleY = 3.35;
ray.scaleX = 2;
ray.visible = false;
}
public function init(_arg1=null){
trace("Boss1.init() level:", level);
x = (Defines.CHAR_LIMIT_X_RIGHT / 2);
y = (UP_POS - 800);
anim_reset();
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
addEventListener("ON_DAMAGE", onDamage);
addEventListener("ON_DIE", onDie);
addEventListener("ON_SHOOT", onShoot);
addEventListener("ON_DESTROY", onDestroy);
removeEventListener(Event.ADDED_TO_STAGE, init);
TweenMax.delayedCall(4, createEnemies1);
Defines._document["gui"]["bossbar"].visible = true;
Defines._document["gui"]["bossbar"].setProgress(maxhp, hp);
}
function createShadow(){
shadow = (MovieClipUtils.createOn(DefaultShadow, Defines._game) as MovieClip);
shadow.x = x;
shadow.y = (Defines.DEFAULT_CHAR_Y - 20);
shadow.scaleX = 0;
shadow.scaleY = 0;
shadow.alpha = 0.7;
Defines._game.setChildIndex(shadow, 2);
MovieClipUtils.setOnTop(Defines._game.hero);
}
function anim_reset(){
if (!death){
};
}
function createEnemies1(){
if (!switchedBoss){
Defines._game.addEnemy(ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 6) * 1)});
Defines._game.addEnemy(ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 6) * 5)});
Defines._game.currentLevel.totalEnemies = (Defines._game.currentLevel.totalEnemies + 2);
TweenMax.delayedCall(2, createEnemies2);
};
}
function createEnemies2(){
Defines._game.addEnemy(Kamikaze, 1, 1);
Defines._game.addEnemy(Kamikaze, 1, 1);
Defines._game.addEnemy(Kamikaze, 1, 1);
TweenMax.delayedCall(1, Defines._game.addEnemy, [Kamikaze, 1, 1]);
TweenMax.delayedCall(1, Defines._game.addEnemy, [Kamikaze, 1, 1]);
Defines._game.currentLevel.totalEnemies = (Defines._game.currentLevel.totalEnemies + 5);
TweenMax.delayedCall(3, createEnemies3);
}
function createEnemies3(){
TweenMax.delayedCall(0.1, Defines._game.addEnemy, [Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 6) * 2)}]);
TweenMax.delayedCall(0.6, Defines._game.addEnemy, [Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 6) * 4)}]);
TweenMax.delayedCall(1, Defines._game.addEnemy, [Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 6) * 3)}]);
TweenMax.delayedCall(1.4, Defines._game.addEnemy, [Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 6) * 2)}]);
TweenMax.delayedCall(1.9, Defines._game.addEnemy, [Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 6) * 4)}]);
TweenMax.delayedCall(2.2, Defines._game.addEnemy, [Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 6) * 3)}]);
Defines._game.currentLevel.totalEnemies = (Defines._game.currentLevel.totalEnemies + 6);
TweenMax.delayedCall(0.2, goDown);
}
function resetXPos(){
x = X_POS[int((Math.random() * 3))];
if (shadow != null){
shadow.x = x;
};
}
function shoot(){
var _local1:Array;
if (((!(shooting)) && (!(death)))){
_local1 = [(Defines.CHAR_LIMIT_X_RIGHT / 2), Defines.DEFAULT_CHAR_Y];
TweenLite.delayedCall(0.1, burstBullets, [_local1[0], _local1[1]]);
TweenLite.delayedCall(0.3, burstBullets, [_local1[0], _local1[1]]);
TweenLite.delayedCall(0.5, burstBullets, [_local1[0], _local1[1]]);
TweenLite.delayedCall(0.7, burstBullets, [_local1[0], _local1[1]]);
TweenLite.delayedCall(0.9, burstBullets, [_local1[0], _local1[1]]);
TweenLite.delayedCall(1.1, burstBullets, [_local1[0], _local1[1]]);
shooting = true;
TweenLite.delayedCall(2, prepareRay);
};
}
function burstBullets(_arg1:Number, _arg2:Number){
dropFixedBall(ballSize, ballTime, this.x, this.y, (_arg1 - 50), _arg2, ballPower);
dropFixedBall(ballSize, ballTime, this.x, this.y, (_arg1 + 50), _arg2, ballPower);
dropFixedBall(ballSize, ballTime, this.x, this.y, (_arg1 - 350), (_arg2 - 40), ballPower);
dropFixedBall(ballSize, ballTime, this.x, this.y, (_arg1 + 350), (_arg2 - 40), ballPower);
}
function getHeroTarget():Array{
return ([(stage.stageWidth * 0.5), (Defines.DEFAULT_CHAR_Y + 50)]);
}
function updateRay(){
ray.x = this.x;
if (!ray.visible){
ray.visible = true;
};
if ((((Math.abs((ray.x - Defines._game.hero.x)) < 20)) && (!(heroHitted)))){
Defines._game.hero.damage(40);
heroHitted = true;
TweenLite.delayedCall(0.6, enableHerohit);
};
}
function enableHerohit(){
heroHitted = false;
}
function anim_head(){
if (!death){
shoot();
};
}
function goDown(){
trace("Boss1.goDown");
if (((!(death)) && (!(switchedBoss)))){
trace("Boss1.goDown");
animTween1 = TweenLite.to(this, 3, {y:BOTTOM_POS, delay:1, ease:Strong.easeInOut});
TweenLite.delayedCall(1, enableHurt);
TweenLite.delayedCall(4.2, shoot);
};
}
function goCenter(){
trace("Boss1.goCenter");
if (((!(death)) && (!(switchedBoss)))){
ray.visible = false;
animTween1 = TweenLite.to(this, 1.5, {x:(stage.stageWidth * 0.5), y:(UP_POS - 300), ease:Sine.easeInOut});
TweenLite.delayedCall(2, createEnemies1);
};
}
function goRandomDown(){
var _local1:int;
if (((!(death)) && (!(switchedBoss)))){
_local1 = 50;
shooting = false;
if (Defines._game.hero.x > 550){
_local1 = (Defines.CHAR_LIMIT_X_RIGHT - 50);
} else {
if (Defines._game.hero.x < 250){
_local1 = 50;
} else {
if (Math.random() < 0.5){
_local1 = (Defines.CHAR_LIMIT_X_RIGHT - 50);
};
};
};
animTween1 = TweenLite.to(this, 0.5, {x:_local1, y:BOTTOM_POS, ease:Sine.easeInOut, onComplete:goSide});
};
}
function prepareRay(){
animTween1 = TweenLite.to(this, 0.5, {x:50, ease:Sine.easeInOut, onComplete:goSide});
shooting = false;
}
function goSide(){
var _local1:int;
var _local2:Number;
if (((!(death)) && (!(switchedBoss)))){
_local1 = (Defines.CHAR_LIMIT_X_RIGHT - 150);
heroHitted = false;
_local2 = 2;
animTween1 = TweenLite.to(this, _local2, {x:_local1, ease:Back.easeInOut, onUpdate:updateRay});
TweenLite.delayedCall((_local2 + 0.2), secondRay);
};
}
function secondRay(){
if (((!(death)) && (!(switchedBoss)))){
animTween1 = TweenLite.to(this, 0.3, {x:Defines.CHAR_LIMIT_X_RIGHT, ease:Back.easeInOut});
ray.visible = false;
TweenLite.delayedCall(0.5, goSide2);
};
}
function goSide2(){
var _local1:int;
var _local2:Number;
if (((!(death)) && (!(switchedBoss)))){
_local1 = 200;
heroHitted = false;
_local2 = 2.3;
animTween1 = TweenLite.to(this, _local2, {x:_local1, ease:Back.easeInOut, onUpdate:updateRay});
TweenLite.delayedCall((_local2 + 0.2), goCenter);
};
}
function switchBoss(){
var _local1:int;
if (!switchedBoss){
TweenLite.killTweensOf(this);
TweenLite.killDelayedCallsTo(burstBullets);
TweenLite.killDelayedCallsTo(shoot);
TweenLite.killDelayedCallsTo(goDown);
TweenLite.killDelayedCallsTo(secondRay);
TweenLite.killDelayedCallsTo(prepareRay);
TweenLite.killDelayedCallsTo(goSide);
TweenLite.killDelayedCallsTo(goSide2);
TweenLite.killDelayedCallsTo(createEnemies1);
TweenLite.killDelayedCallsTo(createEnemies2);
TweenLite.killDelayedCallsTo(createEnemies3);
heroHitted = true;
canHurt = false;
removeRay();
animTween1 = TweenLite.to(this, 2, {x:(Defines.CHAR_LIMIT_X_RIGHT / 2), y:(BOTTOM_POS + 150), ease:Back.easeOut, onUpdate:updateRay});
_local1 = 0;
while (_local1 < 30) {
TweenLite.delayedCall((1.5 + (_local1 * 0.2)), addSmoke, [0, 0]);
TweenLite.delayedCall((1 + (_local1 * 0.2)), addSmoke, [200, 0]);
TweenLite.delayedCall((2 + (_local1 * 0.2)), addSmoke, [-200, 0]);
_local1++;
};
_local1 = 0;
while (_local1 < 18) {
TweenLite.delayedCall((_local1 * 0.2), Defines._game.addExplosion, [((x - 300) + (Math.random() * 600)), (y + (Math.random() * 100)), 2]);
_local1++;
};
TweenLite.delayedCall(4, raySequence1);
switchedBoss = true;
};
}
function raySequence1(){
enableHurt();
shootRay((this.x - 185));
TweenLite.delayedCall(1, shootRay, [(this.x - 185)]);
TweenLite.delayedCall(1.8, shootRay, [(this.x - 185)]);
TweenLite.delayedCall(2.6, shootRay, [(this.x + 185)]);
TweenLite.delayedCall(3.4, shootRay, [(this.x + 185)]);
TweenLite.delayedCall(4.2, shootRay, [(this.x + 185)]);
TweenLite.delayedCall(5, shoot2);
shooting = false;
}
function shootRay(_arg1:int, _arg2:int=0){
var _local3:GroundRay = (MovieClipUtils.createOn(GroundRay, (Defines._game as MovieClip)) as GroundRay);
_local3.y = 100;
_local3.x = _arg1;
_local3.go();
}
function shoot2(){
var _local1:Array;
if (((!(shooting)) && (!(death)))){
_local1 = [(Defines.CHAR_LIMIT_X_RIGHT / 2), Defines.DEFAULT_CHAR_Y];
TweenLite.delayedCall(0.1, burstBullets2, [_local1[0], _local1[1]]);
TweenLite.delayedCall(0.3, burstBullets2, [_local1[0], _local1[1]]);
TweenLite.delayedCall(0.5, burstBullets2, [_local1[0], _local1[1]]);
TweenLite.delayedCall(0.7, burstBullets2, [_local1[0], _local1[1]]);
TweenLite.delayedCall(0.9, burstBullets2, [_local1[0], _local1[1]]);
TweenLite.delayedCall(1.1, burstBullets2, [_local1[0], _local1[1]]);
shooting = true;
TweenLite.delayedCall(1, dropBombs);
TweenLite.delayedCall(2, dropBombs2);
TweenLite.delayedCall(3, dropBombs);
TweenLite.delayedCall(4, dropBombs2);
TweenLite.delayedCall(4, raySequence1);
};
}
function burstBullets2(_arg1:Number, _arg2:Number){
dropFixedBall(ballSize, ballTime, (this.x - 200), this.y, 20, _arg2, ballPower);
dropFixedBall(ballSize, ballTime, (this.x + 200), this.y, (Defines.CHAR_LIMIT_X_RIGHT - 20), _arg2, ballPower);
dropFixedBall(ballSize, ballTime, (this.x - 200), this.y, 200, _arg2, ballPower);
dropFixedBall(ballSize, ballTime, (this.x + 200), this.y, (Defines.CHAR_LIMIT_X_RIGHT - 200), (_arg2 - 40), ballPower);
dropFixedBall(ballSize, ballTime, (this.x - 200), this.y, 400, _arg2, ballPower);
dropFixedBall(ballSize, ballTime, (this.x + 200), this.y, (Defines.CHAR_LIMIT_X_RIGHT - 400), (_arg2 - 40), ballPower);
}
public function dropBombs(){
dropFixedBomb(4, ((Defines.CHAR_LIMIT_X_RIGHT / 6) * 1), -100, ((Defines.CHAR_LIMIT_X_RIGHT / 6) * 1), (Defines.DEFAULT_CHAR_Y + 10));
dropFixedBomb(4, ((Defines.CHAR_LIMIT_X_RIGHT / 6) * 2), -100, ((Defines.CHAR_LIMIT_X_RIGHT / 6) * 2), (Defines.DEFAULT_CHAR_Y + 10));
dropFixedBomb(4, ((Defines.CHAR_LIMIT_X_RIGHT / 6) * 3), -100, ((Defines.CHAR_LIMIT_X_RIGHT / 6) * 3), (Defines.DEFAULT_CHAR_Y + 10));
dropFixedBomb(4, ((Defines.CHAR_LIMIT_X_RIGHT / 6) * 4), -100, ((Defines.CHAR_LIMIT_X_RIGHT / 6) * 4), (Defines.DEFAULT_CHAR_Y + 10));
dropFixedBomb(4, ((Defines.CHAR_LIMIT_X_RIGHT / 6) * 5), -100, ((Defines.CHAR_LIMIT_X_RIGHT / 6) * 5), (Defines.DEFAULT_CHAR_Y + 10));
dropFixedBomb(4, ((Defines.CHAR_LIMIT_X_RIGHT / 6) * 6), -100, ((Defines.CHAR_LIMIT_X_RIGHT / 6) * 6), (Defines.DEFAULT_CHAR_Y + 10));
}
public function dropBombs2(){
dropFixedBomb(4, (((Defines.CHAR_LIMIT_X_RIGHT / 6) * 2) - 50), -100, (((Defines.CHAR_LIMIT_X_RIGHT / 6) * 2) - 50), (Defines.DEFAULT_CHAR_Y + 10));
dropFixedBomb(4, (((Defines.CHAR_LIMIT_X_RIGHT / 6) * 3) - 50), -100, (((Defines.CHAR_LIMIT_X_RIGHT / 6) * 3) - 50), (Defines.DEFAULT_CHAR_Y + 10));
dropFixedBomb(4, (((Defines.CHAR_LIMIT_X_RIGHT / 6) * 4) - 50), -100, (((Defines.CHAR_LIMIT_X_RIGHT / 6) * 4) - 50), (Defines.DEFAULT_CHAR_Y + 10));
dropFixedBomb(4, (((Defines.CHAR_LIMIT_X_RIGHT / 6) * 5) - 50), -100, (((Defines.CHAR_LIMIT_X_RIGHT / 6) * 5) - 50), (Defines.DEFAULT_CHAR_Y + 10));
dropFixedBomb(4, (((Defines.CHAR_LIMIT_X_RIGHT / 6) * 6) - 50), -100, (((Defines.CHAR_LIMIT_X_RIGHT / 6) * 6) - 50), (Defines.DEFAULT_CHAR_Y + 10));
}
public function enableHurt(){
canHurt = true;
pixelCollision = true;
}
function removeRay(){
try {
ray.visible = false;
Defines._game.removeChild(ray);
} catch(e:Error) {
trace("electric ball: ", e);
};
}
public function onDamage(_arg1:Event){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this["clip"]["cannon"], 0.01, {colorMatrixFilter:{colorize:0xFF0000, amount:0.3}, onComplete:removeDamage});
Defines._document["gui"]["bossbar"].setProgress(maxhp, hp);
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
if (hp <= (maxhp * 0.6)){
switchBoss();
};
}
public function removeDamage(){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this["clip"]["cannon"], 0.2, {colorMatrixFilter:{}});
}
public function onShoot(_arg1:Event){
}
public function onDie(_arg1:Event){
onDestroy();
var _local2:int;
while (_local2 < 30) {
TweenLite.delayedCall((1.5 + (_local2 * 0.2)), addSmoke, [0, 0]);
TweenLite.delayedCall((1 + (_local2 * 0.2)), addSmoke, [200, 0]);
TweenLite.delayedCall((2 + (_local2 * 0.2)), addSmoke, [-200, 0]);
_local2++;
};
_local2 = 0;
while (_local2 < 18) {
TweenLite.delayedCall((_local2 * 0.2), Defines._game.addExplosion, [((x - 300) + (Math.random() * 600)), (y + (Math.random() * 100)), 2]);
_local2++;
};
TweenLite.to(this["clip"], 0.3, {colorMatrixFilter:{colorize:0, amount:0.3}});
animTween1.kill();
Defines._document["gui"]["bossbar"].visible = false;
removeDamage();
dieTween2 = TweenLite.to(this, 6, {y:-400, ease:Back.easeIn, delay:2});
this.mask = Defines._game.addDeadMask();
Defines._game.quake(40, 0.18);
}
public function onDestroy(_arg1=null){
removeEventListener("ON_DAMAGE", onDamage);
removeEventListener("ON_DIE", onDie);
removeEventListener("ON_SHOOT", onShoot);
removeEventListener("ON_DESTROY", onDestroy);
Defines._document["gui"]["bossbar"].visible = false;
removeRay();
if (shootTween != null){
shootTween.kill();
};
TweenLite.killTweensOf(this);
TweenLite.killDelayedCallsTo(raySequence1);
TweenLite.killDelayedCallsTo(shootRay);
TweenLite.killDelayedCallsTo(shoot2);
TweenLite.killDelayedCallsTo(burstBullets2);
TweenLite.killDelayedCallsTo(dropBombs);
TweenLite.killDelayedCallsTo(dropBombs2);
TweenLite.killDelayedCallsTo(burstBullets);
TweenLite.killDelayedCallsTo(shoot);
TweenLite.killDelayedCallsTo(goDown);
TweenLite.killDelayedCallsTo(secondRay);
TweenLite.killDelayedCallsTo(prepareRay);
TweenLite.killDelayedCallsTo(goSide);
TweenLite.killDelayedCallsTo(goSide2);
TweenLite.killDelayedCallsTo(createEnemies1);
TweenLite.killDelayedCallsTo(createEnemies2);
TweenLite.killDelayedCallsTo(createEnemies3);
}
}
}//package Actors.Enemies
Section 7
//ElectricBall (Actors.Enemies.ElectricBall)
package Actors.Enemies {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import com.greensock.*;
import com.greensock.easing.*;
import cerebral.utils.*;
import Utils.MovieClips.*;
public class ElectricBall extends Enemy {
public var hpText:TextField;
public var clip:MovieClip;
var damageTween:TweenLite;
var shootTween:TweenLite;
var dieTween1:TweenLite;
var dieTween2:TweenLite;
var dieTween3:TweenLite;
public var balls:Number;// = 1
public var ballTime:Number;// = 1.3
public var ballPower:Number;// = 15
public var ballSize:Number;// = 1
var ray:MovieClip;
var heroHitted:Boolean;// = false
var animTween1:TweenLite;
public function ElectricBall(){
hp = 2000;
timeOnScreen = 3.5;
crystals = [5, 4, 3, 2];
}
public function init(_arg1=null){
y = -100;
x = NumberUtils.getRandom(150, (Defines.CHAR_LIMIT_X_RIGHT - 150));
moveToRandomPos();
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
addEventListener("ON_DAMAGE", onDamage);
addEventListener("ON_DIE", onDie);
addEventListener("ON_SHOOT", onShoot);
addEventListener("ON_DESTROY", onDestroy);
removeEventListener(Event.ADDED_TO_STAGE, init);
}
public function moveToRandomPos(){
var _local1 = 250;
moveTween = TweenMax.to(this, 1.6, {y:_local1, bezier:[{x:props.xtarget, y:(_local1 - 50)}], ease:Strong.easeOut, onComplete:burn});
canHurt = true;
}
public function burn(){
ray = (MovieClipUtils.createOn(Boss1Ray, (Defines._game as MovieClip)) as MovieClip);
ray.y = (this.y + 30);
ray.scaleX = 0.5;
ray.scaleY = 1.25;
animTween1 = TweenLite.to(this, 8, {x:x, ease:Linear.easeNone, onUpdate:updateRay, onComplete:escape});
}
public function escape(){
moveTween = TweenMax.to(this, 1.5, {y:-100, ease:Sine.easeIn, onComplete:Defines._game.removeEnemy, onCompleteParams:[this]});
removeRay();
}
function updateRay(){
ray.x = this.x;
if (!ray.visible){
ray.visible = true;
};
if ((((Math.abs((ray.x - Defines._game.hero.x)) < 20)) && (!(heroHitted)))){
Defines._game.hero.damage(80);
heroHitted = true;
escape();
};
}
function enableHerohit(){
heroHitted = false;
}
public function onDamage(_arg1:Event){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this, 0.01, {colorMatrixFilter:{colorize:0xFF0000, amount:0.3}, onComplete:removeDamage});
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
}
public function removeDamage(){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this, 0.2, {colorMatrixFilter:{}});
}
public function onShoot(_arg1:Event){
}
public function shotNow(){
dropFixedBall(ballSize, ballTime, this.x, this.y, Defines._game.hero.x, Defines.DEFAULT_CHAR_Y, ballPower);
}
public function onDie(_arg1:Event){
var _local2:int;
onDestroy();
if (Defines.SHOW_EFFECTS){
_local2 = 0;
while (_local2 < 25) {
TweenLite.delayedCall((_local2 * 0.1), addSmoke);
_local2++;
};
Defines._game.addExplosion(x, y, 0.5);
};
removeRay();
removeDamage();
dieTween1 = TweenLite.to(this["clip"], 0.1, {colorMatrixFilter:{colorize:0, amount:0.3}});
dieTween2 = TweenLite.to(this, 2, {y:(Defines.DEFAULT_CHAR_Y - 15), x:(x + ((Math.random() * 300) - 200)), ease:Sine.easeIn});
dieTween3 = TweenLite.to(this["clip"], 1.8, {rotation:((Math.random() * 200) + 100), delay:0.2, ease:Sine.easeIn});
this.mask = Defines._game.addDeadMask();
}
public function deleteMask(){
var _local1:DisplayObject;
try {
_local1 = this.mask;
this.mask = null;
Defines._game.removeChild(_local1);
_local1 = null;
} catch(e:Error) {
};
}
function removeRay(){
try {
Defines._game.removeChild(ray);
} catch(e:Error) {
trace("electric ball: ", e);
};
}
public function onDestroy(_arg1=null){
removeRay();
removeEventListener("ON_DAMAGE", onDamage);
removeEventListener("ON_DIE", onDie);
removeEventListener("ON_SHOOT", onShoot);
removeEventListener("ON_DESTROY", onDestroy);
if (shootTween != null){
shootTween.kill();
};
if (moveTween != null){
moveTween.kill();
};
TweenMax.delayedCall(12, deleteMask);
TweenMax.to(this, 4, {y:(Defines.DEFAULT_CHAR_Y + 100), ease:Back.easeIn, onComplete:totallyDelete, delay:8});
}
}
}//package Actors.Enemies
Section 8
//EllusivePlate (Actors.Enemies.EllusivePlate)
package Actors.Enemies {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import com.greensock.*;
import com.greensock.easing.*;
import cerebral.utils.*;
public class EllusivePlate extends Enemy {
public var hpText:TextField;
public var clip:MovieClip;
var damageTween:TweenLite;
var shootTween:TweenLite;
var dieTween1:TweenLite;
var dieTween2:TweenLite;
var dieTween3:TweenLite;
var rotateTween:TweenLite;
var multiFactor:Number;
public var ballSize:Number;// = 1.2
public var balls:Number;// = 1
public var ballTime:Number;// = 1.2
public var ballInterval:Number;// = 3
public var ballPower:Number;// = 30
public function EllusivePlate(){
crystals = [2, 3, 3, 2];
hp = 800;
timeOnScreen = 4;
}
public function init(_arg1=null){
y = -100;
x = NumberUtils.getRandom(80, (Defines.CHAR_LIMIT_X_RIGHT - 50));
if (level == 2){
ballTime = 0.9;
ballSize = 1.8;
ballPower = 35;
hp = 1000;
};
rotateTween = TweenMax.to(this["clip"]["clip"], 1, {rotation:360, ease:Linear.easeNone, repeat:-1});
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
addEventListener("ON_DAMAGE", onDamage);
addEventListener("ON_DIE", onDie);
addEventListener("ON_SHOOT", onShoot);
addEventListener("ON_DESTROY", onDestroy);
removeEventListener(Event.ADDED_TO_STAGE, init);
moveToRandomPos();
}
public function moveToRandomPos(){
var _local1:int = NumberUtils.getRandom(60, (Defines.CHAR_LIMIT_X_RIGHT - 40));
moveTween = TweenMax.to(this, 0.5, {x:_local1, y:((Math.random() * 180) + 50), motionBlur:Defines.MOTION_BLUR, onComplete:prepareToShoot});
canHurt = false;
}
public function prepareToShoot(){
canHurt = true;
shootTween = TweenLite.delayedCall(0.5, shoot);
}
public function onDamage(_arg1:Event){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this, 0.01, {colorMatrixFilter:{colorize:0xFF0000, amount:0.3}, onComplete:removeDamage});
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
}
public function removeDamage(){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this, 0.2, {colorMatrixFilter:{}});
}
public function shoot(){
TweenLite.delayedCall(0.1, dropFixedBall, [ballSize, ballTime, this.x, this.y, Defines._game.hero.x, Defines.DEFAULT_CHAR_Y, ballPower]);
TweenLite.delayedCall(0.3, dropFixedBall, [ballSize, ballTime, this.x, this.y, Defines._game.hero.x, Defines.DEFAULT_CHAR_Y, ballPower]);
TweenLite.delayedCall(0.5, dropFixedBall, [ballSize, ballTime, this.x, this.y, Defines._game.hero.x, Defines.DEFAULT_CHAR_Y, ballPower]);
TweenLite.delayedCall(0.7, dropFixedBall, [ballSize, ballTime, this.x, this.y, Defines._game.hero.x, Defines.DEFAULT_CHAR_Y, ballPower]);
moveTween = TweenLite.delayedCall(2, moveToRandomPos);
}
public function onShoot(_arg1=null){
}
public function onDie(_arg1:Event){
var _local2:int;
onDestroy();
if (Defines.SHOW_EFFECTS){
_local2 = 0;
while (_local2 < 25) {
TweenLite.delayedCall((_local2 * 0.1), addSmoke);
_local2++;
};
_local2 = 0;
while (_local2 < 3) {
TweenLite.delayedCall((_local2 * 0.15), Defines._game.addExplosion, [NumberUtils.getRandom((x - 10), (x + 10)), NumberUtils.getRandom((y - 10), (y + 10)), NumberUtils.getRandom(0.3, 0.5)]);
_local2++;
};
};
removeDamage();
rotateTween.kill();
moveTween.kill();
shootTween.kill();
dieTween1 = TweenLite.to(this["clip"], 0.1, {colorMatrixFilter:{colorize:0, amount:0.3}});
dieTween2 = TweenLite.to(this, 2, {y:(Defines.DEFAULT_CHAR_Y - 30), motionBlur:Defines.MOTION_BLUR2, onComplete:Defines._game.quake, onCompleteParams:[2, 0.01, true], ease:Back.easeIn});
dieTween3 = TweenLite.to(this["clip"], 1.8, {rotation:-1000, delay:0.2});
this.mask = Defines._game.addDeadMask();
}
public function deleteMask(){
var _local1:DisplayObject;
try {
_local1 = this.mask;
this.mask = null;
Defines._game.removeChild(_local1);
_local1 = null;
} catch(e:Error) {
};
}
public function onDestroy(_arg1=null){
removeEventListener("ON_DAMAGE", onDamage);
removeEventListener("ON_DIE", onDie);
removeEventListener("ON_SHOOT", onShoot);
removeEventListener("ON_DESTROY", onDestroy);
if (shootTween != null){
shootTween.kill();
};
if (moveTween != null){
moveTween.kill();
};
TweenMax.delayedCall(12, deleteMask);
TweenMax.to(this, 4, {y:(Defines.DEFAULT_CHAR_Y + 100), ease:Back.easeIn, onComplete:totallyDelete, delay:8});
}
}
}//package Actors.Enemies
Section 9
//Enemy (Actors.Enemies.Enemy)
package Actors.Enemies {
import flash.display.*;
import flash.events.*;
import com.greensock.*;
import Actors.Projectiles.*;
import com.greensock.easing.*;
public class Enemy extends Sprite {
public var maxhp:Number;// = 1000
public var hp:Number;// = 1000
public var death:Boolean;
public var level:int;// = 1
public var timeOnScreen:int;// = 5
public var direction:int;
public var canHurt:Boolean;// = true
public var isBoss:Boolean;// = false
public var currentShoots:Number;// = 0
public var maxShoots:Number;// = 2
public var pixelCollision:Boolean;// = true
public var type:String;// = "enemy"
public var crystals:Array;
public var props:Object;
var targetX:int;
public var moveTween:TweenLite;
public function initPosition(){
if (direction == 1){
x = -150;
targetX = (Defines.CHAR_LIMIT_X_RIGHT + 120);
} else {
x = (Defines.CHAR_LIMIT_X_RIGHT + 120);
targetX = -150;
};
}
public function dropBall(_arg1:int=1, _arg2:Number=1, _arg3:Number=2, _arg4:Number=20, _arg5:uint=30){
var _local6:EnemyBall;
var _local7:int;
if (!death){
if (_arg1 == 1){
_local6 = createBall();
_local6.x = x;
_local6.y = (y + _arg4);
_local6.scaleX = (_local6.scaleY = _arg2);
_local6.targetY = Defines.DEFAULT_CHAR_Y;
_local6.timeOnStage = _arg3;
_local6.power = _arg5;
_local6.targetX = (x + 200);
if (direction != 1){
_local6.targetX = (x - 200);
};
_local6.go();
} else {
if (_arg1 == 3){
_local7 = 0;
while (_local7 < _arg1) {
_local6 = createBall();
_local6.x = x;
if (direction == 1){
_local6.x = (_local6.x + 20);
} else {
_local6.x = (_local6.x - 20);
};
_local6.y = (y + _arg4);
_local6.scaleX = (_local6.scaleY = _arg2);
_local6.targetY = Defines.DEFAULT_CHAR_Y;
_local6.timeOnStage = _arg3;
_local6.power = _arg5;
if (direction == 1){
_local6.targetX = ((this.x + 50) + (_local7 * 120));
} else {
_local6.targetX = ((this.x - 50) - (_local7 * 120));
};
_local6.go();
_local7++;
};
};
};
dispatchEvent(new Event("ON_SHOOT"));
currentShoots++;
};
}
public function dropFixedBall(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:uint){
var _local8:EnemyBall;
if (!death){
_local8 = createBall();
_local8.x = _arg3;
_local8.y = _arg4;
_local8.scaleX = (_local8.scaleY = _arg1);
_local8.targetY = _arg6;
_local8.targetX = _arg5;
_local8.timeOnStage = _arg2;
_local8.power = _arg7;
_local8.go();
dispatchEvent(new Event("ON_SHOOT"));
currentShoots++;
};
}
public function dropFixedBomb(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Boolean=false){
var _local7:EnemyBomb;
if (!death){
_local7 = (createBomb() as EnemyBomb);
_local7.x = _arg2;
_local7.y = _arg3;
_local7.targetX = _arg4;
_local7.targetY = _arg5;
_local7.timeOnStage = _arg1;
_local7.go();
Defines._game.enemies.push(_local7);
Defines._game.enemyBullets.push(_local7);
if (!_arg6){
dispatchEvent(new Event("ON_SHOOT"));
};
currentShoots++;
};
}
public function createBall():EnemyBall{
var _local1:EnemyBall = new EnemyBall();
Defines._game.addChild(_local1);
return (_local1);
}
public function createBomb():EnemyBomb{
var _local1:EnemyBomb = new EnemyBomb();
Defines._game.addChild(_local1);
return (_local1);
}
public function addSmoke(_arg1:Number=0, _arg2:Number=0){
var _local3:SmokeParticle = new SmokeParticle();
Defines._game.addChild(_local3);
_local3.x = (x + _arg1);
_local3.y = (y + _arg2);
_local3.scaleX = 0.1;
_local3.scaleY = 0.1;
_local3.alpha = 0.8;
_local3.rotation = (Math.random() * 360);
TweenLite.to(_local3, 1, {alpha:0, scaleX:1, scaleY:1, y:"-100", onComplete:removeSmoke, onCompleteParams:[_local3]});
}
function removeSmoke(_arg1:MovieClip){
Defines._game.removeChild(_arg1);
_arg1 = null;
}
public function moveLinear(){
moveTween = TweenLite.to(this, timeOnScreen, {x:targetX, ease:Linear.easeNone, onComplete:Defines._game.removeEnemy, onCompleteParams:[this]});
}
public function damage(_arg1:int){
var _local2:int;
if (((!(death)) && (canHurt))){
hp = (hp - _arg1);
Defines._game.levelDamageMade.addValue(_arg1);
if (Defines._game.survivalMode){
Defines._game.updateGUI();
};
dispatchEvent(new Event("ON_DAMAGE"));
if (hp <= 0){
hp = 0;
_local2 = 0;
while (_local2 < crystals.length) {
Defines._game.addCrystal(x, y, crystals[_local2]);
_local2++;
};
notifyDie();
};
};
}
public function notifyDie(){
if (!death){
death = true;
if (!isBoss){
moveTween.kill();
};
dispatchEvent(new Event("ON_DIE"));
Defines._game.currentLevel.killedEnemies++;
Defines._game.currentLevel.deletedEnemies++;
Defines._game.currentLevel.checkEnemies();
Defines._game.deadEnemies.push(this);
};
}
public function destroy(){
if (!isBoss){
moveTween.kill();
};
dispatchEvent(new Event("ON_DESTROY"));
}
public function totallyDelete(){
try {
Defines._game.removeChild(this);
delete ??getglobalscope
[this];
} catch(e:Error) {
};
}
}
}//package Actors.Enemies
Section 10
//Kamikaze (Actors.Enemies.Kamikaze)
package Actors.Enemies {
import flash.display.*;
import flash.events.*;
import com.greensock.*;
import com.greensock.easing.*;
import cerebral.utils.*;
public class Kamikaze extends Enemy {
public var clip:MovieClip;
var damageTween:TweenLite;
var shootTween:TweenLite;
var dieTween1:TweenLite;
var dieTween2:TweenLite;
var dieTween3:TweenLite;
public var balls:Number;// = 1
public var ballTime:Number;// = 1.3
public var ballPower:Number;// = 25
public var ballSize:Number;// = 1
public function Kamikaze(){
hp = 260;
timeOnScreen = 2.3;
crystals = [2, 2, 3];
}
public function init(_arg1=null){
y = -30;
x = NumberUtils.getRandom(150, (Defines.CHAR_LIMIT_X_RIGHT - 150));
if (level == 2){
timeOnScreen = 1.9;
hp = 400;
ballPower = 40;
};
moveToRandomPos();
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
addEventListener("ON_DAMAGE", onDamage);
addEventListener("ON_DIE", onDie);
addEventListener("ON_SHOOT", onShoot);
addEventListener("ON_DESTROY", onDestroy);
removeEventListener(Event.ADDED_TO_STAGE, init);
}
public function moveToRandomPos(){
var _local1:int = NumberUtils.getRandom(100, 250);
moveTween = TweenMax.to(this, (timeOnScreen / 2), {y:_local1, bezier:[{x:NumberUtils.getRandom(90, (Defines.CHAR_LIMIT_X_RIGHT - 50)), y:(_local1 - 50)}], ease:Linear.easeOut, onComplete:chase});
canHurt = true;
}
public function chase(){
trace("persiguiendo");
moveTween = TweenLite.to(this, timeOnScreen, {dynamicProps:{x:getHeroX, y:getHeroY}, onUpdate:update, onComplete:explode});
}
public function onDamage(_arg1:Event){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this, 0.01, {colorMatrixFilter:{colorize:0xFF0000, amount:0.3}, onComplete:removeDamage});
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
}
function update(){
if (NumberUtils.getDistanceClips(Defines._game.hero, this) < 30){
explode(true);
};
}
function explode(_arg1:Boolean=true){
trace("-EXPLODE-");
moveTween.kill();
Defines._game.addExplosion(x, y, 0.9);
Defines._game.hero.damage(ballPower);
if (_arg1){
Defines._game.removeEnemy(this);
};
}
public function removeDamage(){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this, 0.2, {colorMatrixFilter:{}});
}
function getHeroX():Number{
return (Defines._game.hero.x);
}
function getHeroY():Number{
return (Defines._game.hero.y);
}
public function onShoot(_arg1:Event){
}
public function shotNow(){
dropFixedBall(ballSize, ballTime, this.x, this.y, Defines._game.hero.x, Defines.DEFAULT_CHAR_Y, ballPower);
}
public function onDie(_arg1:Event){
var _local2:int;
onDestroy();
if (Defines.SHOW_EFFECTS){
_local2 = 0;
while (_local2 < 25) {
TweenLite.delayedCall((_local2 * 0.1), addSmoke);
_local2++;
};
Defines._game.addExplosion(x, y, 0.5);
};
removeDamage();
dieTween1 = TweenLite.to(this["clip"], 0.1, {colorMatrixFilter:{colorize:0, amount:0.3}});
dieTween2 = TweenLite.to(this, 2, {y:(Defines.DEFAULT_CHAR_Y - 15), x:(x + ((Math.random() * 300) - 200)), ease:Sine.easeIn});
dieTween3 = TweenLite.to(this["clip"], 1.8, {rotation:((Math.random() * 200) + 100), delay:0.2, ease:Sine.easeIn});
this.mask = Defines._game.addDeadMask();
}
public function deleteMask(){
var _local1:DisplayObject;
try {
_local1 = this.mask;
this.mask = null;
Defines._game.removeChild(_local1);
_local1 = null;
} catch(e:Error) {
};
}
public function onDestroy(_arg1=null){
removeEventListener("ON_DAMAGE", onDamage);
removeEventListener("ON_DIE", onDie);
removeEventListener("ON_SHOOT", onShoot);
removeEventListener("ON_DESTROY", onDestroy);
if (shootTween != null){
shootTween.kill();
};
if (moveTween != null){
moveTween.kill();
};
TweenMax.delayedCall(12, deleteMask);
TweenMax.to(this, 4, {y:(Defines.DEFAULT_CHAR_Y + 100), ease:Back.easeIn, onComplete:totallyDelete, delay:8});
}
}
}//package Actors.Enemies
Section 11
//MicroPlate (Actors.Enemies.MicroPlate)
package Actors.Enemies {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import com.greensock.*;
import com.greensock.easing.*;
import cerebral.utils.*;
public class MicroPlate extends Enemy {
public var hpText:TextField;
public var clip:MovieClip;
var damageTween:TweenLite;
var shootTween:TweenLite;
var dieTween1:TweenLite;
var dieTween2:TweenLite;
var dieTween3:TweenLite;
public var balls:Number;// = 1
public var ballTime:Number;// = 1.3
public var ballPower:Number;// = 15
public var ballSize:Number;// = 1
public function MicroPlate(){
hp = 65;
timeOnScreen = 3.5;
crystals = [2, 1, 1];
}
public function init(_arg1=null){
y = -30;
x = NumberUtils.getRandom(150, (Defines.CHAR_LIMIT_X_RIGHT - 150));
moveToRandomPos();
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
addEventListener("ON_DAMAGE", onDamage);
addEventListener("ON_DIE", onDie);
addEventListener("ON_SHOOT", onShoot);
addEventListener("ON_DESTROY", onDestroy);
removeEventListener(Event.ADDED_TO_STAGE, init);
shootTween = TweenLite.delayedCall(1, shotNow);
}
public function moveToRandomPos(){
var _local1:int = NumberUtils.getRandom(100, 250);
moveTween = TweenMax.to(this, 1.6, {y:_local1, bezier:[{x:NumberUtils.getRandom(90, (Defines.CHAR_LIMIT_X_RIGHT - 50)), y:(_local1 - 50)}], ease:Strong.easeOut, onComplete:escape});
canHurt = true;
}
public function escape(){
moveTween = TweenMax.to(this, 1.5, {y:-100, ease:Sine.easeIn, onComplete:Defines._game.removeEnemy, onCompleteParams:[this]});
}
public function onDamage(_arg1:Event){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this, 0.01, {colorMatrixFilter:{colorize:0xFF0000, amount:0.3}, onComplete:removeDamage});
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
}
public function removeDamage(){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this, 0.2, {colorMatrixFilter:{}});
}
public function onShoot(_arg1:Event){
}
public function shotNow(){
dropFixedBall(ballSize, ballTime, this.x, this.y, Defines._game.hero.x, Defines.DEFAULT_CHAR_Y, ballPower);
}
public function onDie(_arg1:Event){
var _local2:int;
onDestroy();
if (Defines.SHOW_EFFECTS){
_local2 = 0;
while (_local2 < 25) {
TweenLite.delayedCall((_local2 * 0.1), addSmoke);
_local2++;
};
Defines._game.addExplosion(x, y, 0.5);
};
removeDamage();
dieTween1 = TweenLite.to(this["clip"], 0.1, {colorMatrixFilter:{colorize:0, amount:0.3}});
dieTween2 = TweenLite.to(this, 2, {y:(Defines.DEFAULT_CHAR_Y - 15), x:(x + ((Math.random() * 300) - 200)), ease:Sine.easeIn});
dieTween3 = TweenLite.to(this["clip"], 1.8, {rotation:((Math.random() * 200) + 100), delay:0.2, ease:Sine.easeIn});
this.mask = Defines._game.addDeadMask();
}
public function deleteMask(){
var _local1:DisplayObject;
try {
_local1 = this.mask;
this.mask = null;
Defines._game.removeChild(_local1);
_local1 = null;
} catch(e:Error) {
};
}
public function onDestroy(_arg1=null){
removeEventListener("ON_DAMAGE", onDamage);
removeEventListener("ON_DIE", onDie);
removeEventListener("ON_SHOOT", onShoot);
removeEventListener("ON_DESTROY", onDestroy);
if (shootTween != null){
shootTween.kill();
};
if (moveTween != null){
moveTween.kill();
};
TweenMax.delayedCall(12, deleteMask);
TweenMax.to(this, 4, {y:(Defines.DEFAULT_CHAR_Y + 100), ease:Back.easeIn, onComplete:totallyDelete, delay:8});
}
}
}//package Actors.Enemies
Section 12
//Misil (Actors.Enemies.Misil)
package Actors.Enemies {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import com.greensock.*;
import com.greensock.easing.*;
import cerebral.utils.*;
public class Misil extends Enemy {
public var hpText:TextField;
public var clip:MovieClip;
var damageTween:TweenLite;
var shootTween:TweenLite;
var dieTween1:TweenLite;
var dieTween2:TweenLite;
var dieTween3:TweenLite;
public var balls:Number;// = 1
public var ballTime:Number;// = 1.3
public var ballPower:Number;// = 15
public var ballSize:Number;// = 1
public var exploded:Boolean;// = false
public var shownExplosion:Boolean;// = false
public function Misil(){
hp = 150;
timeOnScreen = 1.55;
crystals = [3, 2, 3];
}
public function init(_arg1=null){
y = -60;
if (props.xtarget == -1){
x = getHeroX();
} else {
if (props.xtarget == 0){
x = ((Defines.CHAR_LIMIT_X_RIGHT / 8) * NumberUtils.getRandom(1, 8));
} else {
x = props.xtarget;
};
};
moveToRandomPos();
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
addEventListener("ON_DAMAGE", onDamage);
addEventListener("ON_DIE", onDie);
addEventListener("ON_SHOOT", onShoot);
addEventListener("ON_DESTROY", onDestroy);
removeEventListener(Event.ADDED_TO_STAGE, init);
}
public function moveToRandomPos(){
var _local1:int = NumberUtils.getRandom(100, 250);
moveTween = TweenMax.to(this, timeOnScreen, {y:Defines.DEFAULT_CHAR_Y, ease:Linear.easeIn, onComplete:explode, onUpdate:update});
canHurt = true;
}
public function onDamage(_arg1:Event){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this, 0.01, {colorMatrixFilter:{colorize:0xFF0000, amount:0.3}, onComplete:removeDamage});
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
}
function update(){
if ((((NumberUtils.getDistanceClips(Defines._game.hero, this) < 30)) || ((hp <= 0)))){
explode(false);
};
}
public function removeDamage(){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this, 0.2, {colorMatrixFilter:{}});
}
function getHeroX():Number{
return (Defines._game.hero.x);
}
function getHeroY():Number{
return (Defines._game.hero.y);
}
public function onShoot(_arg1:Event){
}
public function onDie(_arg1:Event){
explode(false);
}
function explode(_arg1:Boolean=true){
trace("-EXPLODE-", exploded);
if (!exploded){
hp = 0;
moveTween.kill();
showExplosion();
if (NumberUtils.getDistanceClips(Defines._game.hero, this) < 80){
Defines._game.hero.damage(40);
};
exploded = true;
onDestroy();
if (_arg1){
Defines._game.removeEnemy(this);
};
} else {
trace("can't explode");
};
}
public function showExplosion(){
if (!shownExplosion){
Defines._game.addExplosion(x, y, 0.9);
visible = false;
shownExplosion = true;
};
}
public function deleteMask(){
var _local1:DisplayObject;
try {
_local1 = this.mask;
this.mask = null;
Defines._game.removeChild(_local1);
_local1 = null;
} catch(e:Error) {
};
}
public function onDestroy(_arg1=null){
removeEventListener("ON_DAMAGE", onDamage);
removeEventListener("ON_DIE", onDie);
removeEventListener("ON_SHOOT", onShoot);
removeEventListener("ON_DESTROY", onDestroy);
if (moveTween != null){
moveTween.kill();
};
if (damageTween != null){
damageTween.kill();
};
}
}
}//package Actors.Enemies
Section 13
//PowerupShip (Actors.Enemies.PowerupShip)
package Actors.Enemies {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import com.greensock.*;
import com.greensock.easing.*;
public class PowerupShip extends Enemy {
public var hpText:TextField;
public var clip:MovieClip;
var damageTween:TweenLite;
var shootTween:TweenLite;
var dieTween1:TweenLite;
var dieTween2:TweenLite;
var dieTween3:TweenLite;
var powerupType:int;
public var balls:Number;// = 1
public var ballTime:Number;// = 5
public var ballInterval:Number;// = 0.7
public function PowerupShip(){
crystals = [1, 1, 1, 1, 1, 1];
hp = 140;
timeOnScreen = 4.2;
}
public function init(_arg1=null){
TweenLite.delayedCall(0.3, moveLinear);
y = 50;
powerupType = props.type;
if (direction == 1){
this["clip"].scaleX = -1;
} else {
this["clip"].scaleX = 1;
};
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
addEventListener("ON_DAMAGE", onDamage);
addEventListener("ON_DIE", onDie);
addEventListener("ON_SHOOT", onShoot);
addEventListener("ON_DESTROY", onDestroy);
removeEventListener(Event.ADDED_TO_STAGE, init);
TweenLite.delayedCall(((Math.random() * 1) + 1), onShoot);
}
public function onDamage(_arg1:Event){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this, 0.01, {colorMatrixFilter:{colorize:0xFF0000, amount:0.3}, onComplete:removeDamage});
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
}
public function removeDamage(){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this, 0.2, {colorMatrixFilter:{}});
}
public function shoot(){
}
public function onShoot(_arg1=null){
if (currentShoots < maxShoots){
shootTween = TweenLite.delayedCall(ballInterval, shoot);
};
}
public function onDie(_arg1:Event){
var _local2:int;
trace("PowerupShip.onDie()");
Defines._game.addPowerup(powerupType, x, y);
onDestroy();
if (Defines.SHOW_EFFECTS){
_local2 = 0;
while (_local2 < 25) {
TweenLite.delayedCall((_local2 * 0.1), addSmoke);
_local2++;
};
Defines._game.addExplosion(x, y, 0.5);
};
removeDamage();
dieTween1 = TweenLite.to(this["clip"], 0.1, {colorMatrixFilter:{colorize:0, amount:0.3}});
dieTween2 = TweenLite.to(this, 1.5, {y:(Defines.DEFAULT_CHAR_Y - 30), x:(x + (this["clip"].scaleX * -220)), motionBlur:Defines.MOTION_BLUR2, onComplete:Defines._game.quake, onCompleteParams:[2, 0.01, true], ease:Sine.easeIn});
dieTween3 = TweenLite.to(this["clip"], 1.4, {rotation:(this["clip"].scaleX * -60), delay:0.1});
this.mask = Defines._game.addDeadMask();
}
public function deleteMask(){
var _local1:DisplayObject;
try {
_local1 = this.mask;
this.mask = null;
Defines._game.removeChild(_local1);
_local1 = null;
} catch(e:Error) {
};
}
public function onDestroy(_arg1=null){
trace("--on destroy--");
removeEventListener("ON_DAMAGE", onDamage);
removeEventListener("ON_DIE", onDie);
removeEventListener("ON_SHOOT", onShoot);
removeEventListener("ON_DESTROY", onDestroy);
if (shootTween != null){
shootTween.kill();
};
TweenMax.delayedCall(12, deleteMask);
TweenMax.to(this, 4, {y:(Defines.DEFAULT_CHAR_Y + 100), ease:Back.easeIn, onComplete:totallyDelete, delay:8});
}
}
}//package Actors.Enemies
Section 14
//SmallPlate (Actors.Enemies.SmallPlate)
package Actors.Enemies {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import com.greensock.*;
import com.greensock.easing.*;
public class SmallPlate extends Enemy {
public var hpText:TextField;
public var clip:MovieClip;
var damageTween:TweenLite;
var shootTween:TweenLite;
var dieTween1:TweenLite;
var dieTween2:TweenLite;
var dieTween3:TweenLite;
public var balls:Number;// = 1
public var ballTime:Number;// = 1.5
public function SmallPlate(){
hp = 220;
timeOnScreen = 4;
crystals = [2, 2, 2];
}
public function init(_arg1=null){
moveLinear();
y = (int((Math.random() * 150)) + 80);
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
addEventListener("ON_DAMAGE", onDamage);
addEventListener("ON_DIE", onDie);
addEventListener("ON_SHOOT", onShoot);
addEventListener("ON_DESTROY", onDestroy);
removeEventListener(Event.ADDED_TO_STAGE, init);
shootTween = TweenLite.delayedCall(((Math.random() * 0.5) + 0.8), dropBall, [balls, 1.3, ballTime]);
}
public function onDamage(_arg1:Event){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this, 0.01, {colorMatrixFilter:{colorize:0xFF0000, amount:0.3}, onComplete:removeDamage});
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
}
public function removeDamage(){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this, 0.2, {colorMatrixFilter:{}});
}
public function onShoot(_arg1:Event){
shootTween = TweenLite.delayedCall(2.5, dropBall, [balls, 1.3, ballTime]);
}
public function onDie(_arg1:Event){
var _local2:int;
onDestroy();
if (Defines.SHOW_EFFECTS){
_local2 = 0;
while (_local2 < 15) {
TweenLite.delayedCall((_local2 * 0.1), addSmoke);
_local2++;
};
Defines._game.addExplosion(x, y, 0.5);
};
removeDamage();
dieTween1 = TweenLite.to(this["clip"], 0.1, {colorMatrixFilter:{colorize:0, amount:0.3}});
dieTween2 = TweenLite.to(this, 2, {y:(Defines.DEFAULT_CHAR_Y - 30), x:(x + ((Math.random() * 300) - 200)), onComplete:Defines._game.quake, onCompleteParams:[2, 0.01, true], ease:Sine.easeIn});
dieTween3 = TweenLite.to(this["clip"], 1.8, {rotation:((Math.random() * 200) + 100), delay:0.2, ease:Sine.easeIn});
this.mask = Defines._game.addDeadMask();
}
public function deleteMask(){
var _local1:DisplayObject;
try {
_local1 = this.mask;
this.mask = null;
Defines._game.removeChild(_local1);
_local1 = null;
} catch(e:Error) {
};
}
public function onDestroy(_arg1=null){
removeEventListener("ON_DAMAGE", onDamage);
removeEventListener("ON_DIE", onDie);
removeEventListener("ON_SHOOT", onShoot);
removeEventListener("ON_DESTROY", onDestroy);
if (shootTween != null){
shootTween.kill();
};
if (moveTween != null){
moveTween.kill();
};
TweenMax.delayedCall(12, deleteMask);
TweenMax.to(this, 4, {y:(Defines.DEFAULT_CHAR_Y + 100), ease:Back.easeIn, onComplete:totallyDelete, delay:8});
}
}
}//package Actors.Enemies
Section 15
//SmallShip (Actors.Enemies.SmallShip)
package Actors.Enemies {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import com.greensock.*;
import com.greensock.easing.*;
public class SmallShip extends Enemy {
public var hpText:TextField;
public var clip:MovieClip;
var damageTween:TweenLite;
var shootTween:TweenLite;
var dieTween1:TweenLite;
var dieTween2:TweenLite;
var dieTween3:TweenLite;
public var balls:Number;// = 1
public var ballTime:Number;// = 5
public var ballInterval:Number;// = 0.7
public function SmallShip(){
crystals = [2, 3, 3];
hp = 260;
timeOnScreen = 4;
}
public function init(_arg1=null){
TweenLite.delayedCall(0.3, moveLinear);
y = (int((Math.random() * 150)) + 60);
if (direction == 1){
this["clip"].scaleX = -1;
} else {
this["clip"].scaleX = 1;
};
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
addEventListener("ON_DAMAGE", onDamage);
addEventListener("ON_DIE", onDie);
addEventListener("ON_SHOOT", onShoot);
addEventListener("ON_DESTROY", onDestroy);
removeEventListener(Event.ADDED_TO_STAGE, init);
TweenLite.delayedCall(((Math.random() * 1) + 1), onShoot);
}
public function onDamage(_arg1:Event){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this, 0.01, {colorMatrixFilter:{colorize:0xFF0000, amount:0.3}, onComplete:removeDamage});
if (Defines.DEBUG_MODE){
this["hpText"].text = hp;
};
}
public function removeDamage(){
if (damageTween != null){
damageTween.kill();
};
damageTween = TweenLite.to(this, 0.2, {colorMatrixFilter:{}});
}
public function shoot(){
dropFixedBomb(ballTime, (this.x - (this["clip"].scaleX * 30)), (this.y + 40), (this.x - (this["clip"].scaleX * 30)), (Defines.DEFAULT_CHAR_Y - 5));
}
public function onShoot(_arg1=null){
if (currentShoots < maxShoots){
shootTween = TweenLite.delayedCall(ballInterval, shoot);
};
}
public function onDie(_arg1:Event){
var _local2:int;
onDestroy();
if (Defines.SHOW_EFFECTS){
_local2 = 0;
while (_local2 < 25) {
TweenLite.delayedCall((_local2 * 0.1), addSmoke);
_local2++;
};
Defines._game.addExplosion(x, y, 0.5);
};
removeDamage();
dieTween1 = TweenLite.to(this["clip"], 0.1, {colorMatrixFilter:{colorize:0, amount:0.3}});
dieTween2 = TweenLite.to(this, 1.5, {y:(Defines.DEFAULT_CHAR_Y - 30), x:(x + (this["clip"].scaleX * -220)), motionBlur:Defines.MOTION_BLUR2, onComplete:Defines._game.quake, onCompleteParams:[2, 0.01, true], ease:Sine.easeIn});
dieTween3 = TweenLite.to(this["clip"], 1.4, {rotation:(this["clip"].scaleX * -60), delay:0.1});
this.mask = Defines._game.addDeadMask();
}
public function deleteMask(){
var _local1:DisplayObject;
try {
_local1 = this.mask;
this.mask = null;
Defines._game.removeChild(_local1);
_local1 = null;
} catch(e:Error) {
};
}
public function onDestroy(_arg1=null){
removeEventListener("ON_DAMAGE", onDamage);
removeEventListener("ON_DIE", onDie);
removeEventListener("ON_SHOOT", onShoot);
removeEventListener("ON_DESTROY", onDestroy);
if (shootTween != null){
shootTween.kill();
};
TweenMax.delayedCall(12, deleteMask);
TweenMax.to(this, 4, {y:(Defines.DEFAULT_CHAR_Y + 100), ease:Back.easeIn, onComplete:totallyDelete, delay:8});
}
}
}//package Actors.Enemies
Section 16
//Bfg (Actors.Projectiles.Bfg)
package Actors.Projectiles {
public class Bfg extends SmallBullet {
public function Bfg(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:uint){
super(_arg1, _arg2, _arg3, _arg4);
}
}
}//package Actors.Projectiles
Section 17
//Bullet (Actors.Projectiles.Bullet)
package Actors.Projectiles {
import flash.display.*;
import flash.events.*;
public class Bullet extends Sprite {
public var startX:Number;
public var startY:Number;
public var speed:Number;
public var damage:uint;// = 20
public var type:String;// = "bullet"
public var speedX:Number;
public var speedY:Number;
public function Bullet(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:int=20){
startX = _arg1;
startY = _arg2;
damage = _arg4;
rotation = _arg3;
this.addEventListener(Event.ADDED_TO_STAGE, init);
}
function init(_arg1=null){
x = startX;
y = startY;
}
}
}//package Actors.Projectiles
Section 18
//DirectMissile (Actors.Projectiles.DirectMissile)
package Actors.Projectiles {
import flash.display.*;
import flash.events.*;
import com.greensock.*;
public class DirectMissile extends Sprite {
public var startX:Number;
public var startY:Number;
public var damage:uint;// = 100
public var type:String;// = "missile"
public var speed:Number;
public var smokeTween:TweenLite;
public var speedX:Number;
public var speedY:Number;
public function DirectMissile(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:uint){
startX = _arg1;
startY = _arg2;
rotation = _arg3;
damage = _arg4;
addEventListener(Event.ADDED_TO_STAGE, init);
addEventListener(Event.REMOVED_FROM_STAGE, destroy);
smokeTween = TweenLite.delayedCall(0.1, addSmoke);
}
function addSmoke(){
Defines._game.addSmoke(x, y, 0.1);
smokeTween = TweenLite.delayedCall(0.03, addSmoke);
}
function init(_arg1=null){
x = startX;
y = startY;
removeEventListener(Event.ADDED_TO_STAGE, init);
}
function destroy(_arg1=null){
smokeTween.kill();
removeEventListener(Event.ADDED_TO_STAGE, init);
removeEventListener(Event.REMOVED_FROM_STAGE, destroy);
}
}
}//package Actors.Projectiles
Section 19
//DirectMissile2 (Actors.Projectiles.DirectMissile2)
package Actors.Projectiles {
public class DirectMissile2 extends DirectMissile {
public function DirectMissile2(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:uint){
super(_arg1, _arg2, _arg3, _arg4);
}
}
}//package Actors.Projectiles
Section 20
//DoubleShot (Actors.Projectiles.DoubleShot)
package Actors.Projectiles {
public class DoubleShot extends Bullet {
public function DoubleShot(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:uint){
super(_arg1, _arg2, _arg3, _arg4);
}
}
}//package Actors.Projectiles
Section 21
//DoubleShot2 (Actors.Projectiles.DoubleShot2)
package Actors.Projectiles {
public class DoubleShot2 extends DoubleShot {
public function DoubleShot2(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:uint){
super(_arg1, _arg2, _arg3, _arg4);
}
}
}//package Actors.Projectiles
Section 22
//EnemyBall (Actors.Projectiles.EnemyBall)
package Actors.Projectiles {
import flash.display.*;
import com.greensock.*;
import com.greensock.easing.*;
public class EnemyBall extends MovieClip {
public var startX:Number;
public var startY:Number;
public var targetX:Number;
public var targetY:Number;
public var type:String;// = "ball"
public var power:uint;
public var timeOnStage:Number;
public function go(){
TweenLite.to(this, timeOnStage, {x:targetX, y:targetY, ease:Linear.easeNone, onComplete:destroy});
Defines._game.enemyBullets.push(this);
}
public function destroy(){
try {
Defines._game.removeChild(this);
delete ??getglobalscope
[this];
} catch(e:Error) {
};
}
}
}//package Actors.Projectiles
Section 23
//EnemyBomb (Actors.Projectiles.EnemyBomb)
package Actors.Projectiles {
import flash.display.*;
import com.greensock.*;
import com.greensock.easing.*;
public class EnemyBomb extends MovieClip {
public var startX:Number;
public var startY:Number;
public var targetX:Number;
public var targetY:Number;
public var moveTween:TweenLite;
public var type:String;// = "bomb"
public var death:Boolean;// = false
public var hp:Number;// = 120
public var power:uint;// = 80
public var pixelCollision:Boolean;// = false
public var timeOnStage:Number;
public function go(){
moveTween = TweenLite.to(this, timeOnStage, {x:targetX, y:targetY, ease:Linear.easeNone, onComplete:showExplosion, onCompleteParams:[]});
Defines._game.enemyBullets.push(this);
}
public function showBoltExplosion(){
Defines._game.addBoltExplosion(x, y, 0.6);
notifyDie();
}
public function showExplosion(){
Defines._game.addExplosion(x, (y - 10), 0.5);
Defines._game.quake(4, 0.03, true);
notifyDie(false);
}
public function damage(_arg1:Number){
if (!death){
hp = (hp - _arg1);
if (hp <= 0){
hp = 0;
showBoltExplosion();
};
};
}
public function remove(){
if (moveTween != null){
moveTween.kill();
};
death = true;
moveTween.kill();
try {
Defines._game.removeEnemyByValue(this);
Defines._game.removeEnemyBulletByValue(this);
Defines._game.removeChild(this);
delete ??getglobalscope
[this];
} catch(err:Error) {
trace("can't remove bomb");
};
}
public function notifyDie(_arg1:Boolean=true){
if (!death){
if (_arg1){
Defines._game.addCrystal(x, y, 1);
};
remove();
};
}
}
}//package Actors.Projectiles
Section 24
//Fireball (Actors.Projectiles.Fireball)
package Actors.Projectiles {
import flash.display.*;
public class Fireball extends Bullet {
public var clip:MovieClip;
public function Fireball(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:uint){
super(_arg1, _arg2, _arg3, _arg4);
}
}
}//package Actors.Projectiles
Section 25
//GroundRay (Actors.Projectiles.GroundRay)
package Actors.Projectiles {
import flash.display.*;
import com.greensock.*;
import flash.filters.*;
import com.greensock.easing.*;
public class GroundRay extends MovieClip {
public var startX:Number;
public var startY:Number;
public var targetX:Number;
public var targetY:Number;
public var moveTween:TweenLite;
public var type:String;// = "ray"
public var direction:int;// = 0
public var death:Boolean;// = false
public var hp:Number;// = 130
public var power:uint;// = 40
public var pixelCollision:Boolean;// = false
public var timeOnStage:Number;// = 2
public function go(){
rotation = 90;
moveTween = TweenLite.to(this, (timeOnStage / 5), {y:(Defines.DEFAULT_CHAR_Y - 15), ease:Linear.easeNone, onComplete:go2});
Defines._game.enemyBullets.push(this);
var _local1:GlowFilter = new GlowFilter(0xFFFFFF, 1, 5, 5, 2, 3);
this.filters = [_local1];
}
function go2(){
rotation = 0;
var _local1:Number = ((Defines._game.hero.x)>this.x) ? (Defines.CHAR_LIMIT_X_RIGHT + 100) : -100;
var _local2:Number = Math.abs((_local1 - this.x));
if (direction == 0){
moveTween = TweenLite.to(this, ((_local2 / timeOnStage) * 0.003), {x:_local1, ease:Linear.easeNone, onComplete:remove});
};
}
public function showBoltExplosion(){
Defines._game.addBoltExplosion(x, y, 0.6);
notifyDie();
}
public function showExplosion(){
Defines._game.addExplosion(x, (y - 10), 0.5);
Defines._game.quake(4, 0.03, true);
notifyDie(false);
}
public function damage(_arg1:Number){
if (!death){
hp = (hp - _arg1);
if (hp <= 0){
hp = 0;
showBoltExplosion();
};
};
}
public function remove(){
if (moveTween != null){
moveTween.kill();
};
death = true;
moveTween.kill();
try {
Defines._game.removeEnemyByValue(this);
Defines._game.removeEnemyBulletByValue(this);
Defines._game.removeChild(this);
delete ??getglobalscope
[this];
} catch(err:Error) {
trace("can't remove bomb");
};
}
public function notifyDie(_arg1:Boolean=true){
if (!death){
if (_arg1){
Defines._game.addCrystal(x, y, 1);
};
remove();
};
}
}
}//package Actors.Projectiles
Section 26
//MediumBullet (Actors.Projectiles.MediumBullet)
package Actors.Projectiles {
public class MediumBullet extends SmallBullet {
public function MediumBullet(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:uint){
super(_arg1, _arg2, _arg3, _arg4);
}
}
}//package Actors.Projectiles
Section 27
//PlasmaBall (Actors.Projectiles.PlasmaBall)
package Actors.Projectiles {
public class PlasmaBall extends Bullet {
public function PlasmaBall(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:uint){
super(_arg1, _arg2, _arg3, _arg4);
}
}
}//package Actors.Projectiles
Section 28
//SmallBullet (Actors.Projectiles.SmallBullet)
package Actors.Projectiles {
public class SmallBullet extends Bullet {
public function SmallBullet(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:uint){
super(_arg1, _arg2, _arg3, _arg4);
}
}
}//package Actors.Projectiles
Section 29
//Telerocket (Actors.Projectiles.Telerocket)
package Actors.Projectiles {
import flash.display.*;
import flash.events.*;
import com.greensock.*;
public class Telerocket extends Sprite {
public var startX:Number;
public var startY:Number;
public var damage:uint;// = 100
public var type:String;// = "missile"
public var speed:Number;
public var smokeTween:TweenMax;
public var moveTween:TweenMax;
public var speedX:Number;
public var speedY:Number;
public var target:DisplayObject;
public var timesLost:int;// = 0
public function Telerocket(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:uint, _arg5:DisplayObject=null){
startX = _arg1;
startY = _arg2;
target = _arg5;
rotation = _arg3;
damage = _arg4;
addEventListener(Event.ADDED_TO_STAGE, init);
addEventListener(Event.REMOVED_FROM_STAGE, destroy);
smokeTween = TweenMax.delayedCall(0.1, addSmoke);
}
function getTargetX():Number{
if (checkTarget()){
return (target.x);
};
return (0);
}
function getTargetY():Number{
if (checkTarget()){
return (target.y);
};
return (0);
}
function rotate():Number{
var _local1:int;
var _local2:int;
var _local3:*;
if (checkTarget()){
_local1 = (target.x - this.x);
_local2 = ((target.y - this.y) * -1);
_local3 = (Math.atan((_local2 / _local1)) / (Math.PI / 180));
return ((_local3 * Defines.degreesToRadians));
};
return (0);
}
function addSmoke(){
Defines._game.addSmoke(x, y, 0.1);
smokeTween = TweenMax.delayedCall(0.04, addSmoke);
}
function init(_arg1=null){
x = startX;
y = startY;
removeEventListener(Event.ADDED_TO_STAGE, init);
}
function checkTarget():Boolean{
if (target == null){
destroy();
return (false);
};
return (true);
}
function destroy(_arg1=null){
if (smokeTween != null){
smokeTween.kill();
};
removeEventListener(Event.ADDED_TO_STAGE, init);
removeEventListener(Event.REMOVED_FROM_STAGE, destroy);
}
}
}//package Actors.Projectiles
Section 30
//Character (Actors.Character)
package Actors {
import flash.display.*;
import flash.events.*;
import data.*;
import com.greensock.*;
import com.greensock.easing.*;
public class Character extends MovieClip {
public var slot0:MovieClip;
public var slot1:MovieClip;
public var slot2:MovieClip;
public var slot3:MovieClip;
public var slot4:MovieClip;
public var collision:MovieClip;
public var slot5:MovieClip;
public var clip:MovieClip;
public var jumpTween:TweenMax;
public var jumping:Boolean;// = false
public var dashing:Boolean;// = false
public var canDash:Boolean;// = false
public var dashEnabled:Boolean;// = true
public var slots:Array;
public var hp:int;
public var maxHp:uint;
public var legsPos:String;// = "stand"
public var walking:Boolean;// = false
public var isEnabled:Boolean;// = false
public var hpRecovery:uint;// = 0
public var btRecovery:uint;// = 0
public var superDash:Boolean;// = false
public var crystalMagnet:Boolean;// = false
public var crystalMultiplier:Boolean;// = false
public var hasBombUpgrade:Boolean;// = false
public var hasMissileUpgrade:Boolean;// = false
public var superSpeed:Boolean;// = false
public var superShield:Boolean;// = false
public var superDamage:Boolean;// = false
var superSpeedTween:TweenLite;
var superShieldTween:TweenLite;
var superDamageTween:TweenLite;
var framesTween:TweenMax;
public var damageMultiplier:Number;
var glowTween:TweenMax;
public function Character(){
addFrameScript(0, frame1);
}
public function init(){
maxHp = Defines.DEFAULT_CHAR_HP;
hp = maxHp;
jumping = false;
dashing = false;
canDash = false;
dashEnabled = true;
hpRecovery = 0;
btRecovery = 0;
superDash = false;
crystalMagnet = false;
crystalMultiplier = false;
hasBombUpgrade = false;
hasMissileUpgrade = false;
superSpeed = false;
superShield = false;
superDamage = false;
damageMultiplier = 1;
slots = new Array();
slots[0] = new WeaponSlot(0, WeaponData.getWeaponDefinition(Defines._document.saveSlot.weaponsEquipped[0]), -5, -70, 20, -4, false);
slots[1] = new WeaponSlot(1, WeaponData.getWeaponDefinition(Defines._document.saveSlot.weaponsEquipped[1]), 8, -70, 20, 4, false);
slots[2] = new WeaponSlot(2, WeaponData.getWeaponDefinition(Defines._document.saveSlot.weaponsEquipped[2]), -5, -45, 15, -1, true);
slots[3] = new WeaponSlot(3, WeaponData.getWeaponDefinition(Defines._document.saveSlot.weaponsEquipped[3]), 7.5, -45, 15, 1, true);
trace(Defines._document.saveSlot.modulesEquipped);
var _local1:int;
while (_local1 < Defines._document.saveSlot.modulesEquipped.length) {
if (WeaponData.getWeaponDefinition(Defines._document.saveSlot.modulesEquipped[_local1]) == WeaponData.smallHP){
hpRecovery = 1;
} else {
if (WeaponData.getWeaponDefinition(Defines._document.saveSlot.modulesEquipped[_local1]) == WeaponData.smallBullet){
btRecovery = 1;
} else {
if (WeaponData.getWeaponDefinition(Defines._document.saveSlot.modulesEquipped[_local1]) == WeaponData.crystalmagnet){
crystalMagnet = true;
} else {
if (WeaponData.getWeaponDefinition(Defines._document.saveSlot.modulesEquipped[_local1]) == WeaponData.crystalmultiplier){
crystalMultiplier = true;
} else {
if (WeaponData.getWeaponDefinition(Defines._document.saveSlot.modulesEquipped[_local1]) == WeaponData.bomb){
hasBombUpgrade = true;
} else {
if (WeaponData.getWeaponDefinition(Defines._document.saveSlot.modulesEquipped[_local1]) == WeaponData.homming){
hasMissileUpgrade = true;
};
};
};
};
};
};
_local1++;
};
if (hasBombUpgrade){
slots[4] = new WeaponSlot(4, WeaponData.getWeaponDefinition(5), 0, -20, 20, -4, true);
};
if (hasMissileUpgrade){
slots[5] = new WeaponSlot(5, WeaponData.getWeaponDefinition(7), 3, -20, 20, 4, true);
};
this["slot4"].visible = false;
this["slot5"].visible = false;
y = Defines.DEFAULT_CHAR_Y;
}
public function dash(_arg1:String="R"){
var _local3:Number;
var _local4:ESound;
var _local2:Number = Defines.CHAR_DASH_DISTANCE;
if (((((!(jumping)) && (!(dashing)))) && ((y > (Defines.DEFAULT_CHAR_Y - 5))))){
if (_arg1 == "L"){
_local2 = -(_local2);
framesTween = TweenMax.to(this["clip"], 0.3, {frame:47, startAt:{frame:32}, ease:Linear.easeNone});
} else {
framesTween = TweenMax.to(this["clip"], 0.3, {frame:28, startAt:{frame:11}, ease:Linear.easeNone});
};
if ((x + _local2) > Defines.CHAR_LIMIT_X_RIGHT){
_local2 = (Defines.CHAR_LIMIT_X_RIGHT - x);
} else {
if ((x + _local2) < Defines.CHAR_LIMIT_X_LEFT){
_local2 = (Defines.CHAR_LIMIT_X_LEFT - x);
};
};
dashing = true;
if (jumpTween != null){
jumpTween.kill();
};
_local3 = 1;
if (superDash){
_local2 = (_local2 + 1.35);
_local3 = 0.5;
};
jumpTween = TweenMax.to(this, (Defines.CHAR_DASH_DURATION * _local3), {x:(x + _local2), ease:Linear.easeNone, motionBlur:Defines.MOTION_BLUR, onComplete:finishJump});
TweenMax.delayedCall((Defines.CHAR_JUMP_DURATION * 0.01), Defines._game.burstSmoke, [x, Defines.DEFAULT_CHAR_Y]);
if (superDash){
TweenMax.delayedCall((Defines.CHAR_JUMP_DURATION * 0.015), Defines._game.burstSmoke, [x, Defines.DEFAULT_CHAR_Y]);
TweenMax.delayedCall((Defines.CHAR_JUMP_DURATION * 0.02), Defines._game.burstSmoke, [x, Defines.DEFAULT_CHAR_Y]);
};
_local4 = ESound.NewESound(SndDash, 1);
_local4.StartSound();
};
}
public function jump(){
if (((!(jumping)) && (!(dashing)))){
jumping = true;
if (jumpTween != null){
jumpTween.kill();
};
jumpTween = TweenMax.to(this, (Defines.CHAR_JUMP_DURATION * 0.6), {y:(Defines.DEFAULT_CHAR_Y - Defines.CHAR_JUMP_HEIGHT), ease:Sine.easeOut, onComplete:fallJump});
};
}
public function pushDown(){
var _local1:ESound;
var _local2:ESound;
if (jumping){
jumpTween.kill();
jumpTween = TweenMax.to(this, (Defines.CHAR_JUMP_DURATION * 0.1), {y:Defines.DEFAULT_CHAR_Y, ease:Linear.easeNone, motionBlur:Defines.MOTION_BLUR});
TweenMax.delayedCall((Defines.CHAR_JUMP_DURATION * 0.1), finishJump);
TweenMax.delayedCall((Defines.CHAR_JUMP_DURATION * 0.1), Defines._game.burstSmoke, [x, Defines.DEFAULT_CHAR_Y]);
TweenMax.delayedCall((Defines.CHAR_JUMP_DURATION * 0.1), shotPosition);
this["clip"].gotoAndStop("push");
_local1 = ESound.NewESound(SndPush, 1);
_local1.StartSound();
_local2 = ESound.NewESound(SndStomp, 1);
_local2.StartSound();
};
}
public function shotPosition(){
this["slot3"].visible = true;
this["slot2"].visible = true;
this["clip"].gotoAndStop("shot");
}
public function dance(){
stand();
this["slot3"].visible = false;
this["slot2"].visible = false;
this["clip"].gotoAndStop("dance");
this.y = Defines.DEFAULT_CHAR_Y;
isEnabled = false;
}
public function stand(){
this["clip"]["legs"].gotoAndStop(1);
this["clip"]["torso"].gotoAndStop(1);
legsPos = "stand";
jumping = false;
dashing = false;
walking = false;
}
public function fallJump(){
jumpTween = TweenMax.to(this, (Defines.CHAR_JUMP_DURATION * 0.4), {y:Defines.DEFAULT_CHAR_Y, ease:Sine.easeIn, onComplete:finishJump});
}
public function damage(_arg1:uint){
if (superShield){
_arg1 = (_arg1 * Defines.PW_SUPERSHIELD_FACTOR);
};
if ((((hp > 0)) && (Defines._game.isPlaying))){
hp = (hp - _arg1);
Defines._game.levelDamageTaken.addValue(_arg1);
dispatchEvent(new Event("ON_DAMAGE"));
if (hp <= 0){
hp = 0;
die();
};
Defines._document["gui"]["hpbar"].setProgress(maxHp, hp);
if (_arg1 < 100){
Defines._game.showDamage();
} else {
Defines._game.showDamage(1);
};
};
}
public function recoverHP(_arg1:uint){
hp = (hp + _arg1);
if (hp > Defines.DEFAULT_CHAR_HP){
hp = Defines.DEFAULT_CHAR_HP;
};
Defines._document["gui"]["hpbar"].setProgress(maxHp, hp);
}
public function startSuperSpeed(){
trace("STARTING SUPER SPEED");
superSpeed = true;
if (superSpeedTween != null){
superSpeedTween.kill();
};
superSpeedTween = TweenLite.delayedCall(Defines.POWERUP_DURATION, stopSuperSpeed);
glowTween = TweenMax.to(this["clip"], 1, {glowFilter:{color:0xCCCC, alpha:0.7, blurX:7, blurY:7, strength:5}});
TweenLite.delayedCall(Defines.POWERUP_DURATION, stopGlow2);
}
function stopSuperSpeed(){
trace("STOPPING SUPER SPEED");
superSpeedTween.kill();
superSpeed = false;
}
public function startSuperShield(){
trace("STARTING SUPER SHIELD");
superShield = true;
if (superShieldTween != null){
superShieldTween.kill();
};
superShieldTween = TweenLite.delayedCall(Defines.POWERUP_DURATION, stopSuperShield);
glowTween = TweenMax.to(this["clip"], 1, {glowFilter:{color:0xFFFF00, alpha:0.7, blurX:7, blurY:7, strength:5}});
TweenLite.delayedCall(Defines.POWERUP_DURATION, stopGlow2);
}
function stopSuperShield(){
trace("STOPPING SUPER SHIELD");
superShieldTween.kill();
superShield = false;
}
public function startSuperDamage(){
trace("STARTING SUPER DAMAGE");
superDamage = true;
damageMultiplier = Defines.PW_SUPERDAMAGE_FACTOR;
if (superDamageTween != null){
superDamageTween.kill();
};
superDamageTween = TweenLite.delayedCall(Defines.POWERUP_DURATION, stopSuperDamage);
glowTween = TweenMax.to(this["clip"], 1, {glowFilter:{color:0xCC0000, alpha:0.7, blurX:7, blurY:7, strength:5}});
TweenLite.delayedCall(Defines.POWERUP_DURATION, stopGlow2);
}
function stopSuperDamage(){
trace("STOPPING SUPER DAMAGE");
superDamageTween.kill();
superDamage = false;
damageMultiplier = 1;
}
public function stopGlow(){
trace("stopping glow");
TweenLite.delayedCall(0.5, stopGlow2);
}
public function stopGlow2(){
trace("glowTween", glowTween.active);
if (!glowTween.active){
TweenMax.to(this["clip"], 0.5, {glowFilter:{color:0xCC0000, alpha:0, blurX:0, blurY:0, strength:0}});
};
}
function die(){
this["slot3"].visible = false;
this["slot2"].visible = false;
killTweens();
isEnabled = false;
this["clip"].gotoAndStop("die");
Defines._game.failLevel();
var _local1:ESound = ESound.NewESound(SndDie, 1);
_local1.StartSound();
}
function killTweens(){
if (jumpTween != null){
jumpTween.kill();
};
if (framesTween != null){
framesTween.kill();
};
if (superDamageTween != null){
superDamageTween.kill();
};
if (superShieldTween != null){
superShieldTween.kill();
};
if (superSpeedTween != null){
superSpeedTween.kill();
};
}
function finishJump(){
jumping = false;
dashing = false;
}
function frame1(){
slot1.visible = false;
slot0.visible = false;
}
}
}//package Actors
Section 31
//Crystal (Actors.Crystal)
package Actors {
import flash.display.*;
import flash.events.*;
import com.greensock.*;
import cerebral.utils.*;
public class Crystal extends MovieClip {
public var level:uint;// = 1
public var points:uint;// = 1
var frameCount:uint;// = 0
var moveTween:TweenLite;
var dissapearTween:TweenLite;
public function init(_arg1:uint){
level = _arg1;
if (level == 1){
scaleX = (scaleY = 0.65);
points = 1;
} else {
if (level == 2){
scaleX = (scaleY = 0.85);
points = 2;
} else {
if (level == 3){
scaleX = (scaleY = 1.2);
points = 3;
} else {
if (level == 4){
scaleX = (scaleY = 1.6);
points = 5;
} else {
if (level == 5){
scaleX = (scaleY = 2);
points = 10;
} else {
if (level == 6){
scaleX = (scaleY = 3);
points = 20;
};
};
};
};
};
};
moveTween = TweenLite.to(this, 3, {rotation:NumberUtils.getRandom(-300, 300), physics2D:{velocity:NumberUtils.getRandom(80, 200), angle:NumberUtils.getRandom(245, 295), gravity:300}, onUpdate:checkTween});
addEventListener(Event.ENTER_FRAME, enterFrame);
}
function checkTween(){
if (this.y > Defines.DEFAULT_CHAR_Y){
y = (Defines.DEFAULT_CHAR_Y - NumberUtils.getRandom(0, 10));
moveTween.kill();
dissapearTween = TweenLite.to(this, 1.6, {alpha:3, delay:2, onComplete:destroy, onCompleteParams:[true], onUpdate:toggleVisible});
};
if (x < Defines.CHAR_LIMIT_X_LEFT){
x = Defines.CHAR_LIMIT_X_LEFT;
} else {
if (x > Defines.CHAR_LIMIT_X_RIGHT){
x = Defines.CHAR_LIMIT_X_RIGHT;
};
};
}
function enterFrame(_arg1:Event){
var _local3:ESound;
var _local2 = 50;
if (Defines._game.hero.crystalMagnet){
_local2 = 220;
};
if ((((NumberUtils.getDistanceClips(this, Defines._game.hero) < _local2)) && ((Defines._game.hero.hp > 0)))){
moveTween.kill();
if (dissapearTween != null){
dissapearTween.kill();
};
Defines._game.removeChild(this);
Defines._document.addChild(this);
this.visible = true;
moveTween = TweenLite.to(this, 0.5, {x:20, y:500, onComplete:destroy});
removeEventListener(Event.ENTER_FRAME, enterFrame);
_local3 = ESound.NewESound(SndTouchCrystal, 1);
_local3.StartSound();
};
}
function toggleVisible(){
frameCount++;
if ((frameCount % 3) == 0){
this.visible = !(this.visible);
};
}
function destroy(_arg1:Boolean=false){
if (!_arg1){
if (Defines._game.hero.crystalMultiplier){
Defines._game.giveCrystals(Math.round((points * 1.25)));
} else {
Defines._game.giveCrystals(points);
};
Defines._document.removeChild(this);
} else {
removeEventListener(Event.ENTER_FRAME, enterFrame);
Defines._game.removeChild(this);
};
delete ??getglobalscope
[this];
}
function tweenDot():void{
y = Defines.DEFAULT_CHAR_Y;
}
}
}//package Actors
Section 32
//GenericBar (Actors.GenericBar)
package Actors {
import flash.display.*;
import flash.text.*;
import com.greensock.*;
public class GenericBar extends MovieClip {
public var txtName:TextField;
public var bar:MovieClip;
public function setProgress(_arg1:int, _arg2:int){
if (_arg2 > 0){
this["bar"].scaleX = (_arg2 / _arg1);
} else {
this["bar"].width = 0;
};
}
public function setTint(_arg1:Number){
TweenLite.to(this["bar"], 0.001, {tint:_arg1});
}
}
}//package Actors
Section 33
//Powerup (Actors.Powerup)
package Actors {
import flash.display.*;
import flash.events.*;
import com.greensock.*;
import cerebral.utils.*;
public class Powerup extends MovieClip {
public var type:uint;// = 1
var frameCount:uint;// = 0
var moveTween:TweenLite;
var dissapearTween:TweenLite;
var active:Boolean;// = true
public function init(){
moveTween = TweenLite.to(this, 3, {physics2D:{velocity:NumberUtils.getRandom(80, 200), angle:NumberUtils.getRandom(245, 295), gravity:300}, onUpdate:checkTween});
addEventListener(Event.ENTER_FRAME, enterFrame);
gotoAndStop(type);
}
function checkTween(){
if (this.y > Defines.DEFAULT_CHAR_Y){
y = (Defines.DEFAULT_CHAR_Y - NumberUtils.getRandom(0, 10));
moveTween.kill();
dissapearTween = TweenLite.to(this, 1.6, {alpha:3, delay:2, onComplete:destroy, onCompleteParams:[true], onUpdate:toggleVisible});
};
if (x < Defines.CHAR_LIMIT_X_LEFT){
x = Defines.CHAR_LIMIT_X_LEFT;
} else {
if (x > Defines.CHAR_LIMIT_X_RIGHT){
x = Defines.CHAR_LIMIT_X_RIGHT;
};
};
}
function enterFrame(_arg1:Event){
var _local2 = 50;
if ((((NumberUtils.getDistanceClips(this, Defines._game.hero) < _local2)) && ((Defines._game.hero.hp > 0)))){
removeEventListener(Event.ENTER_FRAME, enterFrame);
if (((active) && ((alpha > 0)))){
Defines._game.powerUp(this.type);
active = false;
alpha = 0;
};
if (moveTween != null){
moveTween.kill();
};
if (dissapearTween != null){
dissapearTween.kill();
};
};
}
function toggleVisible(){
frameCount++;
if ((frameCount % 3) == 0){
this.visible = !(this.visible);
};
}
function destroy(_arg1:Boolean=false){
if (!_arg1){
Defines._document.removeChild(this);
} else {
removeEventListener(Event.ENTER_FRAME, enterFrame);
Defines._game.removeChild(this);
};
delete ??getglobalscope
[this];
}
function tweenDot():void{
y = Defines.DEFAULT_CHAR_Y;
}
}
}//package Actors
Section 34
//WeaponSlot (Actors.WeaponSlot)
package Actors {
import data.*;
public class WeaponSlot {
public var id:int;
public var name:String;
public var x:Number;
public var y:Number;
public var radius:Number;
public var spread:Number;
public var isBehind:Boolean;
public var enabled:Boolean;// = true
public var weaponDefinition:WeaponDefinition;
public function WeaponSlot(_arg1:int, _arg2:WeaponDefinition, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Boolean=false){
id = _arg1;
weaponDefinition = _arg2;
x = _arg3;
y = _arg4;
radius = _arg5;
spread = _arg6;
isBehind = _arg7;
}
}
}//package Actors
Section 35
//assets_loader_6 (aliens_fla.assets_loader_6)
package aliens_fla {
import flash.display.*;
public dynamic class assets_loader_6 extends MovieClip {
public function assets_loader_6(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package aliens_fla
Section 36
//boss1clip_65 (aliens_fla.boss1clip_65)
package aliens_fla {
import flash.display.*;
public dynamic class boss1clip_65 extends MovieClip {
public var shell:MovieClip;
public var base:MovieClip;
public function boss1clip_65(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package aliens_fla
Section 37
//boss2clip_69 (aliens_fla.boss2clip_69)
package aliens_fla {
import flash.display.*;
public dynamic class boss2clip_69 extends MovieClip {
public var body:MovieClip;
public var r_leg:MovieClip;
public var r_arm:MovieClip;
public var l_leg:MovieClip;
public var head:MovieClip;
public var l_arm:MovieClip;
public var tubes:MovieClip;
public function boss2clip_69(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package aliens_fla
Section 38
//boss3temp_27 (aliens_fla.boss3temp_27)
package aliens_fla {
import flash.display.*;
public dynamic class boss3temp_27 extends MovieClip {
public function boss3temp_27(){
addFrameScript(0, frame1);
}
function frame1(){
Defines._document.tempClip = this;
}
}
}//package aliens_fla
Section 39
//btnStartMC_233 (aliens_fla.btnStartMC_233)
package aliens_fla {
import flash.display.*;
import flash.text.*;
public dynamic class btnStartMC_233 extends MovieClip {
public var label:TextField;
public function btnStartMC_233(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
buttonMode = true;
useHandCursor = true;
mouseChildren = true;
}
}
}//package aliens_fla
Section 40
//campaignLevelPreview_239 (aliens_fla.campaignLevelPreview_239)
package aliens_fla {
import flash.display.*;
import flash.events.*;
import data.*;
import flash.xml.*;
import flash.text.*;
import com.greensock.*;
import flash.geom.*;
import flash.filters.*;
import flash.media.*;
import flash.utils.*;
import cerebral.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
public dynamic class campaignLevelPreview_239 extends MovieClip {
public var txtScore:TextField;
public var trophy:TrophyIcon;
public var score:TextField;
public var boss:MovieClip;
public var bg:MovieClip;
public var levelNum:int;
public function campaignLevelPreview_239(){
addFrameScript(0, frame1);
}
public function setLevel(_arg1:int){
boss.gotoAndStop(_arg1);
bg.gotoAndStop(_arg1);
levelNum = (_arg1 - 1);
this.mouseChildren = false;
if ((((levelNum <= Defines.MAX_LEVEL)) && ((((Defines._document.saveSlot.levelScores[(levelNum - 1)] > 0)) || ((levelNum == 0)))))){
this.addEventListener(MouseEvent.CLICK, setSelectedLevel);
this.buttonMode = true;
this.useHandCursor = true;
};
showLevelStats();
}
public function setSelectedLevel(_arg1:MouseEvent){
Defines._document.saveSlot.currentLevelNumber.setValue(levelNum);
(parent as MovieClip).placeSelector();
}
public function showLevelStats(){
TweenLite.to(boss, 0, {tint:0x333333});
TweenLite.to(bg, 0, {colorMatrixFilter:{colorize:0, amount:0.3, saturation:0}});
if (Defines._document.saveSlot.levelScores[levelNum] > 0){
TweenLite.to(boss, 0, {removeTint:true});
};
if ((((Defines._document.saveSlot.levelScores[(levelNum - 1)] > 0)) || ((levelNum == 0)))){
TweenLite.to(bg, 0, {colorMatrixFilter:{}});
};
if (Defines._document.saveSlot.levelTrophies[levelNum] > 0){
trophy.gotoAndStop(Defines._document.saveSlot.levelTrophies[levelNum]);
trophy.visible = true;
} else {
trophy.visible = false;
};
if (Defines._document.saveSlot.levelScores[levelNum] > 0){
score.text = NumberUtils.formatNumber(Defines._document.saveSlot.levelScores[levelNum], "", "", ",");
};
}
function frame1(){
txtScore.text = TEXT.$(34);
bg.stop();
boss.stop();
trophy.stop();
trophy.shine.visible = false;
}
}
}//package aliens_fla
Section 41
//campaignLevels_238 (aliens_fla.campaignLevels_238)
package aliens_fla {
import flash.display.*;
import flash.events.*;
import flash.xml.*;
import flash.text.*;
import flash.geom.*;
import flash.filters.*;
import flash.media.*;
import com.greensock.easing.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
public dynamic class campaignLevels_238 extends MovieClip {
public var levelSelector:MovieClip;
public var l1:MovieClip;
public var l2:MovieClip;
public var l3:MovieClip;
public var l4:MovieClip;
public var l5:MovieClip;
public var i:int;
public function campaignLevels_238(){
addFrameScript(0, frame1);
}
public function placeSelector(){
trace("placeSelector()", ("l" + (Defines._document.saveSlot.currentLevelNumber.value + 1)), Defines._document.saveSlot.currentLevelNumber.value);
levelSelector.x = this[("l" + (Defines._document.saveSlot.currentLevelNumber.value + 1))].x;
}
function frame1(){
i = 1;
while (i < 6) {
this[("l" + i)].setLevel(i);
i++;
};
placeSelector();
}
}
}//package aliens_fla
Section 42
//char_legs_97 (aliens_fla.char_legs_97)
package aliens_fla {
import flash.display.*;
public dynamic class char_legs_97 extends MovieClip {
public function char_legs_97(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package aliens_fla
Section 43
//char_torso_91 (aliens_fla.char_torso_91)
package aliens_fla {
import flash.display.*;
public dynamic class char_torso_91 extends MovieClip {
public var splash:MovieClip;
public function char_torso_91(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5);
}
function frame1(){
stop();
splash.visible = false;
}
function frame2(){
splash.visible = false;
}
function frame3(){
splash.visible = false;
}
function frame4(){
splash.visible = false;
}
function frame5(){
splash.visible = false;
}
}
}//package aliens_fla
Section 44
//character_clip_90 (aliens_fla.character_clip_90)
package aliens_fla {
import flash.display.*;
public dynamic class character_clip_90 extends MovieClip {
public var legs:MovieClip;
public var torso:MovieClip;
public function character_clip_90(){
addFrameScript(0, frame1, 27, frame28, 46, frame47);
}
function frame1(){
stop();
}
function frame28(){
gotoAndStop("shot");
}
function frame47(){
gotoAndStop("shot");
}
}
}//package aliens_fla
Section 45
//flag_icon_279 (aliens_fla.flag_icon_279)
package aliens_fla {
import flash.display.*;
public dynamic class flag_icon_279 extends MovieClip {
public function flag_icon_279(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package aliens_fla
Section 46
//hiLowSwitchcopy_231 (aliens_fla.hiLowSwitchcopy_231)
package aliens_fla {
import flash.display.*;
import data.*;
import flash.text.*;
public dynamic class hiLowSwitchcopy_231 extends MovieClip {
public var txtHigh:TextField;
public var txtLow:TextField;
public var txtMed:TextField;
public function hiLowSwitchcopy_231(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame1(){
stop();
txtHigh.text = TEXT.$(62);
}
function frame2(){
txtMed.text = TEXT.$(63);
}
function frame3(){
txtLow.text = TEXT.$(64);
}
}
}//package aliens_fla
Section 47
//intro_209 (aliens_fla.intro_209)
package aliens_fla {
import flash.display.*;
import flash.events.*;
import data.*;
import flash.xml.*;
import flash.text.*;
import com.greensock.*;
import flash.geom.*;
import flash.filters.*;
import flash.media.*;
import com.greensock.easing.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
public dynamic class intro_209 extends MovieClip {
public var btnSkip:smallButton;
public var introText:TextField;
public var intro1:MovieClip;
public var intro2:MovieClip;
public var intro3:MovieClip;
public var intro4a:MovieClip;
public var intro5:MovieClip;
public var intro4b:MovieClip;
public var introDialogs:Array;
public var delayPerSlide:Number;
public var alphaTime:Number;
public var timeline:TimelineMax;
public var texts:TimelineMax;
public function intro_209(){
addFrameScript(0, frame1);
}
public function setText(_arg1:String){
TweenLite.killTweensOf(introText);
introText.text = "";
TweenLite.to(introText, (_arg1.length * 0.05), {typewriter:_arg1, ease:Linear.easeNone});
}
public function clearText(){
TweenLite.killTweensOf(introText);
introText.text = "";
}
public function introComplete(){
trace("intro completed");
btnSkip.text = TEXT.$(24);
}
public function skipIntro(_arg1:MouseEvent){
btnSkip.removeEventListener(MouseEvent.CLICK, skipIntro);
timeline.stop();
texts.stop();
TweenMax.allTo([intro1, intro2, intro3, intro4a, intro4b, intro5, introText], 2, {autoAlpha:0, onComplete:exit});
}
public function exit(){
(parent as MovieClip).gotoAndStop("levelSelect");
}
function frame1(){
TweenMax.allTo([intro1, intro2, intro3, intro4a, intro4b, intro5], 0, {autoAlpha:0});
introDialogs = [TEXT.$(12), TEXT.$(13), ((TEXT.$(14) + "\n") + TEXT.$(15)), ((TEXT.$(16) + "\nGeneral:") + TEXT.$(17)), ("Magus: " + TEXT.$(18)), TEXT.$(19), ((TEXT.$(20) + "\nGeneral: ") + TEXT.$(21)), TEXT.$(22)];
btnSkip.text = TEXT.$(23);
btnSkip.addEventListener(MouseEvent.CLICK, skipIntro);
delayPerSlide = 4;
alphaTime = 1;
btnSkip.alpha = 0;
btnSkip.visible = false;
TweenMax.to(btnSkip, 1, {autoAlpha:1, delay:4});
timeline = new TimelineMax({onComplete:introComplete});
texts = new TimelineMax();
timeline.append(new TweenMax(intro1, alphaTime, {autoAlpha:1}));
timeline.append(new TweenMax(intro1, alphaTime, {autoAlpha:0, delay:delayPerSlide}));
timeline.append(new TweenMax(intro2, alphaTime, {autoAlpha:1}));
timeline.append(new TweenMax(intro2, alphaTime, {autoAlpha:0, delay:delayPerSlide}));
timeline.append(new TweenMax(intro3, alphaTime, {autoAlpha:1}));
timeline.append(new TweenMax(intro3, alphaTime, {autoAlpha:0, delay:delayPerSlide}));
timeline.append(new TweenMax(intro4a, alphaTime, {autoAlpha:1}));
timeline.append(new TweenMax(intro4b, 1, {autoAlpha:1, delay:3}));
timeline.append(new TweenMax(intro4a, alphaTime, {autoAlpha:0, delay:1}));
timeline.append(new TweenMax(intro4b, alphaTime, {autoAlpha:0, delay:11}));
timeline.append(new TweenMax(intro5, alphaTime, {autoAlpha:1}));
texts.append(TweenLite.delayedCall(2, setText, [introDialogs[0]]));
texts.append(TweenLite.delayedCall(4, clearText));
texts.append(TweenLite.delayedCall(1, setText, [introDialogs[1]]));
texts.append(TweenLite.delayedCall(5, clearText));
texts.append(TweenLite.delayedCall(1, setText, [introDialogs[2]]));
texts.append(TweenLite.delayedCall(6, clearText));
texts.append(TweenLite.delayedCall(4, setText, [introDialogs[3]]));
texts.append(TweenLite.delayedCall(2.8, clearText));
texts.append(TweenLite.delayedCall(0.2, setText, [introDialogs[4]]));
texts.append(TweenLite.delayedCall(2.8, clearText));
texts.append(TweenLite.delayedCall(0.2, setText, [introDialogs[5]]));
texts.append(TweenLite.delayedCall(2.8, clearText));
texts.append(TweenLite.delayedCall(0.2, setText, [introDialogs[6]]));
texts.append(TweenLite.delayedCall(3.2, clearText));
texts.append(TweenLite.delayedCall(1, setText, [introDialogs[7]]));
}
}
}//package aliens_fla
Section 48
//inventoryWindow_195 (aliens_fla.inventoryWindow_195)
package aliens_fla {
import flash.display.*;
import flash.events.*;
import data.*;
import controls.*;
public dynamic class inventoryWindow_195 extends MovieClip {
public var inv_character:MovieClip;
public var btnClose:smallButton;
public var inv_pistols:MovieClip;
public var inv_cannons:MovieClip;
public var btnWeapons:smallButton;
public var weaponInfo:WeaponInfo;
public var squareShop:MovieClip;
public var btnModules:smallButton;
public var squareInventario:MovieClip;
public function inventoryWindow_195(){
addFrameScript(0, frame1);
}
public function showInventory(_arg1:Boolean=false){
this.addChild(Defines._document.inv);
(parent as Document).createWeaponSlots(this);
Defines._document.inv.init();
if (_arg1){
btnClose.visible = true;
};
}
public function switchInventory(_arg1:MouseEvent){
if (_arg1.target == btnWeapons){
Defines._document.inv.switchGrid(Defines._document.inv.buyWeaponsGrid);
} else {
if (_arg1.target == btnModules){
Defines._document.inv.switchGrid(Defines._document.inv.buyModulesGrid);
};
};
}
public function exitInventory(_arg1=null){
btnClose.visible = false;
this.visible = false;
if (Defines._document.inv.cameFrom != ""){
(root as MovieClip).gotoAndStop(Defines._document.inv.cameFrom);
};
}
function frame1(){
btnWeapons.text = TEXT.$(134);
btnModules.text = TEXT.$(135);
btnClose.text = TEXT.$(24);
btnClose.addEventListener(MouseEvent.CLICK, exitInventory);
btnWeapons.addEventListener(MouseEvent.CLICK, switchInventory);
btnModules.addEventListener(MouseEvent.CLICK, switchInventory);
}
}
}//package aliens_fla
Section 49
//levelFailedGUI_226 (aliens_fla.levelFailedGUI_226)
package aliens_fla {
import flash.display.*;
import flash.events.*;
import data.*;
import flash.text.*;
import spill.localisation.*;
import flash.net.*;
public dynamic class levelFailedGUI_226 extends MovieClip {
public var btnMore:smallButton;
public var btnExit:smallButton;
public var screenTitle:TextField;
public var btnRetryLevel:smallButton;
public function levelFailedGUI_226(){
addFrameScript(0, frame1);
}
public function retryClick(_arg1:MouseEvent){
Defines._game.retryLevel();
}
function frame1(){
screenTitle.text = TEXT.$(81);
btnRetryLevel.text = TEXT.$(82);
btnExit.text = TEXT.$(83);
btnMore.text = TEXT.$(10);
btnRetryLevel.addEventListener(MouseEvent.CLICK, retryClick);
btnExit.addEventListener(MouseEvent.CLICK, Defines._game.exitFailedGame);
btnMore.addEventListener(MouseEvent.CLICK, function (_arg1=null){
navigateToURL(new URLRequest(SpilGame.getMoreGamesLink("Mainscreen")), "_blank");
});
}
}
}//package aliens_fla
Section 50
//muerte_100 (aliens_fla.muerte_100)
package aliens_fla {
import flash.display.*;
public dynamic class muerte_100 extends MovieClip {
public function muerte_100(){
addFrameScript(38, frame39);
}
function frame39(){
stop();
}
}
}//package aliens_fla
Section 51
//onOffSwitch_229 (aliens_fla.onOffSwitch_229)
package aliens_fla {
import flash.display.*;
import data.*;
import flash.text.*;
public dynamic class onOffSwitch_229 extends MovieClip {
public var txtOff:TextField;
public var txtOn:TextField;
public function onOffSwitch_229(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
txtOn.text = TEXT.$(66);
}
function frame2(){
stop();
txtOff.text = TEXT.$(67);
}
}
}//package aliens_fla
Section 52
//optionsGUI_228 (aliens_fla.optionsGUI_228)
package aliens_fla {
import flash.display.*;
import flash.events.*;
import data.*;
import flash.xml.*;
import flash.text.*;
import flash.geom.*;
import flash.filters.*;
import flash.media.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
public dynamic class optionsGUI_228 extends MovieClip {
public var alias:TextField;
public var btnClose:smallButton;
public var soundStatus:MovieClip;
public var sound:TextField;
public var title:TextField;
public var quality:MovieClip;
public var effects:TextField;
public var extraEffects:MovieClip;
public function optionsGUI_228(){
addFrameScript(0, frame1);
}
public function setQuality(_arg1:MouseEvent){
if (Defines.GAME_QUALITY == 1){
Defines.GAME_QUALITY = 2;
} else {
if (Defines.GAME_QUALITY == 2){
Defines.GAME_QUALITY = 3;
} else {
if (Defines.GAME_QUALITY == 3){
Defines.GAME_QUALITY = 1;
};
};
};
stage.quality = Defines.GAME_QUALITIES[(Defines.GAME_QUALITY - 1)];
showQuality();
trace("quality", stage.quality);
}
public function setMute(_arg1:MouseEvent){
ESound.Mute();
showMutedButton();
}
public function setEffects(_arg1:MouseEvent){
Defines.SHOW_EFFECTS = !(Defines.SHOW_EFFECTS);
showEffectsButton();
}
public function showQuality(){
quality.gotoAndStop(Defines.GAME_QUALITY);
}
public function showEffectsButton(){
if (Defines.SHOW_EFFECTS){
extraEffects.gotoAndStop(1);
} else {
extraEffects.gotoAndStop(2);
};
}
public function showMutedButton(){
if (ESound.muted){
soundStatus.gotoAndStop(2);
} else {
soundStatus.gotoAndStop(1);
};
}
function frame1(){
btnClose.text = TEXT.$(83);
title.text = TEXT.$(59);
effects.text = TEXT.$(60);
alias.text = TEXT.$(61);
sound.text = TEXT.$(65);
soundStatus.buttonMode = true;
extraEffects.buttonMode = true;
quality.buttonMode = true;
soundStatus.useHandCursor = true;
extraEffects.useHandCursor = true;
quality.useHandCursor = true;
soundStatus.mouseChildren = false;
extraEffects.mouseChildren = false;
quality.mouseChildren = false;
btnClose.addEventListener(MouseEvent.CLICK, Defines._document.hideOptions);
soundStatus.addEventListener(MouseEvent.CLICK, setMute);
extraEffects.addEventListener(MouseEvent.CLICK, setEffects);
quality.addEventListener(MouseEvent.CLICK, setQuality);
showMutedButton();
showEffectsButton();
showQuality();
}
}
}//package aliens_fla
Section 53
//pauseMenu_227 (aliens_fla.pauseMenu_227)
package aliens_fla {
import flash.display.*;
import flash.events.*;
import data.*;
import flash.text.*;
public dynamic class pauseMenu_227 extends MovieClip {
public var btnExitLevel:smallButton;
public var btnResume:smallButton;
public var txtTitle:TextField;
public var btnOptions:smallButton;
public function pauseMenu_227(){
addFrameScript(0, frame1);
}
public function addEvents(){
btnResume.addEventListener(MouseEvent.CLICK, resume);
btnOptions.addEventListener(MouseEvent.CLICK, options);
btnExitLevel.addEventListener(MouseEvent.CLICK, exit);
}
public function removeEvents(){
btnResume.removeEventListener(MouseEvent.CLICK, resume);
btnOptions.removeEventListener(MouseEvent.CLICK, options);
btnExitLevel.removeEventListener(MouseEvent.CLICK, exit);
}
public function resume(_arg1:MouseEvent){
Defines._game.pause();
}
public function options(_arg1:MouseEvent){
Defines._document.showOptions();
}
public function exit(_arg1:MouseEvent){
Defines._game.pause();
Defines._game.hero.damage(1000000);
}
function frame1(){
btnResume.text = TEXT.$(79);
btnOptions.text = TEXT.$(59);
btnExitLevel.text = TEXT.$(80);
txtTitle.text = TEXT.$(136);
addEvents();
}
}
}//package aliens_fla
Section 54
//powerupsClip_221 (aliens_fla.powerupsClip_221)
package aliens_fla {
import flash.display.*;
import data.*;
import flash.text.*;
public dynamic class powerupsClip_221 extends MovieClip {
public var label:TextField;
public function powerupsClip_221(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5);
}
function frame1(){
stop();
label.text = TEXT.$(54);
}
function frame2(){
label.text = TEXT.$(55);
}
function frame3(){
label.text = TEXT.$(56);
}
function frame4(){
label.text = TEXT.$(57);
}
function frame5(){
label.text = TEXT.$(58);
}
}
}//package aliens_fla
Section 55
//preparing_232 (aliens_fla.preparing_232)
package aliens_fla {
import flash.display.*;
import flash.events.*;
import data.*;
import flash.xml.*;
import flash.text.*;
import flash.geom.*;
import flash.filters.*;
import flash.media.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
public dynamic class preparing_232 extends MovieClip {
public var txtDown:TextField;
public var txtBullet:TextField;
public var txtDash:TextField;
public var titleLoading:TextField;
public var btnStart:MovieClip;
public var txtPreparing:TextField;
public var txtJump:TextField;
public var txtArrows:TextField;
public function preparing_232(){
addFrameScript(0, frame1);
}
public function startLevel(_arg1:MouseEvent){
Defines._game.startLevel();
}
function frame1(){
btnStart.visible = false;
btnStart["label"].text = TEXT.$(3);
btnStart.addEventListener(MouseEvent.CLICK, startLevel);
titleLoading.text = TEXT.$(68);
txtJump.text = TEXT.$(71);
txtArrows.text = TEXT.$(70);
txtBullet.text = TEXT.$(72);
txtDash.text = TEXT.$(74);
txtDown.text = TEXT.$(73);
txtPreparing.text = TEXT.$(69);
}
}
}//package aliens_fla
Section 56
//Burster (cerebral.basicparticles2.Burster)
package cerebral.basicparticles2 {
import flash.display.*;
import com.greensock.*;
public class Burster extends Sprite {
public var rotationRandom:int;
public var maxScale:Number;
public var finalAlpha:Number;
public var particleCount:int;
public var xRadius:int;
public var yRadius:int;
public var startScale:Number;
public var clipClass:Class;
public var particleLife:Number;
public var xRandom:int;
public var yRandom:int;
public var minScale:Number;
public function Burster(){
particleCount = 30;
xRadius = 50;
yRadius = 50;
xRandom = 100;
yRandom = 100;
startScale = 1;
rotationRandom = 360;
particleLife = 2;
finalAlpha = 0;
minScale = 1;
maxScale = 2;
}
public function burst(){
var _local1:Particle;
var _local2:int;
var _local3:* = new Sprite();
parent.addChild(_local3);
var _local4:int;
while (_local4 < particleCount) {
_local1 = new Particle(clipClass);
_local3.addChild(_local1);
_local1.rotation = (Math.random() * rotationRandom);
_local3.x = this.x;
_local3.y = this.y;
_local1.scaleX = (_local1.scaleY = startScale);
_local2 = ((Math.random() * maxScale) + minScale);
TweenLite.to(_local1, particleLife, {x:((Math.random() * xRandom) - xRadius), y:((Math.random() * yRandom) - yRadius), rotation:-(_local1.rotation), scaleX:_local2, scaleY:_local2, alpha:finalAlpha, onComplete:_local1.clear, overwrite:false});
_local4++;
};
TweenLite.delayedCall((particleLife * 5), clearContainer, [_local3]);
}
function clearContainer(_arg1:Sprite){
parent.removeChild(_arg1);
_arg1 = null;
}
}
}//package cerebral.basicparticles2
Section 57
//Particle (cerebral.basicparticles2.Particle)
package cerebral.basicparticles2 {
import flash.display.*;
public class Particle extends Sprite {
var clip:Sprite;
public function Particle(_arg1:Class){
clip = (new (_arg1) as Sprite);
addChild(clip);
}
public function clear(){
parent.removeChild(this);
}
}
}//package cerebral.basicparticles2
Section 58
//NumberUtils (cerebral.utils.NumberUtils)
package cerebral.utils {
import flash.display.*;
public class NumberUtils {
public static function formatNumber(_arg1:Number, _arg2:String="", _arg3:String="", _arg4:String=","){
var Snum:*;
var splitStr:*;
var splitLeft:*;
var splitRight:*;
var regx:*;
var num = _arg1;
var prefix = _arg2;
var sufix = _arg3;
var mileSeparator = _arg4;
try {
prefix = ((prefix) || (""));
Snum = num.toString();
splitStr = Snum.split(".");
splitLeft = splitStr[0];
splitRight = ((splitStr.length > 1)) ? ("." + splitStr[1]) : "";
regx = /(\d+)(\d{3})/;
while (regx.test(splitLeft)) {
splitLeft = splitLeft.replace(regx, (("$1" + mileSeparator) + "$2"));
};
return ((((prefix + splitLeft) + splitRight) + sufix));
} catch(e:Error) {
trace("can't set number");
return (((prefix + "0") + sufix));
};
}
public static function unformatNumber(_arg1:String):Number{
return (Number(_arg1.replace(/([^0-9\.\-])/g, "")));
}
public static function getRandom(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Number{
if (!_arg3){
return ((_arg1 + (Math.random() * (_arg2 - _arg1))));
};
return (Math.round((_arg1 + (Math.random() * (_arg2 - _arg1)))));
}
public static function getDistanceClips(_arg1:DisplayObject, _arg2:DisplayObject):Number{
return (Math.sqrt((((_arg1.y - _arg2.y) * (_arg1.y - _arg2.y)) + ((_arg1.x - _arg2.x) * (_arg1.x - _arg2.x)))));
}
}
}//package cerebral.utils
Section 59
//numStepper (cerebral.utils.numStepper)
package cerebral.utils {
import flash.text.*;
import com.greensock.*;
import com.greensock.easing.*;
public class numStepper {
public static function setNumber(_arg1:TextField, _arg2:int, _arg3:int, _arg4:Number, _arg5:Number=0, _arg6:Boolean=false, _arg7:String="", _arg8:String=",", _arg9:String=""){
var _local10:Object = new Object();
_local10.number = _arg2;
TweenLite.to(_local10, _arg4, {number:_arg3, onUpdate:setStep, onUpdateParams:[_arg1, _local10, _arg6, _arg7, _arg8, _arg9], delay:_arg5, ease:Sine.easeIn});
}
static function setStep(_arg1:TextField, _arg2:Object, _arg3:Boolean=false, _arg4:String="", _arg5:String=",", _arg6:String=""){
if (_arg3){
_arg1.text = NumberUtils.formatNumber(Math.round(_arg2.number), _arg6, _arg4, _arg5);
} else {
_arg1.text = Math.round(_arg2.number).toString();
};
}
}
}//package cerebral.utils
Section 60
//PropTween (com.greensock.core.PropTween)
package com.greensock.core {
public final class PropTween {
public var target:Object;
public var property:String;
public var start:Number;
public var change:Number;
public var name:String;
public var priority:int;
public var isPlugin:Boolean;
public var nextNode:PropTween;
public var prevNode:PropTween;
public function PropTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number, _arg5:String, _arg6:Boolean, _arg7:PropTween=null, _arg8:int=0){
this.target = _arg1;
this.property = _arg2;
this.start = _arg3;
this.change = _arg4;
this.name = _arg5;
this.isPlugin = _arg6;
if (_arg7){
_arg7.prevNode = this;
this.nextNode = _arg7;
};
this.priority = _arg8;
}
}
}//package com.greensock.core
Section 61
//SimpleTimeline (com.greensock.core.SimpleTimeline)
package com.greensock.core {
public class SimpleTimeline extends TweenCore {
protected var _firstChild:TweenCore;
protected var _lastChild:TweenCore;
public var autoRemoveChildren:Boolean;
public function SimpleTimeline(_arg1:Object=null){
super(0, _arg1);
}
public function insert(_arg1:TweenCore, _arg2=0):TweenCore{
if (((!(_arg1.cachedOrphan)) && (_arg1.timeline))){
_arg1.timeline.remove(_arg1, true);
};
_arg1.timeline = this;
_arg1.cachedStartTime = (Number(_arg2) + _arg1.delay);
if (_arg1.gc){
_arg1.setEnabled(true, true);
};
if (_arg1.cachedPaused){
_arg1.cachedPauseTime = (_arg1.cachedStartTime + ((this.rawTime - _arg1.cachedStartTime) / _arg1.cachedTimeScale));
};
if (_lastChild){
_lastChild.nextNode = _arg1;
} else {
_firstChild = _arg1;
};
_arg1.prevNode = _lastChild;
_lastChild = _arg1;
_arg1.nextNode = null;
_arg1.cachedOrphan = false;
return (_arg1);
}
public function remove(_arg1:TweenCore, _arg2:Boolean=false):void{
if (_arg1.cachedOrphan){
return;
};
if (!_arg2){
_arg1.setEnabled(false, true);
};
if (_arg1.nextNode){
_arg1.nextNode.prevNode = _arg1.prevNode;
} else {
if (_lastChild == _arg1){
_lastChild = _arg1.prevNode;
};
};
if (_arg1.prevNode){
_arg1.prevNode.nextNode = _arg1.nextNode;
} else {
if (_firstChild == _arg1){
_firstChild = _arg1.nextNode;
};
};
_arg1.cachedOrphan = true;
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local5:Number;
var _local6:TweenCore;
var _local4:TweenCore = _firstChild;
this.cachedTotalTime = _arg1;
this.cachedTime = _arg1;
while (_local4) {
_local6 = _local4.nextNode;
if (((_local4.active) || ((((((_arg1 >= _local4.cachedStartTime)) && (!(_local4.cachedPaused)))) && (!(_local4.gc)))))){
if (!_local4.cachedReversed){
_local4.renderTime(((_arg1 - _local4.cachedStartTime) * _local4.cachedTimeScale), _arg2, false);
} else {
_local5 = (_local4.cacheIsDirty) ? _local4.totalDuration : _local4.cachedTotalDuration;
_local4.renderTime((_local5 - ((_arg1 - _local4.cachedStartTime) * _local4.cachedTimeScale)), _arg2, false);
};
};
_local4 = _local6;
};
}
public function get rawTime():Number{
return (this.cachedTotalTime);
}
}
}//package com.greensock.core
Section 62
//TweenCore (com.greensock.core.TweenCore)
package com.greensock.core {
import com.greensock.*;
public class TweenCore {
protected var _delay:Number;
protected var _hasUpdate:Boolean;
protected var _rawPrevTime:Number;// = -1
public var vars:Object;
public var active:Boolean;
public var gc:Boolean;
public var initted:Boolean;
public var timeline:SimpleTimeline;
public var cachedStartTime:Number;
public var cachedTime:Number;
public var cachedTotalTime:Number;
public var cachedDuration:Number;
public var cachedTotalDuration:Number;
public var cachedTimeScale:Number;
public var cachedPauseTime:Number;
public var cachedReversed:Boolean;
public var nextNode:TweenCore;
public var prevNode:TweenCore;
public var cachedOrphan:Boolean;
public var cacheIsDirty:Boolean;
public var cachedPaused:Boolean;
public var data;
public static const version:Number = 1.64;
protected static var _classInitted:Boolean;
public function TweenCore(_arg1:Number=0, _arg2:Object=null){
this.vars = ((_arg2)!=null) ? _arg2 : {};
if (this.vars.isGSVars){
this.vars = this.vars.vars;
};
this.cachedDuration = (this.cachedTotalDuration = _arg1);
_delay = (this.vars.delay) ? Number(this.vars.delay) : 0;
this.cachedTimeScale = (this.vars.timeScale) ? Number(this.vars.timeScale) : 1;
this.active = Boolean((((((_arg1 == 0)) && ((_delay == 0)))) && (!((this.vars.immediateRender == false)))));
this.cachedTotalTime = (this.cachedTime = 0);
this.data = this.vars.data;
if (!_classInitted){
if (isNaN(TweenLite.rootFrame)){
TweenLite.initClass();
_classInitted = true;
} else {
return;
};
};
var _local3:SimpleTimeline = ((this.vars.timeline is SimpleTimeline)) ? this.vars.timeline : (this.vars.useFrames) ? TweenLite.rootFramesTimeline : TweenLite.rootTimeline;
_local3.insert(this, _local3.cachedTotalTime);
if (this.vars.reversed){
this.cachedReversed = true;
};
if (this.vars.paused){
this.paused = true;
};
}
public function play():void{
this.reversed = false;
this.paused = false;
}
public function pause():void{
this.paused = true;
}
public function resume():void{
this.paused = false;
}
public function restart(_arg1:Boolean=false, _arg2:Boolean=true):void{
this.reversed = false;
this.paused = false;
this.setTotalTime((_arg1) ? -(_delay) : 0, _arg2);
}
public function reverse(_arg1:Boolean=true):void{
this.reversed = true;
if (_arg1){
this.paused = false;
} else {
if (this.gc){
this.setEnabled(true, false);
};
};
}
public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
}
public function complete(_arg1:Boolean=false, _arg2:Boolean=false):void{
if (!_arg1){
renderTime(this.totalDuration, _arg2, false);
return;
};
if (this.timeline.autoRemoveChildren){
this.setEnabled(false, false);
} else {
this.active = false;
};
if (!_arg2){
if (((((this.vars.onComplete) && ((this.cachedTotalTime >= this.cachedTotalDuration)))) && (!(this.cachedReversed)))){
this.vars.onComplete.apply(null, this.vars.onCompleteParams);
} else {
if (((((this.cachedReversed) && ((this.cachedTotalTime == 0)))) && (this.vars.onReverseComplete))){
this.vars.onReverseComplete.apply(null, this.vars.onReverseCompleteParams);
};
};
};
}
public function invalidate():void{
}
public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{
this.gc = !(_arg1);
if (_arg1){
this.active = Boolean(((((!(this.cachedPaused)) && ((this.cachedTotalTime > 0)))) && ((this.cachedTotalTime < this.cachedTotalDuration))));
if (((!(_arg2)) && (this.cachedOrphan))){
this.timeline.insert(this, (this.cachedStartTime - _delay));
};
} else {
this.active = false;
if (((!(_arg2)) && (!(this.cachedOrphan)))){
this.timeline.remove(this, true);
};
};
return (false);
}
public function kill():void{
setEnabled(false, false);
}
protected function setDirtyCache(_arg1:Boolean=true):void{
var _local2:TweenCore = (_arg1) ? this : this.timeline;
while (_local2) {
_local2.cacheIsDirty = true;
_local2 = _local2.timeline;
};
}
protected function setTotalTime(_arg1:Number, _arg2:Boolean=false):void{
var _local3:Number;
var _local4:Number;
if (this.timeline){
_local3 = (this.cachedPaused) ? this.cachedPauseTime : this.timeline.cachedTotalTime;
if (this.cachedReversed){
_local4 = (this.cacheIsDirty) ? this.totalDuration : this.cachedTotalDuration;
this.cachedStartTime = (_local3 - ((_local4 - _arg1) / this.cachedTimeScale));
} else {
this.cachedStartTime = (_local3 - (_arg1 / this.cachedTimeScale));
};
if (!this.timeline.cacheIsDirty){
setDirtyCache(false);
};
if (this.cachedTotalTime != _arg1){
renderTime(_arg1, _arg2, false);
};
};
}
public function get delay():Number{
return (_delay);
}
public function set delay(_arg1:Number):void{
this.startTime = (this.startTime + (_arg1 - _delay));
_delay = _arg1;
}
public function get duration():Number{
return (this.cachedDuration);
}
public function set duration(_arg1:Number):void{
var _local2:Number = (_arg1 / this.cachedDuration);
this.cachedDuration = (this.cachedTotalDuration = _arg1);
if (((((this.active) && (!(this.cachedPaused)))) && (!((_arg1 == 0))))){
this.setTotalTime((this.cachedTotalTime * _local2), true);
};
setDirtyCache(false);
}
public function get totalDuration():Number{
return (this.cachedTotalDuration);
}
public function set totalDuration(_arg1:Number):void{
this.duration = _arg1;
}
public function get currentTime():Number{
return (this.cachedTime);
}
public function set currentTime(_arg1:Number):void{
setTotalTime(_arg1, false);
}
public function get totalTime():Number{
return (this.cachedTotalTime);
}
public function set totalTime(_arg1:Number):void{
setTotalTime(_arg1, false);
}
public function get startTime():Number{
return (this.cachedStartTime);
}
public function set startTime(_arg1:Number):void{
if (((!((this.timeline == null))) && (((!((_arg1 == this.cachedStartTime))) || (this.gc))))){
this.timeline.insert(this, (_arg1 - _delay));
} else {
this.cachedStartTime = _arg1;
};
}
public function get reversed():Boolean{
return (this.cachedReversed);
}
public function set reversed(_arg1:Boolean):void{
if (_arg1 != this.cachedReversed){
this.cachedReversed = _arg1;
setTotalTime(this.cachedTotalTime, true);
};
}
public function get paused():Boolean{
return (this.cachedPaused);
}
public function set paused(_arg1:Boolean):void{
if (((!((_arg1 == this.cachedPaused))) && (this.timeline))){
if (_arg1){
this.cachedPauseTime = this.timeline.rawTime;
} else {
this.cachedStartTime = (this.cachedStartTime + (this.timeline.rawTime - this.cachedPauseTime));
this.cachedPauseTime = NaN;
setDirtyCache(false);
};
this.cachedPaused = _arg1;
this.active = Boolean(((((!(this.cachedPaused)) && ((this.cachedTotalTime > 0)))) && ((this.cachedTotalTime < this.cachedTotalDuration))));
};
if (((!(_arg1)) && (this.gc))){
this.setTotalTime(this.cachedTotalTime, false);
this.setEnabled(true, false);
};
}
}
}//package com.greensock.core
Section 63
//Back (com.greensock.easing.Back)
package com.greensock.easing {
public class Back {
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1.70158):Number{
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * (((_arg5 + 1) * _arg1) - _arg5)) + _arg2));
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1.70158):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 1)) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1.70158):Number{
_arg1 = (_arg1 / (_arg4 * 0.5));
if (_arg1 < 1){
_arg5 = (_arg5 * 1.525);
return ((((_arg3 * 0.5) * ((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) - _arg5))) + _arg2));
};
_arg1 = (_arg1 - 2);
_arg5 = (_arg5 * 1.525);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 2)) + _arg2));
}
}
}//package com.greensock.easing
Section 64
//Linear (com.greensock.easing.Linear)
package com.greensock.easing {
public class Linear {
public static const power:uint = 0;
public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
}
}//package com.greensock.easing
Section 65
//Sine (com.greensock.easing.Sine)
package com.greensock.easing {
public class Sine {
private static const _HALF_PI:Number = 1.5707963267949;
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * _HALF_PI))) + _arg3) + _arg2));
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (((_arg3 * Math.sin(((_arg1 / _arg4) * _HALF_PI))) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((-(_arg3) * 0.5) * (Math.cos(((Math.PI * _arg1) / _arg4)) - 1)) + _arg2));
}
}
}//package com.greensock.easing
Section 66
//Strong (com.greensock.easing.Strong)
package com.greensock.easing {
public class Strong {
public static const power:uint = 4;
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / (_arg4 * 0.5));
if (_arg1 < 1){
return ((((((((_arg3 * 0.5) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 * 0.5) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2));
}
}
}//package com.greensock.easing
Section 67
//TweenEvent (com.greensock.events.TweenEvent)
package com.greensock.events {
import flash.events.*;
public class TweenEvent extends Event {
public static const VERSION:Number = 1.1;
public static const START:String = "start";
public static const UPDATE:String = "change";
public static const COMPLETE:String = "complete";
public static const REVERSE_COMPLETE:String = "reverseComplete";
public static const REPEAT:String = "repeat";
public static const INIT:String = "init";
public function TweenEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function clone():Event{
return (new TweenEvent(this.type, this.bubbles, this.cancelable));
}
}
}//package com.greensock.events
Section 68
//AutoAlphaPlugin (com.greensock.plugins.AutoAlphaPlugin)
package com.greensock.plugins {
import com.greensock.*;
public class AutoAlphaPlugin extends TweenPlugin {
protected var _target:Object;
protected var _ignoreVisible:Boolean;
public static const API:Number = 1;
public function AutoAlphaPlugin(){
this.propName = "autoAlpha";
this.overwriteProps = ["alpha", "visible"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
addTween(_arg1, "alpha", _arg1.alpha, _arg2, "alpha");
return (true);
}
override public function killProps(_arg1:Object):void{
super.killProps(_arg1);
_ignoreVisible = Boolean(("visible" in _arg1));
}
override public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
if (!_ignoreVisible){
_target.visible = Boolean(!((_target.alpha == 0)));
};
}
}
}//package com.greensock.plugins
Section 69
//BevelFilterPlugin (com.greensock.plugins.BevelFilterPlugin)
package com.greensock.plugins {
import com.greensock.*;
import flash.filters.*;
public class BevelFilterPlugin extends FilterPlugin {
public static const API:Number = 1;
private static var _propNames:Array = ["distance", "angle", "highlightColor", "highlightAlpha", "shadowColor", "shadowAlpha", "blurX", "blurY", "strength", "quality"];
public function BevelFilterPlugin(){
this.propName = "bevelFilter";
this.overwriteProps = ["bevelFilter"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_type = BevelFilter;
initFilter(_arg2, new BevelFilter(0, 0, 0xFFFFFF, 0.5, 0, 0.5, 2, 2, 0, ((_arg2.quality) || (2))), _propNames);
return (true);
}
}
}//package com.greensock.plugins
Section 70
//BezierPlugin (com.greensock.plugins.BezierPlugin)
package com.greensock.plugins {
import com.greensock.*;
public class BezierPlugin extends TweenPlugin {
protected var _target:Object;
protected var _orientData:Array;
protected var _orient:Boolean;
protected var _future:Object;
protected var _beziers:Object;
public static const API:Number = 1;
protected static const _RAD2DEG:Number = 57.2957795130823;
public function BezierPlugin(){
_future = {};
super();
this.propName = "bezier";
this.overwriteProps = [];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (!(_arg2 is Array)){
return (false);
};
init(_arg3, (_arg2 as Array), false);
return (true);
}
protected function init(_arg1:TweenLite, _arg2:Array, _arg3:Boolean):void{
var _local6:int;
var _local7:String;
var _local8:Object;
_target = _arg1.target;
var _local4:Object = ((_arg1.vars.isTV)==true) ? _arg1.vars.exposedVars : _arg1.vars;
if (_local4.orientToBezier == true){
_orientData = [["x", "y", "rotation", 0, 0.01]];
_orient = true;
} else {
if ((_local4.orientToBezier is Array)){
_orientData = _local4.orientToBezier;
_orient = true;
};
};
var _local5:Object = {};
_local6 = 0;
while (_local6 < _arg2.length) {
for (_local7 in _arg2[_local6]) {
if (_local5[_local7] == undefined){
_local5[_local7] = [_arg1.target[_local7]];
};
if (typeof(_arg2[_local6][_local7]) == "number"){
_local5[_local7].push(_arg2[_local6][_local7]);
} else {
_local5[_local7].push((_arg1.target[_local7] + Number(_arg2[_local6][_local7])));
};
};
_local6 = (_local6 + 1);
};
for (_local7 in _local5) {
this.overwriteProps[this.overwriteProps.length] = _local7;
if (_local4[_local7] != undefined){
if (typeof(_local4[_local7]) == "number"){
_local5[_local7].push(_local4[_local7]);
} else {
_local5[_local7].push((_arg1.target[_local7] + Number(_local4[_local7])));
};
_local8 = {};
_local8[_local7] = true;
_arg1.killVars(_local8, false);
delete _local4[_local7];
};
};
_beziers = parseBeziers(_local5, _arg3);
}
override public function killProps(_arg1:Object):void{
var _local2:String;
for (_local2 in _beziers) {
if ((_local2 in _arg1)){
delete _beziers[_local2];
};
};
super.killProps(_arg1);
}
override public function set changeFactor(_arg1:Number):void{
var _local2:int;
var _local3:String;
var _local4:Object;
var _local5:Number;
var _local6:int;
var _local7:Number;
var _local8:Object;
var _local9:Number;
var _local10:Number;
var _local11:Array;
var _local12:Number;
var _local13:Object;
var _local14:Boolean;
_changeFactor = _arg1;
if (_arg1 == 1){
for (_local3 in _beziers) {
_local2 = (_beziers[_local3].length - 1);
_target[_local3] = _beziers[_local3][_local2][2];
};
} else {
for (_local3 in _beziers) {
_local6 = _beziers[_local3].length;
if (_arg1 < 0){
_local2 = 0;
} else {
if (_arg1 >= 1){
_local2 = (_local6 - 1);
} else {
_local2 = ((_local6 * _arg1) >> 0);
};
};
_local5 = ((_arg1 - (_local2 * (1 / _local6))) * _local6);
_local4 = _beziers[_local3][_local2];
if (this.round){
_local7 = (_local4[0] + (_local5 * (((2 * (1 - _local5)) * (_local4[1] - _local4[0])) + (_local5 * (_local4[2] - _local4[0])))));
if (_local7 > 0){
_target[_local3] = ((_local7 + 0.5) >> 0);
} else {
_target[_local3] = ((_local7 - 0.5) >> 0);
};
} else {
_target[_local3] = (_local4[0] + (_local5 * (((2 * (1 - _local5)) * (_local4[1] - _local4[0])) + (_local5 * (_local4[2] - _local4[0])))));
};
};
};
if (_orient){
_local2 = _orientData.length;
_local8 = {};
while (_local2--) {
_local11 = _orientData[_local2];
_local8[_local11[0]] = _target[_local11[0]];
_local8[_local11[1]] = _target[_local11[1]];
};
_local13 = _target;
_local14 = this.round;
_target = _future;
this.round = false;
_orient = false;
_local2 = _orientData.length;
while (_local2--) {
_local11 = _orientData[_local2];
this.changeFactor = (_arg1 + ((_local11[4]) || (0.01)));
_local12 = ((_local11[3]) || (0));
_local9 = (_future[_local11[0]] - _local8[_local11[0]]);
_local10 = (_future[_local11[1]] - _local8[_local11[1]]);
_local13[_local11[2]] = ((Math.atan2(_local10, _local9) * _RAD2DEG) + _local12);
};
_target = _local13;
this.round = _local14;
_orient = true;
};
}
public static function parseBeziers(_arg1:Object, _arg2:Boolean=false):Object{
var _local3:int;
var _local4:Array;
var _local5:Object;
var _local6:String;
var _local7:Object = {};
if (_arg2){
for (_local6 in _arg1) {
_local4 = _arg1[_local6];
_local5 = [];
_local7[_local6] = _local5;
if (_local4.length > 2){
_local5[_local5.length] = [_local4[0], (_local4[1] - ((_local4[2] - _local4[0]) / 4)), _local4[1]];
_local3 = 1;
while (_local3 < (_local4.length - 1)) {
_local5[_local5.length] = [_local4[_local3], (_local4[_local3] + (_local4[_local3] - _local5[(_local3 - 1)][1])), _local4[(_local3 + 1)]];
_local3 = (_local3 + 1);
};
} else {
_local5[_local5.length] = [_local4[0], ((_local4[0] + _local4[1]) / 2), _local4[1]];
};
};
} else {
for (_local6 in _arg1) {
_local4 = _arg1[_local6];
_local5 = [];
_local7[_local6] = _local5;
if (_local4.length > 3){
_local5[_local5.length] = [_local4[0], _local4[1], ((_local4[1] + _local4[2]) / 2)];
_local3 = 2;
while (_local3 < (_local4.length - 2)) {
_local5[_local5.length] = [_local5[(_local3 - 2)][2], _local4[_local3], ((_local4[_local3] + _local4[(_local3 + 1)]) / 2)];
_local3 = (_local3 + 1);
};
_local5[_local5.length] = [_local5[(_local5.length - 1)][2], _local4[(_local4.length - 2)], _local4[(_local4.length - 1)]];
} else {
if (_local4.length == 3){
_local5[_local5.length] = [_local4[0], _local4[1], _local4[2]];
} else {
if (_local4.length == 2){
_local5[_local5.length] = [_local4[0], ((_local4[0] + _local4[1]) / 2), _local4[1]];
};
};
};
};
};
return (_local7);
}
}
}//package com.greensock.plugins
Section 71
//BezierThroughPlugin (com.greensock.plugins.BezierThroughPlugin)
package com.greensock.plugins {
import com.greensock.*;
public class BezierThroughPlugin extends BezierPlugin {
public static const API:Number = 1;
public function BezierThroughPlugin(){
this.propName = "bezierThrough";
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (!(_arg2 is Array)){
return (false);
};
init(_arg3, (_arg2 as Array), true);
return (true);
}
}
}//package com.greensock.plugins
Section 72
//BlurFilterPlugin (com.greensock.plugins.BlurFilterPlugin)
package com.greensock.plugins {
import com.greensock.*;
import flash.filters.*;
public class BlurFilterPlugin extends FilterPlugin {
public static const API:Number = 1;
private static var _propNames:Array = ["blurX", "blurY", "quality"];
public function BlurFilterPlugin(){
this.propName = "blurFilter";
this.overwriteProps = ["blurFilter"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_type = BlurFilter;
initFilter(_arg2, new BlurFilter(0, 0, ((_arg2.quality) || (2))), _propNames);
return (true);
}
}
}//package com.greensock.plugins
Section 73
//ColorMatrixFilterPlugin (com.greensock.plugins.ColorMatrixFilterPlugin)
package com.greensock.plugins {
import com.greensock.*;
import flash.filters.*;
public class ColorMatrixFilterPlugin extends FilterPlugin {
protected var _matrix:Array;
protected var _matrixTween:EndArrayPlugin;
public static const API:Number = 1;
private static var _propNames:Array = [];
protected static var _idMatrix:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
protected static var _lumR:Number = 0.212671;
protected static var _lumG:Number = 0.71516;
protected static var _lumB:Number = 0.072169;
public function ColorMatrixFilterPlugin(){
this.propName = "colorMatrixFilter";
this.overwriteProps = ["colorMatrixFilter"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_type = ColorMatrixFilter;
var _local4:Object = _arg2;
initFilter({remove:_arg2.remove, index:_arg2.index, addFilter:_arg2.addFilter}, new ColorMatrixFilter(_idMatrix.slice()), _propNames);
_matrix = ColorMatrixFilter(_filter).matrix;
var _local5:Array = [];
if (((!((_local4.matrix == null))) && ((_local4.matrix is Array)))){
_local5 = _local4.matrix;
} else {
if (_local4.relative == true){
_local5 = _matrix.slice();
} else {
_local5 = _idMatrix.slice();
};
_local5 = setBrightness(_local5, _local4.brightness);
_local5 = setContrast(_local5, _local4.contrast);
_local5 = setHue(_local5, _local4.hue);
_local5 = setSaturation(_local5, _local4.saturation);
_local5 = setThreshold(_local5, _local4.threshold);
if (!isNaN(_local4.colorize)){
_local5 = colorize(_local5, _local4.colorize, _local4.amount);
};
};
_matrixTween = new EndArrayPlugin();
_matrixTween.init(_matrix, _local5);
return (true);
}
override public function set changeFactor(_arg1:Number):void{
_matrixTween.changeFactor = _arg1;
ColorMatrixFilter(_filter).matrix = _matrix;
super.changeFactor = _arg1;
}
public static function colorize(_arg1:Array, _arg2:Number, _arg3:Number=1):Array{
if (isNaN(_arg2)){
return (_arg1);
};
if (isNaN(_arg3)){
_arg3 = 1;
};
var _local4:Number = (((_arg2 >> 16) & 0xFF) / 0xFF);
var _local5:Number = (((_arg2 >> 8) & 0xFF) / 0xFF);
var _local6:Number = ((_arg2 & 0xFF) / 0xFF);
var _local7:Number = (1 - _arg3);
var _local8:Array = [(_local7 + ((_arg3 * _local4) * _lumR)), ((_arg3 * _local4) * _lumG), ((_arg3 * _local4) * _lumB), 0, 0, ((_arg3 * _local5) * _lumR), (_local7 + ((_arg3 * _local5) * _lumG)), ((_arg3 * _local5) * _lumB), 0, 0, ((_arg3 * _local6) * _lumR), ((_arg3 * _local6) * _lumG), (_local7 + ((_arg3 * _local6) * _lumB)), 0, 0, 0, 0, 0, 1, 0];
return (applyMatrix(_local8, _arg1));
}
public static function setThreshold(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
var _local3:Array = [(_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), 0, 0, 0, 1, 0];
return (applyMatrix(_local3, _arg1));
}
public static function setHue(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = (_arg2 * (Math.PI / 180));
var _local3:Number = Math.cos(_arg2);
var _local4:Number = Math.sin(_arg2);
var _local5:Array = [((_lumR + (_local3 * (1 - _lumR))) + (_local4 * -(_lumR))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * -(_lumG))), ((_lumB + (_local3 * -(_lumB))) + (_local4 * (1 - _lumB))), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * 0.143)), ((_lumG + (_local3 * (1 - _lumG))) + (_local4 * 0.14)), ((_lumB + (_local3 * -(_lumB))) + (_local4 * -0.283)), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * -((1 - _lumR)))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * _lumG)), ((_lumB + (_local3 * (1 - _lumB))) + (_local4 * _lumB)), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1];
return (applyMatrix(_local5, _arg1));
}
public static function setBrightness(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = ((_arg2 * 100) - 100);
return (applyMatrix([1, 0, 0, 0, _arg2, 0, 1, 0, 0, _arg2, 0, 0, 1, 0, _arg2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1], _arg1));
}
public static function setSaturation(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
var _local3:Number = (1 - _arg2);
var _local4:Number = (_local3 * _lumR);
var _local5:Number = (_local3 * _lumG);
var _local6:Number = (_local3 * _lumB);
var _local7:Array = [(_local4 + _arg2), _local5, _local6, 0, 0, _local4, (_local5 + _arg2), _local6, 0, 0, _local4, _local5, (_local6 + _arg2), 0, 0, 0, 0, 0, 1, 0];
return (applyMatrix(_local7, _arg1));
}
public static function setContrast(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = (_arg2 + 0.01);
var _local3:Array = [_arg2, 0, 0, 0, (128 * (1 - _arg2)), 0, _arg2, 0, 0, (128 * (1 - _arg2)), 0, 0, _arg2, 0, (128 * (1 - _arg2)), 0, 0, 0, 1, 0];
return (applyMatrix(_local3, _arg1));
}
public static function applyMatrix(_arg1:Array, _arg2:Array):Array{
var _local6:int;
var _local7:int;
if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){
return (_arg2);
};
var _local3:Array = [];
var _local4:int;
var _local5:int;
_local6 = 0;
while (_local6 < 4) {
_local7 = 0;
while (_local7 < 5) {
if (_local7 == 4){
_local5 = _arg1[(_local4 + 4)];
} else {
_local5 = 0;
};
_local3[(_local4 + _local7)] = (((((_arg1[_local4] * _arg2[_local7]) + (_arg1[(_local4 + 1)] * _arg2[(_local7 + 5)])) + (_arg1[(_local4 + 2)] * _arg2[(_local7 + 10)])) + (_arg1[(_local4 + 3)] * _arg2[(_local7 + 15)])) + _local5);
_local7 = (_local7 + 1);
};
_local4 = (_local4 + 5);
_local6 = (_local6 + 1);
};
return (_local3);
}
}
}//package com.greensock.plugins
Section 74
//ColorTransformPlugin (com.greensock.plugins.ColorTransformPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.geom.*;
public class ColorTransformPlugin extends TintPlugin {
public static const API:Number = 1;
public function ColorTransformPlugin(){
this.propName = "colorTransform";
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var _local4:ColorTransform;
var _local6:String;
var _local7:Number;
var _local5:ColorTransform = new ColorTransform();
if ((_arg1 is DisplayObject)){
_transform = DisplayObject(_arg1).transform;
_local4 = _transform.colorTransform;
} else {
if ((_arg1 is ColorTransform)){
_local4 = (_arg1 as ColorTransform);
} else {
return (false);
};
};
_local5.concat(_local4);
for (_local6 in _arg2) {
if ((((_local6 == "tint")) || ((_local6 == "color")))){
if (_arg2[_local6] != null){
_local5.color = int(_arg2[_local6]);
};
} else {
if ((((((_local6 == "tintAmount")) || ((_local6 == "exposure")))) || ((_local6 == "brightness")))){
} else {
_local5[_local6] = _arg2[_local6];
};
};
};
if (!isNaN(_arg2.tintAmount)){
_local7 = (_arg2.tintAmount / (1 - (((_local5.redMultiplier + _local5.greenMultiplier) + _local5.blueMultiplier) / 3)));
_local5.redOffset = (_local5.redOffset * _local7);
_local5.greenOffset = (_local5.greenOffset * _local7);
_local5.blueOffset = (_local5.blueOffset * _local7);
_local5.redMultiplier = (_local5.greenMultiplier = (_local5.blueMultiplier = (1 - _arg2.tintAmount)));
} else {
if (!isNaN(_arg2.exposure)){
_local5.redOffset = (_local5.greenOffset = (_local5.blueOffset = (0xFF * (_arg2.exposure - 1))));
_local5.redMultiplier = (_local5.greenMultiplier = (_local5.blueMultiplier = 1));
} else {
if (!isNaN(_arg2.brightness)){
_local5.redOffset = (_local5.greenOffset = (_local5.blueOffset = Math.max(0, ((_arg2.brightness - 1) * 0xFF))));
_local5.redMultiplier = (_local5.greenMultiplier = (_local5.blueMultiplier = (1 - Math.abs((_arg2.brightness - 1)))));
};
};
};
_ignoreAlpha = Boolean(((!((_arg3.vars.alpha == undefined))) && ((_arg2.alphaMultiplier == undefined))));
init(_local4, _local5);
return (true);
}
}
}//package com.greensock.plugins
Section 75
//DropShadowFilterPlugin (com.greensock.plugins.DropShadowFilterPlugin)
package com.greensock.plugins {
import com.greensock.*;
import flash.filters.*;
public class DropShadowFilterPlugin extends FilterPlugin {
public static const API:Number = 1;
private static var _propNames:Array = ["distance", "angle", "color", "alpha", "blurX", "blurY", "strength", "quality", "inner", "knockout", "hideObject"];
public function DropShadowFilterPlugin(){
this.propName = "dropShadowFilter";
this.overwriteProps = ["dropShadowFilter"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_type = DropShadowFilter;
initFilter(_arg2, new DropShadowFilter(0, 45, 0, 0, 0, 0, 1, ((_arg2.quality) || (2)), _arg2.inner, _arg2.knockout, _arg2.hideObject), _propNames);
return (true);
}
}
}//package com.greensock.plugins
Section 76
//DynamicPropsPlugin (com.greensock.plugins.DynamicPropsPlugin)
package com.greensock.plugins {
import com.greensock.*;
import com.greensock.core.*;
public class DynamicPropsPlugin extends TweenPlugin {
protected var _target:Object;
protected var _props:Array;
protected var _lastFactor:Number;
public static const API:Number = 1;
public function DynamicPropsPlugin(){
this.propName = "dynamicProps";
this.overwriteProps = [];
_props = [];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var _local5:String;
_target = _arg3.target;
var _local4:Object = ((_arg2.params) || ({}));
_lastFactor = 0;
for (_local5 in _arg2) {
if (_local5 != "params"){
_props[_props.length] = new DynamicProperty(_local5, (_arg2[_local5] as Function), _local4[_local5]);
this.overwriteProps[this.overwriteProps.length] = _local5;
};
};
return (true);
}
override public function killProps(_arg1:Object):void{
var _local2:int = _props.length;
while (_local2--) {
if ((_props[_local2].name in _arg1)){
_props.splice(_local2, 1);
};
};
super.killProps(_arg1);
}
override public function set changeFactor(_arg1:Number):void{
var _local2:int;
var _local3:DynamicProperty;
var _local4:Number;
var _local5:Number;
if (_arg1 != _lastFactor){
_local2 = _props.length;
_local5 = ((((_arg1 == 1)) || ((_lastFactor == 1)))) ? 0 : (1 - ((_arg1 - _lastFactor) / (1 - _lastFactor)));
while (_local2--) {
_local3 = _props[_local2];
_local4 = (_local3.params) ? _local3.getter.apply(null, _local3.params) : _local3.getter();
_target[_local3.name] = (_local4 - ((_local4 - _target[_local3.name]) * _local5));
};
_lastFactor = _arg1;
};
}
}
}//package com.greensock.plugins
class DynamicProperty {
public var name:String;
public var getter:Function;
public var params:Array;
private function DynamicProperty(_arg1:String, _arg2:Function, _arg3:Array){
this.name = _arg1;
this.getter = _arg2;
this.params = _arg3;
}
}
Section 77
//EndArrayPlugin (com.greensock.plugins.EndArrayPlugin)
package com.greensock.plugins {
import com.greensock.*;
public class EndArrayPlugin extends TweenPlugin {
protected var _a:Array;
protected var _info:Array;
public static const API:Number = 1;
public function EndArrayPlugin(){
_info = [];
super();
this.propName = "endArray";
this.overwriteProps = ["endArray"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){
return (false);
};
init((_arg1 as Array), _arg2);
return (true);
}
public function init(_arg1:Array, _arg2:Array):void{
_a = _arg1;
var _local3:int = _arg2.length;
while (_local3--) {
if (((!((_arg1[_local3] == _arg2[_local3]))) && (!((_arg1[_local3] == null))))){
_info[_info.length] = new ArrayTweenInfo(_local3, _a[_local3], (_arg2[_local3] - _a[_local3]));
};
};
}
override public function set changeFactor(_arg1:Number):void{
var _local3:ArrayTweenInfo;
var _local4:Number;
var _local2:int = _info.length;
if (this.round){
while (_local2--) {
_local3 = _info[_local2];
_local4 = (_local3.start + (_local3.change * _arg1));
if (_local4 > 0){
_a[_local3.index] = ((_local4 + 0.5) >> 0);
} else {
_a[_local3.index] = ((_local4 - 0.5) >> 0);
};
};
} else {
while (_local2--) {
_local3 = _info[_local2];
_a[_local3.index] = (_local3.start + (_local3.change * _arg1));
};
};
}
}
}//package com.greensock.plugins
class ArrayTweenInfo {
public var index:uint;
public var start:Number;
public var change:Number;
private function ArrayTweenInfo(_arg1:uint, _arg2:Number, _arg3:Number){
this.index = _arg1;
this.start = _arg2;
this.change = _arg3;
}
}
Section 78
//FilterPlugin (com.greensock.plugins.FilterPlugin)
package com.greensock.plugins {
import com.greensock.core.*;
import flash.filters.*;
public class FilterPlugin extends TweenPlugin {
protected var _target:Object;
protected var _type:Class;
protected var _filter:BitmapFilter;
protected var _index:int;
protected var _remove:Boolean;
public static const VERSION:Number = 2.03;
public static const API:Number = 1;
protected function initFilter(_arg1:Object, _arg2:BitmapFilter, _arg3:Array):void{
var _local5:String;
var _local6:int;
var _local7:HexColorsPlugin;
var _local4:Array = _target.filters;
var _local8:Object = ((_arg1 is BitmapFilter)) ? {} : _arg1;
_index = -1;
if (_local8.index != null){
_index = _local8.index;
} else {
_local6 = _local4.length;
while (_local6--) {
if ((_local4[_local6] is _type)){
_index = _local6;
break;
};
};
};
if ((((((_index == -1)) || ((_local4[_index] == null)))) || ((_local8.addFilter == true)))){
_index = ((_local8.index)!=null) ? _local8.index : _local4.length;
_local4[_index] = _arg2;
_target.filters = _local4;
};
_filter = _local4[_index];
if (_local8.remove == true){
_remove = true;
this.onComplete = onCompleteTween;
};
_local6 = _arg3.length;
while (_local6--) {
_local5 = _arg3[_local6];
if ((((_local5 in _arg1)) && (!((_filter[_local5] == _arg1[_local5]))))){
if ((((((_local5 == "color")) || ((_local5 == "highlightColor")))) || ((_local5 == "shadowColor")))){
_local7 = new HexColorsPlugin();
_local7.initColor(_filter, _local5, _filter[_local5], _arg1[_local5]);
_tweens[_tweens.length] = new PropTween(_local7, "changeFactor", 0, 1, _local5, false);
} else {
if ((((((((_local5 == "quality")) || ((_local5 == "inner")))) || ((_local5 == "knockout")))) || ((_local5 == "hideObject")))){
_filter[_local5] = _arg1[_local5];
} else {
addTween(_filter, _local5, _filter[_local5], _arg1[_local5], _local5);
};
};
};
};
}
public function onCompleteTween():void{
var _local1:Array;
var _local2:int;
if (_remove){
_local1 = _target.filters;
if (!(_local1[_index] is _type)){
_local2 = _local1.length;
while (_local2--) {
if ((_local1[_local2] is _type)){
_local1.splice(_local2, 1);
break;
};
};
} else {
_local1.splice(_index, 1);
};
_target.filters = _local1;
};
}
override public function set changeFactor(_arg1:Number):void{
var _local3:PropTween;
var _local2:int = _tweens.length;
var _local4:Array = _target.filters;
while (_local2--) {
_local3 = _tweens[_local2];
_local3.target[_local3.property] = (_local3.start + (_local3.change * _arg1));
};
if (!(_local4[_index] is _type)){
_local2 = (_index = _local4.length);
while (_local2--) {
if ((_local4[_local2] is _type)){
_index = _local2;
break;
};
};
};
_local4[_index] = _filter;
_target.filters = _local4;
}
}
}//package com.greensock.plugins
Section 79
//FrameLabelPlugin (com.greensock.plugins.FrameLabelPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class FrameLabelPlugin extends FramePlugin {
public static const API:Number = 1;
public function FrameLabelPlugin(){
this.propName = "frameLabel";
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if ((!(_arg3.target) is MovieClip)){
return (false);
};
_target = (_arg1 as MovieClip);
this.frame = _target.currentFrame;
var _local4:Array = _target.currentLabels;
var _local5:String = _arg2;
var _local6:int = _target.currentFrame;
var _local7:int = _local4.length;
while (_local7--) {
if (_local4[_local7].name == _local5){
_local6 = _local4[_local7].frame;
break;
};
};
if (this.frame != _local6){
addTween(this, "frame", this.frame, _local6, "frame");
};
return (true);
}
}
}//package com.greensock.plugins
Section 80
//FramePlugin (com.greensock.plugins.FramePlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class FramePlugin extends TweenPlugin {
public var frame:int;
protected var _target:MovieClip;
public static const API:Number = 1;
public function FramePlugin(){
this.propName = "frame";
this.overwriteProps = ["frame", "frameLabel"];
this.round = true;
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (((!((_arg1 is MovieClip))) || (isNaN(_arg2)))){
return (false);
};
_target = (_arg1 as MovieClip);
this.frame = _target.currentFrame;
addTween(this, "frame", this.frame, _arg2, "frame");
return (true);
}
override public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
_target.gotoAndStop(this.frame);
}
}
}//package com.greensock.plugins
Section 81
//GlowFilterPlugin (com.greensock.plugins.GlowFilterPlugin)
package com.greensock.plugins {
import com.greensock.*;
import flash.filters.*;
public class GlowFilterPlugin extends FilterPlugin {
public static const API:Number = 1;
private static var _propNames:Array = ["color", "alpha", "blurX", "blurY", "strength", "quality", "inner", "knockout"];
public function GlowFilterPlugin(){
this.propName = "glowFilter";
this.overwriteProps = ["glowFilter"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_type = GlowFilter;
initFilter(_arg2, new GlowFilter(0xFFFFFF, 0, 0, 0, ((_arg2.strength) || (1)), ((_arg2.quality) || (2)), _arg2.inner, _arg2.knockout), _propNames);
return (true);
}
}
}//package com.greensock.plugins
Section 82
//HexColorsPlugin (com.greensock.plugins.HexColorsPlugin)
package com.greensock.plugins {
import com.greensock.*;
public class HexColorsPlugin extends TweenPlugin {
protected var _colors:Array;
public static const API:Number = 1;
public function HexColorsPlugin(){
this.propName = "hexColors";
this.overwriteProps = [];
_colors = [];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var _local4:String;
for (_local4 in _arg2) {
initColor(_arg1, _local4, uint(_arg1[_local4]), uint(_arg2[_local4]));
};
return (true);
}
public function initColor(_arg1:Object, _arg2:String, _arg3:uint, _arg4:uint):void{
var _local5:Number;
var _local6:Number;
var _local7:Number;
if (_arg3 != _arg4){
_local5 = (_arg3 >> 16);
_local6 = ((_arg3 >> 8) & 0xFF);
_local7 = (_arg3 & 0xFF);
_colors[_colors.length] = [_arg1, _arg2, _local5, ((_arg4 >> 16) - _local5), _local6, (((_arg4 >> 8) & 0xFF) - _local6), _local7, ((_arg4 & 0xFF) - _local7)];
this.overwriteProps[this.overwriteProps.length] = _arg2;
};
}
override public function killProps(_arg1:Object):void{
var _local2:int = (_colors.length - 1);
while (_local2 > -1) {
if (_arg1[_colors[_local2][1]] != undefined){
_colors.splice(_local2, 1);
};
_local2--;
};
super.killProps(_arg1);
}
override public function set changeFactor(_arg1:Number):void{
var _local3:Array;
var _local2:int = _colors.length;
while (--_local2 > -1) {
_local3 = _colors[_local2];
_local3[0][_local3[1]] = ((((_local3[2] + (_arg1 * _local3[3])) << 16) | ((_local3[4] + (_arg1 * _local3[5])) << 8)) | (_local3[6] + (_arg1 * _local3[7])));
};
}
}
}//package com.greensock.plugins
Section 83
//MotionBlurPlugin (com.greensock.plugins.MotionBlurPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.geom.*;
import com.greensock.core.*;
import flash.filters.*;
import flash.utils.*;
public class MotionBlurPlugin extends TweenPlugin {
protected var _target:DisplayObject;
protected var _time:Number;
protected var _xCurrent:Number;
protected var _yCurrent:Number;
protected var _bd:BitmapData;
protected var _bitmap:Bitmap;
protected var _strength:Number;// = 0.05
protected var _tween:TweenLite;
protected var _blur:BlurFilter;
protected var _matrix:Matrix;
protected var _sprite:Sprite;
protected var _rect:Rectangle;
protected var _angle:Number;
protected var _alpha:Number;
protected var _xRef:Number;
protected var _yRef:Number;
protected var _mask:DisplayObject;
public static const API:Number = 1;
private static const _DEG2RAD:Number = 0.0174532925199433;
private static const _RAD2DEG:Number = 57.2957795130823;
private static const _point:Point = new Point(0, 0);
private static const _ct:ColorTransform = new ColorTransform();
private static var _classInitted:Boolean;
private static var _isFlex:Boolean;
public function MotionBlurPlugin(){
_blur = new BlurFilter(0, 0, 2);
_matrix = new Matrix();
super();
this.propName = "motionBlur";
this.overwriteProps = ["motionBlur"];
this.onComplete = disable;
this.onDisable = onTweenDisable;
this.priority = -1;
this.activeDisable = true;
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var x:Number;
var y:Number;
var target = _arg1;
var value = _arg2;
var tween = _arg3;
if (!(target is DisplayObject)){
throw (new Error("motionBlur tweens only work for DisplayObjects."));
};
if (value == false){
_strength = 0;
} else {
if (typeof(value) == "object"){
_strength = (((value.strength) || (1)) * 0.05);
_blur.quality = ((int(value.quality)) || (2));
};
};
if (!_classInitted){
try {
_isFlex = Boolean(getDefinitionByName("mx.managers.SystemManager"));
} catch(e:Error) {
_isFlex = false;
};
_classInitted = true;
};
_target = (target as DisplayObject);
_tween = tween;
_time = 0;
_xCurrent = (_xRef = _target.x);
_yCurrent = (_yRef = _target.y);
_alpha = _target.alpha;
if (((((((("x" in _tween.propTweenLookup)) && (("y" in _tween.propTweenLookup)))) && (!(_tween.propTweenLookup.x.isPlugin)))) && (!(_tween.propTweenLookup.y.isPlugin)))){
_angle = (180 - (Math.atan2(_tween.propTweenLookup.y.change, _tween.propTweenLookup.x.change) * _RAD2DEG));
} else {
if (((!((_tween.vars.x == null))) || (!((_tween.vars.y == null))))){
x = ((_tween.vars.x) || (_target.x));
y = ((_tween.vars.y) || (_target.y));
_angle = (180 - (Math.atan2((y - _target.y), (x - _target.x)) * _RAD2DEG));
} else {
_angle = 0;
};
};
_bd = new BitmapData((_target.width + 30), (_target.height + 30), true, 0xFFFFFF);
_bitmap = new Bitmap(_bd);
_bitmap.smoothing = Boolean((_blur.quality > 1));
_sprite = (_isFlex) ? new (getDefinitionByName("mx.core.UIComponent")) : new Sprite();
_sprite.mouseEnabled = (_sprite.mouseChildren = false);
_sprite.addChild(_bitmap);
_rect = new Rectangle(0, 0, _bd.width, _bd.height);
if (_target.mask){
_mask = _target.mask;
};
return (true);
}
private function disable():void{
if (_strength != 0){
_target.alpha = _alpha;
};
if (_sprite.parent){
_sprite.parent.removeChild(_sprite);
};
if (_mask){
_target.mask = _mask;
};
}
private function onTweenDisable():void{
if (_changeFactor != 1){
disable();
};
}
override public function set changeFactor(_arg1:Number):void{
var _local2:Number = (_target.x - _xCurrent);
var _local3:Number = (_target.y - _yCurrent);
var _local4:Number = (_target.x - _xRef);
var _local5:Number = (_target.y - _yRef);
_changeFactor = _arg1;
if ((((((((_local4 > 2)) || ((_local5 > 2)))) || ((_local4 < -2)))) || ((_local5 < -2)))){
_angle = (180 - (Math.atan2(_local3, _local2) * _RAD2DEG));
_xRef = _target.x;
_yRef = _target.y;
};
var _local6:Number = (_tween.cachedTime - _time);
if (_local6 < 0){
_local6 = -(_local6);
};
_blur.blurX = ((Math.sqrt(((_local2 * _local2) + (_local3 * _local3))) * _strength) / _local6);
_xCurrent = _target.x;
_yCurrent = _target.y;
_time = _tween.cachedTime;
if ((((((_blur.blurX < 1)) || ((_target.parent == null)))) || ((_arg1 == 0)))){
if (((!((_sprite.parent == null))) || ((_arg1 == 0)))){
_xRef = _target.x;
_yRef = _target.y;
disable();
};
return;
};
if (((!((_sprite.parent == _target.parent))) && (_target.parent))){
_target.parent.addChildAt(_sprite, _target.parent.getChildIndex(_target));
if (_mask){
_sprite.mask = _mask;
};
};
_target.x = (_target.y = 20000);
_target.rotation = (_target.rotation + _angle);
var _local7:Rectangle = _target.getBounds(_target.parent);
if ((_local7.width + (_blur.blurX * 2)) > 2870){
_blur.blurX = ((_local7.width)>=2870) ? 0 : ((2870 - _local7.width) * 0.5);
};
if ((((_local7.height > _bd.height)) || (((_local7.width + (_blur.blurX * 2)) > _bd.width)))){
_bd = (_bitmap.bitmapData = new BitmapData(((_local7.width + (_blur.blurX * 2)) + 10), (_local7.height + 10), true, 0xFFFFFF));
_rect = new Rectangle(0, 0, _bd.width, _bd.height);
_bitmap.smoothing = Boolean((_blur.quality > 1));
};
_matrix.tx = (_blur.blurX - _local7.x);
_matrix.ty = -(_local7.y);
_bitmap.x = ((_local7.x - _target.x) - _blur.blurX);
_bitmap.y = (_local7.y - _target.y);
_local7.x = (_local7.y = 0);
_local7.width = (_local7.width + (_blur.blurX * 2));
if (_target.alpha == 0.00390625){
_target.alpha = _alpha;
} else {
_alpha = _target.alpha;
};
_bd.fillRect(_rect, 0xFFFFFF);
_bd.draw(_target.parent, _matrix, _ct, "normal", _local7, Boolean((_blur.quality > 1)));
_bd.applyFilter(_bd, _local7, _point, _blur);
_sprite.rotation = -(_angle);
_target.rotation = (_target.rotation - _angle);
_target.x = (_sprite.x = _xCurrent);
_target.y = (_sprite.y = _yCurrent);
_target.alpha = 0.00390625;
}
}
}//package com.greensock.plugins
Section 84
//Physics2DPlugin (com.greensock.plugins.Physics2DPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import com.greensock.core.*;
public class Physics2DPlugin extends TweenPlugin {
protected var _tween:TweenLite;
protected var _target:DisplayObject;
protected var _x:Physics2DProp;
protected var _y:Physics2DProp;
protected var _skipX:Boolean;
protected var _skipY:Boolean;
protected var _friction:Number;// = 1
protected var _step:uint;
protected var _stepsPerTimeUnit:uint;// = 30
public static const API:Number = 1;
private static const _DEG2RAD:Number = 0.0174532925199433;
public function Physics2DPlugin(){
this.propName = "physics2D";
this.overwriteProps = ["x", "y"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (!(_arg1 is DisplayObject)){
trace("Tween Error: physics2D requires that the target be a DisplayObject.");
return (false);
};
_target = DisplayObject(_arg1);
_tween = _arg3;
_step = 0;
var _local4:SimpleTimeline = _tween.timeline;
while (_local4.timeline) {
_local4 = _local4.timeline;
};
if (_local4 == TweenLite.rootFramesTimeline){
_stepsPerTimeUnit = 1;
};
var _local5:Number = ((Number(_arg2.angle)) || (0));
var _local6:Number = ((Number(_arg2.velocity)) || (0));
var _local7:Number = ((Number(_arg2.acceleration)) || (0));
var _local8:Number = (((_arg2.accelerationAngle) || ((_arg2.accelerationAngle == 0)))) ? Number(_arg2.accelerationAngle) : _local5;
if (_arg2.gravity){
_local7 = Number(_arg2.gravity);
_local8 = 90;
};
_local5 = (_local5 * _DEG2RAD);
_local8 = (_local8 * _DEG2RAD);
if (_arg2.friction){
_friction = (1 - Number(_arg2.friction));
};
_x = new Physics2DProp(_target.x, (Math.cos(_local5) * _local6), (Math.cos(_local8) * _local7), _stepsPerTimeUnit);
_y = new Physics2DProp(_target.y, (Math.sin(_local5) * _local6), (Math.sin(_local8) * _local7), _stepsPerTimeUnit);
return (true);
}
override public function killProps(_arg1:Object):void{
if (("x" in _arg1)){
_skipX = true;
};
if (("y" in _arg1)){
_skipY = true;
};
super.killProps(_arg1);
}
override public function set changeFactor(_arg1:Number):void{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:int;
var _local7:Number;
var _local8:int;
var _local2:Number = _tween.cachedTime;
if (_friction == 1){
_local5 = ((_local2 * _local2) * 0.5);
_local3 = (_x.start + ((_x.velocity * _local2) + (_x.acceleration * _local5)));
_local4 = (_y.start + ((_y.velocity * _local2) + (_y.acceleration * _local5)));
} else {
_local6 = (int((_local2 * _stepsPerTimeUnit)) - _step);
_local7 = ((_local2 * _stepsPerTimeUnit) % 1);
if (_local6 >= 0){
_local8 = _local6;
while (_local8--) {
_x.v = (_x.v + _x.a);
_y.v = (_y.v + _y.a);
_x.v = (_x.v * _friction);
_y.v = (_y.v * _friction);
_x.value = (_x.value + _x.v);
_y.value = (_y.value + _y.v);
};
} else {
_local8 = -(_local6);
while (_local8--) {
_x.value = (_x.value - _x.v);
_y.value = (_y.value - _y.v);
_x.v = (_x.v / _friction);
_y.v = (_y.v / _friction);
_x.v = (_x.v - _x.a);
_y.v = (_y.v - _y.a);
};
};
_local3 = (_x.value + (_x.v * _local7));
_local4 = (_y.value + (_y.v * _local7));
_step = (_step + _local6);
};
if (this.round){
_local3 = ((_local3)>0) ? int((_local3 + 0.5)) : int((_local3 - 0.5));
_local4 = ((_local4)>0) ? int((_local4 + 0.5)) : int((_local4 - 0.5));
};
if (!_skipX){
_target.x = _local3;
};
if (!_skipY){
_target.y = _local4;
};
}
}
}//package com.greensock.plugins
class Physics2DProp {
public var start:Number;
public var velocity:Number;
public var v:Number;
public var a:Number;
public var value:Number;
public var acceleration:Number;
private function Physics2DProp(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:uint){
this.start = (this.value = _arg1);
this.velocity = _arg2;
this.v = (this.velocity / _arg4);
if (((_arg3) || ((_arg3 == 0)))){
this.acceleration = _arg3;
this.a = (this.acceleration / (_arg4 * _arg4));
} else {
this.acceleration = (this.a = 0);
};
}
}
Section 85
//PhysicsPropsPlugin (com.greensock.plugins.PhysicsPropsPlugin)
package com.greensock.plugins {
import com.greensock.*;
import com.greensock.core.*;
public class PhysicsPropsPlugin extends TweenPlugin {
protected var _tween:TweenLite;
protected var _target:Object;
protected var _props:Array;
protected var _hasFriction:Boolean;
protected var _step:uint;
protected var _stepsPerTimeUnit:uint;// = 30
public static const API:Number = 1;
public function PhysicsPropsPlugin(){
this.propName = "physicsProps";
this.overwriteProps = [];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var _local5:String;
var _local6:Object;
_target = _arg1;
_tween = _arg3;
_step = 0;
var _local4:SimpleTimeline = _tween.timeline;
while (_local4.timeline) {
_local4 = _local4.timeline;
};
if (_local4 == TweenLite.rootFramesTimeline){
_stepsPerTimeUnit = 1;
};
_props = [];
var _local7:uint;
for (_local5 in _arg2) {
_local6 = _arg2[_local5];
if (((_local6.velocity) || (_local6.acceleration))){
var _temp1 = _local7;
_local7 = (_local7 + 1);
var _local10 = _temp1;
_props[_local10] = new PhysicsProp(_local5, Number(_arg1[_local5]), _local6.velocity, _local6.acceleration, _local6.friction, _stepsPerTimeUnit);
this.overwriteProps[_local7] = _local5;
if (_local6.friction){
_hasFriction = true;
};
};
};
return (true);
}
override public function killProps(_arg1:Object):void{
var _local2:int = _props.length;
while (_local2--) {
if ((_props[_local2].property in _arg1)){
_props.splice(_local2, 1);
};
};
super.killProps(_arg1);
}
override public function set changeFactor(_arg1:Number):void{
var _local5:PhysicsProp;
var _local6:int;
var _local7:Number;
var _local8:int;
var _local9:Number;
var _local10:Number;
var _local2:int = _props.length;
var _local3:Number = _tween.cachedTime;
var _local4:Array = [];
if (_hasFriction){
_local6 = (int((_local3 * _stepsPerTimeUnit)) - _step);
_local7 = ((_local3 * _stepsPerTimeUnit) % 1);
if (_local6 >= 0){
while (_local2--) {
_local5 = _props[_local2];
_local8 = _local6;
while (_local8--) {
_local5.v = (_local5.v + _local5.a);
_local5.v = (_local5.v * _local5.friction);
_local5.value = (_local5.value + _local5.v);
};
_local4[_local2] = (_local5.value + (_local5.v * _local7));
};
} else {
while (_local2--) {
_local5 = _props[_local2];
_local8 = -(_local6);
while (_local8--) {
_local5.value = (_local5.value - _local5.v);
_local5.v = (_local5.v / _local5.friction);
_local5.v = (_local5.v - _local5.a);
};
_local4[_local2] = (_local5.value + (_local5.v * _local7));
};
};
_step = (_step + _local6);
} else {
_local9 = ((_local3 * _local3) * 0.5);
while (_local2--) {
_local5 = _props[_local2];
_local4[_local2] = (_local5.start + ((_local5.velocity * _local3) + (_local5.acceleration * _local9)));
};
};
_local2 = _props.length;
if (!this.round){
while (_local2--) {
_target[PhysicsProp(_props[_local2]).property] = Number(_local4[_local2]);
};
} else {
while (_local2--) {
_local10 = _local4[_local2];
_target[PhysicsProp(_props[_local2]).property] = ((_local10)>0) ? int((_local10 + 0.5)) : int((_local10 - 0.5));
};
};
}
}
}//package com.greensock.plugins
class PhysicsProp {
public var property:String;
public var start:Number;
public var velocity:Number;
public var acceleration:Number;
public var friction:Number;
public var v:Number;
public var a:Number;
public var value:Number;
private function PhysicsProp(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:uint){
this.property = _arg1;
this.start = (this.value = _arg2);
this.velocity = ((_arg3) || (0));
this.v = (this.velocity / _arg6);
if (((_arg4) || ((_arg4 == 0)))){
this.acceleration = _arg4;
this.a = (this.acceleration / (_arg6 * _arg6));
} else {
this.acceleration = (this.a = 0);
};
this.friction = (((_arg5) || ((_arg5 == 0)))) ? (1 - _arg5) : 1;
}
}
Section 86
//RemoveTintPlugin (com.greensock.plugins.RemoveTintPlugin)
package com.greensock.plugins {
public class RemoveTintPlugin extends TintPlugin {
public static const API:Number = 1;
public function RemoveTintPlugin(){
this.propName = "removeTint";
}
}
}//package com.greensock.plugins
Section 87
//RoundPropsPlugin (com.greensock.plugins.RoundPropsPlugin)
package com.greensock.plugins {
import com.greensock.*;
import com.greensock.core.*;
public class RoundPropsPlugin extends TweenPlugin {
protected var _tween:TweenLite;
public static const API:Number = 1;
public function RoundPropsPlugin(){
this.propName = "roundProps";
this.overwriteProps = ["roundProps"];
this.round = true;
this.priority = -1;
this.onInitAllProps = _initAllProps;
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_tween = _arg3;
this.overwriteProps = this.overwriteProps.concat((_arg2 as Array));
return (true);
}
protected function _initAllProps():void{
var _local1:String;
var _local2:String;
var _local4:PropTween;
var _local3:Array = _tween.vars.roundProps;
var _local5:int = _local3.length;
while (--_local5 > -1) {
_local1 = _local3[_local5];
_local4 = _tween.cachedPT1;
while (_local4) {
if (_local4.name == _local1){
if (_local4.isPlugin){
_local4.target.round = true;
} else {
add(_local4.target, _local1, _local4.start, _local4.change);
_removePropTween(_local4);
_tween.propTweenLookup[_local1] = _tween.propTweenLookup.roundProps;
};
} else {
if (((((_local4.isPlugin) && ((_local4.name == "_MULTIPLE_")))) && (!(_local4.target.round)))){
_local2 = ((" " + _local4.target.overwriteProps.join(" ")) + " ");
if (_local2.indexOf(((" " + _local1) + " ")) != -1){
_local4.target.round = true;
};
};
};
_local4 = _local4.nextNode;
};
};
}
protected function _removePropTween(_arg1:PropTween):void{
if (_arg1.nextNode){
_arg1.nextNode.prevNode = _arg1.prevNode;
};
if (_arg1.prevNode){
_arg1.prevNode.nextNode = _arg1.nextNode;
} else {
if (_tween.cachedPT1 == _arg1){
_tween.cachedPT1 = _arg1.nextNode;
};
};
if (((_arg1.isPlugin) && (_arg1.target.onDisable))){
_arg1.target.onDisable();
};
}
public function add(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number):void{
addTween(_arg1, _arg2, _arg3, (_arg3 + _arg4), _arg2);
this.overwriteProps[this.overwriteProps.length] = _arg2;
}
}
}//package com.greensock.plugins
Section 88
//ShortRotationPlugin (com.greensock.plugins.ShortRotationPlugin)
package com.greensock.plugins {
import com.greensock.*;
public class ShortRotationPlugin extends TweenPlugin {
public static const API:Number = 1;
public function ShortRotationPlugin(){
this.propName = "shortRotation";
this.overwriteProps = [];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var _local5:String;
if (typeof(_arg2) == "number"){
return (false);
};
var _local4:Boolean = Boolean((_arg2.useRadians == true));
for (_local5 in _arg2) {
if (_local5 != "useRadians"){
initRotation(_arg1, _local5, _arg1[_local5], ((typeof(_arg2[_local5]))=="number") ? Number(_arg2[_local5]) : (_arg1[_local5] + Number(_arg2[_local5])), _local4);
};
};
return (true);
}
public function initRotation(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Boolean=false):void{
var _local6:Number = (_arg5) ? (Math.PI * 2) : 360;
var _local7:Number = ((_arg4 - _arg3) % _local6);
if (((_arg4 - _arg3) % _local6) != (_local7 % (_local6 / 2))){
_local7 = ((_local7)<0) ? (_local7 + _local6) : (_local7 - _local6);
};
addTween(_arg1, _arg2, _arg3, (_arg3 + _local7), _arg2);
this.overwriteProps[this.overwriteProps.length] = _arg2;
}
}
}//package com.greensock.plugins
Section 89
//TintPlugin (com.greensock.plugins.TintPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.geom.*;
import com.greensock.core.*;
public class TintPlugin extends TweenPlugin {
protected var _transform:Transform;
protected var _ct:ColorTransform;
protected var _ignoreAlpha:Boolean;
public static const API:Number = 1;
protected static var _props:Array = ["redMultiplier", "greenMultiplier", "blueMultiplier", "alphaMultiplier", "redOffset", "greenOffset", "blueOffset", "alphaOffset"];
public function TintPlugin(){
this.propName = "tint";
this.overwriteProps = ["tint"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (!(_arg1 is DisplayObject)){
return (false);
};
var _local4:ColorTransform = new ColorTransform();
if (((!((_arg2 == null))) && (!((_arg3.vars.removeTint == true))))){
_local4.color = uint(_arg2);
};
_ignoreAlpha = true;
_transform = DisplayObject(_arg1).transform;
init(_transform.colorTransform, _local4);
return (true);
}
public function init(_arg1:ColorTransform, _arg2:ColorTransform):void{
var _local4:String;
_ct = _arg1;
var _local3:int = _props.length;
var _local5:int = _tweens.length;
while (_local3--) {
_local4 = _props[_local3];
if (_ct[_local4] != _arg2[_local4]){
var _temp1 = _local5;
_local5 = (_local5 + 1);
var _local6 = _temp1;
_tweens[_local6] = new PropTween(_ct, _local4, _ct[_local4], (_arg2[_local4] - _ct[_local4]), "tint", false);
};
};
}
override public function set changeFactor(_arg1:Number):void{
var _local2:ColorTransform;
updateTweens(_arg1);
if (_transform){
if (_ignoreAlpha){
_local2 = _transform.colorTransform;
_ct.alphaMultiplier = _local2.alphaMultiplier;
_ct.alphaOffset = _local2.alphaOffset;
};
_transform.colorTransform = _ct;
};
}
}
}//package com.greensock.plugins
Section 90
//TweenPlugin (com.greensock.plugins.TweenPlugin)
package com.greensock.plugins {
import com.greensock.*;
import com.greensock.core.*;
public class TweenPlugin {
public var propName:String;
public var overwriteProps:Array;
public var round:Boolean;
public var priority:int;// = 0
public var activeDisable:Boolean;
public var onInitAllProps:Function;
public var onComplete:Function;
public var onEnable:Function;
public var onDisable:Function;
protected var _tweens:Array;
protected var _changeFactor:Number;// = 0
public static const VERSION:Number = 1.4;
public static const API:Number = 1;
public function TweenPlugin(){
_tweens = [];
super();
}
public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
addTween(_arg1, this.propName, _arg1[this.propName], _arg2, this.propName);
return (true);
}
protected function addTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4, _arg5:String=null):void{
var _local6:Number;
if (_arg4 != null){
_local6 = ((typeof(_arg4))=="number") ? (Number(_arg4) - _arg3) : Number(_arg4);
if (_local6 != 0){
_tweens[_tweens.length] = new PropTween(_arg1, _arg2, _arg3, _local6, ((_arg5) || (_arg2)), false);
};
};
}
protected function updateTweens(_arg1:Number):void{
var _local3:PropTween;
var _local4:Number;
var _local2:int = _tweens.length;
if (this.round){
while (--_local2 > -1) {
_local3 = _tweens[_local2];
_local4 = (_local3.start + (_local3.change * _arg1));
if (_local4 > 0){
_local3.target[_local3.property] = ((_local4 + 0.5) >> 0);
} else {
_local3.target[_local3.property] = ((_local4 - 0.5) >> 0);
};
};
} else {
while (--_local2 > -1) {
_local3 = _tweens[_local2];
_local3.target[_local3.property] = (_local3.start + (_local3.change * _arg1));
};
};
}
public function get changeFactor():Number{
return (_changeFactor);
}
public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
_changeFactor = _arg1;
}
public function killProps(_arg1:Object):void{
var _local2:int = this.overwriteProps.length;
while (--_local2 > -1) {
if ((this.overwriteProps[_local2] in _arg1)){
this.overwriteProps.splice(_local2, 1);
};
};
_local2 = _tweens.length;
while (--_local2 > -1) {
if ((PropTween(_tweens[_local2]).name in _arg1)){
_tweens.splice(_local2, 1);
};
};
}
private static function onTweenEvent(_arg1:String, _arg2:TweenLite):Boolean{
var _local4:Boolean;
var _local5:Array;
var _local6:int;
var _local3:PropTween = _arg2.cachedPT1;
if (_arg1 == "onInitAllProps"){
_local5 = [];
_local6 = 0;
while (_local3) {
var _temp1 = _local6;
_local6 = (_local6 + 1);
var _local7 = _temp1;
_local5[_local7] = _local3;
_local3 = _local3.nextNode;
};
_local5.sortOn("priority", (Array.NUMERIC | Array.DESCENDING));
while (--_local6 > -1) {
PropTween(_local5[_local6]).nextNode = _local5[(_local6 + 1)];
PropTween(_local5[_local6]).prevNode = _local5[(_local6 - 1)];
};
_local3 = (_arg2.cachedPT1 = _local5[0]);
};
while (_local3) {
if (((_local3.isPlugin) && (_local3.target[_arg1]))){
if (_local3.target.activeDisable){
_local4 = true;
};
_local7 = _local3.target;
_local7[_arg1]();
};
_local3 = _local3.nextNode;
};
return (_local4);
}
public static function activate(_arg1:Array):Boolean{
var _local3:Object;
TweenLite.onPluginEvent = TweenPlugin.onTweenEvent;
var _local2:int = _arg1.length;
while (_local2--) {
if (_arg1[_local2].hasOwnProperty("API")){
_local3 = new ((_arg1[_local2] as Class));
TweenLite.plugins[_local3.propName] = _arg1[_local2];
};
};
return (true);
}
}
}//package com.greensock.plugins
Section 91
//TypewriterPlugin (com.greensock.plugins.TypewriterPlugin)
package com.greensock.plugins {
import flash.text.*;
import com.greensock.*;
public class TypewriterPlugin extends TweenPlugin {
protected var target:TextField;
protected var newText:String;
protected var newLength:int;
protected var oldText:String;
protected var oldLength:int;
public static const API:Number = 1;
public function TypewriterPlugin(){
this.propName = "typewriter";
this.overwriteProps = [];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (!(_arg1 is TextField)){
return (false);
};
this.target = (_arg1 as TextField);
oldText = _arg1.text;
oldLength = oldText.length;
newText = String(_arg2);
newLength = newText.length;
return (true);
}
override public function set changeFactor(_arg1:Number):void{
var _local2:Number = (oldLength + (-(oldLength) * _arg1));
var _local3:Number = (oldLength + ((newLength - oldLength) * _arg1));
target.text = (newText.substr(0, int(((_local3 - _local2) + 0.5))) + oldText.substr(0, int((_local2 + 0.5))));
}
}
}//package com.greensock.plugins
Section 92
//VisiblePlugin (com.greensock.plugins.VisiblePlugin)
package com.greensock.plugins {
import com.greensock.*;
public class VisiblePlugin extends TweenPlugin {
protected var _target:Object;
protected var _tween:TweenLite;
protected var _visible:Boolean;
protected var _initVal:Boolean;
public static const API:Number = 1;
public function VisiblePlugin(){
this.propName = "visible";
this.overwriteProps = ["visible"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_tween = _arg3;
_initVal = _target.visible;
_visible = Boolean(_arg2);
return (true);
}
override public function set changeFactor(_arg1:Number):void{
if ((((_arg1 == 1)) && ((((_tween.cachedDuration == _tween.cachedTime)) || ((_tween.cachedTime == 0)))))){
_target.visible = _visible;
} else {
_target.visible = _initVal;
};
}
}
}//package com.greensock.plugins
Section 93
//VolumePlugin (com.greensock.plugins.VolumePlugin)
package com.greensock.plugins {
import com.greensock.*;
import flash.media.*;
public class VolumePlugin extends TweenPlugin {
protected var _target:Object;
protected var _st:SoundTransform;
public static const API:Number = 1;
public function VolumePlugin(){
this.propName = "volume";
this.overwriteProps = ["volume"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (((((isNaN(_arg2)) || (_arg1.hasOwnProperty("volume")))) || (!(_arg1.hasOwnProperty("soundTransform"))))){
return (false);
};
_target = _arg1;
_st = _target.soundTransform;
addTween(_st, "volume", _st.volume, _arg2, "volume");
return (true);
}
override public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
_target.soundTransform = _st;
}
}
}//package com.greensock.plugins
Section 94
//OverwriteManager (com.greensock.OverwriteManager)
package com.greensock {
import com.greensock.core.*;
public final class OverwriteManager {
public static const version:Number = 6.1;
public static const NONE:int = 0;
public static const ALL_IMMEDIATE:int = 1;
public static const AUTO:int = 2;
public static const CONCURRENT:int = 3;
public static const ALL_ONSTART:int = 4;
public static const PREEXISTING:int = 5;
public static var mode:int;
public static var enabled:Boolean;
public static function init(_arg1:int=2):int{
if (TweenLite.version < 11.6){
throw (new Error("Warning: Your TweenLite class needs to be updated to work with OverwriteManager (or you may need to clear your ASO files). Please download and install the latest version from http://www.tweenlite.com."));
};
TweenLite.overwriteManager = OverwriteManager;
mode = _arg1;
enabled = true;
return (mode);
}
public static function manageOverwrites(_arg1:TweenLite, _arg2:Object, _arg3:Array, _arg4:int):Boolean{
var _local5:int;
var _local6:Boolean;
var _local7:TweenLite;
var _local13:int;
var _local14:Number;
var _local15:Number;
var _local16:TweenCore;
var _local17:Number;
var _local18:SimpleTimeline;
if (_arg4 >= 4){
_local13 = _arg3.length;
_local5 = 0;
while (_local5 < _local13) {
_local7 = _arg3[_local5];
if (_local7 != _arg1){
if (_local7.setEnabled(false, false)){
_local6 = true;
};
} else {
if (_arg4 == 5){
break;
};
};
_local5++;
};
return (_local6);
};
var _local8:Number = (_arg1.cachedStartTime + 1E-10);
var _local9:Array = [];
var _local10:Array = [];
var _local11:int;
var _local12:int;
_local5 = _arg3.length;
while (--_local5 > -1) {
_local7 = _arg3[_local5];
if ((((((_local7 == _arg1)) || (_local7.gc))) || (((!(_local7.initted)) && (((_local8 - _local7.cachedStartTime) <= 2E-10)))))){
} else {
if (_local7.timeline != _arg1.timeline){
if (!getGlobalPaused(_local7)){
var _temp1 = _local11;
_local11 = (_local11 + 1);
var _local19 = _temp1;
_local10[_local19] = _local7;
};
} else {
if ((((((((_local7.cachedStartTime <= _local8)) && ((((_local7.cachedStartTime + _local7.totalDuration) + 1E-10) > _local8)))) && (!(_local7.cachedPaused)))) && (!((((_arg1.cachedDuration == 0)) && (((_local8 - _local7.cachedStartTime) <= 2E-10))))))){
var _temp2 = _local12;
_local12 = (_local12 + 1);
_local19 = _temp2;
_local9[_local19] = _local7;
};
};
};
};
if (_local11 != 0){
_local14 = _arg1.cachedTimeScale;
_local15 = _local8;
_local18 = _arg1.timeline;
while (_local18) {
_local14 = (_local14 * _local18.cachedTimeScale);
_local15 = (_local15 + _local18.cachedStartTime);
_local18 = _local18.timeline;
};
_local8 = (_local14 * _local15);
_local5 = _local11;
while (--_local5 > -1) {
_local16 = _local10[_local5];
_local14 = _local16.cachedTimeScale;
_local15 = _local16.cachedStartTime;
_local18 = _local16.timeline;
while (_local18) {
_local14 = (_local14 * _local18.cachedTimeScale);
_local15 = (_local15 + _local18.cachedStartTime);
_local18 = _local18.timeline;
};
_local17 = (_local14 * _local15);
if ((((_local17 <= _local8)) && ((((((_local17 + (_local16.totalDuration * _local14)) + 1E-10) > _local8)) || ((_local16.cachedDuration == 0)))))){
var _temp3 = _local12;
_local12 = (_local12 + 1);
_local19 = _temp3;
_local9[_local19] = _local16;
};
};
};
if (_local12 == 0){
return (_local6);
};
_local5 = _local12;
if (_arg4 == 2){
while (--_local5 > -1) {
_local7 = _local9[_local5];
if (_local7.killVars(_arg2)){
_local6 = true;
};
if ((((_local7.cachedPT1 == null)) && (_local7.initted))){
_local7.setEnabled(false, false);
};
};
} else {
while (--_local5 > -1) {
if (TweenLite(_local9[_local5]).setEnabled(false, false)){
_local6 = true;
};
};
};
return (_local6);
}
public static function getGlobalPaused(_arg1:TweenCore):Boolean{
var _local2:Boolean;
while (_arg1) {
if (_arg1.cachedPaused){
_local2 = true;
break;
};
_arg1 = _arg1.timeline;
};
return (_local2);
}
}
}//package com.greensock
Section 95
//TimelineLite (com.greensock.TimelineLite)
package com.greensock {
import com.greensock.core.*;
public class TimelineLite extends SimpleTimeline {
protected var _labels:Object;
protected var _endCaps:Array;
public static const version:Number = 1.671;
private static var _overwriteMode:int = (OverwriteManager.enabled) ? OverwriteManager.mode : OverwriteManager.init(2);
;
public function TimelineLite(_arg1:Object=null){
super(_arg1);
_endCaps = [null, null];
_labels = {};
this.autoRemoveChildren = Boolean((this.vars.autoRemoveChildren == true));
_hasUpdate = Boolean((typeof(this.vars.onUpdate) == "function"));
if ((this.vars.tweens is Array)){
this.insertMultiple(this.vars.tweens, 0, ((this.vars.align)!=null) ? this.vars.align : "normal", (this.vars.stagger) ? Number(this.vars.stagger) : 0);
};
}
override public function remove(_arg1:TweenCore, _arg2:Boolean=false):void{
if (_arg1.cachedOrphan){
return;
};
if (!_arg2){
_arg1.setEnabled(false, true);
};
var _local3:TweenCore = (this.gc) ? _endCaps[0] : _firstChild;
var _local4:TweenCore = (this.gc) ? _endCaps[1] : _lastChild;
if (_arg1.nextNode){
_arg1.nextNode.prevNode = _arg1.prevNode;
} else {
if (_local4 == _arg1){
_local4 = _arg1.prevNode;
};
};
if (_arg1.prevNode){
_arg1.prevNode.nextNode = _arg1.nextNode;
} else {
if (_local3 == _arg1){
_local3 = _arg1.nextNode;
};
};
if (this.gc){
_endCaps[0] = _local3;
_endCaps[1] = _local4;
} else {
_firstChild = _local3;
_lastChild = _local4;
};
_arg1.cachedOrphan = true;
setDirtyCache(true);
}
override public function insert(_arg1:TweenCore, _arg2=0):TweenCore{
var _local5:TweenCore;
var _local6:Number;
var _local7:SimpleTimeline;
if (typeof(_arg2) == "string"){
if (!(_arg2 in _labels)){
addLabel(_arg2, this.duration);
};
_arg2 = Number(_labels[_arg2]);
};
if (((!(_arg1.cachedOrphan)) && (_arg1.timeline))){
_arg1.timeline.remove(_arg1, true);
};
_arg1.timeline = this;
_arg1.cachedStartTime = (Number(_arg2) + _arg1.delay);
if (_arg1.cachedPaused){
_arg1.cachedPauseTime = (_arg1.cachedStartTime + ((this.rawTime - _arg1.cachedStartTime) / _arg1.cachedTimeScale));
};
if (_arg1.gc){
_arg1.setEnabled(true, true);
};
setDirtyCache(true);
var _local3:TweenCore = (this.gc) ? _endCaps[0] : _firstChild;
var _local4:TweenCore = (this.gc) ? _endCaps[1] : _lastChild;
if (_local4 == null){
_local4 = _arg1;
_local3 = _local4;
_arg1.nextNode = (_arg1.prevNode = null);
} else {
_local5 = _local4;
_local6 = _arg1.cachedStartTime;
while (((!((_local5 == null))) && ((_local6 < _local5.cachedStartTime)))) {
_local5 = _local5.prevNode;
};
if (_local5 == null){
_local3.prevNode = _arg1;
_arg1.nextNode = _local3;
_arg1.prevNode = null;
_local3 = _arg1;
} else {
if (_local5.nextNode){
_local5.nextNode.prevNode = _arg1;
} else {
if (_local5 == _local4){
_local4 = _arg1;
};
};
_arg1.prevNode = _local5;
_arg1.nextNode = _local5.nextNode;
_local5.nextNode = _arg1;
};
};
_arg1.cachedOrphan = false;
if (this.gc){
_endCaps[0] = _local3;
_endCaps[1] = _local4;
} else {
_firstChild = _local3;
_lastChild = _local4;
};
if (((((this.gc) && (!(this.cachedPaused)))) && (((this.cachedStartTime + ((_arg1.cachedStartTime + (_arg1.cachedTotalDuration / _arg1.cachedTimeScale)) / this.cachedTimeScale)) > this.timeline.cachedTime)))){
if ((((this.timeline == TweenLite.rootTimeline)) || ((this.timeline == TweenLite.rootFramesTimeline)))){
this.setTotalTime(this.cachedTotalTime, true);
};
this.setEnabled(true, false);
_local7 = this.timeline;
while (((_local7.gc) && (_local7.timeline))) {
if ((_local7.cachedStartTime + (_local7.totalDuration / _local7.cachedTimeScale)) > _local7.timeline.cachedTime){
_local7.setEnabled(true, false);
};
_local7 = _local7.timeline;
};
};
return (_arg1);
}
public function append(_arg1:TweenCore, _arg2:Number=0):TweenCore{
return (insert(_arg1, (this.duration + _arg2)));
}
public function prepend(_arg1:TweenCore, _arg2:Boolean=false):TweenCore{
shiftChildren(((_arg1.totalDuration / _arg1.cachedTimeScale) + _arg1.delay), _arg2, 0);
return (insert(_arg1, 0));
}
public function insertMultiple(_arg1:Array, _arg2=0, _arg3:String="normal", _arg4:Number=0):Array{
var _local5:int;
var _local6:TweenCore;
var _local7:Number = ((Number(_arg2)) || (0));
var _local8:int = _arg1.length;
if (typeof(_arg2) == "string"){
if (!(_arg2 in _labels)){
addLabel(_arg2, this.duration);
};
_local7 = _labels[_arg2];
};
_local5 = 0;
while (_local5 < _local8) {
_local6 = (_arg1[_local5] as TweenCore);
insert(_local6, _local7);
if (_arg3 == "sequence"){
_local7 = (_local6.cachedStartTime + (_local6.totalDuration / _local6.cachedTimeScale));
} else {
if (_arg3 == "start"){
_local6.cachedStartTime = (_local6.cachedStartTime - _local6.delay);
};
};
_local7 = (_local7 + _arg4);
_local5 = (_local5 + 1);
};
return (_arg1);
}
public function appendMultiple(_arg1:Array, _arg2:Number=0, _arg3:String="normal", _arg4:Number=0):Array{
return (insertMultiple(_arg1, (this.duration + _arg2), _arg3, _arg4));
}
public function prependMultiple(_arg1:Array, _arg2:String="normal", _arg3:Number=0, _arg4:Boolean=false):Array{
var _local5:TimelineLite = new TimelineLite({tweens:_arg1, align:_arg2, stagger:_arg3});
shiftChildren(_local5.duration, _arg4, 0);
insertMultiple(_arg1, 0, _arg2, _arg3);
_local5.kill();
return (_arg1);
}
public function addLabel(_arg1:String, _arg2:Number):void{
_labels[_arg1] = _arg2;
}
public function removeLabel(_arg1:String):Number{
var _local2:Number = _labels[_arg1];
delete _labels[_arg1];
return (_local2);
}
public function getLabelTime(_arg1:String):Number{
return (((_arg1 in _labels)) ? Number(_labels[_arg1]) : -1);
}
protected function parseTimeOrLabel(_arg1):Number{
if (typeof(_arg1) == "string"){
if (!(_arg1 in _labels)){
throw (new Error((("TimelineLite error: the " + _arg1) + " label was not found.")));
};
return (getLabelTime(String(_arg1)));
};
return (Number(_arg1));
}
public function stop():void{
this.paused = true;
}
public function gotoAndPlay(_arg1, _arg2:Boolean=true):void{
setTotalTime(parseTimeOrLabel(_arg1), _arg2);
play();
}
public function gotoAndStop(_arg1, _arg2:Boolean=true):void{
setTotalTime(parseTimeOrLabel(_arg1), _arg2);
this.paused = true;
}
public function goto(_arg1, _arg2:Boolean=true):void{
setTotalTime(parseTimeOrLabel(_arg1), _arg2);
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local8:TweenCore;
var _local9:Boolean;
var _local10:Boolean;
var _local11:TweenCore;
var _local12:Number;
if (this.gc){
this.setEnabled(true, false);
} else {
if (((!(this.active)) && (!(this.cachedPaused)))){
this.active = true;
};
};
var _local4:Number = (this.cacheIsDirty) ? this.totalDuration : this.cachedTotalDuration;
var _local5:Number = this.cachedTime;
var _local6:Number = this.cachedStartTime;
var _local7:Number = this.cachedTimeScale;
var _local13:Boolean = this.cachedPaused;
if (_arg1 >= _local4){
if ((((_rawPrevTime <= _local4)) && (!((_rawPrevTime == _arg1))))){
this.cachedTotalTime = (this.cachedTime = _local4);
forceChildrenToEnd(_local4, _arg2);
_local9 = ((!(this.hasPausedChild())) && (!(this.cachedReversed)));
_local10 = true;
if ((((((this.cachedDuration == 0)) && (_local9))) && ((((_arg1 == 0)) || ((_rawPrevTime < 0)))))){
_arg3 = true;
};
};
} else {
if (_arg1 <= 0){
if (_arg1 < 0){
this.active = false;
if ((((this.cachedDuration == 0)) && ((_rawPrevTime >= 0)))){
_arg3 = true;
_local9 = true;
};
} else {
if ((((_arg1 == 0)) && (!(this.initted)))){
_arg3 = true;
};
};
if ((((_rawPrevTime >= 0)) && (!((_rawPrevTime == _arg1))))){
this.cachedTotalTime = 0;
this.cachedTime = 0;
forceChildrenToBeginning(0, _arg2);
_local10 = true;
if (this.cachedReversed){
_local9 = true;
};
};
} else {
this.cachedTotalTime = (this.cachedTime = _arg1);
};
};
_rawPrevTime = _arg1;
if ((((this.cachedTime == _local5)) && (!(_arg3)))){
return;
};
if (!this.initted){
this.initted = true;
};
if ((((((((_local5 == 0)) && (this.vars.onStart))) && (!((this.cachedTime == 0))))) && (!(_arg2)))){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
if (_local10){
} else {
if ((this.cachedTime - _local5) > 0){
_local8 = _firstChild;
while (_local8) {
_local11 = _local8.nextNode;
if (((this.cachedPaused) && (!(_local13)))){
break;
} else {
if (((_local8.active) || (((((!(_local8.cachedPaused)) && ((_local8.cachedStartTime <= this.cachedTime)))) && (!(_local8.gc)))))){
if (!_local8.cachedReversed){
_local8.renderTime(((this.cachedTime - _local8.cachedStartTime) * _local8.cachedTimeScale), _arg2, false);
} else {
_local12 = (_local8.cacheIsDirty) ? _local8.totalDuration : _local8.cachedTotalDuration;
_local8.renderTime((_local12 - ((this.cachedTime - _local8.cachedStartTime) * _local8.cachedTimeScale)), _arg2, false);
};
};
};
_local8 = _local11;
};
} else {
_local8 = _lastChild;
while (_local8) {
_local11 = _local8.prevNode;
if (((this.cachedPaused) && (!(_local13)))){
break;
} else {
if (((_local8.active) || (((((!(_local8.cachedPaused)) && ((_local8.cachedStartTime <= _local5)))) && (!(_local8.gc)))))){
if (!_local8.cachedReversed){
_local8.renderTime(((this.cachedTime - _local8.cachedStartTime) * _local8.cachedTimeScale), _arg2, false);
} else {
_local12 = (_local8.cacheIsDirty) ? _local8.totalDuration : _local8.cachedTotalDuration;
_local8.renderTime((_local12 - ((this.cachedTime - _local8.cachedStartTime) * _local8.cachedTimeScale)), _arg2, false);
};
};
};
_local8 = _local11;
};
};
};
if (((_hasUpdate) && (!(_arg2)))){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (((((_local9) && ((((_local6 == this.cachedStartTime)) || (!((_local7 == this.cachedTimeScale))))))) && ((((_local4 >= this.totalDuration)) || ((this.cachedTime == 0)))))){
complete(true, _arg2);
};
}
protected function forceChildrenToBeginning(_arg1:Number, _arg2:Boolean=false):Number{
var _local4:TweenCore;
var _local5:Number;
var _local3:TweenCore = _lastChild;
var _local6:Boolean = this.cachedPaused;
while (_local3) {
_local4 = _local3.prevNode;
if (((this.cachedPaused) && (!(_local6)))){
break;
} else {
if (((_local3.active) || (((((!(_local3.cachedPaused)) && (!(_local3.gc)))) && (((!((_local3.cachedTotalTime == 0))) || ((_local3.cachedDuration == 0)))))))){
if ((((_arg1 == 0)) && (((!((_local3.cachedDuration == 0))) || ((_local3.cachedStartTime == 0)))))){
_local3.renderTime((_local3.cachedReversed) ? _local3.cachedTotalDuration : 0, _arg2, false);
} else {
if (!_local3.cachedReversed){
_local3.renderTime(((_arg1 - _local3.cachedStartTime) * _local3.cachedTimeScale), _arg2, false);
} else {
_local5 = (_local3.cacheIsDirty) ? _local3.totalDuration : _local3.cachedTotalDuration;
_local3.renderTime((_local5 - ((_arg1 - _local3.cachedStartTime) * _local3.cachedTimeScale)), _arg2, false);
};
};
};
};
_local3 = _local4;
};
return (_arg1);
}
protected function forceChildrenToEnd(_arg1:Number, _arg2:Boolean=false):Number{
var _local4:TweenCore;
var _local5:Number;
var _local3:TweenCore = _firstChild;
var _local6:Boolean = this.cachedPaused;
while (_local3) {
_local4 = _local3.nextNode;
if (((this.cachedPaused) && (!(_local6)))){
break;
} else {
if (((_local3.active) || (((((!(_local3.cachedPaused)) && (!(_local3.gc)))) && (((!((_local3.cachedTotalTime == _local3.cachedTotalDuration))) || ((_local3.cachedDuration == 0)))))))){
if ((((_arg1 == this.cachedDuration)) && (((!((_local3.cachedDuration == 0))) || ((_local3.cachedStartTime == this.cachedDuration)))))){
_local3.renderTime((_local3.cachedReversed) ? 0 : _local3.cachedTotalDuration, _arg2, false);
} else {
if (!_local3.cachedReversed){
_local3.renderTime(((_arg1 - _local3.cachedStartTime) * _local3.cachedTimeScale), _arg2, false);
} else {
_local5 = (_local3.cacheIsDirty) ? _local3.totalDuration : _local3.cachedTotalDuration;
_local3.renderTime((_local5 - ((_arg1 - _local3.cachedStartTime) * _local3.cachedTimeScale)), _arg2, false);
};
};
};
};
_local3 = _local4;
};
return (_arg1);
}
public function hasPausedChild():Boolean{
var _local1:TweenCore = (this.gc) ? _endCaps[0] : _firstChild;
while (_local1) {
if (((_local1.cachedPaused) || ((((_local1 is TimelineLite)) && ((_local1 as TimelineLite).hasPausedChild()))))){
return (true);
};
_local1 = _local1.nextNode;
};
return (false);
}
public function getChildren(_arg1:Boolean=true, _arg2:Boolean=true, _arg3:Boolean=true, _arg4:Number=-9999999999):Array{
var _local5:Array = [];
var _local6:int;
var _local7:TweenCore = (this.gc) ? _endCaps[0] : _firstChild;
while (_local7) {
if (_local7.cachedStartTime < _arg4){
} else {
if ((_local7 is TweenLite)){
if (_arg2){
var _temp1 = _local6;
_local6 = (_local6 + 1);
var _local8 = _temp1;
_local5[_local8] = _local7;
};
} else {
if (_arg3){
var _temp2 = _local6;
_local6 = (_local6 + 1);
_local8 = _temp2;
_local5[_local8] = _local7;
};
if (_arg1){
_local5 = _local5.concat(TimelineLite(_local7).getChildren(true, _arg2, _arg3));
_local6 = _local5.length;
};
};
};
_local7 = _local7.nextNode;
};
return (_local5);
}
public function getTweensOf(_arg1:Object, _arg2:Boolean=true):Array{
var _local5:int;
var _local3:Array = getChildren(_arg2, true, false);
var _local4:Array = [];
var _local6:int = _local3.length;
var _local7:int;
_local5 = 0;
while (_local5 < _local6) {
if (TweenLite(_local3[_local5]).target == _arg1){
var _temp1 = _local7;
_local7 = (_local7 + 1);
var _local8 = _temp1;
_local4[_local8] = _local3[_local5];
};
_local5 = (_local5 + 1);
};
return (_local4);
}
public function shiftChildren(_arg1:Number, _arg2:Boolean=false, _arg3:Number=0):void{
var _local5:String;
var _local4:TweenCore = (this.gc) ? _endCaps[0] : _firstChild;
while (_local4) {
if (_local4.cachedStartTime >= _arg3){
_local4.cachedStartTime = (_local4.cachedStartTime + _arg1);
};
_local4 = _local4.nextNode;
};
if (_arg2){
for (_local5 in _labels) {
if (_labels[_local5] >= _arg3){
_labels[_local5] = (_labels[_local5] + _arg1);
};
};
};
this.setDirtyCache(true);
}
public function killTweensOf(_arg1:Object, _arg2:Boolean=true, _arg3:Object=null):Boolean{
var _local6:TweenLite;
var _local4:Array = getTweensOf(_arg1, _arg2);
var _local5:int = _local4.length;
while (--_local5 > -1) {
_local6 = _local4[_local5];
if (_arg3 != null){
_local6.killVars(_arg3);
};
if ((((_arg3 == null)) || ((((_local6.cachedPT1 == null)) && (_local6.initted))))){
_local6.setEnabled(false, false);
};
};
return (Boolean((_local4.length > 0)));
}
override public function invalidate():void{
var _local1:TweenCore = (this.gc) ? _endCaps[0] : _firstChild;
while (_local1) {
_local1.invalidate();
_local1 = _local1.nextNode;
};
}
public function clear(_arg1:Array=null):void{
if (_arg1 == null){
_arg1 = getChildren(false, true, true);
};
var _local2:int = _arg1.length;
while (--_local2 > -1) {
TweenCore(_arg1[_local2]).setEnabled(false, false);
};
}
override public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{
var _local3:TweenCore;
if (_arg1 == this.gc){
if (_arg1){
_local3 = _endCaps[0];
_firstChild = _local3;
_lastChild = _endCaps[1];
_endCaps = [null, null];
} else {
_local3 = _firstChild;
_endCaps = [_firstChild, _lastChild];
_firstChild = (_lastChild = null);
};
while (_local3) {
_local3.setEnabled(_arg1, true);
_local3 = _local3.nextNode;
};
};
return (super.setEnabled(_arg1, _arg2));
}
public function get currentProgress():Number{
return ((this.cachedTime / this.duration));
}
public function set currentProgress(_arg1:Number):void{
setTotalTime((this.duration * _arg1), false);
}
override public function get duration():Number{
var _local1:Number;
if (this.cacheIsDirty){
_local1 = this.totalDuration;
};
return (this.cachedDuration);
}
override public function set duration(_arg1:Number):void{
if (((!((this.duration == 0))) && (!((_arg1 == 0))))){
this.timeScale = (this.duration / _arg1);
};
}
override public function get totalDuration():Number{
var _local1:Number;
var _local2:Number;
var _local3:TweenCore;
var _local4:Number;
var _local5:TweenCore;
if (this.cacheIsDirty){
_local1 = 0;
_local3 = (this.gc) ? _endCaps[0] : _firstChild;
_local4 = -(Infinity);
while (_local3) {
_local5 = _local3.nextNode;
if (_local3.cachedStartTime < _local4){
this.insert(_local3, (_local3.cachedStartTime - _local3.delay));
_local4 = _local3.prevNode.cachedStartTime;
} else {
_local4 = _local3.cachedStartTime;
};
if (_local3.cachedStartTime < 0){
_local1 = (_local1 - _local3.cachedStartTime);
this.shiftChildren(-(_local3.cachedStartTime), false, -9999999999);
};
_local2 = (_local3.cachedStartTime + (_local3.totalDuration / _local3.cachedTimeScale));
if (_local2 > _local1){
_local1 = _local2;
};
_local3 = _local5;
};
this.cachedDuration = (this.cachedTotalDuration = _local1);
this.cacheIsDirty = false;
};
return (this.cachedTotalDuration);
}
override public function set totalDuration(_arg1:Number):void{
if (((!((this.totalDuration == 0))) && (!((_arg1 == 0))))){
this.timeScale = (this.totalDuration / _arg1);
};
}
public function get timeScale():Number{
return (this.cachedTimeScale);
}
public function set timeScale(_arg1:Number):void{
if (_arg1 == 0){
_arg1 = 0.0001;
};
var _local2:Number = (((this.cachedPauseTime) || ((this.cachedPauseTime == 0)))) ? this.cachedPauseTime : this.timeline.cachedTotalTime;
this.cachedStartTime = (_local2 - (((_local2 - this.cachedStartTime) * this.cachedTimeScale) / _arg1));
this.cachedTimeScale = _arg1;
setDirtyCache(false);
}
public function get useFrames():Boolean{
var _local1:SimpleTimeline = this.timeline;
while (_local1.timeline) {
_local1 = _local1.timeline;
};
return (Boolean((_local1 == TweenLite.rootFramesTimeline)));
}
override public function get rawTime():Number{
if (((!((this.cachedTotalTime == 0))) && (!((this.cachedTotalTime == this.cachedTotalDuration))))){
return (this.cachedTotalTime);
};
return (((this.timeline.rawTime - this.cachedStartTime) * this.cachedTimeScale));
}
}
}//package com.greensock
Section 96
//TimelineMax (com.greensock.TimelineMax)
package com.greensock {
import flash.events.*;
import com.greensock.core.*;
import com.greensock.events.*;
public class TimelineMax extends TimelineLite implements IEventDispatcher {
protected var _repeat:int;
protected var _repeatDelay:Number;
protected var _cyclesComplete:int;
protected var _dispatcher:EventDispatcher;
protected var _hasUpdateListener:Boolean;
public var yoyo:Boolean;
public static const version:Number = 1.671;
public function TimelineMax(_arg1:Object=null){
super(_arg1);
_repeat = (this.vars.repeat) ? Number(this.vars.repeat) : 0;
_repeatDelay = (this.vars.repeatDelay) ? Number(this.vars.repeatDelay) : 0;
_cyclesComplete = 0;
this.yoyo = Boolean((this.vars.yoyo == true));
this.cacheIsDirty = true;
if (((((((((!((this.vars.onCompleteListener == null))) || (!((this.vars.onUpdateListener == null))))) || (!((this.vars.onStartListener == null))))) || (!((this.vars.onRepeatListener == null))))) || (!((this.vars.onReverseCompleteListener == null))))){
initDispatcher();
};
}
public function addCallback(_arg1:Function, _arg2, _arg3:Array=null):TweenLite{
var _local4:TweenLite = new TweenLite(_arg1, 0, {onComplete:_arg1, onCompleteParams:_arg3, overwrite:0, immediateRender:false});
insert(_local4, _arg2);
return (_local4);
}
public function removeCallback(_arg1:Function, _arg2=null):Boolean{
var _local3:Array;
var _local4:Boolean;
var _local5:int;
if (_arg2 == null){
return (killTweensOf(_arg1, false));
};
if (typeof(_arg2) == "string"){
if (!(_arg2 in _labels)){
return (false);
};
_arg2 = _labels[_arg2];
};
_local3 = getTweensOf(_arg1, false);
_local5 = _local3.length;
while (--_local5 > -1) {
if (_local3[_local5].cachedStartTime == _arg2){
remove((_local3[_local5] as TweenCore));
_local4 = true;
};
};
return (_local4);
}
public function tweenTo(_arg1, _arg2:Object=null):TweenLite{
var _local4:String;
var _local5:TweenLite;
var _local3:Object = {ease:easeNone, overwrite:2, useFrames:this.useFrames, immediateRender:false};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
_local3.onInit = onInitTweenTo;
_local3.onInitParams = [null, this, NaN];
_local3.currentTime = parseTimeOrLabel(_arg1);
_local5 = new TweenLite(this, (((Math.abs((Number(_local3.currentTime) - this.cachedTime)) / this.cachedTimeScale)) || (0.001)), _local3);
_local5.vars.onInitParams[0] = _local5;
return (_local5);
}
public function tweenFromTo(_arg1, _arg2, _arg3:Object=null):TweenLite{
var _local4:TweenLite = tweenTo(_arg2, _arg3);
_local4.vars.onInitParams[2] = parseTimeOrLabel(_arg1);
_local4.duration = (Math.abs((Number(_local4.vars.currentTime) - _local4.vars.onInitParams[2])) / this.cachedTimeScale);
return (_local4);
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local9:TweenCore;
var _local10:Boolean;
var _local11:Boolean;
var _local12:Boolean;
var _local13:TweenCore;
var _local14:Number;
var _local16:Number;
var _local17:int;
var _local18:Boolean;
var _local19:Boolean;
var _local20:Boolean;
if (this.gc){
this.setEnabled(true, false);
} else {
if (((!(this.active)) && (!(this.cachedPaused)))){
this.active = true;
};
};
var _local4:Number = (this.cacheIsDirty) ? this.totalDuration : this.cachedTotalDuration;
var _local5:Number = this.cachedTime;
var _local6:Number = this.cachedTotalTime;
var _local7:Number = this.cachedStartTime;
var _local8:Number = this.cachedTimeScale;
var _local15:Boolean = this.cachedPaused;
if (_arg1 >= _local4){
if ((((_rawPrevTime <= _local4)) && (!((_rawPrevTime == _arg1))))){
this.cachedTotalTime = _local4;
if (((((!(this.cachedReversed)) && (this.yoyo))) && (!(((_repeat % 2) == 0))))){
this.cachedTime = 0;
forceChildrenToBeginning(0, _arg2);
} else {
this.cachedTime = this.cachedDuration;
forceChildrenToEnd(this.cachedDuration, _arg2);
};
_local10 = ((!(this.hasPausedChild())) && (!(this.cachedReversed)));
_local11 = true;
if ((((((this.cachedDuration == 0)) && (_local10))) && ((((_arg1 == 0)) || ((_rawPrevTime < 0)))))){
_arg3 = true;
};
};
} else {
if (_arg1 <= 0){
if (_arg1 < 0){
this.active = false;
if ((((this.cachedDuration == 0)) && ((_rawPrevTime >= 0)))){
_arg3 = true;
_local10 = true;
};
} else {
if ((((_arg1 == 0)) && (!(this.initted)))){
_arg3 = true;
};
};
if ((((_rawPrevTime >= 0)) && (!((_rawPrevTime == _arg1))))){
this.cachedTotalTime = 0;
this.cachedTime = 0;
forceChildrenToBeginning(0, _arg2);
_local11 = true;
if (this.cachedReversed){
_local10 = true;
};
};
} else {
this.cachedTotalTime = (this.cachedTime = _arg1);
};
};
_rawPrevTime = _arg1;
if (_repeat != 0){
_local16 = (this.cachedDuration + _repeatDelay);
_local17 = _cyclesComplete;
_cyclesComplete = ((this.cachedTotalTime / _local16) >> 0);
if (_cyclesComplete == (this.cachedTotalTime / _local16)){
_cyclesComplete--;
};
if (_local17 != _cyclesComplete){
_local12 = true;
};
if (_local10){
if (((this.yoyo) && ((_repeat % 2)))){
this.cachedTime = 0;
};
} else {
if (_arg1 > 0){
this.cachedTime = (((this.cachedTotalTime / _local16) - _cyclesComplete) * _local16);
if (((this.yoyo) && ((_cyclesComplete % 2)))){
this.cachedTime = (this.cachedDuration - this.cachedTime);
} else {
if (this.cachedTime >= this.cachedDuration){
this.cachedTime = this.cachedDuration;
};
};
if (this.cachedTime < 0){
this.cachedTime = 0;
};
} else {
_cyclesComplete = 0;
};
};
if (((((_local12) && (!(_local10)))) && (((!((this.cachedTime == _local5))) || (_arg3))))){
_local18 = Boolean(((!(this.yoyo)) || (((_cyclesComplete % 2) == 0))));
_local19 = Boolean(((!(this.yoyo)) || (((_local17 % 2) == 0))));
_local20 = Boolean((_local18 == _local19));
if (_local17 > _cyclesComplete){
_local19 = !(_local19);
};
if (_local19){
_local5 = forceChildrenToEnd(this.cachedDuration, _arg2);
if (_local20){
_local5 = forceChildrenToBeginning(0, true);
};
} else {
_local5 = forceChildrenToBeginning(0, _arg2);
if (_local20){
_local5 = forceChildrenToEnd(this.cachedDuration, true);
};
};
_local11 = false;
};
};
if ((((this.cachedTotalTime == _local6)) && (!(_arg3)))){
return;
};
if (!this.initted){
this.initted = true;
};
if ((((((_local6 == 0)) && (!((this.cachedTotalTime == 0))))) && (!(_arg2)))){
if (this.vars.onStart){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
if (_dispatcher){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.START));
};
};
if (_local11){
} else {
if ((this.cachedTime - _local5) > 0){
_local9 = _firstChild;
while (_local9) {
_local13 = _local9.nextNode;
if (((this.cachedPaused) && (!(_local15)))){
break;
} else {
if (((_local9.active) || (((((!(_local9.cachedPaused)) && ((_local9.cachedStartTime <= this.cachedTime)))) && (!(_local9.gc)))))){
if (!_local9.cachedReversed){
_local9.renderTime(((this.cachedTime - _local9.cachedStartTime) * _local9.cachedTimeScale), _arg2, false);
} else {
_local14 = (_local9.cacheIsDirty) ? _local9.totalDuration : _local9.cachedTotalDuration;
_local9.renderTime((_local14 - ((this.cachedTime - _local9.cachedStartTime) * _local9.cachedTimeScale)), _arg2, false);
};
};
};
_local9 = _local13;
};
} else {
_local9 = _lastChild;
while (_local9) {
_local13 = _local9.prevNode;
if (((this.cachedPaused) && (!(_local15)))){
break;
} else {
if (((_local9.active) || (((((!(_local9.cachedPaused)) && ((_local9.cachedStartTime <= _local5)))) && (!(_local9.gc)))))){
if (!_local9.cachedReversed){
_local9.renderTime(((this.cachedTime - _local9.cachedStartTime) * _local9.cachedTimeScale), _arg2, false);
} else {
_local14 = (_local9.cacheIsDirty) ? _local9.totalDuration : _local9.cachedTotalDuration;
_local9.renderTime((_local14 - ((this.cachedTime - _local9.cachedStartTime) * _local9.cachedTimeScale)), _arg2, false);
};
};
};
_local9 = _local13;
};
};
};
if (((_hasUpdate) && (!(_arg2)))){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (((_hasUpdateListener) && (!(_arg2)))){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.UPDATE));
};
if (((_local12) && (!(_arg2)))){
if (this.vars.onRepeat){
this.vars.onRepeat.apply(null, this.vars.onRepeatParams);
};
if (_dispatcher){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.REPEAT));
};
};
if (((((_local10) && ((((_local7 == this.cachedStartTime)) || (!((_local8 == this.cachedTimeScale))))))) && ((((_local4 >= this.totalDuration)) || ((this.cachedTime == 0)))))){
complete(true, _arg2);
};
}
override public function complete(_arg1:Boolean=false, _arg2:Boolean=false):void{
super.complete(_arg1, _arg2);
if (((_dispatcher) && (!(_arg2)))){
if (((((this.cachedReversed) && ((this.cachedTotalTime == 0)))) && (!((this.cachedDuration == 0))))){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.REVERSE_COMPLETE));
} else {
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.COMPLETE));
};
};
}
public function getActive(_arg1:Boolean=true, _arg2:Boolean=true, _arg3:Boolean=false):Array{
var _local6:int;
var _local7:TweenCore;
var _local4:Array = [];
var _local5:Array = getChildren(_arg1, _arg2, _arg3);
var _local8:int = _local5.length;
var _local9:int;
_local6 = 0;
while (_local6 < _local8) {
_local7 = _local5[_local6];
if (((((((!(_local7.cachedPaused)) && ((_local7.timeline.cachedTotalTime >= _local7.cachedStartTime)))) && ((_local7.timeline.cachedTotalTime < (_local7.cachedStartTime + (_local7.cachedTotalDuration / _local7.cachedTimeScale)))))) && (!(OverwriteManager.getGlobalPaused(_local7.timeline))))){
var _temp1 = _local9;
_local9 = (_local9 + 1);
var _local10 = _temp1;
_local4[_local10] = _local5[_local6];
};
_local6 = (_local6 + 1);
};
return (_local4);
}
override public function invalidate():void{
_repeat = (this.vars.repeat) ? Number(this.vars.repeat) : 0;
_repeatDelay = (this.vars.repeatDelay) ? Number(this.vars.repeatDelay) : 0;
this.yoyo = Boolean((this.vars.yoyo == true));
if (((((((((!((this.vars.onCompleteListener == null))) || (!((this.vars.onUpdateListener == null))))) || (!((this.vars.onStartListener == null))))) || (!((this.vars.onRepeatListener == null))))) || (!((this.vars.onReverseCompleteListener == null))))){
initDispatcher();
};
setDirtyCache(true);
super.invalidate();
}
public function getLabelAfter(_arg1:Number=NaN):String{
if (((!(_arg1)) && (!((_arg1 == 0))))){
_arg1 = this.cachedTime;
};
var _local2:Array = getLabelsArray();
var _local3:int = _local2.length;
var _local4:int;
while (_local4 < _local3) {
if (_local2[_local4].time > _arg1){
return (_local2[_local4].name);
};
_local4 = (_local4 + 1);
};
return (null);
}
public function getLabelBefore(_arg1:Number=NaN):String{
if (((!(_arg1)) && (!((_arg1 == 0))))){
_arg1 = this.cachedTime;
};
var _local2:Array = getLabelsArray();
var _local3:int = _local2.length;
while (--_local3 > -1) {
if (_local2[_local3].time < _arg1){
return (_local2[_local3].name);
};
};
return (null);
}
protected function getLabelsArray():Array{
var _local2:String;
var _local1:Array = [];
for (_local2 in _labels) {
_local1[_local1.length] = {time:_labels[_local2], name:_local2};
};
_local1.sortOn("time", Array.NUMERIC);
return (_local1);
}
protected function initDispatcher():void{
if (_dispatcher == null){
_dispatcher = new EventDispatcher(this);
};
if ((this.vars.onStartListener is Function)){
_dispatcher.addEventListener(TweenEvent.START, this.vars.onStartListener, false, 0, true);
};
if ((this.vars.onUpdateListener is Function)){
_dispatcher.addEventListener(TweenEvent.UPDATE, this.vars.onUpdateListener, false, 0, true);
_hasUpdateListener = true;
};
if ((this.vars.onCompleteListener is Function)){
_dispatcher.addEventListener(TweenEvent.COMPLETE, this.vars.onCompleteListener, false, 0, true);
};
if ((this.vars.onRepeatListener is Function)){
_dispatcher.addEventListener(TweenEvent.REPEAT, this.vars.onRepeatListener, false, 0, true);
};
if ((this.vars.onReverseCompleteListener is Function)){
_dispatcher.addEventListener(TweenEvent.REVERSE_COMPLETE, this.vars.onReverseCompleteListener, false, 0, true);
};
}
public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{
if (_dispatcher == null){
initDispatcher();
};
if (_arg1 == TweenEvent.UPDATE){
_hasUpdateListener = true;
};
_dispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
if (_dispatcher != null){
_dispatcher.removeEventListener(_arg1, _arg2, _arg3);
};
}
public function hasEventListener(_arg1:String):Boolean{
return (((_dispatcher)==null) ? false : _dispatcher.hasEventListener(_arg1));
}
public function willTrigger(_arg1:String):Boolean{
return (((_dispatcher)==null) ? false : _dispatcher.willTrigger(_arg1));
}
public function dispatchEvent(_arg1:Event):Boolean{
return (((_dispatcher)==null) ? false : _dispatcher.dispatchEvent(_arg1));
}
public function get totalProgress():Number{
return ((this.cachedTotalTime / this.totalDuration));
}
public function set totalProgress(_arg1:Number):void{
setTotalTime((this.totalDuration * _arg1), false);
}
override public function get totalDuration():Number{
var _local1:Number;
if (this.cacheIsDirty){
_local1 = super.totalDuration;
this.cachedTotalDuration = ((_repeat)==-1) ? 999999999999 : ((this.cachedDuration * (_repeat + 1)) + (_repeatDelay * _repeat));
};
return (this.cachedTotalDuration);
}
override public function set currentTime(_arg1:Number):void{
if (_cyclesComplete == 0){
setTotalTime(_arg1, false);
} else {
if (((this.yoyo) && (((_cyclesComplete % 2) == 1)))){
setTotalTime(((this.duration - _arg1) + (_cyclesComplete * (this.cachedDuration + _repeatDelay))), false);
} else {
setTotalTime((_arg1 + (_cyclesComplete * (this.duration + _repeatDelay))), false);
};
};
}
public function get repeat():int{
return (_repeat);
}
public function set repeat(_arg1:int):void{
_repeat = _arg1;
setDirtyCache(true);
}
public function get repeatDelay():Number{
return (_repeatDelay);
}
public function set repeatDelay(_arg1:Number):void{
_repeatDelay = _arg1;
setDirtyCache(true);
}
public function get currentLabel():String{
return (getLabelBefore((this.cachedTime + 1E-8)));
}
private static function onInitTweenTo(_arg1:TweenLite, _arg2:TimelineMax, _arg3:Number):void{
_arg2.paused = true;
if (!isNaN(_arg3)){
_arg2.currentTime = _arg3;
};
if (_arg1.vars.currentTime != _arg2.currentTime){
_arg1.duration = (Math.abs((Number(_arg1.vars.currentTime) - _arg2.currentTime)) / _arg2.cachedTimeScale);
};
}
private static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((_arg1 / _arg4));
}
}
}//package com.greensock
Section 97
//TweenLite (com.greensock.TweenLite)
package com.greensock {
import flash.display.*;
import flash.events.*;
import com.greensock.core.*;
import flash.utils.*;
import com.greensock.plugins.*;
public class TweenLite extends TweenCore {
public var target:Object;
public var propTweenLookup:Object;
public var ratio:Number;// = 0
public var cachedPT1:PropTween;
protected var _ease:Function;
protected var _overwrite:int;
protected var _overwrittenProps:Object;
protected var _hasPlugins:Boolean;
protected var _notifyPluginsOfEnabled:Boolean;
public static const version:Number = 11.63;
public static var plugins:Object = {};
public static var fastEaseLookup:Dictionary = new Dictionary(false);
public static var onPluginEvent:Function;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
public static var defaultEase:Function = TweenLite.easeOut;
public static var overwriteManager:Object;
public static var rootFrame:Number;
public static var rootTimeline:SimpleTimeline;
public static var rootFramesTimeline:SimpleTimeline;
public static var masterList:Dictionary = new Dictionary(false);
private static var _shape:Shape = new Shape();
protected static var _reservedProps:Object = {ease:1, delay:1, overwrite:1, onComplete:1, onCompleteParams:1, useFrames:1, runBackwards:1, startAt:1, onUpdate:1, onUpdateParams:1, onStart:1, onStartParams:1, onInit:1, onInitParams:1, onReverseComplete:1, onReverseCompleteParams:1, onRepeat:1, onRepeatParams:1, proxiedEase:1, easeParams:1, yoyo:1, onCompleteListener:1, onUpdateListener:1, onStartListener:1, onReverseCompleteListener:1, onRepeatListener:1, orientToBezier:1, timeScale:1, immediateRender:1, repeat:1, repeatDelay:1, timeline:1, data:1, paused:1};
public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){
var _local5:TweenLite;
super(_arg2, _arg3);
if (_arg1 == null){
throw (new Error("Cannot tween a null object."));
};
this.target = _arg1;
if ((((this.target is TweenCore)) && (this.vars.timeScale))){
this.cachedTimeScale = 1;
};
propTweenLookup = {};
_ease = defaultEase;
_overwrite = (((!((Number(_arg3.overwrite) > -1))) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite);
var _local4:Array = masterList[_arg1];
if (!_local4){
masterList[_arg1] = [this];
} else {
if (_overwrite == 1){
for each (_local5 in _local4) {
if (!_local5.gc){
_local5.setEnabled(false, false);
};
};
masterList[_arg1] = [this];
} else {
_local4[_local4.length] = this;
};
};
if (((this.active) || (this.vars.immediateRender))){
renderTime(0, false, true);
};
}
protected function init():void{
var _local1:String;
var _local2:int;
var _local3:*;
var _local4:Boolean;
var _local5:Array;
var _local6:PropTween;
if (this.vars.onInit){
this.vars.onInit.apply(null, this.vars.onInitParams);
};
if (typeof(this.vars.ease) == "function"){
_ease = this.vars.ease;
};
if (this.vars.easeParams){
this.vars.proxiedEase = _ease;
_ease = easeProxy;
};
this.cachedPT1 = null;
this.propTweenLookup = {};
for (_local1 in this.vars) {
if ((((_local1 in _reservedProps)) && (!((((_local1 == "timeScale")) && ((this.target is TweenCore))))))){
} else {
if ((((_local1 in plugins)) && (new ((plugins[_local1] as Class)).onInitTween(this.target, this.vars[_local1], this)))){
this.cachedPT1 = new PropTween(_local3, "changeFactor", 0, 1, ((_local3.overwriteProps.length)==1) ? _local3.overwriteProps[0] : "_MULTIPLE_", true, this.cachedPT1);
if (this.cachedPT1.name == "_MULTIPLE_"){
_local2 = _local3.overwriteProps.length;
while (--_local2 > -1) {
this.propTweenLookup[_local3.overwriteProps[_local2]] = this.cachedPT1;
};
} else {
this.propTweenLookup[this.cachedPT1.name] = this.cachedPT1;
};
if (_local3.priority){
this.cachedPT1.priority = _local3.priority;
_local4 = true;
};
if (((_local3.onDisable) || (_local3.onEnable))){
_notifyPluginsOfEnabled = true;
};
_hasPlugins = true;
} else {
this.cachedPT1 = new PropTween(this.target, _local1, Number(this.target[_local1]), ((typeof(this.vars[_local1]))=="number") ? (Number(this.vars[_local1]) - this.target[_local1]) : Number(this.vars[_local1]), _local1, false, this.cachedPT1);
this.propTweenLookup[_local1] = this.cachedPT1;
};
};
};
if (_local4){
onPluginEvent("onInitAllProps", this);
};
if (this.vars.runBackwards){
_local6 = this.cachedPT1;
while (_local6) {
_local6.start = (_local6.start + _local6.change);
_local6.change = -(_local6.change);
_local6 = _local6.nextNode;
};
};
_hasUpdate = Boolean(!((this.vars.onUpdate == null)));
if (_overwrittenProps){
killVars(_overwrittenProps);
if (this.cachedPT1 == null){
this.setEnabled(false, false);
};
};
if ((((((((_overwrite > 1)) && (this.cachedPT1))) && (masterList[this.target]))) && ((_local5.length > 1)))){
if (overwriteManager.manageOverwrites(this, this.propTweenLookup, _local5, _overwrite)){
init();
};
};
this.initted = true;
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local4:Boolean;
var _local5:Number = this.cachedTime;
if (_arg1 >= this.cachedDuration){
this.cachedTotalTime = (this.cachedTime = this.cachedDuration);
this.ratio = 1;
_local4 = true;
if (this.cachedDuration == 0){
if ((((((_arg1 == 0)) || ((_rawPrevTime < 0)))) && (!((_rawPrevTime == _arg1))))){
_arg3 = true;
};
_rawPrevTime = _arg1;
};
} else {
if (_arg1 <= 0){
this.cachedTotalTime = (this.cachedTime = (this.ratio = 0));
if (_arg1 < 0){
this.active = false;
if (this.cachedDuration == 0){
if (_rawPrevTime >= 0){
_arg3 = true;
_local4 = true;
};
_rawPrevTime = _arg1;
};
};
if (((this.cachedReversed) && (!((_local5 == 0))))){
_local4 = true;
};
} else {
this.cachedTotalTime = (this.cachedTime = _arg1);
this.ratio = _ease(_arg1, 0, 1, this.cachedDuration);
};
};
if ((((this.cachedTime == _local5)) && (!(_arg3)))){
return;
};
if (!this.initted){
init();
if (((!(_local4)) && (this.cachedTime))){
this.ratio = _ease(this.cachedTime, 0, 1, this.cachedDuration);
};
};
if (((!(this.active)) && (!(this.cachedPaused)))){
this.active = true;
};
if ((((((((_local5 == 0)) && (this.vars.onStart))) && (((!((this.cachedTime == 0))) || ((this.cachedDuration == 0)))))) && (!(_arg2)))){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
var _local6:PropTween = this.cachedPT1;
while (_local6) {
_local6.target[_local6.property] = (_local6.start + (this.ratio * _local6.change));
_local6 = _local6.nextNode;
};
if (((_hasUpdate) && (!(_arg2)))){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (((_local4) && (!(this.gc)))){
if (((_hasPlugins) && (this.cachedPT1))){
onPluginEvent("onComplete", this);
};
complete(true, _arg2);
};
}
public function killVars(_arg1:Object, _arg2:Boolean=true):Boolean{
var _local3:String;
var _local4:PropTween;
var _local5:Boolean;
if (_overwrittenProps == null){
_overwrittenProps = {};
};
for (_local3 in _arg1) {
if ((_local3 in propTweenLookup)){
_local4 = propTweenLookup[_local3];
if (((_local4.isPlugin) && ((_local4.name == "_MULTIPLE_")))){
_local4.target.killProps(_arg1);
if (_local4.target.overwriteProps.length == 0){
_local4.name = "";
};
if (((!((_local3 == _local4.target.propName))) || ((_local4.name == "")))){
delete propTweenLookup[_local3];
};
};
if (_local4.name != "_MULTIPLE_"){
if (_local4.nextNode){
_local4.nextNode.prevNode = _local4.prevNode;
};
if (_local4.prevNode){
_local4.prevNode.nextNode = _local4.nextNode;
} else {
if (this.cachedPT1 == _local4){
this.cachedPT1 = _local4.nextNode;
};
};
if (((_local4.isPlugin) && (_local4.target.onDisable))){
_local4.target.onDisable();
if (_local4.target.activeDisable){
_local5 = true;
};
};
delete propTweenLookup[_local3];
};
};
if (((_arg2) && (!((_arg1 == _overwrittenProps))))){
_overwrittenProps[_local3] = 1;
};
};
return (_local5);
}
override public function invalidate():void{
if (((_notifyPluginsOfEnabled) && (this.cachedPT1))){
onPluginEvent("onDisable", this);
};
this.cachedPT1 = null;
_overwrittenProps = null;
_hasUpdate = (this.initted = (this.active = (_notifyPluginsOfEnabled = false)));
this.propTweenLookup = {};
}
override public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{
var _local3:Array;
if (_arg1){
_local3 = TweenLite.masterList[this.target];
if (!_local3){
TweenLite.masterList[this.target] = [this];
} else {
_local3[_local3.length] = this;
};
};
super.setEnabled(_arg1, _arg2);
if (((_notifyPluginsOfEnabled) && (this.cachedPT1))){
return (onPluginEvent((_arg1) ? "onEnable" : "onDisable", this));
};
return (false);
}
protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams)));
}
public static function initClass():void{
rootFrame = 0;
rootTimeline = new SimpleTimeline(null);
rootFramesTimeline = new SimpleTimeline(null);
rootTimeline.cachedStartTime = (getTimer() * 0.001);
rootFramesTimeline.cachedStartTime = rootFrame;
rootTimeline.autoRemoveChildren = true;
rootFramesTimeline.autoRemoveChildren = true;
_shape.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true);
if (overwriteManager == null){
overwriteManager = {mode:1, enabled:false};
};
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
return (new TweenLite(_arg1, _arg2, _arg3));
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
if (_arg3.isGSVars){
_arg3 = _arg3.vars;
};
_arg3.runBackwards = true;
if (!("immediateRender" in _arg3)){
_arg3.immediateRender = true;
};
return (new TweenLite(_arg1, _arg2, _arg3));
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4:Boolean=false):TweenLite{
return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, immediateRender:false, useFrames:_arg4, overwrite:0}));
}
protected static function updateAll(_arg1:Event=null):void{
var _local2:Dictionary;
var _local3:Object;
var _local4:Array;
var _local5:int;
rootTimeline.renderTime((((getTimer() * 0.001) - rootTimeline.cachedStartTime) * rootTimeline.cachedTimeScale), false, false);
rootFrame = (rootFrame + 1);
rootFramesTimeline.renderTime(((rootFrame - rootFramesTimeline.cachedStartTime) * rootFramesTimeline.cachedTimeScale), false, false);
if (!(rootFrame % 60)){
_local2 = masterList;
for (_local3 in _local2) {
_local4 = _local2[_local3];
_local5 = _local4.length;
while (--_local5 > -1) {
if (TweenLite(_local4[_local5]).gc){
_local4.splice(_local5, 1);
};
};
if (_local4.length == 0){
delete _local2[_local3];
};
};
};
}
public static function killTweensOf(_arg1:Object, _arg2:Boolean=false, _arg3:Object=null):void{
var _local4:Array;
var _local5:int;
var _local6:TweenLite;
if ((_arg1 in masterList)){
_local4 = masterList[_arg1];
_local5 = _local4.length;
while (--_local5 > -1) {
_local6 = _local4[_local5];
if (!_local6.gc){
if (_arg2){
_local6.complete(false, false);
};
if (_arg3 != null){
_local6.killVars(_arg3);
};
if ((((_arg3 == null)) || ((((_local6.cachedPT1 == null)) && (_local6.initted))))){
_local6.setEnabled(false, false);
};
};
};
if (_arg3 == null){
delete masterList[_arg1];
};
};
}
protected static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (1 - (_arg1 / _arg4));
return ((1 - (_arg1 * _arg1)));
}
}
}//package com.greensock
Section 98
//TweenMax (com.greensock.TweenMax)
package com.greensock {
import flash.display.*;
import flash.events.*;
import com.greensock.core.*;
import flash.utils.*;
import com.greensock.plugins.*;
import com.greensock.events.*;
public class TweenMax extends TweenLite implements IEventDispatcher {
protected var _dispatcher:EventDispatcher;
protected var _hasUpdateListener:Boolean;
protected var _repeat:int;// = 0
protected var _repeatDelay:Number;// = 0
protected var _cyclesComplete:int;// = 0
protected var _easePower:int;
protected var _easeType:int;
public var yoyo:Boolean;
public static const version:Number = 11.69;
private static var _overwriteMode:int = (OverwriteManager.enabled) ? OverwriteManager.mode : OverwriteManager.init(2);
;
public static var killTweensOf:Function = TweenLite.killTweensOf;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
public function TweenMax(_arg1:Object, _arg2:Number, _arg3:Object){
super(_arg1, _arg2, _arg3);
if (TweenLite.version < 11.2){
throw (new Error("TweenMax error! Please update your TweenLite class or try deleting your ASO files. TweenMax requires a more recent version. Download updates at http://www.TweenMax.com."));
};
this.yoyo = Boolean(this.vars.yoyo);
_repeat = uint(this.vars.repeat);
_repeatDelay = (this.vars.repeatDelay) ? Number(this.vars.repeatDelay) : 0;
this.cacheIsDirty = true;
if (((((((((((this.vars.onCompleteListener) || (this.vars.onInitListener))) || (this.vars.onUpdateListener))) || (this.vars.onStartListener))) || (this.vars.onRepeatListener))) || (this.vars.onReverseCompleteListener))){
initDispatcher();
if ((((_arg2 == 0)) && ((_delay == 0)))){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.UPDATE));
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.COMPLETE));
};
};
if (((this.vars.timeScale) && (!((this.target is TweenCore))))){
this.cachedTimeScale = this.vars.timeScale;
};
}
override protected function init():void{
var _local1:TweenMax;
if (this.vars.startAt){
this.vars.startAt.overwrite = 0;
this.vars.startAt.immediateRender = true;
_local1 = new TweenMax(this.target, 0, this.vars.startAt);
};
if (_dispatcher){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.INIT));
};
super.init();
if ((_ease in fastEaseLookup)){
_easeType = fastEaseLookup[_ease][0];
_easePower = fastEaseLookup[_ease][1];
};
}
override public function invalidate():void{
this.yoyo = Boolean((this.vars.yoyo == true));
_repeat = (this.vars.repeat) ? Number(this.vars.repeat) : 0;
_repeatDelay = (this.vars.repeatDelay) ? Number(this.vars.repeatDelay) : 0;
_hasUpdateListener = false;
if (((((!((this.vars.onCompleteListener == null))) || (!((this.vars.onUpdateListener == null))))) || (!((this.vars.onStartListener == null))))){
initDispatcher();
};
setDirtyCache(true);
super.invalidate();
}
public function updateTo(_arg1:Object, _arg2:Boolean=false):void{
var _local4:String;
var _local5:Number;
var _local6:Number;
var _local7:PropTween;
var _local8:Number;
var _local3:Number = this.ratio;
if (((((_arg2) && (!((this.timeline == null))))) && ((this.cachedStartTime < this.timeline.cachedTime)))){
this.cachedStartTime = this.timeline.cachedTime;
this.setDirtyCache(false);
if (this.gc){
this.setEnabled(true, false);
} else {
this.timeline.insert(this, (this.cachedStartTime - _delay));
};
};
for (_local4 in _arg1) {
this.vars[_local4] = _arg1[_local4];
};
if (this.initted){
if (_arg2){
this.initted = false;
} else {
if (((_notifyPluginsOfEnabled) && (this.cachedPT1))){
onPluginEvent("onDisable", this);
};
if ((this.cachedTime / this.cachedDuration) > 0.998){
_local5 = this.cachedTime;
this.renderTime(0, true, false);
this.initted = false;
this.renderTime(_local5, true, false);
} else {
if (this.cachedTime > 0){
this.initted = false;
init();
_local6 = (1 / (1 - _local3));
_local7 = this.cachedPT1;
while (_local7) {
_local8 = (_local7.start + _local7.change);
_local7.change = (_local7.change * _local6);
_local7.start = (_local8 - _local7.change);
_local7 = _local7.nextNode;
};
};
};
};
};
}
public function setDestination(_arg1:String, _arg2, _arg3:Boolean=true):void{
var _local4:Object = {};
_local4[_arg1] = _arg2;
updateTo(_local4, !(_arg3));
}
public function killProperties(_arg1:Array):void{
var _local2:Object = {};
var _local3:int = _arg1.length;
while (--_local3 > -1) {
_local2[_arg1[_local3]] = true;
};
killVars(_local2);
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local6:Boolean;
var _local7:Boolean;
var _local8:Boolean;
var _local10:Number;
var _local11:int;
var _local12:int;
var _local13:Number;
var _local4:Number = (this.cacheIsDirty) ? this.totalDuration : this.cachedTotalDuration;
var _local5:Number = this.cachedTotalTime;
if (_arg1 >= _local4){
this.cachedTotalTime = _local4;
this.cachedTime = this.cachedDuration;
this.ratio = 1;
_local6 = true;
if (this.cachedDuration == 0){
if ((((((_arg1 == 0)) || ((_rawPrevTime < 0)))) && (!((_rawPrevTime == _arg1))))){
_arg3 = true;
};
_rawPrevTime = _arg1;
};
} else {
if (_arg1 <= 0){
if (_arg1 < 0){
this.active = false;
if (this.cachedDuration == 0){
if (_rawPrevTime >= 0){
_arg3 = true;
_local6 = true;
};
_rawPrevTime = _arg1;
};
} else {
if ((((_arg1 == 0)) && (!(this.initted)))){
_arg3 = true;
};
};
this.cachedTotalTime = (this.cachedTime = (this.ratio = 0));
if (((this.cachedReversed) && (!((_local5 == 0))))){
_local6 = true;
};
} else {
this.cachedTotalTime = (this.cachedTime = _arg1);
_local8 = true;
};
};
if (_repeat != 0){
_local10 = (this.cachedDuration + _repeatDelay);
_local11 = _cyclesComplete;
_cyclesComplete = ((this.cachedTotalTime / _local10) >> 0);
if (_cyclesComplete == (this.cachedTotalTime / _local10)){
_cyclesComplete--;
};
if (_local11 != _cyclesComplete){
_local7 = true;
};
if (_local6){
if (((this.yoyo) && ((_repeat % 2)))){
this.cachedTime = (this.ratio = 0);
};
} else {
if (_arg1 > 0){
this.cachedTime = (((this.cachedTotalTime / _local10) - _cyclesComplete) * _local10);
if (((this.yoyo) && ((_cyclesComplete % 2)))){
this.cachedTime = (this.cachedDuration - this.cachedTime);
} else {
if (this.cachedTime >= this.cachedDuration){
this.cachedTime = this.cachedDuration;
this.ratio = 1;
_local8 = false;
};
};
if (this.cachedTime <= 0){
this.cachedTime = (this.ratio = 0);
_local8 = false;
};
} else {
_cyclesComplete = 0;
};
};
};
if ((((_local5 == this.cachedTotalTime)) && (!(_arg3)))){
return;
};
if (!this.initted){
init();
};
if (((!(this.active)) && (!(this.cachedPaused)))){
this.active = true;
};
if (_local8){
if (_easeType){
_local12 = _easePower;
_local13 = (this.cachedTime / this.cachedDuration);
if (_easeType == 2){
_local13 = (1 - _local13);
this.ratio = _local13;
while (--_local12 > -1) {
this.ratio = (_local13 * this.ratio);
};
this.ratio = (1 - this.ratio);
} else {
if (_easeType == 1){
this.ratio = _local13;
while (--_local12 > -1) {
this.ratio = (_local13 * this.ratio);
};
} else {
if (_local13 < 0.5){
_local13 = (_local13 * 2);
this.ratio = _local13;
while (--_local12 > -1) {
this.ratio = (_local13 * this.ratio);
};
this.ratio = (this.ratio * 0.5);
} else {
_local13 = ((1 - _local13) * 2);
this.ratio = _local13;
while (--_local12 > -1) {
this.ratio = (_local13 * this.ratio);
};
this.ratio = (1 - (0.5 * this.ratio));
};
};
};
} else {
this.ratio = _ease(this.cachedTime, 0, 1, this.cachedDuration);
};
};
if ((((((_local5 == 0)) && (((!((this.cachedTotalTime == 0))) || ((this.cachedDuration == 0)))))) && (!(_arg2)))){
if (this.vars.onStart){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
if (_dispatcher){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.START));
};
};
var _local9:PropTween = this.cachedPT1;
while (_local9) {
_local9.target[_local9.property] = (_local9.start + (this.ratio * _local9.change));
_local9 = _local9.nextNode;
};
if (((_hasUpdate) && (!(_arg2)))){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (((_hasUpdateListener) && (!(_arg2)))){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.UPDATE));
};
if (((((_local7) && (!(_arg2)))) && (!(this.gc)))){
if (this.vars.onRepeat){
this.vars.onRepeat.apply(null, this.vars.onRepeatParams);
};
if (_dispatcher){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.REPEAT));
};
};
if (((_local6) && (!(this.gc)))){
if (((_hasPlugins) && (this.cachedPT1))){
onPluginEvent("onComplete", this);
};
complete(true, _arg2);
};
}
override public function complete(_arg1:Boolean=false, _arg2:Boolean=false):void{
super.complete(_arg1, _arg2);
if (((!(_arg2)) && (_dispatcher))){
if ((((this.cachedTotalTime == this.cachedTotalDuration)) && (!(this.cachedReversed)))){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.COMPLETE));
} else {
if (((this.cachedReversed) && ((this.cachedTotalTime == 0)))){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.REVERSE_COMPLETE));
};
};
};
}
protected function initDispatcher():void{
if (_dispatcher == null){
_dispatcher = new EventDispatcher(this);
};
if ((this.vars.onInitListener is Function)){
_dispatcher.addEventListener(TweenEvent.INIT, this.vars.onInitListener, false, 0, true);
};
if ((this.vars.onStartListener is Function)){
_dispatcher.addEventListener(TweenEvent.START, this.vars.onStartListener, false, 0, true);
};
if ((this.vars.onUpdateListener is Function)){
_dispatcher.addEventListener(TweenEvent.UPDATE, this.vars.onUpdateListener, false, 0, true);
_hasUpdateListener = true;
};
if ((this.vars.onCompleteListener is Function)){
_dispatcher.addEventListener(TweenEvent.COMPLETE, this.vars.onCompleteListener, false, 0, true);
};
if ((this.vars.onRepeatListener is Function)){
_dispatcher.addEventListener(TweenEvent.REPEAT, this.vars.onRepeatListener, false, 0, true);
};
if ((this.vars.onReverseCompleteListener is Function)){
_dispatcher.addEventListener(TweenEvent.REVERSE_COMPLETE, this.vars.onReverseCompleteListener, false, 0, true);
};
}
public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{
if (_dispatcher == null){
initDispatcher();
};
if (_arg1 == TweenEvent.UPDATE){
_hasUpdateListener = true;
};
_dispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
if (_dispatcher){
_dispatcher.removeEventListener(_arg1, _arg2, _arg3);
};
}
public function hasEventListener(_arg1:String):Boolean{
return (((_dispatcher)==null) ? false : _dispatcher.hasEventListener(_arg1));
}
public function willTrigger(_arg1:String):Boolean{
return (((_dispatcher)==null) ? false : _dispatcher.willTrigger(_arg1));
}
public function dispatchEvent(_arg1:Event):Boolean{
return (((_dispatcher)==null) ? false : _dispatcher.dispatchEvent(_arg1));
}
public function get currentProgress():Number{
return ((this.cachedTime / this.duration));
}
public function set currentProgress(_arg1:Number):void{
if (_cyclesComplete == 0){
setTotalTime((this.duration * _arg1), false);
} else {
setTotalTime(((this.duration * _arg1) + (_cyclesComplete * this.cachedDuration)), false);
};
}
public function get totalProgress():Number{
return ((this.cachedTotalTime / this.totalDuration));
}
public function set totalProgress(_arg1:Number):void{
setTotalTime((this.totalDuration * _arg1), false);
}
override public function set currentTime(_arg1:Number):void{
if (_cyclesComplete == 0){
} else {
if (((this.yoyo) && (((_cyclesComplete % 2) == 1)))){
_arg1 = ((this.duration - _arg1) + (_cyclesComplete * (this.cachedDuration + _repeatDelay)));
} else {
_arg1 = (_arg1 + (_cyclesComplete * (this.duration + _repeatDelay)));
};
};
setTotalTime(_arg1, false);
}
override public function get totalDuration():Number{
if (this.cacheIsDirty){
this.cachedTotalDuration = ((_repeat)==-1) ? 999999999999 : ((this.cachedDuration * (_repeat + 1)) + (_repeatDelay * _repeat));
this.cacheIsDirty = false;
};
return (this.cachedTotalDuration);
}
override public function set totalDuration(_arg1:Number):void{
if (_repeat == -1){
return;
};
this.duration = ((_arg1 - (_repeat * _repeatDelay)) / (_repeat + 1));
}
public function get timeScale():Number{
return (this.cachedTimeScale);
}
public function set timeScale(_arg1:Number):void{
if (_arg1 == 0){
_arg1 = 0.0001;
};
var _local2:Number = (((this.cachedPauseTime) || ((this.cachedPauseTime == 0)))) ? this.cachedPauseTime : this.timeline.cachedTotalTime;
this.cachedStartTime = (_local2 - (((_local2 - this.cachedStartTime) * this.cachedTimeScale) / _arg1));
this.cachedTimeScale = _arg1;
setDirtyCache(false);
}
public function get repeat():int{
return (_repeat);
}
public function set repeat(_arg1:int):void{
_repeat = _arg1;
setDirtyCache(true);
}
public function get repeatDelay():Number{
return (_repeatDelay);
}
public function set repeatDelay(_arg1:Number):void{
_repeatDelay = _arg1;
setDirtyCache(true);
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{
return (new TweenMax(_arg1, _arg2, _arg3));
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{
if (_arg3.isGSVars){
_arg3 = _arg3.vars;
};
_arg3.runBackwards = true;
if (!("immediateRender" in _arg3)){
_arg3.immediateRender = true;
};
return (new TweenMax(_arg1, _arg2, _arg3));
}
public static function fromTo(_arg1:Object, _arg2:Number, _arg3:Object, _arg4:Object):TweenMax{
if (_arg4.isGSVars){
_arg4 = _arg4.vars;
};
if (_arg3.isGSVars){
_arg3 = _arg3.vars;
};
_arg4.startAt = _arg3;
if (_arg3.immediateRender){
_arg4.immediateRender = true;
};
return (new TweenMax(_arg1, _arg2, _arg4));
}
public static function allTo(_arg1:Array, _arg2:Number, _arg3:Object, _arg4:Number=0, _arg5:Function=null, _arg6:Array=null):Array{
var i:int;
var varsDup:Object;
var p:String;
var onCompleteProxy:Function;
var onCompleteParamsProxy:Array;
var targets = _arg1;
var duration = _arg2;
var vars = _arg3;
var stagger = _arg4;
var onCompleteAll = _arg5;
var onCompleteAllParams = _arg6;
var l:int = targets.length;
var a:Array = [];
if (vars.isGSVars){
vars = vars.vars;
};
var curDelay:Number = (("delay" in vars)) ? Number(vars.delay) : 0;
onCompleteProxy = vars.onComplete;
onCompleteParamsProxy = vars.onCompleteParams;
var lastIndex:int = (l - 1);
i = 0;
while (i < l) {
varsDup = {};
for (p in vars) {
varsDup[p] = vars[p];
};
varsDup.delay = curDelay;
if ((((i == lastIndex)) && (!((onCompleteAll == null))))){
varsDup.onComplete = function ():void{
if (onCompleteProxy != null){
onCompleteProxy.apply(null, onCompleteParamsProxy);
};
onCompleteAll.apply(null, onCompleteAllParams);
};
};
a[i] = new TweenMax(targets[i], duration, varsDup);
curDelay = (curDelay + stagger);
i = (i + 1);
};
return (a);
}
public static function allFrom(_arg1:Array, _arg2:Number, _arg3:Object, _arg4:Number=0, _arg5:Function=null, _arg6:Array=null):Array{
if (_arg3.isGSVars){
_arg3 = _arg3.vars;
};
_arg3.runBackwards = true;
if (!("immediateRender" in _arg3)){
_arg3.immediateRender = true;
};
return (allTo(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6));
}
public static function allFromTo(_arg1:Array, _arg2:Number, _arg3:Object, _arg4:Object, _arg5:Number=0, _arg6:Function=null, _arg7:Array=null):Array{
if (_arg4.isGSVars){
_arg4 = _arg4.vars;
};
if (_arg3.isGSVars){
_arg3 = _arg3.vars;
};
_arg4.startAt = _arg3;
if (_arg3.immediateRender){
_arg4.immediateRender = true;
};
return (allTo(_arg1, _arg2, _arg4, _arg5, _arg6, _arg7));
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4:Boolean=false):TweenMax{
return (new TweenMax(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, immediateRender:false, useFrames:_arg4, overwrite:0}));
}
public static function getTweensOf(_arg1:Object):Array{
var _local4:int;
var _local5:int;
var _local2:Array = masterList[_arg1];
var _local3:Array = [];
if (_local2){
_local4 = _local2.length;
_local5 = 0;
while (--_local4 > -1) {
if (!TweenLite(_local2[_local4]).gc){
var _temp1 = _local5;
_local5 = (_local5 + 1);
var _local6 = _temp1;
_local3[_local6] = _local2[_local4];
};
};
};
return (_local3);
}
public static function isTweening(_arg1:Object):Boolean{
var _local4:TweenLite;
var _local2:Array = getTweensOf(_arg1);
var _local3:int = _local2.length;
while (--_local3 > -1) {
_local4 = _local2[_local3];
if (((_local4.active) || ((((_local4.cachedStartTime == _local4.timeline.cachedTime)) && (_local4.timeline.active))))){
return (true);
};
};
return (false);
}
public static function getAllTweens():Array{
var _local4:Array;
var _local5:int;
var _local1:Dictionary = masterList;
var _local2:int;
var _local3:Array = [];
for each (_local4 in _local1) {
_local5 = _local4.length;
while (--_local5 > -1) {
if (!TweenLite(_local4[_local5]).gc){
var _temp1 = _local2;
_local2 = (_local2 + 1);
var _local8 = _temp1;
_local3[_local8] = _local4[_local5];
};
};
};
return (_local3);
}
public static function killAll(_arg1:Boolean=false, _arg2:Boolean=true, _arg3:Boolean=true):void{
var _local5:Boolean;
var _local4:Array = getAllTweens();
var _local6:int = _local4.length;
while (--_local6 > -1) {
_local5 = (_local4[_local6].target == _local4[_local6].vars.onComplete);
if ((((_local5 == _arg3)) || (!((_local5 == _arg2))))){
if (_arg1){
_local4[_local6].complete(false);
} else {
_local4[_local6].setEnabled(false, false);
};
};
};
}
public static function killChildTweensOf(_arg1:DisplayObjectContainer, _arg2:Boolean=false):void{
var _local4:Object;
var _local5:DisplayObjectContainer;
var _local3:Array = getAllTweens();
var _local6:int = _local3.length;
while (--_local6 > -1) {
_local4 = _local3[_local6].target;
if ((_local4 is DisplayObject)){
_local5 = _local4.parent;
while (_local5) {
if (_local5 == _arg1){
if (_arg2){
_local3[_local6].complete(false);
} else {
_local3[_local6].setEnabled(false, false);
};
};
_local5 = _local5.parent;
};
};
};
}
public static function pauseAll(_arg1:Boolean=true, _arg2:Boolean=true):void{
changePause(true, _arg1, _arg2);
}
public static function resumeAll(_arg1:Boolean=true, _arg2:Boolean=true):void{
changePause(false, _arg1, _arg2);
}
private static function changePause(_arg1:Boolean, _arg2:Boolean=true, _arg3:Boolean=false):void{
var _local5:Boolean;
var _local4:Array = getAllTweens();
var _local6:int = _local4.length;
while (--_local6 > -1) {
_local5 = (TweenLite(_local4[_local6]).target == TweenLite(_local4[_local6]).vars.onComplete);
if ((((_local5 == _arg3)) || (!((_local5 == _arg2))))){
TweenCore(_local4[_local6]).paused = _arg1;
};
};
}
public static function get globalTimeScale():Number{
return (((TweenLite.rootTimeline)==null) ? 1 : TweenLite.rootTimeline.cachedTimeScale);
}
public static function set globalTimeScale(_arg1:Number):void{
if (_arg1 == 0){
_arg1 = 0.0001;
};
if (TweenLite.rootTimeline == null){
TweenLite.to({}, 0, {});
};
var _local2:SimpleTimeline = TweenLite.rootTimeline;
var _local3:Number = (getTimer() * 0.001);
_local2.cachedStartTime = (_local3 - (((_local3 - _local2.cachedStartTime) * _local2.cachedTimeScale) / _arg1));
_local2 = TweenLite.rootFramesTimeline;
_local3 = TweenLite.rootFrame;
_local2.cachedStartTime = (_local3 - (((_local3 - _local2.cachedStartTime) * _local2.cachedTimeScale) / _arg1));
TweenLite.rootFramesTimeline.cachedTimeScale = (TweenLite.rootTimeline.cachedTimeScale = _arg1);
}
TweenPlugin.activate([AutoAlphaPlugin, EndArrayPlugin, FramePlugin, RemoveTintPlugin, TintPlugin, VisiblePlugin, VolumePlugin, BevelFilterPlugin, BezierPlugin, BezierThroughPlugin, BlurFilterPlugin, ColorMatrixFilterPlugin, ColorTransformPlugin, DropShadowFilterPlugin, FrameLabelPlugin, GlowFilterPlugin, HexColorsPlugin, RoundPropsPlugin, ShortRotationPlugin, {}]);
}
}//package com.greensock
Section 99
//TweenNano (com.greensock.TweenNano)
package com.greensock {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class TweenNano {
public var duration:Number;
public var vars:Object;
public var startTime:Number;
public var target:Object;
public var active:Boolean;
public var gc:Boolean;
public var useFrames:Boolean;
public var ratio:Number;// = 0
protected var _ease:Function;
protected var _initted:Boolean;
protected var _propTweens:Array;
protected static var _time:Number;
protected static var _frame:uint;
protected static var _masterList:Dictionary = new Dictionary(false);
protected static var _shape:Shape = new Shape();
protected static var _tnInitted:Boolean;
protected static var _reservedProps:Object = {ease:1, delay:1, useFrames:1, overwrite:1, onComplete:1, onCompleteParams:1, runBackwards:1, immediateRender:1, onUpdate:1, onUpdateParams:1};
public function TweenNano(_arg1:Object, _arg2:Number, _arg3:Object){
if (!_tnInitted){
_time = (getTimer() * 0.001);
_frame = 0;
_shape.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true);
_tnInitted = true;
};
this.vars = _arg3;
this.duration = _arg2;
this.active = Boolean((((((_arg2 == 0)) && ((this.vars.delay == 0)))) && (!((this.vars.immediateRender == false)))));
this.target = _arg1;
if (typeof(this.vars.ease) != "function"){
_ease = TweenNano.easeOut;
} else {
_ease = this.vars.ease;
};
_propTweens = [];
this.useFrames = Boolean((_arg3.useFrames == true));
var _local4:Number = (("delay" in this.vars)) ? Number(this.vars.delay) : 0;
this.startTime = (this.useFrames) ? (_frame + _local4) : (_time + _local4);
var _local5:Array = _masterList[_arg1];
if ((((((_local5 == null)) || ((int(this.vars.overwrite) == 1)))) || ((this.vars.overwrite == null)))){
_masterList[_arg1] = [this];
} else {
_local5[_local5.length] = this;
};
if ((((this.vars.immediateRender == true)) || (this.active))){
renderTime(0);
};
}
public function init():void{
var _local1:String;
var _local2:Array;
var _local3:int;
for (_local1 in this.vars) {
if (!(_local1 in _reservedProps)){
_propTweens[_propTweens.length] = [_local1, this.target[_local1], ((typeof(this.vars[_local1]))=="number") ? (this.vars[_local1] - this.target[_local1]) : Number(this.vars[_local1])];
};
};
if (this.vars.runBackwards){
_local3 = _propTweens.length;
while (--_local3 > -1) {
_local2 = _propTweens[_local3];
_local2[1] = (_local2[1] + _local2[2]);
_local2[2] = -(_local2[2]);
};
};
_initted = true;
}
public function renderTime(_arg1:Number):void{
var _local2:Array;
if (!_initted){
init();
};
var _local3:int = _propTweens.length;
if (_arg1 >= this.duration){
_arg1 = this.duration;
this.ratio = 1;
} else {
if (_arg1 <= 0){
this.ratio = 0;
} else {
this.ratio = _ease(_arg1, 0, 1, this.duration);
};
};
while (--_local3 > -1) {
_local2 = _propTweens[_local3];
this.target[_local2[0]] = (_local2[1] + (this.ratio * _local2[2]));
};
if (this.vars.onUpdate){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (_arg1 == this.duration){
complete(true);
};
}
public function complete(_arg1:Boolean=false):void{
if (!_arg1){
renderTime(this.duration);
return;
};
kill();
if (this.vars.onComplete){
this.vars.onComplete.apply(null, this.vars.onCompleteParams);
};
}
public function kill():void{
this.gc = true;
this.active = false;
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenNano{
return (new TweenNano(_arg1, _arg2, _arg3));
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenNano{
_arg3.runBackwards = true;
if (!("immediateRender" in _arg3)){
_arg3.immediateRender = true;
};
return (new TweenNano(_arg1, _arg2, _arg3));
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4:Boolean=false):TweenNano{
return (new TweenNano(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, useFrames:_arg4, overwrite:0}));
}
public static function updateAll(_arg1:Event=null):void{
var _local3:Array;
var _local4:Object;
var _local5:int;
var _local6:Number;
var _local7:TweenNano;
_frame = (_frame + 1);
_time = (getTimer() * 0.001);
var _local2:Dictionary = _masterList;
for (_local4 in _local2) {
_local3 = _local2[_local4];
_local5 = _local3.length;
while (--_local5 > -1) {
_local7 = _local3[_local5];
_local6 = (_local7.useFrames) ? _frame : _time;
if (((_local7.active) || (((!(_local7.gc)) && ((_local6 >= _local7.startTime)))))){
_local7.renderTime((_local6 - _local7.startTime));
} else {
if (_local7.gc){
_local3.splice(_local5, 1);
};
};
};
if (_local3.length == 0){
delete _local2[_local4];
};
};
}
public static function killTweensOf(_arg1:Object, _arg2:Boolean=false):void{
var _local3:Array;
var _local4:int;
if ((_arg1 in _masterList)){
if (_arg2){
_local3 = _masterList[_arg1];
_local4 = _local3.length;
while (--_local4 > -1) {
if (!TweenNano(_local3[_local4]).gc){
TweenNano(_local3[_local4]).complete(false);
};
};
};
delete _masterList[_arg1];
};
}
private static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return (((-1 * _arg1) * (_arg1 - 2)));
}
}
}//package com.greensock
Section 100
//AwardsService (com.spilgames.api.AwardsService)
package com.spilgames.api {
public class AwardsService {
public static function submitAward(_arg1:String, _arg2:Function=null):int{
return (SpilGamesServices.getInstance().send("Awards", "submitAward", _arg2, {tag:_arg1, userName:User.getUserName(), userHash:User.getUserHash()}));
}
}
}//package com.spilgames.api
Section 101
//ScoreService (com.spilgames.api.ScoreService)
package com.spilgames.api {
public class ScoreService {
public static function submitScore(_arg1:int, _arg2:Function=null):int{
return (SpilGamesServices.getInstance().send("Score", "submitScore", _arg2, {score:_arg1, userName:User.getUserName(), userHash:User.getUserHash()}));
}
}
}//package com.spilgames.api
Section 102
//SpilGamesServices (com.spilgames.api.SpilGamesServices)
package com.spilgames.api {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class SpilGamesServices extends MovieClip {
private const DEFAULT_CONNECTION_LOCATION:String = "http://www8.agame.com/games/flash/services/ServicesConnection.swf";
private var _servicesConnection;// = null
private var _loader:Loader;
private var _connecting:Boolean;// = false
private var _connected:Boolean;// = false
private var _request:URLRequest;
private var _numConnectionLoadTries:uint;// = 0
private var _alwaysInFront:Boolean;// = false
private var currentDelay:Number;// = 0
private var previousFrameTime:Number;
public static const INVALID_ID:int = -1;
public static const INVALID_DOMAIN:String = "invalidDomain";
public static const CONFIGURATION_FAILED:String = "configurationFailure";
private static const MAX_CONNECTION_LOAD_RETRIES:uint = 99;
private static var _instance:SpilGamesServices = null;
public function SpilGamesServices(_arg1:Private=null){
if (!_arg1){
throw (new Error("Cannot instantiate this class, use SpilGamesServices.getInstance"));
};
}
public function get version():String{
return ("1.1");
}
public function get connecting():Boolean{
return (_connecting);
}
public function get connection(){
return (_servicesConnection);
}
public function set alwaysInFront(_arg1:Boolean):void{
if (_alwaysInFront != _arg1){
_alwaysInFront = _arg1;
if (_alwaysInFront){
addEventListener(Event.ENTER_FRAME, bringToFront);
} else {
removeEventListener(Event.ENTER_FRAME, bringToFront);
};
};
}
public function get alwaysInFront():Boolean{
return (_alwaysInFront);
}
public function connect(_arg1:DisplayObjectContainer, ... _args):void{
var _local3:String;
var _local4:URLVariables;
var _local5:Date;
if (((!(_connecting)) && (!(_connected)))){
if (!_arg1.stage){
throw (new Error("The given clip must be present in the display list (added to stage)"));
};
_connecting = true;
_arg1.stage.addChild(this);
addEventListener(Event.REMOVED_FROM_STAGE, handleRemovedFromStage);
if (((root.loaderInfo.parameters["servicesLoc"]) && ((root.loaderInfo.parameters["servicesLoc"].length > 0)))){
_local3 = root.loaderInfo.parameters["servicesLoc"];
_request = new URLRequest(_local3);
} else {
_local3 = DEFAULT_CONNECTION_LOCATION;
_local4 = new URLVariables();
_local5 = new Date();
_local4.nocache = ((((_local5.fullYear * 12) + (_local5.month + 1)) * 31) + _local5.day);
_request = new URLRequest(_local3);
_request.data = _local4;
};
allowDomain(_local3);
_loader = new Loader();
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleLoadComplete);
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleIOError);
_loader.load(_request);
};
}
public function disconnect():void{
if (_servicesConnection){
_servicesConnection.removeEventListener(Event.COMPLETE, handleServicesReady);
_servicesConnection.removeEventListener(ErrorEvent.ERROR, handleServicesFailed);
_servicesConnection.removeEventListener("serviceError", handleServiceError);
if (_connected){
_servicesConnection.disconnect();
};
removeChild(_servicesConnection);
};
_servicesConnection = null;
if (_loader){
try {
_loader.close();
} catch(e:Error) {
} finally {
_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete);
_loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError);
};
_loader = null;
};
removeEventListener(Event.ENTER_FRAME, bringToFront);
removeEventListener(Event.REMOVED_FROM_STAGE, handleRemovedFromStage);
if (parent){
parent.removeChild(this);
};
_connected = (_connecting = false);
}
public function getChannelID():int{
if (_servicesConnection != null){
return (_servicesConnection.getChannelID());
};
return (INVALID_ID);
}
public function getSiteID():int{
if (_servicesConnection != null){
return (_servicesConnection.getSiteID());
};
return (INVALID_ID);
}
public function getItemID():int{
if (_servicesConnection != null){
return (_servicesConnection.getItemID());
};
return (INVALID_ID);
}
public function isReady():Boolean{
return (((!((_servicesConnection == null))) && (_servicesConnection.isReady())));
}
public function isDomainAllowed():Boolean{
return (((!((_servicesConnection == null))) && (_servicesConnection.isDomainValid())));
}
public function isServiceAvailable(_arg1:String):Boolean{
return (((isReady()) && (_servicesConnection.isServiceAvailable(_arg1))));
}
public function send(_arg1:String, _arg2:String, _arg3:Function, _arg4:Object=null):int{
if (isReady()){
return (_servicesConnection.send(_arg1, _arg2, _arg3, _arg4));
};
return (INVALID_ID);
}
public function bringToFront(_arg1:Event=null):void{
var e = _arg1;
if (parent){
try {
parent.setChildIndex(this, (parent.numChildren - 1));
} catch(e:Error) {
removeEventListener(Event.ENTER_FRAME, bringToFront);
};
};
}
public function allowDomain(_arg1:String):void{
Security.allowDomain("*");
Security.allowInsecureDomain("*");
}
private function handleRemovedFromStage(_arg1:Event):void{
trace("WARNING: please do not remove SpilGamesServices from the stage");
}
private function handleLoadComplete(_arg1:Event):void{
_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete);
_loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError);
_servicesConnection = LoaderInfo(_arg1.target).content;
_servicesConnection.addEventListener(Event.COMPLETE, handleServicesReady);
_servicesConnection.addEventListener(ErrorEvent.ERROR, handleServicesFailed);
_servicesConnection.addEventListener("serviceError", handleServiceError);
addChild(_servicesConnection);
}
private function handleIOError(_arg1:IOErrorEvent):void{
_numConnectionLoadTries++;
if (_numConnectionLoadTries > MAX_CONNECTION_LOAD_RETRIES){
_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete);
_loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError);
_connecting = false;
trace("ERROR: SpilGamesServices failed to load the connection object");
if (hasEventListener(_arg1.type)){
dispatchEvent(_arg1);
};
} else {
trace(("WARN: SpilGamesServices failed to load the connection object, retry #" + _numConnectionLoadTries));
previousFrameTime = getTimer();
addEventListener(Event.ENTER_FRAME, updateConnectionRetry);
};
}
private function updateConnectionRetry(_arg1:Event):void{
var _local2:Number = getTimer();
var _local3:Number = ((_local2 - previousFrameTime) / 1000);
currentDelay = (currentDelay + _local3);
if (currentDelay >= 2){
trace(("WARN: SpilGamesServices trying to reconnect after: " + currentDelay));
_loader.load(_request);
removeEventListener(Event.ENTER_FRAME, updateConnectionRetry);
currentDelay = 0;
};
previousFrameTime = _local2;
}
private function handleServicesReady(_arg1:Event):void{
_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete);
_loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError);
_connected = true;
_connecting = false;
dispatchEvent(new Event("servicesReady"));
}
private function handleServicesFailed(_arg1:ErrorEvent):void{
_servicesConnection.addEventListener(Event.COMPLETE, handleServicesReady);
_servicesConnection.addEventListener(ErrorEvent.ERROR, handleServicesFailed);
_servicesConnection.addEventListener("serviceError", handleServiceError);
_connecting = false;
if (hasEventListener("servicesFailed")){
dispatchEvent(new ErrorEvent("servicesFailed", false, false, _arg1.text));
};
}
private function handleServiceError(_arg1:Event):void{
var _local2:String;
if (hasEventListener("serviceError")){
_local2 = "";
if ((_arg1 is ErrorEvent)){
_local2 = ErrorEvent(_arg1).text;
} else {
_local2 = _arg1.toString();
};
dispatchEvent(new ErrorEvent("serviceError", false, false, _local2));
};
}
public static function getInstance():SpilGamesServices{
if (!_instance){
_instance = new SpilGamesServices(new Private());
};
return (_instance);
}
}
}//package com.spilgames.api
class Private {
private function Private(){
}
}
Section 103
//User (com.spilgames.api.User)
package com.spilgames.api {
import flash.display.*;
public class User {
public static function isGuest():Boolean{
var _local2:DisplayObject;
var _local3:Object;
var _local1:* = SpilGamesServices.getInstance().connection;
if (_local1 != null){
return (_local1.isGuest());
};
_local2 = SpilGamesServices.getInstance().root;
if (_local2.loaderInfo != null){
_local3 = _local2.loaderInfo.parameters;
return (((((((!(_local3.username)) || ((_local3.username == "")))) || (!(_local3.hash)))) || ((_local3.hash == ""))));
};
return (false);
}
public static function getUserName():String{
var _local1:* = SpilGamesServices.getInstance().connection;
if (_local1 != null){
return (_local1.getUserName());
};
return ("");
}
public static function getUserHash():String{
var _local1:* = SpilGamesServices.getInstance().connection;
if (_local1 != null){
return (_local1.getUserHash());
};
return ("");
}
}
}//package com.spilgames.api
Section 104
//BuyConfirm (controls.BuyConfirm)
package controls {
import inventory.*;
import flash.display.*;
import flash.events.*;
import data.*;
import flash.text.*;
public class BuyConfirm extends MovieClip {
public var icon:MovieClip;
public var txtNotEnough:TextField;
public var txtDescription:TextField;
public var txtTitle:TextField;
public var btnCancel:MovieClip;
public var btnBuy1:IconButton;
public var btnBuy2:IconButton;
public var currentItem:uint;
public var weaponInfo:WeaponDefinition;
public var numButtons:uint;
public var slotToEquip:InventoryWeaponSlot;
public function BuyConfirm(){
addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(_arg1:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, init);
numButtons = 1;
alpha = 0.93;
visible = false;
this["btnBuy1"].visible = false;
this["btnCancel"].buttonMode = true;
this["btnCancel"].useHandCursor = true;
}
public function activateEvents(){
numButtons = 1;
this["btnBuy1"].visible = false;
if ((((weaponInfo.price > 0)) && ((weaponInfo.premiumprice > 0)))){
numButtons = 2;
};
this["btnBuy2"].addEventListener(MouseEvent.CLICK, onclick);
if (numButtons == 2){
this["btnBuy1"].visible = true;
this["btnBuy2"]["label2"].text = ((weaponInfo.premiumprice.toString() + " ") + Defines.PREMIUM_CURRENCY);
this["btnBuy1"]["label2"].text = (weaponInfo.price.toString() + " crystals");
this["btnBuy2"]["premium_icon"].visible = true;
this["btnBuy1"]["crystal_icon"].visible = true;
if ((Defines._document.saveSlot.collectedCrystals.value - weaponInfo.price) < 0){
this["btnBuy1"]["label1"].alpha = 0.3;
this["btnBuy1"]["label2"].alpha = 0.3;
this["btnBuy1"]["crystal_icon"].alpha = 0.6;
} else {
this["btnBuy1"]["label1"].alpha = 1;
this["btnBuy1"]["label2"].alpha = 1;
this["btnBuy1"]["crystal_icon"].alpha = 1;
this["btnBuy1"].addEventListener(MouseEvent.CLICK, onclick);
};
} else {
this["btnBuy2"]["label2"].text = (weaponInfo.price.toString() + " crystals");
this["btnBuy2"]["crystal_icon"].visible = true;
if ((Defines._document.saveSlot.collectedCrystals.value - weaponInfo.price) < 0){
this["btnBuy2"]["label1"].alpha = 0.3;
this["btnBuy2"]["label2"].alpha = 0.3;
this["btnBuy2"]["crystal_icon"].alpha = 0.6;
this["btnBuy2"].removeEventListener(MouseEvent.CLICK, onclick);
} else {
this["btnBuy2"]["label1"].alpha = 1;
this["btnBuy2"]["label2"].alpha = 1;
this["btnBuy2"]["crystal_icon"].alpha = 1;
};
};
this["btnCancel"].addEventListener(MouseEvent.CLICK, onclick);
}
public function disableEvents(){
this["btnBuy2"].removeEventListener(MouseEvent.CLICK, onclick);
this["btnCancel"].removeEventListener(MouseEvent.CLICK, onclick);
if (numButtons == 2){
this["btnBuy1"].removeEventListener(MouseEvent.CLICK, onclick);
};
}
private function onclick(_arg1:MouseEvent):void{
if (_arg1.target == this["btnBuy1"]){
dispatchEvent(new Event("ON_BUY"));
disableEvents();
this.visible = false;
} else {
if (_arg1.target == this["btnBuy2"]){
dispatchEvent(new Event("ON_BUY"));
disableEvents();
this.visible = false;
} else {
if (_arg1.target == this["btnCancel"]){
disableEvents();
this.visible = false;
} else {
trace("no cacho cual boton clickeaste");
};
};
};
}
public function setInfo(_arg1:WeaponDefinition){
weaponInfo = _arg1;
this["txtTitle"].text = weaponInfo.itemName.toUpperCase();
this["txtDescription"].text = weaponInfo.description.toUpperCase();
this["icon"].gotoAndStop(weaponInfo.itemID);
this["btnBuy1"]["premium_icon"].visible = false;
this["btnBuy2"]["premium_icon"].visible = false;
this["btnBuy1"]["crystal_icon"].visible = false;
this["btnBuy2"]["crystal_icon"].visible = false;
this["btnBuy1"]["label1"].alpha = 1;
this["btnBuy1"]["label2"].alpha = 1;
this["btnBuy1"]["crystal_icon"].alpha = 1;
this["btnBuy2"]["label1"].alpha = 1;
this["btnBuy2"]["label2"].alpha = 1;
this["btnBuy2"]["crystal_icon"].alpha = 1;
if ((Defines._document.saveSlot.collectedCrystals.value - weaponInfo.price) < 0){
this["txtNotEnough"].visible = true;
} else {
this["txtNotEnough"].visible = false;
};
activateEvents();
}
}
}//package controls
Section 105
//GenericButton (controls.GenericButton)
package controls {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class GenericButton extends MovieClip {
public var label:TextField;
public var lock:MovieClip;
private var _Text:String;// = "Aceptar"
public var locked:Boolean;// = false
public function GenericButton(){
buttonMode = true;
useHandCursor = true;
mouseChildren = false;
updateText();
addEventListener(Event.ADDED_TO_STAGE, init);
}
public function get text():String{
return (_Text);
}
public function set text(_arg1:String):void{
_Text = _arg1;
updateText();
}
private function init(_arg1:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, init);
this["lock"].visible = false;
enable();
}
public function enable(){
addEventListener(MouseEvent.MOUSE_OVER, over);
addEventListener(MouseEvent.MOUSE_OUT, out);
addEventListener(MouseEvent.MOUSE_DOWN, down);
addEventListener(MouseEvent.MOUSE_UP, out);
gotoAndStop(1);
alpha = 1;
mouseEnabled = true;
}
public function disable(){
removeEventListener(MouseEvent.MOUSE_OVER, over);
removeEventListener(MouseEvent.MOUSE_OUT, out);
removeEventListener(MouseEvent.MOUSE_DOWN, down);
removeEventListener(MouseEvent.MOUSE_UP, out);
alpha = 0.3;
mouseEnabled = false;
}
private function updateText(){
if (locked){
this["lock"].visible = true;
} else {
this["lock"].visible = false;
};
this["label"].text = text;
}
private function down(_arg1:MouseEvent):void{
gotoAndStop(3);
updateText();
}
private function over(_arg1:MouseEvent):void{
gotoAndStop(2);
updateText();
}
private function out(_arg1:MouseEvent):void{
gotoAndStop(1);
updateText();
}
}
}//package controls
Section 106
//IconButton (controls.IconButton)
package controls {
import flash.display.*;
import flash.text.*;
public class IconButton extends MovieClip {
public var label1:TextField;
public var label2:TextField;
public var premium_icon:MovieClip;
public var crystal_icon:MovieClip;
public function IconButton(){
mouseChildren = false;
buttonMode = true;
useHandCursor = true;
}
}
}//package controls
Section 107
//WeaponInfo (controls.WeaponInfo)
package controls {
import flash.display.*;
import flash.events.*;
import data.*;
import flash.text.*;
import cerebral.utils.*;
public class WeaponInfo extends MovieClip {
public var icon:MovieClip;
public var txtName:TextField;
public var txtPricePremum:TextField;
public var txtPrice:TextField;
public var txtDescription:TextField;
public var premium_icon:MovieClip;
public var crystal_icon:MovieClip;
public function WeaponInfo(){
addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(_arg1:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, init);
visible = false;
}
public function setInfo(_arg1:WeaponDefinition){
this["premium_icon"].visible = false;
this["txtPricePremum"].text = "";
this["txtName"].text = _arg1.itemName;
this["txtDescription"].text = _arg1.description;
this["txtPrice"].text = NumberUtils.formatNumber(_arg1.price);
this["icon"].gotoAndStop(_arg1.itemID);
if (_arg1.premiumprice > 0){
this["txtPricePremum"].text = NumberUtils.formatNumber(_arg1.premiumprice);
this["premium_icon"].visible = true;
};
}
}
}//package controls
Section 108
//GameStats (data.GameStats)
package data {
import mochi.as3.*;
public class GameStats {
public var levelScores:Array;
public var totalScores:int;
public var levelTrophies:Array;
public var levelBadges:Array;
public var modulesOwned:Array;
public var weaponsOwned:Array;
public var powerupsOwned:Array;
public var weaponsEquipped:Array;
public var modulesEquipped:Array;
public var weaponsUnlocked:Array;
public var collectedCrystals:MochiDigits;
public var collectedOrbs:MochiDigits;
public var currentLevelNumber:MochiDigits;
public var unlockedLevels:MochiDigits;
public function GameStats(){
levelScores = [0, 0, 0, 0, 0];
levelTrophies = new Array();
totalScores = 0;
levelBadges = new Array();
weaponsOwned = new Array();
modulesOwned = new Array();
powerupsOwned = new Array();
weaponsEquipped = new Array();
modulesEquipped = new Array();
weaponsUnlocked = new Array();
collectedCrystals = new MochiDigits(0);
collectedOrbs = new MochiDigits(0);
currentLevelNumber = new MochiDigits(0);
unlockedLevels = new MochiDigits(0);
}
}
}//package data
Section 109
//TEXT (data.TEXT)
package data {
public class TEXT {
public static const textString:Object = [{ID:1, en_US:"Play more shooting games at:", en_GB:"Play more shooting games at:", nl_NL:"Speel meer schietspellen op:", fr_FR:"Jouer à plus de jeux de tir sur :", de_DE:"Spiele mehr Schießspiele auf:", es_ES:"Juega a más juegos de disparos en:", pt_BR:"Jogue mais jogos de tiro em:", pt_PT:"Joga mais jogos de tiros em:", it_IT:"Prova altri giochi di azione su:", sv_SE:"Spela fler skjutspel på:", pl_PL:"Zagraj w więcej strzelanek na:", ru_RU:"Играть в другие стрелялки на", en_ID:"Mainkan game menembak lainnya di:", ARABIC:"Play more shooting games at:", jp_JP:"Play more shooting games at:", CHINESE_CN:"Play more shooting games at:", es_MX:"Juega a más juegos de disparos en:", es_AR:"Juega a más juegos de disparos en:"}, {ID:2, en_US:"More shooting games at:", en_GB:"More shooting games at:", nl_NL:"Meer schietspellen op:", fr_FR:"Plus de jeux de tir sur :", de_DE:"Mehr Schießspiele auf:", es_ES:"Más juegos de disparos en:", pt_BR:"Mais jogos divertidos em:", pt_PT:"Mais jogos de tiros em:", it_IT:"Più giochi di azione su:", sv_SE:"Fler skjutspel på:", pl_PL:"Więcej zabawnych gier na:", ru_RU:"Другие стрелялки на", en_ID:"Game menembak lainnya di:", ARABIC:"More shooting games at:", jp_JP:"More shooting games at:", CHINESE_CN:"More shooting games at:", es_MX:"Más juegos de disparos en:", es_AR:"Más juegos de disparos en:"}, {ID:3, en_US:"Start Game", en_GB:"Start Game", nl_NL:"Spel starten", fr_FR:"Jouer", de_DE:"Spiel starten", es_ES:"Comenzar", pt_BR:"Começar", pt_PT:"Iniciar", it_IT:"Gioca", sv_SE:"Starta spel", pl_PL:"Start", ru_RU:"Начать игру", en_ID:"Mulai Game", ARABIC:"Start Game", jp_JP:"Start Game", CHINESE_CN:"Start Game", es_MX:"Comenzar", es_AR:"Comenzar"}, {ID:4, en_US:"Loading…", en_GB:"Loading…", nl_NL:"Laden...", fr_FR:"En chargement…", de_DE:"Laden...", es_ES:"Cargando...", pt_BR:"Carregando...", pt_PT:"A carregar…", it_IT:"Caricamento...", sv_SE:"Laddar ...", pl_PL:"Ładowanie...", ru_RU:"Загрузка...", en_ID:"Memuatkan", ARABIC:"Loading…", jp_JP:"Loading…", CHINESE_CN:"Loading…", es_MX:"Cargando...", es_AR:"Cargando..."}, {ID:5, en_US:"Presents", en_GB:"Presents", nl_NL:"Presenteert", fr_FR:"Présente", de_DE:"präsentiert", es_ES:"Presenta", pt_BR:"Apresenta", pt_PT:"Presentes", it_IT:"Presenta", sv_SE:"Presenterar", pl_PL:"Przedstawia", ru_RU:"представляет", en_ID:"Mempersembahkan", ARABIC:"Presents", jp_JP:"Presents", CHINESE_CN:"Presents", es_MX:"Presenta", es_AR:"Presenta"}, {ID:6, en_US:"Play", en_GB:"Play", nl_NL:"Spelen", fr_FR:"Jouer", de_DE:"Spielen", es_ES:"Jugar", pt_BR:"Jogar", pt_PT:"Jogar", it_IT:"Gioca", sv_SE:"Spela", pl_PL:"Zagraj", ru_RU:"Играть", en_ID:"Mainkan", ARABIC:"Play", jp_JP:"Play", CHINESE_CN:"Play", es_MX:"Jugar", es_AR:"Jugar"}, {ID:7, en_US:"CAMPAIGN", en_GB:"CAMPAIGN", nl_NL:"MISSIE", fr_FR:"CAMPAGNE", de_DE:"KAMPAGNE", es_ES:"CAMPAÑA", pt_BR:"CAMPANHA", pt_PT:"CAMPANHA", it_IT:"CAMPAGNA", sv_SE:"KAMPANJ", pl_PL:"KAMPANIA", ru_RU:"КАМПАНИЯ", en_ID:"PENJELAJAHAN", ARABIC:"CAMPAIGN", jp_JP:"CAMPAIGN", CHINESE_CN:"CAMPAIGN", es_MX:"CAMPAÑA", es_AR:"CAMPAÑA"}, {ID:8, en_US:"SURVIVAL", en_GB:"SURVIVAL", nl_NL:"OVERLEVEN", fr_FR:"SURVIE", de_DE:"ÜBERLEBEN", es_ES:"SUPERVIVENCIA", pt_BR:"SOBREVIVÊNCIA", pt_PT:"SOBREVIVÊNCIA", it_IT:"SOPRAVVIVI", sv_SE:"ÖVERLEVNAD", pl_PL:"SURVIVAL", ru_RU:"ВЫЖИВАНИЕ", en_ID:"BERTAHAN HIDUP", ARABIC:"SURVIVAL", jp_JP:"SURVIVAL", CHINESE_CN:"SURVIVAL", es_MX:"SUPERVIVENCIA", es_AR:"SUPERVIVENCIA"}, {ID:9, en_US:"BOSS BLITZ", en_GB:"BOSS BLITZ", nl_NL:"BAAS BOVEN BAAS", fr_FR:"BOSS ÉCLAIR", de_DE:"BOSS-BLITZ", es_ES:"ATAQUE DE JEFES", pt_BR:"BLITZ DE CHEFÕES", pt_PT:"CHEFE DA SURPRESA", it_IT:"BOSS BLITZ", sv_SE:"BOSSBLITZ", pl_PL:"ANTYBOSSOWA KRUCJATA", ru_RU:"БОССЫ", en_ID:"SERANGAN KILAT KE RAJA", ARABIC:"BOSS BLITZ", jp_JP:"BOSS BLITZ", CHINESE_CN:"BOSS BLITZ", es_MX:"ATAQUE DE JEFES", es_AR:"ATAQUE DE JEFES"}, {ID:10, en_US:"MORE GAMES", en_GB:"MORE GAMES", nl_NL:"MEER SPELLEN", fr_FR:"PLUS DE JEUX", de_DE:"MEHR SPIELE", es_ES:"MÁS JUEGOS", pt_BR:"MAIS JOGOS", pt_PT:"MAIS JOGOS", it_IT:"ALTRI GIOCHI", sv_SE:"FLER SPEL", pl_PL:"WIĘCEJ GIER", ru_RU:"ДРУГИЕ ИГРЫ", en_ID:"GAME LAINNYA", ARABIC:"MORE GAMES", jp_JP:"MORE GAMES", CHINESE_CN:"MORE GAMES", es_MX:"MÁS JUEGOS", es_AR:"MÁS JUEGOS"}, {ID:11, en_US:"Developed by Cerebral Games", en_GB:"Developed by Cerebral Games", nl_NL:"Ontwikkeld door Cerebral Games", fr_FR:"Développé par Cerebral Games", de_DE:"Entwickelt von Cerebral Games", es_ES:"Desarrollado por Cerebral Games", pt_BR:"Criado por Cerebral Games", pt_PT:"Desenvolvido por Cerebral Games", it_IT:"Sviluppato da Cerebral Games", sv_SE:"Utvecklat av Cerebral Games", pl_PL:"Stworzono przez Cerebral Games", ru_RU:"Игра от Cerebral Games", en_ID:"Dikembangkan oleh Cerebral Games", ARABIC:"Developed by Cerebral Games", jp_JP:"Developed by Cerebral Games", CHINESE_CN:"Developed by Cerebral Games", es_MX:"Desarrollado por Cerebral Games", es_AR:"Desarrollado por Cerebral Games"}, {ID:12, en_US:"The year is 2044…", en_GB:"The year is 2044…", nl_NL:"Het is het jaar 2044...", fr_FR:"Nous sommes en 2044…", de_DE:"Wir schreiben das Jahr 2044.", es_ES:"Estamos en el 2044...", pt_BR:"O ano é 2044...", pt_PT:"Estamos no ano de 2044…", it_IT:"È l'anno 2044...", sv_SE:"Året är 2044 ...", pl_PL:"Jest rok 2044...", ru_RU:"На дворе 2044 год...", en_ID:"Saat ini tahun 2044…", ARABIC:"The year is 2044…", jp_JP:"The year is 2044…", CHINESE_CN:"The year is 2044…", es_MX:"Estamos en el 2044...", es_AR:"Estamos en el 2044..."}, {ID:13, en_US:"Everything was peaceful until THEY came to destroy and kill…", en_GB:"Everything was peaceful until THEY came to destroy and kill…", nl_NL:"Overal heerste vrede, totdat ZIJ alles kwamen vernietigen...", fr_FR:"Tout était calme jusqu'à ce qu'ILS arrivent pour détruire et tuer…", de_DE:"Es herrschte Frieden, bis SIE kamen und alles töteten und zerstörten...", es_ES:"Todo estaba en paz hasta que ELLOS llegaron para destruir y matar...", pt_BR:"Tudo estava em paz, até que ELES vieram para destruir e matar...", pt_PT:"Tudo estava em paz até que ELES vieram para destruir e matar…", it_IT:"Regnava la pace, fino a quando arrivarono LORO a distruggere e uccidere...", sv_SE:"Allt var fridfullt tills DE kom med död och förintelse ...", pl_PL:"Panował spokój, dopóki ONI nie przybyli, by niszczyć i zabijać...", ru_RU:"Все было тихо и мирно, пока не явились ОНИ...", en_ID:"Segala sesuatunya tenang hingga MEREKA datang untuk menghancurkan dan membunuh…", ARABIC:"Everything was peaceful until THEY came to destroy and kill…", jp_JP:"Everything was peaceful until THEY came to destroy and kill…", CHINESE_CN:"Everything was peaceful until THEY came to destroy and kill…", es_MX:"Todo estaba en paz hasta que ELLOS llegaron para destruir y matar...", es_AR:"Todo estaba en paz hasta que ELLOS llegaron para destruir y matar..."}, {ID:14, en_US:"Get me Magnus Bullet…NOW!", en_GB:"Get me Magnus Bullet…NOW!", nl_NL:"“Geef me speciaal agent Magnus aan de lijn. NU!”", fr_FR:"Contactez le sergent Magnus… MAINTENANT !", de_DE:"„Bringt mir Magnus Bullet...SOFORT!“", es_ES:"Traedme a Magnus Bullet... ¡YA!", pt_BR:"Chamem o Magno Bullet... RÁPIDO!", pt_PT:"Obtém a Bullet Magnus… JÁ!", it_IT:"Rintracciate Magnus Bullet... SUBITO!", sv_SE:"Ring upp Magnus Kula ... NU!", pl_PL:"„Wezwać Magnusa Bulleta... NATYCHMIAST!”", ru_RU:"Свяжите меня с Иваном Крутовым! Немедленно!", en_ID:"Get me Magnus Bullet…NOW!", ARABIC:"Get me Magnus Bullet…NOW!", jp_JP:"Get me Magnus Bullet…NOW!", CHINESE_CN:"Traedme a Magnus Bullet... ¡YA!", es_MX:"Llamen a Magnus Bullet!... ¡YA!", es_AR:"Llamen a Magnus Bullet.. ¡Ahora!"}, {ID:15, en_US:"Right away, sir!", en_GB:"Right away, sir!", nl_NL:"“Ja, meneer.”", fr_FR:"Tout de suite, Monsieur !", de_DE:"„Wird erledigt, Sir!“", es_ES:"¡De inmediato, señor!", pt_BR:"Agora mesmo, senhor!", pt_PT:"Imediatamente, senhor!", it_IT:"Signorsì, signore!", sv_SE:"Genast, sir!", pl_PL:"„Tak jest, sir!”", ru_RU:"Есть, товарищ генерал!", en_ID:"Segera, pak!", ARABIC:"Right away, sir!", jp_JP:"Right away, sir!", CHINESE_CN:"Right away, sir!", es_MX:"¡De inmediato, señor!", es_AR:"¡De inmediato, señor!"}, {ID:16, en_US:"Who's this?", en_GB:"Who's this?", nl_NL:"“Wie is dit?”", fr_FR:"Qui c'est ?", de_DE:"„Wer ist da?“", es_ES:"¿Quién es?", pt_BR:"Quem é?", pt_PT:"Quem é este?", it_IT:"Chi parla?", sv_SE:"Vem där?", pl_PL:"„Kto to?”", ru_RU:"Кто это?", en_ID:"Siapa ini?", ARABIC:"Who's this?", jp_JP:"Who's this?", CHINESE_CN:"Who's this?", es_MX:"¿Quién es?", es_AR:"¿Quién es?"}, {ID:17, en_US:"It's me.", en_GB:"It's me.", nl_NL:"“Ik ben het.” ", fr_FR:"C'est moi.", de_DE:"„Ich bin’s.“", es_ES:"Soy yo.", pt_BR:"Sou eu.", pt_PT:"Sou eu.", it_IT:"Sono io.", sv_SE:"Det är jag.", pl_PL:"„To ja.”", ru_RU:"Это я.", en_ID:"Ini aku.", ARABIC:"It's me.", jp_JP:"It's me.", CHINESE_CN:"It's me.", es_MX:"Soy yo.", es_AR:"Soy yo."}, {ID:18, en_US:"Grandma?!", en_GB:"Nan?!", nl_NL:"“Oma?!”", fr_FR:"Mamie ? !", de_DE:"„Großmutter?“", es_ES:"¡¿Abuelita?!", pt_BR:"Vó?!", pt_PT:"Avó?!", it_IT:"Ah, ciao nonna!", sv_SE:"Mormor?!", pl_PL:"„Babcia?!”", ru_RU:"Бабушка?!", en_ID:"Nenek?!", ARABIC:"Grandma?!", jp_JP:"Grandma?!", CHINESE_CN:"Grandma?!", es_MX:"¡¿Abuelita?!", es_AR:"¡¿Abuelita?!"}, {ID:19, en_US:"No, you idiot! The General.", en_GB:"No, you idiot! The General.", nl_NL:"“Nee, domoor. De generaal.” ", fr_FR:"Non, idiot ! Le Général.", de_DE:"„Nein, du Idiot! Der General.“", es_ES:"¡No, idiota! El General.", pt_BR:"Não, seu idiota! O General.", pt_PT:"Não, idiota! O General.", it_IT:"Sono il Generale. Idiota!", sv_SE:"Nej, din idiot! Generalen.", pl_PL:"„Nie, ty idioto! Generał.”", ru_RU:"Нет, дурень, это генерал!", en_ID:"Bukan, goblok! Jenderal.", ARABIC:"No, you idiot! The General.", jp_JP:"No, you idiot! The General.", CHINESE_CN:"No, you idiot! The General.", es_MX:"¡No, idiota! El General.", es_AR:"¡No, idiota! El General."}, {ID:20, en_US:"Oh…what's up?", en_GB:"Oh…what's up?", nl_NL:"“Wat is er aan de hand?”", fr_FR:"Ah… Qu'est-ce qui se passe ?", de_DE:"„Oh. Was gibt’s?", es_ES:"Oh... ¿Qué pasa?", pt_BR:"Ah... e aí, o que manda?", pt_PT:"Oh… o que se passa?", it_IT:"Ah, come va?", sv_SE:"Åh... Vad har hänt?", pl_PL:"„Och... co się dzieje?”", ru_RU:"Гм. Что случилось, товарищ генерал?", en_ID:"Oh…ada apa?", ARABIC:"Oh…what's up?", jp_JP:"Oh…what's up?", CHINESE_CN:"Oh…what's up?", es_MX:"Oh... ¿Qué pasa?", es_AR:"Oh... ¿Qué pasa?"}, {ID:21, en_US:"THEY are here…", en_GB:"THEY are here…", nl_NL:"“ZIJ zijn er...”", fr_FR:"ILS sont là…", de_DE:"„SIE sind da.“", es_ES:"ELLOS han llegado...", pt_BR:"ELES estão aqui...", pt_PT:"ELES estão aqui…", it_IT:"Sono arrivati LORO...", sv_SE:"DE har kommit...", pl_PL:"„ONI tu są...”", ru_RU:"ОНИ уже здесь!", en_ID:"MEREKA di sini…", ARABIC:"THEY are here…", jp_JP:"THEY are here…", CHINESE_CN:"THEY are here…", es_MX:"ELLOS han llegado...", es_AR:"ELLOS han llegado..."}, {ID:22, en_US:"No problem…I'm on it!", en_GB:"Don't worry…I'm on it!", nl_NL:"“Geen probleem. Ik ga aan de slag!”", fr_FR:"Aucun problème…Je m'en occupe !", de_DE:"„Kein Problem, ich kümmere mich darum.“", es_ES:"No pasa nada... ¡Yo me encargo!", pt_BR:"Está bem... Deixa comigo!", pt_PT:"Não há problema… Estou a tratar disso!", it_IT:"Nessun problema... Ci penso io!", sv_SE:"Inga problem... Jag är redo!", pl_PL:"„Nie ma problemu. Biorę to na siebie!”", ru_RU:"Не вопрос! Я выхожу.", en_ID:"Tidak masalah…aku segera membereskannya!", ARABIC:"No problem…I'm on it!", jp_JP:"No problem…I'm on it!", CHINESE_CN:"No problem…I'm on it!", es_MX:"No pasa nada... ¡Yo me encargo!", es_AR:"No pasa nada... ¡Yo me encargo!"}, {ID:23, en_US:"SKIP", en_GB:"SKIP", nl_NL:"OVERSLAAN", fr_FR:"SAUTER", de_DE:"ÜBERSPRINGEN", es_ES:"SALTAR", pt_BR:"PULAR", pt_PT:"SALTAR", it_IT:"SALTA", sv_SE:"SKIPPA", pl_PL:"POMIŃ", ru_RU:"ПРОПУСТИТЬ", en_ID:"LEWATI", ARABIC:"SKIP", jp_JP:"SKIP", CHINESE_CN:"SKIP", es_MX:"SALTAR", es_AR:"SALTAR"}, {ID:24, en_US:"CONTINUE", en_GB:"CONTINUE", nl_NL:"DOORGAAN", fr_FR:"CONTINUER", de_DE:"WEITER", es_ES:"CONTINUAR", pt_BR:"CONTINUAR", pt_PT:"CONTINUAR", it_IT:"CONTINUA", sv_SE:"FORTSÄTT", pl_PL:"KONTYNUUJ", ru_RU:"ПРОДОЛЖИТЬ", en_ID:"LANJUTKAN", ARABIC:"CONTINUE", jp_JP:"CONTINUE", CHINESE_CN:"CONTINUE", es_MX:"CONTINUAR", es_AR:"CONTINUAR"}, {ID:25, en_US:"MAIN MENU", en_GB:"MAIN MENU", nl_NL:"HOOFDMENU", fr_FR:"MENU PRINCIPAL", de_DE:"HAUPTMENÜ", es_ES:"MENÚ PRINCIPAL", pt_BR:"MENU PRINCIPAL", pt_PT:"MENU PRINCIPAL", it_IT:"MENU PRINCIPALE", sv_SE:"HUVUDMENY", pl_PL:"MENU GŁÓWNE", ru_RU:"МЕНЮ", en_ID:"MENU UTAMA", ARABIC:"MAIN MENU", jp_JP:"MAIN MENU", CHINESE_CN:"MAIN MENU", es_MX:"MENÚ PRINCIPAL", es_AR:"MENÚ PRINCIPAL"}, {ID:26, en_US:"LEVEL COMPLETED!", en_GB:"LEVEL COMPLETED!", nl_NL:"LEVEL VOLTOOID!", fr_FR:"NIVEAU ATTEINT !", de_DE:"LEVEL ABGESCHLOSSEN!", es_ES:"¡NIVEL COMPLETADO!", pt_BR:"FASE CONCLUÍDA!", pt_PT:"NÍVEL TERMINADO!", it_IT:"LIVELLO COMPLETATO!", sv_SE:"NIVÅ KLARAD!", pl_PL:"POZIOM UKOŃCZONY!", ru_RU:"УРОВЕНЬ ПРОЙДЕН!", en_ID:"LEVEL SELESAI!", ARABIC:"LEVEL COMPLETED!", jp_JP:"LEVEL COMPLETED!", CHINESE_CN:"LEVEL COMPLETED!", es_MX:"¡NIVEL COMPLETADO!", es_AR:"¡NIVEL COMPLETADO!"}, {ID:27, en_US:"Level Score:", en_GB:"Level Score:", nl_NL:"Levelscore:", fr_FR:"Score du niveau :", de_DE:"Levelpunkte:", es_ES:"Puntuación del nivel:", pt_BR:"Pontuação da fase:", pt_PT:"Pontuação do nível:", it_IT:"Punteggio livello:", sv_SE:"Nivåpoäng:", pl_PL:"Wynik poziomu:", ru_RU:"Счет уровня:", en_ID:"Skor Level:", ARABIC:"Level Score:", jp_JP:"Level Score:", CHINESE_CN:"Level Score:", es_MX:"Puntuación del nivel:", es_AR:"Puntuación del nivel:"}, {ID:28, en_US:"STAGE CLEAR", en_GB:"STAGE CLEAR", nl_NL:"NIVEAU VOLTOOID!", fr_FR:"EFFACER PHASE", de_DE:"STUFE ABGESCHLOSSEN", es_ES:"FASE COMPLETADA", pt_BR:"ETAPA CONCLUÍDA", pt_PT:"ESTÁDIO LIMPO", it_IT:"FASE SUPERATA", sv_SE:"NIVÅ KLARAD", pl_PL:"ETAP UKOŃCZONY", ru_RU:"КАРТА ПРОЙДЕНА", en_ID:"TINGKAT SELESAI", ARABIC:"STAGE CLEAR", jp_JP:"STAGE CLEAR", CHINESE_CN:"STAGE CLEAR", es_MX:"FASE COMPLETADA", es_AR:"FASE COMPLETADA"}, {ID:29, en_US:"DAMAGE DONE:", en_GB:"DAMAGE DONE:", nl_NL:"SCHADE TOEGEBRACHT:", fr_FR:"DÉGÂTS EFFECTUÉS :", de_DE:"AUSGETEILTER SCHADEN:", es_ES:"DAÑO REALIZADO:", pt_BR:"DANO CAUSADO:", pt_PT:"DANOS FEITOS:", it_IT:"DANNI CAUSATI:", sv_SE:"SKADA ORSAKAD:", pl_PL:"ZADANE OBRAŻENIA:", ru_RU:"УРОН:", en_ID:"KERUSAKAN DIBERIKAN:", ARABIC:"DAMAGE DONE:", jp_JP:"DAMAGE DONE:", CHINESE_CN:"DAMAGE DONE:", es_MX:"DAÑO REALIZADO:", es_AR:"DAÑO REALIZADO:"}, {ID:30, en_US:"DAMAGE TAKEN:", en_GB:"DAMAGE TAKEN:", nl_NL:"SCHADE OPGELOPEN:", fr_FR:"DÉGÂTS SUBIS :", de_DE:"ERLITTENER SCHADEN:", es_ES:"DAÑO RECIBIDO:", pt_BR:"DANO SOFRIDO:", pt_PT:"DANOS SOFRIDOS:", it_IT:"DANNI SUBITI:", sv_SE:"SKADA ERHÅLLEN:", pl_PL:"OTRZYMANE OBRAŻENIA:", ru_RU:"РАНЫ:", en_ID:"KERUSAKAN DITERIMA:", ARABIC:"DAMAGE TAKEN:", jp_JP:"DAMAGE TAKEN:", CHINESE_CN:"DAMAGE TAKEN:", es_MX:"DAÑO RECIBIDO:", es_AR:"DAÑO RECIBIDO:"}, {ID:31, en_US:"SLOW MOTION:", en_GB:"SLOW MOTION:", nl_NL:"SLOW MOTION:", fr_FR:"RALENTI :", de_DE:"ZEITLUPE:", es_ES:"CÁMARA LENTA:", pt_BR:"CÂMERA LENTA:", pt_PT:"CÂMARA LENTA:", it_IT:"RALLENTATORE:", sv_SE:"SLOW MOTION:", pl_PL:"ZWOLNIONE TEMPO:", ru_RU:"УСКОРЕНИЕ:", en_ID:"GERAK LAMBAT:", ARABIC:"SLOW MOTION:", jp_JP:"SLOW MOTION:", CHINESE_CN:"SLOW MOTION:", es_MX:"CÁMARA LENTA:", es_AR:"CÁMARA LENTA:"}, {ID:32, en_US:"STAGE SCORE:", en_GB:"STAGE SCORE:", nl_NL:"NIVEAUSCORE:", fr_FR:"SCORE PHASE :", de_DE:"STUFENPUNKTE:", es_ES:"PUNTUACIÓN FASE:", pt_BR:"PONTUAÇÃO DA ETAPA:", pt_PT:"PONTUAÇÃO DO ESTÁDIO:", it_IT:"PUNTEGGIO FASE:", sv_SE:"NIVÅPOÄNG:", pl_PL:"WYNIK ZA ETAP:", ru_RU:"СЧЕТ ", en_ID:"SKOR TINGKAT:", ARABIC:"STAGE SCORE:", jp_JP:"STAGE SCORE:", CHINESE_CN:"STAGE SCORE:", es_MX:"PUNTUACIÓN FASE:", es_AR:"PUNTUACIÓN FASE:"}, {ID:33, en_US:"INVENTORY", en_GB:"INVENTORY", nl_NL:"INVENTARIS", fr_FR:"STOCK", de_DE:"INVENTAR", es_ES:"INVENTARIO", pt_BR:"INVENTÁRIO", pt_PT:"INVENTÁRIO", it_IT:"INVENTARIO", sv_SE:"LAGER", pl_PL:"INWENTARZ", ru_RU:"ИНВЕНТАРЬ", en_ID:"INVENTARIS", ARABIC:"INVENTORY", jp_JP:"INVENTORY", CHINESE_CN:"INVENTORY", es_MX:"INVENTARIO", es_AR:"INVENTARIO"}, {ID:34, en_US:"BEST SCORE:", en_GB:"BEST SCORE:", nl_NL:"BESTE SCORE:", fr_FR:"MEILLEUR SCORE :", de_DE:"HÖCHSTE PUNKTZAHL:", es_ES:"MEJOR PUNTUACIÓN:", pt_BR:"RECORDE:", pt_PT:"MELHOR PONTUAÇÃO:", it_IT:"PUNTEGGIO MIGLIORE:", sv_SE:"BÄSTA POÄNG:", pl_PL:"NAJLEPSZY WYNIK:", ru_RU:"РЕКОРД:", en_ID:"SKOR TERBAIK:", ARABIC:"BEST SCORE:", jp_JP:"BEST SCORE:", CHINESE_CN:"BEST SCORE:", es_MX:"MEJOR PUNTUACIÓN:", es_AR:"MEJOR PUNTUACIÓN:"}, {ID:35, en_US:"STONE TROPHY", en_GB:"STONE TROPHY", nl_NL:"STENEN TROFEE", fr_FR:"TROPHÉE PIERRE", de_DE:"STEINTROPHÄE", es_ES:"TROFEO DE PIEDRA", pt_BR:"TROFÉU DE PEDRA", pt_PT:"TROFÉU DE PEDRA", it_IT:"TROFEO DI PIETRA", sv_SE:"STENTROFÉ", pl_PL:"KAMIENNE TROFEUM", ru_RU:"КАМЕНЬ", en_ID:"PIALA BATU", ARABIC:"STONE TROPHY", jp_JP:"STONE TROPHY", CHINESE_CN:"STONE TROPHY", es_MX:"TROFEO DE PIEDRA", es_AR:"TROFEO DE PIEDRA"}, {ID:36, en_US:"BRONZE TROPHY", en_GB:"BRONZE TROPHY", nl_NL:"BRONZEN TROFEE", fr_FR:"TROPHÉE BRONZE", de_DE:"BRONZETROPHÄE", es_ES:"TROFEO DE BRONCE", pt_BR:"TROFÉU DE BRONZE", pt_PT:"TROFÉU DE BRONZE", it_IT:"TROFEO DI BRONZO", sv_SE:"BRONSTROFÉ", pl_PL:"BRĄZOWE TROFEUM", ru_RU:"БРОНЗА", en_ID:"PIALA PERUNGGU", ARABIC:"BRONZE TROPHY", jp_JP:"BRONZE TROPHY", CHINESE_CN:"BRONZE TROPHY", es_MX:"TROFEO DE BRONCE", es_AR:"TROFEO DE BRONCE"}, {ID:37, en_US:"SILVER TROPHY", en_GB:"SILVER TROPHY", nl_NL:"ZILVEREN TROFEE", fr_FR:"TROPHÉE ARGENT", de_DE:"SILBERTROPHÄE", es_ES:"TROFEO DE PLATA", pt_BR:"TROFÉU DE PRATA", pt_PT:"TROFÉU DE PRATA", it_IT:"TROFEO D'ARGENTO", sv_SE:"SILVERTROFÉ", pl_PL:"SREBRNE TROFEUM", ru_RU:"СЕРЕБРО", en_ID:"PIALA PERAK", ARABIC:"SILVER TROPHY", jp_JP:"SILVER TROPHY", CHINESE_CN:"SILVER TROPHY", es_MX:"TROFEO DE PLATA", es_AR:"TROFEO DE PLATA"}, {ID:38, en_US:"GOLD TROPHY", en_GB:"GOLD TROPHY", nl_NL:"GOUDEN TROFEE", fr_FR:"TROPHÉE OR", de_DE:"GOLDTROPHÄE", es_ES:"TROFEO DE ORO", pt_BR:"TROFÉU DE OURO", pt_PT:"TROFÉU DE OURO", it_IT:"TROFEO D'ORO", sv_SE:"GULDTROFÉ", pl_PL:"ZŁOTE TROFEUM", ru_RU:"ЗОЛОТО", en_ID:"PIALA EMAS", ARABIC:"GOLD TROPHY", jp_JP:"GOLD TROPHY", CHINESE_CN:"GOLD TROPHY", es_MX:"TROFEO DE ORO", es_AR:"TROFEO DE ORO"}, {ID:39, en_US:"PLATINUM TROPHY", en_GB:"PLATINUM TROPHY", nl_NL:"PLATINA TROFEE", fr_FR:"TROPHÉE PLATINE", de_DE:"PLATINTROPHÄE", es_ES:"TROFEO DE PLATINO", pt_BR:"TROFÉU DE PLATINA", pt_PT:"TROFÉU DE PLATINA", it_IT:"TROFEO DI PLATINO", sv_SE:"PLATINATROFÉ", pl_PL:"PLATYNOWE TROFEUM", ru_RU:"ПЛАТИНА", en_ID:"PIALA PLATINA", ARABIC:"PLATINUM TROPHY", jp_JP:"PLATINUM TROPHY", CHINESE_CN:"PLATINUM TROPHY", es_MX:"TROFEO DE PLATINO", es_AR:"TROFEO DE PLATINO"}, {ID:40, en_US:"Stone Medal", en_GB:"Stone Medal", nl_NL:"Stenen medaille", fr_FR:"Médaille de pierre", de_DE:"Steinmedaille", es_ES:"Medalla de piedra", pt_BR:"Medalha de Pedra", pt_PT:"Medalha de Pedra", it_IT:"Medaglia di pietra", sv_SE:"Stenmedalj", pl_PL:"Kamienny medal", ru_RU:"Каменная медаль", en_ID:"Medali Batu", ARABIC:"Stone Medal", jp_JP:"Stone Medal", CHINESE_CN:"Stone Medal", es_MX:"Medalla de piedra", es_AR:"Medalla de piedra"}, {ID:41, en_US:"Bronze Medal", en_GB:"Bronze Medal", nl_NL:"Bronzen medaille", fr_FR:"Médaille de bronze", de_DE:"Bronzemedaille", es_ES:"Medalla de bronce", pt_BR:"Medalha de Bronze", pt_PT:"Medalha de Bronze", it_IT:"Medaglia di bronzo", sv_SE:"Bronsmedalj", pl_PL:"Brązowy medal", ru_RU:"Бронзовая медаль", en_ID:"Medali Perunggu", ARABIC:"Bronze Medal", jp_JP:"Bronze Medal", CHINESE_CN:"Bronze Medal", es_MX:"Medalla de bronce", es_AR:"Medalla de bronce"}, {ID:42, en_US:"Silver Medal", en_GB:"Silver Medal", nl_NL:"Zilveren medaille", fr_FR:"Médaille d'argent", de_DE:"Silbermedaille", es_ES:"Medalla de plata", pt_BR:"Medalha de Prata", pt_PT:"Medalha de Prata", it_IT:"Medaglia d'argento", sv_SE:"Silvermedalj", pl_PL:"Srebrny medal", ru_RU:"Серебряная медаль", en_ID:"Medali Perak", ARABIC:"Silver Medal", jp_JP:"Silver Medal", CHINESE_CN:"Silver Medal", es_MX:"Medalla de plata", es_AR:"Medalla de plata"}, {ID:43, en_US:"Gold Medal", en_GB:"Gold Medal", nl_NL:"Gouden medaille", fr_FR:"Médaille d'or", de_DE:"Goldmedaille", es_ES:"Medalla de oro", pt_BR:"Medalha de Ouro", pt_PT:"Medalha de Ouro", it_IT:"Medaglia d'oro", sv_SE:"Guldmedalj", pl_PL:"Złoty medal", ru_RU:"Золотая медаль", en_ID:"Medali Emas", ARABIC:"Gold Medal", jp_JP:"Gold Medal", CHINESE_CN:"Gold Medal", es_MX:"Medalla de oro", es_AR:"Medalla de oro"}, {ID:44, en_US:"Platinum Medal", en_GB:"Platinum Medal", nl_NL:"Platina medaille", fr_FR:"Médaille de platine", de_DE:"Platinmedaille", es_ES:"Medalla de platino", pt_BR:"Medalha de Platina", pt_PT:"Medalha de Platina", it_IT:"Medaglia di platino", sv_SE:"Platinamedalj", pl_PL:"Platynowy medal", ru_RU:"Платиновая медаль", en_ID:"Medali Platina", ARABIC:"Platinum Medal", jp_JP:"Platinum Medal", CHINESE_CN:"Platinum Medal", es_MX:"Medalla de platino", es_AR:"Medalla de platino"}, {ID:45, en_US:"CRYSTALS", en_GB:"CRYSTALS", nl_NL:"KRISTALLEN", fr_FR:"CRISTAUX", de_DE:"KRISTALLE", es_ES:"CRISTALES", pt_BR:"[x] CRISTAIS", pt_PT:"[x] CRISTAIS", it_IT:"CRISTALLI", sv_SE:"KRISTALLER", pl_PL:"KRYSZTAŁY", ru_RU:"КРИСТАЛЛОВ", en_ID:"KRISTAL", ARABIC:"CRYSTALS", jp_JP:"CRYSTALS", CHINESE_CN:"CRYSTALS", es_MX:"CRISTALES", es_AR:"CRISTALES"}, {ID:46, en_US:"IN SURVIVAL MODE, YOU FIGHT ALIENS UNTIL YOU DIE!", en_GB:"IN SURVIVAL MODE, YOU FIGHT ALIENS UNTIL YOU DIE!", nl_NL:"IN 'OVERLEVEN' VECHT JE TEGEN ALIENS TOT JE ERBIJ NEERVALT!", fr_FR:"EN MODE SURVIE, TU TE BATS CONTRE LES EXTRATERRESTRES JUSQU'À LA MORT !", de_DE:"IM ÜBERLEBEN-MODUS KÄMPFST DU GEGEN ALIENS, BIS DU STIRBST.", es_ES:"¡EN MODO SUPERVIVENCIA LUCHAS CONTRA LOS ALIENS HASTA MORIR!", pt_BR:"NO MODO SOBREVIVÊNCIA, VOCÊ COMBATE ALIENÍGENAS ATÉ MORRER!", pt_PT:"NO MODO DE SOBREVIVÊNCIA, COMBATES OS EXTRATERRESTRES ATÉ MORRERES!", it_IT:"IN MODALITÀ SOPPRAVVIVI, DEVI COMBATTERE GLI ALIENI FINO ALLA MORTE!", sv_SE:"I ÖVERLEVNADSLÄGET SLÅSS DU MOT UTOMJORDINGAR TILLS DU DÖR!", pl_PL:"W TRYBIE SURVIVAL WALCZYSZ Z KOSMITAMI, DOPÓKI NIE ZGINIESZ!", ru_RU:"В РЕЖИМЕ ВЫЖИВАНИЯ ТЫ СРАЖАЕШЬСЯ С ПРИШЕЛЬЦАМИ ДО КОНЦА!", en_ID:"DALAM MODE BERTAHAN HIDUP, KAMU MELAWAN PARA ALIEN HINGGA KAMU MATI!", ARABIC:"IN SURVIVAL MODE, YOU FIGHT ALIENS UNTIL YOU DIE!", jp_JP:"IN SURVIVAL MODE, YOU FIGHT ALIENS UNTIL YOU DIE!", CHINESE_CN:"IN SURVIVAL MODE, YOU FIGHT ALIENS UNTIL YOU DIE!", es_MX:"¡EN MODO SUPERVIVENCIA LUCHAS CONTRA LOS ALIENS HASTA MORIR!", es_AR:"¡EN MODO SUPERVIVENCIA LUCHAS CONTRA LOS ALIENS HASTA MORIR!"}, {ID:47, en_US:"THERE ARE NO CRYSTAL REWARDS", en_GB:"THERE ARE NO CRYSTAL REWARDS", nl_NL:"JE KUNT GEEN KRISTALLEN VERDIENEN", fr_FR:"IL N'Y A PAS DE CRISTAUX COMME RÉCOMPENSE", de_DE:"ES GIBT KEINE KRISTALLPREISE", es_ES:"NO HAY RECOMPENSAS DE CRISTALES", pt_BR:"NÃO HÁ RECOMPENSAS DE CRISTAL", pt_PT:"NÃO HÁ PRÉMIOS EM CRISTAIS", it_IT:"NON TROVERAI CRISTALLI.", sv_SE:"DET FINNS INGA KRISTALLBELÖNINGAR", pl_PL:"NIE DOSTAJESZ W NAGRODĘ KRYSZTAŁÓW", ru_RU:"НАГРАДЫ В ВИДЕ КРИСТАЛЛОВ НЕТ", en_ID:"TIDAK ADA HADIAH KRISTAL", ARABIC:"THERE ARE NO CRYSTAL REWARDS", jp_JP:"THERE ARE NO CRYSTAL REWARDS", CHINESE_CN:"THERE ARE NO CRYSTAL REWARDS", es_MX:"NO HAY RECOMPENSAS DE CRISTALES", es_AR:"NO HAY RECOMPENSAS DE CRISTALES"}, {ID:48, en_US:"YOU CAN'T ACCESS INVENTORY DURING PLAY", en_GB:"YOU CAN'T ACCESS INVENTORY DURING PLAY", nl_NL:"JE KUNT JE INVENTARIS NIET GEBRUIKEN", fr_FR:"TU NE PEUX PAS ACCÉDER AU STOCK PENDANT LE JEU", de_DE:"BEIM SPIELEN KANNST DU NICHT AUFS INVENTAR ZUGREIFEN", es_ES:"NO PUEDES ACCEDER AL INVENTARIO DURANTE LA PARTIDA", pt_BR:"VOCÊ NÃO PODE ACESSAR O INVENTÁRIO DURANTE AS FASES", pt_PT:"NÃO PODES ACEDER AO INVENTÁRIO DURANTE O JOGO", it_IT:"NON POTRAI ACCEDERE ALL'INVENTARIO IN PARTITA.", sv_SE:"DU HAR INTE TILLGÅNG TILL LAGRET UNDER SPEL", pl_PL:"NIE MASZ DOSTĘPU DO INWENTARZA W TRAKCIE GRY", ru_RU:"ВО ВРЕМЯ ИГРЫ ИНВЕНТАРЬ НЕДОСТУПЕН", en_ID:"KAMU TIDAK DAPAT MENGAKSES INVENTARIS SELAMA PERMAINAN", ARABIC:"YOU CAN'T ACCESS INVENTORY DURING PLAY", jp_JP:"YOU CAN'T ACCESS INVENTORY DURING PLAY", CHINESE_CN:"YOU CAN'T ACCESS INVENTORY DURING PLAY", es_MX:"NO PUEDES ACCEDER AL INVENTARIO DURANTE LA PARTIDA", es_AR:"NO PUEDES ACCEDER AL INVENTARIO DURANTE LA PARTIDA"}, {ID:49, en_US:"WHEN YOUR ENERGY RUNS OUT, IT'S GAME OVER", en_GB:"WHEN YOUR ENERGY RUNS OUT, IT'S GAME OVER", nl_NL:"ALS JE ENERGIE OP IS, IS HET SPEL VOORBIJ", fr_FR:"SI TON ÉNERGIE EST ÉPUISÉE, LE JEU EST TERMINÉ", de_DE:"WENN DEINE ENERGIE VERBRAUCHT IST, IST DAS SPIEL ZU ENDE", es_ES:"CUANDO SE TE ACABA LA ENERGÍA, SE ACABA LA PARTIDA", pt_BR:"QUANDO SUA ENERGIA TERMINAR, O JOGO ACABA", pt_PT:"QUANDO A TUA ENERGIA ACABA, O JOGO TERMINA", it_IT:"QUANDO FINISCI L'ENERGIA, PERDERAI.", sv_SE:"NÄR DIN ENERGI TAR SLUT ÄR SPELET ÖVER", pl_PL:"KIEDY TWOJA ENERGIA SIĘ WYCZERPIE, GRA JEST SKOŃCZONA", ru_RU:"ИГРА ЗАКОНЧИТСЯ, КОГДА У ТЕБЯ ИССЯКНЕТ ЭНЕРГИЯ", en_ID:"KETIKA ENERGIMU HABIS, GAME TAMAT", ARABIC:"WHEN YOUR ENERGY RUNS OUT, IT'S GAME OVER", jp_JP:"WHEN YOUR ENERGY RUNS OUT, IT'S GAME OVER", CHINESE_CN:"WHEN YOUR ENERGY RUNS OUT, IT'S GAME OVER", es_MX:"CUANDO SE TE ACABA LA ENERGÍA, SE ACABA LA PARTIDA", es_AR:"CUANDO SE TE ACABA LA ENERGÍA, SE ACABA LA PARTIDA"}, {ID:50, en_US:"WHEN YOU DIE, YOUR SCORE IS SUBMITTED", en_GB:"WHEN YOU DIE, YOUR SCORE IS SUBMITTED", nl_NL:"ALS JE DOODGAAT, WORDT JE SCORE VERZONDEN", fr_FR:"LORSQUE TU MEURS, TON SCORE EST VALIDÉ", de_DE:"WENN DU STIRBST, WERDEN DEINE PUNKTE EINGETRAGEN", es_ES:"CUANDO MUERES, SE ENVÍA TU PUNTUACIÓN", pt_BR:"QUANDO VOCÊ MORRE, SUA PONTUAÇÃO É ENVIADA", pt_PT:"QUANDO MORRES, A TUA PONTUAÇÃO É ENCIADA", it_IT:"QUANDO MUORI, VERRÀ INVIATO IL TUO PUNTEGGIO.", sv_SE:"NÄR DU DÖR PUBLICERAS DIN POÄNG", pl_PL:"KIEDY ZGINIESZ, TWÓJ WYNIK ZOSTAJE ZAPISANY", ru_RU:"ПОСЛЕ ГИБЕЛИ ТВОЙ СЧЕТ СОХРАНЯЕТСЯ", en_ID:"KETIKA KAMU MATI, SKORMU DIKIRIMKAN", ARABIC:"WHEN YOU DIE, YOUR SCORE IS SUBMITTED", jp_JP:"WHEN YOU DIE, YOUR SCORE IS SUBMITTED", CHINESE_CN:"WHEN YOU DIE, YOUR SCORE IS SUBMITTED", es_MX:"CUANDO MUERES, SE ENVÍA TU PUNTUACIÓN", es_AR:"CUANDO MUERES, SE ENVÍA TU PUNTUACIÓN"}, {ID:51, en_US:"IN BOSS BLITZ MODE, YOU FIGHT ALL THE BOSSES!", en_GB:"IN BOSS BLITZ MODE, YOU FIGHT ALL THE BOSSES!", nl_NL:"IN 'BAAS BOVEN BAAS' VECHT JE TEGEN ALLE EINDBAZEN!", fr_FR:"EN MODE BOSS ÉCLAIR, TU TE BATS CONTRE TOUS LES BOSS !", de_DE:"IM BOSS-BLITZ-MODUS KÄMPFST DU GEGEN ALLE BOSSE!", es_ES:"EN MODO ATAQUE DE JEFES, ¡LUCHAS CONTRA TODOS LOS JEFES!", pt_BR:"NO MODO BLITZ DE CHEFÕES, VOCÊ ENFRENTA TODOS OS CHEFÕES!", pt_PT:"NO MODO DE CHEFE DA SURPRESA, COMBATES TODOS OS CHEFES!", it_IT:"IN MODALITÀ BOSS BLITZ, AFFRONTERAI TUTTI I BOSS!", sv_SE:"I BOSSBLITZ-LÄGET SLÅSS DU MOT ALLA BOSSARNA!", pl_PL:"W TRYBIE ANTYBOSSOWEJ KRUCJATY WALCZYSZ ZE WSZYSTKIMI BOSSAMI!", ru_RU:"В РЕЖИМЕ БОССОВ ТЫ СРАЖАЕШЬСЯ ТОЛЬКО С БОССАМИ!", en_ID:"DALAM MODE SERANGAN KILAT KE RAJA, KAMU MELAWAN SEMUA RAJA!", ARABIC:"IN BOSS BLITZ MODE, YOU FIGHT ALL THE BOSSES!", jp_JP:"IN BOSS BLITZ MODE, YOU FIGHT ALL THE BOSSES!", CHINESE_CN:"IN BOSS BLITZ MODE, YOU FIGHT ALL THE BOSSES!", es_MX:"EN MODO ATAQUE DE JEFES, ¡LUCHAS CONTRA TODOS LOS JEFES!", es_AR:"EN MODO ATAQUE DE JEFES, ¡LUCHAS CONTRA TODOS LOS JEFES!"}, {ID:52, en_US:"THE BOSSES ARE TOUGHER", en_GB:"THE BOSSES ARE TOUGHER", nl_NL:"DE BAZEN ZIJN STERKER", fr_FR:"LES BOSS SONT PLUS FORTS", de_DE:"DIE BOSSE SIND AM ZÄHESTEN", es_ES:"LOS JEFES SON MÁS DUROS", pt_BR:"OS CHEFÕES SÃO MAIS DIFÍCEIS", pt_PT:"OS CHEFES SÃO MAIS RESISTENTES", it_IT:"I BOSS SONO OSSI DURI.", sv_SE:"BOSSARNA ÄR TUFFARE", pl_PL:"BOSSOWIE SĄ TRUDNIEJSZYMI PRZECIWNIKAMI", ru_RU:"БОССЫ ЕЩЕ КРУЧЕ", en_ID:"PARA RAJA LEBIH KUAT", ARABIC:"THE BOSSES ARE TOUGHER", jp_JP:"THE BOSSES ARE TOUGHER", CHINESE_CN:"THE BOSSES ARE TOUGHER", es_MX:"LOS JEFES SON MÁS DUROS", es_AR:"LOS JEFES SON MÁS DUROS"}, {ID:53, en_US:"YOU CAN ACCESS INVENTORY BETWEEN BOSSES", en_GB:"YOU CAN ACCESS INVENTORY BETWEEN BOSSES", nl_NL:"JE KUNT TUSSEN ELK GEVECHT JE INVENTARIS RAADPLEGEN", fr_FR:"TU PEUX ACCÉDER AU STOCK ENTRE LES BOSS", de_DE:"DU KANNST ZWISCHEN DEN BOSSEN AUF DEIN INVENTAR ZUGREIFEN", es_ES:"PUEDES ACCEDER AL INVENTARIO ENTRE JEFE Y JEFE", pt_BR:"VOCÊ PODE ACESSAR O INVENTÁRIO ENTRE UM CHEFÃO E OUTRO", pt_PT:"PODES ACEDER AO INVENTÁRIO ENTRE CHEFES", it_IT:"POTRAI ACCEDERE ALL'INVENTARIO TRA UN BOSS E L'ALTRO.", sv_SE:"DU HAR TILLGÅNG TILL LAGRET MELLAN BOSSARNA", pl_PL:"DOSTĘP DO INWENTARZA MASZ POMIĘDZY WALKAMI Z KOLEJNYMI BOSSAMI", ru_RU:"ТЫ ПОЛУЧАЕШЬ ДОСТУП К ИНВЕНТАРЮ МЕЖДУ БОЯМИ", en_ID:"KAMU DAPAT MENGAKSES INVENTARIS DI ANTARA PARA RAJA", ARABIC:"YOU CAN ACCESS INVENTORY BETWEEN BOSSES", jp_JP:"YOU CAN ACCESS INVENTORY BETWEEN BOSSES", CHINESE_CN:"YOU CAN ACCESS INVENTORY BETWEEN BOSSES", es_MX:"PUEDES ACCEDER AL INVENTARIO ENTRE JEFE Y JEFE", es_AR:"PUEDES ACCEDER AL INVENTARIO ENTRE JEFE Y JEFE"}, {ID:54, en_US:"RESTORE HP", en_GB:"RESTORE HP", nl_NL:"HP HERSTELLEN", fr_FR:"RÉTABLIR HP", de_DE:"LP REGENERIEREN", es_ES:"RESTABLECER PV", pt_BR:"RESTAURAR HP", pt_PT:"RESTAURAR PV", it_IT:"RIPRISTINA PV", sv_SE:"ÅTERSTÄLL HP", pl_PL:"ODNÓW HP", ru_RU:"ЗАЛЕЧИТЬ РАНЫ", en_ID:"PULIHKAN HP", ARABIC:"RESTORE HP", jp_JP:"RESTORE HP", CHINESE_CN:"RESTORE HP", es_MX:"RESTABLECER PV", es_AR:"RESTABLECER PV"}, {ID:55, en_US:"SUPER SPEED", en_GB:"SUPER SPEED", nl_NL:"SUPERSNELHEID", fr_FR:"SUPER RAPIDE", de_DE:"SUPERTEMPO", es_ES:"SÚPER VELOCIDAD", pt_BR:"SUPER VELOCIDADE", pt_PT:"SUPER VELOCIDADE", it_IT:"SUPERVELOCITÀ", sv_SE:"SUPERFART", pl_PL:"SUPERPRĘDKOŚĆ", ru_RU:"СУПЕРСКОРОСТЬ", en_ID:"KECEPATAN SUPER", ARABIC:"SUPER SPEED", jp_JP:"SUPER SPEED", CHINESE_CN:"SUPER SPEED", es_MX:"SÚPER VELOCIDAD", es_AR:"SÚPER VELOCIDAD"}, {ID:56, en_US:"SUPER DAMAGE", en_GB:"SUPER DAMAGE", nl_NL:"SUPERSCHADE", fr_FR:"SUPER DÉGÂTS", de_DE:"SUPERSCHADEN", es_ES:"SÚPER DAÑO", pt_BR:"SUPER DANO", pt_PT:"SUPER DANOS", it_IT:"SUPERDANNI", sv_SE:"SUPERSKADA", pl_PL:"SUPEROBRAŻENIA", ru_RU:"СУПЕРУРОН", en_ID:"KERUSAKAN SUPER", ARABIC:"SUPER DAMAGE", jp_JP:"SUPER DAMAGE", CHINESE_CN:"SUPER DAMAGE", es_MX:"SÚPER DAÑO", es_AR:"SÚPER DAÑO"}, {ID:57, en_US:"SUPER SHIELD", en_GB:"SUPER SHIELD", nl_NL:"SUPERSCHILD", fr_FR:"SUPER BOUCLIER", de_DE:"SUPERSCHILD", es_ES:"SÚPER ESCUDO", pt_BR:"SUPER ESCUDO", pt_PT:"SUPER ESCUDO", it_IT:"SUPERSCUDO", sv_SE:"SUPERSKÖLD", pl_PL:"SUPERTARCZA", ru_RU:"СУПЕРЩИТ", en_ID:"PELINDUNG SUPER", ARABIC:"SUPER SHIELD", jp_JP:"SUPER SHIELD", CHINESE_CN:"SUPER SHIELD", es_MX:"SÚPER ESCUDO", es_AR:"SÚPER ESCUDO"}, {ID:58, en_US:"MEGA BOMB", en_GB:"MEGA BOMB", nl_NL:"MEGABOM", fr_FR:"MÉGA BOMBE", de_DE:"MEGABOMBE", es_ES:"MEGA BOMBA", pt_BR:"MEGA BOMBA", pt_PT:"MEGA BOMBA", it_IT:"MEGABOMBA", sv_SE:"MEGABOMB", pl_PL:"MEGABOMBA", ru_RU:"МЕГАБОМБА", en_ID:"BOM MEGA", ARABIC:"MEGA BOMB", jp_JP:"MEGA BOMB", CHINESE_CN:"MEGA BOMB", es_MX:"MEGA BOMBA", es_AR:"MEGA BOMBA"}, {ID:59, en_US:"OPTIONS", en_GB:"OPTIONS", nl_NL:"OPTIES", fr_FR:"OPTIONS", de_DE:"OPTIONEN", es_ES:"OPCIONES", pt_BR:"OPÇÕES", pt_PT:"OPÇÕES", it_IT:"OPZIONI", sv_SE:"ALTERNATIV", pl_PL:"OPCJE", ru_RU:"НАСТРОЙКИ", en_ID:"OPSI", ARABIC:"OPTIONS", jp_JP:"OPTIONS", CHINESE_CN:"OPTIONS", es_MX:"OPCIONES", es_AR:"OPCIONES"}, {ID:60, en_US:"EXTRA EFFECTS", en_GB:"EXTRA EFFECTS", nl_NL:"EXTRA EFFECTEN", fr_FR:"PLUS D'EFFETS", de_DE:"EXTRA-EFFEKTE", es_ES:"EFECTOS EXTRA", pt_BR:"EFEITOS EXTRAS", pt_PT:"EFEITOS EXTRA", it_IT:"EFFETTI EXTRA", sv_SE:"EXTRA EFFEKTER", pl_PL:"DODATKOWE EFEKTY", ru_RU:"СПЕЦЭФФЕКТЫ", en_ID:"EFEK EKSTRA", ARABIC:"EXTRA EFFECTS", jp_JP:"EXTRA EFFECTS", CHINESE_CN:"EXTRA EFFECTS", es_MX:"EFECTOS EXTRA", es_AR:"EFECTOS EXTRA"}, {ID:61, en_US:"QUALITY", en_GB:"QUALITY", nl_NL:"KWALITEIT", fr_FR:"QUALITÉ", de_DE:"QUALITÄT", es_ES:"CALIDAD", pt_BR:"QUALIDADE", pt_PT:"QUALIDADE", it_IT:"QUALITÀ", sv_SE:"KVALITET", pl_PL:"JAKOŚĆ", ru_RU:"КАЧЕСТВО", en_ID:"KUALITAS", ARABIC:"QUALITY", jp_JP:"QUALITY", CHINESE_CN:"QUALITY", es_MX:"CALIDAD", es_AR:"CALIDAD"}, {ID:62, en_US:"HIGH", en_GB:"HIGH", nl_NL:"HOOG", fr_FR:"ÉLEVÉE", de_DE:"HOCH", es_ES:"ALTA", pt_BR:"ALTA", pt_PT:"ELEVADA", it_IT:"ALTA", sv_SE:"HÖG", pl_PL:"WYSOKA", ru_RU:"ВЫС", en_ID:"TINGGI", ARABIC:"HIGH", jp_JP:"HIGH", CHINESE_CN:"HIGH", es_MX:"ALTA", es_AR:"ALTA"}, {ID:63, en_US:"MED", en_GB:"MED", nl_NL:"GEMIDDELD", fr_FR:"MOYENNE", de_DE:"MITTEL", es_ES:"MEDIA", pt_BR:"MÉDIA", pt_PT:"MÉD", it_IT:"MEDIA", sv_SE:"MEDEL", pl_PL:"ŚREDNIA", ru_RU:"НОРМ", en_ID:"SEDANG", ARABIC:"MED", jp_JP:"MED", CHINESE_CN:"MED", es_MX:"MEDIA", es_AR:"MEDIA"}, {ID:64, en_US:"LOW", en_GB:"LOW", nl_NL:"LAAG", fr_FR:"BASSE", de_DE:"NIEDRIG", es_ES:"BAJA", pt_BR:"BAIXA", pt_PT:"BAIXA", it_IT:"BASSA", sv_SE:"LÅG", pl_PL:"NISKA", ru_RU:"НИЗ", en_ID:"RENDAH", ARABIC:"LOW", jp_JP:"LOW", CHINESE_CN:"LOW", es_MX:"BAJA", es_AR:"BAJA"}, {ID:65, en_US:"SOUND", en_GB:"SOUND", nl_NL:"GELUID", fr_FR:"SON", de_DE:"SOUND", es_ES:"SONIDO", pt_BR:"SOM", pt_PT:"SOM", it_IT:"AUDIO", sv_SE:"LJUD", pl_PL:"DŹWIĘK", ru_RU:"ЗВУК", en_ID:"SUARA", ARABIC:"SOUND", jp_JP:"SOUND", CHINESE_CN:"SOUND", es_MX:"SONIDO", es_AR:"SONIDO"}, {ID:66, en_US:"ON ", en_GB:"ON ", nl_NL:"AAN", fr_FR:"ACTIVÉ", de_DE:"AN ", es_ES:"SÍ", pt_BR:"SIM", pt_PT:"SIM", it_IT:"ON", sv_SE:"PÅ", pl_PL:"WŁ", ru_RU:"ДА", en_ID:"ADA", ARABIC:"ON ", jp_JP:"ON ", CHINESE_CN:"ON ", es_MX:"SÍ", es_AR:"SÍ"}, {ID:67, en_US:"OFF", en_GB:"OFF", nl_NL:"UIT", fr_FR:"DÉSACTIVÉ", de_DE:"AUS", es_ES:"NO", pt_BR:"NÃO", pt_PT:"NÃO", it_IT:"OFF", sv_SE:"AV", pl_PL:"WYŁ", ru_RU:"НЕТ", en_ID:"MATI", ARABIC:"OFF", jp_JP:"OFF", CHINESE_CN:"OFF", es_MX:"NO", es_AR:"NO"}, {ID:68, en_US:"LOADING…", en_GB:"LOADING…", nl_NL:"LADEN...", fr_FR:"EN CHARGEMENT…", de_DE:"WIRD GELADEN...", es_ES:"CARGANDO...", pt_BR:"CARREGANDO...", pt_PT:"A CARREGAR…", it_IT:"CARICAMENTO...", sv_SE:"Laddar ...", pl_PL:"ŁADOWANIE...", ru_RU:"ЗАГРУЗКА...", en_ID:"MEMUATKAN…", ARABIC:"LOADING…", jp_JP:"LOADING…", CHINESE_CN:"LOADING…", es_MX:"CARGANDO...", es_AR:"CARGANDO..."}, {ID:69, en_US:"PREPARING LEVEL…", en_GB:"PREPARING LEVEL…", nl_NL:"LEVEL VOORBEREIDEN...", fr_FR:"NIVEAU EN COURS DE PRÉPARATION…", de_DE:"LEVEL VORBEREITEN...", es_ES:"PREPARANDO NIVEL...", pt_BR:"PREPARANDO FASE...", pt_PT:"A PREPARAR O NÍVEL…", it_IT:"PREPARAZIONE LIVELLO...", sv_SE:"FÖRBEREDER NIVÅ ...", pl_PL:"PRZYGOTOWYWANIE POZIOMU...", ru_RU:"ПОДГОТОВКА УРОВНЯ...", en_ID:"MENYIAPKAN LEVEL…", ARABIC:"PREPARING LEVEL…", jp_JP:"PREPARING LEVEL…", CHINESE_CN:"PREPARING LEVEL…", es_MX:"PREPARANDO NIVEL...", es_AR:"PREPARANDO NIVEL..."}, {ID:70, en_US:"MOVE WITH WASD/ARROW KEYS", en_GB:"MOVE WITH WASD/ARROW KEYS", nl_NL:"BEWEEG MET WASD/PIJLTJESTOETSEN", fr_FR:"DÉPLACE-TOI AVEC LES TOUCHES WASD/FLÉCHÉES", de_DE:"BEWEGEN MIT WASD/PFEILTASTEN", es_ES:"MOVIMIENTO CON WASD/FLECHAS", pt_BR:"MOVA-SE USANDO TECLAS WASD OU AS SETAS", pt_PT:"MOVE-TE COM WASD/TECLAS DAS SETAS", it_IT:"WASD/FRECCE DIREZIONALI PER SPOSTARTI", sv_SE:"GÅ MED WASD/PILTANGENTER", pl_PL:"STERUJ ZA POMOCĄ WASD/STRZAŁEK", ru_RU:"WASD/СТРЕЛКИ = ДВИЖЕНИЕ", en_ID:"GERAKKAN DENGAN TOMBOL WASD/PANAH", ARABIC:"MOVE WITH WASD/ARROW KEYS", jp_JP:"MOVE WITH WASD/ARROW KEYS", CHINESE_CN:"MOVE WITH WASD/ARROW KEYS", es_MX:"MOVIMIENTO CON WASD/FLECHAS", es_AR:"MOVIMIENTO CON WASD/FLECHAS"}, {ID:71, en_US:"JUMP", en_GB:"JUMP", nl_NL:"SPRINGEN", fr_FR:"SAUTER", de_DE:"SPRINGEN", es_ES:"SALTO", pt_BR:"SALTAR", pt_PT:"SALTO", it_IT:"SALTA", sv_SE:"HOPPA", pl_PL:"SKOK", ru_RU:"ПРЫЖОК", en_ID:"LOMPAT", ARABIC:"JUMP", jp_JP:"JUMP", CHINESE_CN:"JUMP", es_MX:"SALTO", es_AR:"SALTO"}, {ID:72, en_US:"ACTIVATE SLOW MOTION", en_GB:"ACTIVATE SLOW MOTION", nl_NL:"SLOW MOTION AANZETTEN", fr_FR:"ACTIVER LE RALENTI", de_DE:"ZEITLUPE AKTIVIEREN", es_ES:"ACTIVAR CÁMARA LENTA", pt_BR:"ATIVAR CÂMERA LENTA", pt_PT:"ATIVAR A CÂMARA LENTA", it_IT:"ATTIVA IL RALLENTATORE", sv_SE:"AKTIVERA SLOW MOTION", pl_PL:"AKTYWUJ ZWOLNIONE TEMPO", ru_RU:"УСКОРЕНИЕ", en_ID:"AKTIFKAN GERAK LAMBAT", ARABIC:"ACTIVATE SLOW MOTION", jp_JP:"ACTIVATE SLOW MOTION", CHINESE_CN:"ACTIVATE SLOW MOTION", es_MX:"ACTIVAR CÁMARA LENTA", es_AR:"ACTIVAR CÁMARA LENTA"}, {ID:73, en_US:"INSTANT DROP", en_GB:"INSTANT DROP", nl_NL:"SNELLE VAL", fr_FR:"BAISSE INSTANTANÉE", de_DE:"SCHNELLLANDUNG", es_ES:"CAÍDA INSTANTÁNEA", pt_BR:"QUEDA INSTANTÂNEA", pt_PT:"QUEDA INSTANTÂNEA", it_IT:"TORNA A TERRA", sv_SE:"SLÄPP GENAST", pl_PL:"INSTANT DROP", ru_RU:"ПАДЕНИЕ", en_ID:"JATUH SEKETIKA", ARABIC:"INSTANT DROP", jp_JP:"INSTANT DROP", CHINESE_CN:"INSTANT DROP", es_MX:"CAÍDA INSTANTÁNEA", es_AR:"CAÍDA INSTANTÁNEA"}, {ID:74, en_US:"LEFT/RIGHT ARROW OR A/D TWICE TO DASH", en_GB:"PRESS LEFT/RIGHT OR A/D TWICE TO DASH", nl_NL:"DRUK 2X OP DE PIJLTJES NAAR LINKS/RECHTS OF A/D OM TE SPRINTEN", fr_FR:"DEUX FOIS FLÈCHES GAUCHE/DROITE OU A/D POUR SE SAUVER", de_DE:"SPRINTEN: ZWEIMAL PFEIL LINKS/RECHTS ODER A/D", es_ES:"FLECHA IZQUIERDA/DERECHA O A/D DOS VECES PARA ESPRINTAR", pt_BR:"SETA ESQUERDA/DIREITA OU A/D 2X PARA DAR UM PIQUE", pt_PT:"SETA PARA A ESQUERDA/DIREITA OU A/D DUAS VEZES PARA INVESTIR", it_IT:"2X FRECCIA SINISTRA/DESTRA O A/D PER SCATTARE", sv_SE:"VÄNSTER/HÖGER PIL ELLER A/D 2 GGR FÖR ATT RUSA", pl_PL:"NACIŚNIJ 2X STRZAŁKĘ W LEWO/W PRAWO LUB A/D, ABY ZROBIĆ UNIK", ru_RU:"НАЖМИ СТРЕЛКУ ВЛЕВО/ВПРАВО или A/D ДВАЖДЫ ДЛЯ БРОСКА", en_ID:"PANAH KIRI/KANAN ATAU A/D DUA KALI UNTUK MENERJANG", ARABIC:"LEFT/RIGHT ARROW OR A/D TWICE TO DASH", jp_JP:"LEFT/RIGHT ARROW OR A/D TWICE TO DASH", CHINESE_CN:"LEFT/RIGHT ARROW OR A/D TWICE TO DASH", es_MX:"FLECHA IZQUIERDA/DERECHA O A/D DOS VECES PARA ESPRINTAR", es_AR:"FLECHA IZQUIERDA/DERECHA O A/D DOS VECES PARA ESPRINTAR"}, {ID:75, en_US:"PLAY", en_GB:"PLAY", nl_NL:"SPELEN", fr_FR:"JOUER", de_DE:"SPIELEN", es_ES:"JUGAR", pt_BR:"JOGAR", pt_PT:"JOGAR", it_IT:"GIOCA", sv_SE:"SPELA", pl_PL:"ZAGRAJ", ru_RU:"ИГРАТЬ", en_ID:"MAINKAN", ARABIC:"PLAY", jp_JP:"PLAY", CHINESE_CN:"PLAY", es_MX:"JUGAR", es_AR:"JUGAR"}, {ID:76, en_US:"LIFE", en_GB:"LIFE", nl_NL:"LEVENS", fr_FR:"VIE", de_DE:"LEBEN", es_ES:"VIDA", pt_BR:"VIDA", pt_PT:"VIDA", it_IT:"VITA", sv_SE:"LIV", pl_PL:"ŻYCIE", ru_RU:"ЖИЗНЬ", en_ID:"NYAWA", ARABIC:"LIFE", jp_JP:"LIFE", CHINESE_CN:"LIFE", es_MX:"VIDA", es_AR:"VIDA"}, {ID:77, en_US:"BOSS", en_GB:"BOSS", nl_NL:"BAAS", fr_FR:"BOSS", de_DE:"BOSS", es_ES:"JEFE", pt_BR:"CHEFÃO", pt_PT:"CHEFE", it_IT:"BOSS", sv_SE:"BOSS", pl_PL:"BOSS", ru_RU:"БОСС", en_ID:"RAJA", ARABIC:"BOSS", jp_JP:"BOSS", CHINESE_CN:"BOSS", es_MX:"JEFE", es_AR:"JEFE"}, {ID:78, en_US:"PAUSED", en_GB:"PAUSED", nl_NL:"PAUZE", fr_FR:"EN PAUSE", de_DE:"ANGEHALTEN", es_ES:"PAUSA", pt_BR:"PAUSADO", pt_PT:"EM PAUSA", it_IT:"PAUSA", sv_SE:"PAUSAT", pl_PL:"PAUZA", ru_RU:"ПАУЗА", en_ID:"JEDA", ARABIC:"PAUSED", jp_JP:"PAUSED", CHINESE_CN:"PAUSED", es_MX:"PAUSA", es_AR:"PAUSA"}, {ID:79, en_US:"RESUME", en_GB:"CONTINUE", nl_NL:"DOORGAAN", fr_FR:"REPRENDRE", de_DE:"WEITERSPIELEN", es_ES:"REANUDAR", pt_BR:"CONTINUAR", pt_PT:"CONTINUAR", it_IT:"RIPRENDI", sv_SE:"ÅTERGÅ", pl_PL:"KONTYNUUJ", ru_RU:"ИГРАТЬ", en_ID:"LANJUTKAN LAGI", ARABIC:"RESUME", jp_JP:"RESUME", CHINESE_CN:"RESUME", es_MX:"REANUDAR", es_AR:"REANUDAR"}, {ID:80, en_US:"QUIT", en_GB:"QUIT", nl_NL:"STOPPEN", fr_FR:"QUITTER", de_DE:"BEENDEN", es_ES:"ABANDONAR", pt_BR:"SAIR", pt_PT:"SAIR", it_IT:"ESCI", sv_SE:"AVSLUTA", pl_PL:"ZAKOŃCZ", ru_RU:"ВЫХОД", en_ID:"KELUAR", ARABIC:"QUIT", jp_JP:"QUIT", CHINESE_CN:"QUIT", es_MX:"ABANDONAR", es_AR:"ABANDONAR"}, {ID:81, en_US:"LEVEL FAILED", en_GB:"LEVEL FAILED", nl_NL:"LEVEL MISLUKT", fr_FR:"NIVEAU NON ATTEINT", de_DE:"LEVEL NICHT BESTANDEN", es_ES:"NIVEL FALLIDO", pt_BR:"FASE PERDIDA", pt_PT:"NÍVEL FALHADO", it_IT:"LIVELLO FALLITO", sv_SE:"NIVÅ EJ KLARAD", pl_PL:"POZIOM NIE ZOSTAŁ UKOŃCZONY", ru_RU:"НЕ ВЫШЛО...", en_ID:"LEVEL GAGAL", ARABIC:"LEVEL FAILED", jp_JP:"LEVEL FAILED", CHINESE_CN:"LEVEL FAILED", es_MX:"NIVEL FALLIDO", es_AR:"NIVEL FALLIDO"}, {ID:82, en_US:"RETRY", en_GB:"RETRY", nl_NL:"OPNIEUW PROBEREN", fr_FR:"ESSAYER À NOUVEAU ", de_DE:"NOCHMAL VERSUCHEN", es_ES:"REINTENTAR", pt_BR:"REPETIR", pt_PT:"REPETIR", it_IT:"RIPROVA", sv_SE:"SPELA OM", pl_PL:"SPRÓBUJ PONOWNIE", ru_RU:"ЕЩЕ РАЗ", en_ID:"COBA LAGI", ARABIC:"RETRY", jp_JP:"RETRY", CHINESE_CN:"RETRY", es_MX:"REINTENTAR", es_AR:"REINTENTAR"}, {ID:83, en_US:"EXIT", en_GB:"EXIT", nl_NL:"SLUITEN", fr_FR:"SORTIR", de_DE:"ENDE", es_ES:"SALIR", pt_BR:"SAIR", pt_PT:"SAIR", it_IT:"ESCI", sv_SE:"AVSLUTA", pl_PL:"WYJŚCIE", ru_RU:"ВЫХОД", en_ID:"KELUAR", ARABIC:"EXIT", jp_JP:"EXIT", CHINESE_CN:"EXIT", es_MX:"SALIR", es_AR:"SALIR"}, {ID:84, en_US:"Watch the intro…", en_GB:"Watch the intro…", nl_NL:"Bekijk de intro...", fr_FR:"Regarder l'intro…", de_DE:"Sieh dir das Intro an...", es_ES:"Ver la intro...", pt_BR:"Ver a introdução...", pt_PT:"Vê a introdução…", it_IT:"Guarda l'introduzione...", sv_SE:"Titta på intro ...", pl_PL:"Obejrzyj intro...", ru_RU:"Просмотр вступления...", en_ID:"Lihat intro…", ARABIC:"Watch the intro…", jp_JP:"Watch the intro…", CHINESE_CN:"Watch the intro…", es_MX:"Ver la intro...", es_AR:"Ver la intro..."}, {ID:85, en_US:"No More Aliens!", en_GB:"No More Aliens!", nl_NL:"Weg met de aliens!", fr_FR:"Plus d'extraterrestres !", de_DE:"Weg mit den Aliens!", es_ES:"¡No más Aliens!", pt_BR:"Caçador de Aliens!", pt_PT:"Não há mais Extraterrestres!", it_IT:"Addio alieni!", sv_SE:"Kriga mot aliens!", pl_PL:"Precz z Kosmitami!", ru_RU:"Вломи пришельцам!", en_ID:"Tidak ada Alien Lagi!", ARABIC:"No More Aliens!", jp_JP:"No More Aliens!", CHINESE_CN:"No More Aliens!", es_MX:"¡No más Aliens!", es_AR:"¡No más Aliens!"}, {ID:86, en_US:"Machine Gun", en_GB:"Machine Gun", nl_NL:"Machinegeweer", fr_FR:"Mitrailleuse", de_DE:"Maschinengewehr", es_ES:"Ametralladora", pt_BR:"Metralhadora", pt_PT:"Metralhadora", it_IT:"Mitragliatrice", sv_SE:"Maskingevär", pl_PL:"Karabin maszynowy", ru_RU:"Пулемет", en_ID:"Senapan Mesin", ARABIC:"Machine Gun", jp_JP:"Machine Gun", CHINESE_CN:"Machine Gun", es_MX:"Ametralladora", es_AR:"Ametralladora"}, {ID:87, en_US:"Fast, basic weapon.", en_GB:"Fast, basic weapon.", nl_NL:"Snel, normaal wapen.", fr_FR:"Arme standard rapide.", de_DE:"Schnelle Standardwaffe.", es_ES:"Arma rápida y básica.", pt_BR:"Arma básica e rápida.", pt_PT:"Arma básica, rápida.", it_IT:"Arma semplice e veloce.", sv_SE:"Snabbt, enkelt vapen.", pl_PL:"Szybka broń podstawowa.", ru_RU:"Скорострельное основное оружие.", en_ID:"Cepat, senjata dasar.", ARABIC:"Fast, basic weapon.", jp_JP:"Fast, basic weapon.", CHINESE_CN:"Fast, basic weapon.", es_MX:"Arma rápida y básica.", es_AR:"Arma rápida y básica."}, {ID:88, en_US:"Rocket Launcher", en_GB:"Rocket Launcher", nl_NL:"Raketwerper", fr_FR:"Lance-fusées", de_DE:"Raketenwerfer", es_ES:"Lanzacohetes", pt_BR:"Lançador de foguetes", pt_PT:"Lançador de foguetes", it_IT:"Lanciarazzi", sv_SE:"Raketgevär", pl_PL:"Wyrzutnia rakiet", ru_RU:"Ракетомет", en_ID:"Peluncur Roket", ARABIC:"Rocket Launcher", jp_JP:"Rocket Launcher", CHINESE_CN:"Rocket Launcher", es_MX:"Lanzacohetes", es_AR:"Lanzacohetes"}, {ID:89, en_US:"Launches rockets.", en_GB:"Launches rockets.", nl_NL:"Vuurt raketten af.", fr_FR:"Lance des fusées.", de_DE:"Verschießt Raketen.", es_ES:"Dispara cohetes.", pt_BR:"Lança foguetes.", pt_PT:"Lança foguetes.", it_IT:"Lancia i razzi.", sv_SE:"Skjuter raketer.", pl_PL:"Strzela rakietami.", ru_RU:"Стреляет ракетами.", en_ID:"Meluncurkan roket.", ARABIC:"Launches rockets.", jp_JP:"Launches rockets.", CHINESE_CN:"Launches rockets.", es_MX:"Dispara cohetes.", es_AR:"Dispara cohetes."}, {ID:90, en_US:"Shotgun", en_GB:"Shotgun", nl_NL:"Jachtgeweer", fr_FR:"Fusil", de_DE:"Schrotflinte", es_ES:"Escopeta", pt_BR:"Escopeta", pt_PT:"Espingarda", it_IT:"Fucile", sv_SE:"Hagelgevär", pl_PL:"Strzelba", ru_RU:"Дробовик", en_ID:"Senapan Laras Ganda", ARABIC:"Shotgun", jp_JP:"Shotgun", CHINESE_CN:"Shotgun", es_MX:"Escopeta", es_AR:"Escopeta"}, {ID:91, en_US:"Powerful, but slow weapon.", en_GB:"Powerful, but slow weapon.", nl_NL:"Krachtig maar langzaam wapen.", fr_FR:"Arme puissante, mais lente.", de_DE:"Starke, aber langsame Waffe.", es_ES:"Arma potente, pero lenta", pt_BR:"Arma potente, porém lenta.", pt_PT:"Arma poderosa, mas lenta.", it_IT:"Arma potente, ma lenta.", sv_SE:"Kraftfullt, men långsamt vapen.", pl_PL:"Mocna, ale wolna broń.", ru_RU:"Мощное, но медленное оружие.", en_ID:"Senjata kuat, tetapi lambat.", ARABIC:"Powerful, but slow weapon.", jp_JP:"Powerful, but slow weapon.", CHINESE_CN:"Powerful, but slow weapon.", es_MX:"Arma potente, pero lenta.", es_AR:"Arma potente, pero lenta."}, {ID:92, en_US:"Laser", en_GB:"Laser", nl_NL:"Laser", fr_FR:"Laser", de_DE:"Laser", es_ES:"Láser", pt_BR:"Laser", pt_PT:"Laser", it_IT:"Laser", sv_SE:"Laser", pl_PL:"Laser", ru_RU:"Лазер", en_ID:"Laser", ARABIC:"Laser", jp_JP:"Laser", CHINESE_CN:"Laser", es_MX:"Láser", es_AR:"Láser"}, {ID:93, en_US:"Powerful laser.", en_GB:"Powerful laser.", nl_NL:"Krachtige laser.", fr_FR:"Laser puissant.", de_DE:"Starker Laser.", es_ES:"Láser poderoso.", pt_BR:"Laser potente.", pt_PT:"Laser poderoso.", it_IT:"È un potente laser.", sv_SE:"Kraftfull laser.", pl_PL:"Potężny laser.", ru_RU:"Мощный лазер.", en_ID:"Laser yang kuat.", ARABIC:"Powerful laser.", jp_JP:"Powerful laser.", CHINESE_CN:"Powerful laser.", es_MX:"Láser poderoso.", es_AR:"Láser poderoso."}, {ID:94, en_US:"Plasma Ball", en_GB:"Plasma Ball", nl_NL:"Plasmabol", fr_FR:"Boule plasma", de_DE:"Plasmakugel", es_ES:"Bola de plasma", pt_BR:"Bola de plasma", pt_PT:"Bola de plasma", it_IT:"Sfera di plasma", sv_SE:"Plasmaboll", pl_PL:"Kula plazmy", ru_RU:"Сгусток плазмы", en_ID:"Bola Plasma", ARABIC:"Plasma Ball", jp_JP:"Plasma Ball", CHINESE_CN:"Plasma Ball", es_MX:"Bola de plasma", es_AR:"Bola de plasma"}, {ID:95, en_US:"Protective, slow-working bomb.", en_GB:"Protective, slow-working bomb.", nl_NL:"Een beschermende maar langzame bom.", fr_FR:"Bombe protectrice à action lente.", de_DE:"Langsame Schutzbombe.", es_ES:"Bomba protectora de actuación lenta.", pt_BR:"Bomba protetiva de atuação lenta.", pt_PT:"Bomba protetora de funcionamento lento.", it_IT:"Bomba lenta di difesa.", sv_SE:"Förvarsvapen, långsam bomb.", pl_PL:"Ochronna, wolno działająca bomba.", ru_RU:"Оборонительная бомба.", en_ID:"Bom pelindung, bekerja dengan lambat.", ARABIC:"Protective, slow-working bomb.", jp_JP:"Protective, slow-working bomb.", CHINESE_CN:"Protective, slow-working bomb.", es_MX:"Bomba protectora de actuación lenta.", es_AR:"Bomba protectora de actuación lenta."}, {ID:96, en_US:"Flame Thrower", en_GB:"Flame Thrower", nl_NL:"Vlammenwerper", fr_FR:"Lance-flammes", de_DE:"Flammenwerfer", es_ES:"Lanzallamas", pt_BR:"Lança-chamas", pt_PT:"Lança-chamas", it_IT:"Lanciafiamme", sv_SE:"Eldkastare", pl_PL:"Miotacz płomieni", ru_RU:"Огнемет", en_ID:"Pelontar Api", ARABIC:"Flame Thrower", jp_JP:"Flame Thrower", CHINESE_CN:"Flame Thrower", es_MX:"Lanzallamas", es_AR:"Lanzallamas"}, {ID:97, en_US:"Shoots flames.", en_GB:"Shoots flames.", nl_NL:"Vuurt vlammen af.", fr_FR:"Lance des flammes.", de_DE:"Verschießt Feuer.", es_ES:"Dispara llamas.", pt_BR:"Solta fogo.", pt_PT:"Dispara chamas.", it_IT:"Arma incendiaria.", sv_SE:"Sprutar eld.", pl_PL:"Strzela płomieniami.", ru_RU:"Извергает пламя.", en_ID:"Menembakkan api.", ARABIC:"Shoots flames.", jp_JP:"Shoots flames.", CHINESE_CN:"Shoots flames.", es_MX:"Dispara llamas.", es_AR:"Dispara llamas."}, {ID:98, en_US:"Homing Missiles", en_GB:"Homing Missiles", nl_NL:"Geleide raketten", fr_FR:"Missiles autoguidés", de_DE:"Zielsuchraketen", es_ES:"Misiles buscadores", pt_BR:"Lança-mísseis", pt_PT:"Mísseis Teleguiados", it_IT:"Missili a ricerca", sv_SE:"Målsökande missil", pl_PL:"Pociski samonaprowadzające", ru_RU:"Самонавод.ракеты", en_ID:"Rudal Pelacak", ARABIC:"Homing Missiles", jp_JP:"Homing Missiles", CHINESE_CN:"Homing Missiles", es_MX:"Misiles buscadores", es_AR:"Misiles buscadores"}, {ID:99, en_US:"Shoots guided missiles.", en_GB:"Shoots guided missiles.", nl_NL:"Vuurt geleide raketten af.", fr_FR:"Lance des missiles autoguidés.", de_DE:"Verschießt gelenkte Raketen.", es_ES:"Dispara misiles guiados.", pt_BR:"Atira mísseis teleguiados.", pt_PT:"Dispara mísseis teleguiados.", it_IT:"Spara missili a ricerca.", sv_SE:"Skjuter målsökande missiler.", pl_PL:"Wyrzuca pociski sterowane.", ru_RU:"Стреляет самонавод. ракетами.", en_ID:"Menembakkan rudal terpandu.", ARABIC:"Shoots guided missiles.", jp_JP:"Shoots guided missiles.", CHINESE_CN:"Shoots guided missiles.", es_MX:"Dispara misiles guiados.", es_AR:"Dispara misiles guiados."}, {ID:100, en_US:"Turbo Machine Gun", en_GB:"Turbo Machine Gun", nl_NL:"Turbomitrailleur", fr_FR:"Turbo mitrailleuse", de_DE:"Turbo-Maschinengewehr", es_ES:"Ametralladora turbo", pt_BR:"Turbometralhadora", pt_PT:"Metralhadora Turbo", it_IT:"Mitragliatrice turbo", sv_SE:"Turbomaskingevär", pl_PL:"Karabin maszynowy turbo", ru_RU:"Суперпулемет", en_ID:"Senapan Mesin Turbo", ARABIC:"Turbo Machine Gun", jp_JP:"Turbo Machine Gun", CHINESE_CN:"Turbo Machine Gun", es_MX:"Ametralladora turbo", es_AR:"Ametralladora turbo"}, {ID:101, en_US:"Enhanced machine gun.", en_GB:"Enhanced machine gun.", nl_NL:"Een uitgebreider machinegeweer.", fr_FR:"Mitrailleuse perfectionnée.", de_DE:"Verbessertes Maschinengewehr.", es_ES:"Ametralladora mejorada.", pt_BR:"Metralhadora aprimorada.", pt_PT:"Metralhadora melhorada.", it_IT:"Mitragliatrice potenziata.", sv_SE:"Förbättrat maskingevär.", pl_PL:"Wzmocniony karabin maszynowy.", ru_RU:"Улучшенный пулемет.", en_ID:"Senapan mesin yang ditingkatkan.", ARABIC:"Enhanced machine gun.", jp_JP:"Enhanced machine gun.", CHINESE_CN:"Enhanced machine gun.", es_MX:"Ametralladora mejorada.", es_AR:"Ametralladora mejorada."}, {ID:102, en_US:"Turbo Shotgun", en_GB:"Turbo Shotgun", nl_NL:"Turbogeweer", fr_FR:"Turbo fusil", de_DE:"Turbo-Schrotflinte", es_ES:"Escopeta turbo", pt_BR:"Escopeta Turbo", pt_PT:"Espingarda Turbo", it_IT:"Fucile turbo", sv_SE:"Turbohagelgevär", pl_PL:"Strzelba turbo", ru_RU:"Супердробовик", en_ID:"Senapan Laras Ganda Turbo", ARABIC:"Turbo Shotgun", jp_JP:"Turbo Shotgun", CHINESE_CN:"Turbo Shotgun", es_MX:"Escopeta turbo", es_AR:"Escopeta turbo"}, {ID:103, en_US:"Stronger double shot.", en_GB:"Stronger double shot.", nl_NL:"Krachtiger dubbelloops geweer.", fr_FR:"Deux coups plus puissants.", de_DE:"Stärker und doppelläufig.", es_ES:"Disparo doble más potente.", pt_BR:"Tiro duplo ainda mais potente.", pt_PT:"Duplo tiro mais forte.", it_IT:"Spara un doppio colpo.", sv_SE:"Kraftigare dubbelskott.", pl_PL:"Silniejszy podwójny strzał.", ru_RU:"Плотность огня вдвое больше.", en_ID:"Tembakan ganda yang lebih kuat.", ARABIC:"Stronger double shot.", jp_JP:"Stronger double shot.", CHINESE_CN:"Stronger double shot.", es_MX:"Disparo doble más potente.", es_AR:"Disparo doble más potente."}, {ID:104, en_US:"Big Rockets", en_GB:"Big Rockets", nl_NL:"Grote raketten", fr_FR:"Machine à grosses fusées", de_DE:"Mega-Raketen", es_ES:"Cohetes grandes", pt_BR:"Super foguetes", pt_PT:"Grandes Mísseis", it_IT:"Razzi grandi", sv_SE:"Stora raketer", pl_PL:"Wielkie rakiety", ru_RU:"Большие ракеты", en_ID:"Roket Besar", ARABIC:"Big Rockets", jp_JP:"Big Rockets", CHINESE_CN:"Big Rockets", es_MX:"Cohetes grandes", es_AR:"Cohetes grandes"}, {ID:105, en_US:"Shoots bigger rockets.", en_GB:"Shoots bigger rockets.", nl_NL:"Vuurt grotere raketten af.", fr_FR:"Lance des fusées plus grosses.", de_DE:"Verschießt größere Raketen.", es_ES:"Dispara cohetes más grandes.", pt_BR:"Lança foguetes maiores.", pt_PT:"Dispara mísseis maiores.", it_IT:"Spara razzi più grossi.", sv_SE:"Skjuter större raketer.", pl_PL:"Strzela większymi rakietami.", ru_RU:"Ракеты помощнее.", en_ID:"Menembakkan roket yang lebih besar.", ARABIC:"Shoots bigger rockets.", jp_JP:"Shoots bigger rockets.", CHINESE_CN:"Shoots bigger rockets.", es_MX:"Dispara cohetes más grandes.", es_AR:"Dispara cohetes más grandes."}, {ID:106, en_US:"Turbo Laser", en_GB:"Turbo Laser", nl_NL:"Turbolaser", fr_FR:"Turbo laser", de_DE:"Turbolaser", es_ES:"Láser turbo", pt_BR:"Turbolaser", pt_PT:"Laser Turbo", it_IT:"Laser turbo", sv_SE:"Turbolaser", pl_PL:"Laser turbo", ru_RU:"Суперлазер", en_ID:"Laser Turbo", ARABIC:"Turbo Laser", jp_JP:"Turbo Laser", CHINESE_CN:"Turbo Laser", es_MX:"Láser turbo", es_AR:"Láser turbo"}, {ID:107, en_US:"Enhanced laser.", en_GB:"Enhanced laser.", nl_NL:"Krachtigere laser.", fr_FR:"Laser perfectionné.", de_DE:"Verbesserter Laser.", es_ES:"Láser mejorado.", pt_BR:"Laser aprimorado.", pt_PT:"Laser melhorado.", it_IT:"Laser potenziato.", sv_SE:"Förbättrad laser.", pl_PL:"Wzmocniony laser.", ru_RU:"Улучшенный лазер новой модели.", en_ID:"Laser yang ditingkatkan.", ARABIC:"Enhanced laser.", jp_JP:"Enhanced laser.", CHINESE_CN:"Enhanced laser.", es_MX:"Láser mejorado.", es_AR:"Láser mejorado."}, {ID:108, en_US:"Turbo Flame Thrower", en_GB:"Turbo Flame Thrower", nl_NL:"Turbovlammen", fr_FR:"Turbo lance-flammes", de_DE:"Turbo-Flammenwerfer", es_ES:"Lanzallamas turbo", pt_BR:"Lança-chamas turbo", pt_PT:"Lança-chamas Turbo", it_IT:"Lanciafiamme turbo", sv_SE:"Turboeldkastare", pl_PL:"Miotacz płomieni turbo", ru_RU:"Крутой огнемет", en_ID:"Pelontar Api Turbo", ARABIC:"Turbo Flame Thrower", jp_JP:"Turbo Flame Thrower", CHINESE_CN:"Turbo Flame Thrower", es_MX:"Lanzallamas turbo", es_AR:"Lanzallamas turbo"}, {ID:109, en_US:"Bigger flames.", en_GB:"Bigger flames.", nl_NL:"Grotere vlammen.", fr_FR:"Flammes plus hautes.", de_DE:"Größere Flammen.", es_ES:"Llamas más grandes.", pt_BR:"Chamas maiores.", pt_PT:"Chamas maiores.", it_IT:"Ha una maggior potenza di fuoco.", sv_SE:"Större eldflammor.", pl_PL:"Większe płomienie.", ru_RU:"Пламя стало еще жарче.", en_ID:"Api yang lebih besar.", ARABIC:"Bigger flames.", jp_JP:"Bigger flames.", CHINESE_CN:"Bigger flames.", es_MX:"Llamas más grandes.", es_AR:"Llamas más grandes."}, {ID:110, en_US:"Turbo Homing Missiles", en_GB:"Turbo Homing Missiles", nl_NL:"Turboraketten", fr_FR:"Turbo missiles autoguidés", de_DE:"Turbo-Zielsuchraketen", es_ES:"Misiles buscadores turbo", pt_BR:"Lança-mísseis turbo", pt_PT:"Mísseis Teleguiado Turbo", it_IT:"Missili a ricerca turbo", sv_SE:"Målsökande turbomissil", pl_PL:"Pociski samonaprowadzające turbo", ru_RU:"Турборакетница", en_ID:"Rudal Pelacak Turbo", ARABIC:"Turbo Homing Missiles", jp_JP:"Turbo Homing Missiles", CHINESE_CN:"Turbo Homing Missiles", es_MX:"Misiles buscadores turbo", es_AR:"Misiles buscadores turbo"}, {ID:111, en_US:"Shoots missiles faster.", en_GB:"Shoots missiles faster.", nl_NL:"Vuurt raketten sneller af.", fr_FR:"Lance des missiles plus rapides .", de_DE:"Verschießt Raketen schneller.", es_ES:"Dispara misiles más rápido.", pt_BR:"Lança mísseis mais rápido.", pt_PT:"Dispara mísseis mais rapidamente.", it_IT:"Spara missili più velocemente.", sv_SE:"Skjuter missiler snabbare.", pl_PL:"Szybciej wyrzuca pociski.", ru_RU:"Стреляет самонавод. ракетами чаще.", en_ID:"Menembakkan rudal lebih cepat.", ARABIC:"Shoots missiles faster.", jp_JP:"Shoots missiles faster.", CHINESE_CN:"Shoots missiles faster.", es_MX:"Dispara misiles más rápido.", es_AR:"Dispara misiles más rápido."}, {ID:112, en_US:"B.F.G.", en_GB:"B.F.G.", nl_NL:"B.F.G.", fr_FR:"B.F.G.", de_DE:"B.F.G.", es_ES:"B.F.G.", pt_BR:"B.F.G.", pt_PT:"B.F.G.", it_IT:"B.F.G.", sv_SE:"B.F.G.", pl_PL:"B.F.G.", ru_RU:"B.F.G.", en_ID:"B.F.G.", ARABIC:"B.F.G.", jp_JP:"B.F.G.", CHINESE_CN:"B.F.G.", es_MX:"B.F.G.", es_AR:"B.F.G."}, {ID:113, en_US:"Really big gun.", en_GB:"Really big gun.", nl_NL:"Een enorm wapen.", fr_FR:"Canon vraiment gros.", de_DE:"Echt mächtige Waffe.", es_ES:"Arma realmente grande.", pt_BR:"Uma arma realmente grande.", pt_PT:"Arma mesmo grande.", it_IT:"Arma veramente grossa.", sv_SE:"Riktigt mäktigt vapen.", pl_PL:"Naprawdę wielka broń.", ru_RU:"Просто убойная пушка.", en_ID:"Senjata yang sangat besar.", ARABIC:"Really big gun.", jp_JP:"Really big gun.", CHINESE_CN:"Really big gun.", es_MX:"Arma realmente grande.", es_AR:"Arma realmente grande."}, {ID:114, en_US:"HP Recovery", en_GB:"HP Recovery", nl_NL:"HP-herstel", fr_FR:"Rétablissement HP", de_DE:"LP-Regeneration", es_ES:"Recuperación de PV", pt_BR:"Recuperador de HP", pt_PT:"Recuperação de PV", it_IT:"Kit medico", sv_SE:"Påfyllning HP", pl_PL:"Regeneracja HP", ru_RU:"Регенерация", en_ID:"Pemulihan HP", ARABIC:"HP Recovery", jp_JP:"HP Recovery", CHINESE_CN:"HP Recovery", es_MX:"Recuperación de PV", es_AR:"Recuperación de PV"}, {ID:115, en_US:"Refills HP slowly.", en_GB:"Refills HP slowly.", nl_NL:"Vult HP langzaam aan.", fr_FR:"Remplit lentement HP.", de_DE:"Lädt langsam deine LP wieder auf.", es_ES:"Rellena los PV lentamente.", pt_BR:"Recupera HP lentamente.", pt_PT:"Enche os PV lentamente.", it_IT:"Ripristina PV lentamente.", sv_SE:"Fyller HP långsamt.", pl_PL:"Powoli odnawia HP.", ru_RU:"Медленно заживляет раны.", en_ID:"Mengisi ulang HP perlahan.", ARABIC:"Refills HP slowly.", jp_JP:"Refills HP slowly.", CHINESE_CN:"Refills HP slowly.", es_MX:"Rellena los PV lentamente.", es_AR:"Rellena los PV lentamente."}, {ID:116, en_US:"Super HP Recovery", en_GB:"Super HP Recovery", nl_NL:"HP-herstel XL", fr_FR:"Rétablissement super HP", de_DE:"LP-Superregeneration", es_ES:"Súper recuperación de PV", pt_BR:"Super Recuperador de HP", pt_PT:"Super Recuperação de PV", it_IT:"Super kit medico", sv_SE:"Påfyllning super-HP", pl_PL:"Superregeneracja HP", ru_RU:"Супераптечка", en_ID:"Pemulihan HP Super", ARABIC:"Super HP Recovery", jp_JP:"Super HP Recovery", CHINESE_CN:"Super HP Recovery", es_MX:"Súper recuperación de PV", es_AR:"Súper recuperación de PV"}, {ID:117, en_US:"Auto-refills HP.", en_GB:"Auto-refills HP.", nl_NL:"Vult HP automatisch aan.", fr_FR:"Remplit automatiquement HP.", de_DE:"Füllt deine LP automatisch wieder auf.", es_ES:"Rellena los PV automáticamente.", pt_BR:"Recupera HP automaticamente.", pt_PT:"Reenche automaticamente os PV.", it_IT:"Ripristina PV automaticamente.", sv_SE:"Fyller på HP automatiskt.", pl_PL:"Automatycznie odnawia HP.", ru_RU:"Автоматически заживляет раны.", en_ID:"Mengisi ulang HP otomatis.", ARABIC:"Auto-refills HP.", jp_JP:"Auto-refills HP.", CHINESE_CN:"Auto-refills HP.", es_MX:"Rellena los PV automáticamente.", es_AR:"Rellena los PV automáticamente."}, {ID:118, en_US:"Bullet Time Recovery", en_GB:"Bullet Time Recovery", nl_NL:"Kogelherstel", fr_FR:"Rétablissement de balle", de_DE:"Zeitlupen-Aufladung", es_ES:"Recuperación de tiempo bala", pt_BR:"Recuperador de Tempo de Bala", pt_PT:"Recuperação de Tempo de Balas", it_IT:"Kit rallentatore", sv_SE:"Omladdningstid", pl_PL:"Regeracja Bullet Time", ru_RU:"Стероиды", en_ID:"Pemulihan Pelambatan Waktu", ARABIC:"Bullet Time Recovery", jp_JP:"Bullet Time Recovery", CHINESE_CN:"Bullet Time Recovery", es_MX:"Recuperación de tiempo bala", es_AR:"Recuperación de tiempo bala"}, {ID:119, en_US:"Faster recovery.", en_GB:"Faster recovery.", nl_NL:"Sneller herstellen.", fr_FR:"Rétablissement plus rapide.", de_DE:"Schnellere Aufladung.", es_ES:"Recuperación más rápida.", pt_BR:"Recuperação mais rápida.", pt_PT:"Recuperação mais rápida.", it_IT:"Ripristina il rallentatore più velocemente.", sv_SE:"Snabbare omladdning.", pl_PL:"Szybsza regeneracja.", ru_RU:"Пользуйся ускорением чаще!", en_ID:"Pemulihan lebih cepat.", ARABIC:"Faster recovery.", jp_JP:"Faster recovery.", CHINESE_CN:"Faster recovery.", es_MX:"Recuperación más rápida.", es_AR:"Recuperación más rápida."}, {ID:120, en_US:"Super BT Recovery", en_GB:"Super BT Recovery", nl_NL:"Kogelherstel XL", fr_FR:"Rétablissement de balle super", de_DE:"Zeitlupen-Superaufladung", es_ES:"Súper recuperación de tiempo bala", pt_BR:"Super Recuperador de TB", pt_PT:"Super Recuperação de Tempo de Balas", it_IT:"Super kit rallentatore", sv_SE:"Super-omladdning", pl_PL:"Superregeneracja BT", ru_RU:"Суперстероиды", en_ID:"Pemulihan Pelambatan Waktu Super", ARABIC:"Super BT Recovery", jp_JP:"Super BT Recovery", CHINESE_CN:"Super BT Recovery", es_MX:"Súper recuperación de tiempo bala", es_AR:"Súper recuperación de tiempo bala"}, {ID:121, en_US:"Even faster recovery.", en_GB:"Even faster recovery.", nl_NL:"Nog sneller herstellen.", fr_FR:"Rétablissement encore plus rapide.", de_DE:"Noch schnellere Aufladung.", es_ES:"Recuperación aún más rápida.", pt_BR:"Recuperação ainda mais rápida.", pt_PT:"Recuperação ainda mais rápida.", it_IT:"Ripristina il rallentatore ancor più velocemente.", sv_SE:"Ännu snabbare omladdning.", pl_PL:"Jeszcze szybsza regeneracja.", ru_RU:"Пользуйся ускорением еще чаще!", en_ID:"Pemulihan yang lebih cepat lagi.", ARABIC:"Even faster recovery.", jp_JP:"Even faster recovery.", CHINESE_CN:"Even faster recovery.", es_MX:"Recuperación aún más rápida.", es_AR:"Recuperación aún más rápida."}, {ID:122, en_US:"Plasma Bomber", en_GB:"Plasma Bomber", nl_NL:"Plasmakanon", fr_FR:"Bombardier plasma", de_DE:"Plasmabomber", es_ES:"Bombardero de plasma", pt_BR:"Bombardeador de plasma", pt_PT:"Bomba de Plasma", it_IT:"Lanciaplasma", sv_SE:"Plasmabombare", pl_PL:"Wyrzutnia plazmy", ru_RU:"Плазмомет", en_ID:"Pembom Plasma", ARABIC:"Plasma Bomber", jp_JP:"Plasma Bomber", CHINESE_CN:"Plasma Bomber", es_MX:"Bombardero de plasma", es_AR:"Bombardero de plasma"}, {ID:123, en_US:"Throws plasma bombs.", en_GB:"Throws plasma bombs.", nl_NL:"Vuurt plasmabommen af.", fr_FR:"Jette des bombes plasma.", de_DE:"Wirft Plasmabomben.", es_ES:"Lanza bombas de plasma.", pt_BR:"Lança bombas de plasma.", pt_PT:"Lança bombas de plasma.", it_IT:"Lancia bombe al plasma.", sv_SE:"Kastar plasmabomber.", pl_PL:"Wyrzuca bomby plazmowe.", ru_RU:"Стреляет плазменными бомбами.", en_ID:"Melontarkan bom plasma.", ARABIC:"Throws plasma bombs.", jp_JP:"Throws plasma bombs.", CHINESE_CN:"Throws plasma bombs.", es_MX:"Lanza bombas de plasma.", es_AR:"Lanza bombas de plasma."}, {ID:124, en_US:"Missile Launcher", en_GB:"Missile Launcher", nl_NL:"Raketwerper", fr_FR:"Lance-engins", de_DE:"Raketenkanone", es_ES:"Lanzamisiles", pt_BR:"Lança-mísseis", pt_PT:"Lança-mísseis", it_IT:"Lanciamissili", sv_SE:"Missilramp", pl_PL:"Wyrzutnia pocisków", ru_RU:"Ракетница", en_ID:"Peluncur Rudal", ARABIC:"Missile Launcher", jp_JP:"Missile Launcher", CHINESE_CN:"Missile Launcher", es_MX:"Lanzamisiles", es_AR:"Lanzamisiles"}, {ID:125, en_US:"Launches homing missiles.", en_GB:"Launches homing missiles.", nl_NL:"Vuurt geleide raketten af.", fr_FR:"Lance des missiles autoguidés.", de_DE:"Verschießt Zielsuchraketen.", es_ES:"Dispara misiles buscadores.", pt_BR:"Lança mísseis teleguiados.", pt_PT:"Lança mísseis teleguiados.", it_IT:"Lancia missili a ricerca.", sv_SE:"Skjuter målsökande missiler.", pl_PL:"Wyrzuca pociski samonaprowadzajace.", ru_RU:"Пускает самонавод. ракеты.", en_ID:"Meluncurkan rudal pelacak.", ARABIC:"Launches homing missiles.", jp_JP:"Launches homing missiles.", CHINESE_CN:"Launches homing missiles.", es_MX:"Dispara misiles buscadores.", es_AR:"Dispara misiles buscadores."}, {ID:126, en_US:"Crystal Magnet", en_GB:"Crystal Magnet", nl_NL:"Kristalmagneet", fr_FR:"Aimant en cristal", de_DE:"Kristallmagnet", es_ES:"Imán de cristales", pt_BR:"Ímã de cristais", pt_PT:"Magneto de Cristal", it_IT:"Magnete per cristalli", sv_SE:"Kristallmagnet", pl_PL:"Kryształowy magnes", ru_RU:"Криталломагнит", en_ID:"Magnet Kristal", ARABIC:"Crystal Magnet", jp_JP:"Crystal Magnet", CHINESE_CN:"Crystal Magnet", es_MX:"Imán de cristales", es_AR:"Imán de cristales"}, {ID:127, en_US:"Attracts crystals from further away.", en_GB:"Attracts crystals from further away.", nl_NL:"Trekt kristallen van verder weg aan.", fr_FR:"Attire les cristaux situés un peu plus loin.", de_DE:"Zieht Kristalle aus größerer Entfernung an.", es_ES:"Atrae cristales desde lejos.", pt_BR:"Atrai cristais distantes.", pt_PT:"Atrai cristais de mais longe.", it_IT:"Attira i cristalli da lontano.", sv_SE:"Drar till sig kristaller från längre avstånd.", pl_PL:"Przyciąga kryształy z daleka.", ru_RU:"Притягивает кристаллы издалека.", en_ID:"Menarik kristal dari jarak jauh.", ARABIC:"Attracts crystals from further away.", jp_JP:"Attracts crystals from further away.", CHINESE_CN:"Attracts crystals from further away.", es_MX:"Atrae cristales desde lejos.", es_AR:"Atrae cristales desde lejos."}, {ID:128, en_US:"Crystal Multiplier", en_GB:"Crystal Multiplier", nl_NL:"Kristalvermenigvuldiger", fr_FR:"Multiplicateur de cristaux", de_DE:"Kristallmultiplikator", es_ES:"Multiplicador de cristales", pt_BR:"Multiplicador de cristais", pt_PT:"Multiplicador de Cristais", it_IT:"Bonus cristalli", sv_SE:"Kristallmultiplikator", pl_PL:"Kryształowy mnożnik", ru_RU:"Умножитель", en_ID:"Pengganda Kristal", ARABIC:"Crystal Multiplier", jp_JP:"Crystal Multiplier", CHINESE_CN:"Crystal Multiplier", es_MX:"Multiplicador de cristales", es_AR:"Multiplicador de cristales"}, {ID:129, en_US:"25% more crystals.", en_GB:"25% more crystals.", nl_NL:"25% meer kristallen.", fr_FR:"25 % de cristaux en plus.", de_DE:"25% mehr Kristalle.", es_ES:"25% más de cristales.", pt_BR:"25% mais cristais.", pt_PT:"25% mais cristais.", it_IT:"Fornisce il 25% di cristalli in più.", sv_SE:"25% mer kristaller.", pl_PL:"25% więcej kryształów.", ru_RU:"На 25% больше кристаллов.", en_ID:"25% lebih banyak kristal.", ARABIC:"25% more crystals.", jp_JP:"25% more crystals.", CHINESE_CN:"25% more crystals.", es_MX:"25% más de cristales.", es_AR:"25% más de cristales."}, {ID:130, en_US:"Super Dash", en_GB:"Super Dash", nl_NL:"Supersprint", fr_FR:"Super course", de_DE:"Supersprint", es_ES:"Súper esprint", pt_BR:"Super pique", pt_PT:"Super Investida", it_IT:"Superscatto", sv_SE:"Superrusning", pl_PL:"Superunik", ru_RU:"Суперрывок", en_ID:"Terjangan Super", ARABIC:"Super Dash", jp_JP:"Super Dash", CHINESE_CN:"Super Dash", es_MX:"Súper esprint", es_AR:"Súper esprint"}, {ID:131, en_US:"Dash faster and further.", en_GB:"Dash faster and further.", nl_NL:"Om sneller en verder te sprinten.", fr_FR:"Permet de courir plus vite et plus loin.", de_DE:"Sprinte schneller und weiter.", es_ES:"Esprinta más rápido y más lejos.", pt_BR:"Dá piques mais rápidos e longos.", pt_PT:"Investe mais rápido e mais longe.", it_IT:"Scatta più rapidamente e più lontano.", sv_SE:"Rusa snabbare och längre.", pl_PL:"Szybszy unik na większą odległość.", ru_RU:"Рывок выходит быстрее и дальше.", en_ID:"Menerjang lebih cepat dan lebih jauh.", ARABIC:"Dash faster and further.", jp_JP:"Dash faster and further.", CHINESE_CN:"Dash faster and further.", es_MX:"Esprinta más rápido y más lejos.", es_AR:"Esprinta más rápido y más lejos."}, {ID:132, en_US:"COMPLETE LEVEL 1 IN CAMPAIGN MODE TO UNLOCK", en_GB:"COMPLETE LEVEL 1 IN CAMPAIGN MODE TO UNLOCK", nl_NL:"VOLTOOI LEVEL 1 IN 'MISSIE' OM DIT VRIJ TE SPELEN", fr_FR:"RÉUSSIS LE NIVEAU 1 EN MODE DE CAMPAGNE POUR DÉVERROUILLER", de_DE:"SCHLIESSE ZUM FREISCHALTEN LEVEL 1 IM KAMPAGNENMODUS AB", es_ES:"COMPLETA EL NIVEL 1 DEL MODO CAMPAÑA PARA DESBLOQUEARLO", pt_BR:"CONCLUA A FASE 1 NO MODO CAMPANHA PARA DESTRAVAR", pt_PT:"COMPLETA O NÍVEL 1 NO MODO CAMPANHA PARA DESBLOQUEARES", it_IT:"COMPLETA IL LIVELLO 1 IN MODALITÀ CAMPAGNA PER SBLOCCARE", sv_SE:"KLARA NIVÅ 1 I KAMPANJLÄGET FÖR ATT LÅSA UPP.", pl_PL:"UKOŃCZ POZIOM 1 W TRYBIE KAMPANII, ABY ODBLOKOWAĆ", ru_RU:"СНАЧАЛА ПРОЙДИ 1 УРОВЕНЬ В РЕЖИМЕ КАМПАНИИ", en_ID:"SELESAIKAN LEVEL 1 DI MODE PENJELAJAHAN UNTUK MEMBUKA", ARABIC:"COMPLETE LEVEL 1 IN CAMPAIGN MODE TO UNLOCK", jp_JP:"COMPLETE LEVEL 1 IN CAMPAIGN MODE TO UNLOCK", CHINESE_CN:"COMPLETE LEVEL 1 IN CAMPAIGN MODE TO UNLOCK", es_MX:"COMPLETA EL NIVEL 1 DEL MODO CAMPAÑA PARA DESBLOQUEARLO", es_AR:"COMPLETA EL NIVEL 1 DEL MODO CAMPAÑA PARA DESBLOQUEARLO"}, {ID:133, en_US:"COMPLETE CAMPAIGN MODE TO UNLOCK", en_GB:"COMPLETE CAMPAIGN MODE TO UNLOCK", nl_NL:"VOLTOOI SPEL IN 'MISSIE' OM DIT VRIJ TE SPELEN", fr_FR:"RÉUSSIS LE MODE DE CAMPAGNE POUR DÉVERROUILLER", de_DE:"SCHLIESSE ZUM FREISCHALTEN DEN KAMPAGNENMODUS AB", es_ES:"COMPLETA EL MODO CAMPAÑA PARA DESBLOQUEARLO", pt_BR:"CONCLUA O MODO CAMPANHA PARA DESTRAVAR", pt_PT:"COMPLETA O MODO CAMPANHA PARA DESBLOQUEARES", it_IT:"COMPLETA LA MODALITÀ CAMPAGNA PER SBLOCCARE", sv_SE:"KLARA KAMPANJLÄGET FÖR ATT LÅSA UPP.", pl_PL:"UKOŃCZ TRYB KAMPANII, ABY ODBLOKOWAĆ", ru_RU:"СНАЧАЛА ПРОЙДИ РЕЖИМ КАМПАНИИ", en_ID:"SELESAIKAN MODE PENJELAJAHAN UNTUK MEMBUKA", ARABIC:"COMPLETE CAMPAIGN MODE TO UNLOCK", jp_JP:"COMPLETE CAMPAIGN MODE TO UNLOCK", CHINESE_CN:"COMPLETE CAMPAIGN MODE TO UNLOCK", es_MX:"COMPLETA EL MODO CAMPAÑA PARA DESBLOQUEARLO", es_AR:"COMPLETA EL MODO CAMPAÑA PARA DESBLOQUEARLO"}, {ID:134, en_US:"WEAPONS", en_GB:"WEAPONS", nl_NL:"WAPENS", fr_FR:"ARMES", de_DE:"WAFFEN", es_ES:"ARMAS", pt_BR:"ARMAS", pt_PT:"ARMAS", it_IT:"ARMI", sv_SE:"VAPEN", pl_PL:"BRONIE", ru_RU:"ОРУЖИЕ", en_ID:"SENJATA", ARABIC:"WEAPONS", jp_JP:"WEAPONS", CHINESE_CN:"WEAPONS", es_MX:"ARMAS", es_AR:"ARMAS"}, {ID:135, en_US:"MODULES", en_GB:"MODULES", nl_NL:"MODULES", fr_FR:"MODULES", de_DE:"MODULE", es_ES:"MÓDULOS", pt_BR:"MÓDULOS", pt_PT:"MÓDULOS", it_IT:"MODULI", sv_SE:"MODULER", pl_PL:"MODUŁY", ru_RU:"МОДУЛИ", en_ID:"MODUL", ARABIC:"MODULES", jp_JP:"MODULES", CHINESE_CN:"MODULES", es_MX:"MÓDULOS", es_AR:"MÓDULOS"}, {ID:136, en_US:"PAUSED", en_GB:"PAUSED", nl_NL:"PAUZE", fr_FR:"EN PAUSE", de_DE:"ANGEHALTEN", es_ES:"PAUSA", pt_BR:"PAUSADO", pt_PT:"EM PAUSA", it_IT:"PAUSA", sv_SE:"PAUSAT", pl_PL:"PAUZA", ru_RU:"ПАУЗА", en_ID:"JEDA", ARABIC:"PAUSED", jp_JP:"PAUSED", CHINESE_CN:"PAUSED", es_MX:"PAUSA", es_AR:"PAUSA"}];
public static var language:String = "en-US";
public function GameText(){
}
public static function $(_arg1:int):String{
var _local2 = "";
if (language == "en_us"){
_local2 = TEXT.textString[(_arg1 - 1)].en_US;
} else {
if (language == "en_uk"){
_local2 = TEXT.textString[(_arg1 - 1)].en_GB;
} else {
if (language == "in"){
_local2 = TEXT.textString[(_arg1 - 1)].en_GB;
} else {
if (language == "ru"){
_local2 = TEXT.textString[(_arg1 - 1)].ru_RU;
} else {
if (language == "es_mx"){
_local2 = TEXT.textString[(_arg1 - 1)].es_MX;
} else {
if (language == "nl"){
_local2 = TEXT.textString[(_arg1 - 1)].nl_NL;
} else {
if (language == "fr"){
_local2 = TEXT.textString[(_arg1 - 1)].fr_FR;
} else {
if (language == "de"){
_local2 = TEXT.textString[(_arg1 - 1)].de_DE;
} else {
if (language == "es"){
_local2 = TEXT.textString[(_arg1 - 1)].es_ES;
} else {
if (language == "br"){
_local2 = TEXT.textString[(_arg1 - 1)].pt_BR;
} else {
if (language == "pt"){
_local2 = TEXT.textString[(_arg1 - 1)].pt_PT;
} else {
if (language == "it"){
_local2 = TEXT.textString[(_arg1 - 1)].it_IT;
} else {
if (language == "se"){
_local2 = TEXT.textString[(_arg1 - 1)].sv_SE;
} else {
if (language == "pl"){
_local2 = TEXT.textString[(_arg1 - 1)].pl_PL;
} else {
if (language == "id"){
_local2 = TEXT.textString[(_arg1 - 1)].en_ID;
} else {
if (language == "ar"){
_local2 = TEXT.textString[(_arg1 - 1)].ARABIC;
} else {
if (language == "cn"){
_local2 = TEXT.textString[(_arg1 - 1)].en_GB;
} else {
if (language == "jp"){
_local2 = TEXT.textString[(_arg1 - 1)].en_GB;
} else {
if (language == "es_ar"){
_local2 = TEXT.textString[(_arg1 - 1)].es_AR;
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
return (_local2);
}
}
}//package data
Section 110
//WeaponData (data.WeaponData)
package data {
import mochi.as3.*;
public class WeaponData {
public static var machinegun:WeaponDefinition = new WeaponDefinition(1, new MochiDigits(200), new MochiDigits(0), "", TEXT.$(86), "bullets", TEXT.$(87), 16, 0.13, 15);
public static var missile:WeaponDefinition = new WeaponDefinition(2, new MochiDigits(700), new MochiDigits(0), "", TEXT.$(88), "missiles", TEXT.$(89), 6, 0.75, 150);
public static var doubleshot:WeaponDefinition = new WeaponDefinition(3, new MochiDigits(300), new MochiDigits(0), "", TEXT.$(90), "big bullets", TEXT.$(91), 13.5, 0.195, 25);
public static var laser:WeaponDefinition = new WeaponDefinition(4, new MochiDigits(700), new MochiDigits(0), "", TEXT.$(92), "laser", TEXT.$(93), 1, 0.5, 80);
public static var plasmaball:WeaponDefinition = new WeaponDefinition(5, new MochiDigits(1000), new MochiDigits(0), "", TEXT.$(94), "plasma", TEXT.$(95), 1, 2.5, 550);
public static var fire:WeaponDefinition = new WeaponDefinition(6, new MochiDigits(1000), new MochiDigits(0), "", TEXT.$(96), "fire", TEXT.$(97), 5, 1.6, 60);
public static var telerocket:WeaponDefinition = new WeaponDefinition(7, new MochiDigits(1000), new MochiDigits(0), "", TEXT.$(98), "telerockets", TEXT.$(99), 7, 0.9, 75);
public static var magneticbomb:WeaponDefinition = new WeaponDefinition(8, new MochiDigits(1000), new MochiDigits(0), "", "Magnetic Bomb", "bullets", "", 16, 0.15, 22);
public static var machinegun2:WeaponDefinition = new WeaponDefinition(9, new MochiDigits(2000), new MochiDigits(0), "", TEXT.$(100), "bullets", TEXT.$(101), 16, 0.15, 22);
public static var doubleshot2:WeaponDefinition = new WeaponDefinition(10, new MochiDigits(2000), new MochiDigits(0), "", TEXT.$(102), "big bullets", TEXT.$(103), 13.5, 0.195, 35);
public static var rocket2:WeaponDefinition = new WeaponDefinition(11, new MochiDigits(3000), new MochiDigits(0), "", TEXT.$(104), "big rockets", TEXT.$(105), 8.2, 1, 250);
public static var laser2:WeaponDefinition = new WeaponDefinition(12, new MochiDigits(3000), new MochiDigits(0), "", TEXT.$(106), "fire", TEXT.$(107), 1, 0.3, 80);
public static var fire2:WeaponDefinition = new WeaponDefinition(13, new MochiDigits(3000), new MochiDigits(0), "", TEXT.$(108), "fire", TEXT.$(109), 4.5, 1.55, 90);
public static var telerocket2:WeaponDefinition = new WeaponDefinition(14, new MochiDigits(3000), new MochiDigits(0), "", TEXT.$(110), "fire", TEXT.$(111), 7, 0.5, 75);
public static var magneticbomb2:WeaponDefinition = new WeaponDefinition(15, new MochiDigits(3000), new MochiDigits(0), "", "Super Magnetic Bomb", "fire", "", 5, 1.6, 60);
public static var bfg:WeaponDefinition = new WeaponDefinition(16, new MochiDigits(6000), new MochiDigits(), "", TEXT.$(112), "fire", TEXT.$(113), 18, 0.25, 60);
public static var smallHP:WeaponDefinition = new WeaponDefinition(31, new MochiDigits(1500), new MochiDigits(0), "", TEXT.$(114), "module", TEXT.$(115), 10, 0, 0);
public static var mediumHP:WeaponDefinition = new WeaponDefinition(32, new MochiDigits(2500), new MochiDigits(0), "", TEXT.$(116), "module", TEXT.$(117), 10, 0, 0);
public static var smallBullet:WeaponDefinition = new WeaponDefinition(33, new MochiDigits(1500), new MochiDigits(0), "", TEXT.$(118), "module", TEXT.$(119), 10, 0, 0);
public static var mediumBullet:WeaponDefinition = new WeaponDefinition(34, new MochiDigits(2500), new MochiDigits(0), "", TEXT.$(120), "module", TEXT.$(121), 10, 0, 0);
public static var bomb:WeaponDefinition = new WeaponDefinition(35, new MochiDigits(2500), new MochiDigits(0), "", TEXT.$(122), "module", TEXT.$(123), 1, 4, 550);
public static var homming:WeaponDefinition = new WeaponDefinition(36, new MochiDigits(2500), new MochiDigits(0), "", TEXT.$(124), "module", TEXT.$(125), 1, 4, 550);
public static var crystalmagnet:WeaponDefinition = new WeaponDefinition(37, new MochiDigits(1000), new MochiDigits(0), "", TEXT.$(126), "module", TEXT.$(127), 1, 4, 550);
public static var crystalmultiplier:WeaponDefinition = new WeaponDefinition(38, new MochiDigits(1000), new MochiDigits(0), "", TEXT.$(128), "module", TEXT.$(129), 1, 4, 550);
public static var superdash:WeaponDefinition = new WeaponDefinition(39, new MochiDigits(1500), new MochiDigits(0), "", TEXT.$(130), "module", TEXT.$(131), 1, 4, 550);
public static function getWeaponDefinition(_arg1:uint):WeaponDefinition{
switch (_arg1){
case 1:
return (WeaponData.machinegun);
case 2:
return (WeaponData.missile);
case 3:
return (WeaponData.doubleshot);
case 4:
return (WeaponData.laser);
case 5:
return (WeaponData.plasmaball);
case 6:
return (WeaponData.fire);
case 7:
return (WeaponData.telerocket);
case 9:
return (WeaponData.machinegun2);
case 10:
return (WeaponData.doubleshot2);
case 11:
return (WeaponData.rocket2);
case 12:
return (WeaponData.laser2);
case 13:
return (WeaponData.fire2);
case 14:
return (WeaponData.telerocket2);
case 15:
return (WeaponData.bfg);
case 16:
return (WeaponData.bfg);
case 31:
return (WeaponData.smallHP);
case 32:
return (WeaponData.mediumHP);
case 33:
return (WeaponData.smallBullet);
case 34:
return (WeaponData.mediumBullet);
case 35:
return (WeaponData.bomb);
case 36:
return (WeaponData.homming);
case 37:
return (WeaponData.crystalmagnet);
case 38:
return (WeaponData.crystalmultiplier);
case 39:
return (WeaponData.superdash);
};
return (null);
}
}
}//package data
Section 111
//WeaponDefinition (data.WeaponDefinition)
package data {
import mochi.as3.*;
public class WeaponDefinition {
private var mPrice:MochiDigits;
private var mPremiumPrice:MochiDigits;
public var premiumID:String;// = ""
public var itemName:String;// = ""
public var throws:String;// = ""
public var description:String;// = ""
public var category:String;// = ""
public var maxQuantity:Number;// = 4
public var isPremium:Boolean;// = false
public var isComsumable:Boolean;// = false
public var isEquippable:Boolean;// = false
public var isStackable:Boolean;// = false
public var moveSpeed:Number;// = 10
public var coldDownTime:Number;// = 0.1
public var itemID:uint;
public var damage:uint;
public var isWeapon:Boolean;// = true
public function WeaponDefinition(_arg1:uint, _arg2:MochiDigits, _arg3:MochiDigits, _arg4:String, _arg5:String, _arg6:String, _arg7:String, _arg8:Number, _arg9:Number, _arg10:uint){
mPrice = new MochiDigits(_arg2.value);
mPremiumPrice = new MochiDigits(_arg3.value);
premiumID = _arg4;
itemName = _arg5;
throws = _arg6;
description = _arg7;
itemID = _arg1;
moveSpeed = _arg8;
coldDownTime = _arg9;
damage = _arg10;
}
public function get price():int{
return (int(mPrice.value));
}
public function get premiumprice():int{
return (int(mPremiumPrice.value));
}
}
}//package data
Section 112
//BaseButton (fl.controls.BaseButton)
package fl.controls {
import flash.display.*;
import flash.events.*;
import fl.core.*;
import flash.utils.*;
import fl.events.*;
public class BaseButton extends UIComponent {
protected var background:DisplayObject;
protected var mouseState:String;
protected var _selected:Boolean;// = false
protected var _autoRepeat:Boolean;// = false
protected var pressTimer:Timer;
private var _mouseStateLocked:Boolean;// = false
private var unlockedMouseState:String;
private static var defaultStyles:Object = {upSkin:"Button_upSkin", downSkin:"Button_downSkin", overSkin:"Button_overSkin", disabledSkin:"Button_disabledSkin", selectedDisabledSkin:"Button_selectedDisabledSkin", selectedUpSkin:"Button_selectedUpSkin", selectedDownSkin:"Button_selectedDownSkin", selectedOverSkin:"Button_selectedOverSkin", focusRectSkin:null, focusRectPadding:null, repeatDelay:500, repeatInterval:35};
public function BaseButton(){
buttonMode = true;
mouseChildren = false;
useHandCursor = false;
setupMouseEvents();
setMouseState("up");
pressTimer = new Timer(1, 0);
pressTimer.addEventListener(TimerEvent.TIMER, buttonDown, false, 0, true);
}
override public function get enabled():Boolean{
return (super.enabled);
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
mouseEnabled = _arg1;
}
public function get selected():Boolean{
return (_selected);
}
public function set selected(_arg1:Boolean):void{
if (_selected == _arg1){
return;
};
_selected = _arg1;
invalidate(InvalidationType.STATE);
}
public function get autoRepeat():Boolean{
return (_autoRepeat);
}
public function set autoRepeat(_arg1:Boolean):void{
_autoRepeat = _arg1;
}
public function set mouseStateLocked(_arg1:Boolean):void{
_mouseStateLocked = _arg1;
if (_arg1 == false){
setMouseState(unlockedMouseState);
} else {
unlockedMouseState = mouseState;
};
}
public function setMouseState(_arg1:String):void{
if (_mouseStateLocked){
unlockedMouseState = _arg1;
return;
};
if (mouseState == _arg1){
return;
};
mouseState = _arg1;
invalidate(InvalidationType.STATE);
}
protected function setupMouseEvents():void{
addEventListener(MouseEvent.ROLL_OVER, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.MOUSE_DOWN, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.MOUSE_UP, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.ROLL_OUT, mouseEventHandler, false, 0, true);
}
protected function mouseEventHandler(_arg1:MouseEvent):void{
if (_arg1.type == MouseEvent.MOUSE_DOWN){
setMouseState("down");
startPress();
} else {
if ((((_arg1.type == MouseEvent.ROLL_OVER)) || ((_arg1.type == MouseEvent.MOUSE_UP)))){
setMouseState("over");
endPress();
} else {
if (_arg1.type == MouseEvent.ROLL_OUT){
setMouseState("up");
endPress();
};
};
};
}
protected function startPress():void{
if (_autoRepeat){
pressTimer.delay = Number(getStyleValue("repeatDelay"));
pressTimer.start();
};
dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true));
}
protected function buttonDown(_arg1:TimerEvent):void{
if (!_autoRepeat){
endPress();
return;
};
if (pressTimer.currentCount == 1){
pressTimer.delay = Number(getStyleValue("repeatInterval"));
};
dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true));
}
protected function endPress():void{
pressTimer.reset();
}
override protected function draw():void{
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawBackground();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
super.draw();
}
protected function drawBackground():void{
var _local1:String = (enabled) ? mouseState : "disabled";
if (selected){
_local1 = (("selected" + _local1.substr(0, 1).toUpperCase()) + _local1.substr(1));
};
_local1 = (_local1 + "Skin");
var _local2:DisplayObject = background;
background = getDisplayObjectInstance(getStyleValue(_local1));
addChildAt(background, 0);
if (((!((_local2 == null))) && (!((_local2 == background))))){
removeChild(_local2);
};
}
protected function drawLayout():void{
background.width = width;
background.height = height;
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 113
//Button (fl.controls.Button)
package fl.controls {
import flash.display.*;
import fl.core.*;
import fl.managers.*;
public class Button extends LabelButton implements IFocusManagerComponent {
protected var _emphasized:Boolean;// = false
protected var emphasizedBorder:DisplayObject;
private static var defaultStyles:Object = {emphasizedSkin:"Button_emphasizedSkin", emphasizedPadding:2};
public static var createAccessibilityImplementation:Function;
public function get emphasized():Boolean{
return (_emphasized);
}
public function set emphasized(_arg1:Boolean):void{
_emphasized = _arg1;
invalidate(InvalidationType.STYLES);
}
override protected function draw():void{
if (((isInvalid(InvalidationType.STYLES)) || (isInvalid(InvalidationType.SIZE)))){
drawEmphasized();
};
super.draw();
if (emphasizedBorder != null){
setChildIndex(emphasizedBorder, (numChildren - 1));
};
}
protected function drawEmphasized():void{
var _local2:Number;
if (emphasizedBorder != null){
removeChild(emphasizedBorder);
};
emphasizedBorder = null;
if (!_emphasized){
return;
};
var _local1:Object = getStyleValue("emphasizedSkin");
if (_local1 != null){
emphasizedBorder = getDisplayObjectInstance(_local1);
};
if (emphasizedBorder != null){
addChildAt(emphasizedBorder, 0);
_local2 = Number(getStyleValue("emphasizedPadding"));
emphasizedBorder.x = (emphasizedBorder.y = -(_local2));
emphasizedBorder.width = (width + (_local2 * 2));
emphasizedBorder.height = (height + (_local2 * 2));
};
}
override public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
var _local3:*;
super.drawFocus(_arg1);
if (_arg1){
_local2 = Number(getStyleValue("emphasizedPadding"));
if ((((_local2 < 0)) || (!(_emphasized)))){
_local2 = 0;
};
_local3 = getStyleValue("focusRectPadding");
_local3 = ((_local3)==null) ? 2 : _local3;
_local3 = (_local3 + _local2);
uiFocusRect.x = -(_local3);
uiFocusRect.y = -(_local3);
uiFocusRect.width = (width + (_local3 * 2));
uiFocusRect.height = (height + (_local3 * 2));
};
}
override protected function initializeAccessibility():void{
if (Button.createAccessibilityImplementation != null){
Button.createAccessibilityImplementation(this);
};
}
public static function getStyleDefinition():Object{
return (UIComponent.mergeStyles(LabelButton.getStyleDefinition(), defaultStyles));
}
}
}//package fl.controls
Section 114
//ButtonLabelPlacement (fl.controls.ButtonLabelPlacement)
package fl.controls {
public class ButtonLabelPlacement {
public static const BOTTOM:String = "bottom";
public static const TOP:String = "top";
public static const LEFT:String = "left";
public static const RIGHT:String = "right";
}
}//package fl.controls
Section 115
//LabelButton (fl.controls.LabelButton)
package fl.controls {
import flash.display.*;
import flash.events.*;
import fl.core.*;
import flash.text.*;
import fl.managers.*;
import fl.events.*;
import flash.ui.*;
public class LabelButton extends BaseButton implements IFocusManagerComponent {
public var textField:TextField;
protected var _labelPlacement:String;// = "right"
protected var _toggle:Boolean;// = false
protected var icon:DisplayObject;
protected var oldMouseState:String;
protected var _label:String;// = "Label"
protected var mode:String;// = "center"
private static var defaultStyles:Object = {icon:null, upIcon:null, downIcon:null, overIcon:null, disabledIcon:null, selectedDisabledIcon:null, selectedUpIcon:null, selectedDownIcon:null, selectedOverIcon:null, textFormat:null, disabledTextFormat:null, textPadding:5, embedFonts:false};
public static var createAccessibilityImplementation:Function;
public function get label():String{
return (_label);
}
public function set label(_arg1:String):void{
_label = _arg1;
if (textField.text != _label){
textField.text = _label;
dispatchEvent(new ComponentEvent(ComponentEvent.LABEL_CHANGE));
};
invalidate(InvalidationType.SIZE);
invalidate(InvalidationType.STYLES);
}
public function get labelPlacement():String{
return (_labelPlacement);
}
public function set labelPlacement(_arg1:String):void{
_labelPlacement = _arg1;
invalidate(InvalidationType.SIZE);
}
public function get toggle():Boolean{
return (_toggle);
}
public function set toggle(_arg1:Boolean):void{
if (((!(_arg1)) && (super.selected))){
selected = false;
};
_toggle = _arg1;
if (_toggle){
addEventListener(MouseEvent.CLICK, toggleSelected, false, 0, true);
} else {
removeEventListener(MouseEvent.CLICK, toggleSelected);
};
invalidate(InvalidationType.STATE);
}
protected function toggleSelected(_arg1:MouseEvent):void{
selected = !(selected);
dispatchEvent(new Event(Event.CHANGE, true));
}
override public function get selected():Boolean{
return ((_toggle) ? _selected : false);
}
override public function set selected(_arg1:Boolean):void{
_selected = _arg1;
if (_toggle){
invalidate(InvalidationType.STATE);
};
}
override protected function configUI():void{
super.configUI();
textField = new TextField();
textField.type = TextFieldType.DYNAMIC;
textField.selectable = false;
addChild(textField);
}
override protected function draw():void{
if (textField.text != _label){
label = _label;
};
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawBackground();
drawIcon();
drawTextFormat();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){
if (((isFocused) && (focusManager.showFocusIndicator))){
drawFocus(true);
};
};
validate();
}
protected function drawIcon():void{
var _local1:DisplayObject = icon;
var _local2:String = (enabled) ? mouseState : "disabled";
if (selected){
_local2 = (("selected" + _local2.substr(0, 1).toUpperCase()) + _local2.substr(1));
};
_local2 = (_local2 + "Icon");
var _local3:Object = getStyleValue(_local2);
if (_local3 == null){
_local3 = getStyleValue("icon");
};
if (_local3 != null){
icon = getDisplayObjectInstance(_local3);
};
if (icon != null){
addChildAt(icon, 1);
};
if (((!((_local1 == null))) && (!((_local1 == icon))))){
removeChild(_local1);
};
}
protected function drawTextFormat():void{
var _local1:Object = UIComponent.getStyleDefinition();
var _local2:TextFormat = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat);
textField.setTextFormat(_local2);
var _local3:TextFormat = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat);
if (_local3 != null){
textField.setTextFormat(_local3);
} else {
_local3 = _local2;
};
textField.defaultTextFormat = _local3;
setEmbedFont();
}
protected function setEmbedFont(){
var _local1:Object = getStyleValue("embedFonts");
if (_local1 != null){
textField.embedFonts = _local1;
};
}
override protected function drawLayout():void{
var _local7:Number;
var _local8:Number;
var _local1:Number = Number(getStyleValue("textPadding"));
var _local2:String = ((((icon == null)) && ((mode == "center")))) ? ButtonLabelPlacement.TOP : _labelPlacement;
textField.height = (textField.textHeight + 4);
var _local3:Number = (textField.textWidth + 4);
var _local4:Number = (textField.textHeight + 4);
var _local5:Number = ((icon)==null) ? 0 : (icon.width + _local1);
var _local6:Number = ((icon)==null) ? 0 : (icon.height + _local1);
textField.visible = (label.length > 0);
if (icon != null){
icon.x = Math.round(((width - icon.width) / 2));
icon.y = Math.round(((height - icon.height) / 2));
};
if (textField.visible == false){
textField.width = 0;
textField.height = 0;
} else {
if ((((_local2 == ButtonLabelPlacement.BOTTOM)) || ((_local2 == ButtonLabelPlacement.TOP)))){
_local7 = Math.max(0, Math.min(_local3, (width - (2 * _local1))));
if ((height - 2) > _local4){
_local8 = _local4;
} else {
_local8 = (height - 2);
};
_local3 = _local7;
textField.width = _local3;
_local4 = _local8;
textField.height = _local4;
textField.x = Math.round(((width - _local3) / 2));
textField.y = Math.round(((((height - textField.height) - _local6) / 2) + ((_local2)==ButtonLabelPlacement.BOTTOM) ? _local6 : 0));
if (icon != null){
icon.y = Math.round(((_local2)==ButtonLabelPlacement.BOTTOM) ? (textField.y - _local6) : ((textField.y + textField.height) + _local1));
};
} else {
_local7 = Math.max(0, Math.min(_local3, ((width - _local5) - (2 * _local1))));
_local3 = _local7;
textField.width = _local3;
textField.x = Math.round(((((width - _local3) - _local5) / 2) + ((_local2)!=ButtonLabelPlacement.LEFT) ? _local5 : 0));
textField.y = Math.round(((height - textField.height) / 2));
if (icon != null){
icon.x = Math.round(((_local2)!=ButtonLabelPlacement.LEFT) ? (textField.x - _local5) : ((textField.x + _local3) + _local1));
};
};
};
super.drawLayout();
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
if (!enabled){
return;
};
if (_arg1.keyCode == Keyboard.SPACE){
if (oldMouseState == null){
oldMouseState = mouseState;
};
setMouseState("down");
startPress();
};
}
override protected function keyUpHandler(_arg1:KeyboardEvent):void{
if (!enabled){
return;
};
if (_arg1.keyCode == Keyboard.SPACE){
setMouseState(oldMouseState);
oldMouseState = null;
endPress();
dispatchEvent(new MouseEvent(MouseEvent.CLICK));
};
}
override protected function initializeAccessibility():void{
if (LabelButton.createAccessibilityImplementation != null){
LabelButton.createAccessibilityImplementation(this);
};
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, BaseButton.getStyleDefinition()));
}
}
}//package fl.controls
Section 116
//ComponentShim (fl.core.ComponentShim)
package fl.core {
import flash.display.*;
public dynamic class ComponentShim extends MovieClip {
}
}//package fl.core
Section 117
//InvalidationType (fl.core.InvalidationType)
package fl.core {
public class InvalidationType {
public static const ALL:String = "all";
public static const SIZE:String = "size";
public static const STYLES:String = "styles";
public static const RENDERER_STYLES:String = "rendererStyles";
public static const STATE:String = "state";
public static const DATA:String = "data";
public static const SCROLL:String = "scroll";
public static const SELECTED:String = "selected";
}
}//package fl.core
Section 118
//UIComponent (fl.core.UIComponent)
package fl.core {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import fl.managers.*;
import flash.utils.*;
import fl.events.*;
import flash.system.*;
public class UIComponent extends Sprite {
public const version:String = "3.0.2.3";
public var focusTarget:IFocusManagerComponent;
protected var isLivePreview:Boolean;// = false
private var tempText:TextField;
protected var instanceStyles:Object;
protected var sharedStyles:Object;
protected var callLaterMethods:Dictionary;
protected var invalidateFlag:Boolean;// = false
protected var _enabled:Boolean;// = true
protected var invalidHash:Object;
protected var uiFocusRect:DisplayObject;
protected var isFocused:Boolean;// = false
private var _focusEnabled:Boolean;// = true
private var _mouseFocusEnabled:Boolean;// = true
protected var _width:Number;
protected var _height:Number;
protected var _x:Number;
protected var _y:Number;
protected var startWidth:Number;
protected var startHeight:Number;
protected var _imeMode:String;// = null
protected var _oldIMEMode:String;// = null
protected var errorCaught:Boolean;// = false
protected var _inspector:Boolean;// = false
public static var inCallLaterPhase:Boolean = false;
private static var defaultStyles:Object = {focusRectSkin:"focusRectSkin", focusRectPadding:2, textFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), disabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultTextFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultDisabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0)};
private static var focusManagers:Dictionary = new Dictionary(true);
private static var focusManagerUsers:Dictionary = new Dictionary(true);
public static var createAccessibilityImplementation:Function;
public function UIComponent(){
instanceStyles = {};
sharedStyles = {};
invalidHash = {};
callLaterMethods = new Dictionary();
StyleManager.registerInstance(this);
configUI();
invalidate(InvalidationType.ALL);
tabEnabled = (this is IFocusManagerComponent);
focusRect = false;
if (tabEnabled){
addEventListener(FocusEvent.FOCUS_IN, focusInHandler);
addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler);
addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
};
initializeFocusManager();
addEventListener(Event.ENTER_FRAME, hookAccessibility, false, 0, true);
}
public function get componentInspectorSetting():Boolean{
return (_inspector);
}
public function set componentInspectorSetting(_arg1:Boolean):void{
_inspector = _arg1;
if (_inspector){
beforeComponentParameters();
} else {
afterComponentParameters();
};
}
protected function beforeComponentParameters():void{
}
protected function afterComponentParameters():void{
}
public function get enabled():Boolean{
return (_enabled);
}
public function set enabled(_arg1:Boolean):void{
if (_arg1 == _enabled){
return;
};
_enabled = _arg1;
invalidate(InvalidationType.STATE);
}
public function setSize(_arg1:Number, _arg2:Number):void{
_width = _arg1;
_height = _arg2;
invalidate(InvalidationType.SIZE);
dispatchEvent(new ComponentEvent(ComponentEvent.RESIZE, false));
}
override public function get width():Number{
return (_width);
}
override public function set width(_arg1:Number):void{
if (_width == _arg1){
return;
};
setSize(_arg1, height);
}
override public function get height():Number{
return (_height);
}
override public function set height(_arg1:Number):void{
if (_height == _arg1){
return;
};
setSize(width, _arg1);
}
public function setStyle(_arg1:String, _arg2:Object):void{
if ((((instanceStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
instanceStyles[_arg1] = _arg2;
invalidate(InvalidationType.STYLES);
}
public function clearStyle(_arg1:String):void{
setStyle(_arg1, null);
}
public function getStyle(_arg1:String):Object{
return (instanceStyles[_arg1]);
}
public function move(_arg1:Number, _arg2:Number):void{
_x = _arg1;
_y = _arg2;
super.x = Math.round(_arg1);
super.y = Math.round(_arg2);
dispatchEvent(new ComponentEvent(ComponentEvent.MOVE));
}
override public function get x():Number{
return ((isNaN(_x)) ? super.x : _x);
}
override public function set x(_arg1:Number):void{
move(_arg1, _y);
}
override public function get y():Number{
return ((isNaN(_y)) ? super.y : _y);
}
override public function set y(_arg1:Number):void{
move(_x, _arg1);
}
override public function get scaleX():Number{
return ((width / startWidth));
}
override public function set scaleX(_arg1:Number):void{
setSize((startWidth * _arg1), height);
}
override public function get scaleY():Number{
return ((height / startHeight));
}
override public function set scaleY(_arg1:Number):void{
setSize(width, (startHeight * _arg1));
}
protected function getScaleY():Number{
return (super.scaleY);
}
protected function setScaleY(_arg1:Number):void{
super.scaleY = _arg1;
}
protected function getScaleX():Number{
return (super.scaleX);
}
protected function setScaleX(_arg1:Number):void{
super.scaleX = _arg1;
}
override public function get visible():Boolean{
return (super.visible);
}
override public function set visible(_arg1:Boolean):void{
if (super.visible == _arg1){
return;
};
super.visible = _arg1;
var _local2:String = (_arg1) ? ComponentEvent.SHOW : ComponentEvent.HIDE;
dispatchEvent(new ComponentEvent(_local2, true));
}
public function validateNow():void{
invalidate(InvalidationType.ALL, false);
draw();
}
public function invalidate(_arg1:String="all", _arg2:Boolean=true):void{
invalidHash[_arg1] = true;
if (_arg2){
this.callLater(draw);
};
}
public function setSharedStyle(_arg1:String, _arg2:Object):void{
if ((((sharedStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
sharedStyles[_arg1] = _arg2;
if (instanceStyles[_arg1] == null){
invalidate(InvalidationType.STYLES);
};
}
public function get focusEnabled():Boolean{
return (_focusEnabled);
}
public function set focusEnabled(_arg1:Boolean):void{
_focusEnabled = _arg1;
}
public function get mouseFocusEnabled():Boolean{
return (_mouseFocusEnabled);
}
public function set mouseFocusEnabled(_arg1:Boolean):void{
_mouseFocusEnabled = _arg1;
}
public function get focusManager():IFocusManager{
var _local1:DisplayObject = this;
while (_local1) {
if (UIComponent.focusManagers[_local1] != null){
return (IFocusManager(UIComponent.focusManagers[_local1]));
};
_local1 = _local1.parent;
};
return (null);
}
public function set focusManager(_arg1:IFocusManager):void{
UIComponent.focusManagers[this] = _arg1;
}
public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
isFocused = _arg1;
if (((!((uiFocusRect == null))) && (contains(uiFocusRect)))){
removeChild(uiFocusRect);
uiFocusRect = null;
};
if (_arg1){
uiFocusRect = (getDisplayObjectInstance(getStyleValue("focusRectSkin")) as Sprite);
if (uiFocusRect == null){
return;
};
_local2 = Number(getStyleValue("focusRectPadding"));
uiFocusRect.x = -(_local2);
uiFocusRect.y = -(_local2);
uiFocusRect.width = (width + (_local2 * 2));
uiFocusRect.height = (height + (_local2 * 2));
addChildAt(uiFocusRect, 0);
};
}
public function setFocus():void{
if (stage){
stage.focus = this;
};
}
public function getFocus():InteractiveObject{
if (stage){
return (stage.focus);
};
return (null);
}
protected function setIMEMode(_arg1:Boolean){
var enabled = _arg1;
if (_imeMode != null){
if (enabled){
IME.enabled = true;
_oldIMEMode = IME.conversionMode;
try {
if (((!(errorCaught)) && (!((IME.conversionMode == IMEConversionMode.UNKNOWN))))){
IME.conversionMode = _imeMode;
};
errorCaught = false;
} catch(e:Error) {
errorCaught = true;
throw (new Error(("IME mode not supported: " + _imeMode)));
};
} else {
if (((!((IME.conversionMode == IMEConversionMode.UNKNOWN))) && (!((_oldIMEMode == IMEConversionMode.UNKNOWN))))){
IME.conversionMode = _oldIMEMode;
};
IME.enabled = false;
};
};
}
public function drawNow():void{
draw();
}
protected function configUI():void{
isLivePreview = checkLivePreview();
var _local1:Number = rotation;
rotation = 0;
var _local2:Number = super.width;
var _local3:Number = super.height;
var _local4 = 1;
super.scaleY = _local4;
super.scaleX = _local4;
setSize(_local2, _local3);
move(super.x, super.y);
rotation = _local1;
startWidth = _local2;
startHeight = _local3;
if (numChildren > 0){
removeChildAt(0);
};
}
protected function checkLivePreview():Boolean{
var className:String;
if (parent == null){
return (false);
};
try {
className = getQualifiedClassName(parent);
} catch(e:Error) {
};
return ((className == "fl.livepreview::LivePreviewParent"));
}
protected function isInvalid(_arg1:String, ... _args):Boolean{
if (((invalidHash[_arg1]) || (invalidHash[InvalidationType.ALL]))){
return (true);
};
while (_args.length > 0) {
if (invalidHash[_args.pop()]){
return (true);
};
};
return (false);
}
protected function validate():void{
invalidHash = {};
}
protected function draw():void{
if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){
if (((isFocused) && (focusManager.showFocusIndicator))){
drawFocus(true);
};
};
validate();
}
protected function getDisplayObjectInstance(_arg1:Object):DisplayObject{
var skin = _arg1;
var classDef:Object;
if ((skin is Class)){
return ((new (skin) as DisplayObject));
};
if ((skin is DisplayObject)){
(skin as DisplayObject).x = 0;
(skin as DisplayObject).y = 0;
return ((skin as DisplayObject));
};
try {
classDef = getDefinitionByName(skin.toString());
} catch(e:Error) {
try {
classDef = (loaderInfo.applicationDomain.getDefinition(skin.toString()) as Object);
} catch(e:Error) {
};
};
if (classDef == null){
return (null);
};
return ((new (classDef) as DisplayObject));
}
protected function getStyleValue(_arg1:String):Object{
return (((instanceStyles[_arg1])==null) ? sharedStyles[_arg1] : instanceStyles[_arg1]);
}
protected function copyStylesToChild(_arg1:UIComponent, _arg2:Object):void{
var _local3:String;
for (_local3 in _arg2) {
_arg1.setStyle(_local3, getStyleValue(_arg2[_local3]));
};
}
protected function callLater(_arg1:Function):void{
if (inCallLaterPhase){
return;
};
callLaterMethods[_arg1] = true;
if (stage != null){
stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true);
stage.invalidate();
} else {
addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true);
};
}
private function callLaterDispatcher(_arg1:Event):void{
var _local3:Object;
if (_arg1.type == Event.ADDED_TO_STAGE){
removeEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher);
stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true);
stage.invalidate();
return;
};
_arg1.target.removeEventListener(Event.RENDER, callLaterDispatcher);
if (stage == null){
addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true);
return;
};
inCallLaterPhase = true;
var _local2:Dictionary = callLaterMethods;
for (_local3 in _local2) {
_local3();
delete _local2[_local3];
};
inCallLaterPhase = false;
}
private function initializeFocusManager():void{
var _local1:IFocusManager;
var _local2:Dictionary;
if (stage == null){
addEventListener(Event.ADDED_TO_STAGE, addedHandler, false, 0, true);
} else {
createFocusManager();
_local1 = focusManager;
if (_local1 != null){
_local2 = focusManagerUsers[_local1];
if (_local2 == null){
_local2 = new Dictionary(true);
focusManagerUsers[_local1] = _local2;
};
_local2[this] = true;
};
};
addEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
}
private function addedHandler(_arg1:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, addedHandler);
initializeFocusManager();
}
private function removedHandler(_arg1:Event):void{
var _local3:Dictionary;
var _local4:Boolean;
var _local5:*;
var _local6:*;
var _local7:IFocusManager;
removeEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
addEventListener(Event.ADDED_TO_STAGE, addedHandler);
var _local2:IFocusManager = focusManager;
if (_local2 != null){
_local3 = focusManagerUsers[_local2];
if (_local3 != null){
delete _local3[this];
_local4 = true;
for (_local5 in _local3) {
_local4 = false;
break;
};
if (_local4){
delete focusManagerUsers[_local2];
_local3 = null;
};
};
if (_local3 == null){
_local2.deactivate();
for (_local6 in focusManagers) {
_local7 = focusManagers[_local6];
if (_local2 == _local7){
delete focusManagers[_local6];
};
};
};
};
}
protected function createFocusManager():void{
if (focusManagers[stage] == null){
focusManagers[stage] = new FocusManager(stage);
};
}
protected function isOurFocus(_arg1:DisplayObject):Boolean{
return ((_arg1 == this));
}
protected function focusInHandler(_arg1:FocusEvent):void{
var _local2:IFocusManager;
if (isOurFocus((_arg1.target as DisplayObject))){
_local2 = focusManager;
if (((_local2) && (_local2.showFocusIndicator))){
drawFocus(true);
isFocused = true;
};
};
}
protected function focusOutHandler(_arg1:FocusEvent):void{
if (isOurFocus((_arg1.target as DisplayObject))){
drawFocus(false);
isFocused = false;
};
}
protected function keyDownHandler(_arg1:KeyboardEvent):void{
}
protected function keyUpHandler(_arg1:KeyboardEvent):void{
}
protected function hookAccessibility(_arg1:Event):void{
removeEventListener(Event.ENTER_FRAME, hookAccessibility);
initializeAccessibility();
}
protected function initializeAccessibility():void{
if (UIComponent.createAccessibilityImplementation != null){
UIComponent.createAccessibilityImplementation(this);
};
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
public static function mergeStyles(... _args):Object{
var _local5:Object;
var _local6:String;
var _local2:Object = {};
var _local3:uint = _args.length;
var _local4:uint;
while (_local4 < _local3) {
_local5 = _args[_local4];
for (_local6 in _local5) {
if (_local2[_local6] != null){
} else {
_local2[_local6] = _args[_local4][_local6];
};
};
_local4++;
};
return (_local2);
}
}
}//package fl.core
Section 119
//ComponentEvent (fl.events.ComponentEvent)
package fl.events {
import flash.events.*;
public class ComponentEvent extends Event {
public static const BUTTON_DOWN:String = "buttonDown";
public static const LABEL_CHANGE:String = "labelChange";
public static const HIDE:String = "hide";
public static const SHOW:String = "show";
public static const RESIZE:String = "resize";
public static const MOVE:String = "move";
public static const ENTER:String = "enter";
public function ComponentEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function toString():String{
return (formatToString("ComponentEvent", "type", "bubbles", "cancelable"));
}
override public function clone():Event{
return (new ComponentEvent(type, bubbles, cancelable));
}
}
}//package fl.events
Section 120
//FocusManager (fl.managers.FocusManager)
package fl.managers {
import fl.controls.*;
import flash.display.*;
import flash.events.*;
import fl.core.*;
import flash.text.*;
import flash.utils.*;
import flash.ui.*;
public class FocusManager implements IFocusManager {
private var _form:DisplayObjectContainer;
private var focusableObjects:Dictionary;
private var focusableCandidates:Array;
private var activated:Boolean;// = false
private var calculateCandidates:Boolean;// = true
private var lastFocus:InteractiveObject;
private var _showFocusIndicator:Boolean;// = true
private var lastAction:String;
private var defButton:Button;
private var _defaultButton:Button;
private var _defaultButtonEnabled:Boolean;// = true
public function FocusManager(_arg1:DisplayObjectContainer){
focusableObjects = new Dictionary(true);
if (_arg1 != null){
_form = _arg1;
activate();
};
}
private function addedHandler(_arg1:Event):void{
var _local2:DisplayObject = DisplayObject(_arg1.target);
if (_local2.stage){
addFocusables(DisplayObject(_arg1.target));
};
}
private function removedHandler(_arg1:Event):void{
var _local2:int;
var _local4:InteractiveObject;
var _local3:DisplayObject = DisplayObject(_arg1.target);
if ((((_local3 is IFocusManagerComponent)) && ((focusableObjects[_local3] == true)))){
if (_local3 == lastFocus){
IFocusManagerComponent(lastFocus).drawFocus(false);
lastFocus = null;
};
_local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler, false);
delete focusableObjects[_local3];
calculateCandidates = true;
} else {
if ((((_local3 is InteractiveObject)) && ((focusableObjects[_local3] == true)))){
_local4 = (_local3 as InteractiveObject);
if (_local4){
if (_local4 == lastFocus){
lastFocus = null;
};
delete focusableObjects[_local4];
calculateCandidates = true;
};
_local3.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler, false, 0, true);
};
};
removeFocusables(_local3);
}
private function addFocusables(_arg1:DisplayObject, _arg2:Boolean=false):void{
var focusable:IFocusManagerComponent;
var io:InteractiveObject;
var doc:DisplayObjectContainer;
var i:int;
var child:DisplayObject;
var o = _arg1;
var skipTopLevel = _arg2;
if (!skipTopLevel){
if ((o is IFocusManagerComponent)){
focusable = IFocusManagerComponent(o);
if (focusable.focusEnabled){
if (((focusable.tabEnabled) && (isTabVisible(o)))){
focusableObjects[o] = true;
calculateCandidates = true;
};
o.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler, false, 0, true);
o.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler, false, 0, true);
};
} else {
if ((o is InteractiveObject)){
io = (o as InteractiveObject);
if (((((io) && (io.tabEnabled))) && ((findFocusManagerComponent(io) == io)))){
focusableObjects[io] = true;
calculateCandidates = true;
};
io.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler, false, 0, true);
io.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler, false, 0, true);
};
};
};
if ((o is DisplayObjectContainer)){
doc = DisplayObjectContainer(o);
o.addEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler, false, 0, true);
if ((((((doc is Stage)) || ((doc.parent is Stage)))) || (doc.tabChildren))){
i = 0;
while (i < doc.numChildren) {
try {
child = doc.getChildAt(i);
if (child != null){
addFocusables(doc.getChildAt(i));
};
} catch(error:SecurityError) {
};
i = (i + 1);
};
};
};
}
private function removeFocusables(_arg1:DisplayObject):void{
var _local2:Object;
var _local3:DisplayObject;
if ((_arg1 is DisplayObjectContainer)){
_arg1.removeEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler, false);
_arg1.removeEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler, false);
for (_local2 in focusableObjects) {
_local3 = DisplayObject(_local2);
if (DisplayObjectContainer(_arg1).contains(_local3)){
if (_local3 == lastFocus){
lastFocus = null;
};
_local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler, false);
delete focusableObjects[_local2];
calculateCandidates = true;
};
};
};
}
private function isTabVisible(_arg1:DisplayObject):Boolean{
var _local2:DisplayObjectContainer = _arg1.parent;
while (((((_local2) && (!((_local2 is Stage))))) && (!(((_local2.parent) && ((_local2.parent is Stage))))))) {
if (!_local2.tabChildren){
return (false);
};
_local2 = _local2.parent;
};
return (true);
}
private function isValidFocusCandidate(_arg1:DisplayObject, _arg2:String):Boolean{
var _local3:IFocusManagerGroup;
if (!isEnabledAndVisible(_arg1)){
return (false);
};
if ((_arg1 is IFocusManagerGroup)){
_local3 = IFocusManagerGroup(_arg1);
if (_arg2 == _local3.groupName){
return (false);
};
};
return (true);
}
private function isEnabledAndVisible(_arg1:DisplayObject):Boolean{
var _local3:TextField;
var _local4:SimpleButton;
var _local2:DisplayObjectContainer = DisplayObject(form).parent;
while (_arg1 != _local2) {
if ((_arg1 is UIComponent)){
if (!UIComponent(_arg1).enabled){
return (false);
};
} else {
if ((_arg1 is TextField)){
_local3 = TextField(_arg1);
if ((((_local3.type == TextFieldType.DYNAMIC)) || (!(_local3.selectable)))){
return (false);
};
} else {
if ((_arg1 is SimpleButton)){
_local4 = SimpleButton(_arg1);
if (!_local4.enabled){
return (false);
};
};
};
};
if (!_arg1.visible){
return (false);
};
_arg1 = _arg1.parent;
};
return (true);
}
private function tabEnabledChangeHandler(_arg1:Event):void{
calculateCandidates = true;
var _local2:InteractiveObject = InteractiveObject(_arg1.target);
var _local3 = (focusableObjects[_local2] == true);
if (_local2.tabEnabled){
if (((!(_local3)) && (isTabVisible(_local2)))){
if (!(_local2 is IFocusManagerComponent)){
_local2.focusRect = false;
};
focusableObjects[_local2] = true;
};
} else {
if (_local3){
delete focusableObjects[_local2];
};
};
}
private function tabIndexChangeHandler(_arg1:Event):void{
calculateCandidates = true;
}
private function tabChildrenChangeHandler(_arg1:Event):void{
if (_arg1.target != _arg1.currentTarget){
return;
};
calculateCandidates = true;
var _local2:DisplayObjectContainer = DisplayObjectContainer(_arg1.target);
if (_local2.tabChildren){
addFocusables(_local2, true);
} else {
removeFocusables(_local2);
};
}
public function activate():void{
if (activated){
return;
};
addFocusables(form);
form.addEventListener(Event.ADDED, addedHandler, false, 0, true);
form.addEventListener(Event.REMOVED, removedHandler, false, 0, true);
form.stage.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler, false, 0, true);
form.stage.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler, false, 0, true);
form.addEventListener(FocusEvent.FOCUS_IN, focusInHandler, true, 0, true);
form.addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true, 0, true);
form.stage.addEventListener(Event.ACTIVATE, activateHandler, false, 0, true);
form.stage.addEventListener(Event.DEACTIVATE, deactivateHandler, false, 0, true);
form.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler, false, 0, true);
form.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true, 0, true);
activated = true;
if (lastFocus){
setFocus(lastFocus);
};
}
public function deactivate():void{
if (!activated){
return;
};
focusableObjects = new Dictionary(true);
focusableCandidates = null;
lastFocus = null;
defButton = null;
form.removeEventListener(Event.ADDED, addedHandler, false);
form.removeEventListener(Event.REMOVED, removedHandler, false);
form.stage.removeEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler, false);
form.stage.removeEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler, false);
form.removeEventListener(FocusEvent.FOCUS_IN, focusInHandler, true);
form.removeEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true);
form.stage.removeEventListener(Event.ACTIVATE, activateHandler, false);
form.stage.removeEventListener(Event.DEACTIVATE, deactivateHandler, false);
form.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler, false);
form.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);
activated = false;
}
private function focusInHandler(_arg1:FocusEvent):void{
var _local3:Button;
if (!activated){
return;
};
var _local2:InteractiveObject = InteractiveObject(_arg1.target);
if (form.contains(_local2)){
lastFocus = findFocusManagerComponent(InteractiveObject(_local2));
if ((lastFocus is Button)){
_local3 = Button(lastFocus);
if (defButton){
defButton.emphasized = false;
defButton = _local3;
_local3.emphasized = true;
};
} else {
if (((defButton) && (!((defButton == _defaultButton))))){
defButton.emphasized = false;
defButton = _defaultButton;
_defaultButton.emphasized = true;
};
};
};
}
private function focusOutHandler(_arg1:FocusEvent):void{
if (!activated){
return;
};
var _local2:InteractiveObject = (_arg1.target as InteractiveObject);
}
private function activateHandler(_arg1:Event):void{
if (!activated){
return;
};
var _local2:InteractiveObject = InteractiveObject(_arg1.target);
if (lastFocus){
if ((lastFocus is IFocusManagerComponent)){
IFocusManagerComponent(lastFocus).setFocus();
} else {
form.stage.focus = lastFocus;
};
};
lastAction = "ACTIVATE";
}
private function deactivateHandler(_arg1:Event):void{
if (!activated){
return;
};
var _local2:InteractiveObject = InteractiveObject(_arg1.target);
}
private function mouseFocusChangeHandler(_arg1:FocusEvent):void{
if (!activated){
return;
};
if ((_arg1.relatedObject is TextField)){
return;
};
_arg1.preventDefault();
}
private function keyFocusChangeHandler(_arg1:FocusEvent):void{
if (!activated){
return;
};
showFocusIndicator = true;
if ((((((_arg1.keyCode == Keyboard.TAB)) || ((_arg1.keyCode == 0)))) && (!(_arg1.isDefaultPrevented())))){
setFocusToNextObject(_arg1);
_arg1.preventDefault();
};
}
private function keyDownHandler(_arg1:KeyboardEvent):void{
if (!activated){
return;
};
if (_arg1.keyCode == Keyboard.TAB){
lastAction = "KEY";
if (calculateCandidates){
sortFocusableObjects();
calculateCandidates = false;
};
};
if (((((((defaultButtonEnabled) && ((_arg1.keyCode == Keyboard.ENTER)))) && (defaultButton))) && (defButton.enabled))){
sendDefaultButtonEvent();
};
}
private function mouseDownHandler(_arg1:MouseEvent):void{
if (!activated){
return;
};
if (_arg1.isDefaultPrevented()){
return;
};
var _local2:InteractiveObject = getTopLevelFocusTarget(InteractiveObject(_arg1.target));
if (!_local2){
return;
};
showFocusIndicator = false;
if (((((!((_local2 == lastFocus))) || ((lastAction == "ACTIVATE")))) && (!((_local2 is TextField))))){
setFocus(_local2);
};
lastAction = "MOUSEDOWN";
}
public function get defaultButton():Button{
return (_defaultButton);
}
public function set defaultButton(_arg1:Button):void{
var _local2:Button = (_arg1) ? Button(_arg1) : null;
if (_local2 != _defaultButton){
if (_defaultButton){
_defaultButton.emphasized = false;
};
if (defButton){
defButton.emphasized = false;
};
_defaultButton = _local2;
defButton = _local2;
if (_local2){
_local2.emphasized = true;
};
};
}
public function sendDefaultButtonEvent():void{
defButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
}
private function setFocusToNextObject(_arg1:FocusEvent):void{
if (!hasFocusableObjects()){
return;
};
var _local2:InteractiveObject = getNextFocusManagerComponent(_arg1.shiftKey);
if (_local2){
setFocus(_local2);
};
}
private function hasFocusableObjects():Boolean{
var _local1:Object;
for (_local1 in focusableObjects) {
return (true);
};
return (false);
}
public function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject{
var _local8:IFocusManagerGroup;
if (!hasFocusableObjects()){
return (null);
};
if (calculateCandidates){
sortFocusableObjects();
calculateCandidates = false;
};
var _local2:DisplayObject = form.stage.focus;
_local2 = DisplayObject(findFocusManagerComponent(InteractiveObject(_local2)));
var _local3 = "";
if ((_local2 is IFocusManagerGroup)){
_local8 = IFocusManagerGroup(_local2);
_local3 = _local8.groupName;
};
var _local4:int = getIndexOfFocusedObject(_local2);
var _local5:Boolean;
var _local6:int = _local4;
if (_local4 == -1){
if (_arg1){
_local4 = focusableCandidates.length;
};
_local5 = true;
};
var _local7:int = getIndexOfNextObject(_local4, _arg1, _local5, _local3);
return (findFocusManagerComponent(focusableCandidates[_local7]));
}
private function getIndexOfFocusedObject(_arg1:DisplayObject):int{
var _local2:int = focusableCandidates.length;
var _local3:int;
_local3 = 0;
while (_local3 < _local2) {
if (focusableCandidates[_local3] == _arg1){
return (_local3);
};
_local3++;
};
return (-1);
}
private function getIndexOfNextObject(_arg1:int, _arg2:Boolean, _arg3:Boolean, _arg4:String):int{
var _local7:DisplayObject;
var _local8:IFocusManagerGroup;
var _local9:int;
var _local10:DisplayObject;
var _local11:IFocusManagerGroup;
var _local5:int = focusableCandidates.length;
var _local6:int = _arg1;
while (true) {
if (_arg2){
_arg1--;
} else {
_arg1++;
};
if (_arg3){
if (((_arg2) && ((_arg1 < 0)))){
break;
};
if (((!(_arg2)) && ((_arg1 == _local5)))){
break;
};
} else {
_arg1 = ((_arg1 + _local5) % _local5);
if (_local6 == _arg1){
break;
};
};
if (isValidFocusCandidate(focusableCandidates[_arg1], _arg4)){
_local7 = DisplayObject(findFocusManagerComponent(focusableCandidates[_arg1]));
if ((_local7 is IFocusManagerGroup)){
_local8 = IFocusManagerGroup(_local7);
_local9 = 0;
while (_local9 < focusableCandidates.length) {
_local10 = focusableCandidates[_local9];
if ((_local10 is IFocusManagerGroup)){
_local11 = IFocusManagerGroup(_local10);
if ((((_local11.groupName == _local8.groupName)) && (_local11.selected))){
_arg1 = _local9;
break;
};
};
_local9++;
};
};
return (_arg1);
};
};
return (_arg1);
}
private function sortFocusableObjects():void{
var _local1:Object;
var _local2:InteractiveObject;
focusableCandidates = [];
for (_local1 in focusableObjects) {
_local2 = InteractiveObject(_local1);
if (((((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))) && ((_local2.tabIndex > 0)))){
sortFocusableObjectsTabIndex();
return;
};
focusableCandidates.push(_local2);
};
focusableCandidates.sort(sortByDepth);
}
private function sortFocusableObjectsTabIndex():void{
var _local1:Object;
var _local2:InteractiveObject;
focusableCandidates = [];
for (_local1 in focusableObjects) {
_local2 = InteractiveObject(_local1);
if (((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))){
focusableCandidates.push(_local2);
};
};
focusableCandidates.sort(sortByTabIndex);
}
private function sortByDepth(_arg1:InteractiveObject, _arg2:InteractiveObject):Number{
var _local5:int;
var _local6:String;
var _local7:String;
var _local3 = "";
var _local4 = "";
var _local8 = "0000";
var _local9:DisplayObject = DisplayObject(_arg1);
var _local10:DisplayObject = DisplayObject(_arg2);
while (((!((_local9 == DisplayObject(form)))) && (_local9.parent))) {
_local5 = getChildIndex(_local9.parent, _local9);
_local6 = _local5.toString(16);
if (_local6.length < 4){
_local7 = (_local8.substring(0, (4 - _local6.length)) + _local6);
};
_local3 = (_local7 + _local3);
_local9 = _local9.parent;
};
while (((!((_local10 == DisplayObject(form)))) && (_local10.parent))) {
_local5 = getChildIndex(_local10.parent, _local10);
_local6 = _local5.toString(16);
if (_local6.length < 4){
_local7 = (_local8.substring(0, (4 - _local6.length)) + _local6);
};
_local4 = (_local7 + _local4);
_local10 = _local10.parent;
};
return (((_local3 > _local4)) ? 1 : ((_local3 < _local4)) ? -1 : 0);
}
private function getChildIndex(_arg1:DisplayObjectContainer, _arg2:DisplayObject):int{
return (_arg1.getChildIndex(_arg2));
}
private function sortByTabIndex(_arg1:InteractiveObject, _arg2:InteractiveObject):int{
return (((_arg1.tabIndex > _arg2.tabIndex)) ? 1 : ((_arg1.tabIndex < _arg2.tabIndex)) ? -1 : sortByDepth(_arg1, _arg2));
}
public function get defaultButtonEnabled():Boolean{
return (_defaultButtonEnabled);
}
public function set defaultButtonEnabled(_arg1:Boolean):void{
_defaultButtonEnabled = _arg1;
}
public function get nextTabIndex():int{
return (0);
}
public function get showFocusIndicator():Boolean{
return (_showFocusIndicator);
}
public function set showFocusIndicator(_arg1:Boolean):void{
_showFocusIndicator = _arg1;
}
public function get form():DisplayObjectContainer{
return (_form);
}
public function set form(_arg1:DisplayObjectContainer):void{
_form = _arg1;
}
public function getFocus():InteractiveObject{
var _local1:InteractiveObject = form.stage.focus;
return (findFocusManagerComponent(_local1));
}
public function setFocus(_arg1:InteractiveObject):void{
if ((_arg1 is IFocusManagerComponent)){
IFocusManagerComponent(_arg1).setFocus();
} else {
form.stage.focus = _arg1;
};
}
public function showFocus():void{
}
public function hideFocus():void{
}
public function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject{
var _local2:InteractiveObject = _arg1;
while (_arg1) {
if ((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))){
return (_arg1);
};
_arg1 = _arg1.parent;
};
return (_local2);
}
private function getTopLevelFocusTarget(_arg1:InteractiveObject):InteractiveObject{
while (_arg1 != InteractiveObject(form)) {
if ((((((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))) && (IFocusManagerComponent(_arg1).mouseFocusEnabled))) && (UIComponent(_arg1).enabled))){
return (_arg1);
};
_arg1 = _arg1.parent;
if (_arg1 == null){
break;
};
};
return (null);
}
}
}//package fl.managers
Section 121
//IFocusManager (fl.managers.IFocusManager)
package fl.managers {
import fl.controls.*;
import flash.display.*;
public interface IFocusManager {
function get defaultButton():Button;
function set defaultButton(_arg1:Button):void;
function get defaultButtonEnabled():Boolean;
function set defaultButtonEnabled(_arg1:Boolean):void;
function get nextTabIndex():int;
function get showFocusIndicator():Boolean;
function set showFocusIndicator(_arg1:Boolean):void;
function getFocus():InteractiveObject;
function setFocus(_arg1:InteractiveObject):void;
function showFocus():void;
function hideFocus():void;
function activate():void;
function deactivate():void;
function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject;
function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject;
}
}//package fl.managers
Section 122
//IFocusManagerComponent (fl.managers.IFocusManagerComponent)
package fl.managers {
public interface IFocusManagerComponent {
function get focusEnabled():Boolean;
function set focusEnabled(_arg1:Boolean):void;
function get mouseFocusEnabled():Boolean;
function get tabEnabled():Boolean;
function get tabIndex():int;
function setFocus():void;
function drawFocus(_arg1:Boolean):void;
}
}//package fl.managers
Section 123
//IFocusManagerGroup (fl.managers.IFocusManagerGroup)
package fl.managers {
public interface IFocusManagerGroup {
function get groupName():String;
function set groupName(_arg1:String):void;
function get selected():Boolean;
function set selected(_arg1:Boolean):void;
}
}//package fl.managers
Section 124
//StyleManager (fl.managers.StyleManager)
package fl.managers {
import fl.core.*;
import flash.text.*;
import flash.utils.*;
public class StyleManager {
private var styleToClassesHash:Object;
private var classToInstancesDict:Dictionary;
private var classToStylesDict:Dictionary;
private var classToDefaultStylesDict:Dictionary;
private var globalStyles:Object;
private static var _instance:StyleManager;
public function StyleManager(){
styleToClassesHash = {};
classToInstancesDict = new Dictionary(true);
classToStylesDict = new Dictionary(true);
classToDefaultStylesDict = new Dictionary(true);
globalStyles = UIComponent.getStyleDefinition();
}
private static function getInstance(){
if (_instance == null){
_instance = new (StyleManager);
};
return (_instance);
}
public static function registerInstance(_arg1:UIComponent):void{
var target:Class;
var defaultStyles:Object;
var styleToClasses:Object;
var n:String;
var instance = _arg1;
var inst:StyleManager = getInstance();
var classDef:Class = getClassDef(instance);
if (classDef == null){
return;
};
if (inst.classToInstancesDict[classDef] == null){
inst.classToInstancesDict[classDef] = new Dictionary(true);
target = classDef;
while (defaultStyles == null) {
if (target["getStyleDefinition"] != null){
defaultStyles = target["getStyleDefinition"]();
break;
};
try {
target = (instance.loaderInfo.applicationDomain.getDefinition(getQualifiedSuperclassName(target)) as Class);
} catch(err:Error) {
try {
target = (getDefinitionByName(getQualifiedSuperclassName(target)) as Class);
} catch(e:Error) {
defaultStyles = UIComponent.getStyleDefinition();
break;
};
};
};
styleToClasses = inst.styleToClassesHash;
for (n in defaultStyles) {
if (styleToClasses[n] == null){
styleToClasses[n] = new Dictionary(true);
};
styleToClasses[n][classDef] = true;
};
inst.classToDefaultStylesDict[classDef] = defaultStyles;
if (inst.classToStylesDict[classDef] == null){
inst.classToStylesDict[classDef] = {};
};
};
inst.classToInstancesDict[classDef][instance] = true;
setSharedStyles(instance);
}
private static function setSharedStyles(_arg1:UIComponent):void{
var _local5:String;
var _local2:StyleManager = getInstance();
var _local3:Class = getClassDef(_arg1);
var _local4:Object = _local2.classToDefaultStylesDict[_local3];
for (_local5 in _local4) {
_arg1.setSharedStyle(_local5, getSharedStyle(_arg1, _local5));
};
}
private static function getSharedStyle(_arg1:UIComponent, _arg2:String):Object{
var _local3:Class = getClassDef(_arg1);
var _local4:StyleManager = getInstance();
var _local5:Object = _local4.classToStylesDict[_local3][_arg2];
if (_local5 != null){
return (_local5);
};
_local5 = _local4.globalStyles[_arg2];
if (_local5 != null){
return (_local5);
};
return (_local4.classToDefaultStylesDict[_local3][_arg2]);
}
public static function getComponentStyle(_arg1:Object, _arg2:String):Object{
var _local3:Class = getClassDef(_arg1);
var _local4:Object = getInstance().classToStylesDict[_local3];
return (((_local4)==null) ? null : _local4[_arg2]);
}
public static function clearComponentStyle(_arg1:Object, _arg2:String):void{
var _local3:Class = getClassDef(_arg1);
var _local4:Object = getInstance().classToStylesDict[_local3];
if (((!((_local4 == null))) && (!((_local4[_arg2] == null))))){
delete _local4[_arg2];
invalidateComponentStyle(_local3, _arg2);
};
}
public static function setComponentStyle(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Class = getClassDef(_arg1);
var _local5:Object = getInstance().classToStylesDict[_local4];
if (_local5 == null){
_local5 = (getInstance().classToStylesDict[_local4] = {});
};
if (_local5 == _arg3){
return;
};
_local5[_arg2] = _arg3;
invalidateComponentStyle(_local4, _arg2);
}
private static function getClassDef(_arg1:Object):Class{
var component = _arg1;
if ((component is Class)){
return ((component as Class));
};
try {
return ((getDefinitionByName(getQualifiedClassName(component)) as Class));
} catch(e:Error) {
if ((component is UIComponent)){
try {
return ((component.loaderInfo.applicationDomain.getDefinition(getQualifiedClassName(component)) as Class));
} catch(e:Error) {
};
};
};
return (null);
}
private static function invalidateStyle(_arg1:String):void{
var _local3:Object;
var _local2:Dictionary = getInstance().styleToClassesHash[_arg1];
if (_local2 == null){
return;
};
for (_local3 in _local2) {
invalidateComponentStyle(Class(_local3), _arg1);
};
}
private static function invalidateComponentStyle(_arg1:Class, _arg2:String):void{
var _local4:Object;
var _local5:UIComponent;
var _local3:Dictionary = getInstance().classToInstancesDict[_arg1];
if (_local3 == null){
return;
};
for (_local4 in _local3) {
_local5 = (_local4 as UIComponent);
if (_local5 == null){
} else {
_local5.setSharedStyle(_arg2, getSharedStyle(_local5, _arg2));
};
};
}
public static function setStyle(_arg1:String, _arg2:Object):void{
var _local3:Object = getInstance().globalStyles;
if ((((_local3[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
_local3[_arg1] = _arg2;
invalidateStyle(_arg1);
}
public static function clearStyle(_arg1:String):void{
setStyle(_arg1, null);
}
public static function getStyle(_arg1:String):Object{
return (getInstance().globalStyles[_arg1]);
}
}
}//package fl.managers
Section 125
//Inventory (inventory.Inventory)
package inventory {
import flash.display.*;
import flash.events.*;
import data.*;
import com.greensock.*;
import controls.*;
public class Inventory extends MovieClip {
public var buyWeaponsGrid:ShopGrid;
public var buyModulesGrid:ShopGrid;
var ownedItemsGrid:OwnedGrid;
public var cameFrom:String;// = ""
public var weapons:Array;
public var modules:Array;
var activeGrid:ShopGrid;
public function Inventory(){
weapons = [3, 2, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15];
modules = [31, 33, 35, 36, 37, 38, 39];
super();
buyWeaponsGrid = new ShopGrid(5, 2, "weapons");
buyModulesGrid = new ShopGrid(5, 2, "modules");
ownedItemsGrid = new OwnedGrid(5, 3);
activeGrid = buyWeaponsGrid;
}
public function init(_arg1=null):void{
var _local3:int;
var _local4:int;
var _local5:Boolean;
trace("Inventory.init()", Defines._document.saveSlot.weaponsEquipped, Defines._document.saveSlot.weaponsOwned);
trace("MODULES", Defines._document.saveSlot.modulesEquipped, Defines._document.saveSlot.modulesOwned);
buyWeaponsGrid.elements = weapons.concat();
buyModulesGrid.elements = modules.concat();
buyWeaponsGrid.vSpace = 53;
buyWeaponsGrid.hSpace = 63;
buyWeaponsGrid.x = (parent["squareInventario"].x + 33);
buyWeaponsGrid.y = (parent["squareInventario"].y - 128);
buyModulesGrid.vSpace = buyWeaponsGrid.vSpace;
buyModulesGrid.hSpace = buyWeaponsGrid.hSpace;
buyModulesGrid.x = buyWeaponsGrid.x;
buyModulesGrid.y = buyWeaponsGrid.y;
buyWeaponsGrid.dropTargets = new Array(parent["squareInventario"], Defines._document.weaponSlotClips[0], Defines._document.weaponSlotClips[1], Defines._document.weaponSlotClips[2], Defines._document.weaponSlotClips[3]);
buyModulesGrid.dropTargets = new Array(parent["squareInventario"], Defines._document.weaponSlotClips[4], Defines._document.weaponSlotClips[5], Defines._document.weaponSlotClips[6]);
ownedItemsGrid.vSpace = 53;
ownedItemsGrid.hSpace = 63;
ownedItemsGrid.elements = new Array();
ownedItemsGrid.x = (parent["squareInventario"].x + 32);
ownedItemsGrid.y = (parent["squareInventario"].y + 26);
var _local2:int;
trace("active grid", activeGrid.category);
if (activeGrid == buyWeaponsGrid){
trace("drawing buyWeaponsGrid");
buyWeaponsGrid.drawGrid(this);
buyWeaponsGrid.initializeItems();
_local2 = 0;
while (_local2 < Defines._document.saveSlot.weaponsOwned.length) {
ownedItemsGrid.elements.push(Defines._document.saveSlot.weaponsOwned[_local2]);
_local2++;
};
ownedItemsGrid.dropTargets = new Array(Defines._document.weaponSlotClips[0], Defines._document.weaponSlotClips[1], Defines._document.weaponSlotClips[2], Defines._document.weaponSlotClips[3]);
buyModulesGrid.clearGrid();
} else {
if (activeGrid == buyModulesGrid){
trace("drawing buyModulesGrid", modules.length, Defines._document.saveSlot.modulesOwned.length);
buyModulesGrid.elements = new Array();
_local3 = 0;
while (_local3 < modules.length) {
_local4 = modules[_local3];
_local5 = false;
_local2 = 0;
while (_local2 < Defines._document.saveSlot.modulesOwned.length) {
if (Defines._document.saveSlot.modulesOwned[_local2] == _local4){
_local5 = true;
};
_local2++;
};
if ((((((Defines._document.saveSlot.modulesEquipped[0] == _local4)) || ((Defines._document.saveSlot.modulesEquipped[1] == _local4)))) || ((Defines._document.saveSlot.modulesEquipped[2] == _local4)))){
_local5 = true;
};
if (!_local5){
buyModulesGrid.elements.push(_local4);
};
trace("buyModulesGrid", buyModulesGrid.elements);
_local3++;
};
trace("buyModulesGrid FINAL", buyModulesGrid.elements);
buyModulesGrid.drawGrid(this);
buyModulesGrid.initializeItems();
_local2 = 0;
while (_local2 < Defines._document.saveSlot.modulesOwned.length) {
ownedItemsGrid.elements.push(Defines._document.saveSlot.modulesOwned[_local2]);
_local2++;
};
ownedItemsGrid.dropTargets = new Array(Defines._document.weaponSlotClips[4], Defines._document.weaponSlotClips[5], Defines._document.weaponSlotClips[6]);
};
};
ownedItemsGrid.drawGrid(this);
ownedItemsGrid.initializeItems();
_local2 = 0;
while (_local2 < 7) {
Defines._document.weaponSlotClips[_local2].visible = false;
_local2++;
};
if (activeGrid == buyWeaponsGrid){
trace("weapons: ", Defines._document.saveSlot.weaponsEquipped);
Defines._document.weaponSlotClips[0].init(Defines._document.saveSlot.weaponsEquipped[0]);
Defines._document.weaponSlotClips[1].init(Defines._document.saveSlot.weaponsEquipped[1]);
Defines._document.weaponSlotClips[2].init(Defines._document.saveSlot.weaponsEquipped[2]);
Defines._document.weaponSlotClips[3].init(Defines._document.saveSlot.weaponsEquipped[3]);
Defines._document.weaponSlotClips[0].parent.setChildIndex(Defines._document.weaponSlotClips[0], 4);
Defines._document.weaponSlotClips[1].parent.setChildIndex(Defines._document.weaponSlotClips[1], 5);
Defines._document.weaponSlotClips[2].parent.setChildIndex(Defines._document.weaponSlotClips[2], 6);
Defines._document.weaponSlotClips[3].parent.setChildIndex(Defines._document.weaponSlotClips[3], 7);
Defines._document.weaponSlotClips[0].visible = (Defines._document.weaponSlotClips[1].visible = (Defines._document.weaponSlotClips[2].visible = (Defines._document.weaponSlotClips[3].visible = true)));
} else {
if (activeGrid == buyModulesGrid){
trace("@@modules:", Defines._document.saveSlot.modulesEquipped);
Defines._document.weaponSlotClips[4].init(Defines._document.saveSlot.modulesEquipped[0]);
Defines._document.weaponSlotClips[5].init(Defines._document.saveSlot.modulesEquipped[1]);
Defines._document.weaponSlotClips[6].init(Defines._document.saveSlot.modulesEquipped[2]);
Defines._document.weaponSlotClips[4].parent.setChildIndex(Defines._document.weaponSlotClips[4], 7);
Defines._document.weaponSlotClips[5].parent.setChildIndex(Defines._document.weaponSlotClips[5], 8);
Defines._document.weaponSlotClips[6].parent.setChildIndex(Defines._document.weaponSlotClips[6], 9);
Defines._document.weaponSlotClips[4].visible = (Defines._document.weaponSlotClips[5].visible = (Defines._document.weaponSlotClips[6].visible = true));
};
};
Defines._document.addChild(Defines._document.buyConfirm);
if ((((((((Defines._document.saveSlot.weaponsEquipped[0] == 0)) || ((Defines._document.saveSlot.weaponsEquipped[1] == 0)))) || ((Defines._document.saveSlot.weaponsEquipped[2] == 0)))) || ((Defines._document.saveSlot.weaponsEquipped[3] == 0)))){
(Defines._document["inventoryWindow"]["btnClose"] as GenericButton).disable();
} else {
(Defines._document["inventoryWindow"]["btnClose"] as GenericButton).enable();
};
}
public function switchGrid(_arg1:ShopGrid){
release();
Defines._document.saver.saveData();
activeGrid = _arg1;
init();
}
public function confirmBuy(_arg1:uint, _arg2:InventoryWeaponSlot=null){
Defines._document.buyConfirm.visible = true;
Defines._document.buyConfirm.currentItem = _arg1;
Defines._document.buyConfirm.setInfo(WeaponData.getWeaponDefinition(_arg1));
Defines._document.buyConfirm.slotToEquip = _arg2;
Defines._document.buyConfirm.addEventListener("ON_BUY", onBuy);
}
private function onBuy(_arg1:Event):void{
Defines._document.buyConfirm.removeEventListener("ON_BUY", onBuy);
ownedItemsGrid.addItem(Defines._document.buyConfirm.currentItem);
ownedItemsGrid.drawGrid(this);
ownedItemsGrid.initializeItems();
Defines._document.substractCrystals(Defines._document.buyConfirm.weaponInfo.price);
if (Defines._document.buyConfirm.slotToEquip != null){
equipItem(Defines._document.buyConfirm.weaponInfo.itemID, Defines._document.buyConfirm.slotToEquip);
};
saveInventory();
TweenNano.delayedCall(0.2, init);
}
public function switchSlots(_arg1:InventoryWeaponSlot, _arg2:InventoryWeaponSlot){
trace("SWITCHING", _arg1.name, _arg2.name);
var _local3:uint = _arg1.currentItem;
var _local4:uint = _arg2.currentItem;
_arg1.currentItem = 0;
_arg2.currentItem = 0;
_arg1.checkItem();
_arg2.checkItem();
TweenNano.delayedCall(0.1, setSlotItem, [_local4, _arg1]);
TweenNano.delayedCall(0.15, setSlotItem, [_local3, _arg2]);
}
private function setSlotItem(_arg1:uint, _arg2:InventoryWeaponSlot){
_arg2.currentItem = _arg1;
_arg2.checkItem();
}
public function buyItem(_arg1:uint, _arg2:Boolean=true, _arg3:InventoryWeaponSlot=null){
var _local4:int = _arg1;
if (_local4 == 16){
_local4 = 15;
};
if (_arg2){
if (_arg3 == null){
confirmBuy(_local4);
} else {
confirmBuy(_local4, _arg3);
};
} else {
ownedItemsGrid.addItem(_local4);
ownedItemsGrid.drawGrid(this);
ownedItemsGrid.initializeItems();
};
TweenNano.delayedCall(0.1, saveInventory2);
}
public function equipItem(_arg1:uint, _arg2:InventoryWeaponSlot){
var _local3:uint = _arg2.currentItem;
var _local4:uint = _arg1;
if (_local4 == 16){
_local4 = 15;
};
_arg2.currentItem = _local4;
_arg2.checkItem();
if (_local3 != 0){
buyItem(_local3, false);
};
ownedItemsGrid.removeItem(_local4);
ownedItemsGrid.drawGrid(this);
ownedItemsGrid.initializeItems();
saveInventory();
}
public function saveInventory(){
trace("saving inventory", Defines._document.saveSlot.modulesEquipped, Defines._document.saveSlot.modulesOwned);
TweenNano.delayedCall(0.1, saveInventory2);
}
public function saveInventory2(){
trace("saving inventory 2", Defines._document.saveSlot.modulesEquipped, Defines._document.weaponSlotClips[5]["icon"].currentFrame, Defines._document.weaponSlotClips[5]["icon"].visible);
if (Defines._document.weaponSlotClips[0]["icon"].visible){
Defines._document.saveSlot.weaponsEquipped[0] = Defines._document.weaponSlotClips[0]["icon"].currentFrame;
} else {
Defines._document.saveSlot.weaponsEquipped[0] = 0;
};
if (Defines._document.weaponSlotClips[1]["icon"].visible){
Defines._document.saveSlot.weaponsEquipped[1] = Defines._document.weaponSlotClips[1]["icon"].currentFrame;
} else {
Defines._document.saveSlot.weaponsEquipped[1] = 0;
};
if (Defines._document.weaponSlotClips[2]["icon"].visible){
Defines._document.saveSlot.weaponsEquipped[2] = Defines._document.weaponSlotClips[2]["icon"].currentFrame;
} else {
Defines._document.saveSlot.weaponsEquipped[2] = 0;
};
if (Defines._document.weaponSlotClips[3]["icon"].visible){
Defines._document.saveSlot.weaponsEquipped[3] = Defines._document.weaponSlotClips[3]["icon"].currentFrame;
} else {
Defines._document.saveSlot.weaponsEquipped[3] = 0;
};
if (Defines._document.weaponSlotClips[4]["icon"].visible){
Defines._document.saveSlot.modulesEquipped[0] = Defines._document.weaponSlotClips[4]["icon"].currentFrame;
} else {
Defines._document.saveSlot.modulesEquipped[0] = 0;
};
if (Defines._document.weaponSlotClips[5]["icon"].visible){
Defines._document.saveSlot.modulesEquipped[1] = Defines._document.weaponSlotClips[5]["icon"].currentFrame;
} else {
Defines._document.saveSlot.modulesEquipped[1] = 0;
};
if (Defines._document.weaponSlotClips[6]["icon"].visible){
Defines._document.saveSlot.modulesEquipped[2] = Defines._document.weaponSlotClips[6]["icon"].currentFrame;
} else {
Defines._document.saveSlot.modulesEquipped[2] = 0;
};
if (activeGrid.category == "weapons"){
Defines._document.saveSlot.weaponsOwned = ownedItemsGrid.elements.concat();
} else {
if (activeGrid.category == "modules"){
Defines._document.saveSlot.modulesOwned = ownedItemsGrid.elements.concat();
};
};
init();
}
public function release(){
saveInventory();
buyWeaponsGrid.clearGrid();
ownedItemsGrid.clearGrid();
Defines._document.removeChild(Defines._document.buyConfirm);
}
}
}//package inventory
Section 126
//InventoryElement (inventory.InventoryElement)
package inventory {
import mochi.as3.*;
import flash.display.*;
import flash.events.*;
import data.*;
import flash.text.*;
public class InventoryElement extends Sprite {
public var priceText:TextField;
public var icon:MovieClip;
public var back:MovieClip;
public var startX:Number;
public var startY:Number;
public var dropTargets:Array;
public var latestTarget:DisplayObject;
public var grid:InventoryGrid;
public var itemID:uint;
public var inited:Boolean;// = false
var infoClip:MovieClip;
public var weapondata:WeaponDefinition;
public var price:MochiDigits;
public var itemName:String;// = ""
public var description:String;// = ""
public var category:String;// = ""
public var maxQuantity:Number;// = 0
public var isPremium:Boolean;// = false
public var isComsumable:Boolean;// = false
public var isEquippable:Boolean;// = false
public var isStackable:Boolean;// = false
public function InventoryElement(){
price = new MochiDigits(0);
dropTargets = new Array();
mouseChildren = false;
this.addEventListener(Event.ADDED_TO_STAGE, init);
}
function init(_arg1=null){
removeEventListener(Event.ADDED_TO_STAGE, init);
this["icon"].stop();
this["back"].visible = false;
infoClip = (parent.parent["weaponInfo"] as MovieClip);
weapondata = WeaponData.getWeaponDefinition(itemID);
startX = x;
startY = y;
if (!inited){
addEventListener(MouseEvent.MOUSE_DOWN, mousedown);
addEventListener(MouseEvent.MOUSE_UP, mouseup);
addEventListener(MouseEvent.MOUSE_OUT, mouseup);
addEventListener(MouseEvent.MOUSE_OVER, mouseover);
inited = true;
};
}
private function mouseover(_arg1:MouseEvent):void{
infoClip.y = this.y;
infoClip.visible = true;
infoClip.setInfo(weapondata);
}
function checkCollissions(){
var _local1:int;
while (_local1 < dropTargets.length) {
if (this.hitTestObject(dropTargets[_local1])){
latestTarget = (dropTargets[_local1] as DisplayObject);
dispatchEvent(new Event("ON_DROP"));
return;
};
_local1++;
};
}
function mousedown(_arg1:MouseEvent){
parent.setChildIndex(this, (parent.numChildren - 1));
startDrag();
this.x = ((stage.mouseX - 10) - parent.x);
this.y = ((stage.mouseY - 25) - parent.y);
latestTarget = null;
this["back"].visible = true;
infoClip.visible = false;
}
function mouseup(_arg1:MouseEvent){
checkCollissions();
stopDrag();
resetPos();
this["back"].visible = false;
infoClip.visible = false;
}
function resetPos(){
x = startX;
y = startY;
}
}
}//package inventory
Section 127
//InventoryGrid (inventory.InventoryGrid)
package inventory {
import data.*;
public class InventoryGrid {
public var cols:int;// = 7
public var rows:int;// = 2
public var x:Number;// = 0
public var y:Number;// = 0
public var hSpace:Number;// = 50
public var vSpace:Number;// = 70
public var dropTargets:Array;
public var parentClip:Inventory;
var timesDrawed:int;// = 0
public var elements:Array;
public var itemElements:Array;
public function InventoryGrid(_arg1:int, _arg2:int){
rows = _arg2;
cols = _arg1;
elements = new Array();
itemElements = new Array();
}
public function addItem(_arg1:uint){
elements.push(_arg1);
}
public function drawGrid(_arg1:Inventory){
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:InventoryElement;
trace("======= DRAWING GRID =======");
parentClip = _arg1;
_local2 = 0;
_local3 = 0;
clearGrid();
itemElements = new Array();
_local4 = 0;
while (_local4 < elements.length) {
_local5 = new InventoryElement();
_local5.x = (x + (_local2 * hSpace));
_local5.y = (y + (_local3 * vSpace));
_local5.grid = this;
_local5.itemID = elements[_local4];
_local5["icon"].gotoAndStop(_local5.itemID);
_local5.weapondata = WeaponData.getWeaponDefinition(_local5.itemID);
_arg1.addChild(_local5);
_local5.visible = true;
_local5.alpha = 1;
itemElements.push(_local5);
_local2++;
if (_local2 > cols){
_local2 = 0;
_local3++;
};
_local4++;
};
timesDrawed++;
}
public function getItemByID(_arg1:uint):InventoryElement{
var _local2:InventoryElement;
var _local3:int;
while (_local3 < itemElements.length) {
if (_arg1 == itemElements[_local3].itemID){
_local2 = (itemElements[_local3] as InventoryElement);
};
_local3++;
};
return (_local2);
}
public function removeItem(_arg1:uint){
var _local3:InventoryElement;
var _local2:int;
while (_local2 < itemElements.length) {
if (_arg1 == itemElements[_local2].itemID){
_local3 = getItemByID(_arg1);
parentClip.removeChild(_local3);
_local3 = null;
elements.splice(_local2, 1);
drawGrid(parentClip);
return;
};
_local2++;
};
}
public function clearGrid(){
var _local1:int;
while (_local1 < itemElements.length) {
if (itemElements[_local1].parent == parentClip){
parentClip.removeChild(itemElements[_local1]);
};
_local1++;
};
}
}
}//package inventory
Section 128
//InventoryWeaponSlot (inventory.InventoryWeaponSlot)
package inventory {
import flash.display.*;
import flash.events.*;
public class InventoryWeaponSlot extends Sprite {
public var icon:MovieClip;
public var inited:Boolean;// = false
public var dropTargets:Array;
public var startX:Number;
public var startY:Number;
public var currentItem:uint;// = 0
public var latestTarget:DisplayObject;
public function InventoryWeaponSlot(){
mouseChildren = false;
}
public function init(_arg1:uint=0):void{
currentItem = _arg1;
dropTargets = Defines._document.inv.buyWeaponsGrid.dropTargets;
removeEventListener(Event.ADDED_TO_STAGE, init);
checkItem();
startX = x;
startY = y;
if (!inited){
addEventListener(MouseEvent.MOUSE_DOWN, mousedown);
inited = true;
};
}
public function checkItem(){
this["icon"].gotoAndStop(currentItem);
if (currentItem == 0){
this["icon"].visible = false;
} else {
this["icon"].visible = true;
};
}
function checkCollissions(){
trace("InventoryWeaponSlot.checkCollissions()");
var _local1:int;
while (_local1 < dropTargets.length) {
if (((this.hitTestObject(dropTargets[_local1])) && (!((dropTargets[_local1] == this))))){
latestTarget = (dropTargets[_local1] as DisplayObject);
if ((dropTargets[_local1] is InventoryWeaponSlot)){
Defines._document.inv.switchSlots((dropTargets[_local1] as InventoryWeaponSlot), this);
} else {
releaseItem();
};
return;
};
_local1++;
};
}
public function releaseItem(){
trace("InventoryWeaponSlot.releaseItem()");
Defines._document.inv.buyItem(this.currentItem, false);
this.currentItem = 0;
checkItem();
}
private function mouseup(_arg1:Event):void{
trace("InventoryWeaponSlot.mouseup()");
if (this.currentItem != 0){
checkCollissions();
stopDrag();
resetPos();
parent.setChildIndex(this, 4);
removeEventListener(MouseEvent.MOUSE_UP, mouseup);
};
}
private function mousedown(_arg1:Event):void{
trace("InventoryWeaponSlot.mousedown()");
if (this.currentItem != 0){
parent.setChildIndex(this, (parent.numChildren - 1));
startDrag();
this.x = ((stage.mouseX - (this.width * 0.5)) - parent.x);
this.y = ((stage.mouseY - (this.height * 0.5)) - parent.y);
addEventListener(MouseEvent.MOUSE_UP, mouseup);
};
latestTarget = null;
}
function resetPos(){
x = startX;
y = startY;
}
}
}//package inventory
Section 129
//OwnedGrid (inventory.OwnedGrid)
package inventory {
import flash.events.*;
public class OwnedGrid extends InventoryGrid {
public function OwnedGrid(_arg1:int, _arg2:int){
super(_arg1, _arg2);
}
function initializeItems(){
var _local2:int;
var _local1:int;
while (_local1 < itemElements.length) {
if ((itemElements[_local1] as InventoryElement) != null){
_local2 = 0;
while (_local2 < dropTargets.length) {
(itemElements[_local1] as InventoryElement).dropTargets.push(dropTargets[_local2]);
_local2++;
};
(itemElements[_local1] as InventoryElement).addEventListener("ON_DROP", onItemDrop);
};
_local1++;
};
}
function onItemDrop(_arg1:Event){
var _local2:InventoryElement = (_arg1.target as InventoryElement);
if ((_local2.latestTarget is InventoryWeaponSlot)){
parentClip.equipItem(_local2.itemID, (_local2.latestTarget as InventoryWeaponSlot));
};
}
}
}//package inventory
Section 130
//ShopGrid (inventory.ShopGrid)
package inventory {
import flash.events.*;
public class ShopGrid extends InventoryGrid {
var category:String;
public function ShopGrid(_arg1:int, _arg2:int, _arg3:String="weapons"){
super(_arg1, _arg2);
category = _arg3;
}
function initializeItems(){
var _local2:int;
var _local1:int;
while (_local1 < itemElements.length) {
if ((itemElements[_local1] as InventoryElement) != null){
_local2 = 0;
while (_local2 < dropTargets.length) {
(itemElements[_local1] as InventoryElement).dropTargets.push(dropTargets[_local2]);
_local2++;
};
(itemElements[_local1] as InventoryElement).addEventListener("ON_DROP", onItemDrop);
};
_local1++;
};
}
function onItemDrop(_arg1:Event){
var _local2:InventoryElement = (_arg1.target as InventoryElement);
if ((_local2.latestTarget is InventoryWeaponSlot)){
parentClip.buyItem(_local2["icon"].currentFrame, true, (_local2.latestTarget as InventoryWeaponSlot));
} else {
parentClip.buyItem(_local2["icon"].currentFrame);
};
trace("item", _local2, parentClip, (_local2.latestTarget is InventoryWeaponSlot));
}
}
}//package inventory
Section 131
//BossRushLevel (Levels.BossRushLevel)
package Levels {
import Actors.Enemies.*;
public class BossRushLevel extends Level {
public function BossRushLevel(){
backgroundClip = BG6;
foregroundClips = [t61, t62, t63, t64, t65];
steps = [new LevelStep([[1, EllusivePlate, 1, 1], [1, EllusivePlate, 0, 1], [1, SmallPlate, 0, 1], [1, SmallPlate, 1, 1], [1, SmallPlate, 0, 1], [1, SmallPlate, 1, 1], [1, SmallPlate, 0, 1], [0.5, SmallPlate, 1, 1], [3, BigPlate, 0, 1], [2, SmallPlate, 1, 1], [2, SmallPlate, 0, 1], [1, SmallPlate, 0, 1], [1, EllusivePlate, 0, 1], [5, Boss1, 1, 1]]), new LevelStep([[1, SmallShip, 1, 1], [1, EllusivePlate, 0, 1], [1, BigShip, 0, 1], [1, SmallPlate, 1, 1], [0.5, SmallShip, 1, 1], [2, BigPlate, 0, 1], [2, SmallShip, 1, 1], [1, SmallShip, 0, 1], [1, EllusivePlate, 0, 1], [6, Boss2, 1, 1]]), new LevelStep([[1, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [1, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [1, SmallShip, 1, 1], [0.5, SmallShip, 1, 1], [1, SmallShip, 0, 1], [0.5, SmallShip, 0, 1], [1, SmallShip, 1, 1], [2, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [6, Boss3, 1, 1]]), new LevelStep([[1, Kamikaze, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, Kamikaze, 1, 1], [1, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, Kamikaze, 1, 1], [0.3, SmallPlate, 0, 1], [1, SmallShip, 1, 1], [0.5, SmallShip, 1, 1], [1, SmallShip, 0, 1], [0.5, MicroPlate, 0, 1], [1, MicroPlate, 1, 1], [0.5, Kamikaze, 1, 1], [0.5, Kamikaze, 1, 1], [3, Kamikaze, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 0, 1], [4, Boss1, 1, 2]]), new LevelStep([[1, BigShip, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, Misil, 1, 1, {xtarget:0}], [0.3, Misil, 1, 1, {xtarget:-1}], [1, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, Misil, 1, 1, {xtarget:0}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, Kamikaze, 1, 1], [2, BigShip, 0, 1], [0.5, MicroPlate, 0, 1], [1, MicroPlate, 1, 1], [0.3, Misil, 1, 1, {xtarget:0}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:0}], [0.5, Kamikaze, 1, 1], [2, Kamikaze, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 0, 1], [2, Boss5, 1, 1]])];
}
}
}//package Levels
Section 132
//DebugLevel (Levels.DebugLevel)
package Levels {
import Actors.Enemies.*;
public class DebugLevel extends Level {
public function DebugLevel(){
backgroundClip = BG1;
foregroundClips = [t11, t12, t13, t14, t15];
steps = [new LevelStep([[1, Kamikaze, 1, 1], [1, Kamikaze, 1, 1], [2, Kamikaze, 1, 1], [2, Kamikaze, 1, 1], [2, Kamikaze, 1, 1], [2, Kamikaze, 1, 1], [2, Kamikaze, 1, 1], [2, Kamikaze, 1, 1], [2, Kamikaze, 1, 1], [2, Kamikaze, 1, 1], [2, Kamikaze, 1, 1], [2, Kamikaze, 1, 1], [2, Kamikaze, 1, 1], [2, Kamikaze, 1, 1], [1, Kamikaze, 1, 1], [1, Kamikaze, 1, 1], [2, Kamikaze, 1, 1]])];
}
}
}//package Levels
Section 133
//Level (Levels.Level)
package Levels {
import Actors.Enemies.*;
public class Level {
public var steps:Array;
public var backgroundClip:Class;
public var foregroundClips:Array;
public var totalEnemies:int;// = 0
public var killedEnemies:int;// = 0
public var deletedEnemies:int;// = 0
public var oldFormat:Boolean;// = false
public function init(_arg1:int){
totalEnemies = steps[_arg1].enemies.length;
killedEnemies = 0;
deletedEnemies = 0;
trace("initializing level", _arg1);
}
public function checkEnemies(){
traceStats();
if (deletedEnemies >= totalEnemies){
Defines._game.levelCompleted();
};
}
public function traceStats(){
if (Defines.DEBUG_MODE){
trace("===============");
trace("LEVEL STATS:");
trace(("Killed Enemies: " + killedEnemies));
trace(("Deleted Enemies: " + deletedEnemies));
trace(("Total Enemies: " + totalEnemies));
trace("===============");
};
}
}
}//package Levels
Section 134
//Level1 (Levels.Level1)
package Levels {
import Actors.Enemies.*;
public class Level1 extends Level {
public function Level1(){
backgroundClip = BG1;
foregroundClips = [t11, t12, t13, t14, t15];
oldFormat = true;
steps = [new LevelStep([[1, SmallPlate, 1, 1], [4, SmallPlate, 0, 1], [5.5, SmallPlate, 1, 1], [7, SmallPlate, 1, 1], [10, MicroPlate, 1, 1], [13, MicroPlate, 0, 1], [14, MicroPlate, 1, 1], [15, MicroPlate, 0, 1], [17, MicroPlate, 1, 1], [17.3, MicroPlate, 0, 1], [17.6, MicroPlate, 1, 1], [17.9, MicroPlate, 0, 1], [20, SmallPlate, 1, 1], [22, MicroPlate, 0, 1], [22.3, MicroPlate, 1, 1], [23.5, SmallPlate, 0, 1], [25, MicroPlate, 0, 1], [25.3, MicroPlate, 1, 1], [25.6, MicroPlate, 1, 1], [27, MicroPlate, 1, 1], [27.2, MicroPlate, 1, 1], [28, MicroPlate, 1, 1], [28.2, MicroPlate, 1, 1], [30, SmallPlate, 0, 1], [31, SmallPlate, 1, 1]]), new LevelStep([[1, SmallPlate, 1, 1], [2, SmallPlate, 0, 1], [3, SmallPlate, 1, 1], [6, BigPlate, 1, 1], [10, SmallPlate, 0, 1], [11, SmallPlate, 0, 1], [12, SmallPlate, 0, 1], [14, PowerupShip, 1, 1, {type:2}], [16, MicroPlate, 0, 1], [16.4, MicroPlate, 0, 1], [16.8, MicroPlate, 0, 1], [17.2, MicroPlate, 0, 1], [17, BigPlate, 1, 1], [18.2, MicroPlate, 0, 1], [18.4, MicroPlate, 0, 1], [18.6, MicroPlate, 0, 1], [20, MicroPlate, 0, 1], [20.2, MicroPlate, 0, 1], [24, BigPlate, 0, 1], [25, SmallPlate, 0, 1], [27, BigPlate, 1, 1], [29, SmallPlate, 0, 1], [29, SmallPlate, 1, 1], [29.5, MicroPlate, 0, 1], [29.5, MicroPlate, 0, 1], [33, SmallPlate, 0, 1], [33, SmallPlate, 1, 1], [36, BigPlate, 1, 1], [38, SmallPlate, 1, 1], [38.5, SmallPlate, 0, 1]]), new LevelStep([[1, SmallPlate, 1, 1], [2, SmallPlate, 0, 1], [3, SmallPlate, 1, 1], [4, SmallPlate, 0, 1], [4, SmallPlate, 1, 1], [6, SmallPlate, 0, 1], [10, EllusivePlate, 0, 1], [15, SmallPlate, 1, 1], [17, SmallPlate, 0, 1], [18, BigPlate, 1, 1], [19, SmallPlate, 0, 1], [22, EllusivePlate, 0, 1], [24, BigPlate, 0, 1], [26, MicroPlate, 0, 1], [26.3, MicroPlate, 0, 1], [26.6, MicroPlate, 0, 1], [30, SmallPlate, 0, 1], [31, MicroPlate, 0, 1], [31.3, MicroPlate, 0, 1], [32, MicroPlate, 0, 1], [32.3, MicroPlate, 0, 1], [34, MicroPlate, 0, 1], [34.3, MicroPlate, 0, 1], [34.6, MicroPlate, 0, 1], [35, BigPlate, 0, 1], [37, MicroPlate, 0, 1], [37.3, MicroPlate, 0, 1], [37.6, MicroPlate, 0, 1], [39, MicroPlate, 0, 1], [39.3, MicroPlate, 0, 1], [39, BigPlate, 1, 1], [40, EllusivePlate, 0, 1], [43, SmallPlate, 0, 1], [46, SmallPlate, 1, 1], [47, SmallPlate, 0, 1], [48, SmallPlate, 1, 1], [49, SmallPlate, 0, 1]]), new LevelStep([[1, EllusivePlate, 1, 1], [2, EllusivePlate, 0, 1], [3, SmallPlate, 1, 1], [4, BigPlate, 0, 1], [6, BigPlate, 0, 1], [12, SmallPlate, 1, 1], [12, SmallPlate, 0, 1], [15, SmallPlate, 0, 1], [16, BigPlate, 1, 1], [20, EllusivePlate, 1, 1], [22, PowerupShip, 0, 1, {type:3}], [23, SmallPlate, 1, 1], [24, SmallPlate, 0, 1], [26, SmallPlate, 1, 1], [27, SmallPlate, 0, 1], [28, SmallPlate, 1, 1], [28.5, SmallPlate, 0, 1], [29, BigPlate, 1, 1], [31, SmallPlate, 0, 1], [31, SmallPlate, 1, 1], [32, EllusivePlate, 1, 1], [34, SmallPlate, 1, 1], [35, EllusivePlate, 0, 1], [36, SmallPlate, 0, 1], [37, SmallPlate, 1, 1], [38, SmallPlate, 0, 1], [39, BigPlate, 1, 1], [40, SmallPlate, 0, 1]]), new LevelStep([[1, EllusivePlate, 1, 1], [3, EllusivePlate, 0, 1], [2, SmallPlate, 0, 1], [3, SmallPlate, 1, 1], [4, SmallPlate, 0, 1], [5, SmallPlate, 1, 1], [8, SmallPlate, 0, 1], [8.5, SmallPlate, 1, 1], [9, BigPlate, 0, 1], [12, SmallPlate, 1, 1], [13, SmallPlate, 0, 1], [17, PowerupShip, 0, 1, {type:1}], [15, SmallPlate, 0, 1], [16, EllusivePlate, 0, 1], [25, Boss1, 1, 1]])];
}
}
}//package Levels
Section 135
//Level2 (Levels.Level2)
package Levels {
import Actors.Enemies.*;
public class Level2 extends Level {
public function Level2(){
backgroundClip = BG2;
foregroundClips = [t21, t22, t23, t24, t25];
oldFormat = true;
steps = [new LevelStep([[1, SmallShip, 1, 1], [4, SmallShip, 0, 1], [5.5, SmallShip, 1, 1], [7, SmallShip, 1, 1], [10, MicroPlate, 1, 1], [13, MicroPlate, 0, 1], [14, MicroPlate, 1, 1], [15, SmallShip, 0, 1], [17, SmallShip, 1, 1], [17.3, MicroPlate, 0, 1], [17.6, MicroPlate, 1, 1], [17.9, MicroPlate, 0, 1], [20, SmallPlate, 1, 1], [22, MicroPlate, 0, 1], [22.3, MicroPlate, 1, 1], [23.5, SmallPlate, 0, 1], [25, MicroPlate, 0, 1], [25.3, MicroPlate, 1, 1], [25.6, MicroPlate, 1, 1], [27, MicroPlate, 1, 1], [27.2, MicroPlate, 1, 1], [28, MicroPlate, 1, 1], [28.2, MicroPlate, 1, 1], [29, MicroPlate, 1, 1], [29, MicroPlate, 1, 1], [29.5, MicroPlate, 1, 1], [29.2, MicroPlate, 1, 1]]), new LevelStep([[1, SmallPlate, 1, 1], [2, SmallShip, 0, 1], [3, SmallPlate, 1, 1], [6, BigPlate, 1, 1], [10, SmallPlate, 0, 1], [11, SmallShip, 0, 1], [12, SmallPlate, 1, 1], [13, PowerupShip, 0, 1, {type:2}], [16, MicroPlate, 0, 1], [16.4, MicroPlate, 0, 1], [16.8, MicroPlate, 0, 1], [17.2, MicroPlate, 0, 1], [17, SmallShip, 1, 1], [17, SmallShip, 0, 1], [18.2, MicroPlate, 0, 1], [18.4, MicroPlate, 0, 1], [18.6, MicroPlate, 0, 1], [20, MicroPlate, 0, 1], [20.2, MicroPlate, 0, 1], [24, BigPlate, 0, 1], [25, SmallShip, 0, 1], [25, SmallShip, 1, 1], [27, BigPlate, 1, 1], [29, SmallPlate, 0, 1], [29, SmallPlate, 1, 1], [29.5, MicroPlate, 0, 1], [29.5, MicroPlate, 0, 1], [33, SmallPlate, 0, 1], [33, SmallPlate, 1, 1], [36, BigPlate, 1, 1], [38, SmallPlate, 1, 1], [38.5, SmallPlate, 0, 1]]), new LevelStep([[1, BigShip, 1, 1], [5, MicroPlate, 1, 1], [6, MicroPlate, 1, 1], [7, MicroPlate, 1, 1], [7, MicroPlate, 1, 1], [10, BigShip, 0, 1], [11, EllusivePlate, 0, 1], [15, SmallPlate, 1, 1], [17, SmallPlate, 0, 1], [18, BigPlate, 1, 1], [19, SmallPlate, 0, 1], [24, BigPlate, 0, 1], [26, MicroPlate, 0, 1], [26.3, MicroPlate, 0, 1], [26.6, MicroPlate, 0, 1], [27, PowerupShip, 0, 1, {type:1}], [30, SmallPlate, 0, 1], [31, MicroPlate, 0, 1], [31.3, MicroPlate, 0, 1], [32, SmallShip, 0, 1], [34, SmallShip, 0, 1], [34.3, SmallShip, 0, 1], [34.6, SmallShip, 0, 1], [35, BigPlate, 0, 1], [37, MicroPlate, 0, 1], [37.3, MicroPlate, 0, 1], [37.6, MicroPlate, 0, 1], [39, MicroPlate, 0, 1], [39.3, MicroPlate, 0, 1], [39, BigPlate, 1, 1], [43, EllusivePlate, 0, 1], [48, SmallPlate, 1, 1], [49, SmallPlate, 0, 1], [50, SmallPlate, 1, 1], [51, SmallPlate, 0, 1]]), new LevelStep([[1, SmallShip, 1, 1], [2, SmallShip, 0, 1], [3, SmallShip, 1, 1], [7, SmallShip, 1, 1], [8, SmallShip, 0, 1], [9, SmallShip, 1, 1], [10, SmallShip, 0, 1], [11, SmallShip, 1, 1], [15.5, BigPlate, 0, 1], [16, BigPlate, 1, 1], [16.3, MicroPlate, 0, 1], [16.4, MicroPlate, 0, 1], [16.5, MicroPlate, 0, 1], [16.8, MicroPlate, 0, 1], [16.9, MicroPlate, 0, 1], [17, MicroPlate, 0, 1], [18, PowerupShip, 0, 1, {type:4}], [21, SmallShip, 1, 1], [21, SmallShip, 0, 1], [22, SmallShip, 1, 1], [22, SmallShip, 0, 1], [23, SmallShip, 1, 1], [23, SmallShip, 0, 1], [25.3, MicroPlate, 0, 1], [25.4, MicroPlate, 0, 1], [25.5, MicroPlate, 0, 1], [25.8, MicroPlate, 0, 1], [25.9, MicroPlate, 0, 1], [28, SmallPlate, 1, 1], [29, SmallPlate, 0, 1], [30, SmallPlate, 1, 1], [31, SmallPlate, 0, 1], [32.3, MicroPlate, 0, 1], [32.4, MicroPlate, 0, 1], [32.5, MicroPlate, 0, 1], [32.8, MicroPlate, 0, 1], [33, BigPlate, 0, 1], [33, BigPlate, 1, 1], [38, EllusivePlate, 0, 1], [35, BigShip, 0, 1], [37, BigShip, 1, 1], [41, MicroPlate, 1, 1], [42, MicroPlate, 1, 1], [42, MicroPlate, 1, 1], [43, MicroPlate, 1, 1], [43, MicroPlate, 1, 1], [43, MicroPlate, 1, 1]]), new LevelStep([[1, SmallShip, 1, 1], [3, BigShip, 0, 1], [5, SmallPlate, 1, 1], [8.5, SmallShip, 1, 1], [9, BigPlate, 0, 1], [10, PowerupShip, 1, 1, {type:1}], [15, SmallShip, 0, 1], [17, EllusivePlate, 0, 1], [25, Boss2, 1, 1]])];
}
}
}//package Levels
Section 136
//Level3 (Levels.Level3)
package Levels {
import Actors.Enemies.*;
public class Level3 extends Level {
public function Level3(){
backgroundClip = BG3;
foregroundClips = [t31, t32, t33, t34, t35];
steps = [new LevelStep([[1, MicroPlate, 1, 1], [1, MicroPlate, 0, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [1, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 2)}], [1.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [3.5, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 4)}], [2, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 4) * 3)}], [0.3, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1]]), new LevelStep([[1, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 4)}], [1, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 4) * 3)}], [0.5, SmallShip, 0, 1], [0.5, SmallShip, 1, 1], [0.5, SmallShip, 0, 1], [2, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.7, BigPlate, 1, 1], [0.3, BigPlate, 0, 1], [3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [2.5, PowerupShip, 0, 1, {type:4}], [1.2, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 4)}], [1, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 4) * 3)}], [0.5, EllusivePlate, 0, 1], [1, EllusivePlate, 0, 1], [1, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [2, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [2, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1]]), new LevelStep([[1, BigShip, 1, 1], [5, PowerupShip, 0, 1, {type:3}], [2, BigPlate, 1, 1], [1, BigPlate, 0, 1], [1, BigPlate, 0, 1], [1, BigPlate, 1, 1], [0.5, BigPlate, 0, 1], [0.5, BigPlate, 0, 1], [3, BigShip, 1, 1], [2, BigShip, 0, 1], [3, SmallPlate, 0, 1], [0.5, SmallPlate, 1, 1], [0.5, SmallPlate, 0, 1], [0.5, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [1.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [3, EllusivePlate, 0, 1], [1, EllusivePlate, 0, 1], [2, PowerupShip, 1, 1, {type:1}], [1.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [1, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 2)}], [2, SmallShip, 0, 1], [0.5, SmallShip, 1, 1], [0.5, SmallShip, 0, 1], [4, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 4)}], [0.5, BigPlate, 0, 1], [0.5, BigPlate, 1, 1], [0.5, BigPlate, 0, 1]]), new LevelStep([[1, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 5)}], [0.5, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 5) * 4)}], [1, EllusivePlate, 0, 1], [1, EllusivePlate, 0, 1], [4, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [4, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 5)}], [0.5, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 5) * 4)}], [1, SmallShip, 1, 1], [0.5, SmallShip, 1, 1], [1, SmallShip, 0, 1], [0.5, SmallShip, 0, 1], [1, SmallShip, 1, 1], [0.5, SmallShip, 1, 1], [1, SmallShip, 0, 1], [0.5, SmallShip, 0, 1], [1, SmallShip, 1, 1], [0.5, SmallShip, 1, 1], [1, SmallShip, 0, 1], [0.5, SmallShip, 0, 1], [2, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [2, PowerupShip, 1, 1, {type:1}], [3, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 5)}], [0.5, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 5) * 4)}], [3, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 5) + 100)}], [0.5, ElectricBall, 1, 1, {xtarget:(((Defines.CHAR_LIMIT_X_RIGHT / 5) * 4) - 100)}], [1, EllusivePlate, 0, 1], [1.5, EllusivePlate, 0, 1], [1.5, EllusivePlate, 0, 1]]), new LevelStep([[1, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [1, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [1, SmallShip, 1, 1], [0.5, SmallShip, 1, 1], [1, SmallShip, 0, 1], [0.5, SmallShip, 0, 1], [1, SmallShip, 1, 1], [2, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [6, Boss3, 1, 1]])];
}
}
}//package Levels
Section 137
//Level4 (Levels.Level4)
package Levels {
import Actors.Enemies.*;
public class Level4 extends Level {
public function Level4(){
backgroundClip = BG5;
foregroundClips = [t51, t52, t53, t54, t55];
steps = [new LevelStep([[1, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [4, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.6, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [2.5, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.6, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [0.3, MicroPlate, 1, 1], [3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.6, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [1.5, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, MicroPlate, 1, 1], [0.3, Kamikaze, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, Kamikaze, 1, 1], [0.3, MicroPlate, 1, 1]]), new LevelStep([[1, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 4)}], [0.5, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 4) * 3)}], [0.6, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [0.5, SmallShip, 0, 1], [0.5, SmallShip, 0, 1], [0.5, SmallShip, 0, 1], [2, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, Kamikaze, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, Kamikaze, 1, 1], [0.3, MicroPlate, 1, 1], [0.7, BigPlate, 1, 1], [0.3, BigPlate, 0, 1], [3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, Kamikaze, 1, 1], [0.3, SmallPlate, 0, 1], [2.5, PowerupShip, 0, 1, {type:4}], [1.2, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 4)}], [1, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 4) * 3)}], [0.5, EllusivePlate, 0, 1], [1, EllusivePlate, 0, 1], [1, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, Kamikaze, 0, 1], [2, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, Kamikaze, 1, 1], [0.3, SmallPlate, 0, 1], [2, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, Kamikaze, 1, 1], [0.3, Kamikaze, 0, 1], [3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1]]), new LevelStep([[1, SmallShip, 1, 1], [0.5, SmallShip, 1, 1], [1, SmallShip, 0, 1], [0.5, SmallShip, 0, 1], [2, SmallShip, 1, 1], [0.3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [0.5, SmallShip, 1, 1], [1, SmallShip, 0, 1], [0.5, SmallShip, 0, 1], [2, SmallShip, 1, 1], [0.3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [0.5, SmallShip, 1, 1], [2, SmallShip, 0, 1], [0.5, SmallShip, 0, 1], [0.3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [3, BigShip, 1, 1], [2, BigShip, 0, 1], [0.3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [2, PowerupShip, 0, 1, {type:1}], [3, SmallPlate, 0, 1], [0.5, SmallPlate, 1, 1], [0.5, SmallPlate, 0, 1], [0.5, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [1.5, MicroPlate, 1, 1], [0.5, Kamikaze, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, Kamikaze, 1, 1], [0.3, MicroPlate, 1, 1], [3, EllusivePlate, 0, 1], [1, EllusivePlate, 0, 1], [2, PowerupShip, 1, 1, {type:1}], [1.5, MicroPlate, 1, 1], [0.5, Kamikaze, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, Kamikaze, 1, 1], [1, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 2)}], [2, SmallShip, 0, 1], [0.5, SmallShip, 1, 1], [0.3, Kamikaze, 0, 1], [2.5, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 4)}], [2, SmallShip, 0, 1], [0.5, SmallShip, 1, 1], [0.3, Kamikaze, 0, 1], [2.5, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 4) * 3)}], [0.5, BigPlate, 0, 1], [0.5, BigPlate, 1, 1], [0.5, BigPlate, 0, 1]]), new LevelStep([[1, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 5)}], [0.5, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 5) * 4)}], [1, Kamikaze, 0, 1], [0.3, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [4, Kamikaze, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, Kamikaze, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, Kamikaze, 1, 1], [4, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 5)}], [0.5, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 5) * 4)}], [2, PowerupShip, 1, 1, {type:2}], [3, Kamikaze, 1, 1], [0.5, Kamikaze, 1, 1], [1, Kamikaze, 0, 1], [0.5, Kamikaze, 0, 1], [1, Kamikaze, 1, 1], [0.5, Kamikaze, 1, 1], [1, Kamikaze, 0, 1], [0.5, Kamikaze, 0, 1], [1, Kamikaze, 1, 1], [0.5, Kamikaze, 1, 1], [1, Kamikaze, 0, 1], [0.5, Kamikaze, 0, 1], [2, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [2, PowerupShip, 1, 1, {type:1}], [3, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 5)}], [0.5, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 5) * 4)}], [3, Kamikaze, 1, 1], [0.5, Kamikaze, 1, 1], [1, Kamikaze, 0, 1], [0.5, Kamikaze, 0, 1], [1, Kamikaze, 1, 1], [0.5, Kamikaze, 1, 1], [1, Kamikaze, 0, 1], [0.5, Kamikaze, 0, 1]]), new LevelStep([[1, Kamikaze, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, Kamikaze, 1, 1], [1, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, Kamikaze, 1, 1], [0.3, SmallPlate, 0, 1], [1, SmallShip, 1, 1], [0.5, SmallShip, 1, 1], [1, SmallShip, 0, 1], [0.5, MicroPlate, 0, 1], [1, MicroPlate, 1, 1], [0.5, Kamikaze, 1, 1], [0.5, Kamikaze, 1, 1], [3, Kamikaze, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 0, 1], [4, Boss1, 1, 2]])];
}
}
}//package Levels
Section 138
//Level5 (Levels.Level5)
package Levels {
import Actors.Enemies.*;
public class Level5 extends Level {
public function Level5(){
backgroundClip = BG6;
foregroundClips = [t61, t62, t63, t64, t65];
steps = [new LevelStep([[1, BigPlate, 1, 1], [1, BigPlate, 0, 1], [2, BigPlate, 0, 1], [1, BigPlate, 0, 1], [2, BigPlate, 0, 1], [5, Misil, 1, 1, {xtarget:0}], [2, Misil, 1, 1, {xtarget:0}], [2, Misil, 1, 1, {xtarget:0}], [1, Misil, 1, 1, {xtarget:0}], [1, Misil, 1, 1, {xtarget:0}], [1, Misil, 1, 1, {xtarget:0}], [0.5, Misil, 1, 1, {xtarget:0}], [0.5, Misil, 1, 1, {xtarget:0}], [0.5, Misil, 1, 1, {xtarget:0}], [2, Misil, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 8)}], [0.5, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 3)}], [0.5, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 5)}], [0.5, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 7)}], [0.8, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 2)}], [0, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 4)}], [0, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 6)}], [0, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 8)}], [3, Misil, 1, 1, {xtarget:-1}], [1, Misil, 1, 1, {xtarget:-1}], [1, Misil, 1, 1, {xtarget:-1}], [1, Misil, 1, 1, {xtarget:-1}], [1, Misil, 1, 1, {xtarget:-1}], [1, Misil, 1, 1, {xtarget:-1}], [0.5, Misil, 1, 1, {xtarget:-1}], [0.5, Misil, 1, 1, {xtarget:-1}], [0.5, Misil, 1, 1, {xtarget:-1}], [1, Misil, 1, 1, {xtarget:-1}], [0.5, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:-1}]]), new LevelStep([[1, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [1, Misil, 1, 1, {xtarget:-1}], [0.5, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.5, SmallShip, 0, 1], [0.5, SmallShip, 0, 1], [0.5, SmallShip, 0, 1], [2, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [1, Kamikaze, 1, 1], [2, Misil, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 8)}], [0.3, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 3)}], [0.3, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 5)}], [0.3, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 7)}], [0.8, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 2)}], [0.3, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 4)}], [0.3, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 6)}], [0.3, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 8)}], [0.3, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [2, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, Kamikaze, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, Kamikaze, 1, 1], [0.3, MicroPlate, 1, 1], [1, Misil, 1, 1, {xtarget:-1}], [0.5, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.7, BigPlate, 1, 1], [0.3, BigPlate, 0, 1], [0.3, Misil, 1, 1, {xtarget:-1}], [3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, Kamikaze, 1, 1], [0.3, SmallPlate, 0, 1], [2.5, PowerupShip, 0, 1, {type:3}], [1.2, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 4)}], [1, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 4) * 3)}], [0.5, EllusivePlate, 0, 1], [0.3, Misil, 1, 1, {xtarget:-1}], [1, EllusivePlate, 0, 1], [1, SmallPlate, 1, 1], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [1, Misil, 1, 1, {xtarget:-1}], [0.5, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, Kamikaze, 0, 1], [2, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, Kamikaze, 1, 1], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, SmallPlate, 0, 1], [2, SmallPlate, 1, 1], [1, Misil, 1, 1, {xtarget:-1}], [0.5, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, SmallPlate, 0, 1], [0.3, Kamikaze, 1, 1], [0.3, Kamikaze, 0, 1]]), new LevelStep([[3, BigShip, 1, 1], [2, BigShip, 0, 1], [0.3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [1, Misil, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 8)}], [0, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 3)}], [0, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 5)}], [0, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 7)}], [0.3, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 2)}], [0, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 4)}], [0, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 6)}], [0, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 8)}], [3, SmallPlate, 0, 1], [0.5, SmallPlate, 1, 1], [0.5, SmallPlate, 0, 1], [0.5, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [1.5, MicroPlate, 1, 1], [0.5, Kamikaze, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, Kamikaze, 1, 1], [0.3, MicroPlate, 1, 1], [3, EllusivePlate, 0, 1], [1, EllusivePlate, 0, 1], [2, PowerupShip, 1, 1, {type:1}], [2.5, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 4)}], [2, SmallShip, 0, 1], [0.3, Misil, 1, 1, {xtarget:-1}], [0.5, SmallShip, 1, 1], [0.3, Kamikaze, 0, 1], [0.3, Misil, 1, 1, {xtarget:-1}], [2.5, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 4) * 3)}], [4, BigPlate, 0, 1], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.5, BigPlate, 1, 1], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.5, BigPlate, 0, 1], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:-1}], [1, SmallShip, 1, 1], [0.5, SmallShip, 1, 1], [1, SmallShip, 0, 1], [0.5, SmallShip, 0, 1], [2, SmallShip, 1, 1], [0.3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [0.5, SmallShip, 1, 1], [1, SmallShip, 0, 1], [0.3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [4, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [0.6, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1]]), new LevelStep([[0.5, Misil, 1, 1, {xtarget:0}], [1, Misil, 1, 1, {xtarget:0}], [1, Misil, 1, 1, {xtarget:-1}], [1, Misil, 1, 1, {xtarget:0}], [0.5, Misil, 1, 1, {xtarget:-1}], [1, Misil, 1, 1, {xtarget:0}], [0.5, Misil, 1, 1, {xtarget:-1}], [0.2, Misil, 1, 1, {xtarget:0}], [0.5, Misil, 1, 1, {xtarget:-1}], [1, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 5)}], [0.5, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 5) * 4)}], [3, Misil, 1, 1, {xtarget:0}], [0.3, Misil, 1, 1, {xtarget:0}], [0.2, Misil, 1, 1, {xtarget:-1}], [0.4, Misil, 1, 1, {xtarget:0}], [0.5, Misil, 1, 1, {xtarget:-1}], [1, Misil, 1, 1, {xtarget:0}], [0.2, Misil, 1, 1, {xtarget:-1}], [0.2, Misil, 1, 1, {xtarget:0}], [0.5, Misil, 1, 1, {xtarget:-1}], [1, Kamikaze, 0, 1], [0.3, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [4, Kamikaze, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, Kamikaze, 1, 1], [0.5, Kamikaze, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, Kamikaze, 1, 1], [4, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 5)}], [0.5, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 5) * 4)}], [2, PowerupShip, 1, 1, {type:2}], [3, Kamikaze, 1, 1], [0.5, Kamikaze, 1, 1], [0.3, Misil, 1, 1, {xtarget:0}], [0.3, Misil, 1, 1, {xtarget:-1}], [1, Kamikaze, 0, 1], [0.5, Kamikaze, 0, 1], [0.3, Misil, 1, 1, {xtarget:0}], [0.3, Misil, 1, 1, {xtarget:-1}], [1, Kamikaze, 1, 1], [0.5, Kamikaze, 1, 1], [0.3, Misil, 1, 1, {xtarget:0}], [0.3, Misil, 1, 1, {xtarget:-1}], [1, Kamikaze, 0, 1], [0.5, Kamikaze, 0, 1], [0.3, Misil, 1, 1, {xtarget:0}], [0.3, Misil, 1, 1, {xtarget:-1}], [1, Kamikaze, 1, 1], [0.5, Kamikaze, 1, 1], [0.3, Misil, 1, 1, {xtarget:0}], [0.3, Misil, 1, 1, {xtarget:-1}], [1, Kamikaze, 0, 1], [0.5, Kamikaze, 0, 1], [3, Kamikaze, 1, 1], [0.5, Kamikaze, 1, 1], [1, Kamikaze, 0, 1], [0.3, Misil, 1, 1, {xtarget:0}], [0.5, Kamikaze, 0, 1], [1, Kamikaze, 1, 1], [0.3, Misil, 1, 1, {xtarget:0}], [0.5, Kamikaze, 1, 1], [1, Kamikaze, 0, 1], [0.3, Misil, 1, 1, {xtarget:0}], [0.5, Kamikaze, 0, 1]]), new LevelStep([[1, BigShip, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, Misil, 1, 1, {xtarget:0}], [0.3, Misil, 1, 1, {xtarget:-1}], [1, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, Misil, 1, 1, {xtarget:0}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, Kamikaze, 1, 1], [2, BigShip, 0, 1], [0.5, MicroPlate, 0, 1], [1, MicroPlate, 1, 1], [0.3, Misil, 1, 1, {xtarget:0}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:0}], [0.5, Kamikaze, 1, 1], [2, PowerupShip, 1, 1, {type:1}], [2, Kamikaze, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 0, 1], [2, Boss5, 1, 1]])];
}
}
}//package Levels
Section 139
//LevelStep (Levels.LevelStep)
package Levels {
public class LevelStep {
public var enemies:Array;
public var bronze:uint;
public var silver:uint;
public var gold:uint;
public var platinum:uint;
public function LevelStep(_arg1:Array){
enemies = _arg1;
}
}
}//package Levels
Section 140
//SurvivalLevel (Levels.SurvivalLevel)
package Levels {
import Actors.Enemies.*;
public class SurvivalLevel extends Level {
public function SurvivalLevel(){
backgroundClip = BG2;
foregroundClips = [t22, t22, t23, t24, t25];
steps = [new LevelStep([[1, SmallPlate, 1, 1], [1, SmallPlate, 0, 1], [1, SmallPlate, 1, 1], [1, SmallPlate, 0, 1], [0, SmallPlate, 1, 1], [2, SmallPlate, 0, 1], [3, EllusivePlate, 0, 1], [3, SmallPlate, 1, 1], [1, SmallPlate, 0, 1], [1, BigPlate, 1, 1], [1, SmallPlate, 0, 1], [2, EllusivePlate, 0, 1], [2, BigPlate, 0, 1], [2, MicroPlate, 0, 1], [0.3, MicroPlate, 0, 1], [0.3, MicroPlate, 0, 1], [1, SmallPlate, 0, 1], [1, MicroPlate, 0, 1], [1, MicroPlate, 0, 1], [2, MicroPlate, 0, 1], [1, MicroPlate, 0, 1], [1, MicroPlate, 0, 1], [0.3, MicroPlate, 0, 1], [0.3, MicroPlate, 0, 1], [3, BigPlate, 0, 1], [2, MicroPlate, 0, 1], [0.3, MicroPlate, 0, 1], [0.3, MicroPlate, 0, 1], [3, MicroPlate, 0, 1], [0.3, MicroPlate, 0, 1], [2, BigPlate, 1, 1], [3, PowerupShip, 0, 1, {type:1}], [2, EllusivePlate, 0, 1], [1, SmallPlate, 0, 1], [2, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [1, BigShip, 1, 1], [2, MicroPlate, 1, 1], [2, MicroPlate, 1, 1], [3, MicroPlate, 1, 1], [1, MicroPlate, 1, 1], [1, BigShip, 0, 1], [2, EllusivePlate, 0, 1], [3, SmallPlate, 1, 1], [2, SmallPlate, 0, 1], [1, BigPlate, 1, 1], [1, SmallPlate, 0, 1], [1, EllusivePlate, 0, 1], [3, BigPlate, 0, 1], [1, MicroPlate, 0, 1], [0.3, MicroPlate, 0, 1], [0.3, MicroPlate, 0, 1], [3, SmallPlate, 0, 1], [0.5, MicroPlate, 0, 1], [0.3, MicroPlate, 0, 1], [2, SmallShip, 0, 1], [1, SmallShip, 0, 1], [0.3, SmallShip, 0, 1], [0.6, SmallShip, 0, 1], [3, BigPlate, 0, 1], [0.4, MicroPlate, 0, 1], [0.3, MicroPlate, 0, 1], [0.3, MicroPlate, 0, 1], [0.4, MicroPlate, 0, 1], [0.3, MicroPlate, 0, 1], [0.3, BigPlate, 0, 1], [3, EllusivePlate, 0, 1], [2, SmallPlate, 1, 1], [1, SmallPlate, 0, 1], [1, SmallPlate, 1, 1], [1, SmallPlate, 0, 1], [3, PowerupShip, 0, 1, {type:1}], [1, MicroPlate, 1, 1], [1, MicroPlate, 0, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [1, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 2)}], [1.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [3.5, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 4)}], [2, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 4) * 3)}], [0.3, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.5, SmallShip, 0, 1], [0.5, SmallShip, 1, 1], [0.5, SmallShip, 0, 1], [2, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.7, BigPlate, 1, 1], [0.3, BigPlate, 0, 1], [3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [2.5, PowerupShip, 0, 1, {type:1}], [6, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 4)}], [1, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 4) * 3)}], [0.5, EllusivePlate, 0, 1], [1, EllusivePlate, 0, 1], [1, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [2, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [2, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [3, BigShip, 1, 1], [5, PowerupShip, 0, 1, {type:3}], [2, BigPlate, 1, 1], [1, BigPlate, 0, 1], [1, BigPlate, 1, 1], [1, BigPlate, 0, 1], [1, BigPlate, 1, 1], [0.5, BigPlate, 0, 1], [0.5, BigPlate, 1, 1], [0.5, BigPlate, 0, 1], [3, BigShip, 1, 1], [2, BigShip, 0, 1], [3, SmallPlate, 0, 1], [0.5, SmallPlate, 1, 1], [0.5, SmallPlate, 0, 1], [0.5, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [1.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [3, EllusivePlate, 0, 1], [1, EllusivePlate, 0, 1], [2, PowerupShip, 1, 1, {type:1}], [1.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [1, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 2)}], [2, SmallShip, 0, 1], [0.5, SmallShip, 1, 1], [0.5, SmallShip, 0, 1], [2, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 4)}], [2, SmallShip, 0, 1], [0.5, SmallShip, 1, 1], [0.5, SmallShip, 0, 1], [2, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 4) * 3)}], [0.5, BigPlate, 0, 1], [0.5, BigPlate, 1, 1], [0.5, BigPlate, 0, 1], [9, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 5)}], [0.5, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 5) * 4)}], [1, EllusivePlate, 0, 1], [1, EllusivePlate, 0, 1], [4, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [4, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 5)}], [0.5, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 5) * 4)}], [1, SmallShip, 1, 1], [0.5, SmallShip, 1, 1], [1, SmallShip, 0, 1], [0.5, SmallShip, 0, 1], [1, SmallShip, 1, 1], [0.5, SmallShip, 1, 1], [1, SmallShip, 0, 1], [0.5, SmallShip, 0, 1], [1, SmallShip, 1, 1], [0.5, SmallShip, 1, 1], [1, SmallShip, 0, 1], [0.5, SmallShip, 0, 1], [2, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [3, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 5)}], [0.5, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 5) * 4)}], [3, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 5) + 100)}], [0.5, ElectricBall, 1, 1, {xtarget:(((Defines.CHAR_LIMIT_X_RIGHT / 5) * 4) - 100)}], [1, EllusivePlate, 0, 1], [1.5, EllusivePlate, 0, 1], [1.5, EllusivePlate, 0, 1], [8, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [4, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.6, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [2.5, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.6, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [0.3, MicroPlate, 1, 1], [3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.6, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [1.5, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, MicroPlate, 1, 1], [0.3, Kamikaze, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, Kamikaze, 1, 1], [0.3, MicroPlate, 1, 1], [5, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 4)}], [0.5, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 4) * 3)}], [0.6, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [0.5, SmallShip, 0, 1], [0.5, SmallShip, 0, 1], [0.5, SmallShip, 0, 1], [2, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, Kamikaze, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, Kamikaze, 1, 1], [0.3, MicroPlate, 1, 1], [0.7, BigPlate, 1, 1], [0.3, BigPlate, 0, 1], [3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, Kamikaze, 1, 1], [0.3, SmallPlate, 0, 1], [2.5, PowerupShip, 0, 1, {type:4}], [1.2, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 4)}], [1, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 4) * 3)}], [0.5, EllusivePlate, 0, 1], [1, EllusivePlate, 0, 1], [1, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, Kamikaze, 0, 1], [2, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, Kamikaze, 1, 1], [0.3, SmallPlate, 0, 1], [2, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, Kamikaze, 1, 1], [0.3, Kamikaze, 0, 1], [3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [1, SmallShip, 1, 1], [0.5, SmallShip, 1, 1], [1, SmallShip, 0, 1], [0.5, SmallShip, 0, 1], [2, SmallShip, 1, 1], [0.3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [0.5, SmallShip, 1, 1], [1, SmallShip, 0, 1], [0.5, SmallShip, 0, 1], [2, SmallShip, 1, 1], [0.3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [0.5, SmallShip, 1, 1], [2, SmallShip, 0, 1], [0.5, SmallShip, 0, 1], [0.3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [3, BigShip, 1, 1], [2, BigShip, 0, 1], [0.3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [2, PowerupShip, 0, 1, {type:1}], [3, SmallPlate, 0, 1], [0.5, SmallPlate, 1, 1], [0.5, SmallPlate, 0, 1], [0.5, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [1.5, MicroPlate, 1, 1], [0.5, Kamikaze, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, Kamikaze, 1, 1], [0.3, MicroPlate, 1, 1], [3, EllusivePlate, 0, 1], [1, EllusivePlate, 0, 1], [1.5, MicroPlate, 1, 1], [0.5, Kamikaze, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, Kamikaze, 1, 1], [2, SmallShip, 0, 1], [0.5, SmallShip, 1, 1], [0.3, Kamikaze, 0, 1], [2.5, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 4)}], [2, SmallShip, 0, 1], [0.5, SmallShip, 1, 1], [0.3, Kamikaze, 0, 1], [2.5, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 4) * 3)}], [0.5, BigPlate, 0, 1], [0.5, BigPlate, 1, 1], [0.5, BigPlate, 0, 1], [1, Kamikaze, 0, 1], [0.3, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [2, Kamikaze, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, Kamikaze, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, Kamikaze, 1, 1], [8, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 5)}], [0.5, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 5) * 4)}], [3, Kamikaze, 1, 1], [0.5, Kamikaze, 1, 1], [1, Kamikaze, 0, 1], [0.5, Kamikaze, 0, 1], [1, Kamikaze, 1, 1], [0.5, Kamikaze, 1, 1], [1, Kamikaze, 0, 1], [0.5, Kamikaze, 0, 1], [1, Kamikaze, 1, 1], [0.5, Kamikaze, 1, 1], [1, Kamikaze, 0, 1], [0.5, Kamikaze, 0, 1], [2, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [0.3, MicroPlate, 1, 1], [3, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 5)}], [0.5, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 5) * 4)}], [3, Kamikaze, 1, 1], [0.5, Kamikaze, 1, 1], [1, Kamikaze, 0, 1], [0.5, Kamikaze, 0, 1], [1, Kamikaze, 1, 1], [0.5, Kamikaze, 1, 1], [1, Kamikaze, 0, 1], [0.5, Kamikaze, 0, 1], [1, BigPlate, 1, 1], [1, BigPlate, 0, 1], [2, BigPlate, 0, 1], [1, BigPlate, 0, 1], [2, BigPlate, 0, 1], [5, Misil, 1, 1, {xtarget:0}], [2, Misil, 1, 1, {xtarget:0}], [2, Misil, 1, 1, {xtarget:0}], [1, Misil, 1, 1, {xtarget:0}], [1, Misil, 1, 1, {xtarget:0}], [1, Misil, 1, 1, {xtarget:0}], [0.5, Misil, 1, 1, {xtarget:0}], [0.5, Misil, 1, 1, {xtarget:0}], [0.5, Misil, 1, 1, {xtarget:0}], [2, Misil, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 8)}], [0.5, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 3)}], [0.5, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 5)}], [0.5, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 7)}], [0.8, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 2)}], [0, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 4)}], [0, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 6)}], [0, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 8)}], [3, Misil, 1, 1, {xtarget:-1}], [1, Misil, 1, 1, {xtarget:-1}], [1, Misil, 1, 1, {xtarget:-1}], [1, Misil, 1, 1, {xtarget:-1}], [1, Misil, 1, 1, {xtarget:-1}], [1, Misil, 1, 1, {xtarget:-1}], [0.5, Misil, 1, 1, {xtarget:-1}], [0.5, Misil, 1, 1, {xtarget:-1}], [0.5, Misil, 1, 1, {xtarget:-1}], [1, Misil, 1, 1, {xtarget:-1}], [0.5, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:-1}], [1, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [1, Misil, 1, 1, {xtarget:-1}], [0.5, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.5, SmallShip, 0, 1], [0.5, SmallShip, 0, 1], [0.5, SmallShip, 0, 1], [2, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [1, Kamikaze, 1, 1], [2, Misil, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 8)}], [0.3, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 3)}], [0.3, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 5)}], [0.3, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 7)}], [0.8, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 2)}], [0.3, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 4)}], [0.3, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 6)}], [0.3, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 8)}], [0.3, Kamikaze, 1, 1], [0.3, Kamikaze, 1, 1], [2, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, Kamikaze, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, Kamikaze, 1, 1], [0.3, MicroPlate, 1, 1], [1, Misil, 1, 1, {xtarget:-1}], [0.5, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.7, BigPlate, 1, 1], [0.3, BigPlate, 0, 1], [0.3, Misil, 1, 1, {xtarget:-1}], [3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, Kamikaze, 1, 1], [0.3, SmallPlate, 0, 1], [2.5, PowerupShip, 0, 1, {type:3}], [1.2, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 4)}], [1, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 4) * 3)}], [0.5, EllusivePlate, 0, 1], [0.3, Misil, 1, 1, {xtarget:-1}], [1, EllusivePlate, 0, 1], [1, SmallPlate, 1, 1], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [1, Misil, 1, 1, {xtarget:-1}], [0.5, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, Kamikaze, 0, 1], [2, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, Kamikaze, 1, 1], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, SmallPlate, 0, 1], [2, SmallPlate, 1, 1], [1, Misil, 1, 1, {xtarget:-1}], [0.5, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, SmallPlate, 0, 1], [0.3, Kamikaze, 1, 1], [3, BigShip, 1, 1], [2, BigShip, 0, 1], [0.3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [1, Misil, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 8)}], [0, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 3)}], [0, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 5)}], [0, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 7)}], [0.3, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 2)}], [0, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 4)}], [0, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 6)}], [0, Misil, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 8) * 8)}], [3, SmallPlate, 0, 1], [0.5, SmallPlate, 1, 1], [0.5, SmallPlate, 0, 1], [0.5, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [1.5, MicroPlate, 1, 1], [0.5, Kamikaze, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.3, Kamikaze, 1, 1], [0.3, MicroPlate, 1, 1], [3, EllusivePlate, 0, 1], [1, EllusivePlate, 0, 1], [2.5, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 4)}], [2, SmallShip, 0, 1], [0.3, Misil, 1, 1, {xtarget:-1}], [0.5, SmallShip, 1, 1], [0.3, Kamikaze, 0, 1], [0.3, Misil, 1, 1, {xtarget:-1}], [2.5, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 4) * 3)}], [4, BigPlate, 0, 1], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.1, EllusivePlate, 0, 1], [0.5, BigPlate, 1, 1], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.5, BigPlate, 0, 1], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:-1}], [1, SmallShip, 1, 1], [0.5, SmallShip, 1, 1], [1, SmallShip, 0, 1], [0.5, SmallShip, 0, 1], [2, SmallShip, 1, 1], [0.3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [0.5, SmallShip, 1, 1], [1, SmallShip, 0, 1], [0.1, EllusivePlate, 0, 1], [0.3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [0.1, EllusivePlate, 0, 1], [0.3, Kamikaze, 0, 1], [4, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [0.6, Kamikaze, 0, 1], [0.3, Kamikaze, 0, 1], [0.5, Misil, 1, 1, {xtarget:0}], [1, Misil, 1, 1, {xtarget:0}], [1, Misil, 1, 1, {xtarget:-1}], [1, Misil, 1, 1, {xtarget:0}], [0.1, EllusivePlate, 0, 1], [0.5, Misil, 1, 1, {xtarget:-1}], [1, Misil, 1, 1, {xtarget:0}], [0.5, Misil, 1, 1, {xtarget:-1}], [0.2, Misil, 1, 1, {xtarget:0}], [0.5, Misil, 1, 1, {xtarget:-1}], [1, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 5)}], [0.5, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 5) * 4)}], [3, Misil, 1, 1, {xtarget:0}], [0.3, Misil, 1, 1, {xtarget:0}], [0.2, Misil, 1, 1, {xtarget:-1}], [0.4, Misil, 1, 1, {xtarget:0}], [0.5, Misil, 1, 1, {xtarget:-1}], [1, Misil, 1, 1, {xtarget:0}], [0.2, Misil, 1, 1, {xtarget:-1}], [0.2, Misil, 1, 1, {xtarget:0}], [0.5, Misil, 1, 1, {xtarget:-1}], [1, Kamikaze, 0, 2], [0.3, Kamikaze, 1, 2], [0.3, Kamikaze, 1, 2], [4, Kamikaze, 1, 2], [0.5, MicroPlate, 1, 1], [0.5, MicroPlate, 1, 1], [0.5, Kamikaze, 1, 2], [0.5, Kamikaze, 1, 2], [0.3, MicroPlate, 1, 1], [0.3, Kamikaze, 1, 2], [4, ElectricBall, 1, 1, {xtarget:(Defines.CHAR_LIMIT_X_RIGHT / 5)}], [0.5, ElectricBall, 1, 1, {xtarget:((Defines.CHAR_LIMIT_X_RIGHT / 5) * 4)}], [3, Kamikaze, 1, 1], [0.5, Kamikaze, 1, 1], [0.3, Misil, 1, 1, {xtarget:0}], [0.3, Misil, 1, 1, {xtarget:-1}], [1, Kamikaze, 0, 1], [0.1, EllusivePlate, 0, 1], [0.5, Kamikaze, 0, 1], [0.3, Misil, 1, 1, {xtarget:0}], [0.3, Misil, 1, 1, {xtarget:-1}], [1, Kamikaze, 1, 1], [0.5, Kamikaze, 1, 1], [0.3, Misil, 1, 1, {xtarget:0}], [0.3, Misil, 1, 1, {xtarget:-1}], [1, Kamikaze, 0, 1], [0.1, EllusivePlate, 0, 1], [0.5, Kamikaze, 0, 1], [0.3, Misil, 1, 1, {xtarget:0}], [0.3, Misil, 1, 1, {xtarget:-1}], [1, Kamikaze, 1, 1], [0.5, Kamikaze, 1, 1], [0.3, Misil, 1, 1, {xtarget:0}], [0.3, Misil, 1, 1, {xtarget:-1}], [1, Kamikaze, 0, 1], [0.5, Kamikaze, 0, 1], [1, Kamikaze, 1, 2], [0.1, EllusivePlate, 0, 2], [0.5, Kamikaze, 1, 2], [1, Kamikaze, 0, 2], [0.3, Misil, 1, 1, {xtarget:0}], [0.5, Kamikaze, 0, 2], [1, Kamikaze, 1, 2], [0.3, Misil, 1, 1, {xtarget:0}], [0.5, Kamikaze, 1, 2], [1, Kamikaze, 0, 2], [0.3, Misil, 1, 1, {xtarget:0}], [0.5, Kamikaze, 0, 2], [1, BigShip, 1, 2], [0.5, MicroPlate, 1, 1], [0.1, EllusivePlate, 0, 2], [0.3, Misil, 1, 1, {xtarget:0}], [0.3, Misil, 1, 1, {xtarget:-1}], [1, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, Misil, 1, 1, {xtarget:0}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, Kamikaze, 1, 1], [2, BigShip, 0, 2], [0.5, MicroPlate, 0, 1], [1, MicroPlate, 1, 1], [0.3, Misil, 1, 1, {xtarget:0}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:0}], [0.5, Kamikaze, 1, 2], [3, Kamikaze, 1, 2], [0.1, EllusivePlate, 0, 2], [0.5, Kamikaze, 1, 2], [0.2, Kamikaze, 0, 2], [0.3, Misil, 1, 1, {xtarget:0}], [0.5, Kamikaze, 0, 2], [0.5, Kamikaze, 0, 2], [1, Kamikaze, 1, 1], [0.3, Misil, 1, 1, {xtarget:0}], [0.5, Kamikaze, 1, 2], [1, Kamikaze, 0, 2], [0.3, Misil, 1, 1, {xtarget:0}], [0.5, Kamikaze, 0, 2], [2, BigShip, 1, 2], [0.5, BigShip, 0, 2], [0.5, MicroPlate, 1, 1], [0.3, Misil, 1, 1, {xtarget:0}], [0.3, Misil, 1, 1, {xtarget:-1}], [1, SmallPlate, 1, 1], [0.3, SmallPlate, 0, 1], [0.3, Misil, 1, 1, {xtarget:0}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, Kamikaze, 1, 2], [2, BigShip, 1, 1], [1, BigShip, 0, 1], [0.1, EllusivePlate, 0, 2], [0.2, Kamikaze, 1, 2], [0.5, Kamikaze, 1, 2], [0.2, Kamikaze, 1, 2], [0.1, EllusivePlate, 0, 2], [0.1, Kamikaze, 1, 2], [0.5, Kamikaze, 1, 2], [0.1, Kamikaze, 1, 2], [2, BigShip, 0, 2], [0.5, MicroPlate, 0, 1], [1, MicroPlate, 1, 2], [0.1, EllusivePlate, 0, 2], [0.3, Misil, 1, 1, {xtarget:0}], [0.3, Misil, 1, 1, {xtarget:-1}], [0.3, Misil, 1, 1, {xtarget:0}], [0.1, Kamikaze, 1, 2], [0.5, Kamikaze, 1, 2], [0.1, Kamikaze, 1, 2], [2, BigShip, 1, 2], [1, BigShip, 0, 2], [0.1, Kamikaze, 1, 2], [0.3, Kamikaze, 1, 2], [0.5, Kamikaze, 1, 2], [0.2, Kamikaze, 1, 2], [3, EllusivePlate, 0, 2], [0.1, Kamikaze, 1, 2], [0.1, Kamikaze, 1, 2], [1, EllusivePlate, 0, 2], [1, EllusivePlate, 0, 2], [0.5, Kamikaze, 1, 2], [0.1, Kamikaze, 1, 2], [1, EllusivePlate, 0, 2], [0.1, Kamikaze, 1, 2], [0.1, Kamikaze, 1, 2], [0.1, Kamikaze, 1, 2], [3, Kamikaze, 1, 2], [0.1, Kamikaze, 1, 2], [0.1, Kamikaze, 1, 2], [0.1, Kamikaze, 1, 2], [1, Kamikaze, 1, 2], [0.1, Kamikaze, 1, 2], [0.1, Kamikaze, 1, 2], [1, EllusivePlate, 0, 2], [1, EllusivePlate, 0, 2], [0.1, Kamikaze, 1, 2], [0.1, Kamikaze, 1, 2], [0.1, Kamikaze, 1, 2], [0.1, Kamikaze, 1, 2], [0.1, Kamikaze, 1, 2]])];
}
}
}//package Levels
Section 141
//MochiDigits (mochi.as3.MochiDigits)
package mochi.as3 {
public final class MochiDigits {
private var Fragment:Number;
private var Sibling:MochiDigits;
private var Encoder:Number;
public function MochiDigits(_arg1:Number=0, _arg2:uint=0):void{
Encoder = 0;
setValue(_arg1, _arg2);
}
public function get value():Number{
return (Number(this.toString()));
}
public function set value(_arg1:Number):void{
setValue(_arg1);
}
public function addValue(_arg1:Number):void{
value = (value + _arg1);
}
public function setValue(_arg1:Number=0, _arg2:uint=0):void{
var _local3:String = _arg1.toString();
var _temp1 = _arg2;
_arg2 = (_arg2 + 1);
Fragment = (_local3.charCodeAt(_temp1) ^ Encoder);
if (_arg2 < _local3.length){
Sibling = new MochiDigits(_arg1, _arg2);
} else {
Sibling = null;
};
reencode();
}
public function reencode():void{
var _local1:uint = int((2147483647 * Math.random()));
Fragment = (Fragment ^ (_local1 ^ Encoder));
Encoder = _local1;
}
public function toString():String{
var _local1:String = String.fromCharCode((Fragment ^ Encoder));
if (Sibling != null){
_local1 = (_local1 + Sibling.toString());
};
return (_local1);
}
}
}//package mochi.as3
Section 142
//SaveManager (plugins.SaveManager)
package plugins {
public class SaveManager {
protected var inited:Boolean;// = false
public function SaveManager(){
trace("GameSaver()");
}
public function init(){
trace("GameSaver.init()");
inited = true;
}
public function saveData(){
}
public function loadData():Boolean{
return (false);
}
}
}//package plugins
Section 143
//SharedObjectSaver (plugins.SharedObjectSaver)
package plugins {
import data.*;
import flash.net.*;
public class SharedObjectSaver extends SaveManager {
var so:SharedObject;
var soname:String;// = "nomorealiens"
override public function init(){
trace("SharedObjectSaver.init()");
inited = true;
}
override public function saveData(){
var _local2:int;
trace("SharedObjectSaver.saveData()");
var _local1:GameStats = Defines._document.saveSlot;
trace("save slot modules saving: ", _local1.modulesEquipped);
so = SharedObject.getLocal(soname);
if (((!(Defines._document.savedAtLeastOnce)) && ((so.data.collectedCrystals == null)))){
initData();
};
_local2 = 0;
while (_local2 < _local1.modulesEquipped.length) {
if (Defines._document.inv.modules.indexOf(_local1.modulesEquipped[_local2]) == -1){
_local1.modulesEquipped[_local2] = 0;
};
_local2++;
};
_local2 = 0;
while (_local2 < _local1.modulesOwned.length) {
if (Defines._document.inv.modules.indexOf(_local1.modulesOwned[_local2]) == -1){
_local1.modulesOwned = _local1.modulesOwned.splice(_local2, 1);
};
_local2++;
};
_local2 = 0;
while (_local2 < _local1.weaponsEquipped.length) {
if (_local1.weaponsEquipped[_local2] == 16){
_local1.weaponsEquipped[_local2] = 15;
};
_local2++;
};
_local2 = 0;
while (_local2 < _local1.weaponsOwned.length) {
if (_local1.weaponsOwned[_local2] > 16){
_local1.weaponsOwned[_local2] = 1;
};
_local2++;
};
so.data.levelScores = _local1.levelScores.concat();
so.data.levelTrophies = _local1.levelTrophies.concat();
so.data.levelBadges = _local1.levelBadges.concat();
so.data.weaponsOwned = _local1.weaponsOwned.concat();
so.data.modulesOwned = _local1.modulesOwned.concat();
so.data.powerupsOwned = _local1.powerupsOwned.concat();
so.data.weaponsEquipped = _local1.weaponsEquipped.concat();
so.data.modulesEquipped = _local1.modulesEquipped.concat();
so.data.weaponsUnlocked = _local1.weaponsUnlocked.concat();
so.data.collectedCrystals = _local1.collectedCrystals.value;
so.data.collectedOrbs = _local1.collectedOrbs.value;
so.data.currentLevelNumber = _local1.currentLevelNumber.value;
so.flush();
Defines._document.savedAtLeastOnce = true;
trace("save slot modules saved: ", so.data.modulesEquipped);
}
override public function loadData():Boolean{
var _local1:*;
var _local2:GameStats;
var _local3:int;
trace("SharedObjectSaver.loadData()");
so = SharedObject.getLocal(soname);
for (_local1 in so.data) {
trace(((_local1 + ": ") + so.data[_local1]));
};
if (so.data.collectedCrystals == null){
return (false);
};
if (((!((so.data.collectedCrystals == null))) && (!((so.data.weaponsEquipped == null))))){
_local2 = Defines._document.saveSlot;
_local3 = 0;
while (_local3 < so.data.weaponsEquipped.length) {
if (so.data.weaponsEquipped[_local3] == 16){
so.data.weaponsEquipped[_local3] = 15;
};
_local3++;
};
_local3 = 0;
while (_local3 < so.data.weaponsOwned.length) {
if (so.data.weaponsOwned[_local3] == 16){
so.data.weaponsOwned[_local3] = 15;
};
_local3++;
};
_local2.levelScores = so.data.levelScores.concat();
_local2.levelTrophies = so.data.levelTrophies.concat();
_local2.levelBadges = so.data.levelBadges.concat();
_local2.weaponsOwned = so.data.weaponsOwned.concat();
_local2.modulesOwned = so.data.modulesOwned.concat();
_local2.powerupsOwned = so.data.powerupsOwned.concat();
_local2.weaponsEquipped = so.data.weaponsEquipped.concat();
_local2.modulesEquipped = so.data.modulesEquipped.concat();
_local2.weaponsUnlocked = so.data.weaponsUnlocked.concat();
_local2.collectedOrbs.setValue(so.data.collectedOrbs);
_local2.collectedCrystals.setValue(so.data.collectedCrystals);
_local2.currentLevelNumber.setValue(so.data.currentLevelNumber);
_local3 = 0;
while (_local3 < _local2.modulesEquipped.length) {
if (Defines._document.inv.modules.indexOf(_local2.modulesEquipped[_local3]) == -1){
_local2.modulesEquipped[_local3] = 0;
};
_local3++;
};
_local3 = 0;
while (_local3 < _local2.modulesOwned.length) {
if (Defines._document.inv.modules.indexOf(_local2.modulesOwned[_local3]) == -1){
_local2.modulesOwned = _local2.modulesOwned.splice(_local3, 1);
};
_local3++;
};
Defines._document.saveSlot = _local2;
};
return (true);
}
public function initData(){
trace("initting data");
Defines._document.saveSlot.weaponsEquipped = [1, 1, 1, 1];
Defines._document.saveSlot.modulesEquipped = [0, 0, 0];
Defines._document.saveSlot.unlockedLevels.setValue(0);
Defines._document.saveSlot.collectedCrystals.setValue(0);
}
}
}//package plugins
Section 144
//Brand (spill.localisation.Brand)
package spill.localisation {
import flash.xml.*;
public class Brand {
public var domain:String;
public var site_id:uint;
public var moreLink:String;// = ""
public var emailLink:String;// = "game"
public var emailPage:String;
public var id:Number;
public var name:String;
public var portalGroup:uint;
public var useGoogleAnalitics:Boolean;// = true
public var hasSendToFriendLink:Boolean;// = true
public var preferedLanguage:String;// = ""
public var isExternal:Boolean;// = false
public var hostingDomain:String;// = ""
private static const topLevelDoubles:String = ((((((((((((((("ac.cn,ac.jp,ac.uk,ad.jp,adm.br,adv.br,agr.br," + "ah.cn,am.br,arq.br,art.br,asn.au,ato.br,av.tr,bel.tr,bio.br,biz.tr,bj.cn,bmd.br,") + "cim.br,cng.br,cnt.br,co.at,co.jp,co.uk,com.au,com.br,com.cn,com.eg,com.hk,com.mx,") + "com.ru,com.tr,com.tw,conf.au,cq.cn,csiro.au,dr.tr,ecn.br,edu.au,edu.br,edu.tr,") + "emu.id.au,eng.br,esp.br,etc.br,eti.br,eun.eg,far.br,fj.cn,fm.br,fnd.br,fot.br,") + "fst.br,g12.br,gb.com,gb.net,gd.cn,gen.tr,ggf.br,gob.mx,gov.au,gov.br,gov.cn,") + "gov.hk,gov.tr,gr.jp,gs.cn,gx.cn,gz.cn,ha.cn,hb.cn,he.cn,hi.cn,hk.cn,hl.cn,hn.cn,") + "id.au,idv.tw,imb.br,ind.br,inf.br,info.au,info.tr,jl.cn,jor.br,js.cn,jx.cn,k12.tr,") + "lel.br,ln.cn,ltd.uk,mat.br,me.uk,med.br,mil.br,mil.tr,mo.cn,mus.br,name.tr,ne.jp,") + "net.au,net.br,net.cn,net.eg,net.hk,net.lu,net.mx,net.ru,net.tr,net.tw,net.uk,") + "nm.cn,no.com,nom.br,not.br,ntr.br,nx.cn,odo.br,oop.br,or.at,or.jp,org.au,org.br,") + "org.cn,org.hk,org.lu,org.ru,org.tr,org.tw,org.uk,plc.uk,pol.tr,pp.ru,ppg.br,pro.br,") + "psc.br,psi.br,qh.cn,qsl.br,rec.br,sc.cn,sd.cn,se.com,se.net,sh.cn,slg.br,sn.cn,") + "srv.br,sx.cn,tel.tr,tj.cn,tmp.br,trd.br,tur.br,tv.br,tw.cn,uk.com,uk.net,vet.br,") + "wattle.id.au,web.tr,xj.cn,xz.cn,yn.cn,zj.cn,zlg.br,co.nr,co.nz,com.fr,com.ph,com.ar,") + "com.id,com.in");
public function getMoreGamesLink(_arg1:String, _arg2:Boolean, _arg3:String="", _arg4:String=""):String{
var _local5:String = ("http://" + domain);
_local5 = (_local5 + ("/" + moreLink));
if (((useGoogleAnalitics) && (_arg2))){
_local5 = (_local5 + ("?utm_medium=brandedgames_" + (_arg2) ? "external" : "internal"));
_local5 = (_local5 + ("&utm_campaign=" + _arg1));
_arg3 = stripSubDomain(_arg3);
if (_arg3 == "localhost"){
_arg3 = "offline_play";
};
_local5 = (_local5 + ("&utm_source=" + _arg3));
if (((!((_arg4 == ""))) && (!((_arg4 == null))))){
_local5 = (_local5 + ("&utm_content=" + _arg4));
};
};
return (_local5);
}
public function getSendToFriendLink(_arg1:String, _arg2:String, _arg3:Boolean, _arg4:String=""):String{
if (!hasSendToFriendLink){
return (getMoreGamesLink(_arg1, _arg3));
};
var _local5:String = ("http://" + domain);
_local5 = (_local5 + ((("/" + emailLink) + "/") + _arg2));
if (useGoogleAnalitics){
_local5 = (_local5 + ("?utm_medium=brandedgames_" + (_arg3) ? "external" : "internal"));
_local5 = (_local5 + ("&utm_campaign=" + _arg1));
_arg4 = stripSubDomain(_arg4);
if (_arg4 == "localhost"){
_arg4 = "offline_play";
};
_local5 = (_local5 + ("&utm_source=" + _arg4));
_local5 = (_local5 + "&utm_content=send_to_friend");
};
return (_local5);
}
public function getPromotionLink(_arg1:String, _arg2:String, _arg3:Boolean, _arg4:String="", _arg5:String=""):String{
var _local6:String = ("http://" + domain);
_local6 = (_local6 + ((("/" + emailLink) + "/") + _arg2));
if (useGoogleAnalitics){
_local6 = (_local6 + ("?utm_medium=brandedgames_" + (_arg3) ? "external" : "internal"));
_local6 = (_local6 + ("&utm_campaign=" + _arg1));
_arg4 = stripSubDomain(_arg4);
trace(_arg4);
if (_arg4 == "localhost"){
_arg4 = "offline_play";
};
_local6 = (_local6 + ("&utm_source=" + _arg4));
if (((!((_arg5 == ""))) && (!((_arg5 == null))))){
_local6 = (_local6 + ("&utm_content=" + _arg5));
};
};
return (_local6);
}
public function get backgroundColor():uint{
return (PortalGroup.backgroundColors[portalGroup]);
}
public function exportXML():XML{
var _local3:XML;
var _local1:XML = <portal/>
;
_local1.@id = site_id;
_local1.@language = preferedLanguage;
_local1.@channel = portalGroup;
var _local2:XML = <domain/>
;
_local2.appendChild(new XMLNode(3, domain));
_local1.appendChild(_local2);
if (moreLink){
_local3 = <more_games_path/>
;
_local3.appendChild(new XMLNode(3, moreLink));
_local1.appendChild(_local3);
};
_local2 = <game_path/>
;
_local2.appendChild(new XMLNode(3, emailLink));
_local1.appendChild(_local2);
if (!useGoogleAnalitics){
_local1.attributes.noGoogleAnalitics = true;
};
if (!hasSendToFriendLink){
_local1.attributes.noSendToFriendLink = true;
};
return (_local1);
}
public function importXML(_arg1:XMLNode):void{
}
private function get utm_source():String{
return (("utm_source=brandedgames_" + (isExternal) ? "external" : "internal"));
}
private function get utm_term():String{
return ("utm_term=");
}
private function get utm_campaign():String{
if (isExternal){
return (("utm_campaign=" + hostingDomain));
};
return ("");
}
public static function stripSubDomain(_arg1:String):String{
if (!_arg1){
return ("");
};
var _local2:Array = _arg1.split(".");
if (_local2.length <= 2){
return (_arg1);
};
_local2 = _local2.reverse();
if (topLevelDoubles.indexOf((((_local2[1] + ".") + _local2[0]) + ",")) > 0){
return (((((_local2[2] + ".") + _local2[1]) + ".") + _local2[0]));
};
return (((_local2[1] + ".") + _local2[0]));
}
}
}//package spill.localisation
Section 145
//BrandingLogo (spill.localisation.BrandingLogo)
package spill.localisation {
import flash.display.*;
import flash.events.*;
public class BrandingLogo extends MovieClip {
public function BrandingLogo(){
addFrameScript(0, frame1);
super();
stop();
mouseEnabled = false;
mouseChildren = false;
addEventListener(Event.ADDED_TO_STAGE, added, false, 0, true);
addEventListener(Event.REMOVED_FROM_STAGE, removed, false, 0, true);
if (stage){
added();
};
brandingChanged();
}
private function added(_arg1:Event=null):void{
SpilGame.addEventListener("brandingChanged", brandingChanged, false, 0, true);
brandingChanged();
}
private function removed(_arg1:Event):void{
SpilGame.removeEventListener("brandingChanged", brandingChanged);
}
private function brandingChanged(_arg1:Event=null):void{
if (SpilGame.currentBranding){
gotoAndStop(SpilGame.currentBranding.domain);
};
}
function frame1(){
stop();
}
}
}//package spill.localisation
Section 146
//Brandings (spill.localisation.Brandings)
package spill.localisation {
public class Brandings {
private static var brands_by_id:Object = new Object();
private static var brands_by_domain:Object = new Object();
public static function initialize():void{
var _local1:Brand;
_local1 = new Brand();
_local1.site_id = 79;
_local1.domain = "www.agame.com";
_local1.preferedLanguage = "en_us";
_local1.portalGroup = PortalGroup.TEENS;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 88;
_local1.domain = "www.gamesgames.com";
_local1.preferedLanguage = "en_us";
_local1.portalGroup = PortalGroup.FAMILY;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 90;
_local1.domain = "www.girlsgogames.com";
_local1.preferedLanguage = "en_us";
_local1.portalGroup = PortalGroup.GIRL;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 45;
_local1.domain = "www.a10.com";
_local1.preferedLanguage = "en_us";
_local1.portalGroup = PortalGroup.YOUNG_ADULTS;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 92;
_local1.domain = "www.games.co.uk";
_local1.preferedLanguage = "en_uk";
_local1.portalGroup = PortalGroup.FAMILY;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 107;
_local1.domain = "www.agame.co.uk";
_local1.preferedLanguage = "en_uk";
_local1.portalGroup = PortalGroup.TEENS;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 138;
_local1.domain = "www.giochi.it";
_local1.preferedLanguage = "it";
_local1.portalGroup = PortalGroup.TEENS;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 102;
_local1.domain = "www.girlsgogames.co.uk";
_local1.preferedLanguage = "en_uk";
_local1.portalGroup = PortalGroup.GIRL;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 2;
_local1.domain = "www.game.com.cn";
_local1.moreLink = "moregames/";
_local1.preferedLanguage = "cn";
_local1.portalGroup = PortalGroup.NONE;
_local1.useGoogleAnalitics = false;
_local1.hasSendToFriendLink = false;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 25;
_local1.domain = "www.spel.nl";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "nl";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 1;
_local1.domain = "www.spelletjes.nl";
_local1.emailLink = "spel";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "nl";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 93;
_local1.domain = "www.girlsgogames.nl";
_local1.emailLink = "spel";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "nl";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 12;
_local1.domain = "www.jeu.fr";
_local1.emailLink = "jeu";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "fr";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 95;
_local1.domain = "www.girlsgogames.fr";
_local1.emailLink = "jeu";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "fr";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 11;
_local1.domain = "www.jeux.fr";
_local1.emailLink = "jeu";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "fr";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 26;
_local1.domain = "www.spielen.com";
_local1.emailLink = "spiel";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "de";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 94;
_local1.domain = "www.girlsgogames.de";
_local1.emailLink = "spiel";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "de";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 5;
_local1.domain = "www.jetztspielen.de";
_local1.emailLink = "spiel";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "de";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 109;
_local1.domain = "www.minigry.pl";
_local1.emailLink = "gra";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "pl";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 16;
_local1.domain = "www.gry.pl";
_local1.emailLink = "gra";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "pl";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 98;
_local1.domain = "www.girlsgogames.pl";
_local1.emailLink = "gra";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "pl";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 108;
_local1.domain = "www.spel.se";
_local1.emailLink = "spel_";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "se";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 100;
_local1.domain = "www.girlsgogames.se";
_local1.emailLink = "spel_";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "se";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 44;
_local1.domain = "www.spela.se";
_local1.emailLink = "spel_";
_local1.preferedLanguage = "se";
_local1.portalGroup = PortalGroup.FAMILY;
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 106;
_local1.domain = "www.giocaregratis.it";
_local1.emailLink = "gioco";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "it";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 15;
_local1.domain = "www.gioco.it";
_local1.emailLink = "gioco";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "it";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 99;
_local1.domain = "www.girlsgogames.it";
_local1.emailLink = "gioco";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "it";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 97;
_local1.domain = "www.zapjuegos.com";
_local1.emailLink = "juego";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "es";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 86;
_local1.domain = "www.juegos.com";
_local1.emailLink = "juego";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "es";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 96;
_local1.domain = "www.juegosdechicas.com";
_local1.emailLink = "juego";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "es";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 122;
_local1.domain = "www.girlsgogames.es";
_local1.emailLink = "juego";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "es";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 125;
_local1.domain = "www.juegos.mx";
_local1.emailLink = "juego";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "es";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 126;
_local1.domain = "www.juegosdechicas.mx";
_local1.emailLink = "juego";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "es";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 127;
_local1.domain = "www.juegos.com.ar";
_local1.emailLink = "juego";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "es";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 128;
_local1.domain = "www.juegosdechicas.com.ar";
_local1.emailLink = "juego";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "es";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 91;
_local1.domain = "www.clickjogos.com";
_local1.emailLink = "jogo";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "br";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 101;
_local1.domain = "www.girlsgogames.com.br";
_local1.emailLink = "jogo";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "br";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 50;
_local1.domain = "www.ojogos.com.br";
_local1.emailLink = "jogo";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "br";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 55;
_local1.domain = "www.games.co.id";
_local1.emailLink = "permainanme";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "id";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 105;
_local1.domain = "www.flashgames.ru";
_local1.emailLink = "igra";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "ru";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 104;
_local1.domain = "www.girlsgogames.ru";
_local1.emailLink = "igra";
_local1.portalGroup = PortalGroup.GIRL;
_local1.preferedLanguage = "ru";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 103;
_local1.domain = "www.ourgames.ru";
_local1.emailLink = "igra";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "ru";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 24;
_local1.domain = "www.game.co.in";
_local1.emailLink = "game";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "in";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 87;
_local1.domain = "www.ojogos.pt";
_local1.emailLink = "jogo";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "pt";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 120;
_local1.domain = "www.egames.jp";
_local1.emailLink = "game";
_local1.portalGroup = PortalGroup.TEENS;
_local1.preferedLanguage = "jp";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 121;
_local1.domain = "www.dailygame.com";
_local1.emailLink = "/game/";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "en_us";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 123;
_local1.domain = "www.zapapa.com";
_local1.emailLink = "game";
_local1.portalGroup = PortalGroup.ZAPAPA;
_local1.preferedLanguage = "en_us";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 124;
_local1.domain = "www.zapapa.nl";
_local1.emailLink = "game";
_local1.portalGroup = PortalGroup.HYVES;
_local1.preferedLanguage = "nl";
addBrand(_local1);
_local1 = new Brand();
_local1.site_id = 0;
_local1.domain = "gamedev.dev.spilgames.com";
_local1.portalGroup = PortalGroup.FAMILY;
_local1.preferedLanguage = "en_us";
addBrand(_local1);
}
public static function hasDomain(_arg1:String):Boolean{
return (!((brands_by_domain[_arg1] == null)));
}
public static function getBrandByDomain(_arg1:String):Brand{
return (brands_by_domain[_arg1]);
}
public static function getBrandByID(_arg1:Number):Brand{
return (brands_by_id[_arg1]);
}
private static function addBrand(_arg1:Brand):Brand{
if (brands_by_domain[_arg1.domain]){
trace(("ERROR: Attempting to add duplicate brand by domain: " + _arg1.domain));
} else {
brands_by_domain[_arg1.domain] = _arg1;
};
if (brands_by_id[_arg1.site_id]){
trace(("ERROR: Attempting to add duplicate brand by id: " + _arg1.site_id));
} else {
brands_by_id[_arg1.site_id] = _arg1;
};
return (_arg1);
}
public static function getBrandsArray():Array{
var _local2:Brand;
var _local1:Array = new Array();
for each (_local2 in brands_by_domain) {
_local1.push(_local2);
};
return (_local1);
}
public static function exportXML():XML{
var _local2:Brand;
var _local1:XML = <portals/>
;
for each (_local2 in brands_by_domain) {
_local1.appendChild(_local2.exportXML());
};
return (_local1);
}
}
}//package spill.localisation
Section 147
//Language (spill.localisation.Language)
package spill.localisation {
import flash.xml.*;
public class Language {
public var name:String;
public var dname:String;
public var id:uint;
public var portal_groups:Array;
public var textLanguage:String;
public var embedFonts:Boolean;// = true
public var embedInputFonts:Boolean;// = true
public var forceFont:String;// = null
public var bwcId:int;
public var references:Array;
public var displayName:String;// = ""
public function Language(_arg1:String, _arg2:String=null){
references = [];
super();
name = _arg1;
dname = _arg2;
portal_groups = new Array();
}
public function get displayAcronim():String{
return ((dname) ? dname : name);
}
public function set p_family(_arg1:String):void{
portal_groups[PortalGroup.FAMILY] = _arg1;
}
public function get p_family():String{
return (portal_groups[PortalGroup.FAMILY]);
}
public function set p_tween(_arg1:String):void{
portal_groups[PortalGroup.TEENS] = _arg1;
}
public function get p_tween():String{
return (portal_groups[PortalGroup.TEENS]);
}
public function set p_girl(_arg1:String):void{
portal_groups[PortalGroup.GIRL] = _arg1;
}
public function get p_girl():String{
trace("Language", portal_groups[PortalGroup.GIRL]);
return (portal_groups[PortalGroup.GIRL]);
}
public function set p_teen(_arg1:String):void{
portal_groups[PortalGroup.YOUNG_ADULTS] = _arg1;
}
public function get p_teen():String{
return (portal_groups[PortalGroup.YOUNG_ADULTS]);
}
public function set p_zapapa(_arg1:String):void{
portal_groups[PortalGroup.ZAPAPA] = _arg1;
}
public function get p_zapapa():String{
return (portal_groups[PortalGroup.ZAPAPA]);
}
public function set p_hyves(_arg1:String):void{
portal_groups[PortalGroup.HYVES] = _arg1;
}
public function get p_hyves():String{
return (portal_groups[PortalGroup.HYVES]);
}
public function exportXML():XMLNode{
var _local1:XMLNode = new XMLNode(1, "language");
_local1.attributes.name = name;
if (textLanguage != null){
_local1.attributes.textLanguage = textLanguage;
};
if (references.length){
_local1.attributes.references = references.toString();
};
_local1.attributes.id = bwcId;
var _local2:XMLNode = new XMLNode(1, "display_name");
_local2.firstChild = new XMLNode(3, displayName);
_local1.appendChild(_local2);
var _local3:Array = [];
var _local4:Array = PortalGroup.channelNames;
var _local5:int;
while (_local5 < _local4.length) {
_local3.push(Brandings.getBrandByDomain(portal_groups[_local5]).site_id);
_local5++;
};
_local1.attributes.channels = _local3.join(",");
return (_local1);
}
}
}//package spill.localisation
Section 148
//Languages (spill.localisation.Languages)
package spill.localisation {
import flash.xml.*;
public class Languages {
public static var languages:Object = new Object();
private static var _init:Boolean = false;
public static function initialize():void{
var _local1:Language;
if (_init){
return;
};
_init = true;
_local1 = new Language("nl");
_local1.displayName = "Nederlands";
_local1.p_family = "www.spelletjes.nl";
_local1.p_tween = "www.spel.nl";
_local1.p_girl = "www.girlsgogames.nl";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.p_hyves = "www.zapapa.nl";
_local1.bwcId = 3;
addLanguage(_local1);
_local1 = new Language("es");
_local1.displayName = "Español";
_local1.p_family = "www.juegos.com";
_local1.p_tween = "www.zapjuegos.com";
_local1.p_girl = "www.girlsgogames.es";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 9;
addLanguage(_local1);
_local1 = new Language("pl");
_local1.displayName = "Polski";
_local1.p_family = "www.gry.pl";
_local1.p_tween = "www.gry.pl";
_local1.p_girl = "www.girlsgogames.pl";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 6;
addLanguage(_local1);
_local1 = new Language("fr");
_local1.displayName = "Français";
_local1.p_family = "www.jeux.fr";
_local1.p_tween = "www.jeu.fr";
_local1.p_girl = "www.girlsgogames.fr";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 4;
addLanguage(_local1);
_local1 = new Language("en_us", "us");
_local1.displayName = "English";
_local1.p_family = "www.gamesgames.com";
_local1.p_tween = "www.agame.com";
_local1.p_girl = "www.girlsgogames.com";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 1;
addLanguage(_local1);
addReference(_local1, "en");
_local1 = new Language("id");
_local1.displayName = "Bahasa Ind.";
_local1.p_family = "www.games.co.id";
_local1.p_tween = "www.games.co.id";
_local1.p_girl = "www.games.co.id";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 11;
addLanguage(_local1);
_local1 = new Language("ru");
_local1.displayName = "Русский";
_local1.p_family = "www.ourgames.ru";
_local1.p_tween = "www.flashgames.ru";
_local1.p_girl = "www.girlsgogames.ru";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 12;
addLanguage(_local1);
_local1 = new Language("se");
_local1.displayName = "Svenska";
_local1.p_family = "www.spela.se";
_local1.p_tween = "www.spel.se";
_local1.p_girl = "www.girlsgogames.se";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 7;
addLanguage(_local1);
addReference(_local1, "sv");
_local1 = new Language("it");
_local1.displayName = "Italiano";
_local1.p_family = "www.gioco.it";
_local1.p_girl = "www.girlsgogames.it";
_local1.p_teen = "www.a10.it";
_local1.p_tween = "www.giochi.it";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 8;
addLanguage(_local1);
_local1 = new Language("en_uk", "uk");
_local1.displayName = "English";
_local1.p_family = "www.games.co.uk";
_local1.p_tween = "www.agame.com";
_local1.p_girl = "www.girlsgogames.co.uk";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 13;
addLanguage(_local1);
_local1 = new Language("cn");
_local1.displayName = "中文";
_local1.p_family = "www.game.com.cn";
_local1.p_tween = "www.game.com.cn";
_local1.p_girl = "www.game.com.cn";
_local1.p_teen = "www.game.com.cn";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 2;
_local1.embedInputFonts = false;
addLanguage(_local1);
addReference(_local1, "zh-CN");
addReference(_local1, "zh-TW");
_local1 = new Language("pt");
_local1.displayName = "Português";
_local1.p_family = "www.ojogos.pt";
_local1.p_tween = "www.ojogos.pt";
_local1.p_girl = "www.ojogos.pt";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 17;
addLanguage(_local1);
_local1 = new Language("in");
_local1.displayName = "English";
_local1.p_family = "www.game.co.in";
_local1.p_tween = "www.game.co.in";
_local1.p_girl = "www.game.co.in";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.textLanguage = "en_uk";
_local1.bwcId = 14;
addLanguage(_local1);
_local1 = new Language("de");
_local1.displayName = "Deutsch";
_local1.p_family = "www.jetztspielen.de";
_local1.p_tween = "www.spielen.com";
_local1.p_girl = "www.girlsgogames.de";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 5;
addLanguage(_local1);
_local1 = new Language("br");
_local1.displayName = "Português (BR)";
_local1.p_family = "www.ojogos.com.br";
_local1.p_tween = "www.clickjogos.com";
_local1.p_girl = "www.girlsgogames.com.br";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 10;
addLanguage(_local1);
_local1 = new Language("jp");
_local1.displayName = "日本語";
_local1.p_family = "www.egames.jp";
_local1.p_tween = "www.egames.jp";
_local1.p_girl = "www.egames.jp";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.embedInputFonts = false;
_local1.bwcId = 19;
addLanguage(_local1);
addReference(_local1, "ja");
_local1 = new Language("ar");
_local1.displayName = "English";
_local1.p_family = "www.dailygame.com";
_local1.p_tween = "www.dailygame.com";
_local1.p_girl = "www.dailygame.com";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
_local1.bwcId = 20;
addLanguage(_local1);
addReference(_local1, "ar");
_local1 = new Language("es_mx", "mx");
_local1.displayName = "Español (mx)";
_local1.p_family = "www.juegos.mx";
_local1.p_tween = "www.juegos.mx";
_local1.p_girl = "www.juegosdechicas.mx";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
addLanguage(_local1);
addReference(_local1, "mx");
_local1 = new Language("es_ar", "arg");
_local1.displayName = "Español (ar)";
_local1.p_family = "www.juegos.com.ar";
_local1.p_tween = "www.juegos.com.ar";
_local1.p_girl = "www.juegosdechicas.com.ar";
_local1.p_teen = "www.a10.com";
_local1.p_zapapa = "www.zapapa.com";
addLanguage(_local1);
addReference(_local1, "arg");
}
private static function addReference(_arg1:Language, _arg2:String):void{
languages[_arg2] = _arg1;
_arg1.references.push(_arg2);
}
private static function addLanguage(_arg1:Language):void{
languages[_arg1.name] = _arg1;
}
public static function getLanguage(_arg1:String):Language{
return (languages[_arg1]);
}
public static function getLanguageByOldID(_arg1:int):Language{
var _local2:Language;
for each (_local2 in languages) {
if (_local2.bwcId == _arg1){
return (_local2);
};
};
return (null);
}
public static function getLanguagesArray():Array{
var _local3:Language;
var _local1:Array = new Array();
var _local2:Object = new Object();
for each (_local3 in languages) {
if (!_local2[_local3.name]){
_local1.push(_local3);
_local2[_local3.name] = true;
};
};
return (_local1);
}
public static function exportXML():XMLNode{
var _local3:Language;
var _local1:Array = getLanguagesArray();
var _local2:XMLNode = new XMLNode(1, "languages");
for each (_local3 in _local1) {
_local2.appendChild(_local3.exportXML());
};
return (_local2);
}
}
}//package spill.localisation
Section 149
//LanguageSelectBox (spill.localisation.LanguageSelectBox)
package spill.localisation {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class LanguageSelectBox extends MovieClip {
private var popup:MovieClip;
private var flag:MovieClip;
private var languageName_text:TextField;
private var mc:MovieClip;
public function LanguageSelectBox(){
trace("new langselecbox");
super();
if (numChildren > 0){
removeChildAt(0);
};
addEventListener(Event.ADDED_TO_STAGE, added, false, 0, true);
addEventListener(Event.REMOVED_FROM_STAGE, removed, false, 0, true);
addEventListener(MouseEvent.MOUSE_OVER, mouseOver, false, 0, true);
addEventListener(MouseEvent.MOUSE_OUT, mouseOut, false, 0, true);
Languages.initialize();
popup = new LanguageSelectPopup_mc();
x = Math.round(x);
y = Math.round(y);
popup.y = (-(Math.floor(popup.height)) + 1);
popup.visible = false;
addChild(popup);
mc = new LanguageSelectBox_mc();
addChild(mc);
flag = mc.flag;
languageName_text = mc.languageName_text;
if (stage){
added();
};
init();
languageChanged();
}
public function init():void{
var _local3:MovieClip;
var _local4:Language;
trace("initselectbox");
var _local1:Array = new Array(popup.l_br, popup.l_de, popup.l_en_us, popup.l_fr, popup.l_in, popup.l_jp, popup.l_pt, popup.l_ru, popup.l_ar, popup.l_cn, popup.l_en_uk, popup.l_es, popup.l_id, popup.l_it, popup.l_nl, popup.l_pl, popup.l_se, popup.l_es_mx, popup.l_es_ar);
var _local2:int;
while (_local2 < _local1.length) {
_local3 = MovieClip(_local1[_local2]);
if (_local3){
_local3.addEventListener(MouseEvent.CLICK, itemClicked, true, 0, true);
_local3.flag.gotoAndStop(_local3.name.substr(2));
_local3.flag.mouseEnabled = false;
_local3.text.mouseEnabled = false;
_local4 = Languages.getLanguage(_local3.name.substr(2));
if (_local4){
_local3.text.text = _local4.displayAcronim;
} else {
trace((("Error, '" + _local3.name.substr(2)) + "' language not found"));
};
} else {
trace((((("Error, btn number '" + _local2) + "' is not a MovieClip or there is no button '") + _local1[_local2]) + "'"));
};
_local2++;
};
}
private function itemClicked(_arg1:MouseEvent):void{
SpilGame.changeLanguage(_arg1.currentTarget.name.substr(2));
popup.visible = false;
}
private function mouseOver(_arg1:MouseEvent):void{
popup.visible = true;
}
private function mouseOut(_arg1:MouseEvent):void{
popup.visible = false;
}
private function added(_arg1:Event=null):void{
SpilGame.addEventListener("languageChanged", languageChanged, false, 0, true);
}
private function removed(_arg1:Event):void{
SpilGame.removeEventListener("languageChanged", languageChanged);
}
public function languageChanged(_arg1:Event=null):void{
if (SpilGame.currentLanguage){
if ((((SpilGame.portalGroup == PortalGroup.HYVES)) && ((SpilGame.currentLanguage.name == "nl")))){
this.visible = false;
return;
};
this.visible = true;
flag.gotoAndStop(SpilGame.currentLanguage.name);
languageName_text.text = SpilGame.currentLanguage.displayName;
languageName_text.embedFonts = SpilGame.currentLanguage.embedInputFonts;
};
}
public function set popupLocation(_arg1:String):void{
trace(("popupLocation = " + _arg1));
if (_arg1 == "bottom"){
popup.y = Math.floor(mc.height);
} else {
popup.y = (-(Math.floor(mc.height)) + 1);
};
}
}
}//package spill.localisation
Section 150
//LanguageSelectBox_mc (spill.localisation.LanguageSelectBox_mc)
package spill.localisation {
import flash.display.*;
import flash.text.*;
public dynamic class LanguageSelectBox_mc extends MovieClip {
public var languageName_text:TextField;
public var flag:MovieClip;
}
}//package spill.localisation
Section 151
//LanguageSelectPopup_mc (spill.localisation.LanguageSelectPopup_mc)
package spill.localisation {
import flash.display.*;
public dynamic class LanguageSelectPopup_mc extends MovieClip {
public var l_ar:MovieClip;
public var l_pt:MovieClip;
public var l_en_uk:MovieClip;
public var l_br:MovieClip;
public var l_ru:MovieClip;
public var l_se:MovieClip;
public var l_in:MovieClip;
public var l_es:MovieClip;
public var l_fr:MovieClip;
public var l_de:MovieClip;
public var l_jp:MovieClip;
public var l_nl:MovieClip;
public var l_pl:MovieClip;
public var l_es_ar:MovieClip;
public var l_id:MovieClip;
public var l_en_us:MovieClip;
public var l_it:MovieClip;
public var l_es_mx:MovieClip;
public var l_cn:MovieClip;
}
}//package spill.localisation
Section 152
//PortalGroup (spill.localisation.PortalGroup)
package spill.localisation {
import flash.xml.*;
public class PortalGroup {
public static const FAMILY:uint = 0;
public static const TEENS:uint = 1;
public static const GIRL:uint = 2;
public static const YOUNG_ADULTS:uint = 3;
public static const ZAPAPA:uint = 4;
public static const HYVES:uint = 5;
public static const NONE:uint = 6;
public static const channelNames:Array = ["family", "tween", "girl", "teen", "zapapa", "hyves"];
public static const backgroundColors:Array = [0xFFFFFF, 0xFFFFFF, 16742331, 0xFFFFFF, 0xFFFFFF, 0xFFFFFF];
public static function getName(_arg1:int):String{
return (channelNames[_arg1]);
}
public static function exportXML():XMLNode{
var _local3:XMLNode;
var _local1:XMLNode = new XMLNode(1, "channels");
var _local2:int;
while (_local2 < 5) {
_local3 = new XMLNode(1, "channel");
_local3.attributes.name = channelNames[_local2];
_local3.attributes.id = _local2;
_local1.appendChild(_local3);
_local2++;
};
return (_local1);
}
}
}//package spill.localisation
Section 153
//spil_internal (spill.localisation.spil_internal)
package spill.localisation {
public namespace spil_internal = "spill.localisation";
}//package spill.localisation
Section 154
//SpilGame (spill.localisation.SpilGame)
package spill.localisation {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.net.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
public class SpilGame {
private static const cookiePath:String = "/";
private static const cookieName:String = "spilgames_language_v100";
private static const cookieLanguageVar:String = "savedLang";
public static const LANGUAGE_CHANGED:String = "languageChanged";
public static const BRANDING_CHANGED:String = "brandingChanged";
spil_internal static var gameName:String;
public static var currentBranding:Brand;
public static var currentLanguage:Language;
spil_internal static var emailPage:String;
spil_internal static var portalGroup:uint;
private static var channelLock:Boolean = false;
private static var _init:Boolean = false;
private static var eventDispatcher:EventDispatcher;
private static var localDomains:Object = new Object();
private static var strings:Object = new Object();
private static var contexMenuItem:ContextMenuItem;
private static var stage:Sprite;
spil_internal static var debugHostDomain:String = "";
spil_internal static var debugEmbedDomain:String = "";
public static function initialize(_arg1:String, _arg2:int, _arg3:String, _arg4:Sprite, _arg5:Boolean=false):void{
stage = _arg4;
if (_init){
trace("ERROR: LocalisationManager already initialised");
return;
};
_init = true;
localDomains["localhost"] = true;
localDomains["www8.agame.com"] = true;
localDomains["gamedev.dev.spilgames.com"] = true;
localDomains["stg.spel.nl"] = true;
localDomains["stg.girlsgogames.nl"] = true;
localDomains["stg.pl.spel.nl"] = true;
localDomains["stg.pl.girlsgogames.nl"] = true;
trace(localDomains["stg.girlsgogames.nl"]);
Brandings.initialize();
Languages.initialize();
initContexMenu(_arg4);
channelLock = _arg5;
gameName = _arg1.replace(" ", "_");
portalGroup = _arg2;
emailPage = _arg3;
chooseLanguage();
chooseBranding();
if (portalGroup == PortalGroup.HYVES){
changeLanguage("nl");
};
}
public static function initTextField(_arg1:TextField):void{
var _local2:TextFormat;
trace(_arg1.text);
_arg1.text = _arg1.text.replace(/{([^{}]*)}/g, replaceFn);
trace(_arg1.text);
_arg1.embedFonts = currentLanguage.embedFonts;
if (currentLanguage.forceFont != ""){
_local2 = new TextFormat();
_local2.font = currentLanguage.forceFont;
_arg1.setTextFormat(_local2);
};
}
private static function replaceFn():String{
var _local2:String = SpilGame.getString(arguments[1]);
if (((!(_local2)) || ((_local2 == "")))){
return ((("{" + arguments[1]) + "}"));
};
return (_local2);
}
public static function outputAllBrands():String{
var _local3:Brand;
var _local1:Array = Brandings.getBrandsArray();
var _local2 = "";
for each (_local3 in _local1) {
_local2 = (_local2 + (_local3.getSendToFriendLink(gameName, emailPage, isExternal, embedDomain) + "\n"));
};
return (_local2);
}
public static function traceAllBrands():void{
trace(outputAllBrands());
}
public static function getMoreGamesLink(_arg1:String=""):String{
var _local2:String = (embedDomain) ? embedDomain : hostingDomain;
return (currentBranding.getMoreGamesLink(gameName, isExternal, _local2, _arg1));
}
public static function getSendToFriendLink():String{
return (currentBranding.getSendToFriendLink(gameName, emailPage, isExternal, embedDomain));
}
public static function getPromotionLink(_arg1:String="feature_promotion"):String{
var _local2:String = (embedDomain) ? embedDomain : hostingDomain;
return (currentBranding.getPromotionLink(gameName, emailPage, isExternal, _local2, _arg1));
}
public static function getSpilCompanyLink():String{
var _local1 = "http://www.gameportal.net/";
if (isExternal){
_local1 = (_local1 + ("?utm_medium=brandedgames_" + (isExternal) ? "external" : "internal"));
_local1 = (_local1 + ("&utm_campaign=" + gameName));
_local1 = (_local1 + ("&utm_source=" + Brand.stripSubDomain((embedDomain) ? embedDomain : hostingDomain)));
_local1 = (_local1 + "&utm_content=Branding_Link");
};
return (_local1);
}
public static function importXML(_arg1:XML):void{
var _local2:XML;
var _local3:Object;
var _local4:XML;
for each (_local2 in _arg1.children()) {
_local3 = (strings[_local2.identifier] = new Object());
for each (_local4 in _local2.children()) {
_local3[_local4.name()] = _local4.children()[0].toString();
};
};
}
public static function importXMLv2(_arg1:XML):void{
var _local2:XML;
var _local3:Object;
var _local4:XML;
for each (_local2 in _arg1.children()) {
_local3 = (strings[_local2.attribute("identifier")] = new Object());
for each (_local4 in _local2.children()) {
if (_local4.children().length() > 0){
_local3[_local4.name()] = _local4.children()[0].toString();
} else {
_local3[_local4.name()] = "";
};
};
};
}
public static function getString(_arg1:String):String{
var _local2:Object = strings[_arg1];
if (_local2){
if (currentLanguage.textLanguage){
return (_local2[currentLanguage.textLanguage]);
};
if (_local2[currentLanguage.name]){
return (_local2[currentLanguage.name]);
};
return (_local2["en_us"]);
//unresolved jump
};
return ("");
}
private static function initContexMenu(_arg1:Sprite):void{
contexMenuItem = new ContextMenuItem("");
_arg1.contextMenu = new ContextMenu();
_arg1.contextMenu.customItems.push(contexMenuItem);
contexMenuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, contexMenuClicked);
}
private static function contexMenuClicked(_arg1:ContextMenuEvent):void{
navigateToURL(new URLRequest(getMoreGamesLink("Contex_Menu")));
}
spil_internal static function chooseLanguage():void{
currentLanguage = systemLanguage;
if (isExternal){
trace("SPIL", 3);
currentLanguage = systemLanguage;
} else {
trace("SPIL", 4);
currentLanguage = portalLanguage;
if (!currentLanguage){
currentLanguage = systemLanguage;
};
};
trace("SPIL", 5, currentLanguage);
trace("SPIL", 5, currentLanguage.name);
trace("SPIL", 5, currentLanguage.textLanguage);
if (!currentLanguage){
trace("Unable to determine language, using 'English US'");
currentLanguage = Languages.getLanguage("en_us");
};
TextFieldFit.embedFonts = currentLanguage.embedFonts;
TextFieldFit.forceFont = currentLanguage.forceFont;
dispatchEvent(new Event(LANGUAGE_CHANGED));
}
spil_internal static function chooseBranding():void{
currentBranding = Brandings.getBrandByDomain(currentLanguage.portal_groups[portalGroup]);
if (!(currentBranding is Brand)){
currentBranding = Brandings.getBrandByDomain("www.agame.com");
};
contexMenuItem.caption = ("More Games: " + currentBranding.domain);
dispatchEvent(new Event(BRANDING_CHANGED));
}
spil_internal static function changeLanguage(_arg1:String):void{
var _local2:Language = Languages.getLanguage(_arg1);
if (!_local2){
trace("ERROR: Supplied language string does not have a matching language");
} else {
cookieLanguage = _local2;
currentLanguage = _local2;
};
TextFieldFit.embedFonts = currentLanguage.embedFonts;
TextFieldFit.forceFont = currentLanguage.forceFont;
chooseBranding();
dispatchEvent(new Event(LANGUAGE_CHANGED));
}
private static function get portalLanguage():Language{
var _local1:Brand;
var _local2:String;
var _local3:Language;
if (isExternal){
return (null);
};
if (!embedDomain){
return (null);
};
_local1 = Brandings.getBrandByDomain(embedDomain);
if (!_local1){
return (null);
};
_local2 = _local1.preferedLanguage;
if (!_local2){
return (null);
};
_local3 = Languages.getLanguage(_local2);
if (!_local3){
return (null);
};
return (_local3);
}
spil_internal static function get systemLanguage():Language{
return (Languages.getLanguage(Capabilities.language));
}
spil_internal static function get cookieLanguage():Language{
var _local1:SharedObject = SharedObject.getLocal(cookieName, cookiePath);
var _local2:String = String(_local1.data[cookieLanguageVar]);
return (Languages.getLanguage(_local2));
}
spil_internal static function set cookieLanguage(_arg1:Language):void{
var _local2:SharedObject = SharedObject.getLocal(cookieName, cookiePath);
if (_arg1 == null){
_local2.data[cookieLanguageVar] = null;
} else {
_local2.data[cookieLanguageVar] = _arg1.name;
};
_local2.flush();
}
public static function get isExternal():Boolean{
return (((((!(Brandings.hasDomain(embedDomain))) && (!(localDomains[embedDomain])))) && (!(isStagingDomain))));
}
public static function get isStagingDomain():Boolean{
var _local1:String = ("http://" + embedDomain);
return ((_local1.indexOf("http://stg.") >= 0));
}
spil_internal static function get hostingDomain():String{
var _local1:LocalConnection;
if (debugHostDomain != ""){
return (debugHostDomain);
};
_local1 = new LocalConnection();
return (_local1.domain);
}
spil_internal static function get embedDomain():String{
var loc:String;
if (debugEmbedDomain != ""){
return (debugEmbedDomain);
};
if (ExternalInterface.available){
try {
loc = ExternalInterface.call("window.location.href.toString");
if (((!((loc == ""))) && (!((loc == null))))){
trace(("embed domain = " + getDomain(loc)));
return (getDomain(loc));
};
} catch(e:SecurityError) {
trace(("Security Error connecting to external interface, error = " + e));
} catch(e:Error) {
trace(("Error connecting to external interface, error = " + e));
};
};
return (null);
}
public static function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{
if (!eventDispatcher){
eventDispatcher = new EventDispatcher();
};
eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public static function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
if (!eventDispatcher){
eventDispatcher = new EventDispatcher();
};
eventDispatcher.removeEventListener(_arg1, _arg2, _arg3);
}
spil_internal static function dispatchEvent(_arg1:Event):void{
if (!eventDispatcher){
eventDispatcher = new EventDispatcher();
};
eventDispatcher.dispatchEvent(_arg1);
}
public static function exportXML():XML{
var _local1:XML = <spil_games/>
;
_local1.appendChild(Brandings.exportXML());
_local1.appendChild(Languages.exportXML());
_local1.appendChild(PortalGroup.exportXML());
return (_local1);
}
private static function getDomain(_arg1:String):String{
var _local2:String;
var _local3:uint;
if (_arg1.indexOf("file") == 0){
return ("offline_play");
};
_local2 = new String();
_local3 = 7;
while (_local3 < _arg1.length) {
if (_arg1.charAt(_local3) == "/"){
break;
};
_local2 = (_local2 + _arg1.charAt(_local3));
_local3++;
};
if (_local2 == "localhost"){
_local2 = "offline_play";
};
return (_local2);
}
}
}//package spill.localisation
Section 155
//TextFieldFit (spill.localisation.TextFieldFit)
package spill.localisation {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.filters.*;
import flash.utils.*;
public class TextFieldFit extends MovieClip {
private var field:TextField;
private var w:Number;
private var h:Number;
private var format:TextFormat;
private var embeddedFonts:Array;
private var sizeChanged:Boolean;// = true
private var debugBounding:Sprite;
private var valid:Boolean;// = true
protected var _text:String;// = "default"
protected var _textColor:uint;// = 0
protected var _textSize:Number;// = 12
protected var _multiline:Boolean;// = false
protected var _disableWordwrap:Boolean;// = false
protected var _hAlign:String;// = "left"
protected var _vAlign:String;// = "top"
protected var _bold:Boolean;// = false
protected var _underline:Boolean;// = false
protected var _italic:Boolean;// = false
protected var _selectable:Boolean;// = false
protected var _font:String;// = ""
protected var _embedFonts:Boolean;// = true
protected var _antiAliasType:String;// = "advanced"
protected var _gridFitType:String;// = "pixel"
protected var _useGlowFilter:Boolean;// = false
protected var _glowBlur:Number;// = 3
protected var _glowColor:uint;// = 0
protected var _glowStrength:Number;// = 5
protected var _glowQuality:Number;// = 1
private static const gutter:Number = 2;
spil_internal static var embedFonts:Boolean = true;
spil_internal static var forceFont:String = null;
spil_internal static var forceAAType:String = null;
public static var alwaysCheckWidth:Boolean = false;
public function TextFieldFit(){
var _local1:Boolean = ((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")));
var _local2:Number = width;
var _local3:Number = height;
if (numChildren > 0){
removeChildAt(0);
};
if (!field){
field = new TextField();
addChild(field);
};
field.border = false;
field.background = false;
field.type = TextFieldType.DYNAMIC;
mouseEnabled = false;
mouseChildren = false;
format = new TextFormat();
embeddedFonts = Font.enumerateFonts(false);
setSize(_local2, _local3);
validate();
if (stage){
addEventListener(Event.RENDER, init);
stage.invalidate();
};
init();
}
public function get textField():TextField{
return (field);
}
private function init(_arg1:Event=null):void{
removeEventListener(Event.RENDER, init);
updateProperties();
layoutText();
}
protected function updateProperties():void{
var _local1:Boolean;
var _local2:Font;
field.text = _text;
field.multiline = ((((_text.indexOf(" ") < 0)) && ((_text.length < 14)))) ? false : _multiline;
field.wordWrap = ((field.multiline) && (!(_disableWordwrap)));
field.selectable = _selectable;
field.antiAliasType = (forceAAType) ? forceAAType : _antiAliasType;
field.gridFitType = _gridFitType;
embeddedFonts = Font.enumerateFonts(false);
if (((((_embedFonts) && (!((_font == ""))))) && (TextFieldFit.embedFonts))){
_local1 = false;
for each (_local2 in embeddedFonts) {
if (_font == _local2.fontName){
_local1 = true;
break;
};
};
field.embedFonts = _local1;
if (!_local1){
trace(((("WARNING: Embedded font '" + _font) + "' not found, disabling embedding of fonts, text = ") + _text));
} else {
trace((("Found Embedded font '" + _font) + "' using font"));
};
} else {
field.embedFonts = false;
};
if (TextFieldFit.forceFont){
format.font = TextFieldFit.forceFont;
} else {
format.font = _font;
};
if (sizeChanged){
format.size = _textSize;
};
format.color = _textColor;
format.align = _hAlign;
format.bold = _bold;
format.italic = _italic;
format.underline = _underline;
format.leftMargin = 0;
format.rightMargin = 0;
field.setTextFormat(format);
if (_useGlowFilter){
filters = [new GlowFilter(_glowColor, 1, _glowBlur, _glowBlur, _glowStrength, _glowQuality)];
} else {
filters = [];
};
}
public function setSize(_arg1:Number, _arg2:Number):void{
w = _arg1;
h = _arg2;
scaleX = (scaleY = 1);
field.width = w;
field.height = h;
invalidate();
}
private function layoutText():void{
resizeText();
field.height = (field.textHeight + (gutter * 2));
if (vAlign == "top"){
field.y = 0;
} else {
if (vAlign == "middle"){
field.y = ((h - field.height) / 2);
} else {
if (vAlign == "bottom"){
field.y = (h - field.height);
};
};
};
}
private function resizeText(_arg1:Boolean=false):void{
if (!doesTextFit()){
format.size = Object((Number(format.size) - 1));
if (format.size <= 3){
trace("WARNING: Text resised to 3px, either an error occured or the text just wont fit");
return;
};
field.setTextFormat(format);
resizeText(true);
} else {
if (_arg1 == false){
while (doesTextFit()) {
if (format.size <= textSize){
format.size = Object((Number(format.size) + 1));
field.setTextFormat(format);
if (!doesTextFit()){
format.size = Object((Number(format.size) - 1));
field.setTextFormat(format);
break;
};
} else {
break;
};
};
};
};
}
private function doesTextFit():Boolean{
if (((((field.textHeight + (gutter * 2)) > h)) || (((((field.textWidth + (gutter * 2)) > w)) && (((!(field.multiline)) || (alwaysCheckWidth))))))){
return (false);
};
return (true);
}
private function invalidate():void{
if (valid){
addEventListener(Event.ENTER_FRAME, validate);
if (stage){
stage.invalidate();
};
valid = false;
};
}
private function validate(_arg1:Event=null):void{
updateProperties();
layoutText();
removeEventListener(Event.ENTER_FRAME, validate);
valid = true;
}
public function set text(_arg1:String):void{
_text = _arg1;
invalidate();
}
public function get text():String{
return (_text);
}
public function set textColor(_arg1:uint):void{
_textColor = _arg1;
invalidate();
}
public function get textColor():uint{
return (_textColor);
}
public function set textSize(_arg1:Number):void{
_textSize = _arg1;
sizeChanged = true;
invalidate();
}
public function get textSize():Number{
return (_textSize);
}
public function set multiline(_arg1:Boolean):void{
_multiline = _arg1;
invalidate();
}
public function get multiline():Boolean{
return (_multiline);
}
public function set disableWordwrap(_arg1:Boolean):void{
_disableWordwrap = _arg1;
invalidate();
}
public function get disableWordwrap():Boolean{
return (_disableWordwrap);
}
public function set hAlign(_arg1:String):void{
_hAlign = _arg1;
invalidate();
}
public function get hAlign():String{
return (_hAlign);
}
public function set vAlign(_arg1:String):void{
_vAlign = _arg1;
invalidate();
}
public function get vAlign():String{
return (_vAlign);
}
public function set bold(_arg1:Boolean):void{
_bold = _arg1;
invalidate();
}
public function get bold():Boolean{
return (_bold);
}
public function set underline(_arg1:Boolean):void{
_underline = _arg1;
invalidate();
}
public function get underline():Boolean{
return (_underline);
}
public function set italic(_arg1:Boolean):void{
_italic = _arg1;
invalidate();
}
public function get italic():Boolean{
return (_italic);
}
public function set selectable(_arg1:Boolean):void{
_selectable = _arg1;
invalidate();
}
public function get selectable():Boolean{
return (_selectable);
}
public function set font(_arg1:String):void{
_font = _arg1;
invalidate();
}
public function get font():String{
return (_font);
}
public function set embedFonts(_arg1:Boolean):void{
_embedFonts = _arg1;
invalidate();
}
public function get embedFonts():Boolean{
return (_embedFonts);
}
public function set antiAliasType(_arg1:String):void{
_antiAliasType = _arg1;
invalidate();
}
public function get antiAliasType():String{
return (_antiAliasType);
}
public function set gridFitType(_arg1:String):void{
_gridFitType = _arg1;
invalidate();
}
public function get gridFitType():String{
return (_gridFitType);
}
public function set useGlowFilter(_arg1:Boolean):void{
_useGlowFilter = _arg1;
invalidate();
}
public function get useGlowFilter():Boolean{
return (_useGlowFilter);
}
public function set glowBlur(_arg1:Number):void{
_glowBlur = _arg1;
invalidate();
}
public function get glowBlur():Number{
return (_glowBlur);
}
public function set glowColor(_arg1:uint):void{
_glowColor = _arg1;
invalidate();
}
public function get glowColor():uint{
return (_glowColor);
}
public function set glowStrength(_arg1:Number):void{
_glowStrength = _arg1;
invalidate();
}
public function get glowStrength():Number{
return (_glowStrength);
}
public function set glowQuality(_arg1:Number):void{
_glowQuality = _arg1;
invalidate();
}
public function get glowQuality():Number{
return (_glowQuality);
}
}
}//package spill.localisation
Section 156
//ArrayUtils (Utils.Array.ArrayUtils)
package Utils.Array {
public class ArrayUtils {
public static function extractIndexFromArrayByValue(_arg1:Array, _arg2):int{
var _local3:int;
while (_local3 < _arg1.length) {
if (_arg1[_local3] == _arg2){
return (_local3);
};
_local3++;
};
return (-1);
}
}
}//package Utils.Array
Section 157
//Key (Utils.Keyboard.Key)
package Utils.Keyboard {
import flash.display.*;
import flash.events.*;
public class Key {
private static var initialized:Boolean = false;
private static var keysDown:Object = new Object();
public static function initialize(_arg1:Stage){
if (!initialized){
_arg1.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
_arg1.addEventListener(KeyboardEvent.KEY_UP, keyReleased);
_arg1.addEventListener(Event.DEACTIVATE, clearKeys);
initialized = true;
};
}
public static function isDown(_arg1:uint):Boolean{
if (!initialized){
throw (new Error("Key class has yet been initialized."));
};
return (Boolean((_arg1 in keysDown)));
}
private static function keyPressed(_arg1:KeyboardEvent):void{
keysDown[_arg1.keyCode] = true;
}
private static function keyReleased(_arg1:KeyboardEvent):void{
if ((_arg1.keyCode in keysDown)){
delete keysDown[_arg1.keyCode];
};
}
private static function clearKeys(_arg1:Event):void{
keysDown = new Object();
}
}
}//package Utils.Keyboard
Section 158
//MathUtils (Utils.Math.MathUtils)
package Utils.Math {
import flash.display.*;
import flash.geom.*;
public class MathUtils {
public static function GetDistance(_arg1, _arg2):Number{
if (((((((!((_arg1["x"] == null))) && (!((_arg1["y"] == null))))) && (!((_arg2["x"] == null))))) && (!((_arg2["y"] == null))))){
return (Math.sqrt((((_arg1["x"] - _arg2["x"]) * (_arg1["x"] - _arg2["x"])) + ((_arg1["y"] - _arg2["y"]) * (_arg1["y"] - _arg2["y"])))));
};
if (((!(((_arg1 as MovieClip) == null))) && (!(((_arg2 as MovieClip) == null))))){
return (Math.sqrt((((_arg1.x - _arg2.x) * (_arg1.x - _arg2.x)) + ((_arg1.y - _arg2.y) * (_arg1.y - _arg2.y)))));
};
if ((((_arg1 is Vector2)) && ((_arg2 is Vector2)))){
return (Math.sqrt((((_arg1.m_x - _arg2.m_x) * (_arg1.m_x - _arg2.m_x)) + ((_arg1.m_y - _arg2.m_y) * (_arg1.m_y - _arg2.m_y)))));
};
return (NaN);
}
public static function LimitTo(_arg1:Number, _arg2:Number, _arg3:Number):Number{
if (_arg1 < _arg2){
return (_arg2);
};
if (_arg1 > _arg3){
return (_arg3);
};
return (_arg1);
}
public static function SetLo(_arg1:Number, _arg2:Number):Number{
return (Math.max(_arg1, _arg2));
}
public static function SetHi(_arg1:Number, _arg2:Number):Number{
return (Math.min(_arg1, _arg2));
}
public static function DegToRad(_arg1:Number):Number{
return (((_arg1 * Math.PI) / 180));
}
public static function RadToDeg(_arg1:Number):Number{
return (((_arg1 * 180) / Math.PI));
}
public static function IsInside(_arg1, _arg2, _arg3):Boolean{
if ((((((((((_arg1 is Number)) || ((_arg1 is int)))) || ((_arg1 is uint)))) && ((((((_arg2 is Number)) || ((_arg2 is int)))) || ((_arg2 is uint)))))) && ((((((_arg3 is Number)) || ((_arg3 is int)))) || ((_arg3 is uint)))))){
return ((((_arg1 >= _arg2)) && ((_arg1 <= _arg3))));
};
if ((((((_arg1 is Vector2)) && ((_arg2 is Vector2)))) && ((_arg3 is Vector2)))){
return (((IsInside(_arg1.m_x, _arg2.m_x, _arg3.m_x)) && (IsInside(_arg1.m_y, _arg2.m_y, _arg3.m_y))));
};
return (false);
}
public static function isNumeric(_arg1){
return ((((((_arg1 is Number)) || ((_arg1 is int)))) || ((_arg1 is uint))));
}
public static function GetAngleFromMovieclips(_arg1:MovieClip, _arg2:MovieClip):Number{
var _local3:Point = _arg1.localToGlobal(new Point(0, 0));
var _local4:Point = _arg2.localToGlobal(new Point(0, 0));
var _local5:Vector2 = new Vector2((_local4.x - _local3.x), (_local4.y - _local3.y));
return (_local5.GetAngle());
}
public static function getRandom(_arg1:Number, _arg2:Number):Number{
var _local3:* = (_arg2 - _arg1);
var _local4:* = (Math.random() * _local3);
var _local5:* = Math.round(_local4);
_local5 = (_local5 + _arg1);
return (_local5);
}
public static function shuffle(_arg1:Number, _arg2:Number):Number{
var _local3:Number = (Math.round((Math.random() * 2)) - 1);
return (_local3);
}
}
}//package Utils.Math
Section 159
//Vector2 (Utils.Math.Vector2)
package Utils.Math {
import flash.display.*;
import flash.geom.*;
public class Vector2 {
public var m_x:Number;
public var m_y:Number;
public function Vector2(_arg1=null, _arg2=null){
var _local3:Array;
super();
if ((_arg1 is Vector2)){
Copy((_arg1 as Vector2));
} else {
if ((_arg1 is String)){
_local3 = (_arg1 as String).split(",");
m_x = Number(_local3[0]);
m_y = Number(_local3[1]);
} else {
if ((((((((_arg1 is Number)) || ((_arg1 is int)))) || ((_arg1 is uint)))) && ((((((_arg2 is Number)) || ((_arg2 is int)))) || ((_arg2 is uint)))))){
m_x = (_arg1 as Number);
m_y = (_arg2 as Number);
} else {
if ((_arg1 as MovieClip) != null){
m_x = (_arg1 as MovieClip).x;
m_y = (_arg1 as MovieClip).y;
} else {
m_x = 0;
m_y = 0;
};
};
};
};
}
public function Copy(_arg1:Vector2){
m_x = _arg1.m_x;
m_y = _arg1.m_y;
}
public function SetZero(){
Set(0, 0);
}
public function Set(_arg1:Number, _arg2:Number){
m_x = _arg1;
m_y = _arg2;
}
public function Add(_arg1, _arg2=null):Vector2{
var _local3:* = new Vector2(_arg1);
var _local4:* = null;
if (_arg2 != null){
_local4 = new Vector2(_arg2);
return (_local3.Add(_local4));
};
m_x = (m_x + _local3.m_x);
m_y = (m_y + _local3.m_y);
return (this);
}
public function AddTo(_arg1){
var _local2:DisplayObject;
var _local3:Vector2;
if ((_arg1 as DisplayObject) != null){
_local2 = (_arg1 as DisplayObject);
_local2.x = (_local2.x + m_x);
_local2.y = (_local2.y + m_y);
} else {
if ((_arg1 as Vector2) != null){
_local3 = (_arg1 as Vector2);
_local3.m_x = (_local3.m_x + m_x);
_local3.m_y = (_local3.m_y + m_y);
};
};
}
public function Sub(_arg1, _arg2=null):Vector2{
var _local3:* = new Vector2(_arg1);
var _local4:* = null;
if (_arg2 != null){
_local4 = new Vector2(_arg2);
return (_local3.Sub(_local4));
};
m_x = (m_x - _local3.m_x);
m_y = (m_y - _local3.m_y);
return (this);
}
public function SubTo(_arg1){
var _local2:DisplayObject;
var _local3:Vector2;
if ((_arg1 as DisplayObject) != null){
_local2 = (_arg1 as DisplayObject);
_local2.x = (_local2.x - m_x);
_local2.y = (_local2.y - m_y);
} else {
if ((_arg1 as Vector2) != null){
_local3 = (_arg1 as Vector2);
_local3.m_x = (_local3.m_x - m_x);
_local3.m_y = (_local3.m_y - m_y);
};
};
}
public function Scale(_arg1){
if ((_arg1 is Number)){
m_x = (m_x * (_arg1 as Number));
m_y = (m_y * (_arg1 as Number));
} else {
if ((_arg1 as DisplayObject) != null){
(_arg1 as DisplayObject).width = int(((_arg1 as DisplayObject).width * m_x));
(_arg1 as DisplayObject).height = int(((_arg1 as DisplayObject).height * m_y));
};
};
}
public function SetSize(_arg1:DisplayObject){
_arg1.width = m_x;
_arg1.height = m_y;
}
public function Value():Number{
return (Math.sqrt(((m_x * m_x) + (m_y * m_y))));
}
public function GetAngle():Number{
if ((((m_x == 0)) && ((m_y == 0)))){
return (NaN);
};
if (m_x == 0){
return (((m_y)<0) ? 270 : 90);
} else {
if (m_x > 0){
if (m_y == 0){
return (0);
};
if (m_y > 0){
return (((Math.atan((m_y / m_x)) * 180) / Math.PI));
};
return (((90 - ((Math.atan((-(m_y) / m_x)) * 180) / Math.PI)) + 270));
} else {
if (m_x < 0){
if (m_y == 0){
return (180);
};
if (m_y > 0){
return ((90 + ((Math.atan((-(m_x) / m_y)) * 180) / Math.PI)));
};
if (m_y < 0){
return ((180 + (90 - ((Math.atan((-(m_x) / -(m_y))) * 180) / Math.PI))));
};
};
};
};
return (0);
}
public function Normalize(){
var _local1:Number = Value();
m_x = (m_x / _local1);
m_y = (m_y / _local1);
}
public function Normal():Vector2{
return (new Vector2(-(m_y), m_x));
}
public function toString():String{
return (new String(((("m_x=" + m_x) + ",m_y=") + m_y)));
}
public function DumpValues():String{
return (new String(((m_x + ",") + m_y)));
}
public function RotateDeg(_arg1:Number){
Rotate(MathUtils.DegToRad(_arg1));
}
public function Rotate(_arg1:Number){
var _local2:Number = m_x;
var _local3:Number = m_y;
m_x = ((_local2 * Math.cos(_arg1)) - (_local3 * Math.sin(_arg1)));
m_y = ((_local2 * Math.sin(_arg1)) + (_local3 * Math.cos(_arg1)));
}
public function Apply(_arg1):void{
if ((_arg1 is Point)){
(_arg1 as Point).x = m_x;
(_arg1 as Point).y = m_y;
} else {
if ((_arg1 as MovieClip) != null){
(_arg1 as MovieClip).x = m_x;
(_arg1 as MovieClip).y = m_y;
};
};
}
public function Equal(_arg1:Vector2):Boolean{
return ((((m_x == _arg1.m_x)) && ((m_y == _arg1.m_y))));
}
public function Transform(_arg1:DisplayObject){
RotateDeg(_arg1.rotation);
m_x = (m_x + _arg1.x);
m_y = (m_y + _arg1.y);
}
public function split(_arg1:int, _arg2:int):Array{
var _local6:int;
var _local7:Vector2;
var _local8:Vector2;
if (_arg1 <= 1){
return ([new Vector2(this)]);
};
var _local3:Number = 0;
if ((_arg1 % 2) == 0){
_local3 = (Number(_arg2) * 0.5);
};
var _local4:int = (_arg1 / 2);
var _local5:Array = new Array();
if (_local3 == 0){
_local5.push(new Vector2(this));
_local3 = (_local3 + _arg2);
};
_local6 = 0;
while (_local6 < _local4) {
_local7 = new Vector2(this);
_local8 = new Vector2(this);
_local7.RotateDeg(-(_local3));
_local8.RotateDeg(_local3);
_local5.push(_local7);
_local5.push(_local8);
_local3 = (_local3 + _arg2);
_local6++;
};
return (_local5);
}
public static function GetVectorFromTo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){
return (new Vector2((_arg3 - _arg1), (_arg4 - _arg2)));
}
}
}//package Utils.Math
Section 160
//HitTest (Utils.MovieClips.HitTest)
package Utils.MovieClips {
import flash.display.*;
import flash.geom.*;
public class HitTest {
public static function complexHitTestObject(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Number=1):Boolean{
return (!((complexIntersectionRectangle(_arg1, _arg2, _arg3).width == 0)));
}
public static function intersectionRectangle(_arg1:DisplayObject, _arg2:DisplayObject):Rectangle{
if (((((!(_arg1.root)) || (!(_arg2.root)))) || (!(_arg1.hitTestObject(_arg2))))){
return (new Rectangle());
};
var _local3:Rectangle = _arg1.getBounds(_arg1.root);
var _local4:Rectangle = _arg2.getBounds(_arg2.root);
var _local5:Rectangle = new Rectangle();
_local5.x = Math.max(_local3.x, _local4.x);
_local5.y = Math.max(_local3.y, _local4.y);
_local5.width = Math.min(((_local3.x + _local3.width) - _local5.x), ((_local4.x + _local4.width) - _local5.x));
_local5.height = Math.min(((_local3.y + _local3.height) - _local5.y), ((_local4.y + _local4.height) - _local5.y));
return (_local5);
}
public static function complexIntersectionRectangle(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Number=1):Rectangle{
if (_arg3 <= 0){
throw (new Error("ArgumentError: Error #5001: Invalid value for accurracy", 5001));
};
if (!_arg1.hitTestObject(_arg2)){
return (new Rectangle());
};
var _local4:Rectangle = intersectionRectangle(_arg1, _arg2);
if (((((_local4.width * _arg3) < 1)) || (((_local4.height * _arg3) < 1)))){
return (new Rectangle());
};
var _local5:BitmapData = new BitmapData((_local4.width * _arg3), (_local4.height * _arg3), false, 0);
_local5.draw(_arg1, HitTest.getDrawMatrix(_arg1, _local4, _arg3), new ColorTransform(1, 1, 1, 1, 0xFF, -255, -255, 0xFF));
_local5.draw(_arg2, HitTest.getDrawMatrix(_arg2, _local4, _arg3), new ColorTransform(1, 1, 1, 1, 0xFF, 0xFF, 0xFF, 0xFF), BlendMode.DIFFERENCE);
var _local6:Rectangle = _local5.getColorBoundsRect(4294967295, 4278255615);
_local5.dispose();
if (_arg3 != 1){
_local6.x = (_local6.x / _arg3);
_local6.y = (_local6.y / _arg3);
_local6.width = (_local6.width / _arg3);
_local6.height = (_local6.height / _arg3);
};
_local6.x = (_local6.x + _local4.x);
_local6.y = (_local6.y + _local4.y);
return (_local6);
}
protected static function getDrawMatrix(_arg1:DisplayObject, _arg2:Rectangle, _arg3:Number):Matrix{
var _local4:Point;
var _local5:Matrix;
var _local6:Matrix = _arg1.root.transform.concatenatedMatrix;
_local4 = _arg1.localToGlobal(new Point());
_local5 = _arg1.transform.concatenatedMatrix;
_local5.tx = (_local4.x - _arg2.x);
_local5.ty = (_local4.y - _arg2.y);
_local5.a = (_local5.a / _local6.a);
_local5.d = (_local5.d / _local6.d);
if (_arg3 != 1){
_local5.scale(_arg3, _arg3);
};
return (_local5);
}
}
}//package Utils.MovieClips
Section 161
//MovieClipUtils (Utils.MovieClips.MovieClipUtils)
package Utils.MovieClips {
import flash.display.*;
import flash.utils.*;
public class MovieClipUtils {
public static function setOnTopIfNotNull(_arg1:MovieClip):Boolean{
if (_arg1 == null){
return (false);
};
return (setOnTop(_arg1));
}
public static function setOnTop(_arg1:MovieClip):Boolean{
if ((((_arg1 == null)) || ((_arg1.parent == null)))){
trace("fatal error movieclip is null or is not attached to any parent");
return (false);
};
_arg1.parent.setChildIndex(_arg1, (_arg1.parent.numChildren - 1));
return (true);
}
public static function setVisible(_arg1:MovieClip, _arg2:Boolean){
_arg1.visible = _arg2;
}
public static function setOnTopArrayIfNotNull(_arg1:Array){
if (_arg1 == null){
return;
};
var _local2:int;
while (_local2 < _arg1.length) {
setOnTopIfNotNull(_arg1[_local2]);
_local2++;
};
}
public static function clone(_arg1:DisplayObject, _arg2:Boolean=true){
var _local3:Class = (getDefinitionByName(getQualifiedClassName(_arg1)) as Class);
var _local4:DisplayObject = new (_local3);
return (_local4);
}
public static function createOn(_arg1, _arg2:MovieClip):DisplayObject{
var _local3:Class;
var _local4:DisplayObject;
if ((_arg1 is Class)){
_local3 = (_arg1 as Class);
_local4 = new (_local3);
_arg2.addChild(_local4);
return (_local4);
};
return (null);
}
public static function clipExists(_arg1:String){
var clipName = _arg1;
try {
getDefinitionByName(clipName);
} catch(error:Error) {
return (false);
};
return (true);
}
public static function getSymbolName(_arg1:MovieClip){
var _local2:String = getQualifiedClassName(_arg1);
var _local3:Array = _local2.split("::");
return (String(_local3[(_local3.length - 1)]));
}
public static function Apply(_arg1:Object, _arg2:Object){
var _local3:Array;
var _local4:Array;
var _local5:int;
var _local6:int;
var _local7:String;
if ((((_arg1 is Array)) && ((_arg2 is Array)))){
_local3 = (_arg2 as Array);
_local4 = (_arg1 as Array);
_local5 = Math.min(_local3.length, _local4.length);
_local6 = 0;
while (_local6 < _local5) {
Apply(_local4[_local6], _local3[_local6]);
_local6++;
};
} else {
for (_local7 in _arg2) {
if (_arg1[_local7] != null){
_arg1[_local7] = _arg2[_local7];
};
};
};
}
}
}//package Utils.MovieClips
Section 162
//BG1 (BG1)
package {
import flash.display.*;
public dynamic class BG1 extends Sprite {
}
}//package
Section 163
//BG2 (BG2)
package {
import flash.display.*;
public dynamic class BG2 extends Sprite {
}
}//package
Section 164
//BG3 (BG3)
package {
import flash.display.*;
public dynamic class BG3 extends Sprite {
}
}//package
Section 165
//BG5 (BG5)
package {
import flash.display.*;
public dynamic class BG5 extends MovieClip {
}
}//package
Section 166
//BG6 (BG6)
package {
import flash.display.*;
public dynamic class BG6 extends Sprite {
}
}//package
Section 167
//BoltExplosion (BoltExplosion)
package {
import flash.display.*;
public dynamic class BoltExplosion extends MovieClip {
}
}//package
Section 168
//Boss1Ray (Boss1Ray)
package {
import flash.display.*;
public dynamic class Boss1Ray extends MovieClip {
}
}//package
Section 169
//BossMusic (BossMusic)
package {
import flash.media.*;
public dynamic class BossMusic extends Sound {
}
}//package
Section 170
//BulletTimeSound (BulletTimeSound)
package {
import flash.media.*;
public dynamic class BulletTimeSound extends Sound {
}
}//package
Section 171
//Button_disabledSkin (Button_disabledSkin)
package {
import flash.display.*;
public dynamic class Button_disabledSkin extends MovieClip {
}
}//package
Section 172
//Button_downSkin (Button_downSkin)
package {
import flash.display.*;
public dynamic class Button_downSkin extends MovieClip {
}
}//package
Section 173
//Button_emphasizedSkin (Button_emphasizedSkin)
package {
import flash.display.*;
public dynamic class Button_emphasizedSkin extends MovieClip {
}
}//package
Section 174
//Button_overSkin (Button_overSkin)
package {
import flash.display.*;
public dynamic class Button_overSkin extends MovieClip {
}
}//package
Section 175
//Button_selectedDisabledSkin (Button_selectedDisabledSkin)
package {
import flash.display.*;
public dynamic class Button_selectedDisabledSkin extends MovieClip {
}
}//package
Section 176
//Button_selectedDownSkin (Button_selectedDownSkin)
package {
import flash.display.*;
public dynamic class Button_selectedDownSkin extends MovieClip {
}
}//package
Section 177
//Button_selectedOverSkin (Button_selectedOverSkin)
package {
import flash.display.*;
public dynamic class Button_selectedOverSkin extends MovieClip {
}
}//package
Section 178
//Button_selectedUpSkin (Button_selectedUpSkin)
package {
import flash.display.*;
public dynamic class Button_selectedUpSkin extends MovieClip {
}
}//package
Section 179
//Button_upSkin (Button_upSkin)
package {
import flash.display.*;
public dynamic class Button_upSkin extends MovieClip {
}
}//package
Section 180
//DeadEnemiesMask (DeadEnemiesMask)
package {
import flash.display.*;
public dynamic class DeadEnemiesMask extends Sprite {
}
}//package
Section 181
//DefaultShadow (DefaultShadow)
package {
import flash.display.*;
public dynamic class DefaultShadow extends MovieClip {
}
}//package
Section 182
//Defines (Defines)
package {
import data.*;
public class Defines {
public static var _game:Game = null;
public static var _document:Document = null;
public static var GAME_Y:Number = 30;
public static var BACKGROUND2_DEFAULT_Y:Number = 30;
public static var DEBUG_MODE:Boolean = false;
public static var SHOW_EFFECTS:Boolean = true;
public static var MOTION_BLUR:Object = {strength:0.5, quality:1};
public static var MOTION_BLUR2:Object = {strength:0.3, quality:1};
public static var GAME_QUALITY:int = 2;
public static var GAME_QUALITIES:Array = ["HIGH", "MEDIUM", "LOW"];
public static var TWEEN_BULLETS:Boolean = false;
public static var DEFAULT_CHAR_SPEED:Number = 5;
public static var DEFAULT_CHAR_HP:int = 400;
public static var DEFAULT_CHAR_Y:int = 450;
public static var MAX_LEVEL:int = 4;
public static var CHAR_LIMIT_X_LEFT:int = 20;
public static var CHAR_LIMIT_X_RIGHT:int = 800;
public static var CHAR_JUMP_HEIGHT:int = 120;
public static var CHAR_JUMP_DURATION:Number = 1;
public static var CHAR_DASH_DISTANCE:Number = 200;
public static var CHAR_DASH_DURATION:Number = 0.3;
public static var CHAR_DASH_DELAY:Number = 0.2;
public static var POWERUP_DURATION:Number = 15;
public static var PW_SUPERSPEED_FACTOR:Number = 2;
public static var PW_SUPERSHIELD_FACTOR:Number = 0.5;
public static var PW_SUPERDAMAGE_FACTOR:Number = 2;
public static var WEAPON_NAMES:Array = ["Bolt Gun", "Missile"];
public static var WEAPON_MOVE_SPEED:Array = [20, 15];
public static var WEAPON_COLDDOWN:Array = [0.13, 0.7];
public static var QUAKE_DEFAULT_STRENGTH:Number = 20;
public static var SLOW_MOTION_SPEED:Number = 0.2;
public static var FINISH_LEVEL_TIME:Number = 5;
public static var PREMIUM_CURRENCY:String = "GamerGold";
public static var AWARD_NAMES:Array = [TEXT.$(40), TEXT.$(41), TEXT.$(42), TEXT.$(43), TEXT.$(44)];
public static var AWARD_PRIZES:Array = [0, 40, 90, 150, 220];
public static var TROPHY_PRIZES:Array = [50, 150, 250, 420, 650];
public static var AWARD_REQUERIMENTS:Array = [92, 84, 72, 60];
public static var radiansToDegrees:Number = 57.2957795130823;
public static var degreesToRadians:Number = 0.0174532925199433;
public static var CPMSTAR_Preloader_ID:String = "772Q2FD9F961";
public static var CPMSTAR_Interlevel_ID:String = "773Q728610FC";
}
}//package
Section 183
//Document (Document)
package {
import mochi.as3.*;
import inventory.*;
import flash.display.*;
import flash.events.*;
import data.*;
import flash.text.*;
import spill.localisation.*;
import com.greensock.*;
import com.spilgames.api.*;
import plugins.*;
import com.greensock.easing.*;
import cerebral.utils.*;
import Utils.MovieClips.*;
import com.greensock.plugins.*;
import flash.net.*;
import controls.*;
public dynamic class Document extends MovieClip {
public var btnMenu4:smallButton;
public var survival5:TextField;
public var btnPlay3:smallButton;
public var txtScore1:TextField;
public var trophy:TrophyIcon;
public var txtScore:TextField;
public var gui:MovieClip;
public var btnBossRush:smallButton;
public var levelFailedGUI:MovieClip;
public var powerupsClip:MovieClip;
public var btnCampaign:smallButton;
public var titleCampaign:TextField;
public var txtLock:TextField;
public var btnMenu3:smallButton;
public var btn_moregamesat4:BrandingLogo;
public var btnLang:smallButton;
public var blackLayer:MovieClip;
public var gameLogo:MovieClip;
public var survival1:TextField;
public var survival2:TextField;
public var optionsGUI:MovieClip;
public var btnMore:smallButton;
public var survival3:TextField;
public var equals:MovieClip;
public var crystalIcon:MovieClip;
public var lang_en:SimpleButton;
public var btnInventory4:smallButton;
public var pauseMenu:MovieClip;
public var btnSurvival:smallButton;
public var logoCerebral:MovieClip;
public var btnStart:smallButton;
public var txtCrystals:TextField;
public var collectedCrystals:MovieClip;
public var btn_moregamesat3:BrandingLogo;
public var menuChar:MovieClip;
public var langs:LanguageSelectBox;
public var bossrush1:TextField;
public var btnInventory2:smallButton;
public var levelComplete:levelCompleteGUI;
public var btn_moregamesat2:BrandingLogo;
public var bossrush2:TextField;
public var btnInventory3:smallButton;
public var levels:MovieClip;
public var scene:MovieClip;
public var bossrush3:TextField;
public var txtBonus2:TextField;
public var bgEnd:MovieClip;
public var preparing:MovieClip;
public var inventoryWindow:MovieClip;
public var btnMenu:smallButton;
public var txtBonus1:TextField;
public var btn_moregamesat:BrandingLogo;
public var bandera:LangSelect;
public var lang_es:SimpleButton;
public var btnPlay4:smallButton;
public var intro:MovieClip;
public var soundButton:muteButton;
public var loading:MovieClip;
public var btnPlay:SimpleButton;
public var survival4:TextField;
public var btnPlay2:smallButton;
public var txtScore2:TextField;
public var equals2:MovieClip;
public var hurtMC:MovieClip;
public var largo:int;
public var alto:int;
public var banderas:Array;
public var k:int;
public var languaj:MovieClip;
public var badges:Array;
public var medals:Array;
public var i:int;
public var medal:MovieClip;
public var stats:Stats;
public var saveSlot:GameStats;
public var weaponSlotClips:Array;
public var mainMusic:ESound;
public var bulletTimeSound:ESound;
public var savedAtLeastOnce:Boolean;// = false
public var buyConfirm:BuyConfirm;
public var crystalsControl:MovieClip;
public var inv:Inventory;
public var tempClip:MovieClip;
public var tempNumber:int;
var levelCompleteWindow:MovieClip;
public var saver:SaveManager;
var ad:DisplayObject;
public var language:String;// = "es-MX"
var _spilGamesServices:SpilGamesServices;
public function Document(){
var _local1:InventoryWeaponSlot;
inv = new Inventory();
super();
addFrameScript(0, frame1, 8, frame9, 19, frame20, 29, frame30, 39, frame40, 49, frame50, 59, frame60, 70, frame71, 83, frame84, 94, frame95, 104, frame105, 114, frame115);
Defines._document = this;
tabChildren = false;
tabEnabled = false;
TweenPlugin.activate([FrameLabelPlugin, VisiblePlugin, EndArrayPlugin, VolumePlugin, MotionBlurPlugin, TintPlugin, ColorMatrixFilterPlugin, BezierThroughPlugin, FramePlugin, Physics2DPlugin, DynamicPropsPlugin, GlowFilterPlugin, BezierPlugin, AutoAlphaPlugin, PhysicsPropsPlugin, RemoveTintPlugin, BlurFilterPlugin, TypewriterPlugin]);
addEventListener(Event.ADDED_TO_STAGE, init);
saveSlot = new GameStats();
saver = new SharedObjectSaver();
(saver as SharedObjectSaver).initData();
saver.init();
saver.loadData();
weaponSlotClips = new Array();
_local1 = new InventoryWeaponSlot();
_local1.x = 32;
_local1.y = 288;
_local1.name = "weapon1";
weaponSlotClips.push(_local1);
_local1 = new InventoryWeaponSlot();
_local1.x = 180;
_local1.y = 288;
_local1.name = "weapon2";
weaponSlotClips.push(_local1);
_local1 = new InventoryWeaponSlot();
_local1.x = 82;
_local1.y = 95;
_local1.name = "weapon3";
weaponSlotClips.push(_local1);
_local1 = new InventoryWeaponSlot();
_local1.x = 220;
_local1.y = 94;
_local1.name = "weapon4";
weaponSlotClips.push(_local1);
_local1 = new InventoryWeaponSlot();
_local1.x = 83;
_local1.y = 110;
_local1.name = "module5";
weaponSlotClips.push(_local1);
_local1 = new InventoryWeaponSlot();
_local1.x = 237;
_local1.y = 113;
_local1.name = "module6";
weaponSlotClips.push(_local1);
_local1 = new InventoryWeaponSlot();
_local1.x = 156;
_local1.y = 1171;
_local1.name = "module7";
weaponSlotClips.push(_local1);
buyConfirm = new BuyConfirm();
stage.showDefaultContextMenu = false;
_spilGamesServices = SpilGamesServices.getInstance();
_spilGamesServices.addEventListener("servicesReady", onServicesReady);
_spilGamesServices.addEventListener("servicesFailed", onServicesFailed);
_spilGamesServices.connect(this, "9dcbd33cfd5b1719f873c43f92df4d35");
}
public function PL_LOADING(_arg1:ProgressEvent):void{
var _local2:Number = ((_arg1.bytesLoaded / _arg1.bytesTotal) * 100);
loading.bar.scaleX = (_local2 / 100);
if (_local2 >= 100){
exitLoader();
};
}
public function exitLoader(){
TweenLite.to(gameLogo, 1, {alpha:1, onComplete:gotoLang, delay:0.3});
TweenLite.to(loading, 1, {alpha:0});
}
public function gotoGame(_arg1=null){
gotoAndPlay("game");
}
public function gotoCampaign(_arg1=null){
if (Defines._document.saveSlot.levelScores[0] <= 0){
gotoAndStop("intro");
} else {
gotoAndStop("levelSelect");
};
}
public function gotoLevels(_arg1=null){
gotoAndStop("levelSelect");
}
public function gotoInventory(_arg1=null){
gotoAndStop("inventory");
}
public function gotoLang(_arg1=null){
gotoAndStop("language");
}
public function gotoSurvival(_arg1=null){
gotoAndStop("survivalIntro");
}
public function gotoRush(_arg1=null){
gotoAndStop("bossrushIntro");
}
public function gotoDebugLevel(_arg1=null){
Defines._document.saveSlot.currentLevelNumber.setValue(-5);
gotoAndStop("game");
}
public function gotoMain(_arg1=null){
gotoAndPlay("mainMenu");
}
public function handle_btnMoreGames(_arg1:MouseEvent):void{
navigateToURL(new URLRequest(SpilGame.getMoreGamesLink("Mainscreen")), "_blank");
}
public function langClicked(_arg1:MouseEvent){
var _local2:MovieClip = (_arg1.target as MovieClip);
setLanguage(_local2.language);
_local2["fondo"].visible = true;
}
public function setLanguage(_arg1:String){
var _local2:int;
while (_local2 < (bandera.totalFrames - 1)) {
banderas[_local2]["fondo"].visible = false;
_local2++;
};
TEXT.language = _arg1;
btnLang.text = TEXT.$(24);
}
public function exitLangs(_arg1:MouseEvent){
var _local2:int;
while (_local2 < (bandera.totalFrames - 1)) {
removeChild(banderas[_local2]);
_local2++;
};
TweenLite.killDelayedCallsTo(checkLanguage);
gotoMain();
}
public function checkLanguage(_arg1=null){
if (SpilGame.currentLanguage.name != null){
setLanguage(SpilGame.currentLanguage.name);
};
TweenLite.delayedCall(0.3, checkLanguage);
}
public function handle_btnMoreGames3(_arg1:MouseEvent):void{
navigateToURL(new URLRequest(SpilGame.getMoreGamesLink("Mainscreen")), "_blank");
}
public function exitInventory(_arg1:MouseEvent){
btnPlay.visible = false;
gotoLevels();
}
public function handle_btnMoreGames2(_arg1:MouseEvent):void{
navigateToURL(new URLRequest(SpilGame.getMoreGamesLink("Mainscreen")), "_blank");
}
public function clearScreen(_arg1=null){
var _local2:* = 0;
while (_local2 < badges.length) {
removeChild(medals[_local2]);
_local2++;
};
if (saveSlot.currentLevelNumber.value < 4){
saveSlot.currentLevelNumber.addValue(1);
};
TweenMax.killAll(false, true, true);
gotoLevels();
}
public function clearScreen2(_arg1=null){
killTweensLoco();
gotoSurvival();
}
public function killTweensLoco(){
TweenMax.killAll(false, true, true);
}
public function handle_btnMoreGames4(_arg1:MouseEvent):void{
navigateToURL(new URLRequest(SpilGame.getMoreGamesLink("Mainscreen")), "_blank");
}
public function exitLevelSelector(_arg1:MouseEvent){
levels.removeEventListener(Event.ENTER_FRAME, scrollLevels);
btnInventory2.removeEventListener(Event.ENTER_FRAME, exitLevelSelector);
btnStart.removeEventListener(Event.ENTER_FRAME, exitLevelSelector);
btnMenu.removeEventListener(Event.ENTER_FRAME, exitLevelSelector);
btnStart.visible = false;
btnInventory2.visible = false;
btnMenu.visible = false;
if (_arg1.target.name == "btnStart"){
TweenLite.delayedCall(0.1, gotoGame);
} else {
if (_arg1.target.name == "btnInventory2"){
TweenLite.delayedCall(0.1, gotoInventory);
} else {
if (_arg1.target.name == "btnMenu"){
TweenLite.delayedCall(0.1, gotoMain);
};
};
};
}
public function scrollLevels(_arg1:Event){
var _local2:Number;
if ((((stage.mouseY > 100)) && ((stage.mouseY < 345)))){
_local2 = ((-(stage.mouseX) * 1.5) + 100);
if (_local2 > -95){
_local2 = 50;
} else {
if (_local2 < -780){
_local2 = -780;
};
};
TweenLite.to(levels, 0.5, {x:_local2});
};
}
public function exitSurvivalIntro(_arg1:MouseEvent){
btnPlay3.removeEventListener(Event.ENTER_FRAME, exitSurvivalIntro);
btnInventory3.removeEventListener(Event.ENTER_FRAME, exitSurvivalIntro);
btnMenu3.removeEventListener(Event.ENTER_FRAME, exitSurvivalIntro);
btnPlay3.visible = false;
btnInventory3.visible = false;
btnMenu3.visible = false;
if (_arg1.target.name == "btnPlay3"){
Defines._document.saveSlot.currentLevelNumber.setValue(-1);
TweenLite.delayedCall(0.1, gotoGame);
} else {
if (_arg1.target.name == "btnInventory3"){
TweenLite.delayedCall(0.1, gotoInventory);
} else {
if (_arg1.target.name == "btnMenu3"){
TweenLite.delayedCall(0.1, gotoMain);
};
};
};
}
public function exitBossrushIntro(_arg1:MouseEvent){
btnPlay4.removeEventListener(Event.ENTER_FRAME, exitBossrushIntro);
btnInventory4.removeEventListener(Event.ENTER_FRAME, exitBossrushIntro);
btnMenu4.removeEventListener(Event.ENTER_FRAME, exitBossrushIntro);
btnPlay4.visible = false;
btnInventory4.visible = false;
btnMenu4.visible = false;
if (_arg1.target.name == "btnPlay4"){
Defines._document.saveSlot.currentLevelNumber.setValue(-2);
TweenLite.delayedCall(0.1, gotoGame);
} else {
if (_arg1.target.name == "btnInventory4"){
TweenLite.delayedCall(0.1, gotoInventory);
} else {
if (_arg1.target.name == "btnMenu4"){
TweenLite.delayedCall(0.1, gotoMain);
};
};
};
}
function onServicesReady(_arg1:Event):void{
trace("SERVICES READY");
trace(_spilGamesServices.isDomainAllowed());
}
function onServicesFailed(_arg1:Event):void{
trace("Submitter failed to load");
trace(_spilGamesServices.isDomainAllowed());
}
public function createWeaponSlots(_arg1:MovieClip){
_arg1.addChild(weaponSlotClips[0]);
_arg1.addChild(weaponSlotClips[1]);
_arg1.addChild(weaponSlotClips[2]);
_arg1.addChild(weaponSlotClips[3]);
_arg1.addChild(weaponSlotClips[4]);
_arg1.addChild(weaponSlotClips[5]);
_arg1.addChild(weaponSlotClips[6]);
}
public function clearWeaponSlots(){
weaponSlotClips[0].parent.removeChild(weaponSlotClips[0]);
weaponSlotClips[1].parent.removeChild(weaponSlotClips[1]);
weaponSlotClips[2].parent.removeChild(weaponSlotClips[2]);
weaponSlotClips[3].parent.removeChild(weaponSlotClips[3]);
weaponSlotClips[4].parent.removeChild(weaponSlotClips[4]);
weaponSlotClips[5].parent.removeChild(weaponSlotClips[5]);
weaponSlotClips[6].parent.removeChild(weaponSlotClips[6]);
}
public function playMusic(_arg1:Class, _arg2:Number=1, _arg3:int=100, _arg4:Boolean=false){
if (mainMusic != null){
ESound.RemoveSound(mainMusic);
mainMusic = null;
};
if (!_arg4){
mainMusic = ESound.NewESound(_arg1, _arg2, 0, _arg3);
} else {
mainMusic = ESound.NewESound(_arg1, 0, 0, _arg3);
};
mainMusic.StartSound();
if (_arg4){
TweenLite.to(mainMusic.m_SoundChannel, 1, {volume:_arg2});
};
}
public function playBulletTimeSound(){
if (mainMusic != null){
TweenLite.to(mainMusic.m_SoundChannel, 0.1, {volume:0.2});
};
bulletTimeSound = ESound.NewESound(BulletTimeSound, 1.3);
bulletTimeSound.StartSound();
}
public function stopBulletTimeSound(){
if (mainMusic != null){
TweenLite.to(mainMusic.m_SoundChannel, 1, {volume:1});
};
if (bulletTimeSound != null){
ESound.RemoveSound(bulletTimeSound);
bulletTimeSound = null;
};
}
public function substractCrystals(_arg1:int):Boolean{
var amount = _arg1;
if ((saveSlot.collectedCrystals.value - amount) < 0){
return (false);
};
saveSlot.collectedCrystals.addValue(-(amount));
try {
updateCrystals();
} catch(err:Error) {
trace("can't update crystals");
};
return (true);
}
public function giveCrystals(_arg1:uint){
saveSlot.collectedCrystals.addValue(_arg1);
updateCrystals();
}
public function updateCrystals(){
numStepper.setNumber(crystalsControl["txtCrystals"], NumberUtils.unformatNumber(crystalsControl["txtCrystals"].text), saveSlot.collectedCrystals.value, 1, 0, true);
}
public function showCrystals(){
if (crystalsControl != null){
crystalsControl["txtCrystals"].text = NumberUtils.formatNumber(saveSlot.collectedCrystals.value);
};
}
public function playSound(_arg1:Class, _arg2:Number=1){
var _local3:ESound = ESound.NewESound(_arg1, _arg2);
_local3.StartSound();
}
public function stopMusic(){
if (mainMusic != null){
ESound.RemoveSound(mainMusic);
mainMusic = null;
};
}
function init(_arg1=null){
removeEventListener(Event.ADDED_TO_STAGE, init);
}
public function showGameGUI(){
TweenLite.to(this["gui"], 1.5, {y:94, easing:Strong.easeOut});
}
public function hideGameGUI(){
TweenLite.to(this["gui"], 1.5, {y:200, easing:Strong.easeIn});
}
public function showLevelCompleteGUI(_arg1:int, _arg2:int, _arg3:int, _arg4:uint){
levelCompleteWindow = (MovieClipUtils.createOn(levelCompleteGUI, this) as MovieClip);
levelCompleteWindow.x = -800;
levelCompleteWindow.y = 27;
levelCompleteWindow.name = "levelComplete";
setChildIndex(this["inventoryWindow"], (numChildren - 1));
TweenLite.to(levelCompleteWindow, 0.5, {x:40, easing:Strong.easeOut});
levelCompleteWindow.visible = true;
levelCompleteWindow["btnContinue"].visible = false;
levelCompleteWindow["btnInventory"].visible = false;
levelCompleteWindow["txtAward"].text = "";
levelCompleteWindow["txtCrystals"].text = "";
levelCompleteWindow["txtDamageMade"].text = "0";
levelCompleteWindow["txtDamageTaken"].text = "0";
levelCompleteWindow["txtBulletTime"].text = "0";
levelCompleteWindow["txtStageScore"].text = "0";
var _local5 = 3;
if (_arg2 > 0){
_local5++;
};
if (_arg3 > 0){
_local5++;
};
var _local6:int = ((_arg1 - _arg2) - _arg3);
if (_local6 < 0){
_local6 = 0;
};
numStepper.setNumber(levelCompleteWindow["txtDamageMade"], 0, _arg1, 1, 1, true);
numStepper.setNumber(levelCompleteWindow["txtDamageTaken"], 0, -(_arg2), 1, 2, true);
numStepper.setNumber(levelCompleteWindow["txtBulletTime"], 0, -(_arg3), 1, ((_local5)==3) ? 2 : 3, true);
numStepper.setNumber(levelCompleteWindow["txtStageScore"], 0, _local6, 1, (_local5 - 1), true);
levelCompleteWindow["badge"].visible = false;
TweenLite.delayedCall((_local5 + 1), showPrizeBadge, [_arg4, levelCompleteWindow]);
playMusic(MusicEndLevel, 1, 0);
TweenLite.delayedCall(5, playMusic, [MusicMenu, 1, 100, true]);
}
public function showPrizeBadge(_arg1:uint, _arg2:MovieClip){
_arg2["badge"].visible = true;
_arg2["badge"].scaleX = (_arg2["badge"].scaleY = 1.5);
_arg2["badge"].gotoAndStop(_arg1);
TweenLite.to(_arg2["badge"], 0.3, {scaleX:1, scaleY:1});
TweenLite.delayedCall(0.2, setTextFieldValue, [_arg2["txtAward"], (Defines.AWARD_NAMES[(_arg1 - 1)] as String).toUpperCase()]);
trace("MEDAL ", Defines.AWARD_NAMES[(_arg1 - 1)]);
if (_arg1 > 1){
TweenLite.delayedCall(1, setTextFieldValue, [_arg2["txtCrystals"], ((NumberUtils.formatNumber(Defines.AWARD_PRIZES[(_arg1 - 1)]) + " ") + TEXT.$(45))]);
TweenLite.delayedCall(1, Defines._game.giveCrystals, [Defines.AWARD_PRIZES[(_arg1 - 1)]]);
};
}
public function setTextFieldValue(_arg1:TextField, _arg2:String){
_arg1.text = _arg2;
}
public function hideLevelCompleteGUI(){
TweenLite.to(levelCompleteWindow, 0.5, {x:-700, easing:Strong.easeIn, onComplete:removeLevelCompleteGUI});
}
public function removeLevelCompleteGUI(){
removeChild(levelCompleteWindow);
levelCompleteWindow = null;
}
public function showContinueButton(){
levelCompleteWindow["btnContinue"].visible = true;
levelCompleteWindow["btnInventory"].visible = true;
}
public function showPauseMenu(){
TweenLite.to(this["pauseMenu"], 0.1, {autoAlpha:1});
}
public function hidePauseMenu(){
this["pauseMenu"].visible = false;
this["pauseMenu"].alpha = 0;
}
public function showOptions(){
this["optionsGUI"].visible = true;
}
public function hideOptions(_arg1=null){
this["optionsGUI"].visible = false;
}
function frame1(){
Languages.initialize();
SpilGame.initialize("no_more_aliens", PortalGroup.TEENS, "no_more_aliens.html", this, true);
blackLayer.visible = false;
blackLayer.alpha = 0;
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, PL_LOADING);
loading.bar.scaleX = 0;
stop();
}
function frame9(){
gotoLang();
}
function frame20(){
btn_moregamesat.buttonMode = true;
btn_moregamesat.mouseEnabled = true;
btn_moregamesat.addEventListener(MouseEvent.CLICK, handle_btnMoreGames);
btnLang.addEventListener(MouseEvent.CLICK, exitLangs);
largo = 0;
alto = 0;
banderas = new Array();
k = 0;
while (k < (bandera.totalFrames - 1)) {
languaj = (MovieClipUtils.createOn(LangSelect, this) as MovieClip);
languaj.y = (150 + (alto * 50));
languaj.x = (-1000 + (largo * 40));
languaj.gotoAndStop((k + 1));
languaj["fondo"].visible = false;
languaj.buttonMode = true;
languaj.mouseChildren = false;
languaj.addEventListener(MouseEvent.CLICK, langClicked);
banderas.push(languaj);
largo++;
if (largo > 3){
largo = 0;
alto++;
};
k++;
};
setLanguage("en-US");
banderas[0]["fondo"].visible = true;
stop();
checkLanguage();
}
function frame30(){
stop();
if (Defines._document.saveSlot.levelScores[0] <= 0){
btnSurvival.locked = true;
};
if (Defines._document.saveSlot.levelScores[4] <= 0){
btnBossRush.locked = true;
};
btnCampaign.text = TEXT.$(7);
btnSurvival.text = TEXT.$(8);
btnBossRush.text = TEXT.$(9);
btnMore.text = TEXT.$(10);
blackLayer.visible = false;
btnCampaign.addEventListener(MouseEvent.CLICK, gotoCampaign);
btnSurvival.addEventListener(MouseEvent.CLICK, gotoSurvival);
btnBossRush.addEventListener(MouseEvent.CLICK, gotoRush);
btnMore.addEventListener(MouseEvent.CLICK, function (_arg1=null){
navigateToURL(new URLRequest(SpilGame.getMoreGamesLink("Mainscreen")), "_blank");
});
logoCerebral.addEventListener(MouseEvent.CLICK, function (_arg1=null){
navigateToURL(new URLRequest("http://cerebralgames.com/?from=nma"), "_blank");
});
logoCerebral.buttonMode = true;
logoCerebral.mouseEnabled = true;
btn_moregamesat3.buttonMode = true;
btn_moregamesat3.mouseEnabled = true;
btn_moregamesat3.addEventListener(MouseEvent.CLICK, handle_btnMoreGames3);
playMusic(MusicMenu);
inventoryWindow.visible = false;
TweenLite.from(btnCampaign, 0.8, {x:850, delay:0.3, ease:Strong.easeOut});
TweenLite.from(btnSurvival, 0.8, {x:850, delay:0.4, ease:Strong.easeOut});
TweenLite.from(btnBossRush, 0.8, {x:850, delay:0.5, ease:Strong.easeOut});
TweenLite.from(btnMore, 0.8, {x:850, delay:0.6, ease:Strong.easeOut});
TweenLite.from(menuChar, 1, {x:-500, delay:0.2});
trace("AWARDS!", TEXT.$(40), TEXT.$(41), TEXT.$(42), TEXT.$(43), TEXT.$(44));
Defines.AWARD_NAMES = [TEXT.$(40), TEXT.$(41), TEXT.$(42), TEXT.$(43), TEXT.$(44)];
}
function frame40(){
stop();
playMusic(IntroMusic);
}
function frame50(){
stop();
btnPlay.addEventListener(MouseEvent.CLICK, exitInventory);
btnPlay.visible = true;
blackLayer.visible = false;
crystalsControl = collectedCrystals;
showCrystals();
inventoryWindow.visible = true;
inventoryWindow.showInventory();
}
function frame60(){
stop();
gui.hpbar.setTint(0xCC00);
gui.hpbar["txtName"].text = TEXT.$(76).toUpperCase();
gui.bulletbar.setTint(0xFFFF);
gui.bulletbar["txtName"].text = TEXT.$(31).toUpperCase().substr(0, (TEXT.$(31).length - 1));
gui.bossbar.setTint(0xCC0000);
gui.bossbar.visible = false;
gui.bossbar.alpha = 0.7;
gui.bossbar["txtName"].text = TEXT.$(77).toUpperCase();
hurtMC.alpha = 0;
hurtMC.mouseEnabled = false;
hurtMC.mouseChildren = false;
hidePauseMenu();
hideOptions();
levelFailedGUI.visible = false;
inventoryWindow.visible = false;
blackLayer.visible = false;
txtScore.visible = false;
Defines._document.inv.cameFrom = "";
}
function frame71(){
btn_moregamesat2.buttonMode = true;
btn_moregamesat2.mouseEnabled = true;
btn_moregamesat2.addEventListener(MouseEvent.CLICK, handle_btnMoreGames2);
btnPlay2.text = TEXT.$(24);
stop();
if (saveSlot.currentLevelNumber.value == 0){
AwardsService.submitAward("award1");
} else {
if (saveSlot.currentLevelNumber.value == 4){
AwardsService.submitAward("award3");
};
};
trace("----TROPHY----", saveSlot.levelTrophies[saveSlot.currentLevelNumber.value]);
if (saveSlot.levelTrophies[saveSlot.currentLevelNumber.value] == 5){
trace("----AWARD 2!!!!----");
AwardsService.submitAward("award2");
};
if ((((((((((saveSlot.levelTrophies[0] == 4)) && ((saveSlot.levelTrophies[1] == 4)))) && ((saveSlot.levelTrophies[2] == 4)))) && ((saveSlot.levelTrophies[3] == 4)))) && ((saveSlot.levelTrophies[4] == 4)))){
AwardsService.submitAward("award5");
};
btnPlay2.addEventListener(MouseEvent.CLICK, clearScreen);
TweenLite.from(btnPlay2, 1, {autoAlpha:0, delay:10});
TweenLite.from(bgEnd, 0.5, {x:800, delay:1});
trace(("scores " + saveSlot.levelScores));
trace(("trophy " + saveSlot.levelTrophies));
trace(("badges " + saveSlot.levelBadges[saveSlot.currentLevelNumber.value]));
badges = saveSlot.levelBadges[saveSlot.currentLevelNumber.value];
medals = new Array();
levelComplete.visible = false;
trophy.visible = false;
equals.visible = false;
equals2.visible = false;
txtBonus1.visible = false;
txtBonus2.visible = false;
txtScore1.visible = false;
txtScore2.visible = false;
trophy.alpha = 0;
equals.alpha = 0;
Defines._game.giveCrystals(0);
i = 0;
i = 0;
while (i < badges.length) {
medal = (MovieClipUtils.createOn(MedalIcon, this) as MovieClip);
medal.y = 190;
medal.x = ((i * 70) + 70);
medal.visible = false;
medal.gotoAndStop(badges[i]);
TweenLite.to(medal, 0.1, {autoAlpha:1, delay:((i * 0.6) + 2)});
medals.push(medal);
i++;
};
equals.x = ((i * 70) + 40);
trophy.x = ((i * 70) + 140);
equals2.x = ((i * 70) + 200);
txtBonus1.x = (txtBonus2.x = ((i * 70) + 200));
trophy.gotoAndStop(saveSlot.levelTrophies[saveSlot.currentLevelNumber.value]);
txtBonus1.text = Defines.TROPHY_PRIZES[(saveSlot.levelTrophies[saveSlot.currentLevelNumber.value] - 1)];
TweenLite.to(equals, 0.1, {autoAlpha:1, delay:((i * 0.5) + 2.5)});
TweenLite.to(trophy, 0.1, {autoAlpha:1, delay:((i * 0.5) + 5)});
TweenMax.allTo([equals2, txtBonus1, txtBonus2], 0.1, {autoAlpha:1, delay:((i * 0.5) + 6)});
TweenLite.delayedCall(((i * 0.5) + 6), Defines._game.giveCrystals, [Defines.TROPHY_PRIZES[(saveSlot.levelTrophies[saveSlot.currentLevelNumber.value] - 1)]]);
TweenMax.allTo([txtScore1, txtScore2], 0.1, {autoAlpha:1, delay:((i * 0.5) + 7)});
numStepper.setNumber(txtScore2, 0, saveSlot.levelScores[saveSlot.currentLevelNumber.value], 2, ((i * 0.5) + 7), true);
saveSlot.totalScores = ((((saveSlot.levelScores[0] + saveSlot.levelScores[1]) + saveSlot.levelScores[2]) + saveSlot.levelScores[3]) + saveSlot.levelScores[4]);
ScoreService.submitScore(saveSlot.totalScores);
}
function frame84(){
stop();
btnPlay2.addEventListener(MouseEvent.CLICK, clearScreen2);
btnPlay2.text = TEXT.$(24);
if (Defines._document.tempNumber >= 300000){
AwardsService.submitAward("award4");
};
TweenLite.from(btnPlay2, 1, {autoAlpha:0, delay:4});
TweenLite.from(bgEnd, 0.5, {x:800, delay:1});
levelComplete.visible = false;
txtScore1.visible = false;
txtScore2.visible = false;
TweenMax.allTo([txtScore1, txtScore2], 0.1, {autoAlpha:1, delay:0.5});
numStepper.setNumber(txtScore2, 0, Defines._document.tempNumber, 2, 1, true);
}
function frame95(){
TweenMax.killAll(false, true, true);
titleCampaign.text = TEXT.$(7);
btnStart.text = TEXT.$(3).toUpperCase();
btnInventory2.text = TEXT.$(33).toUpperCase();
btnMenu.text = TEXT.$(25).toUpperCase();
btnStart.addEventListener(MouseEvent.CLICK, exitLevelSelector);
btnInventory2.addEventListener(MouseEvent.CLICK, exitLevelSelector);
btnMenu.addEventListener(MouseEvent.CLICK, exitLevelSelector);
btn_moregamesat4.buttonMode = true;
btn_moregamesat4.mouseEnabled = true;
btn_moregamesat4.addEventListener(MouseEvent.CLICK, handle_btnMoreGames4);
playMusic(MusicMenu);
Defines._document.inv.cameFrom = "levelSelect";
if (Defines._document.saveSlot.levelScores[1] > 0){
levels.addEventListener(Event.ENTER_FRAME, scrollLevels);
};
}
function frame105(){
btnPlay3.addEventListener(MouseEvent.CLICK, exitSurvivalIntro);
btnInventory3.addEventListener(MouseEvent.CLICK, exitSurvivalIntro);
btnMenu3.addEventListener(MouseEvent.CLICK, exitSurvivalIntro);
if (Defines._document.saveSlot.levelScores[0] <= 0){
btnPlay3.locked = true;
btnPlay3.disable();
txtLock.text = TEXT.$(132).toUpperCase();
};
titleCampaign.text = TEXT.$(8).toUpperCase();
survival1.text = TEXT.$(46).toUpperCase();
survival2.text = TEXT.$(47).toUpperCase();
survival3.text = TEXT.$(48).toUpperCase();
survival4.text = TEXT.$(49).toUpperCase();
survival5.text = TEXT.$(50).toUpperCase();
Defines._document.inv.cameFrom = "survivalIntro";
btnPlay3.text = TEXT.$(3).toUpperCase();
btnInventory3.text = TEXT.$(33).toUpperCase();
btnMenu3.text = TEXT.$(25).toUpperCase();
}
function frame115(){
btnPlay4.addEventListener(MouseEvent.CLICK, exitBossrushIntro);
btnInventory4.addEventListener(MouseEvent.CLICK, exitBossrushIntro);
btnMenu4.addEventListener(MouseEvent.CLICK, exitBossrushIntro);
if (Defines._document.saveSlot.levelScores[4] <= 0){
btnPlay4.locked = true;
btnPlay4.disable();
txtLock.text = TEXT.$(133).toUpperCase();
} else {
btnPlay4.locked = false;
txtLock.text = "";
};
Defines._document.inv.cameFrom = "bossrushIntro";
btnPlay4.text = TEXT.$(3).toUpperCase();
btnInventory4.text = TEXT.$(33).toUpperCase();
btnMenu4.text = TEXT.$(25).toUpperCase();
titleCampaign.text = TEXT.$(9).toUpperCase();
bossrush1.text = TEXT.$(51).toUpperCase();
bossrush2.text = TEXT.$(52).toUpperCase();
bossrush3.text = TEXT.$(53).toUpperCase();
}
}
}//package
Section 184
//ESound (ESound)
package {
import flash.events.*;
import flash.media.*;
public class ESound {
public var m_Sound:Sound;
public var m_SoundChannel:SoundChannel;
public var m_volume:Number;
public var m_StartTime:Number;
public var m_Times:Number;
public var m_Persistent:Boolean;
public var m_SoundClass:Class;
public static var _game:Game;
public static var m_soundList:Array = new Array();
public static var m_muteVolumeFactor:Number = 1;
public static var m_soundVol:SoundTransform = new SoundTransform();
public static var muted:Boolean = false;
public function ESound(_arg1:Class, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Boolean){
m_SoundClass = _arg1;
m_Sound = new (_arg1);
m_volume = _arg2;
m_StartTime = _arg3;
m_Times = _arg4;
m_Persistent = _arg5;
}
public function StartSound(){
var Trans:SoundTransform = new SoundTransform(m_volume);
m_SoundChannel = m_Sound.play(m_StartTime, m_Times);
m_SoundChannel.soundTransform = Trans;
if (!m_Persistent){
with ({}) {
with ({}) {
!ERROR!.Remove = function (_arg1:Event=null){
ESound.RemoveSound(m_SoundChannel);
};
};
m_SoundChannel.addEventListener(Event.SOUND_COMPLETE, function (_arg1:Event=null){
ESound.RemoveSound(m_SoundChannel);
});
};
}
public static function NewESound(_arg1:Class, _arg2:Number=1, _arg3:Number=0, _arg4:Number=0, _arg5:Boolean=false):ESound{
var _local6:ESound;
if (_arg1 != null){
_local6 = new ESound(_arg1, _arg2, _arg3, _arg4, _arg5);
m_soundList.push(_local6);
return (_local6);
};
return (null);
}
public static function RemoveSound(_arg1){
var _local2:int;
var _local3:SoundChannel;
var _local4:ESound;
if ((_arg1 is SoundChannel)){
_local3 = (_arg1 as SoundChannel);
_local2 = 0;
while (_local2 < m_soundList.length) {
if (m_soundList[_local2].m_SoundChannel == _local3){
m_soundList[_local2].m_SoundChannel.stop();
m_soundList.splice(_local2, 1);
return;
};
_local2++;
};
} else {
if ((_arg1 is ESound)){
_local4 = (_arg1 as ESound);
_local2 = 0;
while (_local2 < m_soundList.length) {
if (m_soundList[_local2] == _local4){
m_soundList[_local2].m_SoundChannel.stop();
m_soundList.splice(_local2, 1);
return;
};
_local2++;
};
};
};
}
public static function Mute(_arg1:Event=null){
ESound.muted = true;
m_muteVolumeFactor = ((m_muteVolumeFactor)==1) ? 0 : 1;
m_soundVol.volume = m_muteVolumeFactor;
SoundMixer.soundTransform = m_soundVol;
if (m_muteVolumeFactor == 1){
ESound.muted = false;
};
}
}
}//package
Section 185
//Explosion (Explosion)
package {
import flash.display.*;
public dynamic class Explosion extends MovieClip {
}
}//package
Section 186
//focusRectSkin (focusRectSkin)
package {
import flash.display.*;
public dynamic class focusRectSkin extends MovieClip {
}
}//package
Section 187
//Game (Game)
package {
import mochi.as3.*;
import flash.display.*;
import flash.events.*;
import data.*;
import Utils.Math.*;
import com.greensock.*;
import Actors.Projectiles.*;
import Actors.Enemies.*;
import cerebral.basicparticles2.*;
import Actors.*;
import Levels.*;
import com.greensock.easing.*;
import flash.utils.*;
import cerebral.utils.*;
import Utils.MovieClips.*;
import Utils.Keyboard.*;
import Utils.Array.*;
import flash.ui.*;
public class Game extends MovieClip {
public var background:MovieClip;
public var miraMC:MovieClip;
public var dummytarget1:MovieClip;
public var dummytarget0:MovieClip;
public var dummytarget3:MovieClip;
public var dummytarget2:MovieClip;
public var heroMC:Character;
public var hero:Character;
public var mira:MovieClip;
public var isPlaying:Boolean;// = true
public var isPaused:Boolean;// = false
public var levelInProgress:Boolean;// = false
public var slowMotion:Boolean;// = false
public var mouseIsDown:Boolean;// = false
public var keyIsDown:Boolean;// = false
public var spreadShot:Boolean;// = false
public var bullets:Array;
public var enemies:Array;
public var deadEnemies:Array;
public var enemyBullets:Array;
public var bulletMaxCredit:Number;// = 1000
public var bulletCredit:Number;
public var keyDashTween:TweenMax;
public var pauseTween1:TweenMax;
public var pauseTween2:TweenMax;
public var bulletTween:TweenMax;
public var keyTimePressed:Number;// = 1
public var keyTimeTween:TweenMax;
public var enableDashTween:TweenMax;
public var recoverHPTween:TweenLite;
public var lastPressedkey:int;// = 0
public var quaking:Boolean;// = false
public var quakeDist:Number;
public var quakeTween:TweenMax;
public var currentLevel:Level;
public var currentLevelNumber:int;
public var currentLevelStep:int;// = 0
public var survivalMode:Boolean;// = false
public var bossRushMode:Boolean;// = false
public var background2:Sprite;
public var deadsMask:Sprite;
public var frameCount:int;// = 0
public var timePassed:int;// = 0
public var lastTime:int;
public var tmpBulletTime:int;// = 0
public var levelDamageMade:MochiDigits;
public var levelDamageTaken:MochiDigits;
public var levelBulletUsed:MochiDigits;
public var levelEnemiesHP:MochiDigits;
public var levelCrystals:MochiDigits;
public var levelScore:MochiDigits;
public var levelTempScore:MochiDigits;
public var levelBadges:Array;
public var _mochiads_game_id:String;// = "2986304b1ef8f8d7"
public var lastShotTime:int;// = 0
var shotSound:ESound;
var gameTimer:Timer;
public function Game(){
Defines._game = this;
tabChildren = false;
tabEnabled = false;
parent.tabChildren = false;
this.addEventListener(Event.ADDED_TO_STAGE, init);
if (!Defines.SHOW_EFFECTS){
Defines.MOTION_BLUR = (Defines.MOTION_BLUR2 = false);
};
currentLevelNumber = Defines._document.saveSlot.currentLevelNumber.value;
levelDamageMade = new MochiDigits(0);
levelDamageTaken = new MochiDigits(0);
levelBulletUsed = new MochiDigits(0);
levelEnemiesHP = new MochiDigits(0);
levelCrystals = new MochiDigits(0);
levelScore = new MochiDigits(0);
levelTempScore = new MochiDigits(0);
levelBadges = new Array();
var _local1:ESound = ESound.NewESound(SndShotSmall, 1);
gameTimer = new Timer(15, 0);
gameTimer.addEventListener(TimerEvent.TIMER, update);
}
function init(_arg1=null){
Key.initialize(stage);
y = Defines.GAME_Y;
bulletCredit = bulletMaxCredit;
enemies = new Array();
deadEnemies = new Array();
bullets = new Array();
enemyBullets = new Array();
quaking = false;
hero = (this["heroMC"] as Character);
mira = (this["miraMC"] as MovieClip);
background2 = (parent["background2"] as MovieClip);
hero.init();
deadsMask = (MovieClipUtils.createOn(DeadEnemiesMask, this) as Sprite);
deadsMask.y = 99;
deadsMask.alpha = 0;
if (Defines.DEBUG_MODE){
Defines._document.addChild(new Stats());
};
if (Defines._document.saveSlot.currentLevelNumber.value == 0){
currentLevel = new Level1();
} else {
if (Defines._document.saveSlot.currentLevelNumber.value == 1){
currentLevel = new Level2();
} else {
if (Defines._document.saveSlot.currentLevelNumber.value == 2){
currentLevel = new Level3();
} else {
if (Defines._document.saveSlot.currentLevelNumber.value == 3){
currentLevel = new Level4();
} else {
if (Defines._document.saveSlot.currentLevelNumber.value == 4){
currentLevel = new Level5();
} else {
if (Defines._document.saveSlot.currentLevelNumber.value == -1){
currentLevel = new SurvivalLevel();
survivalMode = true;
} else {
if (Defines._document.saveSlot.currentLevelNumber.value == -2){
currentLevel = new BossRushLevel();
bossRushMode = true;
} else {
currentLevel = new DebugLevel();
};
};
};
};
};
};
};
TweenNano.delayedCall(0.1, levelReady);
currentLevelStep = 0;
trace("Game.init() B");
}
public function levelReady(){
var _local1:DisplayObject;
if (currentLevelStep == 0){
MovieClipUtils.createOn(currentLevel.backgroundClip, Defines._document["scene"]["background2"]);
_local1 = MovieClipUtils.createOn(currentLevel.foregroundClips[currentLevelStep], this["background"]);
_local1.y = ((stage.stageHeight - _local1.height) - 40);
_local1.name = "bg-0";
};
TweenNano.delayedCall(2, showLevelReady);
}
public function showLevelReady(){
Defines._document["preparing"]["btnStart"].visible = true;
}
public function startLevel(){
var _local1:DisplayObject;
var _local4:LevelStep;
Defines._document["preparing"].visible = false;
updateGUI();
if (survivalMode){
Defines._document["txtScore"].visible = true;
};
currentLevel.init(currentLevelStep);
hero.init();
var _local2:Number = 0;
var _local3:int;
while (_local3 < currentLevel.totalEnemies) {
_local4 = (currentLevel.steps[currentLevelStep] as LevelStep);
if (currentLevel.oldFormat){
_local2 = _local4.enemies[_local3][0];
} else {
_local2 = (_local2 + _local4.enemies[_local3][0]);
};
if (_local4.enemies[_local3][4] == null){
TweenMax.delayedCall(_local2, addEnemy, [_local4.enemies[_local3][1], _local4.enemies[_local3][2], _local4.enemies[_local3][3]]);
} else {
TweenMax.delayedCall(_local2, addEnemy, [_local4.enemies[_local3][1], _local4.enemies[_local3][2], _local4.enemies[_local3][3], _local4.enemies[_local3][4]]);
};
_local3++;
};
deadsMask.x = 0;
addEvents();
enemies = new Array();
bullets = new Array();
isPlaying = true;
levelInProgress = true;
hero.shotPosition();
hero.isEnabled = true;
Mouse.hide();
stage.quality = Defines.GAME_QUALITIES[(Defines.GAME_QUALITY - 1)];
frameCount = 0;
timePassed = 0;
levelDamageMade.setValue(0);
levelDamageTaken.setValue(0);
levelBulletUsed.setValue(0);
levelEnemiesHP.setValue(0);
if (currentLevelStep > 0){
_local1 = (this["background"] as MovieClip).removeChild((this["background"] as MovieClip).getChildByName(("bg-" + (currentLevelStep - 1))));
_local1.y = ((stage.stageHeight - _local1.height) - 40);
trace("AJUSTANDO FONDO", _local1.height, _local1.y);
};
stage.focus = this;
Defines._document.playMusic(MusicIngame, 0.5);
trace("Game.startLevel() B");
}
function recoverHP(){
if (hero.hpRecovery == 1){
hero.recoverHP(3);
} else {
if (hero.hpRecovery == 2){
hero.recoverHP(5);
};
};
recoverHPTween = TweenLite.delayedCall(1, recoverHP);
}
public function levelCompleted(){
if (hero.hp > 0){
if (slowMotion){
bulletTime();
};
levelInProgress = false;
TweenMax.delayedCall(Defines.FINISH_LEVEL_TIME, finishLevel);
TweenMax.delayedCall((Defines.FINISH_LEVEL_TIME - 1), hero.dance);
if (recoverHPTween != null){
recoverHPTween.kill();
};
removeBullets();
mouseIsDown = false;
this.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
};
}
public function finishLevel(){
var _local3:DisplayObject;
Defines._document.hideGameGUI();
levelTempScore.setValue(((levelDamageMade.value - (levelDamageTaken.value * 10)) - (levelBulletUsed.value * 3)));
var _local1:Number = ((levelTempScore.value * 100) / levelEnemiesHP.value);
var _local2:Number = 1;
if (_local1 > Defines.AWARD_REQUERIMENTS[0]){
_local2 = 5;
} else {
if (_local1 > Defines.AWARD_REQUERIMENTS[1]){
_local2 = 4;
} else {
if (_local1 > Defines.AWARD_REQUERIMENTS[2]){
_local2 = 3;
} else {
if (_local1 > Defines.AWARD_REQUERIMENTS[3]){
_local2 = 2;
};
};
};
};
if (Defines.DEBUG_MODE){
trace("PRIZE: ", ((levelEnemiesHP.value + " of ") + levelDamageMade.value), (_local1 + "%"), _local2);
};
levelBadges.push(_local2);
levelScore.addValue(levelTempScore.value);
TweenMax.delayedCall(0.5, Defines._document.showLevelCompleteGUI, [levelDamageMade.value, (levelDamageTaken.value * 10), (levelBulletUsed.value * 3), _local2]);
isPlaying = false;
removeEvents();
Mouse.show();
stage.quality = "HIGH";
if ((currentLevelStep + 1) < currentLevel.steps.length){
_local3 = MovieClipUtils.createOn(currentLevel.foregroundClips[(currentLevelStep + 1)], this["background"]);
_local3.x = (((currentLevelStep + 1) * 800) - 20);
_local3.y = ((stage.stageHeight - _local3.height) - 40);
_local3.name = ("bg-" + (currentLevelStep + 1));
TweenMax.to(this["background"], 8, {x:"-800", ease:Linear.easeInOut});
TweenMax.allTo(deadEnemies, 8, {x:"-800", ease:Linear.easeInOut});
TweenMax.to(deadsMask, 8, {x:"-800", ease:Linear.easeInOut});
};
Defines._document.saver.saveData();
TweenMax.delayedCall(8, Defines._document.showContinueButton);
}
public function continueToFinish(){
var _local1:Number;
var _local2:int;
if (!survivalMode){
Defines._document.saveSlot.levelScores[currentLevelNumber] = levelScore.value;
_local1 = 0;
_local2 = 0;
while (_local2 < levelBadges.length) {
_local1 = (_local1 + levelBadges[_local2]);
_local2++;
};
Defines._document.saveSlot.levelTrophies[currentLevelNumber] = Math.floor((_local1 / levelBadges.length));
Defines._document.saveSlot.levelBadges[currentLevelNumber] = levelBadges;
Defines._document.hideLevelCompleteGUI();
TweenMax.delayedCall(1, Defines._document.gotoAndPlay, ["levelCompleted"]);
} else {
Mouse.show();
Defines._document.tempNumber = levelDamageMade.value;
Defines._document["blackLayer"].alpha = 0;
TweenMax.to(Defines._document["blackLayer"], 1, {autoAlpha:1});
TweenMax.to(Defines._document["blackLayer"], 1, {autoAlpha:0, overwrite:false, delay:1.1});
TweenMax.delayedCall(1, Defines._document.gotoAndPlay, ["survivalComplete"]);
};
}
public function exitFailedGame(_arg1=null){
Defines._document["blackLayer"].alpha = 0;
TweenMax.killAll(false, true, true);
TweenMax.to(Defines._document["blackLayer"], 1, {autoAlpha:1});
TweenMax.delayedCall(1, Defines._document.gotoAndPlay, ["mainMenu"]);
}
public function failLevel(){
if (slowMotion){
bulletTime();
};
mouseIsDown = false;
levelInProgress = false;
removeEvents();
TweenMax.killDelayedCallsTo(addEnemy);
if (!survivalMode){
TweenMax.delayedCall(3.5, showFailedGUI);
} else {
TweenMax.delayedCall(3.5, continueToFinish);
};
}
public function showFailedGUI(){
Defines._document["levelFailedGUI"].visible = true;
Mouse.show();
}
public function retryLevel(){
removeEnemiesAndBullets();
Defines._document["levelFailedGUI"].visible = false;
hero.hp = Defines.DEFAULT_CHAR_HP;
Defines._document["gui"]["hpbar"].setProgress(hero.maxHp, hero.hp);
Defines._document.playMusic(MusicIngame, 0.5);
startLevel();
}
public function removeEnemiesAndBullets(){
TweenMax.killDelayedCallsTo(addEnemy);
var _local1:int;
while (_local1 < enemies.length) {
if (enemies[_local1] != null){
(enemies[_local1] as Enemy).destroy();
(enemies[_local1] as Enemy).totallyDelete();
};
_local1++;
};
_local1 = 0;
while (_local1 < deadEnemies.length) {
if (deadEnemies[_local1] != null){
(deadEnemies[_local1] as Enemy).destroy();
(deadEnemies[_local1] as Enemy).totallyDelete();
};
_local1++;
};
enemies = new Array();
deadEnemies = new Array();
removeBullets();
}
public function removeBullets(){
var _local1:int;
while (_local1 < enemyBullets.length) {
if (enemyBullets[_local1] != null){
if ((enemyBullets[_local1] is EnemyBomb)){
(enemyBullets[_local1] as EnemyBomb).notifyDie(true);
(enemyBullets[_local1] as EnemyBomb).remove();
};
try {
(enemyBullets[_local1] as EnemyBomb).parent.removeChild(enemyBullets[_local1]);
enemyBullets[_local1] = null;
} catch(e:Error) {
};
};
_local1++;
};
_local1 = 0;
while (_local1 < bullets.length) {
if (bullets[_local1] != null){
try {
removeChild(bullets[_local1]);
bullets[_local1] = null;
delete bullets[_local1];
} catch(e:Error) {
};
};
_local1++;
};
bullets = new Array();
enemyBullets = new Array();
}
public function nextLevel(){
if (currentLevelStep < (currentLevel.steps.length - 1)){
currentLevelStep++;
};
Defines._document.hideLevelCompleteGUI();
TweenMax.delayedCall(0.5, Defines._document.showGameGUI);
TweenMax.delayedCall(1, startLevel);
}
function addEvents(){
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, keyUp);
this.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
this.addEventListener(MouseEvent.MOUSE_UP, mouseUp);
gameTimer.start();
}
function removeEvents(){
stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyDown);
this.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
this.removeEventListener(MouseEvent.MOUSE_UP, mouseUp);
removeEventListener(Event.ENTER_FRAME, update);
}
public function addEnemy(_arg1:Class, _arg2:int=1, _arg3:int=1, _arg4:Object=null){
var _local5:* = MovieClipUtils.createOn(_arg1, this);
setChildIndex(hero, (numChildren - 1));
_local5.direction = _arg2;
_local5.level = _arg3;
_local5.props = _arg4;
_local5.initPosition();
_local5.init();
levelEnemiesHP.addValue(_local5.hp);
if ((_local5 as Enemy).isBoss){
Defines._document.stopMusic();
TweenNano.delayedCall(0.5, Defines._document.playSound, [SndAlarm, 0.3]);
TweenNano.delayedCall(0.5, Defines._document.playMusic, [BossMusic, 0.5]);
};
enemies.push(_local5);
}
public function removeEnemy(_arg1:Enemy){
enemies.slice(ArrayUtils.extractIndexFromArrayByValue(enemies, _arg1), 1);
_arg1.destroy();
removeChild(_arg1);
currentLevel.deletedEnemies++;
currentLevel.checkEnemies();
}
public function addPowerup(_arg1:int, _arg2:int, _arg3:int){
var _local4:* = (MovieClipUtils.createOn(Powerup, this) as MovieClip);
_local4.type = _arg1;
_local4.x = _arg2;
_local4.y = _arg3;
_local4.init();
}
public function addDeadMask(){
var _local1:Sprite = (MovieClipUtils.createOn(DeadEnemiesMask, this) as Sprite);
_local1.y = 99;
_local1.alpha = 0;
return (_local1);
}
public function addExplosion(_arg1:Number, _arg2:Number, _arg3:Number=0.7){
var _local4:MovieClip = (MovieClipUtils.createOn(Explosion, this) as MovieClip);
TweenMax.to(_local4, 0.4, {frame:_local4.totalFrames, ease:Linear.easeNone, onComplete:removeExplosion, onCompleteParams:[_local4]});
_local4.x = _arg1;
_local4.y = _arg2;
_local4.scaleX = _arg3;
_local4.scaleY = _arg3;
MovieClipUtils.setOnTop(hero);
var _local5:ESound = ESound.NewESound(SndExplosionSmall, 1);
_local5.StartSound();
}
public function addBoltExplosion(_arg1:Number, _arg2:Number, _arg3:Number=0.3){
var _local4:MovieClip = (MovieClipUtils.createOn(BoltExplosion, this) as MovieClip);
TweenMax.to(_local4, 0.3, {scaleX:(_arg3 * 3), scaleY:(_arg3 * 3), alpha:0, onComplete:removeExplosion, onCompleteParams:[_local4]});
_local4.x = _arg1;
_local4.y = _arg2;
_local4.scaleX = 0;
_local4.scaleY = 0;
}
public function addRedExplosion(_arg1:Number, _arg2:Number, _arg3:Number=0.3){
var _local4:MovieClip = (MovieClipUtils.createOn(RedExplosion, this) as MovieClip);
TweenMax.to(_local4, 0.2, {scaleX:(_arg3 * 3), scaleY:(_arg3 * 3), alpha:0.3, onComplete:removeExplosion, onCompleteParams:[_local4], ease:Back.easeOut});
_local4.x = _arg1;
_local4.y = _arg2;
_local4.scaleX = 0;
_local4.scaleY = 0;
}
public function addSmoke(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0.3){
var _local4:MovieClip;
if (Defines.SHOW_EFFECTS){
_local4 = (MovieClipUtils.createOn(SmokeParticle, this) as MovieClip);
Defines._game.addChild(_local4);
_local4.x = _arg1;
_local4.y = _arg2;
_local4.scaleX = _arg3;
_local4.scaleY = _arg3;
_local4.alpha = 0.5;
_local4.rotation = (Math.random() * 360);
TweenMax.to(_local4, 0.4, {alpha:0, scaleX:(_arg3 * 3), scaleY:(_arg3 * 3), onComplete:removeExplosion, onCompleteParams:[_local4]});
};
}
public function addCrystal(_arg1:Number, _arg2:Number, _arg3:uint=1){
var _local4:MovieClip;
if (!survivalMode){
_local4 = (MovieClipUtils.createOn(Crystal, this) as MovieClip);
_local4.x = _arg1;
_local4.y = _arg2;
addChild(_local4);
_local4.init(_arg3);
};
}
public function burstSmoke(_arg1:Number=300, _arg2:Number=350, _arg3:Number=0.4, _arg4:Number=0.6, _arg5:Number=100, _arg6:int=8){
var _local7:*;
if (Defines.SHOW_EFFECTS){
_local7 = new Burster();
_local7.clipClass = SmokeParticle;
_local7.x = _arg1;
_local7.y = _arg2;
_local7.minScale = _arg3;
_local7.maxScale = _arg4;
_local7.xRadius = 10;
_local7.xRandom = _arg5;
_local7.yRadius = 5;
_local7.yRandom = 15;
_local7.startScale = 0.25;
_local7.particleLife = 1;
_local7.particleCount = _arg6;
_local7.finalAlpha = 0;
addChild(_local7);
_local7.burst();
TweenMax.delayedCall((_local7.particleLife + 10), removeBurster, [_local7]);
};
}
function removeBurster(_arg1:Burster){
removeChild(_arg1);
_arg1 = null;
}
public function removeExplosion(_arg1:MovieClip){
removeChild(_arg1);
_arg1 = null;
}
public function showDamage(_arg1:Number=0.5){
Defines._document["hurtMC"].alpha = _arg1;
TweenMax.to(Defines._document["hurtMC"], (0.3 + _arg1), {alpha:0});
var _local2:ESound = ESound.NewESound(SndHurt, 1);
_local2.StartSound();
}
function update(_arg1=null){
var speedMultiplier:Number;
var angle:Number;
var angle2:int;
var dir:String;
var numBullets:int;
var numEnemies:int;
var i:int;
var numEnemyBullets:int;
var bangle:Number;
var b:MovieClip;
var j:int;
var collides:Boolean;
var hitSound:ESound;
var ev = _arg1;
try {
frameCount++;
keyIsDown = false;
hero.walking = false;
speedMultiplier = 1;
timePassed = (getTimer() - lastTime);
lastTime = (lastTime + timePassed);
if (slowMotion){
speedMultiplier = (Defines.SLOW_MOTION_SPEED * 2);
};
if (hero.superSpeed){
speedMultiplier = (speedMultiplier * Defines.PW_SUPERSPEED_FACTOR);
};
if (((((((((Key.isDown(Keyboard.LEFT)) || (Key.isDown(65)))) && (isPlaying))) && (!(isPaused)))) && (hero.isEnabled))){
hero.x = (hero.x - (Defines.DEFAULT_CHAR_SPEED * speedMultiplier));
hero.walking = true;
};
if (((((((((Key.isDown(Keyboard.RIGHT)) || (Key.isDown(68)))) && (isPlaying))) && (!(isPaused)))) && (hero.isEnabled))){
hero.x = (hero.x + (Defines.DEFAULT_CHAR_SPEED * speedMultiplier));
hero.walking = true;
};
if (hero.x > Defines.CHAR_LIMIT_X_RIGHT){
hero.x = Defines.CHAR_LIMIT_X_RIGHT;
};
if (hero.x < Defines.CHAR_LIMIT_X_LEFT){
hero.x = Defines.CHAR_LIMIT_X_LEFT;
};
if (((((((Key.isDown(Keyboard.RIGHT)) || (Key.isDown(68)))) || (Key.isDown(Keyboard.LEFT)))) || (Key.isDown(65)))){
keyIsDown = true;
};
angle = Math.atan2(((mouseY - hero.y) + 40), (mouseX - hero.x));
angle = (angle * Defines.radiansToDegrees);
if (hero.isEnabled){
hero["slot0"].rotation = (angle + 90);
hero["slot1"].rotation = (angle + 90);
hero["slot2"].rotation = (angle + 90);
hero["slot3"].rotation = (angle + 90);
};
angle2 = (int((angle / 45)) + 4);
dir = "U";
if (angle2 == 1){
dir = "UL";
} else {
if (angle2 == 2){
dir = "U";
} else {
if (angle2 == 3){
dir = "UR";
} else {
if (angle2 == 4){
dir = "R";
} else {
if (angle2 == 5){
dir = "BR";
} else {
if (angle2 == 6){
dir = "B";
} else {
if (angle2 == 7){
dir = "BL";
} else {
if ((((angle2 == 0)) || ((angle2 == 8)))){
dir = "L";
};
};
};
};
};
};
};
};
try {
hero["clip"]["legs"].scaleX = 1;
if ((((((dir == "UL")) || ((dir == "L")))) || ((dir == "BL")))){
hero["clip"]["torso"].scaleX = -1;
} else {
hero["clip"]["torso"].scaleX = 1;
};
if ((((dir == "UL")) || ((dir == "UR")))){
hero["clip"]["torso"].gotoAndStop(2);
} else {
if ((((dir == "L")) || ((dir == "R")))){
hero["clip"]["torso"].gotoAndStop(3);
} else {
if ((((dir == "BL")) || ((dir == "BR")))){
hero["clip"]["torso"].gotoAndStop(4);
} else {
if (dir == "B"){
hero["clip"]["torso"].gotoAndStop(5);
} else {
hero["clip"]["torso"].gotoAndStop(1);
};
};
};
};
if (hero.jumping){
hero["clip"]["legs"].gotoAndStop(2);
hero.legsPos = "jump";
} else {
if (hero.walking){
if (hero.legsPos != "walk"){
hero["clip"]["legs"].gotoAndStop(3);
hero.legsPos = "walk";
};
if (((Key.isDown(Keyboard.LEFT)) || (Key.isDown(65)))){
hero["clip"]["legs"].scaleX = -1;
};
} else {
hero["clip"]["legs"].gotoAndStop(1);
hero.legsPos = "stand";
};
};
} catch(e:Error) {
};
if (hero.jumping){
};
numBullets = bullets.length;
numEnemies = enemies.length;
i = 0;
while (i < numBullets) {
if (bullets[i] != null){
if (!Defines.TWEEN_BULLETS){
if ((bullets[i] is Telerocket)){
try {
if ((((((bullets[i].target == null)) || ((bullets[i].target.hp <= 0)))) || (bullets[i].target.death))){
bullets[i].target = this[("dummytarget" + Math.round((Math.random() * 3)))];
} else {
bullets[i].timesLost++;
if ((((bullets[i].timesLost >= 150)) && ((((((((bullets[i].x < 0)) || ((bullets[i].x > stage.stageWidth)))) || ((bullets[i].y < 0)))) || ((bullets[i].y > (Defines.DEFAULT_CHAR_Y + 20))))))){
try {
removeChild(bullets[i]);
bullets.splice(i, 1);
} catch(err:Error) {
trace("can't remove telerocket");
};
};
};
if (bullets[i] != null){
if (((!((bullets[i].target == null))) && ((bullets[i].timesLost > 2)))){
bangle = Math.atan2((bullets[i].y - bullets[i].target.y), (bullets[i].x - bullets[i].target.x));
bullets[i].rotation = (((bangle * Defines.radiansToDegrees) - 90) * 5);
bullets[i].speedX = (Math.cos((bullets[i].rotation * Defines.degreesToRadians)) * bullets[i].speed);
bullets[i].speedY = (Math.sin((bullets[i].rotation * Defines.degreesToRadians)) * bullets[i].speed);
};
};
} catch(err:Error) {
trace(err.message);
};
};
if (bullets[i] != null){
bullets[i].x = (bullets[i].x + bullets[i].speedX);
bullets[i].y = (bullets[i].y + bullets[i].speedY);
};
};
if ((bullets[i] is Telerocket) == false){
if ((((((((bullets[i].y >= Defines.DEFAULT_CHAR_Y)) || ((bullets[i].y < -50)))) || ((bullets[i].x < (Defines.CHAR_LIMIT_X_LEFT - 50))))) || ((bullets[i].x > (Defines.CHAR_LIMIT_X_RIGHT + 50))))){
b = (bullets[i] as MovieClip);
if (bullets[i] != null){
removeChild(bullets[i]);
bullets.splice(i, 1);
};
};
};
if (((!((bullets[i] == null))) && (((frameCount % 1) == 0)))){
j = 0;
while (j < numEnemies) {
try {
if (NumberUtils.getDistanceClips(enemies[j], bullets[i]) < 150){
collides = false;
if (!enemies[j].pixelCollision){
collides = bullets[i].hitTestObject(enemies[j]);
} else {
collides = HitTest.complexHitTestObject(bullets[i], enemies[j]);
};
if (collides){
if (bullets[i].type == "bullet"){
addBoltExplosion(bullets[i].x, bullets[i].y, 0.3);
} else {
if (bullets[i].type == "missile"){
addExplosion(bullets[i].x, bullets[i].y, 0.4);
};
};
enemies[j].damage((bullets[i].damage * hero.damageMultiplier));
hitSound = ESound.NewESound(SndHitSmall, 1);
hitSound.StartSound();
removeChild(bullets[i]);
bullets[i] = null;
bullets.splice(i, 1);
if (enemies[j].hp <= 0){
if (enemies[j].type == "bomb"){
enemies[j].showBoltExplosion();
};
removeEnemyFromArray(j);
};
};
};
} catch(e:Error) {
};
j = (j + 1);
};
};
};
i = (i + 1);
};
numEnemyBullets = enemyBullets.length;
if (((hero.isEnabled) && (((frameCount % 1) == 0)))){
i = 0;
while (i < numEnemyBullets) {
if (enemyBullets[i] != null){
if (NumberUtils.getDistanceClips((enemyBullets[i] as DisplayObject), hero) < 100){
try {
if (HitTest.complexHitTestObject(enemyBullets[i], hero["collision"])){
enemyBullets[i].visible = false;
hero.damage(enemyBullets[i].power);
if (enemyBullets[i].type == "bomb"){
enemyBullets[i].showExplosion();
} else {
addRedExplosion(enemyBullets[i].x, enemyBullets[i].y, (enemyBullets[i].scaleX * 0.2));
};
enemyBullets.splice(i, 1);
};
} catch(e:Error) {
};
};
};
i = (i + 1);
};
};
if (!isPaused){
mira.x = mouseX;
mira.y = mouseY;
setChildIndex(mira, (numChildren - 1));
};
try {
hero["clip"]["torso"]["splash"].visible = false;
if (((mouseIsDown) && (((frameCount % 7) == 0)))){
if (hero["clip"]["torso"].y == -76.2){
hero["clip"]["torso"].y = -74.2;
} else {
hero["clip"]["torso"].y = -76.2;
};
} else {
hero["clip"]["torso"].y = -76.2;
};
} catch(e:Error) {
};
} catch(err:Error) {
};
if (isPlaying){
this.x = (120 + (hero.x * -0.1));
};
background2.y = (-35 + ((Defines.DEFAULT_CHAR_Y - hero.y) * 0.1));
this.y = (30 + ((Defines.DEFAULT_CHAR_Y - hero.y) * 0.2));
background2.x = ((100 + (this["background"].x * 0.1)) + (hero.x * -0.05));
}
function removeEnemyFromArray(_arg1:int){
if (enemies[_arg1] != null){
enemies.splice(_arg1, 1);
};
}
public function removeEnemyByValue(_arg1:DisplayObject){
var _local2:Number = ArrayUtils.extractIndexFromArrayByValue(enemies, _arg1);
if (_local2 > -1){
enemies.splice(_local2, 1);
};
}
public function giveCrystals(_arg1:uint){
Defines._document.saveSlot.collectedCrystals.addValue(_arg1);
levelCrystals.addValue(_arg1);
Defines._document["crystalIcon"].scaleX = (Defines._document["crystalIcon"].scaleY = 1.5);
TweenMax.to(Defines._document["crystalIcon"], 0.5, {scaleX:0.8, scaleY:0.8});
var _local2:ESound = ESound.NewESound(SndCrystal, 1);
_local2.StartSound();
updateGUI();
}
public function updateGUI(){
if (Defines._document["txtCrystals"] != null){
Defines._document["txtCrystals"].text = NumberUtils.formatNumber(Defines._document.saveSlot.collectedCrystals.value);
};
if (Defines._document["txtScore"] != null){
Defines._document["txtScore"].text = NumberUtils.formatNumber(levelDamageMade.value);
};
}
public function removeEnemyBulletByValue(_arg1:DisplayObject){
var _local2:Number = ArrayUtils.extractIndexFromArrayByValue(enemyBullets, _arg1);
if (_local2 > -1){
enemyBullets.splice(_local2, 1);
};
}
function shot(_arg1:WeaponSlot=null){
var _local2:Array;
var _local3:int;
var _local4:Number;
var _local5:int;
var _local6:WeaponSlot;
var _local7:Number;
var _local8:Number;
var _local9:Date;
if (hero.isEnabled){
_local2 = hero.slots;
_local3 = _local2.length;
_local4 = 1;
if (_arg1 != null){
_local2 = [_arg1];
};
_local5 = 0;
while (_local5 < _local3) {
_local6 = (hero.slots[_local5] as WeaponSlot);
if (_local6 != null){
if (_local6.enabled){
_local7 = 1;
_local8 = 1;
if (slowMotion){
_local7 = (Defines.SLOW_MOTION_SPEED * 1.5);
_local8 = 1.5;
};
if (spreadShot){
_local4 = 3.5;
} else {
spreadShot;
};
_local4 = 2;
if ((((((((((((_local6.weaponDefinition == WeaponData.machinegun)) || ((_local6.weaponDefinition == WeaponData.doubleshot)))) || ((_local6.weaponDefinition == WeaponData.machinegun2)))) || ((_local6.weaponDefinition == WeaponData.doubleshot2)))) || ((_local6.weaponDefinition == WeaponData.plasmaball)))) || ((_local6.weaponDefinition == WeaponData.bfg)))){
createBullet(_local6.weaponDefinition, ((hero.x + _local6.x) + (_local6.radius * Math.cos(((hero[("slot" + _local6.id)].rotation - 90) * Defines.degreesToRadians)))), ((hero.y + _local6.y) + (_local6.radius * Math.sin(((hero[("slot" + _local6.id)].rotation - 90) * Defines.degreesToRadians)))), ((hero[("slot" + _local6.id)].rotation - 90) + (_local6.spread * _local4)), (_local6.weaponDefinition.moveSpeed * _local8), _local6.isBehind);
_local6.enabled = false;
TweenMax.delayedCall((_local6.weaponDefinition.coldDownTime * _local7), enableSlot, [_local6]);
_local9 = new Date();
if (lastShotTime != _local9.getMilliseconds()){
shotSound = ESound.NewESound(SndShotSmall, 1);
shotSound.StartSound();
lastShotTime = _local9.getMilliseconds();
};
} else {
if ((((_local6.weaponDefinition == WeaponData.missile)) || ((_local6.weaponDefinition == WeaponData.rocket2)))){
createDirectMissile(((hero.x + _local6.x) + (_local6.radius * Math.cos(((hero[("slot" + _local6.id)].rotation - 90) * Defines.degreesToRadians)))), ((hero.y + _local6.y) + (_local6.radius * Math.sin(((hero[("slot" + _local6.id)].rotation - 90) * Defines.degreesToRadians)))), ((hero[("slot" + _local6.id)].rotation - 90) + (_local6.spread * _local4)), (_local6.weaponDefinition.moveSpeed * _local8), _local6.isBehind, _local6.weaponDefinition);
_local6.enabled = false;
TweenMax.delayedCall((WeaponData.missile.coldDownTime * _local7), enableSlot, [_local6]);
} else {
if ((((_local6.weaponDefinition == WeaponData.telerocket)) || ((_local6.weaponDefinition == WeaponData.telerocket2)))){
createTelerocket(((hero.x + _local6.x) + (_local6.radius * Math.cos(((hero[("slot" + _local6.id)].rotation - 90) * Defines.degreesToRadians)))), ((hero.y + _local6.y) + (_local6.radius * Math.sin(((hero[("slot" + _local6.id)].rotation - 90) * Defines.degreesToRadians)))), ((hero[("slot" + _local6.id)].rotation - 90) + (_local6.spread * _local4)), (_local6.weaponDefinition.moveSpeed * _local8), _local6.isBehind);
_local6.enabled = false;
TweenMax.delayedCall((_local6.weaponDefinition.coldDownTime * _local7), enableSlot, [_local6]);
} else {
if (_local6.weaponDefinition == WeaponData.fire){
createFireballs(((hero.x + _local6.x) + (_local6.radius * Math.cos(((hero[("slot" + _local6.id)].rotation - 90) * Defines.degreesToRadians)))), ((hero.y + _local6.y) + (_local6.radius * Math.sin(((hero[("slot" + _local6.id)].rotation - 90) * Defines.degreesToRadians)))), ((hero[("slot" + _local6.id)].rotation - 90) + (_local6.spread * _local4)), (_local6.weaponDefinition.moveSpeed * _local8), _local6.isBehind);
_local6.enabled = false;
TweenMax.delayedCall((WeaponData.fire.coldDownTime * _local7), enableSlot, [_local6]);
} else {
if (_local6.weaponDefinition == WeaponData.fire2){
createFireballs(((hero.x + _local6.x) + (_local6.radius * Math.cos(((hero[("slot" + _local6.id)].rotation - 90) * Defines.degreesToRadians)))), ((hero.y + _local6.y) + (_local6.radius * Math.sin(((hero[("slot" + _local6.id)].rotation - 90) * Defines.degreesToRadians)))), ((hero[("slot" + _local6.id)].rotation - 90) + (_local6.spread * _local4)), (_local6.weaponDefinition.moveSpeed * _local8), _local6.isBehind, 8);
_local6.enabled = false;
TweenMax.delayedCall((WeaponData.fire.coldDownTime * _local7), enableSlot, [_local6]);
} else {
if ((((_local6.weaponDefinition == WeaponData.laser)) || ((_local6.weaponDefinition == WeaponData.laser2)))){
createLasser(((hero.x + _local6.x) + (_local6.radius * Math.cos(((hero[("slot" + _local6.id)].rotation - 90) * Defines.degreesToRadians)))), ((hero.y + _local6.y) + (_local6.radius * Math.sin(((hero[("slot" + _local6.id)].rotation - 90) * Defines.degreesToRadians)))), (hero[("slot" + _local6.id)].rotation - 90), (_local6.weaponDefinition.moveSpeed * _local8), _local6.isBehind);
_local6.enabled = false;
TweenMax.delayedCall((_local6.weaponDefinition.coldDownTime * _local7), enableSlot, [_local6]);
};
};
};
};
};
};
try {
hero["clip"]["torso"]["splash"].visible = true;
} catch(e:Error) {
};
};
};
_local5++;
};
};
}
function enableSlot(_arg1:WeaponSlot){
_arg1.enabled = true;
if (mouseIsDown){
shot();
};
}
function createBullet(_arg1:WeaponDefinition, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Boolean=false){
var _local7:Bullet;
var _local8:Vector2;
var _local9:Vector2;
if (_arg1 == WeaponData.machinegun){
_local7 = new SmallBullet(_arg2, _arg3, _arg4, _arg1.damage);
};
if (_arg1 == WeaponData.machinegun2){
_local7 = new MediumBullet(_arg2, _arg3, _arg4, _arg1.damage);
} else {
if (_arg1 == WeaponData.doubleshot){
_local7 = new DoubleShot(_arg2, _arg3, _arg4, _arg1.damage);
} else {
if (_arg1 == WeaponData.doubleshot2){
_local7 = new DoubleShot2(_arg2, _arg3, _arg4, _arg1.damage);
} else {
if (_arg1 == WeaponData.plasmaball){
_local7 = new PlasmaBall(_arg2, _arg3, _arg4, _arg1.damage);
} else {
if (_arg1 == WeaponData.bfg){
_local7 = new Bfg(_arg2, _arg3, _arg4, _arg1.damage);
};
};
};
};
};
_local7.speed = _arg1.moveSpeed;
addChild(_local7);
bullets.push(_local7);
_local7.speedX = (Math.cos((_local7.rotation * Defines.degreesToRadians)) * _arg1.moveSpeed);
_local7.speedY = (Math.sin((_local7.rotation * Defines.degreesToRadians)) * _arg1.moveSpeed);
if (Defines.TWEEN_BULLETS){
_local8 = new Vector2(_arg2, _arg3);
_local9 = new Vector2(_local7.speedX, _local7.speedY);
_local9.Scale(1000);
_local9.Add(_local8);
TweenMax.to(_local7, (1000 / _local7.speed), {x:_local9.m_x, y:_local9.m_y});
};
}
private function createFireballs(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Boolean=false, _arg6:int=6){
var _local7:Fireball;
var _local9:Number;
var _local10:Number;
var _local11:Vector2;
var _local12:Vector2;
var _local8 = 1;
while (_local8 < _arg6) {
_local9 = (Math.cos((_arg3 * Defines.degreesToRadians)) * _arg4);
_local10 = (Math.sin((_arg3 * Defines.degreesToRadians)) * _arg4);
_local11 = new Vector2(_arg1, (_arg2 + 20));
_local12 = new Vector2(_local9, _local10);
_local12.Scale((3 * _local8));
_local12.Add(_local11);
_local7 = new Fireball(_local12.m_x, _local12.m_y, _arg3, WeaponData.fire.damage);
_local7.speed = _arg4;
_local7.speedX = _local9;
_local7.speedY = _local10;
_local7.scaleX = (_local7.scaleY = (0.6 + (_local8 * 0.1)));
_local7["clip"].gotoAndPlay((_local8 * 2));
addChild(_local7);
bullets.push(_local7);
if (Defines.TWEEN_BULLETS){
_local12 = new Vector2(_local7.speedX, _local7.speedY);
_local12.Scale(1000);
_local12.Add(_local11);
TweenMax.to(_local7, (1000 / _local7.speed), {x:_local12.m_x, y:_local12.m_y});
};
_local8++;
};
}
private function createLasser(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Boolean=false){
var _local6:Number = (Math.cos((_arg3 * Defines.degreesToRadians)) * _arg4);
var _local7:Number = (Math.sin((_arg3 * Defines.degreesToRadians)) * _arg4);
var _local8:Vector2 = new Vector2(_arg1, _arg2);
var _local9:Vector2 = new Vector2(_local6, _local7);
_local9.Scale(1000);
_local9.Add(_local8);
var _local10:Sprite = new Sprite();
this.addChild(_local10);
_local10.graphics.lineStyle(1, 0xFF0000);
_local10.graphics.moveTo((_arg1 + 2), _arg2);
_local10.graphics.lineTo((_local9.m_x + 2), _local9.m_y);
_local10.graphics.lineStyle(1, 0xFF0000);
_local10.graphics.moveTo((_arg1 - 2), _arg2);
_local10.graphics.lineTo((_local9.m_x - 2), _local9.m_y);
_local10.graphics.lineStyle(2, 0xFFFFFF);
_local10.graphics.moveTo(_arg1, _arg2);
_local10.graphics.lineTo(_local9.m_x, _local9.m_y);
var _local11:int = enemies.length;
var _local12:Boolean;
var _local13:int;
while (_local13 < _local11) {
if (enemies[_local13] != null){
_local12 = HitTest.complexHitTestObject(_local10, enemies[_local13]);
if (_local12){
try {
enemies[_local13].damage((WeaponData.laser.damage * hero.damageMultiplier));
} catch(e:Error) {
};
};
};
_local13++;
};
TweenNano.to(_local10, 0.15, {alpha:0, onComplete:clearLaser, onCompleteParams:[_local10], delay:0.05});
}
function clearLaser(_arg1:Sprite){
_arg1.graphics.clear();
removeChild(_arg1);
}
function createDirectMissile(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Boolean=false, _arg6:WeaponDefinition=null){
var _local7:DirectMissile;
var _local8:Vector2;
var _local9:Vector2;
if (_arg6 == WeaponData.missile){
_local7 = new DirectMissile(_arg1, _arg2, _arg3, WeaponData.missile.damage);
} else {
_local7 = new DirectMissile2(_arg1, _arg2, _arg3, WeaponData.rocket2.damage);
};
_local7.speed = _arg4;
addChild(_local7);
bullets.push(_local7);
_local7.speedX = (Math.cos((_local7.rotation * Defines.degreesToRadians)) * _local7.speed);
_local7.speedY = (Math.sin((_local7.rotation * Defines.degreesToRadians)) * _local7.speed);
if (Defines.TWEEN_BULLETS){
_local8 = new Vector2(_arg1, _arg2);
_local9 = new Vector2(_local7.speedX, _local7.speedY);
_local9.Scale(1000);
_local9.Add(_local8);
TweenMax.to(_local7, (1000 / _local7.speed), {x:_local9.m_x, y:_local9.m_y});
};
}
function createTelerocket(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Boolean=false){
var _local7:Telerocket;
var _local6:DisplayObject = findTargetForBullet();
if (_local6 != null){
_local7 = new Telerocket(_arg1, _arg2, _arg3, WeaponData.telerocket.damage, _local6);
_local7.speed = _arg4;
addChild(_local7);
bullets.push(_local7);
_local7.speedX = (Math.cos((_local7.rotation * Defines.degreesToRadians)) * _local7.speed);
_local7.speedY = (Math.sin((_local7.rotation * Defines.degreesToRadians)) * _local7.speed);
};
}
function findTargetForBullet():DisplayObject{
var _local2:DisplayObject;
var _local4:DisplayObject;
var _local5:DisplayObject;
var _local1:Array = new Array();
var _local3:int;
_local3 = 0;
while (_local3 < enemies.length) {
_local4 = (enemies[_local3] as DisplayObject);
if (_local4 != null){
if ((_local4 is Enemy)){
if (((!((_local4 as Enemy).death)) && (isOnScreen(_local4.x, _local4.y)))){
_local1.push(_local4);
};
};
};
_local3++;
};
_local3 = 0;
while (_local3 < enemyBullets.length) {
_local5 = (enemyBullets[_local3] as DisplayObject);
if (_local5 != null){
if ((_local5 is EnemyBomb)){
if (!(_local5 as EnemyBomb).death){
_local1.push(_local5);
};
};
};
_local3++;
};
if (_local1.length > 0){
_local2 = _local1[Math.round((Math.random() * _local1.length))];
if (_local2 != null){
if ((((((_local2.y < Defines.DEFAULT_CHAR_Y)) && ((_local2.x > Defines.CHAR_LIMIT_X_LEFT)))) && ((_local2.x < Defines.CHAR_LIMIT_X_RIGHT)))){
return (_local2);
};
} else {
return (this[("dummytarget" + Math.round((Math.random() * 3)))]);
};
} else {
return (this[("dummytarget" + Math.round((Math.random() * 3)))]);
};
return (_local2);
}
function cancelDash(){
hero.canDash = false;
keyDashTween.kill();
}
function enableDash(){
hero.dashEnabled = true;
(lastPressedkey == 0);
}
public function quake(_arg1:Number=10, _arg2:Number=0.05, _arg3:Boolean=false){
if (Defines.SHOW_EFFECTS){
if (((!(quaking)) || (_arg3))){
quakeDist = _arg1;
quakeTween = TweenMax.to(Defines._document["scene"], _arg2, {y:quakeDist, ease:Linear.easeNone, onComplete:quake});
quaking = true;
} else {
quakeDist = (quakeDist * -0.8);
if (Math.abs(quakeDist) > 0.03){
quakeTween = TweenMax.to(Defines._document["scene"], _arg2, {y:quakeDist, ease:Linear.easeNone, onComplete:quake});
} else {
quaking = false;
TweenMax.to(Defines._document["scene"], 1, {y:0});
};
};
};
}
public function pause(){
var _local1:int;
if (!isPaused){
removeEvents();
gameTimer.removeEventListener(TimerEvent.TIMER, update);
TweenMax.pauseAll(true, true);
Mouse.show();
isPaused = true;
pauseTween1 = TweenMax.to(Defines._document["scene"], 0.05, {colorMatrixFilter:{colorize:0, amount:0.5}});
Defines._document.showPauseMenu();
} else {
gameTimer.addEventListener(TimerEvent.TIMER, update);
TweenMax.resumeAll(true, true);
Mouse.hide();
stage.focus = this;
pauseTween1.kill();
TweenMax.to(Defines._document["scene"], 0.05, {colorMatrixFilter:{remove:true}});
TweenLite.delayedCall(1, enablePauseAgain);
_local1 = 0;
while (_local1 < 12) {
TweenLite.delayedCall((0.03 * _local1), Defines._document.hidePauseMenu);
_local1++;
};
addEvents();
};
}
function enablePauseAgain(){
isPaused = false;
Defines._document.hidePauseMenu();
}
function bulletTime(){
var _local1:Number;
if (!slowMotion){
if ((((Defines._document["gui"]["bulletbar"]["bar"].scaleX > 0)) && (levelInProgress))){
tmpBulletTime = (Defines._document["gui"]["bulletbar"]["bar"].scaleX * 100);
if (Defines._document["gui"]["bulletbar"]["bar"].scaleX == 0){
bulletCredit = 0;
} else {
bulletCredit = (bulletMaxCredit * Defines._document["gui"]["bulletbar"]["bar"].scaleX);
};
TweenMax.globalTimeScale = Defines.SLOW_MOTION_SPEED;
TweenMax.to(this["background"], 0.1, {colorMatrixFilter:{colorize:0, amount:0.2, brightness:1, saturation:0.3}});
TweenMax.to(background2, 0.1, {colorMatrixFilter:{colorize:0, amount:0.2, brightness:1, saturation:0.3}});
if (bulletTween != null){
bulletTween.kill();
};
bulletTween = TweenMax.to(Defines._document["gui"]["bulletbar"]["bar"], (bulletCredit / 800), {scaleX:0, onComplete:bulletTime, ease:Linear.easeNone});
slowMotion = true;
Defines._document.playBulletTimeSound();
};
} else {
_local1 = 0;
tmpBulletTime = (tmpBulletTime - (Defines._document["gui"]["bulletbar"]["bar"].scaleX * 100));
levelBulletUsed.addValue(tmpBulletTime);
tmpBulletTime = 0;
if (Defines._document["gui"]["bulletbar"]["bar"].scaleX == 0){
bulletCredit = 0;
} else {
bulletCredit = (bulletMaxCredit * Defines._document["gui"]["bulletbar"]["bar"].scaleX);
};
_local1 = (bulletMaxCredit - (bulletCredit * Defines._document["gui"]["bulletbar"]["bar"].scaleX));
TweenMax.globalTimeScale = 1;
TweenMax.to(background2, 0.3, {colorMatrixFilter:{}});
TweenMax.to(this["background"], 0.3, {colorMatrixFilter:{}});
slowMotion = false;
if (bulletTween != null){
bulletTween.kill();
};
trace("STARTING BT RECOVERY", hero.btRecovery);
if (hero.btRecovery == 0){
bulletTween = TweenMax.to(Defines._document["gui"]["bulletbar"]["bar"], (_local1 / 40), {scaleX:1, ease:Linear.easeNone, delay:5});
} else {
if (hero.btRecovery == 1){
bulletTween = TweenMax.to(Defines._document["gui"]["bulletbar"]["bar"], (_local1 / 80), {scaleX:1, ease:Linear.easeNone, delay:3});
} else {
if (hero.btRecovery == 2){
bulletTween = TweenMax.to(Defines._document["gui"]["bulletbar"]["bar"], (_local1 / 120), {scaleX:1, ease:Linear.easeNone, delay:2});
};
};
};
Defines._document.stopBulletTimeSound();
};
}
function mouseDown(_arg1:MouseEvent){
shot();
mouseIsDown = true;
}
function mouseUp(_arg1:MouseEvent){
mouseIsDown = false;
}
function countTime(){
keyTimePressed = (keyTimePressed + 0.02);
if (keyTimePressed < 0.03){
keyTimeTween = TweenMax.delayedCall((0.02 * TweenMax.globalTimeScale), countTime);
};
}
function keyUp(_arg1:KeyboardEvent){
if (((!(isPaused)) && (hero.enabled))){
if ((((_arg1.keyCode == Keyboard.RIGHT)) || ((_arg1.keyCode == 68)))){
if (((((!(hero.dashing)) && (!(hero.jumping)))) && (hero.dashEnabled))){
if (!hero.canDash){
hero.canDash = true;
keyDashTween = TweenMax.delayedCall((0.1 * TweenMax.globalTimeScale), cancelDash);
if (hero.x < mouseX){
hero["clip"].scaleX = 1;
};
};
};
} else {
if ((((_arg1.keyCode == Keyboard.LEFT)) || ((_arg1.keyCode == 65)))){
if (((((!(hero.dashing)) && (!(hero.jumping)))) && (hero.dashEnabled))){
if (!hero.canDash){
hero.canDash = true;
keyDashTween = TweenMax.delayedCall((0.1 * TweenMax.globalTimeScale), cancelDash);
};
};
} else {
if (_arg1.keyCode == Keyboard.SPACE){
bulletTime();
} else {
if (_arg1.keyCode == Keyboard.BACKSPACE){
Defines.TWEEN_BULLETS = !(Defines.TWEEN_BULLETS);
} else {
if ((((_arg1.keyCode > 48)) && ((_arg1.keyCode < 54)))){
powerUp((_arg1.keyCode - 48));
};
};
};
};
};
if ((((((((_arg1.keyCode == Keyboard.RIGHT)) || ((_arg1.keyCode == 68)))) || ((_arg1.keyCode == Keyboard.LEFT)))) || ((_arg1.keyCode == 65)))){
keyTimeTween.kill();
if ((((keyTimePressed < 0.25)) && (!((keyTimePressed == 0))))){
lastPressedkey = _arg1.keyCode;
} else {
lastPressedkey = 0;
};
keyTimePressed = 0;
};
};
if ((((_arg1.keyCode == 27)) || ((_arg1.keyCode == 88)))){
if (!isPaused){
pause();
};
};
if (_arg1.keyCode == Keyboard.HOME){
giveCrystals(10000);
};
}
public function powerUp(_arg1:int){
var _local2:int;
var _local3:Enemy;
if (_arg1 == 1){
hero.recoverHP(220);
} else {
if (_arg1 == 2){
hero.startSuperSpeed();
} else {
if (_arg1 == 3){
hero.startSuperDamage();
} else {
if (_arg1 == 4){
hero.startSuperShield();
} else {
if (_arg1 == 5){
_local2 = 0;
while (_local2 < enemies.length) {
_local3 = (enemies[_local2] as Enemy);
if (_local3 != null){
_local3.damage(900);
};
_local2++;
};
};
};
};
};
};
Defines._document["powerupsClip"].y = Defines.DEFAULT_CHAR_Y;
Defines._document["powerupsClip"].x = hero.x;
Defines._document["powerupsClip"].gotoAndStop(_arg1);
Defines._document["powerupsClip"].visible = true;
Defines._document["powerupsClip"].alpha = 1;
if (Defines._document["powerupsClip"].x < 120){
Defines._document["powerupsClip"].x = 120;
} else {
if (Defines._document["powerupsClip"].x > 745){
Defines._document["powerupsClip"].x = 745;
};
};
TweenLite.to(Defines._document["powerupsClip"], 3, {autoAlpha:0, y:(Defines.DEFAULT_CHAR_Y - 100), ease:Strong.easeOut});
}
function keyDown(_arg1:KeyboardEvent){
if ((((((_arg1.keyCode == 87)) || ((_arg1.keyCode == Keyboard.UP)))) && (hero.isEnabled))){
hero.jump();
};
if ((((((_arg1.keyCode == 83)) || ((_arg1.keyCode == Keyboard.DOWN)))) && (hero.isEnabled))){
hero.pushDown();
};
if ((((((((_arg1.keyCode == Keyboard.RIGHT)) || ((_arg1.keyCode == 68)))) || ((_arg1.keyCode == Keyboard.LEFT)))) || ((_arg1.keyCode == 65)))){
if (keyTimeTween != null){
keyTimeTween.kill();
};
keyTimePressed = 0;
keyTimeTween = TweenMax.delayedCall((0.05 * TweenMax.globalTimeScale), countTime);
};
if (((((((((((hero.canDash) && (hero.dashEnabled))) && (!(hero.jumping)))) && (!(hero.dashing)))) && ((((_arg1.keyCode == Keyboard.LEFT)) || ((_arg1.keyCode == 65)))))) && (hero.isEnabled))){
if (lastPressedkey == _arg1.keyCode){
hero.dash("L");
cancelDash();
hero.dashEnabled = false;
enableDashTween = TweenMax.delayedCall((Defines.CHAR_DASH_DELAY * TweenMax.globalTimeScale), enableDash);
};
} else {
if (((((((((((hero.canDash) && (hero.dashEnabled))) && (!(hero.jumping)))) && (!(hero.dashing)))) && ((((_arg1.keyCode == Keyboard.RIGHT)) || ((_arg1.keyCode == 68)))))) && (hero.isEnabled))){
if (lastPressedkey == _arg1.keyCode){
hero.dash();
cancelDash();
hero.dashEnabled = false;
enableDashTween = TweenMax.delayedCall((Defines.CHAR_DASH_DELAY * TweenMax.globalTimeScale), enableDash);
};
};
};
}
function isOnScreen(_arg1:Number, _arg2:Number):Boolean{
if ((((((((_arg1 < 0)) || ((_arg1 > 760)))) || ((_arg2 < 0)))) || ((_arg2 > Defines.DEFAULT_CHAR_Y)))){
return (false);
};
return (true);
}
}
}//package
Section 188
//IntroMusic (IntroMusic)
package {
import flash.media.*;
public dynamic class IntroMusic extends Sound {
}
}//package
Section 189
//LangSelect (LangSelect)
package {
import flash.display.*;
public dynamic class LangSelect extends MovieClip {
public var fondo:MovieClip;
public var lang:int;
public var language:String;
public var spilnetwerk:String;
public var gamename:String;
public var hostingdomain:String;
public var usource:String;
public var localization_url1:String;
public var localization_language_nr:int;
public var localization_branding_nr:int;
public var localization_portal:String;
public function LangSelect(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19);
}
function frame1(){
stop();
lang = 1;
language = "en";
spilnetwerk = "TEST!!!";
gamename = "no_more_aliens";
hostingdomain = "www.hostingdomain.com";
usource = "USOURCE";
localization_url1 = ((((("http://www.gamesgames.com/?utm_medium=brandedgames_" + spilnetwerk) + "&utm_campaign=") + gamename) + "&utm_source=") + hostingdomain);
localization_language_nr = 1;
localization_branding_nr = 17;
localization_portal = "family";
}
function frame2(){
stop();
language = "es";
lang = 2;
localization_url1 = ((((("http://www.juegos.com/?utm_medium=brandedgames_" + spilnetwerk) + "&utm_campaign=") + gamename) + "&utm_source=") + hostingdomain);
localization_language_nr = 9;
localization_branding_nr = 24;
localization_portal = "family";
}
function frame3(){
stop();
lang = 3;
localization_url1 = ((((("http://www.jetztspielen.de/?utm_medium=brandedgames_" + spilnetwerk) + "&utm_campaign=") + gamename) + "&utm_source=") + hostingdomain);
localization_language_nr = 5;
localization_branding_nr = 20;
localization_portal = "family";
language = "de";
}
function frame4(){
stop();
lang = 4;
localization_url1 = ((((("http://www.ojogos.com.br/?utm_medium=brandedgames_" + spilnetwerk) + "&utm_campaign=") + gamename) + "&utm_source=") + hostingdomain);
localization_language_nr = 11;
localization_branding_nr = 27;
localization_portal = "family";
language = "pt-BR";
}
function frame5(){
stop();
lang = 5;
localization_url1 = ((((("http://www.jeux.fr/?utm_medium=brandedgames_" + spilnetwerk) + "&utm_campaign=") + gamename) + "&utm_source=") + hostingdomain);
localization_language_nr = 4;
localization_branding_nr = 19;
localization_portal = "family";
language = "fr-FR";
}
function frame6(){
stop();
lang = 7;
localization_url1 = ((((("http://www.gioco.it/?utm_medium=brandedgames_" + spilnetwerk) + "&utm_campaign=") + gamename) + "&utm_source=") + usource);
localization_language_nr = 8;
localization_branding_nr = 23;
localization_portal = "family";
language = "it-IT";
}
function frame7(){
stop();
lang = 8;
localization_url1 = ((((("http://www.spelletjes.nl/?utm_medium=brandedgames_" + spilnetwerk) + "&utm_campaign=") + gamename) + "&utm_source=") + hostingdomain);
localization_language_nr = 3;
localization_branding_nr = 18;
localization_portal = "family";
language = "nl-NL";
}
function frame8(){
stop();
lang = 9;
localization_url1 = ((((("http://www.gry.pl/?utm_medium=brandedgames_" + spilnetwerk) + "&utm_campaign=") + gamename) + "&utm_source=") + usource);
localization_language_nr = 6;
localization_branding_nr = 21;
localization_portal = "family";
language = "pl-PL";
}
function frame9(){
stop();
lang = 10;
localization_url1 = ((((("http://www.ojogos.pt/?utm_medium=brandedgames_" + spilnetwerk) + "&utm_campaign=") + gamename) + "&utm_source=") + usource);
localization_language_nr = 10;
localization_branding_nr = 47;
localization_portal = "family";
language = "pt-PT";
}
function frame10(){
stop();
lang = 11;
localization_url1 = ((((("http://www.ourgames.ru/?utm_medium=brandedgames_" + spilnetwerk) + "&utm_campaign=") + gamename) + "&utm_source=") + hostingdomain);
localization_language_nr = 12;
localization_branding_nr = 28;
localization_portal = "family";
language = "ru-RU";
}
function frame11(){
stop();
lang = 12;
localization_url1 = ((((("http://www.spela.se/?utm_medium=brandedgames_" + spilnetwerk) + "&utm_campaign=") + gamename) + "&utm_source=") + hostingdomain);
localization_language_nr = 7;
localization_branding_nr = 22;
localization_portal = "family";
language = "sv-SE";
}
function frame12(){
stop();
lang = 13;
localization_url1 = ((((("http://www.games.co.uk/?utm_medium=brandedgames_" + spilnetwerk) + "&utm_campaign=") + gamename) + "&utm_source=") + hostingdomain);
localization_language_nr = 1;
localization_branding_nr = 29;
localization_portal = "family";
language = "en-GB";
}
function frame13(){
localization_url1 = ((((("http://www.juegos.com.ar/?utm_medium=brandedgames_" + spilnetwerk) + "&utm_campaign=") + gamename) + "&utm_source=") + usource);
localization_language_nr = 9;
localization_branding_nr = 26;
localization_portal = "family";
stop();
lang = 14;
language = "es-AR";
}
function frame14(){
localization_url1 = ((((("http://www.juegos.mx/?utm_medium=brandedgames_" + spilnetwerk) + "&utm_campaign=") + gamename) + "&utm_source=") + usource);
localization_language_nr = 9;
localization_branding_nr = 25;
localization_portal = "family";
stop();
lang = 15;
language = "es-MX";
}
function frame15(){
localization_url1 = ((((("http://www.dailygame.com/?utm_medium=brandedgames_" + spilnetwerk) + "&utm_campaign=") + gamename) + "&utm_source=") + usource);
localization_language_nr = 1;
localization_branding_nr = 51;
localization_portal = "family";
stop();
lang = 16;
language = "ARABIC";
}
function frame16(){
localization_url1 = "http://www.game.com.cn/";
localization_language_nr = 2;
localization_branding_nr = 2;
localization_portal = "game_com_cn";
stop();
lang = 17;
language = "CHINESE-CN";
}
function frame17(){
localization_url1 = ((((("http://www.egames.jp/?utm_medium=brandedgames_" + spilnetwerk) + "&utm_campaign=") + gamename) + "&utm_source=") + usource);
localization_language_nr = 17;
localization_branding_nr = 49;
localization_portal = "egames_jp";
stop();
lang = 18;
language = "jp-JP";
}
function frame18(){
localization_url1 = ((((("http://www.game.co.in/?utm_medium=brandedgames_" + spilnetwerk) + "&utm_campaign=") + gamename) + "&utm_source=") + usource);
localization_language_nr = 1;
localization_branding_nr = 12;
localization_portal = "teens";
stop();
lang = 19;
language = "en-ID";
}
function frame19(){
stop();
lang = 1;
localization_url1 = ((((("http://www.gamesgames.com/?utm_medium=brandedgames_" + spilnetwerk) + "&utm_campaign=") + gamename) + "&utm_source=") + hostingdomain);
localization_language_nr = 1;
localization_branding_nr = 17;
localization_portal = "family";
language = "en-US";
}
}
}//package
Section 190
//levelCompleteGUI (levelCompleteGUI)
package {
import flash.display.*;
import flash.events.*;
import data.*;
import flash.xml.*;
import flash.text.*;
import flash.geom.*;
import flash.filters.*;
import flash.media.*;
import flash.utils.*;
import flash.net.*;
import flash.ui.*;
import flash.system.*;
import flash.external.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
public dynamic class levelCompleteGUI extends MovieClip {
public var btnContinue:smallButton;
public var txtStageScore:TextField;
public var txtBulletTime:TextField;
public var btnInventory:smallButton;
public var txtAward:TextField;
public var adBox:MovieClip;
public var txtDamageTaken:TextField;
public var txtCrystals:TextField;
public var txtDamageMade:TextField;
public var tTaken:TextField;
public var tTitle:TextField;
public var tBullet:TextField;
public var badge:MedalIcon;
public var tDone:TextField;
public var tScore:TextField;
public function levelCompleteGUI(){
addFrameScript(0, frame1);
}
public function continueClick(_arg1:MouseEvent){
btnContinue.visible = false;
btnInventory.visible = false;
Defines._document["inventoryWindow"].visible = false;
Defines._document["inventoryWindow"].exitInventory();
if ((Defines._game.currentLevelStep + 1) < Defines._game.currentLevel.steps.length){
Defines._game.nextLevel();
} else {
Defines._game.continueToFinish();
};
}
public function inventoryClick(_arg1:MouseEvent){
Defines._document["inventoryWindow"].visible = true;
Defines._document["inventoryWindow"].showInventory(true);
}
function frame1(){
tTitle.text = TEXT.$(28);
tDone.text = TEXT.$(29);
tTaken.text = TEXT.$(30);
tBullet.text = TEXT.$(32);
btnContinue.text = TEXT.$(24);
btnInventory.text = TEXT.$(33);
btnContinue.addEventListener(MouseEvent.CLICK, continueClick);
btnInventory.addEventListener(MouseEvent.CLICK, inventoryClick);
trace();
}
}
}//package
Section 191
//MedalIcon (MedalIcon)
package {
import flash.display.*;
public dynamic class MedalIcon extends MovieClip {
}
}//package
Section 192
//MusicEndLevel (MusicEndLevel)
package {
import flash.media.*;
public dynamic class MusicEndLevel extends Sound {
}
}//package
Section 193
//MusicIngame (MusicIngame)
package {
import flash.media.*;
public dynamic class MusicIngame extends Sound {
}
}//package
Section 194
//MusicMenu (MusicMenu)
package {
import flash.media.*;
public dynamic class MusicMenu extends Sound {
}
}//package
Section 195
//muteButton (muteButton)
package {
import flash.display.*;
import flash.events.*;
public dynamic class muteButton extends MovieClip {
public function muteButton(){
addFrameScript(0, frame1, 1, frame2);
}
public function clickBtn(_arg1:MouseEvent){
ESound.Mute();
play();
}
function frame1(){
stop();
this.buttonMode = true;
this.useHandCursor = true;
this.addEventListener(MouseEvent.CLICK, clickBtn);
}
function frame2(){
stop();
}
}
}//package
Section 196
//RedExplosion (RedExplosion)
package {
import flash.display.*;
public dynamic class RedExplosion extends MovieClip {
}
}//package
Section 197
//smallButton (smallButton)
package {
import controls.*;
public dynamic class smallButton extends GenericButton {
}
}//package
Section 198
//SmokeParticle (SmokeParticle)
package {
import flash.display.*;
public dynamic class SmokeParticle extends MovieClip {
}
}//package
Section 199
//SndAlarm (SndAlarm)
package {
import flash.media.*;
public dynamic class SndAlarm extends Sound {
}
}//package
Section 200
//SndCrystal (SndCrystal)
package {
import flash.media.*;
public dynamic class SndCrystal extends Sound {
}
}//package
Section 201
//SndDash (SndDash)
package {
import flash.media.*;
public dynamic class SndDash extends Sound {
}
}//package
Section 202
//SndDie (SndDie)
package {
import flash.media.*;
public dynamic class SndDie extends Sound {
}
}//package
Section 203
//SndExplosionSmall (SndExplosionSmall)
package {
import flash.media.*;
public dynamic class SndExplosionSmall extends Sound {
}
}//package
Section 204
//SndHitSmall (SndHitSmall)
package {
import flash.media.*;
public dynamic class SndHitSmall extends Sound {
}
}//package
Section 205
//SndHurt (SndHurt)
package {
import flash.media.*;
public dynamic class SndHurt extends Sound {
}
}//package
Section 206
//SndPush (SndPush)
package {
import flash.media.*;
public dynamic class SndPush extends Sound {
}
}//package
Section 207
//SndShotSmall (SndShotSmall)
package {
import flash.media.*;
public dynamic class SndShotSmall extends Sound {
}
}//package
Section 208
//SndStomp (SndStomp)
package {
import flash.media.*;
public dynamic class SndStomp extends Sound {
}
}//package
Section 209
//SndTouchCrystal (SndTouchCrystal)
package {
import flash.media.*;
public dynamic class SndTouchCrystal extends Sound {
}
}//package
Section 210
//Stats (Stats)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.geom.*;
import flash.utils.*;
import flash.system.*;
public class Stats extends Sprite {
protected const WIDTH:uint = 70;
protected const HEIGHT:uint = 100;
protected var xml:XML;
protected var text:TextField;
protected var style:StyleSheet;
protected var timer:uint;
protected var fps:uint;
protected var ms:uint;
protected var ms_prev:uint;
protected var mem:Number;
protected var mem_max:Number;
protected var graph:Bitmap;
protected var rectangle:Rectangle;
protected var fps_graph:uint;
protected var mem_graph:uint;
protected var mem_max_graph:uint;
protected var theme:Object;
public function Stats(_arg1:Object=null):void{
theme = {bg:51, fps:0xFFFF00, ms:0xFF00, mem:0xFFFF, memmax:0xFF0070};
super();
if (_arg1){
if (_arg1.bg != null){
theme.bg = _arg1.bg;
};
if (_arg1.fps != null){
theme.fps = _arg1.fps;
};
if (_arg1.ms != null){
theme.ms = _arg1.ms;
};
if (_arg1.mem != null){
theme.mem = _arg1.mem;
};
if (_arg1.memmax != null){
theme.memmax = _arg1.memmax;
};
};
mem_max = 0;
xml = <xml><fps>FPS:</fps><ms>MS:</ms><mem>MEM:</mem><memMax>MAX:</memMax></xml>
;
style = new StyleSheet();
style.setStyle("xml", {fontSize:"9px", fontFamily:"_sans", leading:"-2px"});
style.setStyle("fps", {color:hex2css(theme.fps)});
style.setStyle("ms", {color:hex2css(theme.ms)});
style.setStyle("mem", {color:hex2css(theme.mem)});
style.setStyle("memMax", {color:hex2css(theme.memmax)});
text = new TextField();
text.width = WIDTH;
text.height = 50;
text.styleSheet = style;
text.condenseWhite = true;
text.selectable = false;
text.mouseEnabled = false;
graph = new Bitmap();
graph.y = 50;
rectangle = new Rectangle((WIDTH - 1), 0, 1, (HEIGHT - 50));
addEventListener(Event.ADDED_TO_STAGE, init, false, 0, true);
addEventListener(Event.REMOVED_FROM_STAGE, destroy, false, 0, true);
}
private function init(_arg1:Event):void{
graphics.beginFill(theme.bg);
graphics.drawRect(0, 0, WIDTH, HEIGHT);
graphics.endFill();
addChild(text);
graph.bitmapData = new BitmapData(WIDTH, (HEIGHT - 50), false, theme.bg);
addChild(graph);
addEventListener(MouseEvent.CLICK, onClick);
addEventListener(Event.ENTER_FRAME, update);
}
private function destroy(_arg1:Event):void{
graphics.clear();
while (numChildren > 0) {
removeChildAt(0);
};
graph.bitmapData.dispose();
removeEventListener(MouseEvent.CLICK, onClick);
removeEventListener(Event.ENTER_FRAME, update);
}
private function update(_arg1:Event):void{
timer = getTimer();
if ((timer - 1000) > ms_prev){
ms_prev = timer;
mem = Number((System.totalMemory * 9.54E-7).toFixed(3));
mem_max = ((mem_max > mem)) ? mem_max : mem;
fps_graph = Math.min(graph.height, ((fps / stage.frameRate) * graph.height));
mem_graph = (Math.min(graph.height, Math.sqrt(Math.sqrt((mem * 5000)))) - 2);
mem_max_graph = (Math.min(graph.height, Math.sqrt(Math.sqrt((mem_max * 5000)))) - 2);
graph.bitmapData.scroll(-1, 0);
graph.bitmapData.fillRect(rectangle, theme.bg);
graph.bitmapData.setPixel((graph.width - 1), (graph.height - fps_graph), theme.fps);
graph.bitmapData.setPixel((graph.width - 1), (graph.height - ((timer - ms) >> 1)), theme.ms);
graph.bitmapData.setPixel((graph.width - 1), (graph.height - mem_graph), theme.mem);
graph.bitmapData.setPixel((graph.width - 1), (graph.height - mem_max_graph), theme.memmax);
xml.fps = ((("FPS: " + fps) + " / ") + stage.frameRate);
xml.mem = ("MEM: " + mem);
xml.memMax = ("MAX: " + mem_max);
fps = 0;
};
fps++;
xml.ms = ("MS: " + (timer - ms));
ms = timer;
text.htmlText = xml;
}
private function onClick(_arg1:MouseEvent):void{
if (((mouseY / height) > 0.5)){
stage.frameRate--;
} else {
stage.frameRate++;
};
xml.fps = ((("FPS: " + fps) + " / ") + stage.frameRate);
text.htmlText = xml;
}
private function hex2css(_arg1:int):String{
return (("#" + _arg1.toString(16)));
}
}
}//package
Section 211
//t11 (t11)
package {
import flash.display.*;
public dynamic class t11 extends Sprite {
}
}//package
Section 212
//t12 (t12)
package {
import flash.display.*;
public dynamic class t12 extends Sprite {
}
}//package
Section 213
//t13 (t13)
package {
import flash.display.*;
public dynamic class t13 extends Sprite {
}
}//package
Section 214
//t14 (t14)
package {
import flash.display.*;
public dynamic class t14 extends Sprite {
}
}//package
Section 215
//t15 (t15)
package {
import flash.display.*;
public dynamic class t15 extends MovieClip {
}
}//package
Section 216
//t21 (t21)
package {
import flash.display.*;
public dynamic class t21 extends Sprite {
}
}//package
Section 217
//t22 (t22)
package {
import flash.display.*;
public dynamic class t22 extends Sprite {
}
}//package
Section 218
//t23 (t23)
package {
import flash.display.*;
public dynamic class t23 extends Sprite {
}
}//package
Section 219
//t24 (t24)
package {
import flash.display.*;
public dynamic class t24 extends Sprite {
}
}//package
Section 220
//t25 (t25)
package {
import flash.display.*;
public dynamic class t25 extends Sprite {
}
}//package
Section 221
//t31 (t31)
package {
import flash.display.*;
public dynamic class t31 extends Sprite {
}
}//package
Section 222
//t32 (t32)
package {
import flash.display.*;
public dynamic class t32 extends Sprite {
}
}//package
Section 223
//t33 (t33)
package {
import flash.display.*;
public dynamic class t33 extends Sprite {
}
}//package
Section 224
//t34 (t34)
package {
import flash.display.*;
public dynamic class t34 extends Sprite {
}
}//package
Section 225
//t35 (t35)
package {
import flash.display.*;
public dynamic class t35 extends Sprite {
public var boss:MovieClip;
}
}//package
Section 226
//t51 (t51)
package {
import flash.display.*;
public dynamic class t51 extends MovieClip {
}
}//package
Section 227
//t52 (t52)
package {
import flash.display.*;
public dynamic class t52 extends MovieClip {
}
}//package
Section 228
//t53 (t53)
package {
import flash.display.*;
public dynamic class t53 extends MovieClip {
}
}//package
Section 229
//t54 (t54)
package {
import flash.display.*;
public dynamic class t54 extends MovieClip {
}
}//package
Section 230
//t55 (t55)
package {
import flash.display.*;
public dynamic class t55 extends MovieClip {
}
}//package
Section 231
//t61 (t61)
package {
import flash.display.*;
public dynamic class t61 extends MovieClip {
}
}//package
Section 232
//t62 (t62)
package {
import flash.display.*;
public dynamic class t62 extends MovieClip {
}
}//package
Section 233
//t63 (t63)
package {
import flash.display.*;
public dynamic class t63 extends MovieClip {
}
}//package
Section 234
//t64 (t64)
package {
import flash.display.*;
public dynamic class t64 extends MovieClip {
}
}//package
Section 235
//t65 (t65)
package {
import flash.display.*;
public dynamic class t65 extends MovieClip {
}
}//package
Section 236
//TrophyIcon (TrophyIcon)
package {
import flash.display.*;
public dynamic class TrophyIcon extends MovieClip {
public var shine:MovieClip;
}
}//package