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

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

Kablammo.swf

This is the info page for
Flash #46588

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


Text
Oops! Your mouse pointer seems to have wandered off.
Click the white bomb to resume play.

0

EVEN MORE GAMES AT

Jess Hansen's

Press S to toggle sound effects

Highest score: 0

Longest combo: 0x

START GAME    SCORE HISTORY    INSTRUCTIONS    MORE GAMES

Jess Hansen's

START GAME    HIGHSCORES    INSTRUCTIONS    MORE GAMES

Highest score: 0

Longest combo: 0x

SCORE HISTORY

Make sure that the bombs land softly on your fluffy white pillows

Miss a bomb and you lose a pillow

The game ends when you lose your last pillow

You'll receive a new pillow every 1000 points

...Oh, and the horizontal line running across the screen is to help you keep the mouse cursor inside the play area.

RETURN TO TITLE SCREEN

RETURN TO TITLE SCREEN

SUBMIT SCORE    PLAY AGAIN

Enter name here...

12x combo

RETURN TO TITLE SCREEN

Latest

Oldest

Use the graph below to compare your 20 latest scores

No scores yet!

Always show values

Whoops!

This site is not authorized to host Kablammo!

Please play the game from games.jesshansen.com.

Thank you.

ActionScript [AS3]

Section 1
//RC4 (com.meychi.ascrypt3.RC4) package com.meychi.ascrypt3 { public class RC4 { private static var mykey:Array = new Array(0xFF); private static var sbox:Array = new Array(0xFF); public function encrypt(_arg1:String, _arg2:String):String{ var _local3:Array; var _local4:Array; var _local5:Array; _local3 = strToChars(_arg1); _local4 = strToChars(_arg2); _local5 = calculate(_local3, _local4); return (charsToHex(_local5)); } public function decrypt(_arg1:String, _arg2:String):String{ var _local3:Array; var _local4:Array; var _local5:Array; _local3 = hexToChars(_arg1); _local4 = strToChars(_arg2); _local5 = calculate(_local3, _local4); return (charsToStr(_local5)); } private static function initialize(_arg1:Array):void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local2 = 0; _local4 = _arg1.length; _local5 = 0; _local5 = 0; while (_local5 <= 0xFF) { mykey[_local5] = _arg1[(_local5 % _local4)]; sbox[_local5] = _local5; _local5++; }; _local5 = 0; while (_local5 <= 0xFF) { _local2 = (((_local2 + sbox[_local5]) + mykey[_local5]) % 0x0100); _local3 = sbox[_local5]; sbox[_local5] = sbox[_local2]; sbox[_local2] = _local3; _local5++; }; } private static function strToChars(_arg1:String):Array{ var _local2:Array; var _local3:Number; _local2 = new Array(); _local3 = 0; while (_local3 < _arg1.length) { _local2.push(_arg1.charCodeAt(_local3)); _local3++; }; return (_local2); } private static function charsToStr(_arg1:Array):String{ var _local2:String; var _local3:Number; _local2 = new String(""); _local3 = 0; while (_local3 < _arg1.length) { _local2 = (_local2 + String.fromCharCode(_arg1[_local3])); _local3++; }; return (_local2); } private static function charsToHex(_arg1:Array):String{ var _local2:String; var _local3:Array; var _local4:Number; _local2 = new String(""); _local3 = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"); _local4 = 0; while (_local4 < _arg1.length) { _local2 = (_local2 + (_local3[(_arg1[_local4] >> 4)] + _local3[(_arg1[_local4] & 15)])); _local4++; }; return (_local2); } private static function calculate(_arg1:Array, _arg2:Array):Array{ var _local3:Number; var _local4:Number; var _local5:Array; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; initialize(_arg2); _local3 = 0; _local4 = 0; _local5 = new Array(); _local9 = 0; while (_local9 < _arg1.length) { _local3 = ((_local3 + 1) % 0x0100); _local4 = ((_local4 + sbox[_local3]) % 0x0100); _local7 = sbox[_local3]; sbox[_local3] = sbox[_local4]; sbox[_local4] = _local7; _local10 = ((sbox[_local3] + sbox[_local4]) % 0x0100); _local6 = sbox[_local10]; _local8 = (_arg1[_local9] ^ _local6); _local5.push(_local8); _local9++; }; return (_local5); } private static function hexToChars(_arg1:String):Array{ var _local2:Array; var _local3:Number; _local2 = new Array(); _local3 = ((_arg1.substr(0, 2))=="0x") ? 2 : 0; while (_local3 < _arg1.length) { _local2.push(parseInt(_arg1.substr(_local3, 2), 16)); _local3 = (_local3 + 2); }; return (_local2); } } }//package com.meychi.ascrypt3
Section 2
//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 3
//MindJoltSponsoredAPI (com.mindjolt.api.as3.MindJoltSponsoredAPI) package com.mindjolt.api.as3 { import flash.events.*; import flash.display.*; import com.meychi.ascrypt3.*; import flash.net.*; import flash.external.*; public class MindJoltSponsoredAPI { private static var displayObject:Object; private static var connected:Boolean = false; private static var gameId:String; private static var flashCookie:SharedObject; private static var key:String; public static function openLink(_arg1:uint, _arg2:String=null):void{ var url:String; var browserAgent:String; var linkId = _arg1; var mode = _arg2; url = (((((("http://game.mindjolt.com/servlet/GameLink?key=" + gameId) + "&link=") + linkId) + ((mode)!=null) ? ("&mode=" + escape(mode)) : "") + "&httpref=") + escape(displayObject.loaderInfo.loaderURL)); browserAgent = null; try { if (ExternalInterface.available){ browserAgent = ExternalInterface.call("function getBrowser(){return navigator.userAgent;}"); }; } catch(e:Error) { browserAgent = null; }; if (((((!((browserAgent == null))) && (ExternalInterface.available))) && ((((browserAgent.indexOf("Firefox") >= 0)) || ((browserAgent.indexOf("MSIE") >= 0)))))){ trace("window.open"); ExternalInterface.call("window.open", url); } else { trace("navigatetourl"); navigateToURL(new URLRequest(url), "_blank"); }; } public static function connect(_arg1:String, _arg2:String, _arg3:Object){ if ((_arg3 is DisplayObject)){ if (!connected){ flashCookie = SharedObject.getLocal("com.mindjolt", "/"); flashCookie.objectEncoding = ObjectEncoding.AMF0; gameId = _arg1.toUpperCase(); key = _arg2.toUpperCase(); displayObject = _arg3; trace(displayObject.loaderInfo.loaderURL); connected = true; } else { trace("already connected!"); }; } else { trace("Error: MindJoltSponsoredAPI requires a displayobject. Try passing in root."); }; } private static function finishedSubmitScore(_arg1:Event):void{ var _local2:String; var _local3:RC4; var _local4:URLVariables; var _local5:String; _local2 = _arg1.target.data.session; if (_local2 != null){ trace("got back session"); _local3 = new RC4(); _local4 = new URLVariables(); _local4.decode(_local3.decrypt(_local2, key)); _local5 = _local4.userToken; trace((("result [" + _local4.result) + "]")); if (_local5 != null){ trace((("we are being told to set userToken [" + _local5) + "]")); flashCookie.data.userToken = _local5; flashCookie.flush(); }; }; } public static function submitScore(_arg1:String, _arg2:Number, _arg3:String=null){ var userToken:String; var rc4:RC4; var session:String; var send_lv:URLVariables; var request:URLRequest; var loader:URLLoader; var name = _arg1; var score = _arg2; var mode = _arg3; userToken = null; trace("testing if we have a userToken in shared object yet"); if (flashCookie.data.userToken != null){ userToken = flashCookie.data.userToken; trace((("FOUND [" + userToken) + "]")); } else { userToken = null; trace("no userToken set"); }; rc4 = new RC4(); session = rc4.encrypt(((((("score=" + score) + "&name=") + escape(name)) + ((mode)!=null) ? ("&mode=" + escape(mode)) : "") + ((userToken)!=null) ? ("&userToken=" + escape(userToken)) : ""), key); send_lv = new URLVariables(); send_lv.gameId = gameId; send_lv.session = session; request = new URLRequest(); request.url = "http://game.mindjolt.com/servlet/GameScore"; request.method = URLRequestMethod.POST; request.data = send_lv; loader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.VARIABLES; loader.addEventListener(Event.COMPLETE, finishedSubmitScore); loader.addEventListener(IOErrorEvent.IO_ERROR, failedSubmitScore); try { loader.load(request); } catch(e:Error) { trace(("SubmitScore send data Error: " + e)); }; } private static function failedSubmitScore(_arg1:Event):void{ trace("IOError in SubmitScore"); } } }//package com.mindjolt.api.as3
Section 4
//AdLoader (CPMStar.AdLoader) package CPMStar { import flash.display.*; import flash.net.*; import flash.system.*; public class AdLoader { private static var cpmstarLoader:Loader; public static function LoadAd(_arg1:int, _arg2:int):DisplayObject{ var _local3:String; Security.allowDomain("server.cpmstar.com"); _local3 = "http://server.cpmstar.com/adviewas3.swf"; cpmstarLoader = new Loader(); cpmstarLoader.load(new URLRequest(((((_local3 + "?poolid=") + _arg1) + "&subpoolid=") + _arg2))); return (cpmstarLoader); } } }//package CPMStar
Section 5
//None (fl.transitions.easing.None) package fl.transitions.easing { public class None { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } } }//package fl.transitions.easing
Section 6
//Regular (fl.transitions.easing.Regular) package fl.transitions.easing { public class Regular { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((_arg3 * _arg1) * _arg1) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2)); }; --_arg1; return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2)); } } }//package fl.transitions.easing
Section 7
//Strong (fl.transitions.easing.Strong) package fl.transitions.easing { public class Strong { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2)); } } }//package fl.transitions.easing
Section 8
//TweenLite (gs.TweenLite) package gs { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.geom.*; public class TweenLite { public var delay:Number; protected var _initted:Boolean; protected var _subTweens:Array; public var startTime:int; public var target:Object; public var duration:Number; protected var _hst:Boolean; protected var _isDisplayObject:Boolean; protected var _active:Boolean; public var vars:Object; public var tweens:Array; public var initTime:int; private static var _timer:Timer = new Timer(2000); private static var _classInitted:Boolean; public static var defaultEase:Function = TweenLite.easeOut; public static var version:Number = 7.03; private static var _sprite:Sprite = new Sprite(); protected static var _all:Dictionary = new Dictionary(); public static var killDelayedCallsTo:Function = TweenLite.killTweensOf; protected static var _curTime:uint; private static var _listening:Boolean; public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){ var _local4:*; super(); if (_arg1 == null){ return; }; if (((((!((_arg3.overwrite == false))) && (!((_arg1 == null))))) || ((_all[_arg1] == undefined)))){ delete _all[_arg1]; _all[_arg1] = new Dictionary(); }; _all[_arg1][this] = this; this.vars = _arg3; this.duration = ((_arg2) || (0.001)); this.delay = ((_arg3.delay) || (0)); _active = (((_arg2 == 0)) && ((this.delay == 0))); this.target = _arg1; _isDisplayObject = (_arg1 is DisplayObject); if (!(this.vars.ease is Function)){ this.vars.ease = defaultEase; }; if (this.vars.easeParams != null){ this.vars.proxiedEase = this.vars.ease; this.vars.ease = easeProxy; }; if (!isNaN(Number(this.vars.autoAlpha))){ this.vars.alpha = Number(this.vars.autoAlpha); this.vars.visible = (this.vars.alpha > 0); }; this.tweens = []; _subTweens = []; _hst = (_initted = false); if (!_classInitted){ _curTime = getTimer(); _sprite.addEventListener(Event.ENTER_FRAME, executeAll); _classInitted = true; }; this.initTime = _curTime; if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (_active))){ initTweenVals(); this.startTime = _curTime; if (_active){ render((this.startTime + 1)); } else { render(this.startTime); }; _local4 = this.vars.visible; if (this.vars.isTV == true){ _local4 = this.vars.exposedProps.visible; }; if (((((!((_local4 == null))) && ((this.vars.runBackwards == true)))) && (_isDisplayObject))){ this.target.visible = Boolean(_local4); }; }; if (((!(_listening)) && (!(_active)))){ _timer.addEventListener("timer", killGarbage); _timer.start(); _listening = true; }; } protected function addSubTween(_arg1:Function, _arg2:Object, _arg3:Object, _arg4:Object=null):void{ var _local5:Object; var _local6:String; _local5 = {proxy:_arg1, target:_arg2, info:_arg4}; _subTweens.push(_local5); for (_local6 in _arg3) { if (typeof(_arg3[_local6]) == "number"){ this.tweens.push({o:_arg2, p:_local6, s:_arg2[_local6], c:(_arg3[_local6] - _arg2[_local6]), sub:_local5}); } else { this.tweens.push({o:_arg2, p:_local6, s:_arg2[_local6], c:Number(_arg3[_local6]), sub:_local5}); }; }; _hst = true; } public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{ var _local3:String; var _local4:int; var _local5:Object; var _local6:Array; var _local7:ColorTransform; var _local8:ColorTransform; var _local9:Object; _local5 = this.vars; if (_local5.isTV == true){ _local5 = _local5.exposedProps; }; if ((this.target is Array)){ _local6 = ((this.vars.endArray) || ([])); _local4 = 0; while (_local4 < _local6.length) { if (((!((this.target[_local4] == _local6[_local4]))) && (!((this.target[_local4] == undefined))))){ this.tweens.push({o:this.target, p:_local4.toString(), s:this.target[_local4], c:(_local6[_local4] - this.target[_local4])}); }; _local4++; }; } else { if (((((!((typeof(_local5.tint) == "undefined"))) || ((this.vars.removeTint == true)))) && (_isDisplayObject))){ _local7 = this.target.transform.colorTransform; _local8 = new ColorTransform(); if (_local5.alpha != undefined){ _local8.alphaMultiplier = _local5.alpha; delete _local5.alpha; } else { _local8.alphaMultiplier = this.target.alpha; }; if (((!((this.vars.removeTint == true))) && (((((!((_local5.tint == null))) && (!((_local5.tint == ""))))) || ((_local5.tint == 0)))))){ _local8.color = _local5.tint; }; addSubTween(tintProxy, {progress:0}, {progress:1}, {target:this.target, color:_local7, endColor:_local8}); }; if (((!((_local5.frame == null))) && (_isDisplayObject))){ addSubTween(frameProxy, {frame:this.target.currentFrame}, {frame:_local5.frame}, {target:this.target}); }; if (((!(isNaN(this.vars.volume))) && (this.target.hasOwnProperty("soundTransform")))){ addSubTween(volumeProxy, this.target.soundTransform, {volume:this.vars.volume}, {target:this.target}); }; for (_local3 in _local5) { if ((((((((((((((((((((((((((((((((((_local3 == "ease")) || ((_local3 == "delay")))) || ((_local3 == "overwrite")))) || ((_local3 == "onComplete")))) || ((_local3 == "onCompleteParams")))) || ((_local3 == "runBackwards")))) || ((_local3 == "visible")))) || ((_local3 == "persist")))) || ((_local3 == "onUpdate")))) || ((_local3 == "onUpdateParams")))) || ((_local3 == "autoAlpha")))) || ((_local3 == "onStart")))) || ((_local3 == "onStartParams")))) || ((_local3 == "renderOnStart")))) || ((_local3 == "proxiedEase")))) || ((_local3 == "easeParams")))) || (((_arg1) && (!((_arg2.indexOf(((" " + _local3) + " ")) == -1))))))){ } else { if (((!(((_isDisplayObject) && ((((((_local3 == "tint")) || ((_local3 == "removeTint")))) || ((_local3 == "frame"))))))) && (!((((_local3 == "volume")) && (this.target.hasOwnProperty("soundTransform"))))))){ if (typeof(_local5[_local3]) == "number"){ this.tweens.push({o:this.target, p:_local3, s:this.target[_local3], c:(_local5[_local3] - this.target[_local3])}); } else { this.tweens.push({o:this.target, p:_local3, s:this.target[_local3], c:Number(_local5[_local3])}); }; }; }; }; }; if (this.vars.runBackwards == true){ _local4 = (this.tweens.length - 1); while (_local4 > -1) { _local9 = this.tweens[_local4]; this.tweens[_local4].s = (_local9.s + _local9.c); _local9.c = (_local9.c * -1); _local4--; }; }; if ((((_local5.visible == true)) && (_isDisplayObject))){ this.target.visible = true; }; _initted = true; } public function get active():Boolean{ if (_active){ return (true); }; if (((_curTime - this.initTime) / 1000) > this.delay){ _active = true; this.startTime = (this.initTime + (this.delay * 1000)); if (!_initted){ initTweenVals(); } else { if (((!((this.vars.visible == undefined))) && (_isDisplayObject))){ this.target.visible = true; }; }; if (this.vars.onStart != null){ this.vars.onStart.apply(null, this.vars.onStartParams); }; if (this.duration == 0.001){ this.startTime = (this.startTime - 1); }; return (true); //unresolved jump }; return (false); } public function render(_arg1:uint):void{ var _local2:Number; var _local3:Number; var _local4:Object; var _local5:int; _local2 = ((_arg1 - this.startTime) / 1000); if (_local2 >= this.duration){ _local2 = this.duration; _local3 = 1; } else { _local3 = this.vars.ease(_local2, 0, 1, this.duration); }; _local5 = (this.tweens.length - 1); while (_local5 > -1) { _local4 = this.tweens[_local5]; _local4.o[_local4.p] = (_local4.s + (_local3 * _local4.c)); _local5--; }; if (_hst){ _local5 = (_subTweens.length - 1); while (_local5 > -1) { _subTweens[_local5].proxy(_subTweens[_local5]); _local5--; }; }; if (this.vars.onUpdate != null){ this.vars.onUpdate.apply(null, this.vars.onUpdateParams); }; if (_local2 == this.duration){ complete(true); }; } protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams))); } public function complete(_arg1:Boolean=false):void{ if (!_arg1){ if (!_initted){ initTweenVals(); }; this.startTime = (_curTime - (this.duration * 1000)); render(_curTime); return; }; if (((!((this.vars.visible == undefined))) && (_isDisplayObject))){ if (((!(isNaN(this.vars.autoAlpha))) && ((this.target.alpha == 0)))){ this.target.visible = false; } else { if (this.vars.runBackwards != true){ this.target.visible = this.vars.visible; }; }; }; if (this.vars.persist != true){ removeTween(this); }; if (this.vars.onComplete != null){ this.vars.onComplete.apply(null, this.vars.onCompleteParams); }; } public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function frameProxy(_arg1:Object):void{ _arg1.info.target.gotoAndStop(Math.round(_arg1.target.frame)); } public static function removeTween(_arg1:TweenLite=null):void{ if (((!((_arg1 == null))) && (!((_all[_arg1.target] == undefined))))){ delete _all[_arg1.target][_arg1]; }; } public static function killTweensOf(_arg1:Object=null, _arg2:Boolean=false):void{ var _local3:Object; var _local4:*; if (((!((_arg1 == null))) && (!((_all[_arg1] == undefined))))){ if (_arg2){ _local3 = _all[_arg1]; for (_local4 in _local3) { _local3[_local4].complete(false); }; }; delete _all[_arg1]; }; } public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null):TweenLite{ return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, overwrite:false})); } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ _arg3.runBackwards = true; return (new TweenLite(_arg1, _arg2, _arg3)); } public static function executeAll(_arg1:Event=null):void{ var _local2:uint; var _local3:Dictionary; var _local4:Object; var _local5:Object; _local2 = (_curTime = getTimer()); if (_listening){ _local3 = _all; for each (_local4 in _local3) { for (_local5 in _local4) { if (((!((_local4[_local5] == undefined))) && (_local4[_local5].active))){ _local4[_local5].render(_local2); }; }; }; }; } public static function volumeProxy(_arg1:Object):void{ _arg1.info.target.soundTransform = _arg1.target; } public static function killGarbage(_arg1:TimerEvent):void{ var _local2:uint; var _local3:Boolean; var _local4:Object; var _local5:Object; var _local6:Object; _local2 = 0; for (_local4 in _all) { _local3 = false; for (_local5 in _all[_local4]) { _local3 = true; break; }; if (!_local3){ delete _all[_local4]; } else { _local2++; }; }; if (_local2 == 0){ _timer.removeEventListener("timer", killGarbage); _timer.stop(); _listening = false; }; } public static function tintProxy(_arg1:Object):void{ var _local2:Number; var _local3:Number; var _local4:Object; var _local5:Object; _local2 = _arg1.target.progress; _local3 = (1 - _local2); _local4 = _arg1.info.color; _local5 = _arg1.info.endColor; _arg1.info.target.transform.colorTransform = new ColorTransform(((_local4.redMultiplier * _local3) + (_local5.redMultiplier * _local2)), ((_local4.greenMultiplier * _local3) + (_local5.greenMultiplier * _local2)), ((_local4.blueMultiplier * _local3) + (_local5.blueMultiplier * _local2)), ((_local4.alphaMultiplier * _local3) + (_local5.alphaMultiplier * _local2)), ((_local4.redOffset * _local3) + (_local5.redOffset * _local2)), ((_local4.greenOffset * _local3) + (_local5.greenOffset * _local2)), ((_local4.blueOffset * _local3) + (_local5.blueOffset * _local2)), ((_local4.alphaOffset * _local3) + (_local5.alphaOffset * _local2))); } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ return (new TweenLite(_arg1, _arg2, _arg3)); } } }//package gs
Section 9
//assetsContainer_1 (Kablammo_fla.assetsContainer_1) package Kablammo_fla { import flash.display.*; public dynamic class assetsContainer_1 extends MovieClip { public function assetsContainer_1(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Kablammo_fla
Section 10
//mindjolt_ident_6 (Kablammo_fla.mindjolt_ident_6) package Kablammo_fla { import flash.events.*; import flash.display.*; import com.mindjolt.api.as3.*; public dynamic class mindjolt_ident_6 extends MovieClip { public var eyes:MovieClip; public var logo_btn:SimpleButton; public var mindlogo:MovieClip; public function mindjolt_ident_6(){ addFrameScript(0, frame1, 53, frame54, 59, frame60, 176, frame177); } function frame177(){ stop(); } function frame1(){ logo_btn.addEventListener(MouseEvent.CLICK, mouseClickHandler); } function frame54(){ mindlogo.stop(); } public function mouseClickHandler(_arg1:MouseEvent):void{ MindJoltSponsoredAPI.openLink(1); } function frame60(){ mindlogo.play(); } } }//package Kablammo_fla
Section 11
//mj_logo_18 (Kablammo_fla.mj_logo_18) package Kablammo_fla { import flash.display.*; public dynamic class mj_logo_18 extends MovieClip { public function mj_logo_18(){ addFrameScript(37, frame38); } function frame38(){ stop(); } } }//package Kablammo_fla
Section 12
//mj_marker_9 (Kablammo_fla.mj_marker_9) package Kablammo_fla { import flash.display.*; public dynamic class mj_marker_9 extends MovieClip { public function mj_marker_9(){ addFrameScript(0, frame1); } function frame1(){ this.visible = false; } } }//package Kablammo_fla
Section 13
//pointerResetPanel_54 (Kablammo_fla.pointerResetPanel_54) package Kablammo_fla { import flash.display.*; public dynamic class pointerResetPanel_54 extends MovieClip { public var core:MovieClip; public var tip:MovieClip; } }//package Kablammo_fla
Section 14
//titleScreen_39 (Kablammo_fla.titleScreen_39) package Kablammo_fla { import flash.display.*; import flash.text.*; public dynamic class titleScreen_39 extends MovieClip { public var logo:SponsorLogo; public var txtMore:TextField; } }//package Kablammo_fla
Section 15
//MochiScores (mochi.MochiScores) package mochi { import flash.display.*; import flash.text.*; public class MochiScores { private static var boardID:String; public static var onErrorHandler:Object; public static var onCloseHandler:Object; public static function showLeaderboard(_arg1:Object=null):void{ var options = _arg1; if (options != null){ if (options.clip != null){ if ((options.clip is Sprite)){ MochiServices.setContainer(options.clip); }; delete options.clip; } else { MochiServices.setContainer(); }; MochiServices.stayOnTop(); if (options.name != null){ if ((options.name is TextField)){ if (options.name.text.length > 0){ options.name = options.name.text; }; }; }; if (options.score != null){ if ((options.score is TextField)){ if (options.score.text.length > 0){ options.score = options.score.text; }; }; }; if (options.onDisplay != null){ options.onDisplay(); } else { if (MochiServices.clip != null){ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; }; } else { options = {}; if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; if (options.onClose != null){ onCloseHandler = options.onClose; } else { onCloseHandler = function ():void{ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.play(); } else { trace("Warning: Container is not a MovieClip, cannot call default onClose."); }; }; }; if (options.onError != null){ onErrorHandler = options.onError; } else { onErrorHandler = null; }; if (options.boardID == null){ if (MochiScores.boardID != null){ options.boardID = MochiScores.boardID; }; }; MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose); } public static function closeLeaderboard():void{ MochiServices.send("scores_closeLeaderboard"); } public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2); } public static function requestList(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_requestList", null, _arg1, _arg2); } public static function scoresArrayToObjects(_arg1:Object):Object{ var _local2:Object; var _local3:Number; var _local4:Number; var _local5:Object; var _local6:Object; var _local7:String; var _local8:String; _local2 = {}; for (_local7 in _arg1) { if (typeof(_arg1[_local7]) == "object"){ if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){ _local2[_local7] = []; _local5 = _arg1[_local7]; _local4 = 0; while (_local4 < _local5.rows.length) { _local6 = {}; _local3 = 0; while (_local3 < _local5.cols.length) { _local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3]; _local3++; }; _local2[_local7].push(_local6); _local4++; }; } else { _local2[_local7] = {}; for (_local8 in _arg1[_local7]) { _local2[_local7][_local8] = _arg1[_local7][_local8]; }; }; } else { _local2[_local7] = _arg1[_local7]; }; }; return (_local2); } public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{ MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4); } public static function onClose(_arg1:Object=null):void{ if (_arg1 != null){ if (_arg1.error != null){ if (_arg1.error == true){ if (onErrorHandler != null){ if (_arg1.errorCode == null){ _arg1.errorCode = "IOError"; }; onErrorHandler(_arg1.errorCode); MochiServices.doClose(); return; }; }; }; }; onCloseHandler(); MochiServices.doClose(); } public static function setBoardID(_arg1:String):void{ MochiScores.boardID = _arg1; MochiServices.send("scores_setBoardID", {boardID:_arg1}); } } }//package mochi
Section 16
//MochiServices (mochi.MochiServices) package mochi { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class MochiServices { private static var _container:Object; private static var _connected:Boolean = false; private static var _swfVersion:String; private static var _sendChannel:LocalConnection; private static var _rcvChannelName:String; private static var _gatewayURL:String = "http://www.mochiads.com/static/lib/services/services.swf"; private static var _clip:MovieClip; private static var _loader:Loader; private static var _id:String; private static var _listenChannel:LocalConnection; private static var _timer:Timer; private static var _sendChannelName:String; private static var _startTime:Number; private static var _connecting:Boolean = false; public static var onError:Object; private static var _listenChannelName:String = "__mochiservices"; private static var _rcvChannel:LocalConnection; public static function isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } 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++; }; }; } 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); }; }; }; }; }; } 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); } public static function get id():String{ return (_id); } public static function stayOnTop():void{ _container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true); if (_clip != null){ _clip.visible = true; }; } public static function getVersion():String{ return ("1.31"); } 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(); _rcvChannel.close(); } catch(error:Error) { }; }; if (_timer != null){ try { _timer.stop(); } catch(error:Error) { }; }; } public static function allowDomains(_arg1:String):String{ var _local2:String; Security.allowDomain("*"); Security.allowInsecureDomain("*"); if (_arg1.indexOf("http://") != -1){ _local2 = _arg1.split("/")[2].split(":")[0]; Security.allowDomain(_local2); Security.allowInsecureDomain(_local2); }; return (_local2); } public static function doClose():void{ _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); if (_clip.parent != null){ Sprite(_clip.parent).removeChild(_clip); }; } 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 onStatus(_arg1:StatusEvent):void{ switch (_arg1.level){ case "error": _connected = false; _listenChannel.connect(_listenChannelName); break; }; } 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()}); _rcvChannel.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"); }; _rcvChannel.connect(_rcvChannelName); trace("connected!"); _connecting = false; _connected = true; _listenChannel.close(); 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..."); } 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 (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) { }; }; }; }; } public static function get clip():Object{ return (_container); } public static function set comChannelName(_arg1:String):void{ if (_arg1 != null){ if (_arg1.length > 3){ _sendChannelName = (_arg1 + "_fromgame"); _rcvChannelName = _arg1; initComChannels(); }; }; } private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{ var clipname:String; var f:Function; var req:URLRequest; var id = _arg1; var clip = _arg2; clipname = ("_mochiservices_com_" + id); if (_clip != null){ return (_clip); }; if (!MochiServices.isNetworkAvailable()){ return (null); }; MochiServices.allowDomains(_gatewayURL); _clip = createEmptyMovieClip(clip, clipname, 10336, false); _loader = new Loader(); _timer = new Timer(1000, 0); _startTime = getTimer(); _timer.addEventListener(TimerEvent.TIMER, connectWait); _timer.start(); f = function (_arg1:Object):void{ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); }; _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f); req = new URLRequest(_gatewayURL); _loader.load(req); _clip.addChild(_loader); _clip._mochiservices_com = _loader; _sendChannel = new LocalConnection(); _clip._queue = []; _rcvChannel = new LocalConnection(); _rcvChannel.allowDomain("*", "localhost"); _rcvChannel.allowInsecureDomain("*", "localhost"); _rcvChannel.client = _clip; _clip._nextcallbackID = 0; _clip._callbacks = {}; listen(); return (_clip); } 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; 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 ((getTimer() - _startTime) > 10000){ if (!_connected){ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); }; _timer.stop(); }; } } }//package mochi
Section 17
//AchievementAwardedSound (AchievementAwardedSound) package { import flash.media.*; public dynamic class AchievementAwardedSound extends Sound { } }//package
Section 18
//AdContainer (AdContainer) package { import gs.*; import flash.events.*; import flash.display.*; import fl.transitions.easing.*; import CPMStar.*; import flash.text.*; public dynamic class AdContainer extends MovieClip { public var selectionIndicator:MovieClip; public var txt:TextField; public var goBg:MovieClip; public var adBox:MovieClip; public function AdContainer(){ var _local1:int; var _local2:int; var _local3:DisplayObject; super(); _local1 = 1437; _local2 = 15110; selectionIndicator.alpha = 0; _local3 = AdLoader.LoadAd(_local1, _local2); adBox.addChild(_local3); goBg.visible = true; goBg.buttonMode = true; goBg.addEventListener(MouseEvent.MOUSE_OVER, elGoOver, false, 0, true); goBg.addEventListener(MouseEvent.MOUSE_OUT, elGoOut, false, 0, true); goBg.addEventListener(MouseEvent.CLICK, elGoClick, false, 0, true); } private function elGoOver(_arg1:MouseEvent){ TweenLite.to(selectionIndicator, 0.2, {alpha:0.5, ease:Strong.easeOut}); } public function showLoading(_arg1:uint){ txt.text = (_arg1 + "% LOADED"); } public function showGo(){ txt.text = "GO!"; goBg.visible = true; } private function elGoClick(_arg1:MouseEvent){ removeChild(adBox); goBack(); } private function elGoOut(_arg1:MouseEvent){ TweenLite.to(selectionIndicator, 0.4, {alpha:0, ease:Strong.easeOut}); } private function goBack(){ goBg.removeEventListener(MouseEvent.MOUSE_OVER, elGoOver); goBg.removeEventListener(MouseEvent.MOUSE_OUT, elGoOut); goBg.removeEventListener(MouseEvent.CLICK, elGoClick); dispatchEvent(new Event("AdViewed")); } } }//package
Section 19
//Bomb (Bomb) package { import gs.*; import flash.events.*; import flash.display.*; import fl.transitions.easing.*; import flash.geom.*; import flash.filters.*; public class Bomb extends Sprite { private var gravity:Number;// = 0.4 private var debris:Array; private var gfx:Sprite; public var core:MovieClip; public var tip:MovieClip; public var isAlive:Boolean; public var index:uint; private var speedY:Number; public function Bomb(_arg1:Number=0){ gravity = 0.4; super(); speedY = _arg1; isAlive = true; cacheAsBitmap = true; tip.rotation = ((Math.random() * (290 - 250)) + 340); gfx = new Sprite(); gfx.addChild(tip); gfx.addChild(core); addChild(gfx); } public function stop(){ removeEventListener(Event.ENTER_FRAME, elEnterFrame); } public function detonate(){ var _local1:uint; var _local2:uint; var _local3:uint; var _local4:uint; var _local5:BitmapData; var _local6:*; var _local7:GlowFilter; var _local8:*; var _local9:BitmapData; var _local10:Bitmap; isAlive = false; removeEventListener(Event.ENTER_FRAME, elEnterFrame); _local1 = 10; _local2 = 12; _local3 = (width / _local1); _local4 = (height / _local2); _local5 = new BitmapData((width + 20), (height + 20), true, 0xFFFFFF); _local5.draw(this, new Matrix(1, 0, 0, 1, ((core.width / 2) - 2), ((core.height / 2) + 5))); debris = new Array(); _local6 = 0; while (_local6 < _local2) { _local8 = 0; while (_local8 < _local1) { _local9 = new BitmapData(_local3, _local4, true, 0xFFFFFF); _local9.copyPixels(_local5, new Rectangle((_local8 * _local3), (_local6 * _local4), (_local8 + (1 * _local3)), (_local6 + (1 * _local4))), new Point(0)); _local10 = new Bitmap(_local9); _local10.x = ((_local8 * _local3) - (core.width / 2)); _local10.y = ((_local6 * _local4) - (core.height / 2)); addChild(_local10); debris.push({bmp:_local10, speedY:((Math.random() * 5) - 5), speedX:((Math.random() * 8) - 4)}); _local8++; }; _local6++; }; addEventListener(Event.ENTER_FRAME, renderDebris, false, 0, true); gfx.alpha = 0; scaleX = (scaleY = 2); _local7 = new GlowFilter(0xFFFFFF, 1, 10, 10, 1, 2); filters = [_local7]; TweenLite.to(this, 2, {alpha:0, ease:None.easeNone, onComplete:destroy}); SoundManager.playSound("bombExplode"); } private function elEnterFrame(_arg1:Event){ y = (y + speedY); speedY = (speedY + gravity); if (y > stage.stageHeight){ y = stage.stageHeight; dispatchEvent(new Event("BombAtBottom")); }; } public function fall(){ addEventListener(Event.ENTER_FRAME, elEnterFrame, false, 0, true); } public function die(){ var _local1:uint; SoundManager.playSound("bombBounce3"); removeEventListener(Event.ENTER_FRAME, elEnterFrame); isAlive = false; _local1 = ((Math.random() * 40) - 20); TweenLite.to(this, 0.7, {y:"-20", alpha:0, ease:Strong.easeOut, onComplete:destroy}); } private function renderDebris(_arg1:Event){ var _local2:uint; var _local3:*; _local2 = 0; while (_local2 < debris.length) { _local3 = debris[_local2]; _local3.bmp.x = (_local3.bmp.x + _local3.speedX); _local3.bmp.y = (_local3.bmp.y + _local3.speedY); _local3.speedX = (_local3.speedX * 0.98); _local3.speedY = (_local3.speedY + 0.2); _local2++; }; } public function destroy(){ removeEventListener(Event.ENTER_FRAME, renderDebris); removeEventListener(Event.ENTER_FRAME, elEnterFrame); if (parent){ parent.removeChild(this); }; } } }//package
Section 20
//BombBounce2Sound (BombBounce2Sound) package { import flash.media.*; public dynamic class BombBounce2Sound extends Sound { } }//package
Section 21
//BombBounce3Sound (BombBounce3Sound) package { import flash.media.*; public dynamic class BombBounce3Sound extends Sound { } }//package
Section 22
//BombBounceSound (BombBounceSound) package { import flash.media.*; public dynamic class BombBounceSound extends Sound { } }//package
Section 23
//Bomber (Bomber) package { import gs.*; import flash.display.*; import fl.transitions.easing.*; public class Bomber extends Sprite { public var speed:Number; private var dummyBomb:Bomb; public var gfx:MovieClip; public function Bomber(){ dummyBomb = new Bomb(0); dummyBomb.y = 20; addChild(dummyBomb); } public function stop(){ TweenLite.killTweensOf(this); } public function move(){ var _local1:*; var _local2:*; var _local3:*; var _local4:Number; if (x < (stage.stageWidth / 2)){ _local1 = (((Math.random() * (stage.stageWidth / 2)) + (stage.stageWidth / 2)) - (width / 2)); } else { _local1 = ((Math.random() * (stage.stageWidth / 2)) + (width / 2)); }; _local2 = Math.abs((x - _local1)); _local3 = (1 / stage.frameRate); TweenLite.to(this, ((_local2 / speed) * _local3), {x:_local1, ease:None.easeNone, onComplete:move}); _local4 = ((x / (stage.stageWidth / 2)) - 1); SoundManager.playSound("bomberMove", {pan:_local4}); } public function resetDummyBomb(){ dummyBomb.y = 20; TweenLite.from(dummyBomb, 0.4, {y:-10, ease:Regular.easeOut}); } private function destroy(){ } } }//package
Section 24
//BomberMoveSound (BomberMoveSound) package { import flash.media.*; public dynamic class BomberMoveSound extends Sound { } }//package
Section 25
//BombExplodeSound (BombExplodeSound) package { import flash.media.*; public dynamic class BombExplodeSound extends Sound { } }//package
Section 26
//ButtonBg (ButtonBg) package { import flash.events.*; import flash.display.*; public class ButtonBg extends Sprite { public var soundsEnabled:Boolean;// = true public var gfx:MovieClip; public var isSelected:Boolean;// = false public function ButtonBg(){ soundsEnabled = true; isSelected = false; super(); gfx.stop(); activate(); } public function select(){ isSelected = true; gfx.gotoAndStop("Selected"); } private function elMouseOver(_arg1:MouseEvent){ if (!isSelected){ gfx.gotoAndStop("Over"); }; if (soundsEnabled){ }; } private function elMouseOut(_arg1:MouseEvent){ if (!isSelected){ gfx.gotoAndStop("Out"); }; } public function setAsGroupSelection(_arg1:Array){ var _local2:Array; var _local3:uint; _local2 = _arg1; _local3 = 0; while (_local3 < _local2.length) { _local2[_local3].deselect(); _local3++; }; select(); } private function elClick(_arg1:MouseEvent){ if (soundsEnabled){ SoundManager.playSound("buttonClick"); }; } public function deactivate(){ buttonMode = false; removeEventListener(MouseEvent.CLICK, elClick); removeEventListener(MouseEvent.MOUSE_OVER, elMouseOver); removeEventListener(MouseEvent.MOUSE_OUT, elMouseOut); } public function setSize(_arg1:Number, _arg2:Number){ gfx.width = _arg1; gfx.height = _arg2; } public function deselect(){ isSelected = false; gfx.gotoAndStop("Out"); } public function activate(){ buttonMode = true; addEventListener(MouseEvent.CLICK, elClick, false, 0, true); addEventListener(MouseEvent.MOUSE_OVER, elMouseOver, false, 0, true); addEventListener(MouseEvent.MOUSE_OUT, elMouseOut, false, 0, true); } } }//package
Section 27
//ButtonClickSound (ButtonClickSound) package { import flash.media.*; public dynamic class ButtonClickSound extends Sound { } }//package
Section 28
//CheckMark (CheckMark) package { import flash.display.*; public class CheckMark extends MovieClip { public var isChecked:Boolean; public function CheckMark(){ stop(); check(); } public function check(){ isChecked = true; gotoAndStop("Checked"); } public function uncheck(){ isChecked = false; gotoAndStop("Unchecked"); } public function toggle(){ if (isChecked){ uncheck(); } else { check(); }; } } }//package
Section 29
//DropBomb2Sound (DropBomb2Sound) package { import flash.media.*; public dynamic class DropBomb2Sound extends Sound { } }//package
Section 30
//DropBombSound (DropBombSound) package { import flash.media.*; public dynamic class DropBombSound extends Sound { } }//package
Section 31
//ExtraLifeSound (ExtraLifeSound) package { import flash.media.*; public dynamic class ExtraLifeSound extends Sound { } }//package
Section 32
//GameOverScreen (GameOverScreen) package { import gs.*; import flash.events.*; import flash.display.*; import fl.transitions.easing.*; import com.mindjolt.api.as3.*; import mochi.*; import flash.text.*; import flash.net.*; import flash.geom.*; import flash.filters.*; import flash.ui.*; public class GameOverScreen extends KablammoScreen { public var selectionIndicator:MovieClip; private var txtNameFlashes:uint; public var txtName:TextField; public var item2Bg:MovieClip; public var txtNameBorder:MovieClip; public var item1Bg:MovieClip; public var score:uint; private var items:Array; public var sponsorLogo:SponsorLogo; public function GameOverScreen(){ var _local1:uint; super(); items = [{obj:item1Bg, title:"SubmitScore"}, {obj:item2Bg, title:"PlayAgain"}]; _local1 = 0; while (_local1 < items.length) { items[_local1].obj.buttonMode = true; _local1++; }; show(); sponsorLogo.buttonMode = true; sponsorLogo.addEventListener(MouseEvent.CLICK, elSponsorLogoClick, false, 0, true); txtName.borderColor = 0xAAAAAA; txtName.addEventListener(FocusEvent.FOCUS_IN, elTxtNameFocusIn, false, 0, true); txtName.addEventListener(FocusEvent.FOCUS_OUT, elTxtNameFocusOut, false, 0, true); } private function elMouseDown(_arg1:MouseEvent){ switch (_arg1.target){ case item1Bg: if (((!((txtName.text == ""))) && (!((txtName.text == "Enter name here..."))))){ SoundManager.playSound("menuItemClick"); deactivate(); SOManager.objs[Kablammo.SO_NAME].data.playerName = txtName.text; SOManager.flushSO(Kablammo.SO_NAME); MindJoltSponsoredAPI.submitScore(txtName.text, Kablammo.currentGame.score); dispatchEvent(new Event("PlayAgain")); } else { SoundManager.playSound("menuItemError"); txtNameFlashes = 5; flashTxtName(); }; break; case item2Bg: SoundManager.playSound("menuItemClick"); deactivate(); dispatchEvent(new Event("PlayAgain")); break; }; } private function elTxtNameFocusIn(_arg1:FocusEvent){ if (txtName.text == "Enter name here..."){ txtName.text = ""; }; txtName.textColor = 0; } private function flashTxtName(){ if (txtNameFlashes > 0){ if (txtName.alpha < 0.8){ TweenLite.to(txtName, 0.1, {alpha:1, onComplete:flashTxtName}); } else { TweenLite.to(txtName, 0.1, {alpha:0.2, onComplete:flashTxtName}); }; txtNameFlashes--; } else { TweenLite.to(txtName, 0.1, {alpha:1}); }; } private function elSponsorLogoClick(_arg1:MouseEvent){ MindJoltSponsoredAPI.openLink(5); } private function deactivate(){ item1Bg.removeEventListener(MouseEvent.MOUSE_OVER, highlightMenuItem); item1Bg.removeEventListener(MouseEvent.CLICK, elMouseDown); item1Bg.removeEventListener(MouseEvent.MOUSE_OUT, elMenuItemOut); item2Bg.removeEventListener(MouseEvent.MOUSE_OVER, highlightMenuItem); item2Bg.removeEventListener(MouseEvent.CLICK, elMouseDown); item2Bg.removeEventListener(MouseEvent.MOUSE_OUT, elMenuItemOut); } private function elMenuItemOut(_arg1:MouseEvent){ TweenLite.to(selectionIndicator, 0.4, {alpha:0, ease:Strong.easeOut}); } private function highlightMenuItem(_arg1:Event){ var _local2:*; SoundManager.playSound("menuItemOver"); _local2 = _arg1.target; selectionIndicator.x = _local2.x; selectionIndicator.y = ((_local2.y + (_local2.height / 2)) - 7); selectionIndicator.width = _local2.width; TweenLite.to(selectionIndicator, 0.4, {alpha:0.5, ease:Strong.easeOut}); } private function elTxtNameFocusOut(_arg1:FocusEvent){ if (txtName.text == ""){ txtName.text = "Enter name here..."; }; if (txtName.text == "Enter name here..."){ txtName.textColor = 0x666666; }; } private function activate(){ selectionIndicator.alpha = 0; item1Bg.addEventListener(MouseEvent.MOUSE_OVER, highlightMenuItem, false, 0, true); item1Bg.addEventListener(MouseEvent.CLICK, elMouseDown, false, 0, true); item1Bg.addEventListener(MouseEvent.MOUSE_OUT, elMenuItemOut, false, 0, true); item2Bg.addEventListener(MouseEvent.MOUSE_OVER, highlightMenuItem, false, 0, true); item2Bg.addEventListener(MouseEvent.CLICK, elMouseDown, false, 0, true); item2Bg.addEventListener(MouseEvent.MOUSE_OUT, elMenuItemOut, false, 0, true); } override public function show(){ if (((SOManager.objs[Kablammo.SO_NAME].data.playerName) && (!((SOManager.objs[Kablammo.SO_NAME].data.playerName == ""))))){ txtName.text = SOManager.objs[Kablammo.SO_NAME].data.playerName; }; activate(); } } }//package
Section 33
//Graph (Graph) package { import flash.display.*; import flash.filters.*; public class Graph extends Sprite { private var _showValues:String; public var line:Sprite; public var dots:Sprite; public var h:uint; public var w:uint; public var grid:Sprite; public var gridHoriLineCount:uint;// = 5 public function Graph(_arg1:uint, _arg2:uint){ gridHoriLineCount = 5; super(); w = _arg1; h = _arg2; } public function set showValues(_arg1:String){ var _local2:uint; var _local3:GraphDot; _local2 = 0; while (_local2 < dots.numChildren) { _local3 = GraphDot(dots.getChildAt(_local2)); _local3.showValue = _arg1; _local2++; }; _showValues = _arg1; } public function build(_arg1:Array, _arg2:String=""){ var _local3:Array; var _local4:*; var _local5:uint; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:String; var _local10:int; var _local11:Tooltip; var _local12:uint; var _local13:int; var _local14:DropShadowFilter; var _local15:GraphDot; var _local16:GraphDot; while (numChildren > 0) { removeChildAt(0); }; _local3 = _arg1; _local4 = _arg2; _local6 = (_local4) ? _local3[_local5][_local4] : _local3[_local5]; _local7 = _local6; _local8 = _local6; _local5 = 0; while (_local5 < _local3.length) { _local6 = (_local4) ? _local3[_local5][_local4] : _local3[_local5]; _local7 = Math.max(_local7, _local6); _local8 = Math.min(_local8, _local6); _local5++; }; _local9 = _local7.toString(); _local10 = (int(_local9.charAt(0)) + 1); _local10 = (_local10 * Math.pow(10, (Math.floor(_local7).toString().length - 1))); if (!grid){ grid = new Sprite(); }; while (grid.numChildren > 0) { _local11 = Tooltip(grid.getChildAt(0)); grid.removeChild(_local11); _local11 = null; }; grid.graphics.clear(); grid.graphics.lineStyle(1, 0, 0.6); grid.graphics.beginFill(0, 0.1); grid.graphics.drawRect(0, 0, w, h); addChild(grid); _local5 = 0; while (_local5 < gridHoriLineCount) { _local12 = (_local5 * (h / (gridHoriLineCount - 1))); grid.graphics.moveTo(0, _local12); grid.graphics.lineTo(w, _local12); _local11 = new Tooltip(); grid.addChild(_local11); _local13 = (_local10 - Math.ceil((_local5 * (_local10 / (gridHoriLineCount - 1))))); _local11.show(0, _local12, _local13.toString(), {destAlpha:0.5}); _local5++; }; if (!line){ line = new Sprite(); _local14 = new DropShadowFilter(3, 45, 0, 1, 3, 3, 0.4); line.filters = [_local14]; }; line.graphics.clear(); line.graphics.lineStyle(1, 0xFFFFFF, 0.6); addChild(line); if (!dots){ dots = new Sprite(); }; while (dots.numChildren > 0) { _local15 = GraphDot(dots.getChildAt(0)); dots.removeChild(_local15); _local15 = null; }; addChild(dots); _local5 = 0; while (_local5 < _local3.length) { _local6 = (_local4) ? _local3[_local5][_local4] : _local3[_local5]; _local16 = new GraphDot(_local6); _local16.mouseOverPadding = ((w / (_local3.length - 1)) / 2); _local16.x = int((_local5 * (w / (_local3.length - 1)))); _local16.y = int((h - (_local6 / (_local10 / h)))); if (_local5 == 0){ line.graphics.moveTo(_local16.x, _local16.y); } else { line.graphics.lineTo(_local16.x, _local16.y); }; dots.addChild(_local16); _local5++; }; showValues = "Always"; } public function get showValues():String{ return (_showValues); } private function destroy(){ } } }//package
Section 34
//GraphDot (GraphDot) package { import flash.events.*; import flash.display.*; import flash.text.*; import flash.geom.*; import flash.filters.*; public class GraphDot extends Sprite { private var _showValue:String; private var tooltip:Tooltip; private var pointObj:Object; private var value:Number; private var gfx:Sprite; private var defaultTextFormat:TextFormat; public var mouseOverPadding:Number; public function GraphDot(_arg1:Number){ value = _arg1; gfx = new Sprite(); gfx.graphics.lineStyle(6, 0xFFFFFF, 0); gfx.graphics.beginFill(0xFFFFFF); gfx.graphics.drawCircle(0, 0, 4); gfx.graphics.endFill(); addChild(gfx); addEventListener(Event.ADDED_TO_STAGE, elAddedToStage, false, 0, true); addEventListener(Event.REMOVED_FROM_STAGE, elRemovedFromStage, false, 0, true); } private function elMouseOver(_arg1:MouseEvent){ if (showValue == "MouseOver"){ tooltip.visible = true; }; } private function elMouseMove(_arg1:MouseEvent){ var _local2:Point; var _local3:Point; _local2 = new Point(0, 0); _local3 = localToGlobal(_local2); if ((((((((stage.mouseX >= (_local3.x - mouseOverPadding))) && ((stage.mouseX <= (_local3.x + mouseOverPadding))))) && ((tooltip.isShowing == false)))) && ((showValue == "MouseOver")))){ tooltip.show(0, 0, value.toString(), {arrowAngle:90}); } else { if ((((((stage.mouseX < (_local3.x - mouseOverPadding))) || ((stage.mouseX > (_local3.x + mouseOverPadding))))) && ((showValue == "MouseOver")))){ tooltip.hide(); } else { if (showValue == "Always"){ tooltip.show(0, 0, value.toString(), {arrowAngle:90}); }; }; }; } private function elMouseOut(_arg1:MouseEvent){ if (showValue == "MouseOver"){ tooltip.visible = false; }; } private function elAddedToStage(_arg1:Event){ var _local2:GlowFilter; var _local3:DropShadowFilter; tooltip = new Tooltip(); addChild(tooltip); _local2 = new GlowFilter(0, 0.9, 3, 3, 1); _local3 = new DropShadowFilter(3, 45, 0, 0.1, 4, 4, 1); tooltip.filters = [_local2, _local3]; tooltip.show(0, 0, value.toString(), {arrowAngle:90}); stage.addEventListener(MouseEvent.MOUSE_MOVE, elMouseMove, false, 0, true); } public function get showValue():String{ return (_showValue); } private function elRemovedFromStage(_arg1:Event){ destroy(); } public function set showValue(_arg1:String){ _showValue = _arg1; switch (_arg1){ case "Always": tooltip.show(0, 0, value.toString(), {arrowAngle:90}); break; case "MouseOver": tooltip.hide(); break; case "Never": break; }; } public function destroy(){ if (stage){ stage.removeEventListener(MouseEvent.MOUSE_MOVE, elMouseMove); }; removeEventListener(Event.ADDED_TO_STAGE, elAddedToStage); } } }//package
Section 35
//HighscoresScreen (HighscoresScreen) package { import gs.*; import flash.events.*; import flash.display.*; import fl.transitions.easing.*; import mochi.*; import flash.ui.*; public class HighscoresScreen extends KablammoScreen { private const CONTAINER:LeaderboardContainer; public var selectionIndicator:MovieClip; public var returnBg:MovieClip; public function HighscoresScreen(){ CONTAINER = Kablammo.leaderboardContainer; super(); returnBg.buttonMode = true; } private function elReturnOut(_arg1:MouseEvent){ TweenLite.to(selectionIndicator, 0.4, {alpha:0, ease:Strong.easeOut}); } private function elReturnClick(_arg1:MouseEvent){ SoundManager.playSound("menuItemClick"); goBack(); } private function elReturnOver(_arg1:MouseEvent){ SoundManager.playSound("menuItemOver"); TweenLite.to(selectionIndicator, 0.2, {alpha:0.5, ease:Strong.easeOut}); } private function goBack(){ stage.removeEventListener(KeyboardEvent.KEY_DOWN, elKeyDown); returnBg.removeEventListener(MouseEvent.MOUSE_OVER, elReturnOver); returnBg.removeEventListener(MouseEvent.MOUSE_OUT, elReturnOut); returnBg.removeEventListener(MouseEvent.CLICK, elReturnClick); dispatchEvent(new Event("HighscoresViewed")); TweenLite.delayedCall(0.3, MochiScores.closeLeaderboard); } private function elKeyDown(_arg1:KeyboardEvent){ switch (_arg1.keyCode){ case Keyboard.ESCAPE: goBack(); break; }; } override public function show(){ stage.addEventListener(KeyboardEvent.KEY_DOWN, elKeyDown, false, 0, true); returnBg.addEventListener(MouseEvent.MOUSE_OVER, elReturnOver, false, 0, true); returnBg.addEventListener(MouseEvent.MOUSE_OUT, elReturnOut, false, 0, true); returnBg.addEventListener(MouseEvent.CLICK, elReturnClick, false, 0, true); selectionIndicator.alpha = 0; addChild(CONTAINER); CONTAINER.x = 0; CONTAINER.y = 20; MochiScores.showLeaderboard({boardID:"f699311284d2a56f", res:"600x430", hideDoneButton:true, numScores:10, width:430}); } } }//package
Section 36
//InstructionsScreen (InstructionsScreen) package { import gs.*; import flash.events.*; import flash.display.*; import fl.transitions.easing.*; import flash.ui.*; public class InstructionsScreen extends KablammoScreen { public var selectionIndicator:MovieClip; public var goBg:MovieClip; public function InstructionsScreen(){ goBg.buttonMode = true; } private function elGoOver(_arg1:MouseEvent){ SoundManager.playSound("menuItemOver"); TweenLite.to(selectionIndicator, 0.2, {alpha:0.5, ease:Strong.easeOut}); } private function elGoClick(_arg1:MouseEvent){ SoundManager.playSound("menuItemClick"); goBack(); } private function elGoOut(_arg1:MouseEvent){ TweenLite.to(selectionIndicator, 0.4, {alpha:0, ease:Strong.easeOut}); } private function goBack(){ stage.removeEventListener(KeyboardEvent.KEY_DOWN, elKeyDown); goBg.removeEventListener(MouseEvent.MOUSE_OVER, elGoOver); goBg.removeEventListener(MouseEvent.MOUSE_OUT, elGoOut); goBg.removeEventListener(MouseEvent.CLICK, elGoClick); dispatchEvent(new Event("InstructionsRead")); } private function elKeyDown(_arg1:KeyboardEvent){ switch (_arg1.keyCode){ case Keyboard.ESCAPE: goBack(); break; }; } override public function show(){ stage.addEventListener(KeyboardEvent.KEY_DOWN, elKeyDown, false, 0, true); goBg.addEventListener(MouseEvent.MOUSE_OVER, elGoOver, false, 0, true); goBg.addEventListener(MouseEvent.MOUSE_OUT, elGoOut, false, 0, true); goBg.addEventListener(MouseEvent.CLICK, elGoClick, false, 0, true); selectionIndicator.alpha = 0; } } }//package
Section 37
//Kablammo (Kablammo) package { import gs.*; import flash.events.*; import flash.display.*; import fl.transitions.easing.*; import com.mindjolt.api.as3.*; import mochi.*; import flash.text.*; import flash.geom.*; import flash.filters.*; import flash.ui.*; public dynamic class Kablammo extends MovieClip { private var titleScreen; private var bg:Sprite; private var instructionsScreen:InstructionsScreen; private var standardGame:StandardGame; private var _currentScreen; public var txtSitelock:TextField; private var highscoresScreen:HighscoresScreen; private var scoreHistoryScreen:ScoreHistoryScreen; private var sponsorIntroScreen:SponsorIntroScreen; public var txtDOM:TextField; private var adContainer:AdContainer; private var gameOverScreen:GameOverScreen; public static const DEVELOPER_SITE_URL:String = "http://games.jesshansen.com"; public static const SO_NAME:String = "KablammoSO"; public static var leaderboardContainer:LeaderboardContainer; public static var currentGame; public static var domainIsMindjolt:Boolean; public function Kablammo(){ var _local1:DropShadowFilter; super(); addFrameScript(0, frame1, 2, frame3); MindJoltSponsoredAPI.connect("ZF19F890", "9DE8545FEA82DDA1", this); MochiBot.track(this, "07ebe96f"); leaderboardContainer = new LeaderboardContainer(); _local1 = new DropShadowFilter(3, 45, 0, 1, 3, 3, 0.3, 2); leaderboardContainer.filters = [_local1]; txtSitelock.borderColor = 0xAAAAAA; removeChild(txtSitelock); loaderInfo.addEventListener(Event.INIT, checkDomain); } private function elKeyDown(_arg1:KeyboardEvent){ switch (_arg1.keyCode){ case 83: SoundManager.toggleGroup("fx"); if ((((currentScreen == titleScreen)) && (SoundManager.categories.fx.enabled))){ playTitleMusic(); }; SOManager.objs[SO_NAME].data.enableSoundFX = (SettingsManager.enableSoundFX = SoundManager.categories.fx.enabled); SOManager.flushSO(SO_NAME); if (titleScreen){ titleScreen.updateFXText(); }; break; }; } private function elHighscoresSelected(_arg1:Event){ MindJoltSponsoredAPI.openLink(3); } private function playTitleMusic(){ SoundManager.playSound("titleMusic", {volume:0.3}); } public function domainIsTrusted(_arg1:Array):Boolean{ var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:*; var _local9:uint; _local2 = _arg1; _local3 = (this.loaderInfo.url.indexOf("://") + 3); _local4 = this.loaderInfo.url.indexOf("/", _local3); _local5 = this.loaderInfo.url.substring(_local3, _local4); _local6 = (_local5.lastIndexOf(".") - 1); _local7 = (_local5.lastIndexOf(".", _local6) + 1); _local8 = _local5.substring(_local7, _local5.length); _local9 = 0; while (_local9 < _local2.length) { if ((((_local8 == _local2[_local9])) || ((_local5 == _local2[_local9])))){ return (true); }; _local9++; }; return (false); } private function checkDomain(_arg1:Event=null){ var _local2:Boolean; addEventListener(Event.ENTER_FRAME, outputDom, false, 0, true); _local2 = domainIsTrusted(["kongregate.com"]); if (_local2){ play(); } else { showPreGameAd(); }; } private function init(_arg1:Event=null){ var _local2:Array; stage.quality = StageQuality.BEST; stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; SoundManager.addSound("bombBounce", new BombBounceSound(), "fx"); SoundManager.addSound("bombBounce2", new BombBounce2Sound(), "fx"); SoundManager.addSound("bombBounce3", new BombBounce3Sound(), "fx"); SoundManager.addSound("dropBomb", new DropBombSound(), "fx"); SoundManager.addSound("dropBomb2", new DropBomb2Sound(), "fx"); SoundManager.addSound("bombExplode", new BombExplodeSound(), "fx"); SoundManager.addSound("extraLife", new ExtraLifeSound(), "fx"); SoundManager.addSound("bomberMove", new BomberMoveSound(), "fx"); SoundManager.addSound("menuItemOver", new MenuItemOverSound(), "fx"); SoundManager.addSound("menuItemClick", new MenuItemClickSound(), "fx"); SoundManager.addSound("titleMusic", new TitleMusicSound(), "fx"); SoundManager.addSound("buttonClick", new ButtonClickSound(), "fx"); SoundManager.addSound("menuItemError", new MenuItemErrorSound(), "fx"); stage.addEventListener(Event.RESIZE, elResize); stage.addEventListener(KeyboardEvent.KEY_DOWN, elKeyDown); elResize(); _local2 = ["mindjolt.com"]; domainIsMindjolt = domainIsTrusted(_local2); showIntro(); } private function elProgress(_arg1:ProgressEvent){ var _local2:uint; _local2 = ((_arg1.bytesLoaded / _arg1.bytesTotal) * 100); if (_local2 < 100){ adContainer.showLoading(_local2); } else { adContainer.showGo(); }; } private function elResize(_arg1:Event=null){ var _local2:Matrix; var _local3:Array; var _local4:*; var _local5:Array; var _local6:Array; if (!bg){ bg = new Sprite(); addChildAt(bg, 0); bg.alpha = 1; }; bg.graphics.clear(); _local2 = new Matrix(); _local2.createGradientBox(stage.stageWidth, stage.stageHeight, 0.5, 0, 0); _local3 = [[12648962, 7143681], [13548299, 8484372], [0xAA00, 0x5500], [239288, 158069]]; _local4 = _local3[Math.floor((Math.random() * _local3.length))]; _local5 = [1, 1]; _local6 = [0, 0xFF]; bg.graphics.beginGradientFill(GradientType.LINEAR, _local4, _local5, _local6, _local2); bg.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight); } private function get currentScreen(){ return (_currentScreen); } private function showSponsorIntroScreen(){ if (!sponsorIntroScreen){ sponsorIntroScreen = new SponsorIntroScreen(); }; addChild(sponsorIntroScreen); Proto.center(sponsorIntroScreen); currentScreen = sponsorIntroScreen; } private function showInstructionsScreen(){ if (!instructionsScreen){ instructionsScreen = new InstructionsScreen(); instructionsScreen.addEventListener("InstructionsRead", elInstructionsRead, false, 0, true); }; addChild(instructionsScreen); Proto.center(instructionsScreen); currentScreen = instructionsScreen; } function frame3(){ init(); stop(); } private function start(_arg1:Event=null){ play(); } private function showIntro(_arg1:Event=null){ if (((adContainer) && (contains(adContainer)))){ removeChild(adContainer); }; showSponsorIntroScreen(); TweenLite.delayedCall(6, go); } private function elGameAborted(_arg1:Event){ showTitleScreen(); } private function submitScore(_arg1:Event=null){ } private function outputDom(_arg1:Event){ txtDOM.text = this.loaderInfo.url; addChild(txtDOM); } private function showGameOverScreen(){ if (!gameOverScreen){ gameOverScreen = new GameOverScreen(); gameOverScreen.addEventListener("SubmitScore", submitScore, false, 0, true); gameOverScreen.addEventListener("PlayAgain", showTitleScreen, false, 0, true); }; addChild(gameOverScreen); currentScreen = gameOverScreen; } private function elStandardGameSelected(_arg1:Event){ startStandardGame(); } private function set currentScreen(_arg1){ var _local2:*; if (_currentScreen){ _local2 = DisplayObject(_currentScreen); TweenLite.to(_local2, 0.3, {autoAlpha:0, ease:Regular.easeIn, overwrite:false}); _currentScreen = _arg1; _local2 = DisplayObject(_currentScreen); _local2.alpha = 0; TweenLite.to(_local2, 0.3, {autoAlpha:1, overwrite:false, delay:0.4}); TweenLite.delayedCall(0.3, _local2.show); } else { _currentScreen = _arg1; _local2 = DisplayObject(_currentScreen); _local2.alpha = 0; _local2.show(); TweenLite.to(_local2, 0.3, {autoAlpha:1, overwrite:false}); }; } private function showScoreHistoryScreen(){ if (!scoreHistoryScreen){ scoreHistoryScreen = new ScoreHistoryScreen(); scoreHistoryScreen.addEventListener("ScoreHistoryViewed", elScoreHistoryViewed, false, 0, true); }; addChild(scoreHistoryScreen); currentScreen = scoreHistoryScreen; } function frame1(){ stop(); } private function elScoreHistoryViewed(_arg1:Event){ showTitleScreen(); } private function elInstructionsRead(_arg1:Event){ showTitleScreen(); } private function showHighscoresScreen(){ if (!highscoresScreen){ highscoresScreen = new HighscoresScreen(); highscoresScreen.addEventListener("HighscoresViewed", elHighscoresViewed, false, 0, true); }; addChild(highscoresScreen); currentScreen = highscoresScreen; } private function elScoreHistorySelected(_arg1:Event){ showScoreHistoryScreen(); } private function showPreGameAd(_arg1:Event=null){ adContainer = new AdContainer(); adContainer.addEventListener("AdViewed", elAdViewed, false, 0, true); addChild(adContainer); Proto.center(adContainer); loaderInfo.addEventListener(ProgressEvent.PROGRESS, elProgress); } private function showTitleScreen(_arg1:Event=null){ if (((!(currentScreen)) || (((((!((currentScreen is ScoreHistoryScreen))) && (!((currentScreen is InstructionsScreen))))) && (!((currentScreen is HighscoresScreen))))))){ playTitleMusic(); }; if (!titleScreen){ if (domainIsMindjolt){ titleScreen = new TitleScreenMindjolt(); } else { titleScreen = new TitleScreen(); }; titleScreen.addEventListener("StandardGameSelected", elStandardGameSelected, false, 0, true); titleScreen.addEventListener("HighscoresSelected", elHighscoresSelected, false, 0, true); titleScreen.addEventListener("InstructionsSelected", elInstructionsSelected, false, 0, true); titleScreen.addEventListener("ScoreHistorySelected", elScoreHistorySelected, false, 0, true); }; addChild(titleScreen); Proto.center(titleScreen); currentScreen = titleScreen; } private function elAdViewed(_arg1:Event){ play(); } private function startStandardGame(){ SoundManager.changeVolume("titleMusic", 0, 0.5, None.easeNone, true); if (!standardGame){ standardGame = new StandardGame(); standardGame.addEventListener("GameOver", elGameOver, false, 0, true); standardGame.addEventListener("GameAborted", elGameAborted, false, 0, true); }; addChild(standardGame); currentScreen = standardGame; standardGame.start(); currentGame = standardGame; } private function elInstructionsSelected(_arg1:Event){ showInstructionsScreen(); } private function elGameOver(_arg1:Event){ if (domainIsMindjolt){ MindJoltAPI.service.submitScore(Kablammo.currentGame.score); } else { showGameOverScreen(); }; } private function go(){ SOManager.loadSO(SO_NAME); ProgressManager.bestScore = uint(SOManager.objs[SO_NAME].data.bestScore); ProgressManager.bestCombo = uint(SOManager.objs[SO_NAME].data.bestCombo); ProgressManager.scoreHistory = SOManager.objs[SO_NAME].data.scoreHistory; SettingsManager.enableSoundFX = Boolean(SOManager.objs[SO_NAME].data.enableSoundFX); if (SettingsManager.enableSoundFX == true){ SoundManager.enableGroup("fx"); } else { SoundManager.disableGroup("fx"); }; trace((SettingsManager.enableSoundFX + "<--")); SettingsManager.showScoreHistoryValues = Boolean(SOManager.objs[SO_NAME].data.showScoreHistoryValues); showTitleScreen(); } private function elHighscoresViewed(_arg1:Event){ showTitleScreen(); } } }//package
Section 38
//KablammoScreen (KablammoScreen) package { import flash.display.*; public class KablammoScreen extends Sprite { private function destroy(){ } public function show(){ } } }//package
Section 39
//LeaderboardContainer (LeaderboardContainer) package { import flash.display.*; public dynamic class LeaderboardContainer extends MovieClip { } }//package
Section 40
//MenuItemClickSound (MenuItemClickSound) package { import flash.media.*; public dynamic class MenuItemClickSound extends Sound { } }//package
Section 41
//MenuItemErrorSound (MenuItemErrorSound) package { import flash.media.*; public dynamic class MenuItemErrorSound extends Sound { } }//package
Section 42
//MenuItemOverSound (MenuItemOverSound) package { import flash.media.*; public dynamic class MenuItemOverSound extends Sound { } }//package
Section 43
//MochiBot (MochiBot) package { import flash.display.*; import flash.net.*; import flash.system.*; 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 44
//Pillow (Pillow) package { import flash.display.*; public dynamic class Pillow extends MovieClip { public function Pillow(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 45
//PointerResetPanel (PointerResetPanel) package { import gs.*; import flash.display.*; import fl.transitions.easing.*; public dynamic class PointerResetPanel extends MovieClip { public var message:MovieClip; public var button:MovieClip; public var tip:MovieClip; public function PointerResetPanel(){ visible = false; button.buttonMode = true; } public function hide(){ TweenLite.to(this, 0.2, {autoAlpha:0, ease:Strong.easeOut}); } public function show(_arg1:uint){ var _local2:uint; Proto.center(this); _local2 = _arg1; button.x = (-(x) + _arg1); tip.x = (-(x) + _local2); TweenLite.to(this, 0.3, {autoAlpha:1, ease:Strong.easeOut}); } } }//package
Section 46
//ProgressManager (ProgressManager) package { public class ProgressManager { public static const STANDARD_LEVELS:Array = [{count:10, score:1, speedY:4, interval:0.7, bomberSpeed:9}, {count:15, score:2, speedY:6, interval:0.6, bomberSpeed:10}, {count:20, score:3, speedY:7, interval:0.5, bomberSpeed:12}, {count:25, score:4, speedY:9, interval:0.4, bomberSpeed:14}, {count:30, score:5, speedY:11, interval:0.4, bomberSpeed:16}, {count:40, score:6, speedY:13, interval:0.3, bomberSpeed:18}, {count:50, score:7, speedY:15, interval:0.3, bomberSpeed:22}, {count:75, score:8, speedY:17, interval:0.3, bomberSpeed:25}, {count:100, score:9, speedY:20, interval:0.2, bomberSpeed:30}, {count:150, score:10, speedY:22, interval:0.3, bomberSpeed:33}]; public static const CATCH_TOTALS:Array = ["Absolute beginner", "Beginner", "Veteran"]; public static const CATCH_TOTALS_BASE:uint = 1000; private static const SCORE_HISTORY_LENGTH:uint = 20; private static var _scoreHistory:Array; private static var _bestCombo:uint; private static var _bestScore:uint; public static function set bestScore(_arg1:uint){ if (_arg1 > _bestScore){ _bestScore = Math.max(_arg1, _bestScore); SOManager.objs[Kablammo.SO_NAME].data.bestScore = _bestScore; }; } public static function addScoreToHistory(_arg1:uint){ if (!_scoreHistory){ _scoreHistory = new Array(); }; _scoreHistory.push(_arg1); _scoreHistory.splice(0, Math.max(0, (_scoreHistory.length - SCORE_HISTORY_LENGTH))); SOManager.objs[Kablammo.SO_NAME].data.scoreHistory = _scoreHistory; } public static function set scoreHistory(_arg1:Array){ _scoreHistory = _arg1; } public static function get bestScore():uint{ return (_bestScore); } public static function set bestCombo(_arg1:uint){ if (_arg1 > _bestCombo){ _bestCombo = _arg1; SOManager.objs[Kablammo.SO_NAME].data.bestCombo = _bestCombo; }; } public static function get bestCombo():uint{ return (_bestCombo); } public static function get scoreHistory():Array{ return (_scoreHistory); } } }//package
Section 47
//Proto (Proto) package { import flash.display.*; public class Proto { public static var monthLabels:Array = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); public static function padString(_arg1:String, _arg2:uint, _arg3:String="0", _arg4:Boolean=true):String{ var _local5:String; var _local6:uint; var _local7:String; var _local8:Boolean; var _local9:uint; var _local10:uint; _local5 = _arg1; _local6 = _arg2; _local7 = _arg3; _local8 = _arg4; _local9 = _local5.length; _local10 = _local9; while (_local10 < _local6) { if (_local8 == true){ _local5 = (_local7 + _local5); } else { _local5 = (_local5 + _local7); }; _local10++; }; return (_local5); } public static function center(_arg1:DisplayObject, _arg2:DisplayObject=null){ var _local3:*; var _local4:*; _local3 = _arg1; _local4 = _arg2; if (_local4 == null){ _local3.x = (_local3.stage.stageWidth / 2); _local3.y = (_local3.stage.stageHeight / 2); } else { _local3.x = (_local4.x + (_local4.width / 2)); _local3.y = (_local4.y + (_local4.height / 2)); }; } public static function removeDupesFromArray(_arg1:Array):Array{ return (_arg1); } public static function domainIsTrusted(_arg1:String, _arg2:Array):Boolean{ var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:*; var _local9:*; var _local10:uint; _local3 = _arg2; _local4 = (_arg1.indexOf("://") + 3); _local5 = _arg1.indexOf("/", _local4); _local6 = _arg1.substring(_local4, _local5); _local7 = (_local6.lastIndexOf(".") - 1); _local8 = (_local6.lastIndexOf(".", _local7) + 1); _local9 = _local6.substring(_local8, _local6.length); _local10 = 0; while (_local10 < _local3.length) { if ((((_local9 == _local3[_local10])) || ((_local6 == _local3[_local10])))){ return (true); }; _local10++; }; return (false); } } }//package
Section 48
//ScoreDisplay (ScoreDisplay) package { import gs.*; import flash.display.*; import flash.text.*; public class ScoreDisplay extends Sprite { public var txtScore:TextField; public var catchCombos:MovieClip; public function ScoreDisplay(){ alpha = 0.5; } public function hide(){ TweenLite.to(this, 0.3, {alpha:0}); } public function blur(){ TweenLite.to(this, 0.3, {alpha:0.3}); } public function focus(){ TweenLite.to(this, 0.5, {alpha:0.8}); } } }//package
Section 49
//ScoreDisplayCatchCombo (ScoreDisplayCatchCombo) package { import flash.display.*; import flash.text.*; public dynamic class ScoreDisplayCatchCombo extends MovieClip { public var txtCatchCombo:TextField; } }//package
Section 50
//ScoreHistoryScreen (ScoreHistoryScreen) package { import gs.*; import flash.events.*; import flash.display.*; import fl.transitions.easing.*; import mochi.*; import flash.text.*; import flash.net.*; import flash.geom.*; import flash.filters.*; import flash.ui.*; public class ScoreHistoryScreen extends KablammoScreen { public var selectionIndicator:MovieClip; public var txtLatest:TextField; private var graph:Graph; public var txtNo:TextField; public var btnAlwaysShowValues:ButtonBg; public var goBg:MovieClip; public var txtHeading:TextField; public var txtAlwaysShowValues:TextField; public var txtOldest:TextField; public var chkAlwaysShowValues:CheckMark; public function ScoreHistoryScreen(){ goBg.buttonMode = true; chkAlwaysShowValues.mouseEnabled = false; btnAlwaysShowValues.setSize(19, 19); } private function elGoOver(_arg1:MouseEvent){ SoundManager.playSound("menuItemOver"); TweenLite.to(selectionIndicator, 0.2, {alpha:0.5, ease:Strong.easeOut}); } private function setAlwaysShowValues(_arg1:Event){ if (graph.showValues == "Always"){ graph.showValues = "MouseOver"; chkAlwaysShowValues.uncheck(); } else { graph.showValues = "Always"; chkAlwaysShowValues.check(); }; SettingsManager.showScoreHistoryValues = chkAlwaysShowValues.isChecked; } private function elGoClick(_arg1:MouseEvent){ SoundManager.playSound("menuItemClick"); goBack(); } private function elGoOut(_arg1:MouseEvent){ TweenLite.to(selectionIndicator, 0.4, {alpha:0, ease:Strong.easeOut}); } private function goBack(){ stage.removeEventListener(KeyboardEvent.KEY_DOWN, elKeyDown); goBg.removeEventListener(MouseEvent.MOUSE_OVER, elGoOver); goBg.removeEventListener(MouseEvent.MOUSE_OUT, elGoOut); goBg.removeEventListener(MouseEvent.CLICK, elGoClick); btnAlwaysShowValues.removeEventListener(MouseEvent.CLICK, setAlwaysShowValues); SOManager.objs[Kablammo.SO_NAME].data.showScoreHistoryValues = SettingsManager.showScoreHistoryValues; SOManager.flushSO(Kablammo.SO_NAME); dispatchEvent(new Event("ScoreHistoryViewed")); } private function elKeyDown(_arg1:KeyboardEvent){ switch (_arg1.keyCode){ case Keyboard.ESCAPE: goBack(); break; }; } override public function show(){ var _local1:GlowFilter; if (((SOManager.objs[Kablammo.SO_NAME].data.scoreHistory) && ((SOManager.objs[Kablammo.SO_NAME].data.scoreHistory.length > 0)))){ if (!graph){ graph = new Graph(450, 185); graph.x = 100; graph.y = 150; }; addChild(graph); graph.build(SOManager.objs[Kablammo.SO_NAME].data.scoreHistory); _local1 = new GlowFilter(0xFFFFFF, 1, 3, 3, 1); graph.grid.filters = [_local1]; txtAlwaysShowValues.visible = (btnAlwaysShowValues.visible = (chkAlwaysShowValues.visible = (txtHeading.visible = (txtOldest.visible = (txtLatest.visible = true))))); txtNo.visible = false; } else { txtAlwaysShowValues.visible = (btnAlwaysShowValues.visible = (chkAlwaysShowValues.visible = (txtHeading.visible = (txtOldest.visible = (txtLatest.visible = false))))); txtNo.visible = true; }; stage.addEventListener(KeyboardEvent.KEY_DOWN, elKeyDown, false, 0, true); btnAlwaysShowValues.addEventListener(MouseEvent.CLICK, setAlwaysShowValues, false, 0, true); goBg.addEventListener(MouseEvent.MOUSE_OVER, elGoOver, false, 0, true); goBg.addEventListener(MouseEvent.MOUSE_OUT, elGoOut, false, 0, true); goBg.addEventListener(MouseEvent.CLICK, elGoClick, false, 0, true); selectionIndicator.alpha = 0; if (SettingsManager.showScoreHistoryValues){ chkAlwaysShowValues.check(); graph.showValues = "Always"; } else { chkAlwaysShowValues.uncheck(); graph.showValues = "MouseOver"; }; } } }//package
Section 51
//SettingsManager (SettingsManager) package { public class SettingsManager { public static const DEFAULTS:Object = {showScoreHistoryValues:true, enabledSoundFX:true}; public static var showScoreHistoryValues:Boolean = DEFAULTS.showScoreHistoryValues; public static var enableSoundFX:Boolean = DEFAULTS.enableSoundFX; } }//package
Section 52
//Sky (Sky) package { import flash.display.*; public dynamic class Sky extends MovieClip { } }//package
Section 53
//SOManager (SOManager) package { import flash.events.*; import flash.display.*; import flash.net.*; public class SOManager { public static var objs:Object = new Object(); public static function loadSO(_arg1:String){ SOManager.objs[_arg1] = SharedObject.getLocal(_arg1); } public static function flushSO(_arg1:String){ SOManager.objs[_arg1].flush(); } } }//package
Section 54
//SoundManager (SoundManager) package { import gs.*; import flash.events.*; import flash.display.*; import flash.media.*; import fl.transitions.easing.*; import flash.utils.*; import flash.filters.*; import fl.transitions.*; public class SoundManager extends MovieClip { private static var _categories:Object = new Object(); private static var sounds:Object = new Object(); public static function get categories():Object{ return (_categories); } public static function isPlaying(_arg1:String):Boolean{ var _local2:*; _local2 = sounds[_arg1]; return (_local2.isPlaying); } public static function changeGroupVolume(_arg1:String, _arg2:Number, _arg3:Number, _arg4=null, _arg5:Boolean=false){ var _local6:String; var _local7:*; var _local8:*; _local6 = _arg1; for (_local7 in sounds) { _local8 = sounds[_local7]; if (sounds[_local7].group == _local6){ changeVolume(_local7, _arg2, _arg3, _arg4, _arg5); }; }; } public static function stopSound(_arg1:String){ var _local2:*; _local2 = sounds[_arg1]; _local2.isPlaying = false; _local2.chan.stop(); } public static function addSound(_arg1:String, _arg2:Sound, _arg3:String=""){ var _local4:Object; var _local5:Object; _local4 = new Object(); _local4.sound = _arg2; _local4.chan = new SoundChannel(); _local4.group = _arg3; _local4.transform = new SoundTransform(); sounds[_arg1] = _local4; if (((!((_arg3 == ""))) && (!(categories[_arg3])))){ _local5 = new Object(); _local5.enabled = true; categories[_arg3] = _local5; }; } public static function init(){ } public static function changeVolume(_arg1:String, _arg2:Number, _arg3:Number, _arg4=null, _arg5:Boolean=false){ var _local6:*; var _local7:*; var _local8:*; _local6 = _arg1; _local7 = (_arg4) ? _arg4 : None.easeNone; if (sounds[_local6].isPlaying){ _local8 = sounds[_local6]; if (_arg5 == true){ TweenLite.to(_local8.transform, _arg3, {volume:_arg2, ease:_local7, onUpdate:applyTransform, onUpdateParams:[_local8], onComplete:stopSound, onCompleteParams:[_local6]}); } else { TweenLite.to(_local8.transform, _arg3, {volume:_arg2, ease:_local7, onUpdate:applyTransform, onUpdateParams:[_local8]}); }; }; } public static function toggleGroup(_arg1:String){ if (categories[_arg1].enabled == true){ disableGroup(_arg1); } else { enableGroup(_arg1); }; } public static function disableGroup(_arg1:String){ var _local2:*; for (_local2 in sounds) { if ((((sounds[_local2].group == _arg1)) && (sounds[_local2].isPlaying))){ stopSound(_local2); }; }; categories[_arg1].enabled = false; } public static function playSound(_arg1:String, _arg2:Object=null){ var _local3:*; var _local4:Object; _local3 = sounds[_arg1]; if (categories[_local3.group].enabled == true){ _local4 = (_arg2) ? _arg2 : new Object(); _local3.startTime = (_local4.startTime) ? _local4.startTime : 0; _local3.loops = (_local4.loops) ? _local4.loops : 0; _local3.playCount = 0; _local3.fadeInDuration = (_local4.fadeInDuration) ? _local4.fadeInDuration : 0; _local3.fadeInEasing = (_local4.fadeInEasing) ? _local4.fadeInEasing : None.easeNone; _local3.targetVolume = (_local4.volume) ? _local4.volume : 1; _local3.transform.pan = (_local4.pan) ? _local4.pan : 0; if (_local3.fadeInDuration > 0){ _local3.transform.volume = 0; changeVolume(_arg1, _local3.targetVolume, _local3.fadeInDuration, _local3.fadeInEasing); } else { _local3.transform.volume = _local3.targetVolume; }; _local3.chan = _local3.sound.play(_local3.startTime, _local3.loops, _local3.transform); _local3.isPlaying = true; }; } public static function enableGroup(_arg1:String){ categories[_arg1].enabled = true; } private static function applyTransform(_arg1:Object){ var _local2:*; _local2 = _arg1; _local2.chan.soundTransform = _local2.transform; } } }//package
Section 55
//SponsorIntroScreen (SponsorIntroScreen) package { import flash.events.*; import flash.display.*; public class SponsorIntroScreen extends KablammoScreen { private var graph:Graph; public var mindjoltIdent:MovieClip; private var items:Array; public function SponsorIntroScreen(){ addEventListener(Event.ADDED_TO_STAGE, elAddedToStage); } private function elAddedToStage(_arg1:Event){ } } }//package
Section 56
//SponsorLogo (SponsorLogo) package { import flash.display.*; public dynamic class SponsorLogo extends MovieClip { } }//package
Section 57
//StandardGame (StandardGame) package { import gs.*; import flash.events.*; import flash.display.*; import fl.transitions.easing.*; import mochi.*; import flash.filters.*; import flash.ui.*; public class StandardGame extends KablammoScreen { private var maxLives:uint;// = 3 private var pointerResetPanel:PointerResetPanel; private var bombs:Sprite; private var paused:Boolean; private var horizontalLine:Sprite; private var bg:Sprite; private var level:Object; private var _score:uint; private var bombsToDetonate:Array; private var levelIndex:int; private var pillows:Sprite; private var _catchComboLength:uint; private var bomber:Bomber; private var scoreDisplay:ScoreDisplay; private var bombIter:uint; private var sponsorLogo:SponsorLogo; private var bombsToDetonateIter:uint; private var _pillowCount:uint; public function StandardGame(){ maxLives = 3; super(); } private function pause(){ var _local1:uint; var _local2:Bomb; Mouse.show(); horizontalLine.visible = false; bomber.stop(); TweenLite.killDelayedCallsTo(dropBomb); _local1 = 0; while (_local1 < bombs.numChildren) { _local2 = Bomb(bombs.getChildAt(_local1)); if (_local2.isAlive){ _local2.stop(); }; _local1++; }; paused = true; } private function stop(_arg1:Boolean=true){ var _local2:uint; var _local3:Bomb; if (_arg1 == true){ ProgressManager.bestScore = score; ProgressManager.bestCombo = catchComboLength; ProgressManager.addScoreToHistory(score); SOManager.flushSO(Kablammo.SO_NAME); }; stage.removeEventListener(KeyboardEvent.KEY_DOWN, elKeyDown); stage.removeEventListener(MouseEvent.MOUSE_MOVE, elMouseMove); stage.removeEventListener(MouseEvent.MOUSE_DOWN, playPreviousLevel); stage.removeEventListener(MouseEvent.MOUSE_DOWN, playNextLevel); bomber.stop(); _local2 = 0; while (_local2 < bombs.numChildren) { _local3 = Bomb(bombs.getChildAt(_local2)); if (_local3.isAlive){ _local3.stop(); }; _local2++; }; TweenLite.killDelayedCallsTo(dropBomb); Mouse.show(); } public function set score(_arg1:uint){ _score = _arg1; scoreDisplay.txtScore.text = _score.toString(); } private function dropBomb(){ var _local1:Number; var _local2:Bomb; var _local3:*; _local1 = ((bomber.x / (stage.stageWidth / 2)) - 1); SoundManager.playSound("dropBomb2", {pan:_local1}); _local2 = new Bomb(level.speedY); _local2.addEventListener("BombAtBottom", elBombAtBottom, false, 0, true); _local2.x = bomber.x; _local2.y = (bomber.y + 20); _local2.index = bombIter; bombs.addChild(_local2); _local2.fall(); bombIter++; bomber.resetDummyBomb(); if (bombIter < level.count){ _local3 = (level.interval) ? level.interval : ((Math.random() * (level.maxInterval - level.minInterval)) + level.minInterval); TweenLite.delayedCall(_local3, dropBomb); } else { bomber.stop(); SoundManager.stopSound("bomberMove"); }; } private function resume(_arg1:MouseEvent=null){ var _local2:uint; var _local3:*; var _local4:Bomb; Mouse.hide(); pointerResetPanel.hide(); pointerResetPanel.button.removeEventListener(MouseEvent.MOUSE_DOWN, resume); horizontalLine.visible = true; bomber.move(); _local3 = (level.interval) ? level.interval : ((Math.random() * (level.maxInterval - level.minInterval)) + level.minInterval); TweenLite.delayedCall(_local3, dropBomb); _local2 = 0; while (_local2 < bombs.numChildren) { _local4 = Bomb(bombs.getChildAt(_local2)); if (_local4.isAlive){ _local4.fall(); }; _local2++; }; paused = false; } private function elMouseMove(_arg1:MouseEvent){ var _local2:*; pillows.x = stage.mouseX; horizontalLine.y = stage.mouseY; _local2 = Math.max(1, Math.abs((stage.mouseY - (stage.stageHeight / 2)))); horizontalLine.alpha = (((_local2 / (stage.stageHeight / 2)) / 2.5) + 0.1); } private function elMouseLeave(_arg1:Event){ var _local2:uint; if (!paused){ pause(); if (!pointerResetPanel){ pointerResetPanel = new PointerResetPanel(); }; pointerResetPanel.button.addEventListener(MouseEvent.MOUSE_DOWN, resume, false, 0, true); addChild(pointerResetPanel); _local2 = Math.min((stage.stageWidth - 25), stage.mouseX); _local2 = Math.max(25, _local2); pointerResetPanel.show(_local2); }; } public function start(){ var _local1:uint; var _local2:uint; var _local3:Sprite; var _local4:Pillow; Mouse.hide(); if (!bg){ bg = new Sprite(); bg.cacheAsBitmap = true; _local1 = 0; while (_local1 < (stage.stageHeight / 10)) { _local2 = 0; while (_local2 < (stage.stageWidth / 10)) { _local3 = new Sprite(); _local3.graphics.beginFill(0xFFFFFF, 0.1); _local3.graphics.drawCircle(0, 0, 4); _local3.graphics.endFill(); _local3.x = (_local2 * 10); _local3.y = (_local1 * 10); bg.addChild(_local3); _local2++; }; _local1++; }; }; if (!horizontalLine){ horizontalLine = new Sprite(); horizontalLine.graphics.beginFill(0xFFFFFF); horizontalLine.graphics.drawRect(0, 0, stage.stageWidth, 2); horizontalLine.graphics.endFill(); horizontalLine.alpha = 0.2; }; horizontalLine.visible = true; addChild(horizontalLine); if (!scoreDisplay){ scoreDisplay = new ScoreDisplay(); }; addChild(scoreDisplay); Proto.center(scoreDisplay); scoreDisplay.focus(); if (!sponsorLogo){ sponsorLogo = new SponsorLogo(); sponsorLogo.scaleX = (sponsorLogo.scaleY = 0.8); sponsorLogo.y = ((-(sponsorLogo.height) / 2) - 80); sponsorLogo.alpha = 1; scoreDisplay.addChild(sponsorLogo); }; if (!bombs){ bombs = new Sprite(); }; addChild(bombs); while (bombs.numChildren > 0) { Bomb(bombs.getChildAt(0)).destroy(); }; if (!bomber){ bomber = new Bomber(); }; bomber.x = (stage.stageWidth / 2); addChild(bomber); if (!pillows){ pillows = new Sprite(); pillows.x = stage.mouseX; pillows.y = (stage.stageHeight - 30); _local1 = 0; while (_local1 < maxLives) { _local4 = new Pillow(); _local4.y = (-(((maxLives - 1) * 35)) + (_local1 * 35)); _local4.name = ("pillow_" + _local1); pillows.addChild(_local4); _local1++; }; }; addChild(pillows); pillowCount = 3; score = 0; levelIndex = -1; while (scoreDisplay.catchCombos.numChildren > 0) { scoreDisplay.catchCombos.removeChildAt(0); }; catchComboLength = 0; stage.addEventListener(KeyboardEvent.KEY_DOWN, elKeyDown, false, 0, true); stage.addEventListener(MouseEvent.MOUSE_MOVE, elMouseMove, false, 0, true); stage.addEventListener(MouseEvent.MOUSE_DOWN, playNextLevel, false, 0, true); } private function elBombAtBottom(_arg1:Event){ loseLife(); } private function get catchComboLength():uint{ return (_catchComboLength); } private function detonateNextBomb(){ var _local1:Bomb; _local1 = Bomb(bombsToDetonate[bombsToDetonateIter]); _local1.detonate(); bombsToDetonateIter++; if (bombsToDetonateIter < bombsToDetonate.length){ TweenLite.delayedCall(0.2, detonateNextBomb); } else { pillowCount--; if (pillowCount == 0){ endGame(); } else { stage.addEventListener(MouseEvent.MOUSE_DOWN, playPreviousLevel); }; }; } private function elEnterFrame(_arg1:Event){ var _local2:uint; var _local3:uint; var _local4:Bomb; var _local5:Pillow; var _local6:*; var _local7:*; var _local8:*; _local2 = 0; while (_local2 < bombs.numChildren) { _local4 = Bomb(bombs.getChildAt(_local2)); _local3 = 0; while (_local3 < pillowCount) { _local5 = Pillow(pillows.getChildAt(_local3)); if (((_local4.isAlive) && (_local4.hitTestObject(_local5)))){ _local4.die(); _local5.play(); _local6 = score; score = (score + level.score); _local7 = Math.floor((_local6 / 1000)); _local8 = Math.floor((score / 1000)); if ((((_local8 > _local7)) && ((pillowCount < maxLives)))){ pillowCount++; SoundManager.playSound("extraLife"); }; catchComboLength++; if (_local4.index == (level.count - 1)){ ProgressManager.bestScore = score; scoreDisplay.focus(); stage.addEventListener(MouseEvent.MOUSE_DOWN, playNextLevel, false, 0, true); stage.removeEventListener(Event.MOUSE_LEAVE, elMouseLeave); }; }; _local3++; }; _local2++; }; } private function submitScore(){ Mouse.show(); scoreDisplay.hide(); Kablammo.leaderboardContainer.y = 0; addChild(Kablammo.leaderboardContainer); horizontalLine.visible = false; stage.removeEventListener(MouseEvent.MOUSE_MOVE, elMouseMove); stage.removeEventListener(MouseEvent.MOUSE_DOWN, playPreviousLevel); stage.removeEventListener(MouseEvent.MOUSE_DOWN, playNextLevel); stage.removeEventListener(KeyboardEvent.KEY_DOWN, elKeyDown); } private function set pillowCount(_arg1:uint){ var _local2:uint; var _local3:*; var _local4:Pillow; _local3 = Math.min(maxLives, _arg1); _local2 = 0; while (_local2 < maxLives) { _local4 = Pillow(pillows.getChildByName(("pillow_" + _local2))); if (_local2 < _local3){ _local4.visible = true; } else { _local4.visible = false; }; _local2++; }; _pillowCount = _local3; } public function get score():uint{ return (_score); } private function playNextLevel(_arg1:MouseEvent){ var _local2:*; _local2 = Math.min((ProgressManager.STANDARD_LEVELS.length - 1), (levelIndex + 1)); playLevel(_local2); } private function endGame(){ stop(); dispatchEvent(new Event("GameOver")); } private function playLevel(_arg1:uint){ var _local2:*; Mouse.hide(); stage.addEventListener(Event.ENTER_FRAME, elEnterFrame, false, 0, true); stage.addEventListener(Event.MOUSE_LEAVE, elMouseLeave, false, 0, true); stage.removeEventListener(MouseEvent.MOUSE_DOWN, playNextLevel); stage.removeEventListener(MouseEvent.MOUSE_DOWN, playPreviousLevel); levelIndex = _arg1; level = ProgressManager.STANDARD_LEVELS[levelIndex]; bombIter = 0; bomber.speed = level.bomberSpeed; bomber.move(); _local2 = (level.interval) ? level.interval : ((Math.random() * (level.maxInterval - level.minInterval)) + level.minInterval); TweenLite.delayedCall(_local2, dropBomb); scoreDisplay.blur(); } private function loseLife(){ var _local1:uint; var _local2:Bomb; stage.removeEventListener(Event.MOUSE_LEAVE, elMouseLeave); scoreDisplay.focus(); bomber.stop(); TweenLite.killDelayedCallsTo(dropBomb); if (!bombsToDetonate){ bombsToDetonate = new Array(); }; bombsToDetonate = []; ProgressManager.bestCombo = catchComboLength; SOManager.flushSO(Kablammo.SO_NAME); catchComboLength = 0; _local1 = 0; while (_local1 < bombs.numChildren) { _local2 = Bomb(bombs.getChildAt(_local1)); if (_local2.isAlive){ _local2.stop(); bombsToDetonate.push(_local2); }; _local1++; }; bombsToDetonateIter = 0; detonateNextBomb(); } private function get pillowCount():uint{ return (_pillowCount); } private function set catchComboLength(_arg1:uint){ var _local2:ScoreDisplayCatchCombo; var _local3:uint; var _local4:ScoreDisplayCatchCombo; _catchComboLength = _arg1; _local2 = new ScoreDisplayCatchCombo(); _local2.txtCatchCombo.text = (_catchComboLength + "x"); if (_catchComboLength == 0){ TweenLite.from(_local2, 0.3, {alpha:0, y:"-23", ease:Strong.easeOut}); _local3 = 0; while (_local3 < scoreDisplay.catchCombos.numChildren) { _local4 = ScoreDisplayCatchCombo(scoreDisplay.catchCombos.getChildAt(_local3)); TweenLite.to(_local4, 0.5, {y:"23", ease:Strong.easeOut}); TweenLite.to(_local4, 2, {alpha:0, ease:None.easeNone, overwrite:false, onComplete:scoreDisplay.catchCombos.removeChild, onCompleteParams:[_local4]}); _local3++; }; } else { while (scoreDisplay.catchCombos.numChildren > 0) { TweenLite.killTweensOf(scoreDisplay.catchCombos.getChildAt(0)); scoreDisplay.catchCombos.removeChildAt(0); }; }; scoreDisplay.catchCombos.addChild(_local2); } private function playPreviousLevel(_arg1:MouseEvent){ var _local2:*; _local2 = Math.max(0, (levelIndex - 1)); playLevel(_local2); } private function elKeyDown(_arg1:KeyboardEvent){ switch (_arg1.keyCode){ case Keyboard.ESCAPE: stop(); dispatchEvent(new Event("GameAborted")); break; }; } } }//package
Section 58
//Title (Title) package { import flash.display.*; public dynamic class Title extends MovieClip { } }//package
Section 59
//TitleMusicSound (TitleMusicSound) package { import flash.media.*; public dynamic class TitleMusicSound extends Sound { } }//package
Section 60
//TitleScreen (TitleScreen) package { import gs.*; import flash.events.*; import flash.display.*; import fl.transitions.easing.*; import com.mindjolt.api.as3.*; import flash.text.*; import flash.net.*; import flash.filters.*; public class TitleScreen extends KablammoScreen { public var selectionIndicator:MovieClip; public var standardGameBg:MovieClip; public var txtScoreHistory:TextField; public var sponsorLink:MovieClip; public var txtFX:TextField; public var txtPBCombo:TextField; public var txtPBScore:TextField; public var evenMoreGamesBg:MovieClip; private var graph:Graph; public var scoreHistoryBg:MovieClip; private var items:Array; public var instructionsBg:MovieClip; public var moreGamesBg:MovieClip; public var txtStandardGame:TextField; public var highscoresBg:MovieClip; public function TitleScreen(){ var _local1:uint; var _local2:*; super(); items = [{obj:standardGameBg}, {obj:highscoresBg}, {obj:instructionsBg}, {obj:moreGamesBg}, {obj:scoreHistoryBg}, {obj:evenMoreGamesBg}]; _local1 = 0; while (_local1 < items.length) { _local2 = items[_local1].obj; _local2.buttonMode = true; _local2.addEventListener(MouseEvent.MOUSE_OVER, highlightMenuItem, false, 0, true); _local2.addEventListener(MouseEvent.CLICK, elMouseDown, false, 0, true); _local2.addEventListener(MouseEvent.MOUSE_OUT, elMenuItemOut, false, 0, true); _local1++; }; addEventListener(Event.ADDED_TO_STAGE, elAddedToStage); sponsorLink.logo.buttonMode = true; sponsorLink.txtMore.mouseEnabled = false; sponsorLink.logo.addEventListener(MouseEvent.CLICK, elSponsorLogoClick, false, 0, true); } private function elMouseDown(_arg1:MouseEvent){ SoundManager.playSound("menuItemClick"); stage.removeEventListener(MouseEvent.MOUSE_DOWN, elMouseDown); switch (_arg1.target){ case standardGameBg: dispatchEvent(new Event("StandardGameSelected")); break; case highscoresBg: dispatchEvent(new Event("HighscoresSelected")); break; case instructionsBg: dispatchEvent(new Event("InstructionsSelected")); break; case moreGamesBg: navigateToURL(new URLRequest(Kablammo.DEVELOPER_SITE_URL), "_blank"); break; case scoreHistoryBg: dispatchEvent(new Event("ScoreHistorySelected")); break; case evenMoreGamesBg: MindJoltSponsoredAPI.openLink(2); }; } public function updateFXText(){ txtFX.text = (SettingsManager.enableSoundFX) ? "Sound is ON. Press S to turn it off" : "Sound is OFF. Press S to turn it on"; } private function elSponsorLogoClick(_arg1:MouseEvent){ MindJoltSponsoredAPI.openLink(6); } private function elAddedToStage(_arg1:Event){ } private function elMenuItemOut(_arg1:MouseEvent){ TweenLite.to(selectionIndicator, 0.4, {alpha:0, ease:Strong.easeOut}); } private function highlightMenuItem(_arg1:Event){ var _local2:*; var _local3:*; _local2 = _arg1.target; selectionIndicator.x = _local2.x; _local3 = -13; if (_local2 == evenMoreGamesBg){ _local3 = (_local3 - 12); }; selectionIndicator.y = (_local2.getBounds(this).bottom + _local3); selectionIndicator.width = _local2.width; TweenLite.to(selectionIndicator, 0.4, {alpha:0.5, ease:Strong.easeOut}); SoundManager.playSound("menuItemOver"); } override public function show(){ selectionIndicator.alpha = 0; txtPBScore.text = ("Highest score: " + uint(SOManager.objs[Kablammo.SO_NAME].data.bestScore)); txtPBCombo.text = (("Longest combo: " + uint(SOManager.objs[Kablammo.SO_NAME].data.bestCombo)) + "x"); updateFXText(); } } }//package
Section 61
//TitleScreenMindjolt (TitleScreenMindjolt) package { import gs.*; import flash.events.*; import flash.display.*; import fl.transitions.easing.*; import com.mindjolt.api.as3.*; import flash.text.*; import flash.net.*; import flash.filters.*; public class TitleScreenMindjolt extends KablammoScreen { public var selectionIndicator:MovieClip; public var standardGameBg:MovieClip; public var sponsorLink:MovieClip; public var txtFX:TextField; public var txtPBCombo:TextField; public var txtPBScore:TextField; public var evenMoreGamesBg:MovieClip; private var graph:Graph; public var scoreHistoryBg:MovieClip; private var items:Array; public var instructionsBg:MovieClip; public var moreGamesBg:MovieClip; public var txtStandardGame:TextField; public var highscoresBg:MovieClip; public function TitleScreenMindjolt(){ var _local1:uint; var _local2:*; super(); items = [{obj:standardGameBg}, {obj:highscoresBg}, {obj:instructionsBg}, {obj:moreGamesBg}, {obj:scoreHistoryBg}, {obj:evenMoreGamesBg}]; _local1 = 0; while (_local1 < items.length) { _local2 = items[_local1].obj; _local2.buttonMode = true; _local2.addEventListener(MouseEvent.MOUSE_OVER, highlightMenuItem, false, 0, true); _local2.addEventListener(MouseEvent.CLICK, elMouseDown, false, 0, true); _local2.addEventListener(MouseEvent.MOUSE_OUT, elMenuItemOut, false, 0, true); _local1++; }; addEventListener(Event.ADDED_TO_STAGE, elAddedToStage); sponsorLink.buttonMode = true; sponsorLink.txtMore.mouseEnabled = false; sponsorLink.logo.addEventListener(MouseEvent.CLICK, elSponsorLogoClick, false, 0, true); } private function elMouseDown(_arg1:MouseEvent){ SoundManager.playSound("menuItemClick"); stage.removeEventListener(MouseEvent.MOUSE_DOWN, elMouseDown); switch (_arg1.target){ case standardGameBg: dispatchEvent(new Event("StandardGameSelected")); break; case highscoresBg: dispatchEvent(new Event("HighscoresSelected")); break; case instructionsBg: dispatchEvent(new Event("InstructionsSelected")); break; case moreGamesBg: navigateToURL(new URLRequest(Kablammo.DEVELOPER_SITE_URL), "_blank"); break; case scoreHistoryBg: dispatchEvent(new Event("ScoreHistorySelected")); break; case evenMoreGamesBg: MindJoltSponsoredAPI.openLink(2); }; } public function updateFXText(){ txtFX.text = (SettingsManager.enableSoundFX) ? "Sound effects are ON. Press S to turn them off" : "Sound effects are OFF. Press S to turn them on"; } private function elSponsorLogoClick(_arg1:MouseEvent){ MindJoltSponsoredAPI.openLink(6); } private function elAddedToStage(_arg1:Event){ } private function elMenuItemOut(_arg1:MouseEvent){ TweenLite.to(selectionIndicator, 0.4, {alpha:0, ease:Strong.easeOut}); } private function highlightMenuItem(_arg1:Event){ var _local2:*; var _local3:*; _local2 = _arg1.target; selectionIndicator.x = _local2.x; _local3 = -13; if (_local2 == evenMoreGamesBg){ _local3 = (_local3 - 12); }; selectionIndicator.y = (_local2.getBounds(this).bottom + _local3); selectionIndicator.width = _local2.width; TweenLite.to(selectionIndicator, 0.4, {alpha:0.5, ease:Strong.easeOut}); SoundManager.playSound("menuItemOver"); } override public function show(){ selectionIndicator.alpha = 0; txtPBScore.text = ("Highest score: " + uint(SOManager.objs[Kablammo.SO_NAME].data.bestScore)); txtPBCombo.text = (("Longest combo: " + uint(SOManager.objs[Kablammo.SO_NAME].data.bestCombo)) + "x"); updateFXText(); } } }//package
Section 62
//Tooltip (Tooltip) package { import gs.*; import flash.events.*; import flash.display.*; import fl.transitions.easing.*; import flash.text.*; import flash.net.*; import flash.geom.*; import flash.filters.*; import flash.ui.*; public class Tooltip extends Sprite { var arrow:Sprite; var bgInitX:Number; var textInitX:Number; var text:Sprite; var isShowing:Boolean; var bg:Sprite; public var defaultTextFormat:TextFormat; var otherParams:Object; public function Tooltip(){ alpha = 0; mouseEnabled = false; mouseChildren = false; defaultTextFormat = new TextFormat(); defaultTextFormat.font = "ProggyCleanTT"; defaultTextFormat.size = 15; addEventListener(Event.REMOVED_FROM_STAGE, elRemovedFromStage, false, 0, true); } public function hide(){ stage.removeEventListener(MouseEvent.MOUSE_MOVE, adjustPosition); stage.removeEventListener(Event.ENTER_FRAME, elEnterFrame); isShowing = false; TweenLite.to(this, 0.5, {autoAlpha:0, ease:Strong.easeOut}); } private function elEnterFrame(_arg1:Event){ parent.addChild(this); } private function elRemovedFromStage(_arg1:Event){ stage.removeEventListener(MouseEvent.MOUSE_MOVE, adjustPosition); stage.removeEventListener(Event.ENTER_FRAME, elEnterFrame); } private function adjustPosition(_arg1:MouseEvent=null){ if (x < ((bgInitX * -1) + 5)){ bg.x = (-(x) + 5); text.x = (bg.x + 3); } else { if (x > ((stage.stageWidth - (bgInitX * -1)) - 5)){ bg.x = (-((bg.width - (stage.stageWidth - x))) - 5); text.x = (bg.x + 3); } else { bg.x = bgInitX; text.x = textInitX; }; }; } public function show(_arg1:Number, _arg2:Number, _arg3:String, _arg4:Object=null){ var _local5:TextField; otherParams = (_arg4) ? _arg4 : new Object(); otherParams.arrowAngle = (otherParams.arrowAngle) ? otherParams.arrowAngle : 0; otherParams.followMouse = (otherParams.followMouse) ? otherParams.followMouse : false; otherParams.textFormat = (otherParams.textFormat) ? otherParams.textFormat : defaultTextFormat; otherParams.stayOnTop = (otherParams.stayOnTop) ? otherParams.stayOnTop : true; otherParams.destAlpha = (otherParams.destAlpha) ? otherParams.destAlpha : 1; otherParams.textOnly = (otherParams.textOnly) ? otherParams.textOnly : false; if (((text) && (contains(text)))){ removeChild(text); }; if (((bg) && (contains(bg)))){ removeChild(bg); }; if (((arrow) && (contains(arrow)))){ removeChild(arrow); }; bg = new Sprite(); if (otherParams.textOnly == true){ bg.visible = false; }; text = new Sprite(); arrow = new Sprite(); if (otherParams.textOnly == true){ arrow.visible = false; }; addChild(bg); addChild(arrow); addChild(text); arrow.graphics.beginFill(0xFFFFFF); arrow.graphics.moveTo(-10, -5); arrow.graphics.lineTo(0, 0); arrow.graphics.lineTo(-10, 5); arrow.graphics.lineTo(-10, -5); arrow.graphics.endFill(); arrow.rotation = otherParams.arrowAngle; _local5 = new TextField(); _local5.autoSize = TextFieldAutoSize.LEFT; _local5.htmlText = _arg3; _local5.setTextFormat(otherParams.textFormat); text.addChild(_local5); bg.graphics.beginFill(0xFFFFFF); bg.graphics.drawRect(0, 0, (_local5.width + 10), _local5.height); bg.graphics.endFill(); bg.width = (_local5.width + 10); x = Math.floor(_arg1); y = Math.floor(_arg2); switch (otherParams.arrowAngle){ case 0: bg.x = -(((_local5.width + 10) + arrow.width)); bg.y = (-(bg.height) / 2); break; case 90: bg.x = (-(bg.width) / 2); bg.y = -25.5; break; case 180: bg.y = (-(bg.height) / 2); bg.x = arrow.width; break; default: break; }; bgInitX = bg.x; textInitX = text.x; _local5.x = int((bg.x + 5)); _local5.y = int(bg.y); if (otherParams.followMouse == true){ stage.addEventListener(MouseEvent.MOUSE_MOVE, adjustPosition, false, 0, true); }; if (otherParams.stayOnTop == true){ stage.addEventListener(Event.ENTER_FRAME, elEnterFrame, false, 0, true); }; TweenLite.to(this, 0.5, {autoAlpha:otherParams.destAlpha, ease:Strong.easeOut}); isShowing = true; parent.addChild(this); } } }//package

Library Items

Symbol 1 Sound {AchievementAwardedSound}
Symbol 2 GraphicUsed by:3
Symbol 3 MovieClipUses:2Used by:15
Symbol 4 GraphicUsed by:7
Symbol 5 FontUsed by:6 33 44 45 46 47 48 55 56 57 58 59 60 62 63 64 65 66 70 75 77 94 98 99 100 101 102 140
Symbol 6 EditableTextUses:5Used by:7
Symbol 7 MovieClipUses:4 6Used by:15
Symbol 8 GraphicUsed by:9
Symbol 9 MovieClipUses:8Used by:14
Symbol 10 GraphicUsed by:11
Symbol 11 MovieClipUses:10Used by:13 52
Symbol 12 GraphicUsed by:13
Symbol 13 MovieClipUses:11 12Used by:14
Symbol 14 MovieClip {Kablammo_fla.pointerResetPanel_54}Uses:9 13Used by:15
Symbol 15 MovieClip {PointerResetPanel}Uses:3 7 14
Symbol 16 GraphicUsed by:17
Symbol 17 MovieClipUses:16Used by:20
Symbol 18 GraphicUsed by:19
Symbol 19 MovieClipUses:18Used by:20
Symbol 20 MovieClipUses:17 19Used by:21
Symbol 21 MovieClip {Pillow}Uses:20
Symbol 22 FontUsed by:23 84
Symbol 23 EditableTextUses:22Used by:25
Symbol 24 MovieClipUsed by:25
Symbol 25 MovieClip {ScoreDisplay}Uses:23 24
Symbol 26 GraphicUsed by:27
Symbol 27 MovieClip {Sky}Uses:26
Symbol 28 GraphicUsed by:29
Symbol 29 MovieClipUses:28Used by:30
Symbol 30 MovieClip {Bomber}Uses:29
Symbol 31 GraphicUsed by:32 92
Symbol 32 MovieClipUses:31Used by:54 61 71 76 83 103 141
Symbol 33 EditableTextUses:5Used by:39
Symbol 34 GraphicUsed by:37
Symbol 35 GraphicUsed by:36
Symbol 36 MovieClipUses:35Used by:37 134
Symbol 37 MovieClipUses:34 36Used by:38
Symbol 38 MovieClip {SponsorLogo}Uses:37Used by:39 83
Symbol 39 MovieClip {Kablammo_fla.titleScreen_39}Uses:33 38Used by:54 61
Symbol 40 GraphicUsed by:43
Symbol 41 GraphicUsed by:43 69 74 80 97
Symbol 42 GraphicUsed by:43
Symbol 43 MovieClip {Title}Uses:40 41 42Used by:54 61
Symbol 44 EditableTextUses:5Used by:54
Symbol 45 EditableTextUses:5Used by:54
Symbol 46 EditableTextUses:5Used by:54
Symbol 47 EditableTextUses:5Used by:54
Symbol 48 EditableTextUses:5Used by:54
Symbol 49 GraphicUsed by:50
Symbol 50 MovieClipUses:49Used by:53
Symbol 51 GraphicUsed by:52
Symbol 52 MovieClipUses:11 51Used by:53
Symbol 53 MovieClip {Bomb}Uses:50 52Used by:54 61 71 83
Symbol 54 MovieClip {TitleScreenMindjolt}Uses:32 39 43 44 45 46 47 48 53
Symbol 55 EditableTextUses:5Used by:61
Symbol 56 EditableTextUses:5Used by:61
Symbol 57 EditableTextUses:5Used by:61
Symbol 58 EditableTextUses:5Used by:61
Symbol 59 EditableTextUses:5Used by:61
Symbol 60 EditableTextUses:5Used by:61
Symbol 61 MovieClip {TitleScreen}Uses:32 39 43 55 56 57 58 59 60 53
Symbol 62 EditableTextUses:5Used by:71
Symbol 63 EditableTextUses:5Used by:71
Symbol 64 EditableTextUses:5Used by:71
Symbol 65 EditableTextUses:5Used by:71
Symbol 66 EditableTextUses:5Used by:71
Symbol 67 GraphicUsed by:69
Symbol 68 GraphicUsed by:69
Symbol 69 MovieClipUses:67 41 68Used by:71
Symbol 70 EditableTextUses:5Used by:71
Symbol 71 MovieClip {InstructionsScreen}Uses:62 63 64 65 66 69 32 70 53
Symbol 72 GraphicUsed by:74
Symbol 73 GraphicUsed by:74
Symbol 74 MovieClipUses:72 41 73Used by:76
Symbol 75 EditableTextUses:5Used by:76
Symbol 76 MovieClip {HighscoresScreen}Uses:74 32 75
Symbol 77 EditableTextUses:5Used by:83
Symbol 78 GraphicUsed by:80
Symbol 79 GraphicUsed by:80
Symbol 80 MovieClipUses:78 41 79Used by:83
Symbol 81 FontUsed by:82
Symbol 82 EditableTextUses:81Used by:83
Symbol 83 MovieClip {GameOverScreen}Uses:32 77 38 80 53 82
Symbol 84 EditableTextUses:22Used by:85
Symbol 85 MovieClip {ScoreDisplayCatchCombo}Uses:84
Symbol 86 GraphicUsed by:88
Symbol 87 GraphicUsed by:88
Symbol 88 MovieClip {CheckMark}Uses:86 87Used by:103
Symbol 89 GraphicUsed by:92
Symbol 90 GraphicUsed by:92
Symbol 91 GraphicUsed by:92
Symbol 92 MovieClipUses:89 31 90 91Used by:93
Symbol 93 MovieClip {ButtonBg}Uses:92Used by:103
Symbol 94 EditableTextUses:5Used by:103
Symbol 95 GraphicUsed by:97
Symbol 96 GraphicUsed by:97
Symbol 97 MovieClipUses:95 41 96Used by:103
Symbol 98 EditableTextUses:5Used by:103
Symbol 99 EditableTextUses:5Used by:103
Symbol 100 EditableTextUses:5Used by:103
Symbol 101 EditableTextUses:5Used by:103
Symbol 102 EditableTextUses:5Used by:103
Symbol 103 MovieClip {ScoreHistoryScreen}Uses:32 94 97 93 98 99 100 101 102 88
Symbol 104 GraphicUsed by:136
Symbol 105 GraphicUsed by:136
Symbol 106 GraphicUsed by:120 136
Symbol 107 GraphicUsed by:121 136
Symbol 108 GraphicUsed by:109 136
Symbol 109 MovieClipUses:108Used by:136
Symbol 110 GraphicUsed by:111 136
Symbol 111 MovieClipUses:110Used by:136
Symbol 112 GraphicUsed by:113
Symbol 113 MovieClip {Kablammo_fla.mj_marker_9}Uses:112Used by:136
Symbol 114 GraphicUsed by:115
Symbol 115 ButtonUses:114Used by:136
Symbol 116 GraphicUsed by:117
Symbol 117 MovieClipUses:116Used by:136
Symbol 118 GraphicUsed by:119
Symbol 119 MovieClipUses:118Used by:136
Symbol 120 MovieClipUses:106Used by:136
Symbol 121 MovieClipUses:107Used by:136
Symbol 122 SoundUsed by:136
Symbol 123 GraphicUsed by:124
Symbol 124 MovieClipUses:123Used by:136
Symbol 125 GraphicUsed by:136
Symbol 126 GraphicUsed by:136
Symbol 127 GraphicUsed by:128
Symbol 128 MovieClipUses:127Used by:136
Symbol 129 SoundUsed by:136
Symbol 130 SoundUsed by:136
Symbol 131 GraphicUsed by:132
Symbol 132 MovieClipUses:131Used by:136
Symbol 133 GraphicUsed by:134
Symbol 134 MovieClip {Kablammo_fla.mj_logo_18}Uses:133 36Used by:136
Symbol 135 SoundUsed by:136
Symbol 136 MovieClip {Kablammo_fla.mindjolt_ident_6}Uses:104 105 106 107 109 111 113 115 117 119 120 121 122 124 108 110 125 126 128 129 130 132 134 135Used by:137
Symbol 137 MovieClip {SponsorIntroScreen}Uses:136
Symbol 138 GraphicUsed by:139
Symbol 139 MovieClipUses:138Used by:141
Symbol 140 EditableTextUses:5Used by:141
Symbol 141 MovieClip {AdContainer}Uses:139 32 140
Symbol 142 BitmapUsed by:143
Symbol 143 GraphicUses:142Used by:144
Symbol 144 MovieClip {com.mindjolt.api.as3.MindJoltAPI}Uses:143Used by:Timeline
Symbol 145 FontUsed by:146
Symbol 146 EditableTextUses:145Used by:Timeline
Symbol 147 FontUsed by:148
Symbol 148 EditableTextUses:147Used by:Timeline
Symbol 149 Sound {BombBounceSound}Used by:162
Symbol 150 Sound {BombBounce2Sound}Used by:162
Symbol 151 Sound {BombBounce3Sound}Used by:162
Symbol 152 Sound {BomberMoveSound}Used by:162
Symbol 153 Sound {BombExplodeSound}Used by:162
Symbol 154 Sound {ButtonClickSound}Used by:162
Symbol 155 Sound {DropBombSound}Used by:162
Symbol 156 Sound {DropBomb2Sound}Used by:162
Symbol 157 Sound {ExtraLifeSound}Used by:162
Symbol 158 Sound {MenuItemClickSound}Used by:162
Symbol 159 Sound {MenuItemErrorSound}Used by:162
Symbol 160 Sound {MenuItemOverSound}Used by:162
Symbol 161 Sound {TitleMusicSound}Used by:162
Symbol 162 MovieClip {Kablammo_fla.assetsContainer_1}Uses:149 150 151 152 153 154 155 156 157 158 159 160 161Used by:Timeline

Instance Names

"txtSitelock"Frame 1Symbol 146 EditableText
"txtDOM"Frame 1Symbol 148 EditableText
"core"Symbol 14 MovieClip {Kablammo_fla.pointerResetPanel_54} Frame 1Symbol 9 MovieClip
"tip"Symbol 14 MovieClip {Kablammo_fla.pointerResetPanel_54} Frame 1Symbol 13 MovieClip
"tip"Symbol 15 MovieClip {PointerResetPanel} Frame 1Symbol 3 MovieClip
"message"Symbol 15 MovieClip {PointerResetPanel} Frame 1Symbol 7 MovieClip
"button"Symbol 15 MovieClip {PointerResetPanel} Frame 1Symbol 14 MovieClip {Kablammo_fla.pointerResetPanel_54}
"txtScore"Symbol 25 MovieClip {ScoreDisplay} Frame 1Symbol 23 EditableText
"catchCombos"Symbol 25 MovieClip {ScoreDisplay} Frame 1Symbol 24 MovieClip
"gfx"Symbol 30 MovieClip {Bomber} Frame 1Symbol 29 MovieClip
"txtMore"Symbol 39 MovieClip {Kablammo_fla.titleScreen_39} Frame 1Symbol 33 EditableText
"logo"Symbol 39 MovieClip {Kablammo_fla.titleScreen_39} Frame 1Symbol 38 MovieClip {SponsorLogo}
"core"Symbol 53 MovieClip {Bomb} Frame 1Symbol 50 MovieClip
"tip"Symbol 53 MovieClip {Bomb} Frame 1Symbol 52 MovieClip
"selectionIndicator"Symbol 54 MovieClip {TitleScreenMindjolt} Frame 1Symbol 32 MovieClip
"sponsorLink"Symbol 54 MovieClip {TitleScreenMindjolt} Frame 1Symbol 39 MovieClip {Kablammo_fla.titleScreen_39}
"txtFX"Symbol 54 MovieClip {TitleScreenMindjolt} Frame 1Symbol 45 EditableText
"txtPBScore"Symbol 54 MovieClip {TitleScreenMindjolt} Frame 1Symbol 46 EditableText
"txtPBCombo"Symbol 54 MovieClip {TitleScreenMindjolt} Frame 1Symbol 47 EditableText
"txtStandardGame"Symbol 54 MovieClip {TitleScreenMindjolt} Frame 1Symbol 48 EditableText
"evenMoreGamesBg"Symbol 54 MovieClip {TitleScreenMindjolt} Frame 1Symbol 32 MovieClip
"scoreHistoryBg"Symbol 54 MovieClip {TitleScreenMindjolt} Frame 1Symbol 32 MovieClip
"standardGameBg"Symbol 54 MovieClip {TitleScreenMindjolt} Frame 1Symbol 32 MovieClip
"highscoresBg"Symbol 54 MovieClip {TitleScreenMindjolt} Frame 1Symbol 32 MovieClip
"instructionsBg"Symbol 54 MovieClip {TitleScreenMindjolt} Frame 1Symbol 32 MovieClip
"moreGamesBg"Symbol 54 MovieClip {TitleScreenMindjolt} Frame 1Symbol 32 MovieClip
"selectionIndicator"Symbol 61 MovieClip {TitleScreen} Frame 1Symbol 32 MovieClip
"sponsorLink"Symbol 61 MovieClip {TitleScreen} Frame 1Symbol 39 MovieClip {Kablammo_fla.titleScreen_39}
"txtFX"Symbol 61 MovieClip {TitleScreen} Frame 1Symbol 56 EditableText
"txtStandardGame"Symbol 61 MovieClip {TitleScreen} Frame 1Symbol 57 EditableText
"txtPBScore"Symbol 61 MovieClip {TitleScreen} Frame 1Symbol 58 EditableText
"txtPBCombo"Symbol 61 MovieClip {TitleScreen} Frame 1Symbol 59 EditableText
"evenMoreGamesBg"Symbol 61 MovieClip {TitleScreen} Frame 1Symbol 32 MovieClip
"txtScoreHistory"Symbol 61 MovieClip {TitleScreen} Frame 1Symbol 60 EditableText
"scoreHistoryBg"Symbol 61 MovieClip {TitleScreen} Frame 1Symbol 32 MovieClip
"standardGameBg"Symbol 61 MovieClip {TitleScreen} Frame 1Symbol 32 MovieClip
"highscoresBg"Symbol 61 MovieClip {TitleScreen} Frame 1Symbol 32 MovieClip
"instructionsBg"Symbol 61 MovieClip {TitleScreen} Frame 1Symbol 32 MovieClip
"moreGamesBg"Symbol 61 MovieClip {TitleScreen} Frame 1Symbol 32 MovieClip
"selectionIndicator"Symbol 71 MovieClip {InstructionsScreen} Frame 1Symbol 32 MovieClip
"goBg"Symbol 71 MovieClip {InstructionsScreen} Frame 1Symbol 32 MovieClip
"selectionIndicator"Symbol 76 MovieClip {HighscoresScreen} Frame 1Symbol 32 MovieClip
"returnBg"Symbol 76 MovieClip {HighscoresScreen} Frame 1Symbol 32 MovieClip
"txtNameBorder"Symbol 83 MovieClip {GameOverScreen} Frame 1Symbol 32 MovieClip
"selectionIndicator"Symbol 83 MovieClip {GameOverScreen} Frame 1Symbol 32 MovieClip
"item1Bg"Symbol 83 MovieClip {GameOverScreen} Frame 1Symbol 32 MovieClip
"item2Bg"Symbol 83 MovieClip {GameOverScreen} Frame 1Symbol 32 MovieClip
"sponsorLogo"Symbol 83 MovieClip {GameOverScreen} Frame 1Symbol 38 MovieClip {SponsorLogo}
"txtName"Symbol 83 MovieClip {GameOverScreen} Frame 1Symbol 82 EditableText
"txtCatchCombo"Symbol 85 MovieClip {ScoreDisplayCatchCombo} Frame 1Symbol 84 EditableText
"gfx"Symbol 93 MovieClip {ButtonBg} Frame 1Symbol 92 MovieClip
"selectionIndicator"Symbol 103 MovieClip {ScoreHistoryScreen} Frame 1Symbol 32 MovieClip
"goBg"Symbol 103 MovieClip {ScoreHistoryScreen} Frame 1Symbol 32 MovieClip
"btnAlwaysShowValues"Symbol 103 MovieClip {ScoreHistoryScreen} Frame 1Symbol 93 MovieClip {ButtonBg}
"txtLatest"Symbol 103 MovieClip {ScoreHistoryScreen} Frame 1Symbol 98 EditableText
"txtOldest"Symbol 103 MovieClip {ScoreHistoryScreen} Frame 1Symbol 99 EditableText
"txtHeading"Symbol 103 MovieClip {ScoreHistoryScreen} Frame 1Symbol 100 EditableText
"txtNo"Symbol 103 MovieClip {ScoreHistoryScreen} Frame 1Symbol 101 EditableText
"txtAlwaysShowValues"Symbol 103 MovieClip {ScoreHistoryScreen} Frame 1Symbol 102 EditableText
"chkAlwaysShowValues"Symbol 103 MovieClip {ScoreHistoryScreen} Frame 1Symbol 88 MovieClip {CheckMark}
"eyes"Symbol 136 MovieClip {Kablammo_fla.mindjolt_ident_6} Frame 1Symbol 109 MovieClip
"logo_btn"Symbol 136 MovieClip {Kablammo_fla.mindjolt_ident_6} Frame 1Symbol 115 Button
"mindlogo"Symbol 136 MovieClip {Kablammo_fla.mindjolt_ident_6} Frame 54Symbol 134 MovieClip {Kablammo_fla.mj_logo_18}
"mindjoltIdent"Symbol 137 MovieClip {SponsorIntroScreen} Frame 1Symbol 136 MovieClip {Kablammo_fla.mindjolt_ident_6}
"adBox"Symbol 141 MovieClip {AdContainer} Frame 1Symbol 139 MovieClip
"selectionIndicator"Symbol 141 MovieClip {AdContainer} Frame 1Symbol 32 MovieClip
"txt"Symbol 141 MovieClip {AdContainer} Frame 1Symbol 140 EditableText
"goBg"Symbol 141 MovieClip {AdContainer} Frame 1Symbol 32 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata not present, AS3.
Protect (24)Timeline Frame 131 bytes "..$1$OH$ZxaR2ziyOxziA2dSxHWHJ.."
ScriptLimits (65)Timeline Frame 1MaxRecursionDepth: 256, ScriptTimeout: 3 seconds

Labels

"Checked"Symbol 88 MovieClip {CheckMark} Frame 1
"Unchecked"Symbol 88 MovieClip {CheckMark} Frame 10
"Out"Symbol 92 MovieClip Frame 1
"Over"Symbol 92 MovieClip Frame 10
"Selected"Symbol 92 MovieClip Frame 17




http://swfchan.com/10/46588/info.shtml
Created: 3/5 -2019 09:56:57 Last modified: 3/5 -2019 09:56:57 Server time: 22/12 -2024 23:35:17