Frame 1
stop();
MochiAd.showPreGameAd({id:"74d999d853807f7a", res:"600x800"});
mochi.MochiServices.connect("74d999d853807f7a");
function __com_mochibot__(swfid, mc, lv, trk) {
var x;
var g;
var s;
var fv;
var sb;
var u;
var res;
var mb;
var mbc;
mb = "__mochibot__";
mbc = "mochibot.com";
g = (_global ? (_global) : (_level0._root));
if (g[mb + swfid]) {
return(g[mb + swfid]);
}
s = System.security;
x = mc._root.getSWFVersion;
fv = (x ? (mc.getSWFVersion()) : ((_global ? 6 : 5)));
if (!s) {
s = {};
}
sb = s.sandboxType;
if (sb == "localWithFile") {
return(null);
}
x = s.allowDomain;
if (x) {
s.allowDomain(mbc);
}
x = s.allowInsecureDomain;
if (x) {
s.allowInsecureDomain(mbc);
}
u = (((((((((((("http://" + mbc) + "/my/core.swf?mv=7&fv=") + fv) + "&v=") + escape(getVersion())) + "&swfid=") + escape(swfid)) + "&l=") + lv) + "&f=") + mc) + (sb ? ("&sb=" + sb) : "")) + (trk ? "&t=1" : "");
lv = ((fv > 6) ? (mc.getNextHighestDepth()) : ((g[mb + "level"] ? (g[mb + "level"] + 1) : (lv))));
g[mb + "level"] = lv;
if (fv == 5) {
res = "_level" + lv;
if (!eval (res)) {
loadMovieNum (u, lv);
}
} else {
res = mc.createEmptyMovieClip(mb + swfid, lv);
res.loadMovie(u);
}
return(res);
}
__com_mochibot__("e12bb9fd", this, 10301, true);
Frame 3
stop();
var level = 1;
var spawnInterval = 2000;
var dragons = 0;
var potsInited = false;
var pots = new Array();
var levelNameString;
var gamePaused = true;
var playerScore = 0;
var dragonsKilled = 0;
var soundON = true;
var metalSoundMc = _root.createEmptyMovieClip();
var metalSound = new Sound(_root.metalSoundMc);
metalSound.attachSound("metal2");
playMetalSound = function () {
if (_root.soundON) {
_root.metalSound.start();
}
};
_root.soundButton.onRelease = function () {
if (_root.soundON) {
_root.soundON = false;
_root.music.setVolume(0);
this.gotoAndStop("off");
} else {
_root.soundON = true;
_root.music.setVolume(100);
this.gotoAndStop("normal");
}
};
_root.soundButton.onRollOver = function () {
this.filters = [new flash.filters.GlowFilter(16777215, 100, 10, 10, 2, 3, false, false)];
};
_root.soundButton.onRollOut = (_root.soundButton.onReleaseOutside = function () {
this.filters = [];
});
var music_mc = _root.createEmptyMovieClip();
var music = new Sound(music_mc);
music.stop();
music.attachSound("intro_music2");
music.start(0, 9999);
ableButton = function (en) {
_root.startButton.enabled = en;
_root.infoButton.enabled = en;
_root.creditsButton.enabled = en;
};
startButton.onRelease = function () {
_root.music.stop();
_root.music.attachSound("game_music2");
_root.music.start(0, 9999);
_root.gotoAndStop("game");
};
infoButton.onRelease = function () {
this.filters = [new flash.filters.GlowFilter(16777215, 0.5, 30, 30, 2, 3, false, false)];
infoScreen.gotoAndPlay("enter");
_root.playSound("swoosh3", 100, 0, 1);
_root.ableButton(false);
};
creditsButton.onRelease = function () {
this.filters = [new flash.filters.GlowFilter(16777215, 0.5, 30, 30, 2, 3, false, false)];
creditsScreen.gotoAndPlay("enter");
_root.ableButton(false);
_root.playSound("swoosh3", 100, 0, 1);
};
startButton.filters = [new flash.filters.GlowFilter(16777215, 0.5, 30, 30, 2, 3, false, false)];
infoButton.filters = [new flash.filters.GlowFilter(16777215, 0.5, 30, 30, 2, 3, false, false)];
creditsButton.filters = [new flash.filters.GlowFilter(16777215, 0.5, 30, 30, 2, 3, false, false)];
startButton.onRollOver = (infoButton.onRollOver = (creditsButton.onRollOver = function () {
this.filters = [new flash.filters.GlowFilter(16777215, 1, 30, 30, 2, 3, false, false)];
_root.playMetalSound();
}));
startButton.onRollOut = (infoButton.onRollOut = (creditsButton.onRollOut = (startButton.onReleaseOutside = (infoButton.onReleaseOutside = (creditsButton.onReleaseOutside = function () {
this.filters = [new flash.filters.GlowFilter(16777215, 0.5, 30, 30, 2, 3, false, false)];
})))));
var soundCount = 0;
playSound = function (na, vol, off, rep) {
if (_root.soundON) {
var _local3 = _root.createEmptyMovieClip("temp" + _root.soundCount, _root.getNextHighestDepth());
_root.soundCount++;
var _local2 = new Sound(_local3);
_local2.attachSound(na);
_local2.setVolume(vol);
_local2.start(off, rep);
}
};
Frame 10
stop();
var bxs = [206, 223, 240, 257, 274, 291, 308, 325, 342, 359];
var count = 0;
var startTime = getTimer();
var then = getTimer();
var sec = 0;
var min = 0;
var spawnCountDown = _root.spawnInterval;
var levelTime = 59;
var hp = 3;
var flagOffset = 0;
var spawntime = 0;
var bxs2 = [new flash.geom.Point(221, 667), new flash.geom.Point(238, 667), new flash.geom.Point(255, 667), new flash.geom.Point(272, 667), new flash.geom.Point(289, 667), new flash.geom.Point(306, 667), new flash.geom.Point(323, 667), new flash.geom.Point(340, 667), new flash.geom.Point(357, 667), new flash.geom.Point(374, 667)];
var bxs3 = [new flash.geom.Point(130.5, 315.4), new flash.geom.Point(168.5, 315.4), new flash.geom.Point(206.5, 315.4), new flash.geom.Point(244.5, 315.4), new flash.geom.Point(282.5, 315.4), new flash.geom.Point(320.5, 315.4), new flash.geom.Point(358.5, 315.4), new flash.geom.Point(396.5, 315.4), new flash.geom.Point(434.5, 315.4), new flash.geom.Point(472.5, 315.4)];
initPots = function () {
_root.potsInited = true;
var _local4 = 0;
while (_local4 < 10) {
var _local5 = _root.createEmptyMovieClip("temp" + _local4, _root.getNextHighestDepth());
var _local3 = _local5.attachMovie("newpot", "pot" + _local4, _local5.getNextHighestDepth());
_local3._x = 122 + (_local4 * 38);
_local3.startx = _local3._x;
_local3._y = 295;
_local3.row = _local4;
_root.pots.push(_local3);
_local3.onRollOver = function () {
if (!_root.gamePaused) {
this.filters = [new flash.filters.GlowFilter(16777215, 1, 10, 10, 2, 3, false, false)];
}
};
_local3.onRollOut = (_local3.onReleaseOutside = function () {
this.filters = [];
});
_local3.onRelease = function () {
if (!_root.gamePaused) {
_root.playSound("shortMetal2", 100, 0, 1);
this.onEnterFrame = function () {
this._y = this._y + 20;
this._x = this._x + ((4 - this.row) * 1);
this._width = 8 + (((720 - this._y) / 425) * 8);
this._height = 9.7 + (((720 - this._y) / 425) * 9.7);
if (this._y > 720) {
_root.waterRings(this._x, this._y);
this._y = 295;
this._x = this.startx;
this._width = 16;
this._height = 19.4;
delete this.onEnterFrame;
}
};
}
};
_local4++;
}
};
giveScore = function (sc) {
_root.playerScore = _root.playerScore + sc;
};
makeDragon = function () {
var _local5 = _root.createEmptyMovieClip("dragon", _root.getNextHighestDepth());
var _local3 = _local5.attachMovie("dragon1", "dragon" + count, _local5.getNextHighestDepth());
_local3._x = -100;
_local3._y = 380;
_local3.up = true;
_local3.count = 0;
_local3.onEnterFrame = function () {
this._x = this._x + 7;
this._y = this._y + (this.up ? 2 : -2);
this._yscale = this._yscale + (this.up ? 4 : -4);
this.count++;
if (this.count == 5) {
this.count = 0;
this.up = !this.up;
}
for (var _local3 in _root.pots) {
if (this.hitTest(_root.pots[_local3])) {
this.gotoAndPlay("fall");
_root.dragonsKilled++;
_root.giveScore(500);
this.onEnterFrame = function () {
this._rotation = this._rotation + 10;
this._xscale = this._xscale * 0.95;
this._yscale = this._yscale * 0.95;
this._y = this._y + 7;
if (this._xscale < 5) {
trace("removing dragon");
this.removeMovieClip();
}
};
}
}
};
};
waterRings = function (x, y) {
_root.playSound("splash" + (1 + random(3)), 60, 0, 1);
var _local4 = _root.createEmptyMovieClip("temp", _root.getNextHighestDepth());
var _local3 = _local4.attachMovie("waterRings", "waterRings" + _root.count, _local4.getNextHighestDepth());
_local3._x = x;
_local3._y = y;
_local3._alpha = 70;
_local3.onEnterFrame = function () {
if (this._currentframe == "14") {
this.stop();
this.removeMovieClip();
}
};
};
enemyDrop = function (mc) {
mc.onEnterFrame = function () {
this._y = this._y + 20;
this._x = this._x + ((4 - this.row) * 0.26);
this._width = 15 + (((667 - this._y) / 366) * 15);
this._height = this._width * 1.6;
if (this._y > 720) {
_root.waterRings(this._x, this._y);
this.removeMovieClip();
}
};
};
enemyDropNEW = function (mc) {
mc.destx = _root.bxs2[mc.row]._x;
mc.desty = 720;
mc.onEnterFrame = function () {
var _local4 = getTimer();
var _local5 = _local4 - this.then;
this.then = _local4;
var _local3 = _root.chase(new flash.geom.Point(this._x, this._y), new flash.geom.Point(this.destx, this.desty), this.speed * (_local5 / 40));
this._x = this._x + _local3.x;
this._y = this._y + _local3.y;
this._width = 15 + (((667 - this._y) / 366) * 15);
this._height = this._width * 1.6;
if (this._y > 720) {
_root.waterRings(this._x, this._y);
this.removeMovieClip();
}
};
};
chase = function (act, target, speed) {
var _local4 = Math.abs(act.x - target.x);
var _local3 = Math.abs(act.y - target.y);
var _local1 = speed * (_local4 / (_local4 + _local3));
var _local2 = speed * (_local3 / (_local4 + _local3));
if (act.x > target.x) {
_local1 = _local1 - (2 * _local1);
}
if (act.y > target.y) {
_local2 = _local2 - (2 * _local2);
}
return(new flash.geom.Point(_local1, _local2));
};
spawnUnit = function () {
if (!_root.gamePaused) {
var _local7 = _root.createEmptyMovieClip("temp" + count, _root.getNextHighestDepth());
var _local3 = _local7.attachMovie("whiteNinja4", "enemy" + count, _local7.getNextHighestDepth());
_local3._y = 900;
_local3._x = random(600);
_local3.row = random(10);
_local3._width = 15;
_local3._height = 25;
_local3.destx = _root.bxs2[_local3.row].x;
_local3.desty = 667;
_local3.onEnterFrame = function () {
if (!_root.gamePaused) {
var _local4 = Math.abs(this._x - this.destx);
var _local5 = Math.abs(this._y - this.desty);
var _local3 = Math.sqrt((_local4 * _local4) + (_local5 * _local5));
if (_local3 > 10) {
var _local9 = ((this._x < this.destx) ? (15 * (_local4 / _local3)) : (-1 * (15 * (_local4 / _local3))));
var _local8 = ((this._y < this.desty) ? (15 * (_local5 / _local3)) : (-1 * (15 * (_local5 / _local3))));
this._x = this._x + _local9;
this._y = this._y + _local8;
} else {
this._x = this.destx;
this._y = this.desty;
this.destx = _root.bxs3[this.row].x;
this.desty = _root.bxs3[this.row].y;
this.speed = 2;
this.then = getTimer();
this.onEnterFrame = function () {
if (!_root.gamePaused) {
this.speed = this.speed * 1.01;
var _local7 = getTimer();
var _local10 = _local7 - this.then;
this.then = _local7;
var _local6 = _root.chase(new flash.geom.Point(this._x, this._y), new flash.geom.Point(this.destx, this.desty), this.speed * (_local10 / 40));
this._x = this._x + _local6.x;
this._y = this._y + _local6.y;
this._width = 15 + (((667 - this._y) / 366) * 15);
this._height = this._width * 1.6;
if (this._y >= 316) {
if (_root.pots[this.row]._y >= this._y) {
_root.giveScore(100);
_root.enemyDrop(this);
}
} else {
this.stop();
this.onEnterFrame = function () {
if (!_root.gamePaused) {
this.destx = 320;
this.desty = 50 + _root.flagOffset;
var _local4 = Math.abs(this._x - this.destx);
var _local5 = Math.abs(this._y - this.desty);
var _local3 = Math.sqrt((_local4 * _local4) + (_local5 * _local5));
if (_local3 > 10) {
var _local7 = ((this._x < this.destx) ? (15 * (_local4 / _local3)) : (-1 * (15 * (_local4 / _local3))));
var _local6 = ((this._y < this.desty) ? (15 * (_local5 / _local3)) : (-1 * (15 * (_local5 / _local3))));
this._x = this._x + _local7;
this._y = this._y + _local6;
} else {
this._width = 15;
this._height = 25;
this._x = this.destx;
this._y = this.desty;
this.onEnterFrame = function () {
if (!_root.gamePaused) {
if (this.flagDrag === undefined) {
this.flagDrag = 0;
}
this.flagDrag++;
_root.flagOffset++;
this._y = 50 + _root.flagOffset;
if (this.flagDrag == 40) {
_root.hp--;
if (_root.hp <= 0) {
_root.gamePaused = true;
_root.gotoAndStop("gameOver");
}
delete this.onEnterFrame;
this.removeMovieClip();
}
} else {
this.removeMovieClip();
}
};
}
} else {
this.removeMovieClip();
}
};
}
} else {
this.removeMovieClip();
}
};
}
} else {
this.removeMovieClip();
}
};
}
};
game = function () {
if (then == undefined) {
then = getTimer();
}
var _local3 = getTimer();
sec = _root.levelTime - Math.floor((_local3 - startTime) / 1000);
timeString = ((min + ":") + ((sec < 10) ? "0" : "")) + sec;
if ((_local3 - startTime) > (levelTime * 1000)) {
delete _root.onEnterFrame;
_root.gotoAndStop("nextLevel");
}
_root.spawnCountDown = _root.spawnCountDown - (_local3 - then);
if (_root.spawnCountDown <= 0) {
_root.spawnCountDown = _root.spawnInterval;
_root.count++;
_root.spawnUnit();
}
if (_root.dragons != 0) {
var _local2 = false;
switch (_root.dragons) {
case 1 :
if (sec == 30) {
_local2 = true;
}
break;
case 2 :
if ((sec == 15) || (sec == 45)) {
_local2 = true;
}
break;
case 3 :
if (((sec == 12) || (sec == 24)) || (sec == 36)) {
_local2 = true;
}
break;
case 4 :
if (((sec % 10) == 0) && (sec != 0)) {
_local2 = true;
}
break;
default :
if (!(((sec % 10) == 0) && (sec != 0))) {
break;
}
_local2 = true;
}
if (_local2) {
if (_root.spawntime != sec) {
_root.makeDragon();
_root.spawntime = sec;
}
}
}
then = _local3;
};
startGame = function () {
_root.dragonsKilled = 0;
_root.gamePaused = false;
startDrag (newplayer, true, 132, 250, 467, 250);
_root.startTime = getTimer();
_root.onEnterFrame = _root.game;
};
showLevelName = function () {
_root.levelNameString = "LEVEL " + _root.level;
_root.levelName.gotoAndPlay("start");
};
if (!_root.potsInited) {
_root.initPots();
}
timeString = ((Math.floor(levelTime / 60) + ":") + ((levelTime < 10) ? "0" : "")) + levelTime;
_root.showLevelName();
Frame 20
stop();
stopDrag();
_root.gamePaused = true;
_root.level++;
_root.spawnInterval = _root.spawnInterval - 200;
if (_root.spawnInterval < 400) {
_root.spawnInterval = 400;
}
_root.dragons = (((_root.level - 2) > 0) ? (Math.ceil((_root.level - 2) / 2)) : 0);
_root.levelScoreBox.gotoAndPlay("show");
_root.levelScoreBox.continueButton.onRelease = function () {
_root.gotoAndStop("game");
};
Frame 30
stop();
delete _root.onEnterFrame;
stopDrag();
_root.music.stop();
_root.music.attachSound("game_over_music2");
_root.music.start(0, 9999);
for (var i in _root.pots) {
_root.pots[i].removeMovieClip();
}
playAgainButton.onRelease = function () {
_root.gotoAndStop("init");
};
playAgainButton.onRollOver = (_root.submitScoreButton.onRollOver = function () {
this.filters = [new flash.filters.GlowFilter(16777215, 0.6, 5, 5, 2, 2, false, false)];
_root.playMetalSound();
});
playAgainButton.onRollOut = (_root.submitScoreButton.onRollOut = (playAgainButton.onReleaseOutside = (_root.submitScoreButton.onReleaseOutside = function () {
this.filters = [];
})));
_root.submitScoreButton.onRelease = function () {
this._visible = false;
mochi.MochiScores.showLeaderboard({boardID:"98f6a0b9cd61ea31", score:_root.playerScore, name:_root.playerName});
};
Frame 31
stop();
Symbol 33 MovieClip [dragon1] Frame 1
stop();
Symbol 33 MovieClip [dragon1] Frame 20
this.gotoAndPlay("fall");
Symbol 39 MovieClip [levelName] Frame 1
stop();
Symbol 39 MovieClip [levelName] Frame 2
play();
Symbol 39 MovieClip [levelName] Frame 72
_root.startGame();
Symbol 188 MovieClip [__Packages.mochi.MochiServices] Frame 0
class mochi.MochiServices
{
static var _id, _container, _clip, _sendChannelName, _rcvChannelName, __get__comChannelName, onError, _listenChannel, _rcvChannel, _loader, _loaderListener, _sendChannel;
function MochiServices () {
}
static function get id() {
return(_id);
}
static function get clip() {
return(_container);
}
static function get childClip() {
return(_clip);
}
static function getVersion() {
return("1.31");
}
static function allowDomains(server) {
var _local1 = server.split("/")[2].split(":")[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain("*");
System.security.allowDomain(_local1);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain("*");
System.security.allowInsecureDomain(_local1);
}
}
return(_local1);
}
static function get isNetworkAvailable() {
if (System.security) {
var _local1 = System.security;
if (_local1.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function set comChannelName(val) {
if (val != undefined) {
if (val.length > 3) {
_sendChannelName = val + "_fromgame";
_rcvChannelName = val;
initComChannels();
}
}
//return(__get__comChannelName());
}
static function get connected() {
return(_connected);
}
static function connect(id, clip, onError) {
if ((!_connected) && (_clip == undefined)) {
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
}
if (onError != undefined) {
mochi.MochiServices.onError = onError;
} else if (mochi.MochiServices.onError == undefined) {
mochi.MochiServices.onError = function (errorCode) {
trace(errorCode);
};
}
}
static function disconnect() {
if (_connected || (_connecting)) {
_connecting = (_connected = false);
flush(true);
if (_clip != undefined) {
_clip.removeMovieClip();
delete _clip;
}
_listenChannel.close();
_rcvChannel.close();
}
}
static function init(id, clip) {
_id = id;
if (clip != undefined) {
_container = clip;
} else {
_container = _root;
}
loadCommunicator(id, _container);
}
static function loadCommunicator(id, clip) {
var _local2 = "_mochiservices_com_" + id;
if (_clip != null) {
return(_clip);
}
if (!isNetworkAvailable) {
return(null);
}
allowDomains(_gatewayURL);
_clip = clip.createEmptyMovieClip(_local2, 10336, false);
_loader = new MovieClipLoader();
if (_loaderListener.waitInterval != null) {
clearInterval(_loaderListener.waitInterval);
}
_loaderListener = {};
_loaderListener.onLoadError = function (target_mc, errorCode, httpStatus) {
trace("MochiServices could not load.");
mochi.MochiServices.disconnect();
mochi.MochiServices.onError.apply(null, [errorCode]);
};
_loaderListener.onLoadStart = function (target_mc) {
this.isLoading = true;
};
_loaderListener.startTime = getTimer();
_loaderListener.wait = function () {
if ((getTimer() - this.startTime) > 10000) {
if (!this.isLoading) {
mochi.MochiServices.disconnect();
mochi.MochiServices.onError.apply(null, ["IOError"]);
}
clearInterval(this.waitInterval);
}
};
_loaderListener.waitInterval = setInterval(_loaderListener, "wait", 1000);
_loader.addListener(_loaderListener);
_loader.loadClip(_gatewayURL, _clip);
_sendChannel = new LocalConnection();
_sendChannel._queue = [];
_rcvChannel = new LocalConnection();
_rcvChannel.allowDomain = function (d) {
return(true);
};
_rcvChannel.allowInsecureDomain = _rcvChannel.allowDomain;
_rcvChannel._nextcallbackID = 0;
_rcvChannel._callbacks = {};
listen();
return(_clip);
}
static function onStatus(infoObject) {
if (!(infoObject.level === "error")) {
} else {
_connected = false;
_listenChannel.connect(_listenChannelName);
}
}
static function listen() {
_listenChannel = new LocalConnection();
_listenChannel.handshake = function (args) {
mochi.MochiServices.__set__comChannelName(args.newChannel);
};
_listenChannel.allowDomain = function (d) {
return(true);
};
_listenChannel.allowInsecureDomain = _listenChannel.allowDomain;
_listenChannel.connect(_listenChannelName);
trace("Waiting for MochiAds services to connect...");
}
static function initComChannels() {
if (!_connected) {
_sendChannel.onStatus = function (infoObject) {
mochi.MochiServices.onStatus(infoObject);
};
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_clip, version:getVersion()});
_rcvChannel.onStatus = function (infoObject) {
mochi.MochiServices.onStatus(infoObject);
};
_rcvChannel.onReceive = function (pkg) {
var _local5 = pkg.callbackID;
var _local4 = this._callbacks[_local5];
if (!_local4) {
return(undefined);
}
var _local2 = _local4.callbackMethod;
var _local3 = _local4.callbackObject;
if (_local3 && (typeof(_local2) == "string")) {
_local2 = _local3[_local2];
}
if (_local2 != undefined) {
_local2.apply(_local3, pkg.args);
}
delete this._callbacks[_local5];
};
_rcvChannel.onError = function () {
mochi.MochiServices.onError.apply(null, ["IOError"]);
};
_rcvChannel.connect(_rcvChannelName);
trace("connected!");
_connecting = false;
_connected = true;
_listenChannel.close();
while (_sendChannel._queue.length > 0) {
_sendChannel.send(_sendChannelName, "onReceive", _sendChannel._queue.shift());
}
}
}
static function flush(error) {
var _local1;
var _local2;
while (_sendChannel._queue.length > 0) {
_local1 = _sendChannel._queue.shift();
if (_local1.callbackID != null) {
_local2 = _rcvChannel._callbacks[_local1.callbackID];
}
delete _rcvChannel._callbacks[_local1.callbackID];
if (error) {
handleError(_local1.args, _local2.callbackObject, _local2.callbackMethod);
}
}
}
static function handleError(args, callbackObject, callbackMethod) {
if (args != null) {
if (args.onError != null) {
args.onError.apply(null, ["NotConnected"]);
}
}
if (callbackMethod != null) {
args = {};
args.error = true;
args.errorCode = "NotConnected";
if ((callbackObject != null) && (typeof(callbackMethod) == "string")) {
callbackObject[callbackMethod](args);
} else if (callbackMethod != null) {
callbackMethod.apply(args);
}
}
}
static function send(methodName, args, callbackObject, callbackMethod) {
if (_connected) {
_sendChannel.send(_sendChannelName, "onReceive", {methodName:methodName, args:args, callbackID:_rcvChannel._nextcallbackID});
} else {
if ((_clip == undefined) || (!_connecting)) {
onError.apply(null, ["NotConnected"]);
handleError(args, callbackObject, callbackMethod);
flush(true);
return(undefined);
}
_sendChannel._queue.push({methodName:methodName, args:args, callbackID:_rcvChannel._nextcallbackID});
}
_rcvChannel._callbacks[_rcvChannel._nextcallbackID] = {callbackObject:callbackObject, callbackMethod:callbackMethod};
_rcvChannel._nextcallbackID++;
}
static var _gatewayURL = "http://www.mochiads.com/static/lib/services/services.swf";
static var _listenChannelName = "__mochiservices";
static var _connecting = false;
static var _connected = false;
}
Symbol 189 MovieClip [__Packages.MochiAd] Frame 0
class MochiAd
{
function MochiAd () {
}
static function getVersion() {
return("2.2");
}
static function showPreGameAd(options) {
var _local27 = {clip:_root, ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:16747008, background:16777161, outline:13994812, ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}};
options = _parseOptions(options, _local27);
var clip = options.clip;
var _local23 = 11000;
var _local26 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
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 _local7 = chk.createEmptyMovieClip("_mochiad_bar", 4);
_local7._x = 10;
_local7._y = _local13 - 20;
var _local22 = options.color;
delete options.color;
var _local19 = options.background;
delete options.background;
var _local24 = options.outline;
delete options.outline;
var _local5 = _local7.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 = _local7.createEmptyMovieClip("_inside", 2);
_local3.beginFill(_local22);
_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 _local6 = _local7.createEmptyMovieClip("_outline", 3);
_local6.lineStyle(0, _local24, 100);
_local6.moveTo(0, 0);
_local6.lineTo(_local4 - 20, 0);
_local6.lineTo(_local4 - 20, 10);
_local6.lineTo(0, 10);
_local6.lineTo(0, 0);
chk.ad_msec = _local23;
chk.ad_timeout = _local26;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adLoaded = function (width, height) {
};
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec;
};
chk.onEnterFrame = function () {
var _local6 = this._parent._parent;
var _local12 = this._parent._mochiad_ctr;
var _local5 = getTimer() - this.started;
var _local3 = false;
var _local4 = _local6.getBytesTotal();
var _local8 = _local6.getBytesLoaded();
var _local10 = (100 * _local8) / _local4;
var _local11 = (100 * _local5) / chk.ad_msec;
var _local9 = this._mochiad_bar._inside;
var _local2 = Math.min(100, Math.min(_local10 || 0, _local11));
_local2 = Math.max(this.last_pcnt, _local2);
this.last_pcnt = _local2;
_local9._xscale = _local2;
if (!chk.showing) {
var _local7 = _local12.getBytesTotal();
if ((_local7 > 0) || (typeof(_local7) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local5 > chk.ad_timeout) {
_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 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();
}};
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_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local5 = _getRes(options);
var _local14 = _local5[0];
var _local11 = _local5[1];
mc._x = _local14 * 0.5;
mc._y = _local11 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_msec = _local10;
chk.ad_timeout = _local12;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adLoaded = function (width, height) {
};
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec - 250;
};
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) {
_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 showTimedAd(options) {
showInterLevelAd(options);
}
static function showPreloaderAd(options) {
showPreGameAd(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 _loadCommunicator(options) {
var _local26 = {clip:_root, com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"};
options = _parseOptions(options, _local26);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = getVersion();
var _local18 = options.clip;
var _local20 = "_mochiad_com_" + options.id;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local18[_local20]) {
return(_local18[_local20].lc);
}
var _local21 = options.com_server + options.id;
_allowDomains(_local21);
delete options.id;
delete options.com_server;
var _local25 = options.depth;
delete options.depth;
var _local17 = _local18.createEmptyMovieClip(_local20, _local25);
var _local11 = _local17.createEmptyMovieClip("_mochiad_com", 1);
for (var _local15 in options) {
_local11[_local15] = options[_local15];
}
var _local6 = new LocalConnection();
var _local16 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local6.mc = _local17;
_local6.name = _local16;
_local6.allowDomain = function (d) {
return(true);
};
_local6.allowInsecureDomain = _local6.allowDomain;
_local6.connect(_local16);
_local17.lc = _local6;
_local11.lc = _local16;
_local6._id = 0;
_local6._queue = [];
_local6.rpcResult = function (cb_arg) {
var _local8 = parseInt(cb_arg);
var _local4 = this._callbacks[_local8];
if (!_local4) {
return(undefined);
}
delete this._callbacks[_local8];
var _local5 = [];
var _local3 = 2;
while (_local3 < _local4.length) {
_local5.push(_local4[_local3]);
_local3++;
}
_local3 = 1;
while (_local3 < arguments.length) {
_local5.push(arguments[_local3]);
_local3++;
}
var _local6 = _local4[1];
var _local7 = _local4[0];
if (_local7 && (typeof(_local6) == "string")) {
_local6 = _local7[_local6];
}
if (_local6) {
_local6.apply(_local7, _local5);
}
};
_local6._didConnect = function (endpoint) {
this._endpoint = endpoint;
var _local4 = this._queue;
delete this._queue;
var _local5 = this.doSend;
var _local2 = 0;
while (_local2 < _local4.length) {
var _local3 = _local4[_local2];
_local5.apply(this, _local3);
_local2++;
}
};
_local6.doSend = function (args, cbobj, cbfn) {
if (this._endpoint == null) {
var _local4 = [];
var _local3 = 0;
while (_local3 < arguments.length) {
_local4.push(arguments[_local3]);
_local3++;
}
this._queue.push(_local4);
return(undefined);
}
this._id = this._id + 1;
var _local5 = this._id;
if ((cbfn === undefined) || (cbfn === null)) {
cbfn = cbobj;
}
this._callbacks[_local5] = [cbobj, cbfn];
var _local7 = new LocalConnection();
var _local9 = _local7.send(this._endpoint, "rpc", _local5, args);
};
_local6._callbacks = {};
_local6._callbacks[0] = [_local6, "_didConnect"];
_local11.st = getTimer();
_local11.loadMovie(_local21 + ".swf", "POST");
return(_local6);
}
static function fetchHighScores(options, callbackObj, callbackMethod) {
var _local1 = _loadCommunicator({id:options.id});
if (!_local1) {
return(false);
}
var _local4 = ["fetchHighScores", options];
_local1.doSend(["fetchHighScores", options], callbackObj, callbackMethod);
return(true);
}
static function sendHighScore(options, callbackObj, callbackMethod) {
var _local1 = _loadCommunicator({id:options.id});
if (!_local1) {
return(false);
}
var _local4 = ["sendHighScore", options];
_local1.doSend(["sendHighScore", options], callbackObj, callbackMethod);
return(true);
}
static function load(options) {
var _local13 = {clip:_root, server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = _parseOptions(options, _local13);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = getVersion();
var _local9 = options.clip;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local9._mochiad_loaded) {
return(null);
}
var _local12 = options.depth;
delete options.depth;
var _local6 = _local9.createEmptyMovieClip("_mochiad", _local12);
var _local11 = _getRes(options);
options.res = (_local11[0] + "x") + _local11[1];
options.server = options.server + options.id;
delete options.id;
_local9._mochiad_loaded = true;
var _local4 = _local6.createEmptyMovieClip("_mochiad_ctr", 1);
for (var _local7 in options) {
_local4[_local7] = options[_local7];
}
var _local10 = _local4.server;
delete _local4.server;
var _local14 = _allowDomains(_local10);
_local6.onEnterFrame = function () {
if (this._mochiad_ctr._url != this._url) {
this.onEnterFrame = function () {
if (!this._mochiad_ctr) {
delete this.onEnterFrame;
MochiAd.unload(this._parent);
}
};
}
};
var _local5 = new LocalConnection();
var _local8 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local5.mc = _local6;
_local5.name = _local8;
_local5.hostname = _local14;
_local5.allowDomain = function (d) {
return(true);
};
_local5.allowInsecureDomain = _local5.allowDomain;
_local5.connect(_local8);
_local6.lc = _local5;
_local4.lc = _local8;
_local4.st = getTimer();
_local4.loadMovie(_local10 + ".swf", "POST");
return(_local6);
}
static function unload(clip) {
if (typeof(clip) == "undefined") {
clip = _root;
}
if (clip.clip && (clip.clip._mochiad)) {
clip = clip.clip;
}
if (!clip._mochiad) {
return(false);
}
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);
}
}
Symbol 190 MovieClip [__Packages.mochi.MochiScores] Frame 0
class mochi.MochiScores
{
static var boardID, onClose, onError;
function MochiScores () {
}
static function setBoardID(boardID) {
mochi.MochiScores.boardID = boardID;
mochi.MochiServices.send("scores_setBoardID", {boardID:boardID});
}
static function showLeaderboard(options) {
if (options.clip != null) {
if ((options.clip != mochi.MochiServices.__get__clip()) || (mochi.MochiServices.__get__childClip()._target == undefined)) {
mochi.MochiServices.disconnect();
mochi.MochiServices.connect(mochi.MochiServices.__get__id(), options.clip);
}
delete options.clip;
}
if (options.name != null) {
if (typeof(options.name) == "object") {
if (options.name.text != undefined) {
options.name = options.name.text;
}
}
}
if (options.score != null) {
if (typeof(options.score) == "object") {
if (options.score.text != undefined) {
options.score = options.score.text;
}
}
}
if (options.onDisplay != null) {
options.onDisplay();
} else {
mochi.MochiServices.__get__clip().stop();
}
if (options.onClose != null) {
onClose = options.onClose;
} else {
onClose = function () {
mochi.MochiServices.__get__clip().play();
};
}
if (options.onError != null) {
onError = options.onError;
} else {
onError = onClose;
}
if (options.boardID == null) {
if (boardID != null) {
options.boardID = boardID;
}
}
mochi.MochiServices.send("scores_showLeaderboard", {options:options}, null, doClose);
}
static function closeLeaderboard() {
mochi.MochiServices.send("scores_closeLeaderboard");
}
static function getPlayerInfo(callbackObj, callbackMethod) {
mochi.MochiServices.send("scores_getPlayerInfo", null, callbackObj, callbackMethod);
}
static function submit(score, name, callbackObj, callbackMethod) {
mochi.MochiServices.send("scores_submit", {score:score, name:name}, callbackObj, callbackMethod);
}
static function requestList(callbackObj, callbackMethod) {
mochi.MochiServices.send("scores_requestList", null, callbackObj, callbackMethod);
}
static function scoresArrayToObjects(scores) {
var _local5 = {};
var _local1;
var _local4;
var _local2;
var _local6;
for (var _local8 in scores) {
if (typeof(scores[_local8]) == "object") {
if ((scores[_local8].cols != null) && (scores[_local8].rows != null)) {
_local5[_local8] = [];
_local2 = scores[_local8];
_local4 = 0;
while (_local4 < _local2.rows.length) {
_local6 = {};
_local1 = 0;
while (_local1 < _local2.cols.length) {
_local6[_local2.cols[_local1]] = _local2.rows[_local4][_local1];
_local1++;
}
_local5[_local8].push(_local6);
_local4++;
}
} else {
_local5[_local8] = {};
for (var _local7 in scores[_local8]) {
_local5[_local8][_local7] = scores[_local8][_local7];
}
}
} else {
_local5[_local8] = scores[_local8];
}
}
return(_local5);
}
static function doClose(args) {
if (args.error == true) {
if (args.errorCode == undefined) {
args.errorCode = "IOError";
}
onError.apply(null, [args.errorCode]);
} else {
onClose.apply();
}
}
}
Symbol 57 MovieClip Frame 1
stop();
Symbol 57 MovieClip Frame 9
stop();
backButton.onRelease = function () {
_root.playSound("swoosh3", 100, 0, 1);
this._parent.play();
};
Symbol 57 MovieClip Frame 16
_root.ableButton(true);
Symbol 64 MovieClip Frame 1
stop();
Symbol 64 MovieClip Frame 9
stop();
backButton.onRelease = function () {
_root.playSound("swoosh3", 100, 0, 1);
this._parent.play();
};
Symbol 64 MovieClip Frame 16
_root.ableButton(true);
Symbol 68 MovieClip Frame 1
stop();
Symbol 68 MovieClip Frame 10
stop();
Symbol 105 MovieClip Frame 1
var numSects = 20;
var startY = -100;
var size = 3;
var speed = 4;
var inc = ((Math.PI*2) / numSects);
var w = 0;
flagDown._visible = false;
this.onEnterFrame = function () {
i = 1;
while (i <= numSects) {
this["flag" + i]._y = (startY + (Math.sin((w / speed) + (inc * i)) * (size * ((i * 3) / 20)))) + ((33 - this["flag" + i]._height) / 2);
if (_root.hp != 0) {
this["flag" + i]._y = this["flag" + i]._y + _root.flagOffset;
} else {
flagDown._visible = true;
this["flag" + i]._y = -400;
}
i++;
}
w++;
};
Symbol 177 MovieClip Frame 1
stop();
Symbol 177 MovieClip Frame 2
this.swapDepths(_root.getNextHighestDepth());
play();
Symbol 177 MovieClip Frame 12
stop();
var a = 0;
var b = 0;
var c = 0;
var d = 0;
yourScoreStr = "" + _root.playerScore;
levelBonusStr = "0";
dragonBonusStr = "0";
flagBonusStr = "0";
onEnterFrame = function () {
_root.playSound("metal2", 100, 0, 3);
if (a < ((_root.level - 1) * 1000)) {
a = a + 100;
levelBonusStr = "" + a;
} else if (b < (_root.dragonsKilled * 1000)) {
b = b + 100;
dragonBonusStr = "" + b;
} else if (c < (_root.hp * 500)) {
c = c + 50;
flagBonusStr = "" + c;
} else {
_root.playerScore = _root.playerScore + ((a + b) + c);
yourScoreStr = "" + _root.playerScore;
this.contained.continueButton.onRelease = function () {
this._parent._parent.gotoAndPlay("hide");
};
this.contained.continueButton.onRollOver = function () {
_root.playMetalSound();
this.filters = [new flash.filters.GlowFilter(16777215, 0.6, 5, 5, 2, 2, false, false)];
};
this.contained.continueButton.onRollOut = (this.contained.continueButton.onReleaseOutside = function () {
this.filters = [];
});
delete this.onEnterFrame;
}
};
Symbol 177 MovieClip Frame 23
stop();
_root.gotoAndStop("game");