STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228113
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2561 · P5121

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/29595848?noj=FRM29595848-9DC" width="1" height="1"></div>

Color Bounce.swf

This is the info page for
Flash #132949

(Click the ID number above for more basic data on this flash file.)


Text
Congratulations

Frosmo saved the colors!!!

menu

Select Level

World 1

World 2

World 3

2

3

4

5

1

<p align="center"><font face="Arial Rounded MT Bold" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1">message text</font></p>

<p align="center"><font face="Kozuka Gothic Pro H" size="30" color="#ffffff" letterSpacing="-2.000000" kerning="1">Level text</font></p>

play

play

<p align="center"><font face="Eras Demi ITC" size="22" color="#ffffff" letterSpacing="0.000000" kerning="1">0000000</font></p>

<p align="center"><font face="Eras Demi ITC" size="25" color="#ffffff" letterSpacing="0.000000" kerning="1">Message goes here</font></p>

<p align="center"><font face="Eras Demi ITC" size="25" color="#ffffff" letterSpacing="0.000000" kerning="1">0123456789</font></p>

next level

level map

Congratulations

Level Passed

....................

<p align="center"><font face="Eras Bold ITC" size="21" color="#e5e5e5" letterSpacing="0.000000" kerning="1">score</font></p>

Credits

Start

Freemode

Instructions

<p align="left"><font face="Eras Demi ITC" size="20" color="#ffffff" letterSpacing="0.000000" kerning="1">0000000</font></p>

<p align="left"><font face="Eras Demi ITC" size="20" color="#ffffff" letterSpacing="0.000000" kerning="1">Colored: 0%</font></p>

Credits

Game Design: Jukka Peltola
Programmer: Velimir Gajski
Artwork: Bogdan Ene
Music: Robotaki
Special thanks to:
Mike Tucker (Megadev)
Jussi Kari (oopiexel)
+ all of you wonderful people that
helped in making of this game!

Programmer: Velimir Gajski
Artwork: Bogdan Ene
Music: Robotaki

next

Instructions

Move with mouse
Left-click to shoot ball
(recommended)
or
Arrows to move
Space to shoot ball
Throw balls in the air and match their colors!
Achieve needed score to pass level

back

Watch out for energy bar at top of the screen!
You gain energy by matching colors.
You lose energy by matching wrong colors.

Special Ball - Can hit any color!
Get it by catching ball you last threw in
the air.

Bomb powerup

Lightning powerup

Freeze powerup

Game Over

Your score:

<p align="left"><font face="Eras Bold ITC" size="21" color="#e5e5e5" letterSpacing="0.000000" kerning="1">000000</font></p>

restart

CREDITS

WORLD COLORED!!!!

ActionScript [AS3]

Section 1
//KongregateEvent (com.kongregate.as3.client.events.KongregateEvent) package com.kongregate.as3.client.events { import flash.events.*; public class KongregateEvent extends Event { public static const COMPLETE:String = "component_api_available"; public function KongregateEvent(_arg1:String){ super(_arg1); } } }//package com.kongregate.as3.client.events
Section 2
//AbstractShadowService (com.kongregate.as3.client.services.AbstractShadowService) package com.kongregate.as3.client.services { import flash.events.*; public class AbstractShadowService extends EventDispatcher { protected function alert(_arg1:String, _arg2:String, _arg3="", _arg4:String=""):void{ trace(((((((("Kongregate API: " + _arg1) + ".") + _arg2) + "(") + _arg3) + ") ") + _arg4)); } } }//package com.kongregate.as3.client.services
Section 3
//HighScoreServiceShadow (com.kongregate.as3.client.services.HighScoreServiceShadow) package com.kongregate.as3.client.services { public class HighScoreServiceShadow extends AbstractShadowService implements IHighScoreServices { private var mode:String; public function HighScoreServiceShadow(){ mode = ""; } public function submit(_arg1:Number, _arg2:String=null):void{ alert("IHighScoreServices", "submit", arguments); } public function connect():Boolean{ alert("IKongregateServices", "connect"); return (true); } public function requestList(_arg1:Function):void{ alert("IHighScoreServices", "requestList", "", (("[Mode: " + mode) + "]")); _arg1({success:false}); } public function setMode(_arg1:String):void{ alert("IHighScoreServices", "setMode", arguments); this.mode = _arg1; } } }//package com.kongregate.as3.client.services
Section 4
//IHighScoreServices (com.kongregate.as3.client.services.IHighScoreServices) package com.kongregate.as3.client.services { public interface IHighScoreServices { function setMode(_arg1:String):void; function submit(_arg1:Number, _arg2:String=null):void; function requestList(_arg1:Function):void; } }//package com.kongregate.as3.client.services
Section 5
//IKongregateServices (com.kongregate.as3.client.services.IKongregateServices) package com.kongregate.as3.client.services { import flash.events.*; public interface IKongregateServices extends IEventDispatcher { function getPlayerInfo(_arg1:Function):void; function connect(_arg1:Number=-1):Boolean; } }//package com.kongregate.as3.client.services
Section 6
//IStatServices (com.kongregate.as3.client.services.IStatServices) package com.kongregate.as3.client.services { public interface IStatServices { function submitArray(_arg1:Array):void; function submit(_arg1:String, _arg2:Number):void; } }//package com.kongregate.as3.client.services
Section 7
//IUserServices (com.kongregate.as3.client.services.IUserServices) package com.kongregate.as3.client.services { public interface IUserServices { function getName():String; function getPlayerInfo(_arg1:Function):void; } }//package com.kongregate.as3.client.services
Section 8
//KongregateServiceShadow (com.kongregate.as3.client.services.KongregateServiceShadow) package com.kongregate.as3.client.services { public class KongregateServiceShadow extends AbstractShadowService implements IKongregateServices { public function getName():String{ alert("IKongregateServices", "getName"); return ("Guest"); } public function connect(_arg1:Number=-1):Boolean{ alert("IKongregateServices", "connect", arguments); return (true); } public function getPlayerInfo(_arg1:Function):void{ alert("IKongregateServices", "getPlayerInfo"); _arg1(new Object()); } } }//package com.kongregate.as3.client.services
Section 9
//StatServiceShadow (com.kongregate.as3.client.services.StatServiceShadow) package com.kongregate.as3.client.services { public class StatServiceShadow extends AbstractShadowService implements IStatServices { public function submitArray(_arg1:Array):void{ alert("IStatServices", "submitArray", arguments); } public function submit(_arg1:String, _arg2:Number):void{ alert("IStatServices", "submitStat", arguments); } } }//package com.kongregate.as3.client.services
Section 10
//UserServiceShadow (com.kongregate.as3.client.services.UserServiceShadow) package com.kongregate.as3.client.services { public class UserServiceShadow extends AbstractShadowService implements IUserServices { public function getName():String{ alert("UserService", "getName"); return ("Guest"); } public function getPlayerInfo(_arg1:Function):void{ alert("UserService", "getPlayerInfo"); _arg1({isGuest:true, name:"Guest", points:0, level:0, isMode:false, isAdmin:false, isDeveloper:false, avatarPath:"", chatAvatarPath:""}); } } }//package com.kongregate.as3.client.services
Section 11
//IAPIBootstrap (com.kongregate.as3.client.IAPIBootstrap) package com.kongregate.as3.client { import flash.events.*; import flash.display.*; public interface IAPIBootstrap { function init(_arg1:Event=null, _arg2:Stage=null):void; function hideLog():void; function showLog(_arg1:int=0):void; } }//package com.kongregate.as3.client
Section 12
//KongregateAPI (com.kongregate.as3.client.KongregateAPI) package com.kongregate.as3.client { import flash.events.*; import flash.display.*; import com.kongregate.as3.client.services.*; import com.kongregate.as3.client.events.*; import flash.system.*; import flash.net.*; import flash.utils.*; import flash.errors.*; public class KongregateAPI extends Sprite { private const VERSION:Number = 1; private var loader:Loader; private var loadedDomain:ApplicationDomain; private static const CLASS_USER:String = "com.kongregate.as3.client.services.UserServices"; private static const CLASS_STATS:String = "com.kongregate.as3.client.services.StatServices"; private static const CLASS_SERVICES:String = "com.kongregate.as3.client.services.KongregateServices"; private static const CLASS_SCORES:String = "com.kongregate.as3.client.services.HighScoreServices"; private static const DEBUG_API_URL:String = "//Linuxpc/kongregate/public/flash/API_AS3.swf"; private static var _connected:Boolean; private static var kUser:IUserServices; private static var _loaded:Boolean; private static var kServices:IKongregateServices; private static var kScores:IHighScoreServices; private static var mInstance:KongregateAPI; private static var kStats:IStatServices; private static var kAPI:IAPIBootstrap; public function KongregateAPI(){ if (mInstance != null){ throw (new Error("Warning: KongregateAPI has been added to stage more than once or accessed improperly. Use getInstance() or a stage reference to access.")); }; mInstance = this; this.addEventListener(Event.ADDED_TO_STAGE, init, false, 0, true); } public function get loaded():Boolean{ return (_loaded); } public function get connected():Boolean{ return (_connected); } private function alertConnected(_arg1:TimerEvent=null):void{ var _local2:KongregateEvent; var _local3:Boolean; _local2 = new KongregateEvent(KongregateEvent.COMPLETE); _local3 = this.dispatchEvent(_local2); } private function init(_arg1:Event):void{ var _local2:Object; var _local3:String; var _local4:URLRequest; var _local5:LoaderContext; this.removeEventListener(Event.ADDED_TO_STAGE, init); _loaded = false; _connected = false; _local2 = LoaderInfo(root.loaderInfo).parameters; _local3 = _local2.api_path; if (_local3 == null){ trace("Alert: Kongregate API could not be loaded, due to local testing. API will load when the game is uploaded."); createShadowServices(); return; }; Security.allowDomain("*.kongregate.com"); Security.allowDomain("kongregatetrunk.com"); _local4 = new URLRequest(_local3); _local5 = new LoaderContext(false); _local5.applicationDomain = ApplicationDomain.currentDomain; _local5.securityDomain = SecurityDomain.currentDomain; loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); loader.load(_local4, _local5); } public function get api():IAPIBootstrap{ return (kAPI); } private function loadComplete(_arg1:Event):void{ getServices(); } public function get scores():IHighScoreServices{ return (kScores); } private function ioErrorHandler(_arg1:IOErrorEvent):void{ throw (new IOError(("API file not found. " + _arg1))); } public function get services():IKongregateServices{ return (kServices); } public function get stats():IStatServices{ return (kStats); } private function createShadowServices():void{ var _local1:Timer; trace(">>> Kongregate Shadow Services instantiated for local development.."); kServices = new KongregateServiceShadow(); kScores = new HighScoreServiceShadow(); kStats = new StatServiceShadow(); kUser = new UserServiceShadow(); _local1 = new Timer(200, 1); _local1.addEventListener(TimerEvent.TIMER_COMPLETE, alertConnected); _local1.start(); _connected = true; } public function get user():IUserServices{ return (kUser); } private function getServices():void{ var _local1:ApplicationDomain; var _local2:*; var _local3:*; var _local4:*; var _local5:*; _local1 = ApplicationDomain.currentDomain; kAPI = IAPIBootstrap(loader.getChildAt(0)); this.addChild(loader); _local2 = _local1.getDefinition(CLASS_SERVICES); trace(_local2); kServices = _local2.getInstance(); _local3 = _local1.getDefinition(CLASS_SCORES); kScores = _local3.getInstance(); _local4 = _local1.getDefinition(CLASS_STATS); kStats = _local4.getInstance(); _local5 = _local1.getDefinition(CLASS_USER); kUser = _local5.getInstance(); kServices.connect(VERSION); _loaded = true; _connected = true; alertConnected(); } public static function getInstance():KongregateAPI{ if (!mInstance){ throw (new IllegalOperationError("You must add the Kongregate API component to the stage before attempting to access it.")); }; return (mInstance); } } }//package com.kongregate.as3.client
Section 13
//MindJoltAPI (com.mindjolt.api.as3.MindJoltAPI) package com.mindjolt.api.as3 { import flash.events.*; import flash.display.*; import flash.net.*; public class MindJoltAPI extends MovieClip { private var dispatcher:CustomDispatcher; public static var service:Object; public function MindJoltAPI(){ dispatcher = new CustomDispatcher(); dispatcher.doAction(1, 100); dispatcher.addEventListener(_slot2.ACTION, createRoot); } private function createRoot(_arg1:Event):void{ if (root != null){ _arg1.currentTarget.removeEventListener(_slot2.ACTION, createRoot); init(); }; } private function init():void{ var _local1:Object; var _local2:String; var _local3:Loader; _local1 = Object(parent.root).loaderInfo.parameters; _local2 = ""; if (((!((_local1.mjPath == null))) && (isDomainAllowed()))){ _local2 = _local1.mjPath; } else { _local2 = "http://static.mindjolt.com/api/as3/scoreapi_as3_local.swf"; }; _local3 = new Loader(); _local3.contentLoaderInfo.addEventListener(Event.COMPLETE, loadFinished); _local3.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadFailed); _local3.load(new URLRequest(_local2)); addChild(_local3); } private function loadFinished(_arg1:Event):void{ service = _arg1.currentTarget.content.service; service.connect(); trace("[MindJoltAPI] service loaded"); } private function isDomainAllowed():Boolean{ var _local1:String; var _local2:LocalConnection; var _local3:String; _local1 = ".mindjolt.com"; _local2 = new LocalConnection(); _local3 = _local2.domain; if (_local3.indexOf(_local1) == (_local3.length - _local1.length)){ return (true); }; return (false); } private function loadFailed(_arg1:IOErrorEvent):void{ trace("[MindJoltAPI] unable to load service"); } } }//package com.mindjolt.api.as3 import flash.events.*; import flash.utils.*; class CustomDispatcher extends EventDispatcher { public static var ACTION:String = "action"; private function CustomDispatcher(){ } public function doAction(_arg1:Number, _arg2:Number):void{ var myTimer:Timer; var propAction:Function; var delay = _arg1; var repeat = _arg2; propAction = function (_arg1:TimerEvent):void{ dispatchEvent(new Event(_slot2.ACTION)); }; myTimer = new Timer(delay, repeat); myTimer.addEventListener(TimerEvent.TIMER, propAction); myTimer.start(); } }
Section 14
//_EyeHerocopy4_83 (FrosmoFrosmo_fla._EyeHerocopy4_83) package FrosmoFrosmo_fla { import flash.display.*; public dynamic class _EyeHerocopy4_83 extends MovieClip { public function _EyeHerocopy4_83(){ addFrameScript(43, frame44); } function frame44(){ stop(); } } }//package FrosmoFrosmo_fla
Section 15
//blowPart_24 (FrosmoFrosmo_fla.blowPart_24) package FrosmoFrosmo_fla { import flash.display.*; public dynamic class blowPart_24 extends MovieClip { public function blowPart_24(){ addFrameScript(20, frame21); } function frame21(){ stop(); } } }//package FrosmoFrosmo_fla
Section 16
//blowPartcopy_27 (FrosmoFrosmo_fla.blowPartcopy_27) package FrosmoFrosmo_fla { import flash.display.*; public dynamic class blowPartcopy_27 extends MovieClip { public function blowPartcopy_27(){ addFrameScript(18, frame19); } function frame19(){ stop(); } } }//package FrosmoFrosmo_fla
Section 17
//blowPartcopy2_29 (FrosmoFrosmo_fla.blowPartcopy2_29) package FrosmoFrosmo_fla { import flash.display.*; public dynamic class blowPartcopy2_29 extends MovieClip { public function blowPartcopy2_29(){ addFrameScript(18, frame19); } function frame19(){ stop(); } } }//package FrosmoFrosmo_fla
Section 18
//blowPartcopy3_31 (FrosmoFrosmo_fla.blowPartcopy3_31) package FrosmoFrosmo_fla { import flash.display.*; public dynamic class blowPartcopy3_31 extends MovieClip { public function blowPartcopy3_31(){ addFrameScript(17, frame18); } function frame18(){ stop(); } } }//package FrosmoFrosmo_fla
Section 19
//CatchHero_82 (FrosmoFrosmo_fla.CatchHero_82) package FrosmoFrosmo_fla { import flash.display.*; public dynamic class CatchHero_82 extends MovieClip { public function CatchHero_82(){ addFrameScript(20, frame21); } function frame21(){ stop(); } } }//package FrosmoFrosmo_fla
Section 20
//eexplosion_23 (FrosmoFrosmo_fla.eexplosion_23) package FrosmoFrosmo_fla { import flash.display.*; public dynamic class eexplosion_23 extends MovieClip { public function eexplosion_23(){ addFrameScript(33, frame34); } function frame34(){ stop(); } } }//package FrosmoFrosmo_fla
Section 21
//flash_43 (FrosmoFrosmo_fla.flash_43) package FrosmoFrosmo_fla { import flash.display.*; public dynamic class flash_43 extends MovieClip { public function flash_43(){ addFrameScript(49, frame50); } function frame50(){ stop(); } } }//package FrosmoFrosmo_fla
Section 22
//kaboob_32 (FrosmoFrosmo_fla.kaboob_32) package FrosmoFrosmo_fla { import flash.display.*; public dynamic class kaboob_32 extends MovieClip { public function kaboob_32(){ addFrameScript(59, frame60); } function frame60(){ stop(); } } }//package FrosmoFrosmo_fla
Section 23
//MainTimeline (FrosmoFrosmo_fla.MainTimeline) package FrosmoFrosmo_fla { import flash.display.*; import mochi.as3.*; public dynamic class MainTimeline extends MovieClip { public var frosmoMatch:Frosmomatch; public function MainTimeline(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ MochiServices.connect("f9a85873f161600b", root); MochiBot.track(this, "62446df9"); } function frame2(){ frosmoMatch = new Frosmomatch(); addChild(frosmoMatch); stop(); } } }//package FrosmoFrosmo_fla
Section 24
//ThrowHero_84 (FrosmoFrosmo_fla.ThrowHero_84) package FrosmoFrosmo_fla { import flash.display.*; public dynamic class ThrowHero_84 extends MovieClip { public function ThrowHero_84(){ addFrameScript(20, frame21); } function frame21(){ stop(); } } }//package FrosmoFrosmo_fla
Section 25
//MochiServices (mochi.as3.MochiServices) package mochi.as3 { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.system.*; import flash.net.*; import flash.utils.*; public class MochiServices { private static var _container:Object; private static var _connected:Boolean = false; private static var _swfVersion:String; public static var netupAttempted:Boolean = false; private static var _sendChannel:LocalConnection; private static var _clip:MovieClip; private static var _loader:Loader; private static var _id:String; private static var _listenChannel:LocalConnection; public static var widget:Boolean = false; private static var _timer:Timer; private static var _sendChannelName:String; private static var _connecting:Boolean = false; public static var onError:Object; private static var _listenChannelName:String = "__ms_"; private static var _servicesURL:String = "http://www.mochiads.com/static/lib/services/services.swf"; public static var netup:Boolean = true; public static function isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function get connected():Boolean{ return (_connected); } private static function flush(_arg1:Boolean):void{ var _local2:Object; var _local3:Object; if (_clip != null){ if (_clip._queue != null){ while (_clip._queue.length > 0) { _local2 = _clip._queue.shift(); _local3 = null; if (_local2 != null){ if (_local2.callbackID != null){ _local3 = _clip._callbacks[_local2.callbackID]; }; delete _clip._callbacks[_local2.callbackID]; if (((_arg1) && (!((_local3 == null))))){ handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod); }; }; }; }; }; } public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{ if (_connected){ _sendChannel.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID}); } else { if ((((_clip == null)) || (!(_connecting)))){ onError("NotConnected"); handleError(_arg2, _arg3, _arg4); flush(true); return; }; _clip._queue.push({methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID}); }; if (_clip != null){ if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){ _clip._callbacks[_clip._nextcallbackID] = {callbackObject:_arg3, callbackMethod:_arg4}; _clip._nextcallbackID++; }; }; } private static function init(_arg1:String, _arg2:Object):void{ _id = _arg1; if (_arg2 != null){ _container = _arg2; loadCommunicator(_arg1, _container); }; } public static function get childClip():Object{ return (_clip); } private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{ var _local3:Array; var _local4:int; var _local5:Array; var _local6:Array; var _local7:MovieClip; var _local8:LocalConnection; var _local9:String; var _local10:ByteArray; var _local11:ByteArray; var _local12:uint; var _local13:uint; var _local14:Loader; _local3 = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23]; _local5 = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3]; _local6 = [0, 64, 0, 0, 0]; _local7 = new MovieClip(); _local8 = new LocalConnection(); _local9 = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().getTime())); _local8 = new LocalConnection(); _local7.lc = _local8; _local7.click = _arg2; _local8.client = _local7; _local8.connect(_local9); _local10 = new ByteArray(); _local11 = new ByteArray(); _local11.endian = Endian.LITTLE_ENDIAN; _local11.writeShort(1); _local11.writeUTFBytes(((_arg1 + " ") + _local9)); _local11.writeByte(0); _local12 = ((_local3.length + _local11.length) + 4); _local13 = (_local12 + 35); _local10.endian = Endian.LITTLE_ENDIAN; _local10.writeUTFBytes("FWS"); _local10.writeByte(8); _local10.writeUnsignedInt(_local13); for each (_local4 in _local5) { _local10.writeByte(_local4); }; _local10.writeUnsignedInt(_local12); _local10.writeByte(136); _local10.writeShort(_local11.length); _local10.writeBytes(_local11); for each (_local4 in _local3) { _local10.writeByte(_local4); }; for each (_local4 in _local6) { _local10.writeByte(_local4); }; _local14 = new Loader(); _local14.loadBytes(_local10); _local7.addChild(_local14); return (_local7); } public static function stayOnTop():void{ _container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true); if (_clip != null){ _clip.visible = true; }; } public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4:Function=null):void{ var vars:Object; var avm1Click:DisplayObject; var s:String; var i:Number; var x:String; var req:URLRequest; var loader:Loader; var setURL:Function; var err:Function; var complete:Function; var url = _arg1; var burl = _arg2; var btn = _arg3; var onClick = _arg4; vars = new Object(); vars["mav"] = getVersion(); vars["swfv"] = "9"; vars["swfurl"] = btn.loaderInfo.loaderURL; vars["fv"] = Capabilities.version; vars["os"] = Capabilities.os; vars["lang"] = Capabilities.language; vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY); s = "?"; i = 0; for (x in vars) { if (i != 0){ s = (s + "&"); }; i = (i + 1); s = (((s + x) + "=") + escape(vars[x])); }; req = new URLRequest("http://x.mochiads.com/linkping.swf"); loader = new Loader(); setURL = function (_arg1:String):void{ var _local2:Rectangle; if (avm1Click){ btn.removeChild(avm1Click); }; avm1Click = clickMovie(_arg1, onClick); _local2 = btn.getBounds(btn); btn.addChild(avm1Click); avm1Click.x = _local2.x; avm1Click.y = _local2.y; avm1Click.scaleX = (0.01 * _local2.width); avm1Click.scaleY = (0.01 * _local2.height); }; err = function (_arg1:Object):void{ netup = false; _arg1.target.removeEventListener(_arg1.type, arguments.callee); setURL(burl); }; complete = function (_arg1:Object):void{ _arg1.target.removeEventListener(_arg1.type, arguments.callee); }; if (netup){ setURL((url + s)); } else { setURL(burl); }; if (!((netupAttempted) || (_connected))){ netupAttempted = true; loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete); loader.load(req); }; } public static function warnID(_arg1:String, _arg2:Boolean):void{ var _local3:Number; _arg1 = _arg1.toLowerCase(); if (_arg1.length != 16){ trace((("WARNING: " + (_arg2) ? "board" : "game") + " ID is not the appropriate length")); return; } else { if (_arg1 == "1e113c7239048b3f"){ if (_arg2){ trace("WARNING: Using testing board ID"); } else { trace("WARNING: Using testing board ID as game ID"); }; return; } else { if (_arg1 == "84993a1de4031cd8"){ if (_arg2){ trace("WARNING: Using testing game ID as board ID"); } else { trace("WARNING: Using testing game ID"); }; return; }; }; }; _local3 = 0; while (_local3 < _arg1.length) { switch (_arg1.charAt(_local3)){ case "0": case "1": case "2": case "3": case "4": case "5": case "6": case "7": case "8": case "9": case "a": case "b": case "c": case "d": case "e": case "f": break; default: trace(("WARNING: Board ID contains illegal characters: " + _arg1)); return; }; _local3++; }; } public static function disconnect():void{ if (((_connected) || (_connecting))){ if (_clip != null){ if (_clip.parent != null){ if ((_clip.parent is Sprite)){ Sprite(_clip.parent).removeChild(_clip); _clip = null; }; }; }; _connecting = (_connected = false); flush(true); try { _listenChannel.close(); } catch(error:Error) { }; }; if (_timer != null){ try { _timer.stop(); } catch(error:Error) { }; }; } public static function allowDomains(_arg1:String):String{ var _local2:String; if (Security.sandboxType != "application"){ Security.allowDomain("*"); Security.allowInsecureDomain("*"); }; if (_arg1.indexOf("http://") != -1){ _local2 = _arg1.split("/")[2].split(":")[0]; if (Security.sandboxType != "application"){ Security.allowDomain(_local2); Security.allowInsecureDomain(_local2); }; }; return (_local2); } public static function getVersion():String{ return ("3.02 as3"); } public static function doClose():void{ _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); if (_clip.parent != null){ Sprite(_clip.parent).removeChild(_clip); }; } private static function onStatus(_arg1:StatusEvent):void{ switch (_arg1.level){ case "error": _connected = false; _listenChannel.connect(_listenChannelName); break; }; } public static function get id():String{ return (_id); } private static function urlOptions(_arg1:Object):Object{ var _local2:Object; var _local3:String; var _local4:Array; var _local5:Number; var _local6:Array; _local2 = {}; _local3 = _arg1.loaderInfo.parameters.mochiad_options; if (_local3){ _local4 = _local3.split("&"); _local5 = 0; while (_local5 < _local4.length) { _local6 = _local4[_local5].split("="); _local2[unescape(_local6[0])] = unescape(_local6[1]); _local5++; }; }; return (_local2); } public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{ if (_arg1 != null){ if ((_arg1 is Sprite)){ _container = _arg1; }; }; if (_arg2){ if ((_container is Sprite)){ Sprite(_container).addChild(_clip); }; }; } private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{ var args = _arg1; var callbackObject = _arg2; var callbackMethod = _arg3; if (args != null){ if (args.onError != null){ args.onError.apply(null, ["NotConnected"]); }; if (((!((args.options == null))) && (!((args.options.onError == null))))){ args.options.onError.apply(null, ["NotConnected"]); }; }; if (callbackMethod != null){ args = {}; args.error = true; args.errorCode = "NotConnected"; if (((!((callbackObject == null))) && ((callbackMethod is String)))){ try { var _local5 = callbackObject; _local5[callbackMethod](args); } catch(error:Error) { }; } else { if (callbackMethod != null){ try { callbackMethod.apply(args); } catch(error:Error) { }; }; }; }; } private static function initComChannels():void{ if (!_connected){ _sendChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus); _sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"}); _sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_container, version:getVersion(), parentURL:_container.loaderInfo.loaderURL}); _listenChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus); _clip.onReceive = function (_arg1:Object):void{ var cb:String; var cblst:Object; var method:*; var methodName:String; var obj:Object; var pkg = _arg1; cb = pkg.callbackID; cblst = this.client._callbacks[cb]; if (!cblst){ return; }; method = cblst.callbackMethod; methodName = ""; obj = cblst.callbackObject; if (((obj) && ((typeof(method) == "string")))){ methodName = method; if (obj[method] != null){ method = obj[method]; } else { trace((("Error: Method " + method) + " does not exist.")); }; }; if (method != undefined){ try { method.apply(obj, pkg.args); } catch(error:Error) { trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString())); }; } else { if (obj != null){ try { obj(pkg.args); } catch(error:Error) { trace(("Error invoking method on object: " + error.toString())); }; }; }; delete this.client._callbacks[cb]; }; _clip.onError = function ():void{ MochiServices.onError("IOError"); }; trace("connected!"); _connecting = false; _connected = true; while (_clip._queue.length > 0) { _sendChannel.send(_sendChannelName, "onReceive", _clip._queue.shift()); }; }; } private static function listen():void{ _listenChannel = new LocalConnection(); _listenChannel.client = _clip; _clip.handshake = function (_arg1:Object):void{ MochiServices.comChannelName = _arg1.newChannel; }; _listenChannel.allowDomain("*", "localhost"); _listenChannel.allowInsecureDomain("*", "localhost"); _listenChannel.connect(_listenChannelName); trace("Waiting for MochiAds services to connect..."); } public static function set comChannelName(_arg1:String):void{ if (_arg1 != null){ if (_arg1.length > 3){ _sendChannelName = (_arg1 + "_fromgame"); initComChannels(); }; }; } private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{ var clipname:String; var f:Function; var req:URLRequest; var vars:URLVariables; var id = _arg1; var clip = _arg2; clipname = ("_mochiservices_com_" + id); if (_clip != null){ return (_clip); }; if (!MochiServices.isNetworkAvailable()){ return (null); }; if (urlOptions(clip).servicesURL != undefined){ _servicesURL = urlOptions(clip).servicesURL; }; MochiServices.allowDomains(_servicesURL); _clip = createEmptyMovieClip(clip, clipname, 10336, false); _loader = new Loader(); f = function (_arg1:Object):void{ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); }; _listenChannelName = (_listenChannelName + ((Math.floor(new Date().getTime()) + "_") + Math.floor((Math.random() * 99999)))); _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f); req = new URLRequest(_servicesURL); vars = new URLVariables(); vars.listenLC = _listenChannelName; vars.mochiad_options = clip.loaderInfo.parameters.mochiad_options; if (widget){ vars.widget = true; }; req.data = vars; listen(); _loader.load(req); _clip.addChild(_loader); _clip._mochiservices_com = _loader; _sendChannel = new LocalConnection(); _clip._queue = []; _clip._nextcallbackID = 0; _clip._callbacks = {}; _timer = new Timer(10000, 1); _timer.addEventListener(TimerEvent.TIMER, connectWait); _timer.start(); return (_clip); } public static function get clip():Object{ return (_container); } public static function bringToTop(_arg1:Event):void{ var e = _arg1; if (MochiServices.clip != null){ if (MochiServices.childClip != null){ try { if (MochiServices.clip.numChildren > 1){ MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1)); }; } catch(errorObject:Error) { trace("Warning: Depth sort error."); _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); }; }; }; } public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{ var id = _arg1; var clip = _arg2; var onError = _arg3; warnID(id, false); if ((clip is DisplayObject)){ if (((!(_connected)) && ((_clip == null)))){ trace("MochiServices Connecting..."); _connecting = true; init(id, clip); }; } else { trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage."); }; if (onError != null){ MochiServices.onError = onError; } else { if (MochiServices.onError == null){ MochiServices.onError = function (_arg1:String):void{ trace(_arg1); }; }; }; } public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Boolean=true):MovieClip{ var mc:MovieClip; var parent = _arg1; var name = _arg2; var depth = _arg3; var doAdd = _arg4; mc = new MovieClip(); if (doAdd){ if (((false) && (depth))){ parent.addChildAt(mc, depth); } else { parent.addChild(mc); }; }; try { parent[name] = mc; } catch(e:Error) { throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic.")); }; mc["_name"] = name; return (mc); } public static function connectWait(_arg1:TimerEvent):void{ if (!_connected){ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load. (timeout)"); MochiServices.disconnect(); MochiServices.onError("IOError"); }; } } }//package mochi.as3
Section 26
//CircleCollision (utils.CircleCollision) package utils { import flash.display.*; public class CircleCollision { private var first:DisplayObject; private var second:DisplayObject; public function CircleCollision(_arg1:DisplayObject, _arg2:DisplayObject){ this.first = _arg1; this.second = _arg2; } public function isColliding():Boolean{ var _local1:Number; var _local2:Number; var _local3:Number; _local1 = (first.x - second.x); _local2 = (first.y - second.y); _local3 = Math.sqrt(((_local1 * _local1) + (_local2 * _local2))); if (_local3 < ((first.width / 2) + (second.width / 2))){ return (true); }; return (false); } } }//package utils
Section 27
//FPSCounter (utils.FPSCounter) package utils { import flash.events.*; import flash.display.*; import flash.text.*; import flash.utils.*; public class FPSCounter extends Sprite { private var ticks:uint;// = 0 private var tf:TextField; private var last:uint; public function FPSCounter(_arg1:int=0, _arg2:int=0, _arg3:uint=0xFFFFFF, _arg4:Boolean=false, _arg5:uint=0){ last = getTimer(); ticks = 0; super(); x = _arg1; y = _arg2; tf = new TextField(); tf.textColor = _arg3; tf.text = "----- fps"; tf.selectable = false; tf.background = _arg4; tf.backgroundColor = _arg5; tf.autoSize = TextFieldAutoSize.LEFT; addChild(tf); width = tf.textWidth; height = tf.textHeight; addEventListener(Event.ENTER_FRAME, tick); } public function tick(_arg1:Event):void{ var _local2:uint; var _local3:uint; var _local4:Number; ticks++; _local2 = getTimer(); _local3 = (_local2 - last); if (_local3 >= 1000){ _local4 = ((ticks / _local3) * 1000); tf.text = (_local4.toFixed(1) + " fps"); ticks = 0; last = _local2; }; } } }//package utils
Section 28
//BackB (BackB) package { import flash.display.*; public dynamic class BackB extends SimpleButton { } }//package
Section 29
//BackButton (BackButton) package { import flash.display.*; public dynamic class BackButton extends SimpleButton { } }//package
Section 30
//BackgroundManager (BackgroundManager) package { import flash.events.*; import flash.display.*; import flash.media.*; import flash.filters.*; public class BackgroundManager extends MovieClip { private var bgNum;// = 1 private var colorMatrix:ColorMatrix; private var gameplay:Gameplay; private var BG:MovieClip; private var levelNum:Number; private var colorFlag;// = true private var colorMatrixColors:Number;// = -100 public function BackgroundManager(_arg1:DisplayObjectContainer, _arg2:Gameplay){ colorMatrixColors = -100; colorFlag = true; bgNum = 1; super(); this.gameplay = _arg2; _arg1.addChild(this); levelNum = _arg2.levelNum; if (levelNum < 6){ BG = new GameplayBG1(); } else { if (levelNum < 11){ BG = new GameplayBG2(); } else { if (levelNum < 16){ BG = new GameplayBG3(); } else { if (levelNum < 21){ BG = new GameplayBG4(); }; }; }; }; _arg1.addChild(BG); colorMatrix = new ColorMatrix(); colorMatrix.adjustSaturation(-100); colorMatrix.adjustContrast(1); colorMatrix.adjustBrightness(1); BG.filters = [new ColorMatrixFilter(colorMatrix)]; } private function alphaRecover(_arg1:Event):void{ BG.alpha = (BG.alpha + 0.025); if (BG.alpha >= 1){ removeEventListener(Event.ENTER_FRAME, alphaRecover); }; } public function fade(){ addEventListener(Event.ENTER_FRAME, fadeIt); if (colorMatrixColors < -80){ colorMatrixColors = -80; }; } private function nextBg():void{ var _local1:Number; var _local2:*; _local1 = (bgNum % 3); _local2 = parent.getChildIndex(BG); parent.removeChild(BG); if (_local1 == 0){ BG = new GameplayBG1(); if (Gameplay.forestChannel){ Gameplay.forestChannel.stop(); }; if (Gameplay.firstWorldMusicChannel){ Gameplay.firstWorldMusicChannel.stop(); }; if (Frosmomatch.soundFlag){ Gameplay.playTheme(1); }; } else { if (_local1 == 1){ BG = new GameplayBG2(); } else { if (_local1 == 2){ BG = new GameplayBG3(); }; }; }; bgNum++; parent.addChildAt(BG, _local2); colorMatrix = new ColorMatrix(); colorMatrix.adjustSaturation(-100); colorMatrix.adjustContrast(1); colorMatrix.adjustBrightness(1); BG.filters = [new ColorMatrixFilter(colorMatrix)]; BG.alpha = 0.1; addEventListener(Event.ENTER_FRAME, alphaRecover); gameplay.colorFlag = true; colorMatrixColors = -100; } private function worldFullyColored():void{ var _local1:ColoredMessage; var _local2:BonusPopUp; gameplay.scoreManager.colored.text = (("Colored: " + 0) + "%"); _local1 = new ColoredMessage(gameplay); if (gameplay.freeMode == false){ gameplay.scoreManager.colored.text = "World colored!!"; } else { gameplay.scoreManager.energyMinus = (gameplay.scoreManager.energyMinus - 5); gameplay.scoreManager.energyTimePenalty = (gameplay.scoreManager.energyTimePenalty - 0.01); }; gameplay.scoreManager.updateEnergy(100); _local2 = new BonusPopUp(parent, 100, 50, "WORLD COLORED", 50000, gameplay); if (gameplay.freeMode){ nextBg(); }; } private function fadeIt(_arg1:Event):void{ var _local2:Number; colorMatrix = new ColorMatrix(); if (colorMatrixColors > -100){ colorMatrixColors = (colorMatrixColors - (0.0001 + ((100 - colorMatrixColors) / 0x0100))); _local2 = (Math.round(((colorMatrixColors + 100) * 10)) / 10); } else { removeEventListener(Event.ENTER_FRAME, fadeIt); dispatchEvent(new NavigationEvent(NavigationEvent.GAMEOVER)); }; colorMatrix.adjustSaturation(colorMatrixColors); BG.filters = [new ColorMatrixFilter(colorMatrix)]; } public function colorIt():void{ var _local1:Number; var _local2:Sound; colorMatrix = new ColorMatrix(); if (((colorMatrixColors + 0.5) + ((100 - colorMatrixColors) / 100)) < 0){ colorMatrixColors = (colorMatrixColors + (0.5 + ((100 - colorMatrixColors) / 100))); _local1 = (Math.round(((colorMatrixColors + 100) * 10)) / 10); gameplay.scoreManager.colored.text = (("Colored: " + _local1) + "%"); } else { gameplay.colorFlag = false; if (Frosmomatch.soundFlag){ _local2 = new Colored(); _local2.play(); }; worldFullyColored(); }; colorMatrix.adjustSaturation(colorMatrixColors); BG.filters = [new ColorMatrixFilter(colorMatrix)]; } } }//package
Section 31
//Bad (Bad) package { import flash.media.*; public dynamic class Bad extends Sound { } }//package
Section 32
//Ball (Ball) package { import flash.events.*; import flash.display.*; import flash.filters.*; public class Ball extends MovieClip { private var rads:Number; public var oldY:Number; public var oldX:Number; public var checkCollision:Boolean;// = true public var oversized:Boolean;// = false private var freezeSprite:Spritefreeze; private var downBoundry:Number;// = 50 private var exitStageCounter:Number;// = 12 public var checkCollisionStateCounter:Number;// = 0 private var glowFilter:GlowFilter; public var state:Number;// = -1 public var freeze:Boolean;// = false public var radius:Number; public var bounce:Number;// = 0 private var tempVy:Number; private var newY:Number; private var scoreManager:ScoreManager; private var tempVx:Number; public var vx:Number; public var vy:Number; public var markForDeletion:Boolean;// = false public var catchFlag;// = false private var newX:Number; public var ballType:Number;// = 1 private var velocity:Number; public function Ball(_arg1:ScoreManager, _arg2:DisplayObjectContainer, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number){ downBoundry = 50; ballType = 1; state = -1; checkCollision = true; checkCollisionStateCounter = 0; markForDeletion = false; freeze = false; bounce = 0; oversized = false; exitStageCounter = 12; catchFlag = false; super(); _arg2.addChild(this); this.x = _arg3; this.y = _arg4; this.ballType = _arg7; this.state = _arg8; scaleX = (scaleY = 1); _arg6 = (_arg6 * 0.6); mouseEnabled = false; mouseChildren = false; this.velocity = _arg6; rads = ((_arg5 * Math.PI) / 180); this.vx = (Math.cos(rads) * _arg6); this.vy = (Math.sin(rads) * _arg6); this.scoreManager = _arg1; this.radius = (width / 2); freezeSprite = new Spritefreeze(); freezeSprite.x = (freezeSprite.x - (width / 2)); freezeSprite.y = (freezeSprite.y - (height / 2)); freezeSprite.alpha = 0.25; freezeSprite.scaleX = (freezeSprite.scaleY = 1); if (_arg8 == -1){ _arg8 = -1; addEventListener(Event.ENTER_FRAME, chkStartingCollision); }; if (_arg8 == 1){ }; glowFilter = new GlowFilter(); glowFilter.strength = 3; glowFilter.blurX = (glowFilter.blurY = 24); glowFilter.alpha = 0.6; } private function enterStage(_arg1:Event):void{ scaleX = (scaleX + 0.01); scaleY = (scaleY + 0.01); if (scaleX >= 1){ scaleX = (scaleY = 1); removeEventListener(Event.ENTER_FRAME, enterStage); this.vx = (Math.cos(rads) * velocity); this.vy = (Math.sin(rads) * velocity); Gameplay.ballHolder.push(this); }; } public function remove(_arg1:Array):void{ var _local2:*; removeEventListener(Event.ENTER_FRAME, chkStartingCollision); if (parent){ parent.removeChild(this); }; _local2 = 0; while (_local2 < _arg1.length) { if (this == _arg1[_local2]){ _arg1.splice(_local2, 1); }; _local2++; }; } public function dispatchCollectWhilNrInPlay():void{ dispatchEvent(new BonusEvent(BonusEvent.COLLECTWHILENRINPLAY)); trace("DISPATCHED"); } public function enlarge():void{ width = (width * 1.5); height = (height * 1.5); radius = (radius * 1.5); oversized = true; } public function remove2(_arg1:Array):void{ var _local2:*; var _local3:ParticleStar; _local2 = 0; while (_local2 < 20) { _local3 = new ParticleStar(parent, x, y); _local3.gotoAndStop(2); _local2++; }; removeEventListener(Event.ENTER_FRAME, chkStartingCollision); if (parent){ parent.removeChild(this); }; _local2 = 0; while (_local2 < _arg1.length) { if (this == _arg1[_local2]){ _arg1.splice(_local2, 1); }; _local2++; }; } public function unFreeze():void{ if (state <= 0){ return; }; if (freeze == true){ freeze = false; vx = tempVx; vy = tempVy; }; } public function electricShock():void{ var _local1:ScorePopUp; markForDeletion = true; scoreManager.updateScore(getMultiplier()); scoreManager.updateEnergy(scoreManager.energyPlus, getMultiplier()); _local1 = new ScorePopUp(parent, x, y, getMultiplier()); } public function exitStage():void{ addEventListener(Event.ENTER_FRAME, exitStageFrame); } public function updateStateToBounceMode():void{ stopStartingCollision(); filters = []; state = 1; } public function catchModeEnter():void{ dispatchEvent(new BallEvent(BallEvent.ENABLECATCH, true)); bouncePlus(); } public function getMultiplier():Number{ var _local1:Number; _local1 = Math.ceil((((510 - y) - 30) / 90)); _local1 = (_local1 + (((_local1 * bounce) * 0.1) + (bounce * 0.1))); return (_local1); } private function exitStageFrame(_arg1:Event):void{ var _local2:*; alpha = (alpha - 0.04); scaleX = (scaleX - 0.02); scaleY = scaleX; exitStageCounter--; if (exitStageCounter < 0){ removeEventListener(Event.ENTER_FRAME, exitStageFrame); _local2 = 0; while (_local2 < Gameplay.ballHolder.length) { if (this == Gameplay.ballHolder[_local2]){ Gameplay.ballHolder.splice(_local2, 1); }; _local2++; }; if (parent){ parent.removeChild(this); }; }; } public function move():void{ if ((((vx == 0)) && ((vy == 0)))){ addChild(freezeSprite); } else { if (freezeSprite.parent == this){ removeChild(freezeSprite); }; }; if (state == 1){ if (((vx * vx) + (vy * vy)) > 0.4){ vx = (vx * 0.997); vy = (vy * 0.997); }; if (((vx * vx) + (vy * vy)) > 64){ vx = (vx * 0.993); vy = (vy * 0.993); }; }; newX = (x + vx); newY = (y + vy); if ((newX + radius) > stage.stageWidth){ if (((((PowerupFlags.electricShock) && ((state == 1)))) && ((PowerupManager.getMarkedForDeletion() > 3)))){ electricShock(); }; vx = (vx * -1); if (state == 0){ bouncePlus(); }; newX = (stage.stageWidth - radius); } else { if ((newX - radius) < 0){ if (((((PowerupFlags.electricShock) && ((state == 1)))) && ((PowerupManager.getMarkedForDeletion() > 3)))){ electricShock(); }; if (state == 0){ bouncePlus(); }; vx = (vx * -1); newX = radius; }; }; if ((newY + radius) > (stage.stageHeight - downBoundry)){ if (((((PowerupFlags.electricShock) && ((state == 1)))) && ((PowerupManager.getMarkedForDeletion() > 3)))){ electricShock(); }; if (state != -1){ vy = (vy * -1); newY = ((stage.stageHeight - downBoundry) - radius); if (state == 0){ bouncePlus(); }; }; } else { if ((newY - radius) < 0){ if (((((PowerupFlags.electricShock) && ((state == 1)))) && ((PowerupManager.getMarkedForDeletion() > 3)))){ electricShock(); }; if (this.state == 0){ catchModeEnter(); }; vy = (vy * -1); newY = radius; }; }; x = newX; y = newY; } public function chkStartingCollision(_arg1:Event):void{ var _local2:Collision; if (Gameplay.hero == null){ removeEventListener(Event.ENTER_FRAME, chkStartingCollision); return; }; _local2 = new Collision(); if (_local2.isColliding(this, Gameplay.hero)){ } else { checkCollisionStateCounter++; if (checkCollisionStateCounter > 0){ state = 0; filters = [glowFilter]; removeEventListener(Event.ENTER_FRAME, chkStartingCollision); }; }; } public function freezeFunction():void{ if (state <= 0){ return; }; tempVx = (vx * 2); tempVy = (vy * 2); freeze = true; vx = 0; vy = 0; } public function bouncePlus():void{ bounce++; catchFlag = true; dispatchEvent(new BonusEvent(BonusEvent.BOUNCEBONUS)); } public function stopStartingCollision():void{ removeEventListener(Event.ENTER_FRAME, chkStartingCollision); } } }//package
Section 33
//Ball1 (Ball1) package { import flash.display.*; public class Ball1 extends Ball { public function Ball1(_arg1:ScoreManager, _arg2:DisplayObjectContainer, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number=1, _arg8:Number=-1){ super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, 1, _arg8); } } }//package
Section 34
//Ball2 (Ball2) package { import flash.display.*; public class Ball2 extends Ball { public function Ball2(_arg1:ScoreManager, _arg2:DisplayObjectContainer, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number=2, _arg8:Number=-1){ super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, 2, _arg8); } } }//package
Section 35
//Ball3 (Ball3) package { import flash.display.*; public class Ball3 extends Ball { public function Ball3(_arg1:ScoreManager, _arg2:DisplayObjectContainer, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number=3, _arg8:Number=-1){ super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, 3, _arg8); } } }//package
Section 36
//BallEvent (BallEvent) package { import flash.events.*; public class BallEvent extends Event { public static const SPECIALCATCHED:String = "specialcatched"; public static const CREATE0:String = "create0"; public static const CREATE1:String = "create1"; public static const CREATE2:String = "create2"; public static const CREATE3:String = "create3"; public static const ENABLECATCH:String = "enablecatch"; public static const DESTROYEDBYPOWERUP:String = "DESTROYEDBYPOWERUP"; public function BallEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function toString():String{ return (formatToString("BallEvent", "type", "bubbles", "cancelable", "eventPhase")); } override public function clone():Event{ return (new BallEvent(type, bubbles, cancelable)); } } }//package
Section 37
//BallSpecial (BallSpecial) package { import flash.display.*; public class BallSpecial extends Ball { public function BallSpecial(_arg1:ScoreManager, _arg2:DisplayObjectContainer, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number=1, _arg8:Number=-1){ super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, 0, _arg8); } } }//package
Section 38
//Bomb (Bomb) package { import flash.events.*; import flash.display.*; public class Bomb extends MovieClip { private var duration:Number;// = 180 public function Bomb(_arg1:DisplayObjectContainer, _arg2:Number, _arg3:Number){ duration = 180; super(); _arg1.addChild(this); this.x = _arg2; this.y = _arg3; addEventListener(Event.ENTER_FRAME, onEnterFrame); } public function remove():void{ removeEventListener(Event.ENTER_FRAME, onEnterFrame); if (parent){ parent.removeChild(this); }; } private function onEnterFrame(_arg1:Event):void{ gotoAndPlay((currentFrame + 1)); if (duration-- <= 0){ remove(); }; } } }//package
Section 39
//BombE (BombE) package { import flash.media.*; public dynamic class BombE extends Sound { } }//package
Section 40
//BombExplosion (BombExplosion) package { import flash.events.*; import flash.display.*; import flash.media.*; public class BombExplosion extends MovieClip { private var collision:Collision; private var duration:Number;// = 60 public function BombExplosion(_arg1:DisplayObjectContainer, _arg2:Number, _arg3:Number){ var _local4:Sound; duration = 60; super(); if (Frosmomatch.soundFlag){ _local4 = new BombE(); _local4.play(); }; this.cacheAsBitmap = true; _arg1.addChild(this); this.x = _arg2; this.y = _arg3; this.scaleX = 1.1; this.scaleY = 1.1; collision = new Collision(); addEventListener(Event.ENTER_FRAME, onEnterFrame); } private function checkCollision():void{ var _local1:*; var _local2:Ball; _local1 = 0; while (_local1 < Gameplay.ballHolder.length) { if (((((collision.isColliding(this, Gameplay.ballHolder[_local1])) && ((PowerupManager.getMarkedForDeletion() > 3)))) && (!((Gameplay.ballHolder[_local1].state == -2))))){ _local2 = Gameplay.ballHolder[_local1]; _local2.electricShock(); if ((((_local2.state == 0)) || ((_local2.ballType == 0)))){ Gameplay.hero.enableShooting(); }; }; _local1++; }; } public function remove():void{ removeEventListener(Event.ENTER_FRAME, onEnterFrame); if (parent){ parent.removeChild(this); }; } private function onEnterFrame(_arg1:Event):void{ duration--; if (duration <= 0){ Gameplay.hero.enableShooting(); remove(); }; if ((duration % 9) == 0){ checkCollision(); }; } } }//package
Section 41
//BombExplosionPrecached (BombExplosionPrecached) package { import flash.events.*; import flash.display.*; import flash.geom.*; public class BombExplosionPrecached extends MovieClip { private var destMovieHolder:MovieClip; private var source:MovieClip; private var collision:Collision; private var bitmap:Bitmap; private var i;// = 0 private var bitmapArray:Array; private var bitmapData:BitmapData; private var duration:Number;// = 60 public function BombExplosionPrecached(_arg1:MovieClip){ duration = 60; i = 0; super(); bitmapArray = new Array(); this.source = _arg1; destMovieHolder = new MovieClip(); destMovieHolder.addChild(_arg1); destMovieHolder.x = 100; destMovieHolder.y = 100; addChild(destMovieHolder); trace(destMovieHolder.totalFrames); bitmapData = new BitmapData((_arg1.width * 5), (_arg1.height * 5)); bitmapData.draw(destMovieHolder); bitmap = new Bitmap(bitmapData); addChild(bitmap); bitmap.x = 300; bitmap.y = 300; } private function init():void{ var _local1:*; trace(totalFrames); _local1 = 0; while (_local1 < (source.totalFrames - 1)) { _local1++; }; gotoAndStop(1); } public function playit():void{ gotoAndStop(20); addChild(Bitmap(bitmapArray[55])); trace("Play it"); trace(currentFrame); } private function test():void{ addChild(source); source.gotoAndPlay(1); } private function onEnterFrame(_arg1:Event):void{ var _local2:BitmapData; var _local3:Bitmap; _local2 = new BitmapData((3 * source.width), (3 * source.height), false, 0); _local2.draw(source, new Matrix()); _local3 = new Bitmap(_local2); if (i > 91){ removeEventListener(Event.ENTER_FRAME, onEnterFrame); playit(); }; } private function test1():void{ trace("test 1"); source.gotoAndStop(90); addChild(source); } } }//package
Section 42
//Bonus (Bonus) package { import flash.media.*; public dynamic class Bonus extends Sound { } }//package
Section 43
//BonusEvent (BonusEvent) package { import flash.events.*; public class BonusEvent extends Event { public static const COLLECTWHILENRINPLAY:String = "COLLECTWHILENRINPLAY"; public static const BOUNCEBONUS:String = "bouncebonus"; public function BonusEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function toString():String{ return (formatToString("BonusEvent", "type", "bubbles", "cancelable", "eventPhase")); } override public function clone():Event{ return (new BonusEvent(type, bubbles, cancelable)); } } }//package
Section 44
//BonusManager (BonusManager) package { import flash.display.*; public class BonusManager extends Sprite { public var bonusX:Number;// = 100 public var bonusY:Number;// = 50 private var gameplay:Gameplay; public var bonusPopFlag:Boolean;// = true private var ballHolder:Array; public var bonusPopUpDuration:Number;// = 40 public var bonusPop:BonusPopUp; public var withoutMiss:Number;// = 0 public var specialBallsCatched:Number;// = 0 public function BonusManager(_arg1:DisplayObjectContainer, _arg2:Gameplay){ withoutMiss = 0; specialBallsCatched = 0; bonusX = 100; bonusY = 50; bonusPopFlag = true; bonusPopUpDuration = 40; super(); this.gameplay = _arg2; _arg1.addChild(this); ballHolder = Gameplay.ballHolder; init(); } public function specialCatchedSet():void{ specialBallsCatched++; if (specialBallsCatched == 1){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "Special Ball Fired", 400, gameplay); } else { if (specialBallsCatched == 4){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, " 4th Special Ball Fired", 800, gameplay); } else { if (specialBallsCatched == 8){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, " 8th Special Ball Fired", 1600, gameplay); } else { if (specialBallsCatched == 12){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, " 12th Special Ball Fired", 3200, gameplay); } else { if (specialBallsCatched == 20){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, " 20th Special Ball Fired", 0x1900, gameplay); } else { if (specialBallsCatched == 40){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, " 40th Special Ball Fired", 15000, gameplay); } else { if (specialBallsCatched == 60){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, " 60th Special Ball Fired", 25000, gameplay); } else { if (specialBallsCatched == 80){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, " 80th Special Ball Fired", 50000, gameplay); } else { if (specialBallsCatched == 100){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, " 80th Special Ball Fired", 100000, gameplay); }; }; }; }; }; }; }; }; }; } public function init():void{ var _local1:*; var _local2:Ball; _local1 = 0; while (_local1 < ballHolder.length) { _local2 = ballHolder[_local1]; _local2.addEventListener(BonusEvent.BOUNCEBONUS, bounceBonusHandler); _local2.addEventListener(BonusEvent.COLLECTWHILENRINPLAY, collectWhileNrInPlayHandler); _local1++; }; } public function specialCatchedReset():void{ specialBallsCatched = 0; } public function ballsWithoutMissReset():void{ withoutMiss = 0; } public function ballsWithoutMissSet():void{ withoutMiss++; if (withoutMiss == 3){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "PRECISION", 1000, gameplay); } else { if (withoutMiss == 6){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "FINE PRECISION", 2000, gameplay); } else { if (withoutMiss == 10){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "GOOD PRECISION", 8000, gameplay); } else { if (withoutMiss == 15){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "VERY GOOD PRECISION", 16000, gameplay); } else { if (withoutMiss == 21){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "GREAT PRECISION", 0x7D00, gameplay); } else { if (withoutMiss == 27){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "EXCELLENT PRECISION", 60000, gameplay); } else { if (withoutMiss == 35){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "BRILLIANT PRECISION", 100000, gameplay); } else { if (withoutMiss == 50){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "INHUMAN PRECISION", 200000, gameplay); } else { if (withoutMiss == 100){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "ULTIMATE PRECISION", 400000, gameplay); }; }; }; }; }; }; }; }; }; } public function specialCatchedWhileXInPlay(_arg1:Number){ if ((((_arg1 >= 7)) && ((_arg1 < 8)))){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "Special Catched While Crowded", 500, gameplay); }; if ((((_arg1 >= 8)) && ((_arg1 < 9)))){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "Special Catched While Very Crowded", 1000, gameplay); }; if ((((_arg1 >= 9)) && ((_arg1 < 10)))){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "Special Catched While Really Crowded", 2000, gameplay); }; if (_arg1 >= 10){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "Special Catched While Extremely Crowded", 4000, gameplay); }; } private function collectWhileNrInPlayHandler(_arg1:BonusEvent):void{ var _local2:Number; _local2 = (Gameplay.ballHolder.length - 1); if (_local2 >= 6){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "Over 4x with over 6 balls in play", 1000, gameplay); } else { if (_local2 >= 9){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "Over 4x with over 9 balls in play", 2000, gameplay); } else { if (_local2 >= 10){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "Over 4x with over 10 balls in play", 4000, gameplay); } else { if (_local2 >= 12){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "Over 4x with over 12 balls in play", 8000, gameplay); } else { if (_local2 >= 15){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "Over 4x with over 15 balls in play", 16000, gameplay); }; }; }; }; }; } private function bounceBonusHandler(_arg1:BonusEvent):void{ var _local2:Number; _local2 = Ball(_arg1.currentTarget).bounce; if (_local2 == 4){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "Small Bounce!!!", 500, gameplay); }; if (_local2 == 7){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "Nice Bounce!!!", 1000, gameplay); }; if (_local2 == 12){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "Good Bounce!!!", 2000, gameplay); }; if (_local2 == 21){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "Great Bounce!!!", 4000, gameplay); }; if (_local2 == 28){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "Excellent Bounce!!!", 8000, gameplay); }; if (_local2 == 35){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "Perfect Bounce!!!", 16000, gameplay); }; if (_local2 == 50){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "Ultimate Bounce!!!", 0x7D00, gameplay); }; if (_local2 == 100){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "Godly Bounce!!!", 0xFA00, gameplay); }; if (_local2 == 250){ bonusPop = new BonusPopUp(parent, bonusX, bonusY, "Godly Bounce!!!", 128000, gameplay); Ball(_arg1.currentTarget).bounce = 0; }; } } }//package
Section 45
//BonusPopUp (BonusPopUp) package { import flash.events.*; import flash.display.*; import flash.media.*; import flash.text.*; public class BonusPopUp extends MovieClip { private var parentContainer:DisplayObjectContainer; public var msgTxt:TextField; private var gamePlay:Gameplay; private var score:Number; private var textString:String; public var scoreTxt:TextField; public function BonusPopUp(_arg1:DisplayObjectContainer, _arg2:Number, _arg3:Number, _arg4:String, _arg5:Number, _arg6:Gameplay){ var _local7:Sound; super(); if (Frosmomatch.soundFlag){ _local7 = new Bonus(); _local7.play(); }; trace("CREATE"); this.x = _arg2; this.y = _arg3; this.gamePlay = _arg6; parentContainer = _arg1; this.textString = _arg4; this.score = _arg5; if (_arg6.bonusManager.bonusPopFlag){ init(); } else { addEventListener(Event.ENTER_FRAME, waitOneSecond); }; _arg6.scoreManager.updateScore2(_arg5); } private function init():void{ parentContainer.addChild(this); alpha = 1.9; addEventListener(Event.ENTER_FRAME, onEnterFrame); gamePlay.bonusManager.bonusPopFlag = false; this.msgTxt.text = ("" + textString.toString()); if (score > 0){ this.scoreTxt.text = (("+" + score.toString()) + " score"); } else { this.scoreTxt.visible = false; }; } private function waitOneSecond(_arg1:Event):void{ if (gamePlay.bonusManager.bonusPopFlag == true){ removeEventListener(Event.ENTER_FRAME, waitOneSecond); init(); }; } private function onEnterFrame(_arg1:Event):void{ alpha = (alpha - 0.03); y = (y - 0.5); if (alpha < 0.1){ this.parent.removeChild(this); removeEventListener(Event.ENTER_FRAME, onEnterFrame); gamePlay.bonusManager.bonusPopFlag = true; }; } } }//package
Section 46
//Bumper (Bumper) package { import flash.display.*; import flash.filters.*; public class Bumper extends MovieClip { public var glowFilter:GlowFilter; public var radius:Number; private var dropShadow:DropShadowFilter; public function Bumper(_arg1:DisplayObjectContainer, _arg2:Number, _arg3:Number){ _arg1.addChild(this); this.x = _arg2; this.y = _arg3; this.radius = (width / 2); dropShadow = new DropShadowFilter(); dropShadow.strength = (dropShadow.strength * 2.5); dropShadow.distance = 7; filters = [dropShadow]; glowFilter = new GlowFilter(0xFFFFFF); glowFilter.strength = (glowFilter.strength * 2.5); filters = [dropShadow, glowFilter]; } public function remove(_arg1:Array):void{ var _local2:*; if (parent){ parent.removeChild(this); }; _local2 = 0; while (_local2 < _arg1.length) { if (this == _arg1[_local2]){ _arg1.splice(_local2, 1); }; _local2++; }; } } }//package
Section 47
//Collision (Collision) package { import flash.display.*; import flash.geom.*; public class Collision { private function getAlphaMap(_arg1:DisplayObject, _arg2:Rectangle, _arg3:uint, _arg4:Rectangle):BitmapData{ var _local5:BitmapData; var _local6:Matrix; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:BitmapData; _local5 = new BitmapData(_arg2.width, _arg2.height, true, 0); _local6 = new Matrix(); _local7 = (_arg1.x - _arg4.x); _local8 = (_arg1.y - _arg4.y); _local9 = ((_arg4.x + _local7) - _arg2.x); _local10 = ((_arg4.y + _local8) - _arg2.y); _local6.translate(_local9, _local10); _local5.draw(_arg1, _local6); _local11 = new BitmapData(_arg2.width, _arg2.height, false, 0); _local11.copyChannel(_local5, _local5.rect, new Point(0, 0), BitmapDataChannel.ALPHA, _arg3); return (_local11); } public function isColliding(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Number=0):Boolean{ var _local4:Rectangle; _local4 = getCollision(_arg1, _arg2, _arg3); if (((!((_local4 == null))) && ((_local4.size.length > 0)))){ return (true); }; return (false); } public function getCollisionPoint(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Number=0):Point{ var _local4:Point; var _local5:Rectangle; var _local6:Number; var _local7:Number; _local5 = getCollision(_arg1, _arg2, _arg3); if (((!((_local5 == null))) && ((_local5.size.length > 0)))){ _local6 = ((_local5.left + _local5.right) / 2); _local7 = ((_local5.top + _local5.bottom) / 2); _local4 = new Point(_local6, _local7); }; return (_local4); } public function getCollision(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Number=0):Rectangle{ var _local4:Rectangle; var _local5:DisplayObjectContainer; var _local6:Rectangle; var _local7:Rectangle; var _local8:Boolean; var _local9:Rectangle; var _local10:BitmapData; var _local11:BitmapData; var _local12:uint; var _local13:Number; if (_arg1.parent == _arg2.parent){ _local5 = _arg1.parent; _local6 = _arg1.getBounds(_local5); _local7 = _arg2.getBounds(_local5); _local8 = _local6.intersects(_local7); if (_local8){ _local9 = _local6.union(_local7); _local10 = getAlphaMap(_arg1, _local9, BitmapDataChannel.RED, _local6); _local11 = getAlphaMap(_arg2, _local9, BitmapDataChannel.GREEN, _local7); _local10.draw(_local11, new Matrix(), new ColorTransform(), BlendMode.LIGHTEN); if (_arg3 > 1){ _arg3 = 1; }; if (_arg3 < 0){ _arg3 = 0; }; if (_arg3 == 0){ _local12 = 65792; } else { _local13 = Math.round((_arg3 * 0xFF)); _local12 = (((_local13 << 16) | (_local13 << 8)) | 0); }; _local4 = _local10.getColorBoundsRect(_local12, _local12); _local10.getColorBoundsRect(_local12, _local12).x = (_local4.x + _local9.x); _local4.y = (_local4.y + _local9.y); return (_local4); }; }; return (_local4); } } }//package
Section 48
//CollisionManager (CollisionManager) package { import flash.display.*; import flash.geom.*; import utils.*; import flash.media.*; public class CollisionManager extends MovieClip { private var hero:Hero; private var obstacleArray:Array; private var collisionChecker:Collision; private var collisionChecker2:CircleCollision; private var ballHolder:Array; private var gamePlay:Gameplay; public function CollisionManager(_arg1:DisplayObjectContainer, _arg2:Array, _arg3:Hero, _arg4:Gameplay, _arg5:Array){ this.hero = _arg3; _arg1.addChild(this); this.ballHolder = _arg2; this.gamePlay = _arg4; this.obstacleArray = _arg5; collisionChecker = new Collision(); } private function goodCollision(_arg1:Ball, _arg2:Ball):void{ var _local3:*; var _local4:Sound; if (Frosmomatch.soundFlag){ _local4 = new Good(); _local4.play(); }; _arg1.markForDeletion = true; _arg2.markForDeletion = true; explosionEffects(_arg2.x, _arg2.y); bounceBalls(_arg1, _arg2); gamePlay.spawnRandomBall(); gamePlay.bonusManager.ballsWithoutMissSet(); if (ballHolder.length == 0){ gamePlay.removeListeners(); return; }; if (_arg2.getMultiplier() > 4){ _arg2.dispatchCollectWhilNrInPlay(); }; gamePlay.scoreManager.updateScore(_arg2.getMultiplier()); _local3 = new ScorePopUp(parent, _arg2.x, _arg2.y, _arg2.getMultiplier()); gamePlay.scoreManager.updateEnergy(gamePlay.scoreManager.energyPlus, _arg2.getMultiplier()); } private function bounceBalls2(_arg1:Ball, _arg2:Ball):void{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; _local3 = (_arg1.x - _arg2.x); _local4 = (_arg1.y - _arg2.y); _local5 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4))); _local6 = Math.atan2(_local4, _local3); _local7 = Math.sin(_local6); _local8 = Math.cos(_local6); _local9 = 0; _local10 = 0; _local11 = ((_local3 * _local8) + (_local4 * _local7)); _local12 = ((_local4 * _local8) - (_local3 * _local7)); _local13 = ((_arg2.vx * _local8) + (_arg2.vy * _local7)); _local14 = ((_arg2.vy * _local8) - (_arg2.vx * _local7)); _local15 = ((_arg1.vx * _local8) + (_arg1.vy * _local7)); _local16 = ((_arg1.vy * _local8) - (_arg1.vx * _local7)); _local17 = (_local13 - _local15); _local13 = _local15; _local15 = (_local17 + _local13); _local18 = (Math.abs(_local13) + Math.abs(_local15)); _local19 = ((_arg2.radius + _arg1.radius) - Math.abs((_local9 - _local11))); _local9 = (_local9 + ((_local13 / _local18) * _local19)); _local11 = (_local11 + ((_local15 / _local18) * _local19)); _local20 = ((_local9 * _local8) - (_local10 * _local7)); _local21 = ((_local10 * _local8) + (_local9 * _local7)); _local22 = ((_local11 * _local8) - (_local12 * _local7)); _local23 = ((_local12 * _local8) + (_local11 * _local7)); _arg1.x = (_arg2.x + _local22); _arg1.y = (_arg2.y + _local23); _arg2.x = (_arg2.x + _local20); _arg2.y = (_arg2.y + _local21); _arg2.vx = ((_local13 * _local8) - (_local14 * _local7)); _arg2.vy = ((_local14 * _local8) + (_local13 * _local7)); _arg1.vx = ((_local15 * _local8) - (_local16 * _local7)); _arg1.vy = ((_local16 * _local8) + (_local15 * _local7)); } private function collisionAction(_arg1:Ball, _arg2:Ball):void{ if ((((_arg1.markForDeletion == true)) || ((_arg2.markForDeletion == true)))){ return; }; if ((((_arg1.state == -2)) || ((_arg2.state == -2)))){ return; }; if ((((_arg1.state <= 0)) || ((_arg2.state <= 0)))){ if ((((_arg1.ballType <= 0)) || ((_arg2.ballType <= 0)))){ goodCollision(_arg1, _arg2); hero.enableShooting(); return; }; if (_arg1.ballType == _arg2.ballType){ goodCollision(_arg1, _arg2); } else { badCollision(_arg1, _arg2); }; hero.enableShooting(); } else { bounceBalls(_arg1, _arg2); }; } private function bumperCollision(_arg1:Ball, _arg2:Bumper):void{ var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:*; var _local13:*; var _local14:*; _local3 = _arg1.x; _local4 = _arg1.y; _local5 = (_arg2.x - _local3); _local6 = (_arg2.y - _local4); _local7 = Math.sqrt(((_local5 * _local5) + (_local6 * _local6))); _local8 = (_local5 / _local7); _local9 = (_local6 / _local7); _local10 = ((_local3 + _arg2.x) / 2); _local11 = ((_local4 + _arg2.y) / 2); _arg1.x = (_local10 - (_local8 * _arg1.radius)); _arg1.y = (_local11 - (_local9 * _arg1.radius)); _local12 = (((2 * _arg1.vx) * _local8) + ((2 * _arg1.vy) * _local9)); _local13 = (_local12 * _local8); _local14 = (_local12 * _local9); _arg1.vx = (_arg1.vx - (1.01 * _local13)); if ((((_arg1.vx < 0)) && ((_arg1.vx > -5)))){ _arg1.vx = (_arg1.vx - 7); }; if ((((_arg1.vx > 0)) && ((_arg1.vx < 5)))){ _arg1.vx = (_arg1.vx + 7); }; _arg1.vy = (_arg1.vy - (1.01 * _local14)); if ((((_arg1.vy < 0)) && ((_arg1.vy > -5)))){ _arg1.vy = (_arg1.vy - 7); }; if ((((_arg1.vy > 0)) && ((_arg1.vy < 5)))){ _arg1.vy = (_arg1.vy + 7); }; if (_arg1.state == 0){ gamePlay.scoreManager.updateScore2(100); }; } private function obstacleCollision1(_arg1:Ball, _arg2:Obstacle):Boolean{ var _local3:Point; var _local4:Point; var _local5:Point; var _local6:Number; var _local7:Number; _local3 = new Point(); _local4 = new Point(_arg1.x, _arg1.y); if (_arg1.x < _arg2.min.x){ _local4.x = _arg2.min.x; } else { if (_arg1.x > _arg2.max.x){ _local4.x = _arg2.max.x; }; }; if (_arg1.y < _arg2.min.y){ _local4.y = _arg2.min.y; } else { if (_arg1.y > _arg2.max.y){ _local4.y = _arg2.max.y; }; }; _local5 = new Point((_arg1.x - _local4.x), (_arg1.y - _local4.y)); if (((_local5.x * _local5.x) + (_local5.y * _local5.y)) < (_arg1.radius * _arg1.radius)){ _local5.normalize(1); _local6 = (-2 * ((_arg1.vx * _local5.x) + (_arg1.vy * _local5.y))); _local7 = (_local6 / ((_local5.x * _local5.x) + (_local5.y * _local5.y))); _local3.x = (_local3.x + (_local5.x * _local7)); _local3.y = (_local3.y + (_local5.y * _local7)); } else { trace("FALSE"); return (false); }; if (((!((_local3.x == NaN))) && (!((_local3.x == undefined))))){ _arg1.vx = (_arg1.vx + _local3.x); }; if (((!((_local3.y == NaN))) && (!((_local3.y == undefined))))){ _arg1.vy = (_arg1.vy + _local3.y); }; return (true); } private function obstacleCollision3(_arg1:Ball, _arg2:Array):void{ var _local3:Point; var _local4:*; var _local5:Obstacle; var _local6:Point; var _local7:Point; var _local8:Number; var _local9:Number; _local3 = new Point(); _local4 = 0; while (_local4 < _arg2.length) { _local5 = _arg2[_local4]; _local6 = new Point(_arg1.x, _arg1.y); if (_arg1.x < _local5.min.x){ _local6.x = _local5.min.x; } else { if (_arg1.x > _local5.max.x){ _local6.x = _local5.max.x; }; }; if (_arg1.y < _local5.min.y){ _local6.y = _local5.min.y; } else { if (_arg1.y > _local5.max.y){ _local6.y = _local5.max.y; }; }; _local7 = new Point((_arg1.x - _local6.x), (_arg1.y - _local6.y)); if (((_local7.x * _local7.x) + (_local7.y * _local7.y)) < (_arg1.radius * _arg1.radius)){ _local7.normalize(1); _local8 = (-2 * ((_arg1.vx * _local7.x) + (_arg1.vy * _local7.y))); _local9 = (_local8 / ((_local7.x * _local7.x) + (_local7.y * _local7.y))); _local3.x = (_local3.x + (_local7.x * _local9)); _local3.y = (_local3.y + (_local7.y * _local9)); }; _local4++; }; if (_local3.x != NaN){ _arg1.vx = (_arg1.vx + _local3.x); }; if (_local3.y != NaN){ _arg1.vy = (_arg1.vy + _local3.y); }; } private function obstacleCollision2(_arg1:Ball, _arg2:Obstacle){ var _local3:Number; var _local4:Number; var _local5:Boolean; var _local6:Boolean; var _local7:*; _local3 = Math.abs(((_arg1.x - _arg2.x) - (_arg2.width / 2))); _local4 = Math.abs(((_arg1.y - _arg2.y) - (_arg2.height / 2))); _local6 = false; if (_local3 > ((_arg2.width / 2) + _arg1.radius)){ _local5 = false; _local6 = true; }; if (_local4 > ((_arg2.height / 2) + _arg1.radius)){ _local5 = false; _local6 = true; }; if (_local6 == false){ if (_local3 <= (_arg2.width / 2)){ _local5 = true; _local6 = true; }; if (_local4 <= (_arg2.height / 2)){ _local5 = true; _local6 = true; }; _local7 = Math.sqrt((((_local3 - (_arg2.width / 2)) ^ (2 + (_local4 - (_arg2.height / 2)))) ^ 2)); if ((((_local7 <= _arg1.radius)) && ((_local6 == false)))){ _local5 = true; } else { _local5 = false; }; }; if (_local5 == true){ }; } private function explosionEffects(_arg1:Number, _arg2:Number):void{ var _local3:*; var _local4:ParticleStar; _local3 = 0; while (_local3 < 20) { _local4 = new ParticleStar(parent, _arg1, _arg2); _local4.gotoAndStop(1); _local3++; }; } private function obstacleCollision(_arg1:Ball, _arg2:Obstacle):void{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; _local3 = ((_arg2.rotation * Math.PI) / 180); _local4 = Math.cos(_local3); _local5 = Math.sin(_local3); _local6 = (_arg1.x - _arg2.x); _local7 = (_arg1.y - _arg2.y); _local8 = ((_local4 * _local7) - (_local5 * _local6)); _local9 = ((_local4 * _arg1.vy) - (_local5 * _arg1.vx)); if (_local7 > 0){ _local3 = (((_arg2.rotation * Math.PI) / 180) + Math.PI); _local4 = Math.cos(_local3); _local5 = Math.sin(_local3); _local6 = (_arg1.x - _arg2.x); _local7 = (_arg1.y - _arg2.y); _local8 = ((_local4 * _local7) - (_local5 * _local6)); _local9 = ((_local4 * _arg1.vy) - (_local5 * _arg1.vx)); }; if ((((_local8 > (-(_arg1.height) / 2))) && ((_local8 < _local9)))){ _local10 = ((_local4 * _local6) + (_local5 * _local7)); _local11 = ((_local4 * _arg1.vx) + (_local5 * _arg1.vy)); _local8 = (-(_arg1.height) / 2); _local9 = (_local9 * -1); _local6 = ((_local4 * _local10) - (_local5 * _local8)); _local7 = ((_local4 * _local8) + (_local5 * _local10)); _arg1.vx = ((_local4 * _local11) - (_local5 * _local9)); _arg1.vy = ((_local4 * _local9) + (_local5 * _local11)); _arg1.x = (_arg2.x + _local6); _arg1.y = (_arg2.y + _local7); }; } private function badExplosionEffects(_arg1:Number, _arg2:Number):void{ var _local3:*; var _local4:ParticleStar; _local3 = 0; while (_local3 < 20) { _local4 = new ParticleStar(parent, _arg1, _arg2); _local4.gotoAndStop(2); _local3++; }; } public function remove():void{ if (parent){ parent.removeChild(this); }; } private function bounceBalls(_arg1:Ball, _arg2:Ball):void{ var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:*; var _local13:*; var _local14:*; _local3 = _arg1.x; _local4 = _arg1.y; _local5 = (_arg2.x - _local3); _local6 = (_arg2.y - _local4); _local7 = Math.sqrt(((_local5 * _local5) + (_local6 * _local6))); _local8 = (_local5 / _local7); _local9 = (_local6 / _local7); _local10 = ((_local3 + _arg2.x) / 2); _local11 = ((_local4 + _arg2.y) / 2); _arg1.x = (_local10 - (_local8 * _arg1.radius)); _arg1.y = (_local11 - (_local9 * _arg1.radius)); _arg2.x = (_local10 + (_local8 * _arg2.radius)); _arg2.y = (_local11 + (_local9 * _arg2.radius)); _local12 = (((_arg1.vx - _arg2.vx) * _local8) + ((_arg1.vy - _arg2.vy) * _local9)); _local13 = (_local12 * _local8); _local14 = (_local12 * _local9); _arg1.vx = (_arg1.vx - _local13); _arg1.vy = (_arg1.vy - _local14); _arg2.vx = (_arg2.vx + _local13); _arg2.vy = (_arg2.vy + _local14); } private function badCollision(_arg1:Ball, _arg2:Ball):void{ var _local3:Sound; if ((((_arg1.markForDeletion == true)) || ((_arg2.markForDeletion == true)))){ return; }; if (Frosmomatch.soundFlag){ _local3 = new Bad(); _local3.play(); }; gamePlay.scoreManager.updateEnergy(gamePlay.scoreManager.energyMinus); gamePlay.bonusManager.ballsWithoutMissReset(); _arg1.updateStateToBounceMode(); _arg2.updateStateToBounceMode(); bounceBalls(_arg1, _arg2); badExplosionEffects(_arg1.x, _arg1.y); } public function checkCollisions():void{ var _local1:*; var _local2:*; var _local3:Boolean; var _local4:Array; _local1 = 0; while (_local1 < ballHolder.length) { ballHolder[_local1].move(); _local2 = _local1; while (_local2 < ballHolder.length) { if (_local1 != _local2){ this.collisionChecker2 = new CircleCollision(ballHolder[_local1], ballHolder[_local2]); _local3 = collisionChecker2.isColliding(); if (_local3){ collisionAction(ballHolder[_local1], ballHolder[_local2]); }; }; _local2++; }; _local1++; }; _local1 = 0; while (_local1 < ballHolder.length) { _local2 = 0; while (_local2 < obstacleArray.length) { _local3 = collisionChecker.isColliding(ballHolder[_local1], obstacleArray[_local2]); if (_local3){ obstacleCollision(ballHolder[_local1], obstacleArray[_local2]); if (Ball(ballHolder[_local1]).state == 0){ Ball(ballHolder[_local1]).catchModeEnter(); }; }; _local2++; }; _local1++; }; _local1 = 0; while (_local1 < ballHolder.length) { _local4 = gamePlay.bumperArray; _local2 = 0; while (_local2 < _local4.length) { this.collisionChecker2 = new CircleCollision(ballHolder[_local1], _local4[_local2]); _local3 = collisionChecker2.isColliding(); if (_local3){ bumperCollision(ballHolder[_local1], _local4[_local2]); if (Ball(ballHolder[_local1]).state == 0){ Ball(ballHolder[_local1]).catchModeEnter(); }; }; _local2++; }; _local1++; }; } } }//package
Section 49
//Colored (Colored) package { import flash.media.*; public dynamic class Colored extends Sound { } }//package
Section 50
//ColoredMessage (ColoredMessage) package { import flash.events.*; import flash.display.*; public class ColoredMessage extends MovieClip { public function ColoredMessage(_arg1:DisplayObjectContainer){ _arg1.addChild(this); x = 600; y = 350; addEventListener(Event.ENTER_FRAME, onEnterFrame); } private function onEnterFrame(_arg1:Event):void{ x = (x - 12); if (x < -500){ removeEventListener(Event.ENTER_FRAME, onEnterFrame); parent.removeChild(this); }; } } }//package
Section 51
//ColorMatrix (ColorMatrix) package { public dynamic class ColorMatrix extends Array { private static const IDENTITY_MATRIX:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]; private static const LENGTH:Number = IDENTITY_MATRIX.length; private static const DELTA_INDEX:Array = [0, 0.01, 0.02, 0.04, 0.05, 0.06, 0.07, 0.08, 0.1, 0.11, 0.12, 0.14, 0.15, 0.16, 0.17, 0.18, 0.2, 0.21, 0.22, 0.24, 0.25, 0.27, 0.28, 0.3, 0.32, 0.34, 0.36, 0.38, 0.4, 0.42, 0.44, 0.46, 0.48, 0.5, 0.53, 0.56, 0.59, 0.62, 0.65, 0.68, 0.71, 0.74, 0.77, 0.8, 0.83, 0.86, 0.89, 0.92, 0.95, 0.98, 1, 1.06, 1.12, 1.18, 1.24, 1.3, 1.36, 1.42, 1.48, 1.54, 1.6, 1.66, 1.72, 1.78, 1.84, 1.9, 1.96, 2, 2.12, 2.25, 2.37, 2.5, 2.62, 2.75, 2.87, 3, 3.2, 3.4, 3.6, 3.8, 4, 4.3, 4.7, 4.9, 5, 5.5, 6, 6.5, 6.8, 7, 7.3, 7.5, 7.8, 8, 8.4, 8.7, 9, 9.4, 9.6, 9.8, 10]; public function ColorMatrix(_arg1:Array=null){ _arg1 = fixMatrix(_arg1); copyMatrix(((_arg1.length)==LENGTH) ? _arg1 : IDENTITY_MATRIX); } public function adjustBrightness(_arg1:Number):void{ _arg1 = cleanValue(_arg1, 100); if ((((_arg1 == 0)) || (isNaN(_arg1)))){ return; }; multiplyMatrix([1, 0, 0, 0, _arg1, 0, 1, 0, 0, _arg1, 0, 0, 1, 0, _arg1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]); } protected function multiplyMatrix(_arg1:Array):void{ var _local2:Array; var _local3:uint; var _local4:uint; var _local5:Number; var _local6:Number; _local2 = []; _local3 = 0; while (_local3 < 5) { _local4 = 0; while (_local4 < 5) { _local2[_local4] = this[(_local4 + (_local3 * 5))]; _local4++; }; _local4 = 0; while (_local4 < 5) { _local5 = 0; _local6 = 0; while (_local6 < 5) { _local5 = (_local5 + (_arg1[(_local4 + (_local6 * 5))] * _local2[_local6])); _local6++; }; this[(_local4 + (_local3 * 5))] = _local5; _local4++; }; _local3++; }; } public function adjustSaturation(_arg1:Number):void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _arg1 = cleanValue(_arg1, 100); if ((((_arg1 == 0)) || (isNaN(_arg1)))){ return; }; _local2 = (1 + ((_arg1)>0) ? ((3 * _arg1) / 100) : (_arg1 / 100)); _local3 = 0.3086; _local4 = 0.6094; _local5 = 0.082; multiplyMatrix([((_local3 * (1 - _local2)) + _local2), (_local4 * (1 - _local2)), (_local5 * (1 - _local2)), 0, 0, (_local3 * (1 - _local2)), ((_local4 * (1 - _local2)) + _local2), (_local5 * (1 - _local2)), 0, 0, (_local3 * (1 - _local2)), (_local4 * (1 - _local2)), ((_local5 * (1 - _local2)) + _local2), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]); } public function reset():void{ var _local1:uint; _local1 = 0; while (_local1 < LENGTH) { this[_local1] = IDENTITY_MATRIX[_local1]; _local1++; }; } public function adjustColor(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{ adjustHue(_arg4); adjustContrast(_arg2); adjustBrightness(_arg1); adjustSaturation(_arg3); } public function clone():ColorMatrix{ return (new ColorMatrix(this)); } public function toArray():Array{ return (slice(0, 20)); } protected function cleanValue(_arg1:Number, _arg2:Number):Number{ return (Math.min(_arg2, Math.max(-(_arg2), _arg1))); } public function adjustHue(_arg1:Number):void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; _arg1 = ((cleanValue(_arg1, 180) / 180) * Math.PI); if ((((_arg1 == 0)) || (isNaN(_arg1)))){ return; }; _local2 = Math.cos(_arg1); _local3 = Math.sin(_arg1); _local4 = 0.213; _local5 = 0.715; _local6 = 0.072; multiplyMatrix([((_local4 + (_local2 * (1 - _local4))) + (_local3 * -(_local4))), ((_local5 + (_local2 * -(_local5))) + (_local3 * -(_local5))), ((_local6 + (_local2 * -(_local6))) + (_local3 * (1 - _local6))), 0, 0, ((_local4 + (_local2 * -(_local4))) + (_local3 * 0.143)), ((_local5 + (_local2 * (1 - _local5))) + (_local3 * 0.14)), ((_local6 + (_local2 * -(_local6))) + (_local3 * -0.283)), 0, 0, ((_local4 + (_local2 * -(_local4))) + (_local3 * -((1 - _local4)))), ((_local5 + (_local2 * -(_local5))) + (_local3 * _local5)), ((_local6 + (_local2 * (1 - _local6))) + (_local3 * _local6)), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]); } public function concat(_arg1:Array):void{ _arg1 = fixMatrix(_arg1); if (_arg1.length != LENGTH){ return; }; multiplyMatrix(_arg1); } protected function copyMatrix(_arg1:Array):void{ var _local2:Number; var _local3:uint; _local2 = LENGTH; _local3 = 0; while (_local3 < _local2) { this[_local3] = _arg1[_local3]; _local3++; }; } protected function fixMatrix(_arg1:Array=null):Array{ if (_arg1 == null){ return (IDENTITY_MATRIX); }; if ((_arg1 is ColorMatrix)){ _arg1 = _arg1.slice(0); }; if (_arg1.length < LENGTH){ _arg1 = _arg1.slice(0, _arg1.length).concat(IDENTITY_MATRIX.slice(_arg1.length, LENGTH)); } else { if (_arg1.length > LENGTH){ _arg1 = _arg1.slice(0, LENGTH); }; }; return (_arg1); } public function adjustContrast(_arg1:Number):void{ var _local2:Number; _arg1 = cleanValue(_arg1, 100); if ((((_arg1 == 0)) || (isNaN(_arg1)))){ return; }; if (_arg1 < 0){ _local2 = (127 + ((_arg1 / 100) * 127)); } else { _local2 = (_arg1 % 1); if (_local2 == 0){ _local2 = DELTA_INDEX[_arg1]; } else { _local2 = ((DELTA_INDEX[(_arg1 << 0)] * (1 - _local2)) + (DELTA_INDEX[((_arg1 << 0) + 1)] * _local2)); }; _local2 = ((_local2 * 127) + 127); }; multiplyMatrix([(_local2 / 127), 0, 0, 0, (0.5 * (127 - _local2)), 0, (_local2 / 127), 0, 0, (0.5 * (127 - _local2)), 0, 0, (_local2 / 127), 0, (0.5 * (127 - _local2)), 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]); } public function toString():String{ return ((("ColorMatrix [ " + this.join(" , ")) + " ]")); } } }//package
Section 52
//Credits (Credits) package { import flash.events.*; import flash.display.*; import flash.net.*; public class Credits extends MovieClip { public var startB:StartButton; public var creditsMC:CreditsMC; public var menuB:BackButton; public function Credits(_arg1:DisplayObjectContainer){ _arg1.addChild(this); menuB.addEventListener(MouseEvent.CLICK, menuClicked); startB.addEventListener(MouseEvent.CLICK, startClicked); creditsMC.addEventListener(MouseEvent.CLICK, creditsClicked); } private function creditsClicked(_arg1:MouseEvent):void{ var _local2:URLRequest; _local2 = new URLRequest("http://www.gamingocean.com"); navigateToURL(_local2); } private function startClicked(_arg1:MouseEvent):void{ parent.removeChild(this); dispatchEvent(new NavigationEvent(NavigationEvent.STARTGAME)); } private function menuClicked(_arg1:MouseEvent):void{ parent.removeChild(this); dispatchEvent(new NavigationEvent(NavigationEvent.MAINMENU)); } } }//package
Section 53
//CreditsBut (CreditsBut) package { import flash.display.*; public dynamic class CreditsBut extends SimpleButton { } }//package
Section 54
//CreditsButton (CreditsButton) package { import flash.display.*; public dynamic class CreditsButton extends SimpleButton { } }//package
Section 55
//CreditsMC (CreditsMC) package { import flash.display.*; public dynamic class CreditsMC extends SimpleButton { } }//package
Section 56
//Electricity (Electricity) package { import flash.media.*; public dynamic class Electricity extends Sound { } }//package
Section 57
//EnergyBar (EnergyBar) package { import flash.events.*; import flash.display.*; import flash.filters.*; public class EnergyBar extends MovieClip { public var glowFilter:GlowFilter; public var maxWidth:Number;// = 560 public var blinkFlag:Boolean;// = false public function EnergyBar(_arg1:DisplayObjectContainer, _arg2:Number, _arg3:Number){ maxWidth = 560; blinkFlag = false; super(); this.x = _arg2; this.y = _arg3; this.height = 10; _arg1.addChild(this); addEventListener(Event.ENTER_FRAME, onEnterFrame); glowFilter = new GlowFilter(); glowFilter.color = 0xFF0000; glowFilter.strength = 0; } private function onEnterFrame(_arg1:Event):void{ if (blinkFlag){ glowFilter.strength = (glowFilter.strength + 0.3); glowFilter.blurX = (glowFilter.blurY = 10); filters = [glowFilter]; if (glowFilter.strength > 10){ glowFilter.strength = 0; }; } else { glowFilter.strength = 0; filters = [glowFilter]; }; } } }//package
Section 58
//Forest (Forest) package { import flash.media.*; public dynamic class Forest extends Sound { } }//package
Section 59
//FreeModeBut (FreeModeBut) package { import flash.display.*; public dynamic class FreeModeBut extends SimpleButton { } }//package
Section 60
//FreeModeButton (FreeModeButton) package { import flash.display.*; public dynamic class FreeModeButton extends SimpleButton { } }//package
Section 61
//FreeplayManager (FreeplayManager) package { import flash.events.*; import flash.display.*; public class FreeplayManager extends Sprite { private var powerUpManager:PowerupManager; private var obstacleArray:Array; private var powerUpCounter:Number;// = 0 private var powerupmanager:PowerupManager; private var powerUpTimer:Number;// = 600 private var ballHolder:Array; private var scoreManager:ScoreManager; private var hero:Hero; public function FreeplayManager(_arg1:DisplayObjectContainer, _arg2:Number, _arg3:Number, _arg4:PowerupManager, _arg5:Array, _arg6:Array, _arg7:Hero, _arg8:ScoreManager){ var _local9:Number; powerUpCounter = 0; powerUpTimer = 600; super(); _arg1.addChild(this); this.x = _arg2; this.y = _arg3; this.obstacleArray = _arg5; this.ballHolder = _arg6; this.scoreManager = _arg8; this.hero = _arg7; this.powerUpManager = _arg4; _local9 = Math.floor((Math.random() * 9)); if (_local9 == 0){ init(); } else { if (_local9 == 1){ init1(); } else { if (_local9 == 2){ init2(); } else { if (_local9 == 3){ init3(); } else { if (_local9 == 4){ init4(); } else { if (_local9 == 5){ init5(); } else { if (_local9 == 6){ init6(); } else { if (_local9 == 7){ init7(); } else { if (_local9 == 8){ init8(); }; }; }; }; }; }; }; }; }; addEventListener(Event.ENTER_FRAME, onEnterFrame); } private function init():void{ var _local1:Bumper; var _local2:Obstacle; var _local3:Obstacle; var _local4:Ball; var _local5:Ball; var _local6:Ball; _local1 = new Bumper(parent, 280, 80); Gameplay(parent).bumperArray.push(_local1); _local2 = new Obstacle(parent, 100, 100); obstacleArray.push(_local2); _local2.rotation = 5; _local2.scaleX = 0.7; _local2 = new Obstacle(parent, 480, 150); _local2.scaleX = 0.4; obstacleArray.push(_local2); _local2.rotation = 10; _local3 = new ObstacleMoving(parent, 300, 200, 3, 5); _local3.scaleX = 0.4; obstacleArray.push(_local3); _local3.rotation = 0; _local4 = new Ball1(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 1, 1); _local4.state = 1; ballHolder.push(_local4); _local5 = new Ball2(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 2, 1); _local5.state = 1; ballHolder.push(_local5); _local6 = new Ball3(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 3, 1); _local6.state = 1; ballHolder.push(_local6); hero.nextBallToFire(ballHolder); } private function init2():void{ var _local1:Obstacle; var _local2:Ball; _local1 = new ObstacleMoving(parent, 300, 100, 5, 50); _local1.scaleX = 0.4; obstacleArray.push(_local1); _local1.rotation = 0; _local1 = new ObstacleMoving(parent, 350, 150, -6, 50); _local1.scaleX = 0.4; obstacleArray.push(_local1); _local1.rotation = 0; _local1 = new ObstacleMoving(parent, 250, 200, -4, 50); _local1.scaleX = 0.4; obstacleArray.push(_local1); _local1.rotation = 0; _local1 = new ObstacleMoving(parent, 150, 50, 1, 50); _local1.scaleX = 0.7; obstacleArray.push(_local1); _local1.rotation = 0; _local2 = new Ball1(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 1, 1); _local2.state = 1; ballHolder.push(_local2); hero.nextBallToFire(ballHolder); } private function init3():void{ var _local1:Obstacle; var _local2:Ball; var _local3:Ball; var _local4:Ball; _local1 = new Obstacle(parent, 450, 100); obstacleArray.push(_local1); _local1.rotation = 5; _local1.scaleX = 0.7; _local1 = new Obstacle(parent, 150, 100); obstacleArray.push(_local1); _local1.rotation = -5; _local1.scaleX = 0.7; _local1 = new Obstacle(parent, 100, 200); obstacleArray.push(_local1); _local1.rotation = 5; _local1.scaleX = 0.7; _local1 = new Obstacle(parent, 500, 200); obstacleArray.push(_local1); _local1.rotation = -5; _local1.scaleX = 0.7; _local2 = new Ball1(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 1, 1); _local2.state = 1; ballHolder.push(_local2); _local3 = new Ball2(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 2, 1); _local3.state = 1; ballHolder.push(_local3); _local4 = new Ball3(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 3, 1); _local4.state = 1; ballHolder.push(_local4); hero.nextBallToFire(ballHolder); } private function init6():void{ var _local1:Bumper; var _local2:Obstacle; var _local3:Ball; var _local4:Ball; var _local5:Ball; _local1 = new Bumper(this, 300, 300); Gameplay(parent).bumperArray.push(_local1); _local2 = new Obstacle(parent, 300, 100); obstacleArray.push(_local2); _local2.rotation = 0; _local2.scaleX = 0.7; _local3 = new Ball1(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 1, 1); _local3.state = 1; ballHolder.push(_local3); _local4 = new Ball2(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 2, 1); _local4.state = 1; ballHolder.push(_local4); _local5 = new Ball3(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 3, 1); _local5.state = 1; ballHolder.push(_local5); hero.nextBallToFire(ballHolder); } private function init4():void{ var _local1:Obstacle; var _local2:Obstacle; var _local3:Ball; var _local4:Ball; var _local5:Ball; _local1 = new Obstacle(parent, 450, 100); obstacleArray.push(_local1); _local1.rotation = 0; _local1.scaleX = 0.3; _local1 = new Obstacle(parent, 150, 100); obstacleArray.push(_local1); _local1.rotation = 0; _local1.scaleX = 0.3; _local1 = new Obstacle(parent, 100, 200); obstacleArray.push(_local1); _local1.rotation = 0; _local1.scaleX = 0.3; _local1 = new Obstacle(parent, 500, 200); obstacleArray.push(_local1); _local1.rotation = 0; _local1.scaleX = 0.3; _local2 = new ObstacleMoving(parent, 300, 150, 5, 50); _local2.scaleX = 0.7; obstacleArray.push(_local2); _local2.rotation = 0; _local3 = new Ball1(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 1, 1); _local3.state = 1; ballHolder.push(_local3); _local4 = new Ball2(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 2, 1); _local4.state = 1; ballHolder.push(_local4); _local5 = new Ball3(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 3, 1); _local5.state = 1; ballHolder.push(_local5); hero.nextBallToFire(ballHolder); } private function init5():void{ var _local1:Bumper; var _local2:Bumper; var _local3:Bumper; var _local4:Ball; var _local5:Ball; var _local6:Ball; _local1 = new Bumper(this, 200, 200); Gameplay(parent).bumperArray.push(_local1); _local2 = new Bumper(this, 400, 200); Gameplay(parent).bumperArray.push(_local2); _local3 = new Bumper(this, 300, 100); Gameplay(parent).bumperArray.push(_local3); _local4 = new Ball1(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 1, 1); _local4.state = 1; ballHolder.push(_local4); _local5 = new Ball2(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 2, 1); _local5.state = 1; ballHolder.push(_local5); _local6 = new Ball3(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 3, 1); _local6.state = 1; ballHolder.push(_local6); hero.nextBallToFire(ballHolder); } private function init7():void{ var _local1:Bumper; var _local2:Bumper; var _local3:Obstacle; var _local4:Ball; var _local5:Ball; var _local6:Ball; _local1 = new Bumper(this, 50, 100); Gameplay(parent).bumperArray.push(_local1); _local2 = new Bumper(this, 550, 100); Gameplay(parent).bumperArray.push(_local2); _local3 = new ObstacleMoving(parent, 300, 150, 5, 50); _local3.scaleX = 0.7; obstacleArray.push(_local3); _local3.rotation = 0; _local4 = new Ball1(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 1, 1); _local4.state = 1; ballHolder.push(_local4); _local5 = new Ball2(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 2, 1); _local5.state = 1; ballHolder.push(_local5); _local6 = new Ball3(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 3, 1); _local6.state = 1; ballHolder.push(_local6); hero.nextBallToFire(ballHolder); } private function init8():void{ var _local1:Bumper; var _local2:Bumper; var _local3:Bumper; var _local4:Ball; var _local5:Ball; var _local6:Ball; _local1 = new Bumper(this, 150, 300); Gameplay(parent).bumperArray.push(_local1); _local2 = new Bumper(this, 450, 300); Gameplay(parent).bumperArray.push(_local2); _local3 = new Bumper(this, 300, 300); Gameplay(parent).bumperArray.push(_local3); _local4 = new Ball1(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 1, 1); _local4.state = 1; ballHolder.push(_local4); _local5 = new Ball2(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 2, 1); _local5.state = 1; ballHolder.push(_local5); _local6 = new Ball3(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 3, 1); _local6.state = 1; ballHolder.push(_local6); hero.nextBallToFire(ballHolder); } private function init1():void{ var _local1:Obstacle; var _local2:Ball; var _local3:Ball; var _local4:Ball; _local1 = new ObstacleMoving(parent, 300, 100, 5, 50); _local1.scaleX = 0.4; obstacleArray.push(_local1); _local1.rotation = 0; _local1 = new ObstacleMoving(parent, 350, 150, -6, 50); _local1.scaleX = 0.4; obstacleArray.push(_local1); _local1.rotation = 0; _local1 = new ObstacleMoving(parent, 250, 200, -4, 50); _local1.scaleX = 0.4; obstacleArray.push(_local1); _local1.rotation = 0; _local1 = new ObstacleMoving(parent, 150, 50, 1, 50); _local1.scaleX = 0.7; obstacleArray.push(_local1); _local1.rotation = 0; _local2 = new Ball1(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 1, 1); _local2.state = 1; ballHolder.push(_local2); _local3 = new Ball2(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 2, 1); _local3.state = 1; ballHolder.push(_local3); _local4 = new Ball3(scoreManager, parent, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 3, 1); _local4.state = 1; ballHolder.push(_local4); hero.nextBallToFire(ballHolder); } public function remove():void{ removeEventListener(Event.ENTER_FRAME, onEnterFrame); if (parent){ parent.removeChild(this); }; } private function onEnterFrame(_arg1:Event):void{ var _local2:Number; if ((((Math.random() < (0.002 * (4 - Gameplay.ballHolder.length)))) && ((Gameplay.ballHolder.length < 4)))){ Gameplay(parent).spawnRandomBall(); }; powerUpCounter++; if (powerUpCounter >= powerUpTimer){ powerUpCounter = 0; _local2 = (1 + Math.floor((Math.random() * 3))); trace(("RND :" + _local2)); if (_local2 == 0){ powerUpManager.createPowerUpBigBall(((Math.random() * 500) + 50), ((Math.random() * 300) + 50)); } else { if (_local2 == 1){ powerUpManager.createPowerUpBomb(((Math.random() * 500) + 50), ((Math.random() * 300) + 50)); } else { if (_local2 == 2){ powerUpManager.createPowerupElectric(((Math.random() * 500) + 50), ((Math.random() * 300) + 50)); } else { if (_local2 == 3){ powerUpManager.createPowerUpFreeze(((Math.random() * 500) + 50), ((Math.random() * 300) + 50)); } else { if (_local2 == 4){ powerUpManager.createPowerUpIronBall(((Math.random() * 500) + 50), ((Math.random() * 400) + 50)); }; }; }; }; }; }; } } }//package
Section 62
//FrosmoLogo (FrosmoLogo) package { import flash.events.*; import flash.display.*; import flash.net.*; public class FrosmoLogo extends SimpleButton { public function FrosmoLogo(){ addEventListener(MouseEvent.CLICK, mouseClicked); } private function mouseClicked(_arg1:MouseEvent):void{ var _local2:URLRequest; _local2 = new URLRequest("http://www.frosmo.com/uk/ui/?ref=colorbounce"); navigateToURL(_local2); } } }//package
Section 63
//Frosmomatch (Frosmomatch) package { import flash.display.*; import flash.media.*; public dynamic class Frosmomatch extends MovieClip { private var introscreen:Introscreen; private var levelSelectScreen:LevelSelectScreen; var _mochiads_game_id:String;// = "f9a85873f161600b" public var levelNum:Number;// = 0 private var preloader:Preloader; private var gamePlay:Gameplay; private var credits:Credits; private var gameWinScreen:GameWin; private var instructions:Instructions; private var gameOver:Gameover; public static var menuMusicChannel:SoundChannel; public static var menuMusic:Sound; public static var freeModePlayedLast:Boolean = false; public static var soundFlag:Boolean = true; public function Frosmomatch(){ _mochiads_game_id = "f9a85873f161600b"; levelNum = 0; super(); gotoGame(new NavigationEvent(NavigationEvent.STARTGAME)); } private function gotoGame(_arg1:NavigationEvent):void{ introscreen = new Introscreen(this); introscreen.addEventListener(NavigationEvent.STARTGAME, startGame); introscreen.addEventListener(NavigationEvent.INSTRUCTIONS, displayInstructions); introscreen.addEventListener(NavigationEvent.FREEMODE, freeModeStart); introscreen.addEventListener(NavigationEvent.CREDITS, creditsDisplay); playMenuMusic(); } private function displayLevelMap(_arg1:NavigationEvent):void{ levelSelectScreen = new LevelSelectScreen(this, this); levelSelectScreen.addEventListener(NavigationEvent.MAINMENU, displayIntroScreen); trace("RECEIVED"); } private function startGame(_arg1:NavigationEvent):void{ levelSelectScreen = new LevelSelectScreen(this, this); levelSelectScreen.addEventListener(NavigationEvent.MAINMENU, displayIntroScreen); trace("RECEIVED"); } private function nextLevel(_arg1:NavigationEvent):void{ trace(_arg1.target); levelNum++; playLevel(levelNum); } private function freeModeStart(_arg1:NavigationEvent):void{ if (gamePlay){ if (gamePlay.parent){ gamePlay.parent.removeChild(gamePlay); }; }; gamePlay = new Gameplay(this, true); gamePlay.addEventListener(NavigationEvent.GAMEOVER, displayGameOver); gamePlay.addEventListener(NavigationEvent.MAINMENU, displayIntroScreen); gamePlay.addEventListener(NavigationEvent.GAMEWIN, displayGameWin); } private function displayInstructions(_arg1:NavigationEvent):void{ instructions = new Instructions(this); instructions.addEventListener(NavigationEvent.STARTGAME, startGame); instructions.addEventListener(NavigationEvent.MAINMENU, displayIntroScreen); } private function displayGameWin(_arg1:NavigationEvent):void{ trace("GAMEWIN"); gameWinScreen = new GameWin(this); gameWinScreen.addEventListener(NavigationEvent.MAINMENU, displayIntroScreen); } public function playLevel(_arg1){ this.levelNum = _arg1; gamePlay = new Gameplay(this, false, _arg1); gamePlay.addEventListener(NavigationEvent.GAMEOVER, displayGameOver); gamePlay.addEventListener(NavigationEvent.NEXTLEVEL, nextLevel); gamePlay.addEventListener(NavigationEvent.LEVELMAP, displayLevelMap); gamePlay.addEventListener(NavigationEvent.GAMEWIN, displayGameWin); if (levelSelectScreen.parent){ levelSelectScreen.parent.removeChild(levelSelectScreen); }; } private function creditsDisplay(_arg1:NavigationEvent):void{ credits = new Credits(this); credits.addEventListener(NavigationEvent.STARTGAME, startGame); credits.addEventListener(NavigationEvent.MAINMENU, displayIntroScreen); } private function displayIntroScreen(_arg1:NavigationEvent):void{ introscreen = new Introscreen(this); introscreen.addEventListener(NavigationEvent.STARTGAME, startGame); introscreen.addEventListener(NavigationEvent.INSTRUCTIONS, displayInstructions); introscreen.addEventListener(NavigationEvent.FREEMODE, freeModeStart); introscreen.addEventListener(NavigationEvent.CREDITS, creditsDisplay); stopMenuMusic(); playMenuMusic(); } private function displayGameOver(_arg1:NavigationEvent):void{ gameOver = null; gameOver = new Gameover(this, this); gameOver.addEventListener(NavigationEvent.MAINMENU, displayIntroScreen); } public static function stopMenuMusic(){ menuMusicChannel.stop(); } public static function playMenuMusic(){ if (soundFlag){ menuMusic = new MenuMusic(); menuMusicChannel = menuMusic.play(0, 1000); }; } } }//package
Section 64
//FrosmoSplash (FrosmoSplash) package { import flash.display.*; public dynamic class FrosmoSplash extends SimpleButton { } }//package
Section 65
//Gameover (Gameover) package { import flash.events.*; import flash.display.*; import mochi.as3.*; import flash.text.*; import flash.filters.*; import com.mindjolt.api.as3.*; public class Gameover extends MovieClip { private var colorMatrix:ColorMatrix; public var restart:RestartButton; public var backB:BackButton; public var score:TextField; private var colorMatrixColors:Number;// = -100 private var main:Frosmomatch; public function Gameover(_arg1:DisplayObjectContainer, _arg2:Frosmomatch){ colorMatrixColors = -100; super(); _arg1.addChild(this); this.main = _arg2; if (Frosmomatch.freeModePlayedLast){ MindJoltAPI.service.submitScore(ScoreManager.score); SimpleButton(restart).visible = false; }; backB.addEventListener(MouseEvent.CLICK, backClicked); restart.addEventListener(MouseEvent.CLICK, restartClicked); addEventListener(Event.ENTER_FRAME, enterStage); colorMatrix = new ColorMatrix(); colorMatrix.adjustSaturation(-100); colorMatrix.adjustContrast(1); colorMatrix.adjustBrightness(1); filters = [new ColorMatrixFilter(colorMatrix)]; alpha = 0.1; this.score.text = (" " + ScoreManager.score); } private function enterStage(_arg1:Event):void{ alpha = (alpha + 0.05); colorMatrix = new ColorMatrix(); if (colorMatrixColors < 0){ colorMatrixColors = (colorMatrixColors + (1 + ((100 - colorMatrixColors) / 32))); trace(colorMatrixColors); } else { removeEventListener(Event.ENTER_FRAME, enterStage); }; colorMatrix.adjustSaturation(colorMatrixColors); filters = [new ColorMatrixFilter(colorMatrix)]; } private function restartClicked(_arg1:MouseEvent):void{ parent.removeChild(this); main.playLevel(main.levelNum); } private function backClicked(_arg1:MouseEvent):void{ trace("CLICKED"); parent.removeChild(this); dispatchEvent(new NavigationEvent(NavigationEvent.MAINMENU)); } } }//package
Section 66
//Gameplay (Gameplay) package { import flash.events.*; import flash.display.*; import utils.*; import flash.media.*; public class Gameplay extends MovieClip { private var colorMatrix:ColorMatrix; public var obstacleArray:Array; private var collisionChecker:Collision; public var soundButton:SoundButton; private var collisionManager:CollisionManager; private var BG:MovieClip; public var levelNum:Number; private var specialBallCatchedScoreMultiplier:Number;// = 2 public var freeMode:Boolean; public var colorFlag;// = true private var levelManager:LevelManager; public var bonusManager:BonusManager; private var numberOfBallTypes:Number;// = 3 public var backgroundManager:BackgroundManager; private var colorMatrixColors:Number;// = -100 public var soundManager:SoundManager; private var BGIndex:Number; public var scoreManager:ScoreManager; public var bumperArray:Array; private var fpsCounter:FPSCounter; private var levelIntroScreen:LevelIntroScreen; public var freeplayManager:FreeplayManager; public static var hero:Hero; public static var firstWorldMusic:Sound; public static var gamePlayOn:Boolean; public static var forestChannel:SoundChannel; public static var firstWorldMusicChannel:SoundChannel; public static var ballHolder:Array = []; public static var powerUpManager:PowerupManager; public static var levelNumStatic:Number; public static var forest:Sound; public function Gameplay(_arg1:DisplayObjectContainer, _arg2:Boolean, _arg3:Number=1){ colorMatrixColors = -100; colorFlag = true; obstacleArray = []; bumperArray = []; numberOfBallTypes = 3; specialBallCatchedScoreMultiplier = 2; super(); gamePlayOn = true; Frosmomatch.stopMenuMusic(); _arg1.addChild(this); trace(_arg3); this.levelNum = _arg3; levelNumStatic = _arg3; this.freeMode = _arg2; if (Frosmomatch.soundFlag){ playTheme(_arg3); }; backgroundManager = new BackgroundManager(this, this); if (!_arg2){ Frosmomatch.freeModePlayedLast = false; levelIntroScreen = new LevelIntroScreen(this, 150, 40, _arg3); levelIntroScreen.addEventListener(NavigationEvent.STARTGAME, initGame); } else { Frosmomatch.freeModePlayedLast = true; init(); }; } private function dispatchNextLevel(_arg1:NavigationEvent):void{ if (parent){ parent.removeChild(this); }; dispatchEvent(new NavigationEvent(NavigationEvent.NEXTLEVEL)); } private function init():void{ hero = new Hero(this, 100, 470, ballHolder); collisionChecker = new Collision(); bonusManager = new BonusManager(this, this); powerUpManager = new PowerupManager(this, this); collisionManager = new CollisionManager(this, ballHolder, hero, this, obstacleArray); scoreManager = new ScoreManager(this, levelNum, this); scoreManager.addEventListener(NavigationEvent.GAMEOVER, gameOverPrepare); scoreManager.addEventListener(NavigationEvent.LEVELPASSED, levelPassed); scoreManager.initStaticVariables(); soundManager = new SoundManager(this, this); soundButton = new SoundButton(this, 565, 32); if (freeMode){ freeplayManager = new FreeplayManager(this, 0, 0, powerUpManager, obstacleArray, ballHolder, hero, scoreManager); } else { levelManager = new LevelManager(scoreManager, this, ballHolder, hero, powerUpManager, this); levelManager.initLevel(levelNum); }; collisionManager.addEventListener(NavigationEvent.GAMEOVER, gameover); hero.addEventListener(BallEvent.CREATE0, createBall0); hero.addEventListener(BallEvent.CREATE1, createBall1); hero.addEventListener(BallEvent.CREATE2, createBall2); hero.addEventListener(BallEvent.CREATE3, createBall3); hero.addEventListener(BallEvent.SPECIALCATCHED, specialBallCatched); addEventListener(BallEvent.ENABLECATCH, enableCatch); addEventListener(Event.ENTER_FRAME, onEnterFrame); } private function initGame(_arg1:NavigationEvent):void{ init(); } private function levelPassed(_arg1:NavigationEvent):void{ var _local2:*; var _local3:LevelPassedScreen; gamePlayOn = false; trace(levelNum); if (forestChannel){ forestChannel.stop(); }; if (firstWorldMusicChannel){ firstWorldMusicChannel.stop(); }; levelManager.levelPassed(); removeListeners(); _local2 = 0; while (_local2 < ballHolder.length) { ballHolder[_local2].removeEventListener(Event.ENTER_FRAME, Ball(ballHolder[_local2]).chkStartingCollision); _local2++; }; while (ballHolder.length > 0) { ballHolder[0].remove(ballHolder); }; removeManagers(); if (parent){ }; trace(levelNum); if (levelNum < 15){ _local3 = new LevelPassedScreen(this, 0, 0); _local3.addEventListener(NavigationEvent.NEXTLEVEL, dispatchNextLevel); _local3.addEventListener(NavigationEvent.LEVELMAP, dispatchLevelMap); } else { if (parent){ parent.removeChild(this); }; trace("GAMEPLAY DISPATCH"); dispatchEvent(new NavigationEvent(NavigationEvent.GAMEWIN)); }; } private function specialBallCatched(_arg1:BallEvent):void{ bonusManager.specialCatchedWhileXInPlay(ballHolder.length); scoreManager.updateScore((specialBallCatchedScoreMultiplier * 5)); scoreManager.updateEnergy(scoreManager.energyPlus, specialBallCatchedScoreMultiplier); } public function removeManagers():void{ var _local1:*; trace(powerUpManager); trace(hero); trace(collisionManager); trace(levelManager); powerUpManager.remove(); hero.remove(); collisionManager.remove(); if (levelManager){ levelManager.remove(); levelManager = null; }; if (freeplayManager){ freeplayManager.remove(); freeplayManager = null; }; hero = null; collisionManager = null; powerUpManager = null; _local1 = 0; while (_local1 < numChildren) { trace(getChildAt(_local1)); _local1++; }; } public function spawnRandomBall():void{ var _local1:Number; var _local2:Ball; _local1 = Math.floor((Math.random() * numberOfBallTypes)); if (_local1 == 0){ _local2 = new Ball1(scoreManager, this, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 1, 1); _local2.state = 1; ballHolder.push(_local2); } else { if (_local1 == 1){ _local2 = new Ball2(scoreManager, this, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 2, 1); _local2.state = 1; ballHolder.push(_local2); } else { if (_local1 == 2){ _local2 = new Ball3(scoreManager, this, (Math.random() * stage.width), (Math.random() * stage.height), ((Math.random() * 90) - 90), 10, 3, 1); _local2.state = 1; ballHolder.push(_local2); }; }; }; } public function removeListeners():void{ removeEventListener(Event.ENTER_FRAME, onEnterFrame); collisionManager.removeEventListener(NavigationEvent.GAMEOVER, gameover); hero.removeEventListener(BallEvent.CREATE0, createBall0); hero.removeEventListener(BallEvent.CREATE1, createBall1); hero.removeEventListener(BallEvent.CREATE2, createBall2); hero.removeEventListener(BallEvent.CREATE3, createBall3); hero.removeEventListener(BallEvent.SPECIALCATCHED, specialBallCatched); removeEventListener(BallEvent.ENABLECATCH, enableCatch); } private function gameOverPrepare(_arg1:NavigationEvent):void{ var _local2:*; removeListeners(); _local2 = 0; while (_local2 < ballHolder.length) { ballHolder[_local2].removeEventListener(Event.ENTER_FRAME, Ball(ballHolder[_local2]).chkStartingCollision); _local2++; }; while (ballHolder.length > 0) { ballHolder[0].remove2(ballHolder); }; removeManagers(); backgroundManager.fade(); scoreManager.removeEventListener(NavigationEvent.GAMEOVER, gameOverPrepare); backgroundManager.addEventListener(NavigationEvent.GAMEOVER, gameover); } private function clearObstacles():void{ while (obstacleArray.length > 0) { obstacleArray[0].remove(obstacleArray); }; while (bumperArray.length > 0) { bumperArray[0].remove(bumperArray); }; } private function removeMarkedBalls():void{ var _local1:*; var _local2:Ball; _local1 = 0; while (_local1 < ballHolder.length) { _local2 = ballHolder[_local1]; if (_local2.markForDeletion){ _local2.state = -2; _local2.markForDeletion = false; _local2.exitStage(); trace("NEW"); if (colorFlag){ backgroundManager.colorIt(); }; }; _local1++; }; } private function createBall2(_arg1:BallEvent):void{ var _local2:Ball; _local2 = new Ball2(scoreManager, this, hero.x, (hero.y - 20), (hero.rotation - 90), hero.getShootingStrength()); ballHolder.push(_local2); bonusManager.init(); } private function createBall0(_arg1:BallEvent):void{ var _local2:Ball; _local2 = new BallSpecial(scoreManager, this, hero.x, (hero.y - 20), (hero.rotation - 90), hero.getShootingStrength()); ballHolder.push(_local2); hero.specialBallUsed(); bonusManager.init(); bonusManager.specialCatchedSet(); } private function createBall3(_arg1:BallEvent):void{ var _local2:Ball; _local2 = new Ball3(scoreManager, this, hero.x, (hero.y - 20), (hero.rotation - 90), hero.getShootingStrength()); ballHolder.push(_local2); bonusManager.init(); } private function onEnterFrame(_arg1:Event):void{ if (collisionManager){ collisionManager.checkCollisions(); }; if (scoreManager){ scoreManager.onFrame(); }; removeMarkedBalls(); if ((((freeMode == false)) && (scoreManager))){ }; } public function removeBall(_arg1:Ball){ var _local2:*; _local2 = 0; while (_local2 < ballHolder.length) { if (_arg1 == ballHolder[_local2]){ _arg1.parent.removeChild(_arg1); ballHolder.splice(_local2, 1); }; _local2++; }; } private function createBall1(_arg1:BallEvent):void{ var _local2:Ball1; _local2 = new Ball1(scoreManager, this, hero.x, (hero.y - 20), (hero.rotation - 90), hero.getShootingStrength()); ballHolder.push(_local2); bonusManager.init(); } private function gameover(_arg1:NavigationEvent):void{ var _local2:*; gamePlayOn = false; if (forestChannel){ forestChannel.stop(); }; if (firstWorldMusicChannel){ firstWorldMusicChannel.stop(); }; if (parent){ parent.removeChild(this); }; dispatchEvent(new NavigationEvent(NavigationEvent.GAMEOVER)); clearObstacles(); trace(numChildren); _local2 = 0; while (_local2 < numChildren) { trace(getChildAt(_local2)); _local2++; }; } private function dispatchLevelMap(_arg1:NavigationEvent):void{ if (parent){ parent.removeChild(this); }; dispatchEvent(new NavigationEvent(NavigationEvent.LEVELMAP)); } private function enableCatch(_arg1:BallEvent):void{ hero.enableCatching(); } public static function playTheme(_arg1:Number):void{ var _local2:SoundTransform; _local2 = new SoundTransform(0.3); if (_arg1 < 11){ firstWorldMusic = new MainTheme(); forest = new Forest(); _local2.volume = 1; } else { forest = new MainTheme(); }; forestChannel = forest.play(0, 1000); forestChannel.soundTransform = _local2; _local2.volume = 0.3; if (firstWorldMusic){ firstWorldMusicChannel = firstWorldMusic.play(0, 1000); firstWorldMusicChannel.soundTransform = _local2; }; } } }//package
Section 67
//GameplayBG1 (GameplayBG1) package { import flash.display.*; public class GameplayBG1 extends MovieClip { } }//package
Section 68
//GameplayBG2 (GameplayBG2) package { import flash.display.*; public class GameplayBG2 extends MovieClip { } }//package
Section 69
//GameplayBG3 (GameplayBG3) package { import flash.display.*; public class GameplayBG3 extends MovieClip { } }//package
Section 70
//GameplayBG4 (GameplayBG4) package { import flash.display.*; public class GameplayBG4 extends MovieClip { } }//package
Section 71
//GameWin (GameWin) package { import flash.events.*; import flash.display.*; public class GameWin extends MovieClip { public var menuB:BackButton; public function GameWin(_arg1:DisplayObjectContainer){ _arg1.addChild(this); menuB.addEventListener(MouseEvent.CLICK, menuClicked); addEventListener(Event.ENTER_FRAME, enterStage); alpha = 0; if (Frosmomatch.soundFlag){ Frosmomatch.playMenuMusic(); }; } private function enterStage(_arg1:Event):void{ alpha = (alpha + 0.05); if (alpha >= 1){ removeEventListener(Event.ENTER_FRAME, enterStage); }; } private function menuClicked(_arg1:MouseEvent):void{ if (parent){ parent.removeChild(this); }; dispatchEvent(new NavigationEvent(NavigationEvent.MAINMENU)); } } }//package
Section 72
//Good (Good) package { import flash.media.*; public dynamic class Good extends Sound { } }//package
Section 73
//Hero (Hero) package { import flash.events.*; import flash.display.*; import flash.ui.*; public class Hero extends MovieClip { private var rotationAngle:Number;// = 60 private var counter:Number;// = 0 private var ballToFire:Number;// = 1 private var velocityAdder:Number;// = 8 private var collision:Collision; private var velocityCounter:Number;// = 0 private var animationState:String;// = "Idle" private var mouseControls;// = true private var ballHolder:Array; private var nextBall:Ball; private var velocity:Number;// = 8 private var enterCatchModeTimer:Number;// = 5 public function Hero(_arg1:DisplayObjectContainer, _arg2:Number, _arg3:Number, _arg4:Array){ rotationAngle = 60; counter = 0; ballToFire = 1; enterCatchModeTimer = 5; velocity = 8; velocityAdder = 8; velocityCounter = 0; animationState = "Idle"; mouseControls = true; super(); addFrameScript(0, frame1, 1, frame2); _arg1.addChild(this); this.x = _arg2; this.y = _arg3; this.ballHolder = _arg4; mouseEnabled = false; collision = new Collision(); stage.addEventListener(MouseEvent.CLICK, mouseClickedFirstTime); addEventListener(Event.ENTER_FRAME, onEnterFrame); stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown); stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp); stage.focus = stage; } private function catchMode(_arg1:Event):void{ var _local2:Array; var _local3:*; var _local4:Ball; _local2 = Gameplay.ballHolder; y = 470; _local3 = 0; while (_local3 < _local2.length) { _local4 = _local2[_local3]; if (collision.isColliding(this, _local4)){ trace("COLLISION"); if ((((_local4.state == 0)) && (_local4.catchFlag))){ _local4.remove(_local2); if (_local4.ballType != 0){ dispatchEvent(new BallEvent(BallEvent.SPECIALCATCHED)); }; ballToFire = 0; nextBallToFire(_local2); enableShooting(); }; }; _local3++; }; } private function enterCatchMode(_arg1:Event):void{ enterCatchModeTimer--; if (enterCatchModeTimer <= 0){ removeEventListener(Event.ENTER_FRAME, enterCatchMode); addEventListener(Event.ENTER_FRAME, catchMode); }; } public function enableShooting():void{ this.y = 470; nextBallToFire(ballHolder); removeEventListener(Event.ENTER_FRAME, catchMode); stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); } public function nextBallToFire2(_arg1:Ball){ ballToFire = _arg1.ballType; } private function mouseUpHandler(_arg1:MouseEvent):void{ mouseControls = true; if (SoundButton.soundOver){ return; }; mouseClickedAction(); removeEventListener(Event.ENTER_FRAME, setShootingStrength); stage.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); stage.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); } private function moveKeyboard():void{ } public function specialBallUsed():void{ ballToFire = Math.ceil((Math.random() * 3)); } private function mouseDownHandler(_arg1:MouseEvent):void{ addEventListener(Event.ENTER_FRAME, setShootingStrength); velocityCounter = 0; } public function prepareNextBallToFire(_arg1:Number){ if (nextBall){ (nextBall == null); if (nextBall.parent){ removeChild(nextBall); }; }; if (_arg1 == 0){ nextBall = new BallSpecial(null, this, 0, -30, 0, 0); }; if (_arg1 == 1){ nextBall = new Ball1(null, this, 0, -30, 0, 0, 1, -1); }; if (_arg1 == 2){ nextBall = new Ball2(null, this, 0, -30, 0, 0, 2, -1); }; if (_arg1 == 3){ nextBall = new Ball3(null, this, 0, -30, 0, 0, 3, -1); }; } function frame1(){ stop(); } private function moveLeft(_arg1:Event):void{ if (x > 0){ x = (x - (2 + ((x - 0) / 64))); rotation = (rotation - 0.7); }; } public function nextBallToFire(_arg1:Array, _arg2:Boolean=false):void{ var _local3:Array; var _local4:*; var _local5:Number; var _local6:Ball; var _local7:Ball; _local3 = new Array(); _local4 = 0; while (_local4 < _arg1.length) { _local7 = _arg1[_local4]; if (_local7.markForDeletion == false){ _local3.push(_local7); }; _local4++; }; _local5 = (Math.ceil((Math.random() * _local3.length)) - 1); _local6 = _local3[_local5]; trace(("TMPBALLIDX: " + _local6.ballType)); if (ballToFire != 0){ ballToFire = _local6.ballType; }; if (_arg2){ specialBallUsed(); }; prepareNextBallToFire(ballToFire); } public function remove():void{ removeEventListener(Event.ENTER_FRAME, onEnterFrame); stage.removeEventListener(MouseEvent.CLICK, mouseClicked); stage.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); stage.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); nextBall = null; parent.removeChild(this); } function frame2(){ stop(); } private function mouseClickedFirstTime(_arg1:MouseEvent):void{ stage.removeEventListener(MouseEvent.CLICK, mouseClickedFirstTime); stage.addEventListener(MouseEvent.CLICK, mouseClicked); } private function animChoose(){ if (((((stage.mouseX - x) > 20)) && (!((animationState == "RunR"))))){ gotoAndStop("RunR"); animationState = "RunR"; } else { if (((((stage.mouseX - x) < -20)) && (!((animationState == "RunL"))))){ gotoAndStop("RunL"); animationState = "RunL"; } else { if (((((((stage.mouseX - x) > -20)) && (((stage.mouseX - x) <= 20)))) && (!((animationState == "Catch"))))){ gotoAndStop("Catch"); animationState = "Catch"; }; }; }; } private function mouseClickedAction():void{ if (ballToFire == 0){ dispatchEvent(new BallEvent(BallEvent.CREATE0)); trace("Special fired"); } else { if (nextBall.ballType == 1){ dispatchEvent(new BallEvent(BallEvent.CREATE1)); trace("1Fired"); } else { if (nextBall.ballType == 2){ dispatchEvent(new BallEvent(BallEvent.CREATE2)); trace("2Fired"); } else { if (nextBall.ballType == 3){ dispatchEvent(new BallEvent(BallEvent.CREATE3)); trace("3Fired"); }; }; }; }; if (nextBall){ (nextBall == null); removeChild(nextBall); }; } public function getShootingStrength(){ return (velocity); } private function setShootingStrength(_arg1:Event):void{ velocityCounter++; velocity = (velocityAdder * 2.5); } private function onKeyUp(_arg1:KeyboardEvent):void{ removeEventListener(Event.ENTER_FRAME, moveLeft); removeEventListener(Event.ENTER_FRAME, moveRight); gotoAndStop("Catch"); rotation = 0; } private function onKeyDown(_arg1:KeyboardEvent):void{ var _local2:*; if (_arg1.keyCode == Keyboard.LEFT){ mouseControls = false; addEventListener(Event.ENTER_FRAME, moveLeft); gotoAndStop("RunL"); } else { if (_arg1.keyCode == Keyboard.RIGHT){ addEventListener(Event.ENTER_FRAME, moveRight); mouseControls = false; gotoAndStop("RunR"); } else { if (_arg1.keyCode == Keyboard.SPACE){ _local2 = 0; while (_local2 < Gameplay.ballHolder.length) { if (Ball(Gameplay.ballHolder[_local2]).state < 1){ return; }; _local2++; }; velocity = 20; mouseClickedAction(); }; }; }; } private function onEnterFrame(_arg1:Event):void{ if (mouseControls){ move(); } else { moveKeyboard(); }; } private function mouseClicked(_arg1:MouseEvent):void{ stage.removeEventListener(MouseEvent.CLICK, mouseClicked); } private function move():void{ var _local1:Number; var _local2:Number; var _local3:Number; _local1 = (stage.mouseY - y); _local2 = (stage.mouseX - x); _local3 = Math.atan2(_local1, _local2); animChoose(); x = (x + ((stage.mouseX - x) * 0.07)); rotation = (((_local3 * 180) / Math.PI) + 90); if (rotation > 75){ rotation = 75; }; if (rotation < -75){ rotation = -75; }; counter++; } private function moveRight(_arg1:Event):void{ if (x < 600){ x = (x + (2 + ((600 - x) / 64))); rotation = (rotation + 0.7); }; } public function enableCatching():void{ enterCatchModeTimer = 15; addEventListener(Event.ENTER_FRAME, enterCatchMode); } } }//package
Section 74
//Instructions (Instructions) package { import flash.events.*; import flash.display.*; public class Instructions extends MovieClip { private var next:SimpleButton; public var startB:StartButton; public var backB:BackB; private var menu:SimpleButton; private var start:SimpleButton; public var nextB:NextButton; public var menuB:BackButton; private var back:SimpleButton; public function Instructions(_arg1:DisplayObjectContainer){ _arg1.addChild(this); startB.addEventListener(MouseEvent.CLICK, startClicked); menuB.addEventListener(MouseEvent.CLICK, menuClicked); nextB.addEventListener(MouseEvent.CLICK, nextClicked); backB.addEventListener(MouseEvent.CLICK, backClicked); next = SimpleButton(nextB); start = SimpleButton(startB); back = SimpleButton(backB); menu = SimpleButton(menuB); start.visible = false; back.visible = false; gotoAndStop(1); addEventListener(Event.ENTER_FRAME, enterStage); alpha = 0; } private function enterStage(_arg1:Event):void{ alpha = (alpha + 0.05); if (alpha >= 1){ removeEventListener(Event.ENTER_FRAME, enterStage); }; } private function startClicked(_arg1:MouseEvent):void{ parent.removeChild(this); dispatchEvent(new NavigationEvent(NavigationEvent.STARTGAME)); } private function nextClicked(_arg1:MouseEvent):void{ gotoAndStop((currentFrame + 1)); if (currentFrame == 2){ next.visible = true; start.visible = false; menu.visible = false; back.visible = true; }; if (currentFrame == 3){ start.visible = true; next.visible = false; }; } private function menuClicked(_arg1:MouseEvent):void{ parent.removeChild(this); dispatchEvent(new NavigationEvent(NavigationEvent.MAINMENU)); } private function backClicked(_arg1:MouseEvent):void{ gotoAndStop((currentFrame - 1)); if (currentFrame == 2){ next.visible = true; start.visible = false; menu.visible = false; back.visible = true; }; if (currentFrame == 1){ start.visible = false; back.visible = false; next.visible = true; menu.visible = true; }; } } }//package
Section 75
//InstructionsBut (InstructionsBut) package { import flash.display.*; public dynamic class InstructionsBut extends SimpleButton { } }//package
Section 76
//InstructionsButton (InstructionsButton) package { import flash.display.*; public dynamic class InstructionsButton extends SimpleButton { } }//package
Section 77
//Introscreen (Introscreen) package { import flash.events.*; import flash.display.*; public class Introscreen extends MovieClip { public var freemodeB:FreeModeBut; private var soundButton:SoundButton; public var startB:StartButton2; public var instructionsB:InstructionsBut; public var logo:FrosmoLogo; public var creditsB:CreditsButton; public function Introscreen(_arg1:DisplayObjectContainer){ _arg1.addChild(this); startB.addEventListener(MouseEvent.CLICK, startClicked); instructionsB.addEventListener(MouseEvent.CLICK, instructionsClicked); freemodeB.addEventListener(MouseEvent.CLICK, freeModeClicked); logo.addEventListener(MouseEvent.CLICK, logoClicked); creditsB.addEventListener(MouseEvent.CLICK, creditsClicked); soundButton = new SoundButton(this, 550, 25); addEventListener(Event.ENTER_FRAME, enterStage); alpha = 0; } private function enterStage(_arg1:Event):void{ alpha = (alpha + 0.05); if (alpha >= 1){ removeEventListener(Event.ENTER_FRAME, enterStage); }; } private function logoClicked(_arg1:MouseEvent):void{ } private function creditsClicked(_arg1:MouseEvent):void{ parent.removeChild(this); dispatchEvent(new NavigationEvent(NavigationEvent.CREDITS)); } private function startClicked(_arg1:MouseEvent):void{ parent.removeChild(this); dispatchEvent(new NavigationEvent(NavigationEvent.STARTGAME)); } private function instructionsClicked(_arg1:MouseEvent):void{ parent.removeChild(this); dispatchEvent(new NavigationEvent(NavigationEvent.INSTRUCTIONS)); } private function freeModeClicked(_arg1:MouseEvent):void{ parent.removeChild(this); dispatchEvent(new NavigationEvent(NavigationEvent.FREEMODE)); } } }//package
Section 78
//IronBall (IronBall) package { import flash.events.*; import flash.display.*; public class IronBall extends MovieClip { private var gameplay:Gameplay; private var collision:Collision; private var downBoundry:Number;// = 50 public var radius:Number; private var newY:Number; public var vx:Number; public var vy:Number; private var newX:Number; public function IronBall(_arg1:DisplayObjectContainer, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Gameplay){ downBoundry = 50; super(); _arg1.addChild(this); this.x = _arg2; this.y = _arg3; this.gameplay = _arg6; this.vx = (1.5 * _arg4); this.vy = (1.5 * _arg5); this.radius = (width / 2); collision = new Collision(); addEventListener(Event.ENTER_FRAME, onEnterFrame); } private function chkCollision():void{ var _local1:*; var _local2:Ball; _local1 = 0; while (_local1 < Gameplay.ballHolder.length) { _local2 = Gameplay.ballHolder[_local1]; if (((collision.isColliding(_local2, this)) && ((Gameplay.ballHolder.length > 2)))){ gameplay.scoreManager.updateScore(_local2.getMultiplier()); _local2.remove(Gameplay.ballHolder); gameplay.scoreManager.updateEnergy(10); }; _local1++; }; } public function onEnterFrame(_arg1:Event):void{ move(); chkCollision(); } private function move():void{ vx = (vx * 0.997); vy = (vy * 0.997); newX = (x + vx); newY = (y + vy); if ((newX + radius) > stage.stageWidth){ vx = (vx * -1); newX = (stage.stageWidth - radius); } else { if ((newX - radius) < 0){ vx = (vx * -1); newX = radius; }; }; if ((newY + radius) > (stage.stageHeight - downBoundry)){ vy = (vy * -1); newY = ((stage.stageHeight - downBoundry) - radius); } else { if ((newY - radius) < 0){ vy = (vy * -1); newY = radius; }; }; x = newX; y = newY; } } }//package
Section 79
//kaboob (kaboob) package { import flash.display.*; public dynamic class kaboob extends MovieClip { public function kaboob(){ addFrameScript(70, frame71); } function frame71(){ stop(); } } }//package
Section 80
//Level10Icon (Level10Icon) package { import flash.display.*; public dynamic class Level10Icon extends MovieClip { public function Level10Icon(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame3(){ stop(); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 81
//Level11Icon (Level11Icon) package { import flash.display.*; public dynamic class Level11Icon extends MovieClip { public function Level11Icon(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame3(){ stop(); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 82
//Level12Icon (Level12Icon) package { import flash.display.*; public dynamic class Level12Icon extends MovieClip { public function Level12Icon(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame3(){ stop(); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 83
//Level13Icon (Level13Icon) package { import flash.display.*; public dynamic class Level13Icon extends MovieClip { public function Level13Icon(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame3(){ stop(); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 84
//Level14Icon (Level14Icon) package { import flash.display.*; public dynamic class Level14Icon extends MovieClip { public function Level14Icon(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame3(){ stop(); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 85
//Level15Icon (Level15Icon) package { import flash.display.*; public dynamic class Level15Icon extends MovieClip { public function Level15Icon(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame3(){ stop(); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 86
//Level16Icon (Level16Icon) package { import flash.display.*; public dynamic class Level16Icon extends MovieClip { public function Level16Icon(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame3(){ stop(); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 87
//Level17Icon (Level17Icon) package { import flash.display.*; public dynamic class Level17Icon extends MovieClip { public function Level17Icon(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame3(){ stop(); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 88
//Level18Icon (Level18Icon) package { import flash.display.*; public dynamic class Level18Icon extends MovieClip { public function Level18Icon(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame3(){ stop(); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 89
//Level19Icon (Level19Icon) package { import flash.display.*; public dynamic class Level19Icon extends MovieClip { public function Level19Icon(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame3(){ stop(); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 90
//Level1Icon (Level1Icon) package { import flash.display.*; public dynamic class Level1Icon extends MovieClip { } }//package
Section 91
//Level20Icon (Level20Icon) package { import flash.display.*; public dynamic class Level20Icon extends MovieClip { public function Level20Icon(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame3(){ stop(); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 92
//Level2Icon (Level2Icon) package { import flash.display.*; public dynamic class Level2Icon extends MovieClip { public function Level2Icon(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame3(){ stop(); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 93
//Level3Icon (Level3Icon) package { import flash.display.*; public dynamic class Level3Icon extends MovieClip { public function Level3Icon(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame3(){ stop(); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 94
//Level4Icon (Level4Icon) package { import flash.display.*; public dynamic class Level4Icon extends MovieClip { public function Level4Icon(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame3(){ stop(); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 95
//Level5Icon (Level5Icon) package { import flash.display.*; public dynamic class Level5Icon extends MovieClip { public function Level5Icon(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame3(){ stop(); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 96
//Level6Icon (Level6Icon) package { import flash.display.*; public dynamic class Level6Icon extends MovieClip { public function Level6Icon(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame3(){ stop(); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 97
//Level7Icon (Level7Icon) package { import flash.display.*; public dynamic class Level7Icon extends MovieClip { public function Level7Icon(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame3(){ stop(); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 98
//Level8Icon (Level8Icon) package { import flash.display.*; public dynamic class Level8Icon extends MovieClip { public function Level8Icon(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame3(){ stop(); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 99
//Level9Icon (Level9Icon) package { import flash.display.*; public dynamic class Level9Icon extends MovieClip { public function Level9Icon(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } function frame3(){ stop(); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 100
//LevelData (LevelData) package { public class LevelData { public static var powerups:Array; public static var balls:Array; public static var obstacles:Array; public static var neededScore:Array; public function LevelData(){ initObstacles(); initBalls(); initPowerups(); neededScore = [0, 10000, 15000, 20000, 40000, 120000, 80000, 150000, 200000, 150000, 250000, 75000, 300000, 150000, 300000, 400000]; } private function initPowerups():void{ powerups = []; powerups[3] = new Array(); powerups[3][0] = [4, 300, 300, 0]; powerups[3][1] = [4, 400, 350, 1200]; powerups[3][2] = [4, 100, 300, 2400]; powerups[4] = new Array(); powerups[4][0] = [3, 100, 300, 0]; powerups[7] = new Array(); powerups[7][0] = [2, 300, 300, 0]; powerups[7][1] = [2, 400, 350, 1200]; powerups[7][2] = [2, 100, 300, 2400]; powerups[7][3] = [2, 300, 300, 3600]; powerups[8] = new Array(); powerups[8][0] = [2, 300, 300, 0]; powerups[8][1] = [2, 400, 350, 2000]; powerups[8][2] = [2, 100, 300, 4000]; powerups[8][3] = [2, 300, 300, 6000]; powerups[9] = new Array(); powerups[9][0] = [2, 300, 300, 1000]; powerups[9][1] = [3, 400, 350, 3200]; powerups[9][2] = [2, 100, 300, 5400]; powerups[9][3] = [3, 300, 300, 7600]; powerups[10] = new Array(); powerups[10][0] = [3, 300, 300, 1000]; powerups[10][1] = [3, 400, 350, 3200]; powerups[10][2] = [2, 100, 300, 5400]; powerups[10][3] = [3, 300, 300, 7600]; powerups[11] = new Array(); powerups[11][0] = [4, 300, 300, 1000]; powerups[11][1] = [3, 400, 350, 2200]; powerups[11][2] = [2, 100, 300, 3400]; powerups[11][3] = [4, 300, 300, 4600]; powerups[11][4] = [3, 300, 300, 6000]; powerups[11][5] = [2, 400, 350, 7200]; powerups[11][6] = [4, 100, 300, 8400]; powerups[11][7] = [3, 300, 300, 9600]; powerups[12] = new Array(); powerups[12][0] = [4, 300, 300, 0]; powerups[12][1] = [4, 400, 350, 1200]; powerups[12][2] = [4, 100, 300, 2400]; powerups[12][3] = [4, 300, 300, 4800]; powerups[12][4] = [3, 300, 300, 6000]; powerups[12][5] = [2, 400, 350, 7200]; powerups[12][6] = [4, 100, 300, 8400]; powerups[12][7] = [3, 300, 300, 9600]; powerups[13] = new Array(); powerups[13][0] = [2, 300, 300, 1000]; powerups[13][1] = [3, 400, 350, 2200]; powerups[13][2] = [2, 100, 300, 3400]; powerups[13][3] = [3, 300, 300, 4600]; powerups[13][4] = [2, 300, 300, 5800]; powerups[13][5] = [3, 400, 350, 7000]; powerups[13][6] = [2, 100, 300, 8200]; powerups[13][7] = [3, 300, 300, 9400]; powerups[14] = new Array(); powerups[14][0] = [2, 300, 300, 1000]; powerups[14][1] = [3, 400, 350, 2200]; powerups[14][2] = [2, 100, 300, 3400]; powerups[14][3] = [3, 300, 300, 4600]; powerups[14][4] = [2, 300, 300, 5800]; powerups[14][5] = [3, 400, 350, 7000]; powerups[14][6] = [2, 100, 300, 8200]; powerups[14][7] = [3, 300, 300, 9400]; powerups[15] = new Array(); powerups[15][0] = [4, 300, 300, 1000]; powerups[15][1] = [3, 400, 350, 2200]; powerups[15][2] = [2, 100, 300, 3400]; powerups[15][3] = [4, 300, 300, 4600]; powerups[15][4] = [2, 300, 300, 5800]; powerups[15][5] = [3, 400, 350, 7000]; powerups[15][6] = [2, 100, 300, 8200]; powerups[15][7] = [3, 300, 300, 9400]; } public function initObstacles(){ obstacles = []; obstacles[2] = new Array(); obstacles[2][0] = [100, 100, 0, 0.5, 6]; obstacles[2][1] = [400, 100, 2]; obstacles[3] = new Array(); obstacles[3][0] = [200, 200, 1, 0.8, 2, 5, 0]; obstacles[3][1] = [400, 100, 2]; obstacles[3][2] = [500, 100, 2]; obstacles[4] = new Array(); obstacles[4][0] = [190, 150, 0, 1, -6]; obstacles[5] = new Array(); obstacles[5][0] = [200, 200, 1, 0.3, 2, 5, 0]; obstacles[5][1] = [100, 100, 0, 1, 6]; obstacles[6] = new Array(); obstacles[6][0] = [300, 0xFF, 2]; obstacles[7] = new Array(); obstacles[7][0] = [100, 200, 0, 1, 6]; obstacles[8] = new Array(); obstacles[8][0] = [300, 100, 2]; obstacles[8][1] = [100, 100, 2]; obstacles[8][4] = [500, 100, 2]; obstacles[8][2] = [500, 180, 0, 1, -6]; obstacles[8][3] = [100, 180, 0, 1, 6]; obstacles[9] = new Array(); obstacles[9][0] = [300, 120, 0, 0.7, 0]; obstacles[9][1] = [100, 100, 2]; obstacles[9][2] = [500, 100, 2]; obstacles[10] = new Array(); obstacles[10][0] = [300, 100, 2]; obstacles[10][1] = [100, 80, 2]; obstacles[10][2] = [400, 180, 0, 1, -6]; obstacles[10][3] = [120, 150, 2]; obstacles[11] = new Array(); obstacles[11][0] = [100, 100, 2]; obstacles[11][1] = [300, 380, 2]; obstacles[11][2] = [500, 100, 2]; obstacles[12] = new Array(); obstacles[12][0] = [300, 100, 1, 0.6, 2, 5, 0]; obstacles[12][1] = [400, 200, 0, 0.8, 2]; obstacles[13] = new Array(); obstacles[13][0] = [100, 100, 2]; obstacles[13][1] = [200, 100, 2]; obstacles[13][2] = [300, 100, 2]; obstacles[13][3] = [400, 100, 2]; obstacles[13][4] = [500, 100, 2]; obstacles[13][5] = [300, 300, 2]; obstacles[14] = new Array(); obstacles[14][0] = [300, 100, 1, 0.4, 2, 5, 0]; obstacles[14][1] = [300, 180, 1, 0.6, 3, 5, 0]; obstacles[14][2] = [300, 260, 1, 0.8, 4, 5, 0]; obstacles[14][3] = [100, 100, 2]; obstacles[14][4] = [500, 100, 2]; obstacles[14][5] = [300, 300, 2]; obstacles[14][6] = [220, 300, 2]; obstacles[14][7] = [380, 300, 2]; obstacles[15] = new Array(); obstacles[15][0] = [500, 280, 0, 0.31, -6]; obstacles[15][1] = [100, 280, 0, 0.31, 6]; obstacles[15][2] = [300, 160, 1, 0.8, 4, 5, 0]; obstacles[15][3] = [200, 200, 2]; obstacles[15][4] = [400, 200, 2]; obstacles[15][5] = [100, 380, 2]; obstacles[15][6] = [500, 380, 2]; } public function initBalls(){ balls = []; balls[1] = new Array(); balls[1][0] = [100, 100, 60, 10, 1]; balls[1][1] = [400, 100, 30, 20, 2]; balls[1][2] = [200, 200, 10, 5, 3]; balls[2] = new Array(); balls[2][0] = [200, 200, 20, 20, 2]; balls[2][1] = [400, 100, 30, 20, 2]; balls[2][2] = [250, 200, 10, 5, 3]; balls[3] = new Array(); balls[3][0] = [500, 100, 60, 10, 1]; balls[3][1] = [400, 200, 30, 20, 2]; balls[3][2] = [300, 300, 10, 5, 3]; balls[4] = new Array(); balls[4][0] = [500, 100, 60, 10, 1]; balls[4][1] = [400, 200, 30, 20, 2]; balls[4][2] = [300, 300, 10, 5, 3]; balls[4][3] = [100, 500, 60, 10, 1]; balls[4][4] = [200, 400, 30, 20, 2]; balls[4][5] = [340, 340, 10, 5, 3]; balls[4][6] = [50, 200, 60, 10, 1]; balls[4][7] = [550, 200, 30, 20, 2]; balls[4][8] = [380, 800, 10, 5, 3]; balls[5] = new Array(); balls[5][0] = [500, 100, 60, 10, 1]; balls[5][1] = [400, 200, 30, 20, 2]; balls[5][2] = [300, 300, 10, 5, 3]; balls[6] = new Array(); balls[6][0] = [500, 100, 60, 10, 1]; balls[6][1] = [400, 200, 30, 20, 2]; balls[6][2] = [300, 300, 10, 5, 3]; balls[7] = new Array(); balls[7][0] = [500, 100, 60, 10, 1]; balls[7][1] = [400, 200, 30, 20, 2]; balls[7][2] = [300, 300, 10, 5, 3]; balls[7][3] = [330, 270, 10, 5, 3]; balls[7][4] = [200, 400, 30, 20, 2]; balls[7][5] = [340, 340, 10, 5, 3]; balls[7][6] = [50, 200, 60, 10, 1]; balls[7][7] = [550, 200, 30, 20, 2]; balls[7][8] = [380, 800, 10, 5, 3]; balls[8] = new Array(); balls[8][0] = [500, 100, 60, 10, 1]; balls[8][1] = [400, 200, 30, 20, 2]; balls[8][2] = [300, 300, 10, 5, 3]; balls[9] = new Array(); balls[9][0] = [200, 200, 20, 20, 2]; balls[9][0] = [100, 100, 60, 10, 1]; balls[9][1] = [400, 100, 30, 20, 2]; balls[9][2] = [250, 200, 10, 5, 3]; balls[10] = new Array(); balls[10][0] = [500, 100, 60, 10, 1]; balls[10][1] = [400, 200, 30, 20, 2]; balls[10][2] = [300, 300, 10, 5, 3]; balls[10][3] = [100, 500, 60, 10, 1]; balls[10][4] = [200, 400, 30, 20, 2]; balls[10][5] = [340, 340, 10, 5, 3]; balls[10][6] = [50, 200, 60, 10, 1]; balls[10][7] = [550, 200, 30, 20, 2]; balls[10][8] = [380, 800, 10, 5, 3]; balls[11] = new Array(); balls[11][0] = [100, 100, 60, 10, 1]; balls[11][1] = [400, 100, 30, 20, 2]; balls[11][2] = [250, 200, 10, 5, 3]; balls[12] = new Array(); balls[12][0] = [500, 100, 60, 10, 1]; balls[12][1] = [400, 200, 30, 20, 1]; balls[12][2] = [300, 300, 10, 5, 1]; balls[13] = new Array(); balls[13][0] = [500, 100, 60, 10, 1]; balls[13][1] = [400, 200, 30, 20, 1]; balls[13][2] = [300, 300, 10, 5, 1]; balls[14] = new Array(); balls[14][0] = [500, 100, 60, 10, 1]; balls[14][1] = [400, 200, 30, 20, 1]; balls[14][2] = [300, 300, 10, 5, 1]; balls[15] = new Array(); balls[15][0] = [500, 100, 60, 10, 1]; balls[15][1] = [400, 200, 30, 20, 1]; balls[15][2] = [300, 300, 10, 5, 1]; } } }//package
Section 101
//LevelIntroScreen (LevelIntroScreen) package { import flash.events.*; import flash.display.*; import flash.text.*; public class LevelIntroScreen extends Sprite { private var textArray:Array; public var levelTxt:TextField; public var start:StartButton; private var levelNum:Number; private var dy:Number;// = 100 private var dalpha:Number;// = 0.05 private var finalY:Number; public var messageTxt:TextField; public function LevelIntroScreen(_arg1:DisplayObjectContainer, _arg2:Number, _arg3:Number, _arg4:Number){ textArray = ["Help Frosmo to bring colors back to this once beautiful world. \n\n Aim at the same colored balls! \n\n If there are no balls of the same color try to throw the ball in the air and catch it when it falls down.\n\n Watch out for the draining energy!", "Colors help Frosmo to stay alive!\n\n You lose energy when hitting wrong colors. \n\n Gain energy by hitting right colors!", "When balls collide far above the ground you get bigger multiplier.\n\n Also, when your shooting ball bounces more it also gives you better multiplier.\n\n Try the freeze powerup here.", "Sometimes it gets very crowded, use powerups to get some breathing space.\n\n Try the electric powerup in this level.", "Color this world fully! You get 50000 points for it!", "Frosmo has arrived on a new world. \n\n Help this grey world become colorful again!", "Bombs awaaaaay!!", "Bumping your ball around gives you higher multiplier and better bonuses!", "Use bonuses like precision bonus to achieve great score", "So many bumpers, and the world needs coloring...", "Welcome to last world, this one will bring you biggest challenges.", "Tame your lion slowly, but with alot of bouncing!", "Jump through the fire!", "Bounce that circus swing!", "Return of the colors..."]; dy = 100; dalpha = 0.05; super(); _arg1.addChild(this); this.x = _arg2; this.y = (_arg3 + dy); finalY = _arg3; this.levelNum = _arg4; initText(); alpha = 0.1; addEventListener(Event.ENTER_FRAME, enterStage); start.addEventListener(MouseEvent.CLICK, mouseClicked); } private function enterStage(_arg1:Event):void{ if (alpha < 1){ levelTxt.alpha = (levelTxt.alpha + dalpha); messageTxt.alpha = (messageTxt.alpha + dalpha); alpha = (alpha + dalpha); }; if (y > finalY){ y = (y - (2 + ((y - finalY) / 16))); } else { removeEventListener(Event.ENTER_FRAME, enterStage); }; } private function initText():void{ levelTxt.alpha = 0.3; messageTxt.alpha = 0.3; levelTxt.text = ("Level " + levelNum); messageTxt.text = textArray[(levelNum - 1)]; } private function mouseClicked(_arg1:MouseEvent):void{ if (parent){ parent.removeChild(this); }; dispatchEvent(new NavigationEvent(NavigationEvent.STARTGAME)); } } }//package
Section 102
//LevelManager (LevelManager) package { import flash.events.*; import flash.display.*; import flash.text.*; import flash.net.*; public class LevelManager extends MovieClip { private var hero:Hero; private var sharedObject:SharedObject; private var powerUpManager:PowerupManager; private var counter:Number;// = 0 private var levelData:LevelData; private var levelNum:Number; private var gamePlay:Gameplay; private var ballHolder:Array; public var scoreTxt:TextField; private var scoreManager:ScoreManager; public function LevelManager(_arg1:ScoreManager, _arg2:DisplayObjectContainer, _arg3:Array, _arg4:Hero, _arg5:PowerupManager, _arg6:Gameplay){ counter = 0; super(); _arg2.addChild(this); levelData = new LevelData(); this.ballHolder = _arg3; this.hero = _arg4; this.powerUpManager = _arg5; this.scoreManager = _arg1; this.gamePlay = _arg6; addEventListener(Event.ENTER_FRAME, onEnterFrame); } public function levelPassed():void{ sharedObject = SharedObject.getLocal("levelData"); if (sharedObject.data.levelData < (levelNum + 1)){ sharedObject.data.levelData = (levelNum + 1); sharedObject.flush(); }; } private function initBalls():void{ var _local1:Array; var _local2:*; var _local3:Ball; var _local4:Number; _local1 = LevelData.balls[levelNum]; _local2 = 0; while (_local2 < _local1.length) { _local4 = _local1[_local2][4]; if (_local4 == 1){ _local3 = new Ball1(scoreManager, parent, _local1[_local2][0], _local1[_local2][1], _local1[_local2][2], _local1[_local2][3], _local4, 1); } else { if (_local4 == 2){ _local3 = new Ball2(scoreManager, parent, _local1[_local2][0], _local1[_local2][1], _local1[_local2][2], _local1[_local2][3], _local4, 1); } else { if (_local4 == 3){ _local3 = new Ball3(scoreManager, parent, _local1[_local2][0], _local1[_local2][1], _local1[_local2][2], _local1[_local2][3], _local4, 1); }; }; }; ballHolder.push(_local3); hero.nextBallToFire(ballHolder); _local2++; }; } private function initPowerups():void{ var _local1:*; var _local2:Array; var _local3:Number; if (LevelData.powerups[levelNum]){ _local2 = LevelData.powerups[levelNum]; } else { return; }; _local1 = 0; while (_local1 < _local2.length) { _local3 = _local2[_local1][0]; if (_local2[_local1][3] == counter){ if (_local3 == 1){ powerUpManager.createPowerUpBigBall(_local2[_local1][1], _local2[_local1][2]); } else { if (_local3 == 2){ powerUpManager.createPowerUpBomb(_local2[_local1][1], _local2[_local1][2]); } else { if (_local3 == 3){ powerUpManager.createPowerupElectric(_local2[_local1][1], _local2[_local1][2]); } else { if (_local3 == 4){ powerUpManager.createPowerUpFreeze(_local2[_local1][1], _local2[_local1][2]); } else { if (_local3 == 5){ powerUpManager.createPowerUpIronBall(_local2[_local1][1], _local2[_local1][2]); }; }; }; }; }; }; _local1++; }; } public function initLevel(_arg1:Number){ this.levelNum = _arg1; this.scoreTxt.text = ("Needed score: " + LevelData.neededScore[_arg1]); initBalls(); initPowerups(); initObstacles(); } public function remove():void{ if (this.parent){ parent.removeChild(this); }; removeEventListener(Event.ENTER_FRAME, onEnterFrame); } private function initObstacles():void{ var _local1:*; var _local2:Array; var _local3:Obstacle; var _local4:ObstacleMoving; var _local5:Bumper; if (LevelData.obstacles[levelNum]){ _local2 = LevelData.obstacles[levelNum]; } else { return; }; trace(_local2); _local1 = 0; while (_local1 < _local2.length) { if (_local2[_local1][2] == 0){ _local3 = new Obstacle(parent, _local2[_local1][0], _local2[_local1][1]); _local3.scaleX = _local2[_local1][3]; _local3.rotation = _local2[_local1][4]; gamePlay.obstacleArray.push(_local3); } else { if (_local2[_local1][2] == 1){ trace("MOBSTACLE"); _local4 = new ObstacleMoving(parent, _local2[_local1][0], _local2[_local1][1], _local2[_local1][4], _local2[_local1][5]); _local4.scaleX = _local2[_local1][3]; _local4.rotation = _local2[_local1][6]; gamePlay.obstacleArray.push(_local4); } else { if (_local2[_local1][2] == 2){ _local5 = new Bumper(parent, _local2[_local1][0], _local2[_local1][1]); Gameplay(parent).bumperArray.push(_local5); }; }; }; _local1++; }; } private function onEnterFrame(_arg1:Event):void{ counter++; initPowerups(); if ((((Math.random() < (0.002 * (3 - Gameplay.ballHolder.length)))) && ((Gameplay.ballHolder.length < 3)))){ Gameplay(parent).spawnRandomBall(); }; } } }//package
Section 103
//LevelMapButton (LevelMapButton) package { import flash.display.*; public dynamic class LevelMapButton extends SimpleButton { } }//package
Section 104
//LevelPassedScreen (LevelPassedScreen) package { import flash.events.*; import flash.display.*; import flash.media.*; import flash.text.*; public class LevelPassedScreen extends MovieClip { public var levelMap:LevelMapButton; public var nextLevel:NextLevelButton; public var score:TextField; private var finalY:Number; private var soundCounter:Number;// = 15 public function LevelPassedScreen(_arg1:DisplayObjectContainer, _arg2:Number, _arg3:Number){ soundCounter = 15; super(); _arg1.addChild(this); this.x = _arg2; finalY = _arg3; this.y = (finalY - 300); nextLevel.addEventListener(MouseEvent.CLICK, nextLevelClicked); levelMap.addEventListener(MouseEvent.CLICK, levelMapClicked); score.text = ("Score: " + ScoreManager.score); addEventListener(Event.ENTER_FRAME, enterStage); addEventListener(Event.ENTER_FRAME, soundPlay); } private function soundPlay(_arg1:Event):void{ var _local2:Sound; soundCounter--; if (soundCounter <= 0){ if (Frosmomatch.soundFlag){ _local2 = new SoundPassed(); _local2.play(); removeEventListener(Event.ENTER_FRAME, soundPlay); }; }; } private function enterStage(_arg1:Event):void{ var _local2:Number; _local2 = (1 + ((finalY - y) / 8)); trace(_local2); y = (y + _local2); trace(y); if (y >= finalY){ removeEventListener(Event.ENTER_FRAME, enterStage); }; } private function nextLevelClicked(_arg1:MouseEvent):void{ if (parent){ parent.removeChild(this); }; dispatchEvent(new NavigationEvent(NavigationEvent.NEXTLEVEL)); } private function levelMapClicked(_arg1:MouseEvent):void{ if (parent){ parent.removeChild(this); }; dispatchEvent(new NavigationEvent(NavigationEvent.LEVELMAP)); } } }//package
Section 105
//LevelSelectScreen (LevelSelectScreen) package { import flash.events.*; import flash.display.*; import flash.net.*; public class LevelSelectScreen extends MovieClip { private var sharedObject:SharedObject; public var level1:Level1Icon; public var level2:Level2Icon; public var level4:Level4Icon; public var level5:Level5Icon; public var level6:Level1Icon; public var level7:Level2Icon; public var level9:Level4Icon; public var level3:Level3Icon; public var level8:Level3Icon; public var level13:Level3Icon; public var level14:Level4Icon; public var level15:Level5Icon; public var level12:Level2Icon; public var level11:Level1Icon; private var main:Frosmomatch; public var level10:Level5Icon; public var menuB:BackButton; public function LevelSelectScreen(_arg1:DisplayObjectContainer, _arg2:Frosmomatch){ this.main = _arg2; _arg1.addChild(this); addEventListener(Event.ENTER_FRAME, enterStage); init(); alpha = 0; menuB.addEventListener(MouseEvent.CLICK, onMouseClicked); } private function level20Clicked(_arg1:MouseEvent):void{ main.playLevel(20); } private function enterStage(_arg1:Event):void{ alpha = (alpha + 0.05); if (alpha >= 1){ removeEventListener(Event.ENTER_FRAME, enterStage); }; } private function level18Clicked(_arg1:MouseEvent):void{ main.playLevel(18); } private function init():void{ var _local1:Number; level1.gotoAndStop(1); level2.gotoAndStop(1); level3.gotoAndStop(1); level4.gotoAndStop(1); level5.gotoAndStop(1); level6.gotoAndStop(1); level7.gotoAndStop(1); level8.gotoAndStop(1); level9.gotoAndStop(1); level10.gotoAndStop(1); level11.gotoAndStop(1); level12.gotoAndStop(1); level13.gotoAndStop(1); level14.gotoAndStop(1); level15.gotoAndStop(1); initShared(); _local1 = sharedObject.data.levelData; if (_local1 > 0){ level1.gotoAndStop(2); level1.addEventListener(MouseEvent.CLICK, level1Clicked); level1.addEventListener(MouseEvent.MOUSE_OVER, mouseOver); }; if (_local1 > 1){ level2.gotoAndStop(2); level2.addEventListener(MouseEvent.CLICK, level2Clicked); level2.addEventListener(MouseEvent.MOUSE_OVER, mouseOver); }; if (_local1 > 2){ level3.gotoAndStop(2); level3.addEventListener(MouseEvent.CLICK, level3Clicked); level3.addEventListener(MouseEvent.MOUSE_OVER, mouseOver); }; if (_local1 > 3){ level4.gotoAndStop(2); level4.addEventListener(MouseEvent.CLICK, level4Clicked); level4.addEventListener(MouseEvent.MOUSE_OVER, mouseOver); }; if (_local1 > 4){ level5.gotoAndStop(2); level5.addEventListener(MouseEvent.CLICK, level5Clicked); level5.addEventListener(MouseEvent.MOUSE_OVER, mouseOver); }; if (_local1 > 5){ level6.gotoAndStop(2); level6.addEventListener(MouseEvent.CLICK, level6Clicked); level6.addEventListener(MouseEvent.MOUSE_OVER, mouseOver); }; if (_local1 > 6){ level7.gotoAndStop(2); level7.addEventListener(MouseEvent.CLICK, level7Clicked); level7.addEventListener(MouseEvent.MOUSE_OVER, mouseOver); }; if (_local1 > 7){ level8.gotoAndStop(2); level8.addEventListener(MouseEvent.CLICK, level8Clicked); level8.addEventListener(MouseEvent.MOUSE_OVER, mouseOver); }; if (_local1 > 8){ level9.gotoAndStop(2); level9.addEventListener(MouseEvent.CLICK, level9Clicked); level9.addEventListener(MouseEvent.MOUSE_OVER, mouseOver); }; if (_local1 > 9){ level10.gotoAndStop(2); level10.addEventListener(MouseEvent.CLICK, level10Clicked); level10.addEventListener(MouseEvent.MOUSE_OVER, mouseOver); }; if (_local1 > 10){ level11.gotoAndStop(2); level11.addEventListener(MouseEvent.CLICK, level11Clicked); level11.addEventListener(MouseEvent.MOUSE_OVER, mouseOver); }; if (_local1 > 11){ level12.gotoAndStop(2); level12.addEventListener(MouseEvent.CLICK, level12Clicked); level12.addEventListener(MouseEvent.MOUSE_OVER, mouseOver); }; if (_local1 > 12){ level13.gotoAndStop(2); level13.addEventListener(MouseEvent.CLICK, level13Clicked); level13.addEventListener(MouseEvent.MOUSE_OVER, mouseOver); }; if (_local1 > 13){ level14.gotoAndStop(2); level14.addEventListener(MouseEvent.CLICK, level14Clicked); level14.addEventListener(MouseEvent.MOUSE_OVER, mouseOver); }; if (_local1 > 14){ level15.gotoAndStop(2); level15.addEventListener(MouseEvent.CLICK, level15Clicked); level15.addEventListener(MouseEvent.MOUSE_OVER, mouseOver); }; } private function level11Clicked(_arg1:MouseEvent):void{ main.playLevel(11); } private function level17Clicked(_arg1:MouseEvent):void{ main.playLevel(17); } private function level16Clicked(_arg1:MouseEvent):void{ main.playLevel(16); } private function mouseOver(_arg1:MouseEvent):void{ _arg1.currentTarget.gotoAndStop(3); trace(MovieClip(_arg1.target).currentFrame); _arg1.currentTarget.addEventListener(MouseEvent.MOUSE_OUT, mouseOut); } private function mouseOut(_arg1:MouseEvent):void{ trace("MOUSE OUT"); _arg1.currentTarget.gotoAndStop(2); _arg1.currentTarget.addEventListener(MouseEvent.MOUSE_OVER, mouseOver); } private function level8Clicked(_arg1:MouseEvent):void{ main.playLevel(8); } private function level7Clicked(_arg1:MouseEvent):void{ main.playLevel(7); } private function level2Clicked(_arg1:MouseEvent):void{ main.playLevel(2); } private function level15Clicked(_arg1:MouseEvent):void{ main.playLevel(15); } private function level10Clicked(_arg1:MouseEvent):void{ main.playLevel(10); } private function level1Clicked(_arg1:MouseEvent):void{ main.playLevel(1); } private function level13Clicked(_arg1:MouseEvent):void{ main.playLevel(13); } private function initShared():void{ sharedObject = SharedObject.getLocal("levelData"); if ((((((sharedObject.data.levelData == null)) || ((sharedObject.data.levelData == undefined)))) || ((sharedObject.data.levelData == 0)))){ sharedObject.data.levelData = new Number(1); }; } private function level6Clicked(_arg1:MouseEvent):void{ main.playLevel(6); } private function level5Clicked(_arg1:MouseEvent):void{ main.playLevel(5); } private function level12Clicked(_arg1:MouseEvent):void{ main.playLevel(12); } private function onMouseClicked(_arg1:MouseEvent):void{ if (parent){ parent.removeChild(this); }; trace("DISPATHCED"); dispatchEvent(new NavigationEvent(NavigationEvent.MAINMENU)); } private function level14Clicked(_arg1:MouseEvent):void{ main.playLevel(14); } private function level4Clicked(_arg1:MouseEvent):void{ main.playLevel(4); } private function level19Clicked(_arg1:MouseEvent):void{ main.playLevel(19); } private function level9Clicked(_arg1:MouseEvent):void{ main.playLevel(9); } private function level3Clicked(_arg1:MouseEvent):void{ main.playLevel(3); } } }//package
Section 106
//Lost (Lost) package { import flash.media.*; public dynamic class Lost extends Sound { } }//package
Section 107
//MainTheme (MainTheme) package { import flash.media.*; public dynamic class MainTheme extends Sound { } }//package
Section 108
//MenuMusic (MenuMusic) package { import flash.media.*; public dynamic class MenuMusic extends Sound { } }//package
Section 109
//MochiBot (MochiBot) package { import flash.display.*; import flash.system.*; import flash.net.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ var _local3:MochiBot; var _local4:String; var _local5:URLVariables; var _local6:String; var _local7:URLRequest; var _local8:Loader; if (Security.sandboxType == "localWithFile"){ return (null); }; _local3 = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); _local4 = "http://core.mochibot.com/my/core.swf"; _local5 = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; _local6 = _local3.root.loaderInfo.loaderURL; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; _local7 = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; _local8 = new Loader(); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//package
Section 110
//NavigationEvent (NavigationEvent) package { import flash.events.*; public class NavigationEvent extends Event { public static const INSTRUCTIONS:String = "instructions"; public static const GAMEOVER:String = "gameover"; public static const FREEMODE:String = "freemode"; public static const NEXTLEVEL:String = "nextlevel"; public static const STARTGAME:String = "startgame"; public static const MAINMENU:String = "mainmenu"; public static const GAMEWIN:String = "gamewin"; public static const CREDITS:String = "credits"; public static const LEVELPASSED:String = "levelpassed"; public static const LEVELMAP:String = "levelmap"; public function NavigationEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function toString():String{ return (formatToString("NavigationEvent", "type", "bubbles", "cancelable", "eventPhase")); } override public function clone():Event{ return (new NavigationEvent(type, bubbles, cancelable)); } } }//package
Section 111
//NextButton (NextButton) package { import flash.display.*; public dynamic class NextButton extends SimpleButton { } }//package
Section 112
//NextLevelButton (NextLevelButton) package { import flash.display.*; public dynamic class NextLevelButton extends SimpleButton { } }//package
Section 113
//Obstacle (Obstacle) package { import flash.display.*; import flash.geom.*; import flash.filters.*; public class Obstacle extends MovieClip { public var glowFilter:GlowFilter; public var _min:Point; public var _max:Point; public var dropShadow:DropShadowFilter; public function Obstacle(_arg1:DisplayObjectContainer, _arg2:Number, _arg3:Number){ _arg1.addChild(this); this.x = _arg2; this.y = _arg3; dropShadow = new DropShadowFilter(); dropShadow.strength = (dropShadow.strength * 2.5); dropShadow.distance = 7; filters = [dropShadow]; glowFilter = new GlowFilter(0xFFFFFF); glowFilter.strength = (glowFilter.strength * 2.5); filters = [dropShadow, glowFilter]; _min = new Point(); _max = new Point(); } public function get min():Point{ _min.x = (x - (width / 2)); _min.y = (y - (height / 2)); return (_min); } public function get max():Point{ _max.x = (x + (width / 2)); _max.y = (y + (height / 2)); return (_max); } public function remove(_arg1:Array):void{ var _local2:*; if (parent){ parent.removeChild(this); }; _local2 = 0; while (_local2 < _arg1.length) { if (this == _arg1[_local2]){ _arg1.splice(_local2, 1); }; _local2++; }; } } }//package
Section 114
//ObstacleMoving (ObstacleMoving) package { import flash.events.*; import flash.display.*; public class ObstacleMoving extends Obstacle { private var counter:Number;// = 0 private var staticX:Number; private var dx:Number; public var vx:Number; private var velocity:Number; public function ObstacleMoving(_arg1:DisplayObjectContainer, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number){ counter = 0; super(_arg1, _arg2, _arg3); this.dx = _arg4; this.velocity = _arg5; staticX = _arg2; _arg2 = (_arg2 - _arg4); addEventListener(Event.ENTER_FRAME, onFrame); } override public function remove(_arg1:Array):void{ super.remove(_arg1); removeEventListener(Event.ENTER_FRAME, onFrame); } private function onFrame(_arg1:Event):void{ vx = ((30 * dx) * Math.sin((counter++ / 32))); x = (staticX + vx); } } }//package
Section 115
//ParticleStar (ParticleStar) package { import flash.events.*; import flash.display.*; public class ParticleStar extends MovieClip { private var vx:Number; private var vy:Number; private var velocity:Number;// = 10 public function ParticleStar(_arg1:DisplayObjectContainer, _arg2:Number, _arg3:Number){ velocity = 10; super(); _arg1.addChild(this); this.x = _arg2; this.y = _arg3; scaleX = Math.random(); scaleY = scaleX; rotation = (Math.random() * 360); vx = ((Math.random() - 0.5) * velocity); vy = ((Math.random() - 0.5) * velocity); addEventListener(Event.ENTER_FRAME, onFrame); } private function onFrame(_arg1:Event):void{ vy = (vy + 0.2); x = (x + vx); y = (y + vy); alpha = (alpha - 0.03); if (alpha < 0.2){ removeEventListener(Event.ENTER_FRAME, onFrame); parent.removeChild(this); }; } } }//package
Section 116
//PowerUp (PowerUp) package { import flash.events.*; import flash.display.*; import utils.*; public class PowerUp extends MovieClip { public var myType:Number; private var obstacleArray:Array; private var collision:Collision; private var bumperArray:Array; public function PowerUp(_arg1:DisplayObjectContainer, _arg2:Number, _arg3:Number, _arg4:Number){ var _local5:*; super(); trace(_arg1); _local5 = 0; while (_local5 < _arg1.numChildren) { if ((_arg1.getChildAt(_local5) is Ball)){ _arg1.addChildAt(this, (_local5 - 1)); break; }; _local5++; }; this.x = _arg2; this.y = _arg3; this.myType = _arg4; collision = new Collision(); obstacleArray = Gameplay(_arg1).obstacleArray; bumperArray = Gameplay(_arg1).bumperArray; addEventListener(Event.ENTER_FRAME, onEnterFrame); } public function removePowerUp():void{ var _local1:*; var _local2:PowerUp; _local1 = 0; while (_local1 < PowerupManager.powerUpHolder.length) { if (this == PowerupManager.powerUpHolder[_local1]){ _local2 = PowerupManager.powerUpHolder[_local1]; _local2.parent.removeChild(_local2); PowerupManager.powerUpHolder.splice(_local1, 1); removeEventListener(Event.ENTER_FRAME, onEnterFrame); }; _local1++; }; } private function powerUpChoose():void{ if (myType == 0){ dispatchEvent(new PowerupEvent(PowerupEvent.ELECTRIC)); }; if (myType == 1){ dispatchEvent(new PowerupEvent(PowerupEvent.BOMB)); }; if (myType == 2){ dispatchEvent(new PowerupEvent(PowerupEvent.FREEZE)); }; if (myType == 3){ dispatchEvent(new PowerupEvent(PowerupEvent.BIGBALL)); }; if (myType == 4){ trace("ironball dispatched"); dispatchEvent(new PowerupEvent(PowerupEvent.IRONBALL)); }; } private function onEnterFrame(_arg1:Event):void{ var _local2:*; var _local3:CircleCollision; var _local4:Ball; this.visible = true; _local2 = 0; while (_local2 < bumperArray.length) { _local3 = new CircleCollision(this, bumperArray[_local2]); if (_local3.isColliding()){ this.visible = false; this.x = (Math.random() * 600); this.y = (Math.random() * 460); }; _local2++; }; _local2 = 0; while (_local2 < Gameplay.ballHolder.length) { _local4 = Gameplay.ballHolder[_local2]; if (_local4.state == 0){ if (collision.isColliding(_local4, this)){ trace("onenterframe"); powerUpChoose(); removePowerUp(); }; }; _local2++; }; } } }//package
Section 117
//PowerUpBigBall (PowerUpBigBall) package { import flash.display.*; public class PowerUpBigBall extends PowerUp { public function PowerUpBigBall(_arg1:DisplayObjectContainer, _arg2:Number, _arg3:Number){ super(_arg1, _arg2, _arg3, 3); } } }//package
Section 118
//PowerUpBomb (PowerUpBomb) package { import flash.display.*; public class PowerUpBomb extends PowerUp { public function PowerUpBomb(_arg1:DisplayObjectContainer, _arg2:Number, _arg3:Number){ super(_arg1, _arg2, _arg3, 1); } } }//package
Section 119
//PowerUpElectric (PowerUpElectric) package { import flash.display.*; public class PowerUpElectric extends PowerUp { public function PowerUpElectric(_arg1:DisplayObjectContainer, _arg2:Number, _arg3:Number){ super(_arg1, _arg2, _arg3, 0); } } }//package
Section 120
//PowerUpElectricBorder (PowerUpElectricBorder) package { import flash.display.*; public class PowerUpElectricBorder extends MovieClip { private var counter; public function PowerUpElectricBorder(_arg1:DisplayObjectContainer){ _arg1.addChild(this); } public function remove():void{ parent.removeChild(this); } } }//package
Section 121
//PowerupEvent (PowerupEvent) package { import flash.events.*; public class PowerupEvent extends Event { public static const IRONBALL:String = "ironball"; public static const FREEZE:String = "freeze"; public static const BOMB:String = "bomb"; public static const ELECTRIC:String = "electric"; public static const BIGBALL:String = "bigball"; public function PowerupEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function toString():String{ return (formatToString("PowerupEvent", "type", "bubbles", "cancelable", "eventPhase")); } override public function clone():Event{ return (new PowerupEvent(type, bubbles, cancelable)); } } }//package
Section 122
//PowerupFlags (PowerupFlags) package { public class PowerupFlags { public static var electricShock:Boolean; public static var bigBall:Boolean = false; } }//package
Section 123
//PowerUpFreeze (PowerUpFreeze) package { import flash.display.*; public class PowerUpFreeze extends PowerUp { public function PowerUpFreeze(_arg1:DisplayObjectContainer, _arg2:Number, _arg3:Number){ super(_arg1, _arg2, _arg3, 2); } } }//package
Section 124
//PowerUpIronBall (PowerUpIronBall) package { import flash.display.*; public class PowerUpIronBall extends PowerUp { public function PowerUpIronBall(_arg1:DisplayObjectContainer, _arg2:Number, _arg3:Number){ super(_arg1, _arg2, _arg3, 4); } } }//package
Section 125
//PowerupManager (PowerupManager) package { import flash.events.*; import flash.display.*; import flash.media.*; public class PowerupManager extends Sprite { private var gameplay:Gameplay; private var powerUpBigBallDuration:Number;// = 1200 private var powerUpFreeze:PowerUpFreeze; private var powerUpIronBallDuration:Number;// = 120 private var powerUpElectricBorder:PowerUpElectricBorder; private var powerUpElectricDurationCounter:Number;// = 0 private var powerUpBomb:PowerUpBomb; private var powerUpElectricDuration:Number;// = 180 private var powerUpIronBallCounter:Number;// = 0 private var powerUpBigBall:PowerUpBigBall; private var powerUpIronBall:PowerUpIronBall; private var powerUpBigBallCounter:Number;// = 0 private var bombExplosion:BombExplosion; private var bomb:Bomb; private var powerUpElectricShotCounter:Number;// = 29 private var powerUpFreezeCounter:Number;// = 0 private var powerUpFreezeDuration:Number;// = 300 private var ironBall:IronBall; public static var powerUpElectricShotDuration:Number = 30; public static var powerUpHolder:Array = []; public function PowerupManager(_arg1:DisplayObjectContainer, _arg2:Gameplay){ powerUpElectricDuration = 180; powerUpElectricDurationCounter = 0; powerUpElectricShotCounter = 29; powerUpFreezeDuration = 300; powerUpFreezeCounter = 0; powerUpBigBallDuration = 1200; powerUpBigBallCounter = 0; powerUpIronBallDuration = 120; powerUpIronBallCounter = 0; super(); _arg1.addChild(this); this.gameplay = _arg2; } public function createPowerupElectric(_arg1:Number, _arg2:Number){ var _local3:PowerUp; if (powerUpHolder.length <= 0){ _local3 = new PowerUpElectric(parent, _arg1, _arg2); _local3.addEventListener(PowerupEvent.ELECTRIC, powerUpElectricHandler); powerUpHolder.push(_local3); }; } public function createPowerUpIronBall(_arg1:Number, _arg2:Number):void{ if (powerUpHolder.length <= 0){ powerUpIronBall = new PowerUpIronBall(parent, _arg1, _arg2); powerUpIronBall.addEventListener(PowerupEvent.IRONBALL, powerUpIronBallHandler); powerUpHolder.push(powerUpIronBall); }; } private function createIronBall():void{ var _local1:*; var _local2:Ball; _local1 = 0; while (_local1 < Gameplay.ballHolder.length) { _local2 = Gameplay.ballHolder[_local1]; if (_local2.state == 0){ ironBall = new IronBall(parent, _local2.x, _local2.y, _local2.vx, _local2.vy, gameplay); _local2.remove(Gameplay.ballHolder); }; _local1++; }; } private function powerUpFreezeHandler(_arg1:PowerupEvent):void{ var _local2:*; var _local3:Ball; addEventListener(Event.ENTER_FRAME, freezeDurationHandler); _local2 = 0; while (_local2 < Gameplay.ballHolder.length) { _local3 = Gameplay.ballHolder[_local2]; _local3.freezeFunction(); _local2++; }; } private function removePlayingBall():void{ var _local1:*; var _local2:Ball; _local1 = 0; while (_local1 < Gameplay.ballHolder.length) { _local2 = Gameplay.ballHolder[_local1]; if (_local2.state == 0){ _local2.remove(Gameplay.ballHolder); }; _local1++; }; } private function freezeDurationHandler(_arg1:Event):void{ var _local2:*; var _local3:Ball; powerUpFreezeCounter++; if (powerUpFreezeCounter > powerUpFreezeDuration){ removeEventListener(Event.ENTER_FRAME, freezeDurationHandler); powerUpFreezeCounter = 0; _local2 = 0; while (_local2 < Gameplay.ballHolder.length) { _local3 = Gameplay.ballHolder[_local2]; _local3.unFreeze(); _local2++; }; }; } private function powerUpElectricGo(_arg1:Event):void{ powerUpElectricShotCounter++; powerUpElectricDurationCounter++; trace(powerUpElectricShotCounter); if (powerUpElectricShotCounter >= powerUpElectricShotDuration){ powerUpElectricShotCounter = 0; if (PowerupFlags.electricShock == true){ PowerupFlags.electricShock = false; parent.removeChild(powerUpElectricBorder); } else { powerUpElectricBorder = new PowerUpElectricBorder(parent); PowerupFlags.electricShock = true; }; }; if (powerUpElectricDurationCounter >= powerUpElectricDuration){ PowerupFlags.electricShock = false; removeEventListener(Event.ENTER_FRAME, powerUpElectricGo); }; } private function powerUpBombHandler(_arg1:PowerupEvent):void{ bomb = new Bomb(parent, powerUpBomb.x, powerUpBomb.y); bomb.addEventListener(Event.REMOVED, bombExplode); } public function createPowerUpBomb(_arg1:Number, _arg2:Number){ if (powerUpHolder.length <= 0){ powerUpBomb = new PowerUpBomb(parent, _arg1, _arg2); powerUpBomb.addEventListener(PowerupEvent.BOMB, powerUpBombHandler); powerUpHolder.push(powerUpBomb); }; } private function powerUpBigBallsDurationHandler(_arg1:Event):void{ var _local2:Boolean; var _local3:*; powerUpBigBallCounter++; _local2 = true; _local3 = 0; while (_local3 < Gameplay.ballHolder.length) { if (Ball(Gameplay.ballHolder[_local3]).oversized){ _local2 = false; }; _local3++; }; if ((((powerUpBigBallCounter >= powerUpBigBallDuration)) || ((_local2 == true)))){ removeEventListener(Event.ENTER_FRAME, powerUpBigBallsDurationHandler); PowerupFlags.bigBall = false; }; } public function createPowerUpFreeze(_arg1:Number, _arg2:Number){ if (powerUpHolder.length <= 0){ powerUpFreeze = new PowerUpFreeze(parent, _arg1, _arg2); powerUpFreeze.addEventListener(PowerupEvent.FREEZE, powerUpFreezeHandler); powerUpHolder.push(powerUpFreeze); }; } public function createPowerUpBigBall(_arg1:Number, _arg2:Number):void{ if (powerUpHolder.length <= 0){ powerUpBigBall = new PowerUpBigBall(parent, _arg1, _arg2); powerUpBigBall.addEventListener(PowerupEvent.BIGBALL, powerUpBigBallHandler); powerUpHolder.push(powerUpBigBall); }; } public function getBigBallType():Number{ var _local1:*; _local1 = 0; while (_local1 < Gameplay.ballHolder.length) { if (Ball(Gameplay.ballHolder[_local1]).oversized){ return (Ball(Gameplay.ballHolder[_local1]).ballType); }; _local1++; }; return (Math.ceil((Math.random() * 3))); } private function powerUpIronBallHandler(_arg1:PowerupEvent):void{ createIronBall(); removePlayingBall(); addEventListener(Event.ENTER_FRAME, ironOnFrame); } private function powerUpElectricHandler(_arg1:PowerupEvent):void{ var _local2:Sound; PowerupFlags.electricShock = false; powerUpElectricShotDuration = 30; powerUpElectricShotCounter = 29; powerUpElectricDurationCounter = 0; addEventListener(Event.ENTER_FRAME, powerUpElectricGo); if (Frosmomatch.soundFlag){ _local2 = new Electricity(); _local2.play(); }; } public function removeIronBall():void{ ironBall.removeEventListener(Event.ENTER_FRAME, ironBall.onEnterFrame); if (ironBall.parent){ ironBall.parent.removeChild(ironBall); }; ironBall = null; } private function powerUpBigBallHandler(_arg1:PowerupEvent):void{ var _local2:Number; var _local3:*; addEventListener(Event.ENTER_FRAME, powerUpBigBallsDurationHandler); PowerupFlags.bigBall = true; _local3 = 0; while (_local3 < Gameplay.ballHolder.length) { if (Ball(Gameplay.ballHolder[_local3]).state == 0){ _local2 = Ball(Gameplay.ballHolder[_local3]).ballType; }; _local3++; }; _local3 = 0; while (_local3 < Gameplay.ballHolder.length) { if ((((Ball(Gameplay.ballHolder[_local3]).ballType == _local2)) && ((Ball(Gameplay.ballHolder[_local3]).oversized == false)))){ Ball(Gameplay.ballHolder[_local3]).enlarge(); }; _local3++; }; } private function bombExplode(_arg1:Event):void{ bombExplosion = new BombExplosion(parent, powerUpBomb.x, powerUpBomb.y); } private function ironOnFrame(_arg1:Event):void{ powerUpIronBallCounter++; if (powerUpIronBallCounter >= powerUpIronBallDuration){ powerUpBigBallCounter = 0; Gameplay.hero.enableShooting(); removeIronBall(); removeEventListener(Event.ENTER_FRAME, ironOnFrame); }; } public function remove():void{ while (powerUpHolder.length > 0) { powerUpHolder[0].removePowerUp(); }; if (parent){ parent.removeChild(this); }; if (bomb){ if (bomb.parent){ bomb.remove(); }; }; if (bombExplosion){ if (bombExplosion.parent){ bombExplosion.remove(); }; }; removeEventListener(Event.ENTER_FRAME, powerUpElectricGo); if (powerUpElectricBorder){ if (powerUpElectricBorder.parent){ powerUpElectricBorder.remove(); }; }; } public static function getMarkedForDeletion():Number{ var _local1:Number; var _local2:*; _local1 = 0; _local2 = 0; while (_local2 < Gameplay.ballHolder.length) { if (Ball(Gameplay.ballHolder[_local2]).markForDeletion == false){ _local1++; }; _local2++; }; return (_local1); } } }//package
Section 126
//Preloader (Preloader) package { import flash.events.*; import flash.display.*; import flash.net.*; public class Preloader extends Sprite { private var counter:Number;// = 160 public var splash:FrosmoSplash; public function Preloader(_arg1:DisplayObjectContainer){ counter = 160; super(); _arg1.addChild(this); splash.addEventListener(MouseEvent.CLICK, splashClicked); addEventListener(Event.ENTER_FRAME, onEnterFrame); alpha = 0.1; } private function onEnterFrame(_arg1:Event):void{ counter--; alpha = (alpha + 0.05); if (counter < 0){ if (parent){ parent.removeChild(this); }; removeEventListener(Event.ENTER_FRAME, onEnterFrame); dispatchEvent(new NavigationEvent(NavigationEvent.STARTGAME)); }; } private function splashClicked(_arg1:MouseEvent):void{ var _local2:URLRequest; _local2 = new URLRequest("http://www.frosmo.com/uk/ui/?ref=colorbounce"); navigateToURL(_local2); } } }//package
Section 127
//RestartButton (RestartButton) package { import flash.display.*; public dynamic class RestartButton extends SimpleButton { } }//package
Section 128
//ScoreManager (ScoreManager) package { import flash.display.*; import flash.media.*; import flash.text.*; public class ScoreManager extends Sprite { private var gameplay:Gameplay; public var colored:TextField; public var energyTimePenalty:Number;// = -0.1 private var levelNum:Number; public var energyBar:EnergyBar; public var energyPlus:Number;// = 6 public var scoreAmount:Number;// = 200 public var energy:Number;// = 100 public var energyMinus:Number;// = -10 public var scoreText:TextField; public static var score:Number = 0; public function ScoreManager(_arg1:DisplayObjectContainer, _arg2:Number, _arg3:Gameplay){ energyPlus = 6; energyMinus = -10; energyTimePenalty = -0.1; energy = 100; scoreAmount = 200; super(); this.gameplay = _arg3; this.levelNum = _arg2; _arg1.addChild(this); energyBar = new EnergyBar(this, 15, 15); initStaticVariables(); } public function updateScore2(_arg1:Number):void{ score = (score + _arg1); } public function updateScoreText():void{ scoreText.text = ("Score: " + Math.round(score)); } public function updateScore(_arg1:Number):void{ score = (score + Math.round((scoreAmount * _arg1))); } public function checkIfEnergyLessThanZero():void{ var _local1:Sound; if (energy <= 0){ energyBar.width = 0; if (Frosmomatch.soundFlag){ _local1 = new Lost(); _local1.play(); }; dispatchEvent(new NavigationEvent(NavigationEvent.GAMEOVER)); }; } public function initStaticVariables():void{ score = 0; energyPlus = 3; energyMinus = -25; energyTimePenalty = -0.04; energy = 100; } public function checkIfLevelPassed():void{ if (gameplay.freeMode == false){ if (score > LevelData.neededScore[levelNum]){ dispatchEvent(new NavigationEvent(NavigationEvent.LEVELPASSED)); }; }; } public function updateEnergyBar():void{ energyBar.width = ((energy * energyBar.maxWidth) / 100); } public function updateEnergy(_arg1:Number, _arg2:Number=1):void{ energy = (energy + (_arg1 * _arg2)); if (energy < 40){ energyBar.blinkFlag = true; } else { energyBar.blinkFlag = false; }; if (energy > 100){ energy = 100; }; } public function onFrame():void{ energyTimePenalty = (energyTimePenalty * 1.00001); updateEnergyBar(); updateEnergy(energyTimePenalty); updateScoreText(); checkIfEnergyLessThanZero(); checkIfLevelPassed(); } } }//package
Section 129
//ScorePopUp (ScorePopUp) package { import flash.events.*; import flash.display.*; import flash.text.*; import flash.filters.*; public class ScorePopUp extends Sprite { private var textFormat:TextFormat; private var score:TextField; private var glow:GlowFilter; private var multiplier:Number; public function ScorePopUp(_arg1:DisplayObjectContainer, _arg2:Number, _arg3:Number, _arg4:Number){ this.multiplier = _arg4; this.x = _arg2; this.y = _arg3; alpha = 1.5; if (this.x > 500){ this.x = (this.x - 80); }; if (this.y < 100){ this.y = (this.y + 40); }; _arg1.addChild(this); initScore(); addEventListener(Event.ENTER_FRAME, onEnterFrame); } private function initScore():void{ textFormat = new TextFormat(); textFormat.size = 48; textFormat.font = "Showcard Gothic"; score = new TextField(); addChild(score); score.cacheAsBitmap = true; score.text = ("X" + (int((multiplier * 100)) / 100)); score.selectable = false; score.width = 200; glow = new GlowFilter(); if (multiplier < 2){ glow.color = 0x66FF00; textFormat.color = 6750054; } else { if (multiplier <= 3){ glow.color = 0xFFFF00; textFormat.color = 16777062; } else { if (multiplier <= 4){ glow.color = 0xFFCC00; textFormat.color = 16764006; } else { if (multiplier <= 5){ glow.color = 0xFF6600; textFormat.color = 16737894; } else { if (multiplier <= 6){ glow.color = 0xFF0000; textFormat.color = 0xFF0066; }; }; }; }; }; filters = [glow]; score.setTextFormat(textFormat); } private function onEnterFrame(_arg1:Event):void{ alpha = (alpha - 0.03); y = (y - 1.5); if (alpha < 0.1){ this.parent.removeChild(this); removeEventListener(Event.ENTER_FRAME, onEnterFrame); }; } } }//package
Section 130
//ShootingZone (ShootingZone) package { import flash.display.*; public dynamic class ShootingZone extends MovieClip { } }//package
Section 131
//SoundButton (SoundButton) package { import flash.events.*; import flash.display.*; public class SoundButton extends MovieClip { private var soundFlag:Boolean;// = true public static var soundOver:Boolean = false; public function SoundButton(_arg1:DisplayObjectContainer, _arg2:Number, _arg3:Number){ soundFlag = true; super(); this.x = _arg2; this.y = _arg3; _arg1.addChild(this); if (Frosmomatch.soundFlag){ gotoAndStop(1); } else { gotoAndStop(2); }; addEventListener(MouseEvent.MOUSE_OVER, mouseOver); addEventListener(MouseEvent.MOUSE_OUT, mouseOut); addEventListener(MouseEvent.CLICK, mouseClicked); addEventListener(Event.ENTER_FRAME, onEnterFrame); } private function mouseOver(_arg1:MouseEvent):void{ soundOver = true; } private function mouseOut(_arg1:MouseEvent):void{ soundOver = false; } private function onEnterFrame(_arg1:Event):void{ if (soundFlag == false){ }; } private function mouseClicked(_arg1:MouseEvent):void{ if (soundFlag){ soundFlag = false; gotoAndStop(2); if (Gameplay.forestChannel){ Gameplay.forestChannel.stop(); }; if (Gameplay.firstWorldMusicChannel){ Gameplay.firstWorldMusicChannel.stop(); }; if (Frosmomatch.menuMusicChannel){ Frosmomatch.stopMenuMusic(); }; Frosmomatch.soundFlag = false; } else { soundFlag = true; gotoAndStop(1); if (Gameplay.gamePlayOn){ Gameplay.playTheme(Gameplay.levelNumStatic); } else { Frosmomatch.playMenuMusic(); }; Frosmomatch.soundFlag = true; }; } } }//package
Section 132
//SoundManager (SoundManager) package { import flash.display.*; import flash.media.*; public class SoundManager extends MovieClip { var myMusic:Sound; public function SoundManager(_arg1:DisplayObjectContainer, _arg2:Gameplay){ _arg1.addChild(this); } } }//package
Section 133
//SoundPassed (SoundPassed) package { import flash.media.*; public dynamic class SoundPassed extends Sound { } }//package
Section 134
//Spritefreeze (Spritefreeze) package { import flash.display.*; public dynamic class Spritefreeze extends MovieClip { } }//package
Section 135
//StartButton (StartButton) package { import flash.display.*; public dynamic class StartButton extends SimpleButton { } }//package
Section 136
//StartButton2 (StartButton2) package { import flash.display.*; public dynamic class StartButton2 extends SimpleButton { } }//package

Library Items

Symbol 1 Sound {Colored}
Symbol 2 Sound {Bad}
Symbol 3 Sound {Good}
Symbol 4 Sound {Bonus}
Symbol 5 Sound {Lost}
Symbol 6 Sound {MainTheme}
Symbol 7 Sound {Forest}
Symbol 8 Sound {BombE}
Symbol 9 Sound {Electricity}
Symbol 10 Sound {MenuMusic}
Symbol 11 Sound {SoundPassed}
Symbol 12 GraphicUsed by:53
Symbol 13 FontUsed by:14 188
Symbol 14 TextUses:13Used by:53
Symbol 15 FontUsed by:16 150 152 154 156 158 263
Symbol 16 TextUses:15Used by:53
Symbol 17 GraphicUsed by:53
Symbol 18 GraphicUsed by:53 310 330
Symbol 19 GraphicUsed by:20
Symbol 20 MovieClipUses:19Used by:53
Symbol 21 GraphicUsed by:53 310 312 313
Symbol 22 GraphicUsed by:53
Symbol 23 GraphicUsed by:53 310 312 313
Symbol 24 GraphicUsed by:53 310 312 313
Symbol 25 GraphicUsed by:53 310 312 313
Symbol 26 GraphicUsed by:27 61 111 211 299
Symbol 27 MovieClipUses:26Used by:37
Symbol 28 GraphicUsed by:29 62 112 212 300
Symbol 29 MovieClipUses:28Used by:37
Symbol 30 GraphicUsed by:31 136 213 301
Symbol 31 MovieClipUses:30Used by:37 198
Symbol 32 GraphicUsed by:33
Symbol 33 MovieClipUses:32Used by:37
Symbol 34 GraphicUsed by:35
Symbol 35 MovieClipUses:34Used by:37
Symbol 36 GraphicUsed by:37
Symbol 37 MovieClipUses:27 29 31 33 35 36Used by:53
Symbol 38 GraphicUsed by:53 310 312 313
Symbol 39 GraphicUsed by:53 310 312 313
Symbol 40 GraphicUsed by:53
Symbol 41 GraphicUsed by:53 310 312 313
Symbol 42 GraphicUsed by:53
Symbol 43 GraphicUsed by:53
Symbol 44 GraphicUsed by:53
Symbol 45 GraphicUsed by:53
Symbol 46 BitmapUsed by:47
Symbol 47 GraphicUses:46Used by:48
Symbol 48 Button {FrosmoLogo}Uses:47Used by:53 160 281
Symbol 49 FontUsed by:50 102 103 104 105 186 255 258 261 262 264 270 273 275 278 339 341 343 346 349 350 351 354 357 359 360 361 365 367 368 369 463 469
Symbol 50 TextUses:49Used by:52
Symbol 51 GraphicUsed by:52 352
Symbol 52 Button {BackButton}Uses:50 51Used by:53 160 345 363 372
Symbol 53 MovieClip {GameWin}Uses:12 14 16 17 18 20 21 22 23 24 25 37 38 39 40 41 42 43 44 45 48 52
Symbol 54 GraphicUsed by:55
Symbol 55 MovieClipUses:54Used by:56
Symbol 56 MovieClip {Bumper}Uses:55
Symbol 57 GraphicUsed by:87
Symbol 58 GraphicUsed by:59
Symbol 59 MovieClipUses:58Used by:82
Symbol 60 GraphicUsed by:82
Symbol 61 MovieClipUses:26Used by:71 97 198
Symbol 62 MovieClipUses:28Used by:71 97 198
Symbol 63 GraphicUsed by:64 113
Symbol 64 MovieClipUses:63Used by:71
Symbol 65 GraphicUsed by:66
Symbol 66 MovieClipUses:65Used by:71 97 198
Symbol 67 GraphicUsed by:68
Symbol 68 MovieClipUses:67Used by:71 97 198
Symbol 69 GraphicUsed by:70 118
Symbol 70 MovieClipUses:69Used by:71
Symbol 71 MovieClipUses:61 62 64 66 68 70Used by:82
Symbol 72 GraphicUsed by:82 98 121 128
Symbol 73 GraphicUsed by:82 98 121 128
Symbol 74 GraphicUsed by:75 120
Symbol 75 MovieClipUses:74Used by:82 98
Symbol 76 GraphicUsed by:82
Symbol 77 GraphicUsed by:82
Symbol 78 GraphicUsed by:82
Symbol 79 GraphicUsed by:82
Symbol 80 GraphicUsed by:82
Symbol 81 GraphicUsed by:82
Symbol 82 MovieClipUses:59 60 71 72 73 75 76 77 78 79 80 81Used by:87
Symbol 83 GraphicUsed by:87
Symbol 84 GraphicUsed by:86
Symbol 85 GraphicUsed by:86
Symbol 86 MovieClipUses:84 85Used by:87
Symbol 87 MovieClip {GameplayBG3}Uses:57 82 83 86
Symbol 88 GraphicUsed by:100
Symbol 89 GraphicUsed by:98
Symbol 90 GraphicUsed by:98
Symbol 91 GraphicUsed by:98 128
Symbol 92 GraphicUsed by:98
Symbol 93 GraphicUsed by:94 125
Symbol 94 MovieClipUses:93Used by:97
Symbol 95 GraphicUsed by:96 126
Symbol 96 MovieClipUses:95Used by:97
Symbol 97 MovieClipUses:61 62 94 66 68 96Used by:98
Symbol 98 MovieClipUses:89 90 91 92 97 72 73 75Used by:100
Symbol 99 GraphicUsed by:100
Symbol 100 MovieClip {GameplayBG2}Uses:88 98 99
Symbol 101 GraphicUsed by:160
Symbol 102 TextUses:49Used by:160
Symbol 103 TextUses:49Used by:160
Symbol 104 TextUses:49Used by:160
Symbol 105 TextUses:49Used by:160
Symbol 106 GraphicUsed by:121 128 146
Symbol 107 GraphicUsed by:121 128 146
Symbol 108 GraphicUsed by:109
Symbol 109 MovieClipUses:108Used by:121
Symbol 110 GraphicUsed by:121
Symbol 111 MovieClipUses:26Used by:119 127 139
Symbol 112 MovieClipUses:28Used by:119 127 139
Symbol 113 MovieClipUses:63Used by:119
Symbol 114 GraphicUsed by:115
Symbol 115 MovieClipUses:114Used by:119 127 139
Symbol 116 GraphicUsed by:117
Symbol 117 MovieClipUses:116Used by:119 127 139
Symbol 118 MovieClipUses:69Used by:119
Symbol 119 MovieClipUses:111 112 113 115 117 118Used by:121
Symbol 120 MovieClipUses:74Used by:121 128
Symbol 121 MovieClipUses:106 107 109 110 119 72 73 120Used by:160
Symbol 122 GraphicUsed by:128
Symbol 123 GraphicUsed by:128
Symbol 124 GraphicUsed by:128
Symbol 125 MovieClipUses:93Used by:127
Symbol 126 MovieClipUses:95Used by:127
Symbol 127 MovieClipUses:111 112 125 115 117 126Used by:128
Symbol 128 MovieClipUses:106 107 122 123 91 124 127 72 73 120Used by:160
Symbol 129 GraphicUsed by:130
Symbol 130 MovieClipUses:129Used by:146
Symbol 131 GraphicUsed by:133
Symbol 132 GraphicUsed by:133
Symbol 133 MovieClipUses:131 132Used by:146
Symbol 134 GraphicUsed by:135
Symbol 135 MovieClipUses:134Used by:146
Symbol 136 MovieClipUses:30Used by:139
Symbol 137 GraphicUsed by:138 197 218
Symbol 138 MovieClipUses:137Used by:139
Symbol 139 MovieClipUses:111 112 136 115 117 138Used by:146
Symbol 140 GraphicUsed by:141
Symbol 141 MovieClipUses:140Used by:146
Symbol 142 GraphicUsed by:143
Symbol 143 MovieClipUses:142Used by:146
Symbol 144 GraphicUsed by:145
Symbol 145 MovieClipUses:144Used by:146
Symbol 146 MovieClipUses:106 107 130 133 135 139 141 143 145Used by:160
Symbol 147 GraphicUsed by:148
Symbol 148 MovieClipUses:147Used by:151 153 155 157 159
Symbol 149 GraphicUsed by:151 153 155 157 159
Symbol 150 TextUses:15Used by:151
Symbol 151 MovieClip {Level2Icon}Uses:148 149 150Used by:160
Symbol 152 TextUses:15Used by:153
Symbol 153 MovieClip {Level3Icon}Uses:148 149 152Used by:160
Symbol 154 TextUses:15Used by:155
Symbol 155 MovieClip {Level4Icon}Uses:148 149 154Used by:160
Symbol 156 TextUses:15Used by:157
Symbol 157 MovieClip {Level5Icon}Uses:148 149 156Used by:160
Symbol 158 TextUses:15Used by:159
Symbol 159 MovieClip {Level1Icon}Uses:148 149 158Used by:160
Symbol 160 MovieClip {LevelSelectScreen}Uses:101 102 103 104 105 121 128 146 151 153 155 157 159 52 48
Symbol 161 GraphicUsed by:164 165 166 167 168 169 170 171 174 175 176 177 178 179
Symbol 162 GraphicUsed by:164 165 166 167 168 169 170 171 173 174 175 176 177 178 179
Symbol 163 GraphicUsed by:164 165 166 167 168 169 170 171 173 174 175 176 177 178 179
Symbol 164 MovieClip {Level20Icon}Uses:161 162 163
Symbol 165 MovieClip {Level19Icon}Uses:161 162 163
Symbol 166 MovieClip {Level18Icon}Uses:161 162 163
Symbol 167 MovieClip {Level17Icon}Uses:161 162 163
Symbol 168 MovieClip {Level16Icon}Uses:161 162 163
Symbol 169 MovieClip {Level15Icon}Uses:161 162 163
Symbol 170 MovieClip {Level14Icon}Uses:161 162 163
Symbol 171 MovieClip {Level13Icon}Uses:161 162 163
Symbol 172 GraphicUsed by:173
Symbol 173 MovieClip {Level12Icon}Uses:172 162 163
Symbol 174 MovieClip {Level11Icon}Uses:161 162 163
Symbol 175 MovieClip {Level10Icon}Uses:161 162 163
Symbol 176 MovieClip {Level9Icon}Uses:161 162 163
Symbol 177 MovieClip {Level8Icon}Uses:161 162 163
Symbol 178 MovieClip {Level7Icon}Uses:161 162 163
Symbol 179 MovieClip {Level6Icon}Uses:161 162 163
Symbol 180 GraphicUsed by:190
Symbol 181 FontUsed by:182
Symbol 182 EditableTextUses:181Used by:190
Symbol 183 GraphicUsed by:190
Symbol 184 FontUsed by:185
Symbol 185 EditableTextUses:184Used by:190
Symbol 186 TextUses:49Used by:189
Symbol 187 GraphicUsed by:189 274 347
Symbol 188 TextUses:13Used by:189 274 277 280 347
Symbol 189 Button {StartButton}Uses:186 187 188Used by:190 345 363
Symbol 190 MovieClip {LevelIntroScreen}Uses:180 182 183 185 189
Symbol 191 GraphicUsed by:200 221
Symbol 192 GraphicUsed by:193
Symbol 193 MovieClipUses:192Used by:200
Symbol 194 GraphicUsed by:195 209
Symbol 195 MovieClipUses:194Used by:200
Symbol 196 GraphicUsed by:200
Symbol 197 MovieClipUses:137Used by:198
Symbol 198 MovieClipUses:61 62 31 66 68 197Used by:200
Symbol 199 GraphicUsed by:200
Symbol 200 MovieClip {GameplayBG4}Uses:191 193 195 196 198 199
Symbol 201 GraphicUsed by:203
Symbol 202 GraphicUsed by:203
Symbol 203 MovieClip {ParticleStar}Uses:201 202
Symbol 204 FontUsed by:205 248 249 289 290
Symbol 205 EditableTextUses:204Used by:206
Symbol 206 MovieClip {LevelManager}Uses:205
Symbol 207 GraphicUsed by:208
Symbol 208 MovieClipUses:207Used by:221
Symbol 209 MovieClipUses:194Used by:221
Symbol 210 GraphicUsed by:221
Symbol 211 MovieClipUses:26Used by:219
Symbol 212 MovieClipUses:28Used by:219
Symbol 213 MovieClipUses:30Used by:219
Symbol 214 GraphicUsed by:215
Symbol 215 MovieClipUses:214Used by:219
Symbol 216 GraphicUsed by:217
Symbol 217 MovieClipUses:216Used by:219
Symbol 218 MovieClipUses:137Used by:219
Symbol 219 MovieClipUses:211 212 213 215 217 218Used by:221
Symbol 220 GraphicUsed by:221
Symbol 221 MovieClip {GameplayBG1}Uses:191 208 209 210 219 220
Symbol 222 GraphicUsed by:223
Symbol 223 MovieClipUses:222Used by:226 229 232 233
Symbol 224 GraphicUsed by:225
Symbol 225 MovieClipUses:224Used by:226
Symbol 226 MovieClip {FrosmoFrosmo_fla.blowPart_24}Uses:223 225Used by:234
Symbol 227 GraphicUsed by:228
Symbol 228 MovieClipUses:227Used by:229 233
Symbol 229 MovieClip {FrosmoFrosmo_fla.blowPartcopy_27}Uses:223 228Used by:234
Symbol 230 GraphicUsed by:231
Symbol 231 MovieClipUses:230Used by:232
Symbol 232 MovieClip {FrosmoFrosmo_fla.blowPartcopy2_29}Uses:223 231Used by:234
Symbol 233 MovieClip {FrosmoFrosmo_fla.blowPartcopy3_31}Uses:223 228Used by:234
Symbol 234 MovieClip {FrosmoFrosmo_fla.eexplosion_23}Uses:226 229 232 233Used by:247
Symbol 235 GraphicUsed by:236 447
Symbol 236 MovieClipUses:235Used by:246
Symbol 237 GraphicUsed by:238 448
Symbol 238 MovieClipUses:237Used by:246
Symbol 239 GraphicUsed by:240 449
Symbol 240 MovieClipUses:239Used by:246
Symbol 241 GraphicUsed by:242 243 450 451
Symbol 242 MovieClipUses:241Used by:246
Symbol 243 MovieClipUses:241Used by:246
Symbol 244 GraphicUsed by:245 452
Symbol 245 MovieClipUses:244Used by:246
Symbol 246 MovieClip {FrosmoFrosmo_fla.kaboob_32}Uses:236 238 240 242 243 245Used by:247
Symbol 247 MovieClip {BombExplosion}Uses:234 246
Symbol 248 EditableTextUses:204Used by:250
Symbol 249 EditableTextUses:204Used by:250
Symbol 250 MovieClip {BonusPopUp}Uses:248 249
Symbol 251 GraphicUsed by:252
Symbol 252 MovieClip {Obstacle}Uses:251
Symbol 253 MovieClip {ScorePopUp}
Symbol 254 GraphicUsed by:265
Symbol 255 TextUses:49Used by:257
Symbol 256 GraphicUsed by:257 259
Symbol 257 Button {NextLevelButton}Uses:255 256Used by:265
Symbol 258 TextUses:49Used by:259
Symbol 259 Button {LevelMapButton}Uses:258 256Used by:265
Symbol 260 GraphicUsed by:265
Symbol 261 TextUses:49Used by:265
Symbol 262 TextUses:49Used by:265
Symbol 263 TextUses:15Used by:265
Symbol 264 EditableTextUses:49Used by:265
Symbol 265 MovieClip {LevelPassedScreen}Uses:254 257 259 260 261 262 263 264
Symbol 266 GraphicUsed by:281
Symbol 267 GraphicUsed by:268
Symbol 268 MovieClipUses:267Used by:281
Symbol 269 GraphicUsed by:281
Symbol 270 TextUses:49Used by:272
Symbol 271 GraphicUsed by:272
Symbol 272 Button {CreditsButton}Uses:270 271Used by:281
Symbol 273 TextUses:49Used by:274
Symbol 274 Button {StartButton2}Uses:273 187 188Used by:281
Symbol 275 TextUses:49Used by:277
Symbol 276 GraphicUsed by:277
Symbol 277 Button {FreeModeBut}Uses:275 276 188Used by:281
Symbol 278 TextUses:49Used by:280
Symbol 279 GraphicUsed by:280
Symbol 280 Button {InstructionsBut}Uses:278 279 188Used by:281
Symbol 281 MovieClip {Introscreen}Uses:266 268 269 48 272 274 277 280
Symbol 282 GraphicUsed by:283
Symbol 283 MovieClipUses:282Used by:285
Symbol 284 GraphicUsed by:285 288
Symbol 285 Button {FreeModeButton}Uses:283 284
Symbol 286 GraphicUsed by:287 288
Symbol 287 MovieClipUses:286Used by:288
Symbol 288 Button {InstructionsButton}Uses:287 286 284
Symbol 289 EditableTextUses:204Used by:291
Symbol 290 EditableTextUses:204Used by:291
Symbol 291 MovieClip {ScoreManager}Uses:289 290
Symbol 292 GraphicUsed by:293
Symbol 293 MovieClip {EnergyBar}Uses:292
Symbol 294 GraphicUsed by:295
Symbol 295 MovieClipUses:294Used by:310 312 313
Symbol 296 GraphicUsed by:310 312 313
Symbol 297 GraphicUsed by:310 312 313
Symbol 298 GraphicUsed by:310 312 313
Symbol 299 MovieClipUses:26Used by:308 311 323
Symbol 300 MovieClipUses:28Used by:308 311 323
Symbol 301 MovieClipUses:30Used by:308 311 323
Symbol 302 GraphicUsed by:303
Symbol 303 MovieClipUses:302Used by:308 311 323
Symbol 304 GraphicUsed by:305
Symbol 305 MovieClipUses:304Used by:308 311 323
Symbol 306 GraphicUsed by:307
Symbol 307 MovieClipUses:306Used by:308 311 323
Symbol 308 MovieClipUses:299 300 301 303 305 307Used by:310
Symbol 309 GraphicUsed by:310 312 313
Symbol 310 MovieClipUses:18 295 296 297 21 298 23 24 25 308 38 39 309 41Used by:331 345
Symbol 311 MovieClip {FrosmoFrosmo_fla._EyeHerocopy4_83}Uses:299 300 301 303 305 307Used by:312 313
Symbol 312 MovieClip {FrosmoFrosmo_fla.CatchHero_82}Uses:295 296 297 21 298 23 24 25 311 38 39 309 41Used by:331
Symbol 313 MovieClip {FrosmoFrosmo_fla.ThrowHero_84}Uses:295 296 297 21 298 23 24 25 311 38 39 309 41Used by:331
Symbol 314 GraphicUsed by:315
Symbol 315 MovieClipUses:314Used by:330
Symbol 316 GraphicUsed by:330
Symbol 317 GraphicUsed by:330
Symbol 318 GraphicUsed by:330
Symbol 319 GraphicUsed by:330
Symbol 320 GraphicUsed by:330
Symbol 321 GraphicUsed by:330
Symbol 322 GraphicUsed by:330
Symbol 323 MovieClipUses:299 300 301 303 305 307Used by:330
Symbol 324 GraphicUsed by:330
Symbol 325 GraphicUsed by:330
Symbol 326 GraphicUsed by:330
Symbol 327 GraphicUsed by:330
Symbol 328 GraphicUsed by:330
Symbol 329 MovieClipUsed by:330
Symbol 330 MovieClipUses:315 316 317 318 319 320 321 322 18 323 324 325 326 327 328 329Used by:331
Symbol 331 MovieClip {Hero}Uses:310 312 313 330
Symbol 332 GraphicUsed by:333
Symbol 333 MovieClip {Ball3}Uses:332
Symbol 334 GraphicUsed by:335
Symbol 335 MovieClip {Ball2}Uses:334
Symbol 336 GraphicUsed by:337
Symbol 337 MovieClip {Ball1}Uses:336
Symbol 338 GraphicUsed by:345
Symbol 339 TextUses:49Used by:345
Symbol 340 GraphicUsed by:345
Symbol 341 TextUses:49Used by:344
Symbol 342 GraphicUsed by:344
Symbol 343 TextUses:49Used by:344
Symbol 344 Button {CreditsMC}Uses:341 342 343Used by:345
Symbol 345 MovieClip {Credits}Uses:338 339 310 340 344 189 52
Symbol 346 TextUses:49Used by:347
Symbol 347 Button {NextButton}Uses:346 187 188Used by:363
Symbol 348 GraphicUsed by:363
Symbol 349 TextUses:49Used by:363
Symbol 350 TextUses:49Used by:363
Symbol 351 TextUses:49Used by:352
Symbol 352 Button {BackB}Uses:351 51Used by:363
Symbol 353 GraphicUsed by:363
Symbol 354 TextUses:49Used by:363
Symbol 355 GraphicUsed by:363
Symbol 356 GraphicUsed by:363
Symbol 357 TextUses:49Used by:363
Symbol 358 GraphicUsed by:363
Symbol 359 TextUses:49Used by:363
Symbol 360 TextUses:49Used by:363
Symbol 361 TextUses:49Used by:363
Symbol 362 GraphicUsed by:363
Symbol 363 MovieClip {Instructions}Uses:348 349 350 52 189 347 352 353 354 355 356 357 358 359 360 361 362
Symbol 364 GraphicUsed by:372
Symbol 365 TextUses:49Used by:372
Symbol 366 GraphicUsed by:372
Symbol 367 TextUses:49Used by:372
Symbol 368 EditableTextUses:49Used by:372
Symbol 369 TextUses:49Used by:371
Symbol 370 GraphicUsed by:371
Symbol 371 Button {RestartButton}Uses:369 370Used by:372
Symbol 372 MovieClip {Gameover}Uses:364 365 366 367 368 52 371
Symbol 373 GraphicUsed by:374
Symbol 374 MovieClip {BallSpecial}Uses:373
Symbol 375 GraphicUsed by:376
Symbol 376 MovieClip {ShootingZone}Uses:375
Symbol 377 GraphicUsed by:378
Symbol 378 MovieClip {PowerUpElectric}Uses:377
Symbol 379 GraphicUsed by:380
Symbol 380 MovieClipUses:379Used by:435
Symbol 381 ShapeTweeningUsed by:434
Symbol 382 GraphicUsed by:434
Symbol 383 ShapeTweeningUsed by:434
Symbol 384 ShapeTweeningUsed by:434
Symbol 385 ShapeTweeningUsed by:434
Symbol 386 GraphicUsed by:434
Symbol 387 GraphicUsed by:434
Symbol 388 ShapeTweeningUsed by:434
Symbol 389 ShapeTweeningUsed by:434
Symbol 390 ShapeTweeningUsed by:434
Symbol 391 ShapeTweeningUsed by:434
Symbol 392 GraphicUsed by:434
Symbol 393 ShapeTweeningUsed by:434
Symbol 394 GraphicUsed by:434
Symbol 395 ShapeTweeningUsed by:434
Symbol 396 GraphicUsed by:434
Symbol 397 GraphicUsed by:434
Symbol 398 GraphicUsed by:434
Symbol 399 ShapeTweeningUsed by:434
Symbol 400 GraphicUsed by:434
Symbol 401 ShapeTweeningUsed by:434
Symbol 402 GraphicUsed by:434
Symbol 403 GraphicUsed by:434
Symbol 404 GraphicUsed by:434
Symbol 405 ShapeTweeningUsed by:434
Symbol 406 GraphicUsed by:434
Symbol 407 GraphicUsed by:434
Symbol 408 GraphicUsed by:434
Symbol 409 ShapeTweeningUsed by:434
Symbol 410 ShapeTweeningUsed by:434
Symbol 411 GraphicUsed by:434
Symbol 412 GraphicUsed by:434
Symbol 413 ShapeTweeningUsed by:434
Symbol 414 ShapeTweeningUsed by:434
Symbol 415 ShapeTweeningUsed by:434
Symbol 416 ShapeTweeningUsed by:434
Symbol 417 GraphicUsed by:434
Symbol 418 ShapeTweeningUsed by:434
Symbol 419 ShapeTweeningUsed by:434
Symbol 420 ShapeTweeningUsed by:434
Symbol 421 GraphicUsed by:434
Symbol 422 ShapeTweeningUsed by:434
Symbol 423 GraphicUsed by:434
Symbol 424 ShapeTweeningUsed by:434
Symbol 425 GraphicUsed by:434
Symbol 426 ShapeTweeningUsed by:434
Symbol 427 GraphicUsed by:434
Symbol 428 GraphicUsed by:434
Symbol 429 GraphicUsed by:434
Symbol 430 GraphicUsed by:434
Symbol 431 GraphicUsed by:434
Symbol 432 ShapeTweeningUsed by:434
Symbol 433 GraphicUsed by:434
Symbol 434 MovieClip {FrosmoFrosmo_fla.flash_43}Uses:381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433Used by:435
Symbol 435 MovieClip {PowerUpElectricBorder}Uses:380 434
Symbol 436 GraphicUsed by:437
Symbol 437 MovieClip {PowerUpBomb}Uses:436
Symbol 438 GraphicUsed by:439
Symbol 439 MovieClip {Bomb}Uses:438
Symbol 440 GraphicUsed by:441
Symbol 441 MovieClip {PowerUpFreeze}Uses:440
Symbol 442 GraphicUsed by:446
Symbol 443 GraphicUsed by:444
Symbol 444 MovieClipUses:443Used by:446
Symbol 445 GraphicUsed by:446
Symbol 446 MovieClip {PowerUpBigBall}Uses:442 444 445
Symbol 447 MovieClipUses:235Used by:453
Symbol 448 MovieClipUses:237Used by:453
Symbol 449 MovieClipUses:239Used by:453
Symbol 450 MovieClipUses:241Used by:453
Symbol 451 MovieClipUses:241Used by:453
Symbol 452 MovieClipUses:244Used by:453
Symbol 453 MovieClip {kaboob}Uses:447 448 449 450 451 452
Symbol 454 GraphicUsed by:455
Symbol 455 MovieClipUses:454Used by:456
Symbol 456 MovieClip {Spritefreeze}Uses:455
Symbol 457 GraphicUsed by:458
Symbol 458 MovieClipUses:457Used by:460
Symbol 459 GraphicUsed by:460
Symbol 460 MovieClip {SoundButton}Uses:458 459
Symbol 461 MovieClip {BackgroundManager}
Symbol 462 MovieClip {BombExplosionPrecached}
Symbol 463 TextUses:49Used by:464
Symbol 464 Button {CreditsBut}Uses:463
Symbol 465 BitmapUsed by:466
Symbol 466 GraphicUses:465Used by:467
Symbol 467 Button {FrosmoSplash}Uses:466Used by:468
Symbol 468 MovieClip {Preloader}Uses:467
Symbol 469 TextUses:49Used by:470
Symbol 470 MovieClip {ColoredMessage}Uses:469
Symbol 471 MovieClip {com.kongregate.as3.client.KongregateAPI}
Symbol 472 BitmapUsed by:473
Symbol 473 GraphicUses:472Used by:474
Symbol 474 MovieClip {com.mindjolt.api.as3.MindJoltAPI}Uses:473Used by:Timeline

Instance Names

"menuB"Symbol 53 MovieClip {GameWin} Frame 1Symbol 52 Button {BackButton}
"level2"Symbol 160 MovieClip {LevelSelectScreen} Frame 1Symbol 151 MovieClip {Level2Icon}
"level3"Symbol 160 MovieClip {LevelSelectScreen} Frame 1Symbol 153 MovieClip {Level3Icon}
"level4"Symbol 160 MovieClip {LevelSelectScreen} Frame 1Symbol 155 MovieClip {Level4Icon}
"level5"Symbol 160 MovieClip {LevelSelectScreen} Frame 1Symbol 157 MovieClip {Level5Icon}
"level6"Symbol 160 MovieClip {LevelSelectScreen} Frame 1Symbol 159 MovieClip {Level1Icon}
"level7"Symbol 160 MovieClip {LevelSelectScreen} Frame 1Symbol 151 MovieClip {Level2Icon}
"level8"Symbol 160 MovieClip {LevelSelectScreen} Frame 1Symbol 153 MovieClip {Level3Icon}
"level9"Symbol 160 MovieClip {LevelSelectScreen} Frame 1Symbol 155 MovieClip {Level4Icon}
"level10"Symbol 160 MovieClip {LevelSelectScreen} Frame 1Symbol 157 MovieClip {Level5Icon}
"level11"Symbol 160 MovieClip {LevelSelectScreen} Frame 1Symbol 159 MovieClip {Level1Icon}
"level12"Symbol 160 MovieClip {LevelSelectScreen} Frame 1Symbol 151 MovieClip {Level2Icon}
"level13"Symbol 160 MovieClip {LevelSelectScreen} Frame 1Symbol 153 MovieClip {Level3Icon}
"level14"Symbol 160 MovieClip {LevelSelectScreen} Frame 1Symbol 155 MovieClip {Level4Icon}
"level15"Symbol 160 MovieClip {LevelSelectScreen} Frame 1Symbol 157 MovieClip {Level5Icon}
"level1"Symbol 160 MovieClip {LevelSelectScreen} Frame 1Symbol 159 MovieClip {Level1Icon}
"menuB"Symbol 160 MovieClip {LevelSelectScreen} Frame 1Symbol 52 Button {BackButton}
"messageTxt"Symbol 190 MovieClip {LevelIntroScreen} Frame 1Symbol 182 EditableText
"levelTxt"Symbol 190 MovieClip {LevelIntroScreen} Frame 1Symbol 185 EditableText
"start"Symbol 190 MovieClip {LevelIntroScreen} Frame 1Symbol 189 Button {StartButton}
"scoreTxt"Symbol 206 MovieClip {LevelManager} Frame 1Symbol 205 EditableText
"msgTxt"Symbol 250 MovieClip {BonusPopUp} Frame 1Symbol 248 EditableText
"scoreTxt"Symbol 250 MovieClip {BonusPopUp} Frame 1Symbol 249 EditableText
"nextLevel"Symbol 265 MovieClip {LevelPassedScreen} Frame 1Symbol 257 Button {NextLevelButton}
"levelMap"Symbol 265 MovieClip {LevelPassedScreen} Frame 1Symbol 259 Button {LevelMapButton}
"score"Symbol 265 MovieClip {LevelPassedScreen} Frame 1Symbol 264 EditableText
"logo"Symbol 281 MovieClip {Introscreen} Frame 1Symbol 48 Button {FrosmoLogo}
"creditsB"Symbol 281 MovieClip {Introscreen} Frame 1Symbol 272 Button {CreditsButton}
"startB"Symbol 281 MovieClip {Introscreen} Frame 1Symbol 274 Button {StartButton2}
"freemodeB"Symbol 281 MovieClip {Introscreen} Frame 1Symbol 277 Button {FreeModeBut}
"instructionsB"Symbol 281 MovieClip {Introscreen} Frame 1Symbol 280 Button {InstructionsBut}
"scoreText"Symbol 291 MovieClip {ScoreManager} Frame 1Symbol 289 EditableText
"colored"Symbol 291 MovieClip {ScoreManager} Frame 1Symbol 290 EditableText
"creditsMC"Symbol 345 MovieClip {Credits} Frame 1Symbol 344 Button {CreditsMC}
"startB"Symbol 345 MovieClip {Credits} Frame 1Symbol 189 Button {StartButton}
"menuB"Symbol 345 MovieClip {Credits} Frame 1Symbol 52 Button {BackButton}
"menuB"Symbol 363 MovieClip {Instructions} Frame 1Symbol 52 Button {BackButton}
"startB"Symbol 363 MovieClip {Instructions} Frame 1Symbol 189 Button {StartButton}
"nextB"Symbol 363 MovieClip {Instructions} Frame 1Symbol 347 Button {NextButton}
"backB"Symbol 363 MovieClip {Instructions} Frame 1Symbol 352 Button {BackB}
"score"Symbol 372 MovieClip {Gameover} Frame 1Symbol 368 EditableText
"backB"Symbol 372 MovieClip {Gameover} Frame 1Symbol 52 Button {BackButton}
"restart"Symbol 372 MovieClip {Gameover} Frame 1Symbol 371 Button {RestartButton}
"splash"Symbol 468 MovieClip {Preloader} Frame 1Symbol 467 Button {FrosmoSplash}

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.

Labels

"Idle"Symbol 331 MovieClip {Hero} Frame 1
"Catch"Symbol 331 MovieClip {Hero} Frame 2
"Catch"Symbol 331 MovieClip {Hero} Frame 3
"RunL"Symbol 331 MovieClip {Hero} Frame 4
"RunR"Symbol 331 MovieClip {Hero} Frame 5




http://swfchan.com/27/132949/info.shtml
Created: 17/2 -2019 06:13:37 Last modified: 17/2 -2019 06:13:37 Server time: 09/05 -2024 11:35:26