Frame 1
var _mochiads_game_id = "279822030ef8af2c";
mochi.as2.MochiServices.connect(_mochiads_game_id);
mochi.as2.MochiScores.setBoardID("0021ef42c2f54710");
mochi.as2.MochiAd.showPreGameAd({id:_mochiads_game_id, res:"650x500", color:15764992, no_bg:true});
stop();
Frame 2
Frame 3
function musicStatus(_B) {
if (_B) {
music_mc.music_txt.text = "MUSIC\nON";
} else {
music_mc.music_txt.text = "MUSIC\nOFF";
}
}
stop();
go_mc.onRelease = function () {
getURL ("http://www.onehourgames.com", "_blank");
};
var game_type = 1;
var music = new Music();
music.addSound("music", 50, true);
music.addSound("ball_hit", 100);
music.addSound("good", 70);
music.addSound("counting", 100);
music.addSound("lose", 80);
music.addSound("bom_big", 10);
music.addSound("shot_medfast", 40);
musicStatus(true);
music_mc.onRelease = function () {
musicStatus(music.muteAll());
};
var mygame = new MyGame(650, 500, music);
Symbol 109 MovieClip [__Packages.mochi.as2.MochiAd] Frame 0
class mochi.as2.MochiAd
{
function MochiAd () {
}
static function getVersion() {
return(mochi.as2.MochiServices.getVersion());
}
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;
mochi.as2.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) {
mochi.as2.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) {
mochi.as2.MochiAd.containerNotify(clip, {id:"hostLoadPcnt", pcnt:_local2}, clip._mochiad._containerLCName);
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) {
mochi.as2.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;
mochi.as2.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) {
mochi.as2.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 _local7 = options.clip;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local7._mochiad_loaded) {
return(null);
}
var _local12 = options.depth;
delete options.depth;
var _local6 = _local7.createEmptyMovieClip("_mochiad", _local12);
var _local11 = _getRes(options);
options.res = (_local11[0] + "x") + _local11[1];
options.server = options.server + options.id;
delete options.id;
_local7._mochiad_loaded = true;
if (_local7._url.indexOf("http") != 0) {
trace("[MochiAd] NOTE: Security Sandbox Violation errors below are normal");
}
var _local4 = _local6.createEmptyMovieClip("_mochiad_ctr", 1);
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
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;
mochi.as2.MochiAd.unload(this._parent);
}
};
}
};
var _local5 = new Object();
var _local9 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local5.mc = _local6;
_local5.name = _local9;
_local5.hostname = _local14;
_local5.allowDomain = function (d) {
return(true);
};
_local5.allowInsecureDomain = _local5.allowDomain;
_local5.connect(_local9);
_local6.lc = _local5;
_local4.lc = _local9;
_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);
}
containerNotify(clip, {id:"unload"}, clip._mochiad._containerLCName);
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);
containerRpcResult(clip, callbackID, _local4, clip._mochiad._containerLCName);
break;
case "runMethod" :
var _local3 = runMethod(clip, arg.method, arg.args);
containerRpcResult(clip, callbackID, _local3, clip._mochiad._containerLCName);
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);
}
static function containerNotify(clip, args, lcName) {
var _local1 = clip._mochiad._mochiad_ctr.ad.app;
if (_local1.notify) {
_local1.notify(args);
} else {
new LocalConnection().send(lcName, "notify", args);
}
}
static function containerRpcResult(clip, callbackID, val, lcName) {
var _local1 = clip._mochiad._mochiad_ctr.ad.app;
if (_local1.rpcResult) {
_local1.rpcResult(callbackID, val);
} else {
new LocalConnection().send(lcName, "rpcResult", callbackID, val);
}
}
}
Symbol 110 MovieClip [__Packages.mochi.as2.MochiSync] Frame 0
class mochi.as2.MochiSync
{
var _syncContainer;
function MochiSync () {
_syncContainer = {};
}
function getProp(name) {
return(_syncContainer[name]);
}
function setProp(name, value) {
if (_syncContainer[name] == value) {
return(undefined);
}
_syncContainer[name] = value;
mochi.as2.MochiServices.send("sync_propUpdate", {name:name, value:value});
}
function triggerEvent(eventType, args) {
switch (eventType) {
case SYNC_REQUEST :
mochi.as2.MochiServices.send("sync_syncronize", _syncContainer);
break;
case SYNC_PROPERTY :
_syncContainer[args.name] = args.value;
}
}
static var SYNC_REQUEST = "SyncRequest";
static var SYNC_PROPERTY = "UpdateProperty";
}
Symbol 111 MovieClip [__Packages.mochi.as2.MochiServices] Frame 0
class mochi.as2.MochiServices
{
static var _id, _container, _clip, _sendChannelName, __get__comChannelName, onError, _listenChannel, _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("3.3 as2");
}
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";
initComChannels();
}
}
//return(__get__comChannelName());
}
static function get connected() {
return(_connected);
}
static function connect(id, clip, onError) {
warnID(id, false);
if ((!_connected) && (_clip == undefined)) {
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
}
if (onError != undefined) {
mochi.as2.MochiServices.onError = onError;
} else if (mochi.as2.MochiServices.onError == undefined) {
mochi.as2.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();
}
}
static function init(id, clip) {
_id = id;
if (clip != undefined) {
_container = clip;
} else {
_container = _root;
}
loadCommunicator(id, _container);
}
static function loadCommunicator(id, clip) {
var _local6 = "_mochiservices_com_" + id;
var _local5 = new MovieClipLoader();
var _local3 = {};
if (_clip != null) {
return(_clip);
}
if (!isNetworkAvailable) {
return(null);
}
if (urlOptions().servURL) {
_servURL = urlOptions().servURL;
}
var _local4 = _servURL + _services;
if (urlOptions().servicesURL) {
_local4 = urlOptions().servicesURL;
}
allowDomains(_local4);
_clip = clip.createEmptyMovieClip(_local6, 10336, false);
_listenChannelName = _listenChannelName + ((Math.floor(new Date().getTime()) + "_") + Math.floor(Math.random() * 99999));
listen();
if (_local3.waitInterval != null) {
clearInterval(_local3.waitInterval);
}
_local3.onLoadError = loadError;
_local3.onLoadStart = function (target_mc) {
this.isLoading = true;
};
_local3.startTime = getTimer();
_local3.wait = function () {
if ((getTimer() - this.startTime) > 10000) {
if (!this.isLoading) {
mochi.as2.MochiServices.disconnect();
mochi.as2.MochiServices.onError.apply(null, ["IOError"]);
}
clearInterval(this.waitInterval);
}
};
_local3.waitInterval = setInterval(_local3, "wait", 1000);
_local5.addListener(_local3);
_local5.loadClip((((((_local4 + "?listenLC=") + _listenChannelName) + "&mochiad_options=") + escape(_root.mochiad_options)) + "&api_version=") + getVersion(), _clip);
_sendChannel = new LocalConnection();
_sendChannel._queue = [];
return(_clip);
}
static function loadError(target_mc, errorCode, httpStatus) {
trace("MochiServices could not load.");
disconnect();
onError.apply(null, [errorCode]);
}
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.as2.MochiServices.__set__comChannelName(args.newChannel);
};
_listenChannel.allowDomain = function (d) {
return(true);
};
_listenChannel.allowInsecureDomain = _listenChannel.allowDomain;
_listenChannel._nextcallbackID = 0;
_listenChannel._callbacks = {};
_listenChannel.connect(_listenChannelName);
trace("Waiting for MochiAds services to connect...");
}
static function initComChannels() {
if (!_connected) {
_sendChannel.onStatus = function (infoObject) {
mochi.as2.MochiServices.onStatus(infoObject);
};
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_clip, version:getVersion()});
_listenChannel.onStatus = function (infoObject) {
mochi.as2.MochiServices.onStatus(infoObject);
};
_listenChannel.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];
};
_listenChannel.onEvent = function (pkg) {
switch (pkg.target) {
case "events" :
mochi.as2.MochiEvents.triggerEvent(pkg.event, pkg.args);
break;
case "coins" :
mochi.as2.MochiCoins.triggerEvent(pkg.event, pkg.args);
break;
case "sync" :
mochi.as2.MochiServices.servicesSync.triggerEvent(pkg.event, pkg.args);
}
};
_listenChannel.onError = function () {
mochi.as2.MochiServices.onError.apply(null, ["IOError"]);
};
trace("[SERVICES_API] connected!");
_connecting = false;
_connected = true;
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 = _listenChannel._callbacks[_local1.callbackID];
}
delete _listenChannel._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 ((args.options != null) && (args.options.onError != null)) {
args.options.onError.apply(null, ["NotConnected"]);
}
}
if (callbackMethod != null) {
args = {};
args.error = true;
args.errorCode = "NotConnected";
if ((callbackObject != null) && (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:_listenChannel._nextcallbackID});
} else {
if ((_clip == undefined) || (!_connecting)) {
trace("Error: MochiServices not connected. Please call MochiServices.connect(). Function: " + methodName);
handleError(args, callbackObject, callbackMethod);
flush(true);
return(undefined);
}
_sendChannel._queue.push({methodName:methodName, args:args, callbackID:_listenChannel._nextcallbackID});
}
_listenChannel._callbacks[_listenChannel._nextcallbackID] = {callbackObject:callbackObject, callbackMethod:callbackMethod};
_listenChannel._nextcallbackID++;
}
static function urlOptions() {
var _local5 = {};
var _local6;
if (_root._url.indexOf("mochiad_options") != -1) {
var _local2 = (_root._url.indexOf("mochiad_options") + "mochiad_options".length) + 1;
_local6 = _root._url.substr(_local2, _root._url.length);
} else if (_root.mochiad_options) {
_local6 = _root.mochiad_options;
}
if (_local6) {
var _local4 = _root.mochiad_options.split("&");
var _local2 = 0;
while (_local2 < _local4.length) {
var _local3 = _local4[_local2].split("=");
_local5[unescape(_local3[0])] = unescape(_local3[1]);
_local2++;
}
}
return(_local5);
}
static function warnID(bid, leaderboard) {
bid = bid.toLowerCase();
if (bid.length != 16) {
trace(("WARNING: " + (leaderboard ? "board" : "game")) + " ID is not the appropriate length");
return(undefined);
}
if (bid == "1e113c7239048b3f") {
if (leaderboard) {
trace("WARNING: Using testing board ID");
} else {
trace("WARNING: Using testing board ID as game ID");
}
return(undefined);
}
if (bid == "84993a1de4031cd8") {
if (leaderboard) {
trace("WARNING: Using testing game ID as board ID");
} else {
trace("WARNING: Using testing game ID");
}
return(undefined);
}
var _local1 = 0;
while (_local1 < bid.length) {
switch (bid.charAt(_local1)) {
case "0" :
case "1" :
case "2" :
case "3" :
case "4" :
case "5" :
case "6" :
case "7" :
case "8" :
case "9" :
case "a" :
case "b" :
case "c" :
case "d" :
case "e" :
case "f" :
break;
default :
trace("WARNING: Board ID contains illegal characters: " + bid);
return(undefined);
}
_local1++;
}
}
static function addLinkEvent(url, burl, btn, onClick) {
var timeout = 1500;
var t0 = getTimer();
var _local2 = new Object();
_local2.mav = getVersion();
_local2.swfv = btn.getSWFVersion() || 6;
_local2.swfurl = btn._url;
_local2.fv = System.capabilities.version;
_local2.os = System.capabilities.os;
_local2.lang = System.capabilities.language;
_local2.scres = (System.capabilities.screenResolutionX + "x") + System.capabilities.screenResolutionY;
var s = "?";
var _local3 = 0;
for (var _local6 in _local2) {
if (_local3 != 0) {
s = s + "&";
}
_local3++;
s = ((s + _local6) + "=") + escape(_local2[_local6]);
}
if (!(netupAttempted || (_connected))) {
var ping = btn.createEmptyMovieClip("ping", 777);
var _local7 = btn.createEmptyMovieClip("nettest", 778);
netupAttempted = true;
ping.loadMovie("http://x.mochiads.com/linkping.swf?t=" + getTimer());
_local7.onEnterFrame = function () {
if ((ping._totalframes > 0) && (ping._totalframes == ping._framesloaded)) {
delete this.onEnterFrame;
} else if ((getTimer() - t0) > timeout) {
delete this.onEnterFrame;
mochi.as2.MochiServices.netup = false;
}
};
}
var _local4 = btn.createEmptyMovieClip("clk", 1001);
_local4._alpha = 0;
_local4.beginFill(1044735);
_local4.moveTo(0, 0);
_local4.lineTo(0, btn._height);
_local4.lineTo(btn._width, btn._height);
_local4.lineTo(btn._width, 0);
_local4.lineTo(0, 0);
_local4.endFill();
_local4.onRelease = function () {
if (mochi.as2.MochiServices.netup) {
getURL (url + s, "_blank");
} else {
getURL (burl, "_blank");
}
if (onClick != undefined) {
onClick();
}
};
}
static function setContainer(clip) {
}
static function stayOnTop(clip) {
}
static var _servURL = "http://www.mochiads.com/static/lib/services/";
static var _services = "services.swf";
static var _mochiLC = "MochiLC.swf";
static var _listenChannelName = "__ms_";
static var _connecting = false;
static var _connected = false;
static var netup = true;
static var netupAttempted = false;
static var servicesSync = new mochi.as2.MochiSync();
}
Symbol 112 MovieClip [__Packages.mochi.as2.MochiEventDispatcher] Frame 0
class mochi.as2.MochiEventDispatcher
{
var eventTable;
function MochiEventDispatcher () {
eventTable = {};
}
function buildDelegate(thisObject, thatObject) {
var _local2 = {thisObject:thisObject, thatObject:thatObject};
if (thatObject != undefined) {
var funct = ((typeof(thatObject) == "string") ? (thisObject[thatObject]) : (thatObject));
_local2.delegate = function (args) {
funct.call(thisObject, args);
};
} else {
_local2.delegate = thisObject;
}
return(_local2);
}
function compareDelegate(d_A, d_B) {
if ((d_A.thisObject != d_B.thisObject) || (d_A.thatObject != d_B.thatObject)) {
return(false);
}
return(true);
}
function addEventListener(event, thisObject, thatObject) {
removeEventListener(event, thisObject, thatObject);
eventTable[event].push(buildDelegate(thisObject, thatObject));
}
function removeEventListener(event, thisObject, thatObject) {
var _local3 = buildDelegate(thisObject, thatObject);
if (eventTable[event] == undefined) {
eventTable[event] = [];
return(undefined);
}
for (var _local4 in eventTable[event]) {
if (!compareDelegate(eventTable[event][_local4], _local3)) {
continue;
}
eventTable[event].splice(Number(_local4), 1);
}
}
function triggerEvent(event, args) {
if (eventTable[event] == undefined) {
return(undefined);
}
for (var _local4 in eventTable[event]) {
eventTable[event][_local4].delegate(args);
}
}
}
Symbol 113 MovieClip [__Packages.mochi.as2.MochiEvents] Frame 0
class mochi.as2.MochiEvents
{
static var gameStart, levelStart;
function MochiEvents () {
}
static function getVersion() {
return(mochi.as2.MochiServices.getVersion());
}
static function startSession(achievementID) {
mochi.as2.MochiServices.send("events_beginSession", {achievementID:achievementID}, null, null);
}
static function trigger(kind, obj) {
if (obj == undefined) {
obj = {};
} else if (obj.kind != undefined) {
trace("WARNING: optional arguements package contains key 'id', it will be overwritten");
obj.kind = kind;
}
mochi.as2.MochiServices.send("events_triggerEvent", {eventObject:obj}, null, null);
}
static function setNotifications(clip, style) {
var _local2 = {};
for (var _local3 in style) {
_local2[_local3] = style[_local3];
}
_local2.clip = clip;
mochi.as2.MochiServices.send("events_setNotifications", _local2, null, null);
}
static function addEventListener(eventType, thisObject, thatObject) {
_dispatcher.addEventListener(eventType, thisObject, thatObject);
}
static function triggerEvent(eventType, args) {
_dispatcher.triggerEvent(eventType, args);
}
static function removeEventListener(eventType, thisObject, thatObject) {
_dispatcher.removeEventListener(eventType, thisObject, thatObject);
}
static function startGame() {
gameStart = new Date().getTime();
trigger("start_game");
}
static function endGame() {
var _local1 = new Date().getTime() - gameStart;
trigger("end_game", {time:_local1});
}
static function startLevel() {
levelStart = new Date().getTime();
trigger("start_level");
}
static function endLevel() {
var _local1 = new Date().getTime() - levelStart;
trigger("end_level", {time:_local1});
}
static var ACHIEVEMENT_RECEIVED = "AchievementReceived";
static var ALIGN_TOP_LEFT = "ALIGN_TL";
static var ALIGN_TOP = "ALIGN_T";
static var ALIGN_TOP_RIGHT = "ALIGN_TR";
static var ALIGN_LEFT = "ALIGN_L";
static var ALIGN_CENTER = "ALIGN_C";
static var ALIGN_RIGHT = "ALIGN_R";
static var ALIGN_BOTTOM_LEFT = "ALIGN_BL";
static var ALIGN_BOTTOM = "ALIGN_B";
static var ALIGN_BOTTOM_RIGHT = "ALIGN_BR";
static var FORMAT_SHORT = "ShortForm";
static var FORMAT_LONG = "LongForm";
static var _dispatcher = new mochi.as2.MochiEventDispatcher();
}
Symbol 114 MovieClip [__Packages.mochi.as2.MochiCoins] Frame 0
class mochi.as2.MochiCoins
{
function MochiCoins () {
}
static function getVersion() {
return(mochi.as2.MochiServices.getVersion());
}
static function showStore(options) {
mochi.as2.MochiServices.send("coins_showStore", {options:options}, null, null);
}
static function showItem(options) {
if ((options == undefined) || (typeof(options.item) != "string")) {
trace("ERROR: showItem call must pass an Object with an item key");
return(undefined);
}
mochi.as2.MochiServices.send("coins_showItem", {options:options}, null, null);
}
static function showVideo(options) {
if ((options == undefined) || (typeof(options.item) != "string")) {
trace("ERROR: showVideo call must pass an Object with an item key");
return(undefined);
}
mochi.as2.MochiServices.send("coins_showVideo", {options:options}, null, null);
}
static function showLoginWidget(options) {
mochi.as2.MochiServices.setContainer();
mochi.as2.MochiServices.stayOnTop();
mochi.as2.MochiServices.send("coins_showLoginWidget", {options:options});
}
static function hideLoginWidget() {
mochi.as2.MochiServices.send("coins_hideLoginWidget");
}
static function getStoreItems() {
mochi.as2.MochiServices.send("coins_getStoreItems");
}
static function getUserInfo() {
mochi.as2.MochiServices.send("coins_getUserInfo");
}
static function saveUserProperties(properties) {
mochi.as2.MochiServices.send("coins_saveUserProperties", properties);
}
static function addEventListener(eventType, delegate) {
_dispatcher.addEventListener(eventType, delegate);
}
static function triggerEvent(eventType, args) {
_dispatcher.triggerEvent(eventType, args);
}
static function removeEventListener(eventType, delegate) {
_dispatcher.removeEventListener(eventType, delegate);
}
static var LOGGED_IN = "LoggedIn";
static var LOGGED_OUT = "LoggedOut";
static var LOGIN_SHOW = "LoginShow";
static var LOGIN_HIDE = "LoginHide";
static var STORE_SHOW = "StoreShow";
static var STORE_HIDE = "StoreHide";
static var PROFILE_SHOW = "ProfileShow";
static var PROFILE_HIDE = "ProfileHide";
static var PROPERTIES_SAVED = "PropertySaved";
static var WIDGET_LOADED = "WidgetLoaded";
static var ITEM_OWNED = "ItemOwned";
static var ITEM_NEW = "ItemNew";
static var STORE_ITEMS = "StoreItems";
static var USER_INFO = "UserInfo";
static var ERROR = "Error";
static var IO_ERROR = "IOError";
static var NO_USER = "NoUser";
static var PROPERTIES_SIZE = "PropertiesSize";
static var _dispatcher = new mochi.as2.MochiEventDispatcher();
}
Symbol 115 MovieClip [__Packages.mochi.as2.MochiScores] Frame 0
class mochi.as2.MochiScores
{
static var boardID, onClose, onError;
function MochiScores () {
}
static function setBoardID(boardID) {
mochi.as2.MochiServices.warnID(boardID, true);
mochi.as2.MochiScores.boardID = boardID;
mochi.as2.MochiServices.send("scores_setBoardID", {boardID:boardID});
}
static function showLeaderboard(options) {
options.clip = mochi.as2.MochiServices.clip;
if ((options.clip != mochi.as2.MochiServices.__get__clip()) || (mochi.as2.MochiServices.__get__childClip()._target == undefined)) {
mochi.as2.MochiServices.disconnect();
trace("WARNING! This application is attempting to connect to MochiServices inside a showLeaderboard call!");
trace("make sure MochiServices.connect is called as early in the application runtime as possible.");
mochi.as2.MochiServices.connect(mochi.as2.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 (options.score instanceof TextField) {
if (options.score.text != undefined) {
options.score = options.score.text;
}
} else if (options.score instanceof mochi.as2.MochiDigits) {
options.score = options.score.value;
}
var _local1 = Number(options.score);
if (isNaN(_local1)) {
trace(("ERROR: Submitted score '" + options.score) + "' will be rejected, score is 'Not a Number'");
} else if ((_local1 == Number.NEGATIVE_INFINITY) || (_local1 == Number.POSITIVE_INFINITY)) {
trace(("ERROR: Submitted score '" + options.score) + "' will be rejected, score is an infinite");
} else {
if (Math.floor(_local1) != _local1) {
trace(("WARNING: Submitted score '" + options.score) + "' will be truncated");
}
options.score = _local1;
}
}
if (options.onDisplay != null) {
options.onDisplay();
} else {
mochi.as2.MochiServices.__get__clip().stop();
}
if (options.onClose != null) {
onClose = options.onClose;
} else {
onClose = function () {
mochi.as2.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.as2.MochiServices.warnID(options.boardID, true);
trace("[MochiScores] NOTE: Security Sandbox Violation errors below are normal");
mochi.as2.MochiServices.send("scores_showLeaderboard", {options:options}, null, doClose);
}
static function closeLeaderboard() {
mochi.as2.MochiServices.send("scores_closeLeaderboard");
}
static function getPlayerInfo(callbackObj, callbackMethod) {
mochi.as2.MochiServices.send("scores_getPlayerInfo", null, callbackObj, callbackMethod);
}
static function submit(score, name, callbackObj, callbackMethod) {
score = Number(score);
if (isNaN(score)) {
trace(("ERROR: Submitted score '" + String(score)) + "' will be rejected, score is 'Not a Number'");
} else if ((score == Number.NEGATIVE_INFINITY) || (score == Number.POSITIVE_INFINITY)) {
trace(("ERROR: Submitted score '" + String(score)) + "' will be rejected, score is an infinite");
} else {
if (Math.floor(score) != score) {
trace(("WARNING: Submitted score '" + String(score)) + "' will be truncated");
}
score = Number(score);
}
mochi.as2.MochiServices.send("scores_submit", {score:score, name:name}, callbackObj, callbackMethod);
}
static function requestList(callbackObj, callbackMethod) {
mochi.as2.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();
}
}
}
Symbol 116 MovieClip [__Packages.mochi.as2.MochiDigits] Frame 0
class mochi.as2.MochiDigits
{
var Encoder, Fragment, Sibling;
function MochiDigits (digit, index) {
Encoder = 0;
setValue(digit, index);
}
function get value() {
return(Number(toString()));
}
function set value(v) {
setValue(v);
//return(value);
}
function addValue(v) {
value = value + v;
}
function setValue(digit, index) {
var _local3 = digit.toString();
if ((index == undefined) || (isNaN(index))) {
index = 0;
}
Fragment = _local3.charCodeAt(index++) ^ Encoder;
if (index < _local3.length) {
Sibling = new mochi.as2.MochiDigits(digit, index);
} else {
Sibling = null;
}
reencode();
}
function reencode() {
var _local2 = int(2147483647 * Math.random());
Fragment = Fragment ^ (_local2 ^ Encoder);
Encoder = _local2;
}
function toString() {
var _local2 = String.fromCharCode(Fragment ^ Encoder);
return(((Sibling != null) ? (_local2.concat(Sibling.toString())) : (_local2)));
}
}
Symbol 117 MovieClip [__Packages.Boom] Frame 0
class Boom
{
var is_removed, show_flames, mc, inter;
function Boom (_NX, _NY, _NUM, _MC, _SC, _FL) {
is_removed = false;
show_flames = _FL;
mc = _MC.createEmptyMovieClip("boom_mc", -20);
mc._x = _NX;
mc._y = _NY;
mc._xscale = (mc._yscale = _SC);
var _local10 = 360 / _NUM;
var _local8 = Math.random() * 360;
var _local12 = 10;
var range = 20;
if (!_FL) {
var _local4 = 1;
while (_local4 <= _NUM) {
var _local2 = mc.attachMovie("fire_circle", "fire_circle" + _local4, _local4);
_local2._rotation = _local8 + (_local10 * _local4);
_local2._xscale = (_local2._yscale = 10 + (Math.random() * 70));
_local2.speed = 2 + (Math.random() * 2);
_local2.range = _local2.speed * 4;
_local2.bf_num = 0;
var _local5 = getCoords(_local2._rotation, _local2.speed);
_local2.dest_x = _local5.nx;
_local2.dest_y = _local5.ny;
_local2.slow = 0.91;
_local2.all = this;
_local2.onEnterFrame = function () {
var _local2 = new flash.filters.BlurFilter((this.bf_num = this.bf_num + (this.speed / 2)), this.bf_num, 2);
this.filters = new Array(_local2);
this._x = this._x + this.all.countNewDistance(this._x, this.dest_x, this.slow);
this._y = this._y + this.all.countNewDistance(this._y, this.dest_y, this.slow);
this._xscale = (this._yscale = this._yscale + this.all.countNewDistance(this._yscale, this.range, this.slow));
if ((this.range--) <= 0) {
delete this.onEnterFrame;
this.removeMovieClip();
}
};
_local4++;
}
}
var _local7 = _NUM * 3;
_local10 = 360 / _local7;
_local8 = Math.random() * 360;
var _local4 = 1;
while (_local4 <= (_local7 * 3)) {
var _local3 = mc.attachMovie("smoke_circle", "smoke_circle" + _local4, (-_local4) - 10);
_local3.speed = 2 + (Math.random() * 2);
_local3._rotation = _local8 + (_local10 * _local4);
_local3._alpha = 30 + (Math.random() * 50);
_local3._xscale = (_local3._yscale = 1 + (Math.random() * 5));
_local3.range = (10 * Math.random()) + 2;
var _local5 = getCoords(_local3._rotation, 10 * Math.random());
_local3.dest_x = _local5.nx;
_local3.dest_y = _local5.ny;
_local3.bf_num = 0;
_local3.slow = 0.95;
_local3.all = this;
_local3.onEnterFrame = function () {
this._x = this._x + this.all.countNewDistance(this._x, this.dest_x, this.slow);
this._y = this._y + this.all.countNewDistance(this._y, this.dest_y, this.slow);
this._xscale = (this._yscale = this._yscale + this.all.countNewDistance(this._yscale, 1, this.slow));
if ((this.range--) <= 0) {
delete this.onEnterFrame;
this._visible = 0;
removeMovieClip(this);
}
};
_local4++;
}
inter = setInterval(removeMe, 4000);
}
function countNewDistance(_C, _D, _S) {
return(_C + ((_D - _C) / _S));
}
function getCoords(_ROT, _DIST) {
var _local2 = toRadians(_ROT);
var _local5 = Math.cos(_local2) * _DIST;
var _local4 = Math.sin(_local2) * _DIST;
return({nx:_local5, ny:_local4});
}
function toRadians(_N) {
return((_N * Math.PI) / 180);
}
function toAngle(_N) {
return((180 * _N) / Math.PI);
}
function removeMe() {
clearInterval(inter);
mc.removeMovieClip();
is_removed = true;
}
function isRemoved() {
return(is_removed);
}
}
Symbol 118 MovieClip [__Packages.Game] Frame 0
class Game
{
var is_started, stage_w, stage_h, music, is_paused, pause_begin_time, pause_time;
function Game (_sw, _sh, _music) {
is_started = false;
stage_w = _sw;
stage_h = _sh;
music = _music;
}
function toRadians(_N) {
return((_N * Math.PI) / 180);
}
function toAngle(_N) {
return((180 * _N) / Math.PI);
}
function gameShowWindow(_N, _W, _DRAG) {
var _local3 = _root.attachMovie(_W, "window_mc", 2000);
_local3.gotoAndStop(_N);
_local3._x = stage_w / 2;
_local3._y = stage_h / 2;
if (_DRAG) {
_local3.drag_btn.onPress = function () {
this._parent.startDrag();
};
_local3.drag_btn.onRelease = function () {
this._parent.stopDrag();
};
}
return(_local3);
}
function checkCustomAngles(_X1, _Y1, _X2, _Y2) {
var _local2 = Math.atan2(_Y2 - _Y1, _X2 - _X1);
return(toAngle(_local2));
}
function countWayAngle(_CA, _DA) {
var _local1 = Math.abs(_CA - _DA);
var _local2 = 360 - _local1;
if (Math.abs(Math.ceil(_CA) - Math.ceil(_DA)) < 10) {
return(0);
}
if (_CA < _DA) {
if (_local1 <= _local2) {
return(-1);
}
return(1);
}
if (_local1 <= _local2) {
return(1);
}
return(-1);
}
function getCoords(_ROT, _DIST) {
var _local2 = toRadians(_ROT);
var _local5 = Math.cos(_local2) * _DIST;
var _local4 = Math.sin(_local2) * _DIST;
return({nx:_local5, ny:_local4});
}
function pauseGame() {
trace("PAUSE GAME");
is_paused = !is_paused;
if (is_paused) {
pause_begin_time = getTimer();
} else {
pause_time = pause_time + (getTimer() - pause_begin_time);
}
}
}
Symbol 119 MovieClip [__Packages.Music] Frame 0
class Music
{
var all_mc, sound_arr, sound_num, sound_status, is_mute;
function Music () {
all_mc = _root.createEmptyMovieClip("my_class_music_mc", -5000);
sound_arr = new Array();
sound_num = 0;
sound_status = new Array();
is_mute = true;
}
function addSound(_S, _V, _LOOP) {
sound_num++;
var _local6 = all_mc.createEmptyMovieClip(("sound" + sound_num) + "_mc", sound_num);
var _local2 = new Sound(_local6);
_local2.attachSound(_S);
if (_V == undefined) {
_V = 50;
}
_local2.setVolume(_V);
if (_LOOP == undefined) {
_LOOP = false;
}
sound_arr[_S] = {sound:_local2, vol:_V, loop:_LOOP, str:_S};
sound_status[_S] = false;
if (_LOOP) {
_local2.start(0, 1);
_local2.onSoundComplete = function () {
this.start(0, 1);
};
}
}
function muteSound(_B) {
for (var _local4 in sound_arr) {
var _local2 = sound_arr[_local4];
var _local3 = _local2.sound;
if (_B) {
_local3.setVolume(0);
} else {
_local3.setVolume(_local2.vol);
}
}
}
function muteOneSound(_S, _B) {
var _local2 = sound_arr[_S];
var _local3 = _local2.sound;
if (_B) {
_local3.setVolume(0);
} else {
_local3.setVolume(_local2.vol);
}
}
function muteAll() {
muteSound(is_mute);
trace(is_mute);
is_mute = !is_mute;
return(is_mute);
}
function playSound(_S) {
var _local3 = sound_arr[_S];
var _local2 = _local3.sound;
_local2.start(0, 1);
return(_local2);
}
function checkIsSoundOver(_S) {
return(sound_status[_S]);
}
}
Symbol 120 MovieClip [__Packages.MyGame] Frame 0
class MyGame extends Game
{
var is_started, cars_num, cars, cars_width, stage_w, stage_h, level_time, filters_arr, music, cars_to_finish, cars_mc, bullets_mc, cars_points, final_points, all_points, level, time, my_car, points, all_mc, bullets_arr, bullets_num, pause_time, pause_begin_time, game_over, start_mc, begin_time, toRadians, ball_mc, getCoords, gameShowWindow;
function MyGame (_sw, _sh, _music) {
super();
trace("RCCars start");
is_started = false;
cars_num = 0;
cars = new Array();
cars_width = 65;
stage_w = _sw;
stage_h = _sh;
level_time = new Array(0, 20, 25, 40, 70, 70, 30, 90, 90, 120, 80);
filters_arr = new Array(new flash.filters.DropShadowFilter(10, 1, 0, 0.55, 10, 10, 1, 1, true, false, false), new flash.filters.DropShadowFilter(10, 90, 0, 0.75, 15, 15, 2, 1, false, false, false));
showWindow(1);
music = _music;
cars_to_finish = 0;
var _local3 = new Object();
_local3.all = this;
_local3.last_time = getTimer();
_local3.onKeyUp = function () {
if (this.all.is_started) {
if ((Key.getCode() == 17) && (!this.all.is_paused)) {
if ((getTimer() - this.last_time) > 200) {
this.all.my_car.getWeapon().setCurrentFreq(0);
}
this.last_time = getTimer();
}
if (Key.getCode() == 80) {
this.all.pauseGame();
}
}
};
Key.addListener(_local3);
}
function getCarsContainer() {
return(cars_mc);
}
function getBulletsContainer() {
return(bullets_mc);
}
function addCar(_velocity, _max_speed, _turn_speed, _color_num, _static, _car_size) {
var _local2 = new MyCar(this, _velocity, _max_speed, _turn_speed, cars_num, _color_num, _static);
if (!_static) {
_local2.setCurrentSpeed(_max_speed / 2);
_local2.setCarSize(_car_size);
cars_to_finish++;
}
cars.push(_local2);
cars_num = cars.length;
return(_local2);
}
function decreaseCarsToFinish() {
cars_to_finish--;
cars_points++;
if (cars_to_finish <= 0) {
endGame(3);
}
}
function newGame(_L) {
final_points = 0;
all_points = new Array();
level = _L;
time = level_time[level];
my_car = new MyCar(this, 0.65, 11, 0.7, 0, 15522093, true);
my_car.setKeyArr(new Array(38, 40, 37, 39));
startGame(level);
}
function startGame() {
my_car.setCurrentSpeed(0);
cars_points = (points = 0);
cars_to_finish = 0;
all_mc = _root.createEmptyMovieClip("all_mc", 1);
cars = new Array();
cars.push(my_car);
cars_num = 1;
cars_mc = all_mc.createEmptyMovieClip("cars_mc", 1);
bullets_mc = all_mc.createEmptyMovieClip("bullets_mc", 2);
bullets_arr = new Array();
bullets_num = 0;
pause_time = 0;
pause_begin_time = 0;
is_started = false;
if (level == 1) {
addCar(0.2, 3, 0.8, 2998269, false, 2);
} else if (level == 2) {
addCar(0.2, 4, 0.8, 14324816, false, 1);
addCar(0.2, 3, 0.8, 7977074, false, 2);
} else if (level == 3) {
addCar(0.2, 4, 0.8, 6976447, false, 3);
addCar(0.2, 3, 0.8, 14503360, false, 2);
addCar(0.2, 2, 0.8, 11545611, false, 1);
} else if (level == 4) {
addCar(0.2, 4, 0.8, 10722439, false, 4);
addCar(0.2, 5, 0.8, 3573100, false, 3);
} else if (level == 5) {
addCar(0.2, 4, 0.8, 6976447, false, 2);
addCar(0.2, 3, 0.8, 14503360, false, 2);
addCar(0.3, 2, 0.8, 11545611, false, 2);
addCar(0.2, 3, 0.8, 14324816, false, 2);
addCar(0.25, 4, 0.8, 7977074, false, 2);
} else if (level == 6) {
addCar(0.45, 7, 0.8, 1890593, false, 2);
addCar(0.5, 8, 0.8, 6976447, false, 2);
} else if (level == 7) {
addCar(0.2, 4, 0.8, 1890593, false, 5);
addCar(0.3, 3, 0.8, 11545611, false, 1);
} else if (level == 10) {
addCar(0.2, 4, 0.8, 1716036, false, 4);
addCar(0.2, 5, 0.8, 1890593, false, 5);
} else if (level == 9) {
addCar(0.2, 2, 0.8, 11545611, false, 6);
} else if (level == 8) {
addCar(0.4, 6, 0.8, 6976447, false, 2);
addCar(0.4, 7, 0.8, 14503360, false, 2);
addCar(0.4, 6, 0.8, 11545611, false, 2);
addCar(0.4, 7, 0.8, 14324816, false, 2);
addCar(0.5, 6, 0.8, 7977074, false, 2);
addCar(0.4, 7, 0.8, 1716036, false, 2);
}
setCarsPosition();
setBall();
game_over = false;
all_mc.game = this;
all_mc.onEnterFrame = function () {
if (this.game.is_started && (!this.game.is_paused)) {
this.game.moveCars();
this.game.moveBullets();
this.game.display_time();
}
};
start_mc = _root.attachMovie("start", "start_mc", 5000, {_x:stage_w / 2, _y:stage_h / 2});
start_mc.game = this;
start_mc.onEnterFrame = function () {
if (this._currentframe == this._totalframes) {
this.game.isStarted();
this.removeMovieClip();
}
};
hide_txt();
}
function isStarted() {
begin_time = getTimer();
display_points();
display_time();
display_level();
is_started = true;
var _local3;
var _local2 = 0;
while (_local2 < cars_num) {
_local3 = cars[_local2];
if (!_local3.getIsStatic()) {
_local3.makeBlink();
}
_local2++;
}
}
function setCarsPosition() {
var _local10 = 360 / cars_num;
var _local11 = Math.random() * 360;
var _local9 = 180;
var _local3 = 0;
while (_local3 < cars_num) {
var _local2 = cars[_local3];
_local2.attachCar("car");
if (!_local2.getIsStatic()) {
_local2.setNormCarScale();
} else {
_local2.setCarScale(50);
}
_local2.setDefineFilters();
_local2.setWeapon(new MyWeapon(1, 15, 350, -1, 5, "bullet1", 1));
var _local6 = stage_w / 2;
var _local5 = stage_h / 2;
var _local4 = toRadians(_local11 + (_local10 * (_local3 + 1)));
var _local8 = _local6 + (Math.cos(_local4) * _local9);
var _local7 = _local5 + (Math.sin(_local4) * _local9);
_local2.setCurrentPos(_local8, _local7);
_local3++;
}
}
function setBall() {
ball_mc = all_mc.attachMovie("ball", "ball_mc", -101);
ball_mc._x = ball_mc._width + ((stage_w - (2 * ball_mc._width)) * Math.random());
ball_mc._y = ball_mc._height + ((stage_h - (2 * ball_mc._height)) * Math.random());
}
function addBullet(_B) {
bullets_arr.push(_B);
bullets_num = bullets_arr.length;
music.playSound("shot_medfast");
}
function moveBullets() {
var _local6 = 0;
var _local7 = 0;
for (var _local12 in bullets_arr) {
_local6 = Number(_local12);
var _local3 = bullets_arr[_local6];
if (_local3.getActive()) {
var _local8 = getCoords(_local3.getRot(), _local3.getSpeed());
var _local10 = _local8.nx;
var _local9 = _local8.ny;
var _local5 = _local10 + _local3.getX();
var _local4 = _local9 + _local3.getY();
if (_local4 > stage_h) {
_local4 = 0;
} else if (_local4 < 0) {
_local4 = stage_h;
}
if (_local5 > stage_w) {
_local5 = 0;
} else if (_local5 < 0) {
_local5 = stage_w;
}
for (var _local11 in cars) {
_local7 = Number(_local11);
var _local2 = cars[_local7];
if (_local2.getIsMoving()) {
if ((!_local3.checkOwner(_local2)) && (_local2.getIsActive())) {
if (_local2.getMc().color_mc.hitTest(_local5, _local4, true)) {
_local2.hitMe();
_local3.deleteMe(true);
bullets_arr.splice(_local6, 1);
music.playSound("bom_big");
}
}
}
}
_local3.setPosition(_local5, _local4, _local3.getRot());
}
}
}
function moveCars() {
var _local5 = 0;
while (_local5 < cars_num) {
var _local2 = cars[_local5];
if (_local2.getIsActive()) {
if (_local2.getIsMoving()) {
if (!game_over) {
if (_local2.getIsStatic()) {
if (Key.isDown(_local2.getKeyUp())) {
_local2.speedUp();
} else if (Key.isDown(_local2.getKeyDown())) {
_local2.speedDown();
}
if (Key.isDown(_local2.getKeyLeft())) {
_local2.turnLeft();
} else if (Key.isDown(_local2.getKeyRight())) {
_local2.turnRight();
}
if (Key.isDown(17)) {
_local2.shot();
}
} else {
_local2.speedUp();
}
}
var _local6 = toRadians(_local2.getRot());
var _local8 = Math.cos(_local6) * _local2.getCurrentSpeed();
var _local7 = Math.sin(_local6) * _local2.getCurrentSpeed();
var _local4 = _local8 + _local2.getX();
var _local3 = _local7 + _local2.getY();
if (_local3 > stage_h) {
_local3 = 0;
_local2.showAnim();
} else if (_local3 < 0) {
_local3 = stage_h;
_local2.showAnim();
}
if (_local4 > stage_w) {
_local4 = 0;
_local2.showAnim();
} else if (_local4 < 0) {
_local4 = stage_w;
_local2.showAnim();
}
_local2.setCurrentPos(_local4, _local3);
_local2.speedFriction(0.98);
checkHitTest(_local2);
}
}
_local5++;
}
}
function checkHitTest(_CAR) {
var _local8 = new Array();
_local8 = _CAR.getHitPoints();
var _local7 = 0;
while (_local7 < _local8.length) {
var _local6 = _local8[_local7];
var _local3 = new Object();
_local3.x = _local6._x;
_local3.y = _local6._y;
_local6.localToGlobal(_local3);
var _local5 = 0;
while (_local5 < cars_num) {
var _local2 = cars[_local5];
if (_CAR.getIsActive() && (_local2.getIsActive())) {
if (_local2.getIsMoving() && (_CAR.getIsMoving())) {
if ((_CAR.getCurrentLevel() != _local2.getCurrentLevel()) && (_CAR.getIsStatic() || (_local2.getIsStatic()))) {
if (_local2.getMc().color_mc.hitTest(_local3.x, _local3.y, true)) {
endGame(1, _local3);
return(true);
}
}
}
}
_local5++;
}
if ((ball_mc.hitTest(_local3.x, _local3.y, true) || (_CAR.getMc().hitTest(ball_mc._x, ball_mc._y, true))) && (_CAR.getIsStatic())) {
add_points(2);
music.playSound("ball_hit");
}
_local7++;
}
return(false);
}
function add_points(_N) {
points = points + _N;
if (points < 0) {
points = 0;
}
display_points();
setBall();
}
function display_points() {
_root.points_txt.text = "POINTS \n" + points;
}
function display_level() {
_root.level_txt.text = level + "\nLEVEL";
}
function display_time() {
time = level_time[level] - Math.floor(((getTimer() - begin_time) - pause_time) / 1000);
_root.time_txt.text = time + "\nTIME";
if (((time <= 0) && (game_over != true)) && (is_started != false)) {
endGame(2);
}
}
function hide_txt() {
_root.points_txt.text = (_root.time_txt.text = (_root.level_txt.text = ""));
}
function endGame(_R, _P) {
game_over = true;
is_started = false;
delete all_mc.onEnterFrame;
hide_txt();
if (_R == 1) {
var _local2 = all_mc.attachMovie("hitshow", "hit_mc", 1000);
_local2._x = _P.x;
_local2._y = _P.y;
} else if (_R == 2) {
} else if (_R == 3) {
all_points[level] = (points + time) + cars_points;
final_points = getAllPoints();
music.playSound("good");
level++;
if (level > (level_time.length - 1)) {
trace("osatni level");
var _local3 = showWindow(4);
_local3.title_txt.text = "You did it";
_local3.subtitle_txt.text = ("You have finished the game.\n\nFinal score: " + final_points) + ".\n\nSave your score \nto show everybody \nhow good you are!";
} else {
var _local3 = showWindow(2);
_local3.title_txt.text = "Good Job";
_local3.subtitle_txt.text = ((("Current points: " + final_points) + ".\nGet ready to the level number: ") + level) + "!";
}
return(undefined);
}
final_points = getAllPoints() + cars_points;
music.playSound("lose");
var _local3 = showWindow(3);
_local3.title_txt.text = "Game over";
_local3.subtitle_txt.text = ((("Your points: " + final_points) + ".\nCurrent level: ") + level) + ".\nMaybe you should restart this level.";
}
function getAllPoints() {
var _local3 = 0;
for (var _local4 in all_points) {
var _local2 = all_points[_local4];
_local3 = _local3 + _local2;
}
return(_local3);
}
function showWindow(_N) {
var _local2 = gameShowWindow(_N, "window");
_local2.points_txt.text = "Your points: " + final_points;
_local2.points_num = final_points;
_local2.myself = _local2;
_local2.level = level;
hide_txt();
return(_local2);
}
}
Symbol 121 MovieClip [__Packages.Car] Frame 0
class Car
{
var mc, velocity, max_speed, turn_speed, current_speed, current_level, is_static, color_num, current_rotation, current_x, current_y, key_arr, back_max_speed, car_number, car_scale, is_active;
function Car () {
}
function getMc() {
return(mc);
}
function getVelocity() {
return(velocity);
}
function setVelocity(_N) {
velocity = _N;
}
function getMaxSpeed() {
return(max_speed);
}
function setMaxSpeed(_N) {
max_speed = _N;
}
function getTurnSpeed() {
return(turn_speed);
}
function setTurnSpeed(_N) {
turn_speed = _N;
}
function getCurrentSpeed() {
return(current_speed);
}
function getCurrentLevel() {
return(current_level);
}
function getIsStatic() {
return(is_static);
}
function getColor() {
return(color_num);
}
function getRot() {
return(current_rotation);
}
function getX() {
return(current_x);
}
function getY() {
return(current_y);
}
function setCurrentSpeed(_N) {
current_speed = _N;
}
function setCurrentRotation(_N) {
current_rotation = _N;
mc._rotation = _N;
}
function setCurrentPos(_myx, _myy) {
mc._x = (current_x = _myx);
mc._y = (current_y = _myy);
mc._rotation = current_rotation;
}
function setKeyArray(_key_up, _key_down, _key_left, _key_right) {
key_arr = new Array(_key_up, _key_down, _key_left, _key_right);
}
function setKeyReadyArray(_keys) {
key_arr = _keys;
}
function getKeyReadyArray() {
return(key_arr);
}
function getKeyUp() {
return(key_arr[0]);
}
function getKeyDown() {
return(key_arr[1]);
}
function getKeyLeft() {
return(key_arr[2]);
}
function getKeyRight() {
return(key_arr[3]);
}
function speedUp() {
current_speed = current_speed + velocity;
if (current_speed >= max_speed) {
current_speed = max_speed;
}
}
function speedDown() {
current_speed = current_speed - velocity;
if (current_speed <= back_max_speed) {
current_speed = back_max_speed;
}
}
function speedFriction(_N) {
current_speed = current_speed * _N;
}
function turnRight() {
current_rotation = current_rotation + (current_speed * turn_speed);
}
function turnLeft() {
current_rotation = current_rotation - (current_speed * turn_speed);
}
function setCarNumber(_N) {
car_number = _N;
}
function getCarNumber() {
return(car_number);
}
function setCarScale(_N) {
car_scale = _N;
mc._xscale = (mc._yscale = car_scale);
}
function getCarScale() {
return(car_scale);
}
function getIsActive() {
return(is_active);
}
function setIsActive(_B) {
is_active = _B;
}
}
Symbol 122 MovieClip [__Packages.MyCar] Frame 0
class MyCar extends Car
{
var game, velocity, max_speed, back_max_speed, turn_speed, current_speed, current_rotation, current_level, current_x, current_y, color_num, is_static, is_active, is_moving, car_scale, car_size, getCarScale, mc, key_arr, lib_name, filters_array, weapon, setCarScale;
function MyCar (_game, _velocity, _max_speed, _turn_speed, _current_level, _color_num, _static) {
super();
game = _game;
velocity = _velocity;
max_speed = _max_speed;
back_max_speed = (-max_speed) / 2;
turn_speed = _turn_speed;
current_speed = 0;
current_rotation = Math.random() * 360;
current_level = _current_level;
current_x = 0;
current_y = 0;
color_num = _color_num;
is_static = _static;
is_active = true;
is_moving = is_static;
car_scale = 100;
car_size = 1;
mc.begin_scale = getCarScale();
}
function makeBlink() {
mc.blinkOn = 10;
mc.current = 50;
mc.lastAlpha = 100;
mc.onEnterFrame = function () {
this.current--;
if ((this.current % this.blinkOn) == 0) {
this.lastAlpha = (this._alpha = ((this.lastAlpha == 100) ? 50 : 100));
}
if (this.current <= 0) {
delete this.onEnterFrame;
this._alpha = 100;
this.car.is_moving = true;
}
};
}
function getIsMoving() {
return(is_moving);
}
function setIsMoving(_B) {
is_moving = _B;
}
function setKeyArr(_key_arr) {
key_arr = new Array();
key_arr = _key_arr;
}
function attachCar(_library_name, _blink) {
lib_name = _library_name;
mc = game.getCarsContainer().attachMovie(lib_name, lib_name + current_level, current_level);
mc._rotation = current_rotation;
mc.car = this;
var _local2 = new Color(mc.color_mc);
_local2.setRGB(color_num);
if (!is_static) {
mc.weapon_mc._visible = false;
}
if (_blink) {
makeBlink();
}
}
function setCarSize(_N) {
car_size = _N;
}
function getCarSize() {
return(car_size);
}
function setDefineFilters() {
filters_array = new Array(new flash.filters.DropShadowFilter(car_scale / 10, 90, 0, 0.75, 15, 15, 2, 1, false, false, false));
mc.filters = filters_array;
}
function speedUp() {
current_speed = current_speed + velocity;
if (current_speed >= max_speed) {
current_speed = max_speed;
}
mc.antenna_mc.play();
}
function speedDown() {
current_speed = current_speed - velocity;
if (current_speed <= back_max_speed) {
current_speed = back_max_speed;
}
mc.antenna_mc.play();
}
function showAnim() {
mc.play();
}
function getHitPoints() {
return(new Array(mc.top_left_mc, mc.top_right_mc, mc.bot_left_mc, mc.bot_right_mc, mc.center_mc));
}
function shot() {
if (weapon.shot()) {
var _local4 = mc.weapon_mc.point_mc;
var _local2 = new Object();
_local2.x = _local4._x;
_local2.y = _local4._y;
_local4.localToGlobal(_local2);
var _local3 = new MyBullet(mc, weapon.getPower(), weapon.getSpeed(), weapon.getRange(), current_rotation, _local2.x, _local2.y, car_scale);
_local3.setOwner(this);
_local3.attachBullet(game.getBulletsContainer(), weapon.getName());
game.addBullet(_local3);
}
}
function setWeapon(_W) {
weapon = _W;
}
function getWeapon() {
return(weapon);
}
function hitMe() {
var _local2;
if (car_size > 1) {
var _local3 = -1;
while (_local3 <= 1) {
_local2 = game.addCar(velocity, max_speed, turn_speed, color_num, false, car_size - 1);
_local2.attachCar(lib_name, true);
_local2.setNormCarScale();
_local2.setDefineFilters();
_local2.setWeapon(weapon);
_local2.setCurrentRotation((current_rotation + (90 * _local3)) + (Math.round(Math.random() * 90) - 45));
var _local4 = game.getCoords(_local2.getRot(), _local2.getMc()._width + 10);
_local2.setCurrentPos(current_x + _local4.nx, current_y + _local4.ny);
_local3 = _local3 + 2;
}
}
game.decreaseCarsToFinish();
is_active = false;
mc.gotoAndStop("boom");
}
function setNormCarScale() {
setCarScale(25 + (car_size * 5));
mc.begin_scale = getCarScale();
}
}
Symbol 123 MovieClip [__Packages.Weapon] Frame 0
class Weapon
{
var type_num, power, speed, range, bullets, freq, name_str, current_bullets, current_freq;
function Weapon () {
}
function getTypeNumber() {
return(type_num);
}
function getPower() {
return(power);
}
function getSpeed() {
return(speed);
}
function getRange() {
return(range);
}
function getBullets() {
return(bullets);
}
function getFreq() {
return(freq);
}
function getName() {
return(name_str);
}
function setBullets(_N) {
bullets = _N;
}
function getCurrentBullets() {
return(current_bullets);
}
function setCurrentBullets(_N) {
current_bullets = _N;
}
function getCurrentFreq() {
return(current_freq);
}
function setCurrentFreq(_N) {
current_freq = _N;
}
function shot() {
current_freq--;
if (current_freq <= 0) {
current_freq = freq;
if (bullets > -1) {
if (current_bullets <= 0) {
return(false);
}
current_bullets--;
}
return(true);
}
return(false);
}
}
Symbol 124 MovieClip [__Packages.MyWeapon] Frame 0
class MyWeapon extends Weapon
{
var power, speed, range, bullets, freq, name_str, type_num, current_freq, current_bullets;
function MyWeapon (_p, _s, _r, _b, _f, _n, _tn) {
super();
power = _p;
speed = _s;
range = _r;
bullets = _b;
freq = _f;
name_str = _n;
type_num = _tn;
current_freq = 0;
current_bullets = bullets;
}
}
Symbol 125 MovieClip [__Packages.Bullet] Frame 0
class Bullet
{
var speed, power, current_rotation, mc, current_x, current_y, is_active, current_range;
function Bullet () {
}
function getSpeed() {
return(speed);
}
function getPower() {
return(power);
}
function getRot() {
return(current_rotation);
}
function getMc() {
return(mc);
}
function getX() {
return(current_x);
}
function getY() {
return(current_y);
}
function deleteMe() {
is_active = false;
mc.play();
mc.all = this;
mc.onEnterFrame = function () {
if (this._currentframe == this._totalframes) {
this.removeMovieClip();
}
};
}
function setPosition(_NX, _NY, _NR) {
mc._x = (current_x = _NX);
mc._y = (current_y = _NY);
mc._rotation = (current_rotation = _NR);
current_range = current_range - speed;
if (current_range < 0) {
deleteMe();
}
}
function getActive() {
return(is_active);
}
function attachBullet(_C, _B) {
var _local2 = _C.getNextHighestDepth();
mc = _C.attachMovie(_B, _B + _local2, _local2);
setPosition(current_x, current_y, current_rotation);
}
}
Symbol 126 MovieClip [__Packages.MyBullet] Frame 0
class MyBullet extends Bullet
{
var power, speed, current_range, range, current_rotation, current_x, current_y, mc, is_active, setPosition, owner;
function MyBullet (_mc, _power, _speed, _range, _crot, _cx, _cy, _sc) {
super();
power = _power;
speed = _speed;
current_range = (range = _range);
current_rotation = _crot;
current_x = _cx;
current_y = _cy;
mc = _mc;
mc._xscale = (mc._yscale = _sc);
is_active = true;
setPosition(_cx, _cy, _crot);
}
function setOwner(_C) {
owner = _C;
}
function checkOwner(_C) {
if (owner.getCurrentLevel() == _C.getCurrentLevel()) {
return(true);
}
return(false);
}
function deleteMe(_B) {
if (_B) {
var _local2 = new Boom(0, 0, 2, mc, (mc._xscale / 2) + (power * 2));
}
is_active = false;
mc.play();
mc.all = this;
mc.todel = 0;
mc.onEnterFrame = function () {
this.todel++;
if (this.todel >= 10) {
this.removeMovieClip();
this._visible = false;
delete this.onEnterFrame;
}
};
}
}
Symbol 24 MovieClip Frame 1
stop();
Symbol 34 MovieClip Frame 1
stop();
Symbol 38 MovieClip [car] Frame 1
stop();
Symbol 38 MovieClip [car] Frame 9
this._xscale = (this._yscale = begin_scale);
gotoAndPlay (1);
Symbol 38 MovieClip [car] Frame 10
var m = (2 + (Math.random() * 5));
var b = new Boom(0, 0, m, this, 75 + begin_scale);
var cs = ((this._xscale = (this._yscale = begin_scale)));
var dir = 1;
var wait = 10;
this.onEnterFrame = function () {
this._xscale = (this._yscale = this._yscale + (5 * dir));
if (this._xscale > (cs + 15)) {
dir = -1;
}
if (this._xscale < cs) {
this._xscale = (this._yscale = cs);
delete this.onEnterFrame;
this.swapDepths(-10 - Math.round(Math.random() * 100));
this.removeMovieClip();
this._visible = false;
}
};
stop();
Symbol 46 MovieClip [start] Frame 9
_root.music.playSound("counting");
Symbol 46 MovieClip [start] Frame 40
_root.music.playSound("counting");
Symbol 46 MovieClip [start] Frame 71
_root.music.playSound("counting");
Symbol 60 MovieClip Frame 1
stop();
this.title_txt.text = this.title;
if (this.addtitle != undefined) {
this.addtitle_txt.text = this.addtitle;
}
this.onRollOver = function () {
this.gotoAndStop(2);
};
this.onRollOut = (this.onReleaseOutside = function () {
this.gotoAndStop(1);
});
Symbol 60 MovieClip Frame 2
this.title_txt.text = this.title;
if (this.addtitle != undefined) {
this.addtitle_txt.text = this.addtitle;
}
this.onRollOver = function () {
this.gotoAndStop(2);
};
this.onRollOut = (this.onReleaseOutside = function () {
this.gotoAndStop(1);
});
Symbol 61 MovieClip Frame 33
stop();
Symbol 67 MovieClip [window] Frame 1
play_mc.play_mc.onRelease = function () {
_root.mygame.newGame(1);
this._parent._parent.removeMovieClip();
};
play_mc.play_mc.title_txt.text = (play_mc.play_mc.title = "New game");
mochi.as2.MochiAd.showClickAwayAd({clip:ad_mc, id:_root._mochiads_game_id});
Symbol 67 MovieClip [window] Frame 2
play_mc.play_mc.title_txt.text = (play_mc.play_mc.title = "Play Next Level");
play_mc.play_mc.onRelease = function () {
_root.mygame.startGame();
this._parent._parent.removeMovieClip();
};
Symbol 67 MovieClip [window] Frame 3
play_mc.play_mc.onRelease = function () {
this._parent._parent.gotoAndStop("begin");
};
save_mc.onRelease = function () {
var _local3 = {n:[0, 0, 2, 1, 14, 15, 4, 2, 12, 2, 15, 5, 4, 7, 1, 0], f:function (i, s) {
if (s.length == 16) {
return(s);
}
return(this.f(i + 1, s + this.n[i].toString(16)));
}};
var _local2 = "0021ef42c2f54710";
mochi.as2.MochiScores.showLeaderboard({score:points_num});
mochi.as2.MochiScores.onClose = function () {
myself.gotoAndStop(1);
};
};
play_mc.play_mc.title_txt.text = (play_mc.play_mc.title = "Main menu");
restart_mc.title_txt.text = (restart_mc.title = "Restart level");
restart_mc.onRelease = function () {
_root.mygame.startGame();
this._parent.removeMovieClip();
};
Symbol 67 MovieClip [window] Frame 4
play_mc.play_mc.onRelease = function () {
this._parent._parent.gotoAndStop("begin");
};
save_mc.onRelease = function () {
var _local3 = {n:[0, 0, 2, 1, 14, 15, 4, 2, 12, 2, 15, 5, 4, 7, 1, 0], f:function (i, s) {
if (s.length == 16) {
return(s);
}
return(this.f(i + 1, s + this.n[i].toString(16)));
}};
var _local2 = "0021ef42c2f54710";
mochi.as2.MochiScores.showLeaderboard({score:points_num});
mochi.as2.MochiScores.onClose = function () {
myself.gotoAndStop(1);
};
};
play_mc.play_mc.title_txt.text = (play_mc.play_mc.title = "Main menu");
restart_mc.onRelease = function () {
_root.mygame.startGame();
this._parent.removeMovieClip();
};
stop();
Symbol 70 MovieClip [hitshow] Frame 15
stop();
Symbol 72 MovieClip [bullet1] Frame 1
stop();
Symbol 74 MovieClip [bullet2] Frame 1
stop();
Symbol 76 MovieClip [bullet3] Frame 1
stop();
Symbol 78 MovieClip [bullet4] Frame 1
stop();
Symbol 86 MovieClip Frame 1
stop();
Symbol 98 MovieClip Frame 1
go_mc.onRelease = function () {
getURL ("http://www.onehourgames.com", "_blank");
};
fscommand ("trapallkeys", true);
fscommand ("showmenu", true);
Stage.showMenu = false;
Symbol 98 MovieClip Frame 114
stop();
_root.play();