Section 1
//ColorShortcuts (caurina.transitions.properties.ColorShortcuts)
package caurina.transitions.properties {
import caurina.transitions.*;
import flash.geom.*;
import flash.filters.*;
public class ColorShortcuts {
private static var LUMINANCE_B:Number = 0.072169;
private static var LUMINANCE_G:Number = 0.71516;
private static var LUMINANCE_R:Number = 0.212671;
public static function _color_splitter(_arg1, _arg2:Array):Array{
var _local3:Array = new Array();
if (_arg1 == null){
_local3.push({name:"_color_redMultiplier", value:1});
_local3.push({name:"_color_redOffset", value:0});
_local3.push({name:"_color_greenMultiplier", value:1});
_local3.push({name:"_color_greenOffset", value:0});
_local3.push({name:"_color_blueMultiplier", value:1});
_local3.push({name:"_color_blueOffset", value:0});
} else {
_local3.push({name:"_color_redMultiplier", value:0});
_local3.push({name:"_color_redOffset", value:AuxFunctions.numberToR(_arg1)});
_local3.push({name:"_color_greenMultiplier", value:0});
_local3.push({name:"_color_greenOffset", value:AuxFunctions.numberToG(_arg1)});
_local3.push({name:"_color_blueMultiplier", value:0});
_local3.push({name:"_color_blueOffset", value:AuxFunctions.numberToB(_arg1)});
};
return (_local3);
}
public static function _contrast_set(_arg1:Object, _arg2:Number, _arg3:Array, _arg4:Object=null):void{
var _local5:Number;
var _local6:Number;
_local5 = (_arg2 + 1);
_local6 = Math.round((_arg2 * -128));
var _local7:ColorTransform = new ColorTransform(_local5, _local5, _local5, 1, _local6, _local6, _local6, 0);
_arg1.transform.colorTransform = _local7;
}
public static function _brightness_get(_arg1:Object, _arg2:Array, _arg3:Object=null):Number{
var _local4:Boolean = _arg2[0];
var _local5:ColorTransform = _arg1.transform.colorTransform;
var _local6:Number = (1 - (((_local5.redMultiplier + _local5.greenMultiplier) + _local5.blueMultiplier) / 3));
var _local7:Number = (((_local5.redOffset + _local5.greenOffset) + _local5.blueOffset) / 3);
if (_local4){
return (((_local7 > 0)) ? (_local7 / 0xFF) : -(_local6));
//unresolved jump
};
return ((_local7 / 100));
}
public static function _saturation_get(_arg1:Object, _arg2:Array, _arg3:Object=null):Number{
var _local4:Array = getObjectMatrix(_arg1);
var _local5:Boolean = _arg2[0];
var _local6:Number = (_local5) ? (1 / 3) : LUMINANCE_R;
var _local7:Number = (_local5) ? (1 / 3) : LUMINANCE_G;
var _local8:Number = (_local5) ? (1 / 3) : LUMINANCE_B;
var _local9:Number = (((((_local4[0] - _local6) / (1 - _local6)) + ((_local4[6] - _local7) / (1 - _local7))) + ((_local4[12] - _local8) / (1 - _local8))) / 3);
var _local10:Number = (1 - (((((((_local4[1] / _local7) + (_local4[2] / _local8)) + (_local4[5] / _local6)) + (_local4[7] / _local8)) + (_local4[10] / _local6)) + (_local4[11] / _local7)) / 6));
return (((_local9 + _local10) / 2));
}
public static function _oldColor_property_get(_arg1:Object, _arg2:Array, _arg3:Object=null):Number{
return ((_arg1.transform.colorTransform[_arg2[0]] * 100));
}
public static function _brightness_set(_arg1:Object, _arg2:Number, _arg3:Array, _arg4:Object=null):void{
var _local6:Number;
var _local7:Number;
var _local5:Boolean = _arg3[0];
if (_local5){
_local6 = (1 - Math.abs(_arg2));
_local7 = ((_arg2 > 0)) ? Math.round((_arg2 * 0xFF)) : 0;
} else {
_local6 = 1;
_local7 = Math.round((_arg2 * 100));
};
var _local8:ColorTransform = new ColorTransform(_local6, _local6, _local6, 1, _local7, _local7, _local7, 0);
_arg1.transform.colorTransform = _local8;
}
public static function _saturation_set(_arg1:Object, _arg2:Number, _arg3:Array, _arg4:Object=null):void{
var _local5:Boolean = _arg3[0];
var _local6:Number = (_local5) ? (1 / 3) : LUMINANCE_R;
var _local7:Number = (_local5) ? (1 / 3) : LUMINANCE_G;
var _local8:Number = (_local5) ? (1 / 3) : LUMINANCE_B;
var _local9:Number = _arg2;
var _local10:Number = (1 - _local9);
var _local11:Number = (_local6 * _local10);
var _local12:Number = (_local7 * _local10);
var _local13:Number = (_local8 * _local10);
var _local14:Array = [(_local11 + _local9), _local12, _local13, 0, 0, _local11, (_local12 + _local9), _local13, 0, 0, _local11, _local12, (_local13 + _local9), 0, 0, 0, 0, 0, 1, 0];
setObjectMatrix(_arg1, _local14);
}
private static function getObjectMatrix(_arg1:Object):Array{
var _local2:Number = 0;
while (_local2 < _arg1.filters.length) {
if ((_arg1.filters[_local2] is ColorMatrixFilter)){
return (_arg1.filters[_local2].matrix.concat());
};
_local2++;
};
return ([1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]);
}
public static function getHueDistance(_arg1:Array, _arg2:Array):Number{
return (((Math.abs((_arg1[0] - _arg2[0])) + Math.abs((_arg1[1] - _arg2[1]))) + Math.abs((_arg1[2] - _arg2[2]))));
}
public static function _hue_set(_arg1:Object, _arg2:Number, _arg3:Array, _arg4:Object=null):void{
setObjectMatrix(_arg1, getHueMatrix(_arg2));
}
public static function _hue_get(_arg1:Object, _arg2:Array, _arg3:Object=null):Number{
var _local6:Number;
var _local8:Number;
var _local4:Array = getObjectMatrix(_arg1);
var _local5:Array = [];
_local5[0] = {angle:-179.9, matrix:getHueMatrix(-179.9)};
_local5[1] = {angle:180, matrix:getHueMatrix(180)};
_local6 = 0;
while (_local6 < _local5.length) {
_local5[_local6].distance = getHueDistance(_local4, _local5[_local6].matrix);
_local6++;
};
var _local7:Number = 15;
_local6 = 0;
while (_local6 < _local7) {
if (_local5[0].distance < _local5[1].distance){
_local8 = 1;
} else {
_local8 = 0;
};
_local5[_local8].angle = ((_local5[0].angle + _local5[1].angle) / 2);
_local5[_local8].matrix = getHueMatrix(_local5[_local8].angle);
_local5[_local8].distance = getHueDistance(_local4, _local5[_local8].matrix);
_local6++;
};
return (_local5[_local8].angle);
}
public static function getHueMatrix(_arg1:Number):Array{
var _local2:Number = ((_arg1 * Math.PI) / 180);
var _local3:Number = LUMINANCE_R;
var _local4:Number = LUMINANCE_G;
var _local5:Number = LUMINANCE_B;
var _local6:Number = Math.cos(_local2);
var _local7:Number = Math.sin(_local2);
var _local8:Array = [((_local3 + (_local6 * (1 - _local3))) + (_local7 * -(_local3))), ((_local4 + (_local6 * -(_local4))) + (_local7 * -(_local4))), ((_local5 + (_local6 * -(_local5))) + (_local7 * (1 - _local5))), 0, 0, ((_local3 + (_local6 * -(_local3))) + (_local7 * 0.143)), ((_local4 + (_local6 * (1 - _local4))) + (_local7 * 0.14)), ((_local5 + (_local6 * -(_local5))) + (_local7 * -0.283)), 0, 0, ((_local3 + (_local6 * -(_local3))) + (_local7 * -((1 - _local3)))), ((_local4 + (_local6 * -(_local4))) + (_local7 * _local4)), ((_local5 + (_local6 * (1 - _local5))) + (_local7 * _local5)), 0, 0, 0, 0, 0, 1, 0];
return (_local8);
}
public static function _color_property_get(_arg1:Object, _arg2:Array, _arg3:Object=null):Number{
return (_arg1.transform.colorTransform[_arg2[0]]);
}
public static function init():void{
Tweener.registerSpecialProperty("_color_ra", _oldColor_property_get, _oldColor_property_set, ["redMultiplier"]);
Tweener.registerSpecialProperty("_color_rb", _color_property_get, _color_property_set, ["redOffset"]);
Tweener.registerSpecialProperty("_color_ga", _oldColor_property_get, _oldColor_property_set, ["greenMultiplier"]);
Tweener.registerSpecialProperty("_color_gb", _color_property_get, _color_property_set, ["greenOffset"]);
Tweener.registerSpecialProperty("_color_ba", _oldColor_property_get, _oldColor_property_set, ["blueMultiplier"]);
Tweener.registerSpecialProperty("_color_bb", _color_property_get, _color_property_set, ["blueOffset"]);
Tweener.registerSpecialProperty("_color_aa", _oldColor_property_get, _oldColor_property_set, ["alphaMultiplier"]);
Tweener.registerSpecialProperty("_color_ab", _color_property_get, _color_property_set, ["alphaOffset"]);
Tweener.registerSpecialProperty("_color_redMultiplier", _color_property_get, _color_property_set, ["redMultiplier"]);
Tweener.registerSpecialProperty("_color_redOffset", _color_property_get, _color_property_set, ["redOffset"]);
Tweener.registerSpecialProperty("_color_greenMultiplier", _color_property_get, _color_property_set, ["greenMultiplier"]);
Tweener.registerSpecialProperty("_color_greenOffset", _color_property_get, _color_property_set, ["greenOffset"]);
Tweener.registerSpecialProperty("_color_blueMultiplier", _color_property_get, _color_property_set, ["blueMultiplier"]);
Tweener.registerSpecialProperty("_color_blueOffset", _color_property_get, _color_property_set, ["blueOffset"]);
Tweener.registerSpecialProperty("_color_alphaMultiplier", _color_property_get, _color_property_set, ["alphaMultiplier"]);
Tweener.registerSpecialProperty("_color_alphaOffset", _color_property_get, _color_property_set, ["alphaOffset"]);
Tweener.registerSpecialPropertySplitter("_color", _color_splitter);
Tweener.registerSpecialPropertySplitter("_colorTransform", _colorTransform_splitter);
Tweener.registerSpecialProperty("_brightness", _brightness_get, _brightness_set, [false]);
Tweener.registerSpecialProperty("_tintBrightness", _brightness_get, _brightness_set, [true]);
Tweener.registerSpecialProperty("_contrast", _contrast_get, _contrast_set);
Tweener.registerSpecialProperty("_hue", _hue_get, _hue_set);
Tweener.registerSpecialProperty("_saturation", _saturation_get, _saturation_set, [false]);
Tweener.registerSpecialProperty("_dumbSaturation", _saturation_get, _saturation_set, [true]);
}
private static function setObjectMatrix(_arg1:Object, _arg2:Array):void{
var _local6:ColorMatrixFilter;
var _local3:Array = _arg1.filters.concat();
var _local4:Boolean;
var _local5:Number = 0;
while (_local5 < _local3.length) {
if ((_local3[_local5] is ColorMatrixFilter)){
_local3[_local5].matrix = _arg2.concat();
_local4 = true;
};
_local5++;
};
if (!_local4){
_local6 = new ColorMatrixFilter(_arg2);
_local3[_local3.length] = _local6;
};
_arg1.filters = _local3;
}
public static function _color_property_set(_arg1:Object, _arg2:Number, _arg3:Array, _arg4:Object=null):void{
var _local5:ColorTransform = _arg1.transform.colorTransform;
_local5[_arg3[0]] = _arg2;
_arg1.transform.colorTransform = _local5;
}
public static function _oldColor_property_set(_arg1:Object, _arg2:Number, _arg3:Array, _arg4:Object=null):void{
var _local5:ColorTransform = _arg1.transform.colorTransform;
_local5[_arg3[0]] = (_arg2 / 100);
_arg1.transform.colorTransform = _local5;
}
public static function _contrast_get(_arg1:Object, _arg2:Array, _arg3:Object=null):Number{
var _local5:Number;
var _local6:Number;
var _local4:ColorTransform = _arg1.transform.colorTransform;
_local5 = ((((_local4.redMultiplier + _local4.greenMultiplier) + _local4.blueMultiplier) / 3) - 1);
_local6 = ((((_local4.redOffset + _local4.greenOffset) + _local4.blueOffset) / 3) / -128);
return (((_local5 + _local6) / 2));
}
public static function _colorTransform_splitter(_arg1:Object, _arg2:Array):Array{
var _local3:Array = new Array();
if (_arg1 == null){
_local3.push({name:"_color_redMultiplier", value:1});
_local3.push({name:"_color_redOffset", value:0});
_local3.push({name:"_color_greenMultiplier", value:1});
_local3.push({name:"_color_greenOffset", value:0});
_local3.push({name:"_color_blueMultiplier", value:1});
_local3.push({name:"_color_blueOffset", value:0});
} else {
_local3.push({name:"_color_redMultiplier", value:_arg1.redMultiplier});
_local3.push({name:"_color_redOffset", value:_arg1.redOffset});
_local3.push({name:"_color_blueMultiplier", value:_arg1.blueMultiplier});
_local3.push({name:"_color_blueOffset", value:_arg1.blueOffset});
_local3.push({name:"_color_greenMultiplier", value:_arg1.greenMultiplier});
_local3.push({name:"_color_greenOffset", value:_arg1.greenOffset});
_local3.push({name:"_color_alphaMultiplier", value:_arg1.alphaMultiplier});
_local3.push({name:"_color_alphaOffset", value:_arg1.alphaOffset});
};
return (_local3);
}
}
}//package caurina.transitions.properties
Section 2
//FilterShortcuts (caurina.transitions.properties.FilterShortcuts)
package caurina.transitions.properties {
import flash.display.*;
import caurina.transitions.*;
import flash.geom.*;
import flash.filters.*;
public class FilterShortcuts {
public static function init():void{
Tweener.registerSpecialPropertySplitter("_filter", _filter_splitter);
Tweener.registerSpecialProperty("_Bevel_angle", _filter_property_get, _filter_property_set, [BevelFilter, "angle"]);
Tweener.registerSpecialProperty("_Bevel_blurX", _filter_property_get, _filter_property_set, [BevelFilter, "blurX"]);
Tweener.registerSpecialProperty("_Bevel_blurY", _filter_property_get, _filter_property_set, [BevelFilter, "blurY"]);
Tweener.registerSpecialProperty("_Bevel_distance", _filter_property_get, _filter_property_set, [BevelFilter, "distance"]);
Tweener.registerSpecialProperty("_Bevel_highlightAlpha", _filter_property_get, _filter_property_set, [BevelFilter, "highlightAlpha"]);
Tweener.registerSpecialPropertySplitter("_Bevel_highlightColor", _generic_color_splitter, ["_Bevel_highlightColor_r", "_Bevel_highlightColor_g", "_Bevel_highlightColor_b"]);
Tweener.registerSpecialProperty("_Bevel_highlightColor_r", _filter_property_get, _filter_property_set, [BevelFilter, "highlightColor", "color", "r"]);
Tweener.registerSpecialProperty("_Bevel_highlightColor_g", _filter_property_get, _filter_property_set, [BevelFilter, "highlightColor", "color", "g"]);
Tweener.registerSpecialProperty("_Bevel_highlightColor_b", _filter_property_get, _filter_property_set, [BevelFilter, "highlightColor", "color", "b"]);
Tweener.registerSpecialProperty("_Bevel_knockout", _filter_property_get, _filter_property_set, [BevelFilter, "knockout"]);
Tweener.registerSpecialProperty("_Bevel_quality", _filter_property_get, _filter_property_set, [BevelFilter, "quality"]);
Tweener.registerSpecialProperty("_Bevel_shadowAlpha", _filter_property_get, _filter_property_set, [BevelFilter, "shadowAlpha"]);
Tweener.registerSpecialPropertySplitter("_Bevel_shadowColor", _generic_color_splitter, ["_Bevel_shadowColor_r", "_Bevel_shadowColor_g", "_Bevel_shadowColor_b"]);
Tweener.registerSpecialProperty("_Bevel_shadowColor_r", _filter_property_get, _filter_property_set, [BevelFilter, "shadowColor", "color", "r"]);
Tweener.registerSpecialProperty("_Bevel_shadowColor_g", _filter_property_get, _filter_property_set, [BevelFilter, "shadowColor", "color", "g"]);
Tweener.registerSpecialProperty("_Bevel_shadowColor_b", _filter_property_get, _filter_property_set, [BevelFilter, "shadowColor", "color", "b"]);
Tweener.registerSpecialProperty("_Bevel_strength", _filter_property_get, _filter_property_set, [BevelFilter, "strength"]);
Tweener.registerSpecialProperty("_Bevel_type", _filter_property_get, _filter_property_set, [BevelFilter, "type"]);
Tweener.registerSpecialProperty("_Blur_blurX", _filter_property_get, _filter_property_set, [BlurFilter, "blurX"]);
Tweener.registerSpecialProperty("_Blur_blurY", _filter_property_get, _filter_property_set, [BlurFilter, "blurY"]);
Tweener.registerSpecialProperty("_Blur_quality", _filter_property_get, _filter_property_set, [BlurFilter, "quality"]);
Tweener.registerSpecialPropertySplitter("_ColorMatrix_matrix", _generic_matrix_splitter, [[1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0], ["_ColorMatrix_matrix_rr", "_ColorMatrix_matrix_rg", "_ColorMatrix_matrix_rb", "_ColorMatrix_matrix_ra", "_ColorMatrix_matrix_ro", "_ColorMatrix_matrix_gr", "_ColorMatrix_matrix_gg", "_ColorMatrix_matrix_gb", "_ColorMatrix_matrix_ga", "_ColorMatrix_matrix_go", "_ColorMatrix_matrix_br", "_ColorMatrix_matrix_bg", "_ColorMatrix_matrix_bb", "_ColorMatrix_matrix_ba", "_ColorMatrix_matrix_bo", "_ColorMatrix_matrix_ar", "_ColorMatrix_matrix_ag", "_ColorMatrix_matrix_ab", "_ColorMatrix_matrix_aa", "_ColorMatrix_matrix_ao"]]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_rr", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 0]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_rg", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 1]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_rb", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 2]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_ra", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 3]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_ro", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 4]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_gr", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 5]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_gg", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 6]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_gb", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 7]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_ga", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 8]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_go", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 9]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_br", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 10]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_bg", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 11]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_bb", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 12]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_ba", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 13]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_bo", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 14]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_ar", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 15]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_ag", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 16]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_ab", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 17]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_aa", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 18]);
Tweener.registerSpecialProperty("_ColorMatrix_matrix_ao", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 19]);
Tweener.registerSpecialProperty("_Convolution_alpha", _filter_property_get, _filter_property_set, [ConvolutionFilter, "alpha"]);
Tweener.registerSpecialProperty("_Convolution_bias", _filter_property_get, _filter_property_set, [ConvolutionFilter, "bias"]);
Tweener.registerSpecialProperty("_Convolution_clamp", _filter_property_get, _filter_property_set, [ConvolutionFilter, "clamp"]);
Tweener.registerSpecialPropertySplitter("_Convolution_color", _generic_color_splitter, ["_Convolution_color_r", "_Convolution_color_g", "_Convolution_color_b"]);
Tweener.registerSpecialProperty("_Convolution_color_r", _filter_property_get, _filter_property_set, [ConvolutionFilter, "color", "color", "r"]);
Tweener.registerSpecialProperty("_Convolution_color_g", _filter_property_get, _filter_property_set, [ConvolutionFilter, "color", "color", "g"]);
Tweener.registerSpecialProperty("_Convolution_color_b", _filter_property_get, _filter_property_set, [ConvolutionFilter, "color", "color", "b"]);
Tweener.registerSpecialProperty("_Convolution_divisor", _filter_property_get, _filter_property_set, [ConvolutionFilter, "divisor"]);
Tweener.registerSpecialProperty("_Convolution_matrixX", _filter_property_get, _filter_property_set, [ConvolutionFilter, "matrixX"]);
Tweener.registerSpecialProperty("_Convolution_matrixY", _filter_property_get, _filter_property_set, [ConvolutionFilter, "matrixY"]);
Tweener.registerSpecialProperty("_Convolution_preserveAlpha", _filter_property_get, _filter_property_set, [ConvolutionFilter, "preserveAlpha"]);
Tweener.registerSpecialProperty("_DisplacementMap_alpha", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "alpha"]);
Tweener.registerSpecialPropertySplitter("_DisplacementMap_color", _generic_color_splitter, ["_DisplacementMap_color_r", "_DisplacementMap_color_r", "_DisplacementMap_color_r"]);
Tweener.registerSpecialProperty("_DisplacementMap_color_r", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "color", "color", "r"]);
Tweener.registerSpecialProperty("_DisplacementMap_color_g", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "color", "color", "g"]);
Tweener.registerSpecialProperty("_DisplacementMap_color_b", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "color", "color", "b"]);
Tweener.registerSpecialProperty("_DisplacementMap_componentX", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "componentX"]);
Tweener.registerSpecialProperty("_DisplacementMap_componentY", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "componentY"]);
Tweener.registerSpecialProperty("_DisplacementMap_mapBitmap", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "mapBitmap"]);
Tweener.registerSpecialPropertySplitter("_DisplacementMap_mapPoint", _generic_point_splitter, ["_DisplacementMap_mapPoint_x", "_DisplacementMap_mapPoint_y"]);
Tweener.registerSpecialProperty("_DisplacementMap_mapPoint_x", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "mapPoint", "point", "x"]);
Tweener.registerSpecialProperty("_DisplacementMap_mapPoint_y", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "mapPoint", "point", "y"]);
Tweener.registerSpecialProperty("_DisplacementMap_mode", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "mode"]);
Tweener.registerSpecialProperty("_DisplacementMap_scaleX", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "scaleX"]);
Tweener.registerSpecialProperty("_DisplacementMap_scaleY", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "scaleY"]);
Tweener.registerSpecialProperty("_DropShadow_alpha", _filter_property_get, _filter_property_set, [DropShadowFilter, "alpha"]);
Tweener.registerSpecialProperty("_DropShadow_angle", _filter_property_get, _filter_property_set, [DropShadowFilter, "angle"]);
Tweener.registerSpecialProperty("_DropShadow_blurX", _filter_property_get, _filter_property_set, [DropShadowFilter, "blurX"]);
Tweener.registerSpecialProperty("_DropShadow_blurY", _filter_property_get, _filter_property_set, [DropShadowFilter, "blurY"]);
Tweener.registerSpecialPropertySplitter("_DropShadow_color", _generic_color_splitter, ["_DropShadow_color_r", "_DropShadow_color_g", "_DropShadow_color_b"]);
Tweener.registerSpecialProperty("_DropShadow_color_r", _filter_property_get, _filter_property_set, [DropShadowFilter, "color", "color", "r"]);
Tweener.registerSpecialProperty("_DropShadow_color_g", _filter_property_get, _filter_property_set, [DropShadowFilter, "color", "color", "g"]);
Tweener.registerSpecialProperty("_DropShadow_color_b", _filter_property_get, _filter_property_set, [DropShadowFilter, "color", "color", "b"]);
Tweener.registerSpecialProperty("_DropShadow_distance", _filter_property_get, _filter_property_set, [DropShadowFilter, "distance"]);
Tweener.registerSpecialProperty("_DropShadow_hideObject", _filter_property_get, _filter_property_set, [DropShadowFilter, "hideObject"]);
Tweener.registerSpecialProperty("_DropShadow_inner", _filter_property_get, _filter_property_set, [DropShadowFilter, "inner"]);
Tweener.registerSpecialProperty("_DropShadow_knockout", _filter_property_get, _filter_property_set, [DropShadowFilter, "knockout"]);
Tweener.registerSpecialProperty("_DropShadow_quality", _filter_property_get, _filter_property_set, [DropShadowFilter, "quality"]);
Tweener.registerSpecialProperty("_DropShadow_strength", _filter_property_get, _filter_property_set, [DropShadowFilter, "strength"]);
Tweener.registerSpecialProperty("_Glow_alpha", _filter_property_get, _filter_property_set, [GlowFilter, "alpha"]);
Tweener.registerSpecialProperty("_Glow_blurX", _filter_property_get, _filter_property_set, [GlowFilter, "blurX"]);
Tweener.registerSpecialProperty("_Glow_blurY", _filter_property_get, _filter_property_set, [GlowFilter, "blurY"]);
Tweener.registerSpecialPropertySplitter("_Glow_color", _generic_color_splitter, ["_Glow_color_r", "_Glow_color_g", "_Glow_color_b"]);
Tweener.registerSpecialProperty("_Glow_color_r", _filter_property_get, _filter_property_set, [GlowFilter, "color", "color", "r"]);
Tweener.registerSpecialProperty("_Glow_color_g", _filter_property_get, _filter_property_set, [GlowFilter, "color", "color", "g"]);
Tweener.registerSpecialProperty("_Glow_color_b", _filter_property_get, _filter_property_set, [GlowFilter, "color", "color", "b"]);
Tweener.registerSpecialProperty("_Glow_inner", _filter_property_get, _filter_property_set, [GlowFilter, "inner"]);
Tweener.registerSpecialProperty("_Glow_knockout", _filter_property_get, _filter_property_set, [GlowFilter, "knockout"]);
Tweener.registerSpecialProperty("_Glow_quality", _filter_property_get, _filter_property_set, [GlowFilter, "quality"]);
Tweener.registerSpecialProperty("_Glow_strength", _filter_property_get, _filter_property_set, [GlowFilter, "strength"]);
Tweener.registerSpecialProperty("_GradientBevel_angle", _filter_property_get, _filter_property_set, [GradientBevelFilter, "angle"]);
Tweener.registerSpecialProperty("_GradientBevel_blurX", _filter_property_get, _filter_property_set, [GradientBevelFilter, "blurX"]);
Tweener.registerSpecialProperty("_GradientBevel_blurY", _filter_property_get, _filter_property_set, [GradientBevelFilter, "blurY"]);
Tweener.registerSpecialProperty("_GradientBevel_distance", _filter_property_get, _filter_property_set, [GradientBevelFilter, "distance"]);
Tweener.registerSpecialProperty("_GradientBevel_quality", _filter_property_get, _filter_property_set, [GradientBevelFilter, "quality"]);
Tweener.registerSpecialProperty("_GradientBevel_strength", _filter_property_get, _filter_property_set, [GradientBevelFilter, "strength"]);
Tweener.registerSpecialProperty("_GradientBevel_type", _filter_property_get, _filter_property_set, [GradientBevelFilter, "type"]);
Tweener.registerSpecialProperty("_GradientGlow_angle", _filter_property_get, _filter_property_set, [GradientGlowFilter, "angle"]);
Tweener.registerSpecialProperty("_GradientGlow_blurX", _filter_property_get, _filter_property_set, [GradientGlowFilter, "blurX"]);
Tweener.registerSpecialProperty("_GradientGlow_blurY", _filter_property_get, _filter_property_set, [GradientGlowFilter, "blurY"]);
Tweener.registerSpecialProperty("_GradientGlow_distance", _filter_property_get, _filter_property_set, [GradientGlowFilter, "distance"]);
Tweener.registerSpecialProperty("_GradientGlow_knockout", _filter_property_get, _filter_property_set, [GradientGlowFilter, "knockout"]);
Tweener.registerSpecialProperty("_GradientGlow_quality", _filter_property_get, _filter_property_set, [GradientGlowFilter, "quality"]);
Tweener.registerSpecialProperty("_GradientGlow_strength", _filter_property_get, _filter_property_set, [GradientGlowFilter, "strength"]);
Tweener.registerSpecialProperty("_GradientGlow_type", _filter_property_get, _filter_property_set, [GradientGlowFilter, "type"]);
}
public static function _filter_property_get(_arg1:Object, _arg2:Array, _arg3:Object=null):Number{
var _local5:Number;
var _local9:Object;
var _local10:String;
var _local4:Array = _arg1.filters;
var _local6:Object = _arg2[0];
var _local7:String = _arg2[1];
var _local8:String = _arg2[2];
_local5 = 0;
while (_local5 < _local4.length) {
if ((_local4[_local5] is Class(_local6))){
if (_local8 == "color"){
_local10 = _arg2[3];
if (_local10 == "r"){
return (AuxFunctions.numberToR(_local4[_local5][_local7]));
};
if (_local10 == "g"){
return (AuxFunctions.numberToG(_local4[_local5][_local7]));
};
if (_local10 == "b"){
return (AuxFunctions.numberToB(_local4[_local5][_local7]));
};
} else {
if (_local8 == "matrix"){
return (_local4[_local5][_local7][_arg2[3]]);
};
if (_local8 == "point"){
return (_local4[_local5][_local7][_arg2[3]]);
};
return (_local4[_local5][_local7]);
};
};
_local5++;
};
switch (_local6){
case BevelFilter:
_local9 = {angle:NaN, blurX:0, blurY:0, distance:0, highlightAlpha:1, highlightColor:NaN, knockout:null, quality:NaN, shadowAlpha:1, shadowColor:NaN, strength:2, type:null};
break;
case BlurFilter:
_local9 = {blurX:0, blurY:0, quality:NaN};
break;
case ColorMatrixFilter:
_local9 = {matrix:[1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]};
break;
case ConvolutionFilter:
_local9 = {alpha:0, bias:0, clamp:null, color:NaN, divisor:1, matrix:[1], matrixX:1, matrixY:1, preserveAlpha:null};
break;
case DisplacementMapFilter:
_local9 = {alpha:0, color:NaN, componentX:null, componentY:null, mapBitmap:null, mapPoint:null, mode:null, scaleX:0, scaleY:0};
break;
case DropShadowFilter:
_local9 = {distance:0, angle:NaN, color:NaN, alpha:1, blurX:0, blurY:0, strength:1, quality:NaN, inner:null, knockout:null, hideObject:null};
break;
case GlowFilter:
_local9 = {alpha:1, blurX:0, blurY:0, color:NaN, inner:null, knockout:null, quality:NaN, strength:2};
break;
case GradientBevelFilter:
_local9 = {alphas:null, angle:NaN, blurX:0, blurY:0, colors:null, distance:0, knockout:null, quality:NaN, ratios:NaN, strength:1, type:null};
break;
case GradientGlowFilter:
_local9 = {alphas:null, angle:NaN, blurX:0, blurY:0, colors:null, distance:0, knockout:null, quality:NaN, ratios:NaN, strength:1, type:null};
break;
};
if (_local8 == "color"){
return (NaN);
};
if (_local8 == "matrix"){
return (_local9[_local7][_arg2[3]]);
};
if (_local8 == "point"){
return (_local9[_local7][_arg2[3]]);
};
return (_local9[_local7]);
}
public static function _filter_property_set(_arg1:Object, _arg2:Number, _arg3:Array, _arg4:Object=null):void{
var _local6:Number;
var _local10:BitmapFilter;
var _local11:String;
var _local12:Array;
var _local13:Point;
var _local5:Array = _arg1.filters;
var _local7:Object = _arg3[0];
var _local8:String = _arg3[1];
var _local9:String = _arg3[2];
_local6 = 0;
while (_local6 < _local5.length) {
if ((_local5[_local6] is Class(_local7))){
if (_local9 == "color"){
_local11 = _arg3[3];
if (_local11 == "r"){
_local5[_local6][_local8] = ((_local5[_local6][_local8] & 0xFFFF) | (_arg2 << 16));
};
if (_local11 == "g"){
_local5[_local6][_local8] = ((_local5[_local6][_local8] & 0xFF00FF) | (_arg2 << 8));
};
if (_local11 == "b"){
_local5[_local6][_local8] = ((_local5[_local6][_local8] & 0xFFFF00) | _arg2);
};
} else {
if (_local9 == "matrix"){
_local12 = _local5[_local6][_local8];
_local12[_arg3[3]] = _arg2;
_local5[_local6][_local8] = _local12;
} else {
if (_local9 == "point"){
_local13 = Point(_local5[_local6][_local8]);
_local13[_arg3[3]] = _arg2;
_local5[_local6][_local8] = _local13;
} else {
_local5[_local6][_local8] = _arg2;
};
};
};
_arg1.filters = _local5;
return;
};
_local6++;
};
if (_local5 == null){
_local5 = new Array();
};
switch (_local7){
case BevelFilter:
_local10 = new BevelFilter(0, 45, 0xFFFFFF, 1, 0, 1, 0, 0);
break;
case BlurFilter:
_local10 = new BlurFilter(0, 0);
break;
case ColorMatrixFilter:
_local10 = new ColorMatrixFilter([1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]);
break;
case ConvolutionFilter:
_local10 = new ConvolutionFilter(1, 1, [1], 1, 0, true, true, 0, 0);
break;
case DisplacementMapFilter:
_local10 = new DisplacementMapFilter(new BitmapData(10, 10), new Point(0, 0), 0, 1, 0, 0);
break;
case DropShadowFilter:
_local10 = new DropShadowFilter(0, 45, 0, 1, 0, 0);
break;
case GlowFilter:
_local10 = new GlowFilter(0xFF0000, 1, 0, 0);
break;
case GradientBevelFilter:
_local10 = new GradientBevelFilter(0, 45, [0xFFFFFF, 0], [1, 1], [32, 223], 0, 0);
break;
case GradientGlowFilter:
_local10 = new GradientGlowFilter(0, 45, [0xFFFFFF, 0], [1, 1], [32, 223], 0, 0);
break;
};
_local5.push(_local10);
_arg1.filters = _local5;
_filter_property_set(_arg1, _arg2, _arg3);
}
public static function _generic_color_splitter(_arg1:Number, _arg2:Array):Array{
var _local3:Array = new Array();
_local3.push({name:_arg2[0], value:AuxFunctions.numberToR(_arg1)});
_local3.push({name:_arg2[1], value:AuxFunctions.numberToG(_arg1)});
_local3.push({name:_arg2[2], value:AuxFunctions.numberToB(_arg1)});
return (_local3);
}
public static function _generic_point_splitter(_arg1:Point, _arg2:Array):Array{
var _local3:Array = new Array();
_local3.push({name:_arg2[0], value:_arg1.x});
_local3.push({name:_arg2[1], value:_arg1.y});
return (_local3);
}
public static function _generic_matrix_splitter(_arg1:Array, _arg2:Array):Array{
if (_arg1 == null){
_arg1 = _arg2[0].concat();
};
var _local3:Array = new Array();
var _local4:Number = 0;
while (_local4 < _arg1.length) {
_local3.push({name:_arg2[1][_local4], value:_arg1[_local4]});
_local4++;
};
return (_local3);
}
public static function _filter_splitter(_arg1:BitmapFilter, _arg2:Array, _arg3:Object=null):Array{
var _local4:Array = new Array();
if ((_arg1 is BevelFilter)){
_local4.push({name:"_Bevel_angle", value:BevelFilter(_arg1).angle});
_local4.push({name:"_Bevel_blurX", value:BevelFilter(_arg1).blurX});
_local4.push({name:"_Bevel_blurY", value:BevelFilter(_arg1).blurY});
_local4.push({name:"_Bevel_distance", value:BevelFilter(_arg1).distance});
_local4.push({name:"_Bevel_highlightAlpha", value:BevelFilter(_arg1).highlightAlpha});
_local4.push({name:"_Bevel_highlightColor", value:BevelFilter(_arg1).highlightColor});
_local4.push({name:"_Bevel_knockout", value:BevelFilter(_arg1).knockout});
_local4.push({name:"_Bevel_quality", value:BevelFilter(_arg1).quality});
_local4.push({name:"_Bevel_shadowAlpha", value:BevelFilter(_arg1).shadowAlpha});
_local4.push({name:"_Bevel_shadowColor", value:BevelFilter(_arg1).shadowColor});
_local4.push({name:"_Bevel_strength", value:BevelFilter(_arg1).strength});
_local4.push({name:"_Bevel_type", value:BevelFilter(_arg1).type});
} else {
if ((_arg1 is BlurFilter)){
_local4.push({name:"_Blur_blurX", value:BlurFilter(_arg1).blurX});
_local4.push({name:"_Blur_blurY", value:BlurFilter(_arg1).blurY});
_local4.push({name:"_Blur_quality", value:BlurFilter(_arg1).quality});
} else {
if ((_arg1 is ColorMatrixFilter)){
_local4.push({name:"_ColorMatrix_matrix", value:ColorMatrixFilter(_arg1).matrix});
} else {
if ((_arg1 is ConvolutionFilter)){
_local4.push({name:"_Convolution_alpha", value:ConvolutionFilter(_arg1).alpha});
_local4.push({name:"_Convolution_bias", value:ConvolutionFilter(_arg1).bias});
_local4.push({name:"_Convolution_clamp", value:ConvolutionFilter(_arg1).clamp});
_local4.push({name:"_Convolution_color", value:ConvolutionFilter(_arg1).color});
_local4.push({name:"_Convolution_divisor", value:ConvolutionFilter(_arg1).divisor});
_local4.push({name:"_Convolution_matrixX", value:ConvolutionFilter(_arg1).matrixX});
_local4.push({name:"_Convolution_matrixY", value:ConvolutionFilter(_arg1).matrixY});
_local4.push({name:"_Convolution_preserveAlpha", value:ConvolutionFilter(_arg1).preserveAlpha});
} else {
if ((_arg1 is DisplacementMapFilter)){
_local4.push({name:"_DisplacementMap_alpha", value:DisplacementMapFilter(_arg1).alpha});
_local4.push({name:"_DisplacementMap_color", value:DisplacementMapFilter(_arg1).color});
_local4.push({name:"_DisplacementMap_componentX", value:DisplacementMapFilter(_arg1).componentX});
_local4.push({name:"_DisplacementMap_componentY", value:DisplacementMapFilter(_arg1).componentY});
_local4.push({name:"_DisplacementMap_mapBitmap", value:DisplacementMapFilter(_arg1).mapBitmap});
_local4.push({name:"_DisplacementMap_mapPoint", value:DisplacementMapFilter(_arg1).mapPoint});
_local4.push({name:"_DisplacementMap_mode", value:DisplacementMapFilter(_arg1).mode});
_local4.push({name:"_DisplacementMap_scaleX", value:DisplacementMapFilter(_arg1).scaleX});
_local4.push({name:"_DisplacementMap_scaleY", value:DisplacementMapFilter(_arg1).scaleY});
} else {
if ((_arg1 is DropShadowFilter)){
_local4.push({name:"_DropShadow_alpha", value:DropShadowFilter(_arg1).alpha});
_local4.push({name:"_DropShadow_angle", value:DropShadowFilter(_arg1).angle});
_local4.push({name:"_DropShadow_blurX", value:DropShadowFilter(_arg1).blurX});
_local4.push({name:"_DropShadow_blurY", value:DropShadowFilter(_arg1).blurY});
_local4.push({name:"_DropShadow_color", value:DropShadowFilter(_arg1).color});
_local4.push({name:"_DropShadow_distance", value:DropShadowFilter(_arg1).distance});
_local4.push({name:"_DropShadow_hideObject", value:DropShadowFilter(_arg1).hideObject});
_local4.push({name:"_DropShadow_inner", value:DropShadowFilter(_arg1).inner});
_local4.push({name:"_DropShadow_knockout", value:DropShadowFilter(_arg1).knockout});
_local4.push({name:"_DropShadow_quality", value:DropShadowFilter(_arg1).quality});
_local4.push({name:"_DropShadow_strength", value:DropShadowFilter(_arg1).strength});
} else {
if ((_arg1 is GlowFilter)){
_local4.push({name:"_Glow_alpha", value:GlowFilter(_arg1).alpha});
_local4.push({name:"_Glow_blurX", value:GlowFilter(_arg1).blurX});
_local4.push({name:"_Glow_blurY", value:GlowFilter(_arg1).blurY});
_local4.push({name:"_Glow_color", value:GlowFilter(_arg1).color});
_local4.push({name:"_Glow_inner", value:GlowFilter(_arg1).inner});
_local4.push({name:"_Glow_knockout", value:GlowFilter(_arg1).knockout});
_local4.push({name:"_Glow_quality", value:GlowFilter(_arg1).quality});
_local4.push({name:"_Glow_strength", value:GlowFilter(_arg1).strength});
} else {
if ((_arg1 is GradientBevelFilter)){
_local4.push({name:"_GradientBevel_angle", value:GradientBevelFilter(_arg1).strength});
_local4.push({name:"_GradientBevel_blurX", value:GradientBevelFilter(_arg1).blurX});
_local4.push({name:"_GradientBevel_blurY", value:GradientBevelFilter(_arg1).blurY});
_local4.push({name:"_GradientBevel_distance", value:GradientBevelFilter(_arg1).distance});
_local4.push({name:"_GradientBevel_quality", value:GradientBevelFilter(_arg1).quality});
_local4.push({name:"_GradientBevel_strength", value:GradientBevelFilter(_arg1).strength});
_local4.push({name:"_GradientBevel_type", value:GradientBevelFilter(_arg1).type});
} else {
if ((_arg1 is GradientGlowFilter)){
_local4.push({name:"_GradientGlow_angle", value:GradientGlowFilter(_arg1).strength});
_local4.push({name:"_GradientGlow_blurX", value:GradientGlowFilter(_arg1).blurX});
_local4.push({name:"_GradientGlow_blurY", value:GradientGlowFilter(_arg1).blurY});
_local4.push({name:"_GradientGlow_distance", value:GradientGlowFilter(_arg1).distance});
_local4.push({name:"_GradientGlow_knockout", value:GradientGlowFilter(_arg1).knockout});
_local4.push({name:"_GradientGlow_quality", value:GradientGlowFilter(_arg1).quality});
_local4.push({name:"_GradientGlow_strength", value:GradientGlowFilter(_arg1).strength});
_local4.push({name:"_GradientGlow_type", value:GradientGlowFilter(_arg1).type});
//unresolved jump
};
};
};
};
};
};
};
};
};
return (_local4);
}
}
}//package caurina.transitions.properties
Section 3
//AuxFunctions (caurina.transitions.AuxFunctions)
package caurina.transitions {
public class AuxFunctions {
public static function getObjectLength(_arg1:Object):uint{
var _local3:String;
var _local2:uint;
for (_local3 in _arg1) {
_local2++;
};
return (_local2);
}
public static function numberToG(_arg1:Number):Number{
return (((_arg1 & 0xFF00) >> 8));
}
public static function numberToB(_arg1:Number):Number{
return ((_arg1 & 0xFF));
}
public static function numberToR(_arg1:Number):Number{
return (((_arg1 & 0xFF0000) >> 16));
}
public static function concatObjects(... _args):Object{
var _local3:Object;
var _local5:String;
var _local2:Object = {};
var _local4:int;
while (_local4 < _args.length) {
_local3 = _args[_local4];
for (_local5 in _local3) {
if (_local3[_local5] == null){
delete _local2[_local5];
} else {
_local2[_local5] = _local3[_local5];
};
};
_local4++;
};
return (_local2);
}
}
}//package caurina.transitions
Section 4
//Equations (caurina.transitions.Equations)
package caurina.transitions {
public class Equations {
public static function easeOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):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 easeInOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 == 2){
return ((_arg2 + _arg3));
};
var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * (0.3 * 1.5)) : _arg5.period;
var _local8:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude;
if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){
_local8 = _arg3;
_local7 = (_local6 / 4);
} else {
_local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8)));
};
if (_arg1 < 1){
--_arg1;
return (((-0.5 * ((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2));
};
--_arg1;
return ((((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) * 0.5) + _arg3) + _arg2));
}
public static function easeInOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2));
};
--_arg1;
return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2));
}
public static function easeInOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (((easeInBounce((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2));
};
return ((((easeOutBounce(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2));
}
public static function easeInOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot;
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
_local6 = (_local6 * 1.525);
return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_local6 + 1) * _arg1) - _local6))) + _arg2));
};
_arg1 = (_arg1 - 2);
_local6 = (_local6 * 1.525);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 2)) + _arg2));
}
public static function easeOutInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutCubic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInCubic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot;
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 1)) + _arg2));
}
public static function easeInOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return ((((-(_arg3) / 2) * (Math.cos(((Math.PI * _arg1) / _arg4)) - 1)) + _arg2));
}
public static function easeInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot;
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * (((_local6 + 1) * _arg1) - _local6)) + _arg2));
}
public static function easeInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return ((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeOutInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuint((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInQuint(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutBounce((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInBounce(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function init():void{
Tweener.registerTransition("easenone", easeNone);
Tweener.registerTransition("linear", easeNone);
Tweener.registerTransition("easeinquad", easeInQuad);
Tweener.registerTransition("easeoutquad", easeOutQuad);
Tweener.registerTransition("easeinoutquad", easeInOutQuad);
Tweener.registerTransition("easeoutinquad", easeOutInQuad);
Tweener.registerTransition("easeincubic", easeInCubic);
Tweener.registerTransition("easeoutcubic", easeOutCubic);
Tweener.registerTransition("easeinoutcubic", easeInOutCubic);
Tweener.registerTransition("easeoutincubic", easeOutInCubic);
Tweener.registerTransition("easeinquart", easeInQuart);
Tweener.registerTransition("easeoutquart", easeOutQuart);
Tweener.registerTransition("easeinoutquart", easeInOutQuart);
Tweener.registerTransition("easeoutinquart", easeOutInQuart);
Tweener.registerTransition("easeinquint", easeInQuint);
Tweener.registerTransition("easeoutquint", easeOutQuint);
Tweener.registerTransition("easeinoutquint", easeInOutQuint);
Tweener.registerTransition("easeoutinquint", easeOutInQuint);
Tweener.registerTransition("easeinsine", easeInSine);
Tweener.registerTransition("easeoutsine", easeOutSine);
Tweener.registerTransition("easeinoutsine", easeInOutSine);
Tweener.registerTransition("easeoutinsine", easeOutInSine);
Tweener.registerTransition("easeincirc", easeInCirc);
Tweener.registerTransition("easeoutcirc", easeOutCirc);
Tweener.registerTransition("easeinoutcirc", easeInOutCirc);
Tweener.registerTransition("easeoutincirc", easeOutInCirc);
Tweener.registerTransition("easeinexpo", easeInExpo);
Tweener.registerTransition("easeoutexpo", easeOutExpo);
Tweener.registerTransition("easeinoutexpo", easeInOutExpo);
Tweener.registerTransition("easeoutinexpo", easeOutInExpo);
Tweener.registerTransition("easeinelastic", easeInElastic);
Tweener.registerTransition("easeoutelastic", easeOutElastic);
Tweener.registerTransition("easeinoutelastic", easeInOutElastic);
Tweener.registerTransition("easeoutinelastic", easeOutInElastic);
Tweener.registerTransition("easeinback", easeInBack);
Tweener.registerTransition("easeoutback", easeOutBack);
Tweener.registerTransition("easeinoutback", easeInOutBack);
Tweener.registerTransition("easeoutinback", easeOutInBack);
Tweener.registerTransition("easeinbounce", easeInBounce);
Tweener.registerTransition("easeoutbounce", easeOutBounce);
Tweener.registerTransition("easeinoutbounce", easeInOutBounce);
Tweener.registerTransition("easeoutinbounce", easeOutInBounce);
}
public static function easeOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg1)==_arg4) ? (_arg2 + _arg3) : (((_arg3 * 1.001) * (-(Math.pow(2, ((-10 * _arg1) / _arg4))) + 1)) + _arg2));
}
public static function easeOutInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutBack((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInBack(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg1)==0) ? _arg2 : (((_arg3 * Math.pow(2, (10 * ((_arg1 / _arg4) - 1)))) + _arg2) - (_arg3 * 0.001)));
}
public static function easeInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((-(_arg3) / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) + 1)) + _arg2));
}
public static function easeInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return ((((_arg3 * _arg1) * _arg1) + _arg2));
}
public static function easeInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg3 - easeOutBounce((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2));
}
public static function easeOutInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutExpo((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInExpo(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((-(_arg3) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 1)) + _arg2));
}
public static function easeInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg3) + _arg2));
}
public static function easeInOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((-(_arg3) / 2) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 2)) + _arg2));
}
public static function easeOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
public static function easeOutInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutElastic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInElastic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period;
var _local8:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude;
if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){
_local8 = _arg3;
_local7 = (_local6 / 4);
} else {
_local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8)));
};
--_arg1;
return ((-(((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2));
}
public static function easeOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeOutInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuad((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInQuad(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return (((_arg3 * Math.sin(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2));
}
public static function easeInOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * _arg1) + 2)) + _arg2));
}
public static function easeInOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2));
}
public static function easeInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return (((-(_arg3) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2));
}
public static function easeOutInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutSine((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInSine(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeInOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 == 0){
return (_arg2);
};
if (_arg1 == _arg4){
return ((_arg2 + _arg3));
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((_arg3 / 2) * Math.pow(2, (10 * (_arg1 - 1)))) + _arg2) - (_arg3 * 0.0005)));
};
--_arg1;
return (((((_arg3 / 2) * 1.0005) * (-(Math.pow(2, (-10 * _arg1))) + 2)) + _arg2));
}
public static function easeOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period;
var _local8:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude;
if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){
_local8 = _arg3;
_local7 = (_local6 / 4);
} else {
_local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8)));
};
return (((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) + _arg3) + _arg2));
}
public static function easeOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * Math.sqrt((1 - (_arg1 * _arg1)))) + _arg2));
}
public static function easeOutInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuart((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInQuart(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeOutInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutCirc((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInCirc(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
}
}//package caurina.transitions
Section 5
//PropertyInfoObj (caurina.transitions.PropertyInfoObj)
package caurina.transitions {
public class PropertyInfoObj {
public var modifierParameters:Array;
public var isSpecialProperty:Boolean;
public var valueComplete:Number;
public var modifierFunction:Function;
public var extra:Object;
public var valueStart:Number;
public var hasModifier:Boolean;
public var arrayIndex:Number;
public var originalValueComplete:Object;
public function PropertyInfoObj(_arg1:Number, _arg2:Number, _arg3:Object, _arg4:Number, _arg5:Object, _arg6:Boolean, _arg7:Function, _arg8:Array){
valueStart = _arg1;
valueComplete = _arg2;
originalValueComplete = _arg3;
arrayIndex = _arg4;
extra = _arg5;
isSpecialProperty = _arg6;
hasModifier = Boolean(_arg7);
modifierFunction = _arg7;
modifierParameters = _arg8;
}
public function toString():String{
var _local1 = "\n[PropertyInfoObj ";
_local1 = (_local1 + ("valueStart:" + String(valueStart)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("valueComplete:" + String(valueComplete)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("originalValueComplete:" + String(originalValueComplete)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("arrayIndex:" + String(arrayIndex)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("extra:" + String(extra)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("isSpecialProperty:" + String(isSpecialProperty)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("hasModifier:" + String(hasModifier)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("modifierFunction:" + String(modifierFunction)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("modifierParameters:" + String(modifierParameters)));
_local1 = (_local1 + "]\n");
return (_local1);
}
public function clone():PropertyInfoObj{
var _local1:PropertyInfoObj = new PropertyInfoObj(valueStart, valueComplete, originalValueComplete, arrayIndex, extra, isSpecialProperty, modifierFunction, modifierParameters);
return (_local1);
}
}
}//package caurina.transitions
Section 6
//SpecialProperty (caurina.transitions.SpecialProperty)
package caurina.transitions {
public class SpecialProperty {
public var parameters:Array;
public var getValue:Function;
public var preProcess:Function;
public var setValue:Function;
public function SpecialProperty(_arg1:Function, _arg2:Function, _arg3:Array=null, _arg4:Function=null){
getValue = _arg1;
setValue = _arg2;
parameters = _arg3;
preProcess = _arg4;
}
public function toString():String{
var _local1 = "";
_local1 = (_local1 + "[SpecialProperty ");
_local1 = (_local1 + ("getValue:" + String(getValue)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("setValue:" + String(setValue)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("parameters:" + String(parameters)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("preProcess:" + String(preProcess)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 7
//SpecialPropertyModifier (caurina.transitions.SpecialPropertyModifier)
package caurina.transitions {
public class SpecialPropertyModifier {
public var getValue:Function;
public var modifyValues:Function;
public function SpecialPropertyModifier(_arg1:Function, _arg2:Function){
modifyValues = _arg1;
getValue = _arg2;
}
public function toString():String{
var _local1 = "";
_local1 = (_local1 + "[SpecialPropertyModifier ");
_local1 = (_local1 + ("modifyValues:" + String(modifyValues)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("getValue:" + String(getValue)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 8
//SpecialPropertySplitter (caurina.transitions.SpecialPropertySplitter)
package caurina.transitions {
public class SpecialPropertySplitter {
public var parameters:Array;
public var splitValues:Function;
public function SpecialPropertySplitter(_arg1:Function, _arg2:Array){
splitValues = _arg1;
parameters = _arg2;
}
public function toString():String{
var _local1 = "";
_local1 = (_local1 + "[SpecialPropertySplitter ");
_local1 = (_local1 + ("splitValues:" + String(splitValues)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("parameters:" + String(parameters)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 9
//Tweener (caurina.transitions.Tweener)
package caurina.transitions {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class Tweener {
private static var _timeScale:Number = 1;
private static var _currentTimeFrame:Number;
private static var _specialPropertySplitterList:Object;
public static var autoOverwrite:Boolean = true;
private static var _engineExists:Boolean = false;
private static var _currentTime:Number;
private static var _tweenList:Array;
private static var _specialPropertyModifierList:Object;
private static var _specialPropertyList:Object;
private static var _transitionList:Object;
private static var _inited:Boolean = false;
private static var __tweener_controller__:MovieClip;
public static function registerSpecialPropertyModifier(_arg1:String, _arg2:Function, _arg3:Function):void{
if (!_inited){
init();
};
var _local4:SpecialPropertyModifier = new SpecialPropertyModifier(_arg2, _arg3);
_specialPropertyModifierList[_arg1] = _local4;
}
public static function registerSpecialProperty(_arg1:String, _arg2:Function, _arg3:Function, _arg4:Array=null, _arg5:Function=null):void{
if (!_inited){
init();
};
var _local6:SpecialProperty = new SpecialProperty(_arg2, _arg3, _arg4, _arg5);
_specialPropertyList[_arg1] = _local6;
}
public static function init(... _args):void{
_inited = true;
_transitionList = new Object();
Equations.init();
_specialPropertyList = new Object();
_specialPropertyModifierList = new Object();
_specialPropertySplitterList = new Object();
}
private static function updateTweens():Boolean{
var _local1:int;
if (_tweenList.length == 0){
return (false);
};
_local1 = 0;
while (_local1 < _tweenList.length) {
if ((((_tweenList[_local1] == undefined)) || (!(_tweenList[_local1].isPaused)))){
if (!updateTweenByIndex(_local1)){
removeTweenByIndex(_local1);
};
if (_tweenList[_local1] == null){
removeTweenByIndex(_local1, true);
_local1--;
};
};
_local1++;
};
return (true);
}
public static function addCaller(_arg1:Object=null, _arg2:Object=null):Boolean{
var _local3:Number;
var _local4:Array;
var _local8:Function;
var _local9:TweenListObj;
var _local10:Number;
var _local11:String;
if (!Boolean(_arg1)){
return (false);
};
if ((_arg1 is Array)){
_local4 = _arg1.concat();
} else {
_local4 = [_arg1];
};
var _local5:Object = _arg2;
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
var _local6:Number = (isNaN(_local5.time)) ? 0 : _local5.time;
var _local7:Number = (isNaN(_local5.delay)) ? 0 : _local5.delay;
if (typeof(_local5.transition) == "string"){
_local11 = _local5.transition.toLowerCase();
_local8 = _transitionList[_local11];
} else {
_local8 = _local5.transition;
};
if (!Boolean(_local8)){
_local8 = _transitionList["easeoutexpo"];
};
_local3 = 0;
while (_local3 < _local4.length) {
if (_local5.useFrames == true){
_local9 = new TweenListObj(_local4[_local3], (_currentTimeFrame + (_local7 / _timeScale)), (_currentTimeFrame + ((_local7 + _local6) / _timeScale)), true, _local8, _local5.transitionParams);
} else {
_local9 = new TweenListObj(_local4[_local3], (_currentTime + ((_local7 * 1000) / _timeScale)), (_currentTime + (((_local7 * 1000) + (_local6 * 1000)) / _timeScale)), false, _local8, _local5.transitionParams);
};
_local9.properties = null;
_local9.onStart = _local5.onStart;
_local9.onUpdate = _local5.onUpdate;
_local9.onComplete = _local5.onComplete;
_local9.onOverwrite = _local5.onOverwrite;
_local9.onStartParams = _local5.onStartParams;
_local9.onUpdateParams = _local5.onUpdateParams;
_local9.onCompleteParams = _local5.onCompleteParams;
_local9.onOverwriteParams = _local5.onOverwriteParams;
_local9.onStartScope = _local5.onStartScope;
_local9.onUpdateScope = _local5.onUpdateScope;
_local9.onCompleteScope = _local5.onCompleteScope;
_local9.onOverwriteScope = _local5.onOverwriteScope;
_local9.onErrorScope = _local5.onErrorScope;
_local9.isCaller = true;
_local9.count = _local5.count;
_local9.waitFrames = _local5.waitFrames;
_tweenList.push(_local9);
if ((((_local6 == 0)) && ((_local7 == 0)))){
_local10 = (_tweenList.length - 1);
updateTweenByIndex(_local10);
removeTweenByIndex(_local10);
};
_local3++;
};
return (true);
}
public static function pauseAllTweens():Boolean{
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
var _local1:Boolean;
_local2 = 0;
while (_local2 < _tweenList.length) {
pauseTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
public static function removeTweens(_arg1:Object, ... _args):Boolean{
var _local4:uint;
var _local5:SpecialPropertySplitter;
var _local6:Array;
var _local7:uint;
var _local3:Array = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){
if (_specialPropertySplitterList[_args[_local4]]){
_local5 = _specialPropertySplitterList[_args[_local4]];
_local6 = _local5.splitValues(_arg1, null);
_local7 = 0;
while (_local7 < _local6.length) {
_local3.push(_local6[_local7].name);
_local7++;
};
} else {
_local3.push(_args[_local4]);
};
};
_local4++;
};
return (affectTweens(removeTweenByIndex, _arg1, _local3));
}
public static function updateFrame():void{
_currentTimeFrame++;
}
public static function splitTweens(_arg1:Number, _arg2:Array):uint{
var _local5:uint;
var _local6:String;
var _local7:Boolean;
var _local3:TweenListObj = _tweenList[_arg1];
var _local4:TweenListObj = _local3.clone(false);
_local5 = 0;
while (_local5 < _arg2.length) {
_local6 = _arg2[_local5];
if (Boolean(_local3.properties[_local6])){
_local3.properties[_local6] = undefined;
delete _local3.properties[_local6];
};
_local5++;
};
for (_local6 in _local4.properties) {
_local7 = false;
_local5 = 0;
while (_local5 < _arg2.length) {
if (_arg2[_local5] == _local6){
_local7 = true;
break;
};
_local5++;
};
if (!_local7){
_local4.properties[_local6] = undefined;
delete _local4.properties[_local6];
};
};
_tweenList.push(_local4);
return ((_tweenList.length - 1));
}
public static function resumeTweenByIndex(_arg1:Number):Boolean{
var _local2:TweenListObj = _tweenList[_arg1];
if ((((_local2 == null)) || (!(_local2.isPaused)))){
return (false);
};
var _local3:Number = getCurrentTweeningTime(_local2);
_local2.timeStart = (_local2.timeStart + (_local3 - _local2.timePaused));
_local2.timeComplete = (_local2.timeComplete + (_local3 - _local2.timePaused));
_local2.timePaused = undefined;
_local2.isPaused = false;
return (true);
}
public static function getVersion():String{
return ("AS3 1.33.74");
}
public static function onEnterFrame(_arg1:Event):void{
updateTime();
updateFrame();
var _local2:Boolean;
_local2 = updateTweens();
if (!_local2){
stopEngine();
};
}
public static function updateTime():void{
_currentTime = getTimer();
}
private static function updateTweenByIndex(_arg1:Number):Boolean{
var tTweening:TweenListObj;
var mustUpdate:Boolean;
var nv:Number;
var t:Number;
var b:Number;
var c:Number;
var d:Number;
var pName:String;
var eventScope:Object;
var tScope:Object;
var tProperty:Object;
var pv:Number;
var i = _arg1;
tTweening = _tweenList[i];
if ((((tTweening == null)) || (!(Boolean(tTweening.scope))))){
return (false);
};
var isOver:Boolean;
var cTime:Number = getCurrentTweeningTime(tTweening);
if (cTime >= tTweening.timeStart){
tScope = tTweening.scope;
if (tTweening.isCaller){
do {
t = (((tTweening.timeComplete - tTweening.timeStart) / tTweening.count) * (tTweening.timesCalled + 1));
b = tTweening.timeStart;
c = (tTweening.timeComplete - tTweening.timeStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, b, c, d);
} while (!(cTime >= nv));
} else {
mustUpdate = (((((tTweening.skipUpdates < 1)) || (!(tTweening.skipUpdates)))) || ((tTweening.updatesSkipped >= tTweening.skipUpdates)));
if (cTime >= tTweening.timeComplete){
isOver = true;
mustUpdate = true;
};
if (!tTweening.hasStarted){
if (Boolean(tTweening.onStart)){
eventScope = (Boolean(tTweening.onStartScope)) ? tTweening.onStartScope : tScope;
try {
tTweening.onStart.apply(eventScope, tTweening.onStartParams);
} catch(e2:Error) {
handleError(tTweening, e2, "onStart");
};
};
for (pName in tTweening.properties) {
if (tTweening.properties[pName].isSpecialProperty){
if (Boolean(_specialPropertyList[pName].preProcess)){
tTweening.properties[pName].valueComplete = _specialPropertyList[pName].preProcess(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].originalValueComplete, tTweening.properties[pName].extra);
};
pv = _specialPropertyList[pName].getValue(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra);
} else {
pv = tScope[pName];
};
tTweening.properties[pName].valueStart = (isNaN(pv)) ? tTweening.properties[pName].valueComplete : pv;
};
mustUpdate = true;
tTweening.hasStarted = true;
};
if (mustUpdate){
for (pName in tTweening.properties) {
tProperty = tTweening.properties[pName];
if (isOver){
nv = tProperty.valueComplete;
} else {
if (tProperty.hasModifier){
t = (cTime - tTweening.timeStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, 0, 1, d, tTweening.transitionParams);
nv = tProperty.modifierFunction(tProperty.valueStart, tProperty.valueComplete, nv, tProperty.modifierParameters);
} else {
t = (cTime - tTweening.timeStart);
b = tProperty.valueStart;
c = (tProperty.valueComplete - tProperty.valueStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, b, c, d, tTweening.transitionParams);
};
};
if (tTweening.rounded){
nv = Math.round(nv);
};
if (tProperty.isSpecialProperty){
_specialPropertyList[pName].setValue(tScope, nv, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra);
} else {
tScope[pName] = nv;
};
};
tTweening.updatesSkipped = 0;
if (Boolean(tTweening.onUpdate)){
eventScope = (Boolean(tTweening.onUpdateScope)) ? tTweening.onUpdateScope : tScope;
try {
tTweening.onUpdate.apply(eventScope, tTweening.onUpdateParams);
} catch(e3:Error) {
handleError(tTweening, e3, "onUpdate");
};
};
} else {
tTweening.updatesSkipped++;
};
};
if (((isOver) && (Boolean(tTweening.onComplete)))){
eventScope = (Boolean(tTweening.onCompleteScope)) ? tTweening.onCompleteScope : tScope;
try {
tTweening.onComplete.apply(eventScope, tTweening.onCompleteParams);
} catch(e4:Error) {
handleError(tTweening, e4, "onComplete");
};
};
return (!(isOver));
};
return (true);
}
public static function setTimeScale(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
if (isNaN(_arg1)){
_arg1 = 1;
};
if (_arg1 < 1E-5){
_arg1 = 1E-5;
};
if (_arg1 != _timeScale){
if (_tweenList != null){
_local2 = 0;
while (_local2 < _tweenList.length) {
_local3 = getCurrentTweeningTime(_tweenList[_local2]);
_tweenList[_local2].timeStart = (_local3 - (((_local3 - _tweenList[_local2].timeStart) * _timeScale) / _arg1));
_tweenList[_local2].timeComplete = (_local3 - (((_local3 - _tweenList[_local2].timeComplete) * _timeScale) / _arg1));
if (_tweenList[_local2].timePaused != undefined){
_tweenList[_local2].timePaused = (_local3 - (((_local3 - _tweenList[_local2].timePaused) * _timeScale) / _arg1));
};
_local2++;
};
};
_timeScale = _arg1;
};
}
public static function resumeAllTweens():Boolean{
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
var _local1:Boolean;
_local2 = 0;
while (_local2 < _tweenList.length) {
resumeTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
private static function handleError(_arg1:TweenListObj, _arg2:Error, _arg3:String):void{
var eventScope:Object;
var pTweening = _arg1;
var pError = _arg2;
var pCallBackName = _arg3;
if (((Boolean(pTweening.onError)) && ((pTweening.onError is Function)))){
eventScope = (Boolean(pTweening.onErrorScope)) ? pTweening.onErrorScope : pTweening.scope;
try {
pTweening.onError.apply(eventScope, [pTweening.scope, pError]);
} catch(metaError:Error) {
printError(((((String(pTweening.scope) + " raised an error while executing the 'onError' handler. Original error:\n ") + pError.getStackTrace()) + "\nonError error: ") + metaError.getStackTrace()));
};
} else {
if (!Boolean(pTweening.onError)){
printError(((((String(pTweening.scope) + " raised an error while executing the '") + pCallBackName) + "'handler. \n") + pError.getStackTrace()));
};
};
}
private static function startEngine():void{
_engineExists = true;
_tweenList = new Array();
__tweener_controller__ = new MovieClip();
__tweener_controller__.addEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame);
_currentTimeFrame = 0;
updateTime();
}
public static function removeAllTweens():Boolean{
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
var _local1:Boolean;
_local2 = 0;
while (_local2 < _tweenList.length) {
removeTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
public static function addTween(_arg1:Object=null, _arg2:Object=null):Boolean{
var _local3:Number;
var _local4:Number;
var _local5:String;
var _local6:Array;
var _local13:Function;
var _local14:Object;
var _local15:TweenListObj;
var _local16:Number;
var _local17:Array;
var _local18:Array;
var _local19:Array;
var _local20:String;
if (!Boolean(_arg1)){
return (false);
};
if ((_arg1 is Array)){
_local6 = _arg1.concat();
} else {
_local6 = [_arg1];
};
var _local7:Object = TweenListObj.makePropertiesChain(_arg2);
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
var _local8:Number = (isNaN(_local7.time)) ? 0 : _local7.time;
var _local9:Number = (isNaN(_local7.delay)) ? 0 : _local7.delay;
var _local10:Array = new Array();
var _local11:Object = {overwrite:true, time:true, delay:true, useFrames:true, skipUpdates:true, transition:true, transitionParams:true, onStart:true, onUpdate:true, onComplete:true, onOverwrite:true, onError:true, rounded:true, onStartParams:true, onUpdateParams:true, onCompleteParams:true, onOverwriteParams:true, onStartScope:true, onUpdateScope:true, onCompleteScope:true, onOverwriteScope:true, onErrorScope:true};
var _local12:Object = new Object();
for (_local5 in _local7) {
if (!_local11[_local5]){
if (_specialPropertySplitterList[_local5]){
_local17 = _specialPropertySplitterList[_local5].splitValues(_local7[_local5], _specialPropertySplitterList[_local5].parameters);
_local3 = 0;
while (_local3 < _local17.length) {
if (_specialPropertySplitterList[_local17[_local3].name]){
_local18 = _specialPropertySplitterList[_local17[_local3].name].splitValues(_local17[_local3].value, _specialPropertySplitterList[_local17[_local3].name].parameters);
_local4 = 0;
while (_local4 < _local18.length) {
_local10[_local18[_local4].name] = {valueStart:undefined, valueComplete:_local18[_local4].value, arrayIndex:_local18[_local4].arrayIndex, isSpecialProperty:false};
_local4++;
};
} else {
_local10[_local17[_local3].name] = {valueStart:undefined, valueComplete:_local17[_local3].value, arrayIndex:_local17[_local3].arrayIndex, isSpecialProperty:false};
};
_local3++;
};
} else {
if (_specialPropertyModifierList[_local5] != undefined){
_local19 = _specialPropertyModifierList[_local5].modifyValues(_local7[_local5]);
_local3 = 0;
while (_local3 < _local19.length) {
_local12[_local19[_local3].name] = {modifierParameters:_local19[_local3].parameters, modifierFunction:_specialPropertyModifierList[_local5].getValue};
_local3++;
};
} else {
_local10[_local5] = {valueStart:undefined, valueComplete:_local7[_local5]};
};
};
};
};
for (_local5 in _local10) {
if (_specialPropertyList[_local5] != undefined){
_local10[_local5].isSpecialProperty = true;
} else {
if (_local6[0][_local5] == undefined){
printError((((("The property '" + _local5) + "' doesn't seem to be a normal object property of ") + String(_local6[0])) + " or a registered special property."));
};
};
};
for (_local5 in _local12) {
if (_local10[_local5] != undefined){
_local10[_local5].modifierParameters = _local12[_local5].modifierParameters;
_local10[_local5].modifierFunction = _local12[_local5].modifierFunction;
};
};
if (typeof(_local7.transition) == "string"){
_local20 = _local7.transition.toLowerCase();
_local13 = _transitionList[_local20];
} else {
_local13 = _local7.transition;
};
if (!Boolean(_local13)){
_local13 = _transitionList["easeoutexpo"];
};
_local3 = 0;
while (_local3 < _local6.length) {
_local14 = new Object();
for (_local5 in _local10) {
_local14[_local5] = new PropertyInfoObj(_local10[_local5].valueStart, _local10[_local5].valueComplete, _local10[_local5].valueComplete, _local10[_local5].arrayIndex, {}, _local10[_local5].isSpecialProperty, _local10[_local5].modifierFunction, _local10[_local5].modifierParameters);
};
if (_local7.useFrames == true){
_local15 = new TweenListObj(_local6[_local3], (_currentTimeFrame + (_local9 / _timeScale)), (_currentTimeFrame + ((_local9 + _local8) / _timeScale)), true, _local13, _local7.transitionParams);
} else {
_local15 = new TweenListObj(_local6[_local3], (_currentTime + ((_local9 * 1000) / _timeScale)), (_currentTime + (((_local9 * 1000) + (_local8 * 1000)) / _timeScale)), false, _local13, _local7.transitionParams);
};
_local15.properties = _local14;
_local15.onStart = _local7.onStart;
_local15.onUpdate = _local7.onUpdate;
_local15.onComplete = _local7.onComplete;
_local15.onOverwrite = _local7.onOverwrite;
_local15.onError = _local7.onError;
_local15.onStartParams = _local7.onStartParams;
_local15.onUpdateParams = _local7.onUpdateParams;
_local15.onCompleteParams = _local7.onCompleteParams;
_local15.onOverwriteParams = _local7.onOverwriteParams;
_local15.onStartScope = _local7.onStartScope;
_local15.onUpdateScope = _local7.onUpdateScope;
_local15.onCompleteScope = _local7.onCompleteScope;
_local15.onOverwriteScope = _local7.onOverwriteScope;
_local15.onErrorScope = _local7.onErrorScope;
_local15.rounded = _local7.rounded;
_local15.skipUpdates = _local7.skipUpdates;
if (((_local7.overwrite == undefined)) ? autoOverwrite : _local7.overwrite){
removeTweensByTime(_local15.scope, _local15.properties, _local15.timeStart, _local15.timeComplete);
};
_tweenList.push(_local15);
if ((((_local8 == 0)) && ((_local9 == 0)))){
_local16 = (_tweenList.length - 1);
updateTweenByIndex(_local16);
removeTweenByIndex(_local16);
};
_local3++;
};
return (true);
}
public static function registerTransition(_arg1:String, _arg2:Function):void{
if (!_inited){
init();
};
_transitionList[_arg1] = _arg2;
}
public static function printError(_arg1:String):void{
}
private static function affectTweens(_arg1:Function, _arg2:Object, _arg3:Array):Boolean{
var _local5:uint;
var _local6:Array;
var _local7:uint;
var _local8:uint;
var _local9:uint;
var _local4:Boolean;
if (!Boolean(_tweenList)){
return (false);
};
_local5 = 0;
while (_local5 < _tweenList.length) {
if (((_tweenList[_local5]) && ((_tweenList[_local5].scope == _arg2)))){
if (_arg3.length == 0){
_arg1(_local5);
_local4 = true;
} else {
_local6 = new Array();
_local7 = 0;
while (_local7 < _arg3.length) {
if (Boolean(_tweenList[_local5].properties[_arg3[_local7]])){
_local6.push(_arg3[_local7]);
};
_local7++;
};
if (_local6.length > 0){
_local8 = AuxFunctions.getObjectLength(_tweenList[_local5].properties);
if (_local8 == _local6.length){
_arg1(_local5);
_local4 = true;
} else {
_local9 = splitTweens(_local5, _local6);
_arg1(_local9);
_local4 = true;
};
};
};
};
_local5++;
};
return (_local4);
}
public static function getTweens(_arg1:Object):Array{
var _local2:uint;
var _local3:String;
if (!Boolean(_tweenList)){
return ([]);
};
var _local4:Array = new Array();
_local2 = 0;
while (_local2 < _tweenList.length) {
if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){
for (_local3 in _tweenList[_local2].properties) {
_local4.push(_local3);
};
};
_local2++;
};
return (_local4);
}
public static function isTweening(_arg1:Object):Boolean{
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local2 = 0;
while (_local2 < _tweenList.length) {
if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){
return (true);
};
_local2++;
};
return (false);
}
public static function pauseTweenByIndex(_arg1:Number):Boolean{
var _local2:TweenListObj = _tweenList[_arg1];
if ((((_local2 == null)) || (_local2.isPaused))){
return (false);
};
_local2.timePaused = getCurrentTweeningTime(_local2);
_local2.isPaused = true;
return (true);
}
public static function getCurrentTweeningTime(_arg1:Object):Number{
return ((_arg1.useFrames) ? _currentTimeFrame : _currentTime);
}
public static function getTweenCount(_arg1:Object):Number{
var _local2:uint;
if (!Boolean(_tweenList)){
return (0);
};
var _local3:Number = 0;
_local2 = 0;
while (_local2 < _tweenList.length) {
if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){
_local3 = (_local3 + AuxFunctions.getObjectLength(_tweenList[_local2].properties));
};
_local2++;
};
return (_local3);
}
private static function stopEngine():void{
_engineExists = false;
_tweenList = null;
_currentTime = 0;
_currentTimeFrame = 0;
__tweener_controller__.removeEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame);
__tweener_controller__ = null;
}
public static function removeTweensByTime(_arg1:Object, _arg2:Object, _arg3:Number, _arg4:Number):Boolean{
var removedLocally:Boolean;
var i:uint;
var pName:String;
var eventScope:Object;
var p_scope = _arg1;
var p_properties = _arg2;
var p_timeStart = _arg3;
var p_timeComplete = _arg4;
var removed:Boolean;
var tl:uint = _tweenList.length;
i = 0;
while (i < tl) {
if (((Boolean(_tweenList[i])) && ((p_scope == _tweenList[i].scope)))){
if ((((p_timeComplete > _tweenList[i].timeStart)) && ((p_timeStart < _tweenList[i].timeComplete)))){
removedLocally = false;
for (pName in _tweenList[i].properties) {
if (Boolean(p_properties[pName])){
if (Boolean(_tweenList[i].onOverwrite)){
eventScope = (Boolean(_tweenList[i].onOverwriteScope)) ? _tweenList[i].onOverwriteScope : _tweenList[i].scope;
try {
_tweenList[i].onOverwrite.apply(eventScope, _tweenList[i].onOverwriteParams);
} catch(e:Error) {
handleError(_tweenList[i], e, "onOverwrite");
};
};
_tweenList[i].properties[pName] = undefined;
delete _tweenList[i].properties[pName];
removedLocally = true;
removed = true;
};
};
if (removedLocally){
if (AuxFunctions.getObjectLength(_tweenList[i].properties) == 0){
removeTweenByIndex(i);
};
};
};
};
i = (i + 1);
};
return (removed);
}
public static function registerSpecialPropertySplitter(_arg1:String, _arg2:Function, _arg3:Array=null):void{
if (!_inited){
init();
};
var _local4:SpecialPropertySplitter = new SpecialPropertySplitter(_arg2, _arg3);
_specialPropertySplitterList[_arg1] = _local4;
}
public static function removeTweenByIndex(_arg1:Number, _arg2:Boolean=false):Boolean{
_tweenList[_arg1] = null;
if (_arg2){
_tweenList.splice(_arg1, 1);
};
return (true);
}
public static function resumeTweens(_arg1:Object, ... _args):Boolean{
var _local4:uint;
var _local3:Array = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(resumeTweenByIndex, _arg1, _local3));
}
public static function pauseTweens(_arg1:Object, ... _args):Boolean{
var _local4:uint;
var _local3:Array = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(pauseTweenByIndex, _arg1, _local3));
}
}
}//package caurina.transitions
Section 10
//TweenListObj (caurina.transitions.TweenListObj)
package caurina.transitions {
public class TweenListObj {
public var hasStarted:Boolean;
public var onUpdate:Function;
public var useFrames:Boolean;
public var count:Number;
public var onOverwriteParams:Array;
public var timeStart:Number;
public var timeComplete:Number;
public var onStartParams:Array;
public var onUpdateScope:Object;
public var rounded:Boolean;
public var onUpdateParams:Array;
public var properties:Object;
public var onComplete:Function;
public var transitionParams:Object;
public var updatesSkipped:Number;
public var onStart:Function;
public var onOverwriteScope:Object;
public var skipUpdates:Number;
public var onStartScope:Object;
public var scope:Object;
public var isCaller:Boolean;
public var timePaused:Number;
public var transition:Function;
public var onCompleteParams:Array;
public var onError:Function;
public var timesCalled:Number;
public var onErrorScope:Object;
public var onOverwrite:Function;
public var isPaused:Boolean;
public var waitFrames:Boolean;
public var onCompleteScope:Object;
public function TweenListObj(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:Boolean, _arg5:Function, _arg6:Object){
scope = _arg1;
timeStart = _arg2;
timeComplete = _arg3;
useFrames = _arg4;
transition = _arg5;
transitionParams = _arg6;
properties = new Object();
isPaused = false;
timePaused = undefined;
isCaller = false;
updatesSkipped = 0;
timesCalled = 0;
skipUpdates = 0;
hasStarted = false;
}
public function clone(_arg1:Boolean):TweenListObj{
var _local3:String;
var _local2:TweenListObj = new TweenListObj(scope, timeStart, timeComplete, useFrames, transition, transitionParams);
_local2.properties = new Array();
for (_local3 in properties) {
_local2.properties[_local3] = properties[_local3].clone();
};
_local2.skipUpdates = skipUpdates;
_local2.updatesSkipped = updatesSkipped;
if (!_arg1){
_local2.onStart = onStart;
_local2.onUpdate = onUpdate;
_local2.onComplete = onComplete;
_local2.onOverwrite = onOverwrite;
_local2.onError = onError;
_local2.onStartParams = onStartParams;
_local2.onUpdateParams = onUpdateParams;
_local2.onCompleteParams = onCompleteParams;
_local2.onOverwriteParams = onOverwriteParams;
_local2.onStartScope = onStartScope;
_local2.onUpdateScope = onUpdateScope;
_local2.onCompleteScope = onCompleteScope;
_local2.onOverwriteScope = onOverwriteScope;
_local2.onErrorScope = onErrorScope;
};
_local2.rounded = rounded;
_local2.isPaused = isPaused;
_local2.timePaused = timePaused;
_local2.isCaller = isCaller;
_local2.count = count;
_local2.timesCalled = timesCalled;
_local2.waitFrames = waitFrames;
_local2.hasStarted = hasStarted;
return (_local2);
}
public function toString():String{
var _local3:String;
var _local1 = "\n[TweenListObj ";
_local1 = (_local1 + ("scope:" + String(scope)));
_local1 = (_local1 + ", properties:");
var _local2:Boolean;
for (_local3 in properties) {
if (!_local2){
_local1 = (_local1 + ",");
};
_local1 = (_local1 + ("[name:" + properties[_local3].name));
_local1 = (_local1 + (",valueStart:" + properties[_local3].valueStart));
_local1 = (_local1 + (",valueComplete:" + properties[_local3].valueComplete));
_local1 = (_local1 + "]");
_local2 = false;
};
_local1 = (_local1 + (", timeStart:" + String(timeStart)));
_local1 = (_local1 + (", timeComplete:" + String(timeComplete)));
_local1 = (_local1 + (", useFrames:" + String(useFrames)));
_local1 = (_local1 + (", transition:" + String(transition)));
_local1 = (_local1 + (", transitionParams:" + String(transitionParams)));
if (skipUpdates){
_local1 = (_local1 + (", skipUpdates:" + String(skipUpdates)));
};
if (updatesSkipped){
_local1 = (_local1 + (", updatesSkipped:" + String(updatesSkipped)));
};
if (Boolean(onStart)){
_local1 = (_local1 + (", onStart:" + String(onStart)));
};
if (Boolean(onUpdate)){
_local1 = (_local1 + (", onUpdate:" + String(onUpdate)));
};
if (Boolean(onComplete)){
_local1 = (_local1 + (", onComplete:" + String(onComplete)));
};
if (Boolean(onOverwrite)){
_local1 = (_local1 + (", onOverwrite:" + String(onOverwrite)));
};
if (Boolean(onError)){
_local1 = (_local1 + (", onError:" + String(onError)));
};
if (onStartParams){
_local1 = (_local1 + (", onStartParams:" + String(onStartParams)));
};
if (onUpdateParams){
_local1 = (_local1 + (", onUpdateParams:" + String(onUpdateParams)));
};
if (onCompleteParams){
_local1 = (_local1 + (", onCompleteParams:" + String(onCompleteParams)));
};
if (onOverwriteParams){
_local1 = (_local1 + (", onOverwriteParams:" + String(onOverwriteParams)));
};
if (onStartScope){
_local1 = (_local1 + (", onStartScope:" + String(onStartScope)));
};
if (onUpdateScope){
_local1 = (_local1 + (", onUpdateScope:" + String(onUpdateScope)));
};
if (onCompleteScope){
_local1 = (_local1 + (", onCompleteScope:" + String(onCompleteScope)));
};
if (onOverwriteScope){
_local1 = (_local1 + (", onOverwriteScope:" + String(onOverwriteScope)));
};
if (onErrorScope){
_local1 = (_local1 + (", onErrorScope:" + String(onErrorScope)));
};
if (rounded){
_local1 = (_local1 + (", rounded:" + String(rounded)));
};
if (isPaused){
_local1 = (_local1 + (", isPaused:" + String(isPaused)));
};
if (timePaused){
_local1 = (_local1 + (", timePaused:" + String(timePaused)));
};
if (isCaller){
_local1 = (_local1 + (", isCaller:" + String(isCaller)));
};
if (count){
_local1 = (_local1 + (", count:" + String(count)));
};
if (timesCalled){
_local1 = (_local1 + (", timesCalled:" + String(timesCalled)));
};
if (waitFrames){
_local1 = (_local1 + (", waitFrames:" + String(waitFrames)));
};
if (hasStarted){
_local1 = (_local1 + (", hasStarted:" + String(hasStarted)));
};
_local1 = (_local1 + "]\n");
return (_local1);
}
public static function makePropertiesChain(_arg1:Object):Object{
var _local3:Object;
var _local4:Object;
var _local5:Object;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local2:Object = _arg1.base;
if (_local2){
_local3 = {};
if ((_local2 is Array)){
_local4 = [];
_local8 = 0;
while (_local8 < _local2.length) {
_local4.push(_local2[_local8]);
_local8++;
};
} else {
_local4 = [_local2];
};
_local4.push(_arg1);
_local6 = _local4.length;
_local7 = 0;
while (_local7 < _local6) {
if (_local4[_local7]["base"]){
_local5 = AuxFunctions.concatObjects(makePropertiesChain(_local4[_local7]["base"]), _local4[_local7]);
} else {
_local5 = _local4[_local7];
};
_local3 = AuxFunctions.concatObjects(_local3, _local5);
_local7++;
};
if (_local3["base"]){
delete _local3["base"];
};
return (_local3);
//unresolved jump
};
return (_arg1);
}
}
}//package caurina.transitions
Section 11
//KongregateEvent (com.kongregate.as3.client.events.KongregateEvent)
package com.kongregate.as3.client.events {
import flash.events.*;
public class KongregateEvent extends Event {
public static const COMPLETE:String = "component_api_available";
public function KongregateEvent(_arg1:String){
super(_arg1);
}
}
}//package com.kongregate.as3.client.events
Section 12
//AbstractShadowService (com.kongregate.as3.client.services.AbstractShadowService)
package com.kongregate.as3.client.services {
import flash.events.*;
public class AbstractShadowService extends EventDispatcher {
protected function alert(_arg1:String, _arg2:String, _arg3="", _arg4:String=""):void{
trace(((((((("Kongregate API: " + _arg1) + ".") + _arg2) + "(") + _arg3) + ") ") + _arg4));
}
}
}//package com.kongregate.as3.client.services
Section 13
//HighScoreServiceShadow (com.kongregate.as3.client.services.HighScoreServiceShadow)
package com.kongregate.as3.client.services {
public class HighScoreServiceShadow extends AbstractShadowService implements IHighScoreServices {
private var mode:String;
public function HighScoreServiceShadow(){
mode = "";
}
public function submit(_arg1:Number, _arg2:String=null):void{
alert("IHighScoreServices", "submit", arguments);
}
public function connect():Boolean{
alert("IKongregateServices", "connect");
return (true);
}
public function requestList(_arg1:Function):void{
alert("IHighScoreServices", "requestList", "", (("[Mode: " + mode) + "]"));
_arg1({success:false});
}
public function setMode(_arg1:String):void{
alert("IHighScoreServices", "setMode", arguments);
this.mode = _arg1;
}
}
}//package com.kongregate.as3.client.services
Section 14
//IHighScoreServices (com.kongregate.as3.client.services.IHighScoreServices)
package com.kongregate.as3.client.services {
public interface IHighScoreServices {
function setMode(_arg1:String):void;
function submit(_arg1:Number, _arg2:String=null):void;
function requestList(_arg1:Function):void;
}
}//package com.kongregate.as3.client.services
Section 15
//IKongregateServices (com.kongregate.as3.client.services.IKongregateServices)
package com.kongregate.as3.client.services {
import flash.events.*;
public interface IKongregateServices extends IEventDispatcher {
function getPlayerInfo(_arg1:Function):void;
function connect(_arg1:Number=-1):Boolean;
}
}//package com.kongregate.as3.client.services
Section 16
//IStatServices (com.kongregate.as3.client.services.IStatServices)
package com.kongregate.as3.client.services {
public interface IStatServices {
function submitArray(_arg1:Array):void;
function submit(_arg1:String, _arg2:Number):void;
}
}//package com.kongregate.as3.client.services
Section 17
//IUserServices (com.kongregate.as3.client.services.IUserServices)
package com.kongregate.as3.client.services {
public interface IUserServices {
function getName():String;
function getPlayerInfo(_arg1:Function):void;
}
}//package com.kongregate.as3.client.services
Section 18
//KongregateServiceShadow (com.kongregate.as3.client.services.KongregateServiceShadow)
package com.kongregate.as3.client.services {
public class KongregateServiceShadow extends AbstractShadowService implements IKongregateServices {
public function getName():String{
alert("IKongregateServices", "getName");
return ("Guest");
}
public function connect(_arg1:Number=-1):Boolean{
alert("IKongregateServices", "connect", arguments);
return (true);
}
public function getPlayerInfo(_arg1:Function):void{
alert("IKongregateServices", "getPlayerInfo");
_arg1(new Object());
}
}
}//package com.kongregate.as3.client.services
Section 19
//StatServiceShadow (com.kongregate.as3.client.services.StatServiceShadow)
package com.kongregate.as3.client.services {
public class StatServiceShadow extends AbstractShadowService implements IStatServices {
public function submitArray(_arg1:Array):void{
alert("IStatServices", "submitArray", arguments);
}
public function submit(_arg1:String, _arg2:Number):void{
alert("IStatServices", "submitStat", arguments);
}
}
}//package com.kongregate.as3.client.services
Section 20
//UserServiceShadow (com.kongregate.as3.client.services.UserServiceShadow)
package com.kongregate.as3.client.services {
public class UserServiceShadow extends AbstractShadowService implements IUserServices {
public function getName():String{
alert("UserService", "getName");
return ("Guest");
}
public function getPlayerInfo(_arg1:Function):void{
alert("UserService", "getPlayerInfo");
_arg1({isGuest:true, name:"Guest", points:0, level:0, isMode:false, isAdmin:false, isDeveloper:false, avatarPath:"", chatAvatarPath:""});
}
}
}//package com.kongregate.as3.client.services
Section 21
//IAPIBootstrap (com.kongregate.as3.client.IAPIBootstrap)
package com.kongregate.as3.client {
import flash.events.*;
import flash.display.*;
public interface IAPIBootstrap {
function init(_arg1:Event=null, _arg2:Stage=null):void;
function hideLog():void;
function showLog(_arg1:int=0):void;
}
}//package com.kongregate.as3.client
Section 22
//KongregateAPI (com.kongregate.as3.client.KongregateAPI)
package com.kongregate.as3.client {
import flash.events.*;
import flash.display.*;
import com.kongregate.as3.client.services.*;
import flash.utils.*;
import com.kongregate.as3.client.events.*;
import flash.system.*;
import flash.net.*;
import flash.errors.*;
public class KongregateAPI extends Sprite {
private const VERSION:Number = 1;
private var loader:Loader;
private var loadedDomain:ApplicationDomain;
private static const CLASS_USER:String = "com.kongregate.as3.client.services.UserServices";
private static const CLASS_STATS:String = "com.kongregate.as3.client.services.StatServices";
private static const CLASS_SERVICES:String = "com.kongregate.as3.client.services.KongregateServices";
private static const CLASS_SCORES:String = "com.kongregate.as3.client.services.HighScoreServices";
private static const DEBUG_API_URL:String = "//Linuxpc/kongregate/public/flash/API_AS3.swf";
private static var _connected:Boolean;
private static var kUser:IUserServices;
private static var _loaded:Boolean;
private static var kServices:IKongregateServices;
private static var kScores:IHighScoreServices;
private static var mInstance:KongregateAPI;
private static var kStats:IStatServices;
private static var kAPI:IAPIBootstrap;
public function KongregateAPI(){
if (mInstance != null){
throw (new Error("Warning: KongregateAPI has been added to stage more than once or accessed improperly. Use getInstance() or a stage reference to access."));
};
mInstance = this;
this.addEventListener(Event.ADDED_TO_STAGE, init, false, 0, true);
}
public function get loaded():Boolean{
return (_loaded);
}
public function get connected():Boolean{
return (_connected);
}
private function alertConnected(_arg1:TimerEvent=null):void{
var _local2:KongregateEvent;
var _local3:Boolean;
_local2 = new KongregateEvent(KongregateEvent.COMPLETE);
_local3 = this.dispatchEvent(_local2);
}
private function init(_arg1:Event):void{
var _local2:Object;
var _local3:String;
var _local4:URLRequest;
var _local5:LoaderContext;
this.removeEventListener(Event.ADDED_TO_STAGE, init);
_loaded = false;
_connected = false;
_local2 = LoaderInfo(root.loaderInfo).parameters;
_local3 = _local2.api_path;
if (_local3 == null){
trace("Alert: Kongregate API could not be loaded, due to local testing. API will load when the game is uploaded.");
createShadowServices();
return;
};
Security.allowDomain("*.kongregate.com");
Security.allowDomain("kongregatetrunk.com");
_local4 = new URLRequest(_local3);
_local5 = new LoaderContext(false);
_local5.applicationDomain = ApplicationDomain.currentDomain;
_local5.securityDomain = SecurityDomain.currentDomain;
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
loader.load(_local4, _local5);
}
public function get api():IAPIBootstrap{
return (kAPI);
}
private function loadComplete(_arg1:Event):void{
getServices();
}
public function get scores():IHighScoreServices{
return (kScores);
}
private function ioErrorHandler(_arg1:IOErrorEvent):void{
throw (new IOError(("API file not found. " + _arg1)));
}
public function get services():IKongregateServices{
return (kServices);
}
public function get stats():IStatServices{
return (kStats);
}
private function createShadowServices():void{
var _local1:Timer;
trace(">>> Kongregate Shadow Services instantiated for local development..");
kServices = new KongregateServiceShadow();
kScores = new HighScoreServiceShadow();
kStats = new StatServiceShadow();
kUser = new UserServiceShadow();
_local1 = new Timer(200, 1);
_local1.addEventListener(TimerEvent.TIMER_COMPLETE, alertConnected);
_local1.start();
_connected = true;
}
public function get user():IUserServices{
return (kUser);
}
private function getServices():void{
var _local1:ApplicationDomain;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local1 = ApplicationDomain.currentDomain;
kAPI = IAPIBootstrap(loader.getChildAt(0));
this.addChild(loader);
_local2 = _local1.getDefinition(CLASS_SERVICES);
trace(_local2);
kServices = _local2.getInstance();
_local3 = _local1.getDefinition(CLASS_SCORES);
kScores = _local3.getInstance();
_local4 = _local1.getDefinition(CLASS_STATS);
kStats = _local4.getInstance();
_local5 = _local1.getDefinition(CLASS_USER);
kUser = _local5.getInstance();
kServices.connect(VERSION);
_loaded = true;
_connected = true;
alertConnected();
}
public static function getInstance():KongregateAPI{
if (!mInstance){
throw (new IllegalOperationError("You must add the Kongregate API component to the stage before attempting to access it."));
};
return (mInstance);
}
}
}//package com.kongregate.as3.client
Section 23
//BaseScrollPane (fl.containers.BaseScrollPane)
package fl.containers {
import fl.core.*;
import flash.events.*;
import flash.display.*;
import fl.controls.*;
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 24
//CellRenderer (fl.controls.listClasses.CellRenderer)
package fl.controls.listClasses {
import flash.events.*;
import fl.controls.*;
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 25
//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 26
//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 27
//BaseButton (fl.controls.BaseButton)
package fl.controls {
import fl.core.*;
import flash.events.*;
import flash.display.*;
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 28
//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 29
//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 30
//CheckBox (fl.controls.CheckBox)
package fl.controls {
import flash.display.*;
public class CheckBox extends LabelButton {
private static var defaultStyles:Object = {icon:null, upIcon:"CheckBox_upIcon", downIcon:"CheckBox_downIcon", overIcon:"CheckBox_overIcon", disabledIcon:"CheckBox_disabledIcon", selectedDisabledIcon:"CheckBox_selectedDisabledIcon", focusRectSkin:null, focusRectPadding:null, selectedUpIcon:"CheckBox_selectedUpIcon", selectedDownIcon:"CheckBox_selectedDownIcon", selectedOverIcon:"CheckBox_selectedOverIcon", textFormat:null, disabledTextFormat:null, embedFonts:null, textPadding:5};
public static var createAccessibilityImplementation:Function;
override public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
super.drawFocus(_arg1);
if (_arg1){
_local2 = Number(getStyleValue("focusRectPadding"));
uiFocusRect.x = (background.x - _local2);
uiFocusRect.y = (background.y - _local2);
uiFocusRect.width = (background.width + (_local2 << 1));
uiFocusRect.height = (background.height + (_local2 << 1));
};
}
override public function get autoRepeat():Boolean{
return (false);
}
override public function set autoRepeat(_arg1:Boolean):void{
}
override public function set toggle(_arg1:Boolean):void{
throw (new Error("Warning: You cannot change a CheckBox's toggle."));
}
override public function get toggle():Boolean{
return (true);
}
override protected function configUI():void{
var _local1:Shape;
var _local2:Graphics;
super.configUI();
super.toggle = true;
_local1 = new Shape();
_local2 = _local1.graphics;
_local2.beginFill(0, 0);
_local2.drawRect(0, 0, 100, 100);
_local2.endFill();
background = (_local1 as DisplayObject);
addChildAt(background, 0);
}
override protected function drawLayout():void{
var _local1:Number;
super.drawLayout();
_local1 = Number(getStyleValue("textPadding"));
switch (_labelPlacement){
case ButtonLabelPlacement.RIGHT:
icon.x = _local1;
textField.x = (icon.x + (icon.width + _local1));
background.width = ((textField.x + textField.width) + _local1);
background.height = (Math.max(textField.height, icon.height) + (_local1 * 2));
break;
case ButtonLabelPlacement.LEFT:
icon.x = ((width - icon.width) - _local1);
textField.x = (((width - icon.width) - (_local1 * 2)) - textField.width);
background.width = ((textField.width + icon.width) + (_local1 * 3));
background.height = (Math.max(textField.height, icon.height) + (_local1 * 2));
break;
case ButtonLabelPlacement.TOP:
case ButtonLabelPlacement.BOTTOM:
background.width = (Math.max(textField.width, icon.width) + (_local1 * 2));
background.height = ((textField.height + icon.height) + (_local1 * 3));
break;
};
background.x = Math.min((icon.x - _local1), (textField.x - _local1));
background.y = Math.min((icon.y - _local1), (textField.y - _local1));
}
override protected function drawBackground():void{
}
override protected function initializeAccessibility():void{
if (CheckBox.createAccessibilityImplementation != null){
CheckBox.createAccessibilityImplementation(this);
};
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 31
//ComboBox (fl.controls.ComboBox)
package fl.controls {
import fl.controls.listClasses.*;
import fl.core.*;
import flash.events.*;
import flash.display.*;
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 32
//LabelButton (fl.controls.LabelButton)
package fl.controls {
import fl.core.*;
import flash.events.*;
import flash.display.*;
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 33
//List (fl.controls.List)
package fl.controls {
import fl.controls.listClasses.*;
import fl.core.*;
import flash.events.*;
import flash.display.*;
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 34
//NumericStepper (fl.controls.NumericStepper)
package fl.controls {
import fl.core.*;
import flash.events.*;
import flash.display.*;
import fl.managers.*;
import fl.events.*;
import flash.ui.*;
public class NumericStepper extends UIComponent implements IFocusManagerComponent {
protected var upArrow:BaseButton;
protected var _stepSize:Number;// = 1
protected var downArrow:BaseButton;
protected var _value:Number;// = 1
protected var _minimum:Number;// = 0
protected var _maximum:Number;// = 10
protected var _precision:Number;
protected var inputField:TextInput;
protected static const DOWN_ARROW_STYLES:Object = {disabledSkin:"downArrowDisabledSkin", downSkin:"downArrowDownSkin", overSkin:"downArrowOverSkin", upSkin:"downArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
protected static const TEXT_INPUT_STYLES:Object = {upSkin:"upSkin", disabledSkin:"disabledSkin", textPadding:"textPadding", textFormat:"textFormat", disabledTextFormat:"disabledTextFormat", embedFonts:"embedFonts"};
protected static const UP_ARROW_STYLES:Object = {disabledSkin:"upArrowDisabledSkin", downSkin:"upArrowDownSkin", overSkin:"upArrowOverSkin", upSkin:"upArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
private static var defaultStyles:Object = {downArrowDisabledSkin:"NumericStepperDownArrow_disabledSkin", downArrowDownSkin:"NumericStepperDownArrow_downSkin", downArrowOverSkin:"NumericStepperDownArrow_overSkin", downArrowUpSkin:"NumericStepperDownArrow_upSkin", upArrowDisabledSkin:"NumericStepperUpArrow_disabledSkin", upArrowDownSkin:"NumericStepperUpArrow_downSkin", upArrowOverSkin:"NumericStepperUpArrow_overSkin", upArrowUpSkin:"NumericStepperUpArrow_upSkin", upSkin:"TextInput_upSkin", disabledSkin:"TextInput_disabledSkin", focusRect:null, focusRectSkin:null, focusRectPadding:null, repeatDelay:500, repeatInterval:35, embedFonts:false};
public function NumericStepper(){
_maximum = 10;
_minimum = 0;
_value = 1;
_stepSize = 1;
super();
setStyles();
stepSize = _stepSize;
}
override public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
super.drawFocus(_arg1);
if (_arg1){
_local2 = Number(getStyleValue("focusRectPadding"));
uiFocusRect.width = (width + (_local2 * 2));
uiFocusRect.height = (height + (_local2 * 2));
};
}
public function get minimum():Number{
return (_minimum);
}
public function set imeMode(_arg1:String):void{
inputField.imeMode = _arg1;
}
public function set minimum(_arg1:Number):void{
_minimum = _arg1;
if (_value < _minimum){
setValue(_minimum, false);
};
}
public function get maximum():Number{
return (_maximum);
}
override protected function isOurFocus(_arg1:DisplayObject):Boolean{
return ((((_arg1 == inputField)) || (super.isOurFocus(_arg1))));
}
public function get nextValue():Number{
var _local1:Number;
_local1 = (_value + _stepSize);
return ((inRange(_local1)) ? _local1 : _value);
}
public function set maximum(_arg1:Number):void{
_maximum = _arg1;
if (_value > _maximum){
setValue(_maximum, false);
};
}
protected function setValue(_arg1:Number, _arg2:Boolean=true):void{
var _local3:Number;
if (_arg1 == _value){
return;
};
_local3 = _value;
_value = getValidValue(_arg1);
inputField.text = _value.toString();
if (_arg2){
dispatchEvent(new Event(Event.CHANGE, true));
};
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
var _local2:Number;
if (!enabled){
return;
};
_arg1.stopImmediatePropagation();
_local2 = Number(inputField.text);
switch (_arg1.keyCode){
case Keyboard.END:
setValue(maximum);
break;
case Keyboard.HOME:
setValue(minimum);
break;
case Keyboard.UP:
setValue(nextValue);
break;
case Keyboard.DOWN:
setValue(previousValue);
break;
case Keyboard.ENTER:
setValue(_local2);
break;
};
}
override public function set enabled(_arg1:Boolean):void{
if (_arg1 == enabled){
return;
};
super.enabled = _arg1;
upArrow.enabled = (downArrow.enabled = (inputField.enabled = _arg1));
}
protected function onTextChange(_arg1:Event):void{
_arg1.stopImmediatePropagation();
}
public function get previousValue():Number{
var _local1:Number;
_local1 = (_value - _stepSize);
return ((inRange(_local1)) ? _local1 : _value);
}
protected function getValidValue(_arg1:Number):Number{
var _local2:Number;
if (isNaN(_arg1)){
return (_value);
};
_local2 = Number((_stepSize * Math.round((_arg1 / _stepSize))).toFixed(_precision));
if (_local2 > maximum){
return (maximum);
};
if (_local2 < minimum){
return (minimum);
};
return (_local2);
}
public function set value(_arg1:Number):void{
setValue(_arg1, false);
}
public function get stepSize():Number{
return (_stepSize);
}
protected function passEvent(_arg1:Event):void{
dispatchEvent(_arg1);
}
public function get imeMode():String{
return (inputField.imeMode);
}
protected function stepperPressHandler(_arg1:ComponentEvent):void{
setValue(Number(inputField.text), false);
switch (_arg1.currentTarget){
case upArrow:
setValue(nextValue);
break;
case downArrow:
setValue(previousValue);
};
inputField.setFocus();
inputField.textField.setSelection(0, 0);
}
override protected function focusOutHandler(_arg1:FocusEvent):void{
if (_arg1.eventPhase == 3){
setValue(Number(inputField.text));
};
super.focusOutHandler(_arg1);
}
protected function inRange(_arg1:Number):Boolean{
return ((((_arg1 >= _minimum)) && ((_arg1 <= _maximum))));
}
override public function get enabled():Boolean{
return (super.enabled);
}
override protected function draw():void{
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
setStyles();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
if (((isFocused) && (focusManager.showFocusIndicator))){
drawFocus(true);
};
validate();
}
override protected function configUI():void{
super.configUI();
upArrow = new BaseButton();
copyStylesToChild(upArrow, UP_ARROW_STYLES);
upArrow.autoRepeat = true;
upArrow.setSize(21, 12);
upArrow.focusEnabled = false;
addChild(upArrow);
downArrow = new BaseButton();
copyStylesToChild(downArrow, DOWN_ARROW_STYLES);
downArrow.autoRepeat = true;
downArrow.setSize(21, 12);
downArrow.focusEnabled = false;
addChild(downArrow);
inputField = new TextInput();
copyStylesToChild(inputField, TEXT_INPUT_STYLES);
inputField.restrict = "0-9\\-\\.\\,";
inputField.text = _value.toString();
inputField.setSize(21, 24);
inputField.focusTarget = (this as IFocusManagerComponent);
inputField.focusEnabled = false;
inputField.addEventListener(FocusEvent.FOCUS_IN, passEvent);
inputField.addEventListener(FocusEvent.FOCUS_OUT, passEvent);
addChild(inputField);
inputField.addEventListener(Event.CHANGE, onTextChange, false, 0, true);
upArrow.addEventListener(ComponentEvent.BUTTON_DOWN, stepperPressHandler, false, 0, true);
downArrow.addEventListener(ComponentEvent.BUTTON_DOWN, stepperPressHandler, false, 0, true);
}
public function get value():Number{
return (_value);
}
protected function inStep(_arg1:Number):Boolean{
return ((((_arg1 - _minimum) % _stepSize) == 0));
}
protected function drawLayout():void{
var _local1:Number;
var _local2:Number;
_local1 = (width - upArrow.width);
_local2 = (height / 2);
inputField.setSize(_local1, height);
upArrow.height = _local2;
downArrow.height = Math.floor(_local2);
downArrow.move(_local1, _local2);
upArrow.move(_local1, 0);
downArrow.drawNow();
upArrow.drawNow();
inputField.drawNow();
}
override public function setFocus():void{
if (stage){
stage.focus = inputField.textField;
};
}
protected function getPrecision():Number{
var _local1:String;
_local1 = _stepSize.toString();
if (_local1.indexOf(".") == -1){
return (0);
};
return (_local1.split(".").pop().length);
}
public function get textField():TextInput{
return (inputField);
}
public function set stepSize(_arg1:Number):void{
_stepSize = _arg1;
_precision = getPrecision();
setValue(_value);
}
protected function setStyles():void{
copyStylesToChild(downArrow, DOWN_ARROW_STYLES);
copyStylesToChild(upArrow, UP_ARROW_STYLES);
copyStylesToChild(inputField, TEXT_INPUT_STYLES);
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 35
//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 36
//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 37
//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 38
//SelectableList (fl.controls.SelectableList)
package fl.controls {
import fl.controls.listClasses.*;
import fl.core.*;
import flash.events.*;
import flash.display.*;
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 39
//TextArea (fl.controls.TextArea)
package fl.controls {
import fl.core.*;
import flash.events.*;
import flash.display.*;
import fl.managers.*;
import fl.events.*;
import flash.text.*;
import flash.system.*;
import flash.ui.*;
public class TextArea extends UIComponent implements IFocusManagerComponent {
protected var _html:Boolean;// = false
protected var _verticalScrollBar:UIScrollBar;
protected var _savedHTML:String;
protected var background:DisplayObject;
protected var _horizontalScrollBar:UIScrollBar;
protected var _horizontalScrollPolicy:String;// = "auto"
protected var _editable:Boolean;// = true
protected var textHasChanged:Boolean;// = false
public var textField:TextField;
protected var _wordWrap:Boolean;// = true
protected var _verticalScrollPolicy:String;// = "auto"
protected static const SCROLL_BAR_STYLES:Object = {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"};
private static var defaultStyles:Object = {upSkin:"TextArea_upSkin", disabledSkin:"TextArea_disabledSkin", focusRectSkin:null, focusRectPadding:null, textFormat:null, disabledTextFormat:null, textPadding:3, embedFonts:false};
public static var createAccessibilityImplementation:Function;
public function TextArea(){
_editable = true;
_wordWrap = true;
_horizontalScrollPolicy = ScrollPolicy.AUTO;
_verticalScrollPolicy = ScrollPolicy.AUTO;
_html = false;
textHasChanged = 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;
}
protected function handleWheel(_arg1:MouseEvent):void{
if (((!(enabled)) || (!(_verticalScrollBar.visible)))){
return;
};
_verticalScrollBar.scrollPosition = (_verticalScrollBar.scrollPosition - (_arg1.delta * _verticalScrollBar.lineScrollSize));
dispatchEvent(new ScrollEvent(ScrollBarDirection.VERTICAL, (_arg1.delta * _verticalScrollBar.lineScrollSize), _verticalScrollBar.scrollPosition));
}
public function get verticalScrollPosition():Number{
return (textField.scrollV);
}
override protected function isOurFocus(_arg1:DisplayObject):Boolean{
return ((((_arg1 == textField)) || (super.isOurFocus(_arg1))));
}
public function set verticalScrollPosition(_arg1:Number):void{
drawNow();
textField.scrollV = _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{
if (((componentInspectorSetting) && ((_arg1 == "")))){
return;
};
textField.text = _arg1;
_html = false;
invalidate(InvalidationType.DATA);
invalidate(InvalidationType.STYLES);
textHasChanged = true;
}
protected function updateTextFieldType():void{
textField.type = (((enabled) && (_editable))) ? TextFieldType.INPUT : TextFieldType.DYNAMIC;
textField.selectable = enabled;
textField.wordWrap = _wordWrap;
textField.multiline = true;
}
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;
setIMEMode(true);
if (_arg1.target == this){
stage.focus = textField;
};
_local2 = focusManager;
if (_local2){
if (editable){
_local2.showFocusIndicator = true;
};
_local2.defaultButtonEnabled = false;
};
super.focusInHandler(_arg1);
if (editable){
setIMEMode(true);
};
}
public function get wordWrap():Boolean{
return (_wordWrap);
}
public function get selectionBeginIndex():int{
return (textField.selectionBeginIndex);
}
public function get horizontalScrollBar():UIScrollBar{
return (_horizontalScrollBar);
}
public function set alwaysShowSelection(_arg1:Boolean):void{
textField.alwaysShowSelection = _arg1;
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
mouseChildren = enabled;
invalidate(InvalidationType.STATE);
}
protected function setEmbedFont(){
var _local1:Object;
_local1 = getStyleValue("embedFonts");
if (_local1 != null){
textField.embedFonts = _local1;
};
}
public function get horizontalScrollPosition():Number{
return (textField.scrollH);
}
public function set condenseWhite(_arg1:Boolean):void{
textField.condenseWhite = _arg1;
invalidate(InvalidationType.DATA);
}
public function get horizontalScrollPolicy():String{
return (_horizontalScrollPolicy);
}
public function set displayAsPassword(_arg1:Boolean):void{
textField.displayAsPassword = _arg1;
}
public function get maxVerticalScrollPosition():int{
return (textField.maxScrollV);
}
public function set horizontalScrollPosition(_arg1:Number):void{
drawNow();
textField.scrollH = _arg1;
}
public function get textHeight():Number{
drawNow();
return (textField.textHeight);
}
public function get textWidth():Number{
drawNow();
return (textField.textWidth);
}
public function get restrict():String{
return (textField.restrict);
}
public function set editable(_arg1:Boolean):void{
_editable = _arg1;
invalidate(InvalidationType.STATE);
}
protected function updateScrollBars(){
_horizontalScrollBar.update();
_verticalScrollBar.update();
_verticalScrollBar.enabled = enabled;
_horizontalScrollBar.enabled = enabled;
_horizontalScrollBar.drawNow();
_verticalScrollBar.drawNow();
}
public function get maxChars():int{
return (textField.maxChars);
}
public function get length():Number{
return (textField.text.length);
}
public function set wordWrap(_arg1:Boolean):void{
_wordWrap = _arg1;
invalidate(InvalidationType.STATE);
}
public function get verticalScrollPolicy():String{
return (_verticalScrollPolicy);
}
public function getLineMetrics(_arg1:int):TextLineMetrics{
return (textField.getLineMetrics(_arg1));
}
public function get imeMode():String{
return (IME.conversionMode);
}
protected function handleScroll(_arg1:ScrollEvent):void{
dispatchEvent(_arg1);
}
override protected function focusOutHandler(_arg1:FocusEvent):void{
var _local2:IFocusManager;
_local2 = focusManager;
if (_local2){
_local2.defaultButtonEnabled = true;
};
setSelection(0, 0);
super.focusOutHandler(_arg1);
if (editable){
setIMEMode(false);
};
}
protected function delayedLayoutUpdate(_arg1:Event):void{
if (textHasChanged){
textHasChanged = false;
drawLayout();
return;
};
removeEventListener(Event.ENTER_FRAME, delayedLayoutUpdate);
}
public function set htmlText(_arg1:String):void{
if (((componentInspectorSetting) && ((_arg1 == "")))){
return;
};
if (_arg1 == ""){
text = "";
return;
};
_html = true;
_savedHTML = _arg1;
textField.htmlText = _arg1;
invalidate(InvalidationType.DATA);
invalidate(InvalidationType.STYLES);
textHasChanged = true;
}
public function get text():String{
return (textField.text);
}
public function get verticalScrollBar():UIScrollBar{
return (_verticalScrollBar);
}
override public function get enabled():Boolean{
return (super.enabled);
}
public function get condenseWhite():Boolean{
return (textField.condenseWhite);
}
public function set horizontalScrollPolicy(_arg1:String):void{
_horizontalScrollPolicy = _arg1;
invalidate(InvalidationType.SIZE);
}
public function get displayAsPassword():Boolean{
return (textField.displayAsPassword);
}
override protected function draw():void{
if (isInvalid(InvalidationType.STATE)){
updateTextFieldType();
};
if (isInvalid(InvalidationType.STYLES)){
setStyles();
setEmbedFont();
};
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawTextFormat();
drawBackground();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE, InvalidationType.DATA)){
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();
_verticalScrollBar = new UIScrollBar();
_verticalScrollBar.name = "V";
_verticalScrollBar.visible = false;
_verticalScrollBar.focusEnabled = false;
copyStylesToChild(_verticalScrollBar, SCROLL_BAR_STYLES);
_verticalScrollBar.addEventListener(ScrollEvent.SCROLL, handleScroll, false, 0, true);
addChild(_verticalScrollBar);
_horizontalScrollBar = new UIScrollBar();
_horizontalScrollBar.name = "H";
_horizontalScrollBar.visible = false;
_horizontalScrollBar.focusEnabled = false;
_horizontalScrollBar.direction = ScrollBarDirection.HORIZONTAL;
copyStylesToChild(_horizontalScrollBar, SCROLL_BAR_STYLES);
_horizontalScrollBar.addEventListener(ScrollEvent.SCROLL, handleScroll, false, 0, true);
addChild(_horizontalScrollBar);
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);
_horizontalScrollBar.scrollTarget = textField;
_verticalScrollBar.scrollTarget = textField;
addEventListener(MouseEvent.MOUSE_WHEEL, handleWheel, false, 0, true);
}
protected function setTextSize(_arg1:Number, _arg2:Number, _arg3:Number):void{
var _local4:Number;
var _local5:Number;
_local4 = (_arg1 - (_arg3 * 2));
_local5 = (_arg2 - (_arg3 * 2));
if (_local4 != textField.width){
textField.width = _local4;
};
if (_local5 != textField.height){
textField.height = _local5;
};
}
public function appendText(_arg1:String):void{
textField.appendText(_arg1);
invalidate(InvalidationType.DATA);
}
protected function needVScroll():Boolean{
if (_verticalScrollPolicy == ScrollPolicy.OFF){
return (false);
};
if (_verticalScrollPolicy == ScrollPolicy.ON){
return (true);
};
return ((textField.maxScrollV > 1));
}
public function setSelection(_arg1:int, _arg2:int):void{
textField.setSelection(_arg1, _arg2);
}
public function get alwaysShowSelection():Boolean{
return (textField.alwaysShowSelection);
}
public function get htmlText():String{
return (textField.htmlText);
}
public function set restrict(_arg1:String):void{
if (((componentInspectorSetting) && ((_arg1 == "")))){
_arg1 = null;
};
textField.restrict = _arg1;
}
protected function drawBackground():void{
var _local1:DisplayObject;
var _local2:String;
_local1 = background;
_local2 = (enabled) ? "upSkin" : "disabledSkin";
background = getDisplayObjectInstance(getStyleValue(_local2));
if (background != null){
addChildAt(background, 0);
};
if (((((!((_local1 == null))) && (!((_local1 == background))))) && (contains(_local1)))){
removeChild(_local1);
};
}
public function set maxChars(_arg1:int):void{
textField.maxChars = _arg1;
}
public function get maxHorizontalScrollPosition():int{
return (textField.maxScrollH);
}
protected function drawLayout():void{
var _local1:Number;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
var _local5:Boolean;
_local1 = Number(getStyleValue("textPadding"));
textField.x = (textField.y = _local1);
background.width = width;
background.height = height;
_local2 = height;
_local3 = needVScroll();
_local4 = (width - (_local3) ? _verticalScrollBar.width : 0);
_local5 = needHScroll();
if (_local5){
_local2 = (_local2 - _horizontalScrollBar.height);
};
setTextSize(_local4, _local2, _local1);
if (((((_local5) && (!(_local3)))) && (needVScroll()))){
_local3 = true;
_local4 = (_local4 - _verticalScrollBar.width);
setTextSize(_local4, _local2, _local1);
};
if (_local3){
_verticalScrollBar.visible = true;
_verticalScrollBar.x = (width - _verticalScrollBar.width);
_verticalScrollBar.height = _local2;
_verticalScrollBar.visible = true;
_verticalScrollBar.enabled = enabled;
} else {
_verticalScrollBar.visible = false;
};
if (_local5){
_horizontalScrollBar.visible = true;
_horizontalScrollBar.y = (height - _horizontalScrollBar.height);
_horizontalScrollBar.width = _local4;
_horizontalScrollBar.visible = true;
_horizontalScrollBar.enabled = enabled;
} else {
_horizontalScrollBar.visible = false;
};
updateScrollBars();
addEventListener(Event.ENTER_FRAME, delayedLayoutUpdate, false, 0, true);
}
protected function setStyles():void{
copyStylesToChild(_verticalScrollBar, SCROLL_BAR_STYLES);
copyStylesToChild(_horizontalScrollBar, SCROLL_BAR_STYLES);
}
protected function needHScroll():Boolean{
if (_horizontalScrollPolicy == ScrollPolicy.OFF){
return (false);
};
if (_horizontalScrollPolicy == ScrollPolicy.ON){
return (true);
};
return ((textField.maxScrollH > 0));
}
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;
};
}
public function set verticalScrollPolicy(_arg1:String):void{
_verticalScrollPolicy = _arg1;
invalidate(InvalidationType.SIZE);
}
protected function handleChange(_arg1:Event):void{
_arg1.stopPropagation();
dispatchEvent(new Event(Event.CHANGE, true));
invalidate(InvalidationType.DATA);
}
public static function getStyleDefinition():Object{
return (UIComponent.mergeStyles(defaultStyles, ScrollBar.getStyleDefinition()));
}
}
}//package fl.controls
Section 40
//TextInput (fl.controls.TextInput)
package fl.controls {
import fl.core.*;
import flash.events.*;
import flash.display.*;
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 41
//UIScrollBar (fl.controls.UIScrollBar)
package fl.controls {
import fl.core.*;
import flash.events.*;
import fl.events.*;
import flash.text.*;
public class UIScrollBar extends ScrollBar {
protected var inScroll:Boolean;// = false
protected var _scrollTarget:TextField;
protected var inEdit:Boolean;// = false
private static var defaultStyles:Object = {};
public function UIScrollBar(){
inEdit = false;
inScroll = false;
super();
}
protected function handleTargetScroll(_arg1:Event):void{
if (inDrag){
return;
};
if (!enabled){
return;
};
inEdit = true;
updateScrollTargetProperties();
scrollPosition = ((direction)==ScrollBarDirection.HORIZONTAL) ? _scrollTarget.scrollH : _scrollTarget.scrollV;
inEdit = false;
}
override public function set minScrollPosition(_arg1:Number):void{
super.minScrollPosition = ((_arg1)<0) ? 0 : _arg1;
}
override public function setScrollPosition(_arg1:Number, _arg2:Boolean=true):void{
super.setScrollPosition(_arg1, _arg2);
if (!_scrollTarget){
inScroll = false;
return;
};
updateTargetScroll();
}
override public function setScrollProperties(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0):void{
var _local5:Number;
var _local6:Number;
_local5 = _arg3;
_local6 = ((_arg2)<0) ? 0 : _arg2;
if (_scrollTarget != null){
if (direction == ScrollBarDirection.HORIZONTAL){
_local5 = ((_arg3)>_scrollTarget.maxScrollH) ? _scrollTarget.maxScrollH : _local5;
} else {
_local5 = ((_arg3)>_scrollTarget.maxScrollV) ? _scrollTarget.maxScrollV : _local5;
};
};
super.setScrollProperties(_arg1, _local6, _local5, _arg4);
}
public function get scrollTargetName():String{
return (_scrollTarget.name);
}
public function get scrollTarget():TextField{
return (_scrollTarget);
}
protected function updateScrollTargetProperties():void{
var _local1:Boolean;
var _local2:Number;
if (_scrollTarget == null){
setScrollProperties(pageSize, minScrollPosition, maxScrollPosition, pageScrollSize);
scrollPosition = 0;
} else {
_local1 = (direction == ScrollBarDirection.HORIZONTAL);
_local2 = (_local1) ? _scrollTarget.width : 10;
setScrollProperties(_local2, (_local1) ? 0 : 1, (_local1) ? _scrollTarget.maxScrollH : _scrollTarget.maxScrollV, pageScrollSize);
scrollPosition = (_local1) ? _scrollTarget.scrollH : _scrollTarget.scrollV;
};
}
public function update():void{
inEdit = true;
updateScrollTargetProperties();
inEdit = false;
}
public function set scrollTargetName(_arg1:String):void{
var target = _arg1;
try {
scrollTarget = (parent.getChildByName(target) as TextField);
} catch(error:Error) {
throw (new Error("ScrollTarget not found, or is not a TextField"));
};
}
override public function set direction(_arg1:String):void{
if (isLivePreview){
return;
};
super.direction = _arg1;
updateScrollTargetProperties();
}
protected function handleTargetChange(_arg1:Event):void{
inEdit = true;
setScrollPosition(((direction)==ScrollBarDirection.HORIZONTAL) ? _scrollTarget.scrollH : _scrollTarget.scrollV, true);
updateScrollTargetProperties();
inEdit = false;
}
override public function set maxScrollPosition(_arg1:Number):void{
var _local2:Number;
_local2 = _arg1;
if (_scrollTarget != null){
if (direction == ScrollBarDirection.HORIZONTAL){
_local2 = ((_local2)>_scrollTarget.maxScrollH) ? _scrollTarget.maxScrollH : _local2;
} else {
_local2 = ((_local2)>_scrollTarget.maxScrollV) ? _scrollTarget.maxScrollV : _local2;
};
};
super.maxScrollPosition = _local2;
}
protected function updateTargetScroll(_arg1:ScrollEvent=null):void{
if (inEdit){
return;
};
if (direction == ScrollBarDirection.HORIZONTAL){
_scrollTarget.scrollH = scrollPosition;
} else {
_scrollTarget.scrollV = scrollPosition;
};
}
override protected function draw():void{
if (isInvalid(InvalidationType.DATA)){
updateScrollTargetProperties();
};
super.draw();
}
public function set scrollTarget(_arg1:TextField):void{
if (_scrollTarget != null){
_scrollTarget.removeEventListener(Event.CHANGE, handleTargetChange, false);
_scrollTarget.removeEventListener(TextEvent.TEXT_INPUT, handleTargetChange, false);
_scrollTarget.removeEventListener(Event.SCROLL, handleTargetScroll, false);
removeEventListener(ScrollEvent.SCROLL, updateTargetScroll, false);
};
_scrollTarget = _arg1;
if (_scrollTarget != null){
_scrollTarget.addEventListener(Event.CHANGE, handleTargetChange, false, 0, true);
_scrollTarget.addEventListener(TextEvent.TEXT_INPUT, handleTargetChange, false, 0, true);
_scrollTarget.addEventListener(Event.SCROLL, handleTargetScroll, false, 0, true);
addEventListener(ScrollEvent.SCROLL, updateTargetScroll, false, 0, true);
};
invalidate(InvalidationType.DATA);
}
override public function get direction():String{
return (super.direction);
}
public static function getStyleDefinition():Object{
return (UIComponent.mergeStyles(defaultStyles, ScrollBar.getStyleDefinition()));
}
}
}//package fl.controls
Section 42
//ComponentShim (fl.core.ComponentShim)
package fl.core {
import flash.display.*;
public dynamic class ComponentShim extends MovieClip {
}
}//package fl.core
Section 43
//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 44
//UIComponent (fl.core.UIComponent)
package fl.core {
import flash.events.*;
import flash.display.*;
import fl.managers.*;
import fl.events.*;
import flash.text.*;
import flash.utils.*;
import flash.system.*;
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 45
//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());
//unresolved jump
};
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 TypeError((("Error: Type Coercion failed: cannot convert " + _arg1) + " to Array or DataProvider.")));
}
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 46
//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 47
//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 48
//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 49
//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 50
//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 51
//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 52
//FocusManager (fl.managers.FocusManager)
package fl.managers {
import fl.core.*;
import flash.events.*;
import flash.display.*;
import fl.controls.*;
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 53
//IFocusManager (fl.managers.IFocusManager)
package fl.managers {
import flash.display.*;
import fl.controls.*;
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 54
//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 55
//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 56
//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 57
//bang_136 (shootem_fla.bang_136)
package shootem_fla {
import flash.display.*;
public dynamic class bang_136 extends MovieClip {
public function bang_136(){
addFrameScript(21, frame22);
}
function frame22(){
stop();
}
}
}//package shootem_fla
Section 58
//card4b_116 (shootem_fla.card4b_116)
package shootem_fla {
import flash.display.*;
public dynamic class card4b_116 extends MovieClip {
public function card4b_116(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package shootem_fla
Section 59
//dino_292 (shootem_fla.dino_292)
package shootem_fla {
import flash.display.*;
public dynamic class dino_292 extends MovieClip {
public function dino_292(){
addFrameScript(8, frame9);
}
function frame9(){
gotoAndPlay(1);
}
}
}//package shootem_fla
Section 60
//loader_lady_3 (shootem_fla.loader_lady_3)
package shootem_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class loader_lady_3 extends MovieClip {
public function loader_lady_3(){
addFrameScript(9, frame10, 10, frame11);
}
function frame10(){
if (this.done == false){
gotoAndPlay(1);
};
}
function frame11(){
stop();
}
}
}//package shootem_fla
Section 61
//MainTimeline (shootem_fla.MainTimeline)
package shootem_fla {
import flash.events.*;
import flash.display.*;
import fl.controls.*;
import caurina.transitions.*;
import flash.geom.*;
import flash.filters.*;
import com.kongregate.as3.client.*;
import fl.events.*;
import flash.text.*;
import flash.utils.*;
import caurina.transitions.properties.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class MainTimeline extends MovieClip {
public const _medalBeta:int = 90;
public const _devRogue:int = 3;
public const _maxRunner:int = 8;
public const _medalRagnarok:int = 92;
public const _sheep:int = 3;
public const _medalFirework:int = 93;
public const _elonaUrl = "http://homepage3.nifty.com/rfish/index_e.html";
public const _air:int = 1;
public const _aiNormal:int = 0;
public const _defenseLine:int = 455;
public const _aiFireAtWill:int = 6;
public const _invPlayer:int = 20;
public const _devGuard:int = 9;
public const _dialogActSleep:int = 7;
public const _eventLootBoss:int = 8;
public const _dialogActPray:int = 9;
public const _dialogRefreshStock:int = 1;
public const _helpUrl = "http://homepage3.nifty.com/rfish/index_e.html";
public const _eventEnd:int = 1;
public const _encImpact:int = 8;
public const _maxDev:int = 9;
public const _maxItem:int = 39;
public const _maxMedal:int = 200;
public const _medalCritical1:int = 70;
public const _medalCritical2:int = 71;
public const _typeToken:int = 6;
public const _aiHero:int = -1;
public const _medalCritical3:int = 72;
public const _eventClear:int = 4;
public const _medalSister1:int = 53;
public const _medalSister2:int = 54;
public const _medalSister3:int = 55;
public const _devMilitia:int = 4;
public const _encReloading:int = 2;
public const _medalClass1:int = 65;
public const _medalClass2:int = 66;
public const _medalClass4:int = 68;
public const _medalClass3:int = 67;
public const _medalKongregate:int = 91;
public const _dialogHire:int = 6;
public const _encArmor:int = 6;
public const _normal:int = 0;
public const _medalDay1:int = 40;
public const _medalDay3:int = 42;
public const _medalDay4:int = 43;
public const _medalDay5:int = 44;
public const _medalDay6:int = 45;
public const _medalDay7:int = 46;
public const _encAccuracy:int = 1;
public const _medalDay2:int = 41;
public const _nc:int = 5;
public const _dialogSell:int = 1;
public const _typeNormal:int = 0;
public const _typeSniper:int = 1;
public const _dialogActClaim:int = 13;
public const _pc:int = 0;
public const _maxTarget:int = 3;
public const _encAutoReload:int = 10;
public const _dialogActEat:int = 8;
public const _typeUse:int = 4;
public const _typeItem:int = 2;
public const _dialogRecruit:int = 4;
public const _waveNormal:int = 0;
public const _dialogFreeRepair:int = 3;
public const _eventLoot:int = 3;
public const _ignore:int = 9;
public const G_RANGE:int = 50;
public const _dragon:int = 15;
public const _aiNoAir:int = 1;
public const _dialogNewRecruit:int = 2;
public const _medalHardcore1:int = 95;
public const _medalHardcore3:int = 97;
public const _ratdrop:int = 18;
public const _medalHardcore2:int = 96;
public const G_CLASS:int = 0;
public const _crow:int = 6;
public const _dialogActEgg:int = 11;
public const debugName;
public const _bomb:int = 11;
public const _version:int = 1110;
public const _stageTitle:int = 0;
public const _knight:int = 8;
public const _maxWeaponSkill:int = 5;
public const _lava:int = 4;
public const _fly:int = 10;
public const G_BASE:int = 900;
public const _eventBegin:int = 5;
public const _devSniper:int = 2;
public const _encLeech:int = 9;
public const _spider:int = 9;
public const _dialogActTrain:int = 15;
public const _typeMod:int = 5;
public const _cata:int = 5;
public const urlKong = "http://www.kongregate.com/?gamereferral=elonashooter";
public const _armor:int = 2;
public const _boss:int = 999;
public const _devDuelist:int = 7;
public const _chicken:int = 19;
public const _maxTrait:int = 1000;
public const _archer:int = 2;
public const _aiArmor:int = 5;
public const _dialogRobVisitor:int = 4;
public const _dialogActParty:int = 14;
public const _maxInv:int = 50;
public const _stageTown:int = 2;
public const _aiNoArmor:int = 2;
public const _medalElona:int = 94;
public const _invShop:int = 0;
public const _invAlly:int = 40;
public const _dialogQuit:int = 2;
public const _encFireRate:int = 3;
public const _dialogActTaunt:int = 12;
public const _encAmmo:int = 7;
public const _ghost:int = 14;
public const _bird:int = 16;
public const _devSheriff:int = 6;
public const _typeShotgun:int = 2;
public const _tank:int = 12;
public const _devRanger:int = 5;
public const _dino:int = 13;
public const urlExclusive = "http://www.kongregate.com/games/noanoa/elona-shooter";
public const _typeMachine:int = 3;
public const _eventMode:int = 9;
public const _dialogDismiss:int = 3;
public const _dialogRecharge:int = 6;
public const _dialogActSearch:int = 10;
public const _devNoble:int = 8;
public const _dialogRecycle:int = 5;
public const _defTag:int = 60;
public const _devHunter:int = 1;
public const _typeGun:int = 1;
public const _medalNoDamage1:int = 60;
public const _medalNoDamage3:int = 62;
public const _medalNoDamage4:int = 63;
public const _dialogActHire:int = 16;
public const _waveAir:int = 1;
public const _medalNoDamage2:int = 61;
public const _encLiving:int = 11;
public const _eventLevel:int = 7;
public const _maxPic = 22;
public const _ogre:int = 1;
public const _stageLoader:int = 4;
public const _stageResult:int = 3;
public const _aiAir:int = 4;
public const _strEmptySave = "Empty Save";
public const _typeSell:int = 3;
public const _dialogMod:int = 5;
public const _encAir:int = 5;
public const _eventAlly:int = 2;
public const _medalChicken2:int = 51;
public const _medalChicken3:int = 52;
public const G_GEN:int = 100;
public const _medalChicken1:int = 50;
public const _eventGene:int = 6;
public const chainSoundLength = 2462;
public const _rat:int = 17;
public const _encDamage:int = 4;
public const _aiDefault:int = 0;
public const _stageBattle:int = 1;
public const _barb:int = 7;
public const _medalAction1:int = 80;
public const _medalAction3:int = 82;
public const _medalAction4:int = 83;
public const _medalAction5:int = 84;
public const _medalAction2:int = 81;
public const _aiNeither:int = 3;
public var loaded;
public var sound_reloaded1:Sound;
public var sound_reloaded3:Sound;
public var sound_reloaded2:Sound;
public var bgAlpha:MovieClip;
public var sound_drop:Sound;
public var sound_gun1:Sound;
public var sound_gun2:Sound;
public var sound_gun3:Sound;
public var sound_gun4:Sound;
public var sound_gun5:Sound;
public var sound_gun6:Sound;
public var sound_gun7:Sound;
public var sound_gun8:Sound;
public var sound_gun9:Sound;
public var frenzyMode:int;
public var kong_mc2:MovieClip;
public var window_mc:MovieClip;
public var debugLoader:int;
public var debugDay:int;
public var upgradeCount:int;
public var itemName;
public var radio_mc:Array;
public var airLine:int;
public var i:int;
public var blendCounter:int;
public var shakeStrX;
public var p;
public var w:int;
public var z:int;
public var fireAtWill:Boolean;
public var shakeStrY;
public var groundWidth:int;
public var weaponRange;
public var t:int;
public var maxEnemy:int;
public var eventDialog:int;
public var encList;
public var targetBoss;
public var sound_gold1:Sound;
public var critArray;
public var traitLvFix:int;
public var window2_mc:MovieClip;
public var maxChara:int;
public var lady:MovieClip;
public var popTime;
public var vol:MovieClip;
public var upgradeRef:Array;
public var sound_click1:Sound;
public var sound_launch:Sound;
public var sound_night:Sound;
public var debugBattle:int;
public var maxSave:int;
public var sound_rampageEnemy:Sound;
public var ammoText:TextField;
public var ID;
public var sound_chickenAttack:Sound;
public var sound_deadBoss1:Sound;
public var sound_deadBoss2:Sound;
public var sound_pop1:Sound;
public var blurMcHelp;
public var castleHPText:TextField;
public var dragSlot:int;
public var missionLevel:int;
public var inventory:Object;
public var window4_mc:MovieClip;
public var encRef;
public var lvCycle:int;
public var sound_deadChicken:Sound;
public var delay:int;
public var col;
public var longest:TextField;
public var mission:Object;
public var playerY:Array;
public var dialogAction:int;
public var amb:SoundChannel;
public var sound_battleEnd:Sound;
public var lvText:TextField;
public var upgradeRefStr:Array;
public var kongregate;
public var soundCs;
public var textCarryOver:TextField;
public var radioCount:int;
public var castleCounter:int;
public var sound_good:Sound;
public var TRAIT;
public var menuLine:int;
public var eRef;
public var slot:int;
public var moneyText:TextField;
public var shakeY;
public var groundLine:int;
public var shakeX;
public var sister:MovieClip;
public var customCursor:MovieClip;
public var sound_bg_forest:Sound;
public var medalPage;
public var buttonArray:Array;
public var classList:Array;
public var pop;
public var CALC;
public var eventList:Array;
public var defenseLine:int;
public var sound_fireball:Sound;
public var hintCount2;
public var sound_complete:Sound;
public var dragItem:int;
public var maxAlly:int;
public var ammobar:MovieClip;
public var filterDrop:DropShadowFilter;
public var sound_pray1:Sound;
public var page:int;
public var upgrade_mc:Array;
public var text_rampage;
public var airWidth:int;
public var menuList:Array;
public var trans:Array;
public var gameResult:Boolean;
public var toTownMenu:Boolean;
public var kongAPI:KongregateAPI;
public var PARTY;
public var time:int;
public var chainSound;
public var PARTYLV;
public var news:String;
public var sound_search:Sound;
public var menuId:int;
public var player:Object;
public var sound_exp1:Sound;
public var cancelFirework;
public var unlocked:Boolean;
public var frenzyBar:MovieClip;
public var fireworkCount;
public var item:int;
public var titleList;
public var sound_repair1:Sound;
public var sound_bg_town:Sound;
public var blendType:int;
public var loadText:TextField;
public var g_count;
public var sound_throw1:Sound;
public var nameBoy:Array;
public var sound_mute:Sound;
public var debugStartDay:int;
public var inventory_mc:Array;
public var geneClass:int;
public var sound_damage1:Sound;
public var sound_firework:Sound;
public var orderIsOpen:Boolean;
public var debugTown:int;
public var sound_battleBegin:Sound;
public var traitRef;
public var currentHint:int;
public var filter1:Array;
public var filter2:Array;
public var gamePaused:Boolean;
public var frenzyText:TextField;
public var sound_crow:Sound;
public var filter1a:BitmapFilter;
public var sound_medal:Sound;
public var validUrl;
public var sound_scroll1:Sound;
public var aiTarget;
public var missionButton:SimpleButton;
public var maxParty:int;
public var filter2a:BitmapFilter;
public var perText:TextField;
public var medal_mc:Array;
public var sound_card1:Sound;
public var game:Object;
public var debugGroup:String;
public var gameOver:Boolean;
public var wexpList;
public var bag:MovieClip;
public var chainMode;
public var selectBaseX:int;
public var selectBaseY:int;
public var tgCard:int;
public var sound_low:Sound;
public var sound_gun10:Sound;
public var sound_gun11:Sound;
public var sound_gun12:Sound;
public var sound_gun13:Sound;
public var sound_gun14:Sound;
public var sound_gun15:Sound;
public var debugUnlockClass:int;
public var itemDesc;
public var bg:MovieClip;
public var eDupe;
public var continueButtonOrgX;
public var bgChange:int;
public var actList;
public var blurMc;
public var medalCount:int;
public var ce:int;
public var debugMedal:int;
public var defHint;
public var pic_mc:Array;
public var ci:int;
public var cb:int;
public var cs:int;
public var REF;
public var fixedLvMax:int;
public var sound_impact1:Sound;
public var sound_rampage:Sound;
public var sound_cata:Sound;
public var immune:Boolean;
public var helpMode:int;
public var debugBatch:int;
public var info:LoaderInfo;
public var posTrans:Array;
public var invSlotCount:int;
public var gameContinued:Boolean;
public var sound_bad:Sound;
public var sound_bow1:Sound;
public var sound_bow2:Sound;
public var sisterList;
public var i2;
public var expText:TextField;
public var kongregateEmu:int;
public var castle:MovieClip;
public var select:int;
public var runner_mc:Array;
public var medalButton:SimpleButton;
public var sound_eat1:Sound;
public var window3_mc:MovieClip;
public var frenzyBar2:MovieClip;
public var sound_dead1:Sound;
public var sound_dead2:Sound;
public var sound_dead3:Sound;
public var sound_dead4:Sound;
public var sound_dead5:Sound;
public var sound_dead7:Sound;
public var sound_dead9:Sound;
public var sound_dead6:Sound;
public var sound_dead8:Sound;
public var eventModeEnabled;
public var drag:Boolean;
public var stats_mc:Array;
public var loadBar:MovieClip;
public var popMax:int;
public var sound_tank2:Sound;
public var sound_beep:Sound;
public var menuButton:SimpleButton;
public var shakeDirY;
public var upgradeMax:Array;
public var shakeCount:int;
public var logo:MovieClip;
public var sound_killed:Sound;
public var shakeDirX;
public var maxButton:int;
public var sound_pay1:Sound;
public var shopButton:SimpleButton;
public var helpButton:SimpleButton;
public var debugTownDay:int;
public var shakeRange;
public var bottomBar:MovieClip;
public var invIcon_mc:Array;
public var soundCounter:int;
public var equipMode:int;
public var beta:int;
public var apText:TextField;
public var currentPop:int;
public var sound_tank:Sound;
public var nextAlert;
public var gameStage:int;
public var cloud:MovieClip;
public var invSlot_mc:Array;
public var castleButton:SimpleButton;
public var debugEnemyNum:int;
public var debug:int;
public var sound_bag1:Sound;
public var draw_count;
public var so:SharedObject;
public var sound_goodshot:Array;
public var skipLoader:int;
public var runner_speed:Array;
public var sound_chicken:Sound;
public var popList:Array;
public var gameoverLogo:MovieClip;
public var helpButtonOrgX;
public var mouseHidden:Boolean;
public var continueButton:SimpleButton;
public var idx:Object;
public var sound_chain1:Sound;
public var sound_chain2:Sound;
public var sound_chain3:Sound;
public var upgradeHint:Array;
public var hintCount:int;
public var debugId:int;
public var sound_reloading1:Sound;
public var sound_reloading2:Sound;
public var charaButton:SimpleButton;
public var sound_reloading3:Sound;
public var protTime:int;
public var dayText:TextField;
public var bg_color:ColorTransform;
public var medal:Array;
public var kong_mc:MovieClip;
public var targetWall;
public var waveRef;
public var saveBox:ComboBox;
public var selectID:int;
public var shakeDec;
public var cursor_mc;
public var invIconCount:int;
public var runner_x:Array;
public var runner_y:Array;
public var sound_award:Sound;
public var old_timer;
public var timer:Timer;
public var critMsg;
public var elonaButton:SimpleButton;
public var devGroup;
public var sound_puls:Sound;
public var newGameButton:SimpleButton;
public var equipButton:SimpleButton;
public var newGameButtonOrgX;
public var sound_lightning:Sound;
public var eRefId;
public var eCount;
public var gunSound;
public var statsCount:int;
public var enemyArray:Array;
public var player_mc:Array;
public var sound_party:Sound;
public var cursorX;
public var cursorY;
public var sound_mod:Sound;
public var gameDialog:Boolean;
public var startFromTown:Boolean;
public var cardCount:int;
public var textCount:int;
public var sound_defend:Sound;
public var cardSound;
public var fadeCount:int;
public var hero:int;
public var runner_pic:Array;
public var dialog_mc:MovieClip;
public function MainTimeline(){
debugName = ["random", "ogre", "archer", "sheep", "lava", "cata", "crow", "barb", "knight", "spider", "fly", "bomb", "tank", "dino", "ghost", "dragon", "bird", "rat", "ratdrop"];
super();
addFrameScript(0, frame1, 1, frame2, 5, frame6, 6, frame7, 8, frame9, 21, frame22, 26, frame27, 32, frame33, 56, frame57, 64, frame65, 70, frame71);
}
public function onEnterFrame_help(_arg1:Event){
stage.setChildIndex(window4_mc, (stage.numChildren - 1));
if (window4_mc.animeTime){
window4_mc.animeTime--;
window4_mc.visible = true;
window4_mc.x = (window4_mc.x - Math.pow(window4_mc.animeTime, 1.7));
if (window4_mc.animeTime == 0){
window4_mc.help1.mouseEnabled = true;
window4_mc.help2.mouseEnabled = true;
window4_mc.help3.mouseEnabled = true;
window4_mc.help4.mouseEnabled = true;
} else {
if (window4_mc.getChildByName("help1")){
window4_mc.help1.mouseEnabled = false;
window4_mc.help2.mouseEnabled = false;
window4_mc.help3.mouseEnabled = false;
window4_mc.help4.mouseEnabled = false;
};
};
};
}
public function selectEnemy(_arg1, _arg2, _arg3, _arg4){
var _local5:int;
var _local6:int;
var _local8:*;
var _local9:Boolean;
var _local7 = -1;
var _local10:int = _arg1;
if (_local10 > fixedLvMax){
_local10 = fixedLvMax;
};
var _local11:* = int((_local10 - ((Math.random() * Math.random()) * _local10)));
_local5 = 0;
for (;_local5 < eCount;_local5++) {
if ((((_local5 == eRefId[_fly])) && ((Math.random() > 0.2)))){
} else {
if (eRef[_local5].lv > _arg1){
} else {
if (_local7 != -1){
if (eRef[_local5].lv == eRef[_local7].lv){
if (Math.random() > 0.5){
continue;
};
//unresolved jump
};
//unresolved if
} else {
_local9 = false;
_local6 = 0;
while (_local6 < _arg3.length) {
if (eRef[_local5][_arg3[_local6]] != true){
_local9 = true;
break;
};
_local6++;
};
if (_local9 == false){
_local6 = 0;
while (_local6 < eDupe.length) {
if (_local5 == eDupe[_local6]){
_local9 = true;
break;
};
_local6++;
};
};
if (_local9){
} else {
_local7 = _local5;
};
};
};
};
};
if (_local7 == -1){
debugGroup = (debugGroup + "#");
_local7 = eRefId[3];
if (Math.random() > 0.7){
_local7 = eRefId[17];
};
if ((((mission.fixedLv > 1)) && ((Math.random() > 0.7)))){
_local7 = eRefId[19];
};
if ((((mission.fixedLv > 3)) && ((Math.random() > 0.5)))){
_local7 = eRefId[17];
};
if ((((mission.fixedLv > 7)) && ((Math.random() > 0.5)))){
_local7 = eRefId[7];
};
if ((((mission.fixedLv > 13)) && ((Math.random() > 0.5)))){
_local7 = eRefId[9];
};
if ((((mission.fixedLv > 17)) && ((Math.random() > 0.4)))){
_local7 = eRefId[1];
};
if ((((mission.fixedLv > 22)) && ((Math.random() > 0.4)))){
_local7 = eRefId[8];
};
};
if (debugId){
_local7 = eRefId[debugId];
};
eDupe.push(_local7);
_local8 = eRef[_local7].power;
_local7 = eRef[_local7].id;
_local6 = (((mission.power * _arg2) / 100) / _local8);
if (_local6 < 1){
_local6 = 1;
};
_local5 = 0;
while (_local5 < _local6) {
pop[_arg4].push(_local7);
_local5++;
};
debugGroup = (debugGroup + (((((("" + debugName[_local7]) + "*") + _local6) + "(") + _local10) + ") "));
}
public function versionFix(){
var _local1:*;
var _local2:*;
var _local3:*;
mission.wave = int(mission.wave);
mission.bossWave = int(mission.bossWave);
if (game.version == undefined){
game.version = 0;
};
if (game.version < 100){
_local3 = 0;
while (_local3 < (maxAlly + 1)) {
player.wexp = [];
player.wexpRef = [];
player.wexp[_local3] = [];
_local1 = 0;
while (_local1 < _maxWeaponSkill) {
player.wexp[_local3][_local1] = 0;
_local1++;
};
_local3++;
};
};
if (game.version < 140){
idx.beta = beta;
player.optBoss = [];
player.optWall = [];
player.onMark = [];
_local3 = 0;
while (_local3 < (maxAlly + 1)) {
player.optBoss[_local3] = false;
player.optWall[_local3] = false;
_local3++;
};
};
if (game.version < 1100){
game.HC = false;
};
}
public function updateCastleMenu(){
var _local1:*;
var _local2:*;
var _local3:String;
var _local4:Boolean;
updateUpgradeHint();
window2_mc.unkeep.text = calcUnkeep();
upgradeCount = 0;
window2_mc.locker.visible = false;
window2_mc.locker.mouseEnabled = false;
_local1 = 0;
while (_local1 < 8) {
_local2 = (_local1 + (page * 8));
upgrade_mc[_local1] = (new upgrades() as MovieClip);
upgrade_mc[_local1].x = (150 + (int((_local1 % 4)) * 100));
upgrade_mc[_local1].y = (140 + (int((_local1 / 4)) * 110));
_local3 = upgradeRefStr[_local2];
if (((!((_local2 == 0))) && ((game[upgradeRef[_local2]] > 0)))){
_local3 = (_local3 + (" Lv " + game[upgradeRef[_local2]]));
};
upgrade_mc[_local1].upgradeName.text = _local3;
upgrade_mc[_local1].upgradeCost.text = getUpgradeCost(_local2);
upgrade_mc[_local1].hintTxt = [_local3, upgradeHint[_local2][0], upgradeHint[_local2][1], upgradeMax[_local2], ""];
upgrade_mc[_local1].upgradePic.hintTxt = [_local3, upgradeHint[_local2][0], upgradeHint[_local2][1], upgradeMax[_local2], ""];
upgrade_mc[_local1].upgradePic.gotoAndStop((_local2 + 2));
upgrade_mc[_local1].upgradePic.mouseEnabled = false;
if (getUpgradeCost(_local2) == -1){
upgrade_mc[_local1].upgradeCost.text = 0;
window2_mc.locker.visible = true;
upgrade_mc[_local1].upgradePic.gotoAndStop(30);
};
_local4 = true;
if ((((getUpgradeCost(_local2) > player.money[_pc])) || ((getUpgradeCost(_local2) == 0)))){
upgrade_mc[_local1].upgradeCost.textColor = 0xCC0000;
_local4 = false;
};
if (_local4){
upgrade_mc[_local1].upgradeCost.textColor = 204;
upgrade_mc[_local1].upgradeButton.mouseEnabled = true;
upgrade_mc[_local1].alpha = 1;
} else {
upgrade_mc[_local1].upgradeButton.mouseEnabled = false;
upgrade_mc[_local1].alpha = 0.3;
};
upgrade_mc[_local1].possible = _local4;
window2_mc.addChild(upgrade_mc[_local1]);
upgradeCount++;
_local1++;
};
}
public function swapStuff(_arg1:int, _arg2:int){
var _local3:*;
var _local4:*;
for (_local3 in inventory) {
_local4 = inventory[_local3][_arg1];
inventory[_local3][_arg1] = inventory[_local3][_arg2];
inventory[_local3][_arg2] = _local4;
};
}
public function deleteGame(){
game.version = _version;
so = SharedObject.getLocal(("elonas" + idx.slot));
if (so){
if (debug == 0){
so.clear();
idx.saveName[idx.slot] = _strEmptySave;
};
popInfo("Game Deleted.");
};
saveIndex();
}
public function updateCharaList(){
var _local1:*;
window2_mc.recruitText.visible = false;
_local1 = 0;
while (_local1 < (maxAlly + 1)) {
if (player.exist[_local1] == false){
} else {
player_mc[_local1] = (new ally3() as MovieClip);
player_mc[_local1].x = (160 + (_local1 * 62));
if (_local1 == maxAlly){
player_mc[_local1].x = (player_mc[_local1].x + 10);
window2_mc.recruitText.visible = true;
};
player_mc[_local1].y = 146;
player_mc[_local1].pic = player.pic[_local1];
player_mc[_local1].gotoAndPlay("stand");
player_mc[_local1].pname.text = player.name[_local1];
player_mc[_local1].lv.text = ((("L:" + player.lv[_local1]) + "\nE:") + (player.exp[_local1] / 10));
player_mc[_local1].lv.mouseEnabled = false;
player_mc[_local1].pname.mouseEnabled = false;
player_mc[_local1].chara1.mouseEnabled = false;
window2_mc.addChild(player_mc[_local1]);
};
_local1++;
};
}
public function castleAbsorb(){
return ((1 - (game.sandbag * 0.05)));
}
public function procHit(_arg1, _arg2, _arg3, _arg4, _arg5){
var _local6:int;
var _local7:int;
var _local8:Boolean;
_local8 = false;
_local6 = 0;
while (_local6 < maxEnemy) {
if (enemyArray[_local6].isFree() == false){
if (enemyArray[_local6].mc.shadowHit == false){
//unresolved if
} else {
if (enemyArray[_local6].mc.hitTestPoint(_arg3, _arg4, true)){
if ((Math.random() * 100) < CALC.SENSE(_arg1)){
_local7 = 2;
};
if ((((_arg4 > (enemyArray[_local6].crit[2] + enemyArray[_local6].y))) && ((_arg4 < (enemyArray[_local6].crit[3] + enemyArray[_local6].y))))){
if ((((_arg3 > (enemyArray[_local6].crit[0] + enemyArray[_local6].x))) && ((_arg3 < (enemyArray[_local6].crit[1] + enemyArray[_local6].x))))){
if (enemyArray[_local6].isDead() == false){
_local7 = 1;
};
};
};
if (enemyArray[_local6].isDead() == false){
_local8 = true;
};
if (player.trait[_arg1][TRAIT.DUELIST] > 0){
player.frenzy[_arg1] = (player.frenzy[_arg1] + ((CALC.DUELIST(_arg1) / (inventory.shootRate[_arg2] * 0.03)) + 0.1));
if (player.frenzy[_arg1] > calcDuelistMaxDamage(player.trait[_arg1][TRAIT.DUELIST])){
player.frenzy[_arg1] = calcDuelistMaxDamage(player.trait[_arg1][TRAIT.DUELIST]);
};
};
enemyArray[_local6].knockBack = CALC.SHERIFF(_arg1);
enemyArray[_local6].damage(_arg5, _arg2, _arg3, _arg4, _arg1, _local7);
};
};
};
_local6++;
};
return (_local8);
}
public function getTrait(_arg1:int, _arg2:int){
var _local3:Array = ["1", "2"];
return (_local3);
}
public function removeInvSlot(){
var _local1:*;
_local1 = 0;
while (_local1 < invSlotCount) {
window2_mc.removeChild(invSlot_mc[_local1]);
_local1++;
};
}
public function kongregateLink(){
sound_click1.play();
popInfo("A Webpage has been opned in your browser.");
var request:URLRequest = new URLRequest(urlKong);
try {
navigateToURL(request);
} catch(e:Error) {
};
getMedal(_medalKongregate);
}
function frame27(){
debugDay = 80;
critMsg = ["HEAD SHOT!", "LIMB SHOT!", "CORE SHOT!", "ABDOMEN SHOT!", "TORSO SHOT!", "NULL"];
critArray = [0, 1, 0, 0, 0, 2, 0, 0, 4, 3, 0, 2, 2, 1, 0, 1, 0, 0, 0, 4];
amb.stop();
amb = (sound_bg_forest.play(0, 99999) as SoundChannel);
cb = 0;
col = [];
col[0] = [0, 0, 0, 0, 0, 0];
col[1] = [0, 0, 0, 0, 0, 0];
protTime = 0;
textCount = 0;
pop = [];
popTime = [];
eCount = 0;
eRef = [];
eDupe = [];
eRefId = [];
bg_color = new ColorTransform();
waveRef = [_waveAir];
setEnemy(_boss, 9999, 500, []);
setEnemy(_bomb, 9999, 50, []);
setEnemy(_ratdrop, 9999, 80, []);
setEnemy(_sheep, 0, 70, ["BATCH"]);
setEnemy(_rat, 1, 50, ["BATCH", "MASS"]);
setEnemy(_archer, 4, 100, ["RANGED"]);
setEnemy(_crow, 3, 110, ["AIR", "MASS"]);
setEnemy(_fly, 6, 30, ["AIR"]);
setEnemy(_barb, 7, 95, ["BATCH", "MASS"]);
setEnemy(_lava, 9, 300, ["KAMIKAZE", "MASS"]);
setEnemy(_cata, 11, 300, ["BOSS"]);
setEnemy(_spider, 13, 160, ["BATCH", "MASS"]);
setEnemy(_ghost, 15, 260, ["BATCH", "MASS"]);
setEnemy(_ogre, 17, 350, ["BATCH", "MASS"]);
setEnemy(_knight, 19, 280, ["BATCH", "MASS"]);
setEnemy(_bird, 22, 420, ["AIR"]);
setEnemy(_tank, 25, 400, ["BOSS"]);
setEnemy(_dino, 28, 550, ["BOSS", "MASS"]);
setEnemy(_dragon, 32, 550, ["BOSS"]);
setEnemy(_chicken, 2, 90, ["BATCH", "MASS"]);
if (mission.bossDay == true){
text_effect("Boss Day!");
};
preGenerateWave();
sisterList = [];
i = 0;
while (i < (mission.wave + 1)) {
sisterList[i] = 0;
i++;
};
if (game.sister){
i = 0;
while (i < game.sister) {
var _local1 = sisterList;
var _local2 = (int((Math.random() * mission.wave)) + 1);
var _local3 = (_local1[_local2] + 1);
_local1[_local2] = _local3;
i++;
};
};
if (player.ai[_pc] == _aiHero){
hero = _pc;
} else {
hero = -1;
};
updateFrenzyBar();
apText.visible = false;
text_rampage = ["", "[6] Great shot!", "[5] Fantastic!", "[4] Shena is dancing!", "[3] Jure blesses you!", "[2] Lulwy is pleased!", "[1] ....meoowwwww!"];
stop();
bottomBar.gotoAndStop(1);
initPartySkill();
fireAtWill = false;
mission.resultBefore = player.money[_pc];
mission.resultTaken = 0;
news = "";
root.x = 0;
root.y = 0;
immune = false;
bgChange = 0;
castleCounter = 0;
gameStage = _stageBattle;
shakeCount = 0;
ci = _invPlayer;
customCursor.x = mouseX;
customCursor.y = mouseY;
Tweener.addTween(customCursor, {_brightness:0, _color_redMultiplier:1, time:0});
menuButton.mouseEnabled = false;
resetBG();
customCursor.visible = true;
updateInterface();
updateInventory();
updateAlly();
Mouse.hide();
startBattleMedal();
stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyDown);
stage.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownFunc);
stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpFunc);
stage.addEventListener(MouseEvent.MOUSE_MOVE, MouseMove);
addEventListener(Event.ENTER_FRAME, onEnterFrame);
timer.addEventListener(TimerEvent.TIMER, onTick);
timer.start();
}
function frame33(){
gameoverLogo.carryOver.gotoAndStop(1);
if ((((game.HC == true)) || ((game.day < 2)))){
gameoverLogo.carryOver.visible = false;
} else {
gameoverLogo.carryOver.visible = true;
if (game.carryOver == true){
gameoverLogo.carryOver.gotoAndStop(2);
};
};
}
public function randLv(_arg1, _arg2){
return (int((_arg1 * (1 - (Math.random() * (1 - (Math.random() * _arg2)))))));
}
public function calcUnkeep(){
var _local1:int;
_local1 = (_local1 + ((game.house - 1) * 50));
_local1 = (_local1 + (game.repair * 60));
_local1 = (_local1 + ((game.castleMHP - 40) * 2));
_local1 = (_local1 + (game.sandbag * 40));
_local1 = (_local1 + (game.storage * 40));
_local1 = (_local1 + (game.looter * 5));
_local1 = (_local1 + (game.museum * 15));
if (_local1 < 0){
_local1 = 0;
};
return (_local1);
}
public function museumFix(){
return ((1 + ((game.museum - 1) * 0.2)));
}
public function orderRollOver(_arg1:ListEvent):void{
var _local2:uint;
var _local3:*;
var _local4:*;
var _local5:*;
_local2 = (_arg1.rowIndex as uint);
_local3 = ["", ""];
_local4 = window2_mc.hint;
_local5 = window2_mc.order.getItemAt(_local2).data;
_local4.alpha = 1;
if (_local5 == _aiHero){
_local3 = ["Hero Mode", "You can manually control your character in the hero mode. The commander's items can't be used in this mode."];
};
if (_local5 == _aiNormal){
_local3 = ["Attack mobs in weapon range", "The character attacks mobs within his weapon range. Note that regardless of any order given, the shorter the distance between him and the target, the quicker he will be abled to aim and shoot."];
};
if (_local5 == _aiNoArmor){
_local3 = ["Don't attack armored mobs", "The character attacks mobs within his weapon range but ignores armored mobs."];
};
if (_local5 == _aiNoAir){
_local3 = ["Don't attack air mobs", "The character attacks mobs within his weapon range but ignores air mobs."];
};
if (_local5 == _aiNeither){
_local3 = ["Don't attack either", "The character attacks mobs within his weapon range but ignores neither armored mobs nor air mobs."];
};
if (_local5 == _aiAir){
_local3 = ["Attack air mobs", "The character only attacks air mobs. He does not attack other types of mobs but his weapon range is increased without the accuracy penalty."];
};
if (_local5 == _aiArmor){
_local3 = ["Attack armored mobs", "The character only attacks armored mobs. He does not attack other types of mobs but his weapon range is increased without the accuracy penalty."];
};
if (_local5 == _aiFireAtWill){
_local3 = ["Always fire at will", "The same effect as if he were in \"Fire at will\" mode. The character can attack any mob in the battle field but suffer significant accuracy penalty."];
};
_local4.itemName.text = _local3[0];
_local4.itemDesc.text = _local3[1];
_local4.itemDesc2.text = "";
_local4.typeText.visible = false;
_local4.maxText.visible = false;
window2_mc.setChildIndex(window2_mc.hint, (window2_mc.numChildren - 1));
window2_mc.hint.visible = true;
orderIsOpen = true;
}
public function MouseLDownFunc_result(_arg1:MouseEvent){
var _local2:int;
var _local3:int;
var _local4:int;
_local2 = stage.mouseX;
_local3 = stage.mouseY;
if (vol.hitTestPoint(_local2, _local3, true)){
toggleMute();
return;
};
if (gameDialog){
if (dialog_mc.yes.hitTestPoint(_local2, _local3, true)){
endDialog(true);
} else {
endDialog(false);
};
return;
};
if (toTownMenu){
return;
};
if (fadeCount){
return;
};
if (window2_mc.animeTime){
return;
};
if (ce == _eventBegin){
return;
};
if (ce == _eventClear){
fadeCount = 9;
return;
};
if (gamePaused){
pauseProc();
return;
};
if (ce == _eventLevel){
i = 0;
while (i < radioCount) {
if (radio_mc[i].hitTestPoint(_local2, _local3, true)){
sound_click1.play();
cs = i;
updateLevel();
};
i++;
};
};
if (ce == _eventGene){
if (window2_mc.unlockButton.hitTestPoint(_local2, _local3, true)){
sound_click1.play();
changeUnlock();
};
_local4 = 0;
while (_local4 < _maxPic) {
if (pic_mc[_local4].hitTestPoint(_local2, _local3, true)){
sound_click1.play();
cs = _local4;
updateGene();
break;
};
_local4++;
};
_local4 = 3;
while (_local4 >= 0) {
if (radio_mc[_local4].hitTestPoint(_local2, _local3, true)){
if (radio_mc[_local4].mouseEnabled == false){
sound_beep.play();
popInfo("You have to win a medal!");
return;
};
if ((((((unlocked == false)) && ((_local4 == 3)))) && ((kongregate == 0)))){
exclusiveLink();
return;
};
sound_click1.play();
geneClass = _local4;
if (unlocked){
geneClass = (geneClass + 4);
};
updateGene();
break;
};
_local4--;
};
};
if (drag == false){
if (menuButton.hitTestPoint(_local2, _local3, true)){
pauseMenu();
return;
};
if ((((((ce == _eventGene)) && ((window2_mc.extraButton.visible == true)))) && (window2_mc.extraButton.hitTestPoint(mouseX, mouseY, true)))){
sound_click1.play();
eventList.push(_eventMode);
fadeCount = 9;
eventModeEnabled = true;
return;
};
if ((((ce == _eventEnd)) && (window2_mc.mc_playMore.kongButton.hitTestPoint(mouseX, mouseY, true)))){
kongregateLink();
return;
};
if ((((((((((((ce == _eventLoot)) || ((ce == _eventLootBoss)))) || ((ce == _eventGene)))) || ((ce == _eventEnd)))) || ((ce == _eventLevel)))) || ((ce == _eventMode)))){
if ((((window2_mc.procButton.visible == true)) && (window2_mc.procButton.hitTestPoint(mouseX, mouseY, true)))){
sound_click1.play();
if (ce == _eventEnd){
window2_mc.procButton.visible = false;
Tweener.addTween(window2_mc.mc_playMore, {alpha:0, time:1});
delay = 0;
toTownMenu = true;
fadeCount = 9;
return;
};
if (ce == _eventLevel){
var _local5 = player.trait[_pc];
var _local6 = radio_mc[cs].id;
var _local7 = (_local5[_local6] + 1);
_local5[_local6] = _local7;
};
fadeCount = 9;
if (ce == _eventMode){
stage.focus = stage;
setGameOption();
if (startFromTown){
toTownMenu = true;
gameStart();
ce = eventList.pop();
ce = _eventGene;
delay = 0;
return;
};
};
return;
};
};
};
if ((((ce == _eventLoot)) || ((ce == _eventLootBoss)))){
invDrag();
};
}
public function setEnemy(_arg1, _arg2, _arg3, _arg4){
var _local5:int;
var _local6:int = eCount;
eRef[_local6] = {};
eRef[_local6].id = _arg1;
eRef[_local6].lv = _arg2;
eRef[_local6].power = _arg3;
eRefId[_arg1] = _local6;
_local5 = 0;
while (_local5 < _arg4.length) {
eRef[_local6][_arg4[_local5]] = true;
_local5++;
};
eCount++;
}
public function updateInvSlots(_arg1:int){
var _local2:int;
var _local3:*;
var _local4:int;
var _local5:*;
if (_arg1 == -1){
_local2 = -1;
} else {
_local2 = invSlot_mc[_arg1].id;
};
window2_mc.warning.visible = false;
_local3 = 0;
while (_local3 < invSlotCount) {
_local4 = _pc;
_local5 = invSlot_mc[_local3].id;
invSlot_mc[_local3].filters = [];
if (invSlot_mc[_local3].id >= _invAlly){
_local4 = (invSlot_mc[_local3].id - _invAlly);
};
if ((((inventory.type[_local2] == _typeToken)) && ((invSlot_mc[_local3].op == 0)))){
invSlot_mc[_local3].filters = [new GlowFilter(4160956)];
};
if ((((invSlot_mc[_local3].op == -1)) || ((invSlot_mc[_local3].id < _invPlayer)))){
} else {
if (equipMode == 1){
if ((((((inventory.num[_local5] <= 0)) || (!((inventory.type[_local5] == _typeGun))))) || ((_local5 >= _invAlly)))){
invSlot_mc[_local3].alpha = 0.5;
};
} else {
if (equipMode == 2){
if ((((((((inventory.ammoMax[_local5] == 0)) || ((inventory.num[_local5] <= 0)))) || (!((inventory.type[_local5] == _typeUse))))) || ((_local5 >= _invAlly)))){
invSlot_mc[_local3].alpha = 0.5;
};
} else {
if (_local2 == -1){
invSlot_mc[_local3].alpha = 1;
} else {
if ((((invSlot_mc[_arg1].op == 0)) && ((inventory.num[_local5] > 0)))){
invSlot_mc[_local3].alpha = 0.5;
};
if ((((((_local2 >= _invAlly)) && ((inventory.num[_local5] > 0)))) && (!((inventory.type[_local5] == _typeGun))))){
invSlot_mc[_local3].alpha = 0.5;
};
if ((((((((_local2 >= _invAlly)) && ((inventory.num[_local5] > 0)))) && ((inventory.type[_local5] == _typeGun)))) && ((player.trait[(_local2 - _invAlly)][inventory.reqTrait[_local5]] < inventory.reqLv[_local5])))){
invSlot_mc[_local3].alpha = 0.5;
};
if (((((!((_local4 == _pc))) && (!((inventory.type[_local2] == _typeGun))))) && (!((inventory.type[_local2] == _typeMod))))){
invSlot_mc[_local3].alpha = 0.5;
};
if (((((!((_local4 == _pc))) && ((inventory.num[(_invAlly + _local4)] <= 0)))) && ((inventory.type[_local2] == _typeMod)))){
invSlot_mc[_local3].alpha = 0.5;
};
if ((((inventory.type[_local2] == _typeGun)) && ((player.trait[_local4][inventory.reqTrait[_local2]] < inventory.reqLv[_local2])))){
if (_local4 != _pc){
invSlot_mc[_local3].alpha = 0.5;
};
if (_local4 == _pc){
window2_mc.warning.visible = true;
};
};
if ((((((inventory.type[_local2] == _typeMod)) && ((inventory.type[_local5] == _typeGun)))) && ((inventory.num[_local5] > 0)))){
invSlot_mc[_local3].filters = [new GlowFilter(4160956)];
};
};
};
};
};
_local3++;
};
}
public function throwSister(_arg1, _arg2, _arg3, _arg4){
var _local5:*;
var _local6:*;
_local6 = ((((12 * Math.atan2((Math.abs((_arg3 - _arg1)) * 2), Math.abs((_arg4 - _arg2)))) * 2) / Math.PI) + 0.1);
_local5 = (new bullet_grenade3() as MovieClip);
_local5.x = _arg1;
_local5.y = 0;
_local5.a = 0.003;
_local5.speed = _local6;
_local5.x2 = _arg1;
_local5.y2 = _arg2;
_local5.x1 = _arg3;
_local5.y1 = _arg4;
_local5.dmg = 20;
_local5.chara = _pc;
_local5.explode = explode;
stage.addChild(_local5);
}
public function generatePlayer(_arg1:int, _arg2:int, _arg3:int){
var _local5:*;
player.exist[_arg1] = true;
player.sex[_arg1] = int((Math.random() * 2));
player.name[_arg1] = nameBoy[int((Math.random() * nameBoy.length))];
if (_arg1 == _pc){
player.name[_arg1] = "You";
};
if (_arg3 == -1){
player.devType[_arg1] = (int((Math.random() * _maxDev)) + 1);
} else {
player.devType[_arg1] = _arg3;
};
var _local4:* = 0;
while (_local4 < _maxTrait) {
player.trait[_arg1][_local4] = 0;
_local4++;
};
player.potentialAim[_arg1] = ((Math.random() / 1.25) + 0.1);
player.potentialTeam[_arg1] = ((Math.random() / 1.25) + 0.1);
player.trait[_arg1][TRAIT.BASE_AIMING] = (1 + int((Math.random() * 10)));
player.trait[_arg1][TRAIT.BASE_TEAMWORK] = (1 + int((Math.random() * 10)));
player.lv[_arg1] = 1;
player.sp[_arg1] = 0;
player.trained[_arg1] = 0;
_local4 = 1;
while (_local4 < _arg2) {
levelUp(_arg1, false);
_local4++;
};
player.optBoss[_arg1] = true;
player.optWall[_arg1] = true;
player.kill[_arg1] = 0;
player.earn[_arg1] = 0;
player.money[_arg1] = int(999999999);
player.nextTrait[_arg1] = int((Math.random() * 100));
if (_arg1 == _pc){
player.ai[_arg1] = _aiHero;
} else {
player.ai[_arg1] = _aiDefault;
};
player.forcus[_arg1] = -1;
player.cost[_arg1] = ((player.lv[_arg1] * 50) + 350);
player.exp[_arg1] = 0;
player.wexp[_arg1] = [];
_local4 = 0;
while (_local4 < _maxWeaponSkill) {
player.wexp[_arg1][_local4] = 0;
_local4++;
};
initPartySkill();
if (_arg1 == _pc){
_local5 = (_invPlayer + 1);
generateStuff(_local5, 11);
inventory.lv[_local5] = 1;
inventory.name[_local5] = "Soldier's Grenade";
inventory.attack[_local5] = 45;
inventory.ammoMax[_local5] = 9999;
inventory.ammo[_local5] = inventory.ammoMax[_local5];
inventory.value[_local5] = 100;
_local5 = _invPlayer;
} else {
player.pic[_arg1] = (0 + int((Math.random() * _maxPic)));
_local5 = (_invAlly + _arg1);
};
generateStuff(_local5, 24);
switch (player.devType[_arg1]){
case _devHunter:
player.trait[_arg1][TRAIT.SMALL_GUN] = 1;
player.trait[_arg1][TRAIT.RIFLE] = 1;
player.trait[_arg1][TRAIT.SHOTGUN] = 1;
player.trait[_arg1][TRAIT.SCAVENGER] = 1;
generateStuff(_local5, 23);
inventory.name[_local5] = "Hunter's Bowgun";
inventory.shootRate[_local5] = 32;
inventory.baseAccuracy[_local5] = 160;
inventory.attack[_local5] = 30;
inventory.reqLv[_local5] = 1;
break;
case _devSniper:
player.trait[_arg1][TRAIT.RIFLE] = 2;
player.trait[_arg1][TRAIT.KILLER] = 1;
generateStuff(_local5, 4);
break;
case _devSheriff:
player.trait[_arg1][TRAIT.SHOTGUN] = 2;
player.trait[_arg1][TRAIT.FURY] = 1;
generateStuff(_local5, 3);
break;
case _devRogue:
generateStuff(_local5, 1);
player.trait[_arg1][TRAIT.SMALL_GUN] = 2;
player.trait[_arg1][TRAIT.RIFLE] = 1;
player.trait[_arg1][TRAIT.LUCK] = 1;
break;
case _devRanger:
player.trait[_arg1][TRAIT.SMALL_GUN] = 1;
player.trait[_arg1][TRAIT.BIG_GUN] = 2;
generateStuff(_local5, 36);
break;
case _devMilitia:
player.trait[_arg1][TRAIT.RIFLE] = 2;
player.trait[_arg1][TRAIT.BIG_GUN] = 1;
generateStuff(_local5, 4);
break;
case _devGuard:
player.trait[_arg1][TRAIT.SMALL_GUN] = 1;
player.trait[_arg1][TRAIT.SHOTGUN] = 1;
player.trait[_arg1][TRAIT.DEFENDER] = 2;
break;
case _devNoble:
generateStuff(_local5, 2);
inventory.name[_local5] = "Sub Machine Gun";
inventory.modMax[_local5] = 2;
inventory.reqLv[_local5] = 1;
enchant(_local5, _encAccuracy, 3);
player.trait[_arg1][TRAIT.SMALL_GUN] = 1;
player.trait[_arg1][TRAIT.RIFLE] = 1;
player.trait[_arg1][TRAIT.SHOTGUN] = 1;
player.trait[_arg1][TRAIT.BIG_GUN] = 1;
break;
case _devDuelist:
generateStuff(_local5, 1);
inventory.modMax[_local5] = 4;
player.trait[_arg1][TRAIT.SMALL_GUN] = 3;
enchant(_local5, _encAmmo, 3);
break;
};
while (player.sp[_arg1] > 0) {
gainTrait(_arg1, false);
var _local6 = player.sp;
var _local7 = _arg1;
var _local8 = (_local6[_local7] - 1);
_local6[_local7] = _local8;
};
player.trait[_arg1][player.devType[_arg1]] = player.lv[_arg1];
if (_arg1 == _pc){
} else {
player.trait[_arg1][TRAIT[devGroup[player.devType[_arg1]][0]]] = (player.trait[_arg1][TRAIT[devGroup[player.devType[_arg1]][0]]] + int(Math.sqrt((_arg2 * 1.5))));
};
}
public function onEnterFrame(_arg1:Event){
var _local2:int;
var _local3:int;
var _local4:*;
var _local5:*;
setChildIndex(customCursor, (numChildren - 1));
if (shakeCount){
shakeFrame();
};
if (gamePaused){
stopSound();
return;
};
cb = 0;
if (protTime){
protTime--;
if (protTime <= 0){
if (col[0][2] >= 0){
col[0][2] = (col[0][2] - 0.1);
};
protTime--;
if (protTime <= -100){
protTime = 0;
col[0][2] = 0;
};
} else {
if (col[0][2] < 1.3){
col[0][2] = (col[0][2] + 0.1);
};
};
cb = 1;
};
if (blendCounter){
blendCounter--;
if (blendCounter == 0){
col[1] = [0, 0, 0, 0, 0, 0];
} else {
_local3 = (blendCounter * 8);
col[1] = [0.01, 0.01, 0.01, _local3, _local3, _local3];
};
cb = 2;
};
if (cb){
bg_color.redMultiplier = 1;
bg_color.blueMultiplier = 1;
bg_color.greenMultiplier = 1;
bg_color.redOffset = 0;
bg_color.greenOffset = 0;
bg_color.blueOffset = 0;
_local2 = 0;
while (_local2 < cb) {
bg_color.redMultiplier = (bg_color.redMultiplier + col[_local2][0]);
bg_color.greenMultiplier = (bg_color.greenMultiplier + col[_local2][1]);
bg_color.blueMultiplier = (bg_color.blueMultiplier + col[_local2][2]);
bg_color.redOffset = (bg_color.redOffset + col[_local2][3]);
bg_color.greenOffset = (bg_color.greenOffset + col[_local2][4]);
bg_color.blueOffset = (bg_color.blueOffset + col[_local2][5]);
_local2++;
};
root.transform.colorTransform = bg_color;
};
if (castleCounter){
castleCounter--;
if (castleCounter == 0){
castle.x = 575;
castle.y = 220;
castle.transform.colorTransform = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
} else {
castle.x = (575 + (Math.random() * 3));
castle.y = (220 + (Math.random() * 3));
if (blendType == 0){
castle.transform.colorTransform = new ColorTransform((1 + (castleCounter * 0.05)), 1, 1, 1, 1, 0, 0);
} else {
_local3 = (castleCounter * 4);
castle.transform.colorTransform = new ColorTransform(1.01, 1.01, 1.1, 1, _local3, _local3, _local3, 0);
};
};
};
cloud.x = (cloud.x - 0.2);
if (cloud.x < -1280){
cloud.x = 0;
};
_local2 = 0;
for (;_local2 < maxAlly;_local2++) {
if (player.exist[_local2] == false){
} else {
if (_local2 == hero){
w = weapon(_local2);
} else {
if (((((player.optBoss[_local2]) && (!((targetBoss == undefined))))) && ((player.onMark[_local2] == false)))){
if (targetBoss.isDead()){
targetBoss = undefined;
clearAiTarget(_local2);
continue;
};
player.shooting[_local2] = false;
player.burst[_local2] = 0;
player.target[_local2] = targetBoss;
player.onMark[_local2] = true;
player.aimCount[_local2] = int((player.aimTime[_local2] * (5.5 - (player.target[_local2].x / 160))));
if (player.aimCount[_local2] < 3){
player.aimCount[_local2] = 3;
};
continue;
};
w = weapon(_local2);
if (player.target[_local2] == undefined){
player.shooting[_local2] = false;
player.burst[_local2] = 0;
player.onMark[_local2] = false;
if (Math.random() < player.workRate[_local2]){
if (fireAtWill){
player.target[_local2] = aiFireAtWill(_local2, inventory.range[w]);
} else {
player.target[_local2] = player.aiFunc[_local2](_local2, inventory.range[w]);
};
if (player.target[_local2] == undefined){
if (inventory.manualReload[w]){
if (inventory.ammo[w] < (inventory.ammoMax[w] / 1.5)){
reload(_local2, w);
};
} else {
if (inventory.ammo[w] < (inventory.ammoMax[w] / 3)){
reload(_local2, w);
};
};
player.aimCount[_local2] = int((player.aimTime[_local2] * 2));
} else {
player.aimCount[_local2] = int((player.aimTime[_local2] * (5.5 - (player.target[_local2].x / 160))));
if (player.aimCount[_local2] < 3){
player.aimCount[_local2] = 3;
};
continue;
};
};
cursor_mc[_local2].x = (cursor_mc[_local2].x + (((cursorX[inventory.range[w]] - cursor_mc[_local2].x) / player.aimTime[_local2]) / 3));
cursor_mc[_local2].y = (cursor_mc[_local2].y + (((playerY[_local2] - cursor_mc[_local2].y) / player.aimTime[_local2]) / 3));
} else {
_local4 = player.target[_local2];
if (_local4.isDead()){
if (((player.onMark[_local2]) && (player.optWall[_local2]))){
searchNextAlert(_local2);
} else {
clearAiTarget(_local2);
};
continue;
};
if (cursor_mc[_local2].x != _local4.x){
cursor_mc[_local2].x = (cursor_mc[_local2].x + (((_local4.x + (_local4.speed * player.aimTime[_local2])) - cursor_mc[_local2].x) / player.aimTime[_local2]));
};
if (cursor_mc[_local2].y != _local4.y){
cursor_mc[_local2].y = (cursor_mc[_local2].y + ((_local4.y - cursor_mc[_local2].y) / player.aimTime[_local2]));
};
if (player.aimCount[_local2] > 0){
var _local6 = player.aimCount;
var _local7 = _local2;
var _local8 = (_local6[_local7] - 1);
_local6[_local7] = _local8;
} else {
player.shooting[_local2] = true;
};
};
};
if (player.rampage[_local2] > 0){
_local6 = player.rampage;
_local7 = _local2;
_local8 = (_local6[_local7] - 1);
_local6[_local7] = _local8;
if (player.rampage[_local2] == 0){
endRampage(_local2);
};
};
if (player.frenzy[_local2] > 0){
if (CALC.DUELIST(_local2)){
if (_local2 == hero){
player.frenzy[_local2] = (player.frenzy[_local2] - 0.12);
} else {
player.frenzy[_local2] = (player.frenzy[_local2] - 0.04);
};
};
if (player.frenzy[_local2] < 0){
player.frenzy[_local2] = 0;
};
};
player.shootTimer[_local2] = (player.shootTimer[_local2] - inventory.shootRate[w]);
if (player.shooting[_local2]){
shoot(_local2);
} else {
player.idleCount[_local2] = (player.idleCount[_local2] + 0.033);
if (inventory.id[w] == 16){
if (chainMode[_local2] > 1){
_local5 = (chainSoundLength - chainSound[_local2].position);
if (chainMode[_local2] == 3){
_local5 = 0;
};
chainSound[_local2].stop();
chainSound[_local2] = (sound_chain2.play(_local5, 0, trans[_local2]) as SoundChannel);
chainMode[_local2] = 1;
};
};
};
};
};
}
function frame22(){
loadIndex();
versionFixIndex();
gameMedalBonus();
gameStage = _stageTitle;
debugStartDay = 0;
vol.buttonMode = true;
if (idx.mute == true){
volumeChange(0);
} else {
volumeChange(1);
};
if (debugUnlockClass){
idx.unlocked = [true, true, true, true, true, true, true, true];
};
stop();
amb = sound_mute.play();
if (((debug) && (debugMedal))){
i = 0;
while (i < _maxMedal) {
medal[i] = true;
i++;
};
};
if (debugTown){
debug_town();
return;
};
if (debugBattle){
debug_battle(debugBattle);
return;
};
root.x = 0;
root.y = 0;
shakeCount = 0;
maxSave = 5;
if (debug == 0){
debugId = 0;
};
saveBox.visible = true;
saveBox.enabled = true;
saveBox.removeAll();
i = 0;
while (i < maxSave) {
saveBox.addItem({data:i, label:("" + idx.saveName[i])});
i++;
};
saveBox.selectedItem = saveBox.getItemAt(idx.slot);
runner_mc = [];
runner_x = [500, 480, 485, 440, 405, 410, 490, 400];
runner_y = [220, 225, 260, 290, 175, 190, 330, 320];
runner_pic = [4, 5, 2, 3, 0, 1, 6, 7];
runner_speed = [4.4, 4.6, 4, 2.3, 1.2, 1.1, 3.2, 2.3];
i = 0;
while (i < _maxRunner) {
runner_mc[i] = (new runner() as MovieClip);
runner_mc[i].x = runner_x[i];
runner_mc[i].y = runner_y[i];
runner_mc[i].pic = runner_pic[i];
runner_mc[i].dead = false;
stage.addChild(runner_mc[i]);
i++;
};
addEventListener(Event.ENTER_FRAME, onEnterFrame_title);
stage.addEventListener(MouseEvent.MOUSE_DOWN, MouseLDownFunc_title);
resetBG();
longest.text = (((("Most Days Survived: " + idx.day) + " / ") + idx.dayHC) + " (HC)");
t = 0;
kong_mc.y = -100;
kong_mc2.y = -100;
if (kongregate){
Tweener.addTween(kong_mc2, {delay:1, time:1.2, y:300, transition:"easeOutBounce"});
} else {
Tweener.addTween(kong_mc, {delay:1, time:1.2, y:260, transition:"easeOutBounce"});
};
}
public function updateGold(){
moneyText.text = ("" + player.money[_pc]);
}
public function cancelReload(_arg1:int, _arg2:int){
if (inventory.autoReload[_arg2] == 0){
if ((((inventory.id[_arg2] == 14)) || ((inventory.id[_arg2] == 15)))){
sound_reloaded3.play(0, 0, trans[_arg1]);
} else {
sound_reloaded2.play(0, 0, trans[_arg1]);
};
player_mc[_arg1].gotoAndStop(player_mc[_arg1].anime2);
} else {
if (inventory.reloadTime[_arg2] != 0){
if ((((inventory.id[_arg2] == 14)) || ((inventory.id[_arg2] == 15)))){
sound_reloading3.play(0, 0, trans[_arg1]);
} else {
sound_reloading2.play(0, 0, trans[_arg1]);
};
};
};
inventory.reloadTime[_arg2] = 0;
if (_arg1 == _pc){
updateAmmoBar();
};
}
function frame57(){
setChildIndex(gameoverLogo, (numChildren - 1));
stop();
}
public function exitTown(){
if (stage.getChildByName("window3_mc")){
stage.removeChild(window3_mc);
};
stage.removeChild(window2_mc);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, KeyDown_town);
stage.removeEventListener(MouseEvent.MOUSE_DOWN, MouseLDownFunc_town);
removeEventListener(Event.ENTER_FRAME, onEnterFrame_town);
}
public function updateLevel(){
var _local1:int;
var _local2:*;
_local1 = 0;
while (_local1 < radioCount) {
if (cs == _local1){
radio_mc[_local1].gotoAndStop(2);
} else {
radio_mc[_local1].gotoAndStop(1);
};
_local1++;
};
if (cs == -1){
window2_mc.procButton.visible = false;
window2_mc.itemDesc.text = "Please choose a skill you want to learn or improve.";
window2_mc.itemDesc2.text = "";
window2_mc.now.text = "";
} else {
_local2 = REF[ID[radio_mc[cs].id]](_pc);
window2_mc.now.text = _local2[2];
traitLvFix = 1;
_local2 = REF[ID[radio_mc[cs].id]](_pc);
window2_mc.itemDesc.text = _local2[1];
window2_mc.itemDesc2.text = _local2[2];
window2_mc.procButton.visible = true;
};
}
public function spawnEnemy(_arg1:int){
var _local2:int;
var _local3:int;
_local2 = -1;
_local3 = 0;
while (_local3 < maxEnemy) {
if (enemyArray[_local3].isFree()){
addChild(enemyArray[_local3]);
enemyArray[_local3].init(_arg1);
_local2 = _local3;
break;
};
_local3++;
};
return (_local2);
}
public function rampageRanger(_arg1:int){
var _local2:int;
if (player.frenzy[_arg1] < 1000){
return;
};
player.frenzy[_arg1] = 0;
(_local2 == 0);
while (_local2 < maxAlly) {
if (player.exist[_local2] == false){
} else {
rampageOn(_local2, (((12 * 30) * (100 + CALC.RANGER(_arg1))) / 100));
};
_local2++;
};
}
public function resultMedal(){
if (mission.noDamage){
game.noDamage++;
};
if (game.carryOver == true){
return;
};
if (game.noDamage >= 10){
getMedal(_medalNoDamage4);
};
if (game.noDamage >= 7){
getMedal(_medalNoDamage3);
};
if (game.noDamage >= 4){
getMedal(_medalNoDamage2);
};
if (game.noDamage >= 1){
getMedal(_medalNoDamage1);
};
if ((((player.devType[_pc] == _devHunter)) && ((player.lv[_pc] >= 10)))){
getMedal(_medalClass1);
};
if ((((player.devType[_pc] == _devRogue)) && ((player.lv[_pc] >= 10)))){
getMedal(_medalClass2);
};
if ((((player.devType[_pc] == _devSheriff)) && ((player.lv[_pc] >= 10)))){
getMedal(_medalClass3);
};
if ((((player.devType[_pc] == _devMilitia)) && ((player.lv[_pc] >= 10)))){
getMedal(_medalClass4);
};
if (mission.ragnarok == true){
getMedal(_medalRagnarok);
};
}
public function fireworkMedal(){
getMedal(_medalFirework);
}
public function invDrag(){
var _local1:*;
var _local2:Boolean;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
if (window2_mc.animeTime){
return;
};
_local1 = window2_mc.getObjectsUnderPoint(new Point(mouseX, mouseY));
_local2 = false;
_local5 = 0;
while (_local5 < _local1.length) {
_local6 = _local1[_local5].parent;
if (_local6.hasOwnProperty("slot")){
_local2 = true;
item = _local6.item;
slot = _local6.slot;
if (drag == false){
if (equipMode == 1){
if (invSlot_mc[slot].alpha != 1){
endEquipMode();
break;
};
sound_mod.play();
game.ap = (game.ap - 5);
game.recycleCount++;
actionMedal();
_local3 = invSlot_mc[slot].id;
randomStuff(_local3, ((inventory.value[_local3] / 2) + 250), 3);
endEquipMode();
break;
};
if (equipMode == 2){
if (invSlot_mc[slot].alpha != 1){
endEquipMode();
break;
};
sound_mod.play();
game.ap = (game.ap - 3);
_local3 = invSlot_mc[slot].id;
var _local7 = inventory.ammo;
var _local8 = _local3;
var _local9 = (_local7[_local8] + 1);
_local7[_local8] = _local9;
endEquipMode();
break;
};
if (item != -1){
sound_reloaded1.play();
window2_mc.setChildIndex(invIcon_mc[item], (window2_mc.numChildren - 1));
invIcon_mc[item].x = ((mouseX - window2_mc.x) - (invIcon_mc[item].width / 2));
invIcon_mc[item].y = ((mouseY - window2_mc.y) - (invIcon_mc[item].height / 2));
invIcon_mc[item].startDrag();
drag = true;
dragItem = item;
dragSlot = slot;
updateInvSlots(slot);
};
} else {
if (invSlot_mc[slot].alpha != 1){
_local2 = false;
break;
};
if (invSlot_mc[slot].op == 0){
_local3 = invSlot_mc[slot].id;
_local4 = invSlot_mc[dragSlot].id;
if (inventory.type[_local4] == _typeToken){
sound_pay1.play();
inventory.value[_local3] = limit((inventory.value[_local3] - inventory.attack[_local4]), 0, 999999999);
inventory.num[_local4] = 0;
invIcon_mc[dragItem].visible = false;
invSlot_mc[dragSlot].item = -1;
invIcon_mc[dragItem].stopDrag();
invIcon_mc[dragItem].x = ((invSlot_mc[dragSlot].x - ((invIcon_mc[dragItem].width - 48) / 2)) - 4);
invIcon_mc[dragItem].y = invSlot_mc[dragSlot].y;
drag = false;
break;
};
_local2 = false;
break;
};
if (invSlot_mc[dragSlot].op == 0){
_local3 = invSlot_mc[dragSlot].id;
if (stuffGetValue(_local3, 1) > player.money[_pc]){
sound_beep.play();
_local2 = false;
break;
};
sound_pay1.play();
player.money[_pc] = (player.money[_pc] - stuffGetValue(_local3, 1));
updateInterface();
};
invIcon_mc[dragItem].stopDrag();
invIcon_mc[dragItem].x = ((invSlot_mc[slot].x - ((invIcon_mc[dragItem].width - 48) / 2)) - 4);
invIcon_mc[dragItem].y = invSlot_mc[slot].y;
drag = false;
if (item != -1){
_local3 = invSlot_mc[slot].id;
_local4 = invSlot_mc[dragSlot].id;
if ((((inventory.type[_local4] == _typeMod)) && ((inventory.type[_local3] == _typeGun)))){
showDialog(_dialogMod);
dialog_mc.question.text = "Do you really want to mount the mod on this gun?";
break;
};
invSlot_mc[slot].item = dragItem;
invSlot_mc[dragSlot].item = item;
invIcon_mc[item].x = ((invSlot_mc[dragSlot].x - ((invIcon_mc[item].width - 48) / 2)) - 4);
invIcon_mc[item].y = invSlot_mc[dragSlot].y;
} else {
invSlot_mc[slot].item = dragItem;
invSlot_mc[dragSlot].item = -1;
};
swapStuff(invSlot_mc[dragSlot].id, invSlot_mc[slot].id);
};
break;
};
_local5++;
};
if (_local2 == false){
if (drag){
if ((((menuId == 4)) && ((invSlot_mc[dragSlot].op == 1)))){
_local3 = invSlot_mc[dragSlot].id;
showDialog(_dialogSell);
dialog_mc.question.text = (("Do you really want to sell it for " + stuffGetValue(_local3, 0)) + " gold?");
invIcon_mc[dragItem].visible = false;
};
invIcon_mc[dragItem].stopDrag();
invIcon_mc[dragItem].x = ((invSlot_mc[dragSlot].x - ((invIcon_mc[dragItem].width - 48) / 2)) - 4);
invIcon_mc[dragItem].y = invSlot_mc[dragSlot].y;
drag = false;
updateInvSlots(-1);
updateInventory();
};
} else {
updateSlots();
updateInventory();
updateInterface();
if (drag == false){
updateInvSlots(-1);
};
};
}
public function explode(_arg1, _arg2, _arg3, _arg4, _arg5:int, _arg6:int){
var _local7:*;
if (_arg5 != -1){
_arg5 = int(((_arg5 * (100 + CALC.DA_BOMB(_arg1))) / 100));
};
sound_exp1.play(0, 0, soundPos(_arg3));
if (_arg6 == 0){
_local7 = (new explosion() as MovieClip);
} else {
_local7 = (new explosion2() as MovieClip);
};
_local7.x = _arg3;
_local7.y = _arg4;
_local7.alpha = 0.85;
stage.addChild(_local7);
shake(10, 5, 0.9);
if (_arg5 == -1){
return;
};
var _local8:int;
while (_local8 < maxEnemy) {
if (enemyArray[_local8].isDead()){
} else {
if ((((((((enemyArray[_local8].x > (_arg3 - 60))) && ((enemyArray[_local8].x < (_arg3 + 60))))) && ((enemyArray[_local8].y > (_arg4 - 50))))) && ((enemyArray[_local8].y < (_arg4 + 50))))){
enemyArray[_local8].damage(_arg5, _arg2, enemyArray[_local8].x, enemyArray[_local8].y, _arg1, false);
};
};
_local8++;
};
}
function frame65(){
stop();
root.x = 0;
root.y = 0;
apText.visible = false;
frenzyBar.scaleX = 0;
ci = _invPlayer;
window2_mc = (new window() as MovieClip);
bottomBar.gotoAndStop(1);
unlocked = true;
menuList = [];
draw_count = 0;
old_timer = getTimer();
cancelFirework = false;
menuList[0] = missionButton;
menuList[1] = castleButton;
menuList[2] = charaButton;
menuList[3] = equipButton;
menuList[4] = shopButton;
menuList[5] = medalButton;
i = 0;
while (i < menuList.length) {
menuList[i].visible = false;
menuList[i].x = (menuList[i].x - 90);
i++;
};
toTownMenu = false;
gameStage = _stageResult;
geneClass = 0;
ce = -1;
cs = 0;
currentPop = -1;
currentHint = -1;
fadeCount = 0;
eventModeEnabled = false;
stage.addEventListener(MouseEvent.MOUSE_DOWN, MouseLDownFunc_result);
addEventListener(Event.ENTER_FRAME, onEnterFrame_result);
menuButton.mouseEnabled = true;
customCursor.visible = false;
updateAmmoBar();
updateInterface();
updateInventory();
stage.addChild(window2_mc);
exitMenuResult();
selectEvent();
}
public function mouseUpFunc(_arg1:MouseEvent){
player.burst[_pc] = 0;
if (_pc != hero){
return;
};
if ((((((inventory.id[ci] == 24)) || ((inventory.id[ci] == 25)))) && ((chainMode[_pc] == 1)))){
shoot(_pc);
};
player.shooting[_pc] = false;
}
function frame71(){
stop();
root.x = 0;
root.y = 0;
hintCount2 = 0;
defHint = "";
amb.stop();
amb = (sound_bg_town.play(0, 99999) as SoundChannel);
startFromTown = false;
ci = _invPlayer;
updateFrenzyBar();
window2_mc.closeButton.visible = true;
window2_mc.x = 630;
window2_mc.y = -22;
stage.addChild(window2_mc);
if (game.carryOver == true){
textCarryOver.visible = true;
} else {
textCarryOver.visible = false;
};
gameStage = _stageTown;
if (gameContinued == false){
if ((game.day % 10) == 4){
game.specialSale = 1;
} else {
game.specialSale = 0;
};
generateShop();
generateCard();
generateMission(game.day);
generateRecruit();
townMedalBonus();
if (game.chicken > 0){
game.egg = false;
} else {
game.egg = true;
};
game.partyHeld = false;
game.prayed = false;
game.robbed = 0;
game.taunted = 0;
startTownMedal();
saveGame();
} else {
if (debugTownDay){
game.day = debugTownDay;
generateMission(game.day);
game.ap = (game.ap + 40);
};
gameContinued = false;
};
initPartySkill();
actList = [];
actList[0] = {name:"Pray", cost:2, pic:5, angle:7, desc:"Praying may increases your wall defense.", func:function (){
showEventDialog(_dialogActPray);
}, method:function (){
if (game.prayed == false){
return (true);
};
return (-1);
}};
actList[1] = {name:"Have dinner", cost:3, pic:12, angle:-2, desc:"Having dinner will give you exp bonus.", func:function (){
showEventDialog(_dialogActEat);
}, method:function (){
if (mission.expFix == 1){
return (true);
};
return (-1);
}};
actList[2] = {name:"Go searching", cost:1, pic:13, angle:4, desc:"Explore and discover the secret of your town!", func:function (){
showEventDialog(_dialogActSearch);
}, method:function (){
return (true);
}};
actList[3] = {name:"Party", cost:3, pic:15, angle:-3, desc:"Holding a party increases damages your troops deal.", func:function (){
showEventDialog(_dialogActParty);
}, method:function (){
if (game.party == 0){
return (false);
};
if (game.partyHeld == false){
return (true);
};
return (-1);
}};
actList[4] = {name:"Collect eggs", cost:1, pic:6, angle:6, desc:"You can collect eggs once in a day if you have chickens.", func:function (){
showEventDialog(_dialogActEgg);
}, method:function (){
if (game.chicken == 0){
return (false);
};
if (game.egg == false){
return (true);
};
return (-1);
}};
actList[5] = {name:"Taunt", cost:2, pic:14, angle:-2, desc:"It will make the enemies stronger but you get more reward.", func:function (){
showEventDialog(_dialogActTaunt);
}, method:function (){
if (PARTY.TAUNT == 0){
return (false);
};
return (true);
}};
actList[6] = {name:"Train", cost:4, pic:16, angle:6, desc:"SP trainer will train one of your skills.", func:function (){
showEventDialog(_dialogActTrain);
}, method:function (){
if (game.spTrainer == 0){
return (false);
};
return (true);
}};
actList[9] = {name:"Claim title", cost:4, pic:3, angle:-9, desc:"You will receive a new title and salary.", func:function (){
showEventDialog(_dialogActClaim);
}, method:function (){
if (newTitle(0)){
return (true);
};
return (-1);
}};
updateAp();
delay = 0;
drag = false;
eventDialog = 0;
stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyDown_town);
stage.addEventListener(MouseEvent.MOUSE_DOWN, MouseLDownFunc_town);
addEventListener(Event.ENTER_FRAME, onEnterFrame_town);
menuButton.mouseEnabled = true;
customCursor.visible = false;
updateInterface();
updateInventory();
menuId = 1;
exitMenu();
sound_scroll1.play();
window2_mc.alpha = 1;
window2_mc.anime = false;
window2_mc.gotoAndPlay("menu_mission");
window2_mc.addFrameScript((window2_mc.currentFrame - 1), procMissionMenu);
if (game.day == 1){
popInfo("Make sure to repair your walls!");
};
}
public function setGameOption(){
game.optionBossDropMod = window2_mc.optDropMod.selected;
game.MORE = window2_mc.optMore.selected;
game.optWeaponLevel = window2_mc.optWeaponLevel.selected;
game.skipHard = window2_mc.optSkipHard.selected;
game.tight = window2_mc.optTight.selected;
}
public function renewResult(){
var _local1:*;
_local1 = 0;
i = 1;
while (i < maxAlly) {
if (player.exist[i]){
_local1 = (_local1 + wage(i));
};
i++;
};
mission.wage = (_local1 * -1);
mission.unkeep = ((calcTax() + calcUnkeep()) * -1);
if (mission.noDamage){
news = (news + "You've scored a perfect game! You are given +30% reward bonus.\n");
mission.reward = int((mission.reward * 1.3));
};
if (mission.hire){
mission.hire = false;
player.exist[maxParty] = false;
mission.reward = (mission.reward / 2);
};
mission.resultCastle = 0;
if (game.museum){
mission.resultCastle = (mission.resultCastle + calcMuseum());
news = (news + (("Your museum generated " + calcMuseum()) + " GP.\n"));
};
mission.resultCastle = (mission.resultCastle + (game.titleMoney + int(((game.fame * Math.random()) * 10))));
if (game.titleMoney){
news = (news + (("You received a salary of " + game.titleMoney) + " GP.\n"));
};
_local1 = (((mission.reward + mission.wage) + mission.unkeep) + mission.resultCastle);
player.money[_pc] = (player.money[_pc] + _local1);
game.totalMoney = (game.totalMoney + (mission.reward + mission.resultCastle));
mission.resultOther = (((player.money[_pc] - mission.resultBefore) - _local1) - mission.resultTaken);
townEvent();
}
public function debug_town(){
game.apFix = 99999999;
game.day = 80;
game.invSlot = 16;
game.smith = 7;
game.spTrainer = 2;
generatePlayer(0, 50, _devRogue);
generatePlayer(1, 50, _devRogue);
generatePlayer(2, 50, _devRogue);
generatePlayer(3, 50, _devRogue);
generateStuff((_invPlayer + 108), 6);
generateStuff((_invPlayer + 109), 8);
setMod(inventory.mod[(_invPlayer + 2)], _encAutoReload);
generateStuff((_invPlayer + 0), 121);
generateStuff((_invPlayer + 1), 102);
generateStuff((_invPlayer + 2), 103);
generateStuff((_invPlayer + 3), 104);
generateStuff((_invPlayer + 4), 105);
generateStuff((_invPlayer + 5), 106);
generateStuff((_invPlayer + 6), 107);
generateStuff((_invPlayer + 7), 108);
generateStuff((_invPlayer + 8), 109);
generateStuff((_invPlayer + 9), 110);
generateStuff((_invPlayer + 10), 117);
generateStuff((_invPlayer + 11), 112);
generateStuff((_invPlayer + 12), 113);
generateStuff((_invPlayer + 13), 114);
generateStuff((_invPlayer + 14), 115);
generateStuff((_invPlayer + 15), 116);
player.money[0] = 100000;
player.lv[0] = 15;
game.chicken = 100;
game.party = 5;
gotoAndPlay("town");
}
public function procCharaMenu(){
window2_mc.stop();
window2_mc.anime = true;
window2_mc.hint.visible = false;
window2_mc.dismissButton.mouseEnabled = true;
window2_mc.actRef1.mouseEnabled = false;
orderIsOpen = false;
updateCharaList();
updateCharaMenu();
}
public function createInvSlot(_arg1:int, _arg2:int, _arg3:int, _arg4){
var _local5:int;
_local5 = invSlotCount;
invSlot_mc[_local5] = (new invSlot() as MovieClip);
invSlot_mc[_local5].x = _arg2;
invSlot_mc[_local5].y = _arg3;
invSlot_mc[_local5].slot = _local5;
invSlot_mc[_local5].id = _arg1;
invSlot_mc[_local5].op = _arg4;
invSlot_mc[_local5].buttonMode = true;
invSlot_mc[_local5].shortNum.mouseEnabled = false;
invSlot_mc[_local5].cost.visible = false;
invSlot_mc[_local5].coin.visible = false;
invSlot_mc[_local5].alpha = 1;
if (_arg4 == 0){
invSlot_mc[_local5].cost.visible = true;
invSlot_mc[_local5].coin.visible = true;
updateSlot(_local5);
};
if (_arg4 == -1){
invSlot_mc[_local5].alpha = 0.5;
};
if ((((_arg1 >= _invPlayer)) && ((_arg1 < (_invPlayer + 5))))){
invSlot_mc[_local5].shortNum.text = ((_arg1 - _invPlayer) + 1);
};
window2_mc.addChild(invSlot_mc[_local5]);
if ((((inventory.num[_arg1] > 0)) && (!((_arg4 == -1))))){
invSlot_mc[_local5].item = createInvIcon(_arg1, _local5);
invSlot_mc[_local5].visible = true;
} else {
invSlot_mc[_local5].item = -1;
if (_arg4 == 0){
invSlot_mc[_local5].visible = false;
};
};
updateSlot(_local5);
window2_mc.setChildIndex(invSlot_mc[_local5], 3);
invSlotCount++;
}
public function IF(_arg1){
if (_arg1 == true){
return (1);
};
return (0);
}
public function searchProc(_arg1, _arg2, _arg3, _arg4){
_arg1.title.text = _arg2;
_arg1.text.text = _arg3;
return (0);
}
public function calcTax(){
var _local1:int;
if (game.casual == true){
_local1 = (_local1 + ((game.day * 20) - 400));
} else {
_local1 = (_local1 + ((game.day * 35) - 200));
};
if (_local1 < 0){
_local1 = 0;
};
return (_local1);
}
public function wage(_arg1:int){
var _local2:*;
_local2 = (((player.lv[_arg1] * 6) + 50) - (true_if((player.pic[_arg1] == 50)) * 50));
if (_local2 < 0){
_local2 = 0;
};
_local2 = ((_local2 * (75 + ((player.potentialAim[_arg1] * player.potentialTeam[_arg1]) * 100))) / 100);
_local2 = ((_local2 * 100) / ((100 + PARTY.ACCOUNTANT) + (IF(medal[_medalRagnarok]) * 3)));
if (_arg1 == _pc){
_local2 = 0;
};
return (int(_local2));
}
public function useItem(_arg1:int, _arg2:int){
var _local3:int;
var _local4:int;
var _local5:MovieClip;
var _local6:MovieClip;
_local3 = 0;
if (stage.getChildByName(("timer" + _arg2))){
sound_beep.play();
return;
};
if (inventory.id[_arg2] == 11){
_local3 = 100;
throwGrenade(_pc, -1, player_mc[_pc].x, player_mc[_pc].y, mouseX, mouseY, 12, inventory.attack[_arg2], -1);
};
if (inventory.id[_arg2] == 12){
_local3 = 2000;
castleCounter = 15;
blendType = 1;
game.castleHP = (game.castleHP + calcRepair(_arg2));
if (game.castleHP >= game.castleMHP){
game.castleHP = game.castleMHP;
};
updateHP();
sound_repair1.play();
};
if (inventory.id[_arg2] == 37){
protTime = inventory.attack[_arg2];
_local5 = new layhand();
_local5.x = 550;
_local5.y = 270;
stage.addChild(_local5);
sound_pray1.play();
};
if (inventory.id[_arg2] == 38){
_local4 = 0;
while (_local4 < 30) {
spawnEnemy(_dino);
_local4++;
};
text_effect("Let's Ragnarok!");
blendType = 0;
blendCounter = (blendCounter + 15);
shake(150, 1.5, 1);
mission.ragnarok = true;
};
var _local7 = inventory.ammo;
var _local8 = _arg2;
var _local9 = (_local7[_local8] - 1);
_local7[_local8] = _local9;
if (inventory.ammo[_arg2] <= 0){
inventory.num[_arg2] = 0;
};
updateInventory();
if (((_local3) && ((inventory.ammo[_arg2] > 0)))){
_local6 = new itemTimer();
_local6.y = 350;
_local6.x = (((_arg2 - _invPlayer) * 90) - 20);
_local6.timer = int(((_local3 * 100) / (100 + PARTY.SUPPLIER)));
_local6.name = ("timer" + _arg2);
stage.addChild(_local6);
};
}
public function startTownMedal(){
if (game.carryOver == true){
return;
};
if (game.day >= 40){
getMedal(_medalElona);
};
if (game.HC == true){
if (game.day >= 40){
getMedal(_medalHardcore2);
};
};
}
public function clearAiTarget(_arg1:int){
player.shooting[_arg1] = false;
player.burst[_arg1] = 0;
player.target[_arg1] = undefined;
player.onMark[_arg1] = false;
}
public function stopFire(){
var _local2:*;
var _local1:* = (stage.numChildren - 1);
while (_local1 >= 0) {
_local2 = stage.getChildAt(_local1);
if (_local2.name == "fire"){
_local2.visible = false;
};
_local1--;
};
}
public function removeEnemy(){
var _local1:int;
_local1 = 0;
while (_local1 < maxEnemy) {
if (enemyArray[_local1].isFree() == false){
enemyArray[_local1].nullify();
};
_local1++;
};
}
public function cardEvent(_arg1:int){
var _local2:*;
_local2 = (new cardEffect() as MovieClip);
_local2.x = 360;
_local2.y = 170;
var _local3:Boolean;
switch (game.card[_arg1]){
case 1:
_local3 = true;
mission.note = (mission.note + (("[GOLD] " + int((mission.reward * 0.25))) + "gp added to the reward.\n"));
mission.reward = (mission.reward + int((mission.reward * 0.25)));
break;
case 2:
_local3 = true;
mission.dmgFix = (1.15 + (Math.random() / 3));
mission.note = (mission.note + (("[AXE] You and your troops deal " + int(((mission.dmgFix * 100) - 100))) + "% more damage.\n"));
break;
case 4:
mission.note = (mission.note + "[GRAVE] The number of waves is increased by 1.\n");
mission.wave++;
break;
case 6:
mission.note = (mission.note + (("[SKULL] Enemy level increased by " + (1 + int((mission.strength / 3)))) + ".\n"));
mission.strength = (mission.strength + (1 + int((mission.strength / 3))));
break;
case 7:
mission.hpFix = (1.15 + (Math.random() / 5));
mission.note = (mission.note + (("[ARMOR] Enemies have " + int(((mission.hpFix * 100) - 100))) + "% more HP.\n"));
break;
};
}
public function true_if(_arg1){
if (_arg1 == true){
return (1);
};
return (0);
}
public function alert(_arg1){
var _local2:*;
if (_arg1.onMark){
return;
};
_local2 = 0;
while (_local2 < maxAlly) {
if ((((((((player.exist[_local2] == false)) || ((player.optWall[_local2] == false)))) || (player.onMark[_local2]))) || ((_local2 == hero)))){
} else {
player.shooting[_local2] = false;
player.burst[_local2] = 0;
player.target[_local2] = _arg1;
player.onMark[_local2] = true;
_arg1.onMark = true;
player.aimCount[_local2] = int((player.aimTime[_local2] * (5.5 - (player.target[_local2].x / 160))));
if (player.aimCount[_local2] < 3){
player.aimCount[_local2] = 3;
};
return;
};
_local2++;
};
if (_arg1.x >= (_defenseLine - 20)){
nextAlert = _arg1;
};
}
public function generateStuff(_arg1:int, _arg2:int){
inventory.num[_arg1] = 1;
inventory.id[_arg1] = _arg2;
inventory.graphic[_arg1] = (10 + _arg2);
inventory.type[_arg1] = _typeGun;
inventory.reloadTime[_arg1] = 0;
inventory.reloadTimeMax[_arg1] = 0;
inventory.ammoMax[_arg1] = 0;
inventory.value[_arg1] = 100;
inventory.mod[_arg1] = 0;
inventory.modMax[_arg1] = (1 + int(limit(((Math.random() * Math.random()) * 6), 0, 5)));
if ((((inventory.modMax[_arg1] >= 3)) && ((Math.random() > 0.35)))){
inventory.modMax[_arg1] = (inventory.modMax[_arg1] - 2);
};
inventory.shell[_arg1] = 1;
inventory.manualReload[_arg1] = false;
inventory.automatic[_arg1] = true;
inventory.modText[_arg1] = "";
inventory.lv[_arg1] = 1;
inventory.typeMinor[_arg1] = _typeNormal;
inventory.special[_arg1] = 0;
inventory.leech[_arg1] = 0;
inventory.impact[_arg1] = 0;
inventory.shootRate[_arg1] = 100;
inventory.rare[_arg1] = 100;
inventory.autoReload[_arg1] = 0;
if (_arg2 == 1){
inventory.name[_arg1] = "Pistol";
inventory.reloadTimeMax[_arg1] = 40;
inventory.ammoMax[_arg1] = 9999;
inventory.shootRate[_arg1] = 300;
inventory.automatic[_arg1] = true;
inventory.baseAccuracy[_arg1] = 170;
inventory.accuracyDec[_arg1] = 0.18;
inventory.attack[_arg1] = 14;
inventory.dmgAir[_arg1] = 75;
inventory.dmgArmor[_arg1] = 35;
inventory.reqTrait[_arg1] = TRAIT.SMALL_GUN;
inventory.reqLv[_arg1] = 1;
inventory.range[_arg1] = 1;
inventory.value[_arg1] = 300;
};
if (_arg2 == 2){
inventory.name[_arg1] = "Machine Pistol";
inventory.reloadTimeMax[_arg1] = 45;
inventory.ammoMax[_arg1] = 9999;
inventory.shootRate[_arg1] = 320;
inventory.automatic[_arg1] = true;
inventory.baseAccuracy[_arg1] = 140;
inventory.accuracyDec[_arg1] = 0.08;
inventory.attack[_arg1] = 8;
inventory.dmgAir[_arg1] = 99;
inventory.dmgArmor[_arg1] = 30;
inventory.reqTrait[_arg1] = TRAIT.SMALL_GUN;
inventory.reqLv[_arg1] = 3;
inventory.range[_arg1] = 1;
inventory.value[_arg1] = 450;
};
if (_arg2 == 3){
inventory.name[_arg1] = "Shotgun";
inventory.reloadTimeMax[_arg1] = 6;
inventory.ammoMax[_arg1] = 9999;
inventory.shootRate[_arg1] = 40;
inventory.automatic[_arg1] = true;
inventory.baseAccuracy[_arg1] = 65;
inventory.accuracyDec[_arg1] = 0.24;
inventory.attack[_arg1] = 16;
inventory.dmgAir[_arg1] = 80;
inventory.dmgArmor[_arg1] = 30;
inventory.reqTrait[_arg1] = TRAIT.SHOTGUN;
inventory.reqLv[_arg1] = 1;
inventory.range[_arg1] = 0;
inventory.shell[_arg1] = 4;
inventory.manualReload[_arg1] = true;
inventory.value[_arg1] = 500;
inventory.typeMinor[_arg1] = _typeShotgun;
};
if (_arg2 == 4){
inventory.name[_arg1] = "Hunter's Rifle";
inventory.reloadTimeMax[_arg1] = 6;
inventory.ammoMax[_arg1] = 9999;
inventory.shootRate[_arg1] = 30;
inventory.automatic[_arg1] = true;
inventory.baseAccuracy[_arg1] = 145;
inventory.accuracyDec[_arg1] = 0.2;
inventory.attack[_arg1] = 44;
inventory.dmgAir[_arg1] = 115;
inventory.dmgArmor[_arg1] = 55;
inventory.reqTrait[_arg1] = TRAIT.RIFLE;
inventory.reqLv[_arg1] = 1;
inventory.range[_arg1] = 2;
inventory.manualReload[_arg1] = true;
inventory.value[_arg1] = 400;
};
if (_arg2 == 5){
inventory.name[_arg1] = "Assault Rifle";
inventory.reloadTimeMax[_arg1] = 55;
inventory.ammoMax[_arg1] = 9999;
inventory.shootRate[_arg1] = 200;
inventory.automatic[_arg1] = true;
inventory.baseAccuracy[_arg1] = 95;
inventory.accuracyDec[_arg1] = 0.08;
inventory.attack[_arg1] = 18;
inventory.dmgAir[_arg1] = 55;
inventory.dmgArmor[_arg1] = 50;
inventory.reqTrait[_arg1] = TRAIT.RIFLE;
inventory.reqLv[_arg1] = 5;
inventory.range[_arg1] = 0;
inventory.value[_arg1] = 850;
};
if (_arg2 == 6){
inventory.name[_arg1] = "Fur";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 80;
};
if (_arg2 == 7){
inventory.name[_arg1] = "Armor";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 290;
};
if (_arg2 == 8){
setMod(_arg1, encList[1][int((Math.random() * encList[1].length))]);
};
if (_arg2 == 9){
setMod(_arg1, encList[2][int((Math.random() * encList[2].length))]);
};
if (_arg2 == 10){
setMod(_arg1, encList[3][int((Math.random() * encList[3].length))]);
};
if (_arg2 == 11){
inventory.lv[_arg1] = (1 + int(limit(((Math.random() * game.day) / 2), 0, 99)));
inventory.name[_arg1] = ("Grenade Lv." + inventory.lv[_arg1]);
inventory.type[_arg1] = _typeUse;
inventory.attack[_arg1] = (30 + (inventory.lv[_arg1] * 15));
inventory.ammoMax[_arg1] = (3 + int((Math.random() * 6)));
inventory.value[_arg1] = ((75 + (60 * inventory.lv[_arg1])) + ((20 + (inventory.lv[_arg1] * 3)) * inventory.ammoMax[_arg1]));
};
if (_arg2 == 12){
inventory.lv[_arg1] = (1 + int(limit(((Math.random() * game.day) / 5), 0, 19)));
inventory.name[_arg1] = ("Repair Hammer Lv." + inventory.lv[_arg1]);
inventory.type[_arg1] = _typeUse;
inventory.attack[_arg1] = (4 + (inventory.lv[_arg1] * 3));
inventory.ammoMax[_arg1] = (2 + int((Math.random() * 4)));
inventory.value[_arg1] = ((50 + (120 * inventory.lv[_arg1])) + ((25 + (inventory.lv[_arg1] * 10)) * inventory.ammoMax[_arg1]));
};
if (_arg2 == 13){
inventory.name[_arg1] = "Sniper Rifle";
inventory.reloadTimeMax[_arg1] = 65;
inventory.ammoMax[_arg1] = 9999;
inventory.shootRate[_arg1] = 15;
inventory.automatic[_arg1] = true;
inventory.baseAccuracy[_arg1] = 225;
inventory.accuracyDec[_arg1] = 0.15;
inventory.attack[_arg1] = 76;
inventory.dmgAir[_arg1] = 100;
inventory.dmgArmor[_arg1] = 60;
inventory.reqTrait[_arg1] = TRAIT.RIFLE;
inventory.reqLv[_arg1] = 6;
inventory.range[_arg1] = 2;
inventory.value[_arg1] = 1100;
inventory.typeMinor[_arg1] = _typeSniper;
};
if (_arg2 == 14){
inventory.name[_arg1] = "Revolver -Sniper-";
inventory.reloadTimeMax[_arg1] = 7;
inventory.ammoMax[_arg1] = 9999;
inventory.shootRate[_arg1] = 60;
inventory.automatic[_arg1] = true;
inventory.baseAccuracy[_arg1] = 120;
inventory.accuracyDec[_arg1] = 0.15;
inventory.attack[_arg1] = 38;
inventory.dmgAir[_arg1] = 70;
inventory.dmgArmor[_arg1] = 44;
inventory.reqTrait[_arg1] = TRAIT.SMALL_GUN;
inventory.reqLv[_arg1] = 6;
inventory.range[_arg1] = 2;
inventory.value[_arg1] = 900;
inventory.typeMinor[_arg1] = _typeSniper;
inventory.manualReload[_arg1] = true;
};
if (_arg2 == 15){
inventory.name[_arg1] = "Revolver";
inventory.reloadTimeMax[_arg1] = 5;
inventory.ammoMax[_arg1] = 9999;
inventory.shootRate[_arg1] = 90;
inventory.automatic[_arg1] = true;
inventory.baseAccuracy[_arg1] = 80;
inventory.accuracyDec[_arg1] = 0.15;
inventory.attack[_arg1] = 52;
inventory.dmgAir[_arg1] = 20;
inventory.dmgArmor[_arg1] = 50;
inventory.reqTrait[_arg1] = TRAIT.SMALL_GUN;
inventory.reqLv[_arg1] = 4;
inventory.range[_arg1] = 1;
inventory.value[_arg1] = 750;
inventory.manualReload[_arg1] = true;
};
if (_arg2 == 16){
inventory.name[_arg1] = "Chain Gun";
inventory.reloadTimeMax[_arg1] = 130;
inventory.ammoMax[_arg1] = "9999";
inventory.shootRate[_arg1] = 550;
inventory.automatic[_arg1] = true;
inventory.baseAccuracy[_arg1] = 80;
inventory.accuracyDec[_arg1] = 0.032;
inventory.attack[_arg1] = 11;
inventory.dmgAir[_arg1] = 45;
inventory.dmgArmor[_arg1] = 35;
inventory.reqTrait[_arg1] = TRAIT.BIG_GUN;
inventory.reqLv[_arg1] = 8;
inventory.range[_arg1] = 1;
inventory.value[_arg1] = 1400;
};
if (_arg2 == 17){
inventory.name[_arg1] = "Machine Gun";
inventory.reloadTimeMax[_arg1] = 110;
inventory.ammoMax[_arg1] = "9999";
inventory.shootRate[_arg1] = 400;
inventory.automatic[_arg1] = true;
inventory.baseAccuracy[_arg1] = 45;
inventory.accuracyDec[_arg1] = 0.05;
inventory.attack[_arg1] = 12;
inventory.dmgAir[_arg1] = 40;
inventory.dmgArmor[_arg1] = 55;
inventory.reqTrait[_arg1] = TRAIT.RIFLE;
inventory.reqLv[_arg1] = 7;
inventory.range[_arg1] = 2;
inventory.value[_arg1] = 980;
};
if (_arg2 == 18){
inventory.name[_arg1] = "Laser Pistol";
inventory.reloadTimeMax[_arg1] = 55;
inventory.ammoMax[_arg1] = 9999;
inventory.shootRate[_arg1] = 220;
inventory.automatic[_arg1] = true;
inventory.baseAccuracy[_arg1] = 50;
inventory.accuracyDec[_arg1] = 0.08;
inventory.attack[_arg1] = 35;
inventory.dmgAir[_arg1] = 40;
inventory.dmgArmor[_arg1] = 80;
inventory.reqTrait[_arg1] = TRAIT.SMALL_GUN;
inventory.reqLv[_arg1] = 7;
inventory.range[_arg1] = 1;
inventory.value[_arg1] = 1300;
};
if (_arg2 == 19){
inventory.name[_arg1] = "Combat Shotgun";
inventory.reloadTimeMax[_arg1] = 50;
inventory.ammoMax[_arg1] = 9999;
inventory.shootRate[_arg1] = 120;
inventory.automatic[_arg1] = true;
inventory.baseAccuracy[_arg1] = 65;
inventory.accuracyDec[_arg1] = 0.16;
inventory.attack[_arg1] = 14;
inventory.dmgAir[_arg1] = 70;
inventory.dmgArmor[_arg1] = 20;
inventory.reqTrait[_arg1] = TRAIT.SHOTGUN;
inventory.reqLv[_arg1] = 6;
inventory.range[_arg1] = 0;
inventory.shell[_arg1] = 4;
inventory.manualReload[_arg1] = false;
inventory.value[_arg1] = 1100;
inventory.typeMinor[_arg1] = _typeShotgun;
};
if (_arg2 == 20){
inventory.name[_arg1] = "Auto Shotgun";
inventory.reloadTimeMax[_arg1] = 60;
inventory.ammoMax[_arg1] = 9999;
inventory.shootRate[_arg1] = 150;
inventory.automatic[_arg1] = true;
inventory.baseAccuracy[_arg1] = 15;
inventory.accuracyDec[_arg1] = 0.22;
inventory.attack[_arg1] = 13;
inventory.dmgAir[_arg1] = 80;
inventory.dmgArmor[_arg1] = 30;
inventory.reqTrait[_arg1] = TRAIT.SHOTGUN;
inventory.reqLv[_arg1] = 4;
inventory.range[_arg1] = 1;
inventory.shell[_arg1] = 10;
inventory.manualReload[_arg1] = false;
inventory.value[_arg1] = 1400;
inventory.typeMinor[_arg1] = _typeShotgun;
};
if (_arg2 == 21){
inventory.name[_arg1] = "Grenade Launcher";
inventory.reloadTimeMax[_arg1] = 14;
inventory.ammoMax[_arg1] = "9999";
inventory.shootRate[_arg1] = 18;
inventory.automatic[_arg1] = true;
inventory.baseAccuracy[_arg1] = 40;
inventory.accuracyDec[_arg1] = 0.4;
inventory.attack[_arg1] = 42;
inventory.dmgAir[_arg1] = 55;
inventory.dmgArmor[_arg1] = 100;
inventory.reqTrait[_arg1] = TRAIT.BIG_GUN;
inventory.reqLv[_arg1] = 3;
inventory.range[_arg1] = 1;
inventory.shell[_arg1] = 1;
inventory.manualReload[_arg1] = true;
inventory.value[_arg1] = 1600;
inventory.special[_arg1] = 1;
};
if (_arg2 == 22){
inventory.name[_arg1] = "Rocket Launcher";
inventory.reloadTimeMax[_arg1] = 20;
inventory.ammoMax[_arg1] = 9999;
inventory.shootRate[_arg1] = 8;
inventory.automatic[_arg1] = true;
inventory.baseAccuracy[_arg1] = 40;
inventory.accuracyDec[_arg1] = 0.5;
inventory.attack[_arg1] = 95;
inventory.dmgAir[_arg1] = 80;
inventory.dmgArmor[_arg1] = 110;
inventory.reqTrait[_arg1] = TRAIT.BIG_GUN;
inventory.reqLv[_arg1] = 7;
inventory.range[_arg1] = 2;
inventory.shell[_arg1] = 1;
inventory.manualReload[_arg1] = true;
inventory.value[_arg1] = 1700;
inventory.special[_arg1] = 2;
};
if (_arg2 == 23){
inventory.name[_arg1] = "Bowgun";
inventory.reloadTimeMax[_arg1] = 0;
inventory.ammoMax[_arg1] = 9999;
inventory.shootRate[_arg1] = 28;
inventory.automatic[_arg1] = true;
inventory.baseAccuracy[_arg1] = 120;
inventory.accuracyDec[_arg1] = 0.35;
inventory.attack[_arg1] = 36;
inventory.dmgAir[_arg1] = 90;
inventory.dmgArmor[_arg1] = 50;
inventory.reqTrait[_arg1] = TRAIT.RIFLE;
inventory.reqLv[_arg1] = 3;
inventory.range[_arg1] = 2;
inventory.value[_arg1] = 650;
inventory.special[_arg1] = 3;
};
if (_arg2 == 24){
inventory.name[_arg1] = "Long Bow";
inventory.reloadTimeMax[_arg1] = 0;
inventory.ammoMax[_arg1] = "9999";
inventory.shootRate[_arg1] = 55;
inventory.automatic[_arg1] = true;
inventory.baseAccuracy[_arg1] = 220;
inventory.accuracyDec[_arg1] = 0.4;
inventory.attack[_arg1] = 32;
inventory.dmgAir[_arg1] = 100;
inventory.dmgArmor[_arg1] = 35;
inventory.reqTrait[_arg1] = TRAIT.SMALL_GUN;
inventory.reqLv[_arg1] = 1;
inventory.range[_arg1] = 2;
inventory.value[_arg1] = 400;
inventory.special[_arg1] = 4;
};
if (_arg2 == 25){
inventory.name[_arg1] = "Wind Bow";
inventory.reloadTimeMax[_arg1] = 0;
inventory.ammoMax[_arg1] = 9999;
inventory.shootRate[_arg1] = 35;
inventory.automatic[_arg1] = true;
inventory.baseAccuracy[_arg1] = 130;
inventory.accuracyDec[_arg1] = 0.3;
inventory.attack[_arg1] = 18;
inventory.dmgAir[_arg1] = 110;
inventory.dmgArmor[_arg1] = 30;
inventory.reqTrait[_arg1] = TRAIT.SMALL_GUN;
inventory.reqLv[_arg1] = 5;
inventory.range[_arg1] = 2;
inventory.value[_arg1] = 1800;
inventory.special[_arg1] = 4;
inventory.shell[_arg1] = 3;
};
if (_arg2 == 26){
inventory.name[_arg1] = "Rapid Bowgun";
inventory.reloadTimeMax[_arg1] = 0;
inventory.ammoMax[_arg1] = 9999;
inventory.shootRate[_arg1] = 85;
inventory.automatic[_arg1] = true;
inventory.baseAccuracy[_arg1] = 120;
inventory.accuracyDec[_arg1] = 0.25;
inventory.attack[_arg1] = 14;
inventory.dmgAir[_arg1] = 90;
inventory.dmgArmor[_arg1] = 45;
inventory.reqTrait[_arg1] = TRAIT.RIFLE;
inventory.reqLv[_arg1] = 5;
inventory.range[_arg1] = 2;
inventory.value[_arg1] = 1550;
inventory.special[_arg1] = 3;
};
if (_arg2 == 27){
inventory.name[_arg1] = "Gravity Gun";
inventory.reloadTimeMax[_arg1] = 180;
inventory.ammoMax[_arg1] = 9999;
inventory.shootRate[_arg1] = 100;
inventory.automatic[_arg1] = true;
inventory.baseAccuracy[_arg1] = 120;
inventory.accuracyDec[_arg1] = 0.55;
inventory.attack[_arg1] = 150;
inventory.dmgAir[_arg1] = 100;
inventory.dmgArmor[_arg1] = 100;
inventory.reqTrait[_arg1] = TRAIT.BIG_GUN;
inventory.reqLv[_arg1] = 10;
inventory.range[_arg1] = 2;
inventory.value[_arg1] = 2000;
inventory.special[_arg1] = 3;
};
if (_arg2 == 28){
inventory.name[_arg1] = "Rat Roast";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 50;
};
if (_arg2 == 29){
inventory.name[_arg1] = "Helmet";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 80;
};
if (_arg2 == 30){
inventory.name[_arg1] = "Feather";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 120;
};
if (_arg2 == 31){
inventory.name[_arg1] = "Meat";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 150;
};
if (_arg2 == 32){
inventory.name[_arg1] = "Scrap Metal";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 220;
};
if (_arg2 == 33){
inventory.name[_arg1] = "Insect Blood";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 95;
};
if (_arg2 == 34){
inventory.name[_arg1] = "Dragon Head";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 300;
};
if (_arg2 == 35){
inventory.name[_arg1] = "Shop Token";
inventory.type[_arg1] = _typeToken;
inventory.value[_arg1] = 100;
inventory.attack[_arg1] = ((limit(game.day, 0, 30) * 75) + 250);
inventory.rare[_arg1] = 0;
};
if (_arg2 == 36){
inventory.name[_arg1] = "Cheap Worn HMG";
inventory.reloadTimeMax[_arg1] = 90;
inventory.ammoMax[_arg1] = 9999;
inventory.shootRate[_arg1] = 250;
inventory.automatic[_arg1] = true;
inventory.baseAccuracy[_arg1] = 45;
inventory.accuracyDec[_arg1] = 0.058;
inventory.attack[_arg1] = 14;
inventory.dmgAir[_arg1] = 25;
inventory.dmgArmor[_arg1] = 55;
inventory.reqTrait[_arg1] = TRAIT.BIG_GUN;
inventory.reqLv[_arg1] = 2;
inventory.range[_arg1] = 1;
inventory.value[_arg1] = 480;
};
if (_arg2 == 37){
inventory.name[_arg1] = "Holy Grail of Jure";
inventory.type[_arg1] = _typeUse;
inventory.attack[_arg1] = 250;
inventory.ammoMax[_arg1] = 0;
inventory.value[_arg1] = 1500;
inventory.rare[_arg1] = 0;
};
if (_arg2 == 38){
inventory.name[_arg1] = "Ragnarok";
inventory.type[_arg1] = _typeUse;
inventory.attack[_arg1] = 200;
inventory.ammoMax[_arg1] = 0;
inventory.value[_arg1] = 1000;
inventory.rare[_arg1] = 0;
};
if (_arg2 == 39){
inventory.name[_arg1] = "HMG";
inventory.reloadTimeMax[_arg1] = 90;
inventory.ammoMax[_arg1] = 9999;
inventory.shootRate[_arg1] = 250;
inventory.automatic[_arg1] = true;
inventory.baseAccuracy[_arg1] = 50;
inventory.accuracyDec[_arg1] = 0.06;
inventory.attack[_arg1] = 17;
inventory.dmgAir[_arg1] = 25;
inventory.dmgArmor[_arg1] = 60;
inventory.reqTrait[_arg1] = TRAIT.BIG_GUN;
inventory.reqLv[_arg1] = 4;
inventory.range[_arg1] = 1;
inventory.value[_arg1] = 1000;
};
if (_arg2 == 39){
inventory.name[_arg1] = "HMG";
inventory.reloadTimeMax[_arg1] = 90;
inventory.ammoMax[_arg1] = 9999;
inventory.shootRate[_arg1] = 250;
inventory.automatic[_arg1] = true;
inventory.baseAccuracy[_arg1] = 50;
inventory.accuracyDec[_arg1] = 0.06;
inventory.attack[_arg1] = 17;
inventory.dmgAir[_arg1] = 25;
inventory.dmgArmor[_arg1] = 60;
inventory.reqTrait[_arg1] = TRAIT.BIG_GUN;
inventory.reqLv[_arg1] = 4;
inventory.range[_arg1] = 1;
inventory.value[_arg1] = 1000;
};
if (_arg2 == 101){
inventory.name[_arg1] = "Statue of Ogre";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 400;
};
if (_arg2 == 102){
inventory.name[_arg1] = "Statue of Archer";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 200;
};
if (_arg2 == 103){
inventory.name[_arg1] = "Statue of Sheep";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 150;
};
if (_arg2 == 104){
inventory.name[_arg1] = "Statue of Exploder";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 250;
};
if (_arg2 == 105){
inventory.name[_arg1] = "Statue of Ballista";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 300;
};
if (_arg2 == 106){
inventory.name[_arg1] = "Statue of Crow";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 200;
};
if (_arg2 == 107){
inventory.name[_arg1] = "Statue of Barbarian";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 250;
};
if (_arg2 == 108){
inventory.name[_arg1] = "Statue of Crusader";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 350;
};
if (_arg2 == 109){
inventory.name[_arg1] = "Statue of Spiders";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 200;
};
if (_arg2 == 110){
inventory.name[_arg1] = "Statue of Dragonfly";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 150;
};
if (_arg2 == 112){
inventory.name[_arg1] = "Statue of Tank";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 450;
};
if (_arg2 == 113){
inventory.name[_arg1] = "Statue of Dragon";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 500;
};
if (_arg2 == 114){
inventory.name[_arg1] = "Statue of Ghost";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 300;
};
if (_arg2 == 115){
inventory.name[_arg1] = "Statue of Dragon";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 600;
};
if (_arg2 == 116){
inventory.name[_arg1] = "Statue of Peter";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 400;
};
if (_arg2 == 117){
inventory.name[_arg1] = "Statue of Rat";
inventory.type[_arg1] = _typeSell;
inventory.value[_arg1] = 150;
};
if (_arg2 == 120){
inventory.name[_arg1] = "HMG";
inventory.reloadTimeMax[_arg1] = 90;
inventory.ammoMax[_arg1] = 80;
inventory.shootRate[_arg1] = 250;
inventory.automatic[_arg1] = true;
inventory.baseAccuracy[_arg1] = 50;
inventory.accuracyDec[_arg1] = 0.06;
inventory.attack[_arg1] = 17;
inventory.dmgAir[_arg1] = 25;
inventory.dmgArmor[_arg1] = 60;
inventory.reqTrait[_arg1] = TRAIT.BIG_GUN;
inventory.reqLv[_arg1] = 4;
inventory.range[_arg1] = 1;
inventory.value[_arg1] = 1000;
};
if (_arg2 == 121){
setMod(_arg1, _encLiving);
};
inventory.ammo[_arg1] = inventory.ammoMax[_arg1];
if (inventory.type[_arg1] == _typeGun){
inventory.value[_arg1] = int(((inventory.value[_arg1] * (100 + ((inventory.modMax[_arg1] * inventory.modMax[_arg1]) * 4))) / 100));
};
}
public function updateEquipSlots(){
var _local1:*;
_local1 = 0;
while (_local1 < game.invSlot) {
createInvSlot((_invPlayer + _local1), (140 + (int((_local1 % 8)) * 50)), (250 + (int((_local1 / 8)) * 48)), 1);
_local1++;
};
_local1 = 0;
while (_local1 < maxAlly) {
if (player.exist[_local1] == false){
} else {
player_mc[_local1] = (new ally2() as MovieClip);
player_mc[_local1].x = (155 + (_local1 * 80));
player_mc[_local1].y = 195;
player_mc[_local1].pic = player.pic[_local1];
player_mc[_local1].gotoAndPlay("stand");
player_mc[_local1].pname.text = player.name[_local1];
if (player.exist[_local1]){
window2_mc.addChild(player_mc[_local1]);
if (_local1 == 0){
createInvSlot(((_invAlly + maxAlly) + 1), (166 + (_local1 * 80)), 160, -1);
} else {
createInvSlot((_invAlly + _local1), (166 + (_local1 * 80)), 160, 1);
};
};
};
_local1++;
};
}
public function reload(_arg1:int, _arg2:int){
if (inventory.type[_arg2] != _typeGun){
return;
};
if (inventory.reloadTime[_arg2]){
return;
};
if (inventory.manualReload[_arg2]){
if ((((inventory.id[_arg2] == 14)) || ((inventory.id[_arg2] == 15)))){
sound_reloading3.play(0, 0, trans[_arg1]);
} else {
sound_reloading2.play(0, 0, trans[_arg1]);
};
} else {
sound_reloading1.play(0, 0, trans[_arg1]);
};
inventory.reloadTime[_arg2] = (int(((inventory.reloadTimeMax[_arg2] * 100) / (100 + CALC.RELOADING(_arg1)))) + 1);
if (inventory.autoReload[_arg2] == 0){
player_mc[_arg1].gotoAndPlay("reload");
};
}
public function insertHelp(){
window4_mc.help.editable = false;
window4_mc.help.text = "";
window4_mc.help.text = (window4_mc.help.text + "-If you're dying playing Sheriff or Militia, try to manually reload your gun after EACH TIME you shoot.\n\n");
window4_mc.help.text = (window4_mc.help.text + "-Aim for head shots if you can. You will deal double damage.\n\n");
window4_mc.help.text = (window4_mc.help.text + "-Tax will become extremely high at later days. Invest in some economic skills early to secure your finance!\n\n");
window4_mc.help.text = (window4_mc.help.text + "-When in the \"Fire at will\" mode, your troops can attack enemies beyond their effective weapon ranges, but they will suffer significant accuracy penalties.\n\n");
window4_mc.help.text = (window4_mc.help.text + "-If you tag an ally's skills as \"Focused\" there will be a big chance that the ally will develop the skill when he levels.\n\n");
window4_mc.help.text = (window4_mc.help.text + "-\"Party\" skills affect all of your troops. It's a good idea to have your allies specialize in party skills that will help your team.\n\n");
window4_mc.help.text = (window4_mc.help.text + "-If more than two characters have the same party skill, only the character with the highest skill level will be used.\n\n");
window4_mc.help.text = (window4_mc.help.text + "-Weapons that have \"Mod\" slots can be modded. Drag a weapon-mod item onto the weapon you want to modify. Be careful, weapon-mod items can only be used once and cannot be removed once applied.\n\n");
window4_mc.help.text = (window4_mc.help.text + "-If you score 7 critical kills, you go on a rampage. While you are on a rampage, the damage you deal and the chance that enemies drop money increases.\n\n");
window4_mc.help.text = (window4_mc.help.text + "-Weapons have effective range. For instance, shotguns are powerful guns but the accuracy of the gun drastically decreases when you aim at distant targets.\n\n");
window4_mc.help.text = (window4_mc.help.text + "-You gain experience in the skill of the weapon you are using every time you kill an enemy. When your weapon experience reaches the amount needed for a level you will gain a weapon skill level.\n\n");
window4_mc.help.text = (window4_mc.help.text + "-Weapons have anti-armor/air rating. For instance, shotguns are effective against air creatures and non-armored creatures but not effective against armored creatures.\n\n");
window4_mc.help.text = (window4_mc.help.text + "-When a battle ends and if your wall HP was full at the beginning of every wave, you get a perfect game and its bonus! Easier to score with the repair upgrade.\n\n");
}
public function refreshPlayer(_arg1:int, _arg2:int){
var _local5:int;
calcGrenadeCount(_arg1);
player.rangeFix[_arg1] = (1800 + (CALC.HUNTER(_arg1) * 20));
player.chain[_arg1] = 0;
chainMode[_arg1] = 0;
chainSound[_arg1] = null;
var _local3:* = [10, 24, 10];
var _local4:* = [];
_local4 = getWeaponInfo(inventory.id[_arg2]);
gunSound[_arg1] = _local4[0];
player_mc[_arg1].anime1 = _local4[1];
player_mc[_arg1].anime2 = _local4[2];
player_mc[_arg1].anime3 = _local4[3];
player.burst[_arg1] = 0;
player.wexpRef[_arg1] = 4;
if (inventory.reqTrait[_arg2] == wexpList[0]){
player.wexpRef[_arg1] = 0;
};
if (inventory.reqTrait[_arg2] == wexpList[1]){
player.wexpRef[_arg1] = 1;
};
if (inventory.reqTrait[_arg2] == wexpList[2]){
player.wexpRef[_arg1] = 2;
};
if (inventory.reqTrait[_arg2] == wexpList[3]){
player.wexpRef[_arg1] = 3;
};
if (_arg1 == hero){
player.accuracyDiv[_arg1] = ((inventory.baseAccuracy[_arg2] * (((100 + CALC.ACCURACY(_arg1)) + CALC.NOBLE(_arg1)) - CALC.DR_HOLLIDAY(_arg1))) / 100);
} else {
player.accuracyDiv[_arg1] = ((inventory.baseAccuracy[_arg2] * ((((100 + CALC.ACCURACY(_arg1)) + CALC.NOBLE(_arg1)) + CALC.COOL(_arg1)) - CALC.DR_HOLLIDAY(_arg1))) / 100);
};
player.shell[_arg1] = inventory.shell[_arg2];
if (inventory.typeMinor[_arg2] == _typeShotgun){
player.shell[_arg1] = (player.shell[_arg1] + player.trait[_arg1][TRAIT.DR_HOLLIDAY]);
};
if (_arg1 == hero){
return;
};
player.aimTime[_arg1] = ((18 - (Math.sqrt(player.trait[_arg1][TRAIT.BASE_AIMING]) * 1.4)) - (player.trait[_arg1][TRAIT.BASE_AIMING] * 0.05));
player.aimTime[_arg1] = ((player.aimTime[_arg1] * 100) / (100 + PARTY.LEADERSHIP));
player.workRate[_arg1] = (0.03 + (Math.sqrt(player.trait[_arg1][TRAIT.BASE_TEAMWORK]) * 0.025));
if (player.aimTime[_arg1] < 2){
player.aimTime[_arg1] = 2;
};
if (player.workRate[_arg1] > 0.3){
player.workRate[_arg1] = 0.3;
};
}
public function removeChara(){
var _local1:*;
_local1 = 0;
while (_local1 < (maxAlly + 1)) {
if ((((menuId == 6)) && ((_local1 == maxAlly)))){
} else {
if (player.exist[_local1]){
window2_mc.removeChild(player_mc[_local1]);
};
};
_local1++;
};
}
public function _if(_arg1){
if (_arg1){
return (1);
};
return (0);
}
public function _is(_arg1:int){
if (_arg1 == _pc){
return ("are");
};
return ("is");
}
public function endPauseMenu(){
if (blurMc != undefined){
stage.removeChild(blurMc);
};
game.optionShowDamage = window_mc.options.optShowDamage.selected;
game.optionShowAllyDamage = window_mc.options.optShowAllyDamage.selected;
game.optionLowQuality = window_mc.options.optLowQuality.selected;
game.optionFirework = window_mc.options.optFirework.selected;
updateOption();
stage.removeChild(window_mc);
gamePaused = false;
if (gameStage == _stageBattle){
customCursor.visible = true;
Mouse.hide();
} else {
menuButton.mouseEnabled = true;
};
stage.focus = stage;
}
public function noAp(){
sound_beep.play();
popInfo("You don't have enough action points!");
}
public function MouseMove(_arg1:MouseEvent){
customCursor.x = mouseX;
customCursor.y = mouseY;
}
public function swapChara(_arg1:int, _arg2:int){
var _local3:*;
var _local4:*;
for (_local3 in player) {
_local4 = player[_local3][_arg1];
player[_local3][_arg1] = player[_local3][_arg2];
player[_local3][_arg2] = _local4;
};
swapStuff((_invAlly + _arg1), (_invAlly + _arg2));
}
public function removeMedals(){
var _local1:*;
_local1 = 0;
while (_local1 < medalCount) {
window2_mc.removeChild(medal_mc[_local1]);
_local1++;
};
medalCount = 0;
}
public function endDialog(_arg1:Boolean){
var _local2:*;
var _local3:*;
var _local4:*;
stage.removeChild(dialog_mc);
sound_click1.play();
gameDialog = false;
if (dialogAction == _dialogHire){
if (_arg1){
mission.hire = true;
showEventDialog(_dialogActHire);
window2_mc.act2.visible = false;
window2_mc.actRef2.visible = false;
};
};
if (dialogAction == _dialogQuit){
if (_arg1){
endPauseMenu();
if (gameStage == _stageResult){
stage.removeChild(window2_mc);
exitMenuResult();
exitResult();
} else {
exitBattle();
};
gotoAndPlay("init");
};
};
if (dialogAction == _dialogMod){
invIcon_mc[dragItem].visible = true;
_local2 = false;
if (_arg1){
_local3 = invSlot_mc[dragSlot].id;
_local4 = invSlot_mc[slot].id;
if (inventory.mod[_local4] >= inventory.modMax[_local4]){
sound_beep.play();
_local2 = true;
popInfo("There's no available mod slot on this weapon!");
};
if ((((inventory.ammoMax[_local4] == 1)) && ((((inventory.mod[_local3] == _encAmmo)) || ((inventory.mod[_local3] == _encReloading)))))){
sound_beep.play();
_local2 = true;
popInfo("This weapon can't use ammo/reloading mods.");
};
if ((((inventory.reloadTimeMax[_local4] == 0)) && ((((inventory.mod[_local3] == _encAmmo)) || ((inventory.mod[_local3] == _encReloading)))))){
sound_beep.play();
_local2 = true;
popInfo("This weapon can't use ammo/reloading mods.");
};
if ((((inventory.mod[_local3] == _encAutoReload)) && ((inventory.manualReload[_local4] == false)))){
sound_beep.play();
_local2 = true;
popInfo("This weapon can't use Auto Reload mod.");
};
if (_local2 == false){
sound_mod.play();
enchant(_local4, inventory.mod[_local3], inventory.modMax[_local3]);
inventory.num[_local3] = 0;
invIcon_mc[dragItem].visible = false;
invSlot_mc[dragSlot].item = -1;
};
} else {
if (invSlot_mc[slot].id >= _invAlly){
_local2 = true;
} else {
invSlot_mc[slot].item = dragItem;
invSlot_mc[dragSlot].item = item;
invIcon_mc[item].x = ((invSlot_mc[dragSlot].x - ((invIcon_mc[item].width - 48) / 2)) - 4);
invIcon_mc[item].y = invSlot_mc[dragSlot].y;
swapStuff(invSlot_mc[dragSlot].id, invSlot_mc[slot].id);
};
};
if (_local2){
invIcon_mc[dragItem].stopDrag();
invIcon_mc[dragItem].x = ((invSlot_mc[dragSlot].x - ((invIcon_mc[dragItem].width - 48) / 2)) - 4);
invIcon_mc[dragItem].y = invSlot_mc[dragSlot].y;
};
updateInterface();
updateSlots();
updateInventory();
};
if (dialogAction == _dialogSell){
invIcon_mc[dragItem].visible = true;
if (_arg1){
sound_pay1.play();
_local3 = invSlot_mc[dragSlot].id;
player.money[_pc] = (player.money[_pc] + stuffGetValue(_local3, 0));
game.totalMoney = (game.totalMoney + stuffGetValue(_local3, 0));
inventory.num[_local3] = 0;
invIcon_mc[dragItem].visible = false;
invSlot_mc[dragSlot].item = -1;
updateInterface();
updateSlots();
updateInventory();
};
};
if (dialogAction == _dialogRecruit){
if (_arg1){
sound_pay1.play();
player.money[_pc] = (player.money[_pc] - player.cost[maxAlly]);
removeChara();
cs = getFreeAlly();
swapChara(maxAlly, getFreeAlly());
deleteChara(maxAlly);
delay = 0;
updateInterface();
updateCharaList();
updateCharaMenu();
};
};
if (dialogAction == _dialogDismiss){
if (_arg1){
removeChara();
deleteChara(cs);
delay = 0;
cs--;
updateCharaList();
updateCharaMenu();
};
};
}
public function loadGame(){
var _local1:Object;
so = SharedObject.getLocal(("elonas" + idx.slot));
if (so){
_local1 = so.data;
if (_local1.game == undefined){
return (false);
};
game = _local1.game;
player = _local1.player;
inventory = _local1.inventory;
mission = _local1.mission;
versionFix();
updateOption();
return (true);
//unresolved jump
};
return (false);
}
public function onEnterFrame_result(_arg1:Event){
var _local2:int;
var _local3:*;
draw_count = (draw_count + 1);
if ((((((cancelFirework == false)) && (!((ce == _eventClear))))) && (((getTimer() - old_timer) >= 2000)))){
if (draw_count < 25){
stopFire();
cancelFirework = true;
};
old_timer = getTimer();
draw_count = 0;
};
delay++;
cloud.x = (cloud.x - 0.2);
if (cloud.x < -1280){
cloud.x = 0;
};
if (ce == _eventClear){
fireworkCount--;
if (fireworkCount < 0){
fireworkMedal();
};
};
if (((startFromTown) && (toTownMenu))){
if (delay == 30){
window3_mc.name = "window3_mc";
window3_mc.x = window2_mc.x;
window3_mc.y = window2_mc.y;
window3_mc.gotoAndStop("menu_result");
};
if (delay > 30){
exitResult();
stage.addChild(window3_mc);
stage.removeChild(window2_mc);
if (game.HC == true){
idx.dayHC = game.day;
} else {
idx.day = game.day;
};
gotoAndStop("town");
return;
};
_local2 = 0;
while (_local2 < menuList.length) {
menuList[_local2].visible = true;
menuList[_local2].x = (menuList[_local2].x + 3);
_local2++;
};
window2_mc.x = (window2_mc.x + 1.1);
bgAlpha.alpha = (bgAlpha.alpha + 0.04);
return;
};
if (toTownMenu){
if (delay == 30){
window3_mc.name = "window3_mc";
window3_mc.x = window2_mc.x;
window3_mc.y = window2_mc.y;
window3_mc.gotoAndStop("menu_result");
window3_mc.addFrameScript((window3_mc.currentFrame - 1), procResult);
};
if (delay > 30){
exitResult();
stage.addChild(window3_mc);
stage.removeChild(window2_mc);
if (game.HC == true){
idx.dayHC = game.day;
} else {
idx.day = game.day;
};
gotoAndStop("town");
return;
};
_local2 = 0;
while (_local2 < menuList.length) {
menuList[_local2].visible = true;
menuList[_local2].x = (menuList[_local2].x + 3);
_local2++;
};
window2_mc.x = (window2_mc.x + 1.1);
bgAlpha.alpha = (bgAlpha.alpha + 0.04);
return;
};
if ((((ce == _eventGene)) && ((delay > 3)))){
if (window2_mc.optHC.selected == true){
window2_mc.extraButton.visible = false;
window2_mc.optCasual.selected = false;
} else {
window2_mc.extraButton.visible = true;
};
};
if ((((((ce == _eventGene)) && ((eventModeEnabled == false)))) || ((ce == _eventMode)))){
if (delay < 41){
root.transform.colorTransform = new ColorTransform((0.025 * delay), (0.025 * delay), (0.025 * delay), 1, 0, 0, 0, 0);
};
_local3 = false;
_local2 = 0;
while (_local2 < _maxPic) {
if (cs == _local2){
pic_mc[_local2].alpha = 1;
} else {
pic_mc[_local2].alpha = 0.5;
if ((((_local3 == false)) && (pic_mc[_local2].hitTestPoint(mouseX, mouseY, true)))){
pic_mc[_local2].alpha = 0.8;
_local3 = true;
};
};
_local2++;
};
};
if (ce == _eventBegin){
if (delay < 41){
root.transform.colorTransform = new ColorTransform((0.025 * delay), (0.025 * delay), (0.025 * delay), 1, 0, 0, 0, 0);
};
if (delay >= 90){
exitResult();
stage.removeChild(window2_mc);
gotoAndStop("battle");
return;
};
};
if (fadeCount){
window2_mc.alpha = ((fadeCount * 0.1) - 0.1);
fadeCount--;
if ((((ce == _eventGene)) || ((ce == _eventMode)))){
root.transform.colorTransform = new ColorTransform((fadeCount * 0.1), (fadeCount * 0.1), (fadeCount * 0.1), 1, 0, 0, 0, 0);
if (fadeCount == 0){
bgAlpha.alpha = 0;
};
};
if (ce != _eventBegin){
if (fadeCount == 0){
exitMenuResult();
selectEvent();
};
};
};
if (window2_mc.anime){
window2_mc.anime = false;
window2_mc.animeTime = 16;
window2_mc.x = 590;
window2_mc.visible = true;
};
if (((window2_mc.animeTime) && ((delay > 3)))){
window2_mc.animeTime--;
window2_mc.x = (window2_mc.x - Math.pow(window2_mc.animeTime, 1.7));
_local2 = 0;
while (_local2 < selectID) {
buttonArray[_local2].x = (buttonArray[_local2].x - Math.pow(window2_mc.animeTime, 1.7));
_local2++;
};
};
if (((gamePaused) || (gameDialog))){
return;
};
if ((((ce == _eventLoot)) || ((ce == _eventLootBoss)))){
invPopup();
};
if ((((ce == _eventAlly)) || ((ce == _eventGene)))){
hint();
};
}
public function generateShop(){
var _local1:*;
clearGameInv();
_local1 = 0;
while (_local1 < (2 + game.smith)) {
randomStuff((_invShop + _local1), (int(((Math.random() * game.day) * 250)) + 200), 0);
_local1++;
};
randomStuff(_invShop, (int(((Math.random() * game.day) * 200)) + 200), 4);
if (game.specialSale){
_local1 = 0;
while (_local1 < (2 + game.smith)) {
randomStuff((_invShop + _local1), (int(((Math.random() * game.day) * 75)) + 500), 3);
_local1++;
};
generateStuff(_invShop, 8);
setMod(_invShop, _encAutoReload);
};
game.specialSale = 0;
}
public function generateWave(_arg1){
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:*;
debugGroup = (("" + _arg1) + ":");
var _local2:* = int(((mission.level % lvCycle) + (int((mission.level / lvCycle)) * 3)));
pop[_arg1] = [];
popTime[_arg1] = [];
eDupe = [];
mission.power = int((mission.powerOrg - (((mission.powerOrg / 2.5) * _arg1) / mission.wave)));
while (1) {
if (mission.bossDay == true){
if (_arg1 == mission.bossWave){
_local3 = 0;
while (_local3 < int(Math.sqrt(mission.level))) {
pop[_arg1].push(_boss);
_local3++;
};
break;
};
_local3 = 0;
while (_local3 < ((mission.wave - _arg1) - 1)) {
selectEnemy(randLv(_local2, 1), 1, [], _arg1);
_local3++;
};
break;
};
if (debugBatch){
debugGroup = (debugGroup + "(DBUG BATCH) ");
selectEnemy(randLv((_local2 - 2), 0.8), 115, ["MASS"], _arg1);
break;
};
if ((((Math.random() < 0.1)) && ((_local2 > 3)))){
debugGroup = (debugGroup + "(Air ) ");
selectEnemy(randLv(_local2, 0.5), 20, ["AIR"], _arg1);
selectEnemy(randLv(_local2, 0.8), 20, ["AIR"], _arg1);
selectEnemy(_local2, 20, ["AIR"], _arg1);
selectEnemy((_local2 + 2), 20, ["AIR"], _arg1);
selectEnemy(randLv(_local2, 0.2), 20, ["AIR"], _arg1);
break;
};
if ((((((Math.random() < 0.1)) && ((_local2 > 2)))) && (!((game.skipHard == true))))){
debugGroup = (debugGroup + "(BATCH1) ");
selectEnemy(randLv(_local2, 0.7), 40, ["BATCH"], _arg1);
selectEnemy((_local2 + 2), 20, [], _arg1);
selectEnemy(randLv(_local2, 1), 60, ["BATCH"], _arg1);
break;
};
if ((((Math.random() < 0.2)) && ((_local2 > 5)))){
debugGroup = (debugGroup + "(RANGED) ");
selectEnemy(randLv(_local2, 0.8), 10, [], _arg1);
selectEnemy(randLv(_local2, 1), 30, ["RANGED"], _arg1);
selectEnemy((_local2 + 2), 20, [], _arg1);
selectEnemy(randLv(_local2, 1), 15, [], _arg1);
selectEnemy(randLv(_local2, 1), 15, ["RANGED"], _arg1);
break;
};
if ((((((Math.random() < 0.15)) && ((_local2 > 10)))) && (!((game.skipHard == true))))){
debugGroup = (debugGroup + "(BATCH2) ");
selectEnemy(randLv((_local2 - 2), 0.8), 100, ["MASS"], _arg1);
break;
};
debugGroup = (debugGroup + "(RANDOM) ");
selectEnemy(randLv(_local2, 0.25), 15, ["BATCH"], _arg1);
if (mission.level > 1){
selectEnemy(randLv(_local2, 0.8), 15, [], _arg1);
};
selectEnemy(randLv(_local2, 0.5), 20, ["BATCH"], _arg1);
selectEnemy((_local2 + 2), 20, [], _arg1);
if (mission.level > 1){
selectEnemy(randLv(_local2, 1), 15, [], _arg1);
};
selectEnemy(randLv(_local2, 0.4), 15, ["BATCH"], _arg1);
break;
};
if (_arg1 == mission.bossWave){
pop[_arg1].push(_boss);
};
_local3 = 0;
while (_local3 < pop[_arg1].length) {
_local6 = eRef[eRefId[pop[_arg1][_local3]]].power;
popTime[_arg1][_local3] = ((mission.spawnRate + int((_local6 / 100))) + (true_if((_local6 >= 300)) * 2));
_local4 = int((Math.random() * pop[_arg1].length));
_local5 = pop[_arg1][_local3];
pop[_arg1][_local3] = pop[_arg1][_local4];
pop[_arg1][_local4] = _local5;
_local3++;
};
popTime[_arg1][0] = (popTime[_arg1][0] + (90 - int((mission.fixedLv * 1.5))));
if ((((game.day < 10)) && ((game.MORE == false)))){
popTime[_arg1][0] = (popTime[_arg1][0] + 20);
};
if (_arg1 == 0){
popTime[_arg1][0] = (popTime[_arg1][0] + 50);
};
mission.group[_arg1] = pop[_arg1].length;
}
public function updateDay(){
if (gameStage == _stageTown){
dayText.text = game.day;
} else {
dayText.text = ((game.day + "/") + mission.wave);
};
}
public function weapon(_arg1:int){
if (_arg1 == _pc){
return (ci);
};
return ((_invAlly + _arg1));
}
public function killPop(_arg1){
popList[_arg1] = 0;
}
public function generateCard(){
var _local1:*;
var _local2:int;
var _local3:int;
_local1 = [1, 1, 1, 2, 3, 4, 5, 6, 7];
_local2 = 0;
while (_local2 < 5) {
_local3 = (Math.random() * _local1.length);
if (_local1[_local3] == 0){
} else {
game.card[_local2] = (_local1[_local3] * -1);
_local1[_local3] = 0;
_local2++;
};
};
}
public function calcRepair(_arg1:int){
return (inventory.attack[_arg1]);
}
public function stopSound(){
var _local1:*;
_local1 = 0;
while (_local1 < maxAlly) {
if (chainMode[_local1] == 3){
chainSound[_local1].stop();
};
_local1++;
};
}
public function actionMedal(){
if (game.carryOver == true){
return;
};
if (game.prayerCount >= 30){
getMedal(_medalAction1);
};
if (game.tauntCount >= 20){
getMedal(_medalAction2);
};
if (game.partyCount >= 20){
getMedal(_medalAction3);
};
if (game.recycleCount >= 15){
getMedal(_medalAction4);
};
if (game.robCount >= 50){
getMedal(_medalAction5);
};
}
public function procMedalMenu(){
window2_mc.stop();
window2_mc.anime = true;
window2_mc.hint.visible = false;
window2_mc.actRef1.mouseEnabled = false;
if (window2_mc.page1.hasEventListener(MouseEvent.MOUSE_DOWN) == false){
window2_mc.page1.addEventListener(MouseEvent.MOUSE_DOWN, pageChange(0));
};
if (window2_mc.page2.hasEventListener(MouseEvent.MOUSE_DOWN) == false){
window2_mc.page2.addEventListener(MouseEvent.MOUSE_DOWN, pageChange(1));
};
if (beta){
getMedal(_medalBeta);
};
updateMedals();
defHint = "Medals you won give you various bonuses.\nYou can carry over the medals to the next games.";
}
public function pauseProc(){
if (gameDialog){
if (dialog_mc.yes.hitTestPoint(mouseX, mouseY, true)){
endDialog(true);
} else {
endDialog(false);
};
return;
};
if (helpMode){
procHelp();
return;
};
if (window_mc.returnTitleButton.hitTestPoint(mouseX, mouseY, true)){
if (gameStage == _stageBattle){
showDialog(_dialogQuit);
dialog_mc.question.text = "Current game will not be saved. Really quit?";
return;
};
if (gameStage == _stageResult){
showDialog(_dialogQuit);
dialog_mc.question.text = "Current game will not be saved. Really quit?";
return;
};
sound_click1.play();
endPauseMenu();
if (gameStage == _stageTown){
saveGame();
exitMenu();
exitTown();
};
amb.stop();
gotoAndPlay("init");
return;
};
if (window_mc.helpButton.hitTestPoint(mouseX, mouseY, true)){
openHelp();
return;
};
if (window_mc.saveGameButton.hitTestPoint(mouseX, mouseY, true)){
if (gameStage != _stageTown){
popInfo("You can only save the game in the town.");
sound_beep.play();
} else {
saveGame();
sound_click1.play();
};
return;
};
if (window_mc.options.hitTestPoint(mouseX, mouseY, true)){
return;
};
sound_click1.play();
endPauseMenu();
}
public function removeUpgrades(){
var _local1:*;
_local1 = 0;
while (_local1 < upgradeCount) {
window2_mc.removeChild(upgrade_mc[_local1]);
_local1++;
};
}
public function updateSlot(_arg1:int){
var _local2:int;
_local2 = invSlot_mc[_arg1].id;
invSlot_mc[_arg1].cost.text = stuffGetValue(_local2, 1);
if (stuffGetValue(_local2, 1) <= player.money[_pc]){
invSlot_mc[_arg1].cost.textColor = 204;
} else {
invSlot_mc[_arg1].cost.textColor = 0xCC0000;
};
invSlot_mc[_arg1].peke.visible = false;
invSlot_mc[_arg1].peke.mouseEnabled = false;
if ((((((_local2 >= _invPlayer)) && ((_local2 < (_invPlayer + 5))))) && ((inventory.num[_local2] > 0)))){
if (((((!((inventory.type[_local2] == _typeGun))) && (!((inventory.type[_local2] == _typeUse))))) || ((player.trait[_pc][inventory.reqTrait[_local2]] < inventory.reqLv[_local2])))){
invSlot_mc[_arg1].peke.visible = true;
};
};
if (inventory.num[_local2] <= 0){
if (invSlot_mc[_arg1].op == 0){
invSlot_mc[_arg1].visible = false;
};
};
}
public function updateMedals(){
var _local1:*;
var _local2:Array;
_local1 = medalPage[page];
while (_local1 < medalPage[(page + 1)]) {
_local2 = getMedalInfo(_local1);
if (_local2[0] == "null"){
} else {
medal_mc[medalCount] = (new medals() as MovieClip);
medal_mc[medalCount].x = (145 + (int((medalCount / 10)) * 130));
medal_mc[medalCount].y = (130 + (int((medalCount % 10)) * 20));
if ((medalCount / 10) >= 2){
medal_mc[medalCount].y = (medal_mc[medalCount].y + 20);
};
medal_mc[medalCount].medalName.text = _local2[0];
if (medal[_local1] == true){
medal_mc[medalCount].hintTxt = [_local2[0], _local2[2], _local2[3], "", ""];
medal_mc[medalCount].alpha = 1;
} else {
medal_mc[medalCount].hintTxt = [_local2[0], _local2[1], "????", "", ""];
medal_mc[medalCount].alpha = 0.3;
};
window2_mc.addChild(medal_mc[medalCount]);
medalCount++;
};
_local1++;
};
}
public function updateInventory(){
var _local1:*;
var _local2:int;
_local1 = 0;
while (_local1 < 5) {
_local2 = (_invPlayer + _local1);
if (inventory.num[_local2] < 1){
inventory_mc[_local1].visible = false;
} else {
inventory_mc[_local1].visible = true;
};
inventory_mc[_local1].num.visible = false;
if (inventory.type[_local2] == _typeUse){
inventory_mc[_local1].num.text = ("x " + inventory.ammo[_local2]);
inventory_mc[_local1].num.y = 20;
if (inventory.ammoMax[_local2] > 0){
inventory_mc[_local1].num.visible = true;
};
};
inventory_mc[_local1].gotoAndStop(inventory.graphic[(_invPlayer + _local1)]);
setChildIndex(inventory_mc[_local1], (numChildren - 1));
_local1++;
};
}
public function criticalMedal(){
if (game.carryOver == true){
return;
};
if (mission.criticalCount >= 10){
getMedal(_medalCritical1);
};
if (mission.criticalCount >= 30){
getMedal(_medalCritical2);
};
if (mission.criticalCount >= 50){
getMedal(_medalCritical3);
};
}
public function updateOption(){
if (game.optionLowQuality){
stage.quality = StageQuality.LOW;
} else {
stage.quality = StageQuality.HIGH;
};
}
public function popInfo(_arg1:String){
var _local2:int;
var _local3:int;
_local3 = -1;
_local2 = 0;
while (_local2 < popMax) {
if (popList[_local2] == 0){
_local3 = _local2;
break;
};
_local2++;
};
if (_local3 == -1){
return;
};
var _local5 = popList;
var _local6 = _local3;
var _local7 = (_local5[_local6] + 1);
_local5[_local6] = _local7;
var _local4:MovieClip = new infoPop();
_local4.tg = _local3;
_local4.kill = killPop;
_local4.x = 200;
_local4.y = (_local3 * 30);
if (gameStage == _stageBattle){
_local4.x = 40;
_local4.y = (_local4.y + 40);
};
_local4.pop.infoText.text = _arg1;
stage.addChild(_local4);
}
public function showDialog(_arg1:int){
stage.focus = stage;
gameDialog = true;
dialogAction = _arg1;
sound_scroll1.play();
dialog_mc.x = 0;
dialog_mc.y = 0;
stage.addChild(dialog_mc);
stage.setChildIndex(dialog_mc, (stage.numChildren - 1));
}
public function versionFixIndex(){
if (idx.dayHC == undefined){
idx.dayHC = 0;
};
}
public function calcSniperMaxDamage(_arg1:int){
return (int(((160 + (Math.sqrt(_arg1) * 2)) + _arg1)));
}
public function soundPos(_arg1:int){
var _local2:int;
_local2 = int((_arg1 / 25));
if (_local2 <= 0){
_local2 = 0;
};
if (_local2 > 19){
_local2 = 19;
};
return (posTrans[_local2]);
}
public function updateBG(){
var _local1:*;
var _local2:Array;
_local2 = [];
if (bgChange > 0){
bgChange--;
_local1 = ((100 - bgChange) * 0.01);
_local2 = [1, (1 - (_local1 * 0.4)), (1 - (_local1 * 0.6))];
} else {
bgChange++;
_local1 = ((100 + bgChange) * 0.01);
_local2 = [(1 - (_local1 * 0.9)), (0.6 - (_local1 * 0.2)), (0.4 + (_local1 * 0.6))];
};
bg.transform.colorTransform = new ColorTransform(_local2[0], _local2[1], _local2[2], 1, 0, 0, 0, 0);
cloud.transform.colorTransform = new ColorTransform(_local2[0], _local2[1], _local2[2], 1, 0, 0, 0, 0);
}
public function setTrait(_arg1:String, _arg2:int, _arg3:int, _arg4:int, _arg5:String, _arg6:Array, _arg7:Function){
var i:*;
var s2:String;
var s = _arg1;
var g = _arg2;
var maxLv = _arg3;
var reqLv = _arg4;
var reqTrait = _arg5;
var desc = _arg6;
var func = _arg7;
if (g_count[g] == undefined){
g_count[g] = 0;
};
i = (g + g_count[g]);
ID[i] = s;
TRAIT[s] = i;
traitRef[i] = {};
traitRef[i].group = g;
traitRef[i].maxLv = maxLv;
traitRef[i].reqLv = reqLv;
traitRef[i].reqTrait = reqTrait;
traitRef[i].icon = 0;
traitRef[i].name = (s.substr(0, 1) + s.substr(1).toLowerCase());
if (s.indexOf("_") != -1){
traitRef[i].name = ((traitRef[i].name.substr(0, traitRef[i].name.indexOf("_")) + " ") + traitRef[i].name.substr((traitRef[i].name.indexOf("_") + 1)));
};
CALC[s] = function (_arg1:int){
if ((player.trait[_arg1][i] + traitLvFix) == 0){
return (0);
};
return (func((player.trait[_arg1][i] + traitLvFix)));
};
REF[s] = function (_arg1:int){
var _local2:String;
var _local3:String;
var _local4:String;
var _local5:int;
var _local6:String;
var _local7:String;
if (traitRef[i].maxLv != 999){
_local6 = ("" + traitRef[i].maxLv);
} else {
_local6 = "";
};
_local7 = "";
_local3 = desc[0];
if (PARTY[s] != undefined){
_local3 = (_local3 + " Party Skill.");
_local7 = "Party Skill";
};
if ((((traitRef[i].group == G_BASE)) || ((i < G_GEN)))){
_local7 = "Base Skill";
};
_local5 = (player.trait[_arg1][i] + traitLvFix);
var _local8:* = 0;
while (_local8 < 2) {
_local2 = (s.substr(0, 1) + s.substr(1).toLowerCase());
if (s.indexOf("_") != -1){
_local2 = (((_local2.substr(0, _local2.indexOf("_")) + " ") + _local2.substr((_local2.indexOf("_") + 1), 1).toUpperCase()) + _local2.substr((_local2.indexOf("_") + 2)));
};
_local8++;
};
if (_local2 == "Dr Holiday"){
(_local2 == "Doc Holiday");
};
if ((((traitRef[i].maxLv > 1)) && ((_local5 > 1)))){
_local2 = (_local2 + (" " + _local5));
};
if (((!((traitLvFix == 0))) && ((_local5 == 1)))){
_local2 = (_local2 + "(New!)");
};
_local4 = desc[1];
if (desc[2] == "x"){
_local4 = (_local4 + ("" + int(CALC[s](_arg1))));
};
if (desc[2] == "y"){
_local4 = (_local4 + ("" + _local5));
};
_local4 = (_local4 + desc[3]);
if (desc[1] == "sniper1"){
_local4 = (("" + (calcSniperMaxDamage(_local5) - 100)) + "% damage bonus(max)");
};
if (desc[1] == "duelist1"){
_local4 = (("" + calcDuelistMaxDamage(_local5)) + "% damage bonus(max)");
};
if (traitRef[i].maxLv == _local5){
_local4 = (_local4 + " [Maxed]");
};
if (_local5 == 0){
_local4 = "None";
};
traitLvFix = 0;
return ([_local2, _local3, _local4, _local6, _local7]);
};
var _local9 = g_count;
var _local10 = g;
var _local11 = (_local9[_local10] + 1);
_local9[_local10] = _local11;
}
public function orderOpen(_arg1:Event):void{
window2_mc.dismissButton.mouseEnabled = false;
}
public function removeInvIcon(){
var _local1:*;
_local1 = 0;
while (_local1 < invIconCount) {
window2_mc.removeChild(invIcon_mc[_local1]);
_local1++;
};
}
public function updateAp(){
apText.visible = true;
apText.text = ("AP: " + game.ap);
}
public function updateSlots(){
var _local1:*;
_local1 = 0;
while (_local1 < invSlotCount) {
updateSlot(_local1);
_local1++;
};
}
public function randomStuff(_arg1:int, _arg2:int, _arg3:int){
var _local4:int;
var _local5:int;
if (_arg2 <= 500){
_arg2 = 500;
};
while (_local5 < 300) {
_local5++;
if (_local5 >= 200){
generateStuff(_arg1, 8);
break;
};
generateStuff(_arg1, (1 + int((Math.random() * _maxItem))));
if (inventory.rare[_arg1] == 0){
} else {
if (_arg3 == 0){
if ((((inventory.type[_arg1] == _typeMod)) && ((Math.random() > 0.025)))){
continue;
};
//unresolved if
} else {
if (_arg3 == 1){
if ((((inventory.type[_arg1] == _typeMod)) && ((Math.random() > 0.2)))){
continue;
};
//unresolved if
} else {
if (_arg3 == 2){
if ((((inventory.type[_arg1] == _typeMod)) && ((Math.random() > 0.2)))){
continue;
};
//unresolved if
} else {
if (_arg3 == 3){
//unresolved if
} else {
if (_arg3 == 4){
//unresolved if
} else {
if (inventory.type[_arg1] == _typeSell){
} else {
if (inventory.type[_arg1] == _typeGun){
if (game.optWeaponLevel == true){
if (inventory.reqLv[_arg1] > (getBestSkill(ID[inventory.reqTrait[_arg1]], 1) + 2)){
_arg3 = 4;
continue;
};
};
weaponVariation(_arg1, -1);
if ((((_arg3 == 2)) || ((Math.random() > 0.85)))){
_local4 = 0;
while (_local4 < inventory.modMax[_arg1]) {
if ((((((_arg3 == 2)) && ((_local4 == 0)))) || ((Math.random() < (0.5 - (_local4 * 0.15)))))){
enchant(_arg1, -1, -1);
};
_local4++;
};
};
};
if (inventory.value[_arg1] <= 500){
break;
};
if ((((Math.random() > 0.96)) && ((inventory.value[_arg1] <= ((_arg2 * 2) + 500))))){
break;
};
if (inventory.value[_arg1] <= ((_arg2 * (100 + _local5)) / 100)){
break;
};
};
};
};
};
};
};
};
};
}
public function explode_puls(_arg1, _arg2, _arg3, _arg4, _arg5:int, _arg6:int){
var _local7:int;
_arg5 = int(((_arg5 * (100 + CALC.DA_BOMB(_arg1))) / 100));
sound_puls.play(0, 0, soundPos(_arg3));
_local7 = 0;
while (_local7 < maxEnemy) {
if (enemyArray[_local7].isDead()){
} else {
if ((((((((enemyArray[_local7].x > (_arg3 - 60))) && ((enemyArray[_local7].x < (_arg3 + 60))))) && ((enemyArray[_local7].y > (_arg4 - 50))))) && ((enemyArray[_local7].y < (_arg4 + 50))))){
enemyArray[_local7].damage(_arg5, _arg2, enemyArray[_local7].x, enemyArray[_local7].y, _arg1, false);
};
};
_local7++;
};
}
public function selectEvent(){
ce = eventList.pop();
if (ce == _eventClear){
sound_battleEnd.play();
window2_mc.gotoAndStop("clear");
};
if (ce == _eventLevel){
sound_scroll1.play();
window2_mc.gotoAndStop("menu_level");
window2_mc.addFrameScript((window2_mc.currentFrame - 1), procLevel);
};
if (ce == _eventEnd){
renewResult();
sound_scroll1.play();
window2_mc.gotoAndStop("menu_result");
window2_mc.addFrameScript((window2_mc.currentFrame - 1), procResult);
};
if (ce == _eventGene){
game.HC = false;
bgAlpha.alpha = 1;
frenzyBar.visible = false;
frenzyBar2.visible = false;
frenzyText.visible = false;
sound_scroll1.play();
window2_mc.gotoAndStop("menu_gene");
window2_mc.addFrameScript((window2_mc.currentFrame - 1), procGeneMenu);
};
if (ce == _eventMode){
bgAlpha.alpha = 1;
sound_scroll1.play();
window2_mc.gotoAndStop("menu_mode");
};
if (ce == _eventLoot){
generateLoot();
sound_scroll1.play();
window2_mc.gotoAndStop("menu_loot");
window2_mc.addFrameScript((window2_mc.currentFrame - 1), procLootMenu);
};
if (ce == _eventLootBoss){
generateLootBoss();
sound_scroll1.play();
window2_mc.gotoAndStop("menu_lootBoss");
window2_mc.addFrameScript((window2_mc.currentFrame - 1), procLootMenu);
};
if (ce == _eventBegin){
stopFire();
if (player.ai[_pc] == _aiHero){
hero = _pc;
} else {
hero = -1;
};
updateAlly();
amb.stop();
sound_battleBegin.play();
window2_mc.gotoAndStop("begin");
window2_mc.addFrameScript((window2_mc.currentFrame - 1), procBeginMenu);
fadeCount = 80;
};
menuId = 1;
window2_mc.closeButton.visible = false;
window2_mc.visible = false;
window2_mc.x = 0;
window2_mc.y = -26;
window2_mc.alpha = 1;
window2_mc.anime = true;
}
public function procBeginMenu(){
window2_mc.stop();
window2_mc.dayTxt.text = ("Day " + game.day);
}
public function procShopMenu(){
var _local1:*;
defHint = "\nDrop an item on an empty space to sell the item.";
window2_mc.stop();
window2_mc.anime = true;
window2_mc.popup.visible = false;
window2_mc.warning.visible = false;
window2_mc.actRef1.mouseEnabled = false;
_local1 = 0;
while (_local1 < 8) {
createInvSlot((_invShop + _local1), (140 + (_local1 * 50)), 160, 0);
_local1++;
};
_local1 = 0;
while (_local1 < game.invSlot) {
createInvSlot((_invPlayer + _local1), (140 + (int((_local1 % 8)) * 50)), (250 + (int((_local1 / 8)) * 48)), 1);
_local1++;
};
}
public function updateCi(){
i = 0;
while (i < 5) {
if ((i + _invPlayer) == ci){
inventory_mc[i].alpha = 1;
} else {
inventory_mc[i].alpha = 0.6;
};
i++;
};
}
public function saveGame(){
var obj:Object;
var s:*;
var str:*;
game.version = _version;
so = SharedObject.getLocal(("elonas" + idx.slot));
if (so){
obj = so.data;
obj.game = cloneObj(game);
obj.player = cloneObj(player);
obj.inventory = cloneObj(inventory);
obj.mission = cloneObj(mission);
try {
str = so.flush(so.size);
switch (str){
case SharedObjectFlushStatus.FLUSHED:
break;
case SharedObjectFlushStatus.PENDING:
break;
};
} catch(e) {
popInfo("Save failed");
};
s = getClass(player.devType[_pc]);
s[0] = (s[0] + ((("(" + player.lv[_pc]) + ") Day.") + game.day));
if (game.HC == true){
s[0] = (s[0] + " HC");
};
idx.saveName[idx.slot] = ("" + s[0]);
popInfo("Game Saved.");
};
saveIndex();
}
public function procModeMenu(){
window2_mc.option1.label = "Bosses drop MODs instead of weapons.";
window2_mc.option2.label = "Starts from day 10. +20000gp +100ap";
window2_mc.option3.label = "survival mode? (ver0.001 aka \"not playable yet\")";
window2_mc.option4.label = "Statues, living weapon demo. (starts from town)";
}
public function changeUnlock(){
var _local1:Array;
var _local2:int;
var _local3:int;
_local1 = ["1", "2"];
if (unlocked){
_local2 = 0;
unlocked = false;
window2_mc.unlockButton.unlockText.text = "Next Page";
} else {
_local2 = 4;
unlocked = true;
window2_mc.unlockButton.unlockText.text = "Previous Page";
};
_local3 = 0;
while (_local3 < 4) {
_local1 = getClass(classList[(_local2 + _local3)]);
if (idx.unlocked[(_local3 + _local2)] == true){
if (((((_local2 + _local3) == 3)) && ((kongregate == 0)))){
_local1 = ["Militia", "Playable in the Kongregate Version. Clicking it will open the link.", ""];
};
radio_mc[_local3].alpha = 1;
radio_mc[_local3].mouseEnabled = true;
} else {
radio_mc[_local3].alpha = 1;
radio_mc[_local3].mouseEnabled = true;
_local1 = ["??????", "You need to win a medal to play this class.", ""];
};
radio_mc[_local3].dummy.mouseEnabled = true;
radio_mc[_local3].txt.text = _local1[0];
radio_mc[_local3].hintTxt = [_local1[0], _local1[1], "", "", ""];
_local3++;
};
updateGene();
}
public function pageChange(_arg1:int):Function{
var i = _arg1;
return (function (_arg1:MouseEvent):void{
sound_scroll1.play();
page = i;
if (menuId == 2){
removeUpgrades();
updateCastleMenu();
};
if (menuId == 5){
removeMedals();
updateMedals();
};
});
}
public function townEvent(){
var _local1:int;
_local1 = 0;
if ((game.day % 10) == 4){
news = (news + "It's a MOD sales day! You should check the shop.\n");
};
_local1 = int(((Math.random() * Math.random()) * (PARTY.ACTIVE + 1)));
if (_local1){
news = (news + (("Thanks to the Active skill, you gained extra " + _local1) + " AP to spend.\n"));
};
game.ap = ((4 + _local1) + game.apFix);
game.apFix = 999999999;
}
public function onEnterFrame_town(_arg1:Event){
var _local2:Boolean;
var _local3:int;
var _local4:int;
delay++;
if (cardCount > 0){
if (cardCount == 17){
cardEvent(tgCard);
};
cardCount--;
};
if (blendCounter){
blendCounter--;
if (blendCounter == 0){
root.transform.colorTransform = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
} else {
if (blendType == 0){
_local3 = (blendCounter * 8);
root.transform.colorTransform = new ColorTransform(1.01, 1.01, 1.1, 1, _local3, _local3, _local3, 0);
} else {
_local3 = (blendCounter * 8);
root.transform.colorTransform = new ColorTransform(1.04, 1, 1, 1, _local3, (_local3 / 2), (_local3 / 2), 0);
};
};
};
if ((((delay >= 3)) && ((menuId == 3)))){
player.optBoss[cs] = window2_mc.optBoss.selected;
player.optWall[cs] = window2_mc.optWall.selected;
};
if (window2_mc.anime){
window2_mc.anime = false;
window2_mc.animeTime = 16;
window2_mc.x = 630;
};
if (((window2_mc.animeTime) && ((delay > 3)))){
window2_mc.animeTime--;
window2_mc.x = (window2_mc.x - Math.pow(window2_mc.animeTime, 1.7));
i = 0;
while (i < selectID) {
buttonArray[i].x = (buttonArray[i].x - Math.pow(window2_mc.animeTime, 1.7));
i++;
};
};
if (eventDialog){
return;
};
_local2 = false;
if ((((menuId == 3)) && ((delay > 3)))){
i = 0;
while (i < (maxAlly + 1)) {
if (player.exist[i] == false){
} else {
if (player_mc[i].bg.hitTestPoint(mouseX, mouseY, true)){
_local2 = true;
player_mc[i].alpha = 1;
if (soundCs != i){
sound_pop1.play();
soundCs = i;
};
} else {
player_mc[i].alpha = 0.6;
};
if (cs == i){
player_mc[i].alpha = 1;
};
};
i++;
};
if (_local2 == false){
soundCs = -1;
};
};
if (((gamePaused) || (gameDialog))){
return;
};
if ((((menuId == 4)) || ((menuId == 6)))){
invPopup();
};
if ((((((menuId == 2)) || ((menuId == 3)))) || ((menuId == 5)))){
hint();
};
if (delay < 4){
return;
};
window2_mc.hint2.text = defHint;
if (menuId == 1){
if (window2_mc.act1.hitTestPoint(mouseX, mouseY, true)){
window2_mc.hint2.text = "\nTo the next day, to the next battle!";
};
if (window2_mc.act2.hitTestPoint(mouseX, mouseY, true)){
window2_mc.hint2.text = "\nYou can hire a henchman. Be aware, it's costly.";
};
_local4 = 0;
i = 0;
while (i < radioCount) {
if (((radio_mc[i].avail) && (radio_mc[i].card.hitTestPoint(mouseX, mouseY, true)))){
window2_mc.hint2.text = ("\n" + actList[i].desc);
};
i++;
};
};
if (menuId == 2){
if (window2_mc.act1.hitTestPoint(mouseX, mouseY, true)){
window2_mc.hint2.text = "\nIt will completely repair you wall.";
};
};
if (menuId == 3){
if (window2_mc.act1.hitTestPoint(mouseX, mouseY, true)){
window2_mc.hint2.text = "\nYou will get a new recruit.";
};
};
if (menuId == 4){
if (window2_mc.act1.hitTestPoint(mouseX, mouseY, true)){
window2_mc.hint2.text = "\nThe blacksmith will refresh his inventory.";
};
};
if (menuId == 5){
if (window2_mc.act1.hitTestPoint(mouseX, mouseY, true)){
window2_mc.hint2.text = "\nRobbing visitors gives you some blood money.";
};
if (window2_mc.kongMc.kongButton.hitTestPoint(mouseX, mouseY, true)){
window2_mc.hint2.text = "\nThe link to Kongregate is here for a reason!";
};
};
if (menuId == 6){
if (window2_mc.act1.hitTestPoint(mouseX, mouseY, true)){
window2_mc.hint2.text = "\nYou can turn a weapon into a random Mod.";
};
if (window2_mc.act2.hitTestPoint(mouseX, mouseY, true)){
window2_mc.hint2.text = "\nYou can recharge item like grenades and repair kits.";
};
};
}
public function procEventDialog(_arg1){
if (menuId == 1){
updateMissionMenu();
};
sound_click1.play();
if (eventDialog == _dialogActSleep){
root.transform.colorTransform = new ColorTransform(0, 0, 0, 1, 0, 0, 0, 0);
select_end();
sound_click1.play();
exitMenu();
exitTown();
if ((((game.HC == true)) && ((debug == 0)))){
deleteGame();
} else {
saveGame();
};
if (mission.hire){
generateHenchman();
};
game.day++;
eventList.push(_eventBegin);
gotoAndStop("event");
};
eventDialog = 0;
stage.removeChild(_arg1);
}
public function getNews(){
var _local1:*;
_local1 = news;
if (_local1 == ""){
_local1 = "No news today.";
};
return (_local1);
}
public function calcGrenadeCount(_arg1:int){
var _local2:int;
_local2 = (325 - (player.trait[_arg1][TRAIT.MILITIA] * 4));
if (_local2 < 100){
_local2 = 100;
};
player.grenadeCount[_arg1] = _local2;
}
public function endEquipMode(){
equipMode = 0;
window2_mc.actHelp.visible = false;
updateInvSlots(-1);
updateAp();
removeInvIcon();
removeInvSlot();
invSlotCount = 0;
invIconCount = 0;
removeChara();
updateEquipSlots();
}
public function startBattleMedal(){
if (game.carryOver == true){
return;
};
getMedal(_medalDay1);
if (game.day >= 10){
getMedal(_medalDay2);
};
if (game.day >= 20){
getMedal(_medalDay3);
};
if (game.day >= 35){
getMedal(_medalDay4);
};
if (game.day >= 50){
getMedal(_medalDay5);
};
if (game.day >= 80){
getMedal(_medalDay6);
};
if (game.day >= 150){
getMedal(_medalDay7);
};
if (game.HC == true){
if (game.day >= 20){
getMedal(_medalHardcore1);
};
if (game.day >= 80){
getMedal(_medalHardcore3);
};
};
}
public function updateAlly(){
var _local1:*;
nextAlert = undefined;
i = 0;
while (i < maxAlly) {
w = weapon(i);
player.idleCount[i] = 0;
player.frenzy[i] = 0;
player_mc[i] = (new ally1() as MovieClip);
player_mc[i].x = (510 + (i * 2));
if (i == 3){
player_mc[i].x = (player_mc[i].x - 8);
};
player_mc[i].y = playerY[i];
player_mc[i].name = ("player" + i);
cursor_mc[i] = (new cursor2() as MovieClip);
cursor_mc[i].name = ("cursor" + i);
clearAiTarget(i);
player.rampage[i] = 0;
refreshPlayer(i, w);
if (player.exist[i]){
player_mc[i].visible = true;
player_mc[i].pic = player.pic[i];
player_mc[i].gotoAndPlay(player_mc[i].anime2);
player.shooting[i] = false;
player.shootTimer[i] = 0;
player.accuracyFix[i] = 0;
if (i == _pc){
_local1 = _invPlayer;
while (_local1 < (game.invSlot + _invPlayer)) {
if (inventory.type[_local1] != _typeUse){
inventory.ammo[_local1] = inventory.ammoMax[_local1];
};
inventory.reloadTime[_local1] = 0;
_local1++;
};
};
if (i != hero){
player.aiFunc[i] = aiNormal;
if (player.ai[i] == _aiFireAtWill){
player.aiFunc[i] = aiFireAtWill;
};
if (player.ai[i] == _aiAir){
player.aiFunc[i] = aiAir;
};
if (player.ai[i] == _aiArmor){
player.aiFunc[i] = aiArmor;
};
cursor_mc[i].x = (480 + (i * 2));
cursor_mc[i].y = playerY[i];
cursor_mc[i].visible = true;
player.target[i] = undefined;
player.aimCount[i] = 100;
stage.addChild(cursor_mc[i]);
inventory.ammo[w] = inventory.ammoMax[w];
inventory.reloadTime[w] = 0;
};
} else {
player_mc[i].gotoAndStop(player_mc[i].anime2);
player_mc[i].visible = false;
};
stage.addChild(player_mc[i]);
i++;
};
}
public function MouseLDown_loader(_arg1:MouseEvent){
}
public function volumeChange(_arg1){
var _local2:SoundTransform = SoundMixer.soundTransform;
_local2.volume = _arg1;
SoundMixer.soundTransform = _local2;
if (_arg1 == 0){
vol.gotoAndStop(2);
} else {
vol.gotoAndStop(1);
};
}
public function createInvIcon(_arg1:int, _arg2:int){
var _local3:int;
_local3 = invIconCount;
invIcon_mc[_local3] = (new itemPicture() as MovieClip);
invIcon_mc[_local3].gotoAndStop(inventory.graphic[_arg1]);
invIcon_mc[_local3].x = ((invSlot_mc[_arg2].x - ((invIcon_mc[_local3].width - 48) / 2)) - 4);
invIcon_mc[_local3].y = invSlot_mc[_arg2].y;
window2_mc.addChild(invIcon_mc[_local3]);
invIcon_mc[_local3].filters = [filterDrop];
invIcon_mc[_local3].visible = true;
invIcon_mc[_local3].mouseEnabled = false;
invIcon_mc[_local3].num.y = 2;
if ((((inventory.type[_arg1] == _typeUse)) && ((inventory.ammoMax[_arg1] > 0)))){
invIcon_mc[_local3].num.text = ("x " + inventory.ammo[_arg1]);
invIcon_mc[_local3].num.visible = true;
} else {
invIcon_mc[_local3].num.visible = false;
};
invIconCount++;
return ((invIconCount - 1));
}
public function wexpUp(_arg1:int){
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:*;
var _local6:*;
_local2 = 0;
while (_local2 < (_maxWeaponSkill - 1)) {
_local3 = wexpList[_local2];
_local4 = ((player.trait[_arg1][_local3] * 15) + 25);
if (_arg1 == _pc){
_local6 = 1;
} else {
_local6 = 0.5;
};
if (player.wexp[_arg1][_local2] > int((_local4 * _local6))){
var _local7 = player.trait[_arg1];
var _local8 = _local3;
var _local9 = (_local7[_local8] + 1);
_local7[_local8] = _local9;
_local5 = REF[ID[_local3]](_arg1);
if (_arg1 == _pc){
news = (news + (((("You have earned total of " + _local4) + " weapon exp and gain ") + _local5[0]) + ".\n"));
} else {
news = (news + (((((player.name[_arg1] + " has earned total of ") + _local4) + " weapon exp and gains ") + _local5[0]) + ".\n"));
};
player.wexp[_arg1][_local2] = 0;
};
_local2++;
};
}
public function procGeneMenu(){
var _local1:int;
statsCount = 0;
window2_mc.stop();
window2_mc.hint.visible = false;
window2_mc.optHC.label = "Hardcore Mode";
window2_mc.optHC.selected = game.HC;
window2_mc.optHint.hintTxt = ["Hardcore Mode", "In Hardcore Mode, your save file is deleted at the start of each battle. Pray to the RNG and prepare to throw your keyboard!", "", "", ""];
window2_mc.optCasual.label = "Casual Mode";
window2_mc.optCasual.selected = game.casual;
window2_mc.optHint3.hintTxt = ["Casual Mode", "If the game is too hard, enabling this option makes it a lot easier. Hardcore Mode will be disabled if you choose this option.", "", "", ""];
_local1 = 0;
while (_local1 < _maxPic) {
pic_mc[_local1] = (new ally4() as MovieClip);
pic_mc[_local1].x = (((_local1 % 11) * 32) + 176);
pic_mc[_local1].y = ((int((_local1 / 11)) * 30) + 157);
pic_mc[_local1].pic = _local1;
pic_mc[_local1].gotoAndPlay("stand");
pic_mc[_local1].alpha = 0.7;
pic_mc[_local1].chara1.mouseEnabled = false;
window2_mc.addChild(pic_mc[_local1]);
_local1++;
};
_local1 = 0;
while (_local1 < 4) {
radio_mc[_local1] = (new radioButton() as MovieClip);
radio_mc[_local1].x = 180;
radio_mc[_local1].y = (240 + (_local1 * 20));
window2_mc.addChild(radio_mc[_local1]);
radioCount++;
_local1++;
};
ci = _invPlayer;
changeUnlock();
}
public function loadIndex(){
var _local2:Object;
var _local1:SharedObject = SharedObject.getLocal("elonas_idx");
if (_local1){
_local2 = _local1.data;
if (_local2.idx == undefined){
return (false);
};
idx = _local2.idx;
medal = _local2.medal;
if (idx.slot == undefined){
idx.slot = 0;
};
if (idx.saveName == undefined){
idx.saveName = ["Empty Save", "Empty Save", "Empty Save", "Empty Save", "Empty Save", "Empty Save"];
};
};
}
public function updateGene(){
var _local1:Array;
var _local2:*;
var _local3:int;
var _local4:*;
var _local5:*;
_local1 = ["1", "2", "3"];
generatePlayer(0, 1, classList[geneClass]);
player.pic[0] = cs;
_local1 = getClass(classList[geneClass]);
window2_mc.desc2.text = ("" + _local1[2]);
window2_mc.classPic.gotoAndStop(((geneClass % 4) + 1));
updateInterface();
updateInventory();
if (unlocked){
_local2 = 4;
} else {
_local2 = 0;
};
_local3 = 0;
while (_local3 < 4) {
if (((((_local3 + _local2) == 3)) && ((kongregate == 0)))){
radio_mc[_local3].gotoAndStop(3);
} else {
if (geneClass == (_local3 + _local2)){
radio_mc[_local3].gotoAndStop(2);
} else {
radio_mc[_local3].gotoAndStop(1);
};
};
_local3++;
};
removeStats();
_local4 = [];
_local5 = _pc;
_local3 = 0;
while (_local3 < _maxTrait) {
if (player.trait[_local5][_local3] == 0){
} else {
if ((((((_local5 == _pc)) && ((player.ai[_local5] == _aiHero)))) && ((((_local3 == TRAIT.BASE_AIMING)) || ((_local3 == TRAIT.BASE_TEAMWORK)))))){
} else {
_local2 = (50000 - _local3);
if (PARTY[ID[_local3]] != undefined){
_local2 = (10000 + _local3);
};
if (traitRef[_local3].group == G_BASE){
_local2 = (70000 + _local3);
};
if (_local3 < G_GEN){
_local2 = (100000 + _local3);
};
_local4[_local4.length] = {id:_local3, sort:_local2};
};
};
_local3++;
};
_local4.sortOn("sort", (Array.NUMERIC | Array.DESCENDING));
statsCount = 0;
i2 = 0;
while (i2 < _local4.length) {
_local3 = _local4[i2].id;
_local2 = statsCount;
_local1 = REF[ID[_local3]](_pc);
stats_mc[_local2] = (new trait() as MovieClip);
stats_mc[_local2].x = (271 + (int((_local2 / 4)) * 130));
stats_mc[_local2].y = (244 + ((_local2 % 4) * 18));
stats_mc[_local2].traitName.text = _local1[0];
stats_mc[_local2].hintTxt = _local1;
if ((((traitRef[_local3].group == G_BASE)) || ((_local3 < G_GEN)))){
Tweener.addTween(stats_mc[_local2].traitName, {time:0, _color:278544});
stats_mc[_local2].icon.gotoAndStop(2);
} else {
if (PARTY[ID[_local3]] != undefined){
stats_mc[_local2].icon.gotoAndStop(3);
} else {
stats_mc[_local2].icon.gotoAndStop(1);
};
};
window2_mc.addChild(stats_mc[_local2]);
statsCount++;
i2++;
};
}
public function updateHP(){
castleHPText.text = ((("" + game.castleHP) + "/") + game.castleMHP);
}
public function townMedalBonus(){
if (medal[_medalAction1]){
if (Math.random() > 0.6){
game.ap++;
};
};
if (medal[_medalAction2]){
if (Math.random() > 0.6){
game.ap++;
};
};
if (medal[_medalAction3]){
if (Math.random() > 0.6){
game.ap++;
};
};
}
public function exitMenu(){
var _local1:*;
defHint = "";
stage.focus = stage;
currentPop = -1;
currentHint = -1;
delay = 0;
cs = _pc;
drag = false;
equipMode = 0;
select_end();
if (menuId == 1){
_local1 = 0;
while (_local1 < radioCount) {
radio_mc[_local1].removeEvent();
_local1++;
};
removeRadio();
};
if (menuId == 2){
removeUpgrades();
window2_mc.page1.removeEventListener(MouseEvent.MOUSE_DOWN, pageChange);
window2_mc.page2.removeEventListener(MouseEvent.MOUSE_DOWN, pageChange);
window2_mc.hint.visible = false;
};
if ((((menuId == 3)) || ((menuId == 6)))){
removeChara();
};
if (menuId == 6){
removeInvSlot();
removeInvIcon();
window2_mc.popup.visible = false;
};
if (menuId == 3){
window2_mc.order.removeEventListener(Event.OPEN, orderOpen);
window2_mc.order.removeEventListener(Event.CLOSE, orderClose);
window2_mc.order.removeEventListener(Event.CHANGE, orderClick);
window2_mc.order.removeEventListener(ListEvent.ITEM_ROLL_OVER, orderRollOver);
removeStats();
window2_mc.hint.visible = false;
};
if (menuId == 4){
removeInvSlot();
removeInvIcon();
window2_mc.popup.visible = false;
};
if (menuId == 5){
removeMedals();
window2_mc.page1.removeEventListener(MouseEvent.MOUSE_DOWN, pageChange);
window2_mc.page2.removeEventListener(MouseEvent.MOUSE_DOWN, pageChange);
window2_mc.hint.visible = false;
};
radioCount = 0;
invSlotCount = 0;
invIconCount = 0;
statsCount = 0;
medalCount = 0;
upgradeCount = 0;
page = 0;
}
public function reloading(_arg1:int, _arg2:int){
var _local3 = inventory.reloadTime;
var _local4 = _arg2;
var _local5 = (_local3[_local4] - 1);
_local3[_local4] = _local5;
if (player.rampage[_arg1] > 0){
if ((inventory.reloadTime[_arg2] % 3) == 2){
_local3 = inventory.reloadTime;
_local4 = _arg2;
_local5 = (_local3[_local4] - 1);
_local3[_local4] = _local5;
};
};
if (inventory.manualReload[_arg2]){
if (inventory.reloadTime[_arg2] <= 0){
_local3 = inventory.ammo;
_local4 = _arg2;
_local5 = (_local3[_local4] + 1);
_local3[_local4] = _local5;
if (inventory.ammo[_arg2] == inventory.ammoMax[_arg2]){
cancelReload(_arg1, _arg2);
} else {
reload(_arg1, _arg2);
};
if (_arg1 == _pc){
updateAmmoBar();
};
};
} else {
if (_arg1 == _pc){
ammobar.scaleX = (1 - (inventory.reloadTime[_arg2] / int((((inventory.reloadTimeMax[_arg2] * 100) / (100 + CALC.RELOADING(_arg1))) + 1))));
};
if (inventory.reloadTime[_arg2] <= 0){
inventory.ammo[_arg2] = inventory.ammoMax[_arg2];
if (_arg1 == _pc){
updateAmmoBar();
};
sound_reloaded1.play(0, 0, trans[_arg1]);
player_mc[_arg1].gotoAndStop(player_mc[_arg1].anime2);
};
};
}
public function debug_survival(_arg1){
game.day = 10;
generatePlayer(_pc, (_arg1 + 1), -1);
generatePlayer(1, (_arg1 + 1), -1);
generatePlayer(2, (_arg1 * 1), -1);
generatePlayer(3, (_arg1 + 1), -1);
player.trait[_pc][TRAIT.BIG_GUN] = 30;
player.trait[_pc][TRAIT.RIFLE] = 30;
player.trait[_pc][TRAIT.SHOTGUN] = 30;
player.trait[_pc][TRAIT.SMALL_GUN] = 30;
generateStuff((_invPlayer + 1), 19);
generateStuff((_invPlayer + 2), 20);
generateStuff((_invPlayer + 3), 1);
generateStuff((_invPlayer + 4), 26);
generateMission(_arg1);
game.castleMHP = (40 + (_arg1 * 5));
game.castleHP = game.castleMHP;
game.sister = 500;
}
public function procHelp(){
if (helpMode == 4){
if (window4_mc.help.hitTestPoint(mouseX, mouseY, true)){
return;
};
};
if (helpMode == 3){
if (window4_mc.link1.hitTestPoint(mouseX, mouseY, true)){
procLink(1);
return;
};
if (window4_mc.link2.hitTestPoint(mouseX, mouseY, true)){
procLink(2);
return;
};
if (window4_mc.link3.hitTestPoint(mouseX, mouseY, true)){
procLink(3);
return;
};
if (window4_mc.link4.hitTestPoint(mouseX, mouseY, true)){
procLink(4);
return;
};
if (window4_mc.link5.hitTestPoint(mouseX, mouseY, true)){
procLink(5);
return;
};
if (window4_mc.link6.hitTestPoint(mouseX, mouseY, true)){
procLink(6);
return;
};
if (window4_mc.link7.hitTestPoint(mouseX, mouseY, true)){
procLink(7);
return;
};
if (window4_mc.link8.hitTestPoint(mouseX, mouseY, true)){
procLink(8);
return;
};
};
if (window4_mc.help1.hitTestPoint(mouseX, mouseY, true)){
window4_mc.gotoAndStop("help1");
sound_scroll1.play();
helpMode = 1;
return;
};
if (window4_mc.help2.hitTestPoint(mouseX, mouseY, true)){
window4_mc.gotoAndStop("help2");
sound_scroll1.play();
helpMode = 2;
return;
};
if (window4_mc.help3.hitTestPoint(mouseX, mouseY, true)){
window4_mc.gotoAndStop("help3");
sound_scroll1.play();
helpMode = 3;
return;
};
if (window4_mc.help4.hitTestPoint(mouseX, mouseY, true)){
window4_mc.gotoAndStop("help4");
window4_mc.addFrameScript((window4_mc.currentFrame - 1), insertHelp);
sound_scroll1.play();
helpMode = 4;
return;
};
sound_click1.play();
if (gameStage != _stageTitle){
window_mc.saveGameButton.mouseEnabled = true;
window_mc.helpButton.mouseEnabled = true;
window_mc.returnTitleButton.mouseEnabled = true;
} else {
elonaButton.mouseEnabled = true;
};
if (blurMcHelp != undefined){
stage.removeChild(blurMcHelp);
};
window4_mc.removeEventListener(Event.ENTER_FRAME, onEnterFrame_help);
stage.removeChild(window4_mc);
helpMode = 0;
}
public function exclusiveLink(){
sound_click1.play();
popInfo("A Webpage has been opned in your browser.");
var request:URLRequest = new URLRequest(urlExclusive);
try {
navigateToURL(request);
} catch(e:Error) {
};
}
public function limit(_arg1, _arg2, _arg3){
if (_arg1 < _arg2){
return (_arg2);
};
if (_arg1 > _arg3){
return (_arg3);
};
return (_arg1);
}
public function rampage(_arg1:int){
if (player.rampage[_arg1] > 0){
return;
};
var _local2 = player.rampage;
var _local3 = _arg1;
var _local4 = (_local2[_local3] - 1);
_local2[_local3] = _local4;
if (player.rampage[_arg1] == -7){
rampageOn(_arg1, (10 * 30));
} else {
if (_arg1 == _pc){
text_effect(text_rampage[Math.abs(player.rampage[_arg1])]);
};
};
}
public function upgradeDone(_arg1:int){
var _local2:String;
_local2 = upgradeRef[_arg1];
var _local3 = game;
var _local4 = _local2;
var _local5 = (_local3[_local4] + 1);
_local3[_local4] = _local5;
if (_local2 == "wallFix"){
game.castleHP = game.castleMHP;
};
if (_local2 == "wallUpgrade"){
game.castleHP = (game.castleHP + 5);
game.castleMHP = (game.castleMHP + 5);
};
if (_local2 == "storage"){
game.invSlot++;
};
if (_local2 == "smith"){
generateShop();
};
upgradeMedal();
}
public function invPopupUpdate(_arg1:int){
var _local3:*;
var _local4:*;
var _local2:* = 0;
if (_arg1 == currentPop){
return;
};
currentPop = _arg1;
_local3 = window2_mc.popup;
_local3.itemName.text = inventory.name[_arg1];
_local3.priceText.text = stuffGetValue(_arg1, 1);
_local3.detailText.textColor = 0;
_local3.itemName.textColor = 0;
if (inventory.lv[_arg1] > 1){
_local3.itemName.textColor = 204;
};
if (inventory.type[_arg1] == _typeGun){
_local3.modTxt.text = ((inventory.mod[_arg1] + "/") + inventory.modMax[_arg1]);
_local4 = ("" + inventory.attack[_arg1]);
if (inventory.shell[_arg1] > 1){
_local4 = (_local4 + (" x" + inventory.shell[_arg1]));
};
_local3.dmgText.text = _local4;
_local3.dmgAirText.text = (inventory.dmgAir[_arg1] + "%");
_local3.dmgArmorText.text = (inventory.dmgArmor[_arg1] + "%");
_local3.accuracyText.text = inventory.baseAccuracy[_arg1];
_local3.reloadText.text = (int(((inventory.reloadTimeMax[_arg1] * 1000) / 20)) + "ms");
if (inventory.manualReload[_arg1]){
_local3.reloadText.text = (_local3.reloadText.text + "(M)");
};
_local3.ammoText.text = inventory.ammoMax[_arg1];
_local3.rateText.text = ((int((300 / (1000 / inventory.shootRate[_arg1]))) / 10) + "/sec");
if (inventory.modText[_arg1] == ""){
_local3.detailText.text = "No Modification";
} else {
_local3.detailText.textColor = 204;
_local3.detailText.text = inventory.modText[_arg1];
};
if (inventory.ammoMax[_arg1] == 1){
_local3.ammoText.text = "-";
_local3.reloadText.text = "-";
};
_local3.reqText.text = ((traitRef[inventory.reqTrait[_arg1]].name + " ") + inventory.reqLv[_arg1]);
if (player.trait[_pc][inventory.reqTrait[_arg1]] < inventory.reqLv[_arg1]){
_local3.reqText.textColor = 0xCC0000;
} else {
_local3.reqText.textColor = 204;
};
} else {
_local3.modTxt.text = "-";
_local3.dmgText.text = "-";
_local3.dmgAirText.text = "-";
_local3.dmgArmorText.text = "-";
_local3.accuracyText.text = "-";
_local3.reloadText.text = "-";
_local3.ammoText.text = "-";
_local3.rateText.text = "-";
_local3.reqText.text = "-";
_local3.reqText.textColor = 0;
_local3.detailText.text = getItemDetail(_arg1);
};
_local3.visible = true;
}
public function exitTitle(){
stage.removeEventListener(MouseEvent.MOUSE_DOWN, MouseLDownFunc_title);
removeEventListener(Event.ENTER_FRAME, onEnterFrame_title);
i = 0;
while (i < _maxRunner) {
stage.removeChild(runner_mc[i]);
i++;
};
}
public function MouseLDownFunc_title(_arg1:MouseEvent){
var f:*;
var request:URLRequest;
var event = _arg1;
var hitX:int = stage.mouseX;
var hitY:int = stage.mouseY;
if (vol.hitTestPoint(hitX, hitY, true)){
toggleMute();
return;
};
if (helpMode){
procHelp();
return;
};
if (newGameButton.hitTestPoint(hitX, hitY, true)){
root.transform.colorTransform = new ColorTransform(0, 0, 0, 1, 0, 0, 0, 0);
sound_click1.play();
saveBox.visible = false;
saveBox.enabled = false;
stage.focus = stage;
exitTitle();
eventList.push(_eventBegin);
eventList.push(_eventGene);
generateMission(0);
gotoAndPlay("event");
return;
};
if (kong_mc.exclusiveButton.hitTestPoint(hitX, hitY, true)){
exclusiveLink();
};
if (kong_mc2.bt.hitTestPoint(hitX, hitY, true)){
kongregateLink();
};
if (continueButton.hitTestPoint(hitX, hitY, true)){
sound_click1.play();
f = loadGame();
if (f == false){
sound_beep.play();
popInfo("Save Game not found.");
return;
};
saveBox.visible = false;
saveBox.enabled = false;
stage.focus = stage;
gameContinued = true;
exitTitle();
gotoAndStop("town");
return;
};
if (helpButton.hitTestPoint(hitX, hitY, true)){
openHelp();
};
if (elonaButton.hitTestPoint(hitX, hitY, true)){
sound_click1.play();
popInfo("A Webpage has been opned in your browser.");
request = new URLRequest(_elonaUrl);
try {
navigateToURL(request);
} catch(e:Error) {
};
};
}
public function aiAir(_arg1:int, _arg2:int){
var _local3:int;
var _local4:*;
_local3 = 0;
while (_local3 < 3) {
_local4 = aiTarget[_air][weaponRange[_arg2][_local3]][0];
if (_local4 != undefined){
aiTarget[_air][weaponRange[_arg2][_local3]] = [undefined, 1000];
_local4.tag = _defTag;
return (_local4);
};
_local3++;
};
return (undefined);
}
public function generateRecruit(){
generatePlayer(_nc, ((int(((Math.random() * game.day) * 0.3)) + int((game.day / 5))) + 1), -1);
}
public function listTrait(_arg1:int){
var _local2:* = [];
var _local3:* = player.devType[_arg1];
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
_local4 = 0;
while (_local4 < _maxTrait) {
if ((((player.trait[_arg1][_local4] == undefined)) || ((player.trait[_arg1][_local4] == 0)))){
} else {
_local7++;
};
_local4++;
};
_local4 = 0;
while (_local4 < devGroup[_local3].length) {
_local5 = TRAIT[devGroup[_local3][_local4]];
if (traitRef[_local5] == undefined){
break;
};
if (traitRef[_local5].maxLv < (player.trait[_arg1][_local5] + 1)){
} else {
if (traitRef[_local5].reqLv > player.lv[_arg1]){
} else {
if (traitRef[_local5].reqTrait != ""){
//unresolved if
} else {
if ((((_local7 > 17)) && ((((player.trait[_arg1][_local5] == undefined)) || ((player.trait[_arg1][_local5] == 0)))))){
} else {
_local2[_local6] = _local5;
_local6++;
};
};
};
};
_local4++;
};
return (_local2);
}
public function getBestSkill(_arg1:String, _arg2=0){
var _local3:int;
var _local4:int;
var _local5:int;
_local3 = 0;
while (_local3 < maxAlly) {
if (player.exist[_local3] == false){
} else {
if (CALC[_arg1](_local3) > _local4){
_local4 = CALC[_arg1](_local3);
_local5 = player.trait[_local3][TRAIT[_arg1]];
};
};
_local3++;
};
if (_arg2 == 1){
return (_local4);
};
PARTY[_arg1] = _local4;
PARTYLV[_arg1] = _local5;
}
public function shoot(_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:*;
var _local10:Boolean;
var _local11:int;
var _local12:int;
var _local13:int;
var _local14:*;
var _local15:*;
var _local16:*;
var _local17:MovieClip;
if (player.shootTimer[_arg1] > 0){
return;
};
_local13 = 0;
if (_arg1 == hero){
_local11 = weapon(_arg1);
if ((((inventory.num[_local11] == 0)) || (!((inventory.type[_local11] == _typeGun))))){
sound_beep.play();
popInfo("You need a gun to shoot!");
player.shooting[_arg1] = false;
return;
};
if (player.trait[_pc][inventory.reqTrait[_local11]] < inventory.reqLv[_local11]){
sound_beep.play();
popInfo("You don't have the required weapon skill!");
player.shooting[_arg1] = false;
return;
};
_local9 = ((13 * (100 + ((player.accuracyFix[_arg1] * player.accuracyFix[_arg1]) * 1000))) / player.accuracyDiv[_arg1]);
if (game.tight == true){
_local9 = (_local9 * 0.75);
};
_local6 = mouseY;
_local5 = mouseX;
} else {
_local14 = player.target[_arg1];
if ((((_local14.isDead() == true)) || ((_local14.x < -10)))){
if (((player.onMark[_arg1]) && (player.optWall[_arg1]))){
searchNextAlert(_arg1);
} else {
clearAiTarget(_arg1);
};
return;
};
_local11 = weapon(_arg1);
if (inventory.num[_local11] == 0){
return;
};
_local9 = ((17 * 100) / player.accuracyDiv[_arg1]);
if (((fireAtWill) || ((player.ai[_arg1] == _aiFireAtWill)))){
_local9 = ((_local9 * (100 + ((50 * 100) / (100 + (CALC.HUNTER(_arg1) * 2))))) / 100);
};
_local5 = _local14.x;
_local6 = _local14.y;
};
if (((inventory.reloadTime[_local11]) && ((inventory.autoReload[_local11] == 0)))){
return;
};
if (inventory.ammo[_local11] <= -9999){
player.shooting[_arg1] = false;
player.burst[_arg1] = 0;
reload(_arg1, _local11);
return;
};
player.shootTimer[_arg1] = (1000 + (player.trait[_arg1][TRAIT.AIMED_SHOT] * 200));
if (inventory.automatic[_local11] == false){
if (_arg1 != hero){
player.shootTimer[_arg1] = (player.shootTimer[_arg1] + int((Math.random() * ((inventory.shootRate[_local11] / 1.5) / player.workRate[_arg1]))));
} else {
player.shooting[_arg1] = false;
};
};
inventory.reloadTime[_local11] = 0;
if (inventory.id[_local11] == 16){
if (chainMode[_arg1] != 3){
if (chainMode[_arg1] != 2){
_local15 = 0;
if (chainMode[_arg1] == 1){
_local15 = (chainSoundLength - chainSound[_arg1].position);
chainSound[_arg1].stop();
};
chainMode[_arg1] = 2;
chainSound[_arg1] = (sound_chain1.play(_local15, 0, trans[_arg1]) as SoundChannel);
};
if ((chainSound[_arg1].position + 400) >= chainSoundLength){
chainMode[_arg1] = 3;
chainSound[_arg1] = (sound_chain3.play(0, 999999, trans[_arg1]) as SoundChannel);
} else {
return;
};
};
};
if ((((inventory.id[_local11] == 24)) || ((inventory.id[_local11] == 25)))){
if (chainMode[_arg1] == 0){
if (_arg1 == hero){
player.shootTimer[_arg1] = 0;
};
player_mc[_arg1].gotoAndPlay(player_mc[_arg1].anime3);
chainMode[_arg1] = 1;
chainSound[_arg1] = (sound_bow2.play(_local15, 0, trans[_arg1]) as SoundChannel);
player.accuracyFix[_arg1] = (player.accuracyFix[_arg1] + inventory.accuracyDec[_local11]);
return;
} else {
chainMode[_arg1] = 0;
chainSound[_arg1].stop();
};
} else {
player.accuracyFix[_arg1] = (player.accuracyFix[_arg1] + (inventory.accuracyDec[_local11] / (1 + IF((game.tight == true)))));
};
if (inventory.reloadTimeMax[_local11] != 0){
var _local18 = inventory.ammo;
var _local19 = _local11;
var _local20 = (_local18[_local19] - 1);
_local18[_local19] = _local20;
if (_arg1 == _pc){
if ((((inventory.ammo[_local11] == 0)) && ((game.hintReload == false)))){
game.hintReload = true;
popInfo("Reload your gun by pressing Space Key!");
};
updateAmmoBar();
};
};
if (player_mc[_arg1].currentFrame > (player_mc[_arg1].anime1 + 3)){
player_mc[_arg1].gotoAndPlay(player_mc[_arg1].anime1);
};
if (inventory.id[_local11] != 16){
gunSound[_arg1].play(0, 0, trans[_arg1]);
};
_local2 = int((((inventory.attack[_local11] * mission.dmgFix) * ((100 + CALC.AIMED_SHOT(_arg1)) + CALC.NOBLE(_arg1))) / 100));
if (player.trait[_arg1][TRAIT.DUELIST] > 0){
_local2 = int(((_local2 * (100 + player.frenzy[_arg1])) / 100));
};
if (player.trait[_arg1][TRAIT.SNIPER] > 0){
_local16 = (100 + (CALC.SNIPER(_arg1) * player.idleCount[_arg1]));
if (_local16 >= calcSniperMaxDamage(player.trait[_arg1][TRAIT.SNIPER])){
_local16 = calcSniperMaxDamage(player.trait[_arg1][TRAIT.SNIPER]);
};
_local2 = int(((_local2 * _local16) / 100));
};
if (player.rampage[_arg1] > 0){
_local2 = int((_local2 * 1.5));
};
if (inventory.special[_local11]){
_local7 = ((_local5 + (Math.random() * _local9)) - (Math.random() * _local9));
_local8 = ((_local6 + (Math.random() * _local9)) - (Math.random() * _local9));
if (inventory.id[_local11] == 21){
throwGrenade(_arg1, _local11, player_mc[_arg1].x, player_mc[_arg1].y, _local7, _local8, 12, _local2, 1);
return;
};
if (inventory.id[_local11] == 22){
throwRocket(_arg1, _local11, player_mc[_arg1].x, player_mc[_arg1].y, _local7, _local8, 7, _local2, 1);
return;
};
if ((((inventory.id[_local11] == 23)) || ((inventory.id[_local11] == 26)))){
player.idleCount[_arg1] = (player.idleCount[_arg1] * 0.5);
throwGrenade(_arg1, _local11, player_mc[_arg1].x, player_mc[_arg1].y, _local7, _local8, 20, _local2, 3);
return;
};
if (inventory.id[_local11] == 24){
player.idleCount[_arg1] = (player.idleCount[_arg1] * 0.5);
throwGrenade(_arg1, _local11, player_mc[_arg1].x, player_mc[_arg1].y, _local7, _local8, 10, _local2, 2);
return;
};
if (inventory.id[_local11] == 25){
player.idleCount[_arg1] = (player.idleCount[_arg1] * 0.5);
throwGrenade(_arg1, _local11, (player_mc[_arg1].x + 5), player_mc[_arg1].y, (_local7 + 20), _local8, 10, _local2, 2);
throwGrenade(_arg1, _local11, player_mc[_arg1].x, player_mc[_arg1].y, _local7, _local8, 10, _local2, 2);
throwGrenade(_arg1, _local11, (player_mc[_arg1].x - 5), player_mc[_arg1].y, (_local7 - 20), _local8, 10, _local2, 2);
return;
};
if (inventory.id[_local11] == 27){
throwGrenade(_arg1, _local11, player_mc[_arg1].x, player_mc[_arg1].y, _local7, _local8, 10, _local2, 4);
reload(_arg1, _local11);
return;
};
};
if ((((((player.trait[_arg1][TRAIT.BURST] > 0)) && ((inventory.automatic[_local11] == true)))) && ((inventory.reqTrait[_local11] == TRAIT.RIFLE)))){
_local18 = player.burst;
_local19 = _arg1;
_local20 = (_local18[_local19] + 1);
_local18[_local19] = _local20;
if (player.burst[_arg1] <= CALC.BURST(_arg1)){
player.accuracyFix[_arg1] = (player.accuracyFix[_arg1] - inventory.accuracyDec[_local11]);
_local2 = int((_local2 * 1.25));
};
};
if ((((((inventory.automatic[_local11] == false)) && ((player.trait[_arg1][TRAIT.POWER_SHOT] > 0)))) && ((CALC.POWER_SHOT(_arg1) > (Math.random() * 100))))){
_local2 = int((_local2 * 1.5));
_local13 = 1;
};
if ((((((((inventory.manualReload[_local11] == false)) && ((inventory.ammo[_local11] == 0)))) && ((player.trait[_arg1][TRAIT.ONE_SHOT] > 0)))) && ((((inventory.reqTrait[_local11] == TRAIT.SMALL_GUN)) || ((inventory.id[_local11] == 13)))))){
_local2 = int(((_local2 * (100 + CALC.ONE_SHOT(_arg1))) / 100));
blendType = 0;
blendCounter = (blendCounter + 15);
shake(5, 1.5, 1);
_local13 = 2;
};
_local3 = 0;
while (_local3 < player.shell[_arg1]) {
_local12 = 0;
_local7 = ((_local5 + (Math.random() * _local9)) - (Math.random() * _local9));
_local8 = ((_local6 + (Math.random() * _local9)) - (Math.random() * _local9));
if (((sister.hitTestPoint(_local7, _local8, true)) && ((sister.dead == false)))){
sound_killed.play(0, 0, trans[9]);
sister.gotoAndPlay("dead");
sister.dead = true;
};
_local4 = 0;
while (_local4 < maxEnemy) {
if (enemyArray[_local4].isFree() == false){
if (enemyArray[_local4].mc.shadowHit == false){
//unresolved if
} else {
if (enemyArray[_local4].mc.hitTestPoint(_local7, _local8, true)){
if (((Math.random() * 100) * player.shell[_arg1]) < CALC.SENSE(_arg1)){
_local12 = 2;
};
if ((((_local8 > (enemyArray[_local4].crit[2] + enemyArray[_local4].y))) && ((_local8 < (enemyArray[_local4].crit[3] + enemyArray[_local4].y))))){
if ((((_local7 > (enemyArray[_local4].crit[0] + enemyArray[_local4].x))) && ((_local7 < (enemyArray[_local4].crit[1] + enemyArray[_local4].x))))){
if (enemyArray[_local4].isDead() == false){
_local12 = 1;
};
};
};
if (((((((Math.random() * 100) < CALC.ONE_HIT_KILL(_arg1))) && ((inventory.typeMinor[_local11] == _typeSniper)))) && (!((enemyArray[_local4].id == _boss))))){
_local2 = 999999;
_local13 = 3;
};
if (player.trait[_arg1][TRAIT.DUELIST] > 0){
player.frenzy[_arg1] = (player.frenzy[_arg1] + ((CALC.DUELIST(_arg1) / (inventory.shootRate[_local11] * 0.02)) + 0.05));
if (player.frenzy[_arg1] > calcDuelistMaxDamage(player.trait[_arg1][TRAIT.DUELIST])){
player.frenzy[_arg1] = calcDuelistMaxDamage(player.trait[_arg1][TRAIT.DUELIST]);
};
};
_local10 = true;
enemyArray[_local4].damage(_local2, _local11, _local7, _local8, _arg1, _local12);
};
};
};
_local4++;
};
if (_local13){
drawTrail(_local7, _local8, (player_mc[_arg1].x - 10), player_mc[_arg1].y, _local13);
};
if (_local10 == false){
player.idleCount[_arg1] = 0;
if (_local8 > 150){
_local17 = new effect();
_local17.x = _local7;
_local17.y = (_local8 + 4);
_local17.gotoAndPlay("impact1");
stage.addChild(_local17);
};
};
_local3++;
};
player.idleCount[_arg1] = (player.idleCount[_arg1] * 0.8);
}
public function updateLv(){
lvText.text = ("" + player.lv[_pc]);
expText.text = ("" + (player.exp[_pc] / 10));
}
public function debug_battle(_arg1:int){
game.day = (_arg1 + 1);
generatePlayer(_pc, (_arg1 + 1), _devSheriff);
generatePlayer(1, 5, _devSheriff);
enchant(_invAlly, _encAutoReload, 3);
enchant((_invAlly + 1), _encAutoReload, 3);
player.optWall[1] = true;
player.trait[_pc][TRAIT.BIG_GUN] = 30;
player.trait[_pc][TRAIT.RIFLE] = 30;
player.trait[_pc][TRAIT.SHOTGUN] = 30;
player.trait[_pc][TRAIT.SMALL_GUN] = 30;
player.trait[_pc][TRAIT.POWER_SHOT] = 5;
player.trait[_pc][TRAIT.ONE_SHOT] = 10;
player.trait[_pc][TRAIT.ONE_HIT_KILL] = 20;
player.trait[_pc][TRAIT.COOL] = 10;
generateStuff((_invPlayer + 1), 36);
generateStuff((_invPlayer + 2), 3);
generateStuff((_invPlayer + 3), 14);
enchant((_invPlayer + 2), _encAutoReload, 3);
enchant((_invPlayer + 3), _encAutoReload, 3);
generateMission(1);
game.castleMHP = (40 + (_arg1 * 10));
game.castleHP = game.castleMHP;
game.castleHP = (game.castleHP * 20);
player.exp[_pc] = 2000;
mission.wave = 3;
gameStart();
gotoAndPlay("battle");
}
public function updateFrenzyBar(){
frenzyMode = 0;
if (CALC.DUELIST(_pc)){
frenzyMode = 1;
};
if (CALC.SNIPER(_pc)){
frenzyMode = 2;
};
if (CALC.RANGER(_pc)){
frenzyMode = 3;
};
if (frenzyMode){
frenzyBar.visible = true;
frenzyBar2.visible = true;
frenzyText.visible = true;
frenzyBar.scaleX = 0;
} else {
frenzyBar.visible = false;
frenzyBar2.visible = false;
frenzyText.visible = false;
};
}
public function onTick(_arg1:TimerEvent):void{
var _local2:int;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
if (gamePaused){
return;
};
if (game.castleHP <= -999999){
customCursor.visible = false;
Mouse.show();
gamePaused = true;
gameOver = true;
gotoAndPlay("dead");
return;
};
_local2 = 0;
while (_local2 < maxAlly) {
if (player.exist[_local2] == false){
} else {
w = weapon(_local2);
if (((((inventory.autoReload[w]) && ((inventory.reloadTime[w] == 0)))) && ((inventory.ammo[w] < inventory.ammoMax[w])))){
if (player.shootTimer[_local2] <= (inventory.shootRate[w] * -3)){
reload(_local2, w);
};
};
if (inventory.reloadTime[w]){
reloading(_local2, w);
player.idleCount[_local2] = (player.idleCount[_local2] - 0.15);
if (player.idleCount[_local2] < 0){
player.idleCount[_local2] = 0;
};
};
if (player.trait[_local2][TRAIT.MILITIA]){
var _local7 = player.grenadeCount;
var _local8 = _local2;
var _local9 = (_local7[_local8] - 1);
_local7[_local8] = _local9;
if (player.grenadeCount[_local2] < 0){
_local4 = aiFireAtWill(_local2, 2);
if (_local4 == undefined){
player.grenadeCount[_local2] = (player.grenadeCount[_local2] + 10);
} else {
if (_local4.x > player_mc[_local2].x){
player.grenadeCount[_local2] = (player.grenadeCount[_local2] + 10);
} else {
throwGrenade(_local2, -1, player_mc[_local2].x, player_mc[_local2].y, (_local4.x + (_local4.speed * (15 + (Math.random() * 20)))), _local4.y, 12, CALC.MILITIA(_local2), 0);
calcGrenadeCount(_local2);
};
};
};
};
};
_local2++;
};
soundCounter--;
if (mission.newWave){
if (sisterList[mission.wave]){
sound_launch.play(0, 0, soundPos(640));
_local2 = 0;
while (_local2 < sisterList[mission.wave]) {
spawnEnemy(_bomb);
_local2++;
};
};
mission.newWave = false;
if (mission.wave == 3){
Tweener.addTween(customCursor, {_brightness:0.1, _color_redMultiplier:1.6, time:0});
bgChange = 100;
};
if (mission.wave == 1){
bgChange = -100;
};
if (mission.wave <= 0){
mission.wave = 0;
gamePaused = true;
immune = true;
stopSound();
startFire();
exitBattle2();
eventAfterBattle();
gotoAndStop("event");
return;
};
mission.wave--;
if (game.day == 1){
if (mission.wave == 3){
popInfo("You can throw a powerful grenade by pressing 2.");
};
if (mission.wave == 2){
popInfo("Throw grenades at the boss to deal major damage!");
};
};
if (mission.wave == mission.bossWave){
text_effect("Incoming Boss!!");
};
updateDay();
if (game.repair){
game.castleHP = (game.castleHP + castleRepair());
if (game.castleHP > game.castleMHP){
game.castleHP = game.castleMHP;
};
updateHP();
};
if (game.castleHP < game.castleMHP){
mission.noDamage = false;
};
} else {
mission.time--;
if (mission.time < 0){
if (pop[mission.wave].length <= 0){
mission.newWave = true;
} else {
_local2 = 0;
while (_local2 < pop[mission.wave].length) {
_local5 = pop[mission.wave].pop();
spawnEnemy(_local5);
mission.time = (popTime[mission.wave].pop() + (_local2 * 4));
if ((((eRef[eRefId[_local5]].lv > ((Math.random() * mission.level) - 6))) || ((Math.random() > 0.8)))){
break;
};
_local2++;
};
};
};
};
if (bgChange){
updateBG();
};
if (_pc == hero){
if (player.accuracyFix[_pc] > 0){
player.accuracyFix[_pc] = (player.accuracyFix[_pc] - ((0.02 * (100 + CALC.COOL(_pc))) / 100));
};
_local3 = Math.abs(((500 - (inventory.range[ci] * 200)) - mouseX));
if (_local3 < 100){
_local3 = 0;
} else {
_local3 = (_local3 / player.rangeFix[_pc]);
};
if ((((player.accuracyFix[_pc] < _local3)) && (!((game.tight == true))))){
player.accuracyFix[_pc] = _local3;
};
if ((((player.shootTimer[_pc] > 0)) && ((inventory.automatic[ci] == false)))){
customCursor.alpha = 0.7;
} else {
customCursor.alpha = 1;
};
if (player.accuracyFix[_pc] > 0.6){
player.accuracyFix[_pc] = 0.6;
};
customCursor.scaleX = (0.3 + player.accuracyFix[_pc]);
customCursor.scaleY = (0.3 + player.accuracyFix[_pc]);
} else {
customCursor.scaleX = 0.3;
customCursor.scaleY = 0.3;
};
if (frenzyMode){
if (frenzyMode == 1){
frenzyBar.scaleX = (player.frenzy[_pc] / calcDuelistMaxDamage(player.trait[_pc][TRAIT.DUELIST]));
};
if (frenzyMode == 2){
_local6 = ((CALC.SNIPER(_pc) * player.idleCount[_pc]) / (calcSniperMaxDamage(player.trait[_pc][TRAIT.SNIPER]) - 100));
if (_local6 > 1){
_local6 = 1;
player.idleCount[_pc] = ((calcSniperMaxDamage(player.trait[_pc][TRAIT.SNIPER]) - 100) / CALC.SNIPER(_pc));
};
frenzyBar.scaleX = _local6;
};
if (frenzyMode == 3){
frenzyBar.scaleX = (player.frenzy[_pc] / 1000);
};
};
}
public function initPartySkill(){
getBestSkill("SCAVENGER");
getBestSkill("THREAT");
getBestSkill("DEFENDER");
getBestSkill("LEADERSHIP");
getBestSkill("NEGOTIATOR");
getBestSkill("INSURANCE");
getBestSkill("ENGINEER");
getBestSkill("ROBBER");
getBestSkill("ACTIVE");
getBestSkill("BREEDER");
getBestSkill("TAUNT");
getBestSkill("COOK");
getBestSkill("ACCOUNTANT");
getBestSkill("QUICK_EYED");
getBestSkill("LOVE");
getBestSkill("SUPPLIER");
var _local1:int;
var _local2:int;
PARTY.GUARDIAN = 0;
PARTY.GUARDIAN_LIST = [];
_local1 = 0;
while (_local1 < maxAlly) {
if (player.exist[_local1] == false){
} else {
PARTY.GUARDIAN = (PARTY.GUARDIAN + CALC.GUARDIAN(_local1));
PARTY.GUARDIAN_LIST[_local2] = _local1;
_local2++;
};
_local1++;
};
}
public function makeBlurScreen(){
var _local1:BitmapData = new BitmapData(640, 380, true, 4294967295);
var _local2:Matrix = new Matrix(1, 0, 0, 1, 0, 0);
var _local3:ColorTransform = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
var _local4:Rectangle = new Rectangle(0, 0, 640, 380);
_local1.draw(stage, _local2, _local3, BlendMode.NORMAL, _local4, true);
var _local5:* = new MovieClip();
stage.addChild(_local5);
var _local6:Bitmap = new Bitmap(_local1);
_local5.addChild(_local6);
Tweener.addTween(_local5, {_Blur_blurX:3, _Blur_blurY:3, time:1});
return (_local5);
}
public function preGenerateWave(){
if (game.optionAltStart == 2){
mission.wave = 100;
mission.waveMax = mission.wave;
};
i = 0;
while (i < mission.wave) {
if (game.optionAltStart == 2){
mission.level = (108 - i);
mission.fixedLv = mission.level;
mission.strength = 0;
mission.power = (450 + (mission.level * 140));
mission.powerOrg = mission.power;
};
generateWave(i);
i++;
};
}
public function enchant(_arg1:int, _arg2:int, _arg3:int){
if (_arg3 == -1){
_arg3 = (1 + int((Math.random() * 3)));
};
if (_arg2 == -1){
_arg2 = encList[_arg3][int((Math.random() * encList[_arg3].length))];
};
var _local4:* = (1 + (PARTY.ENGINEER / 100));
if (medal[_medalAction4]){
_local4 = (_local4 + 0.15);
};
if (_arg2 == _encDamage){
inventory.attack[_arg1] = (int((_arg3 * 1.5)) + int(((inventory.attack[_arg1] * (100 + ((_arg3 * 8) * _local4))) / 100)));
};
if (_arg2 == _encFireRate){
inventory.shootRate[_arg1] = (_arg3 + int(((inventory.shootRate[_arg1] * (100 + ((_arg3 * 12) * _local4))) / 100)));
};
if (_arg2 == _encAccuracy){
inventory.baseAccuracy[_arg1] = (_arg3 + int(((inventory.baseAccuracy[_arg1] * (100 + ((_arg3 * 5) * _local4))) / 100)));
};
if (_arg2 == _encAmmo){
if (inventory.ammoMax[_arg1] == 1){
return;
};
inventory.ammoMax[_arg1] = (_arg3 + int(((inventory.ammoMax[_arg1] * (100 + ((_arg3 * 10) * _local4))) / 100)));
};
if (_arg2 == _encReloading){
if (inventory.reloadTimeMax[_arg1] == 0){
return;
};
inventory.reloadTimeMax[_arg1] = int(((inventory.reloadTimeMax[_arg1] * 100) / (100 + ((_arg3 * 7) * _local4))));
if (inventory.reloadTimeMax[_arg1] < 2){
inventory.reloadTimeMax[_arg1] = 2;
};
};
if (_arg2 == _encLeech){
inventory.leech[_arg1] = (inventory.leech[_arg1] + (_arg3 + 1));
};
if (_arg2 == _encImpact){
if (inventory.impact[_arg1] < 1){
inventory.impact[_arg1] = 1;
};
inventory.impact[_arg1] = (inventory.impact[_arg1] + (_arg3 * 2));
};
if (_arg2 == _encAir){
inventory.dmgAir[_arg1] = (inventory.dmgAir[_arg1] + (_arg3 * 11));
};
if (_arg2 == _encArmor){
inventory.dmgArmor[_arg1] = (inventory.dmgArmor[_arg1] + (_arg3 * 11));
};
if (_arg2 == _encAutoReload){
if (inventory.manualReload[_arg1] == false){
return;
};
inventory.autoReload[_arg1] = _arg3;
};
var _local5 = inventory.mod;
var _local6 = _arg1;
var _local7 = (_local5[_local6] + 1);
_local5[_local6] = _local7;
inventory.modText[_arg1] = (inventory.modText[_arg1] + encRef[_arg2].name);
inventory.value[_arg1] = (inventory.value[_arg1] + (((encRef[_arg2].cost * _arg3) * _arg3) / 3));
inventory.modText[_arg1] = (inventory.modText[_arg1] + (("(Lv." + _arg3) + ") "));
inventory.ammo[_arg1] = inventory.ammoMax[_arg1];
}
public function initEnemy(){
var _local1:enemy;
i = 0;
while (i < maxEnemy) {
_local1 = new enemy();
enemyArray[i] = _local1;
i++;
};
}
public function initButton(){
var _local1:MovieClip;
i = 0;
while (i < maxButton) {
_local1 = new selectButton();
buttonArray[i] = _local1;
i++;
};
}
public function procLink(_arg1:int){
var i = _arg1;
var url:* = [];
url[1] = "http://www.s-t-t.com/wwl/";
url[2] = "http://zodiacfragment.sakura.ne.jp/hp_00_mainpage_f.html";
url[3] = "http://www.tekepon.net/fsm/";
url[4] = "http://reinerstileset.4players.de/englisch.html";
url[5] = "http://lostgarden.com/";
url[6] = "http://shass.sakura.ne.jp/";
url[7] = "http://www.freesound.org/";
url[8] = "http://www14.big.or.jp/~amiami/happy/";
sound_click1.play();
popInfo("A Webpage has been opned in your browser.");
var request:URLRequest = new URLRequest(url[i]);
try {
navigateToURL(request);
} catch(e:Error) {
};
}
function frame7(){
}
public function geneMedalBonus(){
if (medal[_medalHardcore3]){
player.trait[_pc][TRAIT.LUCK] = (player.trait[_pc][TRAIT.LUCK] + 3);
};
if (medal[_medalRagnarok]){
player.trait[_pc][TRAIT.LUCK] = (player.trait[_pc][TRAIT.LUCK] + 1);
};
if (medal[_medalCritical1]){
player.trait[_pc][TRAIT.LUCK] = (player.trait[_pc][TRAIT.LUCK] + 1);
};
if (medal[_medalCritical2]){
player.trait[_pc][TRAIT.SENSE] = (player.trait[_pc][TRAIT.SENSE] + 1);
};
if (medal[_medalHardcore1]){
player.trait[_pc][TRAIT.SENSE] = (player.trait[_pc][TRAIT.SENSE] + 1);
};
if (medal[_medalCritical3]){
player.trait[_pc][TRAIT.ACCURACY] = (player.trait[_pc][TRAIT.ACCURACY] + 2);
};
if (medal[_medalAction4]){
player.trait[_pc][TRAIT.ROBBER] = (player.trait[_pc][TRAIT.ROBBER] + 2);
};
if (debugStartDay){
return;
};
if (medal[_medalDay1]){
player.money[_pc] = (player.money[_pc] + 0);
};
if (medal[_medalDay2]){
player.money[_pc] = (player.money[_pc] + 100);
};
if (medal[_medalDay3]){
player.money[_pc] = (player.money[_pc] + 200);
};
if (medal[_medalDay4]){
player.money[_pc] = (player.money[_pc] + 300);
};
if (medal[_medalDay5]){
player.money[_pc] = (player.money[_pc] + 500);
};
if (medal[_medalDay6]){
player.money[_pc] = (player.money[_pc] + 750);
};
if (medal[_medalDay7]){
player.money[_pc] = (player.money[_pc] + 1000);
};
}
function frame6(){
stop();
so = null;
allRemoveChild((root as MovieClip));
stage.quality = StageQuality.HIGH;
soundCs = -1;
hero = -1;
weaponRange = [];
weaponRange[0] = [2, 1, 0];
weaponRange[1] = [1, 2, 0];
weaponRange[2] = [0, 1, 2];
cursorX = [375, 225, 75];
cursorY = [250, 265, 220];
aiTarget = [];
i = 0;
while (i < _maxTarget) {
aiTarget[i] = [];
i2 = 0;
while (i2 < 3) {
aiTarget[i][i2] = [undefined, 1000];
i2++;
};
i++;
};
clearTarget();
fireAtWill = false;
playerY = [245, 215, 275, 185, 305, 335];
filter1a = new GlowFilter(3394815, 0);
filter2a = new GlowFilter(0xFFFFFF);
filterDrop = new DropShadowFilter();
filter1 = new Array();
filter2 = new Array();
filter1.push(filter1a);
filter2.push(filter2a);
player_mc = [];
inventory_mc = [];
stats_mc = [];
medal_mc = [];
upgrade_mc = [];
enemyArray = [];
buttonArray = [];
invSlot_mc = [];
invIcon_mc = [];
pic_mc = [];
cursor_mc = [];
radio_mc = [];
window_mc = new window();
window2_mc = new window();
window3_mc = new window();
window4_mc = new window();
sound_mute = new soundMute();
sound_defend = new soundDefend();
sound_drop = new soundDrop();
sound_launch = new soundLaunch();
sound_party = new soundParty();
sound_search = new soundSearch();
sound_night = new soundNight();
sound_pray1 = new soundPray1();
sound_eat1 = new soundEat1();
sound_dead1 = new soundDead1();
sound_dead2 = new soundDead2();
sound_dead3 = new soundDead3();
sound_dead4 = new soundDead4();
sound_dead5 = new soundDead5();
sound_dead6 = new soundDead6();
sound_dead7 = new soundDead7();
sound_dead8 = new soundDead8();
sound_dead9 = new soundDead9();
sound_deadChicken = new soundDeadChicken();
sound_chicken = new soundChicken();
sound_chickenAttack = new soundChickenAttack();
sound_fireball = new soundFireball();
sound_lightning = new soundLightning();
sound_puls = new soundPuls();
sound_exp1 = new soundExp1();
sound_bow1 = new soundBow1();
sound_gun1 = new soundGun1();
sound_gun2 = new soundGun2();
sound_gun3 = new soundGun3();
sound_gun4 = new soundGun4();
sound_gun5 = new soundGun5();
sound_gun6 = new soundGun6();
sound_gun7 = new soundGun7();
sound_gun8 = new soundGun8();
sound_gun9 = new soundGun9();
sound_gun10 = new soundGun10();
sound_gun11 = new soundGun11();
sound_gun12 = new soundGun12();
sound_gun13 = new soundGun13();
sound_gun14 = new soundGun14();
sound_gun15 = new soundGun15();
sound_card1 = new soundCard1();
sound_deadBoss1 = new soundDeadBoss1();
sound_deadBoss2 = new soundDeadBoss2();
sound_beep = new soundBeep();
sound_bad = new soundBad();
sound_good = new soundGood();
sound_mod = new soundMod();
sound_rampage = new soundRampage();
sound_rampageEnemy = new soundRampageEnemy();
sound_reloading1 = new soundReloading1();
sound_reloaded1 = new soundReloaded1();
sound_reloading2 = new soundReloading2();
sound_reloaded2 = new soundReloaded2();
sound_reloading3 = new soundReloading3();
sound_reloaded3 = new soundReloaded3();
sound_damage1 = new soundDamage1();
sound_impact1 = new soundImpact1();
sound_click1 = new soundClick1();
sound_scroll1 = new soundScroll1();
sound_pay1 = new soundPay1();
sound_crow = new soundCrow();
sound_cata = new soundCata();
sound_killed = new soundKilled();
sound_complete = new soundComplete();
sound_battleBegin = new soundBattleBegin();
sound_battleEnd = new soundBattleEnd();
sound_award = new soundAward();
sound_gold1 = new soundGold1();
sound_bag1 = new soundBag1();
sound_pop1 = new soundPop1();
sound_medal = new soundMedal();
sound_throw1 = new soundThrow1();
sound_repair1 = new soundRepair1();
sound_chain1 = new soundChain1();
sound_chain2 = new soundChain2();
sound_chain3 = new soundChain3();
sound_bow2 = new soundBow2();
sound_bg_forest = new soundBgForest();
sound_bg_town = new soundBgTown();
sound_low = new soundLow();
sound_tank = new soundTank();
sound_tank2 = new soundTank2();
sound_firework = new soundFirework();
sound_goodshot = [];
sound_goodshot[0] = (new soundGoodshot0() as Sound);
sound_goodshot[1] = (new soundGoodshot1() as Sound);
sound_goodshot[2] = (new soundGoodshot2() as Sound);
sound_goodshot[3] = (new soundGoodshot3() as Sound);
sound_goodshot[4] = (new soundGoodshot4() as Sound);
trans = [];
trans[0] = (new SoundTransform(0.9, 0) as SoundTransform);
trans[1] = (new SoundTransform(0.2, 0.8) as SoundTransform);
trans[2] = (new SoundTransform(0.3, 0.7) as SoundTransform);
trans[3] = (new SoundTransform(0.1, 0.9) as SoundTransform);
trans[4] = (new SoundTransform(0.2, 0.85) as SoundTransform);
trans[5] = (new SoundTransform(0.3, 0.75) as SoundTransform);
trans[6] = (new SoundTransform(0.3, 0.75) as SoundTransform);
trans[9] = (new SoundTransform(0.5, 0.8) as SoundTransform);
posTrans = [];
i = 0;
while (i < 20) {
posTrans[i] = (new SoundTransform(0.9, ((i * 0.08) - 0.8)) as SoundTransform);
i++;
};
frenzyMode = 0;
menuLine = 400;
defenseLine = 455;
groundLine = 170;
groundWidth = 155;
airLine = 40;
airWidth = 70;
maxEnemy = 200;
maxAlly = 5;
maxParty = 4;
maxChara = 7;
maxButton = 8;
eventList = [];
timer = new Timer(50, 0);
idx = new Object();
idx.day = 0;
idx.dayHC = 0;
idx.unlocked = [true, true, true, true, false, false, false, false];
idx.slot = 0;
idx.beta = beta;
idx.saveName = ["Empty Save", "Empty Save", "Empty Save", "Empty Save", "Empty Save", "Empty Save"];
idx.mute = false;
upgradeRefStr = ["Fix Wall", "Wall", "Sandbag", "Storage", "House", "Looter", "Repairer", "Trainer", "Smith", "Museum", "Chicken", "Sister", "Villa", "Sp.Trainer", "N/A", "N/A"];
upgradeRef = ["wallFix", "wallUpgrade", "sandbag", "storage", "house", "looter", "repair", "trainer", "smith", "museum", "chicken", "sister", "party", "spTrainer", "na", "na"];
upgradeHint = [];
upgradeMax = [];
game = new Object();
popList = [];
popMax = 10;
i = 0;
while (i < popMax) {
popList[i] = 0;
i++;
};
game.optionFirework = false;
game.optionBossDropMod = false;
game.optionAltStart = 0;
game.optionShowDamage = true;
game.optionShowAllyDamage = false;
game.optionLowQuality = false;
game.apFix = 99999999;
game.day = 1;
game.castleHP = 40;
game.castleMHP = 40;
game.invSlot = 6;
game.ap = 99999999;
game.apMax = 99999999;
game.card = [];
game.noDamage = 0;
game.prayerCount = 0;
game.tauntCount = 0;
game.partyCount = 0;
game.recycleCount = 0;
game.robCount = 0;
newTitle(1);
game.fame = 0;
game.train = 0;
game.boss = 0;
game.hintReload = false;
game.prayed = false;
game.HC = false;
game.MORE = false;
game.casual = false;
game.carryOver = false;
game.eggsCollected = 0;
game.childrenRobbed = 0;
game.sistersExploded = 0;
game.totalKill = 0;
game.totalMoney = 0;
fixedLvMax = 30;
lvCycle = 40;
i = 0;
while (i < upgradeRef.length) {
game[upgradeRef[i]] = 0;
i++;
};
game.wallUpgrade = 1;
game.storage = 1;
game.house = 1;
upgradeMax = ["", "", "10", "11", "3", "", "", "", "6", "", "", "", "", ""];
titleList = ["Newcomer", "Honorary Citizen", "Private", "Knight Apprentice", "Knight", "Baron", "Duke", "Prince", "King"];
medalPage = [0, 85, 150];
medal = new Array(_maxMedal);
gunSound = [];
inventory = new Object();
inventory.num = [];
inventory.id = [];
inventory.graphic = [];
inventory.type = [];
inventory.text = [];
inventory.reloadTime = [];
inventory.reloadTimeMax = [];
inventory.ammo = [];
inventory.ammoMax = [];
inventory.shootRate = [];
inventory.automatic = [];
inventory.baseAccuracy = [];
inventory.accuracyDec = [];
inventory.attack = [];
inventory.value = [];
inventory.reqTrait = [];
inventory.reqLv = [];
inventory.mod = [];
inventory.modMax = [];
inventory.shell = [];
inventory.range = [];
inventory.name = [];
inventory.manualReload = [];
inventory.modText = [];
inventory.lv = [];
inventory.typeMinor = [];
inventory.special = [];
inventory.dmgAir = [];
inventory.dmgArmor = [];
inventory.leech = [];
inventory.impact = [];
inventory.rare = [];
inventory.autoReload = [];
i = 0;
while (i < _maxInv) {
inventory.num[i] = 0;
inventory.value[i] = 0;
i++;
};
encRef = [];
encRef[1] = {name:"Accuracy", cost:100, detail:"This mod increases the base accuracy of a weapon."};
encRef[2] = {name:"Reloading", cost:120, detail:"This mod speeds up the reloading time of a weapon."};
encRef[3] = {name:"Fire Rate", cost:130, detail:"This mod improves the firing rate of a weapon."};
encRef[4] = {name:"Damage", cost:140, detail:"This mod enchances the damage output of a weapon."};
encRef[5] = {name:"Anti Air", cost:80, detail:"This mod adds anti-air capability to a weapon."};
encRef[6] = {name:"Anti Armor", cost:80, detail:"This mod adds anti-armor capability to a weapon."};
encRef[7] = {name:"Ammo", cost:140, detail:"This mod inreases the ammo capacity of a weapon."};
encRef[8] = {name:"Impact", cost:160, detail:"This mod grants a weapon an ability to knock back enemies."};
encRef[9] = {name:"Leech", cost:200, detail:"This mod grants a weapon an ability to convert inflicted damage to the castle HP."};
encRef[10] = {name:"Auto Reload", cost:100, detail:"This handy mod automatically refills your ammo when you're not shooting. Only works on manual reloading guns."};
encRef[11] = {name:"Living Weapon", cost:300, detail:"Once mounted, your weapon will be parasitized by this rare creature and slowly develop unique powers."};
encList = [];
encList[0] = [_encDamage, _encAccuracy, _encAccuracy, _encAmmo, _encAmmo, _encAmmo, _encAmmo, _encReloading, _encFireRate, _encAir, _encArmor, _encImpact, _encLeech, _encAutoReload];
encList[1] = [_encDamage, _encAccuracy, _encAccuracy, _encAmmo, _encAmmo, _encAmmo, _encAmmo, _encReloading, _encFireRate, _encAir, _encArmor, _encImpact, _encLeech, _encAutoReload];
encList[2] = [_encDamage, _encAccuracy, _encAccuracy, _encAmmo, _encAmmo, _encAmmo, _encAmmo, _encReloading, _encFireRate, _encAir, _encArmor, _encImpact, _encLeech, _encAutoReload];
encList[3] = [_encDamage, _encAccuracy, _encAccuracy, _encAmmo, _encAmmo, _encAmmo, _encAmmo, _encReloading, _encFireRate, _encAir, _encArmor, _encImpact, _encLeech, _encAutoReload];
nameBoy = ["Smith", "Johnson", "Williams", "Brown", "Jones", "Miller", "Davis", "García", "Rodriguez", "Wilson", "Martinez", "Anderson", "Taylor", "Thomas", "Moore", "Martin", "Jackson", "Thompson", "White", "Lee", "Harris", "Clark", "Lewis", "Robinson", "Walker", "Hall", "Young", "Allen", "Wright", "Scott", "Adams", "Nelson", "Hill", "Campbell", "Mitchell", "Roberts", "Carter", "Phillips", "Evans", "Turner", "Torres", "Parker", "Collins", "Edwards", "Stewart", "Flores", "Morris", "Nguyen", "Murphy", "Rivera", "Rogers", "Morgan", "Peterson", "Cooper", "Reed", "Bailey", "Bell", "Kelly", "Howard", "Cox", "Wood", "Watson", "Brooks", "Bennett", "Gray", "James", "Reyes", "Cruz", "Hughes", "Myers", "Foster", "Sanders", "Ross", "Powell", "Sullivan", "Russell", "Ortiz", "Jenkins", "Perry", "Barnes", "Silva", "Santos", "Oliveira", "Souza", "Pereira", "Costa", "Carvalho", "Almeida", "Ferreira", "Ribeiro", "Janssens", "Maes", "Svoboda", "Jensen", "Nielsen", "Larsen", "Olsen", "Tamm", "Korhonen", "Laine", "Martin", "Bernard", "Dubois", "Robert", "Petit", "Durand", "Leroy", "Laurent", "David", "Roux", "Vincent", "Fournier", "Girard", "Beridze", "Schmidt", "Fischer", "Meyer", "Weber", "Schulz", "Wagner", "Koch", "Varga", "Lakatos", "Murphy", "Lynch", "Rossi", "Russo", "Ferrari", "Bianchi", "Rizzo", "Vella", "Grech"];
devGroup = [];
g_count = [];
TRAIT = {};
CALC = {};
REF = {};
ID = {};
traitRef = [];
PARTY = [];
PARTYLV = [];
setTrait("HUNTER", _devHunter, 999, 1, "", ["A hunter receives reduced range penalty and can fire a gun beyond its effective range.", "-", "x", "% range penalty"], function (_arg1:int){
return (((25 + _arg1) + (Math.sqrt(_arg1) * 5)));
});
setTrait("ROGUE", _devRogue, 999, 1, "", ["When a rogue scores a critical kill, the enemy drops money. Guaranteed! She even gets more than normal amount.", "", "x", "% more money"], function (_arg1:int){
return (((20 + _arg1) + (Math.sqrt(_arg1) * 15)));
});
setTrait("SHERIFF", _devSheriff, 999, 1, "", ["Enemies shot by a sheriff will be knocked back and slowed down, making them easy targets.", "+", "x", " knock back"], function (_arg1:int){
return ((5 + Math.sqrt(_arg1)));
});
setTrait("MILITIA", _devMilitia, 999, 1, "", ["A militia can occasionally throw a grenade at a random enemy. The throwing rate also increases as he levels.", "", "x", " grenade damage"], function (_arg1:int){
return ((25 + (_arg1 * 2)));
});
setTrait("SNIPER", _devSniper, 999, 1, "", ["While a sniper is not firing or reloading, his adrenalin and the damage bonus go up. Adrenalin diminishes once he misses a shot.", "sniper1", "", ""], function (_arg1:int){
return (((Math.sqrt(_arg1) * 3) + 4));
});
setTrait("RANGER", _devRanger, 999, 1, "", ["A ranger gains adrenalin every time he kills an enemy. When it's full, all the troops go rampage and his adrenalin diminishes.", "", "x", "% more rampage duration"], function (_arg1:int){
return ((7 + (Math.sqrt(_arg1) * 5)));
});
setTrait("DUELIST", _devDuelist, 999, 1, "", ["When a Duelist shoots an enemy, her adrenalin and the damage bonus go up. Adrenalin diminishes quickly when not firing.", "duelist1", "", ""], function (_arg1:int){
return (7);
});
setTrait("NOBLE", _devNoble, 999, 1, "", ["A noble gains 40% more exp from killing enemies. Also rewarded slight bonuses to damage and accuracy per level.", "", "x", "% more damage and accuracy"], function (_arg1:int){
return (((5 + (_arg1 / 2)) + (Math.sqrt(_arg1) * 2)));
});
setTrait("GUARDIAN", _devGuard, 999, 1, "", ["When an enemy attacks the castle, a guardian can inflict certain damage back to the enemy.", "", "x", " damage to the attacker"], function (_arg1:int){
return ((4 + int((_arg1 / 2))));
});
setTrait("COOL", G_GEN, 999, 1, "", ["Makes you calm and recover quicikly from gun recoil.", "", "x", "% faster recovery"], function (_arg1:int){
return ((_arg1 + (Math.sqrt(_arg1) * 11)));
});
setTrait("ACCURACY", G_GEN, 999, 1, "", ["Decreases the bullet spread, making it fly to just where you aim at.", "", "x", "% less bullet spread"], function (_arg1:int){
return ((_arg1 + (Math.sqrt(_arg1) * 10)));
});
setTrait("CAPABLE", G_GEN, 2, 1, "", ["You will be able to see more skill options when leveling up.", "+", "x", " option(s) availabe when leveled"], function (_arg1:int){
return (_arg1);
});
setTrait("SMALL_GUN", G_GEN, 999, 2, "", ["The skill is required to handle small weapons such as pistols and machine pistols.", "You can equip Lv.", "x", " small guns"], function (_arg1:int){
return (_arg1);
});
setTrait("RIFLE", G_GEN, 999, 2, "", ["The skill is required to handle rifles such as assault rifles and sniper rifles.", "You can equip Lv.", "x", " rifles"], function (_arg1:int){
return (_arg1);
});
setTrait("SHOTGUN", G_GEN, 999, 2, "", ["The skill is required to handle shotguns.", "You can equip Lv.", "x", " shotguns"], function (_arg1:int){
return (_arg1);
});
setTrait("BIG_GUN", G_GEN, 999, 2, "", ["The skill is required to handle big guns such as Rockets and Flame throwers.", "You can equip Lv.", "x", " big guns"], function (_arg1:int){
return (_arg1);
});
setTrait("RELOADING", G_GEN, 999, 1, "", ["Reloading! Faster reloading is all you need!", "", "x", "% faster reloading"], function (_arg1:int){
return ((_arg1 + (Math.sqrt(_arg1) * 10)));
});
setTrait("LUCK", G_GEN, 10, 1, "", ["Increases the chance that the killed enemy drops gold pieces. When stacked on the rogue's critical kill bonus, she gets double the money.", "", "x", "% more chance"], function (_arg1:int){
return (((_arg1 * 2) + (Math.sqrt(_arg1) * 12)));
});
setTrait("SCAVENGER", G_GEN, 10, 1, "", ["Enemies killed by your troops drop items more often with the skill.", "", "x", "% extra chance of item drop"], function (_arg1:int){
return ((_arg1 + (Math.sqrt(_arg1) * 8)));
});
setTrait("DR_HOLLIDAY", G_GEN, 5, 1, "", ["When equipped with a shotgun, each level of the skill increases the number of shells shot but decreases accuracy.", "+", "y", " shot(s) fired"], function (_arg1:int){
return (((_arg1 * 7) + 3));
});
setTrait("SENSE", G_GEN, 10, 1, "", ["It gives you a small chance of critical shot even when you don't hit the enemy's weak spot.", "", "x", "% chance of critical hit"], function (_arg1:int){
return ((_arg1 + (Math.sqrt(_arg1) * 6)));
});
setTrait("THREAT", G_GEN, 10, 1, "", ["Threaten the enemies to reduce their speed.", "Enemies move ", "x", "% slower"], function (_arg1:int){
return (((_arg1 * 2) + 1));
});
setTrait("DEFENDER", G_GEN, 10, 1, "", ["Occasionally, you will be able to completely nullify the damage done to the castle. ", "", "x", "% nullify chance"], function (_arg1:int){
return (((_arg1 * 2) + 3));
});
setTrait("ONE_HIT_KILL", G_GEN, 10, 1, "", ["When equipped with a sniper rifle, you can sometimes kill an enemy in 1 shot no matter how much HP it has. Doesn't work on bosses though.", "", "x", "% chance of 1 hit kill"], function (_arg1:int){
return (((_arg1 * 3) + 2));
});
setTrait("AIMED_SHOT", G_GEN, 10, 1, "", ["Each level invested in the skill increases the damage but decreases fire rate.", "", "x", "% more damage"], function (_arg1:int){
return ((_arg1 * 7));
});
setTrait("LEADERSHIP", G_GEN, 10, 1, "", ["Leadership raises the morale of the team, making your troops aim faster.", "", "x", "% faster aiming"], function (_arg1:int){
return (((_arg1 * 5) + 2));
});
setTrait("NEGOTIATOR", G_GEN, 10, 1, "", ["Enables you to negotiate a better reward price.", "", "x", "% better reward"], function (_arg1:int){
return (((_arg1 * 4) + 5));
});
setTrait("INSURANCE", G_GEN, 10, 1, "", ["You receive the insurance EVERY TIME an enemy hits the castle!", "You get ", "x", " gp"], function (_arg1:int){
return ((1 + _arg1));
});
setTrait("KILLER", G_GEN, 10, 1, "", ["You are a real killer. When you score a critical kill, you receive extra EXP.", "", "x", "% extra EXP"], function (_arg1:int){
return ((_arg1 + (Math.sqrt(_arg1) * 20)));
});
setTrait("ENGINEER", G_GEN, 10, 1, "", ["You know how to build a good gun. When adding a modification to a gun, the effect increases.", "", "x", "% bonus to the effect"], function (_arg1:int){
return ((2 + (_arg1 * 5)));
});
setTrait("FURY", G_GEN, 10, 1, "", ["Everyone should just make sure not to piss you off. Your rampage duration lasts longer than normal. Stacks on the ranger's bonus.", "", "x", "% more rampage duration"], function (_arg1:int){
return ((_arg1 + (Math.sqrt(_arg1) * 12)));
});
setTrait("ROBBER", G_GEN, 10, 1, "", ["You can slaugher more people and get more money in the museum!", "+", "x", " more people killed"], function (_arg1:int){
return ((_arg1 * 7));
});
setTrait("ACTIVE", G_GEN, 10, 1, "", ["You become a hyperactive person. You get a fair chance of gaining extra AP after each battle.", "+", "x", " AP (random)"], function (_arg1:int){
return (_arg1);
});
setTrait("BREEDER", G_GEN, 10, 1, "", ["You know how to encourage the egg production of chickens. Your lovely chickens will give you more eggs!", "", "x", "% more eggs"], function (_arg1:int){
return (((_arg1 * 6) + 3));
});
setTrait("TAUNT", G_GEN, 5, 1, "", ["Taunting enemies makes them angry and stronger. But it will increase the mission reward money somehow.", "", "x", "% more reward"], function (_arg1:int){
return (((_arg1 * 10) + 10));
});
setTrait("COOK", G_GEN, 5, 1, "", ["Increases the benefit of having dinner. In short, you get more exp after dinner.", "+", "x", " base exp bonus"], function (_arg1:int){
return (((_arg1 * 5) + 2));
});
setTrait("ACCOUNTANT", G_GEN, 10, 1, "", ["Think the wages you pay are too much? Have an accountant and hold down the wages!", "-", "x", "% cheaper wages"], function (_arg1:int){
return (((_arg1 * 4) + 3));
});
setTrait("BOW_MASTER", G_GEN, 10, 1, "", ["You've mastered the art of the bow. Your arrows and bolts penetrate through enemies.", "+", "x", " penetrations"], function (_arg1:int){
return (_arg1);
});
setTrait("CRIPPLE_SHOT", G_GEN, 10, 1, "", ["Slows down the shot enemy so you can dish it anyway you want.", "", "x", "% slow down per hit"], function (_arg1:int){
return ((2 + (_arg1 * 3)));
});
setTrait("DISARM", G_GEN, 10, 1, "", ["Lowers the damage dealt by the shot enemy. Very effective against tough creatures.", "", "x", "% reduced damage"], function (_arg1:int){
return ((_arg1 * 20));
});
setTrait("ANTI_AIR", G_GEN, 10, 1, "", ["You know weak spots of air creatures.", "", "x", "% more damage vs Air"], function (_arg1:int){
return ((2 + (_arg1 * 7)));
});
setTrait("ANTI_ARMOR", G_GEN, 10, 1, "", ["You know weak spots of armored creatures.", "", "x", "% more damage vs Armor"], function (_arg1:int){
return ((2 + (_arg1 * 7)));
});
setTrait("DA_BOMB", G_GEN, 10, 1, "", ["Explosive weapons such as rockets, grenades and gravity gun do extra damages.", "", "x", "% extra damage"], function (_arg1:int){
return ((2 + (_arg1 * 5)));
});
setTrait("LAST_HOPE", G_GEN, 10, 1, "", ["When the castle is attacked while the wall is heavily damaged, you get a fair chance of going rampage.", "When the wall HP is less than", "x", "%"], function (_arg1:int){
return ((15 + (_arg1 * 4)));
});
setTrait("BURST", G_GEN, 5, 1, "", ["When firing an automatic rifle or machine gun, bullets don't spread and do 25% more damage for a certain period.", "Applied to first ", "x", " shots"], function (_arg1:int){
return (int((1 + _arg1)));
});
setTrait("ONE_SHOT", G_GEN, 10, 1, "", ["When equipped with a pistol or a sniper rifle, the last bullet of the magazine will deal massive damage.", "", "x", "% increased damage"], function (_arg1:int){
return ((300 + (_arg1 * 70)));
});
setTrait("QUICK_EYED", G_GEN, 10, 1, "", ["The feat increases the chance you get good events while searching in the town.", "", "x", "% more good events"], function (_arg1:int){
return ((5 + (_arg1 * 10)));
});
setTrait("LOVE", G_GEN, 10, 1, "", ["With the feat, you are awarded compensation every time you explode your little sister!", "", "x", " gold per sister"], function (_arg1:int){
return ((5 + (_arg1 * 5)));
});
setTrait("SUPPLIER", G_GEN, 10, 1, "", ["You are a respected supplier. Recharge time of all usable items are reduced.", "", "x", "% faster recharge"], function (_arg1:int){
return ((_arg1 * 20));
});
setTrait("POWER_SHOT", G_GEN, 10, 1, "", ["When equipped with a non-autofire gun, you sometimes do 1.5x damage. Never ask why!", "", "x", "% chance"], function (_arg1:int){
return ((_arg1 * 10));
});
setTrait("BASE_AIMING", G_BASE, 999, 999, "", ["Indicates how fast he can aim at his target. Base skills can't be focused. He will gradually develop them depending on his potential.", "Aiming Speed +", "x", ""], function (_arg1:int){
return (_arg1);
});
setTrait("BASE_TEAMWORK", G_BASE, 999, 999, "", ["Indicates his workrate. Base skills can't be focused. He will gradually develop them depending on his potential.", "Work Rate +", "x", ""], function (_arg1:int){
return (_arg1);
});
devGroup[_devHunter] = ["RIFLE", "SMALL_GUN", "SHOTGUN", "COOL", "ACCURACY", "RELOADING", "CAPABLE", "POWER_SHOT", "SCAVENGER", "AIMED_SHOT", "ENGINEER", "BREEDER", "COOK", "BOW_MASTER", "CRIPPLE_SHOT", "ANTI_AIR", "BURST"];
devGroup[_devRogue] = ["SMALL_GUN", "RIFLE", "COOL", "ACCURACY", "RELOADING", "CAPABLE", "POWER_SHOT", "LUCK", "THREAT", "AIMED_SHOT", "NEGOTIATOR", "SENSE", "KILLER", "ROBBER", "ACTIVE", "BURST", "ONE_SHOT", "QUICK_EYED"];
devGroup[_devSheriff] = ["SHOTGUN", "COOL", "ACCURACY", "RELOADING", "CAPABLE", "DR_HOLLIDAY", "DEFENDER", "LEADERSHIP", "INSURANCE", "FURY", "TAUNT", "LAST_HOPE", "CRIPPLE_SHOT", "QUICK_EYED", "ANTI_ARMOR"];
devGroup[_devMilitia] = ["BIG_GUN", "RIFLE", "COOL", "ACCURACY", "RELOADING", "CAPABLE", "KILLER", "FURY", "TAUNT", "CRIPPLE_SHOT", "ANTI_ARMOR", "DA_BOMB", "BURST", "LOVE", "SUPPLIER"];
devGroup[_devSniper] = ["RIFLE", "COOL", "ACCURACY", "RELOADING", "CAPABLE", "POWER_SHOT", "SENSE", "ONE_HIT_KILL", "AIMED_SHOT", "KILLER", "DISARM", "ANTI_AIR", "ONE_SHOT"];
devGroup[_devRanger] = ["BIG_GUN", "SMALL_GUN", "COOL", "ACCURACY", "RELOADING", "CAPABLE", "SCAVENGER", "LEADERSHIP", "BREEDER", "ANTI_ARMOR", "DA_BOMB", "LAST_HOPE", "BOW_MASTER", "ACTIVE", "SUPPLIER"];
devGroup[_devDuelist] = ["SMALL_GUN", "COOL", "ACCURACY", "RELOADING", "CAPABLE", "POWER_SHOT", "SENSE", "AIMED_SHOT", "NEGOTIATOR", "LUCK", "KILLER", "ENGINEER", "FURY", "ONE_SHOT"];
devGroup[_devNoble] = ["SMALL_GUN", "RIFLE", "SHOTGUN", "BIG_GUN", "COOL", "ACCURACY", "RELOADING", "CAPABLE", "LUCK", "INSURANCE", "ACTIVE", "TAUNT", "COOK", "ACCOUNTANT", "BOW_MASTER", "BURST", "ANTI_AIR", "ANTI_ARMOR"];
devGroup[_devGuard] = ["SHOTGUN", "SMALL_GUN", "COOL", "ACCURACY", "RELOADING", "CAPABLE", "DR_HOLLIDAY", "THREAT", "DEFENDER", "LEADERSHIP", "INSURANCE", "ACCOUNTANT", "DISARM", "LAST_HOPE", "LOVE", "SUPPLIER"];
i = 1;
while (i < (_maxDev + 1)) {
p = 0;
while (p < devGroup[i].length) {
if (TRAIT[devGroup[i][p]] == undefined){
gotoAndStop(2);
};
p++;
};
i++;
};
classList = [3, 1, 6, 4, 2, 5, 7, 8];
wexpList = [TRAIT.SMALL_GUN, TRAIT.BIG_GUN, TRAIT.RIFLE, TRAIT.SHOTGUN, -1];
chainMode = [];
chainSound = [];
player = new Object();
player.money = [200];
player.accuracyFix = [];
player.shooting = [];
player.shootTimer = [];
player.exist = [];
player.target = [];
player.pic = [];
player.name = [];
player.sex = [];
player.lv = [];
player.exp = [];
player.devType = [];
player.sp = [];
player.kill = [];
player.earn = [];
player.trait = [];
player.cost = [];
player.nextTrait = [];
player.ai = [];
player.aiFunc = [];
player.aimCount = [];
player.aimTime = [];
player.forcus = [];
player.workRate = [];
player.potentialAim = [];
player.potentialTeam = [];
player.accuracyDiv = [];
player.shell = [];
player.idleCount = [];
player.rangeFix = [];
player.grenadeCount = [];
player.frenzy = [];
player.rampage = [];
player.chain = [];
player.trained = [];
player.burst = [];
player.wexpRef = [];
player.wexp = [];
player.optBoss = [];
player.optWall = [];
player.onMark = [];
i = 0;
while (i < maxChara) {
player.optBoss[i] = false;
player.optWall[i] = false;
player.exist[i] = false;
player.pic[i] = (0 + int((Math.random() * _maxPic)));
player.target[i] = maxEnemy;
player.trait[i] = [];
i++;
};
generatePlayer(0, 1, -1);
mission = new Object();
mission.time = 0;
mission.endTime = 1000;
mission.level = 1;
mission.spawnRate = 20;
mission.spawnInterval = 220;
mission.spawnDuration = 120;
initEnemy();
initButton();
dialog_mc = new dialog();
i = 0;
while (i < 5) {
inventory_mc[i] = (new itemPicture() as MovieClip);
if (inventory.num[(_invPlayer + i)] < 1){
inventory_mc[i].visible = false;
};
inventory_mc[i].x = (25 + (i * 90));
inventory_mc[i].y = 343;
inventory_mc[i].gotoAndStop(inventory.graphic[(_invPlayer + i)]);
inventory_mc[i].filters = [filterDrop];
inventory_mc[i].name = ("invmc" + i);
inventory_mc[i].visible = false;
addChild(inventory_mc[i]);
i++;
};
gotoAndPlay("title");
}
function frame1(){
skipLoader = 0;
debug = 0;
kongregateEmu = 0;
beta = 0;
debugMedal = 0;
debugUnlockClass = 1;
debugBattle = 0;
debugTown = 0;
debugId = 0;
debugBatch = 0;
debugTownDay = 0;
debugStartDay = 0;
debugEnemyNum = 0;
debugLoader = 0;
validUrl = ["http://www.kongregate.com", "http://www.flashgamelicense.com", "file:///D:/project/shootem/", "file:///D|/project/shootem/", "http://homepage3.nifty.com/rfish/"];
this.contextMenu = new ContextMenu();
this.contextMenu.hideBuiltInItems();
Tweener.init();
ColorShortcuts.init();
FilterShortcuts.init();
info = root.loaderInfo;
kongregate = 0;
if (((!((info.url.indexOf("kongregate.com") == 0))) || (kongregateEmu))){
kongregate = 1;
} else {
kongregate = 0;
};
if (kongregate){
kongAPI = new KongregateAPI();
this.addChild(kongAPI);
};
stop();
if (skipLoader){
gotoAndStop("init");
return;
};
perText.visible = true;
lady.done = false;
loaded = 0;
stage.addEventListener(Event.ENTER_FRAME, EnterFrame_loader);
stage.addEventListener(MouseEvent.MOUSE_DOWN, MouseLDown_loader);
}
public function procTownMenu(){
window2_mc.stop();
select_init(720, 300);
select_add("what");
select_add("hey");
}
public function updateMissionMenu(){
var _local1:int;
_local1 = 0;
while (_local1 < radioCount) {
radio_mc[_local1].removeEvent();
_local1++;
};
removeRadio();
radioCount = 0;
_local1 = 0;
while (_local1 < 10) {
radio_mc[_local1] = (new actions() as MovieClip);
radio_mc[_local1]._root = (root as MovieClip);
radio_mc[_local1].x = (145 + ((_local1 % 5) * 80));
radio_mc[_local1].y = (150 + (int((_local1 / 5)) * 105));
if (((!((actList[_local1] == undefined))) && (!((actList[_local1].method() == false))))){
radio_mc[_local1].card.gotoAndStop(actList[_local1].pic);
if (actList[_local1].method() == true){
radio_mc[_local1].avail = true;
radio_mc[_local1].card.buttonMode = true;
} else {
radio_mc[_local1].avail = false;
radio_mc[_local1].alpha = 0.5;
};
radio_mc[_local1].card.rotation = actList[_local1].angle;
radio_mc[_local1].text.text = ((actList[_local1].cost + " AP\n") + actList[_local1].name);
} else {
radio_mc[_local1].card.gotoAndStop(1);
radio_mc[_local1].avail = false;
radio_mc[_local1].text.text = "";
radio_mc[_local1].alpha = 0.5;
};
radio_mc[_local1].text.mouseEnabled = false;
radio_mc[_local1].pin.mouseEnabled = false;
window2_mc.addChild(radio_mc[_local1]);
radioCount++;
_local1++;
};
updateInterface();
}
public function pauseMenu(){
var _local1:String;
blurMc = makeBlurScreen();
stage.focus = stage;
menuButton.mouseEnabled = false;
sound_scroll1.play();
gamePaused = true;
window_mc.x = 0;
window_mc.y = 0;
stage.addChild(window_mc);
customCursor.visible = false;
Mouse.show();
helpMode = 0;
window_mc.options.optShowDamage.selected = game.optionShowDamage;
window_mc.options.optShowAllyDamage.selected = game.optionShowAllyDamage;
window_mc.options.optLowQuality.selected = game.optionLowQuality;
window_mc.options.optFirework.selected = game.optionFirework;
window_mc.options.stats.editable = false;
_local1 = (("Elona Shooter Stactics Day " + game.day) + "\n");
if (game.casual == true){
_local1 = (_local1 + "You are playing Casual Mode.\n");
};
if (game.HC == true){
_local1 = (_local1 + "You are playing Hardcore Mode.\n");
};
if (game.optionBossDropMod == true){
_local1 = (_local1 + "Mod(Bosses drop Mod) is on.\n");
};
if (game.MORE == true){
_local1 = (_local1 + "Mod(Intense Start) is on.\n");
};
if (game.tight == true){
_local1 = (_local1 + "Mod(Tighter crosshair) is on.\n");
};
if (game.optWeaponLevel == true){
_local1 = (_local1 + "Mod(Limit high level weapons) is on.\n");
};
if (game.skipHard == true){
_local1 = (_local1 + "Mod(Skip hard waves) is on.\n");
};
if (game.carryOver == true){
_local1 = (_local1 + "You've used Carry Over Option.\n");
};
_local1 = (_local1 + (game.noDamage + " Perfect Games scored.\n"));
_local1 = (_local1 + (game.eggsCollected + " eggs collected.\n"));
_local1 = (_local1 + (("Exploded " + game.sistersExploded) + " sisters.\n"));
_local1 = (_local1 + (("Robbed " + game.childrenRobbed) + " children.\n"));
_local1 = (_local1 + (("Total of " + game.totalKill) + " enemies killed.\n"));
_local1 = (_local1 + (("Total of " + game.totalMoney) + " GP earned.\n"));
_local1 = (_local1 + "\n");
window_mc.options.stats.text = _local1;
window_mc.gotoAndPlay("menu_pause");
}
public function KeyDown_town(_arg1:KeyboardEvent){
if (gamePaused){
return;
};
if (debug){
game.ap = (game.ap + 10);
};
}
function frame2(){
gotoAndPlay(1);
}
public function newTitle(_arg1){
if (game.day <= 5){
game.title = 0;
game.titleMoney = 0;
return (false);
};
if ((((game.title < 1)) && ((game.day > 5)))){
if (_arg1 == 1){
game.title = 1;
game.titleMoney = 100;
};
return (true);
};
if ((((game.title < 2)) && ((game.day > 10)))){
if (_arg1 == 1){
game.title = 2;
game.titleMoney = 200;
};
return (true);
};
if ((((game.title < 3)) && ((game.day > 15)))){
if (_arg1 == 1){
game.title = 3;
game.titleMoney = 400;
};
return (true);
};
if ((((game.title < 4)) && ((game.day > 25)))){
if (_arg1 == 1){
game.title = 4;
game.titleMoney = 700;
};
return (true);
};
if ((((game.title < 5)) && ((game.day > 40)))){
if (_arg1 == 1){
game.title = 5;
game.titleMoney = 1000;
};
return (true);
};
if ((((game.title < 6)) && ((game.day > 60)))){
if (_arg1 == 1){
game.title = 6;
game.titleMoney = 1500;
};
return (true);
};
if ((((game.title < 7)) && ((game.day > 80)))){
if (_arg1 == 1){
game.title = 7;
game.titleMoney = 2000;
};
return (true);
};
if ((((game.title < 8)) && ((game.day > 100)))){
if (_arg1 == 1){
game.title = 8;
game.titleMoney = 3000;
};
return (true);
};
return (false);
}
function frame9(){
if (skipLoader == 0){
stage.addEventListener(Event.ENTER_FRAME, EnterFrame_logo);
stage.addEventListener(MouseEvent.MOUSE_DOWN, MouseLDown_logo);
};
}
public function openHelp(){
if (gameStage != _stageTitle){
window_mc.saveGameButton.mouseEnabled = false;
window_mc.helpButton.mouseEnabled = false;
window_mc.returnTitleButton.mouseEnabled = false;
} else {
elonaButton.mouseEnabled = false;
};
blurMcHelp = makeBlurScreen();
sound_scroll1.play();
helpMode = 4;
window4_mc.visible = false;
window4_mc.animeTime = 16;
window4_mc.x = 600;
window4_mc.y = -20;
window4_mc.addEventListener(Event.ENTER_FRAME, onEnterFrame_help);
window4_mc.gotoAndStop("help4");
window4_mc.addFrameScript((window4_mc.currentFrame - 1), insertHelp);
window4_mc.closeButton.visible = false;
stage.addChild(window4_mc);
}
public function calcMuseum(){
return ((50 + int(((medalNum() * 6) * museumFix()))));
}
public function select_proc(){
select = -1;
i = 0;
while (i < selectID) {
if (buttonArray[i].hitTestPoint(mouseX, mouseY, true)){
buttonArray[i].filters = filter2;
select = i;
} else {
buttonArray[i].filters = filter1;
};
i++;
};
}
public function sortChara(){
var _local1:int;
var _local2:* = 0;
while (_local2 < (maxAlly - 1)) {
_local1 = (_local2 + 1);
if ((((player.exist[_local2] == false)) && ((player.exist[_local1] == true)))){
swapChara(_local2, _local1);
};
_local2++;
};
}
public function getWeaponInfo(_arg1:int){
var _local2:* = [sound_gun1, 10, 24, 10];
if (_arg1 == 1){
_local2 = [sound_gun6, 10, 24, 10, 1, (3 * 30), 4];
};
if (_arg1 == 2){
_local2 = [sound_gun2, 10, 24, 10, 5, 5, 1];
};
if (_arg1 == 3){
_local2 = [sound_gun3, 95, 109, 95];
};
if (_arg1 == 4){
_local2 = [sound_gun4, 95, 109, 95];
};
if (_arg1 == 5){
_local2 = [sound_gun7, 120, 134, 120];
};
if (_arg1 == 13){
_local2 = [sound_gun5, 120, 134, 120];
};
if ((((_arg1 == 14)) || ((_arg1 == 15)))){
_local2 = [sound_gun1, 10, 24, 10];
};
if (_arg1 == 16){
_local2 = [sound_gun2, 145, 159, 145];
};
if (_arg1 == 17){
_local2 = [sound_gun8, 120, 134, 120];
};
if (_arg1 == 18){
_local2 = [sound_gun9, 10, 24, 10];
};
if (_arg1 == 19){
_local2 = [sound_gun10, 95, 109, 95];
};
if (_arg1 == 20){
_local2 = [sound_gun12, 95, 109, 95];
};
if (_arg1 == 21){
_local2 = [sound_gun11, 170, 184, 184];
};
if (_arg1 == 22){
_local2 = [sound_gun13, 170, 184, 184];
};
if (_arg1 == 23){
_local2 = [sound_gun14, 70, 84, 86];
};
if (_arg1 == 24){
_local2 = [sound_gun15, 70, 84, 86];
};
if (_arg1 == 25){
_local2 = [sound_gun15, 70, 84, 86];
};
if (_arg1 == 26){
_local2 = [sound_gun14, 70, 84, 86];
};
if (_arg1 == 27){
_local2 = [sound_fireball, 70, 84, 86];
};
if (_arg1 == 36){
_local2 = [sound_gun1, 120, 134, 120];
};
return (_local2);
}
public function text_effect(_arg1:String){
var _local2:* = (new textEffect() as MovieClip);
_local2.x = -180;
_local2.y = 320;
_local2.wait = ("textEff" + textCount);
textCount++;
_local2.name = ("textEff" + textCount);
_local2.msg.msg.text = _arg1;
stage.addChild(_local2);
}
public function deleteChara(_arg1:int){
player.exist[_arg1] = false;
sortChara();
}
public function getFreeAlly(){
var _local1:* = 0;
while (_local1 < maxAlly) {
if (player.exist[_local1] == false){
return (_local1);
};
_local1++;
};
return (-1);
}
public function gameMedalBonus(){
if (medal[_medalClass1]){
idx.unlocked[5] = true;
};
if (medal[_medalClass2]){
idx.unlocked[6] = true;
};
if (medal[_medalClass3]){
idx.unlocked[7] = true;
};
if (medal[_medalClass4]){
idx.unlocked[4] = true;
};
}
public function updateCharaMenu(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:int;
var _local5:*;
stage.focus = stage;
removeStats();
_local1 = getClass(player.devType[cs]);
window2_mc.classText.text = _local1[0];
statsCount = 0;
_local2 = [];
_local3 = 0;
_local4 = 0;
while (_local4 < _maxTrait) {
if (player.trait[cs][_local4] == 0){
} else {
if ((((((cs == _pc)) && ((player.ai[cs] == _aiHero)))) && ((((_local4 == TRAIT.BASE_AIMING)) || ((_local4 == TRAIT.BASE_TEAMWORK)))))){
} else {
_local3 = (50000 - _local4);
if (PARTY[ID[_local4]] != undefined){
_local3 = (10000 + _local4);
};
if (traitRef[_local4].group == G_BASE){
_local3 = (70000 + _local4);
};
if (_local4 < G_GEN){
_local3 = (100000 + _local4);
};
_local2[_local2.length] = {id:_local4, sort:_local3};
};
};
_local4++;
};
_local2.sortOn("sort", (Array.NUMERIC | Array.DESCENDING));
_local5 = 0;
while (_local5 < _local2.length) {
_local4 = _local2[_local5].id;
_local3 = statsCount;
_local1 = REF[ID[_local4]](cs);
stats_mc[_local3] = (new trait() as MovieClip);
stats_mc[_local3].x = (150 + (int((_local3 / 6)) * 130));
stats_mc[_local3].y = (232 + ((_local3 % 6) * 18));
stats_mc[_local3].traitName.text = _local1[0];
stats_mc[_local3].hintTxt = _local1;
stats_mc[_local3].id = _local4;
if (player.forcus[cs] == _local4){
window2_mc.fo.x = (stats_mc[_local3].x - 22);
window2_mc.fo.y = (stats_mc[_local3].y + 2);
};
if ((((traitRef[stats_mc[_local3].id].group == G_BASE)) || ((stats_mc[_local3].id < G_GEN)))){
Tweener.addTween(stats_mc[_local3].traitName, {time:0, _color:278544});
stats_mc[_local3].icon.gotoAndStop(2);
} else {
if (PARTY[ID[_local4]] != undefined){
stats_mc[_local3].icon.gotoAndStop(3);
} else {
stats_mc[_local3].icon.gotoAndStop(1);
};
};
window2_mc.addChild(stats_mc[_local3]);
statsCount++;
_local5++;
};
window2_mc.costText.visible = false;
window2_mc.order.visible = true;
window2_mc.order.removeAll();
if (cs == _pc){
window2_mc.order.addItem({data:_aiHero, label:"Hero Mode"});
};
window2_mc.order.addItem({data:_aiNormal, label:"Attack mobs in weapon range"});
window2_mc.order.addItem({data:_aiNoAir, label:" +don't attack air mobs"});
window2_mc.order.addItem({data:_aiNoArmor, label:" +don't attack armored mobs"});
window2_mc.order.addItem({data:_aiNeither, label:" +don't attack either"});
window2_mc.order.addItem({data:_aiAir, label:"Attack air mobs"});
window2_mc.order.addItem({data:_aiArmor, label:"Attack armored mobs"});
window2_mc.order.addItem({data:_aiFireAtWill, label:"Always fire at will"});
_local4 = 0;
while (_local4 < ((_aiFireAtWill + 1) + _if((cs == _pc)))) {
if (player.ai[cs] == window2_mc.order.getItemAt(_local4).data){
window2_mc.order.selectedItem = window2_mc.order.getItemAt(_local4);
};
_local4++;
};
window2_mc.order.dropdownWidth = 190;
window2_mc.order.rowCount = 7;
window2_mc.order.addEventListener(Event.OPEN, orderOpen);
window2_mc.order.addEventListener(Event.CLOSE, orderClose);
window2_mc.order.addEventListener(Event.CHANGE, orderClick);
window2_mc.order.addEventListener(ListEvent.ITEM_ROLL_OVER, orderRollOver);
window2_mc.fo.visible = false;
window2_mc.optBoss.visible = false;
window2_mc.optWall.visible = false;
window2_mc.optBoss.label = "Boss";
window2_mc.optWall.label = "Defend";
window2_mc.optBoss.selected = player.optBoss[cs];
window2_mc.optWall.selected = player.optWall[cs];
window2_mc.optHint.visible = false;
defHint = "\nClick \"Recruit\" to hire this person.";
if (cs != maxAlly){
if (player.forcus[cs] != -1){
window2_mc.fo.visible = true;
};
if (cs == _pc){
defHint = "Click a skill to set it as a focused skill.\nIt will appear on the list more frequently when leveling.";
} else {
defHint = "Click a skill to set it as a focused skill.\nYour ally will likely gain the skill when leveling.";
};
};
if (cs == _pc){
window2_mc.dismissText.visible = false;
window2_mc.dismissButton.visible = false;
if (player.ai[_pc] != _aiHero){
window2_mc.optBoss.visible = true;
window2_mc.optWall.visible = true;
window2_mc.optHint.visible = true;
};
} else {
if (cs == maxAlly){
window2_mc.costText.visible = true;
window2_mc.costText.text = ("" + player.cost[cs]);
if (player.cost[cs] > player.money[_pc]){
window2_mc.costText.textColor = 0xCC0000;
} else {
window2_mc.costText.textColor = 204;
};
window2_mc.orderText.text = "COST.";
window2_mc.dismissText.text = "RECRUIT";
window2_mc.order.visible = false;
} else {
window2_mc.orderText.text = "ORDER.";
window2_mc.dismissText.text = "DISMISS";
window2_mc.optBoss.visible = true;
window2_mc.optWall.visible = true;
window2_mc.optHint.visible = true;
window2_mc.order.enabled = true;
};
window2_mc.dismissText.visible = true;
window2_mc.dismissButton.visible = true;
};
window2_mc.killText.text = player.kill[cs];
window2_mc.earnText.text = player.earn[cs];
if (window2_mc.optHint.visible == false){
window2_mc.optHint.hintTxt = undefined;
} else {
window2_mc.optHint.hintTxt = ["Options", "When \"Boss\" is checked, the character will go for the boss when a boss appears.\nWhen \"Defend\" is checked, the character will go for the enemies attacking your wall.", "", "", ""];
};
if (cs == _pc){
window2_mc.wageText.text = titleList[game.title];
window2_mc.wage.visible = false;
window2_mc.titleText.visible = true;
} else {
window2_mc.wage.visible = true;
window2_mc.titleText.visible = false;
if (wage(cs) == 0){
window2_mc.wageText.text = "Free";
} else {
window2_mc.wageText.text = (("" + wage(cs)) + " GP");
};
};
}
public function medalNum(){
var _local2:int;
var _local1:int;
_local2 = 0;
while (_local2 < _maxMedal) {
if (medal[_local2] > 0){
_local1++;
};
_local2++;
};
return (_local1);
}
public function getItemDetail(_arg1:int){
var _local2:* = inventory.id[_arg1];
var _local3 = "";
if (_local2 == 6){
_local3 = "Fur skinned from a dead animal. You can sell it for money.";
};
if (_local2 == 7){
_local3 = "An armor looted from a dead soldier. You can sell it for some money.";
};
if ((((((_local2 >= 8)) && ((_local2 <= 10)))) || ((_local2 == 121)))){
_local3 = ("A modification device that can be mounted on a weapon. " + encRef[inventory.mod[_arg1]].detail);
};
if (_local2 == 11){
_local3 = (("[Useable] When thrown to the ground, it exlodes and deals " + inventory.attack[_arg1]) + " damage to all enemies surrounding it.");
};
if (_local2 == 12){
_local3 = (("[Useable] Repairs " + calcRepair(_arg1)) + " points of castle HP when used. It's a life saver but has long recharge time.");
};
if (_local2 == 28){
_local3 = "Yummy rat roast. You can sell it for money.";
};
if (_local2 == 29){
_local3 = "A helmet looted from a dead soldier. You can sell it for some money.";
};
if (_local2 == 30){
_local3 = "A beautiful feather of some bird. You can sell it for some money.";
};
if (_local2 == 31){
_local3 = "A piece of meat of some animal or whatever. You can sell it for some money.";
};
if (_local2 == 32){
_local3 = "Taken from a destroyed machine. Contains some rare metals. You can sell it for some money.";
};
if (_local2 == 33){
_local3 = "A bottle of insect blood. You can sell it for some money.";
};
if (_local2 == 34){
_local3 = "Carefully taken from a dead dragon. You can sell it for some money.";
};
if (_local2 == 35){
_local3 = (("A special token. When dragged onto a shop item, the item get discounted by " + inventory.attack[_arg1]) + " gp. Use it wisely!");
};
if (_local2 == 37){
_local3 = "[Useable] A special artifact of Jure, Goddess of Healing. Her blessing protects your castle from enemies for a short period.";
};
if (_local2 == 38){
_local3 = "[Useable] A special artifact. The ancient sword is called Ragnarok for a reason.";
};
if (_local2 == 101){
_local3 = "\"These guy's do two thing's well, feasting on food bought with their hard earned gold... And earning their gold.\"";
};
if (_local2 == 102){
_local3 = "\"One day these guy's just showed up shooting... That make's them party crashers and they must be treated accordingly!\"";
};
if (_local2 == 103){
_local3 = "\"Something seems to have scared the sheep all in your direction, they are not damaging \"Your castle\" intentionally but... You don't care you kill them anyway.\"";
};
if (_local2 == 104){
_local3 = "\"One night you saw one trip on a rock and then blow up... Now there's a whole army of them!\"";
};
if (_local2 == 105){
_local3 = "\"Unfortunately you do not carry insurance against damage from these weapons, also unfortunate is the fact that during your recent tax audit they were mistaken as yours and your taxes have been raised accordingly.\"";
};
if (_local2 == 106){
_local3 = "\"They eat Dragonflies, Dragonflies have taken up residence in your castle...\"";
};
if (_local2 == 107){
_local3 = "\"Apparently the rat's came over in ships... From the stench you can guess why they left.\"";
};
if (_local2 == 108){
_local3 = "\"Oddly enough these zealots just showed up and attacked you, you just assume they want to meet their maker sooner.\"";
};
if (_local2 == 109){
_local3 = "\"An underground spider known to like peace and quiet, how sad for it because you produce neither.\"";
};
if (_local2 == 110){
_local3 = "\"These insects are in brooding season and are looking for a place to nest... Apparently they've taken a liking to your younger sister.\"";
};
if (_local2 == 112){
_local3 = "\"You don't know where these came from but by the look's of them it's probably safe to say you've ticked off Mani of Machine.\"";
};
if (_local2 == 113){
_local3 = "\"Some guy from Vernis showed up the other night and killed a Bard...\"";
};
if (_local2 == 114){
_local3 = "\"Well with as much killing as you have been doing lately Someone was bound to hold a grudge.\"";
};
if (_local2 == 115){
_local3 = "\"Some guy from Vernis showed up the other night and killed a Bard...\"";
};
if (_local2 == 116){
_local3 = "\"Apparently this is just a Juere prototype related to a bigger project, the fact that it's causing you nuisance is purely coincidental.\"";
};
if (_local2 == 117){
_local3 = "\"These monster's chew through anything. Seems they've eaten everything on the way and the castle food supplies are kinda low...\"";
};
return (_local3);
}
public function levelUp(_arg1:int, _arg2:Boolean){
var _local3:MovieClip;
player.exp[_arg1] = (player.exp[_arg1] % 1000);
var _local4 = player.lv;
var _local5 = _arg1;
var _local6 = (_local4[_local5] + 1);
_local4[_local5] = _local6;
_local4 = player.sp;
_local5 = _arg1;
_local6 = (_local4[_local5] + 1);
_local4[_local5] = _local6;
player.trait[_arg1][player.devType[_arg1]] = player.lv[_arg1];
if (Math.random() < player.potentialAim[_arg1]){
_local4 = player.trait[_arg1];
_local5 = TRAIT.BASE_AIMING;
_local6 = (_local4[_local5] + 1);
_local4[_local5] = _local6;
};
if (Math.random() < player.potentialTeam[_arg1]){
_local4 = player.trait[_arg1];
_local5 = TRAIT.BASE_TEAMWORK;
_local6 = (_local4[_local5] + 1);
_local4[_local5] = _local6;
};
if (_arg2){
news = (news + (((((player.name[_arg1] + " ") + _is(_arg1)) + " now level ") + player.lv[_arg1]) + "!\n"));
sound_complete.play(0, 0, trans[_arg1]);
_local3 = new effect2();
_local3.x = player_mc[_arg1].x;
_local3.y = player_mc[_arg1].y;
_local3.gotoAndPlay("lvup");
stage.addChild(_local3);
};
}
public function getMedal(_arg1:int){
if (medal[_arg1] == true){
return;
};
var _local2:* = getMedalInfo(_arg1);
if (_local2[0] == "null"){
return;
};
medal[_arg1] = true;
sound_medal.play();
popInfo((("You've been awarded <" + _local2[0]) + "> Medal!"));
}
public function showEventDialog(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:String;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:String;
if (_arg1 == _dialogNewRecruit){
if (game.ap < 2){
noAp();
return;
};
sound_good.play();
game.ap = (game.ap - 2);
_local2 = new eventWindow();
_local2.card.gotoAndStop(7);
_local2.title.text = "New Recruit!";
_local2.text.text = "As you review the list of recruits with no real prospects, one of the guards says, \"Some traveler just arrived at the inn...looks quite capable in my opinion.\" Finally, a new recruit!";
exitMenu();
generateRecruit();
sound_scroll1.play();
menuId = 3;
window2_mc.gotoAndPlay("menu_chara");
window2_mc.x = 1000;
window2_mc.addFrameScript((window2_mc.currentFrame - 1), procCharaMenu);
};
if (_arg1 == _dialogFreeRepair){
if (game.castleHP == game.castleMHP){
sound_beep.play();
popInfo("The castle is not damaged!");
return;
};
if (game.ap < 2){
noAp();
return;
};
sound_repair1.play();
game.ap = (game.ap - 2);
_local2 = new eventWindow();
_local2.card.gotoAndStop(2);
_local2.title.text = "Free Repair!";
_local2.text.text = "Citizens acknowledge your hard work and decided to rebuild the castle walls for free!";
game.castleHP = game.castleMHP;
removeUpgrades();
updateCastleMenu();
updateInterface();
};
if (_arg1 == _dialogActSearch){
if (game.ap < 1){
noAp();
return;
};
game.ap = (game.ap - 1);
_local2 = new eventWindow();
_local2.card.gotoAndStop(13);
search(_local2);
};
if (_arg1 == _dialogActParty){
if (game.ap < 3){
noAp();
return;
};
game.ap = (game.ap - 3);
game.partyCount++;
game.partyHeld = true;
sound_party.play();
_local2 = new eventWindow();
mission.dmgFix = (mission.dmgFix + (calcParty() / 100));
_local2.card.gotoAndStop(15);
_local2.title.text = "Party";
_local2.text.text = (("You hold a party and celebrate the victory today. Everyone seems to be enjoying it! You and your troops deal " + calcParty()) + "% more damage tomorrow.");
};
if (_arg1 == _dialogActPray){
if (game.ap < 2){
noAp();
return;
};
game.ap = (game.ap - 2);
game.prayed = true;
game.prayerCount++;
sound_pray1.play();
_local2 = new eventWindow();
_local2.card.gotoAndStop(5);
mission.absorbFix = (mission.absorbFix + (int(((Math.random() * 15) + 5)) / 100));
_local2.title.text = "Prayer";
_local2.text.text = (("A holy aura surrounds your castle as you say grace to your God. The castle wall will absorb " + int((mission.absorbFix * 100))) + "% damage during the next battle.");
};
if (_arg1 == _dialogActClaim){
if (game.ap < 4){
noAp();
return;
};
game.ap = (game.ap - 4);
sound_award.play();
_local2 = new eventWindow();
_local2.card.gotoAndStop(3);
newTitle(1);
_local2.title.text = "New Title!";
_local2.text.text = (((("Your remarkable achievements have been acknowledged and you are granted a new title, " + titleList[game.title]) + "! You will receive ") + game.titleMoney) + " gold pieces every day as a salary.");
};
if (_arg1 == _dialogActEat){
if (game.ap < 3){
noAp();
return;
};
game.ap = (game.ap - 3);
sound_eat1.play();
_local2 = new eventWindow();
_local2.card.gotoAndStop(12);
mission.expFix = ((1.05 + (Math.random() / 4)) + (PARTY.COOK / 100));
_local2.title.text = "Dinner";
_local2.text.text = (("You and your troops enjoy a meal and some drinks with some of the soldiers. You are refreshed! You and your troops will get " + int(((mission.expFix * 100) - 100))) + "% more exp in the next battle.");
};
if (_arg1 == _dialogActEgg){
if (game.ap < 1){
noAp();
return;
};
sound_gold1.play();
game.ap = (game.ap - 1);
game.egg = true;
_local2 = new eventWindow();
_local2.card.gotoAndStop(1);
_local2.title.text = "Eggs";
_local4 = (2 + int(((game.chicken / 2) + ((int(((Math.random() * game.chicken) / 2)) * (100 + PARTY.BREEDER)) / 100))));
game.eggsCollected = (game.eggsCollected + _local4);
_local7 = (_local4 * 15);
if (medal[_medalChicken1]){
_local7 = (_local7 * 1.05);
};
if (medal[_medalChicken2]){
_local7 = (_local7 * 1.1);
};
if (medal[_medalChicken3]){
_local7 = (_local7 * 1.2);
};
_local7 = int(_local7);
_local2.text.text = (((("Your lovely chickens produced " + _local4) + " eggs today! You sold them and received ") + _local7) + " gold pieces.");
player.money[_pc] = (player.money[_pc] + _local7);
game.totalMoney = (game.totalMoney + _local7);
};
if (_arg1 == _dialogActTrain){
_local3 = 0;
for (;_local3 < 10;_local3++) {
_local5 = int((Math.random() * getFreeAlly()));
if (player.trained[_local5] >= game.spTrainer){
continue;
};
};
if (player.trained[_local5] >= game.spTrainer){
_local5 = -1;
_local3 = 0;
while (_local3 < getFreeAlly()) {
if (player.trained[_local3] < game.spTrainer){
_local5 = _local3;
break;
};
_local3++;
};
if (_local5 == -1){
sound_beep.play();
popInfo("For more training, you need an upgrade.");
return;
};
};
if (game.ap < 4){
noAp();
return;
};
sound_complete.play();
game.ap = (game.ap - 4);
_local2 = new eventWindow();
_local2.card.gotoAndStop(16);
_local8 = listTrait(_local5);
_local4 = _local8[int((Math.random() * _local8.length))];
var _local11 = player.trait[_local5];
var _local12 = _local4;
var _local13 = (_local11[_local12] + 1);
_local11[_local12] = _local13;
_local11 = player.trained;
_local12 = _local5;
_local13 = (_local11[_local12] + 1);
_local11[_local12] = _local13;
_local9 = REF[ID[_local4]](_local5);
if (_local5 == _pc){
_local6 = "you gain ";
} else {
_local6 = (player.name[_local5] + " gains ");
};
_local10 = (player.name[_local5] + " ");
if (player.trained[_local5] < game.spTrainer){
_local10 = (_local10 + (("can still take the training " + (game.spTrainer - player.trained[_local5])) + " time(s)."));
} else {
_local10 = (_local10 + "reached maximum training limit.");
};
_local2.title.text = "Training";
_local2.text.text = (((((("The special trainer picks " + player.name[_local5]) + ". After hours of training, ") + _local6) + _local9[0]) + "! ") + _local10);
};
if (_arg1 == _dialogActTaunt){
if (game.ap < 2){
noAp();
return;
};
sound_gold1.play();
game.ap = (game.ap - 2);
game.tauntCount++;
game.taunted++;
_local2 = new eventWindow();
_local2.card.gotoAndStop(14);
_local2.title.text = "Taunt!";
_local3 = (0.3 + (Math.random() / 4));
(mission.hpFix + _local3);
_local6 = (("You taunt the enemies outside the castle. They will have " + int((_local3 * 100))) + "% more HP tomorrow.");
_local4 = mission.reward;
mission.reward = int(((mission.reward * (100 + (PARTY.TAUNT / game.taunted))) / 100));
_local2.text.text = (((((_local6 + " Your King decided to increase your reward from ") + _local4) + " to ") + mission.reward) + " gold pieces!");
};
if (_arg1 == _dialogActSleep){
sound_night.play();
_local2 = new eventWindow();
_local2.card.gotoAndStop(11);
_local2.title.text = "Resting";
_local2.text.text = "The day is finally over! You relax for the first time today and settle down to enjoy the warm, cozy bed.";
};
if (_arg1 == _dialogActHire){
sound_good.play();
_local2 = new eventWindow();
_local2.card.gotoAndStop(7);
_local2.title.text = "Hired Gun";
_local2.text.text = "You've hired a henchman for this mission. Is it really worth the money? You'll find out soon!";
};
if (_arg1 == _dialogRefreshStock){
if (game.ap < 2){
noAp();
return;
};
game.ap = (game.ap - 2);
sound_good.play();
_local2 = new eventWindow();
_local2.card.gotoAndStop(8);
_local2.title.text = "New Goods!";
_local2.text.text = "You start complaining how the selection of goods is limited. After much of fussing, the blacksmith finally gets off his lazy butt, \"Alright, alright, lad. Here're our special stocks.\" They have new goods now!";
exitMenu();
generateShop();
sound_scroll1.play();
menuId = 4;
window2_mc.gotoAndPlay("menu_shop");
window2_mc.x = 1000;
window2_mc.addFrameScript((window2_mc.currentFrame - 1), procShopMenu);
};
if (_arg1 == _dialogRobVisitor){
if (game.ap < 2){
noAp();
return;
};
game.ap = (game.ap - 2);
game.robbed++;
game.robCount++;
sound_gun2.play(0, 8);
_local2 = new eventWindow();
_local2.card.gotoAndStop(6);
_local2.title.text = "Slaughter!";
_local7 = int((((((1 + (game.day * 5)) + (Math.random() * limit(((game.day * 10) + 100), 0, (600 + (PARTY.ROBBER * 10))))) * (100 + PARTY.ROBBER)) / 100) / game.robbed));
if (game.robbed == 1){
_local2.text.text = (("You start firing a gun at women and children. After you have slaughtered them all, you search the ground for money and collect " + _local7) + " gold pieces!");
} else {
_local2.text.text = (("You start firing a gun at women and children AGAIN! There're only few people left in the museum but you manage to collect " + _local7) + " gold pieces.");
};
game.childrenRobbed = (game.childrenRobbed + (int((_local7 / 10)) + 1));
player.money[_pc] = (player.money[_pc] + _local7);
game.totalMoney = (game.totalMoney + _local7);
updateInterface();
};
actionMedal();
updateAp();
_local2.name = "eventWindow";
eventDialog = _arg1;
initPartySkill();
stage.addChild(_local2);
}
public function damageCastle(_arg1, _arg2:int){
var _local3:int;
if (immune){
return;
};
if (protTime > 0){
sound_defend.play(0, 0, soundPos(640));
return;
};
if (((!((_arg1 == undefined))) && (PARTY.GUARDIAN))){
_arg1.damage(PARTY.GUARDIAN, -1, _arg1.x, _arg1.y, PARTY.GUARDIAN_LIST[int((Math.random() * PARTY.GUARDIAN_LIST.length))], false);
};
if (PARTY.INSURANCE){
player.money[_pc] = (player.money[_pc] + PARTY.INSURANCE);
game.totalMoney = (game.totalMoney + PARTY.INSURANCE);
updateGold();
};
if ((Math.random() * 100) < PARTY.DEFENDER){
sound_defend.play(0, 0, soundPos(640));
return;
};
if (((sister.free) && ((sister.dead == false)))){
sister.gotoAndPlay("damage");
};
castleCounter = 10;
blendType = 0;
_arg2 = int((_arg2 * (castleAbsorb() - mission.absorbFix)));
if (_arg2 < 1){
_arg2 = 1;
};
game.castleHP = (game.castleHP - _arg2);
castleHPText.text = ((game.castleHP + "/") + game.castleMHP);
if (Math.random() > 0.6){
_local3 = int((Math.random() * maxAlly));
if ((((((((player.exist[_local3] == true)) && ((player.rampage[_local3] <= 0)))) && (!((CALC.LAST_HOPE(_local3) == 0))))) && ((CALC.LAST_HOPE(_local3) < ((game.castleHP / game.castleMHP) * 100))))){
rampageOn(_local3, (10 * 30));
};
};
}
public function saveIndex(){
var _local2:Object;
var _local1:SharedObject = SharedObject.getLocal("elonas_idx");
if (_local1){
_local2 = _local1.data;
_local2.idx = cloneObj(idx);
_local2.medal = medal;
};
}
public function throwRocket(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8:int, _arg9:int){
var _local10:*;
_arg7 = ((((_arg7 * Math.atan2((Math.abs((_arg5 - _arg3)) * 2), Math.abs((_arg6 - _arg4)))) * 2) / Math.PI) + 1.5);
_local10 = (new bullet_rocket() as MovieClip);
if (((!((_arg1 == hero))) && (!((_arg1 == -1))))){
_arg5 = (_arg5 + (player.target[_arg1].speed * ((_arg3 - _arg5) / (_arg7 * 0.9))));
};
_local10.x = _arg3;
_local10.y = 0;
_local10.a = 0;
_local10.speed = _arg7;
_local10.x2 = _arg3;
_local10.y2 = _arg4;
_local10.x1 = _arg5;
_local10.y1 = _arg6;
_local10.dmg = _arg8;
_local10.chara = _arg1;
_local10.w = _arg2;
_local10.explode = explode;
stage.addChild(_local10);
}
public function searchNextAlert(_arg1){
var _local2:*;
if (((!((nextAlert == undefined))) && ((nextAlert.isDead() == false)))){
_local2 = nextAlert;
player.shooting[_arg1] = false;
player.burst[_arg1] = 0;
player.target[_arg1] = _local2;
player.onMark[_arg1] = true;
_local2.onMark = true;
player.aimCount[_arg1] = int((player.aimTime[_arg1] * (5.5 - (player.target[_arg1].x / 160))));
if (player.aimCount[_arg1] < 3){
player.aimCount[_arg1] = 3;
};
} else {
clearAiTarget(_arg1);
};
}
public function updateAmmoBar(){
if (inventory.num[ci] > 0){
ammobar.scaleX = (inventory.ammo[ci] / inventory.ammoMax[ci]);
ammoText.text = ((("" + inventory.ammo[ci]) + "/") + inventory.ammoMax[ci]);
} else {
ammobar.scaleX = 0;
ammoText.text = "";
};
}
public function max(_arg1, _arg2){
if (_arg1 < _arg2){
return (_arg1);
};
return (_arg2);
}
public function getMedalInfo(_arg1:int){
var _local2:Array = ["null", "null"];
if (_arg1 == _medalDay1){
_local2 = ["Newcomer", "Just play!", "Given when you first play Elona Shooter. It's a free medal!", "No Bonus"];
};
if (_arg1 == _medalDay2){
_local2 = ["Experienced", "Survive 10 days.", "You've survived 10 days. It's not that hard to accomplish it but well.", "+100 GP Starting Money"];
};
if (_arg1 == _medalDay3){
_local2 = ["Survivor", "Survive 20 days.", "You've survived 20 days. You sure know how to kill sheep!", "+200 GP Starting Money"];
};
if (_arg1 == _medalDay4){
_local2 = ["Veteran", "Survive 35 days.", "You've survived 35 days. This is something.", "+300 GP Starting Money"];
};
if (_arg1 == _medalDay5){
_local2 = ["Elite", "Survive 50 days.", "You've survived 50 days! Nice!", "+500 GP Starting Money"];
};
if (_arg1 == _medalDay6){
_local2 = ["Savior", "Survive ?? days.", "You've survived 80 days! You are the savior.", "+750 GP Starting Money"];
};
if (_arg1 == _medalDay7){
_local2 = ["Choosen one", "Survive, survive!", "You've survived 150 days! I don't belive it!", "+1000 GP Starting Money"];
};
if (_arg1 == _medalChicken1){
_local2 = ["Chicken Lover", "Buy 30 chickens.", "You've bought 30 chickens. You love chickens, chickens love you!", "+5% Egg Revenue"];
};
if (_arg1 == _medalChicken2){
_local2 = ["Chicken Prince", "Buy 60 chickens.", "You've bought 60 chickens. You love chickens, chickens love you!", "+15% Egg Revenue"];
};
if (_arg1 == _medalChicken3){
_local2 = ["Chicken King", "Buy lots of chickens!", "You've bought 120 chickens. You love chickens, chickens love you!", "+30% Egg Revenue"];
};
if (_arg1 == _medalSister1){
_local2 = ["Sister Lover", "Get 10 younger sisters.", "You've convinced 10 of your younger sisters to commit suicide bombing. Keep going!", "+10% Bomb Damage"];
};
if (_arg1 == _medalSister2){
_local2 = ["Sister Mania", "Get 20 younger sisters.", "You've convinced 20 of your younger sisters to commit suicide bombing. More sisters!", "+20% Bomb Damage"];
};
if (_arg1 == _medalSister3){
_local2 = ["Sister Master", "You need to become a beast.", "You've convinced 30 of your younger sisters to commit suicide bombing. You are nasty!", "+30% Bomb Damage"];
};
if (_arg1 == _medalNoDamage1){
_local2 = ["Novice Defender", "Score a perfect game.", "You've marked 1 perfect game. Good.", "+1% Castle Wall Absorption"];
};
if (_arg1 == _medalNoDamage2){
_local2 = ["Skilled Defender", "Score 4 perfect games.", "You've marked 4 perfect games. Good good.", "+1% Castle Wall Absorption"];
};
if (_arg1 == _medalNoDamage3){
_local2 = ["Adept Defender", "Score 7 perfect games.", "You've marked 7 perfect games. Great!", "+1% Castle Wall Absorption"];
};
if (_arg1 == _medalNoDamage4){
_local2 = ["Master Defender", "Score perfect games like hell!", "You've marked 10 perfect games. Great! I mean it...really!", "+1% Castle Wall Absorption"];
};
if (_arg1 == _medalClass1){
_local2 = ["Hunter's Award", "Grow your hunter.", "You've made a level 10 hunter.", "Unlocks Ranger Class"];
};
if (_arg1 == _medalClass2){
_local2 = ["Rogue's Award", "Grow your rogue.", "You've made a level 10 rogue.", "Unlocks Duelist Class"];
};
if (_arg1 == _medalClass3){
_local2 = ["Sheriff's Award", "Grow your sheriff.", "You've made a level 10 sheriff.", "Unlocks Noble Class"];
};
if (_arg1 == _medalClass4){
_local2 = ["Militia's Award", "Grow your militia.", "You've made a level 10 militia.", "Unlocks Sniper Class"];
};
if (_arg1 == _medalCritical1){
_local2 = ["Killer", "Score 10 critical hits in one battle.", "You've scored 10 critical kills in a battle. Lucky shots maybe?", "Starting Bonus skill:Luck +1"];
};
if (_arg1 == _medalCritical2){
_local2 = ["Assassin", "Score 30 critical hits in one battle.", "You've scored 30 critical kills in a battle. Fear the assassin!", "Starting Bonus skill:Sense +1"];
};
if (_arg1 == _medalCritical3){
_local2 = ["Unseen Hand", "Critical hits? You wonder what's so special about them.", "You've scored 50 critical kills in a battle. Be thankful you don't have to clean up the mess.", "Starting Bonus skill:Accuracy +2"];
};
if (_arg1 == _medalAction1){
_local2 = ["Prayer", "Pray to your God!", "You've prayed 30 times. You must be a religious person.", "+1 AP chance"];
};
if (_arg1 == _medalAction2){
_local2 = ["Provoker", "Taunt'em!", "You've taunted 20 times. You know lots of slang!", "+1 AP chance"];
};
if (_arg1 == _medalAction3){
_local2 = ["Boomer", "Hold parties. Lots of parties.", "You've held 20 parties. Don't you ever get tired?", "+1 AP chance"];
};
if (_arg1 == _medalAction4){
_local2 = ["Gun Mania", "Don't forget to recycle your gun.", "You've recycled 15 guns. A true ecologist!?", "+15% Modding Bonus"];
};
if (_arg1 == _medalAction5){
_local2 = ["Robber", "Guess what? Rob some people!", "You've robbed 50 times. Everyone hates you!", "Starting Bonus skill:Robber +2"];
};
if (_arg1 == _medalKongregate){
_local2 = ["Kongregate", "Isn't there a banner somewhere?", "You've visited the Kongregate Web. Good for you!", "3% Wage discount"];
};
if (_arg1 == _medalRagnarok){
_local2 = ["Ragnarok Surviver", "Ragnarok is an ancient sword you will find eventually.", "You've survivied Ragnarok. Just unbelievable.", "Starting Bonus skill:Luck +1"];
};
if (_arg1 == _medalFirework){
_local2 = ["Ha-na-bi", "Ha-na-bi means fireworks.", "You've watched fireworks long enough. I hope you had a good relief.", "+25 Fireworks"];
};
if (_arg1 == _medalElona){
_local2 = ["Elonian", "Given when you win the first round.", "You've successfully won the first round of the game. Congratulations!", "You wil be able to import weapons to Elona, someday!"];
};
if (_arg1 == _medalHardcore1){
_local2 = ["Hardcore", "Survive 20 days in Hardcore mode.", "You've survived 20 days in Hardcore Mode. Way to go!", "Starting Bonus skill:Sense +1"];
};
if (_arg1 == _medalHardcore2){
_local2 = ["Ultimate Hardcore", "Survive 40 days in Hardcore mode.", "You've won the first round of the game in Hardcore Mode. You're not a human.", "Starting Bonus Weapon:GravityGun"];
};
if (_arg1 == _medalHardcore3){
_local2 = ["RNG Award", "Survive, survive! And survive in Hardcore mode!", "You've survived 80 days in Hardcore Mode. RNG loves you.", "Starting Bonus skill:Luck +3"];
};
if (game.carryOver == true){
_local2[1] = (_local2[1] + "\nYou don't receive some medals in Carry Over Mode.");
};
return (_local2);
}
public function calcParty(){
return ((game.party * 10));
}
public function procLootMenu(){
var _local1:*;
window2_mc.stop();
window2_mc.popup.visible = false;
window2_mc.warning.visible = false;
if (ce == _eventLootBoss){
window2_mc.lootText.text = (("You've successfully killed " + mission.bossKilled) + " boss(es) therefore received some prizes!");
};
_local1 = 0;
while (_local1 < 8) {
createInvSlot((_invShop + _local1), (140 + (_local1 * 50)), 155, 1);
_local1++;
};
_local1 = 0;
while (_local1 < game.invSlot) {
createInvSlot((_invPlayer + _local1), (140 + (int((_local1 % 8)) * 50)), (224 + (int((_local1 / 8)) * 48)), 1);
_local1++;
};
}
public function search(_arg1){
var _local2:int;
var _local3:*;
var _local4:String;
var _local5:int;
var _local6:*;
var _local7:*;
var _local8:*;
if ((Math.random() * (100 + PARTY.QUICK_EYED)) < 35){
if (Math.random() < 0.15){
_local3 = (0.1 + (Math.random() / 5));
(mission.hpFix + _local3);
sound_search.play();
searchProc(_arg1, "Trouble", (("A fool taunted the enemies and rose their morale. The enemies will have " + int((_local3 * 100))) + "% more HP tomorrow."), []);
return;
};
if (Math.random() < 0.2){
sound_search.play();
searchProc(_arg1, "Chatterbox", "An old lady stops you and delays you with deadly endless chatter. You lose 2 action point.", []);
game.ap = (game.ap - 2);
if (game.ap < 0){
game.ap = 0;
};
return;
};
if ((((Math.random() < 0.05)) && ((game.chicken > 2)))){
sound_search.play();
_local2 = int(((Math.random() * 4) + 2));
if (game.chicken <= _local2){
_local2 = (game.chicken - 1);
};
searchProc(_arg1, "Chickens gone", (("Some crazy chickens broke out of the cage. You lost " + _local2) + " chickens!"), []);
game.chicken = (game.chicken - _local2);
return;
};
if ((((Math.random() < 0.3)) && ((game.castleHP > 1)))){
sound_search.play();
_local2 = int((((Math.random() * game.castleMHP) / 4) + 1));
if (game.castleHP <= _local2){
_local2 = (game.castleHP - 1);
};
searchProc(_arg1, "Disaster", "A cloud of pessimistic mobs gone nuts and destroyed the walls. You need to repair them at once.", []);
game.castleHP = (game.castleHP - _local2);
return;
};
if ((((Math.random() < 0.3)) && ((player.money[_pc] > 0)))){
sound_gold1.play();
_local6 = (int((((Math.random() * 30) * game.day) + 40)) + 2);
if (_local6 > player.money[_pc]){
_local6 = player.money[_pc];
};
searchProc(_arg1, "Thief!", (("You were pickpocketed while you were shopping. You lost " + _local6) + " gold pieces!"), []);
player.money[_pc] = (player.money[_pc] - _local6);
return;
};
if (Math.random() < 0.4){
sound_search.play();
searchProc(_arg1, "Ouch...", "You trip over a stone and lose 1 action point.", []);
game.ap--;
if (game.ap < 0){
game.ap = 0;
};
return;
};
sound_search.play();
searchProc(_arg1, "Fruitless", "You were unable to find anything useful in the town.", []);
return;
};
if (Math.random() < 0.15){
game.train++;
if (game.train < 3){
sound_search.play();
searchProc(_arg1, "Talent", (("While taking a walk, you suddenly realize your hidden potential. You start to develop one of your skills. [Progress:" + game.train) + "/3]"), []);
return;
};
game.train = 0;
_local5 = _pc;
_local7 = listTrait(_local5);
_local2 = _local7[int((Math.random() * _local7.length))];
var _local9 = player.trait[_local5];
var _local10 = _local2;
var _local11 = (_local9[_local10] + 1);
_local9[_local10] = _local11;
_local8 = REF[ID[_local2]](_local5);
sound_search.play();
searchProc(_arg1, "Talent Flowered!", (("It seems you've finally unfolded the potential for one of your skills. You've gained " + _local8[0]) + "!"), []);
return;
};
if (Math.random() < 0.15){
sound_search.play();
game.fame++;
searchProc(_arg1, "Popularity", "It seems you are edging up in popularity. Your fame has been increased by 1.", []);
return;
};
if (Math.random() < 0.22){
sound_search.play();
game.castleMHP++;
searchProc(_arg1, "Good news", "One of the engineers succeeded to fortify the caste walls. The walls now have +1 max HP.", []);
return;
};
if (Math.random() < 0.12){
sound_search.play();
_local2 = (int((Math.random() * 4)) + 2);
searchProc(_arg1, "Free Chicken", (("You find stray chickens. You carefully look around and steal " + _local2) + " chickens."), []);
game.chicken = (game.chicken + _local2);
return;
};
if (Math.random() < 0.2){
sound_search.play();
_local2 = (int((Math.random() * 10)) + 5);
searchProc(_arg1, "Sales Time", "You hear bells. Looking around, you notice that the shops in the plaza are all thronged with customers. It's sale time! The shop's inventory has been restocked.", []);
generateShop();
return;
};
if (Math.random() < 0.15){
sound_search.play();
_local2 = (int((Math.random() * 10)) + 5);
_local4 = "You pick up something valuable on the ground. ";
_local2 = getEmptyInventory(_invPlayer);
if (_local2 == -1){
_local4 = (_local4 + "But your inventory is full...");
} else {
randomStuff(_local2, ((game.day * 100) + 1000), 3);
_local4 = (_local4 + (("" + inventory.name[_local2]) + " added to your inventory!"));
};
searchProc(_arg1, "Gift?", _local4, []);
return;
};
if (Math.random() < 0.25){
sound_search.play();
_local2 = (int((Math.random() * 10)) + 5);
searchProc(_arg1, "Training", (("You come upon a bounch of militias jogging for a training drill. You decided to join up with them. Your party gains " + _local2) + " exp."), []);
_local3 = 0;
while (_local3 < maxAlly) {
player.exp[_local3] = (player.exp[_local3] + (_local2 * 10));
_local3++;
};
return;
};
if (Math.random() < 0.3){
sound_search.play();
searchProc(_arg1, "Rejoice!", "A group of soldiers celebrate you and buy you a drink at the bar. It made you even more determined to win the battle tomorrow. You gain 2 action points.", []);
game.ap = (game.ap + 2);
return;
};
if (Math.random() < 0.15){
sound_search.play();
searchProc(_arg1, "Hero", "As you walk up to the plaza, children and women gather around you to applaud your effort. You gain 3 action points.", []);
game.ap = (game.ap + 3);
return;
};
if (Math.random() < 0.65){
sound_gold1.play();
_local6 = (int((((Math.random() * 10) * limit(game.day, 0, 40)) + 100)) + 2);
searchProc(_arg1, "Look!", (("You found a wallet at the side of the road. You look cautiously round and open the wallet. You get " + _local6) + " gold pieces!"), []);
player.money[_pc] = (player.money[_pc] + _local6);
game.totalMoney = (game.totalMoney + _local6);
return;
};
sound_search.play();
searchProc(_arg1, "Nothing Found", "You wander around the town looking for something but in vein.", []);
}
public function startFire(){
var _local3:*;
if (game.optionFirework == true){
return;
};
var _local1:* = 0;
var _local2:* = 0;
while (_local2 < (48 + (IF(medal[_medalClass1]) * 12))) {
_local3 = new fireWork1();
_local3.x = (50 + (Math.random() * 550));
_local3.y = (10 + (Math.random() * 40));
_local3.delay = _local1;
_local3.name = "fire";
_local1 = (_local1 + (int((Math.random() * 3)) + 2));
stage.addChild(_local3);
_local2++;
};
sound_firework.play(0, (4 + (IF(medal[_medalClass1]) * 1)));
fireworkCount = 650;
}
public function generateLoot(){
var _local1:int;
var _local2:int;
clearGameInv();
_local2 = 0;
while (_local2 < mission.loot.length) {
if (_local2 > 7){
break;
};
if ((((Math.random() > 0.2)) || ((mission.loot[_local2] > 1000)))){
if (mission.loot[_local2] > 1000){
mission.loot[_local2] = (mission.loot[_local2] - 1000);
};
generateStuff((_invShop + _local2), mission.loot[_local2]);
} else {
_local1 = ((game.day * 40) + 250);
_local1 = int((_local1 * looterFix()));
randomStuff((_invShop + _local2), _local1, 1);
};
_local2++;
};
}
public function procLevel(){
var _local1:*;
var _local2:*;
cs = -1;
_local1 = listTrait2(_pc);
window2_mc.stop();
i = 0;
while (i < _local1.length) {
radio_mc[i] = (new radioButton() as MovieClip);
radio_mc[i].x = 158;
radio_mc[i].y = (206 + (i * 20));
radio_mc[i].id = _local1[i];
traitLvFix = 1;
_local2 = REF[ID[radio_mc[i].id]](_pc);
radio_mc[i].txt.text = _local2[0];
radio_mc[i].dummy.mouseEnabled = false;
window2_mc.addChild(radio_mc[i]);
radio_mc[i].gotoAndStop(1);
radioCount++;
i++;
};
updateLevel();
}
public function removeAlly(){
i = 0;
while (i < maxAlly) {
player.target[i] = undefined;
player.aiFunc[i] = undefined;
if (stage.getChildByName(player_mc[i].name)){
stage.removeChild(player_mc[i]);
};
if (stage.getChildByName(cursor_mc[i].name)){
stage.removeChild(cursor_mc[i]);
};
i++;
};
}
public function stuffGetValue(_arg1:int, _arg2:int){
var _local3:int;
_local3 = inventory.value[_arg1];
if (_arg2){
} else {
if (inventory.type[_arg1] != _typeSell){
_local3 = int((_local3 / 5));
};
};
return (_local3);
}
public function resetBG(){
bg.transform.colorTransform = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
cloud.transform.colorTransform = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
}
public function gainTrait(_arg1:int, _arg2:Boolean){
var _local6:int;
var _local10:int;
var _local11:String;
var _local3:* = listTrait(_arg1);
var _local4:int;
var _local5:* = [];
var _local7:Boolean;
var _local8:int;
var _local9:int;
_local4 = TRAIT.ACCURACY;
_local6 = 0;
while (_local6 < 10) {
_local10 = _local3[int((Math.random() * _local3.length))];
_local11 = ID[_local10];
if (traitRef[_local10].maxLv != 999){
_local9 = (100 + (player.trait[_arg1][_local10] * 50));
} else {
if (traitRef[_local10].reqLv == 2){
_local9 = 0;
};
if (Math.random() > 0.75){
_local9 = (_local9 + 500);
};
};
if (_arg1 < maxParty){
if (PARTY[_local11] != undefined){
if ((PARTYLV[_local11] - 3) <= player.trait[_arg1][_local10]){
_local9 = (110 + (player.trait[_arg1][_local10] * 50));
} else {
_local9 = 10;
};
};
};
if (_local10 == TRAIT.CAPABLE){
_local9 = 0;
};
_local9 = int((_local9 * Math.random()));
if (_local9 > _local8){
_local4 = _local10;
_local8 = _local9;
};
_local6++;
};
if (player.forcus[_arg1] != -1){
_local6 = 0;
while (_local6 < _local3.length) {
if (player.forcus[_arg1] == _local3[_local6]){
_local7 = true;
if (int((Math.random() * 3)) == 0){
break;
};
_local4 = _local3[_local6];
break;
};
_local6++;
};
};
if ((((((player.devType[_arg1] == _devNoble)) || ((player.devType[_arg1] == _devRogue)))) || ((player.devType[_arg1] == _devRanger)))){
if ((((PARTY.ACTIVE < 2)) && ((CALC.ACTIVE(_arg1) == 0)))){
_local4 = TRAIT.ACTIVE;
};
};
if (_local7 == false){
player.forcus[_arg1] = -1;
};
var _local12 = player.trait[_arg1];
var _local13 = _local4;
var _local14 = (_local12[_local13] + 1);
_local12[_local13] = _local14;
player.nextTrait[_arg1] = int((Math.random() * 100));
_local5 = REF[ID[_local4]](_arg1);
if (_arg2){
news = (news + (((player.name[_arg1] + " gains ") + _local5[0]) + ".\n"));
};
}
public function deleteIndex(){
var _local1:SharedObject = SharedObject.getLocal("elonas_idx");
_local1.clear();
}
public function mouseOverHandler(_arg1:MouseEvent):void{
if (gamePaused){
return;
};
Mouse.hide();
}
public function removeRadio(){
var _local1:*;
_local1 = 0;
while (_local1 < radioCount) {
window2_mc.removeChild(radio_mc[_local1]);
_local1++;
};
}
public function EnterFrame_loader(_arg1){
if (debugLoader){
loaded = (loaded + (info.bytesTotal / 100));
} else {
loaded = info.bytesLoaded;
};
perText.text = (("" + int(((loaded * 100) / info.bytesTotal))) + "%");
loadBar.width = ((loaded * 234) / info.bytesTotal);
lady.x = (loadBar.x + ((210 * loaded) / info.bytesTotal));
if (loaded >= info.bytesTotal){
i = 0;
while (i < validUrl.length) {
if (info.url.indexOf(validUrl[i]) != 0){
lady.done = true;
stage.removeEventListener(Event.ENTER_FRAME, EnterFrame_loader);
stage.removeEventListener(MouseEvent.MOUSE_DOWN, MouseLDown_loader);
gotoAndStop("logo");
return;
};
i++;
};
stage.removeEventListener(Event.ENTER_FRAME, EnterFrame_loader);
return;
};
}
public function calcDuelistMaxDamage(_arg1:int){
return (int(((40 + (Math.sqrt(_arg1) * 1.6)) + _arg1)));
}
public function shakeFrame(){
shakeCount--;
shakeRange = (shakeRange * shakeDec);
if (shakeDirX == 1){
shakeStrX = (shakeStrX + (shakeRange / 4));
} else {
shakeStrX = (shakeStrX - (shakeRange / 4));
};
if (shakeDirY == 1){
shakeStrY = (shakeStrY + (shakeRange / 4));
} else {
shakeStrY = (shakeStrY - (shakeRange / 4));
};
shakeX = (shakeX + (shakeStrX * shakeDirX));
if (shakeX > shakeRange){
shakeX = shakeRange;
shakeDirX = (shakeDirX * -1);
};
if (shakeX < (shakeRange * -1)){
shakeX = (shakeRange * -1);
shakeDirX = (shakeDirX * -1);
};
shakeY = (shakeY + (shakeStrY * shakeDirY));
if (shakeY > shakeRange){
shakeY = shakeRange;
shakeDirY = (shakeDirY * -1);
};
if (shakeY < (shakeRange * -1)){
shakeY = (shakeRange * -1);
shakeDirY = (shakeDirY * -1);
};
root.x = shakeX;
root.y = shakeY;
if (shakeCount <= 0){
root.x = 0;
root.y = 0;
};
}
public function aiArmor(_arg1:int, _arg2:int){
var _local3:int;
var _local4:*;
_local3 = 0;
while (_local3 < 3) {
_local4 = aiTarget[_armor][weaponRange[_arg2][_local3]][0];
if (_local4 != undefined){
aiTarget[_armor][weaponRange[_arg2][_local3]] = [undefined, 1000];
_local4.tag = _defTag;
return (_local4);
};
_local3++;
};
return (undefined);
}
public function EnterFrame_logo(_arg1){
if (logo.currentFrame > 170){
stage.removeEventListener(Event.ENTER_FRAME, EnterFrame_logo);
stage.removeEventListener(MouseEvent.MOUSE_DOWN, MouseLDown_logo);
gotoAndStop("init");
return;
};
}
public function exitMenuResult(){
var _local1:int;
stage.focus = stage;
currentPop = -1;
currentHint = -1;
delay = 0;
cs = _pc;
drag = false;
equipMode = 0;
if (ce == _eventClear){
removeEnemy();
gamePaused = false;
immune = false;
resultMedal();
};
if ((((ce == _eventLoot)) || ((ce == _eventLootBoss)))){
removeInvSlot();
removeInvIcon();
window2_mc.popup.visible = false;
};
if (ce == _eventMode){
updateInterface();
gameStart();
};
if (ce == _eventGene){
game.casual = window2_mc.optCasual.selected;
game.HC = window2_mc.optHC.selected;
if (game.HC == true){
game.casual = false;
};
removeStats();
updateInterface();
_local1 = 0;
while (_local1 < _maxPic) {
window2_mc.removeChild(pic_mc[_local1]);
_local1++;
};
window2_mc.hint.visible = false;
removeRadio();
gameStart();
};
if (ce == _eventLevel){
removeRadio();
};
radioCount = 0;
invSlotCount = 0;
invIconCount = 0;
statsCount = 0;
medalCount = 0;
upgradeCount = 0;
radioCount = 0;
page = 0;
cs = 0;
}
public function listTrait2(_arg1:int){
var _local7:*;
var _local2:* = [];
var _local3:* = listTrait(_arg1);
var _local4:int;
var _local5:int;
var _local6:int;
_local4 = 0;
while (_local4 < (3 + CALC.CAPABLE(_arg1))) {
_local5 = -1;
if ((((((_local4 == 0)) && ((_arg1 == _pc)))) && (!((player.forcus[_arg1] == -1))))){
_local7 = 0;
while (_local7 < _local3.length) {
if (player.forcus[_arg1] == _local3[_local7]){
if (Math.random() > 0.5){
break;
};
_local5 = _local7;
};
_local7++;
};
};
if (_local5 == -1){
_local5 = int((Math.random() * _local3.length));
};
_local6++;
if (_local6 > 2000){
_local2[_local4] = TRAIT[devGroup[player.devType[_arg1]][_local4]];
} else {
if (_local3[_local5] == -1){
_local4--;
} else {
if (traitRef[_local3[_local5]].maxLv < (player.trait[_arg1][_local3[_local5]] + 1)){
_local4--;
} else {
_local2[_local4] = _local3[_local5];
_local3[_local5] = -1;
};
};
};
_local4++;
};
return (_local2);
}
public function updateUpgradeHint(){
var _local2:String;
upgradeHint[0] = ["This will completely fix the castle wall.", ""];
upgradeHint[1] = ["Each level of the wall upgrade gives you +5 more max hit points.", (("(Currently, " + game.castleMHP) + " MHP)")];
upgradeHint[2] = ["Stronger sandbags will absorb more damage done to the wall.", (("(Currently, sandbag will absorb " + int((100 - (castleAbsorb() * 100)))) + "% damage)")];
upgradeHint[3] = ["Buying this upgrade gives you +1 extra inventory slot.", (("(Currently, you have " + game.invSlot) + " inventory slots)")];
upgradeHint[4] = ["For each house built, you can hire +1 more troop.", (("(Currently, you can hire " + game.house) + " people)")];
upgradeHint[5] = ["The more looters you have, the more chance of looting valuable stuff you will have.", (("(Currently, looted items's value will be " + int(((looterFix() * 100) - 100))) + "% higher)")];
upgradeHint[6] = ["Repairers will slowly fix the castle wall during a battle between waves.", (("(Currently, they can fix " + castleRepair()) + " HP per wave)")];
upgradeHint[7] = ["With more trainers, your troops will gain experience a lot faster.", (("(Currently, your troops get " + int(((trainerFix() * 100) - 100))) + "% more EXP)")];
upgradeHint[8] = ["The shop will show more items with the upgrade.", (("(Currently, the shop will produce +" + game.smith) + " more stuff)")];
upgradeHint[9] = ["If upgraded, the museum will produce money each day depending on the No. of medals you have.", (("(Currently, the museum produces " + int(((museumFix() * 100) - 100))) + "% more money)")];
upgradeHint[10] = ["Chickens will produce some eggs! You can collect them and sell them each day.", (("(Currently, you have " + game.chicken) + " chickens)")];
upgradeHint[11] = ["Terror from the sky! You can convince some of your younger sisters into suicide bombing.", (("(Currently, you have " + game.sister) + " sisters to launch)")];
upgradeHint[12] = ["When purchased, you will be able to hold a party afther a battle to gain damage bonus next day.", (("(Currently, " + calcParty()) + "% damage bonus)")];
upgradeHint[13] = ["Those special trainers can improve your skills. Number of sessions you can take depends on the upgrade level.", (("(Currently, " + game.spTrainer) + " sessions per unit)")];
if (kongregate == 0){
upgradeHint[7] = ["Upgradable in Kongregate Version. Clicking it will open the link.", (("(Currently, your troops get " + int(((trainerFix() * 100) - 100))) + "% more EXP)")];
};
var _local1:* = 1;
while (_local1 < 16) {
_local2 = upgradeRef[_local1];
if (_local1 > 13){
upgradeHint[_local1] = ["[ Not available yet ]", ""];
} else {
if (game[_local2] == 0){
upgradeHint[_local1] = [upgradeHint[_local1][0], "[ You haven't acquired this upgrade yet ]"];
};
};
_local1++;
};
}
public function upgradeMedal(){
if (game.carryOver == true){
return;
};
if (game.chicken > 30){
getMedal(_medalChicken1);
};
if (game.chicken > 60){
getMedal(_medalChicken2);
};
if (game.chicken > 120){
getMedal(_medalChicken3);
};
if (game.sister > 10){
getMedal(_medalSister1);
};
if (game.sister > 20){
getMedal(_medalSister2);
};
if (game.sister > 30){
getMedal(_medalSister3);
};
}
public function clearTarget(){
var _local1:int;
var _local2:int;
_local1 = 0;
while (_local1 < _maxTarget) {
_local2 = 0;
while (_local2 < 3) {
aiTarget[_local1][_local2] = [undefined, 1000];
_local2++;
};
_local1++;
};
}
public function mouseDownFunc(_arg1:MouseEvent){
var _local2:int;
var _local3:int;
var _local4:*;
_local2 = stage.mouseX;
_local3 = stage.mouseY;
stage.focus = stage;
if (vol.hitTestPoint(_local2, _local3, true)){
toggleMute();
return;
};
if (gamePaused){
if (gameOver){
if (((gameoverLogo.playMoreButton.hitTestPoint(_local2, _local3, true)) && ((gameoverLogo.alpha > 0.8)))){
kongregateLink();
};
if (((gameoverLogo.gameoverButton.hitTestPoint(_local2, _local3, true)) && ((gameoverLogo.alpha > 0.8)))){
sound_click1.play();
gameOver = false;
gamePaused = false;
exitBattle();
amb.stop();
gotoAndPlay("init");
};
if ((((((((game.HC == false)) && ((gameoverLogo.carryOver.visible == true)))) && (gameoverLogo.carryOver.carryOverButton.hitTestPoint(_local2, _local3, true)))) && ((gameoverLogo.alpha > 0.8)))){
sound_click1.play();
gameOver = false;
gamePaused = false;
exitBattle();
amb.stop();
stage.focus = stage;
gameContinued = true;
_local4 = (player.money[_pc] + 100);
loadGame();
player.money[_pc] = _local4;
game.carryOver = true;
removeChild(gameoverLogo);
gotoAndStop("town");
};
return;
};
pauseProc();
return;
};
if (menuButton.hitTestPoint(_local2, _local3, true)){
pauseMenu();
return;
};
if (mouseY > menuLine){
return;
};
if (_pc != hero){
return;
};
if (((((inventory.reloadTime[ci]) && (inventory.manualReload[ci]))) && ((inventory.autoReload[ci] == 0)))){
cancelReload(_pc, ci);
return;
};
player.shooting[_pc] = true;
}
public function generateSpecialLoot(){
if (Math.random() > 0.97){
mission.loot.push((38 + 1000));
};
if ((game.day % 8) == 5){
mission.loot.push((37 + 1000));
};
if ((game.day % 6) == 3){
mission.loot.push((35 + 1000));
};
if ((game.day % 40) == 1){
mission.loot.push((_rat + 1100));
};
if ((game.day % 40) == 2){
mission.loot.push((_sheep + 1100));
};
if ((game.day % 40) == 4){
mission.loot.push((_archer + 1100));
};
if ((game.day % 40) == 6){
mission.loot.push((_crow + 1100));
};
if ((game.day % 40) == 9){
mission.loot.push((_fly + 1100));
};
if ((game.day % 40) == 11){
mission.loot.push((_barb + 1100));
};
if ((game.day % 40) == 14){
mission.loot.push((_lava + 1100));
};
if ((game.day % 40) == 17){
mission.loot.push((_cata + 1100));
};
if ((game.day % 40) == 20){
mission.loot.push((_spider + 1100));
};
if ((game.day % 40) == 23){
mission.loot.push((_ghost + 1100));
};
if ((game.day % 40) == 26){
mission.loot.push((_ogre + 1100));
};
if ((game.day % 40) == 29){
mission.loot.push((_knight + 1100));
};
if ((game.day % 40) == 32){
mission.loot.push((_bird + 1100));
};
if ((game.day % 40) == 35){
mission.loot.push((_tank + 1100));
};
if ((game.day % 40) == 38){
mission.loot.push((_dino + 1100));
};
if ((game.day % 40) == 39){
mission.loot.push((_dragon + 1100));
};
}
public function generateMission(_arg1:int){
var _local2:* = int(((_arg1 % lvCycle) + (int((_arg1 / lvCycle)) * 3)));
initPartySkill();
mission.level = _arg1;
mission.fixedLv = _local2;
mission.strength = (0 + (int((_arg1 / lvCycle)) * 200));
if (game.casual == true){
mission.power = ((500 + (_local2 * 30)) + (_arg1 * 60));
} else {
mission.power = ((800 + (_local2 * 50)) + (_arg1 * 70));
};
if ((((game.MORE == true)) && ((game.day < 10)))){
mission.power = (mission.power + (400 - (game.day * 25)));
};
mission.powerOrg = mission.power;
mission.reward = int((((600 + (_arg1 * 20)) * (100 + PARTY.NEGOTIATOR)) / 100));
mission.hire = false;
mission.ragnarok = false;
mission.wave = 5;
if (_local2 > 10){
mission.wave++;
};
if (_local2 > 20){
mission.wave++;
};
if (_local2 > 30){
mission.wave++;
};
if (_local2 > 35){
mission.wave++;
};
mission.spawnRate = limit((15 - (_local2 / 5)), 5, 15);
mission.group = [];
mission.waveType = _waveNormal;
mission.loot = [];
generateSpecialLoot();
mission.newWave = true;
mission.time = 30;
if (((((_local2 % 10) == 9)) && ((_local2 > 8)))){
mission.wave = (6 + int((_local2 / 10)));
mission.bossDay = true;
mission.bossWave = (mission.wave - 1);
} else {
mission.bossDay = false;
mission.bossWave = (2 + int(((Math.random() * mission.wave) / 3)));
if (_arg1 == 0){
mission.bossWave = 2;
};
};
mission.note = "";
mission.hpFix = 1;
mission.dmgFix = 1;
mission.expFix = 1;
mission.absorbFix = 0;
mission.bossKilled = 0;
mission.noDamage = true;
mission.criticalCount = 0;
mission.resultOther = 0;
if (medal[_medalNoDamage1]){
mission.absorbFix = (mission.absorbFix + 0.01);
};
if (medal[_medalNoDamage2]){
mission.absorbFix = (mission.absorbFix + 0.01);
};
if (medal[_medalNoDamage3]){
mission.absorbFix = (mission.absorbFix + 0.01);
};
if (medal[_medalNoDamage4]){
mission.absorbFix = (mission.absorbFix + 0.01);
};
}
public function cloneObj(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
if (_arg1.length != undefined){
_local2 = new Array();
_local3 = 0;
while (_local3 < _arg1.length) {
if (typeof(_arg1[_local3]) == "object"){
_local2[_local3] = cloneObj(_arg1[_local3]);
} else {
_local2[_local3] = _arg1[_local3];
};
_local3++;
};
} else {
_local2 = new Object();
for (_local4 in _arg1) {
if (typeof(_arg1[_local4]) == "object"){
_local2[_local4] = cloneObj(_arg1[_local4]);
} else {
_local2[_local4] = _arg1[_local4];
};
};
};
return (_local2);
}
public function select_init(_arg1:int, _arg2:int){
selectBaseX = _arg1;
selectBaseY = _arg2;
selectID = 0;
}
public function rampageOn(_arg1:int, _arg2:int){
if (_arg1 == _pc){
text_effect("Rampage!!");
blendType = 0;
blendCounter = (blendCounter + 15);
bottomBar.gotoAndStop(2);
shake(40, 1.5, 1);
};
sound_rampage.play(0, 0, trans[_arg1]);
player.rampage[_arg1] = int(((_arg2 * (100 + CALC.FURY(_arg1))) / 100));
var _local3:* = (new ef_rampage() as MovieClip);
_local3.name = "rampage";
_local3.y = 18;
if (player_mc[_arg1].getChildByName("rampage") == null){
player_mc[_arg1].addChild(_local3);
};
}
public function procCastleMenu(){
defHint = "\nYou can change pages by cliking the side tab.";
window2_mc.stop();
window2_mc.anime = true;
window2_mc.hint.visible = false;
window2_mc.actRef1.mouseEnabled = false;
updateCastleMenu();
if (window2_mc.page1.hasEventListener(MouseEvent.MOUSE_DOWN) == false){
window2_mc.page1.addEventListener(MouseEvent.MOUSE_DOWN, pageChange(0));
};
if (window2_mc.page2.hasEventListener(MouseEvent.MOUSE_DOWN) == false){
window2_mc.page2.addEventListener(MouseEvent.MOUSE_DOWN, pageChange(1));
};
}
public function looterFix(){
return (((game.looter == 0)) ? 1 : (1.05 + (game.looter * 0.08)));
}
public function MouseLDown_logo(_arg1:MouseEvent){
var request:URLRequest;
var event = _arg1;
if (logo.bt.hitTestPoint(mouseX, mouseY, false)){
request = new URLRequest("http://kongregate.com/");
try {
navigateToURL(request);
} catch(e:Error) {
};
};
}
public function hint(){
var _local1:Boolean;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
if (orderIsOpen){
return;
};
if (window2_mc.animeTime){
return;
};
if (delay < 5){
return;
};
_local1 = false;
_local2 = window2_mc.getObjectsUnderPoint(new Point(mouseX, mouseY));
_local3 = 0;
while (_local3 < _local2.length) {
_local4 = _local2[_local3].parent;
if (_local4.hasOwnProperty("hintTxt")){
_local5 = window2_mc.hint;
_local1 = true;
_local5.alpha = 1;
hintCount = 20;
if (currentHint == _local4){
break;
};
currentHint = _local4;
if (_local4.hintTxt[3] == ""){
_local5.maxText.visible = false;
} else {
_local5.maxText.visible = true;
_local5.maxText.text = ("Maxed at " + _local4.hintTxt[3]);
};
if (_local4.hintTxt[4] == ""){
_local5.typeText.visible = false;
} else {
_local5.typeText.visible = true;
_local5.typeText.text = _local4.hintTxt[4];
};
_local5.itemName.text = _local4.hintTxt[0];
_local5.itemDesc.text = _local4.hintTxt[1];
_local5.itemDesc2.text = _local4.hintTxt[2];
window2_mc.setChildIndex(window2_mc.hint, (window2_mc.numChildren - 1));
window2_mc.hint.visible = true;
};
_local3++;
};
if (_local1 == false){
hintCount--;
if (hintCount < 0){
window2_mc.hint.visible = false;
currentHint = -1;
} else {
if (hintCount < 10){
window2_mc.hint.alpha = (window2_mc.hint.alpha - 0.1);
};
};
};
}
public function updateInterface(){
updateAmmoBar();
updateGold();
updateLv();
updateDay();
updateHP();
updateCi();
}
public function allRemoveChild(_arg1:MovieClip):void{
var _local4:*;
var _local2:uint = _arg1.numChildren;
var _local3:uint;
while (_local3 < _local2) {
_local2 = _arg1.numChildren;
if (_local3 >= _local2){
break;
};
_local4 = _arg1.getChildAt(_local3);
if ((_local4 is MovieClip)){
_arg1.removeChild(_local4);
_local3 = 0;
};
_local3++;
};
}
public function removeStats(){
var _local1:*;
_local1 = 0;
while (_local1 < statsCount) {
window2_mc.removeChild(stats_mc[_local1]);
_local1++;
};
}
public function castleRepair(){
return ((game.repair * 2));
}
public function endRampage(_arg1:int){
if (_arg1 == _pc){
bottomBar.gotoAndStop(1);
};
if (player_mc[_arg1].getChildByName("rampage") != null){
player_mc[_arg1].removeChild(player_mc[_arg1].getChildByName("rampage"));
};
}
public function eventAfterBattle(){
var _local1:int;
eventList.push(_eventEnd);
_local1 = 0;
while (_local1 < maxAlly) {
if (player.exist[_local1] == false){
} else {
player.exp[_local1] = (player.exp[_local1] + 250);
if (player.exp[_local1] >= 1000){
levelUp(_local1, true);
};
};
_local1++;
};
news = (news + "\n");
_local1 = 0;
while (_local1 < maxAlly) {
if (player.exist[_local1] == false){
} else {
wexpUp(_local1);
while (player.sp[_local1] > 0) {
if (_local1 == _pc){
eventList.push(_eventLevel);
} else {
gainTrait(_local1, true);
};
var _local2 = player.sp;
var _local3 = _local1;
var _local4 = (_local2[_local3] - 1);
_local2[_local3] = _local4;
};
};
_local1++;
};
if (mission.bossKilled){
eventList.push(_eventLootBoss);
};
if (mission.loot.length > 0){
eventList.push(_eventLoot);
};
eventList.push(_eventClear);
gamePaused = false;
news = (news + "\n");
}
public function generateLootBoss(){
var _local1:int;
clearGameInv();
var _local2:* = 0;
while (_local2 < (int((mission.bossKilled / 2)) + 1)) {
if (_local2 > 7){
break;
};
_local1 = ((game.day * 60) + 500);
_local1 = int((_local1 * looterFix()));
if ((((game.optionBossDropMod == true)) || ((Math.random() > 0.8)))){
randomStuff((_invShop + _local2), _local1, 3);
} else {
randomStuff((_invShop + _local2), _local1, 2);
};
_local2++;
};
}
public function aiFireAtWill(_arg1:int, _arg2:int){
var _local3:int;
var _local4:int;
var _local5:*;
_local4 = 0;
while (_local4 < 3) {
_local3 = 0;
while (_local3 < 3) {
if (aiTarget[_local4][weaponRange[_arg2][_local3]][0] != undefined){
_local5 = aiTarget[_local4][weaponRange[_arg2][_local3]][0];
aiTarget[_local4][weaponRange[_arg2][_local3]] = [undefined, 1000];
_local5.tag = _defTag;
return (_local5);
};
_local3++;
};
_local4++;
};
return (undefined);
}
public function getUpgradeCost(_arg1:int){
var _local2:String;
var _local3:int;
_local2 = upgradeRef[_arg1];
_local3 = 150;
if (_local2 == "wallFix"){
_local3 = (8 * (game.castleMHP - game.castleHP));
};
if (_local2 == "wallUpgrade"){
_local3 = (((game.castleMHP * game.castleMHP) / 2.5) - 400);
};
if (_local2 == "storage"){
_local3 = ((((game.invSlot - 4) * (game.invSlot - 4)) * 30) + 250);
};
if (_local2 == "house"){
_local3 = (((game.house * game.house) * 1000) + 1000);
};
if (_local2 == "looter"){
_local3 = (((game.looter * game.looter) * 125) + 300);
};
if (_local2 == "repair"){
_local3 = (((game.repair * game.repair) * 250) + 700);
};
if (_local2 == "trainer"){
_local3 = (((game.trainer * game.trainer) * 180) + 250);
};
if (_local2 == "smith"){
_local3 = (((game.smith * game.smith) * 80) + 200);
};
if (_local2 == "sandbag"){
_local3 = (((game.sandbag * game.sandbag) * 240) + 1000);
};
if (_local2 == "museum"){
_local3 = (((game.museum * game.museum) * 150) + 2000);
};
if (_local2 == "chicken"){
_local3 = ((int(Math.sqrt(((game.chicken * game.chicken) * 20))) + 20) + (game.chicken * 2.5));
};
if (_local2 == "sister"){
_local3 = ((game.sister * 100) + 250);
};
if (_local2 == "party"){
_local3 = (((game.party * game.party) * 180) + 2500);
};
if (_local2 == "spTrainer"){
_local3 = (((game.spTrainer * game.spTrainer) * 400) + 2500);
};
if (_local2 == "na"){
_local3 = 0;
};
if ((((_local2 == "trainer")) && ((kongregate == 0)))){
_local3 = -1;
};
if ((((_local2 == "storage")) && ((game.invSlot >= 16)))){
_local3 = 0;
};
if ((((_local2 == "house")) && ((game.house >= 3)))){
_local3 = 0;
};
if ((((_local2 == "smith")) && ((game.smith >= 6)))){
_local3 = 0;
};
if ((((_local2 == "sandbag")) && ((game.sandbag >= 10)))){
_local3 = 0;
};
if ((((_local2 == "spTrainer")) && ((game.spTrainer >= 9)))){
_local3 = 0;
};
return (int(_local3));
}
public function select_add(_arg1:String){
var _local2:MovieClip = buttonArray[selectID];
_local2.x = selectBaseX;
_local2.y = (selectBaseY + (selectID * 26));
_local2.selectText.text = _arg1;
_local2.transButton.x = 0;
_local2.transButton.y = 0;
stage.addChild(_local2);
selectID++;
}
public function exitResult(){
stage.removeEventListener(MouseEvent.MOUSE_DOWN, MouseLDownFunc_result);
removeEventListener(Event.ENTER_FRAME, onEnterFrame_result);
if (((!((ce == _eventGene))) && (!((ce == _eventMode))))){
removeAlly();
};
}
public function fillAmmo(){
var _local1:int;
var _local2:int;
var _local3:*;
_local1 = 0;
while (_local1 < maxAlly) {
_local2 = weapon(_local1);
if (_local1 == _pc){
_local3 = _invPlayer;
while (_local3 < (game.invSlot + _invPlayer)) {
if (inventory.type[_local3] != _typeUse){
inventory.reloadTime[_local3] = 0;
inventory.ammo[_local3] = inventory.ammoMax[_local3];
};
_local3++;
};
} else {
if (inventory.type[_local2] != _typeUse){
inventory.reloadTime[_local2] = 0;
inventory.ammo[_local2] = inventory.ammoMax[_local2];
};
};
_local1++;
};
}
public function generateHenchman(){
var _local1:* = maxParty;
var _local2:* = (_invAlly + maxParty);
generatePlayer(_local1, (10 + game.day), _devMilitia);
generateStuff(_local2, 21);
player.trait[_local1][TRAIT.BIG_GUN] = 40;
player.ai[_local1] = _aiFireAtWill;
player.optBoss[_local1] = false;
player.optWall[_local1] = true;
}
public function procEquipMenu(){
defHint = "\nDrag & drop to move items or change equipment.";
window2_mc.stop();
window2_mc.anime = true;
window2_mc.popup.visible = false;
window2_mc.warning.visible = false;
window2_mc.actRef1.mouseEnabled = false;
window2_mc.actRef2.mouseEnabled = false;
window2_mc.actHelp.visible = false;
updateEquipSlots();
}
public function shake(_arg1:int, _arg2:int, _arg3){
shakeCount = _arg1;
shakeRange = _arg2;
shakeDec = _arg3;
shakeX = 0;
shakeY = 0;
shakeStrX = (shakeRange / 2);
shakeStrY = (shakeRange / 2);
shakeDirX = 1;
shakeDirY = 1;
if (Math.random() > 0.5){
shakeDirX = (shakeDirX * -1);
};
if (Math.random() > 0.5){
shakeDirY = (shakeDirY * -1);
};
}
public function onEnterFrame_title(_arg1:Event){
var _local2:MovieClip;
idx.slot = saveBox.selectedItem.data;
if (shakeCount){
shakeFrame();
};
cloud.x = (cloud.x - 0.5);
if (cloud.x < -1280){
cloud.x = 0;
};
t++;
if ((((t >= 20)) && ((t <= 30)))){
newGameButton.y = (newGameButton.y + 25);
newGameButtonOrgX = newGameButton.x;
};
if ((((t >= 29)) && ((t <= 39)))){
_local2 = new effect();
_local2.x = ((Math.random() * 100) + 250);
_local2.y = ((Math.random() * 10) + 245);
_local2.gotoAndPlay("impact1");
stage.addChild(_local2);
newGameButton.x = ((newGameButtonOrgX + (Math.random() * 2)) - (Math.random() * 2));
if (t == 29){
sound_impact1.play();
shake(20, 5, 0.9);
};
};
if ((((t >= 25)) && ((t <= 39)))){
continueButton.y = (continueButton.y + 25);
continueButtonOrgX = continueButton.x;
};
if ((((t >= 38)) && ((t <= 48)))){
_local2 = new effect();
_local2.x = ((Math.random() * 100) + 250);
_local2.y = ((Math.random() * 10) + 295);
_local2.gotoAndPlay("impact1");
stage.addChild(_local2);
continueButton.x = ((continueButtonOrgX + (Math.random() * 2)) - (Math.random() * 2));
if (t == 38){
sound_impact1.play();
shake(20, 5, 0.9);
};
};
if ((((t >= 30)) && ((t <= 48)))){
helpButton.y = (helpButton.y + 25);
helpButtonOrgX = helpButton.x;
};
if ((((t >= 47)) && ((t <= 57)))){
_local2 = new effect();
_local2.x = ((Math.random() * 80) + 250);
_local2.y = ((Math.random() * 10) + 345);
_local2.gotoAndPlay("impact1");
stage.addChild(_local2);
helpButton.x = ((helpButtonOrgX + (Math.random() * 2)) - (Math.random() * 2));
if (t == 47){
sound_impact1.play();
shake(30, 5, 0.9);
};
};
i = 0;
while (i < _maxRunner) {
if (t == 50){
runner_mc[i].gotoAndPlay("run");
};
if ((((t >= 50)) && ((t < 95)))){
runner_mc[i].x = (runner_mc[i].x + (0.25 + (runner_speed[i] / 8)));
};
if (t == (98 + i)){
runner_mc[i].gotoAndPlay("notice");
};
if (t == 130){
runner_mc[i].gotoAndPlay("run");
};
if (t >= 130){
if (runner_mc[i].dead == false){
runner_mc[i].x = (runner_mc[i].x - runner_speed[i]);
};
};
if (t > 150){
if (runner_mc[i].x > (480 - ((t - 150) * 5))){
if (runner_mc[i].dead == false){
_local2 = new effect();
_local2.x = runner_mc[i].x;
_local2.y = (runner_mc[i].y - 5);
_local2.gotoAndPlay("blood1");
stage.addChild(_local2);
runner_mc[i].dead = true;
runner_mc[i].gotoAndPlay("dead");
};
};
};
i++;
};
if ((((((t >= 150)) && ((t < 230)))) && ((int((t % 2)) == 0)))){
_local2 = new effect();
_local2.x = ((480 - ((t - 150) * 5)) + (Math.random() * 15));
_local2.y = ((Math.random() * 200) + 160);
_local2.gotoAndPlay("impact1");
stage.addChild(_local2);
};
}
public function procResult(){
var _local1:*;
if (toTownMenu){
_local1 = window3_mc;
_local1.procButton.visible = false;
_local1.mc_playMore.visible = false;
_local1.mc_playMore.mouseEnabled = false;
} else {
_local1 = window2_mc;
_local1.procButton.visible = true;
_local1.mc_playMore.visible = true;
_local1.mc_playMore.mouseEnabled = true;
};
_local1.stop();
_local1.field.text = getNews();
_local1.field.editable = false;
_local1.before.text = ("" + mission.resultBefore);
_local1.taken.text = ("" + mission.resultTaken);
_local1.reward.text = ("" + mission.reward);
_local1.castle.text = ("" + mission.resultCastle);
_local1.other.text = ("" + mission.resultOther);
_local1.wage.text = ("" + mission.wage);
_local1.tax.text = ("" + mission.unkeep);
_local1.now.text = ("" + player.money[_pc]);
updateInterface();
}
public function trainerFix(){
return (((game.trainer == 0)) ? 1 : (1.03 + (game.trainer * 0.04)));
}
public function drawTrail(_arg1, _arg2, _arg3, _arg4, _arg5){
var _local6:MovieClip;
var _local7:*;
var _local8:*;
if (_arg5 == 1){
_local6 = (new trail1() as MovieClip);
};
if (_arg5 == 2){
_local6 = (new trail2() as MovieClip);
};
if (_arg5 == 3){
_local6 = (new trail3() as MovieClip);
};
_local7 = (_arg1 - _arg3);
_local8 = (_arg2 - _arg4);
_local6.x = _arg3;
_local6.y = _arg4;
_local6.width = Math.sqrt(((_local7 * _local7) + (_local8 * _local8)));
_local6.rotation = (((Math.atan2((_arg1 - _arg3), (_arg2 - _arg4)) * -180) / Math.PI) + 90);
stage.addChild(_local6);
}
public function select_end(){
select = -1;
if (selectID == 0){
return;
};
i = 0;
while (i < selectID) {
stage.removeChild(buttonArray[i]);
i++;
};
selectID = 0;
}
public function orderClick(_arg1:Event):void{
sound_click1.play();
player.ai[cs] = window2_mc.order.selectedItem.data;
updateCharaMenu();
}
public function aiNormal(_arg1:int, _arg2:int){
var _local3:int;
var _local4:int;
var _local5:*;
_local4 = 0;
while (_local4 < 2) {
if (aiTarget[0][weaponRange[_arg2][_local4]][0] != undefined){
_local5 = aiTarget[0][weaponRange[_arg2][_local4]][0];
aiTarget[0][weaponRange[_arg2][_local4]] = [undefined, 1000];
_local5.tag = _defTag;
return (_local5);
};
if (player.ai[_arg1] == _aiNeither){
return (undefined);
};
if (aiTarget[_armor][weaponRange[_arg2][_local4]][0] != undefined){
_local5 = aiTarget[_armor][weaponRange[_arg2][_local4]][0];
aiTarget[_armor][weaponRange[_arg2][_local4]] = [undefined, 1000];
_local5.tag = _defTag;
return (_local5);
};
if (player.ai[_arg1] == _aiNoAir){
return (undefined);
};
if (aiTarget[_air][weaponRange[_arg2][_local4]][0] != undefined){
_local5 = aiTarget[_air][weaponRange[_arg2][_local4]][0];
aiTarget[_air][weaponRange[_arg2][_local4]] = [undefined, 1000];
_local5.tag = _defTag;
return (_local5);
};
_local4++;
};
return (undefined);
}
public function setMod(_arg1:int, _arg2:int){
inventory.mod[_arg1] = _arg2;
if (inventory.id[_arg1] == 8){
inventory.modMax[_arg1] = 1;
inventory.lv[_arg1] = 1;
inventory.name[_arg1] = (encRef[inventory.mod[_arg1]].name + " Mod Lv.1");
inventory.type[_arg1] = _typeMod;
inventory.value[_arg1] = (200 + (2 * encRef[inventory.mod[_arg1]].cost));
};
if (inventory.id[_arg1] == 9){
inventory.modMax[_arg1] = 2;
inventory.lv[_arg1] = 2;
inventory.name[_arg1] = (encRef[inventory.mod[_arg1]].name + " Mod Lv.2");
inventory.type[_arg1] = _typeMod;
inventory.value[_arg1] = (600 + (4 * encRef[inventory.mod[_arg1]].cost));
};
if ((((inventory.id[_arg1] == 10)) || ((inventory.id[_arg1] == 121)))){
inventory.modMax[_arg1] = 3;
inventory.lv[_arg1] = 3;
inventory.name[_arg1] = (encRef[inventory.mod[_arg1]].name + " Mod Lv.3");
inventory.type[_arg1] = _typeMod;
inventory.value[_arg1] = (1200 + (8 * encRef[inventory.mod[_arg1]].cost));
};
}
public function invPopup(){
var _local1:Boolean;
var _local2:*;
var _local3:*;
var _local4:*;
if (window2_mc.animeTime){
return;
};
if (delay < 5){
return;
};
_local1 = false;
if (drag){
invPopupUpdate(invSlot_mc[dragSlot].id);
return;
};
_local2 = window2_mc.getObjectsUnderPoint(new Point(mouseX, mouseY));
_local3 = 0;
while (_local3 < _local2.length) {
_local4 = _local2[_local3].parent;
if (_local4.hasOwnProperty("slot")){
if (_local4.item != -1){
_local1 = true;
hintCount = 20;
window2_mc.popup.alpha = 1;
invPopupUpdate(_local4.id);
};
};
_local3++;
};
if (_local1 == false){
hintCount--;
if (hintCount < 0){
window2_mc.popup.visible = false;
currentPop = -1;
} else {
if (hintCount < 10){
window2_mc.popup.alpha = (window2_mc.popup.alpha - 0.1);
};
};
};
}
public function weaponVariation(_arg1:int, _arg2:int){
var _local3:*;
if (_arg2 == -1){
if (game.optWeaponLevel == true){
_local3 = getBestSkill(ID[inventory.reqTrait[_arg1]], 1);
_local3 = int(((((_local3 + 3) - inventory.reqLv[_arg1]) / 2.5) + 1));
_arg2 = int((Math.random() * _local3));
} else {
_arg2 = limit((1 + int((Math.random() * ((game.day / 5) + 2)))), 1, (2 + (game.day / 8)));
};
};
if (_arg2 <= 1){
return;
};
inventory.attack[_arg1] = int(((inventory.attack[_arg1] * (100 + (_arg2 * 15))) / 100));
inventory.shootRate[_arg1] = int(((inventory.shootRate[_arg1] * (100 + (_arg2 * 5))) / 100));
inventory.name[_arg1] = (inventory.name[_arg1] + (" Mk-" + _arg2));
inventory.value[_arg1] = (int(((inventory.value[_arg1] * _arg2) / 1.5)) + (_arg2 * 300));
inventory.reqLv[_arg1] = (inventory.reqLv[_arg1] + int((_arg2 * 2.5)));
inventory.ammo[_arg1] = inventory.ammoMax[_arg1];
inventory.lv[_arg1] = _arg2;
}
public function orderClose(_arg1:Event):void{
window2_mc.dismissButton.mouseEnabled = true;
window2_mc.hint.visible = false;
orderIsOpen = false;
}
public function exitBattle(){
stopSound();
exitBattle2();
removeAlly();
removeEnemy();
}
public function KeyDown(_arg1:KeyboardEvent){
var _local2:*;
var _local3:*;
var _local4:int;
var _local5:*;
var _local6:*;
if (gamePaused){
return;
};
if (_arg1.keyCode == 70){
sound_reloaded2.play();
if (fireAtWill == false){
blendCounter = 8;
fireAtWill = true;
sister.sisterFire.visible = true;
_local3 = (new ef_rampage() as MovieClip);
_local3.name = "rampage";
_local3.y = 16;
if (sister.getChildByName("rampage") == null){
sister.addChild(_local3);
};
} else {
fireAtWill = false;
sister.sisterFire.visible = false;
if (sister.getChildByName("rampage") != null){
sister.removeChild(sister.getChildByName("rampage"));
};
};
return;
};
if (_arg1.keyCode == Keyboard.SPACE){
if (((!((inventory.ammo[ci] == inventory.ammoMax[ci]))) && ((inventory.autoReload[ci] == 0)))){
reload(_pc, ci);
};
return;
};
_local2 = 0;
while (_local2 < 5) {
if (_arg1.keyCode == (49 + _local2)){
_local4 = (_invPlayer + _local2);
if (inventory.num[_local4] > 0){
if (inventory.type[_local4] == _typeUse){
useItem(_pc, _local4);
return;
};
inventory.reloadTime[ci] = 0;
ci = _local4;
refreshPlayer(_pc, ci);
sound_reloaded1.play();
updateAmmoBar();
updateCi();
player_mc[_pc].gotoAndStop(player_mc[_pc].anime2);
return;
};
sound_beep.play();
return;
};
_local2++;
};
if (debug){
if (_arg1.keyCode == Keyboard.UP){
customCursor.visible = false;
Mouse.show();
gamePaused = true;
gameOver = true;
gotoAndPlay("dead");
return;
};
if (_arg1.keyCode == Keyboard.RIGHT){
text_effect("AAAAAAAAAAAAA");
return;
};
if (_arg1.keyCode == Keyboard.LEFT){
bgChange = 100;
_local5 = ((100 + bgChange) * 0.01);
_local6 = [(1 - (_local5 * 0.9)), (0.6 - (_local5 * 0.2)), (0.4 + (_local5 * 0.6))];
bg.transform.colorTransform = new ColorTransform(_local6[0], _local6[1], _local6[2], 1, 0, 0, 0, 0);
cloud.transform.colorTransform = new ColorTransform(_local6[0], _local6[1], _local6[2], 1, 0, 0, 0, 0);
startFire();
exitBattle2();
eventAfterBattle();
gotoAndStop("event");
return;
};
if (_arg1.keyCode == Keyboard.DOWN){
spawnEnemy(1);
return;
};
if (_arg1.keyCode == 16){
return;
};
};
}
public function exitBattle2(){
var _local1:*;
var _local2:*;
_local1 = _invPlayer;
while (_local1 < (_invPlayer + 5)) {
if (stage.getChildByName(("timer" + _local1))){
_local2 = stage.getChildByName(("timer" + _local1));
_local2.timer = 0;
};
_local1++;
};
fillAmmo();
_local1 = 0;
while (_local1 < maxAlly) {
endRampage(_local1);
if (stage.getChildByName(cursor_mc[_local1].name)){
cursor_mc[_local1].visible = false;
};
_local1++;
};
blendCounter = 0;
castleCounter = 0;
root.transform.colorTransform = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
removeChild(customCursor);
timer.removeEventListener(TimerEvent.TIMER, onTick);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, KeyDown);
stage.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownFunc);
stage.removeEventListener(MouseEvent.MOUSE_UP, mouseUpFunc);
stage.removeEventListener(MouseEvent.MOUSE_MOVE, MouseMove);
stage.removeEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
Mouse.show();
}
public function getEmptyInventory(_arg1:int){
var _local3:*;
var _local2 = -1;
if (_arg1 == _invPlayer){
_local3 = _invPlayer;
while (_local3 < (game.invSlot + _invPlayer)) {
if ((((inventory.num[_local3] == 0)) || ((inventory.num[_local3] == undefined)))){
_local2 = _local3;
break;
};
_local3++;
};
};
return (_local2);
}
public function throwGrenade(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8:int, _arg9:int){
var _local10:*;
_arg7 = ((((_arg7 * Math.atan2((Math.abs((_arg5 - _arg3)) * 2), Math.abs((_arg6 - _arg4)))) * 2) / Math.PI) + 0.1);
if ((((_arg9 == 0)) || ((_arg9 == -1)))){
sound_throw1.play(0, 0, soundPos(_arg3));
_local10 = (new bullet_grenade() as MovieClip);
};
if (_arg9 == 1){
_local10 = (new bullet_grenade2() as MovieClip);
};
if (_arg9 == 2){
_local10 = (new bullet_arrow2() as MovieClip);
if (_arg6 < 150){
_arg7 = (_arg7 * 1.5);
};
_arg6 = (_arg6 + 6);
};
if (_arg9 == 3){
_local10 = (new bullet_arrow3() as MovieClip);
_arg6 = (_arg6 + 4);
};
if (_arg9 == 4){
_local10 = (new bullet_puls() as MovieClip);
_arg7 = (_arg7 / 4);
};
if (((((!((_arg1 == hero))) && (!((_arg9 == -1))))) && (!((_arg1 == -1))))){
if (player.target[_arg1] != undefined){
_arg5 = (_arg5 + (player.target[_arg1].speed * ((_arg3 - _arg5) / (_arg7 * 1.1))));
};
};
_local10.x = _arg3;
_local10.y = 0;
_local10.a = 0.003;
_local10.speed = _arg7;
_local10.x2 = _arg3;
_local10.y2 = _arg4;
_local10.x1 = _arg5;
_local10.y1 = _arg6;
_local10.dmg = _arg8;
_local10.chara = _arg1;
_local10.w = _arg2;
_local10.explode = explode;
if ((((_arg9 == 2)) || ((_arg9 == 3)))){
_local10.penetrate = player.trait[_arg1][TRAIT.BOW_MASTER];
if (inventory.id[_arg2] == 23){
_local10.penetrate++;
};
_local10.explode = procHit;
};
if (_arg9 == 4){
_local10.explode = explode_puls;
};
stage.addChild(_local10);
}
public function toggleMute(){
if (idx.mute == true){
idx.mute = false;
volumeChange(1);
} else {
idx.mute = true;
volumeChange(0);
};
}
public function clearGameInv(){
var _local1:int;
while (_local1 < _invPlayer) {
inventory.num[_local1] = 0;
_local1++;
};
}
public function MouseLDownFunc_town(_arg1:MouseEvent){
var _local2:int;
var _local3:int;
var _local4:*;
var _local5:int;
_local2 = stage.mouseX;
_local3 = stage.mouseY;
if (orderIsOpen){
return;
};
if (cardCount){
return;
};
if (vol.hitTestPoint(_local2, _local3, true)){
toggleMute();
return;
};
if (gameDialog){
if (dialog_mc.yes.hitTestPoint(_local2, _local3, true)){
endDialog(true);
} else {
endDialog(false);
};
return;
};
if (gamePaused){
pauseProc();
return;
};
_local4 = stage.getChildByName("eventWindow");
if (_local4 != null){
procEventDialog(_local4);
return;
};
if (menuId == 1){
if (window2_mc.act1.hitTestPoint(mouseX, mouseY, true)){
showEventDialog(_dialogActSleep);
return;
};
if (window2_mc.act2.hitTestPoint(mouseX, mouseY, true)){
showDialog(_dialogHire);
dialog_mc.question.text = "The henchman demands half the mission reward. Accept?";
return;
};
_local5 = 0;
i = 0;
while (i < radioCount) {
if (((radio_mc[i].avail) && (radio_mc[i].card.hitTestPoint(mouseX, mouseY, true)))){
actList[i].func();
return;
};
i++;
};
};
if ((((menuId == 2)) && ((delay > 3)))){
if (window2_mc.act1.hitTestPoint(mouseX, mouseY, true)){
showEventDialog(_dialogFreeRepair);
return;
};
i = 0;
while (i < upgradeCount) {
if (upgrade_mc[i].hitTestPoint(mouseX, mouseY, true)){
if (upgrade_mc[i].possible == false){
sound_beep.play();
return;
};
if (getUpgradeCost((i + (page * 8))) == -1){
exclusiveLink();
return;
};
sound_pay1.play();
player.money[_pc] = (player.money[_pc] - getUpgradeCost((i + (page * 8))));
upgradeDone((i + (page * 8)));
removeUpgrades();
updateCastleMenu();
updateInterface();
return;
};
i++;
};
};
if ((((menuId == 3)) && ((delay > 3)))){
if (window2_mc.act1.hitTestPoint(mouseX, mouseY, true)){
showEventDialog(_dialogNewRecruit);
return;
};
i = 0;
while (i < (maxAlly + 1)) {
if (player.exist[i] == false){
} else {
if (player_mc[i].bg.hitTestPoint(mouseX, mouseY, true)){
sound_click1.play();
cs = i;
updateCharaMenu();
return;
};
};
i++;
};
};
if ((((menuId == 3)) && (!((cs == maxAlly))))){
i = 0;
while (i < statsCount) {
if (stats_mc[i].hitTestPoint(mouseX, mouseY, true)){
if ((((traitRef[stats_mc[i].id].group == G_BASE)) || ((stats_mc[i].id < G_GEN)))){
sound_beep.play();
popInfo("Base skills can't be focused.");
return;
};
sound_click1.play();
if (player.forcus[cs] == stats_mc[i].id){
player.forcus[cs] = -1;
} else {
player.forcus[cs] = stats_mc[i].id;
};
updateCharaMenu();
return;
};
i++;
};
};
if ((((((menuId == 3)) && (!((cs == _pc))))) && ((window2_mc.dismissButton.mouseEnabled == true)))){
if (window2_mc.dismissButton.hitTestPoint(_local2, _local3, true)){
if (cs != maxAlly){
showDialog(_dialogDismiss);
dialog_mc.question.text = (("Do you really want to dismiss " + player.name[cs]) + "?");
} else {
if (player.exist[3] == true){
sound_beep.play();
popInfo("You have reached the limit of recruits.");
return;
};
if (getFreeAlly() > game.house){
sound_beep.play();
popInfo("You need to upgrade the house!");
return;
};
if (player.money[_pc] < player.cost[cs]){
sound_beep.play();
popInfo("You don't have enough money!");
return;
};
showDialog(_dialogRecruit);
dialog_mc.question.text = (((("Do you really want to recruit " + player.name[cs]) + " for ") + player.cost[cs]) + " gp?");
};
};
};
if (menuId == 4){
if (window2_mc.act1.hitTestPoint(mouseX, mouseY, true)){
showEventDialog(_dialogRefreshStock);
return;
};
};
if (menuId == 5){
if (window2_mc.act1.hitTestPoint(mouseX, mouseY, true)){
showEventDialog(_dialogRobVisitor);
return;
};
if (window2_mc.kongMc.kongButton.hitTestPoint(mouseX, mouseY, true)){
kongregateLink();
return;
};
};
if (menuId == 6){
if (window2_mc.act1.hitTestPoint(mouseX, mouseY, true)){
if (game.ap < 5){
noAp();
return;
};
sound_click1.play();
window2_mc.actHelp.visible = true;
equipMode = 1;
updateInvSlots(-1);
return;
};
if (window2_mc.act2.hitTestPoint(mouseX, mouseY, true)){
if (game.ap < 3){
noAp();
return;
};
sound_click1.play();
window2_mc.actHelp.visible = true;
equipMode = 2;
updateInvSlots(-1);
return;
};
};
if (equipButton.hitTestPoint(_local2, _local3, true)){
exitMenu();
sound_scroll1.play();
menuId = 6;
window2_mc.gotoAndPlay("menu_equip");
window2_mc.x = 1000;
window2_mc.addFrameScript((window2_mc.currentFrame - 1), procEquipMenu);
return;
};
if (missionButton.hitTestPoint(_local2, _local3, true)){
exitMenu();
sound_scroll1.play();
menuId = 1;
window2_mc.gotoAndPlay("menu_mission");
window2_mc.x = 1000;
window2_mc.addFrameScript((window2_mc.currentFrame - 1), procMissionMenu);
return;
};
if (castleButton.hitTestPoint(_local2, _local3, true)){
exitMenu();
sound_scroll1.play();
menuId = 2;
window2_mc.gotoAndPlay("menu_castle");
window2_mc.x = 1000;
window2_mc.addFrameScript((window2_mc.currentFrame - 1), procCastleMenu);
return;
};
if (charaButton.hitTestPoint(_local2, _local3, true)){
exitMenu();
sound_scroll1.play();
menuId = 3;
window2_mc.gotoAndPlay("menu_chara");
window2_mc.x = 1000;
window2_mc.addFrameScript((window2_mc.currentFrame - 1), procCharaMenu);
return;
};
if (shopButton.hitTestPoint(_local2, _local3, true)){
exitMenu();
sound_scroll1.play();
menuId = 4;
window2_mc.gotoAndPlay("menu_shop");
window2_mc.x = 1000;
window2_mc.addFrameScript((window2_mc.currentFrame - 1), procShopMenu);
return;
};
if (medalButton.hitTestPoint(_local2, _local3, true)){
exitMenu();
sound_scroll1.play();
menuId = 5;
window2_mc.gotoAndPlay("menu_medal");
window2_mc.x = 1000;
window2_mc.addFrameScript((window2_mc.currentFrame - 1), procMedalMenu);
return;
};
if (drag == false){
if (menuButton.hitTestPoint(_local2, _local3, true)){
pauseMenu();
return;
};
if (window2_mc.closeButton.hitTestPoint(_local2, _local3, true)){
exitMenu();
sound_scroll1.play();
menuId = 0;
window2_mc.x = 1000;
return;
};
};
if ((((menuId == 4)) || ((menuId == 6)))){
invDrag();
};
if ((((menuId == 6)) && (equipMode))){
endEquipMode();
};
}
public function gameStart(){
if ((((player.devType[_pc] == _devHunter)) || ((player.devType[_pc] == _devRogue)))){
generatePlayer(1, 1, _devGuard);
player.name[1] = "Little Girl";
player.potentialAim[1] = 0.7;
player.potentialTeam[1] = 0.8;
player.trait[1][TRAIT.BASE_AIMING] = 1;
player.trait[1][TRAIT.BASE_TEAMWORK] = 1;
player.pic[1] = 50;
player.ai[1] = _aiFireAtWill;
player.optBoss[1] = true;
player.optWall[1] = true;
};
geneMedalBonus();
if (medal[_medalHardcore2]){
generateStuff((slot + 2), 27);
};
if (game.optionAltStart == 1){
player.money[_pc] = (player.money[_pc] + 20000);
game.apFix = 100;
game.day = 10;
};
if (game.optionAltStart == 3){
game.invSlot = 16;
generateStuff((_invPlayer + 0), 101);
generateStuff((_invPlayer + 8), 121);
generateStuff((_invPlayer + 1), 102);
generateStuff((_invPlayer + 2), 103);
generateStuff((_invPlayer + 3), 104);
generateStuff((_invPlayer + 4), 105);
generateStuff((_invPlayer + 5), 106);
generateStuff((_invPlayer + 6), 107);
generateStuff((_invPlayer + 7), 108);
generateStuff((_invPlayer + 9), 110);
generateStuff((_invPlayer + 10), 117);
generateStuff((_invPlayer + 11), 112);
generateStuff((_invPlayer + 12), 113);
generateStuff((_invPlayer + 13), 114);
generateStuff((_invPlayer + 14), 115);
generateStuff((_invPlayer + 15), 116);
player.trait[_pc][TRAIT.BIG_GUN] = 30;
player.trait[_pc][TRAIT.RIFLE] = 30;
player.trait[_pc][TRAIT.SHOTGUN] = 30;
player.trait[_pc][TRAIT.SMALL_GUN] = 30;
};
if (debugStartDay){
game.day = debugStartDay;
player.money[_pc] = (player.money[_pc] + (debugStartDay * 1000));
};
if (game.optionAltStart == 2){
debug_survival(11);
};
}
public function getClass(_arg1:int){
var _local2:Array = ["1", "2", "3", "4"];
if (_arg1 == _devHunter){
_local2 = ["Hunter", "Hunters do not confine themselves to a single field. They aim at developing all around skills and receive many skills to choose from. ", "Starts with Little Girl."];
};
if (_arg1 == _devRogue){
_local2 = ["Rogue", "Rogues are the best money winners and also learn many useful skills that benefit the entire party.", "Starts with Little Girl."];
};
if (_arg1 == _devSheriff){
_local2 = ["Sheriff", "Sheriffs are the experts of shotgun. Though they somewhat lack teamwork, they are deadly at close range combat.", "Starts with a shotgun."];
};
if (_arg1 == _devMilitia){
_local2 = ["Militia", "Militia can use both rifles and big guns well. A militia can learn varieties of combat skills and a few party skills.", "Starts with a rifle."];
};
if (_arg1 == _devSniper){
_local2 = ["Sniper", "Snipers are simply the best damage dealers. They don't get any party skill nor are they good at shooting at crowds, but they can take out the enemies one by one pretty quickly.", "Starts with a rifle."];
};
if (_arg1 == _devRanger){
_local2 = ["Ranger", "Rangers use big guns effectively and are also good natural leaders. They can take out big crowds and raise the morale of the party with their party skills.", "Starts with cheap worn HMG."];
};
if (_arg1 == _devDuelist){
_local2 = ["Duelist", "Duelists are the specialists of small guns. They learn various tactics and skills to adapt to any combat situation.", "Starts with a modificated pistol."];
};
if (_arg1 == _devNoble){
_local2 = ["Noble", "Nobles start with only few basic skills and no unique skills. However, they have the biggest potentials and possibilities.", "Starts with a modificated smg."];
};
if (_arg1 == _devGuard){
_local2 = ["Guardian", "", ""];
};
return (_local2);
}
public function procMissionMenu(){
window2_mc.stop();
window2_mc.anime = true;
window2_mc.actRef1.mouseEnabled = false;
defHint = "\nRoll your mouse over an action to see the detail.";
if (mission.hire == true){
window2_mc.act2.visible = false;
window2_mc.actRef2.visible = false;
} else {
window2_mc.act2.visible = true;
window2_mc.actRef2.visible = true;
};
window2_mc.actRef2.mouseEnabled = false;
updateMissionMenu();
}
}
}//package shootem_fla
Section 62
//optionwindow_209 (shootem_fla.optionwindow_209)
package shootem_fla {
import flash.events.*;
import flash.display.*;
import fl.controls.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class optionwindow_209 extends MovieClip {
public var optShowDamage:CheckBox;
public var optShowAllyDamage:CheckBox;
public var optFirework:CheckBox;
public var optLowQuality:CheckBox;
public var stats:TextArea;
public function optionwindow_209(){
__setProp_optShowDamage_optionwindow_Layer1_0();
__setProp_optLowQuality_optionwindow_Layer1_0();
__setProp_optShowAllyDamage_optionwindow_Layer1_0();
__setProp_optFirework_optionwindow_Layer1_0();
}
function __setProp_optShowAllyDamage_optionwindow_Layer1_0(){
try {
optShowAllyDamage["componentInspectorSetting"] = true;
} catch(e:Error) {
};
optShowAllyDamage.enabled = true;
optShowAllyDamage.label = "Show NPCs' damage output";
optShowAllyDamage.labelPlacement = "right";
optShowAllyDamage.selected = false;
optShowAllyDamage.visible = true;
try {
optShowAllyDamage["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function __setProp_optFirework_optionwindow_Layer1_0(){
try {
optFirework["componentInspectorSetting"] = true;
} catch(e:Error) {
};
optFirework.enabled = true;
optFirework.label = "Disable firework effect";
optFirework.labelPlacement = "right";
optFirework.selected = false;
optFirework.visible = true;
try {
optFirework["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function __setProp_optLowQuality_optionwindow_Layer1_0(){
try {
optLowQuality["componentInspectorSetting"] = true;
} catch(e:Error) {
};
optLowQuality.enabled = true;
optLowQuality.label = "Enable low quality mode (Faster)";
optLowQuality.labelPlacement = "right";
optLowQuality.selected = false;
optLowQuality.visible = true;
try {
optLowQuality["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function __setProp_optShowDamage_optionwindow_Layer1_0(){
try {
optShowDamage["componentInspectorSetting"] = true;
} catch(e:Error) {
};
optShowDamage.enabled = true;
optShowDamage.label = "Show player's damage output";
optShowDamage.labelPlacement = "right";
optShowDamage.selected = false;
optShowDamage.visible = true;
try {
optShowDamage["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package shootem_fla
Section 63
//rat_290 (shootem_fla.rat_290)
package shootem_fla {
import flash.display.*;
public dynamic class rat_290 extends MovieClip {
public function rat_290(){
addFrameScript(14, frame15, 18, frame19);
}
function frame15(){
gotoAndPlay("alive");
}
function frame19(){
gotoAndPlay("dead");
}
}
}//package shootem_fla
Section 64
//runningboy_23 (shootem_fla.runningboy_23)
package shootem_fla {
import flash.display.*;
public dynamic class runningboy_23 extends MovieClip {
public function runningboy_23(){
addFrameScript(49, frame50);
}
function frame50(){
stop();
}
}
}//package shootem_fla
Section 65
//runningcat_30 (shootem_fla.runningcat_30)
package shootem_fla {
import flash.display.*;
public dynamic class runningcat_30 extends MovieClip {
public function runningcat_30(){
addFrameScript(70, frame71);
}
function frame71(){
stop();
}
}
}//package shootem_fla
Section 66
//runninggirl_27 (shootem_fla.runninggirl_27)
package shootem_fla {
import flash.display.*;
public dynamic class runninggirl_27 extends MovieClip {
public function runninggirl_27(){
addFrameScript(57, frame58);
}
function frame58(){
stop();
}
}
}//package shootem_fla
Section 67
//runninglady_32 (shootem_fla.runninglady_32)
package shootem_fla {
import flash.display.*;
public dynamic class runninglady_32 extends MovieClip {
public function runninglady_32(){
addFrameScript(69, frame70);
}
function frame70(){
stop();
}
}
}//package shootem_fla
Section 68
//sister_37 (shootem_fla.sister_37)
package shootem_fla {
import flash.display.*;
public dynamic class sister_37 extends MovieClip {
public var dead:Boolean;
public var free:Boolean;
public var sisterFire:MovieClip;
public function sister_37(){
addFrameScript(0, frame1, 3, frame4, 6, frame7, 16, frame17, 35, frame36, 71, frame72, 79, frame80, 89, frame90);
}
function frame1(){
free = true;
dead = false;
sisterFire.visible = false;
}
function frame80(){
free = false;
}
function frame4(){
free = true;
stop();
}
function frame72(){
stop();
}
function frame7(){
free = false;
}
function frame36(){
gotoAndPlay("stand");
}
function frame17(){
gotoAndPlay("stand");
}
function frame90(){
gotoAndPlay("joy");
}
}
}//package shootem_fla
Section 69
//sister_81 (shootem_fla.sister_81)
package shootem_fla {
import flash.display.*;
public dynamic class sister_81 extends MovieClip {
public var bt:SimpleButton;
public function sister_81(){
addFrameScript(337, frame338);
}
function frame338(){
stop();
}
}
}//package shootem_fla
Section 70
//SPARKLE2_329 (shootem_fla.SPARKLE2_329)
package shootem_fla {
import flash.display.*;
public dynamic class SPARKLE2_329 extends MovieClip {
public function SPARKLE2_329(){
addFrameScript(13, frame14);
}
function frame14(){
stop();
}
}
}//package shootem_fla
Section 71
//Symbol4_242 (shootem_fla.Symbol4_242)
package shootem_fla {
import flash.display.*;
public dynamic class Symbol4_242 extends MovieClip {
public function Symbol4_242(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
stop();
}
}
}//package shootem_fla
Section 72
//titleanime_36 (shootem_fla.titleanime_36)
package shootem_fla {
import flash.display.*;
public dynamic class titleanime_36 extends MovieClip {
public var sister:MovieClip;
public var count:int;
public function titleanime_36(){
addFrameScript(0, frame1, 306, frame307);
}
function frame1(){
count = 0;
}
function frame307(){
stop();
}
}
}//package shootem_fla
Section 73
//actions (actions)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class actions extends MovieClip {
public var card:MovieClip;
public var pin:MovieClip;
public var text:TextField;
public function actions(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
card.addEventListener(MouseEvent.MOUSE_OVER, actions_over);
card.addEventListener(MouseEvent.MOUSE_OUT, actions_out);
}
public function actions_over(_arg1:MouseEvent){
if (this.avail == false){
return;
};
card.scaleX = 1.04;
card.scaleY = 1.04;
var _local2:* = this._root.cardSound;
if (_local2 != undefined){
if (_local2.position < 2){
return;
};
};
this._root.cardSound = (this._root.sound_card1.play(0) as SoundChannel);
}
public function actions_out(_arg1:MouseEvent){
card.scaleX = 1;
card.scaleY = 1;
}
public function removeEvent(){
card.removeEventListener(MouseEvent.MOUSE_OVER, actions_over);
card.removeEventListener(MouseEvent.MOUSE_OUT, actions_out);
}
}
}//package
Section 74
//ally1 (ally1)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class ally1 extends MovieClip {
public var _root;
public var chara1:charaPic;
public var chara2:charaPic;
public function ally1(){
addFrameScript(0, frame1, 9, frame10, 11, frame12, 15, frame16, 23, frame24, 29, frame30, 35, frame36, 41, frame42, 44, frame45, 48, frame49, 52, frame53, 69, frame70, 71, frame72, 75, frame76, 83, frame84, 85, frame86, 91, frame92, 94, frame95, 96, frame97, 100, frame101, 108, frame109, 119, frame120, 121, frame122, 125, frame126, 133, frame134, 144, frame145, 146, frame147, 150, frame151, 158, frame159, 169, frame170, 171, frame172, 175, frame176, 183, frame184, 199, frame200, 202, frame203, 205, frame206, 208, frame209, 211, frame212, 220, frame221, 226, frame227, 235, frame236, 280, frame281, 290, frame291, 402, frame403);
}
function frame151(){
chara1.gotoAndStop(((this.pic * 10) + 1));
}
function frame70(){
chara1.gotoAndStop(((this.pic * 10) + 1));
}
function frame72(){
chara1.gotoAndStop(((this.pic * 10) + 1));
}
function frame30(){
chara1.gotoAndStop(((this.pic * 10) + 3));
}
function frame159(){
chara1.gotoAndStop(((this.pic * 10) + 2));
stop();
}
function frame36(){
chara1.gotoAndStop(((this.pic * 10) + 4));
}
function frame76(){
chara1.gotoAndStop(((this.pic * 10) + 1));
}
function frame236(){
stop();
}
function frame281(){
chara1.gotoAndStop(((this.pic * 10) + 8));
chara2.gotoAndStop(((this.pic * 10) + 9));
_root.sound_deadBoss1.play(0, 0, _root.soundPos(x));
}
function frame120(){
chara1.gotoAndStop(((this.pic * 10) + 1));
}
function frame122(){
chara1.gotoAndStop(((this.pic * 10) + 1));
}
function frame200(){
chara1.gotoAndStop(((this.pic * 10) + 1));
}
function frame126(){
chara1.gotoAndStop(((this.pic * 10) + 1));
}
function frame84(){
chara1.gotoAndStop(((this.pic * 10) + 2));
stop();
}
function frame403(){
stop();
}
function frame86(){
chara1.gotoAndStop(((this.pic * 10) + 1));
}
function frame45(){
chara1.gotoAndStop(((this.pic * 10) + 5));
}
function frame203(){
chara1.gotoAndStop(((this.pic * 10) + 2));
}
function frame42(){
gotoAndPlay("reload");
}
function frame209(){
chara1.gotoAndStop(((this.pic * 10) + 2));
}
function frame49(){
chara1.gotoAndStop(((this.pic * 10) + 6));
}
function frame206(){
chara1.gotoAndStop(((this.pic * 10) + 7));
}
function frame291(){
_root.sound_deadBoss2.play(0, 0, _root.soundPos(x));
}
function frame172(){
chara1.gotoAndStop(((this.pic * 10) + 1));
}
function frame176(){
chara1.gotoAndStop(((this.pic * 10) + 1));
}
function frame170(){
chara1.gotoAndStop(((this.pic * 10) + 1));
}
function frame134(){
chara1.gotoAndStop(((this.pic * 10) + 2));
stop();
}
function frame95(){
chara1.gotoAndStop(((this.pic * 10) + 1));
}
function frame97(){
chara1.gotoAndStop(((this.pic * 10) + 1));
}
function frame10(){
chara1.gotoAndStop(((this.pic * 10) + 1));
}
function frame212(){
gotoAndPlay("walk");
}
function frame12(){
chara1.gotoAndStop(((this.pic * 10) + 1));
}
function frame16(){
chara1.gotoAndStop(((this.pic * 10) + 1));
}
function frame92(){
stop();
}
function frame53(){
gotoAndPlay("stand");
}
function frame184(){
chara1.gotoAndStop(((this.pic * 10) + 2));
stop();
}
function frame1(){
_root = (root as MovieClip);
}
function frame101(){
chara1.gotoAndStop(((this.pic * 10) + 1));
}
function frame147(){
chara1.gotoAndStop(((this.pic * 10) + 1));
}
function frame227(){
chara1.gotoAndStop(((this.pic * 10) + 4));
}
function frame221(){
chara1.gotoAndStop(((this.pic * 10) + 1));
}
function frame145(){
chara1.gotoAndStop(((this.pic * 10) + 1));
}
function frame109(){
chara1.gotoAndStop(((this.pic * 10) + 2));
stop();
}
function frame24(){
chara1.gotoAndStop(((this.pic * 10) + 2));
stop();
}
}
}//package
Section 75
//ally2 (ally2)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class ally2 extends MovieClip {
public var pname:TextField;
public var chara1:charaPic;
public function ally2(){
addFrameScript(7, frame8, 11, frame12, 15, frame16);
}
function frame16(){
gotoAndPlay("stand");
}
function frame8(){
chara1.gotoAndStop(((this.pic * 10) + 5));
}
function frame12(){
chara1.gotoAndStop(((this.pic * 10) + 6));
}
}
}//package
Section 76
//ally3 (ally3)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class ally3 extends MovieClip {
public var bg:SimpleButton;
public var chara1:charaPic;
public var lv:TextField;
public var pname:TextField;
public function ally3(){
addFrameScript(7, frame8, 11, frame12, 15, frame16);
}
function frame8(){
chara1.gotoAndStop(((this.pic * 10) + 5));
}
function frame12(){
chara1.gotoAndStop(((this.pic * 10) + 6));
}
function frame16(){
gotoAndPlay("stand");
}
}
}//package
Section 77
//ally4 (ally4)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class ally4 extends MovieClip {
public var bg:SimpleButton;
public var chara1:charaPic;
public function ally4(){
addFrameScript(7, frame8, 11, frame12, 15, frame16);
}
function frame16(){
gotoAndPlay("stand");
}
function frame8(){
chara1.gotoAndStop(((this.pic * 10) + 5));
}
function frame12(){
chara1.gotoAndStop(((this.pic * 10) + 6));
}
}
}//package
Section 78
//arrow (arrow)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class arrow extends MovieClip {
public var shadow:bullet_shadow;
public var mc:MovieClip;
public function arrow(){
addFrameScript(0, frame1);
}
function frame1(){
this.addEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
stop();
}
public function onEnterFrame_bullet(_arg1:Event){
x = (x + 15);
this.dx++;
mc.y = (this.dy + ((this.dx * this.dx) / 3));
mc.rotation = ((this.dx * 2.5) + 90);
shadow.y = this.sy;
if (x > 650){
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
stage.removeChild(this);
return;
};
}
}
}//package
Section 79
//arrowEgg (arrowEgg)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class arrowEgg extends MovieClip {
public var shadow:bullet_shadow;
public var mc:MovieClip;
public function arrowEgg(){
addFrameScript(0, frame1);
}
function frame1(){
this.addEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
stop();
}
public function onEnterFrame_bullet(_arg1:Event){
x = (x + 15);
this.dx++;
mc.y = ((this.dy + ((this.dx * this.dx) / 20)) - 10);
mc.rotation = ((this.dx * 4) + 90);
shadow.y = this.sy;
if (x > 650){
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
stage.removeChild(this);
return;
};
}
}
}//package
Section 80
//bolt (bolt)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class bolt extends MovieClip {
public var shadow:bullet_shadow;
public var mc:MovieClip;
public function bolt(){
addFrameScript(0, frame1);
}
function frame1(){
this.addEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
stop();
}
public function onEnterFrame_bullet(_arg1:Event){
x = (x + 25);
this.dx++;
mc.y = (this.dy + ((this.dx * this.dx) / 8));
shadow.y = this.sy;
mc.rotation = (this.dx + 90);
if (x > 650){
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
stage.removeChild(this);
delete ??getglobalscope
[this];
};
}
}
}//package
Section 81
//bolt_tank (bolt_tank)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class bolt_tank extends MovieClip {
public var shadow:bullet_shadow;
public var mc:MovieClip;
public function bolt_tank(){
addFrameScript(0, frame1);
}
function frame1(){
this.addEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
stop();
}
public function onEnterFrame_bullet(_arg1:Event){
x = (x + 25);
this.dx++;
mc.y = (this.dy + ((this.dx * this.dx) / 8));
shadow.y = this.sy;
mc.rotation = (this.dx + 90);
if (x > 650){
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
stage.removeChild(this);
delete ??getglobalscope
[this];
};
}
}
}//package
Section 82
//bullet (bullet)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class bullet extends MovieClip {
public function bullet(){
addFrameScript(0, frame1);
}
function frame1(){
this.addEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
stop();
}
public function onEnterFrame_bullet(_arg1:Event){
x = (x + this.dx);
y = (y + this.dy);
this.counter--;
if (this.counter < 0){
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
stage.removeChild(this);
delete ??getglobalscope
[this];
};
}
}
}//package
Section 83
//bullet_arrow2 (bullet_arrow2)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class bullet_arrow2 extends MovieClip {
public var shadow:bullet_shadow;
public var r;
public var mc:MovieClip;
public var count;
public function bullet_arrow2(){
addFrameScript(0, frame1);
}
function frame1(){
this.addEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
count = (int((Math.abs((this.x1 - this.x2)) / this.speed)) + 1);
r = 2.5;
mc.rotation = (-90 + ((r * count) / 2));
if (Math.abs((this.x1 - this.x2)) < 200){
mc.rotation = (((Math.atan2((this.x1 - this.x2), (this.y1 - this.y2)) * -180) / Math.PI) + 180);
r = (Math.abs((this.x1 - this.x2)) / 150);
};
if (this.y1 < 150){
r = (1.25 - Math.abs((count / 100)));
this.a = 0.001;
count = ((count * 2) + 20);
mc.rotation = (((Math.atan2((this.x1 - this.x2), (this.y1 - this.y2)) * -180) / Math.PI) + 180);
};
if (this.x1 > this.x2){
this.speed = (this.speed * -1);
mc.rotation = (((Math.atan2((this.x1 - this.x2), (this.y1 - this.y2)) * -180) / Math.PI) + 180);
r = (r * -1);
};
stop();
}
public function onEnterFrame_bullet(_arg1:Event){
count--;
if ((((x < 0)) || ((x > 640)))){
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
stage.removeChild(this);
return;
};
if ((((((count >= 0)) && ((count < 4)))) || ((((((this.y1 < 135)) && ((mc.y > 0)))) && ((mc.y < 135)))))){
if (this.explode(this.chara, this.w, (this.x - 4), mc.y, this.dmg) == true){
if (this.penetrate <= 0){
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
stage.removeChild(this);
return;
};
this.penetrate--;
};
};
if (count <= 0){
shadow.visible = false;
alpha = (alpha - 0.025);
if (count < -40){
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
stage.removeChild(this);
};
return;
};
x = (x - this.speed);
mc.rotation = (mc.rotation - r);
var _local2:* = ((((this.y1 - this.y2) - ((this.a * this.x1) * this.x1)) + ((this.a * this.x2) * this.x2)) / (this.x1 - this.x2));
var _local3:* = ((this.y1 - ((this.a * this.x1) * this.x1)) - (_local2 * this.x1));
mc.y = ((((this.a * this.x) * this.x) + (_local2 * this.x)) + _local3);
shadow.y = (((this.y1 - this.y2) * (x - this.x2)) / (this.x1 - this.x2));
if (this.y1 < 135){
shadow.y = (shadow.y / 3);
};
shadow.y = (shadow.y + (this.y2 + 6));
if (count < 10){
shadow.alpha = (shadow.alpha - 0.1);
};
if (shadow.y < 135){
shadow.visible = false;
};
}
}
}//package
Section 84
//bullet_arrow3 (bullet_arrow3)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class bullet_arrow3 extends MovieClip {
public var shadow:bullet_shadow;
public var r;
public var mc:MovieClip;
public var count:int;
public function bullet_arrow3(){
addFrameScript(0, frame1);
}
function frame1(){
this.addEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
r = 0.2;
count = 0;
mc.rotation = -90;
this.a = 2E-5;
mc.rotation = (((Math.atan2((this.x1 - this.x2), (this.y1 - this.y2)) * -180) / Math.PI) + 180);
if (this.x1 > this.x2){
this.speed = (this.speed * -1);
mc.rotation = (((Math.atan2((this.x1 - this.x2), (this.y1 - this.y2)) * -180) / Math.PI) + 180);
r = (r * -1);
};
stop();
}
public function onEnterFrame_bullet(_arg1:Event){
if ((((((((x < -10)) || ((x > 640)))) || ((y < -10)))) || ((y > 400)))){
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
stage.removeChild(this);
return;
};
if ((((((this.y1 > 135)) && ((mc.y < 135)))) && ((count > 2)))){
this.speed = (this.speed / (2.5 - (Math.abs((this.x - this.x2)) / 450)));
mc.rotation = (mc.rotation - (r * 10));
mc.scaleX = (mc.scaleX - 0.1);
mc.scaleY = (mc.scaleY - 0.1);
if (mc.scaleX <= 0){
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
stage.removeChild(this);
return;
};
} else {
if ((((this.y1 > 135)) || ((((this.y1 < 135)) && ((mc.y < 135)))))){
if (this.explode(this.chara, this.w, (this.x - 4), mc.y, this.dmg) == true){
if (this.penetrate <= 0){
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
stage.removeChild(this);
return;
};
this.penetrate--;
};
};
};
count++;
x = (x - this.speed);
mc.rotation = (mc.rotation - r);
var _local2:* = ((((this.y1 - this.y2) - ((this.a * this.x1) * this.x1)) + ((this.a * this.x2) * this.x2)) / (this.x1 - this.x2));
var _local3:* = ((this.y1 - ((this.a * this.x1) * this.x1)) - (_local2 * this.x1));
mc.y = ((((this.a * this.x) * this.x) + (_local2 * this.x)) + _local3);
shadow.y = (((this.y1 - this.y2) * (x - this.x2)) / (this.x1 - this.x2));
if (this.y1 < 135){
shadow.y = (shadow.y / 3);
};
shadow.y = (shadow.y + (this.y2 + 14));
if (shadow.y < 135){
shadow.visible = false;
};
}
}
}//package
Section 85
//bullet_grenade (bullet_grenade)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class bullet_grenade extends MovieClip {
public var shadow:bullet_shadow;
public var mc:MovieClip;
public var count;
public function bullet_grenade(){
addFrameScript(0, frame1);
}
function frame1(){
this.addEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
count = (int((Math.abs((this.x1 - this.x2)) / this.speed)) + 1);
if (this.x1 > this.x2){
this.speed = (this.speed * -1);
};
stop();
}
public function onEnterFrame_bullet(_arg1:Event){
count--;
x = (x - this.speed);
mc.rotation = (mc.rotation - 4);
var _local2:* = ((((this.y1 - this.y2) - ((this.a * this.x1) * this.x1)) + ((this.a * this.x2) * this.x2)) / (this.x1 - this.x2));
var _local3:* = ((this.y1 - ((this.a * this.x1) * this.x1)) - (_local2 * this.x1));
mc.y = ((((this.a * this.x) * this.x) + (_local2 * this.x)) + _local3);
shadow.y = (((this.y1 - this.y2) * (x - this.x2)) / (this.x1 - this.x2));
if (this.y1 < 135){
shadow.y = (shadow.y / 3);
};
shadow.y = (shadow.y + this.y2);
if (count <= 0){
this.explode(this.chara, this.w, x, mc.y, this.dmg, 0);
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
stage.removeChild(this);
};
}
}
}//package
Section 86
//bullet_grenade2 (bullet_grenade2)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class bullet_grenade2 extends MovieClip {
public var shadow:bullet_shadow;
public var mc:MovieClip;
public var count;
public function bullet_grenade2(){
addFrameScript(0, frame1);
}
function frame1(){
this.addEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
count = (int((Math.abs((this.x1 - this.x2)) / this.speed)) + 1);
if (this.x1 > this.x2){
this.speed = (this.speed * -1);
};
stop();
}
public function onEnterFrame_bullet(_arg1:Event){
count--;
x = (x - this.speed);
mc.rotation = (mc.rotation - 24);
var _local2:* = ((((this.y1 - this.y2) - ((this.a * this.x1) * this.x1)) + ((this.a * this.x2) * this.x2)) / (this.x1 - this.x2));
var _local3:* = ((this.y1 - ((this.a * this.x1) * this.x1)) - (_local2 * this.x1));
mc.y = ((((this.a * this.x) * this.x) + (_local2 * this.x)) + _local3);
shadow.y = (((this.y1 - this.y2) * (x - this.x2)) / (this.x1 - this.x2));
if (this.y1 < 135){
shadow.y = (shadow.y / 3);
};
shadow.y = (shadow.y + this.y2);
if (count <= 0){
this.explode(this.chara, this.w, x, mc.y, this.dmg, 0);
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
stage.removeChild(this);
};
}
}
}//package
Section 87
//bullet_grenade3 (bullet_grenade3)
package {
import flash.display.*;
public dynamic class bullet_grenade3 extends MovieClip {
public var shadow:bullet_shadow;
public var mc:MovieClip;
}
}//package
Section 88
//bullet_puls (bullet_puls)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class bullet_puls extends MovieClip {
public var mc:MovieClip;
public var count:int;
public function bullet_puls(){
addFrameScript(0, frame1);
}
function frame1(){
this.addEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
count = 15;
this.a = 0;
if (this.x1 > this.x2){
this.speed = (this.speed * -1);
};
stop();
}
public function onEnterFrame_bullet(_arg1:Event){
if ((((((((x < -10)) || ((x > 640)))) || ((y < -10)))) || ((y > 400)))){
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
stage.removeChild(this);
};
count--;
if (count <= 0){
count = 15;
mc.puls.gotoAndPlay(1);
this.explode(this.chara, this.w, x, mc.y, this.dmg, 0);
};
x = (x - this.speed);
mc.rotation = (mc.rotation - 50);
var _local2:* = ((((this.y1 - this.y2) - ((this.a * this.x1) * this.x1)) + ((this.a * this.x2) * this.x2)) / (this.x1 - this.x2));
var _local3:* = ((this.y1 - ((this.a * this.x1) * this.x1)) - (_local2 * this.x1));
mc.y = ((((this.a * this.x) * this.x) + (_local2 * this.x)) + _local3);
}
}
}//package
Section 89
//bullet_rocket (bullet_rocket)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class bullet_rocket extends MovieClip {
public var shadow:bullet_shadow;
public var mc:MovieClip;
public var dir;
public var spd;
public function bullet_rocket(){
addFrameScript(0, frame1);
}
public function onEnterFrame_bullet(_arg1:Event){
x = (x - ((dir * spd) * spd));
spd = (spd + (this.speed * 0.01));
var _local2:* = ((((this.y1 - this.y2) - ((this.a * this.x1) * this.x1)) + ((this.a * this.x2) * this.x2)) / (this.x1 - this.x2));
var _local3:* = ((this.y1 - ((this.a * this.x1) * this.x1)) - (_local2 * this.x1));
mc.y = ((((this.a * this.x) * this.x) + (_local2 * this.x)) + _local3);
if (this.y1 < 135){
shadow.y = (this.y2 + ((((this.y1 - this.y2) * (x - this.x2)) / (this.x1 - this.x2)) / 3));
} else {
shadow.y = ((mc.y + 15) - ((15 * (x - this.x2)) / (this.x1 - this.x2)));
};
if (shadow.y < 135){
shadow.visible = false;
};
if ((((((dir == 1)) && ((x < (this.x1 - 5))))) || ((((dir == -1)) && ((x > (this.x1 + 5))))))){
this.explode(this.chara, this.w, x, mc.y, this.dmg, 1);
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
stage.removeChild(this);
};
}
function frame1(){
this.addEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
spd = 0;
mc.rotation = (((Math.atan2((this.x1 - this.x2), (this.y1 - this.y2)) * -180) / Math.PI) - 90);
if (this.x1 > this.x2){
dir = -1;
} else {
dir = 1;
};
stop();
}
}
}//package
Section 90
//bullet_shadow (bullet_shadow)
package {
import flash.display.*;
public dynamic class bullet_shadow extends MovieClip {
}
}//package
Section 91
//card (card)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class card extends MovieClip {
public var cardPic:MovieClip;
public function card(){
addFrameScript(8, frame9, 14, frame15);
}
function frame15(){
cardPic.gotoAndStop(this.pic);
stop();
}
function frame9(){
cardPic.gotoAndStop(this.pic);
}
}
}//package
Section 92
//cardEffect (cardEffect)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class cardEffect extends MovieClip {
public var txt:MovieClip;
public function cardEffect(){
addFrameScript(45, frame46, 98, frame99);
}
function frame99(){
stop();
stage.removeChild(this);
delete ??getglobalscope
[this];
}
function frame46(){
stop();
stage.removeChild(this);
delete ??getglobalscope
[this];
}
}
}//package
Section 93
//CellRenderer_disabledSkin (CellRenderer_disabledSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_disabledSkin extends MovieClip {
}
}//package
Section 94
//CellRenderer_downSkin (CellRenderer_downSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_downSkin extends MovieClip {
}
}//package
Section 95
//CellRenderer_overSkin (CellRenderer_overSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_overSkin extends MovieClip {
}
}//package
Section 96
//CellRenderer_selectedDisabledSkin (CellRenderer_selectedDisabledSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_selectedDisabledSkin extends MovieClip {
}
}//package
Section 97
//CellRenderer_selectedDownSkin (CellRenderer_selectedDownSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_selectedDownSkin extends MovieClip {
}
}//package
Section 98
//CellRenderer_selectedOverSkin (CellRenderer_selectedOverSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_selectedOverSkin extends MovieClip {
}
}//package
Section 99
//CellRenderer_selectedUpSkin (CellRenderer_selectedUpSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_selectedUpSkin extends MovieClip {
}
}//package
Section 100
//CellRenderer_upSkin (CellRenderer_upSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_upSkin extends MovieClip {
}
}//package
Section 101
//charaPic (charaPic)
package {
import flash.display.*;
public dynamic class charaPic extends MovieClip {
}
}//package
Section 102
//CheckBox_disabledIcon (CheckBox_disabledIcon)
package {
import flash.display.*;
public dynamic class CheckBox_disabledIcon extends MovieClip {
}
}//package
Section 103
//CheckBox_downIcon (CheckBox_downIcon)
package {
import flash.display.*;
public dynamic class CheckBox_downIcon extends MovieClip {
}
}//package
Section 104
//CheckBox_overIcon (CheckBox_overIcon)
package {
import flash.display.*;
public dynamic class CheckBox_overIcon extends MovieClip {
}
}//package
Section 105
//CheckBox_selectedDisabledIcon (CheckBox_selectedDisabledIcon)
package {
import flash.display.*;
public dynamic class CheckBox_selectedDisabledIcon extends MovieClip {
}
}//package
Section 106
//CheckBox_selectedDownIcon (CheckBox_selectedDownIcon)
package {
import flash.display.*;
public dynamic class CheckBox_selectedDownIcon extends MovieClip {
}
}//package
Section 107
//CheckBox_selectedOverIcon (CheckBox_selectedOverIcon)
package {
import flash.display.*;
public dynamic class CheckBox_selectedOverIcon extends MovieClip {
}
}//package
Section 108
//CheckBox_selectedUpIcon (CheckBox_selectedUpIcon)
package {
import flash.display.*;
public dynamic class CheckBox_selectedUpIcon extends MovieClip {
}
}//package
Section 109
//CheckBox_upIcon (CheckBox_upIcon)
package {
import flash.display.*;
public dynamic class CheckBox_upIcon extends MovieClip {
}
}//package
Section 110
//ComboBox_disabledSkin (ComboBox_disabledSkin)
package {
import flash.display.*;
public dynamic class ComboBox_disabledSkin extends MovieClip {
}
}//package
Section 111
//ComboBox_downSkin (ComboBox_downSkin)
package {
import flash.display.*;
public dynamic class ComboBox_downSkin extends MovieClip {
}
}//package
Section 112
//ComboBox_overSkin (ComboBox_overSkin)
package {
import flash.display.*;
public dynamic class ComboBox_overSkin extends MovieClip {
}
}//package
Section 113
//ComboBox_upSkin (ComboBox_upSkin)
package {
import flash.display.*;
public dynamic class ComboBox_upSkin extends MovieClip {
}
}//package
Section 114
//critKill (critKill)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class critKill extends MovieClip {
public var txt:TextField;
public var count;
public function critKill(){
addFrameScript(0, frame1);
}
public function onEnterFrame_critKill(_arg1:Event){
txt.y = (txt.y - 0.5);
count--;
if (count <= 7){
txt.alpha = (txt.alpha - 0.1);
};
if (count <= 0){
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame_critKill);
stage.removeChild(this);
};
}
function frame1(){
this.addEventListener(Event.ENTER_FRAME, onEnterFrame_critKill);
count = 20;
txt.alpha = 0.8;
if (this.msg == undefined){
this.msg = "";
};
txt.text = this.msg;
stop();
}
}
}//package
Section 115
//cursor2 (cursor2)
package {
import flash.display.*;
public dynamic class cursor2 extends MovieClip {
}
}//package
Section 116
//dialog (dialog)
package {
import flash.display.*;
import flash.text.*;
public dynamic class dialog extends MovieClip {
public var no:SimpleButton;
public var question:TextField;
public var yes:SimpleButton;
}
}//package
Section 117
//ef_rampage (ef_rampage)
package {
import flash.display.*;
public dynamic class ef_rampage extends MovieClip {
public function ef_rampage(){
addFrameScript(12, frame13);
}
function frame13(){
gotoAndPlay(1);
}
}
}//package
Section 118
//ef_rampage_enemy (ef_rampage_enemy)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class ef_rampage_enemy extends MovieClip {
public function ef_rampage_enemy(){
addFrameScript(12, frame13);
}
function frame13(){
parent.removeChild(this);
delete ??getglobalscope
[this];
stop();
}
}
}//package
Section 119
//effect (effect)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class effect extends MovieClip {
public function effect(){
addFrameScript(4, frame5, 6, frame7, 8, frame9, 10, frame11, 12, frame13, 27, frame28, 29, frame30, 31, frame32, 33, frame34, 36, frame37, 53, frame54, 55, frame56, 57, frame58, 59, frame60, 62, frame63, 75, frame76, 94, frame95, 121, frame122, 128, frame129, 130, frame131, 132, frame133, 134, frame135, 139, frame140, 141, frame142, 143, frame144, 145, frame146);
}
function frame131(){
alpha = 0.5;
}
function frame133(){
alpha = 0.2;
}
function frame135(){
parent.removeChild(this);
delete ??getglobalscope
[this];
stop();
}
function frame95(){
parent.removeChild(this);
delete ??getglobalscope
[this];
stop();
}
function frame30(){
alpha = 0.6;
}
function frame76(){
parent.removeChild(this);
delete ??getglobalscope
[this];
stop();
}
function frame11(){
alpha = 0.2;
}
function frame56(){
alpha = 0.6;
}
function frame13(){
parent.removeChild(this);
delete ??getglobalscope
[this];
stop();
}
function frame58(){
alpha = 0.4;
}
function frame37(){
stage.removeChild(this);
delete ??getglobalscope
[this];
stop();
}
function frame54(){
alpha = 0.8;
}
function frame34(){
alpha = 0.1;
}
function frame32(){
alpha = 0.4;
}
function frame140(){
alpha = 0.7;
}
function frame142(){
alpha = 0.5;
}
function frame122(){
parent.removeChild(this);
delete ??getglobalscope
[this];
stop();
}
function frame146(){
parent.removeChild(this);
delete ??getglobalscope
[this];
stop();
}
function frame60(){
alpha = 0.1;
}
function frame5(){
alpha = 0.8;
}
function frame63(){
parent.removeChild(this);
delete ??getglobalscope
[this];
stop();
}
function frame129(){
alpha = 0.7;
}
function frame9(){
alpha = 0.4;
}
function frame7(){
alpha = 0.6;
}
function frame28(){
alpha = 0.8;
}
function frame144(){
alpha = 0.2;
}
}
}//package
Section 120
//effect2 (effect2)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class effect2 extends MovieClip {
public function effect2(){
addFrameScript(4, frame5, 6, frame7, 8, frame9, 10, frame11, 12, frame13, 50, frame51, 80, frame81);
}
function frame81(){
parent.removeChild(this);
delete ??getglobalscope
[this];
stop();
}
function frame5(){
alpha = 0.8;
}
function frame51(){
stage.removeChild(this);
delete ??getglobalscope
[this];
stop();
}
function frame7(){
alpha = 0.6;
}
function frame9(){
alpha = 0.4;
}
function frame11(){
alpha = 0.2;
}
function frame13(){
parent.removeChild(this);
delete ??getglobalscope
[this];
stop();
}
}
}//package
Section 121
//enemy (enemy)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
public class enemy extends MovieClip {
const _bossShield1:int = 3;
const _spider:int = 9;
const _cata:int = 5;
const _dragon:int = 15;
const _boss:int = 999;
const _ratdrop:int = 18;
const _sheep:int = 3;
const _rat:int = 17;
const _chicken:int = 19;
const _crow:int = 6;
const _bomb:int = 11;
const _bossSp1:int = 6;
const _barb:int = 7;
const _ghost:int = 14;
const _pc:int = 0;
const _defenseLine:int = 455;
const _bird:int = 16;
const _bossSp2:int = 20;
const _archer:int = 2;
const _knight:int = 8;
const _fly:int = 10;
const _lava:int = 4;
const _bossRampage:int = 15;
const _tank:int = 12;
const _dino:int = 13;
const _ogre:int = 1;
const _bossShield2:int = 10;
public var hp:int;
var deathAnimeDuration;
public var speedOrg;
public var id:int;
var resKnock;// = 1
var exp:int;
var disarmed:int;
var ai:int;
public var speed;
var attack:int;
public var type:int;
public var onMark:Boolean;
var bloodType:int;
var gold:int;
var a;
var colorCount:int;// = 0
var boss;
public var lv:int;
var dir:int;
public var mc:MovieClip;
public var tag:int;
var loot:int;
public var attacking:Boolean;
var rampage:int;
var dirCounter:int;
var x1;
var x2;
var _root;
var multiAction:int;
var attackRange:Array;
var y2;
public var knockBack;
var y1;
var dropping:Boolean;
public var attacked:Boolean;
public var crit:Array;
var eRef;
var drop:int;
var alerted:Boolean;
var counter:int;
public function enemy(){
attackRange = [];
boss = {};
super();
hp = -1;
mc = new enemy_archer();
}
public function nullify(){
mc.gotoAndStop("null");
hp = -1;
deathAnimeDuration = 201;
if (mc.sub != undefined){
stage.removeChild(mc.sub);
};
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
removeChild(mc);
_root.removeChild(this);
}
public function init(_arg1:int){
var _local2:*;
_root = (root as MovieClip);
eRef = _root.eRef[_root.eRefId[_arg1]];
id = _arg1;
if (id == _boss){
lv = _root.mission.level;
} else {
lv = eRef.lv;
};
gold = (1 + int((((Math.random() * eRef.power) / 10) + 5)));
exp = (1 + int((eRef.power * 0.4)));
loot = 6;
bloodType = 50;
type = _root._normal;
drop = 0;
disarmed = 0;
rampage = 0;
colorCount = 0;
knockBack = 0;
attacked = false;
x = -20;
dropping = false;
onMark = false;
alerted = false;
switch (id){
case _boss:
boss.weapon = (1 + int((Math.random() * 2)));
boss.weaponRef = [];
boss.weaponRef = _root.getWeaponInfo(boss.weapon);
boss.action = 3;
boss.count = (100 + int((Math.random() * 60)));
_root.targetBoss = this;
boss.rectile = false;
boss.damage = 0;
hp = (150 + (lv * 25));
boss.hpMax = hp;
attack = (1 + int((lv / 15)));
speed = ((Math.random() * 0.8) + 1.1);
y = (((Math.random() * (_root.groundWidth - 50)) + _root.groundLine) + 25);
crit = [-100, -100, -100, -100];
mc = new ally1();
mc.scaleX = -1;
mc.pic = (51 + (_root.game.boss % 15));
ai = _boss;
resKnock = 0;
_root.game.boss++;
if (_root.mission.bossDay == true){
attack = (int((attack / 2)) + 1);
};
break;
case _bomb:
crit = [-50, -50, 50, 50];
mc = new bullet_grenade3();
x1 = (150 + (Math.random() * 325));
y1 = (200 + (Math.random() * 100));
x2 = 650;
y2 = 240;
a = 0.003;
speed = ((((12 * Math.atan2((Math.abs((x1 - x2)) * 2), Math.abs((y1 - y2)))) * 2) / Math.PI) + 0.1);
counter = (int((Math.abs((x1 - x2)) / speed)) + 1);
if (x1 > x2){
speed = (speed * -1);
};
_local2 = 1;
if (_root.medal[_root._medalSister1]){
_local2 = (_local2 + 0.1);
};
if (_root.medal[_root._medalSister2]){
_local2 = (_local2 + 0.2);
};
if (_root.medal[_root._medalSister3]){
_local2 = (_local2 + 0.3);
};
attack = int(((100 + (_root.game.day * 5)) * _local2));
x = x2;
y = y2;
mc.shadowHit = false;
ai = _bomb;
hp = 1;
break;
case _sheep:
hp = 42;
attack = 1;
speed = ((Math.random() * 0.4) + 0.7);
y = ((Math.random() * _root.groundWidth) + _root.groundLine);
crit = [4, 19, -1, 9];
mc = new enemy_sheep();
ai = _ogre;
loot = 6;
resKnock = 0.9;
break;
case _rat:
hp = 16;
attack = 2;
speed = ((Math.random() * 1.3) + 2.7);
y = ((Math.random() * _root.groundWidth) + _root.groundLine);
crit = [-6, 9, -11, 1];
mc = new enemy_rat();
ai = _rat;
loot = 28;
resKnock = 1.1;
break;
case _ratdrop:
dropping = true;
if (Math.random() > 0.5){
x2 = -0.5;
} else {
x2 = 0.5;
};
hp = 66;
attack = 3;
speed = ((Math.random() * 1.3) + 2.7);
y = ((Math.random() * _root.groundWidth) + _root.groundLine);
crit = [-6, 9, -11, 1];
mc = new enemy_rat();
ai = _rat;
loot = 28;
resKnock = 1.1;
break;
case _archer:
hp = 38;
attack = 3;
attackRange = [290, 400];
speed = ((Math.random() * 0.7) + 0.8);
y = ((Math.random() * _root.groundWidth) + _root.groundLine);
crit = [-7, 9, -20, -8];
mc = new enemy_archer();
ai = _archer;
loot = 29;
counter = 120;
resKnock = 0.8;
break;
case _chicken:
hp = 54;
attack = 1;
attackRange = [40, 350];
speed = ((Math.random() * 1.3) + 1.3);
y = ((Math.random() * _root.groundWidth) + _root.groundLine);
crit = [-4, 4, -12, -4];
mc = new enemy_chicken();
ai = _chicken;
loot = 6;
counter = 160;
resKnock = 1;
break;
case _crow:
hp = 34;
attack = 5;
attackRange = [360, 460, 280];
speed = ((Math.random() * 1.5) + 1.6);
y = ((Math.random() * _root.airWidth) + _root.airLine);
crit = [5, 18, -1, 16];
mc = new enemy_crow();
ai = _crow;
type = _root._air;
loot = 30;
resKnock = 1;
break;
case _bird:
hp = 150;
attack = 3;
attackRange = [360, 460];
speed = ((Math.random() * 0.5) + 1.2);
y = ((Math.random() * _root.airWidth) + _root.airLine);
crit = [6, 19, -9, -1];
mc = new enemy_bird();
ai = _bird;
type = _root._air;
loot = 30;
resKnock = 0.3;
break;
case _ogre:
hp = 500;
attack = 10;
speed = ((Math.random() * 0.6) + 0.9);
y = ((Math.random() * _root.groundWidth) + _root.groundLine);
crit = [-14, 17, 7, 19];
mc = new enemy_ogre();
ai = _ogre;
loot = 31;
resKnock = 0.2;
break;
case _lava:
hp = 72;
attack = 12;
speed = ((Math.random() * 2) + 4.5);
y = ((Math.random() * _root.groundWidth) + _root.groundLine);
crit = [-9, 9, -19, -7];
mc = new enemy_lava();
ai = _lava;
loot = 31;
break;
case _cata:
hp = 240;
attack = 11;
attackRange = [150, 350];
speed = ((Math.random() * 0.4) + 1.1);
y = ((Math.random() * _root.groundWidth) + _root.groundLine);
crit = [-20, -6, -22, -7];
mc = new enemy_cata();
ai = _cata;
type = _root._armor;
bloodType = 125;
loot = 32;
resKnock = 0;
break;
case _barb:
hp = 85;
attack = 5;
speed = ((Math.random() * 0.8) + 1.2);
y = ((Math.random() * _root.groundWidth) + _root.groundLine);
crit = [-9, 7, -19, -8];
mc = new enemy_barb();
ai = _ogre;
loot = 7;
resKnock = 0.8;
break;
case _knight:
hp = 180;
attack = 6;
speed = ((Math.random() * 0.7) + 0.8);
y = ((Math.random() * _root.groundWidth) + _root.groundLine);
crit = [-4, 8, -2, 9];
mc = new enemy_knight();
ai = _ogre;
type = _root._armor;
loot = 7;
resKnock = 0.3;
break;
case _spider:
hp = 135;
attack = 5;
if (Math.random() > 0.5){
dir = 1;
} else {
dir = -1;
};
speed = ((Math.random() * 2) + 6);
y = ((Math.random() * _root.groundWidth) + _root.groundLine);
crit = [-21, -8, -16, 5];
mc = new enemy_spider();
ai = _spider;
loot = 33;
break;
case _fly:
hp = 2;
attack = 2;
attackRange = [360, 460];
speed = ((Math.random() * 1) + 1.8);
y = ((((Math.random() * _root.airWidth) / 1.5) + _root.airLine) + 40);
crit = [-100, -100, -100, -100];
mc = new enemy_fly();
ai = _fly;
type = _root._air;
loot = 33;
break;
case _tank:
hp = 520;
attack = 14;
attackRange = [150, 350];
speed = ((Math.random() * 0.7) + 1.4);
y = ((Math.random() * _root.groundWidth) + _root.groundLine);
crit = [-9, 6, -26, -15];
mc = new enemy_tank();
ai = _cata;
type = _root._armor;
bloodType = 125;
loot = 32;
resKnock = 0;
break;
case _dino:
hp = 700;
attack = 25;
attackRange = [190, 400];
speed = ((Math.random() * 1.3) + 1.7);
y = ((Math.random() * _root.groundWidth) + _root.groundLine);
crit = [-100, -100, -100, -100];
mc = new enemy_dino();
ai = _dino;
counter = (50 + int((Math.random() * 70)));
loot = 34;
resKnock = 0.2;
break;
case _ghost:
hp = 120;
attack = 6;
speed = ((Math.random() * 1.5) + 1);
y = ((Math.random() * _root.groundWidth) + _root.groundLine);
crit = [-6, 12, -38, -25];
mc = new enemy_ghost();
ai = _ghost;
loot = 6;
resKnock = 1;
break;
case _dragon:
hp = 600;
attack = 6;
attackRange = [200, 400];
speed = ((Math.random() * 0.8) + 1);
y = (((Math.random() * _root.airWidth) + _root.airLine) + 20);
crit = [-100, -100, -100, -100];
mc = new enemy_dragon();
ai = _dragon;
type = _root._air;
counter = (80 + int((Math.random() * 50)));
loot = 34;
resKnock = 0.4;
break;
};
if (id == _boss){
mc.sub = (new hpbar() as MovieClip);
mc.sub.y = -20;
stage.addChild(mc.sub);
} else {
mc.sub = undefined;
};
y = int(y);
if (id != _boss){
hp = int((((hp * _root.mission.hpFix) * (100 + _root.mission.strength)) / 100));
attack = int(((attack * (100 + (_root.mission.strength / 2.5))) / 100));
};
speed = ((speed * (100 + (_root.mission.strength / 8))) / (100 + _root.PARTY.THREAT));
speedOrg = speed;
this.addChild(mc);
mc.gotoAndPlay("init");
addEventListener(Event.ENTER_FRAME, onEnterFrame);
alpha = 1;
deathAnimeDuration = 0;
attacking = false;
if (id == _ratdrop){
_root.setChildIndex(this, (_root.numChildren - 1));
} else {
sortIndex();
};
}
public function kill(){
_root.clearTarget();
hp = -1;
if (mc.sub != undefined){
stage.removeChild(mc.sub);
mc.sub = undefined;
};
if (dropping == false){
mc.gotoAndPlay("dead");
} else {
mc.rat.gotoAndPlay("dead");
};
}
public function damage(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int){
var _local8:MovieClip;
var _local9:MovieClip;
var _local10:MovieClip;
var _local11:*;
var _local12:MovieClip;
var _local13:int;
var _local14:*;
if (isDead()){
return;
};
if (id == _bomb){
nullify();
_root.player.money[0] = (_root.player.money[0] + _root.PARTY.LOVE);
_root.game.totalMoney = (_root.game.totalMoney + _root.PARTY.LOVE);
_root.game.sistersExploded++;
_root.updateGold();
_root.explode(_arg5, -1, _arg3, _arg4, attack, 0);
return;
};
var _local7:int = bloodType;
if (_arg6){
if (_arg5 == _pc){
if (_root.blendCounter == 0){
_root.blendCounter = 7;
};
};
_arg1 = (_arg1 * 2);
};
if (_arg5 == -1){
};
if (_arg2 != -1){
if (type == _root._air){
_arg1 = int((((_arg1 * _root.inventory.dmgAir[_arg2]) * (100 + _root.CALC.ANTI_AIR(_arg5))) / 10000));
if (_root.inventory.dmgAir[_arg2] < 60){
_root.sound_low.play(0, 0, _root.soundPos(x));
_local7 = 140;
};
};
if (type == _root._armor){
_arg1 = int((((_arg1 * _root.inventory.dmgArmor[_arg2]) * (100 + _root.CALC.ANTI_ARMOR(_arg5))) / 10000));
if (_root.inventory.dmgArmor[_arg2] < 60){
_root.sound_low.play(0, 0, _root.soundPos(x));
_local7 = 140;
};
};
if (((((_root.inventory.leech[_arg2]) && ((_root.game.castleHP > 0)))) && (((Math.random() * (_root.inventory.shootRate[_arg2] + 50)) < 10)))){
_root.game.castleHP = (_root.game.castleHP + (int(((_arg1 * _root.inventory.leech[_arg2]) / 100)) + 1));
if (_root.game.castleHP > _root.game.castleMHP){
_root.game.castleHP = _root.game.castleMHP;
};
_root.castleHPText.text = ((_root.game.castleHP + "/") + _root.game.castleMHP);
};
if (((_root.player.trait[_arg5][_root.TRAIT.DISARM]) && ((disarmed == 0)))){
disarmed = _root.CALC.CRIPPLE_SHOT(_arg5);
attack = ((attack * 100) / (100 + disarmed));
colorCount = 12;
mc.transform.colorTransform = new ColorTransform(0.7, 0.7, 1, 1, 0, 0, 0, 0);
};
if (_root.player.trait[_arg5][_root.TRAIT.CRIPPLE_SHOT]){
speedOrg = ((speedOrg * 100) / (100 + _root.CALC.CRIPPLE_SHOT(_arg5)));
if (speedOrg < 0.4){
speedOrg = 0.4;
};
if (speed != 0){
speed = speedOrg;
};
};
if (resKnock != 0){
knockBack = int(((_root.CALC.SHERIFF(_arg5) + _root.inventory.impact[_arg2]) * resKnock));
if (knockBack){
knockBack = (knockBack + 3);
if ((((((id == _dino)) && (attacking))) && ((Math.random() > 0.05)))){
knockBack = 0;
};
};
};
};
if (ai == _boss){
if (boss.action == 6){
_root.sound_low.play(0, 0, _root.soundPos(x));
_local7 = 140;
_arg1 = ((_arg1 / 10) + 1);
};
};
_local8 = new effect();
_local8.x = (_arg3 - x);
_local8.y = (_arg4 - y);
_local8.gotoAndPlay(_local7);
mc.addChild(_local8);
if (_arg6){
_local9 = new effect();
_local9.x = (_arg3 - x);
_local9.y = (_arg4 - y);
_local9.gotoAndPlay("critical");
mc.addChild(_local9);
};
if (_arg5 == 0){
if (((_root.game.optionShowDamage) && (!((_arg6 == 3))))){
_local10 = new showdamage();
_local10.x = (_arg3 + 10);
_local10.y = (_arg4 + 4);
_local10.msg = ("" + _arg1);
stage.addChild(_local10);
};
} else {
if (((_root.game.optionShowAllyDamage) && (!((_arg6 == 3))))){
_local10 = new showdamage();
_local10.x = (_arg3 + 10);
_local10.y = (_arg4 + 4);
_local10.msg = ("" + _arg1);
stage.addChild(_local10);
};
};
hp = (hp - _arg1);
if (isDead()){
if (_arg6){
_local12 = new critKill();
_local12.x = x;
_local12.y = (y - 12);
if (_arg6 == 3){
_local12.msg = "ONE HIT KILL!";
} else {
if (_arg6 == 2){
_local12.msg = "CRITICAL KILL!";
} else {
_local12.msg = _root.critMsg[_root.critArray[id]];
};
};
stage.addChild(_local12);
};
kill();
_root.game.totalKill++;
if (bloodType == 125){
_local13 = 0;
while (_local13 < 4) {
_local8 = new effect();
_local8.x = ((mc.x + (Math.random() * 36)) - 18);
_local8.y = ((mc.y + (Math.random() * 20)) - 8);
_local8.gotoAndPlay(bloodType);
mc.addChild(_local8);
_local13++;
};
};
_local11 = ((150 * 100) / (100 + _root.CALC.LUCK(_arg5)));
if (_root.player.rampage[_arg5] > 0){
_local11 = (_local11 / 1.5);
};
var _local15 = _root.player.kill;
var _local16 = _arg5;
var _local17 = (_local15[_local16] + 1);
_local15[_local16] = _local17;
_local15 = _root.player.wexp[_arg5];
_local16 = _root.player.wexpRef[_arg5];
_local17 = (_local15[_local16] + 1);
_local15[_local16] = _local17;
if (_root.CALC.RANGER(_arg5)){
_root.player.frenzy[_arg5] = (_root.player.frenzy[_arg5] + int(((exp * 125) / (100 + (_root.player.lv[_arg5] * 5)))));
_root.rampageRanger(_arg5);
};
exp = (exp * _root.mission.expFix);
if (_root.game.casual == true){
exp = (exp * 1.35);
};
if (_arg5 != _pc){
if ((_root.game.day / 1.5) > _root.player.lv[_arg5]){
_local15 = _root.player.wexp[_arg5];
_local16 = _root.player.wexpRef[_arg5];
_local17 = (_local15[_local16] + 1);
_local15[_local16] = _local17;
exp = (exp * 2);
};
exp = (exp * 1.5);
} else {
if (_root.game.tight == true){
exp = (exp * 0.7);
};
};
if ((lv + 3) < _root.player.lv[_arg5]){
exp = ((exp * 100) / (100 + ((_root.player.lv[_arg5] - lv) * 75)));
};
if (_root.CALC.NOBLE(_arg5)){
exp = (exp * 1.4);
};
if (_arg6){
if (_root.CALC.ROGUE(_arg5)){
_local11 = 1;
};
if (_root.CALC.KILLER(_arg5)){
exp = ((exp * (100 + _root.CALC.KILLER(_arg5))) / 100);
};
_root.rampage(_arg5);
};
if (_arg5 == _root.pc){
_root.player.exp[_arg5] = (_root.player.exp[_arg5] + int(exp));
} else {
_root.player.exp[_arg5] = (_root.player.exp[_arg5] + int((exp * _root.trainerFix())));
};
if (_root.player.exp[_arg5] >= 1000){
_root.levelUp(_arg5, true);
};
if (_arg5 == _root._pc){
_root.updateLv();
if (_arg6){
_root.mission.criticalCount++;
_root.criticalMedal();
};
if (((_arg6) && ((_root.sister.dead == false)))){
_root.sister.gotoAndPlay("kill");
_root.sound_goodshot[int((Math.random() * _root.sound_goodshot.length))].play(0, 0, _root.trans[9]);
};
};
if (int((Math.random() * _local11)) <= 10){
drop = 1;
if (_root.CALC.ROGUE(_arg5)){
gold = int(((gold * (100 + _root.CALC.ROGUE(_arg5))) / 100));
if (int((Math.random() * 100)) < _root.CALC.LUCK(_arg5)){
gold = (gold * 2);
};
};
_root.player.earn[_arg5] = (_root.player.earn[_arg5] + gold);
};
if ((((int(((Math.random() * _root.mission.group[_root.mission.wave]) * 5)) == 0)) || ((int(((Math.random() * 400) * _root.mission.group[_root.mission.wave])) < _root.PARTY.SCAVENGER)))){
drop = 2;
_root.mission.loot.push(loot);
};
if (id == _boss){
_root.targetBoss = undefined;
_root.text_effect("Good Job!!");
_root.mission.bossKilled++;
drop = 1;
};
return;
};
if ((((((id == _barb)) && ((rampage == 0)))) && ((Math.random() > 0.75)))){
rampage = 100;
if (speed != 0){
speed = ((speed * 1.5) + 1.7);
};
speedOrg = (speedOrg * ((speedOrg * 1.5) + 1.7));
attack = (int((attack * 0.5)) + 1);
_root.sound_rampageEnemy.play(0, 0, _root.soundPos(x));
_local14 = (new ef_rampage_enemy() as MovieClip);
_local14.y = 20;
mc.addChild(_local14);
};
if (id == _boss){
if ((((((rampage == 0)) && ((lv >= _bossRampage)))) && ((hp < (boss.hpMax / 2))))){
rampage = 100;
speed = (speed * 1.5);
speedOrg = (speedOrg * 1.5);
_root.sound_rampageEnemy.play(0, 0, _root.soundPos(x));
_local14 = (new ef_rampage_enemy() as MovieClip);
_local14.y = 20;
mc.addChild(_local14);
_root.text_effect("The boss gone mad!");
};
if (boss.action == 5){
_arg1 = (_arg1 * 2);
};
boss.damage = (boss.damage + _arg1);
if (((((!((boss.action == 6))) && ((((boss.damage >= ((Math.random() * boss.hpMax) * 2))) || ((_arg1 >= (Math.random() * boss.hpMax))))))) && ((lv >= _bossShield2)))){
boss.count = (20 + int((Math.random() * 30)));
boss.action = 6;
mc.gotoAndPlay("shield");
boss.damage = 0;
};
};
}
public function isDead(){
if (hp < 1){
return (true);
};
return (false);
}
public function isFree(){
if ((((deathAnimeDuration < 200)) || ((isDead() == false)))){
return (false);
};
return (true);
}
public function onEnterFrame(_arg1:Event){
var _local2:MovieClip;
var _local3:MovieClip;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:int;
var _local8:*;
if (colorCount){
colorCount--;
if (colorCount == 0){
mc.transform.colorTransform = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
};
};
if (isDead()){
if (dropping){
mc.rat.rotation = 0;
mc.rat.y = (mc.rat.y + 8);
if (mc.rat.y >= mc.shadow.y){
dropping = false;
mc.shadowHit = false;
mc.gotoAndPlay("dead");
sortIndex();
};
};
deathAnimeDuration++;
if (deathAnimeDuration > 200){
return;
};
if (deathAnimeDuration >= 100){
alpha = (alpha * 0.96);
} else {
if (deathAnimeDuration == 50){
if (drop == 1){
_root.sound_gold1.play(0, 0, _root.soundPos(x));
_local2 = new effect();
_local2.x = mc.x;
_local2.y = (mc.y + fixY());
_local2.gotoAndPlay("gold");
mc.addChild(_local2);
_root.player.money[0] = (_root.player.money[0] + gold);
_root.game.totalMoney = (_root.game.totalMoney + gold);
_root.mission.resultTaken = (_root.mission.resultTaken + gold);
_root.updateGold();
};
if (drop == 2){
_root.sound_bag1.play(0, 0, _root.soundPos(x));
_local3 = new effect();
_local3.x = mc.x;
_local3.y = (mc.y + fixY());
_local3.gotoAndPlay("item");
mc.addChild(_local3);
};
};
};
if (deathAnimeDuration == 200){
nullify();
};
return;
};
if (_root.gamePaused){
return;
};
if (id == _boss){
mc.sub.x = (x - 11);
mc.sub.y = (y + 22);
mc.sub.bar.scaleX = (hp / boss.hpMax);
};
if (id != _bomb){
if (tag > 0){
tag--;
} else {
if (x < 150){
if (_root.aiTarget[type][0][1] > x){
_root.aiTarget[type][0] = [this, x];
};
} else {
if (x < 300){
if (_root.aiTarget[type][1][1] > x){
_root.aiTarget[type][1] = [this, x];
};
} else {
if (_root.aiTarget[type][2][1] > x){
_root.aiTarget[type][2] = [this, x];
};
};
};
};
if (knockBack > 0){
if ((((ai == _lava)) && (attacking))){
knockBack = 0;
} else {
if (attacking){
attacking = false;
mc.gotoAndPlay("alive");
speed = speedOrg;
};
knockBack--;
x = (x - ((((knockBack * knockBack) / 40) + (resKnock / 2)) + 0.2));
if (x < (width * -1)){
x = (width * -1);
};
if (dropping == false){
return;
};
};
};
};
switch (ai){
case _ogre:
if (attacking){
break;
};
x = (x + speed);
if (x >= _defenseLine){
speed = 0;
attacking = true;
mc.gotoAndPlay("attack");
};
break;
case _boss:
if ((((x > 20)) && ((boss.rectile == false)))){
_local6 = (new rectile() as MovieClip);
_local6.x = 13;
_local6.y = -20;
mc.sub.addChild(_local6);
boss.rectile = true;
};
multiAction = 0;
for (;multiAction < ((rampage == 0)) ? 1 : 2;multiAction++) {
if (boss.idle > 0){
boss.idle--;
} else {
if (boss.action == 1){
boss.idle = boss.weaponRef[5];
mc.gotoAndPlay(boss.weaponRef[1]);
_root.damageCastle(this, int((attack * boss.weaponRef[6])));
boss.weaponRef[0].play(0, 0, _root.soundPos(x));
boss.fireNum--;
if (boss.fireNum <= 0){
if (int((Math.random() * 2)) == 0){
boss.action = -1;
};
boss.idle = (100 + int((Math.random() * 100)));
};
} else {
if (boss.action == 2){
x = (x + speed);
boss.count--;
if (boss.count <= 0){
if ((((Math.random() < 0.15)) && ((lv >= _bossShield1)))){
boss.count = (100 + int((Math.random() * 100)));
boss.action = 6;
mc.gotoAndPlay("shield");
continue;
};
if ((((Math.random() < 0.2)) && ((lv >= _bossSp1)))){
mc.scaleX = -1;
speed = 0;
boss.action = 5;
boss.spAttack = [60, 184, 1];
if ((((Math.random() < 0.5)) && ((lv >= _bossSp2)))){
boss.spAttack = [100, 184, 0];
};
boss.idle = (boss.spAttack[0] + int(((Math.random() * boss.spAttack[0]) / 2)));
mc.gotoAndPlay(boss.spAttack[1]);
continue;
};
mc.scaleX = -1;
boss.action = 1;
speed = 0;
boss.fireNum = ((boss.weaponRef[4] / 2) + int((Math.random() * boss.weaponRef[4])));
boss.idle = (50 + int((Math.random() * 100)));
mc.gotoAndPlay(boss.weaponRef[2]);
};
} else {
if (boss.action == 3){
mc.scaleX = -1;
mc.gotoAndPlay("walk");
speed = speedOrg;
boss.action = 2;
} else {
if (boss.action == 4){
mc.scaleX = 1;
mc.gotoAndPlay("walk");
speed = (speedOrg * -1);
boss.action = 2;
} else {
if (boss.action == 5){
boss.action = -1;
boss.idle = (25 + int((Math.random() * 25)));
if (boss.spAttack[2] == 0){
mc.gotoAndPlay(170);
_root.throwRocket(-1, -1, x, y, ((_root.player_mc[0].x + (Math.random() * 120)) - 20), ((_root.player_mc[0].y + (Math.random() * 100)) - 50), 7, -1, 1);
_root.damageCastle(this, int((attack * 5)));
_root.sound_gun13.play(0, 0, _root.soundPos(x));
};
if (boss.spAttack[2] == 1){
mc.gotoAndPlay(170);
_root.throwGrenade(-1, -1, x, y, ((_root.player_mc[0].x + (Math.random() * 120)) - 20), ((_root.player_mc[0].y + (Math.random() * 100)) - 50), 12, -1, 1);
_root.damageCastle(this, int((attack * 3)));
_root.sound_gun11.play(0, 0, _root.soundPos(x));
};
} else {
if (boss.action == 6){
boss.count--;
mc.scaleX = -1;
speed = 0;
if (boss.count <= 0){
boss.action = 2;
};
} else {
boss.action = 3;
boss.count = (40 + (Math.random() * 40));
if ((((x > 380)) || ((((x >= 100)) && ((int((Math.random() * 3)) == 0)))))){
boss.action = 4;
boss.count = (20 + (Math.random() * 40));
};
};
};
};
};
};
};
};
};
break;
case _dino:
if (attacking){
if ((((x < attackRange[0])) && ((attacked == true)))){
attacked = false;
attacking = false;
mc.gotoAndPlay("alive");
speed = speedOrg;
};
break;
};
x = (x + speed);
if (x >= attackRange[0]){
if ((Math.random() * (attackRange[1] - x)) <= 5){
attacking = true;
speed = 0;
mc.gotoAndPlay("attack");
};
} else {
counter--;
if (counter < 0){
counter = 80;
attacking = true;
speed = 0;
mc.gotoAndPlay("attack");
};
};
break;
case _cata:
if (attacking){
if ((((x < attackRange[0])) && ((attacked == true)))){
attacked = false;
attacking = false;
mc.gotoAndPlay("stand");
speed = speedOrg;
};
break;
};
x = (x + speed);
if (x >= attackRange[0]){
if ((Math.random() * (attackRange[1] - x)) <= 3){
attacking = true;
speed = 0;
mc.gotoAndPlay("attack");
};
};
break;
case _chicken:
if (attacking){
if (attacked == true){
attacked = false;
attacking = false;
mc.gotoAndPlay("wait");
};
break;
};
x = (x + speed);
if (speed == 0){
if ((((x >= attackRange[0])) && (((Math.random() * (attackRange[1] - x)) <= 2)))){
attacking = true;
mc.gotoAndPlay("attack");
break;
};
if ((((x <= attackRange[1])) && ((Math.random() > 0.98)))){
speed = speedOrg;
mc.gotoAndPlay("alive");
};
};
break;
case _archer:
if (attacking){
if ((((x < attackRange[0])) && ((attacked == true)))){
attacked = false;
attacking = false;
mc.gotoAndPlay("stand");
speed = speedOrg;
};
break;
};
x = (x + speed);
if (x >= attackRange[0]){
if ((Math.random() * (attackRange[1] - x)) <= 3.5){
attacking = true;
speed = 0;
mc.gotoAndPlay("attack");
};
} else {
counter--;
if (counter < 0){
counter = 80;
attacking = true;
speed = 0;
mc.gotoAndPlay("attack");
};
};
break;
case _lava:
x = (x + speed);
if ((((x >= (_defenseLine - 300))) && ((alerted == false)))){
_root.alert(this);
alerted = true;
};
if ((((x >= _defenseLine)) && ((attacking == false)))){
attacking = true;
mc.gotoAndPlay("attack");
};
break;
case _fly:
dirCounter++;
if (dirCounter < 40){
x = (x + speed);
} else {
if (dirCounter == 40){
sortIndex();
speed = 0;
};
if (Math.random() < 0.02){
speed = speedOrg;
dirCounter = 0;
};
};
if (x > 640){
_root.sound_damage1.play(0, 0, _root.soundPos(x));
_root.damageCastle(undefined, attack);
nullify();
};
break;
case _crow:
if (attacking){
speed = (speed + 0.5);
y = (y + 1);
if (x > 640){
_root.sound_damage1.play(0, 0, _root.soundPos(x));
_root.damageCastle(undefined, attack);
nullify();
};
};
x = (x + speed);
if ((((x >= (_defenseLine - 250))) && ((alerted == false)))){
_root.alert(this);
alerted = true;
};
if (x >= attackRange[0]){
if ((Math.random() * (attackRange[1] - x)) <= 3){
attacking = true;
mc.gotoAndPlay("attack");
};
};
break;
case _rat:
if (dropping){
mc.rat.y = (mc.rat.y + 1.5);
x = (x + x2);
if (x2 > 0){
if (mc.rat.rotation < 10){
mc.rat.rotation = (mc.rat.rotation + 0.7);
};
} else {
if (mc.rat.rotation > -10){
mc.rat.rotation = (mc.rat.rotation - 0.7);
};
};
if (Math.random() > 0.95){
x2 = (x2 * -1);
};
if (x >= _defenseLine){
x = _defenseLine;
};
if (mc.rat.y >= mc.shadow.y){
mc.rat.rotation = 0;
dropping = false;
mc.shadowHit = false;
mc.gotoAndPlay("alive");
sortIndex();
};
break;
};
if (attacking){
break;
};
x = (x + speed);
if (x >= _defenseLine){
speed = 0;
attacking = true;
mc.gotoAndPlay("attack");
};
break;
case _bird:
x = (x + speed);
if ((((x < 350)) && ((Math.random() > 0.988)))){
_local7 = _root.spawnEnemy(_ratdrop);
if (_local7 != -1){
_root.enemyArray[_local7].x = x;
_root.enemyArray[_local7].y1 = (y + 30);
_root.sound_drop.play(0, 0, _root.soundPos(x));
};
};
if (x > 640){
nullify();
};
break;
case _spider:
if (attacking){
break;
};
dirCounter++;
if (dirCounter < 10){
x = (x + speed);
y = (y + ((speed / 2) * dir));
if (y < _root.groundLine){
dirCounter = 20;
};
if (y > (_root.groundWidth + _root.groundLine)){
dirCounter = 20;
};
} else {
if (dirCounter == 10){
sortIndex();
mc.gotoAndStop("stop");
speed = 0;
};
if (Math.random() < 0.02){
mc.gotoAndPlay("alive");
dir = (dir * -1);
speed = speedOrg;
if (y < (_root.groundLine + 40)){
dir = 1;
};
if (y > ((_root.groundWidth + _root.groundLine) - 40)){
dir = -1;
};
dirCounter = 0;
};
};
if (x >= _defenseLine){
sortIndex();
attacking = true;
mc.gotoAndPlay("attack");
speed = 0;
};
break;
case _ghost:
if (attacking){
break;
};
dirCounter++;
if (dirCounter < 100){
x = (x + speed);
} else {
if (dirCounter == 100){
mc.gotoAndStop("stop");
speed = 0;
};
if (Math.random() < 0.02){
mc.gotoAndPlay("alive");
speed = speedOrg;
dirCounter = 0;
};
};
if (x >= _defenseLine){
sortIndex();
attacking = true;
mc.gotoAndPlay("attack");
speed = 0;
};
break;
case _dragon:
if (attacking){
if ((((x < attackRange[0])) && ((attacked == true)))){
attacked = false;
attacking = false;
mc.gotoAndPlay("alive");
speed = speedOrg;
};
break;
};
x = (x + speed);
if (x >= attackRange[0]){
if ((Math.random() * (attackRange[1] - x)) <= 4){
attacking = true;
speed = 0;
mc.gotoAndPlay("attack");
};
} else {
counter--;
if (counter < 0){
counter = 80;
attacking = true;
speed = 0;
mc.gotoAndPlay("attack");
};
};
break;
case _bomb:
counter--;
x = (x - speed);
_local4 = ((((y1 - y2) - ((a * x1) * x1)) + ((a * x2) * x2)) / (x1 - x2));
_local5 = ((y1 - ((a * x1) * x1)) - (_local4 * x1));
y = ((((a * x) * x) + (_local4 * x)) + _local5);
if (counter == 0){
x2 = (x2 - 50);
a = 0;
mc.shadow.scaleX = 2;
mc.shadow.scaleY = 1.4;
speed = (speed / 2);
};
if (counter < 0){
mc.shadow.y = 2;
if (speed <= 0){
speed = 0;
break;
};
if (speed < 0.5){
_local8 = (Math.abs(mc.mc.rotation) % 360);
if ((((_local8 > 180)) || ((_local8 < 90)))){
speed = (speed - 0.2);
};
} else {
speed = ((speed / 1.05) - 0.01);
};
mc.mc.rotation = (mc.mc.rotation - (speed * 6.7));
break;
};
mc.shadow.y = (((y1 - y2) * (x - x2)) / (x1 - x2));
mc.shadow.y = (mc.shadow.y + (y2 - y));
mc.mc.rotation = (mc.mc.rotation - 4);
break;
};
}
public function sortIndex(){
var _local1:*;
var _local2 = -1;
_local1 = 1000;
var _local3:int;
while (_local3 < _root.maxEnemy) {
if ((((((_root.enemyArray[_local3].y > y)) && ((_root.enemyArray[_local3].y < _local1)))) && ((_root.enemyArray[_local3].isFree() == false)))){
_local1 = _root.enemyArray[_local3].y;
_local2 = _local3;
};
_local3++;
};
if (_local2 != -1){
_root.setChildIndex(this, _root.getChildIndex(_root.enemyArray[_local2]));
};
}
function fixY(){
if (id == _crow){
return (130);
};
if (id == _fly){
return (130);
};
return (0);
}
}
}//package
Section 122
//enemy_archer (enemy_archer)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class enemy_archer extends MovieClip {
public var shadow:MovieClip;
public var _root;
public var _parent;
public var shadowHit:Boolean;
public var mc:MovieClip;
public function enemy_archer(){
addFrameScript(0, frame1, 24, frame25, 27, frame28, 58, frame59, 81, frame82, 93, frame94, 124, frame125);
}
function frame1(){
_root = (root as MovieClip);
_parent = (parent as MovieClip);
shadowHit = true;
}
function frame94(){
_root.sound_dead2.play(0, 0, _root.soundPos(_parent.x));
}
function frame82(){
gotoAndPlay("attack");
}
function frame25(){
gotoAndPlay("alive");
}
function frame59(){
mc = new arrow();
mc.x = _parent.x;
mc.y = 0;
mc.dx = (((700 - _parent.x) / 30) * -1);
mc.dy = (_parent.y - ((mc.dx * mc.dx) / 3));
mc.sy = (_parent.y + 11);
_root.sound_bow1.play(0, 0, _root.soundPos(_parent.x));
_parent.attacked = true;
stage.addChild(mc);
if (_root.gamePaused == false){
_root.damageCastle(_parent, _parent.attack);
};
}
function frame28(){
_root.alert(_parent);
}
function frame125(){
stop();
}
}
}//package
Section 123
//enemy_barb (enemy_barb)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class enemy_barb extends MovieClip {
public var shadow:MovieClip;
public var _root;
public var _parent;
public var shadowHit:Boolean;
public function enemy_barb(){
addFrameScript(0, frame1, 22, frame23, 25, frame26, 26, frame27, 44, frame45, 52, frame53, 71, frame72, 83, frame84, 118, frame119);
}
function frame1(){
_root = (root as MovieClip);
_parent = (parent as MovieClip);
shadowHit = true;
}
function frame72(){
gotoAndPlay("attack");
}
function frame53(){
if (_parent.rampage){
gotoAndPlay("attack");
};
}
function frame119(){
stop();
}
function frame23(){
gotoAndPlay("alive");
}
function frame84(){
_root.sound_dead2.play(0, 0, _root.soundPos(_parent.x));
}
function frame26(){
_root.alert(_parent);
}
function frame45(){
if (_root.gamePaused == false){
_root.sound_damage1.play(0, 0, _root.soundPos(_parent.x));
_root.damageCastle(_parent, _parent.attack);
};
}
function frame27(){
if (_parent.rampage){
gotoAndPlay("attack2");
};
}
}
}//package
Section 124
//enemy_bird (enemy_bird)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class enemy_bird extends MovieClip {
public var shadow:MovieClip;
public var _root;
public var _parent;
public var sound:Boolean;
public var shadowHit:Boolean;
public function enemy_bird(){
addFrameScript(0, frame1, 22, frame23, 29, frame30, 32, frame33, 40, frame41, 58, frame59);
}
function frame1(){
_root = (root as MovieClip);
_parent = (parent as MovieClip);
shadow.visible = true;
shadowHit = false;
sound = false;
}
function frame30(){
_root.sound_dead8.play(0, 0, _root.soundPos(_parent.x));
}
function frame33(){
shadow.visible = true;
}
function frame23(){
gotoAndPlay("alive");
}
function frame41(){
shadowHit = true;
}
function frame59(){
stop();
}
}
}//package
Section 125
//enemy_cata (enemy_cata)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class enemy_cata extends MovieClip {
public var shadow:MovieClip;
public var _root;
public var _parent;
public var shadowHit:Boolean;
public var mc:MovieClip;
public function enemy_cata(){
addFrameScript(0, frame1, 10, frame11, 13, frame14, 112, frame113, 150, frame151, 162, frame163, 193, frame194);
}
function frame1(){
_root = (root as MovieClip);
_parent = (parent as MovieClip);
shadowHit = true;
_root.sound_cata.play(0, 0, _root.soundPos(_parent.x));
}
function frame163(){
_root.sound_dead4.play(0, 0, _root.soundPos(_parent.x));
}
function frame11(){
gotoAndPlay("alive");
}
function frame151(){
gotoAndPlay("attack");
}
function frame14(){
_root.alert(_parent);
}
function frame113(){
mc = new bolt();
mc.x = (_parent.x + 50);
mc.dx = (((700 - _parent.x) / 30) * -1);
mc.dy = ((_parent.y - ((mc.dx * mc.dx) / 8)) - 25);
mc.mc.rotation = (mc.dx + 90);
mc.y = 0;
mc.sy = (_parent.y + 10);
_root.sound_bow1.play(0, 0, _root.soundPos(_parent.x));
stage.addChild(mc);
if (_root.gamePaused == false){
_root.damageCastle(_parent, _parent.attack);
};
}
function frame194(){
stop();
}
}
}//package
Section 126
//enemy_chicken (enemy_chicken)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class enemy_chicken extends MovieClip {
public var _root;
public var _parent;
public var shadowHit:Boolean;
public var mc:MovieClip;
public var shadow:MovieClip;
public function enemy_chicken(){
addFrameScript(0, frame1, 28, frame29, 31, frame32, 33, frame34, 36, frame37, 46, frame47, 57, frame58, 77, frame78, 101, frame102, 104, frame105, 135, frame136, 152, frame153, 195, frame196, 207, frame208, 238, frame239);
}
function frame136(){
mc = new arrowEgg();
mc.x = _parent.x;
mc.y = 0;
mc.dx = (((700 - _parent.x) / 30) * -1);
mc.dy = ((_parent.y - ((mc.dx * mc.dx) / 20)) - 10);
mc.sy = (_parent.y + 4);
_root.sound_chickenAttack.play(0, 0, _root.soundPos(_parent.x));
stage.addChild(mc);
if (_root.gamePaused == false){
_root.damageCastle(_parent, _parent.attack);
};
}
function frame196(){
gotoAndPlay("attack");
}
function frame239(){
stop();
}
function frame32(){
_parent.speed = (_parent.speed * 0.75);
}
function frame34(){
_parent.speed = (_parent.speed * 0.75);
}
function frame58(){
if (Math.random() > 0.5){
gotoAndPlay((50 + int((Math.random() * 5))));
};
}
function frame37(){
_parent.speed = 0;
}
function frame78(){
_parent.attacking = false;
}
function frame153(){
_parent.attacked = true;
}
function frame1(){
_root = (root as MovieClip);
_parent = (parent as MovieClip);
shadowHit = true;
_root.sound_chicken.play(0, 0, _root.soundPos(_parent.x));
}
function frame105(){
_root.alert(_parent);
}
function frame102(){
gotoAndPlay("wait");
}
function frame47(){
_parent.attacking = true;
}
function frame29(){
_parent.speed = (_parent.speed * 0.75);
}
function frame208(){
_root.sound_deadChicken.play(0, 0, _root.soundPos(_parent.x));
}
}
}//package
Section 127
//enemy_crow (enemy_crow)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class enemy_crow extends MovieClip {
public var shadow:MovieClip;
public var _root;
public var _parent;
public var shadowHit:Boolean;
public var sound:Boolean;
public function enemy_crow(){
addFrameScript(0, frame1, 23, frame24, 26, frame27, 45, frame46, 57, frame58, 60, frame61, 68, frame69, 86, frame87);
}
function frame1(){
_root = (root as MovieClip);
_parent = (parent as MovieClip);
shadow.visible = true;
shadowHit = false;
sound = false;
}
function frame61(){
shadow.visible = true;
}
function frame87(){
stop();
}
function frame24(){
if (sound == false){
sound = true;
_root.sound_crow.play(0, 0, _root.soundPos(_parent.x));
};
}
function frame58(){
_root.sound_dead5.play(0, 0, _root.soundPos(_parent.x));
}
function frame46(){
gotoAndPlay("attack");
}
function frame69(){
shadowHit = true;
}
function frame27(){
gotoAndPlay("alive");
}
}
}//package
Section 128
//enemy_dino (enemy_dino)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class enemy_dino extends MovieClip {
public var shadow:MovieClip;
public var _root;
public var _parent;
public var shadowHit:Boolean;
public function enemy_dino(){
addFrameScript(0, frame1, 22, frame23, 25, frame26, 145, frame146, 178, frame179, 181, frame182, 193, frame194, 224, frame225);
}
function frame1(){
_root = (root as MovieClip);
_parent = (parent as MovieClip);
shadowHit = true;
}
function frame225(){
stop();
}
function frame146(){
_root.sound_lightning.play(0, 0, _root.soundPos(_parent.x));
if (_root.gamePaused == false){
_root.damageCastle(_parent, _parent.attack);
};
}
function frame23(){
gotoAndPlay("alive");
}
function frame26(){
_root.alert(_parent);
}
function frame179(){
_parent.attacked = true;
}
function frame182(){
_parent.attacked = true;
gotoAndPlay("attack");
}
function frame194(){
_root.sound_dead9.play(0, 0, _root.soundPos(_parent.x));
}
}
}//package
Section 129
//enemy_dragon (enemy_dragon)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class enemy_dragon extends MovieClip {
public var shadow:MovieClip;
public var _root;
public var _parent;
public var sound:Boolean;
public var shadowHit:Boolean;
public var mc:MovieClip;
public function enemy_dragon(){
addFrameScript(0, frame1, 20, frame21, 39, frame40, 42, frame43, 54, frame55, 59, frame60, 62, frame63, 69, frame70, 88, frame89);
}
function frame1(){
_root = (root as MovieClip);
_parent = (parent as MovieClip);
shadow.visible = true;
shadowHit = false;
sound = false;
}
function frame63(){
shadow.visible = true;
}
function frame55(){
mc = new fireball();
mc.x = (_parent.x + 50);
mc.dx = 0;
mc.dy = _parent.y;
mc.mc.rotation = (mc.dx + 90);
mc.y = 0;
mc.sy = (_parent.y + 10);
_root.sound_fireball.play(0, 0, _root.soundPos(_parent.x));
stage.addChild(mc);
_parent.attacked = true;
if (_root.gamePaused == false){
_root.damageCastle(_parent, _parent.attack);
};
}
function frame43(){
_root.alert(_parent);
}
function frame40(){
gotoAndPlay("stand");
}
function frame70(){
shadowHit = true;
}
function frame21(){
gotoAndPlay("alive");
}
function frame89(){
stop();
}
function frame60(){
_root.sound_dead9.play(0, 0, _root.soundPos(_parent.x));
}
}
}//package
Section 130
//enemy_fly (enemy_fly)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class enemy_fly extends MovieClip {
public var shadow:MovieClip;
public var _root;
public var _parent;
public var sound:Boolean;
public var shadowHit:Boolean;
public function enemy_fly(){
addFrameScript(0, frame1, 8, frame9, 11, frame12, 14, frame15, 22, frame23, 40, frame41);
}
function frame1(){
_root = (root as MovieClip);
_parent = (parent as MovieClip);
shadow.visible = true;
shadowHit = false;
sound = false;
}
function frame41(){
stop();
}
function frame9(){
gotoAndPlay("alive");
}
function frame12(){
_root.sound_dead6.play(0, 0, _root.soundPos(_parent.x));
}
function frame15(){
shadow.visible = true;
}
function frame23(){
shadowHit = true;
}
}
}//package
Section 131
//enemy_ghost (enemy_ghost)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class enemy_ghost extends MovieClip {
public var shadow:MovieClip;
public var _root;
public var _parent;
public var shadowHit:Boolean;
public function enemy_ghost(){
addFrameScript(0, frame1, 22, frame23, 29, frame30, 45, frame46, 67, frame68, 79, frame80, 117, frame118);
}
function frame1(){
_root = (root as MovieClip);
_parent = (parent as MovieClip);
shadowHit = true;
shadow.visible = false;
}
function frame80(){
_root.sound_dead2.play(0, 0, _root.soundPos(_parent.x));
}
function frame30(){
_root.alert(_parent);
}
function frame118(){
stop();
}
function frame23(){
stop();
}
function frame46(){
if (_root.gamePaused == false){
_root.sound_damage1.play(0, 0, _root.soundPos(_parent.x));
_root.damageCastle(_parent, _parent.attack);
};
}
function frame68(){
gotoAndPlay("attack");
}
}
}//package
Section 132
//enemy_knight (enemy_knight)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class enemy_knight extends MovieClip {
public var shadow:MovieClip;
public var _root;
public var _parent;
public var shadowHit:Boolean;
public function enemy_knight(){
addFrameScript(0, frame1, 29, frame30, 32, frame33, 51, frame52, 70, frame71, 82, frame83, 120, frame121);
}
function frame121(){
stop();
}
function frame1(){
_root = (root as MovieClip);
_parent = (parent as MovieClip);
shadowHit = true;
}
function frame83(){
_root.sound_dead2.play(0, 0, _root.soundPos(_parent.x));
}
function frame30(){
gotoAndPlay("alive");
}
function frame33(){
_root.alert(_parent);
}
function frame71(){
gotoAndPlay("attack");
}
function frame52(){
if (_root.gamePaused == false){
_root.sound_damage1.play(0, 0, _root.soundPos(_parent.x));
_root.damageCastle(_parent, _parent.attack);
};
}
}
}//package
Section 133
//enemy_lava (enemy_lava)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class enemy_lava extends MovieClip {
public var shadow:MovieClip;
public var _root;
public var _parent;
public var shadowHit:Boolean;
public function enemy_lava(){
addFrameScript(0, frame1, 19, frame20, 22, frame23, 34, frame35, 50, frame51, 85, frame86, 97, frame98, 127, frame128);
}
function frame1(){
_root = (root as MovieClip);
_parent = (parent as MovieClip);
shadowHit = true;
}
function frame128(){
stop();
}
function frame20(){
gotoAndPlay("alive");
}
function frame98(){
_root.sound_dead1.play(0, 0, _root.soundPos(_parent.x));
}
function frame23(){
shadowHit = false;
}
function frame35(){
_root.damageCastle(undefined, _parent.attack);
_root.shake(20, 5, 0.9);
_root.sound_exp1.play(0, 0, _root.soundPos(_parent.x));
_parent.hp = -1;
}
function frame51(){
_parent.nullify();
}
function frame86(){
gotoAndPlay("attack");
}
}
}//package
Section 134
//enemy_ogre (enemy_ogre)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class enemy_ogre extends MovieClip {
public var shadow:MovieClip;
public var _root;
public var _parent;
public var shadowHit:Boolean;
public function enemy_ogre(){
addFrameScript(0, frame1, 25, frame26, 28, frame29, 55, frame56, 63, frame64, 75, frame76, 101, frame102);
}
function frame1(){
_root = (root as MovieClip);
_parent = (parent as MovieClip);
shadowHit = true;
}
function frame64(){
gotoAndPlay("attack");
}
function frame76(){
_root.sound_dead1.play(0, 0, _root.soundPos(_parent.x));
}
function frame102(){
stop();
}
function frame56(){
if (_root.gamePaused == false){
_root.sound_damage1.play(0, 0, _root.soundPos(_parent.x));
_root.damageCastle(_parent, _parent.attack);
};
}
function frame26(){
gotoAndPlay("alive");
}
function frame29(){
_root.alert(_parent);
}
}
}//package
Section 135
//enemy_punk (enemy_punk)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class enemy_punk extends MovieClip {
public var _root;
public var _parent;
public function enemy_punk(){
addFrameScript(6, frame7, 21, frame22, 29, frame30, 63, frame64);
}
function frame30(){
gotoAndPlay("attack");
}
function frame64(){
stop();
}
function frame7(){
gotoAndPlay("alive");
}
function frame22(){
_root = (root as MovieClip);
_parent = (parent as MovieClip);
if (_root.gamePaused == false){
_root.sound_damage1.play();
_root.damageCastle(_parent, _parent.attack);
};
}
}
}//package
Section 136
//enemy_rat (enemy_rat)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class enemy_rat extends MovieClip {
public var shadow:MovieClip;
public var _root;
public var rat:MovieClip;
public var _parent;
public var shadowHit:Boolean;
public function enemy_rat(){
addFrameScript(0, frame1, 2, frame3, 37, frame38, 40, frame41, 59, frame60, 80, frame81, 92, frame93, 127, frame128);
}
function frame1(){
_root = (root as MovieClip);
_parent = (parent as MovieClip);
shadowHit = true;
if (_parent.dropping == false){
gotoAndPlay("alive");
} else {
rat.y = (_parent.y1 - _parent.y);
shadowHit = false;
gotoAndStop("dropping");
};
}
function frame128(){
stop();
}
function frame3(){
gotoAndPlay("dropping");
}
function frame60(){
if (_root.gamePaused == false){
_root.sound_damage1.play(0, 0, _root.soundPos(_parent.x));
_root.damageCastle(_parent, _parent.attack);
};
}
function frame41(){
_root.alert(_parent);
}
function frame81(){
gotoAndPlay("attack");
}
function frame93(){
_root.sound_dead7.play(0, 0, _root.soundPos(_parent.x));
}
function frame38(){
gotoAndPlay("alive");
}
}
}//package
Section 137
//enemy_sheep (enemy_sheep)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class enemy_sheep extends MovieClip {
public var shadow:MovieClip;
public var _root;
public var _parent;
public var shadowHit:Boolean;
public function enemy_sheep(){
addFrameScript(0, frame1, 28, frame29, 31, frame32, 43, frame44, 94, frame95, 106, frame107, 128, frame129);
}
function frame1(){
_root = (root as MovieClip);
_parent = (parent as MovieClip);
shadowHit = true;
}
function frame107(){
_root.sound_dead3.play(0, 0, _root.soundPos(_parent.x));
shadowHit = true;
}
function frame32(){
shadowHit = false;
_root.alert(_parent);
}
function frame44(){
if (_root.gamePaused == false){
_root.sound_damage1.play(0, 0, _root.soundPos(_parent.x));
_root.damageCastle(_parent, _parent.attack);
};
}
function frame95(){
gotoAndPlay("attack");
}
function frame29(){
gotoAndPlay("alive");
}
function frame129(){
stop();
}
}
}//package
Section 138
//enemy_spider (enemy_spider)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class enemy_spider extends MovieClip {
public var shadow:MovieClip;
public var _root;
public var _parent;
public var shadowHit:Boolean;
public function enemy_spider(){
addFrameScript(0, frame1, 22, frame23, 29, frame30, 45, frame46, 67, frame68, 79, frame80, 117, frame118);
}
function frame1(){
_root = (root as MovieClip);
_parent = (parent as MovieClip);
shadowHit = true;
shadow.visible = false;
}
function frame80(){
_root.sound_dead2.play(0, 0, _root.soundPos(_parent.x));
}
function frame30(){
_root.alert(_parent);
}
function frame118(){
stop();
}
function frame23(){
gotoAndPlay("alive");
}
function frame46(){
if (_root.gamePaused == false){
_root.sound_damage1.play(0, 0, _root.soundPos(_parent.x));
_root.damageCastle(_parent, _parent.attack);
};
}
function frame68(){
gotoAndPlay("attack");
}
}
}//package
Section 139
//enemy_tank (enemy_tank)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class enemy_tank extends MovieClip {
public var shadow:MovieClip;
public var _root;
public var _parent;
public var shadowHit:Boolean;
public var mc:MovieClip;
public var mc2:MovieClip;
public function enemy_tank(){
addFrameScript(0, frame1, 16, frame17, 19, frame20, 101, frame102, 161, frame162, 173, frame174, 204, frame205);
}
function frame1(){
_root = (root as MovieClip);
_parent = (parent as MovieClip);
shadowHit = true;
_root.sound_tank.play(0, 0, _root.soundPos(_parent.x));
}
function frame174(){
_root.sound_dead4.play(0, 0, _root.soundPos(_parent.x));
}
function frame205(){
stop();
}
function frame20(){
_root.alert(_parent);
}
function frame102(){
mc = new bolt_tank();
mc.x = (_parent.x + 65);
mc.dx = (((700 - _parent.x) / 30) * -1);
mc.dy = ((_parent.y - ((mc.dx * mc.dx) / 8)) - 25);
mc.mc.rotation = (mc.dx + 90);
mc.y = 0;
mc.sy = (_parent.y + 10);
_root.sound_tank2.play(0, 0, _root.soundPos(_parent.x));
stage.addChild(mc);
mc2 = new explosion();
mc2.x = (mc.x - 20);
mc2.y = (_parent.y - 23);
mc2.alpha = 0.75;
mc2.scaleX = 0.4;
mc2.scaleY = 0.4;
stage.addChild(mc2);
if (_root.gamePaused == false){
_root.alert(_parent);
_root.damageCastle(_parent, _parent.attack);
};
}
function frame162(){
gotoAndPlay("attack2");
}
function frame17(){
gotoAndPlay("alive");
}
}
}//package
Section 140
//eventWindow (eventWindow)
package {
import flash.display.*;
import flash.text.*;
public dynamic class eventWindow extends MovieClip {
public var card:MovieClip;
public var title:TextField;
public var text:TextField;
public var okButton:SimpleButton;
}
}//package
Section 141
//explosion (explosion)
package {
import flash.display.*;
public dynamic class explosion extends MovieClip {
public function explosion(){
addFrameScript(22, frame23);
}
function frame23(){
stop();
stage.removeChild(this);
}
}
}//package
Section 142
//explosion_puls (explosion_puls)
package {
import flash.display.*;
public dynamic class explosion_puls extends MovieClip {
public function explosion_puls(){
addFrameScript(12, frame13);
}
function frame13(){
stop();
}
}
}//package
Section 143
//explosion2 (explosion2)
package {
import flash.display.*;
public dynamic class explosion2 extends MovieClip {
public function explosion2(){
addFrameScript(12, frame13);
}
function frame13(){
stop();
stage.removeChild(this);
}
}
}//package
Section 144
//fireball (fireball)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class fireball extends MovieClip {
public var mc:MovieClip;
public function fireball(){
addFrameScript(0, frame1);
}
function frame1(){
this.addEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
stop();
}
public function onEnterFrame_bullet(_arg1:Event){
x = (x + 25);
this.dx++;
mc.y = (this.dy + (((240 - this.dy) / 20) * this.dx));
mc.rotation = ((this.dx * 10) + 90);
if (x > 650){
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame_bullet);
stage.removeChild(this);
delete ??getglobalscope
[this];
};
}
}
}//package
Section 145
//fireBit1 (fireBit1)
package {
import flash.display.*;
public dynamic class fireBit1 extends MovieClip {
public function fireBit1(){
addFrameScript(39, frame40);
}
function frame40(){
stop();
}
}
}//package
Section 146
//fireBit2 (fireBit2)
package {
import flash.display.*;
public dynamic class fireBit2 extends MovieClip {
}
}//package
Section 147
//fireWork1 (fireWork1)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class fireWork1 extends MovieClip {
public var scale;
public var bit;
public var cen:MovieClip;
public var mc;
public var op;
public var c;
public var i;
public var fireCol;
public var p;
public var type;
public function fireWork1(){
addFrameScript(4, frame5, 29, frame30, 31, frame32, 92, frame93);
}
function frame93(){
parent.removeChild(this);
stop();
}
function frame32(){
this.transform.colorTransform = fireCol[c];
}
function frame30(){
type = int((Math.random() * 3));
p = (0.3 + (Math.random() / 3));
c = 0;
scale = (Math.random() + 0.7);
fireCol = [];
i = 0;
while (i < 2) {
fireCol[i] = new ColorTransform(((Math.random() / 3) + 0.7), ((Math.random() / 3) + 0.7), ((Math.random() / 3) + 0.7), 1, 0, 0, 0, 0);
i++;
};
c = int((Math.random() * fireCol.length));
op = int((Math.random() * 3));
bit = int((Math.random() * 4));
if (type == 0){
i = 0;
while (i < 40) {
if (bit != 0){
mc = new fireBit1();
} else {
mc = new fireBit2();
};
mc.x = 0;
mc.y = 0;
if (op == 0){
c = int((Math.random() * fireCol.length));
};
mc.transform.colorTransform = fireCol[c];
mc.rotation = (Math.random() * 360);
p = ((Math.random() * 0.4) + 0.1);
mc.scaleX = (p * scale);
mc.scaleY = (p * scale);
this.addChild(mc);
i++;
};
};
if (type == 1){
i = 0;
while (i < 40) {
if (bit != 0){
mc = new fireBit1();
} else {
mc = new fireBit2();
};
mc.x = 0;
mc.y = 0;
if (op == 0){
c = int((Math.random() * fireCol.length));
};
mc.transform.colorTransform = fireCol[c];
mc.rotation = (Math.random() * 360);
if ((i % 30) == 19){
p = (p * 0.3);
};
mc.scaleX = (p * scale);
mc.scaleY = (p * scale);
this.addChild(mc);
i++;
};
};
if (type == 2){
i = 1;
while (i < 50) {
if (bit != 0){
mc = new fireBit1();
} else {
mc = new fireBit2();
};
mc.x = 0;
mc.y = 0;
if (op == 0){
c = int((Math.random() * fireCol.length));
};
mc.transform.colorTransform = fireCol[c];
p = ((int((i / 10)) * 0.1) + 0.1);
mc.rotation = ((i * 36) + (p * 100));
mc.scaleX = (p * scale);
mc.scaleY = (p * scale);
this.addChild(mc);
i++;
};
};
}
function frame5(){
if (this.delay > 0){
this.delay--;
gotoAndPlay(1);
};
}
}
}//package
Section 148
//focusRectSkin (focusRectSkin)
package {
import flash.display.*;
public dynamic class focusRectSkin extends MovieClip {
}
}//package
Section 149
//hpbar (hpbar)
package {
import flash.display.*;
public dynamic class hpbar extends MovieClip {
public var bar:MovieClip;
}
}//package
Section 150
//infoPop (infoPop)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class infoPop extends MovieClip {
public var pop:MovieClip;
public function infoPop(){
addFrameScript(138, frame139, 149, frame150);
}
function frame139(){
this.kill(this.tg);
}
function frame150(){
stage.removeChild(this);
delete ??getglobalscope
[this];
stop();
}
}
}//package
Section 151
//invPop (invPop)
package {
import flash.display.*;
import flash.text.*;
public dynamic class invPop extends MovieClip {
public var maxText:TextField;
public var itemDesc:TextField;
public var itemName:TextField;
public var typeText:TextField;
public var itemDesc2:TextField;
}
}//package
Section 152
//invSlot (invSlot)
package {
import flash.display.*;
import flash.text.*;
public dynamic class invSlot extends MovieClip {
public var coin:MovieClip;
public var shortNum:TextField;
public var cost:TextField;
public var peke:TextField;
}
}//package
Section 153
//itemPicture (itemPicture)
package {
import flash.display.*;
import flash.text.*;
public dynamic class itemPicture extends MovieClip {
public var num:TextField;
public function itemPicture(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 154
//itemTimer (itemTimer)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class itemTimer extends MovieClip {
public var bar:MovieClip;
public var timerMax;
public function itemTimer(){
addFrameScript(0, frame1);
}
function frame1(){
addEventListener(Event.ENTER_FRAME, onEnterFrame_itemTimer);
timerMax = this.timer;
stop();
}
public function onEnterFrame_itemTimer(_arg1:Event){
this.timer--;
bar.scaleX = (this.timer / timerMax);
if (this.timer < 0){
removeEventListener(Event.ENTER_FRAME, onEnterFrame_itemTimer);
stage.removeChild(this);
};
}
}
}//package
Section 155
//layhand (layhand)
package {
import flash.display.*;
public dynamic class layhand extends MovieClip {
public function layhand(){
addFrameScript(30, frame31);
}
function frame31(){
stop();
stage.removeChild(this);
}
}
}//package
Section 156
//List_skin (List_skin)
package {
import flash.display.*;
public dynamic class List_skin extends MovieClip {
}
}//package
Section 157
//medals (medals)
package {
import flash.display.*;
import flash.text.*;
public dynamic class medals extends MovieClip {
public var medalName:TextField;
}
}//package
Section 158
//NumericStepperDownArrow_disabledSkin (NumericStepperDownArrow_disabledSkin)
package {
import flash.display.*;
public dynamic class NumericStepperDownArrow_disabledSkin extends MovieClip {
}
}//package
Section 159
//NumericStepperDownArrow_downSkin (NumericStepperDownArrow_downSkin)
package {
import flash.display.*;
public dynamic class NumericStepperDownArrow_downSkin extends MovieClip {
}
}//package
Section 160
//NumericStepperDownArrow_overSkin (NumericStepperDownArrow_overSkin)
package {
import flash.display.*;
public dynamic class NumericStepperDownArrow_overSkin extends MovieClip {
}
}//package
Section 161
//NumericStepperDownArrow_upSkin (NumericStepperDownArrow_upSkin)
package {
import flash.display.*;
public dynamic class NumericStepperDownArrow_upSkin extends MovieClip {
}
}//package
Section 162
//NumericStepperUpArrow_disabledSkin (NumericStepperUpArrow_disabledSkin)
package {
import flash.display.*;
public dynamic class NumericStepperUpArrow_disabledSkin extends MovieClip {
}
}//package
Section 163
//NumericStepperUpArrow_downSkin (NumericStepperUpArrow_downSkin)
package {
import flash.display.*;
public dynamic class NumericStepperUpArrow_downSkin extends MovieClip {
}
}//package
Section 164
//NumericStepperUpArrow_overSkin (NumericStepperUpArrow_overSkin)
package {
import flash.display.*;
public dynamic class NumericStepperUpArrow_overSkin extends MovieClip {
}
}//package
Section 165
//NumericStepperUpArrow_upSkin (NumericStepperUpArrow_upSkin)
package {
import flash.display.*;
public dynamic class NumericStepperUpArrow_upSkin extends MovieClip {
}
}//package
Section 166
//radioButton (radioButton)
package {
import flash.display.*;
import flash.text.*;
public dynamic class radioButton extends MovieClip {
public var txt:TextField;
public var dummy:TextField;
}
}//package
Section 167
//radioButton2 (radioButton2)
package {
import flash.display.*;
import flash.text.*;
public dynamic class radioButton2 extends MovieClip {
public var txt:TextField;
public var dummy:TextField;
}
}//package
Section 168
//rectile (rectile)
package {
import flash.display.*;
public dynamic class rectile extends MovieClip {
public function rectile(){
addFrameScript(71, frame72);
}
function frame72(){
stop();
parent.removeChild(this);
}
}
}//package
Section 169
//runner (runner)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class runner extends MovieClip {
public var chara1:MovieClip;
public function runner(){
addFrameScript(0, frame1, 33, frame34, 44, frame45, 66, frame67, 74, frame75, 77, frame78, 80, frame81, 119, frame120);
}
function frame78(){
chara1.gotoAndStop((3 + (this.pic * 10)));
}
function frame120(){
stop();
}
function frame1(){
chara1.gotoAndStop((4 + (this.pic * 10)));
}
function frame34(){
chara1.gotoAndStop((2 + (this.pic * 10)));
}
function frame81(){
gotoAndPlay("run");
}
function frame75(){
chara1.gotoAndStop((1 + (this.pic * 10)));
}
function frame67(){
stop();
}
function frame45(){
stop();
}
}
}//package
Section 170
//ScrollArrowDown_disabledSkin (ScrollArrowDown_disabledSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_disabledSkin extends MovieClip {
}
}//package
Section 171
//ScrollArrowDown_downSkin (ScrollArrowDown_downSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_downSkin extends MovieClip {
}
}//package
Section 172
//ScrollArrowDown_overSkin (ScrollArrowDown_overSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_overSkin extends MovieClip {
}
}//package
Section 173
//ScrollArrowDown_upSkin (ScrollArrowDown_upSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_upSkin extends MovieClip {
}
}//package
Section 174
//ScrollArrowUp_disabledSkin (ScrollArrowUp_disabledSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_disabledSkin extends MovieClip {
}
}//package
Section 175
//ScrollArrowUp_downSkin (ScrollArrowUp_downSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_downSkin extends MovieClip {
}
}//package
Section 176
//ScrollArrowUp_overSkin (ScrollArrowUp_overSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_overSkin extends MovieClip {
}
}//package
Section 177
//ScrollArrowUp_upSkin (ScrollArrowUp_upSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_upSkin extends MovieClip {
}
}//package
Section 178
//ScrollBar_thumbIcon (ScrollBar_thumbIcon)
package {
import flash.display.*;
public dynamic class ScrollBar_thumbIcon extends MovieClip {
}
}//package
Section 179
//ScrollThumb_downSkin (ScrollThumb_downSkin)
package {
import flash.display.*;
public dynamic class ScrollThumb_downSkin extends MovieClip {
}
}//package
Section 180
//ScrollThumb_overSkin (ScrollThumb_overSkin)
package {
import flash.display.*;
public dynamic class ScrollThumb_overSkin extends MovieClip {
}
}//package
Section 181
//ScrollThumb_upSkin (ScrollThumb_upSkin)
package {
import flash.display.*;
public dynamic class ScrollThumb_upSkin extends MovieClip {
}
}//package
Section 182
//ScrollTrack_skin (ScrollTrack_skin)
package {
import flash.display.*;
public dynamic class ScrollTrack_skin extends MovieClip {
}
}//package
Section 183
//selectButton (selectButton)
package {
import flash.display.*;
import flash.text.*;
public dynamic class selectButton extends MovieClip {
public var selectText:TextField;
public var transButton:SimpleButton;
}
}//package
Section 184
//showdamage (showdamage)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class showdamage extends MovieClip {
public var txt:TextField;
public var count;
public function showdamage(){
addFrameScript(0, frame1);
}
public function onEnterFrame_critKill(_arg1:Event){
txt.y = (txt.y - 0.5);
count--;
if (count <= 7){
txt.alpha = (txt.alpha - 0.1);
};
if (count <= 0){
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame_critKill);
stage.removeChild(this);
};
}
function frame1(){
this.addEventListener(Event.ENTER_FRAME, onEnterFrame_critKill);
count = 20;
txt.alpha = 0.8;
txt.text = this.msg;
stop();
}
}
}//package
Section 185
//soundAward (soundAward)
package {
import flash.media.*;
public dynamic class soundAward extends Sound {
}
}//package
Section 186
//soundBad (soundBad)
package {
import flash.media.*;
public dynamic class soundBad extends Sound {
}
}//package
Section 187
//soundBag1 (soundBag1)
package {
import flash.media.*;
public dynamic class soundBag1 extends Sound {
}
}//package
Section 188
//soundBattleBegin (soundBattleBegin)
package {
import flash.media.*;
public dynamic class soundBattleBegin extends Sound {
}
}//package
Section 189
//soundBattleEnd (soundBattleEnd)
package {
import flash.media.*;
public dynamic class soundBattleEnd extends Sound {
}
}//package
Section 190
//soundBeep (soundBeep)
package {
import flash.media.*;
public dynamic class soundBeep extends Sound {
}
}//package
Section 191
//soundBgForest (soundBgForest)
package {
import flash.media.*;
public dynamic class soundBgForest extends Sound {
}
}//package
Section 192
//soundBgTown (soundBgTown)
package {
import flash.media.*;
public dynamic class soundBgTown extends Sound {
}
}//package
Section 193
//soundBow1 (soundBow1)
package {
import flash.media.*;
public dynamic class soundBow1 extends Sound {
}
}//package
Section 194
//soundBow2 (soundBow2)
package {
import flash.media.*;
public dynamic class soundBow2 extends Sound {
}
}//package
Section 195
//soundCard1 (soundCard1)
package {
import flash.media.*;
public dynamic class soundCard1 extends Sound {
}
}//package
Section 196
//soundCata (soundCata)
package {
import flash.media.*;
public dynamic class soundCata extends Sound {
}
}//package
Section 197
//soundChain1 (soundChain1)
package {
import flash.media.*;
public dynamic class soundChain1 extends Sound {
}
}//package
Section 198
//soundChain2 (soundChain2)
package {
import flash.media.*;
public dynamic class soundChain2 extends Sound {
}
}//package
Section 199
//soundChain3 (soundChain3)
package {
import flash.media.*;
public dynamic class soundChain3 extends Sound {
}
}//package
Section 200
//soundChicken (soundChicken)
package {
import flash.media.*;
public dynamic class soundChicken extends Sound {
}
}//package
Section 201
//soundChickenAttack (soundChickenAttack)
package {
import flash.media.*;
public dynamic class soundChickenAttack extends Sound {
}
}//package
Section 202
//soundClick1 (soundClick1)
package {
import flash.media.*;
public dynamic class soundClick1 extends Sound {
}
}//package
Section 203
//soundComplete (soundComplete)
package {
import flash.media.*;
public dynamic class soundComplete extends Sound {
}
}//package
Section 204
//soundCrow (soundCrow)
package {
import flash.media.*;
public dynamic class soundCrow extends Sound {
}
}//package
Section 205
//soundDamage1 (soundDamage1)
package {
import flash.media.*;
public dynamic class soundDamage1 extends Sound {
}
}//package
Section 206
//soundDead1 (soundDead1)
package {
import flash.media.*;
public dynamic class soundDead1 extends Sound {
}
}//package
Section 207
//soundDead2 (soundDead2)
package {
import flash.media.*;
public dynamic class soundDead2 extends Sound {
}
}//package
Section 208
//soundDead3 (soundDead3)
package {
import flash.media.*;
public dynamic class soundDead3 extends Sound {
}
}//package
Section 209
//soundDead4 (soundDead4)
package {
import flash.media.*;
public dynamic class soundDead4 extends Sound {
}
}//package
Section 210
//soundDead5 (soundDead5)
package {
import flash.media.*;
public dynamic class soundDead5 extends Sound {
}
}//package
Section 211
//soundDead6 (soundDead6)
package {
import flash.media.*;
public dynamic class soundDead6 extends Sound {
}
}//package
Section 212
//soundDead7 (soundDead7)
package {
import flash.media.*;
public dynamic class soundDead7 extends Sound {
}
}//package
Section 213
//soundDead8 (soundDead8)
package {
import flash.media.*;
public dynamic class soundDead8 extends Sound {
}
}//package
Section 214
//soundDead9 (soundDead9)
package {
import flash.media.*;
public dynamic class soundDead9 extends Sound {
}
}//package
Section 215
//soundDeadBoss1 (soundDeadBoss1)
package {
import flash.media.*;
public dynamic class soundDeadBoss1 extends Sound {
}
}//package
Section 216
//soundDeadBoss2 (soundDeadBoss2)
package {
import flash.media.*;
public dynamic class soundDeadBoss2 extends Sound {
}
}//package
Section 217
//soundDeadChicken (soundDeadChicken)
package {
import flash.media.*;
public dynamic class soundDeadChicken extends Sound {
}
}//package
Section 218
//soundDefend (soundDefend)
package {
import flash.media.*;
public dynamic class soundDefend extends Sound {
}
}//package
Section 219
//soundDrop (soundDrop)
package {
import flash.media.*;
public dynamic class soundDrop extends Sound {
}
}//package
Section 220
//soundEat1 (soundEat1)
package {
import flash.media.*;
public dynamic class soundEat1 extends Sound {
}
}//package
Section 221
//soundExp1 (soundExp1)
package {
import flash.media.*;
public dynamic class soundExp1 extends Sound {
}
}//package
Section 222
//soundFireball (soundFireball)
package {
import flash.media.*;
public dynamic class soundFireball extends Sound {
}
}//package
Section 223
//soundFirework (soundFirework)
package {
import flash.media.*;
public dynamic class soundFirework extends Sound {
}
}//package
Section 224
//soundGold1 (soundGold1)
package {
import flash.media.*;
public dynamic class soundGold1 extends Sound {
}
}//package
Section 225
//soundGood (soundGood)
package {
import flash.media.*;
public dynamic class soundGood extends Sound {
}
}//package
Section 226
//soundGoodshot0 (soundGoodshot0)
package {
import flash.media.*;
public dynamic class soundGoodshot0 extends Sound {
}
}//package
Section 227
//soundGoodshot1 (soundGoodshot1)
package {
import flash.media.*;
public dynamic class soundGoodshot1 extends Sound {
}
}//package
Section 228
//soundGoodshot2 (soundGoodshot2)
package {
import flash.media.*;
public dynamic class soundGoodshot2 extends Sound {
}
}//package
Section 229
//soundGoodshot3 (soundGoodshot3)
package {
import flash.media.*;
public dynamic class soundGoodshot3 extends Sound {
}
}//package
Section 230
//soundGoodshot4 (soundGoodshot4)
package {
import flash.media.*;
public dynamic class soundGoodshot4 extends Sound {
}
}//package
Section 231
//soundGun1 (soundGun1)
package {
import flash.media.*;
public dynamic class soundGun1 extends Sound {
}
}//package
Section 232
//soundGun10 (soundGun10)
package {
import flash.media.*;
public dynamic class soundGun10 extends Sound {
}
}//package
Section 233
//soundGun11 (soundGun11)
package {
import flash.media.*;
public dynamic class soundGun11 extends Sound {
}
}//package
Section 234
//soundGun12 (soundGun12)
package {
import flash.media.*;
public dynamic class soundGun12 extends Sound {
}
}//package
Section 235
//soundGun13 (soundGun13)
package {
import flash.media.*;
public dynamic class soundGun13 extends Sound {
}
}//package
Section 236
//soundGun14 (soundGun14)
package {
import flash.media.*;
public dynamic class soundGun14 extends Sound {
}
}//package
Section 237
//soundGun15 (soundGun15)
package {
import flash.media.*;
public dynamic class soundGun15 extends Sound {
}
}//package
Section 238
//soundGun2 (soundGun2)
package {
import flash.media.*;
public dynamic class soundGun2 extends Sound {
}
}//package
Section 239
//soundGun3 (soundGun3)
package {
import flash.media.*;
public dynamic class soundGun3 extends Sound {
}
}//package
Section 240
//soundGun4 (soundGun4)
package {
import flash.media.*;
public dynamic class soundGun4 extends Sound {
}
}//package
Section 241
//soundGun5 (soundGun5)
package {
import flash.media.*;
public dynamic class soundGun5 extends Sound {
}
}//package
Section 242
//soundGun6 (soundGun6)
package {
import flash.media.*;
public dynamic class soundGun6 extends Sound {
}
}//package
Section 243
//soundGun7 (soundGun7)
package {
import flash.media.*;
public dynamic class soundGun7 extends Sound {
}
}//package
Section 244
//soundGun8 (soundGun8)
package {
import flash.media.*;
public dynamic class soundGun8 extends Sound {
}
}//package
Section 245
//soundGun9 (soundGun9)
package {
import flash.media.*;
public dynamic class soundGun9 extends Sound {
}
}//package
Section 246
//soundImpact1 (soundImpact1)
package {
import flash.media.*;
public dynamic class soundImpact1 extends Sound {
}
}//package
Section 247
//soundKilled (soundKilled)
package {
import flash.media.*;
public dynamic class soundKilled extends Sound {
}
}//package
Section 248
//soundLaunch (soundLaunch)
package {
import flash.media.*;
public dynamic class soundLaunch extends Sound {
}
}//package
Section 249
//soundLightning (soundLightning)
package {
import flash.media.*;
public dynamic class soundLightning extends Sound {
}
}//package
Section 250
//soundLow (soundLow)
package {
import flash.media.*;
public dynamic class soundLow extends Sound {
}
}//package
Section 251
//soundMedal (soundMedal)
package {
import flash.media.*;
public dynamic class soundMedal extends Sound {
}
}//package
Section 252
//soundMod (soundMod)
package {
import flash.media.*;
public dynamic class soundMod extends Sound {
}
}//package
Section 253
//soundMute (soundMute)
package {
import flash.media.*;
public dynamic class soundMute extends Sound {
}
}//package
Section 254
//soundNight (soundNight)
package {
import flash.media.*;
public dynamic class soundNight extends Sound {
}
}//package
Section 255
//soundParty (soundParty)
package {
import flash.media.*;
public dynamic class soundParty extends Sound {
}
}//package
Section 256
//soundPay1 (soundPay1)
package {
import flash.media.*;
public dynamic class soundPay1 extends Sound {
}
}//package
Section 257
//soundPop1 (soundPop1)
package {
import flash.media.*;
public dynamic class soundPop1 extends Sound {
}
}//package
Section 258
//soundPray1 (soundPray1)
package {
import flash.media.*;
public dynamic class soundPray1 extends Sound {
}
}//package
Section 259
//soundPuls (soundPuls)
package {
import flash.media.*;
public dynamic class soundPuls extends Sound {
}
}//package
Section 260
//soundRampage (soundRampage)
package {
import flash.media.*;
public dynamic class soundRampage extends Sound {
}
}//package
Section 261
//soundRampageEnemy (soundRampageEnemy)
package {
import flash.media.*;
public dynamic class soundRampageEnemy extends Sound {
}
}//package
Section 262
//soundReloaded1 (soundReloaded1)
package {
import flash.media.*;
public dynamic class soundReloaded1 extends Sound {
}
}//package
Section 263
//soundReloaded2 (soundReloaded2)
package {
import flash.media.*;
public dynamic class soundReloaded2 extends Sound {
}
}//package
Section 264
//soundReloaded3 (soundReloaded3)
package {
import flash.media.*;
public dynamic class soundReloaded3 extends Sound {
}
}//package
Section 265
//soundReloading1 (soundReloading1)
package {
import flash.media.*;
public dynamic class soundReloading1 extends Sound {
}
}//package
Section 266
//soundReloading2 (soundReloading2)
package {
import flash.media.*;
public dynamic class soundReloading2 extends Sound {
}
}//package
Section 267
//soundReloading3 (soundReloading3)
package {
import flash.media.*;
public dynamic class soundReloading3 extends Sound {
}
}//package
Section 268
//soundRepair1 (soundRepair1)
package {
import flash.media.*;
public dynamic class soundRepair1 extends Sound {
}
}//package
Section 269
//soundScroll1 (soundScroll1)
package {
import flash.media.*;
public dynamic class soundScroll1 extends Sound {
}
}//package
Section 270
//soundSearch (soundSearch)
package {
import flash.media.*;
public dynamic class soundSearch extends Sound {
}
}//package
Section 271
//soundTank (soundTank)
package {
import flash.media.*;
public dynamic class soundTank extends Sound {
}
}//package
Section 272
//soundTank2 (soundTank2)
package {
import flash.media.*;
public dynamic class soundTank2 extends Sound {
}
}//package
Section 273
//soundThrow1 (soundThrow1)
package {
import flash.media.*;
public dynamic class soundThrow1 extends Sound {
}
}//package
Section 274
//TextArea_disabledSkin (TextArea_disabledSkin)
package {
import flash.display.*;
public dynamic class TextArea_disabledSkin extends MovieClip {
}
}//package
Section 275
//TextArea_upSkin (TextArea_upSkin)
package {
import flash.display.*;
public dynamic class TextArea_upSkin extends MovieClip {
}
}//package
Section 276
//textEffect (textEffect)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class textEffect extends MovieClip {
public var msg:MovieClip;
public var mc;
public function textEffect(){
addFrameScript(0, frame1, 9, frame10, 91, frame92);
}
function frame10(){
gotoAndPlay(1);
}
function frame1(){
mc = stage.getChildByName(this.wait);
if (mc != null){
if (mc.currentFrame < 62){
gotoAndPlay(2);
return;
};
};
gotoAndPlay(11);
}
function frame92(){
stop();
stage.removeChild(this);
}
}
}//package
Section 277
//TextInput_disabledSkin (TextInput_disabledSkin)
package {
import flash.display.*;
public dynamic class TextInput_disabledSkin extends MovieClip {
}
}//package
Section 278
//TextInput_upSkin (TextInput_upSkin)
package {
import flash.display.*;
public dynamic class TextInput_upSkin extends MovieClip {
}
}//package
Section 279
//trail1 (trail1)
package {
import flash.events.*;
import flash.display.*;
public dynamic class trail1 extends MovieClip {
public var count;
public function trail1(){
addFrameScript(0, frame1);
}
public function onEnterFrame_trail(_arg1:Event){
count++;
if (count < 3){
this.alpha = (this.alpha + 0.4);
} else {
this.alpha = (this.alpha - 0.06);
};
if (count > 15){
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame_trail);
stage.removeChild(this);
return;
};
}
function frame1(){
this.addEventListener(Event.ENTER_FRAME, onEnterFrame_trail);
count = 0;
this.alpha = 0;
stop();
}
}
}//package
Section 280
//trail2 (trail2)
package {
import flash.events.*;
import flash.display.*;
public dynamic class trail2 extends MovieClip {
public var count;
public function trail2(){
addFrameScript(0, frame1);
}
public function onEnterFrame_trail(_arg1:Event){
count++;
if (count < 3){
this.alpha = (this.alpha + 0.4);
} else {
this.alpha = (this.alpha - 0.06);
};
if (count > 15){
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame_trail);
stage.removeChild(this);
return;
};
}
function frame1(){
this.addEventListener(Event.ENTER_FRAME, onEnterFrame_trail);
count = 0;
this.alpha = 0;
stop();
}
}
}//package
Section 281
//trail3 (trail3)
package {
import flash.events.*;
import flash.display.*;
public dynamic class trail3 extends MovieClip {
public var count;
public function trail3(){
addFrameScript(0, frame1);
}
public function onEnterFrame_trail(_arg1:Event){
count++;
if (count < 3){
this.alpha = (this.alpha + 0.4);
} else {
this.alpha = (this.alpha - 0.06);
};
if (count > 15){
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame_trail);
stage.removeChild(this);
return;
};
}
function frame1(){
this.addEventListener(Event.ENTER_FRAME, onEnterFrame_trail);
count = 0;
this.alpha = 0;
stop();
}
}
}//package
Section 282
//trait (trait)
package {
import flash.display.*;
import flash.text.*;
public dynamic class trait extends MovieClip {
public var icon:MovieClip;
public var traitName:TextField;
public var text:SimpleButton;
}
}//package
Section 283
//upgrades (upgrades)
package {
import flash.display.*;
import flash.text.*;
public dynamic class upgrades extends MovieClip {
public var upgradeButton:SimpleButton;
public var upgradeName:TextField;
public var upgradeCost:TextField;
public var upgradePic:MovieClip;
}
}//package
Section 284
//window (window)
package {
import flash.events.*;
import flash.display.*;
import fl.controls.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.net.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.xml.*;
public dynamic class window extends MovieClip {
public var talkText:TextField;
public var help1:SimpleButton;
public var help2:SimpleButton;
public var help3:SimpleButton;
public var help4:SimpleButton;
public var optWeaponLevel:CheckBox;
public var other:TextField;
public var locker:MovieClip;
public var optWall:CheckBox;
public var saveGameButton:SimpleButton;
public var earnText:TextField;
public var wage:TextField;
public var optTight:CheckBox;
public var procButton:SimpleButton;
public var mc_playMore:MovieClip;
public var dayTxt:TextField;
public var reward:TextField;
public var button1:SimpleButton;
public var help:TextArea;
public var itemDesc:TextField;
public var order:ComboBox;
public var closeButton:SimpleButton;
public var returnTitleButton:SimpleButton;
public var __setPropDict:Dictionary;
public var dismissButton:SimpleButton;
public var extraButton:SimpleButton;
public var optDropMod:CheckBox;
public var itemDesc2:TextField;
public var wageText:TextField;
public var link1:SimpleButton;
public var link2:SimpleButton;
public var link3:SimpleButton;
public var link4:SimpleButton;
public var link5:SimpleButton;
public var link6:SimpleButton;
public var link7:SimpleButton;
public var before:TextField;
public var page2:SimpleButton;
public var link8:SimpleButton;
public var hint:invPop;
public var recruitText:TextField;
public var page1:SimpleButton;
public var kongMc:MovieClip;
public var unlockButton:MovieClip;
public var optHint3:MovieClip;
public var costText:TextField;
public var orderText:TextField;
public var unkeep:TextField;
public var hint2:TextField;
public var options:MovieClip;
public var optMore:CheckBox;
public var killText:TextField;
public var actRef1:MovieClip;
public var actRef2:MovieClip;
public var tax:TextField;
public var popup:MovieClip;
public var titleText:TextField;
public var desc2:TextField;
public var classText:TextField;
public var taken:TextField;
public var fo:TextField;
public var optBoss:CheckBox;
public var helpButton:SimpleButton;
public var warning:TextField;
public var now:TextField;
public var dismissText:TextField;
public var optHint:MovieClip;
public var optSkipHard:CheckBox;
public var act1:SimpleButton;
public var act2:SimpleButton;
public var optHC:CheckBox;
public var classPic:MovieClip;
public var actHelp:TextField;
public var castle:TextField;
public var field:TextArea;
public var lootText:TextField;
public var optCasual:CheckBox;
public function window(){
__setPropDict = new Dictionary(true);
super();
addFrameScript(9, frame10, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 20, frame21, 21, frame22, 22, frame23, 62, frame63, 63, frame64, 64, frame65, 65, frame66, 66, frame67, 67, frame68, 68, frame69, 69, frame70, 134, frame135, 135, frame136, 136, frame137, 137, frame138, 138, frame139, 139, frame140, 140, frame141, 141, frame142, 142, frame143, 143, frame144, 144, frame145, 145, frame146, 146, frame147);
}
function frame63(){
if ((((__setPropDict[optWall] == undefined)) || (!((((int(__setPropDict[optWall]) >= 63)) && ((int(__setPropDict[optWall]) <= 70))))))){
__setPropDict[optWall] = currentFrame;
__setProp_optWall_windows_Layer1_62();
};
if ((((__setPropDict[optBoss] == undefined)) || (!((((int(__setPropDict[optBoss]) >= 63)) && ((int(__setPropDict[optBoss]) <= 70))))))){
__setPropDict[optBoss] = currentFrame;
__setProp_optBoss_windows_Layer1_62();
};
}
function frame69(){
if ((((__setPropDict[optWall] == undefined)) || (!((((int(__setPropDict[optWall]) >= 63)) && ((int(__setPropDict[optWall]) <= 70))))))){
__setPropDict[optWall] = currentFrame;
__setProp_optWall_windows_Layer1_62();
};
if ((((__setPropDict[optBoss] == undefined)) || (!((((int(__setPropDict[optBoss]) >= 63)) && ((int(__setPropDict[optBoss]) <= 70))))))){
__setPropDict[optBoss] = currentFrame;
__setProp_optBoss_windows_Layer1_62();
};
}
function frame147(){
if ((((__setPropDict[optTight] == undefined)) || (!((((int(__setPropDict[optTight]) >= 135)) && ((int(__setPropDict[optTight]) <= 147))))))){
__setPropDict[optTight] = currentFrame;
__setProp_optTight_windows_Layer3_134();
};
if ((((__setPropDict[optSkipHard] == undefined)) || (!((((int(__setPropDict[optSkipHard]) >= 135)) && ((int(__setPropDict[optSkipHard]) <= 147))))))){
__setPropDict[optSkipHard] = currentFrame;
__setProp_optSkipHard_windows_Layer3_134();
};
if ((((__setPropDict[optWeaponLevel] == undefined)) || (!((((int(__setPropDict[optWeaponLevel]) >= 135)) && ((int(__setPropDict[optWeaponLevel]) <= 147))))))){
__setPropDict[optWeaponLevel] = currentFrame;
__setProp_optWeaponLevel_windows_Layer3_134();
};
if ((((__setPropDict[optMore] == undefined)) || (!((((int(__setPropDict[optMore]) >= 135)) && ((int(__setPropDict[optMore]) <= 147))))))){
__setPropDict[optMore] = currentFrame;
__setProp_optMore_windows_Layer3_134();
};
if ((((__setPropDict[optDropMod] == undefined)) || (!((((int(__setPropDict[optDropMod]) >= 135)) && ((int(__setPropDict[optDropMod]) <= 147))))))){
__setPropDict[optDropMod] = currentFrame;
__setProp_optDropMod_windows_Layer3_134();
};
}
function __setProp_optBoss_windows_Layer1_62(){
try {
optBoss["componentInspectorSetting"] = true;
} catch(e:Error) {
};
optBoss.enabled = true;
optBoss.label = "Go for boss";
optBoss.labelPlacement = "right";
optBoss.selected = false;
optBoss.visible = true;
try {
optBoss["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function __setProp_optSkipHard_windows_Layer3_134(){
try {
optSkipHard["componentInspectorSetting"] = true;
} catch(e:Error) {
};
optSkipHard.enabled = true;
optSkipHard.label = "Skip hard waves(no more 10+ suicide bombers).";
optSkipHard.labelPlacement = "right";
optSkipHard.selected = false;
optSkipHard.visible = true;
try {
optSkipHard["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function frame143(){
if ((((__setPropDict[optTight] == undefined)) || (!((((int(__setPropDict[optTight]) >= 135)) && ((int(__setPropDict[optTight]) <= 147))))))){
__setPropDict[optTight] = currentFrame;
__setProp_optTight_windows_Layer3_134();
};
if ((((__setPropDict[optSkipHard] == undefined)) || (!((((int(__setPropDict[optSkipHard]) >= 135)) && ((int(__setPropDict[optSkipHard]) <= 147))))))){
__setPropDict[optSkipHard] = currentFrame;
__setProp_optSkipHard_windows_Layer3_134();
};
if ((((__setPropDict[optWeaponLevel] == undefined)) || (!((((int(__setPropDict[optWeaponLevel]) >= 135)) && ((int(__setPropDict[optWeaponLevel]) <= 147))))))){
__setPropDict[optWeaponLevel] = currentFrame;
__setProp_optWeaponLevel_windows_Layer3_134();
};
if ((((__setPropDict[optMore] == undefined)) || (!((((int(__setPropDict[optMore]) >= 135)) && ((int(__setPropDict[optMore]) <= 147))))))){
__setPropDict[optMore] = currentFrame;
__setProp_optMore_windows_Layer3_134();
};
if ((((__setPropDict[optDropMod] == undefined)) || (!((((int(__setPropDict[optDropMod]) >= 135)) && ((int(__setPropDict[optDropMod]) <= 147))))))){
__setPropDict[optDropMod] = currentFrame;
__setProp_optDropMod_windows_Layer3_134();
};
}
function frame70(){
if ((((__setPropDict[optWall] == undefined)) || (!((((int(__setPropDict[optWall]) >= 63)) && ((int(__setPropDict[optWall]) <= 70))))))){
__setPropDict[optWall] = currentFrame;
__setProp_optWall_windows_Layer1_62();
};
if ((((__setPropDict[optBoss] == undefined)) || (!((((int(__setPropDict[optBoss]) >= 63)) && ((int(__setPropDict[optBoss]) <= 70))))))){
__setPropDict[optBoss] = currentFrame;
__setProp_optBoss_windows_Layer1_62();
};
}
function frame146(){
if ((((__setPropDict[optTight] == undefined)) || (!((((int(__setPropDict[optTight]) >= 135)) && ((int(__setPropDict[optTight]) <= 147))))))){
__setPropDict[optTight] = currentFrame;
__setProp_optTight_windows_Layer3_134();
};
if ((((__setPropDict[optSkipHard] == undefined)) || (!((((int(__setPropDict[optSkipHard]) >= 135)) && ((int(__setPropDict[optSkipHard]) <= 147))))))){
__setPropDict[optSkipHard] = currentFrame;
__setProp_optSkipHard_windows_Layer3_134();
};
if ((((__setPropDict[optWeaponLevel] == undefined)) || (!((((int(__setPropDict[optWeaponLevel]) >= 135)) && ((int(__setPropDict[optWeaponLevel]) <= 147))))))){
__setPropDict[optWeaponLevel] = currentFrame;
__setProp_optWeaponLevel_windows_Layer3_134();
};
if ((((__setPropDict[optMore] == undefined)) || (!((((int(__setPropDict[optMore]) >= 135)) && ((int(__setPropDict[optMore]) <= 147))))))){
__setPropDict[optMore] = currentFrame;
__setProp_optMore_windows_Layer3_134();
};
if ((((__setPropDict[optDropMod] == undefined)) || (!((((int(__setPropDict[optDropMod]) >= 135)) && ((int(__setPropDict[optDropMod]) <= 147))))))){
__setPropDict[optDropMod] = currentFrame;
__setProp_optDropMod_windows_Layer3_134();
};
}
function __setProp_optWall_windows_Layer1_62(){
try {
optWall["componentInspectorSetting"] = true;
} catch(e:Error) {
};
optWall.enabled = true;
optWall.label = "Go for boss";
optWall.labelPlacement = "right";
optWall.selected = false;
optWall.visible = true;
try {
optWall["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function frame144(){
if ((((__setPropDict[optTight] == undefined)) || (!((((int(__setPropDict[optTight]) >= 135)) && ((int(__setPropDict[optTight]) <= 147))))))){
__setPropDict[optTight] = currentFrame;
__setProp_optTight_windows_Layer3_134();
};
if ((((__setPropDict[optSkipHard] == undefined)) || (!((((int(__setPropDict[optSkipHard]) >= 135)) && ((int(__setPropDict[optSkipHard]) <= 147))))))){
__setPropDict[optSkipHard] = currentFrame;
__setProp_optSkipHard_windows_Layer3_134();
};
if ((((__setPropDict[optWeaponLevel] == undefined)) || (!((((int(__setPropDict[optWeaponLevel]) >= 135)) && ((int(__setPropDict[optWeaponLevel]) <= 147))))))){
__setPropDict[optWeaponLevel] = currentFrame;
__setProp_optWeaponLevel_windows_Layer3_134();
};
if ((((__setPropDict[optMore] == undefined)) || (!((((int(__setPropDict[optMore]) >= 135)) && ((int(__setPropDict[optMore]) <= 147))))))){
__setPropDict[optMore] = currentFrame;
__setProp_optMore_windows_Layer3_134();
};
if ((((__setPropDict[optDropMod] == undefined)) || (!((((int(__setPropDict[optDropMod]) >= 135)) && ((int(__setPropDict[optDropMod]) <= 147))))))){
__setPropDict[optDropMod] = currentFrame;
__setProp_optDropMod_windows_Layer3_134();
};
}
function __setProp_optTight_windows_Layer3_134(){
try {
optTight["componentInspectorSetting"] = true;
} catch(e:Error) {
};
optTight.enabled = true;
optTight.label = "Tighter accuracy&cross-hair. Slightly less exp gains.";
optTight.labelPlacement = "right";
optTight.selected = false;
optTight.visible = true;
try {
optTight["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function frame10(){
stop();
}
function frame16(){
if ((((__setPropDict[field] == undefined)) || (!((((int(__setPropDict[field]) >= 14)) && ((int(__setPropDict[field]) <= 23))))))){
__setPropDict[field] = currentFrame;
__setProp_field_windows_Layer1_13();
};
}
function frame17(){
if ((((__setPropDict[field] == undefined)) || (!((((int(__setPropDict[field]) >= 14)) && ((int(__setPropDict[field]) <= 23))))))){
__setPropDict[field] = currentFrame;
__setProp_field_windows_Layer1_13();
};
}
function frame18(){
if ((((__setPropDict[field] == undefined)) || (!((((int(__setPropDict[field]) >= 14)) && ((int(__setPropDict[field]) <= 23))))))){
__setPropDict[field] = currentFrame;
__setProp_field_windows_Layer1_13();
};
}
function frame19(){
if ((((__setPropDict[field] == undefined)) || (!((((int(__setPropDict[field]) >= 14)) && ((int(__setPropDict[field]) <= 23))))))){
__setPropDict[field] = currentFrame;
__setProp_field_windows_Layer1_13();
};
}
function frame20(){
if ((((__setPropDict[field] == undefined)) || (!((((int(__setPropDict[field]) >= 14)) && ((int(__setPropDict[field]) <= 23))))))){
__setPropDict[field] = currentFrame;
__setProp_field_windows_Layer1_13();
};
}
function frame21(){
if ((((__setPropDict[field] == undefined)) || (!((((int(__setPropDict[field]) >= 14)) && ((int(__setPropDict[field]) <= 23))))))){
__setPropDict[field] = currentFrame;
__setProp_field_windows_Layer1_13();
};
}
function frame22(){
if ((((__setPropDict[field] == undefined)) || (!((((int(__setPropDict[field]) >= 14)) && ((int(__setPropDict[field]) <= 23))))))){
__setPropDict[field] = currentFrame;
__setProp_field_windows_Layer1_13();
};
}
function __setProp_optMore_windows_Layer3_134(){
try {
optMore["componentInspectorSetting"] = true;
} catch(e:Error) {
};
optMore.enabled = true;
optMore.label = "More intense enemies at the beginning. It's hard but more coins!";
optMore.labelPlacement = "right";
optMore.selected = false;
optMore.visible = true;
try {
optMore["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function frame14(){
if ((((__setPropDict[field] == undefined)) || (!((((int(__setPropDict[field]) >= 14)) && ((int(__setPropDict[field]) <= 23))))))){
__setPropDict[field] = currentFrame;
__setProp_field_windows_Layer1_13();
};
stop();
}
function frame15(){
if ((((__setPropDict[field] == undefined)) || (!((((int(__setPropDict[field]) >= 14)) && ((int(__setPropDict[field]) <= 23))))))){
__setPropDict[field] = currentFrame;
__setProp_field_windows_Layer1_13();
};
}
function __setProp_optDropMod_windows_Layer3_134(){
try {
optDropMod["componentInspectorSetting"] = true;
} catch(e:Error) {
};
optDropMod.enabled = true;
optDropMod.label = "Bosses always drop MODs instead of weapons.";
optDropMod.labelPlacement = "right";
optDropMod.selected = false;
optDropMod.visible = true;
try {
optDropMod["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function frame23(){
if ((((__setPropDict[field] == undefined)) || (!((((int(__setPropDict[field]) >= 14)) && ((int(__setPropDict[field]) <= 23))))))){
__setPropDict[field] = currentFrame;
__setProp_field_windows_Layer1_13();
};
}
function __setProp_optWeaponLevel_windows_Layer3_134(){
try {
optWeaponLevel["componentInspectorSetting"] = true;
} catch(e:Error) {
};
optWeaponLevel.enabled = true;
optWeaponLevel.label = "Don't generate too high level weapons.";
optWeaponLevel.labelPlacement = "right";
optWeaponLevel.selected = false;
optWeaponLevel.visible = true;
try {
optWeaponLevel["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function __setProp_field_windows_Layer1_13(){
try {
field["componentInspectorSetting"] = true;
} catch(e:Error) {
};
field.condenseWhite = false;
field.editable = false;
field.enabled = true;
field.horizontalScrollPolicy = "auto";
field.htmlText = "";
field.maxChars = 0;
field.restrict = "";
field.text = "No news today.";
field.verticalScrollPolicy = "auto";
field.visible = true;
field.wordWrap = true;
try {
field["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function frame135(){
if ((((__setPropDict[optTight] == undefined)) || (!((((int(__setPropDict[optTight]) >= 135)) && ((int(__setPropDict[optTight]) <= 147))))))){
__setPropDict[optTight] = currentFrame;
__setProp_optTight_windows_Layer3_134();
};
if ((((__setPropDict[optSkipHard] == undefined)) || (!((((int(__setPropDict[optSkipHard]) >= 135)) && ((int(__setPropDict[optSkipHard]) <= 147))))))){
__setPropDict[optSkipHard] = currentFrame;
__setProp_optSkipHard_windows_Layer3_134();
};
if ((((__setPropDict[optWeaponLevel] == undefined)) || (!((((int(__setPropDict[optWeaponLevel]) >= 135)) && ((int(__setPropDict[optWeaponLevel]) <= 147))))))){
__setPropDict[optWeaponLevel] = currentFrame;
__setProp_optWeaponLevel_windows_Layer3_134();
};
if ((((__setPropDict[optMore] == undefined)) || (!((((int(__setPropDict[optMore]) >= 135)) && ((int(__setPropDict[optMore]) <= 147))))))){
__setPropDict[optMore] = currentFrame;
__setProp_optMore_windows_Layer3_134();
};
if ((((__setPropDict[optDropMod] == undefined)) || (!((((int(__setPropDict[optDropMod]) >= 135)) && ((int(__setPropDict[optDropMod]) <= 147))))))){
__setPropDict[optDropMod] = currentFrame;
__setProp_optDropMod_windows_Layer3_134();
};
}
function frame137(){
if ((((__setPropDict[optTight] == undefined)) || (!((((int(__setPropDict[optTight]) >= 135)) && ((int(__setPropDict[optTight]) <= 147))))))){
__setPropDict[optTight] = currentFrame;
__setProp_optTight_windows_Layer3_134();
};
if ((((__setPropDict[optSkipHard] == undefined)) || (!((((int(__setPropDict[optSkipHard]) >= 135)) && ((int(__setPropDict[optSkipHard]) <= 147))))))){
__setPropDict[optSkipHard] = currentFrame;
__setProp_optSkipHard_windows_Layer3_134();
};
if ((((__setPropDict[optWeaponLevel] == undefined)) || (!((((int(__setPropDict[optWeaponLevel]) >= 135)) && ((int(__setPropDict[optWeaponLevel]) <= 147))))))){
__setPropDict[optWeaponLevel] = currentFrame;
__setProp_optWeaponLevel_windows_Layer3_134();
};
if ((((__setPropDict[optMore] == undefined)) || (!((((int(__setPropDict[optMore]) >= 135)) && ((int(__setPropDict[optMore]) <= 147))))))){
__setPropDict[optMore] = currentFrame;
__setProp_optMore_windows_Layer3_134();
};
if ((((__setPropDict[optDropMod] == undefined)) || (!((((int(__setPropDict[optDropMod]) >= 135)) && ((int(__setPropDict[optDropMod]) <= 147))))))){
__setPropDict[optDropMod] = currentFrame;
__setProp_optDropMod_windows_Layer3_134();
};
}
function frame139(){
if ((((__setPropDict[optTight] == undefined)) || (!((((int(__setPropDict[optTight]) >= 135)) && ((int(__setPropDict[optTight]) <= 147))))))){
__setPropDict[optTight] = currentFrame;
__setProp_optTight_windows_Layer3_134();
};
if ((((__setPropDict[optSkipHard] == undefined)) || (!((((int(__setPropDict[optSkipHard]) >= 135)) && ((int(__setPropDict[optSkipHard]) <= 147))))))){
__setPropDict[optSkipHard] = currentFrame;
__setProp_optSkipHard_windows_Layer3_134();
};
if ((((__setPropDict[optWeaponLevel] == undefined)) || (!((((int(__setPropDict[optWeaponLevel]) >= 135)) && ((int(__setPropDict[optWeaponLevel]) <= 147))))))){
__setPropDict[optWeaponLevel] = currentFrame;
__setProp_optWeaponLevel_windows_Layer3_134();
};
if ((((__setPropDict[optMore] == undefined)) || (!((((int(__setPropDict[optMore]) >= 135)) && ((int(__setPropDict[optMore]) <= 147))))))){
__setPropDict[optMore] = currentFrame;
__setProp_optMore_windows_Layer3_134();
};
if ((((__setPropDict[optDropMod] == undefined)) || (!((((int(__setPropDict[optDropMod]) >= 135)) && ((int(__setPropDict[optDropMod]) <= 147))))))){
__setPropDict[optDropMod] = currentFrame;
__setProp_optDropMod_windows_Layer3_134();
};
}
function frame136(){
if ((((__setPropDict[optTight] == undefined)) || (!((((int(__setPropDict[optTight]) >= 135)) && ((int(__setPropDict[optTight]) <= 147))))))){
__setPropDict[optTight] = currentFrame;
__setProp_optTight_windows_Layer3_134();
};
if ((((__setPropDict[optSkipHard] == undefined)) || (!((((int(__setPropDict[optSkipHard]) >= 135)) && ((int(__setPropDict[optSkipHard]) <= 147))))))){
__setPropDict[optSkipHard] = currentFrame;
__setProp_optSkipHard_windows_Layer3_134();
};
if ((((__setPropDict[optWeaponLevel] == undefined)) || (!((((int(__setPropDict[optWeaponLevel]) >= 135)) && ((int(__setPropDict[optWeaponLevel]) <= 147))))))){
__setPropDict[optWeaponLevel] = currentFrame;
__setProp_optWeaponLevel_windows_Layer3_134();
};
if ((((__setPropDict[optMore] == undefined)) || (!((((int(__setPropDict[optMore]) >= 135)) && ((int(__setPropDict[optMore]) <= 147))))))){
__setPropDict[optMore] = currentFrame;
__setProp_optMore_windows_Layer3_134();
};
if ((((__setPropDict[optDropMod] == undefined)) || (!((((int(__setPropDict[optDropMod]) >= 135)) && ((int(__setPropDict[optDropMod]) <= 147))))))){
__setPropDict[optDropMod] = currentFrame;
__setProp_optDropMod_windows_Layer3_134();
};
}
function frame138(){
if ((((__setPropDict[optTight] == undefined)) || (!((((int(__setPropDict[optTight]) >= 135)) && ((int(__setPropDict[optTight]) <= 147))))))){
__setPropDict[optTight] = currentFrame;
__setProp_optTight_windows_Layer3_134();
};
if ((((__setPropDict[optSkipHard] == undefined)) || (!((((int(__setPropDict[optSkipHard]) >= 135)) && ((int(__setPropDict[optSkipHard]) <= 147))))))){
__setPropDict[optSkipHard] = currentFrame;
__setProp_optSkipHard_windows_Layer3_134();
};
if ((((__setPropDict[optWeaponLevel] == undefined)) || (!((((int(__setPropDict[optWeaponLevel]) >= 135)) && ((int(__setPropDict[optWeaponLevel]) <= 147))))))){
__setPropDict[optWeaponLevel] = currentFrame;
__setProp_optWeaponLevel_windows_Layer3_134();
};
if ((((__setPropDict[optMore] == undefined)) || (!((((int(__setPropDict[optMore]) >= 135)) && ((int(__setPropDict[optMore]) <= 147))))))){
__setPropDict[optMore] = currentFrame;
__setProp_optMore_windows_Layer3_134();
};
if ((((__setPropDict[optDropMod] == undefined)) || (!((((int(__setPropDict[optDropMod]) >= 135)) && ((int(__setPropDict[optDropMod]) <= 147))))))){
__setPropDict[optDropMod] = currentFrame;
__setProp_optDropMod_windows_Layer3_134();
};
}
function frame141(){
if ((((__setPropDict[optTight] == undefined)) || (!((((int(__setPropDict[optTight]) >= 135)) && ((int(__setPropDict[optTight]) <= 147))))))){
__setPropDict[optTight] = currentFrame;
__setProp_optTight_windows_Layer3_134();
};
if ((((__setPropDict[optSkipHard] == undefined)) || (!((((int(__setPropDict[optSkipHard]) >= 135)) && ((int(__setPropDict[optSkipHard]) <= 147))))))){
__setPropDict[optSkipHard] = currentFrame;
__setProp_optSkipHard_windows_Layer3_134();
};
if ((((__setPropDict[optWeaponLevel] == undefined)) || (!((((int(__setPropDict[optWeaponLevel]) >= 135)) && ((int(__setPropDict[optWeaponLevel]) <= 147))))))){
__setPropDict[optWeaponLevel] = currentFrame;
__setProp_optWeaponLevel_windows_Layer3_134();
};
if ((((__setPropDict[optMore] == undefined)) || (!((((int(__setPropDict[optMore]) >= 135)) && ((int(__setPropDict[optMore]) <= 147))))))){
__setPropDict[optMore] = currentFrame;
__setProp_optMore_windows_Layer3_134();
};
if ((((__setPropDict[optDropMod] == undefined)) || (!((((int(__setPropDict[optDropMod]) >= 135)) && ((int(__setPropDict[optDropMod]) <= 147))))))){
__setPropDict[optDropMod] = currentFrame;
__setProp_optDropMod_windows_Layer3_134();
};
}
function frame142(){
if ((((__setPropDict[optTight] == undefined)) || (!((((int(__setPropDict[optTight]) >= 135)) && ((int(__setPropDict[optTight]) <= 147))))))){
__setPropDict[optTight] = currentFrame;
__setProp_optTight_windows_Layer3_134();
};
if ((((__setPropDict[optSkipHard] == undefined)) || (!((((int(__setPropDict[optSkipHard]) >= 135)) && ((int(__setPropDict[optSkipHard]) <= 147))))))){
__setPropDict[optSkipHard] = currentFrame;
__setProp_optSkipHard_windows_Layer3_134();
};
if ((((__setPropDict[optWeaponLevel] == undefined)) || (!((((int(__setPropDict[optWeaponLevel]) >= 135)) && ((int(__setPropDict[optWeaponLevel]) <= 147))))))){
__setPropDict[optWeaponLevel] = currentFrame;
__setProp_optWeaponLevel_windows_Layer3_134();
};
if ((((__setPropDict[optMore] == undefined)) || (!((((int(__setPropDict[optMore]) >= 135)) && ((int(__setPropDict[optMore]) <= 147))))))){
__setPropDict[optMore] = currentFrame;
__setProp_optMore_windows_Layer3_134();
};
if ((((__setPropDict[optDropMod] == undefined)) || (!((((int(__setPropDict[optDropMod]) >= 135)) && ((int(__setPropDict[optDropMod]) <= 147))))))){
__setPropDict[optDropMod] = currentFrame;
__setProp_optDropMod_windows_Layer3_134();
};
}
function frame145(){
if ((((__setPropDict[optTight] == undefined)) || (!((((int(__setPropDict[optTight]) >= 135)) && ((int(__setPropDict[optTight]) <= 147))))))){
__setPropDict[optTight] = currentFrame;
__setProp_optTight_windows_Layer3_134();
};
if ((((__setPropDict[optSkipHard] == undefined)) || (!((((int(__setPropDict[optSkipHard]) >= 135)) && ((int(__setPropDict[optSkipHard]) <= 147))))))){
__setPropDict[optSkipHard] = currentFrame;
__setProp_optSkipHard_windows_Layer3_134();
};
if ((((__setPropDict[optWeaponLevel] == undefined)) || (!((((int(__setPropDict[optWeaponLevel]) >= 135)) && ((int(__setPropDict[optWeaponLevel]) <= 147))))))){
__setPropDict[optWeaponLevel] = currentFrame;
__setProp_optWeaponLevel_windows_Layer3_134();
};
if ((((__setPropDict[optMore] == undefined)) || (!((((int(__setPropDict[optMore]) >= 135)) && ((int(__setPropDict[optMore]) <= 147))))))){
__setPropDict[optMore] = currentFrame;
__setProp_optMore_windows_Layer3_134();
};
if ((((__setPropDict[optDropMod] == undefined)) || (!((((int(__setPropDict[optDropMod]) >= 135)) && ((int(__setPropDict[optDropMod]) <= 147))))))){
__setPropDict[optDropMod] = currentFrame;
__setProp_optDropMod_windows_Layer3_134();
};
}
function frame140(){
if ((((__setPropDict[optTight] == undefined)) || (!((((int(__setPropDict[optTight]) >= 135)) && ((int(__setPropDict[optTight]) <= 147))))))){
__setPropDict[optTight] = currentFrame;
__setProp_optTight_windows_Layer3_134();
};
if ((((__setPropDict[optSkipHard] == undefined)) || (!((((int(__setPropDict[optSkipHard]) >= 135)) && ((int(__setPropDict[optSkipHard]) <= 147))))))){
__setPropDict[optSkipHard] = currentFrame;
__setProp_optSkipHard_windows_Layer3_134();
};
if ((((__setPropDict[optWeaponLevel] == undefined)) || (!((((int(__setPropDict[optWeaponLevel]) >= 135)) && ((int(__setPropDict[optWeaponLevel]) <= 147))))))){
__setPropDict[optWeaponLevel] = currentFrame;
__setProp_optWeaponLevel_windows_Layer3_134();
};
if ((((__setPropDict[optMore] == undefined)) || (!((((int(__setPropDict[optMore]) >= 135)) && ((int(__setPropDict[optMore]) <= 147))))))){
__setPropDict[optMore] = currentFrame;
__setProp_optMore_windows_Layer3_134();
};
if ((((__setPropDict[optDropMod] == undefined)) || (!((((int(__setPropDict[optDropMod]) >= 135)) && ((int(__setPropDict[optDropMod]) <= 147))))))){
__setPropDict[optDropMod] = currentFrame;
__setProp_optDropMod_windows_Layer3_134();
};
}
function frame64(){
if ((((__setPropDict[optWall] == undefined)) || (!((((int(__setPropDict[optWall]) >= 63)) && ((int(__setPropDict[optWall]) <= 70))))))){
__setPropDict[optWall] = currentFrame;
__setProp_optWall_windows_Layer1_62();
};
if ((((__setPropDict[optBoss] == undefined)) || (!((((int(__setPropDict[optBoss]) >= 63)) && ((int(__setPropDict[optBoss]) <= 70))))))){
__setPropDict[optBoss] = currentFrame;
__setProp_optBoss_windows_Layer1_62();
};
}
function frame65(){
if ((((__setPropDict[optWall] == undefined)) || (!((((int(__setPropDict[optWall]) >= 63)) && ((int(__setPropDict[optWall]) <= 70))))))){
__setPropDict[optWall] = currentFrame;
__setProp_optWall_windows_Layer1_62();
};
if ((((__setPropDict[optBoss] == undefined)) || (!((((int(__setPropDict[optBoss]) >= 63)) && ((int(__setPropDict[optBoss]) <= 70))))))){
__setPropDict[optBoss] = currentFrame;
__setProp_optBoss_windows_Layer1_62();
};
}
function frame66(){
if ((((__setPropDict[optWall] == undefined)) || (!((((int(__setPropDict[optWall]) >= 63)) && ((int(__setPropDict[optWall]) <= 70))))))){
__setPropDict[optWall] = currentFrame;
__setProp_optWall_windows_Layer1_62();
};
if ((((__setPropDict[optBoss] == undefined)) || (!((((int(__setPropDict[optBoss]) >= 63)) && ((int(__setPropDict[optBoss]) <= 70))))))){
__setPropDict[optBoss] = currentFrame;
__setProp_optBoss_windows_Layer1_62();
};
}
function frame68(){
if ((((__setPropDict[optWall] == undefined)) || (!((((int(__setPropDict[optWall]) >= 63)) && ((int(__setPropDict[optWall]) <= 70))))))){
__setPropDict[optWall] = currentFrame;
__setProp_optWall_windows_Layer1_62();
};
if ((((__setPropDict[optBoss] == undefined)) || (!((((int(__setPropDict[optBoss]) >= 63)) && ((int(__setPropDict[optBoss]) <= 70))))))){
__setPropDict[optBoss] = currentFrame;
__setProp_optBoss_windows_Layer1_62();
};
}
function frame67(){
if ((((__setPropDict[optWall] == undefined)) || (!((((int(__setPropDict[optWall]) >= 63)) && ((int(__setPropDict[optWall]) <= 70))))))){
__setPropDict[optWall] = currentFrame;
__setProp_optWall_windows_Layer1_62();
};
if ((((__setPropDict[optBoss] == undefined)) || (!((((int(__setPropDict[optBoss]) >= 63)) && ((int(__setPropDict[optBoss]) <= 70))))))){
__setPropDict[optBoss] = currentFrame;
__setProp_optBoss_windows_Layer1_62();
};
}
}
}//package