Combined Code
movieClip 3 lightv {
#initclip
Object.registerClass('lightv', light);
#endinitclip
}
movieClip 5 lighth {
#initclip
Object.registerClass('lighth', light);
#endinitclip
}
movieClip 7 timmer {
#initclip
Object.registerClass('timmer', timmer);
#endinitclip
}
// unknown tag 88 length 55
movieClip 11 retrybutton {
#initclip
Object.registerClass('retrybutton', retry);
#endinitclip
}
movieClip 13 light {
#initclip
Object.registerClass('light', light);
#endinitclip
}
movieClip 15 button {
#initclip
Object.registerClass('button', button);
#endinitclip
}
movieClip 17 room {
#initclip
Object.registerClass('room', room);
#endinitclip
}
frame 1 {
var rightclick = new ContextMenu();
rightclick.hideBuiltInItems();
_root.menu = rightclick;
mochi.as2.MochiAd.showPreGameAd({'id': '1088bf9c3f5e5210', 'res': '700x600'});
stop();
}
movieClip 214 __Packages.mochi.as2.MochiAd {
#initclip
if (!_global.mochi) {
_global.mochi = new Object();
}
if (!_global.mochi.as2) {
_global.mochi.as2 = new Object();
}
if (!_global.mochi.as2.MochiAd) {
var v1 = function () {};
mochi.as2.MochiAd = v1;
var v2 = v1.prototype;
v1.getVersion = function () {
return mochi.as2.MochiServices.getVersion();
};
v1.showPreGameAd = function (options) {
var v26 = {'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 = mochi.as2.MochiAd._parseOptions(options, v26);
if ('c862232051e0a94e1c3609b3916ddb17'.substr(0) == 'dfeada81ac97cde83665f81c12da7def') {
options.ad_started();
options.ad_finished();
return undefined;
}
var clip = options.clip;
var v23 = 11000;
var v19 = options.ad_timeout;
if (options.skip) {
v19 = 0;
}
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!mochi.as2.MochiAd.load(options)) {
options.ad_failed();
options.ad_finished();
return undefined;
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var v14 = mochi.as2.MochiAd._getRes(options);
var v4 = v14[0];
var v13 = v14[1];
mc._x = v4 * 0.5;
mc._y = v13 * 0.5;
var chk = mc.createEmptyMovieClip('_mochiad_wait', 3);
chk._x = v4 * -0.5;
chk._y = v13 * -0.5;
var v6 = chk.createEmptyMovieClip('_mochiad_bar', 4);
if (options.no_progress_bar) {
v6._visible = false;
delete options.no_progress_bar;
} else {
v6._x = 10;
v6._y = v13 - 20;
}
var v22 = options.color;
delete options.color;
var v20 = options.background;
delete options.background;
var v24 = options.outline;
delete options.outline;
var v5 = v6.createEmptyMovieClip('_outline', 1);
v5.beginFill(v20);
v5.moveTo(0, 0);
v5.lineTo(v4 - 20, 0);
v5.lineTo(v4 - 20, 10);
v5.lineTo(0, 10);
v5.lineTo(0, 0);
v5.endFill();
var v3 = v6.createEmptyMovieClip('_inside', 2);
v3.beginFill(v22);
v3.moveTo(0, 0);
v3.lineTo(v4 - 20, 0);
v3.lineTo(v4 - 20, 10);
v3.lineTo(0, 10);
v3.lineTo(0, 0);
v3.endFill();
v3._xscale = 0;
var v7 = v6.createEmptyMovieClip('_outline', 3);
v7.lineStyle(0, v24, 100);
v7.moveTo(0, 0);
v7.lineTo(v4 - 20, 0);
v7.lineTo(v4 - 20, 10);
v7.lineTo(0, 10);
v7.lineTo(0, 0);
chk.ad_msec = v23;
chk.ad_timeout = v19;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var v2 = 100 * (1 - (getTimer() - this.fadeout_start) / this.fadeout_time);
if (v2 > 0) {
this._parent._alpha = v2;
} else {
var v3 = this._parent._parent;
mochi.as2.MochiAd.unload(v3);
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 v2 = this.mc._mochiad_wait;
v2.server_control = true;
v2.started = getTimer();
v2.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 v6 = this._parent._parent;
var v11 = this._parent._mochiad_ctr;
var v5 = getTimer() - this.started;
var v3 = false;
var v4 = v6.getBytesTotal();
var v8 = v6.getBytesLoaded();
var v2 = 100 * v8 / v4;
var v10 = 100 * v5 / chk.ad_msec;
var v9 = this._mochiad_bar._inside;
var v13 = Math.min(100, Math.min(v2 || 0, v10));
v13 = Math.max(this.last_pcnt, v13);
this.last_pcnt = v13;
v9._xscale = v13;
options.ad_progress(v13);
if (sendHostProgress) {
mochi.as2.MochiAd.containerNotify(clip, {'id': 'hostLoadPcnt', 'pcnt': v2}, clip._mochiad._containerLCName);
if (v2 == 100) {
sendHostProgress = false;
}
}
if (!chk.showing) {
var v7 = v11.getBytesTotal();
if (v7 > 0 || typeof v7 == 'undefined') {
chk.showing = true;
chk.started = getTimer();
} else {
if (v5 > chk.ad_timeout && v2 == 100) {
options.ad_failed();
v3 = true;
}
}
}
if (v5 > chk.ad_msec) {
v3 = true;
}
if (v4 > 0 && v8 >= v4 && v3) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
}
}
};
};
v1.showClickAwayAd = function (options) {
var v9 = {'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 = mochi.as2.MochiAd._parseOptions(options, v9);
var clip = options.clip;
var v8 = options.ad_timeout;
delete options.ad_timeout;
if (!mochi.as2.MochiAd.load(options)) {
options.ad_failed();
options.ad_finished();
return undefined;
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var v4 = mochi.as2.MochiAd._getRes(options);
var v10 = v4[0];
var v7 = v4[1];
mc._x = v10 * 0.5;
mc._y = v7 * 0.5;
var chk = mc.createEmptyMovieClip('_mochiad_wait', 3);
chk.ad_timeout = v8;
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 v20 = false;
mc.lc.regContLC = function (lc_name) {
mc._containerLCName = lc_name;
};
chk.onEnterFrame = function () {
var v5 = this._parent._mochiad_ctr;
var v4 = getTimer() - this.started;
var v2 = false;
if (!chk.showing) {
var v3 = v5.getBytesTotal();
if (v3 > 0 || typeof v3 == 'undefined') {
v2 = true;
chk.showing = true;
chk.started = getTimer();
} else {
if (v4 > chk.ad_timeout) {
options.ad_failed();
v2 = true;
}
}
}
if (v2) {
delete this.onEnterFrame;
}
};
};
v1.showInterLevelAd = function (options) {
var v13 = {'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 = mochi.as2.MochiAd._parseOptions(options, v13);
var clip = options.clip;
var v10 = 11000;
var v12 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!mochi.as2.MochiAd.load(options)) {
options.ad_failed();
options.ad_finished();
return undefined;
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var v5 = mochi.as2.MochiAd._getRes(options);
var v14 = v5[0];
var v11 = v5[1];
mc._x = v14 * 0.5;
mc._y = v11 * 0.5;
var chk = mc.createEmptyMovieClip('_mochiad_wait', 3);
chk.ad_msec = v10;
chk.ad_timeout = v12;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var v2 = 100 * (1 - (getTimer() - this.fadeout_start) / this.fadeout_time);
if (v2 > 0) {
this._parent._alpha = v2;
} else {
var v3 = this._parent._parent;
mochi.as2.MochiAd.unload(v3);
delete this.onEnterFrame;
}
};
mc.lc.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.adjustProgress = function (msec) {
var v2 = this.mc._mochiad_wait;
v2.server_control = true;
v2.started = getTimer();
v2.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 v5 = this._parent._mochiad_ctr;
var v4 = getTimer() - this.started;
var v2 = false;
if (!chk.showing) {
var v3 = v5.getBytesTotal();
if (v3 > 0 || typeof v3 == 'undefined') {
chk.showing = true;
chk.started = getTimer();
} else {
if (v4 > chk.ad_timeout) {
options.ad_failed();
v2 = true;
}
}
}
if (v4 > chk.ad_msec) {
v2 = true;
}
if (v2) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
}
}
};
};
v1.showPreloaderAd = function (options) {
trace('[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0');
mochi.as2.MochiAd.showPreGameAd(options);
};
v1.showTimedAd = function (options) {
trace('[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0');
mochi.as2.MochiAd.showInterLevelAd(options);
};
v1._allowDomains = function (server) {
var v1 = ((server.split('/'))[2].split(':'))[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain('*');
System.security.allowDomain(v1);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain('*');
System.security.allowInsecureDomain(v1);
}
}
return v1;
};
v1.load = function (options) {
var v13 = {'clip': _root, 'server': 'http://x.mochiads.com/srv/1/', 'method': 'load', 'depth': 10333, 'id': '_UNKNOWN_'};
options = mochi.as2.MochiAd._parseOptions(options, v13);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = mochi.as2.MochiAd.getVersion();
var v7 = options.clip;
if (!mochi.as2.MochiAd._isNetworkAvailable()) {
return null;
}
if (v7._mochiad_loaded) {
return null;
}
var v12 = options.depth;
delete options.depth;
var v6 = v7.createEmptyMovieClip('_mochiad', v12);
var v11 = mochi.as2.MochiAd._getRes(options);
options.res = v11[0] + 'x' + v11[1];
options.server += options.id;
delete options.id;
v7._mochiad_loaded = true;
if (v7._url.indexOf('http') != 0) {
trace('[MochiAd] NOTE: Security Sandbox Violation errors below are normal');
}
var v4 = v6.createEmptyMovieClip('_mochiad_ctr', 1);
for (var v8 in options) {
v4[v8] = options[v8];
}
var v10 = v4.server;
delete v4.server;
var v14 = mochi.as2.MochiAd._allowDomains(v10);
v6.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 v5 = new Object();
var v9 = ['', Math.floor((new Date()).getTime()), random(999999)].join('_');
v5.mc = v6;
v5.name = v9;
v5.hostname = v14;
v5.allowDomain = function (d) {
return true;
};
v5.allowInsecureDomain = v5.allowDomain;
v5.connect(v9);
v6.lc = v5;
v4.lc = v9;
v4.st = getTimer();
if (!options.skip) {
v4.loadMovie(v10 + '.swf', 'POST');
}
return v6;
};
v1.unload = function (clip) {
if (typeof clip == 'undefined') {
clip = _root;
}
if (clip.clip && clip.clip._mochiad) {
clip = clip.clip;
}
if (!clip._mochiad) {
return false;
}
mochi.as2.MochiAd.containerNotify(clip, {'id': 'unload'}, clip._mochiad._containerLCName);
clip._mochiad.removeMovieClip();
delete clip._mochiad_loaded;
delete clip._mochiad;
return true;
};
v1._isNetworkAvailable = function () {
if (System.security) {
var v1 = System.security;
if (v1.sandboxType == 'localWithFile') {
return false;
}
}
return true;
};
v1._getRes = function (options) {
var v3 = options.clip.getBounds();
var v2 = 0;
var v1 = 0;
if (typeof options.res != 'undefined') {
var v4 = options.res.split('x');
v2 = parseFloat(v4[0]);
v1 = parseFloat(v4[1]);
} else {
v2 = v3.xMax - v3.xMin;
v1 = v3.yMax - v3.yMin;
}
if (v2 == 0 || v1 == 0) {
v2 = Stage.width;
v1 = Stage.height;
}
return [v2, v1];
};
v1._parseOptions = function (options, defaults) {
var v4 = {};
for (var v8 in defaults) {
v4[v8] = defaults[v8];
}
if (options) {
for (v8 in options) {
v4[v8] = options[v8];
}
}
if (_root.mochiad_options) {
var v5 = _root.mochiad_options.split('&');
var v2 = 0;
while (v2 < v5.length) {
var v3 = v5[v2].split('=');
v4[unescape(v3[0])] = unescape(v3[1]);
++v2;
}
}
if (v4.id == 'test') {
trace('[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!');
}
return v4;
};
v1.rpc = function (clip, callbackID, arg) {
switch (arg.id) {
case 'setValue':
mochi.as2.MochiAd.setValue(clip, arg.objectName, arg.value);
break;
case 'getValue':
var v4 = mochi.as2.MochiAd.getValue(clip, arg.objectName);
mochi.as2.MochiAd.containerRpcResult(clip, callbackID, v4, clip._mochiad._containerLCName);
break;
case 'runMethod':
var v3 = mochi.as2.MochiAd.runMethod(clip, arg.method, arg.args);
mochi.as2.MochiAd.containerRpcResult(clip, callbackID, v3, clip._mochiad._containerLCName);
break;
default:
trace('[mochiads rpc] unknown rpc id: ' + arg.id);
}
};
v1.setValue = function (base, objectName, value) {
var v2 = objectName.split('.');
var v1;
v1 = 0;
while (v1 < v2.length - 1) {
if (base[v2[v1]] == undefined || base[v2[v1]] == null) {
return undefined;
}
base = base[v2[v1]];
++v1;
}
base[v2[v1]] = value;
};
v1.getValue = function (base, objectName) {
var v2 = objectName.split('.');
var v1;
v1 = 0;
while (v1 < v2.length - 1) {
if (base[v2[v1]] == undefined || base[v2[v1]] == null) {
return undefined;
}
base = base[v2[v1]];
++v1;
}
return base[v2[v1]];
};
v1.runMethod = function (base, methodName, argsArray) {
var v2 = methodName.split('.');
var v1;
v1 = 0;
while (v1 < v2.length - 1) {
if (base[v2[v1]] == undefined || base[v2[v1]] == null) {
return undefined;
}
base = base[v2[v1]];
++v1;
}
if (typeof base[v2[v1]] == 'function') {
return base[v2[v1]].apply(base, argsArray);
} else {
return undefined;
}
};
v1.containerNotify = function (clip, args, lcName) {
var v1 = clip._mochiad._mochiad_ctr.ad.app;
if (v1.notify) {
v1.notify(args);
} else {
(new LocalConnection()).send(lcName, 'notify', args);
}
};
v1.containerRpcResult = function (clip, callbackID, val, lcName) {
var v1 = clip._mochiad._mochiad_ctr.ad.app;
if (v1.rpcResult) {
v1.rpcResult(callbackID, val);
} else {
(new LocalConnection()).send(lcName, 'rpcResult', callbackID, val);
}
};
ASSetPropFlags(mochi.as2.MochiAd.prototype, null, 1);
}
#endinitclip
}
movieClip 215 __Packages.mochi.as2.MochiSync {
#initclip
if (!_global.mochi) {
_global.mochi = new Object();
}
if (!_global.mochi.as2) {
_global.mochi.as2 = new Object();
}
if (!_global.mochi.as2.MochiSync) {
var v1 = function () {
this._syncContainer = {};
};
mochi.as2.MochiSync = v1;
var v2 = v1.prototype;
v2.getProp = function (name) {
return this._syncContainer[name];
};
v2.setProp = function (name, value) {
if (this._syncContainer[name] == value) {
return undefined;
}
this._syncContainer[name] = value;
mochi.as2.MochiServices.send('sync_propUpdate', {'name': name, 'value': value});
};
v2.triggerEvent = function (eventType, args) {
switch (eventType) {
case mochi.as2.MochiSync.SYNC_REQUEST:
mochi.as2.MochiServices.send('sync_syncronize', this._syncContainer);
break;
case mochi.as2.MochiSync.SYNC_PROPERTY:
this._syncContainer[args.name] = args.value;
}
};
v1.SYNC_REQUEST = 'SyncRequest';
v1.SYNC_PROPERTY = 'UpdateProperty';
ASSetPropFlags(mochi.as2.MochiSync.prototype, null, 1);
}
#endinitclip
}
movieClip 216 __Packages.mochi.as2.MochiServices {
#initclip
if (!_global.mochi) {
_global.mochi = new Object();
}
if (!_global.mochi.as2) {
_global.mochi.as2 = new Object();
}
if (!_global.mochi.as2.MochiServices) {
var v1 = function () {};
mochi.as2.MochiServices = v1;
var v2 = v1.prototype;
v1.__get__id = function () {
return mochi.as2.MochiServices._id;
};
v1.__get__clip = function () {
return mochi.as2.MochiServices._container;
};
v1.__get__childClip = function () {
return mochi.as2.MochiServices._clip;
};
v1.getVersion = function () {
return '3.7 as2';
};
v1.allowDomains = function (server) {
var v1 = ((server.split('/'))[2].split(':'))[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain('*');
System.security.allowDomain(v1);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain('*');
System.security.allowInsecureDomain(v1);
}
}
return v1;
};
v1.__get__isNetworkAvailable = function () {
if (System.security) {
var v1 = System.security;
if (v1.sandboxType == 'localWithFile') {
return false;
}
}
return true;
};
v1.__set__comChannelName = function (val) {
if (val != undefined) {
if (val.length > 3) {
mochi.as2.MochiServices._sendChannelName = val + '_fromgame';
mochi.as2.MochiServices.initComChannels();
}
}
return mochi.as2.MochiServices.__get__comChannelName();
};
v1.__get__connected = function () {
return mochi.as2.MochiServices._connected;
};
v1.connect = function (id, clip, onError) {
mochi.as2.MochiServices.warnID(id, false);
if (!mochi.as2.MochiServices._connected && mochi.as2.MochiServices._clip == undefined) {
trace('MochiServices Connecting...');
mochi.as2.MochiServices._connecting = true;
mochi.as2.MochiServices.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);
};
}
}
};
v1.disconnect = function () {
if (mochi.as2.MochiServices._connected || mochi.as2.MochiServices._connecting) {
mochi.as2.MochiServices._connected = false;
mochi.as2.MochiServices._connecting = mochi.as2.MochiServices._connected;
mochi.as2.MochiServices.flush(true);
if (mochi.as2.MochiServices._clip != undefined) {
mochi.as2.MochiServices._clip.removeMovieClip();
delete mochi.as2.MochiServices._clip;
}
mochi.as2.MochiServices._listenChannel.close();
}
};
v1.init = function (id, clip) {
mochi.as2.MochiServices._id = id;
if (clip != undefined) {
mochi.as2.MochiServices._container = clip;
} else {
mochi.as2.MochiServices._container = _root;
}
mochi.as2.MochiServices.loadCommunicator(id, mochi.as2.MochiServices._container);
};
v1.loadCommunicator = function (id, clip) {
var v6 = '_mochiservices_com_' + id;
var v5 = new MovieClipLoader();
var v3 = {};
if (mochi.as2.MochiServices._clip != null) {
return mochi.as2.MochiServices._clip;
}
if (!mochi.as2.MochiServices.__get__isNetworkAvailable()) {
return null;
}
if ((mochi.as2.MochiServices.urlOptions()).servURL) {
mochi.as2.MochiServices._servURL = (mochi.as2.MochiServices.urlOptions()).servURL;
}
var v4 = mochi.as2.MochiServices._servURL + mochi.as2.MochiServices._services;
if ((mochi.as2.MochiServices.urlOptions()).servicesURL) {
v4 = (mochi.as2.MochiServices.urlOptions()).servicesURL;
}
mochi.as2.MochiServices.allowDomains(v4);
mochi.as2.MochiServices._clip = clip.createEmptyMovieClip(v6, 10336, false);
mochi.as2.MochiServices._listenChannelName += Math.floor((new Date()).getTime()) + '_' + Math.floor(Math.random() * 99999);
mochi.as2.MochiServices.listen();
if (v3.waitInterval != null) {
clearInterval(v3.waitInterval);
}
v3.onLoadError = mochi.as2.MochiServices.loadError;
v3.onLoadStart = function (target_mc) {
this.isLoading = true;
};
v3.onLoadComplete = function (target_mc) {
target_mc.MochiServices = mochi.as2.MochiServices;
};
v3.startTime = getTimer();
v3.wait = function () {
if (getTimer() - this.startTime > 10000) {
if (!this.isLoading) {
mochi.as2.MochiServices.disconnect();
mochi.as2.MochiServices.onError.apply(null, ['IOError']);
}
clearInterval(this.waitInterval);
}
};
v3.waitInterval = setInterval(v3, 'wait', 1000);
v5.addListener(v3);
v5.loadClip(v4 + '?listenLC=' + mochi.as2.MochiServices._listenChannelName + '&mochiad_options=' + escape(_root.mochiad_options) + '&api_version=' + mochi.as2.MochiServices.getVersion(), mochi.as2.MochiServices._clip);
mochi.as2.MochiServices._sendChannel = new LocalConnection();
mochi.as2.MochiServices._sendChannel._queue = [];
return mochi.as2.MochiServices._clip;
};
v1.loadError = function (target_mc, errorCode, httpStatus) {
trace('MochiServices could not load.');
mochi.as2.MochiServices.disconnect();
mochi.as2.MochiServices.onError.apply(null, [errorCode]);
};
v1.onStatus = function (infoObject) {
if (infoObject.level !== 'error') {
} else {
mochi.as2.MochiServices._connected = false;
mochi.as2.MochiServices._listenChannel.connect(mochi.as2.MochiServices._listenChannelName);
}
};
v1.listen = function () {
mochi.as2.MochiServices._listenChannel = new LocalConnection();
mochi.as2.MochiServices._listenChannel.handshake = function (args) {
mochi.as2.MochiServices.__set__comChannelName(args.newChannel);
};
mochi.as2.MochiServices._listenChannel.allowDomain = function (d) {
return true;
};
mochi.as2.MochiServices._listenChannel.allowInsecureDomain = mochi.as2.MochiServices._listenChannel.allowDomain;
mochi.as2.MochiServices._listenChannel._nextcallbackID = 0;
mochi.as2.MochiServices._listenChannel._callbacks = {};
mochi.as2.MochiServices._listenChannel.connect(mochi.as2.MochiServices._listenChannelName);
trace('Waiting for MochiAds services to connect...');
};
v1.initComChannels = function () {
if (!mochi.as2.MochiServices._connected) {
mochi.as2.MochiServices._sendChannel.onStatus = function (infoObject) {
mochi.as2.MochiServices.onStatus(infoObject);
};
mochi.as2.MochiServices._sendChannel.send(mochi.as2.MochiServices._sendChannelName, 'onReceive', {'methodName': 'handshakeDone'});
mochi.as2.MochiServices._sendChannel.send(mochi.as2.MochiServices._sendChannelName, 'onReceive', {'methodName': 'registerGame', 'id': mochi.as2.MochiServices._id, 'version': mochi.as2.MochiServices.getVersion()});
mochi.as2.MochiServices._listenChannel.onStatus = function (infoObject) {
mochi.as2.MochiServices.onStatus(infoObject);
};
mochi.as2.MochiServices._listenChannel.onReceive = function (pkg) {
var v5 = pkg.callbackID;
var v4 = this._callbacks[v5];
if (!v4) {
return undefined;
}
var v2 = v4.callbackMethod;
var v3 = v4.callbackObject;
if (v3 && typeof v2 == 'string') {
v2 = v3[v2];
}
if (v2 != undefined) {
v2.apply(v3, pkg.args);
}
delete this._callbacks[v5];
};
mochi.as2.MochiServices._listenChannel.onEvent = function (pkg) {
switch (pkg.target) {
case 'events':
mochi.as2.MochiEvents.triggerEvent(pkg.event, pkg.args);
break;
case 'coins':
mochi.as2.MochiSocial.triggerEvent(pkg.event, pkg.args);
break;
case 'sync':
mochi.as2.MochiServices.servicesSync.triggerEvent(pkg.event, pkg.args);
}
};
mochi.as2.MochiServices._listenChannel.onError = function () {
mochi.as2.MochiServices.onError.apply(null, ['IOError']);
};
trace('[SERVICES_API] connected!');
mochi.as2.MochiServices._connecting = false;
mochi.as2.MochiServices._connected = true;
while (mochi.as2.MochiServices._sendChannel._queue.length > 0) {
mochi.as2.MochiServices._sendChannel.send(mochi.as2.MochiServices._sendChannelName, 'onReceive', mochi.as2.MochiServices._sendChannel._queue.shift());
}
}
};
v1.flush = function (error) {
var v1;
var v2;
while (mochi.as2.MochiServices._sendChannel._queue.length > 0) {
v1 = mochi.as2.MochiServices._sendChannel._queue.shift();
false;
if (v1.callbackID != null) {
v2 = mochi.as2.MochiServices._listenChannel._callbacks[v1.callbackID];
}
delete mochi.as2.MochiServices._listenChannel._callbacks[v1.callbackID];
if (error) {
mochi.as2.MochiServices.handleError(v1.args, v2.callbackObject, v2.callbackMethod);
}
}
};
v1.handleError = function (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);
}
}
}
};
v1.send = function (methodName, args, callbackObject, callbackMethod) {
if (mochi.as2.MochiServices._connected) {
mochi.as2.MochiServices._sendChannel.send(mochi.as2.MochiServices._sendChannelName, 'onReceive', {'methodName': methodName, 'args': args, 'callbackID': mochi.as2.MochiServices._listenChannel._nextcallbackID});
} else {
if (mochi.as2.MochiServices._clip == undefined || !mochi.as2.MochiServices._connecting) {
trace('Error: MochiServices not connected. Please call MochiServices.connect(). Function: ' + methodName);
mochi.as2.MochiServices.handleError(args, callbackObject, callbackMethod);
mochi.as2.MochiServices.flush(true);
return undefined;
} else {
mochi.as2.MochiServices._sendChannel._queue.push({'methodName': methodName, 'args': args, 'callbackID': mochi.as2.MochiServices._listenChannel._nextcallbackID});
}
}
mochi.as2.MochiServices._listenChannel._callbacks[mochi.as2.MochiServices._listenChannel._nextcallbackID] = {'callbackObject': callbackObject, 'callbackMethod': callbackMethod};
++mochi.as2.MochiServices._listenChannel._nextcallbackID;
};
v1.urlOptions = function () {
var v5 = {};
var v6;
if (_root._url.indexOf('mochiad_options') != -1) {
var v2 = _root._url.indexOf('mochiad_options') + 'mochiad_options'.length + 1;
v6 = _root._url.substr(v2, _root._url.length);
} else {
if (_root.mochiad_options) {
v6 = _root.mochiad_options;
}
}
if (v6) {
var v4 = _root.mochiad_options.split('&');
var v2 = 0;
while (v2 < v4.length) {
var v3 = v4[v2].split('=');
v5[unescape(v3[0])] = unescape(v3[1]);
++v2;
}
}
return v5;
};
v1.warnID = function (bid, leaderboard) {
bid = bid.toLowerCase();
if (bid.length != 16) {
trace('WARNING: ' + (leaderboard ? 'board' : 'game') + ' ID is not the appropriate length');
return undefined;
} else {
if (bid == '1e113c7239048b3f') {
if (leaderboard) {
trace('WARNING: Using testing board ID');
} else {
trace('WARNING: Using testing board ID as game ID');
}
return undefined;
} else {
if (bid == '84993a1de4031cd8') {
if (leaderboard) {
trace('WARNING: Using testing game ID as board ID');
} else {
trace('WARNING: Using testing game ID');
}
return undefined;
}
}
}
var v1 = 0;
while (v1 < bid.length) {
switch (bid.charAt(v1)) {
if (bid.charAt(v1) !== 'f') {
} else {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
break;
case '8':
case '9':
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
}
default:
trace('WARNING: Board ID contains illegal characters: ' + bid);
return undefined;
}
++v1;
}
};
v1.addLinkEvent = function (url, burl, btn, onClick) {
var timeout = 1500;
var t0 = getTimer();
var v2 = new Object();
v2.mav = mochi.as2.MochiServices.getVersion();
v2.swfv = btn.getSWFVersion() || 6;
v2.swfurl = btn._url;
v2.fv = System.capabilities.version;
v2.os = System.capabilities.os;
v2.lang = System.capabilities.language;
v2.scres = System.capabilities.screenResolutionX + 'x' + System.capabilities.screenResolutionY;
var s = '?';
var v3 = 0;
for (var v6 in v2) {
if (v3 != 0) {
s += '&';
}
++v3;
s = s + v6 + '=' + escape(v2[v6]);
}
if (!(mochi.as2.MochiServices.netupAttempted || mochi.as2.MochiServices._connected)) {
var ping = btn.createEmptyMovieClip('ping', 777);
var v7 = btn.createEmptyMovieClip('nettest', 778);
mochi.as2.MochiServices.netupAttempted = true;
ping.loadMovie('http://x.mochiads.com/linkping.swf?t=' + getTimer());
v7.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 v4 = btn.createEmptyMovieClip('clk', 1001);
v4._alpha = 0;
v4.beginFill(1044735);
v4.moveTo(0, 0);
v4.lineTo(0, btn._height);
v4.lineTo(btn._width, btn._height);
v4.lineTo(btn._width, 0);
v4.lineTo(0, 0);
v4.endFill();
v4.onRelease = function () {
if (mochi.as2.MochiServices.netup) {
getURL(url + s, '_blank');
} else {
getURL(burl, '_blank');
}
if (onClick != undefined) {
onClick();
}
};
};
v1.setContainer = function (clip) {};
v1.stayOnTop = function (clip) {};
v1._servURL = 'http://www.mochiads.com/static/lib/services/';
v1._services = 'services.swf';
v1._mochiLC = 'MochiLC.swf';
v1._listenChannelName = '__ms_';
v1._connecting = false;
v1._connected = false;
v1.netup = true;
v1.netupAttempted = false;
v1.servicesSync = new mochi.as2.MochiSync();
v1.addProperty('childClip', v1.__get__childClip, function () {});
v1.addProperty('clip', v1.__get__clip, function () {});
v1.addProperty('comChannelName', function () {}, v1.__set__comChannelName);
v1.addProperty('connected', v1.__get__connected, function () {});
v1.addProperty('id', v1.__get__id, function () {});
v1.addProperty('isNetworkAvailable', v1.__get__isNetworkAvailable, function () {});
ASSetPropFlags(mochi.as2.MochiServices.prototype, null, 1);
}
#endinitclip
}
movieClip 217 __Packages.mochi.as2.MochiEventDispatcher {
#initclip
if (!_global.mochi) {
_global.mochi = new Object();
}
if (!_global.mochi.as2) {
_global.mochi.as2 = new Object();
}
if (!_global.mochi.as2.MochiEventDispatcher) {
var v1 = function () {
this.eventTable = {};
};
mochi.as2.MochiEventDispatcher = v1;
var v2 = v1.prototype;
v2.buildDelegate = function (thisObject, thatObject) {
var v2 = {'thisObject': thisObject, 'thatObject': thatObject};
if (thatObject != undefined) {
var funct = (typeof thatObject == 'string') ? thisObject[thatObject] : thatObject;
v2.delegate = function (args) {
funct.call(thisObject, args);
};
return v2;
}
v2.delegate = thisObject;
return v2;
};
v2.compareDelegate = function (d_A, d_B) {
if (d_A.thisObject != d_B.thisObject || d_A.thatObject != d_B.thatObject) {
return false;
}
return true;
};
v2.addEventListener = function (event, thisObject, thatObject) {
this.removeEventListener(event, thisObject, thatObject);
this.eventTable[event].push(this.buildDelegate(thisObject, thatObject));
};
v2.removeEventListener = function (event, thisObject, thatObject) {
var v3 = this.buildDelegate(thisObject, thatObject);
if (this.eventTable[event] == undefined) {
this.eventTable[event] = [];
return undefined;
}
for (var v4 in this.eventTable[event]) {
if (!this.compareDelegate(this.eventTable[event][v4], v3)) {
continue;
}
this.eventTable[event].splice(Number(v4), 1);
}
};
v2.triggerEvent = function (event, args) {
if (this.eventTable[event] == undefined) {
return undefined;
}
for (var v4 in this.eventTable[event]) {
this.eventTable[event][v4].delegate(args);
}
};
ASSetPropFlags(mochi.as2.MochiEventDispatcher.prototype, null, 1);
}
#endinitclip
}
movieClip 218 __Packages.mochi.as2.MochiEvents {
#initclip
if (!_global.mochi) {
_global.mochi = new Object();
}
if (!_global.mochi.as2) {
_global.mochi.as2 = new Object();
}
if (!_global.mochi.as2.MochiEvents) {
var v1 = function () {};
mochi.as2.MochiEvents = v1;
var v2 = v1.prototype;
v1.getVersion = function () {
return mochi.as2.MochiServices.getVersion();
};
v1.startSession = function (achievementID) {
mochi.as2.MochiServices.send('events_beginSession', {'achievementID': achievementID}, null, null);
};
v1.trigger = function (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);
};
v1.setNotifications = function (clip, style) {
var v2 = {};
for (var v3 in style) {
v2[v3] = style[v3];
}
v2.clip = clip;
mochi.as2.MochiServices.send('events_setNotifications', v2, null, null);
};
v1.addEventListener = function (eventType, thisObject, thatObject) {
mochi.as2.MochiEvents._dispatcher.addEventListener(eventType, thisObject, thatObject);
};
v1.triggerEvent = function (eventType, args) {
mochi.as2.MochiEvents._dispatcher.triggerEvent(eventType, args);
};
v1.removeEventListener = function (eventType, thisObject, thatObject) {
mochi.as2.MochiEvents._dispatcher.removeEventListener(eventType, thisObject, thatObject);
};
v1.startGame = function () {
mochi.as2.MochiEvents.gameStart = (new Date()).getTime();
mochi.as2.MochiEvents.trigger('start_game');
};
v1.endGame = function () {
var v1 = (new Date()).getTime() - mochi.as2.MochiEvents.gameStart;
mochi.as2.MochiEvents.trigger('end_game', {'time': v1});
};
v1.startLevel = function () {
mochi.as2.MochiEvents.levelStart = (new Date()).getTime();
mochi.as2.MochiEvents.trigger('start_level');
};
v1.endLevel = function () {
var v1 = (new Date()).getTime() - mochi.as2.MochiEvents.levelStart;
mochi.as2.MochiEvents.trigger('end_level', {'time': v1});
};
v1.ACHIEVEMENT_RECEIVED = 'AchievementReceived';
v1.ALIGN_TOP_LEFT = 'ALIGN_TL';
v1.ALIGN_TOP = 'ALIGN_T';
v1.ALIGN_TOP_RIGHT = 'ALIGN_TR';
v1.ALIGN_LEFT = 'ALIGN_L';
v1.ALIGN_CENTER = 'ALIGN_C';
v1.ALIGN_RIGHT = 'ALIGN_R';
v1.ALIGN_BOTTOM_LEFT = 'ALIGN_BL';
v1.ALIGN_BOTTOM = 'ALIGN_B';
v1.ALIGN_BOTTOM_RIGHT = 'ALIGN_BR';
v1.FORMAT_SHORT = 'ShortForm';
v1.FORMAT_LONG = 'LongForm';
v1._dispatcher = new mochi.as2.MochiEventDispatcher();
ASSetPropFlags(mochi.as2.MochiEvents.prototype, null, 1);
}
#endinitclip
}
movieClip 219 __Packages.mochi.as2.MochiSocial {
#initclip
if (!_global.mochi) {
_global.mochi = new Object();
}
if (!_global.mochi.as2) {
_global.mochi.as2 = new Object();
}
if (!_global.mochi.as2.MochiSocial) {
var v1 = function () {};
mochi.as2.MochiSocial = v1;
var v2 = v1.prototype;
v1.getVersion = function () {
return mochi.as2.MochiServices.getVersion();
};
v1.showLoginWidget = function (options) {
mochi.as2.MochiServices.setContainer();
mochi.as2.MochiServices.stayOnTop();
mochi.as2.MochiServices.send('coins_showLoginWidget', {'options': options});
};
v1.hideLoginWidget = function () {
mochi.as2.MochiServices.send('coins_hideLoginWidget');
};
v1.requestLogin = function () {
mochi.as2.MochiServices.send('coins_requestLogin');
};
v1.getUserInfo = function () {
mochi.as2.MochiServices.send('coins_getUserInfo');
};
v1.saveUserProperties = function (properties) {
mochi.as2.MochiServices.send('coins_saveUserProperties', properties);
};
v1.addEventListener = function (eventType, delegate) {
mochi.as2.MochiSocial._dispatcher.addEventListener(eventType, delegate);
};
v1.triggerEvent = function (eventType, args) {
mochi.as2.MochiSocial._dispatcher.triggerEvent(eventType, args);
};
v1.removeEventListener = function (eventType, delegate) {
mochi.as2.MochiSocial._dispatcher.removeEventListener(eventType, delegate);
};
v1.LOGGED_IN = 'LoggedIn';
v1.LOGGED_OUT = 'LoggedOut';
v1.LOGIN_SHOW = 'LoginShow';
v1.LOGIN_HIDE = 'LoginHide';
v1.LOGIN_SHOWN = 'LoginShown';
v1.PROFILE_SHOW = 'ProfileShow';
v1.PROFILE_HIDE = 'ProfileHide';
v1.PROPERTIES_SAVED = 'PropertySaved';
v1.WIDGET_LOADED = 'WidgetLoaded';
v1.USER_INFO = 'UserInfo';
v1.ERROR = 'Error';
v1.IO_ERROR = 'IOError';
v1.NO_USER = 'NoUser';
v1.PROPERTIES_SIZE = 'PropertiesSize';
v1._dispatcher = new mochi.as2.MochiEventDispatcher();
ASSetPropFlags(mochi.as2.MochiSocial.prototype, null, 1);
}
#endinitclip
}
movieClip 220 __Packages.light {
#initclip
if (!_global.light) {
var v1 = function () {
super();
};
_global.light = v1;
_global.light extends MovieClip;
var v2 = v1.prototype;
v2.onLoad = function () {
this.coloron = 16711680;
this.coloroff = 6710886;
this.color = new Color(this);
this.state = -1;
};
v2.onEnterFrame = function () {
if (this.state == 1) {
this.color.setRGB(this.coloron);
}
if (this.state == -1) {
this.color.setRGB(this.coloroff);
}
};
ASSetPropFlags(_global.light.prototype, null, 1);
}
#endinitclip
}
movieClip 221 __Packages.timmer {
#initclip
if (!_global.timmer) {
var v1 = function () {
super();
};
_global.timmer = v1;
_global.timmer extends MovieClip;
var v2 = v1.prototype;
v2.onLoad = function () {
this.notime = -1;
this.delay = 18;
this.enable = 1;
this.iterate = 0;
this.decrement = [0, 0, 1];
this.minout = [_root.min1, _root.min2, _root.min3, _root.min4, _root.min5, _root.min6, _root.min7];
this.tsecout = [_root.tsec1, _root.tsec2, _root.tsec3, _root.tsec4, _root.tsec5, _root.tsec6, _root.tsec7];
this.secout = [_root.sec1, _root.sec2, _root.sec3, _root.sec4, _root.sec5, _root.sec6, _root.sec7];
for (var v3 in this.minout) {
this.minout[v3].coloroff = 6710886;
this.tsecout[v3].coloroff = 6710886;
this.secout[v3].coloroff = 6710886;
}
this.min = _root.savedata.data.itemNumbers[3];
this.tsec = _root.savedata.data.itemNumbers[4];
this.sec = _root.savedata.data.itemNumbers[5];
if (_root.unsolved == -1) {
this.min = _root.deftime[0];
this.tsec = _root.deftime[1];
this.sec = _root.deftime[2];
}
};
v2.onEnterFrame = function () {
_root.time.text = _root.savedata.data.itemNumbers[2];
if (this.enable == 1) {
++this.iterate;
this.out(this.min, this.minout);
this.out(this.tsec, this.tsecout);
this.out(this.sec, this.secout);
if (this.iterate == this.delay) {
if (_root.unsolved == 1 && this.decrement[2] == 1) {
++_root.savedata.data.itemNumbers[2];
_root.savedata.data.itemNumbers[3] = this.min;
_root.savedata.data.itemNumbers[4] = this.tsec;
_root.savedata.data.itemNumbers[5] = this.sec;
}
if (_root.lvl7 == 1 and this.decrement[2] == 1) {
++_root.savedata.data.itemNumbers[2];
--_root.savedata.data.itemNumbers[5];
if (_root.savedata.data.itemNumbers[5] < 0) {
_root.savedata.data.itemNumbers[5] = 9;
--_root.savedata.data.itemNumbers[4];
}
if (_root.savedata.data.itemNumbers[4] < 0) {
_root.savedata.data.itemNumbers[4] = 5;
--_root.savedata.data.itemNumbers[3];
}
if (_root.savedata.data.itemNumbers[3] < 0) {
_root.savedata.data.itemNumbers[3] = 2;
_root.savedata.data.itemNumbers[4] = 3;
_root.savedata.data.itemNumbers[5] = 0;
_root.retrybutton.catalyst = 1;
}
}
this.iterate = 0;
this.time(this.min, this.tsec, this.sec, this.decrement);
}
} else {
for (var v3 in this.minout) {
this.minout[v3].state = -1;
this.tsecout[v3].state = -1;
this.secout[v3].state = -1;
}
}
};
v2.time = function (a, b, c, interval) {
c -= interval[2];
b -= interval[1];
a -= interval[0];
if (c < 0) {
b -= 1;
c = 10 + c;
}
if (b < 0) {
a -= 1;
b = 6 + b;
}
if (a < 0) {
a = 0;
b = 0;
c = 0;
this.notime = 1;
}
this.min = a;
this.tsec = b;
this.sec = c;
};
v2.out = function (a, list) {
for (var v5 in list) {
list[v5].state = -1;
}
var v12 = [0, 2, 3, 5, 6, 7, 8, 9];
var v11 = [2, 3, 4, 5, 6, 8, 9];
var v10 = [0, 2, 3, 5, 6, 8, 9];
var v9 = [0, 4, 5, 6, 8, 9];
var v8 = [0, 1, 2, 3, 4, 7, 8, 9];
var v7 = [0, 2, 6, 8];
var v6 = [0, 1, 3, 4, 5, 6, 7, 8, 9];
var v1 = [v12, v11, v10, v9, v8, v7, v6];
for (v5 in v1) {
for (var v4 in v1[v5]) {
if (v1[v5][v4] == a) {
list[v5].state = 1;
}
}
}
};
ASSetPropFlags(_global.timmer.prototype, null, 1);
}
#endinitclip
}
movieClip 222 __Packages.retry {
#initclip
if (!_global.retry) {
var v1 = function () {
super();
};
_global.retry = v1;
_global.retry extends MovieClip;
var v2 = v1.prototype;
v2.onLoad = function () {
this.values = 0;
};
v2.onEnterFrame = function () {
_root.deaths.text = _root.savedata.data.itemNumbers[1];
this._visible = false;
if (this.catalyst == 1) {
if (_root.unsolved == 1 and this.temp == 0) {
++_root.savedata.data.itemNumbers[1];
this.temp = 1;
}
this.timmer.decrement = [0, 0, 0];
this._visible = true;
for (var v3 in this.buttonsoff) {
this.buttonsoff[v3].enable = -1;
}
for (v3 in this.buttonson) {
this.buttonson[v3].enable = -1;
}
}
this.onPress = function () {
this.temp = 0;
this._visible = false;
this.catalyst = -1;
this.timmer.min = this.time[0];
this.timmer.tsec = this.time[1];
this.timmer.sec = this.time[2];
this.timmer.notime = -1;
this.timmer.decrement = [0, 0, 1];
for (var v2 in this.lightsoff) {
this.lightsoff[v2].state = -1;
}
for (v2 in this.lightson) {
this.lightson[v2].state = 1;
}
for (v2 in this.buttonson) {
this.buttonson[v2].state = 1;
this.buttonson[v2].enable = 1;
}
for (v2 in this.buttonsoff) {
this.buttonsoff[v2].state = -1;
this.buttonsoff[v2].enable = 1;
}
};
};
v2.temp = 0;
ASSetPropFlags(_global.retry.prototype, null, 1);
}
#endinitclip
}
movieClip 223 __Packages.button {
#initclip
if (!_global.button) {
var v1 = function () {
super();
};
_global.button = v1;
_global.button extends MovieClip;
var v2 = v1.prototype;
v2.onLoad = function () {
this.uses = 0;
this.coloron = 65280;
this.coloroff = 65280;
this.state = -1;
this.color = new Color(this);
this.enable = 1;
this.value = 0;
};
v2.onEnterFrame = function () {
if (this.state == 1) {
this.color.setRGB(this.coloron);
}
if (this.state == -1) {
this.color.setRGB(this.coloroff);
}
this.onPress = function () {
this.uses += (this.enable + 1) / 2;
this.state = this.state * -1 * this.enable;
for (var v2 in this.invert) {
this.invert[v2].state = this.invert[v2].state * -1 * this.enable;
}
};
};
ASSetPropFlags(_global.button.prototype, null, 1);
}
#endinitclip
}
movieClip 224 __Packages.room {
#initclip
if (!_global.room) {
var v1 = function () {
super();
};
_global.room = v1;
_global.room extends MovieClip;
var v2 = v1.prototype;
v2.onLoad = function () {
this.coloron = 65280;
this.coloroff = 7829367;
this.color = new Color(this);
this.state = -1;
this.out = 0;
};
v2.onEnterFrame = function () {
if (this.state == 1) {
this.color.setRGB(this.coloron);
this.onPress = function () {
if (_root.playmusic == 1) {
_root.music.start();
}
this.out = this.moveto;
};
}
if (this.state == -1) {
this.out = 0;
this.color.setRGB(this.coloroff);
}
};
ASSetPropFlags(_global.room.prototype, null, 1);
}
#endinitclip
}
frame 2 {
stop();
var lvl7 = -1;
var bounce;
var unsolved;
var deftime;
var playmusic = 1;
music = new Sound();
music.attachSound('gamemusic');
music.onSoundComplete = function () {
music.start();
};
savedata = SharedObject.getLocal('defuse_data');
if (savedata.data.itemNumbers == undefined) {
savedata.data.itemNumbers = [0, 0, 0, 0, 0, 0];
}
}
// unknown tag 88 length 73
// unknown tag 88 length 153
// unknown tag 88 length 51
// unknown tag 88 length 121
// unknown tag 88 length 88
movieClip 32 {
}
instance forward1 of movieClip 32 {
onClipEvent (enterFrame) {
this.onPress = function () {
_root.gotoAndStop(3);
};
}
}
// unknown tag 88 length 61
// unknown tag 88 length 148
// unknown tag 88 length 63
movieClip 43 {
}
instance forward2 of movieClip 43 {
onClipEvent (enterFrame) {
this.onPress = function () {
_root.gotoAndStop(4);
};
}
}
frame 4 {
function onEnterFrame() {
for (var v2 in rooms) {
rooms[v2].moveto = v2 - -4;
}
for (v2 in rooms) {
if (v2 <= savedata.data.itemNumbers[0]) {
rooms[v2].state = 1;
} else {
rooms[v2].state = -1;
}
if (rooms[v2].out > 0) {
gotoAndStop(rooms[v2].out);
}
}
_root.reset.onPress = function () {
savedata.data.itemNumbers = [0, 0, 0, 0, 0, 0];
};
}
var rooms;
music.stop();
rooms = [_root.room1, _root.room2, _root.room3, _root.room4, _root.room5, _root.room6, _root.room7, _root.room8, _root.room9];
}
movieClip 49 {
}
movieClip 52 {
}
movieClip 55 {
}
instance of movieClip 55 {
onClipEvent (enterFrame) {
this.onPress = function () {
_root.gotoAndStop(22);
};
}
}
movieClip 58 {
}
instance of movieClip 58 {
onClipEvent (enterFrame) {
if (_root.savedata.data.itemNumbers[0] < 9) {
this._visible = false;
} else {
this._visible = true;
}
this.onPress = function () {
_root.gotoAndStop(19);
};
}
}
movieClip 60 {
}
instance of movieClip 60 {
onClipEvent (load) {
if (_root.lvl7 == 1) {
this._visible = false;
} else {
this._visible = true;
}
}
}
movieClip 64 {
}
instance of movieClip 64 {
onClipEvent (load) {
this._visible = false;
}
onClipEvent (enterFrame) {
var temp = this;
_root.dir.onPress = function () {
temp._visible = true;
temp.onPress = function () {
this._visible = false;
};
};
}
}
frame 5 {
function onEnterFrame() {
_root.timer.decrement = [0, 0, 0];
for (var v2 in buttons) {
buttons[v2].coloroff = 6710886;
}
for (v2 in lights) {
lights[v2].coloron = 65280;
}
_root.explode0.coloron = 16711680;
_root.b0b5.coloroff = 65280;
_root.b0l3.state = _root.b0b5.state;
if (_root.b0b1.state + _root.b0b2.state == 2) {
_root.b0l1.state = 1;
} else {
_root.b0l1.state = -1;
}
if (_root.b0l1.state + _root.b0l2.state + _root.b0l3.state == 3) {
disarm();
}
if (_root.b0b3.state + _root.b0b4.state == 2) {
explode();
}
}
function explode() {
_root.explode0.state = 1;
_root.retrybutton.catalyst = 1;
}
function disarm() {
unsolved = -1;
if (savedata.data.itemNumbers[0] == 0) {
savedata.data.itemNumbers[0] = 1;
savedata.data.itemNumbers[3] = 2;
savedata.data.itemNumbers[4] = 3;
savedata.data.itemNumbers[5] = 0;
}
_root.disarm0.state = 1;
for (var v2 in buttons) {
buttons[v2].enable = -1;
}
}
deftime = [2, 3, 0];
var buttons;
var lights;
buttons = [_root.b0b1, _root.b0b2, _root.b0b3, _root.b0b4, _root.b0b5];
lights = [_root.explode0, _root.b0l1, _root.b0l2, _root.b0l3, _root.disarm0];
_root.retrybutton.buttonsoff = buttons;
_root.retrybutton.lightsoff = lights;
_root.retrybutton.timmer = _root.timer;
_root.b0b3.invert = [_root.b0l2];
_root.b0b4.invert = [_root.b0l2];
_root.pause.activater = _root.pauser;
_root.pause.timer = _root.timmer;
unsolved = 1;
if (savedata.data.itemNumbers[0] > 0) {
unsolved = -1;
}
}
// unknown tag 88 length 46
movieClip 74 {
}
movieClip 77 {
frame 1 {
function onEnterFrame() {
if (_root.playmusic == 1) {
gamemusic.start();
} else {
gamemusic.stop();
}
}
}
}
instance musictoggle of movieClip 77 {
onClipEvent (enterFrame) {
this.onPress = function () {
_root.playmusic *= -1;
if (_root.playmusic == 1) {
_root.music.start();
} else {
_root.music.stop();
}
};
}
}
movieClip 80 {
}
instance room of movieClip 80 {
onClipEvent (enterFrame) {
this.onPress = function () {
if (_root.retrybutton._visible == true) {
_root.savedata.data.itemNumbers[3] = _root.deftime[0];
_root.savedata.data.itemNumbers[4] = _root.deftime[1];
_root.savedata.data.itemNumbers[5] = _root.deftime[2];
}
_root.gotoAndStop(4);
};
}
}
movieClip 84 {
}
instance foward of movieClip 84 {
onClipEvent (enterFrame) {
if (_root.unsolved == 1) {
this._visible = false;
} else {
this._visible = true;
}
_root.foward.onPress = function () {
_root.bounce = _root._currentframe;
_root.gotoAndStop(23);
};
}
}
movieClip 91 {
}
instance pausebutton of movieClip 91 {
onClipEvent (load) {
this._visible = false;
}
onClipEvent (enterFrame) {
var temp = this;
_root.pauseactivate.onPress = function () {
temp._visible = true;
_root.timer.decrement = [0, 0, 0];
temp.onPress = function () {
_root.timer.decrement = [0, 0, 1];
this._visible = false;
};
};
}
}
frame 6 {
function onEnterFrame() {
for (var v2 in lights) {
lights[v2].coloroff = 6710886;
explodes[v2].coloroff = 6710886;
lights[v2].coloron = 65280;
}
_root.disarm1.coloroff = 6710886;
_root.explode1.coloroff = 6710886;
_root.disarm1.coloron = 65280;
if (explodes[0].state + explodes[1].state + explodes[2].state == 3 or _root.timer.notime == 1) {
explode();
} else {
if (lights[0].state + lights[1].state + lights[2].state + lights[3].state + lights[4].state + lights[5].state + lights[6].state + lights[7].state == 8) {
disarm();
}
}
}
function explode() {
_root.explode1.state = 1;
_root.retrybutton.catalyst = 1;
}
function disarm() {
_root.timer.decrement = [0, 0, 0];
_root.disarm1.state = 1;
unsolved = -1;
if (savedata.data.itemNumbers[0] < 2) {
savedata.data.itemNumbers[0] = 2;
savedata.data.itemNumbers[3] = 5;
savedata.data.itemNumbers[4] = 0;
savedata.data.itemNumbers[5] = 0;
}
for (var v2 in buttons) {
buttons[v2].enable = -1;
}
}
deftime = [2, 3, 0];
var lights;
var buttons;
var explodes;
unsolved = -1;
if (savedata.data.itemNumbers[0] < 2) {
unsolved = 1;
}
buttons = [_root.b1b1, _root.b1b2, _root.b1b3, _root.b1b4, _root.b1b5, _root.b1b6, _root.b1b7, _root.b1b8];
lights = [_root.b1l1, _root.b1l2, _root.b1l3, _root.b1l4, _root.b1l5, _root.b1l6, _root.b1l7, _root.b1l8];
explodes = [_root.b1l9, _root.b1l10, _root.b1l11];
buttons[0].invert = [lights[0], lights[1], explodes[0]];
buttons[1].invert = [lights[1], lights[2], lights[3], explodes[1]];
buttons[2].invert = [lights[0], lights[2], explodes[0]];
buttons[3].invert = [lights[5], lights[7]];
buttons[4].invert = [lights[2], lights[3], lights[5], explodes[2]];
buttons[5].invert = [lights[4], lights[6]];
buttons[6].invert = [lights[3], lights[4], explodes[1]];
buttons[7].invert = [lights[6], lights[7]];
_root.retrybutton.buttonsoff = buttons;
_root.retrybutton.lightsoff = explodes.concat(lights, _root.explode1);
_root.retrybutton.timmer = _root.timer;
_root.retrybutton.time = [2, 3, 0];
}
frame 7 {
function onEnterFrame() {
row1[0].value = -4;
row1[1].value = -1;
row1[2].value = -1;
row1[3].value = 9;
row1[4].value = 6;
row2[0].value = -2;
row2[1].value = 9;
row2[2].value = 2;
row2[3].value = -2;
row2[4].value = 3;
row3[0].value = 2;
row3[1].value = -7;
row3[2].value = 4;
row3[3].value = 4;
row3[4].value = -3;
row4[0].value = 7;
row4[1].value = -3;
row4[2].value = 8;
row4[3].value = 1;
row4[4].value = 4;
row5[0].value = 5;
row5[1].value = 8;
row5[2].value = 1;
row5[3].value = 2;
row5[4].value = 2;
for (var v2 in row1) {
row1[v2].coloron = 65280;
row1[v2].coloroff = 6710886;
row2[v2].coloron = 65280;
row2[v2].coloroff = 6710886;
row3[v2].coloron = 65280;
row3[v2].coloroff = 6710886;
row4[v2].coloron = 65280;
row4[v2].coloroff = 6710886;
row5[v2].coloron = 65280;
row5[v2].coloroff = 6710886;
}
for (v2 in disarmerr) {
disarmerr[v2].coloron = 65280;
disarmerc[v2].coloron = 65280;
}
_root.disarm2.coloron = 65280;
darm(row1, _root.b2l6);
darm(row2, _root.b2l7);
darm(row3, _root.b2l8);
darm(row4, _root.b2l9);
darm(row5, _root.b2l10);
darm(col1, _root.b2l1);
darm(col2, _root.b2l2);
darm(col3, _root.b2l3);
darm(col4, _root.b2l4);
darm(col5, _root.b2l5);
temp = 0;
for (v2 in disarmerr) {
temp = temp + disarmerr[v2].state + disarmerc[v2].state;
}
if (temp == 10) {
disarm();
}
temp = 0;
for (v2 in row1) {
temp = temp + row1[v2].state + row2[v2].state + row3[v2].state + row4[v2].state + row5[v2].state;
}
temp = (temp + 25) / 2;
lights = 0;
while (temp >= 5) {
temp -= 5;
lights += 1;
}
lightupto(temp, explode1);
lightupto(lights, explode2);
if (_root.b2l17.state == 1 or _root.timer.notime == 1) {
explode();
}
}
function darm(list, light) {
temp = 0;
for (var v2 in list) {
if (list[v2].state == 1) {
temp += list[v2].value;
}
}
if (temp == 5) {
light.state = 1;
} else {
light.state = -1;
}
}
function lightupto(a, set) {
for (var v3 in set) {
if (v3 == a - 1) {
set[v3].state = 1;
} else {
set[v3].state = -1;
}
}
}
function explode() {
_root.explode2.state = 1;
_root.retrybutton.catalyst = 1;
}
function disarm() {
unsolved = -1;
if (savedata.data.itemNumbers[0] < 3) {
savedata.data.itemNumbers[0] = 3;
savedata.data.itemNumbers[3] = 5;
savedata.data.itemNumbers[4] = 0;
savedata.data.itemNumbers[5] = 0;
}
_root.timer.decrement = [0, 0, 0];
_root.disarm2.state = 1;
for (var v2 in row1) {
row1[v2].enable = -1;
row2[v2].enable = -1;
row3[v2].enable = -1;
row4[v2].enable = -1;
row5[v2].enable = -1;
}
}
deftime = [5, 0, 0];
unsolved = -1;
if (savedata.data.itemNumbers[0] < 3) {
unsolved = 1;
}
var rows;
var cols;
var row1;
var row2;
var row3;
var row4;
var row5;
var col1;
var col2;
var col3;
var col4;
var col5;
var disarmerr;
var disarmerc;
var explode1;
var explode2;
var temp;
var lights;
col1 = [_root.b2b1, _root.b2b6, _root.b2b11, _root.b2b16, _root.b2b21];
col2 = [_root.b2b2, _root.b2b7, _root.b2b12, _root.b2b17, _root.b2b22];
col3 = [_root.b2b3, _root.b2b8, _root.b2b13, _root.b2b18, _root.b2b23];
col4 = [_root.b2b4, _root.b2b9, _root.b2b14, _root.b2b19, _root.b2b24];
col5 = [_root.b2b5, _root.b2b10, _root.b2b15, _root.b2b20, _root.b2b25];
row1 = [_root.b2b1, _root.b2b2, _root.b2b3, _root.b2b4, _root.b2b5];
row2 = [_root.b2b6, _root.b2b7, _root.b2b8, _root.b2b9, _root.b2b10];
row3 = [_root.b2b11, _root.b2b12, _root.b2b13, _root.b2b14, _root.b2b15];
row4 = [_root.b2b16, _root.b2b17, _root.b2b18, _root.b2b19, _root.b2b20];
row5 = [_root.b2b21, _root.b2b22, _root.b2b23, _root.b2b24, _root.b2b25];
disarmerr = [_root.b2l6, _root.b2l7, _root.b2l8, _root.b2l9, _root.b2l10];
disarmerc = [_root.b2l1, _root.b2l2, _root.b2l3, _root.b2l4, _root.b2l5];
explode1 = [_root.b2l11, _root.b2l12, _root.b2l13, _root.b2l14];
explode2 = [_root.b2l15, _root.b2l16, _root.b2l17];
_root.retrybutton.timmer = _root.timer;
_root.retrybutton.time = [5, 0, 0];
_root.retrybutton.buttonsoff = col1.concat(col2, col3, col4, col5);
_root.retrybutton.lightsoff = disarmerr.concat(disarmerc, explode1, explode2, _root.explode2, _root.disarm2);
}
// unknown tag 88 length 66
frame 8 {
function onEnterFrame() {
_root.retrybutton.buttonsoff = A.concat(B, C, D);
_root.retrybutton.lightsoff = lights.concat(exploder, _root.explode3);
_root.retrybutton.timmer = _root.timer;
_root.retrybutton.time = [5, 0, 0];
_root.disarm3.coloron = 65280;
A = [_root.b3b1, _root.b3b2, _root.b3b3];
for (var v2 in A) {
A[v2].coloroff = 6710886;
B[v2].coloroff = 6710886;
C[v2].coloroff = 6710886;
D[v2].coloroff = 6710886;
}
for (v2 in lights) {
lights[v2].coloron = 65280;
}
A[0].value = -2;
A[1].value = -1;
A[2].value = 2;
B[0].value = 2;
B[1].value = 1;
B[2].value = 1;
C[0].value = -3;
C[1].value = -1;
C[2].value = 2;
D[0].value = 3;
D[1].value = -3;
D[2].value = 1;
lights[0].value = 2;
lights[1].value = 3;
lights[2].value = 5;
lights[3].value = 4;
exploder[0].value = -3;
exploder[1].value = 3;
exploder[2].value = -1;
exploder[3].value = 2;
main(A, B, lights[1]);
main(B, C, lights[2]);
main(C, D, lights[3]);
main(D, A, lights[0]);
secondary(ea, exploder[0]);
secondary(eb, exploder[1]);
secondary(ec, exploder[2]);
secondary(ed, exploder[3]);
_root.b3l5.state = _root.b3l1.state;
_root.b3l6.state = _root.b3l3.state;
_root.b3l7.state = _root.b3l4.state;
_root.b3l8.state = _root.b3l2.state;
if (_root.b3l5.state + _root.b3l6.state + _root.b3l7.state + _root.b3l8.state > -4 or _root.timer.notime == 1) {
explode();
} else {
if (lights[0].state + lights[1].state + lights[2].state + lights[3].state == 4) {
disarm();
}
}
}
function main(set1, set2, light) {
var v1 = 0;
for (var v5 in set1) {
if (set1[v5].state == 1) {
v1 += set1[v5].value;
}
if (set2[v5].state == 1) {
v1 += set2[v5].value;
}
}
if (v1 == light.value && light.state == -1) {
light.state = 1;
} else {
if (light.state == 1 && v1 != light.value) {
light.state = -1;
}
}
}
function secondary(values, light) {
var v2 = 0;
for (var v3 in values) {
if (values[v3].state == 1) {
v2 += values[v3].value;
}
}
if (v2 == light.value) {
light.state = 1;
} else {
light.state = -1;
}
}
function explode() {
_root.explode3.state = 1;
_root.retrybutton.catalyst = 1;
}
function disarm() {
unsolved = -1;
if (savedata.data.itemNumbers[0] < 4) {
savedata.data.itemNumbers[0] = 4;
savedata.data.itemNumbers[3] = 6;
savedata.data.itemNumbers[4] = 0;
savedata.data.itemNumbers[5] = 0;
}
_root.timer.decrement = [0, 0, 0];
_root.disarm3.state = 1;
for (var v2 in A) {
A[v2].enable = -1;
B[v2].enable = -1;
C[v2].enable = -1;
D[v2].enable = -1;
}
}
deftime = [5, 0, 0];
unsolved = -1;
if (savedata.data.itemNumbers[0] < 4) {
unsolved = 1;
}
var A;
var B;
var C;
var D;
var ea;
var eb;
var ec;
var ed;
var exploder;
var lights;
B = [_root.b3b4, _root.b3b5, _root.b3b6];
C = [_root.b3b7, _root.b3b8, _root.b3b9];
D = [_root.b3b10, _root.b3b11, _root.b3b12];
ea = [_root.b3b11, _root.b3b12, _root.b3b1, _root.b3b2];
eb = [_root.b3b2, _root.b3b3, _root.b3b4, _root.b3b5];
ec = [_root.b3b5, _root.b3b6, _root.b3b7, _root.b3b8];
ed = [_root.b3b8, _root.b3b9, _root.b3b10, _root.b3b11];
exploder = [_root.b3l1, _root.b3l2, _root.b3l3, _root.b3l4];
lights = [_root.b3l9, _root.b3l10, _root.b3l11, _root.b3l12];
}
frame 9 {
function onEnterFrame() {
if (_root.timer.notime == 1) {
explode();
}
if (twrc[0].state + twrc[1].state + twrc[2].state + twrc[3].state + twrc[4].state == 5) {
disarm();
}
_root.disarm4.coloron = 65280;
_root.b4b1.value = [statea, statec];
_root.b4b2.value = [statea, stateb];
_root.b4b3.value = [stateb, statea];
_root.b4b4.value = [stateb, statec];
_root.b4b5.value = [statec, stateb];
_root.b4b6.value = [statec, statea];
render(statea, twra);
render(stateb, twrb);
render(statec, twrc);
for (var v2 in twra) {
twra[v2].coloron = 65280;
twrb[v2].coloron = 65280;
twrc[v2].coloron = 65280;
}
for (v2 in buttons) {
if (buttons[v2].state == 1) {
buttons[v2].state = -1;
switcher(buttons[v2].value[0], buttons[v2].value[1]);
}
}
}
function render(gamestate, lights) {
for (var v3 in gamestate) {
if (gamestate[v3] == 1) {
lights[v3].state = 1;
} else {
lights[v3].state = -1;
}
}
}
function switcher(tower1, tower2) {
var v3 = [4, 3, 2, 1, 0];
if (tower1[0] + tower1[1] + tower1[2] + tower1[3] + tower1[4] == 0) {
return undefined;
}
for (var v4 in v3) {
if (tower2[v4] == 1) {
explode();
return undefined;
}
if (tower1[v4] == 1) {
tower1[v4] = 0;
tower2[v4] = 1;
return undefined;
}
}
}
function explode() {
_root.explode4.state = 1;
_root.retrybutton.catalyst = 1;
statea = [1, 1, 1, 1, 1];
stateb = [0, 0, 0, 0, 0];
statec = [0, 0, 0, 0, 0];
}
function disarm() {
unsolved = -1;
if (savedata.data.itemNumbers[0] < 5) {
savedata.data.itemNumbers[0] = 5;
savedata.data.itemNumbers[3] = 7;
savedata.data.itemNumbers[4] = 3;
savedata.data.itemNumbers[5] = 0;
}
_root.timer.decrement = [0, 0, 0];
_root.disarm4.state = 1;
for (var v2 in buttons) {
buttons[v2].enable = -1;
}
}
deftime = [6, 0, 0];
unsolved = -1;
if (savedata.data.itemNumbers[0] < 5) {
unsolved = 1;
}
var twra;
var twrb;
var twrc;
var statea;
var stateb;
var statec;
var buttons;
twra = [_root.b4l1, _root.b4l2, _root.b4l3, _root.b4l4, _root.b4l5];
twrb = [_root.b4l6, _root.b4l7, _root.b4l8, _root.b4l9, _root.b4l10];
twrc = [_root.b4l11, _root.b4l12, _root.b4l13, _root.b4l14, _root.b4l15];
statea = [1, 1, 1, 1, 1];
stateb = [0, 0, 0, 0, 0];
statec = [0, 0, 0, 0, 0];
buttons = [b4b1, b4b2, b4b3, b4b4, b4b5, b4b6];
_root.retrybutton.timmer = _root.timer;
_root.retrybutton.time = [6, 0, 0];
_root.retrybutton.buttonsoff = buttons;
_root.retrybutton.lightsoff = twrb.concat(twrc, _root.explode4);
_root.retrybutton.lightson = twra;
}
frame 10 {
function onEnterFrame() {
if (run == 0) {
run = 1;
for (var v4 in row1) {
row1[v4].coloron = 16711680;
row1[v4].coloroff = 4473924;
row1[v4].state = 1;
row2[v4].coloron = 16711680;
row2[v4].coloroff = 4473924;
row2[v4].state = 1;
row3[v4].coloron = 16711680;
row3[v4].coloroff = 4473924;
row3[v4].state = 1;
row4[v4].coloron = 16711680;
row4[v4].coloroff = 4473924;
row4[v4].state = 1;
row5[v4].coloron = 16711680;
row5[v4].coloroff = 4473924;
row5[v4].state = 1;
row6[v4].coloron = 16711680;
row6[v4].coloroff = 4473924;
row6[v4].state = 1;
var v3 = v4 - 1;
var v2 = v4 - -1;
row1[v4].invert = [row2[v4], row1[v3], row1[v2]];
row2[v4].invert = [row1[v4], row3[v4], row2[v3], row2[v2]];
row3[v4].invert = [row2[v4], row4[v4], row3[v3], row3[v2]];
row4[v4].invert = [row3[v4], row5[v4], row4[v3], row4[v2]];
row5[v4].invert = [row4[v4], row6[v4], row5[v3], row5[v2]];
row6[v4].invert = [row5[v4], row6[v3], row6[v2]];
}
row1[0].state = -1;
row1[1].state = -1;
row1[4].state = -1;
row1[5].state = -1;
row2[0].state = -1;
row2[1].state = -1;
row2[4].state = -1;
row2[5].state = -1;
row5[0].state = -1;
row5[1].state = -1;
row5[4].state = -1;
row5[5].state = -1;
row6[0].state = -1;
row6[1].state = -1;
row6[4].state = -1;
row6[5].state = -1;
}
if (_root.timer.notime == 1) {
explode();
}
for (v4 in disarmers) {
isclear(rows[v4], disarmers[v4]);
disarmers[v4].coloron = 65280;
}
disarmstate = 0;
uses = 0;
for (v4 in row1) {
uses = uses + row1[v4].uses + row2[v4].uses + row3[v4].uses + row4[v4].uses + row5[v4].uses + row6[v4].uses;
disarmstate = disarmstate + row1[v4].state + row2[v4].state + row3[v4].state + row4[v4].state + row5[v4].state + row6[v4].state;
}
if (disarmstate == -36 && uses < 42) {
disarm();
}
lightlights(uses, explode1, explode2);
}
function isclear(row, light) {
if (row[0].state + row[1].state + row[2].state + row[3].state + row[4].state + row[5].state == -6) {
light.state = 1;
} else {
light.state = -1;
}
}
function lightlights(num, set1, set2) {
var v2 = 0;
while (num >= 7) {
num -= 7;
v2 += 1;
}
num -= 1;
v2 -= 1;
for (var v5 in set1) {
set1[v5].state = -1;
set2[v5].state = -1;
}
set1[num].state = 1;
set2[v2].state = 1;
if (v2 == 5) {
v2 = 0;
explode();
}
}
function explode() {
for (var v2 in row1) {
row1[v2].uses = 0;
row2[v2].uses = 0;
row3[v2].uses = 0;
row4[v2].uses = 0;
row5[v2].uses = 0;
row6[v2].uses = 0;
}
_root.explode5.state = 1;
_root.retrybutton.catalyst = 1;
}
function disarm() {
unsolved = -1;
if (savedata.data.itemNumbers[0] < 6) {
savedata.data.itemNumbers[0] = 6;
savedata.data.itemNumbers[3] = 9;
savedata.data.itemNumbers[4] = 5;
savedata.data.itemNumbers[5] = 9;
}
_root.disarm5.state = 1;
_root.timer.decrement = [0, 0, 0];
for (var v2 in row1) {
row1[v2].enable = -1;
row2[v2].enable = -1;
row3[v2].enable = -1;
row4[v2].enable = -1;
row5[v2].enable = -1;
row6[v2].enable = -1;
}
}
deftime = [7, 3, 0];
unsolved = -1;
if (savedata.data.itemNumbers[0] < 6) {
unsolved = 1;
}
var run = 0;
var rows;
var row1;
var row2;
var row3;
var row4;
var row5;
var row6;
var uses;
var disarmstate;
var disarmers;
var explode1;
var explode2;
disarmers = [_root.b5l1, _root.b5l2, _root.b5l3, _root.b5l4, _root.b5l5, _root.b5l6, _root.disarm5];
row1 = [_root.b5b1, _root.b5b2, _root.b5b3, _root.b5b4, _root.b5b5, _root.b5b6];
row2 = [_root.b5b7, _root.b5b8, _root.b5b9, _root.b5b10, _root.b5b11, _root.b5b12];
row3 = [_root.b5b13, _root.b5b14, _root.b5b15, _root.b5b16, _root.b5b17, _root.b5b18];
row4 = [_root.b5b19, _root.b5b20, _root.b5b21, _root.b5b22, _root.b5b23, _root.b5b24];
row5 = [_root.b5b25, _root.b5b26, _root.b5b27, _root.b5b28, _root.b5b29, _root.b5b30];
row6 = [_root.b5b31, _root.b5b32, _root.b5b33, _root.b5b34, _root.b5b35, _root.b5b36];
rows = [row1, row2, row3, row4, row5, row6];
uses = 0;
explode1 = [_root.b5l7, _root.b5l8, _root.b5l9, _root.b5l10, _root.b5l11, _root.b5l12];
explode2 = [_root.b5l13, _root.b5l14, _root.b5l15, _root.b5l16, _root.b5l17, _root.b5l18];
_root.retrybutton.buttonsoff = [row1[0], row1[1], row1[4], row1[5], row2[0], row2[1], row2[4], row2[5], row5[0], row5[1], row5[4], row5[5], row6[0], row6[1], row6[4], row6[5]];
_root.retrybutton.buttonson = row3.concat(row4, row1[2], row1[3], row2[2], row2[3], row5[2], row5[3], row6[2], row6[3]);
_root.retrybutton.lightsoff = disarmers.concat(explode1, explode2, _root.explode5);
_root.disarm5.coloron = 65280;
_root.timer.min = 7;
_root.timer.tsec = 3;
_root.retrybutton.timmer = _root.timer;
_root.retrybutton.time = [7, 3, 0];
}
frame 11 {
function onEnterFrame() {
_root.disarm6.coloron = 65280;
if (_root.b6l35.state == 1) {
disarm();
}
for (var v3 in disarmer) {
disarmer[v3].coloron = 65280;
}
for (v3 in buttons) {
if (buttons[v3].state == 1) {
buttons[v3].state = -1;
temp = combos[v3];
for (var v2 in temp) {
if (v2 != 0) {
towerstates[temp[v2] - 1] += temp[0];
}
}
}
}
if (_root.b6b6.state == 1) {
_root.b6b6.state = -1;
for (v3 in towerstates) {
towerstates[v3] = 0;
}
for (v3 in disarmer) {
disarmer[v3].state = -1;
}
_root.explode6.state = -1;
}
if (towerstates[0] == 2 and towerstates[1] == 2 && towerstates[2] == 2 && towerstates[3] == 2) {
disarmer[0].state = 1;
}
if (towerstates[0] == 3 and towerstates[1] == 3 && towerstates[2] == 3 && towerstates[3] == 3 && disarmer[0].state == 1) {
disarmer[1].state = 1;
}
if (towerstates[0] == 5 and towerstates[1] == 5 && towerstates[2] == 5 && towerstates[3] == 5 && disarmer[1].state == 1) {
disarmer[2].state = 1;
}
for (v3 in towerstates) {
if (towerstates[v3] > 7 or towerstates[v3] < 0 or _root.timer.notime == 1) {
explode();
}
}
for (v3 in tower1) {
tower1[v3].state = -1;
tower2[v3].state = -1;
tower3[v3].state = -1;
tower4[v3].state = -1;
}
tower1[towerstates[0]].state = 1;
tower2[towerstates[1]].state = 1;
tower3[towerstates[2]].state = 1;
tower4[towerstates[3]].state = 1;
}
function explode() {
towerstates = [0, 0, 0, 0];
_root.explode6.state = 1;
_root.retrybutton.catalyst = 1;
}
function disarm() {
unsolved = -1;
if (savedata.data.itemNumbers[0] < 7) {
savedata.data.itemNumbers[0] = 7;
savedata.data.itemNumbers[3] = 2;
savedata.data.itemNumbers[4] = 3;
savedata.data.itemNumbers[5] = 0;
}
_root.disarm6.state = 1;
_root.timer.decrement = [0, 0, 0];
for (var v2 in buttons) {
buttons[v2].enable = -1;
}
_root.b6b6.enable = -1;
}
deftime = [9, 5, 9];
unsolved = -1;
if (savedata.data.itemNumbers[0] < 7) {
unsolved = 1;
}
var temp;
var combos;
var twrstate1;
var twrstate2;
var twrstate3;
var twrstate4;
var towerstates;
var tower1;
var tower2;
var tower3;
var tower4;
var buttons;
var B;
var C;
var D;
var E;
var F;
var disarmer;
disarmer = [_root.b6l33, _root.b6l34, _root.b6l35];
towerstates = [twrstate1, twrstate2, twrstate3, twrstate4];
for (var i in towerstates) {
towerstates[i] = 0;
}
buttons = [_root.b6b1, _root.b6b2, _root.b6b3, _root.b6b4, _root.b6b5];
tower1 = [_root.b6l1, _root.b6l2, _root.b6l3, _root.b6l4, _root.b6l5, _root.b6l6, _root.b6l7, _root.b6l8];
tower2 = [_root.b6l9, _root.b6l10, _root.b6l11, _root.b6l12, _root.b6l13, _root.b6l14, _root.b6l15, _root.b6l16];
tower3 = [_root.b6l17, _root.b6l18, _root.b6l19, _root.b6l20, _root.b6l21, _root.b6l22, _root.b6l23, _root.b6l24];
tower4 = [_root.b6l25, _root.b6l26, _root.b6l27, _root.b6l28, _root.b6l29, _root.b6l30, _root.b6l31, _root.b6l32];
B = [-2, 1, 3];
C = [-1, 2, 4];
D = [1, 1, 3];
E = [2, 1, 4];
F = [3, 2, 3];
combos = [B, C, D, E, F];
_root.retrybutton.buttonsoff = buttons;
_root.retrybutton.lightsoff = tower1.concat(tower2, tower3, tower4, _root.explode6);
_root.retrybutton.lightson = [tower1[0], tower2[0], tower3[0], tower4[0]];
_root.retrybutton.timmer = _root.timer;
_root.retrybutton.time = [9, 5, 9];
_root.timer.min = 9;
_root.timer.tsec = 5;
_root.timer.sec = 9;
}
frame 12 {
function onEnterFrame() {
for (var v2 in buttons) {
buttons[v2].coloroff = 6710886;
}
_root.disarm7.coloron = 65280;
if (_root.b7b2.state + _root.b7b3.state + _root.b7b5.state + _root.b7b7.state + _root.b7b11.state + _root.b7b13.state == 6) {
if (buttons[3].state + buttons[5].state + buttons[11].state + buttons[13].state == -4) {
disarm();
}
}
if (buttons[0].state * buttons[7].state * buttons[8].state * buttons[9].state * buttons[14].state == 1 or _root.timer.notime == 1) {
explode();
}
}
function explode() {
_root.explode7.state = 1;
_root.retrybutton.catalyst = 1;
}
function disarm() {
lvl7 = -1;
unsolved = -1;
if (savedata.data.itemNumbers[0] < 8) {
savedata.data.itemNumbers[0] = 8;
savedata.data.itemNumbers[3] = 0;
savedata.data.itemNumbers[4] = 4;
savedata.data.itemNumbers[5] = 0;
}
_root.disarm7.state = 1;
_root.timer.decrement = [0, 0, 0];
for (var v2 in buttons) {
buttons[v2].enable = -1;
}
}
deftime = [2, 3, 0];
unsolved = -1;
if (savedata.data.itemNumbers[0] < 8) {
unsolved = 1;
}
lvl7 = unsolved;
var buttons;
buttons = [_root.b7b1, _root.b7b2, _root.b7b3, _root.b7b4, _root.b7b5, _root.b7b6, _root.b7b7, _root.b7b8, _root.b7b9, _root.b7b10, _root.b7b11, _root.b7b12, _root.b7b13, _root.b7b14, _root.b7b15];
_root.retrybutton.buttonsoff = buttons;
_root.retrybutton.lightsoff = [_root.explode7];
_root.retrybutton.timmer = _root.timer;
_root.retrybutton.time = [3, 3, 0];
_root.timer.min = 3;
_root.timer.tsec = 3;
}
frame 13 {
function onEnterFrame() {
if (_root.timer.notime == 1) {
if (savedata.data.itemNumbers[0] < 9) {
savedata.data.itemNumbers[2] -= 40;
}
timer.decrement = [0, 0, 0];
unsolved = -1;
savedata.data.itemNumbers[0] = 9;
gotoAndStop(14);
}
if (once == 0) {
bridges[0].value = [_root.b8l1, _root.b8l2, -1];
bridges[1].value = [_root.b8l1, _root.b8l2, -1];
bridges[2].value = [_root.b8l1, _root.b8l3, -1];
bridges[3].value = [_root.b8l2, _root.b8l3, -1];
bridges[4].value = [_root.b8l2, _root.b8l4, -1];
bridges[5].value = [_root.b8l2, _root.b8l4, -1];
bridges[6].value = [_root.b8l3, _root.b8l4, -1];
for (var v2 in bridges) {
bridges[v2].coloroff = 6710886;
disarmers[v2].coloron = 65280;
}
islands[0].state = 1;
once = 1;
}
temp = 0;
for (v2 in bridges) {
if (bridges[v2].state * bridges[v2].value[2] == -1) {
if (bridges[v2].value[0].state * bridges[v2].value[1].state == 1) {
bridges[v2].state *= -1;
} else {
bridges[v2].value[2] *= -1;
swap(bridges[v2].value[0], bridges[v2].value[1]);
}
}
}
for (v2 in bridges) {
temp += bridges[v2].state;
}
temp = (temp + 7) / 2;
lightupto(temp, disarmers);
}
function swap(a, b) {
if (a.state * b.state == -1) {
a.state *= -1;
b.state *= -1;
}
}
function lightupto(a, set) {
for (var v3 in set) {
if (v3 < a) {
set[v3].state = 1;
} else {
set[v3].state = -1;
}
}
}
deftime = [0, 4, 0];
unsolved = -1;
if (savedata.data.itemNumbers[0] < 9) {
unsolved = 1;
}
var temp;
var once = 0;
var bridges;
var islands;
var disarmers;
disarmers = [_root.b8l5, _root.b8l6, _root.b8l7, _root.b8l8, _root.b8l9, _root.b8l10, _root.disarm8];
islands = [_root.b8l1, _root.b8l2, _root.b8l3, _root.b8l4];
bridges = [_root.b8b1, _root.b8b2, _root.b8b3, _root.b8b4, _root.b8b5, _root.b8b6, _root.b8b7];
}
movieClip 165 {
}
instance of movieClip 165 {
onClipEvent (enterFrame) {
this.onPress = function () {
_root.gotoAndStop(15);
};
}
}
movieClip 171 {
}
instance of movieClip 171 {
onClipEvent (enterFrame) {
this.onPress = function () {
_root.gotoAndStop(16);
};
}
}
movieClip 174 {
}
instance of movieClip 174 {
onClipEvent (enterFrame) {
this.onPress = function () {
_root.gotoAndStop(17);
};
}
}
movieClip 179 {
}
instance of movieClip 179 {
onClipEvent (enterFrame) {
this.onPress = function () {
_root.gotoAndStop(18);
};
}
}
frame 18 {
music.stop();
_root.deaths.text = savedata.data.itemNumbers[1];
_root.time.text = savedata.data.itemNumbers[2];
}
movieClip 192 {
}
instance of movieClip 192 {
onClipEvent (enterFrame) {
this.onPress = function () {
_root.gotoAndStop(19);
};
}
}
movieClip 195 {
}
instance of movieClip 195 {
onClipEvent (enterFrame) {
this.onPress = function () {
_root.gotoAndStop(22);
};
}
}
movieClip 198 {
}
instance of movieClip 198 {
onClipEvent (enterFrame) {
this.onPress = function () {
_root.gotoAndStop(4);
};
}
}
instance of movieClip 84 {
onClipEvent (enterFrame) {
this.onPress = function () {
_root.gotoAndStop(20);
};
}
}
instance of movieClip 84 {
onClipEvent (enterFrame) {
this.onPress = function () {
_root.gotoAndStop(21);
};
}
}
movieClip 205 {
}
instance of movieClip 205 {
onClipEvent (enterFrame) {
this.onPress = function () {
_root.gotoAndStop(4);
};
}
}
movieClip 213 {
}
instance of movieClip 213 {
onClipEvent (enterFrame) {
this.onPress = function () {
_root.gotoAndStop(4);
};
}
}
frame 23 {
gotoAndStop(bounce);
}