Section 1
//FlashChecker (classes.gamezhero.FlashChecker)
package classes.gamezhero {
import flash.display.*;
public dynamic class FlashChecker extends MovieClip {
public var b:SimpleButton;
public function FlashChecker(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package classes.gamezhero
Section 2
//MD5 (crypto.MD5)
package crypto {
import utils.*;
public class MD5 {
private function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private function f(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg2) | (~(_arg1) & _arg3)));
}
private function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private function h(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 ^ _arg2) ^ _arg3));
}
private function i(_arg1:int, _arg2:int, _arg3:int):int{
return ((_arg2 ^ (_arg1 | ~(_arg3))));
}
private function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{
var _local9:int;
_local9 = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8);
return ((IntUtil.rol(_local9, _arg7) + _arg3));
}
private function g(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg3) | (_arg2 & ~(_arg3))));
}
private function createBlocks(_arg1:String):Array{
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:int;
_local2 = new Array();
_local3 = (_arg1.length * 8);
_local4 = 0xFF;
_local5 = 0;
while (_local5 < _local3) {
_local2[(_local5 >> 5)] = (_local2[(_local5 >> 5)] | ((_arg1.charCodeAt((_local5 / 8)) & _local4) << (_local5 % 32)));
_local5 = (_local5 + 8);
};
_local2[(_local3 >> 5)] = (_local2[(_local3 >> 5)] | (128 << (_local3 % 32)));
_local2[((((_local3 + 64) >>> 9) << 4) + 14)] = _local3;
return (_local2);
}
public function hash(_arg1:String):String{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:Array;
var _local11:int;
var _local12:int;
_local2 = 1732584193;
_local3 = -271733879;
_local4 = -1732584194;
_local5 = 271733878;
_local10 = createBlocks(_arg1);
_local11 = _local10.length;
_local12 = 0;
while (_local12 < _local11) {
_local6 = _local2;
_local7 = _local3;
_local8 = _local4;
_local9 = _local5;
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 7, -680876936);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 1)], 12, -389564586);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 17, 606105819);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 3)], 22, -1044525330);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 7, -176418897);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 5)], 12, 1200080426);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 17, -1473231341);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 7)], 22, -45705983);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 7, 1770035416);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 9)], 12, -1958414417);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 17, -42063);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 11)], 22, -1990404162);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 7, 1804603682);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 13)], 12, -40341101);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 17, -1502002290);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 15)], 22, 1236535329);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 5, -165796510);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 6)], 9, -1069501632);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 14, 643717713);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 0)], 20, -373897302);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 5, -701558691);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 10)], 9, 38016083);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 14, -660478335);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 4)], 20, -405537848);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 5, 568446438);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 14)], 9, -1019803690);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 14, -187363961);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 8)], 20, 1163531501);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 5, -1444681467);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 2)], 9, -51403784);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 14, 1735328473);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 12)], 20, -1926607734);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 4, -378558);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 8)], 11, -2022574463);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 16, 1839030562);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 14)], 23, -35309556);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 4, -1530992060);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 4)], 11, 1272893353);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 16, -155497632);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 10)], 23, -1094730640);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 4, 681279174);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 0)], 11, -358537222);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 16, -722521979);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 6)], 23, 76029189);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 4, -640364487);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 12)], 11, -421815835);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 16, 530742520);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 2)], 23, -995338651);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 6, -198630844);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 7)], 10, 1126891415);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 15, -1416354905);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 5)], 21, -57434055);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 6, 1700485571);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 3)], 10, -1894986606);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 15, -1051523);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 1)], 21, -2054922799);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 6, 1873313359);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 15)], 10, -30611744);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 15, -1560198380);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 13)], 21, 1309151649);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 6, -145523070);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 11)], 10, -1120210379);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 15, 718787259);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 9)], 21, -343485551);
_local2 = (_local2 + _local6);
_local3 = (_local3 + _local7);
_local4 = (_local4 + _local8);
_local5 = (_local5 + _local9);
_local12 = (_local12 + 16);
};
return ((((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5)));
}
private function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
}
}//package crypto
Section 3
//CustomScrollBarController (custom_list.custom_scroll_bar.CustomScrollBarController)
package custom_list.custom_scroll_bar {
import custom_list.*;
import flash.events.*;
import flash.display.*;
import flash.geom.*;
public class CustomScrollBarController {
private var _startX:int;// = 0
private var _startY:int;// = 0
private var _globalStartY:int;
private var rect:Rectangle;
private var _scrollMouse:MovieClip;
private var _model:CustomScrollBarModel;
private var _maxLen:int;// = 1
private var _oldY:int;// = 0
private var _mouseIsDown:Boolean;// = false
private var _oldX:int;// = 0
public static var _instance:CustomScrollBarController = new (CustomScrollBarController);
;
public function CustomScrollBarController(){
_mouseIsDown = false;
rect = new Rectangle(0, 0, 3, Parameters.SCROLL_LEN);
_maxLen = 1;
_startX = 0;
_startY = 0;
_oldX = 0;
_oldY = 0;
super();
_model = CustomScrollBarModel.instance;
}
public function mouseUpHandler(_arg1:MouseEvent):void{
this._mouseIsDown = false;
_scrollMouse.stopDrag();
}
public function set scrollMouse(_arg1:MovieClip):void{
this._scrollMouse = _arg1;
}
public function mouseMoveHandler(_arg1:MouseEvent):void{
var _local2:Number;
if (_mouseIsDown){
_local2 = ((_scrollMouse.y - rect.y) / _maxLen);
if (_local2 < 0){
_local2 = 0;
};
if (_local2 > 1){
_local2 = 1;
};
_model.persents = _local2;
};
}
public function mouseDownBtnHandler(_arg1:MouseEvent):void{
_mouseIsDown = true;
_scrollMouse.startDrag(true, rect);
}
public function set globalStartY(_arg1:int):void{
this._globalStartY = _arg1;
}
public function setParameters(_arg1:int, _arg2:int, _arg3:int):void{
this._maxLen = _arg1;
this._startX = _arg2;
this._startY = _arg3;
this.rect = new Rectangle(_arg2, _arg3, 0, _arg1);
}
public function mouseReleasedBtnHandler(_arg1:MouseEvent){
_mouseIsDown = false;
_scrollMouse.stopDrag();
}
public static function get instance():CustomScrollBarController{
return (_instance);
}
}
}//package custom_list.custom_scroll_bar
Section 4
//CustomScrollBarModel (custom_list.custom_scroll_bar.CustomScrollBarModel)
package custom_list.custom_scroll_bar {
import flash.events.*;
public class CustomScrollBarModel extends EventDispatcher {
private var _persents:Number;// = 0
private static var _instance:CustomScrollBarModel = new (CustomScrollBarModel);
;
public static var SCROLL:String = "scroll_custom";
public function CustomScrollBarModel(){
_persents = 0;
super();
}
public function set persents(_arg1:Number):void{
this._persents = _arg1;
dispatchEvent(new Event(CustomScrollBarModel.SCROLL));
}
public function get persents():Number{
return (this._persents);
}
public static function get instance():CustomScrollBarModel{
return (_instance);
}
}
}//package custom_list.custom_scroll_bar
Section 5
//CustomScrollBarView (custom_list.custom_scroll_bar.CustomScrollBarView)
package custom_list.custom_scroll_bar {
import flash.events.*;
import flash.display.*;
public class CustomScrollBarView extends MovieClip {
private var _model:CustomScrollBarModel;
private var _controller:CustomScrollBarController;
private var _scrollButton:MovieClip;
public var scrollButton:MovieClip;
public var scrollLine:ScrollLine;
public function CustomScrollBarView(){
var _local1:MovieClip;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
super();
this._controller = CustomScrollBarController.instance;
this._scrollButton = (this.scrollButton as MovieClip);
_scrollButton.addEventListener(MouseEvent.MOUSE_DOWN, _controller.mouseDownBtnHandler);
stage.addEventListener(MouseEvent.MOUSE_MOVE, _controller.mouseMoveHandler);
stage.addEventListener(MouseEvent.MOUSE_UP, _controller.mouseUpHandler);
stage.addEventListener(Event.DEACTIVATE, _controller.mouseUpHandler);
_local1 = (this.scrollLine as MovieClip);
_local2 = _local1.x;
_local3 = _local1.y;
_local4 = 1;
_local5 = _local1.height;
_controller.setParameters(_local5, (this.scrollButton as MovieClip).x, (this.scrollButton as MovieClip).y);
_controller.scrollMouse = (this.scrollButton as MovieClip);
}
}
}//package custom_list.custom_scroll_bar
Section 6
//CustomItemModel (custom_list.CustomItemModel)
package custom_list {
public class CustomItemModel {
private var _scores:int;
private var _level:int;
private var _month:int;
private var _id:int;
private var _year:int;
private var _day:int;
private var _h:int;
private var _name:String;
private var _m:int;
private var _s:int;
public function get level():int{
return (this._level);
}
public function get name():String{
return (this._name);
}
public function set h(_arg1:int):void{
this._h = _arg1;
}
public function set scores(_arg1:int):void{
this._scores = _arg1;
}
public function get s():int{
return (this._s);
}
public function set level(_arg1:int):void{
this._level = _arg1;
}
public function get month():int{
return (this._month);
}
public function set m(_arg1:int):void{
this._m = _arg1;
}
public function get id():int{
return (this._id);
}
public function get scores():int{
return (this._scores);
}
public function set month(_arg1:int):void{
this._month = _arg1;
}
public function set name(_arg1:String):void{
this._name = _arg1;
}
public function set s(_arg1:int):void{
this._s = _arg1;
}
public function set year(_arg1:int):void{
this._year = _arg1;
}
public function get day():int{
return (this._day);
}
public function get m():int{
return (this._m);
}
public function get h():int{
return (this._h);
}
public function set id(_arg1:int):void{
this._id = _arg1;
}
public function get year():int{
return (this._year);
}
public function set day(_arg1:int):void{
this._day = _arg1;
}
}
}//package custom_list
Section 7
//CustomItemView (custom_list.CustomItemView)
package custom_list {
import flash.display.*;
import flash.text.*;
public class CustomItemView extends MovieClip {
private var _model:CustomItemModel;
public var levelNumTxt:TextField;
public var playerNameTxt:TextField;
public var dateAndTimeTxt:TextField;
public var amountOfScoreTxt:TextField;
public function CustomItemView(){
addFrameScript(0, frame1);
super();
this.buttonMode = true;
}
public function get model():CustomItemModel{
return (this._model);
}
public function set model(_arg1:CustomItemModel):void{
var _local2:String;
var _local3:String;
var _local4:String;
var _local5:String;
var _local6:String;
this._model = _arg1;
(this.playerNameTxt as TextField).text = _model.name;
(this.playerNameTxt as TextField).mouseEnabled = false;
_local2 = ("" + _model.month);
if (_model.month < 10){
_local2 = ("0" + _local2);
};
_local3 = ("" + _model.day);
if (_model.day < 10){
_local3 = ("0" + _local3);
};
_local4 = ("" + _model.h);
if (_model.h < 10){
_local4 = ("0" + _local4);
};
_local5 = ("" + _model.m);
if (_model.m < 10){
_local5 = ("0" + _local5);
};
_local6 = ("" + _model.s);
if (_model.s < 10){
_local6 = ("0" + _local6);
};
(this.dateAndTimeTxt as TextField).text = ((((((((((("" + _model.year) + ":") + _local2) + ":") + _local3) + " - ") + _local4) + ":") + _local5) + ":") + _local6);
(this.dateAndTimeTxt as TextField).mouseEnabled = false;
(this.levelNumTxt as TextField).text = ("level:" + (_model.level + 1));
(this.levelNumTxt as TextField).mouseEnabled = false;
(this.amountOfScoreTxt as TextField).text = ("" + _model.scores);
(this.amountOfScoreTxt as TextField).mouseEnabled = false;
}
function frame1(){
stop();
}
}
}//package custom_list
Section 8
//CustomListController (custom_list.CustomListController)
package custom_list {
import flash.events.*;
public class CustomListController {
private var _model:CustomListModel;// = null
private static var _instance:CustomListController = new (CustomListController);
;
public function CustomListController(){
_model = null;
super();
this._model = CustomListModel.instance;
}
public function set model(_arg1:CustomListModel):void{
this._model = _arg1;
}
public function itemMouseClickHandler(_arg1:MouseEvent):void{
_model.numOfCurrentItem = (_arg1.target as CustomItemView).model.id;
}
public static function get instance():CustomListController{
return (_instance);
}
}
}//package custom_list
Section 9
//CustomListModel (custom_list.CustomListModel)
package custom_list {
import flash.events.*;
public class CustomListModel extends EventDispatcher {
private var _items:Array;
private var _numOfCurrentItem:int;// = 0
public static const CHANGE_SELECTED_ITEM:String = "change_selected_item";
private static var _instance:CustomListModel = new (CustomListModel);
;
public function CustomListModel(){
_items = new Array();
_numOfCurrentItem = 0;
super();
}
public function set items(_arg1:Array):void{
var _local2:int;
var _local3:CustomItemModel;
this._items = _arg1;
_items.sort(CustomListModel.sortItems);
_local2 = 0;
while (_local2 < _items.length) {
_local3 = _items[_local2];
_local3.id = _local2;
this.dispatchEvent(new Event(CustomListModel.CHANGE_SELECTED_ITEM));
_local2++;
};
}
public function addItem(_arg1:CustomItemModel):void{
this._items.push(_arg1);
}
public function set numOfCurrentItem(_arg1:int):void{
this._numOfCurrentItem = _arg1;
this.dispatchEvent(new Event(CustomListModel.CHANGE_SELECTED_ITEM));
}
public function get items():Array{
return (_items);
}
public function get numOfCurrentItem():int{
return (this._numOfCurrentItem);
}
public function get currentItem():CustomItemModel{
return (this._items[this._numOfCurrentItem]);
}
public static function sortItems(_arg1, _arg2):int{
var _local3:Date;
var _local4:Date;
_local3 = new Date(_arg1.year, _arg1.month, _arg1.day, _arg1.h, _arg1.m, _arg1.s);
_local4 = new Date(_arg2.year, _arg2.month, _arg2.day, _arg2.h, _arg2.m, _arg2.s);
if (_local3.time > _local4.time){
return (-1);
};
if (_local3.time == _local4.time){
return (0);
};
if (_local3.time < _local4.time){
return (1);
};
return (0);
}
public static function get instance():CustomListModel{
return (_instance);
}
}
}//package custom_list
Section 10
//CustomListView (custom_list.CustomListView)
package custom_list {
import flash.events.*;
import custom_list.custom_scroll_bar.*;
import flash.display.*;
public class CustomListView extends MovieClip {
public var scrollBar:CustomScrollBarView;
private var _scrollMovieClip:MovieClip;
private var _model:CustomListModel;// = null
private var _scrollPosition:int;// = 0
private var _controller:CustomListController;
public var scrollMovieClip:MovieClip;
private var _currentItem:CustomItemView;
private var _maskLen:int;// = 1
private var START_Y:int;
private var _items:Array;
private var _mask:MovieClip;
public var theMask:MaskCustomList;
public function CustomListView(){
_scrollPosition = 0;
_scrollMovieClip = new MovieClip();
_model = null;
_maskLen = 1;
_items = new Array();
super();
_scrollMovieClip = (this.scrollMovieClip as MovieClip);
_mask = (this.theMask as MovieClip);
_scrollMovieClip.mask = _mask;
CustomScrollBarModel.instance.addEventListener(CustomScrollBarModel.SCROLL, this.changePersentsHandler);
_maskLen = _mask.height;
START_Y = _scrollMovieClip.y;
_controller = CustomListController.instance;
}
public function get model():CustomListModel{
return (this._model);
}
public function changeCurrentItemHandler(_arg1:Event):void{
var _local2:int;
_currentItem.gotoAndStop(1);
_local2 = _model.numOfCurrentItem;
_currentItem = _items[_local2];
_currentItem.gotoAndStop(2);
}
public function set model(_arg1:CustomListModel):void{
var _local2:int;
var _local3:MovieClip;
var _local4:CustomItemView;
_local2 = 0;
while (_local2 < _items.length) {
_local3 = _model.items[_local2];
_scrollMovieClip.removeChild(_local3);
_local2++;
};
this._model = _arg1;
_model.addEventListener(CustomListModel.CHANGE_SELECTED_ITEM, this.changeCurrentItemHandler);
_local2 = 0;
while (_local2 < this._model.items.length) {
_local4 = new CustomItemView();
_local4.model = _model.items[_local2];
_local4.x = 0;
_local4.y = (_local2 * _local4.height);
_items.push(_local4);
_local4.addEventListener(MouseEvent.CLICK, _controller.itemMouseClickHandler);
_scrollMovieClip.addChild(_local4);
_local2++;
};
if (_items.length > 0){
_currentItem = _items[0];
_currentItem.gotoAndStop(2);
};
}
public function changePersentsHandler(_arg1:Event):void{
if (_scrollMovieClip.height > this._mask.height){
_scrollMovieClip.y = (START_Y - ((_scrollMovieClip.height - _maskLen) * (_arg1.target as CustomScrollBarModel).persents));
};
}
}
}//package custom_list
Section 11
//Parameters (custom_list.Parameters)
package custom_list {
public class Parameters {
public static const SCROLL_LEN:int = 100;
}
}//package custom_list
Section 12
//ArrayedQueue (de.polygonal.ds.ArrayedQueue)
package de.polygonal.ds {
public class ArrayedQueue implements Collection {
private var _que:Array;
private var _count:int;
private var _size:int;
private var _front:int;
private var _divisor:int;
public function ArrayedQueue(_arg1:int){
if (_arg1 < 3){
_arg1 = 3;
};
_size = (1 << _arg1);
_divisor = (_size - 1);
clear();
}
public function isEmpty():Boolean{
return ((_count == 0));
}
public function get maxSize():int{
return (_size);
}
public function enqueue(_arg1):Boolean{
if (_size != _count){
_que[int(((_count++ + _front) & _divisor))] = _arg1;
return (true);
};
return (false);
}
public function clear():void{
_que = new Array(_size);
_front = (_count = 0);
}
public function get size():int{
return (_count);
}
public function peek(){
return (_que[_front]);
}
public function toArray():Array{
var _local1:Array;
var _local2:int;
_local1 = new Array(_count);
_local2 = 0;
while (_local2 < _count) {
_local1[_local2] = _que[int(((_local2 + _front) & _divisor))];
_local2++;
};
return (_local1);
}
public function dispose():void{
if (!_front){
_que[int((_size - 1))] = null;
} else {
_que[int((_front - 1))] = null;
};
}
public function getIterator():Iterator{
return (new ArrayedQueueIterator(this));
}
public function getAt(_arg1:int){
if (_arg1 >= _count){
return (null);
};
return (_que[int(((_arg1 + _front) & _divisor))]);
}
public function toString():String{
return ((("[ArrayedQueue, size=" + size) + "]"));
}
public function contains(_arg1):Boolean{
var _local2:int;
_local2 = 0;
while (_local2 < _count) {
if (_que[int(((_local2 + _front) & _divisor))] === _arg1){
return (true);
};
_local2++;
};
return (false);
}
public function dequeue(){
var _local1:*;
if (_count > 0){
_local1 = _que[_front++];
if (_front == _size){
_front = 0;
};
_count--;
return (_local1);
};
return (null);
}
public function dump():String{
var _local1:String;
var _local2:int;
_local1 = "[ArrayedQueue]\n";
_local1 = (_local1 + (("\t" + getAt(_local2)) + " -> front\n"));
_local2 = 1;
while (_local2 < _count) {
_local1 = (_local1 + (("\t" + getAt(_local2)) + "\n"));
_local2++;
};
return (_local1);
}
public function setAt(_arg1:int, _arg2):void{
if (_arg1 >= _count){
return;
};
_que[int(((_arg1 + _front) & _divisor))] = _arg2;
}
}
}//package de.polygonal.ds
class ArrayedQueueIterator implements Iterator {
private var _que:ArrayedQueue;
private var _cursor:int;
private function ArrayedQueueIterator(_arg1:ArrayedQueue){
_que = _arg1;
_cursor = 0;
}
public function start():void{
_cursor = 0;
}
public function get data(){
return (_que.getAt(_cursor));
}
public function next(){
if (_cursor < _que.size){
return (_que.getAt(_cursor++));
};
return (null);
}
public function hasNext():Boolean{
return ((_cursor < _que.size));
}
public function set data(_arg1):void{
_que.setAt(_cursor, _arg1);
}
}
Section 13
//Collection (de.polygonal.ds.Collection)
package de.polygonal.ds {
public interface Collection {
function isEmpty():Boolean;
function getIterator():Iterator;
function get size():int;
function clear():void;
function toArray():Array;
function contains(_arg1):Boolean;
}
}//package de.polygonal.ds
Section 14
//HashMap (de.polygonal.ds.HashMap)
package de.polygonal.ds {
import flash.utils.*;
public class HashMap implements Collection {
private var _objMap:Dictionary;
private var _keyMap:Dictionary;
private var _size:int;
public function HashMap(){
_keyMap = new Dictionary(true);
_objMap = new Dictionary(true);
_size = 0;
}
public function containsKey(_arg1):Boolean{
return ((_keyMap[_arg1]) ? true : false);
}
public function isEmpty():Boolean{
return ((_size == 0));
}
public function remove(_arg1){
var _local2:*;
_local2 = _keyMap[_arg1];
if (_local2){
_size--;
delete _keyMap[_arg1];
delete _objMap[_local2];
return (_local2);
};
return (null);
}
public function clear():void{
_keyMap = new Dictionary(true);
_objMap = new Dictionary(true);
_size = 0;
}
public function get size():int{
return (_size);
}
public function insert(_arg1, _arg2):Boolean{
if (_keyMap[_arg1]){
return (false);
};
_size++;
_objMap[_arg2] = _arg1;
_keyMap[_arg1] = _arg2;
return (true);
}
public function getKeySet():Array{
var _local1:Array;
var _local2:int;
var _local3:*;
_local1 = new Array(_size);
_local2 = 0;
for each (_local3 in _objMap) {
var _temp1 = _local2;
_local2 = (_local2 + 1);
var _local6 = _temp1;
_local1[_local6] = _local3;
};
return (_local1);
}
public function toArray():Array{
var _local1:Array;
var _local2:int;
var _local3:*;
_local1 = new Array(_size);
_local2 = 0;
for each (_local3 in _keyMap) {
var _temp1 = _local2;
_local2 = (_local2 + 1);
var _local6 = _temp1;
_local1[_local6] = _local3;
};
return (_local1);
}
public function findKey(_arg1){
return (((_objMap[_arg1]) || (null)));
}
public function getIterator():Iterator{
return (new HashMapValueIterator(this));
}
public function toString():String{
return ((("[HashMap, size=" + size) + "]"));
}
public function contains(_arg1):Boolean{
return ((_objMap[_arg1]) ? true : false);
}
public function dump():String{
var _local1:String;
var _local2:*;
_local1 = "HashMap:\n";
for each (_local2 in _objMap) {
_local1 = (_local1 + (((("[key: " + _local2) + " val:") + _keyMap[_local2]) + "]\n"));
};
return (_local1);
}
public function getKeyIterator():Iterator{
return (new HashMapKeyIterator(this));
}
public function find(_arg1){
return (((_keyMap[_arg1]) || (null)));
}
}
}//package de.polygonal.ds
class HashMapValueIterator implements Iterator {
private var _size:int;
private var _values:Array;
private var _h:HashMap;
private var _cursor:int;
private function HashMapValueIterator(_arg1:HashMap){
_h = _arg1;
_values = _arg1.toArray();
_cursor = 0;
_size = _h.size;
}
public function next(){
return (_values[_cursor++]);
}
public function hasNext():Boolean{
return ((_cursor < _size));
}
public function get data(){
return (_values[_cursor]);
}
public function set data(_arg1):void{
var _local2:*;
_local2 = _h.findKey(_values[_cursor]);
_h.remove(_local2);
_h.insert(_local2, _arg1);
}
public function start():void{
_cursor = 0;
}
}
class HashMapKeyIterator implements Iterator {
private var _size:int;
private var _h:HashMap;
private var _keys:Array;
private var _cursor:int;
private function HashMapKeyIterator(_arg1:HashMap){
_h = _arg1;
_keys = _arg1.getKeySet();
_cursor = 0;
_size = _h.size;
}
public function start():void{
_cursor = 0;
}
public function next(){
return (_keys[_cursor++]);
}
public function hasNext():Boolean{
return ((_cursor < _size));
}
public function get data(){
return (_keys[_cursor]);
}
public function set data(_arg1):void{
var _local2:*;
var _local3:*;
_local2 = _keys[_cursor];
_local3 = _h.find(_local2);
_h.remove(_local2);
_h.insert(_arg1, _local3);
}
}
Section 15
//Iterator (de.polygonal.ds.Iterator)
package de.polygonal.ds {
public interface Iterator {
function start():void;
function next();
function set data(_arg1):void;
function get data();
function hasNext():Boolean;
}
}//package de.polygonal.ds
Section 16
//EndGameController (end_game_forms.EndGameController)
package end_game_forms {
import flash.events.*;
import flash.net.*;
public class EndGameController {
private static var _instance:EndGameController = new (EndGameController);
;
public function viewTopScoreBtnHandler(_arg1:MouseEvent=null):void{
var _local2:URLRequest;
_local2 = new URLRequest(Global._urls["view_top_score"]);
navigateToURL(_local2, "_blank");
}
public function mainMenuBtnHandler(_arg1:MouseEvent=null):void{
var _local2:Vorota;
_local2 = new Vorota(Global.game_root, false, Global.game_root, "mainMenu");
}
public static function get instance():EndGameController{
return (_instance);
}
}
}//package end_game_forms
Section 17
//EndGameForm (end_game_forms.EndGameForm)
package end_game_forms {
import flash.display.*;
public class EndGameForm extends MovieClip {
public function EndGameForm(){
var _local1:Vorota;
super();
_local1 = new Vorota(Global.gameroot, true);
Global.music_game.stopMusics();
Global.music_interface.playMusic("finish", "music_interface");
}
public function mainMenuAction():void{
EndGameController.instance.mainMenuBtnHandler(null);
}
public function removeListeners():void{
}
}
}//package end_game_forms
Section 18
//GameOverForm (end_game_forms.GameOverForm)
package end_game_forms {
import flash.events.*;
import flash.display.*;
import language_view.*;
import gameInterface.*;
public class GameOverForm extends EndGameForm {
public var viewTopScore:SimpleButton;
public var gameOverText:MovieClip;
public var mainMenuBtnTxt:MovieClip;
public var viewTopScoreBtnText:MovieClip;
public var submitTopScoreText:MovieClip;
public var score:SubmitArea;
public var mainMenuBtn:SimpleButton;
public function GameOverForm(){
(this.gameOverText as MovieClip).gotoAndStop(SelectLanguageModel.instance.language);
(this.submitTopScoreText as MovieClip).gotoAndStop(SelectLanguageModel.instance.language);
(this.viewTopScoreBtnText as MovieClip).mouseEnabled = false;
(this.viewTopScoreBtnText as MovieClip).gotoAndStop(SelectLanguageModel.instance.language);
(this.viewTopScore as SimpleButton).addEventListener(MouseEvent.CLICK, viewTopScoreAction);
(this.viewTopScore as SimpleButton).addEventListener(MouseEvent.ROLL_OVER, MouseSounds.mouseOverHandler);
(this.mainMenuBtnTxt as MovieClip).mouseEnabled = false;
(this.mainMenuBtnTxt as MovieClip).gotoAndStop(SelectLanguageModel.instance.language);
(this.mainMenuBtn as SimpleButton).addEventListener(MouseEvent.CLICK, EndGameController.instance.mainMenuBtnHandler);
(this.mainMenuBtn as SimpleButton).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.mainMenuBtn as SimpleButton).addEventListener(MouseEvent.ROLL_OVER, MouseSounds.mouseOverHandler);
}
public function viewTopScoreAction(_arg1:MouseEvent):void{
EndGameController.instance.viewTopScoreBtnHandler(_arg1);
MouseSounds.mouseClickHandler(_arg1);
}
override public function removeListeners():void{
(this.viewTopScore as SimpleButton).removeEventListener(MouseEvent.CLICK, viewTopScoreAction);
(this.viewTopScore as SimpleButton).removeEventListener(MouseEvent.ROLL_OVER, MouseSounds.mouseOverHandler);
(this.mainMenuBtn as SimpleButton).removeEventListener(MouseEvent.CLICK, EndGameController.instance.mainMenuBtnHandler);
(this.mainMenuBtn as SimpleButton).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.mainMenuBtn as SimpleButton).removeEventListener(MouseEvent.ROLL_OVER, MouseSounds.mouseOverHandler);
}
}
}//package end_game_forms
Section 19
//YouWinForm (end_game_forms.YouWinForm)
package end_game_forms {
import flash.events.*;
import flash.display.*;
import language_view.*;
import gameInterface.*;
public class YouWinForm extends EndGameForm {
public var viewTopScore:SimpleButton;
public var gameOverText:MovieClip;
public var mainMenuBtnTxt:MovieClip;
public var viewTopScoreBtnText:MovieClip;
public var submitTopScoreText:MovieClip;
public var score:SubmitArea;
public var mainMenuBtn:SimpleButton;
public function YouWinForm(){
(this.gameOverText as MovieClip).gotoAndStop(SelectLanguageModel.instance.language);
(this.submitTopScoreText as MovieClip).gotoAndStop(SelectLanguageModel.instance.language);
(this.viewTopScoreBtnText as MovieClip).mouseEnabled = false;
(this.viewTopScoreBtnText as MovieClip).gotoAndStop(SelectLanguageModel.instance.language);
(this.viewTopScore as SimpleButton).addEventListener(MouseEvent.CLICK, viewTopScoreAction);
(this.viewTopScore as SimpleButton).addEventListener(MouseEvent.ROLL_OVER, MouseSounds.mouseOverHandler);
(this.mainMenuBtnTxt as MovieClip).mouseEnabled = false;
(this.mainMenuBtnTxt as MovieClip).gotoAndStop(SelectLanguageModel.instance.language);
(this.mainMenuBtn as SimpleButton).addEventListener(MouseEvent.CLICK, EndGameController.instance.mainMenuBtnHandler);
(this.mainMenuBtn as SimpleButton).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.mainMenuBtn as SimpleButton).addEventListener(MouseEvent.ROLL_OVER, MouseSounds.mouseOverHandler);
}
public function viewTopScoreAction(_arg1:MouseEvent):void{
EndGameController.instance.viewTopScoreBtnHandler(_arg1);
MouseSounds.mouseClickHandler(_arg1);
}
override public function removeListeners():void{
(this.viewTopScore as SimpleButton).removeEventListener(MouseEvent.CLICK, viewTopScoreAction);
(this.viewTopScore as SimpleButton).removeEventListener(MouseEvent.ROLL_OVER, MouseSounds.mouseOverHandler);
(this.mainMenuBtn as SimpleButton).removeEventListener(MouseEvent.CLICK, EndGameController.instance.mainMenuBtnHandler);
(this.mainMenuBtn as SimpleButton).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.mainMenuBtn as SimpleButton).removeEventListener(MouseEvent.ROLL_OVER, MouseSounds.mouseOverHandler);
}
}
}//package end_game_forms
Section 20
//AStarAlgoritm (game.cell_algoritms.AStarAlgoritm)
package game.cell_algoritms {
import game.model.*;
import game.*;
import de.polygonal.ds.*;
public class AStarAlgoritm extends CellAlgoritm {
private var openList:HashMap;
private var closeList:HashMap;
private var _maxAmountOfLoop:int;
private static var _instance:AStarAlgoritm = new (AStarAlgoritm);
;
public static var COST_OF_CELL_MOVING:int = 10;
public function AStarAlgoritm(){
openList = new HashMap();
closeList = new HashMap();
_maxAmountOfLoop = SetParameters.MAX_AMOUNT_OF_FIND_LOOP;
super();
}
public function findWayToCellAboutIt(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Array{
var tmpCell:Cell;
var count:int;
var listOfWayCells:Array;
var ret:Array;
var parentCell:Cell;
var arr:Array;
var targetCell:*;
var i:int;
var counter:int;
var cell:Cell;
var cellsAboutParent:Array;
var startX = _arg1;
var startY = _arg2;
var targetX = _arg3;
var targetY = _arg4;
openList = new HashMap();
closeList = new HashMap();
if ((((Math.abs((startX - targetX)) <= 1)) && ((Math.abs((startY - targetY)) <= 1)))){
ret = new Array();
ret.push(new Cell(startX, startY, null));
return (ret);
};
try {
parentCell = new Cell(startX, startY, _arrayOfCells[0].length);
parentCell.g = 0;
parentCell.h = countEvristic(startX, startY, targetX, targetY);
closeList.insert(parentCell.hashcode, parentCell.copyCell());
arr = foundCellsAboutIt(startX, startY, targetX, targetY);
targetCell = new Cell(targetX, targetY, _arrayOfCells[0].length);
i = 0;
while (i < arr.length) {
cell = arr[i];
cell.g = (parentCell.g + AStarAlgoritm.COST_OF_CELL_MOVING);
cell.h = countEvristic(cell.x, cell.y, targetX, targetY);
cell.parentHashcode = parentCell.hashcode;
cell.hashcode = ((cell.y * _arrayOfCells[0].length) + cell.x);
openList.insert(Cell(arr[i]).hashcode, arr[i]);
i = (i + 1);
};
counter = _maxAmountOfLoop;
while (((!(openList.isEmpty())) || (((parentCell.equalsFromHashcode(targetCell.hashcode)) && ((counter > 0)))))) {
counter = (counter - 1);
if (counter < 0){
break;
};
parentCell = findCellWithMinCost();
if ((((Math.abs((parentCell.x - targetCell.x)) <= 1)) && ((Math.abs((parentCell.y - targetCell.y)) <= 1)))){
break;
};
cellsAboutParent = foundCellsAboutIt(parentCell.x, parentCell.y, targetX, targetY);
i = 0;
while (i < cellsAboutParent.length) {
cell = cellsAboutParent[i];
if (!closeList.containsKey(cell.hashcode)){
if (openList.containsKey(cell.hashcode)){
if (cell.g > (parentCell.g + AStarAlgoritm.COST_OF_CELL_MOVING)){
cell.parentHashcode = parentCell.hashcode;
cell.hashcode = ((cell.y * _arrayOfCells[0].length) + cell.x);
cell.g = (parentCell.g + AStarAlgoritm.COST_OF_CELL_MOVING);
cell.h = countEvristic(cell.x, cell.y, targetX, targetY);
};
} else {
cell.g = (parentCell.g + AStarAlgoritm.COST_OF_CELL_MOVING);
cell.h = countEvristic(cell.x, cell.y, targetX, targetY);
cell.hashcode = ((cell.y * _arrayOfCells[0].length) + cell.x);
cell.parentHashcode = parentCell.hashcode;
openList.insert(cell.hashcode, cell);
};
};
i = (i + 1);
};
closeList.insert(parentCell.hashcode, parentCell);
openList.remove(parentCell.hashcode);
};
} catch(e:Error) {
};
tmpCell = parentCell.copyCell();
count = 0;
listOfWayCells = new Array();
while (((!((tmpCell.x == startX))) || (!((tmpCell.y == startY))))) {
listOfWayCells.push(tmpCell);
if (closeList.containsKey(tmpCell.parentHashcode)){
tmpCell = closeList.find(tmpCell.parentHashcode).copyCell();
} else {
if (openList.containsKey(tmpCell.parentHashcode)){
tmpCell = openList.find(tmpCell.parentHashcode).copyCell();
} else {
tmpCell = null;
};
};
};
return (listOfWayCells);
}
private function countEvristic(_arg1:int, _arg2:int, _arg3:int, _arg4:int):int{
var _local5:int;
var _local6:int;
var _local7:int;
_local5 = 0;
_local6 = Math.abs((_arg1 - _arg3));
_local7 = Math.abs((_arg2 - _arg4));
if (_local6 > _local7){
return (((14 * _local7) + (10 * (_local6 - _local7))));
};
return (((14 * _local6) + (10 * (_local7 - _local6))));
}
public function findWayToCell(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Array{
var tmpCell:Cell;
var count:int;
var listOfWayCells:Array;
var ret:Array;
var parentCell:Cell;
var arr:Array;
var targetCell:*;
var i:int;
var counter:int;
var cell:Cell;
var cellsAboutParent:Array;
var startX = _arg1;
var startY = _arg2;
var targetX = _arg3;
var targetY = _arg4;
openList = new HashMap();
closeList = new HashMap();
if ((((startX == targetX)) && ((startY == targetY)))){
ret = new Array();
ret.push(new Cell(targetX, targetY, null));
return (ret);
};
try {
parentCell = new Cell(startX, startY, _arrayOfCells[0].length);
parentCell.g = 0;
parentCell.h = countEvristic(startX, startY, targetX, targetY);
closeList.insert(parentCell.hashcode, parentCell.copyCell());
arr = foundCellsAboutIt(startX, startY, targetX, targetY);
targetCell = new Cell(targetX, targetY, _arrayOfCells[0].length);
i = 0;
while (i < arr.length) {
cell = arr[i];
cell.g = (parentCell.g + AStarAlgoritm.COST_OF_CELL_MOVING);
cell.h = countEvristic(cell.x, cell.y, targetX, targetY);
cell.parentHashcode = parentCell.hashcode;
cell.hashcode = ((cell.y * _arrayOfCells[0].length) + cell.x);
if ((((_arrayOfCells[cell.y][parentCell.x] == Model.FREE_CELL_VALUE)) && ((_arrayOfCells[parentCell.y][cell.x] == Model.FREE_CELL_VALUE)))){
openList.insert(Cell(arr[i]).hashcode, arr[i]);
};
i = (i + 1);
};
counter = _maxAmountOfLoop;
while (((!(openList.isEmpty())) || (((parentCell.equalsFromHashcode(targetCell.hashcode)) && ((counter > 0)))))) {
counter = (counter - 1);
if (counter < 0){
break;
};
parentCell = findCellWithMinCost();
if ((((parentCell.x == targetCell.x)) && ((parentCell.y == targetCell.y)))){
break;
};
cellsAboutParent = foundCellsAboutIt(parentCell.x, parentCell.y, targetX, targetY);
i = 0;
while (i < cellsAboutParent.length) {
cell = cellsAboutParent[i];
if ((((_arrayOfCells[parentCell.x][cell.y] == Model.FREE_CELL_VALUE)) && ((_arrayOfCells[cell.x][parentCell.y] == Model.FREE_CELL_VALUE)))){
if (!closeList.containsKey(cell.hashcode)){
if (openList.containsKey(cell.hashcode)){
if (cell.g > (parentCell.g + AStarAlgoritm.COST_OF_CELL_MOVING)){
cell.parentHashcode = parentCell.hashcode;
cell.hashcode = ((cell.y * _arrayOfCells[0].length) + cell.x);
cell.g = (parentCell.g + AStarAlgoritm.COST_OF_CELL_MOVING);
cell.h = countEvristic(cell.x, cell.y, targetX, targetY);
};
} else {
cell.g = (parentCell.g + AStarAlgoritm.COST_OF_CELL_MOVING);
cell.h = countEvristic(cell.x, cell.y, targetX, targetY);
cell.hashcode = ((cell.y * _arrayOfCells[0].length) + cell.x);
cell.parentHashcode = parentCell.hashcode;
openList.insert(cell.hashcode, cell);
};
};
};
i = (i + 1);
};
closeList.insert(parentCell.hashcode, parentCell);
openList.remove(parentCell.hashcode);
};
} catch(e:Error) {
};
tmpCell = parentCell.copyCell();
count = 0;
listOfWayCells = new Array();
while (((!((tmpCell.x == startX))) || (!((tmpCell.y == startY))))) {
listOfWayCells.push(tmpCell);
if (closeList.containsKey(tmpCell.parentHashcode)){
tmpCell = closeList.find(tmpCell.parentHashcode).copyCell();
} else {
if (openList.containsKey(tmpCell.parentHashcode)){
tmpCell = openList.find(tmpCell.parentHashcode).copyCell();
} else {
tmpCell = null;
};
};
};
return (listOfWayCells);
}
private function findCellWithMinCost():Cell{
var _local1:int;
var _local2:Iterator;
var _local3:Cell;
var _local4:Cell;
var _local5:int;
_local1 = 100000;
_local2 = openList.getIterator();
_local3 = null;
while (_local2.hasNext()) {
_local4 = _local2.next();
_local5 = (_local4.g + _local4.h);
if (_local5 < _local1){
_local3 = _local4;
_local1 = _local5;
};
};
return (_local3);
}
public static function get instance():AStarAlgoritm{
return (_instance);
}
}
}//package game.cell_algoritms
Section 21
//Cell (game.cell_algoritms.Cell)
package game.cell_algoritms {
public class Cell {
private var _hashcode:int;
private var _parentHashcode:int;
private var _g:int;
private var _h:int;
private var _x:int;
private var _y:int;
public function Cell(_arg1:int, _arg2:int, _arg3:int){
this._x = _arg1;
this._y = _arg2;
_hashcode = ((_arg2 * _arg3) + _arg1);
}
public function get y():int{
return (_y);
}
public function get parentHashcode():int{
return (this._parentHashcode);
}
public function set parentHashcode(_arg1:int):void{
this._parentHashcode = _arg1;
}
public function set g(_arg1:int):void{
this._g = _arg1;
}
public function set h(_arg1:int):void{
this._h = _arg1;
}
public function get g():int{
return (this._g);
}
public function equalsFromHashcode(_arg1:int):Boolean{
if (_hashcode == _arg1){
return (true);
};
return (false);
}
public function get h():int{
return (this._h);
}
public function equalCell(_arg1:Cell):Boolean{
if ((((this.x == _arg1.x)) && ((this.y == _arg1.y)))){
return (true);
};
return (false);
}
public function copyCell():Cell{
var _local1:Cell;
_local1 = new Cell(_x, _y, 0);
_local1.parentHashcode = parentHashcode;
_local1.hashcode = hashcode;
_local1.g = g;
_local1.h = h;
return (_local1);
}
public function get x():int{
return (_x);
}
public function get hashcode():int{
return (this._hashcode);
}
public function set hashcode(_arg1:int):void{
this._hashcode = _arg1;
}
}
}//package game.cell_algoritms
Section 22
//CellAlgoritm (game.cell_algoritms.CellAlgoritm)
package game.cell_algoritms {
import game.model.*;
import game.*;
public class CellAlgoritm {
protected var _arrayOfCells:Array;
public function set arrayOfCells(_arg1:Array):void{
_arrayOfCells = _arg1;
}
public function foundCellsAboutIt(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Array{
var _local5:Array;
var _local6:Number;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:int;
_local5 = new Array();
_local6 = 0;
while (_local6 < 8) {
_local7 = Math.round(Math.cos(((Math.PI / 4) * _local6)));
_local8 = Math.round(Math.sin(((Math.PI / 4) * _local6)));
_local9 = (_arg1 + _local7);
_local10 = (_arg2 + _local8);
if ((((((_local9 == _arg3)) && ((_local10 == _arg4)))) || ((((((((((((_local9 >= 0)) && ((_local9 < _arrayOfCells[0].length)))) && ((_local10 >= 0)))) && ((_local10 < _arrayOfCells.length)))) && ((_arrayOfCells[_local10][_local9] == Model.FREE_CELL_VALUE)))) && (checkCanMoveCell(_arg1, _arg2, _local9, _local10)))))){
_local5.push(new Cell(_local9, _local10, _arrayOfCells[0].length));
};
_local6++;
};
return (_local5);
}
protected function checkCanMoveCell(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Boolean{
if ((((_arg1 == _arg3)) || ((_arg2 == _arg4)))){
return (true);
};
if (((!((_arrayOfCells[_arg2][_arg3] == Model.FREE_CELL_VALUE))) || (!((_arrayOfCells[_arg4][_arg1] == Model.FREE_CELL_VALUE))))){
return (false);
};
return (true);
}
public static function foundCellsAboutIt(_arg1:int, _arg2:int):Array{
var _local3:Array;
var _local4:int;
var _local5:int;
var _local6:Object;
_local3 = new Array();
_local4 = 0;
_local5 = 0;
_local6 = {x:(_arg1 + _local4), y:(_arg2 + _local5)};
_local3.push(_local6);
_local4 = 1;
_local5 = 0;
_local6 = {x:(_arg1 + _local4), y:(_arg2 + _local5)};
_local3.push(_local6);
_local4 = 1;
_local5 = -1;
_local6 = {x:(_arg1 + _local4), y:(_arg2 + _local5)};
_local3.push(_local6);
_local4 = 1;
_local5 = 1;
_local6 = {x:(_arg1 + _local4), y:(_arg2 + _local5)};
_local3.push(_local6);
_local4 = 0;
_local5 = -1;
_local6 = {x:(_arg1 + _local4), y:(_arg2 + _local5)};
_local3.push(_local6);
_local4 = 0;
_local5 = 1;
_local6 = {x:(_arg1 + _local4), y:(_arg2 + _local5)};
_local3.push(_local6);
_local4 = -1;
_local5 = -1;
_local6 = {x:(_arg1 + _local4), y:(_arg2 + _local5)};
_local3.push(_local6);
_local4 = -1;
_local5 = 0;
_local6 = {x:(_arg1 + _local4), y:(_arg2 + _local5)};
_local3.push(_local6);
_local4 = 0;
_local5 = 1;
_local6 = {x:(_arg1 + _local4), y:(_arg2 + _local5)};
_local3.push(_local6);
return (_local3);
}
public static function foundNearestCell(_arg1, _arg2, _arg3:Array):Cell{
var _local4:Cell;
var _local5:Number;
var _local6:int;
var _local7:Cell;
var _local8:Number;
_local4 = null;
_local5 = Number.MAX_VALUE;
_local6 = 0;
while (_local6 < _arg3.length) {
_local7 = _arg3[_local6];
_local8 = GeometryFunctions.distanceBetweenPoints(_arg1, _arg2, ((_local7.y + (1 / 2)) * SetParameters.CELLS_SIZE), ((_local7.x + (1 / 2)) * SetParameters.CELLS_SIZE));
if (_local8 < _local5){
_local5 = _local8;
_local4 = _local7;
};
_local6++;
};
return (_local4);
}
}
}//package game.cell_algoritms
Section 23
//FillingAlgoritm (game.cell_algoritms.FillingAlgoritm)
package game.cell_algoritms {
import game.model.*;
public class FillingAlgoritm {
private var arrayOfCells:Array;
private var creatureY:int;
private var playerX:int;
private var playerY:int;
private var creatureX:int;
private var cellsHashArray:Array;
public function FillingAlgoritm(_arg1:Array, _arg2, _arg3:int, _arg4:int, _arg5:int){
cellsHashArray = new Array();
super();
this.playerX = _arg2;
this.playerY = _arg3;
this.creatureX = _arg4;
this.creatureY = _arg5;
this.arrayOfCells = _arg1;
}
public function recFoundWay(_arg1:int, _arg2:int):Boolean{
var codeOfCell:int;
var currentX = _arg1;
var currentY = _arg2;
try {
if ((((((((currentX < 0)) || ((currentY < 0)))) || ((currentX > arrayOfCells[0].length)))) || ((currentY > arrayOfCells.length)))){
if ((((currentX == creatureX)) && ((currentY == creatureY)))){
return (true);
};
};
if (arrayOfCells[currentY][currentX] != Model.FREE_CELL_VALUE){
return (false);
};
if ((((Math.abs((currentX - creatureX)) >= 2)) || ((Math.abs((currentY - creatureY)) >= 2)))){
return (true);
};
if (foundInArray(codeOfCell)){
return (false);
};
codeOfCell = ((arrayOfCells[0].heigth * currentY) + currentX);
cellsHashArray.push(codeOfCell);
return (((((((((((((((recFoundWay(currentX, (currentY + 1))) || (recFoundWay(currentX, (currentY - 1))))) || (recFoundWay((currentX - 1), currentY)))) || (recFoundWay((currentX - 1), (currentY - 1))))) || (recFoundWay((currentX - 1), (currentY + 1))))) || (recFoundWay((currentX + 1), currentY)))) || (recFoundWay((currentX + 1), (currentY - 1))))) || (recFoundWay((currentX + 1), (currentY + 1)))));
} catch(e:Error) {
return (false);
};
return (false);
}
private function foundInArray(_arg1:int):Boolean{
var _local2:int;
_local2 = 0;
while (_local2 < cellsHashArray.length) {
if (cellsHashArray[_local2] == _arg1){
return (true);
};
_local2++;
};
return (false);
}
public function canFoundWay():Boolean{
var _local1:int;
_local1 = ((arrayOfCells[0].length * playerX) + playerY);
cellsHashArray.push(_local1);
return (((((((((((((((recFoundWay(playerX, (playerY + 1))) || (recFoundWay(playerX, (playerY - 1))))) || (recFoundWay((playerX - 1), playerY)))) || (recFoundWay((playerX - 1), (playerY - 1))))) || (recFoundWay((playerX - 1), (playerY + 1))))) || (recFoundWay((playerX + 1), playerY)))) || (recFoundWay((playerX + 1), (playerY - 1))))) || (recFoundWay((playerX + 1), (playerY + 1)))));
}
}
}//package game.cell_algoritms
Section 24
//ChangeBotsState (game.controller.ChangeBotsState)
package game.controller {
import flash.events.*;
import game.model.creatures.*;
import game.model.*;
import game.*;
import game.model.moved_state.*;
import de.polygonal.ds.*;
import game.cell_algoritms.*;
import game.model.shells.*;
import game.game_events.*;
public class ChangeBotsState {
private var _queueOfNeedDirection:ArrayedQueue;
private var _levelHeight:int;// = 0
private var _goToStateFunctionsFromSimple:HashMap;
private var _model:Model;
private var astar:AStarAlgoritm;
private var _dispatchStatesTableOfSimpleCreature:HashMap;
private var _levelWidth:int;// = 0
private var _goToStateFunctionsFromShoot:HashMap;
private var _dispatchStatesTableOfKamikazeCreature:HashMap;
public static var BOT_DAMAGE_EVENT:String = "bot_damage_event";
public static var BOT_CAN_ATTACK_EVENT:String = "bot_can_attack_event";
public static var BOT_TOTAL_DAMAGE_EVENT:String = "bot_total_damage_event";
public static var AGONY_BOT_STATE:String = "agony_bot_state";
public static var CAN_MOVE_DIRECTLY_EVENT:String = "can_move_directly_event";
public static var WHAIT_BOT_STATE:String = "whait_bot_state";
public static var SHOCK_BOT_STATE:String = "shock_bot_state";
public static var TIME_EXPIRED_CAN_ATTACK_EVENT:String = "time_expired_and_can_attack";
public static var BOT_REACH_CELL_EVENT:String = "bot_need_direction_event";
public static var ATTACK_BOT_STATE:String = "attack_bot_state";
public static var MOVE_BOT_STATE:String = "move_bot_state";
public static var END_STATE:String = "end";
public static var END_TIME_OF_ACTION_EVENT:String = "end_time_of_action_event";
private static var _instance:ChangeBotsState = null;
public static var BOT_INTERSECT_WITH_ANOTHER_EVENT:String = "bot_intersect_with_another_event";
public static var INTERSECT_WITH_ANOTHER_STATE:String = "intersect_with_another_state";
public function ChangeBotsState(){
_dispatchStatesTableOfSimpleCreature = new HashMap();
_dispatchStatesTableOfKamikazeCreature = new HashMap();
_goToStateFunctionsFromSimple = new HashMap();
_goToStateFunctionsFromShoot = new HashMap();
astar = AStarAlgoritm.instance;
_queueOfNeedDirection = new ArrayedQueue(SetParameters.MAX_AMOUNT_OF_BOTS);
_levelWidth = 0;
_levelHeight = 0;
super();
createStateTableForSimpleCreature();
createStateTableForShootCreature();
createMoveToStateArrayFromSimple();
createStateTableForKamikazeCreature();
}
private function checkBotIntersectWithAnother(_arg1:Creature):Boolean{
if (_arg1.intersectAndNeedTurn){
return (true);
};
return (false);
}
private function inqueueIfNeed(_arg1:Creature):void{
if (!_queueOfNeedDirection.contains(_arg1)){
_arg1.state = new WhaitOfTurnState();
_queueOfNeedDirection.enqueue(_arg1);
};
}
private function checkTimeHasExpiresAndShootBotCanAttack(_arg1:Creature):Boolean{
if ((((((((_arg1.remainedTicks <= 0)) && (checkShootBotCanAttack(_arg1)))) && ((_arg1.creatureHealth > 0)))) && (!(_arg1.creatureHaveDamage)))){
return (true);
};
return (false);
}
private function bossRobotShootAttack(_arg1:Creature):void{
var shell1:Shell;
var shell2:Shell;
var targetX:Number;
var targetY:Number;
var angleForShell1:Number;
var angleForShell2:Number;
var creature = _arg1;
try {
shell1 = new Shell();
shell2 = new Shell();
shell1.x = ((Model.countCreatureCellCoord(creature.x) * SetParameters.CELLS_SIZE) + SetParameters.BOSS_SHIFTS_DICTIONARY_LEFT[creature.state.nameOfState].dx);
shell1.y = ((Model.countCreatureCellCoord(creature.y) * SetParameters.CELLS_SIZE) + SetParameters.BOSS_SHIFTS_DICTIONARY_LEFT[creature.state.nameOfState].dy);
shell2.x = ((Model.countCreatureCellCoord(creature.x) * SetParameters.CELLS_SIZE) + SetParameters.BOSS_SHIFTS_DICTIONARY_RIGHT[creature.state.nameOfState].dx);
shell2.y = ((Model.countCreatureCellCoord(creature.y) * SetParameters.CELLS_SIZE) + SetParameters.BOSS_SHIFTS_DICTIONARY_RIGHT[creature.state.nameOfState].dy);
targetX = (_model.player.x + SetParameters.CREATURE_SHELL_SHIFT_X);
targetY = (_model.player.y + SetParameters.CREATURE_SHELL_SHIFT_Y);
angleForShell1 = Math.atan2((targetY - shell1.y), (targetX - shell1.x));
angleForShell2 = Math.atan2((targetY - shell2.y), (targetX - shell2.x));
shell1.dx = (Math.cos(angleForShell1) * SetParameters.SHELL_SPEED);
shell1.dy = (Math.sin(angleForShell1) * SetParameters.SHELL_SPEED);
shell2.dx = (Math.cos(angleForShell2) * SetParameters.SHELL_SPEED);
shell2.dy = (Math.sin(angleForShell2) * SetParameters.SHELL_SPEED);
this._model.containerOfShells.addToContainer(shell1);
this._model.containerOfShells.addToContainer(shell2);
} catch(e:Error) {
};
}
private function bossRobotKamikazeAttack(_arg1:Creature):void{
}
public function checkBotReachCell(_arg1:Creature):Boolean{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local2 = (_arg1.cellX * SetParameters.CELLS_SIZE);
_local3 = (_arg1.cellY * SetParameters.CELLS_SIZE);
_local4 = _arg1.x;
_local5 = _arg1.y;
_local6 = GeometryFunctions.distanceBetweenPoints(_local2, _local3, _local4, _local5);
if (_local6 < 2){
return (true);
};
return (false);
}
private function getKamikazeBotEvent(_arg1:Creature):String{
if (checkTimeHasExpires(_arg1)){
return (ChangeBotsState.END_TIME_OF_ACTION_EVENT);
};
if (checkBotHaveDestroyDamage(_arg1)){
return (ChangeBotsState.BOT_CAN_ATTACK_EVENT);
};
if (checkBotHaveDamage(_arg1)){
return (ChangeBotsState.BOT_DAMAGE_EVENT);
};
if (this.checkBotIntersectWithAnother(_arg1)){
return (ChangeBotsState.BOT_INTERSECT_WITH_ANOTHER_EVENT);
};
if (checkSimpleBotCanAttack(_arg1)){
return (ChangeBotsState.BOT_CAN_ATTACK_EVENT);
};
if (checkBotReachCell(_arg1)){
return (ChangeBotsState.BOT_REACH_CELL_EVENT);
};
return (null);
}
private function setSimpleUserMovedState(_arg1:Creature):void{
setPreviousCurrentStateIfNeed(_arg1);
inqueueIfNeed(_arg1);
_arg1.needToDiscreaseTicks = false;
}
private function checkTimeHasExpires(_arg1:Creature):Boolean{
if (_arg1.remainedTicks <= 0){
return (true);
};
return (false);
}
public function get queueOfNeedDirection():ArrayedQueue{
return (_queueOfNeedDirection);
}
private function createStateTableForKamikazeCreature():void{
var _local1:HashMap;
var _local2:HashMap;
var _local3:HashMap;
var _local4:HashMap;
_local1 = new HashMap();
_local1.insert(ChangeBotsState.BOT_REACH_CELL_EVENT, ChangeBotsState.MOVE_BOT_STATE);
_local1.insert(ChangeBotsState.BOT_CAN_ATTACK_EVENT, ChangeBotsState.ATTACK_BOT_STATE);
_local1.insert(ChangeBotsState.BOT_DAMAGE_EVENT, ChangeBotsState.SHOCK_BOT_STATE);
_local1.insert(ChangeBotsState.BOT_TOTAL_DAMAGE_EVENT, ChangeBotsState.ATTACK_BOT_STATE);
_local1.insert(ChangeBotsState.BOT_INTERSECT_WITH_ANOTHER_EVENT, ChangeBotsState.INTERSECT_WITH_ANOTHER_STATE);
_dispatchStatesTableOfKamikazeCreature.insert(ChangeBotsState.MOVE_BOT_STATE, _local1);
_local2 = new HashMap();
_local2.insert(ChangeBotsState.BOT_DAMAGE_EVENT, ChangeBotsState.SHOCK_BOT_STATE);
_local2.insert(ChangeBotsState.BOT_TOTAL_DAMAGE_EVENT, ChangeBotsState.ATTACK_BOT_STATE);
_local2.insert(ChangeBotsState.BOT_CAN_ATTACK_EVENT, ChangeBotsState.ATTACK_BOT_STATE);
_local2.insert(ChangeBotsState.END_TIME_OF_ACTION_EVENT, ChangeBotsState.MOVE_BOT_STATE);
_dispatchStatesTableOfKamikazeCreature.insert(ChangeBotsState.WHAIT_BOT_STATE, _local2);
_local3 = new HashMap();
_local3.insert(ChangeBotsState.END_TIME_OF_ACTION_EVENT, ChangeBotsState.END_STATE);
_local3.insert(ChangeBotsState.BOT_DAMAGE_EVENT, ChangeBotsState.SHOCK_BOT_STATE);
_local3.insert(ChangeBotsState.BOT_TOTAL_DAMAGE_EVENT, ChangeBotsState.ATTACK_BOT_STATE);
_dispatchStatesTableOfKamikazeCreature.insert(ChangeBotsState.ATTACK_BOT_STATE, _local3);
_local4 = new HashMap();
_local4.insert(ChangeBotsState.BOT_DAMAGE_EVENT, ChangeBotsState.SHOCK_BOT_STATE);
_local4.insert(ChangeBotsState.BOT_TOTAL_DAMAGE_EVENT, ChangeBotsState.ATTACK_BOT_STATE);
_local4.insert(ChangeBotsState.END_TIME_OF_ACTION_EVENT, ChangeBotsState.MOVE_BOT_STATE);
_dispatchStatesTableOfKamikazeCreature.insert(ChangeBotsState.SHOCK_BOT_STATE, _local4);
}
private function getShootBotEvent(_arg1:Creature):String{
if (this.checkTimeHasExpiresAndShootBotCanAttack(_arg1)){
return (ChangeBotsState.TIME_EXPIRED_CAN_ATTACK_EVENT);
};
if (checkTimeHasExpires(_arg1)){
return (ChangeBotsState.END_TIME_OF_ACTION_EVENT);
};
if (checkBotHaveDestroyDamage(_arg1)){
return (ChangeBotsState.BOT_TOTAL_DAMAGE_EVENT);
};
if (checkBotHaveDamage(_arg1)){
return (ChangeBotsState.BOT_DAMAGE_EVENT);
};
if (this.checkBotIntersectWithAnother(_arg1)){
return (ChangeBotsState.BOT_INTERSECT_WITH_ANOTHER_EVENT);
};
if (checkShootBotCanAttack(_arg1)){
return (ChangeBotsState.BOT_CAN_ATTACK_EVENT);
};
if (checkBotReachCell(_arg1)){
return (ChangeBotsState.BOT_REACH_CELL_EVENT);
};
return (null);
}
public function changeStateOfSimpleCreature(_arg1:Creature):void{
var debugInfo:String;
var creatureEvent:String;
var creatureState:String;
var newStateName:String;
var changeStateFunction:Function;
var oldState:IMovedState;
var creature = _arg1;
debugInfo = "";
try {
debugInfo = (debugInfo + "\nin try\n");
creatureEvent = this.getSimpleBotEvent(creature);
debugInfo = (debugInfo + (("creatureEvent:" + creatureEvent) + "\n"));
creatureState = getBotState(creature);
debugInfo = (debugInfo + (("creatureState:" + creatureState) + "\n"));
if (creatureEvent != null){
debugInfo = (debugInfo + ("creatureEvent!=null" + "\n"));
newStateName = _dispatchStatesTableOfSimpleCreature.find(creatureState).find(creatureEvent);
debugInfo = (debugInfo + ((" newStateName:" + newStateName) + "\n"));
if (newStateName != null){
debugInfo = (debugInfo + ("newStateName!=null" + "\n"));
changeStateFunction = _goToStateFunctionsFromSimple.find(newStateName);
debugInfo = (debugInfo + (("changeStateFunction:" + changeStateFunction) + "\n"));
oldState = creature.state;
changeStateFunction(creature);
};
};
} catch(e:Error) {
};
}
private function checkSimpleBotCanAttack(_arg1:Creature):Boolean{
var _local2:Number;
_local2 = GeometryFunctions.distanceBetweenPoints(_arg1.x, _arg1.y, _model.player.x, _model.player.y);
if (((this.checkBotReachCell(_arg1)) && ((_local2 < SetParameters.ATTACK_DISTANCE_SIMPLE)))){
return (true);
};
return (false);
}
private function getBotState(_arg1:Creature):String{
if (_arg1.state.nameOfState == AbstractState.AGONY_STATE){
return (ChangeBotsState.AGONY_BOT_STATE);
};
if (AbstractState.isStateMoving(_arg1.state)){
return (ChangeBotsState.MOVE_BOT_STATE);
};
if (AbstractState.isStateAttack(_arg1.state)){
return (ChangeBotsState.ATTACK_BOT_STATE);
};
if (_arg1.state.nameOfState == AbstractState.WHAIT_OF_TURN_STATE){
return (ChangeBotsState.WHAIT_BOT_STATE);
};
if (AbstractState.isStateShock(_arg1.state)){
return (ChangeBotsState.SHOCK_BOT_STATE);
};
if (_arg1.state.nameOfState == AbstractState.AGONY_STATE){
return (ChangeBotsState.AGONY_BOT_STATE);
};
return (ChangeBotsState.WHAIT_BOT_STATE);
}
private function createStateTableForShootCreature():void{
var _local1:HashMap;
var _local2:HashMap;
var _local3:HashMap;
var _local4:HashMap;
var _local5:HashMap;
_local1 = new HashMap();
_local1.insert(ChangeBotsState.BOT_REACH_CELL_EVENT, ChangeBotsState.MOVE_BOT_STATE);
_local1.insert(ChangeBotsState.BOT_CAN_ATTACK_EVENT, ChangeBotsState.ATTACK_BOT_STATE);
_local1.insert(ChangeBotsState.BOT_DAMAGE_EVENT, ChangeBotsState.SHOCK_BOT_STATE);
_local1.insert(ChangeBotsState.BOT_TOTAL_DAMAGE_EVENT, ChangeBotsState.AGONY_BOT_STATE);
_local1.insert(ChangeBotsState.BOT_INTERSECT_WITH_ANOTHER_EVENT, ChangeBotsState.INTERSECT_WITH_ANOTHER_STATE);
_dispatchStatesTableOfSimpleCreature.insert(ChangeBotsState.MOVE_BOT_STATE, _local1);
_local2 = new HashMap();
_local2.insert(ChangeBotsState.BOT_DAMAGE_EVENT, ChangeBotsState.SHOCK_BOT_STATE);
_local2.insert(ChangeBotsState.BOT_TOTAL_DAMAGE_EVENT, ChangeBotsState.AGONY_BOT_STATE);
_local2.insert(ChangeBotsState.BOT_CAN_ATTACK_EVENT, ChangeBotsState.ATTACK_BOT_STATE);
_local2.insert(ChangeBotsState.END_TIME_OF_ACTION_EVENT, ChangeBotsState.MOVE_BOT_STATE);
_dispatchStatesTableOfSimpleCreature.insert(ChangeBotsState.WHAIT_BOT_STATE, _local2);
_local3 = new HashMap();
_local3.insert(ChangeBotsState.TIME_EXPIRED_CAN_ATTACK_EVENT, ChangeBotsState.ATTACK_BOT_STATE);
_local3.insert(ChangeBotsState.END_TIME_OF_ACTION_EVENT, ChangeBotsState.MOVE_BOT_STATE);
_local3.insert(ChangeBotsState.BOT_DAMAGE_EVENT, ChangeBotsState.SHOCK_BOT_STATE);
_local3.insert(ChangeBotsState.BOT_TOTAL_DAMAGE_EVENT, ChangeBotsState.AGONY_BOT_STATE);
_dispatchStatesTableOfSimpleCreature.insert(ChangeBotsState.ATTACK_BOT_STATE, _local3);
_local4 = new HashMap();
_local4.insert(ChangeBotsState.BOT_DAMAGE_EVENT, ChangeBotsState.SHOCK_BOT_STATE);
_local4.insert(ChangeBotsState.BOT_TOTAL_DAMAGE_EVENT, ChangeBotsState.AGONY_BOT_STATE);
_local4.insert(ChangeBotsState.END_TIME_OF_ACTION_EVENT, ChangeBotsState.MOVE_BOT_STATE);
_dispatchStatesTableOfSimpleCreature.insert(ChangeBotsState.SHOCK_BOT_STATE, _local4);
_local5 = new HashMap();
_local5.insert(ChangeBotsState.END_TIME_OF_ACTION_EVENT, ChangeBotsState.END_STATE);
_dispatchStatesTableOfSimpleCreature.insert(ChangeBotsState.AGONY_BOT_STATE, _local5);
}
private function processIntersectWithAnotherFromSimple(_arg1:Creature):void{
_arg1.turnBack();
}
private function checkBotHaveDestroyDamage(_arg1:Creature):Boolean{
if (_arg1.creatureHealth <= 0){
return (true);
};
return (false);
}
private function getAlternativeAttackState(_arg1:Number):IMovedState{
var _local2:IMovedState;
switch (_arg1){
case 0:
_local2 = new ARightAttackState();
break;
case 1:
_local2 = new ARightDownAttackState();
break;
case 2:
_local2 = new ADownAttackState();
break;
case 3:
_local2 = new ALeftDownAttackState();
break;
case 4:
_local2 = new ALeftAttackState();
break;
case -1:
_local2 = new ARightUpAttackState();
break;
case -2:
_local2 = new AUpAttackState();
break;
case -3:
_local2 = new ALeftUpAttackState();
break;
case -4:
_local2 = new ALeftAttackState();
break;
};
return (_local2);
}
private function checkRightCoords(_arg1:int, _arg2:int):Boolean{
if ((((((((((_arg1 >= 0)) && ((_arg1 < _levelWidth)))) && ((_arg2 >= 0)))) && ((_arg2 < this._levelHeight)))) && ((_model.arrayOfCells[_arg2][_arg1] == Model.FREE_CELL_VALUE)))){
return (true);
};
return (false);
}
private function shootRobotAttack(_arg1:Creature):void{
var _local2:Shell;
var _local3:Number;
var _local4:Number;
var _local5:Number;
if (!_arg1.bigLenShoot){
_local2 = new Shell();
_local2.x = (((Model.countCreatureCellCoord(_arg1.x) + 0) * SetParameters.CELLS_SIZE) + _arg1.state.shiftX);
_local2.y = (((Model.countCreatureCellCoord(_arg1.y) + 0) * SetParameters.CELLS_SIZE) + _arg1.state.shiftY);
_local3 = (_model.player.x + SetParameters.CREATURE_SHELL_SHIFT_X);
_local4 = (_model.player.y + SetParameters.CREATURE_SHELL_SHIFT_Y);
_local5 = Math.atan2((_local4 - _local2.y), (_local3 - _local2.x));
_local2.dx = (Math.cos(_local5) * SetParameters.SHELL_SPEED);
_local2.dy = (Math.sin(_local5) * SetParameters.SHELL_SPEED);
this._model.containerOfShells.addToContainer(_local2);
};
}
private function createMoveToStateArrayFromShoot():void{
_goToStateFunctionsFromShoot.insert(ChangeBotsState.MOVE_BOT_STATE, this.setSimpleUserMovedState);
_goToStateFunctionsFromShoot.insert(ChangeBotsState.ATTACK_BOT_STATE, this.setAttackState);
_goToStateFunctionsFromShoot.insert(ChangeBotsState.SHOCK_BOT_STATE, this.setShockStateFromSimple);
_goToStateFunctionsFromShoot.insert(ChangeBotsState.AGONY_BOT_STATE, this.setAgonyStateFromSimple);
_goToStateFunctionsFromShoot.insert(ChangeBotsState.END_STATE, this.setEndState);
_goToStateFunctionsFromShoot.insert(ChangeBotsState.INTERSECT_WITH_ANOTHER_STATE, this.processIntersectWithAnotherFromSimple);
_goToStateFunctionsFromShoot.insert(ChangeBotsState.WHAIT_BOT_STATE, this.setWhaitOfTurnActionFromSimple);
}
public function setNewDirection(_arg1:Creature):void{
var debugInfo:String;
var canFoundCell:Boolean;
var playerCellX:int;
var playerCellY:int;
var distance:Number;
var arrayOfWay:Array;
var nextCellX:int;
var nextCellY:int;
var state:IMovedState;
var creature = _arg1;
debugInfo = "";
try {
debugInfo = (debugInfo + "\n1");
if (AbstractState.isStateMoving(creature.state)){
creature.previousMovedState = creature.state;
};
debugInfo = (debugInfo + "\n2");
canFoundCell = false;
debugInfo = (debugInfo + "\n3");
playerCellX = Model.countCreatureCellCoord(_model.player.x);
playerCellY = Model.countCreatureCellCoord(_model.player.y);
debugInfo = (debugInfo + "\n4");
if ((((Math.abs((Model.countCreatureCellCoord(creature.x) - playerCellX)) <= 1)) && ((Math.abs((Model.countCreatureCellCoord(creature.y) - playerCellY)) <= 1)))){
debugInfo = (debugInfo + "\n5.1");
distance = GeometryFunctions.distanceBetweenPoints(creature.x, creature.y, _model.player.x, _model.player.y);
debugInfo = (debugInfo + "\n6.1");
if (distance <= SetParameters.ATTACK_DISTANCE_SIMPLE){
this.setAttackState(creature);
debugInfo = (debugInfo + "\n7.1.1");
} else {
debugInfo = (debugInfo + "\n7.1.2");
arrayOfWay = astar.findWayToCell(creature.arrayX, creature.arrayY, playerCellX, playerCellY);
debugInfo = (debugInfo + ("\n8.1.2 arrayOfWay:" + arrayOfWay.length));
if (arrayOfWay.length > 0){
nextCellX = arrayOfWay[(arrayOfWay.length - 1)].x;
debugInfo = (debugInfo + "\n9.1.2");
nextCellY = arrayOfWay[(arrayOfWay.length - 1)].y;
debugInfo = (debugInfo + "\n10.1.2");
state = AbstractState.getMovedStateFromDXY((nextCellX - creature.cellX), (nextCellY - creature.cellY));
debugInfo = (debugInfo + "\n11.1.2");
creature.state = state;
debugInfo = (debugInfo + "\n2.1.2");
};
};
creature.setCellXY((creature.arrayX + creature.state.dxSign), (creature.arrayY + creature.state.dySign));
} else {
debugInfo = (debugInfo + "\n5.2");
arrayOfWay = astar.findWayToCellAboutIt(creature.arrayX, creature.arrayY, playerCellX, playerCellY);
debugInfo = (debugInfo + "\n6.2");
if (arrayOfWay.length > 0){
debugInfo = (debugInfo + "\n7.2");
nextCellX = arrayOfWay[(arrayOfWay.length - 1)].x;
debugInfo = (debugInfo + "\n8.2");
nextCellY = arrayOfWay[(arrayOfWay.length - 1)].y;
debugInfo = (debugInfo + "\n9.2");
state = AbstractState.getMovedStateFromDXY((nextCellX - creature.cellX), (nextCellY - creature.cellY));
debugInfo = (debugInfo + "\n10.2");
creature.state = state;
debugInfo = (debugInfo + "\n11.2");
creature.arrayOfWay = arrayOfWay;
debugInfo = (debugInfo + "\n12.2");
creature.setCellXY((creature.arrayX + creature.state.dxSign), (creature.arrayY + creature.state.dySign));
debugInfo = (debugInfo + "\n13.2");
};
};
} catch(e:Error) {
};
}
private function setAgonyStateFromSimple(_arg1:Creature):void{
var _local2:GameObjectEvent;
_local2 = new GameObjectEvent(Creature.HIT_BOT_EVENT);
_local2.hashcode = _arg1.hashcode;
_arg1.dispatchEvent(_local2);
_arg1.state = new AgonyState();
_arg1.needToDiscreaseTicks = true;
}
private function createMoveToStateArrayFromSimple():void{
_goToStateFunctionsFromSimple.insert(ChangeBotsState.MOVE_BOT_STATE, this.setSimpleUserMovedState);
_goToStateFunctionsFromSimple.insert(ChangeBotsState.ATTACK_BOT_STATE, this.setAttackState);
_goToStateFunctionsFromSimple.insert(ChangeBotsState.SHOCK_BOT_STATE, this.setShockStateFromSimple);
_goToStateFunctionsFromSimple.insert(ChangeBotsState.AGONY_BOT_STATE, this.setAgonyStateFromSimple);
_goToStateFunctionsFromSimple.insert(ChangeBotsState.END_STATE, this.setEndState);
_goToStateFunctionsFromSimple.insert(ChangeBotsState.INTERSECT_WITH_ANOTHER_STATE, this.processIntersectWithAnotherFromSimple);
_goToStateFunctionsFromSimple.insert(ChangeBotsState.WHAIT_BOT_STATE, this.setWhaitOfTurnActionFromSimple);
}
private function checkShootBotCanAttack(_arg1:Creature):Boolean{
var distance:Number;
var playerCellX:int;
var playerCellY:int;
var creature = _arg1;
try {
distance = GeometryFunctions.distanceBetweenPoints(creature.x, creature.y, _model.player.x, _model.player.y);
playerCellX = Model.countCreatureCellCoord(_model.player.x);
playerCellY = Model.countCreatureCellCoord(_model.player.y);
if (((((this.checkBotReachCell(creature)) && (this._model.canSeeFromOneToAnother(creature.x, creature.y, _model.player.x, _model.player.y)))) && ((((distance < SetParameters.ATTACK_DISTANCE_SHOOT)) || (creature.bigLenShoot))))){
return (true);
};
} catch(e:Error) {
};
return (false);
}
public function set model(_arg1:Model):void{
_model = _arg1;
}
private function getSimpleBotEvent(_arg1:Creature):String{
if (this.checkTimeHasExpiresAndSimpleBotCanAttack(_arg1)){
return (ChangeBotsState.TIME_EXPIRED_CAN_ATTACK_EVENT);
};
if (checkTimeHasExpires(_arg1)){
return (ChangeBotsState.END_TIME_OF_ACTION_EVENT);
};
if (checkBotHaveDestroyDamage(_arg1)){
return (ChangeBotsState.BOT_TOTAL_DAMAGE_EVENT);
};
if (checkBotHaveDamage(_arg1)){
return (ChangeBotsState.BOT_DAMAGE_EVENT);
};
if (this.checkBotIntersectWithAnother(_arg1)){
return (ChangeBotsState.BOT_INTERSECT_WITH_ANOTHER_EVENT);
};
if (checkSimpleBotCanAttack(_arg1)){
return (ChangeBotsState.BOT_CAN_ATTACK_EVENT);
};
if (checkBotReachCell(_arg1)){
return (ChangeBotsState.BOT_REACH_CELL_EVENT);
};
return (null);
}
private function setWhaitOfTurnActionFromSimple(_arg1:Creature):void{
setPreviousCurrentStateIfNeed(_arg1);
_arg1.state = new WhaitOfTurnState();
_arg1.needToDiscreaseTicks = false;
}
private function createStateTableForSimpleCreature():void{
var _local1:HashMap;
var _local2:HashMap;
var _local3:HashMap;
var _local4:HashMap;
var _local5:HashMap;
_local1 = new HashMap();
_local1.insert(ChangeBotsState.BOT_REACH_CELL_EVENT, ChangeBotsState.MOVE_BOT_STATE);
_local1.insert(ChangeBotsState.BOT_CAN_ATTACK_EVENT, ChangeBotsState.ATTACK_BOT_STATE);
_local1.insert(ChangeBotsState.BOT_DAMAGE_EVENT, ChangeBotsState.SHOCK_BOT_STATE);
_local1.insert(ChangeBotsState.BOT_TOTAL_DAMAGE_EVENT, ChangeBotsState.AGONY_BOT_STATE);
_local1.insert(ChangeBotsState.BOT_INTERSECT_WITH_ANOTHER_EVENT, ChangeBotsState.INTERSECT_WITH_ANOTHER_STATE);
_dispatchStatesTableOfSimpleCreature.insert(ChangeBotsState.MOVE_BOT_STATE, _local1);
_local2 = new HashMap();
_local2.insert(ChangeBotsState.BOT_DAMAGE_EVENT, ChangeBotsState.SHOCK_BOT_STATE);
_local2.insert(ChangeBotsState.BOT_TOTAL_DAMAGE_EVENT, ChangeBotsState.AGONY_BOT_STATE);
_local2.insert(ChangeBotsState.BOT_CAN_ATTACK_EVENT, ChangeBotsState.ATTACK_BOT_STATE);
_local2.insert(ChangeBotsState.END_TIME_OF_ACTION_EVENT, ChangeBotsState.MOVE_BOT_STATE);
_dispatchStatesTableOfSimpleCreature.insert(ChangeBotsState.WHAIT_BOT_STATE, _local2);
_local3 = new HashMap();
_local3.insert(ChangeBotsState.TIME_EXPIRED_CAN_ATTACK_EVENT, ChangeBotsState.ATTACK_BOT_STATE);
_local3.insert(ChangeBotsState.END_TIME_OF_ACTION_EVENT, ChangeBotsState.MOVE_BOT_STATE);
_local3.insert(ChangeBotsState.BOT_DAMAGE_EVENT, ChangeBotsState.SHOCK_BOT_STATE);
_local3.insert(ChangeBotsState.BOT_TOTAL_DAMAGE_EVENT, ChangeBotsState.AGONY_BOT_STATE);
_dispatchStatesTableOfSimpleCreature.insert(ChangeBotsState.ATTACK_BOT_STATE, _local3);
_local4 = new HashMap();
_local4.insert(ChangeBotsState.BOT_DAMAGE_EVENT, ChangeBotsState.SHOCK_BOT_STATE);
_local4.insert(ChangeBotsState.BOT_TOTAL_DAMAGE_EVENT, ChangeBotsState.AGONY_BOT_STATE);
_local4.insert(ChangeBotsState.END_TIME_OF_ACTION_EVENT, ChangeBotsState.MOVE_BOT_STATE);
_dispatchStatesTableOfSimpleCreature.insert(ChangeBotsState.SHOCK_BOT_STATE, _local4);
_local5 = new HashMap();
_local5.insert(ChangeBotsState.END_TIME_OF_ACTION_EVENT, ChangeBotsState.END_STATE);
_dispatchStatesTableOfSimpleCreature.insert(ChangeBotsState.AGONY_BOT_STATE, _local5);
}
private function setPreviousCurrentStateIfNeed(_arg1:Creature):void{
if (AbstractState.isStateMoving(_arg1.state)){
_arg1.previousMovedState = _arg1.state;
};
}
private function setAttackState(_arg1:Creature):void{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:Number;
setPreviousCurrentStateIfNeed(_arg1);
_local2 = _model.player.x;
_local3 = _model.player.y;
_local4 = _arg1.x;
_local5 = _arg1.y;
_local6 = (_local2 - _local4);
_local7 = (_local3 - _local5);
_local8 = Math.round(((Math.atan2(_local7, _local6) / Math.PI) * 4));
_arg1.state = getAttackState(_local8);
_arg1.needToDiscreaseTicks = true;
switch (_arg1.typeOfCreature){
case Creature.SHOOT_ROBOT:
shootRobotAttack(_arg1);
break;
case Creature.KAMIKAZE_ROBOT:
kamikazeRobotAttack(_arg1);
break;
case Creature.SIMPLE_ROBOT:
break;
case Creature.BOSS_ROBOT:
bossRobotShootAttack(_arg1);
break;
};
}
public function changeStateOfKamikazeCreature(_arg1:Creature):void{
var debugInfo:String;
var creatureEvent:String;
var creatureState:String;
var newStateName:String;
var changeStateFunction:Function;
var oldState:IMovedState;
var creature = _arg1;
debugInfo = "";
try {
debugInfo = (debugInfo + "\nin try\n");
creatureEvent = this.getKamikazeBotEvent(creature);
debugInfo = (debugInfo + (("creatureEvent:" + creatureEvent) + "\n"));
creatureState = getBotState(creature);
debugInfo = (debugInfo + (("creatureState:" + creatureState) + "\n"));
if (creatureEvent != null){
debugInfo = (debugInfo + ("creatureEvent!=null" + "\n"));
newStateName = _dispatchStatesTableOfKamikazeCreature.find(creatureState).find(creatureEvent);
debugInfo = (debugInfo + ((" newStateName:" + newStateName) + "\n"));
if (newStateName != null){
debugInfo = (debugInfo + ("newStateName!=null" + "\n"));
changeStateFunction = _goToStateFunctionsFromSimple.find(newStateName);
debugInfo = (debugInfo + (("changeStateFunction:" + changeStateFunction) + "\n"));
oldState = creature.state;
changeStateFunction(creature);
};
};
} catch(e:Error) {
};
}
public function changeStateOfBossCreature(_arg1:Creature):void{
var debugInfo:String;
var creatureEvent:String;
var creatureState:String;
var newStateName:String;
var changeStateFunction:Function;
var oldState:IMovedState;
var creature = _arg1;
debugInfo = "";
try {
debugInfo = (debugInfo + "\nin try\n");
creatureEvent = this.getShootBotEvent(creature);
debugInfo = (debugInfo + (("creatureEvent:" + creatureEvent) + "\n"));
creatureState = getBotState(creature);
debugInfo = (debugInfo + (("creatureState:" + creatureState) + "\n"));
if (creatureEvent != null){
debugInfo = (debugInfo + ("creatureEvent!=null" + "\n"));
newStateName = _dispatchStatesTableOfSimpleCreature.find(creatureState).find(creatureEvent);
debugInfo = (debugInfo + ((" newStateName:" + newStateName) + "\n"));
if (newStateName != null){
debugInfo = (debugInfo + ("newStateName!=null" + "\n"));
changeStateFunction = _goToStateFunctionsFromSimple.find(newStateName);
debugInfo = (debugInfo + (("changeStateFunction:" + changeStateFunction) + "\n"));
oldState = creature.state;
changeStateFunction(creature);
};
};
} catch(e:Error) {
};
}
public function setShockStateFromSimple(_arg1:Creature):void{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:GameObjectEvent;
if (AbstractState.isStateMoving(_arg1.state)){
_arg1.previousMovedState = _arg1.state;
};
_local2 = (_arg1.x - _arg1.shooterX);
_local3 = (_arg1.y - _arg1.shooterY);
_local4 = Math.round(((Math.atan2(_local3, _local2) / Math.PI) * 4));
_arg1.state = AbstractState.getNewShockState(_local4);
_arg1.setCellXY((_arg1.arrayX + _arg1.state.dxSign), (_arg1.arrayY + _arg1.state.dySign));
_arg1.needToDiscreaseTicks = true;
_local5 = new GameObjectEvent(Creature.HIT_BOT_EVENT);
_local5.hashcode = _arg1.hashcode;
_arg1.dispatchEvent(_local5);
}
private function kamikazeRobotAttack(_arg1:Creature):void{
var _local2:int;
var _local3:int;
var _local4:Number;
var _local5:Number;
_arg1.remainedTicks = 6;
this._model.dispatchEvent(new Event(Model.EXPLOSION_EVENT));
this._model.creatures.processDamage(_arg1);
_local2 = Model.countCreatureCellCoord(_model.player.x);
_local3 = Model.countCreatureCellCoord(_model.player.y);
if ((((Math.abs((_arg1.cellX - _local2)) <= 1)) && ((Math.abs((_arg1.cellY - _local3)) <= 1)))){
_model.player.inShockState = true;
_local4 = (_model.player.x - _arg1.x);
_local5 = (_model.player.y - _arg1.y);
_model.player.shockXSign = (_model.player.shockXSign + _local4);
_model.player.shockYSign = (_model.player.shockYSign + _local5);
_model.player.playerHealth = (_model.player.playerHealth - SetParameters.KAMIKAZE_DESTROY);
};
}
private function checkTimeHasExpiresAndSimpleBotCanAttack(_arg1:Creature):Boolean{
if ((((((((_arg1.remainedTicks <= 0)) && (checkSimpleBotCanAttack(_arg1)))) && ((_arg1.creatureHealth > 0)))) && (!(_arg1.creatureHaveDamage)))){
return (true);
};
return (false);
}
private function getAttackState(_arg1:Number):IMovedState{
var _local2:IMovedState;
switch (_arg1){
case 0:
_local2 = new RightAttackState();
break;
case 1:
_local2 = new RightDownAttackState();
break;
case 2:
_local2 = new DownAttackState();
break;
case 3:
_local2 = new LeftDownAttackState();
break;
case 4:
_local2 = new LeftAttackState();
break;
case -1:
_local2 = new RightUpAttackState();
break;
case -2:
_local2 = new UpAttackState();
break;
case -3:
_local2 = new LeftUpAttackState();
break;
case -4:
_local2 = new LeftAttackState();
break;
};
return (_local2);
}
public function changeStateOfShootCreature(_arg1:Creature):void{
var debugInfo:String;
var creatureEvent:String;
var creatureState:String;
var newStateName:String;
var changeStateFunction:Function;
var oldState:IMovedState;
var creature = _arg1;
debugInfo = "";
try {
debugInfo = (debugInfo + "\nin try\n");
creatureEvent = this.getShootBotEvent(creature);
debugInfo = (debugInfo + (("creatureEvent:" + creatureEvent) + "\n"));
creatureState = getBotState(creature);
debugInfo = (debugInfo + (("creatureState:" + creatureState) + "\n"));
if (creatureEvent != null){
debugInfo = (debugInfo + ("creatureEvent!=null" + "\n"));
newStateName = _dispatchStatesTableOfSimpleCreature.find(creatureState).find(creatureEvent);
debugInfo = (debugInfo + ((" newStateName:" + newStateName) + "\n"));
if (newStateName != null){
debugInfo = (debugInfo + ("newStateName!=null" + "\n"));
changeStateFunction = _goToStateFunctionsFromSimple.find(newStateName);
debugInfo = (debugInfo + (("changeStateFunction:" + changeStateFunction) + "\n"));
oldState = creature.state;
changeStateFunction(creature);
};
};
} catch(e:Error) {
};
}
private function checkBotHaveDamage(_arg1:Creature):Boolean{
if (_arg1.creatureHaveDamage){
_arg1.creatureHaveDamage = false;
return (true);
};
return (false);
}
private function setEndState(_arg1:Creature):void{
_arg1.removeSelf();
}
public static function get instance():ChangeBotsState{
if (_instance == null){
_instance = new (ChangeBotsState);
};
return (_instance);
}
}
}//package game.controller
Section 25
//ContainerOfBotsPointer (game.controller.ContainerOfBotsPointer)
package game.controller {
import game.model.creatures.*;
import game.model.*;
import game.*;
import game.math.*;
import de.polygonal.ds.*;
import game.cell_algoritms.*;
public class ContainerOfBotsPointer {
private var _arrayOfPointers:Array;
private var _levelWidth:int;
private var _levelHeight:int;
private var _model:Model;
var tvar:Number;
public static var _instance:ContainerOfBotsPointer = new (ContainerOfBotsPointer);
;
public function ContainerOfBotsPointer(){
initArrayOfCells();
}
public function haveCreaturesAboutIt(_arg1:int, _arg2:int):void{
}
public function get arrayOfPointers():Array{
return (_arrayOfPointers);
}
private function cellXIsCorrect(_arg1:int):Boolean{
if ((((_arg1 >= 0)) && ((_arg1 < this._levelWidth)))){
return (true);
};
return (false);
}
public function set levelWidth(_arg1:int):void{
this._levelWidth = _arg1;
}
private function foundBotsNearIt(_arg1:Creature):Array{
var debugInfo:String;
var cellX:int;
var cellY:int;
var arrayOfCellsCoords:Array;
var arrayOfCreatures:Array;
var i:int;
var debugInfo1:String;
var objectCell:Object;
var creatureX:int;
var creatureY:int;
var hashMap:HashMap;
var creature = _arg1;
debugInfo = "";
try {
debugInfo = "\n1";
cellX = creature.arrayX;
debugInfo = (debugInfo + "\n2");
cellY = creature.arrayY;
debugInfo = (debugInfo + "\n3");
arrayOfCellsCoords = CellAlgoritm.foundCellsAboutIt(cellX, cellY);
debugInfo = (debugInfo + "\n4");
arrayOfCreatures = new Array();
debugInfo = (debugInfo + "\n5");
i = 0;
while (i < arrayOfCellsCoords.length) {
debugInfo1 = "\nin loop 0";
try {
objectCell = arrayOfCellsCoords[i];
creatureX = (objectCell.x as int);
creatureY = (objectCell.y as int);
debugInfo1 = (debugInfo1 + ((("\nin loop 1:: x:" + creatureX) + " y:") + creatureY));
debugInfo1 = (debugInfo1 + ((((("\n _levelWidth:" + this._levelWidth) + " _levelHeight:") + this._levelHeight) + " hashmap:") + _arrayOfPointers[creatureY]));
if (((((cellXIsCorrect(creatureX)) && (cellYIsCorrect(creatureY)))) && (!((_arrayOfPointers[creatureX][creatureY] == null))))){
debugInfo1 = (debugInfo1 + "\nin loop and in if 1");
hashMap = _arrayOfPointers[creatureX][creatureY];
debugInfo1 = (debugInfo1 + "\nin loop and in if 2");
arrayOfCreatures = arrayOfCreatures.concat(hashMap.toArray());
debugInfo1 = (debugInfo1 + "\nin loop and in if 3");
};
} catch(err1:Error) {
};
i = (i + 1);
};
return (arrayOfCreatures);
} catch(e:Error) {
};
return ([]);
}
public function initArrayOfCells():void{
var _local1:int;
var _local2:Array;
var _local3:int;
_arrayOfPointers = new Array();
_local1 = 0;
while (_local1 < _levelHeight) {
_local2 = new Array();
_local3 = 0;
while (_local3 < this._levelWidth) {
_local2.push(null);
_local3++;
};
_arrayOfPointers.push(_local2);
_local1++;
};
}
public function set model(_arg1:Model):void{
this._model = _arg1;
}
function checkDist(_arg1, _arg2):Boolean{
var _local3:Boolean;
var _local4:Vector;
var _local5:*;
_local4 = _arg1.PLAYER_POLYGON.pos.minusNew(_arg2.PLAYER_POLYGON.pos);
_local5 = (_arg1.PLAYER_POLYGON.maxRadius + _arg2.PLAYER_POLYGON.maxRadius);
_local3 = ((_local4.getLength())<_local5) ? true : false;
return (_local3);
}
function collideF(_arg1:Polygon, _arg2:Polygon):Object{
var _local3:Vector;
var _local4:Vector;
var _local5:Vector;
var _local6:Number;
var _local7:Array;
var _local8:Vector;
var _local9:Array;
var _local10:Number;
var _local11:Array;
var _local12:Number;
var _local13:Object;
var _local14:Vector;
var _local15:Number;
var _local16:Object;
_local10 = 0;
_local9 = [];
_local7 = [];
_local8 = _arg1.pos.minusNew(_arg2.pos);
_local6 = (_arg1.vertex.length - 1);
_local12 = 0;
while (_local12 < _arg1.vertex.length) {
_local3 = _arg1.vertex[_local6];
_local4 = _arg1.vertex[_local12];
_local5 = _local4.minusNew(_local3);
_local6 = _local12;
_local7[_local10] = new Vector(0, 0);
_local9[_local10] = new Number();
_local7[_local10] = _local5.getNormal();
if (!intervalIntersect(_arg1, _arg2, _local7[_local10], _local8)){
return (false);
};
_local9[_local10] = getVar();
_local10++;
_local12++;
};
_local6 = (_arg2.vertex.length - 1);
_local12 = 0;
while (_local12 < _arg2.vertex.length) {
_local3 = _arg2.vertex[_local6];
_local4 = _arg2.vertex[_local12];
_local5 = _local4.minusNew(_local3);
_local6 = _local12;
_local7[_local10] = new Vector(0, 0);
_local9[_local10] = new Number();
_local7[_local10] = _local5.getNormal();
if (!intervalIntersect(_arg1, _arg2, _local7[_local10], _local8)){
return (false);
};
_local9[_local10] = getVar();
_local10++;
_local12++;
};
_local13 = findMTD(_local7, _local9, _local10);
_local14 = _local13.N;
_local15 = _local13.t;
if (_local14.dot(_local8) < 0){
_local14.negate();
};
_local16 = new Object();
_local16.N = _local14;
_local16.t = _local15;
return (_local16);
}
function intervalIntersect(_arg1:Polygon, _arg2:Polygon, _arg3:Vector, _arg4:Vector):Boolean{
var _local5:Array;
var _local6:Array;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
_local5 = [];
_local6 = [];
_local5 = getInterval(_arg1, _arg3);
_local6 = getInterval(_arg2, _arg3);
_local7 = _arg4.dot(_arg3);
_local5[0] = (_local5[0] + _local7);
_local5[1] = (_local5[1] + _local7);
_local8 = (_local5[0] - _local6[1]);
_local9 = (_local6[0] - _local5[1]);
if ((((_local8 > 0)) || ((_local9 > 0)))){
return (false);
};
_local10 = _local9;
if (_local8 > _local9){
_local10 = _local8;
};
setVar(_local10);
return (true);
}
public function set levelHeight(_arg1:int):void{
this._levelHeight = _arg1;
}
public function processIntersectWithAnotherCreatures(_arg1:Creature):void{
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:Creature;
var _local7:Object;
_local2 = foundBotsNearIt(_arg1);
_local3 = (_arg1.x - _arg1.oldX);
_local4 = (_arg1.y - _arg1.oldY);
_local5 = 0;
while (_local5 < _local2.length) {
_local6 = _local2[_local5];
if (((!((_local6.hashcode == _arg1.hashcode))) && ((GeometryFunctions.distanceBetweenPoints(_arg1.x, _arg1.y, _local6.x, _local6.y) < SetParameters.CELLS_SIZE)))){
_local7 = collideF(_arg1.PLAYER_POLYGON, _local6.PLAYER_POLYGON);
if (_local7 != false){
_arg1.boom(_local7.N, _local7.t, _local6);
};
};
_local5++;
};
}
function findMTD(_arg1:Array, _arg2:Array, _arg3:Number):Object{
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Vector;
var _local8:*;
var _local9:*;
_local5 = -1;
_local6 = 0;
_local7 = new Vector(0, 0);
_local8 = 0;
while (_local8 < _arg3) {
_arg2[_local8] = (_arg2[_local8] / _arg1[_local8].getLength());
_arg1[_local8].x = (_arg1[_local8].x / _arg1[_local8].getLength());
_arg1[_local8].y = (_arg1[_local8].y / _arg1[_local8].getLength());
if ((((_arg2[_local8] > _local6)) || ((_local5 == -1)))){
_local5 = _local8;
_local6 = _arg2[_local8];
_local7 = _arg1[_local8];
};
_local8++;
};
_local9 = new Object();
_local9.N = _local7;
_local9.t = _local6;
return (_local9);
}
function setVar(_arg1:Number){
tvar = _arg1;
}
private function removeFromOldCellHash(_arg1:Creature):void{
var cellHashMap:HashMap;
var creature = _arg1;
try {
if ((((((((creature.cellX >= 0)) && ((creature.cellY >= 0)))) && ((creature.cellX < this._levelWidth)))) && ((creature.cellY < this._levelHeight)))){
cellHashMap = _arrayOfPointers[creature.arrayY][creature.arrayX];
if (cellHashMap != null){
cellHashMap.remove(creature.hashcode);
if (cellHashMap.size == 0){
_arrayOfPointers[creature.arrayX][creature.arrayX] = null;
};
};
};
} catch(e:Error) {
};
}
public function addPointerToCellIfNeed(_arg1:Creature):void{
var debugInfo:String;
var newArrayX:int;
var newArrayY:int;
var cellHashMap:HashMap;
var hash:HashMap;
var creature = _arg1;
debugInfo = "";
try {
debugInfo = (debugInfo + "\n1");
newArrayX = Model.countCreatureCellCoord(creature.x);
debugInfo = (debugInfo + "\n2");
newArrayY = Model.countCreatureCellCoord(creature.y);
debugInfo = (debugInfo + "\n3");
if (((!((newArrayX == creature.arrayX))) || (!((newArrayY == creature.arrayY))))){
debugInfo = (debugInfo + (((("\nin if 1" + "_arrayOfPointers[") + newArrayY) + "]:") + _arrayOfPointers[newArrayY]));
if (_arrayOfPointers[newArrayY][newArrayX] == null){
debugInfo = (debugInfo + "\nin second if 1");
hash = new HashMap();
debugInfo = (debugInfo + "\nin second if 2");
_arrayOfPointers[newArrayY][newArrayX] = hash;
debugInfo = (debugInfo + "\nin second if 3");
};
debugInfo = (debugInfo + "\nin if if 2");
cellHashMap = _arrayOfPointers[newArrayY][newArrayX];
debugInfo = (debugInfo + "\nin if if 3");
cellHashMap.insert(creature.hashcode, creature);
debugInfo = (debugInfo + "\nin if if 4");
_arrayOfPointers[newArrayY][newArrayX] = cellHashMap;
debugInfo = (debugInfo + "\nin if if 5");
removeFromOldCellHash(creature);
debugInfo = (debugInfo + "\nin if if 6");
creature.arrayX = newArrayX;
debugInfo = (debugInfo + "\nin if if 7");
creature.arrayY = newArrayY;
debugInfo = (debugInfo + "\nin if if 8");
};
} catch(e:Error) {
};
}
private function cellYIsCorrect(_arg1:int):Boolean{
if ((((_arg1 >= 0)) && ((_arg1 < this._levelHeight)))){
return (true);
};
return (false);
}
function getVar():Number{
return (tvar);
}
function getInterval(_arg1:Polygon, _arg2:Vector):Array{
var _local3:Number;
var _local4:Number;
var _local5:Array;
var _local6:Number;
var _local7:Number;
_local5 = [];
_local3 = _arg1.vertex[0].dot(_arg2);
_local4 = _local3;
_local7 = 1;
while (_local7 < _arg1.vertex.length) {
_local6 = _arg1.vertex[_local7].dot(_arg2);
if (_local6 < _local3){
_local3 = _local6;
} else {
if (_local6 > _local4){
_local4 = _local6;
};
};
_local7++;
};
_local5 = [_local3, _local4];
return (_local5);
}
public static function get instance():ContainerOfBotsPointer{
return (_instance);
}
}
}//package game.controller
Section 26
//Controller (game.controller.Controller)
package game.controller {
import flash.events.*;
import game.model.creatures.*;
import game.model.*;
import game.*;
import game.model.moved_state.*;
import game.weapon.*;
import flash.ui.*;
public class Controller {
private var _spaceDown:Boolean;// = false
private var _main:Main;
private var _model:Model;
private static var _instance:Controller = new (Controller);
;
public function Controller(){
_spaceDown = false;
super();
}
public function addCreature(_arg1:String, _arg2:int, _arg3:int):void{
var creature:Creature;
var dx:int;
var dy:int;
var typeOfCreature = _arg1;
var cellX = _arg2;
var cellY = _arg3;
try {
creature = getRobot(typeOfCreature);
creature.state = new MoveRightState();
creature.previousMovedState = new MoveRightState();
creature.x = (cellX * SetParameters.CELLS_SIZE);
creature.y = (cellY * SetParameters.CELLS_SIZE);
dx = GeometryFunctions.signWithZiro((this._model.player.x - creature.x));
dy = GeometryFunctions.signWithZiro((this._model.player.y - creature.y));
creature.state = AbstractState.getMovedStateFromDXY(dx, dy);
creature.setCellXY((Model.countCreatureCellCoord(creature.x) + creature.state.dxSign), (Model.countCreatureCellCoord(creature.y) + creature.state.dySign));
creature.arrayX = cellX;
creature.arrayY = cellY;
creature.oldX = (creature.x - SetParameters.CELLS_SIZE);
creature.oldY = (creature.y - SetParameters.CELLS_SIZE);
model.creatures.addToContainer(creature);
} catch(e:Error) {
};
}
public function goToLoss():void{
this._main.procvessOfLose();
}
public function get spaceDown():Boolean{
return (this._spaceDown);
}
public function keyUpHandler(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == Keyboard.LEFT){
_model.player.keyLEFT = false;
};
if (_arg1.keyCode == Keyboard.RIGHT){
_model.player.keyRIGHT = false;
};
if (_arg1.keyCode == Keyboard.UP){
_model.player.keyUP = false;
};
if (_arg1.keyCode == Keyboard.DOWN){
_model.player.keyDOWN = false;
};
if (_arg1.keyCode == Keyboard.SPACE){
this.model.player.gun.processSpaceUp();
this._spaceDown = false;
};
}
public function initPlayer():void{
this._main.initPlayer();
}
public function goToVictory():void{
this.main.processOfVictory();
}
public function set spaceDown(_arg1:Boolean):void{
this._spaceDown = _arg1;
}
public function set model(_arg1:Model):void{
this._model = _arg1;
}
public function setModel(_arg1:Model):void{
this.model = _arg1;
}
public function get model():Model{
return (this._model);
}
public function addBoss(){
var _local1:Creature;
_local1 = new BossCreature(Creature.BOSS_ROBOT);
_local1.state = new MoveRightState();
_local1.previousMovedState = new MoveRightState();
_local1.x = (SetParameters.BOSS_START_X * SetParameters.CELLS_SIZE);
_local1.y = (SetParameters.BOSS_START_Y * SetParameters.CELLS_SIZE);
_local1.setCellXY((Model.countCreatureCellCoord(_local1.x) + _local1.state.dxSign), (Model.countCreatureCellCoord(_local1.y) + _local1.state.dySign));
_local1.arrayX = SetParameters.BOSS_START_X;
_local1.arrayY = SetParameters.BOSS_START_Y;
_local1.oldX = _local1.x;
_local1.oldY = _local1.y;
model.creatures.addToContainer(_local1);
main.bossInfo.bossCreature = (_local1 as BossCreature);
this.model.bossHaveBinAdded = true;
this.main.showBossInfo();
}
public function keyDownHandler(_arg1:KeyboardEvent):void{
var keyCode:int;
var creature:Creature;
var event = _arg1;
keyCode = event.keyCode;
if (!this.model.player.inShockState){
if (event.keyCode == Keyboard.LEFT){
_model.player.keyLEFT = true;
_model.player.changeDirection();
} else {
if (event.keyCode == Keyboard.RIGHT){
_model.player.keyRIGHT = true;
_model.player.changeDirection();
} else {
if (event.keyCode == Keyboard.UP){
_model.player.keyUP = true;
_model.player.changeDirection();
} else {
if (event.keyCode == Keyboard.DOWN){
_model.player.keyDOWN = true;
_model.player.changeDirection();
} else {
if (event.keyCode == Keyboard.SPACE){
this.model.player.gun.processSpaceDown();
this._spaceDown = true;
};
};
};
};
};
};
if (event.keyCode == 87){
creature = new SimpleCreature(Creature.SIMPLE_ROBOT);
creature.state = new MoveRightState();
creature.previousMovedState = new MoveRightState();
creature.x = (3 * SetParameters.CELLS_SIZE);
creature.y = (3 * SetParameters.CELLS_SIZE);
creature.setCellXY((Model.countCreatureCellCoord(creature.x) + creature.state.dxSign), (Model.countCreatureCellCoord(creature.y) + creature.state.dySign));
creature.arrayX = 3;
creature.arrayY = 3;
creature.oldX = creature.x;
creature.oldY = creature.y;
model.creatures.addToContainer(creature);
} else {
if (event.keyCode == 85){
creature = new ShootCreature(Creature.SHOOT_ROBOT);
creature.state = new MoveRightState();
creature.previousMovedState = new MoveRightState();
creature.x = (3 * SetParameters.CELLS_SIZE);
creature.y = (3 * SetParameters.CELLS_SIZE);
creature.setCellXY((Model.countCreatureCellCoord(creature.x) + creature.state.dxSign), (Model.countCreatureCellCoord(creature.y) + creature.state.dySign));
creature.arrayX = 3;
creature.arrayY = 3;
creature.oldX = creature.x;
creature.oldY = creature.y;
model.creatures.addToContainer(creature);
} else {
if (event.keyCode == 48){
creature = new KamikazeCreature(Creature.KAMIKAZE_ROBOT);
creature.state = new MoveRightState();
creature.previousMovedState = new MoveRightState();
creature.x = (3 * SetParameters.CELLS_SIZE);
creature.y = (3 * SetParameters.CELLS_SIZE);
creature.setCellXY((Model.countCreatureCellCoord(creature.x) + creature.state.dxSign), (Model.countCreatureCellCoord(creature.y) + creature.state.dySign));
creature.arrayX = 3;
creature.arrayY = 3;
creature.oldX = creature.x;
creature.oldY = creature.y;
model.creatures.addToContainer(creature);
} else {
if (event.keyCode == 186){
creature = new BossCreature(Creature.BOSS_ROBOT);
creature.state = new MoveRightState();
creature.previousMovedState = new MoveRightState();
creature.x = (3 * SetParameters.CELLS_SIZE);
creature.y = (3 * SetParameters.CELLS_SIZE);
creature.setCellXY((Model.countCreatureCellCoord(creature.x) + creature.state.dxSign), (Model.countCreatureCellCoord(creature.y) + creature.state.dySign));
creature.arrayX = 3;
creature.arrayY = 3;
creature.oldX = creature.x;
creature.oldY = creature.y;
model.creatures.addToContainer(creature);
};
};
};
};
if (event.keyCode == 49){
this.model.player.currentGun = Gun.GUN;
} else {
if (event.keyCode == 50){
this.model.player.currentGun = Gun.SUBMACHINE_GUN;
} else {
if (event.keyCode == 51){
this.model.player.currentGun = Gun.SHOOT_GUN;
} else {
if (event.keyCode == 52){
this.model.player.currentGun = Gun.BLASTER;
} else {
if (event.keyCode == 53){
this.model.player.currentGun = Gun.ROCKET;
} else {
if (event.keyCode == 56){
this.model.startNewLevelCreation();
};
};
};
};
};
};
if ((((event.keyCode == 80)) || ((event.keyCode == 27)))){
try {
this._main.pauseGame();
} catch(e:Error) {
};
};
if ((((event.keyCode == 27)) || ((event.keyCode == 80)))){
this._main.pauseGame();
};
if ((((event.keyCode == 66)) && (!(this.model.bossHaveBinAdded)))){
addBoss();
};
}
public function set main(_arg1:Main):void{
this._main = _arg1;
}
private function getRobot(_arg1:String):Creature{
var _local2:Creature;
switch (_arg1){
case "Creature1":
return (new SimpleCreature(Creature.SIMPLE_ROBOT));
case "Creature2":
return (new ShootCreature(Creature.SHOOT_ROBOT));
case "Creature3":
return (new KamikazeCreature(Creature.KAMIKAZE_ROBOT));
case "big_len_shoot":
_local2 = new ShootCreature(Creature.SHOOT_ROBOT);
_local2.bigLenShoot = true;
_local2.creatureHealth = 100000;
return (_local2);
case "big_len_shoot_boss":
_local2 = new BossCreature(Creature.BOSS_ROBOT);
_local2.bigLenShoot = true;
_local2.creatureHealth = 100000;
return (_local2);
};
return (null);
}
public function get main():Main{
return (this._main);
}
public static function get instance():Controller{
return (_instance);
}
}
}//package game.controller
Section 27
//Collide (game.engine.Collide)
package game.engine {
import game.model.*;
import game.math.*;
public class Collide {
var tvar:Number;
private static var _instance:Collide = new (Collide);
;
function findMTD(_arg1:Array, _arg2:Array, _arg3:Number):Object{
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Vector;
var _local8:*;
var _local9:*;
_local5 = -1;
_local6 = 0;
_local7 = new Vector(0, 0);
_local8 = 0;
while (_local8 < _arg3) {
_arg2[_local8] = (_arg2[_local8] / _arg1[_local8].getLength());
_arg1[_local8].x = (_arg1[_local8].x / _arg1[_local8].getLength());
_arg1[_local8].y = (_arg1[_local8].y / _arg1[_local8].getLength());
if ((((_arg2[_local8] > _local6)) || ((_local5 == -1)))){
_local5 = _local8;
_local6 = _arg2[_local8];
_local7 = _arg1[_local8];
};
_local8++;
};
_local9 = new Object();
_local9.N = _local7;
_local9.t = _local6;
return (_local9);
}
function setVar(_arg1:Number){
tvar = _arg1;
}
public function collideF(_arg1:Polygon, _arg2:Polygon):Object{
var _local3:Vector;
var _local4:Vector;
var _local5:Vector;
var _local6:Number;
var _local7:Array;
var _local8:Vector;
var _local9:Array;
var _local10:Number;
var _local11:Array;
var _local12:Number;
var _local13:Object;
var _local14:Vector;
var _local15:Number;
var _local16:Object;
_local10 = 0;
_local9 = [];
_local7 = [];
_local8 = _arg1.pos.minusNew(_arg2.pos);
_local6 = (_arg1.vertex.length - 1);
_local12 = 0;
while (_local12 < _arg1.vertex.length) {
_local3 = _arg1.vertex[_local6];
_local4 = _arg1.vertex[_local12];
_local5 = _local4.minusNew(_local3);
_local6 = _local12;
_local7[_local10] = new Vector(0, 0);
_local9[_local10] = new Number();
_local7[_local10] = _local5.getNormal();
if (!intervalIntersect(_arg1, _arg2, _local7[_local10], _local8)){
return (false);
};
_local9[_local10] = getVar();
_local10++;
_local12++;
};
_local6 = (_arg2.vertex.length - 1);
_local12 = 0;
while (_local12 < _arg2.vertex.length) {
_local3 = _arg2.vertex[_local6];
_local4 = _arg2.vertex[_local12];
_local5 = _local4.minusNew(_local3);
_local6 = _local12;
_local7[_local10] = new Vector(0, 0);
_local9[_local10] = new Number();
_local7[_local10] = _local5.getNormal();
if (!intervalIntersect(_arg1, _arg2, _local7[_local10], _local8)){
return (false);
};
_local9[_local10] = getVar();
_local10++;
_local12++;
};
_local13 = findMTD(_local7, _local9, _local10);
_local14 = _local13.N;
_local15 = _local13.t;
if (_local14.dot(_local8) < 0){
_local14.negate();
};
_local16 = new Object();
_local16.N = _local14;
_local16.t = _local15;
return (_local16);
}
function intervalIntersect(_arg1:Polygon, _arg2:Polygon, _arg3:Vector, _arg4:Vector):Boolean{
var _local5:Array;
var _local6:Array;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
_local5 = [];
_local6 = [];
_local5 = getInterval(_arg1, _arg3);
_local6 = getInterval(_arg2, _arg3);
_local7 = _arg4.dot(_arg3);
_local5[0] = (_local5[0] + _local7);
_local5[1] = (_local5[1] + _local7);
_local8 = (_local5[0] - _local6[1]);
_local9 = (_local6[0] - _local5[1]);
if ((((_local8 > 0)) || ((_local9 > 0)))){
return (false);
};
_local10 = _local9;
if (_local8 > _local9){
_local10 = _local8;
};
setVar(_local10);
return (true);
}
public function collideWithPlayer(_arg1:Array, _arg2:Player){
var _local3:Number;
var _local4:Object;
var _local5:Object;
_local3 = 0;
while (_local3 < _arg1.length) {
if (checkDist(_arg2, _arg1[_local3])){
_local4 = collideF(_arg2.PLAYER_POLYGON, _arg1[_local3].PLAYER_POLYGON);
_local5 = collideF(_arg1[_local3].PLAYER_POLYGON, _arg2.PLAYER_POLYGON);
if (_local4 != false){
_arg2.boom(_local4.N, _local4.t, _arg1[_local3]);
_arg1[_local3].boom(_local5.N, _local5.t, _arg2);
};
};
_local3++;
};
}
function checkDist(_arg1, _arg2):Boolean{
var _local3:Boolean;
var _local4:Vector;
var _local5:*;
_local4 = _arg1.PLAYER_POLYGON.pos.minusNew(_arg2.PLAYER_POLYGON.pos);
_local5 = (_arg1.PLAYER_POLYGON.maxRadius + _arg2.PLAYER_POLYGON.maxRadius);
_local3 = ((_local4.getLength())<_local5) ? true : false;
return (_local3);
}
function getVar():Number{
return (tvar);
}
public function isCollide(_arg1:Array){
var _local2:Number;
var _local3:*;
var _local4:Number;
var _local5:Object;
_local2 = 0;
while (_local2 < (_arg1.length - 1)) {
_local3 = _arg1[_local2];
_local4 = (_local2 + 1);
while (_local4 < _arg1.length) {
if (((!((_local2 == _local4))) && (checkDist(_local3, _arg1[_local4])))){
_local5 = collideF(_local3.PLAYER_POLYGON, _arg1[_local4].PLAYER_POLYGON);
if (_local5 != false){
_local3.boom(_local5.N, _local5.t, _arg1[_local4]);
};
};
_local4++;
};
_local2++;
};
}
function getInterval(_arg1:Polygon, _arg2:Vector):Array{
var _local3:Number;
var _local4:Number;
var _local5:Array;
var _local6:Number;
var _local7:Number;
_local5 = [];
_local3 = _arg1.vertex[0].dot(_arg2);
_local4 = _local3;
_local7 = 1;
while (_local7 < _arg1.vertex.length) {
_local6 = _arg1.vertex[_local7].dot(_arg2);
if (_local6 < _local3){
_local3 = _local6;
} else {
if (_local6 > _local4){
_local4 = _local6;
};
};
_local7++;
};
_local5 = [_local3, _local4];
return (_local5);
}
public static function get instance():Collide{
return (_instance);
}
}
}//package game.engine
Section 28
//GameObjectEvent (game.game_events.GameObjectEvent)
package game.game_events {
import flash.events.*;
public class GameObjectEvent extends Event {
private var _hashcode;
public function GameObjectEvent(_arg1:String){
super(_arg1);
}
public function get hashcode():String{
return (_hashcode);
}
public function set hashcode(_arg1:String):void{
this._hashcode = _arg1;
}
}
}//package game.game_events
Section 29
//BossInfo (game.heroes_info.BossInfo)
package game.heroes_info {
import flash.display.*;
import game.model.creatures.*;
public class BossInfo extends Info {
public var healthIndicator:MovieClip;
private var _bossCreature:BossCreature;
public function BossInfo(){
_healthStartWidth = (this.healthIndicator as MovieClip).width;
indicatorOfHealth = (this.healthIndicator as MovieClip);
indicatorOfHealth.gotoAndStop(100);
}
public function removeEventListeners():void{
this._bossCreature.removeEventListener(BossCreature.HIT_IN_BOSS_EVENT, hitInBossHandler);
}
public function set bossCreature(_arg1:BossCreature):void{
this._bossCreature = _arg1;
this._bossCreature.addEventListener(BossCreature.HIT_IN_BOSS_EVENT, hitInBossHandler);
}
public function hitInBossHandler(_arg1:HitInBossEvent):void{
this.health = _arg1.health;
}
}
}//package game.heroes_info
Section 30
//Info (game.heroes_info.Info)
package game.heroes_info {
import flash.display.*;
public class Info extends MovieClip {
protected var _healthStartWidth:int;
protected var indicatorOfHealth:MovieClip;
public function set health(_arg1:Number):void{
var _local2:int;
_local2 = Math.round((100 * _arg1));
indicatorOfHealth.gotoAndStop(_local2);
}
}
}//package game.heroes_info
Section 31
//PlayerInfo (game.heroes_info.PlayerInfo)
package game.heroes_info {
import flash.display.*;
import game.*;
import game.weapon.*;
import flash.text.*;
public class PlayerInfo extends Info {
public var gunCounter3:MovieClip;
public var healthIndicator:MovieClip;
public var gunCounter1:MovieClip;
public var gunCounter5:MovieClip;
public var gunCounter2:MovieClip;
public var gunCounter4:MovieClip;
public var indicatorGun2:MovieClip;
public var indicatorGun3:MovieClip;
public var indicatorGun1:MovieClip;
public var indicatorGun5:MovieClip;
public var indicatorGun4:MovieClip;
public var shootScrollProcessing:ShootScrollProcessing;
public function PlayerInfo(){
_healthStartWidth = (this.healthIndicator as MovieClip).width;
indicatorOfHealth = (this.healthIndicator as MovieClip);
indicatorOfHealth.gotoAndStop(100);
(this.indicatorGun1 as MovieClip).gotoAndStop(2);
}
public function set gun2(_arg1:int):void{
(this.gunCounter2.txt as TextField).text = ("" + _arg1);
}
public function changeGun(_arg1:String):void{
(this.indicatorGun1 as MovieClip).gotoAndStop(1);
(this.indicatorGun2 as MovieClip).gotoAndStop(1);
(this.indicatorGun3 as MovieClip).gotoAndStop(1);
(this.indicatorGun4 as MovieClip).gotoAndStop(1);
(this.indicatorGun5 as MovieClip).gotoAndStop(1);
switch (_arg1){
case Gun.GUN:
(this.indicatorGun1 as MovieClip).gotoAndStop(2);
break;
case Gun.SUBMACHINE_GUN:
(this.indicatorGun2 as MovieClip).gotoAndStop(2);
break;
case Gun.SHOOT_GUN:
(this.indicatorGun3 as MovieClip).gotoAndStop(2);
break;
case Gun.ROCKET:
(this.indicatorGun5 as MovieClip).gotoAndStop(2);
break;
case Gun.BLASTER:
(this.indicatorGun4 as MovieClip).gotoAndStop(2);
break;
};
}
public function setAmountOfCartriges(_arg1:String, _arg2:int):void{
switch (_arg1){
case Gun.GUN:
gun1 = _arg2;
break;
case Gun.SUBMACHINE_GUN:
gun2 = _arg2;
break;
case Gun.SHOOT_GUN:
gun3 = _arg2;
break;
case Gun.ROCKET:
gun5 = _arg2;
break;
case Gun.BLASTER:
gun4 = _arg2;
break;
};
}
public function set gun3(_arg1:int):void{
(this.gunCounter3.txt as TextField).text = ("" + _arg1);
}
public function set gun4(_arg1:int):void{
(this.gunCounter4.txt as TextField).text = ("" + _arg1);
}
public function set gun1(_arg1:int):void{
(this.gunCounter1.txt as TextField).text = ("" + _arg1);
}
public function set gun5(_arg1:int):void{
(this.gunCounter5.txt as TextField).text = ("" + _arg1);
}
}
}//package game.heroes_info
Section 32
//Degree (game.math.Degree)
package game.math {
public class Degree {
public static function tanD(_arg1:Number):Number{
return (Math.tan((_arg1 * (Math.PI / 180))));
}
public static function asinD(_arg1:Number):Number{
return ((Math.asin(_arg1) * (180 / Math.PI)));
}
public static function atan2D(_arg1:Number, _arg2:Number):Number{
return ((Math.atan2(_arg1, _arg2) * (180 / Math.PI)));
}
public static function atanD(_arg1:Number):Number{
return ((Math.atan(_arg1) * (180 / Math.PI)));
}
public static function sinD(_arg1:Number):Number{
return (Math.sin((_arg1 * (Math.PI / 180))));
}
public static function cosD(_arg1:Number):Number{
return (Math.cos((_arg1 * (Math.PI / 180))));
}
public static function acosD(_arg1:Number):Number{
return ((Math.acos(_arg1) * (180 / Math.PI)));
}
}
}//package game.math
Section 33
//Polygon (game.math.Polygon)
package game.math {
public class Polygon {
public var pos:Vector;
public var maxRadius:Number;
public var vertex:Array;
public function Polygon(_arg1:String, _arg2:Vector, _arg3:Array, _arg4:Number):void{
pos = new Vector(0, 0);
super();
vertex = [];
if (_arg3){
vertex = _arg3;
};
pos = _arg2;
maxRadiusF();
}
private function maxRadiusF(){
var _local1:*;
var _local2:*;
maxRadius = Number.MIN_VALUE;
for (_local1 in vertex) {
_local2 = vertex[_local1].getLength();
if (maxRadius < _local2){
maxRadius = _local2;
};
};
maxRadius = Math.round(maxRadius);
}
public function rotatePoly(_arg1:Number){
var _local2:Number;
_local2 = 0;
while (_local2 < vertex.length) {
vertex[_local2].rotate(_arg1);
_local2++;
};
}
}
}//package game.math
Section 34
//Vector (game.math.Vector)
package game.math {
public class Vector {
private var $x:Number;
private var $y:Number;
public function Vector(_arg1:Number, _arg2:Number){
this.initialize(_arg1, _arg2);
}
public function negate():void{
this.x = -(this.x);
this.y = -(this.y);
}
public function rotateNew(_arg1:Number):Vector{
var _local2:Vector;
_local2 = new Vector(this.x, this.y);
_local2.rotate(_arg1);
return (_local2);
}
public function set angle(_arg1:Number):void{
this.setAngle(_arg1);
}
public function dot(_arg1:Vector):Number{
return (((this.x * _arg1.x) + (this.y * _arg1.y)));
}
public function scale(_arg1:Number):void{
this.x = (this.x * _arg1);
this.y = (this.y * _arg1);
}
public function isNormalTo(_arg1:Vector):Boolean{
return (this.isPerpTo(_arg1));
}
public function reset(_arg1:Number, _arg2:Number):void{
this.initialize(_arg1, _arg2);
}
private function initialize(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = _arg2;
}
public function setAngle(_arg1:Number):void{
var _local2:Number;
_local2 = this.getLength();
this.x = (_local2 * Degree.cosD(_arg1));
this.y = (_local2 * Degree.sinD(_arg1));
}
public function set length(_arg1:Number):void{
this.setLength(_arg1);
}
public function minusNew(_arg1:Vector):Vector{
return (new Vector((this.x - _arg1.x), (this.y - _arg1.y)));
}
public function isPerpTo(_arg1:Vector):Boolean{
return ((this.dot(_arg1) == 0));
}
public function plus(_arg1:Vector):void{
this.x = (this.x + _arg1.x);
this.y = (this.y + _arg1.y);
}
public function rotate(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local2 = Degree.cosD(_arg1);
_local3 = Degree.sinD(_arg1);
_local4 = ((this.x * _local2) - (this.y * _local3));
_local5 = ((this.x * _local3) + (this.y * _local2));
this.x = _local4;
this.y = _local5;
}
public function getLength():Number{
return (Math.sqrt(((this.x * this.x) + (this.y * this.y))));
}
public function getAngle():Number{
return (Degree.atan2D(this.y, this.x));
}
public function get angle():Number{
return (this.getAngle());
}
public function getNormal():Vector{
return (new Vector(-(this.y), this.x));
}
public function plusNew(_arg1:Vector):Vector{
return (new Vector((this.x + _arg1.x), (this.y + _arg1.y)));
}
public function getClone():Vector{
return (new Vector(this.x, this.y));
}
public function setLength(_arg1:Number):void{
var _local2:Number;
_local2 = this.getLength();
if (_local2){
this.scale((_arg1 / _local2));
} else {
this.x = _arg1;
};
}
public function toString():String{
var _local1:Number;
var _local2:Number;
_local1 = (Math.round((this.x * 1000)) / 1000);
_local2 = (Math.round((this.y * 1000)) / 1000);
return ((((("[" + _local1) + ", ") + _local2) + "]"));
}
public function get length():Number{
return (this.getLength());
}
public function minus(_arg1:Vector):void{
this.x = (this.x - _arg1.x);
this.y = (this.y - _arg1.y);
}
public function set y(_arg1:Number):void{
this.$y = _arg1;
}
public function angleBetween(_arg1:Vector):Number{
var _local2:Number;
var _local3:Number;
_local2 = this.dot(_arg1);
_local3 = (_local2 / (this.getLength() * _arg1.getLength()));
return (Degree.acosD(_local3));
}
public function scaleNew(_arg1:Number):Vector{
return (new Vector((this.x * _arg1), (this.y * _arg1)));
}
public function set x(_arg1:Number):void{
this.$x = _arg1;
}
public function get x():Number{
return (this.$x);
}
public function get y():Number{
return (this.$y);
}
public function negateNew():Vector{
return (new Vector(-(this.x), -(this.y)));
}
public function equals(_arg1:Vector):Boolean{
return ((((this.x == _arg1.x)) && ((this.y == _arg1.y))));
}
}
}//package game.math
Section 35
//Cartrige (game.model.cartridges.Cartrige)
package game.model.cartridges {
import flash.events.*;
import game.model.*;
import game.*;
public class Cartrige extends GameObject {
private var _amountOfCartriges:int;// = 0
private var _timeOfInvisible:int;
private var _amountOfPoints:int;// = 0
private var _visible:Boolean;// = true
private var _typeOfCartrige:String;
private var _countOfInvizible:int;// = 0
public static const SGUN:String = "sgun";
public static const CELL:String = "cell";
public static const BULLETS:String = "bullets";
public static const BALLS:String = "cores";
public static const HEALTH:String = "healthUP";
public static var SET_INVISIBLE_EVENT:String = "invisible_event";
public static var SET_VISIBLE_EVENT:String = "visible_event";
public function Cartrige(){
_amountOfPoints = 0;
_amountOfCartriges = 0;
_visible = true;
_timeOfInvisible = SetParameters.TIME_MACHIN_GUN_BOX_WAITING;
_countOfInvizible = 0;
super();
}
public function get countOfInvizible():int{
return (this._countOfInvizible);
}
public function set typeOfCartrige(_arg1:String):void{
this._typeOfCartrige = _arg1;
}
public function get amountOfCartriges():int{
return (this._amountOfCartriges);
}
public function get amountOfPoints():int{
return (this._amountOfPoints);
}
private function pickUp(_arg1:Player):void{
switch (_typeOfCartrige){
case Cartrige.BULLETS:
_arg1.pickUpBullets(this._amountOfPoints);
break;
case Cartrige.CELL:
_arg1.pickUpCell(this._amountOfPoints);
break;
case Cartrige.BALLS:
_arg1.pickUpBall(this._amountOfPoints);
break;
case Cartrige.SGUN:
_arg1.pickUpSGun(this._amountOfPoints);
break;
case Cartrige.HEALTH:
_arg1.pickUpHealth(this._amountOfPoints);
break;
};
}
public function set timeOfInvisible(_arg1:int):void{
this._timeOfInvisible = _arg1;
}
public function set amountOfCartriges(_arg1:int):void{
this._amountOfCartriges = _arg1;
}
public function get timeOfInvisible():int{
return (this._timeOfInvisible);
}
public function set amountOfPoints(_arg1:int):void{
this._amountOfPoints = _arg1;
}
public function set countOfInvizible(_arg1:int):void{
this._countOfInvizible = _arg1;
}
public function get typeOfCartrige():String{
return (this._typeOfCartrige);
}
public function update(_arg1:Player):void{
if (_amountOfCartriges >= 0){
if (!this._visible){
if (_countOfInvizible <= 0){
this._visible = true;
dispatchEvent(new Event(Cartrige.SET_VISIBLE_EVENT));
} else {
_countOfInvizible--;
};
} else {
if ((((this.x == Model.countCreatureCellCoord(_arg1.x))) && ((this.y == Model.countCreatureCellCoord(_arg1.y))))){
this._countOfInvizible = this._timeOfInvisible;
this._visible = false;
pickUp(_arg1);
dispatchEvent(new Event(Cartrige.SET_INVISIBLE_EVENT));
_amountOfCartriges--;
};
};
};
}
public static function isElementCartrige(_arg1:String):Boolean{
if ((((((((((Cartrige.BULLETS == _arg1)) || ((Cartrige.CELL == _arg1)))) || ((Cartrige.BALLS == _arg1)))) || ((Cartrige.SGUN == _arg1)))) || ((Cartrige.HEALTH == _arg1)))){
return (true);
};
return (false);
}
}
}//package game.model.cartridges
Section 36
//ContainerOfCartiriges (game.model.cartridges.ContainerOfCartiriges)
package game.model.cartridges {
import game.model.*;
import game.*;
import de.polygonal.ds.*;
public class ContainerOfCartiriges extends Container {
public var _levelWidth:int;// = 40
private var _player:Player;
public static var ADD_CARTRIGE_EVENT:String = "add_cartrige";
public function ContainerOfCartiriges(){
_levelWidth = SetParameters.GAME_WIDTH;
super();
}
public function set levelWidth(_arg1:int):void{
this._levelWidth = _arg1;
}
public function set player(_arg1:Player):void{
this._player = _arg1;
}
public function update(){
var _local1:Iterator;
var _local2:Cartrige;
_local1 = this._elements.getIterator();
while (_local1.hasNext()) {
_local2 = _local1.next();
_local2.update(_player);
};
}
public function addCartrige(_arg1:int, _arg2:int, _arg3:String, _arg4:int, _arg5:int, _arg6:int):void{
var _local7:Cartrige;
var _local8:int;
_local7 = new Cartrige();
_local7.x = _arg1;
_local7.y = _arg2;
_local7.amountOfCartriges = _arg5;
_local7.amountOfPoints = _arg4;
_local7.countOfInvizible = _arg6;
_local7.typeOfCartrige = _arg3;
_local7.timeOfInvisible = _arg6;
_local8 = ((_arg2 * _levelWidth) + _arg1);
_local7.hashcode = (_arg3 + _local8);
this._elements.insert(_local7.hashcode, _local7);
}
}
}//package game.model.cartridges
Section 37
//BossCreature (game.model.creatures.BossCreature)
package game.model.creatures {
import game.controller.*;
import game.*;
public class BossCreature extends Creature {
private var _bossHaveDied:Boolean;// = false
public static const HIT_IN_BOSS_EVENT:String = "hit_in_boss_event";
public function BossCreature(_arg1:String){
_bossHaveDied = false;
super(_arg1);
this._creatureHealth = SetParameters.BOSS_START_HEALTH;
this._changeStateFunction = ChangeBotsState.instance.changeStateOfBossCreature;
this._stepValue = SetParameters.BOSS_ROBOT_STEP;
}
override public function addDestroy(_arg1:int):void{
var _local2:HitInBossEvent;
_creatureHealth = (_creatureHealth - _arg1);
if (_creatureHealth > 0){
this._creatureHaveDamage = true;
} else {
if (!_bossHaveDied){
_bossHaveDied = true;
Controller.instance.goToVictory();
};
};
_local2 = new HitInBossEvent(BossCreature.HIT_IN_BOSS_EVENT);
_local2.health = (_creatureHealth / SetParameters.BOSS_START_HEALTH);
dispatchEvent(_local2);
}
}
}//package game.model.creatures
Section 38
//ContainerOfCreatures (game.model.creatures.ContainerOfCreatures)
package game.model.creatures {
import game.controller.*;
import game.model.*;
import game.*;
import game.model.moved_state.*;
import de.polygonal.ds.*;
import game.game_events.*;
public class ContainerOfCreatures extends Container {
private var _queueOfNeedMoved:ArrayedQueue;
public static var REMOVE_CREATURE_EVENT:String = "remove_creature_event";
public static var ADD_NEW_CREATURE_EVENT:String = "add_new_creature";
public function ContainerOfCreatures(){
_queueOfNeedMoved = new ArrayedQueue(SetParameters.MAX_AMOUNT_OF_BOTS);
}
public function processCreatures(){
processOfMoveCreatures();
processOfCollisionCreatures();
processUpdate();
}
public function processOfCollisionCreatures():void{
var _local1:Iterator;
var _local2:Creature;
_local1 = _elements.getIterator();
while (_local1.hasNext()) {
_local2 = _local1.next();
_local2.processCollision();
};
}
public function processIntersectWithPlayer(_arg1:Player):void{
var _local2:Iterator;
var _local3:Creature;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:Number;
var _local11:int;
var _local12:int;
var _local13:Number;
var _local14:Number;
_local2 = this._elements.getIterator();
while (_local2.hasNext()) {
_local3 = _local2.next();
_local4 = _local3.x;
_local5 = _local3.y;
_local6 = _arg1.x;
_local7 = _arg1.y;
_local8 = (_local6 - _local4);
_local9 = (_local7 - _local5);
_local10 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9)));
_local11 = Model.countCreatureCellCoord(_arg1.x);
_local12 = Model.countCreatureCellCoord(_arg1.y);
if ((((((((((_local3.typeOfCreature == Creature.SIMPLE_ROBOT)) && (AbstractState.isStateAttack(_local3.state)))) && ((_local3.remainedTicks == (AbstractState.ATTACK_TICKS_COUNT - 15))))) && ((Math.abs((_local3.cellX - _local11)) <= 1)))) && ((Math.abs((_local3.cellY - _local12)) <= 1)))){
Controller.instance.model.player.inShockState = true;
_local13 = (_arg1.x - _local3.x);
_local14 = (_arg1.y - _local3.y);
_arg1.shockXSign = (_arg1.shockXSign + _local13);
_arg1.shockYSign = (_arg1.shockYSign + _local14);
_arg1.playerHealth = (_arg1.playerHealth - SetParameters.SIMPLE_CREATURE_DAMAGE);
};
};
}
override public function removeElement(_arg1:GameObject):void{
var event:GameObjectEvent;
var creature:Creature;
var gameObject = _arg1;
try {
event = new GameObjectEvent(ContainerOfCreatures.REMOVE_CREATURE_EVENT);
event.hashcode = gameObject.hashcode;
dispatchEvent(event);
creature = _elements.find(event.hashcode);
switch (creature.typeOfCreature){
case Creature.SIMPLE_ROBOT:
Controller.instance.model.amountOfAditionalScores = (Controller.instance.model.amountOfAditionalScores + SetParameters.SIMPLE_CREATURE_SCORES);
break;
case Creature.SHOOT_ROBOT:
Controller.instance.model.amountOfAditionalScores = (Controller.instance.model.amountOfAditionalScores + SetParameters.SHOOT_CREATURE_SCORES);
break;
case Creature.KAMIKAZE_ROBOT:
Controller.instance.model.amountOfAditionalScores = (Controller.instance.model.amountOfAditionalScores + SetParameters.KAMIKAZE_SCORES);
break;
case Creature.BOSS_ROBOT:
Controller.instance.model.amountOfAditionalScores = (Controller.instance.model.amountOfAditionalScores + SetParameters.BOSS_SCORES);
break;
};
this._elements.remove(event.hashcode);
} catch(e:Error) {
};
}
override public function addToContainer(_arg1:GameObject):void{
var _local2:GameObjectEvent;
Creature(_arg1).creatures = this;
super.addToContainer(_arg1);
_local2 = new GameObjectEvent(ContainerOfCreatures.ADD_NEW_CREATURE_EVENT);
_local2.hashcode = _arg1.hashcode;
dispatchEvent(_local2);
}
public function processUpdate():void{
var _local1:Iterator;
var _local2:Creature;
_local1 = _elements.getIterator();
while (_local1.hasNext()) {
_local2 = _local1.next();
_local2.dispatchUpdate();
};
}
public function processOfMoveCreatures():void{
var _local1:Iterator;
var _local2:Creature;
_local1 = _elements.getIterator();
while (_local1.hasNext()) {
_local2 = _local1.next();
_local2.processMoving();
};
}
public function processDamage(_arg1:Creature):void{
var _local2:Iterator;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Creature;
_local2 = this._elements.getIterator();
_local3 = _arg1.x;
_local4 = _arg1.y;
_local5 = 0;
_local6 = 0;
while (_local2.hasNext()) {
_local8 = _local2.next();
if (((!((_local8.hashcode == _arg1.hashcode))) && (!((_local8.typeOfCreature == Creature.BOSS_ROBOT))))){
_local5 = _local8.x;
_local6 = _local8.y;
_local7 = GeometryFunctions.distanceBetweenPoints(_local3, _local4, _local5, _local6);
if (_local7 < SetParameters.KAMIKAZE_DESTROY_RADIUS){
_local8.addDestroy(SetParameters.KAMIKAZE_DESTROY);
_local8.shooterX = _arg1.x;
_local8.shooterY = _arg1.y;
};
};
};
}
}
}//package game.model.creatures
Section 39
//Creature (game.model.creatures.Creature)
package game.model.creatures {
import flash.events.*;
import game.controller.*;
import game.model.*;
import game.*;
import game.math.*;
import game.model.moved_state.*;
import de.polygonal.ds.*;
public class Creature extends GameObject implements IHitedObject {
private var _intersectAndNeedTurnInThePast:Boolean;// = false
private var _canAttackCreature:Boolean;// = false
private var _remainedTicks:int;// = 100
private var _typeOfCreature:String;
private var _shooterX:int;
private var _shooterY:int;
protected var _creatureHaveDamage:Boolean;// = false
public var _cellX:int;// = 0
public var _cellY:int;// = 0
private var _needToDiscreaseTicks:Boolean;// = false
private var _arrayX:int;// = -1
private var _arrayY:int;// = -1
public var PLAYER_VECTOR_POSITION:Vector;
private var _numOfCreature:int;
private var _arrayOfWay:Array;
protected var _bigLenShoot:Boolean;// = false
private var _intersectAndNeedTurn:Boolean;// = false
public var _distanceOfAttack:Number;
private var _creatureIntersectDX:int;
private var _creatureIntersectDY:int;
private var _creatureHaveDestroyDamage:Boolean;// = false
private var _state:IMovedState;
private var _previousMovedState:IMovedState;
private var _creatures:ContainerOfCreatures;
protected var _creatureHealth:int;
protected var _stepValue:Number;// = 0
private var _intersectWithThomething:Boolean;// = false
public var PLAYER_POLYGON:Polygon;
protected var _changeStateFunction:Function;
public static const KAMIKAZE_ROBOT:String = "kamikze_robot";
public static const SHOOT_ROBOT:String = "shoot_robot";
public static const BOSS_ROBOT:String = "BossRobot";
public static const SIMPLE_ROBOT:String = "SimpleOnlyMovedRobot";
public static const NOT_MOVED_CREATURE:String = "not_moved_creature";
public static var START_SHOCK_EVENT:String = "start_shock";
public static var END_OF_ACTION_EVENT:String = "end_of_action";
public static var HIT_BOT_EVENT:String = "hit_bot";
public static var MOVE_CREATURE_HANDLER:String = "move_creature";
public static var REMOVE_SELF_EVENT:String = "remove_self";
public static var CHANGE_MOVE_STATE_EVENT:String = "change_moved_state";
public static var START_AGONY_EVENT:String = "start_agony";
public static var UPDATE_CREATURE:String = "update_creature";
public function Creature(_arg1:String){
var _local2:Array;
_creatureHealth = SetParameters.SIMPLE_ONLY_MOVED_HEALTH;
_remainedTicks = 100;
_needToDiscreaseTicks = false;
_distanceOfAttack = SetParameters.CELLS_SIZE;
_cellX = 0;
_cellY = 0;
_canAttackCreature = false;
_arrayX = -1;
_arrayY = -1;
_intersectAndNeedTurn = false;
_intersectAndNeedTurnInThePast = false;
_intersectWithThomething = false;
_creatureHaveDamage = false;
_creatureHaveDestroyDamage = false;
_stepValue = 0;
_bigLenShoot = false;
super();
this.typeOfCreature = _arg1;
hashcode = "creature";
_state = new MoveDownState();
PLAYER_VECTOR_POSITION = new Vector(x, y);
_local2 = [new Vector(0, 13), new Vector(13, 0), new Vector(32, 0), new Vector(45, 13), new Vector(45, 13), new Vector(32, 45), new Vector(32, 45), new Vector(0, 32)];
PLAYER_POLYGON = new Polygon("name", PLAYER_VECTOR_POSITION, _local2, 0);
}
public function set creatureHealth(_arg1:int):void{
this._creatureHealth = _arg1;
}
public function removeSelf():void{
var hash:HashMap;
try {
_creatures.removeElement(this);
Controller.instance.model.clearCell(this.cellX, this.cellY);
hash = ContainerOfBotsPointer.instance.arrayOfPointers[this.arrayY][this.arrayX];
if (hash != null){
hash.remove(this.hashcode);
};
if (this.typeOfCreature == Creature.BOSS_ROBOT){
Controller.instance.goToVictory();
};
} catch(e:Error) {
};
}
public function turnBack():void{
var _local1:IMovedState;
if (((((AbstractState.isStateMoving(this.state)) || (AbstractState.isStateShock(this.state)))) || ((this.state.nameOfState == AbstractState.WHAIT_OF_TURN_STATE)))){
_local1 = AbstractState.getMovedStateFromDXY(GeometryFunctions.signWithZiro(this._creatureIntersectDX), GeometryFunctions.signWithZiro(this._creatureIntersectDY));
_local1.moveDirectly(this);
this.state = _local1;
};
}
public function get typeOfCreature():String{
return (_typeOfCreature);
}
public function get distanceOfAttack():Number{
return (_distanceOfAttack);
}
public function set previousMovedState(_arg1:IMovedState):void{
this._previousMovedState = _arg1;
}
public function addDestroy(_arg1:int):void{
_creatureHealth = (_creatureHealth - _arg1);
if (_creatureHealth >= 0){
this._creatureHaveDamage = true;
};
}
public function get creatureHaveDestroyDamage():Boolean{
return (this._creatureHaveDestroyDamage);
}
public function set intersectAndNeedTurn(_arg1:Boolean):void{
this._intersectAndNeedTurn = _arg1;
}
public function get distanceForCell():Number{
return (Math.sqrt((((_x - (this._cellX * SetParameters.CELLS_SIZE)) * (_x - (this._cellX * SetParameters.CELLS_SIZE))) + ((_y - (this._cellY * SetParameters.CELLS_SIZE)) * (_y - (this._cellY * SetParameters.CELLS_SIZE))))));
}
public function get arrayX():int{
return (this._arrayX);
}
public function set typeOfCreature(_arg1:String):void{
_typeOfCreature = _arg1;
}
public function set state(_arg1:IMovedState):void{
_state = _arg1;
if (AbstractState.isStateShock(_arg1)){
switch (this.typeOfCreature){
case Creature.SIMPLE_ROBOT:
this.remainedTicks = SetParameters.SIMPLE_BOT_SHOCK_TICS;
break;
case Creature.SHOOT_ROBOT:
this.remainedTicks = SetParameters.SHOOT_BOT_SHOCK_TICS;
break;
case Creature.KAMIKAZE_ROBOT:
this.remainedTicks = SetParameters.KAMIKAZE_SHOCK_TICS;
break;
case Creature.BOSS_ROBOT:
this.remainedTicks = SetParameters.BOSS_SHOCK_TICS;
break;
};
} else {
if (AbstractState.isStateAttack(_arg1)){
switch (this.typeOfCreature){
case Creature.SIMPLE_ROBOT:
this.remainedTicks = SetParameters.SIMPLE_BOT_ATTACK_TICS;
break;
case Creature.SHOOT_ROBOT:
this.remainedTicks = SetParameters.SHOOT_BOT_ATTACK_TICS;
break;
case Creature.KAMIKAZE_ROBOT:
this.remainedTicks = SetParameters.KAMIKAZE_ATTACK_TICS;
break;
case Creature.BOSS_ROBOT:
this.remainedTicks = SetParameters.BOSS_ATTACK_TICS;
break;
};
} else {
if (_state.nameOfState == AbstractState.AGONY_STATE){
this.remainedTicks = SetParameters.AGONY_TICS;
} else {
this.remainedTicks = _arg1.countOfStep;
};
};
};
dispatchEvent(new Event(Creature.CHANGE_MOVE_STATE_EVENT));
}
public function get cellX():int{
return (_cellX);
}
public function get bigLenShoot():Boolean{
return (this._bigLenShoot);
}
public function get creatureIntersectDY():int{
return (this._creatureIntersectDY);
}
public function set creatureHaveDestroyDamage(_arg1:Boolean):void{
this._creatureHaveDestroyDamage = _arg1;
}
public function get remainedTicks():int{
return (this._remainedTicks);
}
public function set arrayX(_arg1:int):void{
this._arrayX = _arg1;
}
public function get cellY():int{
return (_cellY);
}
public function get stepValue():Number{
return (this._stepValue);
}
public function get creatureIntersectDX():int{
return (this._creatureIntersectDX);
}
public function set arrayY(_arg1:int):void{
this._arrayY = _arg1;
}
public function set stepValue(_arg1:Number):void{
this._stepValue = _arg1;
}
public function updatePoligonPos():void{
PLAYER_POLYGON.pos = new Vector(this.x, this.y);
}
public function set creatures(_arg1:ContainerOfCreatures):void{
_creatures = _arg1;
}
public function get arrayY():int{
return (this._arrayY);
}
public function set bigLenShoot(_arg1:Boolean):void{
this._bigLenShoot = _arg1;
}
public function set distanceOfAttack(_arg1:Number):void{
this._distanceOfAttack = _distanceOfAttack;
}
public function get numOfCreature():int{
return (this._numOfCreature);
}
public function set creatureIntersectDX(_arg1:int):void{
this._creatureIntersectDX = _arg1;
}
public function set creatureHaveDamage(_arg1:Boolean):void{
this._creatureHaveDamage = _arg1;
}
public function get creatureHealth():int{
return (this._creatureHealth);
}
public function set creatureIntersectDY(_arg1:int):void{
this._creatureIntersectDY = _arg1;
}
public function set arrayOfWay(_arg1:Array):void{
this._arrayOfWay = _arg1;
}
public function processCollision():void{
if (((this._intersectWithThomething) || (Controller.instance.model.creatureIntersectWithWalls(_x, _y, (SetParameters.BOT_DIAMETER / 2))))){
this.x = _oldX;
this.y = _oldY;
} else {
_oldX = this.x;
_oldY = this.y;
};
}
public function get intersectAndNeedTurn():Boolean{
return (_intersectAndNeedTurn);
}
public function get state():IMovedState{
return (_state);
}
public function get creatureHaveDamage():Boolean{
return (this._creatureHaveDamage);
}
public function get canAttackCreature():Boolean{
return (_canAttackCreature);
}
public function set shooterX(_arg1:int):void{
this._shooterX = _arg1;
}
public function set remainedTicks(_arg1:int):void{
this._remainedTicks = _arg1;
}
public function processMoving():void{
if (_needToDiscreaseTicks){
_remainedTicks--;
};
if (((!(this._intersectWithThomething)) && (((((AbstractState.isStateMoving(this.state)) || (AbstractState.isStateShock(this.state)))) || ((this.state.nameOfState == AbstractState.WHAIT_OF_TURN_STATE)))))){
_state.moveDirectly(this);
};
this._intersectAndNeedTurn = false;
this._intersectWithThomething = false;
if (((ChangeBotsState.instance.checkBotReachCell(this)) && (((AbstractState.isStateMoving(this.state)) || (AbstractState.isStateShock(this.state)))))){
this.x = (this.cellX * SetParameters.CELLS_SIZE);
this.y = (this.cellY * SetParameters.CELLS_SIZE);
};
this._creatureIntersectDX = 0;
this._creatureIntersectDY = 0;
ContainerOfBotsPointer.instance.addPointerToCellIfNeed(this);
ContainerOfBotsPointer.instance.processIntersectWithAnotherCreatures(this);
_intersectWithThomething = ((_intersectWithThomething) || (Controller.instance.model.creatureIntersectWithWalls(this.x, this.y, SetParameters.BOT_DIAMETER)));
updatePoligonPos();
}
public function set shooterY(_arg1:int):void{
this._shooterY = _arg1;
}
public function set needToDiscreaseTicks(_arg1:Boolean):void{
this._needToDiscreaseTicks = _arg1;
}
public function set numOfCreature(_arg1:int):void{
this._numOfCreature = _arg1;
}
public function set intersectWithThomething(_arg1:Boolean):void{
this._intersectWithThomething = _arg1;
}
public function get arrayOfWay():Array{
return (_arrayOfWay);
}
public function updatePos(){
PLAYER_VECTOR_POSITION.x = this.x;
PLAYER_VECTOR_POSITION.y = this.y;
updatePoligonPos();
}
public function get shooterX():int{
return (this._shooterX);
}
public function get shooterY():int{
return (this._shooterY);
}
public function dispatchUpdate():void{
_changeStateFunction(this);
dispatchEvent(new Event(Creature.UPDATE_CREATURE));
}
public function setCellXY(_arg1:int, _arg2:int):void{
Controller.instance.model.clearCell(_cellX, _cellY);
this._cellX = _arg1;
this._cellY = _arg2;
Controller.instance.model.fillCell(_cellX, _cellY);
}
public function get intersectWithThomething():Boolean{
return (this._intersectWithThomething);
}
public function boom(_arg1:Vector, _arg2:Number, _arg3){
var _local4:Vector;
var _local5:*;
var _local6:*;
_local4 = new Vector((_arg1.x * _arg2), (_arg1.y * _arg2));
_local4.scale(0.5);
_local5 = _local4.x;
_local6 = _local4.y;
this.x = (this.x - _local5);
this.y = (this.y - _local6);
this.updatePos();
_arg3.x = (_arg3.x + _local5);
_arg3.y = (_arg3.y + _local6);
_arg3.updatePos();
}
public function get previousMovedState():IMovedState{
return (_previousMovedState);
}
}
}//package game.model.creatures
Section 40
//HitInBossEvent (game.model.creatures.HitInBossEvent)
package game.model.creatures {
import flash.events.*;
public class HitInBossEvent extends Event {
private var _health:Number;// = 100
public function HitInBossEvent(_arg1:String){
_health = 100;
super(_arg1);
}
public function set health(_arg1:Number):void{
this._health = _arg1;
}
public function get health():Number{
return (this._health);
}
}
}//package game.model.creatures
Section 41
//KamikazeCreature (game.model.creatures.KamikazeCreature)
package game.model.creatures {
import game.controller.*;
import game.*;
public class KamikazeCreature extends Creature {
public function KamikazeCreature(_arg1:String){
super(_arg1);
this._changeStateFunction = ChangeBotsState.instance.changeStateOfKamikazeCreature;
_creatureHealth = SetParameters.KAMIKAZE_ROBOT_HEALTH;
this._stepValue = SetParameters.KAMIKAZE_ROBOT_STEP;
}
}
}//package game.model.creatures
Section 42
//ShootCreature (game.model.creatures.ShootCreature)
package game.model.creatures {
import game.controller.*;
import game.*;
public class ShootCreature extends Creature {
public function ShootCreature(_arg1:String){
super(_arg1);
this._changeStateFunction = ChangeBotsState.instance.changeStateOfShootCreature;
_creatureHealth = SetParameters.FIRE_ROBOT_HEALTH;
this._stepValue = SetParameters.SHOOT_ROBOT_STEP;
}
}
}//package game.model.creatures
Section 43
//SimpleCreature (game.model.creatures.SimpleCreature)
package game.model.creatures {
import game.controller.*;
import game.*;
public class SimpleCreature extends Creature {
public function SimpleCreature(_arg1:String){
super(_arg1);
this._changeStateFunction = ChangeBotsState.instance.changeStateOfSimpleCreature;
this._stepValue = SetParameters.SIMPLE_ROBOT_STEP;
}
}
}//package game.model.creatures
Section 44
//MortarContainer (game.model.mortar.MortarContainer)
package game.model.mortar {
import flash.events.*;
import game.model.creatures.*;
import game.model.*;
import game.*;
import de.polygonal.ds.*;
import game.game_events.*;
public class MortarContainer extends Container {
private var _model:Model;
public static var REMOVE_MORTAR_SHELL_EVENT:String = "remove_mortar_shell";
public static var ADD_MORTAR_SHELL_EVENT:String = "add_mortar_shell";
public function update():void{
var _local1:Iterator;
var _local2:MortarShell;
_local1 = this._elements.getIterator();
while (_local1.hasNext()) {
_local2 = _local1.next();
_local2.update();
};
}
public function set model(_arg1:Model):void{
this._model = _arg1;
}
public function removeFromMortarsShell(_arg1:String):void{
var _local2:GameObjectEvent;
this._elements.remove(_arg1);
_local2 = new GameObjectEvent(MortarContainer.REMOVE_MORTAR_SHELL_EVENT);
_local2.hashcode = _arg1;
this.dispatchEvent(_local2);
}
override public function addToContainer(_arg1:GameObject):void{
var _local2:GameObjectEvent;
_arg1.hashcode = "MortarShell";
super.addToContainer(_arg1);
_local2 = new GameObjectEvent(MortarContainer.ADD_MORTAR_SHELL_EVENT);
_local2.hashcode = _arg1.hashcode;
(_arg1 as MortarShell).mortarContainer = this;
dispatchEvent(_local2);
}
public function splash(_arg1:int, _arg2:int):void{
var _local3:Iterator;
var _local4:Player;
var _local5:Creature;
_model.dispatchEvent(new Event(Model.EXPLOSION_EVENT));
_local3 = this._model.creatures.elementsIterator;
while (_local3.hasNext()) {
_local5 = _local3.next();
if (GeometryFunctions.distanceBetweenPoints(_arg1, _arg2, _local5.x, _local5.y) < SetParameters.MORTAR_DAMAGE_DIAMETER){
_local5.addDestroy(SetParameters.MORTAR_DAMAGE_POINTS);
_local5.shooterX = _arg1;
_local5.shooterY = _arg2;
};
};
_local4 = this._model._player;
if (GeometryFunctions.distanceBetweenPoints(_local4.x, _local4.y, _arg1, _arg2) < SetParameters.MORTAR_DAMAGE_DIAMETER){
_local4.playerHealth = (_local4.playerHealth - SetParameters.MORTAR_DAMAGE_POINTS);
};
}
}
}//package game.model.mortar
Section 45
//MortarShell (game.model.mortar.MortarShell)
package game.model.mortar {
import flash.events.*;
import game.model.*;
public class MortarShell extends GameObject {
private var _h:Number;// = 0
private var _amplitude:Number;// = 100
private var count:int;// = 0
private var _dl:Number;// = 0
private var _mortarContainer:MortarContainer;
private var _dx:Number;
private var _dy:Number;
private var _startH:Number;// = 20
private var absc:Number;// = 0
private var _startX:Number;// = 0
private var _startY:Number;// = 0
private var a:Number;// = -100
private var _startDirection:Number;
private var _len:Number;// = 0
private var b:Number;
private var _n:int;// = 20
public static var MORTAR_SHELL_EXPLOSION_EVENT:String = "mortar_shell_explosion_event";
public static var UPDATE_MORTAR_SHELL_EVENT:String = "update_mortar_shell";
public function MortarShell(){
_startX = 0;
_startY = 0;
_len = 0;
_n = 20;
count = 0;
a = -100;
b = (_len * a);
_dl = 0;
_h = 0;
_startH = 20;
_amplitude = 100;
absc = 0;
super();
}
public function get h():Number{
return (this._h);
}
public function set startDirection(_arg1:Number):void{
this._startDirection = _arg1;
}
public function init():void{
b = (-(_len) / a);
_dx = ((_len * Math.cos(_startDirection)) / _n);
_dy = ((_len * Math.sin(_startDirection)) / _n);
_dl = (_len / _n);
}
public function set len(_arg1:Number):void{
this._len = _arg1;
}
public function update():void{
count++;
if (count < (_n + 5)){
this._x = (_startX + (_dx * count));
this._y = (_startY + (_dy * count));
_h = (_startH + (Math.sin((((Math.PI * _dl) * count) / _len)) * _amplitude));
this.dispatchEvent(new Event(MortarShell.UPDATE_MORTAR_SHELL_EVENT));
} else {
if (count == (_n + 5)){
this.dispatchEvent(new Event(MortarShell.MORTAR_SHELL_EXPLOSION_EVENT));
this._mortarContainer.splash(_x, _y);
} else {
if ((count - _n) > 10){
this._mortarContainer.removeFromMortarsShell(this._hashcode);
};
};
};
}
public function set mortarContainer(_arg1:MortarContainer):void{
this._mortarContainer = _arg1;
}
public function set startY(_arg1:Number):void{
this._startY = _arg1;
}
public function set startX(_arg1:Number):void{
this._startX = _arg1;
}
}
}//package game.model.mortar
Section 46
//AbstractState (game.model.moved_state.AbstractState)
package game.model.moved_state {
import game.model.creatures.*;
public class AbstractState implements IMovedState {
protected var _dxSign:Number;
protected var _dySign:Number;
protected var _nameOfState:String;
protected var _countOfStep:Number;
protected var _shiftX:Number;// = 0
protected var _shiftY:Number;// = 0
public static var MOVE_RIGHT_STATE:String = "move_right";
public static var ARIGHT_UP_ATTACK_STATE:String = "a_right_up_attack";
public static var MOVE_UP_STATE:String = "move_up";
public static var SHOCK_STATE:String = "shock_state";
public static var HIT_IN_CREATURE_STATE:String = "hit_in_creature";
public static var SHOCK_LEFT_UP_STATE:String = "shock_left_up_state";
public static var SHOCK_TICKS_COUNT = 3;
public static var AGONY_TICKS_COUNT = 10;
public static var SHOCK_RIGHT_UP_STATE:String = "shock_right_up_state";
public static var ALEFT_DOWN_ATTACK_STATE:String = "a_left_down_attack";
public static var WHAIT_OF_TURN_STATE:String = "whait_of_turn";
public static var ADOWN_ATTACK_STATE:String = "a_down_attack";
public static var MOVE_LEFT_UP_STATE:String = "move_left_up";
public static var RIGHT_UP_ATTACK_STATE:String = "right_up_attack";
public static var RIGHT_ATTACK_STATE:String = "right_attack";
public static var ARIGHT_ATTACK_STATE:String = "a_right_attack";
public static var SHOCK_LEFT_STATE:String = "shock_left_state";
public static var LEFT_UP_ATTACK_STATE:String = "left_up_attack";
public static var SHOCK_LEFT_DOWN_STATE:String = "shock_left_down_state";
public static var SHOCK_RIGHT_STATE:String = "shock_right_state";
public static var RIGHT_DOWN_ATTACK_STATE:String = "right_down_attack";
public static var DOWN_ATTACK_STATE:String = "down_attack";
public static var ATTACK_STATE:String = "attack_state";
public static var MOVE_DOWN_STATE:String = "move_down";
public static var ATTACK_TICKS_COUNT:int = 50;
public static var ALEFT_ATTACK_STATE:String = "a_left_attack";
public static var ARIGHT_DOWN_ATTACK_STATE:String = "a_right_down_attack";
public static var UP_ATTACK_STATE:String = "up_attack";
public static var SHOCK_RIGHT_DOWN_STATE:String = "shock_right_down_state";
public static var MOVE_RIGHT_UP_STATE:String = "move_right_up";
public static var AGONY_STATE:String = "agony_state";
public static var ALEFT_UP_ATTACK_STATE:String = "a_left_up_attack";
public static var SHOCK_UP_STATE:String = "shock_up_state";
public static var MOVE_RIGHT_DOWN_STATE:String = "move_right_down";
public static var MOVE_LEFT_DOWN_STATE:String = "move_left_down";
public static var MOVE_LEFT_STATE:String = "move_left";
public static var SHOCK_DOWN_STATE:String = "shock_down_state";
public static var LEFT_ATTACK_STATE:String = "left_attack";
public static var AUP_ATTACK_STATE:String = "a_up_attack";
public static var LEFT_DOWN_ATTACK_STATE:String = "left_down_attack";
public function AbstractState(){
_shiftX = 0;
_shiftY = 0;
super();
}
public function get dxSign():Number{
return (_dxSign);
}
public function get shiftX():Number{
return (this._shiftX);
}
public function get shiftY():Number{
return (this._shiftY);
}
public function moveBack(_arg1:Creature):void{
}
public function moveDirectly(_arg1:Creature):void{
}
public function get dySign():Number{
return (_dySign);
}
public function get countOfStep():Number{
return (_countOfStep);
}
public function set shiftX(_arg1:Number):void{
this._shiftX = _arg1;
}
public function set shiftY(_arg1:Number):void{
this._shiftY = _arg1;
}
public function get nameOfState():String{
return (_nameOfState);
}
public static function isStateAlternativeAttack(_arg1:IMovedState):Boolean{
var _local2:String;
_local2 = _arg1.nameOfState;
if ((((((((((((((((_local2 == AbstractState.ALEFT_ATTACK_STATE)) || ((_local2 == AbstractState.ALEFT_DOWN_ATTACK_STATE)))) || ((_local2 == AbstractState.ALEFT_UP_ATTACK_STATE)))) || ((_local2 == AbstractState.ARIGHT_ATTACK_STATE)))) || ((_local2 == AbstractState.ARIGHT_DOWN_ATTACK_STATE)))) || ((_local2 == AbstractState.ARIGHT_UP_ATTACK_STATE)))) || ((_local2 == AbstractState.AUP_ATTACK_STATE)))) || ((_local2 == AbstractState.ADOWN_ATTACK_STATE)))){
return (true);
};
return (false);
}
public static function getNewShockState(_arg1:Number):AbstractState{
switch (_arg1){
case 0:
return (new ShockLeftState());
case 1:
return (new ShockLeftUpState());
case 2:
return (new ShockDownState());
case 3:
return (new ShockRightUpState());
case 4:
return (new ShockRightState());
case -1:
return (new ShockLeftDownState());
case -2:
return (new ShockUpState());
case -3:
return (new ShockRightDownState());
case -4:
return (new ShockRightState());
default:
return (new WhaitOfTurnState());
};
}
public static function isStateAttack(_arg1:IMovedState):Boolean{
var _local2:String;
_local2 = _arg1.nameOfState;
if ((((((((((((((((((((((((((((((((_local2 == AbstractState.LEFT_ATTACK_STATE)) || ((_local2 == AbstractState.LEFT_DOWN_ATTACK_STATE)))) || ((_local2 == AbstractState.LEFT_UP_ATTACK_STATE)))) || ((_local2 == AbstractState.RIGHT_ATTACK_STATE)))) || ((_local2 == AbstractState.RIGHT_DOWN_ATTACK_STATE)))) || ((_local2 == AbstractState.RIGHT_UP_ATTACK_STATE)))) || ((_local2 == AbstractState.UP_ATTACK_STATE)))) || ((_local2 == AbstractState.DOWN_ATTACK_STATE)))) || ((_local2 == AbstractState.ALEFT_ATTACK_STATE)))) || ((_local2 == AbstractState.ALEFT_DOWN_ATTACK_STATE)))) || ((_local2 == AbstractState.ALEFT_UP_ATTACK_STATE)))) || ((_local2 == AbstractState.ARIGHT_ATTACK_STATE)))) || ((_local2 == AbstractState.ARIGHT_DOWN_ATTACK_STATE)))) || ((_local2 == AbstractState.ARIGHT_UP_ATTACK_STATE)))) || ((_local2 == AbstractState.AUP_ATTACK_STATE)))) || ((_local2 == AbstractState.ADOWN_ATTACK_STATE)))){
return (true);
};
return (false);
}
public static function getMovedStateFromDXY(_arg1:int, _arg2:int):IMovedState{
if ((((_arg1 == 0)) && ((_arg2 == 0)))){
return (new WhaitOfTurnState());
};
if ((((_arg1 == 1)) && ((_arg2 == -1)))){
return (new MoveRightUpState());
};
if ((((_arg1 == 1)) && ((_arg2 == 0)))){
return (new MoveRightState());
};
if ((((_arg1 == 1)) && ((_arg2 == 1)))){
return (new MoveRightDownState());
};
if ((((_arg1 == 0)) && ((_arg2 == -1)))){
return (new MoveUpState());
};
if ((((_arg1 == 0)) && ((_arg2 == 1)))){
return (new MoveDownState());
};
if ((((_arg1 == -1)) && ((_arg2 == -1)))){
return (new MoveLeftUpState());
};
if ((((_arg1 == -1)) && ((_arg2 == 0)))){
return (new MoveLeftState());
};
if ((((_arg1 == -1)) && ((_arg2 == 1)))){
return (new MoveLeftDownState());
};
return (new WhaitOfTurnState());
}
public static function isStateMoving(_arg1:IMovedState):Boolean{
var _local2:String;
_local2 = _arg1.nameOfState;
if ((((((((((((((((_local2 == AbstractState.MOVE_DOWN_STATE)) || ((_local2 == AbstractState.MOVE_RIGHT_STATE)))) || ((_local2 == AbstractState.MOVE_LEFT_STATE)))) || ((_local2 == AbstractState.MOVE_UP_STATE)))) || ((_local2 == AbstractState.MOVE_LEFT_UP_STATE)))) || ((_local2 == AbstractState.MOVE_LEFT_DOWN_STATE)))) || ((_local2 == AbstractState.MOVE_RIGHT_UP_STATE)))) || ((_local2 == AbstractState.MOVE_RIGHT_DOWN_STATE)))){
return (true);
};
return (false);
}
public static function isStateShock(_arg1:IMovedState):Boolean{
var _local2:String;
_local2 = _arg1.nameOfState;
if ((((((((((((((((_local2 == AbstractState.SHOCK_DOWN_STATE)) || ((_local2 == AbstractState.SHOCK_LEFT_DOWN_STATE)))) || ((_local2 == AbstractState.SHOCK_LEFT_STATE)))) || ((_local2 == AbstractState.SHOCK_LEFT_UP_STATE)))) || ((_local2 == AbstractState.SHOCK_RIGHT_DOWN_STATE)))) || ((_local2 == AbstractState.SHOCK_RIGHT_STATE)))) || ((_local2 == AbstractState.SHOCK_RIGHT_UP_STATE)))) || ((_local2 == AbstractState.SHOCK_UP_STATE)))){
return (true);
};
return (false);
}
}
}//package game.model.moved_state
Section 47
//ADownAttackState (game.model.moved_state.ADownAttackState)
package game.model.moved_state {
public class ADownAttackState extends AbstractState {
public function ADownAttackState(){
_nameOfState = AbstractState.ADOWN_ATTACK_STATE;
_dxSign = 0;
_dySign = 0;
this._shiftX = 0;
this._shiftY = 40;
_countOfStep = AbstractState.ATTACK_TICKS_COUNT;
}
}
}//package game.model.moved_state
Section 48
//AgonyState (game.model.moved_state.AgonyState)
package game.model.moved_state {
public class AgonyState extends AbstractState {
public function AgonyState(){
_nameOfState = AbstractState.AGONY_STATE;
_dxSign = 0;
_dySign = 0;
_countOfStep = AbstractState.AGONY_TICKS_COUNT;
}
}
}//package game.model.moved_state
Section 49
//ALeftAttackState (game.model.moved_state.ALeftAttackState)
package game.model.moved_state {
public class ALeftAttackState extends AttackState {
public function ALeftAttackState(){
_nameOfState = AbstractState.ALEFT_ATTACK_STATE;
_dxSign = 0;
_dySign = 0;
this._shiftX = -35;
this._shiftY = 10;
_countOfStep = AbstractState.ATTACK_TICKS_COUNT;
}
}
}//package game.model.moved_state
Section 50
//ALeftDownAttackState (game.model.moved_state.ALeftDownAttackState)
package game.model.moved_state {
public class ALeftDownAttackState extends AttackState {
public function ALeftDownAttackState(){
_nameOfState = AbstractState.ALEFT_DOWN_ATTACK_STATE;
_dxSign = 0;
_dySign = 0;
this._shiftX = -35;
this._shiftY = 50;
_countOfStep = AbstractState.ATTACK_TICKS_COUNT;
}
}
}//package game.model.moved_state
Section 51
//ALeftUpAttackState (game.model.moved_state.ALeftUpAttackState)
package game.model.moved_state {
public class ALeftUpAttackState extends AttackState {
public function ALeftUpAttackState(){
_nameOfState = AbstractState.ALEFT_UP_ATTACK_STATE;
_dxSign = 0;
_dySign = 0;
this._shiftX = -35;
this._shiftY = 10;
}
}
}//package game.model.moved_state
Section 52
//ARightAttackState (game.model.moved_state.ARightAttackState)
package game.model.moved_state {
public class ARightAttackState extends AttackState {
public function ARightAttackState(){
_nameOfState = AbstractState.ARIGHT_ATTACK_STATE;
_dxSign = 0;
_dySign = 0;
this._shiftX = 35;
this._shiftY = 25;
_countOfStep = AbstractState.ATTACK_TICKS_COUNT;
}
}
}//package game.model.moved_state
Section 53
//ARightDownAttackState (game.model.moved_state.ARightDownAttackState)
package game.model.moved_state {
public class ARightDownAttackState extends AttackState {
public function ARightDownAttackState(){
_nameOfState = AbstractState.ARIGHT_DOWN_ATTACK_STATE;
_dxSign = 0;
_dySign = 0;
this._shiftX = 35;
this._shiftY = 35;
_countOfStep = AbstractState.ATTACK_TICKS_COUNT;
}
}
}//package game.model.moved_state
Section 54
//ARightUpAttackState (game.model.moved_state.ARightUpAttackState)
package game.model.moved_state {
public class ARightUpAttackState extends AttackState {
public function ARightUpAttackState(){
_nameOfState = AbstractState.ARIGHT_UP_ATTACK_STATE;
_dxSign = 0;
_dySign = 0;
this._shiftX = 20;
this._shiftY = 25;
_countOfStep = AbstractState.ATTACK_TICKS_COUNT;
}
}
}//package game.model.moved_state
Section 55
//AttackState (game.model.moved_state.AttackState)
package game.model.moved_state {
public class AttackState extends AbstractState {
public function AttackState(){
_dxSign = 0;
_dySign = 0;
_countOfStep = AbstractState.ATTACK_TICKS_COUNT;
}
}
}//package game.model.moved_state
Section 56
//AUpAttackState (game.model.moved_state.AUpAttackState)
package game.model.moved_state {
public class AUpAttackState extends MovedState {
public function AUpAttackState(){
_nameOfState = AbstractState.AUP_ATTACK_STATE;
_dxSign = 0;
_dySign = 0;
}
}
}//package game.model.moved_state
Section 57
//DownAttackState (game.model.moved_state.DownAttackState)
package game.model.moved_state {
public class DownAttackState extends AbstractState {
public function DownAttackState(){
_nameOfState = AbstractState.DOWN_ATTACK_STATE;
_dxSign = 0;
_dySign = 0;
this._shiftX = 0;
this._shiftY = 40;
_countOfStep = AbstractState.ATTACK_TICKS_COUNT;
}
}
}//package game.model.moved_state
Section 58
//IMovedState (game.model.moved_state.IMovedState)
package game.model.moved_state {
import game.model.creatures.*;
public interface IMovedState {
function moveDirectly(_arg1:Creature):void;
function get dxSign():Number;
function get dySign():Number;
function get shiftX():Number;
function get shiftY():Number;
function moveBack(_arg1:Creature):void;
function get countOfStep():Number;
function get nameOfState():String;
}
}//package game.model.moved_state
Section 59
//LeftAttackState (game.model.moved_state.LeftAttackState)
package game.model.moved_state {
public class LeftAttackState extends AttackState {
public function LeftAttackState(){
_nameOfState = AbstractState.LEFT_ATTACK_STATE;
_dxSign = 0;
_dySign = 0;
this._shiftX = -35;
this._shiftY = 20;
_countOfStep = AbstractState.ATTACK_TICKS_COUNT;
}
}
}//package game.model.moved_state
Section 60
//LeftDownAttackState (game.model.moved_state.LeftDownAttackState)
package game.model.moved_state {
public class LeftDownAttackState extends AttackState {
public function LeftDownAttackState(){
_nameOfState = AbstractState.LEFT_DOWN_ATTACK_STATE;
_dxSign = 0;
_dySign = 0;
this._shiftX = -35;
this._shiftY = 50;
_countOfStep = AbstractState.ATTACK_TICKS_COUNT;
}
}
}//package game.model.moved_state
Section 61
//LeftUpAttackState (game.model.moved_state.LeftUpAttackState)
package game.model.moved_state {
public class LeftUpAttackState extends AttackState {
public function LeftUpAttackState(){
_nameOfState = AbstractState.LEFT_UP_ATTACK_STATE;
_dxSign = 0;
_dySign = 0;
this._shiftX = -35;
this._shiftY = 10;
}
}
}//package game.model.moved_state
Section 62
//MoveDownState (game.model.moved_state.MoveDownState)
package game.model.moved_state {
public class MoveDownState extends MovedState {
public function MoveDownState(){
_nameOfState = AbstractState.MOVE_DOWN_STATE;
_dxSign = 0;
_dySign = 1;
}
}
}//package game.model.moved_state
Section 63
//MovedState (game.model.moved_state.MovedState)
package game.model.moved_state {
import game.model.creatures.*;
import game.*;
public class MovedState extends AbstractState {
public function MovedState(){
_countOfStep = 100;
}
override public function moveDirectly(_arg1:Creature):void{
var _local2:*;
var _local3:*;
var _local4:Number;
var _local5:int;
var _local6:int;
_local2 = ((_arg1.cellX * SetParameters.CELLS_SIZE) - _arg1.x);
_local3 = ((_arg1.cellY * SetParameters.CELLS_SIZE) - _arg1.y);
_local4 = Math.atan2(_local3, _local2);
if (AbstractState.isStateMoving(this)){
_local5 = Math.round((Math.cos(_local4) * _arg1.stepValue));
_local6 = Math.round((Math.sin(_local4) * _arg1.stepValue));
} else {
_local5 = Math.round((Math.cos(_local4) * SetParameters.STEP_OF_SHOCK_CREATURE));
_local6 = Math.round((Math.sin(_local4) * SetParameters.STEP_OF_SHOCK_CREATURE));
};
_arg1.x = (_arg1.x + _local5);
_arg1.y = (_arg1.y + _local6);
}
}
}//package game.model.moved_state
Section 64
//MoveLeftDownState (game.model.moved_state.MoveLeftDownState)
package game.model.moved_state {
public class MoveLeftDownState extends MovedState {
public function MoveLeftDownState(){
_nameOfState = AbstractState.MOVE_LEFT_DOWN_STATE;
_dxSign = -1;
_dySign = 1;
}
}
}//package game.model.moved_state
Section 65
//MoveLeftState (game.model.moved_state.MoveLeftState)
package game.model.moved_state {
public class MoveLeftState extends MovedState {
public function MoveLeftState(){
_nameOfState = AbstractState.MOVE_LEFT_STATE;
_dxSign = -1;
_dySign = 0;
}
}
}//package game.model.moved_state
Section 66
//MoveLeftUpState (game.model.moved_state.MoveLeftUpState)
package game.model.moved_state {
public class MoveLeftUpState extends MovedState {
public function MoveLeftUpState(){
_nameOfState = AbstractState.MOVE_LEFT_UP_STATE;
_dxSign = -1;
_dySign = -1;
}
}
}//package game.model.moved_state
Section 67
//MoveRightDownState (game.model.moved_state.MoveRightDownState)
package game.model.moved_state {
public class MoveRightDownState extends MovedState {
public function MoveRightDownState(){
_nameOfState = AbstractState.MOVE_RIGHT_DOWN_STATE;
_dxSign = 1;
_dySign = 1;
this._shiftX = 30;
this._shiftY = 30;
}
}
}//package game.model.moved_state
Section 68
//MoveRightState (game.model.moved_state.MoveRightState)
package game.model.moved_state {
public class MoveRightState extends MovedState {
public function MoveRightState(){
_nameOfState = AbstractState.MOVE_RIGHT_STATE;
_dxSign = 1;
_dySign = 0;
}
}
}//package game.model.moved_state
Section 69
//MoveRightUpState (game.model.moved_state.MoveRightUpState)
package game.model.moved_state {
public class MoveRightUpState extends MovedState {
public function MoveRightUpState(){
_nameOfState = AbstractState.MOVE_RIGHT_UP_STATE;
_dxSign = 1;
_dySign = -1;
}
}
}//package game.model.moved_state
Section 70
//MoveUpState (game.model.moved_state.MoveUpState)
package game.model.moved_state {
public class MoveUpState extends MovedState {
public function MoveUpState(){
_nameOfState = AbstractState.MOVE_UP_STATE;
_dxSign = 0;
_dySign = -1;
}
}
}//package game.model.moved_state
Section 71
//RightAttackState (game.model.moved_state.RightAttackState)
package game.model.moved_state {
public class RightAttackState extends AttackState {
public function RightAttackState(){
_nameOfState = AbstractState.RIGHT_ATTACK_STATE;
_dxSign = 0;
_dySign = 0;
this._shiftX = 35;
this._shiftY = 25;
_countOfStep = AbstractState.ATTACK_TICKS_COUNT;
}
}
}//package game.model.moved_state
Section 72
//RightDownAttackState (game.model.moved_state.RightDownAttackState)
package game.model.moved_state {
public class RightDownAttackState extends AttackState {
public function RightDownAttackState(){
_nameOfState = AbstractState.RIGHT_DOWN_ATTACK_STATE;
_dxSign = 0;
_dySign = 0;
this._shiftX = 35;
this._shiftY = 35;
_countOfStep = AbstractState.ATTACK_TICKS_COUNT;
}
}
}//package game.model.moved_state
Section 73
//RightUpAttackState (game.model.moved_state.RightUpAttackState)
package game.model.moved_state {
public class RightUpAttackState extends AttackState {
public function RightUpAttackState(){
_nameOfState = AbstractState.RIGHT_UP_ATTACK_STATE;
_dxSign = 0;
_dySign = 0;
this._shiftX = 20;
this._shiftY = 25;
_countOfStep = AbstractState.ATTACK_TICKS_COUNT;
}
}
}//package game.model.moved_state
Section 74
//ShockDownState (game.model.moved_state.ShockDownState)
package game.model.moved_state {
public class ShockDownState extends MovedState {
public function ShockDownState(){
_nameOfState = AbstractState.SHOCK_DOWN_STATE;
_dxSign = 0;
_dySign = 1;
_countOfStep = AbstractState.SHOCK_TICKS_COUNT;
}
}
}//package game.model.moved_state
Section 75
//ShockLeftDownState (game.model.moved_state.ShockLeftDownState)
package game.model.moved_state {
public class ShockLeftDownState extends MovedState {
public function ShockLeftDownState(){
_nameOfState = AbstractState.SHOCK_LEFT_DOWN_STATE;
_dxSign = 1;
_dySign = -1;
_countOfStep = AbstractState.SHOCK_TICKS_COUNT;
}
}
}//package game.model.moved_state
Section 76
//ShockLeftState (game.model.moved_state.ShockLeftState)
package game.model.moved_state {
public class ShockLeftState extends MovedState {
public function ShockLeftState(){
_nameOfState = AbstractState.SHOCK_LEFT_STATE;
_dxSign = 1;
_dySign = 0;
_countOfStep = AbstractState.SHOCK_TICKS_COUNT;
}
}
}//package game.model.moved_state
Section 77
//ShockLeftUpState (game.model.moved_state.ShockLeftUpState)
package game.model.moved_state {
public class ShockLeftUpState extends MovedState {
public function ShockLeftUpState(){
_nameOfState = AbstractState.SHOCK_LEFT_UP_STATE;
_dxSign = 1;
_dySign = 1;
_countOfStep = AbstractState.SHOCK_TICKS_COUNT;
}
}
}//package game.model.moved_state
Section 78
//ShockRightDownState (game.model.moved_state.ShockRightDownState)
package game.model.moved_state {
public class ShockRightDownState extends MovedState {
public function ShockRightDownState(){
_nameOfState = AbstractState.SHOCK_RIGHT_DOWN_STATE;
_dxSign = -1;
_dySign = -1;
_countOfStep = AbstractState.SHOCK_TICKS_COUNT;
}
}
}//package game.model.moved_state
Section 79
//ShockRightState (game.model.moved_state.ShockRightState)
package game.model.moved_state {
public class ShockRightState extends MovedState {
public function ShockRightState(){
_nameOfState = AbstractState.SHOCK_RIGHT_STATE;
_dxSign = -1;
_dySign = 0;
_countOfStep = AbstractState.SHOCK_TICKS_COUNT;
}
}
}//package game.model.moved_state
Section 80
//ShockRightUpState (game.model.moved_state.ShockRightUpState)
package game.model.moved_state {
public class ShockRightUpState extends MovedState {
public function ShockRightUpState(){
_nameOfState = AbstractState.SHOCK_RIGHT_UP_STATE;
_dxSign = -1;
_dySign = 1;
_countOfStep = AbstractState.SHOCK_TICKS_COUNT;
}
}
}//package game.model.moved_state
Section 81
//ShockUpState (game.model.moved_state.ShockUpState)
package game.model.moved_state {
public class ShockUpState extends MovedState {
public function ShockUpState(){
_nameOfState = AbstractState.SHOCK_UP_STATE;
_dxSign = 0;
_dySign = -1;
_countOfStep = AbstractState.SHOCK_TICKS_COUNT;
}
}
}//package game.model.moved_state
Section 82
//UpAttackState (game.model.moved_state.UpAttackState)
package game.model.moved_state {
public class UpAttackState extends MovedState {
public function UpAttackState(){
_nameOfState = AbstractState.UP_ATTACK_STATE;
_dxSign = 0;
_dySign = 0;
}
}
}//package game.model.moved_state
Section 83
//WhaitOfTurnState (game.model.moved_state.WhaitOfTurnState)
package game.model.moved_state {
public class WhaitOfTurnState extends AbstractState implements IMovedState {
public function WhaitOfTurnState(){
_countOfStep = 100;
_nameOfState = AbstractState.WHAIT_OF_TURN_STATE;
_dxSign = 0;
_dySign = 0;
}
}
}//package game.model.moved_state
Section 84
//ContainerOfShells (game.model.shells.ContainerOfShells)
package game.model.shells {
import game.controller.*;
import game.model.*;
import game.*;
import de.polygonal.ds.*;
import game.game_events.*;
public class ContainerOfShells extends Container {
private var _arrayOfCells:Array;
private var _player:Player;
public static var REMOVE_SHELL:String = "remove_shell";
public static var ADD_NEW_SHELL_EVENT:String = "add_new_shell";
public function set arrayOfCells(_arg1:Array):void{
this._arrayOfCells = _arg1;
}
public function update():void{
var debugInfo:String;
var iterator:Iterator;
var playerCellX:int;
var playerCellY:int;
var shell:Shell;
var intersect:Boolean;
var distance:Number;
var cellX:int;
var cellY:int;
var signX:Number;
var signY:Number;
var event:GameObjectEvent;
var cellValue:int;
debugInfo = "";
try {
iterator = _elements.getIterator();
playerCellX = Model.countCreatureCellCoord(_player.x);
playerCellY = Model.countCreatureCellCoord(_player.y);
debugInfo = "";
for (;iterator.hasNext();(debugInfo = (debugInfo + "8\n"))) {
debugInfo = (debugInfo + "1\n");
shell = iterator.next();
if (shell != null){
intersect = false;
debugInfo = (debugInfo + "2\n");
shell.update();
debugInfo = (debugInfo + "3\n");
distance = GeometryFunctions.distanceBetweenPoints(shell.x, shell.y, (_player.x + SetParameters.CREATURE_SHELL_SHIFT_X), (_player.y + SetParameters.CREATURE_SHELL_SHIFT_Y));
debugInfo = (debugInfo + "4\n");
debugInfo = (debugInfo + "5\n");
if (distance < SetParameters.CREATURE_SHELL_HIT_RADIUS){
_player.inShockState = true;
signX = (_player.x - shell.x);
signY = (_player.y - shell.y);
_player.shockXSign = (_player.shockXSign + signX);
_player.shockYSign = (_player.shockYSign + signY);
event = new GameObjectEvent(ContainerOfShells.REMOVE_SHELL);
event.hashcode = shell.hashcode;
this.dispatchEvent(event);
_player.playerHealth = (_player.playerHealth - SetParameters.CREATURE_SHELL_DAMAGE);
this._elements.remove(shell.hashcode);
intersect = true;
};
debugInfo = (debugInfo + "6\n");
cellX = Model.countCreatureCellCoord((shell.x - SetParameters.CREATURE_SHELL_SHIFT_X));
cellY = Model.countCreatureCellCoord((shell.y - SetParameters.CREATURE_SHELL_SHIFT_Y));
if (_arrayOfCells[cellY] != null){
cellValue = Controller.instance.model.arrayOfCells[cellY][cellX];
if ((((((cellValue == Model.WALL_CELL_VALUE1)) || ((cellValue == Model.WALL_CELL_VALUE2)))) || ((cellValue == Model.WALL_CELL_VALUE3)))){
event = new GameObjectEvent(ContainerOfShells.REMOVE_SHELL);
this._elements.remove(shell.hashcode);
event.hashcode = shell.hashcode;
this.dispatchEvent(event);
};
};
continue;
};
};
} catch(e:Error) {
};
}
public function set player(_arg1:Player):void{
this._player = _arg1;
}
override public function addToContainer(_arg1:GameObject):void{
var _local2:GameObjectEvent;
_arg1.hashcode = "shell";
super.addToContainer(_arg1);
_local2 = new GameObjectEvent(ContainerOfShells.ADD_NEW_SHELL_EVENT);
_local2.hashcode = _arg1.hashcode;
dispatchEvent(_local2);
}
}
}//package game.model.shells
Section 85
//Shell (game.model.shells.Shell)
package game.model.shells {
import flash.events.*;
import game.model.*;
public class Shell extends GameObject {
private var _numX:Number;// = 0
private var _dx:Number;// = 0
private var _numY:Number;// = 0
private var _dy:Number;// = 0
public static var UPDATE_SHELL:String = "update_shell";
public function Shell(){
_dx = 0;
_dy = 0;
_numX = 0;
_numY = 0;
super();
}
public function get dy():Number{
return (this._dy);
}
public function get dx():Number{
return (this._dx);
}
public function set dx(_arg1:Number):void{
this._dx = _arg1;
}
public function set dy(_arg1:Number):void{
this._dy = _arg1;
}
public function update():void{
this._x = (this._x + _dx);
this._y = (this._y + _dy);
this.dispatchEvent(new Event(Shell.UPDATE_SHELL));
}
}
}//package game.model.shells
Section 86
//ContainerOfTeleports (game.model.teleports.ContainerOfTeleports)
package game.model.teleports {
import game.model.*;
import de.polygonal.ds.*;
import game.game_events.*;
public class ContainerOfTeleports extends Container {
private var _countOfFutureCreatures:int;// = 10000
public static var ADD_NEW_TELEPORT_EVENT:String = "add_new_teleport";
public function ContainerOfTeleports(){
_countOfFutureCreatures = 10000;
super();
}
public function initNewLevel():void{
_countOfFutureCreatures = 10000;
}
public function update():void{
var _local1:Iterator;
var _local2:int;
var _local3:Teleport;
_local1 = this._elements.getIterator();
_local2 = 0;
while (_local1.hasNext()) {
_local3 = _local1.next();
if (_local3 != null){
_local3.update();
_local2 = (_local2 + _local3.arrayOfCreatures.length);
};
};
_countOfFutureCreatures = _local2;
}
override public function addToContainer(_arg1:GameObject):void{
var _local2:GameObjectEvent;
_arg1.hashcode = "teleport";
super.addToContainer(_arg1);
_local2 = new GameObjectEvent(ContainerOfTeleports.ADD_NEW_TELEPORT_EVENT);
_local2.hashcode = _arg1.hashcode;
dispatchEvent(_local2);
}
public function get countOfFutureCreatures():int{
return (this._countOfFutureCreatures);
}
}
}//package game.model.teleports
Section 87
//Teleport (game.model.teleports.Teleport)
package game.model.teleports {
import flash.events.*;
import game.controller.*;
import game.model.*;
import game.*;
import de.polygonal.ds.*;
import game.cell_algoritms.*;
public class Teleport extends GameObject {
private var tmpTicks:int;
private var _arrayOfCreatures:Array;
private var _ticksForNewCreature:int;
public static var ADD_CREATURE_EVENT:String = "add_creature_event";
public static var START_SPLASH_EVENT:String = "start_splash_event";
public function Teleport(){
_ticksForNewCreature = SetParameters.WHAIT_CREATURES_QUEUE_TIME;
tmpTicks = SetParameters.WHAIT_CREATURES_QUEUE_TIME;
super();
_arrayOfCreatures = new Array();
}
public function get ticksForNewCreature():int{
return (this._ticksForNewCreature);
}
private function canAddCreature():Boolean{
var arrayOfCells:Array;
var cell:*;
var hash:HashMap;
if (Controller.instance.model.creatures.size >= LevelsContent.MAX_NUM_CREATURES_PER_LEVEL[Controller.instance.model.numOfCurrentLevel]){
return (false);
};
arrayOfCells = CellAlgoritm.foundCellsAboutIt(this.x, this.y);
for each (cell in arrayOfCells) {
try {
hash = ContainerOfBotsPointer.instance.arrayOfPointers[cell.y][cell.x];
if (((!((hash == null))) && ((hash.size > 0)))){
return (false);
};
} catch(e:Error) {
};
};
return (true);
}
public function dispatchSplashEvent():void{
this.dispatchEvent(new Event(Teleport.ADD_CREATURE_EVENT));
}
public function set ticksForNewCreature(_arg1:int):void{
this._ticksForNewCreature = _arg1;
tmpTicks = _arg1;
}
public function set arrayOfCreatures(_arg1:Array):void{
this._arrayOfCreatures = _arg1;
}
public function update():void{
var typeOfCreature:String;
try {
if (_arrayOfCreatures.length > 0){
if (tmpTicks == 30){
} else {
if (tmpTicks <= 0){
if (canAddCreature()){
tmpTicks = _ticksForNewCreature;
typeOfCreature = _arrayOfCreatures.pop();
Controller.instance.addCreature(typeOfCreature, x, y);
dispatchEvent(new Event(Teleport.START_SPLASH_EVENT));
};
};
};
tmpTicks--;
};
} catch(e:Error) {
};
}
public function get arrayOfCreatures():Array{
return (this._arrayOfCreatures);
}
}
}//package game.model.teleports
Section 88
//Container (game.model.Container)
package game.model {
import flash.events.*;
import de.polygonal.ds.*;
public class Container extends EventDispatcher {
protected var _elements:HashMap;
private var amountOfElements:int;// = 0
public function Container(){
amountOfElements = 0;
super();
_elements = new HashMap();
}
public function get elementsIterator():Iterator{
return (_elements.getIterator());
}
public function get size():int{
return (_elements.size);
}
public function clear():void{
this._elements.clear();
}
public function removeElement(_arg1:GameObject):void{
_elements.remove(_arg1.hashcode);
}
public function get arrayOfCreatures():Array{
return (_elements.toArray());
}
public function addToContainer(_arg1:GameObject):void{
_arg1.hashcode = (_arg1.hashcode + amountOfElements);
_elements.insert(_arg1.hashcode, _arg1);
amountOfElements++;
}
public function getObject(_arg1:String){
return (_elements.find(_arg1));
}
}
}//package game.model
Section 89
//GameObject (game.model.GameObject)
package game.model {
import flash.events.*;
public class GameObject extends EventDispatcher implements IGameObject {
protected var _container:Container;
protected var _x:Number;
protected var _oldDirectionName:String;
protected var _directionName:String;
protected var _hashcode:String;
protected var _oldX:int;
protected var _oldY:int;
protected var _y:Number;
public static var RIGHT_DOWN_DIRECTION:String = "right_down_direction";
public static var LEFT_DIRECTION:String = "left_direction";
public static var DOWN_DIRECTION:String = "down_direction";
public static var LEFT_UP_DIRECTION:String = "left_up_direction";
public static var LEFT_DOWN_DIRECTION:String = "left_down_direction";
public static var UP_DIRECTION:String = "up_direction";
public static var RIGHT_DIRECTION:String = "right_direction";
public static var RIGHT_UP_DIRECTION:String = "right_up_direction";
public function GameObject(){
_directionName = GameObject.UP_DIRECTION;
_oldDirectionName = GameObject.UP_DIRECTION;
super();
}
public function get container():Container{
return (_container);
}
public function set container(_arg1:Container):void{
this._container = _arg1;
}
public function get oldY():int{
return (this._oldY);
}
public function get oldX():int{
return (this._oldX);
}
public function set oldX(_arg1:int):void{
this._oldX = _arg1;
}
public function set oldY(_arg1:int):void{
this._oldY = _arg1;
}
public function get directionName():String{
return (this._directionName);
}
public function set directionName(_arg1:String):void{
this._directionName = _arg1;
}
public function set y(_arg1:Number):void{
this._y = _arg1;
}
public function set hashcode(_arg1:String):void{
this._hashcode = _arg1;
}
public function set x(_arg1:Number):void{
this._x = _arg1;
}
public function get x():Number{
return (_x);
}
public function get y():Number{
return (_y);
}
public function get hashcode():String{
return (this._hashcode);
}
}
}//package game.model
Section 90
//IGameObject (game.model.IGameObject)
package game.model {
public interface IGameObject {
function set container(_arg1:Container):void;
function get container():Container;
function set x(_arg1:Number):void;
function set y(_arg1:Number):void;
function set hashcode(_arg1:String):void;
function get x():Number;
function get y():Number;
function get hashcode():String;
}
}//package game.model
Section 91
//IHitedObject (game.model.IHitedObject)
package game.model {
public interface IHitedObject extends IGameObject {
function addDestroy(_arg1:int):void;
function set shooterY(_arg1:int):void;
function set shooterX(_arg1:int):void;
}
}//package game.model
Section 92
//Model (game.model.Model)
package game.model {
import flash.events.*;
import game.model.creatures.*;
import game.controller.*;
import game.*;
import game.model.moved_state.*;
import de.polygonal.ds.*;
import game.engine.*;
import game.cell_algoritms.*;
import game.model.shells.*;
import game.model.teleports.*;
import game.model.mortar.*;
import flash.utils.*;
import game.model.cartridges.*;
public class Model extends EventDispatcher {
public var _player:Player;
private var _arrayOfCells:Array;
private var _creatures:ContainerOfCreatures;
private var _containerOfShells:ContainerOfShells;
private var _containerOfCartriges:ContainerOfCartiriges;
private var _mortarContainer:MortarContainer;
private var _containerOfTeleports:ContainerOfTeleports;
private var _numOfCurrentLevel:int;// = -1
private var _currentLevelHeight:int;
private var _bossHaveBinAdded:Boolean;// = false
private var _needToIncLevel:Boolean;// = false
public var collide:Collide;
private var _amountOfAditionalScores:int;// = 0
private var _currentLevelWidth:int;
public static var MODEL_CREATE_NEW_LEVEL_COMPLETE:String = "model_create_new_level_complete";
public static var START_SHOOT:String = "start_shoot";
public static var WALL_CELL_VALUE1:int = 11;
public static var WALL_CELL_VALUE2:int = 12;
public static var WALL_CELL_VALUE3:int = 13;
public static var START_NEW_LEVEL_CREATION_EVENT:String = "start_new_level_creation_event";
public static var TELEPORT_1:int = 14;
public static var FREE_CELL_VALUE:int = 0;
public static var UPDATE_GAME:String = "update_game";
public static var EXPLOSION_EVENT:String = "explosion_event";
public static var CREATURE_CELL_VALUE:int = 10;
public static var END_SHOOT:String = "end_shoot";
public function Model(){
_player = new Player();
_mortarContainer = new MortarContainer();
_numOfCurrentLevel = -1;
_bossHaveBinAdded = false;
_amountOfAditionalScores = 0;
_needToIncLevel = false;
super();
collide = Collide.instance;
try {
_containerOfCartriges = new ContainerOfCartiriges();
_containerOfCartriges.player = this._player;
_arrayOfCells = new Array();
_creatures = new ContainerOfCreatures();
_containerOfTeleports = new ContainerOfTeleports();
_containerOfShells = new ContainerOfShells();
_containerOfShells.player = this._player;
_containerOfShells.arrayOfCells = this._arrayOfCells;
_player.gun.mortarContainer = this._mortarContainer;
ChangeBotsState.instance.model = this;
ContainerOfBotsPointer.instance.model = this;
this._mortarContainer.model = this;
Controller.instance.model = this;
} catch(e:Error) {
};
}
public function get currentLevelWidth():int{
return (this._currentLevelWidth);
}
public function get mortarContainer():MortarContainer{
return (this._mortarContainer);
}
public function fillCell(_arg1:int, _arg2:int):void{
if (((((!((this._arrayOfCells[_arg2][_arg1] == Model.WALL_CELL_VALUE1))) && (!((this._arrayOfCells[_arg2][_arg1] == Model.WALL_CELL_VALUE2))))) && (!((this._arrayOfCells[_arg2][_arg1] == Model.WALL_CELL_VALUE3))))){
this._arrayOfCells[_arg2][_arg1] = Model.CREATURE_CELL_VALUE;
};
}
public function creatureIntersectWithWalls(_arg1:int, _arg2:int, _arg3:int):Boolean{
var i:Number;
var tmpX:Number;
var tmpY:Number;
var numX:Number;
var numY:Number;
var theX = _arg1;
var theY = _arg2;
var diameter = _arg3;
try {
i = 0;
while (i < SetParameters.PARTS_IN_CIRCLE) {
tmpX = (theX + ((diameter / 2) * Math.cos((((2 * i) * Math.PI) / SetParameters.PARTS_IN_CIRCLE))));
tmpY = (theY + ((diameter / 2) * Math.sin((((2 * i) * Math.PI) / SetParameters.PARTS_IN_CIRCLE))));
numX = Math.round((tmpX / SetParameters.CELLS_SIZE));
numY = Math.round((tmpY / SetParameters.CELLS_SIZE));
if (numX < 0){
numX = 0;
} else {
if (numX > (SetParameters.GAME_WIDTH - 1)){
numX = (SetParameters.GAME_WIDTH - 1);
};
};
if (numY < 0){
numY = 0;
} else {
if (numY > (SetParameters.GAME_HEIGHT - 1)){
numY = (SetParameters.GAME_HEIGHT - 1);
};
};
if ((((((this._arrayOfCells[numY][numX] == Model.WALL_CELL_VALUE1)) || ((this._arrayOfCells[numY][numX] == Model.WALL_CELL_VALUE2)))) || ((this._arrayOfCells[numY][numX] == Model.WALL_CELL_VALUE3)))){
return (true);
};
i = (i + 1);
};
return (false);
} catch(e:Error) {
};
return (false);
}
public function get currentLevelHeight():int{
return (this._currentLevelHeight);
}
public function get creatures():ContainerOfCreatures{
return (_creatures);
}
public function get amountOfAditionalScores():int{
return (this._amountOfAditionalScores);
}
public function get containerOfShells():ContainerOfShells{
return (this._containerOfShells);
}
public function cellIsWall(_arg1:int, _arg2:int):Boolean{
var _local3:int;
if (((checkCorrectCellX(_arg1)) && (checkCorrectCellY(_arg2)))){
_local3 = this.arrayOfCells[_arg2][_arg1];
if ((((((_local3 == Model.WALL_CELL_VALUE1)) || ((_local3 == Model.WALL_CELL_VALUE2)))) || ((_local3 == Model.WALL_CELL_VALUE3)))){
return (true);
};
};
return (false);
}
public function canSeeFromOneToAnother(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Boolean{
var distance:Number;
var cellX1:int;
var cellY1:int;
var cellX2:int;
var cellY2:int;
var tmpX:Number;
var tmpY:Number;
var angle:Number;
var deltaX:Number;
var deltaY:Number;
var tmpCellX:int;
var tmpCellY:int;
var x1 = _arg1;
var y1 = _arg2;
var x2 = _arg3;
var y2 = _arg4;
try {
distance = GeometryFunctions.distanceBetweenPoints(x1, y1, x2, y2);
cellX1 = Model.countCreatureCellCoord(x1);
cellY1 = Model.countCreatureCellCoord(y1);
cellX2 = Model.countCreatureCellCoord(x2);
cellY2 = Model.countCreatureCellCoord(y2);
tmpX = x1;
tmpY = y1;
angle = Math.atan2((y2 - y1), (x2 - x1));
deltaX = ((SetParameters.CELLS_SIZE * Math.cos(angle)) / 10);
deltaY = ((SetParameters.CELLS_SIZE * Math.sin(angle)) / 10);
while ((((Math.abs((tmpX - x2)) > Math.abs(deltaX))) || ((Math.abs((tmpY - y2)) > Math.abs(deltaY))))) {
tmpCellX = Model.countCreatureCellCoord(tmpX);
tmpCellY = Model.countCreatureCellCoord(tmpY);
if (((((!((cellX1 == tmpCellX))) || (!((cellY1 == tmpCellY))))) && (!((this._arrayOfCells[tmpCellY][tmpCellX] == Model.FREE_CELL_VALUE))))){
return (false);
};
tmpX = (tmpX + deltaX);
tmpY = (tmpY + deltaY);
};
} catch(e:Error) {
return (false);
};
return (true);
}
public function get arrayOfCells():Array{
return (_arrayOfCells);
}
public function checkCorrectCellX(_arg1:int):Boolean{
if ((((_arg1 >= 0)) && ((_arg1 < this._currentLevelWidth)))){
return (true);
};
return (false);
}
public function checkCorrectCellY(_arg1:int):Boolean{
if ((((_arg1 >= 0)) && ((_arg1 < this._currentLevelHeight)))){
return (true);
};
return (false);
}
public function get numOfCurrentLevel():int{
return (this._numOfCurrentLevel);
}
public function get containerOfShellsIterator():Iterator{
return (this._containerOfShells.elementsIterator);
}
public function set currentLevelHeight(_arg1:int):void{
this._currentLevelHeight = _arg1;
}
public function playerIntersectWithWalls(_arg1:int, _arg2:int):Boolean{
var debugInfo:String;
var i:Number;
var tmpX:Number;
var tmpY:Number;
var numX:Number;
var numY:Number;
var theX = _arg1;
var theY = _arg2;
debugInfo = "";
try {
i = 0;
while (i < SetParameters.PARTS_IN_CIRCLE) {
debugInfo = "\n1";
tmpX = (theX + (SetParameters.PLAYER_A * Math.cos((((2 * i) * Math.PI) / SetParameters.PARTS_IN_CIRCLE))));
tmpY = (theY + (SetParameters.PLAYER_B * Math.sin((((2 * i) * Math.PI) / SetParameters.PARTS_IN_CIRCLE))));
debugInfo = (debugInfo + "\n2");
numX = Math.round((tmpX / SetParameters.CELLS_SIZE));
numY = Math.round((tmpY / SetParameters.CELLS_SIZE));
debugInfo = (debugInfo + "\n3");
if (numX < 0){
numX = 0;
} else {
if (numX > (this.currentLevelWidth - 1)){
numX = (currentLevelWidth - 1);
};
};
debugInfo = (debugInfo + "\n4");
if (numY < 0){
numY = 0;
} else {
if (numY > (this.currentLevelHeight - 1)){
numY = (currentLevelHeight - 1);
};
};
debugInfo = (debugInfo + "\n5");
if ((((((this._arrayOfCells[numY][numX] == Model.WALL_CELL_VALUE1)) || ((this._arrayOfCells[numY][numX] == Model.WALL_CELL_VALUE2)))) || ((this._arrayOfCells[numY][numX] == Model.WALL_CELL_VALUE3)))){
return (true);
};
debugInfo = (debugInfo + "\n6");
i = (i + 1);
};
} catch(e:Error) {
};
return (false);
}
public function set amountOfAditionalScores(_arg1:int):void{
this._amountOfAditionalScores = _arg1;
}
public function set needToIncLevel(_arg1:Boolean):void{
this._needToIncLevel = _arg1;
}
public function checkNeedNewLevel():void{
if (((((this.creatures.size + this._containerOfTeleports.countOfFutureCreatures) <= 0)) && (!((this.numOfCurrentLevel == SetParameters.BOSS_NUM_OF_LEVEL))))){
Controller.instance.main.addToLevelTime();
Controller.instance.main.addLevelScores();
this.needToIncLevel = true;
startNewLevelCreation();
};
}
public function setWallsMeshs():void{
var arrayOfLevel:Array;
var dictionaryOfTeleports:Dictionary;
var dictionaryOfCartriges:Dictionary;
var playerCoordsObject:Object;
var debugInfo:String;
var i:int;
var arrayWithCell:Array;
var objectY:int;
var objectX:int;
var debugInfo1:String;
var teleport:Teleport;
var hascodeVal:int;
var hashcode:String;
var tmpArrayOfCreatures:Array;
var newArray:Array;
var tmpTicks:int;
var cartrige:Cartrige;
var x:int;
var y:int;
var name:String;
var hashVal:int;
var cartrigeObj:Object;
try {
arrayOfLevel = LevelsContent.ARRAY_OF_FIRST_LEVEL[_numOfCurrentLevel][0];
_containerOfTeleports.initNewLevel();
dictionaryOfTeleports = LevelsContent.ARRAY_OF_FIRST_LEVEL[_numOfCurrentLevel][1];
dictionaryOfCartriges = LevelsContent.ARRAY_OF_FIRST_LEVEL[_numOfCurrentLevel][2];
playerCoordsObject = LevelsContent.ARRAY_OF_FIRST_LEVEL[_numOfCurrentLevel][3];
debugInfo = "";
i = 0;
while (i < arrayOfLevel.length) {
arrayWithCell = arrayOfLevel[i];
objectY = (arrayWithCell[1] as int);
objectX = (arrayWithCell[0] as int);
if (arrayWithCell[2] == "s1"){
_arrayOfCells[arrayWithCell[1]][arrayWithCell[0]] = Model.WALL_CELL_VALUE1;
} else {
if (arrayWithCell[2] == "s2"){
_arrayOfCells[arrayWithCell[1]][arrayWithCell[0]] = Model.WALL_CELL_VALUE2;
} else {
if (arrayWithCell[2] == "s3"){
_arrayOfCells[arrayWithCell[1]][arrayWithCell[0]] = Model.WALL_CELL_VALUE3;
} else {
if ((arrayWithCell[2] == "tel1")){
debugInfo1 = "";
try {
debugInfo1 = (debugInfo1 + "\n teleport 1");
_arrayOfCells[arrayWithCell[1]][arrayWithCell[0]] = Model.TELEPORT_1;
debugInfo1 = (debugInfo1 + "\n teleport 2");
teleport = new Teleport();
debugInfo1 = (debugInfo1 + "\n teleport 3");
teleport.x = arrayWithCell[0];
debugInfo1 = (debugInfo1 + "\n teleport 4");
teleport.y = arrayWithCell[1];
debugInfo1 = (debugInfo1 + "\n teleport 5");
hascodeVal = ((objectY * this._currentLevelWidth) + objectX);
debugInfo1 = (debugInfo1 + "\n teleport 6");
hashcode = ("tel1_" + hascodeVal);
debugInfo1 = (debugInfo1 + "\n teleport 7");
tmpArrayOfCreatures = (dictionaryOfTeleports[hashcode].creatures as Array);
newArray = new Array();
teleport.arrayOfCreatures = newArray.concat(tmpArrayOfCreatures);
debugInfo1 = (debugInfo1 + "\n teleport 8");
tmpTicks = dictionaryOfTeleports[hashcode].intervalBetweenCreatures;
teleport.ticksForNewCreature = tmpTicks;
debugInfo1 = (debugInfo1 + "\n teleport 9");
this._containerOfTeleports.addToContainer(teleport);
debugInfo1 = (debugInfo1 + "\n teleport 10");
} catch(e1:Error) {
};
} else {
if (Cartrige.isElementCartrige(arrayWithCell[2])){
try {
debugInfo1 = (debugInfo1 + "\n ammo 1");
cartrige = new Cartrige();
debugInfo1 = (debugInfo1 + "\n ammo 2");
x = arrayWithCell[0];
debugInfo1 = (debugInfo1 + "\n ammo 3");
y = arrayWithCell[1];
debugInfo1 = (debugInfo1 + "\n ammo 4");
name = arrayWithCell[2];
debugInfo1 = (debugInfo1 + "\n ammo 5");
hashVal = ((y * _currentLevelWidth) + x);
debugInfo1 = (debugInfo1 + "\n ammo 6");
hashcode = ((("" + name) + "_") + hashVal);
debugInfo1 = (debugInfo1 + "\n ammo 7");
cartrigeObj = dictionaryOfCartriges[hashcode];
debugInfo1 = (debugInfo1 + "\n ammo 8");
this._containerOfCartriges.addCartrige(arrayWithCell[0], arrayWithCell[1], arrayWithCell[2], cartrigeObj.amountOfPoints, cartrigeObj.amountOfAppears, cartrigeObj.ticksBetweenAppears);
} catch(e2:Error) {
};
};
};
};
};
};
i = (i + 1);
};
} catch(e:Error) {
};
}
public function startNewLevelCreation():void{
this.dispatchEvent(new Event(Model.START_NEW_LEVEL_CREATION_EVENT));
}
public function clearContainers():void{
this.containerOfShells.clear();
this.containerOfTeleports.clear();
this._containerOfCartriges.clear();
this._creatures.clear();
}
public function update():void{
checkNeedNewLevel();
_containerOfCartriges.update();
creatures.processCreatures();
player.update();
processOfCreaturesNextMoving();
_containerOfTeleports.update();
collide.collideWithPlayer(this._creatures.arrayOfCreatures, _player);
_containerOfShells.update();
this._mortarContainer.update();
dispatchEvent(new Event(Model.UPDATE_GAME));
}
public function get bossHaveBinAdded():Boolean{
return (this._bossHaveBinAdded);
}
private function processOfCreaturesNextMoving():void{
var _local1:Creature;
var _local2:FillingAlgoritm;
if (ChangeBotsState.instance.queueOfNeedDirection.size != 0){
_local1 = ChangeBotsState.instance.queueOfNeedDirection.dequeue();
_local2 = new FillingAlgoritm(_arrayOfCells, Model.countCreatureCellCoord(_player.x), Model.countCreatureCellCoord(_player.y), _local1.cellX, _local1.cellY);
ChangeBotsState.instance.setNewDirection(_local1);
if (_local1.state.nameOfState == AbstractState.WHAIT_OF_TURN_STATE){
ChangeBotsState.instance.queueOfNeedDirection.enqueue(_local1);
};
};
}
public function get containerOfTeleports():ContainerOfTeleports{
return (this._containerOfTeleports);
}
public function foundWallSells(_arg1:int, _arg2:int):Array{
var debugInfo:String;
var cellsArray:Array;
var i:Number;
var dx:int;
var dy:int;
var newX:int;
var newY:int;
var cellX = _arg1;
var cellY = _arg2;
debugInfo = "";
try {
debugInfo = (debugInfo + "\n1");
cellsArray = new Array();
debugInfo = (debugInfo + "\n2");
i = 0;
while (i < 8) {
debugInfo = (debugInfo + ("\n3.1." + i));
dx = Math.ceil(Math.cos(((Math.PI / 4) * i)));
dy = Math.ceil(Math.sin(((Math.PI / 4) * i)));
debugInfo = (debugInfo + ("\n3.2." + i));
newX = (cellX + dx);
newY = (cellY + dy);
debugInfo = (debugInfo + ("\n3.3." + i));
if ((((((((((newX >= 0)) && ((newX < _arrayOfCells[0].length)))) && ((newY >= 0)))) && ((newY < _arrayOfCells.length)))) && ((((((_arrayOfCells[newY][newX] == Model.WALL_CELL_VALUE1)) || ((_arrayOfCells[newY][newX] == Model.WALL_CELL_VALUE2)))) || ((_arrayOfCells[newY][newX] == Model.WALL_CELL_VALUE3)))))){
cellsArray.push({x:newX, y:newY});
};
debugInfo = (debugInfo + ("\n3.4." + i));
i = (i + 1);
};
debugInfo = (debugInfo + "\n4");
if ((((((((((cellX >= 0)) && ((cellX < _arrayOfCells[0].length)))) && ((cellY >= 0)))) && ((cellY < _arrayOfCells.length)))) && ((((((_arrayOfCells[cellY][cellX] == Model.WALL_CELL_VALUE1)) || ((_arrayOfCells[cellY][cellX] == Model.WALL_CELL_VALUE2)))) || ((_arrayOfCells[cellY][cellX] == Model.WALL_CELL_VALUE3)))))){
cellsArray.push({x:cellX, y:cellY});
};
debugInfo = (debugInfo + "\n5");
return (cellsArray);
} catch(e:Error) {
};
return ([]);
}
public function clearCell(_arg1:int, _arg2:int):void{
if (((((!((this._arrayOfCells[_arg2][_arg1] == Model.WALL_CELL_VALUE1))) && (!((this._arrayOfCells[_arg2][_arg1] == Model.WALL_CELL_VALUE2))))) && (!((this._arrayOfCells[_arg2][_arg1] == Model.WALL_CELL_VALUE3))))){
this._arrayOfCells[_arg2][_arg1] = Model.FREE_CELL_VALUE;
};
}
public function set numOfCurrentLevel(_arg1:int):void{
this._numOfCurrentLevel = _arg1;
}
public function get containerOfCartrigesIterator():Iterator{
return (this._containerOfCartriges.elementsIterator);
}
public function isOnTheEndOfGameX(_arg1:Number):Boolean{
if ((((_arg1 < (SetParameters.PLAYER_DIAMETER / 2))) || ((_arg1 > ((SetParameters.GAME_WIDTH * SetParameters.CELLS_SIZE) - (SetParameters.PLAYER_DIAMETER / 2)))))){
return (true);
};
return (false);
}
public function isOnTheEndOfGameY(_arg1:Number):Boolean{
if ((((_arg1 < (SetParameters.PLAYER_DIAMETER / 2))) || ((_arg1 > ((SetParameters.GAME_HEIGHT * SetParameters.CELLS_SIZE) - (SetParameters.PLAYER_DIAMETER / 2)))))){
return (true);
};
return (false);
}
public function createNewLevel():void{
var _local1:Date;
var _local2:Object;
if (this._needToIncLevel){
_numOfCurrentLevel++;
_needToIncLevel = false;
};
_local1 = new Date();
this.clearContainers();
this._currentLevelHeight = LevelsContent.ARRAY_OF_FIRST_LEVEL[_numOfCurrentLevel][4].levelHeigth;
this._currentLevelWidth = LevelsContent.ARRAY_OF_FIRST_LEVEL[_numOfCurrentLevel][4].levelWidth;
_local2 = LevelsContent.ARRAY_OF_FIRST_LEVEL[_numOfCurrentLevel][3];
this._player.x = (_local2.x * SetParameters.CELLS_SIZE);
this._player.y = (_local2.y * SetParameters.CELLS_SIZE);
this._player.playerHealth = SetParameters.PLAYER_DEFAULT_HEALTH;
Controller.instance.initPlayer();
initArrayOfMesh();
setWallsMeshs();
AStarAlgoritm.instance.arrayOfCells = this._arrayOfCells;
ContainerOfBotsPointer.instance.levelWidth = this._currentLevelWidth;
ContainerOfBotsPointer.instance.levelHeight = this._currentLevelHeight;
ContainerOfBotsPointer.instance.initArrayOfCells();
_containerOfShells.player = _player;
_containerOfShells.arrayOfCells = this._arrayOfCells;
this.amountOfAditionalScores = 0;
this.dispatchEvent(new Event(Model.MODEL_CREATE_NEW_LEVEL_COMPLETE));
}
public function get player():Player{
return (_player);
}
public function initArrayOfMesh():void{
var _local1:Number;
var _local2:Array;
var _local3:Number;
_arrayOfCells = new Array();
_local1 = 0;
while (_local1 < this._currentLevelHeight) {
_local2 = new Array();
_local3 = 0;
while (_local3 < this._currentLevelWidth) {
_local2.push(Model.FREE_CELL_VALUE);
_local3++;
};
_arrayOfCells.push(_local2);
_local1++;
};
}
public function set bossHaveBinAdded(_arg1:Boolean):void{
this._bossHaveBinAdded = _arg1;
}
public function set currentLevelWidth(_arg1:int):void{
this._currentLevelWidth = _arg1;
}
public static function countCreatureCellCoord(_arg1:int):int{
return (Math.round((_arg1 / SetParameters.CELLS_SIZE)));
}
}
}//package game.model
Section 93
//Player (game.model.Player)
package game.model {
import flash.events.*;
import game.controller.*;
import game.*;
import game.math.*;
import game.engine.*;
import game.weapon.*;
import flash.utils.*;
import game.player_mortar_info.*;
import game.game_events.*;
public class Player extends GameObject {
private var _moveNow:Boolean;// = false
private var _processAddLen:Boolean;// = false
private var _collide:Collide;
private var _shockYSign:Number;// = 0
private var _playerShockCounter:int;// = 0
private var _changeMortarCounter:int;// = 0
private var _dx:int;
private var _dy:int;
private var _keyUP:Boolean;// = false
private var _playerAlpha:Number;
private var _keyDOWN:Boolean;// = false
private var _lenOfShoot:int;// = 500
private var _notIntersectY:int;// = 0
private var _wallPolygon:Polygon;
public var PLAYER_VECTOR_POSITION:Vector;
private var _keyRIGHT:Boolean;// = false
private var _shockSpeed:Number;// = 0
private var _notIntersectX:int;// = 0
private var _addCreaturesDY:int;
private var _addCreaturesDX:int;
private var _shockXSign:Number;// = 0
private var _percentsOfCharging:Number;// = 1
private var _playerHealth:int;
private var _lenOfMortarShoot:int;// = 0
private var _needToCheckMoving:Boolean;// = true
private var _amountOfCartriges:Dictionary;
private var _gun:Gun;
private var _wallVectorPosition:Vector;
private var _keyLEFT:Boolean;// = false
private var _oldCellX:int;// = 0
private var _oldCellY:int;// = 0
private var _shockState:Number;// = 0
public var PLAYER_POLYGON:Polygon;
private var _keyFIRE:Boolean;// = false
private var _inShockState:Boolean;// = false
public static const CHARGE_WEAPON_EVENT:String = "charge_weapon_event";
public static const UNSELECT_MORTAR:String = "unselect_mortar";
public static const GET_CARTRIGE_EVENT:String = "player_pick_up_cartrige";
public static const PLAYER_STOP_EVENT:String = "player_stop_event";
public static const CHANGE_LEN_OF_MORTAR_SHOOT:String = "change_len_of_mortar_shoot";
public static const PLAYER_CHANGE_WEAPON_EVENT:String = "player_change_weapon_event";
public static const PLAYER_CHANGE_DIRECTION_EVENT:String = "player_change_direction_event";
public static const PLAYER_MOVE_EVENT:String = "player_move_event";
public static const PLAYER_IN_SHOCK_STATE:String = "player_in_shock_state";
public static const SELECT_MORTAR:String = "select_mortar";
public static var SHIFT_SHELL_X:int = 20;
public static var SHIFT_SHELL_Y:int = -70;
public static var UPDATE_PLAYER:String = "update_player";
public function Player(){
var _local1:Array;
var _local2:Number;
var _local3:Array;
_processAddLen = false;
_keyUP = false;
_keyDOWN = false;
_keyLEFT = false;
_keyRIGHT = false;
_keyFIRE = false;
_needToCheckMoving = true;
_moveNow = false;
_oldCellX = 0;
_oldCellY = 0;
_amountOfCartriges = new Dictionary();
_lenOfShoot = SetParameters.GUN_LEN_OF_HIT;
_lenOfMortarShoot = 0;
_changeMortarCounter = 0;
_inShockState = false;
_playerShockCounter = 0;
_playerHealth = SetParameters.PLAYER_DEFAULT_HEALTH;
_shockState = 0;
_shockXSign = 0;
_shockYSign = 0;
_shockSpeed = 0;
_notIntersectX = 0;
_notIntersectY = 0;
_percentsOfCharging = 1;
super();
_x = SetParameters.PLAYER_START_X;
_y = SetParameters.PLAYER_START_Y;
_gun = new Gun();
_gun.player = this;
PLAYER_VECTOR_POSITION = new Vector(x, y);
_local1 = [new Vector(0, 13), new Vector(13, 0), new Vector(32, 0), new Vector(45, 13), new Vector(45, 13), new Vector(32, 45), new Vector(32, 45), new Vector(0, 32)];
_local2 = Math.sqrt(2);
_local3 = [new Vector(0, 0), new Vector(SetParameters.CELLS_SIZE, 0), new Vector(SetParameters.CELLS_SIZE, SetParameters.CELLS_SIZE), new Vector(0, SetParameters.CELLS_SIZE)];
PLAYER_POLYGON = new Polygon("name", PLAYER_VECTOR_POSITION, _local1, 0);
_wallVectorPosition = new Vector(0, 0);
_wallPolygon = new Polygon("wall", _wallVectorPosition, _local3, 0);
_collide = Collide.instance;
initAmountOfCartriges();
}
public function playerWallCollideDelta(_arg1:Vector, _arg2:Number):Object{
var _local3:Vector;
var _local4:*;
var _local5:*;
_local3 = new Vector((_arg1.x * _arg2), (_arg1.y * _arg2));
_local3.scale(0.5);
_local4 = _local3.x;
_local5 = _local3.y;
return ({dx:_local3.x, dy:_local3.y});
}
public function set processAddLen(_arg1:Boolean):void{
this._processAddLen = _arg1;
}
public function get inShockState():Boolean{
return (this._inShockState);
}
public function dispatchChangeLenOfMortarShoot(_arg1:int):void{
var _local2:ChangeLenOfMortarShoot;
_local2 = new ChangeLenOfMortarShoot(Player.CHANGE_LEN_OF_MORTAR_SHOOT);
_local2.currentLenOfMortarShoot = _arg1;
this.dispatchEvent(_local2);
}
public function pickUpCell(_arg1:int):void{
this._amountOfCartriges[Gun.BLASTER] = (this._amountOfCartriges[Gun.BLASTER] + _arg1);
this._amountOfCartriges[Gun.BLASTER] = Math.min(this._amountOfCartriges[Gun.BLASTER], SetParameters.MAX_AMOUNT_OF_LAZER_CARTRIGES);
Controller.instance.main.playerInfo.gun4 = this._amountOfCartriges[Gun.BLASTER];
this.dispatchEvent(new Event(Player.GET_CARTRIGE_EVENT));
}
public function get lenOfMortarShoot():int{
return (this._lenOfMortarShoot);
}
public function set currentGun(_arg1:String):void{
this.gun.currentGunName = _arg1;
if (this.gun.currentGunName == Gun.ROCKET){
this.dispatchEvent(new Event(Player.SELECT_MORTAR));
} else {
this.dispatchEvent(new Event(Player.UNSELECT_MORTAR));
};
}
public function set keyRIGHT(_arg1:Boolean):void{
_keyRIGHT = _arg1;
}
public function set dx(_arg1:int):void{
this._dx = _arg1;
}
public function discreaseCartriges():void{
if (gun.currentGunName != Gun.GUN){
if (this._amountOfCartriges[gun.currentGunName] > 0){
var _local1 = this._amountOfCartriges;
var _local2 = gun.currentGunName;
var _local3 = (_local1[_local2] - 1);
_local1[_local2] = _local3;
};
switch (gun.currentGunName){
case Gun.SUBMACHINE_GUN:
Controller.instance.main.playerInfo.gun2 = this._amountOfCartriges[gun.currentGunName];
break;
case Gun.SHOOT_GUN:
Controller.instance.main.playerInfo.gun3 = this._amountOfCartriges[gun.currentGunName];
break;
case Gun.BLASTER:
Controller.instance.main.playerInfo.gun4 = this._amountOfCartriges[gun.currentGunName];
break;
case Gun.ROCKET:
Controller.instance.main.playerInfo.gun5 = this._amountOfCartriges[gun.currentGunName];
break;
};
};
}
public function set dy(_arg1:int):void{
this._dy = _arg1;
}
public function get playerAlpha():Number{
return (this._playerAlpha);
}
public function set inShockState(_arg1:Boolean):void{
this._inShockState = _arg1;
if (_inShockState){
this._playerShockCounter = SetParameters.PLAYER_SHOCK_TICKS;
this._shockSpeed = SetParameters.PLAYER_SHOCK_SPEED;
};
}
public function set keyFIRE(_arg1:Boolean):void{
_keyFIRE = _arg1;
}
public function get amountOfCartriges():Dictionary{
return (this._amountOfCartriges);
}
public function set playerHealth(_arg1:int):void{
var _local2:int;
_local2 = this._playerHealth;
this._playerHealth = _arg1;
if (_local2 > this._playerHealth){
this.dispatchEvent(new Event(Player.PLAYER_IN_SHOCK_STATE));
};
if (_playerHealth < 0){
Controller.instance.goToLoss();
};
this._playerHealth = Math.min(this._playerHealth, SetParameters.MAX_PLAYER_HEALTH);
Controller.instance.main.playerInfo.health = (_playerHealth / SetParameters.MAX_PLAYER_HEALTH);
}
public function pickUpHealth(_arg1:int):void{
this.playerHealth = (this.playerHealth + _arg1);
this.dispatchEvent(new Event(Player.GET_CARTRIGE_EVENT));
}
public function processOfCharging(_arg1:Number):void{
_percentsOfCharging = _arg1;
dispatchEvent(new Event(Player.CHARGE_WEAPON_EVENT));
}
public function set keyDOWN(_arg1:Boolean):void{
_keyDOWN = _arg1;
}
private function processIntersectWithWalls():void{
var _local1:int;
var _local2:int;
var _local3:Number;
var _local4:Number;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:Object;
var _local9:Object;
_local1 = Model.countCreatureCellCoord(this._x);
_local2 = Model.countCreatureCellCoord(this._y);
_local3 = 0;
_local4 = 0;
_local5 = 0;
while (_local5 < 8) {
_local6 = (_local1 + SetParameters.ARRAY_WITH_DELTA_CELLS[_local5].dx);
_local7 = (_local2 + SetParameters.ARRAY_WITH_DELTA_CELLS[_local5].dy);
if (Controller.instance.model.cellIsWall(_local6, _local7)){
_wallPolygon.pos = new Vector((_local6 * SetParameters.CELLS_SIZE), (_local7 * SetParameters.CELLS_SIZE));
_local8 = this._collide.collideF(_wallPolygon, this.PLAYER_POLYGON);
if (_local8 != false){
_local9 = playerWallCollideDelta(_local8.N, _local8.t);
_local3 = (_local3 + _local9.dx);
_local4 = (_local4 + _local9.dy);
};
};
_local5++;
};
this.x = (this.x + _local3);
this.y = (this.y + _local4);
}
public function get gun():Gun{
return (this._gun);
}
public function get oldCellY():int{
return (this._oldCellY);
}
public function updatePoligonPos():void{
PLAYER_POLYGON.pos = new Vector(this._x, this._y);
}
public function addCreaturesDY(_arg1:int):void{
this._addCreaturesDY = (this._addCreaturesDY + _arg1);
}
private function processPlayerShock():void{
if (this._playerShockCounter > 0){
this._playerShockCounter--;
} else {
this._shockXSign = 0;
this._shockYSign = 0;
this._inShockState = false;
};
}
public function get shockYSign():Number{
return (this._shockYSign);
}
public function moveGamerRobot():void{
var _local1:Number;
processDXY();
this._oldX = _x;
this._oldY = _y;
if (!this._inShockState){
_x = (_x + (_dx * SetParameters.PLAYER_STEP));
_y = (_y + (_dy * SetParameters.PLAYER_STEP));
changeDirection();
} else {
_local1 = Math.sqrt(((shockXSign * shockXSign) + (shockYSign * shockYSign)));
if (_local1 > 1E-7){
_x = (_x + ((this.shockXSign / _local1) * _shockSpeed));
_y = (_y + ((this.shockYSign / _local1) * _shockSpeed));
_shockSpeed = (_shockSpeed * 0.7);
};
};
_addCreaturesDX = 0;
_addCreaturesDY = 0;
Controller.instance.model.creatures.processIntersectWithPlayer(this);
this._x = (this._x + this._addCreaturesDX);
this._y = (this._y + this._addCreaturesDY);
processIntersectWithWalls();
if (((((this._needToCheckMoving) && ((dx == 0)))) && ((dy == 0)))){
this._needToCheckMoving = false;
dispatchEvent(new Event(Player.PLAYER_STOP_EVENT));
};
}
public function addCreaturesDX(_arg1:int):void{
this._addCreaturesDX = (this._addCreaturesDX + _arg1);
}
public function get oldCellX():int{
return (this._oldCellX);
}
public function set keyUP(_arg1:Boolean):void{
_keyUP = _arg1;
}
public function processDXY():void{
if (_keyUP){
dy = -1;
} else {
if (_keyDOWN){
dy = 1;
} else {
dy = 0;
};
};
if (_keyLEFT){
dx = -1;
} else {
if (_keyRIGHT){
dx = 1;
} else {
dx = 0;
};
};
if ((((((dx == 0)) && ((dy == 0)))) && (this._moveNow))){
_moveNow = false;
dispatchEvent(new Event(Player.PLAYER_STOP_EVENT));
} else {
if (((((!((dx == 0))) || (!((dy == 0))))) && (!(this._moveNow)))){
_moveNow = true;
dispatchEvent(new Event(Player.PLAYER_MOVE_EVENT));
};
};
}
public function pickUpSGun(_arg1:int):void{
this._amountOfCartriges[Gun.SHOOT_GUN] = (this._amountOfCartriges[Gun.SHOOT_GUN] + _arg1);
this._amountOfCartriges[Gun.SHOOT_GUN] = Math.min(this._amountOfCartriges[Gun.SHOOT_GUN], SetParameters.MAX_AMOUNT_OF_SHOOT_GUN_CARTRIGES);
Controller.instance.main.playerInfo.gun3 = this._amountOfCartriges[Gun.SHOOT_GUN];
this.dispatchEvent(new Event(Player.GET_CARTRIGE_EVENT));
}
public function set gun(_arg1:Gun):void{
this._gun = _arg1;
}
public function get dx():int{
return (_dx);
}
public function get playerHealth():int{
return (this._playerHealth);
}
public function set oldCellX(_arg1:int):void{
this._oldCellX = _arg1;
}
public function set oldCellY(_arg1:int):void{
this._oldCellY = _arg1;
}
public function set shockXSign(_arg1:Number):void{
this._shockXSign = _arg1;
}
public function set shockYSign(_arg1:Number):void{
this._shockYSign = _arg1;
}
public function get dy():int{
return (_dy);
}
public function changeDirection():void{
var _local1:GameObjectEvent;
if (((_keyUP) && (_keyLEFT))){
_directionName = GameObject.LEFT_UP_DIRECTION;
_playerAlpha = ((-3 * Math.PI) / 4);
} else {
if (((_keyUP) && (_keyRIGHT))){
_directionName = GameObject.RIGHT_UP_DIRECTION;
_playerAlpha = (-(Math.PI) / 4);
} else {
if (((_keyDOWN) && (_keyLEFT))){
_directionName = GameObject.LEFT_DOWN_DIRECTION;
_playerAlpha = ((3 / 4) * Math.PI);
} else {
if (((_keyDOWN) && (_keyRIGHT))){
_directionName = GameObject.RIGHT_DOWN_DIRECTION;
_playerAlpha = (Math.PI / 4);
} else {
if (_keyUP){
_directionName = GameObject.UP_DIRECTION;
_playerAlpha = (-(Math.PI) / 2);
} else {
if (_keyDOWN){
_directionName = GameObject.DOWN_DIRECTION;
_playerAlpha = (Math.PI / 2);
} else {
if (_keyLEFT){
_playerAlpha = -(Math.PI);
_directionName = GameObject.LEFT_DIRECTION;
} else {
if (_keyRIGHT){
_playerAlpha = 0;
_directionName = GameObject.RIGHT_DIRECTION;
};
};
};
};
};
};
};
};
if (this._oldDirectionName != this._directionName){
_oldDirectionName = directionName;
_local1 = new GameObjectEvent(Player.PLAYER_CHANGE_DIRECTION_EVENT);
_local1.hashcode = _directionName;
dispatchEvent(_local1);
dispatchEvent(new Event(Player.PLAYER_MOVE_EVENT));
};
}
public function pickUpBullets(_arg1:int):void{
this._amountOfCartriges[Gun.SUBMACHINE_GUN] = (this._amountOfCartriges[Gun.SUBMACHINE_GUN] + _arg1);
this._amountOfCartriges[Gun.SUBMACHINE_GUN] = Math.min(this._amountOfCartriges[Gun.SUBMACHINE_GUN], SetParameters.MAX_AMOUNT_OF_LAZER_CARTRIGES);
Controller.instance.main.playerInfo.gun2 = this._amountOfCartriges[Gun.SUBMACHINE_GUN];
this.dispatchEvent(new Event(Player.GET_CARTRIGE_EVENT));
}
public function pickUpBall(_arg1:int):void{
this._amountOfCartriges[Gun.ROCKET] = (this._amountOfCartriges[Gun.ROCKET] + _arg1);
this._amountOfCartriges[Gun.ROCKET] = Math.min(this._amountOfCartriges[Gun.ROCKET], SetParameters.MAX_AMOUNT_OF_ROCKET_CARTRIGES);
Controller.instance.main.playerInfo.gun5 = this._amountOfCartriges[Gun.ROCKET];
this.dispatchEvent(new Event(Player.GET_CARTRIGE_EVENT));
}
public function update(){
updatePoligonPos();
processPlayerShoot();
processPlayerShock();
dispatchEvent(new Event(Player.UPDATE_PLAYER));
moveGamerRobot();
}
public function updatePos(){
PLAYER_VECTOR_POSITION.x = this.x;
PLAYER_VECTOR_POSITION.y = this.y;
updatePoligonPos();
}
public function processPlayerShoot():void{
gun.processShoot();
}
public function set keyLEFT(_arg1:Boolean):void{
_keyLEFT = _arg1;
}
public function get shockXSign():Number{
return (this._shockXSign);
}
public function get percentsOfCharging():Number{
return (this._percentsOfCharging);
}
private function initAmountOfCartriges():void{
_amountOfCartriges[Gun.ROCKET] = 0;
_amountOfCartriges[Gun.SHOOT_GUN] = 0;
_amountOfCartriges[Gun.BLASTER] = 0;
_amountOfCartriges[Gun.SUBMACHINE_GUN] = 0;
}
public function boom(_arg1:Vector, _arg2:Number, _arg3){
var _local4:Vector;
var _local5:*;
var _local6:*;
_local4 = new Vector((_arg1.x * _arg2), (_arg1.y * _arg2));
_local4.scale(0.5);
_local5 = _local4.x;
_local6 = _local4.y;
this.x = (this.x - _local5);
this.y = (this.y - _local6);
this.updatePos();
_arg3.updatePos();
}
}
}//package game.model
Section 94
//ChangeLenOfMortarShoot (game.player_mortar_info.ChangeLenOfMortarShoot)
package game.player_mortar_info {
import flash.events.*;
public class ChangeLenOfMortarShoot extends Event {
private var _currentLenOfMortarShoot:int;// = 0
public function ChangeLenOfMortarShoot(_arg1:String){
_currentLenOfMortarShoot = 0;
super(_arg1);
}
public function set currentLenOfMortarShoot(_arg1:int):void{
this._currentLenOfMortarShoot = _arg1;
}
public function get currentLenOfMortarShoot():int{
return (this._currentLenOfMortarShoot);
}
}
}//package game.player_mortar_info
Section 95
//MortarShootLenShow (game.player_mortar_info.MortarShootLenShow)
package game.player_mortar_info {
import flash.events.*;
import flash.display.*;
import game.controller.*;
import game.model.*;
import game.*;
public class MortarShootLenShow extends MovieClip {
private var _player:Player;
public function MortarShootLenShow(){
this.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
this.visible = false;
}
public function enterFrameHandler(_arg1:Event):void{
this.gotoAndStop(1);
this.removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
this._player = Controller.instance.model.player;
_player.addEventListener(Player.SELECT_MORTAR, this.showSelfEventHandler);
_player.addEventListener(Player.UNSELECT_MORTAR, this.hideSelfEventHandler);
_player.addEventListener(Player.CHANGE_LEN_OF_MORTAR_SHOOT, this.changeLenOfShootHandler);
}
public function hideSelfEventHandler(_arg1:Event):void{
this.visible = false;
this.removeEventListener(Player.CHANGE_LEN_OF_MORTAR_SHOOT, changeLenOfShootHandler);
}
public function changeLenOfShootHandler(_arg1:ChangeLenOfMortarShoot):void{
this.gotoAndStop(Math.round(((_arg1.currentLenOfMortarShoot / SetParameters.MAX_MORTAR_SHOOT_LEN) * this.totalFrames)));
}
public function showSelfEventHandler(_arg1:Event):void{
this.visible = true;
this.addEventListener(Player.CHANGE_LEN_OF_MORTAR_SHOOT, changeLenOfShootHandler);
}
}
}//package game.player_mortar_info
Section 96
//IProcessShoot (game.weapon.shoot_algoritm.IProcessShoot)
package game.weapon.shoot_algoritm {
import game.weapon.*;
public interface IProcessShoot {
function processShooting(_arg1:Gun):void;
function startShoot():void;
}
}//package game.weapon.shoot_algoritm
Section 97
//LazerShootProcessing (game.weapon.shoot_algoritm.LazerShootProcessing)
package game.weapon.shoot_algoritm {
import game.*;
import game.weapon.*;
public class LazerShootProcessing implements IProcessShoot {
private var _tics;// = 4
public function LazerShootProcessing(){
_tics = SetParameters.GUN_TICS_AFTER_SHOOT;
super();
}
public function processShooting(_arg1:Gun):void{
if (_tics == 0){
_arg1.shoot(0);
_arg1.processMoving(0);
_tics++;
_arg1.canStartShoot = false;
} else {
if ((((_tics > 0)) && ((_tics < SetParameters.LAZER_TICKS_AFTER_SHOOT)))){
_arg1.processMoving((_tics / SetParameters.LAZER_TICKS_AFTER_SHOOT));
_tics++;
} else {
_arg1.processMoving(1);
_arg1.canStartShoot = true;
_arg1.canChangeGun = true;
_arg1.processShooting = false;
_arg1.processMoving(SetParameters.LAZER_TICKS_AFTER_SHOOT);
_tics = 0;
};
};
}
public function startShoot():void{
_tics = 0;
}
public function BlasterShootProcessing(){
}
}
}//package game.weapon.shoot_algoritm
Section 98
//PistolShootProcessing (game.weapon.shoot_algoritm.PistolShootProcessing)
package game.weapon.shoot_algoritm {
import game.*;
import game.weapon.*;
public class PistolShootProcessing implements IProcessShoot {
private var _tics:int;// = 0
public function PistolShootProcessing(){
_tics = 0;
super();
}
public function processShooting(_arg1:Gun):void{
if (_tics == 0){
_arg1.shoot(0);
_arg1.processMoving(0);
_tics++;
_arg1.canStartShoot = false;
} else {
if ((((_tics > 0)) && ((_tics < SetParameters.GUN_TICS_AFTER_SHOOT)))){
_arg1.processMoving((_tics / SetParameters.GUN_TICS_AFTER_SHOOT));
_tics++;
} else {
_arg1.processMoving(1);
_arg1.canStartShoot = true;
_arg1.canChangeGun = true;
_arg1.processShooting = false;
_arg1.processMoving(SetParameters.GUN_TICS_AFTER_SHOOT);
_tics = 0;
};
};
}
public function startShoot():void{
_tics = 0;
}
}
}//package game.weapon.shoot_algoritm
Section 99
//RocketGunProcessing (game.weapon.shoot_algoritm.RocketGunProcessing)
package game.weapon.shoot_algoritm {
import game.*;
import game.weapon.*;
public class RocketGunProcessing implements IProcessShoot {
private var _tics:int;// = 0
private var _shootingState:String;// = "mortar_wait_of_start_shoot"
private var _lenOfShoot:int;// = 50
public static const INC_LEN_OF_SHOOT:String = "mortar_ink_len_of_shoot_state";
public static const RECHARGING:String = "mortar_recharging";
public static const WAIT_OF_START_SHOOT:String = "mortar_wait_of_start_shoot";
public function RocketGunProcessing(){
_tics = 0;
_lenOfShoot = SetParameters.MIN_MORTAR_SHOOT_LEN;
_shootingState = RocketGunProcessing.WAIT_OF_START_SHOOT;
super();
}
public function processShooting(_arg1:Gun):void{
if (this._shootingState == RocketGunProcessing.INC_LEN_OF_SHOOT){
if (_lenOfShoot < SetParameters.MAX_MORTAR_SHOOT_LEN){
_lenOfShoot = (_lenOfShoot + SetParameters.MORTAR_CHANGE_LEN_TICKS);
_arg1.dispatchCangeLenOfMortarShoot(_lenOfShoot);
};
if (_arg1.needStartShoot){
_arg1.shoot(_lenOfShoot);
_arg1.dispatchCangeLenOfMortarShoot(1);
_arg1.canStartShoot = false;
_arg1.needStartShoot = false;
_shootingState = RocketGunProcessing.RECHARGING;
this._tics = 0;
};
} else {
if (this._shootingState == RocketGunProcessing.RECHARGING){
if (this._tics < SetParameters.ROCKET_TICKS_AFTER_SHOOT){
_tics++;
_arg1.processMoving((this._tics / SetParameters.ROCKET_TICKS_AFTER_SHOOT));
} else {
this._shootingState = RocketGunProcessing.WAIT_OF_START_SHOOT;
_tics = 0;
_arg1.canStartShoot = true;
_arg1.processShooting = false;
};
};
};
}
public function startShoot():void{
_tics = 0;
_lenOfShoot = SetParameters.MIN_MORTAR_SHOOT_LEN;
this._shootingState = RocketGunProcessing.INC_LEN_OF_SHOOT;
}
}
}//package game.weapon.shoot_algoritm
Section 100
//ShootGunProcessing (game.weapon.shoot_algoritm.ShootGunProcessing)
package game.weapon.shoot_algoritm {
import game.*;
import game.weapon.*;
public class ShootGunProcessing implements IProcessShoot {
private var _ticks:int;// = 0
public function ShootGunProcessing(){
_ticks = 0;
super();
}
public function processShooting(_arg1:Gun):void{
if (_ticks == 0){
_arg1.shoot(0);
_arg1.processMoving(0);
_ticks++;
_arg1.canStartShoot = false;
} else {
if ((((_ticks > 0)) && ((_ticks < SetParameters.SHOOT_GUN_TICKS_AFTER_SHOOT)))){
_arg1.processMoving((_ticks / SetParameters.SHOOT_GUN_TICKS_AFTER_SHOOT));
_ticks++;
} else {
_arg1.processMoving(1);
_arg1.canStartShoot = true;
_arg1.canChangeGun = true;
_arg1.processShooting = false;
_arg1.processMoving(SetParameters.SHOOT_GUN_TICKS_AFTER_SHOOT);
_ticks = 0;
};
};
}
public function startShoot():void{
_ticks = 0;
}
}
}//package game.weapon.shoot_algoritm
Section 101
//SubmashineGunProcessing (game.weapon.shoot_algoritm.SubmashineGunProcessing)
package game.weapon.shoot_algoritm {
import game.*;
import game.weapon.*;
public class SubmashineGunProcessing implements IProcessShoot {
private var _ticks:int;// = 0
public function SubmashineGunProcessing(){
_ticks = 0;
super();
}
public function processShooting(_arg1:Gun):void{
if (_ticks == 0){
_arg1.shoot(0);
_arg1.processMoving(0);
_ticks++;
} else {
if (_ticks < SetParameters.MACHINE_GUN_TICKS_AFTER_SHOOT){
_arg1.processMoving((_ticks / SetParameters.MACHINE_GUN_TICKS_AFTER_SHOOT));
_ticks++;
} else {
_arg1.processMoving(1);
_ticks = 0;
};
};
}
public function startShoot():void{
_ticks = 0;
}
}
}//package game.weapon.shoot_algoritm
Section 102
//AbstractWayOfCheckHit (game.weapon.AbstractWayOfCheckHit)
package game.weapon {
import flash.events.*;
import game.model.creatures.*;
import game.controller.*;
import game.model.*;
import game.*;
public class AbstractWayOfCheckHit {
protected var _damage:int;// = 3
protected var _creatures:ContainerOfCreatures;
public function AbstractWayOfCheckHit(){
_damage = 3;
super();
}
public function checkSegmentIntersectWithCell(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Boolean{
var arrayOfCells:Array;
var delta:int;
var distance:Number;
var count:int;
var angle:Number;
var cosAngle:Number;
var sinAngle:Number;
var i:int;
var cellX:int;
var cellY:int;
var x1 = _arg1;
var y1 = _arg2;
var x2 = _arg3;
var y2 = _arg4;
try {
x1 = (x1 - (SetParameters.CREATURE_SHELL_SHIFT_X + 5));
x2 = (x2 - (SetParameters.CREATURE_SHELL_SHIFT_X + 5));
y1 = (y1 - (SetParameters.CREATURE_SHELL_SHIFT_Y + 5));
y2 = (y2 - (SetParameters.CREATURE_SHELL_SHIFT_Y + 5));
arrayOfCells = Controller.instance.model.arrayOfCells;
delta = 3;
distance = GeometryFunctions.distanceBetweenPoints(x1, y1, x2, y2);
count = Math.ceil((distance / delta));
angle = Math.atan2((y2 - y1), (x2 - x1));
cosAngle = Math.cos(angle);
sinAngle = Math.sin(angle);
i = 0;
while (i < count) {
cellX = Model.countCreatureCellCoord((x1 + ((i * delta) * cosAngle)));
cellY = Model.countCreatureCellCoord((y1 + ((i * delta) * sinAngle)));
if ((((((arrayOfCells[cellY][cellX] == Model.WALL_CELL_VALUE1)) || ((arrayOfCells[cellY][cellX] == Model.WALL_CELL_VALUE2)))) || ((arrayOfCells[cellY][cellX] == Model.WALL_CELL_VALUE3)))){
return (true);
};
i = (i + 1);
};
} catch(e:Error) {
};
return (false);
}
protected function checkNearShootHit(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Boolean{
if (GeometryFunctions.isCircleIntersectSegmentOfLine(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, SetParameters.LEN_OF_ABSOLUTE_HIT)){
return (true);
};
return (false);
}
public function distLineIntersectWithCells(_arg1:int, _arg2:int, _arg3:int, _arg4:Number):Number{
var arrayOfCells:Array;
var delta:int;
var count:int;
var cosAngle:Number;
var sinAngle:Number;
var i:int;
var cellX:int;
var cellY:int;
var retVal:Number;
var shooterX = _arg1;
var shooterY = _arg2;
var distance = _arg3;
var angle = _arg4;
try {
arrayOfCells = Controller.instance.model.arrayOfCells;
delta = 3;
count = Math.ceil((distance / delta));
cosAngle = Math.cos(angle);
sinAngle = Math.sin(angle);
i = 0;
while (i <= count) {
cellX = Math.round(((shooterX + ((i * delta) * cosAngle)) / SetParameters.CELLS_SIZE));
cellY = Math.round(((shooterY + ((i * delta) * sinAngle)) / SetParameters.CELLS_SIZE));
if ((((((arrayOfCells[cellY][cellX] == Model.WALL_CELL_VALUE1)) || ((arrayOfCells[cellY][cellX] == Model.WALL_CELL_VALUE2)))) || ((arrayOfCells[cellY][cellX] == Model.WALL_CELL_VALUE3)))){
retVal = Math.sqrt(((((cellX * SetParameters.CELLS_SIZE) - shooterX) * ((cellX * SetParameters.CELLS_SIZE) - shooterX)) + (((cellY * SetParameters.CELLS_SIZE) - shooterY) * ((cellY * SetParameters.CELLS_SIZE) - shooterY))));
return (retVal);
};
i = (i + 1);
};
} catch(e:Error) {
};
return (Number.MAX_VALUE);
}
public function set creatures(_arg1:ContainerOfCreatures):void{
this._creatures = _arg1;
}
public function processHitInCreatures(_arg1:int, _arg2:int, _arg3:int, _arg4:Number):void{
var _local5:Array;
var _local6:int;
var _local7:IHitedObject;
_local5 = getArrayOfHittedCreatures(_arg1, _arg2, _arg3, _arg4);
if (_local5.length > 0){
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = _local5[_local6];
_local7.addDestroy(_damage);
_local7.shooterX = _arg1;
_local7.shooterY = _arg2;
_local6++;
};
} else {
Controller.instance.model.player.dispatchEvent(new Event(Gun.SHOOT_IN_WALL));
};
}
protected function checkHit(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number, _arg10:Number):Boolean{
return (((checkFarShootHit(_arg1, _arg2, _arg3, _arg4)) || (checkNearShootHit(_arg5, _arg6, _arg7, _arg8, _arg9, _arg10))));
}
protected function checkFarShootHit(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Boolean{
if ((((_arg1 < _arg2)) && ((_arg3 < _arg4)))){
return (true);
};
return (false);
}
protected function getArrayOfHittedCreatures(_arg1:int, _arg2:int, _arg3:int, _arg4:Number):Array{
return (null);
}
public function set damage(_arg1:int):void{
this._damage = _arg1;
}
}
}//package game.weapon
Section 103
//Gun (game.weapon.Gun)
package game.weapon {
import flash.events.*;
import game.controller.*;
import game.model.*;
import game.*;
import game.model.mortar.*;
import game.weapon.shoot_algoritm.*;
public class Gun extends EventDispatcher {
private var _player:Player;
private var tmpTicks:int;// = 0
private var _ticksBetweenShoots:int;
private var _mortarContainer:MortarContainer;
private var _wayOfCheckHit:IWayOfCheckHit;
private var _processShooting:Boolean;// = false
private var _needStartShoot:Boolean;// = false
private var _processShoot:IProcessShoot;
private var _canStartShoot:Boolean;// = true
private var _currentGunName:String;
private var _canChangeGun:Boolean;// = true
private var _ticksDuringShoot:int;
private var _ticksBeforeShoot:int;
private var _stateOfGun:String;
private var _ticksAfterShoot:int;
public static const SHOOT_IN_WALL:String = "shoot_in_wall";
public static var START_SHOOT:String = "start_shoot";
public static var BLASTER:String = "blast";
public static var WHAIT_OF_FIRE_STATE:String = "whait_of_shoot";
public static var CHANGE_GUN_EVENT:String = "change_gun_event";
public static var ROCKET:String = "rocket";
public static var GUN:String = "pistol";
public static var SHOOT_GUN:String = "drob";
public static var AFTER_SHOOT_STATE:String = "after_shoot";
public static var SUBMACHINE_GUN:String = "riffle";
public static var BEFORE_SHOOT_STATE:String = "before_shoot";
public static var DURING_SHOOT_STATE:String = "during_shoot";
public static var HAVENT_CARTRIGES_EVENT:String = "havent_cartriges_event";
public static var END_SHOOT:String = "end_shoot";
public function Gun(){
_wayOfCheckHit = new GunCheckHit();
tmpTicks = 0;
_currentGunName = Gun.GUN;
_processShoot = new PistolShootProcessing();
_canStartShoot = true;
_needStartShoot = false;
_canChangeGun = true;
_processShooting = false;
super();
_ticksBeforeShoot = 0;
_ticksAfterShoot = SetParameters.GUN_TICS_AFTER_SHOOT;
_ticksDuringShoot = 0;
_ticksBetweenShoots = SetParameters.GUN_TICS_AFTER_SHOOT;
_stateOfGun = Gun.WHAIT_OF_FIRE_STATE;
this.canStartShoot = true;
}
private function setMachineGun():void{
this._ticksBeforeShoot = 0;
this._ticksBetweenShoots = 0;
this._ticksAfterShoot = SetParameters.MACHINE_GUN_TICKS_AFTER_SHOOT;
this._processShoot = new SubmashineGunProcessing();
_wayOfCheckHit = new SubmachineGunCheckHit();
}
public function get canChangeGun():Boolean{
return (this._canChangeGun);
}
public function set mortarContainer(_arg1:MortarContainer):void{
this._mortarContainer = _arg1;
}
private function shriftGunDependOfAngle(_arg1:Number):Object{
var _local2:int;
_local2 = Math.round(((_arg1 * 180) / Math.PI));
switch (_local2){
case 0:
return ({dx:50, dy:-10});
case 45:
return ({dx:45, dy:-5});
case 90:
return ({dx:-3, dy:0});
case 135:
return ({dx:-15, dy:-13});
case 180:
return ({dx:-15, dy:-15});
case -45:
return ({dx:35, dy:-30});
case -90:
return ({dx:35, dy:-30});
case -135:
return ({dx:24, dy:-30});
case -180:
return ({dx:-15, dy:-15});
};
return ({dx:0, dy:0});
}
public function set ticksBetweenShoots(_arg1:int):void{
this._ticksBetweenShoots = _arg1;
}
public function get state():String{
return (this._stateOfGun);
}
public function dispatchCangeLenOfMortarShoot(_arg1:int):void{
_player.dispatchChangeLenOfMortarShoot(_arg1);
}
public function get needStartShoot():Boolean{
return (this._needStartShoot);
}
public function set ticksBeforeShoot(_arg1:int):void{
this._ticksBeforeShoot = _arg1;
}
public function processSpaceDown():void{
if (((this.canStartShoot) && (!(Controller.instance.spaceDown)))){
this._processShoot.startShoot();
this.processShooting = true;
};
}
public function set canStartShoot(_arg1:Boolean):void{
this._canStartShoot = _arg1;
}
public function processMoving(_arg1:Number):void{
if ((((this._player.amountOfCartriges[_currentGunName] > 0)) || ((_currentGunName == Gun.GUN)))){
_player.processOfCharging(_arg1);
};
}
private function setShootGun():void{
this._ticksBeforeShoot = 0;
this._ticksBetweenShoots = 0;
this._ticksAfterShoot = SetParameters.SHOOT_GUN_TICKS_AFTER_SHOOT;
this._processShoot = new ShootGunProcessing();
_wayOfCheckHit = new ShootGunCheckHit();
}
public function shoot(_arg1:int):void{
var _local2:Number;
var _local3:int;
var _local4:int;
_local2 = this._player.playerAlpha;
_local3 = (this._player.x + SetParameters.CREATURE_SHELL_SHIFT_X);
_local4 = (this._player.y + SetParameters.CREATURE_SHELL_SHIFT_Y);
if (this._currentGunName == Gun.GUN){
this._wayOfCheckHit.processHitInCreatures(_local3, _local4, SetParameters.GUN_LEN_OF_HIT, _local2);
this.dispatchEvent(new Event(Gun.START_SHOOT));
} else {
if (this._player.amountOfCartriges[_currentGunName] > 0){
switch (this._currentGunName){
case Gun.SHOOT_GUN:
this._wayOfCheckHit.processHitInCreatures(_local3, _local4, SetParameters.SHOOT_GUN_LEN_OF_HIT, _local2);
break;
case Gun.SUBMACHINE_GUN:
this._wayOfCheckHit.processHitInCreatures(_local3, _local4, SetParameters.MACHINE_GUN_LEN_OF_HIT, _local2);
break;
case Gun.ROCKET:
rocketShoot(_arg1);
break;
case Gun.BLASTER:
this._wayOfCheckHit.processHitInCreatures(_local3, _local4, SetParameters.LAZER_LEN_OF_HIT, _local2);
break;
};
this._player.discreaseCartriges();
this.dispatchEvent(new Event(Gun.START_SHOOT));
} else {
this._player.dispatchEvent(new Event(Gun.HAVENT_CARTRIGES_EVENT));
};
};
}
public function set state(_arg1:String):void{
this._stateOfGun = state;
}
private function rocketShoot(_arg1:int):void{
var _local2:MortarShell;
var _local3:Object;
var _local4:int;
var _local5:int;
_local2 = new MortarShell();
_local3 = shriftGunDependOfAngle(_player.playerAlpha);
_local4 = _player.x;
_local5 = _player.y;
_local2.len = _arg1;
_local2.startX = (_local4 + _local3.dx);
_local2.startY = (_local5 + _local3.dy);
_local2.x = ((_local4 + _local3.dx) + _local3.dx);
_local2.y = ((_local5 + _local3.dy) + _local3.dy);
_local2.startDirection = _player.playerAlpha;
_local2.init();
_mortarContainer.addToContainer(_local2);
}
public function get wayOfCheckHit():IWayOfCheckHit{
return (this._wayOfCheckHit);
}
public function set needStartShoot(_arg1:Boolean):void{
this._needStartShoot = _arg1;
}
public function get ticksAfterShoot():int{
return (this._ticksAfterShoot);
}
protected function processWhaitOfShoot():void{
}
public function set player(_arg1:Player):void{
this._player = _arg1;
}
public function set canChangeGun(_arg1:Boolean):void{
this._canChangeGun = _arg1;
}
private function setRocket():void{
this._ticksBeforeShoot = 0;
this._processShoot = new RocketGunProcessing();
}
public function get canStartShoot():Boolean{
return (this._canStartShoot);
}
public function processSpaceUp():void{
switch (this._currentGunName){
case Gun.GUN:
break;
case Gun.BLASTER:
break;
case Gun.ROCKET:
if (this.canStartShoot){
this._needStartShoot = true;
//unresolved jump
};
break;
case Gun.SUBMACHINE_GUN:
this.processMoving(1);
this.processShooting = false;
this.canStartShoot = true;
break;
case Gun.SHOOT_GUN:
break;
};
}
public function set wayOfCheckHit(_arg1:IWayOfCheckHit):void{
this._wayOfCheckHit = _arg1;
}
private function setBlaster():void{
this._ticksBetweenShoots = 0;
this._ticksAfterShoot = SetParameters.LAZER_TICKS_AFTER_SHOOT;
this._processShoot = new LazerShootProcessing();
_wayOfCheckHit = new LazerCheckHit();
}
public function processShoot():void{
if (this._processShooting){
this._processShoot.processShooting(this);
};
}
public function set ticksAfterShoot(_arg1:int):void{
this._ticksAfterShoot = _arg1;
}
public function set currentGunName(_arg1:String):void{
this._currentGunName = _arg1;
this.processMoving(1);
this.processShooting = false;
this.needStartShoot = false;
this.canStartShoot = true;
switch (_currentGunName){
case Gun.GUN:
setGun();
break;
case Gun.SHOOT_GUN:
setShootGun();
break;
case Gun.ROCKET:
setRocket();
break;
case Gun.SUBMACHINE_GUN:
setMachineGun();
break;
case Gun.BLASTER:
setBlaster();
break;
};
dispatchEvent(new Event(Gun.CHANGE_GUN_EVENT));
}
public function get currentGunName():String{
return (this._currentGunName);
}
public function get processShooting():Boolean{
return (this._processShooting);
}
public function set processShooting(_arg1:Boolean):void{
this._processShooting = _arg1;
}
private function setGun():void{
this._ticksBeforeShoot = 0;
this._ticksBetweenShoots = 0;
this._ticksBeforeShoot = SetParameters.GUN_TICS_AFTER_SHOOT;
this._processShoot = new PistolShootProcessing();
_wayOfCheckHit = new GunCheckHit();
}
}
}//package game.weapon
Section 104
//GunCheckHit (game.weapon.GunCheckHit)
package game.weapon {
import game.model.creatures.*;
import game.controller.*;
import game.model.*;
import game.*;
import de.polygonal.ds.*;
public class GunCheckHit extends AbstractWayOfCheckHit implements IWayOfCheckHit {
public function GunCheckHit(){
this._damage = SetParameters.GUN_SHOOT_POWER;
}
override protected function getArrayOfHittedCreatures(_arg1:int, _arg2:int, _arg3:int, _arg4:Number):Array{
var _local5:Array;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Iterator;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Creature;
var _local19:int;
var _local20:Array;
var _local21:GameObject;
var _local22:int;
var _local23:int;
var _local24:Number;
var _local25:Number;
var _local26:Number;
_local5 = new Array();
_local6 = _arg1;
_local7 = _arg2;
_local8 = (_arg1 + (_arg3 * Math.cos(_arg4)));
_local9 = (_arg2 + (_arg3 * Math.sin(_arg4)));
_local10 = (_arg1 + (SetParameters.LEN_OF_ABSOLUTE_HIT * Math.cos(_arg4)));
_local11 = (_arg2 + (SetParameters.LEN_OF_ABSOLUTE_HIT * Math.sin(_arg4)));
_local12 = Controller.instance.model.creatures.elementsIterator;
_local13 = (_local8 - _local6);
_local14 = (_local9 - _local7);
while (_local12.hasNext()) {
_local21 = _local12.next();
_local22 = (_local21.x + SetParameters.CREATURE_SHELL_SHIFT_X);
_local23 = (_local21.y + SetParameters.CREATURE_SHELL_SHIFT_Y);
_local15 = (_local22 - _arg1);
_local16 = (_local23 - _arg2);
_local24 = GeometryFunctions.angleBetweenVectors(_local13, _local14, _local15, _local16);
_local25 = GeometryFunctions.distanceBetweenPoints(_local22, _local23, _arg1, _arg2);
if (((checkHit(_local24, SetParameters.GUN_ANGLE_OF_HIT, _local25, SetParameters.GUN_LEN_OF_HIT, _local6, _local7, _local10, _local11, _local22, _local23)) && (!(checkSegmentIntersectWithCell(_local6, _local7, _local22, _local23))))){
_local5.push(_local21);
};
};
_local17 = Number.MAX_VALUE;
_local18 = null;
_local19 = 0;
while (_local19 < _local5.length) {
_local26 = GeometryFunctions.distanceBetweenPoints(_local5[_local19].x, _local5[_local19].y, _arg1, _arg2);
if (_local26 < _local17){
_local18 = _local5[_local19];
_local17 = _local26;
};
_local19++;
};
_local20 = new Array();
if (_local18 != null){
_local20.push(_local18);
};
return (_local20);
}
}
}//package game.weapon
Section 105
//IWayOfCheckHit (game.weapon.IWayOfCheckHit)
package game.weapon {
public interface IWayOfCheckHit {
function processHitInCreatures(_arg1:int, _arg2:int, _arg3:int, _arg4:Number):void;
}
}//package game.weapon
Section 106
//LazerCheckHit (game.weapon.LazerCheckHit)
package game.weapon {
import game.controller.*;
import game.model.*;
import game.*;
import de.polygonal.ds.*;
public class LazerCheckHit extends AbstractWayOfCheckHit implements IWayOfCheckHit {
public function LazerCheckHit(){
this._damage = SetParameters.LAZER_SHOOT_POWER;
}
public function get auto():Boolean{
return (false);
}
override protected function getArrayOfHittedCreatures(_arg1:int, _arg2:int, _arg3:int, _arg4:Number):Array{
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Iterator;
var _local10:Array;
var _local11:GameObject;
var _local12:int;
var _local13:int;
_local5 = _arg1;
_local6 = _arg2;
_local7 = (_arg1 + (_arg3 * Math.cos(_arg4)));
_local8 = (_arg2 + (_arg3 * Math.sin(_arg4)));
_local9 = Controller.instance.model.creatures.elementsIterator;
_local10 = new Array();
while (_local9.hasNext()) {
_local11 = _local9.next();
_local12 = (_local11.x + SetParameters.CREATURE_SHELL_SHIFT_X);
_local13 = (_local11.y + SetParameters.CREATURE_SHELL_SHIFT_Y);
if (GeometryFunctions.isCircleIntersectSegmentOfLine(_local5, _local6, _local7, _local8, _local12, _local13, SetParameters.LAZER_HIT_RADIUS)){
_local10.push(_local11);
};
};
return (_local10);
}
}
}//package game.weapon
Section 107
//ShootGunCheckHit (game.weapon.ShootGunCheckHit)
package game.weapon {
import game.controller.*;
import game.model.*;
import game.*;
import de.polygonal.ds.*;
public class ShootGunCheckHit extends AbstractWayOfCheckHit implements IWayOfCheckHit {
public function ShootGunCheckHit(){
this._damage = SetParameters.SHOOT_GUN_SHOOT_POWER;
}
override protected function getArrayOfHittedCreatures(_arg1:int, _arg2:int, _arg3:int, _arg4:Number):Array{
var _local5:Array;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Iterator;
var _local17:Number;
var _local18:GameObject;
var _local19:int;
var _local20:int;
var _local21:Number;
var _local22:Number;
_local5 = new Array();
_local6 = _arg1;
_local7 = _arg2;
_local8 = (_arg1 + (_arg3 * Math.cos(_arg4)));
_local9 = (_arg2 + (_arg3 * Math.sin(_arg4)));
_local10 = (_arg1 + (SetParameters.LEN_OF_ABSOLUTE_HIT * Math.cos(_arg4)));
_local11 = (_arg2 + (SetParameters.LEN_OF_ABSOLUTE_HIT * Math.sin(_arg4)));
_local12 = (_local8 - _local6);
_local13 = (_local9 - _local7);
_local16 = Controller.instance.model.creatures.elementsIterator;
_local17 = this.distLineIntersectWithCells(_arg1, _arg2, _arg3, _arg4);
while (_local16.hasNext()) {
_local18 = _local16.next();
_local19 = (_local18.x + SetParameters.CREATURE_SHELL_SHIFT_X);
_local20 = (_local18.y + SetParameters.CREATURE_SHELL_SHIFT_Y);
_local14 = (_local19 - _arg1);
_local15 = (_local20 - _arg2);
_local21 = GeometryFunctions.angleBetweenVectors(_local12, _local13, _local14, _local15);
_local22 = GeometryFunctions.distanceBetweenPoints(_local19, _local20, _arg1, _arg2);
if (((checkHit(_local21, SetParameters.SHOOT_GUN_ANGLE_OF_HIT, _local22, SetParameters.SHOOT_GUN_LEN_OF_HIT, _local6, _local7, _local10, _local11, _local19, _local20)) && (!(checkSegmentIntersectWithCell(_local6, _local7, _local19, _local20))))){
_local5.push(_local18);
};
};
return (_local5);
}
}
}//package game.weapon
Section 108
//SubmachineGunCheckHit (game.weapon.SubmachineGunCheckHit)
package game.weapon {
import game.model.creatures.*;
import game.controller.*;
import game.model.*;
import game.*;
import de.polygonal.ds.*;
public class SubmachineGunCheckHit extends AbstractWayOfCheckHit implements IWayOfCheckHit {
public function SubmachineGunCheckHit(){
this._damage = SetParameters.MACHINE_GUN_SHOOT_POWER;
}
override protected function getArrayOfHittedCreatures(_arg1:int, _arg2:int, _arg3:int, _arg4:Number):Array{
var _local5:Array;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Iterator;
var _local15:Number;
var _local16:Number;
var _local17:Creature;
var _local18:int;
var _local19:Array;
var _local20:GameObject;
var _local21:int;
var _local22:int;
var _local23:Number;
var _local24:Number;
var _local25:Number;
var _local26:Number;
var _local27:Number;
_local5 = new Array();
_local6 = _arg1;
_local7 = _arg2;
_local8 = (_arg1 + (_arg3 * Math.cos(_arg4)));
_local9 = (_arg2 + (_arg3 * Math.sin(_arg4)));
_local10 = (_local8 - _local6);
_local11 = (_local9 - _local7);
_local12 = (_arg1 + (SetParameters.LEN_OF_ABSOLUTE_HIT * Math.cos(_arg4)));
_local13 = (_arg2 + (SetParameters.LEN_OF_ABSOLUTE_HIT * Math.sin(_arg4)));
_local14 = Controller.instance.model.creatures.elementsIterator;
_local15 = this.distLineIntersectWithCells(_arg1, _arg2, _arg3, _arg4);
while (_local14.hasNext()) {
_local20 = _local14.next();
_local21 = (_local20.x + SetParameters.CREATURE_SHELL_SHIFT_X);
_local22 = (_local20.y + SetParameters.CREATURE_SHELL_SHIFT_Y);
_local23 = (_local21 - _arg1);
_local24 = (_local22 - _arg2);
_local25 = GeometryFunctions.angleBetweenVectors(_local10, _local11, _local23, _local24);
_local26 = GeometryFunctions.distanceBetweenPoints(_local21, _local22, _arg1, _arg2);
if (((checkHit(_local25, SetParameters.MACHINE_GUN_ANGLE_OF_HIT, _local26, SetParameters.MACHINE_GUN_LEN_OF_HIT, _local6, _local7, _local12, _local13, _local21, _local22)) && (!(checkSegmentIntersectWithCell(_local6, _local7, _local21, _local22))))){
_local5.push(_local20);
};
};
_local16 = Number.MAX_VALUE;
_local17 = null;
_local18 = 0;
while (_local18 < _local5.length) {
_local27 = GeometryFunctions.distanceBetweenPoints(_local5[_local18].x, _local5[_local18].y, _arg1, _arg2);
if (_local27 < _local16){
_local17 = _local5[_local18];
_local16 = _local27;
};
_local18++;
};
_local19 = new Array();
if (_local17 != null){
_local19.push(_local17);
};
return (_local19);
}
}
}//package game.weapon
Section 109
//BossRobotView (game.view.creature_view.BossRobotView)
package game.view.creature_view {
import flash.display.*;
import game.model.moved_state.*;
public class BossRobotView extends CreatureView {
public var upDirection:MovieClip;
public var leftDownDirection:MovieClip;
public var leftDirection:MovieClip;
public var rightDownDirection:MovieClip;
public var rightUpDirection:MovieClip;
public var leftUpDirection:MovieClip;
public var rightDirection:MovieClip;
public var foots:MovieClip;
public var downDirection:MovieClip;
public function BossRobotView(){
creatureDirections[AbstractState.MOVE_DOWN_STATE] = this.downDirection;
creatureDirections[AbstractState.MOVE_LEFT_DOWN_STATE] = this.leftDownDirection;
creatureDirections[AbstractState.MOVE_LEFT_STATE] = this.leftDirection;
creatureDirections[AbstractState.MOVE_LEFT_UP_STATE] = this.leftUpDirection;
creatureDirections[AbstractState.MOVE_RIGHT_DOWN_STATE] = this.rightDownDirection;
creatureDirections[AbstractState.MOVE_RIGHT_STATE] = this.rightDirection;
creatureDirections[AbstractState.MOVE_RIGHT_UP_STATE] = this.rightUpDirection;
creatureDirections[AbstractState.MOVE_UP_STATE] = this.upDirection;
_foots = this.foots;
}
override public function traceBossInfo(_arg1:String):void{
}
}
}//package game.view.creature_view
Section 110
//CreatureView (game.view.creature_view.CreatureView)
package game.view.creature_view {
import flash.events.*;
import flash.display.*;
import game.model.creatures.*;
import game.*;
import game.model.moved_state.*;
import flash.utils.*;
import game.view.*;
public class CreatureView extends MoveObjectView {
private var _model:Creature;
private var _isVisible:Boolean;// = true
protected var _oldNameOfState:String;
protected var _currentDirection:MovieClip;
protected var creatureDirections:Dictionary;
protected var _foots:MovieClip;
public function CreatureView(){
_oldNameOfState = AbstractState.MOVE_UP_STATE;
_isVisible = true;
_foots = new MovieClip();
super();
creatureDirections = new Dictionary();
}
private function getNewShockDirection(_arg1:String):MovieClip{
switch (_arg1){
case AbstractState.SHOCK_UP_STATE:
return (creatureDirections[AbstractState.MOVE_DOWN_STATE]);
case AbstractState.SHOCK_DOWN_STATE:
return (creatureDirections[AbstractState.MOVE_UP_STATE]);
case AbstractState.SHOCK_LEFT_STATE:
return (creatureDirections[AbstractState.MOVE_LEFT_STATE]);
case AbstractState.SHOCK_RIGHT_STATE:
return (creatureDirections[AbstractState.MOVE_RIGHT_STATE]);
case AbstractState.SHOCK_LEFT_DOWN_STATE:
return (creatureDirections[AbstractState.MOVE_LEFT_DOWN_STATE]);
case AbstractState.SHOCK_RIGHT_DOWN_STATE:
return (creatureDirections[AbstractState.MOVE_RIGHT_DOWN_STATE]);
case AbstractState.SHOCK_LEFT_UP_STATE:
return (creatureDirections[AbstractState.MOVE_LEFT_UP_STATE]);
case AbstractState.SHOCK_RIGHT_UP_STATE:
return (creatureDirections[AbstractState.MOVE_RIGHT_UP_STATE]);
default:
return (null);
};
}
public function traceBossInfo(_arg1:String):void{
}
public function get model():Creature{
return (_model);
}
protected function directView(_arg1:IMovedState):void{
var state = _arg1;
if (!AbstractState.isStateAlternativeAttack(state)){
traceBossInfo(("Current direction" + state.nameOfState));
if (_currentDirection == null){
_currentDirection = creatureDirections[AbstractState.MOVE_UP_STATE];
};
if (state.nameOfState == AbstractState.WHAIT_OF_TURN_STATE){
traceBossInfo(("Whait of move state" + state.nameOfState));
} else {
if (AbstractState.isStateMoving(state)){
try {
if (_oldNameOfState != state.nameOfState){
traceBossInfo((("Moved state" + "_oldNameOfState!=state.nameOfState") + state.nameOfState));
hideAllDirections();
_currentDirection = creatureDirections[state.nameOfState];
_currentDirection.visible = true;
_currentDirection.play();
_currentDirection.gotoAndPlay("move");
} else {
traceBossInfo((("Moved state" + "_oldNameOfState==state.nameOfState") + state.nameOfState));
};
} catch(e:Error) {
};
} else {
if (AbstractState.isStateAttack(state)){
traceBossInfo(("AbstractState.isStateAttack(state)" + state.nameOfState));
_currentDirection = getNewAttackDirection(state.nameOfState);
this.hideAllDirections();
_currentDirection.visible = true;
_currentDirection.gotoAndPlay("attack");
if (this.model.typeOfCreature == Creature.KAMIKAZE_ROBOT){
(this.parent as View).playSound("weapon_pushka_boom", this.x);
} else {
if (this.model.typeOfCreature == Creature.SHOOT_ROBOT){
(this.parent as View).playSound("weapon_pushka_boom2", this.x);
};
};
} else {
if (AbstractState.isStateShock(state)){
traceBossInfo(("AbstractState.isStateShock(state)" + state.nameOfState));
_currentDirection = getNewShockDirection(state.nameOfState);
this.hideAllDirections();
_currentDirection.visible = true;
_currentDirection.gotoAndPlay("damage");
} else {
if (state.nameOfState == AbstractState.AGONY_STATE){
traceBossInfo(("state.nameOfState==AbstractState.AGONY_STATE" + state.nameOfState));
(this.parent as View).playSound("enemy_die", this.x);
_currentDirection.visible = true;
_currentDirection.gotoAndPlay("agony");
};
};
};
};
};
if (state.nameOfState != AbstractState.WHAIT_OF_TURN_STATE){
traceBossInfo(("state.nameOfState!=AbstractState.WHAIT_OF_TURN_STATE)" + state.nameOfState));
_oldNameOfState = state.nameOfState;
};
};
}
private function firstEnterFrameHandler(_arg1:Event):void{
var typeOfCreature:String;
var e = _arg1;
typeOfCreature = this._model.typeOfCreature;
try {
switch (typeOfCreature){
case Creature.SIMPLE_ROBOT:
(this.parent as View).playSound("enemy1_show", x);
break;
case Creature.SHOOT_ROBOT:
(this.parent as View).playSound("enemy2_show", x);
break;
case Creature.KAMIKAZE_ROBOT:
(this.parent as View).playSound("enemy3_show", x);
break;
case Creature.BOSS_ROBOT:
(this.parent as View).playSound("enemy5_show", x);
break;
};
} catch(e:Error) {
};
this.removeEventListener(Event.ENTER_FRAME, firstEnterFrameHandler);
}
public function set model(_arg1:Creature):void{
var _local2:Number;
var _local3:Number;
_model = _arg1;
_model.addEventListener(Creature.UPDATE_CREATURE, moveCreachesHandler);
_model.addEventListener(Creature.CHANGE_MOVE_STATE_EVENT, changeStateCreaturesHandler);
_local2 = ((1 / SetParameters.CELLS_SIZE) * SetParameters.VIEW_CELL_WIDTH);
_local3 = ((1 / SetParameters.CELLS_SIZE) * SetParameters.VIEW_CELL_HEIGHT);
x = (_model.x * _local2);
y = (_model.y * _local3);
hideAllDirections();
_currentDirection = creatureDirections[_model.state.nameOfState];
_currentDirection.visible = true;
_currentDirection.play();
this.addEventListener(Event.ENTER_FRAME, firstEnterFrameHandler);
}
protected function changeStateCreaturesHandler(_arg1:Event):void{
if (this._isVisible){
directView(_model.state);
};
}
private function getNewAttackDirection(_arg1:String):MovieClip{
switch (_arg1){
case AbstractState.UP_ATTACK_STATE:
return (creatureDirections[AbstractState.MOVE_UP_STATE]);
case AbstractState.DOWN_ATTACK_STATE:
return (creatureDirections[AbstractState.MOVE_DOWN_STATE]);
case AbstractState.LEFT_ATTACK_STATE:
return (creatureDirections[AbstractState.MOVE_LEFT_STATE]);
case AbstractState.RIGHT_ATTACK_STATE:
return (creatureDirections[AbstractState.MOVE_RIGHT_STATE]);
case AbstractState.LEFT_DOWN_ATTACK_STATE:
return (creatureDirections[AbstractState.MOVE_LEFT_DOWN_STATE]);
case AbstractState.RIGHT_DOWN_ATTACK_STATE:
return (creatureDirections[AbstractState.MOVE_RIGHT_DOWN_STATE]);
case AbstractState.LEFT_UP_ATTACK_STATE:
return (creatureDirections[AbstractState.MOVE_LEFT_UP_STATE]);
case AbstractState.RIGHT_UP_ATTACK_STATE:
return (creatureDirections[AbstractState.MOVE_RIGHT_UP_STATE]);
default:
return (null);
};
}
private function hideAllDirections():void{
var _local1:*;
for each (_local1 in creatureDirections) {
_local1.visible = false;
_local1.stop();
};
}
protected function moveCreachesHandler(_arg1:Event):void{
var _local2:Number;
var _local3:Number;
if (this.model.state.nameOfState != AbstractState.WHAIT_OF_TURN_STATE){
_local2 = ((1 / SetParameters.CELLS_SIZE) * SetParameters.VIEW_CELL_WIDTH);
_local3 = ((1 / SetParameters.CELLS_SIZE) * SetParameters.VIEW_CELL_HEIGHT);
x = (_model.x * _local2);
y = (_model.y * _local3);
};
}
public function set isVisible(_arg1:Boolean):void{
var _local2:Boolean;
_local2 = this._isVisible;
this._isVisible = _arg1;
if (!_isVisible){
if (_local2){
hideAllDirections();
};
} else {
if (!_local2){
_currentDirection.visible = true;
_currentDirection.play();
};
};
}
public function get isVisible():Boolean{
return (this._isVisible);
}
}
}//package game.view.creature_view
Section 111
//KamikazeRobotView (game.view.creature_view.KamikazeRobotView)
package game.view.creature_view {
import flash.display.*;
import game.model.moved_state.*;
public class KamikazeRobotView extends CreatureView {
public var upDirection:MovieClip;
public var leftDownDirection:MovieClip;
public var leftDirection:MovieClip;
public var rightDownDirection:MovieClip;
public var rightUpDirection:MovieClip;
public var leftUpDirection:MovieClip;
public var rightDirection:MovieClip;
public var downDirection:MovieClip;
public function KamikazeRobotView(){
creatureDirections[AbstractState.MOVE_DOWN_STATE] = this.downDirection;
creatureDirections[AbstractState.MOVE_LEFT_DOWN_STATE] = this.leftDownDirection;
creatureDirections[AbstractState.MOVE_LEFT_STATE] = this.leftDirection;
creatureDirections[AbstractState.MOVE_LEFT_UP_STATE] = this.leftUpDirection;
creatureDirections[AbstractState.MOVE_RIGHT_DOWN_STATE] = this.rightDownDirection;
creatureDirections[AbstractState.MOVE_RIGHT_STATE] = this.rightDirection;
creatureDirections[AbstractState.MOVE_RIGHT_UP_STATE] = this.rightUpDirection;
creatureDirections[AbstractState.MOVE_UP_STATE] = this.upDirection;
}
}
}//package game.view.creature_view
Section 112
//ShootRobotView (game.view.creature_view.ShootRobotView)
package game.view.creature_view {
import flash.display.*;
import game.model.moved_state.*;
public class ShootRobotView extends CreatureView {
public var upDirection:MovieClip;
public var leftDownDirection:MovieClip;
public var leftDirection:MovieClip;
public var rightDownDirection:MovieClip;
public var rightUpDirection:MovieClip;
public var leftUpDirection:MovieClip;
public var rightDirection:MovieClip;
public var downDirection:MovieClip;
public function ShootRobotView(){
creatureDirections[AbstractState.MOVE_DOWN_STATE] = this.downDirection;
creatureDirections[AbstractState.MOVE_LEFT_DOWN_STATE] = this.leftDownDirection;
creatureDirections[AbstractState.MOVE_LEFT_STATE] = this.leftDirection;
creatureDirections[AbstractState.MOVE_LEFT_UP_STATE] = this.leftUpDirection;
creatureDirections[AbstractState.MOVE_RIGHT_DOWN_STATE] = this.rightDownDirection;
creatureDirections[AbstractState.MOVE_RIGHT_STATE] = this.rightDirection;
creatureDirections[AbstractState.MOVE_RIGHT_UP_STATE] = this.rightUpDirection;
creatureDirections[AbstractState.MOVE_UP_STATE] = this.upDirection;
}
}
}//package game.view.creature_view
Section 113
//SimpleRobotView (game.view.creature_view.SimpleRobotView)
package game.view.creature_view {
import flash.display.*;
import game.model.moved_state.*;
public class SimpleRobotView extends CreatureView {
public var upDirection:MovieClip;
public var leftDownDirection:MovieClip;
public var leftDirection:MovieClip;
public var rightDownDirection:MovieClip;
public var rightUpDirection:MovieClip;
public var leftUpDirection:MovieClip;
public var rightDirection:MovieClip;
public var downDirection:MovieClip;
public function SimpleRobotView(){
creatureDirections[AbstractState.MOVE_DOWN_STATE] = this.downDirection;
creatureDirections[AbstractState.MOVE_LEFT_DOWN_STATE] = this.leftDownDirection;
creatureDirections[AbstractState.MOVE_LEFT_STATE] = this.leftDirection;
creatureDirections[AbstractState.MOVE_LEFT_UP_STATE] = this.leftUpDirection;
creatureDirections[AbstractState.MOVE_RIGHT_DOWN_STATE] = this.rightDownDirection;
creatureDirections[AbstractState.MOVE_RIGHT_STATE] = this.rightDirection;
creatureDirections[AbstractState.MOVE_RIGHT_UP_STATE] = this.rightUpDirection;
creatureDirections[AbstractState.MOVE_UP_STATE] = this.upDirection;
}
}
}//package game.view.creature_view
Section 114
//BlueCube (game.view.BlueCube)
package game.view {
public class BlueCube extends Cube {
}
}//package game.view
Section 115
//CartrigeView (game.view.CartrigeView)
package game.view {
import flash.events.*;
import flash.display.*;
import game.*;
import game.model.cartridges.*;
public class CartrigeView extends MoveObjectView {
private var _model:Cartrige;
private var _bitmap:Bitmap;
public static var SGUN_HEIGHT:int = 35;
public static var CELL_HEIGHT:int = 32;
public static var CELL_WIDTH:int = 26;
public static var SGUN_WIDTH:int = 26;
public static var BULLETS_HEIGHT:int = 39;
public static var BULLETS_WIDTH:int = 45;
public static var BALLS_HEIGHT:int = 28;
public static var BALLS_WIDTH:int = 26;
public function setInvisibleHandler(_arg1:Event):void{
var e = _arg1;
try {
this.removeChild(_bitmap);
} catch(e:Error) {
};
}
public function set model(_arg1:Cartrige):void{
this._model = _arg1;
this.x = (_model.x * SetParameters.VIEW_CELL_WIDTH);
this.y = (_model.y * SetParameters.VIEW_CELL_HEIGHT);
this.setBitmapData(_model.typeOfCartrige);
setVisibleHandler(null);
this._model.addEventListener(Cartrige.SET_VISIBLE_EVENT, setVisibleHandler);
this._model.addEventListener(Cartrige.SET_INVISIBLE_EVENT, setInvisibleHandler);
}
private function setBitmapData(_arg1:String):void{
switch (_arg1){
case Cartrige.BULLETS:
_bitmap = new Bitmap(new bullets(CartrigeView.BULLETS_WIDTH, CartrigeView.BULLETS_HEIGHT));
_bitmap.x = 9;
_bitmap.y = -8;
break;
case Cartrige.CELL:
_bitmap = new Bitmap(new cell(CartrigeView.CELL_WIDTH, CartrigeView.CELL_HEIGHT));
_bitmap.x = 16;
_bitmap.y = -2;
break;
case Cartrige.BALLS:
_bitmap = new Bitmap(new cores(CartrigeView.BALLS_WIDTH, CartrigeView.BALLS_WIDTH));
_bitmap.x = 16;
_bitmap.y = 1;
break;
case Cartrige.SGUN:
_bitmap = new Bitmap(new sgun(CartrigeView.SGUN_WIDTH, CartrigeView.SGUN_HEIGHT));
_bitmap.x = 17;
_bitmap.y = -6;
break;
case Cartrige.HEALTH:
_bitmap = new Bitmap(new cross(CartrigeView.SGUN_WIDTH, CartrigeView.SGUN_HEIGHT));
_bitmap.x = 15;
_bitmap.y = 1;
break;
};
}
public function setVisibleHandler(_arg1:Event):void{
this.addChild(_bitmap);
}
}
}//package game.view
Section 116
//Cube (game.view.Cube)
package game.view {
import flash.display.*;
public class Cube extends MovieClip {
private var _isVisible:Boolean;// = false
public function Cube(){
_isVisible = false;
super();
}
public function set isVisible(_arg1:Boolean):void{
this._isVisible = _arg1;
}
public function get isVisible():Boolean{
return (this._isVisible);
}
}
}//package game.view
Section 117
//Floor (game.view.Floor)
package game.view {
import flash.events.*;
import flash.display.*;
import game.*;
import flash.utils.*;
import flash.geom.*;
public class Floor extends Bitmap {
private var _arrayWithNameOfContent:Array;
private var tmpYCount:int;// = 0
private var timer:Timer;
private var theWidth:int;
private var tmpXCount:int;// = 0
private var theHeight:int;
public static var TICKS_FOR_TIMER = 1;
public function Floor(_arg1:int, _arg2:int){
var theWidth = _arg1;
var theHeight = _arg2;
tmpXCount = 0;
tmpYCount = 0;
_arrayWithNameOfContent = new Array();
super();
try {
this.theWidth = theWidth;
this.theHeight = theHeight;
timer = new Timer(Floor.TICKS_FOR_TIMER);
this.bitmapData = new BitmapData((theWidth * SetParameters.VIEW_CELL_WIDTH), (theHeight * SetParameters.VIEW_CELL_HEIGHT));
} catch(e:Error) {
};
}
private function getFloorBrickBitmapData(_arg1:String):BitmapData{
var bitmapData:BitmapData;
var nameOfBitM = _arg1;
try {
switch (nameOfBitM){
case "t1_1":
bitmapData = new t1_1(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t1_2":
bitmapData = new t1_2(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t1_3":
bitmapData = new t1_3(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t1_4":
bitmapData = new t1_4(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t1_5":
bitmapData = new t1_5(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t1_6":
bitmapData = new t1_6(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t1_7":
bitmapData = new t1_7(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t1_8":
bitmapData = new t1_8(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t1_9":
bitmapData = new t1_9(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t1_10":
bitmapData = new t1_10(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t1_11":
bitmapData = new t1_11(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t1_12":
bitmapData = new t1_12(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t1_13":
bitmapData = new t1_13(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t1_14":
bitmapData = new t1_14(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t1_15":
bitmapData = new t1_15(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t1_16":
bitmapData = new t1_16(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t1_17":
bitmapData = new t1_17(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t1_18":
bitmapData = new t1_18(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t1_19":
bitmapData = new t1_19(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t2_1":
bitmapData = new t2_1(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t2_2":
bitmapData = new t2_2(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t2_3":
bitmapData = new t2_3(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t2_4":
bitmapData = new t2_4(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t2_5":
bitmapData = new t2_5(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t2_6":
bitmapData = new t2_6(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t2_7":
bitmapData = new t2_7(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t2_8":
bitmapData = new t2_8(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t2_9":
bitmapData = new t2_9(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t2_10":
bitmapData = new t2_10(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t2_11":
bitmapData = new t2_11(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t2_12":
bitmapData = new t2_12(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t2_13":
bitmapData = new t2_13(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t2_14":
bitmapData = new t2_14(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t2_15":
bitmapData = new t2_15(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t2_16":
bitmapData = new t2_16(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t2_17":
bitmapData = new t2_17(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t2_18":
bitmapData = new t2_18(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t2_19":
bitmapData = new t2_19(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t3_1":
bitmapData = new t3_1(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t3_2":
bitmapData = new t3_2(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t3_3":
bitmapData = new t3_3(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t3_4":
bitmapData = new t3_4(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t3_5":
bitmapData = new t3_5(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t3_6":
bitmapData = new t3_6(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t3_7":
bitmapData = new t3_7(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t3_8":
bitmapData = new t3_8(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t3_9":
bitmapData = new t3_9(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t3_10":
bitmapData = new t3_10(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t3_11":
bitmapData = new t3_11(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t3_12":
bitmapData = new t3_12(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t3_13":
bitmapData = new t3_13(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t3_14":
bitmapData = new t3_14(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t3_15":
bitmapData = new t3_15(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t3_16":
bitmapData = new t3_16(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t3_17":
bitmapData = new t3_17(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t3_18":
bitmapData = new t3_18(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
case "t3_19":
bitmapData = new t3_19(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
break;
default:
bitmapData = new t1_11(SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
};
return (bitmapData);
} catch(e:Error) {
return (null);
};
return (null);
}
private function timerTickHandler(_arg1:TimerEvent):void{
var debugInfo:String;
var i:int;
var tmpBtim:BitmapData;
var rect:Rectangle;
var pt:Point;
var e = _arg1;
debugInfo = "";
try {
if (tmpYCount >= _arrayWithNameOfContent.length){
timer.stop();
timer.removeEventListener(TimerEvent.TIMER, timerTickHandler);
tmpYCount = -1;
return;
};
i = 0;
while (i < _arrayWithNameOfContent[tmpYCount].length) {
debugInfo = (debugInfo + "\n2");
if (_arrayWithNameOfContent[tmpYCount][i] != null){
tmpBtim = getFloorBrickBitmapData(_arrayWithNameOfContent[tmpYCount][i]);
rect = new Rectangle(0, 0, SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
pt = new Point((i * SetParameters.VIEW_CELL_WIDTH), (tmpYCount * SetParameters.VIEW_CELL_HEIGHT));
this.bitmapData.copyPixels(tmpBtim, rect, pt);
};
i = (i + 1);
};
debugInfo = (debugInfo + "\n3");
tmpYCount++;
} catch(e:Error) {
timer.removeEventListener(TimerEvent.TIMER, timerTickHandler);
timer.stop();
tmpYCount = -1;
};
}
public function set arrayWithNameOfContent(_arg1:Array):void{
this._arrayWithNameOfContent = _arg1;
}
public function createPictureOfFloor():void{
tmpYCount = 0;
try {
theWidth = this._arrayWithNameOfContent[0].length;
theHeight = this._arrayWithNameOfContent.length;
this.bitmapData = new BitmapData(((theWidth + 1) * SetParameters.VIEW_CELL_WIDTH), ((theHeight + 1) * SetParameters.VIEW_CELL_HEIGHT));
timer.addEventListener(TimerEvent.TIMER, timerTickHandler);
timer.start();
} catch(e:Error) {
};
}
public function addOilBlot(_arg1:int, _arg2:int):void{
var _local3:int;
var _local4:BitmapData;
var _local5:Rectangle;
var _local6:Point;
_local3 = Math.round((Math.random() * 5));
switch (_local3){
case 0:
_local4 = new oil1(80, 60);
break;
case 1:
_local4 = new oil2(80, 60);
break;
case 2:
_local4 = new oil3(80, 60);
break;
case 3:
_local4 = new oil4(80, 60);
break;
case 4:
_local4 = new oil5(80, 60);
break;
case 5:
_local4 = new oil6(80, 60);
break;
};
_local5 = new Rectangle(0, 0, 80, 60);
_local6 = new Point((_arg1 - 20), (_arg2 - 15));
this.bitmapData.copyPixels(_local4, _local5, _local6, null, null, true);
}
public function resizeBitmapData(_arg1:int, _arg2:int):void{
this.theWidth = theWidth;
this.theHeight = theHeight;
this.bitmapData = new BitmapData((theWidth * SetParameters.VIEW_CELL_WIDTH), (theHeight * SetParameters.VIEW_CELL_HEIGHT));
}
}
}//package game.view
Section 118
//GreenCube (game.view.GreenCube)
package game.view {
public class GreenCube extends Cube {
}
}//package game.view
Section 119
//MortarShellView (game.view.MortarShellView)
package game.view {
import flash.events.*;
import game.*;
import game.model.mortar.*;
public class MortarShellView extends MoveObjectView {
private var _model:MortarShell;
private var _view:View;
public function MortarShellView(){
addFrameScript(0, frame1, 6, frame7);
super();
}
public function get model():MortarShell{
return (this._model);
}
public function updateHandler(_arg1:Event):void{
this.x = ((_model.x * SetParameters.VIEW_CELL_WIDTH) / SetParameters.CELLS_SIZE);
this.y = (((_model.y - _model.h) * SetParameters.VIEW_CELL_HEIGHT) / SetParameters.CELLS_SIZE);
}
public function set model(_arg1:MortarShell):void{
this._model = _arg1;
this.x = ((_model.x * SetParameters.VIEW_CELL_WIDTH) / SetParameters.CELLS_SIZE);
this.y = (((_model.y + _model.h) * SetParameters.VIEW_CELL_HEIGHT) / SetParameters.CELLS_SIZE);
this._model.addEventListener(MortarShell.MORTAR_SHELL_EXPLOSION_EVENT, expliosionShellHandler);
this._model.addEventListener(MortarShell.UPDATE_MORTAR_SHELL_EVENT, updateHandler);
}
function frame1(){
stop();
}
function frame7(){
stop();
}
public function set view(_arg1:View):void{
this._view = _arg1;
}
public function expliosionShellHandler(_arg1:Event){
this.gotoAndPlay("start_explosion");
(this.parent as View).playSound("weapon_pushka_boom", this.x);
}
}
}//package game.view
Section 120
//MoveObjectView (game.view.MoveObjectView)
package game.view {
import flash.display.*;
public class MoveObjectView extends MovieClip {
}
}//package game.view
Section 121
//PlayerView (game.view.PlayerView)
package game.view {
import flash.events.*;
import flash.display.*;
import game.controller.*;
import game.model.*;
import game.*;
import game.weapon.*;
import flash.utils.*;
import game.game_events.*;
public class PlayerView extends MoveObjectView {
private var _moveNow:Boolean;// = false
private var _needToGoStop:Boolean;// = false
private var _stepSoundTics:int;// = 0
public var upDirection:MovieClip;
private var _model:Player;
public var leftDownDirection:MovieClip;
public var leftDirection:MovieClip;
var _turnGunFrameNum:int;// = 0
public var rightDownDirection:MovieClip;
private var _needToDownShootGun:Boolean;// = false
public var rightUpDirection:MovieClip;
private var _currentDirection:MovieClip;
var _turnBodyNum:int;// = 0
public var leftUpDirection:MovieClip;
private var _needToChargeShootGun:Boolean;// = false
private var _counter:int;// = 20
public var rightDirection:MovieClip;
private var _needToGoMove:Boolean;// = false
private var _countOfStepTicks:int;// = 0
private var _dictionaryOfDirections:Dictionary;
private var _currentStepName:String;// = "null"
public var downDirection:MovieClip;
public static const SHOOT_GUN_DOWN_TICS:int = 70;
public static const SHOOT_CHARGE_TICS:int = 20;
public static const LEFT_STEP_SOUND:String = "shag1";
public static const RIGHT_STEP_SOUND:String = "shag2";
public static var SHOOT_ROCKET_FRAME:String = "fire rocket";
public static var SHOOT_BLASTER_FRAME:String = "fire blast";
public static var GUN_SHOOT_FRAME:String = "fire";
public static var SUB_MACHINE_GUN_FRAME:String = "fire auto";
public static var SHOOT_GUN_FRAME:String = "fire drob";
public function PlayerView(){
_needToGoMove = false;
_needToGoStop = false;
_moveNow = false;
_needToChargeShootGun = false;
_needToDownShootGun = false;
_counter = PlayerView.SHOOT_CHARGE_TICS;
_currentStepName = "null";
_stepSoundTics = 0;
_turnGunFrameNum = 0;
_turnBodyNum = 0;
_countOfStepTicks = 0;
super();
x = 100;
y = 100;
_dictionaryOfDirections = new Dictionary();
try {
_dictionaryOfDirections[GameObject.UP_DIRECTION] = this.upDirection;
this.upDirection.visible = 1;
this.upDirection.stop();
this.upDirection.body.stop();
this.upDirection.body.gun.stop();
_dictionaryOfDirections[GameObject.DOWN_DIRECTION] = this.downDirection;
this.downDirection.visible = 0;
this.downDirection.stop();
this.downDirection.body.stop();
this.downDirection.body.gun.stop();
_dictionaryOfDirections[GameObject.LEFT_DIRECTION] = this.leftDirection;
this.leftDirection.visible = 0;
this.leftDirection.stop();
this.leftDirection.body.stop();
this.leftDirection.body.gun.stop();
_dictionaryOfDirections[GameObject.RIGHT_DIRECTION] = this.rightDirection;
this.rightDirection.visible = 0;
this.rightDirection.stop();
this.rightDirection.body.stop();
this.rightDirection.body.gun.stop();
_dictionaryOfDirections[GameObject.LEFT_DOWN_DIRECTION] = this.leftDownDirection;
this.leftDownDirection.visible = 0;
this.leftDownDirection.stop();
this.leftDownDirection.body.stop();
this.leftDownDirection.body.gun.stop();
_dictionaryOfDirections[GameObject.RIGHT_DOWN_DIRECTION] = this.rightDownDirection;
this.rightDownDirection.visible = 0;
this.rightDownDirection.stop();
this.rightDownDirection.body.stop();
this.rightDownDirection.body.gun.stop();
_dictionaryOfDirections[GameObject.LEFT_UP_DIRECTION] = this.leftUpDirection;
this.leftUpDirection.visible = 0;
this.leftUpDirection.stop();
this.leftUpDirection.body.stop();
this.leftUpDirection.body.gun.stop();
_dictionaryOfDirections[GameObject.RIGHT_UP_DIRECTION] = this.rightUpDirection;
this.rightUpDirection.stop();
this.rightUpDirection.visible = 0;
this.rightUpDirection.body.stop();
this.rightUpDirection.body.gun.stop();
_currentDirection = upDirection;
} catch(e:Error) {
};
}
public function removeThisShoot(_arg1:Shoot):void{
var shoot = _arg1;
try {
this.removeChild(shoot);
} catch(e:Error) {
};
}
public function addModelListeners():void{
_model.addEventListener(Player.UPDATE_PLAYER, update);
_model.gun.addEventListener(Gun.START_SHOOT, shootHandler);
_model.addEventListener(Player.PLAYER_CHANGE_DIRECTION_EVENT, changeDirectionEvent);
_model.addEventListener(Player.PLAYER_MOVE_EVENT, startMoveHandler);
_model.addEventListener(Player.PLAYER_STOP_EVENT, stopMoveHandler);
_model.gun.addEventListener(Gun.CHANGE_GUN_EVENT, changeGunHandler);
_model.addEventListener(Player.PLAYER_IN_SHOCK_STATE, this.playerInShockHandler);
_model.addEventListener(Gun.HAVENT_CARTRIGES_EVENT, this.haventCartrigesHandler);
_model.addEventListener(Gun.SHOOT_IN_WALL, this.shootInWallHandler);
_model.addEventListener(Player.GET_CARTRIGE_EVENT, getCartrigeHandler);
}
public function haventCartrigesHandler(_arg1:Event):void{
this.playSound("weapon_null");
}
public function shootHandler(_arg1:Event):void{
var _local2:Shoot;
_local2 = new Shoot();
this.addChild(_local2);
_local2.parentView = this;
_local2.rotation = _model.playerAlpha;
switch (_model.gun.currentGunName){
case Gun.GUN:
playSound("weapon_pistol");
_currentDirection.body.gotoAndPlay(PlayerView.GUN_SHOOT_FRAME);
break;
case Gun.SUBMACHINE_GUN:
playSound("weapon_uzi");
_currentDirection.body.gotoAndPlay(PlayerView.SUB_MACHINE_GUN_FRAME);
break;
case Gun.SHOOT_GUN:
playSound("weapon_drobovik");
_currentDirection.body.gotoAndPlay(PlayerView.SHOOT_GUN_FRAME);
_needToChargeShootGun = true;
this._counter = PlayerView.SHOOT_CHARGE_TICS;
break;
case Gun.BLASTER:
playSound("weapon_railgun");
_currentDirection.body.gotoAndPlay(PlayerView.SHOOT_BLASTER_FRAME);
break;
case Gun.ROCKET:
playSound("weapon_puska_fly");
_currentDirection.body.gotoAndPlay(PlayerView.SHOOT_ROCKET_FRAME);
_currentDirection.body.gun.rocket.play();
break;
};
}
public function changeDirectionEvent(_arg1:GameObjectEvent):void{
var numOfBodyFrame:int;
var numOfGunFrame:int;
var e = _arg1;
try {
this._needToGoMove = true;
numOfBodyFrame = _currentDirection.body.currentFrame;
numOfGunFrame = _currentDirection.body.gun.currentFrame;
removeCurrentDirection(_currentDirection);
_currentDirection = _dictionaryOfDirections[e.hashcode];
_currentDirection.visible = true;
_currentDirection.body.gotoAndPlay(numOfBodyFrame);
_currentDirection.body.gun.gotoAndStop(numOfGunFrame);
} catch(err:Error) {
};
}
public function playSound(_arg1:String):void{
var _local2:int;
var _local3:Number;
_local2 = ((this.parent as MovieClip).x + this.x);
_local3 = ((2 * (_local2 - (SetParameters.VIEW_WIDTH / 2))) / SetParameters.VIEW_WIDTH);
Global.sound_game.playSound(null, _arg1, null, _local3);
}
public function shootInWallHandler(_arg1:Event):void{
var _local2:int;
_local2 = Math.round(Math.random());
if (_local2 == 1){
this.playSound("wall_hit1");
} else {
this.playSound("wall_hit2");
};
}
private function playerInShockHandler(_arg1:Event):void{
playSound("player_hit");
}
public function stopMovie():void{
this.stop();
this._currentDirection.stop();
}
private function processShootGun():void{
if (this._needToChargeShootGun){
this.processToWaitUpShootGun();
};
if (this._needToDownShootGun){
this.processToWaitDownShootGun();
};
}
public function set model(_arg1:Player):void{
_model = _arg1;
this.x = _model.x;
this.y = _model.y;
addModelListeners();
}
private function processStepSound():void{
if (this._countOfStepTicks < SetParameters.PLAYER_ONE_STEP_TICKS){
_countOfStepTicks++;
} else {
_countOfStepTicks = 0;
playSound("player_step");
};
}
public function startMoveHandler(_arg1:Event):void{
_moveNow = true;
_countOfStepTicks = 0;
_currentDirection.gotoAndPlay("move");
if (((!((_currentDirection.body == null))) && (_needToGoMove))){
_currentDirection.body.gotoAndPlay("move");
_needToGoMove = false;
_currentDirection.body.gun.gotoAndStop(_model.gun.currentGunName);
};
}
private function removeCurrentDirection(_arg1:MovieClip):void{
_arg1.visible = 0;
_arg1.stop();
_arg1.body.stop();
}
public function removeModelListeners():void{
_model.removeEventListener(Player.UPDATE_PLAYER, update);
_model.gun.removeEventListener(Gun.START_SHOOT, shootHandler);
_model.removeEventListener(Player.PLAYER_CHANGE_DIRECTION_EVENT, changeDirectionEvent);
_model.removeEventListener(Player.PLAYER_MOVE_EVENT, startMoveHandler);
_model.removeEventListener(Player.PLAYER_STOP_EVENT, stopMoveHandler);
_model.gun.removeEventListener(Gun.CHANGE_GUN_EVENT, changeGunHandler);
_model.removeEventListener(Player.PLAYER_IN_SHOCK_STATE, this.playerInShockHandler);
_model.removeEventListener(Gun.HAVENT_CARTRIGES_EVENT, this.haventCartrigesHandler);
_model.removeEventListener(Gun.SHOOT_IN_WALL, this.shootInWallHandler);
_model.removeEventListener(Player.GET_CARTRIGE_EVENT, getCartrigeHandler);
}
public function changeGunHandler(_arg1:Event):void{
_currentDirection.body.gun.gotoAndStop(_model.gun.currentGunName);
Controller.instance.main.playerInfo.changeGun(_model.gun.currentGunName);
}
private function processToWaitUpShootGun():void{
if (_counter > 0){
_counter--;
} else {
_currentDirection.body.gun.gotoAndPlay("rech");
_counter = PlayerView.SHOOT_GUN_DOWN_TICS;
this._needToChargeShootGun = false;
_needToDownShootGun = true;
};
}
public function stopMoveHandler(_arg1:Event):void{
var _local2:int;
_moveNow = false;
_countOfStepTicks = 0;
_local2 = (_currentDirection.body as MovieClip).currentFrame;
_currentDirection.gotoAndStop("stop");
if (_currentDirection.body != null){
_currentDirection.body.gotoAndPlay("stop");
_needToGoMove = true;
_currentDirection.body.gun.gotoAndStop(_model.gun.currentGunName);
};
}
public function update(_arg1:Event):void{
x = ((_model.x / SetParameters.CELLS_SIZE) * SetParameters.VIEW_CELL_WIDTH);
y = ((_model.y / SetParameters.CELLS_SIZE) * SetParameters.VIEW_CELL_HEIGHT);
if (this._moveNow){
processStepSound();
};
}
private function getCartrigeHandler(_arg1:Event):void{
this.playSound("player_get_weapon");
}
private function processToWaitDownShootGun():void{
if (_counter > 0){
_counter--;
} else {
_currentDirection.body.gun.gotoAndPlay("down_sg");
_counter = PlayerView.SHOOT_CHARGE_TICS;
this._needToDownShootGun = false;
};
}
}
}//package game.view
Section 122
//ShellView (game.view.ShellView)
package game.view {
import flash.events.*;
import game.*;
import game.model.shells.*;
public class ShellView extends MoveObjectView {
private var _model:Shell;
private var _dx:Number;
private var _dy:Number;
private var _hashcode:String;// = ""
public static var SHIFT_Y:int = 100;
public function ShellView(){
_hashcode = "";
super();
}
public function removeListeners():void{
this._model.removeEventListener(Shell.UPDATE_SHELL, updateHandler);
}
public function get model():Shell{
return (this._model);
}
public function updateHandler(_arg1:Event):void{
this.x = (((_model.x + (SetParameters.CELLS_SIZE / 2)) / SetParameters.CELLS_SIZE) * SetParameters.VIEW_CELL_WIDTH);
this.y = ((((_model.y + (SetParameters.CELLS_SIZE / 2)) / SetParameters.CELLS_SIZE) * SetParameters.VIEW_CELL_HEIGHT) - 50);
}
public function set model(_arg1:Shell):void{
this._model = _arg1;
this.x = ((_arg1.x / SetParameters.CELLS_SIZE) * SetParameters.VIEW_CELL_WIDTH);
this.y = ((_arg1.y / SetParameters.CELLS_SIZE) * SetParameters.VIEW_CELL_HEIGHT);
this._model.addEventListener(Shell.UPDATE_SHELL, updateHandler);
}
public function get hashcode():String{
return (this._hashcode);
}
public function set hashcode(_arg1:String):void{
this._hashcode = _arg1;
}
}
}//package game.view
Section 123
//Shoot (game.view.Shoot)
package game.view {
import flash.events.*;
import flash.display.*;
public class Shoot extends MovieClip {
private var _playerView:PlayerView;
public static var END_OF_SHOOT_ACTION:String = "end_of_shoot";
public function Shoot(){
this.addEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
}
public function set parentView(_arg1:PlayerView):void{
this._playerView = _arg1;
}
private function onEnterFrameHandler(_arg1:Event):void{
var e = _arg1;
try {
if (this.currentFrame === this.totalFrames){
_playerView.removeThisShoot(this);
};
} catch(e:Error) {
};
}
}
}//package game.view
Section 124
//TeleportSplashView (game.view.TeleportSplashView)
package game.view {
import flash.events.*;
import game.model.teleports.*;
public class TeleportSplashView extends MoveObjectView {
private var _model:Teleport;
public function TeleportSplashView(){
addFrameScript(29, frame30);
super();
}
public function set model(_arg1:Teleport):void{
this._model = _arg1;
this._model.addEventListener(Teleport.START_SPLASH_EVENT, startSplashHandler);
}
function frame30(){
stop();
}
private function startSplashHandler(_arg1:Event):void{
this.gotoAndPlay("play");
}
}
}//package game.view
Section 125
//WhiteCube (game.view.WhiteCube)
package game.view {
public class WhiteCube extends Cube {
}
}//package game.view
Section 126
//View (game.view.View)
package game.view {
import flash.events.*;
import flash.display.*;
import game.model.creatures.*;
import game.controller.*;
import game.model.*;
import game.*;
import de.polygonal.ds.*;
import game.model.shells.*;
import game.model.teleports.*;
import game.model.mortar.*;
import flash.utils.*;
import game.game_events.*;
import game.model.cartridges.*;
import game.view.creature_view.*;
public class View extends MovieClip {
private var floor:Floor;
private var _model:Model;
private var containerOfBarrels:HashMap;
private var _ticksOfRecountDepth:int;// = 0
private var _containerOfTeleportSplashes:Array;
private var _containerOfMortarShells:HashMap;
private var _teleportsArray:Array;
private var playerView:PlayerView;
private var _teleportsBG:MovieClip;
private var containerOfCartriges:Array;
private var containerOfTeleports:Array;
private var oldPlayerX:Number;
private var oldPlayerY:Number;
private var containerOfCreaturesView:HashMap;
private var containerOfCubes:Array;
private var _explosionMC:MovieClip;
private var containerOfShellsView:HashMap;
public function View(){
_teleportsArray = new Array();
containerOfTeleports = new Array();
_containerOfTeleportSplashes = new Array();
_containerOfMortarShells = new HashMap();
_ticksOfRecountDepth = 0;
super();
try {
_teleportsBG = new MovieClip();
containerOfCartriges = new Array();
floor = new Floor((SetParameters.GAME_WIDTH / 2), (SetParameters.GAME_HEIGHT / 2));
addChild(floor);
addChild(_teleportsBG);
playerView = new PlayerView();
addChild(playerView);
containerOfCreaturesView = new HashMap();
containerOfShellsView = new HashMap();
containerOfCubes = new Array();
containerOfBarrels = new HashMap();
_explosionMC = new MovieClip();
} catch(e:Error) {
};
}
public function addCreateTeleportsLisener():void{
this._model.containerOfTeleports.addEventListener(ContainerOfTeleports.ADD_NEW_TELEPORT_EVENT, this.addNewTeleportViewHandler);
}
public function removeListeners():void{
this._model.removeEventListener(Model.UPDATE_GAME, this.update);
this._model.mortarContainer.removeEventListener(MortarContainer.ADD_MORTAR_SHELL_EVENT, this.addMortarShellEvent);
this._model.mortarContainer.removeEventListener(MortarContainer.REMOVE_MORTAR_SHELL_EVENT, this.removeMortarShellHandler);
this._model.creatures.removeEventListener(ContainerOfCreatures.ADD_NEW_CREATURE_EVENT, this.addCreatureHandler);
this._model.creatures.removeEventListener(ContainerOfCreatures.REMOVE_CREATURE_EVENT, this.removeCreatureHandler);
this._model.containerOfShells.removeEventListener(ContainerOfShells.ADD_NEW_SHELL_EVENT, this.addShellHandler);
this._model.containerOfShells.removeEventListener(ContainerOfShells.REMOVE_SHELL, this.removeShootHandler);
}
public function addShellHandler(_arg1:GameObjectEvent):void{
var _local2:ShellView;
_local2 = new ShellView();
_local2.model = this._model.containerOfShells.getObject(_arg1.hashcode);
_local2.hashcode = _arg1.hashcode;
this.containerOfShellsView.insert(_local2.model.hashcode, _local2);
addChild(_local2);
}
public function playSound(_arg1:String, _arg2:Number):void{
Global.sound_game.playSound(null, _arg1, null, ((_arg2 - this.playerView.x) / this.width));
}
public function set model(_arg1:Model):void{
this._model = _arg1;
_model.bossHaveBinAdded = false;
this._model.addEventListener(Model.MODEL_CREATE_NEW_LEVEL_COMPLETE, this.createNewLevelHandler);
addListeners();
this.playerView.model = _model.player;
this.playerView.x = ((this._model.player.x * SetParameters.VIEW_CELL_WIDTH) / SetParameters.CELLS_SIZE);
this.playerView.y = ((this._model.player.y * SetParameters.VIEW_CELL_HEIGHT) / SetParameters.CELLS_SIZE);
}
public function createNewLevelHandler(_arg1:Event):void{
this.playerView.stop();
removeListeners();
floor.arrayWithNameOfContent = LevelsContent.ARRAY_OF_BG[this._model.numOfCurrentLevel];
floor.createPictureOfFloor();
drawWalls();
this.playerView.x = ((this._model.player.x * SetParameters.VIEW_CELL_WIDTH) / SetParameters.CELLS_SIZE);
this.playerView.y = ((this._model.player.y * SetParameters.VIEW_CELL_HEIGHT) / SetParameters.CELLS_SIZE);
Controller.instance.initPlayer();
oldPlayerX = _model.player.x;
oldPlayerY = _model.player.y;
drawCartriges();
}
public function get playerRobotView():PlayerView{
return (this.playerView);
}
private function drawCells():void{
var _local1:Number;
var _local2:int;
var _local3:int;
var _local4:Number;
graphics.clear();
graphics.beginFill(0, 1);
_local1 = 0;
while (_local1 < _model.currentLevelWidth) {
_local4 = 0;
while (_local4 < _model.currentLevelHeight) {
if (_model.arrayOfCells[_local1][_local4] != Model.FREE_CELL_VALUE){
graphics.drawRect((_local4 * SetParameters.VIEW_CELL_WIDTH), (_local1 * SetParameters.VIEW_CELL_HEIGHT), SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
};
_local4++;
};
_local1++;
};
_local2 = Model.countCreatureCellCoord(_model.player.x);
_local3 = Model.countCreatureCellCoord(_model.player.y);
graphics.drawRect((_local2 * SetParameters.VIEW_CELL_WIDTH), (_local3 * SetParameters.VIEW_CELL_HEIGHT), SetParameters.VIEW_CELL_WIDTH, SetParameters.VIEW_CELL_HEIGHT);
}
private function getSetOfCubes(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Array{
var _local5:Array;
var _local6:MovieClip;
_local5 = new Array();
for each (_local6 in this.containerOfCubes) {
if ((((((((_local6.x >= _arg1)) && ((_local6.y >= _arg2)))) && ((_local6.x <= _arg3)))) && ((_local6.y <= _arg4)))){
if (((((((_local6.y - this.playerView.y) >= 0)) && (((_local6.y - this.playerView.y) < (2 * SetParameters.VIEW_CELL_HEIGHT))))) && ((Math.abs(((_local6.x - (SetParameters.VIEW_CELL_WIDTH / 2)) - this.playerView.x)) < (2 * SetParameters.VIEW_CELL_WIDTH))))){
_local6.alpha = 0.5;
} else {
_local6.alpha = 1;
};
_local5.push(_local6);
} else {
_local6.alpha = 1;
};
};
return (_local5);
}
public function removeTeleports():void{
var _local1:int;
_local1 = 0;
while (_local1 < this._teleportsArray.length) {
_teleportsBG.removeChild(_teleportsArray[_local1]);
_local1++;
};
_teleportsArray.splice(0, _teleportsArray.length);
}
public function addListeners():void{
this._model.addEventListener(Model.UPDATE_GAME, this.update);
this._model.mortarContainer.addEventListener(MortarContainer.ADD_MORTAR_SHELL_EVENT, this.addMortarShellEvent);
this._model.mortarContainer.addEventListener(MortarContainer.REMOVE_MORTAR_SHELL_EVENT, this.removeMortarShellHandler);
this._model.creatures.addEventListener(ContainerOfCreatures.ADD_NEW_CREATURE_EVENT, this.addCreatureHandler);
this._model.creatures.addEventListener(ContainerOfCreatures.REMOVE_CREATURE_EVENT, this.removeCreatureHandler);
this._model.containerOfShells.addEventListener(ContainerOfShells.ADD_NEW_SHELL_EVENT, this.addShellHandler);
this._model.containerOfShells.addEventListener(ContainerOfShells.REMOVE_SHELL, this.removeShootHandler);
}
private function removeCartriges():void{
var _local1:MovieClip;
for each (_local1 in containerOfCartriges) {
removeChild(_local1);
};
containerOfCartriges = new Array();
}
public function processWalls(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Array{
var _local5:Array;
var _local6:Cube;
_local5 = new Array();
for each (_local6 in this.containerOfCubes) {
if ((((((((_local6.x >= _arg1)) && ((_local6.y >= _arg2)))) && ((_local6.x <= _arg3)))) && ((_local6.y <= _arg4)))){
if (!_local6.isVisible){
this.addChild(_local6);
_local6.isVisible = true;
};
_local5.push(_local6);
} else {
if (_local6.isVisible){
this.removeChild(_local6);
_local6.isVisible = false;
};
_local5.push(_local6);
};
};
return (_local5);
}
public function update(_arg1:Event):void{
processMovePlayer();
sortDepth();
}
public function removeShootHandler(_arg1:GameObjectEvent):void{
var shellV:ShellView;
var event = _arg1;
try {
shellV = this.containerOfShellsView.find(event.hashcode);
this.containerOfShellsView.remove(event.hashcode);
shellV.removeListeners();
this.removeChild(shellV);
} catch(e:Error) {
};
}
public function stopPlayerView():void{
this.playerView.stopMovie();
}
private function damageHandler(_arg1:GameObjectEvent):void{
var creatureView:CreatureView;
var gameEvent = _arg1;
try {
creatureView = containerOfCreaturesView.find(gameEvent.hashcode);
if (creatureView != null){
this.floor.addOilBlot(creatureView.x, creatureView.y);
};
} catch(e:Error) {
};
}
public function removeCreatureHandler(_arg1:GameObjectEvent):void{
var hashcode:String;
var creatureView:CreatureView;
var e = _arg1;
try {
hashcode = e.hashcode;
creatureView = containerOfCreaturesView.find(hashcode);
removeChild(creatureView);
containerOfCreaturesView.remove(hashcode);
} catch(e:Error) {
};
}
private function countDepth(_arg1:MovieClip):Number{
var _local2:MortarShellView;
var _local3:int;
var _local4:int;
_local2 = (_arg1 as MortarShellView);
_local3 = _arg1.x;
_local4 = _arg1.y;
if (_local2 == null){
_local3 = _arg1.x;
_local4 = _arg1.y;
} else {
_local3 = _local2.model.x;
_local4 = _local2.model.y;
};
return (((((SetParameters.GAME_WIDTH * SetParameters.VIEW_CELL_HEIGHT) * _local4) + (SetParameters.GAME_WIDTH * SetParameters.VIEW_CELL_WIDTH)) - _local3));
}
public function drawWalls():void{
var debugInfo:String;
var levelWidth:int;
var arrayOfCells:Array;
var i:Number;
var lineArray:Array;
var j:Number;
var wallValue:*;
var cubeView:Cube;
debugInfo = "";
try {
debugInfo = (debugInfo + "\n1");
levelWidth = _model.arrayOfCells[0].lenght;
debugInfo = (debugInfo + "\n2");
arrayOfCells = _model.arrayOfCells;
debugInfo = (debugInfo + "\n3");
i = 0;
while (i < arrayOfCells.length) {
debugInfo = "in first looop";
lineArray = (arrayOfCells[i] as Array);
debugInfo = (debugInfo + ("line array:" + lineArray));
j = 0;
while (j < lineArray.length) {
wallValue = lineArray[j];
debugInfo = (debugInfo + (((((("\nin second looop" + "\narrayOfCells[") + i) + "][") + j) + "]:") + wallValue));
cubeView = null;
debugInfo = (debugInfo + "I am here");
if (wallValue == Model.WALL_CELL_VALUE1){
debugInfo = (debugInfo + "\nin first if 1");
cubeView = new BlueCube();
debugInfo = (debugInfo + "\nin first if 2");
cubeView.x = (j * SetParameters.VIEW_CELL_WIDTH);
debugInfo = (debugInfo + "\nin first if 3");
cubeView.y = (i * SetParameters.VIEW_CELL_HEIGHT);
debugInfo = (debugInfo + "\nin first if 4");
addChild(cubeView);
debugInfo = (debugInfo + "\nin first if 5");
containerOfCubes.push(cubeView);
debugInfo = (debugInfo + "\nin first if 6");
} else {
if (wallValue == Model.WALL_CELL_VALUE2){
debugInfo = (debugInfo + "\nin second if 1");
cubeView = new GreenCube();
debugInfo = (debugInfo + "\nin second if 2");
cubeView.x = (j * SetParameters.VIEW_CELL_WIDTH);
debugInfo = (debugInfo + "\nin second if 3");
cubeView.y = (i * SetParameters.VIEW_CELL_HEIGHT);
debugInfo = (debugInfo + "\nin second if 4");
addChild(cubeView);
debugInfo = (debugInfo + "\nin second if 5");
containerOfCubes.push(cubeView);
debugInfo = (debugInfo + "\nin second if 6");
};
};
if (wallValue == Model.WALL_CELL_VALUE3){
debugInfo = (debugInfo + "\nin third if 1");
cubeView = new WhiteCube();
debugInfo = (debugInfo + "\nin third if 2");
cubeView.x = (j * SetParameters.VIEW_CELL_WIDTH);
debugInfo = (debugInfo + "\nin third if 3");
cubeView.y = (i * SetParameters.VIEW_CELL_HEIGHT);
debugInfo = (debugInfo + "\nin third if 4");
addChild(cubeView);
debugInfo = (debugInfo + "\nin third if 5");
containerOfCubes.push(cubeView);
debugInfo = (debugInfo + "\nin third if 6");
};
if (cubeView != null){
cubeView.isVisible = true;
};
j = (j + 1);
};
i = (i + 1);
};
} catch(e:Error) {
};
}
private function sortAccordingIsometry(_arg1:MovieClip, _arg2:MovieClip):Number{
return (GeometryFunctions.signWithZiro((countDepth(_arg1) - countDepth(_arg2))));
}
public function addCreatureHandler(_arg1:GameObjectEvent):void{
var creatureView:CreatureView;
var creatureModel:Creature;
var creatureType:String;
var e = _arg1;
try {
creatureModel = _model.creatures.getObject(e.hashcode);
creatureType = creatureModel.typeOfCreature;
switch (creatureType){
case Creature.SIMPLE_ROBOT:
creatureView = new SimpleRobotView();
break;
case Creature.SHOOT_ROBOT:
creatureView = new ShootRobotView();
break;
case Creature.KAMIKAZE_ROBOT:
creatureView = new KamikazeRobotView();
break;
case Creature.BOSS_ROBOT:
creatureView = new BossRobotView();
break;
};
creatureView.model = creatureModel;
creatureModel.addEventListener(Creature.HIT_BOT_EVENT, this.damageHandler);
containerOfCreaturesView.insert(creatureModel.hashcode, creatureView);
addChild(creatureView);
} catch(e:Error) {
};
}
public function removeShellsView():void{
var _local1:Iterator;
var _local2:MovieClip;
_local1 = containerOfShellsView.getIterator();
while (_local1.hasNext()) {
_local2 = _local1.next();
this.removeChild(_local2);
};
containerOfShellsView.clear();
}
public function initStartViewPosition():void{
if (playerView.x < (SetParameters.VIEW_WIDTH / 2)){
this.x = 0;
} else {
if (playerView.x > ((SetParameters.VIEW_CELL_WIDTH * _model.currentLevelWidth) - (SetParameters.VIEW_WIDTH / 2))){
this.x = -(((SetParameters.VIEW_CELL_WIDTH * _model.currentLevelWidth) - SetParameters.VIEW_WIDTH));
} else {
this.x = -((playerView.x - (SetParameters.VIEW_WIDTH / 2)));
};
};
if (playerView.y < (SetParameters.VIEW_HEIGHT / 2)){
this.y = 0;
} else {
if (playerView.y > ((SetParameters.VIEW_CELL_HEIGHT * _model.currentLevelHeight) - (SetParameters.VIEW_HEIGHT / 2))){
this.y = -(((SetParameters.VIEW_CELL_HEIGHT * _model.currentLevelHeight) - SetParameters.VIEW_HEIGHT));
} else {
this.y = -((playerView.y - (SetParameters.VIEW_HEIGHT / 2)));
};
};
}
public function addNewTeleportViewHandler(_arg1:GameObjectEvent):void{
var _local2:MovieClip;
var _local3:Teleport;
var _local4:TeleportSplashView;
_local2 = new TeleportView();
_local3 = this._model.containerOfTeleports.getObject(_arg1.hashcode);
_local2.x = ((_local3.x - 1) * SetParameters.VIEW_CELL_WIDTH);
_local2.y = ((_local3.y - 1) * SetParameters.VIEW_CELL_HEIGHT);
this._teleportsBG.addChild(_local2);
_teleportsArray.push(_local2);
_local4 = new TeleportSplashView();
_local4.x = ((_local3.x + (1 / 2)) * SetParameters.VIEW_CELL_WIDTH);
_local4.y = ((_local3.y + (1 / 2)) * SetParameters.VIEW_CELL_HEIGHT);
_local4.model = _local3;
_local4.gotoAndStop("stop");
this.addChild(_local4);
this._containerOfTeleportSplashes.push(_local4);
}
private function getSetOfSortedDepthCreatures(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Array{
var _local5:Iterator;
var _local6:Array;
var _local7:CreatureView;
_local5 = this.containerOfCreaturesView.getIterator();
_local6 = new Array();
while (_local5.hasNext()) {
_local7 = _local5.next();
if ((((((((_local7.x >= _arg1)) && ((_local7.y >= _arg2)))) && ((_local7.x <= _arg3)))) && ((_local7.y <= _arg4)))){
_local6.push(_local7);
_local7.isVisible = true;
} else {
if (_local7.isVisible){
_local7.isVisible = false;
};
};
};
return (_local6);
}
public function addMortarShellEvent(_arg1:GameObjectEvent):void{
var _local2:MortarShell;
var _local3:MortarShellView;
_local2 = _model.mortarContainer.getObject(_arg1.hashcode);
_local3 = new MortarShellView();
_local3.model = _local2;
this._containerOfMortarShells.insert(_local2.hashcode, _local3);
addChild(_local3);
}
private function countThisX(_arg1:Number):Number{
return ((_arg1 - SetParameters.VIEW_WIDTH));
}
private function countThisY(_arg1:Number):Number{
return ((_arg1 - SetParameters.VIEW_HEIGHT));
}
public function drawCartriges():void{
var _local1:Iterator;
var _local2:Cartrige;
var _local3:CartrigeView;
_local1 = _model.containerOfCartrigesIterator;
while (_local1.hasNext()) {
_local2 = _local1.next();
_local3 = new CartrigeView();
_local3.model = _local2;
this.addChild(_local3);
containerOfCartriges.push(_local3);
};
}
public function sortDepth():void{
var commonArray:Array;
var minX:int;
var minY:int;
var maxX:int;
var maxY:int;
var lenBefore:int;
var i:int;
if (_ticksOfRecountDepth <= 0){
_ticksOfRecountDepth = SetParameters.TICKS_OF_RECOUNT_WIDTH;
this.setChildIndex(this._teleportsBG, 1);
commonArray = new Array();
minX = ((playerView.x - (SetParameters.VIEW_WIDTH / 2)) - (5 * SetParameters.VIEW_CELL_WIDTH));
minY = ((playerView.y - (SetParameters.VIEW_HEIGHT / 2)) - (5 * SetParameters.VIEW_CELL_HEIGHT));
maxX = ((playerView.x + (SetParameters.VIEW_WIDTH / 2)) + (5 * SetParameters.VIEW_CELL_WIDTH));
maxY = ((playerView.y + (SetParameters.VIEW_HEIGHT / 2)) + (5 * SetParameters.VIEW_CELL_HEIGHT));
commonArray = commonArray.concat(this.getSetOfCubes(minX, minY, maxX, maxY));
commonArray.push(playerView);
commonArray = commonArray.concat(this.getSetOfSortedDepthCreatures(minX, minY, maxX, maxY));
commonArray = commonArray.concat(this.getSetOfSortedDepthElements(this.containerOfCartriges, minX, minY, maxX, maxY));
commonArray = commonArray.concat(this.getSetOfSortedDepthElements(this.containerOfShellsView.toArray(), minX, minY, maxX, maxY));
lenBefore = commonArray.length;
commonArray = commonArray.concat(this.getSetOfSortedDepthElements(this._containerOfTeleportSplashes, minX, minY, maxX, maxY));
commonArray = commonArray.concat(this.getSetOfSortedDepthElements(this._containerOfMortarShells.toArray(), minX, minY, maxX, maxY));
commonArray.sort(sortAccordingIsometry, Array.NUMERIC);
i = 0;
while (i < commonArray.length) {
try {
setChildIndex(commonArray[i], ((i + SetParameters.START_DEPTH) + 1));
} catch(e:Error) {
};
i = (i + 1);
};
} else {
this._ticksOfRecountDepth--;
};
}
private function removeWalls():void{
var _local1:MovieClip;
for each (_local1 in this.containerOfCubes) {
removeChild(_local1);
};
containerOfCubes = new Array();
}
public function removeCreateTeleportListener():void{
this._model.containerOfTeleports.removeEventListener(ContainerOfTeleports.ADD_NEW_TELEPORT_EVENT, this.addNewTeleportViewHandler);
}
public function removeMortarShellHandler(_arg1:GameObjectEvent):void{
var iterator:Iterator;
var mc:MovieClip;
var event = _arg1;
try {
iterator = this._containerOfMortarShells.getKeyIterator();
mc = this._containerOfMortarShells.find(event.hashcode);
this.removeChild(this._containerOfMortarShells.find(event.hashcode));
this._containerOfMortarShells.remove(event.hashcode);
} catch(e:Error) {
};
}
public function removeMortarShells():void{
var _local1:Iterator;
var _local2:MovieClip;
_local1 = this._containerOfMortarShells.getIterator();
while (_local1.hasNext()) {
_local2 = _local1.next();
this.removeChild(_local2);
};
_containerOfMortarShells.clear();
}
public function processMovePlayer():void{
var _local1:Number;
_local1 = 10;
if (playerView.x < (SetParameters.VIEW_WIDTH / 2)){
this.x = (this.x - (this.x / _local1));
} else {
if (playerView.x > ((SetParameters.VIEW_CELL_WIDTH * _model.currentLevelWidth) - (SetParameters.VIEW_WIDTH / 2))){
this.x = (this.x - ((this.x + ((SetParameters.VIEW_CELL_WIDTH * _model.currentLevelWidth) - SetParameters.VIEW_WIDTH)) / _local1));
} else {
this.x = (this.x - ((this.x + (playerView.x - (SetParameters.VIEW_WIDTH / 2))) / _local1));
};
};
if (playerView.y < (SetParameters.VIEW_HEIGHT / 2)){
this.y = (this.y - (this.y / _local1));
} else {
if (playerView.y > ((SetParameters.VIEW_CELL_HEIGHT * _model.currentLevelHeight) - (SetParameters.VIEW_HEIGHT / 2))){
this.y = (this.y - ((this.y + ((SetParameters.VIEW_CELL_HEIGHT * _model.currentLevelHeight) - SetParameters.VIEW_HEIGHT)) / _local1));
} else {
this.y = (this.y - ((this.y + (playerView.y - (SetParameters.VIEW_HEIGHT / 2))) / _local1));
};
};
}
public function removeShells():void{
removeShellsView();
removeMortarShells();
removeTeleportsSplashes();
removeTeleports();
}
public function removeObjects():void{
removeWalls();
removeCartriges();
removeCreatures();
removeShells();
}
private function removeCreatures():void{
var _local1:Iterator;
var _local2:CreatureView;
_local1 = containerOfCreaturesView.getIterator();
while (_local1.hasNext()) {
_local2 = _local1.next();
this.removeChild(_local2);
};
containerOfCreaturesView.clear();
}
public function removeTeleportsSplashes():void{
var _local1:int;
var _local2:MovieClip;
_local1 = 0;
while (_local1 < _containerOfTeleportSplashes.length) {
_local2 = _containerOfTeleportSplashes[_local1];
removeChild(_local2);
_local1++;
};
_containerOfTeleportSplashes = new Array();
}
private function getSetOfSortedDepthElements(_arg1:Array, _arg2:int, _arg3:int, _arg4:int, _arg5:int):Array{
var _local6:Array;
var _local7:MovieClip;
_local6 = new Array();
for each (_local7 in _arg1) {
if ((((((((_local7.x >= _arg2)) && ((_local7.y >= _arg3)))) && ((_local7.x <= _arg4)))) && ((_local7.y <= _arg5)))){
_local6.push(_local7);
};
};
return (_local6);
}
public function removeThisShoot(_arg1:Shoot):void{
var shoot = _arg1;
try {
playerView.removeChild(shoot);
} catch(e:Error) {
};
}
}
}//package game.view
Section 127
//GeometryFunctions (game.GeometryFunctions)
package game {
public class GeometryFunctions {
public static function isCircleIntersectSegmentOfLine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Boolean{
var theDistance:Number;
var A1:Number;
var B1:Number;
var C1:Number;
var arr:Array;
var A2:Number;
var B2:Number;
var C2:Number;
var array:Array;
var xvalue:Number;
var yvalue:Number;
var event1:Boolean;
var event2:Boolean;
var event3:Boolean;
var x1 = _arg1;
var y1 = _arg2;
var x2 = _arg3;
var y2 = _arg4;
var theX = _arg5;
var theY = _arg6;
var R = _arg7;
try {
if (((((((((((((isNaN(x1)) || (isNaN(y1)))) || (isNaN(x2)))) || (isNaN(y2)))) || (isNaN(theX)))) || (isNaN(theY)))) || (isNaN(R)))){
throw (new Error(((((((((((("isCircleIntersectSegmentOfLine Íåâåðíûé àðãóìåíò x1:" + x1) + " x2:") + x2) + " y1:") + y1) + " y2:") + y2) + " theX:") + theX) + " theY:") + theY)));
};
theDistance = distanceBetweenPointAndLine(x1, y1, x2, y2, theX, theY);
if (isNaN(theDistance)){
throw (new Error("Íåâåðíî âû÷èñëåíà äèñòàíöèÿ"));
};
if (theDistance >= R){
return (false);
};
A1 = (y2 - y1);
B1 = (x1 - x2);
C1 = ((x2 * y1) - (x1 * y2));
arr = normLine(A1, B1, C1, theX, theY);
A2 = arr[0];
B2 = arr[1];
C2 = arr[2];
array = linesIntersectionPoint1(A1, B1, C1, A2, B2, C2);
xvalue = ((x1 - array[0]) * (array[0] - x2));
yvalue = ((y1 - array[1]) * (array[1] - y2));
event1 = (((((Math.abs(xvalue) > 1E-18)) && ((xvalue < 0)))) || ((((Math.abs(yvalue) > 1E-18)) && ((yvalue < 0)))));
event2 = (GeometryFunctions.distanceBetweenPoints(x1, y1, theX, theY) >= R);
event3 = (GeometryFunctions.distanceBetweenPoints(x2, y2, theX, theY) >= R);
if (((((event1) && (event2))) && (event3))){
return (false);
};
return (true);
} catch(e:Error) {
return (false);
};
return (false);
}
public static function roundFromNumber(_arg1:Number, _arg2:Number):int{
return ((Math.round((_arg1 / 45)) * 45));
}
public static function circleAndLineIntersection(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Array{
return (null);
}
public static function distanceBetweenPoints(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){
return (Math.sqrt((((_arg1 - _arg3) * (_arg1 - _arg3)) + ((_arg2 - _arg4) * (_arg2 - _arg4)))));
}
public static function normLine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Array{
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Array;
_local6 = _arg2;
_local7 = -(_arg1);
_local8 = ((_arg1 * _arg5) - (_arg2 * _arg4));
_local9 = [];
_local9.push(_local6);
_local9.push(_local7);
_local9.push(_local8);
return (_local9);
}
public static function linesIntersectionPoint1(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Array{
var vectorCheck:Number;
var theY:Number;
var theX:Number;
var arr:*;
var A1 = _arg1;
var B1 = _arg2;
var C1 = _arg3;
var A2 = _arg4;
var B2 = _arg5;
var C2 = _arg6;
try {
vectorCheck = ((-(A2) * B1) + (A1 * B2));
if (vectorCheck == 0){
throw (new Error("Ô - öèÿ linesIntersectionPoint1, Ïðÿìûå ïàðàëëåëüíû"));
return (null);
} else {
theY = (-(((-(A2) * C1) + (A1 * C2))) / ((-(A2) * B1) + (A1 * B2)));
theX = (((-(B2) * C1) + (C2 * B1)) / ((-(A2) * B1) + (A1 * B2)));
arr = new Array(2);
arr[0] = theX;
arr[1] = theY;
return (arr);
};
} catch(e:Error) {
return (null);
};
return (null);
}
public static function angleBetweenVectors(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local5 = Math.sqrt(((_arg1 * _arg1) + (_arg2 * _arg2)));
_local6 = Math.sqrt(((_arg3 * _arg3) + (_arg4 * _arg4)));
if ((((_local5 < 1E-5)) || ((_local6 < 1E-5)))){
return (0);
};
_local7 = ((((_arg1 * _arg3) + (_arg2 * _arg4)) / _local5) / _local6);
return (Math.acos(_local7));
}
public static function foundCellsOfSegment(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Array{
var _local6:Number;
var _local7:Number;
var _local8:Array;
var _local9:*;
var _local10:int;
var _local11:int;
var _local12:int;
var _local13:int;
var _local14:int;
var _local15:int;
if (_arg5 < 1E-12){
throw (new Error("cell size must be > 0"));
};
_local6 = (_arg3 - _arg1);
_local7 = (_arg4 - _arg2);
if ((((Math.abs(_local6) < 1E-9)) && ((Math.abs(_local7) < 1E-9)))){
return (new Array());
};
_local8 = new Array();
_local9 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7)));
_local10 = (Math.floor(Math.abs((_local6 / _arg5))) + Math.floor(Math.abs((_local7 / _arg5))));
_local11 = Math.floor(Math.abs((_local6 / _arg5)));
_local12 = Math.floor(Math.abs((_local7 / _arg5)));
if (_local11 == 0){
_local13 = Math.floor((_arg1 / _arg5));
_local14 = Math.floor((_arg2 / _arg5));
_local15 = 0;
while (_local15 < _local10) {
_local8.push({x:_local13, y:(_local14 + _local15)});
_local15++;
};
};
if (_local12 == 0){
_local13 = Math.floor((_arg1 / _arg5));
_local14 = Math.floor((_arg2 / _arg5));
_local15 = 0;
while (_local15 < _local10) {
_local8.push({x:(_local13 + _local15), y:_local14});
_local15++;
};
};
_local10 = Math.ceil(((Math.abs(_local6) + Math.abs(_local7)) / _arg5));
return (_local8);
}
public static function sign(_arg1:Number):Number{
if (_arg1 > 0){
return (1);
};
return (-1);
}
public static function distanceBetweenPointAndLine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Number{
var _local7:*;
var _local8:*;
var _local9:*;
_local7 = (_arg4 - _arg2);
_local8 = (_arg1 - _arg3);
_local9 = ((_arg2 * _arg3) - (_arg1 * _arg4));
return ((Math.abs((((_local7 * _arg5) + (_local8 * _arg6)) + _local9)) / Math.sqrt(((_local7 * _local7) + (_local8 * _local8)))));
}
public static function signWithZiro(_arg1:Number):Number{
if (_arg1 > 0){
return (1);
};
if (_arg1 < 0){
return (-1);
};
return (0);
}
}
}//package game
Section 128
//LevelsContent (game.LevelsContent)
package game {
import flash.utils.*;
public class LevelsContent {
public static var bgNamePattern:RegExp = /t(\d)_(\d+)/;
public static var MAX_NUM_CREATURES_PER_LEVEL:Array = new Array();
public static var ARRAY_OF_BG:Array = new Array();
public static var ARRAY_OF_FIRST_LEVEL:Array = new Array();
public static var LEVELS_TIME_DICTIONARY:Dictionary = new Dictionary();
public static var wallNamePattern:RegExp = /s(\d+)/;
public static function elementIsAmmo(_arg1:String):Boolean{
if ((((((((_arg1 == "bullets")) || ((_arg1 == "cores")))) || ((_arg1 == "sgun")))) || ((_arg1 == "cell")))){
return (true);
};
return (false);
}
public static function elementIsTeleport(_arg1:String):Boolean{
if (_arg1.indexOf("tel") >= 0){
return (true);
};
return (false);
}
public static function elementIsBackground(_arg1:String):Boolean{
return (bgNamePattern.test(_arg1));
}
public static function init(){
var _local1:Array;
var _local2:Dictionary;
var _local3:Array;
var _local4:Object;
var _local5:Dictionary;
var _local6:Object;
var _local7:Array;
var _local8:Object;
_local1 = [[4, 11, "s2"], [16, 0, "s2"], [0, 6, "s2"], [15, 6, "s2"], [0, 11, "s2"], [2, 19, "s2"], [18, 19, "s2"], [4, 13, "s2"], [19, 0, "s2"], [7, 0, "s2"], [4, 0, "s2"], [14, 19, "s2"], [8, 0, "s2"], [19, 2, "s2"], [0, 17, "s2"], [19, 11, "s2"], [0, 13, "s2"], [15, 0, "s2"], [19, 19, "s2"], [16, 19, "s2"], [4, 14, "s2"], [15, 7, "s2"], [14, 0, "s2"], [0, 5, "s2"], [12, 3, "s2"], [15, 11, "s2"], [6, 19, "s2"], [12, 15, "s2"], [1, 19, "s2"], [4, 19, "s2"], [11, 0, "s2"], [0, 1, "s2"], [0, 7, "s2"], [18, 0, "s2"], [17, 0, "s2"], [19, 8, "s2"], [0, 19, "s2"], [15, 12, "s2"], [7, 15, "s2"], [9, 19, "s2"], [11, 19, "s2"], [10, 19, "s2"], [19, 15, "s2"], [7, 19, "s2"], [7, 3, "s2"], [14, 15, "s2"], [8, 3, "s2"], [12, 19, "s2"], [19, 17, "s2"], [4, 15, "s2"], [9, 0, "s2"], [19, 10, "s2"], [0, 9, "s2"], [2, 0, "s2"], [5, 15, "s2"], [19, 9, "s2"], [0, 0, "s2"], [13, 3, "s2"], [8, 19, "s2"], [15, 15, "s2"], [8, 15, "s2"], [10, 8, "tel1"], [19, 5, "s2"], [4, 12, "s2"], [13, 15, "s2"], [15, 3, "s2"], [0, 18, "s2"], [11, 3, "s2"], [5, 0, "s2"], [0, 12, "s2"], [12, 0, "s2"], [5, 19, "s2"], [0, 14, "s2"], [3, 19, "s2"], [0, 15, "s2"], [0, 16, "s2"], [11, 15, "s2"], [19, 4, "s2"], [19, 6, "s2"], [4, 7, "s2"], [1, 0, "s2"], [0, 3, "s2"], [15, 4, "s2"], [13, 0, "s2"], [6, 15, "s2"], [4, 4, "s2"], [19, 16, "s2"], [19, 7, "s2"], [19, 13, "s2"], [15, 19, "s2"], [15, 13, "s2"], [4, 3, "s2"], [6, 0, "s2"], [19, 14, "s2"], [6, 3, "s2"], [15, 5, "s2"], [19, 1, "s2"], [4, 5, "s2"], [15, 14, "s2"], [0, 2, "s2"], [0, 8, "s2"], [10, 0, "s2"], [5, 3, "s2"], [13, 19, "s2"], [19, 12, "s2"], [0, 10, "s2"], [19, 3, "s2"], [17, 19, "s2"], [0, 4, "s2"], [19, 18, "s2"], [3, 0, "s2"], [14, 3, "s2"], [4, 6, "s2"]];
_local2 = new Dictionary();
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:50};
_local2["tel1_170"] = _local4;
_local5 = new Dictionary();
_local6 = {x:10, y:15};
_local7 = new Array();
_local7.push(_local1);
_local7.push(_local2);
_local7.push(_local5);
_local7.push(_local6);
_local8 = {levelWidth:20, levelHeigth:20};
_local7.push(_local8);
ARRAY_OF_FIRST_LEVEL.push(_local7);
ARRAY_OF_BG.push([["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_15", "t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_16", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_7", "t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_8", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_11", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_13", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_11", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_13", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_11", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_13", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_11", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_13", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_11", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_13", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_11", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_13", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_11", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_13", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_11", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_13", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_11", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_13", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_10", "t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_9", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_18", "t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_17", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"]]);
_local1 = [[0, 18, "s2"], [23, 14, "s2"], [0, 3, "s2"], [22, 23, "s2"], [7, 16, "s2"], [2, 0, "s2"], [18, 9, "s2"], [9, 18, "s2"], [7, 17, "s2"], [21, 0, "s2"], [1, 15, "s2"], [16, 15, "s2"], [0, 15, "s2"], [9, 1, "s2"], [23, 21, "s2"], [15, 23, "s2"], [23, 7, "s2"], [6, 23, "s2"], [16, 17, "s2"], [7, 7, "s2"], [7, 0, "s2"], [0, 2, "s2"], [23, 15, "s2"], [0, 23, "s2"], [2, 23, "s2"], [23, 9, "s2"], [23, 2, "s2"], [20, 18, "tel1"], [4, 0, "s2"], [7, 9, "s2"], [16, 0, "s2"], [23, 6, "s2"], [10, 23, "s2"], [19, 0, "s2"], [3, 4, "tel1"], [20, 4, "healthUP"], [0, 21, "s2"], [0, 4, "s2"], [22, 15, "s2"], [6, 15, "s2"], [23, 23, "s2"], [23, 3, "s2"], [0, 1, "s2"], [23, 13, "s2"], [4, 19, "healthUP"], [5, 15, "s2"], [20, 23, "s2"], [17, 15, "s2"], [9, 0, "s2"], [18, 0, "s2"], [0, 11, "s2"], [9, 17, "s2"], [15, 0, "s2"], [8, 23, "s2"], [5, 0, "s2"], [0, 16, "s2"], [23, 11, "s2"], [0, 5, "s2"], [7, 8, "s2"], [9, 22, "s2"], [5, 23, "s2"], [23, 22, "s2"], [14, 23, "s2"], [0, 12, "s2"], [0, 22, "s2"], [14, 19, "s2"], [23, 4, "s2"], [23, 5, "s2"], [23, 19, "s2"], [9, 6, "s2"], [12, 0, "s2"], [18, 15, "s2"], [13, 0, "s2"], [19, 23, "s2"], [8, 0, "s2"], [14, 17, "s2"], [16, 8, "s2"], [14, 5, "s2"], [15, 17, "s2"], [17, 0, "s2"], [0, 20, "s2"], [16, 9, "s2"], [8, 17, "s2"], [13, 23, "s2"], [1, 23, "s2"], [22, 9, "s2"], [14, 6, "s2"], [0, 17, "s2"], [7, 15, "s2"], [11, 0, "s2"], [1, 0, "s2"], [9, 19, "s2"], [3, 23, "s2"], [22, 0, "s2"], [14, 0, "s2"], [14, 22, "s2"], [16, 16, "s2"], [17, 23, "s2"], [0, 14, "s2"], [12, 23, "s2"], [23, 12, "s2"], [7, 23, "s2"], [4, 23, "s2"], [3, 0, "s2"], [1, 9, "s2"], [23, 1, "s2"], [5, 9, "s2"], [11, 23, "s2"], [0, 7, "s2"], [16, 23, "s2"], [23, 10, "s2"], [21, 23, "s2"], [14, 18, "s2"], [6, 0, "s2"], [8, 7, "s2"], [9, 23, "s2"], [17, 9, "s2"], [23, 20, "s2"], [14, 7, "s2"], [0, 6, "s2"], [14, 1, "s2"], [15, 7, "s2"], [0, 9, "s2"], [23, 16, "s2"], [6, 9, "s2"], [0, 8, "s2"], [23, 18, "s2"], [16, 7, "s2"], [0, 13, "s2"], [23, 17, "s2"], [0, 19, "s2"], [9, 5, "s2"], [18, 23, "s2"], [23, 8, "s2"], [0, 10, "s2"], [0, 0, "s2"], [23, 0, "s2"], [20, 0, "s2"], [10, 0, "s2"], [9, 7, "s2"]];
_local2 = new Dictionary();
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:50};
_local2["tel1_452"] = _local4;
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:50};
_local2["tel1_99"] = _local4;
_local5 = new Dictionary();
_local5["healthUP_116"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_460"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:5000};
_local6 = {x:12, y:12};
_local7 = new Array();
_local7.push(_local1);
_local7.push(_local2);
_local7.push(_local5);
_local7.push(_local6);
_local8 = {levelWidth:24, levelHeigth:24};
_local7.push(_local8);
ARRAY_OF_FIRST_LEVEL.push(_local7);
ARRAY_OF_BG.push([["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_18", "t2_14", "t2_14", "t2_17", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_15", "t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_16", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_16", "t2_11", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_13", "t2_15", "t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_6"], ["t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_13", "t2_11", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_13", "t2_11", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6"], ["t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_13", "t2_11", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_13", "t2_11", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6"], ["t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_13", "t2_11", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_13", "t2_11", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6"], ["t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_17", "t2_11", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_13", "t2_18", "t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_6"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_18", "t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_17", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_15", "t2_12", "t2_12", "t2_16", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"]]);
_local1 = [[0, 28, "s2"], [0, 12, "s2"], [14, 2, "s2"], [10, 29, "s2"], [14, 34, "s2"], [8, 35, "s2"], [12, 0, "s2"], [0, 36, "s2"], [11, 39, "s2"], [0, 14, "s2"], [4, 39, "s2"], [14, 38, "s2"], [0, 9, "s2"], [4, 11, "s2"], [10, 36, "s2"], [4, 18, "s2"], [5, 29, "s2"], [14, 39, "s2"], [6, 29, "s2"], [14, 22, "s2"], [10, 16, "s2"], [1, 39, "s2"], [4, 23, "s2"], [6, 0, "s2"], [4, 17, "s2"], [0, 22, "s2"], [5, 5, "s2"], [5, 11, "s2"], [0, 1, "s2"], [0, 34, "s2"], [0, 38, "s2"], [10, 39, "s2"], [2, 0, "s2"], [0, 26, "s2"], [7, 29, "s2"], [14, 21, "s2"], [10, 35, "s2"], [0, 18, "s2"], [14, 7, "s2"], [14, 33, "s2"], [9, 23, "s2"], [0, 32, "s2"], [4, 30, "s2"], [14, 20, "s2"], [0, 39, "s2"], [4, 6, "s2"], [4, 20, "s2"], [0, 17, "s2"], [10, 28, "s2"], [7, 0, "s2"], [0, 10, "s2"], [14, 16, "s2"], [0, 20, "s2"], [9, 39, "s2"], [10, 12, "s2"], [6, 32, "tel1"], [4, 19, "s2"], [10, 23, "s2"], [10, 17, "s2"], [7, 35, "s2"], [7, 17, "s2"], [5, 39, "s2"], [10, 13, "s2"], [9, 5, "s2"], [10, 15, "s2"], [14, 13, "s2"], [10, 25, "s2"], [8, 14, "bullets"], [14, 26, "s2"], [9, 20, "tel1"], [10, 0, "s2"], [7, 39, "s2"], [14, 19, "s2"], [14, 35, "s2"], [9, 35, "s2"], [0, 29, "s2"], [6, 23, "s2"], [10, 27, "s2"], [4, 22, "s2"], [14, 6, "s2"], [9, 0, "s2"], [8, 26, "bullets"], [8, 23, "s2"], [14, 18, "s2"], [9, 29, "s2"], [6, 35, "s2"], [14, 24, "s2"], [6, 8, "tel1"], [0, 6, "s2"], [14, 31, "s2"], [4, 29, "s2"], [8, 5, "s2"], [0, 27, "s2"], [11, 0, "s2"], [14, 37, "s2"], [4, 34, "s2"], [8, 39, "s2"], [2, 39, "s2"], [7, 11, "s2"], [8, 29, "s2"], [4, 21, "s2"], [12, 39, "s2"], [14, 5, "s2"], [14, 8, "s2"], [3, 0, "s2"], [13, 39, "s2"], [5, 23, "s2"], [14, 36, "s2"], [10, 14, "s2"], [14, 0, "s2"], [7, 23, "s2"], [4, 10, "s2"], [0, 19, "s2"], [0, 25, "s2"], [14, 14, "s2"], [10, 26, "s2"], [14, 10, "s2"], [7, 5, "s2"], [8, 11, "s2"], [4, 5, "s2"], [14, 32, "s2"], [14, 15, "s2"], [0, 16, "s2"], [0, 31, "s2"], [5, 0, "s2"], [0, 37, "s2"], [0, 7, "s2"], [10, 24, "s2"], [14, 25, "s2"], [0, 24, "s2"], [8, 0, "s2"], [5, 17, "s2"], [14, 28, "s2"], [0, 33, "s2"], [10, 4, "s2"], [0, 8, "s2"], [10, 11, "s2"], [0, 0, "s2"], [14, 11, "s2"], [14, 27, "s2"], [0, 2, "s2"], [0, 30, "s2"], [14, 3, "s2"], [9, 17, "s2"], [14, 9, "s2"], [14, 30, "s2"], [0, 35, "s2"], [14, 4, "s2"], [14, 12, "s2"], [14, 29, "s2"], [5, 35, "s2"], [6, 5, "s2"], [10, 5, "s2"], [9, 11, "s2"], [4, 35, "s2"], [14, 17, "s2"], [0, 13, "s2"], [0, 11, "s2"], [1, 0, "s2"], [0, 3, "s2"], [14, 23, "s2"], [6, 39, "s2"], [0, 21, "s2"], [0, 15, "s2"], [0, 5, "s2"], [6, 17, "s2"], [4, 0, "s2"], [0, 4, "s2"], [14, 1, "s2"], [8, 17, "s2"], [3, 39, "s2"], [6, 11, "s2"], [13, 0, "s2"], [0, 23, "s2"]];
_local2 = new Dictionary();
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:80};
_local2["tel1_486"] = _local4;
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:80};
_local2["tel1_309"] = _local4;
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:80};
_local2["tel1_126"] = _local4;
_local5 = new Dictionary();
_local5["bullets_218"] = {amountOfPoints:50, amountOfAppears:2, ticksBetweenAppears:2000};
_local5["bullets_398"] = {amountOfPoints:50, amountOfAppears:2, ticksBetweenAppears:2000};
_local6 = {x:12, y:2};
_local7 = new Array();
_local7.push(_local1);
_local7.push(_local2);
_local7.push(_local5);
_local7.push(_local6);
_local8 = {levelWidth:15, levelHeigth:40};
_local7.push(_local8);
ARRAY_OF_FIRST_LEVEL.push(_local7);
ARRAY_OF_BG.push([["t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_15", "t2_12", "t2_16", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_15", "t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_19", "t2_6", "t2_13", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_11", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_13", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_11", "t2_6", "t2_19", "t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_17", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_18", "t2_14", "t2_17", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_15", "t2_12", "t2_16", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_11", "t2_6", "t2_19", "t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_16", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_11", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_13", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_18", "t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_19", "t2_6", "t2_13", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_13", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_13", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_13", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_15", "t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_19", "t2_6", "t2_13", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_11", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_13", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_11", "t2_6", "t2_19", "t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_17", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_11", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_11", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_11", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_11", "t2_6", "t2_19", "t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_16", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_11", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_13", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_18", "t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_19", "t2_6", "t2_13", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_13", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_13", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_13", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_15", "t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_19", "t2_6", "t2_13", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_11", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_13", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_11", "t2_6", "t2_19", "t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_17", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_18", "t2_14", "t2_17", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_15", "t2_12", "t2_16", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_11", "t2_6", "t2_19", "t2_12", "t2_12", "t2_12", "t2_12", "t2_12", "t2_16", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_11", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_13", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_18", "t2_14", "t2_14", "t2_14", "t2_14", "t2_14", "t2_19", "t2_6", "t2_13", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_18", "t2_14", "t2_17", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6"], ["t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6"]]);
_local1 = [[0, 16, "s2"], [3, 5, "s3"], [0, 7, "s2"], [12, 17, "s2"], [3, 4, "s3"], [5, 8, "s3"], [5, 21, "s3"], [6, 21, "s3"], [0, 8, "s2"], [0, 13, "s2"], [11, 0, "s2"], [7, 14, "s3"], [14, 0, "s2"], [3, 8, "s3"], [3, 13, "s3"], [21, 17, "s3"], [7, 9, "s3"], [5, 0, "s2"], [3, 17, "s3"], [19, 13, "s3"], [3, 18, "s3"], [1, 24, "s2"], [21, 20, "s3"], [19, 6, "s3"], [19, 10, "s3"], [19, 24, "s2"], [21, 12, "s3"], [19, 18, "s3"], [12, 24, "s2"], [21, 4, "s3"], [7, 12, "s3"], [17, 15, "s3"], [19, 11, "s3"], [5, 13, "s3"], [20, 24, "s2"], [24, 9, "s2"], [16, 0, "s2"], [15, 12, "s3"], [0, 11, "s2"], [21, 24, "s2"], [24, 3, "s2"], [21, 13, "s3"], [21, 6, "s3"], [17, 8, "s3"], [3, 19, "s3"], [4, 24, "s2"], [21, 3, "s3"], [0, 18, "s2"], [7, 17, "s3"], [16, 17, "s3"], [24, 17, "s2"], [5, 9, "s3"], [12, 3, "tel1"], [20, 0, "s2"], [17, 3, "s3"], [24, 13, "s2"], [12, 21, "tel1"], [9, 12, "s3"], [7, 0, "s2"], [0, 4, "s2"], [2, 24, "s2"], [21, 14, "s3"], [9, 7, "s3"], [7, 15, "s3"], [24, 1, "s2"], [5, 16, "s3"], [9, 11, "s3"], [11, 24, "s2"], [0, 9, "s2"], [24, 20, "s2"], [19, 16, "s3"], [16, 5, "s3"], [13, 24, "s2"], [10, 24, "s2"], [24, 16, "s2"], [9, 15, "s3"], [5, 24, "s2"], [15, 9, "s3"], [0, 12, "s2"], [7, 19, "s3"], [19, 7, "s3"], [6, 10, "healthUP"], [19, 8, "s3"], [21, 10, "s3"], [7, 3, "s3"], [0, 22, "s2"], [15, 15, "s3"], [15, 17, "s3"], [21, 11, "s3"], [0, 6, "s2"], [19, 12, "s3"], [3, 21, "s3"], [7, 10, "s3"], [17, 17, "s3"], [5, 18, "s3"], [19, 17, "s3"], [16, 7, "s3"], [18, 3, "s3"], [6, 3, "s3"], [24, 24, "s2"], [8, 19, "s3"], [12, 7, "s2"], [17, 10, "s3"], [3, 9, "s3"], [17, 7, "s3"], [24, 15, "s2"], [6, 0, "s2"], [18, 0, "s2"], [16, 19, "s3"], [15, 24, "s2"], [21, 21, "s3"], [3, 14, "s3"], [0, 10, "s2"], [8, 24, "s2"], [9, 10, "s3"], [15, 10, "s3"], [7, 7, "s3"], [22, 0, "s2"], [5, 12, "s3"], [8, 17, "s3"], [24, 8, "s2"], [3, 16, "s3"], [5, 19, "s3"], [24, 4, "s2"], [17, 5, "s3"], [3, 24, "s2"], [10, 9, "s3"], [14, 15, "s3"], [5, 10, "s3"], [0, 2, "s2"], [24, 14, "s2"], [18, 19, "s3"], [10, 15, "s3"], [24, 11, "s2"], [24, 12, "s2"], [19, 21, "s3"], [9, 0, "s2"], [18, 10, "healthUP"], [8, 7, "s3"], [0, 0, "s2"], [17, 0, "s2"], [0, 14, "s2"], [24, 18, "s2"], [10, 0, "s2"], [3, 10, "s3"], [17, 24, "s2"], [0, 15, "s2"], [3, 20, "s3"], [0, 23, "s2"], [5, 15, "s3"], [0, 3, "s2"], [0, 5, "s2"], [5, 6, "s3"], [21, 18, "s3"], [7, 8, "s3"], [24, 19, "s2"], [17, 12, "s3"], [14, 9, "s3"], [21, 0, "s2"], [17, 16, "s3"], [9, 24, "s2"], [15, 0, "s2"], [7, 13, "s3"], [24, 21, "s2"], [12, 15, "s2"], [21, 8, "s3"], [5, 17, "s3"], [19, 19, "s3"], [3, 11, "s3"], [5, 3, "s3"], [0, 24, "s2"], [0, 21, "s2"], [3, 6, "s3"], [19, 15, "s3"], [5, 5, "s3"], [8, 0, "s2"], [9, 17, "s3"], [0, 1, "s2"], [5, 7, "s3"], [4, 10, "bullets"], [12, 0, "s2"], [17, 13, "s3"], [24, 6, "s2"], [4, 0, "s2"], [9, 9, "s3"], [17, 14, "s3"], [15, 14, "s3"], [19, 0, "s2"], [7, 21, "s3"], [24, 5, "s2"], [3, 12, "s3"], [9, 14, "s3"], [5, 14, "s3"], [17, 11, "s3"], [0, 20, "s2"], [19, 14, "s3"], [1, 0, "s2"], [19, 3, "s3"], [18, 21, "s3"], [7, 5, "s3"], [20, 10, "bullets"], [19, 9, "s3"], [24, 10, "s2"], [7, 24, "s2"], [24, 7, "s2"], [3, 7, "s3"], [20, 3, "s3"], [16, 24, "s2"], [21, 16, "s3"], [15, 11, "s3"], [24, 0, "s2"], [18, 5, "s3"], [7, 16, "s3"], [24, 2, "s2"], [23, 0, "s2"], [24, 23, "s2"], [4, 3, "s3"], [15, 13, "s3"], [15, 7, "s3"], [0, 17, "s2"], [19, 5, "s3"], [20, 21, "s3"], [17, 21, "s3"], [24, 22, "s2"], [21, 9, "s3"], [3, 0, "s2"], [4, 21, "s3"], [3, 15, "s3"], [12, 9, "s2"], [17, 19, "s3"], [17, 9, "s3"], [22, 24, "s2"], [2, 0, "s2"], [3, 3, "s3"], [9, 13, "s3"], [21, 19, "s3"], [7, 11, "s3"], [18, 24, "s2"], [6, 5, "s3"], [8, 5, "s3"], [23, 24, "s2"], [0, 19, "s2"], [21, 7, "s3"], [14, 24, "s2"], [6, 24, "s2"], [21, 15, "s3"], [13, 0, "s2"], [6, 19, "s3"], [21, 5, "s3"], [5, 11, "s3"]];
_local2 = new Dictionary();
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:80};
_local2["tel1_87"] = _local4;
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:80};
_local2["tel1_537"] = _local4;
_local5 = new Dictionary();
_local5["healthUP_256"] = {amountOfPoints:20, amountOfAppears:2, ticksBetweenAppears:1500};
_local5["healthUP_268"] = {amountOfPoints:20, amountOfAppears:2, ticksBetweenAppears:1500};
_local5["bullets_254"] = {amountOfPoints:30, amountOfAppears:2, ticksBetweenAppears:1000};
_local5["bullets_270"] = {amountOfPoints:30, amountOfAppears:1, ticksBetweenAppears:1000};
_local6 = {x:12, y:12};
_local7 = new Array();
_local7.push(_local1);
_local7.push(_local2);
_local7.push(_local5);
_local7.push(_local6);
_local8 = {levelWidth:25, levelHeigth:25};
_local7.push(_local8);
ARRAY_OF_FIRST_LEVEL.push(_local7);
ARRAY_OF_BG.push([["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t2_1"], ["t2_1", "t3_6", "t3_2", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_4", "t3_6", "t2_1"], ["t2_1", "t3_6", "t3_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t3_1", "t3_6", "t2_1"], ["t2_1", "t3_6", "t3_1", "t2_1", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_1", "t3_1", "t3_6", "t2_1"], ["t2_1", "t3_6", "t3_1", "t2_1", "t2_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t2_6", "t2_1", "t3_1", "t3_6", "t2_1"], ["t2_1", "t3_6", "t3_1", "t2_1", "t2_6", "t3_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t3_6", "t2_6", "t2_1", "t3_1", "t3_6", "t2_1"], ["t2_1", "t3_6", "t3_1", "t2_1", "t2_6", "t3_6", "t2_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t2_1", "t3_6", "t2_6", "t2_1", "t3_1", "t3_6", "t2_1"], ["t2_1", "t3_6", "t3_1", "t2_1", "t2_6", "t3_6", "t2_1", "t3_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t3_6", "t2_1", "t3_6", "t2_6", "t2_1", "t3_1", "t3_6", "t2_1"], ["t2_1", "t3_6", "t3_1", "t2_1", "t2_6", "t3_6", "t2_1", "t3_6", "t2_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t2_1", "t3_6", "t2_1", "t3_6", "t2_6", "t2_1", "t3_1", "t3_6", "t2_1"], ["t2_1", "t3_6", "t3_1", "t2_1", "t2_6", "t3_6", "t2_1", "t3_6", "t2_1", "t3_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t3_6", "t2_1", "t3_6", "t2_1", "t3_6", "t2_6", "t2_1", "t3_1", "t3_6", "t2_1"], ["t2_1", "t3_6", "t3_1", "t2_1", "t2_6", "t3_6", "t2_1", "t3_6", "t2_1", "t3_6", "t2_1", "t3_6", "t3_6", "t3_6", "t2_1", "t3_6", "t2_1", "t3_6", "t2_1", "t3_6", "t2_6", "t2_1", "t3_1", "t3_6", "t2_1"], ["t2_1", "t3_6", "t3_1", "t2_1", "t2_6", "t3_6", "t2_1", "t3_6", "t2_1", "t3_6", "t2_1", "t3_6", "t2_19", "t3_6", "t2_1", "t3_6", "t2_1", "t3_6", "t2_1", "t3_6", "t2_6", "t2_1", "t3_1", "t3_6", "t2_1"], ["t2_1", "t3_6", "t3_1", "t2_1", "t2_6", "t3_6", "t2_1", "t3_6", "t2_1", "t3_6", "t2_1", "t3_6", "t3_6", "t3_6", "t2_1", "t3_6", "t2_1", "t3_6", "t2_1", "t3_6", "t2_6", "t2_1", "t3_1", "t3_6", "t2_1"], ["t2_1", "t3_6", "t3_1", "t2_1", "t2_6", "t3_6", "t2_1", "t3_6", "t2_1", "t3_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t3_6", "t2_1", "t3_6", "t2_1", "t3_6", "t2_6", "t2_1", "t3_1", "t3_6", "t2_1"], ["t2_1", "t3_6", "t3_1", "t2_1", "t2_6", "t3_6", "t2_1", "t3_6", "t2_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t2_1", "t3_6", "t2_1", "t3_6", "t2_6", "t2_1", "t3_1", "t3_6", "t2_1"], ["t2_1", "t3_6", "t3_1", "t2_1", "t2_6", "t3_6", "t2_1", "t3_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t3_6", "t2_1", "t3_6", "t2_6", "t2_1", "t3_1", "t3_6", "t2_1"], ["t2_1", "t3_6", "t3_1", "t2_1", "t2_6", "t3_6", "t2_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t2_1", "t3_6", "t2_6", "t2_1", "t3_1", "t3_6", "t2_1"], ["t2_1", "t3_6", "t3_1", "t2_1", "t2_6", "t3_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t3_6", "t2_6", "t2_1", "t3_1", "t3_6", "t2_1"], ["t2_1", "t3_6", "t3_1", "t2_1", "t2_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t2_6", "t2_1", "t3_1", "t3_6", "t2_1"], ["t2_1", "t3_6", "t3_1", "t2_1", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_1", "t3_1", "t3_6", "t2_1"], ["t2_1", "t3_6", "t3_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t3_1", "t3_6", "t2_1"], ["t2_1", "t3_6", "t3_3", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_5", "t3_6", "t2_1"], ["t2_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"]]);
_local1 = [[18, 16, "s3"], [8, 6, "s3"], [23, 24, "s3"], [0, 0, "s3"], [6, 16, "s3"], [23, 13, "s3"], [22, 24, "s3"], [23, 3, "s3"], [18, 9, "s3"], [24, 2, "s3"], [6, 6, "s3"], [1, 21, "s3"], [18, 10, "s3"], [24, 22, "s3"], [4, 6, "s2"], [22, 0, "s3"], [21, 0, "s3"], [23, 18, "s3"], [20, 19, "s2"], [4, 19, "s2"], [1, 19, "s3"], [6, 18, "s3"], [23, 22, "bullets"], [20, 6, "s2"], [17, 18, "s3"], [4, 5, "s2"], [1, 24, "s3"], [1, 12, "s3"], [17, 1, "s3"], [5, 20, "s2"], [13, 1, "s3"], [10, 18, "s3"], [6, 15, "s3"], [5, 1, "s3"], [16, 18, "s3"], [0, 23, "s3"], [14, 23, "s3"], [23, 0, "s3"], [1, 14, "s3"], [23, 11, "s3"], [10, 1, "s3"], [18, 1, "s3"], [2, 0, "s3"], [23, 19, "s3"], [1, 22, "sgun"], [1, 10, "s3"], [15, 23, "s3"], [1, 3, "s3"], [5, 23, "s3"], [21, 24, "s3"], [20, 20, "s2"], [19, 23, "s3"], [14, 6, "s3"], [7, 1, "s3"], [20, 23, "s3"], [12, 23, "s3"], [18, 18, "s3"], [0, 2, "s3"], [18, 7, "s3"], [23, 12, "s3"], [21, 23, "s3"], [6, 8, "s3"], [23, 17, "s3"], [6, 17, "s3"], [23, 10, "s3"], [20, 1, "s3"], [20, 18, "s2"], [1, 0, "s3"], [23, 7, "s3"], [18, 14, "s3"], [15, 6, "s3"], [1, 13, "s3"], [1, 5, "s3"], [17, 23, "s3"], [24, 21, "s3"], [3, 1, "s3"], [4, 20, "s2"], [15, 18, "s3"], [6, 20, "s2"], [23, 20, "s3"], [18, 23, "s3"], [3, 24, "s3"], [7, 23, "s3"], [16, 23, "s3"], [10, 23, "s3"], [1, 17, "s3"], [19, 1, "s3"], [12, 1, "s3"], [14, 18, "s3"], [19, 4, "s2"], [11, 1, "s3"], [12, 12, "tel1"], [23, 9, "s3"], [8, 1, "s3"], [6, 14, "s3"], [23, 5, "s3"], [13, 23, "s3"], [3, 0, "s3"], [10, 6, "s3"], [18, 20, "s2"], [0, 24, "s3"], [9, 1, "s3"], [8, 18, "s3"], [6, 10, "s3"], [1, 11, "s3"], [1, 7, "s3"], [2, 24, "s3"], [23, 15, "s3"], [16, 6, "s3"], [21, 1, "s3"], [20, 12, "tel1"], [12, 4, "tel1"], [17, 6, "s3"], [4, 23, "s3"], [12, 19, "tel1"], [1, 20, "s3"], [18, 17, "s3"], [1, 15, "s3"], [0, 22, "s3"], [9, 18, "s3"], [8, 23, "s3"], [23, 21, "s3"], [23, 4, "s3"], [24, 24, "s3"], [4, 12, "tel1"], [18, 15, "s3"], [7, 18, "s3"], [23, 1, "sgun"], [24, 0, "s3"], [6, 1, "s3"], [16, 1, "s3"], [1, 4, "s3"], [0, 3, "s3"], [24, 1, "s3"], [4, 1, "s3"], [14, 1, "s3"], [23, 14, "s3"], [0, 1, "s3"], [5, 4, "s2"], [24, 23, "s3"], [6, 4, "s2"], [15, 1, "s3"], [0, 21, "s3"], [1, 6, "s3"], [19, 20, "s2"], [1, 8, "s3"], [9, 6, "s3"], [6, 23, "s3"], [1, 16, "s3"], [1, 18, "s3"], [18, 6, "s3"], [1, 1, "bullets"], [9, 23, "s3"], [23, 6, "s3"], [1, 9, "s3"], [6, 9, "s3"], [20, 5, "s2"], [4, 4, "s2"], [7, 6, "s3"], [18, 8, "s3"], [11, 23, "s3"], [20, 4, "s2"], [4, 18, "s2"], [18, 4, "s2"], [23, 8, "s3"], [3, 23, "s3"], [6, 7, "s3"], [24, 3, "s3"], [23, 16, "s3"]];
_local2 = new Dictionary();
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:500};
_local2["tel1_312"] = _local4;
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:80};
_local2["tel1_320"] = _local4;
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:80};
_local2["tel1_112"] = _local4;
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:80};
_local2["tel1_487"] = _local4;
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:80};
_local2["tel1_304"] = _local4;
_local5 = new Dictionary();
_local5["bullets_573"] = {amountOfPoints:30, amountOfAppears:2, ticksBetweenAppears:200};
_local5["sgun_551"] = {amountOfPoints:10, amountOfAppears:2, ticksBetweenAppears:200};
_local5["sgun_48"] = {amountOfPoints:10, amountOfAppears:2, ticksBetweenAppears:200};
_local5["bullets_26"] = {amountOfPoints:30, amountOfAppears:2, ticksBetweenAppears:200};
_local6 = {x:12, y:16};
_local7 = new Array();
_local7.push(_local1);
_local7.push(_local2);
_local7.push(_local5);
_local7.push(_local6);
_local8 = {levelWidth:25, levelHeigth:25};
_local7.push(_local8);
ARRAY_OF_FIRST_LEVEL.push(_local7);
ARRAY_OF_BG.push([["t3_6", "t3_6", "t3_6", "t3_6", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_1", "t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1", "t3_1", "t3_6"], ["t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6"], ["t3_6", "t3_6", "t3_1", "t3_15", "t3_12", "t3_12", "t3_12", "t3_12", "t3_12", "t3_12", "t3_12", "t3_12", "t3_1", "t3_12", "t3_12", "t3_12", "t3_12", "t3_12", "t3_12", "t3_12", "t3_12", "t3_16", "t3_1", "t3_6", "t3_6"], ["t1_1", "t3_6", "t3_1", "t3_11", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_13", "t3_1", "t3_6", "t1_1"], ["t1_1", "t3_6", "t3_1", "t3_11", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_13", "t3_1", "t3_6", "t1_1"], ["t1_1", "t3_6", "t3_1", "t3_11", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_13", "t3_1", "t3_6", "t1_1"], ["t1_1", "t3_6", "t3_1", "t3_11", "t3_6", "t3_6", "t3_6", "t3_1", "t3_1", "t3_1", "t3_5", "t3_6", "t3_1", "t3_6", "t3_3", "t3_1", "t3_1", "t3_1", "t3_6", "t3_6", "t3_6", "t3_13", "t3_1", "t3_6", "t1_1"], ["t1_1", "t3_6", "t3_1", "t3_11", "t3_6", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_6", "t3_13", "t3_1", "t3_6", "t1_1"], ["t1_1", "t3_6", "t3_1", "t3_11", "t3_6", "t3_6", "t3_6", "t3_1", "t3_6", "t3_2", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_4", "t3_6", "t3_1", "t3_6", "t3_6", "t3_6", "t3_13", "t3_1", "t3_6", "t1_1"], ["t1_1", "t3_6", "t3_1", "t3_11", "t3_6", "t3_6", "t3_6", "t3_5", "t3_6", "t3_1", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t3_1", "t3_6", "t3_3", "t3_6", "t3_6", "t3_6", "t3_13", "t3_1", "t3_6", "t1_1"], ["t1_1", "t3_6", "t3_1", "t3_11", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1", "t2_6", "t2_1", "t2_1", "t2_1", "t2_6", "t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_13", "t3_1", "t3_6", "t1_1"], ["t1_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t2_6", "t2_1", "t2_1", "t2_1", "t2_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t1_1"], ["t1_1", "t3_6", "t3_1", "t3_11", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1", "t2_6", "t2_1", "t2_1", "t2_1", "t2_6", "t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_13", "t3_1", "t3_6", "t1_1"], ["t1_1", "t3_6", "t3_1", "t3_11", "t3_6", "t3_6", "t3_6", "t3_4", "t3_6", "t3_1", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t3_1", "t3_6", "t3_2", "t3_6", "t3_6", "t3_6", "t3_13", "t3_1", "t3_6", "t1_1"], ["t1_1", "t3_6", "t3_1", "t3_11", "t3_6", "t3_6", "t3_6", "t3_1", "t3_6", "t3_3", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_5", "t3_6", "t3_1", "t3_6", "t3_6", "t3_6", "t3_13", "t3_1", "t3_6", "t1_1"], ["t1_1", "t3_6", "t3_1", "t3_11", "t3_6", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_6", "t3_13", "t3_1", "t3_6", "t1_1"], ["t1_1", "t3_6", "t3_1", "t3_11", "t3_6", "t3_6", "t3_6", "t3_1", "t3_1", "t3_1", "t3_4", "t3_6", "t3_1", "t3_6", "t3_2", "t3_1", "t3_1", "t3_1", "t3_6", "t3_6", "t3_6", "t3_13", "t3_1", "t3_6", "t1_1"], ["t1_1", "t3_6", "t3_1", "t3_11", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_13", "t3_1", "t3_6", "t1_1"], ["t1_1", "t3_6", "t3_1", "t3_11", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_13", "t3_1", "t3_6", "t1_1"], ["t1_1", "t3_6", "t3_1", "t3_11", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_13", "t3_1", "t3_6", "t1_1"], ["t3_6", "t3_6", "t3_1", "t3_18", "t3_14", "t3_14", "t3_14", "t3_14", "t3_14", "t3_14", "t3_14", "t3_14", "t3_1", "t3_14", "t3_14", "t3_14", "t3_14", "t3_14", "t3_14", "t3_14", "t3_14", "t3_17", "t3_1", "t3_6", "t3_6"], ["t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6"], ["t3_6", "t3_1", "t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1", "t3_1", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t3_6", "t3_6", "t3_6", "t3_6"]]);
_local1 = [[16, 0, "s2"], [3, 24, "s2"], [12, 12, "tel1"], [1, 0, "s2"], [6, 24, "s2"], [0, 4, "s2"], [4, 12, "healthUP"], [0, 18, "s2"], [21, 0, "s2"], [0, 1, "s2"], [20, 0, "s2"], [18, 6, "s3"], [24, 10, "s2"], [18, 24, "s2"], [0, 9, "s2"], [3, 3, "s3"], [5, 0, "s2"], [24, 11, "s2"], [21, 21, "s3"], [4, 20, "s3"], [1, 23, "s2"], [8, 9, "s3"], [0, 19, "s2"], [6, 18, "s3"], [0, 5, "s2"], [24, 24, "s2"], [24, 0, "s2"], [24, 20, "s2"], [24, 21, "s2"], [17, 7, "s3"], [24, 12, "s2"], [0, 21, "s2"], [5, 19, "s3"], [18, 18, "s3"], [20, 12, "healthUP"], [8, 0, "s2"], [16, 9, "s3"], [0, 13, "s2"], [0, 11, "s2"], [0, 6, "s2"], [0, 16, "s2"], [24, 8, "s2"], [11, 24, "s2"], [7, 24, "s2"], [20, 24, "s2"], [0, 10, "s2"], [19, 19, "s3"], [24, 6, "s2"], [0, 15, "s2"], [10, 0, "s2"], [24, 3, "s2"], [24, 2, "s2"], [19, 0, "s2"], [1, 24, "s2"], [15, 8, "s3"], [21, 24, "s2"], [17, 0, "s2"], [3, 21, "s3"], [0, 3, "s2"], [1, 1, "s2"], [5, 5, "s3"], [16, 8, "s3"], [15, 24, "s2"], [23, 1, "s2"], [9, 8, "s3"], [24, 22, "s2"], [20, 20, "s3"], [16, 24, "s2"], [17, 17, "s3"], [12, 20, "sgun"], [8, 8, "s3"], [22, 0, "s2"], [24, 23, "s2"], [4, 24, "s2"], [3, 0, "s2"], [0, 12, "s2"], [5, 24, "s2"], [12, 0, "s2"], [12, 4, "bullets"], [7, 0, "s2"], [15, 0, "s2"], [24, 1, "s2"], [24, 7, "s2"], [13, 24, "s2"], [24, 14, "s2"], [18, 0, "s2"], [6, 0, "s2"], [21, 3, "s3"], [2, 24, "s2"], [9, 0, "s2"], [4, 4, "s3"], [7, 7, "s3"], [14, 24, "s2"], [20, 4, "s3"], [24, 19, "s2"], [16, 15, "s3"], [15, 16, "s3"], [22, 24, "s2"], [0, 23, "s2"], [16, 16, "s3"], [7, 17, "s3"], [14, 0, "s2"], [24, 16, "s2"], [8, 15, "s3"], [0, 22, "s2"], [11, 0, "s2"], [23, 23, "s2"], [19, 5, "s3"], [0, 8, "s2"], [13, 0, "s2"], [23, 24, "s2"], [17, 24, "s2"], [12, 24, "s2"], [19, 24, "s2"], [0, 0, "s2"], [0, 20, "s2"], [24, 9, "s2"], [8, 16, "s3"], [9, 24, "s2"], [10, 24, "s2"], [0, 17, "s2"], [2, 0, "s2"], [8, 24, "s2"], [24, 4, "s2"], [24, 13, "s2"], [23, 0, "s2"], [6, 6, "s3"], [24, 15, "s2"], [24, 18, "s2"], [24, 17, "s2"], [4, 0, "s2"], [0, 14, "s2"], [0, 2, "s2"], [0, 24, "s2"], [0, 7, "s2"], [24, 5, "s2"], [9, 16, "s3"]];
_local2 = new Dictionary();
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature2", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature2", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature2", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature2", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature2", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:40};
_local2["tel1_312"] = _local4;
_local5 = new Dictionary();
_local5["healthUP_304"] = {amountOfPoints:20, amountOfAppears:2, ticksBetweenAppears:200};
_local5["healthUP_320"] = {amountOfPoints:20, amountOfAppears:2, ticksBetweenAppears:200};
_local5["sgun_512"] = {amountOfPoints:10, amountOfAppears:5, ticksBetweenAppears:200};
_local5["bullets_112"] = {amountOfPoints:30, amountOfAppears:5, ticksBetweenAppears:200};
_local6 = {x:10, y:10};
_local7 = new Array();
_local7.push(_local1);
_local7.push(_local2);
_local7.push(_local5);
_local7.push(_local6);
_local8 = {levelWidth:25, levelHeigth:25};
_local7.push(_local8);
ARRAY_OF_FIRST_LEVEL.push(_local7);
ARRAY_OF_BG.push([["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_6", "t2_6", "t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6", "t2_6", "t2_6", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_6", "t2_1", "t2_6", "t2_6", "t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6", "t2_6", "t2_6", "t2_1", "t2_6", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_6", "t2_1", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_1", "t2_6", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_6", "t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6", "t2_6", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_6", "t2_6", "t2_19", "t2_19", "t2_19", "t2_6", "t2_6", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_19", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_19", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_19", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_19", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_19", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_19", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_6", "t2_6", "t2_19", "t2_19", "t2_19", "t2_6", "t2_6", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_6", "t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6", "t2_6", "t2_6", "t2_1", "t2_6", "t2_1", "t2_6", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_6", "t2_1", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_1", "t2_6", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_6", "t2_1", "t2_6", "t2_6", "t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6", "t2_6", "t2_6", "t2_1", "t2_6", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_6", "t2_6", "t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6", "t2_6", "t2_6", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"]]);
_local1 = [[7, 17, "s2"], [6, 13, "s2"], [2, 0, "s3"], [0, 16, "s3"], [3, 27, "s3"], [9, 10, "s2"], [12, 8, "tel1"], [9, 0, "s3"], [11, 25, "s2"], [5, 1, "s2"], [8, 0, "s3"], [2, 17, "s2"], [4, 22, "tel1"], [16, 5, "s3"], [11, 6, "s2"], [8, 27, "s3"], [16, 18, "s3"], [14, 0, "s3"], [5, 2, "s2"], [16, 7, "s3"], [14, 2, "sgun"], [16, 23, "s3"], [11, 4, "s2"], [5, 25, "s2"], [0, 0, "s3"], [9, 11, "s3"], [14, 15, "s2"], [16, 17, "s3"], [16, 0, "s3"], [3, 25, "s2"], [0, 9, "s3"], [15, 0, "s3"], [10, 13, "s2"], [10, 20, "s2"], [10, 27, "s3"], [2, 11, "s3"], [2, 16, "s2"], [6, 0, "s3"], [14, 22, "s2"], [16, 9, "s3"], [2, 8, "s2"], [16, 26, "s3"], [10, 6, "s2"], [13, 27, "s3"], [14, 17, "s2"], [13, 18, "s2"], [0, 13, "s3"], [7, 21, "s2"], [16, 3, "s3"], [14, 7, "s2"], [0, 3, "s3"], [14, 25, "s3"], [2, 9, "s2"], [14, 27, "s3"], [13, 11, "s2"], [3, 2, "bullets"], [9, 27, "s3"], [16, 10, "s3"], [6, 6, "s2"], [12, 25, "s2"], [14, 8, "s2"], [11, 5, "s2"], [14, 16, "s2"], [4, 8, "tel1"], [0, 24, "s3"], [0, 4, "s3"], [0, 19, "s3"], [13, 0, "s3"], [13, 25, "s2"], [16, 22, "s3"], [16, 8, "s3"], [3, 18, "s2"], [14, 21, "s2"], [0, 1, "s3"], [11, 0, "s3"], [11, 27, "s3"], [5, 6, "s2"], [2, 27, "s3"], [9, 17, "s2"], [2, 25, "s3"], [14, 10, "s2"], [3, 20, "s2"], [7, 27, "s3"], [6, 27, "s3"], [6, 20, "s2"], [13, 20, "s2"], [2, 18, "s3"], [9, 13, "s3"], [16, 12, "s3"], [15, 27, "s3"], [16, 27, "s3"], [0, 14, "s3"], [5, 3, "s2"], [2, 13, "s3"], [0, 27, "s3"], [7, 20, "s3"], [3, 0, "s3"], [10, 0, "s3"], [0, 26, "s3"], [5, 27, "s3"], [0, 21, "s3"], [7, 10, "s2"], [0, 25, "s3"], [11, 2, "s2"], [13, 6, "s2"], [16, 4, "s3"], [16, 1, "s3"], [0, 8, "s3"], [7, 0, "s3"], [2, 7, "s2"], [2, 24, "s2"], [12, 0, "s3"], [3, 13, "s2"], [14, 13, "s3"], [0, 18, "s3"], [0, 20, "s3"], [3, 6, "s2"], [7, 14, "s2"], [7, 18, "s3"], [6, 18, "s2"], [7, 13, "s3"], [9, 6, "s3"], [10, 18, "s2"], [9, 21, "s2"], [2, 10, "s2"], [2, 22, "s2"], [9, 7, "s2"], [0, 12, "s3"], [4, 27, "s3"], [7, 24, "s2"], [16, 14, "s3"], [3, 11, "s2"], [16, 21, "s3"], [14, 20, "s3"], [2, 21, "s2"], [16, 25, "s3"], [5, 5, "s2"], [9, 18, "s3"], [14, 24, "s2"], [16, 20, "s3"], [0, 11, "s3"], [9, 24, "s2"], [0, 7, "s3"], [9, 14, "s2"], [7, 6, "s3"], [2, 23, "s2"], [0, 6, "s3"], [7, 11, "s3"], [16, 24, "s3"], [2, 20, "s3"], [0, 10, "s3"], [14, 14, "s2"], [0, 22, "s3"], [9, 25, "s3"], [12, 6, "s2"], [0, 23, "s3"], [4, 6, "s2"], [5, 4, "s2"], [0, 17, "s3"], [14, 23, "s2"], [12, 27, "s3"], [0, 5, "s3"], [10, 11, "s2"], [2, 14, "s2"], [16, 15, "s3"], [7, 25, "s3"], [5, 0, "s3"], [6, 11, "s2"], [16, 11, "s3"], [16, 16, "s3"], [16, 19, "s3"], [0, 15, "s3"], [16, 2, "s3"], [12, 22, "tel1"], [10, 25, "s2"], [16, 6, "s3"], [1, 27, "s3"], [4, 0, "s3"], [16, 13, "s3"], [2, 6, "s3"], [14, 6, "s3"], [11, 1, "s2"], [1, 0, "s3"], [14, 11, "s3"], [6, 25, "s2"], [14, 18, "s3"], [9, 20, "s3"], [7, 7, "s2"], [13, 13, "s2"], [11, 3, "s2"], [2, 15, "s2"], [14, 9, "s2"], [0, 2, "s3"], [4, 25, "s2"]];
_local2 = new Dictionary();
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_148"] = _local4;
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_378"] = _local4;
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_140"] = _local4;
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_386"] = _local4;
_local5 = new Dictionary();
_local5["sgun_48"] = {amountOfPoints:10, amountOfAppears:2, ticksBetweenAppears:300};
_local5["bullets_37"] = {amountOfPoints:30, amountOfAppears:2, ticksBetweenAppears:300};
_local6 = {x:8, y:3};
_local7 = new Array();
_local7.push(_local1);
_local7.push(_local2);
_local7.push(_local5);
_local7.push(_local6);
_local8 = {levelWidth:17, levelHeigth:28};
_local7.push(_local8);
ARRAY_OF_FIRST_LEVEL.push(_local7);
ARRAY_OF_BG.push([["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_2", "t2_1", "t2_1", "t2_3", "t2_1", "t2_18", "t2_14", "t2_14", "t2_14", "t2_17", "t2_1", "t2_2", "t2_1", "t2_1", "t2_3", "t2_1"], ["t2_1", "t2_1", "t3_1", "t3_1", "t2_1", "t2_1", "t2_16", "t2_1", "t2_1", "t2_1", "t2_15", "t2_1", "t2_1", "t3_1", "t3_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t3_1", "t3_1", "t2_1", "t2_1", "t2_13", "t2_1", "t2_1", "t2_1", "t2_11", "t2_1", "t2_1", "t3_1", "t3_1", "t2_1", "t2_1"], ["t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_17", "t2_1", "t2_1", "t2_1", "t2_18", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1"], ["t2_1", "t2_12", "t2_1", "t2_1", "t2_1", "t2_1", "t2_15", "t2_12", "t2_12", "t2_12", "t2_16", "t2_1", "t2_1", "t2_1", "t2_1", "t2_12", "t2_1"], ["t3_1", "t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6", "t3_1"], ["t3_1", "t2_6", "t2_1", "t2_18", "t2_14", "t2_14", "t2_17", "t2_1", "t2_6", "t2_1", "t2_18", "t2_14", "t2_14", "t2_17", "t2_1", "t2_6", "t3_1"], ["t3_1", "t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6", "t3_1"], ["t2_6", "t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6", "t3_1"], ["t2_6", "t2_6", "t2_1", "t2_15", "t2_12", "t2_12", "t2_16", "t2_1", "t2_6", "t2_1", "t2_15", "t2_12", "t2_12", "t2_16", "t2_1", "t2_6", "t3_1"], ["t2_6", "t2_6", "t2_1", "t2_1", "t2_6", "t2_6", "t2_1", "t2_1", "t2_6", "t2_1", "t2_1", "t2_6", "t2_6", "t2_1", "t2_1", "t2_6", "t3_1"], ["t2_6", "t2_6", "t2_1", "t2_1", "t2_6", "t2_6", "t2_1", "t2_1", "t2_6", "t2_1", "t2_1", "t2_6", "t2_6", "t2_1", "t2_1", "t2_6", "t3_1"], ["t3_1", "t2_6", "t2_1", "t2_1", "t2_6", "t2_6", "t2_1", "t2_1", "t2_6", "t2_1", "t2_1", "t2_6", "t2_6", "t2_1", "t2_1", "t2_6", "t3_1"], ["t3_1", "t2_6", "t2_1", "t2_18", "t2_14", "t2_14", "t2_17", "t2_1", "t2_6", "t2_1", "t2_18", "t2_14", "t2_14", "t2_17", "t2_1", "t2_6", "t3_1"], ["t3_1", "t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6", "t3_1"], ["t3_1", "t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6", "t3_1"], ["t3_1", "t2_6", "t2_1", "t2_15", "t2_12", "t2_12", "t2_16", "t2_1", "t2_6", "t2_1", "t2_15", "t2_12", "t2_12", "t2_16", "t2_1", "t2_6", "t3_1"], ["t3_1", "t2_6", "t2_1", "t2_1", "t2_6", "t2_6", "t2_1", "t2_1", "t2_6", "t2_1", "t2_1", "t2_6", "t2_6", "t2_1", "t2_1", "t2_6", "t3_1"], ["t3_1", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t3_1"], ["t3_1", "t2_6", "t2_1", "t2_1", "t2_6", "t2_6", "t2_1", "t2_1", "t2_6", "t2_1", "t2_1", "t2_6", "t2_6", "t2_1", "t2_1", "t2_6", "t3_1"], ["t3_1", "t2_6", "t2_1", "t2_18", "t2_14", "t2_14", "t2_17", "t2_1", "t2_6", "t2_1", "t2_18", "t2_14", "t2_14", "t2_17", "t2_1", "t2_6", "t3_1"], ["t3_1", "t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6", "t3_1"], ["t3_1", "t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_11", "t2_6", "t2_13", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6", "t3_1"], ["t3_1", "t2_6", "t2_1", "t2_15", "t2_12", "t2_12", "t2_16", "t2_1", "t2_6", "t2_1", "t2_15", "t2_12", "t2_12", "t2_16", "t2_1", "t2_6", "t3_1"], ["t3_1", "t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_1", "t2_6", "t3_1"], ["t3_1", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t2_6", "t3_1"], ["t3_1", "t2_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t2_6", "t3_1"]]);
_local1 = [[20, 9, "s3"], [17, 3, "tel1"], [18, 2, "bullets"], [11, 0, "s3"], [10, 9, "sgun"], [9, 0, "s3"], [3, 3, "tel1"], [10, 11, "sgun"], [0, 2, "s3"], [18, 18, "cell"], [17, 17, "tel1"], [6, 20, "s3"], [0, 18, "s3"], [1, 10, "s3"], [20, 11, "s3"], [10, 15, "s3"], [2, 18, "cell"], [11, 13, "s3"], [20, 2, "s3"], [20, 17, "s3"], [2, 2, "bullets"], [13, 0, "s3"], [1, 0, "s3"], [10, 17, "s3"], [17, 20, "s3"], [0, 4, "s3"], [0, 17, "s3"], [10, 1, "s3"], [16, 20, "s3"], [12, 20, "s3"], [10, 6, "s3"], [10, 20, "s3"], [12, 0, "s3"], [12, 12, "s3"], [16, 10, "s3"], [20, 8, "s3"], [8, 12, "s3"], [8, 7, "s3"], [14, 11, "s3"], [3, 20, "s3"], [12, 13, "s3"], [11, 20, "s3"], [0, 6, "s3"], [15, 0, "s3"], [20, 20, "s3"], [11, 7, "s3"], [4, 20, "s3"], [10, 19, "s3"], [7, 20, "s3"], [20, 6, "s3"], [20, 0, "s3"], [20, 3, "s3"], [0, 19, "s3"], [8, 8, "s3"], [0, 1, "s3"], [14, 8, "s3"], [19, 10, "s3"], [20, 16, "s3"], [1, 20, "s3"], [6, 13, "s3"], [0, 11, "s3"], [20, 14, "s3"], [14, 10, "s3"], [10, 13, "s3"], [8, 20, "s3"], [0, 8, "s3"], [5, 20, "s3"], [2, 0, "s3"], [0, 9, "s3"], [10, 5, "s3"], [10, 3, "s3"], [14, 20, "s3"], [0, 0, "s3"], [17, 0, "s3"], [9, 20, "s3"], [20, 5, "s3"], [19, 0, "s3"], [4, 0, "s3"], [15, 10, "s3"], [20, 4, "s3"], [14, 9, "s3"], [20, 10, "s3"], [0, 20, "s3"], [0, 13, "s3"], [0, 14, "s3"], [6, 9, "s3"], [0, 5, "s3"], [20, 7, "s3"], [0, 16, "s3"], [19, 20, "s3"], [9, 7, "s3"], [8, 13, "s3"], [20, 12, "s3"], [14, 7, "s3"], [8, 0, "s3"], [6, 12, "s3"], [9, 13, "s3"], [17, 10, "s3"], [2, 20, "s3"], [5, 0, "s3"], [20, 15, "s3"], [10, 4, "s3"], [10, 0, "s3"], [20, 18, "s3"], [0, 3, "s3"], [14, 0, "s3"], [18, 20, "s3"], [10, 16, "s3"], [16, 0, "s3"], [7, 0, "s3"], [20, 13, "s3"], [6, 7, "s3"], [2, 10, "s3"], [20, 19, "s3"], [18, 10, "s3"], [6, 11, "s3"], [12, 7, "s3"], [0, 12, "s3"], [15, 20, "s3"], [4, 10, "s3"], [0, 10, "s3"], [12, 8, "s3"], [5, 10, "s3"], [6, 10, "s3"], [14, 13, "s3"], [10, 2, "s3"], [18, 0, "s3"], [6, 8, "s3"], [0, 15, "s3"], [14, 12, "s3"], [20, 1, "s3"], [3, 10, "s3"], [3, 0, "s3"], [13, 20, "s3"], [6, 0, "s3"], [10, 18, "s3"], [10, 7, "s3"], [0, 7, "s3"], [3, 17, "tel1"], [10, 14, "s3"]];
_local2 = new Dictionary();
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_80"] = _local4;
_local3 = ["Creature1", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_66"] = _local4;
_local3 = ["Creature1", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_374"] = _local4;
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_360"] = _local4;
_local5 = new Dictionary();
_local5["bullets_60"] = {amountOfPoints:20, amountOfAppears:3, ticksBetweenAppears:300};
_local5["sgun_199"] = {amountOfPoints:10, amountOfAppears:3, ticksBetweenAppears:300};
_local5["sgun_241"] = {amountOfPoints:10, amountOfAppears:3, ticksBetweenAppears:300};
_local5["cell_396"] = {amountOfPoints:10, amountOfAppears:1, ticksBetweenAppears:400};
_local5["cell_380"] = {amountOfPoints:10, amountOfAppears:1, ticksBetweenAppears:400};
_local5["bullets_44"] = {amountOfPoints:20, amountOfAppears:3, ticksBetweenAppears:300};
_local6 = {x:10, y:10};
_local7 = new Array();
_local7.push(_local1);
_local7.push(_local2);
_local7.push(_local5);
_local7.push(_local6);
_local8 = {levelWidth:21, levelHeigth:21};
_local7.push(_local8);
ARRAY_OF_FIRST_LEVEL.push(_local7);
ARRAY_OF_BG.push([["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_1", "t3_7", "t3_12", "t3_8", "t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_1", "t3_11", "t3_1", "t3_13", "t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_1", "t3_11", "t3_1", "t3_13", "t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_1", "t3_10", "t3_14", "t3_9", "t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_5", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_3", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"]]);
_local1 = [[26, 10, "s3"], [13, 0, "s3"], [21, 5, "s3"], [5, 21, "s3"], [0, 26, "s3"], [26, 20, "s3"], [8, 18, "s3"], [1, 0, "s3"], [23, 3, "s3"], [0, 12, "s3"], [20, 20, "s3"], [14, 0, "s3"], [16, 0, "s3"], [5, 0, "s3"], [25, 0, "s3"], [6, 13, "s3"], [0, 25, "s3"], [3, 9, "tel1"], [26, 17, "s3"], [26, 25, "s3"], [17, 3, "tel1"], [24, 0, "s3"], [16, 26, "s3"], [23, 17, "tel1"], [13, 7, "s3"], [0, 5, "s3"], [17, 23, "tel1"], [12, 0, "s3"], [9, 23, "tel1"], [21, 26, "s3"], [21, 0, "s3"], [17, 26, "s3"], [6, 0, "s3"], [13, 19, "s3"], [6, 20, "s3"], [7, 0, "s3"], [23, 23, "s3"], [26, 4, "s3"], [23, 9, "tel1"], [3, 19, "healthUP"], [24, 24, "s3"], [7, 3, "sgun"], [24, 26, "s3"], [23, 11, "cell"], [26, 2, "s3"], [4, 26, "s3"], [26, 1, "s3"], [0, 14, "s3"], [25, 1, "s3"], [3, 13, "s3"], [2, 26, "s3"], [9, 3, "tel1"], [13, 9, "s3"], [19, 23, "sgun"], [24, 2, "s3"], [10, 0, "s3"], [23, 13, "s3"], [20, 6, "s3"], [0, 20, "s3"], [23, 19, "cell"], [13, 18, "s3"], [26, 18, "s3"], [7, 23, "bullets"], [7, 19, "s3"], [0, 17, "s3"], [3, 7, "healthUP"], [0, 19, "s3"], [13, 20, "s3"], [13, 3, "s3"], [16, 16, "s3"], [13, 25, "s3"], [0, 21, "s3"], [4, 0, "s3"], [10, 13, "s3"], [26, 15, "s3"], [22, 13, "s3"], [0, 4, "s3"], [26, 12, "s3"], [23, 26, "s3"], [6, 26, "s3"], [26, 14, "s3"], [26, 24, "s3"], [19, 19, "s3"], [0, 1, "s3"], [0, 2, "s3"], [26, 21, "s3"], [18, 0, "s3"], [8, 13, "s3"], [6, 6, "s3"], [17, 13, "s3"], [0, 23, "s3"], [17, 9, "s3"], [20, 26, "s3"], [13, 10, "s3"], [14, 26, "s3"], [0, 8, "s3"], [4, 22, "s3"], [7, 7, "s3"], [1, 13, "s3"], [23, 0, "s3"], [13, 17, "s3"], [0, 7, "s3"], [1, 25, "s3"], [20, 0, "s3"], [0, 13, "s3"], [1, 1, "s3"], [13, 24, "s3"], [3, 26, "s3"], [26, 9, "s3"], [19, 3, "bullets"], [3, 17, "tel1"], [17, 0, "s3"], [0, 18, "s3"], [22, 26, "s3"], [18, 8, "s3"], [15, 26, "s3"], [18, 13, "s3"], [0, 10, "s3"], [26, 16, "s3"], [26, 23, "s3"], [18, 18, "s3"], [7, 13, "s3"], [21, 13, "s3"], [10, 26, "s3"], [9, 9, "s3"], [26, 19, "s3"], [0, 6, "s3"], [5, 5, "s3"], [5, 13, "s3"], [0, 15, "s3"], [24, 13, "s3"], [25, 25, "s3"], [26, 11, "s3"], [2, 2, "s3"], [8, 26, "s3"], [9, 26, "s3"], [19, 7, "s3"], [26, 0, "s3"], [21, 21, "s3"], [0, 24, "s3"], [3, 3, "s3"], [26, 7, "s3"], [19, 26, "s3"], [13, 22, "s3"], [8, 8, "s3"], [13, 6, "s3"], [2, 0, "s3"], [13, 21, "s3"], [13, 8, "s3"], [16, 13, "s3"], [26, 8, "s3"], [26, 22, "s3"], [26, 5, "s3"], [13, 23, "s3"], [4, 4, "s3"], [26, 26, "s3"], [22, 22, "s3"], [0, 3, "s3"], [9, 13, "s3"], [9, 0, "s3"], [13, 1, "s3"], [26, 13, "s3"], [0, 11, "s3"], [17, 17, "s3"], [19, 13, "s3"], [16, 10, "s3"], [25, 26, "s3"], [1, 26, "s3"], [11, 26, "s3"], [3, 0, "s3"], [0, 22, "s3"], [13, 5, "s3"], [8, 0, "s3"], [0, 0, "s3"], [15, 0, "s3"], [12, 26, "s3"], [2, 13, "s3"], [10, 16, "s3"], [2, 24, "s3"], [5, 26, "s3"], [22, 0, "s3"], [26, 6, "s3"], [9, 17, "s3"], [13, 4, "s3"], [0, 9, "s3"], [13, 26, "s3"], [7, 26, "s3"], [18, 26, "s3"], [0, 16, "s3"], [13, 2, "s3"], [10, 10, "s3"], [26, 3, "s3"], [11, 0, "s3"], [13, 16, "s3"], [25, 13, "s3"], [20, 13, "s3"], [22, 4, "s3"], [4, 13, "s3"], [3, 23, "s3"], [19, 0, "s3"]];
_local2 = new Dictionary();
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:200};
_local2["tel1_246"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_98"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_482"] = _local4;
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:150};
_local2["tel1_638"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_630"] = _local4;
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_266"] = _local4;
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_90"] = _local4;
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_462"] = _local4;
_local5 = new Dictionary();
_local5["healthUP_516"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["sgun_88"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["cell_320"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["sgun_640"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["cell_536"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["bullets_628"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_192"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["bullets_100"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local6 = {x:13, y:13};
_local7 = new Array();
_local7.push(_local1);
_local7.push(_local2);
_local7.push(_local5);
_local7.push(_local6);
_local8 = {levelWidth:27, levelHeigth:27};
_local7.push(_local8);
ARRAY_OF_FIRST_LEVEL.push(_local7);
ARRAY_OF_BG.push([["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t3_6", "t3_6", "t3_3", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_5", "t3_6", "t3_1", "t3_6", "t3_3", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_5", "t3_6", "t3_6", "t3_1", "t3_6", "t3_1"], ["t3_1", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_3", "t3_1", "t3_1", "t3_1", "t3_1", "t3_4", "t3_6", "t3_1", "t3_6", "t3_2", "t3_1", "t3_1", "t3_1", "t3_1", "t3_5", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_1"], ["t3_1", "t3_6", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_3", "t3_1", "t3_1", "t3_1", "t3_5", "t3_6", "t3_1", "t3_6", "t3_3", "t3_1", "t3_1", "t3_1", "t3_5", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_6", "t3_1"], ["t3_1", "t3_6", "t3_4", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_3", "t3_1", "t3_1", "t3_4", "t3_6", "t3_1", "t3_6", "t3_2", "t3_1", "t3_1", "t3_5", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_2", "t3_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t3_4", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_3", "t3_1", "t3_5", "t3_6", "t3_1", "t3_6", "t3_3", "t3_1", "t3_5", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_2", "t3_1", "t3_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t3_1", "t3_4", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_3", "t3_4", "t3_6", "t3_1", "t3_6", "t3_2", "t3_5", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_2", "t3_1", "t3_1", "t3_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_4", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_3", "t3_6", "t3_1", "t3_6", "t3_5", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_2", "t3_1", "t3_1", "t3_1", "t3_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_4", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_2", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_4", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_2", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_4", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_2", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_1"], ["t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_2", "t3_1", "t3_4", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_1"], ["t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_3", "t3_1", "t3_5", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_5", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_3", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_5", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_3", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_5", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_3", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_5", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_2", "t3_6", "t3_1", "t3_6", "t3_4", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_3", "t3_1", "t3_1", "t3_1", "t3_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t3_1", "t3_5", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_2", "t3_5", "t3_6", "t3_1", "t3_6", "t3_3", "t3_4", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_3", "t3_1", "t3_1", "t3_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t3_5", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_2", "t3_1", "t3_4", "t3_6", "t3_1", "t3_6", "t3_2", "t3_1", "t3_4", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_3", "t3_1", "t3_6", "t3_1"], ["t3_1", "t3_6", "t3_5", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_2", "t3_1", "t3_1", "t3_5", "t3_6", "t3_1", "t3_6", "t3_3", "t3_1", "t3_1", "t3_4", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_3", "t3_6", "t3_1"], ["t3_1", "t3_6", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_2", "t3_1", "t3_1", "t3_1", "t3_4", "t3_6", "t3_1", "t3_6", "t3_2", "t3_1", "t3_1", "t3_1", "t3_4", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_6", "t3_1"], ["t3_1", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_2", "t3_1", "t3_1", "t3_1", "t3_1", "t3_5", "t3_6", "t3_1", "t3_6", "t3_3", "t3_1", "t3_1", "t3_1", "t3_1", "t3_4", "t3_6", "t3_6", "t3_1", "t3_6", "t3_6", "t3_1"], ["t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_2", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_4", "t3_6", "t3_1", "t3_6", "t3_2", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_4", "t3_6", "t3_6", "t3_1", "t3_6", "t3_1"], ["t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"]]);
_local1 = [[8, 0, "s3"], [12, 12, "s3"], [14, 0, "s3"], [9, 0, "s3"], [16, 0, "s3"], [9, 11, "s3"], [20, 11, "cell"], [3, 12, "s3"], [19, 1, "s3"], [6, 0, "s3"], [12, 8, "s3"], [19, 9, "s3"], [10, 12, "s3"], [9, 9, "s3"], [28, 6, "s3"], [16, 4, "s3"], [20, 9, "s3"], [19, 0, "s3"], [16, 12, "s3"], [9, 10, "s3"], [7, 12, "s3"], [9, 2, "s3"], [0, 0, "s3"], [3, 3, "tel1"], [28, 0, "s3"], [2, 12, "s3"], [9, 1, "s3"], [0, 9, "s3"], [0, 12, "s3"], [13, 12, "s3"], [14, 9, "s3"], [21, 3, "s3"], [12, 6, "s3"], [21, 12, "s3"], [3, 0, "s3"], [12, 5, "s3"], [27, 0, "s3"], [25, 0, "s3"], [5, 12, "s3"], [3, 9, "tel1"], [13, 0, "s3"], [15, 0, "s3"], [8, 10, "sgun"], [21, 1, "healthUP"], [22, 0, "s3"], [11, 0, "s3"], [7, 2, "bullets"], [20, 1, "bullets"], [20, 10, "bullets"], [24, 12, "s3"], [18, 0, "s3"], [7, 10, "bullets"], [8, 3, "s3"], [16, 8, "s3"], [21, 10, "healthUP"], [16, 6, "s3"], [20, 0, "s3"], [27, 12, "s3"], [11, 12, "s3"], [28, 5, "s3"], [0, 8, "s3"], [7, 1, "sgun"], [21, 0, "s3"], [19, 11, "s3"], [28, 11, "s3"], [25, 9, "tel1"], [20, 12, "s3"], [22, 12, "s3"], [25, 12, "s3"], [26, 0, "s3"], [15, 12, "s3"], [16, 5, "s3"], [23, 12, "s3"], [9, 12, "s3"], [20, 2, "cell"], [8, 1, "cell"], [0, 5, "s3"], [19, 3, "s3"], [8, 9, "s3"], [9, 3, "s3"], [19, 2, "s3"], [10, 0, "s3"], [12, 0, "s3"], [0, 6, "s3"], [14, 11, "s3"], [28, 3, "s3"], [17, 0, "s3"], [0, 2, "s3"], [17, 12, "s3"], [6, 12, "s3"], [14, 1, "s3"], [20, 6, "s3"], [7, 3, "s3"], [10, 6, "s3"], [7, 0, "s3"], [8, 6, "s3"], [8, 12, "s3"], [28, 12, "s3"], [28, 7, "s3"], [20, 3, "s3"], [18, 6, "s3"], [19, 10, "s3"], [12, 4, "s3"], [28, 10, "s3"], [24, 0, "s3"], [2, 0, "s3"], [14, 12, "s3"], [0, 11, "s3"], [26, 12, "s3"], [18, 12, "s3"], [25, 3, "tel1"], [12, 7, "s3"], [5, 0, "s3"], [23, 0, "s3"], [28, 8, "s3"], [19, 12, "s3"], [28, 2, "s3"], [0, 4, "s3"], [0, 7, "s3"], [0, 10, "s3"], [28, 4, "s3"], [14, 3, "s3"], [7, 9, "s3"], [4, 0, "s3"], [1, 0, "s3"], [4, 12, "s3"], [28, 1, "s3"], [0, 3, "s3"], [16, 7, "s3"], [21, 9, "s3"], [28, 9, "s3"], [0, 1, "s3"], [1, 12, "s3"]];
_local2 = new Dictionary();
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_90"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:300};
_local2["tel1_264"] = _local4;
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_286"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:300};
_local2["tel1_112"] = _local4;
_local5 = new Dictionary();
_local5["cell_339"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["sgun_298"] = {amountOfPoints:20, amountOfAppears:2, ticksBetweenAppears:200};
_local5["healthUP_50"] = {amountOfPoints:20, amountOfAppears:2, ticksBetweenAppears:200};
_local5["bullets_65"] = {amountOfPoints:100, amountOfAppears:2, ticksBetweenAppears:500};
_local5["bullets_49"] = {amountOfPoints:100, amountOfAppears:2, ticksBetweenAppears:500};
_local5["bullets_310"] = {amountOfPoints:100, amountOfAppears:2, ticksBetweenAppears:500};
_local5["bullets_297"] = {amountOfPoints:100, amountOfAppears:2, ticksBetweenAppears:500};
_local5["healthUP_311"] = {amountOfPoints:20, amountOfAppears:2, ticksBetweenAppears:200};
_local5["sgun_36"] = {amountOfPoints:20, amountOfAppears:2, ticksBetweenAppears:200};
_local5["cell_78"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["cell_37"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local6 = {x:14, y:6};
_local7 = new Array();
_local7.push(_local1);
_local7.push(_local2);
_local7.push(_local5);
_local7.push(_local6);
_local8 = {levelWidth:29, levelHeigth:13};
_local7.push(_local8);
ARRAY_OF_FIRST_LEVEL.push(_local7);
ARRAY_OF_BG.push([["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t3_1"], ["t3_1", "t1_19", "t3_6", "t3_6", "t3_6", "t1_19", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t1_19", "t3_6", "t3_6", "t3_6", "t1_19", "t3_1"], ["t3_1", "t1_19", "t3_6", "t1_19", "t3_6", "t1_19", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t1_19", "t3_6", "t3_6", "t3_6", "t1_19", "t3_1"], ["t3_1", "t1_19", "t3_6", "t3_6", "t3_6", "t1_19", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_3", "t3_1", "t3_5", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t1_19", "t3_6", "t3_6", "t3_6", "t1_19", "t3_1"], ["t3_1", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_7", "t3_12", "t3_8", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t3_1"], ["t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_11", "t3_1", "t3_13", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1"], ["t3_1", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_10", "t3_14", "t3_9", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t3_1"], ["t3_1", "t1_19", "t3_6", "t3_6", "t3_6", "t1_19", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_2", "t3_1", "t3_4", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t1_19", "t3_6", "t3_6", "t3_6", "t1_19", "t3_1"], ["t3_1", "t1_19", "t3_6", "t3_6", "t3_6", "t1_19", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t1_19", "t3_6", "t3_6", "t3_6", "t1_19", "t3_1"], ["t3_1", "t1_19", "t3_6", "t3_6", "t3_6", "t1_19", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t1_19", "t3_6", "t3_6", "t3_6", "t1_19", "t3_1"], ["t3_1", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"]]);
_local1 = [[8, 3, "bullets"], [1, 7, "s3"], [0, 5, "s3"], [8, 14, "s3"], [5, 15, "s3"], [20, 10, "s3"], [21, 16, "s3"], [2, 8, "s3"], [0, 2, "s3"], [2, 24, "s3"], [19, 12, "s3"], [20, 7, "s3"], [2, 16, "s3"], [4, 15, "s3"], [2, 11, "cell"], [16, 0, "s3"], [0, 19, "s3"], [18, 14, "s3"], [5, 10, "s3"], [17, 15, "s3"], [21, 15, "s3"], [12, 21, "tel1"], [19, 8, "s3"], [4, 9, "s3"], [24, 10, "s3"], [8, 24, "s3"], [17, 13, "s3"], [14, 0, "s3"], [5, 24, "s3"], [6, 14, "s3"], [5, 13, "s3"], [3, 6, "s3"], [16, 14, "s3"], [16, 21, "sgun"], [8, 0, "s3"], [22, 7, "s3"], [10, 0, "s3"], [17, 6, "s3"], [24, 17, "s3"], [16, 8, "s3"], [24, 15, "s3"], [2, 9, "s3"], [22, 17, "s3"], [1, 8, "s3"], [7, 12, "s3"], [3, 24, "s3"], [21, 24, "s3"], [23, 9, "s3"], [24, 20, "s3"], [24, 22, "s3"], [4, 17, "s3"], [7, 15, "s3"], [8, 13, "s3"], [12, 24, "s3"], [23, 24, "s3"], [20, 17, "s3"], [4, 8, "s3"], [24, 18, "s3"], [18, 10, "s3"], [3, 9, "s3"], [7, 10, "s3"], [23, 10, "s3"], [7, 13, "s3"], [4, 10, "s3"], [1, 13, "s3"], [17, 24, "s3"], [17, 10, "s3"], [19, 9, "s3"], [20, 13, "s3"], [18, 15, "s3"], [6, 6, "s3"], [0, 1, "s3"], [21, 21, "tel1"], [2, 0, "s3"], [0, 17, "s3"], [20, 24, "s3"], [8, 21, "sgun"], [22, 15, "s3"], [18, 7, "s3"], [17, 7, "s3"], [4, 6, "s3"], [17, 17, "s3"], [3, 21, "tel1"], [20, 8, "s3"], [17, 14, "s3"], [24, 16, "s3"], [0, 16, "s3"], [12, 3, "tel1"], [2, 17, "s3"], [23, 14, "s3"], [23, 11, "s3"], [5, 6, "s3"], [23, 8, "s3"], [0, 22, "s3"], [6, 17, "s3"], [3, 17, "s3"], [6, 24, "s3"], [22, 0, "s3"], [1, 24, "s3"], [3, 15, "s3"], [16, 9, "s3"], [24, 13, "s3"], [24, 2, "s3"], [8, 6, "s3"], [2, 6, "s3"], [22, 14, "s3"], [8, 7, "s3"], [22, 13, "s3"], [24, 12, "s3"], [0, 24, "s3"], [6, 12, "s3"], [3, 16, "s3"], [0, 14, "s3"], [7, 16, "s3"], [24, 0, "s3"], [0, 4, "s3"], [11, 0, "s3"], [1, 15, "s3"], [5, 12, "s3"], [8, 9, "s3"], [24, 8, "s3"], [19, 16, "s3"], [3, 0, "s3"], [1, 12, "s3"], [19, 7, "s3"], [18, 24, "s3"], [6, 15, "s3"], [21, 8, "s3"], [1, 6, "s3"], [19, 17, "s3"], [19, 24, "s3"], [21, 0, "s3"], [5, 7, "s3"], [18, 9, "s3"], [18, 8, "s3"], [24, 21, "s3"], [1, 17, "s3"], [7, 17, "s3"], [23, 0, "s3"], [0, 12, "s3"], [4, 24, "s3"], [2, 7, "s3"], [7, 14, "s3"], [0, 9, "s3"], [5, 8, "s3"], [16, 10, "s3"], [20, 9, "s3"], [7, 8, "s3"], [18, 12, "s3"], [18, 16, "s3"], [0, 13, "s3"], [20, 14, "s3"], [15, 0, "s3"], [16, 17, "s3"], [19, 6, "s3"], [0, 21, "s3"], [24, 14, "s3"], [13, 0, "s3"], [23, 15, "s3"], [15, 24, "s3"], [0, 8, "s3"], [16, 24, "s3"], [16, 12, "s3"], [18, 17, "s3"], [12, 0, "s3"], [6, 10, "s3"], [19, 13, "s3"], [22, 16, "s3"], [4, 13, "s3"], [7, 6, "s3"], [3, 3, "tel1"], [6, 0, "s3"], [6, 8, "s3"], [23, 12, "s3"], [4, 14, "s3"], [3, 8, "s3"], [23, 17, "s3"], [8, 16, "s3"], [11, 24, "s3"], [7, 0, "s3"], [21, 7, "s3"], [24, 11, "s3"], [17, 12, "s3"], [9, 0, "s3"], [16, 7, "s3"], [3, 14, "s3"], [20, 15, "s3"], [2, 13, "s3"], [4, 0, "s3"], [22, 9, "s3"], [5, 14, "s3"], [22, 10, "healthUP"], [4, 7, "s3"], [22, 11, "cell"], [8, 8, "s3"], [21, 14, "s3"], [0, 0, "s3"], [16, 15, "s3"], [4, 16, "s3"], [22, 6, "s3"], [23, 6, "s3"], [22, 8, "s3"], [1, 14, "s3"], [21, 17, "s3"], [6, 9, "s3"], [0, 6, "s3"], [22, 24, "s3"], [3, 13, "s3"], [16, 6, "s3"], [1, 16, "s3"], [6, 7, "s3"], [9, 24, "s3"], [0, 7, "s3"], [14, 24, "s3"], [20, 12, "s3"], [16, 16, "s3"], [0, 15, "s3"], [21, 9, "s3"], [5, 0, "s3"], [5, 9, "s3"], [19, 14, "s3"], [6, 13, "s3"], [5, 16, "s3"], [4, 12, "s3"], [0, 23, "s3"], [2, 10, "healthUP"], [21, 13, "s3"], [17, 9, "s3"], [19, 15, "s3"], [19, 0, "s3"], [0, 10, "s3"], [24, 4, "s3"], [21, 3, "tel1"], [0, 3, "s3"], [1, 11, "s3"], [13, 24, "s3"], [3, 7, "s3"], [16, 13, "s3"], [1, 0, "s3"], [19, 10, "s3"], [0, 11, "s3"], [2, 15, "s3"], [20, 0, "s3"], [23, 13, "s3"], [24, 19, "s3"], [24, 6, "s3"], [17, 0, "s3"], [20, 16, "s3"], [21, 6, "s3"], [7, 24, "s3"], [23, 16, "s3"], [18, 6, "s3"], [16, 3, "bullets"], [24, 1, "s3"], [24, 24, "s3"], [8, 12, "s3"], [17, 16, "s3"], [7, 7, "s3"], [0, 20, "s3"], [2, 14, "s3"], [5, 17, "s3"], [8, 15, "s3"], [18, 0, "s3"], [10, 24, "s3"], [0, 18, "s3"], [20, 6, "s3"], [8, 17, "s3"], [24, 9, "s3"], [23, 7, "s3"], [24, 5, "s3"], [1, 9, "s3"], [24, 7, "s3"], [8, 10, "s3"], [18, 13, "s3"], [24, 3, "s3"], [24, 23, "s3"], [6, 16, "s3"], [17, 8, "s3"], [1, 10, "s3"], [7, 9, "s3"]];
_local2 = new Dictionary();
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_537"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:200};
_local2["tel1_546"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:200};
_local2["tel1_528"] = _local4;
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_87"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:200};
_local2["tel1_78"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:200};
_local2["tel1_96"] = _local4;
_local5 = new Dictionary();
_local5["bullets_83"] = {amountOfPoints:50, amountOfAppears:2, ticksBetweenAppears:200};
_local5["cell_277"] = {amountOfPoints:20, amountOfAppears:2, ticksBetweenAppears:200};
_local5["sgun_541"] = {amountOfPoints:25, amountOfAppears:1, ticksBetweenAppears:200};
_local5["sgun_533"] = {amountOfPoints:25, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_272"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["cell_297"] = {amountOfPoints:20, amountOfAppears:2, ticksBetweenAppears:200};
_local5["healthUP_252"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["bullets_91"] = {amountOfPoints:50, amountOfAppears:2, ticksBetweenAppears:200};
_local6 = {x:12, y:11};
_local7 = new Array();
_local7.push(_local1);
_local7.push(_local2);
_local7.push(_local5);
_local7.push(_local6);
_local8 = {levelWidth:25, levelHeigth:25};
_local7.push(_local8);
ARRAY_OF_FIRST_LEVEL.push(_local7);
ARRAY_OF_BG.push([["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t1_19", "t3_1", "t3_1", "t1_6", "t3_1", "t3_1", "t1_19", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t1_19", "t3_1", "t3_1", "t1_6", "t3_1", "t3_1", "t1_19", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t1_19", "t3_1", "t3_1", "t1_6", "t3_1", "t3_1", "t1_19", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t1_19", "t3_1", "t3_1", "t1_6", "t3_1", "t3_1", "t1_19", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_19", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t3_19", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t1_19", "t3_1", "t3_1", "t1_6", "t3_1", "t3_1", "t1_19", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t1_19", "t3_1", "t3_1", "t1_6", "t3_1", "t3_1", "t1_19", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t1_19", "t3_1", "t3_1", "t1_6", "t3_1", "t3_1", "t1_19", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t1_19", "t3_1", "t3_1", "t1_6", "t3_1", "t3_1", "t1_19", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t1_19", "t3_1", "t3_1", "t1_6", "t3_1", "t3_1", "t1_19", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t1_19", "t3_1", "t3_1", "t1_6", "t3_1", "t3_1", "t1_19", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"]]);
_local1 = [[0, 7, "s3"], [7, 4, "s3"], [14, 14, "s3"], [3, 14, "s3"], [3, 0, "s3"], [7, 10, "s3"], [13, 14, "s3"], [0, 13, "s3"], [7, 5, "s3"], [2, 0, "s3"], [9, 7, "tel1"], [11, 14, "s3"], [11, 3, "tel1"], [7, 3, "s3"], [0, 14, "s3"], [11, 0, "s3"], [13, 8, "healthUP"], [0, 1, "s3"], [11, 11, "tel1"], [6, 8, "cell"], [0, 9, "s3"], [12, 14, "s3"], [6, 5, "bullets"], [7, 11, "s3"], [0, 4, "s3"], [14, 1, "s3"], [13, 6, "healthUP"], [14, 3, "s3"], [10, 0, "s3"], [6, 7, "cell"], [14, 6, "s3"], [14, 12, "s3"], [8, 14, "s3"], [0, 8, "s3"], [0, 3, "s3"], [7, 14, "s3"], [0, 6, "s3"], [10, 14, "s3"], [7, 8, "s3"], [14, 5, "s3"], [14, 13, "s3"], [14, 11, "s3"], [14, 8, "s3"], [7, 7, "s3"], [7, 0, "s3"], [14, 0, "s3"], [0, 10, "s3"], [5, 0, "s3"], [13, 0, "s3"], [4, 0, "s3"], [9, 0, "s3"], [9, 14, "s3"], [7, 6, "s3"], [4, 14, "s3"], [1, 14, "s3"], [0, 5, "s3"], [12, 0, "s3"], [14, 2, "s3"], [14, 4, "s3"], [8, 0, "s3"], [14, 7, "s3"], [0, 0, "s3"], [6, 0, "s3"], [6, 14, "s3"], [6, 10, "bullets"], [5, 14, "s3"], [7, 9, "s3"], [14, 10, "s3"], [2, 14, "s3"], [0, 12, "s3"], [0, 2, "s3"], [1, 0, "s3"], [0, 11, "s3"], [14, 9, "s3"]];
_local2 = new Dictionary();
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_114"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_56"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_176"] = _local4;
_local5 = new Dictionary();
_local5["healthUP_133"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["cell_126"] = {amountOfPoints:10, amountOfAppears:1, ticksBetweenAppears:200};
_local5["bullets_81"] = {amountOfPoints:60, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_103"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["cell_111"] = {amountOfPoints:10, amountOfAppears:1, ticksBetweenAppears:200};
_local5["bullets_156"] = {amountOfPoints:60, amountOfAppears:1, ticksBetweenAppears:200};
_local6 = {x:3, y:7};
_local7 = new Array();
_local7.push(_local1);
_local7.push(_local2);
_local7.push(_local5);
_local7.push(_local6);
_local8 = {levelWidth:15, levelHeigth:15};
_local7.push(_local8);
ARRAY_OF_FIRST_LEVEL.push(_local7);
ARRAY_OF_BG.push([["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t3_1"], ["t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t3_1"], ["t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t3_1"], ["t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t3_1"], ["t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t3_1"], ["t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t3_1"], ["t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t1_6", "t3_6", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"]]);
_local1 = [[7, 17, "s3"], [2, 18, "cell"], [11, 19, "s3"], [5, 19, "s3"], [4, 17, "sgun"], [2, 6, "s3"], [4, 26, "s3"], [1, 0, "s3"], [12, 32, "s3"], [4, 39, "s3"], [5, 29, "healthUP"], [0, 20, "s3"], [12, 36, "s3"], [12, 25, "s3"], [6, 11, "s3"], [6, 13, "s3"], [8, 6, "healthUP"], [2, 19, "bullets"], [12, 2, "s3"], [6, 15, "s3"], [6, 26, "s3"], [11, 16, "s3"], [4, 29, "s3"], [5, 1, "healthUP"], [12, 28, "s3"], [12, 31, "s3"], [4, 8, "s3"], [2, 0, "s3"], [1, 39, "s3"], [0, 28, "s3"], [0, 34, "s3"], [0, 11, "s3"], [1, 8, "healthUP"], [6, 9, "s3"], [9, 0, "s3"], [6, 21, "s3"], [12, 8, "s3"], [12, 16, "s3"], [5, 8, "healthUP"], [2, 32, "s3"], [12, 39, "s3"], [6, 17, "s3"], [12, 38, "s3"], [6, 5, "s3"], [12, 0, "s3"], [0, 22, "s3"], [12, 10, "s3"], [0, 12, "s3"], [12, 7, "s3"], [0, 15, "s3"], [2, 31, "s3"], [9, 6, "healthUP"], [11, 18, "s3"], [6, 37, "s3"], [0, 16, "s3"], [4, 30, "s3"], [12, 20, "s3"], [7, 39, "s3"], [1, 29, "healthUP"], [0, 18, "s3"], [12, 26, "s3"], [6, 32, "s3"], [1, 21, "healthUP"], [12, 18, "s3"], [8, 2, "healthUP"], [11, 0, "s3"], [10, 0, "s3"], [2, 20, "s3"], [6, 0, "s3"], [5, 21, "healthUP"], [9, 25, "tel1"], [1, 15, "healthUP"], [2, 28, "s3"], [4, 9, "s3"], [10, 2, "healthUP"], [0, 9, "s3"], [12, 14, "s3"], [6, 24, "s3"], [6, 20, "s3"], [0, 6, "s3"], [10, 16, "s3"], [0, 19, "s3"], [0, 10, "s3"], [0, 2, "s3"], [6, 10, "s3"], [5, 39, "s3"], [5, 16, "s3"], [6, 3, "s3"], [6, 27, "s3"], [5, 15, "healthUP"], [9, 30, "tel1"], [5, 20, "s3"], [0, 32, "s3"], [12, 21, "s3"], [1, 19, "s3"], [12, 4, "s3"], [6, 4, "s3"], [10, 6, "healthUP"], [6, 25, "s3"], [0, 30, "s3"], [6, 30, "s3"], [5, 37, "healthUP"], [12, 19, "s3"], [8, 0, "s3"], [0, 39, "s3"], [3, 39, "s3"], [0, 25, "s3"], [9, 39, "s3"], [1, 1, "healthUP"], [6, 22, "s3"], [2, 10, "s3"], [12, 29, "s3"], [1, 18, "s3"], [0, 14, "s3"], [2, 8, "s3"], [4, 28, "s3"], [0, 4, "s3"], [6, 7, "s3"], [4, 10, "s3"], [7, 16, "s3"], [9, 10, "healthUP"], [6, 31, "s3"], [4, 7, "s3"], [2, 39, "s3"], [9, 2, "healthUP"], [12, 12, "s3"], [11, 39, "s3"], [12, 13, "s3"], [0, 21, "s3"], [0, 0, "s3"], [0, 38, "s3"], [12, 15, "s3"], [8, 39, "s3"], [0, 5, "s3"], [0, 35, "s3"], [0, 13, "s3"], [4, 27, "s3"], [0, 8, "s3"], [9, 35, "tel1"], [0, 17, "s3"], [2, 16, "s3"], [1, 37, "healthUP"], [2, 33, "s3"], [0, 24, "s3"], [4, 31, "s3"], [2, 9, "s3"], [12, 24, "s3"], [5, 0, "s3"], [6, 12, "s3"], [8, 10, "healthUP"], [0, 26, "s3"], [7, 0, "s3"], [0, 36, "s3"], [1, 17, "s3"], [0, 33, "s3"], [0, 27, "s3"], [4, 32, "s3"], [12, 6, "s3"], [0, 1, "s3"], [12, 3, "s3"], [6, 8, "s3"], [0, 3, "s3"], [0, 7, "s3"], [8, 20, "s3"], [1, 16, "s3"], [4, 16, "s3"], [10, 10, "healthUP"], [6, 34, "s3"], [6, 23, "s3"], [12, 5, "s3"], [3, 0, "s3"], [6, 38, "s3"], [6, 35, "s3"], [12, 34, "s3"], [10, 39, "s3"], [12, 22, "s3"], [4, 6, "s3"], [4, 33, "s3"], [4, 20, "s3"], [6, 28, "s3"], [0, 37, "s3"], [6, 16, "s3"], [8, 16, "s3"], [6, 6, "s3"], [12, 27, "s3"], [12, 1, "s3"], [1, 20, "s3"], [6, 29, "s3"], [12, 17, "s3"], [12, 11, "s3"], [2, 7, "s3"], [12, 33, "s3"], [6, 36, "s3"], [6, 19, "s3"], [12, 37, "s3"], [6, 39, "s3"], [6, 33, "s3"], [11, 17, "s3"], [3, 3, "tel1"], [3, 13, "tel1"], [12, 30, "s3"], [12, 35, "s3"], [11, 20, "s3"], [3, 23, "tel1"], [4, 0, "s3"], [3, 36, "tel1"], [5, 17, "s3"], [2, 30, "s3"], [10, 20, "s3"], [0, 31, "s3"], [4, 19, "sgun"], [12, 23, "s3"], [4, 18, "cell"], [6, 14, "s3"], [7, 19, "s3"], [12, 9, "s3"], [6, 2, "s3"], [2, 29, "s3"], [0, 29, "s3"], [2, 27, "s3"], [2, 26, "s3"], [0, 23, "s3"], [2, 17, "bullets"], [7, 20, "s3"], [6, 1, "s3"]];
_local2 = new Dictionary();
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_334"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_399"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_464"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_42"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_172"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_302"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_471"] = _local4;
_local5 = new Dictionary();
_local5["cell_236"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["sgun_225"] = {amountOfPoints:50, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_382"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_86"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["bullets_249"] = {amountOfPoints:100, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_18"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_105"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_109"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_87"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_378"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_274"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_34"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_278"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_196"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_36"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_200"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_88"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_486"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_14"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_139"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_35"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_482"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_138"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_140"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["sgun_251"] = {amountOfPoints:50, amountOfAppears:1, ticksBetweenAppears:200};
_local5["cell_238"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["bullets_223"] = {amountOfPoints:100, amountOfAppears:1, ticksBetweenAppears:200};
_local6 = {x:3, y:18};
_local7 = new Array();
_local7.push(_local1);
_local7.push(_local2);
_local7.push(_local5);
_local7.push(_local6);
_local8 = {levelWidth:13, levelHeigth:40};
_local7.push(_local8);
ARRAY_OF_FIRST_LEVEL.push(_local7);
ARRAY_OF_BG.push([["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_6", "t3_6", "t1_19", "t3_6", "t3_6", "t3_1", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_6", "t1_19", "t3_6", "t3_6", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t1_19", "t1_19", "t3_1", "t1_19", "t1_19", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_6", "t1_19", "t3_6", "t3_6", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_6", "t1_19", "t3_6", "t3_6", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_6", "t1_19", "t3_6", "t3_6", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_6", "t1_19", "t3_6", "t3_6", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t1_19", "t1_19", "t1_6", "t1_19", "t1_19", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_6", "t1_19", "t3_6", "t3_6", "t3_1", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_6", "t1_19", "t3_6", "t3_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_6", "t3_6", "t3_6", "t3_1", "t3_1", "t3_1", "t1_6", "t1_6", "t1_6", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_6", "t3_6", "t3_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_6", "t3_6", "t3_6", "t3_1", "t3_1", "t3_1", "t1_6", "t1_6", "t1_6", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_6", "t3_6", "t1_19", "t3_6", "t3_6", "t3_1", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_6", "t1_19", "t3_6", "t3_6", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t1_19", "t1_19", "t1_6", "t1_19", "t1_19", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_6", "t1_19", "t3_6", "t3_6", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_6", "t1_19", "t3_6", "t3_6", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_6", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_6", "t1_19", "t3_6", "t3_6", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_6", "t1_19", "t3_6", "t3_6", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t1_19", "t1_19", "t1_6", "t1_19", "t1_19", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_6", "t1_19", "t3_6", "t3_6", "t3_1", "t1_6", "t3_1", "t3_1", "t3_1", "t1_6", "t3_1"], ["t3_1", "t3_6", "t3_6", "t1_19", "t3_6", "t3_6", "t3_1", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"]]);
_local1 = [[8, 0, "s3"], [10, 0, "s3"], [5, 5, "s3"], [15, 19, "s3"], [2, 19, "s3"], [15, 12, "s3"], [0, 1, "s3"], [8, 13, "s3"], [9, 5, "s3"], [0, 17, "s3"], [12, 8, "s3"], [4, 6, "s3"], [4, 5, "s3"], [7, 19, "s3"], [15, 5, "s3"], [4, 12, "s3"], [0, 12, "s3"], [8, 19, "s3"], [15, 1, "s3"], [0, 14, "s3"], [12, 19, "s3"], [2, 2, "sgun"], [9, 13, "s3"], [11, 7, "s3"], [8, 8, "s3"], [2, 0, "s3"], [0, 2, "s3"], [15, 10, "s3"], [6, 13, "s3"], [1, 19, "s3"], [11, 5, "s3"], [15, 7, "s3"], [7, 5, "s3"], [3, 19, "s3"], [9, 3, "tel1"], [1, 9, "healthUP"], [12, 10, "s3"], [7, 9, "s3"], [2, 10, "s3"], [5, 6, "cell"], [1, 0, "s3"], [11, 11, "s3"], [7, 10, "s3"], [0, 4, "s3"], [0, 0, "s3"], [11, 13, "s3"], [11, 10, "s3"], [13, 8, "s3"], [15, 9, "s3"], [0, 9, "s3"], [13, 0, "s3"], [10, 19, "s3"], [4, 7, "s3"], [9, 16, "tel1"], [4, 19, "s3"], [10, 6, "bullets"], [15, 6, "s3"], [14, 0, "s3"], [8, 10, "s3"], [6, 19, "s3"], [0, 19, "s3"], [9, 0, "s3"], [14, 9, "healthUP"], [6, 5, "s3"], [7, 0, "s3"], [0, 6, "s3"], [8, 5, "s3"], [3, 0, "s3"], [13, 2, "sgun"], [7, 13, "s3"], [15, 14, "s3"], [0, 5, "s3"], [15, 13, "s3"], [0, 18, "s3"], [0, 13, "s3"], [15, 17, "s3"], [4, 11, "s3"], [11, 0, "s3"], [0, 16, "s3"], [0, 8, "s3"], [3, 10, "s3"], [15, 4, "s3"], [15, 16, "s3"], [0, 10, "s3"], [5, 19, "s3"], [0, 7, "s3"], [10, 13, "s3"], [15, 18, "s3"], [6, 3, "tel1"], [11, 19, "s3"], [15, 15, "s3"], [15, 3, "s3"], [15, 11, "s3"], [6, 0, "s3"], [10, 5, "s3"], [7, 8, "s3"], [13, 10, "s3"], [0, 3, "s3"], [11, 6, "s3"], [4, 0, "s3"], [2, 8, "s3"], [0, 15, "s3"], [9, 19, "s3"], [13, 19, "s3"], [5, 13, "s3"], [6, 16, "tel1"], [11, 8, "s3"], [4, 13, "s3"], [5, 0, "s3"], [3, 8, "s3"], [4, 8, "s3"], [12, 0, "s3"], [8, 9, "s3"], [15, 2, "s3"], [11, 12, "s3"], [15, 8, "s3"], [15, 0, "s3"], [14, 19, "s3"], [4, 10, "s3"], [0, 11, "s3"]];
_local2 = new Dictionary();
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_57"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_265"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_54"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_262"] = _local4;
_local5 = new Dictionary();
_local5["sgun_34"] = {amountOfPoints:20, amountOfAppears:2, ticksBetweenAppears:200};
_local5["healthUP_145"] = {amountOfPoints:20, amountOfAppears:2, ticksBetweenAppears:200};
_local5["cell_101"] = {amountOfPoints:20, amountOfAppears:3, ticksBetweenAppears:200};
_local5["bullets_106"] = {amountOfPoints:100, amountOfAppears:2, ticksBetweenAppears:200};
_local5["healthUP_158"] = {amountOfPoints:20, amountOfAppears:2, ticksBetweenAppears:200};
_local5["sgun_45"] = {amountOfPoints:20, amountOfAppears:2, ticksBetweenAppears:200};
_local6 = {x:8, y:6};
_local7 = new Array();
_local7.push(_local1);
_local7.push(_local2);
_local7.push(_local5);
_local7.push(_local6);
_local8 = {levelWidth:16, levelHeigth:20};
_local7.push(_local8);
ARRAY_OF_FIRST_LEVEL.push(_local7);
ARRAY_OF_BG.push([["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_9", "t3_3", "t3_5", "t3_3", "t3_5", "t3_3", "t3_5", "t3_3", "t3_5", "t3_3", "t3_5", "t3_3", "t3_5", "t3_10", "t3_6"], ["t3_6", "t3_4", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_2", "t3_6"], ["t3_6", "t3_5", "t3_6", "t3_7", "t3_8", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_7", "t3_8", "t3_6", "t3_3", "t3_6"], ["t3_6", "t3_4", "t3_6", "t3_10", "t3_17", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_18", "t3_9", "t3_6", "t3_2", "t3_6"], ["t3_6", "t3_5", "t3_6", "t3_13", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_11", "t3_6", "t3_3", "t3_6"], ["t3_6", "t3_4", "t3_6", "t3_13", "t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1", "t3_11", "t3_6", "t3_2", "t3_6"], ["t3_6", "t3_1", "t3_6", "t3_13", "t3_1", "t3_6", "t3_7", "t3_12", "t3_12", "t3_8", "t3_6", "t3_1", "t3_11", "t3_6", "t3_1", "t3_6"], ["t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_11", "t3_6", "t3_6", "t3_13", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6"], ["t3_6", "t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_11", "t3_6", "t3_6", "t3_13", "t3_6", "t3_1", "t3_6", "t3_6", "t3_1", "t3_6"], ["t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6", "t3_11", "t3_6", "t3_6", "t3_13", "t3_6", "t3_1", "t3_1", "t3_1", "t3_1", "t3_6"], ["t3_6", "t3_5", "t3_6", "t3_13", "t3_1", "t3_6", "t3_10", "t3_14", "t3_14", "t3_9", "t3_6", "t3_1", "t3_11", "t3_6", "t3_3", "t3_6"], ["t3_6", "t3_4", "t3_6", "t3_13", "t3_1", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_1", "t3_11", "t3_6", "t3_2", "t3_6"], ["t3_6", "t3_5", "t3_6", "t3_13", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_11", "t3_6", "t3_3", "t3_6"], ["t3_6", "t3_4", "t3_6", "t3_7", "t3_16", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_15", "t3_8", "t3_6", "t3_2", "t3_6"], ["t3_6", "t3_5", "t3_6", "t3_10", "t3_9", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_10", "t3_9", "t3_6", "t3_3", "t3_6"], ["t3_6", "t3_4", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_2", "t3_6"], ["t3_6", "t3_5", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_3", "t3_6"], ["t3_6", "t3_8", "t3_2", "t3_4", "t3_2", "t3_4", "t3_2", "t3_4", "t3_2", "t3_4", "t3_2", "t3_4", "t3_2", "t3_4", "t3_7", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"]]);
_local1 = [[13, 29, "s3"], [28, 12, "s3"], [3, 12, "s3"], [21, 8, "s3"], [16, 1, "s3"], [15, 21, "s3"], [19, 9, "s3"], [9, 29, "s3"], [24, 26, "s3"], [11, 5, "s3"], [23, 18, "s3"], [26, 27, "s3"], [0, 4, "s3"], [17, 18, "s3"], [25, 16, "s3"], [9, 7, "s3"], [9, 22, "s3"], [16, 9, "s3"], [11, 12, "s3"], [7, 0, "s3"], [22, 3, "s3"], [12, 22, "s3"], [13, 10, "s3"], [23, 15, "s3"], [0, 26, "s3"], [2, 3, "s3"], [4, 0, "s3"], [3, 7, "s3"], [1, 29, "s3"], [20, 12, "s3"], [20, 23, "s3"], [27, 22, "s3"], [23, 10, "s3"], [14, 29, "s3"], [22, 27, "s3"], [14, 5, "s3"], [17, 9, "s3"], [15, 0, "s3"], [29, 23, "s3"], [20, 24, "s3"], [0, 10, "s3"], [0, 23, "s3"], [25, 0, "s3"], [6, 26, "s3"], [29, 20, "s3"], [2, 22, "s3"], [25, 29, "s3"], [19, 21, "s3"], [0, 14, "s3"], [29, 9, "s3"], [8, 14, "s3"], [0, 0, "s3"], [9, 24, "s3"], [19, 20, "s3"], [25, 14, "s3"], [23, 17, "s3"], [1, 13, "s3"], [15, 15, "s3"], [4, 29, "s3"], [7, 1, "s3"], [29, 19, "s3"], [10, 20, "s3"], [16, 4, "s3"], [19, 12, "s3"], [22, 10, "s3"], [29, 29, "s3"], [22, 26, "s3"], [2, 0, "s3"], [8, 22, "s3"], [7, 24, "s3"], [13, 17, "s3"], [19, 14, "s3"], [15, 16, "s3"], [6, 24, "s3"], [14, 6, "s3"], [10, 8, "s3"], [11, 10, "s3"], [27, 7, "s3"], [26, 25, "s3"], [5, 9, "s3"], [21, 12, "s3"], [13, 12, "s3"], [3, 11, "s3"], [19, 23, "s3"], [13, 19, "s3"], [14, 0, "s3"], [25, 13, "s3"], [6, 12, "s3"], [0, 21, "s3"], [21, 3, "s3"], [9, 0, "s3"], [6, 20, "s3"], [27, 6, "s3"], [26, 29, "s3"], [29, 24, "s3"], [17, 7, "s3"], [11, 22, "s3"], [16, 13, "s3"], [0, 1, "s3"], [16, 29, "s3"], [7, 14, "s3"], [15, 12, "s3"], [25, 23, "s3"], [15, 13, "s3"], [6, 22, "s3"], [12, 5, "s3"], [10, 12, "s3"], [21, 14, "s3"], [17, 17, "s3"], [29, 27, "s3"], [26, 12, "s3"], [22, 21, "s3"], [25, 15, "s3"], [13, 20, "s3"], [8, 26, "s3"], [27, 27, "s3"], [5, 24, "s3"], [21, 16, "s3"], [10, 2, "s3"], [14, 24, "s3"], [27, 29, "s3"], [27, 1, "s3"], [10, 29, "s3"], [0, 13, "s3"], [8, 8, "s3"], [11, 8, "s3"], [6, 14, "s3"], [9, 3, "s3"], [17, 29, "s3"], [29, 17, "s3"], [13, 7, "s3"], [25, 18, "s3"], [17, 4, "s3"], [0, 15, "s3"], [7, 29, "s3"], [13, 18, "s3"], [15, 11, "s3"], [13, 24, "s3"], [26, 0, "s3"], [29, 28, "s3"], [9, 20, "s3"], [22, 25, "s3"], [5, 19, "s3"], [21, 13, "s3"], [27, 3, "s3"], [18, 23, "s3"], [29, 14, "s3"], [17, 14, "s3"], [0, 28, "s3"], [20, 19, "s3"], [5, 6, "s3"], [27, 15, "s3"], [6, 0, "s3"], [23, 21, "s3"], [23, 7, "s3"], [18, 11, "s3"], [4, 3, "s3"], [8, 0, "s3"], [23, 19, "s3"], [24, 18, "s3"], [8, 29, "s3"], [0, 22, "s3"], [25, 4, "s3"], [5, 11, "s3"], [27, 5, "s3"], [2, 7, "s3"], [9, 6, "s3"], [13, 22, "s3"], [15, 26, "s3"], [19, 19, "s3"], [11, 15, "s3"], [23, 14, "s3"], [2, 29, "s3"], [7, 3, "s3"], [3, 14, "s3"], [16, 2, "s3"], [10, 14, "s3"], [16, 23, "s3"], [17, 11, "s3"], [9, 10, "s3"], [14, 4, "s3"], [15, 20, "s3"], [29, 22, "s3"], [15, 19, "s3"], [5, 0, "s3"], [17, 19, "s3"], [3, 17, "s3"], [16, 3, "s3"], [18, 21, "s3"], [14, 2, "s3"], [23, 0, "s3"], [9, 2, "s3"], [14, 3, "s3"], [25, 27, "s3"], [20, 28, "s3"], [29, 16, "s3"], [21, 19, "s3"], [17, 21, "s3"], [0, 8, "s3"], [22, 23, "s3"], [2, 17, "s3"], [19, 1, "s3"], [10, 24, "s3"], [29, 25, "s3"], [22, 28, "s3"], [5, 26, "s3"], [5, 3, "s3"], [18, 0, "s3"], [25, 19, "s3"], [13, 0, "s3"], [15, 24, "s3"], [27, 14, "s3"], [16, 26, "s3"], [4, 20, "s3"], [5, 20, "s3"], [29, 15, "s3"], [24, 21, "s3"], [29, 13, "s3"], [22, 22, "s3"], [21, 20, "s3"], [27, 23, "s3"], [12, 7, "s3"], [20, 29, "s3"], [15, 7, "s3"], [27, 12, "s3"], [25, 3, "s3"], [27, 25, "s3"], [23, 29, "s3"], [29, 26, "s3"], [3, 20, "s3"], [19, 11, "s3"], [1, 9, "s3"], [29, 0, "s3"], [3, 8, "s3"], [24, 29, "s3"], [23, 9, "s3"], [10, 26, "s3"], [10, 0, "s3"], [27, 0, "s3"], [2, 1, "s3"], [23, 12, "s3"], [27, 20, "s3"], [3, 0, "s3"], [21, 4, "s3"], [20, 27, "s3"], [3, 26, "s3"], [12, 12, "s3"], [3, 24, "s3"], [21, 15, "s3"], [15, 17, "s3"], [7, 7, "s3"], [26, 18, "s3"], [13, 15, "s3"], [28, 0, "s3"], [9, 18, "s3"], [11, 29, "s3"], [21, 29, "s3"], [1, 24, "s3"], [3, 13, "s3"], [9, 4, "s3"], [19, 15, "s3"], [25, 20, "s3"], [13, 16, "s3"], [25, 6, "s3"], [7, 26, "s3"], [29, 3, "s3"], [7, 16, "s3"], [29, 7, "s3"], [27, 9, "s3"], [5, 5, "s3"], [29, 21, "s3"], [27, 8, "s3"], [23, 11, "s3"], [15, 29, "s3"], [9, 8, "s3"], [27, 4, "s3"], [23, 5, "tel1"], [27, 2, "s3"], [1, 5, "s3"], [11, 3, "s3"], [16, 7, "s3"], [14, 7, "s3"], [9, 12, "s3"], [13, 13, "s3"], [27, 17, "s3"], [0, 29, "s3"], [21, 10, "s3"], [17, 26, "s3"], [12, 0, "s3"], [21, 0, "s3"], [18, 7, "s3"], [6, 5, "s3"], [6, 29, "s3"], [13, 11, "s3"], [16, 0, "s3"], [5, 14, "s3"], [20, 26, "s3"], [14, 26, "s3"], [0, 19, "s3"], [21, 7, "s3"], [7, 20, "s3"], [12, 26, "s3"], [5, 2, "s3"], [29, 2, "s3"], [9, 19, "s3"], [0, 16, "s3"], [21, 17, "s3"], [0, 20, "s3"], [19, 6, "s3"], [24, 3, "s3"], [7, 8, "s3"], [19, 16, "s3"], [0, 9, "s3"], [0, 24, "s3"], [7, 10, "s3"], [0, 17, "s3"], [21, 6, "s3"], [29, 18, "s3"], [29, 1, "s3"], [25, 5, "s3"], [0, 7, "s3"], [18, 9, "s3"], [29, 4, "s3"], [24, 24, "s3"], [29, 6, "s3"], [2, 5, "s3"], [19, 2, "s3"], [13, 8, "s3"], [2, 11, "s3"], [6, 8, "s3"], [9, 5, "s3"], [0, 5, "s3"], [9, 26, "s3"], [11, 24, "s3"], [9, 11, "s3"], [17, 0, "s3"], [29, 8, "s3"], [0, 25, "s3"], [18, 25, "s3"], [1, 20, "s3"], [5, 8, "s3"], [19, 3, "s3"], [23, 3, "s3"], [3, 29, "s3"], [0, 11, "s3"], [24, 23, "s3"], [23, 13, "s3"], [27, 16, "s3"], [11, 2, "s3"], [11, 19, "s3"], [24, 7, "s3"], [7, 5, "s3"], [24, 25, "s3"], [5, 17, "s3"], [17, 13, "s3"], [11, 0, "s3"], [7, 15, "s3"], [4, 26, "s3"], [0, 3, "s3"], [20, 0, "s3"], [18, 29, "s3"], [8, 20, "s3"], [11, 20, "s3"], [15, 23, "s3"], [27, 21, "s3"], [4, 24, "s3"], [3, 5, "s3"], [0, 12, "s3"], [4, 14, "s3"], [9, 14, "s3"], [19, 5, "s3"], [7, 12, "s3"], [26, 10, "s3"], [25, 8, "s3"], [25, 7, "s3"], [1, 0, "s3"], [25, 10, "s3"], [29, 10, "s3"], [19, 29, "s3"], [21, 9, "s3"], [24, 0, "s3"], [24, 27, "s3"], [29, 5, "s3"], [1, 15, "s3"], [19, 7, "s3"], [17, 15, "s3"], [29, 11, "s3"], [11, 16, "s3"], [5, 12, "s3"], [29, 12, "s3"], [5, 18, "s3"], [11, 14, "s3"], [27, 10, "s3"], [11, 17, "s3"], [15, 9, "s3"], [15, 18, "s3"], [7, 9, "s3"], [27, 19, "s3"], [11, 18, "s3"], [18, 2, "s3"], [12, 29, "s3"], [12, 24, "s3"], [0, 27, "s3"], [17, 12, "s3"], [25, 21, "s3"], [5, 29, "s3"], [19, 0, "s3"], [2, 24, "s3"], [3, 9, "s3"], [2, 20, "s3"], [19, 26, "s3"], [12, 6, "s3"], [3, 16, "s3"], [28, 25, "s3"], [0, 2, "s3"], [28, 29, "s3"], [21, 5, "s3"], [3, 3, "s3"], [5, 22, "s3"], [27, 18, "s3"], [10, 22, "s3"], [3, 10, "s3"], [23, 16, "s3"], [7, 22, "s3"], [18, 26, "s3"], [0, 18, "s3"], [20, 9, "s3"], [5, 10, "s3"], [11, 9, "s3"], [2, 26, "s3"], [22, 0, "s3"], [15, 14, "s3"], [13, 21, "s3"], [17, 23, "s3"], [24, 10, "s3"], [2, 2, "s3"], [3, 22, "s3"], [13, 26, "s3"], [22, 29, "s3"], [19, 18, "s3"], [19, 17, "s3"], [12, 2, "s3"], [11, 26, "s3"], [7, 17, "s3"], [26, 23, "s3"], [0, 6, "s3"], [16, 5, "s3"], [3, 15, "s3"], [13, 14, "s3"], [4, 22, "s3"], [25, 12, "s3"], [15, 22, "s3"], [12, 8, "s3"], [8, 12, "s3"], [22, 24, "s3"], [8, 24, "s3"], [19, 4, "s3"], [17, 16, "s3"]];
_local2 = new Dictionary();
_local3 = ["Creature3"];
_local4 = {creatures:_local3, intervalBetweenCreatures:1000};
_local2["tel1_173"] = _local4;
_local5 = new Dictionary();
_local6 = {x:1, y:1};
_local7 = new Array();
_local7.push(_local1);
_local7.push(_local2);
_local7.push(_local5);
_local7.push(_local6);
_local8 = {levelWidth:30, levelHeigth:30};
_local7.push(_local8);
ARRAY_OF_FIRST_LEVEL.push(_local7);
ARRAY_OF_BG.push([["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"]]);
_local1 = [[22, 6, "s1"], [9, 0, "s1"], [30, 0, "s1"], [11, 1, "s1"], [30, 8, "s1"], [20, 10, "s1"], [14, 11, "s1"], [34, 10, "s1"], [33, 0, "s1"], [34, 11, "s1"], [16, 10, "s1"], [11, 4, "s1"], [15, 10, "s1"], [12, 6, "s1"], [30, 9, "s1"], [26, 0, "s1"], [11, 3, "s1"], [29, 0, "s1"], [22, 12, "s1"], [31, 12, "s1"], [32, 6, "s1"], [25, 0, "s1"], [24, 7, "s1"], [27, 4, "s1"], [15, 12, "s1"], [22, 4, "s1"], [8, 12, "s1"], [11, 12, "s1"], [26, 12, "s1"], [24, 9, "s1"], [24, 11, "s1"], [7, 4, "s1"], [30, 1, "s1"], [9, 8, "s1"], [20, 9, "s1"], [2, 0, "s1"], [22, 10, "s1"], [3, 12, "s1"], [32, 7, "s1"], [6, 8, "s1"], [19, 0, "s1"], [19, 4, "s1"], [22, 8, "s1"], [18, 12, "s1"], [10, 10, "s1"], [16, 9, "s1"], [32, 5, "s1"], [26, 4, "s1"], [34, 7, "s1"], [20, 1, "s1"], [13, 0, "s1"], [25, 10, "s1"], [20, 2, "s1"], [25, 8, "s1"], [31, 0, "s1"], [8, 0, "s1"], [17, 4, "s1"], [24, 0, "s1"], [22, 0, "s1"], [9, 12, "s1"], [16, 2, "s1"], [32, 12, "s1"], [0, 3, "s1"], [6, 4, "s1"], [7, 8, "s1"], [16, 0, "s1"], [11, 0, "s1"], [12, 9, "s1"], [10, 3, "s1"], [12, 3, "s1"], [28, 2, "tel1"], [28, 10, "tel1"], [8, 2, "tel1"], [25, 1, "cores"], [14, 4, "s1"], [18, 0, "s1"], [13, 1, "healthUP"], [12, 8, "s1"], [14, 5, "s1"], [8, 10, "tel1"], [18, 2, "tel1"], [22, 9, "s1"], [3, 6, "cell"], [21, 3, "s1"], [26, 10, "s1"], [23, 1, "healthUP"], [12, 5, "s1"], [19, 12, "s1"], [4, 6, "cores"], [33, 1, "healthUP"], [12, 1, "s1"], [21, 1, "s1"], [5, 12, "s1"], [33, 2, "cell"], [7, 0, "s1"], [15, 1, "cores"], [34, 12, "s1"], [30, 11, "s1"], [0, 0, "s1"], [34, 0, "s1"], [20, 11, "s1"], [13, 12, "s1"], [27, 12, "s1"], [32, 9, "s1"], [23, 0, "s1"], [0, 9, "s1"], [15, 0, "s1"], [12, 4, "s1"], [17, 12, "s1"], [25, 12, "s1"], [14, 10, "s1"], [14, 12, "s1"], [16, 3, "s1"], [14, 9, "s1"], [22, 5, "s1"], [33, 12, "s1"], [32, 2, "cores"], [14, 0, "s1"], [22, 1, "s1"], [32, 10, "s1"], [12, 0, "s1"], [20, 3, "s1"], [5, 6, "bullets"], [24, 6, "s1"], [17, 0, "s1"], [10, 12, "s1"], [24, 4, "s1"], [26, 11, "s1"], [16, 12, "s1"], [34, 6, "s1"], [17, 8, "s1"], [28, 0, "s1"], [21, 2, "s1"], [25, 11, "s1"], [6, 3, "s1"], [11, 2, "s1"], [14, 6, "s1"], [9, 4, "s1"], [5, 0, "s1"], [0, 8, "s1"], [6, 9, "s1"], [15, 9, "s1"], [27, 8, "s1"], [23, 12, "s1"], [4, 0, "s1"], [1, 0, "s1"], [15, 8, "s1"], [28, 12, "s1"], [12, 7, "s1"], [30, 12, "s1"], [6, 10, "s1"], [24, 3, "s1"], [12, 2, "s1"], [34, 8, "s1"], [16, 1, "s1"], [14, 8, "s1"], [0, 5, "s1"], [10, 2, "s1"], [24, 5, "s1"], [34, 2, "s1"], [6, 12, "s1"], [0, 11, "s1"], [1, 12, "s1"], [15, 11, "s1"], [30, 3, "s1"], [34, 9, "s1"], [30, 4, "s1"], [34, 3, "s1"], [26, 3, "s1"], [31, 4, "s1"], [10, 11, "s1"], [24, 12, "s1"], [24, 10, "s1"], [29, 8, "s1"], [16, 8, "s1"], [0, 10, "s1"], [10, 9, "s1"], [20, 4, "s1"], [18, 10, "tel1"], [7, 12, "s1"], [6, 1, "s1"], [22, 2, "s1"], [10, 8, "s1"], [24, 8, "s1"], [10, 1, "s1"], [26, 9, "s1"], [26, 1, "s1"], [27, 0, "s1"], [32, 0, "s1"], [0, 6, "s1"], [34, 4, "s1"], [2, 12, "s1"], [20, 8, "s1"], [21, 0, "s1"], [0, 1, "s1"], [4, 12, "s1"], [34, 5, "s1"], [20, 12, "s1"], [19, 8, "s1"], [32, 4, "s1"], [22, 7, "s1"], [29, 4, "s1"], [22, 3, "s1"], [26, 2, "s1"], [34, 1, "s1"], [12, 12, "s1"], [0, 4, "s1"], [10, 0, "s1"], [10, 4, "s1"], [21, 4, "s1"], [32, 8, "s1"], [0, 7, "s1"], [6, 11, "s1"], [3, 0, "s1"], [30, 10, "s1"], [12, 10, "s1"], [14, 7, "s1"], [20, 0, "s1"], [16, 4, "s1"], [21, 12, "s1"], [6, 0, "s1"], [0, 2, "s1"], [26, 8, "s1"], [30, 2, "s1"], [0, 12, "s1"], [25, 9, "s1"], [6, 2, "s1"], [16, 11, "s1"], [29, 12, "s1"]];
_local2 = new Dictionary();
_local3 = ["Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_98"] = _local4;
_local3 = ["Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_378"] = _local4;
_local3 = ["Creature3", "Creature3", "Creature3", "Creature3", "Creature3"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_78"] = _local4;
_local3 = ["Creature3", "Creature3", "Creature3", "Creature3", "Creature3"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_358"] = _local4;
_local3 = ["Creature3", "Creature3", "Creature3", "Creature3", "Creature3"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_88"] = _local4;
_local3 = ["Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3"];
_local4 = {creatures:_local3, intervalBetweenCreatures:200};
_local2["tel1_368"] = _local4;
_local5 = new Dictionary();
_local5["cores_60"] = {amountOfPoints:10, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_48"] = {amountOfPoints:100, amountOfAppears:1, ticksBetweenAppears:200};
_local5["cell_213"] = {amountOfPoints:10, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_58"] = {amountOfPoints:100, amountOfAppears:1, ticksBetweenAppears:200};
_local5["cores_214"] = {amountOfPoints:10, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_68"] = {amountOfPoints:100, amountOfAppears:1, ticksBetweenAppears:200};
_local5["cell_103"] = {amountOfPoints:15, amountOfAppears:1, ticksBetweenAppears:200};
_local5["cores_50"] = {amountOfPoints:10, amountOfAppears:1, ticksBetweenAppears:200};
_local5["cores_102"] = {amountOfPoints:15, amountOfAppears:1, ticksBetweenAppears:200};
_local5["bullets_215"] = {amountOfPoints:100, amountOfAppears:1, ticksBetweenAppears:200};
_local6 = {x:1, y:6};
_local7 = new Array();
_local7.push(_local1);
_local7.push(_local2);
_local7.push(_local5);
_local7.push(_local6);
_local8 = {levelWidth:35, levelHeigth:13};
_local7.push(_local8);
ARRAY_OF_FIRST_LEVEL.push(_local7);
ARRAY_OF_BG.push([["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_1", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_1", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_6", "t1_7", "t1_12", "t1_8", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_1", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_1", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_6", "t1_11", "t1_6", "t1_13", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_1", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_1", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_6", "t1_11", "t1_6", "t1_13", "t1_6", "t1_1", "t1_1", "t1_6", "t1_1", "t1_1", "t1_1", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_1", "t1_6", "t1_1", "t1_1", "t1_1", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_1", "t1_6", "t1_1", "t1_1", "t1_1", "t1_1", "t1_6", "t1_1"], ["t1_1", "t1_6", "t1_11", "t1_6", "t1_13", "t1_6", "t1_6", "t1_14", "t1_14", "t1_14", "t1_14", "t1_6", "t1_1", "t1_6", "t1_1", "t1_14", "t1_14", "t1_14", "t1_14", "t1_14", "t1_14", "t1_6", "t1_1", "t1_6", "t1_1", "t1_14", "t1_14", "t1_14", "t1_14", "t1_14", "t1_14", "t1_6", "t1_1", "t1_6", "t1_1"], ["t1_1", "t1_6", "t1_11", "t1_6", "t1_13", "t1_6", "t1_6", "t1_1", "t1_1", "t1_1", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1"], ["t1_1", "t1_6", "t1_11", "t1_6", "t1_13", "t1_6", "t1_6", "t1_12", "t1_12", "t1_12", "t1_12", "t1_6", "t1_1", "t1_6", "t1_12", "t1_12", "t1_12", "t1_12", "t1_12", "t1_12", "t1_12", "t1_6", "t1_1", "t1_6", "t1_12", "t1_12", "t1_12", "t1_12", "t1_12", "t1_12", "t1_12", "t1_6", "t1_1", "t1_6", "t1_1"], ["t1_1", "t1_6", "t1_11", "t1_6", "t1_13", "t1_6", "t1_1", "t1_1", "t1_6", "t1_1", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_1", "t1_1", "t1_1", "t1_6", "t1_1", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_1", "t1_1", "t1_1", "t1_6", "t1_1", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1"], ["t1_1", "t1_6", "t1_11", "t1_6", "t1_13", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_1", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_1", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1"], ["t1_1", "t1_6", "t1_10", "t1_14", "t1_9", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_1", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_1", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1"], ["t1_1", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_1", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_1", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"]]);
_local1 = [[7, 7, "healthUP"], [12, 8, "s1"], [12, 9, "s1"], [6, 20, "s1"], [8, 22, "s1"], [9, 0, "s1"], [4, 12, "s1"], [6, 7, "s1"], [12, 20, "s1"], [12, 0, "s1"], [18, 2, "s1"], [0, 7, "s1"], [5, 22, "s1"], [0, 5, "s1"], [16, 18, "s1"], [16, 17, "s1"], [6, 6, "s1"], [4, 24, "s1"], [8, 16, "s1"], [9, 2, "s1"], [2, 22, "s1"], [3, 2, "s1"], [6, 9, "s1"], [1, 0, "s1"], [6, 0, "s1"], [6, 13, "s1"], [12, 6, "s1"], [2, 17, "s1"], [20, 23, "s1"], [7, 6, "s1"], [13, 24, "s1"], [6, 8, "s1"], [16, 13, "s1"], [7, 20, "s1"], [4, 4, "tel1"], [20, 3, "s1"], [12, 24, "s1"], [10, 24, "s1"], [2, 11, "s1"], [2, 19, "s1"], [19, 0, "s1"], [0, 22, "s1"], [0, 0, "s1"], [20, 2, "s1"], [20, 5, "s1"], [0, 9, "s1"], [20, 13, "s1"], [0, 19, "s1"], [4, 14, "s1"], [13, 0, "s1"], [20, 6, "s1"], [0, 11, "s1"], [12, 12, "s1"], [15, 20, "s1"], [18, 10, "s1"], [0, 4, "s1"], [2, 7, "s1"], [0, 1, "s1"], [0, 6, "s1"], [6, 15, "s1"], [0, 15, "s1"], [0, 12, "s1"], [10, 16, "s1"], [0, 3, "s1"], [14, 24, "s1"], [16, 4, "s1"], [2, 9, "s1"], [0, 10, "s1"], [20, 1, "s1"], [8, 24, "s1"], [7, 24, "s1"], [0, 24, "s1"], [6, 16, "s1"], [8, 21, "s1"], [20, 0, "s1"], [14, 20, "s1"], [20, 11, "s1"], [2, 5, "s1"], [15, 24, "s1"], [3, 24, "s1"], [0, 16, "s1"], [20, 8, "s1"], [20, 14, "s1"], [16, 7, "s1"], [13, 20, "s1"], [17, 2, "s1"], [14, 0, "s1"], [0, 8, "s1"], [10, 0, "s1"], [5, 23, "s1"], [4, 0, "s1"], [3, 20, "s1"], [0, 14, "s1"], [16, 14, "s1"], [20, 18, "s1"], [16, 2, "s1"], [16, 6, "s1"], [16, 20, "s1"], [9, 20, "s1"], [16, 8, "s1"], [16, 5, "s1"], [16, 12, "s1"], [2, 0, "s1"], [19, 6, "s1"], [0, 13, "s1"], [0, 21, "s1"], [20, 20, "s1"], [16, 9, "s1"], [8, 4, "s1"], [4, 8, "s1"], [2, 2, "s1"], [12, 14, "s1"], [5, 2, "s1"], [16, 15, "s1"], [17, 24, "s1"], [0, 23, "s1"], [16, 24, "s1"], [20, 16, "s1"], [20, 24, "s1"], [1, 24, "s1"], [0, 17, "s1"], [0, 20, "s1"], [9, 24, "s1"], [20, 7, "s1"], [15, 2, "s1"], [18, 6, "s1"], [16, 0, "s1"], [2, 3, "s1"], [13, 2, "s1"], [17, 10, "s1"], [4, 6, "s1"], [2, 21, "s1"], [7, 16, "s1"], [18, 24, "s1"], [12, 4, "s1"], [11, 20, "s1"], [20, 12, "s1"], [11, 2, "s1"], [8, 20, "s1"], [6, 4, "s1"], [20, 17, "s1"], [19, 24, "s1"], [6, 10, "s1"], [3, 0, "s1"], [20, 9, "s1"], [11, 6, "s1"], [6, 14, "s1"], [10, 4, "s1"], [12, 16, "s1"], [14, 4, "tel1"], [7, 2, "s1"], [12, 10, "s1"], [20, 22, "s1"], [2, 15, "s1"], [16, 16, "s1"], [16, 19, "s1"], [20, 19, "s1"], [12, 13, "s1"], [11, 16, "s1"], [11, 24, "s1"], [11, 0, "s1"], [4, 16, "s1"], [0, 2, "s1"], [16, 10, "s1"], [2, 20, "s1"], [5, 20, "s1"], [14, 18, "tel1"], [5, 24, "s1"], [8, 6, "s1"], [4, 18, "tel1"], [4, 10, "s1"], [17, 22, "tel1"], [17, 0, "s1"], [9, 10, "cell"], [0, 18, "s1"], [16, 3, "s1"], [16, 11, "s1"], [20, 15, "s1"], [6, 24, "s1"], [17, 15, "healthUP"], [10, 6, "s1"], [9, 7, "bullets"], [11, 7, "sgun"], [5, 0, "s1"], [4, 20, "s1"], [18, 14, "cores"], [18, 0, "s1"], [8, 0, "s1"], [15, 0, "s1"], [20, 10, "s1"], [7, 0, "s1"], [2, 13, "s1"], [12, 15, "s1"], [20, 21, "s1"], [20, 4, "s1"], [13, 21, "healthUP"], [12, 21, "cell"], [12, 7, "s1"], [2, 24, "s1"], [10, 20, "s1"], [6, 12, "s1"]];
_local2 = new Dictionary();
_local3 = ["Creature3", "Creature3", "Creature3", "Creature3", "Creature3"];
_local4 = {creatures:_local3, intervalBetweenCreatures:400};
_local2["tel1_88"] = _local4;
_local3 = ["Creature3", "Creature3", "Creature3", "Creature3", "Creature3"];
_local4 = {creatures:_local3, intervalBetweenCreatures:400};
_local2["tel1_98"] = _local4;
_local3 = ["Creature3", "Creature3", "Creature3", "Creature3", "Creature3"];
_local4 = {creatures:_local3, intervalBetweenCreatures:400};
_local2["tel1_392"] = _local4;
_local3 = ["Creature3", "Creature3", "Creature3", "Creature3", "Creature3"];
_local4 = {creatures:_local3, intervalBetweenCreatures:400};
_local2["tel1_382"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_479"] = _local4;
_local5 = new Dictionary();
_local5["healthUP_154"] = {amountOfPoints:35, amountOfAppears:3, ticksBetweenAppears:200};
_local5["cell_219"] = {amountOfPoints:10, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_332"] = {amountOfPoints:25, amountOfAppears:1, ticksBetweenAppears:200};
_local5["bullets_156"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["sgun_158"] = {amountOfPoints:30, amountOfAppears:5, ticksBetweenAppears:200};
_local5["cores_312"] = {amountOfPoints:10, amountOfAppears:1, ticksBetweenAppears:600};
_local5["healthUP_454"] = {amountOfPoints:25, amountOfAppears:1, ticksBetweenAppears:200};
_local5["cell_453"] = {amountOfPoints:10, amountOfAppears:1, ticksBetweenAppears:600};
_local6 = {x:9, y:11};
_local7 = new Array();
_local7.push(_local1);
_local7.push(_local2);
_local7.push(_local5);
_local7.push(_local6);
_local8 = {levelWidth:21, levelHeigth:25};
_local7.push(_local8);
ARRAY_OF_FIRST_LEVEL.push(_local7);
ARRAY_OF_BG.push([["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_19", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_19", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_19", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_19", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_19", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_19", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_7", "t1_12", "t1_12", "t1_12", "t1_8", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_19", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_11", "t1_6", "t1_6", "t1_6", "t1_13", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_19", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_11", "t1_7", "t1_12", "t1_8", "t1_13", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_19", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_11", "t1_11", "t1_6", "t1_13", "t1_13", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_19", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_11", "t1_11", "t1_6", "t1_13", "t1_13", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_19", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_11", "t1_10", "t1_14", "t1_9", "t1_13", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_19", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_11", "t1_6", "t1_6", "t1_6", "t1_13", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_19", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_10", "t1_14", "t1_14", "t1_14", "t1_9", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_19", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_19", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_19", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_19", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_19", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_19", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_1", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"]]);
_local1 = [[0, 0, "s1"], [1, 0, "s1"], [2, 0, "s1"], [3, 0, "s1"], [4, 0, "s1"], [5, 0, "s1"], [18, 20, "s1"], [7, 0, "s1"], [8, 0, "s1"], [9, 0, "s1"], [10, 0, "s1"], [11, 0, "s1"], [12, 0, "s1"], [13, 0, "s1"], [14, 0, "s1"], [15, 0, "s1"], [16, 0, "s1"], [17, 0, "s1"], [18, 0, "s1"], [19, 0, "s1"], [7, 21, "s1"], [21, 0, "s1"], [22, 0, "s1"], [23, 0, "s1"], [24, 0, "s1"], [0, 1, "s1"], [5, 21, "s1"], [12, 20, "s1"], [20, 0, "s1"], [16, 21, "s1"], [0, 21, "s1"], [1, 21, "s1"], [19, 21, "s1"], [20, 21, "s1"], [19, 20, "s1"], [22, 21, "s1"], [15, 21, "s1"], [24, 21, "s1"], [17, 21, "s1"], [18, 21, "s1"], [10, 21, "s1"], [16, 1, "s1"], [17, 1, "s1"], [3, 21, "s1"], [6, 0, "s1"], [20, 20, "s1"], [8, 21, "s1"], [24, 1, "s1"], [0, 2, "s1"], [13, 20, "s1"], [14, 20, "s1"], [2, 21, "s1"], [14, 21, "s1"], [4, 21, "s1"], [6, 2, "s1"], [7, 2, "s1"], [2, 12, "tel1"], [7, 1, "s1"], [8, 1, "s1"], [13, 17, "healthUP"], [11, 21, "s1"], [12, 21, "s1"], [13, 21, "s1"], [15, 20, "s1"], [17, 2, "s1"], [18, 2, "s1"], [6, 21, "s1"], [21, 15, "tel1"], [9, 21, "s1"], [24, 2, "s1"], [0, 3, "s1"], [5, 3, "s1"], [6, 3, "s1"], [17, 20, "s1"], [2, 18, "tel1"], [21, 21, "s1"], [23, 21, "s1"], [24, 20, "s1"], [9, 9, "bullets"], [18, 3, "s1"], [19, 3, "s1"], [16, 20, "s1"], [24, 3, "s1"], [0, 4, "s1"], [5, 4, "s1"], [19, 4, "s1"], [24, 4, "s1"], [0, 5, "s1"], [22, 12, "tel1"], [4, 5, "s1"], [5, 5, "s1"], [19, 5, "s1"], [20, 5, "s1"], [24, 5, "s1"], [0, 6, "s1"], [4, 6, "s1"], [20, 6, "s1"], [24, 6, "s1"], [0, 7, "s1"], [15, 9, "bullets"], [4, 7, "s1"], [3, 15, "tel1"], [20, 7, "s1"], [24, 7, "s1"], [0, 8, "s1"], [4, 8, "s1"], [20, 8, "s1"], [24, 8, "s1"], [0, 9, "s1"], [4, 9, "s1"], [20, 9, "s1"], [24, 9, "s1"], [0, 10, "s1"], [1, 10, "s1"], [2, 10, "s1"], [3, 10, "s1"], [4, 10, "s1"], [20, 10, "s1"], [21, 10, "s1"], [22, 10, "s1"], [23, 10, "s1"], [24, 10, "s1"], [0, 11, "s1"], [4, 11, "s1"], [5, 11, "s1"], [13, 13, "cell"], [19, 11, "s1"], [20, 11, "s1"], [24, 11, "s1"], [0, 12, "s1"], [4, 12, "s1"], [5, 12, "s1"], [19, 12, "s1"], [20, 12, "s1"], [24, 12, "s1"], [0, 13, "s1"], [22, 18, "tel1"], [4, 13, "s1"], [5, 13, "s1"], [6, 13, "s1"], [7, 13, "s1"], [17, 13, "s1"], [18, 13, "s1"], [19, 13, "s1"], [20, 13, "s1"], [24, 13, "s1"], [0, 14, "s1"], [14, 17, "healthUP"], [23, 14, "s1"], [24, 14, "s1"], [0, 15, "s1"], [1, 15, "s1"], [23, 15, "s1"], [24, 15, "s1"], [0, 16, "s1"], [1, 16, "s1"], [10, 17, "healthUP"], [23, 16, "s1"], [24, 16, "s1"], [0, 17, "s1"], [11, 13, "cell"], [16, 17, "healthUP"], [9, 17, "s1"], [12, 17, "s1"], [15, 17, "s1"], [24, 17, "s1"], [0, 18, "s1"], [4, 18, "s1"], [5, 18, "s1"], [6, 18, "s1"], [7, 18, "s1"], [11, 17, "healthUP"], [9, 18, "s1"], [12, 18, "s1"], [15, 18, "s1"], [17, 18, "s1"], [18, 18, "s1"], [19, 18, "s1"], [20, 18, "s1"], [24, 18, "s1"], [0, 19, "s1"], [4, 19, "s1"], [5, 19, "s1"], [6, 19, "s1"], [7, 19, "s1"], [8, 19, "s1"], [9, 19, "s1"], [10, 19, "s1"], [11, 19, "s1"], [12, 19, "s1"], [13, 19, "s1"], [14, 19, "s1"], [15, 19, "s1"], [16, 19, "s1"], [17, 19, "s1"], [18, 19, "s1"], [19, 19, "s1"], [20, 19, "s1"], [24, 19, "s1"], [0, 20, "s1"], [8, 17, "healthUP"], [4, 20, "s1"], [5, 20, "s1"], [6, 20, "s1"], [7, 20, "s1"], [8, 20, "s1"], [9, 20, "s1"], [10, 20, "s1"], [11, 20, "s1"]];
_local2 = new Dictionary();
_local3 = ["Creature3", "Creature3", "Creature3"];
_local4 = {creatures:_local3, intervalBetweenCreatures:500};
_local2["tel1_302"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_396"] = _local4;
_local3 = ["Creature3", "Creature3", "Creature3"];
_local4 = {creatures:_local3, intervalBetweenCreatures:500};
_local2["tel1_452"] = _local4;
_local3 = ["Creature3", "Creature3", "Creature3"];
_local4 = {creatures:_local3, intervalBetweenCreatures:500};
_local2["tel1_322"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_378"] = _local4;
_local3 = ["Creature3", "Creature3", "Creature3"];
_local4 = {creatures:_local3, intervalBetweenCreatures:500};
_local2["tel1_472"] = _local4;
_local5 = new Dictionary();
_local5["healthUP_438"] = {amountOfPoints:20, amountOfAppears:3, ticksBetweenAppears:200};
_local5["bullets_234"] = {amountOfPoints:100, amountOfAppears:3, ticksBetweenAppears:200};
_local5["bullets_240"] = {amountOfPoints:100, amountOfAppears:3, ticksBetweenAppears:200};
_local5["cell_338"] = {amountOfPoints:10, amountOfAppears:1, ticksBetweenAppears:500};
_local5["healthUP_439"] = {amountOfPoints:20, amountOfAppears:3, ticksBetweenAppears:200};
_local5["healthUP_435"] = {amountOfPoints:20, amountOfAppears:3, ticksBetweenAppears:200};
_local5["cell_336"] = {amountOfPoints:10, amountOfAppears:1, ticksBetweenAppears:500};
_local5["healthUP_441"] = {amountOfPoints:20, amountOfAppears:3, ticksBetweenAppears:200};
_local5["healthUP_436"] = {amountOfPoints:20, amountOfAppears:3, ticksBetweenAppears:200};
_local5["healthUP_433"] = {amountOfPoints:20, amountOfAppears:3, ticksBetweenAppears:200};
_local6 = {x:12, y:9};
_local7 = new Array();
_local7.push(_local1);
_local7.push(_local2);
_local7.push(_local5);
_local7.push(_local6);
_local8 = {levelWidth:25, levelHeigth:22};
_local7.push(_local8);
ARRAY_OF_FIRST_LEVEL.push(_local7);
ARRAY_OF_BG.push([["t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6"], ["t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6"], ["t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6"], ["t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6"], ["t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6"], ["t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6"], ["t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_1", "t1_1", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_1", "t1_1", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6"], ["t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_1", "t1_1", "t1_1", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_1", "t1_1", "t1_1", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6"], ["t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_1", "t1_1", "t1_1", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_1", "t1_1", "t1_1", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6"], ["t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6"], ["t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6"], ["t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6"], ["t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6"], ["t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6"], ["t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6"], ["t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6"], ["t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6"], ["t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6"], ["t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_1", "t1_1", "t1_1", "t1_1", "t1_6", "t1_6", "t1_1", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6"], ["t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6"], ["t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6"], ["t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6"]]);
_local1 = [[0, 0, "s1"], [1, 0, "s1"], [2, 0, "s1"], [3, 0, "s1"], [12, 18, "s1"], [11, 4, "s1"], [10, 4, "s1"], [15, 20, "s1"], [15, 4, "s1"], [20, 6, "s1"], [5, 22, "s1"], [2, 21, "tel1"], [12, 6, "s1"], [4, 14, "s1"], [0, 1, "s1"], [6, 2, "s1"], [8, 13, "s1"], [4, 11, "s1"], [6, 3, "s1"], [13, 6, "s1"], [17, 0, "s1"], [4, 9, "s1"], [17, 10, "healthUP"], [4, 12, "s1"], [23, 10, "healthUP"], [24, 10, "s1"], [15, 22, "s1"], [7, 20, "s1"], [13, 20, "s1"], [0, 18, "s1"], [20, 12, "s1"], [0, 2, "s1"], [19, 2, "s1"], [24, 19, "s1"], [24, 13, "s1"], [9, 18, "s1"], [10, 2, "s1"], [14, 2, "s1"], [0, 23, "s1"], [0, 3, "s1"], [2, 13, "s1"], [24, 17, "s1"], [24, 8, "s1"], [20, 16, "s1"], [20, 18, "s1"], [18, 8, "s1"], [12, 24, "s1"], [12, 22, "s1"], [22, 10, "s1"], [22, 14, "s1"], [13, 11, "bullets"], [6, 11, "s1"], [24, 16, "s1"], [0, 4, "s1"], [8, 18, "s1"], [17, 2, "s1"], [2, 7, "s1"], [8, 12, "s1"], [18, 16, "s1"], [18, 14, "s1"], [10, 11, "s1"], [12, 12, "s1"], [8, 6, "s1"], [19, 10, "healthUP"], [14, 8, "s1"], [6, 4, "s1"], [14, 6, "s1"], [24, 20, "s1"], [16, 4, "s1"], [10, 22, "s1"], [0, 5, "s1"], [4, 13, "s1"], [12, 16, "s1"], [16, 13, "s1"], [0, 15, "s1"], [24, 24, "s1"], [16, 18, "s1"], [22, 15, "s1"], [4, 22, "s1"], [10, 9, "s1"], [0, 6, "s1"], [4, 8, "s1"], [16, 22, "s1"], [19, 22, "s1"], [20, 7, "s1"], [2, 8, "s1"], [2, 11, "s1"], [24, 5, "s1"], [0, 11, "s1"], [10, 18, "s1"], [7, 2, "s1"], [9, 22, "s1"], [1, 10, "healthUP"], [10, 6, "s1"], [16, 11, "s1"], [22, 7, "s1"], [4, 24, "s1"], [10, 7, "s1"], [12, 9, "s1"], [11, 2, "s1"], [0, 7, "s1"], [2, 18, "s1"], [16, 14, "s1"], [2, 6, "s1"], [0, 17, "s1"], [4, 2, "s1"], [6, 14, "s1"], [20, 14, "s1"], [5, 0, "s1"], [16, 10, "s1"], [20, 22, "s1"], [20, 0, "s1"], [13, 24, "s1"], [20, 8, "s1"], [24, 15, "s1"], [22, 18, "s1"], [22, 12, "s1"], [0, 22, "s1"], [4, 1, "s1"], [2, 2, "tel1"], [24, 7, "s1"], [5, 10, "healthUP"], [7, 22, "s1"], [11, 0, "s1"], [22, 17, "s1"], [8, 20, "s1"], [11, 16, "s1"], [11, 6, "s1"], [6, 22, "s1"], [4, 16, "s1"], [16, 0, "s1"], [15, 0, "s1"], [20, 11, "s1"], [21, 24, "s1"], [14, 22, "s1"], [22, 22, "tel1"], [12, 11, "s1"], [0, 8, "s1"], [10, 10, "s1"], [24, 14, "s1"], [16, 12, "s1"], [2, 24, "s1"], [10, 12, "s1"], [18, 13, "s1"], [9, 4, "s1"], [4, 10, "s1"], [24, 22, "s1"], [20, 15, "s1"], [6, 13, "s1"], [18, 24, "s1"], [2, 5, "s1"], [13, 4, "s1"], [14, 13, "s1"], [22, 19, "s1"], [14, 10, "s1"], [13, 22, "s1"], [8, 0, "s1"], [11, 14, "s1"], [24, 1, "s1"], [24, 9, "s1"], [16, 24, "s1"], [0, 13, "s1"], [20, 17, "s1"], [22, 9, "s1"], [2, 10, "s1"], [9, 2, "s1"], [22, 5, "s1"], [16, 9, "s1"], [24, 3, "s1"], [18, 9, "s1"], [11, 22, "s1"], [24, 23, "s1"], [6, 10, "s1"], [10, 14, "s1"], [6, 24, "s1"], [14, 9, "s1"], [15, 18, "s1"], [6, 8, "s1"], [16, 2, "s1"], [2, 4, "s1"], [17, 24, "s1"], [21, 10, "healthUP"], [18, 0, "s1"], [2, 19, "s1"], [5, 24, "s1"], [19, 0, "s1"], [14, 4, "s1"], [20, 24, "s1"], [22, 11, "s1"], [11, 24, "s1"], [4, 17, "s1"], [10, 8, "s1"], [10, 24, "s1"], [8, 22, "s1"], [8, 2, "s1"], [10, 13, "s1"], [4, 7, "s1"], [0, 19, "s1"], [0, 10, "s1"], [0, 14, "s1"], [15, 10, "healthUP"], [8, 5, "s1"], [22, 4, "s1"], [14, 0, "s1"], [7, 0, "s1"], [20, 10, "s1"], [15, 24, "s1"], [6, 9, "s1"], [8, 11, "s1"], [15, 2, "s1"], [4, 0, "s1"], [13, 2, "s1"], [20, 9, "s1"], [11, 18, "s1"], [18, 12, "s1"], [2, 14, "s1"], [2, 17, "s1"], [6, 15, "s1"], [22, 24, "s1"], [24, 4, "s1"], [14, 12, "s1"], [13, 10, "cell"], [6, 0, "s1"], [24, 6, "s1"], [17, 22, "s1"], [12, 2, "s1"], [1, 24, "s1"], [18, 22, "s1"], [12, 0, "s1"], [2, 9, "s1"], [12, 4, "s1"], [9, 20, "s1"], [13, 8, "s1"], [10, 0, "s1"], [12, 14, "s1"], [22, 20, "s1"], [10, 20, "s1"], [24, 2, "s1"], [12, 10, "s1"], [17, 4, "s1"], [22, 13, "s1"], [0, 16, "s1"], [18, 11, "s1"], [22, 0, "s1"], [11, 20, "s1"], [4, 6, "s1"], [14, 14, "s1"], [3, 10, "healthUP"], [16, 20, "s1"], [23, 24, "s1"], [15, 6, "s1"], [7, 24, "s1"], [14, 16, "s1"], [17, 20, "s1"], [14, 11, "s1"], [0, 21, "s1"], [8, 10, "s1"], [22, 16, "s1"], [8, 24, "s1"], [18, 15, "s1"], [9, 0, "s1"], [22, 6, "s1"], [18, 2, "s1"], [22, 8, "s1"], [0, 9, "s1"], [10, 16, "s1"], [12, 8, "s1"], [24, 0, "s1"], [2, 16, "s1"], [3, 24, "s1"], [19, 24, "s1"], [0, 12, "s1"], [24, 21, "s1"], [18, 20, "s1"], [18, 10, "s1"], [6, 12, "s1"], [13, 0, "s1"], [2, 15, "s1"], [24, 12, "s1"], [8, 4, "s1"], [24, 18, "s1"], [14, 18, "s1"], [7, 10, "healthUP"], [14, 24, "s1"], [9, 10, "healthUP"], [14, 20, "s1"], [12, 20, "s1"], [13, 14, "s1"], [4, 15, "s1"], [13, 16, "s1"], [22, 2, "tel1"], [9, 24, "s1"], [0, 20, "s1"], [23, 0, "s1"], [0, 24, "s1"], [2, 12, "s1"], [20, 13, "s1"], [21, 0, "s1"], [24, 11, "s1"], [6, 20, "s1"], [13, 18, "s1"]];
_local2 = new Dictionary();
_local3 = ["Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_527"] = _local4;
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_52"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_572"] = _local4;
_local3 = ["Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3", "Creature3"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_72"] = _local4;
_local5 = new Dictionary();
_local5["healthUP_267"] = {amountOfPoints:50, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_273"] = {amountOfPoints:50, amountOfAppears:1, ticksBetweenAppears:200};
_local5["bullets_288"] = {amountOfPoints:40, amountOfAppears:1, ticksBetweenAppears:100};
_local5["healthUP_269"] = {amountOfPoints:50, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_251"] = {amountOfPoints:50, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_255"] = {amountOfPoints:50, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_271"] = {amountOfPoints:50, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_265"] = {amountOfPoints:50, amountOfAppears:1, ticksBetweenAppears:200};
_local5["cell_263"] = {amountOfPoints:50, amountOfAppears:1, ticksBetweenAppears:100};
_local5["healthUP_253"] = {amountOfPoints:50, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_257"] = {amountOfPoints:50, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_259"] = {amountOfPoints:50, amountOfAppears:1, ticksBetweenAppears:200};
_local6 = {x:13, y:9};
_local7 = new Array();
_local7.push(_local1);
_local7.push(_local2);
_local7.push(_local5);
_local7.push(_local6);
_local8 = {levelWidth:25, levelHeigth:25};
_local7.push(_local8);
ARRAY_OF_FIRST_LEVEL.push(_local7);
ARRAY_OF_BG.push([["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"], ["t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1"]]);
_local1 = [[3, 10, "s3"], [3, 20, "s3"], [12, 2, "healthUP"], [26, 20, "s3"], [18, 22, "cell"], [0, 4, "s3"], [1, 6, "s3"], [26, 17, "s3"], [7, 7, "s3"], [26, 8, "s3"], [13, 7, "s3"], [11, 19, "s3"], [9, 0, "s3"], [11, 21, "s3"], [26, 21, "s3"], [19, 17, "s3"], [18, 14, "sgun"], [9, 13, "s3"], [17, 17, "s3"], [26, 1, "s3"], [13, 11, "s3"], [21, 5, "s3"], [15, 7, "s3"], [0, 7, "s3"], [26, 9, "s3"], [19, 13, "s3"], [23, 8, "s3"], [0, 19, "s3"], [14, 22, "cell"], [9, 26, "s3"], [9, 5, "s3"], [25, 16, "s3"], [1, 10, "s3"], [9, 15, "s3"], [26, 12, "s3"], [10, 26, "s3"], [26, 13, "s3"], [17, 5, "s3"], [0, 18, "s3"], [3, 23, "tel1"], [23, 10, "s3"], [7, 17, "s3"], [12, 26, "s3"], [25, 8, "s3"], [23, 16, "s3"], [14, 2, "healthUP"], [20, 0, "s3"], [16, 5, "bullets"], [23, 26, "s3"], [25, 6, "s3"], [22, 26, "s3"], [1, 20, "s3"], [26, 19, "s3"], [12, 0, "s3"], [20, 3, "s3"], [13, 26, "s3"], [21, 23, "s3"], [6, 22, "cell"], [0, 26, "s3"], [15, 21, "s3"], [11, 13, "s3"], [10, 22, "cell"], [0, 5, "s3"], [21, 13, "s3"], [14, 26, "s3"], [1, 16, "s3"], [5, 9, "s3"], [1, 18, "s3"], [21, 17, "s3"], [25, 20, "s3"], [17, 15, "s3"], [0, 23, "s3"], [26, 0, "s3"], [26, 22, "s3"], [0, 6, "s3"], [19, 15, "s3"], [6, 26, "s3"], [7, 15, "s3"], [19, 0, "s3"], [13, 17, "s3"], [16, 2, "healthUP"], [25, 0, "s3"], [7, 26, "s3"], [19, 7, "s3"], [18, 2, "healthUP"], [6, 14, "sgun"], [8, 5, "bullets"], [26, 18, "s3"], [2, 26, "s3"], [0, 25, "s3"], [7, 23, "s3"], [5, 11, "s3"], [23, 13, "tel1"], [3, 16, "s3"], [11, 17, "s3"], [25, 10, "s3"], [15, 23, "s3"], [15, 19, "s3"], [23, 23, "tel1"], [5, 5, "s3"], [26, 26, "s3"], [5, 15, "s3"], [0, 22, "s3"], [5, 13, "s3"], [0, 8, "s3"], [4, 26, "s3"], [20, 2, "healthUP"], [5, 26, "s3"], [19, 21, "s3"], [5, 21, "s3"], [18, 26, "s3"], [26, 14, "s3"], [7, 13, "s3"], [23, 0, "s3"], [17, 13, "s3"], [26, 25, "s3"], [13, 9, "s3"], [0, 9, "s3"], [0, 16, "s3"], [11, 9, "s3"], [5, 7, "s3"], [26, 24, "s3"], [0, 24, "s3"], [0, 3, "s3"], [6, 0, "s3"], [26, 15, "s3"], [19, 14, "sgun"], [3, 8, "s3"], [9, 11, "s3"], [10, 2, "healthUP"], [26, 4, "s3"], [21, 15, "s3"], [6, 2, "healthUP"], [0, 20, "s3"], [13, 5, "s3"], [26, 16, "s3"], [20, 26, "s3"], [15, 5, "s3"], [21, 0, "s3"], [7, 5, "s3"], [0, 0, "s3"], [9, 21, "s3"], [14, 14, "sgun"], [23, 6, "s3"], [9, 9, "s3"], [25, 26, "s3"], [0, 13, "s3"], [10, 0, "s3"], [0, 21, "s3"], [26, 11, "s3"], [11, 0, "s3"], [12, 3, "s3"], [24, 0, "s3"], [10, 3, "s3"], [5, 19, "s3"], [11, 5, "s3"], [9, 7, "s3"], [15, 0, "s3"], [21, 21, "s3"], [11, 15, "s3"], [18, 0, "s3"], [13, 0, "s3"], [11, 7, "s3"], [7, 19, "s3"], [0, 1, "s3"], [23, 18, "s3"], [19, 19, "s3"], [22, 0, "s3"], [21, 26, "s3"], [3, 0, "s3"], [26, 23, "s3"], [6, 3, "s3"], [21, 9, "s3"], [24, 26, "s3"], [8, 3, "s3"], [17, 0, "s3"], [9, 17, "s3"], [7, 11, "s3"], [15, 26, "s3"], [14, 0, "s3"], [13, 19, "s3"], [14, 3, "s3"], [15, 13, "s3"], [1, 0, "s3"], [19, 26, "s3"], [16, 3, "s3"], [0, 2, "s3"], [11, 11, "s3"], [16, 0, "s3"], [0, 14, "s3"], [26, 10, "s3"], [5, 0, "s3"], [15, 11, "s3"], [26, 3, "s3"], [5, 17, "s3"], [17, 19, "s3"], [23, 3, "tel1"], [1, 26, "s3"], [26, 5, "s3"], [19, 11, "s3"], [21, 19, "s3"], [10, 14, "sgun"], [15, 15, "s3"], [20, 5, "bullets"], [1, 8, "s3"], [26, 6, "s3"], [11, 23, "s3"], [17, 26, "s3"], [16, 26, "s3"], [15, 17, "s3"], [26, 2, "s3"], [8, 0, "s3"], [7, 9, "s3"], [17, 23, "s3"], [3, 18, "s3"], [12, 5, "bullets"], [13, 21, "s3"], [13, 13, "s3"], [17, 7, "s3"], [26, 7, "s3"], [3, 13, "tel1"], [9, 23, "s3"], [7, 21, "s3"], [3, 3, "tel1"], [0, 17, "s3"], [3, 26, "s3"], [13, 15, "s3"], [17, 9, "s3"], [23, 20, "s3"], [17, 21, "s3"], [0, 11, "s3"], [3, 6, "s3"], [2, 0, "s3"], [11, 26, "s3"], [4, 0, "s3"], [19, 23, "s3"], [9, 19, "s3"], [21, 7, "s3"], [17, 11, "s3"], [18, 3, "s3"], [0, 15, "s3"], [0, 10, "s3"], [15, 9, "s3"], [8, 2, "healthUP"], [7, 0, "s3"], [19, 5, "s3"], [5, 23, "s3"], [13, 23, "s3"], [25, 18, "s3"], [0, 12, "s3"], [19, 9, "s3"], [21, 11, "s3"], [8, 26, "s3"]];
_local2 = new Dictionary();
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature3", "Creature3", "Creature3"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_624"] = _local4;
_local3 = ["Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_374"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature3", "Creature3", "Creature3"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_644"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature3", "Creature3", "Creature3"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_104"] = _local4;
_local3 = ["Creature3", "Creature3", "Creature3", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_354"] = _local4;
_local3 = ["Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature2", "Creature3", "Creature3", "Creature3"];
_local4 = {creatures:_local3, intervalBetweenCreatures:100};
_local2["tel1_84"] = _local4;
_local5 = new Dictionary();
_local5["healthUP_66"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["cell_612"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["sgun_396"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["cell_608"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_68"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["bullets_151"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["cell_600"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["cell_604"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_70"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_72"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["sgun_384"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["bullets_143"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_74"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["sgun_397"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_64"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_60"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["sgun_392"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["sgun_388"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["bullets_155"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["bullets_147"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local5["healthUP_62"] = {amountOfPoints:20, amountOfAppears:1, ticksBetweenAppears:200};
_local6 = {x:12, y:14};
_local7 = new Array();
_local7.push(_local1);
_local7.push(_local2);
_local7.push(_local5);
_local7.push(_local6);
_local8 = {levelWidth:27, levelHeigth:27};
_local7.push(_local8);
ARRAY_OF_FIRST_LEVEL.push(_local7);
ARRAY_OF_BG.push([["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"]]);
_local1 = [[18, 14, "s1"], [9, 0, "s1"], [11, 24, "s1"], [17, 24, "s1"], [3, 20, "s1"], [12, 24, "s1"], [4, 21, "s1"], [3, 4, "s1"], [24, 20, "s1"], [0, 19, "s1"], [23, 0, "s1"], [21, 4, "s1"], [23, 4, "s1"], [24, 13, "s1"], [14, 0, "s1"], [21, 24, "s1"], [0, 10, "s1"], [8, 0, "s1"], [20, 4, "s1"], [11, 0, "s1"], [22, 0, "s1"], [24, 21, "s1"], [2, 24, "s1"], [0, 15, "s1"], [8, 24, "s1"], [24, 8, "s1"], [22, 20, "s1"], [24, 12, "s1"], [6, 13, "s1"], [19, 0, "s1"], [24, 22, "s1"], [2, 0, "s1"], [21, 20, "s1"], [20, 0, "s1"], [2, 22, "tel1"], [0, 20, "s1"], [23, 24, "s1"], [24, 3, "s1"], [6, 24, "s1"], [0, 8, "s1"], [24, 5, "s1"], [24, 0, "s1"], [20, 3, "s1"], [24, 24, "s1"], [6, 10, "s1"], [2, 20, "s1"], [5, 0, "s1"], [24, 17, "s1"], [4, 12, "sgun"], [24, 2, "s1"], [13, 0, "s1"], [10, 0, "s1"], [24, 6, "s1"], [16, 24, "s1"], [20, 12, "healthUP"], [22, 4, "s1"], [1, 24, "s1"], [0, 22, "s1"], [0, 1, "s1"], [0, 18, "s1"], [15, 24, "s1"], [0, 17, "s1"], [3, 0, "s1"], [24, 23, "s1"], [24, 7, "s1"], [7, 0, "s1"], [15, 0, "s1"], [1, 4, "s1"], [22, 2, "tel1"], [2, 2, "tel1"], [22, 22, "tel1"], [24, 14, "s1"], [6, 0, "s1"], [24, 11, "s1"], [0, 12, "s1"], [24, 18, "s1"], [24, 15, "s1"], [0, 11, "s1"], [12, 0, "s1"], [6, 11, "s1"], [2, 4, "s1"], [0, 21, "s1"], [9, 24, "s1"], [17, 0, "s1"], [4, 4, "s1"], [20, 8, "cores"], [5, 24, "s1"], [18, 10, "s1"], [18, 13, "s1"], [0, 5, "s1"], [20, 21, "s1"], [7, 24, "s1"], [20, 20, "s1"], [0, 23, "s1"], [24, 9, "s1"], [24, 19, "s1"], [1, 0, "s1"], [6, 14, "s1"], [0, 3, "s1"], [18, 24, "s1"], [4, 20, "s1"], [1, 20, "s1"], [24, 4, "s1"], [23, 20, "s1"], [0, 14, "s1"], [0, 2, "s1"], [20, 16, "healthUP"], [16, 0, "s1"], [24, 1, "s1"], [21, 0, "s1"], [22, 24, "s1"], [4, 8, "bullets"], [4, 16, "cell"], [0, 9, "s1"], [18, 0, "s1"], [0, 16, "s1"], [18, 12, "s1"], [24, 10, "s1"], [4, 0, "s1"], [14, 24, "s1"], [3, 24, "s1"], [20, 24, "s1"], [0, 6, "s1"], [0, 24, "s1"], [0, 13, "s1"], [13, 24, "s1"], [19, 24, "s1"], [18, 11, "s1"], [10, 24, "s1"], [4, 3, "s1"], [0, 0, "s1"], [0, 4, "s1"], [4, 24, "s1"], [24, 16, "s1"], [0, 7, "s1"], [6, 12, "s1"]];
_local2 = new Dictionary();
_local3 = ["Creature2", "Creature1", "Creature2", "Creature1", "Creature2", "Creature1", "Creature3", "Creature3", "Creature3", "Creature2", "Creature1", "Creature2", "Creature1", "Creature2", "Creature1", "Creature3", "Creature3", "Creature2", "Creature1", "Creature2", "Creature3"];
_local4 = {creatures:_local3, intervalBetweenCreatures:150};
_local2["tel1_552"] = _local4;
_local3 = ["Creature2", "Creature3", "Creature1", "Creature2", "Creature3", "Creature1", "Creature2", "Creature3", "Creature1", "Creature2", "Creature3", "Creature1", "Creature2", "Creature3", "Creature1", "Creature2", "Creature3", "Creature1", "Creature2", "Creature3", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:150};
_local2["tel1_72"] = _local4;
_local3 = ["Creature3", "Creature2", "Creature1", "Creature3", "Creature2", "Creature1", "Creature2", "Creature1", "Creature3", "Creature2", "Creature1", "Creature1", "Creature3", "Creature1", "Creature2", "Creature3"];
_local4 = {creatures:_local3, intervalBetweenCreatures:150};
_local2["tel1_52"] = _local4;
_local3 = ["Creature2", "Creature3", "Creature1", "Creature2", "Creature3", "Creature1", "Creature2", "Creature3", "Creature2", "Creature1", "Creature2", "Creature1", "Creature2", "Creature1", "Creature2", "Creature1"];
_local4 = {creatures:_local3, intervalBetweenCreatures:150};
_local2["tel1_572"] = _local4;
_local5 = new Dictionary();
_local5["sgun_304"] = {amountOfPoints:100, amountOfAppears:50, ticksBetweenAppears:200};
_local5["healthUP_320"] = {amountOfPoints:100, amountOfAppears:50, ticksBetweenAppears:200};
_local5["cores_220"] = {amountOfPoints:100, amountOfAppears:50, ticksBetweenAppears:200};
_local5["healthUP_420"] = {amountOfPoints:100, amountOfAppears:50, ticksBetweenAppears:200};
_local5["bullets_204"] = {amountOfPoints:100, amountOfAppears:50, ticksBetweenAppears:200};
_local5["cell_404"] = {amountOfPoints:100, amountOfAppears:50, ticksBetweenAppears:200};
_local6 = {x:12, y:10};
_local7 = new Array();
_local7.push(_local1);
_local7.push(_local2);
_local7.push(_local5);
_local7.push(_local6);
_local8 = {levelWidth:25, levelHeigth:25};
_local7.push(_local8);
ARRAY_OF_FIRST_LEVEL.push(_local7);
ARRAY_OF_BG.push([["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t1_19", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_19", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t1_19", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_19", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t1_19", "t1_2", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_3", "t1_19", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t1_19", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_19", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t1_19", "t1_1", "t1_15", "t1_12", "t1_12", "t1_12", "t1_12", "t1_12", "t1_12", "t1_12", "t1_12", "t1_12", "t1_16", "t1_1", "t1_19", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_1", "t1_11", "t3_2", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_4", "t1_13", "t1_1", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19"], ["t1_1", "t1_6", "t1_2", "t1_1", "t1_1", "t1_1", "t1_1", "t1_11", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t1_13", "t1_1", "t1_1", "t1_1", "t1_1", "t1_3", "t1_6", "t1_1"], ["t1_1", "t1_6", "t1_4", "t1_6", "t1_6", "t1_6", "t1_16", "t1_11", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t1_13", "t1_15", "t1_6", "t1_6", "t1_6", "t1_5", "t1_6", "t1_1"], ["t1_1", "t1_6", "t1_6", "t1_6", "t3_19", "t1_6", "t1_13", "t1_11", "t3_1", "t3_7", "t3_3", "t3_1", "t3_1", "t3_1", "t3_5", "t3_8", "t3_1", "t1_13", "t1_11", "t1_6", "t3_19", "t1_6", "t1_6", "t1_6", "t1_1"], ["t1_1", "t1_6", "t1_3", "t1_6", "t1_6", "t1_6", "t1_17", "t1_11", "t3_1", "t3_10", "t3_9", "t3_1", "t3_1", "t3_1", "t3_10", "t3_9", "t3_1", "t1_13", "t1_18", "t1_6", "t1_6", "t1_6", "t1_2", "t1_6", "t1_1"], ["t1_1", "t1_6", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_11", "t3_3", "t3_1", "t3_1", "t3_5", "t3_1", "t3_3", "t3_1", "t3_1", "t3_5", "t1_13", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_6", "t1_1"], ["t1_1", "t1_6", "t1_4", "t1_6", "t1_6", "t1_6", "t1_16", "t1_11", "t3_6", "t3_1", "t3_1", "t3_11", "t3_1", "t3_13", "t3_1", "t3_1", "t3_6", "t1_13", "t1_15", "t1_6", "t1_6", "t1_6", "t1_5", "t1_6", "t1_1"], ["t1_1", "t1_6", "t1_6", "t1_6", "t3_19", "t1_6", "t1_13", "t1_11", "t3_2", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_4", "t1_13", "t1_11", "t1_6", "t3_19", "t1_6", "t1_6", "t1_6", "t1_1"], ["t1_1", "t1_6", "t1_3", "t1_6", "t1_6", "t1_6", "t1_17", "t1_11", "t3_3", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_5", "t1_13", "t1_18", "t1_6", "t1_6", "t1_6", "t1_2", "t1_6", "t1_1"], ["t1_1", "t1_6", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_3", "t1_6", "t3_13", "t3_13", "t3_13", "t3_6", "t3_11", "t3_11", "t3_11", "t1_6", "t1_2", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_6", "t1_1"], ["t1_1", "t1_6", "t1_4", "t1_6", "t1_6", "t1_6", "t1_16", "t1_1", "t1_11", "t3_13", "t3_13", "t3_13", "t3_6", "t3_11", "t3_11", "t3_11", "t1_13", "t1_1", "t1_15", "t1_6", "t1_6", "t1_6", "t1_5", "t1_6", "t1_1"], ["t1_1", "t1_6", "t1_6", "t1_6", "t3_19", "t1_6", "t1_13", "t1_1", "t1_11", "t3_13", "t3_13", "t3_13", "t3_6", "t3_11", "t3_11", "t3_11", "t1_13", "t1_1", "t1_11", "t1_6", "t3_19", "t1_6", "t1_6", "t1_6", "t1_1"], ["t1_1", "t1_6", "t1_3", "t1_6", "t1_6", "t1_6", "t1_17", "t1_1", "t1_11", "t3_13", "t3_13", "t3_13", "t3_6", "t3_11", "t3_11", "t3_11", "t1_13", "t1_1", "t1_18", "t1_6", "t1_6", "t1_6", "t1_2", "t1_6", "t1_1"], ["t1_1", "t1_6", "t1_5", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_11", "t3_13", "t3_13", "t3_13", "t3_6", "t3_11", "t3_11", "t3_11", "t1_13", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_4", "t1_6", "t1_1"], ["t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_1", "t1_1", "t1_3", "t3_17", "t3_13", "t3_13", "t3_6", "t3_11", "t3_11", "t3_18", "t1_2", "t1_1", "t1_1", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19", "t1_19"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t1_19", "t1_1", "t1_1", "t1_1", "t1_3", "t3_17", "t3_13", "t3_6", "t3_11", "t3_18", "t1_2", "t1_1", "t1_1", "t1_1", "t1_19", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t1_19", "t1_1", "t1_1", "t1_1", "t1_1", "t1_3", "t3_17", "t3_6", "t3_18", "t1_2", "t1_1", "t1_1", "t1_1", "t1_1", "t1_19", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t1_19", "t1_5", "t1_1", "t1_1", "t1_1", "t1_1", "t1_3", "t3_6", "t1_2", "t1_1", "t1_1", "t1_1", "t1_1", "t1_4", "t1_19", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t1_19", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_6", "t1_19", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"], ["t3_6", "t3_6", "t3_6", "t3_6", "t3_6", "t1_19", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_1", "t1_19", "t3_6", "t3_6", "t3_6", "t3_6", "t3_6"]]);
_local1 = [[13, 29, "s3"], [28, 12, "s3"], [3, 12, "s3"], [21, 8, "s3"], [16, 1, "s3"], [15, 21, "s3"], [19, 9, "s3"], [9, 29, "s3"], [24, 26, "s3"], [11, 5, "s3"], [23, 18, "s3"], [26, 27, "s3"], [0, 4, "s3"], [17, 18, "s3"], [25, 16, "s3"], [9, 7, "s3"], [9, 22, "s3"], [16, 9, "s3"], [11, 12, "s3"], [7, 0, "s3"], [22, 3, "s3"], [12, 22, "s3"], [13, 10, "s3"], [23, 15, "s3"], [0, 26, "s3"], [2, 3, "s3"], [4, 0, "s3"], [3, 7, "s3"], [1, 29, "s3"], [20, 12, "s3"], [20, 23, "s3"], [27, 22, "s3"], [23, 10, "s3"], [14, 29, "s3"], [22, 27, "s3"], [14, 5, "s3"], [17, 9, "s3"], [15, 0, "s3"], [29, 23, "s3"], [20, 24, "s3"], [0, 10, "s3"], [0, 23, "s3"], [25, 0, "s3"], [6, 26, "s3"], [29, 20, "s3"], [2, 22, "s3"], [25, 29, "s3"], [19, 21, "s3"], [0, 14, "s3"], [29, 9, "s3"], [8, 14, "s3"], [0, 0, "s3"], [9, 24, "s3"], [19, 20, "s3"], [25, 14, "s3"], [23, 17, "s3"], [1, 13, "s3"], [15, 15, "s3"], [4, 29, "s3"], [7, 1, "s3"], [29, 19, "s3"], [10, 20, "s3"], [16, 4, "s3"], [19, 12, "s3"], [22, 10, "s3"], [29, 29, "s3"], [22, 26, "s3"], [2, 0, "s3"], [8, 22, "s3"], [7, 24, "s3"], [13, 17, "s3"], [19, 14, "s3"], [15, 16, "s3"], [6, 24, "s3"], [14, 6, "s3"], [10, 8, "s3"], [11, 10, "s3"], [27, 7, "s3"], [26, 25, "s3"], [5, 9, "s3"], [21, 12, "s3"], [13, 12, "s3"], [3, 11, "s3"], [19, 23, "s3"], [13, 19, "s3"], [14, 0, "s3"], [25, 13, "s3"], [6, 12, "s3"], [0, 21, "s3"], [21, 3, "s3"], [9, 0, "s3"], [6, 20, "s3"], [27, 6, "s3"], [26, 29, "s3"], [29, 24, "s3"], [17, 7, "s3"], [11, 22, "s3"], [16, 13, "s3"], [0, 1, "s3"], [16, 29, "s3"], [7, 14, "s3"], [15, 12, "s3"], [25, 23, "s3"], [15, 13, "s3"], [6, 22, "s3"], [12, 5, "s3"], [10, 12, "s3"], [21, 14, "s3"], [17, 17, "s3"], [29, 27, "s3"], [26, 12, "s3"], [22, 21, "s3"], [25, 15, "s3"], [13, 20, "s3"], [8, 26, "s3"], [27, 27, "s3"], [5, 24, "s3"], [21, 16, "s3"], [10, 2, "s3"], [14, 24, "s3"], [27, 29, "s3"], [27, 1, "s3"], [10, 29, "s3"], [0, 13, "s3"], [8, 8, "s3"], [11, 8, "s3"], [6, 14, "s3"], [9, 3, "s3"], [17, 29, "s3"], [29, 17, "s3"], [13, 7, "s3"], [25, 18, "s3"], [17, 4, "s3"], [0, 15, "s3"], [7, 29, "s3"], [13, 18, "s3"], [15, 11, "s3"], [13, 24, "s3"], [26, 0, "s3"], [29, 28, "s3"], [9, 20, "s3"], [22, 25, "s3"], [5, 19, "s3"], [21, 13, "s3"], [27, 3, "s3"], [18, 23, "s3"], [29, 14, "s3"], [17, 14, "s3"], [0, 28, "s3"], [20, 19, "s3"], [5, 6, "s3"], [27, 15, "s3"], [6, 0, "s3"], [23, 21, "s3"], [23, 7, "s3"], [18, 11, "s3"], [4, 3, "s3"], [8, 0, "s3"], [23, 19, "s3"], [24, 18, "s3"], [8, 29, "s3"], [0, 22, "s3"], [25, 4, "s3"], [5, 11, "s3"], [27, 5, "s3"], [2, 7, "s3"], [9, 6, "s3"], [13, 22, "s3"], [15, 26, "s3"], [19, 19, "s3"], [11, 15, "s3"], [23, 14, "s3"], [2, 29, "s3"], [7, 3, "s3"], [3, 14, "s3"], [16, 2, "s3"], [10, 14, "s3"], [16, 23, "s3"], [17, 11, "s3"], [9, 10, "s3"], [14, 4, "s3"], [15, 20, "s3"], [29, 22, "s3"], [15, 19, "s3"], [5, 0, "s3"], [17, 19, "s3"], [3, 17, "s3"], [16, 3, "s3"], [18, 21, "s3"], [14, 2, "s3"], [23, 0, "s3"], [9, 2, "s3"], [14, 3, "s3"], [25, 27, "s3"], [20, 28, "s3"], [29, 16, "s3"], [21, 19, "s3"], [17, 21, "s3"], [0, 8, "s3"], [22, 23, "s3"], [2, 17, "s3"], [19, 1, "s3"], [10, 24, "s3"], [29, 25, "s3"], [22, 28, "s3"], [5, 26, "s3"], [5, 3, "s3"], [18, 0, "s3"], [25, 19, "s3"], [13, 0, "s3"], [15, 24, "s3"], [27, 14, "s3"], [16, 26, "s3"], [4, 20, "s3"], [5, 20, "s3"], [29, 15, "s3"], [24, 21, "s3"], [29, 13, "s3"], [22, 22, "s3"], [21, 20, "s3"], [27, 23, "s3"], [12, 7, "s3"], [20, 29, "s3"], [15, 7, "s3"], [27, 12, "s3"], [25, 3, "s3"], [27, 25, "s3"], [23, 29, "s3"], [29, 26, "s3"], [3, 20, "s3"], [19, 11, "s3"], [1, 9, "s3"], [29, 0, "s3"], [3, 8, "s3"], [24, 29, "s3"], [23, 9, "s3"], [10, 26, "s3"], [10, 0, "s3"], [27, 0, "s3"], [2, 1, "s3"], [23, 12, "s3"], [27, 20, "s3"], [3, 0, "s3"], [21, 4, "s3"], [20, 27, "s3"], [3, 26, "s3"], [12, 12, "s3"], [3, 24, "s3"], [21, 15, "s3"], [15, 17, "s3"], [7, 7, "s3"], [26, 18, "s3"], [13, 15, "s3"], [28, 0, "s3"], [9, 18, "s3"], [11, 29, "s3"], [21, 29, "s3"], [1, 24, "s3"], [3, 13, "s3"], [9, 4, "s3"], [19, 15, "s3"], [25, 20, "s3"], [13, 16, "s3"], [25, 6, "s3"], [7, 26, "s3"], [29, 3, "s3"], [7, 16, "s3"], [29, 7, "s3"], [27, 9, "s3"], [5, 5, "s3"], [29, 21, "s3"], [27, 8, "s3"], [23, 11, "s3"], [15, 29, "s3"], [9, 8, "s3"], [27, 4, "s3"], [23, 5, "tel1"], [27, 2, "s3"], [1, 5, "s3"], [11, 3, "s3"], [16, 7, "s3"], [14, 7, "s3"], [9, 12, "s3"], [13, 13, "s3"], [27, 17, "s3"], [0, 29, "s3"], [21, 10, "s3"], [17, 26, "s3"], [12, 0, "s3"], [21, 0, "s3"], [18, 7, "s3"], [6, 5, "s3"], [6, 29, "s3"], [13, 11, "s3"], [16, 0, "s3"], [5, 14, "s3"], [20, 26, "s3"], [14, 26, "s3"], [0, 19, "s3"], [21, 7, "s3"], [7, 20, "s3"], [12, 26, "s3"], [5, 2, "s3"], [29, 2, "s3"], [9, 19, "s3"], [0, 16, "s3"], [21, 17, "s3"], [0, 20, "s3"], [19, 6, "s3"], [24, 3, "s3"], [7, 8, "s3"], [19, 16, "s3"], [0, 9, "s3"], [0, 24, "s3"], [7, 10, "s3"], [0, 17, "s3"], [21, 6, "s3"], [29, 18, "s3"], [29, 1, "s3"], [25, 5, "s3"], [0, 7, "s3"], [18, 9, "s3"], [29, 4, "s3"], [24, 24, "s3"], [29, 6, "s3"], [2, 5, "s3"], [19, 2, "s3"], [13, 8, "s3"], [2, 11, "s3"], [6, 8, "s3"], [9, 5, "s3"], [0, 5, "s3"], [9, 26, "s3"], [11, 24, "s3"], [9, 11, "s3"], [17, 0, "s3"], [29, 8, "s3"], [0, 25, "s3"], [18, 25, "s3"], [1, 20, "s3"], [5, 8, "s3"], [19, 3, "s3"], [23, 3, "s3"], [3, 29, "s3"], [0, 11, "s3"], [24, 23, "s3"], [23, 13, "s3"], [27, 16, "s3"], [11, 2, "s3"], [11, 19, "s3"], [24, 7, "s3"], [7, 5, "s3"], [24, 25, "s3"], [5, 17, "s3"], [17, 13, "s3"], [11, 0, "s3"], [7, 15, "s3"], [4, 26, "s3"], [0, 3, "s3"], [20, 0, "s3"], [18, 29, "s3"], [8, 20, "s3"], [11, 20, "s3"], [15, 23, "s3"], [27, 21, "s3"], [4, 24, "s3"], [3, 5, "s3"], [0, 12, "s3"], [4, 14, "s3"], [9, 14, "s3"], [19, 5, "s3"], [7, 12, "s3"], [26, 10, "s3"], [25, 8, "s3"], [25, 7, "s3"], [1, 0, "s3"], [25, 10, "s3"], [29, 10, "s3"], [19, 29, "s3"], [21, 9, "s3"], [24, 0, "s3"], [24, 27, "s3"], [29, 5, "s3"], [1, 15, "s3"], [19, 7, "s3"], [17, 15, "s3"], [29, 11, "s3"], [11, 16, "s3"], [5, 12, "s3"], [29, 12, "s3"], [5, 18, "s3"], [11, 14, "s3"], [27, 10, "s3"], [11, 17, "s3"], [15, 9, "s3"], [15, 18, "s3"], [7, 9, "s3"], [27, 19, "s3"], [11, 18, "s3"], [18, 2, "s3"], [12, 29, "s3"], [12, 24, "s3"], [0, 27, "s3"], [17, 12, "s3"], [25, 21, "s3"], [5, 29, "s3"], [19, 0, "s3"], [2, 24, "s3"], [3, 9, "s3"], [2, 20, "s3"], [19, 26, "s3"], [12, 6, "s3"], [3, 16, "s3"], [28, 25, "s3"], [0, 2, "s3"], [28, 29, "s3"], [21, 5, "s3"], [3, 3, "s3"], [5, 22, "s3"], [27, 18, "s3"], [10, 22, "s3"], [3, 10, "s3"], [23, 16, "s3"], [7, 22, "s3"], [18, 26, "s3"], [0, 18, "s3"], [20, 9, "s3"], [5, 10, "s3"], [11, 9, "s3"], [2, 26, "s3"], [22, 0, "s3"], [15, 14, "s3"], [13, 21, "s3"], [17, 23, "s3"], [24, 10, "s3"], [2, 2, "s3"], [3, 22, "s3"], [13, 26, "s3"], [22, 29, "s3"], [19, 18, "s3"], [19, 17, "s3"], [12, 2, "s3"], [11, 26, "s3"], [7, 17, "s3"], [26, 23, "s3"], [0, 6, "s3"], [16, 5, "s3"], [3, 15, "s3"], [13, 14, "s3"], [4, 22, "s3"], [25, 12, "s3"], [15, 22, "s3"], [12, 8, "s3"], [8, 12, "s3"], [22, 24, "s3"], [8, 24, "s3"], [19, 4, "s3"], [17, 16, "s3"]];
_local2 = new Dictionary();
_local3 = ["Creature3"];
_local4 = {creatures:_local3, intervalBetweenCreatures:1000};
_local2["tel1_173"] = _local4;
_local5 = new Dictionary();
_local6 = {x:1, y:1};
_local7 = new Array();
_local7.push(_local1);
_local7.push(_local2);
_local7.push(_local5);
_local7.push(_local6);
_local8 = {levelWidth:30, levelHeigth:30};
_local7.push(_local8);
ARRAY_OF_FIRST_LEVEL.push(_local7);
ARRAY_OF_BG.push([["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"], ["t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1", "t3_1"]]);
LEVELS_TIME_DICTIONARY["0"] = {time:1500, scores:1000};
LEVELS_TIME_DICTIONARY["1"] = {time:1600, scores:1500};
LEVELS_TIME_DICTIONARY["2"] = {time:1700, scores:2000};
LEVELS_TIME_DICTIONARY["3"] = {time:1700, scores:2500};
LEVELS_TIME_DICTIONARY["4"] = {time:1700, scores:3000};
LEVELS_TIME_DICTIONARY["5"] = {time:1700, scores:3500};
LEVELS_TIME_DICTIONARY["6"] = {time:1800, scores:4000};
LEVELS_TIME_DICTIONARY["7"] = {time:1800, scores:4500};
LEVELS_TIME_DICTIONARY["8"] = {time:1800, scores:5000};
LEVELS_TIME_DICTIONARY["9"] = {time:1800, scores:5500};
LEVELS_TIME_DICTIONARY["10"] = {time:1800, scores:6000};
LEVELS_TIME_DICTIONARY["11"] = {time:1900, scores:6500};
LEVELS_TIME_DICTIONARY["12"] = {time:1900, scores:7000};
LEVELS_TIME_DICTIONARY["13"] = {time:1900, scores:7500};
LEVELS_TIME_DICTIONARY["14"] = {time:1900, scores:8000};
LEVELS_TIME_DICTIONARY["15"] = {time:1900, scores:8500};
LEVELS_TIME_DICTIONARY["16"] = {time:2000, scores:9000};
LEVELS_TIME_DICTIONARY["17"] = {time:2000, scores:9500};
LEVELS_TIME_DICTIONARY["18"] = {time:2000, scores:10000};
LEVELS_TIME_DICTIONARY["19"] = {time:2000, scores:15000};
LEVELS_TIME_DICTIONARY["20"] = {time:2000, scores:20000};
MAX_NUM_CREATURES_PER_LEVEL[0] = 10;
MAX_NUM_CREATURES_PER_LEVEL[1] = 10;
MAX_NUM_CREATURES_PER_LEVEL[2] = 10;
MAX_NUM_CREATURES_PER_LEVEL[3] = 10;
MAX_NUM_CREATURES_PER_LEVEL[4] = 11;
MAX_NUM_CREATURES_PER_LEVEL[5] = 12;
MAX_NUM_CREATURES_PER_LEVEL[6] = 13;
MAX_NUM_CREATURES_PER_LEVEL[7] = 14;
MAX_NUM_CREATURES_PER_LEVEL[8] = 15;
MAX_NUM_CREATURES_PER_LEVEL[9] = 15;
MAX_NUM_CREATURES_PER_LEVEL[10] = 15;
MAX_NUM_CREATURES_PER_LEVEL[11] = 15;
MAX_NUM_CREATURES_PER_LEVEL[12] = 15;
MAX_NUM_CREATURES_PER_LEVEL[13] = 16;
MAX_NUM_CREATURES_PER_LEVEL[14] = 17;
MAX_NUM_CREATURES_PER_LEVEL[15] = 17;
MAX_NUM_CREATURES_PER_LEVEL[16] = 18;
MAX_NUM_CREATURES_PER_LEVEL[17] = 18;
MAX_NUM_CREATURES_PER_LEVEL[18] = 19;
MAX_NUM_CREATURES_PER_LEVEL[19] = 19;
MAX_NUM_CREATURES_PER_LEVEL[20] = 20;
}
public static function elementIsWall(_arg1:String):Boolean{
return (wallNamePattern.test(_arg1));
}
}
}//package game
Section 129
//Main (game.Main)
package game {
import flash.events.*;
import flash.display.*;
import game.controller.*;
import game.model.*;
import load_vars.*;
import game.model.mortar.*;
import flash.utils.*;
import game.heroes_info.*;
import game.view.*;
import gameInterface.*;
public class Main extends MovieClip {
private var _gameTicks:uint;// = 0
private var gameTimer:Timer;
private var _currentState:String;
public var bossInfoMC:BossInfo;
private var view:View;
private var interval:uint;
private var _playerInfo:PlayerInfo;
private var _pauseMenu:PauseMenu;
private var _levelTime:int;// = 0
private var _pauseFlag:Boolean;// = false
public var playerInfoMC:PlayerInfo;
private var _bossInfo:BossInfo;
private var model:Model;
private var _curtain:MovieClip;
private var _countOfExplosionTreamble:int;// = 0
private var explosionMC:MovieClip;
private var _splashScreen:MovieClip;
private var _startDate:Date;// = null
private var firstLoad:Boolean;// = true
private var _mask:MovieClip;
private var _counterState:int;// = 0
private var _processCurrentStateFunction:Function;
private var changeLevelTimer:Timer;
public static var END_STATE:String = "end_state";
public static var SHOW_PICTURE_STATE:String = "show_picture_state";
public static var SECOND_DAWN_STATE:String = "second_dawn_state";
public static var SECOND_SUNSET_STATE:String = "second_sunset_state";
public static var START_STATE:String = "start_state";
public static var FIRST_DAWN_STATE:String = "first_dawn_state";
public static var FIRST_SUNSET_STATE:String = "firs_sunset_state";
public function Main(){
explosionMC = new ExplosionMC();
_countOfExplosionTreamble = 0;
_currentState = Main.SHOW_PICTURE_STATE;
_counterState = 0;
_curtain = new Curtain();
_splashScreen = new SplashScreen();
_pauseFlag = false;
_startDate = null;
_levelTime = 0;
firstLoad = true;
_gameTicks = 0;
super();
try {
this._mask = new MaskMovieClip();
this.parent.addChild(_mask);
this.mask = _mask;
SetParameters.init();
LevelsContent.init();
view = new View();
model = new Model();
model.numOfCurrentLevel = Global.currentLevel;
Controller.instance.setModel(model);
Controller.instance.main = this;
gameTimer = new Timer(SetParameters.TICKS_FOR_UPDATE);
addChild(view);
configureListeners();
this.addChild(explosionMC);
this._playerInfo = this.playerInfoMC;
this._bossInfo = this.bossInfoMC;
_bossInfo.visible = false;
(this._playerInfo.shootScrollProcessing as ShootScrollProcessing).player = model.player;
this.setChildIndex(_playerInfo, 3);
processStartNewLevelCreation(Main.FIRST_SUNSET_STATE);
_splashScreen.visible = true;
this.addChild(_splashScreen);
iniSoundAndMusic();
Global.music_interface.stopMusics();
Global.music_game.playMusic("game", "music_game");
} catch(e:Error) {
};
}
private function setSecondDawnState():void{
this.view.sortDepth();
try {
this.removeChild(_splashScreen);
if (this.firstLoad){
this.firstLoad = false;
this.removeChild(_splashScreen);
};
this.addChild(this._curtain);
this._curtain.alpha = 1;
} catch(e:Error) {
};
try {
this._currentState = Main.SECOND_DAWN_STATE;
this._counterState = SetParameters.DOWN_TICKS;
_processCurrentStateFunction = this.processSecondDawn;
} catch(e:Error) {
};
}
private function processStartNewLevelCreation(_arg1:String):void{
this._currentState = _arg1;
this.gameTimer.stop();
view.stopPlayerView();
view.removeListeners();
view.addCreateTeleportsLisener();
processChangeStateFunction();
this.changeLevelTimer = new Timer(SetParameters.TICKS_FOR_NEW_LEVEL_CREATION);
this.changeLevelTimer.addEventListener(TimerEvent.TIMER, changeLevelTickHandler);
this.changeLevelTimer.start();
}
public function initPlayer():void{
view.initStartViewPosition();
}
private function processSecondSunSet():void{
_curtain.alpha = (_curtain.alpha + (1 / SetParameters.SUNSET_TICKS));
}
private function deactivateHandler(_arg1:Event):void{
pauseGame();
}
private function removeSelfListeners():void{
gameTimer.removeEventListener(TimerEvent.TIMER, onTimerHandler);
model.removeEventListener(Model.EXPLOSION_EVENT, this.explosionHandler);
model.removeEventListener(MortarShell.MORTAR_SHELL_EXPLOSION_EVENT, this.explosionHandler);
model.removeEventListener(Model.START_NEW_LEVEL_CREATION_EVENT, changeLevelHandler);
model.removeEventListener(MortarShell.MORTAR_SHELL_EXPLOSION_EVENT, this.explosionHandler);
this.model.removeEventListener(Model.UPDATE_GAME, this.treambleUpdateListener);
}
private function setShowPictureState():void{
try {
this.removeChild(this._curtain);
} catch(e:Error) {
};
if (this.firstLoad){
try {
_splashScreen.visible = true;
this.addChild(_splashScreen);
} catch(e:Error) {
};
};
try {
model.currentLevelHeight = LevelsContent.ARRAY_OF_FIRST_LEVEL[(model.numOfCurrentLevel + 1)][4].levelHeigth;
model.currentLevelWidth = LevelsContent.ARRAY_OF_FIRST_LEVEL[(model.numOfCurrentLevel + 1)][4].levelWidth;
model.createNewLevel();
this._currentState = Main.SHOW_PICTURE_STATE;
this._counterState = SetParameters.SHOW_PICTURE_TICKS;
_processCurrentStateFunction = this.processShowPicture;
} catch(e:Error) {
};
}
private function setSecondSunSetState():void{
try {
this._curtain.alpha = 0;
this.addChild(this._curtain);
} catch(e:Error) {
};
this._currentState = Main.SECOND_SUNSET_STATE;
this._counterState = SetParameters.SUNSET_TICKS;
_processCurrentStateFunction = this.processSecondSunSet;
}
private function explosionHandler(_arg1:Event):void{
this.model.addEventListener(Model.UPDATE_GAME, this.treambleUpdateListener);
this.explosionMC.gotoAndPlay("start");
}
private function processSecondDawn():void{
_curtain.alpha = (_curtain.alpha - (1 / SetParameters.DOWN_TICKS));
}
public function processOfVictory():void{
var _local1:Vorota;
stopGame();
Global.sound_game.playSound(null, "win_level");
_local1 = new Vorota(Global.gameroot, false, Global.gameroot, "victory", this.view.removeObjects);
}
public function unpauseGame():void{
if (_pauseFlag){
setNewStartDate();
stage.focus = this;
gameTimer.start();
_pauseFlag = false;
};
}
private function changeLevelTickHandler(_arg1:TimerEvent):void{
var e = _arg1;
try {
if ((this._counterState > 0)){
_counterState--;
_processCurrentStateFunction();
} else {
processChangeStateFunction();
};
e.updateAfterEvent();
} catch(e:Error) {
};
}
private function processChangeStateFunction():void{
switch (this._currentState){
case Main.START_STATE:
this.setFirstSunSetState();
break;
case Main.FIRST_SUNSET_STATE:
this.setFirstDawnState();
break;
case Main.FIRST_DAWN_STATE:
this.setShowPictureState();
break;
case Main.SHOW_PICTURE_STATE:
this.setSecondSunSetState();
break;
case Main.SECOND_SUNSET_STATE:
this.setSecondDawnState();
break;
case Main.SECOND_DAWN_STATE:
this.setEndState();
break;
};
}
public function addToLevelTime():void{
var _local1:Date;
var _local2:int;
_local1 = new Date();
_local2 = (_local1.getTime() - _startDate.getTime());
this._levelTime = (this._levelTime + _local2);
}
private function activateHandler(_arg1:FocusEvent):void{
stage.focus = this;
_arg1.preventDefault();
}
public function setNewStartDate():void{
this._startDate = new Date();
}
private function changeLevelHandler(_arg1:Event):void{
Global.sound_game.playSound(null, "win_level");
processStartNewLevelCreation(Main.START_STATE);
}
private function setEndState():void{
changeLevelTimer.stop();
view.addListeners();
this.gameTimer.start();
setNewStartDate();
stage.addEventListener(Event.DEACTIVATE, this.deactivateHandler);
this.view.playerRobotView.addModelListeners();
Global.sound_game.playSound(null, "level_start");
_gameTicks = 0;
if (model.numOfCurrentLevel == SetParameters.BOSS_NUM_OF_LEVEL){
Controller.instance.addBoss();
};
}
public function pauseGame():void{
if (!_pauseFlag){
this.addToLevelTime();
_pauseFlag = true;
gameTimer.stop();
_pauseMenu = new PauseMenu(this);
};
}
private function stopGame():void{
this.gameTimer.stop();
this.removeSelfListeners();
this.view.removeListeners();
if (this.model.bossHaveBinAdded){
this._bossInfo.removeEventListeners();
this._bossInfo.visible = false;
this.model.bossHaveBinAdded = false;
};
}
private function setFirstDawnState():void{
var v:Vorota;
if (!this.firstLoad){
this.addChild(_splashScreen);
};
try {
this.addChild(this._curtain);
this._curtain.alpha = 1;
} catch(e:Error) {
};
if (firstLoad){
v = new Vorota((this.parent as MovieClip), true);
firstLoad = false;
} else {
this._curtain.visible = 1;
};
try {
this._currentState = Main.FIRST_DAWN_STATE;
this._counterState = SetParameters.DOWN_TICKS;
_processCurrentStateFunction = this.processFirstDawn;
} catch(e:Error) {
};
}
private function treambleUpdateListener(_arg1:Event):void{
if (_countOfExplosionTreamble <= SetParameters.TREAMBLE_TICKS){
this.x = (this.x + (2 * GeometryFunctions.sign((1 + (Math.random() * -2)))));
this.y = (this.y + (2 * GeometryFunctions.sign((1 + (Math.random() * -2)))));
_countOfExplosionTreamble++;
} else {
this.x = 0;
this.y = 0;
_countOfExplosionTreamble = 0;
model.removeEventListener(Model.UPDATE_GAME, this.treambleUpdateListener);
};
}
public function get playerInfo():PlayerInfo{
return (this._playerInfo);
}
private function processFirstDawn():void{
_curtain.alpha = (_curtain.alpha - (1 / SetParameters.DOWN_TICKS));
}
private function iniSoundAndMusic():void{
if (Global._game_stored_data.data.soundVolumeFlag == 1){
Global.sound_game.setSoundVolume(Global._sound_volume_game);
} else {
Global.sound_game.setSoundVolume(0);
};
if (Global._game_stored_data.data.musicVolumeFlag == 1){
Global.music_game.setMusicVolume(Global._music_volume_game);
} else {
Global.music_game.setMusicVolume(0);
};
}
private function processShowPicture():void{
}
private function processFirstSunSet():void{
_curtain.alpha = (_curtain.alpha + (1 / SetParameters.SUNSET_TICKS));
}
private function setStartState():void{
try {
this.view.addListeners();
this.view.removeCreateTeleportListener();
this.gameTimer.start();
changeLevelTimer.removeEventListener(TimerEvent.TIMER, changeLevelTickHandler);
stage.addEventListener(Event.DEACTIVATE, this.deactivateHandler);
} catch(e:Error) {
};
}
public function goToMainMenu():void{
this.view.removeCreateTeleportListener();
this.view.removeListeners();
gameTimer.stop();
removeSelfListeners();
(this.parent as MovieClip).gotoAndStop("mainMenu");
}
public function addLevelScores():void{
var _local1:Object;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:Date;
var _local8:String;
_local1 = LevelsContent.LEVELS_TIME_DICTIONARY[("" + this.model.numOfCurrentLevel)];
_local2 = _local1.time;
_local3 = _local1.scores;
_local4 = (Global.scores + this.model.amountOfAditionalScores);
Global.scores = (Global.scores + this.model.amountOfAditionalScores);
_local5 = (_local2 - this._gameTicks);
_local6 = 0;
if (_local5 > 0){
_local8 = Global.userName;
_local6 = Math.round(((_local3 * _local5) / _local2));
_local4 = (_local4 + _local6);
};
Global.scores = (Global.scores + _local6);
_local7 = new Date();
LoadVar.instance.setNameLevel(Global.userName, _local7.getFullYear(), (_local7.getMonth() + 1), _local7.date, _local7.getHours(), _local7.getMinutes(), _local7.getSeconds(), (this.model.numOfCurrentLevel + 1), Global.scores);
}
private function setFirstSunSetState():void{
try {
this.view.removeObjects();
this.view.playerRobotView.removeModelListeners();
this._curtain.alpha = 0;
this.addChild(_curtain);
this._currentState = Main.FIRST_SUNSET_STATE;
this._counterState = SetParameters.SUNSET_TICKS;
_processCurrentStateFunction = this.processFirstSunSet;
stage.removeEventListener(Event.DEACTIVATE, this.deactivateHandler);
} catch(e:Error) {
};
}
public function procvessOfLose():void{
var _local1:Vorota;
Global.sound_game.playSound(null, "player_die");
Global.scores = (Global.scores + this.model.amountOfAditionalScores);
stopGame();
_local1 = new Vorota(Global.gameroot, false, Global.gameroot, "game_over", this.view.removeObjects);
}
public function get bossInfo():BossInfo{
return (this._bossInfo);
}
function onTimerHandler(_arg1:TimerEvent):void{
_gameTicks++;
model.update();
_arg1.updateAfterEvent();
}
public function showBossInfo():void{
_bossInfo.visible = true;
setChildIndex(this._bossInfo, 4);
}
private function configureListeners():void{
stage.addEventListener(KeyboardEvent.KEY_DOWN, Controller.instance.keyDownHandler);
stage.addEventListener(KeyboardEvent.KEY_UP, Controller.instance.keyUpHandler);
Controller.instance.model = model;
ChangeBotsState.instance.model = model;
ContainerOfBotsPointer.instance.model = model;
model.addEventListener(Model.EXPLOSION_EVENT, this.explosionHandler);
model.addEventListener(MortarShell.MORTAR_SHELL_EXPLOSION_EVENT, this.explosionHandler);
model.addEventListener(Model.START_NEW_LEVEL_CREATION_EVENT, changeLevelHandler);
gameTimer.addEventListener(TimerEvent.TIMER, onTimerHandler);
view.model = model;
}
}
}//package game
Section 130
//SetParameters (game.SetParameters)
package game {
import game.model.moved_state.*;
import flash.utils.*;
public class SetParameters {
public static const GUN_SHOOT_POWER:Number = 10;
public static const LAZER_LEN_OF_HIT:int = 500;
public static const SIMPLE_BOT_ATTACK_TICS:int = 50;
public static const MAX_MORTAR_SHOOT_LEN:Number = 300;
public static const MORTAR_CHANGE_LEN_TICKS:int = 10;
public static const MACHINE_GUN_LEN_OF_HIT:int = 500;
public static const LAZER_HIT_RADIUS:Number = 40;
public static const SIMPLE_ROBOT_STEP:Number = 2;
public static const SHOOT_BOT_ATTACK_TICS:int = 100;
public static const KAMIKAZE_SCORES:int = 30;
public static const KAMIKAZE_ATTACK_TICS:int = 5;
public static const CREATURE_SHELL_HIT_RADIUS:int = 10;
public static const CREATURE_SHELL_SHIFT_Y:int = 43;
public static const AGONY_TICS:int = 10;
public static const CREATURE_SHELL_SHIFT_X:int = 0;
public static const TICKS_FOR_UPDATE:int = 25;
public static const ADD_TO_PLAYER_HEALTH:int = 3;
public static const ROCKET_TICKS_AFTER_SHOOT:int = 10;
public static const BOSS_START_X:int = 15;
public static const BOSS_START_Y:int = 15;
public static const GUN_ANGLE_OF_HIT:Number = ((10 * Math.PI) / 180);
public static const LAZER_SHOOT_POWER:Number = 60;
public static const SIMPLE_CREATURE_DAMAGE:int = 10;
public static const KAMIKAZE_DESTROY_RADIUS:int = 10;
public static const MIN_MORTAR_SHOOT_LEN = 50;
public static const SIMPLE_BOT_SHOCK_TICS:int = 10;
public static const KAMIKAZE_DESTROY:int = 50;
public static const GUN_LEN_OF_HIT:Number = 500;
public static const GAME_WIDTH:int = 40;
public static const SHOOT_BOT_SHOCK_TICS:int = 10;
public static const SHOOT_GUN_ANGLE_OF_HIT = ((20 * Math.PI) / 180);
public static const BOSS_SCORES:int = 1000;
public static const KAMIKAZE_ROBOT_HEALTH:int = 150;
public static const LAZER_TICKS_AFTER_SHOOT:int = 15;
public static const BOSS_NUM_OF_LEVEL:int = 20;
public static const SHOOT_GUN_LEN_OF_HIT:int = 300;
public static const FIRE_ROBOT_HEALTH:int = 100;
public static const BOSS_SHOCK_TICS:int = 10;
public static const GUN_TICS_AFTER_SHOOT:Number = 4;
public static const PLAYER_STEP:Number = 4;
public static const BOSS_ATTACK_TICS:int = 50;
public static const MORTAR_DAMAGE_POINTS:int = 80;
public static const KAMIKAZE_SHOCK_TICS:int = 10;
public static const SIMPLE_CREATURE_SCORES:int = 10;
public static const BOSS_ROBOT_STEP:Number = 4;
public static const SHOOT_GUN_TICKS_AFTER_SHOOT:int = 10;
public static const MORTAR_DAMAGE_DIAMETER:Number = 100;
public static const MAX_PLAYER_HEALTH:int = 100;
public static const LEN_OF_ABSOLUTE_HIT:int = (CELLS_SIZE / 2);
public static const PLAYER_SHOCK_SPEED:int = 1;
public static const SHOOT_GUN_SHOOT_POWER:Number = 15;
public static const MACHINE_GUN_TICKS_AFTER_SHOOT:int = 2;
public static const SHOOT_ROBOT_STEP:Number = 3.2;
public static const SHOOT_CREATURE_SCORES:int = 20;
public static const PLAYER_ONE_STEP_TICKS:int = 10;
public static const KAMIKAZE_ROBOT_STEP:Number = 2.8;
public static const MACHINE_GUN_ANGLE_OF_HIT:Number = ((10 * Math.PI) / 180);
public static const MACHINE_GUN_SHOOT_POWER:Number = 10;
public static var VIEW_HEIGHT:int = 400;
public static var VIEW_CELL_HEIGHT:int = 41;
public static var MAX_AMOUNT_OF_FIND_LOOP:int = 50;
public static var STEP_OF_SHOCK_CREATURE:int = 1;
public static var ATTACK_DISTANCE_SHOOT:int = 200;
public static var GAME_HEIGHT:int = 40;
public static var BOT_DIAMETER:Number = 20;
public static var PLAYER_DIAMETER:Number = 50;
public static var PLAYER_START_X:Number = 260;
public static var PLAYER_START_Y:Number = 245;
public static var MAX_COST_OF_WEIGHT:Number = 10000;
public static var CELLS_SIZE:int = 45;
public static var TIME_MACHIN_GUN_BOX_WAITING:int = 50;
public static var VIEW_CELL_WIDTH:int = 55;
public static var START_DEPTH:int = 1;
public static var MAX_AMOUNT_OF_BOTS:Number = 50;
public static var PLAYER_A:int = 15;
public static var PARTS_IN_CIRCLE:Number = 36;
public static var PLAYER_B:int = 15;
public static var DOWN_TICKS:int = 10;
public static var CREATURE_SHELL_DAMAGE:int = 20;
public static var BOSS_START_HEALTH:int = 2000;
public static var BOSS_SHIFTS_DICTIONARY_RIGHT:Dictionary = new Dictionary();
public static var TICKS_OF_RECOUNT_WIDTH:int = 2;
public static var MAX_AMOUNT_OF_MACHINE_GUN_CARTRIGES:int = 200;
public static var STEP_OF_CREATURE:int = 2;
public static var TIME_SHOOT_GUN_BOX_WAITING:int = 50;
public static var UPDATE:String = "update";
public static var MAX_AMOUNT_OF_LAZER_CARTRIGES:int = 200;
public static var ARRAY_WITH_DELTA_CELLS:Array = new Array();
public static var BOSS_SHIFTS_DICTIONARY_LEFT:Dictionary = new Dictionary();
public static var SHELL_SPEED:Number = 4;
public static var ATTACK_DISTANCE_SIMPLE:int = 60;
public static var TICKS_FOR_NEW_LEVEL_CREATION:int = 20;
public static var PLAYER_DEFAULT_HEALTH:int = 100;
public static var TIME_ROCKET_BOX_WAITING:int = 50;
public static var SUNSET_TICKS:int = 10;
public static var MAX_AMOUNT_OF_SHOOT_GUN_CARTRIGES:int = 200;
public static var WHAIT_CREATURES_QUEUE_TIME:Number = 100;
public static var VIEW_WIDTH:int = 550;
public static var MAX_AMOUNT_OF_ROCKET_CARTRIGES:int = 200;
public static var TIME_LAZER_GUN_BOX_WAITING:int = 50;
private static var _defaultRocketLen:Number = 200;
public static var TREAMBLE_TICKS:int = 4;
public static var SHOW_PICTURE_TICKS:int = 100;
public static var SIMPLE_ONLY_MOVED_HEALTH:int = 30;
public static var PLAYER_SHOCK_TICKS:int = 1;
public static function init():void{
var _local1:int;
var _local2:int;
_local1 = 20;
_local2 = 25;
BOSS_SHIFTS_DICTIONARY_LEFT[AbstractState.UP_ATTACK_STATE] = {dx:(-50 + _local1), dy:(-10 + _local2)};
BOSS_SHIFTS_DICTIONARY_LEFT[AbstractState.DOWN_ATTACK_STATE] = {dx:(-50 + _local1), dy:(-4 + _local2)};
BOSS_SHIFTS_DICTIONARY_LEFT[AbstractState.LEFT_ATTACK_STATE] = {dx:(-62 + _local1), dy:(-32 + _local2)};
BOSS_SHIFTS_DICTIONARY_LEFT[AbstractState.RIGHT_ATTACK_STATE] = {dx:(20 + _local1), dy:(-25 + _local2)};
BOSS_SHIFTS_DICTIONARY_LEFT[AbstractState.LEFT_UP_ATTACK_STATE] = {dx:(10 + _local1), dy:(-42 + _local2)};
BOSS_SHIFTS_DICTIONARY_LEFT[AbstractState.LEFT_DOWN_ATTACK_STATE] = {dx:(0 + _local1), dy:(-3 + _local2)};
BOSS_SHIFTS_DICTIONARY_LEFT[AbstractState.RIGHT_UP_ATTACK_STATE] = {dx:(-15 + _local1), dy:(-40 + _local2)};
BOSS_SHIFTS_DICTIONARY_LEFT[AbstractState.RIGHT_DOWN_ATTACK_STATE] = {dx:(-25 + _local1), dy:(-3 + _local2)};
BOSS_SHIFTS_DICTIONARY_RIGHT[AbstractState.UP_ATTACK_STATE] = {dx:(10 + _local1), dy:(-10 + _local2)};
BOSS_SHIFTS_DICTIONARY_RIGHT[AbstractState.DOWN_ATTACK_STATE] = {dx:(10 + _local1), dy:(-4 + _local2)};
BOSS_SHIFTS_DICTIONARY_RIGHT[AbstractState.LEFT_ATTACK_STATE] = {dx:(-62 + _local1), dy:(-12 + _local2)};
BOSS_SHIFTS_DICTIONARY_RIGHT[AbstractState.RIGHT_ATTACK_STATE] = {dx:(20 + _local1), dy:(-5 + _local2)};
BOSS_SHIFTS_DICTIONARY_RIGHT[AbstractState.LEFT_UP_ATTACK_STATE] = {dx:(-55 + _local1), dy:(-48 + _local2)};
BOSS_SHIFTS_DICTIONARY_RIGHT[AbstractState.LEFT_DOWN_ATTACK_STATE] = {dx:(-50 + _local1), dy:(-15 + _local2)};
BOSS_SHIFTS_DICTIONARY_RIGHT[AbstractState.RIGHT_UP_ATTACK_STATE] = {dx:(36 + _local1), dy:(-30 + _local2)};
BOSS_SHIFTS_DICTIONARY_RIGHT[AbstractState.RIGHT_DOWN_ATTACK_STATE] = {dx:(15 + _local1), dy:(-3 + _local2)};
ARRAY_WITH_DELTA_CELLS.push({dx:-1, dy:-1});
ARRAY_WITH_DELTA_CELLS.push({dx:-1, dy:0});
ARRAY_WITH_DELTA_CELLS.push({dx:-1, dy:1});
ARRAY_WITH_DELTA_CELLS.push({dx:0, dy:1});
ARRAY_WITH_DELTA_CELLS.push({dx:1, dy:1});
ARRAY_WITH_DELTA_CELLS.push({dx:1, dy:0});
ARRAY_WITH_DELTA_CELLS.push({dx:1, dy:-1});
ARRAY_WITH_DELTA_CELLS.push({dx:0, dy:-1});
}
}
}//package game
Section 131
//ShootScrollProcessing (game.ShootScrollProcessing)
package game {
import flash.events.*;
import flash.display.*;
import game.model.*;
public class ShootScrollProcessing extends MovieClip {
private var _player:Player;
public function ShootScrollProcessing(){
this.gotoAndStop(this.totalFrames);
}
public function set player(_arg1:Player):void{
this._player = _arg1;
_player.addEventListener(Player.CHARGE_WEAPON_EVENT, chargePlayerHandler);
}
public function chargePlayerHandler(_arg1:Event):void{
this.gotoAndStop(Math.ceil((this.totalFrames * this._player.percentsOfCharging)));
}
}
}//package game
Section 132
//PauseMenu (gameInterface.PauseMenu)
package gameInterface {
import flash.events.*;
import flash.display.*;
import language_view.*;
import game.controller.*;
import game.*;
import flash.utils.*;
import flash.net.*;
import flash.text.*;
public class PauseMenu extends MovieClip {
public var exitGameBtn:MovieClip;
public var musicGameBtn:MovieClip;
public var playGameBtn:MovieClip;
public var txt:TextField;
public var soundGameBtn:MovieClip;
private var PAR:MovieClip;
public var level_reloader:SplashScreen;
public var gamezheroBtn:MovieClip;
private var _timer:Timer;
private var PAR2:MovieClip;
private var CURRENT_QUALITY:String;
public var pauseHeaderText:MovieClip;
public static const MUSIC_GAME_BTH_ALERT:String = "music_game_bth_alert";
public static const EXIT_GAME_BTH_ALERT:String = "exit_game_bth_handler";
public static const GAMEZERO_BTH_ALERT:String = "gamezero_bth_alert";
public static const SOUND_GAME_BTH_ALERT:String = "sound_game_bth_alert";
public static const TIME_OF_INIT_MENU:int = 30;
public static const PLAY_GAME_ALERT:String = "play_game_alert";
public function PauseMenu(_arg1:MovieClip){
_timer = new Timer(PauseMenu.TIME_OF_INIT_MENU, 1);
super();
PAR = _arg1;
PAR.addChild(this);
(pauseHeaderText as MovieClip).gotoAndStop(SelectLanguageModel.instance.language);
this.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
gamezheroBtn.buttonMode = true;
gamezheroBtn.useHandCursor = true;
playGameBtn.buttonMode = true;
playGameBtn.useHandCursor = true;
exitGameBtn.buttonMode = true;
exitGameBtn.useHandCursor = true;
soundGameBtn.buttonMode = true;
soundGameBtn.useHandCursor = true;
musicGameBtn.buttonMode = true;
musicGameBtn.useHandCursor = true;
CURRENT_QUALITY = stage.quality;
stage.quality = "BEST";
soundGameBtn.gotoAndStop(((Global._game_stored_data.data.soundVolumeFlag == 1)) ? 2 : 1);
musicGameBtn.gotoAndStop(((Global._game_stored_data.data.musicVolumeFlag == 1)) ? 2 : 1);
Global.music_game.setMusicVolume(0);
}
private function activateAllButtons():void{
var debugInfo:String;
var language:String;
var languageDictionary:Dictionary;
debugInfo = "";
try {
debugInfo = (debugInfo + "\n1");
language = SelectLanguageModel.instance.language;
debugInfo = (debugInfo + "\n2");
gamezheroBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
gamezheroBtn.addEventListener(MouseEvent.ROLL_OUT, mouseOutHandler);
debugInfo = (debugInfo + "\n3");
playGameBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
playGameBtn.addEventListener(MouseEvent.ROLL_OUT, mouseOutHandler);
debugInfo = (debugInfo + "\n4");
exitGameBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
exitGameBtn.addEventListener(MouseEvent.ROLL_OUT, mouseOutHandler);
debugInfo = (debugInfo + "\n5");
soundGameBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
soundGameBtn.addEventListener(MouseEvent.ROLL_OUT, mouseOutHandler);
debugInfo = (debugInfo + "\n6");
musicGameBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
musicGameBtn.addEventListener(MouseEvent.ROLL_OUT, mouseOutHandler);
debugInfo = (debugInfo + "\n7");
gamezheroBtn.addEventListener(MouseEvent.MOUSE_DOWN, gamezheroAction);
gamezheroBtn.addEventListener(MouseEvent.ROLL_OUT, mouseOutHandler);
debugInfo = (debugInfo + "\n8");
languageDictionary = Global.SETUP_MESSAGE_DICTIONARY[language];
debugInfo = (debugInfo + ("\n9 1" + language));
debugInfo = (debugInfo + ("\n9 2" + languageDictionary));
debugInfo = (debugInfo + ("\n9 3" + PauseMenu.GAMEZERO_BTH_ALERT));
debugInfo = (debugInfo + ("\n9 4" + languageDictionary[PauseMenu.GAMEZERO_BTH_ALERT]));
gamezheroBtn.alert = languageDictionary[PauseMenu.GAMEZERO_BTH_ALERT];
debugInfo = (debugInfo + "\n10");
playGameBtn.addEventListener(MouseEvent.MOUSE_DOWN, playGameAction);
debugInfo = (debugInfo + "\n11");
playGameBtn.alert = languageDictionary[PauseMenu.PLAY_GAME_ALERT];
debugInfo = (debugInfo + "\n12");
exitGameBtn.addEventListener(MouseEvent.MOUSE_DOWN, exitGameAction);
debugInfo = (debugInfo + "\n13");
exitGameBtn.alert = languageDictionary[PauseMenu.EXIT_GAME_BTH_ALERT];
debugInfo = (debugInfo + "\n14");
soundGameBtn.addEventListener(MouseEvent.MOUSE_DOWN, soundGameAction);
debugInfo = (debugInfo + "\n15");
soundGameBtn.alert = languageDictionary[PauseMenu.SOUND_GAME_BTH_ALERT];
debugInfo = (debugInfo + "\n16");
musicGameBtn.addEventListener(MouseEvent.MOUSE_DOWN, musicGameAction);
debugInfo = (debugInfo + "\n17");
musicGameBtn.alert = languageDictionary[PauseMenu.MUSIC_GAME_BTH_ALERT];
debugInfo = (debugInfo + "\n18");
} catch(e:Error) {
};
}
public function enterFrameHandler(_arg1:Event):void{
this.removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
activateAllButtons();
}
private function playGameAction(_arg1:MouseEvent):void{
MouseSounds.mouseClickHandler(null);
diactivateAllButtons();
stage.quality = CURRENT_QUALITY;
iniSoundAndMusic();
(PAR as Main).unpauseGame();
action();
}
private function diactivateAllButtons():void{
gamezheroBtn.removeEventListener(MouseEvent.CLICK, gamezheroAction);
playGameBtn.removeEventListener(MouseEvent.CLICK, playGameAction);
exitGameBtn.removeEventListener(MouseEvent.CLICK, exitGameAction);
soundGameBtn.addEventListener(MouseEvent.CLICK, soundGameAction);
musicGameBtn.addEventListener(MouseEvent.CLICK, musicGameAction);
}
private function soundGameAction(_arg1:MouseEvent=null){
MouseSounds.mouseClickHandler(null);
Global._game_stored_data.data.soundVolumeFlag = ((Global._game_stored_data.data.soundVolumeFlag == 1)) ? 0 : 1;
soundGameBtn.gotoAndStop(((Global._game_stored_data.data.soundVolumeFlag == 1)) ? 2 : 1);
}
public function action():void{
PAR.removeChild(this);
}
private function iniSoundAndMusic():void{
if (Global._game_stored_data.data.soundVolumeFlag == 1){
Global.sound_game.setSoundVolume(Global._sound_volume_game);
} else {
Global.sound_game.setSoundVolume(0);
};
if (Global._game_stored_data.data.musicVolumeFlag == 1){
Global.music_game.setMusicVolume(Global._music_volume_game);
} else {
Global.music_game.setMusicVolume(0);
};
}
private function getURL(_arg1:String):void{
var _local2:URLRequest;
_local2 = new URLRequest(_arg1);
navigateToURL(_local2, "_blank");
}
private function mouseOverFunc(_arg1:MouseEvent):void{
var debugInfo:String;
var g:MovieClip;
var evt = _arg1;
debugInfo = "\n1";
try {
debugInfo = (debugInfo + "\n2");
Global.sound_interface.playSound(null, "MouseOverClick", 0, 0);
debugInfo = (debugInfo + "\n3");
g = this[evt.target.name];
debugInfo = (debugInfo + "\n4");
g.blick2.play();
debugInfo = (debugInfo + ("\n5 (this.txt as TextField).text" + (this.txt as TextField)));
(this.txt as TextField).text = g.alert;
debugInfo = (debugInfo + "\n6");
} catch(e:Error) {
};
}
private function exitGameAction(_arg1:MouseEvent):void{
var vorota:Vorota;
var evt = _arg1;
try {
MouseSounds.mouseClickHandler(null);
diactivateAllButtons();
stage.quality = CURRENT_QUALITY;
} catch(e:Error) {
};
Global.scores = (Global.scores + Controller.instance.model.amountOfAditionalScores);
vorota = new Vorota(Global.gameroot, false, Global.gameroot, "game_over");
action();
}
private function gamezheroAction(_arg1:MouseEvent):void{
MouseSounds.mouseClickHandler(null);
Global.sound_interface.playSound(null, "s_click", 0, 0);
getURL(Global._urls["zorro_logo_pause"]);
}
private function mouseOutHandler(_arg1:MouseEvent):void{
txt.text = "";
}
private function musicGameAction(_arg1:MouseEvent=null){
MouseSounds.mouseClickHandler(null);
Global._game_stored_data.data.musicVolumeFlag = ((Global._game_stored_data.data.musicVolumeFlag == 1)) ? 0 : 1;
musicGameBtn.gotoAndStop(((Global._game_stored_data.data.musicVolumeFlag == 1)) ? 2 : 1);
}
}
}//package gameInterface
Section 133
//SubmitArea (gameInterface.SubmitArea)
package gameInterface {
import flash.events.*;
import flash.display.*;
import language_view.*;
import crypto.*;
import utils.*;
import flash.text.*;
import flash.system.*;
public class SubmitArea extends MovieClip {
public var infoText:TextField;
private var score;
public var secret:MD5;
private var scoreLibrary:ClassLoader;
public var versionGame:String;// = "1.0"
public function SubmitArea():void{
versionGame = "1.0";
super();
Security.allowDomain("gamezhero.com", "files.gamezhero.com", "eufiles.gamezhero.com", "*.gamezhero.com");
secret = new MD5();
scoreLibrary = new ClassLoader();
scoreLibrary.addEventListener(ClassLoader.LOAD_ERROR, loadErrorHandler);
scoreLibrary.addEventListener(ClassLoader.CLASS_LOADED, classLoadedHandler);
scoreLibrary.load(Global._urls["score"]);
infoText.text = "loading score...";
}
private function loadErrorHandler(_arg1:Event):void{
infoText.text = "error loading";
}
private function diactivateAllEvents():void{
scoreLibrary.removeEventListener(ClassLoader.LOAD_ERROR, loadErrorHandler);
scoreLibrary.removeEventListener(ClassLoader.CLASS_LOADED, classLoadedHandler);
}
public function continueAction(_arg1:String):void{
Global._game_stored_data.data.playerName = _arg1;
MovieClip(parent).mainMenuAction();
}
private function classLoadedHandler(_arg1:Event):void{
var _local2:Class;
_local2 = scoreLibrary.getClass("Score");
if (Global._game_stored_data.data.playerName == undefined){
Global._game_stored_data.data.playerName = "";
};
score = new _local2(this, Global._game_stored_data.data.playerName, Global.getSckore(), SelectLanguageModel.instance.language);
this.addChild(score);
}
}
}//package gameInterface
Section 134
//GamePreloader (gamezhero.GamePreloader)
package gamezhero {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import flash.ui.*;
public class GamePreloader extends MovieClip {
public var bg:MovieClip;
private var completeFlag:Boolean;// = false
private var GOTO:uint;
public var intro:MovieClip;
private var PAR:MovieClip;
private var GAME_NAME:String;
public function GamePreloader(_arg1:MovieClip, _arg2:uint, _arg3:String="gamezhero"):void{
var _local4:ContextMenu;
var _local5:ContextMenuBuiltInItems;
var _local6:ContextMenuItem;
var _local7:ContextMenuItem;
var _local8:ContextMenuItem;
completeFlag = false;
super();
PAR = _arg1;
GOTO = _arg2;
GAME_NAME = _arg3;
PAR.addChild(this);
stage.addEventListener(Event.RESIZE, resizeStage);
this.addEventListener(Event.ENTER_FRAME, iniPreloader);
resizeStage(null);
_local4 = new ContextMenu();
_local4.hideBuiltInItems();
_local5 = _local4.builtInItems;
_local5.quality = true;
_local6 = new ContextMenuItem("Free Online Games @ Gamezhero.com");
_local6.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, gotoGamezhero2);
_local4.customItems.push(_local6);
_local7 = new ContextMenuItem("Send To Friends This Game");
_local7.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, sendToFriends);
_local4.customItems.push(_local7);
_local8 = new ContextMenuItem("Put This Game On Your Site Or Blog");
_local8.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, putThisGame);
_local4.customItems.push(_local8);
PAR.loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
PAR.loaderInfo.addEventListener(Event.COMPLETE, comp);
this.parent.contextMenu = _local4;
this.addEventListener(MouseEvent.MOUSE_DOWN, gotoGamezhero);
this.useHandCursor = true;
this.buttonMode = true;
}
public function sendToFriends(_arg1:ContextMenuEvent=null):void{
var _local2:URLRequest;
_local2 = new URLRequest(Global._urls["send_to_friends_context"]);
navigateToURL(_local2, "_blank");
}
public function comp(_arg1:Event=null):void{
completeFlag = true;
}
public function action(_arg1:Event=null):void{
this.removeEventListener(Event.ENTER_FRAME, iniPreloader);
stage.removeEventListener(Event.RESIZE, resizeStage);
PAR.loaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
PAR.loaderInfo.removeEventListener(Event.COMPLETE, comp);
PAR.nextStep();
PAR.removeChild(this);
}
public function ioErrorHandler(_arg1:Event):void{
}
public function gotoGamezhero2(_arg1:ContextMenuEvent=null):void{
var _local2:URLRequest;
_local2 = new URLRequest(Global._urls["play_more_games_context"]);
navigateToURL(_local2, "_blank");
}
public function gotoGamezhero(_arg1:MouseEvent=null):void{
var _local2:URLRequest;
_local2 = new URLRequest(Global._urls["preloader"]);
navigateToURL(_local2, "_blank");
}
public function resizeStage(_arg1:Event):void{
this["bg"].width = Math.round(stage.stageWidth);
this["bg"].height = Math.round(stage.stageHeight);
this["intro"].x = Math.round((stage.stageWidth / 2));
this["intro"].y = Math.round((stage.stageHeight / 2));
}
public function putThisGame(_arg1:ContextMenuEvent=null):void{
var _local2:URLRequest;
_local2 = new URLRequest(Global._urls["put_this_game_context"]);
navigateToURL(_local2, "_blank");
}
public function iniPreloader(_arg1:Event):void{
var need:Number;
var event = _arg1;
try {
need = (-128 + (132 * (PAR.loaderInfo.bytesLoaded / PAR.loaderInfo.bytesTotal)));
this["intro"]["pr"]["begun"].x = (this["intro"]["pr"]["begun"].x - ((this["intro"]["pr"]["begun"].x - need) / 5));
if (PAR.loaderInfo.bytesLoaded != PAR.loaderInfo.bytesTotal){
if (this["intro"].currentLabel == "stopFrame"){
this["intro"].stop();
};
} else {
if (this["intro"].currentLabel == "stopFrame"){
this["intro"].play();
};
if (this["intro"].currentFrame == this["intro"].totalFrames){
this["intro"].stop();
action();
};
};
} catch(err:Error) {
};
}
}
}//package gamezhero
Section 135
//InstructionsForm (instructions_form.InstructionsForm)
package instructions_form {
import flash.events.*;
import flash.display.*;
import language_view.*;
import load_vars.*;
import flash.text.*;
public class InstructionsForm extends MovieClip {
public var backGameButton:SimpleButton;
public var inputTextField:TextField;
public var fireTextMovieClip:MovieClip;
public var viewTopScoreText:MovieClip;
public var showCorrectMovieClip:MovieClip;
public var instructionsHeader:MovieClip;
public var spaceTextMovieClip:MovieClip;
public var backText:MovieClip;
public var enterYourNameText:MovieClip;
public var startGameButton:SimpleButton;
public function InstructionsForm(){
var _local1:Vorota;
var _local2:String;
super();
_local1 = new Vorota(this, true);
_local2 = SelectLanguageModel.instance.language;
(this.startGameButton as SimpleButton).addEventListener(MouseEvent.CLICK, this.goToGameBthHandler);
(this.startGameButton as SimpleButton).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.startGameButton as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.instructionsHeader as MovieClip).gotoAndStop(_local2);
(enterYourNameText as MovieClip).gotoAndStop(SelectLanguageModel.instance.language);
(this.viewTopScoreText as MovieClip).gotoAndStop(SelectLanguageModel.instance.language);
(this.backText as MovieClip).gotoAndStop(SelectLanguageModel.instance.language);
(this.viewTopScoreText as MovieClip).mouseEnabled = false;
(this.backText as MovieClip).mouseEnabled = false;
(this.fireTextMovieClip as MovieClip).gotoAndStop(SelectLanguageModel.instance.language);
(this.spaceTextMovieClip as MovieClip).gotoAndStop(SelectLanguageModel.instance.language);
(backGameButton as SimpleButton).addEventListener(MouseEvent.CLICK, goBackBtnHandler);
(this.backGameButton as SimpleButton).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.backGameButton as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.inputTextField as TextField).addEventListener(MouseEvent.CLICK, nameTextInputHandler);
(this.inputTextField as TextField).text = LoadVar.instance.lastPlayerName;
stage.addEventListener(KeyboardEvent.KEY_DOWN, this.keyDownHandler);
stage.focus = this;
}
public function goToGameBthHandler(_arg1:MouseEvent):void{
procesGoToGame();
}
public function removeListeners():void{
(this.startGameButton as SimpleButton).removeEventListener(MouseEvent.CLICK, this.goToGameBthHandler);
(this.startGameButton as SimpleButton).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.startGameButton as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.backGameButton as SimpleButton).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.backGameButton as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, this.keyDownHandler);
}
public function keyDownHandler(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == 13){
procesGoToGame();
};
}
private function nameTextInputHandler(_arg1:MouseEvent):void{
(this.showCorrectMovieClip as MovieClip).gotoAndStop("correct");
}
public function goBackBtnHandler(_arg1:MouseEvent):void{
var _local2:Vorota;
removeListeners();
_local2 = new Vorota(_arg1.target.parent.parent, false, _arg1.target.parent.parent, 1);
}
public function procesGoToGame():void{
var _local1:Date;
var _local2:Vorota;
if (((!(((this.inputTextField as TextField).text == ""))) && (!(((this.inputTextField as TextField).text == "Enter you name"))))){
_local1 = new Date();
LoadVar.instance.setNameLevel((this.inputTextField as TextField).text, _local1.fullYear, (_local1.getMonth() + 1), _local1.date, _local1.getHours(), _local1.getMinutes(), _local1.getSeconds(), 0, 0);
Global.userName = (this.inputTextField as TextField).text;
removeListeners();
_local2 = new Vorota(Global.gameroot, false, Global.gameroot, 6);
} else {
(this.showCorrectMovieClip as MovieClip).gotoAndStop("incorrect");
};
}
}
}//package instructions_form
Section 136
//blick_30 (Labyrinth__fla.blick_30)
package Labyrinth__fla {
import flash.display.*;
public dynamic class blick_30 extends MovieClip {
public function blick_30(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Labyrinth__fla
Section 137
//blick_367 (Labyrinth__fla.blick_367)
package Labyrinth__fla {
import flash.display.*;
public dynamic class blick_367 extends MovieClip {
public function blick_367(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Labyrinth__fla
Section 138
//blick2_23 (Labyrinth__fla.blick2_23)
package Labyrinth__fla {
import flash.display.*;
public dynamic class blick2_23 extends MovieClip {
public function blick2_23(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package Labyrinth__fla
Section 139
//blick3_20 (Labyrinth__fla.blick3_20)
package Labyrinth__fla {
import flash.display.*;
public dynamic class blick3_20 extends MovieClip {
public function blick3_20(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package Labyrinth__fla
Section 140
//boss0003_402 (Labyrinth__fla.boss0003_402)
package Labyrinth__fla {
import flash.display.*;
public dynamic class boss0003_402 extends MovieClip {
public function boss0003_402(){
addFrameScript(11, frame12, 14, frame15, 16, frame17);
}
function frame12(){
gotoAndPlay(2);
gotoAndPlay("move");
}
function frame15(){
gotoAndPlay("move");
}
function frame17(){
gotoAndPlay("move");
}
}
}//package Labyrinth__fla
Section 141
//boss0011_393 (Labyrinth__fla.boss0011_393)
package Labyrinth__fla {
import flash.display.*;
public dynamic class boss0011_393 extends MovieClip {
public function boss0011_393(){
addFrameScript(11, frame12, 14, frame15, 16, frame17);
}
function frame12(){
gotoAndPlay(2);
gotoAndPlay("move");
}
function frame15(){
gotoAndPlay("move");
}
function frame17(){
gotoAndPlay("move");
}
}
}//package Labyrinth__fla
Section 142
//boss0017_412 (Labyrinth__fla.boss0017_412)
package Labyrinth__fla {
import flash.display.*;
public dynamic class boss0017_412 extends MovieClip {
public function boss0017_412(){
addFrameScript(11, frame12, 14, frame15, 16, frame17);
}
function frame12(){
gotoAndPlay(2);
gotoAndPlay("move");
}
function frame15(){
gotoAndPlay("move");
}
function frame17(){
gotoAndPlay("move");
}
}
}//package Labyrinth__fla
Section 143
//boss0022_420 (Labyrinth__fla.boss0022_420)
package Labyrinth__fla {
import flash.display.*;
public dynamic class boss0022_420 extends MovieClip {
public function boss0022_420(){
addFrameScript(11, frame12, 14, frame15, 16, frame17);
}
function frame12(){
gotoAndPlay(2);
gotoAndPlay("move");
}
function frame15(){
gotoAndPlay("move");
}
function frame17(){
gotoAndPlay("move");
}
}
}//package Labyrinth__fla
Section 144
//boss0027_424 (Labyrinth__fla.boss0027_424)
package Labyrinth__fla {
import flash.display.*;
public dynamic class boss0027_424 extends MovieClip {
public function boss0027_424(){
addFrameScript(11, frame12, 14, frame15, 16, frame17);
}
function frame12(){
gotoAndPlay(2);
gotoAndPlay("move");
}
function frame15(){
gotoAndPlay("move");
}
function frame17(){
gotoAndPlay("move");
}
}
}//package Labyrinth__fla
Section 145
//boss0030_406 (Labyrinth__fla.boss0030_406)
package Labyrinth__fla {
import flash.display.*;
public dynamic class boss0030_406 extends MovieClip {
public function boss0030_406(){
addFrameScript(11, frame12, 14, frame15, 16, frame17);
}
function frame12(){
gotoAndPlay(2);
gotoAndPlay("move");
}
function frame15(){
gotoAndPlay("move");
}
function frame17(){
gotoAndPlay("move");
}
}
}//package Labyrinth__fla
Section 146
//boss0031_430 (Labyrinth__fla.boss0031_430)
package Labyrinth__fla {
import flash.display.*;
public dynamic class boss0031_430 extends MovieClip {
public function boss0031_430(){
addFrameScript(4, frame5);
}
function frame5(){
stop();
}
}
}//package Labyrinth__fla
Section 147
//boss0035_429 (Labyrinth__fla.boss0035_429)
package Labyrinth__fla {
import flash.display.*;
public dynamic class boss0035_429 extends MovieClip {
public function boss0035_429(){
addFrameScript(11, frame12, 14, frame15, 16, frame17);
}
function frame12(){
gotoAndPlay("move");
}
function frame15(){
gotoAndPlay("move");
}
function frame17(){
gotoAndPlay("move");
}
}
}//package Labyrinth__fla
Section 148
//capitan00032_133 (Labyrinth__fla.capitan00032_133)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00032_133 extends MovieClip {
public function capitan00032_133(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Labyrinth__fla
Section 149
//capitan00033_128 (Labyrinth__fla.capitan00033_128)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00033_128 extends MovieClip {
public function capitan00033_128(){
addFrameScript(56, frame57);
}
function frame57(){
gotoAndPlay(1);
}
}
}//package Labyrinth__fla
Section 150
//capitan00038_131 (Labyrinth__fla.capitan00038_131)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00038_131 extends MovieClip {
public function capitan00038_131(){
addFrameScript(65, frame66);
}
function frame66(){
gotoAndPlay(1);
}
}
}//package Labyrinth__fla
Section 151
//capitan00049_118 (Labyrinth__fla.capitan00049_118)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00049_118 extends MovieClip {
public var gun:MovieClip;
public function capitan00049_118(){
addFrameScript(38, frame39, 63, frame64, 69, frame70, 70, frame71, 76, frame77, 86, frame87, 87, frame88, 95, frame96, 140, frame141);
}
function frame70(){
gotoAndPlay("stop");
}
function frame64(){
gotoAndPlay("next move");
}
function frame71(){
gotoAndPlay("stop");
}
function frame77(){
gotoAndPlay("stop");
}
function frame87(){
gotoAndPlay("stop");
}
function frame88(){
}
function frame96(){
gotoAndPlay("stop");
}
function frame39(){
gotoAndPlay(1);
}
function frame141(){
gotoAndPlay("stop");
}
}
}//package Labyrinth__fla
Section 152
//capitan00052_122 (Labyrinth__fla.capitan00052_122)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00052_122 extends MovieClip {
public var rocket:MovieClip;
}
}//package Labyrinth__fla
Section 153
//capitan00055_112 (Labyrinth__fla.capitan00055_112)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00055_112 extends MovieClip {
public var body:MovieClip;
public function capitan00055_112(){
addFrameScript(5, frame6, 27, frame28, 28, frame29);
}
function frame6(){
gotoAndPlay(1);
}
function frame29(){
gotoAndPlay("move");
}
function frame28(){
gotoAndPlay("first_step");
}
}
}//package Labyrinth__fla
Section 154
//capitan00077_201 (Labyrinth__fla.capitan00077_201)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00077_201 extends MovieClip {
public function capitan00077_201(){
addFrameScript(56, frame57);
}
function frame57(){
gotoAndPlay(1);
}
}
}//package Labyrinth__fla
Section 155
//capitan00080_204 (Labyrinth__fla.capitan00080_204)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00080_204 extends MovieClip {
public function capitan00080_204(){
addFrameScript(65, frame66);
}
function frame66(){
gotoAndPlay(1);
}
}
}//package Labyrinth__fla
Section 156
//capitan00081_207 (Labyrinth__fla.capitan00081_207)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00081_207 extends MovieClip {
public function capitan00081_207(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Labyrinth__fla
Section 157
//capitan00082_196 (Labyrinth__fla.capitan00082_196)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00082_196 extends MovieClip {
public var rocket:MovieClip;
}
}//package Labyrinth__fla
Section 158
//capitan00083_188 (Labyrinth__fla.capitan00083_188)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00083_188 extends MovieClip {
public var gun:MovieClip;
public function capitan00083_188(){
addFrameScript(39, frame40, 64, frame65, 71, frame72, 77, frame78, 90, frame91, 99, frame100, 153, frame154);
}
function frame65(){
gotoAndPlay("next move");
}
function frame72(){
gotoAndStop("next move");
}
function frame78(){
gotoAndPlay("stop");
}
function frame154(){
gotoAndPlay("stop");
}
function frame91(){
gotoAndPlay("stop");
}
function frame100(){
gotoAndPlay("stop");
}
function frame40(){
gotoAndPlay(1);
}
}
}//package Labyrinth__fla
Section 159
//capitan00084_182 (Labyrinth__fla.capitan00084_182)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00084_182 extends MovieClip {
public var body:MovieClip;
public function capitan00084_182(){
addFrameScript(4, frame5, 27, frame28);
}
function frame5(){
gotoAndPlay(1);
}
function frame28(){
gotoAndPlay("first_step");
}
}
}//package Labyrinth__fla
Section 160
//capitan00102_159 (Labyrinth__fla.capitan00102_159)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00102_159 extends MovieClip {
public function capitan00102_159(){
addFrameScript(56, frame57);
}
function frame57(){
gotoAndPlay(1);
}
}
}//package Labyrinth__fla
Section 161
//capitan00105_162 (Labyrinth__fla.capitan00105_162)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00105_162 extends MovieClip {
public function capitan00105_162(){
addFrameScript(65, frame66);
}
function frame66(){
gotoAndPlay(1);
}
}
}//package Labyrinth__fla
Section 162
//capitan00112_165 (Labyrinth__fla.capitan00112_165)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00112_165 extends MovieClip {
public function capitan00112_165(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Labyrinth__fla
Section 163
//capitan00113_154 (Labyrinth__fla.capitan00113_154)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00113_154 extends MovieClip {
public var rocket:MovieClip;
}
}//package Labyrinth__fla
Section 164
//capitan00114_151 (Labyrinth__fla.capitan00114_151)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00114_151 extends MovieClip {
public var gun:MovieClip;
public function capitan00114_151(){
addFrameScript(39, frame40, 64, frame65, 71, frame72, 76, frame77, 90, frame91, 101, frame102, 155, frame156);
}
function frame65(){
gotoAndPlay("next move");
}
function frame156(){
gotoAndPlay("stop");
}
function frame72(){
gotoAndPlay("stop");
}
function frame77(){
gotoAndPlay("stop");
}
function frame91(){
gotoAndPlay("stop");
}
function frame102(){
gotoAndPlay("stop");
}
function frame40(){
gotoAndPlay(1);
}
}
}//package Labyrinth__fla
Section 165
//capitan00115_145 (Labyrinth__fla.capitan00115_145)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00115_145 extends MovieClip {
public var body:MovieClip;
public function capitan00115_145(){
addFrameScript(4, frame5, 27, frame28);
}
function frame5(){
gotoAndPlay(1);
}
function frame28(){
gotoAndPlay("first_step");
}
}
}//package Labyrinth__fla
Section 166
//capitan00130_99 (Labyrinth__fla.capitan00130_99)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00130_99 extends MovieClip {
public function capitan00130_99(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Labyrinth__fla
Section 167
//capitan00131_93 (Labyrinth__fla.capitan00131_93)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00131_93 extends MovieClip {
public var rocket:MovieClip;
}
}//package Labyrinth__fla
Section 168
//capitan00135_90 (Labyrinth__fla.capitan00135_90)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00135_90 extends MovieClip {
public var gun:MovieClip;
public function capitan00135_90(){
addFrameScript(38, frame39, 63, frame64, 70, frame71, 77, frame78, 89, frame90, 98, frame99, 144, frame145);
}
function frame64(){
gotoAndPlay("next move");
}
function frame71(){
gotoAndPlay("stop");
}
function frame78(){
gotoAndPlay("stop");
}
function frame90(){
gotoAndPlay("stop");
}
function frame39(){
gotoAndPlay(1);
}
function frame99(){
gotoAndPlay("stop");
}
function frame145(){
gotoAndPlay("stop");
}
}
}//package Labyrinth__fla
Section 169
//capitan00136_84 (Labyrinth__fla.capitan00136_84)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00136_84 extends MovieClip {
public var body:MovieClip;
public function capitan00136_84(){
addFrameScript(5, frame6, 28, frame29);
}
function frame6(){
gotoAndPlay(1);
}
function frame29(){
gotoAndPlay("first_step");
}
}
}//package Labyrinth__fla
Section 170
//capitan00152_326 (Labyrinth__fla.capitan00152_326)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00152_326 extends MovieClip {
public function capitan00152_326(){
addFrameScript(56, frame57);
}
function frame57(){
gotoAndPlay(1);
}
}
}//package Labyrinth__fla
Section 171
//capitan00155_329 (Labyrinth__fla.capitan00155_329)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00155_329 extends MovieClip {
public function capitan00155_329(){
addFrameScript(65, frame66);
}
function frame66(){
gotoAndPlay(1);
}
}
}//package Labyrinth__fla
Section 172
//capitan00162_332 (Labyrinth__fla.capitan00162_332)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00162_332 extends MovieClip {
public function capitan00162_332(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Labyrinth__fla
Section 173
//capitan00165_321 (Labyrinth__fla.capitan00165_321)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00165_321 extends MovieClip {
public var rocket:MovieClip;
}
}//package Labyrinth__fla
Section 174
//capitan00166_313 (Labyrinth__fla.capitan00166_313)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00166_313 extends MovieClip {
public var gun:MovieClip;
public function capitan00166_313(){
addFrameScript(39, frame40, 64, frame65, 71, frame72, 76, frame77, 79, frame80, 99, frame100, 112, frame113);
}
function frame65(){
gotoAndPlay("next move");
}
function frame72(){
gotoAndPlay("stop");
}
function frame77(){
gotoAndPlay("stop");
}
function frame80(){
gotoAndPlay("stop");
}
function frame100(){
gotoAndPlay("stop");
}
function frame113(){
gotoAndPlay("stop");
}
function frame40(){
gotoAndPlay(1);
}
}
}//package Labyrinth__fla
Section 175
//capitan00167_307 (Labyrinth__fla.capitan00167_307)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00167_307 extends MovieClip {
public var body:MovieClip;
public function capitan00167_307(){
addFrameScript(0, frame1, 4, frame5, 27, frame28);
}
function frame1(){
stop();
}
function frame5(){
gotoAndPlay(1);
}
function frame28(){
gotoAndPlay("first_step");
}
}
}//package Labyrinth__fla
Section 176
//capitan00179_285 (Labyrinth__fla.capitan00179_285)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00179_285 extends MovieClip {
public function capitan00179_285(){
addFrameScript(56, frame57);
}
function frame57(){
gotoAndPlay(1);
}
}
}//package Labyrinth__fla
Section 177
//capitan00182_288 (Labyrinth__fla.capitan00182_288)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00182_288 extends MovieClip {
public function capitan00182_288(){
addFrameScript(65, frame66);
}
function frame66(){
gotoAndPlay(1);
}
}
}//package Labyrinth__fla
Section 178
//capitan00189_291 (Labyrinth__fla.capitan00189_291)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00189_291 extends MovieClip {
public function capitan00189_291(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Labyrinth__fla
Section 179
//capitan00190_280 (Labyrinth__fla.capitan00190_280)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00190_280 extends MovieClip {
public var rocket:MovieClip;
}
}//package Labyrinth__fla
Section 180
//capitan00197_277 (Labyrinth__fla.capitan00197_277)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00197_277 extends MovieClip {
public var gun:MovieClip;
public function capitan00197_277(){
addFrameScript(39, frame40, 64, frame65, 71, frame72, 76, frame77, 90, frame91, 100, frame101, 154, frame155);
}
function frame65(){
gotoAndPlay("next move");
}
function frame72(){
gotoAndPlay("stop");
}
function frame155(){
gotoAndPlay("stop");
}
function frame77(){
gotoAndPlay("stop");
}
function frame91(){
gotoAndPlay("stop");
}
function frame40(){
gotoAndPlay(1);
}
function frame101(){
gotoAndPlay("stop");
}
}
}//package Labyrinth__fla
Section 181
//capitan00198_271 (Labyrinth__fla.capitan00198_271)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00198_271 extends MovieClip {
public var body:MovieClip;
public function capitan00198_271(){
addFrameScript(4, frame5, 27, frame28);
}
function frame5(){
gotoAndPlay(1);
}
function frame28(){
gotoAndPlay("first_step");
}
}
}//package Labyrinth__fla
Section 182
//capitan00208_261 (Labyrinth__fla.capitan00208_261)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00208_261 extends MovieClip {
public function capitan00208_261(){
addFrameScript(56, frame57);
}
function frame57(){
gotoAndPlay(1);
}
}
}//package Labyrinth__fla
Section 183
//capitan00214_263 (Labyrinth__fla.capitan00214_263)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00214_263 extends MovieClip {
public function capitan00214_263(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Labyrinth__fla
Section 184
//capitan00217_256 (Labyrinth__fla.capitan00217_256)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00217_256 extends MovieClip {
public var rocket:MovieClip;
}
}//package Labyrinth__fla
Section 185
//capitan00223_251 (Labyrinth__fla.capitan00223_251)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00223_251 extends MovieClip {
public var gun:MovieClip;
public function capitan00223_251(){
addFrameScript(39, frame40, 64, frame65, 71, frame72, 77, frame78, 90, frame91, 103, frame104, 133, frame134);
}
function frame65(){
gotoAndPlay("next move");
}
function frame72(){
gotoAndPlay("stop");
}
function frame78(){
gotoAndPlay("stop");
}
function frame91(){
gotoAndPlay("stop");
}
function frame104(){
gotoAndPlay("stop");
}
function frame40(){
gotoAndPlay("stop");
}
function frame134(){
gotoAndPlay("stop");
}
}
}//package Labyrinth__fla
Section 186
//capitan00224_245 (Labyrinth__fla.capitan00224_245)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00224_245 extends MovieClip {
public var body:MovieClip;
public function capitan00224_245(){
addFrameScript(4, frame5, 27, frame28);
}
function frame5(){
gotoAndPlay(1);
}
function frame28(){
gotoAndPlay("first_step");
}
}
}//package Labyrinth__fla
Section 187
//capitan00237_226 (Labyrinth__fla.capitan00237_226)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00237_226 extends MovieClip {
public function capitan00237_226(){
addFrameScript(56, frame57);
}
function frame57(){
gotoAndPlay(1);
}
}
}//package Labyrinth__fla
Section 188
//capitan00244_229 (Labyrinth__fla.capitan00244_229)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00244_229 extends MovieClip {
public function capitan00244_229(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Labyrinth__fla
Section 189
//capitan00247_221 (Labyrinth__fla.capitan00247_221)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00247_221 extends MovieClip {
public var rocket:MovieClip;
public function capitan00247_221(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame2(){
stop();
}
}
}//package Labyrinth__fla
Section 190
//capitan00252_219 (Labyrinth__fla.capitan00252_219)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00252_219 extends MovieClip {
public var gun:MovieClip;
public function capitan00252_219(){
addFrameScript(39, frame40, 64, frame65, 71, frame72, 77, frame78, 90, frame91, 99, frame100, 129, frame130);
}
function frame65(){
gotoAndPlay("next move");
}
function frame72(){
gotoAndPlay("stop");
}
function frame78(){
gotoAndPlay("stop");
}
function frame91(){
gotoAndPlay("stop");
}
function frame100(){
gotoAndPlay("stop");
}
function frame40(){
gotoAndPlay(1);
}
function frame130(){
gotoAndPlay("stop");
}
}
}//package Labyrinth__fla
Section 191
//capitan00253_213 (Labyrinth__fla.capitan00253_213)
package Labyrinth__fla {
import flash.display.*;
public dynamic class capitan00253_213 extends MovieClip {
public var body:MovieClip;
public function capitan00253_213(){
addFrameScript(4, frame5, 27, frame28);
}
function frame5(){
gotoAndPlay(1);
}
function frame28(){
gotoAndPlay("first_step");
}
}
}//package Labyrinth__fla
Section 192
//gamezhero1_26 (Labyrinth__fla.gamezhero1_26)
package Labyrinth__fla {
import flash.display.*;
public dynamic class gamezhero1_26 extends MovieClip {
public var blick2:MovieClip;
public var blick:MovieClip;
}
}//package Labyrinth__fla
Section 193
//gamezhero1_363 (Labyrinth__fla.gamezhero1_363)
package Labyrinth__fla {
import flash.display.*;
public dynamic class gamezhero1_363 extends MovieClip {
public var blick2:MovieClip;
public var blick:MovieClip;
}
}//package Labyrinth__fla
Section 194
//gameZheroPreloader_450 (Labyrinth__fla.gameZheroPreloader_450)
package Labyrinth__fla {
import flash.display.*;
public dynamic class gameZheroPreloader_450 extends MovieClip {
public var pr:MovieClip;
public function gameZheroPreloader_450(){
addFrameScript(145, frame146);
}
function frame146(){
stop();
}
}
}//package Labyrinth__fla
Section 195
//interface0018_70 (Labyrinth__fla.interface0018_70)
package Labyrinth__fla {
import flash.display.*;
public dynamic class interface0018_70 extends MovieClip {
public function interface0018_70(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Labyrinth__fla
Section 196
//interface0020_75 (Labyrinth__fla.interface0020_75)
package Labyrinth__fla {
import flash.display.*;
import flash.text.*;
public dynamic class interface0020_75 extends MovieClip {
public var txt:TextField;
}
}//package Labyrinth__fla
Section 197
//Main_menu0047_352 (Labyrinth__fla.Main_menu0047_352)
package Labyrinth__fla {
import flash.display.*;
public dynamic class Main_menu0047_352 extends MovieClip {
public function Main_menu0047_352(){
addFrameScript(34, frame35);
}
function frame35(){
gotoAndPlay(1);
}
}
}//package Labyrinth__fla
Section 198
//musicMenu_371 (Labyrinth__fla.musicMenu_371)
package Labyrinth__fla {
import flash.display.*;
public dynamic class musicMenu_371 extends MovieClip {
public var blick2:MovieClip;
public function musicMenu_371(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Labyrinth__fla
Section 199
//pauseMenu1_368 (Labyrinth__fla.pauseMenu1_368)
package Labyrinth__fla {
import flash.display.*;
public dynamic class pauseMenu1_368 extends MovieClip {
public var blick2:MovieClip;
}
}//package Labyrinth__fla
Section 200
//pauseMenu2_369 (Labyrinth__fla.pauseMenu2_369)
package Labyrinth__fla {
import flash.display.*;
public dynamic class pauseMenu2_369 extends MovieClip {
public var blick2:MovieClip;
}
}//package Labyrinth__fla
Section 201
//preloaderLine_451 (Labyrinth__fla.preloaderLine_451)
package Labyrinth__fla {
import flash.display.*;
public dynamic class preloaderLine_451 extends MovieClip {
public var begun:MovieClip;
}
}//package Labyrinth__fla
Section 202
//robozombie00005_381 (Labyrinth__fla.robozombie00005_381)
package Labyrinth__fla {
import flash.display.*;
public dynamic class robozombie00005_381 extends MovieClip {
public function robozombie00005_381(){
addFrameScript(33, frame34, 55, frame56, 56, frame57, 63, frame64, 70, frame71);
}
function frame64(){
stop();
}
function frame71(){
stop();
}
function frame34(){
gotoAndPlay("move");
}
function frame56(){
stop();
}
function frame57(){
}
}
}//package Labyrinth__fla
Section 203
//robozombie00010_380 (Labyrinth__fla.robozombie00010_380)
package Labyrinth__fla {
import flash.display.*;
public dynamic class robozombie00010_380 extends MovieClip {
public function robozombie00010_380(){
addFrameScript(32, frame33, 54, frame55, 55, frame56, 62, frame63, 69, frame70);
}
function frame70(){
stop();
}
function frame33(){
gotoAndPlay("move");
}
function frame55(){
stop();
}
function frame56(){
}
function frame63(){
stop();
}
}
}//package Labyrinth__fla
Section 204
//robozombie00121_382 (Labyrinth__fla.robozombie00121_382)
package Labyrinth__fla {
import flash.display.*;
public dynamic class robozombie00121_382 extends MovieClip {
public function robozombie00121_382(){
addFrameScript(32, frame33, 54, frame55, 62, frame63, 69, frame70);
}
function frame70(){
stop();
}
function frame33(){
gotoAndPlay("move");
}
function frame55(){
stop();
}
function frame63(){
stop();
}
}
}//package Labyrinth__fla
Section 205
//robozombie00196_383 (Labyrinth__fla.robozombie00196_383)
package Labyrinth__fla {
import flash.display.*;
public dynamic class robozombie00196_383 extends MovieClip {
public function robozombie00196_383(){
addFrameScript(32, frame33, 54, frame55, 55, frame56, 62, frame63, 69, frame70);
}
function frame70(){
stop();
}
function frame33(){
gotoAndPlay("move");
}
function frame55(){
stop();
}
function frame56(){
}
function frame63(){
stop();
}
}
}//package Labyrinth__fla
Section 206
//robozombie00271_384 (Labyrinth__fla.robozombie00271_384)
package Labyrinth__fla {
import flash.display.*;
public dynamic class robozombie00271_384 extends MovieClip {
public function robozombie00271_384(){
addFrameScript(32, frame33, 54, frame55, 55, frame56, 62, frame63, 69, frame70);
}
function frame70(){
stop();
}
function frame33(){
gotoAndPlay("move");
}
function frame55(){
stop();
}
function frame56(){
}
function frame63(){
stop();
}
}
}//package Labyrinth__fla
Section 207
//ShowCorrectMovieClip_41 (Labyrinth__fla.ShowCorrectMovieClip_41)
package Labyrinth__fla {
import flash.display.*;
public dynamic class ShowCorrectMovieClip_41 extends MovieClip {
public function ShowCorrectMovieClip_41(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package Labyrinth__fla
Section 208
//soundMenu1_370 (Labyrinth__fla.soundMenu1_370)
package Labyrinth__fla {
import flash.display.*;
public dynamic class soundMenu1_370 extends MovieClip {
public var blick2:MovieClip;
public function soundMenu1_370(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Labyrinth__fla
Section 209
//Symbol2_386 (Labyrinth__fla.Symbol2_386)
package Labyrinth__fla {
import flash.display.*;
public dynamic class Symbol2_386 extends MovieClip {
public function Symbol2_386(){
addFrameScript(3, frame4, 5, frame6, 9, frame10);
}
function frame10(){
stop();
}
function frame6(){
gotoAndPlay("damage");
}
function frame4(){
gotoAndPlay("move");
}
}
}//package Labyrinth__fla
Section 210
//Symbol3_375 (Labyrinth__fla.Symbol3_375)
package Labyrinth__fla {
import flash.display.*;
public dynamic class Symbol3_375 extends MovieClip {
public function Symbol3_375(){
addFrameScript(0, frame1, 3, frame4, 6, frame7, 10, frame11, 14, frame15);
}
function frame15(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
gotoAndPlay("move");
}
function frame11(){
gotoAndPlay("damage");
}
}
}//package Labyrinth__fla
Section 211
//Symbol3_387 (Labyrinth__fla.Symbol3_387)
package Labyrinth__fla {
import flash.display.*;
public dynamic class Symbol3_387 extends MovieClip {
public function Symbol3_387(){
addFrameScript(3, frame4, 5, frame6, 9, frame10);
}
function frame10(){
stop();
}
function frame6(){
gotoAndPlay("damage");
}
function frame4(){
gotoAndPlay("move");
}
}
}//package Labyrinth__fla
Section 212
//Symbol4_376 (Labyrinth__fla.Symbol4_376)
package Labyrinth__fla {
import flash.display.*;
public dynamic class Symbol4_376 extends MovieClip {
public function Symbol4_376(){
addFrameScript(0, frame1, 3, frame4, 6, frame7, 10, frame11, 14, frame15);
}
function frame15(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
gotoAndPlay("move");
}
function frame11(){
gotoAndPlay("damage");
}
}
}//package Labyrinth__fla
Section 213
//Symbol4_388 (Labyrinth__fla.Symbol4_388)
package Labyrinth__fla {
import flash.display.*;
public dynamic class Symbol4_388 extends MovieClip {
public function Symbol4_388(){
addFrameScript(3, frame4, 5, frame6, 10, frame11);
}
function frame6(){
gotoAndPlay("damage");
}
function frame4(){
gotoAndPlay("move");
}
function frame11(){
stop();
}
}
}//package Labyrinth__fla
Section 214
//Symbol5_377 (Labyrinth__fla.Symbol5_377)
package Labyrinth__fla {
import flash.display.*;
public dynamic class Symbol5_377 extends MovieClip {
public function Symbol5_377(){
addFrameScript(0, frame1, 3, frame4, 6, frame7, 10, frame11, 14, frame15);
}
function frame15(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
gotoAndPlay("move");
}
function frame11(){
gotoAndPlay("damage");
}
}
}//package Labyrinth__fla
Section 215
//Symbol5_389 (Labyrinth__fla.Symbol5_389)
package Labyrinth__fla {
import flash.display.*;
public dynamic class Symbol5_389 extends MovieClip {
public function Symbol5_389(){
addFrameScript(3, frame4, 5, frame6, 10, frame11);
}
function frame6(){
gotoAndPlay("damage");
}
function frame4(){
gotoAndPlay("move");
}
function frame11(){
stop();
}
}
}//package Labyrinth__fla
Section 216
//Symbol6_378 (Labyrinth__fla.Symbol6_378)
package Labyrinth__fla {
import flash.display.*;
public dynamic class Symbol6_378 extends MovieClip {
public function Symbol6_378(){
addFrameScript(0, frame1, 3, frame4, 6, frame7, 10, frame11, 14, frame15);
}
function frame15(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
gotoAndPlay("move");
}
function frame11(){
gotoAndPlay("damage");
}
}
}//package Labyrinth__fla
Section 217
//Symbol7_374 (Labyrinth__fla.Symbol7_374)
package Labyrinth__fla {
import flash.display.*;
public dynamic class Symbol7_374 extends MovieClip {
public function Symbol7_374(){
addFrameScript(0, frame1, 3, frame4, 6, frame7, 10, frame11, 14, frame15);
}
function frame15(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
gotoAndPlay("move");
}
function frame11(){
gotoAndPlay("damage");
}
}
}//package Labyrinth__fla
Section 218
//Symbol7_390 (Labyrinth__fla.Symbol7_390)
package Labyrinth__fla {
import flash.display.*;
public dynamic class Symbol7_390 extends MovieClip {
public function Symbol7_390(){
addFrameScript(3, frame4, 5, frame6, 9, frame10);
}
function frame10(){
stop();
}
function frame6(){
gotoAndPlay("damage");
}
function frame4(){
gotoAndPlay("move");
}
}
}//package Labyrinth__fla
Section 219
//tutor00001_40 (Labyrinth__fla.tutor00001_40)
package Labyrinth__fla {
import flash.display.*;
public dynamic class tutor00001_40 extends MovieClip {
public function tutor00001_40(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Labyrinth__fla
Section 220
//vlevonanas0041_306 (Labyrinth__fla.vlevonanas0041_306)
package Labyrinth__fla {
import flash.display.*;
public dynamic class vlevonanas0041_306 extends MovieClip {
public function vlevonanas0041_306(){
addFrameScript(7, frame8);
}
function frame8(){
stop();
}
}
}//package Labyrinth__fla
Section 221
//vpavonanas0041_341 (Labyrinth__fla.vpavonanas0041_341)
package Labyrinth__fla {
import flash.display.*;
public dynamic class vpavonanas0041_341 extends MovieClip {
public function vpavonanas0041_341(){
addFrameScript(7, frame8);
}
function frame8(){
stop();
}
}
}//package Labyrinth__fla
Section 222
//z_2_28 (Labyrinth__fla.z_2_28)
package Labyrinth__fla {
import flash.display.*;
public dynamic class z_2_28 extends MovieClip {
public function z_2_28(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Labyrinth__fla
Section 223
//z_2_365 (Labyrinth__fla.z_2_365)
package Labyrinth__fla {
import flash.display.*;
public dynamic class z_2_365 extends MovieClip {
public function z_2_365(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Labyrinth__fla
Section 224
//SelectLanguageForm (language_view.SelectLanguageForm)
package language_view {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.text.*;
public class SelectLanguageForm extends MovieClip {
public var italicBth:SimpleButton;
private var setLanguageDictionary:Dictionary;
public var brazileBth:SimpleButton;
private var _model:SelectLanguageModel;
public var frenchBth:SimpleButton;
public var languageTextField:TextField;
public var mexicoBth:SimpleButton;
public var polandBtn:SimpleButton;
public var australianBtn:SimpleButton;
public var spanishBth:SimpleButton;
public var russianBth:SimpleButton;
public var englishBth:SimpleButton;
public var ukrainianBtn:SimpleButton;
public var portugeseBth:SimpleButton;
public var germanBth:SimpleButton;
public function SelectLanguageForm(){
var _local1:Vorota;
var _local2:String;
_model = SelectLanguageModel.instance;
setLanguageDictionary = new Dictionary();
super();
addFrameScript(0, frame1);
_local1 = new Vorota((parent as MovieClip), true);
_local2 = root.loaderInfo.parameters["language"];
this.addEventListener(Event.ENTER_FRAME, this.enterFrameHandler);
if (_local2 == null){
_model = SelectLanguageModel.instance;
(this.russianBth as SimpleButton).addEventListener(MouseEvent.CLICK, this.russianBthHandler);
(this.russianBth as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, this.mouseOverBtnHandler);
(this.russianBth as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.russianBth as SimpleButton).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
setLanguageDictionary[("" + (this.russianBth as SimpleButton).name)] = "Русский";
(this.frenchBth as SimpleButton).addEventListener(MouseEvent.CLICK, this.frenchBthHandelr);
(this.frenchBth as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, this.mouseOverBtnHandler);
(this.frenchBth as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.frenchBth as SimpleButton).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
setLanguageDictionary[("" + (this.frenchBth as SimpleButton).name)] = "Français";
(this.spanishBth as SimpleButton).addEventListener(MouseEvent.CLICK, this.spanishBthHandelr);
(this.spanishBth as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, this.mouseOverBtnHandler);
(this.spanishBth as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.spanishBth as SimpleButton).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
setLanguageDictionary[("" + (this.spanishBth as SimpleButton).name)] = "Español";
(this.portugeseBth as SimpleButton).addEventListener(MouseEvent.CLICK, this.portugeseBthHandelr);
(this.portugeseBth as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, this.mouseOverBtnHandler);
(this.portugeseBth as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.portugeseBth as SimpleButton).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
setLanguageDictionary[("" + (this.portugeseBth as SimpleButton).name)] = "Portuguesa";
(this.germanBth as SimpleButton).addEventListener(MouseEvent.CLICK, this.germanBthHandelr);
(this.germanBth as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, this.mouseOverBtnHandler);
(this.germanBth as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.germanBth as SimpleButton).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
setLanguageDictionary[("" + (this.germanBth as SimpleButton).name)] = "Deutsche";
(this.englishBth as SimpleButton).addEventListener(MouseEvent.CLICK, this.englishBthHandler);
(this.englishBth as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, this.mouseOverBtnHandler);
(this.englishBth as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.englishBth as SimpleButton).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
setLanguageDictionary[("" + (this.englishBth as SimpleButton).name)] = "English";
(this.mexicoBth as SimpleButton).addEventListener(MouseEvent.CLICK, this.spanishBthHandelr);
(this.mexicoBth as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, this.mouseOverBtnHandler);
(this.mexicoBth as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.mexicoBth as SimpleButton).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
setLanguageDictionary[("" + (this.mexicoBth as SimpleButton).name)] = "Español";
(this.brazileBth as SimpleButton).addEventListener(MouseEvent.CLICK, this.portugeseBthHandelr);
(this.brazileBth as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, this.mouseOverBtnHandler);
(this.brazileBth as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.brazileBth as SimpleButton).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
setLanguageDictionary[("" + (this.brazileBth as SimpleButton).name)] = "Portuguesa";
(this.italicBth as SimpleButton).addEventListener(MouseEvent.CLICK, this.italicBthHandler);
(this.italicBth as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, this.mouseOverBtnHandler);
(this.italicBth as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.italicBth as SimpleButton).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
setLanguageDictionary[("" + (this.italicBth as SimpleButton).name)] = "Italiana";
(this.australianBtn as SimpleButton).addEventListener(MouseEvent.CLICK, this.australianBthHandler);
(this.australianBtn as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, this.mouseOverBtnHandler);
(this.australianBtn as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.australianBtn as SimpleButton).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
setLanguageDictionary[("" + (this.australianBtn as SimpleButton).name)] = "English";
(this.polandBtn as SimpleButton).addEventListener(MouseEvent.CLICK, this.polandBthHandler);
(this.polandBtn as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, this.mouseOverBtnHandler);
(this.polandBtn as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.polandBtn as SimpleButton).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
setLanguageDictionary[("" + (this.polandBtn as SimpleButton).name)] = "Poland";
(this.ukrainianBtn as SimpleButton).addEventListener(MouseEvent.CLICK, this.ukrainanBthHandler);
(this.ukrainianBtn as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, this.mouseOverBtnHandler);
(this.ukrainianBtn as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.ukrainianBtn as SimpleButton).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
setLanguageDictionary[("" + (this.ukrainianBtn as SimpleButton).name)] = "Україньська";
} else {
SelectLanguageModel.instance.language = _local2;
(parent as MovieClip).gotoAndStop("startGame");
};
}
public function russianBthHandler(_arg1:MouseEvent):void{
_model.language = SelectLanguageModel.RUS;
goto();
}
public function polandBthHandler(_arg1:MouseEvent):void{
_model.language = SelectLanguageModel.POL;
goto();
}
private function enterFrameHandler(_arg1:Event):void{
iniSoundAndMusic();
this.removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
private function iniSoundAndMusic():void{
if (Global._game_stored_data.data.soundVolumeFlag == 1){
Global.sound_game.setSoundVolume(Global._sound_volume_game);
} else {
Global.sound_game.setSoundVolume(0);
};
if (Global._game_stored_data.data.musicVolumeFlag == 1){
Global.music_game.setMusicVolume(Global._music_volume_game);
} else {
Global.music_game.setMusicVolume(0);
};
}
public function mouseOverBtnHandler(_arg1:MouseEvent):void{
var e = _arg1;
try {
(this.languageTextField as TextField).text = setLanguageDictionary[(e.target as SimpleButton).name];
} catch(e:Error) {
};
}
public function goto():void{
var _local1:Vorota;
this.removeButtonsListener();
_local1 = new Vorota((parent as MovieClip), false, MovieClip(this.parent), 3);
}
public function italicBthHandler(_arg1:MouseEvent):void{
_model.language = SelectLanguageModel.ITA;
goto();
}
public function removeButtonsListener():void{
(this.russianBth as SimpleButton).removeEventListener(MouseEvent.CLICK, this.russianBthHandler);
(this.russianBth as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, this.mouseOverBtnHandler);
(this.russianBth as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.russianBth as SimpleButton).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.frenchBth as SimpleButton).removeEventListener(MouseEvent.CLICK, this.frenchBthHandelr);
(this.frenchBth as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, this.mouseOverBtnHandler);
(this.frenchBth as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.frenchBth as SimpleButton).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.spanishBth as SimpleButton).removeEventListener(MouseEvent.CLICK, this.spanishBthHandelr);
(this.spanishBth as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, this.mouseOverBtnHandler);
(this.spanishBth as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.spanishBth as SimpleButton).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.portugeseBth as SimpleButton).removeEventListener(MouseEvent.CLICK, this.portugeseBthHandelr);
(this.portugeseBth as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, this.mouseOverBtnHandler);
(this.portugeseBth as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.portugeseBth as SimpleButton).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.germanBth as SimpleButton).removeEventListener(MouseEvent.CLICK, this.germanBthHandelr);
(this.germanBth as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, this.mouseOverBtnHandler);
(this.germanBth as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.germanBth as SimpleButton).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.englishBth as SimpleButton).removeEventListener(MouseEvent.CLICK, this.englishBthHandler);
(this.englishBth as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, this.mouseOverBtnHandler);
(this.englishBth as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.englishBth as SimpleButton).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.mexicoBth as SimpleButton).removeEventListener(MouseEvent.CLICK, this.spanishBthHandelr);
(this.mexicoBth as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, this.mouseOverBtnHandler);
(this.mexicoBth as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.mexicoBth as SimpleButton).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.brazileBth as SimpleButton).removeEventListener(MouseEvent.CLICK, this.portugeseBthHandelr);
(this.brazileBth as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, this.mouseOverBtnHandler);
(this.brazileBth as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.brazileBth as SimpleButton).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.italicBth as SimpleButton).removeEventListener(MouseEvent.CLICK, this.italicBthHandler);
(this.italicBth as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, this.mouseOverBtnHandler);
(this.italicBth as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.italicBth as SimpleButton).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.australianBtn as SimpleButton).removeEventListener(MouseEvent.CLICK, this.australianBthHandler);
(this.australianBtn as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.australianBtn as SimpleButton).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.polandBtn as SimpleButton).removeEventListener(MouseEvent.CLICK, this.polandBthHandler);
(this.polandBtn as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, this.mouseOverBtnHandler);
(this.polandBtn as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.polandBtn as SimpleButton).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.ukrainianBtn as SimpleButton).removeEventListener(MouseEvent.CLICK, this.ukrainanBthHandler);
(this.ukrainianBtn as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, this.mouseOverBtnHandler);
(this.ukrainianBtn as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.ukrainianBtn as SimpleButton).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
}
function frame1(){
}
public function portugeseBthHandelr(_arg1:MouseEvent):void{
_model.language = SelectLanguageModel.PRT;
goto();
}
public function ukrainanBthHandler(_arg1:MouseEvent):void{
_model.language = SelectLanguageModel.UKR;
goto();
}
public function mouseOutBtnHandler(_arg1:MouseEvent):void{
(this.languageTextField as TextField).text = "Select Language";
}
public function australianBthHandler(_arg1:MouseEvent):void{
_model.language = SelectLanguageModel.ENG;
goto();
}
public function englishBthHandler(_arg1:MouseEvent):void{
SelectLanguageModel.instance.language = SelectLanguageModel.ENG;
goto();
}
public function spanishBthHandelr(_arg1:MouseEvent):void{
_model.language = SelectLanguageModel.ESP;
goto();
}
public function germanBthHandelr(_arg1:MouseEvent):void{
_model.language = SelectLanguageModel.DEU;
goto();
}
public function frenchBthHandelr(_arg1:MouseEvent):void{
_model.language = SelectLanguageModel.FRA;
goto();
}
}
}//package language_view
Section 225
//SelectLanguageModel (language_view.SelectLanguageModel)
package language_view {
public class SelectLanguageModel {
private var _language:String;
public static const ESP:String = "ESP";
public static const UKR:String = "UKR";
public static const POL:String = "POL";
public static const RUS:String = "RUS";
public static const PRT:String = "PRT";
public static const DEU:String = "DEU";
public static const FRA:String = "FRA";
public static const ITA:String = "ITA";
public static const ENG:String = "ENG";
public static var _instance:SelectLanguageModel = new (SelectLanguageModel);
;
public function SelectLanguageModel(){
_language = "US";
}
public function set language(_arg1:String):void{
this._language = _arg1;
}
public function get language():String{
return (this._language);
}
public static function get instance():SelectLanguageModel{
return (_instance);
}
}
}//package language_view
Section 226
//LoadGameForm (load_game_form.LoadGameForm)
package load_game_form {
import custom_list.*;
import flash.events.*;
import flash.display.*;
import language_view.*;
import load_vars.*;
import crypto.*;
import flash.net.*;
public class LoadGameForm extends MovieClip {
public var mainMenuText:MovieClip;
public var namesList:CustomListView;
public var viewTopScore:SimpleButton;
public var loadGameBth:SimpleButton;
public var playGameText:MovieClip;
public var loadGameHeader:MovieClip;
public function LoadGameForm(){
processTextFields();
processSharedObjects();
setButtonsListener();
}
public function playGameClickHandler(_arg1:MouseEvent):void{
var _local2:Vorota;
disableButtons();
Global.scores = CustomListModel.instance.currentItem.scores;
Global.userName = CustomListModel.instance.currentItem.name;
Global.currentLevel = CustomListModel.instance.currentItem.level;
_local2 = new Vorota(Global.gameroot, false, (parent as MovieClip), "game");
}
private function processTextFields():void{
(this.mainMenuText as MovieClip).mouseEnabled = false;
(this.mainMenuText as MovieClip).gotoAndStop(SelectLanguageModel.instance.language);
(this.playGameText as MovieClip).mouseEnabled = false;
(this.playGameText as MovieClip).gotoAndStop(SelectLanguageModel.instance.language);
(this.loadGameHeader as MovieClip).gotoAndStop(SelectLanguageModel.instance.language);
}
public function disableButtons():void{
(this.viewTopScore as SimpleButton).removeEventListener(MouseEvent.CLICK, this.viewTopScoreClickHandler);
(this.viewTopScore as SimpleButton).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.viewTopScore as SimpleButton).removeEventListener(MouseEvent.ROLL_OVER, MouseSounds.mouseOverHandler);
(this.loadGameBth as SimpleButton).removeEventListener(MouseEvent.CLICK, this.playGameClickHandler);
(this.loadGameBth as SimpleButton).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.loadGameBth as SimpleButton).removeEventListener(MouseEvent.ROLL_OVER, MouseSounds.mouseOverHandler);
}
private function setButtonsListener():void{
(this.viewTopScore as SimpleButton).addEventListener(MouseEvent.CLICK, this.viewTopScoreClickHandler);
(this.viewTopScore as SimpleButton).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.viewTopScore as SimpleButton).addEventListener(MouseEvent.ROLL_OVER, MouseSounds.mouseOverHandler);
(this.loadGameBth as SimpleButton).addEventListener(MouseEvent.CLICK, this.playGameClickHandler);
(this.loadGameBth as SimpleButton).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.loadGameBth as SimpleButton).addEventListener(MouseEvent.ROLL_OVER, MouseSounds.mouseOverHandler);
}
private function processSharedObjects():void{
var v:Vorota;
var namesDictionary:Object;
var id:int;
var array:Array;
var name:String;
var customListModel:CustomListModel;
var customListView:CustomListView;
var customItemModel:CustomItemModel;
var nameObject:Object;
var md5String:String;
var md5:MD5;
var hash:String;
try {
v = new Vorota(this, true);
namesDictionary = LoadVar.instance.namesDictionary;
id = 0;
array = new Array();
for (name in namesDictionary) {
customItemModel = new CustomItemModel();
nameObject = namesDictionary[name];
customItemModel.id = id;
customItemModel.name = name;
customItemModel.level = nameObject.level;
customItemModel.h = nameObject.h;
customItemModel.m = nameObject.m;
customItemModel.s = nameObject.s;
customItemModel.year = nameObject.year;
customItemModel.month = nameObject.month;
customItemModel.day = nameObject.day;
customItemModel.scores = nameObject.scores;
md5String = ((((((((((((((("" + customItemModel.year) + "") + customItemModel.month) + "") + customItemModel.day) + "") + customItemModel.h) + "") + customItemModel.m) + "") + customItemModel.s) + "") + customItemModel.level) + "") + customItemModel.scores);
md5 = new MD5();
hash = md5.hash(md5String);
if (hash != nameObject.hash){
customItemModel.level = 0;
customItemModel.scores = 0;
};
array.push(customItemModel);
id = (id + 1);
};
customListModel = CustomListModel.instance;
customListModel.items = array;
customListView = (this.namesList as CustomListView);
customListView.model = customListModel;
} catch(e:Error) {
};
}
public function viewTopScoreClickHandler(_arg1:MouseEvent):void{
var _local2:Vorota;
disableButtons();
_local2 = new Vorota((parent as MovieClip), false, (parent as MovieClip), "mainMenu");
}
}
}//package load_game_form
Section 227
//LoadVar (load_vars.LoadVar)
package load_vars {
import custom_list.*;
import crypto.*;
import flash.net.*;
public final class LoadVar {
var sharedObjects:SharedObject;
private static const LEVELS:String = "names";
private static var _instance:LoadVar = new (LoadVar);
;
public static var AMOUNT_OF_SAVED_ITEMS:int = 10;
public function LoadVar(){
sharedObjects = Global._game_stored_data;
super();
}
public function get lastPlayerName():String{
var namesDictionary:Object;
var yangesTime:Number;
var yangesName:String;
var itemName:*;
var item:Object;
var tmpDate:Date;
try {
namesDictionary = Global._game_stored_data.data[LEVELS];
if (namesDictionary == null){
return ("");
};
yangesTime = -1;
yangesName = "";
for (itemName in namesDictionary) {
item = namesDictionary[itemName];
tmpDate = new Date(item.year, item.month, item.day, item.h, item.m, item.s);
if (tmpDate.time > yangesTime){
yangesTime = tmpDate.time;
yangesName = itemName;
};
};
return (yangesName);
} catch(e:Error) {
};
return ("");
}
public function get namesDictionary():Object{
var _local1:Object;
var _local2:*;
_local1 = Global._game_stored_data.data[LEVELS];
for (_local2 in _local1) {
};
if (_local1 == null){
_local1 = new Object();
};
return (_local1);
}
public function setNameLevel(_arg1:String, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int, _arg9:int):void{
var namesDictionary:Object;
var md5String:String;
var md5:MD5;
var hash:String;
var levelObject:Object;
var array:Array;
var itemName:*;
var i:int;
var item:Object;
var peopleObj:Object;
var value = _arg1;
var _year = _arg2;
var _month = _arg3;
var _day = _arg4;
var _hours = _arg5;
var _minutes = _arg6;
var _seconds = _arg7;
var _level = _arg8;
var _scores = _arg9;
try {
namesDictionary = Global._game_stored_data.data[LEVELS];
if (namesDictionary == null){
namesDictionary = new Object();
} else {
array = new Array();
for (itemName in namesDictionary) {
item = namesDictionary[itemName];
item.name = itemName;
array.push(item);
};
array.sort(CustomListModel.sortItems);
array = array.slice(0, Math.min(array.length, LoadVar.AMOUNT_OF_SAVED_ITEMS));
namesDictionary = new Object();
i = 0;
while (i < array.length) {
peopleObj = array[i];
levelObject = {year:peopleObj.year, month:peopleObj.month, day:peopleObj.day, h:peopleObj.h, m:peopleObj.m, s:peopleObj.s, level:peopleObj.level, scores:peopleObj.scores, hash:peopleObj.hash};
namesDictionary[array[i].name] = levelObject;
i = (i + 1);
};
};
md5String = ((((((((((((((("" + _year) + "") + _month) + "") + _day) + "") + _hours) + "") + _minutes) + "") + _seconds) + "") + _level) + "") + _scores);
md5 = new MD5();
hash = md5.hash(md5String);
levelObject = {year:_year, month:_month, day:_day, h:_hours, m:_minutes, s:_seconds, level:_level, scores:_scores, hash:hash};
namesDictionary[value] = levelObject;
Global._game_stored_data.data[LEVELS] = namesDictionary;
} catch(e:Error) {
};
}
public function getParameter(_arg1:String){
var valueName = _arg1;
try {
return (sharedObjects.data[valueName]);
} catch(e:Error) {
};
return (null);
}
public static function get instance():LoadVar{
return (_instance);
}
}
}//package load_vars
Section 228
//Music (media.Music)
package media {
import flash.events.*;
import flash.media.*;
import flash.utils.*;
public class Music {
public var musicInArr:Array;
private var musicArch:Dictionary;
public var musicVolume:Number;// = 0.5
private var musicArchByID:Object;
public var musicOutArr:Array;
public var timerSub;
private var activeMusic:String;// = ""
public function Music(){
musicArch = new Dictionary();
musicArchByID = new Object();
activeMusic = "";
musicVolume = 0.5;
musicOutArr = new Array();
musicInArr = new Array();
timerSub = new Timer(100, 0);
super();
musicArch = new Dictionary();
musicArchByID = new Object();
activeMusic = "";
musicVolume = 0.5;
musicOutArr = new Array();
musicInArr = new Array();
}
public function stopMusics():void{
var _local1:*;
var _local2:*;
for (_local1 in musicArchByID) {
musicOut(_local1);
};
for (_local2 in musicArch) {
_local2.stop();
};
activeMusic = "";
}
public function playMusic(_arg1:String, _arg2:String){
var soundFactory:Sound;
var sndClass:Class;
var id = _arg1;
var sName = _arg2;
if (activeMusic != id){
musicOut(activeMusic);
activeMusic = id;
try {
sndClass = (getDefinitionByName(sName) as Class);
} catch(e:ReferenceError) {
return;
};
soundFactory = (new (sndClass) as Sound);
iniMusic(id, soundFactory);
musicIn(activeMusic);
};
}
private function completeHandler(_arg1:Event):void{
var _local2:*;
var _local3:String;
var _local4:Sound;
_local2 = _arg1.target;
if (musicArch[_local2].loopFlag == "infinity"){
_local3 = musicArch[_local2].id;
_local4 = musicArch[_local2].sound;
iniMusic(_local3, _local4);
};
delete musicArch[_local2];
}
public function setMusicVolume(_arg1:Number):void{
var _local2:*;
var _local3:SoundTransform;
musicVolume = _arg1;
for (_local2 in musicArch) {
_local3 = _local2.soundTransform;
_local3.volume = musicVolume;
_local2.soundTransform = _local3;
};
}
public function iniMusic(_arg1:String, _arg2:Sound):void{
var _local3:Number;
var _local4:SoundChannel;
var _local5:SoundTransform;
_local3 = 1000;
_local4 = _arg2.play(0, _local3);
_local5 = _local4.soundTransform;
_local5.pan = 0;
_local5.volume = musicVolume;
_local4.soundTransform = _local5;
_local4.addEventListener(Event.SOUND_COMPLETE, completeHandler);
musicArch[_local4] = {id:_arg1, sound:_arg2};
musicArchByID[_arg1] = _local4;
}
public function musicOut(_arg1:String):void{
if (musicArchByID[_arg1] != undefined){
musicOutArr.push(_arg1);
timerSub.addEventListener("timer", updateMusicValue);
timerSub.start();
};
}
public function musicIn(_arg1:String):void{
if (musicArchByID[_arg1] != undefined){
musicInArr.push(_arg1);
timerSub.addEventListener("timer", updateMusicValue);
timerSub.start();
};
}
private function updateMusicValue(_arg1:TimerEvent=null):void{
var _local2:Number;
var _local3:SoundTransform;
var _local4:SoundChannel;
_local2 = 0;
while (_local2 < musicInArr.length) {
_local4 = musicArchByID[musicInArr[_local2]];
_local3 = _local4.soundTransform;
_local3.volume = (_local3.volume + 0.015);
_local3.volume = ((_local3.volume)>=musicVolume) ? musicVolume : _local3.volume;
_local4.soundTransform = _local3;
if (_local3.volume == musicVolume){
musicInArr.splice(_local2, 1);
_local2--;
};
_local2++;
};
_local2 = 0;
while (_local2 < musicOutArr.length) {
_local4 = musicArchByID[musicOutArr[_local2]];
_local3 = _local4.soundTransform;
_local3.volume = (_local3.volume - 0.1);
_local3.volume = ((_local3.volume)<=0) ? 0 : _local3.volume;
_local4.soundTransform = _local3;
if (_local3.volume == 0){
_local4.stop();
musicOutArr.splice(_local2, 1);
_local2--;
};
_local2++;
};
if ((((musicInArr.length == 0)) && ((musicOutArr.length == 0)))){
timerSub.removeEventListener("timer", updateMusicValue);
timerSub.stop();
};
}
}
}//package media
Section 229
//SoundFX (media.SoundFX)
package media {
import flash.events.*;
import flash.media.*;
import flash.utils.*;
public class SoundFX {
private var soundArch:Dictionary;
public var soundVolume:Number;// = 0.5
private var soundArchByID:Object;
public function SoundFX(){
soundArch = new Dictionary();
soundArchByID = new Object();
soundVolume = 0.5;
super();
}
public function stopSounds():void{
var _local1:*;
for (_local1 in soundArch) {
_local1.stop();
_local1.addEventListener(Event.SOUND_COMPLETE, completeHandler);
delete soundArch[_local1];
};
soundArchByID = new Object();
soundArch = new Dictionary();
}
public function iniSound(_arg1, _arg2:Sound, _arg3:Number, _arg4, _arg5:Number):void{
var _local6:Number;
var _local7:SoundChannel;
var _local8:SoundTransform;
_local6 = ((_arg4)=="infinity") ? 1000 : _arg4;
_local7 = _arg2.play(0, _local6);
_local8 = _local7.soundTransform;
_local8.pan = _arg3;
_local8.volume = (soundVolume * _arg5);
_local7.soundTransform = _local8;
_local7.addEventListener(Event.SOUND_COMPLETE, completeHandler);
soundArch[_local7] = {id:_arg1, sound:_arg2, loopFlag:_arg4, pan:_arg3, kof:_arg5};
if (_arg1 != null){
soundArchByID[_arg1] = _local7;
};
}
public function setPanByID(_arg1:String, _arg2:Number):void{
var _local3:*;
var _local4:SoundTransform;
_local3 = soundArchByID[_arg1];
if (_local3 != undefined){
_local4 = _local3.soundTransform;
soundArch[_local3].pan = _arg2;
_local4.pan = _arg2;
_local3.soundTransform = _local4;
};
}
private function completeHandler(_arg1:Event):void{
var _local2:*;
var _local3:Sound;
var _local4:Sound;
var _local5:*;
var _local6:Number;
var _local7:Number;
_local2 = _arg1.target;
if (soundArch[_local2].loopFlag == "infinity"){
_local3 = soundArch[_local2].id;
_local4 = soundArch[_local2].sound;
_local5 = soundArch[_local2].loopFlag;
_local6 = soundArch[_local2].pan;
_local7 = soundArch[_local2].kof;
iniSound(_local3, _local4, _local5, _local6, _local7);
};
delete soundArch[_local2];
}
public function setSoundVolume(_arg1:Number):void{
var _local2:*;
var _local3:SoundTransform;
soundVolume = _arg1;
for (_local2 in soundArch) {
_local3 = _local2.soundTransform;
_local3.volume = (soundVolume * soundArch[_local2].kof);
_local2.soundTransform = _local3;
};
}
public function setVolumeKofByID(_arg1:String, _arg2:Number):void{
var _local3:*;
var _local4:SoundTransform;
_local3 = soundArchByID[_arg1];
if (_local3 != undefined){
soundArch[_local3].kof = _arg2;
_local4 = _local3.soundTransform;
_local4.volume = (soundVolume * soundArch[_local3].kof);
_local3.soundTransform = _local4;
};
}
public function playSound(_arg1, _arg2:String, _arg3=0, _arg4:Number=0, _arg5:Number=1){
var sndClass:Class;
var soundFactory:Sound;
var id = _arg1;
var sName = _arg2;
var loopFlag = _arg3;
var pan = _arg4;
var kof = _arg5;
try {
sndClass = (getDefinitionByName(sName) as Class);
soundFactory = (new (sndClass) as Sound);
} catch(e:ReferenceError) {
return;
};
iniSound(id, soundFactory, pan, loopFlag, kof);
}
public function removeSoundByID(_arg1:String):void{
var _local2:*;
_local2 = soundArchByID[_arg1];
if (_local2 != undefined){
_local2.stop();
_local2.addEventListener(Event.SOUND_COMPLETE, completeHandler);
delete soundArch[_local2];
};
}
}
}//package media
Section 230
//MainMenuView (menu.main_menu.MainMenuView)
package menu.main_menu {
import flash.events.*;
import flash.display.*;
import language_view.*;
import flash.net.*;
public class MainMenuView extends MovieClip {
public var viewTopScore:SimpleButton;
public var sendToFriendsBtn:SimpleButton;
public var loadGameBth:SimpleButton;
public var loadGameText:MovieClip;
public var viewTopScoreText:MovieClip;
public var putGameBtn:MovieClip;
public var playBth:SimpleButton;
public var playGameText:MovieClip;
public var gamezheroBtn:MovieClip;
public var playMoreGamesBtn:SimpleButton;
public var sendToFiendsText:MovieClip;
public var nameOfGame:MovieClip;
public var playMoreGamesText:MovieClip;
public function MainMenuView(){
var _local1:Vorota;
super();
_local1 = new Vorota(this, true);
this.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
intiListeners();
Global.music_interface.playMusic("interface", "music_interface");
}
public function playGameBthHandler(_arg1:MouseEvent):void{
var _local2:Vorota;
removeButtonListeners();
Global.currentLevel = 0;
Global.scores = 0;
_local2 = new Vorota(Global.gameroot, false, _arg1.target.parent.parent, "instructions");
}
private function intiListeners():void{
(this.gamezheroBtn as MovieClip).addEventListener(MouseEvent.CLICK, this.gamezheroBtnHandler);
(this.gamezheroBtn as MovieClip).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.gamezheroBtn as MovieClip).addEventListener(MouseEvent.ROLL_OVER, MouseSounds.mouseOverHandler);
(this.gamezheroBtn as MovieClip).buttonMode = true;
(this.putGameBtn as MovieClip).addEventListener(MouseEvent.CLICK, this.putGameBtnHandler);
(this.putGameBtn as MovieClip).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.putGameBtn as MovieClip).addEventListener(MouseEvent.ROLL_OVER, MouseSounds.mouseOverHandler);
(this.putGameBtn as MovieClip).buttonMode = true;
(this.playBth as SimpleButton).addEventListener(MouseEvent.CLICK, playGameBthHandler);
(this.playBth as SimpleButton).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.playBth as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.playMoreGamesBtn as SimpleButton).addEventListener(MouseEvent.CLICK, playMoreGameHandler);
(this.playMoreGamesBtn as SimpleButton).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.playMoreGamesBtn as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(sendToFriendsBtn as SimpleButton).addEventListener(MouseEvent.CLICK, sendToFriendsBthHandler);
(this.sendToFriendsBtn as SimpleButton).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.sendToFriendsBtn as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(viewTopScore as SimpleButton).addEventListener(MouseEvent.CLICK, viewTopScoreBthHandler);
(viewTopScore as SimpleButton).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(viewTopScore as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(loadGameBth as SimpleButton).addEventListener(MouseEvent.CLICK, loadGameBthHandler);
(loadGameBth as SimpleButton).addEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(loadGameBth as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
}
public function removeButtonListeners():void{
(this.gamezheroBtn as MovieClip).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.gamezheroBtn as MovieClip).removeEventListener(MouseEvent.ROLL_OVER, MouseSounds.mouseOverHandler);
(this.putGameBtn as MovieClip).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.putGameBtn as MovieClip).removeEventListener(MouseEvent.ROLL_OVER, MouseSounds.mouseOverHandler);
(this.playBth as SimpleButton).removeEventListener(MouseEvent.CLICK, playGameBthHandler);
(this.playBth as SimpleButton).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.playBth as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(this.playMoreGamesBtn as SimpleButton).removeEventListener(MouseEvent.CLICK, playMoreGameHandler);
(this.playMoreGamesBtn as SimpleButton).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.playMoreGamesBtn as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(sendToFriendsBtn as SimpleButton).removeEventListener(MouseEvent.CLICK, sendToFriendsBthHandler);
(this.sendToFriendsBtn as SimpleButton).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(this.sendToFriendsBtn as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(viewTopScore as SimpleButton).removeEventListener(MouseEvent.CLICK, viewTopScoreBthHandler);
(viewTopScore as SimpleButton).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(viewTopScore as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
(loadGameBth as SimpleButton).removeEventListener(MouseEvent.CLICK, loadGameBthHandler);
(loadGameBth as SimpleButton).removeEventListener(MouseEvent.CLICK, MouseSounds.mouseClickHandler);
(loadGameBth as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, MouseSounds.mouseOverHandler);
}
public function enterFrameHandler(_arg1:Event):void{
var e = _arg1;
try {
setLanguageOfButtons();
} catch(e:Error) {
};
this.removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
public function loadGameBthHandler(_arg1:MouseEvent):void{
var _local2:Vorota;
removeButtonListeners();
_local2 = new Vorota(Global.gameroot, false, _arg1.target.parent.parent, "loadGame");
}
private function openLink(_arg1:String):void{
var _local2:URLRequest;
_local2 = new URLRequest(_arg1);
navigateToURL(_local2, "_blank");
}
public function sendToFriendsBthHandler(_arg1:MouseEvent):void{
openLink(Global._urls["send_to_friends"]);
}
public function playMoreGameHandler(_arg1:MouseEvent):void{
openLink(Global._urls["play_more_games"]);
}
public function gamezheroBtnHandler(_arg1:MouseEvent):void{
openLink(Global._urls["zorro_logo"]);
}
public function viewTopScoreBthHandler(_arg1:MouseEvent):void{
openLink(Global._urls["view_top_score"]);
}
public function putGameBtnHandler(_arg1:MouseEvent):void{
openLink(Global._urls["put_this_game"]);
}
private function setLanguageOfButtons():void{
var _local1:String;
_local1 = SelectLanguageModel.instance.language;
(this.putGameBtn as MovieClip).gotoAndStop(_local1);
(this.nameOfGame as MovieClip).gotoAndStop(_local1);
(this.playGameText as MovieClip).mouseEnabled = false;
(this.playGameText as MovieClip).gotoAndStop(_local1);
(this.sendToFiendsText as MovieClip).mouseEnabled = false;
(this.sendToFiendsText as MovieClip).gotoAndStop(_local1);
(this.loadGameText as MovieClip).mouseEnabled = false;
(this.loadGameText as MovieClip).gotoAndStop(_local1);
(this.viewTopScoreText as MovieClip).mouseEnabled = false;
(this.viewTopScoreText as MovieClip).gotoAndStop(_local1);
(this.playMoreGamesText as MovieClip).mouseEnabled = false;
(this.playMoreGamesText as MovieClip).gotoAndStop(_local1);
}
}
}//package menu.main_menu
Section 231
//ShowMovieView (show_movie.ShowMovieView)
package show_movie {
import flash.events.*;
import flash.display.*;
import language_view.*;
import flash.net.*;
import flash.text.*;
public class ShowMovieView extends MovieClip {
public var loadPercentsTxt:TextField;
private var loader:Loader;
private var _cartoon:MovieClip;
public var skipBtn:SimpleButton;
public var viewTopScoreText:MovieClip;
public function ShowMovieView(){
var v:Vorota;
loader = new Loader();
super();
v = new Vorota((this.parent as MovieClip), true);
try {
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeLoadHandler);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressLoadHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
(this.viewTopScoreText as MovieClip).mouseEnabled = false;
(this.viewTopScoreText as MovieClip).gotoAndStop(SelectLanguageModel.instance.language);
loader.load(new URLRequest(Global._urls["mult"]));
} catch(e:Error) {
};
}
private function progressLoadHandler(_arg1:ProgressEvent):void{
var e = _arg1;
try {
(this.loadPercentsTxt as TextField).text = (("Intro Loading: " + Math.round(((e.bytesLoaded / e.bytesTotal) * 100))) + "%");
} catch(e:Error) {
};
}
private function removeListeners():void{
(skipBtn as SimpleButton).removeEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
(skipBtn as SimpleButton).removeEventListener(MouseEvent.CLICK, skipBthHandler);
this.removeEventListener(Event.ENTER_FRAME, movieEnterFrameHandler);
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, completeLoadHandler);
loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressLoadHandler);
}
private function goToGame():void{
var _local1:Vorota;
removeListeners();
MouseSounds.mouseClickHandler(null);
_local1 = new Vorota(this, false, Global.gameroot, "game", this.removeLoader);
}
private function skipBthHandler(_arg1:MouseEvent):void{
goToGame();
}
private function ioErrorHandler(_arg1:IOErrorEvent){
goToGame();
}
private function completeLoadHandler(_arg1:Event):void{
var e = _arg1;
try {
loader.removeEventListener(ProgressEvent.PROGRESS, this.progressLoadHandler);
loader.removeEventListener(Event.COMPLETE, completeLoadHandler);
this.addEventListener(Event.ENTER_FRAME, movieEnterFrameHandler);
(this.loadPercentsTxt as TextField).text = "";
this.addChild(loader);
addButtons();
this.setChildIndex(loader, 1);
} catch(err:Error) {
};
}
private function addButtons():void{
(skipBtn as SimpleButton).addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
skipBtn.addEventListener(MouseEvent.CLICK, skipBthHandler);
}
private function removeLoader():void{
try {
this.removeChild(loader);
} catch(e:Error) {
};
}
private function movieEnterFrameHandler(_arg1:Event):void{
var event = _arg1;
try {
if (MovieClip(loader.content)["intro"].currentFrame == MovieClip(loader.content)["intro"].totalFrames){
skipBthHandler(null);
};
} catch(e:Error) {
};
}
private function mouseOverHandler(_arg1:MouseEvent):void{
MouseSounds.mouseOverHandler(_arg1);
}
}
}//package show_movie
Section 232
//ClassLoader (utils.ClassLoader)
package utils {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import flash.system.*;
public class ClassLoader extends EventDispatcher {
private var loader:Loader;
private var request:URLRequest;
private var swfLib:String;
private var loadedClass:Class;
public static var CLASS_LOADED:String = "classLoaded";
public static var LOAD_ERROR:String = "loadError";
public function ClassLoader(){
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
}
public function getClass(_arg1:String):Class{
var className = _arg1;
try {
return ((loader.contentLoaderInfo.applicationDomain.getDefinition(className) as Class));
} catch(e:Error) {
};
return (null);
}
private function securityErrorHandler(_arg1:Event):void{
dispatchEvent(new Event(ClassLoader.LOAD_ERROR));
}
private function completeHandler(_arg1:Event):void{
dispatchEvent(new Event(ClassLoader.CLASS_LOADED));
}
private function ioErrorHandler(_arg1:Event):void{
dispatchEvent(new Event(ClassLoader.LOAD_ERROR));
}
public function load(_arg1:String):void{
var _local2:LoaderContext;
swfLib = _arg1;
request = new URLRequest(swfLib);
_local2 = new LoaderContext();
_local2.applicationDomain = new ApplicationDomain();
loader.load(request, _local2);
}
}
}//package utils
Section 233
//IntUtil (utils.IntUtil)
package utils {
public class IntUtil {
private static var hexChars:String = "0123456789abcdef";
public static function toHex(_arg1:int, _arg2:Boolean=false):String{
var _local3:String;
var _local4:int;
var _local5:int;
_local3 = "";
if (_arg2){
_local4 = 0;
while (_local4 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15))));
_local4++;
};
} else {
_local5 = 0;
while (_local5 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15))));
_local5++;
};
};
return (_local3);
}
public static function ror(_arg1:int, _arg2:int):uint{
var _local3:int;
_local3 = (32 - _arg2);
return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3))));
}
public static function rol(_arg1:int, _arg2:int):int{
return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
}
}
}//package utils
Section 234
//Application (Application)
package {
import flash.display.*;
import game.*;
import end_game_forms.*;
import load_game_form.*;
import instructions_form.*;
import menu.main_menu.*;
import show_movie.*;
public class Application extends MovieClip {
public var loadGameForm:LoadGameForm;
public var level_reloader:SplashScreen;
public var instructionForm:InstructionsForm;
public var gameOverView:GameOverForm;
public var mainMenu:MainMenuView;
public var cartoonMovieClip:ShowMovieView;
public var game:Main;
public function Application(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8);
Global.gameroot = this;
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame5(){
stop();
}
}
}//package
Section 235
//bullets (bullets)
package {
import flash.display.*;
public dynamic class bullets extends BitmapData {
public function bullets(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 236
//cell (cell)
package {
import flash.display.*;
public dynamic class cell extends BitmapData {
public function cell(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 237
//cores (cores)
package {
import flash.display.*;
public dynamic class cores extends BitmapData {
public function cores(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 238
//cross (cross)
package {
import flash.display.*;
public dynamic class cross extends BitmapData {
public function cross(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 239
//Curtain (Curtain)
package {
import flash.display.*;
public dynamic class Curtain extends MovieClip {
}
}//package
Section 240
//enemy_die (enemy_die)
package {
import flash.media.*;
public dynamic class enemy_die extends Sound {
}
}//package
Section 241
//enemy1_show (enemy1_show)
package {
import flash.media.*;
public dynamic class enemy1_show extends Sound {
}
}//package
Section 242
//enemy2_show (enemy2_show)
package {
import flash.media.*;
public dynamic class enemy2_show extends Sound {
}
}//package
Section 243
//enemy3_show (enemy3_show)
package {
import flash.media.*;
public dynamic class enemy3_show extends Sound {
}
}//package
Section 244
//enemy5_show (enemy5_show)
package {
import flash.media.*;
public dynamic class enemy5_show extends Sound {
}
}//package
Section 245
//ExplosionMC (ExplosionMC)
package {
import flash.display.*;
public dynamic class ExplosionMC extends MovieClip {
public function ExplosionMC(){
addFrameScript(0, frame1, 1, frame2, 9, frame10);
}
function frame10(){
gotoAndStop("stop");
}
function frame1(){
stop();
}
function frame2(){
}
}
}//package
Section 246
//Filter (Filter)
package {
import flash.display.*;
public dynamic class Filter extends MovieClip {
}
}//package
Section 247
//GameWrapper (GameWrapper)
package {
import flash.events.*;
import flash.display.*;
import language_view.*;
import media.*;
import flash.net.*;
import utils.*;
import gamezhero.*;
import flash.system.*;
public class GameWrapper extends MovieClip {
public var application:Application;
private var proLibrary:ClassLoader;
public var selectLanguageForm:SelectLanguageForm;
private var pro;
private var proFlag:Boolean;// = false
public function GameWrapper():void{
proFlag = false;
super();
addFrameScript(0, frame1, 1, frame2, 2, frame3);
Security.allowDomain("gamezhero.com", "files.gamezhero.com", "eufiles.gamezhero.com", "*.gamezhero.com", "*", "*.*", "*.*.*");
stage.stageFocusRect = false;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
this.addEventListener(Event.ENTER_FRAME, iniMainStage);
Global.initGlobal();
}
private function getURL(_arg1:String, _arg2:String="_blank"):void{
var _local3:URLRequest;
_local3 = new URLRequest(_arg1);
navigateToURL(_local3, _arg2);
}
public function iniMainStage(_arg1:Event):void{
var _local2:GamePreloader;
this.removeEventListener(Event.ENTER_FRAME, iniMainStage);
iniSound();
this.gotoAndStop(1);
_local2 = new GamePreloader(this, 2, "rasty_planet");
loadPro();
}
public function nextStep():void{
var _local1:Vorota;
if (pro){
pro.stopPopUp();
};
stage.align = "";
_local1 = new Vorota(this, false, this, 2);
}
function frame1(){
}
function frame3(){
stop();
}
private function loadErrorHandler(_arg1:Event):void{
getURL(Global._urls["error"], "_blank");
}
function frame2(){
stop();
}
private function iniSound():void{
Global.music_interface = new Music();
Global.music_game = new Music();
Global.sound_interface = new SoundFX();
Global.sound_game = new SoundFX();
Global.music_interface.setMusicVolume(Global._music_volume_interface);
Global.music_game.setMusicVolume(Global._music_volume_interface);
Global.sound_interface.setSoundVolume(Global._sound_volume_interface);
Global.sound_game.setSoundVolume(Global._sound_volume_interface);
if (isNaN(Global._game_stored_data.data.soundVolumeFlag)){
Global._game_stored_data.data.soundVolumeFlag = 1;
};
if (isNaN(Global._game_stored_data.data.musicVolumeFlag)){
Global._game_stored_data.data.musicVolumeFlag = 1;
};
}
private function classLoadedHandler(_arg1:Event):void{
var _local2:Class;
var _local3:Number;
_local2 = proLibrary.getClass("superPro3");
_local3 = Number(root.loaderInfo.parameters["gamezhero_code"]);
pro = new _local2(this, 1197710244855, _local3, "rusty_planet", root.loaderInfo.url);
}
private function loadPro():void{
if (proFlag == false){
proFlag = true;
proLibrary = new ClassLoader();
proLibrary.addEventListener(ClassLoader.LOAD_ERROR, loadErrorHandler);
proLibrary.addEventListener(ClassLoader.CLASS_LOADED, classLoadedHandler);
proLibrary.load(("http://files.gamezhero.com/flash/superPro3.swf?time" + new Date().getTime()));
};
}
}
}//package
Section 248
//Global (Global)
package {
import flash.display.*;
import language_view.*;
import flash.utils.*;
import media.*;
import flash.net.*;
import gameInterface.*;
public class Global {
private static var _scores:Number = 0;
public static var _urls:Array = new Array();
public static var _sound_volume_game = 0.3;
public static var sound_interface:SoundFX;
public static var _game_width_2:Number = (_game_width / 2);
public static var music_game:Music;
public static var _music_volume_interface = 0.3;
public static var _game_height_2:Number = (_game_height / 2);
public static var _game_height:Number = 400;
public static var _game_width:Number = 550;
private static var _userName:String = "";
public static var _music_volume_game = 0.5;
public static var music_interface:Music;
public static var firstVorotaOccurs:Boolean = false;
public static var _sound_volume_interface = 0.6;
public static var sound_game:SoundFX;
private static var _currentLevel:int = 1;
public static var game_root:MovieClip;
public static var _game_stored_data:SharedObject = SharedObject.getLocal("rusty-planet-gamezhero.com");
public static var SETUP_MESSAGE_DICTIONARY:Dictionary = new Dictionary();
public static function set scores(_arg1:Number):void{
_scores = _arg1;
}
public static function get scores():Number{
return (_scores);
}
public static function initGlobal():void{
var _local1:Dictionary;
var _local2:Dictionary;
var _local3:Dictionary;
var _local4:Dictionary;
var _local5:Dictionary;
var _local6:Dictionary;
var _local7:Dictionary;
var _local8:Dictionary;
var _local9:Dictionary;
_local1 = new Dictionary();
_local1[PauseMenu.EXIT_GAME_BTH_ALERT] = "SPIEL VERLASSEN";
_local1[PauseMenu.GAMEZERO_BTH_ALERT] = "GAMEZHERO.COM";
_local1[PauseMenu.MUSIC_GAME_BTH_ALERT] = "MUSIK";
_local1[PauseMenu.SOUND_GAME_BTH_ALERT] = "LAUT";
_local1[PauseMenu.PLAY_GAME_ALERT] = "WEITERSPIELEN";
SETUP_MESSAGE_DICTIONARY[SelectLanguageModel.DEU] = _local1;
_local2 = new Dictionary();
_local2[PauseMenu.EXIT_GAME_BTH_ALERT] = "QUITTER LE JEU";
_local2[PauseMenu.GAMEZERO_BTH_ALERT] = "GAMEZHERO.COM";
_local2[PauseMenu.MUSIC_GAME_BTH_ALERT] = "GESTION DE MUSIQUE";
_local2[PauseMenu.SOUND_GAME_BTH_ALERT] = "GESTION DE SON";
_local2[PauseMenu.PLAY_GAME_ALERT] = "CONTINUER LE JEU";
SETUP_MESSAGE_DICTIONARY[SelectLanguageModel.FRA] = _local2;
_local3 = new Dictionary();
_local3[PauseMenu.EXIT_GAME_BTH_ALERT] = "SAIR DO JOGO";
_local3[PauseMenu.GAMEZERO_BTH_ALERT] = "GAMEZHERO.COM";
_local3[PauseMenu.MUSIC_GAME_BTH_ALERT] = "CONTROLO DA MÚSICA";
_local3[PauseMenu.SOUND_GAME_BTH_ALERT] = "CONTROLO DO SOM";
_local3[PauseMenu.PLAY_GAME_ALERT] = "CONTINUAR O JOGO";
SETUP_MESSAGE_DICTIONARY[SelectLanguageModel.PRT] = _local3;
_local4 = new Dictionary();
_local4[PauseMenu.EXIT_GAME_BTH_ALERT] = "RETIRA DEL JUEGO";
_local4[PauseMenu.GAMEZERO_BTH_ALERT] = "GAMEZHERO.COM";
_local4[PauseMenu.MUSIC_GAME_BTH_ALERT] = "AJUSTA LA MÚSICA";
_local4[PauseMenu.SOUND_GAME_BTH_ALERT] = "AJUSTA EL SONIDO";
_local4[PauseMenu.PLAY_GAME_ALERT] = "CONTINÚA EL JUEGO";
SETUP_MESSAGE_DICTIONARY[SelectLanguageModel.ESP] = _local4;
_local5 = new Dictionary();
_local5[PauseMenu.EXIT_GAME_BTH_ALERT] = "Выйти Из Игры";
_local5[PauseMenu.GAMEZERO_BTH_ALERT] = "Играть на Gamezhero.com";
_local5[PauseMenu.MUSIC_GAME_BTH_ALERT] = "Управление Музыкой";
_local5[PauseMenu.SOUND_GAME_BTH_ALERT] = "Управление Звуком";
_local5[PauseMenu.PLAY_GAME_ALERT] = "Продолжить Игру";
SETUP_MESSAGE_DICTIONARY[SelectLanguageModel.RUS] = _local5;
_local6 = new Dictionary();
_local6[PauseMenu.EXIT_GAME_BTH_ALERT] = "Quit Game";
_local6[PauseMenu.GAMEZERO_BTH_ALERT] = "Visit Gamezhero.com";
_local6[PauseMenu.MUSIC_GAME_BTH_ALERT] = "Music Control";
_local6[PauseMenu.SOUND_GAME_BTH_ALERT] = "Sound Control";
_local6[PauseMenu.PLAY_GAME_ALERT] = "Continue Game";
SETUP_MESSAGE_DICTIONARY[SelectLanguageModel.ENG] = _local6;
_local7 = new Dictionary();
_local7[PauseMenu.EXIT_GAME_BTH_ALERT] = "Покинути Гру";
_local7[PauseMenu.GAMEZERO_BTH_ALERT] = "Грати На Gamezhero.com";
_local7[PauseMenu.MUSIC_GAME_BTH_ALERT] = "Керування Музикой";
_local7[PauseMenu.SOUND_GAME_BTH_ALERT] = "Керування Звуком";
_local7[PauseMenu.PLAY_GAME_ALERT] = "Продовжити Гру";
SETUP_MESSAGE_DICTIONARY[SelectLanguageModel.UKR] = _local7;
_local8 = new Dictionary();
_local8[PauseMenu.EXIT_GAME_BTH_ALERT] = "OPUŚCIĆ GRĘ";
_local8[PauseMenu.GAMEZERO_BTH_ALERT] = "GAMEZHERO.COM";
_local8[PauseMenu.MUSIC_GAME_BTH_ALERT] = "STEROWANIE MUZYKĄ";
_local8[PauseMenu.SOUND_GAME_BTH_ALERT] = "STEROWANIE DŻWIĘKIEM";
_local8[PauseMenu.PLAY_GAME_ALERT] = "KONTYNUOWAĆ GRĘ";
SETUP_MESSAGE_DICTIONARY[SelectLanguageModel.POL] = _local8;
_local9 = new Dictionary();
_local9[PauseMenu.EXIT_GAME_BTH_ALERT] = "USCIRE DAL GIOCO";
_local9[PauseMenu.GAMEZERO_BTH_ALERT] = "GAMEZHERO.COM";
_local9[PauseMenu.MUSIC_GAME_BTH_ALERT] = "CONTROLLO DELLA MUSICA";
_local9[PauseMenu.SOUND_GAME_BTH_ALERT] = "CONTROLLO DEL SUONO";
_local9[PauseMenu.PLAY_GAME_ALERT] = "CONTINUARE IL GIOCO";
SETUP_MESSAGE_DICTIONARY[SelectLanguageModel.ITA] = _local9;
}
public static function get gameroot():MovieClip{
return (game_root);
}
public static function set currentLevel(_arg1:int):void{
_currentLevel = _arg1;
}
public static function getSckore():Number{
return (_scores);
}
public static function set userName(_arg1:String):void{
_userName = _arg1;
}
public static function get currentLevel():int{
return (_currentLevel);
}
public static function set gameroot(_arg1:MovieClip):void{
game_root = _arg1;
}
public static function get userName():String{
return (_userName);
}
_urls["send_to_friends"] = "http://www.gamezhero.com/sendtofriends/rustyplanet-freeonlinegames.html?utm_campaign=rusty_planet&utm_source=rusty_planet&utm_medium=send_to_friends";
_urls["play_more_games"] = "http://www.gamezhero.com/?utm_campaign=rusty_planet&utm_source=rusty_planet&utm_medium=more_free_games";
_urls["zorro_logo"] = "http://www.gamezhero.com/?utm_campaign=rusty_planet&utm_source=rusty_planet&utm_medium=zorro_logo";
_urls["zorro_logo_pause"] = "http://www.gamezhero.com/?utm_campaign=rusty_planet&utm_source=rusty_planet&utm_medium=zorro_logo_pause";
_urls["put_this_game"] = "http://www.gamezhero.com/freewebsitegames/rustyplanet-freeonlinegames.html?utm_campaign=rusty_planet&utm_source=rusty_planet&utm_medium=free_web_site_games";
_urls["view_top_score"] = "http://www.gamezhero.com/topscore/rustyplanet/?utm_campaign=rusty_planet&utm_source=rusty_planet&utm_medium=top_score";
_urls["score"] = "http://files.gamezhero.com/online/rustyplanet/score/score.swf";
_urls["error"] = "http://www.gamezhero.com/sendtofriends/rustyplanet-freeonlinegames.html?utm_campaign=rusty_planet&utm_source=rusty_planet&utm_medium=error";
_urls["preloader"] = "http://www.gamezhero.com/?utm_campaign=rusty_planet&utm_source=rusty_planet&utm_medium=preloader";
_urls["play_more_games_context"] = "http://www.gamezhero.com/?utm_campaign=rusty_planet&utm_source=rusty_planet&utm_medium=context_menu";
_urls["put_this_game_context"] = "http://www.gamezhero.com/freegamesforwebsite.html?utm_campaign=rusty_planet&utm_source=rusty_planet&utm_medium=free_games_for_website_context_menu";
_urls["send_to_friends_context"] = "http://www.gamezhero.com/sendtofriends/rustyplanet-freeonlinegames.html?utm_campaign=rusty_planet&utm_source=rusty_planet&utm_medium=send_to_friends_context_menu";
_urls["mult"] = "http://files.gamezhero.com/online/rustyplanet/mult.swf";
}
}//package
Section 249
//level_start (level_start)
package {
import flash.media.*;
public dynamic class level_start extends Sound {
}
}//package
Section 250
//LoadGameButton (LoadGameButton)
package {
import flash.display.*;
public dynamic class LoadGameButton extends SimpleButton {
}
}//package
Section 251
//MaskCustomList (MaskCustomList)
package {
import flash.display.*;
public dynamic class MaskCustomList extends MovieClip {
}
}//package
Section 252
//MaskMovieClip (MaskMovieClip)
package {
import flash.display.*;
public dynamic class MaskMovieClip extends MovieClip {
}
}//package
Section 253
//MortarExplosion (MortarExplosion)
package {
import flash.display.*;
public dynamic class MortarExplosion extends MovieClip {
public function MortarExplosion(){
addFrameScript(5, frame6);
}
function frame6(){
stop();
}
}
}//package
Section 254
//MouseClick (MouseClick)
package {
import flash.media.*;
public dynamic class MouseClick extends Sound {
}
}//package
Section 255
//MouseOverClick (MouseOverClick)
package {
import flash.media.*;
public dynamic class MouseOverClick extends Sound {
}
}//package
Section 256
//MouseSounds (MouseSounds)
package {
import flash.events.*;
public class MouseSounds {
public static function mouseOverHandler(_arg1:MouseEvent):void{
Global.sound_interface.playSound(null, "MouseOverClick");
}
public static function mouseClickHandler(_arg1:MouseEvent):void{
Global.sound_interface.playSound(null, "MouseClick");
}
}
}//package
Section 257
//music_game (music_game)
package {
import flash.media.*;
public dynamic class music_game extends Sound {
}
}//package
Section 258
//music_interface (music_interface)
package {
import flash.media.*;
public dynamic class music_interface extends Sound {
}
}//package
Section 259
//oil1 (oil1)
package {
import flash.display.*;
public dynamic class oil1 extends BitmapData {
public function oil1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 260
//oil2 (oil2)
package {
import flash.display.*;
public dynamic class oil2 extends BitmapData {
public function oil2(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 261
//oil3 (oil3)
package {
import flash.display.*;
public dynamic class oil3 extends BitmapData {
public function oil3(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 262
//oil4 (oil4)
package {
import flash.display.*;
public dynamic class oil4 extends BitmapData {
public function oil4(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 263
//oil5 (oil5)
package {
import flash.display.*;
public dynamic class oil5 extends BitmapData {
public function oil5(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 264
//oil6 (oil6)
package {
import flash.display.*;
public dynamic class oil6 extends BitmapData {
public function oil6(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 265
//player_die (player_die)
package {
import flash.media.*;
public dynamic class player_die extends Sound {
}
}//package
Section 266
//player_get_weapon (player_get_weapon)
package {
import flash.media.*;
public dynamic class player_get_weapon extends Sound {
}
}//package
Section 267
//player_hit (player_hit)
package {
import flash.media.*;
public dynamic class player_hit extends Sound {
}
}//package
Section 268
//player_step (player_step)
package {
import flash.media.*;
public dynamic class player_step extends Sound {
}
}//package
Section 269
//s1_1 (s1_1)
package {
import flash.display.*;
public dynamic class s1_1 extends BitmapData {
public function s1_1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 270
//s2_1 (s2_1)
package {
import flash.display.*;
public dynamic class s2_1 extends BitmapData {
public function s2_1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 271
//s3_1 (s3_1)
package {
import flash.display.*;
public dynamic class s3_1 extends BitmapData {
public function s3_1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 272
//ScrollLine (ScrollLine)
package {
import flash.display.*;
public dynamic class ScrollLine extends MovieClip {
}
}//package
Section 273
//sgun (sgun)
package {
import flash.display.*;
public dynamic class sgun extends BitmapData {
public function sgun(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 274
//SplashScreen (SplashScreen)
package {
import flash.display.*;
public dynamic class SplashScreen extends MovieClip {
}
}//package
Section 275
//t1_1 (t1_1)
package {
import flash.display.*;
public dynamic class t1_1 extends BitmapData {
public function t1_1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 276
//t1_10 (t1_10)
package {
import flash.display.*;
public dynamic class t1_10 extends BitmapData {
public function t1_10(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 277
//t1_11 (t1_11)
package {
import flash.display.*;
public dynamic class t1_11 extends BitmapData {
public function t1_11(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 278
//t1_12 (t1_12)
package {
import flash.display.*;
public dynamic class t1_12 extends BitmapData {
public function t1_12(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 279
//t1_13 (t1_13)
package {
import flash.display.*;
public dynamic class t1_13 extends BitmapData {
public function t1_13(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 280
//t1_14 (t1_14)
package {
import flash.display.*;
public dynamic class t1_14 extends BitmapData {
public function t1_14(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 281
//t1_15 (t1_15)
package {
import flash.display.*;
public dynamic class t1_15 extends BitmapData {
public function t1_15(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 282
//t1_16 (t1_16)
package {
import flash.display.*;
public dynamic class t1_16 extends BitmapData {
public function t1_16(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 283
//t1_17 (t1_17)
package {
import flash.display.*;
public dynamic class t1_17 extends BitmapData {
public function t1_17(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 284
//t1_18 (t1_18)
package {
import flash.display.*;
public dynamic class t1_18 extends BitmapData {
public function t1_18(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 285
//t1_19 (t1_19)
package {
import flash.display.*;
public dynamic class t1_19 extends BitmapData {
public function t1_19(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 286
//t1_2 (t1_2)
package {
import flash.display.*;
public dynamic class t1_2 extends BitmapData {
public function t1_2(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 287
//t1_3 (t1_3)
package {
import flash.display.*;
public dynamic class t1_3 extends BitmapData {
public function t1_3(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 288
//t1_4 (t1_4)
package {
import flash.display.*;
public dynamic class t1_4 extends BitmapData {
public function t1_4(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 289
//t1_5 (t1_5)
package {
import flash.display.*;
public dynamic class t1_5 extends BitmapData {
public function t1_5(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 290
//t1_6 (t1_6)
package {
import flash.display.*;
public dynamic class t1_6 extends BitmapData {
public function t1_6(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 291
//t1_7 (t1_7)
package {
import flash.display.*;
public dynamic class t1_7 extends BitmapData {
public function t1_7(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 292
//t1_8 (t1_8)
package {
import flash.display.*;
public dynamic class t1_8 extends BitmapData {
public function t1_8(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 293
//t1_9 (t1_9)
package {
import flash.display.*;
public dynamic class t1_9 extends BitmapData {
public function t1_9(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 294
//t2_1 (t2_1)
package {
import flash.display.*;
public dynamic class t2_1 extends BitmapData {
public function t2_1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 295
//t2_10 (t2_10)
package {
import flash.display.*;
public dynamic class t2_10 extends BitmapData {
public function t2_10(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 296
//t2_11 (t2_11)
package {
import flash.display.*;
public dynamic class t2_11 extends BitmapData {
public function t2_11(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 297
//t2_12 (t2_12)
package {
import flash.display.*;
public dynamic class t2_12 extends BitmapData {
public function t2_12(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 298
//t2_13 (t2_13)
package {
import flash.display.*;
public dynamic class t2_13 extends BitmapData {
public function t2_13(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 299
//t2_14 (t2_14)
package {
import flash.display.*;
public dynamic class t2_14 extends BitmapData {
public function t2_14(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 300
//t2_15 (t2_15)
package {
import flash.display.*;
public dynamic class t2_15 extends BitmapData {
public function t2_15(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 301
//t2_16 (t2_16)
package {
import flash.display.*;
public dynamic class t2_16 extends BitmapData {
public function t2_16(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 302
//t2_17 (t2_17)
package {
import flash.display.*;
public dynamic class t2_17 extends BitmapData {
public function t2_17(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 303
//t2_18 (t2_18)
package {
import flash.display.*;
public dynamic class t2_18 extends BitmapData {
public function t2_18(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 304
//t2_19 (t2_19)
package {
import flash.display.*;
public dynamic class t2_19 extends BitmapData {
public function t2_19(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 305
//t2_2 (t2_2)
package {
import flash.display.*;
public dynamic class t2_2 extends BitmapData {
public function t2_2(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 306
//t2_3 (t2_3)
package {
import flash.display.*;
public dynamic class t2_3 extends BitmapData {
public function t2_3(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 307
//t2_4 (t2_4)
package {
import flash.display.*;
public dynamic class t2_4 extends BitmapData {
public function t2_4(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 308
//t2_5 (t2_5)
package {
import flash.display.*;
public dynamic class t2_5 extends BitmapData {
public function t2_5(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 309
//t2_6 (t2_6)
package {
import flash.display.*;
public dynamic class t2_6 extends BitmapData {
public function t2_6(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 310
//t2_7 (t2_7)
package {
import flash.display.*;
public dynamic class t2_7 extends BitmapData {
public function t2_7(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 311
//t2_8 (t2_8)
package {
import flash.display.*;
public dynamic class t2_8 extends BitmapData {
public function t2_8(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 312
//t2_9 (t2_9)
package {
import flash.display.*;
public dynamic class t2_9 extends BitmapData {
public function t2_9(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 313
//t3_1 (t3_1)
package {
import flash.display.*;
public dynamic class t3_1 extends BitmapData {
public function t3_1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 314
//t3_10 (t3_10)
package {
import flash.display.*;
public dynamic class t3_10 extends BitmapData {
public function t3_10(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 315
//t3_11 (t3_11)
package {
import flash.display.*;
public dynamic class t3_11 extends BitmapData {
public function t3_11(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 316
//t3_12 (t3_12)
package {
import flash.display.*;
public dynamic class t3_12 extends BitmapData {
public function t3_12(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 317
//t3_13 (t3_13)
package {
import flash.display.*;
public dynamic class t3_13 extends BitmapData {
public function t3_13(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 318
//t3_14 (t3_14)
package {
import flash.display.*;
public dynamic class t3_14 extends BitmapData {
public function t3_14(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 319
//t3_15 (t3_15)
package {
import flash.display.*;
public dynamic class t3_15 extends BitmapData {
public function t3_15(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 320
//t3_16 (t3_16)
package {
import flash.display.*;
public dynamic class t3_16 extends BitmapData {
public function t3_16(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 321
//t3_17 (t3_17)
package {
import flash.display.*;
public dynamic class t3_17 extends BitmapData {
public function t3_17(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 322
//t3_18 (t3_18)
package {
import flash.display.*;
public dynamic class t3_18 extends BitmapData {
public function t3_18(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 323
//t3_19 (t3_19)
package {
import flash.display.*;
public dynamic class t3_19 extends BitmapData {
public function t3_19(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 324
//t3_2 (t3_2)
package {
import flash.display.*;
public dynamic class t3_2 extends BitmapData {
public function t3_2(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 325
//t3_3 (t3_3)
package {
import flash.display.*;
public dynamic class t3_3 extends BitmapData {
public function t3_3(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 326
//t3_4 (t3_4)
package {
import flash.display.*;
public dynamic class t3_4 extends BitmapData {
public function t3_4(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 327
//t3_5 (t3_5)
package {
import flash.display.*;
public dynamic class t3_5 extends BitmapData {
public function t3_5(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 328
//t3_6 (t3_6)
package {
import flash.display.*;
public dynamic class t3_6 extends BitmapData {
public function t3_6(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 329
//t3_7 (t3_7)
package {
import flash.display.*;
public dynamic class t3_7 extends BitmapData {
public function t3_7(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 330
//t3_8 (t3_8)
package {
import flash.display.*;
public dynamic class t3_8 extends BitmapData {
public function t3_8(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 331
//t3_9 (t3_9)
package {
import flash.display.*;
public dynamic class t3_9 extends BitmapData {
public function t3_9(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 332
//TeleportView (TeleportView)
package {
import flash.display.*;
public dynamic class TeleportView extends MovieClip {
}
}//package
Section 333
//ToGameBth (ToGameBth)
package {
import flash.display.*;
public dynamic class ToGameBth extends SimpleButton {
}
}//package
Section 334
//ToMainMenuBth (ToMainMenuBth)
package {
import flash.display.*;
public dynamic class ToMainMenuBth extends SimpleButton {
}
}//package
Section 335
//wall_hit1 (wall_hit1)
package {
import flash.media.*;
public dynamic class wall_hit1 extends Sound {
}
}//package
Section 336
//wall_hit2 (wall_hit2)
package {
import flash.media.*;
public dynamic class wall_hit2 extends Sound {
}
}//package
Section 337
//weapon_drobovik (weapon_drobovik)
package {
import flash.media.*;
public dynamic class weapon_drobovik extends Sound {
}
}//package
Section 338
//weapon_null (weapon_null)
package {
import flash.media.*;
public dynamic class weapon_null extends Sound {
}
}//package
Section 339
//weapon_pistol (weapon_pistol)
package {
import flash.media.*;
public dynamic class weapon_pistol extends Sound {
}
}//package
Section 340
//weapon_pushka_boom (weapon_pushka_boom)
package {
import flash.media.*;
public dynamic class weapon_pushka_boom extends Sound {
}
}//package
Section 341
//weapon_pushka_boom2 (weapon_pushka_boom2)
package {
import flash.media.*;
public dynamic class weapon_pushka_boom2 extends Sound {
}
}//package
Section 342
//weapon_puska_fly (weapon_puska_fly)
package {
import flash.media.*;
public dynamic class weapon_puska_fly extends Sound {
}
}//package
Section 343
//weapon_railgun (weapon_railgun)
package {
import flash.media.*;
public dynamic class weapon_railgun extends Sound {
}
}//package
Section 344
//weapon_uzi (weapon_uzi)
package {
import flash.media.*;
public dynamic class weapon_uzi extends Sound {
}
}//package
Section 345
//win_level (win_level)
package {
import flash.media.*;
public dynamic class win_level extends Sound {
}
}//package
Section 346
//Vorota (Vorota)
package {
import flash.events.*;
import flash.display.*;
public class Vorota extends MovieClip {
public var ACTION_FRAME;
public var GOAL:MovieClip;
public var ACTION_GOAL:MovieClip;
public var CLOSE_FLAG:Boolean;
public var ACTION_FUNCTION:Function;
public function Vorota(_arg1:MovieClip, _arg2:Boolean=true, _arg3:MovieClip=null, _arg4=1, _arg5:Function=null):void{
addFrameScript(0, frame1, 15, frame16);
if (_arg2){
Global.firstVorotaOccurs = true;
} else {
Global.sound_interface.playSound(null, "vorota_closed_");
};
GOAL = _arg1;
CLOSE_FLAG = _arg2;
ACTION_GOAL = _arg3;
ACTION_FRAME = _arg4;
ACTION_FUNCTION = _arg5;
GOAL.addChild(this);
ini();
this.addEventListener(Event.ENTER_FRAME, update);
}
private function ini():void{
if (CLOSE_FLAG == true){
this.gotoAndStop("close");
} else {
this.gotoAndStop("open");
};
}
private function action(){
this.removeEventListener(Event.ENTER_FRAME, update);
if (ACTION_GOAL != null){
if (ACTION_FUNCTION != null){
ACTION_FUNCTION.call(null);
};
ACTION_GOAL.gotoAndStop(ACTION_FRAME);
};
GOAL.removeChild(this);
}
function frame16(){
stop();
}
function frame1(){
stop();
}
private function update(_arg1:Event):void{
this.gotoAndStop((this.currentFrame + 1));
if (CLOSE_FLAG == true){
if (this.currentLabel == "open"){
action();
};
} else {
if (this.currentLabel == "close2"){
action();
};
};
}
}
}//package
Section 347
//vorota_closed_ (vorota_closed_)
package {
import flash.media.*;
public dynamic class vorota_closed_ extends Sound {
}
}//package