Section 1
//MD5 (classes.crypto.MD5)
package classes.crypto {
import classes.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 classes.crypto
Section 2
//EnemyEvents (classes.events.EnemyEvents)
package classes.events {
import flash.events.*;
public class EnemyEvents extends Event {
private var enemy_action:String;
public static const ENEMY_BOOM:String = "enemy_boom";
public static const ENEMY_GRAB:String = "enemy_grab";
public static const ENEMY_MOVE:String = "enemy_move";
public static const ENEMY_DIE:String = "enemy_die";
public static const ENEMY_CHANGE_ACTION:String = "enemy_change_action";
public static const ENEMY_UP:String = "enemy_up";
public static const ENEMY_PAUSE:String = "enemy_pause";
public function EnemyEvents(_arg1:String){
super(_arg1);
}
override public function toString():String{
return (formatToString("Enemy Events"));
}
public function get action():String{
return (enemy_action);
}
public function set action(_arg1:String):void{
enemy_action = _arg1;
}
}
}//package classes.events
Section 3
//GameEvents (classes.events.GameEvents)
package classes.events {
import flash.events.*;
public class GameEvents extends Event {
private var game_value;
public static const GAME_GRAB:String = "game_grab";
public static const GAME_REMOVE_ENEMY:String = "game_remove_enemy";
public static const GAME_CHANGE_LEVEL:String = "game_change_level";
public static const GAME_START_MAGIC:String = "game_start_magic";
public static const GAME_CHANGE_LAMP:String = "game_change_lamp";
public static const GAME_OVER:String = "game_over";
public static const GAME_BONUS_OK:String = "game_bonus_ok";
public static const GAME_ADD_ENEMY:String = "game_add_enemy";
public static const GAME_UPDATE:String = "game_update";
public static const GAME_MAGIC_OK:String = "game_magic_ok";
public static const GAME_MAGIC_COMPLITE:String = "game_magic_finish";
public static const GAME_STOP_MAGIC:String = "game_stop_magic";
public function GameEvents(_arg1:String){
super(_arg1);
}
override public function toString():String{
return (formatToString("Game Event"));
}
public function set gameValue(_arg1):void{
game_value = _arg1;
}
public function get gameValue(){
return (game_value);
}
}
}//package classes.events
Section 4
//SantaEvents (classes.events.SantaEvents)
package classes.events {
import flash.events.*;
public class SantaEvents extends Event {
public static const SANTA_MOVE:String = "santa_move";
public static const SANTA_MAGIC:String = "santa_magic";
public function SantaEvents(_arg1:String){
super(_arg1);
}
override public function toString():String{
return (formatToString("Santa Events"));
}
}
}//package classes.events
Section 5
//Instructions (classes.gameInterface.Instructions)
package classes.gameInterface {
import flash.display.*;
import flash.events.*;
import classes.*;
public class Instructions extends MovieClip {
public var playGameBtn:SimpleButton;
public function Instructions():void{
var _local1:Vorota;
super();
trace(">>>>>>>>>>>>>>>Instructions");
_local1 = new Vorota(MovieClip(this.parent), true);
GameSettings.music_interface.playMusic("menu", "m_intro_good");
playGameBtn.addEventListener(MouseEvent.MOUSE_DOWN, playGameAction);
}
private function playGameAction(_arg1:MouseEvent=null):void{
var _local2:Vorota;
playGameBtn.removeEventListener(MouseEvent.MOUSE_DOWN, playGameAction);
_local2 = new Vorota(MovieClip(this.parent), false, MovieClip(this.parent), "game");
}
}
}//package classes.gameInterface
Section 6
//Intro (classes.gameInterface.Intro)
package classes.gameInterface {
import flash.display.*;
import flash.events.*;
import classes.*;
public class Intro extends MovieClip {
public var r1:MovieClip;
public var r2:MovieClip;
public var glass2:MovieClip;
public var kub:MovieClip;
public var skipBtn:SimpleButton;
public var rotiy:MovieClip;
public var f:MovieClip;
public var ru4:MovieClip;
public var xbox:MovieClip;
public var glass:MovieClip;
public var oko2:MovieClip;
public var oko3:MovieClip;
public var oko4:MovieClip;
public var rot1:MovieClip;
public var oko1:MovieClip;
public var git:MovieClip;
public var car:MovieClip;
public var rot:MovieClip;
public function Intro():void{
var _local1:Vorota;
super();
addFrameScript(94, frame95, 112, frame113, 164, frame165, 246, frame247, 452, frame453, 453, frame454, 478, frame479, 490, frame491, 553, frame554, 562, frame563, 579, frame580, 634, frame635, 717, frame718, 729, frame730, 730, frame731, 760, frame761, 834, frame835, 860, frame861, 874, frame875, 1189, frame1190);
_local1 = new Vorota(MovieClip(this.parent), true);
skipBtn.addEventListener(MouseEvent.MOUSE_DOWN, skipAction);
this.addEventListener(Event.ENTER_FRAME, update);
trace("INTRO");
}
function frame554(){
rot1.play();
}
function frame835(){
rotiy.play();
glass2.gotoAndPlay(75);
glass.gotoAndPlay(75);
}
function frame165(){
oko1.z1.play();
oko2.z2.play();
car.play();
}
function frame563(){
oko3.play();
oko4.play();
}
function frame718(){
git.play();
}
function frame1190(){
stop();
}
function frame453(){
xbox.play();
}
function frame731(){
kub.play();
}
function frame95(){
oko1.z1.play();
oko2.z2.play();
}
function frame861(){
glass.play();
glass2.play();
}
function frame479(){
r1.play();
r2.play();
}
function frame580(){
r1.play();
r2.play();
}
function frame454(){
rot1.play();
oko3.gotoAndPlay(47);
oko4.gotoAndPlay(47);
}
function frame875(){
f.play();
}
function frame761(){
rotiy.play();
}
private function skipAction(_arg1:MouseEvent=null):void{
var _local2:Vorota;
this.removeEventListener(Event.ENTER_FRAME, update);
skipBtn.removeEventListener(MouseEvent.MOUSE_DOWN, skipAction);
GameSettings.music_interface.stopMusics();
_local2 = new Vorota(MovieClip(this.parent), false, MovieClip(this.parent), "menu");
}
function frame247(){
oko1.gotoAndPlay(47);
oko2.gotoAndPlay(47);
rot.play();
}
private function update(_arg1:Event):void{
trace(currentFrame);
if (currentLabel == "good"){
GameSettings.music_interface.playMusic("intro2", "m_intro_good");
};
if (currentLabel == "bad"){
GameSettings.music_interface.playMusic("intro1", "m_intro_bad");
};
if (currentFrame == totalFrames){
skipAction();
};
}
function frame491(){
r1.play();
r2.play();
}
function frame635(){
git.play();
}
function frame113(){
car.play();
}
function frame730(){
ru4.play();
}
}
}//package classes.gameInterface
Section 7
//MainMenu (classes.gameInterface.MainMenu)
package classes.gameInterface {
import flash.display.*;
import flash.events.*;
import classes.*;
import flash.net.*;
import flash.text.*;
public class MainMenu extends MovieClip {
public var viewTopScoreBtn:SimpleButton;
public var sendToFriendsBtn:SimpleButton;
public var howToPlayBtn:SimpleButton;
public var playGameBtn:SimpleButton;
public var txt:TextField;
public var putGameBtn:SimpleButton;
public var gamezheroBtn:MovieClip;
public var playMoreGamesBtn:SimpleButton;
public function MainMenu():void{
var _local1:Vorota;
super();
GameSettings.music_interface.playMusic("menu", "m_intro_good");
_local1 = new Vorota(MovieClip(this.parent), true);
playGameBtn.addEventListener(MouseEvent.MOUSE_DOWN, playGameAction);
howToPlayBtn.addEventListener(MouseEvent.MOUSE_DOWN, howToPlayAction);
viewTopScoreBtn.addEventListener(MouseEvent.MOUSE_DOWN, viewScore);
sendToFriendsBtn.addEventListener(MouseEvent.MOUSE_DOWN, sendToFriends);
playMoreGamesBtn.addEventListener(MouseEvent.MOUSE_DOWN, playMoreGames);
gamezheroBtn.addEventListener(MouseEvent.MOUSE_DOWN, playMoreGames2);
putGameBtn.addEventListener(MouseEvent.MOUSE_DOWN, putGameAction);
playGameBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
howToPlayBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
viewTopScoreBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
sendToFriendsBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
playMoreGamesBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
gamezheroBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverZorro);
putGameBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
gamezheroBtn.buttonMode = true;
gamezheroBtn.useHandCursor = true;
stage.quality = "BEST";
txt.htmlText = GameSettings._urls["copyright"];
}
private function playGameAction(_arg1:MouseEvent):void{
var _local2:Vorota;
trace("playGame");
GameSettings.sound_interface.playSound(null, "s_click", 0, 0);
diactivateAllButtons();
_local2 = new Vorota(MovieClip(this.parent), false, MovieClip(this.parent), "howToPlay");
}
private function diactivateAllButtons():void{
playGameBtn.removeEventListener(MouseEvent.MOUSE_DOWN, playGameAction);
howToPlayBtn.removeEventListener(MouseEvent.MOUSE_DOWN, howToPlayAction);
viewTopScoreBtn.removeEventListener(MouseEvent.MOUSE_DOWN, viewScore);
sendToFriendsBtn.removeEventListener(MouseEvent.MOUSE_DOWN, sendToFriends);
playMoreGamesBtn.removeEventListener(MouseEvent.MOUSE_DOWN, playMoreGames);
gamezheroBtn.removeEventListener(MouseEvent.MOUSE_DOWN, playMoreGames2);
putGameBtn.removeEventListener(MouseEvent.MOUSE_DOWN, putGameAction);
}
private function putGameAction(_arg1:MouseEvent):void{
trace("putGameAction");
GameSettings.sound_interface.playSound(null, "s_click", 0, 0);
getURL(GameSettings._urls["put_this_game"]);
}
private function mouseOverZorro(_arg1:MouseEvent):void{
gamezheroBtn["blick"].play();
gamezheroBtn["blick2"].play();
GameSettings.sound_interface.playSound(null, "s_over", 0, 0);
}
private function getURL(_arg1:String):void{
var _local2:URLRequest;
_local2 = new URLRequest(_arg1);
navigateToURL(_local2, "_blank");
}
private function mouseOverFunc(_arg1:MouseEvent):void{
GameSettings.sound_interface.playSound(null, "s_over", 0, 0);
}
private function playMoreGames(_arg1:MouseEvent):void{
trace("playMoreGames");
GameSettings.sound_interface.playSound(null, "s_click", 0, 0);
getURL(GameSettings._urls["play_more_games"]);
}
private function playMoreGames2(_arg1:MouseEvent):void{
trace("zorro_logo");
GameSettings.sound_interface.playSound(null, "s_click", 0, 0);
getURL(GameSettings._urls["zorro_logo"]);
}
private function howToPlayAction(_arg1:MouseEvent):void{
var _local2:Vorota;
trace("playGame");
GameSettings.sound_interface.playSound(null, "s_click", 0, 0);
diactivateAllButtons();
_local2 = new Vorota(MovieClip(this.parent), false, MovieClip(this.parent), "intro");
}
private function viewScore(_arg1:MouseEvent):void{
trace("viewScore");
GameSettings.sound_interface.playSound(null, "s_click", 0, 0);
getURL(GameSettings._urls["view_top_score"]);
}
private function sendToFriends(_arg1:MouseEvent):void{
trace("sendToFriends");
GameSettings.sound_interface.playSound(null, "s_click", 0, 0);
getURL(GameSettings._urls["send_to_friends"]);
}
}
}//package classes.gameInterface
Section 8
//PauseMenu (classes.gameInterface.PauseMenu)
package classes.gameInterface {
import flash.display.*;
import flash.events.*;
import classes.*;
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 bg:MovieClip;
public var txt:TextField;
public var soundGameBtn:MovieClip;
private var PAR:MovieClip;
public var gamezheroBtn:MovieClip;
private var PAR2:MovieClip;
private var CURRENT_QUALITY:String;
public function PauseMenu(_arg1:MovieClip){
PAR = _arg1;
PAR2 = MovieClip(_arg1.parent);
PAR2.addChild(this);
gamezheroBtn.addEventListener(MouseEvent.MOUSE_DOWN, gamezheroAction);
gamezheroBtn.alert = "Free Online Games at gamezhero.com";
playGameBtn.addEventListener(MouseEvent.MOUSE_DOWN, playGameAction);
playGameBtn.alert = "Continue Game";
exitGameBtn.addEventListener(MouseEvent.MOUSE_DOWN, exitGameAction);
exitGameBtn.alert = "Abort this game and exit in main menu";
soundGameBtn.addEventListener(MouseEvent.MOUSE_DOWN, soundGameAction);
soundGameBtn.alert = "Sound FX Control";
musicGameBtn.addEventListener(MouseEvent.MOUSE_DOWN, musicGameAction);
musicGameBtn.alert = "Music Control";
gamezheroBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
playGameBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
exitGameBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
soundGameBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
musicGameBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
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(((GameSettings._game_stored_data.data.soundVolumeFlag == 1)) ? 2 : 1);
musicGameBtn.gotoAndStop(((GameSettings._game_stored_data.data.musicVolumeFlag == 1)) ? 2 : 1);
GameSettings.music_game.setMusicVolume(0);
}
private function playGameAction(_arg1:MouseEvent):void{
GameSettings.sound_interface.playSound(null, "s_click", 0, 0);
diactivateAllButtons();
stage.quality = CURRENT_QUALITY;
PAR.iniSoundAndMusic();
PAR.pauseGame(false);
action();
}
private function diactivateAllButtons():void{
gamezheroBtn.removeEventListener(MouseEvent.MOUSE_DOWN, gamezheroAction);
playGameBtn.removeEventListener(MouseEvent.MOUSE_DOWN, playGameAction);
exitGameBtn.removeEventListener(MouseEvent.MOUSE_DOWN, exitGameAction);
soundGameBtn.addEventListener(MouseEvent.MOUSE_DOWN, soundGameAction);
musicGameBtn.addEventListener(MouseEvent.MOUSE_DOWN, musicGameAction);
}
private function soundGameAction(_arg1:MouseEvent=null){
GameSettings._game_stored_data.data.soundVolumeFlag = ((GameSettings._game_stored_data.data.soundVolumeFlag == 1)) ? 0 : 1;
soundGameBtn.gotoAndStop(((GameSettings._game_stored_data.data.soundVolumeFlag == 1)) ? 2 : 1);
}
private function iniSoundAndMusic():void{
if (GameSettings._game_stored_data.data.soundVolumeFlag == 1){
GameSettings.sound_game.setSoundVolume(GameSettings.MUSIC_VOLUME_GAME);
} else {
GameSettings.sound_game.setSoundVolume(0);
};
if (GameSettings._game_stored_data.data.musicVolumeFlag == 1){
GameSettings.music_game.setMusicVolume(GameSettings.MUSIC_VOLUME_GAME);
} else {
GameSettings.music_game.setMusicVolume(0);
};
}
private function getURL(_arg1:String):void{
var _local2:URLRequest;
_local2 = new URLRequest(_arg1);
navigateToURL(_local2, "_blank");
}
public function action():void{
PAR2.removeChild(this);
}
private function mouseOverFunc(_arg1:MouseEvent):void{
var _local2:MovieClip;
GameSettings.sound_interface.playSound(null, "s_over", 0, 0);
_local2 = this[_arg1.target.name];
_local2.blick2.play();
txt.text = _local2.alert;
}
private function exitGameAction(_arg1:MouseEvent):void{
GameSettings.sound_interface.playSound(null, "s_click", 0, 0);
diactivateAllButtons();
stage.quality = CURRENT_QUALITY;
PAR.gameOver();
action();
}
private function gamezheroAction(_arg1:MouseEvent):void{
GameSettings.sound_interface.playSound(null, "s_click", 0, 0);
getURL("http://www.gamezhero.com/?utm_campaign=santas_tower&utm_source=santas_tower&utm_medium=zorro_logo_pause");
}
private function mouseOutFunc(_arg1:MouseEvent):void{
txt.text = "";
}
private function musicGameAction(_arg1:MouseEvent=null){
GameSettings._game_stored_data.data.musicVolumeFlag = ((GameSettings._game_stored_data.data.musicVolumeFlag == 1)) ? 0 : 1;
musicGameBtn.gotoAndStop(((GameSettings._game_stored_data.data.musicVolumeFlag == 1)) ? 2 : 1);
}
}
}//package classes.gameInterface
Section 9
//ResultArea (classes.gameInterface.ResultArea)
package classes.gameInterface {
import flash.display.*;
import flash.events.*;
import classes.*;
import flash.net.*;
public class ResultArea extends MovieClip {
public var viewTopScoreBtn:SimpleButton;
public var sendToFriendsBtn:SimpleButton;
public var putGameBtn:SimpleButton;
public var mainMenuBtn:SimpleButton;
public var score:SubmitArea;
public var playMoreGamesBtn:SimpleButton;
public function ResultArea():void{
var _local1:Vorota;
super();
GameSettings.music_game.stopMusics();
GameSettings.music_interface.playMusic("score", "m_win");
_local1 = new Vorota(MovieClip(this.parent), true);
viewTopScoreBtn.addEventListener(MouseEvent.MOUSE_DOWN, viewScore);
sendToFriendsBtn.addEventListener(MouseEvent.MOUSE_DOWN, sendToFriends);
playMoreGamesBtn.addEventListener(MouseEvent.MOUSE_DOWN, playMoreGames);
mainMenuBtn.addEventListener(MouseEvent.MOUSE_DOWN, mainMenuAction);
putGameBtn.addEventListener(MouseEvent.MOUSE_DOWN, putGameAction);
viewTopScoreBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
sendToFriendsBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
playMoreGamesBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
mainMenuBtn.addEventListener(MouseEvent.ROLL_OVER, mouseOverFunc);
putGameBtn.addEventListener(MouseEvent.MOUSE_DOWN, mouseOverFunc);
stage.quality = "BEST";
}
public function mainMenuAction(_arg1:MouseEvent=null):void{
var _local2:Vorota;
diactivateAllButtons();
_local2 = new Vorota(MovieClip(this.parent), false, MovieClip(this.parent), "menu");
}
private function diactivateAllButtons():void{
viewTopScoreBtn.removeEventListener(MouseEvent.MOUSE_DOWN, viewScore);
sendToFriendsBtn.removeEventListener(MouseEvent.MOUSE_DOWN, sendToFriends);
playMoreGamesBtn.removeEventListener(MouseEvent.MOUSE_DOWN, playMoreGames);
mainMenuBtn.removeEventListener(MouseEvent.MOUSE_DOWN, mainMenuAction);
putGameBtn.removeEventListener(MouseEvent.MOUSE_DOWN, putGameAction);
}
private function putGameAction(_arg1:MouseEvent):void{
trace("putGameAction");
GameSettings.sound_interface.playSound(null, "s_click", 0, 0);
getURL(GameSettings._urls["put_this_game"]);
}
private function getURL(_arg1:String):void{
var _local2:URLRequest;
_local2 = new URLRequest(_arg1);
navigateToURL(_local2, "_blank");
}
private function mouseOverFunc(_arg1:MouseEvent):void{
GameSettings.sound_interface.playSound(null, "s_over", 0, 0);
}
private function playMoreGames(_arg1:MouseEvent):void{
trace("playMoreGames");
GameSettings.sound_interface.playSound(null, "s_click", 0, 0);
getURL(GameSettings._urls["play_more_games"]);
}
private function viewScore(_arg1:MouseEvent):void{
trace("viewScore");
GameSettings.sound_interface.playSound(null, "s_click", 0, 0);
getURL(GameSettings._urls["view_top_score"]);
}
private function sendToFriends(_arg1:MouseEvent):void{
trace("sendToFriends");
GameSettings.sound_interface.playSound(null, "s_click", 0, 0);
getURL(GameSettings._urls["send_to_friends"]);
}
}
}//package classes.gameInterface
Section 10
//SubmitArea (classes.gameInterface.SubmitArea)
package classes.gameInterface {
import flash.display.*;
import flash.events.*;
import classes.crypto.*;
import classes.*;
import classes.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.1"
public function SubmitArea():void{
versionGame = "1.1";
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(GameSettings._urls["score"]);
infoText.text = "loading score...";
}
private function loadErrorHandler(_arg1:Event):void{
trace("FUCK");
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{
GameSettings._game_stored_data.data.playerName = _arg1;
MovieClip(parent).mainMenuAction();
}
private function classLoadedHandler(_arg1:Event):void{
var _local2:Class;
trace("GREAT");
_local2 = scoreLibrary.getClass("Score");
trace(_local2);
if (GameSettings._game_stored_data.data.playerName == undefined){
GameSettings._game_stored_data.data.playerName = "";
};
score = new _local2(this, GameSettings._game_stored_data.data.playerName, GameSettings.getSckore());
this.addChild(score);
}
}
}//package classes.gameInterface
Section 11
//Win2 (classes.gameInterface.Win2)
package classes.gameInterface {
import flash.display.*;
import flash.events.*;
import classes.*;
public class Win2 extends MovieClip {
public var bolt:MovieClip;
public function Win2():void{
var _local1:Vorota;
super();
addFrameScript(102, frame103, 194, frame195);
_local1 = new Vorota(MovieClip(this.parent), true);
GameSettings.music_game.stopMusics();
GameSettings.music_interface.playMusic("win2", "m_intro_bad");
this.addEventListener(Event.ENTER_FRAME, update);
trace("Win2");
}
function frame103(){
}
function frame195(){
stop();
}
private function skipAction(_arg1:MouseEvent=null):void{
var _local2:Vorota;
this.removeEventListener(Event.ENTER_FRAME, update);
_local2 = new Vorota(MovieClip(this.parent), false, MovieClip(this.parent), "win");
}
private function update(_arg1:Event):void{
if (currentFrame == totalFrames){
skipAction();
};
}
}
}//package classes.gameInterface
Section 12
//FlashChecker (classes.gamezhero.FlashChecker)
package classes.gamezhero {
import flash.display.*;
import flash.events.*;
import flash.system.*;
public class FlashChecker extends MovieClip {
public var b:SimpleButton;
private var PAR:MovieClip;
public var VERSION:uint;
public function FlashChecker(_arg1:MovieClip):void{
addFrameScript(0, frame1, 1, frame2);
PAR = _arg1;
_arg1.addChild(this);
stage.addEventListener(Event.RESIZE, resizeStage);
this.addEventListener(Event.REMOVED_FROM_STAGE, removedFromStage);
resizeStage(null);
}
public function destroy():void{
PAR.removeChild(this);
}
public function removedFromStage(_arg1:Event):void{
stage.removeEventListener(Event.RESIZE, resizeStage);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
public function resizeStage(_arg1:Event):void{
trace(">>> resizeStage FlashChecker");
this.x = Math.round(((stage.stageWidth / 2) - (this.width / 2)));
this.y = Math.round(((stage.stageHeight / 2) - (this.height / 2)));
}
public function checkFlashVersion(_arg1:Number):Boolean{
var _local2:Boolean;
var _local3:String;
var _local4:String;
_local2 = true;
_local3 = Capabilities.version;
_local4 = _local3.substring(_local3.indexOf(" "), _local3.indexOf(","));
trace(("Flash Player Version:" + _local4));
if (Number(_local4) >= _arg1){
_local2 = true;
} else {
_local2 = false;
};
return (_local2);
}
}
}//package classes.gamezhero
Section 13
//GamePreloader (classes.gamezhero.GamePreloader)
package classes.gamezhero {
import flash.display.*;
import flash.events.*;
import classes.*;
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;
trace(GameSettings._urls["send_to_friends_context"]);
_local2 = new URLRequest(GameSettings._urls["send_to_friends_context"]);
navigateToURL(_local2, "_blank");
}
public function comp(_arg1:Event=null):void{
trace("COMP");
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{
trace("ERROR LOADING");
}
public function gotoGamezhero2(_arg1:ContextMenuEvent=null):void{
var _local2:URLRequest;
_local2 = new URLRequest(GameSettings._urls["play_more_games_context"]);
navigateToURL(_local2, "_blank");
}
public function gotoGamezhero(_arg1:MouseEvent=null):void{
var _local2:URLRequest;
_local2 = new URLRequest(GameSettings._urls["preloader"]);
navigateToURL(_local2, "_blank");
}
public function resizeStage(_arg1:Event):void{
trace("UPDATE RESIZE");
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;
trace(GameSettings._urls["put_this_game_context"]);
_local2 = new URLRequest(GameSettings._urls["put_this_game_context"]);
navigateToURL(_local2, "_blank");
}
public function iniPreloader(_arg1:Event):void{
var _local2:Number;
trace("iniPreloader");
_local2 = (-128 + (132 * (PAR.loaderInfo.bytesLoaded / PAR.loaderInfo.bytesTotal)));
this["intro"]["pr"]["begun"].x = (this["intro"]["pr"]["begun"].x - ((this["intro"]["pr"]["begun"].x - _local2) / 5));
if (PAR.loaderInfo.bytesLoaded != PAR.loaderInfo.bytesTotal){
if (this["intro"].currentLabel == "stopFrame"){
this["intro"].stop();
trace("STOP");
};
} else {
if (this["intro"].currentLabel == "stopFrame"){
this["intro"].play();
trace("PLAY");
};
if (this["intro"].currentFrame == this["intro"].totalFrames){
this["intro"].stop();
action();
};
};
}
}
}//package classes.gamezhero
Section 14
//Degree (classes.math.Degree)
package classes.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 classes.math
Section 15
//Vector (classes.math.Vector)
package classes.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 classes.math
Section 16
//Music (classes.media.Music)
package classes.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:Timer;
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(50, 0);
super();
}
public function stopMusics():void{
var _local1:*;
var _local2:*;
for (_local1 in musicArchByID) {
musicOut(_local1);
};
for (_local2 in musicArch) {
};
(activeMusic = "");
}
public function playMusic(_arg1:String, _arg2:String, _arg3:Number=0):void{
var soundFactory:Sound;
var sndClass:Class;
var id = _arg1;
var sName = _arg2;
var step = _arg3;
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, step);
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, _arg3:Number=0):void{
var _local4:Number;
var _local5:SoundChannel;
var _local6:SoundTransform;
_local4 = 1000;
_local5 = _arg2.play(0, _local4);
_local6 = _local5.soundTransform;
_local6.pan = 0;
_local6.volume = ((_arg3)>musicVolume) ? musicVolume : _arg3;
_local5.soundTransform = _local6;
_local5.addEventListener(Event.SOUND_COMPLETE, completeHandler);
musicArch[_local5] = {id:_arg1, sound:_arg2};
musicArchByID[_arg1] = _local5;
}
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.025);
_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();
trace("STOP AFTER MINUS");
musicOutArr.splice(_local2, 1);
_local2--;
};
_local2++;
};
if ((((musicInArr.length == 0)) && ((musicOutArr.length == 0)))){
timerSub.removeEventListener("timer", updateMusicValue);
timerSub.stop();
};
}
}
}//package classes.media
Section 17
//SoundFX (classes.media.SoundFX)
package classes.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):SoundChannel{
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;
};
return (_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:*;
var _local4:Sound;
var _local5:*;
var _local6:Number;
var _local7:Number;
_local2 = _arg1.target;
_local3 = soundArch[_local2].id;
if (soundArch[_local2].loopFlag == "infinity"){
_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];
delete soundArchByID[_local3];
}
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):SoundChannel{
var sndClass:Class;
var soundFactory:Sound;
var id = _arg1;
var sName = _arg2;
var loopFlag = _arg3;
var pan = _arg4;
var kof = _arg5;
if (soundArchByID[id] == undefined){
try {
sndClass = (getDefinitionByName(sName) as Class);
soundFactory = (new (sndClass) as Sound);
} catch(e:ReferenceError) {
trace("НЕТ ТАКОГО ЗВУКА :", sName);
return (null);
};
return (iniSound(id, soundFactory, pan, loopFlag, kof));
//unresolved jump
};
return (null);
}
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 classes.media
Section 18
//ClassLoader (classes.utils.ClassLoader)
package classes.utils {
import flash.display.*;
import flash.events.*;
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) {
trace("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 classes.utils
Section 19
//IntUtil (classes.utils.IntUtil)
package classes.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 classes.utils
Section 20
//URL (classes.utils.URL)
package classes.utils {
public class URL {
private var _scheme:String;
private var _host:String;
private var _query:String;
private var _path:String;
private var _userinfo:String;
private var _port:String;
private var _fragment:String;
private var _url:String;
private static const PATTERN:RegExp = /^([A-Za-z0-9_+.]{1,8}:\/\/)?([!-~]+@)?([^\/?#:]*)(:[0-9]*)?(\/[^?#]*)?(\?[^#]*)?(\#.*)?/i;
public function URL(_arg1:String):void{
var _local2:Array;
super();
_local2 = _arg1.match(URL.PATTERN);
_url = _local2[0];
_scheme = _local2[1];
_userinfo = _local2[2];
_host = _local2[3];
_port = _local2[4];
_path = _local2[5];
_query = _local2[6];
_fragment = _local2[7];
}
public function get port():int{
return (((_port.length <= 0)) ? undefined : int(_port.substring(1, _port.length)));
}
public function get query():Object{
var _local1:*;
var _local2:String;
var _local3:Array;
var _local4:int;
var _local5:Array;
_local1 = {raw:undefined, parsed:undefined};
if (((_query) && ((_query.length > 0)))){
_local1.raw = _query;
_local2 = _query.substring(1, _query.length);
_local3 = _local2.split("&");
_local1.parsed = ((_local3.length > 0)) ? {} : undefined;
_local4 = 0;
while (_local4 < _local3.length) {
_local5 = _local3[_local4].split("=");
_local1.parsed[_local5[0]] = _local5[1];
_local4++;
};
};
return (_local1);
}
public function get fragment():String{
return (((_fragment.length <= 0)) ? undefined : _fragment);
}
public function get scheme():String{
return (((_scheme.length <= 0)) ? undefined : _scheme.substring(0, (_scheme.length - 3)));
}
public function get host():String{
return (((_host.length <= 0)) ? undefined : _host);
}
public function get path():String{
return (((_path.length <= 0)) ? undefined : _path);
}
public function get url():String{
return (((_url.length <= 0)) ? undefined : _url);
}
public function get userinfo():Object{
var _local1:*;
var _local2:Array;
_local1 = {user:undefined, pass:undefined};
if (_userinfo){
_local2 = _userinfo.substring(0, (_userinfo.length - 1)).split(":");
_local1.user = (_local2[0]) ? _local2[0] : _local1.user;
_local1.pass = (_local2[1]) ? _local2[1] : _local1.pas;
};
return (_local1);
}
}
}//package classes.utils
Section 21
//AlertText (classes.AlertText)
package classes {
import flash.display.*;
import classes.events.*;
import flash.utils.*;
public class AlertText extends MovieClip {
public var GOAL:MovieClip;
public var SKIN;
public var TYPE:String;
public function AlertText(_arg1:MovieClip, _arg2:String, _arg3:String, _arg4:Number=-1, _arg5:Number=-1):void{
var ClassSkin:Class;
var goal = _arg1;
var type = _arg2;
var txt = _arg3;
var __x = _arg4;
var __y = _arg5;
super();
GOAL = goal;
TYPE = type;
__x = ((__x)==-1) ? GameSettings.GAME_WIDTH_2 : __x;
__y = ((__y)==-1) ? GameSettings.GAME_HEIGHT_2 : __y;
this.x = __x;
this.y = __y;
GOAL.addChild(this);
stage.addEventListener(GameEvents.GAME_UPDATE, update);
try {
ClassSkin = (getDefinitionByName(TYPE) as Class);
if (ClassSkin != null){
SKIN = new (ClassSkin);
this.addChild(SKIN);
} else {
remove();
};
} catch(e:Error) {
remove();
};
if (SKIN["mc"].txt){
SKIN["mc"].txt.text = txt;
};
trace("AlertText ", type, txt);
}
private function remove(){
stage.removeEventListener(GameEvents.GAME_UPDATE, update);
GOAL.removeChild(this);
}
private function update(_arg1:GameEvents):void{
SKIN.gotoAndStop((SKIN.currentFrame + 1));
if (SKIN.currentLabel == "close"){
remove();
};
}
}
}//package classes
Section 22
//Bonus (classes.Bonus)
package classes {
import flash.display.*;
import classes.events.*;
public class Bonus extends MovieClip {
public var GOAL:MovieClip;
public var VALUE:Object;
public var mc:MovieClip;
public var MAGIC:Array;
public var PAUSE_AMOUNT:Number;// = 50
public function Bonus(_arg1:MovieClip, _arg2:Object){
var _local3:Number;
MAGIC = new Array();
VALUE = new Object();
PAUSE_AMOUNT = 50;
super();
trace("INI BONUS ");
GOAL = _arg1;
VALUE = _arg2;
this.x = _arg2.x;
this.y = _arg2.y;
_local3 = Math.round(((((3 - 1) * 10) + (9 * Math.random())) + 1));
MAGIC.push(_local3);
this["mc"]["magicMc"].gotoAndStop(_local3);
this.gotoAndStop(1);
GOAL.addChild(this);
stage.addEventListener(GameEvents.GAME_UPDATE, update);
stage.addEventListener(GameEvents.GAME_MAGIC_OK, magicOkAction);
}
public function activeGameEvent(_arg1:String){
var _local2:GameEvents;
_local2 = new GameEvents(_arg1);
_local2.gameValue = this;
stage.dispatchEvent(_local2);
}
public function remove():void{
clearEvents();
GOAL.removeChild(this);
}
public function update(_arg1:GameEvents):void{
if (this.currentLabel == "stop"){
remove();
} else {
if (this.currentLabel == "pause"){
PAUSE_AMOUNT--;
if (PAUSE_AMOUNT <= 0){
this.gotoAndStop((this.currentFrame + 1));
};
} else {
this.gotoAndStop((this.currentFrame + 1));
};
};
}
public function clearEvents():void{
stage.removeEventListener(GameEvents.GAME_MAGIC_OK, magicOkAction);
stage.removeEventListener(GameEvents.GAME_UPDATE, update);
}
public function magicOkAction(_arg1:GameEvents):void{
var _local2:GameEvents;
if (_arg1.gameValue.id == MAGIC[0]){
PAUSE_AMOUNT = 0;
_local2 = new GameEvents(GameEvents.GAME_BONUS_OK);
_arg1.gameValue.id = -2;
_local2.gameValue = _arg1.gameValue;
stage.dispatchEvent(_local2);
};
}
}
}//package classes
Section 23
//Enemy (classes.Enemy)
package classes {
import flash.display.*;
import classes.events.*;
import flash.utils.*;
import flash.geom.*;
public class Enemy extends MovieClip {
public var _bodyAction:String;
public var GOAL:MovieClip;
public var SPEED:Number;
public var BOOM_AMOUT:Number;
public var TYPE_SKIN:Number;
public var BOSS:Boolean;// = false
public var _bodyValue:String;
public var ticks:Number;// = 0
public var SCORE:Number;
public var SKIN:MovieClip;
public var TYPE:String;
public var DY:Number;
public var MAGIC:Array;
public var TYPE_MOVE:String;
public var DX:Number;
public var enemy_action:String;// = "enemy_move"
public var MOVE:Number;
public var PAUSE:Number;
public function Enemy(_arg1:MovieClip, _arg2:Object, _arg3:Boolean=false){
var _local4:uint;
var _local5:Number;
MAGIC = new Array();
ticks = 0;
enemy_action = EnemyEvents.ENEMY_MOVE;
BOSS = false;
super();
GOAL = _arg1;
PAUSE = _arg2.pause;
MOVE = _arg2.move;
SPEED = _arg2.speed;
TYPE = _arg2.type;
TYPE_MOVE = _arg2.typeMove;
SCORE = ((_arg2.score)==undefined) ? 10 : _arg2.score;
BOOM_AMOUT = 50;
BOSS = _arg3;
DY = 40;
DX = 0;
while (_local4 < _arg2.magic.length) {
_local5 = Math.round(((((_arg2.magic[_local4] - 1) * 10) + (9 * Math.random())) + 1));
MAGIC.push(_local5);
_local4++;
};
TYPE_SKIN = Number(TYPE.substr(Number((TYPE.indexOf("Skin") + 4)), 1));
this.x = _arg2.x;
this.y = _arg2.y;
this.mouseEnabled = false;
this.mouseChildren = false;
GOAL.tower.addChild(this);
iniEnemy();
}
public function enemyDie(_arg1:EnemyEvents=null):void{
this.y = (this.y + 15);
if (this.y > 500){
remove();
};
if (SKIN.body){
SKIN.body.gotoAndStop((SKIN.body.currentFrame + 1));
if (SKIN.body.currentLabel == "stop"){
};
};
}
public function iniEnemy():void{
var ClassSkin:Class;
try {
ClassSkin = (getDefinitionByName(TYPE) as Class);
if (ClassSkin != null){
SKIN = new (ClassSkin);
};
} catch(e:Error) {
};
this.addChild(SKIN);
SKIN.gotoAndStop(1);
stage.addEventListener(GameEvents.GAME_UPDATE, update);
stage.addEventListener(GameEvents.GAME_MAGIC_OK, magicOkAction);
stage.addEventListener(GameEvents.GAME_BONUS_OK, bonusOkAction);
stage.addEventListener(GameEvents.GAME_CHANGE_LEVEL, changeLevelAction);
this.addEventListener(EnemyEvents.ENEMY_CHANGE_ACTION, changeAction);
this.addEventListener(EnemyEvents.ENEMY_MOVE, enemyMove);
this.addEventListener(EnemyEvents.ENEMY_PAUSE, enemyPause);
this.addEventListener(EnemyEvents.ENEMY_UP, enemyUp);
this.addEventListener(EnemyEvents.ENEMY_GRAB, enemyGrab);
this.addEventListener(EnemyEvents.ENEMY_DIE, enemyDie);
this.addEventListener(EnemyEvents.ENEMY_BOOM, enemyBoom);
stage.addEventListener(GameEvents.GAME_OVER, gameOverAction);
activeGameEvent(GameEvents.GAME_ADD_ENEMY);
}
public function changeAction(_arg1:EnemyEvents):void{
ticks = 0;
switch (_arg1.action){
case EnemyEvents.ENEMY_MOVE:
if (SKIN.currentLabel != "move"){
SKIN.gotoAndStop("move");
};
if (TYPE_SKIN == 2){
SKIN.body.gotoAndPlay(1);
} else {
SKIN.body.play();
};
enemy_action = EnemyEvents.ENEMY_MOVE;
break;
case EnemyEvents.ENEMY_PAUSE:
if (SKIN.currentLabel != "pause"){
SKIN.gotoAndStop("pause");
};
if (TYPE_SKIN == 2){
} else {
if (SKIN.body){
SKIN.body.stop();
};
};
enemy_action = EnemyEvents.ENEMY_PAUSE;
break;
case EnemyEvents.ENEMY_UP:
if (SKIN.currentLabel != "up"){
SKIN.gotoAndStop("up");
};
enemy_action = EnemyEvents.ENEMY_UP;
break;
case EnemyEvents.ENEMY_BOOM:
if (SKIN.currentLabel != "boom"){
SKIN.gotoAndStop("boom");
};
GameSettings.sound_game.playSound(null, "s_kick", null, 0);
enemy_action = EnemyEvents.ENEMY_BOOM;
if (SKIN.body){
SKIN.body.gotoAndPlay(1);
};
break;
case EnemyEvents.ENEMY_DIE:
if (SKIN.currentLabel != "die"){
SKIN.gotoAndStop("die");
};
enemy_action = EnemyEvents.ENEMY_DIE;
activeGameEvent(GameEvents.GAME_REMOVE_ENEMY);
break;
case EnemyEvents.ENEMY_GRAB:
if (SKIN.currentLabel != "grab"){
SKIN.gotoAndStop("grab");
};
enemy_action = EnemyEvents.ENEMY_GRAB;
activeGameEvent(GameEvents.GAME_REMOVE_ENEMY);
break;
};
}
public function changeLevelAction(_arg1:GameEvents):void{
GameSettings.addSckore(-100);
changeActionEvent(EnemyEvents.ENEMY_DIE);
}
public function changeActionEvent(_arg1:String){
var _local2:EnemyEvents;
_local2 = new EnemyEvents(EnemyEvents.ENEMY_CHANGE_ACTION);
_local2.action = _arg1;
this.dispatchEvent(_local2);
}
public function enemyUp(_arg1:EnemyEvents=null):void{
if (SKIN.body){
SKIN.body.gotoAndStop((SKIN.body.currentFrame + 1));
if (SKIN.body.currentLabel == "stop"){
changeActionEvent(EnemyEvents.ENEMY_GRAB);
};
};
}
public function enemyGrab(_arg1:EnemyEvents=null):void{
if (SKIN.body){
SKIN.body.gotoAndStop((SKIN.body.currentFrame + 1));
if (SKIN.body.currentLabel == "stop"){
activeGameEvent(GameEvents.GAME_GRAB);
remove();
};
};
}
public function enemyPause(_arg1:EnemyEvents=null):void{
if (SKIN.body){
if (ticks > PAUSE){
ticks = 0;
changeActionEvent(EnemyEvents.ENEMY_MOVE);
};
};
}
public function activeGameEvent(_arg1:String){
var _local2:GameEvents;
_local2 = new GameEvents(_arg1);
_local2.gameValue = this;
stage.dispatchEvent(_local2);
}
public function enemyMove(_arg1:EnemyEvents=null):void{
var _local2:Point;
this.y = (this.y - SPEED);
_local2 = new Point(this.x, this.y);
_local2 = GOAL.tower.localToGlobal(_local2);
if (GOAL.tower.boryer.hitTestPoint(_local2.x, _local2.y, true)){
changeActionEvent(EnemyEvents.ENEMY_UP);
} else {
if (ticks > MOVE){
ticks = 0;
changeActionEvent(EnemyEvents.ENEMY_PAUSE);
};
};
}
public function checkInMagic(_arg1:Object):Boolean{
trace(("checkInMagic " + _arg1.id));
if (_arg1.id == -2){
return (true);
};
if ((((((MAGIC[0] == _arg1.id)) && (!((enemy_action == EnemyEvents.ENEMY_GRAB))))) && (!((enemy_action == EnemyEvents.ENEMY_UP))))){
return (true);
};
return (false);
}
public function remove():void{
clearEvents();
GOAL.tower.removeChild(this);
}
public function enemyBoom(_arg1:EnemyEvents=null):void{
if (ticks < BOOM_AMOUT){
this.y = (this.y + 1);
} else {
changeActionEvent(EnemyEvents.ENEMY_MOVE);
};
if (SKIN.body){
SKIN.body.gotoAndStop((SKIN.body.currentFrame + 1));
};
}
public function bonusOkAction(_arg1:GameEvents):void{
trace("BONUS+++");
_arg1.gameValue.proc = 100;
magicOkAction(_arg1);
}
private function gameOverAction(_arg1:GameEvents=null):void{
clearEvents();
}
public function update(_arg1:GameEvents=null):void{
ticks++;
this.dispatchEvent(new EnemyEvents(enemy_action));
}
public function clearEvents():void{
stage.removeEventListener(GameEvents.GAME_UPDATE, update);
stage.removeEventListener(GameEvents.GAME_MAGIC_OK, magicOkAction);
stage.removeEventListener(GameEvents.GAME_BONUS_OK, bonusOkAction);
stage.removeEventListener(GameEvents.GAME_CHANGE_LEVEL, changeLevelAction);
this.removeEventListener(EnemyEvents.ENEMY_CHANGE_ACTION, changeAction);
this.removeEventListener(EnemyEvents.ENEMY_MOVE, enemyMove);
this.removeEventListener(EnemyEvents.ENEMY_PAUSE, enemyPause);
this.removeEventListener(EnemyEvents.ENEMY_UP, enemyUp);
this.removeEventListener(EnemyEvents.ENEMY_GRAB, enemyGrab);
this.removeEventListener(EnemyEvents.ENEMY_DIE, enemyDie);
this.removeEventListener(EnemyEvents.ENEMY_BOOM, enemyBoom);
stage.removeEventListener(GameEvents.GAME_OVER, gameOverAction);
}
public function magicOkAction(_arg1:GameEvents):void{
var _local2:Number;
var _local3:Point;
var _local4:Number;
var _local5:AlertText;
if (MAGIC.length > 0){
if (checkInMagic(_arg1.gameValue)){
if (MAGIC.length > 1){
MAGIC.splice(0, 1);
changeActionEvent(EnemyEvents.ENEMY_BOOM);
activeGameEvent(GameEvents.GAME_MAGIC_COMPLITE);
} else {
changeActionEvent(EnemyEvents.ENEMY_DIE);
};
if (SCORE > 1500){
SCORE = 0;
};
_local2 = _arg1.gameValue.proc;
if (_local2 > 100){
_local2 = 0;
};
trace((((("PROC>>>>>> " + _arg1.gameValue.proc) + " - ") + " ") + Math.floor(((SCORE * _arg1.gameValue.proc) / 100))));
GameSettings.addSckore(Math.floor(((SCORE * _local2) / 100)));
GameSettings._combo_amount++;
if (GameSettings._combo_amount > 1){
_local3 = new Point(this.x, this.y);
_local3 = GOAL.tower.localToGlobal(_local3);
_local4 = (GameSettings._combo_amount * SCORE);
_local5 = new AlertText(GOAL, "Combo", String(("combo +" + _local4)), _local3.x, (_local3.y + DY));
GameSettings.addSckore(_local4);
};
};
};
}
}
}//package classes
Section 24
//EnemyBoss (classes.EnemyBoss)
package classes {
import flash.display.*;
import classes.events.*;
import flash.geom.*;
public class EnemyBoss extends Enemy {
public function EnemyBoss(_arg1:MovieClip, _arg2:Object){
super(_arg1, _arg2, true);
DY = -120;
DX = 120;
}
override public function changeAction(_arg1:EnemyEvents):void{
ticks = 0;
switch (_arg1.action){
case EnemyEvents.ENEMY_MOVE:
if (SKIN.currentLabel != "move"){
SKIN.gotoAndStop("move");
};
SKIN.beer.play();
enemy_action = EnemyEvents.ENEMY_MOVE;
break;
case EnemyEvents.ENEMY_PAUSE:
if (SKIN.currentLabel != "pause"){
SKIN.gotoAndStop("pause");
};
SKIN.beer.stop();
enemy_action = EnemyEvents.ENEMY_PAUSE;
break;
case EnemyEvents.ENEMY_BOOM:
if (SKIN.currentLabel != "boom"){
SKIN.gotoAndStop("boom");
};
GameSettings.sound_game.playSound(null, "s_kick", null, 0);
enemy_action = EnemyEvents.ENEMY_BOOM;
if (SKIN.body){
SKIN.body.gotoAndPlay(1);
};
SKIN.beer.play();
break;
case EnemyEvents.ENEMY_DIE:
if (SKIN.currentLabel != "boom"){
SKIN.gotoAndStop("boom");
};
enemy_action = EnemyEvents.ENEMY_DIE;
activeGameEvent(GameEvents.GAME_REMOVE_ENEMY);
break;
};
}
override public function enemyPause(_arg1:EnemyEvents=null):void{
if (SKIN.body){
if (ticks > PAUSE){
ticks = 0;
changeActionEvent(EnemyEvents.ENEMY_MOVE);
};
};
}
override public function enemyMove(_arg1:EnemyEvents=null):void{
var _local2:Point;
this.y = (this.y - SPEED);
_local2 = new Point(this.x, this.y);
_local2 = GOAL.tower.localToGlobal(_local2);
if (GOAL.tower.boryer.hitTestPoint(_local2.x, _local2.y, true)){
GOAL.gameOver();
PAUSE = 1000000;
ticks = (MOVE + 1);
};
if (ticks > MOVE){
ticks = 0;
changeActionEvent(EnemyEvents.ENEMY_PAUSE);
};
}
override public function enemyBoom(_arg1:EnemyEvents=null):void{
this.y = (this.y - SPEED);
if (ticks < BOOM_AMOUT){
} else {
changeActionEvent(EnemyEvents.ENEMY_MOVE);
};
if (SKIN.body){
SKIN.body.gotoAndStop((SKIN.body.currentFrame + 1));
};
}
override public function enemyDie(_arg1:EnemyEvents=null):void{
this.y = (this.y + 15);
if (this.y > 600){
GOAL.gameWin();
remove();
};
if (SKIN.body){
SKIN.body.gotoAndStop((SKIN.body.currentFrame + 1));
};
}
}
}//package classes
Section 25
//enemyBoss (classes.enemyBoss)
package classes {
import flash.display.*;
public dynamic class enemyBoss extends MovieClip {
}
}//package classes
Section 26
//EnemyFly (classes.EnemyFly)
package classes {
import flash.display.*;
import classes.events.*;
import flash.geom.*;
public class EnemyFly extends Enemy {
public var DIRECTION:String;
public function EnemyFly(_arg1:MovieClip, _arg2:Object){
super(_arg1, _arg2);
DY = -120;
if (String(_arg2.type).indexOf("left") != -1){
DIRECTION = "left";
} else {
DIRECTION = "right";
};
}
override public function enemyMove(_arg1:EnemyEvents=null):void{
var _local2:Point;
this.y = (this.y + SPEED);
_local2 = new Point(this.x, this.y);
_local2 = GOAL.tower.localToGlobal(_local2);
if (GOAL.tower.boryer.hitTestPoint(_local2.x, _local2.y, true)){
changeActionEvent(EnemyEvents.ENEMY_GRAB);
};
if (SKIN.body){
SKIN.body.gotoAndStop((SKIN.body.currentFrame + 1));
};
}
override public function enemyBoom(_arg1:EnemyEvents=null):void{
if (ticks < BOOM_AMOUT){
this.y = (this.y - (SPEED / 3));
} else {
changeActionEvent(EnemyEvents.ENEMY_MOVE);
};
switch (DIRECTION){
case "left":
this.x = (this.x - 1);
break;
case "right":
this.x = (this.x + 1);
break;
};
if (SKIN.body){
SKIN.body.gotoAndStop((SKIN.body.currentFrame + 1));
};
}
override public function enemyDie(_arg1:EnemyEvents=null):void{
switch (DIRECTION){
case "left":
this.x = (this.x - 15);
if (this.x < -200){
remove();
};
break;
case "right":
this.x = (this.x + 15);
if (this.x > (GameSettings.GAME_WIDTH + 200)){
remove();
};
break;
};
if (SKIN.body){
SKIN.body.gotoAndStop((SKIN.body.currentFrame + 1));
};
}
}
}//package classes
Section 27
//Game (classes.Game)
package classes {
import flash.display.*;
import flash.events.*;
import classes.events.*;
import flash.utils.*;
import flash.text.*;
import classes.gameInterface.*;
public class Game extends MovieClip {
public var tower:MovieClip;
private var changeLevelArr:Array;
public var scr:TextField;
public var bg:MovieClip;
private var panelBottom:Panel;
private var pauseFlag:Boolean;// = false
public var trees:MovieClip;
private var lampTimer:Timer;
private var gameTimer:Timer;
private var panelTop:Panel;
private var magicFlag:Boolean;// = false
private var iteration:Number;// = 0
public var superMagic:MovieClip;
public function Game(){
var _local1:Vorota;
iteration = 0;
changeLevelArr = new Array();
magicFlag = false;
pauseFlag = false;
super();
stage.quality = "BEST";
_local1 = new Vorota(this, true);
GameSettings.music_interface.stopMusics();
GameSettings.music_game.stopMusics();
iniSoundAndMusic();
iniGame();
trace(">>>>>>>>>>> GAME");
}
private function removeAllGameObjects():void{
GameSettings.sound_interface.stopSounds();
stage.removeEventListener(Event.DEACTIVATE, deactivateAction);
stage.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownAction);
stage.removeEventListener(MouseEvent.MOUSE_UP, mouseUpAction);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownAction);
stage.removeEventListener(KeyboardEvent.KEY_UP, keyUpAction);
stage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveAction);
stage.removeEventListener(GameEvents.GAME_UPDATE, changeLevelFocus);
stage.removeEventListener(GameEvents.GAME_UPDATE, changeLevelAction);
lampTimer.removeEventListener("timer", updateLamp);
lampTimer.stop();
gameTimer.removeEventListener("timer", updateGame);
gameTimer.stop();
}
public function pauseGame(_arg1:Boolean):void{
var _local2:*;
if (pauseFlag != _arg1){
pauseFlag = _arg1;
if (pauseFlag){
gameTimer.stop();
lampTimer.stop();
_local2 = new PauseMenu(MovieClip(this));
} else {
gameTimer.start();
lampTimer.start();
pauseFlag = false;
};
};
}
private function mouseMoveAction(_arg1:MouseEvent=null):void{
}
private function addBonus(_arg1:Object){
var _local2:*;
_local2 = new Bonus(this, _arg1);
}
private function changeLevelAction(_arg1:GameEvents=null):void{
var _local2:uint;
var _local3:Number;
var _local4:AlertText;
if (changeLevelArr.length > 0){
while (_local2 < changeLevelArr.length) {
_local3 = (MovieClip(changeLevelArr[_local2].goal).y - changeLevelArr[_local2].posY);
changeLevelArr[_local2].goal.y = (changeLevelArr[_local2].goal.y - (_local3 / 10));
if (Math.abs(_local3) < 1){
changeLevelArr.splice(_local2, 1);
_local2--;
};
_local2++;
};
} else {
stage.removeEventListener(GameEvents.GAME_UPDATE, changeLevelAction);
_local4 = new AlertText(this, "Alert", String(("Wave " + GameSettings._current_level)));
};
panelTop.y = tower.y;
}
public function exitGame(_arg1:Number=0):void{
var _local2:String;
var _local3:Vorota;
iniSoundAndMusic();
_local2 = "win";
if (_arg1 == 1){
_local2 = "win2";
};
_local3 = new Vorota(this, false, MovieClip(parent), _local2, removeAllGameObjects);
}
private function mouseDownAction(_arg1:MouseEvent=null):void{
if (pauseFlag == false){
startMagic();
};
}
private function keyDownAction(_arg1:KeyboardEvent):void{
var _local2:GameEvents;
if (_arg1.keyCode == 27){
pauseGame(true);
};
if ((((_arg1.keyCode == 32)) && ((GameSettings._super_magic > 0)))){
GameSettings._super_magic--;
superMagic.gotoAndStop((GameSettings._super_magic + 1));
GameSettings.sound_game.playSound(null, "s_magic1", null, 0);
_local2 = new GameEvents(GameEvents.GAME_BONUS_OK);
_local2.gameValue = {id:-2, proc:1};
stage.dispatchEvent(_local2);
};
}
private function keyUpAction(_arg1:KeyboardEvent):void{
}
public function iniSoundAndMusic():void{
trace(((("iniSoundAndMusic:" + GameSettings._game_stored_data.data.soundVolumeFlag) + " ") + GameSettings._game_stored_data.data.musicVolumeFlag));
if (GameSettings._game_stored_data.data.soundVolumeFlag == 1){
GameSettings.sound_game.setSoundVolume(GameSettings.MUSIC_VOLUME_GAME);
} else {
GameSettings.sound_game.setSoundVolume(0);
};
if (GameSettings._game_stored_data.data.musicVolumeFlag == 1){
GameSettings.music_game.setMusicVolume(GameSettings.MUSIC_VOLUME_GAME);
} else {
GameSettings.music_game.setMusicVolume(0);
};
}
private function updateLamp(_arg1:TimerEvent):void{
stage.dispatchEvent(new GameEvents(GameEvents.GAME_CHANGE_LAMP));
}
private function updateGame(_arg1:TimerEvent):void{
stage.dispatchEvent(new GameEvents(GameEvents.GAME_UPDATE));
_arg1.updateAfterEvent();
checkGameAction();
}
private function startMagic():void{
var _local1:Magic;
magicFlag = true;
GameSettings._combo_amount = 0;
stage.dispatchEvent(new GameEvents(GameEvents.GAME_START_MAGIC));
stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveAction);
_local1 = new Magic(this);
}
private function mouseUpAction(_arg1:MouseEvent=null):void{
if (pauseFlag == false){
stopMagic();
};
}
private function addEnemy(_arg1:Object):void{
var _local2:Enemy;
var _local3:EnemyFly;
var _local4:EnemyBoss;
if (_arg1.typeMove == "up"){
_local2 = new Enemy(this, _arg1);
} else {
if (_arg1.typeMove == "down"){
_local3 = new EnemyFly(this, _arg1);
} else {
if (_arg1.typeMove == "boss"){
_local4 = new EnemyBoss(this, _arg1);
};
};
};
}
private function changeLevelFocus(_arg1:GameEvents=null):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
if (magicFlag == false){
_local2 = 200;
_local3 = (stage.mouseY - _local2);
_local3 = ((_local3)<0) ? 0 : _local3;
_local3 = ((_local3)>(GameSettings.GAME_HEIGHT - (_local2 * 2))) ? (GameSettings.GAME_HEIGHT - (_local2 * 2)) : _local3;
_local4 = (_local3 / (GameSettings.GAME_HEIGHT - (_local2 * 2)));
this["trees"].y = (this["trees"].y - ((this["trees"].y - (150 + (370 * _local4))) / 15));
this["tower"].y = (this["tower"].y - ((this["tower"].y - (150 + (370 * (1 - _local4)))) / 10));
panelTop.y = tower.y;
};
}
public function gameWin(_arg1:Number=0){
var _local2:GameEvents;
_local2 = new GameEvents(GameEvents.GAME_OVER);
stage.dispatchEvent(_local2);
exitGame(1);
}
private function changeLevel(_arg1:Object):void{
var _local2:AlertText;
var _local3:String;
var _local4:*;
GameSettings._current_level = _arg1.level;
stage.dispatchEvent(new GameEvents(GameEvents.GAME_CHANGE_LEVEL));
switch (GameSettings._current_level){
case 1:
GameSettings.music_game.playMusic("game1", "m_track1");
break;
case 2:
GameSettings.music_game.playMusic("game1", "m_track1");
break;
case 3:
GameSettings.music_game.playMusic("game1", "m_track1");
break;
case 4:
GameSettings.music_game.playMusic("game2", "m_track2");
break;
case 5:
GameSettings.music_game.playMusic("game2", "m_track2");
break;
case 6:
GameSettings.music_game.playMusic("game2", "m_track2");
break;
case 7:
GameSettings.music_game.playMusic("game3", "m_track3");
break;
case 8:
GameSettings.music_game.playMusic("game3", "m_track3");
break;
case 9:
GameSettings.music_game.playMusic("game3", "m_track3");
break;
case 10:
GameSettings.music_game.playMusic("game3", "m_track3");
break;
};
stage.removeEventListener(GameEvents.GAME_UPDATE, changeLevelFocus);
stage.removeEventListener(GameEvents.GAME_UPDATE, changeLevelAction);
if (_arg1.pos == 3){
stage.addEventListener(GameEvents.GAME_UPDATE, changeLevelFocus);
_local2 = new AlertText(this, "Alert", String(("Wave " + GameSettings._current_level)));
} else {
if (GameSettings._levels_pos[_arg1.pos]){
changeLevelArr = new Array();
for (_local3 in GameSettings._levels_pos[_arg1.pos]) {
if ((this[_local3] as MovieClip) != null){
_local4 = new Object();
_local4.goal = this[_local3];
_local4.posY = GameSettings._levels_pos[_arg1.pos][_local3];
changeLevelArr.push(_local4);
};
};
stage.addEventListener(GameEvents.GAME_UPDATE, changeLevelAction);
};
};
}
private function grabGift(_arg1:GameEvents){
if (GameSettings._gifts.length > 0){
GameSettings._gifts[0].grab();
GameSettings._gifts.splice(0, 1);
if (GameSettings._gifts.length == 0){
gameOver();
};
};
}
private function deactivateAction(_arg1:Event=null):void{
pauseGame(true);
}
private function stopMagic():void{
magicFlag = false;
stage.dispatchEvent(new GameEvents(GameEvents.GAME_STOP_MAGIC));
stage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveAction);
}
public function gameOver(_arg1:Number=0){
var _local2:GameEvents;
_local2 = new GameEvents(GameEvents.GAME_OVER);
stage.dispatchEvent(_local2);
exitGame(0);
}
private function iniGame():void{
iteration = 0;
gameTimer = new Timer(GameSettings.ITERATIONS, 0);
gameTimer.addEventListener("timer", updateGame);
gameTimer.start();
lampTimer = new Timer(700, 0);
lampTimer.addEventListener("timer", updateLamp);
lampTimer.start();
stage.addEventListener(Event.DEACTIVATE, deactivateAction);
stage.addEventListener(GameEvents.GAME_GRAB, grabGift);
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownAction);
stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpAction);
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownAction);
stage.addEventListener(KeyboardEvent.KEY_UP, keyUpAction);
this.mouseEnabled = false;
this.mouseChildren = false;
panelTop = new Panel(this, "top");
GameSettings.iniGame(this, [tower.g1, tower.g2, tower.g3, tower.g4, tower.g5]);
}
private function checkGameAction():void{
iteration++;
if (GameSettings._levels[iteration] != undefined){
switch (GameSettings._levels[iteration].action){
case "change_level":
changeLevel(GameSettings._levels[iteration].value);
break;
case "add_enemy":
addEnemy(GameSettings._levels[iteration].value);
break;
case "add_bonus":
addBonus(GameSettings._levels[iteration].value);
break;
};
};
}
}
}//package classes
Section 28
//GameArea (classes.GameArea)
package classes {
import flash.display.*;
import flash.events.*;
import classes.gameInterface.*;
public class GameArea extends MovieClip {
public var howToPlay:Instructions;
public var game:Game;
public function GameArea(){
trace("GameArea<<<<<<<<<<<<<<<<");
this.addEventListener(Event.ENTER_FRAME, update);
}
private function update(_arg1:Event=null){
var _local2:Sprite;
_local2 = new Sprite();
_local2.graphics.lineStyle(1, 0xFF0000, 100);
_local2.graphics.beginFill(0xFF0000, 100);
_local2.graphics.moveTo(0, 0);
_local2.graphics.lineTo(GameSettings.GAME_WIDTH, 0);
_local2.graphics.lineTo(GameSettings.GAME_WIDTH, GameSettings.GAME_HEIGHT);
_local2.graphics.lineTo(0, GameSettings.GAME_HEIGHT);
_local2.graphics.moveTo(0, 0);
_local2.visible = false;
parent.addChild(_local2);
this.mask = _local2;
this.gotoAndStop("intro");
this.removeEventListener(Event.ENTER_FRAME, update);
}
}
}//package classes
Section 29
//GameSettings (classes.GameSettings)
package classes {
import flash.display.*;
import classes.media.*;
import classes.utils.*;
import flash.net.*;
public class GameSettings {
public static var SOUND_VOLUME_INTERFACE = 0.6;
public static var sound_interface:SoundFX;
public static var GAME_WIDTH_2:Number = (GAME_WIDTH / 2);
public static var _combo_amount:Number = 0;
public static var MIN_POINTS:Number = 10;
public static var _score:Number = 0;
public static var GAME_HEIGHT:Number = 640;
public static var _levels:Object = new Object();
public static var GAME_WIDTH:Number = 400;
public static var music_interface:Music;
public static var _levels_pos:Object = new Object();
public static var SOUND_VOLUME_GAME = 0.3;
public static var _super_magic:Number = 3;
public static var MUSIC_VOLUME_INTERFACE = 0.3;
public static var sound_game:SoundFX;
public static var ITERATIONS:uint = 20;
public static var MUSIC_VOLUME_GAME = 0.5;
public static var MAX_POINTS:Number = 70;
public static var _current_level:Number = 0;
public static var _urls:Array = new Array();
public static var GAME_HEIGHT_2:Number = (GAME_HEIGHT / 2);
public static var _gifts:Array = new Array();
public static var music_game:Music;
public static var _game:MovieClip;
public static var _game_stored_data:SharedObject = SharedObject.getLocal("santas_tower-gamezhero.com");
public static function getSckore():Number{
return (_score);
}
public static function addSckore(_arg1:Number):void{
var _local2:Number;
var _local3:String;
var _local4:uint;
_score = (_score + _arg1);
if (_score < 0){
_score = 0;
};
_local2 = (9 - String(_score).length);
_local3 = String(_score);
_local4 = 0;
while (_local4 < _local2) {
_local3 = ("0" + _local3);
_local4++;
};
if (_game.scr){
_game.scr.text = _local3;
};
}
public static function iniUrls(_arg1:MovieClip):void{
var _local2:String;
var _local3:URL;
_local2 = _arg1.root.loaderInfo.url;
trace(("domain1 " + _local2));
_local3 = new URL(_local2);
_local2 = _local3.host;
if (_local2 == null){
_local2 = "local";
};
trace(("domain2 " + _local2));
_urls["send_to_friends"] = (("http://www.gamezhero.com/sendtofriends/santastowerredbeardattack-freeonlinegames.html?utm_campaign=santas_tower&utm_source=" + _local2) + "&utm_medium=send_to_friends");
_urls["play_more_games"] = (("http://www.gamezhero.com/?utm_campaign=santas_tower&utm_source=" + _local2) + "&utm_medium=more_free_games");
_urls["zorro_logo"] = (("http://www.gamezhero.com/?utm_campaign=santas_tower&utm_source=" + _local2) + "&utm_medium=zorro_logo");
_urls["put_this_game"] = (("http://www.gamezhero.com/freewebsitegames/santastowerredbeardattack-freeonlinegame.html?utm_campaign=santas_tower&utm_source=" + _local2) + "&utm_medium=free_web_site_games");
_urls["view_top_score"] = (("http://www.gamezhero.com/topscore/santastowerredbeardattack/?utm_campaign=santas_tower&utm_source=" + _local2) + "&utm_medium=top_score");
_urls["score"] = "http://files.gamezhero.com/online/santastowerredbeardattack/score/score.swf";
_urls["error"] = (("http://www.gamezhero.com/sendtofriends/santastowerredbeardattack-freeonlinegames.html?utm_campaign=santas_tower&utm_source=" + _local2) + "&utm_medium=error");
_urls["preloader"] = (("http://www.gamezhero.com/?utm_campaign=santas_tower&utm_source=" + _local2) + "&utm_medium=preloader");
_urls["play_more_games_context"] = (("http://www.gamezhero.com/?utm_campaign=santas_tower&utm_source=" + _local2) + "&utm_medium=context_menu");
_urls["put_this_game_context"] = (("http://www.gamezhero.com/freegamesforwebsite.html?utm_campaign=santas_tower&utm_source=" + _local2) + "&utm_medium=free_games_for_website_context_menu");
_urls["send_to_friends_context"] = (("http://www.gamezhero.com/sendtofriends/santastowerredbeardattack-freeonlinegames.html?utm_campaign=santas_tower&utm_source=" + _local2) + "&utm_medium=send_to_friends_context_menu");
_urls["copyright"] = (("<a href='http://www.gamezhero.com/?utm_campaign=santas_tower&utm_source=" + _local2) + "&utm_medium=copyright'>copyright © Gamezhero.com</a>");
}
public static function iniGame(_arg1:MovieClip, _arg2:Array):void{
var _local3:Array;
var _local4:uint;
var _local5:*;
_game = _arg1;
_score = 0;
_current_level = 0;
_super_magic = 3;
_gifts = new Array();
_local3 = new Array();
_local4 = 0;
while (_local4 < _arg2.length) {
_local5 = new Object();
_local3.push({g:_arg2[_local4], indx:Math.random()});
_local4++;
};
_local3.sortOn("indx");
_local4 = 0;
while (_local4 < _local3.length) {
_local3[_local4] = _local3[_local4].g;
_local4++;
};
_gifts = _local3;
addSckore(0);
}
_levels_pos[1] = {trees:500, tower:150};
_levels_pos[2] = {trees:150, tower:530};
_levels_pos[3] = {trees:220, tower:320};
_levels_pos[4] = {trees:500, tower:150};
_levels[1] = {action:"change_level", value:{level:1, pos:1, amount:30}};
_levels[100] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[200] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[300] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[400] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[500] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[600] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[800] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[801] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[1000] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[1001] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[1300] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:90, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[1301] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:90, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[1500] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:80, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[1501] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:80, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[1700] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:70, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[1701] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:70, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[1900] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:60, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[1901] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:60, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[2100] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:60, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[2101] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:60, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[2102] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:200, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[2300] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:60, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[2301] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:60, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[2302] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:200, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[2500] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:60, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[2501] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:60, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[2502] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:200, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[2700] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:60, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[2701] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:60, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[2702] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:200, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[3000] = {action:"change_level", value:{level:2, pos:2, amount:33}};
_levels[3100] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:120, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[3101] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:280, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[3200] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:80, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[3201] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:320, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[3300] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:40, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[3301] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:360, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[3400] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:120, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[3401] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:280, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[3500] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:80, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[3501] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:320, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[3600] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:40, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[3601] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:360, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[3700] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:160, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[3701] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:240, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[3800] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:200, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1, 1]}};
_levels[4000] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:200, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1, 1]}};
_levels[4200] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:200, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1, 1]}};
_levels[4400] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:200, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1, 1]}};
_levels[4600] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:160, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1, 1]}};
_levels[4601] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:240, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1, 1]}};
_levels[4800] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:160, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1, 1]}};
_levels[4801] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:240, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1, 1]}};
_levels[5000] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:120, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:10, magic:[1, 1]}};
_levels[5001] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:280, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:10, magic:[1, 1]}};
_levels[5200] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:160, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:10, magic:[1, 1]}};
_levels[5201] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:240, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:10, magic:[1, 1]}};
_levels[5400] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:120, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:10, magic:[1, 1]}};
_levels[5401] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:280, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:10, magic:[1, 1]}};
_levels[5500] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:200, y:-530, speed:1, pause:0, move:0, typeMove:"down", score:15, magic:[1, 1, 1]}};
_levels[5600] = {action:"add_enemy", value:{type:"EnemySkin2_down_left", x:200, y:-530, speed:1, pause:0, move:0, typeMove:"down", score:15, magic:[1, 1, 1]}};
_levels[5700] = {action:"add_enemy", value:{type:"EnemySkin2_down_left", x:200, y:-530, speed:1, pause:0, move:0, typeMove:"down", score:15, magic:[1, 1, 1]}};
_levels[5800] = {action:"add_enemy", value:{type:"EnemySkin2_down_left", x:200, y:-530, speed:1, pause:0, move:0, typeMove:"down", score:15, magic:[1, 1, 1]}};
_levels[5900] = {action:"add_enemy", value:{type:"EnemySkin2_down_left", x:200, y:-530, speed:1, pause:0, move:0, typeMove:"down", score:15, magic:[1, 1, 1]}};
_levels[6200] = {action:"change_level", value:{level:3, pos:3, amount:36}};
_levels[6300] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:120, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[6301] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:280, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[0x1900] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:90, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[6401] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:90, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[6500] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:100, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[6501] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:300, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[6600] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:90, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[6601] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:90, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[6700] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:80, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[6701] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:320, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[6800] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:90, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[6801] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:90, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[6900] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:40, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[6901] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:360, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[7000] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:90, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[7001] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:90, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[7100] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:200, y:-530, speed:1, pause:0, move:0, typeMove:"down", score:15, magic:[1, 1]}};
_levels[7300] = {action:"add_enemy", value:{type:"EnemySkin2_down_left", x:200, y:-530, speed:1, pause:0, move:0, typeMove:"down", score:15, magic:[1, 1]}};
_levels[7500] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:200, y:-530, speed:1, pause:0, move:0, typeMove:"down", score:15, magic:[1, 1]}};
_levels[7700] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:100, y:-530, speed:1, pause:0, move:0, typeMove:"down", score:15, magic:[1, 1]}};
_levels[7701] = {action:"add_enemy", value:{type:"EnemySkin2_down_left", x:300, y:-530, speed:1, pause:0, move:0, typeMove:"down", score:15, magic:[1, 1]}};
_levels[7702] = {action:"add_enemy", value:{type:"EnemySkin2_down_left", x:200, y:-530, speed:1, pause:0, move:0, typeMove:"down", score:15, magic:[1, 1]}};
_levels[7200] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:200, y:530, speed:2, pause:50, move:20, typeMove:"up", score:15, magic:[1, 1]}};
_levels[7400] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:200, y:530, speed:2, pause:50, move:20, typeMove:"up", score:15, magic:[1, 1]}};
_levels[7600] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:200, y:530, speed:2, pause:50, move:20, typeMove:"up", score:15, magic:[1, 1]}};
_levels[7601] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:80, y:530, speed:2, pause:50, move:20, typeMove:"up", score:10, magic:[1]}};
_levels[7602] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:320, y:530, speed:2, pause:50, move:20, typeMove:"up", score:10, magic:[1]}};
_levels[7800] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:100, y:-530, speed:1, pause:0, move:0, typeMove:"down", score:15, magic:[1, 1]}};
_levels[7801] = {action:"add_enemy", value:{type:"EnemySkin2_down_left", x:300, y:-530, speed:1, pause:0, move:0, typeMove:"down", score:15, magic:[1, 1]}};
_levels[7802] = {action:"add_enemy", value:{type:"EnemySkin2_down_left", x:200, y:-530, speed:1, pause:0, move:0, typeMove:"down", score:15, magic:[1, 1]}};
_levels[7900] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:200, y:530, speed:2, pause:50, move:20, typeMove:"up", score:15, magic:[1, 1]}};
_levels[8100] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:200, y:530, speed:2, pause:50, move:20, typeMove:"up", score:15, magic:[1, 1]}};
_levels[8300] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:200, y:530, speed:2, pause:50, move:20, typeMove:"up", score:15, magic:[1, 1]}};
_levels[8301] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:80, y:530, speed:2, pause:50, move:20, typeMove:"up", score:10, magic:[1, 1]}};
_levels[8302] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:320, y:530, speed:2, pause:50, move:20, typeMove:"up", score:10, magic:[1, 1]}};
_levels[8600] = {action:"change_level", value:{level:4, pos:1, amount:39}};
_levels[8700] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:200, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1, 2]}};
_levels[8850] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:200, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1, 2]}};
_levels[8900] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:80, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[8901] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:320, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[9000] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[9001] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[9100] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:80, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[9101] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:320, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[9300] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:80, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[9301] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:320, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[9500] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:200, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1, 2]}};
_levels[9501] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:80, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[9502] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:320, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[9600] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:50, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[9601] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:50, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[9700] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:200, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1, 2]}};
_levels[9701] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:80, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[9702] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:320, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[9800] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:50, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[9801] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:50, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[9900] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:200, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1, 2]}};
_levels[9901] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:80, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[9902] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:320, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[10000] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:50, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[10001] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:50, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[10200] = {action:"add_enemy", value:{type:"EnemySkin3_up_left", x:140, y:530, speed:1, pause:30, move:100, typeMove:"up", score:20, magic:[1, 2, 2, 1]}};
_levels[10501] = {action:"add_enemy", value:{type:"EnemySkin3_up_right", x:260, y:530, speed:1, pause:30, move:100, typeMove:"up", score:20, magic:[1, 2, 2, 1]}};
_levels[10301] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:320, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[10602] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:80, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[10700] = {action:"add_enemy", value:{type:"EnemySkin3_up_left", x:140, y:530, speed:1, pause:30, move:100, typeMove:"up", score:20, magic:[1, 2, 2, 1]}};
_levels[11001] = {action:"add_enemy", value:{type:"EnemySkin3_up_right", x:260, y:530, speed:1, pause:30, move:100, typeMove:"up", score:20, magic:[1, 2, 2, 1]}};
_levels[10801] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:320, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[11102] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:80, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[11200] = {action:"add_enemy", value:{type:"EnemySkin3_up_left", x:140, y:530, speed:1, pause:30, move:100, typeMove:"up", score:20, magic:[1, 2, 2, 1]}};
_levels[11601] = {action:"add_enemy", value:{type:"EnemySkin3_up_right", x:260, y:530, speed:1, pause:30, move:100, typeMove:"up", score:20, magic:[1, 2, 2, 1]}};
_levels[11301] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:320, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[11602] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:80, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[11800] = {action:"add_enemy", value:{type:"EnemySkin3_up_left", x:140, y:530, speed:1, pause:30, move:100, typeMove:"up", score:20, magic:[1, 2, 2, 1]}};
_levels[11801] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:320, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[12450] = {action:"change_level", value:{level:5, pos:2, amount:30}};
_levels[12500] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:120, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[12501] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:280, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[12600] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:80, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[12601] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:320, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[12700] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:120, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[2]}};
_levels[12701] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:280, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[2]}};
_levels[0x3200] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:40, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:10, magic:[2]}};
_levels[12801] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:360, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:10, magic:[2]}};
_levels[12803] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:200, y:-530, speed:1, pause:0, move:0, typeMove:"down", score:15, magic:[1, 2, 1]}};
_levels[13000] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:200, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[1, 2]}};
_levels[13100] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:100, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[1, 2]}};
_levels[13200] = {action:"add_enemy", value:{type:"EnemySkin2_down_left", x:300, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[1, 2]}};
_levels[13450] = {action:"add_bonus", value:{x:450, y:350}};
_levels[13500] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:200, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[1, 2, 1]}};
_levels[13600] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:80, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[1, 2, 1]}};
_levels[13700] = {action:"add_enemy", value:{type:"EnemySkin2_down_left", x:320, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[1, 2, 1]}};
_levels[13900] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:200, y:-530, speed:0.8, pause:0, move:0, typeMove:"down", score:15, magic:[1, 2]}};
_levels[14000] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:50, y:-530, speed:0.8, pause:0, move:0, typeMove:"down", score:15, magic:[1, 2]}};
_levels[14100] = {action:"add_enemy", value:{type:"EnemySkin2_down_left", x:350, y:-530, speed:0.8, pause:0, move:0, typeMove:"down", score:15, magic:[1, 2]}};
_levels[14400] = {action:"add_enemy", value:{type:"EnemySkin3_down_right", x:50, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:10, magic:[1, 2, 2, 1]}};
_levels[14401] = {action:"add_enemy", value:{type:"EnemySkin3_down_left", x:350, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:10, magic:[1, 2, 2, 1]}};
_levels[14800] = {action:"add_enemy", value:{type:"EnemySkin3_down_right", x:50, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:20, magic:[1, 2, 2, 1]}};
_levels[14801] = {action:"add_enemy", value:{type:"EnemySkin3_down_left", x:350, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:20, magic:[1, 2, 2, 1]}};
_levels[14802] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:200, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[1, 1, 1]}};
_levels[15400] = {action:"add_enemy", value:{type:"EnemySkin3_down_right", x:50, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:20, magic:[1, 2, 2, 1]}};
_levels[15401] = {action:"add_enemy", value:{type:"EnemySkin3_down_left", x:350, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:20, magic:[1, 2, 2, 1]}};
_levels[15402] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:200, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[1, 1, 1]}};
_levels[15600] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:200, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[1, 1, 1]}};
_levels[16000] = {action:"add_enemy", value:{type:"EnemySkin3_down_right", x:50, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:20, magic:[1, 2, 2, 2, 1]}};
_levels[16001] = {action:"add_enemy", value:{type:"EnemySkin3_down_left", x:350, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:20, magic:[1, 2, 2, 2, 1]}};
_levels[16102] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:200, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[1, 1, 1]}};
_levels[16650] = {action:"change_level", value:{level:6, pos:3, amount:30}};
_levels[16700] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[16701] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[16800] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:120, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[16801] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:280, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[16900] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[16901] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[17000] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:120, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[17001] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:280, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[17100] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[1, 2]}};
_levels[17101] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[1, 2]}};
_levels[17200] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:120, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1, 2]}};
_levels[17201] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:280, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1, 2]}};
_levels[17400] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:200, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[1, 2]}};
_levels[17401] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:80, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[1]}};
_levels[17402] = {action:"add_enemy", value:{type:"EnemySkin2_down_left", x:320, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[1, 2]}};
_levels[17800] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:200, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1, 2]}};
_levels[17801] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:80, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[17802] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:320, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1, 2]}};
_levels[18200] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:200, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[1, 2]}};
_levels[18201] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:100, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[1]}};
_levels[18202] = {action:"add_enemy", value:{type:"EnemySkin2_down_left", x:300, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[1, 2]}};
_levels[18600] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:200, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1, 2]}};
_levels[18600] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:80, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[18601] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:320, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1, 2]}};
_levels[18602] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[18603] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[19000] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:200, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[1, 2]}};
_levels[19001] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:100, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[1, 2]}};
_levels[19002] = {action:"add_enemy", value:{type:"EnemySkin2_down_left", x:300, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[1, 2]}};
_levels[19400] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:200, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1, 2]}};
_levels[19401] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:80, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1, 2]}};
_levels[19402] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:320, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1, 2]}};
_levels[19403] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[2]}};
_levels[19404] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[2]}};
_levels[19600] = {action:"add_bonus", value:{x:450, y:350}};
_levels[20000] = {action:"add_enemy", value:{type:"EnemySkin3_down_right", x:50, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:20, magic:[1, 2, 2, 1]}};
_levels[20001] = {action:"add_enemy", value:{type:"EnemySkin3_down_left", x:350, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:20, magic:[1, 2, 2, 1]}};
_levels[20600] = {action:"add_enemy", value:{type:"EnemySkin3_up_left", x:140, y:530, speed:1, pause:30, move:100, typeMove:"up", score:20, magic:[1, 2, 2, 2, 1]}};
_levels[20601] = {action:"add_enemy", value:{type:"EnemySkin3_up_right", x:260, y:530, speed:1, pause:30, move:100, typeMove:"up", score:20, magic:[1, 2, 2, 2, 1]}};
_levels[20700] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:320, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1, 2, 1]}};
_levels[20701] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:80, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1, 2, 1]}};
_levels[21000] = {action:"add_enemy", value:{type:"EnemySkin3_down_right", x:50, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:20, magic:[1, 2, 2, 2, 1]}};
_levels[21000] = {action:"add_enemy", value:{type:"EnemySkin3_down_left", x:350, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:20, magic:[1, 2, 2, 2, 1]}};
_levels[21100] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:320, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1, 2, 2]}};
_levels[21101] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:80, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1, 2, 2]}};
_levels[21700] = {action:"change_level", value:{level:7, pos:1, amount:30}};
_levels[21900] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:200, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1, 2]}};
_levels[21901] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:200, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1, 2]}};
_levels[22000] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:80, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[22001] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:320, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[22100] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[22101] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[22200] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:80, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[22201] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:320, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[22300] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:80, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[22301] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:320, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1]}};
_levels[22500] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:200, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[2]}};
_levels[22501] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:80, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[2]}};
_levels[22502] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:320, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[2]}};
_levels[22700] = {action:"add_enemy", value:{type:"EnemySkin3_up_left", x:140, y:530, speed:1, pause:30, move:100, typeMove:"up", score:20, magic:[1, 2, 3, 2]}};
_levels[22900] = {action:"add_enemy", value:{type:"EnemySkin3_up_right", x:260, y:530, speed:1, pause:30, move:100, typeMove:"up", score:20, magic:[1, 2, 3, 2]}};
_levels[22800] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:320, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[3]}};
_levels[23000] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:80, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[3]}};
_levels[23400] = {action:"add_enemy", value:{type:"EnemySkin3_up_left", x:140, y:530, speed:1, pause:30, move:100, typeMove:"up", score:20, magic:[1, 2, 3, 2]}};
_levels[23600] = {action:"add_enemy", value:{type:"EnemySkin3_up_right", x:260, y:530, speed:1, pause:30, move:100, typeMove:"up", score:20, magic:[1, 2, 3, 2]}};
_levels[23500] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:320, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[3]}};
_levels[23700] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:80, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[3]}};
_levels[24000] = {action:"add_enemy", value:{type:"EnemySkin3_up_left", x:140, y:530, speed:1, pause:30, move:100, typeMove:"up", score:20, magic:[1, 2, 3, 2]}};
_levels[24200] = {action:"add_enemy", value:{type:"EnemySkin3_up_right", x:260, y:530, speed:1, pause:30, move:100, typeMove:"up", score:20, magic:[1, 2, 3, 2]}};
_levels[24100] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:320, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[3]}};
_levels[24300] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:80, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[3]}};
_levels[24600] = {action:"add_enemy", value:{type:"EnemySkin3_up_left", x:140, y:530, speed:1, pause:30, move:100, typeMove:"up", score:20, magic:[1, 2, 3, 2]}};
_levels[24800] = {action:"add_enemy", value:{type:"EnemySkin3_up_right", x:260, y:530, speed:1, pause:30, move:100, typeMove:"up", score:20, magic:[1, 2, 3, 2]}};
_levels[25000] = {action:"add_enemy", value:{type:"EnemySkin3_up_left", x:140, y:530, speed:1, pause:30, move:100, typeMove:"up", score:20, magic:[1, 2, 3, 2]}};
_levels[25200] = {action:"add_enemy", value:{type:"EnemySkin3_up_right", x:260, y:530, speed:1, pause:30, move:100, typeMove:"up", score:20, magic:[1, 2, 3, 2]}};
_levels[25300] = {action:"add_bonus", value:{x:450, y:350}};
_levels[25400] = {action:"add_enemy", value:{type:"EnemySkin3_up_left", x:140, y:530, speed:1, pause:30, move:100, typeMove:"up", score:20, magic:[1, 2, 3, 2]}};
_levels[0x6400] = {action:"add_enemy", value:{type:"EnemySkin3_up_right", x:260, y:530, speed:1, pause:30, move:100, typeMove:"up", score:20, magic:[1, 2, 3, 2]}};
_levels[26200] = {action:"change_level", value:{level:8, pos:2, amount:30}};
_levels[26500] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:120, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[3, 1]}};
_levels[26501] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:280, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[3, 1]}};
_levels[26700] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:80, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:10, magic:[2]}};
_levels[26701] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:320, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:10, magic:[2]}};
_levels[26800] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:120, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[3]}};
_levels[26801] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:280, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[3]}};
_levels[27000] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:40, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:10, magic:[2]}};
_levels[27001] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:360, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:10, magic:[2]}};
_levels[27002] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:200, y:-530, speed:1, pause:0, move:0, typeMove:"down", score:15, magic:[1, 2, 1]}};
_levels[27200] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:200, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[1, 2]}};
_levels[27201] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:100, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[1, 2]}};
_levels[27202] = {action:"add_enemy", value:{type:"EnemySkin2_down_left", x:300, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[1, 2]}};
_levels[27300] = {action:"add_bonus", value:{x:450, y:350}};
_levels[27400] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:200, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[1, 2, 3]}};
_levels[27401] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:100, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[2, 3, 1]}};
_levels[27402] = {action:"add_enemy", value:{type:"EnemySkin2_down_left", x:300, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[3, 1, 2]}};
_levels[27500] = {action:"add_enemy", value:{type:"EnemySkin3_down_right", x:50, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:20, magic:[1, 2, 3, 1]}};
_levels[27501] = {action:"add_enemy", value:{type:"EnemySkin3_down_left", x:350, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:20, magic:[1, 2, 3, 1]}};
_levels[27800] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:150, y:-530, speed:0.8, pause:0, move:0, typeMove:"down", score:15, magic:[2, 3, 1]}};
_levels[27801] = {action:"add_enemy", value:{type:"EnemySkin2_down_left", x:250, y:-530, speed:0.8, pause:0, move:0, typeMove:"down", score:15, magic:[3, 1, 2]}};
_levels[28000] = {action:"add_enemy", value:{type:"EnemySkin3_down_right", x:50, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:20, magic:[1, 2, 3, 1]}};
_levels[28001] = {action:"add_enemy", value:{type:"EnemySkin3_down_left", x:350, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:20, magic:[1, 2, 3, 1]}};
_levels[28500] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:150, y:-530, speed:1, pause:0, move:0, typeMove:"down", score:15, magic:[2, 3, 1]}};
_levels[28501] = {action:"add_enemy", value:{type:"EnemySkin2_down_left", x:250, y:-530, speed:1, pause:0, move:0, typeMove:"down", score:15, magic:[3, 1, 2]}};
_levels[28600] = {action:"add_enemy", value:{type:"EnemySkin3_down_right", x:50, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:20, magic:[1, 2, 3, 1]}};
_levels[28601] = {action:"add_enemy", value:{type:"EnemySkin3_down_left", x:350, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:20, magic:[1, 2, 3, 1]}};
_levels[29100] = {action:"change_level", value:{level:9, pos:3, amount:30}};
_levels[29300] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[1]}};
_levels[29301] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[2]}};
_levels[29400] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:120, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[1]}};
_levels[29401] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:280, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[2]}};
_levels[29500] = {action:"add_enemy", value:{type:"EnemySkin1_up_right", x:265, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[2]}};
_levels[29501] = {action:"add_enemy", value:{type:"EnemySkin1_up_left", x:135, y:530, speed:1, pause:100, move:100, typeMove:"up", score:10, magic:[3]}};
_levels[29600] = {action:"add_enemy", value:{type:"EnemySkin1_down_right", x:120, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[2]}};
_levels[29601] = {action:"add_enemy", value:{type:"EnemySkin1_down_left", x:280, y:-530, speed:0.6, pause:0, move:0, typeMove:"down", score:10, magic:[3]}};
_levels[29900] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:200, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[1, 2]}};
_levels[29901] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:100, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[2, 3]}};
_levels[29902] = {action:"add_enemy", value:{type:"EnemySkin2_down_left", x:300, y:-530, speed:0.7, pause:0, move:0, typeMove:"down", score:15, magic:[2, 1]}};
_levels[30000] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:200, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[2, 1]}};
_levels[30001] = {action:"add_enemy", value:{type:"EnemySkin2_up_left", x:80, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[2, 3]}};
_levels[30002] = {action:"add_enemy", value:{type:"EnemySkin2_up_right", x:320, y:530, speed:3, pause:50, move:20, typeMove:"up", score:15, magic:[1, 2]}};
_levels[30300] = {action:"add_enemy", value:{type:"EnemySkin3_down_right", x:50, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:20, magic:[2, 3, 1]}};
_levels[30301] = {action:"add_enemy", value:{type:"EnemySkin3_down_left", x:350, y:-530, speed:0.5, pause:0, move:0, typeMove:"down", score:20, magic:[2, 3, 1]}};
_levels[30800] = {action:"add_enemy", value:{type:"EnemySkin3_up_left", x:140, y:530, speed:1, pause:30, move:100, typeMove:"up", score:20, magic:[1, 2, 3, 1]}};
_levels[30801] = {action:"add_enemy", value:{type:"EnemySkin3_up_right", x:260, y:530, speed:1, pause:30, move:100, typeMove:"up", score:20, magic:[1, 2, 3, 1]}};
_levels[31300] = {action:"add_enemy", value:{type:"EnemySkin2_down_right", x:100, y:-530, speed:1, pause:0, move:0, typeMove:"down", score:15, magic:[1, 2]}};
_levels[31301] = {action:"add_enemy", value:{type:"EnemySkin2_down_left", x:300, y:-530, speed:1, pause:0, move:0, typeMove:"down", score:15, magic:[2, 3]}};
_levels[31302] = {action:"add_enemy", value:{type:"EnemySkin2_down_left", x:200, y:-530, speed:1, pause:0, move:0, typeMove:"down", score:15, magic:[3, 1]}};
_levels[31400] = {action:"add_enemy", value:{type:"EnemySkinBoss", x:200, y:650, speed:0.3, pause:50, move:50, typeMove:"boss", score:1500, magic:[3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]}};
}
}//package classes
Section 30
//Gift (classes.Gift)
package classes {
import flash.display.*;
import classes.events.*;
public class Gift extends MovieClip {
public function Gift(){
addFrameScript(0, frame1, 25, frame26);
trace("GIFT");
stage.addEventListener(GameEvents.GAME_OVER, gameOverAction);
}
public function grab(){
stage.addEventListener(GameEvents.GAME_UPDATE, update);
}
function frame1(){
stop();
}
function frame26(){
stop();
}
private function gameOverAction(_arg1:GameEvents=null):void{
clearEvents();
}
public function update(_arg1:GameEvents){
this.gotoAndStop((this.currentFrame + 1));
if (this.currentFrame == this.totalFrames){
this.visible = false;
clearEvents();
};
}
private function clearEvents(){
stage.removeEventListener(GameEvents.GAME_OVER, gameOverAction);
stage.removeEventListener(GameEvents.GAME_UPDATE, update);
}
}
}//package classes
Section 31
//Lamp (classes.Lamp)
package classes {
import flash.display.*;
import classes.events.*;
public class Lamp extends MovieClip {
private var N:uint;
public function Lamp():void{
addFrameScript(0, frame1);
N = this.totalFrames;
stage.addEventListener(GameEvents.GAME_CHANGE_LAMP, changeLapm);
changeLapm();
}
private function changeLapm(_arg1:GameEvents=null):void{
this.gotoAndStop((1 + Math.round((N * Math.random()))));
}
function frame1(){
stop();
}
}
}//package classes
Section 32
//Magic (classes.Magic)
package classes {
import classes.math.*;
import flash.display.*;
import flash.events.*;
import classes.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class Magic extends MovieClip {
private var POINTS:Array;
private var Y0:Number;
private var LINE_MAX_L:Number;// = 4
private var COLOR_LINES:Array;
private var GOAL:MovieClip;
private var X0:Number;
public var SPRITE_LINE:Sprite;
private var COLOR_LINE:Number;
public var CHECKER:MagicChecker;
private var magicTimer:Timer;
private var stopMagicFlag:Boolean;// = false
private var LINES:Array;
public function Magic(_arg1:MovieClip){
POINTS = new Array();
LINES = new Array();
LINE_MAX_L = 4;
COLOR_LINES = new Array();
stopMagicFlag = false;
super();
GOAL = _arg1;
GOAL.addChild(this);
COLOR_LINES.push(0xCCCC);
COLOR_LINES.push(0xFFFF00);
COLOR_LINES.push(0x33FF00);
COLOR_LINES.push(16751103);
COLOR_LINES.push(10079487);
COLOR_LINES.push(0xFF0000);
COLOR_LINE = COLOR_LINES[Math.round(((COLOR_LINES.length - 1) * Math.random()))];
this.x = stage.mouseX;
this.y = stage.mouseY;
X0 = this.x;
Y0 = this.y;
POINTS.push(new Point(0, 0));
iniMagic();
}
private function iniMagic():void{
var _local1:BlurFilter;
stage.addEventListener(MouseEvent.MOUSE_UP, stopMagic);
stage.addEventListener(Event.DEACTIVATE, remove);
stage.addEventListener(GameEvents.GAME_UPDATE, updateLines);
magicTimer = new Timer(10, 0);
magicTimer.addEventListener(TimerEvent.TIMER, update);
magicTimer.start();
SPRITE_LINE = new Sprite();
this.addChild(SPRITE_LINE);
_local1 = new BlurFilter();
_local1.blurX = 2;
_local1.blurY = 2;
_local1.quality = BitmapFilterQuality.LOW;
SPRITE_LINE.blendMode = BlendMode.ADD;
stage.addEventListener(GameEvents.GAME_OVER, gameOverAction);
}
public function remove(_arg1:Event=null):void{
clearEvents();
GOAL.removeChild(this);
}
private function updateLines(_arg1:GameEvents=null):void{
var _local2:Boolean;
var _local3:Number;
SPRITE_LINE.graphics.clear();
SPRITE_LINE.graphics.moveTo(POINTS[0].x, POINTS[0].y);
_local3 = 0;
while (_local3 < LINES.length) {
_local2 = true;
switch (LINES[_local3].action){
case "up":
_local2 = false;
SPRITE_LINE.graphics.lineStyle(LINES[_local3].l, COLOR_LINE, 1);
SPRITE_LINE.graphics.lineTo(POINTS[(_local3 + 1)].x, (POINTS[(_local3 + 1)].y + LINES[_local3].dy));
LINES[_local3].l = (LINES[_local3].l - 1);
LINES[_local3].dy = (LINES[_local3].dy + (0.2 + (0.2 * Math.random())));
if (LINES[_local3].l <= 0){
LINES[_local3].action = "down";
LINES[_local3].alph = 1;
};
break;
case "down":
SPRITE_LINE.graphics.lineStyle(LINES[_local3].l, COLOR_LINE, LINES[_local3].alph);
SPRITE_LINE.graphics.lineTo(POINTS[(_local3 + 1)].x, (POINTS[(_local3 + 1)].y + LINES[_local3].dy));
LINES[_local3].alph = (LINES[_local3].alph - 0.15);
LINES[_local3].dy = (LINES[_local3].dy + (0.2 + (0.2 * Math.random())));
if (LINES[_local3].alph > 0){
_local2 = false;
};
break;
};
_local3++;
};
if (_local2){
remove();
};
}
private function gameOverAction(_arg1:GameEvents=null):void{
clearEvents();
}
private function update(_arg1:TimerEvent=null){
var _local2:Point;
var _local3:Point;
var _local4:Vector;
var _local5:Number;
_local2 = new Point((stage.mouseX - X0), (stage.mouseY - Y0));
_local3 = POINTS[(POINTS.length - 1)];
_local4 = new Vector((_local2.x - _local3.x), (_local2.y - _local3.y));
_local5 = _local4.getLength();
if (_local5 > 1){
POINTS.push(_local2);
LINES.push({l:20, action:"up", dy:0});
};
if (POINTS.length > GameSettings.MAX_POINTS){
stopMagic();
};
}
private function stopMagic(_arg1:MouseEvent=null){
var _local2:MagicTest;
var _local3:Object;
var _local4:GameEvents;
var _local5:uint;
stage.removeEventListener(MouseEvent.MOUSE_UP, stopMagic);
magicTimer.stop();
if (POINTS.length > 2){
_local2 = new MagicTest(this, POINTS);
_local3 = _local2.getMagicResults();
if (_local3.id != -1){
_local4 = new GameEvents(GameEvents.GAME_MAGIC_OK);
_local4.gameValue = _local3;
stage.dispatchEvent(_local4);
};
_local2.remove();
} else {
remove();
};
if (GameSettings._combo_amount == 0){
GameSettings.sound_game.playSound(null, "s_bad", null, 0);
GameSettings.addSckore(-5);
} else {
if (GameSettings._combo_amount >= 1){
_local5 = (Math.round((2 * Math.random())) + 1);
GameSettings.sound_game.playSound(null, ("s_magic" + _local5), null, 0);
if (GameSettings._combo_amount > 1){
GameSettings.sound_game.playSound(null, "s_combo", null, 0);
};
};
};
}
public function clearEvents():void{
stage.removeEventListener(MouseEvent.MOUSE_UP, stopMagic);
stage.removeEventListener(GameEvents.GAME_UPDATE, update);
stage.removeEventListener(GameEvents.GAME_UPDATE, updateLines);
stage.removeEventListener(GameEvents.GAME_OVER, gameOverAction);
stage.removeEventListener(Event.DEACTIVATE, remove);
magicTimer.removeEventListener(TimerEvent.TIMER, update);
magicTimer.stop();
}
}
}//package classes
Section 33
//MagicChecker (classes.MagicChecker)
package classes {
import flash.display.*;
public class MagicChecker extends MovieClip {
public function MagicChecker(){
trace("FUCK");
}
}
}//package classes
Section 34
//MagicTest (classes.MagicTest)
package classes {
import classes.math.*;
import flash.display.*;
import flash.geom.*;
public class MagicTest extends MovieClip {
public var b10:mBox;
public var b12:mBox;
public var b14:mBox;
public var b16:mBox;
public var b17:mBox;
public var b18:mBox;
public var b19:mBox;
public var b13:mBox;
public var b15:mBox;
public var b1:mBox;
public var b5:mBox;
public var b8:mBox;
public var b2:mBox;
public var b3:mBox;
public var b7:mBox;
public var MAX_X:Number;
public var b4:mBox;
public var b6:mBox;
public var b25:mBox;
public var b20:mBox;
public var b21:mBox;
public var b22:mBox;
public var b24:mBox;
public var b23:mBox;
public var MAX_Y:Number;
public var b11:mBox;
public var b9:mBox;
public var ARR:Array;
public var N:uint;// = 30
public var LINE_BOX_ARR:Object;
public var LINE_BOX_ARR2:Array;
public var KOF_X:Number;
public var KOF_Y:Number;
public var POINTS:Array;
public var X0:Number;
public var Y0:Number;
public var GOAL:MovieClip;
public var m10:MovieClip;
public var m11:MovieClip;
public var m12:MovieClip;
public var m13:MovieClip;
public var m14:MovieClip;
public var m16:MovieClip;
public var m17:MovieClip;
public var m18:MovieClip;
public var m19:MovieClip;
public var PROC:Number;// = 85
public var m15:MovieClip;
public var m1:MovieClip;
public var m2:MovieClip;
public var m3:MovieClip;
public var m6:MovieClip;
public var m7:MovieClip;
public var m8:MovieClip;
public var m22:MovieClip;
public var m23:MovieClip;
public var m24:MovieClip;
public var m25:MovieClip;
public var m26:MovieClip;
public var m20:MovieClip;
public var m9:MovieClip;
public var m4:MovieClip;
public var m5:MovieClip;
public var m27:MovieClip;
public var m28:MovieClip;
public var m21:MovieClip;
public var LINE_SPRITE:Sprite;
public var m29:MovieClip;
public var m30:MovieClip;
public var MIN_X:Number;
public var MIN_Y:Number;
public var BLOX_ARR:Array;
public function MagicTest(_arg1:MovieClip, _arg2:Array){
POINTS = new Array();
N = 30;
ARR = new Array();
BLOX_ARR = new Array();
LINE_BOX_ARR = new Object();
LINE_BOX_ARR2 = new Array();
PROC = 85;
super();
BLOX_ARR[1] = [];
BLOX_ARR[2] = [];
BLOX_ARR[3] = [];
BLOX_ARR[4] = [];
BLOX_ARR[5] = [];
BLOX_ARR[6] = [];
BLOX_ARR[7] = [];
BLOX_ARR[8] = [];
BLOX_ARR[9] = [4, 5, 16];
BLOX_ARR[10] = [10, 22, 25];
BLOX_ARR[11] = [1, 4, 25, 22];
BLOX_ARR[12] = [2, 5, 21, 24];
BLOX_ARR[13] = [21, 5, 13];
BLOX_ARR[14] = [1, 13, 25];
BLOX_ARR[15] = [1, 21, 23, 25, 5];
BLOX_ARR[16] = [21, 1, 3, 5, 25];
BLOX_ARR[17] = [2, 15, 22, 4, 24];
BLOX_ARR[18] = [2, 4, 11, 22, 24];
BLOX_ARR[19] = [22, 23, 24, 3];
BLOX_ARR[20] = [2, 3, 4, 23];
BLOX_ARR[21] = [23];
BLOX_ARR[22] = [3];
BLOX_ARR[23] = [2, 10, 16, 24, 13];
BLOX_ARR[24] = [4, 6, 20, 22, 13];
BLOX_ARR[25] = [];
BLOX_ARR[26] = [];
BLOX_ARR[27] = [23, 18, 2, 4];
BLOX_ARR[28] = [3, 8, 22, 24];
BLOX_ARR[29] = [1, 25];
BLOX_ARR[30] = [5, 21];
GOAL = _arg1;
POINTS = _arg2;
this.x = 200;
this.y = 0;
GOAL.addChild(this);
LINE_SPRITE = new Sprite();
this.addChild(LINE_SPRITE);
iniMagic();
}
public function iniMagic():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Array;
var _local6:Vector;
var _local7:Vector;
var _local8:uint;
var _local9:Number;
var _local10:uint;
var _local11:Number;
this.visible = false;
ARR = new Array();
_local1 = 1;
while (_local1 <= N) {
ARR[_local1] = {indx:_local1, amount:0};
this[("m" + _local1)].visible = false;
_local1++;
};
MIN_X = Number.MAX_VALUE;
MIN_Y = Number.MAX_VALUE;
MAX_X = Number.MIN_VALUE;
MAX_Y = Number.MIN_VALUE;
_local2 = 0;
while (_local2 < POINTS.length) {
if (POINTS[_local2].x < MIN_X){
MIN_X = POINTS[_local2].x;
};
if (POINTS[_local2].x > MAX_X){
MAX_X = POINTS[_local2].x;
};
if (POINTS[_local2].y < MIN_Y){
MIN_Y = POINTS[_local2].y;
};
if (POINTS[_local2].y > MAX_Y){
MAX_Y = POINTS[_local2].y;
};
_local2++;
};
_local3 = (MAX_X - MIN_X);
_local4 = (MAX_Y - MIN_Y);
KOF_X = (90 / _local3);
KOF_Y = (90 / _local4);
if (Math.abs(_local3) < 20){
KOF_X = 0;
};
if (Math.abs(_local4) < 20){
KOF_Y = 0;
};
X0 = (MIN_X * KOF_X);
Y0 = (MIN_Y * KOF_Y);
_local5 = new Array();
_local8 = 10;
_local5.push(POINTS[0]);
_local2 = 1;
while (_local2 < POINTS.length) {
_local7 = new Vector(POINTS[(_local2 - 1)].x, POINTS[(_local2 - 1)].y);
_local6 = new Vector((POINTS[_local2].x - POINTS[(_local2 - 1)].x), (POINTS[_local2].y - POINTS[(_local2 - 1)].y));
_local9 = _local6.length;
if (_local9 > _local8){
_local10 = Math.ceil((_local9 / _local8));
_local11 = (_local9 / _local10);
_local6.setLength(_local11);
_local1 = 0;
while (_local1 < _local10) {
_local7.plus(_local6);
_local5.push(new Point(_local7.x, _local7.y));
_local1++;
};
} else {
_local5.push(POINTS[_local2]);
};
_local2++;
};
POINTS = _local5;
}
public function remove():void{
GOAL.removeChild(this);
}
public function getMagicResults():Object{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:String;
var _local7:Number;
var _local8:Number;
var _local9:Point;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:*;
var _local14:Number;
var _local15:Boolean;
var _local16:Boolean;
var _local17:Number;
var _local18:Boolean;
if (POINTS.length < GameSettings.MIN_POINTS){
} else {
LINE_SPRITE.graphics.lineStyle(1, 0xFF0000, 1);
_local2 = 1;
while (_local2 <= N) {
_local1 = 0;
while (_local1 < POINTS.length) {
_local7 = ((5 - X0) + (POINTS[_local1].x * KOF_X));
_local8 = ((5 - Y0) + (POINTS[_local1].y * KOF_Y));
_local9 = new Point(_local7, _local8);
_local9 = this.localToGlobal(_local9);
_local10 = Math.floor((_local8 / 20));
_local11 = Math.floor((_local7 / 20));
LINE_BOX_ARR[((_local10 + "_") + _local11)] = {i:_local10, j:_local11};
if (this[("m" + _local2)].hitTestPoint(_local9.x, _local9.y, true)){
ARR[_local2].amount++;
};
_local12 = (POINTS.length - _local1);
_local5 = ((100 * (ARR[_local2].amount + _local12)) / POINTS.length);
if (_local5 <= PROC){
break;
};
_local1++;
};
_local2++;
};
};
_local3 = -1;
_local4 = 0;
ARR.sortOn("amount", (Array.NUMERIC | Array.DESCENDING));
LINE_BOX_ARR2 = new Array();
for (_local6 in LINE_BOX_ARR) {
_local13 = new mBox2();
this.addChild(_local13);
_local13.y = (LINE_BOX_ARR[_local6].i * 20);
_local13.x = (LINE_BOX_ARR[_local6].j * 20);
_local13.alpha = 0.5;
LINE_BOX_ARR2.push(_local13);
};
_local1 = 0;
while (_local1 < ARR.length) {
_local5 = Math.round(((100 * ARR[_local1].amount) / POINTS.length));
if (_local5 > PROC){
_local14 = ARR[_local1].indx;
_local15 = true;
_local2 = 0;
while (_local2 < BLOX_ARR[_local14].length) {
_local16 = false;
_local17 = 0;
while (_local17 < LINE_BOX_ARR2.length) {
_local18 = this[("b" + BLOX_ARR[_local14][_local2])].hitTestObject(LINE_BOX_ARR2[_local17]);
if (_local18){
_local16 = true;
break;
};
_local17++;
};
if (_local16 == false){
_local15 = false;
break;
};
_local2++;
};
if (_local15 == true){
_local3 = _local14;
_local4 = _local5;
};
} else {
break;
};
_local1++;
};
trace(("--------------->" + _local3));
return ({id:_local3, proc:_local4});
}
}
}//package classes
Section 35
//Main (classes.Main)
package classes {
import flash.display.*;
import flash.events.*;
import classes.media.*;
import classes.utils.*;
import flash.net.*;
import classes.gamezhero.*;
import flash.system.*;
public class Main extends MovieClip {
private var proLibrary:ClassLoader;
private var pro;
private var proFlag:Boolean;// = false
public function Main():void{
proFlag = false;
super();
addFrameScript(0, frame1, 1, frame2);
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);
}
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;
GameSettings.iniUrls((this as MovieClip));
this.removeEventListener(Event.ENTER_FRAME, iniMainStage);
iniSound();
_local2 = new GamePreloader(this, 2, "santas_tower");
this.gotoAndStop(1);
loadPro();
}
public function nextStep():void{
var _local1:Vorota;
trace(("PRO>> " + pro));
if (pro){
pro.stopPopUp();
};
stage.align = "";
_local1 = new Vorota(this, false, this, 2);
}
function frame1(){
stop();
}
private function loadErrorHandler(_arg1:Event):void{
getURL(GameSettings._urls["error"], "_blank");
}
function frame2(){
stop();
}
private function iniSound():void{
GameSettings.music_interface = new Music();
GameSettings.music_game = new Music();
GameSettings.sound_interface = new SoundFX();
GameSettings.sound_game = new SoundFX();
GameSettings.music_interface.setMusicVolume(GameSettings.MUSIC_VOLUME_INTERFACE);
GameSettings.music_game.setMusicVolume(GameSettings.MUSIC_VOLUME_GAME);
GameSettings.sound_interface.setSoundVolume(GameSettings.SOUND_VOLUME_INTERFACE);
GameSettings.sound_game.setSoundVolume(GameSettings.SOUND_VOLUME_GAME);
if (isNaN(GameSettings._game_stored_data.data.soundVolumeFlag)){
GameSettings._game_stored_data.data.soundVolumeFlag = 1;
};
if (isNaN(GameSettings._game_stored_data.data.musicVolumeFlag)){
GameSettings._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, "santas_tower");
}
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 classes
Section 36
//Panel (classes.Panel)
package classes {
import flash.display.*;
import classes.events.*;
public class Panel extends MovieClip {
private var GOAL:MovieClip;
private var REMOVE_ITEMS:Array;
private var _currentInd:Number;// = 0
private var ITEMS_DX:Number;// = 50
private var TYPE:String;
private var ITEMS:Array;
private var ITEMS_X0:Number;// = 5
public function Panel(_arg1:MovieClip, _arg2:String){
ITEMS = new Array();
REMOVE_ITEMS = new Array();
ITEMS_X0 = 5;
ITEMS_DX = 50;
_currentInd = 0;
super();
GOAL = _arg1;
if (_arg2 == "bottom"){
this.y = (GameSettings.GAME_HEIGHT - 47);
TYPE = "bottom";
} else {
this.y = 5;
TYPE = "top";
};
this.mouseEnabled = false;
this.mouseChildren = false;
GOAL.addChild(this);
iniPanel();
}
private function getPos(_arg1:Number):Number{
return ((ITEMS_X0 + (_arg1 * ITEMS_DX)));
}
private function checkInType(_arg1:String):Boolean{
return (true);
}
private function updateEnemy(_arg1:GameEvents=null):void{
var _local2:*;
var _local3:*;
_local2 = _arg1.gameValue;
if (checkInType(_local2.TYPE_MOVE)){
_local3 = 0;
while (_local3 < ITEMS.length) {
if (ITEMS[_local3].goal == _local2){
ITEMS[_local3].item.update();
break;
};
_local3++;
};
};
}
private function removeEnemy(_arg1:GameEvents=null):void{
var _local2:*;
var _local3:*;
var _local4:Object;
_local2 = _arg1.gameValue;
if (checkInType(_local2.TYPE_MOVE)){
_local3 = 0;
while (_local3 < ITEMS.length) {
if (ITEMS[_local3].goal == _local2){
_local4 = ITEMS.splice(_local3, 1)[0];
REMOVE_ITEMS.push(_local4);
break;
};
_local3++;
};
stage.addEventListener(GameEvents.GAME_UPDATE, updateRemove);
};
}
private function addEnemy(_arg1:GameEvents=null):void{
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = _arg1.gameValue;
if (checkInType(_local2.TYPE_MOVE)){
_local3 = new PanelItem(this, _local2, _local2.TYPE_SKIN, _local2.TYPE_MOVE);
_local4 = new Object();
_local4.item = _local3;
_local4.goal = _local2;
if (_local2.BOSS){
_local3.scaleX = 2;
_local3.scaleY = 2;
};
ITEMS.push(_local4);
startUpdate();
};
}
private function iniPanel():void{
stage.addEventListener(GameEvents.GAME_ADD_ENEMY, addEnemy);
stage.addEventListener(GameEvents.GAME_REMOVE_ENEMY, removeEnemy);
stage.addEventListener(GameEvents.GAME_MAGIC_COMPLITE, updateEnemy);
stage.addEventListener(GameEvents.GAME_OVER, gameOverAction);
startUpdate();
}
private function updateRemove(_arg1:GameEvents=null):void{
if ((REMOVE_ITEMS.length > 0)){
REMOVE_ITEMS[0].item.alpha = (REMOVE_ITEMS[0].item.alpha - 0.2);
if (REMOVE_ITEMS[0].item.alpha <= 0){
REMOVE_ITEMS[0].item.remove();
REMOVE_ITEMS.splice(0, 1);
};
} else {
stage.removeEventListener(GameEvents.GAME_UPDATE, updateRemove);
startUpdate();
};
}
private function addMagic(_arg1:Array):void{
}
private function gameOverAction(_arg1:GameEvents=null):void{
clearEvents();
}
private function update(_arg1:GameEvents=null):void{
var _local2:*;
_local2 = 0;
while (_local2 < ITEMS.length) {
ITEMS[_local2].item.x = (ITEMS[_local2].goal.x + ITEMS[_local2].goal.DX);
ITEMS[_local2].item.y = (ITEMS[_local2].item.y - ((ITEMS[_local2].item.y - (ITEMS[_local2].goal.y + ITEMS[_local2].goal.DY)) / 20));
_local2++;
};
}
private function clearEvents(){
stage.removeEventListener(GameEvents.GAME_ADD_ENEMY, addEnemy);
stage.removeEventListener(GameEvents.GAME_REMOVE_ENEMY, removeEnemy);
stage.removeEventListener(GameEvents.GAME_MAGIC_COMPLITE, updateEnemy);
stage.removeEventListener(GameEvents.GAME_OVER, gameOverAction);
}
private function startUpdate():void{
_currentInd = 0;
stage.addEventListener(GameEvents.GAME_UPDATE, update);
}
}
}//package classes
Section 37
//PanelItem (classes.PanelItem)
package classes {
import flash.display.*;
import flash.events.*;
import classes.events.*;
public class PanelItem extends MovieClip {
private var GOAL:MovieClip;
public var magicMc:MovieClip;
public var bg:MovieClip;
public var amount:MovieClip;
public var ENEMY:MovieClip;
private var SKIN:Number;
private var TYPE:String;
public function PanelItem(_arg1:MovieClip, _arg2:MovieClip, _arg3:Number, _arg4:String){
this.mouseEnabled = false;
this.mouseChildren = false;
GOAL = _arg1;
GOAL.addChild(this);
TYPE = _arg4;
SKIN = _arg3;
ENEMY = _arg2;
iniPanelItem();
if ((((TYPE == "up")) || ((TYPE == "boss")))){
this.y = -500;
} else {
this.y = 500;
};
stage.addEventListener(GameEvents.GAME_OVER, gameOverAction);
}
private function showMagicAlpha(_arg1:Event):void{
magicMc.alpha = (magicMc.alpha + 0.2);
if (magicMc.alpha >= 1){
this.removeEventListener(Event.ENTER_FRAME, showMagicAlpha);
};
}
public function remove():void{
clearEvents();
GOAL.removeChild(this);
}
private function iniPanelItem():void{
if (ENEMY.MAGIC.length > 1){
this.amount.visible = true;
} else {
this.amount.visible = false;
};
if (TYPE == "top"){
};
update();
}
private function gameOverAction(_arg1:GameEvents=null):void{
clearEvents();
}
public function update():void{
this.amount.txt.text = String(ENEMY.MAGIC.length);
this.amount.gotoAndStop(SKIN);
this.bg.gotoAndStop(SKIN);
if (ENEMY.MAGIC.length > 0){
magicMc.gotoAndStop(ENEMY.MAGIC[0]);
magicMc.alpha = 0;
this.addEventListener(Event.ENTER_FRAME, showMagicAlpha);
};
}
private function clearEvents(){
this.removeEventListener(Event.ENTER_FRAME, showMagicAlpha);
stage.removeEventListener(GameEvents.GAME_OVER, gameOverAction);
}
}
}//package classes
Section 38
//Santa (classes.Santa)
package classes {
import flash.display.*;
import classes.events.*;
public class Santa extends MovieClip {
private var santa_y0:Number;
private var santa_max_x:Number;
private var santa_speed_kof:Number;// = 50
private var santa_min_x:Number;// = 80
private var santa_action:String;// = "santa_move"
private var santa_dx:Number;
public function Santa(){
santa_action = SantaEvents.SANTA_MOVE;
santa_min_x = 80;
santa_max_x = (GameSettings.GAME_WIDTH - santa_min_x);
santa_dx = (santa_max_x - santa_min_x);
santa_speed_kof = 50;
super();
trace("INI SANTA");
iniSanta();
}
private function updateMagicSkin():void{
if (((!((this.currentLabel == "stop"))) && (!((this.currentLabel == "magic"))))){
if ((((this.currentLabel == "left")) || ((this.currentLabel == "moveLeft")))){
this.gotoAndStop((this.currentFrame + 1));
} else {
this.gotoAndStop((this.currentFrame - 1));
};
} else {
if (this.currentLabel != "magic"){
this.gotoAndStop("magic");
};
};
}
private function changeAction(_arg1:GameEvents=null):void{
switch (_arg1.type){
case GameEvents.GAME_START_MAGIC:
santa_action = "santa_magic";
break;
default:
this.gotoAndStop("stop");
santa_action = "santa_move";
};
}
private function nextPos():Number{
var _local1:Number;
_local1 = stage.mouseX;
if (_local1 < santa_min_x){
_local1 = santa_min_x;
} else {
if (_local1 > santa_max_x){
_local1 = santa_max_x;
};
};
return (_local1);
}
private function santaMagic(_arg1:SantaEvents=null):void{
updateMagicSkin();
}
private function santaMove(_arg1:SantaEvents=null):void{
var _local2:Number;
_local2 = ((this.x - nextPos()) / santa_speed_kof);
this.x = (this.x - _local2);
this.y = (santa_y0 + (20 * Math.sin((Math.PI * ((this.x - santa_min_x) / santa_dx)))));
updateMoveSkin(_local2);
}
private function gameOverAction(_arg1:GameEvents=null):void{
clearEvents();
}
private function iniSanta():void{
stage.addEventListener(GameEvents.GAME_UPDATE, update);
stage.addEventListener(GameEvents.GAME_START_MAGIC, changeAction);
stage.addEventListener(GameEvents.GAME_STOP_MAGIC, changeAction);
this.addEventListener(SantaEvents.SANTA_MOVE, santaMove);
this.addEventListener(SantaEvents.SANTA_MAGIC, santaMagic);
santa_y0 = this.y;
stage.addEventListener(GameEvents.GAME_OVER, gameOverAction);
}
private function clearEvents(){
stage.removeEventListener(GameEvents.GAME_UPDATE, update);
stage.removeEventListener(GameEvents.GAME_START_MAGIC, changeAction);
stage.removeEventListener(GameEvents.GAME_STOP_MAGIC, changeAction);
this.removeEventListener(SantaEvents.SANTA_MOVE, santaMove);
this.removeEventListener(SantaEvents.SANTA_MAGIC, santaMagic);
stage.removeEventListener(GameEvents.GAME_OVER, gameOverAction);
}
private function updateMoveSkin(_arg1:Number):void{
if (Math.abs(_arg1) < 0.2){
if (this.currentLabel != "stop"){
if ((((this.currentLabel == "left")) || ((this.currentLabel == "moveLeft")))){
this.gotoAndStop((this.currentFrame + 1));
} else {
this.gotoAndStop((this.currentFrame - 1));
};
};
} else {
if (_arg1 > 0){
if (this.currentLabel != "left"){
this.gotoAndStop((this.currentFrame - 1));
};
} else {
if (_arg1 < 0){
if (this.currentLabel != "right"){
this.gotoAndStop((this.currentFrame + 1));
};
};
};
};
}
private function update(_arg1:GameEvents=null):void{
this.dispatchEvent(new SantaEvents(santa_action));
}
}
}//package classes
Section 39
//Vorota (classes.Vorota)
package classes {
import flash.display.*;
import flash.events.*;
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, 11, frame12);
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 frame12(){
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 classes
Section 40
//AlertText_661 (clausBMP_fla.AlertText_661)
package clausBMP_fla {
import flash.display.*;
import flash.text.*;
public dynamic class AlertText_661 extends MovieClip {
public var txt:TextField;
}
}//package clausBMP_fla
Section 41
//blick_305 (clausBMP_fla.blick_305)
package clausBMP_fla {
import flash.display.*;
public dynamic class blick_305 extends MovieClip {
public function blick_305(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package clausBMP_fla
Section 42
//blick2_288 (clausBMP_fla.blick2_288)
package clausBMP_fla {
import flash.display.*;
public dynamic class blick2_288 extends MovieClip {
public function blick2_288(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package clausBMP_fla
Section 43
//blick3_290 (clausBMP_fla.blick3_290)
package clausBMP_fla {
import flash.display.*;
public dynamic class blick3_290 extends MovieClip {
public function blick3_290(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package clausBMP_fla
Section 44
//bloxAmouts_619 (clausBMP_fla.bloxAmouts_619)
package clausBMP_fla {
import flash.display.*;
import flash.text.*;
public dynamic class bloxAmouts_619 extends MovieClip {
public var txt:TextField;
public function bloxAmouts_619(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package clausBMP_fla
Section 45
//bloxBg_390 (clausBMP_fla.bloxBg_390)
package clausBMP_fla {
import flash.display.*;
public dynamic class bloxBg_390 extends MovieClip {
public function bloxBg_390(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package clausBMP_fla
Section 46
//bloxImg_601 (clausBMP_fla.bloxImg_601)
package clausBMP_fla {
import flash.display.*;
public dynamic class bloxImg_601 extends MovieClip {
public function bloxImg_601(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package clausBMP_fla
Section 47
//ComboText_663 (clausBMP_fla.ComboText_663)
package clausBMP_fla {
import flash.display.*;
import flash.text.*;
public dynamic class ComboText_663 extends MovieClip {
public var txt:TextField;
}
}//package clausBMP_fla
Section 48
//Gameover0014_466 (clausBMP_fla.Gameover0014_466)
package clausBMP_fla {
import flash.display.*;
public dynamic class Gameover0014_466 extends MovieClip {
public function Gameover0014_466(){
addFrameScript(0, frame1, 79, frame80);
}
function frame80(){
stop();
}
function frame1(){
stop();
}
}
}//package clausBMP_fla
Section 49
//Gameover0020_439 (clausBMP_fla.Gameover0020_439)
package clausBMP_fla {
import flash.display.*;
public dynamic class Gameover0020_439 extends MovieClip {
public function Gameover0020_439(){
addFrameScript(6, frame7);
}
function frame7(){
gotoAndPlay(1);
}
}
}//package clausBMP_fla
Section 50
//Gameover0039_447 (clausBMP_fla.Gameover0039_447)
package clausBMP_fla {
import flash.display.*;
public dynamic class Gameover0039_447 extends MovieClip {
public function Gameover0039_447(){
addFrameScript(6, frame7);
}
function frame7(){
gotoAndPlay(1);
}
}
}//package clausBMP_fla
Section 51
//gamezhero1_301 (clausBMP_fla.gamezhero1_301)
package clausBMP_fla {
import flash.display.*;
public dynamic class gamezhero1_301 extends MovieClip {
public var blick2:MovieClip;
public var blick:MovieClip;
}
}//package clausBMP_fla
Section 52
//gameZheroPreloader_674 (clausBMP_fla.gameZheroPreloader_674)
package clausBMP_fla {
import flash.display.*;
public dynamic class gameZheroPreloader_674 extends MovieClip {
public var pr:MovieClip;
public function gameZheroPreloader_674(){
addFrameScript(104, frame105);
}
function frame105(){
stop();
}
}
}//package clausBMP_fla
Section 53
//instructions_375 (clausBMP_fla.instructions_375)
package clausBMP_fla {
import flash.display.*;
public dynamic class instructions_375 extends MovieClip {
public var cursor:MovieClip;
public var body:MovieClip;
}
}//package clausBMP_fla
Section 54
//Mult00037_126 (clausBMP_fla.Mult00037_126)
package clausBMP_fla {
import flash.display.*;
public dynamic class Mult00037_126 extends MovieClip {
public function Mult00037_126(){
addFrameScript(0, frame1, 3, frame4);
}
function frame1(){
stop();
}
function frame4(){
gotoAndPlay(2);
}
}
}//package clausBMP_fla
Section 55
//Mult00059_100 (clausBMP_fla.Mult00059_100)
package clausBMP_fla {
import flash.display.*;
public dynamic class Mult00059_100 extends MovieClip {
public function Mult00059_100(){
addFrameScript(0, frame1, 30, frame31);
}
function frame1(){
stop();
}
function frame31(){
stop();
}
}
}//package clausBMP_fla
Section 56
//Mult00060_115 (clausBMP_fla.Mult00060_115)
package clausBMP_fla {
import flash.display.*;
public dynamic class Mult00060_115 extends MovieClip {
public function Mult00060_115(){
addFrameScript(0, frame1, 21, frame22, 44, frame45);
}
function frame1(){
stop();
}
function frame22(){
stop();
}
function frame45(){
stop();
}
}
}//package clausBMP_fla
Section 57
//Mult00064_95 (clausBMP_fla.Mult00064_95)
package clausBMP_fla {
import flash.display.*;
public dynamic class Mult00064_95 extends MovieClip {
public function Mult00064_95(){
addFrameScript(0, frame1, 6, frame7, 15, frame16);
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame16(){
stop();
}
}
}//package clausBMP_fla
Section 58
//Mult00068_98 (clausBMP_fla.Mult00068_98)
package clausBMP_fla {
import flash.display.*;
public dynamic class Mult00068_98 extends MovieClip {
public var z1:MovieClip;
public function Mult00068_98(){
addFrameScript(73, frame74, 79, frame80, 93, frame94);
}
function frame74(){
gotoAndPlay(1);
}
function frame80(){
stop();
}
function frame94(){
stop();
}
}
}//package clausBMP_fla
Section 59
//Mult00083_75 (clausBMP_fla.Mult00083_75)
package clausBMP_fla {
import flash.display.*;
public dynamic class Mult00083_75 extends MovieClip {
public function Mult00083_75(){
addFrameScript(19, frame20, 24, frame25);
}
function frame20(){
stop();
}
function frame25(){
stop();
}
}
}//package clausBMP_fla
Section 60
//Mult00087_82 (clausBMP_fla.Mult00087_82)
package clausBMP_fla {
import flash.display.*;
public dynamic class Mult00087_82 extends MovieClip {
public function Mult00087_82(){
addFrameScript(0, frame1, 14, frame15, 39, frame40);
}
function frame15(){
stop();
}
function frame1(){
stop();
}
function frame40(){
stop();
}
}
}//package clausBMP_fla
Section 61
//Mult00088_62 (clausBMP_fla.Mult00088_62)
package clausBMP_fla {
import flash.display.*;
public dynamic class Mult00088_62 extends MovieClip {
public function Mult00088_62(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 5, frame6);
}
function frame3(){
stop();
}
function frame6(){
gotoAndPlay(4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package clausBMP_fla
Section 62
//Mult00089_72 (clausBMP_fla.Mult00089_72)
package clausBMP_fla {
import flash.display.*;
public dynamic class Mult00089_72 extends MovieClip {
public function Mult00089_72(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 5, frame6);
}
function frame3(){
stop();
}
function frame6(){
gotoAndPlay(4);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package clausBMP_fla
Section 63
//Mult00094_69 (clausBMP_fla.Mult00094_69)
package clausBMP_fla {
import flash.display.*;
public dynamic class Mult00094_69 extends MovieClip {
public var z1:MovieClip;
public function Mult00094_69(){
addFrameScript(45, frame46, 50, frame51, 54, frame55);
}
function frame46(){
gotoAndPlay(1);
}
function frame51(){
stop();
}
function frame55(){
stop();
}
}
}//package clausBMP_fla
Section 64
//Mult00095_66 (clausBMP_fla.Mult00095_66)
package clausBMP_fla {
import flash.display.*;
public dynamic class Mult00095_66 extends MovieClip {
public var z1:MovieClip;
public function Mult00095_66(){
addFrameScript(45, frame46, 50, frame51, 54, frame55);
}
function frame46(){
gotoAndPlay(1);
}
function frame51(){
stop();
}
function frame55(){
stop();
}
}
}//package clausBMP_fla
Section 65
//Mult00117_41 (clausBMP_fla.Mult00117_41)
package clausBMP_fla {
import flash.display.*;
public dynamic class Mult00117_41 extends MovieClip {
public function Mult00117_41(){
addFrameScript(4, frame5);
}
function frame5(){
gotoAndPlay(1);
}
}
}//package clausBMP_fla
Section 66
//Mult00118_36 (clausBMP_fla.Mult00118_36)
package clausBMP_fla {
import flash.display.*;
public dynamic class Mult00118_36 extends MovieClip {
public function Mult00118_36(){
addFrameScript(0, frame1, 9, frame10, 14, frame15);
}
function frame10(){
stop();
}
function frame15(){
stop();
}
function frame1(){
stop();
}
}
}//package clausBMP_fla
Section 67
//Mult00141_33 (clausBMP_fla.Mult00141_33)
package clausBMP_fla {
import flash.display.*;
public dynamic class Mult00141_33 extends MovieClip {
public function Mult00141_33(){
addFrameScript(0, frame1, 29, frame30);
}
function frame1(){
stop();
}
function frame30(){
stop();
}
}
}//package clausBMP_fla
Section 68
//Mult00142_25 (clausBMP_fla.Mult00142_25)
package clausBMP_fla {
import flash.display.*;
public dynamic class Mult00142_25 extends MovieClip {
public function Mult00142_25(){
addFrameScript(0, frame1, 14, frame15, 24, frame25);
}
function frame15(){
stop();
}
function frame1(){
stop();
}
function frame25(){
stop();
}
}
}//package clausBMP_fla
Section 69
//Mult00143_31 (clausBMP_fla.Mult00143_31)
package clausBMP_fla {
import flash.display.*;
public dynamic class Mult00143_31 extends MovieClip {
public function Mult00143_31(){
addFrameScript(0, frame1, 14, frame15, 24, frame25);
}
function frame15(){
stop();
}
function frame1(){
stop();
}
function frame25(){
stop();
}
}
}//package clausBMP_fla
Section 70
//Mult00145_24 (clausBMP_fla.Mult00145_24)
package clausBMP_fla {
import flash.display.*;
public dynamic class Mult00145_24 extends MovieClip {
public var z1:MovieClip;
public function Mult00145_24(){
addFrameScript(45, frame46, 46, frame47, 50, frame51);
}
function frame46(){
gotoAndPlay(1);
}
function frame47(){
trace(1);
}
function frame51(){
stop();
}
}
}//package clausBMP_fla
Section 71
//Mult00146_30 (clausBMP_fla.Mult00146_30)
package clausBMP_fla {
import flash.display.*;
public dynamic class Mult00146_30 extends MovieClip {
public var z2:MovieClip;
public function Mult00146_30(){
addFrameScript(45, frame46, 46, frame47, 50, frame51);
}
function frame46(){
gotoAndPlay(1);
}
function frame47(){
trace(2);
}
function frame51(){
stop();
}
}
}//package clausBMP_fla
Section 72
//Mult00157_86 (clausBMP_fla.Mult00157_86)
package clausBMP_fla {
import flash.display.*;
public dynamic class Mult00157_86 extends MovieClip {
public function Mult00157_86(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package clausBMP_fla
Section 73
//Mult00158_92 (clausBMP_fla.Mult00158_92)
package clausBMP_fla {
import flash.display.*;
public dynamic class Mult00158_92 extends MovieClip {
public function Mult00158_92(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package clausBMP_fla
Section 74
//musicMenu_669 (clausBMP_fla.musicMenu_669)
package clausBMP_fla {
import flash.display.*;
public dynamic class musicMenu_669 extends MovieClip {
public var blick2:MovieClip;
public function musicMenu_669(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package clausBMP_fla
Section 75
//pauseMenu1_666 (clausBMP_fla.pauseMenu1_666)
package clausBMP_fla {
import flash.display.*;
public dynamic class pauseMenu1_666 extends MovieClip {
public var blick2:MovieClip;
}
}//package clausBMP_fla
Section 76
//pauseMenu2_667 (clausBMP_fla.pauseMenu2_667)
package clausBMP_fla {
import flash.display.*;
public dynamic class pauseMenu2_667 extends MovieClip {
public var blick2:MovieClip;
}
}//package clausBMP_fla
Section 77
//preloaderLine_675 (clausBMP_fla.preloaderLine_675)
package clausBMP_fla {
import flash.display.*;
public dynamic class preloaderLine_675 extends MovieClip {
public var begun:MovieClip;
}
}//package clausBMP_fla
Section 78
//shower_389 (clausBMP_fla.shower_389)
package clausBMP_fla {
import flash.display.*;
public dynamic class shower_389 extends MovieClip {
public var bg:MovieClip;
}
}//package clausBMP_fla
Section 79
//soundMenu1_668 (clausBMP_fla.soundMenu1_668)
package clausBMP_fla {
import flash.display.*;
public dynamic class soundMenu1_668 extends MovieClip {
public var blick2:MovieClip;
public function soundMenu1_668(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package clausBMP_fla
Section 80
//submit0001_396 (clausBMP_fla.submit0001_396)
package clausBMP_fla {
import flash.display.*;
public dynamic class submit0001_396 extends MovieClip {
public function submit0001_396(){
addFrameScript(9, frame10);
}
function frame10(){
gotoAndPlay(1);
}
}
}//package clausBMP_fla
Section 81
//submit0068_418 (clausBMP_fla.submit0068_418)
package clausBMP_fla {
import flash.display.*;
public dynamic class submit0068_418 extends MovieClip {
public function submit0068_418(){
addFrameScript(9, frame10);
}
function frame10(){
gotoAndPlay(1);
}
}
}//package clausBMP_fla
Section 82
//superMagic_373 (clausBMP_fla.superMagic_373)
package clausBMP_fla {
import flash.display.*;
public dynamic class superMagic_373 extends MovieClip {
public function superMagic_373(){
addFrameScript(3, frame4);
}
function frame4(){
stop();
}
}
}//package clausBMP_fla
Section 83
//Symbol103_506 (clausBMP_fla.Symbol103_506)
package clausBMP_fla {
import flash.display.*;
public dynamic class Symbol103_506 extends MovieClip {
public function Symbol103_506(){
addFrameScript(24, frame25);
}
function frame25(){
stop();
}
}
}//package clausBMP_fla
Section 84
//Symbol14444_559 (clausBMP_fla.Symbol14444_559)
package clausBMP_fla {
import flash.display.*;
public dynamic class Symbol14444_559 extends MovieClip {
public function Symbol14444_559(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
play();
}
function frame2(){
play();
}
}
}//package clausBMP_fla
Section 85
//Symbol157_509 (clausBMP_fla.Symbol157_509)
package clausBMP_fla {
import flash.display.*;
public dynamic class Symbol157_509 extends MovieClip {
public function Symbol157_509(){
addFrameScript(59, frame60);
}
function frame60(){
gotoAndPlay(1);
}
}
}//package clausBMP_fla
Section 86
//Symbol159_478 (clausBMP_fla.Symbol159_478)
package clausBMP_fla {
import flash.display.*;
public dynamic class Symbol159_478 extends MovieClip {
public function Symbol159_478(){
addFrameScript(59, frame60);
}
function frame60(){
gotoAndPlay(1);
}
}
}//package clausBMP_fla
Section 87
//Symbol159copy2_484 (clausBMP_fla.Symbol159copy2_484)
package clausBMP_fla {
import flash.display.*;
public dynamic class Symbol159copy2_484 extends MovieClip {
public function Symbol159copy2_484(){
addFrameScript(41, frame42);
}
function frame42(){
gotoAndPlay(10);
}
}
}//package clausBMP_fla
Section 88
//Symbol162_480 (clausBMP_fla.Symbol162_480)
package clausBMP_fla {
import flash.display.*;
public dynamic class Symbol162_480 extends MovieClip {
public function Symbol162_480(){
addFrameScript(59, frame60);
}
function frame60(){
gotoAndPlay(1);
}
}
}//package clausBMP_fla
Section 89
//Symbol163_551 (clausBMP_fla.Symbol163_551)
package clausBMP_fla {
import flash.display.*;
public dynamic class Symbol163_551 extends MovieClip {
public function Symbol163_551(){
addFrameScript(59, frame60);
}
function frame60(){
gotoAndPlay(1);
}
}
}//package clausBMP_fla
Section 90
//Symbol163copy2_561 (clausBMP_fla.Symbol163copy2_561)
package clausBMP_fla {
import flash.display.*;
public dynamic class Symbol163copy2_561 extends MovieClip {
public function Symbol163copy2_561(){
addFrameScript(30, frame31);
}
function frame31(){
gotoAndPlay(15);
}
}
}//package clausBMP_fla
Section 91
//Symbol202copy3_589 (clausBMP_fla.Symbol202copy3_589)
package clausBMP_fla {
import flash.display.*;
public dynamic class Symbol202copy3_589 extends MovieClip {
public function Symbol202copy3_589(){
addFrameScript(15, frame16);
}
function frame16(){
stop();
}
}
}//package clausBMP_fla
Section 92
//Symbol50_595 (clausBMP_fla.Symbol50_595)
package clausBMP_fla {
import flash.display.*;
public dynamic class Symbol50_595 extends MovieClip {
public var magicMc:MovieClip;
}
}//package clausBMP_fla
Section 93
//Symbol74_487 (clausBMP_fla.Symbol74_487)
package clausBMP_fla {
import flash.display.*;
public dynamic class Symbol74_487 extends MovieClip {
public function Symbol74_487(){
addFrameScript(35, frame36);
}
function frame36(){
stop();
}
}
}//package clausBMP_fla
Section 94
//Symbol94_492 (clausBMP_fla.Symbol94_492)
package clausBMP_fla {
import flash.display.*;
public dynamic class Symbol94_492 extends MovieClip {
public function Symbol94_492(){
addFrameScript(29, frame30);
}
function frame30(){
gotoAndPlay(1);
}
}
}//package clausBMP_fla
Section 95
//Symbol94copy2_515 (clausBMP_fla.Symbol94copy2_515)
package clausBMP_fla {
import flash.display.*;
public dynamic class Symbol94copy2_515 extends MovieClip {
public function Symbol94copy2_515(){
addFrameScript(59, frame60);
}
function frame60(){
gotoAndPlay(1);
}
}
}//package clausBMP_fla
Section 96
//tower__310 (clausBMP_fla.tower__310)
package clausBMP_fla {
import flash.display.*;
import classes.*;
public dynamic class tower__310 extends MovieClip {
public var boryer:MovieClip;
public var tower:MovieClip;
public var border:MovieClip;
public var santa:Santa;
public var g3:Gift;
public var g4:Gift4;
public var g1:Gift2;
public var g5:Gift3;
public var g2:Gift5;
public var gerlyanda:MovieClip;
}
}//package clausBMP_fla
Section 97
//z_2_303 (clausBMP_fla.z_2_303)
package clausBMP_fla {
import flash.display.*;
public dynamic class z_2_303 extends MovieClip {
public function z_2_303(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package clausBMP_fla
Section 98
//Alert (Alert)
package {
import flash.display.*;
public dynamic class Alert extends MovieClip {
public var mc:MovieClip;
}
}//package
Section 99
//Combo (Combo)
package {
import flash.display.*;
public dynamic class Combo extends MovieClip {
public var mc:MovieClip;
}
}//package
Section 100
//EnemySkin1_down_left (EnemySkin1_down_left)
package {
import flash.display.*;
public dynamic class EnemySkin1_down_left extends MovieClip {
public var body:MovieClip;
}
}//package
Section 101
//EnemySkin1_down_right (EnemySkin1_down_right)
package {
import flash.display.*;
public dynamic class EnemySkin1_down_right extends MovieClip {
public var body:MovieClip;
}
}//package
Section 102
//EnemySkin1_up_left (EnemySkin1_up_left)
package {
import flash.display.*;
public dynamic class EnemySkin1_up_left extends MovieClip {
public var body:MovieClip;
}
}//package
Section 103
//EnemySkin1_up_right (EnemySkin1_up_right)
package {
import flash.display.*;
public dynamic class EnemySkin1_up_right extends MovieClip {
public var body:MovieClip;
}
}//package
Section 104
//EnemySkin2_down_left (EnemySkin2_down_left)
package {
import flash.display.*;
public dynamic class EnemySkin2_down_left extends MovieClip {
public var body:MovieClip;
}
}//package
Section 105
//EnemySkin2_down_right (EnemySkin2_down_right)
package {
import flash.display.*;
public dynamic class EnemySkin2_down_right extends MovieClip {
public var body:MovieClip;
}
}//package
Section 106
//EnemySkin2_up_left (EnemySkin2_up_left)
package {
import flash.display.*;
public dynamic class EnemySkin2_up_left extends MovieClip {
public var body:MovieClip;
}
}//package
Section 107
//EnemySkin2_up_right (EnemySkin2_up_right)
package {
import flash.display.*;
public dynamic class EnemySkin2_up_right extends MovieClip {
public var body:MovieClip;
}
}//package
Section 108
//EnemySkin3_down_left (EnemySkin3_down_left)
package {
import flash.display.*;
public dynamic class EnemySkin3_down_left extends MovieClip {
public var body:MovieClip;
}
}//package
Section 109
//EnemySkin3_down_right (EnemySkin3_down_right)
package {
import flash.display.*;
public dynamic class EnemySkin3_down_right extends MovieClip {
public var body:MovieClip;
}
}//package
Section 110
//EnemySkin3_up_left (EnemySkin3_up_left)
package {
import flash.display.*;
public dynamic class EnemySkin3_up_left extends MovieClip {
public var body:MovieClip;
}
}//package
Section 111
//EnemySkin3_up_right (EnemySkin3_up_right)
package {
import flash.display.*;
public dynamic class EnemySkin3_up_right extends MovieClip {
public var body:MovieClip;
}
}//package
Section 112
//EnemySkinBoss (EnemySkinBoss)
package {
import flash.display.*;
public dynamic class EnemySkinBoss extends MovieClip {
public var beer:MovieClip;
public var body:MovieClip;
}
}//package
Section 113
//Gift2 (Gift2)
package {
import classes.*;
public dynamic class Gift2 extends Gift {
public function Gift2(){
addFrameScript(0, frame1, 24, frame25);
}
function frame25(){
stop();
}
function frame1(){
stop();
}
}
}//package
Section 114
//Gift3 (Gift3)
package {
import classes.*;
public dynamic class Gift3 extends Gift {
public function Gift3(){
addFrameScript(0, frame1, 28, frame29);
}
function frame29(){
stop();
}
function frame1(){
stop();
}
}
}//package
Section 115
//Gift4 (Gift4)
package {
import classes.*;
public dynamic class Gift4 extends Gift {
public function Gift4(){
addFrameScript(0, frame1, 28, frame29);
}
function frame29(){
stop();
}
function frame1(){
stop();
}
}
}//package
Section 116
//Gift5 (Gift5)
package {
import classes.*;
public dynamic class Gift5 extends Gift {
public function Gift5(){
addFrameScript(0, frame1, 28, frame29);
}
function frame29(){
stop();
}
function frame1(){
stop();
}
}
}//package
Section 117
//m_intro_bad (m_intro_bad)
package {
import flash.media.*;
public dynamic class m_intro_bad extends Sound {
}
}//package
Section 118
//m_intro_good (m_intro_good)
package {
import flash.media.*;
public dynamic class m_intro_good extends Sound {
}
}//package
Section 119
//m_track1 (m_track1)
package {
import flash.media.*;
public dynamic class m_track1 extends Sound {
}
}//package
Section 120
//m_track2 (m_track2)
package {
import flash.media.*;
public dynamic class m_track2 extends Sound {
}
}//package
Section 121
//m_track3 (m_track3)
package {
import flash.media.*;
public dynamic class m_track3 extends Sound {
}
}//package
Section 122
//m_win (m_win)
package {
import flash.media.*;
public dynamic class m_win extends Sound {
}
}//package
Section 123
//mBox (mBox)
package {
import flash.display.*;
public dynamic class mBox extends MovieClip {
}
}//package
Section 124
//mBox2 (mBox2)
package {
import flash.display.*;
public dynamic class mBox2 extends MovieClip {
}
}//package
Section 125
//s_bad (s_bad)
package {
import flash.media.*;
public dynamic class s_bad extends Sound {
}
}//package
Section 126
//s_click (s_click)
package {
import flash.media.*;
public dynamic class s_click extends Sound {
}
}//package
Section 127
//s_combo (s_combo)
package {
import flash.media.*;
public dynamic class s_combo extends Sound {
}
}//package
Section 128
//s_down (s_down)
package {
import flash.media.*;
public dynamic class s_down extends Sound {
}
}//package
Section 129
//s_kick (s_kick)
package {
import flash.media.*;
public dynamic class s_kick extends Sound {
}
}//package
Section 130
//s_magic1 (s_magic1)
package {
import flash.media.*;
public dynamic class s_magic1 extends Sound {
}
}//package
Section 131
//s_magic2 (s_magic2)
package {
import flash.media.*;
public dynamic class s_magic2 extends Sound {
}
}//package
Section 132
//s_magic3 (s_magic3)
package {
import flash.media.*;
public dynamic class s_magic3 extends Sound {
}
}//package
Section 133
//s_over (s_over)
package {
import flash.media.*;
public dynamic class s_over extends Sound {
}
}//package