Frame 1
fscommand ("fullscreen", true);
fscommand ("allowscale", false);
fscommand ("showmenu", false);
var nLoadStatus = 0;
mcPreloading.mcLoadStatus._xscale = nLoadStatus;
preloadText.text = "game loading...";
Frame 2
if (_root.getBytesLoaded() < _root.getBytesTotal()) {
nLoadStatus = Math.round((_root.getBytesLoaded() / _root.getBytesTotal()) * 100);
mcPreloading.mcLoadStatus._xscale = nLoadStatus;
preloadText.text = nLoadStatus + " % completed";
} else {
mcPreloading.mcLoadStatus._xscale = 100;
preloadText.text = "game loaded.";
gotoAndPlay (4);
}
Frame 3
gotoAndPlay (2);
Frame 4
preloadText.text = mcPreloading.mcLoadStatus._xscale + " % completed";
Frame 5
stop();
mcOptMenu.mcOptStart.onRelease = function () {
_root.mcLogo._visible = false;
_root.mcOptStart._visible = false;
gotoAndPlay (6);
};
_root.onEnterFrame = function () {
_root.mcLogo._visible = true;
_root.mcOptStart._visible = true;
};
Frame 6
var nFTFF = true;
var nCounterBlocks = 0;
var nRootWidth = 850;
var nRootHeight = 588;
var nBlockTypes = 30;
var niMax = 20;
var njMax = 20;
var nBlockWidth = 120;
var nBlockHeight = 60;
var nZoomIn = false;
var nZoomOut = false;
var nBlockDepthMap = 0;
var sFileName = (("map" + xMap) + ".txt");
var nPlayerStepsMax = 2;
var nPlayerStepsActual = 0;
var bSelectAction = false;
var sCurrentSelection = "x";
var sCurrentSelectionObj = "";
var aMapBlocks = new Array();
var aWorld = new Array();
var bEndGame = false;
var nDeltaMenuMng = 1;
var nDeltaMenuObj = 1;
var nDeltaMapX = 1;
var nDeltaMapY = 1;
var bMenuMngIsMoving = false;
var bMenuObjIsMoving = false;
var nSetPlayerValues = 0;
var nPlayerX = 10;
var nPlayerY = 10;
var nPlayerDepth = 0;
var nTime = 0;
var nActualMap = 6;
var aMapValues = [];
var aMapValuesMax = [];
var nNextMap = 0;
nPlayerDepth = (((nPlayerX * _root.niMax) + nPlayerY) * 5) + 1;
Frame 7
function fMapBlockClicked(niMax, njMax) {
var _local4 = 0;
while (_local4 < niMax) {
var _local3 = 0;
while (_local3 < njMax) {
_root.gridBase[(("gridMap" + _local4) + "-") + _local3].onRelease = function () {
insertBlockIntoMap(_root[sBlockNowSelected], this._name, this.xgrid, this.ygrid, this.zgrid);
};
_local3++;
}
_local4++;
}
}
function createXMLmap() {
var _local2 = "";
trace("createXMLmap");
_local2 = _local2 + (("iMax=" + niMax) + "&");
_local2 = _local2 + (("jMax=" + njMax) + "&");
trace((("Tabella: " + niMax) + " x ") + njMax);
var _local3 = new Array();
var _local4 = new Array(_local3);
i = 0;
while (i < niMax) {
j = 0;
while (j < njMax) {
_local2 = _local2 + (((("s" + i) + "-") + j) + "=");
_local2 = _local2 + (_root.gridBase[(("gridMap" + i) + "-") + j].sBlock + "&");
j++;
}
i++;
}
trace(_local2);
getURL ("../public/mwMapWriter.asp?" + _local2, "_blank", "POST");
}
function fSaveMap(mcMapData) {
_root.mcMapData._visible = true;
_root.mcMapData.mcMapDataClose.onRelease = function () {
_root.mcMapData._visible = false;
};
var _local2 = "";
_local2 = _local2 + (("iMax=" + niMax) + "&");
_local2 = _local2 + (("jMax=" + njMax) + "&");
i = 0;
while (i < niMax) {
j = 0;
while (j < njMax) {
_local2 = _local2 + (((("s" + i) + "_") + j) + "=");
_local2 = _local2 + (_root.gridBase[(("gridMap" + i) + "-") + j].sBlock + "&");
j++;
}
i++;
}
_root.mcMapData.txtMapData.text = _local2;
getURL ("mapWriter.asp?" + _local2, "sender", "POST");
}
function fControlMenuPlayerMng() {
function moveMenuPlayerMngUp() {
_root.nullMask.mcMenuPlayerMng._y = 506 + (100 * _root.nDeltaMenuMng);
_root.nDeltaMenuMng = _root.nDeltaMenuMng * 0.8;
if (_root.nullMask.mcMenuPlayerMng._y < 507) {
clearInterval(nMenuMngMoveUp);
_root.nDeltaMenuMng = 1;
_root.bMenuMngIsMoving = false;
}
}
function moveMenuPlayerMngDw() {
_root.nullMask.mcMenuPlayerMng._y = 606 - (100 * _root.nDeltaMenuMng);
_root.nDeltaMenuMng = _root.nDeltaMenuMng * 0.8;
if (_root.nullMask.mcMenuPlayerMng._y > 589) {
clearInterval(nMenuMngMoveDw);
_root.nDeltaMenuMng = 1;
_root.bMenuMngIsMoving = false;
}
}
if ((Key.isDown(17) && (!_root.bMenuMngIsMoving)) && (_root.nullMask.mcMenuPlayerMng._y > 589)) {
_root.bMenuMngIsMoving = true;
var nMenuMngMoveUp = setInterval(moveMenuPlayerMngUp, 20);
var _local3 = new Sound(this);
_local3.attachSound("snd097");
_local3.start(0, 1);
}
if ((Key.isDown(17) && (!_root.bMenuMngIsMoving)) && (_root.nullMask.mcMenuPlayerMng._y < 507)) {
_root.bMenuMngIsMoving = true;
var nMenuMngMoveDw = setInterval(moveMenuPlayerMngDw, 20);
var _local4 = new Sound(this);
_local4.attachSound("snd097");
_local4.start(0, 1);
}
}
function fControlMenuPlayerObj() {
function moveMenuPlayerObjUp() {
_root.nullMask.mcMenuPlayerObj._y = 436 + (170 * _root.nDeltaMenuObj);
_root.nDeltaMenuObj = _root.nDeltaMenuObj * 0.8;
if (_root.nullMask.mcMenuPlayerObj._y < 437) {
clearInterval(nMenuObjMoveUp);
_root.nDeltaMenuObj = 1;
_root.bMenuObjIsMoving = false;
}
}
function moveMenuPlayerObjDw() {
_root.nullMask.mcMenuPlayerObj._y = 606 - (170 * _root.nDeltaMenuObj);
_root.nDeltaMenuObj = _root.nDeltaMenuObj * 0.8;
if (_root.nullMask.mcMenuPlayerObj._y > 589) {
clearInterval(nMenuObjMoveDw);
_root.nDeltaMenuObj = 1;
_root.bMenuObjIsMoving = false;
}
}
if ((Key.isDown(16) && (!_root.bMenuObjIsMoving)) && (_root.nullMask.mcMenuPlayerObj._y > 589)) {
_root.bMenuObjIsMoving = true;
var nMenuObjMoveUp = setInterval(moveMenuPlayerObjUp, 20);
var _local3 = new Sound(this);
_local3.attachSound("snd097");
_local3.start(0, 1);
}
if ((Key.isDown(16) && (!_root.bMenuObjIsMoving)) && (_root.nullMask.mcMenuPlayerObj._y < 437)) {
_root.bMenuObjIsMoving = true;
var nMenuObjMoveDw = setInterval(moveMenuPlayerObjDw, 20);
var _local4 = new Sound(this);
_local4.attachSound("snd097");
_local4.start(0, 1);
}
}
function fMoveMapToXY(mcPlayer) {
function fPlayMap(nXstart, nYstart, nDistX, nDistY, nXtarget, nYtarget) {
if ((Math.abs(_root.gridBase._x - nXtarget) > 0.5) && (Math.abs(_root.gridBase._y - nYtarget) > 0.5)) {
if (Math.abs(_root.gridBase._x - nXtarget) > 0.5) {
_root.gridBase._x = nXtarget - (nDistX * _root.nDeltaMapX);
_root.nDeltaMapX = _root.nDeltaMapX * 0.88;
}
if (Math.abs(_root.gridBase._y - nYtarget) > 0.5) {
_root.gridBase._y = nYtarget - (nDistY * _root.nDeltaMapY);
_root.nDeltaMapY = _root.nDeltaMapY * 0.88;
}
} else {
_root.nDeltaMapX = 1;
_root.nDeltaMapY = 1;
clearInterval(nMoveMap);
}
}
_root.nDeltaMapX = 1;
_root.nDeltaMapY = 1;
var _local3 = (nRootWidth / 2) - (mcPlayer._x * (_root.gridBase._xscale / 100));
var _local2 = (nRootHeight / 2) - (mcPlayer._y * (_root.gridBase._yscale / 100));
var _local5 = _local3 - _root.gridBase._x;
var _local4 = _local2 - _root.gridBase._y;
var nMoveMap = setInterval(fPlayMap, 10, _root.gridBase._x, _root.gridBase._y, _local5, _local4, _local3, _local2);
}
function fCheckAttackOnBuildings() {
_root.gridBase[_root.sCurrentSelection].mcSelector._visible = true;
for (var _local3 in _root.gridBase) {
if (_root.gridBase[_local3]._totalframes > 1) {
_root.gridBase[_local3].onRelease = function () {
fCloseSelection();
if ((this._name != "mcPlayer") && (this._name != "mcExplosion")) {
if (this._totalframes > 1) {
if (this._currentframe < 4) {
fAttackMap(_root.gridBase.mcPlayer, this);
_root.sCurrentSelection = this._name;
}
}
}
};
_root.gridBase[_local3].onRollOver = function () {
if (this._name != "mcPlayer") {
if (this._totalframes > 1) {
this.mcSelector._visible = true;
}
}
};
_root.gridBase[_local3].onRollOut = function () {
if (this._name != "mcPlayer") {
if (this._totalframes > 1) {
this.mcSelector._visible = false;
}
}
};
}
}
}
function fCloseSelection() {
_root.gridBase[_root.sCurrentSelection].mcSelector._visible = false;
_root.sCurrentSelection = "x";
}
function fAttackMap(attacker, defender) {
if ((Math.abs(defender.xgrid - attacker.xgrid) <= 1) && (Math.abs(defender.ygrid - attacker.ygrid) <= 1)) {
fShowSelectAction(defender);
} else {
fPlayerSay("I'm Too much far away");
fCloseSelection();
}
}
function fAttackMap_OLD(attacker, defender) {
if ((Math.abs(defender.xgrid - attacker.xgrid) <= 1) && (Math.abs(defender.ygrid - attacker.ygrid) <= 1)) {
fShowSelectAction(this);
_root.nullMask.mcPlayerWeapons._x = _root.gridBase.mcPlayer._x + 100;
_root.nullMask.mcPlayerWeapons._y = _root.gridBase.mcPlayer._y + 100;
_root.nullMask.mcPlayerWeapons._visible = true;
trace("-------------------------------");
trace((("Obiettivo: Energia = " + defender.nEnergy) + "/") + fGetMapValuesMax(defender.sBlock));
defender.nEnergy = defender.nEnergy - parseInt(_root.gridBase.mcPlayer.weapons[8][5]);
trace("ARMA SELEZIONATA: " + _root.gridBase.mcPlayer.weapons[8][0]);
fPlayerSay(_root.gridBase.mcPlayer.weapons[8][0] + "!!");
_root.gridBase.mcExplosion._x = defender._x;
_root.gridBase.mcExplosion._y = defender._y;
_root.gridBase.mcExplosion.swapDepths(defender.getDepth() + 1);
_root.gridBase.mcExplosion._visible = true;
_root.gridBase.mcExplosion.gotoAndPlay(1);
var _local5 = defender.nEnergy / fBlockMapEnergyMax(defender.sBlock);
var _local4 = new Sound(this);
if (_local5 > 0.67) {
defender.gotoAndStop(1);
_local4.attachSound("snd000");
_local4.start(0, 1);
} else if (_local5 > 0.33) {
defender.gotoAndStop(2);
_local4.attachSound("snd000");
_local4.start(0, 1);
} else if (_local5 > 0) {
defender.gotoAndStop(3);
_local4.attachSound("snd000");
_local4.start(0, 1);
} else if (_local5 <= 0) {
defender.nEnergy = 0;
defender.gotoAndStop(4);
_local4.attachSound("snd001");
_local4.start(0, 1);
} else {
trace("ERRORE DELL'APPLICAZIONE");
}
if (defender.nEnergy < 0) {
defender.nEnergy = 0;
trace("Obiettivo distrutto.");
fPlayerSay("Ok, target destroyed.");
} else {
trace((("Obiettivo: Energia = " + defender.nEnergy) + "/") + fGetMapValuesMax(defender.sBlock));
}
_root.aMapValues[(defender.xgrid * 20) + defender.ygrid] = defender.nEnergy;
_root.gridBase.mcPlayer.energyActual = _root.gridBase.mcPlayer.energyActual - parseInt(_root.gridBase.mcPlayer.weapons[8][2]);
_root.gridBase.mcPlayer.mechanicsActual = _root.gridBase.mcPlayer.mechanicsActual - parseInt(_root.gridBase.mcPlayer.weapons[8][3]);
fCheckPlayerEnergy();
trace((("PLAYER: " + _root.gridBase.mcPlayer.energyActual) + " _ ") + _root.gridBase.mcPlayer.mechanicsActual);
trace("-------------------------------");
defender.pts[3] = defender.pts[3] * 0.5;
fUpdatePoints(defender);
attacker.pts[4] = attacker.pts[4] * 0.8;
attacker.pts[6] = attacker.pts[6] * 0.6;
fRenderEnergyLevels();
} else {
fPlayerSay("I'm too much far away... select another weapon.");
fCloseSelection();
}
}
function fCheckPlayerEnergy() {
if ((_root.gridBase.mcPlayer.energyActual > 0) and (_root.gridBase.mcPlayer.energyActual > 0)) {
trace((("Player Energy: " + mcPlayer.energyActual) + " , ") + mcPlayer.mechanicsActual);
} else {
_root.gridBase.mcExplosion._x = _root.gridBase.mcPlayer._x;
_root.gridBase.mcExplosion._y = _root.gridBase.mcPlayer._y;
_root.gridBase.mcExplosion.swapDepths(_root.gridBase.mcPlayer.getDepth() + 1);
_root.gridBase.mcExplosion._visible = true;
_root.gridBase.mcExplosion.gotoAndPlay(1);
fPlayerSay("AAAARGH!");
_root.bEndGame = true;
fEndGame();
}
}
function fSelectAction(mcTarget) {
i = 0;
while (i <= 3) {
_root.nullMask.mcMenuPlayerMng.mcActions["mcAction" + i].onRollOver = function () {
this._alpha = 100;
};
_root.nullMask.mcMenuPlayerMng.mcActions["mcAction" + i].onRollOut = function () {
this._alpha = 6;
};
i++;
}
_root.nullMask.mcMenuPlayerMng.mcActions.mcAction0.onRelease = function () {
_root.nullMask.mcMenuPlayerMng.mcWeapons._visible = true;
fSelectWeapon(mcTarget);
};
_root.nullMask.mcMenuPlayerMng.mcActions.mcAction3.onRelease = function () {
_root.nullMask.mcMenuPlayerMng.mcWeapons._visible = false;
_root.nullMask.mcMenuPlayerMng.mcActions._visible = false;
};
}
function fShowSelectAction(mcTarget) {
_root.nullMask.mcMenuPlayerMng.mcActions.txtAct0.text = "Attack >";
_root.nullMask.mcMenuPlayerMng.mcActions.txtAct1.text = "Search Inside";
_root.nullMask.mcMenuPlayerMng.mcActions.txtAct2.text = "Send Message";
_root.nullMask.mcMenuPlayerMng.mcActions.txtItemName.text = mcTarget.sBlock;
_root.nullMask.mcMenuPlayerMng.mcActions.txtItemPos.text = (("x:" add mcTarget.xgrid) add ", y:") add mcTarget.xgrid;
_root.nullMask.mcMenuPlayerMng.mcActions.txtItemEnergy.text = (mcTarget.nEnergy add "/") add fBlockMapEnergyMax(mcTarget.sBlock);
i = 0;
while (i <= 3) {
_root.nullMask.mcMenuPlayerMng.mcActions["mcAction" + i]._alpha = 0;
i++;
}
_root.nullMask.mcMenuPlayerMng.mcActions._visible = true;
_root.bSelectAction = true;
if (bSelectAction) {
fSelectAction(mcTarget);
}
}
function fSelectWeapon(mcTarget) {
i = 0;
while (i <= 9) {
_root.nullMask.mcMenuPlayerMng.mcWeapons["mcWeapon" + i]._alpha = 0;
i++;
}
i = 0;
while (i <= 9) {
_root.nullMask.mcMenuPlayerMng.mcWeapons["mcWeapon" + i].onRollOver = function () {
this._alpha = 100;
};
_root.nullMask.mcMenuPlayerMng.mcWeapons["mcWeapon" + i].onRollOut = function () {
this._alpha = 6;
};
_root.nullMask.mcMenuPlayerMng.mcWeapons["mcWeapon" + i].onRelease = function () {
var _local3 = new String();
var _local4 = new String();
_local4 = this._name;
_local3 = _local4.substr(8);
trace("sId: " + _local3);
fAttackWithWeapon(_root.gridBase.mcPlayer, mcTarget, int(_local3));
_root.nullMask.mcMenuPlayerMng.mcActions._visible = false;
_root.nullMask.mcMenuPlayerMng.mcWeapons._visible = false;
};
i++;
}
}
function fAttackWithWeapon(attacker, defender, nWeaponID) {
trace(nWeaponID);
if ((Math.abs(defender.xgrid - attacker.xgrid) <= 1) && (Math.abs(defender.ygrid - attacker.ygrid) <= 1)) {
fShowSelectAction(this);
_root.nullMask.mcPlayerWeapons._x = _root.gridBase.mcPlayer._x + 100;
_root.nullMask.mcPlayerWeapons._y = _root.gridBase.mcPlayer._y + 100;
_root.nullMask.mcPlayerWeapons._visible = true;
trace("-------------------------------");
trace((("Obiettivo: Energia = " + defender.nEnergy) + "/") + fGetMapValuesMax(defender.sBlock));
defender.nEnergy = defender.nEnergy - parseInt(_root.gridBase.mcPlayer.weapons[nWeaponID][5]);
trace("ARMA SELEZIONATA: " + _root.gridBase.mcPlayer.weapons[nWeaponID][0]);
fPlayerSay(_root.gridBase.mcPlayer.weapons[nWeaponID][0] + "!!");
_root.gridBase.mcExplosion._x = defender._x;
_root.gridBase.mcExplosion._y = defender._y;
_root.gridBase.mcExplosion.swapDepths(defender.getDepth() + 1);
_root.gridBase.mcExplosion._visible = true;
_root.gridBase.mcExplosion.gotoAndPlay(1);
var _local5 = defender.nEnergy / fBlockMapEnergyMax(defender.sBlock);
var _local4 = new Sound(this);
if (_local5 > 0.67) {
defender.gotoAndStop(1);
_local4.attachSound("snd000");
_local4.start(0, 1);
} else if (_local5 > 0.33) {
defender.gotoAndStop(2);
_local4.attachSound("snd000");
_local4.start(0, 1);
} else if (_local5 > 0) {
defender.gotoAndStop(3);
_local4.attachSound("snd000");
_local4.start(0, 1);
} else if (_local5 <= 0) {
defender.nEnergy = 0;
defender.gotoAndStop(4);
_local4.attachSound("snd001");
_local4.start(0, 1);
} else {
trace("ERRORE DELL'APPLICAZIONE");
}
if (defender.nEnergy < 0) {
defender.nEnergy = 0;
fPlayerSay("Ok, target destroyed.");
} else {
trace((("Obiettivo: Energia = " + defender.nEnergy) + "/") + fGetMapValuesMax(defender.sBlock));
}
_root.aMapValues[(defender.xgrid * 20) + defender.ygrid] = defender.nEnergy;
_root.gridBase.mcPlayer.energyActual = _root.gridBase.mcPlayer.energyActual - parseInt(_root.gridBase.mcPlayer.weapons[nWeaponID][2]);
_root.gridBase.mcPlayer.mechanicsActual = _root.gridBase.mcPlayer.mechanicsActual - parseInt(_root.gridBase.mcPlayer.weapons[nWeaponID][3]);
fCheckPlayerEnergy();
trace((("PLAYER: " + _root.gridBase.mcPlayer.energyActual) + " _ ") + _root.gridBase.mcPlayer.mechanicsActual);
trace("-------------------------------");
defender.pts[3] = defender.pts[3] * 0.5;
fUpdatePoints(defender);
attacker.pts[4] = attacker.pts[4] * 0.8;
attacker.pts[6] = attacker.pts[6] * 0.6;
fRenderEnergyLevels();
} else {
fPlayerSay("I'm too much far away... select another weapon.");
fCloseSelection();
}
}
function fCheckEndGame() {
if (_root.bEndGame) {
fEndGame();
trace("death----------------------");
}
trace("alive");
}
function fEndGame() {
_root.nullMask.mcEndGame._visible = true;
_root.nullMask.mcEndGame.gotoAndPlay(2);
}
stop();
_root.onEnterFrame = function () {
if (_root.nFTFF) {
_root.nFTFF = false;
mcPreloading._visible = false;
_root.createEmptyMovieClip("nullMask", 3);
_root.nullMask.attachMovie("mcFog", "mcFog", 1, {_x:0, _y:0});
_root.nullMask.attachMovie("mcInterfaceUpper", "mcInterfaceUpper", 2, {_x:0, _y:0});
_root.nullMask.attachMovie("mcZoomIn", "mcZoomIn", 3, {_x:33, _y:12});
_root.nullMask.attachMovie("mcZoomOut", "mcZoomOut", 4, {_x:98, _y:12});
_root.nullMask.attachMovie("mcZoomReset", "mcZoomReset", 5, {_x:163, _y:12});
_root.nullMask.attachMovie("mcCenter", "mcCenter", 6, {_x:226, _y:12});
_root.nullMask.attachMovie("mcMenuPlayerMng", "mcMenuPlayerMng", 7, {_x:3, _y:506});
_root.nullMask.mcMenuPlayerMng.mcWeapons._visible = false;
_root.nullMask.mcMenuPlayerMng.mcActions._visible = false;
_root.nullMask.attachMovie("mcMenuPlayerObj", "mcMenuPlayerObj", 8, {_x:468, _y:600});
_root.nullMask.attachMovie("mcMaskGame", "mcMaskGame", 19, {_x:-216, _y:-200});
_root.nullMask.attachMovie("mcEndGame", "mcEndGame", 20, {_x:0, _y:0, _visible:false});
_root.attachMovie("mcMapData", "mcMapData", 4, {_x:2, _y:324, _visible:false});
fInitMapValuesMax();
fAddRobot();
fLoadWorld();
fCreateMap();
fLoadMapFile(nActualMap);
fCreateMenuPlayerMng();
} else {
_root.onEnterFrame = function () {
fControlMap();
fControlPlayer();
fMovePlayerSay();
fControlMenuPlayerMng();
fControlMenuPlayerObj();
fCheckAttackOnBuildings();
};
}
};
function fIncrementPlayerValues() {
if (_root.gridBase.mcPlayer.energyActual < _root.gridBase.mcPlayer.energyTotal) {
_root.gridBase.mcPlayer.energyActual = _root.gridBase.mcPlayer.energyActual + _root.gridBase.mcPlayer.energyRestore;
} else {
_root.gridBase.mcPlayer.energyActual = _root.gridBase.mcPlayer.energyTotal;
}
if (_root.gridBase.mcPlayer.mechanicsActual < _root.gridBase.mcPlayer.mechanicsTotal) {
_root.gridBase.mcPlayer.mechanicsActual = _root.gridBase.mcPlayer.mechanicsActual + _root.gridBase.mcPlayer.mechanicsRestore;
} else {
_root.gridBase.mcPlayer.mechanicsActual = _root.gridBase.mcPlayer.mechanicsTotal;
}
fRenderEnergyLevels();
}
function fInitializeWeapons() {
i = 0;
while (i < _root.gridBase.mcPlayer.weapons.length) {
_root.nullMask.mcMenuPlayerMng.mcWeapons["txtWpn" + i].text = _root.gridBase.mcPlayer.weapons[i][0];
i++;
}
}
function fSearchMapIDintoWorld(aWorld, nActualMap, nDirection) {
i = 0;
while (i < aWorld.length) {
if (aWorld[i][0] == nActualMap) {
return(aWorld[i][nDirection]);
}
i++;
}
}
function fLoadWorld() {
var sTemp = "";
var aTemp = new Array();
_root.aWorld = [];
var lvWorld = new LoadVars();
lvWorld.load("data/world.txt");
lvWorld.onLoad = function (bSuccess) {
if (bSuccess) {
i = 1;
while (i <= 100000) {
if (lvWorld["w" + i] == undefined) {
break;
}
sTemp = lvWorld["w" + i];
aTemp.push(sTemp);
if (aTemp.length == 5) {
_root.aWorld.push(aTemp);
aTemp = [];
}
i++;
}
i = 0;
while (i < aWorld.length) {
i++;
}
}
};
}
function fCreateMap() {
_root.createEmptyMovieClip("gridBase", 0);
_root.mcDBMap._visible = false;
_root.mcDBSounds._visible = false;
fZoomReset();
}
function fLoadMapFile(nMap) {
var _local5 = ("data/map" + nMap) + ".txt";
_root.nBlockDepthMap = 0;
lvMap.iMax.removeMovieClip();
lvMap.jMax.removeMovieClip();
aMapBlocks = [];
var _local4 = 0;
while (_local4 < niMax) {
var _local3 = 0;
while (_local3 < njMax) {
_root.gridBase[(("gridMap" + _local4) + "-") + _local3].removeMovieClip();
lvMap[(("s" + _local4) + "_") + _local3].removeMovieClip();
_local3++;
}
_local4++;
}
var lvMap = new LoadVars();
lvMap.load(_local5);
lvMap.onLoad = function (bSuccess) {
if (bSuccess) {
var _local6 = lvMap.iMax;
var _local5 = lvMap.jMax;
var _local2 = "";
var _local4 = 0;
while (_local4 < _local6) {
var _local3 = 0;
while (_local3 < _local5) {
_local2 = (("gridMap" + _local4) + "-") + _local3;
if (lvMap[(("s" + _local4) + "_") + _local3] == "undefined") {
sGraphicBlock = "gridMap";
} else {
sGraphicBlock = lvMap[(("s" + _local4) + "_") + _local3];
}
_root.gridBase.attachMovie(sGraphicBlock, _local2, nBlockDepthMap);
_root.gridBase[_local2]._x = ((nBlockWidth / 2) + ((nBlockWidth - 1) * _local4)) - ((_local4 * nBlockHeight) + (_local3 * nBlockHeight));
_root.gridBase[_local2]._y = ((((-_local5) * (nBlockHeight / 2)) + (nBlockHeight / 2)) + ((nBlockHeight - 1) * _local3)) + ((_local4 * 30) - (_local3 * 30));
_root.gridBase[_local2].gotoAndStop(1);
_root.gridBase[_local2].xgrid = _local4;
_root.gridBase[_local2].ygrid = _local3;
_root.gridBase[_local2].zgrid = nBlockDepthMap;
_root.gridBase[_local2].sBlock = sGraphicBlock;
_root.gridBase[_local2].mcSelector._visible = false;
_root.gridBase[_local2].nEnergy = fBlockMapEnergyMax(sGraphicBlock);
nBlockDepthMap = nBlockDepthMap + 5;
aMapBlocks.push(sGraphicBlock);
_local3++;
}
_local4++;
}
}
};
}
function fCreateMenuPlayerMng() {
_root.nullMask.mcMenuPlayerMng.createEmptyMovieClip("mcPreviewImage", 1);
_root.nullMask.mcMenuPlayerMng.mcPreviewImage._x = 6;
_root.nullMask.mcMenuPlayerMng.mcPreviewImage._y = 6;
_root.nullMask.mcMenuPlayerMng.mcPreviewImage.loadMovie("preview/mazingerZeta.swf");
}
function fAddRobot() {
var lvPlyDat = new LoadVars();
var lvPlyWpn = new LoadVars();
var lvPlyObj = new LoadVars();
lvPlyDat.load("data/player1dat.txt");
lvPlyDat.onLoad = function (bPlyDatSuccess) {
if (bPlyDatSuccess) {
_root.gridBase.attachMovie("mcRobot_" + lvPlyDat.plyDat2, "mcPlayer", _root.nPlayerDepth);
_root.gridBase.attachMovie("mcExplosion", "mcExplosion", _root.nPlayerDepth + 1, {_x:500, _y:400});
_root.gridBase.attachMovie("mcPlayerWeapons", "mcPlayerWeapons", this.getNextHighestDepth());
_root.gridBase.attachMovie("mcPlayerSay", "mcPlayerSay", 20000);
_root.gridBase.mcExplosion.gotoAndStop(1);
_root.gridBase.mcPlayer.userName = lvPlyDat.plyDat1;
_root.gridBase.mcPlayer.robotName = lvPlyDat.plyDat2;
_root.gridBase.mcPlayer.robotImage = lvPlyDat.plyDat3;
_root.gridBase.mcPlayer.preview = lvPlyDat.plyDat4;
switch (lvPlyDat.plyDat5) {
case "0" :
_root.gridBase.mcPlayer.alignment = "good";
break;
case "1" :
_root.gridBase.mcPlayer.alignment = "evil";
break;
case "2" :
_root.gridBase.mcPlayer.alignment = "chaotic";
break;
default :
_root.gridBase.mcPlayer.alignment = "chaotic";
}
_root.gridBase.mcPlayer.playerLevel = parseInt(lvPlyDat.plyDat6);
_root.gridBase.mcPlayer.energyTotal = parseInt(lvPlyDat.plyDat7);
_root.gridBase.mcPlayer.energyActual = parseInt(lvPlyDat.plyDat8);
_root.gridBase.mcPlayer.energyRestore = parseInt(lvPlyDat.plyDat9);
_root.gridBase.mcPlayer.mechanicsTotal = parseInt(lvPlyDat.plyDat10);
_root.gridBase.mcPlayer.mechanicsActual = parseInt(lvPlyDat.plyDat11);
_root.gridBase.mcPlayer.mechanicsRestore = parseInt(lvPlyDat.plyDat12);
_root.gridBase.mcPlayer.money = parseInt(lvPlyDat.plyDat13);
_root.gridBase.mcPlayer.playerWorld = lvPlyDat.plyDat14;
_root.gridBase.mcPlayer.playerMap = lvPlyDat.plyDat15;
_root.gridBase.mcPlayer.xgrid = parseInt(lvPlyDat.plyDat16);
_root.gridBase.mcPlayer.ygrid = parseInt(lvPlyDat.plyDat17);
_root.gridBase.mcPlayer._xscale = 95;
_root.gridBase.mcPlayer._yscale = 95;
var _local4 = _root.gridBase.mcPlayer.xgrid;
var _local3 = _root.gridBase.mcPlayer.ygrid;
_root.gridBase.mcPlayer.zgrid = ((this.xgrid * _root.niMax) + njMax) + 1;
_root.gridBase.mcPlayer._x = (((nBlockWidth / 2) + ((nBlockWidth - 1) * _local4)) - ((_local4 * nBlockHeight) + (_local3 * nBlockHeight))) - 5;
_root.gridBase.mcPlayer._y = (((((-njMax) * (nBlockHeight / 2)) + (nBlockHeight / 2)) + ((nBlockHeight - 1) * _local3)) + ((_local4 * 30) - (_local3 * 30))) - 7;
_root.gridBase.mcPlayer.gotoAndStop(1);
_root.nSetPlayerValues = setInterval(fIncrementPlayerValues, 5000);
fRenderEnergyLevels();
fMovePlayerSay();
fPlayerSay(_root.gridBase.mcPlayer.robotName + ", GOOO!!!");
}
};
lvPlyWpn.load("data/player1wpn.txt");
lvPlyWpn.onLoad = function (bPlyWpnSuccess) {
_root.gridBase.mcPlayer.weapons = [];
if (bPlyWpnSuccess) {
var _local3 = "";
var _local2 = [];
i = 1;
while (i <= 72) {
_local3 = lvPlyWpn["plyWpn" + i];
_local2.push(_local3);
if (_local2.length == 8) {
_root.gridBase.mcPlayer.weapons.push(_local2);
_local2 = [];
}
i++;
}
fInitializeWeapons();
i = 0;
while (i < _root.gridBase.mcPlayer.weapons.length) {
trace(_root.gridBase.mcPlayer.weapons[i]);
i++;
}
}
};
lvPlyObj.load("data/player1obj.txt");
lvPlyObj.onLoad = function (bPlyObjSuccess) {
_root.gridBase.mcPlayer.objects = [];
if (bPlyObjSuccess) {
i = 1;
while (i <= 40) {
_root.gridBase.mcPlayer.objects.push(lvPlyObj["plyObj" + i]);
i++;
}
}
};
}
function fLoadMapValues(nMap) {
var _local4 = ("data/maps/map" + nMap) + "values.txt";
lvMapVal.iMax.removeMovieClip();
lvMapVal.jMax.removeMovieClip();
_root.aMapValues = [];
var _local3 = 0;
while (_local3 < niMax) {
var _local2 = 0;
while (_local2 < njMax) {
_root.gridBase[(("gridVal" + _local3) + "-") + _local2].removeMovieClip();
lvMapVal[(("s" + _local3) + "_") + _local2].removeMovieClip();
_local2++;
}
_local3++;
}
var lvMapVal = new LoadVars();
lvMapVal.load(_local4);
lvMapVal.onLoad = function (bSuccess) {
if (bSuccess) {
var _local5 = 20;
var _local4 = 20;
_local5 = parseInt(lvMapVal.iMax);
_local4 = parseInt(lvMapVal.jMax);
var _local3 = 0;
while (_local3 < _local5) {
var _local2 = 0;
while (_local2 < _local4) {
_root.aMapValues.push(lvMapVal[(("v" + _local3) + "_") + _local2]);
_local2++;
}
_local3++;
}
}
};
}
function fBlockMapEnergyMax(sBlock) {
switch (sBlock) {
case "mcItem1" :
return(70);
case "mcItem5" :
return(110);
case "mcItem7" :
return(80);
case "mcItem10" :
return(50);
case "mcItem11" :
return(50);
case "mcItem22" :
return(250);
}
return(0);
}
function fInitMapValuesMax() {
_root.aMapValuesMax.push(["mcItem1", 70]);
_root.aMapValuesMax.push(["mcItem5", 110]);
_root.aMapValuesMax.push(["mcItem7", 80]);
_root.aMapValuesMax.push(["mcItem10", 50]);
_root.aMapValuesMax.push(["mcItem11", 50]);
_root.aMapValuesMax.push(["mcItem22", 250]);
}
function fGetMapValuesMax(sName) {
i = 0;
while (i < _root.aMapValuesMax.length) {
if (sName == _root.aMapValuesMax[i][0]) {
return(_root.aMapValuesMax[i][1]);
}
i++;
}
return(0);
}
function fGetNumBlocksWidth(sBlock) {
if (!(sBlock === "mcItem31")) {
} else {
return(5);
}
return(1);
}
function fGetNumBlocksHeight(sBlock) {
if (!(sBlock === "mcItem31")) {
} else {
return(5);
}
return(1);
}
function fZoomReset() {
_root.gridBase._x = nRootWidth / 2;
_root.gridBase._y = nRootHeight / 2;
_root.gridBase._xscale = 80;
_root.gridBase._yscale = 80;
}
function fMoveRobotUp() {
_root.nProvaProva = _root.nProvaProva * 1.05;
_root.gridBase.mcPlayer._width = _root.gridBase.mcPlayer._width * 1.05;
_root.gridBase.mcPlayer._height = _root.gridBase.mcPlayer._height * 1.05;
if (_root.gridBase.mcPlayer._width > 100) {
clearInterval(_root.nStartMoveUp);
}
}
function fMoveRobotDw() {
_root.gridBase.mcPlayer._width = _root.gridBase.mcPlayer._width * 0.95;
_root.gridBase.mcPlayer._height = _root.gridBase.mcPlayer._height * 0.95;
if (_root.gridBase.mcPlayer._width < 78) {
clearInterval(_root.nStartMoveDw);
}
}
function fControlMap() {
if (nPlayerStepsActual >= nPlayerStepsMax) {
fMoveMapToXY(_root.gridBase.mcPlayer);
nPlayerStepsActual = 0;
}
_root.nullMask.mcZoomIn.onRelease = function () {
if (_root.gridBase._xscale < 150) {
_root.gridBase._xscale = _root.gridBase._xscale * 1.08;
_root.gridBase._yscale = _root.gridBase._yscale * 1.08;
}
};
_root.nullMask.mcZoomOut.onRelease = function () {
if (_root.gridBase._xscale > 50) {
_root.gridBase._xscale = _root.gridBase._xscale * 0.92;
_root.gridBase._yscale = _root.gridBase._yscale * 0.92;
}
};
_root.nullMask.mcZoomReset.onRelease = function () {
fZoomReset();
};
_root.nullMask.mcCenter.onRelease = function () {
fMoveMapToXY(_root.gridBase.mcPlayer);
};
if (Key.isDown(37)) {
_root.gridBase._x = _root.gridBase._x + 5;
}
if (Key.isDown(39)) {
_root.gridBase._x = _root.gridBase._x - 5;
}
if (Key.isDown(38)) {
_root.gridBase._y = _root.gridBase._y + 5;
}
if (Key.isDown(40)) {
_root.gridBase._y = _root.gridBase._y - 5;
}
}
function fControlPlayer() {
function fBlockToMoveIsFree(nX, nY) {
var _local2 = (parseInt(_root.gridBase.mcPlayer.xgrid) * niMax) + parseInt(_root.gridBase.mcPlayer.ygrid);
var _local4 = (_local2 + (nX * niMax)) + nY;
var _local3 = parseInt(_root.gridBase.mcPlayer.xgrid) + nX;
var _local5 = parseInt(_root.gridBase.mcPlayer.ygrid) + nY;
var _local6 = (_local3 + "-") + _local5;
if (_root.gridBase["gridMap" + _local6]._currentframe == 4) {
return(true);
}
switch (aMapBlocks[_local4]) {
case "mcItem1" :
return(false);
case "mcItem5" :
return(false);
case "mcItem6" :
return(false);
case "mcItem7" :
return(false);
case "mcItem10" :
return(false);
case "mcItem11" :
return(false);
case "mcItem22" :
return(false);
}
return(true);
}
function fMovePlayerXY(nX, nY, nDepth, nFrame) {
if (fBlockToMoveIsFree(nX, nY)) {
_root.gridBase.mcPlayer.xgrid = _root.gridBase.mcPlayer.xgrid + nX;
_root.gridBase.mcPlayer.ygrid = _root.gridBase.mcPlayer.ygrid + nY;
nxPos = _root.gridBase.mcPlayer.xgrid;
nyPos = _root.gridBase.mcPlayer.ygrid;
_root.gridBase.mcPlayer._x = (((nBlockWidth / 2) + ((nBlockWidth - 1) * nxPos)) - ((nxPos * nBlockHeight) + (nyPos * nBlockHeight))) - 5;
_root.gridBase.mcPlayer._y = (((((-njMax) * (nBlockHeight / 2)) + (nBlockHeight / 2)) + ((nBlockHeight - 1) * nyPos)) + ((nxPos * 30) - (nyPos * 30))) - 7;
_root.gridBase.mcPlayer.zgrid = _root.gridBase.mcPlayer.zgrid - 0;
_root.nPlayerDepth = _root.nPlayerDepth + nDepth;
_root.gridBase.mcPlayer.swapDepths(_root.nPlayerDepth);
_root.gridBase.mcPlayer.gotoAndStop(nFrame);
} else {
_root.gridBase.mcPlayer.gotoAndStop(nFrame);
}
}
var nxPos = 0;
var nyPos = 0;
var _local7 = 0;
_root.nullMask.mcMenuPlayerMng.mcMovePlayerSx.onRelease = function () {
if (_root.gridBase.mcPlayer.xgrid > 0) {
fMovePlayerXY(-1, 0, -100, 2);
nPlayerStepsActual++;
} else {
nPlayerStepsActual++;
nNextMap = fSearchMapIDintoWorld(aWorld, nActualMap, "1");
if (nNextMap > 0) {
fLoadMapFile(nNextMap);
fMovePlayerXY(niMax - 1, 0, 100 * (niMax - 1), 2);
fMoveMapToXY(_root.gridBase.mcPlayer);
nActualMap = nNextMap;
trace(_root.nActualMap);
} else {
fPlayerSay("This World ends here.");
}
}
};
_root.nullMask.mcMenuPlayerMng.mcMovePlayerUp.onRelease = function () {
if (_root.gridBase.mcPlayer.ygrid > 0) {
fMovePlayerXY(0, -1, -5, 3);
nPlayerStepsActual++;
} else {
nPlayerStepsActual++;
nNextMap = fSearchMapIDintoWorld(aWorld, nActualMap, "2");
if (nNextMap > 0) {
fLoadMapFile(nNextMap);
fMovePlayerXY(0, njMax - 1, 5 * (njMax - 1), 3);
fMoveMapToXY(_root.gridBase.mcPlayer);
nActualMap = nNextMap;
trace(_root.nActualMap);
} else {
fPlayerSay("This World ends here.");
}
}
};
_root.nullMask.mcMenuPlayerMng.mcMovePlayerDx.onRelease = function () {
if (_root.gridBase.mcPlayer.xgrid < (_root.niMax - 1)) {
fMovePlayerXY(1, 0, 100, 4);
nPlayerStepsActual++;
} else {
nPlayerStepsActual++;
nNextMap = fSearchMapIDintoWorld(aWorld, nActualMap, "3");
if (nNextMap > 0) {
fLoadMapFile(nNextMap);
fMovePlayerXY(-(niMax - 1), 0, -100 * (niMax - 1), 4);
fMoveMapToXY(_root.gridBase.mcPlayer);
nActualMap = nNextMap;
trace(_root.nActualMap);
} else {
fPlayerSay("This World ends here.");
}
}
};
_root.nullMask.mcMenuPlayerMng.mcMovePlayerDw.onRelease = function () {
if (_root.gridBase.mcPlayer.ygrid < (_root.njMax - 1)) {
fMovePlayerXY(0, 1, 5, 1);
nPlayerStepsActual++;
} else {
nPlayerStepsActual++;
nNextMap = fSearchMapIDintoWorld(aWorld, nActualMap, "4");
if (nNextMap > 0) {
fLoadMapFile(nNextMap);
fMovePlayerXY(0, -(njMax - 1), -5 * (njMax - 1), 1);
fMoveMapToXY(_root.gridBase.mcPlayer);
nActualMap = nNextMap;
trace(_root.nActualMap);
} else {
fPlayerSay("This World ends here.");
}
}
};
_root.nullMask.mcMenuPlayerMng.mcMovePlayerCnt.onRelease = function () {
fMoveMapToXY(_root.gridBase.mcPlayer);
};
}
function fStepOverBlock(nX, nY) {
var _local3 = _root.gridBase.mcPlayer.xgrid + nX;
var _local2 = _root.gridBase.mcPlayer.ygrid + nY;
if (_root.gridBase[(("gridMap" + _local3) + "-") + _local2] == "mcItem1") {
return(false);
}
return(true);
}
function fTraceArrayMapBlocks() {
var _local1 = 0;
while (_local1 < (niMax * njMax)) {
trace((_local1 + ": ") + aMapBlocks[_local1]);
_local1++;
}
}
function fRenderEnergyLevels() {
_root.gridBase.mcPlayer.ptsEnergy._xscale = (_root.gridBase.mcPlayer.energyActual / _root.gridBase.mcPlayer.energyTotal) * 100;
_root.gridBase.mcPlayer.ptsShield._xscale = (_root.gridBase.mcPlayer.mechanicsActual / _root.gridBase.mcPlayer.mechanicsTotal) * 100;
_root.nullMask.mcMenuPlayerMng.mcMenuPtsMechanics._xscale = (_root.gridBase.mcPlayer.mechanicsActual / _root.gridBase.mcPlayer.mechanicsTotal) * 100;
_root.nullMask.mcMenuPlayerMng.mcMenuPtsEnergy._xscale = (_root.gridBase.mcPlayer.energyActual / _root.gridBase.mcPlayer.energyTotal) * 100;
_root.nullMask.mcMenuPlayerMng.lblUserName.text = _root.gridBase.mcPlayer.userName;
_root.nullMask.mcMenuPlayerMng.lblRobotName.text = _root.gridBase.mcPlayer.robotName;
_root.nullMask.mcMenuPlayerMng.lblEnergy.text = (_root.gridBase.mcPlayer.energyActual + "/") + _root.gridBase.mcPlayer.energyTotal;
_root.nullMask.mcMenuPlayerMng.lblMechanics.text = (_root.gridBase.mcPlayer.mechanicsActual + "/") + _root.gridBase.mcPlayer.mechanicsTotal;
_root.nullMask.mcMenuPlayerMng.lblAlignment.text = _root.gridBase.mcPlayer.alignment;
_root.nullMask.mcMenuPlayerMng.lblPlayerLevel.text = _root.gridBase.mcPlayer.playerLevel;
if (parseInt(_root.gridBase.mcPlayer.energyActual) <= 0) {
gotoAndStop (5);
} else if (parseInt(_root.gridBase.mcPlayer.mechanicsActual) <= 0) {
gotoAndStop (5);
}
}
function fMovePlayerSay() {
_root.gridBase.mcPlayerSay._x = _root.gridBase.mcPlayer._x + 20;
_root.gridBase.mcPlayerSay._y = _root.gridBase.mcPlayer._y - 150;
}
function fPlayerSay(sString) {
_root.gridBase.mcPlayerSay.tPlayerSay.text = sString;
_root.gridBase.mcPlayerSay.gotoAndPlay(2);
}
var nProvaProva = 100;
var nStartMoveUp = 0;
var nStartMoveDw = 0;
Symbol 156 MovieClip [mcExplosion] Frame 26
gotoAndStop (1);
Symbol 157 MovieClip [mcEndGame] Frame 1
stop();
Symbol 157 MovieClip [mcEndGame] Frame 40
removeMovieClip(_root.nullMask);
removeMovieClip(_root.gridBase);
_root.gotoAndStop("options", 1);
Symbol 198 MovieClip Frame 1
stop();
Symbol 343 MovieClip [mcPlayerSay] Frame 2
this._visible = true;
Symbol 343 MovieClip [mcPlayerSay] Frame 35
this._visible = false;
gotoAndStop (1);