Frame 1
stop();
Stage.showMenu = false;
Stage.scaleMode = "exactFit";
_global._connector = new com.ramblergames.SimpleCommands("SkyBattleGServer", "SkyBattleGClient");
_global.echo = true;
_global.snd = undefined;
_root.onEnterFrame = function () {
gbt = _root.getBytesTotal();
gbl = Math.round((_root.getBytesLoaded() / gbt) * 100);
_root.prel.gotoAndStop(gbl / 10);
if (gbl >= 100) {
delete _root.onEnterFrame;
gotoAndStop (6);
}
};
Frame 2
stop();
_global._connector.onTopReceived = function (top) {
var _loc4 = top.length;
_global.topres = new Array();
_global.textres = "";
_global.textres2 = "";
_global.textres3 = "";
var _loc2 = 0;
while (_loc2 < _loc4) {
_global.topres[_loc2] = Array();
_global.topres[_loc2][0] = top[_loc2].nickName;
_global.topres[_loc2][1] = top[_loc2].score;
_global.textres = (_global.textres + (_loc2 + 1)) + newline;
_global.textres2 = (_global.textres2 + top[_loc2].nickName) + newline;
_global.textres3 = (_global.textres3 + top[_loc2].score) + newline;
_loc2++;
}
};
_global._connector.onConnect = function (auth) {
_global._connector.getTop();
};
Instance of Symbol 92 MovieClip in Frame 2
on (press) {
if (_global.echo == true) {
_global.echo = false;
this.gotoAndStop(2);
} else {
_global.echo = true;
this.gotoAndStop(1);
}
}
on (rollOver) {
if (_global.echo == true) {
var bs = new Sound();
bs.attachSound("menu");
bs.start();
}
}
Frame 3
stop();
Frame 4
stop();
_root.rec.text = _global.textres;
_root.rec2.text = _global.textres2;
_root.rec3.text = _global.textres3;
Frame 5
function setRand() {
_root.rsp = (Math.random() * 200) - 100;
}
function drawBlip(clip) {
clip.attachMovie("enemy", "enemy", 1);
clip._x = Math.random() * Stage.width;
clip._y = (Math.random() * Stage.height) - 40;
clip.delay = 0;
clip.out = 0;
}
function drawBlipNew(clip) {
clip.attachMovie("enemy", "enemy", 1);
clip._x = 200;
clip._y = 300;
clip.delay = 0;
clip.out = 0;
}
function realMove() {
if (_global.pausedAll != true) {
_root.tracker.enemy.pl.rotor.play();
if ((this.out < 50) && (this.out >= 0)) {
_root.gun = false;
_root.fighting = true;
_root.pfighting = true;
} else if ((this.out >= 50) && (this.out < 51)) {
_root.fighting = false;
_root.gun = true;
_root.pfighting = false;
}
this.out++;
if (_root.smokeenemy < 1000) {
_root.smokeenemy++;
} else {
_root.smokeenemy = 900;
}
var _loc9 = _root.attachMovie("smokewhite", "smuserwhiteenemy" + _root.smokeenemy, _root.smokeenemy);
var _loc8 = {x:this.enemy.pl.eff._x, y:this.enemy.pl.eff._y};
this.enemy.pl.eff.localToGlobal(_loc8);
_loc9._x = (_loc8.x + (Math.random() * 6)) - 3;
_loc9._y = (_loc8.y + (Math.random() * 6)) - 3;
if ((_root.fighting == true) && (this.delay < 50)) {
this.delay++;
} else {
this.delay = 0;
_root.fighting = false;
}
if (this._y > 250) {
if (this._rotation <= 90) {
this.xDist = 500 - this._x;
this.yDist = -this._y;
} else if (this._y > 90) {
this.xDist = -this._x;
this.yDist = -this._y;
}
} else if (this._y < 20) {
this.xDist = -this._x;
this.yDist = 300 - this._y;
} else if (mustFight == false) {
this.xDist = (this._x - _root.rsp) - this._x;
this.yDist = this._y - this._y;
} else {
this.xDist = _root.player._x - this._x;
this.yDist = _root.player._y - this._y;
}
var _loc10 = Math.atan2(this.yDist, this.xDist);
var _loc4 = ((_loc10 * RAD_DEG) - this._rotation);
if (Math.abs(_loc4) > 3) {
if (((_loc4 > 0) && (_loc4 < 180)) || (_loc4 < -180)) {
this._rotation = this._rotation + 3;
} else {
this._rotation = this._rotation - 3;
}
}
this._x = this._x + (Math.cos(this._rotation / RAD_DEG) * 4);
_root.plypp = Math.cos(this._rotation / RAD_DEG) * 4;
this._y = this._y + (Math.sin(this._rotation / RAD_DEG) * 4);
if ((((_loc4 < 5) && (_loc4 > -5)) && (mustFight == true)) && (_root.fighting != true)) {
if (_global.echo == true) {
var _loc7 = new Sound();
_loc7.attachSound("shot");
_loc7.start();
}
_root.fighting = true;
var _loc5 = _root.attachMovie("bullet", "bullet" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
_loc5._x = this._x;
_loc5._y = this._y;
_loc5._rotation = this._rotation;
_loc5.xplus = Math.cos(this._rotation / RAD_DEG) * 7;
_loc5.yplus = Math.sin(this._rotation / RAD_DEG) * 7;
_loc5.onEnterFrame = function () {
if (_global.pausedAll != true) {
if (this._y > 370) {
this.removeMovieClip();
}
var _loc6 = _root.attachMovie("smokeblackbullet", "smuserbull" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
_loc6._x = (this._x + (Math.random() * 6)) - 3;
_loc6._y = (this._y + (Math.random() * 6)) - 3;
this._x = this._x + this.xplus;
this._y = this._y + this.yplus;
if (this.hitTest(_root.player)) {
if (_global.echo == true) {
var _loc5 = new Sound();
_loc5.attachSound("popal");
_loc5.start();
_loc5.onSoundComplete = function () {
_global.snd.stop();
_global.snd = undefined;
_global.shuts.start();
};
}
mustFight = false;
delete this.onEnterFrame;
_root.player.gotoAndStop(41);
_root.player.onEnterFrame = function () {
if (_global.pausedAll != true) {
_root.player.airplane.rotor.stop();
this._y = this._y + 3;
this._x = this._x + (_root.ypp / 2);
_root.player_shadow._x = this._x - 40;
boom._y = this._y;
this._rotation = this._rotation + 3;
if (_root.smokeplayer < 2000) {
_root.smokeplayer++;
} else {
_root.smokeplayer = 1900;
}
var _loc5 = _root.attachMovie("smoke", "smuser" + _root.smokeplayer, _root.smokeplayer);
_loc5._x = (this._x + (Math.random() * 6)) - 3;
_loc5._y = (this._y + (Math.random() * 6)) - 3;
var _loc4 = this._rotation;
if (_loc4 < 0) {
_loc4 = _loc4 * -1;
}
_loc4 = _loc4 / 10;
_root.rot.text = this._rotation;
_root.player_shadow.gotoAndStop(_loc4);
if (this._y >= 370) {
var boom = _root.attachMovie("boom", "boomPl", _root.getNextHighestDepth());
boom._x = _root.player._x;
boom._y = _root.player._y;
_root.player.undel = 0;
_root.player.onEnterFrame = function () {
this.undel++;
if (this.undel >= 40) {
if (_global.lives <= 0) {
_global.lives = 3;
delete this.onEnterFrame;
delete _root.tracker.onEnterFrame;
_root.tracker.removeMovieClip();
_global.snd.stop;
stopAllSounds();
_global.snd = undefined;
_global._connector.setResult(_global.score);
for (n in _root) {
_root[n].removeMovieClip();
}
gotoAndStop (2);
} else {
_global.lives--;
_root.player.speed = 0;
_root.player.delay = 0;
_root.player.gotoAndStop(1);
_root.player._x = 35;
_root.player._y = 370;
_root.player_shadow.gotoAndStop(1);
_root.player._rotation = 0;
_root.player.airplane.rotor.stop();
_root.player.onEnterFrame = pltimer;
if (_global.echo == true) {
_global.snd = new Sound();
_global.snd.attachSound("propeller");
_global.snd.setVolume(30);
_global.snd.start();
_global.snd.onSoundComplete = function () {
this.start();
};
}
}
if (_global.lives == 2) {
_root.live3._visible = false;
_root.live2._visible = true;
_root.live1._visible = true;
} else if (_global.lives == 1) {
_root.live3._visible = false;
_root.live2._visible = false;
_root.live1._visible = true;
} else if (_global.lives == 0) {
_root.live3._visible = false;
_root.live2._visible = false;
_root.live1._visible = false;
}
}
};
}
}
};
this.removeMovieClip();
}
}
};
}
if (this._x > (Stage.width + 20)) {
this._x = -10;
} else if (this._x <= -20) {
this._x = Stage.width + 10;
}
_root.enemy_shadow._x = this._x - 50;
var _loc6 = this._rotation;
if (_loc6 < 0) {
_loc6 = _loc6 * -1;
}
_loc6 = _loc6 / 10;
_root.rot.text = this._rotation;
_root.enemy_shadow.gotoAndStop(_loc6);
}
}
function die() {
_root.fighting = false;
if (_global.echo == true) {
var _loc5 = new Sound();
_loc5.attachSound("popal");
_loc5.start();
_loc5.onSoundComplete = function () {
_global.snd.stop();
_global.snd = undefined;
_global.shuts.start();
};
}
mustFight = false;
delete this.onEnterFrame;
_root.player.gotoAndStop(41);
_root.player.onEnterFrame = function () {
mustFight = false;
_root.player.airplane.rotor.stop();
if (_global.pausedAll != true) {
this._y = this._y + 3;
boom._y = this._y;
this._rotation = this._rotation + 3;
var _loc5 = _root.attachMovie("smoke", "smuser" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
_loc5._x = (this._x + (Math.random() * 6)) - 3;
_loc5._y = (this._y + (Math.random() * 6)) - 3;
var _loc4 = this._rotation;
if (_loc4 < 0) {
_loc4 = _loc4 * -1;
}
_loc4 = _loc4 / 10;
_root.rot.text = this._rotation;
_root.player_shadow.gotoAndStop(_loc4);
if (this._y >= 370) {
var boom = _root.attachMovie("boom", "boomPl", _root.getNextHighestDepth());
boom._x = _root.player._x;
boom._y = _root.player._y;
_root.player.undel = 0;
_root.player.onEnterFrame = function () {
this.undel++;
mustFight = false;
if (this.undel >= 40) {
if (_global.lives <= 0) {
_global.lives = 3;
delete this.onEnterFrame;
delete _root.tracker.onEnterFrame;
_root.tracker.removeMovieClip();
_global.snd.stop;
stopAllSounds();
_global.snd = undefined;
_global._connector.setResult(_global.score);
for (n in _root) {
_root[n].removeMovieClip();
}
gotoAndStop (2);
} else {
_global.lives--;
_root.player.speed = 0;
_root.player.delay = 0;
_root.player.gotoAndStop(1);
_root.player._x = 35;
_root.player._y = 370;
_root.player_shadow.gotoAndStop(1);
_root.player._rotation = 0;
_root.player.airplane.rotor.stop();
_root.player.onEnterFrame = pltimer;
if (_global.echo == true) {
_global.snd = new Sound();
_global.snd.attachSound("propeller");
_global.snd.setVolume(30);
_global.snd.start();
_global.snd.onSoundComplete = function () {
this.start();
};
}
}
if (_global.lives == 2) {
_root.live3._visible = false;
_root.live2._visible = true;
_root.live1._visible = true;
} else if (_global.lives == 1) {
_root.live3._visible = false;
_root.live2._visible = false;
_root.live1._visible = true;
} else if (_global.lives == 0) {
_root.live3._visible = false;
_root.live2._visible = false;
_root.live1._visible = false;
}
}
};
}
}
};
this.removeMovieClip();
}
stop();
var mustFight = false;
_global.pausedAll = false;
_root.pfighting = false;
_global.score = 0;
_global.killed = 0;
_root.smokeenemy = 900;
_root.smokeplayer = 1900;
_root.smokeplayerbul = 2900;
var rsp = ((Math.random() * 200) - 100);
var trand = setInterval(setRand, 2000);
var RAD_DEG = 57.29578;
var i = 0;
while (i < 1) {
var tracker = this.createEmptyMovieClip("tracker", _root.getNextHighestDepth());
drawBlip(tracker);
tracker.onEnterFrame = realMove;
i++;
}
pltimer = function () {
if (this._y > 370) {
die();
}
if (((_root.pfighting != true) && (mustFight == true)) && (_root.gun != false)) {
_root.indi.gotoAndStop(1);
} else {
_root.indi.gotoAndStop(2);
}
if (_root.player._y < -100) {
die();
}
if (_global.pausedAll != true) {
if (this.speed > 0) {
_root.player.airplane.rotor.play();
if (_root.smokeplayer < 2000) {
_root.smokeplayer++;
} else {
_root.smokeplayer = 1900;
}
var sm = _root.attachMovie("smokewhite", "smuserwhite" + _root.smokeplayer, _root.smokeplayer);
var point = {x:this.airplane.eff._x, y:this.airplane.eff._y};
this.airplane.eff.localToGlobal(point);
sm._x = (point.x + (Math.random() * 6)) - 3;
sm._y = (point.y + (Math.random() * 6)) - 3;
}
_root.scores.text = "Scores: " + _global.score;
_root.wins.text = "Wins: " + _global.killed;
if ((_root.pfighting == true) && (this.delay < 40)) {
this.delay++;
} else {
this.delay = 0;
_root.pfighting = false;
}
if ((mustFight == false) && (this._y < 335)) {
mustFight = true;
this.play();
}
if (mustFight == true) {
if (this._y > 370) {
die();
}
}
if ((Key.isDown(38) && (mustFight == false)) && (this.speed < 4)) {
this.speed = this.speed + 0.05;
var a = _global.snd.getVolume();
if (a < 50) {
a++;
_global.snd.setVolume(a);
}
}
if ((Key.isDown(39) && (this._y < 360)) && (this.speed >= 4)) {
this._rotation = this._rotation + 3;
}
if (Key.isDown(37) && (this.speed >= 4)) {
this._rotation = this._rotation - 3;
}
if (this._x > (Stage.width + 20)) {
this._x = -10;
} else if (this._x <= -20) {
this._x = Stage.width + 10;
}
this._x = this._x + (Math.cos(this._rotation / RAD_DEG) * this.speed);
_root.ypp = Math.cos(this._rotation / RAD_DEG) * this.speed;
this._y = this._y + (Math.sin(this._rotation / RAD_DEG) * this.speed);
_root.player_shadow._x = this._x - 50;
var rt = this._rotation;
if (rt < 0) {
rt = rt * -1;
}
rt = rt / 10;
_root.player_shadow.gotoAndStop(rt);
if (((Key.isDown(32) && (_root.pfighting != true)) && (mustFight == true)) && (_root.gun != false)) {
_root.pfighting = true;
if (_global.echo == true) {
var bs = new Sound();
bs.attachSound("shot");
bs.start();
}
var mybull = _root.attachMovie("bullet", "bulletplayer" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
mybull._x = this._x;
mybull._y = this._y;
mybull._rotation = this._rotation;
mybull.xplus = Math.cos(this._rotation / RAD_DEG) * 7;
mybull.yplus = Math.sin(this._rotation / RAD_DEG) * 7;
mybull.onEnterFrame = function () {
if (_global.pausedAll != true) {
if (this._y > 370) {
this.removeMovieClip();
}
this._x = this._x + this.xplus;
this._y = this._y + this.yplus;
if (_root.smokeplayerbul < 2000) {
_root.smokeplayerbul++;
} else {
_root.smokeplayerbul = 1900;
}
var sm = _root.attachMovie("smokeblackbullet", "smuser" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
sm._x = (this._x + (Math.random() * 6)) - 3;
sm._y = (this._y + (Math.random() * 6)) - 3;
if (this.hitTest(_root.tracker)) {
_root.gun = false;
_global.score = _global.score + 1000;
_global.killed++;
mc = _root.star1;
mc.gotoAndStop(2);
mc.splash.gotoAndPlay(1);
_root.tracker.enemy.pl.rotor.stop();
if (_global.echo == true) {
var bs = new Sound();
bs.attachSound("popal");
bs.start();
}
delete this.onEnterFrame;
_root.tracker.onEnterFrame = function () {
if (_global.pausedAll != true) {
if (_root.smokeenemy < 1000) {
_root.smokeenemy++;
} else {
_root.smokeenemy = 900;
}
var _loc7 = _root.attachMovie("smoke", "smuser" + _root.smokeenemy, _root.smokeenemy);
_loc7._x = (this._x + (Math.random() * 6)) - 3;
_loc7._y = (this._y + (Math.random() * 6)) - 3;
this._y = this._y + 2;
this._x = this._x + (_root.plypp / 2);
_root.enemy_shadow._x = this._x - 40;
this._rotation = this._rotation + 3;
var _loc4 = this._rotation;
if (_loc4 < 0) {
_loc4 = _loc4 * -1;
}
_loc4 = _loc4 / 10;
_root.rot.text = this._rotation;
_root.enemy_shadow.gotoAndStop(_loc4);
if (this._y >= 370) {
var _loc5 = _root.attachMovie("boom", "boomPl", _root.getNextHighestDepth());
_loc5._x = _root.tracker._x;
_loc5._y = _root.tracker._y;
_loc5.play();
var _loc8 = new Sound();
_loc8.attachSound("gib");
_loc8.start();
this.undel = 0;
this.gotoAndStop(1);
this.onEnterFrame = function () {
this.undel++;
if (this.undel >= 40) {
this.del = (Math.random() * 100) + 100;
this._rotation = 0;
this._x = 20;
this._y = 370;
this.gotoAndStop(1);
this.moving = 0;
this.onEnterFrame = function () {
if (_global.pausedAll != true) {
var _loc6 = _root.attachMovie("smokewhite", "smuserwhiteenemy" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
var _loc5 = {x:this.enemy.pl.eff._x, y:this.enemy.pl.eff._y};
this.enemy.pl.eff.localToGlobal(_loc5);
_loc6._x = (_loc5.x + (Math.random() * 6)) - 3;
_loc6._y = (_loc5.y + (Math.random() * 6)) - 3;
}
if (this._x > (Stage.width + 20)) {
this._x = -10;
} else if (this._x <= -20) {
this._x = Stage.width + 10;
}
_root.enemy_shadow._x = this._x - 50;
var _loc4 = this._rotation;
if (_loc4 < 0) {
_loc4 = _loc4 * -1;
}
_loc4 = _loc4 / 10;
_root.rot.text = this._rotation;
_root.enemy_shadow.gotoAndStop(1);
if ((this.moving < 4) && (_global.pausedAll != true)) {
this.moving = this.moving + 0.1;
_root.tracker.enemy.pl.rotor.play();
}
if (_global.pausedAll != true) {
this.del--;
this._x = this._x + this.moving;
}
if (this.del <= 0) {
this.play();
this.onEnterFrame = realMove;
this.out = 0;
_root.gun = true;
}
};
}
};
}
}
};
this.removeMovieClip();
}
}
};
}
}
};
var keyListener = new Object();
keyListener.onKeyDown = function () {
if ((Key.getCode() == 80) && (_global.pausedAll == true)) {
_global.pausedAll = false;
_root.pus.gotoAndStop(1);
} else if ((Key.getCode() == 80) && (_global.pausedAll != true)) {
_global.pausedAll = true;
_root.player.airplane.rotor.stop();
_root.tracker.enemy.pl.rotor.stop();
_root.pus.gotoAndStop(2);
}
if ((Key.getCode() == 83) && (_global.echo == true)) {
_global.echo = false;
stopAllSounds();
_root.snd.gotoAndStop(1);
} else if ((Key.getCode() == 83) && ((_global.echo == false) || (_global.echo == undefined))) {
_global.echo = true;
_global.snd = new Sound();
_global.snd.attachSound("propeller");
_global.snd.setVolume(30);
_global.snd.start();
_root.snd.gotoAndStop(2);
_global.snd.onSoundComplete = function () {
this.start();
};
this.gotoAndStop(2);
}
};
keyListener.onKeyUp = function () {
};
Key.addListener(keyListener);
if (_global.echo == true) {
_global.snd = new Sound();
_global.snd.attachSound("propeller");
_global.snd.setVolume(30);
_global.snd.start();
_global.snd.onSoundComplete = function () {
this.start();
};
}
_global.shuts = new Sound();
_global.shuts.attachSound("shut_off");
_root.player.speed = 0;
_root.player.delay = 0;
_root.player.stop();
_root.player.airplane.rotor.stop();
_root.player.onEnterFrame = pltimer;
Instance of Symbol 161 MovieClip "pus" in Frame 5
onClipEvent (load) {
this.stop();
}
on (press) {
if (_global.pausedAll == true) {
this.gotoAndStop(1);
_global.pausedAll = false;
} else if (_global.pausedAll != true) {
this.gotoAndStop(2);
_global.pausedAll = true;
_root.player.airplane.rotor.stop();
_root.tracker.enemy.pl.rotor.stop();
}
}
Instance of Symbol 164 MovieClip "snd" in Frame 5
onClipEvent (load) {
if (_global.echo == true) {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
}
on (press) {
if (_global.echo == true) {
_global.echo = false;
stopAllSounds();
this.gotoAndStop(1);
} else {
_global.echo = true;
_global.snd = new Sound();
_global.snd.attachSound("propeller");
_global.snd.setVolume(30);
_global.snd.start();
_global.snd.onSoundComplete = function () {
this.start();
};
this.gotoAndStop(2);
}
}
on (rollOver) {
if (_global.echo == true) {
var bs = new Sound();
bs.attachSound("menu");
bs.start();
}
}
Frame 6
mochi.as2.MochiServices.connect("159e1641cc78462c");
mochi.as2.MochiAd.showPreGameAd({id:"159e1641cc78462c", res:"580x435", background:16777161, color:2857267, outline:6906200, no_bg:true});
stop();
Frame 7
gotoAndStop (2);
Frame 8
var o = {n:[0, 2, 15, 3, 9, 12, 1, 12, 4, 6, 11, 2, 0, 9, 12, 10], f:function (i, s) {
if (s.length == 16) {
return(s);
}
return(this.f(i + 1, s + this.n[i].toString(16)));
}};
var boardID = o.f(0, "");
mochi.as2.MochiScores.showLeaderboard({boardID:boardID, score:_global.score});
Frame 9
gotoAndStop (2);
Symbol 8 MovieClip [smokewhite] Frame 40
this.removeMovieClip();
Symbol 11 MovieClip [smoke] Frame 40
this.removeMovieClip();
Symbol 12 MovieClip [smokeblackbullet] Frame 40
this.removeMovieClip();
Symbol 35 MovieClip [enemy] Frame 40
stop();
Symbol 56 MovieClip Frame 20
stop();
Symbol 60 MovieClip [bullet] Frame 1
stop();
Instance of Symbol 32 MovieClip "rotor" in Symbol 62 MovieClip Frame 1
onClipEvent (load) {
this.stop();
}
Symbol 73 MovieClip Frame 1
stop();
Symbol 169 MovieClip [__Packages.mx.events.EventDispatcher] Frame 0
class mx.events.EventDispatcher
{
function EventDispatcher () {
}
static function _removeEventListener(queue, event, handler) {
if (queue != undefined) {
var l = queue.length;
var i;
i = 0;
while (i < l) {
var o = queue[i];
if (o == handler) {
queue.splice(i, 1);
return(undefined);
}
i++;
}
}
}
static function initialize(object) {
if (_fEventDispatcher == undefined) {
_fEventDispatcher = new mx.events.EventDispatcher();
}
object.addEventListener = _fEventDispatcher.addEventListener;
object.removeEventListener = _fEventDispatcher.removeEventListener;
object.dispatchEvent = _fEventDispatcher.dispatchEvent;
object.dispatchQueue = _fEventDispatcher.dispatchQueue;
}
function dispatchQueue(queueObj, eventObj) {
var queueName = ("__q_" + eventObj.type);
var queue = queueObj[queueName];
if (queue != undefined) {
var i;
for (i in queue) {
var o = queue[i];
var oType = typeof(o);
if ((oType == "object") || (oType == "movieclip")) {
if (o.handleEvent != undefined) {
o.handleEvent(eventObj);
}
if (o[eventObj.type] != undefined) {
if (exceptions[eventObj.type] == undefined) {
o[eventObj.type](eventObj);
}
}
} else {
o.apply(queueObj, [eventObj]);
}
}
}
}
function dispatchEvent(eventObj) {
if (eventObj.target == undefined) {
eventObj.target = this;
}
this[eventObj.type + "Handler"](eventObj);
dispatchQueue(this, eventObj);
}
function addEventListener(event, handler) {
var queueName = ("__q_" + event);
if (this[queueName] == undefined) {
this[queueName] = new Array();
}
_global.ASSetPropFlags(this, queueName, 1);
_removeEventListener(this[queueName], event, handler);
this[queueName].push(handler);
}
function removeEventListener(event, handler) {
var queueName = ("__q_" + event);
_removeEventListener(this[queueName], event, handler);
}
static var _fEventDispatcher = undefined;
static var exceptions = {move:1, draw:1, load:1};
}
Symbol 170 MovieClip [__Packages.com.ramblergames.RGClient] Frame 0
class com.ramblergames.RGClient
{
var _server, _client, _packetAmount, _connected, socket, commands, _packets, _packetAccept, _xmlToAccept, _isAuth, __get__bossKey, _xmlToReturn, onError, _port, _address, onDisconnect, onConnect, _timer, onData, onAccept, _xmlToSend;
function RGClient (se, uid) {
_server = se;
_client = uid;
_packetAmount = 1;
_connected = false;
socket = new XMLSocket();
commands = new Object();
_packets = new Array();
_packetAccept = new Array();
_xmlToAccept = new XML();
_xmlToAccept.onLoad = com.utils.Proxy.create(this, _accept);
fscommand ("trapallkeys", "true");
bossKey = (true);
}
function get isAuth() {
return(_isAuth);
}
function get sid() {
return(_sid);
}
function set bossKey(bossKey) {
if (bossKey) {
if (!_bosskey) {
Key.addListener(this);
}
} else if (_bosskey) {
Key.removeListener(this);
}
_bosskey = bossKey;
//return(__get__bossKey());
}
function onKeyDown() {
if (Key.isDown(27) || (Key.isDown(66) && (Key.isDown(17)))) {
getURL ("javascript:boss_key();");
}
}
function _getChunk(dat) {
var _loc4 = new String();
var _loc2 = 0;
var _loc1 = 0;
while (_loc1 < dat.length) {
if ((dat[_loc1].toString().slice(0, 1) == "<") && (_loc2 == 0)) {
_loc2 = _loc1;
_loc4 = _loc4 + dat[_loc1].toString();
}
if ((_loc2 > 0) && (_loc2 == (_loc1 - 2))) {
_loc2 = _loc1;
_loc4 = _loc4 + dat[_loc1].toString();
}
_loc1++;
}
return(_loc4);
}
function _nodeByName(xmln, nodeNameStr) {
if (xmln == null) {
return(null);
}
if (xmln.nodeName == nodeNameStr) {
return(xmln);
}
return(_nodeByName(xmln.nextSibling, nodeNameStr) || (_nodeByName(xmln.firstChild, nodeNameStr)));
}
function _firstReply(success) {
var _loc2 = _nodeByName(_xmlToReturn, "auth");
if (!success) {
onError(4, "error load first reply");
}
if (_loc2 != null) {
_sid = _loc2.attributes.setid;
_isAuth = _loc2.attributes.result == "1";
_socketConnect();
} else {
onError(5, "missing node <auth> in first reply");
}
}
function onSocketConnect(success) {
var _loc2 = "<packet>\r\n";
_loc2 = _loc2 + "<body name=\"body\">\r\n";
_loc2 = _loc2 + "<connect/>\r\n";
_loc2 = _loc2 + "</body>\r\n";
_loc2 = _loc2 + (("<dest id=\"" + _server) + "\" />\r\n");
_loc2 = _loc2 + (("<source id=\"" + _sid) + "\" />\r\n");
_loc2 = _loc2 + "</packet>";
var _loc3 = ((((((((("POST /" + _server) + "/ HTTP/1.1\r\nHost: ") + _address) + ":") + _port) + "\r\nContent-length: ") + _loc2.length) + "\r\n\r\n") + _loc2);
if (success) {
socket.onData = com.utils.Proxy.create(this, _onData);
socket.send(_loc3);
} else {
onError(2, "socket cannot open");
}
}
function _socketConnect() {
socket.onConnect = com.utils.Proxy.create(this, onSocketConnect);
socket.onClose = com.utils.Proxy.create(this, onDisconnect);
if (!socket.connect(_address, _port)) {
onError(2, "socket cannot open");
}
}
function _sendPing() {
var _loc2 = "<packet>\r\n";
_loc2 = _loc2 + "<body name=\"body\">\r\n";
_loc2 = _loc2 + "<ping />\r\n";
_loc2 = _loc2 + "</body>\r\n";
_loc2 = _loc2 + (("<source id=\"" + _sid) + "\" />\r\n");
_loc2 = _loc2 + (("<dest id=\"" + _server) + "\" />\r\n");
_loc2 = _loc2 + "</packet>";
var _loc3 = new XML();
_loc3.ignoreWhite = true;
_loc3.parseXML(_loc2);
var _loc4 = new XML();
_loc4.ignoreWhite = true;
_loc3.sendAndLoad(((((("http://" + _address) + ":") + _port) + "/") + _server) + "/");
}
function _onData(serverReply) {
trace("REPLY ===================================");
trace(serverReply);
trace("=========================================");
var _loc9 = _getChunk(serverReply.split("\r\n"));
var _loc3 = new XML();
_loc3.ignoreWhite = true;
_loc3.parseXML(_loc9);
var _loc7 = _nodeByName(_loc3, "packet");
if (typeof(_loc7.attributes.id) == "undefined") {
_loc7 = _nodeByName(_loc3, "connect");
if (_loc7.attributes.result == "Ok") {
onConnect();
_connected = true;
var _loc5 = 20;
if (typeof(_root._rgclient_keepalive) != "undefined") {
_loc5 = Number(_root._rgclient_keepalive);
if (isNaN(_loc5)) {
_loc5 = 20;
}
}
_loc5 = _loc5 * 1000;
_timer = setInterval(this, "_sendPing", _loc5);
_sendPing();
} else {
onError(1, "connect result not correct");
}
} else {
var _loc4 = (new com.ramblergames.Packet(_server, _sid));
_loc4.__set__inXML(_loc3);
var _loc6 = Number(_loc4.__get__replyId());
if (_loc4.__get__command() == "error") {
var _loc8 = _packets[_loc6];
onError(6, _loc8.__get__command(), _loc8.__get__arguments());
} else {
onData(_loc6, _loc4.__get__command(), _loc4.__get__arguments());
}
delete _packets[_loc6];
}
}
function _accept(success) {
if (success) {
var _loc3;
var _loc2 = _nodeByName(_xmlToAccept, "accept");
if (_loc2 != null) {
_loc3 = Number(_loc2.attributes.command);
_packetAccept[_loc3] = true;
onAccept(1, _loc3, _loc2.attributes.msg);
}
_loc2 = _nodeByName(_xmlToAccept, "error");
if (_loc2 != null) {
_loc3 = Number(_loc2.attributes.command);
onAccept(0, _loc3, _loc2.attributes.errmsg);
}
}
}
function _sendPacket(pct) {
_xmlToSend = pct.inXML;
trace("========================");
trace(_xmlToSend);
trace("========================");
_xmlToSend.sendAndLoad(((((("http://" + _address) + ":") + _port) + "/") + _server) + "/", _xmlToAccept);
}
function createCommand() {
commands[arguments[0]] = new Object();
var _loc3 = 1;
while (_loc3 < arguments.length) {
commands[arguments[0]][_loc3 - 1] = arguments[_loc3];
_loc3++;
}
}
function connect(ad, po) {
if (_root._rgclient_debug == 1) {
if (typeof(_root._rgclient_host) == "undefined") {
_address = ad;
} else {
_address = _root._rgclient_host;
}
if (typeof(_root._rgclient_port) == "undefined") {
_port = po;
} else {
_port = _root._rgclient_port;
}
_port = _root._rgclient_port;
} else {
_address = ad;
_port = po;
}
System.security.loadPolicyFile(((("http://" + _address) + ":") + _port) + "/crossdomain.xml");
System.security.allowInsecureDomain(_address);
System.security.allowDomain(_address);
var _loc3 = "<packet>\r\n";
_loc3 = _loc3 + "<body name=\"body\">\r\n";
_loc3 = _loc3 + (("<auth name=\"" + _client) + "\" />\r\n");
_loc3 = _loc3 + "</body>\r\n";
_loc3 = _loc3 + (("<dest id=\"" + _server) + "\" />\r\n");
_loc3 = _loc3 + "</packet>";
_xmlToSend = new XML();
_xmlToSend.ignoreWhite = true;
_xmlToSend.parseXML(_loc3);
_xmlToReturn = new XML();
_xmlToReturn.ignoreWhite = true;
_xmlToReturn.onLoad = com.utils.Proxy.create(this, _firstReply);
_xmlToSend.sendAndLoad(((((("http://" + _address) + ":") + _port) + "/") + _server) + "/", _xmlToReturn);
}
function disconnect() {
bossKey = (false);
socket.close();
clearInterval(_timer);
onDisconnect();
}
function send(command) {
if (_sid == "") {
onError(3, "try to send in closed connection");
return(false);
}
var _loc4 = new Object();
var _loc3 = 1;
while (_loc3 < arguments.length) {
_loc4[commands[command][_loc3 - 1].toString()] = arguments[_loc3];
_loc3++;
}
var _loc6 = ((_packets[_packetAmount] = new com.ramblergames.Packet(_sid, _server)));
_loc6.create(_packetAmount, command, _loc4);
_packetAccept[_packetAmount] = false;
_sendPacket(_packets[_packetAmount]);
_packetAmount++;
return(true);
}
function packetAccepted(id) {
return(_packetAccept[id]);
}
function packetById(id) {
return(_packets[id]);
}
var _sid = "";
var _bosskey = false;
}
Symbol 171 MovieClip [__Packages.com.utils.Proxy] Frame 0
class com.utils.Proxy
{
function Proxy () {
}
static function create(oTarget, fFunction) {
var aParameters = new Array();
var _loc2 = 2;
while (_loc2 < arguments.length) {
aParameters[_loc2 - 2] = arguments[_loc2];
_loc2++;
}
var _loc4 = function () {
var _loc2 = arguments.concat(aParameters);
fFunction.apply(oTarget, _loc2);
};
return(_loc4);
}
}
Symbol 172 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 DEFAULTS = {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, DEFAULTS);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def") {
options.ad_started();
options.ad_finished();
return(undefined);
}
var clip = options.clip;
var ad_msec = 11000;
var ad_timeout = options.ad_timeout;
if (options.skip) {
ad_timeout = 0;
}
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 wh = _getRes(options);
var w = wh[0];
var h = wh[1];
mc._x = w * 0.5;
mc._y = h * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk._x = w * -0.5;
chk._y = h * -0.5;
var bar = chk.createEmptyMovieClip("_mochiad_bar", 4);
if (options.no_progress_bar) {
bar._visible = false;
delete options.no_progress_bar;
} else {
bar._x = 10;
bar._y = h - 20;
}
var bar_color = options.color;
delete options.color;
var bar_background = options.background;
delete options.background;
var bar_outline = options.outline;
delete options.outline;
var backing = bar.createEmptyMovieClip("_outline", 1);
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo(w - 20, 0);
backing.lineTo(w - 20, 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
var inside = bar.createEmptyMovieClip("_inside", 2);
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo(w - 20, 0);
inside.lineTo(w - 20, 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside._xscale = 0;
var outline = bar.createEmptyMovieClip("_outline", 3);
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo(w - 20, 0);
outline.lineTo(w - 20, 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var p = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (p > 0) {
this._parent._alpha = p;
} else {
var _clip = this._parent._parent;
mochi.as2.MochiAd.unload(_clip);
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 _chk = this.mc._mochiad_wait;
_chk.server_control = true;
_chk.started = getTimer();
_chk.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 _clip = this._parent._parent;
var ad_clip = this._parent._mochiad_ctr;
var elapsed = (getTimer() - this.started);
var finished = false;
var clip_total = _clip.getBytesTotal();
var clip_loaded = _clip.getBytesLoaded();
var clip_pcnt = ((100 * clip_loaded) / clip_total);
var ad_pcnt = ((100 * elapsed) / chk.ad_msec);
var _inside = this._mochiad_bar._inside;
var pcnt = Math.min(100, Math.min(clip_pcnt || 0, ad_pcnt));
pcnt = Math.max(this.last_pcnt, pcnt);
this.last_pcnt = pcnt;
_inside._xscale = pcnt;
options.ad_progress(pcnt);
if (sendHostProgress) {
mochi.as2.MochiAd.containerNotify(clip, {id:"hostLoadPcnt", pcnt:clip_pcnt}, clip._mochiad._containerLCName);
if (clip_pcnt == 100) {
sendHostProgress = false;
}
}
if (!chk.showing) {
var total = ad_clip.getBytesTotal();
if ((total > 0) || (typeof(total) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if ((elapsed > chk.ad_timeout) && (clip_pcnt == 100)) {
options.ad_failed();
finished = true;
}
}
if (elapsed > chk.ad_msec) {
finished = true;
}
if (((clip_total > 0) && (clip_loaded >= clip_total)) && (finished)) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
}
}
};
}
static function showClickAwayAd(options) {
var DEFAULTS = {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, DEFAULTS);
var clip = options.clip;
var ad_timeout = 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 wh = _getRes(options);
var w = wh[0];
var h = wh[1];
mc._x = w * 0.5;
mc._y = h * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_timeout = ad_timeout;
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 sendHostProgress = false;
mc.lc.regContLC = function (lc_name) {
mc._containerLCName = lc_name;
};
chk.onEnterFrame = function () {
var ad_clip = this._parent._mochiad_ctr;
var elapsed = (getTimer() - this.started);
var finished = false;
if (!chk.showing) {
var total = ad_clip.getBytesTotal();
if ((total > 0) || (typeof(total) == "undefined")) {
finished = true;
chk.showing = true;
chk.started = getTimer();
} else if (elapsed > chk.ad_timeout) {
options.ad_failed();
finished = true;
}
}
if (finished) {
delete this.onEnterFrame;
}
};
}
static function showInterLevelAd(options) {
var DEFAULTS = {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, DEFAULTS);
var clip = options.clip;
var ad_msec = 11000;
var ad_timeout = 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 wh = _getRes(options);
var w = wh[0];
var h = wh[1];
mc._x = w * 0.5;
mc._y = h * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var p = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (p > 0) {
this._parent._alpha = p;
} else {
var _clip = this._parent._parent;
mochi.as2.MochiAd.unload(_clip);
delete this.onEnterFrame;
}
};
mc.lc.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.adjustProgress = function (msec) {
var _chk = this.mc._mochiad_wait;
_chk.server_control = true;
_chk.started = getTimer();
_chk.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 ad_clip = this._parent._mochiad_ctr;
var elapsed = (getTimer() - this.started);
var finished = false;
if (!chk.showing) {
var total = ad_clip.getBytesTotal();
if ((total > 0) || (typeof(total) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (elapsed > chk.ad_timeout) {
options.ad_failed();
finished = true;
}
}
if (elapsed > chk.ad_msec) {
finished = true;
}
if (finished) {
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 hostname = server.split("/")[2].split(":")[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain("*");
System.security.allowDomain(hostname);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain("*");
System.security.allowInsecureDomain(hostname);
}
}
return(hostname);
}
static function load(options) {
var DEFAULTS = {clip:_root, server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = _parseOptions(options, DEFAULTS);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = getVersion();
var clip = options.clip;
if (!_isNetworkAvailable()) {
return(null);
}
if (clip._mochiad_loaded) {
return(null);
}
var depth = options.depth;
delete options.depth;
var mc = clip.createEmptyMovieClip("_mochiad", depth);
var wh = _getRes(options);
options.res = (wh[0] + "x") + wh[1];
options.server = options.server + options.id;
delete options.id;
clip._mochiad_loaded = true;
if (clip._url.indexOf("http") != 0) {
trace("[MochiAd] NOTE: Security Sandbox Violation errors below are normal");
}
var lv = mc.createEmptyMovieClip("_mochiad_ctr", 1);
for (var k in options) {
lv[k] = options[k];
}
var server = lv.server;
delete lv.server;
var hostname = _allowDomains(server);
mc.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 lc = new Object();
var name = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
lc.mc = mc;
lc.name = name;
lc.hostname = hostname;
lc.allowDomain = function (d) {
return(true);
};
lc.allowInsecureDomain = lc.allowDomain;
lc.connect(name);
mc.lc = lc;
lv.lc = name;
lv.st = getTimer();
if (!options.skip) {
lv.loadMovie(server + ".swf", "POST");
}
return(mc);
}
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 o = System.security;
if (o.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function _getRes(options) {
var b = options.clip.getBounds();
var w = 0;
var h = 0;
if (typeof(options.res) != "undefined") {
var xy = options.res.split("x");
w = parseFloat(xy[0]);
h = parseFloat(xy[1]);
} else {
w = b.xMax - b.xMin;
h = b.yMax - b.yMin;
}
if ((w == 0) || (h == 0)) {
w = Stage.width;
h = Stage.height;
}
return([w, h]);
}
static function _parseOptions(options, defaults) {
var optcopy = {};
for (var k in defaults) {
optcopy[k] = defaults[k];
}
if (options) {
for (var k in options) {
optcopy[k] = options[k];
}
}
if (_root.mochiad_options) {
var pairs = _root.mochiad_options.split("&");
var i = 0;
while (i < pairs.length) {
var kv = pairs[i].split("=");
optcopy[unescape(kv[0])] = unescape(kv[1]);
i++;
}
}
if (optcopy.id == "test") {
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
}
return(optcopy);
}
static function rpc(clip, callbackID, arg) {
switch (arg.id) {
case "setValue" :
setValue(clip, arg.objectName, arg.value);
return;
case "getValue" :
var val = getValue(clip, arg.objectName);
containerRpcResult(clip, callbackID, val, clip._mochiad._containerLCName);
return;
case "runMethod" :
var ret = runMethod(clip, arg.method, arg.args);
containerRpcResult(clip, callbackID, ret, clip._mochiad._containerLCName);
return;
default :
trace("[mochiads rpc] unknown rpc id: " + arg.id);
}
}
static function setValue(base, objectName, value) {
var nameArray = objectName.split(".");
var i;
i = 0;
while (i < (nameArray.length - 1)) {
if ((base[nameArray[i]] == undefined) || (base[nameArray[i]] == null)) {
return(undefined);
}
base = base[nameArray[i]];
i++;
}
base[nameArray[i]] = value;
}
static function getValue(base, objectName) {
var nameArray = objectName.split(".");
var i;
i = 0;
while (i < (nameArray.length - 1)) {
if ((base[nameArray[i]] == undefined) || (base[nameArray[i]] == null)) {
return(undefined);
}
base = base[nameArray[i]];
i++;
}
return(base[nameArray[i]]);
}
static function runMethod(base, methodName, argsArray) {
var nameArray = methodName.split(".");
var i;
i = 0;
while (i < (nameArray.length - 1)) {
if ((base[nameArray[i]] == undefined) || (base[nameArray[i]] == null)) {
return(undefined);
}
base = base[nameArray[i]];
i++;
}
if (typeof(base[nameArray[i]]) == "function") {
return(base[nameArray[i]].apply(base, argsArray));
}
return(undefined);
}
static function containerNotify(clip, args, lcName) {
var container = clip._mochiad._mochiad_ctr.ad.app;
if (container.notify) {
container.notify(args);
} else {
new LocalConnection().send(lcName, "notify", args);
}
}
static function containerRpcResult(clip, callbackID, val, lcName) {
var container = clip._mochiad._mochiad_ctr.ad.app;
if (container.rpcResult) {
container.rpcResult(callbackID, val);
} else {
new LocalConnection().send(lcName, "rpcResult", callbackID, val);
}
}
}
Symbol 173 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);
return;
case SYNC_PROPERTY :
_syncContainer[args.name] = args.value;
}
}
static var SYNC_REQUEST = "SyncRequest";
static var SYNC_PROPERTY = "UpdateProperty";
}
Symbol 174 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.7 as2");
}
static function allowDomains(server) {
var hostname = server.split("/")[2].split(":")[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain("*");
System.security.allowDomain(hostname);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain("*");
System.security.allowInsecureDomain(hostname);
}
}
return(hostname);
}
static function get isNetworkAvailable() {
if (System.security) {
var o = System.security;
if (o.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 clipname = ("_mochiservices_com_" + id);
var _loader = new MovieClipLoader();
var _loaderListener = {};
if (_clip != null) {
return(_clip);
}
if (!isNetworkAvailable) {
return(null);
}
if (urlOptions().servURL) {
_servURL = urlOptions().servURL;
}
var servicesURL = (_servURL + _services);
if (urlOptions().servicesURL) {
servicesURL = urlOptions().servicesURL;
}
allowDomains(servicesURL);
_clip = clip.createEmptyMovieClip(clipname, 10336, false);
_listenChannelName = _listenChannelName + ((Math.floor(new Date().getTime()) + "_") + Math.floor(Math.random() * 99999));
listen();
if (_loaderListener.waitInterval != null) {
clearInterval(_loaderListener.waitInterval);
}
_loaderListener.onLoadError = loadError;
_loaderListener.onLoadStart = function (target_mc) {
this.isLoading = true;
};
_loaderListener.onLoadComplete = function (target_mc) {
target_mc.MochiServices = mochi.as2.MochiServices;
};
_loaderListener.startTime = getTimer();
_loaderListener.wait = function () {
if ((getTimer() - this.startTime) > 10000) {
if (!this.isLoading) {
mochi.as2.MochiServices.disconnect();
mochi.as2.MochiServices.onError.apply(null, ["IOError"]);
}
clearInterval(this.waitInterval);
}
};
_loaderListener.waitInterval = setInterval(_loaderListener, "wait", 1000);
_loader.addListener(_loaderListener);
_loader.loadClip((((((servicesURL + "?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, version:getVersion()});
_listenChannel.onStatus = function (infoObject) {
mochi.as2.MochiServices.onStatus(infoObject);
};
_listenChannel.onReceive = function (pkg) {
var cb = pkg.callbackID;
var cblst = this._callbacks[cb];
if (!cblst) {
return(undefined);
}
var method = cblst.callbackMethod;
var obj = cblst.callbackObject;
if (obj && (typeof(method) == "string")) {
method = obj[method];
}
if (method != undefined) {
method.apply(obj, pkg.args);
}
delete this._callbacks[cb];
};
_listenChannel.onEvent = function (pkg) {
switch (pkg.target) {
case "events" :
mochi.as2.MochiEvents.triggerEvent(pkg.event, pkg.args);
return;
case "coins" :
mochi.as2.MochiSocial.triggerEvent(pkg.event, pkg.args);
return;
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 request;
var callback;
while (_sendChannel._queue.length > 0) {
request = _sendChannel._queue.shift();
delete callback;
if (request.callbackID != null) {
callback = _listenChannel._callbacks[request.callbackID];
}
delete _listenChannel._callbacks[request.callbackID];
if (error) {
handleError(request.args, callback.callbackObject, callback.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 opts = {};
var options;
if (_root._url.indexOf("mochiad_options") != -1) {
var i = ((_root._url.indexOf("mochiad_options") + "mochiad_options".length) + 1);
options = _root._url.substr(i, _root._url.length);
} else if (_root.mochiad_options) {
options = _root.mochiad_options;
}
if (options) {
var pairs = _root.mochiad_options.split("&");
var i = 0;
while (i < pairs.length) {
var kv = pairs[i].split("=");
opts[unescape(kv[0])] = unescape(kv[1]);
i++;
}
}
return(opts);
}
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 i = 0;
while (i < bid.length) {
switch (bid.charAt(i)) {
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);
}
i++;
}
}
static function addLinkEvent(url, burl, btn, onClick) {
var timeout = 1500;
var t0 = getTimer();
var vars = new Object();
vars.mav = getVersion();
vars.swfv = btn.getSWFVersion() || 6;
vars.swfurl = btn._url;
vars.fv = System.capabilities.version;
vars.os = System.capabilities.os;
vars.lang = System.capabilities.language;
vars.scres = (System.capabilities.screenResolutionX + "x") + System.capabilities.screenResolutionY;
var s = "?";
var i = 0;
for (var x in vars) {
if (i != 0) {
s = s + "&";
}
i++;
s = ((s + x) + "=") + escape(vars[x]);
}
if (!(netupAttempted || (_connected))) {
var ping = btn.createEmptyMovieClip("ping", 777);
var nettest = btn.createEmptyMovieClip("nettest", 778);
netupAttempted = true;
ping.loadMovie("http://x.mochiads.com/linkping.swf?t=" + getTimer());
nettest.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 clk = btn.createEmptyMovieClip("clk", 1001);
clk._alpha = 0;
clk.beginFill(1044735);
clk.moveTo(0, 0);
clk.lineTo(0, btn._height);
clk.lineTo(btn._width, btn._height);
clk.lineTo(btn._width, 0);
clk.lineTo(0, 0);
clk.endFill();
clk.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 175 MovieClip [__Packages.mochi.as2.MochiEventDispatcher] Frame 0
class mochi.as2.MochiEventDispatcher
{
var eventTable;
function MochiEventDispatcher () {
eventTable = {};
}
function buildDelegate(thisObject, thatObject) {
var delegate = {thisObject:thisObject, thatObject:thatObject};
if (thatObject != undefined) {
var funct = ((typeof(thatObject) == "string") ? (thisObject[thatObject]) : (thatObject));
delegate.delegate = function (args) {
funct.call(thisObject, args);
};
} else {
delegate.delegate = thisObject;
}
return(delegate);
}
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 delegate = buildDelegate(thisObject, thatObject);
if (eventTable[event] == undefined) {
eventTable[event] = [];
return(undefined);
}
for (var s in eventTable[event]) {
if (!compareDelegate(eventTable[event][s], delegate)) {
continue;
}
eventTable[event].splice(Number(s), 1);
}
}
function triggerEvent(event, args) {
if (eventTable[event] == undefined) {
return(undefined);
}
for (var i in eventTable[event]) {
eventTable[event][i].delegate(args);
}
}
}
Symbol 176 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 args = {};
for (var s in style) {
args[s] = style[s];
}
args.clip = clip;
mochi.as2.MochiServices.send("events_setNotifications", args, 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 delta = (new Date().getTime() - gameStart);
trigger("end_game", {time:delta});
}
static function startLevel() {
levelStart = new Date().getTime();
trigger("start_level");
}
static function endLevel() {
var delta = (new Date().getTime() - levelStart);
trigger("end_level", {time:delta});
}
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 177 MovieClip [__Packages.mochi.as2.MochiSocial] Frame 0
class mochi.as2.MochiSocial
{
function MochiSocial () {
}
static function getVersion() {
return(mochi.as2.MochiServices.getVersion());
}
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 requestLogin() {
mochi.as2.MochiServices.send("coins_requestLogin");
}
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 LOGIN_SHOWN = "LoginShown";
static var PROFILE_SHOW = "ProfileShow";
static var PROFILE_HIDE = "ProfileHide";
static var PROPERTIES_SAVED = "PropertySaved";
static var WIDGET_LOADED = "WidgetLoaded";
static var USER_INFO = "UserInfo";
static var ERROR = "Error";
static var IO_ERROR = "IOError";
static var NO_USER = "NoUser";
static var PROPERTIES_SIZE = "PropertiesSize";
static var _dispatcher = new mochi.as2.MochiEventDispatcher();
}
Symbol 178 MovieClip [__Packages.mochi.as2.MochiScores] Frame 0
class mochi.as2.MochiScores
{
static var boardID, onClose, onError;
function MochiScores () {
}
static function setBoardID(boardID) {
mochi.as2.MochiServices.warnID(boardID, true);
mochi.as2.MochiScores.boardID = boardID;
mochi.as2.MochiServices.send("scores_setBoardID", {boardID:boardID});
}
static function showLeaderboard(options) {
options.clip = mochi.as2.MochiServices.clip;
if ((options.clip != mochi.as2.MochiServices.__get__clip()) || (mochi.as2.MochiServices.__get__childClip()._target == undefined)) {
mochi.as2.MochiServices.disconnect();
trace("WARNING! This application is attempting to connect to MochiServices inside a showLeaderboard call!");
trace("make sure MochiServices.connect is called as early in the application runtime as possible.");
mochi.as2.MochiServices.connect(mochi.as2.MochiServices.__get__id(), options.clip);
}
delete options.clip;
if (options.name != null) {
if (typeof(options.name) == "object") {
if (options.name.text != undefined) {
options.name = options.name.text;
}
}
}
if (options.score != null) {
if (options.score instanceof TextField) {
if (options.score.text != undefined) {
options.score = options.score.text;
}
} else if (options.score instanceof mochi.as2.MochiDigits) {
options.score = options.score.value;
}
var n = Number(options.score);
if (isNaN(n)) {
trace(("ERROR: Submitted score '" + options.score) + "' will be rejected, score is 'Not a Number'");
} else if ((n == Number.NEGATIVE_INFINITY) || (n == Number.POSITIVE_INFINITY)) {
trace(("ERROR: Submitted score '" + options.score) + "' will be rejected, score is an infinite");
} else {
if (Math.floor(n) != n) {
trace(("WARNING: Submitted score '" + options.score) + "' will be truncated");
}
options.score = n;
}
}
if (options.onDisplay != null) {
options.onDisplay();
} else {
mochi.as2.MochiServices.__get__clip().stop();
}
if (options.onClose != null) {
onClose = options.onClose;
} else {
onClose = function () {
mochi.as2.MochiServices.__get__clip().play();
};
}
if (options.onError != null) {
onError = options.onError;
} else {
onError = onClose;
}
if (options.boardID == null) {
if (boardID != null) {
options.boardID = boardID;
}
}
mochi.as2.MochiServices.warnID(options.boardID, true);
trace("[MochiScores] NOTE: Security Sandbox Violation errors below are normal");
mochi.as2.MochiServices.send("scores_showLeaderboard", {options:options}, null, doClose);
}
static function closeLeaderboard() {
mochi.as2.MochiServices.send("scores_closeLeaderboard");
}
static function getPlayerInfo(callbackObj, callbackMethod) {
mochi.as2.MochiServices.send("scores_getPlayerInfo", null, callbackObj, callbackMethod);
}
static function submit(score, name, callbackObj, callbackMethod) {
score = Number(score);
if (isNaN(score)) {
trace(("ERROR: Submitted score '" + String(score)) + "' will be rejected, score is 'Not a Number'");
} else if ((score == Number.NEGATIVE_INFINITY) || (score == Number.POSITIVE_INFINITY)) {
trace(("ERROR: Submitted score '" + String(score)) + "' will be rejected, score is an infinite");
} else {
if (Math.floor(score) != score) {
trace(("WARNING: Submitted score '" + String(score)) + "' will be truncated");
}
score = Number(score);
}
mochi.as2.MochiServices.send("scores_submit", {score:score, name:name}, callbackObj, callbackMethod);
}
static function requestList(callbackObj, callbackMethod) {
mochi.as2.MochiServices.send("scores_requestList", null, callbackObj, callbackMethod);
}
static function scoresArrayToObjects(scores) {
var so = {};
var i;
var j;
var o;
var row_obj;
for (var item in scores) {
if (typeof(scores[item]) == "object") {
if ((scores[item].cols != null) && (scores[item].rows != null)) {
so[item] = [];
o = scores[item];
j = 0;
while (j < o.rows.length) {
row_obj = {};
i = 0;
while (i < o.cols.length) {
row_obj[o.cols[i]] = o.rows[j][i];
i++;
}
so[item].push(row_obj);
j++;
}
} else {
so[item] = {};
for (var param in scores[item]) {
so[item][param] = scores[item][param];
}
}
} else {
so[item] = scores[item];
}
}
return(so);
}
static function doClose(args) {
if (args.error == true) {
if (args.errorCode == undefined) {
args.errorCode = "IOError";
}
onError.apply(null, [args.errorCode]);
} else {
onClose.apply();
}
}
}
Symbol 179 MovieClip [__Packages.mochi.as2.MochiDigits] Frame 0
class mochi.as2.MochiDigits
{
var Encoder, Fragment, Sibling;
function MochiDigits (digit, index) {
Encoder = 0;
setValue(digit, index);
}
function get value() {
return(Number(toString()));
}
function set value(v) {
setValue(v);
//return(value);
}
function addValue(v) {
value = value + v;
}
function setValue(digit, index) {
var s = digit.toString();
if ((index == undefined) || (isNaN(index))) {
index = 0;
}
Fragment = s.charCodeAt(index++) ^ Encoder;
if (index < s.length) {
Sibling = new mochi.as2.MochiDigits(digit, index);
} else {
Sibling = null;
}
reencode();
}
function reencode() {
var newEncode = int(2147483647 * Math.random());
Fragment = Fragment ^ (newEncode ^ Encoder);
Encoder = newEncode;
}
function toString() {
var s = String.fromCharCode(Fragment ^ Encoder);
return(((Sibling != null) ? (s.concat(Sibling.toString())) : (s)));
}
}
Symbol 78 Button
on (release) {
getURL ("http://games.flash4u.pp.ru", "_blank");
}
Symbol 84 Button
on (release) {
_global.lives = 3;
gotoAndStop (5);
}
on (rollOver) {
if (_global.echo == true) {
var bs = new Sound();
bs.attachSound("menu");
bs.start();
}
}
Symbol 86 Button
on (release) {
_root.gotoAndStop("b");
}
on (rollOver) {
if (_global.echo == true) {
var bs = new Sound();
bs.attachSound("menu");
bs.start();
}
}
Symbol 88 Button
on (release) {
_root.gotoAndStop("r");
}
on (rollOver) {
if (_global.echo == true) {
var bs = new Sound();
bs.attachSound("menu");
bs.start();
}
}
Symbol 90 Button
on (press) {
if (_global.echo == true) {
_global.echo = false;
} else {
_global.echo = true;
}
}
on (rollOver) {
if (_global.echo == true) {
var bs = new Sound();
bs.attachSound("menu");
bs.start();
}
}
Symbol 92 MovieClip Frame 1
stop();
Symbol 94 MovieClip Frame 1
stop();
Symbol 100 Button
on (release) {
_root.gotoAndStop("a");
}
on (rollOver) {
if (_global.echo == true) {
var bs = new Sound();
bs.attachSound("menu");
bs.start();
}
}
Symbol 121 MovieClip Frame 20
stop();
Symbol 122 MovieClip Frame 1
stop();
Symbol 152 MovieClip Frame 1
stop();
Symbol 155 MovieClip Frame 10
this._visible = false;
Symbol 156 MovieClip Frame 40
stop();
Symbol 156 MovieClip Frame 41
stop();