Frame 1
MochiAd.showPreGameAd({id:"60230d6424bb8335", res:"570x450"});
Instance of Symbol 94 MovieClip in Frame 2
on (release) {
_root.getURL("http://www.holygrailgames.com", "_blank");
}
Frame 3
iBytesTotal = _root.getBytesTotal();
iBytesLoaded = _root.getBytesLoaded();
iBytes = Math.ceil((iBytesLoaded / iBytesTotal) * 100);
_root.txtLoading.text = iBytes + "%";
Frame 4
function GoAhead() {
clearInterval(_root.SmallWaiting);
gotoAndPlay (5);
}
if (iBytes < 100) {
gotoAndPlay (3);
} else {
stop();
_root.SmallWaiting = setInterval(GoAhead, 5000);
}
Frame 6
function Initialize() {
_root.aToRemove = new Array();
_root.mcScore.txtScore.text = "0";
_root.Score = 0;
_root.mcTotals.txtRedTotal.text = "0";
_root.mcTotals.txtYellowTotal.text = "0";
Turn = "human";
traceMatrix("aBoard", 9, 9);
var _local3 = 1;
while (_local3 <= 58) {
_root["mcHexa" + _local3].attachMovie("mcShine1", "mcShine1", 1);
_root["mcHexa" + _local3].mcShine1._x = 0;
_root["mcHexa" + _local3].mcShine1._y = 0;
_root["mcHexa" + _local3].mcShine1._visible = false;
_root["mcHexa" + _local3].attachMovie("mcShine2", "mcShine2", 2);
_root["mcHexa" + _local3].mcShine2._x = 0;
_root["mcHexa" + _local3].mcShine2._y = 0;
_root["mcHexa" + _local3].mcShine2._visible = false;
_root["mcHexa" + _local3].onRollOver = function () {
if (Turn == "human") {
if (((this._mytype == "red") or (this.mcShine1._visible == true)) or (this.mcShine2._visible == true)) {
this.useHandCursor = true;
} else {
this.useHandCursor = false;
}
} else {
this.useHandCursor = false;
}
};
_root["mcHexa" + _local3].onRelease = function () {
if ((this._mytype == "red") and (Turn == "human")) {
ClickedPiece = this._name;
_root.ShowNeighbours(this._name);
}
if (this.mcShine1._visible == true) {
_root.Roll(this._name);
}
if (this.mcShine2._visible == true) {
_root.Jump(this._name);
}
};
_local3++;
}
_root.mcHexa5.attachMovie("mcPiece", "mcPiece", 3);
_root.mcHexa5.mcPiece.gotoAndStop("yellow");
_root.mcHexa5.mcPiece._xscale = 130;
_root.mcHexa36.attachMovie("mcPiece", "mcPiece", 3);
_root.mcHexa36.mcPiece.gotoAndStop("yellow");
_root.mcHexa36.mcPiece._xscale = 130;
_root.mcHexa42.attachMovie("mcPiece", "mcPiece", 3);
_root.mcHexa42.mcPiece.gotoAndStop("yellow");
_root.mcHexa42.mcPiece._xscale = 130;
_root.mcHexa5._mytype = "yellow";
_root.mcHexa5._myrow = 0;
_root.mcHexa5._mycol = 4;
_root.mcHexa36._mytype = "yellow";
_root.mcHexa36._myrow = 6;
_root.mcHexa36._mycol = 0;
_root.mcHexa42._mytype = "yellow";
_root.mcHexa42._myrow = 5;
_root.mcHexa42._mycol = 6;
_root.mcHexa1.attachMovie("mcPiece", "mcPiece", 3);
_root.mcHexa1.mcPiece._xscale = 130;
_root.mcHexa1.mcPiece.gotoAndStop("red");
_root.mcHexa9.attachMovie("mcPiece", "mcPiece", 3);
_root.mcHexa9.mcPiece._xscale = 130;
_root.mcHexa9.mcPiece.gotoAndStop("red");
_root.mcHexa58.attachMovie("mcPiece", "mcPiece", 3);
_root.mcHexa58.mcPiece.gotoAndStop("red");
_root.mcHexa58.mcPiece._xscale = 130;
_root.mcHexa1._mytype = "red";
_root.mcHexa1._myrow = 2;
_root.mcHexa1._mycol = 0;
_root.mcHexa9._mytype = "red";
_root.mcHexa9._myrow = 2;
_root.mcHexa9._mycol = 8;
_root.mcHexa58._mytype = "red";
_root.mcHexa58._myrow = 8;
_root.mcHexa58._mycol = 4;
Mouse.hide();
_root.attachMovie("mcCursor", "mcCursor", 200000);
_root.mcCursor._x = _xmouse;
_root.mcCursor._y = _ymouse;
_root.onMouseMove = function () {
updateAfterEvent();
_root.mcCursor._x = _xmouse;
_root.mcCursor._y = _ymouse;
};
_root.mcTotals.txtRedTotal.text = "3";
_root.mcTotals.txtYellowTotal.text = "3";
}
function SetBoardMatrix() {
aBoard = undefined;
cMt("aBoard", 9, 9);
fMt("aBoard", 9, 9, "N");
aBoard[0][3] = "4";
mcHexa4._myrow = 0;
mcHexa4._mycol = 3;
aBoard[0][4] = "5";
mcHexa5._myrow = 0;
mcHexa5._mycol = 4;
aBoard[0][5] = "6";
mcHexa6._myrow = 0;
mcHexa6._mycol = 5;
aBoard[1][1] = "2";
mcHexa2._myrow = 1;
mcHexa2._mycol = 1;
aBoard[1][2] = "3";
mcHexa3._myrow = 1;
mcHexa3._mycol = 2;
aBoard[1][3] = "13";
mcHexa13._myrow = 1;
mcHexa13._mycol = 3;
aBoard[1][4] = "14";
mcHexa14._myrow = 1;
mcHexa14._mycol = 4;
aBoard[1][5] = "15";
mcHexa15._myrow = 1;
mcHexa15._mycol = 5;
aBoard[1][6] = "7";
mcHexa7._myrow = 1;
mcHexa7._mycol = 6;
aBoard[1][7] = "8";
mcHexa8._myrow = 1;
mcHexa8._mycol = 7;
aBoard[2][0] = "1";
mcHexa1._myrow = 2;
mcHexa1._mycol = 0;
aBoard[2][1] = "11";
mcHexa11._myrow = 2;
mcHexa11._mycol = 1;
aBoard[2][2] = "12";
mcHexa12._myrow = 2;
mcHexa12._mycol = 2;
aBoard[2][3] = "22";
mcHexa22._myrow = 2;
mcHexa22._mycol = 3;
aBoard[2][4] = "23";
mcHexa23._myrow = 2;
mcHexa23._mycol = 4;
aBoard[2][5] = "24";
mcHexa24._myrow = 2;
mcHexa24._mycol = 5;
aBoard[2][6] = "16";
mcHexa16._myrow = 2;
mcHexa16._mycol = 6;
aBoard[2][7] = "17";
mcHexa17._myrow = 2;
mcHexa17._mycol = 7;
aBoard[2][8] = "9";
mcHexa9._myrow = 2;
mcHexa9._mycol = 8;
aBoard[3][0] = "10";
mcHexa10._myrow = 3;
mcHexa10._mycol = 0;
aBoard[3][1] = "20";
mcHexa20._myrow = 3;
mcHexa20._mycol = 1;
aBoard[3][2] = "21";
mcHexa21._myrow = 3;
mcHexa21._mycol = 2;
aBoard[3][3] = "31";
mcHexa31._myrow = 3;
mcHexa31._mycol = 3;
aBoard[3][5] = "32";
mcHexa32._myrow = 3;
mcHexa32._mycol = 5;
aBoard[3][6] = "25";
mcHexa25._myrow = 3;
mcHexa25._mycol = 6;
aBoard[3][7] = "26";
mcHexa26._myrow = 3;
mcHexa26._mycol = 7;
aBoard[3][8] = "18";
mcHexa18._myrow = 3;
mcHexa18._mycol = 8;
aBoard[4][0] = "19";
mcHexa19._myrow = 4;
mcHexa19._mycol = 0;
aBoard[4][1] = "29";
mcHexa29._myrow = 4;
mcHexa29._mycol = 1;
aBoard[4][2] = "30";
mcHexa30._myrow = 4;
mcHexa30._mycol = 2;
aBoard[4][3] = "N";
aBoard[4][4] = "39";
mcHexa39._myrow = 4;
mcHexa39._mycol = 4;
aBoard[4][6] = "N";
aBoard[4][6] = "33";
mcHexa33._myrow = 4;
mcHexa33._mycol = 6;
aBoard[4][7] = "34";
mcHexa34._myrow = 4;
mcHexa34._mycol = 7;
aBoard[4][8] = "27";
mcHexa27._myrow = 4;
mcHexa27._mycol = 8;
aBoard[5][0] = "28";
mcHexa28._myrow = 5;
mcHexa28._mycol = 0;
aBoard[5][1] = "37";
mcHexa37._myrow = 5;
mcHexa37._mycol = 1;
aBoard[5][2] = "38";
mcHexa38._myrow = 5;
mcHexa38._mycol = 2;
aBoard[5][3] = "45";
mcHexa45._myrow = 5;
mcHexa45._mycol = 3;
aBoard[5][4] = "46";
mcHexa46._myrow = 5;
mcHexa46._mycol = 4;
aBoard[5][5] = "47";
mcHexa47._myrow = 5;
mcHexa47._mycol = 5;
aBoard[5][6] = "40";
mcHexa40._myrow = 5;
mcHexa40._mycol = 6;
aBoard[5][7] = "41";
mcHexa41._myrow = 5;
mcHexa41._mycol = 7;
aBoard[5][8] = "35";
mcHexa35._myrow = 5;
mcHexa35._mycol = 8;
aBoard[6][0] = "36";
mcHexa36._myrow = 6;
mcHexa36._mycol = 0;
aBoard[6][1] = "43";
mcHexa43._myrow = 6;
mcHexa43._mycol = 1;
aBoard[6][2] = "44";
mcHexa44._myrow = 6;
mcHexa44._mycol = 2;
aBoard[6][3] = "51";
mcHexa51._myrow = 6;
mcHexa51._mycol = 3;
aBoard[6][4] = "52";
mcHexa52._myrow = 6;
mcHexa52._mycol = 4;
aBoard[6][5] = "53";
mcHexa53._myrow = 6;
mcHexa53._mycol = 5;
aBoard[6][6] = "48";
mcHexa48._myrow = 6;
mcHexa48._mycol = 6;
aBoard[6][7] = "49";
mcHexa49._myrow = 6;
mcHexa49._mycol = 7;
aBoard[6][8] = "42";
mcHexa42._myrow = 6;
mcHexa42._mycol = 8;
aBoard[7][2] = "50";
mcHexa50._myrow = 7;
mcHexa50._mycol = 2;
aBoard[7][3] = "55";
mcHexa55._myrow = 7;
mcHexa55._mycol = 3;
aBoard[7][4] = "56";
mcHexa56._myrow = 7;
mcHexa56._mycol = 4;
aBoard[7][5] = "57";
mcHexa57._myrow = 7;
mcHexa57._mycol = 5;
aBoard[7][6] = "54";
mcHexa54._myrow = 7;
mcHexa54._mycol = 6;
aBoard[8][4] = "58";
mcHexa58._myrow = 8;
mcHexa58._mycol = 4;
}
function ShowNeighbours(hexa) {
ResetHexagons();
if ((!NeighboursShowed) or (OldHexa != hexa)) {
var _local2 = _root[hexa]._myrow;
var _local3 = _root[hexa]._mycol;
if (ePar(_root[hexa]._mycol)) {
_root["mcHexa" + _root.aBoard[_local2 - 1][_local3 - 1]].mcShine1._visible = isFree(_local2 - 1, _local3 - 1);
_root["mcHexa" + _root.aBoard[_local2 - 1][_local3]].mcShine1._visible = isFree(_local2 - 1, _local3);
_root["mcHexa" + _root.aBoard[_local2 - 1][_local3 + 1]].mcShine1._visible = isFree(_local2 - 1, _local3 + 1);
_root["mcHexa" + _root.aBoard[_local2][_local3 - 1]].mcShine1._visible = isFree(_local2, _local3 - 1);
_root["mcHexa" + _root.aBoard[_local2][_local3 + 1]].mcShine1._visible = isFree(_local2, _local3 + 1);
_root["mcHexa" + _root.aBoard[_local2 + 1][_local3]].mcShine1._visible = isFree(_local2 + 1, _local3);
_root["mcHexa" + _root.aBoard[_local2 - 2][_local3 - 1]].mcShine2._visible = isFree(_local2 - 2, _local3 - 1);
_root["mcHexa" + _root.aBoard[_local2 - 2][_local3]].mcShine2._visible = isFree(_local2 - 2, _local3);
_root["mcHexa" + _root.aBoard[_local2 - 2][_local3 + 1]].mcShine2._visible = isFree(_local2 - 2, _local3 + 1);
_root["mcHexa" + _root.aBoard[_local2 - 1][_local3 - 2]].mcShine2._visible = isFree(_local2 - 1, _local3 - 2);
_root["mcHexa" + _root.aBoard[_local2 - 1][_local3 + 2]].mcShine2._visible = isFree(_local2 - 1, _local3 + 2);
_root["mcHexa" + _root.aBoard[_local2][_local3 - 2]].mcShine2._visible = isFree(_local2, _local3 - 2);
_root["mcHexa" + _root.aBoard[_local2][_local3 + 2]].mcShine2._visible = isFree(_local2, _local3 + 2);
_root["mcHexa" + _root.aBoard[_local2 + 1][_local3 - 2]].mcShine2._visible = isFree(_local2 + 1, _local3 - 2);
_root["mcHexa" + _root.aBoard[_local2 + 1][_local3 - 1]].mcShine2._visible = isFree(_local2 + 1, _local3 - 1);
_root["mcHexa" + _root.aBoard[_local2 + 1][_local3 + 1]].mcShine2._visible = isFree(_local2 + 1, _local3 + 1);
_root["mcHexa" + _root.aBoard[_local2 + 1][_local3 + 2]].mcShine2._visible = isFree(_local2 + 1, _local3 + 2);
_root["mcHexa" + _root.aBoard[_local2 + 2][_local3]].mcShine2._visible = isFree(_local2 + 2, _local3);
} else {
_root["mcHexa" + _root.aBoard[_local2 - 1][_local3]].mcShine1._visible = isFree(_local2 - 1, _local3);
_root["mcHexa" + _root.aBoard[_local2][_local3 - 1]].mcShine1._visible = isFree(_local2, _local3 - 1);
_root["mcHexa" + _root.aBoard[_local2][_local3 + 1]].mcShine1._visible = isFree(_local2, _local3 + 1);
_root["mcHexa" + _root.aBoard[_local2 + 1][_local3 - 1]].mcShine1._visible = isFree(_local2 + 1, _local3 - 1);
_root["mcHexa" + _root.aBoard[_local2 + 1][_local3]].mcShine1._visible = isFree(_local2 + 1, _local3);
_root["mcHexa" + _root.aBoard[_local2 + 1][_local3 + 1]].mcShine1._visible = isFree(_local2 + 1, _local3 + 1);
_root["mcHexa" + _root.aBoard[_local2 - 2][_local3]].mcShine2._visible = isFree(_local2 - 2, _local3);
_root["mcHexa" + _root.aBoard[_local2 - 1][_local3 - 2]].mcShine2._visible = isFree(_local2 - 1, _local3 - 2);
_root["mcHexa" + _root.aBoard[_local2 - 1][_local3 - 1]].mcShine2._visible = isFree(_local2 - 1, _local3 - 1);
_root["mcHexa" + _root.aBoard[_local2 - 1][_local3 + 1]].mcShine2._visible = isFree(_local2 - 1, _local3 + 1);
_root["mcHexa" + _root.aBoard[_local2 - 1][_local3 + 2]].mcShine2._visible = isFree(_local2 - 1, _local3 + 2);
_root["mcHexa" + _root.aBoard[_local2][_local3 - 2]].mcShine2._visible = isFree(_local2, _local3 - 2);
_root["mcHexa" + _root.aBoard[_local2][_local3 + 2]].mcShine2._visible = isFree(_local2, _local3 + 2);
_root["mcHexa" + _root.aBoard[_local2 + 1][_local3 - 2]].mcShine2._visible = isFree(_local2 + 1, _local3 - 2);
_root["mcHexa" + _root.aBoard[_local2 + 1][_local3 + 2]].mcShine2._visible = isFree(_local2 + 1, _local3 + 2);
_root["mcHexa" + _root.aBoard[_local2 + 2][_local3 - 1]].mcShine2._visible = isFree(_local2 + 2, _local3 - 1);
_root["mcHexa" + _root.aBoard[_local2 + 2][_local3]].mcShine2._visible = isFree(_local2 + 2, _local3);
_root["mcHexa" + _root.aBoard[_local2 + 2][_local3 + 1]].mcShine2._visible = isFree(_local2 + 2, _local3 + 1);
}
NeighboursShowed = true;
OldHexa = hexa;
} else {
NeighboursShowed = false;
}
}
function isFree(row, col) {
if (_root["mcHexa" + _root.aBoard[row][col]]._mytype == undefined) {
return(true);
}
return(false);
}
function ResetHexagons() {
var _local2 = 1;
while (_local2 <= 58) {
_root["mcHexa" + _local2].mcShine1._visible = false;
_root["mcHexa" + _local2].mcShine2._visible = false;
_local2++;
}
CountPieces();
if (Turn == "computer") {
if (!CheckPossibleMoves("red")) {
GameOver();
} else {
_root.mcCursor._visible = true;
Turn = "human";
}
}
}
function Roll(hexa) {
_root[hexa].attachMovie("mcPiece", "mcPiece", 3);
_root[hexa].mcPiece._xscale = 130;
_root[hexa]._mytype = "red";
_root[hexa].mcPiece.gotoAndPlay("redJump");
CheckPiecesToConvert(hexa, "yellow");
ResetHexagons();
NeighboursShowed = false;
_root.mcCursor._visible = false;
WaitToAnalize = setInterval(ResetWaiting, 1000);
}
function ResetWaiting() {
clearInterval(WaitToAnalize);
Turn = "computer";
if (!CheckPossibleMoves("yellow")) {
GameOver();
} else {
ComputerAnalize();
}
}
function Jump(hexa) {
_root[hexa].attachMovie("mcPiece", "mcPiece", 3);
_root[hexa]._mytype = "red";
_root[hexa].mcPiece._xscale = 130;
_root[hexa].mcPiece.gotoAndPlay("redJump");
CheckPiecesToConvert(hexa, "yellow");
_root[ClickedPiece].mcPiece.removeMovieClip();
_root[ClickedPiece]._mytype = undefined;
ResetHexagons();
NeighboursShowed = false;
_root.mcCursor._visible = false;
WaitToAnalize = setInterval(ResetWaiting, 1000);
}
function ComputerAnalize() {
FlagAnalize = false;
aBestOption = new Array(0, "", "");
var _local7 = new Array();
var _local4 = 0;
while (_local4 <= 58) {
if (_root["mcHexa" + _local4]._mytype == "yellow") {
_local7.push("mcHexa" + _local4);
}
_local4++;
}
var _local6 = 0;
while (_local6 <= (_local7.length - 1)) {
var _local5 = _local7[_local6];
var _local3;
var _local2;
_local3 = _root[_local5]._myrow;
_local2 = _root[_local5]._mycol;
_root.ComputerStartOn = _local5;
if (ePar(_local2)) {
_local2 - 1;
CheckHouse(_root.aBoard[_local3 - 1].roll);
CheckHouse(_root.aBoard[_local3 - 1][_local2], "roll");
CheckHouse(_root.aBoard[_local3 - 1][_local2 + 1], "roll");
CheckHouse(_root.aBoard[_local3][_local2 - 1], "roll");
CheckHouse(_root.aBoard[_local3][_local2 + 1], "roll");
CheckHouse(_root.aBoard[_local3 + 1][_local2], "roll");
CheckHouse(_root.aBoard[_local3 - 2][_local2 - 1], "jump");
CheckHouse(_root.aBoard[_local3 - 2][_local2], "jump");
CheckHouse(_root.aBoard[_local3 - 2][_local2 + 1], "jump");
CheckHouse(_root.aBoard[_local3 - 1][_local2 - 2], "jump");
CheckHouse(_root.aBoard[_local3 - 1][_local2 + 2], "jump");
CheckHouse(_root.aBoard[_local3][_local2 - 2], "jump");
CheckHouse(_root.aBoard[_local3][_local2 + 2], "jump");
CheckHouse(_root.aBoard[_local3 + 1][_local2 - 2], "jump");
CheckHouse(_root.aBoard[_local3 + 1][_local2 - 1], "jump");
CheckHouse(_root.aBoard[_local3 + 1][_local2 + 1], "jump");
CheckHouse(_root.aBoard[_local3 + 1][_local2 + 2], "jump");
CheckHouse(_root.aBoard[_local3 + 2][_local2], "jump");
} else {
CheckHouse(_root.aBoard[_local3 - 1][_local2], "roll");
CheckHouse(_root.aBoard[_local3][_local2 - 1], "roll");
CheckHouse(_root.aBoard[_local3][_local2 + 1], "roll");
CheckHouse(_root.aBoard[_local3 + 1][_local2 - 1], "roll");
CheckHouse(_root.aBoard[_local3 + 1][_local2], "roll");
CheckHouse(_root.aBoard[_local3 + 1][_local2 + 1], "roll");
CheckHouse(_root.aBoard[_local3 - 2][_local2], "jump");
CheckHouse(_root.aBoard[_local3 - 1][_local2 - 2], "jump");
CheckHouse(_root.aBoard[_local3 - 1][_local2 - 1], "jump");
CheckHouse(_root.aBoard[_local3 - 1][_local2 + 1], "jump");
CheckHouse(_root.aBoard[_local3 - 1][_local2 + 2], "jump");
CheckHouse(_root.aBoard[_local3][_local2 - 2], "jump");
CheckHouse(_root.aBoard[_local3][_local2 + 2], "jump");
CheckHouse(_root.aBoard[_local3 + 1][_local2 - 2], "jump");
CheckHouse(_root.aBoard[_local3 + 1][_local2 + 2], "jump");
CheckHouse(_root.aBoard[_local3 + 2][_local2 - 1], "jump");
CheckHouse(_root.aBoard[_local3 + 2][_local2], "jump");
CheckHouse(_root.aBoard[_local3 + 2][_local2 + 1], "jump");
}
_local6++;
}
if (aBestOption[3] == "roll") {
ComputerRoll();
} else if (aBestOption[3] == "jump") {
ComputerJump();
} else {
GameOver();
}
}
function CheckHouse(hexa, style) {
var _local2 = 0;
if ((hexa != undefined) and (hexa != "N")) {
if (_root["mcHexa" + hexa]._mytype == undefined) {
var _local4 = _root["mcHexa" + hexa]._myrow;
var _local3 = _root["mcHexa" + hexa]._mycol;
if (ePar(_local3)) {
_local2 = _local2 + CheckForEnemy(_root.aBoard[_local4 - 1][_local3 - 1]);
_local2 = _local2 + CheckForEnemy(_root.aBoard[_local4 - 1][_local3]);
_local2 = _local2 + CheckForEnemy(_root.aBoard[_local4 - 1][_local3 + 1]);
_local2 = _local2 + CheckForEnemy(_root.aBoard[_local4][_local3 - 1]);
_local2 = _local2 + CheckForEnemy(_root.aBoard[_local4][_local3 + 1]);
_local2 = _local2 + CheckForEnemy(_root.aBoard[_local4 + 1][_local3]);
} else {
style = "roll";
_local2 = _local2 + CheckForEnemy(_root.aBoard[_local4 - 1][_local3]);
_local2 = _local2 + CheckForEnemy(_root.aBoard[_local4][_local3 - 1]);
_local2 = _local2 + CheckForEnemy(_root.aBoard[_local4][_local3 + 1]);
_local2 = _local2 + CheckForEnemy(_root.aBoard[_local4 + 1][_local3 - 1]);
_local2 = _local2 + CheckForEnemy(_root.aBoard[_local4 + 1][_local3]);
_local2 = _local2 + CheckForEnemy(_root.aBoard[_local4 + 1][_local3 + 1]);
}
if (((_local2 > aBestOption[0]) or (!FlagAnalize)) and (hexa != undefined)) {
aBestOption[0] = _local2;
aBestOption[1] = ComputerStartOn;
aBestOption[2] = "mcHexa" + hexa;
aBestOption[3] = style;
FlagAnalize = true;
}
}
}
}
function CheckForEnemy(hexa) {
if ((hexa != "N") and (hexa != undefined)) {
if (_root["mcHexa" + hexa]._mytype == "red") {
return(1);
}
return(0);
}
return(0);
}
function ComputerRoll() {
_root[aBestOption[2]].attachMovie("mcPiece", "mcPiece", 3);
_root[aBestOption[2]]._mytype = "yellow";
_root[aBestOption[2]].mcPiece._xscale = 130;
_root[aBestOption[2]].mcPiece.gotoAndPlay("yellowJump");
CheckPiecesToConvert(aBestOption[2], "red");
ResetHexagons();
}
function ComputerJump() {
_root[aBestOption[2]].attachMovie("mcPiece", "mcPiece", 3);
_root[aBestOption[2]]._mytype = "yellow";
_root[aBestOption[2]].mcPiece._xscale = 130;
_root[aBestOption[2]].mcPiece.gotoAndPlay("yellowJump");
_root[aBestOption[1]].mcPiece.removeMovieClip();
_root[aBestOption[1]]._mytype = undefined;
CheckPiecesToConvert(aBestOption[2], "red");
ResetHexagons();
}
function CheckPiecesToConvert(hexa, colour) {
if (colour == "red") {
var _local3 = "yellow";
} else {
var _local3 = "red";
}
var _local4;
var _local2;
_local4 = _root[hexa]._myrow;
_local2 = _root[hexa]._mycol;
if (ePar(_local2)) {
ConvertPiece(_root.aBoard[_local4 - 1][_local2 - 1], colour, _local3);
ConvertPiece(_root.aBoard[_local4 - 1][_local2], colour, _local3);
ConvertPiece(_root.aBoard[_local4 - 1][_local2 + 1], colour, _local3);
ConvertPiece(_root.aBoard[_local4][_local2 - 1], colour, _local3);
ConvertPiece(_root.aBoard[_local4][_local2 + 1], colour, _local3);
ConvertPiece(_root.aBoard[_local4 + 1][_local2], colour, _local3);
} else {
ConvertPiece(_root.aBoard[_local4 - 1][_local2], colour, _local3);
ConvertPiece(_root.aBoard[_local4][_local2 - 1], colour, _local3);
ConvertPiece(_root.aBoard[_local4][_local2 + 1], colour, _local3);
ConvertPiece(_root.aBoard[_local4 + 1][_local2 - 1], colour, _local3);
ConvertPiece(_root.aBoard[_local4 + 1][_local2], colour, _local3);
ConvertPiece(_root.aBoard[_local4 + 1][_local2 + 1], colour, _local3);
}
}
function ConvertPiece(hexa, colour, countercolour) {
if (hexa != "N") {
if (_root["mcHexa" + hexa]._mytype == colour) {
if (colour == "yellow") {
_root.Score = _root.Score + 10;
_root.mcScore.txtScore.text = Score;
}
_root["mcHexa" + hexa]._mytype = countercolour;
var _local4 = ("transformTo" + countercolour.substring(0, 1).toUpperCase()) + countercolour.substring(1, countercolour.length);
_root["mcHexa" + hexa].mcPiece.gotoAndPlay(_local4);
}
}
}
function CountPieces() {
var _local3 = 0;
var _local4 = 0;
var _local2 = 1;
while (_local2 <= 58) {
if (_root["mcHexa" + _local2]._mytype != undefined) {
if (_root["mcHexa" + _local2]._mytype == "red") {
_local4++;
}
if (_root["mcHexa" + _local2]._mytype == "yellow") {
_local3++;
}
}
_local2++;
}
_root.mcTotals.txtRedTotal.text = _local4;
_root.mcTotals.txtYellowTotal.text = _local3;
}
function CheckPossibleMoves(colour) {
var _local4;
_local4 = 0;
FlagAnalize = false;
var _local7 = new Array();
var _local6 = 0;
while (_local6 <= 58) {
if (_root["mcHexa" + _local6]._mytype == colour) {
_local7.push("mcHexa" + _local6);
}
_local6++;
}
_local6 = 0;
while (_local6 <= (_local7.length - 1)) {
var _local5 = _local7[_local6];
var _local3;
var _local2;
_local3 = _root[_local5]._myrow;
_local2 = _root[_local5]._mycol;
_root.ComputerStartOn = _local5;
if (ePar(_local2)) {
_local4 = _local4 + IsFree(_root.aBoard[_local3 - 1][_local2 - 1]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 - 1][_local2]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 - 1][_local2 + 1]);
_local4 = _local4 + IsFree(_root.aBoard[_local3][_local2 - 1]);
_local4 = _local4 + IsFree(_root.aBoard[_local3][_local2 + 1]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 + 1][_local2]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 - 2][_local2 - 1]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 - 2][_local2]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 - 2][_local2 + 1]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 - 1][_local2 - 2]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 - 1][_local2 + 2]);
_local4 = _local4 + IsFree(_root.aBoard[_local3][_local2 - 2]);
_local4 = _local4 + IsFree(_root.aBoard[_local3][_local2 + 2]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 + 1][_local2 - 2]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 + 1][_local2 - 1]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 + 1][_local2 + 1]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 + 1][_local2 + 2]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 + 2][_local2]);
} else {
_local4 = _local4 + IsFree(_root.aBoard[_local3 - 1][_local2]);
_local4 = _local4 + IsFree(_root.aBoard[_local3][_local2 - 1]);
_local4 = _local4 + IsFree(_root.aBoard[_local3][_local2 + 1]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 + 1][_local2 - 1]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 + 1][_local2]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 + 1][_local2 + 1]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 - 2][_local2]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 - 1][_local2 - 2]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 - 1][_local2 - 1]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 - 1][_local2 + 1]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 - 1][_local2 + 2]);
_local4 = _local4 + IsFree(_root.aBoard[_local3][_local2 - 2]);
_local4 = _local4 + IsFree(_root.aBoard[_local3][_local2 + 2]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 + 1][_local2 - 2]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 + 1][_local2 + 2]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 + 2][_local2 - 1]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 + 2][_local2]);
_local4 = _local4 + IsFree(_root.aBoard[_local3 + 2][_local2 + 1]);
}
_local6++;
}
if (_local4 > 0) {
return(true);
}
return(false);
}
function IsFree(hexa) {
if ((hexa != undefined) and (hexa != "N")) {
if (_root["mcHexa" + hexa]._mytype == undefined) {
return(1);
}
return(0);
}
return(0);
}
function GameOver() {
Mouse.show();
_root.btnQuit.enabled = false;
WaitToEnd = setInterval(ResetEnd, 1500);
}
function ResetEnd() {
clearInterval(WaitToEnd);
_root.RemoveAll();
_root.mcCursor.removeMovieClip();
_root.___Go = false;
mytimer.pauseClock();
if (parseInt(_root.mcTotals.txtRedTotal.text) >= parseInt(_root.mcTotals.txtYellowTotal.text)) {
if (parseInt(_root.mcTotals.txtRedTotal.text) == parseInt(_root.mcTotals.txtYellowTotal.text)) {
_root.FlagDraw = true;
}
_root.mcTitle._visible = false;
_root.mcWinner._visible = true;
_root.GrowFlowers();
} else {
_root.mcTitle._visible = false;
_root.mcTie._visible = true;
_root.GrowGrass();
}
}
function GrowGrass() {
_root.mcTie._visible = true;
_root.mcWinner._visible = false;
_root.mcTie.mcGameOver._visible = false;
_root.createEmptyMovieClip("mcControl", 100000);
_root.mcControl.onEnterFrame = function () {
if (grasspointer == undefined) {
grasspointer = 500000 /* 0x07A120 */;
row = 7;
}
var _local4 = 0;
while (_local4 <= 11) {
grasspointer++;
var _local3 = "mcTheGrass" + grasspointer;
_root.attachMovie("mcTheGrass", _local3, grasspointer);
_root.aToRemove.push(_local3);
_root[_local3]._x = (_local4 * 50) - 20;
_root[_local3]._y = (row * 30) + 200;
_local4++;
}
row--;
if (row == 0) {
_root.mcTie.mcGameOver._visible = true;
_root.mcTie.mcGameOver.swapDepths(600000);
_root.mcTie.mcGameOver.gotoAndPlay("in");
grasspointer = undefined;
this.removeMovieClip();
}
};
}
function GrowFlowers() {
_root.mcTie._visible = false;
_root.mcWinner._visible = true;
_root.createEmptyMovieClip("mcControl", 100000);
_root.mcControl.onEnterFrame = function () {
if (grasspointer == undefined) {
grasspointer = 500000 /* 0x07A120 */;
row = 7;
}
var _local4 = 0;
while (_local4 <= 22) {
grasspointer++;
var _local3 = "mcTheFlower" + grasspointer;
_root.attachMovie("mcTheFlower", _local3, grasspointer);
_root.aToRemove.push(_local3);
_root[_local3]._x = (_local4 * 30) - 20;
_root[_local3]._y = (row * 30) + 240;
_local4++;
}
row--;
if (row == 0) {
_root.mcWinner.mcCongratulations.gotoAndPlay("in");
grasspointer = undefined;
this.removeMovieClip();
}
};
}
function RemoveAll() {
var _local2 = 1;
while (_local2 <= 58) {
_root["mcHexa" + _local2].mcPiece.removeMovieClip();
_root["mcHexa" + _local2]._mytype = undefined;
delete _root["mcHexa" + _local2].onRollOver;
delete _root["mcHexa" + _local2].onRelease;
_local2++;
}
}
function ePar(argument) {
if (((argument / 2) - Math.floor(argument / 2)) == 0) {
return(true);
}
return(false);
}
function cMt(mn, mrs, mcl) {
_root[mn] = new Array();
var _local2 = 0;
while (_local2 <= (mrs - 1)) {
_root[mn].push(new Array());
_local2++;
}
}
function fMt(mn, mrs, mcl, myvalue) {
var _local3 = 0;
while (_local3 <= (mrs - 1)) {
var _local2 = 0;
while (_local2 <= (mcl - 1)) {
_root[mn][_local3][_local2] = myvalue;
_local2++;
}
_local3++;
}
}
function aSound(identifier, soundatlib, style) {
ptrSound++;
var _local3 = "mcSound" + ptrSound;
var _local4 = identifier;
_root.createEmptyMovieClip(_local3, ptrSound);
_root[identifier] = new Sound(_root[_local3]);
_root[identifier].attachSound(soundatlib);
_root[identifier].setVolume(100);
_root[identifier]._style = style;
_root.___Sounds[_root.___Sounds.length] = identifier;
}
function pSound(identifier) {
if (_root.___SoundOn) {
_root[identifier].start();
if (_root[identifier]._style == "track") {
_root[identifier].onSoundComplete = function () {
_root[identifier].start(0, 999999);
};
}
}
}
function mSound() {
var _local2 = 0;
while (_local2 <= (_root.___Sounds.length - 1)) {
_root[_root.___Sounds[_local2]].stop();
_local2++;
}
_root.___SoundOn = false;
}
function uSound() {
_root.___SoundOn = true;
var _local2 = 0;
while (_local2 <= (_root.___Sounds.length - 1)) {
if (_root[_root.___Sounds[_local2]]._style == "track") {
pSound(_root.___Sounds[_local2]);
}
_local2++;
}
}
function sSound(identifier) {
var _local2 = 0;
while (_local2 <= (_root.___Sounds.length - 1)) {
if (_root.___Sounds[_local2] == identifier) {
_root[_root.___Sounds[_local2]].stop();
}
_local2++;
}
}
stop();
_root.attachMovie("mcTie", "mcTie", 200);
_root.attachMovie("mcWinner", "mcWinner", 300);
_root.attachMovie("mcInstructions", "mcInstructions", 400);
_root.attachMovie("mcTitle", "mcTitle", 500);
_root.attachMovie("mcPaused", "mcPaused", 545);
_root.attachMovie("mcBorder", "mcBorder", 550);
_root.mcTitle.mcClosedCaption._visible = false;
_root.mcTie._x = 284;
_root.mcTie._y = 150;
_root.mcWinner._x = 284;
_root.mcWinner._y = 150;
_root.mcInstructions._x = 285;
_root.mcInstructions._y = 166;
_root.mcTitle._x = 420;
_root.mcTitle._y = 200;
_root.mcBorder._x = 0;
_root.mcBorder._y = 0;
_root.mcTie._visible = false;
_root.mcWinner._visible = false;
_root.mcInstructions._visible = false;
_root.mcPaused._x = 187;
_root.mcPaused._y = 24;
_root.mcPaused._visible = false;
_root.mcTitle._visible = true;
Stage.showMenu = false;
YFW.initializeEnvironment();
_root.___Sounds = new Array();
_root.___SoundOn = true;
_root.aSound("daisy", "daisy", "fx");
_root.aSound("grass", "grass", "fx");
_root.aSound("click", "click", "fx");
_root.aSound("track", "track", "track");
_root.pSound("track");
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__("24776dc7", this, 10301, true);
Instance of Symbol 120 MovieClip "mcSound" in Frame 6
on (rollOver) {
_root.pSound("click");
this.gotoAndPlay("over");
}
on (releaseOutside, rollOut) {
_root.pSound("click");
this.gotoAndPlay("out");
}
on (release) {
if (_root.___SoundOn) {
this._alpha = 50;
_root.mSound();
} else {
this._alpha = 100;
_root.uSound();
}
}
Instance of Symbol 125 MovieClip "mcPause" in Frame 6
on (rollOver) {
_root.pSound("click");
this.gotoAndStop("over");
}
on (releaseOutside, rollOut) {
_root.pSound("click");
this.gotoAndStop("out");
}
on (release) {
if (YFW.getGameStatus()) {
this._alpha = 50;
_root.mcPaused._visible = true;
_root.mytimer.pauseClock();
YFW.pauseGame(true);
} else {
this._alpha = 100;
_root.mcPaused._visible = false;
_root.mytimer.pauseClock();
YFW.pauseGame(false);
}
}
Symbol 7 MovieClip [mcPiece] Frame 1
stop();
Symbol 7 MovieClip [mcPiece] Frame 2
_root.pSound("daisy");
play();
Symbol 7 MovieClip [mcPiece] Frame 14
stop();
Symbol 7 MovieClip [mcPiece] Frame 15
play();
Symbol 7 MovieClip [mcPiece] Frame 24
stop();
Symbol 7 MovieClip [mcPiece] Frame 25
_root.pSound("grass");
play();
Symbol 7 MovieClip [mcPiece] Frame 37
stop();
Symbol 7 MovieClip [mcPiece] Frame 38
play();
Symbol 7 MovieClip [mcPiece] Frame 48
stop();
Symbol 24 Button
on (release) {
_root.mcInstructions._visible = false;
_root.mcTitle._visible = true;
}
on (rollOver) {
_root.pSound("click");
}
on (rollOut, releaseOutside) {
_root.pSound("click");
}
Symbol 32 Button
on (release) {
Mouse.show();
_root.mcCursor.removeMovieClip();
_root.btnQuit.enabled = false;
_root.mcWinner._visible = false;
_root.mcTie._visible = false;
_root.btnQuit.enabled = false;
_root.mcTitle._visible = true;
this.gotoAndStop("stopped");
if (_root.aToRemove != undefined) {
var z = 0;
while (z <= (_root.aToRemove.length - 1)) {
_root[_root.aToRemove[z]].removeMovieClip();
z++;
}
}
}
Symbol 34 Button
on (release) {
_root.getURL("http://www.holygrailgames.com", "_blank");
}
Symbol 36 MovieClip Frame 1
stop();
Symbol 36 MovieClip Frame 2
_root.mcWinner.mcCongratulations.txtFlowers.text = "Total flowers: " + _root.mcTotals.txtRedTotal.text;
_root.mcWinner.mcCongratulations.txtGrass.text = "Total grass: " + _root.mcTotals.txtYellowTotal.text;
_root.mcWinner.mcCongratulations.txtTime.text = "Play time: " + _root.mcTimer.txtTime.text;
if (_root.FlagDraw) {
if (_root.FlagLang) {
_root.mcWinner.mcCongratulations.txtPlayAgain.text = _root.aTexts.playagain;
_root.mcWinner.mcCongratulations.txtCongratulations.text = _root.aTexts.draw;
} else {
_root.mcWinner.mcCongratulations.txtCongratulations.text = "It's a draw!";
}
} else if (_root.FlagLang) {
_root.mcWinner.mcCongratulations.txtPlayAgain.text = _root.aTexts.playagain;
_root.mcWinner.mcCongratulations.txtCongratulations.text = _root.aTexts.congratulations;
} else {
_root.mcWinner.mcCongratulations.txtCongratulations.text = "Congratulations!";
}
play();
Symbol 36 MovieClip Frame 15
stop();
Symbol 45 MovieClip Frame 1
stop();
Symbol 45 MovieClip Frame 2
play();
Symbol 45 MovieClip Frame 15
_root.mcTie.mcGameOver.txtFlowers.text = "Total flowers: " + _root.mcTotals.txtRedTotal.text;
_root.mcTie.mcGameOver.txtGrass.text = "Total grass: " + _root.mcTotals.txtYellowTotal.text;
_root.mcTie.mcGameOver.txtTime.text = "Play time: " + _root.mcTimer.txtTime.text;
if (_root.FlagLang) {
_root.mcTie.mcGameOver.txtPlayAgain.text = _root.aTexts.playagain;
}
stop();
Symbol 50 Button
on (release) {
_root.getURL("http://www.holygrailgames.com", "_blank");
}
on (rollOver) {
_root.pSound("click");
}
on (rollOut, releaseOutside) {
_root.pSound("click");
}
Symbol 52 Button
on (release) {
_root.mcInstructions._visible = true;
_root.mcTitle._visible = false;
}
on (rollOver) {
_root.pSound("click");
}
on (rollOut, releaseOutside) {
_root.pSound("click");
}
Symbol 54 Button
on (release) {
_root.btnQuit.enabled = true;
_root.mcTitle._visible = false;
_root.mcWinner._visible = false;
_root.mcTie._visible = false;
_root.Initialize();
_root.SetBoardMatrix();
_root.FlagDraw = false;
_root[_root.command1]();
_root[_root.command2]();
_root.mytimer = new Timer();
_root.mytimer.attachClock("mcTimer", "txtTime", 0, true, true);
_root.mytimer.initializeUpClock();
_root.mcPaused._visible = false;
_root.mcPause._alpha = 100;
YFW.pauseGame(false);
_root.mytimer.startClock();
}
on (rollOver) {
_root.pSound("click");
}
on (rollOut, releaseOutside) {
_root.pSound("click");
}
Symbol 68 MovieClip [mcYellow] Frame 1
stop();
Symbol 68 MovieClip [mcYellow] Frame 2
play();
Symbol 68 MovieClip [mcYellow] Frame 14
stop();
Symbol 68 MovieClip [mcYellow] Frame 24
stop();
Symbol 70 MovieClip [YKM2000_Games] Frame 1
#initclip 12
Object.registerClass("YKM2000_Games", packager);
#endinitclip
Symbol 79 MovieClip [__Packages.Timer] Frame 0
class Timer
{
var _created, movname, timertext, formated, timeToGo;
function Timer () {
_created = false;
}
function attachClock(mcname, timertext, timetogo, formated, up) {
mcname = YFW.newMC(mcname, pntTimer);
movname = mcname;
this.timertext = timertext;
this.formated = formated;
var _local6 = true;
this.up = up;
_root[mcname]._timeToGo = timetogo;
_root[mcname].onZero = "";
_created = true;
_root[mcname]._started = false;
_root[mcname]._timerMC = movname;
_root[mcname]._formated = formated;
_root[mcname]._paused = false;
_root[mcname]._up = up;
_root[mcname][timertext].text = timetogo;
_root[mcname].onEnterFrame = function () {
if ((this._started and (!this._paused)) and _root.___Timer) {
if (!this._up) {
if (this.countdown > 0.5) {
this.mynow = getTimer() / 1000;
this.countdown = (this.mycount - this.mynow) + this.mystart;
if (this._formated) {
var _local4 = Math.floor(parseInt(this.countdown) / 60);
var _local3 = Math.floor(this.countdown - (_local4 * 60));
if (_local3 < 10) {
_local3 = "0" + _local3;
}
_root[this._timerMC][timertext].text = (_local4 + ":") + _local3;
} else {
_root[this._timerMC][timertext].text = Math.floor(this.countdown);
}
} else if (this._started) {
this._started = false;
YFW.execEvent(this.onZero);
}
} else {
this.countup = Math.floor((getTimer() / 1000) - this.mystartu);
var _local3 = this.countup - (Math.floor(this.countup / 60) * 60);
var _local4 = Math.floor(this.countup / 60);
if (this._formated) {
if (_local3 < 10) {
_local3 = "0" + _local3;
}
_root[this._timerMC][timertext].text = (_local4 + ":") + _local3;
} else {
_root[this._timerMC][timertext].text = Math.floor(this.countup);
}
}
}
};
}
function attachTimebar(mcname, timerbar, initialpos, finalpos, decfactor, style) {
mcname = YFW.newMC(mcname, pntTimer);
movname = mcname;
_root[mcname]._timerMC = movname;
_root[mcname]._timerBar = timerbar;
_root[mcname]._initialPos = initialpos;
_root[mcname]._finalPos = finalpos;
_root[mcname]._decFactor = decfactor;
_root[mcname]._style = style;
_root[mcname]._paused = true;
_root[mcname].onZero = "";
_created = true;
_root[mcname].onEnterFrame = function () {
if ((!this._paused) and _root.___Timer) {
if (this._style == "horizontal") {
_root[this._timerMC][this._timerBar]._x = _root[this._timerMC][this._timerBar]._x - this._decFactor;
if (_root[this._timerMC][this._timerBar]._x <= this._finalPos) {
this._paused = true;
YFW.execEvent(this.onZero);
}
} else {
_root[this._timerMC][this._timerBar]._y = _root[this._timerMC][this._timerBar]._y + this._decFactor;
if (_root[this._timerMC][this._timerBar]._x >= this._finalPos) {
this._paused = true;
YFW.execEvent(this.onZero);
}
}
}
};
}
function getClock() {
return(movname);
}
function getTimebar() {
return(movname);
}
function initializeUpClock() {
if (up) {
if (formated) {
_root[movname][timertext].text = "0:00";
} else {
_root[movname][timertext].text = "0";
}
}
}
function startTimebar() {
_root[movname]._paused = false;
}
function pauseTimebar() {
if (_root[movname]._paused) {
_root[movname]._paused = false;
} else {
_root[movname]._paused = true;
}
}
function resetTimebar() {
if (_root[movname]._style == "horizontal") {
_root[_root[movname]._timerMC][_root[movname]._timerBar]._x = _root[movname]._initialPos;
} else {
_root[_root[movname]._timerMC][_root[movname]._timerBar]._y = _root[movname]._initialPos;
}
}
function remove() {
_root[movname].removeMovieClip();
delete _root[movname].onEnterFrame;
_created = false;
}
function startClock() {
if ((!_root[movname]._started) and _root.___Timer) {
_root[movname].mystart = getTimer() / 1000;
_root[movname].mystartu = (getTimer() / 1000) - _root[movname]._timeToGo;
_root[movname].mycount = _root[movname]._timeToGo;
_root[movname].countup = 0;
_root[movname].countdown = _root[movname]._timeToGo;
_root[movname]._started = true;
}
}
function pauseClock() {
if (_root[movname]._started) {
if (!_root[movname]._paused) {
_root[movname]._paused = true;
if (up) {
timeToGo = Math.floor(_root[movname].countup);
} else {
timeToGo = Math.floor(_root[movname].countdown);
}
} else {
_root[movname].mycount = timeToGo;
_root[movname].countdown = timeToGo;
_root[movname].countup = timeToGo;
_root[movname]._paused = false;
if (up) {
_root[movname].mystartu = ((getTimer() / 1000) - timeToGo) - 1;
} else {
_root[movname].mystart = getTimer() / 1000;
}
}
}
}
function stopClock() {
if (_root[movname]._started) {
_root[movname]._started = false;
}
}
var pntTimer = 6000;
var ticking = false;
var up = false;
}
Symbol 71 MovieClip [__Packages.YFW] Frame 0
class YFW
{
function YFW () {
}
static function getVersion() {
trace("YKM2000_Games v. 2006.1");
trace("---------------------------------------------");
trace("Copyright (c) 2006 by YKM2000");
trace("Todos os direitos reservados.");
trace("Proibida a distribui\u00E7\u00E3o e/ou utiliza\u00E7\u00E3o");
trace("deste componente para a confec\u00E7\u00E3o de");
trace("projetos que n\u00E3o sejam de autoria da YKM2000.");
trace("---------------------------------------------");
}
static function initializeEnvironment() {
_root.___targetsArray = new Array();
_root.___destroyedArray = new Array();
_root.___intervalArray = new Array();
_root.___Sounds = new Array();
_root.___SoundOn = true;
_root.___Go = false;
_root.___GoHero = false;
_root.___Timer = false;
}
static function terminateEnvironment() {
_root.___targetsArray = undefined;
_root.___destroyedArray = undefined;
_root.___Sounds = undefined;
_root.___SoundOn = undefined;
_root.___Go = undefined;
_root.___GoHero = undefined;
_root.___Timer = undefined;
}
static function randomize(seed) {
return(Math.floor(Math.random() * seed) + 1);
}
static function timeToSeconds(formatedtime) {
var _local1 = new Array();
_local1 = formatedtime.split(":");
return((Number(_local1[0]) * 60) + Number(_local1[1]));
}
static function myTrace(argument) {
_root.txtOutput.text = _root.txtOutput.text + (argument + "\r");
}
static function isEven(argument) {
if (((argument / 2) - Math.floor(argument / 2)) == 0) {
return(true);
}
return(false);
}
static function decimalPlaces(argument, places) {
return(Math.floor(argument * Math.pow(10, places)) / Math.pow(10, places));
}
static function miniArray(argument) {
var _local1 = new Array();
_local1 = argument.split(",");
return(_local1);
}
static function cleanArray(inputarray, sortme) {
if (sortme) {
inputarray.sort();
while ((allTrim(inputarray[0]) == "") or (inputarray[0] == undefined)) {
inputarray.shift();
}
return(inputarray);
}
var _local4 = new Array();
var _local3 = 0;
var _local2 = 0;
while (_local2 <= (inputarray.length - 1)) {
if ((allTrim(inputarray[_local2]) != "") and (inputarray[_local2] != undefined)) {
_local4[_local3] = inputarray[_local2];
_local3++;
}
_local2++;
}
return(_local4);
}
static function createMatrix(matrixname, rows, cols) {
_root[matrixname] = new Array();
var _local2 = 0;
while (_local2 <= (rows - 1)) {
_root[matrixname].push(new Array());
_local2++;
}
}
static function fillMatrix(matrixname, rows, cols, myvalue) {
var _local3 = 0;
while (_local3 <= (rows - 1)) {
var _local2 = 0;
while (_local2 <= (cols - 1)) {
_root[matrixname][_local3][_local2] = myvalue;
_local2++;
}
_local3++;
}
}
static function traceMatrix(matrix, rows, cols) {
var _local3 = 0;
while (_local3 <= (rows - 1)) {
var _local4 = "";
var _local2 = 0;
while (_local2 <= (cols - 1)) {
_local4 = _local4 + (_root[matrix][_local3][_local2] + "/");
_local2++;
}
trace(_local4);
_local3++;
}
}
static function lTrim(matter) {
if ((matter.length > 1) || (((matter.length == 1) && (matter.charCodeAt(0) > 32)) && (matter.charCodeAt(0) < 255))) {
var _local1 = 0;
while ((_local1 < matter.length) && ((matter.charCodeAt(_local1) <= 32) || (matter.charCodeAt(_local1) >= 255))) {
_local1++;
}
matter = matter.substring(_local1);
} else {
matter = "";
}
return(matter);
}
static function rTrim(matter) {
if ((matter.length > 1) || (((matter.length == 1) && (matter.charCodeAt(0) > 32)) && (matter.charCodeAt(0) < 255))) {
var _local1 = matter.length - 1;
while ((_local1 >= 0) && ((matter.charCodeAt(_local1) <= 32) || (matter.charCodeAt(_local1) >= 255))) {
_local1--;
}
matter = matter.substring(0, _local1 + 1);
} else {
matter = "";
}
return(matter);
}
static function allTrim(matter) {
return(lTrim(rTrim(matter)));
}
static function getNextDepth(startlevel, endlevel) {
if ((startlevel != undefined) and (endlevel != undefined)) {
var _local4 = startlevel;
var _local2 = startlevel;
var _local3 = endlevel;
} else {
var _local4 = 1000000 /* 0x0F4240 */;
var _local2 = 1000000 /* 0x0F4240 */;
var _local3 = 1048576 /* 0x100000 */;
}
while (_root.getInstanceAtDepth(_local2) != undefined) {
_local2++;
if (_local2 == _local3) {
_local2 = _local4;
}
}
return(_local2);
}
static function newMC(mcname, pointer) {
if (_root[mcname] == undefined) {
var _local4 = getNextDepth(pointer, pointer + 999);
var _local3 = mcname + _local4;
_root.attachMovie(mcname, _local3, 19000);
CheckInstance(mcname, _local3);
return(_local3);
}
return(mcname);
}
static function CheckInstance(mcname, instname) {
if (_root[instname] == undefined) {
trace((((((("Instance of " + mcname) + " couldn't be created.") + "\r") + "Check if the refenciated library object is set for") + "\r") + "'Export for ActionScript' in the Linkage panel.") + "\r");
}
}
static function execEvent(myparam) {
if (myparam != "") {
var _local2 = new Array();
var _local3 = "";
_local2 = miniArray(myparam);
if (_local2.length > 1) {
_root[_local2[0]](_local2[1], _local2[2], _local2[3], _local2[4], _local2[5], _local2[6], _local2[7], _local2[8], _local2[9], _local2[10]);
} else {
_root[_local2[0]]();
}
}
}
static function pushIntoArray(array_name, thecontent) {
if (_root[array_name] != undefined) {
_root[array_name][_root[array_name].length] = thecontent;
} else {
trace(("Array " + array_name) + " not found.");
}
}
static function popFromArray(array_name, thecontent) {
if (_root[array_name] != undefined) {
var _local2 = 0;
while (_local2 <= (_root[array_name].length - 1)) {
if (_root[array_name][_local2] == thecontent) {
_root[array_name][_local2] = "";
_root[array_name] = cleanArray(_root[array_name]);
}
_local2++;
}
} else {
trace(("Array " + array_name) + " not found.");
}
}
static function pushTarget(target_name) {
if (_root.___targetsArray != undefined) {
_root.___targetsArray[_root.___targetsArray.length] = target_name;
} else {
trace("ERROR -- You must declare targets with initializeTargets() method.");
}
}
static function popTarget(enemy_name) {
if (_root.___targetsArray != undefined) {
var _local2 = 0;
while (_local2 <= (_root.___targetsArray.length - 1)) {
if (_root.___targetsArray[_local2] == enemy_name) {
_root.___targetsArray[_local2] = "";
_root.___targetsArray = cleanArray(_root.___targetsArray);
}
_local2++;
}
} else {
trace("ERROR -- You must declare targets with initializeTargets() method.");
}
}
static function pushDestroyed(target_name) {
if (_root.___destroyedArray != undefined) {
_root.___destroyedArray[_root.___destroyedArray.length] = target_name;
} else {
trace("ERROR -- You must declare targets with initializeTargets() method.");
}
}
static function popDestroyed(enemy_name) {
if (_root.___destroyedArray != undefined) {
var _local2 = 0;
while (_local2 <= (_root.___destroyedArray.length - 1)) {
if (_root.___destroyedArray[_local2] == enemy_name) {
_root.___destroyedArray[_local2] = "";
_root.___destroyedArray = cleanArray(_root.___destroyedArray);
}
_local2++;
}
} else {
trace("ERROR -- You must declare targets with initializeTargets() method.");
}
}
static function scanDestroyedList() {
var _local2 = 0;
while (_local2 <= (_root.___destroyedArray.length - 1)) {
_root[_root.___destroyedArray[_local2]].removeMovieClip();
popDestroyed(_root.___destroyedArray[_local2]);
_local2++;
}
}
static function getDestroyedListSize() {
return(_root.___destroyedArray.length);
}
static function scanEnemyForHit(baseclip) {
var _local2 = 0;
if (_local2 <= (_root.___targetsArray.length - 1)) {
if (_root[baseclip].hitTest(_root[_root.___targetsArray[_local2]])) {
return(_root.___targetsArray[_local2]);
}
return("");
}
}
static function getGameStatus() {
return(_root.___Go);
}
static function getTimersStatus() {
return(_root.___Timer);
}
static function pauseGame(status) {
if (status == true) {
_root.___GoHero = false;
_root.___Go = false;
_root.___Timer = false;
} else {
_root.___GoHero = true;
_root.___Go = true;
_root.___Timer = true;
}
}
static function setGameStatus(status) {
if (status == false) {
_root.___GoHero = false;
_root.___Go = false;
_root.___Timer = false;
} else {
_root.___GoHero = true;
_root.___Go = true;
_root.___Timer = true;
}
}
static function pauseTimers(status) {
if (status == true) {
_root.___Timer = false;
} else {
_root.___Timer = true;
}
}
static function attachSoundFX(identifier, soundatlib, style) {
var _local3 = getNextDepth(11000, 11999);
var _local4 = "mcSound" + _local3;
var _local5 = identifier;
_root.createEmptyMovieClip(_local4, _local3);
_root[identifier] = new Sound(_root[_local4]);
_root[identifier].attachSound(soundatlib);
_root[identifier].setVolume(100);
_root[identifier]._style = style;
_root.___Sounds[_root.___Sounds.length] = identifier;
}
static function playSound(identifier) {
if (_root.___SoundOn) {
_root[identifier].start();
if (_root[identifier]._style == "track") {
_root[identifier].onSoundComplete = function () {
_root[identifier].start(0, 999);
};
}
}
}
static function stopSound(identifier) {
if (_root.___SoundOn) {
_root[identifier].stop();
}
}
static function muteSounds() {
stopSounds();
_root.___SoundOn = false;
}
static function unmuteSounds() {
_root.___SoundOn = true;
var _local2 = 0;
while (_local2 <= (_root.___Sounds.length - 1)) {
if (_root[_root.___Sounds[_local2]]._style == "track") {
playSound(_root.___Sounds[_local2]);
}
_local2++;
}
}
static function stopSounds() {
var _local2 = 0;
while (_local2 <= (_root.___Sounds.length - 1)) {
_root[_root.___Sounds[_local2]].stop();
_local2++;
}
}
static function getSoundStatus() {
return(_root.___SoundOn);
}
static function getHeroStatus() {
return(_root.___GoHero);
}
static function pushInterval(id, name) {
_root.___intervalArray[_root.___intervalArray.length] = {id:id, name:name};
}
static function popInterval(name) {
var _local2 = 0;
while (_local2 <= (_root.___intervalArray.length - 1)) {
if ((_root.___intervalArray[_local2].name == name) or (name == "")) {
clearInterval(Number(_root.___intervalArray[_local2].id));
_root.___intervalArray[_local2].name = "";
_root.___intervalArray[_local2].id = "";
}
_local2++;
}
}
}
Symbol 138 MovieClip [__Packages.MochiAd] Frame 0
class MochiAd
{
function MochiAd () {
}
static function getVersion() {
return("2.1");
}
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++;
}
}
return(_local4);
}
}
Symbol 77 MovieClip [__Packages.Score] Frame 0
class Score
{
var movname, scoreTXT;
function Score () {
}
function attachScore(mcname, scoretext, initialvalue, goal, admitnegative, xcoord, ycoord) {
mcname = YFW.newMC(mcname, pntScore);
movname = mcname;
scoreTXT = scoretext;
_root[movname].onGoal = "";
_root[movname]._goal = goal;
_root[movname]._score = initialvalue;
_root[movname]._admitNegative = admitnegative;
_root[movname]._x = xcoord;
_root[movname]._y = ycoord;
updateScorePanel();
}
function getTotalScore() {
return(_root[movname]._score);
}
function getScoreName() {
return(movname);
}
function getScore() {
return(_root[movname]._score);
}
function getGoal() {
return(_root[movname]._goal);
}
function setGoal(goal) {
_root[movname]._goal = goal;
}
function setScore(amount) {
_root[movname]._score = amount;
if (!_root[movname]._admitNegative) {
if (_root[movname]._score < 0) {
_root[movname]._score = 0;
}
}
updateScorePanel();
}
function addScore(amount) {
_root[movname]._score = _root[movname]._score + amount;
if (!_root[movname]._admitNegative) {
if (_root[movname]._score < 0) {
_root[movname]._score = 0;
}
}
updateScorePanel();
}
function updateScorePanel() {
_root[movname][scoreTXT].text = _root[movname]._score;
if (_root[movname]._score == _root[movname]._goal) {
YFW.execEvent(_root[movname].onGoal);
}
}
function resetScore() {
_root[movname]._score = 0;
updateScorePanel();
}
var pntScore = 5000;
}
Symbol 69 MovieClip [__Packages.packager] Frame 0
class packager extends MovieClip
{
var _mcBoundingBox;
function packager () {
super();
_mcBoundingBox._visible = false;
_mcBoundingBox._width = (_mcBoundingBox._height = 0);
}
}
Symbol 72 MovieClip [__Packages.Gun] Frame 0
class Gun
{
var shooter, nose, aimname, shot, libshot, ammoMC, eachBulletMC, reloadsTxt;
function Gun () {
}
function attachGun(mcname, nose) {
if (_root[mcname] != undefined) {
gunCreated = true;
shooter = mcname;
this.nose = nose;
_root[mcname].onMouseMove = function () {
if (_root.___Go and _root.___GoHero) {
if (this._movement == "rotation") {
YFW.execEvent(this.onRotate);
updateAfterEvent();
var _local5 = _xmouse - this._x;
var _local4 = _ymouse - this._y;
var _local3 = Math.atan2(_local4, _local5);
_local3 = ((_local3 * 180) / Math.PI) + 90;
this._rotation = _local3;
} else {
if (this._movement == "horizontal") {
this._x = _xmouse;
}
if (this._movement == "vertical") {
this._y = _ymouse;
}
}
}
};
} else {
trace("Hero not found. Cannot attach gun.");
}
}
function attachTrigger(mcname) {
gunCreated = true;
shooter = mcname;
attachAim(mcname);
_root[mcname].myTargets = "___targetsArray";
_root[mcname].onShot = "";
_root[mcname].onHit = "";
_root[mcname].onMouseDown = function () {
if (_root.___Go and _root.___GoHero) {
YFW.execEvent(this.onShot);
if (this.myTargets != undefined) {
var _local3 = 0;
while (_local3 <= (_root[this.myTargets].length - 1)) {
if (this.hitTest(_root[_root[this.myTargets][_local3]])) {
var _local4 = _root[this.myTargets][_local3];
_root[this.myTargets][_local3] = "";
_root[this.myTargets] = YFW.cleanArray(_root[this.myTargets]);
YFW.pushDestroyed(_local4);
YFW.execEvent(this.onHit);
}
_local3++;
}
}
}
};
}
function attachAim(mcname) {
aimname = mcname;
Mouse.hide();
var _local4 = YFW.getNextDepth();
_root.attachMovie(mcname, mcname, _local4);
_root[mcname].onMouseMove = function () {
this._x = _xmouse - (this._width / 2);
this._y = _ymouse - (this._height / 2);
updateAfterEvent();
};
}
function removeAim() {
Mouse.show();
_root[aimname].removeMovieClip();
}
function putShot(shotmc, speed, x_maxbound, y_maxbound) {
if ((gunCreated and _root.___Go) and _root.___GoHero) {
var _local8 = YFW.getNextDepth(3000);
if (((((_root[shooter]._movement == "horizontal") or (_root[shooter]._movement == "free")) or (_root[shooter]._movement == "rotation")) or (_root[shooter]._movement == "")) or (_root[shooter]._movement == undefined)) {
var _local7 = _root[shooter]._rotation - 90;
}
if (_root[shooter]._movement == "vertical") {
var _local7 = _root[shooter]._rotation;
}
var _local7 = (_local7 * Math.PI) / 180;
pntShot++;
var _local6 = shotmc + pntShot;
shot = _local6;
libshot = shotmc;
_root.attachMovie(shotmc, _local6, _local8);
_root[_local6]._x = _root[shooter]._x + (nose * Math.cos(_local7));
_root[_local6]._y = _root[shooter]._y + (nose * Math.sin(_local7));
_root[_local6].xmov = speed * Math.cos(_local7);
_root[_local6].ymov = speed * Math.sin(_local7);
_root[_local6].myTargets = "___targetsArray";
_root[_local6].onHit = "";
_root[_local6].onEnterFrame = function () {
if (this.myTargets != undefined) {
var _local3 = 0;
while (_local3 <= (_root[this.myTargets].length - 1)) {
if (this.hitTest(_root[_root[this.myTargets][_local3]])) {
this._visible = false;
var _local5 = true;
var _local4 = _root[this.myTargets][_local3];
_root[this.myTargets][_local3] = "";
_root[this.myTargets] = YFW.cleanArray(_root[this.myTargets]);
YFW.pushDestroyed(_local4);
YFW.execEvent(this.onHit);
}
_local3++;
}
}
this._x = this._x + this.xmov;
this._y = this._y + this.ymov;
if (((((this._x < 0) or (this._x > x_maxbound)) or (this._y < 0)) or (this._y > y_maxbound)) or _local5) {
this.removeMovieClip();
}
};
} else {
trace("no shooter found.");
}
}
function attachAmmo(ammoname, eachbulletmc, reloadstxt, totalbullets, totalreloads, auto_reload) {
var _local3 = 0;
while (_local3 <= totalbullets) {
_root[ammoname][eachbulletmc + _local3]._visible = true;
_local3++;
}
_root[ammoname].onEmpty = "";
_root[ammoname].onNoReloads = "";
_root[ammoname]._totalBullets = totalbullets;
_root[ammoname]._totalReloads = totalreloads;
_root[ammoname]._defaultTotalBullets = totalbullets;
_root[ammoname]._defaultTotalReloads = totalreloads;
_root[ammoname]._autoReload = auto_reload;
ammoMC = ammoname;
eachBulletMC = eachbulletmc;
reloadsTxt = reloadstxt;
}
function decAmmo() {
if (_root[ammoMC]._totalBullets > 0) {
_root[ammoMC][eachBulletMC + _root[ammoMC]._totalBullets]._visible = false;
_root[ammoMC]._totalBullets--;
if (_root[ammoMC]._totalBullets == 0) {
YFW.execEvent(_root[ammoMC].onEmpty);
if (_root[ammoMC]._autoReload) {
reload();
} else if (_root[ammoMC]._totalReloads == 0) {
YFW.execEvent(_root[ammoMC].onNoReloads);
}
}
}
}
function reload() {
if (_root[ammoMC]._totalReloads > 0) {
if (_root[ammoMC]._totalBullets == 0) {
_root[ammoMC]._totalBullets = _root[ammoMC]._defaultTotalBullets;
_root[ammoMC]._totalReloads--;
_root[ammoMC][reloadsTxt].text = _root[ammoMC]._totalReloads;
var _local3 = 1;
while (_local3 <= _root[ammoMC]._totalBullets) {
_root[ammoMC][eachBulletMC + _local3]._visible = true;
_local3++;
}
}
} else {
YFW.execEvent(_root[ammoMC].onNoReloads);
}
}
function getAmmo() {
return(_root[ammoMC]._totalBullets);
}
function getReloads() {
return(_root[ammoMC]._totalReloads);
}
function resetAmmo() {
_root[ammoMC]._totalBullets = _root[ammoMC]._defaultTotalBullets;
_root[ammoMC]._totalReloads = _root[ammoMC]._defaultTotalReloads;
var _local3 = 1;
while (_local3 <= _root[ammoMC]._defaultTotalBullets) {
_root[ammoMC][eachBulletMC + _local3]._visible = true;
_local3++;
}
}
function getShot() {
return(shot);
}
function getGun() {
return(shooter);
}
function removeAllShots() {
var _local3 = getShotPointer() - 20;
while (_local3 <= (getShotPointer() + 10)) {
_root[getShotLibName() + _local3].removeMovieClip();
_local3++;
}
}
function getShotPointer() {
return(pntShot);
}
function getShotLibName() {
return(libshot);
}
var pntShot = 3000;
var gunCreated = false;
}
Symbol 73 MovieClip [__Packages.Keyboard] Frame 0
class Keyboard
{
var aKeyMatch, Keypressed, aKeyMatchDefault;
function Keyboard () {
aKeyMatch = new Array();
}
function enable(status) {
if (status) {
_enabled = true;
} else {
_enabled = false;
}
}
function getStatus() {
return(_enabled);
}
function onKeyDown() {
switch (Key.getAscii()) {
case 9 :
Keypressed = "TAB";
break;
case 32 :
Keypressed = "SPACE";
break;
case 8 :
Keypressed = "BS";
break;
case 46 :
Keypressed = "DEL";
break;
case 40 :
Keypressed = "DOWN";
break;
case 38 :
Keypressed = "UP ARROW";
break;
case 37 :
Keypressed = "LEFT";
break;
case 39 :
Keypressed = "RIGHT";
break;
case 35 :
Keypressed = "END";
break;
case 13 :
Keypressed = "ENTER";
break;
case 27 :
Keypressed = "ESC";
break;
case 36 :
Keypressed = "HOME";
break;
case 45 :
Keypressed = "INS";
break;
case 33 :
Keypressed = "PGU";
break;
case 34 :
Keypressed = "PGD";
break;
default :
var _local3 = Key.getCode();
Keypressed = String(Key.getCode());
if ((_local3 >= 112) and (_local3 <= 123)) {
Keypressed = "F" + (_local3 - 111);
} else {
Keypressed = _local3;
}
}
if (_debug) {
trace(Keypressed);
}
switch (keymode) {
case "play" :
if (_enabled) {
executeFunction(Keypressed, "press");
}
break;
case "config" :
if (Keypressed == "TAB") {
if (ConfigPointer < (aKeyMatch.length - 1)) {
ConfigPointer++;
} else {
ConfigPointer = 0;
}
_root.mcConfigScreen.mcConfigMark._x = _root.mcConfigScreen["txtKey" + ConfigPointer]._x;
_root.mcConfigScreen.mcConfigMark._y = _root.mcConfigScreen["txtKey" + ConfigPointer]._y;
} else {
configKey(aKeyMatch[ConfigPointer].identifier, Keypressed);
}
break;
case "main" :
}
}
function onKeyUp() {
switch (Key.getAscii()) {
case 9 :
Keypressed = "TAB";
break;
case 32 :
Keypressed = "SPACE";
break;
case 8 :
Keypressed = "BS";
break;
case 46 :
Keypressed = "DEL";
break;
case 40 :
Keypressed = "DOWN";
break;
case 38 :
Keypressed = "UP ARROW";
break;
case 37 :
Keypressed = "LEFT";
break;
case 39 :
Keypressed = "RIGHT";
break;
case 35 :
Keypressed = "END";
break;
case 13 :
Keypressed = "ENTER";
break;
case 27 :
Keypressed = "ESC";
break;
case 36 :
Keypressed = "HOME";
break;
case 45 :
Keypressed = "INS";
break;
case 33 :
Keypressed = "PGU";
break;
case 34 :
Keypressed = "PGD";
break;
default :
var _local3 = Key.getCode();
Keypressed = String(Key.getCode());
if ((_local3 >= 112) and (_local3 <= 123)) {
Keypressed = "F" + (_local3 - 111);
} else {
Keypressed = _local3;
}
}
if (_debug) {
trace(Keypressed);
}
switch (keymode) {
case "play" :
if (_enabled) {
executeFunction(Keypressed, "release");
}
break;
case "config" :
if (Keypressed == "TAB") {
if (ConfigPointer < (aKeyMatch.length - 1)) {
ConfigPointer++;
} else {
ConfigPointer = 0;
}
_root.mcConfigScreen.mcConfigMark._x = _root.mcConfigScreen["txtKey" + ConfigPointer]._x;
_root.mcConfigScreen.mcConfigMark._y = _root.mcConfigScreen["txtKey" + ConfigPointer]._y;
} else {
configKey(aKeyMatch[ConfigPointer].identifier, Keypressed);
}
break;
case "main" :
}
}
function configKey(identifier, key) {
var _local3 = 0;
while (_local3 <= 8) {
if (aKeyMatch[_local3] == key) {
_root.mcConfigScreen["txtKey" + _local3].text = "?";
aKeyMatch[_local3] = undefined;
}
_local3++;
}
var _local4 = false;
switch (key) {
case "BS" :
_root.mcConfigScreen["txtKey" + ConfigPointer].text = "BACKSPACE";
_local4 = true;
break;
case "DEL" :
case "46" :
_root.mcConfigScreen["txtKey" + ConfigPointer].text = "DELETE";
_local4 = true;
break;
case "DOWN" :
case "40" :
_root.mcConfigScreen["txtKey" + ConfigPointer].text = "DOWN ARROW";
_local4 = true;
break;
case "END" :
case "35" :
_root.mcConfigScreen["txtKey" + ConfigPointer].text = "END";
_local4 = true;
break;
case "HOME" :
case "36" :
_root.mcConfigScreen["txtKey" + ConfigPointer].text = "HOME";
_local4 = true;
break;
case "SPACE" :
_root.mcConfigScreen["txtKey" + ConfigPointer].text = "SPACE";
_local4 = true;
break;
case "INS" :
case "45" :
_root.mcConfigScreen["txtKey" + ConfigPointer].text = "INSERT";
_local4 = true;
break;
case "LEFT" :
case "37" :
_root.mcConfigScreen["txtKey" + ConfigPointer].text = "LEFT";
_local4 = true;
break;
case "RIGHT" :
case "39" :
_root.mcConfigScreen["txtKey" + ConfigPointer].text = "RIGHT";
_local4 = true;
break;
case "UP" :
case "38" :
_root.mcConfigScreen["txtKey" + ConfigPointer].text = "UP";
_local4 = true;
break;
case "PGU" :
case "33" :
_root.mcConfigScreen["txtKey" + ConfigPointer].text = "PAGE UP";
_local4 = true;
break;
case "PGD" :
case "34" :
_root.mcConfigScreen["txtKey" + ConfigPointer].text = "PAGE DOWN";
_local4 = true;
break;
case "187" :
_root.mcConfigScreen["txtKey" + ConfigPointer].text = "+";
_local4 = true;
break;
case "188" :
_root.mcConfigScreen["txtKey" + ConfigPointer].text = "<";
_local4 = true;
break;
case "191" :
_root.mcConfigScreen["txtKey" + ConfigPointer].text = ":";
_local4 = true;
break;
case "193" :
_root.mcConfigScreen["txtKey" + ConfigPointer].text = "?";
_local4 = true;
break;
case "226" :
_root.mcConfigScreen["txtKey" + ConfigPointer].text = "\\";
_local4 = true;
break;
default :
if (Keypressed == "ENTER") {
break;
}
if ((key.substring(0, 1) == "F") and (key.length > 1)) {
_root.mcConfigScreen["txtKey" + ConfigPointer].text = key;
_local4 = true;
} else {
if (!(((key >= 65) and (key <= 90)) || ((key >= 48) and (key <= 57)))) {
break;
}
_root.mcConfigScreen["txtKey" + ConfigPointer].text = chr(Number(key));
_local4 = true;
}
}
if (!_local4) {
aKeyMatch[ConfigPointer].key = undefined;
_root.mcConfigScreen["txtKey" + ConfigPointer].text = "! ILLEGAL KEY !";
}
aKeyMatch[ConfigPointer].key = key;
}
function loadDefaults() {
var _local2 = 0;
while (_local2 <= (aKeyMatch.length - 1)) {
aKeyMatch[_local2].key = aKeyMatchDefault[_local2].key;
aKeyMatch[_local2].identifier = aKeyMatchDefault[_local2].identifier;
aKeyMatch[_local2].functionwhenpress = aKeyMatchDefault[_local2].functionwhenpress;
aKeyMatch[_local2].parameters1 = aKeyMatchDefault[_local2].parameters1;
aKeyMatch[_local2].functionwhenrelease = aKeyMatchDefault[_local2].functionwhenrelease;
aKeyMatch[_local2].parameters2 = aKeyMatchDefault[_local2].parameters2;
_local2++;
}
}
function setMode(keymode) {
this.keymode = keymode;
if (keymode == "config") {
if (aKeyMatchDefault == undefined) {
aKeyMatchDefault = new Array();
var _local3 = 0;
while (_local3 <= (aKeyMatch.length - 1)) {
aKeyMatchDefault[_local3] = {key:"", identifier:"", functionwhenpress:"", parameters1:"", functionwhenrelease:"", parameters2:""};
aKeyMatchDefault[_local3].key = aKeyMatch[_local3].key;
aKeyMatchDefault[_local3].identifier = aKeyMatch[_local3].identifier;
aKeyMatchDefault[_local3].functionwhenpress = aKeyMatch[_local3].functionwhenpress;
aKeyMatchDefault[_local3].parameters1 = aKeyMatch[_local3].parameters1;
aKeyMatchDefault[_local3].functionwhenrelease = aKeyMatch[_local3].functionwhenrelease;
aKeyMatchDefault[_local3].parameters2 = aKeyMatch[_local3].parameters2;
_local3++;
}
}
_root.mcConfigScreen.mcConfigMark._x = _root.mcConfigScreen.txtKey0._x;
_root.mcConfigScreen.mcConfigMark._y = _root.mcConfigScreen.txtKey0._y;
ConfigPointer = 0;
}
}
function getMode() {
return(keymode);
}
function getMatchList() {
return(aKeyMatch);
}
function executeFunction(key, action) {
var _local4 = 0;
while (_local4 <= (aKeyMatch.length - 1)) {
if (aKeyMatch[_local4].key == key) {
var _local3 = new Array();
var _local5 = "";
if (action == "press") {
_local3 = YFW.miniArray((aKeyMatch[_local4].functionwhenpress + ",") + aKeyMatch[_local4].parameters1);
} else {
_local3 = YFW.miniArray((aKeyMatch[_local4].functionwhenrelease + ",") + aKeyMatch[_local4].parameters2);
}
if (_local3.length > 1) {
_root[_local3[0]](_local3[1], _local3[2], _local3[3], _local3[4], _local3[5], _local3[6], _local3[7], _local3[8], _local3[9], _local3[10]);
} else {
_root[_local3[0]]();
}
}
_local4++;
}
}
function associate(key, identifier, functionwhenpress, parameters1, functionwhenrelease, parameters2) {
var _local3 = false;
var _local2 = 0;
while (_local2 <= (aKeyMatch.length - 1)) {
if (aKeyMatch[_local2].key == key) {
aKeyMatch[_local2] = {key:key, functionwhenpress:functionwhenpress, parameters1:parameters1, functionwhenrelease:functionwhenrelease, parameters2:parameters2};
_local3 = true;
}
_local2++;
}
if (!_local3) {
aKeyMatch[aKeyMatch.length] = {key:key, functionwhenpress:functionwhenpress, parameters1:parameters1, functionwhenrelease:functionwhenrelease, parameters2:parameters2};
}
}
function getKeypressed() {
return(Keypressed);
}
var ConfigPointer = 0;
var keymode = "play";
var _enabled = true;
var _debug = false;
}
Symbol 74 MovieClip [__Packages.Hero] Frame 0
class Hero
{
var movname, herox, heroy;
function Hero () {
}
function attachCannon(mcname, movement, xcoord, ycoord) {
mcname = YFW.newMC(mcname, pntHero);
movname = mcname;
_root[mcname]._x = xcoord;
_root[mcname]._y = ycoord;
_root[mcname]._movement = movement;
_root[mcname]._myTargets = "___targetsArray";
_root.___GoHero = true;
_root[mcname].onRotate = "";
_root[mcname].onMove = "";
_root[mcname].onTouchTarget = "";
_root[mcname].onMouseMove = function () {
if (_root.___Go and _root.___GoHero) {
if (this._movement == "rotation") {
YFW.execEvent(this.onRotate);
updateAfterEvent();
var _local5 = _xmouse - this._x;
var _local4 = _ymouse - this._y;
var _local3 = Math.atan2(_local4, _local5);
_local3 = ((_local3 * 180) / Math.PI) + 90;
this._rotation = _local3;
} else {
YFW.execEvent(this.onMove);
if (movement == "horizontal") {
this._x = _xmouse;
}
if (movement == "vertical") {
this._y = _ymouse;
}
}
}
};
_root[mcname].onEnterFrame = function () {
if (_root.___Go and _root.___GoHero) {
if (this._myTargets != undefined) {
var _local3 = 0;
while (_local3 <= (_root[this._myTargets].length - 1)) {
if (this.hitTest(_root[_root[this._myTargets][_local3]])) {
YFW.execEvent(this.onTouchTarget);
}
_local3++;
}
}
}
};
}
function attachShip(mcname, xini, yini, maxx, maxy, speed, brakes, extrapolate) {
mcname = YFW.newMC(mcname, pntHero);
movname = mcname;
herox = xini;
heroy = yini;
_root[mcname].onAccelerate = "";
_root[mcname].onBrakes = "";
_root[mcname].onTurnRight = "";
_root[mcname].onTurnLeft = "";
_root[mcname].onExtrapolate = "";
_root[mcname].onBounds = "";
_root[mcname].onTouchTarget = "";
_root[mcname]._x = xini;
_root[mcname]._y = yini;
_root[mcname].maxX = maxx;
_root[mcname].maxY = maxy;
_root[mcname].extrapolate = extrapolate;
_root[mcname].speed = speed;
_root[mcname].torque = 0;
_root[mcname].rtorque = 0;
_root[mcname].AngVelocity = 0;
_root[mcname].AngAcceleration = 0;
_root[mcname].angle = 0;
_root[mcname].force = 0;
_root[mcname].xv = 0;
_root[mcname].yv = 0;
_root[mcname].x = 0;
_root[mcname].y = 0;
_root[mcname].xa = 0;
_root[mcname].ya = 0;
_root[mcname].v = 0;
_root[mcname].momentum = 0.02;
_root[mcname].drag = 0;
_root[mcname]._myTargets = "___targetsArray";
_root.___GoHero = true;
var _local5 = new Keyboard();
Key.addListener(_local5);
_root[mcname].onEnterFrame = function () {
if (_root.___Go and _root.___GoHero) {
if (this._myTargets != undefined) {
var _local3 = 0;
while (_local3 <= (_root[this._myTargets].length - 1)) {
if (this.hitTest(_root[_root[this._myTargets][_local3]])) {
YFW.execEvent(this.onTouchTarget);
}
_local3++;
}
}
if (Key.isDown(39)) {
YFW.execEvent(this.onTurnRight);
this.torque = 5;
} else if (Key.isDown(37)) {
YFW.execEvent(this.onTurnLeft);
this.torque = -5;
} else {
this.torque = 0;
}
this.rtorque = 0.5 * this.AngVelocity;
this.AngAcceleration = this.torque - this.rtorque;
this.AngVelocity = this.AngVelocity + this.AngAcceleration;
this.angle = this.angle + this.AngVelocity;
if (this.angle < 0) {
this.angle = this.angle + 360;
}
if (this.angle > 360) {
this.angle = this.angle - 360;
}
this.v = Math.sqrt(Math.pow(this.xv, 2) + Math.pow(this.yv, 2));
this.drag = this.momentum * this.v;
if (Key.isDown(38)) {
YFW.execEvent(this.onAccelerate);
this.force = speed;
} else {
this.force = 0;
}
this.xa = ((this.drag * this.xv) * -1) + (this.force * Math.sin((Math.PI/180) * this.angle));
this.ya = ((this.drag * this.yv) * -1) - (this.force * Math.cos((Math.PI/180) * this.angle));
this.xv = this.xv + this.xa;
this.yv = this.yv + this.ya;
if (brakes) {
if (Key.isDown(40)) {
YFW.execEvent(this.onBrakes);
if (this.onBrakes != undefined) {
_root.onBrakes();
}
this.xv = 0;
this.yv = 0;
}
}
if (this.extrapolate) {
YFW.execEvent(this.onExtrapolate);
if (this._x <= 0) {
this._x = this.maxX - 1;
}
if (this._x >= this.maxX) {
this._x = 0;
}
if (this._y <= 0) {
this._y = this.maxY - 1;
}
if (this._y >= this.maxY) {
this._y = 0;
}
} else {
YFW.execEvent(this.onBounds);
if (this._x <= 0) {
this._x = 0;
}
if (this._x >= this.maxX) {
this._x = this.maxX;
}
if (this._y <= 0) {
this._y = 0;
}
if (this._y >= this.maxY) {
this._y = this.maxY;
}
}
this._y = this._y + this.yv;
this._x = this._x + this.xv;
this._rotation = this.angle;
}
};
}
function attachFish(mcname, xini, yini, speed, rotateme) {
mcname = YFW.newMC(mcname, pntHero);
movname = mcname;
herox = xini;
heroy = yini;
_root[mcname].onSwim = "";
_root[mcname].onReach = "";
_root[mcname].mySpeed = speed;
_root[mcname].endposx = 0;
_root[mcname].endposy = 0;
_root[mcname]._x = xini;
_root[mcname]._y = yini;
_root[mcname].Inverted = false;
_root.___GoHero = true;
if (rotateme) {
_root[mcname].onEnterFrame = function () {
if (_root.___Go and _root.___GoHero) {
var _local3 = _root._ymouse - this._y;
var _local4 = _root._xmouse - this._x;
this.mcFish._rotation = (Math.atan2(_local3, _local4) * 180) / Math.PI;
this.factor = Math.floor(this.mcFish._rotation);
_local3 = _ymouse - this._y;
_local4 = _xmouse - this._x;
this._rotation = (Math.atan2(_local3, _local4) * 180) / Math.PI;
this.factor = Math.floor(this._rotation);
if (((this.factor > 90) && (this.factor <= 179)) || ((this.factor > -180) && (this.factor < -90))) {
if (this.Inverted == false) {
this._yscale = this._yscale * -1;
this.Inverted = true;
}
}
if (((this.factor <= 90) && (this.factor >= -90)) && (this.Inverted == true)) {
this._yscale = this._yscale * -1;
this.Inverted = false;
}
}
};
}
_root[mcname].onMouseDown = function () {
if (_root.___Go and _root.___GoHero) {
YFW.execEvent(this.onSwin);
if (_xmouse > this._x) {
if ((_xmouse - this._x) > this.mySpeed) {
this.endposx = this._x + this.mySpeed;
} else {
this.endposx = _xmouse;
}
}
if (_xmouse < this._x) {
if ((this._x - _xmouse) > this.mySpeed) {
this.endposx = this._x - this.mySpeed;
} else {
this.endposx = _xmouse;
}
}
if (_ymouse > this._y) {
if ((_ymouse - this._y) > this.mySpeed) {
this.endposy = this._y + this.mySpeed;
} else {
this.endposy = _ymouse;
}
}
if (_ymouse < this._y) {
if ((this._y - _ymouse) > this.mySpeed) {
this.endposy = this._y - this.mySpeed;
} else {
this.endposy = _ymouse;
}
}
this.createEmptyMovieClip("mcMoveMe", 1);
this.mcMoveMe.endposx = this.endposx;
this.mcMoveMe.endposy = this.endposy;
this.mcMoveMe.myParent = this._name;
this.mcMoveMe.onEnterFrame = function () {
var _local4 = (this.endposx - _root[this.myParent]._x) / 8;
var _local3 = (this.endposy - _root[this.myParent]._y) / 8;
_root[this.myParent]._x = _root[this.myParent]._x + _local4;
_root[this.myParent]._y = _root[this.myParent]._y + _local3;
if ((Math.floor(_local4) == 0) && (Math.floor(_local3) == 0)) {
YFW.execEvent(this.onReach);
this.removeMovieClip();
}
};
}
};
}
function setFishSpeed(newspeed) {
_root[movname].mySpeed = newspeed;
}
function resetHero() {
_root[movname]._x = herox;
_root[movname]._x = heroy;
}
function getHeroName() {
return(movname);
}
function getHeroX() {
return(_root[movname]._x);
}
function getHeroY() {
return(_root[movname]._y);
}
function attachDiver(mcname, xini, yini, divespeed, raisespeed, diverot, raiserot, maxdive, maxraise) {
mcname = YFW.newMC(mcname, pntHero);
movname = mcname;
herox = xini;
heroy = yini;
_root[mcname].myDownSpeed = divespeed;
_root[mcname].myUpSpeed = raisespeed;
_root[mcname].myDiveRot = diverot;
_root[mcname].myRaiseRot = raiserot;
_root[mcname].myMaxDive = maxdive;
_root[mcname].myMaxRaise = maxraise;
_root[mcname].myTargets = "___targetsArray";
_root[mcname]._x = xini;
_root[mcname]._y = yini;
_root.___GoHero = true;
_root[mcname].onDive = "";
_root[mcname].onRaise = "";
_root[mcname].onMaxDive = "";
_root[mcname].onMaxRaise = "";
_root[mcname].onTouchTarget = "";
_root[mcname].onEnterFrame = function () {
if (_root.___Go and _root.___GoHero) {
if (this.myTargets != undefined) {
var _local3 = 0;
while (_local3 <= (_root[this.myTargets].length - 1)) {
if (this.hitTest(_root[_root[this.myTargets][_local3]])) {
YFW.execEvent(this.onTouchTarget);
}
_local3++;
}
}
}
};
_root[mcname].onMouseDown = function () {
if (_root.___Go and _root.___GoHero) {
YFW.execEvent(this.onDive);
this._rotation = this.myDiveRot;
this.onEnterFrame = function () {
if (this._y < this.myMaxDive) {
this._y = this._y + this.myDownSpeed;
}
if (this._y >= this.myMaxDive) {
YFW.execEvent(this.onMaxDive);
}
};
}
};
_root[mcname].onMouseUp = function () {
if (_root.___Go and _root.___GoHero) {
YFW.execEvent(this.onRaise);
this._rotation = this.myRaiseRot;
this.onEnterFrame = function () {
if (this._y > this.myMaxRaise) {
this._y = this._y - this.myUpSpeed;
}
if (this._y <= this.myMaxDive) {
YFW.execEvent(this.onMaxRaise);
}
};
}
};
}
function attachRaiser(mcname, xini, yini, raisespeed, divespeed, raiserot, diverot, maxraise, maxdive) {
mcname = YFW.newMC(mcname, pntHero);
movname = mcname;
herox = xini;
heroy = yini;
_root[mcname].myDownSpeed = divespeed;
_root[mcname].myUpSpeed = raisespeed;
_root[mcname].myDiveRot = diverot;
_root[mcname].myRaiseRot = raiserot;
_root[mcname].myMaxDive = maxdive;
_root[mcname].myMaxRaise = maxraise;
_root[mcname].myTargets = "___targetsArray";
_root[mcname]._x = xini;
_root[mcname]._y = yini;
_root.___GoHero = true;
_root[mcname].onDive = "";
_root[mcname].onRaise = "";
_root[mcname].onMaxDive = "";
_root[mcname].onMaxRaise = "";
_root[mcname].onTouchTarget = "";
_root[mcname].onEnterFrame = function () {
if (_root.___Go and _root.___GoHero) {
if (this.myTargets != undefined) {
var _local3 = 0;
while (_local3 <= (_root[this.myTargets].length - 1)) {
if (this.hitTest(_root[_root[this.myTargets][_local3]])) {
YFW.execEvent(this.onTouchTarget);
}
_local3++;
}
}
}
};
_root[mcname].onMouseDown = function () {
if (_root.___Go and _root.___GoHero) {
YFW.execEvent(this.onDive);
this._rotation = this.myDiveRot;
this.onEnterFrame = function () {
if (this._y > this.myMaxRaise) {
this._y = this._y - this.myUpSpeed;
}
if (this._y <= this.myMaxRaise) {
YFW.execEvent(this.onMaxRaise);
}
};
}
};
_root[mcname].onMouseUp = function () {
if (_root.___Go and _root.___GoHero) {
YFW.execEvent(this.onRaise);
this._rotation = this.myRaiseRot;
this.onEnterFrame = function () {
if (this._y < this.myMaxDive) {
this._y = this._y + this.myDownSpeed;
}
if (this._y >= this.myMaxDive) {
YFW.execEvent(this.onMaxDive);
}
};
}
};
}
function attachFollower(mcname, xini, yini, speed, axis, triggering) {
if (triggering == "move") {
var functiontype = "onMouseMove";
} else {
var functiontype = "onMouseDown";
}
mcname = YFW.newMC(mcname, pntHero);
movname = mcname;
_root.___MovName = movname;
herox = xini;
heroy = yini;
_root.___GoHero = true;
_root[mcname]._x = xini;
_root[mcname]._y = yini;
_root[mcname].mySpeed = speed;
_root[mcname].myAxis = axis;
_root[mcname].myWait = 0;
_root[mcname].onReach = "";
_root[mcname][functiontype] = function () {
if (_root.___Go and _root.___GoHero) {
clearInterval(this.myWait);
var ResetInterval = function () {
clearInterval(_root[mcname].myWait);
YFW.execEvent(_root[_root.___MovName].onReach);
delete _root[mcname][functiontype].onEnterFrame;
};
if (triggering == "Click") {
_root[mcname].onMouseUp = function () {
delete _root[mcname].onEnterFrame;
};
}
_root[mcname].onEnterFrame = function () {
if ((this.myAxis == "horizontal") or (this.myAxis == "both")) {
trace("moving...");
if (_xmouse > this._x) {
this._x = this._x + this.mySpeed;
}
if (_xmouse < this._x) {
this._x = this._x - this.mySpeed;
}
if ((_xmouse >= (this._x - this.mySpeed)) and (_xmouse <= (this._x + this.mySpeed))) {
delete _root[mcname].onEnterFrame;
this.myWait = setInterval(ResetInterval, 1000);
}
}
if ((this.myAxis == "vertical") or (this.myAxis == "both")) {
if (_ymouse > this._y) {
this._y = this._y + this.mySpeed;
}
if (_ymouse < this._y) {
this._y = this._y - this.mySpeed;
}
if (_ymouse == this._y) {
delete _root[mcname].onEnterFrame;
this.myWait = setInterval(ResetInterval, 200);
}
}
};
}
};
}
function setHeroStatus(mystatus) {
if (mystatus) {
_root.___GoHero = true;
} else {
_root.___GoHero = false;
}
}
function getHeroStatus() {
return(_root.___GoHero);
}
var pntHero = 7000;
}
Symbol 75 MovieClip [__Packages.Levels] Frame 0
class Levels
{
var levelMC, levelTxt, levelDefault, currentLevel;
function Levels () {
}
function attachLevel(mcname, txtname, initial, xcoord, ycoord) {
mcname = YFW.newMC(mcname, pntLevel);
levelMC = mcname;
levelTxt = txtname;
levelDefault = initial;
currentLevel = initial;
_root[levelMC]._x = xcoord;
_root[levelMC]._y = ycoord;
updateLevel();
}
function incLevel() {
currentLevel++;
updateLevel();
}
function updateLevel() {
_root[levelMC][levelTxt].text = currentLevel;
}
function getLevel() {
return(currentLevel);
}
function setLevel(level) {
currentLevel = level;
updateLevel();
}
function resetLevel() {
currentLevel = levelDefault;
updateLevel();
}
var pntLevel = 1000;
}
Symbol 76 MovieClip [__Packages.Lives] Frame 0
class Lives
{
var movname, _totalLives, defaultTotalLives, eachLifeMC;
function Lives () {
}
function attachLives(mcname, eachlifemc, totallives, xcoord, ycoord) {
mcname = YFW.newMC(mcname, pntLives);
movname = mcname;
var _local3 = 0;
while (_local3 <= totallives) {
_root.livesmc[eachlifemc + _local3]._visible = true;
_local3++;
}
_totalLives = totallives;
defaultTotalLives = totallives;
eachLifeMC = eachlifemc;
_root[movname]._x = xcoord;
_root[movname]._y = ycoord;
_root[movname].onZero = "";
}
function decLives(ammount) {
if (_totalLives > 0) {
_root[movname][eachLifeMC + _totalLives]._visible = false;
if (ammount == undefined) {
ammount = 1;
}
_totalLives = _totalLives - ammount;
if (_totalLives < 0) {
_totalLives = 0;
}
if (_totalLives <= 0) {
YFW.execEvent(_root[movname].onZero);
}
}
}
function getLives() {
return(_totalLives);
}
function getLivesName() {
return(movname);
}
function setLives(quantity) {
_totalLives = quantity;
var _local3 = 1;
while (_local3 <= quantity) {
_root[movname][eachLifeMC + _local3]._visible = true;
_local3++;
}
}
function resetLives() {
_totalLives = defaultTotalLives;
var _local3 = 1;
while (_local3 <= defaultTotalLives) {
_root[movname][eachLifeMC + _local3]._visible = true;
_local3++;
}
}
var pntLives = 2000;
}
Symbol 78 MovieClip [__Packages.SpecialFX] Frame 0
class SpecialFX
{
function SpecialFX () {
}
function attachExplosions(mcname) {
var _local3 = 0;
while (_local3 <= (_root.___destroyedArray.length - 1)) {
mcname = YFW.newMC(mcname, pntExplosion);
_root[mcname]._x = _root[_root.___destroyedArray[_local3]]._x;
_root[mcname]._y = _root[_root.___destroyedArray[_local3]]._y;
_local3++;
}
}
function fade(path_to_mc, start_alpha, end_alpha, speed) {
var _local6 = YFW.getNextDepth(pntSpecialFX, pntSpecialFX + 999);
var _local3 = "mcFade" + _local6;
_root.createEmptyMovieClip(_local3, _local6);
var _local5 = speed * 30;
_root[_local3]._startalpha = start_alpha;
_root[_local3]._endalpha = end_alpha;
_root[_local3]._speed = speed;
_root[_local3]._steps = _local5;
_root[_local3]._stepsize = (end_alpha - start_alpha) / _local5;
_root[path_to_mc]._alpha = start_alpha;
_root[_local3]._factor = "positive";
if (end_alpha < start_alpha) {
_root[_local3]._steps = _root[_local3]._steps * -1;
_root[_local3]._factor = "negative";
}
_root[_local3].onEnterFrame = function () {
_root[path_to_mc]._alpha = _root[path_to_mc]._alpha + this._stepsize;
if (this._factor == "positive") {
if (_root[path_to_mc]._alpha >= this._endalpha) {
this.removeMovieClip();
}
} else if (_root[path_to_mc]._alpha <= this._endalpha) {
this.removeMovieClip();
}
};
}
var pntExplosion = 9000;
var pntSpecialFX = 12000;
}
Symbol 110 Button
on (release) {
_root.mcPaused._visible = false;
_root.mcCursor.removeMovieClip();
Mouse.show();
_root.btnQuit.enabled = false;
_root.mcTitle._visible = true;
_root.RemoveAll();
_root.___Go = false;
_root.___Timer = false;
}
on (rollOver) {
_root.pSound("click");
}
on (rollOut, releaseOutside) {
_root.pSound("click");
}
Symbol 120 MovieClip Frame 1
stop();
Symbol 120 MovieClip Frame 2
stop();
Symbol 125 MovieClip Frame 1
stop();
Symbol 125 MovieClip Frame 2
stop();
Symbol 125 MovieClip Frame 3
play();
Symbol 125 MovieClip Frame 8
gotoAndPlay (3);
Instance of Symbol 94 MovieClip in Symbol 137 MovieClip Frame 1
on (release) {
_root.getURL("http://www.holygrailgames.com", "_blank");
}
Instance of Symbol 130 MovieClip in Symbol 137 MovieClip Frame 1
on (release) {
_root.getURL("http://www.espill.no", "_blank");
}
Instance of Symbol 133 MovieClip in Symbol 137 MovieClip Frame 1
on (release) {
_root.getURL("http://www.holygrailgames.com/page-webmaster.html", "_blank");
}
Instance of Symbol 135 MovieClip in Symbol 137 MovieClip Frame 1
on (release) {
_root.getURL("http://www.holygrailgames.com/page-webmaster.html", "_blank");
}