Frame 1
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__("1a38f390", this, 10301, true);
Frame 2
urlStart = _url.indexOf("://") + 3;
urlEnd = _url.indexOf("/", urlStart);
domain = _url.substring(urlStart, urlEnd);
LastDot = domain.lastIndexOf(".") - 1;
domEnd = domain.lastIndexOf(".", LastDot) + 1;
domain = domain.substring(domEnd, domain.length);
if (domain == "kongregate.com") {
Preloader.gotoAndPlay("Load");
} else if (Math.random() > 0.5) {
MochiAd.showPreGameAd({id:"4a4d993e02310b19", res:"701x501"});
Preloader.stop();
} else {
Preloader.gotoAndPlay("Load");
var CPMStarPoolID = 1059;
var CPMStarSubPoolID = 801;
System.security.allowDomain("server.cpmstar.com");
adBox.loadMovie((("http://server.cpmstar.com/adviewas2.swf?poolid=" + CPMStarPoolID) + "&subpoolid=") + CPMStarSubPoolID);
stop();
}
Frame 6
Mouse.show();
stop();
Frame 7
function MakeSpirits(Num, Type) {
a = 0;
while (a < Num) {
Temp = Enemies.attachMovie("Spirit", Enemies.getNextHighestDepth(), Enemies.getNextHighestDepth());
if (Math.random() < 0.5) {
Temp._x = 0;
} else {
Temp._x = Stage.width;
Temp._rotation = 180;
}
Temp._y = Math.random() * Stage.height;
Temp.Purity = Type;
switch (Type) {
case 2 :
case 1 :
PossiblePoints = PossiblePoints + 25;
break;
case 0 :
PossiblePoints = PossiblePoints + 15;
}
a++;
}
}
function MakeWisp() {
Temp = Enemies.attachMovie("Wisp", Enemies.getNextHighestDepth(), Enemies.getNextHighestDepth());
Temp._x = Math.random() * Stage.width;
Temp._y = Math.random() * Stage.height;
PossiblePoints = PossiblePoints + 40;
}
function HitTree(Purity) {
switch (Purity) {
case 0 :
if (Life < 13) {
Life = Life + 1;
}
SetScore(TreeGfx._x, TreeGfx._y, 10);
break;
case 1 :
Life = Life - 1;
SetScore(TreeGfx._x, TreeGfx._y, -10);
break;
case 2 :
Life = Life - 2;
SetScore(TreeGfx._x, TreeGfx._y, -20);
}
if (Life <= 1) {
Life = 1;
GameOverToggle(1);
TutorialToggle(-1);
PauseToggle(-1);
Done = true;
Paused = true;
Mouse.show();
}
TreeGfx.gotoAndStop(Life);
TreeShadowGfx.gotoAndStop(Life);
}
function SetScore(PosX, PosY, Num) {
Score = Score + Num;
if (Score < 0) {
Score = 0;
}
if (Num > 0) {
SoftHit.start();
} else {
Firework.start();
}
ScoreTxt.text = "Score: " + Score;
Temp = Scores.attachMovie("ScoreFloat", Scores.getNextHighestDepth(), Scores.getNextHighestDepth());
Temp._x = PosX;
Temp._y = PosY;
if (Num > 0) {
Temp.Txt.Txt.text = "+" + Num;
} else {
var _local2 = new TextFormat();
_local2.color = 65535;
Temp.Txt.Txt.text = Num;
Temp.Txt.Txt.setTextFormat(_local2);
var _local3 = Temp.Txt.Txt.filters;
_local3[0].color = 255;
Temp.Txt.Txt.filters = _local3;
}
}
function Poof(X, Y) {
a = 0;
while (a < (8 * _root.ParticleDetail)) {
Temp = _root.Sparks.attachMovie("MovingPoof", _root.Sparks.getNextHighestDepth(), _root.Sparks.getNextHighestDepth());
Temp._x = (X + (Math.random() * 10)) - (Math.random() * 10);
Temp._y = (Y + (Math.random() * 10)) - (Math.random() * 10);
Temp._rotation = Math.random() * 359;
a++;
}
}
function TutorialToggle(Num) {
if (Num > 0) {
PauseToggle(-1);
Tut = true;
Tutorial._x = Stage.width / 2;
Tutorial._visible = true;
} else {
if (Paused == true) {
PauseToggle(1);
}
Tut = false;
Tutorial._x = -1000;
Tutorial._visible = false;
}
}
function PauseToggle(Num) {
if (Num > 0) {
Mouse.show();
Pause._x = Stage.width / 2;
Pause._visible = true;
} else {
Mouse.hide();
Pause._x = -1000;
Pause._visible = false;
}
}
function GameOverToggle(Num) {
if (Num > 0) {
GameOver._x = Stage.width / 2;
GameOver._visible = true;
} else {
GameOver._x = -1000;
GameOver._visible = false;
}
}
var SpiritBitmap = (new flash.display.BitmapData(Stage.width, Stage.height, true, 0));
var PhoenixBitmap = (new flash.display.BitmapData(Stage.width, Stage.height, true, 0));
Sparks.attachBitmap(PhoenixBitmap, Sparks.getNextHighestDepth());
Sparks.attachBitmap(SpiritBitmap, Sparks.getNextHighestDepth());
var FireFilter = (new flash.filters.BlurFilter(2, 2, 1));
var GenPoint = (new flash.geom.Point(0, 0));
var ColTran = (new flash.geom.ColorTransform(1, 1, 1, 1, 0, 10, 10, -5));
var SpirTran = (new flash.geom.ColorTransform(1, 1, 1, 1, 1, 1, 1, -2));
var SoftHit = new Sound();
SoftHit.attachSound("SoftHit");
var FireballSound = new Sound();
FireballSound.attachSound("FireballSound");
var Firework = new Sound();
Firework.attachSound("Firework");
var Temp;
var a;
var b;
var Radians = 57.2957795130823;
var ParticleDetail = 1;
var Paused = true;
var Done = false;
var Win = false;
var KeyDownz = false;
var SoundOn = true;
var Life = 13;
var Score = 0;
var Counter = 0;
var Section = 0;
var NormWaves = 13;
var MaxWaves = NormWaves;
var Waves = (MaxWaves + 1);
var Part = 0;
var Tut = false;
var PossiblePoints = 0;
MenuUp = false;
GameOverToggle(-1);
TreeGfx.gotoAndStop(Life);
TreeShadowGfx.gotoAndStop(Life);
TutorialToggle(1);
onMouseDown = function () {
if (Paused == false) {
FireballSound.start();
Temp = _root.Fireballs.attachMovie("Fireball", _root.Fireballs.getNextHighestDepth(), _root.Fireballs.getNextHighestDepth());
Temp._x = Phoenix.Body._x;
Temp._y = Phoenix.Body._y;
Temp.X = Math.cos((Phoenix.Body._rotation + 180) / Radians) * 15;
Temp.Y = Math.sin((Phoenix.Body._rotation + 180) / Radians) * 15;
Temp._rotation = Phoenix.Body._rotation + 180;
}
};
Frame 8
if ((Key.isDown(80) && (KeyDownz == false)) && (Done == false)) {
KeyDownz = true;
if (Paused == false) {
Paused = true;
PauseToggle(1);
} else {
Paused = false;
PauseToggle(-1);
TutorialToggle(-1);
}
}
if (!Key.isDown(80)) {
KeyDownz = false;
}
if (Paused == false) {
if (ParticleDetail > 0) {
Sparks._visible = true;
SpiritBitmap.colorTransform(SpiritBitmap.rectangle, SpirTran);
PhoenixBitmap.colorTransform(PhoenixBitmap.rectangle, ColTran);
PhoenixBitmap.scroll(0, 2);
} else {
Sparks._visible = false;
}
if (Counter <= 0) {
if (Waves <= MaxWaves) {
Counter = Counter + 90;
Waves = Waves + 1;
switch (Part) {
case 1 :
MakeSpirits(4, 1);
break;
case 2 :
MakeWisp();
MakeSpirits(2, 2);
break;
case 3 :
MakeSpirits(5, 1);
break;
case 4 :
MakeWisp();
MakeSpirits(6, 1);
break;
case 5 :
MaxWaves = 30;
MakeWisp();
Counter = 30;
break;
case 6 :
MaxWaves = NormWaves;
MakeSpirits(3, 2);
break;
case 7 :
if ((((Waves == 1) || (Waves == 3)) || (Waves == 4)) || (Waves == 6)) {
MakeSpirits(1, 2);
}
MakeSpirits(3, 1);
break;
case 8 :
if ((((Waves == 1) || (Waves == 2)) || (Waves == 4)) || (Waves == 7)) {
MakeSpirits(1, 2);
}
MakeSpirits(4, 1);
break;
case 9 :
MaxWaves = 30;
MakeSpirits(4, 0);
Counter = 30;
break;
case 10 :
MaxWaves = NormWaves;
MakeWisp();
MakeSpirits(7, 1);
break;
case 11 :
MaxWaves = 50;
MakeWisp();
Counter = 20;
break;
case 12 :
MaxWaves = NormWaves;
MakeWisp();
MakeSpirits(3, 2);
break;
case 13 :
MakeWisp();
if (((Waves == 1) || (Waves == 3)) || (Waves == 5)) {
MakeSpirits(1, 2);
}
MakeSpirits(8, 1);
break;
case 14 :
MaxWaves = 70;
MakeWisp();
Counter = 10;
break;
case 15 :
MaxWaves = 70;
MakeSpirits(1, 0);
Counter = 10;
break;
case 16 :
GameOverToggle(1);
GameOver.gotoAndPlay("Win");
TutorialToggle(-1);
PauseToggle(-1);
Done = true;
Win = true;
}
} else {
Part = Part + 1;
Waves = 1;
if (Part < 16) {
Counter = Counter + 200;
PartFader.gotoAndPlay("Display");
PartFader.PartText.PartText.text = ("Part " + Part) + " of 15";
if (Part > 1) {
PointScoreFader.gotoAndPlay("Display");
PointScoreFader.PartText.PartText.text = ("Points Collected: " + Math.ceil((Score * 100) / PossiblePoints)) + "%";
}
} else {
Counter = Counter + 400;
}
}
}
Counter--;
}
Frame 9
gotoAndPlay ("Main");
Symbol 7 MovieClip [LogoParticle] Frame 81
this.swapDepths(0);
this.removeMovieClip();
Symbol 297 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 17 Button
on (release) {
_root.play();
this.stop();
}
Symbol 18 MovieClip Frame 2
var Total = _root.getBytesTotal();
var Loaded = 0;
Symbol 18 MovieClip Frame 3
if (Loaded < ((_root.getBytesLoaded() * 100) / Total)) {
Loaded = Loaded + 0.5;
}
Loadbar._xscale = Loaded;
if (Loaded >= 100) {
gotoAndStop ("Button");
}
Symbol 18 MovieClip Frame 4
gotoAndPlay ("Main");
Symbol 22 Button
on (release) {
getURL ("http://www.Particlasm.com/", "_blank");
}
Symbol 28 MovieClip Frame 10
stop();
Symbol 33 MovieClip Frame 10
stop();
Symbol 38 MovieClip Frame 10
stop();
Symbol 43 MovieClip Frame 10
stop();
Symbol 48 MovieClip Frame 10
stop();
Symbol 53 MovieClip Frame 10
stop();
Symbol 58 MovieClip Frame 10
stop();
Symbol 63 MovieClip Frame 10
stop();
Symbol 68 MovieClip Frame 10
stop();
Symbol 71 MovieClip Frame 20
stop();
Symbol 72 MovieClip Frame 1
_root.stop();
var PTC;
var a;
var CurrentItem;
var Rand;
var Rand2;
var LogoSound = new Sound();
LogoSound.attachSound("LogoSound");
Symbol 72 MovieClip Frame 5
CurrentItem = LogoP;
Rand = Math.random() * 360;
Rand2 = 5 + Math.ceil(Math.random() * 5);
a = 1;
while (a <= Rand2) {
PTC = LogoParticleHolder.attachMovie("LogoParticle", LogoParticleHolder.getNextHighestDepth(), LogoParticleHolder.getNextHighestDepth());
PTC._x = CurrentItem._x;
PTC._y = CurrentItem._y;
PTC._rotation = Rand + ((a * 360) / Rand2);
a++;
}
LogoSound.start();
Symbol 72 MovieClip Frame 9
CurrentItem = LogoC;
Rand = Math.random() * 360;
Rand2 = 5 + Math.ceil(Math.random() * 5);
a = 1;
while (a <= Rand2) {
PTC = LogoParticleHolder.attachMovie("LogoParticle", LogoParticleHolder.getNextHighestDepth(), LogoParticleHolder.getNextHighestDepth());
PTC._x = CurrentItem._x;
PTC._y = CurrentItem._y;
PTC._rotation = Rand + ((a * 360) / Rand2);
a++;
}
LogoSound.start();
Symbol 72 MovieClip Frame 13
CurrentItem = LogoR;
Rand = Math.random() * 360;
Rand2 = 5 + Math.ceil(Math.random() * 5);
a = 1;
while (a <= Rand2) {
PTC = LogoParticleHolder.attachMovie("LogoParticle", LogoParticleHolder.getNextHighestDepth(), LogoParticleHolder.getNextHighestDepth());
PTC._x = CurrentItem._x;
PTC._y = CurrentItem._y;
PTC._rotation = Rand + ((a * 360) / Rand2);
a++;
}
LogoSound.start();
Symbol 72 MovieClip Frame 17
CurrentItem = LogoT;
Rand = Math.random() * 360;
Rand2 = 5 + Math.ceil(Math.random() * 5);
a = 1;
while (a <= Rand2) {
PTC = LogoParticleHolder.attachMovie("LogoParticle", LogoParticleHolder.getNextHighestDepth(), LogoParticleHolder.getNextHighestDepth());
PTC._x = CurrentItem._x;
PTC._y = CurrentItem._y;
PTC._rotation = Rand + ((a * 360) / Rand2);
a++;
}
LogoSound.start();
Symbol 72 MovieClip Frame 21
CurrentItem = LogoI;
Rand = Math.random() * 360;
Rand2 = 5 + Math.ceil(Math.random() * 5);
a = 1;
while (a <= Rand2) {
PTC = LogoParticleHolder.attachMovie("LogoParticle", LogoParticleHolder.getNextHighestDepth(), LogoParticleHolder.getNextHighestDepth());
PTC._x = CurrentItem._x;
PTC._y = CurrentItem._y;
PTC._rotation = Rand + ((a * 360) / Rand2);
a++;
}
LogoSound.start();
Symbol 72 MovieClip Frame 25
CurrentItem = LogoA;
Rand = Math.random() * 360;
Rand2 = 5 + Math.ceil(Math.random() * 5);
a = 1;
while (a <= Rand2) {
PTC = LogoParticleHolder.attachMovie("LogoParticle", LogoParticleHolder.getNextHighestDepth(), LogoParticleHolder.getNextHighestDepth());
PTC._x = CurrentItem._x;
PTC._y = CurrentItem._y;
PTC._rotation = Rand + ((a * 360) / Rand2);
a++;
}
LogoSound.start();
Symbol 72 MovieClip Frame 29
CurrentItem = LogoM;
Rand = Math.random() * 360;
Rand2 = 5 + Math.ceil(Math.random() * 5);
a = 1;
while (a <= Rand2) {
PTC = LogoParticleHolder.attachMovie("LogoParticle", LogoParticleHolder.getNextHighestDepth(), LogoParticleHolder.getNextHighestDepth());
PTC._x = CurrentItem._x;
PTC._y = CurrentItem._y;
PTC._rotation = Rand + ((a * 360) / Rand2);
a++;
}
LogoSound.start();
Symbol 72 MovieClip Frame 33
CurrentItem = LogoA2;
Rand = Math.random() * 360;
Rand2 = 5 + Math.ceil(Math.random() * 5);
a = 1;
while (a <= Rand2) {
PTC = LogoParticleHolder.attachMovie("LogoParticle", LogoParticleHolder.getNextHighestDepth(), LogoParticleHolder.getNextHighestDepth());
PTC._x = CurrentItem._x;
PTC._y = CurrentItem._y;
PTC._rotation = Rand + ((a * 360) / Rand2);
a++;
}
LogoSound.start();
Symbol 72 MovieClip Frame 37
CurrentItem = LogoS;
Rand = Math.random() * 360;
Rand2 = 5 + Math.ceil(Math.random() * 5);
a = 1;
while (a <= Rand2) {
PTC = LogoParticleHolder.attachMovie("LogoParticle", LogoParticleHolder.getNextHighestDepth(), LogoParticleHolder.getNextHighestDepth());
PTC._x = CurrentItem._x;
PTC._y = CurrentItem._y;
PTC._rotation = Rand + ((a * 360) / Rand2);
a++;
}
LogoSound.start();
Symbol 72 MovieClip Frame 41
CurrentItem = LogoL;
Rand = Math.random() * 360;
Rand2 = 5 + Math.ceil(Math.random() * 5);
a = 1;
while (a <= Rand2) {
PTC = LogoParticleHolder.attachMovie("LogoParticle", LogoParticleHolder.getNextHighestDepth(), LogoParticleHolder.getNextHighestDepth());
PTC._x = CurrentItem._x;
PTC._y = CurrentItem._y;
PTC._rotation = Rand + ((a * 360) / Rand2);
a++;
}
LogoSound.start();
Symbol 72 MovieClip Frame 131
stop();
_root.play();
Symbol 75 Button
on (release) {
getURL ("http://www.kongregate.com/?gamereferral=Phoenix", "_blank");
}
Symbol 102 MovieClip Frame 1
_root.stop();
Symbol 102 MovieClip Frame 146
_root.play();
Symbol 113 Button
on (release) {
getURL ("http://www.kongregate.com/?gamereferral=Phoenix", "_blank");
}
Symbol 114 Button
on (release) {
getURL ("http://www.Particlasm.com/", "_blank");
}
Symbol 117 Button
on (release) {
gotoAndPlay ("Load");
}
Symbol 118 Button
on (release) {
getURL ("http://hania.newgrounds.com/", "_blank");
}
Symbol 134 MovieClip Frame 1
stop();
Symbol 138 MovieClip Frame 1
onEnterFrame = function () {
if ((_root.Paused == true) || (Going == false)) {
stop();
} else {
play();
}
};
Going = false;
Symbol 138 MovieClip Frame 2
Going = true;
Symbol 138 MovieClip Frame 180
Going = false;
Symbol 142 MovieClip Frame 1
Going = false;
onEnterFrame = function () {
if ((_root.Paused == true) || (Going == false)) {
stop();
} else {
play();
}
};
Symbol 142 MovieClip Frame 2
Going = true;
Symbol 142 MovieClip Frame 180
Going = false;
Symbol 146 Button
on (release) {
_root.gotoAndPlay("Menu");
}
Symbol 153 Button
on (release) {
getURL ("http://www.kongregate.com/?gamereferral=Phoenix", "_blank");
}
Symbol 157 Button
on (release) {
getURL ("http://www.Particlasm.com/", "_blank");
}
Symbol 159 MovieClip Frame 1
onEnterFrame = function () {
FinalScoreTxt.text = _root.Score + " of 26275";
};
Symbol 159 MovieClip Frame 2
gotoAndPlay ("Lose");
Symbol 159 MovieClip Frame 4
gotoAndPlay ("Win");
Symbol 162 Button
on (release) {
_root.TutorialToggle();
}
Symbol 168 Button
on (release) {
nextFrame();
}
Symbol 173 Button
on (release) {
prevFrame();
}
Symbol 206 MovieClip Frame 1
stop();
Symbol 235 MovieClip Frame 1
onEnterFrame = function () {
if ((_root.Paused == true) && (_root.Tut == false)) {
Wings.stop();
} else {
Wings.play();
}
};
Symbol 236 MovieClip Frame 1
var Segment = new Array(new flash.geom.Point(), Body, Tail.Seg2, Tail.Seg3, Tail.Seg4, Tail.Seg5, Tail.Seg6, Tail.Seg7, Tail.Seg8, Tail.Seg9, Tail.Seg10, new flash.geom.Point());
var Follow = 25;
var Temp;
var Temp1;
var Temp2;
a = 1;
while (a <= Segment.length) {
Segment[a]._xscale = 100 - (2 * a);
Segment[a]._yscale = Segment[a]._xscale;
a++;
}
Symbol 236 MovieClip Frame 2
if ((_root.Paused == false) || (_root.Tut == true)) {
Segment[0]._x = _xmouse;
Segment[0]._y = _ymouse;
Segment[1]._x = (_xmouse + Segment[1]._x) / 2;
Segment[1]._y = (_ymouse + Segment[1]._y) / 2;
TempX = 0;
TempY = 0;
a = 1;
while (a <= Segment.length) {
Temp = (Math.atan2(Segment[a - 1]._y - Segment[a + 1]._y, Segment[a - 1]._x - Segment[a + 1]._x) * _root.Radians) + 180;
if ((a > 2) && (a < Segment.length)) {
Temp = Temp + (Math.random() - Math.random());
if ((Math.random() * 2) < _root.ParticleDetail) {
Temp1 = (Segment[a]._x + (Math.random() * 20)) - (Math.random() * 20);
Temp2 = (Segment[a]._y + (Math.random() * 20)) - (Math.random() * 20);
if ((Temp2 > 5) && (_root.Paused == false)) {
_root.PhoenixBitmap.setPixel32(Temp1, Temp2, 4294936576);
_root.PhoenixBitmap.setPixel32(Temp1 + 1, Temp2, 3724511232);
_root.PhoenixBitmap.setPixel32(Temp1 - 1, Temp2, 3724511232);
_root.PhoenixBitmap.setPixel32(Temp1, Temp2 + 1, 3724511232);
_root.PhoenixBitmap.setPixel32(Temp1, Temp2 - 1, 3724511232);
}
}
}
Segment[a]._rotation = Temp;
Segment[a + 1]._x = Segment[a]._x + (Math.cos(Segment[a]._rotation / _root.Radians) * Follow);
Segment[a + 1]._y = Segment[a]._y + (Math.sin(Segment[a]._rotation / _root.Radians) * Follow);
a++;
}
}
Symbol 236 MovieClip Frame 3
gotoAndPlay ("Main");
Symbol 241 Button
on (release) {
_root.TutorialToggle(1);
}
Symbol 244 Button
on (release) {
switch (_root.ParticleDetail) {
case 2 :
_root.ParticleDetail = 1;
break;
case 1 :
_root.ParticleDetail = 0;
break;
case 0 :
_root.ParticleDetail = 2;
}
}
Symbol 248 MovieClip Frame 1
onEnterFrame = function () {
switch (_root.ParticleDetail) {
case 2 :
this.gotoAndStop("High");
break;
case 1 :
this.gotoAndStop("Low");
break;
case 0 :
this.gotoAndStop("Off");
}
};
Symbol 251 Button
on (release) {
switch (_root._quality) {
case "HIGH" :
_root._quality = "MEDIUM";
break;
case "MEDIUM" :
_root._quality = "LOW";
break;
case "LOW" :
_root._quality = "HIGH";
}
}
Symbol 253 MovieClip Frame 1
onEnterFrame = function () {
switch (_root._quality) {
case "HIGH" :
this.gotoAndStop("High");
break;
case "MEDIUM" :
this.gotoAndStop("Medium");
break;
case "LOW" :
this.gotoAndStop("Low");
}
};
Symbol 256 Button
on (release) {
switch (_root.SoundOn) {
case true :
_root.SoundOn = false;
_root.SoftHit.setVolume(0);
break;
case false :
_root.SoundOn = true;
_root.SoftHit.setVolume(100);
}
}
Symbol 259 MovieClip Frame 1
onEnterFrame = function () {
switch (_root.SoundOn) {
case true :
this.gotoAndStop("On");
break;
case false :
this.gotoAndStop("Off");
}
};
Symbol 262 Button
on (release) {
getURL ("http://hania.newgrounds.com/", "_blank");
}
Symbol 272 MovieClip [Spirit] Frame 1
function Die() {
_root.Poof(this._x, this._y);
this.removeMovieClip();
}
var NormSpeed = 2.5;
var BounceInt = 10;
var Turn = 1.5;
var Drag = 0.05;
var TailSpread = 8;
var Purity;
var Speed = NormSpeed;
var Target = 0;
var Bounced = 0;
var ThisCol = new Color(this.Body);
var Col;
switch (Purity) {
case 0 :
Col = 4294967295;
break;
case 1 :
Col = 4293489266;
break;
case 2 :
Col = 4279531998;
}
ThisCol.setRGB(Col);
Symbol 272 MovieClip [Spirit] Frame 2
if (_root.Paused == false) {
Target = (Math.atan2(this._y - _root.TreeHit._y, this._x - _root.TreeHit._x) * _root.Radians) + 180;
if (Target < -180) {
Target = Target + 360;
}
if (Target > 180) {
Target = Target - 360;
}
if (Target < 0) {
if ((this._rotation > Target) && (this._rotation < (180 - Math.abs(Target)))) {
this._rotation = this._rotation - Turn;
} else {
this._rotation = this._rotation + Turn;
}
} else if ((this._rotation < Target) && (this._rotation > (-(180 - Math.abs(Target))))) {
this._rotation = this._rotation + Turn;
} else {
this._rotation = this._rotation - Turn;
}
if (_root.Phoenix.Tail.hitTest(this._x, this._y, true)) {
if (Bounced <= 0) {
this._rotation = this._rotation + 180;
switch (Purity) {
case 2 :
_root.SetScore(this._x, this._y, -5);
break;
case 1 :
_root.SetScore(this._x, this._y, 10);
Col = 4294967295;
ThisCol.setRGB(Col);
Purity = 0;
}
}
Bounced = BounceInt;
if (Speed < (NormSpeed * 5)) {
Speed = Speed + 1;
}
_root.Poof(this._x, this._y);
}
if (_root.Phoenix.Body.hitTest(this._x, this._y, true)) {
if (Bounced <= 0) {
this._rotation = this._rotation + 180;
switch (Purity) {
case 2 :
_root.SetScore(this._x, this._y, -15);
break;
case 1 :
_root.SetScore(this._x, this._y, -15);
Col = 4294967295;
ThisCol.setRGB(Col);
Purity = 0;
break;
case 0 :
_root.SetScore(this._x, this._y, 15);
Die();
}
Bounced = BounceInt;
}
if (Speed < (NormSpeed * 5)) {
Speed = Speed + 1;
}
_root.Poof(this._x, this._y);
}
if (_root.Fireballs.hitTest(this._x, this._y, true) && (Bounced <= 0)) {
Bounced = 5;
_root.Poof(this._x, this._y);
switch (Purity) {
case 2 :
_root.SetScore(this._x, this._y, 10);
Col = 4294967295;
ThisCol.setRGB(Col);
Purity = 0;
break;
case 1 :
Col = 4294967295;
ThisCol.setRGB(Col);
Purity = 0;
_root.SetScore(this._x, this._y, 5);
break;
case 0 :
_root.SetScore(this._x, this._y, 5);
Die();
}
}
if (Bounced > 0) {
Bounced--;
}
if (_root.TreeHit.hitTest(this)) {
_root.HitTree(Purity);
_root.Poof(this._x, this._y);
this.removeMovieClip();
}
this._x = this._x + (Math.cos(this._rotation / _root.Radians) * Speed);
this._y = this._y + (Math.sin(this._rotation / _root.Radians) * Math.abs(Speed));
if (Speed > NormSpeed) {
Speed = Speed - Drag;
}
if (_root.ParticleDetail > 0) {
_root.SpiritBitmap.setPixel32((this._x + (Math.random() * TailSpread)) - (Math.random() * TailSpread), (this._y + (Math.random() * TailSpread)) - (Math.random() * TailSpread), Col);
}
if (_root.Win == true) {
Die();
}
}
Symbol 272 MovieClip [Spirit] Frame 3
gotoAndPlay ("Main");
Symbol 275 MovieClip [ScoreFloat] Frame 1
onEnterFrame = function () {
if (_root.Paused == true) {
stop();
} else {
play();
}
};
Symbol 275 MovieClip [ScoreFloat] Frame 31
this.removeMovieClip();
Symbol 278 MovieClip [MovingPoof] Frame 1
onEnterFrame = function () {
if (_root.Paused == true) {
stop();
} else {
play();
}
};
Symbol 278 MovieClip [MovingPoof] Frame 16
this.removeMovieClip();
Symbol 291 MovieClip Frame 1
onEnterFrame = function () {
if (_root.Paused == true) {
stop();
} else {
play();
}
};
Symbol 292 MovieClip [Wisp] Frame 1
var Speed = 1;
var Rotate = 5;
var Angle = (Math.random() * 359);
var Fade = 100;
_root.Poof(this._x, this._y);
Symbol 292 MovieClip [Wisp] Frame 2
if (_root.Paused == false) {
Angle = Angle + ((Math.random() * Rotate) - (Math.random() * Rotate));
this._x = this._x + (Math.cos(Angle / _root.Radians) * Speed);
this._y = this._y + (Math.sin(Angle / _root.Radians) * Math.abs(Speed));
if (this._x < 0) {
this._x = this._x + Stage.width;
}
if (this._x > Stage.width) {
this._x = this._x - Stage.width;
}
if (this._y < 0) {
this._y = this._y + Stage.height;
}
if (this._y > Stage.height) {
this._y = this._y - Stage.height;
}
if (Fade < 0) {
_root.Poof(this._x, this._y);
this.removeMovieClip();
}
Fade--;
this._alpha = Fade;
if (_root.Phoenix.Body.hitTest(this)) {
_root.SetScore(this._x, this._y, 20);
_root.Poof(this._x, this._y);
this.removeMovieClip();
}
if (_root.Fireballs.hitTest(this._x, this._y, true)) {
_root.SetScore(this._x, this._y, 40);
_root.Poof(this._x, this._y);
this.removeMovieClip();
}
}
Symbol 292 MovieClip [Wisp] Frame 3
gotoAndPlay ("Main");
Symbol 295 MovieClip [Fireball] Frame 1
var Temp1 = 0;
var Temp2 = 0;
var X;
var Y;
var Slow = 0.98;
Symbol 295 MovieClip [Fireball] Frame 2
if (_root.Paused == false) {
a = 1;
while (a <= _root.ParticleDetail) {
Temp1 = (this._x + (Math.random() * 10)) - (Math.random() * 10);
Temp2 = (this._y + (Math.random() * 10)) - (Math.random() * 10);
_root.SpiritBitmap.setPixel32(Temp1, Temp2, 4294967040);
_root.SpiritBitmap.setPixel32(Temp1 + 1, Temp2, 3724511232);
_root.SpiritBitmap.setPixel32(Temp1 - 1, Temp2, 3724511232);
_root.SpiritBitmap.setPixel32(Temp1, Temp2 + 1, 3724511232);
_root.SpiritBitmap.setPixel32(Temp1, Temp2 - 1, 3724511232);
a++;
}
this._x = this._x + X;
this._y = this._y + Y;
X = X * Slow;
Y = Y * Slow;
if ((((X < 1) && (Y < 1)) && (X > -1)) && (Y > -1)) {
this.removeMovieClip();
}
}
Symbol 295 MovieClip [Fireball] Frame 3
gotoAndPlay ("Main");