Frame 1
function __com_mochibot__(swfid, mc, lv, trk) {
var x;
var g;
var s;
var fv;
var sb;
var u;
var res;
var mb;
var mbc;
var pv;
mb = "__mochibot__";
mbc = "mochibot.com";
g = (_global ? (_global) : (_level0._root));
if (g[mb + swfid]) {
return(g[mb + swfid]);
}
s = System.security;
x = mc._root.getSWFVersion;
fv = (x ? (mc.getSWFVersion()) : ((_global ? 6 : 5)));
if (!s) {
s = {};
}
sb = s.sandboxType;
if (sb == "localWithFile") {
return(null);
}
x = s.allowDomain;
if (x) {
s.allowDomain(mbc);
}
x = s.allowInsecureDomain;
if (x) {
s.allowInsecureDomain(mbc);
}
pv = ((fv == 5) ? (getVersion()) : (System.capabilities.version));
u = (((((((((((("http://" + mbc) + "/my/core.swf?mv=8&fv=") + fv) + "&v=") + escape(pv)) + "&swfid=") + escape(swfid)) + "&l=") + lv) + "&f=") + mc) + (sb ? ("&sb=" + sb) : "")) + (trk ? "&t=1" : "");
lv = ((fv > 6) ? (mc.getNextHighestDepth()) : ((g[mb + "level"] ? (g[mb + "level"] + 1) : (lv))));
g[mb + "level"] = lv;
if (fv == 5) {
res = "_level" + lv;
if (!eval (res)) {
loadMovieNum (u, lv);
}
} else {
res = mc.createEmptyMovieClip(mb + swfid, lv);
res.loadMovie(u);
}
return(res);
}
__com_mochibot__("766828aa", this, 10301, true);
mochi.MochiServices.connect("dc01269b3cdf7351");
MochiAd.showPreGameAd({id:"dc01269b3cdf7351", res:"550x400"});
Frame 2
stop();
play_btn.onRelease = function () {
gotoAndStop (3);
};
highscores_btn.onRelease = function () {
gotoAndStop (4);
};
instructions_btn.onRelease = function () {
gotoAndStop (5);
};
credits_btn.onRelease = function () {
gotoAndStop (6);
};
Frame 3
function update_complete() {
attachMovie("level_complete_screen", "level_complete_screen", 43);
level_complete_screen._y = Stage.height / 2;
level_complete_screen._x = (Stage.width / 2) + 10;
ball.removeMovieClip();
removeEnemies = 1;
level_complete_screen.notes.selectable = false;
level_complete_screen.level_current.selectable = false;
level_complete_screen.lives_current.selectable = false;
level_complete_screen.score_gained.selectable = false;
level_complete_screen.multiplier_gained.selectable = false;
level_complete_screen.notes.text = comments_array[level - 1];
level_complete_screen.score_gained.text = score;
level_complete_screen.level_current.text = level + 1;
level_complete_screen.lives_current.text = lives;
level_complete_screen.multiplier_gained.text = multiplier;
values._y = -20;
level_complete_screen.nextLevel.onRelease = function () {
level = level + 1;
level_complete_screen.removeMovieClip();
attachMovie("ball", "ball", 1000000);
ball._x = Stage.width / 2;
ball._y = Stage.height / 2;
current_frame = 1;
_xball = 0;
_yball = 0;
removeEnemies = 0;
values._y = 5;
shooting = 0;
down = 0;
down2 = 0;
time_to_add_enemy = 1;
time_to_next_level = next_level_array[level - 1];
trace(time_to_next_level);
};
}
function updatestats() {
values.text = (((((((((((("Score: " + score) + "\t") + "\t") + "Time to next level: ") + time_to_next_level) + "\t") + "\t") + "Level: ") + level) + "\t") + "\t") + "Lives: ") + lives;
}
function onEnterFrame() {
if (current_frame == 1) {
if (lives <= 0) {
gotoAndStop (4);
ball.removeMovieClip();
values.removeTextField();
removeEnemies = 1;
kirupaSound3.stop();
}
if (Key.isDown(39) || (Key.isDown(68))) {
_xball = _xball + speed;
}
if (Key.isDown(37) || (Key.isDown(65))) {
_xball = _xball - speed;
}
if (Key.isDown(38) || (Key.isDown(87))) {
_yball = _yball - speed;
}
if (Key.isDown(40) || (Key.isDown(83))) {
_yball = _yball + speed;
}
if (ball._x > Stage.width) {
ball._x = 0;
}
if (ball._x < 0) {
ball._x = Stage.width;
}
if (ball._y > Stage.height) {
ball._y = 0;
}
if (ball._y < 0) {
ball._y = Stage.height;
}
_xball = _xball * friction;
_yball = _yball * friction;
ball._x = ball._x + _xball;
ball._y = ball._y + _yball;
shoot();
enemy_attack();
down = 0;
down2 = 0;
power_ups();
hit_test();
levels();
updatestats();
}
}
function shoot() {
if (shooting == 1) {
shooting = 0;
time_to_shoot = 1;
}
time_to_shoot = time_to_shoot - 1;
if (time_to_shoot == 0) {
time_to_shoot = 5;
bullet_MC = attachMovie("bullet", "bullet" + depth, depth);
var gonna_delete = bullet_array.length;
bullet_array.push("bullet" + depth);
depth++;
bullet_MC._x = ball._x;
bullet_MC._y = ball._y;
var _local5 = _xmouse - ball._x;
var _local3 = _ymouse - ball._y;
var _local4 = Math.atan2(_local3, _local5);
bullet_MC._rotation = (_local4 * 180) / Math.PI;
var dirx = (Math.cos((bullet_MC._rotation * Math.PI) / 180) * 30);
var diry = (Math.sin((bullet_MC._rotation * Math.PI) / 180) * 30);
bullet_MC.onEnterFrame = function () {
if (removeEnemies == 1) {
_root[bullet_array[gonna_delete]].removeMovieClip();
bullet_array.splice(gonna_delete, 1);
down2 = gonna_delete;
}
this._x = this._x + dirx;
this._y = this._y + diry;
if (down2 < gonna_delete) {
gonna_delete = gonna_delete - 1;
}
if ((((this._x > Stage.width) || (this._x < 0)) || (this._y > Stage.height)) || (this._y < 0)) {
_root[bullet_array[gonna_delete]].removeMovieClip();
bullet_array.splice(gonna_delete, 1);
down2 = gonna_delete;
}
};
}
}
function power_ups() {
var _local2 = randRange(0, 1000);
if (_local2 == 1) {
power_MC = attachMovie("powerup", "powerup" + depth, depth);
depth++;
var side_power = randRange(1, 2);
if (side_power == 1) {
power_MC._x = -(power_MC._width / 2);
var power_speed = 3;
}
if (side_power == 2) {
power_MC._x = Stage.width + (power_MC._width / 2);
var power_speed = -3;
}
power_MC._y = randRange(18.25, 381.75);
power_MC.onEnterFrame = function () {
this._x = this._x + power_speed;
if (removeEnemies == 1) {
this.removeMovieClip();
}
if (this.hitTest(ball._x, ball._y, true)) {
this.removeMovieClip();
lives = lives + 1;
}
if ((this._x > Stage.width) && (side_power == 1)) {
this.removeMovieClip();
}
if ((this._x < 0) && (side_power == 2)) {
this.removeMovieClip();
}
};
}
}
function enemy_attack() {
time_to_add_enemy = time_to_add_enemy - 1;
ball_life = ball_life - 1;
if (time_to_add_enemy == 0) {
time_to_add_enemy = enemy_come_array[level - 1];
var _local3 = randRange(1, enemies_to_add[level - 1]);
if (_local3 == 2) {
enemy_MC = attachMovie("enemy_2", "enemy" + depth, depth);
var enemy_num = 2;
} else {
enemy_MC = attachMovie("enemy", "enemy" + depth, depth);
var enemy_num = 1;
}
var gonna_delete = enemy_array.length;
enemy_array.push("enemy" + depth);
enemy_array_lives.push(enemy_lives_array[level - 1]);
depth++;
var side = randRange(1, 2);
var shoot_at_ball = ((shoot_at_ball = randRange(20, 50)));
if (side == 1) {
enemy_MC._x = -(enemy_MC._width / 2);
var enemy_speed = enemy_speed_array[level - 1];
}
if (side == 2) {
enemy_MC._x = Stage.width + (enemy_MC._width / 2);
var enemy_speed = (-enemy_speed_array[level - 1]);
}
enemy_MC._y = randRange(18.25, 381.75);
enemy_MC.onEnterFrame = function () {
if (removeEnemies == 1) {
_root[enemy_array[gonna_delete]].removeMovieClip();
_root[enemy_array_lives[gonna_delete]].removeMovieClip();
enemy_array.splice(gonna_delete, 1);
enemy_array_lives.splice(gonna_delete, 1);
down = gonna_delete;
}
shoot_at_ball = shoot_at_ball - 1;
if (shoot_at_ball == 0) {
shoot_at_ball = randRange(shot_rate_min[level - 1], shot_rate_max[level - 1]);
if (enemy_num == 1) {
enemy_bullet_MC = attachMovie("enemy_bullet", "enemy_bullet" + depth, depth);
}
if (enemy_num == 2) {
enemy_bullet_MC = attachMovie("enemy_bullet_2", "enemy_bullet" + depth, depth);
}
if (enemy_num == 2) {
var time_to_detonation = 60;
}
depth++;
enemy_bullet_MC._x = this._x;
enemy_bullet_MC._y = this._y;
var _local5 = 3;
var dx2 = (this._x - ball._x);
var dy2 = (this._y - ball._y);
var radians2 = Math.atan2(dy2, dx2);
enemy_bullet_MC._rotation = (radians2 * 180) / Math.PI;
var _local3 = randRange(1, 2);
if (_local3 == 1) {
var dirx2 = (Math.cos((enemy_bullet_MC._rotation * Math.PI) / 180) * 5);
var diry2 = (Math.sin((enemy_bullet_MC._rotation * Math.PI) / 180) * 5);
} else {
var _local4 = randRange(1, 2);
if (_local4 == 1) {
var diry2 = -4;
} else {
var diry2 = 4;
}
}
enemy_bullet_MC.onEnterFrame = function () {
if (removeEnemies == 1) {
this.removeMovieClip();
}
this._rotation = this._rotation + 10;
if (enemy_num == 2) {
time_to_detonation = time_to_detonation - 1;
if (time_to_detonation == 1) {
this.removeMovieClip();
}
dx2 = this._x - ball._x;
dy2 = this._y - ball._y;
radians2 = Math.atan2(dy2, dx2);
this._rotation = (radians2 * 180) / Math.PI;
dirx2 = Math.cos((this._rotation * Math.PI) / 180) * 5;
diry2 = Math.sin((this._rotation * Math.PI) / 180) * 5;
}
this._y = this._y - diry2;
this._x = this._x - dirx2;
if (this.hitTest(ball._x, ball._y, true)) {
if (ball_life >= 0) {
ball._x = Stage.width / 2;
ball._y = Stage.height / 2;
lives = lives - 1;
this.removeMovieClip();
}
if (ball_life < 0) {
ball.gotoAndStop(2);
this.removeMovieClip();
ball_life = 30;
}
}
if ((((this._y > Stage.height) || (this._y < 0)) || (this._x > Stage.width)) || (this._x < 0)) {
this.removeMovieClip();
}
};
}
this._x = this._x + enemy_speed;
if (down < gonna_delete) {
gonna_delete = gonna_delete - 1;
}
if ((this._x > Stage.width) && (side == 1)) {
_root[enemy_array[gonna_delete]].removeMovieClip();
_root[enemy_array_lives[gonna_delete]].removeMovieClip();
enemy_array.splice(gonna_delete, 1);
enemy_array_lives.splice(gonna_delete, 1);
down = gonna_delete;
}
if ((this._x < 0) && (side == 2)) {
_root[enemy_array[gonna_delete]].removeMovieClip();
_root[enemy_array_lives[gonna_delete]].removeMovieClip();
enemy_array.splice(gonna_delete, 1);
enemy_array_lives.splice(gonna_delete, 1);
down = gonna_delete;
}
};
}
}
function levels() {
if (level != 10) {
time_to_next_level = time_to_next_level - 1;
}
if (time_to_next_level == 0) {
update_complete();
}
}
function hit_test() {
var i = enemy_array.length;
var o = bullet_array.length;
while (i > 0) {
o = bullet_array.length;
while (o > 0) {
if (_root[enemy_array[i - 1]].hitTest(_root[bullet_array[o - 1]])) {
_root[bullet_array[o - 1]].removeMovieClip();
bullet_array.splice(o - 1, 1);
down2 = o - 1;
eval ((enemy_array_lives[i - 1] = enemy_array_lives[i - 1] - 1));
if (enemy_array_lives[i - 1] == 0) {
score = score + multiplier;
multiplier = multiplier + 1;
updatestats();
_root[enemy_array[i - 1]].gotoAndStop(2);
enemy_array.splice(i - 1, 1);
enemy_array_lives.splice(i - 1, 1);
down = i - 1;
o = -1;
i = -1;
}
}
o--;
}
i--;
}
}
function randRange(smallNum, bigNum) {
return(Math.floor(Math.random() * ((bigNum - smallNum) + 1)) + smallNum);
}
stop();
kirupaSound3 = new Sound(this);
kirupaSound3.attachSound("soft");
kirupaSound3.start(0, 99);
attachMovie("ball", "ball", 1000000);
ball._x = Stage.width / 2;
ball._y = Stage.height / 2;
comments_array = new Array("If you haven't already figured out how to play, use the arrow keys to move and the mouse to shoot. The next level will be slightly harder.", "Still pretty easy, gonna speed everything up again. Don't worry, it will get much harder when you get to the later levels.", "I think the enemies are a little too easy to kill, you have to hit them three times now :)", "If you haven't already noticed, the levels get longer each time.", "New enemy! yes the 'Blue Bubble' has finally arrived, did I mention he has homing missles?", "Having fun with the blue dude yet? He will come a bit more often in the following levels", "Let's change it up a little. No blues for this level, but that will be the least of your worries", "Alright adding blues back, uping the difficulty, and making the enemies stronger.", "Unfortunately, this is the last level, it only ends when you die (which won't take long) so goodbye :(");
enemy_speed_array = new Array(2, 3, 3, 4, 6, 6, 6, 8, 8, 8);
enemy_come_array = new Array(50, 40, 30, 30, 30, 20, 15, 10, 15, 10);
shot_rate_min = new Array(50, 40, 20, 20, 20, 20, 20, 10, 15, 15);
shot_rate_max = new Array(100, 75, 50, 50, 50, 50, 50, 15, 35, 25);
enemies_to_add = new Array(1, 1, 1, 1, 1, 5, 4, 1, 3, 2);
enemy_lives_array = new Array(1, 1, 1, 2, 2, 1, 1, 1, 2, 3);
next_level_array = new Array(300, 500, 800, 1100, 1400, 1700, 2000, 2500, 3000, 1);
current_frame = 1;
_xball = 0;
_yball = 0;
removeEnemies = 0;
shooting = 0;
down = 0;
down2 = 0;
time_to_add_enemy = 1;
lives = 5;
speed = 2;
friction = 0.9;
bullet_array = new Array();
enemy_array = new Array();
enemy_array_lives = new Array();
depth = 2;
level = 1;
score = 0;
multiplier = 1;
ball_life = 0;
time_to_shoot = -5;
time_to_next_level = next_level_array[level - 1];
var my_txt = new TextFormat();
my_txt.bold = true;
my_txt.font = "Arial";
my_txt.size = 12;
my_txt.color = 16777215 /* 0xFFFFFF */;
this.createTextField("values", 1000001, 5, 5, 550, 30);
values.setNewTextFormat(my_txt);
values.selectable = true;
values.tabStops = [100, 300, 300, 400];
updatestats();
onMouseDown = function () {
shooting = 1;
};
onMouseUp = function () {
time_to_shoot = -1;
};
Frame 4
function go_back() {
gotoAndStop (2);
score = 0;
}
current_frame = 0;
mochi.MochiScores.showLeaderboard({boardID:"e0072271f6b69fdd", score:score, onClose:function () {
go_back();
}});
Frame 5
back_but.onRelease = function () {
gotoAndStop (2);
};
Frame 6
back_but.onRelease = function () {
gotoAndStop (2);
};
Symbol 8 MovieClip Frame 15
_parent.removeMovieClip();
Symbol 9 MovieClip [enemy] Frame 1
stop();
Symbol 9 MovieClip [enemy] Frame 2
stop();
Symbol 35 MovieClip Frame 15
_parent.removeMovieClip();
Symbol 36 MovieClip [enemy_2] Frame 1
stop();
Symbol 36 MovieClip [enemy_2] Frame 2
stop();
Symbol 47 MovieClip Frame 30
_parent.gotoAndStop(1);
Symbol 48 MovieClip [ball] Frame 1
stop();
Symbol 48 MovieClip [ball] Frame 2
stop();
Symbol 69 MovieClip [__Packages.mochi.MochiServices] Frame 0
class mochi.MochiServices
{
static var _id, _container, _clip, _sendChannelName, _rcvChannelName, __get__comChannelName, onError, _listenChannel, _rcvChannel, _loader, _loaderListener, _sendChannel;
function MochiServices () {
}
static function get id() {
return(_id);
}
static function get clip() {
return(_container);
}
static function get childClip() {
return(_clip);
}
static function getVersion() {
return("1.31");
}
static function allowDomains(server) {
var _local1 = server.split("/")[2].split(":")[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain("*");
System.security.allowDomain(_local1);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain("*");
System.security.allowInsecureDomain(_local1);
}
}
return(_local1);
}
static function get isNetworkAvailable() {
if (System.security) {
var _local1 = System.security;
if (_local1.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function set comChannelName(val) {
if (val != undefined) {
if (val.length > 3) {
_sendChannelName = val + "_fromgame";
_rcvChannelName = val;
initComChannels();
}
}
//return(__get__comChannelName());
}
static function get connected() {
return(_connected);
}
static function connect(id, clip, onError) {
if ((!_connected) && (_clip == undefined)) {
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
}
if (onError != undefined) {
mochi.MochiServices.onError = onError;
} else if (mochi.MochiServices.onError == undefined) {
mochi.MochiServices.onError = function (errorCode) {
trace(errorCode);
};
}
}
static function disconnect() {
if (_connected || (_connecting)) {
_connecting = (_connected = false);
flush(true);
if (_clip != undefined) {
_clip.removeMovieClip();
delete _clip;
}
_listenChannel.close();
_rcvChannel.close();
}
}
static function init(id, clip) {
_id = id;
if (clip != undefined) {
_container = clip;
} else {
_container = _root;
}
loadCommunicator(id, _container);
}
static function loadCommunicator(id, clip) {
var _local2 = "_mochiservices_com_" + id;
if (_clip != null) {
return(_clip);
}
if (!isNetworkAvailable) {
return(null);
}
allowDomains(_gatewayURL);
_clip = clip.createEmptyMovieClip(_local2, 10336, false);
_loader = new MovieClipLoader();
if (_loaderListener.waitInterval != null) {
clearInterval(_loaderListener.waitInterval);
}
_loaderListener = {};
_loaderListener.onLoadError = function (target_mc, errorCode, httpStatus) {
trace("MochiServices could not load.");
mochi.MochiServices.disconnect();
mochi.MochiServices.onError.apply(null, [errorCode]);
};
_loaderListener.onLoadStart = function (target_mc) {
this.isLoading = true;
};
_loaderListener.startTime = getTimer();
_loaderListener.wait = function () {
if ((getTimer() - this.startTime) > 10000) {
if (!this.isLoading) {
mochi.MochiServices.disconnect();
mochi.MochiServices.onError.apply(null, ["IOError"]);
}
clearInterval(this.waitInterval);
}
};
_loaderListener.waitInterval = setInterval(_loaderListener, "wait", 1000);
_loader.addListener(_loaderListener);
_loader.loadClip(_gatewayURL, _clip);
_sendChannel = new LocalConnection();
_sendChannel._queue = [];
_rcvChannel = new LocalConnection();
_rcvChannel.allowDomain = function (d) {
return(true);
};
_rcvChannel.allowInsecureDomain = _rcvChannel.allowDomain;
_rcvChannel._nextcallbackID = 0;
_rcvChannel._callbacks = {};
listen();
return(_clip);
}
static function onStatus(infoObject) {
if (!(infoObject.level === "error")) {
} else {
_connected = false;
_listenChannel.connect(_listenChannelName);
}
}
static function listen() {
_listenChannel = new LocalConnection();
_listenChannel.handshake = function (args) {
mochi.MochiServices.__set__comChannelName(args.newChannel);
};
_listenChannel.allowDomain = function (d) {
return(true);
};
_listenChannel.allowInsecureDomain = _listenChannel.allowDomain;
_listenChannel.connect(_listenChannelName);
trace("Waiting for MochiAds services to connect...");
}
static function initComChannels() {
if (!_connected) {
_sendChannel.onStatus = function (infoObject) {
mochi.MochiServices.onStatus(infoObject);
};
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_clip, version:getVersion()});
_rcvChannel.onStatus = function (infoObject) {
mochi.MochiServices.onStatus(infoObject);
};
_rcvChannel.onReceive = function (pkg) {
var _local5 = pkg.callbackID;
var _local4 = this._callbacks[_local5];
if (!_local4) {
return(undefined);
}
var _local2 = _local4.callbackMethod;
var _local3 = _local4.callbackObject;
if (_local3 && (typeof(_local2) == "string")) {
_local2 = _local3[_local2];
}
if (_local2 != undefined) {
_local2.apply(_local3, pkg.args);
}
delete this._callbacks[_local5];
};
_rcvChannel.onError = function () {
mochi.MochiServices.onError.apply(null, ["IOError"]);
};
_rcvChannel.connect(_rcvChannelName);
trace("connected!");
_connecting = false;
_connected = true;
_listenChannel.close();
while (_sendChannel._queue.length > 0) {
_sendChannel.send(_sendChannelName, "onReceive", _sendChannel._queue.shift());
}
}
}
static function flush(error) {
var _local1;
var _local2;
while (_sendChannel._queue.length > 0) {
_local1 = _sendChannel._queue.shift();
if (_local1.callbackID != null) {
_local2 = _rcvChannel._callbacks[_local1.callbackID];
}
delete _rcvChannel._callbacks[_local1.callbackID];
if (error) {
handleError(_local1.args, _local2.callbackObject, _local2.callbackMethod);
}
}
}
static function handleError(args, callbackObject, callbackMethod) {
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) && (typeof(callbackMethod) == "string")) {
callbackObject[callbackMethod](args);
} else if (callbackMethod != null) {
callbackMethod.apply(args);
}
}
}
static function send(methodName, args, callbackObject, callbackMethod) {
if (_connected) {
_sendChannel.send(_sendChannelName, "onReceive", {methodName:methodName, args:args, callbackID:_rcvChannel._nextcallbackID});
} else {
if ((_clip == undefined) || (!_connecting)) {
onError.apply(null, ["NotConnected"]);
handleError(args, callbackObject, callbackMethod);
flush(true);
return(undefined);
}
_sendChannel._queue.push({methodName:methodName, args:args, callbackID:_rcvChannel._nextcallbackID});
}
_rcvChannel._callbacks[_rcvChannel._nextcallbackID] = {callbackObject:callbackObject, callbackMethod:callbackMethod};
_rcvChannel._nextcallbackID++;
}
static var _gatewayURL = "http://www.mochiads.com/static/lib/services/services.swf";
static var _listenChannelName = "__mochiservices";
static var _connecting = false;
static var _connected = false;
}
Symbol 70 MovieClip [__Packages.MochiAd] Frame 0
class MochiAd
{
function MochiAd () {
}
static function getVersion() {
return("2.5");
}
static function showPreGameAd(options) {
var _local26 = {clip:_root, ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:16747008, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}, ad_failed:function () {
trace("[MochiAd] Couldn't load an ad, make sure that your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_loaded:function (width, height) {
}, ad_skipped:function () {
}, ad_progress:function (percent) {
}};
options = _parseOptions(options, _local26);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def") {
options.ad_started();
options.ad_finished();
return(undefined);
}
var clip = options.clip;
var _local22 = 11000;
var _local25 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_failed();
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local14 = _getRes(options);
var _local4 = _local14[0];
var _local13 = _local14[1];
mc._x = _local4 * 0.5;
mc._y = _local13 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk._x = _local4 * -0.5;
chk._y = _local13 * -0.5;
var _local6 = chk.createEmptyMovieClip("_mochiad_bar", 4);
if (options.no_progress_bar) {
_local6._visible = false;
delete options.no_progress_bar;
} else {
_local6._x = 10;
_local6._y = _local13 - 20;
}
var _local21 = options.color;
delete options.color;
var _local19 = options.background;
delete options.background;
var _local23 = options.outline;
delete options.outline;
var _local5 = _local6.createEmptyMovieClip("_outline", 1);
_local5.beginFill(_local19);
_local5.moveTo(0, 0);
_local5.lineTo(_local4 - 20, 0);
_local5.lineTo(_local4 - 20, 10);
_local5.lineTo(0, 10);
_local5.lineTo(0, 0);
_local5.endFill();
var _local3 = _local6.createEmptyMovieClip("_inside", 2);
_local3.beginFill(_local21);
_local3.moveTo(0, 0);
_local3.lineTo(_local4 - 20, 0);
_local3.lineTo(_local4 - 20, 10);
_local3.lineTo(0, 10);
_local3.lineTo(0, 0);
_local3.endFill();
_local3._xscale = 0;
var _local7 = _local6.createEmptyMovieClip("_outline", 3);
_local7.lineStyle(0, _local23, 100);
_local7.moveTo(0, 0);
_local7.lineTo(_local4 - 20, 0);
_local7.lineTo(_local4 - 20, 10);
_local7.lineTo(0, 10);
_local7.lineTo(0, 0);
chk.ad_msec = _local22;
chk.ad_timeout = _local25;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.regContLC = function (lc_name) {
mc._containerLCName = lc_name;
};
var sendHostProgress = false;
mc.lc.sendHostLoadProgress = function (lc_name) {
sendHostProgress = true;
};
mc.lc.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec;
};
mc.lc.rpc = function (callbackID, arg) {
MochiAd.rpc(clip, callbackID, arg);
};
mc.rpcTestFn = function (s) {
trace("[MOCHIAD rpcTestFn] " + s);
return(s);
};
chk.onEnterFrame = function () {
var _local6 = this._parent._parent;
var _local11 = this._parent._mochiad_ctr;
var _local5 = getTimer() - this.started;
var _local3 = false;
var _local4 = _local6.getBytesTotal();
var _local8 = _local6.getBytesLoaded();
var _local2 = (100 * _local8) / _local4;
var _local10 = (100 * _local5) / chk.ad_msec;
var _local9 = this._mochiad_bar._inside;
var _local13 = Math.min(100, Math.min(_local2 || 0, _local10));
_local13 = Math.max(this.last_pcnt, _local13);
this.last_pcnt = _local13;
_local9._xscale = _local13;
options.ad_progress(_local13);
if (sendHostProgress) {
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local2});
if (_local2 == 100) {
sendHostProgress = false;
}
}
if (!chk.showing) {
var _local7 = _local11.getBytesTotal();
if ((_local7 > 0) || (typeof(_local7) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if ((_local5 > chk.ad_timeout) && (_local2 == 100)) {
options.ad_failed();
_local3 = true;
}
}
if (_local5 > chk.ad_msec) {
_local3 = true;
}
if (((_local4 > 0) && (_local8 >= _local4)) && (_local3)) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
}
}
};
}
static function showClickAwayAd(options) {
var _local9 = {clip:_root, ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function () {
}, ad_finished:function () {
}, ad_loaded:function (width, height) {
}, ad_failed:function () {
trace("[MochiAd] Couldn't load an ad, make sure that your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function () {
}};
options = _parseOptions(options, _local9);
var clip = options.clip;
var _local8 = options.ad_timeout;
delete options.ad_timeout;
if (!load(options)) {
options.ad_failed();
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local4 = _getRes(options);
var _local10 = _local4[0];
var _local7 = _local4[1];
mc._x = _local10 * 0.5;
mc._y = _local7 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_timeout = _local8;
chk.started = getTimer();
chk.showing = false;
mc.lc.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.rpc = function (callbackID, arg) {
MochiAd.rpc(clip, callbackID, arg);
};
mc.rpcTestFn = function (s) {
trace("[MOCHIAD rpcTestFn] " + s);
return(s);
};
var _local20 = false;
mc.lc.regContLC = function (lc_name) {
mc._containerLCName = lc_name;
};
chk.onEnterFrame = function () {
var _local5 = this._parent._mochiad_ctr;
var _local4 = getTimer() - this.started;
var _local2 = false;
if (!chk.showing) {
var _local3 = _local5.getBytesTotal();
if ((_local3 > 0) || (typeof(_local3) == "undefined")) {
_local2 = true;
chk.showing = true;
chk.started = getTimer();
} else if (_local4 > chk.ad_timeout) {
options.ad_failed();
_local2 = true;
}
}
if (_local2) {
delete this.onEnterFrame;
}
};
}
static function showInterLevelAd(options) {
var _local13 = {clip:_root, ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}, ad_failed:function () {
trace("[MochiAd] Couldn't load an ad, make sure that your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_loaded:function (width, height) {
}, ad_skipped:function () {
}};
options = _parseOptions(options, _local13);
var clip = options.clip;
var _local10 = 11000;
var _local12 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_failed();
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local5 = _getRes(options);
var _local14 = _local5[0];
var _local11 = _local5[1];
mc._x = _local14 * 0.5;
mc._y = _local11 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_msec = _local10;
chk.ad_timeout = _local12;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec - 250;
};
mc.lc.rpc = function (callbackID, arg) {
MochiAd.rpc(clip, callbackID, arg);
};
mc.rpcTestFn = function (s) {
trace("[MOCHIAD rpcTestFn] " + s);
return(s);
};
chk.onEnterFrame = function () {
var _local5 = this._parent._mochiad_ctr;
var _local4 = getTimer() - this.started;
var _local2 = false;
if (!chk.showing) {
var _local3 = _local5.getBytesTotal();
if ((_local3 > 0) || (typeof(_local3) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local4 > chk.ad_timeout) {
options.ad_failed();
_local2 = true;
}
}
if (_local4 > chk.ad_msec) {
_local2 = true;
}
if (_local2) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
}
}
};
}
static function showPreloaderAd(options) {
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
showPreGameAd(options);
}
static function showTimedAd(options) {
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
showInterLevelAd(options);
}
static function _allowDomains(server) {
var _local1 = server.split("/")[2].split(":")[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain("*");
System.security.allowDomain(_local1);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain("*");
System.security.allowInsecureDomain(_local1);
}
}
return(_local1);
}
static function load(options) {
var _local13 = {clip:_root, server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = _parseOptions(options, _local13);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = getVersion();
var _local9 = options.clip;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local9._mochiad_loaded) {
return(null);
}
var _local12 = options.depth;
delete options.depth;
var _local6 = _local9.createEmptyMovieClip("_mochiad", _local12);
var _local11 = _getRes(options);
options.res = (_local11[0] + "x") + _local11[1];
options.server = options.server + options.id;
delete options.id;
_local9._mochiad_loaded = true;
var _local4 = _local6.createEmptyMovieClip("_mochiad_ctr", 1);
for (var _local7 in options) {
_local4[_local7] = options[_local7];
}
var _local10 = _local4.server;
delete _local4.server;
var _local14 = _allowDomains(_local10);
_local6.onEnterFrame = function () {
if (this._mochiad_ctr._url != this._url) {
this.onEnterFrame = function () {
if (!this._mochiad_ctr) {
delete this.onEnterFrame;
MochiAd.unload(this._parent);
}
};
}
};
var _local5 = new LocalConnection();
var _local8 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local5.mc = _local6;
_local5.name = _local8;
_local5.hostname = _local14;
_local5.allowDomain = function (d) {
return(true);
};
_local5.allowInsecureDomain = _local5.allowDomain;
_local5.connect(_local8);
_local6.lc = _local5;
_local4.lc = _local8;
_local4.st = getTimer();
_local4.loadMovie(_local10 + ".swf", "POST");
return(_local6);
}
static function unload(clip) {
if (typeof(clip) == "undefined") {
clip = _root;
}
if (clip.clip && (clip.clip._mochiad)) {
clip = clip.clip;
}
if (!clip._mochiad) {
return(false);
}
if (clip._mochiad._containerLCName != undefined) {
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"unload"});
}
clip._mochiad.removeMovieClip();
delete clip._mochiad_loaded;
delete clip._mochiad;
return(true);
}
static function _isNetworkAvailable() {
if (System.security) {
var _local1 = System.security;
if (_local1.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function _getRes(options) {
var _local3 = options.clip.getBounds();
var _local2 = 0;
var _local1 = 0;
if (typeof(options.res) != "undefined") {
var _local4 = options.res.split("x");
_local2 = parseFloat(_local4[0]);
_local1 = parseFloat(_local4[1]);
} else {
_local2 = _local3.xMax - _local3.xMin;
_local1 = _local3.yMax - _local3.yMin;
}
if ((_local2 == 0) || (_local1 == 0)) {
_local2 = Stage.width;
_local1 = Stage.height;
}
return([_local2, _local1]);
}
static function _parseOptions(options, defaults) {
var _local4 = {};
for (var _local8 in defaults) {
_local4[_local8] = defaults[_local8];
}
if (options) {
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
}
if (_root.mochiad_options) {
var _local5 = _root.mochiad_options.split("&");
var _local2 = 0;
while (_local2 < _local5.length) {
var _local3 = _local5[_local2].split("=");
_local4[unescape(_local3[0])] = unescape(_local3[1]);
_local2++;
}
}
if (_local4.id == "test") {
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
}
return(_local4);
}
static function rpc(clip, callbackID, arg) {
switch (arg.id) {
case "setValue" :
setValue(clip, arg.objectName, arg.value);
break;
case "getValue" :
var _local4 = getValue(clip, arg.objectName);
clip._mochiad.lc.send(clip._mochiad._containerLCName, "rpcResult", callbackID, _local4);
break;
case "runMethod" :
var _local3 = runMethod(clip, arg.method, arg.args);
clip._mochiad.lc.send(clip._mochiad._containerLCName, "rpcResult", callbackID, _local3);
break;
default :
trace("[mochiads rpc] unknown rpc id: " + arg.id);
}
}
static function setValue(base, objectName, value) {
var _local2 = objectName.split(".");
var _local1;
_local1 = 0;
while (_local1 < (_local2.length - 1)) {
if ((base[_local2[_local1]] == undefined) || (base[_local2[_local1]] == null)) {
return(undefined);
}
base = base[_local2[_local1]];
_local1++;
}
base[_local2[_local1]] = value;
}
static function getValue(base, objectName) {
var _local2 = objectName.split(".");
var _local1;
_local1 = 0;
while (_local1 < (_local2.length - 1)) {
if ((base[_local2[_local1]] == undefined) || (base[_local2[_local1]] == null)) {
return(undefined);
}
base = base[_local2[_local1]];
_local1++;
}
return(base[_local2[_local1]]);
}
static function runMethod(base, methodName, argsArray) {
var _local2 = methodName.split(".");
var _local1;
_local1 = 0;
while (_local1 < (_local2.length - 1)) {
if ((base[_local2[_local1]] == undefined) || (base[_local2[_local1]] == null)) {
return(undefined);
}
base = base[_local2[_local1]];
_local1++;
}
if (typeof(base[_local2[_local1]]) == "function") {
return(base[_local2[_local1]].apply(base, argsArray));
}
return(undefined);
}
}
Symbol 71 MovieClip [__Packages.mochi.MochiScores] Frame 0
class mochi.MochiScores
{
static var boardID, onClose, onError;
function MochiScores () {
}
static function setBoardID(boardID) {
mochi.MochiScores.boardID = boardID;
mochi.MochiServices.send("scores_setBoardID", {boardID:boardID});
}
static function showLeaderboard(options) {
if (options.clip != null) {
if ((options.clip != mochi.MochiServices.__get__clip()) || (mochi.MochiServices.__get__childClip()._target == undefined)) {
mochi.MochiServices.disconnect();
mochi.MochiServices.connect(mochi.MochiServices.__get__id(), options.clip);
}
delete options.clip;
}
if (options.name != null) {
if (typeof(options.name) == "object") {
if (options.name.text != undefined) {
options.name = options.name.text;
}
}
}
if (options.score != null) {
if (typeof(options.score) == "object") {
if (options.score.text != undefined) {
options.score = options.score.text;
}
}
}
if (options.onDisplay != null) {
options.onDisplay();
} else {
mochi.MochiServices.__get__clip().stop();
}
if (options.onClose != null) {
onClose = options.onClose;
} else {
onClose = function () {
mochi.MochiServices.__get__clip().play();
};
}
if (options.onError != null) {
onError = options.onError;
} else {
onError = onClose;
}
if (options.boardID == null) {
if (boardID != null) {
options.boardID = boardID;
}
}
mochi.MochiServices.send("scores_showLeaderboard", {options:options}, null, doClose);
}
static function closeLeaderboard() {
mochi.MochiServices.send("scores_closeLeaderboard");
}
static function getPlayerInfo(callbackObj, callbackMethod) {
mochi.MochiServices.send("scores_getPlayerInfo", null, callbackObj, callbackMethod);
}
static function submit(score, name, callbackObj, callbackMethod) {
mochi.MochiServices.send("scores_submit", {score:score, name:name}, callbackObj, callbackMethod);
}
static function requestList(callbackObj, callbackMethod) {
mochi.MochiServices.send("scores_requestList", null, callbackObj, callbackMethod);
}
static function scoresArrayToObjects(scores) {
var _local5 = {};
var _local1;
var _local4;
var _local2;
var _local6;
for (var _local8 in scores) {
if (typeof(scores[_local8]) == "object") {
if ((scores[_local8].cols != null) && (scores[_local8].rows != null)) {
_local5[_local8] = [];
_local2 = scores[_local8];
_local4 = 0;
while (_local4 < _local2.rows.length) {
_local6 = {};
_local1 = 0;
while (_local1 < _local2.cols.length) {
_local6[_local2.cols[_local1]] = _local2.rows[_local4][_local1];
_local1++;
}
_local5[_local8].push(_local6);
_local4++;
}
} else {
_local5[_local8] = {};
for (var _local7 in scores[_local8]) {
_local5[_local8][_local7] = scores[_local8][_local7];
}
}
} else {
_local5[_local8] = scores[_local8];
}
}
return(_local5);
}
static function doClose(args) {
if (args.error == true) {
if (args.errorCode == undefined) {
args.errorCode = "IOError";
}
onError.apply(null, [args.errorCode]);
} else {
onClose.apply();
}
}
}