Section 1
//MD5 (be.boulevart.as3.security.MD5)
package be.boulevart.as3.security {
public class MD5 {
protected static function md5_hh(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{
return (md5_cmn(((_arg2 ^ _arg3) ^ _arg4), _arg1, _arg2, _arg5, _arg6, _arg7));
}
protected static function md5_cmn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Number{
return (safe_add(bit_rol(safe_add(safe_add(_arg2, _arg1), safe_add(_arg4, _arg6)), _arg5), _arg3));
}
protected static function str2binl(_arg1:String):Array{
var _local2:Array;
var _local3:Number;
var _local4:Number;
_local2 = new Array();
_local3 = ((1 << 8) - 1);
_local4 = 0;
while (_local4 < (_arg1.length * 8)) {
_local2[(_local4 >> 5)] = (_local2[(_local4 >> 5)] | ((_arg1.charCodeAt((_local4 / 8)) & _local3) << (_local4 % 32)));
_local4 = (_local4 + 8);
};
return (_local2);
}
protected static function md5_ff(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{
return (md5_cmn(((_arg2 & _arg3) | (~(_arg2) & _arg4)), _arg1, _arg2, _arg5, _arg6, _arg7));
}
public static function calculate(_arg1:String):String{
return (hex_md5(_arg1));
}
protected static function binl2hex(_arg1:Array):String{
var _local2:String;
var _local3:String;
var _local4:Number;
_local2 = new String("");
_local3 = new String("0123456789abcdef");
_local4 = 0;
while (_local4 < (_arg1.length * 4)) {
_local2 = (_local2 + (_local3.charAt(((_arg1[(_local4 >> 2)] >> (((_local4 % 4) * 8) + 4)) & 15)) + _local3.charAt(((_arg1[(_local4 >> 2)] >> ((_local4 % 4) * 8)) & 15))));
_local4++;
};
return (_local2);
}
protected static function safe_add(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
var _local4:Number;
_local3 = ((_arg1 & 0xFFFF) + (_arg2 & 0xFFFF));
_local4 = (((_arg1 >> 16) + (_arg2 >> 16)) + (_local3 >> 16));
return (((_local4 << 16) | (_local3 & 0xFFFF)));
}
protected static function md5_gg(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{
return (md5_cmn(((_arg2 & _arg4) | (_arg3 & ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7));
}
protected static function md5_ii(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{
return (md5_cmn((_arg3 ^ (_arg2 | ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7));
}
protected static function hex_md5(_arg1:String):String{
return (binl2hex(core_md5(str2binl(_arg1), (_arg1.length * 8))));
}
protected static function bit_rol(_arg1:Number, _arg2:Number):Number{
return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
}
protected static function core_md5(_arg1:Array, _arg2:Number):Array{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
_arg1[(_arg2 >> 5)] = (_arg1[(_arg2 >> 5)] | (128 << (_arg2 % 32)));
_arg1[((((_arg2 + 64) >>> 9) << 4) + 14)] = _arg2;
_local3 = 1732584193;
_local4 = -271733879;
_local5 = -1732584194;
_local6 = 271733878;
_local7 = 0;
while (_local7 < _arg1.length) {
_local8 = _local3;
_local9 = _local4;
_local10 = _local5;
_local11 = _local6;
_local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 7, -680876936);
_local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 1)], 12, -389564586);
_local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 17, 606105819);
_local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 3)], 22, -1044525330);
_local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 7, -176418897);
_local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 5)], 12, 1200080426);
_local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 17, -1473231341);
_local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 7)], 22, -45705983);
_local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 7, 1770035416);
_local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 9)], 12, -1958414417);
_local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 17, -42063);
_local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 11)], 22, -1990404162);
_local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 7, 1804603682);
_local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 13)], 12, -40341101);
_local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 17, -1502002290);
_local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 15)], 22, 1236535329);
_local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 5, -165796510);
_local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 6)], 9, -1069501632);
_local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 14, 643717713);
_local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 0)], 20, -373897302);
_local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 5, -701558691);
_local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 10)], 9, 38016083);
_local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 14, -660478335);
_local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 4)], 20, -405537848);
_local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 5, 568446438);
_local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 14)], 9, -1019803690);
_local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 14, -187363961);
_local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 8)], 20, 1163531501);
_local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 5, -1444681467);
_local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 2)], 9, -51403784);
_local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 14, 1735328473);
_local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 12)], 20, -1926607734);
_local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 4, -378558);
_local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 8)], 11, -2022574463);
_local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 16, 1839030562);
_local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 14)], 23, -35309556);
_local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 4, -1530992060);
_local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 4)], 11, 1272893353);
_local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 16, -155497632);
_local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 10)], 23, -1094730640);
_local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 4, 681279174);
_local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 0)], 11, -358537222);
_local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 16, -722521979);
_local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 6)], 23, 76029189);
_local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 4, -640364487);
_local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 12)], 11, -421815835);
_local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 16, 530742520);
_local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 2)], 23, -995338651);
_local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 6, -198630844);
_local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 7)], 10, 1126891415);
_local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 15, -1416354905);
_local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 5)], 21, -57434055);
_local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 6, 1700485571);
_local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 3)], 10, -1894986606);
_local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 15, -1051523);
_local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 1)], 21, -2054922799);
_local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 6, 1873313359);
_local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 15)], 10, -30611744);
_local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 15, -1560198380);
_local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 13)], 21, 1309151649);
_local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 6, -145523070);
_local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 11)], 10, -1120210379);
_local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 15, 718787259);
_local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 9)], 21, -343485551);
_local3 = safe_add(_local3, _local8);
_local4 = safe_add(_local4, _local9);
_local5 = safe_add(_local5, _local10);
_local6 = safe_add(_local6, _local11);
_local7 = (_local7 + 16);
};
return (new Array(_local3, _local4, _local5, _local6));
}
}
}//package be.boulevart.as3.security
Section 2
//BT_Deck_117 (CardsArena_fla.BT_Deck_117)
package CardsArena_fla {
import flash.display.*;
import flash.text.*;
public dynamic class BT_Deck_117 extends MovieClip {
public var sDeckName:TextField;
}
}//package CardsArena_fla
Section 3
//cardTut1_180 (CardsArena_fla.cardTut1_180)
package CardsArena_fla {
import flash.display.*;
import flash.text.*;
public dynamic class cardTut1_180 extends MovieClip {
public var sHp_TXT:TextField;
public var sAttackRate_TXT:TextField;
public var sDamage_TXT:TextField;
public var sCost_TXT:TextField;
}
}//package CardsArena_fla
Section 4
//DrawGauge_179 (CardsArena_fla.DrawGauge_179)
package CardsArena_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.ui.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
public dynamic class DrawGauge_179 extends MovieClip {
public function DrawGauge_179(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package CardsArena_fla
Section 5
//fireGhost_138 (CardsArena_fla.fireGhost_138)
package CardsArena_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.ui.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
public dynamic class fireGhost_138 extends MovieClip {
public function fireGhost_138(){
addFrameScript(36, frame37);
}
function frame37(){
gotoAndStop(1);
}
}
}//package CardsArena_fla
Section 6
//LazyBananaLogo_190 (CardsArena_fla.LazyBananaLogo_190)
package CardsArena_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.ui.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
public dynamic class LazyBananaLogo_190 extends MovieClip {
public var mLogoBtn:SimpleButton;
public function LazyBananaLogo_190(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package CardsArena_fla
Section 7
//LazyBananaPreloader_1 (CardsArena_fla.LazyBananaPreloader_1)
package CardsArena_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.ui.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
public dynamic class LazyBananaPreloader_1 extends MovieClip {
public var bar:MovieClip;
public var mLogoBtn:SimpleButton;
public var mPlayButton:SimpleButton;
public function LazyBananaPreloader_1(){
addFrameScript(0, frame1, 2, frame3, 3, frame4);
}
function frame3(){
gotoAndPlay(1);
}
function frame1(){
root.stop();
PercentLoaded = (root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal);
if (PercentLoaded != 1){
bar.scaleX = PercentLoaded;
} else {
gotoAndStop(4);
};
}
function frame4(){
mPlayButton.addEventListener(MouseEvent.MOUSE_UP, root.OnPlayButtonMouseUp);
root.gotoAndStop("mainMenu");
}
}
}//package CardsArena_fla
Section 8
//LightSmall_169 (CardsArena_fla.LightSmall_169)
package CardsArena_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.ui.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
public dynamic class LightSmall_169 extends MovieClip {
public function LightSmall_169(){
addFrameScript(50, frame51);
}
function frame51(){
stop();
Main.GetInstance().gotoAndStop("mainMenu");
}
}
}//package CardsArena_fla
Section 9
//MusicBtn_195 (CardsArena_fla.MusicBtn_195)
package CardsArena_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.ui.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
public dynamic class MusicBtn_195 extends MovieClip {
public function MusicBtn_195(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package CardsArena_fla
Section 10
//OptionBarPopUp_198 (CardsArena_fla.OptionBarPopUp_198)
package CardsArena_fla {
import flash.display.*;
import flash.text.*;
public dynamic class OptionBarPopUp_198 extends MovieClip {
public var mText:TextField;
}
}//package CardsArena_fla
Section 11
//QualityBtn_196 (CardsArena_fla.QualityBtn_196)
package CardsArena_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.ui.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
public dynamic class QualityBtn_196 extends MovieClip {
public function QualityBtn_196(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package CardsArena_fla
Section 12
//robot2_130 (CardsArena_fla.robot2_130)
package CardsArena_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.ui.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
public dynamic class robot2_130 extends MovieClip {
public function robot2_130(){
addFrameScript(15, frame16);
}
function frame16(){
gotoAndStop(1);
}
}
}//package CardsArena_fla
Section 13
//SFXBtn_197 (CardsArena_fla.SFXBtn_197)
package CardsArena_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.ui.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
public dynamic class SFXBtn_197 extends MovieClip {
public function SFXBtn_197(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package CardsArena_fla
Section 14
//Symbol12_127 (CardsArena_fla.Symbol12_127)
package CardsArena_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.ui.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
public dynamic class Symbol12_127 extends MovieClip {
public function Symbol12_127(){
addFrameScript(15, frame16);
}
function frame16(){
gotoAndStop(1);
}
}
}//package CardsArena_fla
Section 15
//Symbol474_145 (CardsArena_fla.Symbol474_145)
package CardsArena_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.ui.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
public dynamic class Symbol474_145 extends MovieClip {
public function Symbol474_145(){
addFrameScript(36, frame37);
}
function frame37(){
gotoAndStop(1);
}
}
}//package CardsArena_fla
Section 16
//MemoryCrypto (com.electrotank.util.MemoryCrypto)
package com.electrotank.util {
import com.meychi.ascrypt3.*;
public class MemoryCrypto {
private static var crypto:TEA = null;
private static var INCREMENT:int = 0;
private static var initialized:Boolean = false;
public static var key:String = null;
private static var MULTIPLY:int = 2;
private static var DECREMENT:int = 1;
private static var dataHolder:Object = null;
private static var DIVIDE:int = 3;
public static function incrementValue(_arg1:String, _arg2:Number):Number{
return (processValue(_arg1, _arg2, INCREMENT));
}
public static function getValue(_arg1:String):Number{
var _local2:Number;
initIfNeeded();
_local2 = 0;
if (!isValueSet(_arg1)){
setValue(_arg1, _local2);
} else {
_local2 = new Number(crypto.decrypt(dataHolder[_arg1], key));
};
return (_local2);
}
private static function processValue(_arg1:String, _arg2:Number, _arg3:int):Number{
var _local4:Number;
initIfNeeded();
_local4 = getValue(_arg1);
switch (_arg3){
case INCREMENT:
_local4 = (_local4 + _arg2);
break;
case DECREMENT:
_local4 = (_local4 - _arg2);
break;
case MULTIPLY:
_local4 = (_local4 * _arg2);
break;
case DIVIDE:
_local4 = (_local4 / _arg2);
break;
};
setValue(_arg1, _local4);
return (_local4);
}
public static function reset():void{
initialized = false;
initIfNeeded();
}
public static function decrementValue(_arg1:String, _arg2:Number):Number{
return (processValue(_arg1, _arg2, DECREMENT));
}
private static function initIfNeeded():void{
var _local1:Number;
var _local2:String;
var _local3:Number;
var _local4:String;
if (!initialized){
_local1 = Math.random();
_local2 = new String(_local1);
_local2 = _local2.substr(2, (_local2.length - 2));
_local3 = Math.random();
_local4 = new String(_local3);
_local4 = _local4.substr(2, (_local4.length - 2));
key = (_local2 + _local4);
crypto = new TEA();
dataHolder = new Object();
initialized = true;
};
}
public static function multiplyValue(_arg1:String, _arg2:Number):Number{
return (processValue(_arg1, _arg2, MULTIPLY));
}
public static function setValue(_arg1:String, _arg2:Number):Number{
initIfNeeded();
dataHolder[_arg1] = crypto.encrypt(_arg2.toString(), key);
return (_arg2);
}
public static function divideValue(_arg1:String, _arg2:Number):Number{
if (_arg2 == 0){
throw (new Error("Amount can't be zero when dividing!"));
};
return (processValue(_arg1, _arg2, DIVIDE));
}
public static function isValueSet(_arg1:String):Boolean{
var _local2:Boolean;
initIfNeeded();
_local2 = false;
if (dataHolder[_arg1] != null){
_local2 = true;
};
return (_local2);
}
}
}//package com.electrotank.util
Section 17
//TEA (com.meychi.ascrypt3.TEA)
package com.meychi.ascrypt3 {
public class TEA {
public function encrypt(_arg1:String, _arg2:String):String{
var _local3:Array;
var _local4:Array;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
_local3 = charsToLongs(strToChars(_arg1));
_local4 = charsToLongs(strToChars(_arg2));
_local5 = _local3.length;
if (_local5 == 0){
return ("");
};
if (_local5 == 1){
var _temp1 = _local5;
_local5 = (_local5 + 1);
var _local14 = _temp1;
_local3[_local14] = 0;
};
_local6 = _local3[(_local5 - 1)];
_local7 = _local3[0];
_local8 = 2654435769;
_local11 = Math.floor((6 + (52 / _local5)));
_local12 = 0;
while (_local11-- > 0) {
_local12 = (_local12 + _local8);
_local10 = ((_local12 >>> 2) & 3);
_local13 = 0;
while (_local13 < (_local5 - 1)) {
_local7 = _local3[(_local13 + 1)];
_local9 = ((((_local6 >>> 5) ^ (_local7 << 2)) + ((_local7 >>> 3) ^ (_local6 << 4))) ^ ((_local12 ^ _local7) + (_local4[((_local13 & 3) ^ _local10)] ^ _local6)));
_local6 = (_local3[_local13] = (_local3[_local13] + _local9));
_local13++;
};
_local7 = _local3[0];
_local9 = ((((_local6 >>> 5) ^ (_local7 << 2)) + ((_local7 >>> 3) ^ (_local6 << 4))) ^ ((_local12 ^ _local7) + (_local4[((_local13 & 3) ^ _local10)] ^ _local6)));
_local6 = (_local3[(_local5 - 1)] = (_local3[(_local5 - 1)] + _local9));
};
return (charsToHex(longsToChars(_local3)));
}
public function decrypt(_arg1:String, _arg2:String):String{
var _local3:Array;
var _local4:Array;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
_local3 = charsToLongs(hexToChars(_arg1));
_local4 = charsToLongs(strToChars(_arg2));
_local5 = _local3.length;
if (_local5 == 0){
return ("");
};
_local6 = _local3[(_local5 - 1)];
_local7 = _local3[0];
_local8 = 2654435769;
_local11 = Math.floor((6 + (52 / _local5)));
_local12 = (_local11 * _local8);
while (_local12 != 0) {
_local10 = ((_local12 >>> 2) & 3);
_local13 = (_local5 - 1);
while (_local13 > 0) {
_local6 = _local3[(_local13 - 1)];
_local9 = ((((_local6 >>> 5) ^ (_local7 << 2)) + ((_local7 >>> 3) ^ (_local6 << 4))) ^ ((_local12 ^ _local7) + (_local4[((_local13 & 3) ^ _local10)] ^ _local6)));
_local7 = (_local3[_local13] = (_local3[_local13] - _local9));
_local13--;
};
_local6 = _local3[(_local5 - 1)];
_local9 = ((((_local6 >>> 5) ^ (_local7 << 2)) + ((_local7 >>> 3) ^ (_local6 << 4))) ^ ((_local12 ^ _local7) + (_local4[((_local13 & 3) ^ _local10)] ^ _local6)));
_local7 = (_local3[0] = (_local3[0] - _local9));
_local12 = (_local12 - _local8);
};
return (charsToStr(longsToChars(_local3)));
}
private static function strToChars(_arg1:String):Array{
var _local2:Array;
var _local3:Number;
_local2 = new Array();
_local3 = 0;
while (_local3 < _arg1.length) {
_local2.push(_arg1.charCodeAt(_local3));
_local3++;
};
return (_local2);
}
private static function charsToHex(_arg1:Array):String{
var _local2:String;
var _local3:Array;
var _local4:Number;
_local2 = new String("");
_local3 = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f");
_local4 = 0;
while (_local4 < _arg1.length) {
_local2 = (_local2 + (_local3[(_arg1[_local4] >> 4)] + _local3[(_arg1[_local4] & 15)]));
_local4++;
};
return (_local2);
}
private static function hexToChars(_arg1:String):Array{
var _local2:Array;
var _local3:Number;
_local2 = new Array();
_local3 = ((_arg1.substr(0, 2))=="0x") ? 2 : 0;
while (_local3 < _arg1.length) {
_local2.push(parseInt(_arg1.substr(_local3, 2), 16));
_local3 = (_local3 + 2);
};
return (_local2);
}
private static function charsToStr(_arg1:Array):String{
var _local2:String;
var _local3:Number;
_local2 = new String("");
_local3 = 0;
while (_local3 < _arg1.length) {
_local2 = (_local2 + String.fromCharCode(_arg1[_local3]));
_local3++;
};
return (_local2);
}
private static function longsToChars(_arg1:Array):Array{
var _local2:Array;
var _local3:Number;
_local2 = new Array();
_local3 = 0;
while (_local3 < _arg1.length) {
_local2.push((_arg1[_local3] & 0xFF), ((_arg1[_local3] >>> 8) & 0xFF), ((_arg1[_local3] >>> 16) & 0xFF), ((_arg1[_local3] >>> 24) & 0xFF));
_local3++;
};
return (_local2);
}
private static function charsToLongs(_arg1:Array):Array{
var _local2:Array;
var _local3:Number;
_local2 = new Array(Math.ceil((_arg1.length / 4)));
_local3 = 0;
while (_local3 < _local2.length) {
_local2[_local3] = (((_arg1[(_local3 * 4)] + (_arg1[((_local3 * 4) + 1)] << 8)) + (_arg1[((_local3 * 4) + 2)] << 16)) + (_arg1[((_local3 * 4) + 3)] << 24));
_local3++;
};
return (_local2);
}
}
}//package com.meychi.ascrypt3
Section 18
//PM_PRNG (de.polygonal.math.PM_PRNG)
package de.polygonal.math {
public class PM_PRNG {
public static var seed:uint = now.getTime();
public static var now:Date = new Date();
public function PM_PRNG(){
var _local1:Date;
super();
_local1 = new Date();
}
public static function nextDoubleRange(_arg1:Number, _arg2:Number):Number{
return ((_arg1 + ((_arg2 - _arg1) * nextDouble())));
}
public static function nextDouble():Number{
return ((gen() / 2147483647));
}
private static function gen():uint{
return ((seed = ((seed * 16807) % 2147483647)));
}
public static function nextIntRange(_arg1:Number, _arg2:Number):uint{
_arg1 = (_arg1 - 0.4999);
_arg2 = (_arg2 + 0.4999);
return (Math.round((_arg1 + ((_arg2 - _arg1) * nextDouble()))));
}
public static function nextInt():uint{
return (gen());
}
}
}//package de.polygonal.math
Section 19
//BaseScrollPane (fl.containers.BaseScrollPane)
package fl.containers {
import fl.core.*;
import fl.controls.*;
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import fl.events.*;
public class BaseScrollPane extends UIComponent {
protected var defaultLineScrollSize:Number;// = 4
protected var _maxHorizontalScrollPosition:Number;// = 0
protected var vScrollBar:Boolean;
protected var disabledOverlay:Shape;
protected var hScrollBar:Boolean;
protected var availableWidth:Number;
protected var _verticalPageScrollSize:Number;// = 0
protected var vOffset:Number;// = 0
protected var _verticalScrollBar:ScrollBar;
protected var useFixedHorizontalScrolling:Boolean;// = false
protected var contentWidth:Number;// = 0
protected var contentHeight:Number;// = 0
protected var _horizontalPageScrollSize:Number;// = 0
protected var background:DisplayObject;
protected var _useBitmpScrolling:Boolean;// = false
protected var contentPadding:Number;// = 0
protected var availableHeight:Number;
protected var _horizontalScrollBar:ScrollBar;
protected var contentScrollRect:Rectangle;
protected var _horizontalScrollPolicy:String;
protected var _verticalScrollPolicy:String;
protected static const SCROLL_BAR_STYLES:Object = {upArrowDisabledSkin:"upArrowDisabledSkin", upArrowDownSkin:"upArrowDownSkin", upArrowOverSkin:"upArrowOverSkin", upArrowUpSkin:"upArrowUpSkin", downArrowDisabledSkin:"downArrowDisabledSkin", downArrowDownSkin:"downArrowDownSkin", downArrowOverSkin:"downArrowOverSkin", downArrowUpSkin:"downArrowUpSkin", thumbDisabledSkin:"thumbDisabledSkin", thumbDownSkin:"thumbDownSkin", thumbOverSkin:"thumbOverSkin", thumbUpSkin:"thumbUpSkin", thumbIcon:"thumbIcon", trackDisabledSkin:"trackDisabledSkin", trackDownSkin:"trackDownSkin", trackOverSkin:"trackOverSkin", trackUpSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
private static var defaultStyles:Object = {repeatDelay:500, repeatInterval:35, skin:"ScrollPane_upSkin", contentPadding:0, disabledAlpha:0.5};
public function BaseScrollPane(){
contentWidth = 0;
contentHeight = 0;
contentPadding = 0;
vOffset = 0;
_maxHorizontalScrollPosition = 0;
_horizontalPageScrollSize = 0;
_verticalPageScrollSize = 0;
defaultLineScrollSize = 4;
useFixedHorizontalScrolling = false;
_useBitmpScrolling = false;
super();
}
protected function handleWheel(_arg1:MouseEvent):void{
if (((((!(enabled)) || (!(_verticalScrollBar.visible)))) || ((contentHeight <= availableHeight)))){
return;
};
_verticalScrollBar.scrollPosition = (_verticalScrollBar.scrollPosition - (_arg1.delta * verticalLineScrollSize));
setVerticalScrollPosition(_verticalScrollBar.scrollPosition);
dispatchEvent(new ScrollEvent(ScrollBarDirection.VERTICAL, _arg1.delta, horizontalScrollPosition));
}
public function get verticalScrollPosition():Number{
return (_verticalScrollBar.scrollPosition);
}
protected function drawDisabledOverlay():void{
if (enabled){
if (contains(disabledOverlay)){
removeChild(disabledOverlay);
};
} else {
disabledOverlay.x = (disabledOverlay.y = contentPadding);
disabledOverlay.width = availableWidth;
disabledOverlay.height = availableHeight;
disabledOverlay.alpha = (getStyleValue("disabledAlpha") as Number);
addChild(disabledOverlay);
};
}
public function set verticalScrollPosition(_arg1:Number):void{
drawNow();
_verticalScrollBar.scrollPosition = _arg1;
setVerticalScrollPosition(_verticalScrollBar.scrollPosition, false);
}
protected function setContentSize(_arg1:Number, _arg2:Number):void{
if ((((((contentWidth == _arg1)) || (useFixedHorizontalScrolling))) && ((contentHeight == _arg2)))){
return;
};
contentWidth = _arg1;
contentHeight = _arg2;
invalidate(InvalidationType.SIZE);
}
public function get horizontalScrollPosition():Number{
return (_horizontalScrollBar.scrollPosition);
}
public function get horizontalScrollBar():ScrollBar{
return (_horizontalScrollBar);
}
override public function set enabled(_arg1:Boolean):void{
if (enabled == _arg1){
return;
};
_verticalScrollBar.enabled = _arg1;
_horizontalScrollBar.enabled = _arg1;
super.enabled = _arg1;
}
public function get verticalLineScrollSize():Number{
return (_verticalScrollBar.lineScrollSize);
}
public function get horizontalScrollPolicy():String{
return (_horizontalScrollPolicy);
}
protected function calculateAvailableSize():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local1 = ScrollBar.WIDTH;
_local2 = (contentPadding = Number(getStyleValue("contentPadding")));
_local3 = ((height - (2 * _local2)) - vOffset);
vScrollBar = (((_verticalScrollPolicy == ScrollPolicy.ON)) || ((((_verticalScrollPolicy == ScrollPolicy.AUTO)) && ((contentHeight > _local3)))));
_local4 = ((width - (vScrollBar) ? _local1 : 0) - (2 * _local2));
_local5 = (useFixedHorizontalScrolling) ? _maxHorizontalScrollPosition : (contentWidth - _local4);
hScrollBar = (((_horizontalScrollPolicy == ScrollPolicy.ON)) || ((((_horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((_local5 > 0)))));
if (hScrollBar){
_local3 = (_local3 - _local1);
};
if (((((((hScrollBar) && (!(vScrollBar)))) && ((_verticalScrollPolicy == ScrollPolicy.AUTO)))) && ((contentHeight > _local3)))){
vScrollBar = true;
_local4 = (_local4 - _local1);
};
availableHeight = (_local3 + vOffset);
availableWidth = _local4;
}
public function get maxVerticalScrollPosition():Number{
drawNow();
return (Math.max(0, (contentHeight - availableHeight)));
}
public function set horizontalScrollPosition(_arg1:Number):void{
drawNow();
_horizontalScrollBar.scrollPosition = _arg1;
setHorizontalScrollPosition(_horizontalScrollBar.scrollPosition, false);
}
public function get horizontalLineScrollSize():Number{
return (_horizontalScrollBar.lineScrollSize);
}
public function set verticalPageScrollSize(_arg1:Number):void{
_verticalPageScrollSize = _arg1;
invalidate(InvalidationType.SIZE);
}
public function get verticalScrollPolicy():String{
return (_verticalScrollPolicy);
}
protected function setHorizontalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
}
public function get useBitmapScrolling():Boolean{
return (_useBitmpScrolling);
}
protected function handleScroll(_arg1:ScrollEvent):void{
if (_arg1.target == _verticalScrollBar){
setVerticalScrollPosition(_arg1.position);
} else {
setHorizontalScrollPosition(_arg1.position);
};
}
public function set verticalLineScrollSize(_arg1:Number):void{
_verticalScrollBar.lineScrollSize = _arg1;
}
public function get verticalScrollBar():ScrollBar{
return (_verticalScrollBar);
}
protected function setVerticalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
}
public function set horizontalPageScrollSize(_arg1:Number):void{
_horizontalPageScrollSize = _arg1;
invalidate(InvalidationType.SIZE);
}
override protected function draw():void{
if (isInvalid(InvalidationType.STYLES)){
setStyles();
drawBackground();
if (contentPadding != getStyleValue("contentPadding")){
invalidate(InvalidationType.SIZE, false);
};
};
if (isInvalid(InvalidationType.SIZE, InvalidationType.STATE)){
drawLayout();
};
updateChildren();
super.draw();
}
public function set horizontalScrollPolicy(_arg1:String):void{
_horizontalScrollPolicy = _arg1;
invalidate(InvalidationType.SIZE);
}
override protected function configUI():void{
var _local1:Graphics;
super.configUI();
contentScrollRect = new Rectangle(0, 0, 85, 85);
_verticalScrollBar = new ScrollBar();
_verticalScrollBar.addEventListener(ScrollEvent.SCROLL, handleScroll, false, 0, true);
_verticalScrollBar.visible = false;
_verticalScrollBar.lineScrollSize = defaultLineScrollSize;
addChild(_verticalScrollBar);
copyStylesToChild(_verticalScrollBar, SCROLL_BAR_STYLES);
_horizontalScrollBar = new ScrollBar();
_horizontalScrollBar.direction = ScrollBarDirection.HORIZONTAL;
_horizontalScrollBar.addEventListener(ScrollEvent.SCROLL, handleScroll, false, 0, true);
_horizontalScrollBar.visible = false;
_horizontalScrollBar.lineScrollSize = defaultLineScrollSize;
addChild(_horizontalScrollBar);
copyStylesToChild(_horizontalScrollBar, SCROLL_BAR_STYLES);
disabledOverlay = new Shape();
_local1 = disabledOverlay.graphics;
_local1.beginFill(0xFFFFFF);
_local1.drawRect(0, 0, width, height);
_local1.endFill();
addEventListener(MouseEvent.MOUSE_WHEEL, handleWheel, false, 0, true);
}
protected function calculateContentWidth():void{
}
public function get verticalPageScrollSize():Number{
if (isNaN(availableHeight)){
drawNow();
};
return (((((_verticalPageScrollSize == 0)) && (!(isNaN(availableHeight))))) ? availableHeight : _verticalPageScrollSize);
}
protected function drawLayout():void{
calculateAvailableSize();
calculateContentWidth();
background.width = width;
background.height = height;
if (vScrollBar){
_verticalScrollBar.visible = true;
_verticalScrollBar.x = ((width - ScrollBar.WIDTH) - contentPadding);
_verticalScrollBar.y = contentPadding;
_verticalScrollBar.height = availableHeight;
} else {
_verticalScrollBar.visible = false;
};
_verticalScrollBar.setScrollProperties(availableHeight, 0, (contentHeight - availableHeight), verticalPageScrollSize);
setVerticalScrollPosition(_verticalScrollBar.scrollPosition, false);
if (hScrollBar){
_horizontalScrollBar.visible = true;
_horizontalScrollBar.x = contentPadding;
_horizontalScrollBar.y = ((height - ScrollBar.WIDTH) - contentPadding);
_horizontalScrollBar.width = availableWidth;
} else {
_horizontalScrollBar.visible = false;
};
_horizontalScrollBar.setScrollProperties(availableWidth, 0, (useFixedHorizontalScrolling) ? _maxHorizontalScrollPosition : (contentWidth - availableWidth), horizontalPageScrollSize);
setHorizontalScrollPosition(_horizontalScrollBar.scrollPosition, false);
drawDisabledOverlay();
}
protected function drawBackground():void{
var _local1:DisplayObject;
_local1 = background;
background = getDisplayObjectInstance(getStyleValue("skin"));
background.width = width;
background.height = height;
addChildAt(background, 0);
if (((!((_local1 == null))) && (!((_local1 == background))))){
removeChild(_local1);
};
}
public function set horizontalLineScrollSize(_arg1:Number):void{
_horizontalScrollBar.lineScrollSize = _arg1;
}
public function get horizontalPageScrollSize():Number{
if (isNaN(availableWidth)){
drawNow();
};
return (((((_horizontalPageScrollSize == 0)) && (!(isNaN(availableWidth))))) ? availableWidth : _horizontalPageScrollSize);
}
public function get maxHorizontalScrollPosition():Number{
drawNow();
return (Math.max(0, (contentWidth - availableWidth)));
}
protected function setStyles():void{
copyStylesToChild(_verticalScrollBar, SCROLL_BAR_STYLES);
copyStylesToChild(_horizontalScrollBar, SCROLL_BAR_STYLES);
}
protected function updateChildren():void{
_verticalScrollBar.enabled = (_horizontalScrollBar.enabled = enabled);
_verticalScrollBar.drawNow();
_horizontalScrollBar.drawNow();
}
public function set verticalScrollPolicy(_arg1:String):void{
_verticalScrollPolicy = _arg1;
invalidate(InvalidationType.SIZE);
}
public function set useBitmapScrolling(_arg1:Boolean):void{
_useBitmpScrolling = _arg1;
invalidate(InvalidationType.STATE);
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, ScrollBar.getStyleDefinition()));
}
}
}//package fl.containers
Section 20
//ScrollPane (fl.containers.ScrollPane)
package fl.containers {
import fl.core.*;
import fl.controls.*;
import flash.display.*;
import flash.events.*;
import fl.managers.*;
import fl.events.*;
import flash.net.*;
import flash.system.*;
import flash.ui.*;
public class ScrollPane extends BaseScrollPane implements IFocusManagerComponent {
protected var scrollDragHPos:Number;
protected var loader:Loader;
protected var yOffset:Number;
protected var currentContent:Object;
protected var xOffset:Number;
protected var _source:Object;// = ""
protected var scrollDragVPos:Number;
protected var _scrollDrag:Boolean;// = false
protected var contentClip:Sprite;
private static var defaultStyles:Object = {upSkin:"ScrollPane_upSkin", disabledSkin:"ScrollPane_disabledSkin", focusRectSkin:null, focusRectPadding:null, contentPadding:0};
public function ScrollPane(){
_source = "";
_scrollDrag = false;
super();
}
public function get source():Object{
return (_source);
}
public function set source(_arg1:Object):void{
var _local2:*;
clearContent();
if (isLivePreview){
return;
};
_source = _arg1;
if ((((_source == "")) || ((_source == null)))){
return;
};
currentContent = getDisplayObjectInstance(_arg1);
if (currentContent != null){
_local2 = contentClip.addChild((currentContent as DisplayObject));
dispatchEvent(new Event(Event.INIT));
update();
} else {
load(new URLRequest(_source.toString()));
};
}
public function get bytesLoaded():Number{
return (((((loader == null)) || ((loader.contentLoaderInfo == null)))) ? 0 : loader.contentLoaderInfo.bytesLoaded);
}
protected function doDrag(_arg1:MouseEvent):void{
var _local2:*;
var _local3:*;
_local2 = (scrollDragVPos - (mouseY - yOffset));
_verticalScrollBar.setScrollPosition(_local2);
setVerticalScrollPosition(_verticalScrollBar.scrollPosition, true);
_local3 = (scrollDragHPos - (mouseX - xOffset));
_horizontalScrollBar.setScrollPosition(_local3);
setHorizontalScrollPosition(_horizontalScrollBar.scrollPosition, true);
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
var _local2:int;
_local2 = calculateAvailableHeight();
switch (_arg1.keyCode){
case Keyboard.DOWN:
verticalScrollPosition++;
break;
case Keyboard.UP:
verticalScrollPosition--;
break;
case Keyboard.RIGHT:
horizontalScrollPosition++;
break;
case Keyboard.LEFT:
horizontalScrollPosition--;
break;
case Keyboard.END:
verticalScrollPosition = maxVerticalScrollPosition;
break;
case Keyboard.HOME:
verticalScrollPosition = 0;
break;
case Keyboard.PAGE_UP:
verticalScrollPosition = (verticalScrollPosition - _local2);
break;
case Keyboard.PAGE_DOWN:
verticalScrollPosition = (verticalScrollPosition + _local2);
break;
};
}
protected function doStartDrag(_arg1:MouseEvent):void{
if (!enabled){
return;
};
xOffset = mouseX;
yOffset = mouseY;
scrollDragHPos = horizontalScrollPosition;
scrollDragVPos = verticalScrollPosition;
stage.addEventListener(MouseEvent.MOUSE_MOVE, doDrag, false, 0, true);
}
public function get content():DisplayObject{
var _local1:Object;
_local1 = currentContent;
if ((_local1 is URLRequest)){
_local1 = loader.content;
};
return ((_local1 as DisplayObject));
}
public function get percentLoaded():Number{
if (loader != null){
return (Math.round(((bytesLoaded / bytesTotal) * 100)));
};
return (0);
}
protected function endDrag(_arg1:MouseEvent):void{
stage.removeEventListener(MouseEvent.MOUSE_MOVE, doDrag);
}
public function update():void{
var _local1:DisplayObject;
_local1 = contentClip.getChildAt(0);
setContentSize(_local1.width, _local1.height);
}
override protected function setHorizontalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
var _local3:*;
_local3 = contentClip.scrollRect;
_local3.x = _arg1;
contentClip.scrollRect = _local3;
}
public function refreshPane():void{
if ((_source is URLRequest)){
_source = _source.url;
};
source = _source;
}
protected function passEvent(_arg1:Event):void{
dispatchEvent(_arg1);
}
protected function calculateAvailableHeight():Number{
var _local1:Number;
_local1 = Number(getStyleValue("contentPadding"));
return (((height - (_local1 * 2)) - ((((_horizontalScrollPolicy == ScrollPolicy.ON)) || ((((_horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((_maxHorizontalScrollPosition > 0)))))) ? 15 : 0));
}
public function load(_arg1:URLRequest, _arg2:LoaderContext=null):void{
if (_arg2 == null){
_arg2 = new LoaderContext(false, ApplicationDomain.currentDomain);
};
clearContent();
initLoader();
currentContent = (_source = _arg1);
loader.load(_arg1, _arg2);
}
override protected function handleScroll(_arg1:ScrollEvent):void{
passEvent(_arg1);
super.handleScroll(_arg1);
}
override protected function setVerticalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
var _local3:*;
_local3 = contentClip.scrollRect;
_local3.y = _arg1;
contentClip.scrollRect = _local3;
}
protected function initLoader():void{
loader = new Loader();
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, passEvent, false, 0, true);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onContentLoad, false, 0, true);
loader.contentLoaderInfo.addEventListener(Event.INIT, passEvent, false, 0, true);
contentClip.addChild(loader);
}
override protected function draw():void{
if (isInvalid(InvalidationType.STYLES)){
drawBackground();
};
if (isInvalid(InvalidationType.STATE)){
setScrollDrag();
};
super.draw();
}
override protected function configUI():void{
super.configUI();
contentClip = new Sprite();
addChild(contentClip);
contentClip.scrollRect = contentScrollRect;
_horizontalScrollPolicy = ScrollPolicy.AUTO;
_verticalScrollPolicy = ScrollPolicy.AUTO;
}
public function set scrollDrag(_arg1:Boolean):void{
_scrollDrag = _arg1;
invalidate(InvalidationType.STATE);
}
protected function clearContent():void{
if (contentClip.numChildren == 0){
return;
};
contentClip.removeChildAt(0);
currentContent = null;
if (loader != null){
try {
loader.close();
} catch(e) {
};
try {
loader.unload();
} catch(e) {
};
loader = null;
};
}
override protected function drawLayout():void{
super.drawLayout();
contentScrollRect = contentClip.scrollRect;
contentScrollRect.width = availableWidth;
contentScrollRect.height = availableHeight;
contentClip.cacheAsBitmap = useBitmapScrolling;
contentClip.scrollRect = contentScrollRect;
contentClip.x = (contentClip.y = contentPadding);
}
override protected function drawBackground():void{
var _local1:DisplayObject;
_local1 = background;
background = getDisplayObjectInstance(getStyleValue((enabled) ? "upSkin" : "disabledSkin"));
background.width = width;
background.height = height;
addChildAt(background, 0);
if (((!((_local1 == null))) && (!((_local1 == background))))){
removeChild(_local1);
};
}
public function get bytesTotal():Number{
return (((((loader == null)) || ((loader.contentLoaderInfo == null)))) ? 0 : loader.contentLoaderInfo.bytesTotal);
}
protected function onContentLoad(_arg1:Event):void{
var _local2:*;
update();
_local2 = calculateAvailableHeight();
calculateAvailableSize();
horizontalScrollBar.setScrollProperties(availableWidth, 0, (useFixedHorizontalScrolling) ? _maxHorizontalScrollPosition : (contentWidth - availableWidth), availableWidth);
verticalScrollBar.setScrollProperties(_local2, 0, (contentHeight - _local2), _local2);
passEvent(_arg1);
}
public function get scrollDrag():Boolean{
return (_scrollDrag);
}
protected function setScrollDrag():void{
if (_scrollDrag){
contentClip.addEventListener(MouseEvent.MOUSE_DOWN, doStartDrag, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_UP, endDrag, false, 0, true);
} else {
contentClip.removeEventListener(MouseEvent.MOUSE_DOWN, doStartDrag);
stage.removeEventListener(MouseEvent.MOUSE_UP, endDrag);
removeEventListener(MouseEvent.MOUSE_MOVE, doDrag);
};
contentClip.buttonMode = _scrollDrag;
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, BaseScrollPane.getStyleDefinition()));
}
}
}//package fl.containers
Section 21
//CellRenderer (fl.controls.listClasses.CellRenderer)
package fl.controls.listClasses {
import fl.controls.*;
import flash.events.*;
public class CellRenderer extends LabelButton implements ICellRenderer {
protected var _data:Object;
protected var _listData:ListData;
private static var defaultStyles:Object = {upSkin:"CellRenderer_upSkin", downSkin:"CellRenderer_downSkin", overSkin:"CellRenderer_overSkin", disabledSkin:"CellRenderer_disabledSkin", selectedDisabledSkin:"CellRenderer_selectedDisabledSkin", selectedUpSkin:"CellRenderer_selectedUpSkin", selectedDownSkin:"CellRenderer_selectedDownSkin", selectedOverSkin:"CellRenderer_selectedOverSkin", textFormat:null, disabledTextFormat:null, embedFonts:null, textPadding:5};
public function CellRenderer():void{
toggle = true;
focusEnabled = false;
}
override protected function toggleSelected(_arg1:MouseEvent):void{
}
override public function get selected():Boolean{
return (super.selected);
}
public function set listData(_arg1:ListData):void{
_listData = _arg1;
label = _listData.label;
setStyle("icon", _listData.icon);
}
override public function set selected(_arg1:Boolean):void{
super.selected = _arg1;
}
public function set data(_arg1:Object):void{
_data = _arg1;
}
public function get listData():ListData{
return (_listData);
}
override public function setSize(_arg1:Number, _arg2:Number):void{
super.setSize(_arg1, _arg2);
}
override protected function drawLayout():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
_local1 = Number(getStyleValue("textPadding"));
_local2 = 0;
if (icon != null){
icon.x = _local1;
icon.y = Math.round(((height - icon.height) >> 1));
_local2 = (icon.width + _local1);
};
if (label.length > 0){
textField.visible = true;
_local3 = Math.max(0, ((width - _local2) - (_local1 * 2)));
textField.width = _local3;
textField.height = (textField.textHeight + 4);
textField.x = (_local2 + _local1);
textField.y = Math.round(((height - textField.height) >> 1));
} else {
textField.visible = false;
};
background.width = width;
background.height = height;
}
public function get data():Object{
return (_data);
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls.listClasses
Section 22
//ICellRenderer (fl.controls.listClasses.ICellRenderer)
package fl.controls.listClasses {
public interface ICellRenderer {
function setSize(_arg1:Number, _arg2:Number):void;
function get listData():ListData;
function get data():Object;
function setMouseState(_arg1:String):void;
function set x(_arg1:Number):void;
function set y(_arg1:Number):void;
function set data(_arg1:Object):void;
function set selected(_arg1:Boolean):void;
function set listData(_arg1:ListData):void;
function get selected():Boolean;
}
}//package fl.controls.listClasses
Section 23
//ListData (fl.controls.listClasses.ListData)
package fl.controls.listClasses {
import fl.core.*;
public class ListData {
protected var _index:uint;
protected var _owner:UIComponent;
protected var _label:String;
protected var _icon:Object;// = null
protected var _row:uint;
protected var _column:uint;
public function ListData(_arg1:String, _arg2:Object, _arg3:UIComponent, _arg4:uint, _arg5:uint, _arg6:uint=0){
_icon = null;
super();
_label = _arg1;
_icon = _arg2;
_owner = _arg3;
_index = _arg4;
_row = _arg5;
_column = _arg6;
}
public function get owner():UIComponent{
return (_owner);
}
public function get label():String{
return (_label);
}
public function get row():uint{
return (_row);
}
public function get index():uint{
return (_index);
}
public function get icon():Object{
return (_icon);
}
public function get column():uint{
return (_column);
}
}
}//package fl.controls.listClasses
Section 24
//BaseButton (fl.controls.BaseButton)
package fl.controls {
import fl.core.*;
import flash.display.*;
import flash.events.*;
import fl.events.*;
import flash.utils.*;
public class BaseButton extends UIComponent {
protected var _selected:Boolean;// = false
private var unlockedMouseState:String;
protected var pressTimer:Timer;
protected var mouseState:String;
protected var background:DisplayObject;
private var _mouseStateLocked:Boolean;// = false
protected var _autoRepeat:Boolean;// = false
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(){
_selected = false;
_autoRepeat = false;
_mouseStateLocked = false;
super();
buttonMode = true;
mouseChildren = false;
useHandCursor = false;
setupMouseEvents();
setMouseState("up");
pressTimer = new Timer(1, 0);
pressTimer.addEventListener(TimerEvent.TIMER, buttonDown, false, 0, true);
}
protected function endPress():void{
pressTimer.reset();
}
public function set mouseStateLocked(_arg1:Boolean):void{
_mouseStateLocked = _arg1;
if (_arg1 == false){
setMouseState(unlockedMouseState);
} else {
unlockedMouseState = mouseState;
};
}
public function get autoRepeat():Boolean{
return (_autoRepeat);
}
public function set autoRepeat(_arg1:Boolean):void{
_autoRepeat = _arg1;
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
mouseEnabled = _arg1;
}
public function get selected():Boolean{
return (_selected);
}
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();
};
};
};
}
public function setMouseState(_arg1:String):void{
if (_mouseStateLocked){
unlockedMouseState = _arg1;
return;
};
if (mouseState == _arg1){
return;
};
mouseState = _arg1;
invalidate(InvalidationType.STATE);
}
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));
}
public function set selected(_arg1:Boolean):void{
if (_selected == _arg1){
return;
};
_selected = _arg1;
invalidate(InvalidationType.STATE);
}
override public function get enabled():Boolean{
return (super.enabled);
}
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 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 drawLayout():void{
background.width = width;
background.height = height;
}
protected function drawBackground():void{
var _local1:String;
var _local2:DisplayObject;
_local1 = (enabled) ? mouseState : "disabled";
if (selected){
_local1 = (("selected" + _local1.substr(0, 1).toUpperCase()) + _local1.substr(1));
};
_local1 = (_local1 + "Skin");
_local2 = background;
background = getDisplayObjectInstance(getStyleValue(_local1));
addChildAt(background, 0);
if (((!((_local2 == null))) && (!((_local2 == background))))){
removeChild(_local2);
};
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 25
//Button (fl.controls.Button)
package fl.controls {
import fl.core.*;
import flash.display.*;
import fl.managers.*;
public class Button extends LabelButton implements IFocusManagerComponent {
protected var emphasizedBorder:DisplayObject;
protected var _emphasized:Boolean;// = false
private static var defaultStyles:Object = {emphasizedSkin:"Button_emphasizedSkin", emphasizedPadding:2};
public static var createAccessibilityImplementation:Function;
public function Button(){
_emphasized = false;
super();
}
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));
};
}
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));
};
}
public function get emphasized():Boolean{
return (_emphasized);
}
override protected function initializeAccessibility():void{
if (Button.createAccessibilityImplementation != null){
Button.createAccessibilityImplementation(this);
};
}
protected function drawEmphasized():void{
var _local1:Object;
var _local2:Number;
if (emphasizedBorder != null){
removeChild(emphasizedBorder);
};
emphasizedBorder = null;
if (!_emphasized){
return;
};
_local1 = 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));
};
}
public static function getStyleDefinition():Object{
return (UIComponent.mergeStyles(LabelButton.getStyleDefinition(), defaultStyles));
}
}
}//package fl.controls
Section 26
//ButtonLabelPlacement (fl.controls.ButtonLabelPlacement)
package fl.controls {
public class ButtonLabelPlacement {
public static const TOP:String = "top";
public static const LEFT:String = "left";
public static const BOTTOM:String = "bottom";
public static const RIGHT:String = "right";
}
}//package fl.controls
Section 27
//ComboBox (fl.controls.ComboBox)
package fl.controls {
import fl.controls.listClasses.*;
import fl.core.*;
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import fl.data.*;
import fl.managers.*;
import fl.events.*;
import flash.text.*;
import flash.ui.*;
public class ComboBox extends UIComponent implements IFocusManagerComponent {
protected var _dropdownWidth:Number;
protected var highlightedCell:int;// = -1
protected var _prompt:String;
protected var isOpen:Boolean;// = false
protected var list:List;
protected var _rowCount:uint;// = 5
protected var currentIndex:int;
protected var isKeyDown:Boolean;// = false
protected var _labels:Array;
protected var background:BaseButton;
protected var inputField:TextInput;
protected var listOverIndex:uint;
protected var editableValue:String;
protected var _editable:Boolean;// = false
private var collectionItemImport:SimpleCollectionItem;
protected static const BACKGROUND_STYLES:Object = {overSkin:"overSkin", downSkin:"downSkin", upSkin:"upSkin", disabledSkin:"disabledSkin", repeatInterval:"repeatInterval"};
protected static const LIST_STYLES:Object = {upSkin:"comboListUpSkin", overSkin:"comboListOverSkin", downSkin:"comobListDownSkin", disabledSkin:"comboListDisabledSkin", downArrowDisabledSkin:"downArrowDisabledSkin", downArrowDownSkin:"downArrowDownSkin", downArrowOverSkin:"downArrowOverSkin", downArrowUpSkin:"downArrowUpSkin", upArrowDisabledSkin:"upArrowDisabledSkin", upArrowDownSkin:"upArrowDownSkin", upArrowOverSkin:"upArrowOverSkin", upArrowUpSkin:"upArrowUpSkin", thumbDisabledSkin:"thumbDisabledSkin", thumbDownSkin:"thumbDownSkin", thumbOverSkin:"thumbOverSkin", thumbUpSkin:"thumbUpSkin", thumbIcon:"thumbIcon", trackDisabledSkin:"trackDisabledSkin", trackDownSkin:"trackDownSkin", trackOverSkin:"trackOverSkin", trackUpSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval", textFormat:"textFormat", disabledAlpha:"disabledAlpha", skin:"listSkin"};
private static var defaultStyles:Object = {upSkin:"ComboBox_upSkin", downSkin:"ComboBox_downSkin", overSkin:"ComboBox_overSkin", disabledSkin:"ComboBox_disabledSkin", focusRectSkin:null, focusRectPadding:null, textFormat:null, disabledTextFormat:null, textPadding:3, buttonWidth:24, disabledAlpha:null, listSkin:null};
public static var createAccessibilityImplementation:Function;
public function ComboBox(){
_rowCount = 5;
_editable = false;
isOpen = false;
highlightedCell = -1;
isKeyDown = false;
super();
}
protected function drawList():void{
list.rowCount = Math.max(0, Math.min(_rowCount, list.dataProvider.length));
}
public function set imeMode(_arg1:String):void{
inputField.imeMode = _arg1;
}
public function get dropdown():List{
return (list);
}
public function get dropdownWidth():Number{
return (list.width);
}
public function sortItemsOn(_arg1:String, _arg2:Object=null){
return (list.sortItemsOn(_arg1, _arg2));
}
protected function onEnter(_arg1:ComponentEvent):void{
_arg1.stopPropagation();
}
public function removeItemAt(_arg1:uint):void{
list.removeItemAt(_arg1);
invalidate(InvalidationType.DATA);
}
public function open():void{
currentIndex = selectedIndex;
if (((isOpen) || ((length == 0)))){
return;
};
dispatchEvent(new Event(Event.OPEN));
isOpen = true;
addEventListener(Event.ENTER_FRAME, addCloseListener, false, 0, true);
positionList();
list.scrollToSelected();
stage.addChild(list);
}
public function get selectedItem():Object{
return (list.selectedItem);
}
public function set text(_arg1:String):void{
if (!editable){
return;
};
inputField.text = _arg1;
}
public function get labelField():String{
return (list.labelField);
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
var _local2:int;
var _local3:uint;
var _local4:Number;
var _local5:int;
isKeyDown = true;
if (_arg1.ctrlKey){
switch (_arg1.keyCode){
case Keyboard.UP:
if (highlightedCell > -1){
selectedIndex = highlightedCell;
dispatchEvent(new Event(Event.CHANGE));
};
close();
break;
case Keyboard.DOWN:
open();
break;
};
return;
};
_arg1.stopPropagation();
_local2 = Math.max(((calculateAvailableHeight() / list.rowHeight) << 0), 1);
_local3 = selectedIndex;
_local4 = ((highlightedCell)==-1) ? selectedIndex : highlightedCell;
_local5 = -1;
switch (_arg1.keyCode){
case Keyboard.SPACE:
if (isOpen){
close();
} else {
open();
};
return;
case Keyboard.ESCAPE:
if (isOpen){
if (highlightedCell > -1){
selectedIndex = selectedIndex;
};
close();
};
return;
case Keyboard.UP:
_local5 = Math.max(0, (_local4 - 1));
break;
case Keyboard.DOWN:
_local5 = Math.min((length - 1), (_local4 + 1));
break;
case Keyboard.PAGE_UP:
_local5 = Math.max((_local4 - _local2), 0);
break;
case Keyboard.PAGE_DOWN:
_local5 = Math.min((_local4 + _local2), (length - 1));
break;
case Keyboard.HOME:
_local5 = 0;
break;
case Keyboard.END:
_local5 = (length - 1);
break;
case Keyboard.ENTER:
if (((_editable) && ((highlightedCell == -1)))){
editableValue = inputField.text;
selectedIndex = -1;
} else {
if (((isOpen) && ((highlightedCell > -1)))){
editableValue = null;
selectedIndex = highlightedCell;
dispatchEvent(new Event(Event.CHANGE));
};
};
dispatchEvent(new ComponentEvent(ComponentEvent.ENTER));
close();
return;
default:
if (editable){
break;
};
_local5 = list.getNextIndexAtLetter(String.fromCharCode(_arg1.keyCode), _local4);
break;
};
if (_local5 > -1){
if (isOpen){
highlightCell(_local5);
inputField.text = list.itemToLabel(getItemAt(_local5));
} else {
highlightCell();
selectedIndex = _local5;
dispatchEvent(new Event(Event.CHANGE));
};
};
}
public function set dropdownWidth(_arg1:Number):void{
_dropdownWidth = _arg1;
invalidate(InvalidationType.SIZE);
}
public function get editable():Boolean{
return (_editable);
}
override protected function focusInHandler(_arg1:FocusEvent):void{
super.focusInHandler(_arg1);
if (editable){
stage.focus = inputField.textField;
};
}
protected function onStageClick(_arg1:MouseEvent):void{
if (!isOpen){
return;
};
if (((!(contains((_arg1.target as DisplayObject)))) && (!(list.contains((_arg1.target as DisplayObject)))))){
if (highlightedCell != -1){
selectedIndex = highlightedCell;
dispatchEvent(new Event(Event.CHANGE));
};
close();
};
}
protected function handleDataChange(_arg1:DataChangeEvent):void{
invalidate(InvalidationType.DATA);
}
override protected function keyUpHandler(_arg1:KeyboardEvent):void{
isKeyDown = false;
}
protected function onListItemUp(_arg1:MouseEvent):void{
var _local2:*;
stage.removeEventListener(MouseEvent.MOUSE_UP, onListItemUp);
if (((!((_arg1.target is ICellRenderer))) || (!(list.contains((_arg1.target as DisplayObject)))))){
return;
};
editableValue = null;
_local2 = selectedIndex;
selectedIndex = _arg1.target.listData.index;
if (_local2 != selectedIndex){
dispatchEvent(new Event(Event.CHANGE));
};
close();
}
public function removeAll():void{
list.removeAll();
inputField.text = "";
invalidate(InvalidationType.DATA);
}
public function set selectedItem(_arg1:Object):void{
list.selectedItem = _arg1;
invalidate(InvalidationType.SELECTED);
}
protected function highlightCell(_arg1:int=-1):void{
var _local2:ICellRenderer;
if (highlightedCell > -1){
_local2 = list.itemToCellRenderer(getItemAt(highlightedCell));
if (_local2 != null){
_local2.setMouseState("up");
};
};
if (_arg1 == -1){
return;
};
list.scrollToIndex(_arg1);
list.drawNow();
_local2 = list.itemToCellRenderer(getItemAt(_arg1));
if (_local2 != null){
_local2.setMouseState("over");
highlightedCell = _arg1;
};
}
public function itemToLabel(_arg1:Object):String{
if (_arg1 == null){
return ("");
};
return (list.itemToLabel(_arg1));
}
public function addItemAt(_arg1:Object, _arg2:uint):void{
list.addItemAt(_arg1, _arg2);
invalidate(InvalidationType.DATA);
}
public function replaceItemAt(_arg1:Object, _arg2:uint):Object{
return (list.replaceItemAt(_arg1, _arg2));
}
protected function showPrompt():void{
inputField.text = _prompt;
}
public function set rowCount(_arg1:uint):void{
_rowCount = _arg1;
invalidate(InvalidationType.SIZE);
}
public function get restrict():String{
return (inputField.restrict);
}
protected function setEmbedFonts():void{
var _local1:Object;
_local1 = getStyleValue("embedFonts");
if (_local1 != null){
inputField.textField.embedFonts = _local1;
};
}
public function sortItems(... _args){
return (list.sortItems.apply(list, _args));
}
public function set labelField(_arg1:String):void{
list.labelField = _arg1;
invalidate(InvalidationType.DATA);
}
public function set editable(_arg1:Boolean):void{
_editable = _arg1;
drawTextField();
}
public function set prompt(_arg1:String):void{
if (_arg1 == ""){
_prompt = null;
} else {
_prompt = _arg1;
};
invalidate(InvalidationType.STATE);
}
public function get length():int{
return (list.length);
}
protected function drawTextField():void{
inputField.setStyle("upSkin", "");
inputField.setStyle("disabledSkin", "");
inputField.enabled = enabled;
inputField.editable = _editable;
inputField.textField.selectable = ((enabled) && (_editable));
inputField.mouseEnabled = (inputField.mouseChildren = ((enabled) && (_editable)));
inputField.focusEnabled = false;
if (_editable){
inputField.addEventListener(FocusEvent.FOCUS_IN, onInputFieldFocus, false, 0, true);
inputField.addEventListener(FocusEvent.FOCUS_OUT, onInputFieldFocusOut, false, 0, true);
} else {
inputField.removeEventListener(FocusEvent.FOCUS_IN, onInputFieldFocus);
inputField.removeEventListener(FocusEvent.FOCUS_OUT, onInputFieldFocusOut);
};
}
protected function onInputFieldFocusOut(_arg1:FocusEvent):void{
inputField.removeEventListener(ComponentEvent.ENTER, onEnter);
selectedIndex = selectedIndex;
}
protected function passEvent(_arg1:Event):void{
dispatchEvent(_arg1);
}
public function get imeMode():String{
return (inputField.imeMode);
}
public function get labelFunction():Function{
return (list.labelFunction);
}
protected function calculateAvailableHeight():Number{
var _local1:Number;
_local1 = Number(getStyleValue("contentPadding"));
return ((list.height - (_local1 * 2)));
}
public function get selectedIndex():int{
return (list.selectedIndex);
}
override protected function focusOutHandler(_arg1:FocusEvent):void{
isKeyDown = false;
if (isOpen){
if (((!(_arg1.relatedObject)) || (!(list.contains(_arg1.relatedObject))))){
if (((!((highlightedCell == -1))) && (!((highlightedCell == selectedIndex))))){
selectedIndex = highlightedCell;
dispatchEvent(new Event(Event.CHANGE));
};
close();
};
};
super.focusOutHandler(_arg1);
}
public function get selectedLabel():String{
if (editableValue != null){
return (editableValue);
};
if (selectedIndex == -1){
return (null);
};
return (itemToLabel(selectedItem));
}
public function get text():String{
return (inputField.text);
}
protected function onListChange(_arg1:Event):void{
editableValue = null;
dispatchEvent(_arg1);
invalidate(InvalidationType.SELECTED);
if (isKeyDown){
return;
};
close();
}
protected function onToggleListVisibility(_arg1:MouseEvent):void{
_arg1.stopPropagation();
dispatchEvent(_arg1);
if (isOpen){
close();
} else {
open();
stage.addEventListener(MouseEvent.MOUSE_UP, onListItemUp, false, 0, true);
};
}
override protected function draw():void{
var _local1:*;
_local1 = selectedIndex;
if ((((_local1 == -1)) && (((((!((prompt == null))) || (editable))) || ((length == 0)))))){
_local1 = Math.max(-1, Math.min(_local1, (length - 1)));
} else {
editableValue = null;
_local1 = Math.max(0, Math.min(_local1, (length - 1)));
};
if (list.selectedIndex != _local1){
list.selectedIndex = _local1;
invalidate(InvalidationType.SELECTED, false);
};
if (isInvalid(InvalidationType.STYLES)){
setStyles();
setEmbedFonts();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE, InvalidationType.DATA, InvalidationType.STATE)){
drawTextFormat();
drawLayout();
invalidate(InvalidationType.DATA);
};
if (isInvalid(InvalidationType.DATA)){
drawList();
invalidate(InvalidationType.SELECTED, true);
};
if (isInvalid(InvalidationType.SELECTED)){
if ((((_local1 == -1)) && (!((editableValue == null))))){
inputField.text = editableValue;
} else {
if (_local1 > -1){
if (length > 0){
inputField.horizontalScrollPosition = 0;
inputField.text = itemToLabel(list.selectedItem);
};
} else {
if ((((_local1 == -1)) && (!((_prompt == null))))){
showPrompt();
} else {
inputField.text = "";
};
};
};
if (((((editable) && ((selectedIndex > -1)))) && ((stage.focus == inputField.textField)))){
inputField.setSelection(0, inputField.length);
};
};
drawTextField();
super.draw();
}
public function addItem(_arg1:Object):void{
list.addItem(_arg1);
invalidate(InvalidationType.DATA);
}
public function get rowCount():uint{
return (_rowCount);
}
override protected function configUI():void{
super.configUI();
background = new BaseButton();
background.focusEnabled = false;
copyStylesToChild(background, BACKGROUND_STYLES);
background.addEventListener(MouseEvent.MOUSE_DOWN, onToggleListVisibility, false, 0, true);
addChild(background);
inputField = new TextInput();
inputField.focusTarget = (this as IFocusManagerComponent);
inputField.focusEnabled = false;
inputField.addEventListener(Event.CHANGE, onTextInput, false, 0, true);
addChild(inputField);
list = new List();
list.focusEnabled = false;
copyStylesToChild(list, LIST_STYLES);
list.addEventListener(Event.CHANGE, onListChange, false, 0, true);
list.addEventListener(ListEvent.ITEM_CLICK, onListChange, false, 0, true);
list.addEventListener(ListEvent.ITEM_ROLL_OUT, passEvent, false, 0, true);
list.addEventListener(ListEvent.ITEM_ROLL_OVER, passEvent, false, 0, true);
list.verticalScrollBar.addEventListener(Event.SCROLL, passEvent, false, 0, true);
}
protected function positionList():void{
var _local1:Point;
_local1 = localToGlobal(new Point(0, 0));
list.x = _local1.x;
if (((_local1.y + height) + list.height) > stage.stageHeight){
list.y = (_local1.y - list.height);
} else {
list.y = (_local1.y + height);
};
}
public function get value():String{
var _local1:Object;
if (editableValue != null){
return (editableValue);
};
_local1 = selectedItem;
if (((!(_editable)) && (!((_local1.data == null))))){
return (_local1.data);
};
return (itemToLabel(_local1));
}
public function get prompt():String{
return (_prompt);
}
public function set dataProvider(_arg1:DataProvider):void{
_arg1.addEventListener(DataChangeEvent.DATA_CHANGE, handleDataChange, false, 0, true);
list.dataProvider = _arg1;
invalidate(InvalidationType.DATA);
}
public function set restrict(_arg1:String):void{
if (((componentInspectorSetting) && ((_arg1 == "")))){
_arg1 = null;
};
if (!_editable){
return;
};
inputField.restrict = _arg1;
}
protected function onTextInput(_arg1:Event):void{
_arg1.stopPropagation();
if (!_editable){
return;
};
editableValue = inputField.text;
selectedIndex = -1;
dispatchEvent(new Event(Event.CHANGE));
}
protected function onInputFieldFocus(_arg1:FocusEvent):void{
inputField.addEventListener(ComponentEvent.ENTER, onEnter, false, 0, true);
close();
}
public function getItemAt(_arg1:uint):Object{
return (list.getItemAt(_arg1));
}
override protected function initializeAccessibility():void{
if (ComboBox.createAccessibilityImplementation != null){
ComboBox.createAccessibilityImplementation(this);
};
}
protected function drawLayout():void{
var _local1:Number;
var _local2:Number;
_local1 = (getStyleValue("buttonWidth") as Number);
_local2 = (getStyleValue("textPadding") as Number);
background.setSize(width, height);
inputField.x = (inputField.y = _local2);
inputField.setSize(((width - _local1) - _local2), (height - _local2));
list.width = (isNaN(_dropdownWidth)) ? width : _dropdownWidth;
background.enabled = enabled;
background.drawNow();
}
public function removeItem(_arg1:Object):Object{
return (list.removeItem(_arg1));
}
private function addCloseListener(_arg1:Event){
removeEventListener(Event.ENTER_FRAME, addCloseListener);
if (!isOpen){
return;
};
stage.addEventListener(MouseEvent.MOUSE_DOWN, onStageClick, false, 0, true);
}
public function get dataProvider():DataProvider{
return (list.dataProvider);
}
public function get textField():TextInput{
return (inputField);
}
protected function setStyles():void{
copyStylesToChild(background, BACKGROUND_STYLES);
copyStylesToChild(list, LIST_STYLES);
}
public function set labelFunction(_arg1:Function):void{
list.labelFunction = _arg1;
invalidate(InvalidationType.DATA);
}
protected function drawTextFormat():void{
var _local1:TextFormat;
_local1 = (getStyleValue((_enabled) ? "textFormat" : "disabledTextFormat") as TextFormat);
if (_local1 == null){
_local1 = new TextFormat();
};
inputField.textField.defaultTextFormat = _local1;
inputField.textField.setTextFormat(_local1);
setEmbedFonts();
}
public function set selectedIndex(_arg1:int):void{
list.selectedIndex = _arg1;
highlightCell();
invalidate(InvalidationType.SELECTED);
}
public function close():void{
highlightCell();
highlightedCell = -1;
if (!isOpen){
return;
};
dispatchEvent(new Event(Event.CLOSE));
stage.removeEventListener(MouseEvent.MOUSE_DOWN, onStageClick);
isOpen = false;
stage.removeChild(list);
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, List.getStyleDefinition()));
}
}
}//package fl.controls
Section 28
//LabelButton (fl.controls.LabelButton)
package fl.controls {
import fl.core.*;
import flash.display.*;
import flash.events.*;
import fl.managers.*;
import fl.events.*;
import flash.text.*;
import flash.ui.*;
public class LabelButton extends BaseButton implements IFocusManagerComponent {
protected var _labelPlacement:String;// = "right"
protected var _toggle:Boolean;// = false
protected var icon:DisplayObject;
protected var oldMouseState:String;
protected var mode:String;// = "center"
public var textField:TextField;
protected var _label:String;// = "Label"
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 LabelButton(){
_labelPlacement = ButtonLabelPlacement.RIGHT;
_toggle = false;
_label = "Label";
mode = "center";
super();
}
protected function toggleSelected(_arg1:MouseEvent):void{
selected = !(selected);
dispatchEvent(new Event(Event.CHANGE, true));
}
public function get labelPlacement():String{
return (_labelPlacement);
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
if (!enabled){
return;
};
if (_arg1.keyCode == Keyboard.SPACE){
if (oldMouseState == null){
oldMouseState = mouseState;
};
setMouseState("down");
startPress();
};
}
protected function setEmbedFont(){
var _local1:Object;
_local1 = getStyleValue("embedFonts");
if (_local1 != null){
textField.embedFonts = _local1;
};
}
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 public function get selected():Boolean{
return ((_toggle) ? _selected : false);
}
public function set labelPlacement(_arg1:String):void{
_labelPlacement = _arg1;
invalidate(InvalidationType.SIZE);
}
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);
}
public function get label():String{
return (_label);
}
override public function set selected(_arg1:Boolean):void{
_selected = _arg1;
if (_toggle){
invalidate(InvalidationType.STATE);
};
}
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();
}
public function get toggle():Boolean{
return (_toggle);
}
override protected function configUI():void{
super.configUI();
textField = new TextField();
textField.type = TextFieldType.DYNAMIC;
textField.selectable = false;
addChild(textField);
}
override protected function drawLayout():void{
var _local1:Number;
var _local2:String;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local1 = Number(getStyleValue("textPadding"));
_local2 = ((((icon == null)) && ((mode == "center")))) ? ButtonLabelPlacement.TOP : _labelPlacement;
textField.height = (textField.textHeight + 4);
_local3 = (textField.textWidth + 4);
_local4 = (textField.textHeight + 4);
_local5 = ((icon)==null) ? 0 : (icon.width + _local1);
_local6 = ((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 initializeAccessibility():void{
if (LabelButton.createAccessibilityImplementation != null){
LabelButton.createAccessibilityImplementation(this);
};
}
protected function drawIcon():void{
var _local1:DisplayObject;
var _local2:String;
var _local3:Object;
_local1 = icon;
_local2 = (enabled) ? mouseState : "disabled";
if (selected){
_local2 = (("selected" + _local2.substr(0, 1).toUpperCase()) + _local2.substr(1));
};
_local2 = (_local2 + "Icon");
_local3 = 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);
};
}
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);
}
protected function drawTextFormat():void{
var _local1:Object;
var _local2:TextFormat;
var _local3:TextFormat;
_local1 = UIComponent.getStyleDefinition();
_local2 = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat);
textField.setTextFormat(_local2);
_local3 = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat);
if (_local3 != null){
textField.setTextFormat(_local3);
} else {
_local3 = _local2;
};
textField.defaultTextFormat = _local3;
setEmbedFont();
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, BaseButton.getStyleDefinition()));
}
}
}//package fl.controls
Section 29
//List (fl.controls.List)
package fl.controls {
import fl.controls.listClasses.*;
import fl.core.*;
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import fl.managers.*;
import flash.utils.*;
import flash.ui.*;
public class List extends SelectableList implements IFocusManagerComponent {
protected var _labelField:String;// = "label"
protected var _rowHeight:Number;// = 20
protected var _cellRenderer:Object;
protected var _iconField:String;// = "icon"
protected var _labelFunction:Function;
protected var _iconFunction:Function;
private static var defaultStyles:Object = {focusRectSkin:null, focusRectPadding:null};
public static var createAccessibilityImplementation:Function;
public function List(){
_rowHeight = 20;
_labelField = "label";
_iconField = "icon";
super();
}
public function get iconField():String{
return (_iconField);
}
protected function doKeySelection(_arg1:int, _arg2:Boolean, _arg3:Boolean):void{
var _local4:Boolean;
var _local5:int;
var _local6:Array;
var _local7:int;
var _local8:int;
_local4 = false;
if (_arg2){
_local6 = [];
_local7 = lastCaretIndex;
_local8 = _arg1;
if (_local7 == -1){
_local7 = ((caretIndex)!=-1) ? caretIndex : _arg1;
};
if (_local7 > _local8){
_local8 = _local7;
_local7 = _arg1;
};
_local5 = _local7;
while (_local5 <= _local8) {
_local6.push(_local5);
_local5++;
};
selectedIndices = _local6;
caretIndex = _arg1;
_local4 = true;
} else {
selectedIndex = _arg1;
caretIndex = (lastCaretIndex = _arg1);
_local4 = true;
};
if (_local4){
dispatchEvent(new Event(Event.CHANGE));
};
invalidate(InvalidationType.DATA);
}
override protected function drawList():void{
var _local1:Rectangle;
var _local2:uint;
var _local3:uint;
var _local4:uint;
var _local5:Object;
var _local6:ICellRenderer;
var _local7:Dictionary;
var _local8:Dictionary;
var _local9:Boolean;
var _local10:String;
var _local11:Object;
var _local12:Sprite;
var _local13:String;
listHolder.x = (listHolder.y = contentPadding);
_local1 = listHolder.scrollRect;
_local1.x = _horizontalScrollPosition;
_local1.y = (Math.floor(_verticalScrollPosition) % rowHeight);
listHolder.scrollRect = _local1;
listHolder.cacheAsBitmap = useBitmapScrolling;
_local2 = Math.floor((_verticalScrollPosition / rowHeight));
_local3 = Math.min(length, ((_local2 + rowCount) + 1));
_local7 = (renderedItems = new Dictionary(true));
_local4 = _local2;
while (_local4 < _local3) {
_local7[_dataProvider.getItemAt(_local4)] = true;
_local4++;
};
_local8 = new Dictionary(true);
while (activeCellRenderers.length > 0) {
_local6 = (activeCellRenderers.pop() as ICellRenderer);
_local5 = _local6.data;
if ((((_local7[_local5] == null)) || ((invalidItems[_local5] == true)))){
availableCellRenderers.push(_local6);
} else {
_local8[_local5] = _local6;
invalidItems[_local5] = true;
};
list.removeChild((_local6 as DisplayObject));
};
invalidItems = new Dictionary(true);
_local4 = _local2;
while (_local4 < _local3) {
_local9 = false;
_local5 = _dataProvider.getItemAt(_local4);
if (_local8[_local5] != null){
_local9 = true;
_local6 = _local8[_local5];
delete _local8[_local5];
} else {
if (availableCellRenderers.length > 0){
_local6 = (availableCellRenderers.pop() as ICellRenderer);
} else {
_local6 = (getDisplayObjectInstance(getStyleValue("cellRenderer")) as ICellRenderer);
_local12 = (_local6 as Sprite);
if (_local12 != null){
_local12.addEventListener(MouseEvent.CLICK, handleCellRendererClick, false, 0, true);
_local12.addEventListener(MouseEvent.ROLL_OVER, handleCellRendererMouseEvent, false, 0, true);
_local12.addEventListener(MouseEvent.ROLL_OUT, handleCellRendererMouseEvent, false, 0, true);
_local12.addEventListener(Event.CHANGE, handleCellRendererChange, false, 0, true);
_local12.doubleClickEnabled = true;
_local12.addEventListener(MouseEvent.DOUBLE_CLICK, handleCellRendererDoubleClick, false, 0, true);
if (_local12["setStyle"] != null){
for (_local13 in rendererStyles) {
var _local16 = _local12;
_local16["setStyle"](_local13, rendererStyles[_local13]);
};
};
};
};
};
list.addChild((_local6 as Sprite));
activeCellRenderers.push(_local6);
_local6.y = (rowHeight * (_local4 - _local2));
_local6.setSize((availableWidth + _maxHorizontalScrollPosition), rowHeight);
_local10 = itemToLabel(_local5);
_local11 = null;
if (_iconFunction != null){
_local11 = _iconFunction(_local5);
} else {
if (_iconField != null){
_local11 = _local5[_iconField];
};
};
if (!_local9){
_local6.data = _local5;
};
_local6.listData = new ListData(_local10, _local11, this, _local4, _local4, 0);
_local6.selected = !((_selectedIndices.indexOf(_local4) == -1));
if ((_local6 is UIComponent)){
(_local6 as UIComponent).drawNow();
};
_local4++;
};
}
public function get iconFunction():Function{
return (_iconFunction);
}
public function set iconField(_arg1:String):void{
if (_arg1 == _iconField){
return;
};
_iconField = _arg1;
invalidate(InvalidationType.DATA);
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
var _local2:int;
if (!selectable){
return;
};
switch (_arg1.keyCode){
case Keyboard.UP:
case Keyboard.DOWN:
case Keyboard.END:
case Keyboard.HOME:
case Keyboard.PAGE_UP:
case Keyboard.PAGE_DOWN:
moveSelectionVertically(_arg1.keyCode, ((_arg1.shiftKey) && (_allowMultipleSelection)), ((_arg1.ctrlKey) && (_allowMultipleSelection)));
break;
case Keyboard.LEFT:
case Keyboard.RIGHT:
moveSelectionHorizontally(_arg1.keyCode, ((_arg1.shiftKey) && (_allowMultipleSelection)), ((_arg1.ctrlKey) && (_allowMultipleSelection)));
break;
case Keyboard.SPACE:
if (caretIndex == -1){
caretIndex = 0;
};
doKeySelection(caretIndex, _arg1.shiftKey, _arg1.ctrlKey);
scrollToSelected();
break;
default:
_local2 = getNextIndexAtLetter(String.fromCharCode(_arg1.keyCode), selectedIndex);
if (_local2 > -1){
selectedIndex = _local2;
scrollToSelected();
};
break;
};
_arg1.stopPropagation();
}
override public function itemToLabel(_arg1:Object):String{
if (_labelFunction != null){
return (String(_labelFunction(_arg1)));
};
return (((_arg1[_labelField])!=null) ? String(_arg1[_labelField]) : "");
}
public function get labelField():String{
return (_labelField);
}
override protected function moveSelectionVertically(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{
var _local4:int;
var _local5:int;
var _local6:int;
_local4 = Math.max(Math.floor((calculateAvailableHeight() / rowHeight)), 1);
_local5 = -1;
_local6 = 0;
switch (_arg1){
case Keyboard.UP:
if (caretIndex > 0){
_local5 = (caretIndex - 1);
};
break;
case Keyboard.DOWN:
if (caretIndex < (length - 1)){
_local5 = (caretIndex + 1);
};
break;
case Keyboard.PAGE_UP:
if (caretIndex > 0){
_local5 = Math.max((caretIndex - _local4), 0);
};
break;
case Keyboard.PAGE_DOWN:
if (caretIndex < (length - 1)){
_local5 = Math.min((caretIndex + _local4), (length - 1));
};
break;
case Keyboard.HOME:
if (caretIndex > 0){
_local5 = 0;
};
break;
case Keyboard.END:
if (caretIndex < (length - 1)){
_local5 = (length - 1);
};
break;
};
if (_local5 >= 0){
doKeySelection(_local5, _arg2, _arg3);
scrollToSelected();
};
}
public function set labelField(_arg1:String):void{
if (_arg1 == _labelField){
return;
};
_labelField = _arg1;
invalidate(InvalidationType.DATA);
}
public function set rowCount(_arg1:uint):void{
var _local2:Number;
var _local3:Number;
_local2 = Number(getStyleValue("contentPadding"));
_local3 = ((((_horizontalScrollPolicy == ScrollPolicy.ON)) || ((((_horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((_maxHorizontalScrollPosition > 0)))))) ? 15 : 0;
height = (((rowHeight * _arg1) + (2 * _local2)) + _local3);
}
override protected function setHorizontalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
list.x = -(_arg1);
super.setHorizontalScrollPosition(_arg1, true);
}
public function set iconFunction(_arg1:Function):void{
if (_iconFunction == _arg1){
return;
};
_iconFunction = _arg1;
invalidate(InvalidationType.DATA);
}
public function get labelFunction():Function{
return (_labelFunction);
}
override protected function moveSelectionHorizontally(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{
}
override protected function setVerticalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
invalidate(InvalidationType.SCROLL);
super.setVerticalScrollPosition(_arg1, true);
}
protected function calculateAvailableHeight():Number{
var _local1:Number;
_local1 = Number(getStyleValue("contentPadding"));
return (((height - (_local1 * 2)) - ((((_horizontalScrollPolicy == ScrollPolicy.ON)) || ((((_horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((_maxHorizontalScrollPosition > 0)))))) ? 15 : 0));
}
override protected function draw():void{
var _local1:Boolean;
_local1 = !((contentHeight == (rowHeight * length)));
contentHeight = (rowHeight * length);
if (isInvalid(InvalidationType.STYLES)){
setStyles();
drawBackground();
if (contentPadding != getStyleValue("contentPadding")){
invalidate(InvalidationType.SIZE, false);
};
if (_cellRenderer != getStyleValue("cellRenderer")){
_invalidateList();
_cellRenderer = getStyleValue("cellRenderer");
};
};
if (((isInvalid(InvalidationType.SIZE, InvalidationType.STATE)) || (_local1))){
drawLayout();
};
if (isInvalid(InvalidationType.RENDERER_STYLES)){
updateRendererStyles();
};
if (isInvalid(InvalidationType.STYLES, InvalidationType.SIZE, InvalidationType.DATA, InvalidationType.SCROLL, InvalidationType.SELECTED)){
drawList();
};
updateChildren();
validate();
}
override protected function configUI():void{
useFixedHorizontalScrolling = true;
_horizontalScrollPolicy = ScrollPolicy.AUTO;
_verticalScrollPolicy = ScrollPolicy.AUTO;
super.configUI();
}
override public function get rowCount():uint{
return (Math.ceil((calculateAvailableHeight() / rowHeight)));
}
override protected function initializeAccessibility():void{
if (List.createAccessibilityImplementation != null){
List.createAccessibilityImplementation(this);
};
}
override public function scrollToIndex(_arg1:int):void{
var _local2:uint;
var _local3:uint;
drawNow();
_local2 = (Math.floor(((_verticalScrollPosition + availableHeight) / rowHeight)) - 1);
_local3 = Math.ceil((_verticalScrollPosition / rowHeight));
if (_arg1 < _local3){
verticalScrollPosition = (_arg1 * rowHeight);
} else {
if (_arg1 > _local2){
verticalScrollPosition = (((_arg1 + 1) * rowHeight) - availableHeight);
};
};
}
public function get rowHeight():Number{
return (_rowHeight);
}
public function set labelFunction(_arg1:Function):void{
if (_labelFunction == _arg1){
return;
};
_labelFunction = _arg1;
invalidate(InvalidationType.DATA);
}
public function set rowHeight(_arg1:Number):void{
_rowHeight = _arg1;
invalidate(InvalidationType.SIZE);
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, SelectableList.getStyleDefinition()));
}
}
}//package fl.controls
Section 30
//ScrollBar (fl.controls.ScrollBar)
package fl.controls {
import fl.core.*;
import flash.events.*;
import fl.events.*;
public class ScrollBar extends UIComponent {
private var _direction:String;// = "vertical"
protected var inDrag:Boolean;// = false
protected var upArrow:BaseButton;
private var _pageScrollSize:Number;// = 0
protected var downArrow:BaseButton;
private var _pageSize:Number;// = 10
private var thumbScrollOffset:Number;
private var _maxScrollPosition:Number;// = 0
private var _scrollPosition:Number;// = 0
protected var track:BaseButton;
private var _minScrollPosition:Number;// = 0
private var _lineScrollSize:Number;// = 1
protected var thumb:LabelButton;
protected static const THUMB_STYLES:Object = {disabledSkin:"thumbDisabledSkin", downSkin:"thumbDownSkin", overSkin:"thumbOverSkin", upSkin:"thumbUpSkin", icon:"thumbIcon", textPadding:0};
public static const WIDTH:Number = 15;
protected static const DOWN_ARROW_STYLES:Object = {disabledSkin:"downArrowDisabledSkin", downSkin:"downArrowDownSkin", overSkin:"downArrowOverSkin", upSkin:"downArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
protected static const UP_ARROW_STYLES:Object = {disabledSkin:"upArrowDisabledSkin", downSkin:"upArrowDownSkin", overSkin:"upArrowOverSkin", upSkin:"upArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
protected static const TRACK_STYLES:Object = {disabledSkin:"trackDisabledSkin", downSkin:"trackDownSkin", overSkin:"trackOverSkin", upSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
private static var defaultStyles:Object = {downArrowDisabledSkin:"ScrollArrowDown_disabledSkin", downArrowDownSkin:"ScrollArrowDown_downSkin", downArrowOverSkin:"ScrollArrowDown_overSkin", downArrowUpSkin:"ScrollArrowDown_upSkin", thumbDisabledSkin:"ScrollThumb_upSkin", thumbDownSkin:"ScrollThumb_downSkin", thumbOverSkin:"ScrollThumb_overSkin", thumbUpSkin:"ScrollThumb_upSkin", trackDisabledSkin:"ScrollTrack_skin", trackDownSkin:"ScrollTrack_skin", trackOverSkin:"ScrollTrack_skin", trackUpSkin:"ScrollTrack_skin", upArrowDisabledSkin:"ScrollArrowUp_disabledSkin", upArrowDownSkin:"ScrollArrowUp_downSkin", upArrowOverSkin:"ScrollArrowUp_overSkin", upArrowUpSkin:"ScrollArrowUp_upSkin", thumbIcon:"ScrollBar_thumbIcon", repeatDelay:500, repeatInterval:35};
public function ScrollBar(){
_pageSize = 10;
_pageScrollSize = 0;
_lineScrollSize = 1;
_minScrollPosition = 0;
_maxScrollPosition = 0;
_scrollPosition = 0;
_direction = ScrollBarDirection.VERTICAL;
inDrag = false;
super();
setStyles();
focusEnabled = false;
}
public function get minScrollPosition():Number{
return (_minScrollPosition);
}
public function set minScrollPosition(_arg1:Number):void{
setScrollProperties(_pageSize, _arg1, _maxScrollPosition);
}
public function setScrollPosition(_arg1:Number, _arg2:Boolean=true):void{
var _local3:Number;
_local3 = scrollPosition;
_scrollPosition = Math.max(_minScrollPosition, Math.min(_maxScrollPosition, _arg1));
if (_local3 == _scrollPosition){
return;
};
if (_arg2){
dispatchEvent(new ScrollEvent(_direction, (scrollPosition - _local3), scrollPosition));
};
updateThumb();
}
public function set scrollPosition(_arg1:Number):void{
setScrollPosition(_arg1, true);
}
public function get pageScrollSize():Number{
return (((_pageScrollSize)==0) ? _pageSize : _pageScrollSize);
}
public function set pageSize(_arg1:Number):void{
if (_arg1 > 0){
_pageSize = _arg1;
};
}
public function setScrollProperties(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0):void{
this.pageSize = _arg1;
_minScrollPosition = _arg2;
_maxScrollPosition = _arg3;
if (_arg4 >= 0){
_pageScrollSize = _arg4;
};
enabled = (_maxScrollPosition > _minScrollPosition);
setScrollPosition(_scrollPosition, false);
updateThumb();
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
downArrow.enabled = (track.enabled = (thumb.enabled = (upArrow.enabled = ((enabled) && ((_maxScrollPosition > _minScrollPosition))))));
updateThumb();
}
protected function updateThumb():void{
var _local1:Number;
_local1 = ((_maxScrollPosition - _minScrollPosition) + _pageSize);
if ((((((track.height <= 12)) || ((_maxScrollPosition <= _minScrollPosition)))) || ((((_local1 == 0)) || (isNaN(_local1)))))){
thumb.height = 12;
thumb.visible = false;
} else {
thumb.height = Math.max(13, ((_pageSize / _local1) * track.height));
thumb.y = (track.y + ((track.height - thumb.height) * ((_scrollPosition - _minScrollPosition) / (_maxScrollPosition - _minScrollPosition))));
thumb.visible = enabled;
};
}
protected function thumbPressHandler(_arg1:MouseEvent):void{
inDrag = true;
thumbScrollOffset = (mouseY - thumb.y);
thumb.mouseStateLocked = true;
mouseChildren = false;
stage.addEventListener(MouseEvent.MOUSE_MOVE, handleThumbDrag, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler, false, 0, true);
}
protected function thumbReleaseHandler(_arg1:MouseEvent):void{
inDrag = false;
mouseChildren = true;
thumb.mouseStateLocked = false;
stage.removeEventListener(MouseEvent.MOUSE_MOVE, handleThumbDrag);
stage.removeEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler);
}
public function set pageScrollSize(_arg1:Number):void{
if (_arg1 >= 0){
_pageScrollSize = _arg1;
};
}
protected function handleThumbDrag(_arg1:MouseEvent):void{
var _local2:Number;
_local2 = Math.max(0, Math.min((track.height - thumb.height), ((mouseY - track.y) - thumbScrollOffset)));
setScrollPosition((((_local2 / (track.height - thumb.height)) * (_maxScrollPosition - _minScrollPosition)) + _minScrollPosition));
}
public function set direction(_arg1:String):void{
var _local2:Boolean;
if (_direction == _arg1){
return;
};
_direction = _arg1;
if (isLivePreview){
return;
};
setScaleY(1);
_local2 = (_direction == ScrollBarDirection.HORIZONTAL);
if (((_local2) && (componentInspectorSetting))){
if (rotation == 90){
return;
};
setScaleX(-1);
rotation = -90;
};
if (!componentInspectorSetting){
if (((_local2) && ((rotation == 0)))){
rotation = -90;
setScaleX(-1);
} else {
if (((!(_local2)) && ((rotation == -90)))){
rotation = 0;
setScaleX(1);
};
};
};
invalidate(InvalidationType.SIZE);
}
public function set lineScrollSize(_arg1:Number):void{
if (_arg1 > 0){
_lineScrollSize = _arg1;
};
}
override public function get height():Number{
return (((_direction)==ScrollBarDirection.HORIZONTAL) ? super.width : super.height);
}
protected function scrollPressHandler(_arg1:ComponentEvent):void{
var _local2:Number;
var _local3:Number;
_arg1.stopImmediatePropagation();
if (_arg1.currentTarget == upArrow){
setScrollPosition((_scrollPosition - _lineScrollSize));
} else {
if (_arg1.currentTarget == downArrow){
setScrollPosition((_scrollPosition + _lineScrollSize));
} else {
_local2 = (((track.mouseY / track.height) * (_maxScrollPosition - _minScrollPosition)) + _minScrollPosition);
_local3 = ((pageScrollSize)==0) ? pageSize : pageScrollSize;
if (_scrollPosition < _local2){
setScrollPosition(Math.min(_local2, (_scrollPosition + _local3)));
} else {
if (_scrollPosition > _local2){
setScrollPosition(Math.max(_local2, (_scrollPosition - _local3)));
};
};
};
};
}
public function get pageSize():Number{
return (_pageSize);
}
public function set maxScrollPosition(_arg1:Number):void{
setScrollProperties(_pageSize, _minScrollPosition, _arg1);
}
public function get scrollPosition():Number{
return (_scrollPosition);
}
override public function get enabled():Boolean{
return (super.enabled);
}
override protected function draw():void{
var _local1:Number;
if (isInvalid(InvalidationType.SIZE)){
_local1 = super.height;
downArrow.move(0, Math.max(upArrow.height, (_local1 - downArrow.height)));
track.setSize(WIDTH, Math.max(0, (_local1 - (downArrow.height + upArrow.height))));
updateThumb();
};
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
setStyles();
};
downArrow.drawNow();
upArrow.drawNow();
track.drawNow();
thumb.drawNow();
validate();
}
override protected function configUI():void{
super.configUI();
track = new BaseButton();
track.move(0, 14);
track.useHandCursor = false;
track.autoRepeat = true;
track.focusEnabled = false;
addChild(track);
thumb = new LabelButton();
thumb.label = "";
thumb.setSize(WIDTH, 15);
thumb.move(0, 15);
thumb.focusEnabled = false;
addChild(thumb);
downArrow = new BaseButton();
downArrow.setSize(WIDTH, 14);
downArrow.autoRepeat = true;
downArrow.focusEnabled = false;
addChild(downArrow);
upArrow = new BaseButton();
upArrow.setSize(WIDTH, 14);
upArrow.move(0, 0);
upArrow.autoRepeat = true;
upArrow.focusEnabled = false;
addChild(upArrow);
upArrow.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true);
downArrow.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true);
track.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true);
thumb.addEventListener(MouseEvent.MOUSE_DOWN, thumbPressHandler, false, 0, true);
enabled = false;
}
public function get direction():String{
return (_direction);
}
public function get lineScrollSize():Number{
return (_lineScrollSize);
}
override public function setSize(_arg1:Number, _arg2:Number):void{
if (_direction == ScrollBarDirection.HORIZONTAL){
super.setSize(_arg2, _arg1);
} else {
super.setSize(_arg1, _arg2);
};
}
public function get maxScrollPosition():Number{
return (_maxScrollPosition);
}
override public function get width():Number{
return (((_direction)==ScrollBarDirection.HORIZONTAL) ? super.height : super.width);
}
protected function setStyles():void{
copyStylesToChild(downArrow, DOWN_ARROW_STYLES);
copyStylesToChild(thumb, THUMB_STYLES);
copyStylesToChild(track, TRACK_STYLES);
copyStylesToChild(upArrow, UP_ARROW_STYLES);
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 31
//ScrollBarDirection (fl.controls.ScrollBarDirection)
package fl.controls {
public class ScrollBarDirection {
public static const HORIZONTAL:String = "horizontal";
public static const VERTICAL:String = "vertical";
}
}//package fl.controls
Section 32
//ScrollPolicy (fl.controls.ScrollPolicy)
package fl.controls {
public class ScrollPolicy {
public static const OFF:String = "off";
public static const ON:String = "on";
public static const AUTO:String = "auto";
}
}//package fl.controls
Section 33
//SelectableList (fl.controls.SelectableList)
package fl.controls {
import fl.controls.listClasses.*;
import fl.core.*;
import flash.display.*;
import flash.events.*;
import fl.data.*;
import fl.managers.*;
import fl.events.*;
import flash.utils.*;
import fl.containers.*;
import flash.ui.*;
public class SelectableList extends BaseScrollPane implements IFocusManagerComponent {
protected var invalidItems:Dictionary;
protected var renderedItems:Dictionary;
protected var listHolder:Sprite;
protected var _allowMultipleSelection:Boolean;// = false
protected var lastCaretIndex:int;// = -1
protected var _selectedIndices:Array;
protected var availableCellRenderers:Array;
protected var list:Sprite;
protected var caretIndex:int;// = -1
protected var updatedRendererStyles:Object;
protected var preChangeItems:Array;
protected var activeCellRenderers:Array;
protected var rendererStyles:Object;
protected var _verticalScrollPosition:Number;
protected var _dataProvider:DataProvider;
protected var _horizontalScrollPosition:Number;
private var collectionItemImport:SimpleCollectionItem;
protected var _selectable:Boolean;// = true
private static var defaultStyles:Object = {skin:"List_skin", cellRenderer:CellRenderer, contentPadding:null, disabledAlpha:null};
public static var createAccessibilityImplementation:Function;
public function SelectableList(){
_allowMultipleSelection = false;
_selectable = true;
caretIndex = -1;
lastCaretIndex = -1;
super();
activeCellRenderers = [];
availableCellRenderers = [];
invalidItems = new Dictionary(true);
renderedItems = new Dictionary(true);
_selectedIndices = [];
if (dataProvider == null){
dataProvider = new DataProvider();
};
verticalScrollPolicy = ScrollPolicy.AUTO;
rendererStyles = {};
updatedRendererStyles = {};
}
protected function drawList():void{
}
public function set allowMultipleSelection(_arg1:Boolean):void{
if (_arg1 == _allowMultipleSelection){
return;
};
_allowMultipleSelection = _arg1;
if (((!(_arg1)) && ((_selectedIndices.length > 1)))){
_selectedIndices = [_selectedIndices.pop()];
invalidate(InvalidationType.DATA);
};
}
public function sortItemsOn(_arg1:String, _arg2:Object=null){
return (_dataProvider.sortOn(_arg1, _arg2));
}
public function removeItemAt(_arg1:uint):Object{
return (_dataProvider.removeItemAt(_arg1));
}
public function get selectedItem():Object{
return (((_selectedIndices.length)==0) ? null : _dataProvider.getItemAt(selectedIndex));
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
if (!selectable){
return;
};
switch (_arg1.keyCode){
case Keyboard.UP:
case Keyboard.DOWN:
case Keyboard.END:
case Keyboard.HOME:
case Keyboard.PAGE_UP:
case Keyboard.PAGE_DOWN:
moveSelectionVertically(_arg1.keyCode, ((_arg1.shiftKey) && (_allowMultipleSelection)), ((_arg1.ctrlKey) && (_allowMultipleSelection)));
_arg1.stopPropagation();
break;
case Keyboard.LEFT:
case Keyboard.RIGHT:
moveSelectionHorizontally(_arg1.keyCode, ((_arg1.shiftKey) && (_allowMultipleSelection)), ((_arg1.ctrlKey) && (_allowMultipleSelection)));
_arg1.stopPropagation();
break;
};
}
public function get selectable():Boolean{
return (_selectable);
}
public function itemToCellRenderer(_arg1:Object):ICellRenderer{
var _local2:*;
var _local3:ICellRenderer;
if (_arg1 != null){
for (_local2 in activeCellRenderers) {
_local3 = (activeCellRenderers[_local2] as ICellRenderer);
if (_local3.data == _arg1){
return (_local3);
};
};
};
return (null);
}
public function getNextIndexAtLetter(_arg1:String, _arg2:int=-1):int{
var _local3:int;
var _local4:Number;
var _local5:Number;
var _local6:Object;
var _local7:String;
if (length == 0){
return (-1);
};
_arg1 = _arg1.toUpperCase();
_local3 = (length - 1);
_local4 = 0;
while (_local4 < _local3) {
_local5 = ((_arg2 + 1) + _local4);
if (_local5 > (length - 1)){
_local5 = (_local5 - length);
};
_local6 = getItemAt(_local5);
if (_local6 == null){
break;
};
_local7 = itemToLabel(_local6);
if (_local7 == null){
} else {
if (_local7.charAt(0).toUpperCase() == _arg1){
return (_local5);
};
};
_local4++;
};
return (-1);
}
public function invalidateList():void{
_invalidateList();
invalidate(InvalidationType.DATA);
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
list.mouseChildren = _enabled;
}
public function get selectedIndices():Array{
return (_selectedIndices.concat());
}
public function set selectable(_arg1:Boolean):void{
if (_arg1 == _selectable){
return;
};
if (!_arg1){
selectedIndices = [];
};
_selectable = _arg1;
}
public function itemToLabel(_arg1:Object):String{
return (_arg1["label"]);
}
public function addItemAt(_arg1:Object, _arg2:uint):void{
_dataProvider.addItemAt(_arg1, _arg2);
invalidateList();
}
public function replaceItemAt(_arg1:Object, _arg2:uint):Object{
return (_dataProvider.replaceItemAt(_arg1, _arg2));
}
protected function handleDataChange(_arg1:DataChangeEvent):void{
var _local2:int;
var _local3:int;
var _local4:String;
var _local5:uint;
_local2 = _arg1.startIndex;
_local3 = _arg1.endIndex;
_local4 = _arg1.changeType;
if (_local4 == DataChangeType.INVALIDATE_ALL){
clearSelection();
invalidateList();
} else {
if (_local4 == DataChangeType.INVALIDATE){
_local5 = 0;
while (_local5 < _arg1.items.length) {
invalidateItem(_arg1.items[_local5]);
_local5++;
};
} else {
if (_local4 == DataChangeType.ADD){
_local5 = 0;
while (_local5 < _selectedIndices.length) {
if (_selectedIndices[_local5] >= _local2){
_selectedIndices[_local5] = (_selectedIndices[_local5] + (_local2 - _local3));
};
_local5++;
};
} else {
if (_local4 == DataChangeType.REMOVE){
_local5 = 0;
while (_local5 < _selectedIndices.length) {
if (_selectedIndices[_local5] >= _local2){
if (_selectedIndices[_local5] <= _local3){
delete _selectedIndices[_local5];
} else {
_selectedIndices[_local5] = (_selectedIndices[_local5] - ((_local2 - _local3) + 1));
};
};
_local5++;
};
} else {
if (_local4 == DataChangeType.REMOVE_ALL){
clearSelection();
} else {
if (_local4 == DataChangeType.REPLACE){
} else {
selectedItems = preChangeItems;
preChangeItems = null;
};
};
};
};
};
};
invalidate(InvalidationType.DATA);
}
protected function _invalidateList():void{
availableCellRenderers = [];
while (activeCellRenderers.length > 0) {
list.removeChild((activeCellRenderers.pop() as DisplayObject));
};
}
protected function updateRendererStyles():void{
var _local1:Array;
var _local2:uint;
var _local3:uint;
var _local4:String;
_local1 = availableCellRenderers.concat(activeCellRenderers);
_local2 = _local1.length;
_local3 = 0;
while (_local3 < _local2) {
if (_local1[_local3].setStyle == null){
} else {
for (_local4 in updatedRendererStyles) {
_local1[_local3].setStyle(_local4, updatedRendererStyles[_local4]);
};
_local1[_local3].drawNow();
};
_local3++;
};
updatedRendererStyles = {};
}
public function set selectedItem(_arg1:Object):void{
var _local2:int;
_local2 = _dataProvider.getItemIndex(_arg1);
selectedIndex = _local2;
}
public function sortItems(... _args){
return (_dataProvider.sort.apply(_dataProvider, _args));
}
public function removeAll():void{
_dataProvider.removeAll();
}
protected function handleCellRendererChange(_arg1:Event):void{
var _local2:ICellRenderer;
var _local3:uint;
_local2 = (_arg1.currentTarget as ICellRenderer);
_local3 = _local2.listData.index;
_dataProvider.invalidateItemAt(_local3);
}
protected function moveSelectionVertically(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{
}
override protected function setHorizontalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
var _local3:Number;
if (_arg1 == _horizontalScrollPosition){
return;
};
_local3 = (_arg1 - _horizontalScrollPosition);
_horizontalScrollPosition = _arg1;
if (_arg2){
dispatchEvent(new ScrollEvent(ScrollBarDirection.HORIZONTAL, _local3, _arg1));
};
}
public function scrollToSelected():void{
scrollToIndex(selectedIndex);
}
public function invalidateItem(_arg1:Object):void{
if (renderedItems[_arg1] == null){
return;
};
invalidItems[_arg1] = true;
invalidate(InvalidationType.DATA);
}
protected function handleCellRendererClick(_arg1:MouseEvent):void{
var _local2:ICellRenderer;
var _local3:uint;
var _local4:int;
var _local5:int;
var _local6:uint;
if (!_enabled){
return;
};
_local2 = (_arg1.currentTarget as ICellRenderer);
_local3 = _local2.listData.index;
if (((!(dispatchEvent(new ListEvent(ListEvent.ITEM_CLICK, false, true, _local2.listData.column, _local2.listData.row, _local3, _local2.data)))) || (!(_selectable)))){
return;
};
_local4 = selectedIndices.indexOf(_local3);
if (!_allowMultipleSelection){
if (_local4 != -1){
return;
};
_local2.selected = true;
_selectedIndices = [_local3];
lastCaretIndex = (caretIndex = _local3);
} else {
if (_arg1.shiftKey){
_local6 = ((_selectedIndices.length)>0) ? _selectedIndices[0] : _local3;
_selectedIndices = [];
if (_local6 > _local3){
_local5 = _local6;
while (_local5 >= _local3) {
_selectedIndices.push(_local5);
_local5--;
};
} else {
_local5 = _local6;
while (_local5 <= _local3) {
_selectedIndices.push(_local5);
_local5++;
};
};
caretIndex = _local3;
} else {
if (_arg1.ctrlKey){
if (_local4 != -1){
_local2.selected = false;
_selectedIndices.splice(_local4, 1);
} else {
_local2.selected = true;
_selectedIndices.push(_local3);
};
caretIndex = _local3;
} else {
_selectedIndices = [_local3];
lastCaretIndex = (caretIndex = _local3);
};
};
};
dispatchEvent(new Event(Event.CHANGE));
invalidate(InvalidationType.DATA);
}
public function get length():uint{
return (_dataProvider.length);
}
public function get allowMultipleSelection():Boolean{
return (_allowMultipleSelection);
}
protected function onPreChange(_arg1:DataChangeEvent):void{
switch (_arg1.changeType){
case DataChangeType.REMOVE:
case DataChangeType.ADD:
case DataChangeType.INVALIDATE:
case DataChangeType.REMOVE_ALL:
case DataChangeType.REPLACE:
case DataChangeType.INVALIDATE_ALL:
break;
default:
preChangeItems = selectedItems;
break;
};
}
public function getRendererStyle(_arg1:String, _arg2:int=-1):Object{
return (rendererStyles[_arg1]);
}
override protected function setVerticalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
var _local3:Number;
if (_arg1 == _verticalScrollPosition){
return;
};
_local3 = (_arg1 - _verticalScrollPosition);
_verticalScrollPosition = _arg1;
if (_arg2){
dispatchEvent(new ScrollEvent(ScrollBarDirection.VERTICAL, _local3, _arg1));
};
}
protected function moveSelectionHorizontally(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{
}
public function set selectedIndices(_arg1:Array):void{
if (!_selectable){
return;
};
_selectedIndices = ((_arg1)==null) ? [] : _arg1.concat();
invalidate(InvalidationType.SELECTED);
}
public function get selectedIndex():int{
return (((_selectedIndices.length)==0) ? -1 : _selectedIndices[(_selectedIndices.length - 1)]);
}
override protected function draw():void{
super.draw();
}
override protected function configUI():void{
super.configUI();
listHolder = new Sprite();
addChild(listHolder);
listHolder.scrollRect = contentScrollRect;
list = new Sprite();
listHolder.addChild(list);
}
public function addItem(_arg1:Object):void{
_dataProvider.addItem(_arg1);
invalidateList();
}
protected function handleCellRendererMouseEvent(_arg1:MouseEvent):void{
var _local2:ICellRenderer;
var _local3:String;
_local2 = (_arg1.target as ICellRenderer);
_local3 = ((_arg1.type)==MouseEvent.ROLL_OVER) ? ListEvent.ITEM_ROLL_OVER : ListEvent.ITEM_ROLL_OUT;
dispatchEvent(new ListEvent(_local3, false, false, _local2.listData.column, _local2.listData.row, _local2.listData.index, _local2.data));
}
public function clearRendererStyle(_arg1:String, _arg2:int=-1):void{
delete rendererStyles[_arg1];
updatedRendererStyles[_arg1] = null;
invalidate(InvalidationType.RENDERER_STYLES);
}
protected function handleCellRendererDoubleClick(_arg1:MouseEvent):void{
var _local2:ICellRenderer;
var _local3:uint;
if (!_enabled){
return;
};
_local2 = (_arg1.currentTarget as ICellRenderer);
_local3 = _local2.listData.index;
dispatchEvent(new ListEvent(ListEvent.ITEM_DOUBLE_CLICK, false, true, _local2.listData.column, _local2.listData.row, _local3, _local2.data));
}
public function get rowCount():uint{
return (0);
}
public function isItemSelected(_arg1:Object):Boolean{
return ((selectedItems.indexOf(_arg1) > -1));
}
public function set dataProvider(_arg1:DataProvider):void{
if (_dataProvider != null){
_dataProvider.removeEventListener(DataChangeEvent.DATA_CHANGE, handleDataChange);
_dataProvider.removeEventListener(DataChangeEvent.PRE_DATA_CHANGE, onPreChange);
};
_dataProvider = _arg1;
_dataProvider.addEventListener(DataChangeEvent.DATA_CHANGE, handleDataChange, false, 0, true);
_dataProvider.addEventListener(DataChangeEvent.PRE_DATA_CHANGE, onPreChange, false, 0, true);
clearSelection();
invalidateList();
}
override protected function drawLayout():void{
super.drawLayout();
contentScrollRect = listHolder.scrollRect;
contentScrollRect.width = availableWidth;
contentScrollRect.height = availableHeight;
listHolder.scrollRect = contentScrollRect;
}
public function getItemAt(_arg1:uint):Object{
return (_dataProvider.getItemAt(_arg1));
}
override protected function initializeAccessibility():void{
if (SelectableList.createAccessibilityImplementation != null){
SelectableList.createAccessibilityImplementation(this);
};
}
public function scrollToIndex(_arg1:int):void{
}
public function removeItem(_arg1:Object):Object{
return (_dataProvider.removeItem(_arg1));
}
public function get dataProvider():DataProvider{
return (_dataProvider);
}
public function set maxHorizontalScrollPosition(_arg1:Number):void{
_maxHorizontalScrollPosition = _arg1;
invalidate(InvalidationType.SIZE);
}
public function setRendererStyle(_arg1:String, _arg2:Object, _arg3:uint=0):void{
if (rendererStyles[_arg1] == _arg2){
return;
};
updatedRendererStyles[_arg1] = _arg2;
rendererStyles[_arg1] = _arg2;
invalidate(InvalidationType.RENDERER_STYLES);
}
public function invalidateItemAt(_arg1:uint):void{
var _local2:Object;
_local2 = _dataProvider.getItemAt(_arg1);
if (_local2 != null){
invalidateItem(_local2);
};
}
public function set selectedItems(_arg1:Array):void{
var _local2:Array;
var _local3:uint;
var _local4:int;
if (_arg1 == null){
selectedIndices = null;
return;
};
_local2 = [];
_local3 = 0;
while (_local3 < _arg1.length) {
_local4 = _dataProvider.getItemIndex(_arg1[_local3]);
if (_local4 != -1){
_local2.push(_local4);
};
_local3++;
};
selectedIndices = _local2;
}
public function clearSelection():void{
selectedIndex = -1;
}
override public function get maxHorizontalScrollPosition():Number{
return (_maxHorizontalScrollPosition);
}
public function get selectedItems():Array{
var _local1:Array;
var _local2:uint;
_local1 = [];
_local2 = 0;
while (_local2 < _selectedIndices.length) {
_local1.push(_dataProvider.getItemAt(_selectedIndices[_local2]));
_local2++;
};
return (_local1);
}
public function set selectedIndex(_arg1:int):void{
selectedIndices = ((_arg1)==-1) ? null : [_arg1];
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, BaseScrollPane.getStyleDefinition()));
}
}
}//package fl.controls
Section 34
//TextInput (fl.controls.TextInput)
package fl.controls {
import fl.core.*;
import flash.display.*;
import flash.events.*;
import fl.managers.*;
import fl.events.*;
import flash.text.*;
import flash.ui.*;
public class TextInput extends UIComponent implements IFocusManagerComponent {
protected var _html:Boolean;// = false
protected var _savedHTML:String;
protected var background:DisplayObject;
protected var _editable:Boolean;// = true
public var textField:TextField;
private static var defaultStyles:Object = {upSkin:"TextInput_upSkin", disabledSkin:"TextInput_disabledSkin", focusRectSkin:null, focusRectPadding:null, textFormat:null, disabledTextFormat:null, textPadding:0, embedFonts:false};
public static var createAccessibilityImplementation:Function;
public function TextInput(){
_editable = true;
_html = false;
super();
}
override public function drawFocus(_arg1:Boolean):void{
if (focusTarget != null){
focusTarget.drawFocus(_arg1);
return;
};
super.drawFocus(_arg1);
}
public function set imeMode(_arg1:String):void{
_imeMode = _arg1;
}
override protected function isOurFocus(_arg1:DisplayObject):Boolean{
return ((((_arg1 == textField)) || (super.isOurFocus(_arg1))));
}
protected function handleKeyDown(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == Keyboard.ENTER){
dispatchEvent(new ComponentEvent(ComponentEvent.ENTER, true));
};
}
public function set text(_arg1:String):void{
textField.text = _arg1;
_html = false;
invalidate(InvalidationType.DATA);
invalidate(InvalidationType.STYLES);
}
protected function updateTextFieldType():void{
textField.type = (((enabled) && (editable))) ? TextFieldType.INPUT : TextFieldType.DYNAMIC;
textField.selectable = enabled;
}
public function get selectionEndIndex():int{
return (textField.selectionEndIndex);
}
public function get editable():Boolean{
return (_editable);
}
override protected function focusInHandler(_arg1:FocusEvent):void{
var _local2:IFocusManager;
if (_arg1.target == this){
stage.focus = textField;
};
_local2 = focusManager;
if (((editable) && (_local2))){
_local2.showFocusIndicator = true;
if (((textField.selectable) && ((textField.selectionBeginIndex == textField.selectionBeginIndex)))){
setSelection(0, textField.length);
};
};
super.focusInHandler(_arg1);
if (editable){
setIMEMode(true);
};
}
public function get selectionBeginIndex():int{
return (textField.selectionBeginIndex);
}
public function set alwaysShowSelection(_arg1:Boolean):void{
textField.alwaysShowSelection = _arg1;
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
updateTextFieldType();
}
protected function setEmbedFont(){
var _local1:Object;
_local1 = getStyleValue("embedFonts");
if (_local1 != null){
textField.embedFonts = _local1;
};
}
public function get horizontalScrollPosition():int{
return (textField.scrollH);
}
public function set condenseWhite(_arg1:Boolean):void{
textField.condenseWhite = _arg1;
}
public function set displayAsPassword(_arg1:Boolean):void{
textField.displayAsPassword = _arg1;
}
public function set horizontalScrollPosition(_arg1:int):void{
textField.scrollH = _arg1;
}
public function get restrict():String{
return (textField.restrict);
}
public function get textWidth():Number{
return (textField.textWidth);
}
public function get textHeight():Number{
return (textField.textHeight);
}
public function set editable(_arg1:Boolean):void{
_editable = _arg1;
updateTextFieldType();
}
public function get maxChars():int{
return (textField.maxChars);
}
public function get length():int{
return (textField.length);
}
public function getLineMetrics(_arg1:int):TextLineMetrics{
return (textField.getLineMetrics(_arg1));
}
public function get imeMode():String{
return (_imeMode);
}
override protected function focusOutHandler(_arg1:FocusEvent):void{
super.focusOutHandler(_arg1);
if (editable){
setIMEMode(false);
};
}
public function set htmlText(_arg1:String):void{
if (_arg1 == ""){
text = "";
return;
};
_html = true;
_savedHTML = _arg1;
textField.htmlText = _arg1;
invalidate(InvalidationType.DATA);
invalidate(InvalidationType.STYLES);
}
public function get text():String{
return (textField.text);
}
override public function get enabled():Boolean{
return (super.enabled);
}
public function get condenseWhite():Boolean{
return (textField.condenseWhite);
}
public function get alwaysShowSelection():Boolean{
return (textField.alwaysShowSelection);
}
override protected function draw():void{
var _local1:Object;
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawTextFormat();
drawBackground();
_local1 = getStyleValue("embedFonts");
if (_local1 != null){
textField.embedFonts = _local1;
};
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
super.draw();
}
protected function handleTextInput(_arg1:TextEvent):void{
_arg1.stopPropagation();
dispatchEvent(new TextEvent(TextEvent.TEXT_INPUT, true, false, _arg1.text));
}
override protected function configUI():void{
super.configUI();
tabChildren = true;
textField = new TextField();
addChild(textField);
updateTextFieldType();
textField.addEventListener(TextEvent.TEXT_INPUT, handleTextInput, false, 0, true);
textField.addEventListener(Event.CHANGE, handleChange, false, 0, true);
textField.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown, false, 0, true);
}
public function setSelection(_arg1:int, _arg2:int):void{
textField.setSelection(_arg1, _arg2);
}
public function get displayAsPassword():Boolean{
return (textField.displayAsPassword);
}
public function appendText(_arg1:String):void{
textField.appendText(_arg1);
}
public function set restrict(_arg1:String):void{
if (((componentInspectorSetting) && ((_arg1 == "")))){
_arg1 = null;
};
textField.restrict = _arg1;
}
public function get htmlText():String{
return (textField.htmlText);
}
protected function drawBackground():void{
var _local1:DisplayObject;
var _local2:String;
_local1 = background;
_local2 = (enabled) ? "upSkin" : "disabledSkin";
background = getDisplayObjectInstance(getStyleValue(_local2));
if (background == null){
return;
};
addChildAt(background, 0);
if (((((!((_local1 == null))) && (!((_local1 == background))))) && (contains(_local1)))){
removeChild(_local1);
};
}
override public function setFocus():void{
stage.focus = textField;
}
protected function drawLayout():void{
var _local1:Number;
_local1 = Number(getStyleValue("textPadding"));
if (background != null){
background.width = width;
background.height = height;
};
textField.width = (width - (2 * _local1));
textField.height = (height - (2 * _local1));
textField.x = (textField.y = _local1);
}
public function set maxChars(_arg1:int):void{
textField.maxChars = _arg1;
}
public function get maxHorizontalScrollPosition():int{
return (textField.maxScrollH);
}
protected function drawTextFormat():void{
var _local1:Object;
var _local2:TextFormat;
var _local3:TextFormat;
_local1 = UIComponent.getStyleDefinition();
_local2 = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat);
textField.setTextFormat(_local2);
_local3 = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat);
if (_local3 != null){
textField.setTextFormat(_local3);
} else {
_local3 = _local2;
};
textField.defaultTextFormat = _local3;
setEmbedFont();
if (_html){
textField.htmlText = _savedHTML;
};
}
protected function handleChange(_arg1:Event):void{
_arg1.stopPropagation();
dispatchEvent(new Event(Event.CHANGE, true));
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 35
//ComponentShim (fl.core.ComponentShim)
package fl.core {
import flash.display.*;
public dynamic class ComponentShim extends MovieClip {
}
}//package fl.core
Section 36
//InvalidationType (fl.core.InvalidationType)
package fl.core {
public class InvalidationType {
public static const SIZE:String = "size";
public static const ALL:String = "all";
public static const DATA:String = "data";
public static const SCROLL:String = "scroll";
public static const STATE:String = "state";
public static const STYLES:String = "styles";
public static const SELECTED:String = "selected";
public static const RENDERER_STYLES:String = "rendererStyles";
}
}//package fl.core
Section 37
//UIComponent (fl.core.UIComponent)
package fl.core {
import flash.display.*;
import flash.events.*;
import fl.managers.*;
import fl.events.*;
import flash.text.*;
import flash.system.*;
import flash.utils.*;
public class UIComponent extends Sprite {
protected var _enabled:Boolean;// = true
private var _mouseFocusEnabled:Boolean;// = true
protected var startHeight:Number;
protected var _height:Number;
protected var _oldIMEMode:String;// = null
protected var startWidth:Number;
public var focusTarget:IFocusManagerComponent;
protected var errorCaught:Boolean;// = false
protected var uiFocusRect:DisplayObject;
protected var _width:Number;
public var version:String;// = "3.0.0.15"
protected var isFocused:Boolean;// = false
protected var callLaterMethods:Dictionary;
private var _focusEnabled:Boolean;// = true
private var tempText:TextField;
protected var invalidateFlag:Boolean;// = false
protected var _inspector:Boolean;// = false
protected var sharedStyles:Object;
protected var invalidHash:Object;
protected var isLivePreview:Boolean;// = false
protected var _imeMode:String;// = null
protected var instanceStyles:Object;
protected var _x:Number;
protected var _y:Number;
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)};
public static var createAccessibilityImplementation:Function;
private static var focusManagers:Dictionary = new Dictionary(false);
public function UIComponent(){
version = "3.0.0.15";
isLivePreview = false;
invalidateFlag = false;
_enabled = true;
isFocused = false;
_focusEnabled = true;
_mouseFocusEnabled = true;
_imeMode = null;
_oldIMEMode = null;
errorCaught = false;
_inspector = false;
super();
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 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);
};
}
private function callLaterDispatcher(_arg1:Event):void{
var _local2:Dictionary;
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;
_local2 = callLaterMethods;
for (_local3 in _local2) {
_local3();
delete _local2[_local3];
};
inCallLaterPhase = false;
}
private function addedHandler(_arg1:Event):void{
removeEventListener("addedToStage", addedHandler);
initializeFocusManager();
}
protected function getStyleValue(_arg1:String):Object{
return (((instanceStyles[_arg1])==null) ? sharedStyles[_arg1] : instanceStyles[_arg1]);
}
protected function isOurFocus(_arg1:DisplayObject):Boolean{
return ((_arg1 == this));
}
override public function get scaleX():Number{
return ((width / startWidth));
}
override public function get scaleY():Number{
return ((height / startHeight));
}
override public function set height(_arg1:Number):void{
if (_height == _arg1){
return;
};
setSize(width, _arg1);
}
protected function keyDownHandler(_arg1:KeyboardEvent):void{
}
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;
};
};
}
public function setStyle(_arg1:String, _arg2:Object):void{
if ((((instanceStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
instanceStyles[_arg1] = _arg2;
invalidate(InvalidationType.STYLES);
}
override public function get visible():Boolean{
return (super.visible);
}
public function get componentInspectorSetting():Boolean{
return (_inspector);
}
override public function get x():Number{
return ((isNaN(_x)) ? super.x : _x);
}
override public function get y():Number{
return ((isNaN(_y)) ? super.y : _y);
}
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 set enabled(_arg1:Boolean):void{
if (_arg1 == _enabled){
return;
};
_enabled = _arg1;
invalidate(InvalidationType.STATE);
}
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);
};
}
protected function keyUpHandler(_arg1:KeyboardEvent):void{
}
public function set focusEnabled(_arg1:Boolean):void{
_focusEnabled = _arg1;
}
override public function set scaleX(_arg1:Number):void{
setSize((startWidth * _arg1), height);
}
public function get mouseFocusEnabled():Boolean{
return (_mouseFocusEnabled);
}
override public function set scaleY(_arg1:Number):void{
setSize(width, (startHeight * _arg1));
}
protected function getDisplayObjectInstance(_arg1:Object):DisplayObject{
var classDef:Object;
var skin = _arg1;
classDef = null;
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 copyStylesToChild(_arg1:UIComponent, _arg2:Object):void{
var _local3:String;
for (_local3 in _arg2) {
_arg1.setStyle(_local3, getStyleValue(_arg2[_local3]));
};
}
protected function beforeComponentParameters():void{
}
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);
};
}
protected function createFocusManager():void{
if (focusManagers[stage] == null){
focusManagers[stage] = new FocusManager(stage);
};
}
override public function set visible(_arg1:Boolean):void{
var _local2:String;
if (super.visible == _arg1){
return;
};
super.visible = _arg1;
_local2 = (_arg1) ? ComponentEvent.SHOW : ComponentEvent.HIDE;
dispatchEvent(new ComponentEvent(_local2, true));
}
protected function hookAccessibility(_arg1:Event):void{
removeEventListener(Event.ENTER_FRAME, hookAccessibility);
initializeAccessibility();
}
public function set componentInspectorSetting(_arg1:Boolean):void{
_inspector = _arg1;
if (_inspector){
beforeComponentParameters();
} else {
afterComponentParameters();
};
}
override public function set x(_arg1:Number):void{
move(_arg1, _y);
}
public function drawNow():void{
draw();
}
override public function set y(_arg1:Number):void{
move(_x, _arg1);
}
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 focusOutHandler(_arg1:FocusEvent):void{
if (isOurFocus((_arg1.target as DisplayObject))){
drawFocus(false);
isFocused = false;
};
}
public function set mouseFocusEnabled(_arg1:Boolean):void{
_mouseFocusEnabled = _arg1;
}
public function getFocus():InteractiveObject{
if (stage){
return (stage.focus);
};
return (null);
}
protected function validate():void{
invalidHash = {};
}
override public function get height():Number{
return (_height);
}
public function invalidate(_arg1:String="all", _arg2:Boolean=true):void{
invalidHash[_arg1] = true;
if (_arg2){
this.callLater(draw);
};
}
public function get enabled():Boolean{
return (_enabled);
}
protected function getScaleX():Number{
return (super.scaleX);
}
protected function getScaleY():Number{
return (super.scaleY);
}
public function get focusEnabled():Boolean{
return (_focusEnabled);
}
protected function afterComponentParameters():void{
}
protected function draw():void{
if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){
if (((isFocused) && (focusManager.showFocusIndicator))){
drawFocus(true);
};
};
validate();
}
protected function configUI():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
isLivePreview = checkLivePreview();
_local1 = rotation;
rotation = 0;
_local2 = super.width;
_local3 = 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 setScaleX(_arg1:Number):void{
super.scaleX = _arg1;
}
protected function setScaleY(_arg1:Number):void{
super.scaleY = _arg1;
}
private function initializeFocusManager():void{
if (stage == null){
addEventListener(Event.ADDED_TO_STAGE, addedHandler, false, 0, true);
} else {
createFocusManager();
};
}
public function set focusManager(_arg1:IFocusManager):void{
UIComponent.focusManagers[this] = _arg1;
}
public function clearStyle(_arg1:String):void{
setStyle(_arg1, null);
}
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);
}
public function setSize(_arg1:Number, _arg2:Number):void{
_width = _arg1;
_height = _arg2;
invalidate(InvalidationType.SIZE);
dispatchEvent(new ComponentEvent(ComponentEvent.RESIZE, false));
}
override public function set width(_arg1:Number):void{
if (_width == _arg1){
return;
};
setSize(_arg1, height);
}
public function setFocus():void{
if (stage){
stage.focus = this;
};
}
protected function initializeAccessibility():void{
if (UIComponent.createAccessibilityImplementation != null){
UIComponent.createAccessibilityImplementation(this);
};
}
public function get focusManager():IFocusManager{
var _local1:DisplayObject;
_local1 = this;
while (_local1) {
if (UIComponent.focusManagers[_local1] != null){
return (IFocusManager(UIComponent.focusManagers[_local1]));
};
_local1 = _local1.parent;
};
return (null);
}
override public function get width():Number{
return (_width);
}
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));
}
public function validateNow():void{
invalidate(InvalidationType.ALL, false);
draw();
}
public function getStyle(_arg1:String):Object{
return (instanceStyles[_arg1]);
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
public static function mergeStyles(... _args):Object{
var _local2:Object;
var _local3:uint;
var _local4:uint;
var _local5:Object;
var _local6:String;
_local2 = {};
_local3 = _args.length;
_local4 = 0;
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 38
//DataProvider (fl.data.DataProvider)
package fl.data {
import flash.events.*;
import fl.events.*;
public class DataProvider extends EventDispatcher {
protected var data:Array;
public function DataProvider(_arg1:Object=null){
if (_arg1 == null){
data = [];
} else {
data = getDataFromObject(_arg1);
};
}
protected function dispatchPreChangeEvent(_arg1:String, _arg2:Array, _arg3:int, _arg4:int):void{
dispatchEvent(new DataChangeEvent(DataChangeEvent.PRE_DATA_CHANGE, _arg1, _arg2, _arg3, _arg4));
}
public function invalidateItemAt(_arg1:int):void{
checkIndex(_arg1, (data.length - 1));
dispatchChangeEvent(DataChangeType.INVALIDATE, [data[_arg1]], _arg1, _arg1);
}
public function getItemIndex(_arg1:Object):int{
return (data.indexOf(_arg1));
}
protected function getDataFromObject(_arg1:Object):Array{
var _local2:Array;
var _local3:Array;
var _local4:uint;
var _local5:Object;
var _local6:XML;
var _local7:XMLList;
var _local8:XML;
var _local9:XMLList;
var _local10:XML;
var _local11:XMLList;
var _local12:XML;
if ((_arg1 is Array)){
_local3 = (_arg1 as Array);
if (_local3.length > 0){
if ((((_local3[0] is String)) || ((_local3[0] is Number)))){
_local2 = [];
_local4 = 0;
while (_local4 < _local3.length) {
_local5 = {label:String(_local3[_local4]), data:_local3[_local4]};
_local2.push(_local5);
_local4++;
};
return (_local2);
};
};
return (_arg1.concat());
} else {
if ((_arg1 is DataProvider)){
return (_arg1.toArray());
};
if ((_arg1 is XML)){
_local6 = (_arg1 as XML);
_local2 = [];
_local7 = _local6.*;
for each (_local8 in _local7) {
_arg1 = {};
_local9 = _local8.attributes();
for each (_local10 in _local9) {
_arg1[_local10.localName()] = _local10.toString();
};
_local11 = _local8.*;
for each (_local12 in _local11) {
if (_local12.hasSimpleContent()){
_arg1[_local12.localName()] = _local12.toString();
};
};
_local2.push(_arg1);
};
return (_local2);
//unresolved jump
};
};
throw (new ((!NULL! + !NULL!) + " to Array or DataProvider.").TypeError(!NULL!));
}
public function removeItemAt(_arg1:uint):Object{
var _local2:Array;
checkIndex(_arg1, (data.length - 1));
dispatchPreChangeEvent(DataChangeType.REMOVE, data.slice(_arg1, (_arg1 + 1)), _arg1, _arg1);
_local2 = data.splice(_arg1, 1);
dispatchChangeEvent(DataChangeType.REMOVE, _local2, _arg1, _arg1);
return (_local2[0]);
}
public function addItem(_arg1:Object):void{
dispatchPreChangeEvent(DataChangeType.ADD, [_arg1], (data.length - 1), (data.length - 1));
data.push(_arg1);
dispatchChangeEvent(DataChangeType.ADD, [_arg1], (data.length - 1), (data.length - 1));
}
public function sortOn(_arg1:Object, _arg2:Object=null){
var _local3:Array;
dispatchPreChangeEvent(DataChangeType.SORT, data.concat(), 0, (data.length - 1));
_local3 = data.sortOn(_arg1, _arg2);
dispatchChangeEvent(DataChangeType.SORT, data.concat(), 0, (data.length - 1));
return (_local3);
}
public function sort(... _args){
var _local2:Array;
dispatchPreChangeEvent(DataChangeType.SORT, data.concat(), 0, (data.length - 1));
_local2 = data.sort.apply(data, _args);
dispatchChangeEvent(DataChangeType.SORT, data.concat(), 0, (data.length - 1));
return (_local2);
}
public function addItems(_arg1:Object):void{
addItemsAt(_arg1, data.length);
}
public function concat(_arg1:Object):void{
addItems(_arg1);
}
public function clone():DataProvider{
return (new DataProvider(data));
}
public function toArray():Array{
return (data.concat());
}
public function get length():uint{
return (data.length);
}
public function addItemAt(_arg1:Object, _arg2:uint):void{
checkIndex(_arg2, data.length);
dispatchPreChangeEvent(DataChangeType.ADD, [_arg1], _arg2, _arg2);
data.splice(_arg2, 0, _arg1);
dispatchChangeEvent(DataChangeType.ADD, [_arg1], _arg2, _arg2);
}
public function getItemAt(_arg1:uint):Object{
checkIndex(_arg1, (data.length - 1));
return (data[_arg1]);
}
override public function toString():String{
return ((("DataProvider [" + data.join(" , ")) + "]"));
}
public function invalidateItem(_arg1:Object):void{
var _local2:uint;
_local2 = getItemIndex(_arg1);
if (_local2 == -1){
return;
};
invalidateItemAt(_local2);
}
protected function dispatchChangeEvent(_arg1:String, _arg2:Array, _arg3:int, _arg4:int):void{
dispatchEvent(new DataChangeEvent(DataChangeEvent.DATA_CHANGE, _arg1, _arg2, _arg3, _arg4));
}
protected function checkIndex(_arg1:int, _arg2:int):void{
if ((((_arg1 > _arg2)) || ((_arg1 < 0)))){
throw (new RangeError((((("DataProvider index (" + _arg1) + ") is not in acceptable range (0 - ") + _arg2) + ")")));
};
}
public function addItemsAt(_arg1:Object, _arg2:uint):void{
var _local3:Array;
checkIndex(_arg2, data.length);
_local3 = getDataFromObject(_arg1);
dispatchPreChangeEvent(DataChangeType.ADD, _local3, _arg2, ((_arg2 + _local3.length) - 1));
data.splice.apply(data, [_arg2, 0].concat(_local3));
dispatchChangeEvent(DataChangeType.ADD, _local3, _arg2, ((_arg2 + _local3.length) - 1));
}
public function replaceItem(_arg1:Object, _arg2:Object):Object{
var _local3:int;
_local3 = getItemIndex(_arg2);
if (_local3 != -1){
return (replaceItemAt(_arg1, _local3));
};
return (null);
}
public function removeItem(_arg1:Object):Object{
var _local2:int;
_local2 = getItemIndex(_arg1);
if (_local2 != -1){
return (removeItemAt(_local2));
};
return (null);
}
public function merge(_arg1:Object):void{
var _local2:Array;
var _local3:uint;
var _local4:uint;
var _local5:uint;
var _local6:Object;
_local2 = getDataFromObject(_arg1);
_local3 = _local2.length;
_local4 = data.length;
dispatchPreChangeEvent(DataChangeType.ADD, data.slice(_local4, data.length), _local4, (this.data.length - 1));
_local5 = 0;
while (_local5 < _local3) {
_local6 = _local2[_local5];
if (getItemIndex(_local6) == -1){
data.push(_local6);
};
_local5++;
};
if (data.length > _local4){
dispatchChangeEvent(DataChangeType.ADD, data.slice(_local4, data.length), _local4, (this.data.length - 1));
} else {
dispatchChangeEvent(DataChangeType.ADD, [], -1, -1);
};
}
public function replaceItemAt(_arg1:Object, _arg2:uint):Object{
var _local3:Array;
checkIndex(_arg2, (data.length - 1));
_local3 = [data[_arg2]];
dispatchPreChangeEvent(DataChangeType.REPLACE, _local3, _arg2, _arg2);
data[_arg2] = _arg1;
dispatchChangeEvent(DataChangeType.REPLACE, _local3, _arg2, _arg2);
return (_local3[0]);
}
public function invalidate():void{
dispatchEvent(new DataChangeEvent(DataChangeEvent.DATA_CHANGE, DataChangeType.INVALIDATE_ALL, data.concat(), 0, data.length));
}
public function removeAll():void{
var _local1:Array;
_local1 = data.concat();
dispatchPreChangeEvent(DataChangeType.REMOVE_ALL, _local1, 0, _local1.length);
data = [];
dispatchChangeEvent(DataChangeType.REMOVE_ALL, _local1, 0, _local1.length);
}
}
}//package fl.data
Section 39
//SimpleCollectionItem (fl.data.SimpleCollectionItem)
package fl.data {
public dynamic class SimpleCollectionItem {
public var label:String;
public var data:String;
public function toString():String{
return ((((("[SimpleCollectionItem: " + label) + ",") + data) + "]"));
}
}
}//package fl.data
Section 40
//ComponentEvent (fl.events.ComponentEvent)
package fl.events {
import flash.events.*;
public class ComponentEvent extends Event {
public static const HIDE:String = "hide";
public static const BUTTON_DOWN:String = "buttonDown";
public static const MOVE:String = "move";
public static const RESIZE:String = "resize";
public static const ENTER:String = "enter";
public static const LABEL_CHANGE:String = "labelChange";
public static const SHOW:String = "show";
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 41
//DataChangeEvent (fl.events.DataChangeEvent)
package fl.events {
import flash.events.*;
public class DataChangeEvent extends Event {
protected var _items:Array;
protected var _endIndex:uint;
protected var _changeType:String;
protected var _startIndex:uint;
public static const PRE_DATA_CHANGE:String = "preDataChange";
public static const DATA_CHANGE:String = "dataChange";
public function DataChangeEvent(_arg1:String, _arg2:String, _arg3:Array, _arg4:int=-1, _arg5:int=-1):void{
super(_arg1);
_changeType = _arg2;
_startIndex = _arg4;
_items = _arg3;
_endIndex = ((_arg5)==-1) ? _startIndex : _arg5;
}
public function get changeType():String{
return (_changeType);
}
public function get startIndex():uint{
return (_startIndex);
}
public function get items():Array{
return (_items);
}
override public function clone():Event{
return (new DataChangeEvent(type, _changeType, _items, _startIndex, _endIndex));
}
override public function toString():String{
return (formatToString("DataChangeEvent", "type", "changeType", "startIndex", "endIndex", "bubbles", "cancelable"));
}
public function get endIndex():uint{
return (_endIndex);
}
}
}//package fl.events
Section 42
//DataChangeType (fl.events.DataChangeType)
package fl.events {
public class DataChangeType {
public static const ADD:String = "add";
public static const REMOVE:String = "remove";
public static const REMOVE_ALL:String = "removeAll";
public static const CHANGE:String = "change";
public static const REPLACE:String = "replace";
public static const INVALIDATE:String = "invalidate";
public static const INVALIDATE_ALL:String = "invalidateAll";
public static const SORT:String = "sort";
}
}//package fl.events
Section 43
//ListEvent (fl.events.ListEvent)
package fl.events {
import flash.events.*;
public class ListEvent extends Event {
protected var _index:int;
protected var _item:Object;
protected var _columnIndex:int;
protected var _rowIndex:int;
public static const ITEM_DOUBLE_CLICK:String = "itemDoubleClick";
public static const ITEM_ROLL_OUT:String = "itemRollOut";
public static const ITEM_ROLL_OVER:String = "itemRollOver";
public static const ITEM_CLICK:String = "itemClick";
public function ListEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:int=-1, _arg5:int=-1, _arg6:int=-1, _arg7:Object=null){
super(_arg1, _arg2, _arg3);
_rowIndex = _arg5;
_columnIndex = _arg4;
_index = _arg6;
_item = _arg7;
}
public function get rowIndex():Object{
return (_rowIndex);
}
public function get index():int{
return (_index);
}
public function get item():Object{
return (_item);
}
public function get columnIndex():int{
return (_columnIndex);
}
override public function clone():Event{
return (new ListEvent(type, bubbles, cancelable, _columnIndex, _rowIndex));
}
override public function toString():String{
return (formatToString("ListEvent", "type", "bubbles", "cancelable", "columnIndex", "rowIndex", "index", "item"));
}
}
}//package fl.events
Section 44
//ScrollEvent (fl.events.ScrollEvent)
package fl.events {
import flash.events.*;
public class ScrollEvent extends Event {
private var _position:Number;
private var _direction:String;
private var _delta:Number;
public static const SCROLL:String = "scroll";
public function ScrollEvent(_arg1:String, _arg2:Number, _arg3:Number){
super(ScrollEvent.SCROLL, false, false);
_direction = _arg1;
_delta = _arg2;
_position = _arg3;
}
override public function clone():Event{
return (new ScrollEvent(_direction, _delta, _position));
}
public function get position():Number{
return (_position);
}
override public function toString():String{
return (formatToString("ScrollEvent", "type", "bubbles", "cancelable", "direction", "delta", "position"));
}
public function get delta():Number{
return (_delta);
}
public function get direction():String{
return (_direction);
}
}
}//package fl.events
Section 45
//FocusManager (fl.managers.FocusManager)
package fl.managers {
import fl.core.*;
import fl.controls.*;
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import flash.ui.*;
public class FocusManager implements IFocusManager {
private var focusableObjects:Dictionary;
private var _showFocusIndicator:Boolean;// = true
private var defButton:Button;
private var focusableCandidates:Array;
private var _form:DisplayObjectContainer;
private var _defaultButtonEnabled:Boolean;// = true
private var activated:Boolean;// = false
private var _defaultButton:Button;
private var calculateCandidates:Boolean;// = true
private var lastFocus:InteractiveObject;
private var lastAction:String;
public function FocusManager(_arg1:DisplayObjectContainer){
activated = false;
calculateCandidates = true;
_showFocusIndicator = true;
_defaultButtonEnabled = true;
super();
focusableObjects = new Dictionary(true);
if (_arg1 != null){
_form = _arg1;
addFocusables(DisplayObject(_arg1));
_arg1.addEventListener(Event.ADDED, addedHandler);
_arg1.addEventListener(Event.REMOVED, removedHandler);
activate();
};
}
public function get showFocusIndicator():Boolean{
return (_showFocusIndicator);
}
private function getIndexOfNextObject(_arg1:int, _arg2:Boolean, _arg3:Boolean, _arg4:String):int{
var _local5:int;
var _local6:int;
var _local7:DisplayObject;
var _local8:IFocusManagerGroup;
var _local9:int;
var _local10:DisplayObject;
var _local11:IFocusManagerGroup;
_local5 = focusableCandidates.length;
_local6 = _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);
}
public function set form(_arg1:DisplayObjectContainer):void{
_form = _arg1;
}
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);
o.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
};
} 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);
io.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
};
};
};
if ((o is DisplayObjectContainer)){
doc = DisplayObjectContainer(o);
o.addEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler);
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 getChildIndex(_arg1:DisplayObjectContainer, _arg2:DisplayObject):int{
return (_arg1.getChildIndex(_arg2));
}
private function mouseFocusChangeHandler(_arg1:FocusEvent):void{
if ((_arg1.relatedObject is TextField)){
return;
};
_arg1.preventDefault();
}
private function focusOutHandler(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
_local2 = (_arg1.target as InteractiveObject);
}
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);
}
public function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject{
var _local2:InteractiveObject;
_local2 = _arg1;
while (_arg1) {
if ((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))){
return (_arg1);
};
_arg1 = _arg1.parent;
};
return (_local2);
}
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 removeFocusables(_arg1:DisplayObject):void{
var _local2:Object;
var _local3:DisplayObject;
if ((_arg1 is DisplayObjectContainer)){
_arg1.removeEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler);
_arg1.removeEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
for (_local2 in focusableObjects) {
_local3 = DisplayObject(_local2);
if (DisplayObjectContainer(_arg1).contains(_local3)){
if (_local3 == lastFocus){
lastFocus = null;
};
_local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
delete focusableObjects[_local2];
calculateCandidates = true;
};
};
};
}
private function addedHandler(_arg1:Event):void{
var _local2:DisplayObject;
_local2 = DisplayObject(_arg1.target);
if (_local2.stage){
addFocusables(DisplayObject(_arg1.target));
};
}
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);
}
private function tabChildrenChangeHandler(_arg1:Event):void{
var _local2:DisplayObjectContainer;
if (_arg1.target != _arg1.currentTarget){
return;
};
calculateCandidates = true;
_local2 = DisplayObjectContainer(_arg1.target);
if (_local2.tabChildren){
addFocusables(_local2, true);
} else {
removeFocusables(_local2);
};
}
public function sendDefaultButtonEvent():void{
defButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
}
public function getFocus():InteractiveObject{
var _local1:InteractiveObject;
_local1 = form.stage.focus;
return (findFocusManagerComponent(_local1));
}
private function isEnabledAndVisible(_arg1:DisplayObject):Boolean{
var _local2:DisplayObjectContainer;
var _local3:TextField;
var _local4:SimpleButton;
_local2 = 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);
}
public function set defaultButton(_arg1:Button):void{
var _local2:Button;
_local2 = (_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;
};
};
}
private function deactivateHandler(_arg1:Event):void{
var _local2:InteractiveObject;
_local2 = InteractiveObject(_arg1.target);
}
public function setFocus(_arg1:InteractiveObject):void{
if ((_arg1 is IFocusManagerComponent)){
IFocusManagerComponent(_arg1).setFocus();
} else {
form.stage.focus = _arg1;
};
}
private function setFocusToNextObject(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
if (!hasFocusableObjects()){
return;
};
_local2 = getNextFocusManagerComponent(_arg1.shiftKey);
if (_local2){
setFocus(_local2);
};
}
private function hasFocusableObjects():Boolean{
var _local1:Object;
for (_local1 in focusableObjects) {
return (true);
};
return (false);
}
private function tabIndexChangeHandler(_arg1:Event):void{
calculateCandidates = true;
}
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 keyFocusChangeHandler(_arg1:FocusEvent):void{
showFocusIndicator = true;
if ((((((_arg1.keyCode == Keyboard.TAB)) || ((_arg1.keyCode == 0)))) && (!(_arg1.isDefaultPrevented())))){
setFocusToNextObject(_arg1);
_arg1.preventDefault();
};
}
private function getIndexOfFocusedObject(_arg1:DisplayObject):int{
var _local2:int;
var _local3:int;
_local2 = focusableCandidates.length;
_local3 = 0;
_local3 = 0;
while (_local3 < _local2) {
if (focusableCandidates[_local3] == _arg1){
return (_local3);
};
_local3++;
};
return (-1);
}
public function hideFocus():void{
}
private function removedHandler(_arg1:Event):void{
var _local2:int;
var _local3:DisplayObject;
var _local4:InteractiveObject;
_local3 = 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);
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);
};
};
removeFocusables(_local3);
}
private function sortByDepth(_arg1:InteractiveObject, _arg2:InteractiveObject):Number{
var _local3:String;
var _local4:String;
var _local5:int;
var _local6:String;
var _local7:String;
var _local8:String;
var _local9:DisplayObject;
var _local10:DisplayObject;
_local3 = "";
_local4 = "";
_local8 = "0000";
_local9 = DisplayObject(_arg1);
_local10 = 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);
}
public function get defaultButton():Button{
return (_defaultButton);
}
private function activateHandler(_arg1:Event):void{
var _local2:InteractiveObject;
_local2 = InteractiveObject(_arg1.target);
if (lastFocus){
if ((lastFocus is IFocusManagerComponent)){
IFocusManagerComponent(lastFocus).setFocus();
} else {
form.stage.focus = lastFocus;
};
};
lastAction = "ACTIVATE";
}
public function showFocus():void{
}
public function set defaultButtonEnabled(_arg1:Boolean):void{
_defaultButtonEnabled = _arg1;
}
public function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject{
var _local2:DisplayObject;
var _local3:String;
var _local4:int;
var _local5:Boolean;
var _local6:int;
var _local7:int;
var _local8:IFocusManagerGroup;
if (!hasFocusableObjects()){
return (null);
};
if (calculateCandidates){
sortFocusableObjects();
calculateCandidates = false;
};
_local2 = form.stage.focus;
_local2 = DisplayObject(findFocusManagerComponent(InteractiveObject(_local2)));
_local3 = "";
if ((_local2 is IFocusManagerGroup)){
_local8 = IFocusManagerGroup(_local2);
_local3 = _local8.groupName;
};
_local4 = getIndexOfFocusedObject(_local2);
_local5 = false;
_local6 = _local4;
if (_local4 == -1){
if (_arg1){
_local4 = focusableCandidates.length;
};
_local5 = true;
};
_local7 = getIndexOfNextObject(_local4, _arg1, _local5, _local3);
return (findFocusManagerComponent(focusableCandidates[_local7]));
}
private function mouseDownHandler(_arg1:MouseEvent):void{
var _local2:InteractiveObject;
if (_arg1.isDefaultPrevented()){
return;
};
_local2 = getTopLevelFocusTarget(InteractiveObject(_arg1.target));
if (!_local2){
return;
};
showFocusIndicator = false;
if (((((!((_local2 == lastFocus))) || ((lastAction == "ACTIVATE")))) && (!((_local2 is TextField))))){
setFocus(_local2);
};
lastAction = "MOUSEDOWN";
}
private function isTabVisible(_arg1:DisplayObject):Boolean{
var _local2:DisplayObjectContainer;
_local2 = _arg1.parent;
while (((((_local2) && (!((_local2 is Stage))))) && (!(((_local2.parent) && ((_local2.parent is Stage))))))) {
if (!_local2.tabChildren){
return (false);
};
_local2 = _local2.parent;
};
return (true);
}
public function get nextTabIndex():int{
return (0);
}
private function keyDownHandler(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == Keyboard.TAB){
lastAction = "KEY";
if (calculateCandidates){
sortFocusableObjects();
calculateCandidates = false;
};
};
if (((((((defaultButtonEnabled) && ((_arg1.keyCode == Keyboard.ENTER)))) && (defaultButton))) && (defButton.enabled))){
sendDefaultButtonEvent();
};
}
private function focusInHandler(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
var _local3:Button;
_local2 = 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 tabEnabledChangeHandler(_arg1:Event):void{
var _local2:InteractiveObject;
var _local3:Boolean;
calculateCandidates = true;
_local2 = InteractiveObject(_arg1.target);
_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];
};
};
}
public function set showFocusIndicator(_arg1:Boolean):void{
_showFocusIndicator = _arg1;
}
public function get form():DisplayObjectContainer{
return (_form);
}
private function sortByTabIndex(_arg1:InteractiveObject, _arg2:InteractiveObject):int{
return (((_arg1.tabIndex > _arg2.tabIndex)) ? 1 : ((_arg1.tabIndex < _arg2.tabIndex)) ? -1 : sortByDepth(_arg1, _arg2));
}
public function activate():void{
if (activated){
return;
};
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);
form.addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, 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);
form.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);
activated = true;
if (lastFocus){
setFocus(lastFocus);
};
}
public function deactivate():void{
form.stage.removeEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler);
form.stage.removeEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler);
form.removeEventListener(FocusEvent.FOCUS_IN, focusInHandler, true);
form.removeEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true);
form.stage.removeEventListener(Event.ACTIVATE, activateHandler);
form.stage.removeEventListener(Event.DEACTIVATE, deactivateHandler);
form.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
form.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);
activated = false;
}
public function get defaultButtonEnabled():Boolean{
return (_defaultButtonEnabled);
}
}
}//package fl.managers
Section 46
//IFocusManager (fl.managers.IFocusManager)
package fl.managers {
import fl.controls.*;
import flash.display.*;
public interface IFocusManager {
function getFocus():InteractiveObject;
function deactivate():void;
function set defaultButton(_arg1:Button):void;
function set showFocusIndicator(_arg1:Boolean):void;
function get defaultButtonEnabled():Boolean;
function get nextTabIndex():int;
function get defaultButton():Button;
function get showFocusIndicator():Boolean;
function setFocus(_arg1:InteractiveObject):void;
function activate():void;
function showFocus():void;
function set defaultButtonEnabled(_arg1:Boolean):void;
function hideFocus():void;
function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject;
function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject;
}
}//package fl.managers
Section 47
//IFocusManagerComponent (fl.managers.IFocusManagerComponent)
package fl.managers {
public interface IFocusManagerComponent {
function set focusEnabled(_arg1:Boolean):void;
function drawFocus(_arg1:Boolean):void;
function setFocus():void;
function get focusEnabled():Boolean;
function get tabEnabled():Boolean;
function get tabIndex():int;
function get mouseFocusEnabled():Boolean;
}
}//package fl.managers
Section 48
//IFocusManagerGroup (fl.managers.IFocusManagerGroup)
package fl.managers {
public interface IFocusManagerGroup {
function set groupName(_arg1:String):void;
function set selected(_arg1:Boolean):void;
function get groupName():String;
function get selected():Boolean;
}
}//package fl.managers
Section 49
//StyleManager (fl.managers.StyleManager)
package fl.managers {
import fl.core.*;
import flash.text.*;
import flash.utils.*;
public class StyleManager {
private var globalStyles:Object;
private var classToDefaultStylesDict:Dictionary;
private var styleToClassesHash:Object;
private var classToStylesDict:Dictionary;
private var classToInstancesDict:Dictionary;
private static var _instance:StyleManager;
public function StyleManager(){
styleToClassesHash = {};
classToInstancesDict = new Dictionary(true);
classToStylesDict = new Dictionary(true);
classToDefaultStylesDict = new Dictionary(true);
globalStyles = UIComponent.getStyleDefinition();
}
public static function clearComponentStyle(_arg1:Object, _arg2:String):void{
var _local3:Class;
var _local4:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance().classToStylesDict[_local3];
if (((!((_local4 == null))) && (!((_local4[_arg2] == null))))){
delete _local4[_arg2];
invalidateComponentStyle(_local3, _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);
}
public static function clearStyle(_arg1:String):void{
setStyle(_arg1, null);
}
public static function setComponentStyle(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Class;
var _local5:Object;
_local4 = getClassDef(_arg1);
_local5 = getInstance().classToStylesDict[_local4];
if (_local5 == null){
_local5 = (getInstance().classToStylesDict[_local4] = {});
};
if (_local5 == _arg3){
return;
};
_local5[_arg2] = _arg3;
invalidateComponentStyle(_local4, _arg2);
}
private static function setSharedStyles(_arg1:UIComponent):void{
var _local2:StyleManager;
var _local3:Class;
var _local4:Object;
var _local5:String;
_local2 = getInstance();
_local3 = getClassDef(_arg1);
_local4 = _local2.classToDefaultStylesDict[_local3];
for (_local5 in _local4) {
_arg1.setSharedStyle(_local5, getSharedStyle(_arg1, _local5));
};
}
public static function getComponentStyle(_arg1:Object, _arg2:String):Object{
var _local3:Class;
var _local4:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance().classToStylesDict[_local3];
return (((_local4)==null) ? null : _local4[_arg2]);
}
private static function getInstance(){
if (_instance == null){
_instance = new (StyleManager);
};
return (_instance);
}
private static function invalidateComponentStyle(_arg1:Class, _arg2:String):void{
var _local3:Dictionary;
var _local4:Object;
var _local5:UIComponent;
_local3 = 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));
};
};
}
private static function invalidateStyle(_arg1:String):void{
var _local2:Dictionary;
var _local3:Object;
_local2 = getInstance().styleToClassesHash[_arg1];
if (_local2 == null){
return;
};
for (_local3 in _local2) {
invalidateComponentStyle(Class(_local3), _arg1);
};
}
public static function registerInstance(_arg1:UIComponent):void{
var inst:StyleManager;
var classDef:Class;
var target:Class;
var defaultStyles:Object;
var styleToClasses:Object;
var n:String;
var instance = _arg1;
inst = getInstance();
classDef = 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;
inst.classToStylesDict[classDef] = {};
};
inst.classToInstancesDict[classDef][instance] = true;
setSharedStyles(instance);
}
public static function getStyle(_arg1:String):Object{
return (getInstance().globalStyles[_arg1]);
}
private static function getSharedStyle(_arg1:UIComponent, _arg2:String):Object{
var _local3:Class;
var _local4:StyleManager;
var _local5:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance();
_local5 = _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 setStyle(_arg1:String, _arg2:Object):void{
var _local3:Object;
_local3 = getInstance().globalStyles;
if ((((_local3[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
_local3[_arg1] = _arg2;
invalidateStyle(_arg1);
}
}
}//package fl.managers
Section 50
//Bounce (fl.motion.easing.Bounce)
package fl.motion.easing {
public class Bounce {
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
if (_arg1 < (1 / 2.75)){
return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2));
};
if (_arg1 < (2 / 2.75)){
_arg1 = (_arg1 - (1.5 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2));
};
if (_arg1 < (2.5 / 2.75)){
_arg1 = (_arg1 - (2.25 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2));
};
_arg1 = (_arg1 - (2.625 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (((_arg3 - easeOut((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (((easeIn((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2));
};
return ((((easeOut(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2));
}
}
}//package fl.motion.easing
Section 51
//Elastic (fl.motion.easing.Elastic)
package fl.motion.easing {
public class Elastic {
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
if (!_arg6){
_arg6 = (_arg4 * 0.3);
};
if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){
_arg5 = _arg3;
_local7 = (_arg6 / 4);
} else {
_local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5)));
};
return (((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6))) + _arg3) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
if (!_arg6){
_arg6 = (_arg4 * 0.3);
};
if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){
_arg5 = _arg3;
_local7 = (_arg6 / 4);
} else {
_local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5)));
};
--_arg1;
return ((-(((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6)))) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 == 2){
return ((_arg2 + _arg3));
};
if (!_arg6){
_arg6 = (_arg4 * (0.3 * 1.5));
};
if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){
_arg5 = _arg3;
_local7 = (_arg6 / 4);
} else {
_local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5)));
};
if (_arg1 < 1){
--_arg1;
return (((-0.5 * ((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6)))) + _arg2));
};
--_arg1;
return ((((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6))) * 0.5) + _arg3) + _arg2));
}
}
}//package fl.motion.easing
Section 52
//Color (fl.motion.Color)
package fl.motion {
import flash.display.*;
import flash.geom.*;
public class Color extends ColorTransform {
private var _tintMultiplier:Number;// = 0
private var _tintColor:Number;// = 0
public function Color(_arg1:Number=1, _arg2:Number=1, _arg3:Number=1, _arg4:Number=1, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0){
_tintColor = 0;
_tintMultiplier = 0;
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
public function setTint(_arg1:uint, _arg2:Number):void{
var _local3:uint;
var _local4:uint;
var _local5:uint;
this._tintColor = _arg1;
this._tintMultiplier = _arg2;
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = (1 - _arg2)));
_local3 = ((_arg1 >> 16) & 0xFF);
_local4 = ((_arg1 >> 8) & 0xFF);
_local5 = (_arg1 & 0xFF);
this.redOffset = Math.round((_local3 * _arg2));
this.greenOffset = Math.round((_local4 * _arg2));
this.blueOffset = Math.round((_local5 * _arg2));
}
public function set tintColor(_arg1:uint):void{
this.setTint(_arg1, this.tintMultiplier);
}
public function get brightness():Number{
return ((this.redOffset) ? (1 - this.redMultiplier) : (this.redMultiplier - 1));
}
private function deriveTintColor():uint{
var _local1:Number;
var _local2:uint;
var _local3:uint;
var _local4:uint;
var _local5:uint;
_local1 = (1 / this.tintMultiplier);
_local2 = Math.round((this.redOffset * _local1));
_local3 = Math.round((this.greenOffset * _local1));
_local4 = Math.round((this.blueOffset * _local1));
_local5 = (((_local2 << 16) | (_local3 << 8)) | _local4);
return (_local5);
}
public function get tintMultiplier():Number{
return (this._tintMultiplier);
}
public function get tintColor():uint{
return (this._tintColor);
}
public function set brightness(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
if (_arg1 > 1){
_arg1 = 1;
} else {
if (_arg1 < -1){
_arg1 = -1;
};
};
_local2 = (1 - Math.abs(_arg1));
_local3 = 0;
if (_arg1 > 0){
_local3 = (_arg1 * 0xFF);
};
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = _local2));
this.redOffset = (this.greenOffset = (this.blueOffset = _local3));
}
public function set tintMultiplier(_arg1:Number):void{
this.setTint(this.tintColor, _arg1);
}
private function parseXML(_arg1:XML=null):Color{
var _local2:XML;
var _local3:XML;
var _local4:String;
var _local5:uint;
if (!_arg1){
return (this);
};
_local2 = _arg1.elements()[0];
if (!_local2){
return (this);
};
for each (_local3 in _local2.attributes()) {
_local4 = _local3.localName();
if (_local4 == "tintColor"){
_local5 = (Number(_local3.toString()) as uint);
this.tintColor = _local5;
} else {
this[_local4] = Number(_local3.toString());
};
};
return (this);
}
public static function interpolateColor(_arg1:uint, _arg2:uint, _arg3:Number):uint{
var _local4:Number;
var _local5:uint;
var _local6:uint;
var _local7:uint;
var _local8:uint;
var _local9:uint;
var _local10:uint;
var _local11:uint;
var _local12:uint;
var _local13:uint;
var _local14:uint;
var _local15:uint;
var _local16:uint;
var _local17:uint;
_local4 = (1 - _arg3);
_local5 = ((_arg1 >> 24) & 0xFF);
_local6 = ((_arg1 >> 16) & 0xFF);
_local7 = ((_arg1 >> 8) & 0xFF);
_local8 = (_arg1 & 0xFF);
_local9 = ((_arg2 >> 24) & 0xFF);
_local10 = ((_arg2 >> 16) & 0xFF);
_local11 = ((_arg2 >> 8) & 0xFF);
_local12 = (_arg2 & 0xFF);
_local13 = ((_local5 * _local4) + (_local9 * _arg3));
_local14 = ((_local6 * _local4) + (_local10 * _arg3));
_local15 = ((_local7 * _local4) + (_local11 * _arg3));
_local16 = ((_local8 * _local4) + (_local12 * _arg3));
_local17 = ((((_local13 << 24) | (_local14 << 16)) | (_local15 << 8)) | _local16);
return (_local17);
}
public static function interpolateTransform(_arg1:ColorTransform, _arg2:ColorTransform, _arg3:Number):ColorTransform{
var _local4:Number;
var _local5:ColorTransform;
_local4 = (1 - _arg3);
_local5 = new ColorTransform(((_arg1.redMultiplier * _local4) + (_arg2.redMultiplier * _arg3)), ((_arg1.greenMultiplier * _local4) + (_arg2.greenMultiplier * _arg3)), ((_arg1.blueMultiplier * _local4) + (_arg2.blueMultiplier * _arg3)), ((_arg1.alphaMultiplier * _local4) + (_arg2.alphaMultiplier * _arg3)), ((_arg1.redOffset * _local4) + (_arg2.redOffset * _arg3)), ((_arg1.greenOffset * _local4) + (_arg2.greenOffset * _arg3)), ((_arg1.blueOffset * _local4) + (_arg2.blueOffset * _arg3)), ((_arg1.alphaOffset * _local4) + (_arg2.alphaOffset * _arg3)));
return (_local5);
}
public static function fromXML(_arg1:XML):Color{
return (Color(new (Color).parseXML(_arg1)));
}
}
}//package fl.motion
Section 53
//TweenLite (gs.TweenLite)
package gs {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
public class TweenLite {
public var delay:Number;
protected var _endTarget:Object;
private var _sound:SoundTransform;
public var target:Object;
public var duration:Number;
public var startTime:uint;
public var extraTweens:Object;
protected var _color:ColorTransform;
protected var _active:Boolean;
protected var _endColor:ColorTransform;
public var vars:Object;
public var tweens:Object;
public var initTime:uint;
private static var _sprite:Sprite = new Sprite();
private static var _timer:Timer = new Timer(2000);
protected static var _all:Dictionary = new Dictionary();
public static var killDelayedCallsTo:Function = killTweensOf;
public static var version:Number = 5.9;
private static var _listening:Boolean;
public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){
if (_arg1 == null){
return;
};
if (((((!((_arg3.overwrite == false))) && (!((_arg1 == null))))) || ((_all[_arg1] == undefined)))){
delete _all[_arg1];
_all[_arg1] = new Dictionary();
};
_all[_arg1][this] = this;
this.vars = _arg3;
this.duration = _arg2;
this.delay = ((_arg3.delay) || (0));
if (_arg2 == 0){
this.duration = 0.001;
if (this.delay == 0){
this.vars.runBackwards = true;
};
};
this.target = (_endTarget = _arg1);
if (!(this.vars.ease is Function)){
this.vars.ease = easeOut;
};
if (this.vars.easeParams != null){
this.vars.proxiedEase = this.vars.ease;
this.vars.ease = easeProxy;
};
if (this.vars.mcColor != null){
this.vars.tint = this.vars.mcColor;
};
if (!isNaN(Number(this.vars.autoAlpha))){
this.vars.alpha = Number(this.vars.autoAlpha);
};
this.tweens = {};
this.extraTweens = {};
this.initTime = getTimer();
if (this.vars.runBackwards == true){
initTweenVals();
};
_active = false;
if ((((_arg2 == 0)) && ((this.delay == 0)))){
complete(true);
} else {
if (!_listening){
_sprite.addEventListener(Event.ENTER_FRAME, executeAll);
_timer.addEventListener("timer", killGarbage);
_timer.start();
_listening = true;
};
};
}
public function set endTarget(_arg1:Object):void{
if ((((this.duration == 0.001)) && ((this.delay <= 0)))){
removeTween(this);
} else {
delete _all[_endTarget][this];
_endTarget = _arg1;
if (_all[_arg1] == undefined){
_all[_arg1] = new Dictionary();
};
_all[_arg1][this] = this;
};
}
public function get colorProxy():Number{
return (0);
}
public function get endTarget():Object{
return (_endTarget);
}
public function get active():Boolean{
if (_active){
return (true);
};
if (((getTimer() - this.initTime) / 1000) > this.delay){
_active = true;
this.startTime = (this.initTime + (this.delay * 1000));
if (this.vars.runBackwards != true){
initTweenVals();
} else {
if (typeof(this.vars.autoAlpha) == "number"){
this.target.visible = true;
};
};
if (this.vars.onStart != null){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
if (this.duration == 0.001){
this.startTime = (this.startTime - 1);
};
return (true);
//unresolved jump
};
return (false);
}
public function initTweenVals():void{
var _local1:Number;
var _local2:Boolean;
var _local3:String;
var _local4:*;
var _local5:Number;
var _local6:Array;
var _local7:int;
var _local8:TweenLite;
var _local9:TweenLite;
var _local10:Object;
_local1 = (this.delay - ((getTimer() - this.initTime) / 1000));
_local2 = (this.target is DisplayObject);
if ((this.target is Array)){
_local6 = ((this.vars.endArray) || ([]));
_local7 = 0;
while (_local7 < _local6.length) {
if (((!((this.target[_local7] == _local6[_local7]))) && (!((this.target[_local7] == undefined))))){
this.tweens[_local7.toString()] = {o:this.target, s:this.target[_local7], c:(_local6[_local7] - this.target[_local7])};
};
_local7++;
};
} else {
for (_local3 in this.vars) {
_local4 = this.vars[_local3];
if ((((((((((((((((((((((((((((_local3 == "delay")) || ((_local3 == "ease")))) || ((_local3 == "overwrite")))) || ((_local3 == "onComplete")))) || ((_local3 == "onCompleteParams")))) || ((_local3 == "runBackwards")))) || ((_local3 == "onUpdate")))) || ((_local3 == "onUpdateParams")))) || ((_local3 == "autoAlpha")))) || ((_local3 == "onStart")))) || ((_local3 == "onStartParams")))) || ((_local3 == "easeParams")))) || ((_local3 == "mcColor")))) || ((_local3 == "type")))){
} else {
if ((((_local3 == "tint")) && (_local2))){
_color = this.target.transform.colorTransform;
_endColor = new ColorTransform();
if (this.vars.alpha != undefined){
_endColor.alphaMultiplier = this.vars.alpha;
delete this.vars.alpha;
delete this.tweens.alpha;
} else {
_endColor.alphaMultiplier = this.target.alpha;
};
if (((!((_local4 == null))) && (!((_local4 == ""))))){
_endColor.color = _local4;
};
_local8 = new TweenLite(this, this.duration, {colorProxy:1, delay:_local1, overwrite:false, ease:this.vars.ease, runBackwards:this.vars.runBackwards});
_local8.endTarget = this.target;
} else {
if ((((_local3 == "volume")) && (((_local2) || ((this.target is SoundChannel)))))){
_sound = this.target.soundTransform;
_local9 = new TweenLite(this, this.duration, {volumeProxy:this.vars[_local3], ease:easeOut, delay:_local1, overwrite:false, runBackwards:this.vars.runBackwards});
_local9.endTarget = this.target;
} else {
if (this.target.hasOwnProperty(_local3)){
if (typeof(this.vars[_local3]) == "number"){
_local5 = (_local4 - this.target[_local3]);
} else {
_local5 = Number(_local4);
};
this.tweens[_local3] = {o:this.target, s:this.target[_local3], c:_local5};
} else {
this.extraTweens[_local3] = {o:this.target, s:0, c:0, v:_local4};
};
};
};
};
};
};
if (this.vars.runBackwards == true){
for (_local3 in this.tweens) {
_local10 = this.tweens[_local3];
this.tweens[_local3].s = (_local10.s + _local10.c);
_local10.c = (_local10.c * -1);
_local10.o[_local3] = _local10.s;
};
if (this.vars.onUpdate != null){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
};
if (typeof(this.vars.autoAlpha) == "number"){
this.target.visible = !((((this.vars.runBackwards == true)) && ((this.target.alpha == 0))));
};
}
public function render(_arg1:uint):void{
var _local2:Number;
var _local3:Number;
var _local4:Object;
var _local5:String;
_local2 = ((_arg1 - this.startTime) / 1000);
if (_local2 > this.duration){
_local2 = this.duration;
};
_local3 = this.vars.ease(_local2, 0, 1, this.duration);
for (_local5 in this.tweens) {
_local4 = this.tweens[_local5];
_local4.o[_local5] = (_local4.s + (_local3 * _local4.c));
};
if (this.vars.onUpdate != null){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (_local2 == this.duration){
complete(true);
};
}
public function set colorProxy(_arg1:Number):void{
var _local2:Number;
_local2 = (1 - _arg1);
this.target.transform.colorTransform = new ColorTransform(((_color.redMultiplier * _local2) + (_endColor.redMultiplier * _arg1)), ((_color.greenMultiplier * _local2) + (_endColor.greenMultiplier * _arg1)), ((_color.blueMultiplier * _local2) + (_endColor.blueMultiplier * _arg1)), ((_color.alphaMultiplier * _local2) + (_endColor.alphaMultiplier * _arg1)), ((_color.redOffset * _local2) + (_endColor.redOffset * _arg1)), ((_color.greenOffset * _local2) + (_endColor.greenOffset * _arg1)), ((_color.blueOffset * _local2) + (_endColor.blueOffset * _arg1)), ((_color.alphaOffset * _local2) + (_endColor.alphaOffset * _arg1)));
}
public function get volumeProxy():Number{
return (_sound.volume);
}
public function set volumeProxy(_arg1:Number):void{
_sound.volume = _arg1;
this.target.soundTransform = _sound;
}
protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams)));
}
public function complete(_arg1:Boolean=false):void{
if (!_arg1){
this.startTime = 0;
render((this.duration * 1000));
return;
};
if ((((typeof(this.vars.autoAlpha) == "number")) && ((this.target.alpha == 0)))){
this.target.visible = false;
};
if (this.vars.onComplete != null){
this.vars.onComplete.apply(null, this.vars.onCompleteParams);
};
removeTween(this);
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null):TweenLite{
return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, overwrite:false}));
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
_arg3.runBackwards = true;
return (new TweenLite(_arg1, _arg2, _arg3));
}
public static function removeTween(_arg1:TweenLite=null):void{
if (((!((_arg1 == null))) && (!((_all[_arg1.endTarget] == undefined))))){
delete _all[_arg1.endTarget][_arg1];
};
}
protected static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
public static function killGarbage(_arg1:TimerEvent):void{
var _local2:Object;
var _local3:uint;
var _local4:Boolean;
var _local5:Object;
var _local6:Object;
var _local7:Object;
_local2 = _all;
_local3 = 0;
for (_local5 in _local2) {
_local4 = false;
for (_local6 in _local2[_local5]) {
_local4 = true;
break;
};
if (!_local4){
delete _local2[_local5];
} else {
_local3++;
};
};
if (_local3 == 0){
_sprite.removeEventListener(Event.ENTER_FRAME, executeAll);
_timer.removeEventListener("timer", killGarbage);
_timer.stop();
_listening = false;
};
}
public static function executeAll(_arg1:Event):void{
var _local2:Object;
var _local3:uint;
var _local4:Object;
var _local5:Object;
_local2 = _all;
_local3 = getTimer();
for (_local4 in _local2) {
for (_local5 in _local2[_local4]) {
if (((!((_local2[_local4][_local5] == undefined))) && (_local2[_local4][_local5].active))){
_local2[_local4][_local5].render(_local3);
if (_local2[_local4] == undefined){
break;
};
};
};
};
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
return (new TweenLite(_arg1, _arg2, _arg3));
}
public static function killTweensOf(_arg1:Object=null, _arg2:Boolean=false):void{
var _local3:Object;
var _local4:*;
if (((!((_arg1 == null))) && (!((_all[_arg1] == undefined))))){
if (_arg2){
_local3 = _all[_arg1];
for (_local4 in _local3) {
_local3[_local4].complete(false);
};
};
delete _all[_arg1];
};
}
}
}//package gs
Section 54
//TweenMax (gs.TweenMax)
package gs {
import flash.utils.*;
public class TweenMax extends TweenLite {
private var _pauseTime:Number;
static var version:Number = 0.11;
public function TweenMax(_arg1:Object, _arg2:Number, _arg3:Object){
super(_arg1, _arg2, _arg3);
_pauseTime = -1;
if ((((TweenLite.version < 5.85)) || (isNaN(TweenLite.version)))){
trace("ERROR! Please update your TweenLite class. TweenFilterLite requires a more recent version. Download updates at http://www.TweenLite.com.");
};
}
override public function get active():Boolean{
if (_active){
return (true);
};
if (_pauseTime != -1){
return (false);
};
if (((getTimer() - this.initTime) / 1000) > this.delay){
_active = true;
this.startTime = (this.initTime + (this.delay * 1000));
if (this.vars.runBackwards != true){
initTweenVals();
} else {
if (typeof(this.vars.autoAlpha) == "number"){
this.target.visible = true;
};
};
if (this.vars.onStart != null){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
if (this.duration == 0.001){
this.startTime = (this.startTime - 1);
};
return (true);
//unresolved jump
};
return (false);
}
public function set progress(_arg1:Number):void{
var _local2:int;
var _local3:Number;
var _local4:Boolean;
_local2 = getTimer();
_local3 = (_local2 - ((this.duration * _arg1) * 1000));
this.initTime = (_local3 - (this.delay * 1000));
_local4 = this.active;
this.startTime = _local3;
render(_local2);
}
public function set paused(_arg1:Boolean):void{
if (_arg1){
this.pause();
} else {
this.resume();
};
}
public function resume():void{
var _local1:Number;
if (_pauseTime != -1){
_local1 = (getTimer() - _pauseTime);
this.initTime = (this.initTime + _local1);
if (!isNaN(this.startTime)){
this.startTime = (this.startTime + _local1);
};
_pauseTime = -1;
if (((getTimer() - this.initTime) / 1000) > this.delay){
_active = true;
};
};
}
public function get paused():Boolean{
if (_pauseTime != -1){
return (true);
};
return (false);
}
public function pause():void{
if (_pauseTime == -1){
_pauseTime = getTimer();
_active = false;
};
}
public function get progress():Number{
return ((((((getTimer() - this.startTime) / 1000) / this.duration)) || (0)));
}
public static function isTweening(_arg1:Object):Boolean{
var _local2:Array;
var _local3:Number;
_local2 = getTweensOf(_arg1);
_local3 = 0;
while (_local3 < _local2.length) {
if (_local2[_local3].active){
return (true);
};
_local3++;
};
return (false);
}
public static function getTweensOf(_arg1:Object):Array{
var _local2:Dictionary;
var _local3:Array;
var _local4:Object;
_local2 = _all[_arg1];
_local3 = [];
if (_local2 != null){
for (_local4 in _local2) {
if (_local2[_local4].tweens != undefined){
_local3.push(_local2[_local4]);
};
};
};
return (_local3);
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{
_arg3.runBackwards = true;
return (new TweenMax(_arg1, _arg2, _arg3));
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{
return (new TweenMax(_arg1, _arg2, _arg3));
}
}
}//package gs
Section 55
//AdventureEnd (AdventureEnd)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.ui.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
public dynamic class AdventureEnd extends MovieClip {
public var sOkBtn:SimpleButton;
public function AdventureEnd(){
addFrameScript(0, frame1);
}
function frame1(){
sOkBtn.addEventListener(MouseEvent.MOUSE_UP, Quit, false, 0, true);
}
public function Quit(_arg1:MouseEvent){
Main.GetInstance().AfterAdvCompleted();
parent.removeChild(this);
}
}
}//package
Section 56
//AdventureSettings (AdventureSettings)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class AdventureSettings extends MovieClip {
public var sResumeGame_BTN:MovieClip;
public var sDiff1_BTN:MovieClip;
public var sDiff3_BTN:MovieClip;
private var mSO:SharedObject;
public var sDiff2_BTN:MovieClip;
public var sCancelBtn2:SimpleButton;
public function AdventureSettings(){
var _local1:String;
var _local2:String;
mSO = SharedObject.getLocal("CardArena");
super();
sCancelBtn2.addEventListener(MouseEvent.MOUSE_UP, HideDeckList, false, 0, true);
sResumeGame_BTN.addEventListener(MouseEvent.MOUSE_UP, LoadGame, false, 0, true);
sDiff1_BTN.addEventListener(MouseEvent.MOUSE_UP, StartNewGame, false, 0, true);
sDiff2_BTN.addEventListener(MouseEvent.MOUSE_UP, StartNewGame, false, 0, true);
sDiff3_BTN.addEventListener(MouseEvent.MOUSE_UP, StartNewGame, false, 0, true);
if (mSO.data.AdventureLevel != null){
if (mSO.data.Difficulty == 0){
_local1 = "Easy";
} else {
if (mSO.data.Difficulty == 1){
_local1 = "Medium";
} else {
if (mSO.data.Difficulty == 2){
_local1 = "Hard";
};
};
};
_local2 = ((("Level : " + mSO.data.AdventureLevel) + " - ") + _local1);
sResumeGame_BTN.sDeckName.text = _local2;
} else {
sResumeGame_BTN.sDeckName.text = "Empty";
};
sDiff1_BTN.sDeckName.text = "Easy";
sDiff2_BTN.sDeckName.text = "Medium";
sDiff3_BTN.sDeckName.text = "Hard";
}
private function StartNewGame(_arg1:MouseEvent){
Main.GetInstance().mGameMode = Main.GAME_MODE_ADVENTURE;
if (_arg1.currentTarget.sDeckName.text == "Easy"){
Main.GetInstance().mDifficulty = 0;
} else {
if (_arg1.currentTarget.sDeckName.text == "Medium"){
Main.GetInstance().mDifficulty = 1;
} else {
if (_arg1.currentTarget.sDeckName.text == "Hard"){
Main.GetInstance().mDifficulty = 2;
};
};
};
this.parent.removeChild(this);
Main.GetInstance().mChoosenFoeDeckIdx = 777;
Main.GetInstance().ShowDeckChoose();
Main.GetInstance().mAdventureLevel = 1;
Main.GetInstance().KillAndRemoveAdventureSettings();
}
private function LoadGame(_arg1:MouseEvent){
Main.GetInstance().mGameMode = Main.GAME_MODE_ADVENTURE;
if (_arg1.currentTarget.sDeckName.text != "Empty"){
Main.GetInstance().mDifficulty = mSO.data.Difficulty;
Main.GetInstance().mAdventureLevel = mSO.data.AdventureLevel;
} else {
return;
};
Main.GetInstance().mChoosenFoeDeckIdx = 777;
Main.GetInstance().mChoosenDeckIdx = 999;
this.parent.removeChild(this);
Main.GetInstance().mState = Main.STATE_INIT_BATTLE;
Main.GetInstance().KillAndRemoveMainMenu();
Main.GetInstance().gotoAndStop("game");
}
private function HideDeckList(_arg1:MouseEvent){
this.parent.removeChild(this);
}
}
}//package
Section 57
//AnimBlockUnit (AnimBlockUnit)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import de.polygonal.math.*;
public class AnimBlockUnit extends MovieClip {
private var mTimer:Timer;
public var sCrossHair:MovieClip;
private var mTextIdx:int;
private var mText2:String;
private var mOriCursorX:int;
private var mTextIdx2:int;
private var mHoldCounter:int;
private var mText:String;
public var sCursor:MovieClip;
private var mHoldCounter2:int;
private var mUnitMC:MovieClip;
public var sText1:TextField;
public var sText2:TextField;
public function Init(){
if (mUnitMC){
if (mUnitMC.parent){
mUnitMC.parent.removeChild(mUnitMC);
};
};
mTimer = new Timer(100);
mTimer.addEventListener(TimerEvent.TIMER, OnTimer, false, 0, true);
sText1.text = "";
sText2.text = "";
mTextIdx = 0;
mTextIdx2 = 0;
mOriCursorX = sCursor.x;
mTimer.start();
sText1.autoSize = TextFieldAutoSize.LEFT;
sText1.antiAliasType = AntiAliasType.ADVANCED;
sText1.selectable = false;
sText2.autoSize = TextFieldAutoSize.LEFT;
sText2.antiAliasType = AntiAliasType.ADVANCED;
sText2.selectable = false;
mHoldCounter = 20;
mHoldCounter2 = 20;
Reset();
}
private function Reset(){
var _local1:UnitImg;
var _local2:int;
var _local3:String;
var _local4:Number;
var _local5:Card2;
_local1 = new UnitImg();
_local2 = PM_PRNG.nextIntRange(0, (Global.UnitOnlyDeck.length - 1));
_local2 = Global.UnitOnlyDeck[_local2];
_local3 = Global.SetInitUnitIconName(_local2);
if (mUnitMC){
if (mUnitMC.parent){
mUnitMC.parent.removeChild(mUnitMC);
};
};
mUnitMC = null;
mUnitMC = new MovieClip();
mUnitMC = _local1.getChildByName(_local3);
this.addChild(mUnitMC);
mUnitMC.x = Math.round((0 + ((sCrossHair.width - mUnitMC.width) / 2)));
mUnitMC.y = Math.round((0 + ((sCrossHair.height - mUnitMC.height) / 2)));
_local4 = (mUnitMC.x + mUnitMC.width);
mUnitMC.scaleX = -(mUnitMC.scaleX);
mUnitMC.x = _local4;
mText = Global.SetInitUnitName(_local2);
_local5 = new Card2(_local2);
mText2 = ((((("Hp: " + _local5.mHp2) + " - Dmg : ") + _local5.mDamage2) + " - AtkRate : ") + _local5.mAttackRate2);
}
private function OnTimer(_arg1:TimerEvent){
if (mTextIdx < mText.length){
mHoldCounter--;
if (mHoldCounter <= 0){
UpdateText();
sCursor.x = ((mOriCursorX + sText1.width) - 8);
};
} else {
if (mTextIdx2 < mText2.length){
UpdateText();
sCursor.x = ((mOriCursorX + sText2.width) - 8);
sCursor.y = (sText2.y - 4);
} else {
if (sText2.length > 0){
mHoldCounter2--;
if (mHoldCounter2 <= 0){
UpdateText();
sCursor.x = ((mOriCursorX + sText2.width) - 10);
};
} else {
UpdateText();
sCursor.x = ((mOriCursorX + sText1.width) - 10);
sCursor.y = sText1.y;
if (sText1.text.length <= 0){
mTextIdx = 0;
mTextIdx2 = 0;
mHoldCounter2 = 20;
mHoldCounter = 20;
Reset();
};
};
};
};
}
private function UpdateText(){
if (mTextIdx < mText.length){
sText1.appendText(mText.charAt(mTextIdx));
mTextIdx++;
} else {
if (mTextIdx2 < mText2.length){
sText2.appendText(mText2.charAt(mTextIdx2));
mTextIdx2++;
} else {
if (sText2.text.length > 0){
if (sText2.text.length > 0){
if (sText2.text.length >= 2){
sText2.text = sText2.text.slice(0, (sText2.text.length - 2));
} else {
sText2.text = sText2.text.slice(0, (sText2.text.length - 1));
};
};
} else {
if (sText1.text.length > 0){
if (sText1.text.length >= 2){
sText1.text = sText1.text.slice(0, (sText1.text.length - 2));
} else {
sText1.text = sText1.text.slice(0, (sText1.text.length - 1));
};
};
};
};
};
}
}
}//package
Section 58
//Banned (Banned)
package {
import flash.display.*;
public dynamic class Banned extends MovieClip {
public var mSapiBtn:MovieClip;
}
}//package
Section 59
//BGM (BGM)
package {
import flash.media.*;
public dynamic class BGM extends Sound {
}
}//package
Section 60
//bgmMC (bgmMC)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.ui.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
public dynamic class bgmMC extends MovieClip {
public function bgmMC(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 61
//Buff (Buff)
package {
import flash.events.*;
import com.electrotank.util.*;
public class Buff {
private var mUnitOwner:Unit;
private var mPlayerOwner:Player;
public var mCardRef:Card;
private var mSecCounter:Number;
private var mBuffCounter:Number;
public function Buff(_arg1:Card, _arg2:Player, _arg3:Unit=null){
mCardRef = _arg1;
mPlayerOwner = _arg2;
mUnitOwner = _arg3;
mSecCounter = 0;
mBuffCounter = 0;
ApplyBuff();
}
public function addDispatcher():void{
Main.GetInstance().addEventListener("update", Update, false, 0, true);
}
public function Update(_arg1:Event){
var _local2:Number;
_local2 = (1 / Main.GetInstance().stage.frameRate);
mSecCounter = (mSecCounter + _local2);
mBuffCounter = (mBuffCounter + _local2);
if ((((mBuffCounter >= MemoryCrypto.getValue(mCardRef.mBuffRateMax))) && (!((MemoryCrypto.getValue(mCardRef.mBuffRateMax) == 777))))){
if (mUnitOwner){
mUnitOwner.KillBuff(this);
} else {
mPlayerOwner.KillBuff(this);
};
};
if ((((mSecCounter >= MemoryCrypto.getValue(mCardRef.mBuffRate))) && ((MemoryCrypto.getValue(mCardRef.mBuffRate) > 0)))){
ApplyBuff();
mSecCounter = 0;
};
}
public function removeDispatcher():void{
Main.GetInstance().removeEventListener("update", Update);
}
private function ApplyBuff(){
if (mUnitOwner){
mUnitOwner.ApplySkill2(mCardRef);
} else {
mPlayerOwner.ApplySkill2(mCardRef);
};
}
}
}//package
Section 62
//Bullet (Bullet)
package {
import flash.display.*;
import flash.events.*;
import gs.*;
import com.electrotank.util.*;
public class Bullet extends MovieClip {
private var mHitUnitFlag:Array;
private var mOwner:Unit;
public var mTweenMax:TweenMax;
public function Bullet(_arg1:Unit){
var _local2:BulletsImg;
var _local3:MovieClip;
var _local4:Number;
super();
mOwner = _arg1;
_local2 = new BulletsImg();
_local3 = _local2.getChildByName(_arg1.mCardRef.mBulletName);
_local3.x = this.x;
_local3.y = this.y;
addChild(_local3);
mHitUnitFlag = new Array();
if (mOwner.mCardRef.mOwner.mPlayerNum == 1){
_local4 = (this.x + this.width);
this.scaleX = -1;
this.x = _local4;
};
_local3.mouseEnabled = false;
}
public function removeDispatcher(){
Main.GetInstance().removeEventListener("update", Update);
Main.GetInstance().removeEventListener("pause", Pause);
Main.GetInstance().removeEventListener("unpause", UnPause);
}
public function addDispatcher():void{
Main.GetInstance().addEventListener("update", Update, false, 0, true);
Main.GetInstance().addEventListener("pause", Pause, false, 0, true);
Main.GetInstance().addEventListener("unpause", UnPause, false, 0, true);
}
public function UnPause(_arg1:Event){
if (mTweenMax){
mTweenMax.resume();
};
}
public function KillMe(){
mOwner.mBullet.splice(mOwner.mBullet.indexOf(this), 1);
TweenLite.killTweensOf(this, false);
parent.removeChild(this);
Main.GetInstance().removeEventListener("update", Update);
}
public function Pause(_arg1:Event){
if (mTweenMax){
mTweenMax.pause();
};
}
public function Update(_arg1:Event){
var _local2:int;
var _local3:Unit;
var _local4:Unit;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:Boolean;
var _local10:int;
var _local11:int;
var _local12:int;
_local2 = Main.GetInstance().mTiles.length;
_local3 = null;
_local4 = null;
_local5 = mOwner.mY;
while (_local5 < (mOwner.mY + 1)) {
_local6 = Main.GetInstance().mTiles[_local5].length;
if (mOwner.mCardRef.mOwner.mPlayerNum == 0){
_local7 = 3;
} else {
_local7 = 0;
_local6 = 3;
};
_local8 = _local7;
while (_local8 < _local6) {
if (_local5 == 0){
if (((((Main.GetInstance().mTiles[_local5][_local8].mUnit) && ((_local5 == 0)))) && ((_local8 == 0)))){
};
};
if (((((Main.GetInstance().mTiles[_local5][_local8].mUnit) && (this.hitTestObject(Main.GetInstance().mTiles[_local5][_local8])))) && (!((Main.GetInstance().mTiles[_local5][_local8].mUnit == this.mOwner))))){
_local9 = false;
_local10 = 0;
while (_local10 < mHitUnitFlag.length) {
if (Main.GetInstance().mTiles[_local5][_local8].mUnit == mHitUnitFlag[_local10]){
_local9 = true;
break;
};
_local10++;
};
if (!_local9){
_local3 = Main.GetInstance().mTiles[_local5][_local8].mUnit;
};
};
_local8++;
};
_local5++;
};
if (_local3){
_local11 = mOwner.mCardRef.mOwner.mFoePlayerIdx;
_local10 = 0;
while (_local10 < Main.GetInstance().mPlayer[_local11].mUnit.length) {
if (Main.GetInstance().mPlayer[_local11].mUnit[_local10].mCardRef.mType == Global.SHIELD_3){
_local4 = Main.GetInstance().mPlayer[_local11].mUnit[_local10];
break;
};
_local10++;
};
_local12 = MemoryCrypto.getValue(mOwner.mDamage);
if (_local12 < 0){
_local12 = 0;
};
if (_local4){
_local4.IncreaseHp(-(_local12));
} else {
_local3.IncreaseHp(-(_local12));
};
if ((((((mOwner.mCardRef.mType == Global.FROZE_CANNON_1)) || ((mOwner.mCardRef.mType == Global.FROZE_CANNON_2)))) || ((mOwner.mCardRef.mType == Global.FROZE_CANNON_3)))){
_local3.ApplySkill(mOwner.mCardRef);
};
if (((((!((mOwner.mCardRef.mType == Global.DEMON_TANK_1))) && (!((mOwner.mCardRef.mType == Global.DEMON_TANK_2))))) && (!((mOwner.mCardRef.mType == Global.DEMON_TANK_3))))){
KillMe();
} else {
mHitUnitFlag.push(_local3);
};
};
}
}
}//package
Section 63
//BulletsImg (BulletsImg)
package {
import flash.display.*;
public dynamic class BulletsImg extends MovieClip {
public var bullet2:MovieClip;
public var bullet3:MovieClip;
public var bullet7:MovieClip;
public var bullet1:MovieClip;
public var bullet9:MovieClip;
public var bullet6:MovieClip;
public var bullet4:MovieClip;
public var bullet5:MovieClip;
public var bullet8:MovieClip;
}
}//package
Section 64
//Card (Card)
package {
import flash.display.*;
import flash.events.*;
import gs.*;
import fl.motion.*;
import flash.geom.*;
import flash.text.*;
import com.electrotank.util.*;
public class Card extends MovieClip {
public var mBulletName:String;
public var sHp_TXT:TextField;
public var mCardType:String;
public var mTint:Color;
public var mNozzlePos:Point;
public var mAttackRating:int;
public var mLevel:int;
public var mDesc:String;
public var sAttackRate_TXT:TextField;
public var mVar1:String;
public var mBuffRateMax:String;
public var mDamage:String;
public var mType:int;
public var cardBg1:MovieClip;
public var mIconName:String;
public var sDamage_TXT:TextField;
public var mHp:String;
public var sCost_TXT:TextField;
public var mName:String;
public var mBuffRate:String;
public var mSoundName:String;
public var mIcon:MovieClip;
public var mOwner:Player;
public var mAttackRate:String;
public var mTarget1:String;
protected var mSapiFlag:Boolean;
public var mValue1:String;
public var mNum:int;
public var mCost:String;
public var mAttackType:String;
public static var mId:int = 0;
public function Card(_arg1:Player=null, _arg2:int=0, _arg3:Boolean=true){
var _local4:int;
var _local5:int;
mCardType = ("mCardType" + mId);
mCost = ("mCost" + mId);
mHp = ("mHp" + mId);
mDamage = ("mDamage" + mId);
mAttackRate = ("mAttackRate" + mId);
mAttackType = ("mAttackType" + mId);
mBuffRate = ("mBuffRate" + mId);
mBuffRateMax = ("mBuffRateMax" + mId);
mVar1 = ("mVar1" + mId);
mTarget1 = ("mTarget1" + mId);
mValue1 = ("mValue1" + mId);
super();
mSapiFlag = _arg3;
mTint = new Color();
mTint.setTint(0, 1);
mNum = mId;
mId++;
mCursorHoverFlag = false;
mNozzlePos = new Point();
MemoryCrypto.setValue(mCardType, -1);
mOwner = _arg1;
mType = _arg2;
mName = "sapi";
sCost_TXT.text = "";
sHp_TXT.text = "";
sDamage_TXT.text = "";
sAttackRate_TXT.text = "";
if (mType == Global.CARD_TYPE_EMPTY){
return;
};
this.sCost_TXT.mouseEnabled = false;
if (mSapiFlag){
this.addEventListener(MouseEvent.MOUSE_OVER, OnMouseMove, false, 0, true);
this.addEventListener(MouseEvent.MOUSE_OUT, OnMouseOut, false, 0, true);
this.addEventListener(MouseEvent.MOUSE_DOWN, OnMouseClick, false, 0, true);
this.addEventListener(MouseEvent.MOUSE_UP, OnMouseUp, false, 0, true);
this.addEventListener(MouseEvent.MOUSE_MOVE, OnMouseMove2, false, 0, true);
};
LoadCardData();
this.addChild(mIcon);
_local4 = Math.round(((this.width - mIcon.width) / 2));
_local5 = Math.round(((this.height - mIcon.height) / 2));
mIcon.x = _local4;
mIcon.y = _local5;
}
private function LoadCardData():void{
var _local1:UnitImg;
var _local2:int;
var _local3:int;
var _local4:EquipmentsImg;
var _local5:SkillImg;
Global.SetInitUnitCardType(this, mType);
mName = Global.SetInitUnitName(mType);
mDesc = Global.SetInitUnitDesc(mType);
mIconName = Global.SetInitUnitIconName(mType);
Global.SetInitUnitCost(this, mType);
Global.SetInitUnitAttackType(this, mType);
Global.SetInitBuff(this, mType);
Global.SetInitVar1(this, mType);
Global.SetInitTarget1(this, mType);
Global.SetInitValue1(this, mType);
if (MemoryCrypto.getValue(mCardType) == Global.CARD_TYPE_UNIT){
Global.SetInitUnitHp(this, mType);
Global.SetInitUnitDamage(this, mType);
Global.SetInitUnitAttackRate(this, mType);
sHp_TXT.text = MemoryCrypto.getValue(mHp);
sDamage_TXT.text = MemoryCrypto.getValue(mDamage);
sAttackRate_TXT.text = MemoryCrypto.getValue(mAttackRate);
_local1 = new UnitImg();
mIcon = _local1.getChildByName(mIconName);
_local2 = mIcon.width;
_local3 = mIcon.height;
if ((((_local2 <= 60)) && ((_local3 > 60)))){
mIcon.width = Math.round(((60 / _local3) * _local2));
mIcon.height = 60;
} else {
if ((((_local3 <= 60)) && ((_local2 > 60)))){
mIcon.height = Math.round(((60 / _local2) * _local3));
mIcon.width = 60;
} else {
if ((((_local3 > 60)) && ((_local2 > 60)))){
if (_local2 > _local3){
mIcon.height = Math.round(((60 / _local2) * _local3));
mIcon.width = 60;
} else {
mIcon.width = Math.round(((60 / _local3) * _local2));
mIcon.height = 60;
};
};
};
};
mIcon.stop();
} else {
if (MemoryCrypto.getValue(mCardType) == Global.CARD_TYPE_EQUIPMENT){
_local4 = new EquipmentsImg();
mIcon = _local4.getChildByName(mIconName);
mIcon.stop();
MemoryCrypto.setValue(mHp, 0);
MemoryCrypto.setValue(mDamage, 0);
MemoryCrypto.setValue(mAttackRate, 0);
} else {
if (MemoryCrypto.getValue(mCardType) == Global.CARD_TYPE_SKILL){
_local5 = new SkillImg();
mIcon = _local5.getChildByName(mIconName);
mIcon.width = 52;
mIcon.height = 75;
MemoryCrypto.setValue(mHp, 0);
MemoryCrypto.setValue(mDamage, 0);
MemoryCrypto.setValue(mAttackRate, 0);
};
};
};
mIcon.x = 0;
mIcon.y = 0;
sCost_TXT.text = MemoryCrypto.getValue(mCost);
}
public function PushDown(){
if (this.y < Player.INIT_HAND_Y){
this.y = Player.INIT_HAND_Y;
};
}
private function ApplySkillToUnit(_arg1, _arg2:int, _arg3:Array){
_arg1.ApplySkill(this);
}
private function OnMouseMove2(_arg1:MouseEvent):void{
}
public function ShowCardInfo(){
var _local1:String;
Main.GetInstance().sCardDesc_MC.gotoAndStop(2);
Main.GetInstance().sCardDesc_MC.sDesc_TXT.text = this.mDesc;
if (MemoryCrypto.getValue(mCardType) == Global.CARD_TYPE_UNIT){
_local1 = ((((((((((Global.CardType[MemoryCrypto.getValue(mCardType)] + "-") + mName) + " - Cost:") + MemoryCrypto.getValue(mCost)) + " Hp:") + MemoryCrypto.getValue(mHp)) + " Dmg:") + MemoryCrypto.getValue(mDamage)) + " AttackRate:") + MemoryCrypto.getValue(mAttackRate));
} else {
_local1 = ((((Global.CardType[MemoryCrypto.getValue(mCardType)] + "-") + mName) + " Cost:") + MemoryCrypto.getValue(mCost));
};
Main.GetInstance().sCardDesc_MC.sCardInfo_TXT.text = _local1;
Main.GetInstance().sCardDesc_MC.sDesc_TXT.visible = true;
Main.GetInstance().sCardDesc_MC.sCardInfo_TXT.visible = true;
}
public function PushUp(){
TweenLite.killTweensOf(this, true);
if (this.y > (Player.INIT_HAND_Y - 16)){
this.y = (Player.INIT_HAND_Y - 16);
};
}
public function OnMouseClick(_arg1:MouseEvent){
var _local2:int;
var _local3:int;
var _local4:Array;
var _local5:int;
var _local6:int;
if (Main.GetInstance().mDragNDrop){
Main.GetInstance().mMouseDownFlag = true;
this.parent.setChildIndex(this, (Main.GetInstance().mTiles[0][0].parent.getChildIndex(Main.GetInstance().mTiles[0][0]) - 1));
};
if (Main.GetInstance().mTutorialState == 0){
Main.GetInstance().ChangeTutorialState(1);
} else {
if (Main.GetInstance().mTutorialState == 2){
Main.GetInstance().mPlayer[0].mUnit[0].IncreaseHp(-20);
Main.GetInstance().ChangeTutorialState(3);
};
};
if (this.alpha < 1){
return;
};
if (Main.GetInstance().mSelectedCard){
if (Main.GetInstance().mHoveredCard != Main.GetInstance().mSelectedCard){
Main.GetInstance().mGameState = Main.GAME_STATE_NONE;
Main.GetInstance().mHoveredCard.OnMouseMove();
Main.GetInstance().HideCrossHair();
} else {
return;
};
Main.GetInstance().mSelectedCard.PushDown();
Main.GetInstance().mSelectedCard = null;
};
Main.GetInstance().mGameState = Main.GAME_STATE_NONE;
if (MemoryCrypto.getValue(mOwner.mEp) >= MemoryCrypto.getValue(mCost)){
this.PushUp();
if (MemoryCrypto.getValue(mCardType) == Global.CARD_TYPE_UNIT){
Main.GetInstance().mSelectedCard = this;
Main.GetInstance().ChangeToCrossHair();
Main.GetInstance().mGameState = Main.GAME_STATE_CHOOSE_UNIT_CAST_TILE;
Main.GetInstance().ShowMessage("SELECT A TILE TO PLACE THIS UNIT, PRESS ESC TO CANCEL", true, false);
} else {
if (MemoryCrypto.getValue(mCardType) == Global.CARD_TYPE_SKILL){
if (MemoryCrypto.getValue(mVar1) != Global.VAR_NONE){
if (MemoryCrypto.getValue(mTarget1) >= 0){
Main.GetInstance().mSelectedCard = this;
if (MemoryCrypto.getValue(mTarget1) == Global.TARGET_UNIT){
Main.GetInstance().ChangeToCrossHair();
Main.GetInstance().mGameState = Main.GAME_STATE_CHOOSE_UNIT_SKILL_CARD;
Main.GetInstance().ShowMessage("SELECT AN UNIT, PRESS ESC TO CANCEL", true, false);
} else {
if (MemoryCrypto.getValue(mTarget1) == Global.TARGET_OWN_GRAVEYARD){
if (MemoryCrypto.getValue(mOwner.mGraveyard[(mOwner.mGraveyard.length - 1)].mCardType) == Global.CARD_TYPE_UNIT){
Main.GetInstance().mSelectedCard = this;
Main.GetInstance().ChangeToCrossHair();
Main.GetInstance().mGameState = Main.GAME_STATE_CHOOSE_UNIT_CAST_TILE;
Main.GetInstance().ShowMessage("SELECT A TILE TO PLACE THE RESURRECTED UNIT, ESC TO CANCEL", false, false);
} else {
Main.GetInstance().mSelectedCard = null;
Main.GetInstance().ShowMessage("NO UNIT CARD ON TOP OF YOUR GRAVEYARD");
this.PushDown();
};
} else {
if (MemoryCrypto.getValue(mTarget1) == Global.TARGET_FOE_GRAVEYARD){
if (MemoryCrypto.getValue(Main.GetInstance().mPlayer[mOwner.mFoePlayerIdx].mGraveyard[(Main.GetInstance().mPlayer[mOwner.mFoePlayerIdx].mGraveyard.length - 1)].mCardType) == Global.CARD_TYPE_UNIT){
Main.GetInstance().mSelectedCard = this;
Main.GetInstance().ChangeToCrossHair();
Main.GetInstance().mGameState = Main.GAME_STATE_CHOOSE_UNIT_CAST_TILE;
Main.GetInstance().ShowMessage("SELECT A TILE TO PLACE THE RESURRECTED UNIT, ESC TO CANCEL", false, false);
} else {
Main.GetInstance().mSelectedCard = null;
Main.GetInstance().ShowMessage("NO UNIT CARD ON TOP OF FOE'S GRAVEYARD");
this.PushDown();
};
} else {
if (MemoryCrypto.getValue(mTarget1) == Global.TARGET_EQUIPMENT){
Main.GetInstance().ChangeToCrossHair();
Main.GetInstance().mGameState = Main.GAME_STATE_CHOOSE_EQUIPMENT_SKILL_CARD;
Main.GetInstance().ShowMessage("SELECT AN EQUIPMENT, PRESS ESC TO CANCEL", false, false);
} else {
if ((((((MemoryCrypto.getValue(mTarget1) == Global.TARGET_OWN_CPU)) || ((MemoryCrypto.getValue(mTarget1) == Global.TARGET_OWN_PLAYER)))) || ((MemoryCrypto.getValue(mTarget1) == Global.TARGET_FOE_CPU)))){
if (MemoryCrypto.getValue(mVar1) != Global.VAR_DRAW_CARD){
mOwner.ApplySkill(this);
};
MemoryCrypto.decrementValue(mOwner.mEp, MemoryCrypto.getValue(mCost));
mOwner.RemoveCardFromHand(this);
if (MemoryCrypto.getValue(mVar1) == Global.VAR_DRAW_CARD){
mOwner.ApplySkill(this);
};
};
};
};
};
};
} else {
MemoryCrypto.decrementValue(mOwner.mEp, MemoryCrypto.getValue(mCost));
if (this.mType == Global.CARD_ATTACK_1){
if (mOwner.mHand.length < 2){
Main.GetInstance().ShowMessage("Need at least an another card in your hand");
return;
};
_local3 = 0;
while (_local3 < mOwner.mHand.length) {
if (mOwner.mHand[_local3].mNum != this.mNum){
_local2 = _local3;
break;
};
_local3++;
};
this.parent.removeChild(mOwner.mHand[_local2]);
mOwner.mGraveyard.push(mOwner.mHand[_local2]);
mOwner.UpdateGraveyard();
mOwner.RemoveCardFromHand(mOwner.mHand[_local2], false, false);
};
if (MemoryCrypto.getValue(mTarget1) == Global.TARGET_ALL_UNIT){
_local4 = new Array();
_local3 = 0;
while (_local3 < 2) {
_local4 = Main.GetInstance().mPlayer[_local3].mUnit.slice(0, Main.GetInstance().mPlayer[_local3].mUnit.length);
_local5 = 0;
while (_local5 < _local4.length) {
_local4[_local5].AnimSkill(this);
_local5++;
};
_local3++;
};
} else {
if (MemoryCrypto.getValue(mTarget1) == Global.TARGET_ALL_OWN_UNIT){
_local4 = new Array();
_local4 = mOwner.mUnit.slice(0, mOwner.mUnit.length);
_local5 = 0;
while (_local5 < _local4.length) {
_local4[_local5].AnimSkill(this);
_local5++;
};
} else {
if (MemoryCrypto.getValue(mTarget1) == Global.TARGET_ALL_FOE_UNIT){
_local6 = 0;
if (mOwner.mPlayerNum == 0){
_local6 = 1;
};
_local4 = new Array();
_local4 = Main.GetInstance().mPlayer[_local6].mUnit.slice(0, Main.GetInstance().mPlayer[_local6].mUnit.length);
_local5 = 0;
while (_local5 < _local4.length) {
_local4[_local5].AnimSkill(this);
_local5++;
};
};
};
};
if (this.mType == Global.CARD_ATTACK_1){
mOwner.RemoveCardFromHand(this);
} else {
mOwner.RemoveCardFromHand(this);
};
};
};
} else {
if (MemoryCrypto.getValue(mCardType) == Global.CARD_TYPE_EQUIPMENT){
if (mOwner.mEquipment){
Main.GetInstance().ShowMessage("YOU CAN ONLY HAVE 1 EQUIPMENT IN THE PLAY !!");
this.PushDown();
} else {
MemoryCrypto.decrementValue(mOwner.mEp, MemoryCrypto.getValue(mCost));
mOwner.mEquipment = new Equipment(this);
Main.GetInstance().dispatchEvent(new Event("applyEquipmentEffect"));
mOwner.RemoveCardFromHand(this);
this.parent.removeChild(this);
};
};
};
};
} else {
Main.GetInstance().ShowMessage("NOT ENOUGH EP !!");
};
}
public function OnMouseOut(_arg1:MouseEvent=null){
Main.GetInstance().mHoveredCard = null;
if (((((!((Main.GetInstance().mGameState == Main.GAME_STATE_CHOOSE_UNIT_CAST_TILE))) && (!((Main.GetInstance().mGameState == Main.GAME_STATE_CHOOSE_UNIT))))) && (!((Main.GetInstance().mGameState == Main.GAME_STATE_CHOOSE_EQUIPMENT_SKILL_CARD))))){
HideCardInfo();
};
}
public function OnMouseUp(_arg1:MouseEvent):void{
if (Main.GetInstance().mDragNDrop){
if (Main.GetInstance().mMouseDownFlag){
Main.GetInstance().mMouseDownFlag = false;
mOwner.ReArrangeHand(false);
Main.GetInstance().ProcessEscKey();
};
};
}
public function HideCardInfo(){
Main.GetInstance().sCardDesc_MC.gotoAndStop(1);
Main.GetInstance().sCardDesc_MC.sDesc_TXT.visible = false;
Main.GetInstance().sCardDesc_MC.sCardInfo_TXT.visible = false;
if (((Main.GetInstance().mSelectedCard) && (!((Main.GetInstance().mGameState == Main.GAME_STATE_NONE))))){
Main.GetInstance().mSelectedCard.OnMouseMove();
};
}
public function OnMouseMove(_arg1:MouseEvent=null){
Main.GetInstance().mHoveredCard = this;
if ((((((Main.GetInstance().mGameState == Main.GAME_STATE_CHOOSE_UNIT_CAST_TILE)) || ((Main.GetInstance().mGameState == Main.GAME_STATE_CHOOSE_UNIT)))) || ((Main.GetInstance().mGameState == Main.GAME_STATE_CHOOSE_EQUIPMENT_SKILL_CARD)))){
if (Main.GetInstance().mHoveredCard != Main.GetInstance().mSelectedCard){
return;
};
};
ShowCardInfo();
}
}
}//package
Section 65
//Card2 (Card2)
package {
import flash.events.*;
import com.electrotank.util.*;
public class Card2 extends Card {
private var mHolder:int;
public var mHp2:int;
public var mMouseOverFlag:Boolean;
public var mCardType2:int;
public var mAttackRate2:int;
public var mDamage2:int;
public var mCost2:int;
public static var TEMP_DECK = 1;
public static var CARD_PANE = 0;
public function Card2(_arg1:int, _arg2:int=0){
var _local3:int;
var _local4:int;
super(null, _arg1, false);
mHolder = _arg2;
mMouseOverFlag = true;
this.removeEventListener(MouseEvent.MOUSE_OVER, OnMouseMove);
this.removeEventListener(MouseEvent.MOUSE_OUT, OnMouseOut);
this.removeEventListener(MouseEvent.MOUSE_UP, OnMouseClick);
this.addEventListener(MouseEvent.MOUSE_OVER, OnMouseOver2, false, 0, true);
this.addEventListener(MouseEvent.MOUSE_OUT, OnMouseOut2, false, 0, true);
this.addEventListener(MouseEvent.MOUSE_DOWN, OnMouseClick2, false, 0, true);
mCardType2 = MemoryCrypto.getValue(mCardType);
mCost2 = MemoryCrypto.getValue(mCost);
mHp2 = MemoryCrypto.getValue(mHp);
mDamage2 = MemoryCrypto.getValue(mDamage);
mAttackRate2 = MemoryCrypto.getValue(mAttackRate);
if (mCardType2 == Global.CARD_TYPE_EQUIPMENT){
_local3 = mIcon.width;
_local4 = mIcon.height;
if ((((_local3 <= 60)) && ((_local4 > 60)))){
mIcon.width = Math.round(((60 / _local4) * _local3));
mIcon.height = 60;
} else {
if ((((_local4 <= 60)) && ((_local3 > 60)))){
mIcon.height = Math.round(((60 / _local3) * _local4));
mIcon.width = 60;
} else {
if ((((_local4 > 60)) && ((_local3 > 60)))){
if (_local3 > _local4){
mIcon.height = Math.round(((60 / _local3) * _local4));
mIcon.width = 60;
} else {
mIcon.width = Math.round(((60 / _local4) * _local3));
mIcon.height = 60;
};
};
};
};
};
}
public function Init(){
mSapiFlag = false;
}
private function OnMouseClick2(_arg1:MouseEvent){
var _local2:Card2;
var _local3:int;
var _local4:int;
if (!mMouseOverFlag){
return;
};
if (mHolder == CARD_PANE){
if (Main.GetInstance().mDeckEditor.mTempDeck.length == Global.MAX_CARD_PER_DECK){
Main.GetInstance().ShowMessage("Max 30 cards in 1 deck !!", true, true);
return;
};
_local2 = new Card2(this.mType, TEMP_DECK);
_local3 = 0;
_local4 = 0;
while (_local4 < Main.GetInstance().mDeckEditor.mTempDeck.length) {
if (Main.GetInstance().mDeckEditor.mTempDeck[_local4].mType == this.mType){
_local3++;
};
_local4++;
};
if (_local3 == 4){
Main.GetInstance().ShowMessage("Max 4 card of the same type allowed in 1 deck", true, true);
} else {
Main.GetInstance().mDeckEditor.mTempDeck.push(_local2);
Main.GetInstance().mDeckEditor.TempDeckScrollToLine(0);
};
} else {
this.parent.removeChild(this);
Main.GetInstance().mDeckEditor.mTempDeck.splice(Main.GetInstance().mDeckEditor.mTempDeck.indexOf(this), 1);
Main.GetInstance().mDeckEditor.TempDeckScrollToLine(0);
};
}
private function OnMouseOver2(_arg1:MouseEvent){
var _local2:String;
if (!mMouseOverFlag){
return;
};
if (mCardType2 == Global.CARD_TYPE_UNIT){
_local2 = ((((((((((Global.CardType[mCardType2] + "-") + mName) + " - Cost:") + mCost2) + " Hp:") + mHp2) + " Dmg:") + mDamage2) + " AttackRate:") + mAttackRate2);
} else {
_local2 = ((((Global.CardType[mCardType2] + "-") + mName) + " Cost:") + mCost2);
};
Main.GetInstance().mDeckEditor.sCardInfo1_TXT.text = _local2;
Main.GetInstance().mDeckEditor.sCardInfo2_TXT.text = mDesc;
}
private function OnMouseOut2(_arg1:MouseEvent){
if (!mMouseOverFlag){
return;
};
Main.GetInstance().mDeckEditor.sCardInfo1_TXT.text = "";
Main.GetInstance().mDeckEditor.sCardInfo2_TXT.text = "";
}
}
}//package
Section 66
//CardDesc2 (CardDesc2)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.ui.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
public dynamic class CardDesc2 extends MovieClip {
public var sDesc_TXT:TextField;
public var sCardInfo_TXT:TextField;
public function CardDesc2(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 67
//CardsList (CardsList)
package {
import flash.display.*;
public dynamic class CardsList extends MovieClip {
}
}//package
Section 68
//CCreditsWin (CCreditsWin)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.ui.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
public dynamic class CCreditsWin extends MovieClip {
public var backBTN:SimpleButton;
public function CCreditsWin(){
addFrameScript(0, frame1);
}
function frame1(){
backBTN.addEventListener(MouseEvent.MOUSE_UP, BackToMainMenu, false, 0, true);
}
public function BackToMainMenu(_arg1:MouseEvent){
Main.GetInstance().KillCreditsWin();
Main.GetInstance().ShowMainMenu();
}
}
}//package
Section 69
//CellRenderer_disabledSkin (CellRenderer_disabledSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_disabledSkin extends MovieClip {
}
}//package
Section 70
//CellRenderer_downSkin (CellRenderer_downSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_downSkin extends MovieClip {
}
}//package
Section 71
//CellRenderer_overSkin (CellRenderer_overSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_overSkin extends MovieClip {
}
}//package
Section 72
//CellRenderer_selectedDisabledSkin (CellRenderer_selectedDisabledSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_selectedDisabledSkin extends MovieClip {
}
}//package
Section 73
//CellRenderer_selectedDownSkin (CellRenderer_selectedDownSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_selectedDownSkin extends MovieClip {
}
}//package
Section 74
//CellRenderer_selectedOverSkin (CellRenderer_selectedOverSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_selectedOverSkin extends MovieClip {
}
}//package
Section 75
//CellRenderer_selectedUpSkin (CellRenderer_selectedUpSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_selectedUpSkin extends MovieClip {
}
}//package
Section 76
//CellRenderer_upSkin (CellRenderer_upSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_upSkin extends MovieClip {
}
}//package
Section 77
//ComboBox_disabledSkin (ComboBox_disabledSkin)
package {
import flash.display.*;
public dynamic class ComboBox_disabledSkin extends MovieClip {
}
}//package
Section 78
//ComboBox_downSkin (ComboBox_downSkin)
package {
import flash.display.*;
public dynamic class ComboBox_downSkin extends MovieClip {
}
}//package
Section 79
//ComboBox_overSkin (ComboBox_overSkin)
package {
import flash.display.*;
public dynamic class ComboBox_overSkin extends MovieClip {
}
}//package
Section 80
//ComboBox_upSkin (ComboBox_upSkin)
package {
import flash.display.*;
public dynamic class ComboBox_upSkin extends MovieClip {
}
}//package
Section 81
//COptionBar (COptionBar)
package {
import flash.display.*;
import flash.events.*;
public class COptionBar extends MovieClip {
public var mSFX:MovieClip;
public var mPopUp:MovieClip;
public var mMusic:MovieClip;
public var mQuality:MovieClip;
public function COptionBar(){
mPopUp.mouseEnabled = false;
mMusic.buttonMode = true;
mMusic.useHandCursor = true;
mSFX.buttonMode = true;
mSFX.useHandCursor = true;
mQuality.buttonMode = true;
mQuality.useHandCursor = true;
mMusic.addEventListener(MouseEvent.MOUSE_OVER, MusicOver, false, 0, true);
mMusic.addEventListener(MouseEvent.MOUSE_OUT, MusicOut, false, 0, true);
mMusic.addEventListener(MouseEvent.MOUSE_UP, ToggleMusic, false, 0, true);
mSFX.addEventListener(MouseEvent.MOUSE_OVER, SFXOver, false, 0, true);
mSFX.addEventListener(MouseEvent.MOUSE_OUT, SFXOut, false, 0, true);
mSFX.addEventListener(MouseEvent.MOUSE_UP, ToggleSFX, false, 0, true);
mQuality.addEventListener(MouseEvent.MOUSE_OVER, QualityOver, false, 0, true);
mQuality.addEventListener(MouseEvent.MOUSE_OUT, QualityOut, false, 0, true);
mQuality.addEventListener(MouseEvent.MOUSE_UP, ToggleQuality, false, 0, true);
}
public function MusicOut(_arg1:MouseEvent):void{
if (!Main.GetInstance().mBgmFlag){
mMusic.gotoAndStop(2);
} else {
mMusic.gotoAndStop(1);
};
HidePopUp();
}
private function ToggleQuality(_arg1:MouseEvent):void{
Main.GetInstance().ToggleQuality();
ShowPopUp((("Quality: " + Main.GetInstance().stage.quality) + " (B)"));
}
public function ToggleMusic(_arg1:MouseEvent):void{
Main.GetInstance().ToggleMusic();
if (_arg1 != null){
MusicOver(null);
} else {
MusicOut(null);
};
}
private function QualityOver(_arg1:MouseEvent):void{
mQuality.gotoAndStop(2);
ShowPopUp((("Quality: " + Main.GetInstance().stage.quality) + " (B)"));
}
public function ToggleSFX(_arg1:MouseEvent):void{
Main.GetInstance().ToggleSFX();
if (_arg1 != null){
SFXOver(null);
} else {
SFXOut(null);
};
}
private function HidePopUp(){
mPopUp.alpha = 0;
}
private function MusicOver(_arg1:MouseEvent):void{
if (!Main.GetInstance().mBgmFlag){
mMusic.gotoAndStop(4);
} else {
mMusic.gotoAndStop(3);
};
ShowPopUp("Toggle Music (M)");
}
public function SFXOut(_arg1:MouseEvent):void{
if (!Main.GetInstance().mSfxFlag){
mSFX.gotoAndStop(2);
} else {
mSFX.gotoAndStop(1);
};
HidePopUp();
}
private function ShowPopUp(_arg1:String){
mPopUp.alpha = 1;
mPopUp.mText.text = _arg1;
}
private function SFXOver(_arg1:MouseEvent):void{
if (!Main.GetInstance().mSfxFlag){
mSFX.gotoAndStop(4);
} else {
mSFX.gotoAndStop(3);
};
ShowPopUp("Toggle SFX (N)");
}
private function QualityOut(_arg1:MouseEvent):void{
mQuality.gotoAndStop(1);
HidePopUp();
}
}
}//package
Section 82
//CrossHair (CrossHair)
package {
import flash.display.*;
public dynamic class CrossHair extends MovieClip {
}
}//package
Section 83
//CScoreWin (CScoreWin)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.net.*;
import flash.utils.*;
import com.electrotank.util.*;
import be.boulevart.as3.security.*;
import flash.errors.*;
public class CScoreWin extends MovieClip {
private var mHpFactor:Number;
public var mHpLeft:TextField;
public var loader:URLLoader;
public var mScore:TextField;
private var mShowNext:Boolean;
public var mSubmitBtn:SimpleButton;
public var mTimer2:Timer;
public var mTimer1:Timer;
public var sNextBtn:SimpleButton;
private var mTotalScore:int;
private var mTimeBonus:Number;
private var mSO:SharedObject;
public var sQuitBtn:SimpleButton;
private var mTrueTotalScore:int;
private var mShowSubmit:Boolean;
private var mTimeFactor:Number;
private var mHpBonus:Number;
public var mTotal:TextField;
public var mTime:TextField;
public var mPerfect:TextField;
public function CScoreWin(_arg1:Boolean=true, _arg2:Boolean=true){
mSO = SharedObject.getLocal("CardArena");
mTimer1 = new Timer(10, 100);
mTimer2 = new Timer(10, 100);
loader = new URLLoader();
super();
mShowNext = _arg1;
mShowSubmit = _arg2;
}
private function errorHandler(_arg1:IOErrorEvent):void{
}
public function Init(){
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:Number;
sQuitBtn.addEventListener(MouseEvent.MOUSE_UP, BackToMainMenu, false, 0, true);
sNextBtn.addEventListener(MouseEvent.MOUSE_UP, NextLevel, false, 0, true);
mSubmitBtn.addEventListener(MouseEvent.MOUSE_UP, SubmitScore, false, 0, true);
sQuitBtn.visible = true;
sNextBtn.visible = true;
if (Main.GetInstance().mGameMode == Main.GAME_MODE_ADVENTURE){
if (mShowNext){
sNextBtn.visible = true;
} else {
sNextBtn.visible = false;
};
} else {
sNextBtn.visible = false;
};
if (Main.GetInstance().mGameMode == Main.GAME_MODE_MELEE){
mScore.text = (Main.GetInstance().mDifficulty * MemoryCrypto.getValue(Main.GetInstance().mScore));
} else {
mScore.text = MemoryCrypto.getValue(Main.GetInstance().mScore);
};
mTotalScore = parseInt(mScore.text);
mHpLeft.text = "0";
mPerfect.text = "0";
mTime.text = "0";
mTotal.text = "0";
_local1 = 4800;
_local2 = 10;
if (Main.GetInstance().mGameMode == Main.GAME_MODE_MELEE){
_local1 = (_local1 + (1000 * Main.GetInstance().mDifficulty));
_local2 = (_local2 * (Main.GetInstance().mDifficulty + 1));
};
_local3 = MemoryCrypto.getValue(Main.GetInstance().mPlayer[0].mHp);
mHpFactor = ((_local3 * _local2) / 100);
mHpBonus = 0;
mTimer1.addEventListener(TimerEvent.TIMER, OnHP, false, 0, true);
mTimer1.addEventListener(TimerEvent.TIMER_COMPLETE, OnHPComplete, false, 0, true);
_local4 = Main.GetInstance().mTimeCompleted;
_local5 = (_local1 - _local4);
mTimeFactor = (_local5 / 100);
mTimeBonus = 0;
mTimer2.addEventListener(TimerEvent.TIMER, OnTime, false, 0, true);
mTimer2.addEventListener(TimerEvent.TIMER_COMPLETE, OnTimeCompleted, false, 0, true);
mTrueTotalScore = ((int(mScore.text) + (_local3 * _local2)) + (_local1 - _local4));
if (Main.GetInstance().mPerfectFlag){
if (Main.GetInstance().mGameMode == Main.GAME_MODE_MELEE){
mTrueTotalScore = (mTrueTotalScore + (5000 * (Main.GetInstance().mDifficulty + 1)));
} else {
mTrueTotalScore = (mTrueTotalScore + 5000);
};
};
trace(("mtrue score : " + mTrueTotalScore));
mTimer1.start();
MemoryCrypto.setValue(Main.GetInstance().mScore, mTrueTotalScore);
mSubmitBtn.visible = false;
mSubmitBtn.enabled = false;
if (mShowSubmit){
CheckHS();
};
}
private function NextLevel(_arg1:MouseEvent):void{
CancelAllTimer();
loader.removeEventListener(Event.COMPLETE, completeWriting);
Main.GetInstance().KillScoreWin();
Main.GetInstance().QuitMatch(true);
}
private function OnTimeCompleted(_arg1:TimerEvent):void{
var _local2:int;
mTimer2.removeEventListener(TimerEvent.TIMER, OnTime);
mTimer2.removeEventListener(TimerEvent.TIMER_COMPLETE, OnTimeCompleted);
if (Main.GetInstance().mPerfectFlag){
_local2 = (5000 * (Main.GetInstance().mDifficulty + 1));
mPerfect.text = _local2;
mTotalScore = (mTotalScore + (5000 * (Main.GetInstance().mDifficulty + 1)));
};
mTotalScore = (mTotalScore + parseInt(mTime.text));
mTotal.text = mTotalScore;
}
private function OnHP(_arg1:TimerEvent):void{
mHpBonus = (mHpBonus + mHpFactor);
mHpLeft.text = Math.round(mHpBonus);
}
function completeWriting(_arg1:Event):void{
loader.removeEventListener(Event.COMPLETE, completeWriting);
trace(("Feedback : " + _arg1.target.data));
if (_arg1.target.data == "out"){
trace("score not enough to be included in high score table");
} else {
trace("score HIGH## enough to be included in high score table");
mSubmitBtn.visible = true;
mSubmitBtn.enabled = true;
};
}
private function CheckHS(){
var variables:URLVariables;
var p:String;
var request:URLRequest;
variables = new URLVariables();
variables.name = "";
variables.score = mTrueTotalScore;
variables.table = Global.HS_GAME_NAME;
variables.type = Main.GetInstance().mGameModeStr;
mTableName = Global.HS_GAME_NAME;
p = MD5.calculate((("sapimiber$^AgHHr7523" + mTrueTotalScore) + Main.GetInstance().mGameModeStr));
variables.sapi = p;
trace(((((("MD5 : " + p) + " - score : ") + mTrueTotalScore) + " - table : ") + mTableName));
request = new URLRequest();
request.url = (Global.HS_URL + "checknilai.php");
request.data = variables;
try {
loader.load(request);
} catch(error:MemoryError) {
trace("A SecurityError has occurred.");
} catch(error:SecurityError) {
trace("A SecurityError has occurred.");
};
loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.addEventListener(Event.COMPLETE, completeWriting);
}
private function OnTime(_arg1:TimerEvent):void{
mTimeBonus = (mTimeBonus + mTimeFactor);
mTime.text = Math.round(mTimeBonus);
}
private function OnHPComplete(_arg1:TimerEvent):void{
mTotalScore = (mTotalScore + parseInt(mHpLeft.text));
mTotal.text = mTotalScore;
mTimer1.removeEventListener(TimerEvent.TIMER, OnHP);
mTimer1.removeEventListener(TimerEvent.TIMER_COMPLETE, OnHPComplete);
mTimer2.start();
}
private function SubmitScore(_arg1:MouseEvent):void{
Main.GetInstance().ShowSubmitScoreWin(Global.HS_GAME_NAME);
}
private function BackToMainMenu(_arg1:MouseEvent):void{
CancelAllTimer();
loader.removeEventListener(Event.COMPLETE, completeWriting);
Main.GetInstance().KillScoreWin();
Main.GetInstance().QuitMatch(false);
}
public function CancelAllTimer(){
if (mTimer1.running){
mTimer1.stop();
};
if (mTimer2.running){
mTimer2.stop();
};
}
}
}//package
Section 84
//CSubmitScoreWin (CSubmitScoreWin)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import com.electrotank.util.*;
public class CSubmitScoreWin extends MovieClip {
private var mRealTableName:String;
public var mSubmitBtn:SimpleButton;
public var mCaller:int;
public var mName:TextField;
public var mQuitBtn:SimpleButton;
private var mTableName:String;
public var mTableNameText:TextField;
public var mScoreText:TextField;
public function CSubmitScoreWin(_arg1:String, _arg2:int=0){
addFrameScript(1, frame2);
mRealTableName = _arg1;
mCaller = _arg2;
if (_arg1 == Global.HS_GAME_NAME){
_arg1 = "GLOBAL";
} else {
_arg1 = _arg1.substr(13, (_arg1.length - 13));
trace(("tableName : " + _arg1));
};
mTableName = _arg1;
}
public function Init(){
gotoAndStop(1);
mTableNameText.selectable = false;
mTableNameText.text = mTableName;
mScoreText.selectable = false;
mScoreText.text = MemoryCrypto.getValue(Main.GetInstance().mScore);
mName.text = "INPUT YOUR NAME HERE";
mName.selectable = true;
mName.addEventListener(MouseEvent.MOUSE_UP, SelectAll, false, 0, true);
mName.setSelection(1, 8);
mQuitBtn.addEventListener(MouseEvent.MOUSE_UP, CancelSubmit, false, 0, true);
mSubmitBtn.addEventListener(MouseEvent.MOUSE_UP, SubmitScore, false, 0, true);
}
private function CancelSubmit(_arg1:MouseEvent):void{
Main.GetInstance().KillSubmitScoreWin();
}
public function Quit(_arg1:MouseEvent):void{
Main.GetInstance().KillSubmitScoreWin();
Main.GetInstance().KillGameOverWin();
Main.GetInstance().ShowGameOverWin();
}
function frame2(){
mQuitBtn.addEventListener(MouseEvent.MOUSE_UP, Quit, false, 0, true);
}
private function SubmitScore(_arg1:MouseEvent):void{
Main.GetInstance().SubmitScore(mRealTableName, mName.text, MemoryCrypto.getValue(Main.GetInstance().mScore), mCaller, Main.GetInstance().mGameModeStr);
}
private function SelectAll(_arg1:MouseEvent):void{
mName.setSelection(0, mName.text.length);
}
}
}//package
Section 85
//CTutWin (CTutWin)
package {
import flash.display.*;
import flash.events.*;
public class CTutWin extends MovieClip {
public function CTutWin(){
addFrameScript(0, frame1, 7, frame8);
addEventListener(MouseEvent.MOUSE_UP, OnMouseUp, false, 0, true);
}
private function OnMouseUp(_arg1:MouseEvent):void{
}
function frame1(){
stop();
}
function frame8(){
stop();
}
}
}//package
Section 86
//DeckChoose (DeckChoose)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class DeckChoose extends MovieClip {
public var sDeckBtnPreMade6:MovieClip;
public var sDeckBtnPreMade7:MovieClip;
public var sDeckBtnPreMade4:MovieClip;
public var sDeckBtn1:MovieClip;
public var sDeckBtn2:MovieClip;
public var sDeckBtn3:MovieClip;
private var mSO:SharedObject;
public var sDeleteDeckBtn2:SimpleButton;
public var sDeleteDeckBtn3:SimpleButton;
public var sCancelBtn2:SimpleButton;
public var sDeleteDeckBtn1:SimpleButton;
public var sDeckBtnPreMade5:MovieClip;
public function DeckChoose(){
mSO = SharedObject.getLocal("CardArena");
super();
sCancelBtn2.addEventListener(MouseEvent.MOUSE_UP, HideDeckList, false, 0, true);
sDeckBtn1.addEventListener(MouseEvent.MOUSE_UP, StartGame, false, 0, true);
sDeckBtn2.addEventListener(MouseEvent.MOUSE_UP, StartGame, false, 0, true);
sDeckBtn3.addEventListener(MouseEvent.MOUSE_UP, StartGame, false, 0, true);
sDeckBtnPreMade4.addEventListener(MouseEvent.MOUSE_UP, StartGame, false, 0, true);
sDeckBtnPreMade5.addEventListener(MouseEvent.MOUSE_UP, StartGame, false, 0, true);
sDeckBtnPreMade6.addEventListener(MouseEvent.MOUSE_UP, StartGame, false, 0, true);
sDeckBtnPreMade7.addEventListener(MouseEvent.MOUSE_UP, StartGame, false, 0, true);
if (mSO.data.deck1Name == null){
sDeckBtn1.sDeckName.text = "Empty";
} else {
sDeckBtn1.sDeckName.text = mSO.data.deck1Name;
};
if (mSO.data.deck2Name == null){
sDeckBtn2.sDeckName.text = "Empty";
} else {
sDeckBtn2.sDeckName.text = mSO.data.deck2Name;
};
if (mSO.data.deck3Name == null){
sDeckBtn3.sDeckName.text = "Empty";
} else {
sDeckBtn3.sDeckName.text = mSO.data.deck3Name;
};
sDeckBtnPreMade4.sDeckName.text = "Guardian";
sDeckBtnPreMade5.sDeckName.text = "Dark Invader";
sDeckBtnPreMade6.sDeckName.text = "Firestorm";
sDeckBtnPreMade7.sDeckName.text = "FrostBite";
}
private function StartGame(_arg1:MouseEvent){
if (_arg1.currentTarget.sDeckName.text == "Empty"){
return;
};
this.parent.removeChild(this);
if ((((((_arg1.currentTarget.name == "sDeckBtn1")) || ((_arg1.currentTarget.name == "sDeckBtn2")))) || ((_arg1.currentTarget.name == "sDeckBtn3")))){
Main.GetInstance().mChoosenDeckIdx = int(_arg1.currentTarget.name.substr(8, 1));
} else {
Main.GetInstance().mChoosenDeckIdx = int(_arg1.currentTarget.name.substr(15, 1));
};
if (Main.GetInstance().mGameMode == Main.GAME_MODE_MELEE){
Main.GetInstance().ShowMeleeEnemyWindow();
Main.GetInstance().KillAndRemoveDeckChooseMelee();
} else {
Main.GetInstance().mState = Main.STATE_INIT_BATTLE;
Main.GetInstance().gotoAndStop("game");
Main.GetInstance().KillAndRemoveMainMenu();
Main.GetInstance().KillAndRemoveDeckChooseMelee();
};
}
private function HideDeckList(_arg1:MouseEvent){
this.parent.removeChild(this);
}
}
}//package
Section 87
//DeckChooseEnemy (DeckChooseEnemy)
package {
import fl.controls.*;
import flash.display.*;
import flash.events.*;
import fl.data.*;
import flash.text.*;
import flash.net.*;
public class DeckChooseEnemy extends MovieClip {
public var j2;
public var j3;
public var i4:int;
public var j4;
public var collObj4:DataProvider;
public var collObj2:DataProvider;
public var collObj3:DataProvider;
private var mSO:SharedObject;
public var sMode_CB:ComboBox;
public var collProp4:Object;
public var sDifficulty_CB:ComboBox;
public var collProp3:Object;
public var collProp2:Object;
public var sCancelBtn1:SimpleButton;
public var itemObj2:SimpleCollectionItem;
public var itemObj3:SimpleCollectionItem;
public var itemObj4:SimpleCollectionItem;
public var sOkBtn1:SimpleButton;
public var collProps2:Array;
public var collProps3:Array;
public var sDeck_CB:ComboBox;
public var collProps4:Array;
public var i2:int;
public var i3:int;
public function DeckChooseEnemy(){
mSO = SharedObject.getLocal("CardArena");
super();
addFrameScript(0, frame1);
sCancelBtn1.addEventListener(MouseEvent.MOUSE_UP, HideDeckList, false, 0, true);
sOkBtn1.addEventListener(MouseEvent.MOUSE_UP, StartGame, false, 0, true);
__setProp_sDifficulty_CB_DeckChooseEnemy_Layer1_1();
__setProp_sDeck_CB_DeckChooseEnemy_Layer1_1();
__setProp_sMode_CB_DeckChooseEnemy_Layer1_1();
}
function __setProp_sDeck_CB_DeckChooseEnemy_Layer1_1(){
try {
sDeck_CB["componentInspectorSetting"] = true;
} catch(e:Error) {
};
collObj2 = new DataProvider();
collProps2 = [];
i2 = 0;
while (i2 < collProps2.length) {
itemObj2 = new SimpleCollectionItem();
collProp2 = collProps2[i2];
for (j2 in collProp2) {
itemObj2[j2] = collProp2[j2];
};
collObj2.addItem(itemObj2);
i2++;
};
sDeck_CB.dataProvider = collObj2;
sDeck_CB.editable = false;
sDeck_CB.enabled = true;
sDeck_CB.prompt = "";
sDeck_CB.restrict = "";
sDeck_CB.rowCount = 10;
sDeck_CB.visible = true;
try {
sDeck_CB["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function __setProp_sMode_CB_DeckChooseEnemy_Layer1_1(){
try {
sMode_CB["componentInspectorSetting"] = true;
} catch(e:Error) {
};
collObj4 = new DataProvider();
collProps4 = [];
i4 = 0;
while (i4 < collProps4.length) {
itemObj4 = new SimpleCollectionItem();
collProp4 = collProps4[i4];
for (j4 in collProp4) {
itemObj4[j4] = collProp4[j4];
};
collObj4.addItem(itemObj4);
i4++;
};
sMode_CB.dataProvider = collObj4;
sMode_CB.editable = false;
sMode_CB.enabled = true;
sMode_CB.prompt = "";
sMode_CB.restrict = "";
sMode_CB.rowCount = 10;
sMode_CB.visible = true;
try {
sMode_CB["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
private function Init(){
var _local1:TextFormat;
var _local2:int;
_local1 = new TextFormat();
_local1.font = "Georgia";
_local1.size = 28;
sDeck_CB.setStyle("textFormat", _local1);
sDeck_CB.addItem({label:"RANDOM", data:777});
if (mSO.data.deck1Name != null){
sDeck_CB.addItem({label:mSO.data.deck1Name, data:1});
};
if (mSO.data.deck2Name != null){
sDeck_CB.addItem({label:mSO.data.deck2Name, data:2});
};
if (mSO.data.deck3Name != null){
sDeck_CB.addItem({label:mSO.data.deck3Name, data:3});
};
_local2 = 0;
while (_local2 < Global.FoeDeck.length) {
sDeck_CB.addItem({label:Global.FoeDeckName[_local2], data:(20 + _local2)});
_local2++;
};
sDeck_CB.selectedIndex = 0;
sDeck_CB.addEventListener(Event.CHANGE, ChangeDeck, false, 0, true);
sDeck_CB.setStyle("embedFonts", true);
Main.GetInstance().mChoosenFoeDeckIdx = 777;
sDifficulty_CB.addItem({label:"Very Easy (score x1)", data:0});
sDifficulty_CB.addItem({label:"Easy (score x2)", data:1});
sDifficulty_CB.addItem({label:"Medium (score x3)", data:2});
sDifficulty_CB.addItem({label:"Hard (score x4)", data:3});
sDifficulty_CB.addItem({label:"Impossible (score x5)", data:4});
sDifficulty_CB.selectedIndex = 2;
Main.GetInstance().mDifficulty = 2;
sDifficulty_CB.addEventListener(Event.CHANGE, ChangeDifficulty, false, 0, true);
sMode_CB.addItem({label:"Defensive AI", data:0});
sMode_CB.addItem({label:"Normal AI", data:1});
sMode_CB.addItem({label:"Aggresive AI", data:2});
sMode_CB.selectedIndex = 1;
_local1.font = "Arial";
_local1.size = 16;
_local1.bold = true;
sDeck_CB.textField.setStyle("textFormat", _local1);
sDeck_CB.dropdown.setRendererStyle("textFormat", _local1);
sDifficulty_CB.textField.setStyle("textFormat", _local1);
sDifficulty_CB.dropdown.setRendererStyle("textFormat", _local1);
sMode_CB.textField.setStyle("textFormat", _local1);
sMode_CB.dropdown.setRendererStyle("textFormat", _local1);
}
private function StartGame(_arg1:MouseEvent){
Main.GetInstance().mState = Main.STATE_INIT_BATTLE;
Main.GetInstance().gotoAndStop("game");
Main.GetInstance().KillAndRemoveMainMenu();
Main.GetInstance().KillAndRemoveMeleeEnemyWindow();
}
private function HideDeckList(_arg1:MouseEvent){
this.parent.removeChild(this);
}
function frame1(){
Init();
}
private function ChangeDeck(_arg1:Event){
Main.GetInstance().mChoosenFoeDeckIdx = sDeck_CB.selectedItem.data;
}
function __setProp_sDifficulty_CB_DeckChooseEnemy_Layer1_1(){
try {
sDifficulty_CB["componentInspectorSetting"] = true;
} catch(e:Error) {
};
collObj3 = new DataProvider();
collProps3 = [];
i3 = 0;
while (i3 < collProps3.length) {
itemObj3 = new SimpleCollectionItem();
collProp3 = collProps3[i3];
for (j3 in collProp3) {
itemObj3[j3] = collProp3[j3];
};
collObj3.addItem(itemObj3);
i3++;
};
sDifficulty_CB.dataProvider = collObj3;
sDifficulty_CB.editable = false;
sDifficulty_CB.enabled = true;
sDifficulty_CB.prompt = "";
sDifficulty_CB.restrict = "";
sDifficulty_CB.rowCount = 10;
sDifficulty_CB.visible = true;
try {
sDifficulty_CB["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
private function ChangeDifficulty(_arg1:Event){
Main.GetInstance().mDifficulty = sDifficulty_CB.selectedItem.data;
}
}
}//package
Section 88
//DeckEditor (DeckEditor)
package {
import fl.controls.*;
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.net.*;
import fl.containers.*;
public class DeckEditor extends MovieClip {
private var mSortField1:String;
public var sHelpDeck_BTN:SimpleButton;
private var mEditorDeck:Array;
public var mTempDeckEditedName:String;
private var mSortField2:String;
public var mCardHolder:MovieClip;
private var mSortOption1:int;
private var mSortOption2:int;
public var mTempDeckIdx:int;
private var mAnim:MainMenuAnim;
public var sSortOption2_CB:ComboBox;
public var sCardPane:ScrollPane;
public var mTempDeck:Array;
public var sSaveDeck_BTN:SimpleButton;
private var mEditorLine:int;
public var sCardInfo1_TXT:TextField;
public var mTempDeckHolder:MovieClip;
private var mSO:SharedObject;
public var sSort1_CB:ComboBox;
public var sCancelDeck_BTN:SimpleButton;
public var sTempDeckCardCount_TXT:TextField;
public var sSortOption1_CB:ComboBox;
public var sSort2_CB:ComboBox;
public var sTempDeckPane:ScrollPane;
public var sCardInfo2_TXT:TextField;
public function DeckEditor(){
mSO = SharedObject.getLocal("CardArena");
super();
__setProp_sCardPane_DeckEditor_Layer2_1();
}
public function SaveDeckNow(_arg1:MouseEvent){
var _local2:SharedObject;
var _local3:Array;
var _local4:int;
_local2 = SharedObject.getLocal("CardArena");
_local3 = new Array();
_local4 = 0;
while (_local4 < mTempDeck.length) {
_local3[_local4] = mTempDeck[_local4].mType;
_local4++;
};
if (mTempDeckIdx == 1){
_local2.data.deck1 = _local3;
_local2.data.deck1Name = stage.getChildByName("saveWindow").sDeckName_TXT.text;
} else {
if (mTempDeckIdx == 2){
_local2.data.deck2 = _local3;
_local2.data.deck2Name = stage.getChildByName("saveWindow").sDeckName_TXT.text;
} else {
if (mTempDeckIdx == 3){
_local2.data.deck3 = _local3;
_local2.data.deck3Name = stage.getChildByName("saveWindow").sDeckName_TXT.text;
};
};
};
_local2.flush();
Main.GetInstance().stage.removeChild(stage.getChildByName("saveWindow"));
HideDeckEditor();
}
public function SaveDeckEditor(_arg1:MouseEvent){
var _local2:SaveDeck;
if (mTempDeck.length < 24){
Main.GetInstance().ShowMessage((("Min 24 cards in 1 deck, you have " + mTempDeck.length) + " cards"), true, true);
return;
};
_local2 = new SaveDeck();
_local2.name = "saveWindow";
_local2.x = 0;
_local2.y = 0;
_local2.sDeckName_TXT.text = mTempDeckEditedName;
Main.GetInstance().stage.focus = _local2.sDeckName_TXT;
_local2.sSaveBtn.addEventListener(MouseEvent.MOUSE_UP, SaveDeckNow, false, 0, true);
_local2.sCancelBtn.addEventListener(MouseEvent.MOUSE_UP, HideSaveDeck, false, 0, true);
Main.GetInstance().stage.addChild(_local2);
}
public function Init(){
var _local1:int;
var _local2:int;
var _local3:Card2;
if (mAnim != null){
if (mAnim.parent){
mAnim.parent.removeChild(mAnim);
};
mAnim = null;
};
mAnim = new MainMenuAnim();
this.addChildAt(mAnim, 0);
mAnim.Init();
sCancelDeck_BTN.addEventListener(MouseEvent.MOUSE_UP, HideDeckEditor, false, 0, true);
sSaveDeck_BTN.addEventListener(MouseEvent.MOUSE_UP, SaveDeckEditor, false, 0, true);
sHelpDeck_BTN.addEventListener(MouseEvent.MOUSE_UP, Main.GetInstance().ShowDeckEditorTutorial, false, 0, true);
mTempDeck = new Array();
mCardHolder = new MovieClip();
mCardHolder.x = 0;
mCardHolder.y = 0;
mTempDeckHolder = new MovieClip();
mTempDeckHolder.x = 0;
mTempDeckHolder.y = 0;
sTempDeckPane.setStyle("upSkin", ScrollPane_upSkin2);
sTempDeckCardCount_TXT.text = ("Card: " + mTempDeck.length);
mEditorDeck = new Array();
mEditorLine = 0;
sCardInfo1_TXT.text = "";
sCardInfo2_TXT.text = "";
sSort1_CB.addItem({label:"Name", data:"mName"});
sSort1_CB.addItem({label:"Type", data:"mCardType2"});
sSort1_CB.addItem({label:"Damage", data:"mDamage2"});
sSort1_CB.addItem({label:"Cost", data:"mCost2"});
sSort1_CB.addItem({label:"HP", data:"mHp2"});
sSort1_CB.addItem({label:"Attack Rate", data:"mAttackRate2"});
sSort1_CB.addEventListener(Event.CHANGE, OnSortCB1Change, false, 0, true);
sSort1_CB.selectedIndex = 1;
sSortOption1_CB.addItem({label:"Ascending", data:0});
sSortOption1_CB.addItem({label:"Descending", data:Array.DESCENDING});
sSortOption1_CB.addEventListener(Event.CHANGE, OnSortOptionCB1Change, false, 0, true);
sSortOption1_CB.selectedIndex = 0;
sSort2_CB.addItem({label:"Name", data:"mName"});
sSort2_CB.addItem({label:"Type", data:"mCardType2"});
sSort2_CB.addItem({label:"Damage", data:"mDamage2"});
sSort2_CB.addItem({label:"Cost", data:"mCost2"});
sSort2_CB.addItem({label:"HP", data:"mHp2"});
sSort2_CB.addItem({label:"Attack Rate", data:"mAttackRate2"});
sSort2_CB.addEventListener(Event.CHANGE, OnSortCB2Change, false, 0, true);
sSort2_CB.selectedIndex = 0;
sSortOption2_CB.addItem({label:"Ascending", data:0});
sSortOption2_CB.addItem({label:"Descending", data:Array.DESCENDING});
sSortOption2_CB.addEventListener(Event.CHANGE, OnSortOptionCB2Change, false, 0, true);
sSortOption2_CB.selectedIndex = 0;
_local1 = 0;
_local2 = 0;
while (_local2 < Global.CARD_COUNT) {
if (Main.GetInstance().mAvailableCard.indexOf(_local2) != -1){
_local3 = new Card2(_local2);
_local3.Init();
mEditorDeck.push(_local3);
_local3.x = 10;
_local3.y = (10 + (_local1 * _local3.height));
_local1++;
};
_local2++;
};
mSortField1 = "mCardType2";
mSortField2 = "mName";
mSortOption1 = 0;
mSortOption2 = 0;
TempDeckScrollToLine(0);
SortDeckEditor();
sCardPane.source = mCardHolder;
}
private function OnSortOptionCB1Change(_arg1:Event){
mSortOption1 = _arg1.currentTarget.selectedItem.data;
SortDeckEditor();
}
public function HideSaveDeck(_arg1:MouseEvent){
Main.GetInstance().stage.removeChild(Main.GetInstance().stage.getChildByName("saveWindow"));
}
function __setProp_sCardPane_DeckEditor_Layer2_1(){
try {
sCardPane["componentInspectorSetting"] = true;
} catch(e:Error) {
};
sCardPane.enabled = true;
sCardPane.horizontalLineScrollSize = 4;
sCardPane.horizontalPageScrollSize = 0;
sCardPane.horizontalScrollPolicy = "auto";
sCardPane.scrollDrag = false;
sCardPane.source = "";
sCardPane.verticalLineScrollSize = 12;
sCardPane.verticalPageScrollSize = 0;
sCardPane.verticalScrollPolicy = "auto";
sCardPane.visible = true;
try {
sCardPane["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
private function HideDeckEditor(_arg1:MouseEvent=null){
Main.GetInstance().KillAndRemoveDeckEditor();
Main.GetInstance().ShowMainMenu();
}
public function TempDeckScrollToLine(_arg1:int){
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:int;
var _local11:int;
var _local12:int;
sTempDeckCardCount_TXT.text = ("Card: " + mTempDeck.length);
if (mTempDeck.length == 0){
return;
};
_local2 = (_arg1 * 5);
_local3 = _local2;
_local4 = 0;
_local5 = 0;
_local6 = 0;
_local7 = 0;
_local8 = 0;
_local9 = Math.ceil((mTempDeck.length / 5));
_local10 = 0;
while (_local10 < _local9) {
_local11 = 0;
while (_local11 < 5) {
_local8 = 0;
_local12 = _local3;
while (_local12 < _local2) {
if (mTempDeck[_local2].mType == mTempDeck[_local12].mType){
_local8++;
_local4 = mTempDeck[_local12].x;
_local5 = mTempDeck[_local12].y;
};
_local12++;
};
if (_local8 == 0){
mTempDeck[_local2].x = ((_local6 * mTempDeck[_local2].width) + 5);
mTempDeck[_local2].y = (_local7 * (mTempDeck[_local2].height + 15));
_local6++;
if (_local6 > 4){
_local6 = 0;
_local7++;
};
} else {
mTempDeck[_local2].x = (_local4 - 3);
mTempDeck[_local2].y = (_local5 + 5);
};
if (mTempDeck[_local2].parent != mTempDeckHolder){
mTempDeckHolder.addChild(mTempDeck[_local2]);
};
_local2++;
if (_local2 == mTempDeck.length){
break;
};
_local11++;
};
if (_local2 == mTempDeck.length){
break;
};
_local10++;
};
sTempDeckPane.source = mTempDeckHolder;
}
private function OnSortCB2Change(_arg1:Event){
mSortField2 = _arg1.currentTarget.selectedItem.data;
SortDeckEditor();
}
private function OnSortOptionCB2Change(_arg1:Event){
mSortOption2 = _arg1.currentTarget.selectedItem.data;
SortDeckEditor();
}
private function OnSortCB1Change(_arg1:Event){
mSortField1 = _arg1.currentTarget.selectedItem.data;
SortDeckEditor();
}
private function EditorScrollToLine(_arg1:int){
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
_local2 = (_arg1 * Main.CARD_PANE_CARD_PER_LINE);
_local2 = 0;
_local3 = 0;
_local4 = 0;
_local5 = Math.ceil((Global.CARD_COUNT / Main.CARD_PANE_CARD_PER_LINE));
_local6 = 0;
while (_local6 < _local5) {
_local7 = 0;
while (_local7 < 3) {
mEditorDeck[_local2].x = ((_local7 * mEditorDeck[_local2].width) + _local3);
mEditorDeck[_local2].y = ((_local6 * mEditorDeck[_local2].height) + _local4);
mCardHolder.addChild(mEditorDeck[_local2]);
_local2++;
if (_local2 == mEditorDeck.length){
break;
};
_local7++;
};
if (_local2 == mEditorDeck.length){
break;
};
_local6++;
};
mEditorLine = _arg1;
}
private function SortDeckEditor(){
var _local1:int;
var _local2:int;
if (mSortField1 != "mName"){
_local1 = Array.NUMERIC;
} else {
_local1 = 0;
};
if (mSortField2 != "mName"){
_local2 = Array.NUMERIC;
} else {
_local2 = 0;
};
mEditorDeck.sortOn([mSortField1, mSortField2], [(_local1 | mSortOption1), (_local2 | mSortOption2)]);
EditorScrollToLine(0);
}
}
}//package
Section 89
//DeckList (DeckList)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class DeckList extends MovieClip {
public var sDeckBtn1:MovieClip;
public var sDeckBtn2:MovieClip;
public var sDeckBtn3:MovieClip;
public var sCancelBtn:SimpleButton;
private var mSO:SharedObject;
public var sDeleteDeckBtn2:SimpleButton;
public var sDeleteDeckBtn3:SimpleButton;
public var sDeleteDeckBtn1:SimpleButton;
public function DeckList(){
mSO = SharedObject.getLocal("CardArena");
super();
sCancelBtn.addEventListener(MouseEvent.MOUSE_UP, HideDeckList, false, 0, true);
sDeleteDeckBtn1.addEventListener(MouseEvent.MOUSE_UP, DeleteDeck, false, 0, true);
sDeleteDeckBtn2.addEventListener(MouseEvent.MOUSE_UP, DeleteDeck, false, 0, true);
sDeleteDeckBtn3.addEventListener(MouseEvent.MOUSE_UP, DeleteDeck, false, 0, true);
sDeckBtn1.addEventListener(MouseEvent.MOUSE_UP, ShowDeckEditor, false, 0, true);
sDeckBtn2.addEventListener(MouseEvent.MOUSE_UP, ShowDeckEditor, false, 0, true);
sDeckBtn3.addEventListener(MouseEvent.MOUSE_UP, ShowDeckEditor, false, 0, true);
if (mSO.data.deck1Name == null){
sDeckBtn1.sDeckName.text = "Empty";
} else {
sDeckBtn1.sDeckName.text = mSO.data.deck1Name;
};
if (mSO.data.deck2Name == null){
sDeckBtn2.sDeckName.text = "Empty";
} else {
sDeckBtn2.sDeckName.text = mSO.data.deck2Name;
};
if (mSO.data.deck3Name == null){
sDeckBtn3.sDeckName.text = "Empty";
} else {
sDeckBtn3.sDeckName.text = mSO.data.deck3Name;
};
}
private function DeleteDeck(_arg1:MouseEvent){
var _local2:int;
_local2 = int(_arg1.currentTarget.name.substr(14, 1));
if (_local2 == 1){
mSO.data.deck1Name = "Empty";
mSO.data.deck1 = null;
sDeckBtn1.sDeckName.text = "Empty";
} else {
if (_local2 == 2){
mSO.data.deck2Name = "Empty";
mSO.data.deck2 = null;
sDeckBtn2.sDeckName.text = "Empty";
} else {
if (_local2 == 3){
mSO.data.deck3Name = "Empty";
mSO.data.deck3 = null;
sDeckBtn3.sDeckName.text = "Empty";
};
};
};
mSO.flush();
}
private function HideDeckList(_arg1:MouseEvent){
Main.GetInstance().KillAndRemoveDeckChoose();
}
private function ShowDeckEditor(_arg1:MouseEvent){
var _local2:int;
var _local3:Card2;
this.parent.removeChild(this);
Main.GetInstance().KillAndRemoveMainMenu();
Main.GetInstance().ShowDeckEditor();
Main.GetInstance().mDeckEditor.Init();
Main.GetInstance().mDeckEditor.mTempDeckIdx = int(_arg1.currentTarget.name.substr(8, 1));
if (_arg1.currentTarget.sDeckName.text != "Empty"){
if (_arg1.currentTarget.name == "sDeckBtn1"){
Main.GetInstance().PrintTempDeck(1);
_local2 = 0;
while (_local2 < mSO.data.deck1.length) {
_local3 = new Card2(mSO.data.deck1[_local2], Card2.TEMP_DECK);
Main.GetInstance().mDeckEditor.mTempDeck[_local2] = _local3;
_local2++;
};
} else {
if (_arg1.currentTarget.name == "sDeckBtn2"){
Main.GetInstance().PrintTempDeck(2);
_local2 = 0;
while (_local2 < mSO.data.deck2.length) {
_local3 = new Card2(mSO.data.deck2[_local2], Card2.TEMP_DECK);
Main.GetInstance().mDeckEditor.mTempDeck[_local2] = _local3;
_local2++;
};
} else {
if (_arg1.currentTarget.name == "sDeckBtn3"){
Main.GetInstance().PrintTempDeck(3);
_local2 = 0;
while (_local2 < mSO.data.deck3.length) {
_local3 = new Card2(mSO.data.deck3[_local2], Card2.TEMP_DECK);
Main.GetInstance().mDeckEditor.mTempDeck[_local2] = _local3;
_local2++;
};
};
};
};
Main.GetInstance().mDeckEditor.mTempDeckEditedName = _arg1.currentTarget.sDeckName.text;
Main.GetInstance().mDeckEditor.TempDeckScrollToLine(0);
} else {
Main.GetInstance().mDeckEditor.mTempDeckEditedName = "";
};
if ((((mSO.data.FirstTimeDeckEditor == null)) || (mSO.data.FirstTimeDeckEditor))){
mSO.data.FirstTimeDeckEditor = false;
mSO.flush();
Main.GetInstance().ShowDeckEditorTutorial();
};
}
}
}//package
Section 90
//DeckTutorialWindow (DeckTutorialWindow)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.ui.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
public dynamic class DeckTutorialWindow extends MovieClip {
public var bt1:SimpleButton;
public var btQuit:SimpleButton;
public function DeckTutorialWindow(){
addFrameScript(0, frame1, 6, frame7);
}
public function goto1(_arg1:MouseEvent){
gotoAndStop("tut1");
}
public function goto2(_arg1:MouseEvent){
gotoAndStop("tut2");
}
function frame7(){
bt1.addEventListener(MouseEvent.MOUSE_UP, goto1);
btQuit.addEventListener(MouseEvent.MOUSE_UP, quit);
}
function frame1(){
stop();
bt1.addEventListener(MouseEvent.MOUSE_UP, goto2);
btQuit.addEventListener(MouseEvent.MOUSE_UP, quit);
}
public function quit(_arg1:MouseEvent){
parent.removeChild(this);
}
}
}//package
Section 91
//Equipment (Equipment)
package {
import flash.display.*;
import flash.events.*;
import gs.*;
import com.electrotank.util.*;
import fl.motion.easing.*;
public class Equipment extends MovieClip {
public var mCardRef:Card;
private var mCastedCard:Card;
public function Equipment(_arg1:Card){
var _local2:EquipmentsImg;
var _local3:MovieClip;
super();
mCardRef = _arg1;
_local2 = new EquipmentsImg();
_local3 = _local2.getChildByName(mCardRef.mIconName);
addChild(_local3);
_local3.x = 0;
_local3.y = 0;
_local3.play();
Main.GetInstance().stage.addChildAt(this, (Main.GetInstance().stage.numChildren - 1));
if (mCardRef.mOwner.mPlayerNum == 0){
this.x = 158;
this.y = 398;
} else {
this.x = 473;
this.y = 398;
};
this.addEventListener(MouseEvent.MOUSE_OVER, OnMouseOver, false, 0, true);
this.addEventListener(MouseEvent.MOUSE_OUT, OnMouseOut, false, 0, true);
this.addEventListener(MouseEvent.MOUSE_UP, OnMouseUp, false, 0, true);
}
private function OnMouseUp(_arg1:MouseEvent){
if (Main.GetInstance().mGameState == Main.GAME_STATE_CHOOSE_EQUIPMENT_SKILL_CARD){
AnimSkill(Main.GetInstance().mSelectedCard);
Main.GetInstance().mSelectedCard.OnMouseOut();
Main.GetInstance().mSelectedCard.mOwner.RemoveCardFromHand(Main.GetInstance().mSelectedCard);
Main.GetInstance().HideCrossHair();
Main.GetInstance().DeleteMessage();
Main.GetInstance().mGameState = Main.GAME_STATE_NONE;
};
}
private function OnTweenFinish(_arg1:MovieClip){
_arg1.parent.removeChild(_arg1);
Main.GetInstance().mGarbage.splice(Main.GetInstance().mGarbage.indexOf(_arg1), 1);
_arg1 = null;
ApplySkill(mCastedCard);
}
private function OnMouseOut(_arg1:MouseEvent){
mCardRef.HideCardInfo();
}
public function AnimSkill(_arg1:Card){
var _local2:SkillImg;
var _local3:MovieClip;
var _local4:int;
var _local5:int;
mCastedCard = _arg1;
_local2 = new SkillImg();
_local3 = new MovieClip();
_local3 = _local2.getChildByName(_arg1.mIconName);
_local3.width = 52;
_local3.height = 75;
_local3.x = 0;
_local3.y = 0;
Main.GetInstance().stage.addChildAt(_local3, (Main.GetInstance().stage.numChildren - 1));
_local4 = this.x;
_local5 = this.y;
_local3.x = _local4;
_local3.y = (_local5 - 100);
TweenLite.to(_local3, 1, {x:_local4, y:_local5, onComplete:OnTweenFinish, overwrite:false, ease:Elastic.easeOut, onCompleteParams:[_local3]});
Main.GetInstance().mGarbage.push(_local3);
}
private function Kill(){
Main.GetInstance().dispatchEvent(new EventType("removeEquipmentEffect", false, false, mCardRef.mOwner.mPlayerNum));
this.parent.removeChild(this);
mCardRef.mOwner.mEquipment = null;
mCardRef.mOwner.mGraveyard.push(mCardRef);
mCardRef.mOwner.UpdateGraveyard();
}
private function ApplySkill(_arg1:Card){
if (MemoryCrypto.getValue(_arg1.mVar1) == Global.VAR_DESTROY){
Kill();
};
}
private function OnMouseOver(_arg1:MouseEvent){
mCardRef.ShowCardInfo();
}
}
}//package
Section 92
//EquipmentsImg (EquipmentsImg)
package {
import flash.display.*;
public dynamic class EquipmentsImg extends MovieClip {
public var SolarPanel:MovieClip;
public var SolarBattery:MovieClip;
public var UltimateSalvager:MovieClip;
public var RefurbishFactory:MovieClip;
public var SolarShield:MovieClip;
public var Equipment1:MovieClip;
public var HangingSkeleton:MovieClip;
public var MasterServer:MovieClip;
public var Junkyard:MovieClip;
public var SolarTurbine:MovieClip;
}
}//package
Section 93
//EventType (EventType)
package {
import flash.events.*;
public class EventType extends Event {
public var arg;
public function EventType(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, ... _args){
super(_arg1, _arg2, _arg3);
arg = _args;
}
override public function clone():Event{
return (new EventType(type, bubbles, cancelable, arg));
}
}
}//package
Section 94
//focusRectSkin (focusRectSkin)
package {
import flash.display.*;
public dynamic class focusRectSkin extends MovieClip {
}
}//package
Section 95
//Global (Global)
package {
import de.polygonal.math.*;
import com.electrotank.util.*;
public class Global {
static var DESTROY_TARGET_EQUIPMENT = 21;
static var White:Array = new Array(1, 1, 2, 2, 2, 4, 4, 5, 5, 5, 5, 7, 7, 8, 8, 8, 9, 9, 9, 9, 11, 11, 12, 12, 15, 16, 17, 18, 19, 23);
static var DEMON_TANK_1 = 31;
static var DEMON_TANK_2 = 30;
static var PROF_GAZUKIN = 77;
static var VAR_OWNERSHIP = 11;
static var DEMON_TANK_3 = 29;
static var FIRE_BALL_1 = 52;
static var FIRE_BALL_2 = 51;
static var FIRE_BALL_3 = 50;
static var HS_URL = "http://www.lazybanana.com/games/shockarena/";
static var HEAL_CPU_1 = 14;
static var SolarSeeker:Array = new Array(35, 35, 41, 41, 41, 42, 42, 43, 43, 44, 45, 46, 47, 47, 47, 48, 48, 48, 49, 49, 49, 50, 50, 50, 51, 51, 59, 59, 68, 68);
static var Armageddon:Array = new Array(16, 16, 17, 17, 25, 25, 25, 25, 39, 39, 55, 55, 55, 55, 56, 56, 56, 56, 57, 57, 58, 58, 61, 61, 62, 62, 63, 63, 75, 75);
static var HEAL_CPU_2 = 15;
static var TARGET_ALL_FOE_UNIT = -3;
static var MECHANIC_2 = 7;
static var Catapult:Array = new Array(25, 25, 25, 26, 26, 26, 27, 27, 27, 28, 28, 28, 31, 31, 35, 35, 35, 35, 39, 39, 50, 50, 50, 50, 53, 53, 54, 54, 57, 57);
static var UnitOnlyDeck:Array = new Array(1, 2, 4, 5, 6, 7, 8, 9, 25, 26, 28, 30, 31, 33, 34, 42, 43, 45, 46, 48, 49, 62, 63, 65, 66);
static var TARGET_EQUIPMENT = 4;
static var MECHANIC_1 = 8;
static var CARD_ATTACK_1 = 36;
static var SWORD_1 = 98;
static var MECHANIC_3 = 6;
static var WARRIOR_1 = 9;
static var RewardedCardHard:Array = new Array(0, 44, 61, 75);
static var VAR_UNIT_HP = 0;
static var VAR_UNIT_ATTACK_RATE_MULTIPLIER = 9;
static var HEAL_UNIT_1 = 11;
static var HEAL_UNIT_2 = 10;
static var TARGET_ALL_UNIT = -2;
static var Red:Array = new Array(42, 42, 42, 42, 43, 43, 43, 43, 45, 45, 46, 46, 46, 46, 48, 48, 48, 48, 49, 49, 49, 49, 50, 50, 51, 52, 57, 58, 58, 60);
static var INJECT_WORM_1 = 73;
static var INJECT_WORM_2 = 72;
static var TutDeck1:Array = new Array(5, 11, 1, 14, 23, 22, 5, 2, 23, 1, 2, 11, 5, 2, 23, 1, 2, 11, 5, 2, 23, 1, 2, 11, 5, 2, 23, 1, 2, 11);
static var VAR_ALL_UNIT_HP_AND_CPU_HP = 12;
static var Blue:Array = new Array(62, 62, 62, 62, 63, 63, 63, 63, 65, 65, 65, 65, 66, 66, 66, 66, 67, 68, 69, 70, 70, 71, 71, 71, 72, 72, 73, 73, 73, 74);
static var TARGET_OWN_CPU = 1;
static var HS_GAME_NAME = "shockarena_nilaiTinggi";
static var CARD_TYPE_EMPTY = -1;
static var CardType:Array = new Array("unit", "skill", "equipment");
static var TARGET_FOE_GRAVEYARD = 5;
static var RECHARGE_1 = 69;
static var RECHARGE_2 = 68;
static var RECHARGE_3 = 67;
static var INJECT_VIRUS_1 = 71;
static var VAR_DESTROY = 4;
static var TURRET_2 = 4;
static var POWER_UP_1 = 58;
static var POWER_UP_2 = 57;
static var INJECT_VIRUS_2 = 70;
static var TURRET_3 = 3;
static var SPITFIRE_2 = 45;
static var FALSE_JUNK_1 = 35;
static var TARGET_FOE_CPU = 7;
static var FLAME_THROWER_2 = 42;
static var FLAME_THROWER_3 = 41;
static var SPITFIRE_1 = 46;
static var FLAME_THROWER_1 = 43;
static var SPITFIRE_3 = 44;
static var TURRET_1 = 5;
static var MindOverMatter:Array = new Array(2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 7, 8, 12, 12, 13, 13, 22, 22, 53, 53, 53, 53, 54, 54, 57, 57, 77, 77);
static var DARK_WARRIOR_1 = 28;
static var VAR_UNIT_DAMAGE_MULTIPLIER = 8;
static var BLACK_BEAM_TURRET_2 = 26;
static var BLACK_BEAM_TURRET_3 = 27;
static var REFURBISH_FACTORY = 40;
static var TARGET_OWN_GRAVEYARD = 2;
static var UNIT_MELEE = 0;
static var SHIELD_1 = 2;
static var SHIELD_3 = 0;
static var BLACK_BEAM_TURRET_1 = 25;
static var SHIELD_2 = 1;
static var INCREASE_ENERGY_RATE_1 = 20;
static var CARD_TYPE_UNIT = 0;
static var VAR_ENERGY_RATE = 3;
static var PLAYER_MAX_HP = 400;
static var NoUnit:Array = new Array(0, 0, 1, 1, 2, 2, 2, 50, 50, 50, 51, 51, 51, 53, 53, 53, 53, 54, 54, 54, 54, 55, 55, 55, 56, 56, 56, 72, 72, 74);
static var CARD_COUNT = 78;
static var ARMAGEDDON_TANK = 75;
static var MASS_HP_INCREASE_1 = 19;
static var MASS_HP_INCREASE_2 = 18;
static var SOLAR_TURBINE = 60;
static var UNIT_NONE = 2;
static var FROZE_CANNON_2 = 65;
static var TARGET_NONE = -1;
static var FROZE_CANNON_1 = 66;
static var FROZE_CANNON_3 = 64;
static var BONES_WALL_1 = 34;
static var LIGHTNING_BALL_1 = 54;
static var LIGHTNING_BALL_2 = 53;
static var Blizzard:Array = new Array(57, 57, 57, 58, 58, 58, 60, 61, 62, 62, 63, 63, 63, 64, 65, 65, 66, 66, 66, 69, 69, 69, 70, 70, 71, 71, 72, 72, 73, 73);
static var TIDAL_CANNON_2 = 62;
static var DemonTankDraw:Array = new Array(20, 20, 20, 20, 25, 25, 25, 25, 27, 27, 27, 28, 28, 28, 31, 31, 31, 34, 34, 34, 35, 35, 35, 35, 67, 67, 67, 67, 74, 74);
static var BONES_WALL_2 = 33;
static var TIDAL_CANNON_3 = 61;
static var MAX_CARD_PER_DECK = 30;
static var EARTHQUAKE_2 = 55;
static var TIDAL_CANNON_1 = 63;
static var EARTHQUAKE_1 = 56;
static var NONE = -1;
static var TARGET_OWN_PLAYER = 3;
static var FALSE_SALVAGE_1 = 37;
static var VAR_CPU_HP = 2;
static var FIRE_GHOST_1 = 49;
static var FireStarter:Array = new Array(20, 41, 41, 42, 42, 43, 43, 44, 44, 46, 46, 46, 47, 47, 48, 48, 49, 49, 49, 49, 50, 50, 50, 51, 51, 51, 60, 60, 76, 76);
static var BONES_WALL_3 = 32;
static var FIRE_GHOST_2 = 48;
static var VAR_UNIT_DAMAGE = 7;
static var FoeDeck:Array = new Array(White, Black, Red, Blue, ShieldedDark, DemonTankDraw, Blizzard, Catapult, NoUnit, SolarSeeker, Armageddon, MindOverMatter, FireStarter);
static var FIRE_GHOST_3 = 47;
static var TARGET_UNIT = 0;
static var RewardedCardMedium:Array = new Array(6, 41, 47, 64, 76);
static var VAR_NONE = -1;
static var CARD_TYPE_SKILL = 1;
static var ShieldedDark:Array = new Array(0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 5, 5, 5, 10, 10, 22, 28, 28, 28, 28, 50, 50, 50, 51, 51, 51, 68, 68, 68, 69);
static var RewardedCardEasy:Array = new Array(3, 27, 29, 32, 77);
static var JUNKYARD = 39;
static var FoeDeckName:Array = new Array("Guardian", "Dark Invader", "Firestorm", "FrostBite", "Guardian of Darkness", "Demonic Force", "Blizzard", "Catapult", "Anti-Unit", "Solar Heat", "Armageddon", "Mind Over Matter", "FireStarter");
static var VAR_ALL_UNIT_DAMAGE = 6;
static var MASS_HEAL_UNIT_1 = 12;
static var HANGING_SKELETON = 38;
static var TARGET_ALL_OWN_UNIT = -4;
static var MASS_HEAL_UNIT_2 = 13;
static var VAR_ALL_UNIT_HP = 5;
static var RESURRECT_UNIT_1 = 16;
static var RESURRECT_UNIT_2 = 17;
static var StarterDeck:Array = new Array(1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74);
static var CARD_TYPE_EQUIPMENT = 2;
static var MASTER_SERVER = 74;
static var VAR_UNIT_MAX_HP = 1;
static var SOLAR_SHIELD = 23;
static var PHOENIX_CANNON = 76;
static var SOLAR_PANEL = 59;
static var ULTIMATE_SALVAGER = 24;
static var LIGHTNING_1 = 99;
static var Black:Array = new Array(25, 25, 25, 25, 26, 26, 26, 26, 28, 28, 28, 28, 31, 33, 33, 34, 34, 34, 35, 35, 35, 35, 36, 36, 36, 36, 37, 37, 38, 39);
static var UNIT_RANGED = 1;
static var BATTERY = 22;
static var VAR_DRAW_CARD = 10;
static var TARGET_UNIT_SELF = 6;
public static function SetInitValue1(_arg1:Card, _arg2:int):void{
switch (_arg2){
case FROZE_CANNON_1:
case FROZE_CANNON_2:
case FROZE_CANNON_3:
MemoryCrypto.setValue(_arg1.mValue1, -1);
break;
case FLAME_THROWER_1:
MemoryCrypto.setValue(_arg1.mValue1, 1);
break;
case FLAME_THROWER_2:
MemoryCrypto.setValue(_arg1.mValue1, 1);
break;
case FLAME_THROWER_3:
MemoryCrypto.setValue(_arg1.mValue1, 1);
break;
case BONES_WALL_1:
MemoryCrypto.setValue(_arg1.mValue1, -0.5);
break;
case BONES_WALL_2:
MemoryCrypto.setValue(_arg1.mValue1, -1);
break;
case BONES_WALL_3:
MemoryCrypto.setValue(_arg1.mValue1, -1.5);
break;
case DARK_WARRIOR_1:
MemoryCrypto.setValue(_arg1.mValue1, -2);
break;
case BLACK_BEAM_TURRET_1:
MemoryCrypto.setValue(_arg1.mValue1, -1);
break;
case BLACK_BEAM_TURRET_2:
MemoryCrypto.setValue(_arg1.mValue1, -2);
break;
case BLACK_BEAM_TURRET_3:
MemoryCrypto.setValue(_arg1.mValue1, -3);
break;
case MECHANIC_1:
MemoryCrypto.setValue(_arg1.mValue1, 3);
break;
case MECHANIC_2:
MemoryCrypto.setValue(_arg1.mValue1, 3);
break;
case MECHANIC_3:
MemoryCrypto.setValue(_arg1.mValue1, 3);
break;
case TURRET_3:
MemoryCrypto.setValue(_arg1.mValue1, 1);
break;
case INJECT_VIRUS_1:
case INJECT_VIRUS_2:
MemoryCrypto.setValue(_arg1.mValue1, -1);
break;
case RECHARGE_1:
MemoryCrypto.setValue(_arg1.mValue1, 2);
break;
case RECHARGE_2:
MemoryCrypto.setValue(_arg1.mValue1, 3);
break;
case RECHARGE_3:
MemoryCrypto.setValue(_arg1.mValue1, 4);
break;
case POWER_UP_1:
MemoryCrypto.setValue(_arg1.mValue1, 0.5);
break;
case POWER_UP_2:
MemoryCrypto.setValue(_arg1.mValue1, 1.2);
break;
case EARTHQUAKE_1:
MemoryCrypto.setValue(_arg1.mValue1, -30);
break;
case EARTHQUAKE_2:
MemoryCrypto.setValue(_arg1.mValue1, -45);
break;
case LIGHTNING_BALL_1:
MemoryCrypto.setValue(_arg1.mValue1, -30);
break;
case LIGHTNING_BALL_2:
MemoryCrypto.setValue(_arg1.mValue1, -60);
break;
case FIRE_BALL_1:
MemoryCrypto.setValue(_arg1.mValue1, -10);
break;
case FIRE_BALL_2:
MemoryCrypto.setValue(_arg1.mValue1, -20);
break;
case FIRE_BALL_3:
MemoryCrypto.setValue(_arg1.mValue1, -35);
break;
case FALSE_SALVAGE_1:
MemoryCrypto.setValue(_arg1.mValue1, 0.5);
break;
case CARD_ATTACK_1:
MemoryCrypto.setValue(_arg1.mValue1, -15);
break;
case LIGHTNING_1:
MemoryCrypto.setValue(_arg1.mValue1, -10);
break;
case HEAL_UNIT_1:
MemoryCrypto.setValue(_arg1.mValue1, 40);
break;
case HEAL_UNIT_2:
MemoryCrypto.setValue(_arg1.mValue1, 75);
break;
case MASS_HEAL_UNIT_1:
MemoryCrypto.setValue(_arg1.mValue1, 25);
break;
case MASS_HEAL_UNIT_2:
MemoryCrypto.setValue(_arg1.mValue1, 40);
break;
case HEAL_CPU_1:
MemoryCrypto.setValue(_arg1.mValue1, 100);
break;
case HEAL_CPU_2:
MemoryCrypto.setValue(_arg1.mValue1, 200);
break;
case RESURRECT_UNIT_1:
MemoryCrypto.setValue(_arg1.mValue1, 0.5);
break;
case RESURRECT_UNIT_2:
MemoryCrypto.setValue(_arg1.mValue1, 1);
break;
case MASS_HP_INCREASE_1:
MemoryCrypto.setValue(_arg1.mValue1, 20);
break;
case MASS_HP_INCREASE_2:
MemoryCrypto.setValue(_arg1.mValue1, 45);
break;
case INCREASE_ENERGY_RATE_1:
MemoryCrypto.setValue(_arg1.mValue1, 3);
break;
default:
MemoryCrypto.setValue(_arg1.mValue1, -1);
break;
};
}
public static function SetInitUnitCost(_arg1:Card, _arg2:int){
switch (_arg2){
case PROF_GAZUKIN:
MemoryCrypto.setValue(_arg1.mCost, 150);
_arg1.mAttackRating = -10;
_arg1.mLevel = 10;
break;
case ARMAGEDDON_TANK:
MemoryCrypto.setValue(_arg1.mCost, 150);
_arg1.mAttackRating = 11;
_arg1.mLevel = 10;
break;
case PHOENIX_CANNON:
MemoryCrypto.setValue(_arg1.mCost, 150);
_arg1.mAttackRating = 10;
_arg1.mLevel = 15;
break;
case FROZE_CANNON_1:
MemoryCrypto.setValue(_arg1.mCost, 50);
_arg1.mAttackRating = 8;
_arg1.mLevel = 10;
break;
case FROZE_CANNON_2:
MemoryCrypto.setValue(_arg1.mCost, 75);
_arg1.mAttackRating = 9;
_arg1.mLevel = 10;
break;
case FROZE_CANNON_3:
MemoryCrypto.setValue(_arg1.mCost, 100);
_arg1.mAttackRating = 10;
_arg1.mLevel = 10;
break;
case TIDAL_CANNON_1:
MemoryCrypto.setValue(_arg1.mCost, 40);
_arg1.mAttackRating = 5;
_arg1.mLevel = 0;
break;
case TIDAL_CANNON_2:
MemoryCrypto.setValue(_arg1.mCost, 50);
_arg1.mAttackRating = 6;
_arg1.mLevel = 0;
break;
case TIDAL_CANNON_3:
MemoryCrypto.setValue(_arg1.mCost, 60);
_arg1.mAttackRating = 7;
_arg1.mLevel = 0;
break;
case SPITFIRE_1:
MemoryCrypto.setValue(_arg1.mCost, 25);
_arg1.mAttackRating = 5;
_arg1.mLevel = 8;
break;
case SPITFIRE_2:
MemoryCrypto.setValue(_arg1.mCost, 35);
_arg1.mAttackRating = 5;
_arg1.mLevel = 9;
break;
case SPITFIRE_2:
MemoryCrypto.setValue(_arg1.mCost, 45);
_arg1.mAttackRating = 6;
_arg1.mLevel = 9;
break;
case FIRE_GHOST_1:
MemoryCrypto.setValue(_arg1.mCost, 13);
_arg1.mAttackRating = 5;
_arg1.mLevel = 2;
break;
case FIRE_GHOST_2:
MemoryCrypto.setValue(_arg1.mCost, 18);
_arg1.mAttackRating = 6;
_arg1.mLevel = 2;
break;
case FIRE_GHOST_3:
MemoryCrypto.setValue(_arg1.mCost, 22);
_arg1.mAttackRating = 7;
_arg1.mLevel = 2;
break;
case FLAME_THROWER_1:
MemoryCrypto.setValue(_arg1.mCost, 20);
_arg1.mAttackRating = 4;
_arg1.mLevel = 2;
break;
case FLAME_THROWER_2:
MemoryCrypto.setValue(_arg1.mCost, 25);
_arg1.mAttackRating = 5;
_arg1.mLevel = 4;
break;
case FLAME_THROWER_3:
MemoryCrypto.setValue(_arg1.mCost, 30);
_arg1.mAttackRating = 6;
_arg1.mLevel = 6;
break;
case BONES_WALL_1:
MemoryCrypto.setValue(_arg1.mCost, 5);
_arg1.mAttackRating = -3;
_arg1.mLevel = 2;
break;
case BONES_WALL_2:
MemoryCrypto.setValue(_arg1.mCost, 10);
_arg1.mAttackRating = -4;
_arg1.mLevel = 2;
break;
case BONES_WALL_3:
MemoryCrypto.setValue(_arg1.mCost, 15);
_arg1.mAttackRating = -5;
_arg1.mLevel = 2;
break;
case DEMON_TANK_1:
MemoryCrypto.setValue(_arg1.mCost, 100);
_arg1.mAttackRating = 9;
_arg1.mLevel = 10;
break;
case DEMON_TANK_2:
MemoryCrypto.setValue(_arg1.mCost, 120);
_arg1.mAttackRating = 10;
_arg1.mLevel = 11;
break;
case DEMON_TANK_3:
MemoryCrypto.setValue(_arg1.mCost, 140);
_arg1.mAttackRating = 11;
_arg1.mLevel = 12;
break;
case DARK_WARRIOR_1:
MemoryCrypto.setValue(_arg1.mCost, 60);
_arg1.mAttackRating = 6;
_arg1.mLevel = 5;
break;
case BLACK_BEAM_TURRET_1:
MemoryCrypto.setValue(_arg1.mCost, 25);
_arg1.mAttackRating = 4;
_arg1.mLevel = 4;
break;
case BLACK_BEAM_TURRET_2:
MemoryCrypto.setValue(_arg1.mCost, 40);
_arg1.mAttackRating = 5;
_arg1.mLevel = 5;
break;
case BLACK_BEAM_TURRET_3:
MemoryCrypto.setValue(_arg1.mCost, 55);
_arg1.mAttackRating = 6;
_arg1.mLevel = 6;
break;
case WARRIOR_1:
MemoryCrypto.setValue(_arg1.mCost, 35);
_arg1.mAttackRating = 0;
_arg1.mLevel = 4;
break;
case MECHANIC_1:
MemoryCrypto.setValue(_arg1.mCost, 22);
_arg1.mAttackRating = -7;
_arg1.mLevel = 8;
break;
case MECHANIC_2:
MemoryCrypto.setValue(_arg1.mCost, 40);
_arg1.mAttackRating = -8;
_arg1.mLevel = 8;
break;
case MECHANIC_3:
MemoryCrypto.setValue(_arg1.mCost, 60);
_arg1.mAttackRating = -9;
_arg1.mLevel = 9;
break;
case SHIELD_1:
MemoryCrypto.setValue(_arg1.mCost, 15);
_arg1.mAttackRating = -7;
_arg1.mLevel = 5;
break;
case SHIELD_2:
MemoryCrypto.setValue(_arg1.mCost, 30);
_arg1.mAttackRating = -8;
_arg1.mLevel = 6;
break;
case SHIELD_3:
MemoryCrypto.setValue(_arg1.mCost, 80);
_arg1.mAttackRating = -9;
_arg1.mLevel = 7;
break;
case TURRET_1:
MemoryCrypto.setValue(_arg1.mCost, 25);
_arg1.mAttackRating = -1;
_arg1.mLevel = 3;
break;
case TURRET_2:
MemoryCrypto.setValue(_arg1.mCost, 35);
_arg1.mAttackRating = -2;
_arg1.mLevel = 3;
break;
case TURRET_3:
MemoryCrypto.setValue(_arg1.mCost, 50);
_arg1.mAttackRating = -3;
_arg1.mLevel = 5;
break;
case MASTER_SERVER:
MemoryCrypto.setValue(_arg1.mCost, 90);
_arg1.mAttackRating = 5;
break;
case SOLAR_TURBINE:
MemoryCrypto.setValue(_arg1.mCost, 100);
_arg1.mAttackRating = 10;
break;
case SOLAR_PANEL:
MemoryCrypto.setValue(_arg1.mCost, 100);
_arg1.mAttackRating = 2;
break;
case REFURBISH_FACTORY:
MemoryCrypto.setValue(_arg1.mCost, 100);
_arg1.mAttackRating = 1;
break;
case JUNKYARD:
MemoryCrypto.setValue(_arg1.mCost, 90);
_arg1.mAttackRating = 6;
break;
case HANGING_SKELETON:
MemoryCrypto.setValue(_arg1.mCost, 100);
_arg1.mAttackRating = -2;
break;
case ULTIMATE_SALVAGER:
MemoryCrypto.setValue(_arg1.mCost, 90);
_arg1.mAttackRating = -8;
break;
case SOLAR_SHIELD:
MemoryCrypto.setValue(_arg1.mCost, 65);
_arg1.mAttackRating = -8;
break;
case BATTERY:
MemoryCrypto.setValue(_arg1.mCost, 65);
_arg1.mAttackRating = 0;
break;
case SWORD_1:
MemoryCrypto.setValue(_arg1.mCost, 35);
break;
case INJECT_WORM_1:
MemoryCrypto.setValue(_arg1.mCost, 30);
_arg1.mAttackRating = 7;
break;
case INJECT_WORM_2:
MemoryCrypto.setValue(_arg1.mCost, 55);
_arg1.mAttackRating = 8;
break;
case INJECT_VIRUS_1:
MemoryCrypto.setValue(_arg1.mCost, 25);
_arg1.mAttackRating = 8;
break;
case INJECT_VIRUS_2:
MemoryCrypto.setValue(_arg1.mCost, 40);
_arg1.mAttackRating = 9;
break;
case RECHARGE_1:
MemoryCrypto.setValue(_arg1.mCost, 20);
_arg1.mAttackRating = 5;
break;
case RECHARGE_2:
MemoryCrypto.setValue(_arg1.mCost, 27);
_arg1.mAttackRating = 6;
break;
case RECHARGE_3:
MemoryCrypto.setValue(_arg1.mCost, 35);
_arg1.mAttackRating = 7;
break;
case POWER_UP_1:
MemoryCrypto.setValue(_arg1.mCost, 60);
_arg1.mAttackRating = 8;
break;
case POWER_UP_2:
MemoryCrypto.setValue(_arg1.mCost, 110);
_arg1.mAttackRating = 9;
break;
case EARTHQUAKE_1:
MemoryCrypto.setValue(_arg1.mCost, 30);
_arg1.mAttackRating = 4;
break;
case EARTHQUAKE_2:
MemoryCrypto.setValue(_arg1.mCost, 50);
_arg1.mAttackRating = 5;
break;
case LIGHTNING_BALL_1:
MemoryCrypto.setValue(_arg1.mCost, 18);
_arg1.mAttackRating = 9;
break;
case LIGHTNING_BALL_2:
MemoryCrypto.setValue(_arg1.mCost, 35);
_arg1.mAttackRating = 10;
break;
case FIRE_BALL_1:
MemoryCrypto.setValue(_arg1.mCost, 10);
_arg1.mAttackRating = 7;
break;
case FIRE_BALL_2:
MemoryCrypto.setValue(_arg1.mCost, 18);
_arg1.mAttackRating = 8;
break;
case FIRE_BALL_3:
MemoryCrypto.setValue(_arg1.mCost, 35);
_arg1.mAttackRating = 9;
break;
case FALSE_SALVAGE_1:
MemoryCrypto.setValue(_arg1.mCost, 35);
_arg1.mAttackRating = 4;
break;
case CARD_ATTACK_1:
MemoryCrypto.setValue(_arg1.mCost, 22);
_arg1.mAttackRating = 8;
break;
case FALSE_JUNK_1:
MemoryCrypto.setValue(_arg1.mCost, 50);
_arg1.mAttackRating = 9;
break;
case LIGHTNING_1:
MemoryCrypto.setValue(_arg1.mCost, 20);
break;
case HEAL_UNIT_1:
MemoryCrypto.setValue(_arg1.mCost, 15);
_arg1.mAttackRating = -5;
break;
case HEAL_UNIT_2:
MemoryCrypto.setValue(_arg1.mCost, 25);
_arg1.mAttackRating = -6;
break;
case MASS_HEAL_UNIT_1:
MemoryCrypto.setValue(_arg1.mCost, 40);
_arg1.mAttackRating = -7;
break;
case MASS_HEAL_UNIT_2:
MemoryCrypto.setValue(_arg1.mCost, 70);
_arg1.mAttackRating = -8;
break;
case HEAL_CPU_1:
MemoryCrypto.setValue(_arg1.mCost, 40);
_arg1.mAttackRating = -9;
break;
case HEAL_CPU_2:
MemoryCrypto.setValue(_arg1.mCost, 80);
_arg1.mAttackRating = -10;
break;
case RESURRECT_UNIT_1:
MemoryCrypto.setValue(_arg1.mCost, 25);
_arg1.mAttackRating = -3;
break;
case RESURRECT_UNIT_2:
MemoryCrypto.setValue(_arg1.mCost, 55);
_arg1.mAttackRating = -4;
break;
case MASS_HP_INCREASE_1:
MemoryCrypto.setValue(_arg1.mCost, 50);
_arg1.mAttackRating = -5;
break;
case MASS_HP_INCREASE_2:
MemoryCrypto.setValue(_arg1.mCost, 90);
_arg1.mAttackRating = -6;
break;
case INCREASE_ENERGY_RATE_1:
MemoryCrypto.setValue(_arg1.mCost, 75);
_arg1.mAttackRating = 0;
break;
case DESTROY_TARGET_EQUIPMENT:
MemoryCrypto.setValue(_arg1.mCost, 30);
_arg1.mAttackRating = 4;
break;
};
}
public static function SetInitUnitDamage(_arg1:Card, _arg2:int){
switch (_arg2){
case PROF_GAZUKIN:
case BONES_WALL_1:
case BONES_WALL_2:
case BONES_WALL_3:
case MECHANIC_1:
case MECHANIC_2:
case MECHANIC_3:
case SHIELD_1:
case SHIELD_2:
case SHIELD_3:
MemoryCrypto.setValue(_arg1.mDamage, 0);
break;
case ARMAGEDDON_TANK:
MemoryCrypto.setValue(_arg1.mDamage, 30);
break;
case PHOENIX_CANNON:
MemoryCrypto.setValue(_arg1.mDamage, 2);
break;
case FROZE_CANNON_1:
MemoryCrypto.setValue(_arg1.mDamage, 3);
break;
case FROZE_CANNON_2:
MemoryCrypto.setValue(_arg1.mDamage, 3);
break;
case FROZE_CANNON_3:
MemoryCrypto.setValue(_arg1.mDamage, 3);
break;
case TIDAL_CANNON_1:
MemoryCrypto.setValue(_arg1.mDamage, 8);
break;
case TIDAL_CANNON_2:
MemoryCrypto.setValue(_arg1.mDamage, 8);
break;
case TIDAL_CANNON_3:
MemoryCrypto.setValue(_arg1.mDamage, 10);
break;
case SPITFIRE_1:
MemoryCrypto.setValue(_arg1.mDamage, 5);
break;
case SPITFIRE_2:
MemoryCrypto.setValue(_arg1.mDamage, 6);
break;
case SPITFIRE_3:
MemoryCrypto.setValue(_arg1.mDamage, 7);
break;
case FIRE_GHOST_1:
MemoryCrypto.setValue(_arg1.mDamage, 4);
break;
case FIRE_GHOST_2:
MemoryCrypto.setValue(_arg1.mDamage, 5);
break;
case FIRE_GHOST_3:
MemoryCrypto.setValue(_arg1.mDamage, 6);
break;
case FLAME_THROWER_1:
MemoryCrypto.setValue(_arg1.mDamage, 2);
break;
case FLAME_THROWER_2:
MemoryCrypto.setValue(_arg1.mDamage, 2);
break;
case FLAME_THROWER_3:
MemoryCrypto.setValue(_arg1.mDamage, 2);
break;
case DEMON_TANK_1:
MemoryCrypto.setValue(_arg1.mDamage, 15);
break;
case DEMON_TANK_2:
MemoryCrypto.setValue(_arg1.mDamage, 30);
break;
case DEMON_TANK_3:
MemoryCrypto.setValue(_arg1.mDamage, 60);
break;
case DARK_WARRIOR_1:
MemoryCrypto.setValue(_arg1.mDamage, 30);
break;
case BLACK_BEAM_TURRET_1:
MemoryCrypto.setValue(_arg1.mDamage, 12);
break;
case BLACK_BEAM_TURRET_2:
MemoryCrypto.setValue(_arg1.mDamage, 18);
break;
case BLACK_BEAM_TURRET_3:
MemoryCrypto.setValue(_arg1.mDamage, 25);
break;
case WARRIOR_1:
MemoryCrypto.setValue(_arg1.mDamage, 10);
break;
case TURRET_1:
MemoryCrypto.setValue(_arg1.mDamage, 5);
break;
case TURRET_2:
MemoryCrypto.setValue(_arg1.mDamage, 6);
break;
case TURRET_3:
MemoryCrypto.setValue(_arg1.mDamage, 7);
break;
};
}
public static function Encrypt(_arg1:int):String{
var _local2:String;
var _local3:int;
var _local4:String;
_arg1 = (_arg1 + 3);
_arg1 = (_arg1 * 13);
_local3 = PM_PRNG.nextIntRange(10, 26);
_local4 = _local3.toString();
_arg1 = (_arg1 ^ 254);
_local2 = ((_local4.charAt(0) + _arg1.toString(_local3)) + _local4.charAt(1));
return (_local2);
}
public static function SetInitUnitHp(_arg1:Card, _arg2:int){
switch (_arg2){
case PROF_GAZUKIN:
MemoryCrypto.setValue(_arg1.mHp, 45);
break;
case ARMAGEDDON_TANK:
MemoryCrypto.setValue(_arg1.mHp, 10);
break;
case PHOENIX_CANNON:
MemoryCrypto.setValue(_arg1.mHp, 10);
break;
case FROZE_CANNON_1:
MemoryCrypto.setValue(_arg1.mHp, 45);
break;
case FROZE_CANNON_2:
MemoryCrypto.setValue(_arg1.mHp, 55);
break;
case FROZE_CANNON_3:
MemoryCrypto.setValue(_arg1.mHp, 60);
break;
case TIDAL_CANNON_1:
MemoryCrypto.setValue(_arg1.mHp, 50);
break;
case TIDAL_CANNON_2:
MemoryCrypto.setValue(_arg1.mHp, 60);
break;
case TIDAL_CANNON_3:
MemoryCrypto.setValue(_arg1.mHp, 65);
break;
case SPITFIRE_1:
MemoryCrypto.setValue(_arg1.mHp, 30);
break;
case SPITFIRE_2:
MemoryCrypto.setValue(_arg1.mHp, 30);
break;
case SPITFIRE_3:
MemoryCrypto.setValue(_arg1.mHp, 35);
break;
case FIRE_GHOST_1:
MemoryCrypto.setValue(_arg1.mHp, 35);
break;
case FIRE_GHOST_2:
MemoryCrypto.setValue(_arg1.mHp, 40);
break;
case FIRE_GHOST_3:
MemoryCrypto.setValue(_arg1.mHp, 45);
break;
case FLAME_THROWER_1:
MemoryCrypto.setValue(_arg1.mHp, 20);
break;
case FLAME_THROWER_2:
MemoryCrypto.setValue(_arg1.mHp, 20);
break;
case FLAME_THROWER_3:
MemoryCrypto.setValue(_arg1.mHp, 25);
break;
case BONES_WALL_1:
MemoryCrypto.setValue(_arg1.mHp, 130);
break;
case BONES_WALL_2:
MemoryCrypto.setValue(_arg1.mHp, 220);
break;
case BONES_WALL_3:
MemoryCrypto.setValue(_arg1.mHp, 300);
break;
case DEMON_TANK_1:
MemoryCrypto.setValue(_arg1.mHp, 100);
break;
case DEMON_TANK_2:
MemoryCrypto.setValue(_arg1.mHp, 100);
break;
case DEMON_TANK_3:
MemoryCrypto.setValue(_arg1.mHp, 100);
break;
case DARK_WARRIOR_1:
MemoryCrypto.setValue(_arg1.mHp, 45);
break;
case BLACK_BEAM_TURRET_1:
MemoryCrypto.setValue(_arg1.mHp, 45);
break;
case BLACK_BEAM_TURRET_2:
MemoryCrypto.setValue(_arg1.mHp, 50);
break;
case BLACK_BEAM_TURRET_3:
MemoryCrypto.setValue(_arg1.mHp, 55);
break;
case WARRIOR_1:
MemoryCrypto.setValue(_arg1.mHp, 80);
break;
case MECHANIC_1:
MemoryCrypto.setValue(_arg1.mHp, 30);
break;
case MECHANIC_2:
MemoryCrypto.setValue(_arg1.mHp, 30);
break;
case MECHANIC_3:
MemoryCrypto.setValue(_arg1.mHp, 45);
break;
case SHIELD_1:
MemoryCrypto.setValue(_arg1.mHp, 90);
break;
case SHIELD_2:
MemoryCrypto.setValue(_arg1.mHp, 180);
break;
case SHIELD_3:
MemoryCrypto.setValue(_arg1.mHp, 250);
break;
case TURRET_1:
MemoryCrypto.setValue(_arg1.mHp, 90);
break;
case TURRET_2:
MemoryCrypto.setValue(_arg1.mHp, 140);
break;
case TURRET_3:
MemoryCrypto.setValue(_arg1.mHp, 200);
break;
};
}
public static function SetInitUnitName(_arg1:int):String{
switch (_arg1){
case NONE:
return ("NULL/NONE/VOID");
case PROF_GAZUKIN:
return ("Prof. Gazukin");
case PHOENIX_CANNON:
return ("Phoenix Cannon");
case ARMAGEDDON_TANK:
return ("Armageddon Tank");
case FROZE_CANNON_1:
return ("Froze Cannon");
case FROZE_CANNON_2:
return ("Froze Cannon Lv2");
case FROZE_CANNON_3:
return ("Froze Cannon Lv3");
case TIDAL_CANNON_1:
return ("Tidal Cannon");
case TIDAL_CANNON_2:
return ("Tidal Cannon Lv2");
case TIDAL_CANNON_3:
return ("Tidal Cannon Lv3");
case SPITFIRE_1:
return ("SpitFire ");
case SPITFIRE_2:
return ("SpitFire Lv2");
case SPITFIRE_3:
return ("SpitFire Lv3");
case FIRE_GHOST_1:
return ("Fire Ghost");
case FIRE_GHOST_2:
return ("Fire Ghost Lv2");
case FIRE_GHOST_3:
return ("Fire Ghost Lv3");
case FLAME_THROWER_1:
return ("Flame Thrower");
case FLAME_THROWER_2:
return ("Flame Thrower Lv2");
case FLAME_THROWER_3:
return ("Flame Thrower Lv3");
case BONES_WALL_1:
return ("Bones Shield");
case BONES_WALL_2:
return ("Bones Shield Lv 2");
case BONES_WALL_3:
return ("Bones Shield Lv 3");
case DEMON_TANK_1:
return ("Demon Tank");
case DEMON_TANK_2:
return ("Demon Tank Lv 2");
case DEMON_TANK_3:
return ("Demon Tank Lv 3");
case DARK_WARRIOR_1:
return ("Dark Warrior");
case BLACK_BEAM_TURRET_1:
return ("Dark Beam Turret");
case BLACK_BEAM_TURRET_2:
return ("Dark Beam Turret Lv 2");
case BLACK_BEAM_TURRET_3:
return ("Dark Beam Turret Lv 3");
case WARRIOR_1:
return ("Paladin");
case MECHANIC_1:
return ("Mechanic");
case MECHANIC_2:
return ("Mechanic Lv 2");
case MECHANIC_3:
return ("Mechanic Lv 3");
case SHIELD_1:
return ("Titanium Shield");
case SHIELD_2:
return ("Titanium Shield Lv 2");
case SHIELD_3:
return ("Titanium Shield Lv 3");
case TURRET_1:
return ("Armored Turret");
case TURRET_2:
return ("Armored Turret Lv 2");
case TURRET_3:
return ("Armored Turret Lv 3");
case MASTER_SERVER:
return ("Master Server");
case SOLAR_TURBINE:
return ("Solar Turbine");
case SOLAR_PANEL:
return ("Solar Panel");
case REFURBISH_FACTORY:
return ("Refurbish Factory");
case JUNKYARD:
return ("Junkyard");
case HANGING_SKELETON:
return ("Flaming Skeleton");
case ULTIMATE_SALVAGER:
return ("Ultimate Salvager");
case SOLAR_SHIELD:
return ("Solar Shield");
case BATTERY:
return ("Solar Battery");
case SWORD_1:
return ("Sword of power");
case INJECT_WORM_1:
return ("Inject Worm");
case INJECT_WORM_2:
return ("Inject Worm Lv2");
case INJECT_VIRUS_1:
return ("Inject Virus");
case INJECT_VIRUS_2:
return ("Inject Virus Lv2");
case RECHARGE_1:
return ("Recharge");
case RECHARGE_2:
return ("Recharge Lv2");
case RECHARGE_3:
return ("Recharge Lv3");
case POWER_UP_1:
return ("Power Up");
case POWER_UP_2:
return ("Power Up Lv2");
case EARTHQUAKE_1:
return ("Earthquake");
case EARTHQUAKE_2:
return ("Earthquake Lv2");
case LIGHTNING_BALL_1:
return ("Lightning Ball");
case LIGHTNING_BALL_2:
return ("Lightning Ball Lv2");
case FIRE_BALL_1:
return ("Fire Ball");
case FIRE_BALL_2:
return ("Fire Ball Lv2");
case FIRE_BALL_3:
return ("Fire Ball Lv3");
case FALSE_SALVAGE_1:
return ("False Salvage");
case CARD_ATTACK_1:
return ("Card Attack");
case FALSE_JUNK_1:
return ("False Junk");
case LIGHTNING_1:
return ("Lightning Ball");
case HEAL_UNIT_1:
return ("Repair Unit");
case HEAL_UNIT_2:
return ("Repair Unit Lv 2");
case MASS_HEAL_UNIT_1:
return ("Mass Repair Units");
case MASS_HEAL_UNIT_2:
return ("Mass Repair Units Lv 2");
case HEAL_CPU_1:
return ("Repair CPU");
case HEAL_CPU_2:
return ("Repair CPU Lv 2");
case RESURRECT_UNIT_1:
return ("Resurrect Unit");
case RESURRECT_UNIT_2:
return ("Resurrect Unit Lv 2");
case MASS_HP_INCREASE_1:
return ("Mass Increase HP");
case MASS_HP_INCREASE_2:
return ("Mass Increase HP Lv 2");
case INCREASE_ENERGY_RATE_1:
return ("Increase Energy Rate");
case DESTROY_TARGET_EQUIPMENT:
return ("Smash n Burn");
};
}
public static function SetInitUnitDesc(_arg1:int):String{
switch (_arg1){
case PROF_GAZUKIN:
return ("Prevent all damages done to your CPU");
case ARMAGEDDON_TANK:
return ("When this unit destroyed, destroy all other units.");
case PHOENIX_CANNON:
return ("Prevent all damages done to this tank");
case FROZE_CANNON_1:
return ("Unit hit with this unit bullet cannot attack for 5 second");
case FROZE_CANNON_2:
return ("Unit hit with this unit bullet cannot attack for 10 second");
case FROZE_CANNON_3:
return ("Unit hit with this unit bullet cannot attack for 20 second");
case TIDAL_CANNON_1:
return ("When this unit cast or destroyed, draw 1 card.");
case TIDAL_CANNON_2:
return ("When this unit cast or destroyed, draw 2 card.");
case TIDAL_CANNON_3:
return ("When this unit cast or destroyed, draw 3 card.");
case SPITFIRE_1:
return ("If you have 6 or more card in your hand, this unit cannot attack.");
case SPITFIRE_2:
return ("If you have 5 or more card in your hand, this unit cannot attack.");
case SPITFIRE_3:
return ("If you have 4 or more card in your hand, this unit cannot attack.");
case FIRE_GHOST_1:
return ("When this unit destroyed, deal 20 damage to your CPU");
case FIRE_GHOST_2:
return ("When this unit destroyed, deal 40 damage to your CPU");
case FIRE_GHOST_3:
return ("When this unit destroyed, deal 60 damage to your CPU");
case FLAME_THROWER_1:
return ("Increase this unit damage by 1 point / 10 sec");
case FLAME_THROWER_2:
return ("Increase this unit damage by 1 point / 7 sec");
case FLAME_THROWER_3:
return ("Increase this unit damage by 1 point / 5 sec");
case BONES_WALL_1:
return ("Cannot attack. Decrease your EP rate by 0.5 / sec");
case BONES_WALL_2:
return ("Cannot attack. Decrease your EP rate by 1.0 / sec");
case BONES_WALL_3:
return ("Cannot attack. Decrease your EP rate by 1.5 / sec");
case DEMON_TANK_1:
return ("Penetrate all enemies in the same line. Each attack cost you 1 card and 20 CPU HPp.");
case DEMON_TANK_2:
return ("Penetrate all enemies in the same line. Each attack cost you 1 card and 20 CPU HP.");
case DEMON_TANK_3:
return ("Penetrate all enemies in the same line. Each attack cost you 1 card and 40 CPU HP.");
case DARK_WARRIOR_1:
return ("Reduce all unit's damage by 2");
case BLACK_BEAM_TURRET_1:
return ("Reduce your CPU HP by 1 HP / 1.5 sec");
case BLACK_BEAM_TURRET_2:
return ("Reduce your CPU HP by 2 HP / 1.5 sec");
case BLACK_BEAM_TURRET_3:
return ("Reduce your CPU HP by 3 HP / 1.5 sec");
case WARRIOR_1:
return ("Prevent 2 damage dones to your CPU from each source");
case MECHANIC_1:
return ("Cannot attack, but can heal your units by 3 hp / 3 sec");
case MECHANIC_2:
return ("Cannot attack, but can heal your CPU by 3 hp / 2 sec");
case MECHANIC_3:
return ("Cannot attack, but can heal your CPU and units by 3 hp / 2 sec");
case SHIELD_1:
case SHIELD_2:
return ("Cannot attack, but have a very high HP");
case SHIELD_3:
return ("Damage done to your other units, done to this unit instead");
case TURRET_1:
case TURRET_2:
return ("Low damage but high hp");
case TURRET_3:
return ("Heal 1 HP / sec on self");
case MASTER_SERVER:
return ("Increase your draw rate by 100%");
case SOLAR_TURBINE:
return ("Increase all your units attack rate by 100%.");
case SOLAR_PANEL:
return ("Increase your EP rate by 3.0 / sec. Reduce your max EP storage to 70 EP.");
case REFURBISH_FACTORY:
return ("Whenever your unit destroyed. Draw a card.");
case JUNKYARD:
return ("Whenever an unit destroyed. Deal 20 damage to enemy's CPU.");
case HANGING_SKELETON:
return ("Reduce all enemy's units damage by 30%");
case ULTIMATE_SALVAGER:
return ("Whenever an unit destroyed, heal your CPU by 50 HP");
case SOLAR_SHIELD:
return ("Reduced damages done to your unit by 3");
case BATTERY:
return ("increase your EP rate by 1 EP/sec");
case SWORD_1:
return ("increase your units damage by 3");
case INJECT_WORM_1:
return ("target enemy's unit attack it own zone for 15 seconds");
case INJECT_WORM_2:
return ("target enemy's unit attack it own zone for 30 seconds");
case INJECT_VIRUS_1:
return ("Target unit cannot attack for 20 seconds");
case INJECT_VIRUS_2:
return ("Target unit cannot attack for 40 seconds");
case RECHARGE_1:
return ("Draw 2 card");
case RECHARGE_2:
return ("Draw 3 card");
case RECHARGE_3:
return ("Draw 4 card");
case POWER_UP_1:
return ("Increase target unit damage by 50% for 30 seconds");
case POWER_UP_2:
return ("Increase target unit damage by 120% for 30 seconds");
case EARTHQUAKE_1:
return ("Deal 30 damage to all units");
case EARTHQUAKE_2:
return ("Deal 45 damage to all units");
case LIGHTNING_BALL_1:
return ("Deal 30 damage to the target CPU");
case LIGHTNING_BALL_2:
return ("Deal 60 damage to the target CPU");
case FIRE_BALL_1:
return ("Deal 10 damage to the target unit");
case FIRE_BALL_2:
return ("Deal 20 damage to the target unit");
case FIRE_BALL_3:
return ("Deal 35 damage to the target unit");
case FALSE_SALVAGE_1:
return ("Resurrect the top unit in your enemy's graveyard under your control with 50% HP.");
case CARD_ATTACK_1:
return ("Discard 1 most left card, deal 15 damage to each enemy's units");
case FALSE_JUNK_1:
return ("Destroy target unit.");
case LIGHTNING_1:
return ("Deal 10 damage to the target unit");
case HEAL_UNIT_1:
return ("Heal target unit by 40 HP");
case HEAL_UNIT_2:
return ("Heal target unit by 75 HP");
case MASS_HEAL_UNIT_1:
return ("Heal all of your units by 25 HP");
case MASS_HEAL_UNIT_2:
return ("Heal all of your units by 40 HP");
case HEAL_CPU_1:
return ("Heal your CPU by 100 HP");
case HEAL_CPU_2:
return ("Heal your CPU by 200 HP");
case RESURRECT_UNIT_1:
return ("Resurrect the top unit in your graveyard with 50% HP");
case RESURRECT_UNIT_2:
return ("Resurrect the top unit in your graveyard with 100% HP");
case MASS_HP_INCREASE_1:
return ("Increase your units max HP and heal it by 20 HP");
case MASS_HP_INCREASE_2:
return ("Increase your units max HP and heal it by 40 HP");
case INCREASE_ENERGY_RATE_1:
return ("Increase your energy rate by 3.0 EP/sec for 60 sec");
case DESTROY_TARGET_EQUIPMENT:
return ("Destroy target equipment");
};
}
public static function SetInitUnitAttackRate(_arg1:Card, _arg2:int){
switch (_arg2){
case PROF_GAZUKIN:
case BONES_WALL_1:
case BONES_WALL_2:
case BONES_WALL_3:
case MECHANIC_1:
case MECHANIC_2:
case MECHANIC_3:
case SHIELD_1:
case SHIELD_2:
case SHIELD_3:
MemoryCrypto.setValue(_arg1.mAttackRate, 0);
break;
case ARMAGEDDON_TANK:
_arg1.mNozzlePos.x = 1;
_arg1.mNozzlePos.y = -5;
_arg1.mBulletName = "bullet6";
_arg1.mSoundName = "bullet3";
MemoryCrypto.setValue(_arg1.mAttackRate, 1);
break;
case PHOENIX_CANNON:
_arg1.mSoundName = "bullet6";
_arg1.mNozzlePos.x = 1;
_arg1.mNozzlePos.y = 22;
_arg1.mBulletName = "bullet5";
MemoryCrypto.setValue(_arg1.mAttackRate, 10);
break;
case FROZE_CANNON_1:
_arg1.mSoundName = "bullet4";
_arg1.mNozzlePos.x = 2;
_arg1.mNozzlePos.y = 2;
_arg1.mBulletName = "bullet4";
MemoryCrypto.setValue(_arg1.mAttackRate, 3);
break;
case FROZE_CANNON_2:
_arg1.mSoundName = "bullet4";
_arg1.mNozzlePos.x = 2;
_arg1.mNozzlePos.y = 2;
_arg1.mBulletName = "bullet4";
MemoryCrypto.setValue(_arg1.mAttackRate, 4);
break;
case FROZE_CANNON_3:
_arg1.mSoundName = "bullet4";
_arg1.mNozzlePos.x = 2;
_arg1.mNozzlePos.y = 2;
_arg1.mBulletName = "bullet4";
MemoryCrypto.setValue(_arg1.mAttackRate, 5);
break;
case TIDAL_CANNON_1:
_arg1.mSoundName = "bullet5";
_arg1.mNozzlePos.x = 50;
_arg1.mNozzlePos.y = 11;
_arg1.mBulletName = "bullet2";
MemoryCrypto.setValue(_arg1.mAttackRate, 2);
break;
case TIDAL_CANNON_2:
_arg1.mSoundName = "bullet5";
_arg1.mNozzlePos.x = 50;
_arg1.mNozzlePos.y = 11;
_arg1.mBulletName = "bullet2";
MemoryCrypto.setValue(_arg1.mAttackRate, 3);
break;
case TIDAL_CANNON_3:
_arg1.mSoundName = "bullet5";
_arg1.mNozzlePos.x = 50;
_arg1.mNozzlePos.y = 11;
_arg1.mBulletName = "bullet2";
MemoryCrypto.setValue(_arg1.mAttackRate, 3);
break;
case SPITFIRE_1:
_arg1.mSoundName = "bullet1";
_arg1.mNozzlePos.x = 2;
_arg1.mNozzlePos.y = -15;
_arg1.mBulletName = "bullet6";
MemoryCrypto.setValue(_arg1.mAttackRate, 8);
break;
case SPITFIRE_2:
_arg1.mSoundName = "bullet1";
_arg1.mNozzlePos.x = 2;
_arg1.mNozzlePos.y = 0;
_arg1.mBulletName = "bullet6";
MemoryCrypto.setValue(_arg1.mAttackRate, 10);
break;
case SPITFIRE_3:
_arg1.mSoundName = "bullet1";
_arg1.mNozzlePos.x = 2;
_arg1.mNozzlePos.y = 0;
_arg1.mBulletName = "bullet6";
MemoryCrypto.setValue(_arg1.mAttackRate, 11);
break;
case FIRE_GHOST_1:
_arg1.mSoundName = "bullet1";
_arg1.mNozzlePos.x = 2;
_arg1.mNozzlePos.y = 11;
_arg1.mBulletName = "bullet6";
MemoryCrypto.setValue(_arg1.mAttackRate, 5);
break;
case FIRE_GHOST_2:
_arg1.mSoundName = "bullet1";
_arg1.mNozzlePos.x = 2;
_arg1.mNozzlePos.y = 11;
_arg1.mBulletName = "bullet6";
MemoryCrypto.setValue(_arg1.mAttackRate, 5);
break;
case FIRE_GHOST_3:
_arg1.mSoundName = "bullet1";
_arg1.mNozzlePos.x = 2;
_arg1.mNozzlePos.y = 11;
_arg1.mBulletName = "bullet6";
MemoryCrypto.setValue(_arg1.mAttackRate, 5);
break;
case FLAME_THROWER_1:
_arg1.mSoundName = "bullet1";
_arg1.mNozzlePos.x = 2;
_arg1.mNozzlePos.y = 15;
_arg1.mBulletName = "bullet1";
MemoryCrypto.setValue(_arg1.mAttackRate, 5);
break;
case FLAME_THROWER_2:
_arg1.mSoundName = "bullet1";
_arg1.mNozzlePos.x = 2;
_arg1.mNozzlePos.y = 15;
_arg1.mBulletName = "bullet1";
MemoryCrypto.setValue(_arg1.mAttackRate, 5);
break;
case FLAME_THROWER_3:
_arg1.mSoundName = "bullet1";
_arg1.mNozzlePos.x = 2;
_arg1.mNozzlePos.y = 15;
_arg1.mBulletName = "bullet1";
MemoryCrypto.setValue(_arg1.mAttackRate, 5);
break;
case DEMON_TANK_1:
_arg1.mSoundName = "bullet3";
_arg1.mNozzlePos.x = 2;
_arg1.mNozzlePos.y = 16;
_arg1.mBulletName = "bullet8";
MemoryCrypto.setValue(_arg1.mAttackRate, 2);
break;
case DEMON_TANK_2:
_arg1.mSoundName = "bullet3";
_arg1.mNozzlePos.x = 2;
_arg1.mNozzlePos.y = 16;
_arg1.mBulletName = "bullet8";
MemoryCrypto.setValue(_arg1.mAttackRate, 2);
break;
case DEMON_TANK_3:
_arg1.mSoundName = "bullet3";
_arg1.mNozzlePos.x = 2;
_arg1.mNozzlePos.y = 16;
_arg1.mBulletName = "bullet8";
MemoryCrypto.setValue(_arg1.mAttackRate, 2);
break;
case DARK_WARRIOR_1:
_arg1.mSoundName = "bullet2";
_arg1.mNozzlePos.x = 2;
_arg1.mNozzlePos.y = 11;
_arg1.mBulletName = "bullet7";
MemoryCrypto.setValue(_arg1.mAttackRate, 1);
break;
case BLACK_BEAM_TURRET_1:
_arg1.mSoundName = "bullet6";
_arg1.mNozzlePos.x = 2;
_arg1.mNozzlePos.y = 0;
_arg1.mBulletName = "bullet9";
MemoryCrypto.setValue(_arg1.mAttackRate, 2);
break;
case BLACK_BEAM_TURRET_2:
_arg1.mSoundName = "bullet6";
_arg1.mNozzlePos.x = 2;
_arg1.mNozzlePos.y = 0;
_arg1.mBulletName = "bullet9";
MemoryCrypto.setValue(_arg1.mAttackRate, 2);
break;
case BLACK_BEAM_TURRET_3:
_arg1.mSoundName = "bullet6";
_arg1.mNozzlePos.x = 2;
_arg1.mNozzlePos.y = 0;
_arg1.mBulletName = "bullet9";
MemoryCrypto.setValue(_arg1.mAttackRate, 2);
break;
case WARRIOR_1:
_arg1.mSoundName = "bullet2";
_arg1.mNozzlePos.x = 2;
_arg1.mNozzlePos.y = 11;
_arg1.mBulletName = "bullet7";
MemoryCrypto.setValue(_arg1.mAttackRate, 2);
break;
case TURRET_1:
case TURRET_2:
case TURRET_3:
_arg1.mSoundName = "bullet6";
_arg1.mNozzlePos.x = 2;
_arg1.mNozzlePos.y = 2;
_arg1.mBulletName = "bullet3";
MemoryCrypto.setValue(_arg1.mAttackRate, 3);
break;
};
}
public static function SetInitUnitAttackType(_arg1:Card, _arg2:int){
switch (_arg2){
case ARMAGEDDON_TANK:
case PHOENIX_CANNON:
case FROZE_CANNON_1:
case FROZE_CANNON_2:
case FROZE_CANNON_3:
case TIDAL_CANNON_1:
case TIDAL_CANNON_2:
case TIDAL_CANNON_3:
case SPITFIRE_1:
case SPITFIRE_2:
case SPITFIRE_3:
case FLAME_THROWER_1:
case FLAME_THROWER_2:
case FLAME_THROWER_3:
case BONES_WALL_1:
case BONES_WALL_2:
case BONES_WALL_3:
case DEMON_TANK_1:
case DEMON_TANK_2:
case DEMON_TANK_3:
case BLACK_BEAM_TURRET_1:
case BLACK_BEAM_TURRET_2:
case BLACK_BEAM_TURRET_3:
case MECHANIC_1:
case MECHANIC_2:
case MECHANIC_3:
case SHIELD_1:
case SHIELD_2:
case SHIELD_3:
case TURRET_1:
case TURRET_2:
case TURRET_3:
MemoryCrypto.setValue(_arg1.mAttackType, UNIT_RANGED);
break;
case FIRE_GHOST_1:
case FIRE_GHOST_2:
case FIRE_GHOST_3:
case DARK_WARRIOR_1:
case WARRIOR_1:
MemoryCrypto.setValue(_arg1.mAttackType, UNIT_MELEE);
break;
default:
MemoryCrypto.setValue(_arg1.mAttackType, UNIT_NONE);
break;
};
}
public static function Decrypt(_arg1:String):int{
var _local2:String;
var _local3:int;
var _local4:Number;
_local2 = (_arg1.charAt(0) + _arg1.charAt((_arg1.length - 1)));
_local3 = parseInt(_local2);
_arg1 = _arg1.substring(1, (_arg1.length - 1));
_local4 = parseInt(_arg1, _local3);
_local4 = (_local4 ^ 254);
_local4 = (_local4 / 13);
_local4 = (_local4 - 3);
return (_local4);
}
public static function SetInitVar1(_arg1:Card, _arg2:int):void{
switch (_arg2){
case INJECT_WORM_1:
case INJECT_WORM_2:
MemoryCrypto.setValue(_arg1.mVar1, VAR_OWNERSHIP);
break;
case EARTHQUAKE_1:
case EARTHQUAKE_2:
case FIRE_BALL_1:
case FIRE_BALL_2:
case FIRE_BALL_3:
case FALSE_SALVAGE_1:
case CARD_ATTACK_1:
case RESURRECT_UNIT_1:
case RESURRECT_UNIT_2:
case MASS_HEAL_UNIT_1:
case MASS_HEAL_UNIT_2:
case HEAL_UNIT_2:
case HEAL_UNIT_1:
case LIGHTNING_1:
case TURRET_3:
MemoryCrypto.setValue(_arg1.mVar1, VAR_UNIT_HP);
break;
case INJECT_VIRUS_1:
case INJECT_VIRUS_2:
case FROZE_CANNON_1:
case FROZE_CANNON_2:
case FROZE_CANNON_3:
MemoryCrypto.setValue(_arg1.mVar1, VAR_UNIT_ATTACK_RATE_MULTIPLIER);
break;
case FLAME_THROWER_1:
case FLAME_THROWER_2:
case FLAME_THROWER_3:
MemoryCrypto.setValue(_arg1.mVar1, VAR_UNIT_DAMAGE);
break;
case POWER_UP_1:
case POWER_UP_2:
MemoryCrypto.setValue(_arg1.mVar1, VAR_UNIT_DAMAGE_MULTIPLIER);
break;
case DARK_WARRIOR_1:
MemoryCrypto.setValue(_arg1.mVar1, VAR_ALL_UNIT_DAMAGE);
break;
case MECHANIC_1:
MemoryCrypto.setValue(_arg1.mVar1, VAR_ALL_UNIT_HP);
break;
case MASS_HP_INCREASE_1:
case MASS_HP_INCREASE_2:
MemoryCrypto.setValue(_arg1.mVar1, VAR_UNIT_MAX_HP);
break;
case LIGHTNING_BALL_1:
case LIGHTNING_BALL_2:
case BLACK_BEAM_TURRET_1:
case BLACK_BEAM_TURRET_2:
case BLACK_BEAM_TURRET_3:
case MECHANIC_2:
case HEAL_CPU_1:
case HEAL_CPU_2:
MemoryCrypto.setValue(_arg1.mVar1, VAR_CPU_HP);
break;
case MECHANIC_3:
MemoryCrypto.setValue(_arg1.mVar1, VAR_ALL_UNIT_HP_AND_CPU_HP);
break;
case BONES_WALL_1:
case BONES_WALL_2:
case BONES_WALL_3:
case INCREASE_ENERGY_RATE_1:
MemoryCrypto.setValue(_arg1.mVar1, VAR_ENERGY_RATE);
break;
case FALSE_JUNK_1:
case DESTROY_TARGET_EQUIPMENT:
MemoryCrypto.setValue(_arg1.mVar1, VAR_DESTROY);
break;
case RECHARGE_1:
case RECHARGE_2:
case RECHARGE_3:
MemoryCrypto.setValue(_arg1.mVar1, VAR_DRAW_CARD);
break;
default:
MemoryCrypto.setValue(_arg1.mVar1, VAR_NONE);
break;
};
}
public static function SetInitUnitCardType(_arg1:Card, _arg2:int){
switch (_arg2){
case PROF_GAZUKIN:
case ARMAGEDDON_TANK:
case PHOENIX_CANNON:
case FROZE_CANNON_1:
case FROZE_CANNON_2:
case FROZE_CANNON_3:
case TIDAL_CANNON_1:
case TIDAL_CANNON_2:
case TIDAL_CANNON_3:
case SPITFIRE_1:
case SPITFIRE_2:
case SPITFIRE_3:
case FIRE_GHOST_1:
case FIRE_GHOST_2:
case FIRE_GHOST_3:
case FLAME_THROWER_1:
case FLAME_THROWER_2:
case FLAME_THROWER_3:
case BONES_WALL_1:
case BONES_WALL_2:
case BONES_WALL_3:
case DEMON_TANK_1:
case DEMON_TANK_2:
case DEMON_TANK_3:
case DARK_WARRIOR_1:
case BLACK_BEAM_TURRET_1:
case BLACK_BEAM_TURRET_2:
case BLACK_BEAM_TURRET_3:
case WARRIOR_1:
case MECHANIC_1:
case MECHANIC_2:
case MECHANIC_3:
case SHIELD_1:
case SHIELD_2:
case SHIELD_3:
MemoryCrypto.setValue(_arg1.mCardType, CARD_TYPE_UNIT);
break;
case TURRET_1:
case TURRET_2:
case TURRET_3:
MemoryCrypto.setValue(_arg1.mCardType, CARD_TYPE_UNIT);
break;
case MASTER_SERVER:
case SOLAR_TURBINE:
case SOLAR_PANEL:
case REFURBISH_FACTORY:
case JUNKYARD:
case HANGING_SKELETON:
case ULTIMATE_SALVAGER:
case SOLAR_SHIELD:
case BATTERY:
case SWORD_1:
MemoryCrypto.setValue(_arg1.mCardType, CARD_TYPE_EQUIPMENT);
break;
case INJECT_WORM_1:
case INJECT_WORM_2:
case INJECT_VIRUS_1:
case INJECT_VIRUS_2:
case RECHARGE_1:
case RECHARGE_2:
case RECHARGE_3:
case POWER_UP_1:
case POWER_UP_2:
case EARTHQUAKE_1:
case EARTHQUAKE_2:
case LIGHTNING_BALL_1:
case LIGHTNING_BALL_2:
case FIRE_BALL_1:
case FIRE_BALL_2:
case FIRE_BALL_3:
case FALSE_SALVAGE_1:
case CARD_ATTACK_1:
case FALSE_JUNK_1:
case DESTROY_TARGET_EQUIPMENT:
case INCREASE_ENERGY_RATE_1:
case MASS_HP_INCREASE_1:
case MASS_HP_INCREASE_2:
case RESURRECT_UNIT_1:
case RESURRECT_UNIT_2:
case HEAL_CPU_1:
case HEAL_CPU_2:
case MASS_HEAL_UNIT_1:
case MASS_HEAL_UNIT_2:
case HEAL_UNIT_1:
case HEAL_UNIT_2:
case LIGHTNING_1:
MemoryCrypto.setValue(_arg1.mCardType, CARD_TYPE_SKILL);
break;
default:
MemoryCrypto.setValue(_arg1.mCardType, CARD_TYPE_EMPTY);
break;
};
}
public static function SetInitUnitIconName(_arg1:int):String{
switch (_arg1){
case NONE:
return ("NULL/NONE/VOID");
case PROF_GAZUKIN:
return ("Prof");
case ARMAGEDDON_TANK:
return ("ArmageddonTank");
case PHOENIX_CANNON:
return ("PhoenixTank");
case FROZE_CANNON_1:
return ("FrozeCannon1");
case FROZE_CANNON_2:
return ("FrozeCannon2");
case FROZE_CANNON_3:
return ("FrozeCannon3");
case TIDAL_CANNON_1:
return ("TidalLauncher1");
case TIDAL_CANNON_2:
return ("TidalLauncher2");
case TIDAL_CANNON_3:
return ("TidalLauncher3");
case SPITFIRE_1:
return ("SpitFire1");
case SPITFIRE_2:
return ("SpitFire2");
case SPITFIRE_3:
return ("SpitFire3");
case FIRE_GHOST_1:
return ("FireGhost1");
case FIRE_GHOST_2:
return ("FireGhost2");
case FIRE_GHOST_3:
return ("FireGhost3");
case FLAME_THROWER_1:
return ("FlameThrower1");
case FLAME_THROWER_2:
return ("FlameThrower2");
case FLAME_THROWER_3:
return ("FlameThrower3");
case BONES_WALL_1:
return ("BonesShield");
case BONES_WALL_2:
return ("BonesShield2");
case BONES_WALL_3:
return ("BonesShield3");
case DEMON_TANK_1:
return ("DemonTank1");
case DEMON_TANK_2:
return ("DemonTank2");
case DEMON_TANK_3:
return ("DemonTank3");
case DARK_WARRIOR_1:
return ("DarkWarrior1");
case BLACK_BEAM_TURRET_1:
return ("DarkBeamTurret1");
case BLACK_BEAM_TURRET_2:
return ("DarkBeamTurret2");
case BLACK_BEAM_TURRET_3:
return ("DarkBeamTurret3");
case WARRIOR_1:
return ("ArmoredWarrior");
case MECHANIC_1:
return ("Mechanic1");
case MECHANIC_2:
return ("Mechanic2");
case MECHANIC_3:
return ("Mechanic3");
case SHIELD_1:
return ("Shield1");
case SHIELD_2:
return ("Shield2");
case SHIELD_3:
return ("Shield3");
case TURRET_1:
return ("ArmoredTurret1");
case TURRET_2:
return ("ArmoredTurret2");
case TURRET_3:
return ("ArmoredTurret3");
case MASTER_SERVER:
return ("MasterServer");
case SOLAR_TURBINE:
return ("SolarTurbine");
case SOLAR_PANEL:
return ("SolarPanel");
case REFURBISH_FACTORY:
return ("RefurbishFactory");
case JUNKYARD:
return ("Junkyard");
case HANGING_SKELETON:
return ("HangingSkeleton");
case ULTIMATE_SALVAGER:
return ("UltimateSalvager");
case SOLAR_SHIELD:
return ("SolarShield");
case BATTERY:
return ("SolarBattery");
case SWORD_1:
return ("Sword of power");
case INJECT_WORM_1:
return ("InjectWorm1");
case INJECT_WORM_2:
return ("InjectWorm2");
case INJECT_VIRUS_1:
return ("InjectVirus1");
case INJECT_VIRUS_2:
return ("InjectVirus2");
case RECHARGE_1:
return ("Recharge1");
case RECHARGE_2:
return ("Recharge2");
case RECHARGE_3:
return ("Recharge3");
case POWER_UP_1:
return ("PowerUp1");
case POWER_UP_2:
return ("PowerUp2");
case EARTHQUAKE_1:
return ("Earthquake1");
case EARTHQUAKE_2:
return ("Earthquake2");
case LIGHTNING_BALL_1:
return ("LightningBall1");
case LIGHTNING_BALL_2:
return ("LightningBall2");
case FIRE_BALL_1:
return ("Fireball1");
case FIRE_BALL_2:
return ("Fireball2");
case FIRE_BALL_3:
return ("Fireball3");
case FALSE_SALVAGE_1:
return ("FalseSalvage1");
case CARD_ATTACK_1:
return ("CardAttack1");
case FALSE_JUNK_1:
return ("FalseJunk1");
case LIGHTNING_1:
return ("Lightning Ball");
case HEAL_UNIT_1:
return ("RepairUnit1");
case HEAL_UNIT_2:
return ("RepairUnit2");
case MASS_HEAL_UNIT_1:
return ("MassRepairUnits1");
case MASS_HEAL_UNIT_2:
return ("MassRepairUnits2");
case HEAL_CPU_1:
return ("RepairCPU1");
case HEAL_CPU_2:
return ("RepairCPU2");
case RESURRECT_UNIT_1:
return ("ResurrectUnit1");
case RESURRECT_UNIT_2:
return ("ResurrectUnit2");
case MASS_HP_INCREASE_1:
return ("MassIncreaseHP1");
case MASS_HP_INCREASE_2:
return ("MassIncreaseHP2");
case INCREASE_ENERGY_RATE_1:
return ("IncreaseEnergyRate1");
case DESTROY_TARGET_EQUIPMENT:
return ("SmashnBurn1");
};
}
public static function SetInitBuff(_arg1:Card, _arg2:int):void{
switch (_arg2){
case INJECT_WORM_1:
MemoryCrypto.setValue(_arg1.mBuffRate, 0);
MemoryCrypto.setValue(_arg1.mBuffRateMax, 15);
break;
case INJECT_WORM_2:
MemoryCrypto.setValue(_arg1.mBuffRate, 0);
MemoryCrypto.setValue(_arg1.mBuffRateMax, 30);
break;
case INJECT_VIRUS_1:
MemoryCrypto.setValue(_arg1.mBuffRate, 0);
MemoryCrypto.setValue(_arg1.mBuffRateMax, 20);
break;
case INJECT_VIRUS_2:
MemoryCrypto.setValue(_arg1.mBuffRate, 0);
MemoryCrypto.setValue(_arg1.mBuffRateMax, 40);
break;
case FROZE_CANNON_1:
MemoryCrypto.setValue(_arg1.mBuffRate, 0);
MemoryCrypto.setValue(_arg1.mBuffRateMax, 5);
break;
case FROZE_CANNON_2:
MemoryCrypto.setValue(_arg1.mBuffRate, 0);
MemoryCrypto.setValue(_arg1.mBuffRateMax, 10);
break;
case FROZE_CANNON_3:
MemoryCrypto.setValue(_arg1.mBuffRate, 0);
MemoryCrypto.setValue(_arg1.mBuffRateMax, 20);
break;
case POWER_UP_1:
MemoryCrypto.setValue(_arg1.mBuffRate, 0);
MemoryCrypto.setValue(_arg1.mBuffRateMax, 30);
break;
case POWER_UP_2:
MemoryCrypto.setValue(_arg1.mBuffRate, 0);
MemoryCrypto.setValue(_arg1.mBuffRateMax, 30);
break;
case FLAME_THROWER_1:
MemoryCrypto.setValue(_arg1.mBuffRate, 10);
MemoryCrypto.setValue(_arg1.mBuffRateMax, 777);
break;
case FLAME_THROWER_2:
MemoryCrypto.setValue(_arg1.mBuffRate, 7);
MemoryCrypto.setValue(_arg1.mBuffRateMax, 777);
break;
case FLAME_THROWER_3:
MemoryCrypto.setValue(_arg1.mBuffRate, 5);
MemoryCrypto.setValue(_arg1.mBuffRateMax, 777);
break;
case BONES_WALL_1:
case BONES_WALL_2:
case BONES_WALL_3:
MemoryCrypto.setValue(_arg1.mBuffRate, 0);
MemoryCrypto.setValue(_arg1.mBuffRateMax, 777);
break;
case DARK_WARRIOR_1:
MemoryCrypto.setValue(_arg1.mBuffRate, 0);
MemoryCrypto.setValue(_arg1.mBuffRateMax, 777);
break;
case BLACK_BEAM_TURRET_1:
MemoryCrypto.setValue(_arg1.mBuffRate, 1.5);
MemoryCrypto.setValue(_arg1.mBuffRateMax, 777);
break;
case BLACK_BEAM_TURRET_2:
case BLACK_BEAM_TURRET_3:
MemoryCrypto.setValue(_arg1.mBuffRate, 1.5);
MemoryCrypto.setValue(_arg1.mBuffRateMax, 777);
break;
case MECHANIC_1:
MemoryCrypto.setValue(_arg1.mBuffRate, 3);
MemoryCrypto.setValue(_arg1.mBuffRateMax, 777);
break;
case MECHANIC_2:
MemoryCrypto.setValue(_arg1.mBuffRate, 2);
MemoryCrypto.setValue(_arg1.mBuffRateMax, 777);
break;
case MECHANIC_3:
MemoryCrypto.setValue(_arg1.mBuffRate, 2);
MemoryCrypto.setValue(_arg1.mBuffRateMax, 777);
break;
case TURRET_3:
MemoryCrypto.setValue(_arg1.mBuffRate, 1);
MemoryCrypto.setValue(_arg1.mBuffRateMax, 777);
break;
case INCREASE_ENERGY_RATE_1:
MemoryCrypto.setValue(_arg1.mBuffRate, 0);
MemoryCrypto.setValue(_arg1.mBuffRateMax, 60);
break;
default:
MemoryCrypto.setValue(_arg1.mBuffRate, 0);
MemoryCrypto.setValue(_arg1.mBuffRateMax, 0);
break;
};
}
public static function SetInitTarget1(_arg1:Card, _arg2:int):void{
switch (_arg2){
case INJECT_WORM_1:
case INJECT_WORM_2:
case INJECT_VIRUS_1:
case INJECT_VIRUS_2:
case POWER_UP_1:
case POWER_UP_2:
case FIRE_BALL_1:
case FIRE_BALL_2:
case FIRE_BALL_3:
case FALSE_JUNK_1:
case HEAL_UNIT_2:
case HEAL_UNIT_1:
case LIGHTNING_1:
MemoryCrypto.setValue(_arg1.mTarget1, TARGET_UNIT);
break;
case FLAME_THROWER_1:
case FLAME_THROWER_2:
case FLAME_THROWER_3:
MemoryCrypto.setValue(_arg1.mTarget1, TARGET_UNIT_SELF);
break;
case CARD_ATTACK_1:
MemoryCrypto.setValue(_arg1.mTarget1, TARGET_ALL_FOE_UNIT);
break;
case EARTHQUAKE_1:
case EARTHQUAKE_2:
case DARK_WARRIOR_1:
MemoryCrypto.setValue(_arg1.mTarget1, TARGET_ALL_UNIT);
break;
case MECHANIC_3:
case MECHANIC_1:
case MASS_HEAL_UNIT_1:
case MASS_HEAL_UNIT_2:
case MASS_HP_INCREASE_1:
case MASS_HP_INCREASE_2:
MemoryCrypto.setValue(_arg1.mTarget1, TARGET_ALL_OWN_UNIT);
break;
case LIGHTNING_BALL_1:
case LIGHTNING_BALL_2:
MemoryCrypto.setValue(_arg1.mTarget1, TARGET_FOE_CPU);
break;
case BLACK_BEAM_TURRET_1:
case BLACK_BEAM_TURRET_2:
case BLACK_BEAM_TURRET_3:
case MECHANIC_2:
case HEAL_CPU_1:
case HEAL_CPU_2:
MemoryCrypto.setValue(_arg1.mTarget1, TARGET_OWN_CPU);
break;
case FALSE_SALVAGE_1:
MemoryCrypto.setValue(_arg1.mTarget1, TARGET_FOE_GRAVEYARD);
break;
case RESURRECT_UNIT_2:
case RESURRECT_UNIT_1:
MemoryCrypto.setValue(_arg1.mTarget1, TARGET_OWN_GRAVEYARD);
break;
case RECHARGE_1:
case RECHARGE_2:
case RECHARGE_3:
case BONES_WALL_1:
case BONES_WALL_2:
case BONES_WALL_3:
case INCREASE_ENERGY_RATE_1:
MemoryCrypto.setValue(_arg1.mTarget1, TARGET_OWN_PLAYER);
break;
case DESTROY_TARGET_EQUIPMENT:
MemoryCrypto.setValue(_arg1.mTarget1, TARGET_EQUIPMENT);
break;
default:
MemoryCrypto.setValue(_arg1.mTarget1, TARGET_NONE);
break;
};
}
}
}//package
Section 96
//HPBar (HPBar)
package {
import flash.display.*;
public dynamic class HPBar extends MovieClip {
}
}//package
Section 97
//HPBarLayout (HPBarLayout)
package {
import flash.display.*;
public dynamic class HPBarLayout extends MovieClip {
}
}//package
Section 98
//InfoPopUp (InfoPopUp)
package {
import flash.display.*;
import flash.text.*;
public dynamic class InfoPopUp extends MovieClip {
public var sInfoPopUp2_TXT:TextField;
public var sInfoPopUp1_TXT:TextField;
}
}//package
Section 99
//List_skin (List_skin)
package {
import flash.display.*;
public dynamic class List_skin extends MovieClip {
}
}//package
Section 100
//Main (Main)
package {
import flash.display.*;
import flash.events.*;
import gs.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import de.polygonal.math.*;
import com.electrotank.util.*;
import be.boulevart.as3.security.*;
import flash.media.*;
import flash.ui.*;
import flash.errors.*;
import flash.external.*;
public dynamic class Main extends MovieClip {
public var mDifficulty:int;
private var mPausedTimer:Timer;
public var mAvailableCard:Array;
public var sDrawGauge_MC:MovieClip;
private var mMeleeEnemyWindow:DeckChooseEnemy;
public var loader:URLLoader;
public var mAdventureLevel:int;
public var mSecToDraw:Number;
public var mState:int;
public var mScore:int;
private var mBGMStartFlag:Boolean;// = false
private var mCreditWin:CCreditsWin;
public var mGameMode:int;
public var __setPropDict:Dictionary;
public var mCrossHair:CrossHair;
public var mPopUp:InfoPopUp;
private var mSapiFlag:Boolean;
public var sCardDesc_MC:CardDesc2;
private var mAdventureSettings:AdventureSettings;
public var mSfxFlag:Boolean;// = true
public var mTutorialState:int;
public var mPerfectFlag:Boolean;
public var sPlayer1Hp_TXT:TextField;
public var mAIUpdateRate:Number;
public var mGameModeStr:String;
public var mPreloader:MovieClip;
public var mStage:Stage;
private var mMainMenuWindow:MainMenu;
public var mTimeCompleted:int;
public var sPaused_TXT:TextField;
public var mChoosenFoeDeckIdx:int;
public var mDeckChooseWindow:DeckList;
public var mSapiTimer:Timer;
public var mMessage:Message;
public var mSapiBtn:MovieClip;
public var mSelectedTile:Tile;
private var mContextMenu:ContextMenu;
public var mGarbage:Array;
public var sEp_TXT:TextField;
public var mBgmFlag:Boolean;// = true
public var mTiles:Array;
public var mSelectedCard:Card;
private var mViewHSWin:ViewHSDialog;
private var mHSIdx:int;
public var mMatchOverWindow:MatchOver;
public var mBGMChannel:SoundChannel;
public var mOptionBar:COptionBar;
public var mScoreWin:CScoreWin;
public var mFlag:Boolean;// = false
private var mSO:SharedObject;
private var mTutWin:CTutWin;
public var mAIUpdateCounter:Number;
public var mMouseDownFlag:Boolean;
public var mPlayer:Array;
public var sPlayer2Hp_TXT:TextField;
public var mDeckEditor:DeckEditor;
private var mMsgTimer:Timer;
public var mGameState:int;
private var mDeckChooseMeleeWindow:DeckChoose;
public var mHoveredCard:Card;
private var mSapiWindow:Banned;
public var mDragNDrop:Boolean;
public var mSubmitScoreWin:CSubmitScoreWin;
public var mChoosenDeckIdx:int;
protected static const WINDOW_OPEN_FUNCTION:String = "window.open";
public static var GAME_STATE_CHOOSE_UNIT_CAST_TILE = 1;
public static var GAME_MODE_ADVENTURE = 1;
public static var STATE_BATTLE = 0;
public static var STATE_PAUSED = 3;
public static var GAME_STATE_CHOOSE_UNIT_SKILL_CARD = 2;
public static var STATE_MAIN_MENU = -1;
public static var GAME_STATE_CHOOSE_EQUIPMENT_SKILL_CARD = 3;
public static var MainGlobal:Main;
public static var GAME_MODE_MELEE = 0;
public static var GAME_STATE_NONE = 0;
public static var STATE_DECK_EDITOR = 2;
public static var STATE_INIT_BATTLE = 1;
public static var CARD_PANE_CARD_PER_LINE = 3;
public static var STATE_PAUSED_GAME_OVER = 4;
public function Main(){
__setPropDict = new Dictionary(true);
mSO = SharedObject.getLocal("CardArena");
mMsgTimer = new Timer(3000, 1);
mPausedTimer = new Timer(500, 0);
mSapiTimer = new Timer(400, 0);
mFlag = false;
loader = new URLLoader();
mBGMStartFlag = false;
mBgmFlag = true;
mSfxFlag = true;
super();
addFrameScript(0, frame1, 1, frame2, 9, frame10, 17, frame18, 18, frame19, 28, frame29, 45, frame46, 51, frame52, 58, frame59, 59, frame60, 60, frame61, 61, frame62, 62, frame63, 63, frame64, 64, frame65, 65, frame66, 66, frame67, 67, frame68, 68, frame69, 69, frame70, 70, frame71);
mDragNDrop = false;
mTutorialState = -1;
trace("init main 1");
if (mSO.data.OpenDeck == null){
mSO.data.OpenDeck = Global.StarterDeck;
mSO.flush();
};
mAvailableCard = new Array();
mAvailableCard = mSO.data.OpenDeck;
MainGlobal = this;
mContextMenu = new ContextMenu();
mContextMenu.hideBuiltInItems();
mContextMenu.addEventListener(ContextMenuEvent.MENU_SELECT, menuSelectHandler, false, 0, true);
this.contextMenu = mContextMenu;
mMsgTimer.addEventListener(TimerEvent.TIMER, DeleteMessage, false, 0, true);
mPausedTimer.addEventListener(TimerEvent.TIMER, AnimPausedMessage, false, 0, true);
mSapiTimer.addEventListener(TimerEvent.TIMER, CheckDomain, false, 0, true);
trace("init main 2 : ");
stage.addEventListener(Event.ADDED, ReArrangeChildren, false, 0, true);
stage.addEventListener(Event.MOUSE_LEAVE, HideCrossHair, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_MOVE, cursorFollow, false, 0, true);
stage.focus = this;
stage.addEventListener(KeyboardEvent.KEY_UP, OnKeyUp, false, 0, true);
trace("init main 3");
mGameModeStr = "";
}
private function OnLogoBtnMouseUp(_arg1:MouseEvent=null){
var _local2:URLRequest;
_local2 = new URLRequest("http://www.lazybanana.com");
navigateToURL(_local2);
}
private function errorHandler(_arg1:IOErrorEvent):void{
}
public function ShowScoreWin(_arg1:Boolean=true, _arg2:Boolean=true){
mScoreWin = new CScoreWin(_arg1, _arg2);
stage.addChild(mScoreWin);
mScoreWin.Init();
}
public function ShowMessage(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=true){
if (!mMessage){
mMessage = new Message();
mMessage.x = ((640 / 2) + 5);
mMessage.y = 25;
stage.addChild(mMessage);
} else {
mMsgTimer.reset();
};
if (_arg3){
mMsgTimer.start();
} else {
mMsgTimer.stop();
};
mMessage.sMessage_TXT.text = _arg1;
if (_arg2){
mMessage.gotoAndPlay(1);
} else {
mMessage.gotoAndStop(1);
};
stage.setChildIndex(mMessage, (stage.numChildren - 1));
}
public function KillAndRemoveDeckChooseMelee(){
if (mDeckChooseMeleeWindow){
if (mDeckChooseMeleeWindow.parent){
mDeckChooseMeleeWindow.parent.removeChild(mDeckChooseMeleeWindow);
};
mDeckChooseMeleeWindow = null;
};
}
function frame10(){
gotoAndStop(52);
trace("flag b");
}
public function ChangeToCrossHair(){
if (!mCrossHair){
mCrossHair = new CrossHair();
mCrossHair.mouseEnabled = false;
stage.addChild(mCrossHair);
};
mCrossHair.x = mouseX;
mCrossHair.y = mouseY;
mCrossHair.visible = true;
stage.setChildIndex(mCrossHair, (stage.numChildren - 1));
Mouse.hide();
}
public function showMatchOver(_arg1:int){
if (mMatchOverWindow){
if (mMatchOverWindow.parent){
if (mMatchOverWindow.parent == stage){
trace("MatchOver Doubled !!!");
return;
};
};
};
mMatchOverWindow = new MatchOver(_arg1);
stage.addChild(mMatchOverWindow);
mState = STATE_PAUSED_GAME_OVER;
if (mMessage){
DeleteMessage();
};
HideCrossHair();
mMatchOverWindow.gotoAndStop(1);
}
private function AnimPausedMessage(_arg1:TimerEvent){
sPaused_TXT.visible = !(sPaused_TXT.visible);
}
public function PrintTempDeck(_arg1:int){
var _local2:SharedObject;
var _local3:Array;
var _local4:int;
var _local5:int;
var _local6:String;
var _local7:int;
var _local8:int;
_local2 = SharedObject.getLocal("CardArena");
_local3 = new Array();
if (_arg1 == 1){
_local3 = _local2.data.deck1;
} else {
if (_arg1 == 2){
_local3 = _local2.data.deck2;
} else {
if (_arg1 == 3){
_local3 = _local2.data.deck3;
};
};
};
_local3.sort(Array.NUMERIC);
_local4 = Math.ceil((_local3.length / 6));
_local5 = 0;
_local6 = "Deck1 : ( ";
_local7 = 0;
while (_local7 < _local4) {
_local8 = 0;
while (_local8 < 6) {
if (_local5 == _local3.length){
break;
};
if (_local5 == (_local3.length - 1)){
_local6 = (_local6 + _local3[_local5]);
} else {
_local6 = (_local6 + (_local3[_local5] + ", "));
};
_local5++;
_local8++;
};
_local6 = (_local6 + "\n\t\t\t\t\t\t\t\t\t\t\t\t");
_local7++;
};
_local6 = (_local6 + " );");
trace(_local6);
}
public function KillMatchOver(){
if (mMatchOverWindow){
if (mMatchOverWindow.parent){
mMatchOverWindow.parent.removeChild(mMatchOverWindow);
};
mMatchOverWindow = null;
};
}
function frame18(){
Main.GetInstance().ShowMainMenu();
trace("init script mainMenu");
stop();
}
public function ShowTutWin(){
trace("tutWin Creation");
KillTutWin();
mTutWin = new CTutWin();
stage.addChild(mTutWin);
mTutWin.gotoAndStop("page0");
}
public function ToggleSFX(){
if (!mBGMStartFlag){
return;
};
if (mState == STATE_PAUSED_GAME_OVER){
return;
};
if (mSfxFlag){
mSfxFlag = false;
} else {
mSfxFlag = true;
};
}
function frame2(){
}
public function RemoveMatchOverAndAllChildrens(_arg1:Boolean){
KillMatchOver();
}
function frame19(){
trace("flag a");
}
public function ViewHSAfterSubmit(){
openWindow(((((Global.HS_URL + "highscore.php?sapi=") + (mHSIdx - 1)) + "&kuda=") + mGameModeStr));
}
function frame29(){
trace("flag b");
}
function frame1(){
trace("flag a");
}
private function isPlayerAllowed(_arg1:Array):Boolean{
var _local2:String;
var _local3:Number;
_local2 = Capabilities.playerType;
trace(("PlayerType : " + _local2));
_local3 = 0;
while (_local3 < _arg1.length) {
if (_local2 == _arg1[_local3]){
return (true);
};
_local3++;
};
return (false);
}
public function QuitMatch(_arg1:Boolean){
var _local2:int;
var _local3:int;
PrintDebug("QuitMatch Phase 1 ");
_local2 = 0;
while (_local2 < 2) {
if (mPlayer){
mPlayer[_local2].RemoveChildrens();
};
mPlayer[_local2] = null;
_local2++;
};
mPlayer.splice(0, 2);
mPlayer = null;
_local2 = 0;
while (_local2 < mTiles.length) {
_local3 = 0;
while (_local3 < mTiles[_local2].length) {
mTiles[_local2][_local3].parent.removeChild(mTiles[_local2][_local3]);
if (mTiles[_local2][_local3].mUnit){
if (mTiles[_local2][_local3].mUnit.parent){
mTiles[_local2][_local3].mUnit.parent.removeChild(mTiles[_local2][_local3].mUnit);
};
mTiles[_local2][_local3].mUnit = null;
};
mTiles[_local2][_local3] = null;
_local3++;
};
_local2++;
};
mTiles = null;
if (mMessage){
DeleteMessage();
};
if (mCrossHair){
HideCrossHair();
};
if (mGarbage){
_local2 = 0;
while (_local2 < mGarbage.length) {
trace(((("garbage i : " + _local2) + " - Garbage : ") + mGarbage[_local2]));
if (TweenMax.isTweening(mGarbage[_local2])){
TweenLite.killTweensOf(mGarbage[_local2]);
};
if (mGarbage[_local2].parent){
mGarbage[_local2].parent.removeChild(mGarbage[_local2]);
};
mGarbage[_local2] = null;
_local2++;
};
mGarbage.splice(0, mGarbage.length);
mGarbage = null;
};
PrintDebug("QuitMatch Phase 2 ");
if (!_arg1){
mState = STATE_MAIN_MENU;
gotoAndStop("mainMenu");
if (mMainMenuWindow != null){
mMainMenuWindow = null;
};
this.ShowMainMenu();
} else {
mFlag = true;
mState = STATE_INIT_BATTLE;
gotoAndStop("game");
};
}
private function OnKeyUp(_arg1:KeyboardEvent){
switch (_arg1.keyCode){
case 27:
ProcessEscKey();
break;
case 86:
trace(("frame : " + mOptionBar.mMusic.currentFrame));
break;
case 32:
case 30:
if (mState == STATE_BATTLE){
mState = STATE_PAUSED;
this.dispatchEvent(new Event("pause"));
ShowPausedMessage();
} else {
if (mState == STATE_PAUSED){
mState = STATE_BATTLE;
this.dispatchEvent(new Event("unpause"));
DeletePausedMessage();
};
};
break;
case 81:
if (mState == STATE_BATTLE){
mState = STATE_PAUSED;
this.dispatchEvent(new Event("pause"));
ShowQuitConfirmation();
};
break;
case 77:
if (mState == STATE_MAIN_MENU){
if (mMainMenuWindow){
mMainMenuWindow.mOptionBar.ToggleMusic(null);
};
} else {
if (mState == STATE_BATTLE){
if (mOptionBar){
mOptionBar.ToggleMusic(null);
};
};
};
break;
case 78:
if (mState == STATE_MAIN_MENU){
if (mMainMenuWindow){
mMainMenuWindow.mOptionBar.ToggleSFX(null);
};
} else {
if (mState == STATE_BATTLE){
if (mOptionBar){
mOptionBar.ToggleSFX(null);
};
};
};
break;
case 66:
ToggleQuality();
break;
};
}
public function ShowSubmitScoreWin(_arg1:String, _arg2:int=0){
if (!mSubmitScoreWin){
mSubmitScoreWin = new CSubmitScoreWin(_arg1, _arg2);
this.stage.addChild(mSubmitScoreWin);
mSubmitScoreWin.Init();
};
}
public function DeleteMessage(_arg1:TimerEvent=null){
if (mMessage){
stage.removeChild(mMessage);
mMessage = null;
};
}
function cursorFollow(_arg1:MouseEvent):void{
if (mCrossHair){
if (mCrossHair.visible){
mCrossHair.x = stage.mouseX;
mCrossHair.y = stage.mouseY;
_arg1.updateAfterEvent();
};
};
if (mDragNDrop){
if (((mMouseDownFlag) && (mSelectedCard))){
mSelectedCard.x = (_arg1.stageX - (mSelectedCard.mIcon.width / 2));
mSelectedCard.y = ((_arg1.stageY - (mSelectedCard.mIcon.height / 2)) - 10);
};
};
}
public function ShowDeckEditor(){
if (mDeckEditor != null){
if (mDeckEditor.parent){
mDeckEditor.parent.removeChild(mDeckEditor);
};
mDeckEditor = null;
};
mDeckEditor = new DeckEditor();
mDeckEditor.y = 0;
stage.addChild(mDeckEditor);
}
public function OnNewGameUp(_arg1:MouseEvent){
mGameMode = GAME_MODE_MELEE;
ShowDeckChoose();
}
public function ShowViewHSWin(){
KillViewHSWin();
mViewHSWin = new ViewHSDialog();
mViewHSWin.y = 0;
stage.addChild(mViewHSWin);
}
public function KillAndRemoveDeckEditor(_arg1:MouseEvent=null){
if (mDeckEditor){
if (mDeckEditor.parent){
mDeckEditor.parent.removeChild(mDeckEditor);
};
mDeckEditor = null;
};
}
public function AfterAdvCompleted(){
Main.GetInstance().RemoveMatchOverAndAllChildrens(false);
Main.GetInstance().ShowScoreWin(false, true);
}
function __setProp_sCardPane_Scene1_Core_59(){
try {
sCardPane["componentInspectorSetting"] = true;
} catch(e:Error) {
};
sCardPane.enabled = true;
sCardPane.horizontalLineScrollSize = 4;
sCardPane.horizontalPageScrollSize = 0;
sCardPane.horizontalScrollPolicy = "auto";
sCardPane.scrollDrag = false;
sCardPane.source = "";
sCardPane.verticalLineScrollSize = 12;
sCardPane.verticalPageScrollSize = 0;
sCardPane.verticalScrollPolicy = "auto";
sCardPane.visible = true;
try {
sCardPane["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
public function ShowMeleeEnemyWindow(){
mMeleeEnemyWindow = new DeckChooseEnemy();
stage.addChild(mMeleeEnemyWindow);
}
public function OnDeckEditorUp(_arg1:MouseEvent){
mDeckChooseWindow = new DeckList();
mDeckChooseWindow.x = 0;
mDeckChooseWindow.y = 0;
stage.addChild(mDeckChooseWindow);
}
public function OnEnterFrame(_arg1:Event){
switch (mState){
case STATE_INIT_BATTLE:
RunStateInitBattle();
break;
case STATE_BATTLE:
RunStateBattle();
break;
case STATE_PAUSED:
this.dispatchEvent(new Event("pause"));
break;
case STATE_PAUSED_GAME_OVER:
this.dispatchEvent(new Event("pause"));
break;
default:
break;
};
}
function frame52(){
root.addEventListener(Event.ENTER_FRAME, OnEnterFrame);
sPaused_TXT.visible = false;
trace("flag d");
}
function frame59(){
if ((((__setPropDict[sCardPane] == undefined)) || (!((((int(__setPropDict[sCardPane]) >= 59)) && ((int(__setPropDict[sCardPane]) <= 71))))))){
__setPropDict[sCardPane] = currentFrame;
__setProp_sCardPane_Scene1_Core_59();
};
trace("flag e");
PrepareCardList();
}
function frame63(){
if ((((__setPropDict[sCardPane] == undefined)) || (!((((int(__setPropDict[sCardPane]) >= 59)) && ((int(__setPropDict[sCardPane]) <= 71))))))){
__setPropDict[sCardPane] = currentFrame;
__setProp_sCardPane_Scene1_Core_59();
};
}
private function ShowPausedMessage(){
sPaused_TXT.visible = true;
mPausedTimer.reset();
mPausedTimer.start();
}
function frame66(){
if ((((__setPropDict[sCardPane] == undefined)) || (!((((int(__setPropDict[sCardPane]) >= 59)) && ((int(__setPropDict[sCardPane]) <= 71))))))){
__setPropDict[sCardPane] = currentFrame;
__setProp_sCardPane_Scene1_Core_59();
};
}
function frame61(){
if ((((__setPropDict[sCardPane] == undefined)) || (!((((int(__setPropDict[sCardPane]) >= 59)) && ((int(__setPropDict[sCardPane]) <= 71))))))){
__setPropDict[sCardPane] = currentFrame;
__setProp_sCardPane_Scene1_Core_59();
};
}
public function ShowDeckEditorTutorial(_arg1:MouseEvent=null){
var _local2:DeckTutorialWindow;
_local2 = new DeckTutorialWindow();
stage.addChild(_local2);
}
public function ShowMainMenu(){
var _local1:Sound;
var _local2:SoundTransform;
stage.focus = this.stage;
KillOptionBar();
mState = STATE_MAIN_MENU;
if (!mBGMStartFlag){
_local1 = new BGM();
_local2 = new SoundTransform(0.7, 0);
mBGMChannel = _local1.play(0, 999, _local2);
mBGMStartFlag = true;
};
if (mMainMenuWindow != null){
if (mMainMenuWindow.parent){
mMainMenuWindow.parent.removeChild(mMainMenuWindow);
};
mMainMenuWindow = null;
};
mMainMenuWindow = new MainMenu();
stage.addChild(mMainMenuWindow);
mMainMenuWindow.mOptionBar.MusicOut(null);
mMainMenuWindow.mOptionBar.SFXOut(null);
}
function frame69(){
if ((((__setPropDict[sCardPane] == undefined)) || (!((((int(__setPropDict[sCardPane]) >= 59)) && ((int(__setPropDict[sCardPane]) <= 71))))))){
__setPropDict[sCardPane] = currentFrame;
__setProp_sCardPane_Scene1_Core_59();
};
}
private function DeletePausedMessage(){
sPaused_TXT.visible = false;
mPausedTimer.stop();
}
private function ReArrangeChildren(_arg1:Event){
if (mCrossHair){
if (mCrossHair.visible){
stage.setChildIndex(mCrossHair, (stage.numChildren - 1));
};
};
if (mPopUp){
stage.setChildIndex(mPopUp, (stage.numChildren - 1));
};
}
function HideCrossHair(_arg1:Event=null):void{
if (mCrossHair){
mCrossHair.visible = false;
Mouse.show();
};
}
function frame65(){
if ((((__setPropDict[sCardPane] == undefined)) || (!((((int(__setPropDict[sCardPane]) >= 59)) && ((int(__setPropDict[sCardPane]) <= 71))))))){
__setPropDict[sCardPane] = currentFrame;
__setProp_sCardPane_Scene1_Core_59();
};
}
public function DeletePopUpMessage(){
stage.removeChild(mPopUp);
mPopUp = null;
}
function frame60(){
if ((((__setPropDict[sCardPane] == undefined)) || (!((((int(__setPropDict[sCardPane]) >= 59)) && ((int(__setPropDict[sCardPane]) <= 71))))))){
__setPropDict[sCardPane] = currentFrame;
__setProp_sCardPane_Scene1_Core_59();
};
}
public function ToggleQuality():void{
switch (stage.quality){
case "LOW":
stage.quality = StageQuality.MEDIUM;
break;
case "MEDIUM":
stage.quality = StageQuality.HIGH;
break;
case "HIGH":
stage.quality = StageQuality.BEST;
break;
case "BEST":
stage.quality = StageQuality.LOW;
break;
};
}
function frame71(){
if ((((__setPropDict[sCardPane] == undefined)) || (!((((int(__setPropDict[sCardPane]) >= 59)) && ((int(__setPropDict[sCardPane]) <= 71))))))){
__setPropDict[sCardPane] = currentFrame;
__setProp_sCardPane_Scene1_Core_59();
};
}
public function KillAndRemoveMeleeEnemyWindow(){
if (mMeleeEnemyWindow){
if (mMeleeEnemyWindow.parent){
mMeleeEnemyWindow.parent.removeChild(mMeleeEnemyWindow);
};
mMeleeEnemyWindow = null;
};
}
function frame70(){
if ((((__setPropDict[sCardPane] == undefined)) || (!((((int(__setPropDict[sCardPane]) >= 59)) && ((int(__setPropDict[sCardPane]) <= 71))))))){
__setPropDict[sCardPane] = currentFrame;
__setProp_sCardPane_Scene1_Core_59();
};
}
function frame67(){
if ((((__setPropDict[sCardPane] == undefined)) || (!((((int(__setPropDict[sCardPane]) >= 59)) && ((int(__setPropDict[sCardPane]) <= 71))))))){
__setPropDict[sCardPane] = currentFrame;
__setProp_sCardPane_Scene1_Core_59();
};
}
function frame68(){
if ((((__setPropDict[sCardPane] == undefined)) || (!((((int(__setPropDict[sCardPane]) >= 59)) && ((int(__setPropDict[sCardPane]) <= 71))))))){
__setPropDict[sCardPane] = currentFrame;
__setProp_sCardPane_Scene1_Core_59();
};
}
public function ToggleMusic(){
var _local1:Sound;
var _local2:SoundTransform;
if (!mBGMStartFlag){
return;
};
if (mState == STATE_PAUSED_GAME_OVER){
return;
};
if (mBgmFlag){
mBgmFlag = false;
mBGMChannel.stop();
} else {
mBgmFlag = true;
_local1 = new BGM();
_local2 = new SoundTransform(0.7, 0);
mBGMChannel = _local1.play(0, 999, _local2);
};
}
public function KillCreditsWin(){
if (mCreditWin != null){
if (mCreditWin.parent){
mCreditWin.parent.removeChild(mCreditWin);
};
mCreditWin = null;
};
}
function frame62(){
if ((((__setPropDict[sCardPane] == undefined)) || (!((((int(__setPropDict[sCardPane]) >= 59)) && ((int(__setPropDict[sCardPane]) <= 71))))))){
__setPropDict[sCardPane] = currentFrame;
__setProp_sCardPane_Scene1_Core_59();
};
}
function frame64(){
if ((((__setPropDict[sCardPane] == undefined)) || (!((((int(__setPropDict[sCardPane]) >= 59)) && ((int(__setPropDict[sCardPane]) <= 71))))))){
__setPropDict[sCardPane] = currentFrame;
__setProp_sCardPane_Scene1_Core_59();
};
}
function frame46(){
trace("flag c");
}
public function KillAndRemoveMainMenu(){
if (mMainMenuWindow){
if (mMainMenuWindow.parent){
mMainMenuWindow.parent.removeChild(mMainMenuWindow);
};
mMainMenuWindow = null;
trace("remove");
};
}
private function isDomainAllowed(_arg1:Array):Boolean{
var _local2:LocalConnection;
var _local3:String;
var _local4:Number;
_local2 = new LocalConnection();
_local3 = _local2.domain;
_local4 = 0;
while (_local4 < _arg1.length) {
if (_local3 == _arg1[_local4]){
return (true);
};
_local4++;
};
_local4 = 0;
while (_local4 < _arg1.length) {
if (_local3.substr(-((_arg1[_local4].length + 1))) == ("." + _arg1[_local4])){
return (true);
};
_local4++;
};
return (false);
}
private function RunStateBattle(){
mTimeCompleted = (mTimeCompleted + 1);
if (!mSapiFlag){
mSapiFlag = true;
sPlayer1Hp_TXT.text = MemoryCrypto.getValue(mPlayer[0].mHp);
sPlayer2Hp_TXT.text = MemoryCrypto.getValue(mPlayer[1].mHp);
};
sEp_TXT.text = (((Math.floor(MemoryCrypto.getValue(mPlayer[0].mEp)) + "(") + MemoryCrypto.getValue(mPlayer[0].mEpRate).toFixed(1)) + "/SEC)");
if (mTutorialState == -1){
mAIUpdateCounter = (mAIUpdateCounter - (1 / stage.frameRate));
};
if (mAIUpdateCounter <= 0){
mAIUpdateCounter = (mAIUpdateRate - PM_PRNG.nextIntRange(0, Math.round((mAIUpdateRate / 2))));
mPlayer[1].UpdateAI();
};
this.dispatchEvent(new Event("update"));
}
public function ShowDeckChoose(){
if (mDeckChooseMeleeWindow != null){
if (mDeckChooseMeleeWindow.parent){
mDeckChooseMeleeWindow.parent.removeChild(mDeckChooseMeleeWindow);
};
mDeckChooseMeleeWindow = null;
};
mDeckChooseMeleeWindow = new DeckChoose();
mDeckChooseMeleeWindow.y = 0;
stage.addChild(mDeckChooseMeleeWindow);
}
public function KillSubmitScoreWin(_arg1:Boolean=true){
if (mSubmitScoreWin){
if (((mSubmitScoreWin.parent) && (_arg1))){
mSubmitScoreWin.parent.removeChild(mSubmitScoreWin);
};
mSubmitScoreWin = null;
};
if (mSubmitScoreWin != null){
trace("WARNING ### mSubmitScoreWin Not null after Kill process");
};
}
public function SubmitScore(_arg1:String, _arg2:String, _arg3:int, _arg4:int, _arg5:String=""){
var variables:URLVariables;
var p:String;
var request:URLRequest;
var table = _arg1;
var name = _arg2;
var score = _arg3;
var caller = _arg4;
var type = _arg5;
KillSubmitScoreWin();
KillScoreWin();
QuitMatch(false);
variables = new URLVariables();
variables.name = name;
variables.score = score;
variables.table = table;
variables.type = type;
mTableName = table;
mCaller = caller;
p = MD5.calculate((("sapimiber$^AgHHr7523" + score) + type));
variables.sapi = p;
trace(((((("MD5 : " + p) + " - score : ") + score) + " - table : ") + table));
request = new URLRequest();
request.url = (Global.HS_URL + "masuknilai.php");
request.data = variables;
try {
loader.load(request);
} catch(error:MemoryError) {
trace("A SecurityError has occurred.");
} catch(error:SecurityError) {
trace("A SecurityError has occurred.");
};
loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.addEventListener(Event.COMPLETE, completeWriting);
}
public function KillAndRemoveDeckChoose(){
if (mDeckChooseWindow){
if (mDeckChooseWindow.parent){
mDeckChooseWindow.parent.removeChild(mDeckChooseWindow);
};
mDeckChooseWindow = null;
};
}
function completeWriting(_arg1:Event):void{
var _local2:TextField;
var _local3:TextFormat;
var _local4:int;
_local2 = new TextField();
_local2.x = 10;
_local2.y = 200;
loader.removeEventListener(Event.COMPLETE, completeWriting);
_local3 = new TextFormat();
_local3.font = "Arial";
_local3.color = 0xFF0000;
_local3.size = 12;
_local2.multiline = true;
_local3.align = TextFormatAlign.LEFT;
_local2.autoSize = TextFieldAutoSize.LEFT;
_local2.defaultTextFormat = _local3;
_local2.setTextFormat(_local3);
_local2.text = _arg1.target.data;
trace(("Feedback : " + _local2.text));
if (_local2.text == "out"){
trace("score not enough to be included in high score table");
} else {
_local4 = int(_local2.text.substr(5, (_local2.text.length - 5)));
trace(("idx : " + _local4));
mHSIdx = _local4;
ShowViewHSWin();
};
}
public function OnAdventureGameUp(_arg1:MouseEvent){
mGameMode = GAME_MODE_ADVENTURE;
if (mAdventureSettings != null){
if (mAdventureSettings.parent){
mAdventureSettings.parent.removeChild(mAdventureSettings);
};
mAdventureSettings = null;
};
mAdventureSettings = new AdventureSettings();
mAdventureSettings.y = 0;
stage.addChild(mAdventureSettings);
}
public function ShowPopUpMessage(_arg1:String, _arg2:String, _arg3:int, _arg4:int){
if (!mPopUp){
mPopUp = new InfoPopUp();
stage.addChildAt(mPopUp, (stage.numChildren - 1));
mPopUp.mouseEnabled = false;
};
mPopUp.x = _arg3;
mPopUp.y = _arg4;
mPopUp.sInfoPopUp1_TXT.text = _arg1;
mPopUp.sInfoPopUp2_TXT.text = _arg2;
}
private function RunStateInitBattle(){
var _local1:int;
var _local2:int;
KillOptionBar();
mOptionBar = new COptionBar();
mOptionBar.x = 515;
mOptionBar.y = 597;
stage.addChild(mOptionBar);
mOptionBar.MusicOut(null);
mOptionBar.SFXOut(null);
mPerfectFlag = true;
mTimeCompleted = 0;
if (!mGarbage){
mGarbage = new Array();
};
trace(("mscore at Init Battle ### : " + MemoryCrypto.getValue(mScore)));
if (mGameMode == GAME_MODE_ADVENTURE){
if (mAdventureLevel == 1){
MemoryCrypto.setValue(mScore, 0);
};
if (mDifficulty == 0){
mGameModeStr = "Adventure Easy";
mAIUpdateRate = 10;
} else {
if (mDifficulty == 1){
mGameModeStr = "Adventure Medium";
mAIUpdateRate = 6;
} else {
mGameModeStr = "Adventure Hard";
mAIUpdateRate = 4;
};
};
} else {
if (mGameMode == GAME_MODE_MELEE){
mGameModeStr = "Melee";
MemoryCrypto.setValue(mScore, 0);
if (mDifficulty == 0){
mAIUpdateRate = 8;
} else {
if (mDifficulty == 1){
mAIUpdateRate = 6;
} else {
if (mDifficulty == 2){
mAIUpdateRate = 4;
} else {
mAIUpdateRate = 3;
};
};
};
};
};
trace(("mscore at Init Battle flag B ^^^ : " + MemoryCrypto.getValue(mScore)));
trace(("MainRunInitBattle AI Update Rate : " + mAIUpdateRate));
mAIUpdateCounter = mAIUpdateRate;
mSapiFlag = false;
sPaused_TXT.visible = false;
mSecToDraw = 6;
mTiles = new Array();
Card.mId = 0;
mHoveredCard = null;
mSelectedTile = null;
mSelectedCard = null;
mPlayer = new Array(2);
mPlayer[0] = new Player(this, 0);
mPlayer[1] = new Player(this, 1);
sPlayer1Hp_TXT.text = MemoryCrypto.getValue(mPlayer[0].mHp);
sPlayer2Hp_TXT.text = MemoryCrypto.getValue(mPlayer[1].mHp);
mPlayer[0].addDispatcher();
mPlayer[1].addDispatcher();
if (mMessage){
DeleteMessage();
};
_local1 = 0;
while (_local1 < 3) {
mTiles[_local1] = new Array();
_local2 = 0;
while (_local2 < 6) {
if (_local2 <= 2){
mTiles[_local1][_local2] = new Tile(_local2, _local1, mPlayer[0]);
} else {
mTiles[_local1][_local2] = new Tile(_local2, _local1, mPlayer[1]);
};
stage.addChild(mTiles[_local1][_local2]);
mTiles[_local1][_local2].x = ((_local2 * 99) + 20);
mTiles[_local1][_local2].y = ((_local1 * 107) + 37);
_local2++;
};
_local1++;
};
mGameState = GAME_STATE_NONE;
mState = STATE_BATTLE;
if (mTutorialState == 0){
};
}
public function KillAndRemoveAdventureSettings(){
if (mAdventureSettings){
if (mAdventureSettings.parent){
mAdventureSettings.parent.removeChild(mAdventureSettings);
};
mAdventureSettings = null;
};
}
public function OnPlayButtonMouseUp(_arg1:MouseEvent){
gotoAndStop("mainMenu");
}
public function KillViewHSWin(){
if (mViewHSWin != null){
if (mViewHSWin.parent){
mViewHSWin.parent.removeChild(mViewHSWin);
};
mViewHSWin = null;
};
}
private function ShowQuitConfirmation(){
var _local1:QuitConfirm;
_local1 = new QuitConfirm();
stage.addChild(_local1);
}
public function KillOptionBar(){
if (mOptionBar){
if (mOptionBar.parent){
mOptionBar.parent.removeChild(mOptionBar);
};
mOptionBar = null;
};
}
public function KillScoreWin(){
if (mScoreWin){
if (mScoreWin.parent){
mScoreWin.parent.removeChild(mScoreWin);
};
mScoreWin = null;
};
}
public function OnTutorialBtnUp(_arg1:MouseEvent){
var _local2:TutorialWindow;
_local2 = new TutorialWindow();
this.stage.addChild(_local2);
}
private function menuSelectHandler(_arg1:ContextMenuEvent){
}
public function RecheckUnit(_arg1:Unit){
var _local2:Boolean;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
_local2 = false;
_local3 = 0;
while (_local3 < 2) {
_local4 = mPlayer[_local3].mUnit.length;
if (mPlayer[_local3].mUnit.indexOf(_arg1) == -1){
_local5 = _arg1.mX;
_local6 = _arg1.mY;
if ((((((((_local5 < 0)) || ((_local5 > 5)))) || ((_local6 < 0)))) || ((_local6 > 2)))){
_local2 = true;
break;
};
if (!mTiles[_local6][_local5].mUnit){
_local2 = true;
break;
};
if (mTiles[_local6][_local5].mUnit.mNum != _arg1.mNum){
_local2 = true;
break;
};
};
_local3++;
};
if (_local2){
trace(("###### GHOST UNIT - parent before :" + _arg1.parent));
if (_arg1.parent){
_arg1.parent.removeChild(_arg1);
};
trace(("###### GHOST UNIT - parent after :" + _arg1.parent));
};
}
public function CheckDomain(_arg1:TimerEvent=null){
var _local2:Array;
var _local3:Array;
_local2 = new Array("localhost");
_local3 = new Array("StandAlone", "External");
if (((isDomainAllowed(_local2)) || (isPlayerAllowed(_local3)))){
if ((((mState == Main.STATE_BATTLE)) || ((mState == Main.STATE_INIT_BATTLE)))){
mState = STATE_PAUSED;
this.dispatchEvent(new Event("pause"));
QuitMatch(false);
};
KillAndRemoveMainMenu();
if (mSapiWindow){
if (mSapiWindow.parent){
mSapiWindow.parent.removeChild(mSapiWindow);
};
mSapiWindow = null;
};
mSapiWindow = new Banned();
this.stage.addChild(mSapiWindow);
mSapiTimer.delay = 5000;
} else {
trace("Allowed DOMAIN !!!");
mSapiTimer.stop();
};
}
public function PrintDebug(_arg1:String){
var _local2:int;
var _local3:int;
trace(("### BEGIN DEBUG : " + _arg1));
if (mPlayer){
_local2 = 0;
while (_local2 < mPlayer) {
trace(("mplayer i : " + _local2));
if (mPlayer[_local2].mUnit){
_local3 = 0;
while (_local3 < mPlayer[_local2].mUnit.length) {
trace(((((((("i:" + _local2) + " -j:") + _local3) + " -num:") + mPlayer[_local2].mUnit[_local3].mNum) + " -name:") + mPlayer[_local2].mUnit[_local3].mCardRef.mName));
_local3++;
};
};
_local2++;
};
};
trace(("### END DEBUG : " + _arg1));
}
public function ProcessEscKey(){
if ((((mState == STATE_BATTLE)) && (mMessage))){
HideCrossHair();
DeleteMessage();
if ((((((mGameState == GAME_STATE_CHOOSE_UNIT_CAST_TILE)) || ((mGameState == GAME_STATE_CHOOSE_UNIT_SKILL_CARD)))) || ((mGameState == GAME_STATE_CHOOSE_EQUIPMENT_SKILL_CARD)))){
if (mSelectedTile){
mSelectedTile.OnMouseOut();
};
if (mSelectedCard){
mSelectedCard.OnMouseUp(null);
mSelectedCard.PushDown();
sCardDesc_MC.gotoAndStop(1);
sCardDesc_MC.sDesc_TXT.visible = false;
sCardDesc_MC.sCardInfo_TXT.visible = false;
};
mGameState = GAME_STATE_NONE;
if (mHoveredCard != mSelectedCard){
if (mHoveredCard){
mHoveredCard.OnMouseMove();
} else {
mSelectedCard.OnMouseOut();
};
};
mSelectedCard = null;
};
};
}
public function ChangeTutorialState(_arg1:int){
mTutorialState = _arg1;
mTutWin.gotoAndStop(("page" + _arg1));
}
public function ResumeGame(){
mState = STATE_BATTLE;
this.dispatchEvent(new Event("unpause"));
}
public function KillTutWin(){
if (mTutWin != null){
if (mTutWin.parent){
mTutWin.parent.removeChild(mTutWin);
};
mTutWin = null;
};
}
public function ShowCreditsWin(){
KillCreditsWin();
mCreditWin = new CCreditsWin();
mCreditWin.y = 0;
stage.addChild(mCreditWin);
}
public static function openWindow(_arg1:String="http://www.lazybanana.com", _arg2:String="_blank", _arg3:String=""):void{
ExternalInterface.call(WINDOW_OPEN_FUNCTION, _arg1, _arg2, _arg3);
}
public static function GetInstance():Main{
return (MainGlobal);
}
}
}//package
Section 101
//MainMenu (MainMenu)
package {
import flash.display.*;
import flash.events.*;
public class MainMenu extends MovieClip {
public var mHSBtn:SimpleButton;
public var sMainMenuAnim:MainMenuAnim;
public var sMainMenuLogo_BTN:MovieClip;
public var mAdventureBtn:SimpleButton;
public var mTutorialBtn:SimpleButton;
public var mNewGameBtn:SimpleButton;
public var mDeckEditorBtn:SimpleButton;
public var mOptionBar:COptionBar;
public var mCreditBtn:SimpleButton;
public var sAnimBlockUnit:AnimBlockUnit;
public function MainMenu(){
addFrameScript(0, frame1);
}
public function Init(){
if (mCreditBtn.hasEventListener(MouseEvent.MOUSE_UP)){
mCreditBtn.removeEventListener(MouseEvent.MOUSE_UP, OnCreditUp);
};
mCreditBtn.addEventListener(MouseEvent.MOUSE_UP, OnCreditUp, false, 0, true);
if (mNewGameBtn.hasEventListener(MouseEvent.MOUSE_UP)){
mNewGameBtn.removeEventListener(MouseEvent.MOUSE_UP, OnNewGameUp);
};
mNewGameBtn.addEventListener(MouseEvent.MOUSE_UP, OnNewGameUp, false, 0, true);
if (mAdventureBtn.hasEventListener(MouseEvent.MOUSE_UP)){
mAdventureBtn.removeEventListener(MouseEvent.MOUSE_UP, OnAdventureGameUp);
};
mAdventureBtn.addEventListener(MouseEvent.MOUSE_UP, OnAdventureGameUp, false, 0, true);
if (mDeckEditorBtn.hasEventListener(MouseEvent.MOUSE_UP)){
mDeckEditorBtn.removeEventListener(MouseEvent.MOUSE_UP, OnDeckEditorUp);
};
mDeckEditorBtn.addEventListener(MouseEvent.MOUSE_UP, OnDeckEditorUp, false, 0, true);
if (mTutorialBtn.hasEventListener(MouseEvent.MOUSE_UP)){
mTutorialBtn.removeEventListener(MouseEvent.MOUSE_UP, OnTutorialBtnUp);
};
mTutorialBtn.addEventListener(MouseEvent.MOUSE_UP, OnTutorialBtnUp, false, 0, true);
if (sMainMenuLogo_BTN.hasEventListener(MouseEvent.MOUSE_DOWN)){
sMainMenuLogo_BTN.removeEventListener(MouseEvent.MOUSE_DOWN, GoToHomepage);
};
sMainMenuLogo_BTN.addEventListener(MouseEvent.MOUSE_DOWN, GoToHomepage, false, 0, true);
if (mHSBtn.hasEventListener(MouseEvent.MOUSE_DOWN)){
mHSBtn.removeEventListener(MouseEvent.MOUSE_DOWN, ViewHS);
};
mHSBtn.addEventListener(MouseEvent.MOUSE_DOWN, ViewHS, false, 0, true);
Main.GetInstance().mState = Main.STATE_MAIN_MENU;
if (Main.GetInstance().mSapiTimer.running){
Main.GetInstance().mSapiTimer.reset();
};
Main.GetInstance().mSapiTimer.start();
if (!sMainMenuAnim){
sMainMenuAnim = new MainMenuAnim();
sMainMenuAnim.x = 0;
sMainMenuAnim.y = 0;
this.addChildAt(sMainMenuAnim, 999);
};
sMainMenuAnim.Init();
if (!sAnimBlockUnit){
sAnimBlockUnit = new AnimBlockUnit();
sAnimBlockUnit.x = 5.8;
sAnimBlockUnit.y = 524;
this.addChildAt(sAnimBlockUnit, 1);
};
sAnimBlockUnit.Init();
}
private function OnDeckEditorUp(_arg1:MouseEvent=null){
Main.GetInstance().OnDeckEditorUp(null);
}
function frame1(){
Init();
}
private function OnAdventureGameUp(_arg1:MouseEvent=null){
Main.GetInstance().OnAdventureGameUp(null);
}
private function ViewHS(_arg1:MouseEvent):void{
Main.openWindow(((Global.HS_URL + "highscore.php?kuda=") + Main.GetInstance().mGameModeStr));
}
private function OnCreditUp(_arg1:MouseEvent):void{
Main.GetInstance().ShowCreditsWin();
}
private function OnTutorialBtnUp(_arg1:MouseEvent=null){
Main.GetInstance().OnTutorialBtnUp(null);
}
private function GoToHomepage(_arg1:MouseEvent=null){
Main.openWindow();
}
private function OnNewGameUp(_arg1:MouseEvent=null){
Main.GetInstance().OnNewGameUp(null);
}
}
}//package
Section 102
//MainMenuAnim (MainMenuAnim)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import de.polygonal.math.*;
public class MainMenuAnim extends MovieClip {
private var mTimer:Timer;
private var mWords:Array;
private var mHolder:Array;
private var mX:Array;
private var mLength:int;
private var mY:Array;
private var mSpeed:Array;
private var mTextField:Array;
static var MIN_WORDS = 100;
static var MAX_WORDS = 100;
public function Init(){
var _local1:int;
var _local2:TextField;
mTimer = new Timer(50);
mTimer.addEventListener(TimerEvent.TIMER, OnTimer, false, 0, true);
this.parent.setChildIndex(this, 0);
mLength = PM_PRNG.nextIntRange(MIN_WORDS, MAX_WORDS);
mWords = new Array();
mSpeed = new Array();
mX = new Array();
mY = new Array();
mTextField = new Array();
mHolder = new Array();
_local1 = 0;
while (_local1 < mLength) {
mSpeed[_local1] = PM_PRNG.nextIntRange(2, 10);
mX[_local1] = (PM_PRNG.nextIntRange(1, 40) * 15);
mY[_local1] = PM_PRNG.nextIntRange(-150, 600);
mWords[_local1] = GetRandomWord(0);
_local2 = new TextField();
_local2.multiline = true;
_local2.defaultTextFormat = new TextFormat("01 DigitGraphics", PM_PRNG.nextIntRange(12, 22), 0xFF00);
_local2.antiAliasType = AntiAliasType.ADVANCED;
_local2.selectable = false;
_local2.wordWrap = true;
_local2.width = 15;
_local2.text = mWords[_local1];
mTextField[_local1] = _local2;
_local2.x = 0;
_local2.y = 0;
mHolder[_local1] = new MovieClip();
mHolder[_local1].x = mX[_local1];
mHolder[_local1].y = mY[_local1];
mHolder[_local1].alpha = 0;
mHolder[_local1].addChildAt(mTextField[_local1], 0);
mHolder[_local1].alpha = 0;
this.addChild(mHolder[_local1]);
mHolder[_local1].alpha = 0;
_local1++;
};
mTimer.start();
this.parent.setChildIndex(this, 0);
}
private function GetRandomWord(_arg1:int=0):String{
var _local2:String;
var _local3:int;
if (_arg1 == 0){
_arg1 = PM_PRNG.nextIntRange(4, 10);
};
_local2 = "";
_local3 = 0;
while (_local3 < _arg1) {
_local2 = (_local2 + String.fromCharCode(PM_PRNG.nextIntRange(39, 122)));
_local3++;
};
return (_local2);
}
private function ResetTextField(_arg1:int){
mSpeed[_arg1] = PM_PRNG.nextIntRange(2, 10);
mX[_arg1] = (PM_PRNG.nextIntRange(1, 40) * 15);
mY[_arg1] = PM_PRNG.nextIntRange(-150, -50);
mWords[_arg1] = GetRandomWord(0);
mHolder[_arg1].x = mX[_arg1];
mHolder[_arg1].y = mY[_arg1];
mTextField[_arg1].text = mWords[_arg1];
}
private function OnTimer(_arg1:TimerEvent){
var _local2:int;
_local2 = 0;
while (_local2 < mLength) {
mHolder[_local2].y = (mHolder[_local2].y + (0.5 * mSpeed[_local2]));
if (mHolder[_local2].y >= 640){
ResetTextField(_local2);
};
_local2++;
};
}
public function Kill(){
}
}
}//package
Section 103
//MatchOver (MatchOver)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.net.*;
import com.electrotank.util.*;
public class MatchOver extends MovieClip {
public var sWinner_TXT:TextField;
public var sCardDesc:TextField;
public var sRematchBtn:SimpleButton;
public var sCardDesc2:TextField;
public var sNextBtn:SimpleButton;
private var mSO:SharedObject;
private var mLoser:int;
public var sQuitBtn:SimpleButton;
private var mInit1Flag:Boolean;
private var mNewCard:Card2;
public var sScore_TXT:TextField;
public function MatchOver(_arg1:int=-1){
mSO = SharedObject.getLocal("CardArena");
super();
addFrameScript(0, frame1, 1, frame2);
sRematchBtn.addEventListener(MouseEvent.MOUSE_UP, Rematch, false, 0, true);
sQuitBtn.addEventListener(MouseEvent.MOUSE_UP, ShowScore, false, 0, true);
sNextBtn.addEventListener(MouseEvent.MOUSE_UP, NextLevel, false, 0, true);
sNextBtn.visible = false;
mLoser = _arg1;
mInit1Flag = true;
}
private function Init1(){
if (mLoser == 0){
sWinner_TXT.text = "Defeated !";
} else {
sWinner_TXT.text = "Victorious !";
if (Main.GetInstance().mGameMode == Main.GAME_MODE_ADVENTURE){
sNextBtn.visible = true;
};
};
if (Main.GetInstance().mGameMode == Main.GAME_MODE_ADVENTURE){
sWinner_TXT.text = ((("Lv " + Main.GetInstance().mAdventureLevel) + " ") + sWinner_TXT.text);
};
if ((((Main.GetInstance().mGameMode == Main.GAME_MODE_ADVENTURE)) && (mInit1Flag))){
if ((Main.GetInstance().mAdventureLevel % 2) == 0){
gotoAndStop(2);
};
};
}
private function Init2(){
var _local1:int;
var _local2:String;
var _local3:int;
if (mLoser == 0){
sWinner_TXT.text = "Defeated !";
mInit1Flag = false;
gotoAndStop(1);
return;
};
sWinner_TXT.text = "Victorious !";
if (Main.GetInstance().mGameMode == Main.GAME_MODE_ADVENTURE){
sNextBtn.visible = true;
};
if (Main.GetInstance().mGameMode == Main.GAME_MODE_ADVENTURE){
sWinner_TXT.text = ((("Lv " + Main.GetInstance().mAdventureLevel) + " ") + sWinner_TXT.text);
};
_local1 = ((Main.GetInstance().mAdventureLevel / 2) - 1);
if (Main.GetInstance().mDifficulty == 0){
mNewCard = new Card2(Global.RewardedCardEasy[_local1]);
} else {
if (Main.GetInstance().mDifficulty == 1){
mNewCard = new Card2(Global.RewardedCardMedium[_local1]);
} else {
if (Main.GetInstance().mDifficulty == 2){
mNewCard = new Card2(Global.RewardedCardHard[_local1]);
};
};
};
if (Main.GetInstance().mAvailableCard.indexOf(mNewCard.mType) == -1){
Main.GetInstance().mAvailableCard.push(mNewCard.mType);
addChild(mNewCard);
mNewCard.x = 295;
mNewCard.y = 155;
mNewCard.mMouseOverFlag = false;
_local3 = MemoryCrypto.getValue(mNewCard.mCardType);
if (mNewCard.mCardType2 == Global.CARD_TYPE_UNIT){
_local2 = ((((((((((Global.CardType[mNewCard.mCardType2] + "-") + mNewCard.mName) + " - Cost:") + mNewCard.mCost2) + " Hp:") + mNewCard.mHp2) + " Dmg:") + mNewCard.mDamage2) + " AttackRate:") + mNewCard.mAttackRate2);
} else {
_local2 = ((((Global.CardType[mNewCard.mCardType2] + "-") + mNewCard.mName) + " Cost:") + mNewCard.mCost2);
};
sCardDesc.text = _local2;
sCardDesc2.text = mNewCard.mDesc;
} else {
mInit1Flag = false;
gotoAndStop(1);
};
}
public function NextLevel(_arg1:MouseEvent){
var _local2:Boolean;
var _local3:AdventureEnd;
Main.GetInstance().mAdventureLevel++;
mSO.data.AdventureLevel = Main.GetInstance().mAdventureLevel;
mSO.data.Difficulty = Main.GetInstance().mDifficulty;
mSO.data.OpenDeck = Main.GetInstance().mAvailableCard;
mSO.data.AdventureDeck = Main.GetInstance().mPlayer[0].mUsedDeck;
mSO.flush();
if ((((Main.GetInstance().mDifficulty < 2)) && ((Main.GetInstance().mAdventureLevel > 10)))){
mSO.data.AdventureLevel = 10;
mSO.flush();
_local3 = new AdventureEnd();
Main.GetInstance().stage.addChild(_local3);
return;
};
if ((((Main.GetInstance().mDifficulty == 2)) && ((Main.GetInstance().mAdventureLevel > 8)))){
mSO.data.AdventureLevel = 8;
mSO.flush();
_local3 = new AdventureEnd();
Main.GetInstance().stage.addChild(_local3);
return;
};
Main.GetInstance().RemoveMatchOverAndAllChildrens(true);
if (mLoser == 0){
_local2 = true;
} else {
_local2 = false;
};
Main.GetInstance().ShowScoreWin(true, _local2);
}
private function Rematch(_arg1:MouseEvent){
Main.GetInstance().RemoveMatchOverAndAllChildrens(false);
Main.GetInstance().QuitMatch(true);
}
function frame1(){
stop();
Init1();
}
private function ShowScore(_arg1:MouseEvent):void{
Main.GetInstance().RemoveMatchOverAndAllChildrens(true);
Main.GetInstance().ShowScoreWin(false);
}
private function Quit(_arg1:MouseEvent){
var _local2:Boolean;
_local2 = true;
if (Main.GetInstance().mGameMode == Main.GAME_MODE_ADVENTURE){
mSO.data.Difficulty = Main.GetInstance().mDifficulty;
if (mLoser == 1){
mSO.data.AdventureLevel = (Main.GetInstance().mAdventureLevel + 1);
} else {
mSO.data.AdventureLevel = Main.GetInstance().mAdventureLevel;
};
mSO.data.AdventureDeck = new Array();
mSO.data.AdventureDeck = Main.GetInstance().mPlayer[0].mUsedDeck;
mSO.flush();
if (mLoser == 0){
_local2 = true;
} else {
_local2 = false;
};
};
Main.GetInstance().RemoveMatchOverAndAllChildrens(false);
trace("Quit");
Main.GetInstance().ShowScoreWin(false, _local2);
}
function frame2(){
stop();
trace("kuda terbang 2 ");
Init2();
}
}
}//package
Section 104
//Message (Message)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.ui.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
public dynamic class Message extends MovieClip {
public var sMessage_TXT:TextField;
public function Message(){
addFrameScript(10, frame11);
}
function frame11(){
gotoAndPlay(2);
}
}
}//package
Section 105
//Player (Player)
package {
import flash.display.*;
import flash.events.*;
import gs.*;
import fl.motion.*;
import flash.net.*;
import de.polygonal.math.*;
import com.electrotank.util.*;
import fl.motion.easing.*;
public class Player extends MovieClip {
public var mEpMax:String;
public var mHp:String;
private var mBuff:Array;
public var mHand:Array;
private var mCastedCard:Card;
public var mDeck:Array;
public var mGraveyard:Array;
public var mEpRate:String;
private var mBannedAICard:Array;
public var mPlayerNum:int;
private var mEquipEffect:Array;
public var mDrawSec:String;
private var mParent:Main;
private var mSO:SharedObject;
public var mUnit:Array;
public var mUsedDeck:Array;
public var mEquipment:Equipment;
public var mFoePlayerIdx:int;
public var mDrawRate:String;
public var mEp:String;
static var TILE_HEIGHT = 107;
static var INIT_UNIT_X = 10;
static var INIT_UNIT_Y = 37;
static var mId:int = 0;
static var TILE_WIDTH = 99;
static var INIT_HAND_X = 17;
static var INIT_HAND_Y = 515;
public function Player(_arg1:Main, _arg2:int){
mHp = ("mHpPlayer" + mId);
mEp = ("mEpPlayer" + mId);
mEpRate = ("mEpRatePlayer" + mId);
mEpMax = ("mEpMaxPlayer" + mId);
mDrawRate = ("mDrawRatePlayer" + mId);
mDrawSec = ("mDrawSecPlayer" + mId);
mSO = SharedObject.getLocal("CardArena");
super();
mId++;
mParent = _arg1;
mPlayerNum = _arg2;
if (_arg2 == 0){
mFoePlayerIdx = 1;
} else {
mFoePlayerIdx = 0;
};
Init();
}
public function RemoveChildrens(){
var _local1:int;
_local1 = 0;
while (_local1 < mUnit.length) {
mUnit[_local1].RemoveChildrens();
mUnit[_local1].removeDispatcher();
if (mUnit[_local1].parent){
mUnit[_local1].parent.removeChild(mUnit[_local1]);
};
mUnit[_local1] = null;
_local1++;
};
mUnit.splice(0, mUnit.length);
mUnit = null;
if (mEquipment){
if (mEquipment.parent){
mEquipment.parent.removeChild(mEquipment);
};
mEquipment = null;
};
if (mPlayerNum == 0){
_local1 = 0;
while (_local1 < mHand.length) {
if (mHand[_local1].parent){
mHand[_local1].parent.removeChild(mHand[_local1]);
};
mHand[_local1] = null;
_local1++;
};
};
if (mGraveyard[(mGraveyard.length - 1)].parent){
mGraveyard[(mGraveyard.length - 1)].parent.removeChild(mGraveyard[(mGraveyard.length - 1)]);
};
_local1 = 0;
while (_local1 < mDeck.length) {
mDeck[_local1] = null;
_local1++;
};
mDeck.splice(0, mDeck.length);
mDeck = null;
this.removeDispatcher();
}
public function addDispatcher():void{
mParent.addEventListener("update", Update, false, 0, true);
Main.GetInstance().addEventListener("applyEquipmentEffect", ApplyEquipmentEffect, false, 0, true);
Main.GetInstance().addEventListener("removeEquipmentEffect", RemoveEquipmentEffect, false, 0, true);
}
public function removeDispatcher(){
mParent.removeEventListener("update", Update);
Main.GetInstance().removeEventListener("applyEquipmentEffect", ApplyEquipmentEffect);
Main.GetInstance().removeEventListener("removeEquipmentEffect", RemoveEquipmentEffect);
}
public function ForceDrawCard(_arg1:int=1, _arg2:int=-1){
var _local3:int;
var _local4:int;
_local3 = ((mHand.length + _arg1) - 6);
_local4 = 0;
while (_local4 < _local3) {
DiscardCard();
_local4++;
};
_local4 = 0;
while (_local4 < _arg1) {
DrawCard();
_local4++;
};
}
private function ProcessAICard(_arg1:int, _arg2:Card){
var _local3:Boolean;
_local3 = true;
if (MemoryCrypto.getValue(_arg2.mCardType) == Global.CARD_TYPE_SKILL){
_local3 = ProcessSkillCard(_arg2);
} else {
if (MemoryCrypto.getValue(_arg2.mCardType) == Global.CARD_TYPE_EQUIPMENT){
_local3 = ProcessEquipmentCard(_arg2);
} else {
if (MemoryCrypto.getValue(_arg2.mCardType) == Global.CARD_TYPE_UNIT){
if (_arg1 == 0){
_local3 = ProcessDefensiveAICard(_arg2);
} else {
if (_arg1 == 1){
_local3 = ProcessNormalAICard(_arg2);
} else {
if (_arg1 == 2){
_local3 = ProcessOffensiveAICard(_arg2);
};
};
};
};
};
};
if (!_local3){
if (mBannedAICard.indexOf(_arg2.mNum) == -1){
mBannedAICard.push(_arg2.mNum);
Main.GetInstance().mAIUpdateCounter = 0;
};
} else {
RemoveCardFromHand(_arg2);
mBannedAICard.splice(0, mBannedAICard.length);
};
}
public function DamageChip(_arg1:int){
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
if (_arg1 > 0){
_local2 = 0;
_local3 = 0;
_local4 = 0;
while (_local4 < mUnit.length) {
if (mUnit[_local4].mCardRef.mType == Global.WARRIOR_1){
_local2++;
} else {
if (mUnit[_local4].mCardRef.mType == Global.PROF_GAZUKIN){
_local3++;
};
};
_local4++;
};
if (_local3 > 0){
_arg1 = 0;
} else {
_arg1 = (_arg1 - (2 * _local2));
};
if ((((_local2 > 0)) && ((_arg1 < 0)))){
_arg1 = 0;
};
};
MemoryCrypto.decrementValue(mHp, _arg1);
if (MemoryCrypto.getValue(mHp) >= Global.PLAYER_MAX_HP){
MemoryCrypto.setValue(mHp, Global.PLAYER_MAX_HP);
};
if (mPlayerNum == 1){
MemoryCrypto.incrementValue(Main.GetInstance().mScore, _arg1);
Main.GetInstance().sPlayer2Hp_TXT.text = MemoryCrypto.getValue(Main.GetInstance().mPlayer[1].mHp);
} else {
Main.GetInstance().mPerfectFlag = false;
Main.GetInstance().sPlayer1Hp_TXT.text = MemoryCrypto.getValue(Main.GetInstance().mPlayer[0].mHp);
};
if (MemoryCrypto.getValue(mHp) <= 0){
if (Main.GetInstance().mTutorialState == -1){
Main.GetInstance().showMatchOver(mPlayerNum);
};
};
if ((((mPlayerNum == 1)) && ((Main.GetInstance().mGameMode == Main.GAME_MODE_MELEE)))){
_local5 = MemoryCrypto.getValue(mHp);
if (Main.GetInstance().mDifficulty == 2){
if ((((_local5 <= 200)) && ((_local5 >= 150)))){
} else {
if ((((_local5 < 150)) && ((_local5 >= 100)))){
} else {
if ((((_local5 < 100)) && ((_local5 >= 50)))){
MemoryCrypto.incrementValue(mEpRate, 1);
};
};
};
} else {
if (Main.GetInstance().mDifficulty == 3){
if ((((_local5 <= 200)) && ((_local5 >= 150)))){
MemoryCrypto.incrementValue(mEpRate, 2);
} else {
if ((((_local5 < 150)) && ((_local5 >= 100)))){
MemoryCrypto.incrementValue(mEpRate, 2);
MemoryCrypto.setValue(mDrawRate, 3);
} else {
if ((((_local5 < 100)) && ((_local5 >= 50)))){
MemoryCrypto.incrementValue(mEpRate, 3);
MemoryCrypto.setValue(mDrawRate, 2);
};
};
};
} else {
if (Main.GetInstance().mDifficulty == 4){
if ((((_local5 <= 200)) && ((_local5 >= 150)))){
MemoryCrypto.incrementValue(mEpRate, 3);
} else {
if ((((_local5 < 150)) && ((_local5 >= 100)))){
MemoryCrypto.incrementValue(mEpRate, 2);
MemoryCrypto.setValue(mDrawRate, 2);
} else {
if ((((_local5 < 100)) && ((_local5 >= 50)))){
MemoryCrypto.incrementValue(mEpRate, 5);
MemoryCrypto.setValue(mDrawRate, 1);
};
};
};
};
};
};
};
}
public function DrawCard(){
var _local1:int;
var _local2:Card;
var _local3:int;
_local1 = mHand.length;
if (mDeck.length <= 0){
return;
};
if (Main.GetInstance().mTutorialState >= 0){
_local3 = 0;
} else {
_local3 = PM_PRNG.nextIntRange(0, (mDeck.length - 1));
};
_local2 = mDeck[_local3];
mDeck.splice(_local3, 1);
mHand.push(_local2);
if (mPlayerNum == 0){
_local2.x = (INIT_HAND_X + (_local1 * _local2.width));
_local2.y = Main.GetInstance().stage.height;
TweenLite.to(_local2, 1.5, {y:INIT_HAND_Y, ease:Elastic.easeOut});
mParent.stage.addChild(_local2);
};
}
public function Print(_arg1:String){
var _local2:int;
_local2 = 0;
while (_local2 < mGraveyard.length) {
trace(((((_arg1 + " - i : ") + _local2) + " - type : ") + mGraveyard[_local2].mType));
_local2++;
};
}
public function DiscardCard(){
if (mPlayerNum == 0){
TweenLite.killTweensOf(mHand[0]);
mHand[0].parent.removeChild(mHand[0]);
};
RemoveCardFromHand(mHand[0]);
}
private function ProcessDefensiveAICard(_arg1:Card):Boolean{
var _local2:Boolean;
var _local3:int;
var _local4:int;
_local2 = false;
_local3 = 5;
while (_local3 > 2) {
_local4 = 0;
while (_local4 < 3) {
if ((Main.GetInstance().mTiles[_local4][_local3].mUnit == null)){
CastUnit(_arg1, _local3, _local4);
_local2 = true;
break;
};
_local4++;
};
if (_local2){
break;
};
_local3--;
};
return (_local2);
}
public function UpdateAI(){
var _local1:int;
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
if (mHand.length == 0){
return;
};
_local1 = MemoryCrypto.getValue(mEp);
_local2 = new Array();
_local3 = -1;
_local4 = 0;
if ((((MemoryCrypto.getValue(mHp) <= 200)) && ((MemoryCrypto.getValue(Main.GetInstance().mPlayer[mFoePlayerIdx].mHp) >= 50)))){
_local4 = 0;
_local5 = 99;
_local6 = 99;
_local7 = 0;
while (_local7 < mHand.length) {
_local6 = mHand[_local7].mAttackRating;
if ((((((((mBannedAICard.indexOf(mHand[_local7].mNum) == -1)) || ((mBannedAICard.length >= mHand.length)))) && ((_local6 < _local5)))) && ((MemoryCrypto.getValue(mHand[_local7].mCost) <= _local1)))){
_local5 = _local6;
_local3 = _local7;
};
_local7++;
};
} else {
if ((((MemoryCrypto.getValue(mHp) <= 300)) && ((MemoryCrypto.getValue(Main.GetInstance().mPlayer[mFoePlayerIdx].mHp) >= 70)))){
_local4 = 1;
_local7 = 0;
while (_local7 < mHand.length) {
if (MemoryCrypto.getValue(mHand[_local7].mCost) <= _local1){
_local3 = _local7;
};
_local7++;
};
} else {
_local4 = 2;
_local5 = -99;
_local6 = 0;
_local3 = -1;
_local7 = 0;
while (_local7 < mHand.length) {
_local6 = mHand[_local7].mAttackRating;
if ((((((((mBannedAICard.indexOf(mHand[_local7].mNum) == -1)) || ((mBannedAICard.length >= mHand.length)))) && ((_local6 > _local5)))) && ((MemoryCrypto.getValue(mHand[_local7].mCost) <= _local1)))){
_local5 = _local6;
_local3 = _local7;
};
_local7++;
};
if (((((!((_local3 == -1))) && ((MemoryCrypto.getValue(mHand[_local3]) == Global.CARD_TYPE_UNIT)))) && ((mHand[_local3].mLevel > 7)))){
_local4 = 1;
};
};
};
if (_local3 != -1){
ProcessAICard(_local4, mHand[_local3]);
};
}
public function Update(_arg1:Event){
var _local2:*;
var _local3:Color;
var _local4:int;
if ((((MemoryCrypto.getValue(mEp) < MemoryCrypto.getValue(mEpMax))) && ((MemoryCrypto.getValue(mEpRate) > 0)))){
if ((((Main.GetInstance().mTutorialState >= 0)) && ((Main.GetInstance().mTutorialState < 2)))){
} else {
MemoryCrypto.incrementValue(mEp, (MemoryCrypto.getValue(mEpRate) / mParent.stage.frameRate));
};
};
if (mPlayerNum == 0){
for (_local2 in mHand) {
if (MemoryCrypto.getValue(mHand[_local2].mCost) <= MemoryCrypto.getValue(mEp)){
if (mHand[_local2].mTint.tintMultiplier != 0){
_local3 = new Color();
_local3.setTint(0xFF0000, 0);
mHand[_local2].mTint = _local3;
mHand[_local2].cardBg1.transform.colorTransform = _local3;
};
} else {
if (mHand[_local2].mTint.tintMultiplier != 0.1){
_local3 = new Color();
_local3.setTint(0xFF0000, 0.1);
mHand[_local2].mTint = _local3;
mHand[_local2].cardBg1.transform.colorTransform = _local3;
};
};
};
};
if (MemoryCrypto.getValue(mDrawSec) > 0){
MemoryCrypto.decrementValue(mDrawSec, (1 / mParent.stage.frameRate));
};
if (mPlayerNum == 0){
_local4 = Math.round((((MemoryCrypto.getValue(mDrawRate) - MemoryCrypto.getValue(mDrawSec)) / MemoryCrypto.getValue(mDrawRate)) * 100));
mParent.sDrawGauge_MC.gotoAndStop(_local4);
};
if ((((((MemoryCrypto.getValue(mDrawSec) <= 0)) && ((mHand.length < 6)))) && ((mDeck.length > 0)))){
DrawCard();
MemoryCrypto.setValue(mDrawSec, MemoryCrypto.getValue(mDrawRate));
if (mPlayerNum == 0){
mParent.sDrawGauge_MC.gotoAndStop(1);
};
};
if ((((mDeck.length == 0)) && ((mGraveyard.length > 1)))){
ShuffleGraveyardToDeck();
};
}
public function ApplySkill2(_arg1:Card, _arg2:Boolean=false){
var _local3:int;
_local3 = MemoryCrypto.getValue(_arg1.mTarget1);
if ((((_local3 == Global.TARGET_OWN_CPU)) || ((_local3 == Global.TARGET_OWN_PLAYER)))){
CastSkillOnThisPlayer(_arg1);
} else {
Main.GetInstance().mPlayer[mFoePlayerIdx].CastSkillOnThisPlayer(_arg1);
};
if (MemoryCrypto.getValue(_arg1.mTarget1) == Global.TARGET_OWN_CPU){
if (MemoryCrypto.getValue(_arg1.mVar1) == Global.VAR_CPU_HP){
if (!_arg2){
DamageChip(-(MemoryCrypto.getValue(_arg1.mValue1)));
};
};
} else {
if (MemoryCrypto.getValue(_arg1.mTarget1) == Global.TARGET_OWN_PLAYER){
if (MemoryCrypto.getValue(_arg1.mVar1) == Global.VAR_ENERGY_RATE){
if (_arg2){
MemoryCrypto.decrementValue(mEpRate, MemoryCrypto.getValue(_arg1.mValue1));
} else {
MemoryCrypto.incrementValue(mEpRate, MemoryCrypto.getValue(_arg1.mValue1));
};
} else {
if (MemoryCrypto.getValue(_arg1.mVar1) == Global.VAR_DRAW_CARD){
ForceDrawCard(MemoryCrypto.getValue(_arg1.mValue1));
};
};
} else {
if (MemoryCrypto.getValue(_arg1.mTarget1) == Global.TARGET_FOE_CPU){
if (MemoryCrypto.getValue(_arg1.mVar1) == Global.VAR_CPU_HP){
if (!_arg2){
Main.GetInstance().mPlayer[mFoePlayerIdx].DamageChip(-(MemoryCrypto.getValue(_arg1.mValue1)));
};
};
};
};
};
}
public function KillBuff(_arg1:Buff){
trace("kill buff player");
ApplySkill2(_arg1.mCardRef, true);
mBuff.splice(mBuff.indexOf(_arg1), 1);
}
private function ProcessNormalAICard(_arg1:Card):Boolean{
var _local2:Boolean;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
_local2 = false;
if ((((MemoryCrypto.getValue(_arg1.mHp) >= 50)) || ((_arg1.mLevel < 8)))){
_local3 = 999;
_local4 = -1;
_local5 = -1;
_local6 = 4;
while (_local6 < 6) {
_local7 = 0;
while (_local7 < 3) {
if (Main.GetInstance().mTiles[_local7][_local6].mUnit != null){
_local8 = MemoryCrypto.getValue(Main.GetInstance().mTiles[_local7][_local6].mUnit.mHp);
if ((((_local8 < _local3)) && ((Main.GetInstance().mTiles[_local7][(_local6 - 1)].mUnit == null)))){
_local3 = _local8;
_local4 = (_local6 - 1);
_local5 = _local7;
};
};
_local7++;
};
_local6++;
};
if (_local4 != -1){
CastUnit(_arg1, _local4, _local5);
_local2 = true;
cardCastedIdx = _local6;
} else {
_local6 = 3;
while (_local6 < 6) {
_local7 = 0;
while (_local7 < 3) {
if (Main.GetInstance().mTiles[_local7][_local6].mUnit == null){
CastUnit(_arg1, _local6, _local7);
_local2 = true;
break;
};
_local7++;
};
if (_local2){
break;
};
_local6++;
};
};
} else {
_local3 = 999;
_local4 = -1;
_local5 = -1;
_local6 = 3;
while (_local6 < 5) {
_local7 = 0;
while (_local7 < 3) {
if (Main.GetInstance().mTiles[_local7][_local6].mUnit != null){
_local8 = MemoryCrypto.getValue(Main.GetInstance().mTiles[_local7][_local6].mUnit.mHp);
if ((((_local8 > _local3)) && ((Main.GetInstance().mTiles[_local7][(_local6 + 1)].mUnit == null)))){
_local3 = _local8;
_local4 = (_local6 + 1);
_local5 = _local7;
};
};
_local7++;
};
_local6++;
};
if (_local4 != -1){
CastUnit(_arg1, _local4, _local5);
_local2 = true;
cardCastedIdx = _local6;
} else {
_local6 = 5;
while (_local6 > 2) {
_local7 = 0;
while (_local7 < 3) {
if (Main.GetInstance().mTiles[_local7][_local6].mUnit == null){
CastUnit(_arg1, _local6, _local7);
_local2 = true;
break;
};
_local7++;
};
if (_local2){
break;
};
_local6--;
};
};
};
return (_local2);
}
public function MoveUnit(_arg1:int, _arg2:int, _arg3:int){
var _local4:Number;
mUnit[_arg1].x = Math.round(((INIT_UNIT_X + (_arg2 * TILE_WIDTH)) + ((TILE_WIDTH - mUnit[_arg1].width) / 2)));
mUnit[_arg1].y = Math.round(((INIT_UNIT_Y + (_arg3 * TILE_HEIGHT)) + ((TILE_HEIGHT - mUnit[_arg1].height) / 2)));
if (mPlayerNum == 0){
_local4 = (mUnit[_arg1].x + mUnit[_arg1].width);
mUnit[_arg1].scaleX = -1;
mUnit[_arg1].x = _local4;
};
mUnit[_arg1].mPixelX = mUnit[_arg1].x;
mUnit[_arg1].mPixelY = mUnit[_arg1].y;
}
public function RemoveCardFromHand(_arg1:Card, _arg2:Boolean=true, _arg3:Boolean=true){
var _local4:int;
_local4 = mHand.indexOf(_arg1);
mHand.splice(_local4, 1);
if (MemoryCrypto.getValue(_arg1.mCardType) == Global.CARD_TYPE_SKILL){
if (_arg2){
mGraveyard.push(_arg1);
UpdateGraveyard();
};
};
if (mPlayerNum == 0){
if (mParent.mSelectedCard == _arg1){
mParent.mSelectedCard = null;
};
ReArrangeHand(_arg3);
};
}
public function Init(){
var _local1:int;
var _local2:int;
if (mPlayerNum == 1){
mBannedAICard = new Array();
};
mEquipEffect = new Array();
mBuff = new Array();
mUnit = new Array();
mDeck = new Array();
mHand = new Array();
mUsedDeck = new Array();
mGraveyard = new Array();
mGraveyard.push(new Card(this, Global.NONE));
UpdateGraveyard();
MemoryCrypto.setValue(mDrawRate, 4);
MemoryCrypto.setValue(mDrawSec, MemoryCrypto.getValue(mDrawRate));
MemoryCrypto.setValue(mHp, 400);
MemoryCrypto.setValue(mEp, 50);
MemoryCrypto.setValue(mEpRate, 4);
MemoryCrypto.setValue(mEpMax, 999);
if (mPlayerNum == 1){
if (Main.GetInstance().mGameMode == Main.GAME_MODE_MELEE){
trace("### INIT DIFFICULTY HANDICAP MELEE ");
if (Main.GetInstance().mDifficulty == 0){
MemoryCrypto.setValue(mDrawRate, 12);
MemoryCrypto.setValue(mEpRate, 2);
} else {
if (Main.GetInstance().mDifficulty == 1){
MemoryCrypto.setValue(mDrawRate, 10);
MemoryCrypto.setValue(mEpRate, 2.5);
} else {
if (Main.GetInstance().mDifficulty == 2){
MemoryCrypto.setValue(mDrawRate, 6);
MemoryCrypto.setValue(mEpRate, 3);
} else {
if (Main.GetInstance().mDifficulty == 3){
MemoryCrypto.setValue(mDrawRate, 4);
MemoryCrypto.setValue(mEpRate, 4);
} else {
if (Main.GetInstance().mDifficulty == 4){
MemoryCrypto.setValue(mDrawRate, 3);
MemoryCrypto.setValue(mEpRate, 4);
};
};
};
};
};
} else {
_local2 = Main.GetInstance().mAdventureLevel;
trace(((("### INIT DIFFICULTY HANDICAP ADVENTURE Diff : " + Main.GetInstance().mDifficulty) + " - lv : ") + _local2));
if (Main.GetInstance().mDifficulty == 0){
MemoryCrypto.incrementValue(mHp, ((_local2 - 5) * 20));
MemoryCrypto.decrementValue(mDrawRate, (_local2 * 0.2));
} else {
if (Main.GetInstance().mDifficulty == 1){
MemoryCrypto.incrementValue(mHp, ((_local2 - 2) * 20));
MemoryCrypto.decrementValue(mDrawRate, ((_local2 - 2) * 0.2));
} else {
if (Main.GetInstance().mDifficulty == 2){
MemoryCrypto.incrementValue(mHp, (_local2 * 20));
MemoryCrypto.decrementValue(mDrawRate, (_local2 * 0.2));
};
};
};
trace(((("HP : " + MemoryCrypto.getValue(mHp)) + " - drawRate : ") + MemoryCrypto.getValue(mDrawRate)));
};
};
InitDeck();
_local1 = 0;
while (_local1 < 6) {
DrawCard();
_local1++;
};
}
private function ProcessOffensiveAICard(_arg1:Card, _arg2:Number=1):Boolean{
var _local3:Boolean;
var _local4:Array;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
_local3 = false;
_local4 = new Array();
_local6 = -1;
_local7 = -1;
_local8 = 0;
while (_local8 < 3) {
_local4.push({data:0, pos:-1});
_local9 = 0;
while (_local9 < 3) {
_local4[_local8].pos = _local8;
if (Main.GetInstance().mTiles[_local8][_local9].mUnit == null){
_local4[_local8].data = (_local4[_local8].data + -500);
} else {
_local5 = MemoryCrypto.getValue(Main.GetInstance().mTiles[_local8][_local9].mUnit.mHp);
_local4[_local8].data = (_local4[_local8].data + _local5);
};
_local9++;
};
_local8++;
};
_local4.sortOn("data", Array.NUMERIC);
_local8 = 0;
while (_local8 < 3) {
_local9 = 3;
while (_local9 < 6) {
if (Main.GetInstance().mTiles[_local4[_local8].pos][_local9].mUnit == null){
if (_arg1.mOwner.mPlayerNum != this.mPlayerNum){
trace(((((("RESURRECT : " + _arg1.mName) + " - x : ") + _local9) + " - y : ") + _local4[_local8].pos));
};
CastUnit(_arg1, _local9, _local4[_local8].pos, _arg2);
_local3 = true;
break;
};
_local9++;
};
if (_local3){
break;
};
_local8++;
};
return (_local3);
}
public function DiscardAndDraw(){
DiscardCard();
DrawCard();
}
private function OnTweenFinish(_arg1:MovieClip){
_arg1.parent.removeChild(_arg1);
Main.GetInstance().mGarbage.splice(Main.GetInstance().mGarbage.indexOf(_arg1), 1);
_arg1 = null;
}
private function ShuffleGraveyardToDeck(){
var _local1:Card;
var _local2:int;
var _local3:int;
trace(("ShuffleGraveyardToDeck Player : " + mPlayerNum));
if (mGraveyard[(mGraveyard.length - 1)].mType != Global.CARD_TYPE_EMPTY){
mGraveyard[(mGraveyard.length - 1)].parent.removeChild(mGraveyard[(mGraveyard.length - 1)]);
};
_local2 = mGraveyard.length;
_local3 = 0;
while (_local3 < _local2) {
_local1 = mGraveyard.pop();
if (_local1.mType != Global.CARD_TYPE_EMPTY){
_local1.scaleX = 1;
_local1.scaleY = 1;
_local1.alpha = 1;
mDeck.push(_local1);
};
_local3++;
};
mGraveyard.push(new Card(this, Global.CARD_TYPE_EMPTY));
Main.GetInstance().stage.addChild(mGraveyard[(mGraveyard.length - 1)]);
UpdateGraveyard();
}
private function ProcessSkillCard(_arg1:Card):Boolean{
var _local2:int;
var _local3:Number;
var _local4:int;
var _local5:Player;
var _local6:Number;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:Number;
var _local11:int;
var _local12:int;
var _local13:int;
var _local14:int;
var _local15:int;
var _local16:int;
var _local17:Array;
var _local18:int;
var _local19:Card;
var _local20:Number;
var _local21:int;
var _local22:int;
var _local23:int;
var _local24:int;
_local2 = MemoryCrypto.getValue(_arg1.mVar1);
_local3 = MemoryCrypto.getValue(_arg1.mValue1);
_local4 = MemoryCrypto.getValue(_arg1.mTarget1);
_local5 = Main.GetInstance().mPlayer[mFoePlayerIdx];
if ((((((_local2 == Global.VAR_UNIT_HP)) && ((_local3 > 0)))) && ((_local4 == Global.TARGET_UNIT)))){
_local6 = 1;
_local8 = 0;
_local9 = 0;
_local10 = 0;
_local11 = -1;
_local12 = 0;
while (_local12 < mUnit.length) {
_local8 = MemoryCrypto.getValue(mUnit[_local12].mHp);
_local9 = MemoryCrypto.getValue(mUnit[_local12].mCardRef.mHp);
_local10 = (_local8 / _local9);
if (_local10 <= _local6){
_local7 = (_local9 - _local8);
_local6 = _local10;
_local11 = _local12;
};
_local12++;
};
if (((((!((_local11 == -1))) && ((((_local6 < 0.5)) || ((_local7 >= _local3)))))) || ((((mBannedAICard.length >= mHand.length)) && (!((_local11 == -1))))))){
mUnit[_local11].AnimSkill(_arg1);
return (true);
};
} else {
if ((((((_local2 == Global.VAR_UNIT_HP)) && ((_local3 > 0)))) && ((_local4 == Global.TARGET_ALL_OWN_UNIT)))){
_local13 = 0;
_local14 = 0;
_local15 = 0;
_local16 = mUnit.length;
_local12 = 0;
while (_local12 < mUnit.length) {
_local13 = MemoryCrypto.getValue(mUnit[_local12].mHp);
_local14 = MemoryCrypto.getValue(mUnit[_local12].mCardRef.mHp);
_local15 = (_local15 + (_local13 / _local14));
_local12++;
};
_local15 = (_local15 / mUnit.length);
if ((((_local15 <= 0.7)) || ((mBannedAICard.length >= mHand.length)))){
trace(("Mass Heal : " + mBannedAICard.length));
_local17 = new Array();
_local17 = mUnit.slice(0, mUnit.length);
_local18 = 0;
while (_local18 < _local17.length) {
_local17[_local18].AnimSkill(_arg1);
_local18++;
};
return (true);
};
} else {
if ((((((_local2 == Global.VAR_CPU_HP)) && ((_local3 > 0)))) && ((_local4 == Global.TARGET_OWN_CPU)))){
_local7 = (Global.PLAYER_MAX_HP - MemoryCrypto.getValue(mHp));
if ((((_local7 >= _local3)) || ((mBannedAICard.length >= mHand.length)))){
ApplySkill(_arg1);
return (true);
};
} else {
if (_local4 == Global.TARGET_OWN_GRAVEYARD){
if (MemoryCrypto.getValue(mGraveyard[(mGraveyard.length - 1)].mCardType) == Global.CARD_TYPE_UNIT){
_local19 = mGraveyard.pop();
_local20 = MemoryCrypto.getValue(_arg1.mValue1);
if (ProcessOffensiveAICard(_local19, _local20)){
UpdateGraveyard();
CastSkillOnThisPlayer(_arg1, true);
_local19.parent.removeChild(_local19);
_local19.scaleX = 1;
_local19.scaleY = 1;
_local19.alpha = 1;
} else {
mGraveyard.push(_local19);
};
return (true);
};
} else {
if ((((((_local2 == Global.VAR_UNIT_MAX_HP)) && ((_local3 > 0)))) && ((_local4 == Global.TARGET_ALL_OWN_UNIT)))){
_local17 = new Array();
_local17 = mUnit.slice(0, mUnit.length);
_local18 = 0;
while (_local18 < _local17.length) {
_local17[_local18].AnimSkill(_arg1);
_local18++;
};
if (_local17.length > 0){
return (true);
};
return (false);
} else {
if ((((((_local2 == Global.VAR_ENERGY_RATE)) && ((_local3 > 0)))) && ((_local4 == Global.TARGET_OWN_PLAYER)))){
if ((((MemoryCrypto.getValue(mEp) <= 50)) || ((mBannedAICard.length >= mHand.length)))){
ApplySkill(_arg1);
return (true);
};
} else {
if ((((_local2 == Global.VAR_DESTROY)) && ((_local4 == Global.TARGET_EQUIPMENT)))){
if (Main.GetInstance().mPlayer[mFoePlayerIdx].mEquipment){
Main.GetInstance().mPlayer[mFoePlayerIdx].mEquipment.AnimSkill(_arg1);
return (true);
};
} else {
if ((((_local4 == Global.TARGET_UNIT)) && ((((_local2 == Global.VAR_DESTROY)) || ((((_local2 == Global.VAR_UNIT_HP)) && ((_local3 <= 0)))))))){
_local21 = -99;
_local22 = -99;
_local23 = -1;
_local12 = 0;
while (_local12 < _local5.mUnit.length) {
_local22 = _local5.mUnit[_local12].mCardRef.mLevel;
if (_local22 > _local21){
_local21 = _local22;
_local23 = _local12;
};
_local12++;
};
if (((((!((_local23 == -1))) && ((_local21 >= 5)))) || ((((mBannedAICard.length >= mHand.length)) && (!((_local23 == -1))))))){
_local5.mUnit[_local23].AnimSkill(_arg1);
return (true);
};
} else {
if ((((_local4 == Global.TARGET_ALL_FOE_UNIT)) && ((_local2 == Global.VAR_UNIT_HP)))){
_local17 = new Array();
_local17 = _local5.mUnit.slice(0, _local5.mUnit.length);
_local18 = 0;
while (_local18 < _local17.length) {
_local17[_local18].AnimSkill(_arg1);
_local18++;
};
if (_local17.length > 0){
return (true);
};
return (false);
} else {
if ((((_local4 == Global.TARGET_ALL_UNIT)) && ((_local2 == Global.VAR_UNIT_HP)))){
_local24 = 0;
_local17 = new Array();
_local17 = _local5.mUnit.slice(0, _local5.mUnit.length);
_local18 = 0;
while (_local18 < _local17.length) {
_local17[_local18].AnimSkill(_arg1);
_local18++;
};
_local24 = (_local24 + _local17.length);
if (_local24 > 0){
_local17 = new Array();
_local17 = mUnit.slice(0, mUnit.length);
_local18 = 0;
while (_local18 < _local17.length) {
_local17[_local18].AnimSkill(_arg1);
_local18++;
};
return (true);
} else {
return (false);
};
} else {
if (_local4 == Global.TARGET_FOE_GRAVEYARD){
if (MemoryCrypto.getValue(_local5.mGraveyard[(_local5.mGraveyard.length - 1)].mCardType) == Global.CARD_TYPE_UNIT){
_local19 = _local5.mGraveyard.pop();
_local20 = MemoryCrypto.getValue(_arg1.mValue1);
if (ProcessOffensiveAICard(_local19, _local20)){
_local5.UpdateGraveyard();
_local5.CastSkillOnThisPlayer(_arg1, true);
_local19.parent.removeChild(_local19);
_local19.scaleX = 1;
_local19.scaleY = 1;
_local19.alpha = 1;
_local19.mOwner = this;
} else {
trace("FALSE RESURRECT");
_local5.mGraveyard.push(_local19);
return (false);
};
trace(("graveyard length after : " + _local5.mGraveyard.length));
return (true);
};
} else {
if ((((((_local2 == Global.VAR_CPU_HP)) && ((_local3 < 0)))) && ((_local4 == Global.TARGET_FOE_CPU)))){
ApplySkill(_arg1);
return (true);
};
if ((((((_local2 == Global.VAR_UNIT_DAMAGE_MULTIPLIER)) && ((_local3 > 0)))) && ((_local4 == Global.TARGET_UNIT)))){
_local7 = 1;
_local9 = -99;
_local11 = -1;
_local12 = 0;
while (_local12 < mUnit.length) {
_local7 = mUnit[_local12].mCardRef.mLevel;
if (_local7 >= _local9){
_local9 = _local7;
_local11 = _local12;
};
_local12++;
};
if (((!((_local11 == -1))) || ((((mBannedAICard.length >= mHand.length)) && (!((_local11 == -1))))))){
mUnit[_local11].AnimSkill(_arg1);
return (true);
};
} else {
if ((((((((_arg1.mType == Global.INJECT_VIRUS_1)) || ((_arg1.mType == Global.INJECT_VIRUS_2)))) || ((_arg1.mType == Global.INJECT_WORM_1)))) || ((_arg1.mType == Global.INJECT_WORM_2)))){
_local7 = 1;
_local9 = -99;
_local11 = -1;
_local12 = 0;
while (_local12 < _local5.mUnit.length) {
_local7 = MemoryCrypto.getValue(_local5.mUnit[_local12].mDamage);
if ((((_local7 >= _local9)) && ((_local5.mUnit[_local12].mCardRef.mOwner.mPlayerNum == 0)))){
_local9 = _local7;
_local11 = _local12;
};
_local12++;
};
if (((!((_local11 == -1))) || ((((mBannedAICard.length >= mHand.length)) && (!((_local11 == -1))))))){
_local5.mUnit[_local11].AnimSkill(_arg1);
return (true);
};
};
};
};
};
};
};
};
};
};
};
};
};
};
return (false);
}
private function RemoveEquipmentEffect(_arg1:EventType){
var _local2:int;
var _local3:Equipment;
_local2 = _arg1.arg[0];
_local3 = Main.GetInstance().mPlayer[_local2].mEquipment;
if (_local3){
if ((((_local3.mCardRef.mType == Global.BATTERY)) && ((this.mPlayerNum == _local2)))){
MemoryCrypto.decrementValue(this.mEpRate, 1);
mEquipEffect[_local2] = false;
} else {
if ((((_local3.mCardRef.mType == Global.SOLAR_PANEL)) && ((this.mPlayerNum == _local2)))){
MemoryCrypto.decrementValue(this.mEpRate, 3);
MemoryCrypto.setValue(this.mEpMax, 999);
mEquipEffect[_local2] = false;
} else {
if ((((_local3.mCardRef.mType == Global.MASTER_SERVER)) && ((this.mPlayerNum == _local2)))){
MemoryCrypto.multiplyValue(this.mDrawRate, 2);
MemoryCrypto.setValue(this.mDrawSec, MemoryCrypto.getValue(mDrawRate));
mEquipEffect[_local2] = false;
};
};
};
};
}
public function CastUnit(_arg1:Card, _arg2:int, _arg3:int, _arg4:Number=1, _arg5:Boolean=true){
if (_arg5){
MemoryCrypto.decrementValue(mEp, MemoryCrypto.getValue(_arg1.mCost));
};
AddUnit(_arg1, _arg2, _arg3, _arg4);
if (_arg1.mType == Global.TIDAL_CANNON_1){
ForceDrawCard(1);
} else {
if (_arg1.mType == Global.TIDAL_CANNON_2){
ForceDrawCard(2);
} else {
if (_arg1.mType == Global.TIDAL_CANNON_3){
ForceDrawCard(3);
};
};
};
}
private function ApplyEquipmentEffect(_arg1:Event){
var _local2:Equipment;
var _local3:int;
_local3 = 0;
while (_local3 < 2) {
if (!mEquipEffect[_local3]){
_local2 = Main.GetInstance().mPlayer[_local3].mEquipment;
if (_local2){
if ((((_local2.mCardRef.mType == Global.BATTERY)) && ((this.mPlayerNum == _local3)))){
MemoryCrypto.incrementValue(this.mEpRate, 2);
mEquipEffect[_local3] = true;
} else {
if ((((_local2.mCardRef.mType == Global.SOLAR_PANEL)) && ((this.mPlayerNum == _local3)))){
MemoryCrypto.incrementValue(this.mEpRate, 4);
MemoryCrypto.setValue(this.mEpMax, 70);
if (MemoryCrypto.getValue(mEp) > 70){
MemoryCrypto.setValue(mEp, 70);
};
mEquipEffect[_local3] = true;
} else {
if ((((_local2.mCardRef.mType == Global.MASTER_SERVER)) && ((this.mPlayerNum == _local3)))){
MemoryCrypto.multiplyValue(this.mDrawRate, 0.5);
MemoryCrypto.setValue(this.mDrawSec, MemoryCrypto.getValue(mDrawRate));
mEquipEffect[_local3] = true;
};
};
};
};
};
_local3++;
};
}
public function ApplySkill(_arg1:Card){
var _local2:Buff;
if (MemoryCrypto.getValue(_arg1.mBuffRateMax) == 0){
ApplySkill2(_arg1);
} else {
_local2 = new Buff(_arg1, this);
_local2.addDispatcher();
mBuff.push(_local2);
};
}
public function AddUnit(_arg1:Card, _arg2:int, _arg3:int, _arg4:Number=1){
var _local5:Unit;
var _local6:int;
_local5 = new Unit(_arg1, _arg2, _arg3);
_local6 = (MemoryCrypto.getValue(_local5.mHp) * (1 - _arg4));
_local5.IncreaseHp(-(_local6));
mUnit.push(_local5);
MoveUnit((mUnit.length - 1), _arg2, _arg3);
mParent.stage.addChild(_local5);
mParent.mTiles[_arg3][_arg2].mUnit = _local5;
_local5.addDispatcher();
if (!(((((_local5.mCardRef.mType == Global.FROZE_CANNON_1)) || ((_local5.mCardRef.mType == Global.FROZE_CANNON_2)))) || ((_local5.mCardRef.mType == Global.FROZE_CANNON_3)))){
_local5.ApplySkill(_local5.mCardRef);
};
_local5.ApplyAllBuff();
Main.GetInstance().dispatchEvent(new Event("applyEquipmentEffect"));
}
private function ProcessEquipmentCard(_arg1:Card):Boolean{
var _local2:int;
_local2 = _arg1.mType;
if (!mEquipment){
mEquipment = new Equipment(_arg1);
Main.GetInstance().dispatchEvent(new Event("applyEquipmentEffect"));
return (true);
};
return (false);
}
public function CastSkillOnThisPlayer(_arg1:Card, _arg2:Boolean=false){
var _local3:SkillImg;
var _local4:MovieClip;
var _local5:int;
var _local6:int;
mCastedCard = _arg1;
_local3 = new SkillImg();
_local4 = new MovieClip();
_local4 = _local3.getChildByName(_arg1.mIconName);
_local4.width = 52;
_local4.height = 75;
_local4.x = 0;
_local4.y = 0;
Main.GetInstance().stage.addChildAt(_local4, (Main.GetInstance().stage.numChildren - 1));
if (mPlayerNum == 0){
if (_arg2){
_local5 = 40;
_local6 = 400;
} else {
_local5 = 90;
_local6 = 343;
};
} else {
if (_arg2){
_local5 = 545;
_local6 = 400;
} else {
_local5 = 562;
_local6 = 343;
};
};
_local4.x = _local5;
_local4.y = (_local6 - 50);
TweenLite.to(_local4, 1, {x:_local5, y:_local6, onComplete:OnTweenFinish, overwrite:false, ease:Elastic.easeOut, onCompleteParams:[_local4]});
Main.GetInstance().mGarbage.push(_local4);
}
public function PrintDebug(_arg1:String){
trace(((((((((((((((_arg1 + " length: ") + mGraveyard[(mGraveyard.length - 1)].mName) + " - x : ") + mGraveyard[(mGraveyard.length - 1)].x) + " - y : ") + mGraveyard[(mGraveyard.length - 1)].y) + " - alpha : ") + mGraveyard[(mGraveyard.length - 1)].alpha) + " - scaleX : ") + mGraveyard[(mGraveyard.length - 1)].scaleX) + " - scale Y : ") + mGraveyard[(mGraveyard.length - 1)].scaleY) + " - parent : ") + mGraveyard[(mGraveyard.length - 1)].parent));
}
public function UpdateGraveyard(){
if ((((mGraveyard.length > 1)) && (mGraveyard[(mGraveyard.length - 2)].parent))){
mGraveyard[(mGraveyard.length - 2)].parent.removeChild(mGraveyard[(mGraveyard.length - 2)]);
};
if (mPlayerNum == 0){
mGraveyard[(mGraveyard.length - 1)].x = 19;
} else {
mGraveyard[(mGraveyard.length - 1)].x = 540;
};
mGraveyard[(mGraveyard.length - 1)].scaleX = 0.7;
mGraveyard[(mGraveyard.length - 1)].scaleY = 0.7;
mGraveyard[(mGraveyard.length - 1)].alpha = 0.7;
mGraveyard[(mGraveyard.length - 1)].y = 393;
Main.GetInstance().addChild(mGraveyard[(mGraveyard.length - 1)]);
}
public function ReArrangeHand(_arg1:Boolean=true){
var _local2:int;
var _local3:int;
_local3 = 0;
while (_local3 < mHand.length) {
_local2 = (INIT_HAND_X + (_local3 * mHand[_local3].width));
mHand[_local3].y = INIT_HAND_Y;
if (mHand[_local3].x != _local2){
if (_arg1){
TweenLite.killTweensOf(mHand[_local3], true);
TweenLite.to(mHand[_local3], 0.8, {x:_local2, ease:Bounce.easeOut});
} else {
mHand[_local3].x = _local2;
};
};
_local3++;
};
}
public function DeleteUnit(_arg1:int){
trace(delete mUnit[_arg1]);
}
public function InitDeck(){
var _local1:int;
var _local2:int;
var _local3:Card;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:Array;
if (mPlayerNum == 1){
if (Main.GetInstance().mTutorialState >= 0){
_local2 = 0;
while (_local2 < Global.TutDeck1.length) {
_local3 = new Card(this, Global.TutDeck1[_local2]);
mDeck.push(_local3);
mUsedDeck.push(_local3.mType);
_local2++;
};
return;
};
_local1 = Main.GetInstance().mChoosenFoeDeckIdx;
if (_local1 >= 20){
if (_local1 == 777){
if (Main.GetInstance().mGameMode == Main.GAME_MODE_ADVENTURE){
_local8 = Main.GetInstance().mDifficulty;
_local9 = Main.GetInstance().mAdventureLevel;
if ((((((_local8 < 2)) && ((_local9 < 10)))) || ((((_local8 == 2)) && ((_local9 < 8)))))){
_local6 = 0;
_local5 = (Global.FoeDeck.length - 3);
} else {
_local6 = ((Global.FoeDeck.length - 1) - _local8);
_local5 = (_local6 + 1);
};
} else {
_local5 = Global.FoeDeck.length;
_local6 = 0;
};
_local7 = PM_PRNG.nextIntRange(_local6, (_local5 - 1));
} else {
_local7 = (_local1 - 20);
};
_local4 = Global.FoeDeck[_local7].length;
_local2 = 0;
while (_local2 < _local4) {
_local3 = new Card(this, Global.FoeDeck[_local7][_local2]);
mDeck.push(_local3);
_local2++;
};
} else {
_local10 = new Array();
if (_local1 == 1){
_local10 = mSO.data.deck1;
} else {
if (_local1 == 2){
_local10 = mSO.data.deck2;
} else {
if (_local1 == 3){
_local10 = mSO.data.deck3;
};
};
};
_local2 = 0;
while (_local2 < _local10.length) {
_local3 = new Card(this, _local10[_local2]);
mDeck.push(_local3);
_local2++;
};
};
} else {
if (Main.GetInstance().mTutorialState >= 0){
_local2 = 0;
while (_local2 < Global.TutDeck1.length) {
_local3 = new Card(this, Global.TutDeck1[_local2]);
mDeck.push(_local3);
mUsedDeck.push(_local3.mType);
_local2++;
};
return;
};
_local1 = Main.GetInstance().mChoosenDeckIdx;
if (_local1 <= 3){
_local10 = new Array();
if (_local1 == 1){
_local10 = mSO.data.deck1;
} else {
if (_local1 == 2){
_local10 = mSO.data.deck2;
} else {
if (_local1 == 3){
_local10 = mSO.data.deck3;
};
};
};
_local2 = 0;
while (_local2 < _local10.length) {
_local3 = new Card(this, _local10[_local2]);
mDeck.push(_local3);
mUsedDeck.push(_local3.mType);
_local2++;
};
} else {
if (_local1 == 999){
trace("load adventure deck");
_local4 = mSO.data.AdventureDeck.length;
_local2 = 0;
while (_local2 < _local4) {
_local3 = new Card(this, mSO.data.AdventureDeck[_local2]);
mDeck.push(_local3);
mUsedDeck.push(_local3.mType);
_local2++;
};
} else {
_local1 = (_local1 - 4);
_local4 = Math.round(Global.FoeDeck[_local1].length);
_local2 = 0;
while (_local2 < _local4) {
_local3 = new Card(this, Global.FoeDeck[_local1][_local2]);
mDeck.push(_local3);
mUsedDeck.push(_local3.mType);
_local2++;
};
};
};
};
}
}
}//package
Section 106
//QuitConfirm (QuitConfirm)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.ui.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
public dynamic class QuitConfirm extends MovieClip {
public var sOkBtn:SimpleButton;
public var sCancelBtn:SimpleButton;
public function QuitConfirm(){
addFrameScript(0, frame1);
}
function frame1(){
sCancelBtn.addEventListener(MouseEvent.MOUSE_UP, Cancel, false, 0, true);
sOkBtn.addEventListener(MouseEvent.MOUSE_UP, Quit, false, 0, true);
}
public function Quit(_arg1:MouseEvent){
Main.GetInstance().QuitMatch(false);
this.parent.removeChild(this);
}
public function Cancel(_arg1:MouseEvent){
Main.GetInstance().ResumeGame();
this.parent.removeChild(this);
}
}
}//package
Section 107
//SaveDeck (SaveDeck)
package {
import flash.display.*;
import flash.text.*;
public dynamic class SaveDeck extends MovieClip {
public var sCancelBtn:SimpleButton;
public var sDeckName_TXT:TextField;
public var sSaveBtn:SimpleButton;
}
}//package
Section 108
//ScrollArrowDown_disabledSkin (ScrollArrowDown_disabledSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_disabledSkin extends MovieClip {
}
}//package
Section 109
//ScrollArrowDown_downSkin (ScrollArrowDown_downSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_downSkin extends MovieClip {
}
}//package
Section 110
//ScrollArrowDown_overSkin (ScrollArrowDown_overSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_overSkin extends MovieClip {
}
}//package
Section 111
//ScrollArrowDown_upSkin (ScrollArrowDown_upSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_upSkin extends MovieClip {
}
}//package
Section 112
//ScrollArrowUp_disabledSkin (ScrollArrowUp_disabledSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_disabledSkin extends MovieClip {
}
}//package
Section 113
//ScrollArrowUp_downSkin (ScrollArrowUp_downSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_downSkin extends MovieClip {
}
}//package
Section 114
//ScrollArrowUp_overSkin (ScrollArrowUp_overSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_overSkin extends MovieClip {
}
}//package
Section 115
//ScrollArrowUp_upSkin (ScrollArrowUp_upSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_upSkin extends MovieClip {
}
}//package
Section 116
//ScrollBar_thumbIcon (ScrollBar_thumbIcon)
package {
import flash.display.*;
public dynamic class ScrollBar_thumbIcon extends MovieClip {
}
}//package
Section 117
//ScrollPane_disabledSkin (ScrollPane_disabledSkin)
package {
import flash.display.*;
public dynamic class ScrollPane_disabledSkin extends MovieClip {
}
}//package
Section 118
//ScrollPane_upSkin (ScrollPane_upSkin)
package {
import flash.display.*;
public dynamic class ScrollPane_upSkin extends MovieClip {
}
}//package
Section 119
//ScrollPane_upSkin2 (ScrollPane_upSkin2)
package {
import flash.display.*;
public dynamic class ScrollPane_upSkin2 extends MovieClip {
}
}//package
Section 120
//ScrollThumb_downSkin (ScrollThumb_downSkin)
package {
import flash.display.*;
public dynamic class ScrollThumb_downSkin extends MovieClip {
}
}//package
Section 121
//ScrollThumb_overSkin (ScrollThumb_overSkin)
package {
import flash.display.*;
public dynamic class ScrollThumb_overSkin extends MovieClip {
}
}//package
Section 122
//ScrollThumb_upSkin (ScrollThumb_upSkin)
package {
import flash.display.*;
public dynamic class ScrollThumb_upSkin extends MovieClip {
}
}//package
Section 123
//ScrollTrack_skin (ScrollTrack_skin)
package {
import flash.display.*;
public dynamic class ScrollTrack_skin extends MovieClip {
}
}//package
Section 124
//SFX1 (SFX1)
package {
import flash.media.*;
public dynamic class SFX1 extends Sound {
}
}//package
Section 125
//SFX2 (SFX2)
package {
import flash.media.*;
public dynamic class SFX2 extends Sound {
}
}//package
Section 126
//SFX3 (SFX3)
package {
import flash.media.*;
public dynamic class SFX3 extends Sound {
}
}//package
Section 127
//SFX4 (SFX4)
package {
import flash.media.*;
public dynamic class SFX4 extends Sound {
}
}//package
Section 128
//SFX5 (SFX5)
package {
import flash.media.*;
public dynamic class SFX5 extends Sound {
}
}//package
Section 129
//SFX6 (SFX6)
package {
import flash.media.*;
public dynamic class SFX6 extends Sound {
}
}//package
Section 130
//Shield1 (Shield1)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.ui.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
public dynamic class Shield1 extends MovieClip {
public function Shield1(){
addFrameScript(0, frame1, 9, frame10);
}
function frame10(){
gotoAndStop(1);
}
function frame1(){
stop();
}
}
}//package
Section 131
//SkillImg (SkillImg)
package {
import flash.display.*;
public dynamic class SkillImg extends MovieClip {
public var Earthquake1:MovieClip;
public var skill1:MovieClip;
public var ResurrectUnit1:MovieClip;
public var SmashnBurn1:MovieClip;
public var ResurrectUnit2:MovieClip;
public var MassIncreaseHP2:MovieClip;
public var Recharge3:MovieClip;
public var InjectWorm2:MovieClip;
public var Recharge2:MovieClip;
public var MassIncreaseHP1:MovieClip;
public var Recharge1:MovieClip;
public var Fireball1:MovieClip;
public var Fireball2:MovieClip;
public var RepairUnit1:MovieClip;
public var LightningBall2:MovieClip;
public var LightningBall1:MovieClip;
public var CardAttack1:MovieClip;
public var InjectWorm1:MovieClip;
public var FalseJunk1:MovieClip;
public var CardAttack2:MovieClip;
public var FalseSalvage1:MovieClip;
public var FalseSalvage2:MovieClip;
public var Fireball3:MovieClip;
public var RepairUnit2:MovieClip;
public var PowerUp2:MovieClip;
public var MassRepairUnits2:MovieClip;
public var RepairCPU1:MovieClip;
public var RepairCPU2:MovieClip;
public var MassRepairUnits1:MovieClip;
public var PowerUp1:MovieClip;
public var Earthquake2:MovieClip;
public var InjectVirus2:MovieClip;
public var IncreaseEnergyRate1:MovieClip;
public var InjectVirus1:MovieClip;
}
}//package
Section 132
//TextInput_disabledSkin (TextInput_disabledSkin)
package {
import flash.display.*;
public dynamic class TextInput_disabledSkin extends MovieClip {
}
}//package
Section 133
//TextInput_upSkin (TextInput_upSkin)
package {
import flash.display.*;
public dynamic class TextInput_upSkin extends MovieClip {
}
}//package
Section 134
//Tile (Tile)
package {
import flash.display.*;
import flash.events.*;
import gs.*;
import fl.motion.*;
import com.electrotank.util.*;
public class Tile extends MovieClip {
public var y_idx:int;
public var x_idx:int;
public var mOwner:Player;
public var mUnit:Unit;
private var mCastedCard:Card;
private var mCastUnitCost:Boolean;
public function Tile(_arg1:int=0, _arg2:int=0, _arg3:Player=null){
mCastedCard = new Card();
super();
addFrameScript(0, frame1);
if (_arg3 == null){
return;
};
mOwner = _arg3;
x_idx = _arg1;
y_idx = _arg2;
addEventListener(MouseEvent.MOUSE_OVER, OnMouseOver, false, 10, true);
addEventListener(MouseEvent.MOUSE_MOVE, OnMouseMove, false, 10, true);
addEventListener(MouseEvent.MOUSE_OUT, OnMouseOut, false, 0, true);
addEventListener(MouseEvent.MOUSE_UP, OnMouseUp, false, 0, true);
if (mUnit){
if (mUnit.parent){
mUnit.parent.removeChild(mUnit);
};
};
mUnit = null;
if (_arg3.mPlayerNum == 1){
gotoAndStop(2);
};
}
private function OnMouseUp(_arg1:MouseEvent){
var _local2:Number;
mCastUnitCost = true;
if ((((((((Main.GetInstance().mGameState == Main.GAME_STATE_CHOOSE_UNIT_CAST_TILE)) && ((mUnit == null)))) && ((mOwner.mPlayerNum == 0)))) && ((Main.GetInstance().mSelectedTile == this)))){
if (Main.GetInstance().mTutorialState == 1){
Main.GetInstance().ChangeTutorialState(2);
};
_local2 = 1;
if (MemoryCrypto.getValue(Main.GetInstance().mSelectedCard.mTarget1) == Global.TARGET_OWN_GRAVEYARD){
mCastedCard = mOwner.mGraveyard.pop();
mOwner.UpdateGraveyard();
_local2 = MemoryCrypto.getValue(Main.GetInstance().mSelectedCard.mValue1);
mOwner.CastSkillOnThisPlayer(Main.GetInstance().mSelectedCard);
MemoryCrypto.decrementValue(Main.GetInstance().mSelectedCard.mOwner.mEp, MemoryCrypto.getValue(Main.GetInstance().mSelectedCard.mCost));
mCastUnitCost = false;
} else {
if (MemoryCrypto.getValue(Main.GetInstance().mSelectedCard.mTarget1) == Global.TARGET_FOE_GRAVEYARD){
mCastedCard = Main.GetInstance().mPlayer[mOwner.mFoePlayerIdx].mGraveyard.pop();
Main.GetInstance().mPlayer[mOwner.mFoePlayerIdx].UpdateGraveyard();
_local2 = MemoryCrypto.getValue(Main.GetInstance().mSelectedCard.mValue1);
mCastedCard.mOwner = mOwner;
Main.GetInstance().mPlayer[mOwner.mFoePlayerIdx].CastSkillOnThisPlayer(Main.GetInstance().mSelectedCard);
MemoryCrypto.decrementValue(Main.GetInstance().mSelectedCard.mOwner.mEp, MemoryCrypto.getValue(Main.GetInstance().mSelectedCard.mCost));
mCastUnitCost = false;
} else {
mCastedCard = Main.GetInstance().mSelectedCard;
};
};
mCastedCard.parent.setChildIndex(mCastedCard, (mCastedCard.parent.numChildren - 1));
TweenLite.to(mCastedCard, 0.3, {rotation:360});
TweenLite.to(mCastedCard, 0.5, {x:(this.x + (this.width / 2)), y:(this.y + (this.height / 2)), scaleX:0, scaleY:0, alpha:0.5, onComplete:OnTweenFinish, overwrite:false, onCompleteParams:[_local2]});
Main.GetInstance().HideCrossHair();
Main.GetInstance().DeleteMessage();
if (Main.GetInstance().mSelectedTile){
Main.GetInstance().mSelectedTile.OnMouseOut();
};
Main.GetInstance().mGameState = Main.GAME_STATE_NONE;
Main.GetInstance().mSelectedCard.OnMouseOut();
Main.GetInstance().mSelectedCard.mOwner.RemoveCardFromHand(Main.GetInstance().mSelectedCard);
};
}
private function OnTweenFinish(_arg1:Number):void{
if (mCastedCard.mOwner.mPlayerNum == 0){
mCastedCard.parent.removeChild(mCastedCard);
mCastedCard.scaleX = 1;
mCastedCard.scaleY = 1;
mCastedCard.alpha = 1;
};
mCastedCard.mOwner.CastUnit(mCastedCard, x_idx, y_idx, _arg1, mCastUnitCost);
}
function frame1(){
stop();
}
public function OnMouseOut(_arg1:MouseEvent=null){
var _local2:Color;
Main.GetInstance().mSelectedTile = null;
if (Main.GetInstance().mGameState == Main.GAME_STATE_CHOOSE_UNIT_CAST_TILE){
_local2 = new Color();
_local2.setTint(0, 0);
this.blendMode = BlendMode.NORMAL;
this.transform.colorTransform = _local2;
};
}
private function OnMouseMove(_arg1:MouseEvent):void{
}
private function OnMouseOver(_arg1:MouseEvent=null){
var _local2:int;
var _local3:Color;
if ((((((Main.GetInstance().mGameState == Main.GAME_STATE_CHOOSE_UNIT_CAST_TILE)) && ((mUnit == null)))) && ((mOwner.mPlayerNum == 0)))){
if (MemoryCrypto.getValue(Main.GetInstance().mSelectedCard.mTarget1) == Global.TARGET_OWN_GRAVEYARD){
_local2 = MemoryCrypto.getValue(mOwner.mGraveyard[(mOwner.mGraveyard.length - 1)].mAttackType);
} else {
if (MemoryCrypto.getValue(Main.GetInstance().mSelectedCard.mTarget1) == Global.TARGET_FOE_GRAVEYARD){
_local2 = MemoryCrypto.getValue(Main.GetInstance().mPlayer[mOwner.mFoePlayerIdx].mGraveyard[(Main.GetInstance().mPlayer[mOwner.mFoePlayerIdx].mGraveyard.length - 1)].mAttackType);
} else {
_local2 = MemoryCrypto.getValue(Main.GetInstance().mSelectedCard.mAttackType);
};
};
Main.GetInstance().mSelectedTile = this;
_local3 = new Color();
_local3.setTint(0xFF0000, 0.1);
this.blendMode = BlendMode.LIGHTEN;
this.transform.colorTransform = _local3;
};
}
}
}//package
Section 135
//TutorialWindow (TutorialWindow)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.ui.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
public dynamic class TutorialWindow extends MovieClip {
public var bt14:SimpleButton;
public var bt12:SimpleButton;
public var bt22:SimpleButton;
public var bt23:SimpleButton;
public var bt24:SimpleButton;
public var bt25:SimpleButton;
public var sEp_TXT:TextField;
public var bt21:SimpleButton;
public var bt13:SimpleButton;
public var bt1:SimpleButton;
public var bt16:SimpleButton;
public var btQuit:SimpleButton;
public var bt11:SimpleButton;
public var bt15:SimpleButton;
public function TutorialWindow(){
addFrameScript(0, frame1, 9, frame10, 16, frame17, 22, frame23, 28, frame29, 34, frame35, 40, frame41);
}
public function goto5(_arg1:MouseEvent){
gotoAndStop("tut5");
}
public function goto6(_arg1:MouseEvent){
gotoAndStop("tut6");
}
public function goto2(_arg1:MouseEvent){
gotoAndStop("tut2");
}
public function goto4(_arg1:MouseEvent){
gotoAndStop("tut4");
}
public function goto7(_arg1:MouseEvent){
gotoAndStop("tut7");
}
public function goto3(_arg1:MouseEvent){
gotoAndStop("tut3");
}
function frame10(){
bt11.addEventListener(MouseEvent.MOUSE_UP, goto1, false, 0, true);
bt21.addEventListener(MouseEvent.MOUSE_UP, goto3, false, 0, true);
btQuit.addEventListener(MouseEvent.MOUSE_UP, quit, false, 0, true);
}
public function goto1(_arg1:MouseEvent){
gotoAndStop("tut1");
}
function frame1(){
stop();
bt1.addEventListener(MouseEvent.MOUSE_UP, goto2);
btQuit.addEventListener(MouseEvent.MOUSE_UP, quit);
}
public function quit(_arg1:MouseEvent){
Main.GetInstance().gotoAndStop("mainMenu");
parent.removeChild(this);
}
function frame17(){
bt12.addEventListener(MouseEvent.MOUSE_UP, goto2, false, 0, true);
bt22.addEventListener(MouseEvent.MOUSE_UP, goto4, false, 0, true);
btQuit.addEventListener(MouseEvent.MOUSE_UP, quit, false, 0, true);
}
function frame29(){
bt14.addEventListener(MouseEvent.MOUSE_UP, goto4, false, 0, true);
bt24.addEventListener(MouseEvent.MOUSE_UP, goto6, false, 0, true);
btQuit.addEventListener(MouseEvent.MOUSE_UP, quit, false, 0, true);
}
function frame23(){
bt13.addEventListener(MouseEvent.MOUSE_UP, goto3, false, 0, true);
bt23.addEventListener(MouseEvent.MOUSE_UP, goto5, false, 0, true);
btQuit.addEventListener(MouseEvent.MOUSE_UP, quit, false, 0, true);
}
function frame35(){
bt15.addEventListener(MouseEvent.MOUSE_UP, goto5, false, 0, true);
bt25.addEventListener(MouseEvent.MOUSE_UP, goto7, false, 0, true);
btQuit.addEventListener(MouseEvent.MOUSE_UP, quit, false, 0, true);
}
function frame41(){
bt16.addEventListener(MouseEvent.MOUSE_UP, goto6, false, 0, true);
btQuit.addEventListener(MouseEvent.MOUSE_UP, quit, false, 0, true);
}
}
}//package
Section 136
//Unit (Unit)
package {
import flash.display.*;
import flash.events.*;
import gs.*;
import com.electrotank.util.*;
import flash.media.*;
import fl.motion.easing.*;
public class Unit extends MovieClip {
private var mSfx:Sound;
private var mTweenMax2:TweenMax;
private var mAttackCounter:String;
public var mCardRef:Card;
private var mEquipEffect:Array;
public var mDamage:String;
private var mHpBarLayout:HPBarLayout;
public var mPixelX:Number;
public var mHp:String;
private var mAttackRate:String;
private var mBuff:Array;
public var mX:int;
public var mPixelY:Number;
private var mTweenMax:TweenMax;
private var mCastedCard:Card;
private var mUnitRef:MovieClip;
private var mHpBar:HPBar;
public var mY:int;
public var mBullet:Array;
public var mNum:int;
static var MAX_ATTACK_COUNTER = 10;
static var mId:int = 0;
public function Unit(_arg1:Card, _arg2:int, _arg3:int){
var _local4:UnitImg;
mHp = ("mHpUnit" + mId);
mDamage = ("mDamageUnit" + mId);
mAttackRate = ("mAttackRateUnit" + mId);
mAttackCounter = ("mAttackCounterUnit" + mId);
mCastedCard = new Card();
super();
mBuff = new Array();
mBuffFlag = new Array();
mId++;
mNum = mId;
mX = _arg2;
mY = _arg3;
mCardRef = _arg1;
mEquipEffect = new Array(2);
mEquipEffect[0] = false;
mEquipEffect[1] = false;
MemoryCrypto.setValue(mAttackCounter, 0);
_local4 = new UnitImg();
mUnitRef = _local4.getChildByName(mCardRef.mIconName);
addChild(mUnitRef);
if (MemoryCrypto.getValue(mCardRef.mAttackType) == Global.UNIT_MELEE){
mUnitRef.stop();
};
mUnitRef.x = ((Player.TILE_WIDTH - mUnitRef.width) / 2);
mUnitRef.y = ((Player.TILE_HEIGHT - mUnitRef.height) / 2);
MemoryCrypto.setValue(mHp, MemoryCrypto.getValue(mCardRef.mHp));
MemoryCrypto.setValue(mDamage, MemoryCrypto.getValue(mCardRef.mDamage));
MemoryCrypto.setValue(mAttackRate, MemoryCrypto.getValue(mCardRef.mAttackRate));
mHpBar = new HPBar();
mHpBarLayout = new HPBarLayout();
addChild(mHpBarLayout);
addChild(mHpBar);
mHpBar.mouseEnabled = false;
mHpBarLayout.mouseEnabled = false;
mUnitRef.mouseEnabled = false;
mHpBar.y = (this.height + 2);
mHpBar.x = 0;
mHpBarLayout.y = mHpBar.y;
mHpBarLayout.x = mHpBar.x;
mBullet = new Array();
this.addEventListener(MouseEvent.MOUSE_OVER, OnMouseOver, false, 0, true);
this.addEventListener(MouseEvent.MOUSE_OUT, OnMouseOut, false, 0, true);
this.addEventListener(MouseEvent.MOUSE_UP, OnMouseUp, false, 0, true);
}
public function RemoveChildrens(){
var _local1:int;
_local1 = 0;
while (_local1 < mBullet.length) {
TweenLite.killTweensOf(mBullet[_local1]);
if (mBullet[_local1].parent){
mBullet[_local1].parent.removeChild(mBullet[_local1]);
};
mBullet[_local1].removeDispatcher();
mBullet[_local1] = null;
_local1++;
};
mBullet.splice(0, mBullet.length);
mBullet = null;
_local1 = 0;
while (_local1 < mBuff.length) {
mBuff[_local1].removeDispatcher();
mBuff[_local1] = null;
_local1++;
};
_local1 = 0;
while (_local1 < numChildren) {
if (TweenMax.isTweening(getChildAt(_local1))){
TweenLite.killTweensOf(getChildAt(_local1), false);
};
removeChildAt(_local1);
_local1++;
};
if (mSfx){
mSfx = null;
};
}
public function CastSkillOnThisUnit(_arg1:Card){
AnimSkill(_arg1);
mCastedCard.mOwner.RemoveCardFromHand(mCastedCard);
}
public function IncreaseHp(_arg1:int){
var _local2:Number;
var _local3:Number;
if ((((_arg1 < 0)) && ((mCardRef.mType == Global.PHOENIX_CANNON)))){
return;
};
if (((mCardRef.mOwner.mEquipment) && ((mCardRef.mOwner.mEquipment.mCardRef.mType == Global.SOLAR_SHIELD)))){
if (_arg1 < 0){
_arg1 = (_arg1 + 3);
if (_arg1 > 0){
_arg1 = 0;
};
};
};
MemoryCrypto.incrementValue(mHp, _arg1);
if (MemoryCrypto.getValue(mHp) > MemoryCrypto.getValue(mCardRef.mHp)){
MemoryCrypto.setValue(mHp, MemoryCrypto.getValue(mCardRef.mHp));
};
_local2 = mHpBar.width;
_local3 = (MemoryCrypto.getValue(mHp) / MemoryCrypto.getValue(mCardRef.mHp));
mHpBar.scaleX = _local3;
if (mX <= 2){
mHpBar.x = (mHpBar.x + (_local2 - mHpBar.width));
};
if (MemoryCrypto.getValue(mHp) <= 0){
if ((((Main.GetInstance().mTutorialState >= 0)) && ((Main.GetInstance().mTutorialState <= 3)))){
return;
};
Kill();
};
}
private function OnMouseUp(_arg1:MouseEvent){
if (Main.GetInstance().mGameState == Main.GAME_STATE_CHOOSE_UNIT_SKILL_CARD){
MemoryCrypto.decrementValue(Main.GetInstance().mSelectedCard.mOwner.mEp, MemoryCrypto.getValue(Main.GetInstance().mSelectedCard.mCost));
CastSkillOnThisUnit(Main.GetInstance().mSelectedCard);
if (Main.GetInstance().mTutorialState == 3){
Main.GetInstance().ChangeTutorialState(4);
};
};
}
public function removeDispatcher(){
Main.GetInstance().removeEventListener("update", Update);
Main.GetInstance().removeEventListener("applyEquipmentEffect", ApplyEquipmentEffect);
Main.GetInstance().removeEventListener("removeEquipmentEffect", RemoveEquipmentEffect);
Main.GetInstance().removeEventListener("pause", Pause);
Main.GetInstance().removeEventListener("unpause", UnPause);
}
private function OnTweenFinish(_arg1:MovieClip){
_arg1.parent.removeChild(_arg1);
Main.GetInstance().mGarbage.splice(Main.GetInstance().mGarbage.indexOf(_arg1), 1);
_arg1 = null;
ApplySkill(mCastedCard);
}
public function IncreaseDamage(_arg1:Number){
if ((((MemoryCrypto.getValue(mDamage) == 0)) && ((_arg1 < 0)))){
return;
};
_arg1 = Math.ceil(_arg1);
MemoryCrypto.incrementValue(mDamage, _arg1);
}
public function ApplyAllBuff(){
var _local1:int;
var _local2:int;
var _local3:Card;
_local1 = 0;
while (_local1 < 2) {
_local2 = 0;
while (_local2 < Main.GetInstance().mPlayer[_local1].mUnit.length) {
if (((!((Main.GetInstance().mPlayer[_local1].mUnit[_local2] == this))) && ((MemoryCrypto.getValue(Main.GetInstance().mPlayer[_local1].mUnit[_local2].mCardRef.mVar1) == Global.VAR_ALL_UNIT_DAMAGE)))){
_local3 = Main.GetInstance().mPlayer[_local1].mUnit[_local2].mCardRef;
MemoryCrypto.setValue(_local3.mVar1, Global.VAR_UNIT_DAMAGE);
this.ApplySkill2(_local3);
MemoryCrypto.setValue(_local3.mVar1, Global.VAR_ALL_UNIT_DAMAGE);
};
_local2++;
};
_local1++;
};
}
public function addDispatcher():void{
Main.GetInstance().addEventListener("update", Update, false, 0, true);
Main.GetInstance().addEventListener("applyEquipmentEffect", ApplyEquipmentEffect, false, 0, true);
Main.GetInstance().addEventListener("removeEquipmentEffect", RemoveEquipmentEffect, false, 0, true);
Main.GetInstance().addEventListener("pause", Pause, false, 0, true);
Main.GetInstance().addEventListener("unpause", UnPause, false, 0, true);
}
private function Fire(){
var _local1:int;
var _local2:Bullet;
var _local3:Card;
if (mSfx != null){
mSfx = null;
};
if (Main.GetInstance().mSfxFlag){
if (mCardRef.mSoundName == "bullet1"){
mSfx = new SFX1();
} else {
if (mCardRef.mSoundName == "bullet2"){
mSfx = new SFX2();
} else {
if (mCardRef.mSoundName == "bullet3"){
mSfx = new SFX3();
} else {
if (mCardRef.mSoundName == "bullet4"){
mSfx = new SFX4();
} else {
if (mCardRef.mSoundName == "bullet5"){
mSfx = new SFX5();
} else {
if (mCardRef.mSoundName == "bullet6"){
mSfx = new SFX6();
};
};
};
};
};
};
mSfx.play();
};
_local1 = 3;
if ((((((this.mCardRef.mType == Global.DEMON_TANK_1)) || ((this.mCardRef.mType == Global.DEMON_TANK_2)))) || ((this.mCardRef.mType == Global.DEMON_TANK_3)))){
if (this.mCardRef.mOwner.mHand.length == 0){
return;
};
_local3 = this.mCardRef.mOwner.mHand[0];
if (_local3.mOwner.mPlayerNum == 0){
if (Main.GetInstance().mSelectedCard == _local3){
if (Main.GetInstance().mSelectedTile){
Main.GetInstance().mSelectedTile.OnMouseOut();
};
Main.GetInstance().mSelectedCard = null;
_local3.HideCardInfo();
Main.GetInstance().mGameState = Main.GAME_STATE_NONE;
Main.GetInstance().HideCrossHair();
Main.GetInstance().DeleteMessage();
};
_local3.parent.removeChild(_local3);
};
mCardRef.mOwner.mGraveyard.push(_local3);
mCardRef.mOwner.UpdateGraveyard();
this.mCardRef.mOwner.RemoveCardFromHand(_local3, false);
if (mCardRef.mType == Global.DEMON_TANK_2){
mCardRef.mOwner.DamageChip(20);
} else {
if (mCardRef.mType == Global.DEMON_TANK_3){
mCardRef.mOwner.DamageChip(40);
};
};
} else {
if (MemoryCrypto.getValue(mCardRef.mAttackType) == Global.UNIT_MELEE){
_local1 = 5;
mUnitRef.play();
};
};
_local2 = new Bullet(this);
Main.GetInstance().stage.addChildAt(_local2, Main.GetInstance().stage.numChildren);
mBullet.push(_local2);
_local2.addDispatcher();
_local2.x = ((x + mUnitRef.x) + this.mCardRef.mNozzlePos.x);
_local2.y = ((y + mUnitRef.y) + this.mCardRef.mNozzlePos.y);
_local2.mouseEnabled = false;
if (mCardRef.mOwner.mPlayerNum == 0){
_local2.mTweenMax = TweenMax.to(_local2, _local1, {x:640, onComplete:DamageFoeChip, onCompleteParams:[_local2]});
} else {
_local2.mTweenMax = TweenMax.to(_local2, _local1, {x:0, onComplete:DamageFoeChip, onCompleteParams:[_local2]});
};
}
private function RemoveEquipmentEffect(_arg1:EventType){
var _local2:int;
var _local3:Equipment;
_local2 = _arg1.arg[0];
_local3 = Main.GetInstance().mPlayer[_local2].mEquipment;
if (_local3){
if ((((_local3.mCardRef.mType == Global.SWORD_1)) && ((mCardRef.mOwner.mPlayerNum == _local2)))){
MemoryCrypto.decrementValue(this.mDamage, 3);
mEquipEffect[_local2] = false;
} else {
if ((((_local3.mCardRef.mType == Global.HANGING_SKELETON)) && ((mCardRef.mOwner.mFoePlayerIdx == _local2)))){
_local2 = Math.round((MemoryCrypto.getValue(mCardRef.mDamage) * 0.3));
this.IncreaseDamage(_local2);
mEquipEffect[_local2] = false;
} else {
if ((((_local3.mCardRef.mType == Global.SOLAR_TURBINE)) && ((mCardRef.mOwner.mPlayerNum == _local2)))){
MemoryCrypto.setValue(this.mAttackRate, MemoryCrypto.getValue(mCardRef.mAttackRate));
mEquipEffect[_local2] = false;
};
};
};
};
}
private function ApplyEquipmentEffect(_arg1:Event){
var _local2:Equipment;
var _local3:int;
var _local4:int;
_local3 = 0;
while (_local3 < 2) {
if (!mEquipEffect[_local3]){
_local2 = Main.GetInstance().mPlayer[_local3].mEquipment;
if (_local2){
if ((((_local2.mCardRef.mType == Global.SWORD_1)) && ((_local2.mCardRef.mOwner.mPlayerNum == mCardRef.mOwner.mPlayerNum)))){
MemoryCrypto.incrementValue(this.mDamage, 3);
mEquipEffect[_local3] = true;
} else {
if ((((_local2.mCardRef.mType == Global.HANGING_SKELETON)) && ((_local2.mCardRef.mOwner.mFoePlayerIdx == mCardRef.mOwner.mPlayerNum)))){
_local4 = Math.round((MemoryCrypto.getValue(mDamage) * 0.3));
this.IncreaseDamage(-(_local4));
mEquipEffect[_local3] = true;
} else {
if ((((_local2.mCardRef.mType == Global.SOLAR_TURBINE)) && ((_local2.mCardRef.mOwner.mPlayerNum == mCardRef.mOwner.mPlayerNum)))){
MemoryCrypto.incrementValue(this.mAttackRate, MemoryCrypto.getValue(mCardRef.mAttackRate));
mEquipEffect[_local3] = true;
};
};
};
};
};
_local3++;
};
}
private function OnMouseOut(_arg1:MouseEvent){
mCardRef.HideCardInfo();
Main.GetInstance().DeletePopUpMessage();
}
public function AnimSkill(_arg1:Card){
var _local2:SkillImg;
var _local3:MovieClip;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
mCastedCard = _arg1;
_local2 = new SkillImg();
_local3 = new MovieClip();
_local3 = _local2.getChildByName(_arg1.mIconName);
_local3.width = 52;
_local3.height = 75;
_local3.x = 0;
_local3.y = 0;
Main.GetInstance().stage.addChildAt(_local3, (Main.GetInstance().stage.numChildren - 1));
_local4 = Main.GetInstance().mTiles[mY][mX].x;
_local5 = Main.GetInstance().mTiles[mY][mX].y;
_local6 = ((_local4 + (Main.GetInstance().mTiles[mY][mX].width / 2)) - (_local3.width / 2));
_local7 = ((_local5 + (Main.GetInstance().mTiles[mY][mX].height / 2)) - (_local3.height / 2));
_local3.x = _local6;
_local3.y = (_local7 - 50);
mTweenMax = TweenMax.to(_local3, 1, {x:_local6, y:_local7, onComplete:OnTweenFinish, overwrite:false, ease:Elastic.easeOut, onCompleteParams:[_local3]});
Main.GetInstance().mGarbage.push(_local3);
if (_arg1.mOwner.mPlayerNum == 0){
Main.GetInstance().HideCrossHair();
Main.GetInstance().DeleteMessage();
Main.GetInstance().mGameState = Main.GAME_STATE_NONE;
mCastedCard.OnMouseOut();
};
}
public function ApplySkill(_arg1:Card){
var _local2:int;
var _local3:Buff;
if (MemoryCrypto.getValue(_arg1.mBuffRateMax) == 0){
ApplySkill2(_arg1);
} else {
_local2 = 0;
while (_local2 < mBuff.length) {
if (mBuff[_local2].mCardRef.mType == _arg1.mType){
if ((((_arg1.mType == Global.POWER_UP_1)) || ((_arg1.mType == Global.POWER_UP_2)))){
return;
};
};
_local2++;
};
_local3 = new Buff(_arg1, null, this);
_local3.addDispatcher();
mBuff.push(_local3);
};
}
public function UnPause(_arg1:Event){
if (mTweenMax){
mTweenMax.resume();
};
if (mTweenMax2){
mTweenMax2.resume();
};
}
private function DamageFoeChip(_arg1:Bullet){
var _local2:int;
_local2 = MemoryCrypto.getValue(mDamage);
if (_local2 < 0){
_local2 = 0;
};
if (mCardRef.mOwner.mPlayerNum == 0){
Main.GetInstance().mPlayer[1].DamageChip(_local2);
} else {
Main.GetInstance().mPlayer[0].DamageChip(_local2);
};
_arg1.KillMe();
}
public function Pause(_arg1:Event){
if (mTweenMax){
mTweenMax.pause();
};
if (mTweenMax2){
mTweenMax2.pause();
};
}
private function OnMouseOver(_arg1:MouseEvent){
var _local2:int;
var _local3:String;
var _local4:String;
mCardRef.ShowCardInfo();
_local2 = MemoryCrypto.getValue(mDamage);
if (_local2 < 0){
_local2 = 0;
};
_local3 = ((((("Hp:" + MemoryCrypto.getValue(mHp)) + "/") + MemoryCrypto.getValue(mCardRef.mHp)) + " Dmg:") + _local2);
_local4 = ("AtkRate:" + MemoryCrypto.getValue(mAttackRate));
Main.GetInstance().ShowPopUpMessage(_local3, _local4, (_arg1.stageX + 8), (_arg1.stageY + 8));
}
public function Kill(_arg1:Boolean=false){
var _local2:int;
var _local3:Array;
var _local4:int;
if (parent){
_local2 = 0;
while (_local2 < 2) {
if (Main.GetInstance().mPlayer[_local2].mEquipment){
if (Main.GetInstance().mPlayer[_local2].mEquipment.mCardRef.mType == Global.ULTIMATE_SALVAGER){
Main.GetInstance().mPlayer[_local2].DamageChip(-50);
} else {
if (Main.GetInstance().mPlayer[_local2].mEquipment.mCardRef.mType == Global.JUNKYARD){
Main.GetInstance().mPlayer[Main.GetInstance().mPlayer[_local2].mFoePlayerIdx].DamageChip(20);
} else {
if (Main.GetInstance().mPlayer[_local2].mEquipment.mCardRef.mType == Global.REFURBISH_FACTORY){
Main.GetInstance().mPlayer[_local2].DiscardAndDraw();
};
};
};
};
_local2++;
};
if (mCardRef.mType == Global.FIRE_GHOST_1){
mCardRef.mOwner.DamageChip(20);
} else {
if (mCardRef.mType == Global.FIRE_GHOST_2){
mCardRef.mOwner.DamageChip(40);
} else {
if (mCardRef.mType == Global.FIRE_GHOST_3){
mCardRef.mOwner.DamageChip(60);
} else {
if (mCardRef.mType == Global.TIDAL_CANNON_1){
mCardRef.mOwner.ForceDrawCard(1);
} else {
if (mCardRef.mType == Global.TIDAL_CANNON_2){
mCardRef.mOwner.ForceDrawCard(2);
} else {
if (mCardRef.mType == Global.TIDAL_CANNON_3){
mCardRef.mOwner.ForceDrawCard(3, mNum);
} else {
if ((((mCardRef.mType == Global.ARMAGEDDON_TANK)) && (!(_arg1)))){
_local3 = new Array();
_local2 = 0;
while (_local2 < 2) {
_local3 = Main.GetInstance().mPlayer[_local2].mUnit.slice(0, Main.GetInstance().mPlayer[_local2].mUnit.length);
_local4 = 0;
while (_local4 < _local3.length) {
if (_local3[_local4].mNum != mNum){
_local3[_local4].Kill(true);
};
_local4++;
};
_local2++;
};
_local2 = 0;
while (_local2 < mCardRef.mOwner.mHand.length) {
mCardRef.mOwner.mHand[_local2].y = Player.INIT_HAND_Y;
_local2++;
};
};
};
};
};
};
};
};
this.parent.removeChild(this);
Main.GetInstance().mTiles[mY][mX].mUnit = null;
mCardRef.mOwner.mGraveyard.push(mCardRef);
mCardRef.mOwner.UpdateGraveyard();
removeDispatcher();
TweenLite.killTweensOf(this);
mCardRef.mOwner.mUnit.splice(mCardRef.mOwner.mUnit.indexOf(this), 1);
_local2 = 0;
while (_local2 < mBuff.length) {
KillBuff(mBuff[_local2]);
_local2++;
};
};
if (mSfx){
mSfx = null;
};
}
public function Update(_arg1:Event){
var _local2:int;
Main.GetInstance().RecheckUnit(this);
if (this.mCardRef.mType == Global.SPITFIRE_1){
if (this.mCardRef.mOwner.mHand.length >= 6){
return;
};
} else {
if (this.mCardRef.mType == Global.SPITFIRE_2){
if (this.mCardRef.mOwner.mHand.length >= 5){
return;
};
} else {
if (this.mCardRef.mType == Global.SPITFIRE_3){
if (this.mCardRef.mOwner.mHand.length >= 4){
return;
};
};
};
};
if (MemoryCrypto.getValue(mCardRef.mDamage) > 0){
MemoryCrypto.incrementValue(mAttackCounter, (MemoryCrypto.getValue(mAttackRate) / Main.GetInstance().stage.frameRate));
};
if (MemoryCrypto.getValue(mAttackCounter) > 10){
MemoryCrypto.setValue(mAttackCounter, 0);
_local2 = this.mPixelX;
if ((((((this.mCardRef.mType == Global.DEMON_TANK_1)) || ((this.mCardRef.mType == Global.DEMON_TANK_2)))) || ((this.mCardRef.mType == Global.DEMON_TANK_3)))){
if (this.mCardRef.mOwner.mHand.length == 0){
return;
};
};
if (MemoryCrypto.getValue(mCardRef.mAttackType) != Global.UNIT_MELEE){
if (TweenMax.isTweening(this)){
TweenLite.killTweensOf(this, true);
this.x = this.mPixelX;
};
mTweenMax = TweenMax.to(this, 1, {x:(this.x - 10), ease:Elastic.easeIn, onComplete:Fire});
mTweenMax2 = TweenMax.to(this, 0.5, {x:_local2, delay:1, overwrite:false});
} else {
Fire();
};
};
}
public function ApplySkill2(_arg1:Card, _arg2:Boolean=false){
var _local3:int;
var _local4:Card;
var _local5:Unit;
var _local6:int;
if (MemoryCrypto.getValue(_arg1.mVar1) == Global.VAR_UNIT_HP){
if (!_arg2){
IncreaseHp(MemoryCrypto.getValue(_arg1.mValue1));
};
} else {
if (MemoryCrypto.getValue(_arg1.mVar1) == Global.VAR_UNIT_MAX_HP){
if (!_arg2){
MemoryCrypto.incrementValue(mCardRef.mHp, MemoryCrypto.getValue(_arg1.mValue1));
IncreaseHp(MemoryCrypto.getValue(_arg1.mValue1));
};
} else {
if (MemoryCrypto.getValue(_arg1.mVar1) == Global.VAR_ALL_UNIT_HP){
if (!_arg2){
_local3 = 0;
while (_local3 < mCardRef.mOwner.mUnit.length) {
mCardRef.mOwner.mUnit[_local3].IncreaseHp(MemoryCrypto.getValue(_arg1.mValue1));
_local3++;
};
};
} else {
if (MemoryCrypto.getValue(_arg1.mVar1) == Global.VAR_CPU_HP){
if (MemoryCrypto.getValue(_arg1.mTarget1) == Global.TARGET_OWN_CPU){
if (!_arg2){
mCardRef.mOwner.DamageChip(-(MemoryCrypto.getValue(_arg1.mValue1)));
};
};
} else {
if (MemoryCrypto.getValue(_arg1.mVar1) == Global.VAR_ALL_UNIT_HP_AND_CPU_HP){
if (!_arg2){
_local3 = 0;
while (_local3 < mCardRef.mOwner.mUnit.length) {
mCardRef.mOwner.mUnit[_local3].IncreaseHp(MemoryCrypto.getValue(_arg1.mValue1));
_local3++;
};
mCardRef.mOwner.DamageChip(-(MemoryCrypto.getValue(_arg1.mValue1)));
};
} else {
if (MemoryCrypto.getValue(_arg1.mVar1) == Global.VAR_ALL_UNIT_DAMAGE){
_local4 = _arg1;
MemoryCrypto.setValue(_local4.mVar1, Global.VAR_UNIT_DAMAGE);
if (!_arg2){
_local3 = 0;
while (_local3 < mCardRef.mOwner.mUnit.length) {
_local5 = mCardRef.mOwner.mUnit[_local3];
_local5.ApplySkill2(_local4);
_local3++;
};
_local3 = 0;
while (_local3 < Main.GetInstance().mPlayer[mCardRef.mOwner.mFoePlayerIdx].mUnit.length) {
_local5 = Main.GetInstance().mPlayer[mCardRef.mOwner.mFoePlayerIdx].mUnit[_local3];
_local5.ApplySkill2(_local4);
_local3++;
};
} else {
_local3 = 0;
while (_local3 < mCardRef.mOwner.mUnit.length) {
mCardRef.mOwner.mUnit[_local3].ApplySkill2(_local4, true);
_local3++;
};
_local3 = 0;
while (_local3 < Main.GetInstance().mPlayer[mCardRef.mOwner.mFoePlayerIdx].mUnit.length) {
Main.GetInstance().mPlayer[mCardRef.mOwner.mFoePlayerIdx].mUnit[_local3].ApplySkill2(_local4, true);
_local3++;
};
};
MemoryCrypto.setValue(_local4.mVar1, Global.VAR_ALL_UNIT_DAMAGE);
} else {
if (MemoryCrypto.getValue(_arg1.mVar1) == Global.VAR_UNIT_DAMAGE){
if (!_arg2){
this.IncreaseDamage(MemoryCrypto.getValue(_arg1.mValue1));
} else {
this.IncreaseDamage(-(MemoryCrypto.getValue(_arg1.mValue1)));
};
} else {
if (MemoryCrypto.getValue(_arg1.mVar1) == Global.VAR_UNIT_DAMAGE_MULTIPLIER){
if (!_arg2){
this.IncreaseDamage((MemoryCrypto.getValue(_arg1.mValue1) * MemoryCrypto.getValue(mDamage)));
} else {
MemoryCrypto.setValue(mDamage, MemoryCrypto.getValue(mCardRef.mDamage));
};
} else {
if (MemoryCrypto.getValue(_arg1.mVar1) == Global.VAR_ENERGY_RATE){
if (!_arg2){
MemoryCrypto.incrementValue(this.mCardRef.mOwner.mEpRate, MemoryCrypto.getValue(_arg1.mValue1));
} else {
MemoryCrypto.incrementValue(this.mCardRef.mOwner.mEpRate, -(MemoryCrypto.getValue(_arg1.mValue1)));
};
} else {
if (MemoryCrypto.getValue(_arg1.mVar1) == Global.VAR_UNIT_ATTACK_RATE_MULTIPLIER){
if (!_arg2){
MemoryCrypto.incrementValue(mAttackRate, (MemoryCrypto.getValue(_arg1.mValue1) * MemoryCrypto.getValue(mAttackRate)));
} else {
MemoryCrypto.setValue(mAttackRate, MemoryCrypto.getValue(mCardRef.mAttackRate));
};
} else {
if (MemoryCrypto.getValue(_arg1.mVar1) == Global.VAR_OWNERSHIP){
if (!_arg2){
mCardRef.mOwner = Main.GetInstance().mPlayer[mCardRef.mOwner.mFoePlayerIdx];
} else {
_local6 = 0;
if (mCardRef.mOwner.mPlayerNum == 0){
_local6 = 1;
};
mCardRef.mOwner = Main.GetInstance().mPlayer[mCardRef.mOwner.mFoePlayerIdx];
};
} else {
if (MemoryCrypto.getValue(_arg1.mVar1) == Global.VAR_DESTROY){
Kill();
};
};
};
};
};
};
};
};
};
};
};
};
}
public function KillBuff(_arg1:Buff){
ApplySkill2(_arg1.mCardRef, true);
mBuff.splice(mBuff.indexOf(_arg1), 1);
}
}
}//package
Section 137
//UnitImg (UnitImg)
package {
import flash.display.*;
public dynamic class UnitImg extends MovieClip {
public var ArmageddonTank:MovieClip;
public var BonesShield:MovieClip;
public var DemonTank1:MovieClip;
public var DemonTank3:MovieClip;
public var DemonTank2:MovieClip;
public var FlameThrower1:MovieClip;
public var FlameThrower3:MovieClip;
public var FlameThrower2:MovieClip;
public var TidalLauncher1:MovieClip;
public var TidalLauncher2:MovieClip;
public var TidalLauncher3:MovieClip;
public var BonesShield2:MovieClip;
public var BonesShield3:MovieClip;
public var DarkWarrior1:MovieClip;
public var PhoenixTank:MovieClip;
public var Mechanic1:MovieClip;
public var Mechanic2:MovieClip;
public var DarkBeamTurret1:MovieClip;
public var DarkBeamTurret3:MovieClip;
public var DarkBeamTurret2:MovieClip;
public var Mechanic3:MovieClip;
public var SpitFire1:MovieClip;
public var SpitFire3:MovieClip;
public var SpitFire2:MovieClip;
public var ArmoredTurret1:MovieClip;
public var ArmoredTurret3:MovieClip;
public var ArmoredTurret2:MovieClip;
public var ArmoredWarrior:MovieClip;
public var FireGhost1:MovieClip;
public var FireGhost2:MovieClip;
public var FireGhost3:MovieClip;
public var FrozeCannon2:MovieClip;
public var FrozeCannon3:MovieClip;
public var Prof:MovieClip;
public var FrozeCannon1:MovieClip;
public var Shield1:MovieClip;
public var Shield2:MovieClip;
public var Shield3:MovieClip;
}
}//package
Section 138
//ViewHSDialog (ViewHSDialog)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.media.*;
import flash.ui.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
public dynamic class ViewHSDialog extends MovieClip {
public var sOkBtn:SimpleButton;
public var sViewHSBtn:SimpleButton;
public function ViewHSDialog(){
addFrameScript(0, frame1);
}
function frame1(){
sViewHSBtn.addEventListener(MouseEvent.MOUSE_UP, ViewHS, false, 0, true);
sOkBtn.addEventListener(MouseEvent.MOUSE_UP, Quit, false, 0, true);
}
public function Quit(_arg1:MouseEvent){
Main.GetInstance().KillViewHSWin();
}
public function ViewHS(_arg1:MouseEvent){
Main.GetInstance().ViewHSAfterSubmit();
this.parent.removeChild(this);
}
}
}//package