Frame 1
mochi.as2.MochiAd.showPreGameAd({id:"01e72ae3e6bbbc16", res:"500x500"});
myButton.onRelease = function () {
getURL ("http://www.pyroxgames.com", "_blank");
};
dailyj.onRelease = function () {
getURL ("http://www.pyroxgames.com", "_blank");
};
pyroweb.onRelease = function () {
getURL ("http://www.pyroweb.co.uk", "_blank");
};
Frame 2
function Gran(con, x0, y0, x1, y1, Norm, rand, h, t) {
var dx = (x1 - x0);
var dy = (y1 - y0);
var xc = (x0 + (dx / 2));
var yc = (y0 + (dy / 2));
var tx;
var ty;
var l = Math.sqrt((dx * dx) + (dy * dy));
var dlx = (((h / l) * dy) / 10);
var dly = (((h / l) * dx) / 10);
Norm = Norm * cut;
with (con) {
lineTo(xc - (dx / 10), yc - (dy / 10));
switch (t) {
case 0 :
ty = yc + ((Norm * 2.5) * dly);
if (ty > y0) {
ty = y0;
}
if (ty > y1) {
ty = y1;
}
if (ty < _parent.box_y0) {
_parent.box_y0 = ty;
}
break;
case 3 :
tx = xc - ((Norm * 2.5) * dlx);
if (tx > x0) {
tx = x0;
}
if (ty > x1) {
tx = x1;
}
if (tx >= _parent.box_x0) {
break;
}
_parent.box_x0 = tx;
}
if (Norm != 0) {
lineTo((xc - (dx / 10)) - ((rand * Norm) * dlx), (yc - (dy / 10)) + ((rand * Norm) * dly));
curveTo((xc - (0.2 * dx)) - ((Norm * 2.5) * dlx), (yc - (0.2 * dy)) + ((Norm * 2.5) * dly), xc - ((Norm * 2.5) * dlx), yc + ((Norm * 2.5) * dly));
curveTo((xc + (0.2 * dx)) - ((Norm * 2.5) * dlx), (yc + (0.2 * dy)) + ((Norm * 2.5) * dly), (xc + (dx / 10)) - ((rand * Norm) * dlx), (yc + (dy / 10)) + ((rand * Norm) * dly));
lineTo(xc + (dx / 10), yc + (dy / 10));
}
lineTo(x1, y1);
}
}
function CreatePieEx(pie) {
pie.box_x0 = 10000;
pie.box_y0 = 10000;
with (pie) {
maska.clear();
f_la.clear();
f_la.lineStyle(2, 268435455, 100);
f_la._alpha = 100;
maska.lineStyle(0, 0, 100);
maska.beginFill(0, 100);
obvod.clear();
obvod.lineStyle(0, 0, 100);
var i = 0;
while (i < countP) {
with (s_pie[i]) {
maska.moveTo(x0, y0);
Gran(maska, x0, y0, x1, y1, norm0, rnd0, hy, 0);
Gran(maska, x1, y1, x2, y2, norm1, rnd1, hx, 4);
Gran(maska, x2, y2, x3, y3, norm2, rnd2, hy, 4);
Gran(maska, x3, y3, x0, y0, norm3, rnd3, hx, 3);
switch (typ0) {
case 0 :
obvod.moveTo(x0, y0);
Gran(obvod, x0, y0, x1, y1, norm0, rnd0, hy, 4);
break;
case 1 :
f_la.moveTo(x0, y0);
Gran(f_la, x0, y0, x1, y1, norm0, rnd0, hy, 4);
typ0 = 2;
}
switch (typ1) {
case 0 :
obvod.moveTo(x1, y1);
Gran(obvod, x1, y1, x2, y2, norm1, rnd1, hx, 4);
break;
case 1 :
f_la.moveTo(x1, y1);
Gran(f_la, x1, y1, x2, y2, norm1, rnd1, hx, 4);
typ1 = 2;
}
switch (typ2) {
case 0 :
obvod.moveTo(x2, y2);
Gran(obvod, x2, y2, x3, y3, norm2, rnd2, hy, 4);
break;
case 1 :
f_la.moveTo(x2, y2);
Gran(f_la, x2, y2, x3, y3, norm2, rnd2, hy, 4);
typ2 = 2;
}
switch (typ3) {
case 0 :
obvod.moveTo(x3, y3);
Gran(obvod, x3, y3, x0, y0, norm3, rnd3, hx, 4);
break;
case 1 :
f_la.moveTo(x3, y3);
Gran(f_la, x3, y3, x0, y0, norm3, rnd3, hx, 4);
typ3 = 2;
}
}
i++;
}
maska.endFill();
}
pie.box_xsize = pie.maska._width;
pie.box_ysize = pie.maska._height;
pie.shiftM = (2 * pie.box_x0) + pie.box_xsize;
pie.shiftR = pie.shiftM - lx;
pie.revers._x = pie.shiftR;
with (pie) {
if (revers._visible) {
_x = _x - (pie.shiftR * pie.fcs);
_y = _y - (pie.shiftR * pie.fsn);
obvod._xscale = (f_la._xscale = (maska._xscale = -100));
obvod._x = (f_la._x = (maska._x = shiftM));
revers.setMask(maska);
}
}
if (pie.f_la._width != 0) {
pie.f_la.onEnterFrame = function () {
if (this._alpha > 0) {
this._alpha = this._alpha - 5;
} else {
this.onEnterFrame = null;
}
};
}
}
function CreateShad() {
with (pies[0]) {
avers.filters = (revers.filters = 0);
if (avers._visible) {
avers.filters = filtr;
} else {
revers.filters = filtr;
}
}
}
function pieJoin(n0, n1) {
var tn0;
var tn1;
var i;
var j;
tn0 = n0;
tn1 = n1;
if (n0 > n1) {
tn0 = n1;
tn1 = n0;
}
var tpie0 = pies[tn0];
var tpie1 = pies[tn1];
tpie0._x = tpie1._x;
tpie0._y = tpie1._y;
if (tpie0.revers._visible) {
tpie0._x = tpie0._x + (tpie1.shiftR * tpie1.fcs);
tpie0._y = tpie0._y + (tpie1.shiftR * tpie1.fsn);
}
tpie0._rotation = tpie1._rotation;
var xx = tpie1._x;
var yy = tpie1._y;
var rr = tpie1._rotation;
with (tpie1) {
i = 0;
while (i < countP) {
with (s_pie[i]) {
j = 0;
while (j < tpie0.countP) {
if (tpie0.s_pie[j].k23 == k10) {
typ0 = (tpie0.s_pie[j].typ2 = 1);
}
if (tpie0.s_pie[j].k30 == k21) {
typ1 = (tpie0.s_pie[j].typ3 = 1);
}
if (tpie0.s_pie[j].k01 == k32) {
typ2 = (tpie0.s_pie[j].typ0 = 1);
}
if (tpie0.s_pie[j].k12 == k03) {
typ3 = (tpie0.s_pie[j].typ1 = 1);
}
j++;
}
}
tpie0.s_pie.push(tpie1.s_pie[i]);
i++;
}
}
tpie0.countP = tpie0.countP + tpie1.countP;
CreatePieEx(tpie0);
count--;
i = tn1;
while (i < count) {
pies[i] = pies[i + 1];
pies[i].numer = i;
i++;
}
with (tpie1) {
_visible = 0;
maska.removeMovieClip();
obvod.removeMovieClip();
f_la.removeMovieClip();
avers.removeMovieClip();
revers.removeMovieClip();
i = 0;
while (i < countP) {
delete eval (s_pie.pop());
i++;
}
delete s_pie;
removeMovieClip();
}
if (tpie0.countP == (nx * ny)) {
_root.gotoAndStop(2);
}
}
function pieToTop(num) {
if (num == 0) {
return(undefined);
}
var _local1 = num;
while (_local1 > 0) {
var _local2 = pies[_local1];
var _local3 = pies[_local1 - 1];
var _local5 = _local2.level;
var _local4 = _local3.level;
_local2.level = _local4;
_local3.level = _local5;
_local2.numer = _local1 - 1;
_local3.numer = _local1;
_local2.swapDepths(_local4);
pies[_local1] = _local3;
pies[_local1 - 1] = _local2;
_local1--;
}
}
function TestJoinAvers() {
var tpie0 = pies[0];
var xx = tpie0._x;
var yy = tpie0._y;
var i = 1;
while (i < count) {
var tpie1 = pies[i];
if (!tpie1.avers._visible) {
} else if ((Math.abs(xx - tpie1._x) < 4) && (Math.abs(yy - tpie1._y) < 4)) {
var j = 0;
while (j < tpie1.countP) {
with (tpie1.s_pie[j]) {
var tk0 = k32;
var tk1 = k03;
var tk2 = k10;
var tk3 = k21;
}
var ii = 0;
while (ii < tpie0.countP) {
if ((((tpie0.s_pie[ii].k01 == tk0) || (tpie0.s_pie[ii].k12 == tk1)) || (tpie0.s_pie[ii].k23 == tk2)) || (tpie0.s_pie[ii].k30 == tk3)) {
pieJoin(0, i);
return(1);
}
ii++;
}
j++;
}
}
i++;
}
return(0);
}
function TestJoinRevers() {
var tpie0 = pies[0];
var xx = (tpie0._x + (tpie0.shiftR * tpie0.fcs));
var yy = (tpie0._y + (tpie0.shiftR * tpie0.fsn));
var i = 1;
while (i < count) {
var tpie1 = pies[i];
if (tpie1.avers._visible) {
} else if ((Math.abs(xx - (tpie1._x + (tpie1.shiftR * tpie1.fcs))) < 4) && (Math.abs(yy - (tpie1._y + (tpie1.shiftR * tpie1.fsn))) < 4)) {
var j = 0;
while (j < tpie1.countP) {
with (tpie1.s_pie[j]) {
var tk0 = k32;
var tk1 = k03;
var tk2 = k10;
var tk3 = k21;
}
var ii = 0;
while (ii < tpie0.countP) {
if ((((tpie0.s_pie[ii].k01 == tk0) || (tpie0.s_pie[ii].k12 == tk1)) || (tpie0.s_pie[ii].k23 == tk2)) || (tpie0.s_pie[ii].k30 == tk3)) {
pieJoin(0, i);
return(1);
}
ii++;
}
j++;
}
}
i++;
}
return(0);
}
function TestJoin() {
if (pies[0].avers._visible) {
return(TestJoinAvers());
}
return(TestJoinRevers());
}
function makeBackTile(mc, lx, ly, bname, level) {
var x;
var y;
var i;
i = 1;
y = 0;
x = 0;
var bb = mc.createEmptyMovieClip("revers" + level, level);
while (y < ly) {
x = 0;
while (x < lx) {
var b0 = bb.attachMovie(bname, "tile_" + i, i);
with (b0) {
if ((lx / _width) > 5) {
_xscale = (lx * 20) / _width;
}
if ((ly / _height) > 5) {
_yscale = (ly * 20) / _height;
}
}
i++;
b0._x = x;
b0._y = y;
x = x + b0._width;
}
y = y + b0._height;
}
return(bb);
}
function makeBackScale(mc, lx, ly, bname, level) {
var bb = mc.createEmptyMovieClip("revers" + level, level);
var b0 = bb.attachMovie(bname, "scale_1", 1);
with (b0) {
_xscale = (lx * 100) / _width;
_yscale = (ly * 100) / _height;
}
return(bb);
}
function makeBack(mc, lx, ly, bname, level) {
if (backtile == 0) {
return(makeBackTile(mc, lx, ly, bname, level));
}
return(makeBackScale(mc, lx, ly, bname, level));
}
function MakePies(image, bImage, plevel) {
var k = 0;
var pie;
var j = 0;
while (j < ny) {
var i = 0;
while (i < nx) {
pie = _root.createEmptyMovieClip("pie" + plevel, plevel);
pies[k] = pie;
pie.fcs = 1;
pie.fsn = 0;
pie.attachMovie(image, "avers", 20);
pie.revers = makeBack(pie, lx, ly, bImage, 10);
pie.ScaleReversX = pie.revers._xscale;
pie.ScaleAversX = (pie.avers._xscale = (lx / pie.avers._width) * 100);
pie.avers._yscale = (ly / pie.avers._height) * 100;
pie.createEmptyMovieClip("maska", 25);
pie.maska._visible = 0;
pie.maska.enabled = false;
pie.createEmptyMovieClip("obvod", 26);
pie.createEmptyMovieClip("f_la", 27);
pie.f_la.lineStyle(2, 16777215, 100);
pie.f_la._alpha = 100;
pie.avers.setMask(pie.maska);
pie.level = plevel;
pie.numer = k;
pie.mpress = 0;
pie.xmouse = 0;
pie.ymouse = 0;
pie.xOld = 0;
pie.yOld = 0;
pie.countP = 1;
pie.s_pie = new Array();
var pp = new Object();
pp.ni = i;
pp.nj = j;
var k0 = ((j * (nx + 1)) + i);
var k1 = (k0 + 1);
var k2 = ((k1 + nx) + 1);
var k3 = (k2 - 1);
var p0 = points[k0];
var p1 = points[k1];
var p2 = points[k2];
var p3 = points[k3];
pp.k01 = (k0 << 16) + k1;
pp.k10 = (k1 << 16) + k0;
pp.k12 = (k1 << 16) + k2;
pp.k21 = (k2 << 16) + k1;
pp.k23 = (k2 << 16) + k3;
pp.k32 = (k3 << 16) + k2;
pp.k30 = (k3 << 16) + k0;
pp.k03 = (k0 << 16) + k3;
pp.x0 = p0.x;
pp.y0 = p0.y;
pp.norm0 = -p0.nx;
pp.rnd0 = p0.rndx;
pp.typ0 = 0;
pp.x1 = p1.x;
pp.y1 = p1.y;
pp.norm1 = -p1.ny;
pp.rnd1 = p1.rndy;
pp.typ1 = 0;
pp.x2 = p2.x;
pp.y2 = p2.y;
pp.norm2 = p3.nx;
pp.rnd2 = p3.rndx;
pp.typ2 = 0;
pp.x3 = p3.x;
pp.y3 = p3.y;
pp.norm3 = p0.ny;
pp.rnd3 = p0.rndy;
pp.typ3 = 0;
pie.s_pie.push(pp);
pie.box_x0 = 0;
pie.box_y0 = 0;
pie.box_xsize = 0;
pie.box_ysize = 0;
pie.avers._visible = 0;
pie.tickTurn = 0;
k++;
plevel = plevel - deltaLevel;
pie.teta = 0;
pie.tetaEn = 0;
var blurX = ((lx / nx) / 10);
var blurY = ((ly / ny) / 10);
if (blurX > 15) {
blurX = 15;
}
if (blurY > 15) {
blurY = 15;
}
if (blurX < 3) {
blurX = 3;
}
if (blurY < 3) {
blurY = 3;
}
pie.filtr = new Array(new flash.filters.DropShadowFilter(10, 45, 0, 0.3, blurX, blurY, 8, 1, false, false, false));
pie.Reversi = function () {
if (this.tetaEn) {
return(undefined);
}
this.tetaEn = 1;
this.onEnterFrame = function () {
if (this.tetaEn) {
this.TurnOver();
} else {
this.onEnterFrame = null;
}
};
};
pie.TurnOver = function () {
var cs;
with (this) {
teta = teta + 0.2855993;
if ((tickTurn == 0) && (teta > 1.570796)) {
turnOff();
tickTurn = 1;
}
if ((tickTurn == 1) && (teta > 3.141593)) {
tickTurn = 0;
teta = 0;
tetaEn = 0;
}
avers.filters = 0;
revers.filters = 0;
cs = Math.abs(Math.cos(teta));
if (avers._visible) {
if (tetaEn) {
avers.filters = filtr;
}
maska._xscale = (obvod._xscale = 100 * cs);
avers._xscale = ScaleAversX * cs;
maska._x = (obvod._x = (avers._x = (box_x0 + (box_xsize / 2)) * (1 - cs)));
} else {
if (tetaEn) {
revers.filters = filtr;
}
maska._xscale = (obvod._xscale = -100 * cs);
revers._xscale = 100 * cs;
maska._x = (obvod._x = shiftM - ((box_x0 + (box_xsize / 2)) * (1 - cs)));
revers._x = maska._x - (lx * cs);
}
}
};
pie.MyPress = function () {
with (this._parent) {
pieToTop(numer);
xmouse = _root._xmouse;
ymouse = _root._ymouse;
xOld = _x;
yOld = _y;
if (_root.turned) {
Reversi();
return(undefined);
}
mpress = 1;
if (avers._visible) {
avers.filters = filtr;
} else {
revers.filters = filtr;
}
}
};
pie.MyRelease = function () {
this._parent.mpress = 0;
this._parent.avers.filters = 0;
this._parent.revers.filters = 0;
};
pie.MyMouseMove = function () {
if (this.turnEn) {
return(undefined);
}
if (_root.r) {
return(undefined);
}
if (_root.turned) {
return(undefined);
}
with (_root) {
if ((((_xmouse < 5) || (_ymouse < 5)) || (_xmouse > (winX - 5))) || (_ymouse > (winY - 5))) {
return(undefined);
}
}
with (this._parent) {
if (mpress) {
Move((xOld + _root._xmouse) - xmouse, (yOld + _root._ymouse) - ymouse);
if (TestJoin()) {
mpress = 0;
}
}
}
};
pie.turnOff = function () {
with (this) {
if (avers._visible == 1) {
avers._visible = 0;
avers.onPress = (avers.onRelease = (avers.onReleaseOutside = (avers.onMouseMove = null)));
revers.onPress = MyPress;
revers.onRelease = (revers.onReleaseOutside = MyRelease);
revers.onMouseMove = MyMouseMove;
obvod._xscale = (f_la._xscale = (maska._xscale = -100));
revers._xscale = ScaleReversX;
revers._x = shiftR;
obvod._x = (f_la._x = (maska._x = shiftM));
revers.setMask(maska);
revers._visible = 1;
} else {
revers._visible = 0;
revers.onPress = (revers.onRelease = (revers.onReleaseOutside = (revers.onMouseMove = null)));
avers.onPress = MyPress;
avers.onRelease = (avers.onReleaseOutside = MyRelease);
avers.onMouseMove = MyMouseMove;
avers._xscale = ScaleAversX;
avers._x = 0;
obvod._xscale = (f_la._xscale = (maska._xscale = 100));
avers._x = (obvod._x = (f_la._x = (maska._x = 0)));
avers.setMask(maska);
avers._visible = 1;
}
}
};
pie.MoveOtn = function (dx, dy) {
with (this) {
_x = _x + dx;
_y = _y + dy;
}
};
pie.Move = function (x, y) {
with (this) {
_x = x;
_y = y;
}
};
pie.Rotate = function (xc, yc, beta) {
var ri = (0.01745329 * (beta - this._rotation));
var cs = Math.cos(ri);
var sn = Math.sin(ri);
with (this) {
var tx = ((xc + ((_x - xc) * cs)) - ((_y - yc) * sn));
var ty = ((yc + ((_y - yc) * cs)) + ((_x - xc) * sn));
_x = tx;
_y = ty;
_rotation = beta;
ri = (3.141593 * beta) / 180;
fcs = Math.cos(ri);
fsn = Math.sin(ri);
}
};
pie.Rotation = function () {
with (this) {
Rotate(xmouse, ymouse, _rotation + (deltaFi * direct));
}
};
pie.RotationCenter = function (ifi) {
with (this) {
Rotate((_x + box_x0) + (box_xsize / 2), (_y + box_y0) + (box_ysize / 2), ifi);
}
};
pie.turnOff();
CreatePieEx(pie);
i++;
}
j++;
}
}
function randomMRT() {
var i;
var xx;
var yy;
var pie;
i = 0;
while (i < count) {
pie = pies[i];
with (pie) {
_x = (hx + (Math.random() * (winX - (2 * hx)))) - (box_x0 + box_xsize);
_y = (hy + (Math.random() * (winY - (2 * hy)))) - (box_y0 + box_ysize);
if (_root.rotation) {
pie.RotationCenter(Math.floor(Math.random() * 36) * 10);
}
if (capsize && (Math.random() > 0.5)) {
pie.turnOff();
}
}
i++;
}
}
dataM = " 5& 5& 500& 400& 400& 320&100&100&0&0&0&0x000000";
startLink = "5";
ColorFill = " 2& 0& 50& 50& -13& 100& 128&0xffffff& 172&0xffffff& 0&0x000000& 0&0x000000& 0&0x000000& 0&0x000000& 0&0x000000& 0&0x000000";
CapsizeString = "0&1";
nameURL = "www.pyroxgames.com";
stop();
Stage.scaleMode = "showAll";
ArrS = dataM.split("&");
ArrsFill = ColorFill.split("&");
ArrsCap = CapsizeString.split("&");
capsize = Number(ArrsCap[0]);
backtile = Number(ArrsCap[1]);
startLinkSek = Number(startLink);
nx = Number(ArrS[0]);
nn = Number(ArrS[0]);
ny = Number(ArrS[1]);
winX = Number(ArrS[2]);
winY = Number(ArrS[3]);
lx = Number(ArrS[4]);
ly = Number(ArrS[5]);
if (lx >= winX) {
lx = winX - 1;
}
if (ly >= winY) {
ly = winY - 1;
}
uzel = Number(ArrS[6]) / 100;
if (uzel > 1) {
uzel = 1;
}
if (uzel < 0) {
uzel = 0;
}
cut = Number(ArrS[7]) / 100;
if (cut > 1) {
cut = 1;
}
rotation = Number(ArrS[8]);
registr = Number(ArrS[9]);
typURL = Number(ArrS[10]);
fonColor = Number(ArrS[11]);
sURL = new String(nameURL);
myURL = "http://www.yavsoft.com";
k = 0;
l = sURL.length;
while (sURL.substr(k, 1) == " ") {
k++;
l--;
}
kk = l - 1;
if (l > 0) {
while (sURL.substr(kk, 1) == " ") {
kk--;
l--;
}
sURL = "http://" + sURL.substr(k, l);
} else {
sURL = "http:://";
}
countCol = Number(ArrsFill[0]);
iFill = Number(ArrsFill[1]);
shiftX = (Number(ArrsFill[2]) * winX) / 100;
shiftY = (Number(ArrsFill[3]) * winY) / 100;
ffi = (Number(ArrsFill[4]) * 3.141593) / 180;
mashR = Number(ArrsFill[5]) / 100;
typFill = "linear";
switch (iFill) {
case 0 :
typFill = "linear";
break;
case 1 :
typFill = "radial";
}
col = new Array();
al = new Array();
rat = new Array();
var cc;
var pp;
i = 0;
while (i < countCol) {
pp = Number(ArrsFill[(2 * i) + 6]);
cc = Number(ArrsFill[(2 * i) + 7]);
col.push(cc);
al.push(100);
if (pp > 255) {
pp = 255;
}
rat.push(pp);
i++;
}
cs = Math.cos(ffi) * mashR;
sn = Math.sin(ffi) * mashR;
mat = {a:winX * cs, b:winY * sn, c:0, d:(-winX) * sn, e:winY * cs, f:0, g:shiftX, h:shiftY, i:1};
beginGradientFill(typFill, col, al, rat, mat);
lineStyle(0, 0, 100);
moveTo(0, 0);
lineTo(winX - 1, 0);
lineTo(winX - 1, winY - 1);
lineTo(0, winY - 1);
lineTo(0, 0);
endFill();
_root.stop();
_root.r = 0;
_root.turned = 0;
_root.direct = 1;
_root.sendStatus = 1;
deltaFi = 10;
var i;
var j;
var hx;
var hy;
hx = lx / nx;
hy = ly / ny;
pLevel = 10;
count = nx * ny;
deltaLevel = 2;
pLevel = pLevel + (count * deltaLevel);
levelUk = pLevel + 9;
levelSalu = pLevel + 10;
createEmptyMovieClip("ukaz", levelUk);
ukaz.fi = 0;
ukaz.ss = 0;
with (ukaz) {
lineStyle(0, 16776960, 100);
moveTo(-10, -10);
lineTo(10, -10);
lineTo(10, 10);
lineTo(-10, 10);
lineTo(-10, -10);
}
ukaz._visible = 0;
ukaz.mStop = function () {
if (_root.r || (_root.turned)) {
return(undefined);
}
this.onEnterFrame = null;
this._visible = 0;
this.ss = 0;
};
ukaz.mStart = function () {
with (this) {
if (ss) {
return(undefined);
}
ss = 1;
fi = 0;
_rotation = 0;
_xscale = 0;
_visible = 1;
}
this.onEnterFrame = function () {
with (this) {
fi = fi + (_root.direct * 10);
if (fi > 360) {
fi = fi - 360;
}
if (fi < 0) {
fi = fi + 360;
}
if (_root.turned) {
_xscale = 100 * Math.cos((fi / 180) * 3.141593);
_rotation = 0;
return(undefined);
}
if (_root.r) {
_xscale = 100;
_rotation = fi;
}
}
};
};
rc = new LocalConnection();
rc.Message = function (s, p) {
if (s == "rB") {
r = p;
if (r) {
ukaz.mStart();
} else {
ukaz.mStop();
}
} else if (s == "oB") {
if (p == 1) {
_root._visible = true;
} else {
_root._visible = false;
}
} else if (s == "cB") {
_root.direct = -((2 * p) - 1);
}
if (s == "rOk") {
_root.SendStatus = 0;
} else if (s == "tB") {
_root.turned = p;
if (_root.turned) {
ukaz.mStart();
} else {
ukaz.mStop();
}
}
};
rc.connect("PultConnection");
points = new Array();
j = 0;
while (j <= ny) {
i = 0;
while (i <= nx) {
var p = new Object();
p.x = i * hx;
p.y = j * hy;
p.nx = (p.ny = 0);
p.rndx = Math.random();
p.rndy = Math.random();
if ((i > 0) && (i < nx)) {
p.x = p.x + (((uzel * Math.random()) * hx) / 9);
if (Math.random() > 0.5) {
p.ny = 1;
} else {
p.ny = -1;
}
}
if ((j > 0) && (j < ny)) {
p.y = p.y + (((uzel * Math.random()) * hy) / 9);
if (Math.random() > 0.5) {
p.nx = 1;
} else {
p.nx = -1;
}
}
points.push(p);
i++;
}
j++;
}
pies = new Array(count);
MakePies("p0", "p1", pLevel);
randomMRT();
Key.addListener(_root);
_root.onKeyDown = function () {
var _local2 = Key.getCode();
switch (_local2) {
case 82 :
if (!rotation) {
break;
}
_root.r = 1;
ukaz.mStart();
rc.send("PultReciv", "Message", "Key", _root.r);
break;
case 84 :
_root.turned = 1;
ukaz.mStart();
rc.send("PultReciv", "Message", "Turn", _root.turned);
}
};
_root.onKeyUp = function () {
var _local2 = Key.getCode();
switch (_local2) {
case 82 :
if (!rotation) {
break;
}
_root.r = 0;
ukaz.mStop();
pies[0].mpress = 0;
rc.send("PultReciv", "Message", "Key", r);
break;
case 84 :
_root.turned = 0;
ukaz.mStop();
rc.send("PultReciv", "Message", "Turn", _root.turned);
break;
case 85 :
}
};
_root.onEnterFrame = function () {
if (sendStatus) {
rc.send("PultReciv", "Message", "Init", _root.rotation);
}
if ((_root.r && (pies[0].mpress)) && (_root.rotation)) {
pies[0].Rotation();
}
};
_root.onMouseMove = function () {
ukaz._x = _root._xmouse;
ukaz._y = _root._ymouse;
};
myButton.onRelease = function () {
getURL ("http://www.pyroxgames.com", "_blank");
};
dailyj.onRelease = function () {
getURL ("http://www.pyroxgames.com", "_blank");
};
pyroweb.onRelease = function () {
getURL ("http://www.pyroweb.co.uk", "_blank");
};
togbg.onRelease = function () {
bg._visible = !bg._visible;
};
Frame 3
stop();
rc.send("PultReciv", "Message", "Close", 0);
rc.close();
if (registr == 0) {
getURL (myURL, "_blank");
}
if (typURL != 3) {
urlL = createEmptyMovieClip("link", 0);
urlL.startTime = (getTimer() / 1000) + startLinkSek;
urlL.onEnterFrame = function () {
var _local2 = getTimer() / 1000;
if (_local2 > this.startTime) {
if (typURL == 0) {
getURL (sURL, "_self");
} else if (typURL == 1) {
getURL (sURL, "_blank");
}
this.onEnterFrame = null;
}
};
}
picture = pies[0];
picture._x = (winX - lx) / 2;
picture._y = (winY - ly) / 2;
picture._rotation = 0;
_root.onEnterFrame = null;
_root.onMouseMove = null;
_root.ukaz.removeMovieClip();
loadMovieNum ("finita.swf ", 1);
Symbol 908 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 909 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 910 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 911 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 912 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 913 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();
}