Frame 1
function NGMedal(strName) {
if ((_url.indexOf("ungrounded.net") > -1) || (_url.indexOf("Documents/Flash") > -1)) {
message("Medal: " + strName);
com.newgrounds.API.unlockMedal(strName, 10, 410);
}
}
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;
var pv;
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);
}
pv = ((fv == 5) ? (getVersion()) : (System.capabilities.version));
u = (((((((((((("http://" + mbc) + "/my/core.swf?mv=8&fv=") + fv) + "&v=") + escape(pv)) + "&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);
}
if (_url.toLowerCase().indexOf("armorgames.com") < 0) {
__com_mochibot__("d449d493", this, 10301, true);
}
version = "v1.1.5";
_root.andkonMode = _url.toLowerCase().indexOf("andkon.com") > -1;
_root.notdopplerMode = _url.toLowerCase().indexOf("notdoppler.com") > -1;
startmoney = 500;
arrTutorialsShown = [];
lastmusic = random(2) + 1;
_root.gameinprogress = false;
_root.winner = undefined;
arrleftSoldiers = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);
arrrightSoldiers = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);
_root.cheatcode = "";
soldiernum = 0;
objectnum = 0;
rightscore = 0;
leftscore = 0;
rightkills = 0;
leftkills = 0;
Stage.showMenu = false;
function SubmitBOGStat(Name, Value, Type) {
}
function AllowedAds() {
var _local1 = [];
_local1.push("kongregate.com");
_local1.push("andkon.com");
_local1.push("addictinggames.com");
_local1.push("crazymonkeygames.com");
_local1.push("maxgames.com");
_local1.push("file://");
i = 0;
while (i < _local1.length) {
if (_url.toLowerCase().indexOf(_local1[i]) > -1) {
trace(((("Found at: " + _url.toLowerCase().indexOf(_local1[i])) + " (") + _url) + ")");
return(false);
}
i++;
}
return(true);
}
this.onEnterFrame = function () {
if (baramount == undefined) {
baramount = 0;
}
loadedamount = Math.round((_root.getBytesLoaded() / _root.getBytesTotal()) * 100);
if (baramount < loadedamount) {
baramount++;
}
loadedtext = baramount + "%";
if (baramount >= 100) {
_root.gotoAndStop("loaded");
}
};
SubmitBOGStat("Preload", 1, 0);
if (AllowedAds()) {
var CPMStarContentSpotID = "3074Q335AB858";
System.security.allowDomain("server.cpmstar.com");
adBox.inner.loadMovie(("http://server.cpmstar.com/adviewas2.swf?contentspotid=" + CPMStarContentSpotID) + "&subpoolid=503");
}
stop();
Instance of Symbol 1227 MovieClip [API Connector (NewgroundsAPI)] in Frame 1
//component parameters
onClipEvent (construct) {
api_id = "15490:6bjpY19S";
encryption_key = "232qdTOkBh1EFgxXT0xM1YF6ergLtvRu";
version = "";
fake_session = true;
debug = true;
error_screens = true;
medal_popups = true;
}
Frame 2
so = SharedObject.getLocal("Warlords2_Game");
so_options = SharedObject.getLocal("Warlords2_Options");
option_sound = so_options.data.option_sound;
if (option_sound == undefined) {
option_sound = true;
}
option_music = so_options.data.option_music;
if (option_music == undefined) {
option_music = true;
}
function PlayMusic(strSound) {
stopAllSounds();
if (option_music == true) {
trace("Play Music: " + strSound);
_root.music.gotoAndStop(strSound);
}
}
function isAcceptableDate() {
return(true);
}
function checkfps() {
if (_quality != "LOW") {
if (_root.gameinprogress != true) {
_quality = "HIGH";
} else if (fps < 20) {
if (_quality == "HIGH") {
_quality = "MEDIUM";
} else {
_quality = "LOW";
}
message((("FPS: " + fps) + "(<20) changed to: ") + _quality);
}
setTimeout(checkfps, 2000);
quality = _quality;
}
}
function fpsReport() {
fps = fpsCounter;
fpsCounter = 0;
if ((_root.gameinprogress == true) && (Math.random() > 0.99)) {
_root.SubmitBOGStat("FPS", fps, 1);
}
}
this.onEnterFrame = undefined;
fpsCounter = 0;
var intervalId;
var duration = 1000;
fps = 25;
quality = _quality;
if (consoleissetup != true) {
console.onEnterFrame = function () {
_root.fpsCounter++;
};
intervalId = setInterval(fpsReport, duration);
checkfps();
consoleissetup = true;
}
SubmitBOGStat("Loaded", 1, 0);
Frame 3
_root.demonsunlocked = true;
stopAllSounds();
stop();
_root.kongregateServices.connect();
_root.attackingregion = undefined;
arrleftSoldierChoices = new Array(0, 1, 2, 5);
arrrightSoldierChoices = new Array(0, 1, 2, 5);
_root.mp_player0name = "";
_root.mp_player1name = "";
reset();
Stage.showMenu = false;
_root.towin = 50;
_root.chargekills = 20;
_root.top = 600;
arrTutorialsShown = so.data.arrTutorialsShown.slice();
if (arrTutorialsShown == undefined) {
arrTutorialsShown = [];
}
_quality = "high";
levelnum = so.data.level;
if (levelnum == undefined) {
levelnum = 1;
}
_root.difficultylevel = _root.so.data.difficultylevel;
if (difficultylevel == undefined) {
difficultylevel = "Normal";
}
trace("DIFF:" + _root.difficultylevel);
gametype = 1;
option_autosend = so_options.data.option_autosend;
if (option_autosend == undefined) {
option_autosend = false;
}
option_blood = so_options.data.option_blood;
if (option_blood == undefined) {
option_blood = true;
}
leftmoney = so.data.money;
if (leftmoney == undefined) {
leftmoney = startmoney;
}
arrleftAppliedUpgrades = so.data.arrleftAppliedUpgrades.slice(0);
if (arrleftAppliedUpgrades == undefined) {
arrleftAppliedUpgrades = [];
}
arrAttacks = so.data.arrAttacks.slice(0);
if (arrAttacks == undefined) {
arrAttacks = [];
}
mykills = so.data.mykills;
if (mykills == undefined) {
mykills = 0;
}
MyRace = so.data.race;
leftrace = MyRace;
if (MyRace == undefined) {
if ((_url.toLowerCase().indexOf("www.benoldinggames.co.uk") < 0) && (_url.toLowerCase().indexOf("armorgames.com") < 0)) {
MyRace = random(arrRacesDataArray.length - 5);
} else {
MyRace = random(arrRacesDataArray.length - 2);
}
blnSavedDataFound = false;
} else {
blnSavedDataFound = true;
}
arrleftSoldierChoices = so.data.mysoldiers;
if (arrleftSoldierChoices == undefined) {
arrleftSoldierChoices = new Array(0, 1, 2, 5);
}
arrrightSoldierChoices = new Array(0, 1, 2);
arrRegionData = [];
arrRegionData.push(["Isendor", "1", "2,13", "Easy", "250", "7,15,2", "22", true, true]);
arrRegionData.push(["Chan", "1", "1,13,3", "Medium", "500", "0,1,2,7,26,42", "23", false, true]);
arrRegionData.push(["Goroth", "2", "2,13,14,15,5,4", "Medium", "500", "0,1,2,9,22,40", "16", false, true]);
arrRegionData.push(["Chogoth", "2", "3,5", "Easy", "250", "0,15,2,9", "17", true, true]);
arrRegionData.push(["Thareth", "2", "4,3,15,7,6", "Hard", "750", "0,1,2,9,4,22", "18", false, true]);
arrRegionData.push(["Chogro", "7", "5,7,8", "Easy", "750", "0,1,2,8", "14", true, false]);
arrRegionData.push(["Trajeck", "7", "5,6,8,11,16,25,14,15", "Medium", "500", "0,1,2,37,44", "15", false, false]);
arrRegionData.push(["Othok", "8", "6,7,11,10,9", "V. Hard", "1250", "0,1,8,5,15,46", "11", false, false]);
arrRegionData.push(["Sath", "8", "8,10", "V. Hard", "1250", "0,1,2,4,5,14,46", "10", true, false]);
arrRegionData.push(["Thray", "8", "9,8,11,12", "V. Hard", "500", "0,1,2,4,3,14,33", "11", false, false]);
arrRegionData.push(["Vorth", "8", "8,10,12,18,17,16,7", "V. Hard", "1750", "0,1,8,4,6,5,14,33,46", "12", false, false]);
arrRegionData.push(["Orthshire", "0", "10,11,18", "Hard", "750", "0,1,2,5,18,32,38", "2", false, false]);
arrRegionData.push(["Azzitha", "1", "1,2,3,14,27,21", "Hard", "750", "1,2,3,10,26", "24", false, true]);
arrRegionData.push(["Senshan", "6", "3,15,7,25,24,26,27,13", "Easy", "250", "0,15,2,5", "6", true, true]);
arrRegionData.push(["Battakka", "7", "3,5,7,14", "Hard", "750", "15,1,2,16,44", "13", false, true]);
arrRegionData.push(["Forest of the Damned", "5", "7,11,17,23,24,25", "Medium", "500", "5,1,2,34", "9", true, false]);
arrRegionData.push(["Farreshire", "0", "16,11,18,19,20,23", "Easy", "250", "0,15,2,5,38", "1", false, false]);
arrRegionData.push(["Acity", "0", "12,11,17,19", "Medium", "500", "0,1,2,8,4,32", "3", true, false]);
arrRegionData.push(["Darkwood", "3", "18,17,20,22", "Easy", "250", "0,15,2", "25", false, false]);
arrRegionData.push(["Eastern Forest", "3", "17,19,22,23", "Hard", "750", "0,1,2,3,5,6,36", "26", true, false]);
arrRegionData.push(["Roon", "6", "13,27,26,28", "Medium", "500", "0,1,13,4,31", "5", false, true]);
arrRegionData.push(["Woodland", "3", "23,20,19", "Medium", "500", "0,1,2,5,12,43", "27", false, false]);
arrRegionData.push(["Arragas", "4", "28,26,24,16,17,20,22", "Easy", "250", "0,15,11,5", "19", false, false]);
arrRegionData.push(["Dead Plains", "5", "26,14,25,16,23", "Hard", "750", "0,5,17,6,45", "7", false, true]);
arrRegionData.push(["Dead Marshes", "5", "14,7,16,24", "Easy", "250", "5,15,2", "8", false, true]);
arrRegionData.push(["Barrock", "4", "21,27,14,24,23,28", "Medium", "500", "0,1,11,20", "20", false, true]);
arrRegionData.push(["Mylen", "6", "21,13,14,26", "Hard", "750", "0,1,13,6,5,31,39", "4", false, true]);
arrRegionData.push(["Nartoth", "4", "21,26,23", "Hard", "750", "0,1,11,8,20,41", "21", true, true]);
arrRegionData.push(["???", "4", "21,26,23", "Hard", "750", "0,1,11,8,20,41", "21", true, true]);
arrRacesDataArray = [];
arrRacesDataArray.push(["human", [19, 61, 122], "Human Alliance", "Superior armour effectively protects the alliance against all weaponry.", [0, 1, 2, 5], "human", "The Demons has been suppressed yet again. But the King had learnt that The Demons would always slowly re-gain their strength and eventually attack again. He created an elite group of knights, called \"The Watchers\", who would provide early warning of any further demon uprisings."]);
arrRacesDataArray.push(["elf", [85, 41, 99], "High Elves", "Resistant to magic while also being proficient at it.", [0, 1, 2, 5], "elf", "Throughout the war, the High Priestess of Isendor, has been using her powers to guide her troops and keep an eye on the land as a whole. This took its toll, and eventually she lost the ability to fully control her power. She now spends her days locked in a tower with priestesses constantly working to suppress her power with their own."]);
arrRacesDataArray.push(["orc", [112, 6, 7], "Orcs of the North", "Intense training gives northern orcs the ability to strike with great power.", [0, 1, 2, 5], "orc", "After the war the Orcs of the North reconciled their differences with their cousins in the South. Despite a few disruptive influences on both sides, the desire for a lasting peace between the two was strong."]);
arrRacesDataArray.push(["woodelf", [40, 176, 106], "Wood Elves", "Light armour allows the wood elves to move quickly.", [0, 1, 2, 5], "elf", "The Wood elves Returned to the forest, but with a renewed suspicion of those that live outside it. While they were content to live in peace, they knew now to keep a watch on those around to avoid being caught off guard by war again."]);
arrRacesDataArray.push(["orc2", [145, 125, 79], "Orcs of the South", "Southern orcs are skilled in the construction of chopping weapons", [0, 1, 11, 5], "orc", "After the war the Orcs of the South reconciled their differences with their cousins in the North. Despite a few disruptive influences on both sides, the desire for a lasting peace between the two was strong."]);
arrRacesDataArray.push(["undead", [248, 243, 237], "The Undead", "Diseased scythe style halberds are very effective against melee units", [0, 1, 2, 5], "undead", "The Undead tried their best to conquer the land of the living, but soon realised that those lands were not suitable for them to much light and vegetation. So they returned to their barren wasteland and decided to wait for another time when they have the power to destroy all life."]);
arrRacesDataArray.push(["human2", [222, 172, 127], "Men of the West", "Their carefully crafted swords strike fear in the land of Beneril. ", [0, 1, 2, 5], "human", "Satisfied that the demons were no longer a threat and that those in neighbouring regions, held no grudges, the men of the west returned to their territory and locked away their swords and armour. Safe for another time, hopefully in the distant future."]);
arrRacesDataArray.push(["troll", [105, 129, 151], "Mountain Trolls", "Troll armour, hardened by the bitter cold, provides a formidable defence against arrows. ", [0, 1, 2, 5], "troll", "The Trolls conquered Beneril, but were spread too thinly. Over the following years each region managed to retake their land. All except the demon lands, which were far too hot for the trolls anyway. So once again they were driven back into the mountains to which they had become more than accustomed."]);
arrRacesDataArray.push(["demon", [136, 44, 60], "Demons", "The piercing spears of the demons are forged to inflict maximum pain and damage. ", [0, 1, 2, 5], "demon", "The demons had attained victory, but it was a hollow one. None of these beings could ever understand the constant pain that they felt, no matter how much torture was used. All this effort was doing was adding frustration to their already considerable anger."]);
arrRacesDataArray.push(["arnold", [30, 30, 30], "The Arnolds", "Army of cybernetic organisms from the future", [5, 49], "arnold", "The Arnolds finally had managed to eliminate all possible ancestors of the human resistance, and therefore all returned to the future, to await further orders."]);
arrLockedRaces = [];
arrLockedRaces[8] = true;
arrLockedRaces[9] = true;
arrRangedUnits = [2, 3, 11, 12, 13, 35];
arrSoldierStats = [];
arrSoldierStats.push(["Spearman", 5, 40, 50, 130, 250, "", 20, "Standard unit. Fast moving and quick to produce with a long reach. But with low armour. Good for charging down archers and getting men across the map quickly.", 0, "Melee Unit", 30, [2, 5, 15], false, true, [1, 3, 4, 6, 8, 10, 11, 12, 13, 16, 17, 18, 20, 22, 32, 33, 34]]);
arrSoldierStats.push(["Swordsman", 3, 100, 87, 100, 600, "", 35, "Tough infantry unit. Fairly short range attack but has tough armor and can do good damage.", 1, "Melee Unit", 50, [0, 2], false, true, [2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 20, 22, 32, 33, 34]]);
arrSoldierStats.push(["Archer", 2, 15, 70, 1900, 500, "", 10, "Long ranged attack unit. Weak armour, but can kill units before they get close enough to attack. Cannot target units at close range.", -1, "Ranged Unit", 30, [5, 3], true, true, [0, 1, 4, 6, 7, 12, 31]]);
arrSoldierStats.push(["Battle Mage", 3, 10, 120, 1000, 900, "", 50, "Powerful ranged attack, but with very low armour. Vulnerable to archers.", -1, "Ranged Unit", 0, [], true, true, arrRangedUnits.slice(0)]);
arrSoldierStats.push(["Mounted Spearman", 30, 100, 180, 200, 1400, "", 20, "Fast, tough, powerful unit. Good for driving the enemy back. When at full speed can knock over enemies.", -1, "Mounted Melee Unit", 25, [0, 2], false, false, [1, 3, 5]]);
arrSoldierStats.push(["Halberdier", 2, 40, 70, 130, 500, "", 40, "Strong, long reaching attack but with low armour. Excellent in numbers against mounted units. Vulnerable to ranged attacks.", -1, "Melee Unit", 30, [1, 4, 6], false, true, arrRangedUnits.slice(0).concat([0, 15])]);
arrSoldierStats.push(["Mounted Halberdier", 30, 60, 150, 200, 1100, "", 45, "Very fast unit with a long ranged attack. Excellent for driving back the enemy.", -1, "Mounted Melee Unit", 50, [0], false, false, [1, 5]]);
arrSoldierStats.push(["Scout", 15, 10, 60, 60, 400, "", 10, "Very fast, but very weak unit. Useful for charging through gaps in the enemy's defence.", 2, "Melee Unit", 75, [2], false, true, [0, 1]]);
arrSoldierStats.push(["Longswordsman", 3, 100, 130, 100, 1000, "", 60, "Extra tough swordsman with a long reaching sword.", -1, "Melee Unit", 0, [], false, true, arrRangedUnits.slice(0)]);
arrSoldierStats.push(["Battle Axeman", 3, 40, 60, 100, 900, 2, 120, "Very high damage attack, but is slow to use it and has weak armour. Very dangerous as part of a cluster of units.", -1, "Melee Unit", 0, [], false, true, arrRangedUnits.slice(0)]);
arrSoldierStats.push(["Whirler", 5, 100, 160, 160, 1600, 1, 35, "Dangerous rapid attacks. Very useful against lone units.", -1, "Melee Unit", 0, [], false, true]);
arrSoldierStats.push(["Axe Thrower", 3, 40, 70, 750, 600, 4, 20, "Medium ranged, medium damage attacks.", -1, "Ranged Unit", 0, [], true, true]);
arrSoldierStats.push(["Ranger", 2, 120, 120, 1700, 1300, 3, 10, "Skilled archer. Can fire arrows more rapidly and further than the standard archer.", -1, "Ranged Unit", 0, [], true, true, [0, 1, 2]]);
arrSoldierStats.push(["Javelin Thrower", 4, 60, 180, 750, 1000, 6, 25, "Medium-short ranged projectile attacks. Useful against halberdiers and Battle Axemen.", 3, "Ranged Unit", 0, [], true, true, arrRangedUnits.slice(0)]);
arrSoldierStats.push(["Spearmaster", 6, 130, 130, 130, 1200, 8, 45, "Highly skilled spearman.", 1, "Melee Unit", 50, [1], false, true]);
arrSoldierStats.push(["Axeman", 5, 80, 100, 110, 600, "", 45, "Attacks while charging forward. Useful for driving back enemy and against long reaching weapons.", 4, "Melee Unit", 50, [5, 31], false, true]);
arrSoldierStats.push(["Giant Troll", 10, 220, 400, 250, 3200, 7, 500, "Very tough unit with very dangerous attack. Takes a long time to produce.", -1, "Melee Unit", 0, [], false, false]);
arrSoldierStats.push(["Flailer", 3, 50, 180, 165, 1300, 5, 100, "Tough unit with very dangerous attack.", -1, "Melee Unit", 0, [], false, true]);
arrSoldierStats.push(["King's Guard", 4, 100, 150, 130, 1600, 0, 90, "Heavily armoured elite swordsman.", -1, "Melee Unit", 30, [0, 1], false, true]);
arrSoldierStats.push(["Ladderman", 6, 40, 100, 120, 500, "", 40, "Weak, slow moving unit that carries a ladder. When the ladder is placed it is the possible for units to climb into an enemy castle.", 2, "Siege Unit", 0, [], false, true]);
arrSoldierStats.push(["Samurai", 6, 100, 130, 210, 1000, 4, 80, "Skilled longswordman, inflicts good damage while moving forward.", -1, "Melee Unit", 0, [], false, true]);
arrSoldierStats.push(["Catapult", 1, 140, 180, 1000, 1000, 2, 200, "Siege unit that launches giant boulders at the enemy, most effective against castles.", -1, "Siege Unit", 0, [], true, false]);
arrSoldierStats.push(["Warrior Monk", 10, 80, 140, 225, 1100, 2, 45, "Highly skilled staff fighter, effective at knocking over enemies.", 5, "Melee Unit", 20, [0, 5], false, true]);
arrSoldierStats.push(["Skull Launcher", 1, 140, 180, 1700, 1000, 5, 250, "Siege unit that launches 5 skulls at a time that shower down on the enemy.", -1, "Siege Unit", 0, [], true, false]);
arrSoldierStats.push(["Obelisk", 1, 140, 180, 1000, 1000, 1, 220, "Obelisk that has been enchanted with destructive magic. Fires bolts of energy into the sky that fall down upon its target. Never misses", -1, "Siege Unit", 0, [], true, false]);
arrSoldierStats.push(["Battering Ram", 20, 140, 200, 1000, 1000, 6, 200, "Siege unit with giant swinging log that can knock over units or cause much damage to a castle.", -1, "Siege Unit", 0, [], false, false]);
arrSoldierStats.push(["Assassin", 10, 10, 120, 210, 1300, 1, 10, "Low armour and 2 knives, this unit is skilled at quickly killing a single unit. Useful against tough enemy units, ineffective against groups.", -1, "Melee Unit", 0, [], false, true]);
arrSoldierStats.push(["Trebuchet", 2, 140, 180, 700, 1000, 0, 150, "Siege unit that moves relatively quickly (compared to other siege units), and can fire giant rocks at the enemy.", -1, "Siege Unit", 0, [], true, false]);
arrSoldierStats.push(["Catapult|Troll Catapult", 1, 140, 180, 1000, 1000, 7, 200, "Siege unit that launches giant boulders at the enemy, most effective against castles.", -1, "Siege Unit", 0, [], true, false]);
arrSoldierStats.push(["Battering Ram|Orc Battering Ram", 20, 140, 200, 1000, 1000, 4, 200, "Siege unit with giant swinging log that can knock over units or cause much damage to a castle.", -1, "Siege Unit", 0, [], false, false]);
arrSoldierStats.push(["Log Launcher", 1, 140, 180, 1700, 1000, 3, 100, "Siege unit that fires large tree trunks at the enemy, is longer ranged than other siege units.", -1, "Siege Unit", 0, [], true, false]);
arrSoldierStats.push(["Shieldman", 3, 80, 70, 150, 900, 6, 45, "Spearman with a large protective shield which can deflect most attacks, vulnerable only when attacking", -1, "Melee Unit", 50, [0, 2], false, true, [0, 15]]);
arrSoldierStats.push(["Hammerman", 3, 170, 150, 110, 1000, 0, 60, "Armed with a large stone warhammer, this unit at short range can hit very hard and knock enemies to the ground.", -1, "Melee Unit", 0, [], false, true, [2, 4, 5, 6]]);
arrSoldierStats.push(["Giant Demon", 5, 220, 400, 160, 3200, 8, 500, "Very large, very tough unit with very dangerous attacks. Takes a long time to produce.", -1, "Melee Unit", 50, [0, 1], false, false]);
arrSoldierStats.push(["Scythe Whirler", 5, 100, 160, 220, 1100, 5, 35, "Dangerous rapid attacks. Very useful against lone units.", -1, "Melee Unit", 25, [0, 1], false, true]);
arrSoldierStats.push(["Rock Thrower", 3, 40, 70, 750, 800, 7, 20, "Medium ranged, medium damage attacks. Can knock over enemies.", -1, "Ranged Unit", 0, [], true, true]);
arrSoldierStats.push(["Double Swordsman", 4, 100, 150, 130, 1000, 3, 35, "This units whirling, rapid attacks can be very effective against short ranged enemies.", -1, "Melee Unit", 50, [0], false, true]);
arrSoldierStats.push(["Clubber", 10, 80, 120, 110, 900, 7, 45, "Attacks while agressively charging forward. Useful for driving back enemy and can knock over people who get in the way.", 12, "Melee Unit", 0, [], false, true, [0, 1]]);
arrSoldierStats.push(["Archmage", 3, 10, 200, 130, 500, 0, 50, "Very powerful, but unpredictable magic unit. Must be upgraded with some spells.", -1, "Magic Caster", 0, [], true, false, [0, 2]]);
arrSoldierStats.push(["Psionic|Archmage", 3, 10, 200, 130, 500, 6, 50, "Very powerful, but unpredictable magic unit. Must be upgraded with some spells.", -1, "Magic Caster", 0, [], true, false, [0, 2]]);
arrSoldierStats.push(["Warlock|Archmage", 3, 10, 200, 130, 500, 2, 50, "Very powerful, but unpredictable magic unit. Must be upgraded with some spells.", -1, "Magic Caster", 0, [], true, false, [0, 2]]);
arrSoldierStats.push(["Enchanter|Archmage", 3, 10, 200, 130, 500, 4, 50, "Very powerful, but unpredictable magic unit. Must be upgraded with some spells.", -1, "Magic Caster", 0, [], true, false, [0, 2]]);
arrSoldierStats.push(["Farseer|Archmage", 3, 10, 200, 130, 500, 1, 50, "Very powerful, but unpredictable magic unit. Must be upgraded with some spells.", -1, "Magic Caster", 0, [], true, false, [0, 2]]);
arrSoldierStats.push(["Shaman|Archmage", 3, 10, 200, 130, 500, 3, 50, "Very powerful, but unpredictable magic unit. Must be upgraded with some spells.", -1, "Magic Caster", 0, [], true, false, [0, 2]]);
arrSoldierStats.push(["Ice Conjuror|Archmage", 3, 10, 200, 130, 500, 7, 50, "Very powerful, but unpredictable magic unit. Must be upgraded with some spells.", -1, "Magic Caster", 0, [], true, false, [0, 2]]);
arrSoldierStats.push(["Necromancer|Archmage", 3, 10, 200, 130, 500, 5, 50, "Very powerful, but unpredictable magic unit. Must be upgraded with some spells.", -1, "Magic Caster", 0, [], true, false, [0, 2]]);
arrSoldierStats.push(["Sorceror|Archmage", 3, 10, 200, 130, 500, 8, 50, "Very powerful, but unpredictable magic unit. Must be upgraded with some spells.", -1, "Magic Caster", 0, [], true, false, [0, 2]]);
arrSoldierStats.push(["Fire Tower", 1, 140, 180, 1000, 500, 8, 100, "Giant tower which can launch large fireballs.", -1, "Siege Unit", 0, [], true, false]);
arrSoldierStats.push(["Raised", 8, 25, 100, 100, 10, 30, 45, "Raised by necromancer spell", -1, "Melee Unit", 0, [], false, true]);
arrSoldierStats.push(["T100 Handgunner", 4, 40, 100, 500, 300, 9, 15, "T100 Unit armed with a handgun", -1, "Ranged Unit", 0, [], true, true, [0, 1, 3]]);
arrSoldierStats.push(["T100 Shotgunner", 3, 100, 130, 300, 500, 9, 100, "T100 Unit armed with a shotgun. Effective at short range.", -1, "Ranged Unit", 0, [], true, true, arrRangedUnits.slice(0)]);
arrSoldierStats.push(["T100 Minigunner", 2, 100, 200, 800, 1100, 9, 450, "T100 Unit armed with a minigun. Very effective at medium range.", -1, "Ranged Unit", 30, [16, 33], true, true, [0, 2]]);
arrSoldierStats.push(["T100 Submachinegunner", 4, 50, 120, 500, 700, 9, 150, "T100 Unit armed with a sub machine gun.", -1, "Ranged Unit", 30, [2, 5], true, true, []]);
arrSoldierStats.push(["HK-Tank", 2, 220, 200, 1000, 2100, 9, 450, "Large Terminator armed with 2 gatling guns.", -1, "Siege Unit", 0, [], true, false]);
arrSoldierStats.push(["HK-Drone", 1, 60, 140, 500, 1700, 9, 450, "Large flying terminator armed with a gatling gun.", -1, "Siege Unit", 0, arrRangedUnits.slice(0), true, false]);
arrUpgradeChoices = [];
arrUpgradeChoices.push(["Spear Charge (special)", 300, -1, -1, true, "special", 0, [0], "special", "The spearman runs toward the enemy spear raised and deliver a powerful first attack."]);
arrUpgradeChoices.push(["Shield Advance (special)", 300, -1, -1, true, "special", 0, [1], "special", "The swordsman advances with his shield raised, protecting him from arrows."]);
arrUpgradeChoices.push(["Sprint (special)", 100, -1, -1, true, "special", 0, [7, 19], "special", "The soldier runs as fast as he can across the screen"]);
arrUpgradeChoices.push(["Power Throw (special)", 150, -1, -1, true, "special", 0, [13], "special", "The javelin thrower runs, allowing him to throw the first javelin much further and with more power"]);
arrUpgradeChoices.push(["Shield Bash (special)", 100, -1, -1, true, "special", 0, [15], "special", "The axeman runs at the enemy and hits them with his shield with a chance of knocking them to the floor"]);
arrUpgradeChoices.push(["Vault Attack (special)", 150, -1, -1, true, "special", 0, [22], "special", "The monk uses his staff to vault into the enemy for a powerful 2 foor kick that can knock over the enemy"]);
arrUpgradeChoices.push(["Lighter Armour", 300, -1, 3, false, "speed", 20, [16, 21, 23, 24, 25, 27, 28, 29, 30, 33, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47], "basicarmour", "Allows the wearer to move faster"]);
arrUpgradeChoices.push(["Ice Hardened Armour", 200, -1, 7, false, "armour", 5, [16, 21, 23, 24, 25, 27, 28, 29, 30, 33, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47], "basicarmour", "Gives the wearer a chance of arrows just bouncing off his armour"]);
arrUpgradeChoices.push(["Folded Steel Sword", 500, -1, 6, true, "attack", 20, [1, 8], "sword", "This technique means blades can be harder and sharper, giving them more cutting power"]);
arrUpgradeChoices.push(["Upgraded Shield", 300, -1, -1, true, "armour", 20, [0, 1, 4, 13, 14, 15, 17, 18], "shield", "An improved shield allows the soldier to more easily defend himself against attacks."]);
arrUpgradeChoices.push(["Helmet", 250, -1, -1, false, "armour", 10, [3, 16, 21, 23, 24, 25, 27, 28, 29, 30, 33, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47], "helmet", "Wearing a helmet protects the wearer against incoming attacks"]);
arrUpgradeChoices.push(["Upgraded Armour", 700, -1, -1, false, "armour", 30, [3, 16, 21, 23, 24, 25, 27, 28, 29, 30, 33, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47], "improvedarmour", "Improved armour makes it harder for an attacker to injure the wearer"]);
arrUpgradeChoices.push(["Jumping Bash (special)", 150, -1, -1, true, "special", 0, [37], "special", "Allows the clubber to run at the enemy and deliver a powerful jumping bash for his first attack"]);
arrUpgradeChoices.push(["Spiked Log", 500, -1, -1, true, "attack", 50, [30], "sword", "The launcher can be loaded with logs that have a metl spike on the end, these cause more damage"]);
arrUpgradeChoices.push(["Lightning Bolt", 500, -1, -1, true, "magic", 0, [42, 38, 43], "magic", "A bolt of electricity comes down from the sky either vaporising the enemy or sending them flying. Doesn't affect some units"]);
arrUpgradeChoices.push(["Teleport", 200, -1, -1, true, "magic", 0, [42, 38], "magic", "Teleports the caster to a different lane, hopefully escaping an attacker."]);
arrUpgradeChoices.push(["Rally", 600, -1, -1, true, "magic", 0, [42, 39, 41, 43], "magic", "Makes nearby friendly units charge at the enemy using their special attack if they have one."]);
arrUpgradeChoices.push(["Light Ball", 300, -1, -1, true, "magic", 0, [42, 38, 41], "magic", "Fires a ball of light at the enemy startling and hurting them."]);
arrUpgradeChoices.push(["Ice Block", 600, -1, -1, true, "magic", 0, [44], "magic", "Summons a large block of ice that drops from the sky crushing the target."]);
arrUpgradeChoices.push(["Telekinesis", 300, -1, -1, true, "magic", 0, [42, 38, 39, 40, 45], "magic", "The caster lifts an enemy via power of the mind then slams them into the ground."]);
arrUpgradeChoices.push(["Pit", 500, -1, -1, true, "magic", 0, [43, 46], "magic", "A pit opens under the target, causing them to fall into the earth. Can be used across lanes."]);
arrUpgradeChoices.push(["Tornado", 500, -1, -1, true, "magic", 0, [40, 43], "magic", "Summons a tornado that lifts the target high into the air, they then fall back down to earth. Can be used across lanes."]);
arrUpgradeChoices.push(["Teleport (forward)", 250, -1, -1, true, "magic", 0, [42, 39, 40], "magic", "The caster teleports forward jumping a section of the map instantly, avoiding an attacker."]);
arrUpgradeChoices.push(["Impact", 400, -1, -1, true, "magic", 0, [39, 40, 44, 45], "magic", "Knocks over a whole lane of enemies cause minor damage."]);
arrUpgradeChoices.push(["Terror", 600, -1, -1, true, "magic", 0, [39, 40, 41, 45], "magic", "Causes enemy units to run away in fear."]);
arrUpgradeChoices.push(["Sickness", 400, -1, -1, true, "magic", 0, [40, 41, 43, 45], "magic", "Infects an enemy with a disease, which will weaken them until possible death."]);
arrUpgradeChoices.push(["Mind Control", 750, -1, -1, true, "magic", 0, [42, 39, 41, 46], "magic", "Causes an enemy unit to betray his army and turn on them."]);
arrUpgradeChoices.push(["Weakness", 450, -1, -1, true, "magic", 0, [39, 41], "magic", "Causes a lane of enemies to slow down and attack with less power."]);
arrUpgradeChoices.push(["Ice Ball", 300, -1, -1, true, "magic", 0, [43, 44], "magic", "The caster summons and launches a ball of ice that can injure and knock over an enemy."]);
arrUpgradeChoices.push(["Raise Dead", 700, -1, -1, true, "magic", 0, [45], "magic", "The necromancer can raise skeletons out of recently dead enemy corpses."]);
arrUpgradeChoices.push(["Instant Death", 400, -1, -1, true, "magic", 0, [40, 43, 45, 46], "magic", "The enemy unit instantly dies."]);
arrUpgradeChoices.push(["Fireball", 300, -1, -1, true, "magic", 0, [42, 39, 40, 43, 46], "magic", "The caster summons a fireball which can burn an enemy unit."]);
arrUpgradeChoices.push(["Spiked Ball", 500, -1, -1, true, "attack", 50, [21], "sword", "The catapult fires a large metal ball covered in spikes"]);
arrUpgradeChoices.push(["Ice Ball", 500, -1, -1, true, "attack", 50, [28], "sword", "The catapult fires a large ball of ice that is harder and heavier that a stone"]);
arrUpgradeChoices.push(["Enchanted Arrows", 200, -1, 1, true, "attack", 0, [2], "sword", "Arrows have an impact enchantment which gives them a 10% chance of knocking over the target"]);
arrUpgradeChoices.push(["Cursed Halberds", 400, -1, 5, true, "attack", 0, [5, 34], "sword", "Halberds have been cursed by a necromancer meaning each hit has a 5% chance of weakening the enemy"]);
arrUpgradeChoices.push(["Archer Kick", 400, -1, -1, true, "attack", 0, [2], "kick", "Archers are trained to kick, giving them a weak, but sometiems useful melee attack"]);
arrUpgradeChoices.push(["Rolling Start", 400, -1, 6, true, "speed", 0, [25], "woodwheel", "A rolling start means that less time is needed to accelerate"]);
arrUpgradeChoices.push(["Balanced Halberds", 500, -1, -1, true, "attack", 20, [5], "sword", "Better weighted halberds give them a more dangerous attack"]);
arrUpgradeChoices.push(["Sharpened Spears", 800, -1, 8, true, "attack", 40, [0, 4, 14, 31], "sword", "A sharper point allows a spear to penetrate easier"]);
arrUpgradeChoices.push(["Toughened Armour", 500, -1, 0, false, "armour", 10, [16, 21, 23, 24, 25, 27, 28, 29, 30, 33, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47], "basicarmour", "A more flexible metal composition allows this armour to better absorb blunt attacks, meaning less chance of being knocked over"]);
arrUpgradeChoices.push(["Dispell Armour", 500, -1, 1, false, "armour", 10, [16, 21, 23, 24, 25, 27, 28, 29, 30, 33, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47], "basicarmour", "An enchantement performed by the high priestess gives this armor a chance of counteracting spells used against it"]);
arrUpgradeChoices.push(["Strength Training", 500, -1, 2, false, "attack", 20, arrRangedUnits.slice(0), "sword", "Increased arm strength gives the warrior more power when using their weapon"]);
arrUpgradeChoices.push(["Weighted Axe", 600, -1, 4, true, "attack", 35, [15], "sword", "A better weighted axehead give the weapon more chopping power"]);
arrUpgradeChoices.push(["Improved Alloy", 800, -1, 9, false, "armour", 25, [], "basicarmour", "A stronger skeleton alloy allows the unit to withstand more damage"]);
arrUpgradeChoices.push(["Improved Leg Motor", 900, -1, 9, false, "speed", 35, [], "armour", "A better leg motor allows the unit to move quicker"]);
arrUpgradeChoices.push(["Improved Arm Motor", 900, -1, 9, true, "attack", 35, [5], "attack", "A better arm motor allows the unit to strike with more power"]);
arrUpgradeChoices.push(["Riot Shield", 400, -1, 9, true, "armour", 20, [49, 50], "shield", "An improved shield that will help the unit defend itself more easily"]);
arrrightAppliedUpgrades = [];
_root.MenuSound();
completedcount = 0;
i = 0;
while (i < 10) {
_root["Completed" + i] = so.data["Completed" + i];
if (_root["Completed" + i] == true) {
completedcount++;
trace("Completed With " + arrRacesDataArray[i][2]);
_root.kongregateStats.submit("Completed With " + arrRacesDataArray[i][2], 1);
}
i++;
}
if (completedcount > 0) {
_root.kongregateStats.submit("Completed game", 1);
}
trace("Completed: " + completedcount);
function RegionForAttack() {
if (arrAttacks[levelnum] != undefined) {
trace("Returned attack from save! Level: " + levelnum);
if (arrAttacks[levelnum][0] == -1) {
return(false);
}
if (arrAttacks[levelnum][2] == true) {
return(false);
}
UnderAttack = arrAttacks[levelnum][0];
Attackers = arrAttacks[levelnum][1];
return(true);
}
potentialAttackers = [];
potentialToAttack = [];
if (levelnum > 10) {
over = 0.95;
} else {
over = 1;
}
if (_root.difficultylevel == "Easy") {
over = 1;
}
if (_root.difficultylevel == "Hard") {
over = 0.7;
}
if (_root.difficultylevel == "Very Hard") {
over = 0.5;
}
if (_root.difficultylevel == "Hardest") {
over = 0.3;
}
i = 0;
while (i < arrRegionData.length) {
if (GetRegionData("Race", i) == MyRace) {
if (GetRegionData("Castle", i) == true) {
arrAdj = GetRegionData("Adjacent", i).split(",");
a = 0;
while (a < arrAdj.length) {
rnd = Math.random();
if (rnd > over) {
message(((((((("Potential attackers of " + GetRegionData("Name", i)) + " from ") + GetRegionData("Name", arrAdj[a])) + "(") + rnd) + ">") + over) + ")");
potentialAttackers.push(GetRegionData("Race", arrAdj[a]));
potentialToAttack.push(i);
}
a++;
}
}
}
i++;
}
if (potentialAttackers.length < 1) {
arrAttacks[levelnum] = [-1];
return(false);
}
trace("Potential Attackers: " + potentialAttackers);
u = random(potentialToAttack.length);
if (potentialAttackers[u] == MyRace) {
arrAttacks[levelnum] = [-1];
return(false);
}
Attackers = potentialAttackers[u];
UnderAttack = potentialToAttack[u];
trace((GetRegionData("Name", potentialToAttack[u]) + " being attacked by ") + potentialAttackers[u]);
arrAttacks[levelnum] = [UnderAttack, Attackers, false];
return(true);
}
function SaveGame() {
if (gametype == 1) {
so.data.arrAttacks = arrAttacks.slice(0);
so.data.money = leftmoney;
so.data.arrleftAppliedUpgrades = arrleftAppliedUpgrades.slice(0);
so.data.mysoldiers = arrleftSoldierChoices.slice();
}
}
function ShowTutorial(intPage, ispaused) {
if (arrTutorialsShown[intPage] != true) {
trace(((("showing " + intPage) + " (") + arrTutorialsShown[intPage]) + ")");
arrTutorialsShown[intPage] = true;
so.data.arrTutorialsShown = arrTutorialsShown.slice();
tutorialwindow.gotoAndStop(intPage);
tutorialwindow.page = intPage;
tutorialwindow._visible = true;
if ((_root.gamepaused != true) && (ispaused != false)) {
Pause();
}
}
}
function HideTutorial(intPage) {
if (tutorialwindow.page == intPage) {
tutorialwindow.page = 0;
tutorialwindow._visible = false;
if (_root.gamepaused == true) {
Pause();
}
}
}
function hasSiegeUnit() {
i = 0;
while (i < arrleftSoldierChoices.length) {
if (arrSoldierStats[arrleftSoldierChoices[i]][10] == "Siege Unit") {
return(true);
}
i++;
}
return(false);
}
function SkipTutorial() {
var _local2;
_local2 = 0;
while (_local2 <= 50) {
arrTutorialsShown[_local2] = true;
_local2++;
}
tutorialwindow.page = 0;
tutorialwindow._visible = false;
so.data.arrTutorialsShown = arrTutorialsShown.slice();
if (_root.gamepaused == true) {
Pause();
}
}
function menuTootip(txtTitle, txtMessage) {
_root.tooltiptitle = txtTitle;
_root.tooltipmessage = txtMessage;
}
function menuTootipClear() {
_root.tooltiptitle = "";
_root.tooltipmessage = "";
}
function hasSeenTutorialPage(intPage) {
return(arrTutorialsShown[intPage] == true);
}
function Pause(force) {
if (force != undefined) {
_root.gamepaused = force;
} else {
_root.gamepaused = _root.gamepaused != true;
}
trace("Game Paused: " + _root.gamepaused);
lane = 1;
while (lane <= 8) {
units = _root.arrleftSoldiers[lane];
i = 1;
while (i <= units) {
totest = game["lane" + lane][(("soldierleft" + lane) + "_") + i];
if (totest.dead != true) {
if (_root.gamepaused == true) {
totest.stop();
} else {
totest.play();
}
}
i++;
}
units = _root.arrrightSoldiers[lane];
i = 1;
while (i <= units) {
totest = game["lane" + lane][(("soldierright" + lane) + "_") + i];
if (totest.dead != true) {
if (_root.gamepaused == true) {
totest.stop();
} else {
totest.play();
}
}
i++;
}
lane++;
}
}
function removeFromArray(toremove, array) {
ai = array.length - 1;
while (ai >= 0) {
if (toremove == array[ai]) {
array.splice(ai, 1);
}
ai--;
}
}
function magic(caster, type) {
IncrementObjectNum();
newName = "magic" + objectnum;
if (HasUpgrade(caster.target.unittype, 41, caster.target.player) == true) {
trace("Dispelled!");
} else {
switch (type) {
case 0 :
newmagic = game["lane" + caster.target.channel].attachMovie("Lightning", newName, objectnum);
newmagic._x = caster.target._x;
newmagic._y = caster.target._y;
newmagic._xscale = 400;
newmagic._yscale = 400;
enemies = enemiesinchannel(caster, caster.target.channel);
e = 1;
while ((e <= enemies) && (e < 1000)) {
if (caster.facing == "left") {
oppo = "right";
} else {
oppo = "left";
}
totest = game["lane" + caster.target.channel][((("soldier" + oppo) + caster.target.channel) + "_") + e];
if (GetDistance(totest, newmagic) < 200) {
totest.health = totest.health - random(100);
if (totest.health < 0) {
_root[totest.facing + "kills"]++;
generalanimation(totest, "Vapourize");
} else {
generalanimation(totest, "Launched");
}
}
e++;
}
break;
case 1 :
newmagic = game["lane" + caster.target.channel].attachMovie("Ice Block", newName, objectnum);
if (caster.target.facing == "left") {
newmagic._x = caster.target._x - (20 * caster.target.speed);
} else {
newmagic._x = caster.target._x + (20 * caster.target.speed);
}
newmagic.caster = caster;
newmagic._y = caster.target._y;
newmagic._xscale = 500;
newmagic._yscale = 500;
break;
case 2 :
totest.health = totest.health - (random(50) + 50);
if (totest.health <= 0) {
_root[totest.facing + "kills"]++;
generalanimation(caster.target, "LiftedDead");
} else {
generalanimation(caster.target, "Lifted");
}
break;
case 3 :
newmagic = game["lane" + caster.target.channel].attachMovie("Fire Pit", newName, objectnum);
newmagic.caster = caster;
newmagic._x = caster.target._x;
newmagic._y = caster.target._y;
newmagic._xscale = 500;
newmagic._yscale = 500;
break;
case 4 :
newmagic = game["lane" + caster.target.channel].attachMovie("Tornado", newName, objectnum);
newmagic.caster = caster;
newmagic._x = caster.target._x;
newmagic._y = caster.target._y;
newmagic._xscale = 500;
newmagic._yscale = 500;
_root.PlaySound("TornadoSFX", newmagic._x);
break;
case 5 :
TeleportSoldier(caster);
_root.PlaySound("TeleportSFX", caster._x);
break;
case 6 :
_root.PlaySound("Rally", caster._x);
l = 1;
while (l <= 8) {
if (caster.player == "left") {
friendlies = arrrightSoldiers[l];
} else {
friendlies = arrleftSoldiers[l];
}
e = 1;
while ((e <= friendlies) && (e < 1000)) {
totest = game["lane" + l][((("soldier" + caster.facing) + l) + "_") + e];
if (totest != undefined) {
if ((totest != caster) && (arrSoldierStats[totest.unittype][9] != -1)) {
totest.speciallevel = 2;
}
}
e++;
}
l++;
}
break;
case 7 :
if (caster.player != "left") {
enemies = arrrightSoldiers[l];
} else {
enemies = arrleftSoldiers[l];
}
e = 1;
while ((e <= enemies) && (e < 1000)) {
totest = game["lane" + caster.channel][((("soldier" + caster.player) + caster.channel) + "_") + e];
if (totest != undefined) {
hurt(totest, random(30));
generalanimation(totest, "KnockOver");
}
e++;
}
PlaySound("BigHit", totest._x);
break;
case 8 :
PlaySound("Terror", caster._x);
if (caster.player != "left") {
enemies = arrrightSoldiers[l];
} else {
enemies = arrleftSoldiers[l];
}
c = 1;
while (c <= 8) {
chan = c;
enemies = enemiesinchannel(caster, chan);
e = 1;
while ((e <= enemies) && (e < 1000)) {
if (caster.facing == "left") {
oppo = "right";
} else {
oppo = "left";
}
totest = game["lane" + chan][((("soldier" + oppo) + chan) + "_") + e];
if ((totest != caster) && (totest != undefined)) {
generalanimation(totest, "Run Away");
break;
}
e++;
}
c++;
}
break;
case 9 :
if (target.issick != true) {
PlaySound("SicknessSFX", caster._x);
newmagic = game["lane" + caster.target.channel].attachMovie("Sickness", newName, objectnum);
newmagic._x = caster.target._x;
newmagic._y = caster.target._y - 60;
newmagic.swapDepths(caster.target);
newmagic._xscale = 300;
newmagic._yscale = 300;
newmagic.target = caster.target;
}
break;
case 10 :
PlaySound("MindControl", caster._x);
_root.firearrow(caster, "Mind Control");
break;
case 11 :
PlaySound("WeaknessSFX", caster._x);
_root.firearrow(caster, "Weakness");
break;
case 12 :
PlaySound("Light", caster._x);
_root.firearrow(caster, "Iceball Projectile");
break;
case 13 :
if (caster.player != "left") {
enemies = arrrightSoldiers[l];
} else {
enemies = arrleftSoldiers[l];
}
c = 1;
while (c <= 8) {
chan = c;
enemies = enemiesinchannel(caster, chan);
blnFoundCorpse = false;
e = 1;
while ((e <= enemies) && (e < 1000)) {
if (caster.facing == "left") {
oppo = "right";
} else {
oppo = "left";
}
totest = game["lane" + chan][((("soldier" + oppo) + chan) + "_") + e];
if ((totest.dead == true) && (totest.beast != true)) {
trace("Found Corpse");
blnFoundCorpse = true;
soldiernum++;
if (soldiernum >= 300) {
soldiernum = 1;
}
_root[("arr" + caster.facing) + "Soldiers"][chan]++;
newsoldier = game["lane" + chan].attachMovie("Raised", ((("soldier" + caster.facing) + chan) + "_") + _root[("arr" + caster.facing) + "Soldiers"][chan], soldiernum + (1000 * (1 + chan)));
if (facing == "left") {
newsoldier._xscale = -200;
} else {
newsoldier._xscale = 200;
}
newsoldier._x = totest._x;
newsoldier.unittype = 48;
newsoldier._yscale = 200;
newsoldier.facing = caster.facing;
newsoldier.channel = chan;
newsoldier.inbattle = true;
newsoldier.setanimationsallowed = true;
if (caster.facing == "right") {
newsoldier.player = "left";
} else {
newsoldier.player = "right";
}
newsoldier.health = 25;
newsoldier.speciallevel = 1;
newsoldier.value = 1;
newsoldier.race = 7;
totest.removeMovieClip();
}
e++;
}
if (blnFoundCorpse == true) {
PlaySound("RaiseDead", caster._x);
}
c++;
}
break;
case 14 :
PlaySound("Death", caster._x);
caster.target.health = 0;
soldierdie(caster.target);
break;
case 15 :
_root.firearrow(caster, "FireBall");
break;
default :
trace("Spell not Made");
}
}
}
function UnitID(strID) {
if (strID.indexOf("|") > -1) {
var _local1 = strID.split("|");
return(_local1[1]);
}
return(strID);
}
function UnitName(strID) {
if (strID.indexOf("|") > -1) {
var _local1 = strID.split("|");
return(_local1[0]);
}
return(strID);
}
function SelectSoldier(obj, amount) {
HideTutorial(1);
ShowTutorial(2, false);
if (amount < 0) {
if (obj.soldierselected > 0) {
obj.soldierselected = obj.soldierselected + amount;
} else {
obj.soldierselected = _root[("arr" + obj._name) + "SoldierChoices"].length - 1;
}
} else if (obj.soldierselected < (_root[("arr" + obj._name) + "SoldierChoices"].length - 1)) {
obj.soldierselected = obj.soldierselected + amount;
} else {
obj.soldierselected = 0;
}
obj.arrSoldierData = _root.arrSoldierStats[_root[("arr" + obj._name) + "SoldierChoices"][obj.soldierselected]];
obj.rechargetime = Number(obj.arrSoldierData[3]);
_root[obj._name + "soldier"] = UnitName(obj.arrSoldierData[0]);
_root[obj._name + "bonus"] = BonusText(_root[("arr" + obj._name) + "SoldierChoices"][obj.soldierselected]);
}
function BonusText(intUnitID, showtype) {
var _local3 = "";
var _local2 = _root.arrSoldierStats[intUnitID];
if (_local2[12].length > 0) {
_local3 = _local3 + (_local2[11] + "% attack bonus against: ");
i = 0;
while (i < _local2[12].length) {
_local3 = _local3 + _root.arrSoldierStats[_local2[12][i]][0];
if (i < (_local2[12].length - 1)) {
_local3 = _local3 + ", ";
}
i++;
}
}
if (_local3 == "") {
if (showtype == false) {
_local3 = "<i>None</i>";
} else {
_local3 = _local2[10];
}
}
return(_local3);
}
function ChangeChannel(obj, amount) {
if (hasSeenTutorialPage(2) == true) {
HideTutorial(2);
ShowTutorial(3, false);
}
if (((obj.chan > 1) || (amount > 0)) && ((obj.chan < 8) || (amount < 0))) {
obj.chan = obj.chan + amount;
obj._xscale = 500 / obj._parent["lane" + obj.chan].perspective;
obj._yscale = 500 / obj._parent["lane" + obj.chan].perspective;
obj._y = obj._parent["lane" + obj.chan]._y;
if (obj._name == "left") {
obj._x = obj._parent["lane" + obj.chan]._x - (obj._parent["lane" + obj.chan].thewidth / 2);
} else {
obj._x = obj._parent["lane" + obj.chan]._x + (obj._parent["lane" + obj.chan].thewidth / 2);
}
}
}
function climbedladder(obj) {
if ((castles == shop_player) || (gametype != 4)) {
attackerscore = attackerscore + 300;
mp_SetScores("attacker", attackerscore);
}
obj.removeMovieClip();
}
function climbladder(lane, race, unittype) {
soldiernum++;
if (soldiernum >= 300) {
soldiernum = 1;
}
ladder = game["lane" + lane]["ladder" + lane];
climber = game["lane" + lane].attachMovie("ClimbLadder", "climber" + soldiernum, soldiernum + (1000 * (1 + lane)));
climber._x = ladder._x;
climber._y = ladder._y;
climber._xscale = ladder._xscale;
climber._yscale = ladder._yscale;
climber.race = race;
climber.unittype = unittype;
}
function placeladder(obj) {
soldiernum++;
if (soldiernum >= 300) {
soldiernum = 1;
}
ladder = game["lane" + obj.channel].attachMovie("PlacedLadder", "ladder" + obj.channel, soldiernum + (1000 * (1 + obj.channel)));
ladder._x = obj._x;
ladder._y = obj._y;
ladder._xscale = obj._xscale;
ladder._yscale = obj._yscale;
climbladder(obj.channel, obj.race, obj.unittype);
obj.removeMovieClip();
}
function GetUp(obj) {
soldiernum++;
if (soldiernum >= 300) {
soldiernum = 1;
}
arrSoldierData = arrSoldierStats[obj.unittype];
_root[("arr" + obj.facing) + "Soldiers"][obj.channel]++;
newsoldier = game["lane" + obj.channel].attachMovie(arrSoldierData[0], ((("soldier" + obj.facing) + obj.channel) + "_") + _root[("arr" + obj.facing) + "Soldiers"][obj.channel], soldiernum + (1000 * (1 + obj.channel)));
newsoldier.unittype = obj.unittype;
newsoldier._xscale = obj._xscale;
newsoldier._yscale = obj._yscale;
newsoldier._x = obj._x;
newsoldier._y = obj._y;
newsoldier.facing = obj.facing;
newsoldier.speed = Number(arrSoldierData[1]) + (Math.random() / 2);
newsoldier.channel = obj.channel;
newsoldier.inbattle = true;
newsoldier.setanimationsallowed = true;
newsoldier.health = obj.health;
if (obj.facing == "right") {
newsoldier.player = "left";
} else {
newsoldier.player = "right";
}
newsoldier.range = Number(arrSoldierData[4]);
newsoldier.ranged = arrSoldierData[13];
newsoldier.value = Math.ceil(Number(arrSoldierData[5]) / 50);
if (facing == "left") {
newsoldier.race = obj.race;
} else {
newsoldier.race = obj.race;
}
newsoldier.onEnterFrame = function () {
if (this.dead == true) {
if (this.deadtimer == undefined) {
this.deadtimer = 0;
}
this.deadtimer++;
if (this.deadtimer > 200) {
this._alpha--;
}
if (this._alpha <= 0) {
removeMovieClip(this);
}
}
};
obj.removeMovieClip();
}
function generalanimation(obj, animationmc, thespeed) {
if (obj.setanimationsallowed == true) {
IncrementObjectNum();
animation = game["lane" + obj.channel].attachMovie(animationmc, "genani" + objectnum, objectnum);
animation._xscale = obj._xscale;
animation._yscale = obj._yscale;
animation._x = obj._x;
animation._y = obj._y;
animation.facing = obj.facing;
animation.player = obj.player;
animation.race = obj.race;
animation.channel = obj.channel;
animation.speed = obj.speed;
animation.hasShield = obj.hasShield;
animation.setanimation = true;
if (thespeed == undefined) {
thespeed = 50;
}
animation.fallspeed = thespeed;
animation.health = obj.health;
animation.unittype = obj.unittype;
obj.removeMovieClip();
}
}
function getoffhorse(original) {
IncrementObjectNum();
_root[("arr" + original.facing) + "Soldiers"][channel]++;
soldiernum++;
if (soldiernum >= 300) {
soldiernum = 1;
}
if (original.unittype == 4) {
replaceunit = 0;
} else {
replaceunit = 5;
}
arrSoldierData = arrSoldierStats[replaceunit];
newsoldier = game["lane" + original.channel].attachMovie(arrSoldierData[0], ((("soldier" + original.facing) + original.channel) + "_") + _root[("arr" + original.facing) + "Soldiers"][original.channel], soldiernum + (1000 * (1 + channel)));
newsoldier._x = original._x;
newsoldier._xscale = original._xscale;
newsoldier._yscale = original._yscale;
newsoldier.unittype = replaceunit;
newsoldier.speed = arrSoldierData[1];
newsoldier.channel = original.channel;
newsoldier.inbattle = original.inbattle;
newsoldier.facing = original.facing;
newsoldier.setanimationsallowed = true;
newsoldier.player = original.player;
newsoldier.health = arrSoldierData[2];
newsoldier.range = arrSoldierData[4];
newsoldier.value = original.value;
newsoldier.bonus = original.bonus;
newsoldier.bonusAgainst = original.bonusAgainst;
newsoldier.race = original.race;
newsoldier.onEnterFrame = function () {
if (this.dead == true) {
if (this.deadtimer == undefined) {
this.deadtimer = 0;
}
this.deadtimer++;
if (this.deadtimer > 200) {
this._alpha--;
}
if (this._alpha <= 0) {
removeMovieClip(this);
}
}
};
horserunoff(original);
original.removeMovieClip();
}
function horserunoff(original) {
IncrementObjectNum();
animation = game["lane" + original.channel].attachMovie("Horse", "horse" + objectnum, objectnum);
animation._xscale = original._xscale;
animation._yscale = original._yscale;
animation._x = original._x;
animation._y = original._y;
animation.facing = original.facing;
animation.race = original.race;
animation.channel = original.channel;
animation.speed = 0;
animation.setanimation = true;
}
function decapitate(obj) {
IncrementObjectNum();
game["lane" + obj.channel].attachMovie("Removed Head", "head" + objectnum, objectnum);
game["lane" + obj.channel]["head" + objectnum]._xscale = obj._xscale;
game["lane" + obj.channel]["head" + objectnum]._yscale = obj._yscale;
game["lane" + obj.channel]["head" + objectnum].losthead = true;
game["lane" + obj.channel]["head" + objectnum].race = obj.race;
game["lane" + obj.channel]["head" + objectnum].unittype = obj.unittype;
game["lane" + obj.channel]["head" + objectnum].facing = obj.facing;
game["lane" + obj.channel]["head" + objectnum].player = obj.player;
game["lane" + obj.channel]["head" + objectnum]._x = obj._x;
game["lane" + obj.channel]["head" + objectnum]._y = obj._y - (obj._height - 20);
generalanimation(obj, "Decapitated Body");
}
function reset() {
_root.gameinprogress = false;
_root.winner = "";
arrleftSoldiers = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);
arrrightSoldiers = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);
soldiernum = 0;
objectnum = 0;
rightscore = 0;
leftscore = 0;
rightkills = 0;
leftkills = 0;
}
function IncrementObjectNum() {
objectnum++;
if (objectnum > 1000) {
objectnum = 1;
}
}
function AddSound(strSound, pos) {
if (pos == undefined) {
pos = 3;
}
IncrementObjectNum();
newSoundClip = _root.createEmptyMovieClip((("Sounds_" + strSound) + "_") + pos, objectnum);
newSoundClip.SoundFX = new Sound(newSoundClip);
newSoundClip.SoundFX.attachSound(strSound);
newSoundClip.SoundFX.setPan(-100 + ((pos - 1) * 50));
}
function PlayVoice(strSound) {
if (option_sound == true) {
_root.voiceplayer.gotoAndStop(strSound);
}
}
function PlaySound(strSound, xpos) {
if (option_sound == true) {
if (xpos == undefined) {
posnum = 3;
} else {
posnum = Math.ceil((xpos + 1400) / 580);
if (posnum < 1) {
posnum = 1;
}
if (posnum > 5) {
posnum = 5;
}
}
_root[(("Sounds_" + strSound) + "_") + posnum].SoundFX.stop();
_root[(("Sounds_" + strSound) + "_") + posnum].SoundFX.setVolume(80);
_root[(("Sounds_" + strSound) + "_") + posnum].SoundFX.start(0, 1);
}
}
function StopSound(strSound, xpos) {
if (xpos == undefined) {
posnum = 3;
} else {
posnum = Math.ceil(xpos / 580);
}
_root[(("Sounds_" + strSound) + "_") + posnum].SoundFX.stop();
}
function Tint(obj, r, g, b) {
myColor = new Color(obj);
myColorTransform = new Object();
myColorTransform.ra = r;
myColorTransform.rb = 0;
myColorTransform.ga = g;
myColorTransform.gb = 0;
myColorTransform.ba = b;
myColorTransform.bb = 0;
myColorTransform.aa = 100;
myColorTransform.ab = 0;
myColor.setTransform(myColorTransform);
}
function SetRegionOwner(intRegion, owner) {
if (arrRegionData[intRegion - 1][1] != owner) {
_root.victorytext = (GetRegionData("Name", intRegion) + " is now owned by ") + GetRaceData("Full Name", owner);
arrRegionData[intRegion - 1][1] = owner;
} else {
_root.victorytext = (GetRegionData("Name", intRegion) + " remains in the hands of ") + GetRaceData("Full Name", owner);
}
trace((GetRegionData("Name", intRegion) + " is now owned by ") + GetRaceData("Full Name", owner));
if (gametype == 1) {
blnStillDemons = false;
i = 0;
while (i < arrRegionData.length) {
if (Number(arrRegionData[i][1]) == 8) {
blnStillDemons = true;
}
i++;
}
if (blnStillDemons != true) {
NGMedal("Defeat the Demons");
}
so.data[("level" + intRegion) + "owner"] = owner;
so.flush();
}
}
function GetRegionData(strData, intRegion) {
if (strData == "Name") {
return(arrRegionData[intRegion - 1][0]);
}
if (strData == "Race") {
return(Number(arrRegionData[intRegion - 1][1]));
}
if (strData == "Adjacent") {
return(arrRegionData[intRegion - 1][2]);
}
if (strData == "Difficulty") {
return(arrRegionData[intRegion - 1][3]);
}
if (strData == "Reward") {
return(arrRegionData[intRegion - 1][4]);
}
if (strData == "Starting Units") {
return(arrRegionData[intRegion - 1][5]);
}
if (strData == "Background") {
return(Number(arrRegionData[intRegion - 1][6]));
}
if (strData == "Castle") {
return(arrRegionData[intRegion - 1][7]);
}
}
function GetRaceData(strData, intRace) {
arrRaceData = arrRacesDataArray[Number(intRace)];
if (strData == "Name") {
return(arrRaceData[0]);
}
if (strData == "RGB") {
return(arrRaceData[1]);
}
if (strData == "Full Name") {
return(arrRaceData[2]);
}
}
function AI(obj) {
if (obj.player == "left") {
arr = arrleftSoldierChoices;
} else {
arr = arrrightSoldierChoices;
}
obj.usespecial = false;
if (_root.HasUpgrade(arr[obj.soldierselected], Number(arrSoldierStats[obj.soldierselected][9]), obj._name)) {
if (((obj.AI != true) || (obj.chargecharge > _root.chargekills)) || (Math.random() > 0.5)) {
obj.usespecial = true;
}
}
isReady = ((obj.charged >= obj.rechargetime) && (obj.usespecial == false)) || ((obj.charged >= (obj.rechargetime * 2)) && (obj.usespecial == true));
if ((((obj.AI == true) && (gametype != 4)) && (hasSeenTutorialPage(4) == true)) && (tutorialwindow._visible == false)) {
if (obj.facing == castles) {
SiegeAI(obj);
} else {
NewAI(obj);
}
if ((gametype == 1) && (difficultylevel != "Hardest")) {
if (((_root.leftscore > _root.rightscore) || (levelnum >= 10)) || (castles != "")) {
dosend = (Math.random() * 200) < _root.difficultynum;
} else {
dosend = (Math.random() * (500 - (levelnum * 30))) < _root.difficultynum;
}
} else {
dosend = true;
}
if ((dosend == true) && (isReady == true)) {
obj.usespecial = undefined;
if ((obj.chargecharge > _root.chargekills) && ((Math.random() * 100) < _root.difficultynum)) {
if (obj.facing == "right") {
_root.PlaySound("cheer", -1300);
} else {
_root.PlaySound("cheer", 1300);
}
s = 1;
while (s < 9) {
_root.CreateSoldier(s, obj.facing, arr[obj.soldierselected], Math.floor(obj.charged / obj.rechargetime));
s++;
}
obj.chargecharge = 0;
} else if (!isNaN(obj.rechargetime)) {
_root.CreateSoldier(obj.chan, obj.facing, arr[obj.soldierselected], Math.floor(obj.charged / obj.rechargetime));
if (arr[obj.soldierselected] == 0) {
ShowTutorial(7);
}
if (arr[obj.soldierselected] == 1) {
ShowTutorial(8);
}
if (arr[obj.soldierselected] == 2) {
ShowTutorial(9);
}
if (arr[obj.soldierselected] == 5) {
ShowTutorial(10);
}
}
obj.allowchange = true;
obj.charged = 0;
}
} else if (((((option_autosend == true) && (obj.chargecharge < _root.chargekills)) && (isReady == true)) && (hasSeenTutorialPage(4))) && ((gametype != 4) || (((obj.player == "left") && (MP_Player == 0)) || ((obj.player == "right") && (MP_Player == 1))))) {
if (obj.player == "left") {
arr = arrleftSoldierChoices;
} else {
arr = arrrightSoldierChoices;
}
_root.CreateSoldier(obj.chan, obj.facing, arr[obj.soldierselected], Math.floor(obj.charged / obj.rechargetime));
obj.usespecial = undefined;
obj.charged = 0;
_root.twoplayerinst = true;
_root.gameinprogress = true;
}
}
function enemiesinchannel(obj, channeloverride) {
var _local1;
var _local2;
if (channeloverride != undefined) {
_local1 = channeloverride;
} else {
_local1 = obj.channel;
}
if (obj.facing == "left") {
_local2 = arrrightSoldiers[_local1];
} else {
_local2 = arrleftSoldiers[_local1];
}
return(_local2);
}
function globalX(obj) {
dragSq = new Object();
dragSq.x = obj._x;
dragSq.y = obj._y;
obj._parent.localToGlobal(dragSq);
return(dragSq.x);
}
function moveman(obj, theamount, keymustbedown) {
if ((obj.counted == true) || (obj.target.counted == true)) {
obj.target = undefined;
}
if (obj.dead == true) {
obj.gotoAndPlay("die1");
} else {
obj.moving = true;
amount = UseUpgrade(theamount, obj.player, obj.unittype, "speed");
if (obj.facing == "right") {
if ((((game["lane" + obj.channel]["ladder" + obj.channel]._x != undefined) && (obj.facing == castles)) && (obj._x > 1250)) && (obj.setanimationsallowed == true)) {
climbladder(obj.channel, obj.race, obj.unittype);
obj.removeMovieClip();
} else if (enemyinrange(obj, 50)) {
if (obj.target.castle == true) {
if (obj.speed < 0) {
obj._x = obj._x + amount;
}
if (obj.mounted == true) {
obj.gotoAndPlay("getoff");
}
} else {
obj._x = obj._x + amount;
if ((obj.ranged != true) || (obj.target.ranged != true)) {
if (obj.ranged == true) {
obj.speciallevel = 1;
}
obj.target._x = obj.target._x + amount;
}
if (obj.mounted == true) {
if (obj.speed >= 30) {
obj.speed = 1;
obj.target.health = obj.target.health - random(obj.speed);
PlaySound("ImpactSFX", obj.target._x);
generalanimation(obj.target, "KnockOver");
}
obj.speed = obj.speed / 1.1;
}
}
} else if ((castles == "right") && ((obj._x + amount) > 1400)) {
obj._x = 1399;
if (obj.ranged == true) {
attackerscore = attackerscore + 100;
generalanimation(obj, "Enter Castle");
}
obj.speed = 0;
} else {
obj._x = obj._x + amount;
}
} else if ((((game["lane" + obj.channel]["ladder" + obj.channel]._x != undefined) && (obj.facing == castles)) && (obj._x < -1250)) && (obj.setanimationsallowed == true)) {
climbladder(obj.channel, obj.race, obj.unittype);
obj.removeMovieClip();
} else if (enemyinrange(obj, 50)) {
if (obj.target.castle == true) {
if (obj.speed < 0) {
obj._x = obj._x - amount;
}
if (obj.mounted == true) {
obj.gotoAndPlay("getoff");
}
} else {
obj._x = obj._x - amount;
obj.target._x = obj.target._x - amount;
if (obj.mounted == true) {
if (obj.speed >= 30) {
obj.speed = 1;
obj.target.health = obj.target.health - random(obj.speed);
PlaySound("ImpactSFX", obj.target._x);
generalanimation(obj.target, "KnockOver");
}
obj.speed = obj.speed / 1.1;
}
}
} else if ((castles == "left") && ((obj._x - amount) < -1400)) {
obj._x = -1399;
obj.speed = 0;
if (obj.ranged == true) {
attackerscore = attackerscore + 100;
generalanimation(obj, "Enter Castle");
}
} else {
obj._x = obj._x - amount;
}
if (obj.facing != castles) {
if (obj.facing == "left") {
if (obj._x < -1450) {
if (obj.counted != true) {
if (gametype != 4) {
rightscore++;
} else {
mp_SetScores("right", rightscore + 1);
}
obj.counted = true;
obj.speed = obj.speed * 2;
generalanimation(obj, "Finished");
} else if (globalX(obj) < 0) {
obj.removeMovieClip();
}
}
} else if (obj._x > 1450) {
if (obj.counted != true) {
if (gametype != 4) {
leftscore++;
} else {
mp_SetScores("left", leftscore + 1);
}
obj.counted = true;
obj.speed = obj.speed * 2;
generalanimation(obj, "Finished");
} else if (globalX(obj) > 700) {
obj.removeMovieClip();
}
}
}
if (_root.winner == obj.facing) {
if (obj.setanimationsallowed == true) {
generalanimation(obj, "Retreat");
} else {
if (obj.facing == "left") {
obj.facing = "right";
obj._xscale = Math.abs(obj._xscale);
} else {
obj.facing = "left";
obj._xscale = -Math.abs(obj._xscale);
}
obj.retreating = true;
}
}
}
}
function GetDistance(obj1, obj2) {
return(Math.abs(obj1._x - obj2._x));
}
function enemyinrange(obj, rangeoveride) {
blnReturn = false;
if (rangeoveride != undefined) {
therange = rangeoveride;
} else {
therange = obj.range * 2;
}
if (obj.facing == "left") {
oppo = "right";
} else {
oppo = "left";
}
enemies = enemiesinchannel(obj);
closestdist = 0;
if ((obj.target.dead == true) || (obj.counted == true)) {
obj.target = undefined;
}
if ((((blnReturn == false) && (obj.facing == _root.castles)) && ((obj.ranged != true) || (obj.setanimationsallowed != true))) && ((game["lane" + obj.channel]["ladder" + obj.channel]._x == undefined) || (obj.setanimationsallowed != true))) {
if (((obj.facing == "left") && (obj._x < (-(1400 - therange)))) || ((obj.facing == "right") && (obj._x > (1400 - therange)))) {
obj.target = game["castle" + obj.channel];
blnReturn = true;
}
}
if ((blnReturn == false) || (obj.ranged == true)) {
e = 1;
while ((e <= enemies) && (e <= 1000)) {
totest = game["lane" + obj.channel][((("soldier" + oppo) + obj.channel) + "_") + e];
if (totest != obj) {
dist = GetDistance(obj, totest);
if ((obj.unittype == 2) && (totest.dead != true)) {
if (HasUpgrade(2, 36, obj.player) && (dist < 70)) {
obj.target = totest;
blnReturn = true;
break;
}
}
if ((((dist < therange) && ((obj.ranged != true) || (dist > (therange / 2)))) && (totest.dead != true)) && (totest.counted != true)) {
if ((closestdist == 0) || (dist < closestdist)) {
if (((obj.facing == "right") && (totest._x > obj._x)) || ((obj.facing == "left") && (totest._x < obj._x))) {
closestdist = dist;
obj.target = totest;
}
}
blnReturn = true;
}
}
e++;
}
if (e == 1000) {
message("Problem with enemy range checking");
}
}
return(blnReturn);
}
function getMagicTarget(obj, minrange, maxrange, allChannels) {
var _local7;
var _local8;
var _local4;
var _local9;
var _local3;
var _local5;
var _local6;
var _local1;
var _local10;
if (allChannels == true) {
_local7 = [1, 2, 3, 4, 5, 6, 7, 8];
} else {
_local7 = [obj.channel];
}
_local8 = 0;
while (_local8 < _local7.length) {
_local4 = _local7[random(_local7.length)];
_local9 = enemiesinchannel(obj, _local4);
_local3 = 1;
while ((_local3 <= _local9) && (_local3 < 1000)) {
if (obj.facing == "left") {
oppo = "right";
} else {
oppo = "left";
}
_local1 = game["lane" + _local4][((("soldier" + oppo) + _local4) + "_") + _local3];
if ((_local1 != obj) && (_local1 != undefined)) {
_local5 = GetDistance(obj, _local1);
_local6 = ((obj.facing == "right") && (obj._x < _local1._x)) || ((obj.facing == "left") && (obj._x > _local1._x));
if (((((_local5 > minrange) && (_local5 < maxrange)) && (_local1.dead != true)) && (_local1.counted != true)) && (_local6 == true)) {
_local10 = _local1;
break;
}
}
_local3++;
}
_local8++;
}
return(_local10);
}
function MenuSound(soundname) {
if (option_sound == true) {
if (soundname != undefined) {
sfx.gotoAndStop(soundname);
} else {
sfx.gotoAndStop("menupress1");
}
}
}
function ApplyUpgrade(intUpgradeID, intUnit, side) {
if (_root[("arr" + side) + "AppliedUpgrades"][intUnit] == undefined) {
_root[("arr" + side) + "AppliedUpgrades"][intUnit] = [];
}
_root[("arr" + side) + "AppliedUpgrades"][intUnit].push(intUpgradeID);
trace(((((("Upgrade " + arrUpgradeChoices[intUpgradeID][0]) + " added to ") + arrSoldierStats[intUnit][0]) + " (") + side) + ")");
SaveGame();
}
function gotoSponsor() {
trace("Go to Armor");
getURL ("http://armorgames.com/", "_blank");
}
function HasUpgrade(intUnit, intUpgradeID, side) {
if ((gametype == 1) || (gametype == 3)) {
if (_root[("arr" + side) + "AppliedUpgrades"][intUnit] != undefined) {
for (upgrade in _root[("arr" + side) + "AppliedUpgrades"][intUnit]) {
if (_root[("arr" + side) + "AppliedUpgrades"][intUnit][upgrade] == intUpgradeID) {
return(true);
}
}
}
}
return(false);
}
function soldierdie(target, chop) {
_root[target.facing + "kills"]++;
if ((gametype == 1) && (target.facing == "left")) {
_root.mykills++;
so.data.mykills = _root.mykills;
killreward = killreward + Math.ceil(target.value / 2);
} else if (gametype != 1) {
_root[target.facing + "money"] = _root[target.facing + "money"] + target.value;
}
game[target.facing].chargecharge++;
target.health = -10;
target.dead = true;
if ((chop != undefined) && (target.setanimationsallowed == true)) {
decapitate(target);
} else {
target.gotoAndPlay("die1");
}
}
function hurt(target, amount, chop) {
if (gametype != 4) {
applydamage = true;
} else {
applydamage = ((MP_Player == 0) && (target.player == "right")) || ((MP_Player == 1) && (target.player == "left"));
}
if (applydamage == true) {
if (target.castle == true) {
damagecap = 200;
if (amount > damagecap) {
trace("Amount was 200 capping at 200");
amount = damagecap;
}
attackerscore = attackerscore + amount;
if (prevattackerscore == undefined) {
prevattackerscore = 0;
}
if ((attackerscore - prevattackerscore) > 100) {
prevattackerscore = attackerscore;
mp_SetScores("attacker", attackerscore);
}
} else {
target.health = target.health - amount;
}
if (((target.health <= 0) && (target.dead != true)) && (target.castle != true)) {
soldierdie(target, chop);
if (gametype == 4) {
strDieQueue = strDieQueue + (target.MPRef + ",");
}
}
}
}
function impact(obj, range, power) {
if ((GetDistance(obj, obj.target) <= (range * Math.abs(obj._xscale / 100))) || (obj.target.castle == true)) {
hurt(obj.target, random(power / 2));
if ((arrSoldierStats[obj.unittype][10] == "Siege Unit") && (obj.target.castle == true)) {
if (obj.target.player == "right") {
PlaySound("BigHit", 1300);
} else {
PlaySound("BigHit", -1300);
}
} else if ((Math.random() > 0.7) && (obj.target.castle != true)) {
PlaySound("ImpactSFX", obj.target._x);
} else {
PlaySound("Hit" + (random(6) + 1), target._x);
}
if ((obj.target.castle != true) && (obj.target.dead != true)) {
if (((random(100) > power) || (obj.target.setanimationsallowed != true)) || (HasUpgrade(obj.target.unittype, 40, obj.target.player))) {
if (obj.facing == "right") {
obj.target._x = obj.target._x + power;
} else {
obj.target._x = obj.target._x - power;
}
} else {
generalanimation(obj.target, "KnockOver");
}
}
}
}
function UseUpgrade(power, player, unit, type) {
intReturn = power;
if (_root[("arr" + player) + "AppliedUpgrades"][unit] != undefined) {
for (u in _root[("arr" + player) + "AppliedUpgrades"][unit]) {
if (arrUpgradeChoices[_root[("arr" + player) + "AppliedUpgrades"][unit][u]][5] == type) {
intReturn = intReturn + (power * (arrUpgradeChoices[_root[("arr" + player) + "AppliedUpgrades"][unit][u]][6] / 100));
}
}
}
return(intReturn);
}
function attack(obj, pos, range, power, chop) {
if ((GetDistance(obj, obj.target) <= (range * Math.abs(obj._xscale / 100))) || (obj.target.castle == true)) {
if (isNaN(power)) {
trace("NaN Power! Check Unit: " + obj.unittype);
}
thepower = power;
if (obj.bonusAgainst.indexOf(obj.target.unittype) > -1) {
power = power + (power * (obj.bonus / 100));
}
if (obj.race == 8) {
power = power + (power / 10);
}
if (obj.weak == true) {
power = power / 3;
}
power = UseUpgrade(power, obj.player, obj.unittype, "attack");
if (HasUpgrade(obj.unittype, 35, obj.player) && (Math.random() < 0.05)) {
obj.target.weak = true;
obj.target.speed = 2;
}
PlaySound("Hit" + (random(6) + 1), target._x);
if (obj.target.castle != true) {
if (obj.target.shielded != true) {
hurt(obj.target, random(power), chop);
}
if (power > 50) {
power = 50;
}
if (obj.facing == "right") {
obj.target._x = obj.target._x + power;
} else {
obj.target._x = obj.target._x - power;
}
} else {
if (obj.big == true) {
hurt(obj.target, random(power), chop);
if (obj.power > 50) {
power = 50;
}
} else if (obj.hitcastle == undefined) {
hurt(obj.target, 0);
obj.hitcastle = 1;
} else {
if (obj.terminator == true) {
hurt(obj.target, 0);
} else {
obj.hitcastle++;
hurt(obj.target, Math.ceil(random(power / 50)));
}
if (((obj.big != true) && (obj.hitcastle > 10)) && (obj.terminator != true)) {
attackerscore = attackerscore + 150;
if (obj.facing == "right") {
obj._x = 1400;
} else {
obj._x = -1400;
}
generalanimation(obj, "Enter Castle");
}
}
if (obj.terminator != true) {
if (obj.facing == "right") {
obj._x = obj._x - power;
} else {
obj._x = obj._x + power;
}
}
}
}
}
function combatsound(playsound) {
if (option_sound != false) {
}
}
function ready(obj) {
if (_root.gamepaused == true) {
obj.stop();
} else {
obj.moving = false;
if ((_root.gameinprogress == true) && (obj.inbattle == true)) {
if (obj.dead == true) {
obj.gotoAndPlay("die1");
} else {
if (obj.facing == "left") {
obj._xscale = -Math.abs(obj._xscale);
}
toCast = "";
arrCastOptions = [];
arrCastTargets = [];
if (obj.cast == undefined) {
obj.cast = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
}
if (((arrSoldierStats[obj.unittype][10] == "Magic Caster") && (obj.counted != true)) && (Math.random() > 0.8)) {
if (HasUpgrade(obj.unittype, 14, obj.player) && (obj.cast[0] < 2)) {
temptarget = getMagicTarget(obj, 300, 3000, true);
if (temptarget != undefined) {
toCast = "spell1";
arrCastOptions.push(0);
arrCastTargets.push(temptarget);
}
}
if (HasUpgrade(obj.unittype, 15, obj.player) && (obj.cast[1] < 3)) {
temptarget = getMagicTarget(obj, 10, 1500, false);
if (temptarget != undefined) {
toCast = "spell2";
arrCastOptions.push(1);
arrCastTargets.push(temptarget);
}
}
if (HasUpgrade(obj.unittype, 16, obj.player) && (obj.cast[2] < 1)) {
toCast = "spell3";
arrCastOptions.push(2);
arrCastTargets.push(temptarget);
}
if (HasUpgrade(obj.unittype, 17, obj.player) && (obj.cast[3] < 10)) {
temptarget = getMagicTarget(obj, 300, 5000, false);
if (temptarget != undefined) {
toCast = "spell4";
arrCastOptions.push(3);
arrCastTargets.push(temptarget);
}
}
if (HasUpgrade(obj.unittype, 18, obj.player) && (obj.cast[4] < 3)) {
temptarget = getMagicTarget(obj, 300, 4000, true);
if (temptarget != undefined) {
toCast = "spell5";
arrCastOptions.push(4);
arrCastTargets.push(temptarget);
}
}
if (HasUpgrade(obj.unittype, 19, obj.player) && (obj.cast[5] < 5)) {
temptarget = getMagicTarget(obj, 200, 1000, false);
if (temptarget != undefined) {
toCast = "spell6";
arrCastOptions.push(5);
arrCastTargets.push(temptarget);
}
}
if (HasUpgrade(obj.unittype, 20, obj.player) && (obj.cast[6] < 2)) {
temptarget = getMagicTarget(obj, 1000, 5000, true);
if (temptarget != undefined) {
toCast = "spell7";
arrCastOptions.push(6);
arrCastTargets.push(temptarget);
}
}
if (HasUpgrade(obj.unittype, 21, obj.player) && (obj.cast[7] < 3)) {
temptarget = getMagicTarget(obj, 500, 3000, true);
if (temptarget != undefined) {
toCast = "spell8";
arrCastOptions.push(7);
arrCastTargets.push(temptarget);
}
}
if (HasUpgrade(obj.unittype, 22, obj.player) && (obj.cast[8] < 5)) {
temptarget = getMagicTarget(obj, 10, 1000, false);
if (temptarget != undefined) {
toCast = "spell9";
arrCastOptions.push(8);
arrCastTargets.push(temptarget);
}
}
if (HasUpgrade(obj.unittype, 23, obj.player) && (obj.cast[9] < 2)) {
temptarget = getMagicTarget(obj, 0, 3000, false);
if (temptarget != undefined) {
toCast = "spell10";
arrCastOptions.push(9);
arrCastTargets.push(temptarget);
}
}
if (HasUpgrade(obj.unittype, 24, obj.player) && (obj.cast[10] < 1)) {
temptarget = getMagicTarget(obj, 0, 1000, false);
if (temptarget != undefined) {
toCast = "spell11";
arrCastOptions.push(10);
arrCastTargets.push(temptarget);
}
}
if (HasUpgrade(obj.unittype, 25, obj.player) && (obj.cast[11] < 3)) {
temptarget = getMagicTarget(obj, 300, 5000, false);
if (temptarget != undefined) {
toCast = "spell12";
arrCastOptions.push(11);
arrCastTargets.push(temptarget);
}
}
if (HasUpgrade(obj.unittype, 26, obj.player) && (obj.cast[12] < 3)) {
temptarget = getMagicTarget(obj, 50, 2000, false);
if (temptarget != undefined) {
toCast = "spell13";
arrCastOptions.push(12);
arrCastTargets.push(temptarget);
}
}
if (HasUpgrade(obj.unittype, 27, obj.player) && (obj.cast[13] < 1)) {
temptarget = getMagicTarget(obj, 50, 2000, false);
if (temptarget != undefined) {
toCast = "spell14";
arrCastOptions.push(13);
arrCastTargets.push(temptarget);
}
}
if (HasUpgrade(obj.unittype, 28, obj.player) && (obj.cast[14] < 5)) {
temptarget = getMagicTarget(obj, 50, 2000, false);
if (temptarget != undefined) {
toCast = "spell15";
arrCastOptions.push(14);
arrCastTargets.push(temptarget);
}
}
if (HasUpgrade(obj.unittype, 29, obj.player) && (obj.cast[15] < 3)) {
toCast = "spell16";
arrCastOptions.push(15);
arrCastTargets.push(temptarget);
}
if (HasUpgrade(obj.unittype, 30, obj.player) && (obj.cast[16] < 3)) {
temptarget = getMagicTarget(obj, 50, 3000, false);
if (temptarget != undefined) {
toCast = "spell17";
arrCastOptions.push(16);
arrCastTargets.push(temptarget);
}
}
if (HasUpgrade(obj.unittype, 31, obj.player) && (obj.cast[17] < 5)) {
temptarget = getMagicTarget(obj, 50, 3000, false);
if (temptarget != undefined) {
toCast = "spell18";
arrCastOptions.push(17);
arrCastTargets.push(temptarget);
}
}
}
if (arrCastOptions.length <= 0) {
toCast = "";
} else {
castnum = random(arrCastOptions.length);
toCast = "spell" + (arrCastOptions[castnum] + 1);
obj.target = arrCastTargets[castnum];
obj.cast[arrCastOptions[castnum]]++;
}
if (toCast != "") {
obj.gotoAndPlay(toCast);
} else if ((obj.ladderman == true) && (obj.target.castle == true)) {
obj.gotoAndPlay("placeladder");
} else if (((enemyinrange(obj) && (Math.random() > 0.2)) && (obj.retreating != true)) && (obj.counted != true)) {
if ((obj.ranged == true) && (GetDistance(obj, obj.target) < 70)) {
obj.gotoAndPlay("kick");
} else if (obj.speciallevel > 1) {
obj.gotoAndPlay("specialattack");
} else {
obj.gotoAndPlay("swipe" + (random(obj.swipes) + 1));
}
} else {
if (obj.retreating == true) {
obj.speed = 6;
}
if (obj.speciallevel > 1) {
obj.gotoAndPlay("special");
} else {
obj.gotoAndPlay("walk");
}
}
}
} else {
obj.stop();
}
}
}
function TeleportSoldier(original) {
channel = (original.channel + random(7)) + 2;
if (channel > 8) {
channel = channel - 8;
}
trace("Teleport to: " + channel);
soldiernum++;
if (soldiernum >= 300) {
soldiernum = 1;
}
_root[("arr" + original.facing) + "Soldiers"][channel]++;
arrSoldierData = arrSoldierStats[original.unittype];
newsoldier = game["lane" + channel].attachMovie(UnitID(arrSoldierData[0]), ((("soldier" + original.facing) + channel) + "_") + _root[("arr" + original.facing) + "Soldiers"][channel], soldiernum + (1000 * (1 + channel)));
newsoldier._x = original._x;
newsoldier._xscale = original._xscale;
newsoldier._yscale = original._yscale;
newsoldier.unittype = original.unittype;
newsoldier.speed = original.speed;
newsoldier.channel = channel;
newsoldier.inbattle = original.inbattle;
newsoldier.facing = original.facing;
newsoldier.setanimationsallowed = original.setanimationsallowed;
newsoldier.player = original.player;
newsoldier.health = original.health;
newsoldier.range = original.range;
newsoldier.value = original.value;
newsoldier.bonus = original.bonus;
newsoldier.bonusAgainst = original.bonusAgainst;
newsoldier.race = original.race;
newsoldier.onEnterFrame = function () {
if (this.dead == true) {
if (this.deadtimer == undefined) {
this.deadtimer = 0;
}
this.deadtimer++;
if (this.deadtimer > 200) {
this._alpha--;
}
if (this._alpha <= 0) {
removeMovieClip(this);
}
}
};
original.removeMovieClip();
}
function CreateSoldier(channel, facing, type, speciallevel, MPRef) {
if (_root.winner == "") {
soldiernum++;
if (soldiernum >= 300) {
soldiernum = 1;
}
arrSoldierData = arrSoldierStats[type];
_root[("arr" + facing) + "Soldiers"][channel]++;
newsoldier = game["lane" + channel].attachMovie(UnitID(arrSoldierData[0]), ((("soldier" + facing) + channel) + "_") + _root[("arr" + facing) + "Soldiers"][channel], soldiernum + (1000 * (1 + channel)));
if (facing == "left") {
newsoldier._x = 1400;
newsoldier._xscale = -200;
} else {
newsoldier._x = -1400;
newsoldier._xscale = 200;
}
newsoldier.unittype = type;
newsoldier._yscale = 200;
newsoldier.facing = facing;
if (gametype != 4) {
newsoldier.speed = Number(arrSoldierData[1]) + (Math.random() / 2);
} else {
newsoldier.speed = Number(arrSoldierData[1]);
}
newsoldier.channel = channel;
newsoldier.inbattle = true;
newsoldier.setanimationsallowed = arrSoldierData[14];
if (facing == "right") {
newsoldier.player = "left";
newsoldier.health = UseUpgrade(Number(arrSoldierData[2]), newsoldier.player, newsoldier.unittype, "armour");
} else {
newsoldier.player = "right";
newsoldier.health = UseUpgrade(Number(arrSoldierData[2]), newsoldier.player, newsoldier.unittype, "armour");
}
if ((speciallevel > 1) && (HasUpgrade(type, Number(0 + arrSoldierData[9]), newsoldier.player))) {
newsoldier.speciallevel = 2;
} else {
newsoldier.speciallevel = 1;
}
if ((((MP_Player == 0) && (facing == "right")) || ((MP_Player == 1) && (facing == "left"))) && (gametype == 4)) {
AddToMPSoldierQueue(channel, type, newsoldier.speciallevel, newsoldier);
}
if ((gametype == 4) && (MPRef != undefined)) {
newsoldier.MPRef = MPRef;
}
newsoldier.range = Number(arrSoldierData[4]);
newsoldier.ranged = arrSoldierData[13];
newsoldier.value = Math.ceil(Number(arrSoldierData[5]) / 50);
newsoldier.bonus = Number(arrSoldierData[11]);
newsoldier.bonusAgainst = arrSoldierData[12];
if (facing == "left") {
newsoldier.race = game.right.race;
} else {
newsoldier.race = game.left.race;
}
newsoldier.onEnterFrame = function () {
if (this.dead == true) {
if (this.deadtimer == undefined) {
this.deadtimer = 0;
}
this.deadtimer++;
if (this.deadtimer > 200) {
this._alpha--;
}
if (this._alpha <= 0) {
removeMovieClip(this);
}
}
};
}
}
function hasboughtspecial() {
var _local1;
var _local2 = false;
_local1 = 0;
while (_local1 < arrUpgradeChoices.length) {
if (arrUpgradeChoices[_local1][5] == "special") {
j = 0;
while (j < arrUpgradeChoices[_local1][7].length) {
if (HasUpgrade(arrUpgradeChoices[_local1][7][j], _local1, "left")) {
_local2 = true;
break;
}
j++;
}
}
_local1++;
}
return(_local2);
}
function firearrow(obj, type) {
combatsound("bowfire");
IncrementObjectNum();
if (type == undefined) {
type = "Arrow Fired";
}
game["lane" + obj.channel].attachMovie(type, "arrow" + objectnum, objectnum + 10000);
game["lane" + obj.channel]["arrow" + objectnum].Firer = obj;
game["lane" + obj.channel]["arrow" + objectnum].race = obj.race;
game["lane" + obj.channel]["arrow" + objectnum].target = obj.target;
game["lane" + obj.channel]["arrow" + objectnum]._x = obj._x;
game["lane" + obj.channel]["arrow" + objectnum]._y = obj._y - 66;
game["lane" + obj.channel]["arrow" + objectnum]._xscale = 200;
game["lane" + obj.channel]["arrow" + objectnum]._yscale = 200;
game["lane" + obj.channel]["arrow" + objectnum].type = type;
if (obj.facing == "left") {
game["lane" + obj.channel]["arrow" + objectnum]._xscale = -200;
}
}
function ProjectileSetup(obj, velocity, damage) {
obj.damage = damage;
if (obj.Firer.facing == "left") {
obj.player = "right";
} else {
obj.player = "left";
}
obj.ground = obj._y + 66;
if (obj.target.moving == true) {
targetspeed = UseUpgrade(obj.target.speed, obj.target.player, obj.target.unittype, "speed");
if (obj.target.facing == "left") {
range = (obj.target._x + (96 * (-targetspeed))) - obj.Firer._x;
if (range < 200) {
range = 200;
}
} else {
range = (obj.target._x - (96 * (-targetspeed))) - obj.Firer._x;
if (range > -200) {
range = -200;
}
}
} else if (obj.target.castle == true) {
if (obj.Firer.facing == "right") {
range = 2800 - (obj.Firer._x + 1400);
} else {
range = -(obj.Firer._x + 1400);
}
} else {
range = obj.target._x - obj.Firer._x;
}
angle = (Math.asin((1 * range) / (velocity * velocity)) / 2) * 57.2957795130823;
if (isNaN(angle)) {
if (obj.Firer.facing == "left") {
angle = -45;
} else {
angle = 45;
}
}
anglerads = angle * (Math.PI/180);
obj.xspeed = velocity * Math.sin(anglerads);
obj.yspeed = -(velocity * Math.cos(anglerads));
obj.actualdist = 0;
}
function ProjectileMovement(obj, spin) {
if (_root.gamepaused != true) {
if (obj._y > (obj.ground - 35)) {
if (obj.big == true) {
obj._x = obj._x + obj.xspeed;
obj.xspeed = obj.xspeed / 1.1;
obj._rotation = obj._rotation + obj.xspeed;
}
obj._alpha--;
if (obj._alpha <= 0) {
obj.removeMovieClip();
}
} else {
obj._x = obj._x + obj.xspeed;
obj.actualdist = obj.actualdist + obj.xspeed;
obj._y = obj._y + obj.yspeed;
if (obj.bouncing == true) {
obj._rotation = obj._rotation + obj.spin;
} else if (spin == true) {
obj.inner._rotation = obj.inner._rotation + 20;
} else {
obj._rotation = (Math.atan2(obj.yspeed, obj.xspeed) * 57.2957795130823) + 90;
}
obj.yspeed++;
if ((obj.hit != true) && (obj.target.dead != true)) {
if ((obj._y > (obj.ground - 200)) && (obj.bouncing != true)) {
if (obj.hitTest(obj.target) || ((obj.target.castle == true) && (obj.yspeed > 0))) {
obj.hit = true;
if (((((obj.target.shielded == true) && (obj.big != true)) || ((obj.target.castle == true) && (obj.big != true))) || ((HasUpgrade(obj.unittype, 8, obj.player) && (Math.random() > 0.5)) && (obj.big != true))) || ((obj.target.beast == true) && (Math.random() > 0.3))) {
obj.bouncing = true;
obj.yspeed = (-obj.yspeed) / 5;
if (obj.target.castle == true) {
if (obj.xspeed > 0) {
obj.xspeed = -2 - random(10);
} else {
obj.xspeed = 2 + random(10);
}
}
obj.xspeed = random(20) - random(20);
obj.spin = random(30) - random(30);
} else {
if ((((obj.type == "Throwing Rock") && (random(5) < 1)) || ((Math.random() < 0.1) && (HasUpgrade(obj.Firer.unittype, 34, obj.Firer.player)))) && ((obj.target.castle != true) && (obj.target.setanimationsallowed == true))) {
PlaySound("ImpactSFX", obj.target._x);
generalanimation(obj.target, "KnockOver", obj.xspeed);
} else {
dmg = random(obj.damage);
if (obj.target.castle == true) {
dmg = dmg * 4;
}
PlaySound("Hit" + (random(6) + 1), target._x);
}
if (obj.Firer.bonusAgainst.indexOf(obj.target.unittype) > -1) {
trace("Archer Bonus against: " + obj.target.unittype);
dmg = dmg + (dmg * (obj.Firer.bonus / 100));
}
_root.hurt(obj.target, dmg);
if ((obj.big != true) || (obj.target.castle == true)) {
removeMovieClip(obj);
}
}
}
}
}
}
}
}
function SetRace(side, race) {
arrRaceInfo = arrRacesDataArray[race];
_root[side + "PlayerRaceNum"] = race;
_root[side + "PlayerRace"] = arrRaceInfo[0];
_root[side + "PlayerRaceFullName"] = arrRaceInfo[2];
u = 0;
while (u < (arrUpgradeOptions.length - 1)) {
_root[(side + "_Upgrade_") + arrUpgradeOptions[u].substr(0, arrUpgradeOptions[u].indexOf("|"))] = 0;
u++;
}
racedescription = arrRaceInfo[3];
_root[("arr" + side) + "colours"] = arrRaceInfo[1].slice();
}
function AddUnitType(side, unitnum) {
if (side == "left") {
arrleftSoldierChoices[arrleftSoldierChoices.length] = unitnum;
} else {
arrrightSoldierChoices[arrrightSoldierChoices.length] = unitnum;
}
SaveGame();
}
function RemoveUnitType(side, unitnum) {
if (side == "left") {
trace(arrleftSoldierChoices.indexOf(unitnum));
arrleftSoldierChoices.splice(arrleftSoldierChoices.indexOf(unitnum), 1);
} else {
arrrightSoldierChoices.splice(arrrightSoldierChoices.indexOf(unitnum), 1);
}
}
function RandomRightUpgrade(amount) {
rnd = random(arrUpgradeOptions.length - 1);
strTheUpgrade = arrUpgradeOptions[rnd].substr(0, arrUpgradeOptions[rnd].indexOf("|"));
_root["right_Upgrade_" + strTheUpgrade] = _root["right_Upgrade_" + strTheUpgrade] + amount;
}
menuTootipClear();
Array.prototype.indexOf = function (value) {
var _local2 = 0;
var _local4 = this.length;
var _local3 = -1;
while (_local2 < _local4) {
if (this[_local2] == value) {
_local3 = _local2;
break;
}
_local2++;
}
return(_local3);
};
i = 0;
while (i < arrSoldierStats.length) {
if (arrSoldierStats[i][10] != "Siege Unit") {
blnUsed = false;
r = 0;
while (r < arrRegionData.length) {
arrunit = arrRegionData[r][5].split(",");
if (arrunit.indexOf(String(i)) > -1) {
blnUsed = true;
break;
}
r++;
}
if (blnUsed != true) {
}
}
i++;
}
PlayMusic("MenuMusic");
function StandardAI(obj) {
obj.arrEnemies = new Array(8);
i = 1;
while (i <= 8) {
obj.arrEnemies[i - 1] = UnitOfTypeInLane(-1, obj.player, i);
i++;
}
i = 1;
while (i <= 8) {
obj.arrEnemies[i - 1] = obj.arrEnemies[i - 1] - UnitOfTypeInLane(-1, obj.facing, i);
i++;
}
i = 1;
while (i <= 8) {
if (obj.arrEnemies[i - 1] > AIAllowUnits) {
obj.chan = i;
if (Math.random() > 0.6) {
break;
}
}
i++;
}
if (Math.random() > 0.98) {
if (Math.random() >= 0.5) {
if (obj.chan > 1) {
obj.chan--;
}
} else if (obj.chan < 8) {
obj.chan++;
}
obj.channely = _root.top + (150 * obj.chan);
obj._y = obj.channely;
}
if (random(obj.rechargetime * 2) < 1) {
if (Math.random() >= 0.5) {
if (obj.soldierselected > 0) {
obj.soldierselected--;
} else {
obj.soldierselected = _root[("arr" + obj.player) + "SoldierChoices"].length - 1;
}
} else if (obj.soldierselected < (_root[("arr" + obj.player) + "SoldierChoices"].length - 1)) {
obj.soldierselected++;
} else {
obj.soldierselected = 0;
}
if (obj.player == "left") {
arrSoldierData = _root.arrSoldierStats[arrleftSoldierChoices[obj.soldierselected]];
} else {
arrSoldierData = _root.arrSoldierStats[arrrightSoldierChoices[obj.soldierselected]];
rightsoldier = arrSoldierData[0];
}
obj.rechargetime = Number(arrSoldierData[3]);
}
}
function SiegeAI(obj) {
if (Math.random() > 0.98) {
obj.chan = random(8) + 1;
}
if ((Math.random() > 0.98) && (obj.allowchange == true)) {
obj.allowchange = false;
obj.soldierselected = random(_root[("arr" + obj._name) + "SoldierChoices"].length);
if (obj.player == "left") {
arrSoldierData = _root.arrSoldierStats[arrleftSoldierChoices[obj.soldierselected]];
} else {
arrSoldierData = _root.arrSoldierStats[arrrightSoldierChoices[obj.soldierselected]];
rightsoldier = arrSoldierData[0];
}
obj.rechargetime = Number(arrSoldierData[3]);
_root[obj._name + "soldier"] = UnitName(arrSoldierStats[_root[("arr" + obj._name) + "SoldierChoices"][obj.soldierselected]][0]);
_root[obj._name + "bonus"] = BonusText(_root[("arr" + obj._name) + "SoldierChoices"][obj.soldierselected]);
}
}
function NewAI(obj) {
var _local4 = false;
var _local2;
if ((castles == obj._name) && ((Math.random() * 100) > (_root.difficultynum * 2))) {
obj.chan = random(8) + 1;
} else {
obj.arrEnemies = new Array(8);
_local2 = 1;
while (_local2 <= 8) {
obj.arrEnemies[_local2 - 1] = UnitOfTypeInLane(-1, obj.player, _local2);
_local2++;
}
_local2 = 1;
while (_local2 <= 8) {
obj.arrEnemies[_local2 - 1] = obj.arrEnemies[_local2 - 1] - UnitOfTypeInLane(-1, obj.facing, _local2);
_local2++;
}
foundchange = false;
_local2 = 1;
while (_local2 <= 8) {
if (obj.arrEnemies[_local2 - 1] > AIAllowUnits) {
if (_local2 != obj.chan) {
_local4 = true;
obj.chan = _local2;
}
foundchange = true;
if (Math.random() > 0.6) {
break;
}
}
_local2++;
}
}
obj.channely = _root.top + (150 * obj.chan);
obj._y = obj.channely;
if (Math.random() > 0.97) {
if (foundchange == false) {
obj.chan = random(8) + 1;
obj.soldierselected = random(3);
_root[obj._name + "soldier"] = UnitName(arrSoldierStats[_root[("arr" + obj._name) + "SoldierChoices"][obj.soldierselected]][0]);
_root[obj._name + "bonus"] = BonusText(_root[("arr" + obj._name) + "SoldierChoices"][obj.soldierselected]);
obj.rechargetime = Number(arrSoldierData[3]);
}
_local4 = true;
}
if ((_local4 == true) && (obj.allowchange == true)) {
obj.allowchange = false;
frontunit = FrontUnit(obj.player, obj.chan);
if (Math.random() > 0.7) {
mostcommon = MostCommonUnitInLane(obj.player, obj.chan);
} else {
mostcommon = frontunit.unittype;
}
if (obj.player == "right") {
rangetofirst = 1400 - frontunit._x;
} else {
rangetofirst = Math.abs(-1400 - frontunit._x);
}
if ((Math.random() * 100) < _root.difficultynum) {
obj.soldierselected = switchtoOneOf(obj, arrSoldierStats[mostcommon][15], rangetofirst);
} else {
arrToSwitchOptions = [];
_local2 = 0;
while (_local2 < arrSoldierStats.length) {
if (arrSoldierStats[_local2][15].indexOf(mostcommon) > -1) {
arrToSwitchOptions.push(_local2);
}
_local2++;
}
obj.soldierselected = switchtoOneOf(obj, arrToSwitchOptions, 3000);
}
if (obj.soldierselected == -1) {
if (obj.player == "left") {
obj.soldierselected = random(arrleftSoldierChoices.length);
} else {
obj.soldierselected = random(arrrightSoldierChoices.length);
}
}
if (obj.player == "left") {
arrSoldierData = _root.arrSoldierStats[arrleftSoldierChoices[obj.soldierselected]];
} else {
arrSoldierData = _root.arrSoldierStats[arrrightSoldierChoices[obj.soldierselected]];
rightsoldier = arrSoldierData[0];
}
obj.rechargetime = Number(arrSoldierData[3]);
_root[obj._name + "soldier"] = UnitName(arrSoldierStats[_root[("arr" + obj._name) + "SoldierChoices"][obj.soldierselected]][0]);
_root[obj._name + "bonus"] = BonusText(_root[("arr" + obj._name) + "SoldierChoices"][obj.soldierselected]);
}
}
function switchtoOneOf(obj, options, rangetofirst) {
var _local5 = -1;
var _local2;
_local2 = 0;
while (_local2 < options.length) {
if (_root[("arr" + obj.player) + "SoldierChoices"].indexOf(options[_local2]) > -1) {
if ((arrSoldierStats[options[_local2]][13] == false) || (rangetofirst > (arrSoldierStats[options[_local2]][4] / 2))) {
_local5 = _root[("arr" + obj.player) + "SoldierChoices"].indexOf(options[_local2]);
if (Math.random() > 0.7) {
break;
}
}
}
_local2++;
}
return(_local5);
}
function FrontUnit(side, lane) {
units = _root[("arr" + side) + "Soldiers"][lane];
var _local2;
xpos = undefined;
rUnit = undefined;
_local2 = 0;
while (_local2 <= units) {
totest = game["lane" + lane][((("soldier" + side) + lane) + "_") + _local2];
if (totest.unittype != undefined) {
if (side == "right") {
if ((totest._x > xpos) || (xpos == undefined)) {
xpos = totest._x;
rUnit = totest;
}
}
}
_local2++;
}
return(rUnit);
}
function MostCommonUnitInLane(side, lane) {
var _local3 = [];
units = _root[("arr" + side) + "Soldiers"][lane];
var _local2;
_local2 = 0;
while (_local2 <= units) {
totest = game["lane" + lane][((("soldier" + side) + lane) + "_") + _local2];
if ((totest != undefined) && (totest.dead != true)) {
if (_local3[totest.unittype] == undefined) {
_local3[totest.unittype] = 1;
} else {
_local3[totest.unittype]++;
}
}
_local2++;
}
curmax = -1;
curvalue = -1;
_local2 = 0;
while (_local2 < _local3.length) {
if (_local3[_local2] != undefined) {
if (_local3[_local2] >= curvalue) {
curmax = _local2;
curvalue = _local3[_local2];
}
}
_local2++;
}
return(curmax);
}
function UnitOfTypeInLane(intType, side, lane) {
intcount = 0;
units = _root[("arr" + side) + "Soldiers"][lane];
var _local2;
_local2 = 0;
while (_local2 <= units) {
totest = game["lane" + lane][((("soldier" + side) + lane) + "_") + _local2];
if ((totest != undefined) && (totest.dead != true)) {
if (intType == -1) {
if (totest.unittype != undefined) {
intcount++;
}
} else if (totest.unittype == intType) {
intcount++;
}
}
_local2++;
}
return(intcount);
}
Instance of Symbol 1154 MovieClip [Swordsman] "man1" in Frame 3
onClipEvent (load) {
player = "left";
unittype = 1;
race = _root.GetRaceData("Name", _root.MyRace);
}
Instance of Symbol 1150 MovieClip [Archer] "man2" in Frame 3
onClipEvent (load) {
player = "left";
unittype = 2;
race = _root.GetRaceData("Name", _root.MyRace);
}
Instance of Symbol 1588 MovieClip "menu" in Frame 3
onClipEvent (enterFrame) {
if (_alpha < 100) {
_alpha = (_alpha + 5);
}
}
Frame 4
_root.kongregateStats.submit("Level Reached", levelnum);
_root.kongregateStats.submit("Kills", _root.mykills);
_root.PlayMusic("Map_Music");
if (gametype == 1) {
so.data.level = levelnum;
so.flush();
}
reset();
areyousure._visible = false;
_root.MenuSound();
Instance of Symbol 1656 MovieClip in Frame 4
onClipEvent (enterFrame) {
if (_root.turnrace == -1) {
gotoAndStop (2);
} else if (_root.gametype != 1) {
gotoAndStop (3);
} else {
gotoAndStop (1);
}
}
Instance of Symbol 1667 MovieClip "mapinfo" in Frame 4
onClipEvent (load) {
name = "";
}
onClipEvent (enterFrame) {
if (_root._xmouse < 350) {
_x = ((_root._xmouse + (_width / 2)) + 20);
} else {
_x = ((_root._xmouse - (_width / 2)) - 20);
}
if (_root._ymouse < 420) {
_y = _root._ymouse;
} else {
_y = 420;
}
_visible = (name != "");
}
Frame 5
_root.MenuSound();
towinsiege = 7500;
attackerscore = 0;
winner = "";
rightscore = 0;
leftscore = 0;
killreward = 0;
soldiernum = 1;
objectnum = 1;
_quality = quality;
trace("Game Type: " + _root.gametype);
if (gametype == 1) {
if ((arrTutorialsShown[1] != true) && (_root.levelnum <= 1)) {
ShowTutorial(1);
} else if ((arrTutorialsShown[5] != true) && (_root.castles == "right")) {
ShowTutorial(5);
} else if ((arrTutorialsShown[11] != true) && (hasboughtspecial())) {
trace("Has bought a special show tutorial");
ShowTutorial(11);
} else {
tutorialwindow._visible = false;
}
} else {
tutorialwindow._visible = false;
}
if (_root.gametype == 3) {
if (_root.turnrace != _root.leftrace) {
_root.turnrace = _root.leftrace;
} else {
_root.turnrace = _root.rightrace;
}
}
AIAllowUnits = random(4) - 1;
if (_root.castles == "left") {
AIAllowUnits = 0;
}
if (_root.castles == "right") {
AIAllowUnits = 0;
}
if (lastmusic == undefined) {
lastmusic = random(3) + 1;
}
lastmusic++;
if (lastmusic > 3) {
lastmusic = 1;
}
PlayMusic(("Battle" + lastmusic) + "_Music");
trace("Before Block: " + AIAllowUnits);
i = 1;
while (i <= 5) {
AddSound("BowFire", i);
AddSound("CatapultFire", i);
AddSound("Hit1", i);
AddSound("Hit2", i);
AddSound("Hit3", i);
AddSound("Hit4", i);
AddSound("Hit5", i);
AddSound("Hit6", i);
AddSound("Troll_Hit", i);
AddSound("Troll1", i);
AddSound("Troll2", i);
AddSound("Troll3", i);
AddSound("Troll4", i);
AddSound("Troll5", i);
AddSound("BigHit", i);
AddSound("Thunder", i);
AddSound("HandgunSFX", i);
AddSound("ShotgunSFX", i);
AddSound("MinigunSFX", i);
AddSound("uziSFX", i);
AddSound("ImpactSFX", i);
AddSound("Death", i);
AddSound("FireHit", i);
AddSound("LightHit", i);
AddSound("Light", i);
AddSound("MindControl", i);
AddSound("RaiseDead", i);
AddSound("Rally", i);
AddSound("SicknessSFX", i);
AddSound("TeleportSFX", i);
AddSound("Terror", i);
AddSound("TornadoSFX", i);
AddSound("WeaknessSFX", i);
AddSound("FireSFX", i);
i++;
}
AddSound("Equip_Halberd", 1);
AddSound("Equip_Spear", 1);
AddSound("Equip_Sword", 1);
AddSound("Equip_Big", 1);
AddSound("Equip_Other", 1);
AddSound("cheer", 1);
AddSound("Horse1", 1);
AddSound("Horse2", 1);
AddSound("BigHit", 1);
AddSound("Equip_Halberd", 5);
AddSound("Equip_Spear", 5);
AddSound("Equip_Sword", 5);
AddSound("Equip_Big", 5);
AddSound("Equip_Other", 5);
AddSound("cheer", 5);
AddSound("Horse1", 5);
AddSound("Horse2", 5);
AddSound("BigHit", 5);
_root.gameinprogress = true;
_root.gamepaused = false;
Instance of Symbol 1695 MovieClip in Frame 5
onClipEvent (load) {
trace("Region: " + _root.attackingregion);
gotoAndStop(Number(_root.attackingregion));
}
Instance of Symbol 1697 MovieClip in Frame 5
onClipEvent (load) {
if (((((_root.arrleftcolours[0] + ",") + _root.arrleftcolours[1]) + ",") + _root.arrleftcolours[2]) == ((((_root.arrrightcolours[0] + ",") + _root.arrrightcolours[1]) + ",") + _root.arrrightcolours[2])) {
_root.Tint(this, _root.arrrightcolours[0] / 2, _root.arrrightcolours[1] / 2, _root.arrrightcolours[2] / 2);
} else {
_root.Tint(this, _root.arrrightcolours[0], _root.arrrightcolours[1], _root.arrrightcolours[2]);
}
}
Instance of Symbol 1697 MovieClip "bar" in Frame 5
onClipEvent (load) {
if (_root.castles == "right") {
_width = 0;
}
if (_root.castles == "left") {
_width = 700;
}
}
onClipEvent (enterFrame) {
_root.Tint(this, _root.arrleftcolours[0], _root.arrleftcolours[1], _root.arrleftcolours[2]);
if (_root.winner == "") {
if (_root.castles == "right") {
thewidth = (_root.attackerscore / _root.towinsiege) * 700;
if (_width < thewidth) {
_width = (_width+1);
}
if (_width > thewidth) {
_width = (_width-1);
}
if (_width >= 700) {
_root.winner = "left";
_root.victoryreason = "";
}
} else if (_root.castles == "left") {
thewidth = 700 - ((_root.attackerscore / _root.towinsiege) * 700);
if (_width < thewidth) {
_width = (_width+1);
}
if (_width > thewidth) {
_width = (_width-1);
}
if (_width <= 0) {
_root.winner = "right";
_root.victoryreason = "";
}
} else {
one = 700 / _root.towin;
thewidth = ((_root.towin / 2) * one) + ((_root.leftscore - _root.rightscore) * one);
if (_width < thewidth) {
_width = (_width+1);
}
if (_width > thewidth) {
_width = (_width-1);
}
if (_width >= 700) {
_root.winner = "left";
_root.victoryreason = "";
}
if (_width <= 0) {
_root.winner = "right";
_root.victoryreason = "";
}
}
if ((winnerset != true) && (_root.winner != "")) {
winnerset = true;
_root.mp_SetWinner(_root.winner);
}
} else {
if ((_root.winner == "left") && (_width < 700)) {
_width = (_width+1);
}
if ((_root.winner == "right") && (_width > 0)) {
_width = (_width-1);
}
}
}
Instance of Symbol 1704 MovieClip "clock" in Frame 5
onClipEvent (load) {
if (_root.cheatcode == "quick") {
totaltime = 720;
} else {
totaltime = 7200;
}
timeleft = totaltime;
}
onClipEvent (enterFrame) {
if (_root.winner == "") {
if (timeleft <= 0) {
_root.victoryreason = "Time Over";
if (_root.castles == "left") {
_root.winner = "left";
} else if (_root.castles == "right") {
_root.winner = "right";
} else {
if (_root.leftscore > _root.rightscore) {
_root.winner = "left";
}
if (_root.rightscore > _root.leftscore) {
_root.winner = "right";
}
}
} else {
if (_root.gamepaused != true) {
timeleft--;
}
time = Math.round(timeleft / 24);
if (time >= 60) {
time = "";
}
gotoAndStop(200 - Math.round((timeleft / totaltime) * 200));
}
}
}
Instance of Symbol 1791 MovieClip in Frame 5
onClipEvent (enterFrame) {
gotoAndStop(_root.gametype);
}
Frame 6
_root.MenuSound();
_quality = "high";
if (gametype == 1) {
shop_player = "left";
txtTitle = "Upgrade Your Army";
} else if (gametype == 1) {
txtTitle = "Upgrade Your Army";
} else if (shop_player == "left") {
txtTitle = "Player 1's Army";
} else {
txtTitle = "Player 2's Army";
}
if ((_root.cheatcode == "dosh") || (_root.cheatcode == "lastlevel")) {
_root[shop_player + "money"] = 50000;
}
MyRace = _root[_root.shop_player + "race"];
goldamount = "Gold: " + _root[shop_player + "money"];
_root.SaveGame();
Frame 7
shop_player = "right";
trace("Switch Shop");
gotoAndStop ("shop");
Frame 9
_root.kongregateStats.submit("Completed game", 1);
_root.kongregateStats.submit("Completed With " + GetRaceData("Full Name", _root.MyRace), 1);
Frame 11
_root.PlayMusic("Battle3_Music");
Instance of Symbol 1959 MovieClip in Frame 11
onClipEvent (load) {
intTimer = 0;
}
onClipEvent (enterFrame) {
intTimer++;
if (intTimer < 72) {
intTimer++;
} else {
_y = (_y - 1);
}
}
Frame 12
stopAllSounds();
Frame 13
stopAllSounds();
Frame 14
_root.MenuSound();
_root.PlayMusic("Map_Music");
Frame 15
stopAllSounds();
MenuSound("underattack");
_root.so.data.arrAttacks = _root.arrAttacks.slice(0);
_root.castles = "left";
_root.attackingregion = UnderAttack;
_root.attackingregionname = _root.GetRegionData("Name", attackingregion);
_root.reward = _root.GetRegionData("Reward", attackingregion);
_root.difficulty = _root.GetRegionData("Difficulty", attackingregion);
_root.SetRace("right", Attackers);
_root.arrrightSoldierChoices = [0, 1, 2, 19];
i = 0;
while (i < arrSoldierStats.length) {
if ((arrSoldierStats[i][6] == Attackers) || ((arrSoldierStats[i][6] == "") && (Math.random() > 0.98))) {
_root.arrrightSoldierChoices.push(i);
}
i++;
}
plus = 40;
_root.difficultynum = Math.round(((plus + 11) / 63) * 100);
upgradenum = Math.ceil((_root.difficultynum / 2) - 2.5);
u = 0;
while (u < upgradenum) {
unit = _root.arrrightSoldierChoices[random(_root.arrrightSoldierChoices.length)];
a = 0;
while (a < 50) {
rnd = random(_root.arrUpgradeChoices.length);
if (((((_root.arrUpgradeChoices[rnd][7].indexOf(unit) > -1) && (_root.arrUpgradeChoices[rnd][4] == true)) || ((_root.arrUpgradeChoices[rnd][7].indexOf(unit) <= -1) && (_root.arrUpgradeChoices[rnd][4] == false))) && ((_root.arrUpgradeChoices[rnd][3] == -1) || (_root.arrUpgradeChoices[rnd][3] == racenum))) && (!_root.HasUpgrade(unit, rnd, "right"))) {
_root.ApplyUpgrade(rnd, unit, "right");
break;
}
a++;
}
u++;
}
Symbol 24 MovieClip [Wall] Frame 1
castle = true;
if (race != undefined) {
gotoAndStop(race);
} else {
stop();
}
Symbol 46 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 67 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 88 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 109 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 130 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 169 MovieClip Frame 1
if (_parent.isicon == true) {
stop();
} else {
_parent.torso = this;
if (_parent.race != undefined) {
if (_root.HasUpgrade(_parent.unittype, 11, _parent.player)) {
gotoAndStop(_parent.race + "armour");
} else {
gotoAndStop(_parent.race);
}
} else {
stop();
}
}
Symbol 208 MovieClip Frame 1
_parent.head = this;
if (_parent.race != undefined) {
if (_root.HasUpgrade(_parent.unittype, 10, _parent.player)) {
gotoAndStop(_parent.race + "helm");
} else {
gotoAndStop(_parent.race);
}
} else {
stop();
}
Symbol 213 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 221 MovieClip Frame 1
if ((_root.option_blood != false) && (_parent.race != "undead")) {
play();
} else {
stop();
}
Symbol 221 MovieClip Frame 48
stop();
Symbol 226 MovieClip [Whirler] Frame 1
_root.ready(this);
swipes = 2;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Sword", _x);
}
Symbol 226 MovieClip [Whirler] Frame 21
gotoAndPlay (1);
Symbol 226 MovieClip [Whirler] Frame 22
_root.blood(random(5) + 5, this, 60, "up");
_root.die(this);
_root.dropspear(this);
Symbol 226 MovieClip [Whirler] Frame 79
stop();
Symbol 226 MovieClip [Whirler] Frame 80
_root.moveman(this, speed, true);
Symbol 226 MovieClip [Whirler] Frame 81
call("walk");
Symbol 226 MovieClip [Whirler] Frame 82
call("walk");
Symbol 226 MovieClip [Whirler] Frame 83
call("walk");
Symbol 226 MovieClip [Whirler] Frame 84
call("walk");
Symbol 226 MovieClip [Whirler] Frame 85
call("walk");
Symbol 226 MovieClip [Whirler] Frame 86
call("walk");
Symbol 226 MovieClip [Whirler] Frame 87
call("walk");
Symbol 226 MovieClip [Whirler] Frame 88
call("walk");
Symbol 226 MovieClip [Whirler] Frame 89
call("walk");
Symbol 226 MovieClip [Whirler] Frame 90
call("walk");
Symbol 226 MovieClip [Whirler] Frame 91
gotoAndPlay (1);
Symbol 226 MovieClip [Whirler] Frame 92
_root.moveman(this, speed, true);
Symbol 226 MovieClip [Whirler] Frame 93
_root.moveman(this, speed, true);
Symbol 226 MovieClip [Whirler] Frame 94
_root.moveman(this, speed, true);
Symbol 226 MovieClip [Whirler] Frame 95
_root.moveman(this, speed, true);
Symbol 226 MovieClip [Whirler] Frame 96
_root.moveman(this, speed, true);
Symbol 226 MovieClip [Whirler] Frame 97
_root.moveman(this, speed, true);
Symbol 226 MovieClip [Whirler] Frame 98
_root.moveman(this, speed, true);
Symbol 226 MovieClip [Whirler] Frame 99
_root.moveman(this, speed, true);
_root.attack(this, "MIDDLE", 160, 35, "head");
Symbol 226 MovieClip [Whirler] Frame 100
_root.moveman(this, speed, true);
Symbol 226 MovieClip [Whirler] Frame 101
_root.moveman(this, speed, true);
Symbol 226 MovieClip [Whirler] Frame 102
_root.moveman(this, speed, true);
Symbol 226 MovieClip [Whirler] Frame 103
_root.moveman(this, speed, true);
Symbol 226 MovieClip [Whirler] Frame 104
_root.moveman(this, speed, true);
_root.attack(this, "MIDDLE", 160, 35);
Symbol 226 MovieClip [Whirler] Frame 105
_root.moveman(this, speed, true);
Symbol 226 MovieClip [Whirler] Frame 106
_root.moveman(this, speed, true);
Symbol 226 MovieClip [Whirler] Frame 107
_root.moveman(this, speed, true);
Symbol 226 MovieClip [Whirler] Frame 108
gotoAndPlay (1);
Symbol 226 MovieClip [Whirler] Frame 109
_root.moveman(this, speed, true);
Symbol 226 MovieClip [Whirler] Frame 110
_root.moveman(this, speed, true);
Symbol 226 MovieClip [Whirler] Frame 111
_root.moveman(this, speed, true);
Symbol 226 MovieClip [Whirler] Frame 112
_root.moveman(this, speed, true);
_root.attack(this, "MIDDLE", 130, 35);
Symbol 226 MovieClip [Whirler] Frame 113
_root.moveman(this, speed, true);
Symbol 226 MovieClip [Whirler] Frame 114
_root.moveman(this, speed, true);
Symbol 226 MovieClip [Whirler] Frame 115
_root.moveman(this, speed, true);
_root.attack(this, "MIDDLE", 130, 25);
Symbol 226 MovieClip [Whirler] Frame 116
_root.moveman(this, speed, true);
Symbol 226 MovieClip [Whirler] Frame 117
_root.moveman(this, speed, true);
Symbol 226 MovieClip [Whirler] Frame 118
gotoAndPlay (1);
Symbol 234 MovieClip Frame 1
if (_parent.upgrade == undefined) {
if (_root.HasUpgrade(_parent.unittype, 32, _parent.player)) {
_parent.upgrade = 1;
} else if (_root.HasUpgrade(_parent.unittype, 33, _parent.player)) {
_parent.upgrade = 2;
} else {
_parent.upgrade = 0;
}
}
gotoAndStop(_parent.upgrade + 1);
Symbol 235 MovieClip [Throwing Rock] Frame 1
_root.ProjectileSetup(this, 35, 50);
_root.PlaySound("BowFire", _x);
this.onEnterFrame = function () {
_root.ProjectileMovement(this, true);
};
Symbol 238 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 239 MovieClip [Knife] Frame 1
_root.ProjectileSetup(this, 30, 50);
_root.PlaySound("BowFire", _x);
this.onEnterFrame = function () {
_root.ProjectileMovement(this);
};
Symbol 243 MovieClip [Axe] Frame 1
_root.ProjectileSetup(this, 35, 50);
_root.PlaySound("BowFire", _x);
this.onEnterFrame = function () {
_root.ProjectileMovement(this, true);
};
Symbol 264 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 265 MovieClip [Javelin] Frame 1
race = Firer.race;
if (Firer.speciallevel > 1) {
_root.ProjectileSetup(this, 50, 250);
} else {
_root.ProjectileSetup(this, 40, 150);
}
_root.PlaySound("BowFire", _x);
this.onEnterFrame = function () {
_root.ProjectileMovement(this);
};
Symbol 268 MovieClip [Skull] Frame 1
_root.ProjectileSetup(this, 50, 50);
_root.PlaySound("CatapultFire", _x);
big = true;
_y = (_y - ((200 - random(30)) + random(30)));
_x = (_x + (random(30) + random(30)));
xspeed = xspeed + ((Math.random() - Math.random()) * 5);
xspeed = xspeed + (Math.random() - Math.random());
this.onEnterFrame = function () {
_root.ProjectileMovement(this);
};
Symbol 269 MovieClip [Rock] Frame 1
if (Firer.unittype == 27) {
_root.ProjectileSetup(this, 35, 150);
_y = (_y - 510);
_root.PlaySound("BowFire", _x);
} else {
_root.ProjectileSetup(this, 43, 200);
_root.PlaySound("CatapultFire", _x);
_y = (_y - 200);
}
unittype = Firer.unittype;
player = Firer.player;
big = true;
if (_root.HasUpgrade(unittype, 32, player)) {
damage = damage + (damage * (_root.arrUpgradeChoices[32][6] / 100));
} else if (_root.HasUpgrade(unittype, 33, player)) {
damage = damage + (damage * (_root.arrUpgradeChoices[33][6] / 100));
}
stop();
this.onEnterFrame = function () {
_root.ProjectileMovement(this);
};
Symbol 279 MovieClip [MagicBall1] Frame 1
if (upspeed == undefined) {
upspeed = 4 * (Math.random() - Math.random());
}
if (setup != true) {
setup = true;
_root.PlaySound("Light", _x);
}
if (_xscale > 0) {
speed = 60;
} else {
speed = -60;
}
_x = (_x + speed);
_y = (_y + upspeed);
if ((_x < -1400) || (_x > 1400)) {
removeMovieClip(this);
}
if (this.hitTest(target)) {
if (target.shielded != true) {
_root.hurt(target, random(50));
}
gotoAndPlay (3);
}
Symbol 279 MovieClip [MagicBall1] Frame 2
gotoAndPlay (1);
Symbol 279 MovieClip [MagicBall1] Frame 3
_root.PlaySound("LightHit", _x);
Symbol 279 MovieClip [MagicBall1] Frame 16
removeMovieClip(this);
Symbol 284 MovieClip Frame 1
if (_parent.logupgraded == undefined) {
_parent.logupgraded = _root.HasUpgrade(_parent.unittype, 13, _parent.player);
}
if (_parent.logupgraded) {
gotoAndStop (2);
} else {
stop();
}
Symbol 285 MovieClip [Log] Frame 1
_root.ProjectileSetup(this, 50, 100);
_root.PlaySound("CatapultFire", _x);
_y = (_y - 200);
unittype = Firer.unittype;
player = Firer.player;
big = true;
stop();
this.onEnterFrame = function () {
_root.ProjectileMovement(this);
};
Symbol 288 MovieClip [Light Ball] Frame 1
if (setup != true) {
setup = true;
_root.PlaySound("Light", caster._x);
}
if (_xscale > 0) {
speed = 60;
} else {
speed = -60;
}
_x = (_x + speed);
if ((_x < -1400) || (_x > 1400)) {
removeMovieClip(this);
}
if (this.hitTest(target)) {
if (target.shielded != true) {
_root.hurt(target, random(175));
}
_root.generalanimation(target, "KnockOver");
gotoAndPlay (3);
}
Symbol 288 MovieClip [Light Ball] Frame 2
gotoAndPlay (1);
Symbol 288 MovieClip [Light Ball] Frame 3
_root.PlaySound("LightHit", _x);
Symbol 288 MovieClip [Light Ball] Frame 16
removeMovieClip(this);
Symbol 298 MovieClip [FireBall] Frame 1
if (setup != true) {
setup = true;
_root.PlaySound("FireSFX", _x);
}
if (_xscale > 0) {
speed = 50;
} else {
speed = -50;
}
_x = (_x + speed);
if ((_x < -1400) || (_x > 1400)) {
removeMovieClip(this);
}
if (this.hitTest(target)) {
if (target.shielded != true) {
_root.hurt(target, random(200));
}
gotoAndPlay (3);
}
Symbol 298 MovieClip [FireBall] Frame 2
gotoAndPlay (1);
Symbol 298 MovieClip [FireBall] Frame 3
_root.PlaySound("FireHit", _x);
Symbol 298 MovieClip [FireBall] Frame 16
removeMovieClip(this);
Symbol 308 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 309 MovieClip [Arrow Ranger] Frame 1
_root.ProjectileSetup(this, 50, 50);
_root.PlaySound("BowFire", _x);
this.onEnterFrame = function () {
if (((yspeed < 0) || (bouncing == true)) || (_y > (ground - 200))) {
_root.ProjectileMovement(this);
} else {
xdiff = target._x - _x;
ydiff = target._y - _y;
_rotation = ((Math.atan2(ydiff, xdiff) * 57.2957795130823) + 90);
anglerads = _rotation * (Math.PI/180);
xspeed = 50 * Math.sin(anglerads);
yspeed = -(50 * Math.cos(anglerads));
_x = (_x + xspeed);
actualdist = actualdist + xspeed;
_y = (_y + yspeed);
}
};
Symbol 310 MovieClip [Arrow Fired] Frame 1
_root.ProjectileSetup(this, 50, 50);
_root.PlaySound("BowFire", _x);
this.onEnterFrame = function () {
_root.ProjectileMovement(this);
};
Symbol 318 MovieClip [Warrior Monk] Frame 1
if (_root.gameinprogress != true) {
gotoAndStop ("ready");
}
if (inbattle == true) {
play();
} else {
stop();
}
if ((setupsound != true) && (inbattle == true)) {
setupsound = true;
_root.PlaySound("Equip_Other", _x);
}
swipes = 3;
Symbol 318 MovieClip [Warrior Monk] Frame 37
_root.ready(this);
Symbol 318 MovieClip [Warrior Monk] Frame 38
call("ready");
Symbol 318 MovieClip [Warrior Monk] Frame 39
call("ready");
Symbol 318 MovieClip [Warrior Monk] Frame 40
call("ready");
Symbol 318 MovieClip [Warrior Monk] Frame 41
call("ready");
Symbol 318 MovieClip [Warrior Monk] Frame 42
call("ready");
Symbol 318 MovieClip [Warrior Monk] Frame 43
call("ready");
Symbol 318 MovieClip [Warrior Monk] Frame 44
call("ready");
Symbol 318 MovieClip [Warrior Monk] Frame 45
gotoAndPlay ("ready");
Symbol 318 MovieClip [Warrior Monk] Frame 46
speed = 5;
_root.moveman(this, speed, true);
Symbol 318 MovieClip [Warrior Monk] Frame 47
call("walk");
Symbol 318 MovieClip [Warrior Monk] Frame 48
call("walk");
Symbol 318 MovieClip [Warrior Monk] Frame 49
call("walk");
Symbol 318 MovieClip [Warrior Monk] Frame 50
call("walk");
Symbol 318 MovieClip [Warrior Monk] Frame 51
call("walk");
Symbol 318 MovieClip [Warrior Monk] Frame 52
call("walk");
Symbol 318 MovieClip [Warrior Monk] Frame 53
call("walk");
Symbol 318 MovieClip [Warrior Monk] Frame 54
call("walk");
Symbol 318 MovieClip [Warrior Monk] Frame 55
call("walk");
Symbol 318 MovieClip [Warrior Monk] Frame 56
call("walk");
Symbol 318 MovieClip [Warrior Monk] Frame 57
gotoAndPlay ("ready");
Symbol 318 MovieClip [Warrior Monk] Frame 58
speed = 25;
_root.moveman(this, speed, true);
Symbol 318 MovieClip [Warrior Monk] Frame 59
call("special");
Symbol 318 MovieClip [Warrior Monk] Frame 60
call("special");
Symbol 318 MovieClip [Warrior Monk] Frame 61
call("special");
Symbol 318 MovieClip [Warrior Monk] Frame 62
call("special");
Symbol 318 MovieClip [Warrior Monk] Frame 63
call("special");
Symbol 318 MovieClip [Warrior Monk] Frame 64
call("special");
Symbol 318 MovieClip [Warrior Monk] Frame 65
call("special");
Symbol 318 MovieClip [Warrior Monk] Frame 66
call("special");
Symbol 318 MovieClip [Warrior Monk] Frame 67
call("special");
Symbol 318 MovieClip [Warrior Monk] Frame 68
gotoAndPlay ("ready");
Symbol 318 MovieClip [Warrior Monk] Frame 69
call("special");
Symbol 318 MovieClip [Warrior Monk] Frame 70
call("special");
Symbol 318 MovieClip [Warrior Monk] Frame 71
call("special");
Symbol 318 MovieClip [Warrior Monk] Frame 72
call("special");
Symbol 318 MovieClip [Warrior Monk] Frame 73
call("special");
Symbol 318 MovieClip [Warrior Monk] Frame 74
call("special");
Symbol 318 MovieClip [Warrior Monk] Frame 75
call("special");
Symbol 318 MovieClip [Warrior Monk] Frame 76
call("special");
Symbol 318 MovieClip [Warrior Monk] Frame 77
call("special");
Symbol 318 MovieClip [Warrior Monk] Frame 78
call("special");
Symbol 318 MovieClip [Warrior Monk] Frame 79
call("special");
Symbol 318 MovieClip [Warrior Monk] Frame 80
_root.moveman(this, speed, true);
_root.impact(this, 50, 160);
Symbol 318 MovieClip [Warrior Monk] Frame 81
call("special");
Symbol 318 MovieClip [Warrior Monk] Frame 89
_root.moveman(this, -5, true);
Symbol 318 MovieClip [Warrior Monk] Frame 90
_root.moveman(this, -5, true);
Symbol 318 MovieClip [Warrior Monk] Frame 91
_root.moveman(this, -5, true);
Symbol 318 MovieClip [Warrior Monk] Frame 92
_root.moveman(this, -5, true);
Symbol 318 MovieClip [Warrior Monk] Frame 93
_root.moveman(this, -5, true);
Symbol 318 MovieClip [Warrior Monk] Frame 94
_root.moveman(this, -5, true);
Symbol 318 MovieClip [Warrior Monk] Frame 95
_root.moveman(this, -10, true);
Symbol 318 MovieClip [Warrior Monk] Frame 96
_root.impact(this, 100, 50);
Symbol 318 MovieClip [Warrior Monk] Frame 99
speciallevel = 1;
speed = 10;
Symbol 318 MovieClip [Warrior Monk] Frame 100
gotoAndPlay ("ready");
Symbol 318 MovieClip [Warrior Monk] Frame 101
speed = 5;
_root.moveman(this, speed, true);
Symbol 318 MovieClip [Warrior Monk] Frame 102
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 103
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 104
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 105
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 106
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 107
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 108
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 109
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 110
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 111
_root.moveman(this, speed, true);
_root.impact(this, 170, 50);
Symbol 318 MovieClip [Warrior Monk] Frame 112
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 113
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 114
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 115
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 116
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 117
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 118
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 119
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 120
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 121
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 122
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 123
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 124
_root.moveman(this, speed, true);
_root.impact(this, 160, 40);
Symbol 318 MovieClip [Warrior Monk] Frame 125
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 126
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 127
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 128
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 129
_root.impact(this, 140, 40);
_root.moveman(this, speed, true);
Symbol 318 MovieClip [Warrior Monk] Frame 130
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 131
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 132
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 133
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 134
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 135
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 136
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 137
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 138
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 139
call("swipe1");
Symbol 318 MovieClip [Warrior Monk] Frame 140
gotoAndPlay ("ready");
Symbol 318 MovieClip [Warrior Monk] Frame 153
speed = 5;
_root.moveman(this, speed, true);
Symbol 318 MovieClip [Warrior Monk] Frame 154
_root.moveman(this, speed, true);
Symbol 318 MovieClip [Warrior Monk] Frame 155
_root.moveman(this, speed, true);
Symbol 318 MovieClip [Warrior Monk] Frame 156
_root.moveman(this, speed, true);
Symbol 318 MovieClip [Warrior Monk] Frame 157
_root.moveman(this, speed, true);
Symbol 318 MovieClip [Warrior Monk] Frame 158
_root.moveman(this, speed, true);
Symbol 318 MovieClip [Warrior Monk] Frame 159
_root.moveman(this, speed, true);
Symbol 318 MovieClip [Warrior Monk] Frame 160
_root.moveman(this, speed, true);
Symbol 318 MovieClip [Warrior Monk] Frame 161
_root.moveman(this, speed, true);
Symbol 318 MovieClip [Warrior Monk] Frame 162
_root.moveman(this, speed, true);
Symbol 318 MovieClip [Warrior Monk] Frame 163
_root.moveman(this, speed, true);
Symbol 318 MovieClip [Warrior Monk] Frame 164
_root.moveman(this, speed, true);
Symbol 318 MovieClip [Warrior Monk] Frame 165
_root.impact(this, 200, 100);
Symbol 318 MovieClip [Warrior Monk] Frame 187
gotoAndPlay ("ready");
Symbol 318 MovieClip [Warrior Monk] Frame 188
speed = 20;
_root.moveman(this, speed, true);
Symbol 318 MovieClip [Warrior Monk] Frame 189
call("swipe3");
Symbol 318 MovieClip [Warrior Monk] Frame 190
call("swipe3");
Symbol 318 MovieClip [Warrior Monk] Frame 191
call("swipe3");
Symbol 318 MovieClip [Warrior Monk] Frame 192
call("swipe3");
Symbol 318 MovieClip [Warrior Monk] Frame 193
call("swipe3");
Symbol 318 MovieClip [Warrior Monk] Frame 194
call("swipe3");
Symbol 318 MovieClip [Warrior Monk] Frame 195
_root.moveman(this, speed, true);
_root.impact(this, 100, 60);
Symbol 318 MovieClip [Warrior Monk] Frame 196
call("swipe3");
Symbol 318 MovieClip [Warrior Monk] Frame 209
gotoAndPlay ("ready");
Symbol 318 MovieClip [Warrior Monk] Frame 210
_root.blood(random(5) + 5, this, 60, "up");
_root.die(this);
Symbol 318 MovieClip [Warrior Monk] Frame 267
stop();
Symbol 324 MovieClip Frame 5
stop();
Symbol 325 MovieClip [T100 Submachinegunner] Frame 1
_root.ready(this);
swipes = 1;
terminator = true;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Other", _x);
}
Symbol 325 MovieClip [T100 Submachinegunner] Frame 21
gotoAndPlay (1);
Symbol 325 MovieClip [T100 Submachinegunner] Frame 22
_root.blood(random(5) + 5, this, 60, "up");
_root.die(this);
_root.dropspear(this);
Symbol 325 MovieClip [T100 Submachinegunner] Frame 79
stop();
Symbol 325 MovieClip [T100 Submachinegunner] Frame 80
_root.moveman(this, speed, true);
Symbol 325 MovieClip [T100 Submachinegunner] Frame 81
call("walk");
Symbol 325 MovieClip [T100 Submachinegunner] Frame 82
call("walk");
Symbol 325 MovieClip [T100 Submachinegunner] Frame 83
call("walk");
Symbol 325 MovieClip [T100 Submachinegunner] Frame 84
call("walk");
Symbol 325 MovieClip [T100 Submachinegunner] Frame 85
call("walk");
Symbol 325 MovieClip [T100 Submachinegunner] Frame 86
call("walk");
Symbol 325 MovieClip [T100 Submachinegunner] Frame 87
call("walk");
Symbol 325 MovieClip [T100 Submachinegunner] Frame 88
call("walk");
Symbol 325 MovieClip [T100 Submachinegunner] Frame 89
call("walk");
Symbol 325 MovieClip [T100 Submachinegunner] Frame 90
call("walk");
Symbol 325 MovieClip [T100 Submachinegunner] Frame 91
gotoAndPlay (1);
Symbol 325 MovieClip [T100 Submachinegunner] Frame 114
_root.PlaySound("uziSFX", _x);
_root.attack(this, "HEAD", 500, 50);
Symbol 325 MovieClip [T100 Submachinegunner] Frame 117
call("fire");
Symbol 325 MovieClip [T100 Submachinegunner] Frame 120
call("fire");
Symbol 325 MovieClip [T100 Submachinegunner] Frame 149
gotoAndPlay ("walk");
Symbol 348 MovieClip Frame 1
if (_parent.setanimation == true) {
blank = _parent.hasShield != true;
} else {
_parent.hasShield = true;
}
_parent.shield = this;
if (_parent.race != undefined) {
if (blank == true) {
gotoAndStop ("blank");
} else if (_root.HasUpgrade(_parent.unittype, 47, _parent.player)) {
gotoAndStop(_parent.race);
} else if (_root.HasUpgrade(_parent.unittype, 9, _parent.player) || (_parent.menu == true)) {
gotoAndStop(_parent.race);
} else {
gotoAndStop ("buckler");
}
} else {
stop();
}
Symbol 352 MovieClip [T100 Shotgunner] Frame 1
_root.ready(this);
swipes = 1;
terminator = true;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Other", _x);
}
Symbol 352 MovieClip [T100 Shotgunner] Frame 21
gotoAndPlay (1);
Symbol 352 MovieClip [T100 Shotgunner] Frame 22
_root.blood(random(5) + 5, this, 60, "up");
_root.die(this);
_root.dropspear(this);
Symbol 352 MovieClip [T100 Shotgunner] Frame 79
stop();
Symbol 352 MovieClip [T100 Shotgunner] Frame 80
_root.moveman(this, speed, true);
Symbol 352 MovieClip [T100 Shotgunner] Frame 81
call("walk");
Symbol 352 MovieClip [T100 Shotgunner] Frame 82
call("walk");
Symbol 352 MovieClip [T100 Shotgunner] Frame 83
call("walk");
Symbol 352 MovieClip [T100 Shotgunner] Frame 84
call("walk");
Symbol 352 MovieClip [T100 Shotgunner] Frame 85
call("walk");
Symbol 352 MovieClip [T100 Shotgunner] Frame 86
call("walk");
Symbol 352 MovieClip [T100 Shotgunner] Frame 87
call("walk");
Symbol 352 MovieClip [T100 Shotgunner] Frame 88
call("walk");
Symbol 352 MovieClip [T100 Shotgunner] Frame 89
call("walk");
Symbol 352 MovieClip [T100 Shotgunner] Frame 90
call("walk");
Symbol 352 MovieClip [T100 Shotgunner] Frame 91
gotoAndPlay (1);
Symbol 352 MovieClip [T100 Shotgunner] Frame 101
_root.PlaySound("ShotgunSFX", _x);
_root.impact(this, 300, 100);
Symbol 352 MovieClip [T100 Shotgunner] Frame 125
gotoAndPlay ("walk");
Symbol 355 MovieClip [T100 Minigunner] Frame 1
_root.ready(this);
swipes = 1;
terminator = true;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Other", _x);
}
Symbol 355 MovieClip [T100 Minigunner] Frame 21
gotoAndPlay (1);
Symbol 355 MovieClip [T100 Minigunner] Frame 22
_root.blood(random(5) + 5, this, 60, "up");
_root.die(this);
_root.dropspear(this);
Symbol 355 MovieClip [T100 Minigunner] Frame 79
stop();
Symbol 355 MovieClip [T100 Minigunner] Frame 80
_root.moveman(this, speed, true);
Symbol 355 MovieClip [T100 Minigunner] Frame 81
call("walk");
Symbol 355 MovieClip [T100 Minigunner] Frame 82
call("walk");
Symbol 355 MovieClip [T100 Minigunner] Frame 83
call("walk");
Symbol 355 MovieClip [T100 Minigunner] Frame 84
call("walk");
Symbol 355 MovieClip [T100 Minigunner] Frame 85
call("walk");
Symbol 355 MovieClip [T100 Minigunner] Frame 86
call("walk");
Symbol 355 MovieClip [T100 Minigunner] Frame 87
call("walk");
Symbol 355 MovieClip [T100 Minigunner] Frame 88
call("walk");
Symbol 355 MovieClip [T100 Minigunner] Frame 89
call("walk");
Symbol 355 MovieClip [T100 Minigunner] Frame 90
call("walk");
Symbol 355 MovieClip [T100 Minigunner] Frame 91
gotoAndPlay (1);
Symbol 355 MovieClip [T100 Minigunner] Frame 101
_root.PlaySound("MinigunSFX", _x);
_root.attack(this, "HIGH", 800, 50);
Symbol 355 MovieClip [T100 Minigunner] Frame 103
_root.attack(this, "HIGH", 800, 50);
Symbol 355 MovieClip [T100 Minigunner] Frame 105
call("fire");
Symbol 355 MovieClip [T100 Minigunner] Frame 107
call("fire");
Symbol 355 MovieClip [T100 Minigunner] Frame 109
call("fire");
Symbol 355 MovieClip [T100 Minigunner] Frame 111
call("fire");
Symbol 355 MovieClip [T100 Minigunner] Frame 113
call("fire");
Symbol 355 MovieClip [T100 Minigunner] Frame 115
call("fire");
Symbol 355 MovieClip [T100 Minigunner] Frame 117
call("fire");
Symbol 355 MovieClip [T100 Minigunner] Frame 145
gotoAndPlay ("walk");
Symbol 359 MovieClip [T100 Handgunner] Frame 1
_root.ready(this);
swipes = 1;
terminator = true;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Other", _x);
}
Symbol 359 MovieClip [T100 Handgunner] Frame 21
gotoAndPlay (1);
Symbol 359 MovieClip [T100 Handgunner] Frame 22
_root.blood(random(5) + 5, this, 60, "up");
_root.die(this);
_root.dropspear(this);
Symbol 359 MovieClip [T100 Handgunner] Frame 79
stop();
Symbol 359 MovieClip [T100 Handgunner] Frame 80
_root.moveman(this, speed, true);
Symbol 359 MovieClip [T100 Handgunner] Frame 81
call("walk");
Symbol 359 MovieClip [T100 Handgunner] Frame 82
call("walk");
Symbol 359 MovieClip [T100 Handgunner] Frame 83
call("walk");
Symbol 359 MovieClip [T100 Handgunner] Frame 84
call("walk");
Symbol 359 MovieClip [T100 Handgunner] Frame 85
call("walk");
Symbol 359 MovieClip [T100 Handgunner] Frame 86
call("walk");
Symbol 359 MovieClip [T100 Handgunner] Frame 87
call("walk");
Symbol 359 MovieClip [T100 Handgunner] Frame 88
call("walk");
Symbol 359 MovieClip [T100 Handgunner] Frame 89
call("walk");
Symbol 359 MovieClip [T100 Handgunner] Frame 90
call("walk");
Symbol 359 MovieClip [T100 Handgunner] Frame 91
gotoAndPlay (1);
Symbol 359 MovieClip [T100 Handgunner] Frame 114
_root.PlaySound("HandgunSFX", _x);
_root.impact(this, 500, 10);
Symbol 359 MovieClip [T100 Handgunner] Frame 128
call("fire");
Symbol 359 MovieClip [T100 Handgunner] Frame 138
call("fire");
Symbol 359 MovieClip [T100 Handgunner] Frame 149
gotoAndPlay ("walk");
Symbol 360 MovieClip [Spearmaster] Frame 1
_root.ready(this);
swipes = 3;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Spear", _x);
}
Symbol 360 MovieClip [Spearmaster] Frame 2
call("ready");
Symbol 360 MovieClip [Spearmaster] Frame 3
call("ready");
Symbol 360 MovieClip [Spearmaster] Frame 4
call("ready");
Symbol 360 MovieClip [Spearmaster] Frame 5
call("ready");
Symbol 360 MovieClip [Spearmaster] Frame 6
call("ready");
Symbol 360 MovieClip [Spearmaster] Frame 7
call("ready");
Symbol 360 MovieClip [Spearmaster] Frame 8
call("ready");
Symbol 360 MovieClip [Spearmaster] Frame 9
call("ready");
Symbol 360 MovieClip [Spearmaster] Frame 10
call("ready");
Symbol 360 MovieClip [Spearmaster] Frame 11
call("ready");
Symbol 360 MovieClip [Spearmaster] Frame 12
call("ready");
Symbol 360 MovieClip [Spearmaster] Frame 13
call("ready");
Symbol 360 MovieClip [Spearmaster] Frame 14
call("ready");
Symbol 360 MovieClip [Spearmaster] Frame 15
call("ready");
Symbol 360 MovieClip [Spearmaster] Frame 16
call("ready");
Symbol 360 MovieClip [Spearmaster] Frame 17
call("ready");
Symbol 360 MovieClip [Spearmaster] Frame 18
call("ready");
Symbol 360 MovieClip [Spearmaster] Frame 19
call("ready");
Symbol 360 MovieClip [Spearmaster] Frame 20
call("ready");
Symbol 360 MovieClip [Spearmaster] Frame 21
gotoAndPlay (1);
Symbol 360 MovieClip [Spearmaster] Frame 22
_root.blood(random(5) + 5, this, 60, "up");
_root.die(this);
_root.dropspear(this);
Symbol 360 MovieClip [Spearmaster] Frame 79
stop();
Symbol 360 MovieClip [Spearmaster] Frame 80
_root.moveman(this, 5, true);
Symbol 360 MovieClip [Spearmaster] Frame 81
call("walk");
Symbol 360 MovieClip [Spearmaster] Frame 82
call("walk");
Symbol 360 MovieClip [Spearmaster] Frame 83
call("walk");
Symbol 360 MovieClip [Spearmaster] Frame 84
call("walk");
Symbol 360 MovieClip [Spearmaster] Frame 85
call("walk");
Symbol 360 MovieClip [Spearmaster] Frame 86
call("walk");
Symbol 360 MovieClip [Spearmaster] Frame 87
call("walk");
Symbol 360 MovieClip [Spearmaster] Frame 88
call("walk");
Symbol 360 MovieClip [Spearmaster] Frame 89
call("walk");
Symbol 360 MovieClip [Spearmaster] Frame 90
call("walk");
Symbol 360 MovieClip [Spearmaster] Frame 91
gotoAndPlay (1);
Symbol 360 MovieClip [Spearmaster] Frame 92
_root.moveman(this, 5, true);
Symbol 360 MovieClip [Spearmaster] Frame 93
call("swipe1");
Symbol 360 MovieClip [Spearmaster] Frame 94
call("swipe1");
Symbol 360 MovieClip [Spearmaster] Frame 95
_root.moveman(this, 5, true);
_root.impact(this, 95, 30);
Symbol 360 MovieClip [Spearmaster] Frame 96
call("swipe1");
Symbol 360 MovieClip [Spearmaster] Frame 97
call("swipe1");
Symbol 360 MovieClip [Spearmaster] Frame 98
call("swipe1");
Symbol 360 MovieClip [Spearmaster] Frame 99
call("swipe1");
Symbol 360 MovieClip [Spearmaster] Frame 100
call("swipe1");
Symbol 360 MovieClip [Spearmaster] Frame 101
call("swipe1");
Symbol 360 MovieClip [Spearmaster] Frame 102
call("swipe1");
Symbol 360 MovieClip [Spearmaster] Frame 103
call("swipe1");
Symbol 360 MovieClip [Spearmaster] Frame 104
call("swipe1");
Symbol 360 MovieClip [Spearmaster] Frame 105
call("swipe1");
Symbol 360 MovieClip [Spearmaster] Frame 106
call("swipe1");
Symbol 360 MovieClip [Spearmaster] Frame 107
call("swipe1");
Symbol 360 MovieClip [Spearmaster] Frame 108
call("swipe1");
Symbol 360 MovieClip [Spearmaster] Frame 109
call("swipe1");
Symbol 360 MovieClip [Spearmaster] Frame 110
call("swipe1");
Symbol 360 MovieClip [Spearmaster] Frame 111
_root.attack(this, "MIDDLE", 150, 45);
Symbol 360 MovieClip [Spearmaster] Frame 118
gotoAndPlay (1);
Symbol 360 MovieClip [Spearmaster] Frame 121
_root.moveman(this, -6, true);
Symbol 360 MovieClip [Spearmaster] Frame 122
_root.moveman(this, -6, true);
Symbol 360 MovieClip [Spearmaster] Frame 123
_root.moveman(this, -6, true);
Symbol 360 MovieClip [Spearmaster] Frame 124
_root.moveman(this, -6, true);
Symbol 360 MovieClip [Spearmaster] Frame 125
_root.moveman(this, -6, true);
Symbol 360 MovieClip [Spearmaster] Frame 126
_root.moveman(this, -6, true);
Symbol 360 MovieClip [Spearmaster] Frame 127
_root.moveman(this, -6, true);
Symbol 360 MovieClip [Spearmaster] Frame 128
_root.moveman(this, -6, true);
Symbol 360 MovieClip [Spearmaster] Frame 129
_root.moveman(this, -6, true);
Symbol 360 MovieClip [Spearmaster] Frame 130
_root.attack(this, "HIGH", 160, 40);
Symbol 360 MovieClip [Spearmaster] Frame 141
_root.attack(this, "HIGH", 130, 25);
Symbol 360 MovieClip [Spearmaster] Frame 151
gotoAndPlay (1);
Symbol 370 MovieClip [Troll Catapult] Frame 1
_root.ready(this);
swipes = 1;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Sword", _x);
}
Symbol 370 MovieClip [Troll Catapult] Frame 10
gotoAndPlay (1);
Symbol 370 MovieClip [Troll Catapult] Frame 11
_root.moveman(this, speed, true);
Symbol 370 MovieClip [Troll Catapult] Frame 12
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 13
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 14
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 15
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 16
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 17
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 18
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 19
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 20
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 21
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 22
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 23
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 24
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 25
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 26
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 27
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 28
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 29
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 30
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 31
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 32
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 33
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 34
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 35
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 36
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 37
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 38
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 39
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 40
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 41
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 42
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 43
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 44
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 45
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 46
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 47
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 48
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 49
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 50
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 51
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 52
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 53
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 54
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 55
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 56
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 57
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 58
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 59
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 60
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 61
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 62
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 63
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 64
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 65
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 66
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 67
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 68
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 69
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 70
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 71
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 72
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 73
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 74
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 75
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 76
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 77
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 78
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 79
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 80
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 81
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 82
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 83
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 84
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 85
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 86
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 87
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 88
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 89
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 90
call("walk");
Symbol 370 MovieClip [Troll Catapult] Frame 91
gotoAndPlay (1);
Symbol 370 MovieClip [Troll Catapult] Frame 92
_root.die(this);
_root.blood(random(5) + 5, this, 60, "up");
Symbol 370 MovieClip [Troll Catapult] Frame 104
stop();
Symbol 370 MovieClip [Troll Catapult] Frame 119
_root.firearrow(this, "Rock");
Symbol 370 MovieClip [Troll Catapult] Frame 396
gotoAndPlay (1);
Symbol 393 MovieClip [Trebuchet] Frame 1
_root.ready(this);
swipes = 1;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Sword", _x);
}
Symbol 393 MovieClip [Trebuchet] Frame 10
gotoAndPlay (1);
Symbol 393 MovieClip [Trebuchet] Frame 11
_root.moveman(this, speed, true);
Symbol 393 MovieClip [Trebuchet] Frame 12
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 13
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 14
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 15
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 16
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 17
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 18
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 19
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 20
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 21
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 22
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 23
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 24
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 25
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 26
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 27
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 28
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 29
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 30
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 31
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 32
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 33
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 34
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 35
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 36
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 37
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 38
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 39
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 40
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 41
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 42
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 43
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 44
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 45
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 46
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 47
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 48
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 49
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 50
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 51
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 52
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 53
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 54
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 55
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 56
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 57
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 58
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 59
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 60
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 61
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 62
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 63
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 64
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 65
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 66
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 67
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 68
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 69
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 70
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 71
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 72
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 73
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 74
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 75
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 76
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 77
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 78
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 79
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 80
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 81
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 82
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 83
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 84
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 85
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 86
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 87
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 88
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 89
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 90
call("walk");
Symbol 393 MovieClip [Trebuchet] Frame 91
gotoAndPlay (1);
Symbol 393 MovieClip [Trebuchet] Frame 127
_root.firearrow(this, "Rock");
Symbol 393 MovieClip [Trebuchet] Frame 207
gotoAndPlay (1);
Symbol 393 MovieClip [Trebuchet] Frame 223
stop();
Symbol 403 MovieClip [Skull Launcher] Frame 1
_root.ready(this);
swipes = 1;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Sword", _x);
}
Symbol 403 MovieClip [Skull Launcher] Frame 10
gotoAndPlay (1);
Symbol 403 MovieClip [Skull Launcher] Frame 11
_root.moveman(this, speed, true);
Symbol 403 MovieClip [Skull Launcher] Frame 12
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 13
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 14
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 15
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 16
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 17
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 18
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 19
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 20
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 21
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 22
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 23
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 24
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 25
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 26
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 27
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 28
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 29
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 30
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 31
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 32
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 33
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 34
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 35
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 36
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 37
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 38
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 39
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 40
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 41
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 42
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 43
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 44
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 45
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 46
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 47
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 48
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 49
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 50
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 51
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 52
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 53
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 54
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 55
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 56
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 57
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 58
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 59
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 60
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 61
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 62
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 63
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 64
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 65
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 66
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 67
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 68
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 69
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 70
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 71
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 72
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 73
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 74
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 75
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 76
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 77
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 78
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 79
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 80
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 81
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 82
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 83
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 84
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 85
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 86
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 87
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 88
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 89
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 90
call("walk");
Symbol 403 MovieClip [Skull Launcher] Frame 91
gotoAndPlay (1);
Symbol 403 MovieClip [Skull Launcher] Frame 92
_root.die(this);
_root.blood(random(5) + 5, this, 60, "up");
Symbol 403 MovieClip [Skull Launcher] Frame 104
stop();
Symbol 403 MovieClip [Skull Launcher] Frame 119
_root.firearrow(this, "Skull");
_root.firearrow(this, "Skull");
_root.firearrow(this, "Skull");
_root.firearrow(this, "Skull");
_root.firearrow(this, "Skull");
Symbol 403 MovieClip [Skull Launcher] Frame 396
gotoAndPlay (1);
Symbol 413 MovieClip [Catapult] Frame 1
_root.ready(this);
swipes = 1;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Sword", _x);
}
Symbol 413 MovieClip [Catapult] Frame 10
gotoAndPlay (1);
Symbol 413 MovieClip [Catapult] Frame 11
_root.moveman(this, speed, true);
Symbol 413 MovieClip [Catapult] Frame 12
call("walk");
Symbol 413 MovieClip [Catapult] Frame 13
call("walk");
Symbol 413 MovieClip [Catapult] Frame 14
call("walk");
Symbol 413 MovieClip [Catapult] Frame 15
call("walk");
Symbol 413 MovieClip [Catapult] Frame 16
call("walk");
Symbol 413 MovieClip [Catapult] Frame 17
call("walk");
Symbol 413 MovieClip [Catapult] Frame 18
call("walk");
Symbol 413 MovieClip [Catapult] Frame 19
call("walk");
Symbol 413 MovieClip [Catapult] Frame 20
call("walk");
Symbol 413 MovieClip [Catapult] Frame 21
call("walk");
Symbol 413 MovieClip [Catapult] Frame 22
call("walk");
Symbol 413 MovieClip [Catapult] Frame 23
call("walk");
Symbol 413 MovieClip [Catapult] Frame 24
call("walk");
Symbol 413 MovieClip [Catapult] Frame 25
call("walk");
Symbol 413 MovieClip [Catapult] Frame 26
call("walk");
Symbol 413 MovieClip [Catapult] Frame 27
call("walk");
Symbol 413 MovieClip [Catapult] Frame 28
call("walk");
Symbol 413 MovieClip [Catapult] Frame 29
call("walk");
Symbol 413 MovieClip [Catapult] Frame 30
call("walk");
Symbol 413 MovieClip [Catapult] Frame 31
call("walk");
Symbol 413 MovieClip [Catapult] Frame 32
call("walk");
Symbol 413 MovieClip [Catapult] Frame 33
call("walk");
Symbol 413 MovieClip [Catapult] Frame 34
call("walk");
Symbol 413 MovieClip [Catapult] Frame 35
call("walk");
Symbol 413 MovieClip [Catapult] Frame 36
call("walk");
Symbol 413 MovieClip [Catapult] Frame 37
call("walk");
Symbol 413 MovieClip [Catapult] Frame 38
call("walk");
Symbol 413 MovieClip [Catapult] Frame 39
call("walk");
Symbol 413 MovieClip [Catapult] Frame 40
call("walk");
Symbol 413 MovieClip [Catapult] Frame 41
call("walk");
Symbol 413 MovieClip [Catapult] Frame 42
call("walk");
Symbol 413 MovieClip [Catapult] Frame 43
call("walk");
Symbol 413 MovieClip [Catapult] Frame 44
call("walk");
Symbol 413 MovieClip [Catapult] Frame 45
call("walk");
Symbol 413 MovieClip [Catapult] Frame 46
call("walk");
Symbol 413 MovieClip [Catapult] Frame 47
call("walk");
Symbol 413 MovieClip [Catapult] Frame 48
call("walk");
Symbol 413 MovieClip [Catapult] Frame 49
call("walk");
Symbol 413 MovieClip [Catapult] Frame 50
call("walk");
Symbol 413 MovieClip [Catapult] Frame 51
call("walk");
Symbol 413 MovieClip [Catapult] Frame 52
call("walk");
Symbol 413 MovieClip [Catapult] Frame 53
call("walk");
Symbol 413 MovieClip [Catapult] Frame 54
call("walk");
Symbol 413 MovieClip [Catapult] Frame 55
call("walk");
Symbol 413 MovieClip [Catapult] Frame 56
call("walk");
Symbol 413 MovieClip [Catapult] Frame 57
call("walk");
Symbol 413 MovieClip [Catapult] Frame 58
call("walk");
Symbol 413 MovieClip [Catapult] Frame 59
call("walk");
Symbol 413 MovieClip [Catapult] Frame 60
call("walk");
Symbol 413 MovieClip [Catapult] Frame 61
call("walk");
Symbol 413 MovieClip [Catapult] Frame 62
call("walk");
Symbol 413 MovieClip [Catapult] Frame 63
call("walk");
Symbol 413 MovieClip [Catapult] Frame 64
call("walk");
Symbol 413 MovieClip [Catapult] Frame 65
call("walk");
Symbol 413 MovieClip [Catapult] Frame 66
call("walk");
Symbol 413 MovieClip [Catapult] Frame 67
call("walk");
Symbol 413 MovieClip [Catapult] Frame 68
call("walk");
Symbol 413 MovieClip [Catapult] Frame 69
call("walk");
Symbol 413 MovieClip [Catapult] Frame 70
call("walk");
Symbol 413 MovieClip [Catapult] Frame 71
call("walk");
Symbol 413 MovieClip [Catapult] Frame 72
call("walk");
Symbol 413 MovieClip [Catapult] Frame 73
call("walk");
Symbol 413 MovieClip [Catapult] Frame 74
call("walk");
Symbol 413 MovieClip [Catapult] Frame 75
call("walk");
Symbol 413 MovieClip [Catapult] Frame 76
call("walk");
Symbol 413 MovieClip [Catapult] Frame 77
call("walk");
Symbol 413 MovieClip [Catapult] Frame 78
call("walk");
Symbol 413 MovieClip [Catapult] Frame 79
call("walk");
Symbol 413 MovieClip [Catapult] Frame 80
call("walk");
Symbol 413 MovieClip [Catapult] Frame 81
call("walk");
Symbol 413 MovieClip [Catapult] Frame 82
call("walk");
Symbol 413 MovieClip [Catapult] Frame 83
call("walk");
Symbol 413 MovieClip [Catapult] Frame 84
call("walk");
Symbol 413 MovieClip [Catapult] Frame 85
call("walk");
Symbol 413 MovieClip [Catapult] Frame 86
call("walk");
Symbol 413 MovieClip [Catapult] Frame 87
call("walk");
Symbol 413 MovieClip [Catapult] Frame 88
call("walk");
Symbol 413 MovieClip [Catapult] Frame 89
call("walk");
Symbol 413 MovieClip [Catapult] Frame 90
call("walk");
Symbol 413 MovieClip [Catapult] Frame 91
gotoAndPlay (1);
Symbol 413 MovieClip [Catapult] Frame 92
_root.die(this);
_root.blood(random(5) + 5, this, 60, "up");
Symbol 413 MovieClip [Catapult] Frame 104
stop();
Symbol 413 MovieClip [Catapult] Frame 119
_root.firearrow(this, "Rock");
Symbol 413 MovieClip [Catapult] Frame 396
gotoAndPlay (1);
Symbol 425 MovieClip [Orc Battering Ram] Frame 1
_root.ready(this);
swipes = 1;
big = true;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Sword", _x);
}
Symbol 425 MovieClip [Orc Battering Ram] Frame 6
if (speed < 20) {
speed = speed + 0.25;
}
range = speed * 10;
frontwheel._rotation = frontwheel._rotation + speed;
backwheel._rotation = backwheel._rotation + speed;
_root.moveman(this, speed, true);
Symbol 425 MovieClip [Orc Battering Ram] Frame 7
call("walk");
Symbol 425 MovieClip [Orc Battering Ram] Frame 8
gotoAndPlay (1);
Symbol 425 MovieClip [Orc Battering Ram] Frame 9
call("walk");
Symbol 425 MovieClip [Orc Battering Ram] Frame 10
call("walk");
Symbol 425 MovieClip [Orc Battering Ram] Frame 11
call("walk");
Symbol 425 MovieClip [Orc Battering Ram] Frame 12
call("walk");
Symbol 425 MovieClip [Orc Battering Ram] Frame 13
call("walk");
Symbol 425 MovieClip [Orc Battering Ram] Frame 14
call("walk");
Symbol 425 MovieClip [Orc Battering Ram] Frame 15
call("walk");
Symbol 425 MovieClip [Orc Battering Ram] Frame 16
call("walk");
Symbol 425 MovieClip [Orc Battering Ram] Frame 17
call("walk");
Symbol 425 MovieClip [Orc Battering Ram] Frame 18
call("walk");
Symbol 425 MovieClip [Orc Battering Ram] Frame 19
call("walk");
Symbol 425 MovieClip [Orc Battering Ram] Frame 20
call("walk");
Symbol 425 MovieClip [Orc Battering Ram] Frame 21
call("walk");
Symbol 425 MovieClip [Orc Battering Ram] Frame 22
if (speed < 20) {
speed = speed + 0.25;
}
range = speed * 10;
frontwheel._rotation = frontwheel._rotation + speed;
backwheel._rotation = backwheel._rotation + speed;
_root.moveman(this, speed, true);
hitamount = speed * 10;
if (_root.enemyinrange(this, 100)) {
if (target.castle == true) {
speed = -speed;
if (Math.abs(speed) < 10) {
speed = -(10 - random(5));
}
} else {
speed = 0;
}
}
_root.impact(this, 100, hitamount);
Symbol 425 MovieClip [Orc Battering Ram] Frame 23
call("walk");
Symbol 425 MovieClip [Orc Battering Ram] Frame 24
call("walk");
Symbol 425 MovieClip [Orc Battering Ram] Frame 25
call("walk");
Symbol 425 MovieClip [Orc Battering Ram] Frame 26
call("walk");
Symbol 425 MovieClip [Orc Battering Ram] Frame 27
call("walk");
Symbol 425 MovieClip [Orc Battering Ram] Frame 28
call("walk");
Symbol 425 MovieClip [Orc Battering Ram] Frame 29
gotoAndPlay (1);
Symbol 425 MovieClip [Orc Battering Ram] Frame 30
_root.die(this);
Symbol 425 MovieClip [Orc Battering Ram] Frame 52
stop();
Symbol 436 MovieClip [Obelisk] Frame 1
_root.ready(this);
swipes = 1;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Sword", _x);
}
Symbol 436 MovieClip [Obelisk] Frame 10
gotoAndPlay (1);
Symbol 436 MovieClip [Obelisk] Frame 11
_root.moveman(this, speed, true);
Symbol 436 MovieClip [Obelisk] Frame 12
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 13
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 14
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 15
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 16
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 17
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 18
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 19
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 20
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 21
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 22
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 23
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 24
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 25
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 26
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 27
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 28
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 29
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 30
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 31
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 32
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 33
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 34
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 35
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 36
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 37
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 38
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 39
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 40
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 41
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 42
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 43
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 44
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 45
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 46
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 47
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 48
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 49
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 50
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 51
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 52
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 53
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 54
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 55
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 56
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 57
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 58
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 59
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 60
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 61
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 62
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 63
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 64
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 65
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 66
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 67
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 68
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 69
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 70
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 71
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 72
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 73
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 74
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 75
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 76
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 77
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 78
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 79
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 80
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 81
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 82
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 83
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 84
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 85
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 86
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 87
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 88
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 89
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 90
call("walk");
Symbol 436 MovieClip [Obelisk] Frame 91
gotoAndPlay (1);
Symbol 436 MovieClip [Obelisk] Frame 92
_root.die(this);
_root.blood(random(5) + 5, this, 60, "up");
Symbol 436 MovieClip [Obelisk] Frame 104
stop();
Symbol 436 MovieClip [Obelisk] Frame 112
_root.firearrow(this, "Obelisk Magic Bolt");
Symbol 436 MovieClip [Obelisk] Frame 175
gotoAndPlay (1);
Symbol 440 MovieClip [Log Launcher] Frame 1
_root.ready(this);
swipes = 1;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Sword", _x);
}
Symbol 440 MovieClip [Log Launcher] Frame 10
gotoAndPlay (1);
Symbol 440 MovieClip [Log Launcher] Frame 11
_root.moveman(this, speed, true);
Symbol 440 MovieClip [Log Launcher] Frame 12
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 13
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 14
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 15
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 16
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 17
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 18
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 19
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 20
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 21
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 22
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 23
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 24
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 25
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 26
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 27
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 28
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 29
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 30
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 31
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 32
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 33
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 34
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 35
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 36
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 37
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 38
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 39
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 40
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 41
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 42
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 43
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 44
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 45
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 46
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 47
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 48
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 49
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 50
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 51
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 52
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 53
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 54
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 55
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 56
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 57
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 58
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 59
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 60
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 61
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 62
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 63
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 64
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 65
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 66
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 67
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 68
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 69
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 70
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 71
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 72
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 73
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 74
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 75
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 76
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 77
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 78
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 79
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 80
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 81
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 82
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 83
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 84
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 85
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 86
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 87
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 88
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 89
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 90
call("walk");
Symbol 440 MovieClip [Log Launcher] Frame 91
gotoAndPlay (1);
Symbol 440 MovieClip [Log Launcher] Frame 107
_root.firearrow(this, "Log");
Symbol 440 MovieClip [Log Launcher] Frame 188
gotoAndPlay (1);
Symbol 440 MovieClip [Log Launcher] Frame 216
stop();
Symbol 447 MovieClip Frame 3
gotoAndPlay (1);
Symbol 448 MovieClip [HK-Tank] Frame 1
_root.ready(this);
swipes = 1;
big = true;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Other", _x);
}
terminator = true;
Symbol 448 MovieClip [HK-Tank] Frame 10
gotoAndPlay (1);
Symbol 448 MovieClip [HK-Tank] Frame 11
_root.moveman(this, speed, true);
Symbol 448 MovieClip [HK-Tank] Frame 12
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 13
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 14
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 15
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 16
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 17
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 18
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 19
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 20
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 21
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 22
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 23
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 24
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 25
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 26
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 27
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 28
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 29
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 30
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 31
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 32
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 33
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 34
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 35
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 36
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 37
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 38
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 39
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 40
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 41
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 42
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 43
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 44
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 45
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 46
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 47
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 48
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 49
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 50
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 51
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 52
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 53
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 54
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 55
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 56
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 57
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 58
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 59
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 60
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 61
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 62
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 63
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 64
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 65
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 66
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 67
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 68
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 69
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 70
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 71
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 72
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 73
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 74
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 75
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 76
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 77
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 78
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 79
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 80
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 81
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 82
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 83
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 84
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 85
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 86
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 87
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 88
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 89
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 90
call("walk");
Symbol 448 MovieClip [HK-Tank] Frame 91
gotoAndPlay (1);
Symbol 448 MovieClip [HK-Tank] Frame 92
_root.PlaySound("MinigunSFX", _x);
Symbol 448 MovieClip [HK-Tank] Frame 93
call("fire");
Symbol 448 MovieClip [HK-Tank] Frame 94
if (target.castle == true) {
damage = 10;
} else {
damage = 50;
}
_root.attack(this, "HIGH", 1000, damage);
Symbol 448 MovieClip [HK-Tank] Frame 95
call("fire");
Symbol 448 MovieClip [HK-Tank] Frame 96
call("fire");
Symbol 448 MovieClip [HK-Tank] Frame 97
call("fire");
Symbol 448 MovieClip [HK-Tank] Frame 98
call("fire");
Symbol 448 MovieClip [HK-Tank] Frame 99
call("fire");
Symbol 448 MovieClip [HK-Tank] Frame 100
call("fire");
Symbol 448 MovieClip [HK-Tank] Frame 101
call("fire");
Symbol 448 MovieClip [HK-Tank] Frame 102
call("fire");
Symbol 448 MovieClip [HK-Tank] Frame 103
call("fire");
Symbol 448 MovieClip [HK-Tank] Frame 104
call("fire");
Symbol 448 MovieClip [HK-Tank] Frame 105
call("fire");
Symbol 448 MovieClip [HK-Tank] Frame 106
call("fire");
Symbol 448 MovieClip [HK-Tank] Frame 107
call("fire");
Symbol 448 MovieClip [HK-Tank] Frame 108
call("fire");
Symbol 448 MovieClip [HK-Tank] Frame 109
call("fire");
Symbol 448 MovieClip [HK-Tank] Frame 120
gotoAndPlay (1);
Symbol 448 MovieClip [HK-Tank] Frame 148
stop();
Symbol 456 MovieClip [HK-Drone] Frame 1
_root.ready(this);
swipes = 1;
big = true;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Other", _x);
}
terminator = true;
Symbol 456 MovieClip [HK-Drone] Frame 6
gotoAndPlay (1);
Symbol 456 MovieClip [HK-Drone] Frame 7
if (target.castle == true) {
speed = speed / 1.2;
} else if (speed < 30) {
speed = speed + 0.5;
}
_root.moveman(this, speed, true);
turbine._rotation = speed;
Symbol 456 MovieClip [HK-Drone] Frame 8
call("walk");
Symbol 456 MovieClip [HK-Drone] Frame 9
call("walk");
Symbol 456 MovieClip [HK-Drone] Frame 10
call("walk");
Symbol 456 MovieClip [HK-Drone] Frame 11
call("walk");
Symbol 456 MovieClip [HK-Drone] Frame 12
call("walk");
Symbol 456 MovieClip [HK-Drone] Frame 13
call("walk");
Symbol 456 MovieClip [HK-Drone] Frame 14
call("walk");
Symbol 456 MovieClip [HK-Drone] Frame 15
gotoAndPlay (1);
Symbol 456 MovieClip [HK-Drone] Frame 16
function movement() {
speed = speed / 1.2;
_root.moveman(this, speed, true);
turbine._rotation = speed;
}
Symbol 456 MovieClip [HK-Drone] Frame 17
movement();
function firegun() {
_root.PlaySound("MinigunSFX", _x);
if (target.castle == true) {
damage = 10;
} else {
damage = 50;
}
_root.attack(this, "HIGH", 500, damage);
}
firegun();
Symbol 456 MovieClip [HK-Drone] Frame 18
movement();
Symbol 456 MovieClip [HK-Drone] Frame 19
movement();
firegun();
Symbol 456 MovieClip [HK-Drone] Frame 20
movement();
Symbol 456 MovieClip [HK-Drone] Frame 21
movement();
firegun();
Symbol 456 MovieClip [HK-Drone] Frame 22
movement();
Symbol 456 MovieClip [HK-Drone] Frame 23
movement();
firegun();
Symbol 456 MovieClip [HK-Drone] Frame 24
movement();
Symbol 456 MovieClip [HK-Drone] Frame 25
movement();
firegun();
Symbol 456 MovieClip [HK-Drone] Frame 26
movement();
Symbol 456 MovieClip [HK-Drone] Frame 27
movement();
firegun();
Symbol 456 MovieClip [HK-Drone] Frame 28
movement();
Symbol 456 MovieClip [HK-Drone] Frame 29
movement();
firegun();
Symbol 456 MovieClip [HK-Drone] Frame 30
movement();
Symbol 456 MovieClip [HK-Drone] Frame 31
movement();
firegun();
Symbol 456 MovieClip [HK-Drone] Frame 32
movement();
Symbol 456 MovieClip [HK-Drone] Frame 33
movement();
firegun();
Symbol 456 MovieClip [HK-Drone] Frame 34
movement();
Symbol 456 MovieClip [HK-Drone] Frame 35
movement();
Symbol 456 MovieClip [HK-Drone] Frame 36
movement();
Symbol 456 MovieClip [HK-Drone] Frame 37
movement();
Symbol 456 MovieClip [HK-Drone] Frame 38
movement();
Symbol 456 MovieClip [HK-Drone] Frame 39
movement();
Symbol 456 MovieClip [HK-Drone] Frame 40
movement();
Symbol 456 MovieClip [HK-Drone] Frame 41
movement();
Symbol 456 MovieClip [HK-Drone] Frame 42
movement();
Symbol 456 MovieClip [HK-Drone] Frame 43
gotoAndPlay (1);
Symbol 456 MovieClip [HK-Drone] Frame 66
stop();
Symbol 463 MovieClip [Fire Tower] Frame 1
_root.ready(this);
swipes = 1;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Sword", _x);
}
Symbol 463 MovieClip [Fire Tower] Frame 10
gotoAndPlay (1);
Symbol 463 MovieClip [Fire Tower] Frame 11
_root.moveman(this, speed, true);
Symbol 463 MovieClip [Fire Tower] Frame 12
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 13
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 14
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 15
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 16
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 17
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 18
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 19
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 20
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 21
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 22
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 23
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 24
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 25
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 26
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 27
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 28
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 29
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 30
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 31
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 32
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 33
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 34
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 35
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 36
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 37
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 38
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 39
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 40
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 41
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 42
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 43
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 44
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 45
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 46
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 47
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 48
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 49
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 50
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 51
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 52
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 53
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 54
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 55
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 56
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 57
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 58
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 59
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 60
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 61
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 62
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 63
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 64
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 65
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 66
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 67
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 68
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 69
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 70
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 71
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 72
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 73
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 74
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 75
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 76
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 77
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 78
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 79
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 80
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 81
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 82
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 83
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 84
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 85
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 86
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 87
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 88
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 89
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 90
call("walk");
Symbol 463 MovieClip [Fire Tower] Frame 91
gotoAndPlay (1);
Symbol 463 MovieClip [Fire Tower] Frame 97
_root.firearrow(this, "FireBall");
Symbol 463 MovieClip [Fire Tower] Frame 120
gotoAndPlay (1);
Symbol 463 MovieClip [Fire Tower] Frame 135
stop();
Symbol 472 MovieClip [Battering Ram] Frame 1
_root.ready(this);
swipes = 1;
big = true;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Sword", _x);
if (_root.HasUpgrade(unittype, 37, player)) {
speed = 10;
}
}
Symbol 472 MovieClip [Battering Ram] Frame 6
if (speed < 20) {
speed = speed + 0.25;
}
range = speed * 10;
frontwheel._rotation = frontwheel._rotation + speed;
backwheel._rotation = backwheel._rotation + speed;
_root.moveman(this, speed, true);
Symbol 472 MovieClip [Battering Ram] Frame 7
call("walk");
Symbol 472 MovieClip [Battering Ram] Frame 8
gotoAndPlay (1);
Symbol 472 MovieClip [Battering Ram] Frame 9
call("walk");
Symbol 472 MovieClip [Battering Ram] Frame 10
call("walk");
Symbol 472 MovieClip [Battering Ram] Frame 11
call("walk");
Symbol 472 MovieClip [Battering Ram] Frame 12
call("walk");
Symbol 472 MovieClip [Battering Ram] Frame 13
call("walk");
Symbol 472 MovieClip [Battering Ram] Frame 14
call("walk");
Symbol 472 MovieClip [Battering Ram] Frame 15
call("walk");
Symbol 472 MovieClip [Battering Ram] Frame 16
call("walk");
Symbol 472 MovieClip [Battering Ram] Frame 17
call("walk");
Symbol 472 MovieClip [Battering Ram] Frame 18
call("walk");
Symbol 472 MovieClip [Battering Ram] Frame 19
call("walk");
Symbol 472 MovieClip [Battering Ram] Frame 20
call("walk");
Symbol 472 MovieClip [Battering Ram] Frame 21
call("walk");
Symbol 472 MovieClip [Battering Ram] Frame 22
if (speed < 20) {
speed = speed + 0.25;
}
range = speed * 10;
frontwheel._rotation = frontwheel._rotation + speed;
backwheel._rotation = backwheel._rotation + speed;
_root.moveman(this, speed, true);
hitamount = speed * 10;
if (_root.enemyinrange(this, 100)) {
if (target.castle == true) {
speed = -speed;
if (Math.abs(speed) < 10) {
speed = -(10 - random(5));
}
} else {
speed = 0;
}
}
_root.impact(this, 100, hitamount);
Symbol 472 MovieClip [Battering Ram] Frame 23
call("walk");
Symbol 472 MovieClip [Battering Ram] Frame 24
call("walk");
Symbol 472 MovieClip [Battering Ram] Frame 25
call("walk");
Symbol 472 MovieClip [Battering Ram] Frame 26
call("walk");
Symbol 472 MovieClip [Battering Ram] Frame 27
call("walk");
Symbol 472 MovieClip [Battering Ram] Frame 28
call("walk");
Symbol 472 MovieClip [Battering Ram] Frame 29
gotoAndPlay (1);
Symbol 472 MovieClip [Battering Ram] Frame 30
_root.die(this);
Symbol 472 MovieClip [Battering Ram] Frame 52
stop();
Symbol 479 MovieClip [Obelisk Magic Bolt] Frame 1
yspeed = 0;
_y = (_y - 200);
stop();
this.onEnterFrame = function () {
if (yspeed < 0) {
if (target.castle == true) {
if (_root.castles == "right") {
_x = 1500;
} else {
_x = -1500;
}
if (_y > -200) {
gotoAndPlay (2);
this.onEnterFrame = undefined;
}
} else {
_x = target._x;
if (this.hitTest(target)) {
gotoAndPlay (2);
this.onEnterFrame = undefined;
}
}
} else {
yspeed++;
if (_y < -2000) {
yspeed = -yspeed;
}
}
_y = (_y - yspeed);
};
Symbol 479 MovieClip [Obelisk Magic Bolt] Frame 2
_root.hurt(target, random(220));
Symbol 479 MovieClip [Obelisk Magic Bolt] Frame 11
this.removeMovieClip();
Symbol 483 MovieClip [Shieldman] Frame 1
if (inbattle == true) {
play();
} else {
stop();
}
if ((setupsound != true) && (inbattle == true)) {
setupsound = true;
_root.PlaySound("Equip_Halberd", _x);
}
Symbol 483 MovieClip [Shieldman] Frame 17
_root.ready(this);
swipes = 1;
shielded = true;
Symbol 483 MovieClip [Shieldman] Frame 26
shielded = true;
_root.moveman(this, speed, true);
Symbol 483 MovieClip [Shieldman] Frame 27
call("walk");
Symbol 483 MovieClip [Shieldman] Frame 28
call("walk");
Symbol 483 MovieClip [Shieldman] Frame 29
call("walk");
Symbol 483 MovieClip [Shieldman] Frame 30
call("walk");
Symbol 483 MovieClip [Shieldman] Frame 31
call("walk");
Symbol 483 MovieClip [Shieldman] Frame 32
call("walk");
Symbol 483 MovieClip [Shieldman] Frame 33
call("walk");
Symbol 483 MovieClip [Shieldman] Frame 34
call("walk");
Symbol 483 MovieClip [Shieldman] Frame 35
call("walk");
Symbol 483 MovieClip [Shieldman] Frame 36
call("walk");
Symbol 483 MovieClip [Shieldman] Frame 37
gotoAndPlay ("ready");
Symbol 483 MovieClip [Shieldman] Frame 38
shielded = false;
Symbol 483 MovieClip [Shieldman] Frame 41
_root.attack(this, "MIDDLE", 150, 20);
Symbol 483 MovieClip [Shieldman] Frame 66
gotoAndPlay ("ready");
Symbol 483 MovieClip [Shieldman] Frame 67
_root.blood(random(5) + 5, this, 60, "up");
_root.die(this);
_root.dropspear(this);
Symbol 483 MovieClip [Shieldman] Frame 124
stop();
Symbol 484 MovieClip [Scythe Whirler] Frame 1
_root.ready(this);
swipes = 1;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Sword", _x);
}
Symbol 484 MovieClip [Scythe Whirler] Frame 21
gotoAndPlay (1);
Symbol 484 MovieClip [Scythe Whirler] Frame 22
_root.blood(random(5) + 5, this, 60, "up");
_root.die(this);
_root.dropspear(this);
Symbol 484 MovieClip [Scythe Whirler] Frame 79
stop();
Symbol 484 MovieClip [Scythe Whirler] Frame 80
_root.moveman(this, speed, true);
Symbol 484 MovieClip [Scythe Whirler] Frame 81
call("walk");
Symbol 484 MovieClip [Scythe Whirler] Frame 82
call("walk");
Symbol 484 MovieClip [Scythe Whirler] Frame 83
call("walk");
Symbol 484 MovieClip [Scythe Whirler] Frame 84
call("walk");
Symbol 484 MovieClip [Scythe Whirler] Frame 85
call("walk");
Symbol 484 MovieClip [Scythe Whirler] Frame 86
call("walk");
Symbol 484 MovieClip [Scythe Whirler] Frame 87
call("walk");
Symbol 484 MovieClip [Scythe Whirler] Frame 88
call("walk");
Symbol 484 MovieClip [Scythe Whirler] Frame 89
call("walk");
Symbol 484 MovieClip [Scythe Whirler] Frame 90
call("walk");
Symbol 484 MovieClip [Scythe Whirler] Frame 91
gotoAndPlay (1);
Symbol 484 MovieClip [Scythe Whirler] Frame 92
if (_root.GetDistance(this, target) < 70) {
gotoAndPlay ("bswipe");
} else {
_root.moveman(this, speed, false);
}
Symbol 484 MovieClip [Scythe Whirler] Frame 93
_root.moveman(this, speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 94
_root.moveman(this, speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 95
_root.moveman(this, speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 96
_root.moveman(this, speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 97
_root.moveman(this, speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 98
_root.moveman(this, speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 99
_root.moveman(this, speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 100
_root.moveman(this, speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 101
_root.moveman(this, speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 102
_root.moveman(this, speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 103
_root.moveman(this, speed, false);
_root.attack(this, "HIGH", 170, 70, "head");
Symbol 484 MovieClip [Scythe Whirler] Frame 104
_root.moveman(this, speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 105
_root.moveman(this, speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 106
_root.moveman(this, speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 107
_root.moveman(this, speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 108
_root.moveman(this, speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 109
_root.moveman(this, speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 110
_root.moveman(this, speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 111
gotoAndPlay (1);
Symbol 484 MovieClip [Scythe Whirler] Frame 112
_root.moveman(this, -speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 113
_root.moveman(this, -speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 114
_root.moveman(this, -speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 115
_root.moveman(this, -speed, false);
_root.attack(this, "MIDDLE", 100, 20);
Symbol 484 MovieClip [Scythe Whirler] Frame 116
_root.moveman(this, -speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 117
_root.moveman(this, -speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 118
_root.moveman(this, -speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 119
_root.moveman(this, -speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 120
_root.moveman(this, -speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 121
_root.moveman(this, -speed, false);
_root.attack(this, "HIGH", 100, 20);
Symbol 484 MovieClip [Scythe Whirler] Frame 122
_root.moveman(this, -speed, false);
Symbol 484 MovieClip [Scythe Whirler] Frame 123
gotoAndPlay (1);
Symbol 486 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 487 MovieClip [Scout] Frame 1
_root.ready(this);
swipes = 2;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Spear", _x);
}
Symbol 487 MovieClip [Scout] Frame 35
call("ready");
Symbol 487 MovieClip [Scout] Frame 36
gotoAndPlay (1);
Symbol 487 MovieClip [Scout] Frame 37
_root.moveman(this, speed, true);
Symbol 487 MovieClip [Scout] Frame 38
call("walk");
Symbol 487 MovieClip [Scout] Frame 39
call("walk");
Symbol 487 MovieClip [Scout] Frame 40
call("walk");
Symbol 487 MovieClip [Scout] Frame 41
call("walk");
Symbol 487 MovieClip [Scout] Frame 42
call("walk");
Symbol 487 MovieClip [Scout] Frame 43
call("walk");
Symbol 487 MovieClip [Scout] Frame 44
call("walk");
Symbol 487 MovieClip [Scout] Frame 45
call("walk");
Symbol 487 MovieClip [Scout] Frame 46
call("walk");
Symbol 487 MovieClip [Scout] Frame 47
call("walk");
Symbol 487 MovieClip [Scout] Frame 48
gotoAndPlay (1);
Symbol 487 MovieClip [Scout] Frame 106
stop();
Symbol 487 MovieClip [Scout] Frame 115
_root.attack(this, "MIDDLE", 60, 30);
Symbol 487 MovieClip [Scout] Frame 123
gotoAndPlay (1);
Symbol 487 MovieClip [Scout] Frame 132
_root.attack(this, "MIDDLE", 60, 30);
Symbol 487 MovieClip [Scout] Frame 140
gotoAndPlay (1);
Symbol 487 MovieClip [Scout] Frame 141
speed = 25;
_root.moveman(this, speed, true);
Symbol 487 MovieClip [Scout] Frame 142
call("special");
Symbol 487 MovieClip [Scout] Frame 143
call("special");
Symbol 487 MovieClip [Scout] Frame 144
call("special");
Symbol 487 MovieClip [Scout] Frame 145
call("special");
Symbol 487 MovieClip [Scout] Frame 146
call("special");
Symbol 487 MovieClip [Scout] Frame 147
call("special");
Symbol 487 MovieClip [Scout] Frame 148
call("special");
Symbol 487 MovieClip [Scout] Frame 149
call("special");
Symbol 487 MovieClip [Scout] Frame 150
call("special");
Symbol 487 MovieClip [Scout] Frame 151
call("special");
Symbol 487 MovieClip [Scout] Frame 152
gotoAndPlay (1);
Symbol 487 MovieClip [Scout] Frame 153
speciallevel = 1;
_root.moveman(this, speed, true);
speed = 10;
Symbol 487 MovieClip [Scout] Frame 154
_root.attack(this, "MIDDLE", 60, 50);
Symbol 487 MovieClip [Scout] Frame 161
gotoAndPlay (1);
Symbol 493 MovieClip [Samurai] Frame 1
_root.ready(this);
swipes = 2;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Sword", _x);
}
Symbol 493 MovieClip [Samurai] Frame 10
gotoAndPlay (1);
Symbol 493 MovieClip [Samurai] Frame 11
_root.moveman(this, speed, true);
Symbol 493 MovieClip [Samurai] Frame 12
call("walk");
Symbol 493 MovieClip [Samurai] Frame 13
call("walk");
Symbol 493 MovieClip [Samurai] Frame 14
call("walk");
Symbol 493 MovieClip [Samurai] Frame 15
call("walk");
Symbol 493 MovieClip [Samurai] Frame 16
call("walk");
Symbol 493 MovieClip [Samurai] Frame 17
call("walk");
Symbol 493 MovieClip [Samurai] Frame 18
call("walk");
Symbol 493 MovieClip [Samurai] Frame 19
call("walk");
Symbol 493 MovieClip [Samurai] Frame 20
call("walk");
Symbol 493 MovieClip [Samurai] Frame 21
call("walk");
Symbol 493 MovieClip [Samurai] Frame 22
gotoAndPlay (1);
Symbol 493 MovieClip [Samurai] Frame 23
_root.die(this);
_root.blood(random(5) + 5, this, 60, "up");
Symbol 493 MovieClip [Samurai] Frame 80
stop();
Symbol 493 MovieClip [Samurai] Frame 81
_root.moveman(this, speed * 2, true);
Symbol 493 MovieClip [Samurai] Frame 82
call("swipe1");
Symbol 493 MovieClip [Samurai] Frame 83
call("swipe1");
Symbol 493 MovieClip [Samurai] Frame 84
call("swipe1");
Symbol 493 MovieClip [Samurai] Frame 85
call("swipe1");
Symbol 493 MovieClip [Samurai] Frame 86
call("swipe1");
Symbol 493 MovieClip [Samurai] Frame 87
call("swipe1");
Symbol 493 MovieClip [Samurai] Frame 88
call("swipe1");
Symbol 493 MovieClip [Samurai] Frame 89
call("swipe1");
Symbol 493 MovieClip [Samurai] Frame 90
call("swipe1");
Symbol 493 MovieClip [Samurai] Frame 91
_root.attack(this, "MIDDLE", 130, 80, "head");
Symbol 493 MovieClip [Samurai] Frame 104
_root.attack(this, "MIDDLE", 130, 60);
Symbol 493 MovieClip [Samurai] Frame 115
gotoAndPlay (1);
Symbol 493 MovieClip [Samurai] Frame 116
call("walk");
Symbol 493 MovieClip [Samurai] Frame 117
call("walk");
Symbol 493 MovieClip [Samurai] Frame 118
call("walk");
Symbol 493 MovieClip [Samurai] Frame 119
call("walk");
Symbol 493 MovieClip [Samurai] Frame 120
call("walk");
Symbol 493 MovieClip [Samurai] Frame 121
call("walk");
Symbol 493 MovieClip [Samurai] Frame 122
call("walk");
Symbol 493 MovieClip [Samurai] Frame 123
call("walk");
Symbol 493 MovieClip [Samurai] Frame 124
call("walk");
Symbol 493 MovieClip [Samurai] Frame 125
call("walk");
Symbol 493 MovieClip [Samurai] Frame 126
call("walk");
Symbol 493 MovieClip [Samurai] Frame 127
_root.attack(this, "MIDDLE", 140, 60);
_root.moveman(this, speed, true);
Symbol 493 MovieClip [Samurai] Frame 128
call("walk");
Symbol 493 MovieClip [Samurai] Frame 129
call("walk");
Symbol 493 MovieClip [Samurai] Frame 130
call("walk");
Symbol 493 MovieClip [Samurai] Frame 131
call("walk");
Symbol 493 MovieClip [Samurai] Frame 132
gotoAndPlay (1);
Symbol 495 MovieClip [Rock Thrower] Frame 1
_root.ready(this);
swipes = 1;
isarcher = true;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Other", _x);
}
Symbol 495 MovieClip [Rock Thrower] Frame 22
_root.die(this);
_root.blood(random(5) + 5, this, 60, "up");
Symbol 495 MovieClip [Rock Thrower] Frame 79
stop();
Symbol 495 MovieClip [Rock Thrower] Frame 80
_root.moveman(this, 5, true);
Symbol 495 MovieClip [Rock Thrower] Frame 81
call("walk");
Symbol 495 MovieClip [Rock Thrower] Frame 82
call("walk");
Symbol 495 MovieClip [Rock Thrower] Frame 83
call("walk");
Symbol 495 MovieClip [Rock Thrower] Frame 84
call("walk");
Symbol 495 MovieClip [Rock Thrower] Frame 85
call("walk");
Symbol 495 MovieClip [Rock Thrower] Frame 86
call("walk");
Symbol 495 MovieClip [Rock Thrower] Frame 87
call("walk");
Symbol 495 MovieClip [Rock Thrower] Frame 88
call("walk");
Symbol 495 MovieClip [Rock Thrower] Frame 89
call("walk");
Symbol 495 MovieClip [Rock Thrower] Frame 90
call("walk");
Symbol 495 MovieClip [Rock Thrower] Frame 91
gotoAndPlay (1);
Symbol 495 MovieClip [Rock Thrower] Frame 116
_root.firearrow(this, "Throwing Rock");
Symbol 495 MovieClip [Rock Thrower] Frame 131
gotoAndPlay (1);
Symbol 517 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 528 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 532 MovieClip Frame 1
race = _parent.race;
if (_parent.target.moving == true) {
if (_parent.target.facing == "left") {
range = (_parent.target._x + (96 * (-_parent.target.speed))) - _parent._x;
} else {
range = (_parent.target._x - (96 * (-_parent.target.speed))) - _parent._x;
}
} else if (_parent.target.castle == true) {
if (_parent.facing == "right") {
range = 2800 - (_parent._x + 1400);
} else {
range = -(_parent._x + 1400);
}
} else {
range = _parent.target._x - _parent._x;
}
velocity = 50;
angle = ((Math.asin((1 * range) / (velocity * velocity)) / 2) * 57.2957795130823) - 90;
if (isNaN(angle)) {
trace((("BOW is NAN range: " + range) + ", velocity: ") + velocity);
if (_parent.facing == "left") {
angle = 225;
} else {
angle = -45;
}
}
if (_parent.facing == "left") {
angle = (-angle) - 180;
}
_rotation = angle;
Symbol 532 MovieClip Frame 8
stop();
Symbol 533 MovieClip [Ranger] Frame 1
_root.ready(this);
swipes = 1;
type = "Archer";
Symbol 533 MovieClip [Ranger] Frame 2
call("ready");
Symbol 533 MovieClip [Ranger] Frame 3
call("ready");
Symbol 533 MovieClip [Ranger] Frame 4
call("ready");
Symbol 533 MovieClip [Ranger] Frame 5
gotoAndPlay (1);
Symbol 533 MovieClip [Ranger] Frame 6
_root.moveman(this, speed, true);
Symbol 533 MovieClip [Ranger] Frame 7
call("walk");
Symbol 533 MovieClip [Ranger] Frame 8
call("walk");
Symbol 533 MovieClip [Ranger] Frame 9
call("walk");
Symbol 533 MovieClip [Ranger] Frame 10
call("walk");
Symbol 533 MovieClip [Ranger] Frame 11
call("walk");
Symbol 533 MovieClip [Ranger] Frame 12
call("walk");
Symbol 533 MovieClip [Ranger] Frame 13
call("walk");
Symbol 533 MovieClip [Ranger] Frame 14
call("walk");
Symbol 533 MovieClip [Ranger] Frame 15
call("walk");
Symbol 533 MovieClip [Ranger] Frame 16
call("walk");
Symbol 533 MovieClip [Ranger] Frame 17
gotoAndPlay (1);
Symbol 533 MovieClip [Ranger] Frame 18
_root.die(this);
_root.blood(random(5) + 5, this, 60, "up");
Symbol 533 MovieClip [Ranger] Frame 75
stop();
Symbol 533 MovieClip [Ranger] Frame 104
_root.firearrow(this, "Arrow Ranger");
Symbol 533 MovieClip [Ranger] Frame 108
gotoAndPlay (1);
Symbol 535 MovieClip [Raised] Frame 13
_root.ready(this);
swipes = 1;
speed = 8;
range = 100;
Symbol 535 MovieClip [Raised] Frame 18
gotoAndPlay ("ready");
Symbol 535 MovieClip [Raised] Frame 19
_root.moveman(this, speed, true);
Symbol 535 MovieClip [Raised] Frame 20
call("walk");
Symbol 535 MovieClip [Raised] Frame 21
call("walk");
Symbol 535 MovieClip [Raised] Frame 22
call("walk");
Symbol 535 MovieClip [Raised] Frame 23
call("walk");
Symbol 535 MovieClip [Raised] Frame 24
call("walk");
Symbol 535 MovieClip [Raised] Frame 25
call("walk");
Symbol 535 MovieClip [Raised] Frame 26
call("walk");
Symbol 535 MovieClip [Raised] Frame 27
call("walk");
Symbol 535 MovieClip [Raised] Frame 28
call("walk");
Symbol 535 MovieClip [Raised] Frame 29
call("walk");
Symbol 535 MovieClip [Raised] Frame 30
gotoAndPlay ("ready");
Symbol 535 MovieClip [Raised] Frame 31
call("walk");
Symbol 535 MovieClip [Raised] Frame 32
call("walk");
Symbol 535 MovieClip [Raised] Frame 33
call("walk");
Symbol 535 MovieClip [Raised] Frame 34
call("walk");
Symbol 535 MovieClip [Raised] Frame 35
call("walk");
Symbol 535 MovieClip [Raised] Frame 36
call("walk");
Symbol 535 MovieClip [Raised] Frame 37
call("walk");
Symbol 535 MovieClip [Raised] Frame 38
call("walk");
Symbol 535 MovieClip [Raised] Frame 39
call("walk");
Symbol 535 MovieClip [Raised] Frame 40
_root.moveman(this, speed, true);
_root.impact(this, 50, 30);
Symbol 535 MovieClip [Raised] Frame 41
call("walk");
Symbol 535 MovieClip [Raised] Frame 42
call("walk");
Symbol 535 MovieClip [Raised] Frame 43
call("walk");
Symbol 535 MovieClip [Raised] Frame 44
gotoAndPlay ("ready");
Symbol 535 MovieClip [Raised] Frame 45
_root.die(this);
Symbol 535 MovieClip [Raised] Frame 69
this.removeMovieClip();
Symbol 557 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 574 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 592 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 609 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 624 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 641 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 658 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 659 MovieClip [Mounted Spearman] Frame 1
_root.ready(this);
swipes = 1;
if (setupsound != true) {
speed = 0;
setupsound = true;
sfx = "Horse" + (random(2) + 1);
_root.PlaySound(sfx, _x);
}
mounted = true;
Symbol 659 MovieClip [Mounted Spearman] Frame 5
gotoAndPlay (1);
Symbol 659 MovieClip [Mounted Spearman] Frame 6
_root.blood(random(5) + 5, this, 60, "up");
_root.die(this);
_root.dropspear(this);
Symbol 659 MovieClip [Mounted Spearman] Frame 16
_root.horserunoff(this);
Symbol 659 MovieClip [Mounted Spearman] Frame 63
stop();
Symbol 659 MovieClip [Mounted Spearman] Frame 64
if (speed < 30) {
speed++;
}
_root.moveman(this, speed, true);
Symbol 659 MovieClip [Mounted Spearman] Frame 65
_root.moveman(this, speed, true);
Symbol 659 MovieClip [Mounted Spearman] Frame 66
_root.moveman(this, speed, true);
Symbol 659 MovieClip [Mounted Spearman] Frame 67
_root.moveman(this, speed, true);
Symbol 659 MovieClip [Mounted Spearman] Frame 68
_root.moveman(this, speed, true);
_root.attack(this, "MIDDLE", 130, 20);
Symbol 659 MovieClip [Mounted Spearman] Frame 69
_root.moveman(this, speed, true);
Symbol 659 MovieClip [Mounted Spearman] Frame 70
_root.moveman(this, speed, true);
Symbol 659 MovieClip [Mounted Spearman] Frame 71
_root.moveman(this, speed, true);
Symbol 659 MovieClip [Mounted Spearman] Frame 72
_root.moveman(this, speed, true);
Symbol 659 MovieClip [Mounted Spearman] Frame 73
gotoAndPlay (1);
Symbol 659 MovieClip [Mounted Spearman] Frame 74
if (speed < 30) {
speed++;
}
_root.moveman(this, speed, true);
Symbol 659 MovieClip [Mounted Spearman] Frame 75
call("walk");
Symbol 659 MovieClip [Mounted Spearman] Frame 76
call("walk");
Symbol 659 MovieClip [Mounted Spearman] Frame 77
call("walk");
Symbol 659 MovieClip [Mounted Spearman] Frame 78
call("walk");
Symbol 659 MovieClip [Mounted Spearman] Frame 79
call("walk");
Symbol 659 MovieClip [Mounted Spearman] Frame 80
call("walk");
Symbol 659 MovieClip [Mounted Spearman] Frame 81
gotoAndPlay (1);
call("walk");
Symbol 659 MovieClip [Mounted Spearman] Frame 96
_root.getoffhorse(this);
Symbol 680 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 682 MovieClip [Mounted Halberdier] Frame 1
_root.ready(this);
swipes = 1;
if (setupsound != true) {
speed = 0;
setupsound = true;
sfx = "Horse" + (random(2) + 1);
_root.PlaySound(sfx, _x);
}
mounted = true;
Symbol 682 MovieClip [Mounted Halberdier] Frame 5
gotoAndPlay (1);
Symbol 682 MovieClip [Mounted Halberdier] Frame 6
_root.blood(random(5) + 5, this, 60, "up");
_root.die(this);
_root.dropspear(this);
Symbol 682 MovieClip [Mounted Halberdier] Frame 16
_root.horserunoff(this);
Symbol 682 MovieClip [Mounted Halberdier] Frame 63
stop();
Symbol 682 MovieClip [Mounted Halberdier] Frame 64
if (speed < 30) {
speed++;
}
_root.moveman(this, speed, true);
Symbol 682 MovieClip [Mounted Halberdier] Frame 65
_root.moveman(this, speed, true);
Symbol 682 MovieClip [Mounted Halberdier] Frame 66
_root.moveman(this, speed, true);
Symbol 682 MovieClip [Mounted Halberdier] Frame 67
_root.moveman(this, speed, true);
Symbol 682 MovieClip [Mounted Halberdier] Frame 68
_root.moveman(this, speed, true);
Symbol 682 MovieClip [Mounted Halberdier] Frame 69
_root.moveman(this, speed, true);
Symbol 682 MovieClip [Mounted Halberdier] Frame 70
_root.moveman(this, speed, true);
_root.attack(this, "MIDDLE", 130, 45);
Symbol 682 MovieClip [Mounted Halberdier] Frame 71
_root.moveman(this, speed, true);
Symbol 682 MovieClip [Mounted Halberdier] Frame 72
_root.moveman(this, speed, true);
Symbol 682 MovieClip [Mounted Halberdier] Frame 73
_root.moveman(this, speed, true);
Symbol 682 MovieClip [Mounted Halberdier] Frame 74
_root.moveman(this, speed, true);
Symbol 682 MovieClip [Mounted Halberdier] Frame 75
_root.moveman(this, speed, true);
Symbol 682 MovieClip [Mounted Halberdier] Frame 76
_root.moveman(this, speed, true);
Symbol 682 MovieClip [Mounted Halberdier] Frame 77
_root.moveman(this, speed, true);
Symbol 682 MovieClip [Mounted Halberdier] Frame 78
_root.moveman(this, speed, true);
Symbol 682 MovieClip [Mounted Halberdier] Frame 79
_root.moveman(this, speed, true);
Symbol 682 MovieClip [Mounted Halberdier] Frame 80
_root.moveman(this, speed, true);
Symbol 682 MovieClip [Mounted Halberdier] Frame 81
_root.moveman(this, speed, true);
Symbol 682 MovieClip [Mounted Halberdier] Frame 82
_root.moveman(this, speed, true);
Symbol 682 MovieClip [Mounted Halberdier] Frame 83
_root.moveman(this, speed, true);
Symbol 682 MovieClip [Mounted Halberdier] Frame 84
gotoAndPlay (1);
Symbol 682 MovieClip [Mounted Halberdier] Frame 85
if (speed < 30) {
speed++;
}
_root.moveman(this, speed, true);
Symbol 682 MovieClip [Mounted Halberdier] Frame 86
call("walk");
Symbol 682 MovieClip [Mounted Halberdier] Frame 87
call("walk");
Symbol 682 MovieClip [Mounted Halberdier] Frame 88
call("walk");
Symbol 682 MovieClip [Mounted Halberdier] Frame 89
call("walk");
Symbol 682 MovieClip [Mounted Halberdier] Frame 90
call("walk");
Symbol 682 MovieClip [Mounted Halberdier] Frame 91
call("walk");
Symbol 682 MovieClip [Mounted Halberdier] Frame 92
call("walk");
Symbol 682 MovieClip [Mounted Halberdier] Frame 93
call("walk");
Symbol 682 MovieClip [Mounted Halberdier] Frame 94
gotoAndPlay (1);
Symbol 682 MovieClip [Mounted Halberdier] Frame 109
_root.getoffhorse(this);
Symbol 701 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 704 MovieClip [Longswordsman] Frame 1
_root.ready(this);
swipes = 2;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Sword", _x);
}
Symbol 704 MovieClip [Longswordsman] Frame 10
gotoAndPlay (1);
Symbol 704 MovieClip [Longswordsman] Frame 11
_root.moveman(this, speed, true);
Symbol 704 MovieClip [Longswordsman] Frame 12
call("walk");
Symbol 704 MovieClip [Longswordsman] Frame 13
call("walk");
Symbol 704 MovieClip [Longswordsman] Frame 14
call("walk");
Symbol 704 MovieClip [Longswordsman] Frame 15
call("walk");
Symbol 704 MovieClip [Longswordsman] Frame 16
call("walk");
Symbol 704 MovieClip [Longswordsman] Frame 17
call("walk");
Symbol 704 MovieClip [Longswordsman] Frame 18
call("walk");
Symbol 704 MovieClip [Longswordsman] Frame 19
call("walk");
Symbol 704 MovieClip [Longswordsman] Frame 20
call("walk");
Symbol 704 MovieClip [Longswordsman] Frame 21
call("walk");
Symbol 704 MovieClip [Longswordsman] Frame 22
gotoAndPlay (1);
Symbol 704 MovieClip [Longswordsman] Frame 23
_root.die(this);
_root.blood(random(5) + 5, this, 60, "up");
Symbol 704 MovieClip [Longswordsman] Frame 80
stop();
Symbol 704 MovieClip [Longswordsman] Frame 94
_root.attack(this, "MIDDLE", 130, 60, "head");
Symbol 704 MovieClip [Longswordsman] Frame 108
gotoAndPlay (1);
Symbol 704 MovieClip [Longswordsman] Frame 120
_root.attack(this, "MIDDLE", 140, 40);
Symbol 704 MovieClip [Longswordsman] Frame 125
gotoAndPlay (1);
Symbol 705 MovieClip [Ladderman] Frame 1
_root.ready(this);
swipes = 1;
ladderman = true;
if ((setupsound != true) && (inbattle == true)) {
setupsound = true;
_root.PlaySound("Equip_Other", _x);
}
Symbol 705 MovieClip [Ladderman] Frame 22
_root.die(this);
_root.blood(random(5) + 5, this, 60, "up");
Symbol 705 MovieClip [Ladderman] Frame 79
stop();
Symbol 705 MovieClip [Ladderman] Frame 80
_root.moveman(this, 5, true);
Symbol 705 MovieClip [Ladderman] Frame 81
call("walk");
Symbol 705 MovieClip [Ladderman] Frame 82
call("walk");
Symbol 705 MovieClip [Ladderman] Frame 83
call("walk");
Symbol 705 MovieClip [Ladderman] Frame 84
call("walk");
Symbol 705 MovieClip [Ladderman] Frame 85
call("walk");
Symbol 705 MovieClip [Ladderman] Frame 86
call("walk");
Symbol 705 MovieClip [Ladderman] Frame 87
call("walk");
Symbol 705 MovieClip [Ladderman] Frame 88
call("walk");
Symbol 705 MovieClip [Ladderman] Frame 89
call("walk");
Symbol 705 MovieClip [Ladderman] Frame 90
call("walk");
Symbol 705 MovieClip [Ladderman] Frame 91
gotoAndPlay (1);
Symbol 705 MovieClip [Ladderman] Frame 98
_root.attack(this, "MIDDLE", 30, 30);
Symbol 705 MovieClip [Ladderman] Frame 106
gotoAndPlay (1);
Symbol 705 MovieClip [Ladderman] Frame 107
if (facing == "right") {
_x = 1150;
} else {
_x = -1150;
}
Symbol 705 MovieClip [Ladderman] Frame 126
_root.placeladder(this);
stop();
Symbol 705 MovieClip [Ladderman] Frame 127
_root.moveman(this, speed * 3, true);
Symbol 705 MovieClip [Ladderman] Frame 128
call("special");
Symbol 705 MovieClip [Ladderman] Frame 129
call("special");
Symbol 705 MovieClip [Ladderman] Frame 130
call("special");
Symbol 705 MovieClip [Ladderman] Frame 131
call("special");
Symbol 705 MovieClip [Ladderman] Frame 132
call("special");
Symbol 705 MovieClip [Ladderman] Frame 133
call("special");
Symbol 705 MovieClip [Ladderman] Frame 134
call("special");
Symbol 705 MovieClip [Ladderman] Frame 135
call("special");
Symbol 705 MovieClip [Ladderman] Frame 136
call("special");
Symbol 705 MovieClip [Ladderman] Frame 137
gotoAndPlay (1);
Symbol 705 MovieClip [Ladderman] Frame 141
_root.attack(this, "MIDDLE", 75, 30);
Symbol 705 MovieClip [Ladderman] Frame 149
speciallevel = 1;
Symbol 705 MovieClip [Ladderman] Frame 150
gotoAndPlay ("ready");
Symbol 711 MovieClip [King's Guard] Frame 1
_root.ready(this);
swipes = 2;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Sword", _x);
}
Symbol 711 MovieClip [King's Guard] Frame 10
gotoAndPlay (1);
Symbol 711 MovieClip [King's Guard] Frame 11
_root.moveman(this, speed, true);
Symbol 711 MovieClip [King's Guard] Frame 12
call("walk");
Symbol 711 MovieClip [King's Guard] Frame 13
call("walk");
Symbol 711 MovieClip [King's Guard] Frame 14
call("walk");
Symbol 711 MovieClip [King's Guard] Frame 15
call("walk");
Symbol 711 MovieClip [King's Guard] Frame 16
call("walk");
Symbol 711 MovieClip [King's Guard] Frame 17
call("walk");
Symbol 711 MovieClip [King's Guard] Frame 18
call("walk");
Symbol 711 MovieClip [King's Guard] Frame 19
call("walk");
Symbol 711 MovieClip [King's Guard] Frame 20
call("walk");
Symbol 711 MovieClip [King's Guard] Frame 21
call("walk");
Symbol 711 MovieClip [King's Guard] Frame 22
gotoAndPlay (1);
Symbol 711 MovieClip [King's Guard] Frame 23
_root.die(this);
_root.blood(random(5) + 5, this, 60, "up");
Symbol 711 MovieClip [King's Guard] Frame 80
stop();
Symbol 711 MovieClip [King's Guard] Frame 91
_root.attack(this, "MIDDLE", 130, 60);
Symbol 711 MovieClip [King's Guard] Frame 103
_root.attack(this, "MIDDLE", 130, 60, "head");
Symbol 711 MovieClip [King's Guard] Frame 110
gotoAndPlay (1);
Symbol 711 MovieClip [King's Guard] Frame 116
_root.attack(this, "MIDDLE", 130, 20);
Symbol 711 MovieClip [King's Guard] Frame 124
_root.attack(this, "MIDDLE", 130, 90);
Symbol 711 MovieClip [King's Guard] Frame 129
gotoAndPlay (1);
Symbol 731 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 732 MovieClip [Javelin Thrower] Frame 1
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Spear", _x);
}
_root.ready(this);
isarcher = true;
swipes = 1;
Symbol 732 MovieClip [Javelin Thrower] Frame 2
call("ready");
Symbol 732 MovieClip [Javelin Thrower] Frame 3
call("ready");
Symbol 732 MovieClip [Javelin Thrower] Frame 4
call("ready");
Symbol 732 MovieClip [Javelin Thrower] Frame 5
call("ready");
Symbol 732 MovieClip [Javelin Thrower] Frame 6
call("ready");
Symbol 732 MovieClip [Javelin Thrower] Frame 7
call("ready");
Symbol 732 MovieClip [Javelin Thrower] Frame 8
call("ready");
Symbol 732 MovieClip [Javelin Thrower] Frame 9
call("ready");
Symbol 732 MovieClip [Javelin Thrower] Frame 10
call("ready");
Symbol 732 MovieClip [Javelin Thrower] Frame 11
call("ready");
Symbol 732 MovieClip [Javelin Thrower] Frame 12
call("ready");
Symbol 732 MovieClip [Javelin Thrower] Frame 13
call("ready");
Symbol 732 MovieClip [Javelin Thrower] Frame 14
call("ready");
Symbol 732 MovieClip [Javelin Thrower] Frame 15
call("ready");
Symbol 732 MovieClip [Javelin Thrower] Frame 16
call("ready");
Symbol 732 MovieClip [Javelin Thrower] Frame 17
call("ready");
Symbol 732 MovieClip [Javelin Thrower] Frame 18
call("ready");
Symbol 732 MovieClip [Javelin Thrower] Frame 19
call("ready");
Symbol 732 MovieClip [Javelin Thrower] Frame 20
call("ready");
Symbol 732 MovieClip [Javelin Thrower] Frame 22
_root.die(this);
_root.blood(random(5) + 5, this, 60, "up");
Symbol 732 MovieClip [Javelin Thrower] Frame 79
stop();
Symbol 732 MovieClip [Javelin Thrower] Frame 80
speed = 4;
range = 750;
_root.moveman(this, 5, true);
Symbol 732 MovieClip [Javelin Thrower] Frame 81
call("walk");
Symbol 732 MovieClip [Javelin Thrower] Frame 82
call("walk");
Symbol 732 MovieClip [Javelin Thrower] Frame 83
call("walk");
Symbol 732 MovieClip [Javelin Thrower] Frame 84
call("walk");
Symbol 732 MovieClip [Javelin Thrower] Frame 85
call("walk");
Symbol 732 MovieClip [Javelin Thrower] Frame 86
call("walk");
Symbol 732 MovieClip [Javelin Thrower] Frame 87
call("walk");
Symbol 732 MovieClip [Javelin Thrower] Frame 88
call("walk");
Symbol 732 MovieClip [Javelin Thrower] Frame 89
call("walk");
Symbol 732 MovieClip [Javelin Thrower] Frame 90
call("walk");
Symbol 732 MovieClip [Javelin Thrower] Frame 91
gotoAndPlay (1);
Symbol 732 MovieClip [Javelin Thrower] Frame 104
_root.firearrow(this, "Javelin");
Symbol 732 MovieClip [Javelin Thrower] Frame 135
gotoAndPlay (1);
Symbol 732 MovieClip [Javelin Thrower] Frame 136
speed = 20;
_root.moveman(this, speed, true);
range = 1200;
Symbol 732 MovieClip [Javelin Thrower] Frame 137
call("special");
Symbol 732 MovieClip [Javelin Thrower] Frame 138
call("special");
Symbol 732 MovieClip [Javelin Thrower] Frame 139
call("special");
Symbol 732 MovieClip [Javelin Thrower] Frame 140
call("special");
Symbol 732 MovieClip [Javelin Thrower] Frame 141
call("special");
Symbol 732 MovieClip [Javelin Thrower] Frame 142
call("special");
Symbol 732 MovieClip [Javelin Thrower] Frame 143
call("special");
Symbol 732 MovieClip [Javelin Thrower] Frame 144
call("special");
Symbol 732 MovieClip [Javelin Thrower] Frame 145
call("special");
Symbol 732 MovieClip [Javelin Thrower] Frame 146
gotoAndPlay (1);
Symbol 732 MovieClip [Javelin Thrower] Frame 147
call("special");
Symbol 732 MovieClip [Javelin Thrower] Frame 148
_root.firearrow(this, "Javelin");
Symbol 732 MovieClip [Javelin Thrower] Frame 164
speciallevel = 1;
Symbol 732 MovieClip [Javelin Thrower] Frame 167
gotoAndPlay (1);
Symbol 738 MovieClip [Hammerman] Frame 1
_root.ready(this);
swipes = 2;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Big", _x);
}
Symbol 738 MovieClip [Hammerman] Frame 21
gotoAndPlay (1);
Symbol 738 MovieClip [Hammerman] Frame 22
_root.moveman(this, speed, true);
Symbol 738 MovieClip [Hammerman] Frame 23
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 24
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 25
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 26
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 27
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 28
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 29
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 30
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 31
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 32
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 33
gotoAndPlay (1);
Symbol 738 MovieClip [Hammerman] Frame 47
_root.impact(this, 110, 180);
Symbol 738 MovieClip [Hammerman] Frame 61
gotoAndPlay (1);
Symbol 738 MovieClip [Hammerman] Frame 62
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 63
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 64
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 65
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 66
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 67
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 68
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 69
_root.moveman(this, speed, true);
_root.impact(this, 80, 200);
Symbol 738 MovieClip [Hammerman] Frame 70
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 71
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 72
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 73
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 74
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 75
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 76
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 77
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 78
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 79
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 80
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 81
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 82
call("walk");
Symbol 738 MovieClip [Hammerman] Frame 83
gotoAndPlay (1);
Symbol 738 MovieClip [Hammerman] Frame 141
stop();
Symbol 764 MovieClip Frame 1
if (((_parent.dead != true) && (_parent.inbattle == true)) && (_root.gamepaused != true)) {
if (random(1000) > 980) {
gotoAndPlay("roar" + (random(5) + 1));
}
}
Symbol 764 MovieClip Frame 2
gotoAndPlay (1);
Symbol 764 MovieClip Frame 3
_root.PlaySound("Troll1", _parent._x);
Symbol 764 MovieClip Frame 16
gotoAndPlay (1);
Symbol 764 MovieClip Frame 17
_root.PlaySound("Troll2", _parent._x);
Symbol 764 MovieClip Frame 28
gotoAndPlay (1);
Symbol 764 MovieClip Frame 29
_root.PlaySound("Troll3", _parent._x);
Symbol 764 MovieClip Frame 45
gotoAndPlay (1);
Symbol 764 MovieClip Frame 46
_root.PlaySound("Troll4", _parent._x);
Symbol 764 MovieClip Frame 61
gotoAndPlay (1);
Symbol 764 MovieClip Frame 62
_root.PlaySound("Troll5", _parent._x);
Symbol 764 MovieClip Frame 105
gotoAndPlay (1);
Symbol 766 MovieClip [Giant Troll] Frame 1
_root.ready(this);
swipes = 1;
big = true;
Symbol 766 MovieClip [Giant Troll] Frame 21
gotoAndPlay (1);
Symbol 766 MovieClip [Giant Troll] Frame 22
_root.moveman(this, speed, true);
Symbol 766 MovieClip [Giant Troll] Frame 23
_root.moveman(this, speed, true);
Symbol 766 MovieClip [Giant Troll] Frame 24
_root.moveman(this, speed, true);
Symbol 766 MovieClip [Giant Troll] Frame 25
_root.moveman(this, speed, true);
Symbol 766 MovieClip [Giant Troll] Frame 26
_root.moveman(this, speed, true);
Symbol 766 MovieClip [Giant Troll] Frame 27
_root.moveman(this, speed, true);
Symbol 766 MovieClip [Giant Troll] Frame 32
_root.moveman(this, speed, true);
Symbol 766 MovieClip [Giant Troll] Frame 33
_root.moveman(this, speed, true);
Symbol 766 MovieClip [Giant Troll] Frame 34
_root.moveman(this, speed, true);
Symbol 766 MovieClip [Giant Troll] Frame 35
_root.moveman(this, speed, true);
Symbol 766 MovieClip [Giant Troll] Frame 36
_root.moveman(this, speed, true);
Symbol 766 MovieClip [Giant Troll] Frame 40
gotoAndPlay (1);
Symbol 766 MovieClip [Giant Troll] Frame 41
if (target.castle != true) {
if (_root.GetDistance(this, target) < 150) {
gotoAndPlay ("swipe2");
}
}
Symbol 766 MovieClip [Giant Troll] Frame 58
if (target.castle == true) {
_root.attack(this, "MIDDLE", 250, 50);
} else {
_root.attack(this, "MIDDLE", 250, 250);
}
_root.PlaySound("Troll_Hit", _x);
Symbol 766 MovieClip [Giant Troll] Frame 66
gotoAndPlay (1);
Symbol 766 MovieClip [Giant Troll] Frame 74
_root.attack(this, "MIDDLE", 90, 500);
_root.PlaySound("Troll_Hit", _x);
Symbol 766 MovieClip [Giant Troll] Frame 79
gotoAndPlay (1);
Symbol 766 MovieClip [Giant Troll] Frame 94
stop();
Symbol 788 MovieClip Frame 1
if (_parent.dead != true) {
if (random(1000) > 980) {
gotoAndPlay("roar" + (random(3) + 1));
}
}
Symbol 788 MovieClip Frame 2
gotoAndPlay (1);
Symbol 788 MovieClip Frame 3
_root.combatsound("demon1");
Symbol 788 MovieClip Frame 15
gotoAndPlay (1);
Symbol 788 MovieClip Frame 16
_root.combatsound("demon2");
Symbol 788 MovieClip Frame 28
gotoAndPlay (1);
Symbol 788 MovieClip Frame 29
_root.combatsound("demon3");
Symbol 788 MovieClip Frame 40
gotoAndPlay (1);
Symbol 791 MovieClip [Giant Demon] Frame 1
_root.ready(this);
swipes = 2;
beast = true;
Symbol 791 MovieClip [Giant Demon] Frame 2
_root.ready(this);
Symbol 791 MovieClip [Giant Demon] Frame 3
gotoAndPlay (1);
Symbol 791 MovieClip [Giant Demon] Frame 4
_root.moveman(this, speed, true);
Symbol 791 MovieClip [Giant Demon] Frame 5
_root.moveman(this, speed, true);
Symbol 791 MovieClip [Giant Demon] Frame 6
_root.moveman(this, speed, true);
Symbol 791 MovieClip [Giant Demon] Frame 7
_root.moveman(this, speed, true);
Symbol 791 MovieClip [Giant Demon] Frame 8
_root.moveman(this, speed, true);
Symbol 791 MovieClip [Giant Demon] Frame 9
_root.moveman(this, speed, true);
Symbol 791 MovieClip [Giant Demon] Frame 10
_root.moveman(this, speed, true);
_root.shake = shakeamount;
Symbol 791 MovieClip [Giant Demon] Frame 11
_root.moveman(this, speed, true);
Symbol 791 MovieClip [Giant Demon] Frame 12
_root.moveman(this, speed, true);
Symbol 791 MovieClip [Giant Demon] Frame 13
_root.moveman(this, speed, true);
Symbol 791 MovieClip [Giant Demon] Frame 14
_root.moveman(this, speed, true);
Symbol 791 MovieClip [Giant Demon] Frame 15
_root.shake = shakeamount;
gotoAndPlay (1);
Symbol 791 MovieClip [Giant Demon] Frame 27
_root.attack(this, "MIDDLE", 160, 190, "head");
Symbol 791 MovieClip [Giant Demon] Frame 36
gotoAndPlay (1);
Symbol 791 MovieClip [Giant Demon] Frame 46
_root.impact(this, 260, 125);
Symbol 791 MovieClip [Giant Demon] Frame 51
gotoAndPlay ("walk");
Symbol 791 MovieClip [Giant Demon] Frame 87
_root.shake = shakeamount * 5;
_root.combatsound("trollhit");
Symbol 791 MovieClip [Giant Demon] Frame 89
stop();
Symbol 796 MovieClip [Vapourize] Frame 35
this.removeMovieClip();
Symbol 799 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 816 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 825 MovieClip Frame 1
race = _parent.race;
gotoAndStop(Number(_parent.unittype) + 2);
Symbol 826 MovieClip [Run Away] Frame 1
if (timer == undefined) {
timer = 0;
}
this.onEnterFrame = function () {
if (facing == "right") {
_x = (_x - 15);
if ((_x < -1400) && (_root.castles == "left")) {
this.removeMovieClip();
} else if (_root.globalX(this) < 0) {
this.removeMovieClip();
}
} else {
_x = (_x + 15);
if ((_x > 1400) && (_root.castles == "right")) {
this.removeMovieClip();
} else if (_root.globalX(this) > 700) {
this.removeMovieClip();
}
}
timer++;
if ((timer > 50) && (Math.random() > 0.97)) {
_root.GetUp(this);
}
};
Symbol 827 MovieClip [Retreat] Frame 1
this.onEnterFrame = function () {
if (facing == "right") {
_x = (_x - 15);
if ((_x < -1400) && (_root.castles == "left")) {
this.removeMovieClip();
} else if (_root.globalX(this) < 0) {
this.removeMovieClip();
}
} else {
_x = (_x + 15);
if ((_x > 1400) && (_root.castles == "right")) {
this.removeMovieClip();
} else if (_root.globalX(this) > 700) {
this.removeMovieClip();
}
}
};
Symbol 828 MovieClip [Mind Control Ani] Frame 18
stop();
_root.GetUp(this);
Symbol 829 MovieClip [LiftedDead] Frame 31
_root.PlaySound("ImpactSFX", _x);
Symbol 829 MovieClip [LiftedDead] Frame 89
stop();
this.onEnterFrame = function () {
this._alpha--;
if (_alpha <= 0) {
removeMovieClip(this);
}
};
Symbol 830 MovieClip [Lifted] Frame 31
_root.PlaySound("ImpactSFX", _x);
Symbol 830 MovieClip [Lifted] Frame 89
stop();
_root.GetUp(this);
Symbol 831 MovieClip [Launched] Frame 1
upspeed = random(20) + 40;
sidespeed = random(7) + 7;
spin = random(20) - random(20);
this.onEnterFrame = function () {
_rotation = (_rotation + spin);
_y = (_y - upspeed);
_x = (_x + sidespeed);
upspeed = upspeed - 2;
if (_y >= 0) {
landed = true;
gotoAndPlay ("land");
}
};
Symbol 831 MovieClip [Launched] Frame 13
if (landed != true) {
gotoAndPlay (2);
}
Symbol 831 MovieClip [Launched] Frame 14
this.onEnterFrame = undefined;
_rotation = 0;
_y = 0;
Symbol 831 MovieClip [Launched] Frame 57
stop();
_root.GetUp(this);
Symbol 832 MovieClip [Knockover] Frame 1
if ((_root.castles == "left") && ((_x - fallspeed) < -1400)) {
fallspeed = 0;
_x = -1400;
} else if ((_root.castles == "right") && ((_x - fallspeed) > 1400)) {
fallspeed = 0;
_x = 1400;
} else {
if (facing == "right") {
_x = (_x - fallspeed);
} else {
_x = (_x + fallspeed);
}
fallspeed = fallspeed / 1.1;
}
Symbol 832 MovieClip [Knockover] Frame 2
call("fall");
Symbol 832 MovieClip [Knockover] Frame 3
call("fall");
Symbol 832 MovieClip [Knockover] Frame 4
call("fall");
Symbol 832 MovieClip [Knockover] Frame 5
call("fall");
Symbol 832 MovieClip [Knockover] Frame 6
call("fall");
Symbol 832 MovieClip [Knockover] Frame 7
call("fall");
Symbol 832 MovieClip [Knockover] Frame 8
call("fall");
Symbol 832 MovieClip [Knockover] Frame 9
call("fall");
Symbol 832 MovieClip [Knockover] Frame 10
call("fall");
Symbol 832 MovieClip [Knockover] Frame 11
call("fall");
Symbol 832 MovieClip [Knockover] Frame 12
call("fall");
Symbol 832 MovieClip [Knockover] Frame 13
call("fall");
Symbol 832 MovieClip [Knockover] Frame 14
call("fall");
Symbol 832 MovieClip [Knockover] Frame 15
call("fall");
Symbol 832 MovieClip [Knockover] Frame 16
call("fall");
Symbol 832 MovieClip [Knockover] Frame 17
call("fall");
Symbol 832 MovieClip [Knockover] Frame 18
call("fall");
Symbol 832 MovieClip [Knockover] Frame 19
call("fall");
Symbol 832 MovieClip [Knockover] Frame 20
call("fall");
Symbol 832 MovieClip [Knockover] Frame 21
call("fall");
Symbol 832 MovieClip [Knockover] Frame 22
call("fall");
Symbol 832 MovieClip [Knockover] Frame 23
call("fall");
Symbol 832 MovieClip [Knockover] Frame 24
call("fall");
Symbol 832 MovieClip [Knockover] Frame 25
call("fall");
Symbol 832 MovieClip [Knockover] Frame 26
call("fall");
Symbol 832 MovieClip [Knockover] Frame 27
call("fall");
Symbol 832 MovieClip [Knockover] Frame 28
call("fall");
Symbol 832 MovieClip [Knockover] Frame 29
call("fall");
Symbol 832 MovieClip [Knockover] Frame 30
call("fall");
Symbol 832 MovieClip [Knockover] Frame 31
call("fall");
Symbol 832 MovieClip [Knockover] Frame 32
call("fall");
Symbol 832 MovieClip [Knockover] Frame 33
call("fall");
Symbol 832 MovieClip [Knockover] Frame 34
call("fall");
Symbol 832 MovieClip [Knockover] Frame 35
call("fall");
Symbol 832 MovieClip [Knockover] Frame 36
call("fall");
Symbol 832 MovieClip [Knockover] Frame 37
call("fall");
Symbol 832 MovieClip [Knockover] Frame 38
call("fall");
if (Math.random() < 0.9) {
gotoAndPlay (35);
}
Symbol 832 MovieClip [Knockover] Frame 48
stop();
_root.GetUp(this);
Symbol 833 MovieClip [Horse] Frame 1
if (speed < 30) {
speed++;
}
if (facing == "right") {
_x = (_x - speed);
if ((_x < -1400) && (_root.castles == "left")) {
this.removeMovieClip();
} else if (_root.globalX(this) < 0) {
this.removeMovieClip();
}
} else {
_x = (_x + speed);
if ((_x > 1400) && (_root.castles == "right")) {
this.removeMovieClip();
} else if (_root.globalX(this) > 700) {
this.removeMovieClip();
}
}
Symbol 833 MovieClip [Horse] Frame 2
call("walk");
Symbol 833 MovieClip [Horse] Frame 3
call("walk");
Symbol 833 MovieClip [Horse] Frame 4
call("walk");
Symbol 833 MovieClip [Horse] Frame 5
call("walk");
Symbol 833 MovieClip [Horse] Frame 6
call("walk");
Symbol 833 MovieClip [Horse] Frame 7
call("walk");
Symbol 833 MovieClip [Horse] Frame 8
gotoAndPlay (1);
Symbol 834 MovieClip [Finished] Frame 1
this.onEnterFrame = function () {
if (facing == "right") {
_x = (_x + 15);
if ((_x > 1400) && (_root.castles == "right")) {
this.removeMovieClip();
} else if (_root.globalX(this) > 700) {
this.removeMovieClip();
}
} else {
_x = (_x - 15);
if ((_x < -1400) && (_root.castles == "left")) {
this.removeMovieClip();
} else if (_root.globalX(this) < 0) {
this.removeMovieClip();
}
}
};
Symbol 836 MovieClip [Fall] Frame 10
this.removeMovieClip();
Symbol 838 MovieClip [Enter Castle] Frame 11
this.removeMovieClip();
Symbol 862 MovieClip [Decapitated Body] Frame 1
lostlimb = "head";
_root.die(this);
_root.dropspear(this);
Symbol 862 MovieClip [Decapitated Body] Frame 2
_root.blood(random(10), this, 60, "up");
Symbol 862 MovieClip [Decapitated Body] Frame 3
call("bleed");
Symbol 862 MovieClip [Decapitated Body] Frame 4
call("bleed");
Symbol 862 MovieClip [Decapitated Body] Frame 5
call("bleed");
Symbol 862 MovieClip [Decapitated Body] Frame 70
stop();
this.onEnterFrame = function () {
this._alpha--;
if (_alpha <= 0) {
removeMovieClip(this);
}
};
Symbol 864 MovieClip [ClimbLadder] Frame 66
_root.climbedladder(this);
Symbol 865 MovieClip [Flailer] Frame 1
_root.ready(this);
swipes = 1;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Big", _x);
}
Symbol 865 MovieClip [Flailer] Frame 21
gotoAndPlay (1);
Symbol 865 MovieClip [Flailer] Frame 22
_root.blood(random(5) + 5, this, 60, "up");
_root.die(this);
_root.dropspear(this);
Symbol 865 MovieClip [Flailer] Frame 79
stop();
Symbol 865 MovieClip [Flailer] Frame 80
_root.moveman(this, speed, true);
Symbol 865 MovieClip [Flailer] Frame 81
call("walk");
Symbol 865 MovieClip [Flailer] Frame 82
call("walk");
Symbol 865 MovieClip [Flailer] Frame 83
call("walk");
Symbol 865 MovieClip [Flailer] Frame 84
call("walk");
Symbol 865 MovieClip [Flailer] Frame 85
call("walk");
Symbol 865 MovieClip [Flailer] Frame 86
call("walk");
Symbol 865 MovieClip [Flailer] Frame 87
call("walk");
Symbol 865 MovieClip [Flailer] Frame 88
call("walk");
Symbol 865 MovieClip [Flailer] Frame 89
call("walk");
Symbol 865 MovieClip [Flailer] Frame 90
call("walk");
Symbol 865 MovieClip [Flailer] Frame 91
gotoAndPlay (1);
Symbol 865 MovieClip [Flailer] Frame 92
call("walk");
Symbol 865 MovieClip [Flailer] Frame 93
call("walk");
Symbol 865 MovieClip [Flailer] Frame 94
call("walk");
Symbol 865 MovieClip [Flailer] Frame 95
call("walk");
Symbol 865 MovieClip [Flailer] Frame 96
call("walk");
Symbol 865 MovieClip [Flailer] Frame 97
call("walk");
Symbol 865 MovieClip [Flailer] Frame 98
call("walk");
Symbol 865 MovieClip [Flailer] Frame 99
call("walk");
Symbol 865 MovieClip [Flailer] Frame 100
call("walk");
Symbol 865 MovieClip [Flailer] Frame 101
_root.moveman(this, speed, true);
_root.impact(this, 165, 100);
Symbol 865 MovieClip [Flailer] Frame 102
call("walk");
Symbol 865 MovieClip [Flailer] Frame 103
call("walk");
Symbol 865 MovieClip [Flailer] Frame 104
call("walk");
Symbol 865 MovieClip [Flailer] Frame 105
call("walk");
Symbol 865 MovieClip [Flailer] Frame 106
call("walk");
Symbol 865 MovieClip [Flailer] Frame 107
call("walk");
Symbol 865 MovieClip [Flailer] Frame 108
call("walk");
Symbol 865 MovieClip [Flailer] Frame 109
gotoAndPlay (1);
Symbol 870 MovieClip [Double Swordsman] Frame 1
_root.ready(this);
swipes = 3;
if ((setupsound != true) && (inbattle == true)) {
setupsound = true;
_root.PlaySound("Equip_Sword", _x);
}
Symbol 870 MovieClip [Double Swordsman] Frame 35
call("ready");
Symbol 870 MovieClip [Double Swordsman] Frame 36
gotoAndPlay (1);
Symbol 870 MovieClip [Double Swordsman] Frame 37
_root.moveman(this, speed, true);
shielded = false;
Symbol 870 MovieClip [Double Swordsman] Frame 38
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 39
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 40
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 41
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 42
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 43
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 44
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 45
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 46
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 47
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 48
gotoAndPlay (1);
Symbol 870 MovieClip [Double Swordsman] Frame 54
_root.attack(this, "HIGH", 115, 55, "head");
Symbol 870 MovieClip [Double Swordsman] Frame 62
gotoAndPlay (1);
Symbol 870 MovieClip [Double Swordsman] Frame 65
_root.attack(this, "HIGH", 105, 15);
Symbol 870 MovieClip [Double Swordsman] Frame 69
_root.attack(this, "HIGH", 105, 25);
Symbol 870 MovieClip [Double Swordsman] Frame 72
_root.attack(this, "HIGH", 105, 25);
Symbol 870 MovieClip [Double Swordsman] Frame 76
gotoAndPlay (1);
Symbol 870 MovieClip [Double Swordsman] Frame 77
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 78
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 79
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 80
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 81
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 82
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 83
_root.moveman(this, speed, true);
_root.attack(this, "HIGH", 105, 25);
Symbol 870 MovieClip [Double Swordsman] Frame 84
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 85
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 86
_root.moveman(this, speed, true);
_root.attack(this, "HIGH", 105, 25);
Symbol 870 MovieClip [Double Swordsman] Frame 87
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 88
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 89
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 90
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 91
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 92
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 93
_root.moveman(this, speed, true);
_root.attack(this, "HIGH", 105, 25);
Symbol 870 MovieClip [Double Swordsman] Frame 94
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 95
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 96
_root.moveman(this, speed, true);
_root.attack(this, "HIGH", 105, 25);
Symbol 870 MovieClip [Double Swordsman] Frame 97
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 98
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 99
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 100
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 101
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 102
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 103
_root.moveman(this, speed, true);
_root.attack(this, "HIGH", 105, 25);
Symbol 870 MovieClip [Double Swordsman] Frame 104
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 105
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 106
_root.moveman(this, speed, true);
_root.attack(this, "HIGH", 105, 25);
Symbol 870 MovieClip [Double Swordsman] Frame 107
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 108
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 109
call("walk");
Symbol 870 MovieClip [Double Swordsman] Frame 110
gotoAndPlay (1);
Symbol 870 MovieClip [Double Swordsman] Frame 111
_root.die(this);
_root.blood(random(5) + 5, this, 60, "up");
Symbol 870 MovieClip [Double Swordsman] Frame 168
stop();
Symbol 873 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 875 MovieClip [Clubber] Frame 1
_root.ready(this);
swipes = 2;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Other", _x);
}
Symbol 875 MovieClip [Clubber] Frame 21
gotoAndPlay (1);
Symbol 875 MovieClip [Clubber] Frame 22
_root.blood(random(5) + 5, this, 60, "up");
_root.die(this);
_root.dropspear(this);
Symbol 875 MovieClip [Clubber] Frame 79
stop();
Symbol 875 MovieClip [Clubber] Frame 80
_root.moveman(this, speed, true);
Symbol 875 MovieClip [Clubber] Frame 81
call("walk");
Symbol 875 MovieClip [Clubber] Frame 82
call("walk");
Symbol 875 MovieClip [Clubber] Frame 83
call("walk");
Symbol 875 MovieClip [Clubber] Frame 84
call("walk");
Symbol 875 MovieClip [Clubber] Frame 85
call("walk");
Symbol 875 MovieClip [Clubber] Frame 86
call("walk");
Symbol 875 MovieClip [Clubber] Frame 87
call("walk");
Symbol 875 MovieClip [Clubber] Frame 88
call("walk");
Symbol 875 MovieClip [Clubber] Frame 89
call("walk");
Symbol 875 MovieClip [Clubber] Frame 90
call("walk");
Symbol 875 MovieClip [Clubber] Frame 91
gotoAndPlay (1);
Symbol 875 MovieClip [Clubber] Frame 92
call("walk");
Symbol 875 MovieClip [Clubber] Frame 93
call("walk");
Symbol 875 MovieClip [Clubber] Frame 94
call("walk");
Symbol 875 MovieClip [Clubber] Frame 95
call("walk");
Symbol 875 MovieClip [Clubber] Frame 96
call("walk");
Symbol 875 MovieClip [Clubber] Frame 97
call("walk");
Symbol 875 MovieClip [Clubber] Frame 98
call("walk");
Symbol 875 MovieClip [Clubber] Frame 99
_root.moveman(this, speed, true);
_root.impact(this, 80, 55);
Symbol 875 MovieClip [Clubber] Frame 100
call("walk");
Symbol 875 MovieClip [Clubber] Frame 101
call("walk");
Symbol 875 MovieClip [Clubber] Frame 102
call("walk");
Symbol 875 MovieClip [Clubber] Frame 103
call("walk");
Symbol 875 MovieClip [Clubber] Frame 104
call("walk");
Symbol 875 MovieClip [Clubber] Frame 105
call("walk");
Symbol 875 MovieClip [Clubber] Frame 106
gotoAndPlay (1);
Symbol 875 MovieClip [Clubber] Frame 107
call("walk");
Symbol 875 MovieClip [Clubber] Frame 108
call("walk");
Symbol 875 MovieClip [Clubber] Frame 109
call("walk");
Symbol 875 MovieClip [Clubber] Frame 110
call("walk");
Symbol 875 MovieClip [Clubber] Frame 111
call("walk");
Symbol 875 MovieClip [Clubber] Frame 112
call("walk");
Symbol 875 MovieClip [Clubber] Frame 113
call("walk");
Symbol 875 MovieClip [Clubber] Frame 114
call("walk");
Symbol 875 MovieClip [Clubber] Frame 115
_root.moveman(this, speed, true);
_root.impact(this, 80, 55);
Symbol 875 MovieClip [Clubber] Frame 116
call("walk");
Symbol 875 MovieClip [Clubber] Frame 117
call("walk");
Symbol 875 MovieClip [Clubber] Frame 118
call("walk");
Symbol 875 MovieClip [Clubber] Frame 119
call("walk");
Symbol 875 MovieClip [Clubber] Frame 120
call("walk");
Symbol 875 MovieClip [Clubber] Frame 121
gotoAndPlay (1);
Symbol 875 MovieClip [Clubber] Frame 122
speed = 15;
_root.moveman(this, speed, true);
Symbol 875 MovieClip [Clubber] Frame 123
call("special");
Symbol 875 MovieClip [Clubber] Frame 124
call("special");
Symbol 875 MovieClip [Clubber] Frame 125
call("special");
Symbol 875 MovieClip [Clubber] Frame 126
call("special");
Symbol 875 MovieClip [Clubber] Frame 127
call("special");
Symbol 875 MovieClip [Clubber] Frame 128
call("special");
Symbol 875 MovieClip [Clubber] Frame 129
call("special");
Symbol 875 MovieClip [Clubber] Frame 130
call("special");
Symbol 875 MovieClip [Clubber] Frame 131
call("special");
Symbol 875 MovieClip [Clubber] Frame 132
gotoAndPlay (1);
Symbol 875 MovieClip [Clubber] Frame 133
call("special");
Symbol 875 MovieClip [Clubber] Frame 134
call("special");
Symbol 875 MovieClip [Clubber] Frame 135
call("special");
Symbol 875 MovieClip [Clubber] Frame 136
_root.impact(this, 90, 40);
speed = 15;
_root.moveman(this, speed, true);
Symbol 875 MovieClip [Clubber] Frame 137
_root.moveman(this, speed, true);
Symbol 875 MovieClip [Clubber] Frame 138
_root.moveman(this, speed, true);
Symbol 875 MovieClip [Clubber] Frame 139
_root.moveman(this, speed, true);
Symbol 875 MovieClip [Clubber] Frame 140
_root.moveman(this, speed, true);
Symbol 875 MovieClip [Clubber] Frame 141
_root.moveman(this, speed, true);
Symbol 875 MovieClip [Clubber] Frame 143
_root.attack(this, "HIGH", 70, 65);
_root.impact(this, 80, 110);
Symbol 875 MovieClip [Clubber] Frame 146
speciallevel = 1;
speed = 5;
Symbol 875 MovieClip [Clubber] Frame 147
gotoAndPlay (1);
Symbol 877 MovieClip [Battle Axeman] Frame 1
_root.ready(this);
swipes = 1;
type = "Swordsman";
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Big", _x);
}
Symbol 877 MovieClip [Battle Axeman] Frame 36
gotoAndPlay (1);
Symbol 877 MovieClip [Battle Axeman] Frame 37
_root.moveman(this, speed, true);
Symbol 877 MovieClip [Battle Axeman] Frame 38
call("walk");
Symbol 877 MovieClip [Battle Axeman] Frame 39
call("walk");
Symbol 877 MovieClip [Battle Axeman] Frame 40
call("walk");
Symbol 877 MovieClip [Battle Axeman] Frame 41
call("walk");
Symbol 877 MovieClip [Battle Axeman] Frame 42
call("walk");
Symbol 877 MovieClip [Battle Axeman] Frame 43
call("walk");
Symbol 877 MovieClip [Battle Axeman] Frame 44
call("walk");
Symbol 877 MovieClip [Battle Axeman] Frame 45
call("walk");
Symbol 877 MovieClip [Battle Axeman] Frame 46
call("walk");
Symbol 877 MovieClip [Battle Axeman] Frame 47
call("walk");
Symbol 877 MovieClip [Battle Axeman] Frame 48
gotoAndPlay (1);
Symbol 877 MovieClip [Battle Axeman] Frame 49
_root.die(this);
_root.blood(random(5) + 5, this, 60, "up");
Symbol 877 MovieClip [Battle Axeman] Frame 106
stop();
Symbol 877 MovieClip [Battle Axeman] Frame 120
_root.attack(this, "MIDDLE", 109, 200, "head");
Symbol 877 MovieClip [Battle Axeman] Frame 134
gotoAndPlay (1);
Symbol 879 MovieClip [Battle Mage] Frame 1
_root.ready(this);
swipes = 1;
Symbol 879 MovieClip [Battle Mage] Frame 22
_root.die(this);
_root.blood(random(5) + 5, this, 60, "up");
Symbol 879 MovieClip [Battle Mage] Frame 79
stop();
Symbol 879 MovieClip [Battle Mage] Frame 80
_root.moveman(this, 5, true);
Symbol 879 MovieClip [Battle Mage] Frame 81
call("walk");
Symbol 879 MovieClip [Battle Mage] Frame 82
call("walk");
Symbol 879 MovieClip [Battle Mage] Frame 83
call("walk");
Symbol 879 MovieClip [Battle Mage] Frame 84
call("walk");
Symbol 879 MovieClip [Battle Mage] Frame 85
call("walk");
Symbol 879 MovieClip [Battle Mage] Frame 86
call("walk");
Symbol 879 MovieClip [Battle Mage] Frame 87
call("walk");
Symbol 879 MovieClip [Battle Mage] Frame 88
call("walk");
Symbol 879 MovieClip [Battle Mage] Frame 89
call("walk");
Symbol 879 MovieClip [Battle Mage] Frame 90
call("walk");
Symbol 879 MovieClip [Battle Mage] Frame 91
gotoAndPlay (1);
Symbol 879 MovieClip [Battle Mage] Frame 92
_root.moveman(this, -5, true);
Symbol 879 MovieClip [Battle Mage] Frame 93
call("walkback");
Symbol 879 MovieClip [Battle Mage] Frame 94
call("walkback");
Symbol 879 MovieClip [Battle Mage] Frame 95
call("walkback");
Symbol 879 MovieClip [Battle Mage] Frame 96
call("walkback");
Symbol 879 MovieClip [Battle Mage] Frame 97
call("walkback");
Symbol 879 MovieClip [Battle Mage] Frame 98
call("walkback");
Symbol 879 MovieClip [Battle Mage] Frame 99
call("walkback");
Symbol 879 MovieClip [Battle Mage] Frame 100
call("walkback");
Symbol 879 MovieClip [Battle Mage] Frame 101
call("walkback");
Symbol 879 MovieClip [Battle Mage] Frame 102
call("walkback");
Symbol 879 MovieClip [Battle Mage] Frame 103
gotoAndPlay (1);
Symbol 879 MovieClip [Battle Mage] Frame 128
_root.firearrow(this, "MagicBall1");
Symbol 879 MovieClip [Battle Mage] Frame 143
gotoAndPlay (1);
Symbol 882 MovieClip [Axeman] Frame 1
_root.ready(this);
swipes = 2;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Other", _x);
}
Symbol 882 MovieClip [Axeman] Frame 21
gotoAndPlay (1);
Symbol 882 MovieClip [Axeman] Frame 22
_root.blood(random(5) + 5, this, 60, "up");
_root.die(this);
_root.dropspear(this);
Symbol 882 MovieClip [Axeman] Frame 79
stop();
Symbol 882 MovieClip [Axeman] Frame 80
_root.moveman(this, speed, true);
Symbol 882 MovieClip [Axeman] Frame 81
call("walk");
Symbol 882 MovieClip [Axeman] Frame 82
call("walk");
Symbol 882 MovieClip [Axeman] Frame 83
call("walk");
Symbol 882 MovieClip [Axeman] Frame 84
call("walk");
Symbol 882 MovieClip [Axeman] Frame 85
call("walk");
Symbol 882 MovieClip [Axeman] Frame 86
call("walk");
Symbol 882 MovieClip [Axeman] Frame 87
call("walk");
Symbol 882 MovieClip [Axeman] Frame 88
call("walk");
Symbol 882 MovieClip [Axeman] Frame 89
call("walk");
Symbol 882 MovieClip [Axeman] Frame 90
call("walk");
Symbol 882 MovieClip [Axeman] Frame 91
gotoAndPlay (1);
Symbol 882 MovieClip [Axeman] Frame 92
call("walk");
Symbol 882 MovieClip [Axeman] Frame 93
call("walk");
Symbol 882 MovieClip [Axeman] Frame 94
call("walk");
Symbol 882 MovieClip [Axeman] Frame 95
call("walk");
Symbol 882 MovieClip [Axeman] Frame 96
call("walk");
Symbol 882 MovieClip [Axeman] Frame 97
call("walk");
Symbol 882 MovieClip [Axeman] Frame 98
call("walk");
Symbol 882 MovieClip [Axeman] Frame 99
_root.moveman(this, speed, true);
_root.attack(this, "HIGH", 70, 35, "head");
Symbol 882 MovieClip [Axeman] Frame 100
call("walk");
Symbol 882 MovieClip [Axeman] Frame 101
call("walk");
Symbol 882 MovieClip [Axeman] Frame 102
call("walk");
Symbol 882 MovieClip [Axeman] Frame 103
call("walk");
Symbol 882 MovieClip [Axeman] Frame 104
call("walk");
Symbol 882 MovieClip [Axeman] Frame 105
call("walk");
Symbol 882 MovieClip [Axeman] Frame 106
gotoAndPlay (1);
Symbol 882 MovieClip [Axeman] Frame 107
call("walk");
Symbol 882 MovieClip [Axeman] Frame 108
call("walk");
Symbol 882 MovieClip [Axeman] Frame 109
call("walk");
Symbol 882 MovieClip [Axeman] Frame 110
call("walk");
Symbol 882 MovieClip [Axeman] Frame 111
call("walk");
Symbol 882 MovieClip [Axeman] Frame 112
call("walk");
Symbol 882 MovieClip [Axeman] Frame 113
call("walk");
Symbol 882 MovieClip [Axeman] Frame 114
call("walk");
Symbol 882 MovieClip [Axeman] Frame 115
_root.moveman(this, speed, true);
_root.attack(this, "HIGH", 70, 45);
Symbol 882 MovieClip [Axeman] Frame 116
call("walk");
Symbol 882 MovieClip [Axeman] Frame 117
call("walk");
Symbol 882 MovieClip [Axeman] Frame 118
call("walk");
Symbol 882 MovieClip [Axeman] Frame 119
call("walk");
Symbol 882 MovieClip [Axeman] Frame 120
call("walk");
Symbol 882 MovieClip [Axeman] Frame 121
gotoAndPlay (1);
Symbol 882 MovieClip [Axeman] Frame 122
speed = 10;
_root.moveman(this, speed, true);
Symbol 882 MovieClip [Axeman] Frame 123
call("special");
Symbol 882 MovieClip [Axeman] Frame 124
call("special");
Symbol 882 MovieClip [Axeman] Frame 125
call("special");
Symbol 882 MovieClip [Axeman] Frame 126
call("special");
Symbol 882 MovieClip [Axeman] Frame 127
call("special");
Symbol 882 MovieClip [Axeman] Frame 128
call("special");
Symbol 882 MovieClip [Axeman] Frame 129
call("special");
Symbol 882 MovieClip [Axeman] Frame 130
call("special");
Symbol 882 MovieClip [Axeman] Frame 131
call("special");
Symbol 882 MovieClip [Axeman] Frame 132
gotoAndPlay (1);
Symbol 882 MovieClip [Axeman] Frame 133
speed = 20;
_root.moveman(this, speed, true);
Symbol 882 MovieClip [Axeman] Frame 134
_root.moveman(this, speed, true);
Symbol 882 MovieClip [Axeman] Frame 135
_root.moveman(this, speed, true);
Symbol 882 MovieClip [Axeman] Frame 136
_root.impact(this, 90, 70);
_root.moveman(this, speed, true);
Symbol 882 MovieClip [Axeman] Frame 137
speed = speed / 1.5;
_root.moveman(this, speed, true);
Symbol 882 MovieClip [Axeman] Frame 138
speed = speed / 1.5;
_root.moveman(this, speed, true);
Symbol 882 MovieClip [Axeman] Frame 139
speed = speed / 1.5;
_root.moveman(this, speed, true);
Symbol 882 MovieClip [Axeman] Frame 142
_root.attack(this, "HIGH", 70, 65);
Symbol 882 MovieClip [Axeman] Frame 146
speciallevel = 1;
speed = 5;
Symbol 882 MovieClip [Axeman] Frame 147
gotoAndPlay (1);
Symbol 883 MovieClip [Axe Thrower] Frame 1
_root.ready(this);
swipes = 1;
isarcher = true;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Other", _x);
}
Symbol 883 MovieClip [Axe Thrower] Frame 22
_root.die(this);
_root.blood(random(5) + 5, this, 60, "up");
Symbol 883 MovieClip [Axe Thrower] Frame 79
stop();
Symbol 883 MovieClip [Axe Thrower] Frame 80
_root.moveman(this, 5, true);
Symbol 883 MovieClip [Axe Thrower] Frame 81
call("walk");
Symbol 883 MovieClip [Axe Thrower] Frame 82
call("walk");
Symbol 883 MovieClip [Axe Thrower] Frame 83
call("walk");
Symbol 883 MovieClip [Axe Thrower] Frame 84
call("walk");
Symbol 883 MovieClip [Axe Thrower] Frame 85
call("walk");
Symbol 883 MovieClip [Axe Thrower] Frame 86
call("walk");
Symbol 883 MovieClip [Axe Thrower] Frame 87
call("walk");
Symbol 883 MovieClip [Axe Thrower] Frame 88
call("walk");
Symbol 883 MovieClip [Axe Thrower] Frame 89
call("walk");
Symbol 883 MovieClip [Axe Thrower] Frame 90
call("walk");
Symbol 883 MovieClip [Axe Thrower] Frame 91
gotoAndPlay (1);
Symbol 883 MovieClip [Axe Thrower] Frame 116
_root.firearrow(this, "Axe");
Symbol 883 MovieClip [Axe Thrower] Frame 131
gotoAndPlay (1);
Symbol 885 MovieClip [Assassin] Frame 1
_root.ready(this);
swipes = 1;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Spear", _x);
}
Symbol 885 MovieClip [Assassin] Frame 4
gotoAndPlay (1);
Symbol 885 MovieClip [Assassin] Frame 5
_root.moveman(this, speed, true);
Symbol 885 MovieClip [Assassin] Frame 6
call("walk");
Symbol 885 MovieClip [Assassin] Frame 7
call("walk");
Symbol 885 MovieClip [Assassin] Frame 8
call("walk");
Symbol 885 MovieClip [Assassin] Frame 9
call("walk");
Symbol 885 MovieClip [Assassin] Frame 10
call("walk");
Symbol 885 MovieClip [Assassin] Frame 11
call("walk");
Symbol 885 MovieClip [Assassin] Frame 12
call("walk");
Symbol 885 MovieClip [Assassin] Frame 13
call("walk");
Symbol 885 MovieClip [Assassin] Frame 14
call("walk");
Symbol 885 MovieClip [Assassin] Frame 15
call("walk");
Symbol 885 MovieClip [Assassin] Frame 16
gotoAndPlay (1);
Symbol 885 MovieClip [Assassin] Frame 25
_root.attack(this, "MIDDLE", 315, 300, "head");
Symbol 885 MovieClip [Assassin] Frame 26
_root.moveman(this, 515, true);
Symbol 885 MovieClip [Assassin] Frame 74
gotoAndPlay (1);
Symbol 885 MovieClip [Assassin] Frame 132
stop();
Symbol 885 MovieClip [Assassin] Frame 143
_root.firearrow(this, "Knife");
Symbol 885 MovieClip [Assassin] Frame 145
_root.firearrow(this, "Knife");
Symbol 885 MovieClip [Assassin] Frame 177
gotoAndPlay (1);
Symbol 904 MovieClip Frame 1
if (_parent.race != undefined) {
gotoAndStop(_parent.race);
} else {
stop();
}
Symbol 922 MovieClip Frame 1
_parent.head = this;
if (_parent.race != undefined) {
if (_root.HasUpgrade(_parent.unittype, 10, _parent.player)) {
gotoAndStop(_parent.race + "helm");
} else {
gotoAndStop(_parent.race);
}
} else {
stop();
}
Symbol 965 MovieClip [Sickness] Frame 1
this.onEnterFrame = function () {
_x = target._x;
target.health--;
target.issick = true;
if (((Math.random() > 0.99) || (target.health <= 0)) && (ended != true)) {
if (target.health <= 0) {
_root.soldierdie(target);
}
ended = true;
}
if ((ended == true) || (target._name == undefined)) {
_alpha = (_alpha - 10);
if (_alpha <= 0) {
target.issick = false;
this.removeMovieClip();
}
}
};
Symbol 966 MovieClip [Archmage] Frame 1
_root.ready(this);
swipes = 1;
Symbol 966 MovieClip [Archmage] Frame 22
_root.moveman(this, 5, true);
Symbol 966 MovieClip [Archmage] Frame 23
call("walk");
Symbol 966 MovieClip [Archmage] Frame 24
call("walk");
Symbol 966 MovieClip [Archmage] Frame 25
call("walk");
Symbol 966 MovieClip [Archmage] Frame 26
call("walk");
Symbol 966 MovieClip [Archmage] Frame 27
call("walk");
Symbol 966 MovieClip [Archmage] Frame 28
call("walk");
Symbol 966 MovieClip [Archmage] Frame 29
call("walk");
Symbol 966 MovieClip [Archmage] Frame 30
call("walk");
Symbol 966 MovieClip [Archmage] Frame 31
call("walk");
Symbol 966 MovieClip [Archmage] Frame 32
call("walk");
Symbol 966 MovieClip [Archmage] Frame 33
call("walk");
Symbol 966 MovieClip [Archmage] Frame 34
call("walk");
Symbol 966 MovieClip [Archmage] Frame 35
call("walk");
Symbol 966 MovieClip [Archmage] Frame 36
call("walk");
Symbol 966 MovieClip [Archmage] Frame 37
call("walk");
Symbol 966 MovieClip [Archmage] Frame 38
call("walk");
Symbol 966 MovieClip [Archmage] Frame 39
call("walk");
Symbol 966 MovieClip [Archmage] Frame 40
call("walk");
Symbol 966 MovieClip [Archmage] Frame 41
call("walk");
Symbol 966 MovieClip [Archmage] Frame 42
call("walk");
Symbol 966 MovieClip [Archmage] Frame 43
call("walk");
Symbol 966 MovieClip [Archmage] Frame 44
gotoAndPlay (1);
Symbol 966 MovieClip [Archmage] Frame 72
_root.magic(this, 0);
Symbol 966 MovieClip [Archmage] Frame 91
gotoAndPlay (1);
Symbol 966 MovieClip [Archmage] Frame 131
_root.PlaySound("TeleportSFX", _x);
Symbol 966 MovieClip [Archmage] Frame 147
_root.magic(this, 5);
stop();
Symbol 966 MovieClip [Archmage] Frame 148
_root.die(this);
Symbol 966 MovieClip [Archmage] Frame 162
stop();
Symbol 966 MovieClip [Archmage] Frame 178
_root.magic(this, 6);
Symbol 966 MovieClip [Archmage] Frame 204
gotoAndPlay (1);
Symbol 966 MovieClip [Archmage] Frame 225
_root.firearrow(this, "Light Ball");
Symbol 966 MovieClip [Archmage] Frame 254
gotoAndPlay (1);
Symbol 966 MovieClip [Archmage] Frame 282
_root.magic(this, 1);
Symbol 966 MovieClip [Archmage] Frame 301
gotoAndPlay (1);
Symbol 966 MovieClip [Archmage] Frame 318
_root.magic(this, 2);
Symbol 966 MovieClip [Archmage] Frame 369
gotoAndPlay (1);
Symbol 966 MovieClip [Archmage] Frame 385
_root.magic(this, 3);
Symbol 966 MovieClip [Archmage] Frame 411
gotoAndPlay (1);
Symbol 966 MovieClip [Archmage] Frame 430
_root.magic(this, 4);
Symbol 966 MovieClip [Archmage] Frame 453
gotoAndPlay (1);
Symbol 966 MovieClip [Archmage] Frame 467
_root.impact(this, 130, 50);
Symbol 966 MovieClip [Archmage] Frame 481
gotoAndPlay (1);
Symbol 966 MovieClip [Archmage] Frame 482
call("walk");
Symbol 966 MovieClip [Archmage] Frame 483
call("walk");
Symbol 966 MovieClip [Archmage] Frame 484
call("walk");
Symbol 966 MovieClip [Archmage] Frame 485
call("walk");
Symbol 966 MovieClip [Archmage] Frame 486
call("walk");
Symbol 966 MovieClip [Archmage] Frame 487
call("walk");
Symbol 966 MovieClip [Archmage] Frame 488
call("walk");
Symbol 966 MovieClip [Archmage] Frame 489
call("walk");
Symbol 966 MovieClip [Archmage] Frame 490
call("walk");
Symbol 966 MovieClip [Archmage] Frame 491
call("walk");
Symbol 966 MovieClip [Archmage] Frame 492
call("walk");
Symbol 966 MovieClip [Archmage] Frame 493
call("walk");
Symbol 966 MovieClip [Archmage] Frame 494
call("walk");
Symbol 966 MovieClip [Archmage] Frame 495
call("walk");
Symbol 966 MovieClip [Archmage] Frame 496
call("walk");
Symbol 966 MovieClip [Archmage] Frame 497
_root.PlaySound("TeleportSFX", _x);
Symbol 966 MovieClip [Archmage] Frame 505
if (facing == "right") {
newpos = _x + 1000;
if ((_root.castles == facing) && (newpos > 1350)) {
newpos = 1350;
}
} else {
newpos = _x - 1000;
if ((_root.castles == facing) && (newpos < -1350)) {
newpos = -1350;
}
}
_x = newpos;
Symbol 966 MovieClip [Archmage] Frame 540
gotoAndPlay (1);
Symbol 966 MovieClip [Archmage] Frame 552
_root.magic(this, 7);
Symbol 966 MovieClip [Archmage] Frame 568
gotoAndPlay (1);
Symbol 966 MovieClip [Archmage] Frame 587
_root.magic(this, 8);
Symbol 966 MovieClip [Archmage] Frame 610
gotoAndPlay (1);
Symbol 966 MovieClip [Archmage] Frame 620
_root.magic(this, 9);
Symbol 966 MovieClip [Archmage] Frame 632
gotoAndPlay (1);
Symbol 966 MovieClip [Archmage] Frame 654
_root.magic(this, 10);
Symbol 966 MovieClip [Archmage] Frame 682
gotoAndPlay (1);
Symbol 966 MovieClip [Archmage] Frame 704
_root.magic(this, 11);
Symbol 966 MovieClip [Archmage] Frame 732
gotoAndPlay (1);
Symbol 966 MovieClip [Archmage] Frame 754
_root.magic(this, 12);
Symbol 966 MovieClip [Archmage] Frame 782
gotoAndPlay (1);
Symbol 966 MovieClip [Archmage] Frame 801
_root.magic(this, 13);
Symbol 966 MovieClip [Archmage] Frame 824
gotoAndPlay (1);
Symbol 966 MovieClip [Archmage] Frame 846
_root.magic(this, 14);
Symbol 966 MovieClip [Archmage] Frame 874
gotoAndPlay (1);
Symbol 966 MovieClip [Archmage] Frame 896
_root.magic(this, 15);
Symbol 966 MovieClip [Archmage] Frame 924
gotoAndPlay (1);
Symbol 971 Button
on (release) {
_parent._parent.selectedsoldier = i;
_parent._parent.gotoAndStop("sell");
}
Symbol 982 Button
on (release) {
_parent._parent.selectedsoldier = i;
_parent._parent.gotoAndStop("upgradeunit");
}
Symbol 988 Button
on (release) {
_parent._parent.gotoAndStop("buyunits");
}
Symbol 996 Button
on (release) {
_parent._parent.selectedsoldier = i;
_parent._parent.gotoAndStop("viewnewunit");
}
Symbol 1005 Button
on (release) {
if (_root[_root.shop_player + "money"] >= _root.arrUpgradeChoices[i][1]) {
_root.MenuSound("coin");
_root[_root.shop_player + "money"] = _root[_root.shop_player + "money"] - _root.arrUpgradeChoices[i][1];
_root.goldamount = "Gold: " + _root[_root.shop_player + "money"];
_root.ApplyUpgrade(i, _parent._parent.selectedsoldier, _root.shop_player);
_parent._parent.dispsoldier.shield.gotoAndPlay(1);
_parent._parent.dispsoldier.head.gotoAndPlay(1);
_parent._parent.dispsoldier.torso.gotoAndPlay(1);
_parent._parent.statschart.gotoAndPlay(2);
_parent._parent.upgradeinfo._visible = false;
gotoAndStop (3);
}
}
on (rollOver) {
_parent._parent.upgradeinfo.txtTitle = txtName;
_parent._parent.upgradeinfo.txtDescription = txtDescription;
_parent._parent.upgradeinfo.txtType = txtType;
_parent._parent.upgradeinfo._visible = true;
}
on (rollOut) {
_parent._parent.upgradeinfo._visible = false;
}
Symbol 1011 MovieClip Frame 1
stop();
Symbol 1011 MovieClip Frame 2
icon.gotoAndStop(_root.GetRaceData("Name", _root.MyRace));
Symbol 1011 MovieClip Frame 3
icon.gotoAndStop(_root.GetRaceData("Name", _root.MyRace) + "armour");
Symbol 1011 MovieClip Frame 4
icon.gotoAndStop(_root.GetRaceData("Name", _root.MyRace));
Symbol 1011 MovieClip Frame 5
icon.gotoAndStop(_root.GetRaceData("Name", _root.MyRace) + "helm");
Symbol 1011 MovieClip Frame 6
icon.gotoAndStop(_root.GetRaceData("Name", _root.MyRace));
Symbol 1011 MovieClip Frame 8
icon.gotoAndStop(_root.GetRaceData("Name", _root.MyRace));
Symbol 1011 MovieClip Frame 10
icon.gotoAndStop(_root.GetRaceData("Name", _root.MyRace));
Symbol 1020 Button
on (release) {
if (_root.areyousure._visible == false) {
if (_root.gametype == 4) {
_root.SetRace("left", _root.player0race);
_root.SetRace("right", _root.player1race);
_root.mp_attackregion(Number(attackingregion));
} else {
_root.SetRace("left", _root.leftrace);
_root.SetRace("right", _root.rightrace);
}
_root.attackingregion = attackingregion;
_root.attackingregionname = _root.GetRegionData("Name", attackingregion);
_root.reward = _root.GetRegionData("Reward", attackingregion);
_root.difficulty = _root.GetRegionData("Difficulty", attackingregion);
if (_root.GetRegionData("Castle", attackingregion)) {
if (gametype == 1) {
_root.castles = "right";
} else if (gametype == 4) {
if (_root.MP_Player == 1) {
_root.castles = "left";
} else {
_root.castles = "right";
}
} else if (_root.turnrace == _root.rightrace) {
_root.castles = "left";
} else {
_root.castles = "right";
}
} else {
_root.castles = "";
}
plus = 0;
if (_root.difficulty == "Easy") {
plus = -Math.ceil(_root.levelnum / 2);
}
if (_root.difficulty == "Medium") {
plus = Math.floor(_root.levelnum / 2);
}
if (_root.difficulty == "Hard") {
plus = Math.floor(_root.levelnum * 1.5);
}
if (_root.difficulty == "V. Hard") {
plus = Math.floor(_root.levelnum * 1.6);
}
if (plus < 1) {
plus = 1;
}
if (_root.difficultylevel == "Easy") {
plus = plus / 2;
}
if (_root.difficultylevel == "Hard") {
plus = plus * 2;
}
if (_root.difficultylevel == "Very Hard") {
plus = plus * 3;
}
if (_root.difficultylevel == "Hardest") {
plus = plus * 3;
}
plus = plus + (_root.levelnum - 10);
if ((_root.difficulty == "V. Hard") && (plus < 25)) {
plus = 25;
}
_root.difficultynum = Math.round(((plus + 11) / 63) * 100);
upgradenum = Math.ceil((_root.difficultynum / 2) - 2.5);
if (_root.difficultylevel == "Hardest") {
_root.difficultynum = 100;
}
_root.message(((("Attacking: " + _root.attackingregionname) + ", Difficulty: ") + Math.round(((plus + 11) / 63) * 100)) + "%");
if (_root.gametype == 1) {
_root.SetRace("right", racenum);
_root.arrrightSoldierChoices = _root.GetRegionData("Starting Units", attackingregion).split(",");
trace(upgradenum + " upgrades");
u = 0;
while (u < upgradenum) {
unit = _root.arrrightSoldierChoices[random(_root.arrrightSoldierChoices.length)];
a = 0;
while (a < 50) {
rnd = random(_root.arrUpgradeChoices.length);
if (((((_root.arrUpgradeChoices[rnd][7].indexOf(unit) > -1) && (_root.arrUpgradeChoices[rnd][4] == true)) || ((_root.arrUpgradeChoices[rnd][7].indexOf(unit) <= -1) && (_root.arrUpgradeChoices[rnd][4] == false))) && ((_root.arrUpgradeChoices[rnd][3] == -1) || (_root.arrUpgradeChoices[rnd][3] == racenum))) && (!_root.HasUpgrade(unit, rnd, "right"))) {
_root.ApplyUpgrade(rnd, unit, "right");
break;
}
a++;
}
u++;
}
}
if (_root.gametype == 4) {
_parent._visible = false;
} else if (((_root.castles != "") && (_root.hasSiegeUnit() == false)) && (_root.gametype == 1)) {
_root.areyousure.gotoAndStop(1);
_root.areyousure._visible = true;
} else if (((difficulty == "V. Hard") && (_root.levelnum < 15)) && (_root.gametype == 1)) {
_root.areyousure.gotoAndStop(2);
_root.areyousure._visible = true;
} else {
_root.gotoAndStop("Game");
}
}
}
on (rollOver) {
if (_root.areyousure._visible == false) {
_parent["map" + attackingregion]._visible = true;
_root.mapinfo.name = _root.GetRegionData("Name", attackingregion);
_root.mapinfo.owner = _root.GetRaceData("Full Name", _root.GetRegionData("Race", attackingregion));
difficulty = _root.GetRegionData("Difficulty", attackingregion);
if (difficulty == "Easy") {
plus = -Math.ceil(_root.levelnum / 2);
}
if (difficulty == "Medium") {
plus = Math.floor(_root.levelnum / 2);
}
if (difficulty == "Hard") {
plus = Math.floor(_root.levelnum * 1.5);
}
if (difficulty == "V. Hard") {
plus = Math.floor(_root.levelnum * 1.6);
}
if (plus < 1) {
plus = 1;
}
if (_root.difficultylevel == "Easy") {
plus = plus / 2;
}
if (_root.difficultylevel == "Hard") {
plus = plus * 2;
}
if (_root.difficultylevel == "Very Hard") {
plus = plus * 3;
}
plus = plus + (_root.levelnum - 10);
if ((difficulty == "V. Hard") && (plus < 25)) {
plus = 25;
}
percentage = Math.round(((plus + 11) / 63) * 100);
_root.mapinfo.difficulty = percentage + "%";
_root.mapinfo.reward = _root.GetRegionData("Reward", attackingregion);
}
}
on (rollOut) {
_parent["map" + attackingregion]._visible = false;
_root.mapinfo.name = "";
}
Symbol 1038 MovieClip [Weakness] Frame 8
if (caster.player != "left") {
enemies = _root.arrrightSoldiers[l];
} else {
enemies = _root.arrleftSoldiers[l];
}
e = 1;
while ((e <= enemies) && (e < 1000)) {
totest = _root.game["lane" + Firer.channel][((("soldier" + Firer.player) + Firer.channel) + "_") + e];
if (totest != undefined) {
totest.weak = true;
totest.speed = 2;
}
e++;
}
Symbol 1038 MovieClip [Weakness] Frame 21
this.removeMovieClip();
Symbol 1054 MovieClip [Tornado] Frame 1
if (setup != true) {
timer = 75;
setup = true;
speed = random(20) - random(20);
testtimer = 10;
_alpha = 0;
}
this.onEnterFrame = function () {
timer--;
testtimer--;
if (testtimer < 0) {
enemies = _root.enemiesinchannel(caster, caster.target.channel);
e = 1;
while ((e <= enemies) && (e < 1000)) {
if (caster.facing == "left") {
oppo = "right";
} else {
oppo = "left";
}
totest = _root.game["lane" + caster.target.channel][((("soldier" + oppo) + caster.target.channel) + "_") + e];
if (_root.GetDistance(totest, this) < (this._width / 2)) {
totest.health = totest.health - random(30);
if (totest.health <= 0) {
_root[totest.facing + "kills"]++;
}
_root.generalanimation(totest, "Launched");
}
e++;
}
testtimer = 10;
}
if (Math.random() > 0.98) {
speed = random(20) - random(20);
}
_x = (_x + speed);
if (timer < 0) {
_alpha = (_alpha - 10);
if (_alpha <= 0) {
this.removeMovieClip();
}
} else if (_alpha < 100) {
_alpha = (_alpha + 10);
}
};
Symbol 1061 MovieClip [Mind Control] Frame 1
this.onEnterFrame = function () {
if (_xscale > 0) {
speed = 30;
} else {
speed = -30;
}
_x = (_x + speed);
if ((_x < -1400) || (_x > 1400)) {
removeMovieClip(this);
}
if (this.hitTest(target)) {
target.facing = Firer.facing;
target._xscale = Firer._xscale;
_root.generalanimation(target, "Mind Control Ani");
this.removeMovieClip();
}
};
Symbol 1068 MovieClip [Lightning] Frame 1
_root.PlaySound("Thunder", _x);
Symbol 1068 MovieClip [Lightning] Frame 9
this.removeMovieClip();
Symbol 1077 MovieClip Frame 8
stop();
Symbol 1079 MovieClip [Instant Death] Frame 1
if (_xscale > 0) {
speed = 50;
} else {
speed = -50;
}
_x = (_x + speed);
if ((_x < -1400) || (_x > 1400)) {
removeMovieClip(this);
}
if (this.hitTest(Firer.target)) {
Firer.target.health = 0;
_root.soldierdie(Firer.target);
gotoAndPlay ("hit");
}
Symbol 1079 MovieClip [Instant Death] Frame 2
gotoAndPlay (1);
Symbol 1079 MovieClip [Instant Death] Frame 10
this.removeMovieClip();
Symbol 1080 MovieClip [Iceball Projectile] Frame 1
if (_xscale > 0) {
speed = 50;
} else {
speed = -50;
}
dropspeed = 0;
_x = (_x + speed);
if ((_x < -1400) || (_x > 1400)) {
removeMovieClip(this);
}
if (this.hitTest(target)) {
_root.PlaySound("ImpactSFX", _x);
_root.hurt(target, random(150));
_root.generalanimation(target, "KnockOver");
gotoAndPlay ("drop");
}
Symbol 1080 MovieClip [Iceball Projectile] Frame 2
gotoAndPlay ("loop");
Symbol 1080 MovieClip [Iceball Projectile] Frame 3
if (_y < 0) {
_y = (_y + dropspeed);
dropspeed++;
} else {
_alpha = (_alpha - 2);
if (_alpha <= 0) {
this.removeMovieClip();
}
}
Symbol 1080 MovieClip [Iceball Projectile] Frame 4
gotoAndPlay ("drop");
Symbol 1083 MovieClip [Ice Block] Frame 1
timer = 10;
Symbol 1083 MovieClip [Ice Block] Frame 20
enemies = _root.enemiesinchannel(caster, caster.target.channel);
e = 1;
while ((e <= enemies) && (e < 1000)) {
if (caster.facing == "left") {
oppo = "right";
} else {
oppo = "left";
}
totest = _root.game["lane" + caster.target.channel][((("soldier" + oppo) + caster.target.channel) + "_") + e];
if ((caster.target == totest) || (_root.GetDistance(totest, this) < (this._width / 2))) {
if (caster.target.getDepth() > this.getDepth()) {
caster.target.swapDepths(this);
}
_root.hurt(totest, 1000);
}
e++;
}
_root.PlaySound("BigHit", _x);
Symbol 1083 MovieClip [Ice Block] Frame 26
if (timer < 0) {
if (_alpha <= 0) {
this.removeMovieClip();
} else {
_alpha = (_alpha - 1);
}
} else {
timer--;
}
Symbol 1083 MovieClip [Ice Block] Frame 27
gotoAndPlay ("fade");
Symbol 1090 MovieClip [Fire Pit] Frame 7
enemies = _root.enemiesinchannel(caster.target, caster.target.channel);
e = 1;
while ((e <= enemies) && (e < 1000)) {
if (caster.target.facing == "left") {
oppo = "right";
} else {
oppo = "left";
}
totest = _root.game["lane" + caster.target.channel][((("soldier" + oppo) + caster.target.channel) + "_") + e];
if (_root.GetDistance(totest, this) < 168) {
_root[totest.facing + "kills"]++;
_root.generalanimation(totest, "Fall");
}
e++;
}
enemies = _root.enemiesinchannel(caster, caster.target.channel);
e = 1;
while ((e <= enemies) && (e < 1000)) {
if (caster.facing == "left") {
oppo = "right";
} else {
oppo = "left";
}
totest = _root.game["lane" + caster.target.channel][((("soldier" + oppo) + caster.target.channel) + "_") + e];
if (_root.GetDistance(totest, this) < 168) {
_root[totest.facing + "kills"]++;
_root.generalanimation(totest, "Fall");
}
e++;
}
Symbol 1090 MovieClip [Fire Pit] Frame 15
call("check");
Symbol 1090 MovieClip [Fire Pit] Frame 25
call("check");
Symbol 1090 MovieClip [Fire Pit] Frame 35
call("check");
Symbol 1090 MovieClip [Fire Pit] Frame 45
call("check");
Symbol 1090 MovieClip [Fire Pit] Frame 55
call("check");
Symbol 1090 MovieClip [Fire Pit] Frame 65
call("check");
Symbol 1090 MovieClip [Fire Pit] Frame 83
this.removeMovieClip();
Symbol 1121 MovieClip Frame 1
_visible = _root.option_blood;
if (((_parent == _root.game.Player) && (_root.Message != "Game Over")) && (_root.gamemode == 1)) {
play();
} else {
gotoAndStop (1);
}
Symbol 1121 MovieClip Frame 49
stop();
Symbol 1122 MovieClip [Ellder] Frame 1
_root.ready(this);
swipes = 3;
fswipes = 3;
bswipes = 2;
bashes = 2;
fbashes = 1;
speed = 5;
xpos = _x;
cantdecapitate = true;
if ((_root.gamemode != 3) || (this == _root.camerafocus)) {
displayrace = "elf";
if (_root.cheatcode == "achilles") {
displayrace = "achilles";
}
}
blocksound = "wood";
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Sword", _x);
}
Symbol 1122 MovieClip [Ellder] Frame 2
_root.ready(this);
Symbol 1122 MovieClip [Ellder] Frame 3
_root.ready(this);
Symbol 1122 MovieClip [Ellder] Frame 4
_root.ready(this);
Symbol 1122 MovieClip [Ellder] Frame 5
_root.ready(this);
Symbol 1122 MovieClip [Ellder] Frame 6
_root.ready(this);
Symbol 1122 MovieClip [Ellder] Frame 7
_root.ready(this);
Symbol 1122 MovieClip [Ellder] Frame 8
_root.ready(this);
Symbol 1122 MovieClip [Ellder] Frame 9
_root.ready(this);
Symbol 1122 MovieClip [Ellder] Frame 10
_root.ready(this);
Symbol 1122 MovieClip [Ellder] Frame 11
_root.ready(this);
Symbol 1122 MovieClip [Ellder] Frame 12
_root.ready(this);
Symbol 1122 MovieClip [Ellder] Frame 13
_root.ready(this);
Symbol 1122 MovieClip [Ellder] Frame 14
_root.ready(this);
Symbol 1122 MovieClip [Ellder] Frame 15
_root.ready(this);
Symbol 1122 MovieClip [Ellder] Frame 16
_root.ready(this);
Symbol 1122 MovieClip [Ellder] Frame 17
_root.ready(this);
Symbol 1122 MovieClip [Ellder] Frame 18
_root.ready(this);
Symbol 1122 MovieClip [Ellder] Frame 19
_root.ready(this);
Symbol 1122 MovieClip [Ellder] Frame 20
_root.ready(this);
Symbol 1122 MovieClip [Ellder] Frame 21
gotoAndPlay (1);
Symbol 1122 MovieClip [Ellder] Frame 22
_root.blood(random(5) + 5, this, 60, "up");
_root.die(this);
_root.dropspear(this);
Symbol 1122 MovieClip [Ellder] Frame 79
gotoAndPlay ("respawn");
Symbol 1122 MovieClip [Ellder] Frame 80
_root.moveman(this, speed, true);
Symbol 1122 MovieClip [Ellder] Frame 81
call("walk");
Symbol 1122 MovieClip [Ellder] Frame 82
call("walk");
Symbol 1122 MovieClip [Ellder] Frame 83
call("walk");
Symbol 1122 MovieClip [Ellder] Frame 84
call("walk");
Symbol 1122 MovieClip [Ellder] Frame 85
call("walk");
Symbol 1122 MovieClip [Ellder] Frame 86
call("walk");
Symbol 1122 MovieClip [Ellder] Frame 87
call("walk");
Symbol 1122 MovieClip [Ellder] Frame 88
call("walk");
Symbol 1122 MovieClip [Ellder] Frame 89
call("walk");
Symbol 1122 MovieClip [Ellder] Frame 90
call("walk");
Symbol 1122 MovieClip [Ellder] Frame 91
gotoAndPlay (1);
Symbol 1122 MovieClip [Ellder] Frame 92
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 93
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 94
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 95
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 96
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 97
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 98
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 99
_root.moveman(this, speed, false);
_root.attack(this, "HIGH", 160, 35, "head");
Symbol 1122 MovieClip [Ellder] Frame 100
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 101
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 102
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 103
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 104
_root.moveman(this, speed, false);
_root.attack(this, "HIGH", 160, 10);
Symbol 1122 MovieClip [Ellder] Frame 105
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 106
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 107
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 108
gotoAndPlay (1);
Symbol 1122 MovieClip [Ellder] Frame 109
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 110
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 111
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 112
_root.moveman(this, speed, false);
_root.attack(this, "MIDDLE", 130, 15);
Symbol 1122 MovieClip [Ellder] Frame 113
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 114
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 115
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 116
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 117
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 118
gotoAndPlay (1);
Symbol 1122 MovieClip [Ellder] Frame 119
lostlimb = "head";
_root.die(this);
Symbol 1122 MovieClip [Ellder] Frame 120
_root.blood(random(10), this, 60, "up");
Symbol 1122 MovieClip [Ellder] Frame 121
call("bleed");
Symbol 1122 MovieClip [Ellder] Frame 122
call("bleed");
Symbol 1122 MovieClip [Ellder] Frame 123
call("bleed");
Symbol 1122 MovieClip [Ellder] Frame 188
stop();
Symbol 1122 MovieClip [Ellder] Frame 207
gotoAndPlay (1);
Symbol 1122 MovieClip [Ellder] Frame 217
stop();
Symbol 1122 MovieClip [Ellder] Frame 218
_root.moveman(this, -5, true);
Symbol 1122 MovieClip [Ellder] Frame 219
_root.moveman(this, -5, true);
Symbol 1122 MovieClip [Ellder] Frame 220
_root.moveman(this, -5, true);
Symbol 1122 MovieClip [Ellder] Frame 221
_root.moveman(this, -5, true);
Symbol 1122 MovieClip [Ellder] Frame 222
gotoAndPlay (1);
Symbol 1122 MovieClip [Ellder] Frame 223
_root.moveman(this, -5, true);
Symbol 1122 MovieClip [Ellder] Frame 224
_root.moveman(this, -5, true);
Symbol 1122 MovieClip [Ellder] Frame 225
_root.moveman(this, -5, true);
Symbol 1122 MovieClip [Ellder] Frame 226
_root.moveman(this, -5, true);
Symbol 1122 MovieClip [Ellder] Frame 227
_root.moveman(this, -5, true);
Symbol 1122 MovieClip [Ellder] Frame 228
_root.moveman(this, -5, true);
Symbol 1122 MovieClip [Ellder] Frame 229
_root.moveman(this, -5, true);
Symbol 1122 MovieClip [Ellder] Frame 230
gotoAndPlay (1);
Symbol 1122 MovieClip [Ellder] Frame 231
_root.moveman(this, -5, false);
Symbol 1122 MovieClip [Ellder] Frame 232
_root.moveman(this, -3, false);
Symbol 1122 MovieClip [Ellder] Frame 236
gotoAndPlay (1);
Symbol 1122 MovieClip [Ellder] Frame 240
_root.attack(this, "MIDDLE", 130, 15);
Symbol 1122 MovieClip [Ellder] Frame 243
_root.attack(this, "MIDDLE", 130, 15);
Symbol 1122 MovieClip [Ellder] Frame 246
gotoAndPlay (1);
Symbol 1122 MovieClip [Ellder] Frame 247
_root.moveman(this, -5, true);
Symbol 1122 MovieClip [Ellder] Frame 248
call("walkback");
Symbol 1122 MovieClip [Ellder] Frame 249
call("walkback");
Symbol 1122 MovieClip [Ellder] Frame 250
call("walkback");
Symbol 1122 MovieClip [Ellder] Frame 251
call("walkback");
Symbol 1122 MovieClip [Ellder] Frame 252
call("walkback");
Symbol 1122 MovieClip [Ellder] Frame 253
call("walkback");
Symbol 1122 MovieClip [Ellder] Frame 254
call("walkback");
Symbol 1122 MovieClip [Ellder] Frame 255
call("walkback");
Symbol 1122 MovieClip [Ellder] Frame 256
call("walkback");
Symbol 1122 MovieClip [Ellder] Frame 257
call("walkback");
Symbol 1122 MovieClip [Ellder] Frame 258
gotoAndPlay (1);
Symbol 1122 MovieClip [Ellder] Frame 259
if (distancetoenemy > 50) {
_root.moveman(this, 10, false);
}
Symbol 1122 MovieClip [Ellder] Frame 260
_root.moveman(this, 3, false);
Symbol 1122 MovieClip [Ellder] Frame 261
_root.moveman(this, 1, false);
Symbol 1122 MovieClip [Ellder] Frame 262
_root.moveman(this, 1, false);
_root.bash(this, "MIDDLE", 80, 25);
Symbol 1122 MovieClip [Ellder] Frame 271
gotoAndPlay (1);
Symbol 1122 MovieClip [Ellder] Frame 272
ducking = true;
Symbol 1122 MovieClip [Ellder] Frame 273
if (blocked == true) {
gotoAndPlay ("block1");
} else if (Key.isDown(40)) {
gotoAndPlay ("duck");
} else {
gotoAndPlay (1);
}
Symbol 1122 MovieClip [Ellder] Frame 274
if (hasAmuletofHeight != undefined) {
upspeed = 20;
} else {
upspeed = 15;
}
Symbol 1122 MovieClip [Ellder] Frame 279
_root.jumpmovement(this, true);
Symbol 1122 MovieClip [Ellder] Frame 280
gotoAndPlay ("midjump");
Symbol 1122 MovieClip [Ellder] Frame 283
gotoAndPlay (1);
Symbol 1122 MovieClip [Ellder] Frame 290
_root.attack(this, "HIGH", 120, 30, "head");
Symbol 1122 MovieClip [Ellder] Frame 298
gotoAndPlay (1);
Symbol 1122 MovieClip [Ellder] Frame 305
_root.attack(this, "MIDDLE", 140, 30);
Symbol 1122 MovieClip [Ellder] Frame 309
gotoAndPlay (1);
Symbol 1122 MovieClip [Ellder] Frame 310
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 311
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 312
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 313
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 314
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 315
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 316
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 317
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 318
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 319
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 320
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 321
_root.moveman(this, speed, false);
_root.attack(this, "HIGH", 170, 70, "head");
Symbol 1122 MovieClip [Ellder] Frame 322
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 323
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 324
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 325
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 326
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 327
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 328
_root.moveman(this, speed, false);
Symbol 1122 MovieClip [Ellder] Frame 329
gotoAndPlay (1);
Symbol 1122 MovieClip [Ellder] Frame 330
if (distancetoenemy > 50) {
_root.moveman(this, 10, false);
}
Symbol 1122 MovieClip [Ellder] Frame 331
if (distancetoenemy > 50) {
_root.moveman(this, 7, false);
}
Symbol 1122 MovieClip [Ellder] Frame 332
_root.moveman(this, 3, false);
Symbol 1122 MovieClip [Ellder] Frame 333
_root.bash(this, "LOW", 70, 25);
Symbol 1122 MovieClip [Ellder] Frame 343
gotoAndPlay (1);
Symbol 1122 MovieClip [Ellder] Frame 344
_root.moveman(this, -speed, false);
Symbol 1122 MovieClip [Ellder] Frame 345
_root.moveman(this, -speed, false);
Symbol 1122 MovieClip [Ellder] Frame 346
_root.moveman(this, -speed, false);
Symbol 1122 MovieClip [Ellder] Frame 347
_root.moveman(this, -speed, false);
_root.attack(this, "MIDDLE", 100, 20);
Symbol 1122 MovieClip [Ellder] Frame 348
_root.moveman(this, -speed, false);
Symbol 1122 MovieClip [Ellder] Frame 349
_root.moveman(this, -speed, false);
Symbol 1122 MovieClip [Ellder] Frame 350
_root.moveman(this, -speed, false);
Symbol 1122 MovieClip [Ellder] Frame 351
_root.moveman(this, -speed, false);
Symbol 1122 MovieClip [Ellder] Frame 352
_root.moveman(this, -speed, false);
Symbol 1122 MovieClip [Ellder] Frame 353
_root.moveman(this, -speed, false);
_root.attack(this, "HIGH", 100, 20);
Symbol 1122 MovieClip [Ellder] Frame 354
_root.moveman(this, -speed, false);
Symbol 1122 MovieClip [Ellder] Frame 355
gotoAndPlay (1);
Symbol 1122 MovieClip [Ellder] Frame 358
_root.moveman(this, -5, false);
Symbol 1122 MovieClip [Ellder] Frame 359
_root.moveman(this, -5, false);
Symbol 1122 MovieClip [Ellder] Frame 360
_root.moveman(this, -10, false);
Symbol 1122 MovieClip [Ellder] Frame 361
_root.moveman(this, -15, false);
Symbol 1122 MovieClip [Ellder] Frame 362
_root.moveman(this, -15, false);
Symbol 1122 MovieClip [Ellder] Frame 363
_root.moveman(this, -10, false);
Symbol 1122 MovieClip [Ellder] Frame 364
_root.moveman(this, -5, false);
_root.attack(this, "HIGH", 90, 20);
Symbol 1122 MovieClip [Ellder] Frame 366
_root.attack(this, "HIGH", 150, 40);
Symbol 1122 MovieClip [Ellder] Frame 371
gotoAndPlay (1);
Symbol 1122 MovieClip [Ellder] Frame 372
_root.moveman(this, 7, false);
Symbol 1122 MovieClip [Ellder] Frame 373
_root.bash(this, "MIDDLE", 50, 25);
_root.moveman(this, 7, false);
Symbol 1122 MovieClip [Ellder] Frame 374
_root.moveman(this, 7, false);
Symbol 1122 MovieClip [Ellder] Frame 375
_root.moveman(this, 7, false);
Symbol 1122 MovieClip [Ellder] Frame 376
_root.moveman(this, 7, false);
Symbol 1122 MovieClip [Ellder] Frame 377
_root.bash(this, "MIDDLE", 65, 25);
_root.moveman(this, 7, false);
Symbol 1122 MovieClip [Ellder] Frame 378
_root.moveman(this, 7, false);
Symbol 1122 MovieClip [Ellder] Frame 379
_root.moveman(this, 7, false);
Symbol 1122 MovieClip [Ellder] Frame 380
_root.moveman(this, 7, false);
Symbol 1122 MovieClip [Ellder] Frame 381
_root.bash(this, "MIDDLE", 65, 25);
_root.moveman(this, 7, false);
Symbol 1122 MovieClip [Ellder] Frame 382
_root.moveman(this, 7, false);
Symbol 1122 MovieClip [Ellder] Frame 383
_root.moveman(this, 7, false);
Symbol 1122 MovieClip [Ellder] Frame 384
_root.moveman(this, 7, false);
Symbol 1122 MovieClip [Ellder] Frame 385
_root.moveman(this, 7, false);
Symbol 1122 MovieClip [Ellder] Frame 388
gotoAndPlay (1);
Symbol 1122 MovieClip [Ellder] Frame 389
_root.jumpmovement(this, false);
Symbol 1122 MovieClip [Ellder] Frame 390
call("jumpswipe");
Symbol 1122 MovieClip [Ellder] Frame 391
call("jumpswipe");
Symbol 1122 MovieClip [Ellder] Frame 392
call("jumpswipe");
Symbol 1122 MovieClip [Ellder] Frame 393
call("jumpswipe");
Symbol 1122 MovieClip [Ellder] Frame 394
call("jumpswipe");
Symbol 1122 MovieClip [Ellder] Frame 395
call("jumpswipe");
_root.attack(this, "MIDDLE", 130, 25);
Symbol 1122 MovieClip [Ellder] Frame 396
call("jumpswipe");
Symbol 1122 MovieClip [Ellder] Frame 397
call("jumpswipe");
Symbol 1122 MovieClip [Ellder] Frame 398
call("jumpswipe");
Symbol 1122 MovieClip [Ellder] Frame 399
call("jumpswipe");
Symbol 1122 MovieClip [Ellder] Frame 400
gotoAndPlay ("midjump");
Symbol 1122 MovieClip [Ellder] Frame 401
if (this == _root.game.Player) {
if ((_root.Lives > 1) && (_root.gamemode == 1)) {
_root.Lives--;
health = _root.maxplayerhealth;
arrowsstabbed = 0;
invunrabilitytimer = 120;
} else {
stop();
_root.Message = "Game Over";
_root.fade.play();
}
} else {
stop();
}
Symbol 1122 MovieClip [Ellder] Frame 458
dead = false;
gotoAndPlay (1);
Symbol 1122 MovieClip [Ellder] Frame 459
blocked = false;
Symbol 1122 MovieClip [Ellder] Frame 464
gotoAndPlay (1);
Symbol 1143 MovieClip [Castle] Frame 1
castle = true;
if (race != undefined) {
gotoAndStop(race);
} else {
stop();
}
Symbol 1145 MovieClip [Removed Head] Frame 1
upspeed = 10 + random(10);
sidespeed = random(10) - random(10);
spin = random(30) + random(30);
bounces = 0;
groundlevel = _y + 100;
this.onEnterFrame = function () {
if (Math.abs(_x - _parent.Player._x) > 400) {
removeMovieClip(this);
}
if ((_y >= groundlevel) && (upspeed < 0)) {
if (bounces < 2) {
upspeed = Math.abs(upspeed) / 2.5;
spin = spin / 1.5;
bounces++;
_root.blood(4, this, 0);
} else {
_alpha = (_alpha-1);
if (_alpha <= 0) {
this.removeMovieClip();
}
}
} else {
_y = (_y - upspeed);
_x = (_x + sidespeed);
upspeed--;
_rotation = (_rotation + spin);
_root.blood(1, this, 0);
}
};
Symbol 1146 MovieClip [Spearman] Frame 1
if ((setupsound != true) && (inbattle == true)) {
setupsound = true;
_root.PlaySound("Equip_Spear", _x);
}
_root.ready(this);
swipes = 3;
Symbol 1146 MovieClip [Spearman] Frame 2
gotoAndPlay (1);
Symbol 1146 MovieClip [Spearman] Frame 3
_root.blood(random(5) + 5, this, 60, "up");
_root.die(this);
_root.dropspear(this);
Symbol 1146 MovieClip [Spearman] Frame 60
stop();
Symbol 1146 MovieClip [Spearman] Frame 65
_root.attack(this, "MIDDLE", 130, 10);
Symbol 1146 MovieClip [Spearman] Frame 75
gotoAndPlay (1);
Symbol 1146 MovieClip [Spearman] Frame 80
_root.attack(this, "HIGH", 130, 20);
Symbol 1146 MovieClip [Spearman] Frame 90
gotoAndPlay (1);
Symbol 1146 MovieClip [Spearman] Frame 95
_root.attack(this, "MIDDLE", 130, 10);
Symbol 1146 MovieClip [Spearman] Frame 105
gotoAndPlay (1);
Symbol 1146 MovieClip [Spearman] Frame 106
speed = 5;
_root.moveman(this, speed, true);
Symbol 1146 MovieClip [Spearman] Frame 107
call("walk");
Symbol 1146 MovieClip [Spearman] Frame 108
call("walk");
Symbol 1146 MovieClip [Spearman] Frame 109
call("walk");
Symbol 1146 MovieClip [Spearman] Frame 110
call("walk");
Symbol 1146 MovieClip [Spearman] Frame 111
call("walk");
Symbol 1146 MovieClip [Spearman] Frame 112
call("walk");
Symbol 1146 MovieClip [Spearman] Frame 113
call("walk");
Symbol 1146 MovieClip [Spearman] Frame 114
call("walk");
Symbol 1146 MovieClip [Spearman] Frame 115
call("walk");
Symbol 1146 MovieClip [Spearman] Frame 116
call("walk");
Symbol 1146 MovieClip [Spearman] Frame 117
gotoAndPlay (1);
Symbol 1146 MovieClip [Spearman] Frame 118
speed = 15;
_root.moveman(this, speed, true);
Symbol 1146 MovieClip [Spearman] Frame 119
call("special");
Symbol 1146 MovieClip [Spearman] Frame 120
call("special");
Symbol 1146 MovieClip [Spearman] Frame 121
call("special");
Symbol 1146 MovieClip [Spearman] Frame 122
call("special");
Symbol 1146 MovieClip [Spearman] Frame 123
call("special");
Symbol 1146 MovieClip [Spearman] Frame 124
call("special");
Symbol 1146 MovieClip [Spearman] Frame 125
call("special");
Symbol 1146 MovieClip [Spearman] Frame 126
call("special");
Symbol 1146 MovieClip [Spearman] Frame 127
call("special");
Symbol 1146 MovieClip [Spearman] Frame 128
gotoAndPlay (1);
Symbol 1146 MovieClip [Spearman] Frame 129
call("special");
Symbol 1146 MovieClip [Spearman] Frame 130
call("special");
Symbol 1146 MovieClip [Spearman] Frame 131
_root.attack(this, "MIDDLE", 130, 100);
Symbol 1146 MovieClip [Spearman] Frame 132
speciallevel = 1;
Symbol 1146 MovieClip [Spearman] Frame 147
gotoAndPlay (1);
Symbol 1146 MovieClip [Spearman] Frame 149
gotoAndPlay (1);
Symbol 1149 MovieClip [Halberdier] Frame 1
_root.ready(this);
swipes = 2;
if (setupsound != true) {
setupsound = true;
_root.PlaySound("Equip_Halberd", _x);
}
Symbol 1149 MovieClip [Halberdier] Frame 2
gotoAndPlay (1);
Symbol 1149 MovieClip [Halberdier] Frame 3
_root.blood(random(5) + 5, this, 60, "up");
_root.die(this);
_root.dropspear(this);
Symbol 1149 MovieClip [Halberdier] Frame 60
stop();
Symbol 1149 MovieClip [Halberdier] Frame 61
_root.moveman(this, speed, true);
Symbol 1149 MovieClip [Halberdier] Frame 62
call("walk");
Symbol 1149 MovieClip [Halberdier] Frame 63
call("walk");
Symbol 1149 MovieClip [Halberdier] Frame 64
call("walk");
Symbol 1149 MovieClip [Halberdier] Frame 65
call("walk");
Symbol 1149 MovieClip [Halberdier] Frame 66
call("walk");
Symbol 1149 MovieClip [Halberdier] Frame 67
call("walk");
Symbol 1149 MovieClip [Halberdier] Frame 68
call("walk");
Symbol 1149 MovieClip [Halberdier] Frame 69
call("walk");
Symbol 1149 MovieClip [Halberdier] Frame 70
call("walk");
Symbol 1149 MovieClip [Halberdier] Frame 71
call("walk");
Symbol 1149 MovieClip [Halberdier] Frame 72
gotoAndPlay (1);
Symbol 1149 MovieClip [Halberdier] Frame 73
call("walk");
Symbol 1149 MovieClip [Halberdier] Frame 74
call("walk");
Symbol 1149 MovieClip [Halberdier] Frame 75
call("walk");
Symbol 1149 MovieClip [Halberdier] Frame 76
call("walk");
Symbol 1149 MovieClip [Halberdier] Frame 77
call("walk");
Symbol 1149 MovieClip [Halberdier] Frame 78
call("walk");
Symbol 1149 MovieClip [Halberdier] Frame 79
call("walk");
Symbol 1149 MovieClip [Halberdier] Frame 80
call("walk");
Symbol 1149 MovieClip [Halberdier] Frame 81
call("walk");
Symbol 1149 MovieClip [Halberdier] Frame 82
call("walk");
Symbol 1149 MovieClip [Halberdier] Frame 91
_root.attack(this, "MIDDLE", 130, 35);
Symbol 1149 MovieClip [Halberdier] Frame 105
gotoAndPlay (1);
Symbol 1149 MovieClip [Halberdier] Frame 116
_root.attack(this, "MIDDLE", 130, 40, "head");
Symbol 1149 MovieClip [Halberdier] Frame 127
gotoAndPlay (1);
Symbol 1149 MovieClip [Halberdier] Frame 129
gotoAndPlay (1);
Symbol 1150 MovieClip [Archer] Frame 1
_root.ready(this);
swipes = 1;
isarcher = true;
if ((setupsound != true) && (inbattle == true)) {
setupsound = true;
_root.PlaySound("Equip_Other", _x);
ammo = 10;
}
Symbol 1150 MovieClip [Archer] Frame 2
gotoAndPlay (1);
Symbol 1150 MovieClip [Archer] Frame 3
_root.moveman(this, speed, true);
Symbol 1150 MovieClip [Archer] Frame 4
call("walk");
Symbol 1150 MovieClip [Archer] Frame 5
call("walk");
Symbol 1150 MovieClip [Archer] Frame 6
call("walk");
Symbol 1150 MovieClip [Archer] Frame 7
call("walk");
Symbol 1150 MovieClip [Archer] Frame 8
call("walk");
Symbol 1150 MovieClip [Archer] Frame 9
call("walk");
Symbol 1150 MovieClip [Archer] Frame 10
call("walk");
Symbol 1150 MovieClip [Archer] Frame 11
call("walk");
Symbol 1150 MovieClip [Archer] Frame 12
call("walk");
Symbol 1150 MovieClip [Archer] Frame 13
call("walk");
Symbol 1150 MovieClip [Archer] Frame 14
_root.moveman(this, speed, true);
Symbol 1150 MovieClip [Archer] Frame 15
call("walk");
Symbol 1150 MovieClip [Archer] Frame 16
call("walk");
Symbol 1150 MovieClip [Archer] Frame 17
call("walk");
Symbol 1150 MovieClip [Archer] Frame 18
call("walk");
Symbol 1150 MovieClip [Archer] Frame 19
call("walk");
Symbol 1150 MovieClip [Archer] Frame 20
call("walk");
Symbol 1150 MovieClip [Archer] Frame 21
call("walk");
Symbol 1150 MovieClip [Archer] Frame 22
call("walk");
Symbol 1150 MovieClip [Archer] Frame 23
call("walk");
Symbol 1150 MovieClip [Archer] Frame 24
call("walk");
Symbol 1150 MovieClip [Archer] Frame 25
_root.moveman(this, speed, true);
Symbol 1150 MovieClip [Archer] Frame 26
call("walk");
Symbol 1150 MovieClip [Archer] Frame 27
call("walk");
Symbol 1150 MovieClip [Archer] Frame 28
call("walk");
Symbol 1150 MovieClip [Archer] Frame 29
call("walk");
Symbol 1150 MovieClip [Archer] Frame 30
call("walk");
Symbol 1150 MovieClip [Archer] Frame 31
call("walk");
Symbol 1150 MovieClip [Archer] Frame 32
call("walk");
Symbol 1150 MovieClip [Archer] Frame 33
call("walk");
Symbol 1150 MovieClip [Archer] Frame 34
call("walk");
Symbol 1150 MovieClip [Archer] Frame 35
call("walk");
Symbol 1150 MovieClip [Archer] Frame 36
_root.moveman(this, speed, true);
Symbol 1150 MovieClip [Archer] Frame 37
call("walk");
Symbol 1150 MovieClip [Archer] Frame 38
call("walk");
Symbol 1150 MovieClip [Archer] Frame 39
call("walk");
Symbol 1150 MovieClip [Archer] Frame 40
call("walk");
Symbol 1150 MovieClip [Archer] Frame 41
call("walk");
Symbol 1150 MovieClip [Archer] Frame 42
gotoAndPlay (1);
Symbol 1150 MovieClip [Archer] Frame 43
_root.die(this);
_root.blood(random(5) + 5, this, 60, "up");
Symbol 1150 MovieClip [Archer] Frame 100
stop();
Symbol 1150 MovieClip [Archer] Frame 101
if (ammo <= 0) {
gotoAndPlay ("walk");
}
Symbol 1150 MovieClip [Archer] Frame 118
_root.firearrow(this);
ammo--;
Symbol 1150 MovieClip [Archer] Frame 133
gotoAndPlay (1);
Symbol 1150 MovieClip [Archer] Frame 136
_root.impact(this, 70, 20);
Symbol 1150 MovieClip [Archer] Frame 146
gotoAndPlay (1);
Symbol 1154 MovieClip [Swordsman] Frame 1
_root.ready(this);
swipes = 4;
if ((setupsound != true) && (inbattle == true)) {
setupsound = true;
_root.PlaySound("Equip_Sword", _x);
}
Symbol 1154 MovieClip [Swordsman] Frame 4
gotoAndPlay (1);
Symbol 1154 MovieClip [Swordsman] Frame 10
_root.attack(this, "HIGH", 100, 25);
Symbol 1154 MovieClip [Swordsman] Frame 17
gotoAndPlay (1);
Symbol 1154 MovieClip [Swordsman] Frame 23
_root.attack(this, "MIDDLE", 100, 25);
Symbol 1154 MovieClip [Swordsman] Frame 30
gotoAndPlay (1);
Symbol 1154 MovieClip [Swordsman] Frame 38
_root.attack(this, "HIGH", 95, 30, "head");
Symbol 1154 MovieClip [Swordsman] Frame 40
gotoAndPlay (1);
Symbol 1154 MovieClip [Swordsman] Frame 41
_root.moveman(this, speed, true);
shielded = false;
Symbol 1154 MovieClip [Swordsman] Frame 42
call("walk");
Symbol 1154 MovieClip [Swordsman] Frame 43
call("walk");
Symbol 1154 MovieClip [Swordsman] Frame 44
call("walk");
Symbol 1154 MovieClip [Swordsman] Frame 45
call("walk");
Symbol 1154 MovieClip [Swordsman] Frame 46
call("walk");
Symbol 1154 MovieClip [Swordsman] Frame 47
call("walk");
Symbol 1154 MovieClip [Swordsman] Frame 48
call("walk");
Symbol 1154 MovieClip [Swordsman] Frame 49
call("walk");
Symbol 1154 MovieClip [Swordsman] Frame 50
call("walk");
Symbol 1154 MovieClip [Swordsman] Frame 51
call("walk");
Symbol 1154 MovieClip [Swordsman] Frame 52
gotoAndPlay (1);
Symbol 1154 MovieClip [Swordsman] Frame 60
_root.attack(this, "HIGH", 115, 35, "head");
Symbol 1154 MovieClip [Swordsman] Frame 68
gotoAndPlay (1);
Symbol 1154 MovieClip [Swordsman] Frame 69
_root.die(this);
Symbol 1154 MovieClip [Swordsman] Frame 126
stop();
Symbol 1154 MovieClip [Swordsman] Frame 127
shielded = true;
_root.moveman(this, speed, true);
Symbol 1154 MovieClip [Swordsman] Frame 128
call("special");
Symbol 1154 MovieClip [Swordsman] Frame 129
call("special");
Symbol 1154 MovieClip [Swordsman] Frame 130
call("special");
Symbol 1154 MovieClip [Swordsman] Frame 131
call("special");
Symbol 1154 MovieClip [Swordsman] Frame 132
call("special");
Symbol 1154 MovieClip [Swordsman] Frame 133
call("special");
Symbol 1154 MovieClip [Swordsman] Frame 134
call("special");
Symbol 1154 MovieClip [Swordsman] Frame 135
call("special");
Symbol 1154 MovieClip [Swordsman] Frame 136
call("special");
Symbol 1154 MovieClip [Swordsman] Frame 137
call("special");
Symbol 1154 MovieClip [Swordsman] Frame 138
gotoAndPlay (1);
Symbol 1154 MovieClip [Swordsman] Frame 139
speciallevel = 1;
Symbol 1154 MovieClip [Swordsman] Frame 142
shielded = false;
_root.attack(this, "MIDDLE", 100, 75);
Symbol 1154 MovieClip [Swordsman] Frame 151
gotoAndPlay (1);
Symbol 1154 MovieClip [Swordsman] Frame 153
gotoAndPlay (1);
Symbol 1163 MovieClip Frame 1
onEnterFrame = function () {
if (_visible) {
_rotation = (_rotation + 30);
} else {
delete onEnterFrame;
}
};
Symbol 1165 MovieClip Frame 10
stop();
Symbol 1167 MovieClip Frame 37
_parent.setGotoFrame("done");
stop();
Symbol 1179 MovieClip [NewgroundsAPIAsset_Medal_Popup] Frame 1
function endDelay() {
clearInterval(pop_delay);
gotoAndPlay ("closeme");
}
_visible = true;
icon._visible = false;
pop_delay = setInterval(endDelay, 3000);
Symbol 1179 MovieClip [NewgroundsAPIAsset_Medal_Popup] Frame 2
medal.attachIcon(icon);
Symbol 1179 MovieClip [NewgroundsAPIAsset_Medal_Popup] Frame 10
icon._visible = true;
medal_name = medal.getName();
medal_value = medal.getValue() + "pts";
stop();
Symbol 1179 MovieClip [NewgroundsAPIAsset_Medal_Popup] Frame 21
this.removeMovieClip();
_visible = false;
stop();
Symbol 1185 MovieClip [NewgroundsAPIAsset_Login_Warning] Frame 1
function endDelay() {
clearInterval(pop_delay);
gotoAndPlay ("closeme");
}
_x = 0;
_y = 0;
_visible = true;
pop_delay = setInterval(endDelay, 6000);
Symbol 1185 MovieClip [NewgroundsAPIAsset_Login_Warning] Frame 10
stop();
Symbol 1185 MovieClip [NewgroundsAPIAsset_Login_Warning] Frame 21
this.removeMovieClip();
_visible = false;
stop();
Symbol 1188 MovieClip [NewgroundsAPIAsset_Connection_Error] Frame 1
function endDelay() {
clearInterval(pop_delay);
gotoAndPlay ("closeme");
}
_x = 0;
_y = 0;
_visible = true;
pop_delay = setInterval(endDelay, 6000);
Symbol 1188 MovieClip [NewgroundsAPIAsset_Connection_Error] Frame 10
stop();
Symbol 1188 MovieClip [NewgroundsAPIAsset_Connection_Error] Frame 21
this.removeMovieClip();
_visible = false;
stop();
Symbol 1209 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1
var w = Math.round(this._width);
var h = Math.round(this._height);
if (w < 80) {
w = 80;
}
if (h < 80) {
h = 80;
}
this._width = 350;
this._height = 120;
t._width = w - 2;
t._x = 1;
b._width = w - 2;
b._x = 1;
c._width = w - 2;
c._x = 1;
c._height = h - 2;
c._y = 1;
l._height = h - 2;
l._y = 1;
r._height = h - 2;
r._y = 1;
tr._x = w - 7;
r._x = w - 7;
br._x = w - 7;
b._y = h - 7;
bl._y = h - 7;
br._y = h - 7;
shadow._width = w + 10;
shadow._height = h + 10;
Symbol 1213 Button
on (release) {
this._visible = false;
this.removeMovieClip();
}
Symbol 1219 Button
on (release) {
getURL (official_version_url, "_blank");
}
Symbol 1221 MovieClip [NewgroundsAsset_New_Version_Available] Frame 1
_x = (Stage.width / 2);
_y = (Stage.height / 2);
background._width = Stage.width + 200;
background._height = Stage.height + 200;
background._x = -(_x + 100);
background._y = -(_y + 100);
Symbol 1222 Button
on (release) {
getURL (official_version_url, "_blank");
}
Symbol 1226 MovieClip [NewgroundsAsset_Illegal_Host] Frame 1
_x = (Stage.width / 2);
_y = (Stage.height / 2);
background._width = Stage.width + 200;
background._height = Stage.height + 200;
background._x = -(_x + 100);
background._y = -(_y + 100);
Symbol 1227 MovieClip [API Connector (NewgroundsAPI)] Frame 1
#initclip 23
Object.registerClass("API Connector (NewgroundsAPI)", com.newgrounds.components.APIConnector);
#endinitclip
Symbol 1227 MovieClip [API Connector (NewgroundsAPI)] Frame 20
_visible = false;
Symbol 1260 MovieClip Frame 1
stop();
Symbol 1266 Button
on (release) {
getURL ("http://www.benoldinggames.co.uk/iphone-ipad-games.html", "_blank");
}
Symbol 1274 MovieClip Frame 1
if (_root.andkonMode == true) {
gotoAndStop (2);
} else {
stop();
}
Symbol 1277 Button
on (release) {
_root.gotoSponsor();
}
Symbol 1283 Button
on (release) {
getURL ("http://armorgames.com/guide/warlords-2-rise-of-demons-game-guide-and-walk-through", "_blank");
}
Symbol 1288 Button
on (release) {
getURL ("http://www.facebook.com/pages/Armor-Games/19522089061", "_blank");
}
on (rollOver) {
_root.menuTootip("Facebook", "Follow us on Facebook to get all the latest updates from Armor Games");
}
on (rollOut) {
_root.menuTootipClear();
}
Symbol 1291 Button
on (release) {
getURL ("http://twitter.com/armorgames", "_blank");
}
on (rollOver) {
_root.menuTootip("Twitter", "Follow us on Twitter to get all the latest updates from Armor Games");
}
on (rollOut) {
_root.menuTootipClear();
}
Symbol 1301 MovieClip Frame 1
gotoAndPlay (2);
Symbol 1301 MovieClip Frame 120
trace("Logo Done");
stop();
Symbol 1303 Button
on (release) {
getURL ("http://www.benoldinggames.co.uk?r=" + _url, "_blank");
}
Symbol 1230 MovieClip [__Packages.com.newgrounds.Bridge] Frame 0
class com.newgrounds.Bridge
{
var widget_id, receiver, transmitter;
function Bridge (id) {
widget_id = id;
receiver = new LocalConnection();
transmitter = new LocalConnection();
receiver.receiveEvent = function (event, params) {
com.newgrounds.API.callListener(event, params.success, params.data);
};
try {
receiver.connect("rec_" + widget_id);
} catch(error:Error) {
}
}
function sendEvent(event, params) {
if (widget_id) {
transmitter.send(widget_id, "sendEvent", event, validateParams(params));
}
}
function sendCommand(command, params) {
if (widget_id) {
transmitter.send(widget_id, "sendCommand", command, validateParams(params));
}
}
function validateParams(params) {
var _local2 = {};
for (var _local3 in params) {
if ((typeof(params[_local3]) == "string") || (typeof(params[_local3]) == "number")) {
_local2[_local3] = params[_local3];
}
}
return(_local2);
}
}
Symbol 1228 MovieClip [__Packages.com.newgrounds.APIError] Frame 0
class com.newgrounds.APIError
{
var message, name, alias;
function APIError (error, msg) {
if (Number(error).toString() == String(error)) {
error = Number(error);
} else if (error_codes[String(error)]) {
error = error_codes[String(error)];
} else {
error = 0;
}
code = error;
message = msg;
name = error_names[error];
alias = aliases[error];
}
static function init_codes() {
var _local2 = new Object();
var _local1 = 0;
while (_local1 < aliases.length) {
_local2[aliases[_local1]] = _local1;
_local1++;
}
return(_local2);
}
static function init_names() {
var _local5 = new Array();
var _local3 = 0;
while (_local3 < aliases.length) {
var _local2 = aliases[_local3].toLowerCase().split("_");
var _local1 = 0;
while (_local1 < _local2.length) {
_local2[_local1] = _local2[_local1].substr(0, 1).toUpperCase() + _local2[_local1].substr(1, _local2[_local1].length);
for (var _local4 in always_caps) {
if (_local2[_local1].toUpperCase() == always_caps[_local4]) {
_local2[_local1] = _local2[_local1].toUpperCase();
}
}
_local1++;
}
_local5[_local3] = _local2.join(" ");
_local3++;
}
return(_local5);
}
function isError() {
return(true);
}
static var aliases = new Array("UNKNOWN_ERROR", "INVALID_API_ID", "MISSING_PARAM", "INVALID_STAT_ID", "INVALID_COMMAND_ID", "FLASH_ADS_NOT_APPROVED", "PERMISSION_DENIED", "IDENTIFICATION_REQUIRED", "INVALID_EMAIL_ADDRESS", "BANNED_USER", "SESSION_EXPIRED", "INVALID_SCORE", "INVALID_MEDAL", "INVALID_SAVE_GROUP", "FILE_NOT_FOUND", "SITE_ID_REQUIRED", "UPLOAD_IN_PROGRESS", "USER_CANCELLED", "CONFIRM_REQUEST", "ILLEGAL_REQUEST", "CONNECTION_FAILED", "QUERY_INCOMPLETE", "SAVE_FILE_ERROR", "INVALID_VALUE", "SERVER_ERROR", "INVALID_SCOREBOARD");
static var always_caps = new Array("API", "URL", "ID");
static var error_codes = init_codes();
static var error_names = init_names();
var code = 0;
}
Symbol 1229 MovieClip [__Packages.com.newgrounds.API] Frame 0
class com.newgrounds.API
{
static var version, user_email, movie_id, debug, session_id, connected, tracker_id, user_id, user_name, timeout, encryption_key, host, remote_auth, ad_url, eventDispatcher, last_command, ad_swf_url;
function API () {
}
static function setVersion(v) {
version = v;
}
static function setUserEmail(e) {
user_email = e;
}
static function setFakeSession(fake) {
fake_session = fake;
}
static function setPreload(p) {
preload = p;
}
static function getPercentLoaded() {
var _local2;
if (preload && (preload_items > 0)) {
_local2 = 80;
var _local4 = Math.round((preload_items_loaded / preload_items) * 20);
var _local3 = Math.round((_root.getBytesLoaded() / _root.getBytesTotal()) * _local2) + _local4;
} else {
_local2 = 100;
var _local3 = Math.round((_root.getBytesLoaded() / _root.getBytesTotal()) * _local2);
}
return(_local3);
}
static function reportNewAsset() {
if (preload) {
preload_items++;
}
}
static function reportAssetLoaded() {
if (preload) {
preload_items_loaded++;
}
}
static function populateMedals(medal_list) {
if (medals === null) {
medals = new Array();
var _local2 = 0;
while (_local2 < medal_list.length) {
var _local1 = medal_list[_local2];
medals.push(new com.newgrounds.Medal(_local1.medal_id, _local1.medal_name, _local1.medal_value, _local1.medal_difficulty, _local1.medal_unlocked, _local1.medal_icon));
_local2++;
}
}
}
static function populateSaveGroups(save_group_list, file_path, image_path) {
com.newgrounds.SaveFile.setFilePath(file_path);
com.newgrounds.SaveFile.setImagePath(image_path);
save_groups = new Array();
var _local6 = 0;
while (_local6 < save_group_list.length) {
var _local2 = save_group_list[_local6];
var _local5 = new com.newgrounds.SaveGroup(_local2.group_id, _local2.group_name, _local2.group_type);
var _local4 = 0;
while (_local4 < _local2.keys.length) {
var _local3 = _local2.keys[_local4];
_local5.addKey(_local3.id, _local3.name, _local3.type);
_local4++;
}
_local4 = 0;
while (_local4 < _local2.ratings.length) {
var _local1 = _local2.ratings[_local4];
_local5.addRating(_local1.id, _local1.name, _local1.min, _local1.max, _local1.float);
_local4++;
}
save_groups.push(_local5);
_local6++;
}
}
static function populateScoreBoards(score_boards) {
scoreboards = new Array();
var _local1 = 0;
while (_local1 < score_boards.length) {
scoreboards.push(new com.newgrounds.ScoreBoard(score_boards[_local1].id, score_boards[_local1].name));
_local1++;
}
}
static function getOfficialURL() {
var _local1 = (((GATEWAY_URL + "?tracker_id=") + movie_id) + "&command_id=loadOfficalVersion&seed=") + Math.random();
if (debug) {
_local1 = _local1 + "&debug=1";
}
return(_local1);
}
static function loadOfficialURL() {
getURL (getOfficialURL(), "_blank");
}
static function hasUserSession() {
if (session_id && (publisher_id)) {
return(true);
}
if (_root.NewgroundsAPI_PublisherID && (_root.NewgroundsAPI_SessionID)) {
return(true);
}
return(false);
}
static function hostIsCompatible() {
return(!(_root.NewgroundsAPI_PublisherID === undefined));
}
static function isNewgrounds() {
return((((publisher_id == 1) || (_root.NewgroundsAPI_PublisherID == 1)) || (getHost().toLowerCase().indexOf("ungrounded.net") > -1)) || (getHost().toLowerCase().indexOf("newgrounds.com") > -1));
}
static function hasPublisher() {
return(publisher_id || (_root.NewgroundsAPI_PublisherID));
}
static function hasUserEmail() {
if (user_email) {
return(true);
}
return(false);
}
static function isConnected() {
return(connected);
}
static function getID() {
return(getTrackerID());
}
static function getTrackerID() {
return(tracker_id);
}
static function getUserID() {
return(user_id);
}
static function getUserName() {
return(user_name);
}
static function connectionTimeOut() {
reportAssetLoaded();
clearInterval(timeout);
callListener(com.newgrounds.APIEvent.API_CONNECTED, false, new com.newgrounds.APIError("CONNECTION_FAILED", "Connection to API gateway timed out."));
}
static function connect(m_id, encrypt_key, debug_mode) {
if (connected) {
return(undefined);
}
sendMessage("Connecting to the Newgrounds API Gateway...");
var _local2 = function () {
com.newgrounds.API.connectionTimeOut();
};
timeout = setInterval(_local2, 10000, null);
if (!m_id) {
fatalError("API.connect() - missing required movie_id parameter", "connect");
}
movie_id = String(m_id);
tracker_id = Number(movie_id.substring(0, movie_id.indexOf(":")));
encryption_key = encrypt_key;
debug = debug_mode;
user_id = 0;
user_name = "Guest";
if (_root.NewgroundsAPI_PublisherID) {
publisher_id = _root.NewgroundsAPI_PublisherID;
if (_root.NewgroundsAPI_SessionID) {
session_id = _root.NewgroundsAPI_SessionID;
}
} else if (fake_session) {
publisher_id = 1;
session_id = "D3bu64p1U53R";
user_id = 10;
user_name = "API-Debugger";
} else {
if (debug) {
publisher_id = 1;
}
session_id = null;
}
if (_root.NewgroundsAPI_UserName) {
user_name = _root.NewgroundsAPI_UserName;
}
if (_root.NewgroundsAPI_UserID) {
user_id = _root.NewgroundsAPI_UserID;
}
if (_root.NewgroundsAPI_UserpageFormat) {
userpage_format = _root.NewgroundsAPI_UserpageFormat;
}
reportNewAsset();
connected = true;
sendCommand("connectMovie", {host:getHost(), movie_version:version});
}
static function getHost() {
if (!host) {
var _local1 = _url;
if ((_local1.toLowerCase().indexOf("http://") > -1) or (_local1.toLowerCase().indexOf("https://") > -1)) {
if (_local1.toLowerCase().indexOf(NEWGROUNDS_PREVIEW) > -1) {
host = NEWGROUNDS_PREVIEW;
} else {
host = _local1.split("/")[2].toLowerCase();
}
} else {
host = LOCAL_HOST;
}
}
return(host);
}
static function isPublishedHost() {
for (var _local1 in PREVIEW_HOSTS) {
if (getHost() == PREVIEW_HOSTS[_local1]) {
return(false);
}
}
return(true);
}
static function loadUserPage(u_id, u_name) {
if ((u_id == undefined) && (u_name == undefined)) {
if (hasUserSession()) {
u_id = user_id;
u_name = user_name;
} else {
return(false);
}
}
if (publisher_id == 1) {
var _local1 = ("http://" + user_name.toLowerCase()) + ".newgrounds.com";
getURL (_local1, "_blank");
return(true);
}
if (userpage_format) {
var _local1 = userpage_format;
_local1 = _local1.split(":user_id:").join(u_id.toString());
_local1 = _local1.split(":user_name:").join(escape(u_name));
getURL (_local1, "_blank");
return(true);
}
return(false);
}
static function loadNewgrounds() {
sendCommand("loadNewgrounds", {host:getHost()}, true);
}
static function loadMySite() {
sendCommand("loadMySite", {host:getHost()}, true);
}
static function loadCustomLink(link) {
sendCommand("loadCustomLink", {host:getHost(), link:link}, true);
}
static function logCustomEvent(event) {
sendCommand("logCustomEvent", {host:getHost(), event:event});
}
static function getScoreBoard(board) {
if ((!scoreboards) || (scoreboards.length < 1)) {
sendWarning("You do not have any scoreboards configured in your API setup.");
return(null);
}
for (var _local2 in scoreboards) {
if ((typeof(board) == "string") && (scoreboards[_local2].name == board)) {
return(scoreboards[_local2]);
}
if ((typeof(board) == "number") && (scoreboards[_local2].id == board)) {
return(scoreboards[_local2]);
}
}
sendWarning(("Could not find any scoreboards named '" + board) + "'.");
return(null);
}
static function postScore(board_name, value, tag) {
var _local3 = getScoreBoard(board_name);
if (tag === undefined) {
tag = "";
}
if (!_local3) {
sendError({command_id:"postScore"}, new com.newgrounds.APIError("INVALID_SCOREBOARD", "Failed to post score. Check the spelling of your board name."));
return(undefined);
}
if (value == undefined) {
sendError({command_id:"postScore"}, new com.newgrounds.APIError("MISSING_PARAM", "Missing score value"));
return(undefined);
}
sendSecureCommand("postScore", {user_name:user_name, board:_local3.id, value:value, tag:tag, publisher_id:publisher_id});
}
static function loadScores(board_name, period, tag) {
var _local3 = "loadScores";
var _local2 = getScoreBoard(board_name);
if (!_local2) {
sendError({command_id:_local3}, new com.newgrounds.APIError("INVALID_SCOREBOARD", "Failed to load scores. Check the spelling of your board name."));
return(undefined);
}
var _local1 = {};
_local1.publisher_id = publisher_id;
_local1.board = _local2.id;
_local1.num_results = _local2.num_results;
_local1.page = _local2.page;
if (period === undefined) {
_local1.period = _local2.period;
} else {
_local1.period = period;
}
if (tag === undefined) {
_local1.tag = _local2.tag;
} else {
_local1.tag = tag;
}
sendCommand(_local3, _local1);
}
static function unlockMedal(medal, x, y) {
if (!medal) {
sendError({command_id:"unlockMedal"}, new com.newgrounds.APIError("MISSING_PARAM", "missing required medal name"));
return(undefined);
}
if (typeof(medal) != "object") {
medal = getMedal(medal);
}
if (!medal) {
sendError({command_id:"unlockMedal"}, new com.newgrounds.APIError("INVALID_MEDAL", "medal unlock failed, check your medal name for correct spelling."));
return(undefined);
}
callListener(com.newgrounds.APIEvent.UNLOCK_MEDAL, true, {medal:medal, x:x, y:y});
if (hasUserSession() or debug) {
sendMessage(("Attempting to unlock '" + medal.getName()) + "'");
var _local3 = new Object();
_local3.medal_id = medal.getID();
sendSecureCommand("unlockMedal", _local3);
} else {
sendMessage(("Unlocking '" + medal.getName()) + "'");
medal.setUnlocked(true);
var _local2 = loadLocal("medals_unlocked");
if (!_local2) {
_local2 = new Object();
}
_local2[medal.getID()] = true;
saveLocal("medals_unlocked", _local2);
}
}
static function loadMedals() {
if (medals) {
callListener(com.newgrounds.APIEvent.MEDALS_LOADED, true, {medals:medals});
return(undefined);
}
var _local1 = new Object();
if (hasUserSession()) {
_local1.publisher_id = publisher_id;
_local1.user_id = user_id;
}
sendCommand("getMedals", _local1);
}
static function getMedals() {
return(medals);
}
static function getMedal(identifier) {
if ((!medals) || (medals.length < 1)) {
sendWarning("You do not have any medals configured on your API setup!");
return(false);
}
for (var _local3 in medals) {
var _local1 = medals[_local3];
if ((typeof(identifier) == "string") && (_local1.getName() == identifier)) {
return(_local1);
}
if (_local1.getID() == identifier) {
return(_local1);
}
}
sendWarning(("Could not find any medals named '" + identifier) + "'.");
return(false);
}
static function saveLocal(save_id, save_data, size_allocation) {
if (!sharedObjects[save_id]) {
sharedObjects[save_id] = SharedObject.getLocal((("ng_ap_secure_" + movie_id) + "_") + save_id);
}
sharedObjects[save_id].data[save_id] = encodeData(save_data);
sharedObjects[save_id].flush();
}
static function loadLocal(save_id) {
if (!sharedObjects[save_id]) {
sharedObjects[save_id] = SharedObject.getLocal((("ng_ap_secure_" + movie_id) + "_") + save_id);
}
sharedObjects[save_id].flush();
echo((("sharedobject " + save_id) + " is: ") + sharedObjects[save_id].data[save_id]);
if (sharedObjects[save_id].data[save_id]) {
echo("decoded: " + decodeData(sharedObjects[save_id].data[save_id]));
return(decodeData(sharedObjects[save_id].data[save_id]));
}
return(null);
}
static function encodeData(data) {
return(compressHex(com.newgrounds.encoders.RC4.encrypt(com.newgrounds.encoders.JSON.encode(data), encryption_key)));
}
static function decodeData(base) {
return(com.newgrounds.encoders.JSON.decode(com.newgrounds.encoders.RC4.decrypt(uncompressHex(base), encryption_key)));
}
static function compressHex(hex_value) {
var _local6 = hex_value.length % 6;
var _local4 = "";
var _local5 = new com.newgrounds.encoders.BaseN(compression_radix);
var _local1 = 0;
while (_local1 < hex_value.length) {
var _local2 = Number("0x" + hex_value.substr(_local1, 6));
_local4 = _local4 + _local5.encode(_local2, 4);
_local1 = _local1 + 6;
}
return(_local6 + _local4);
}
static function uncompressHex(base_value) {
var _local9 = Number(base_value.charAt(0));
var _local7 = "";
var _local3;
var _local8 = new com.newgrounds.encoders.BaseN(compression_radix);
var _local2 = 1;
while (_local2 < base_value.length) {
var _local6 = base_value.substr(_local2, 4);
var _local5 = _local8.decode(_local6);
var _local1 = dec2hex(_local5);
if ((_local2 + 4) < base_value.length) {
_local3 = 6;
} else {
_local3 = _local9;
}
while (_local1.length < _local3) {
_local1 = "0" + _local1;
}
_local7 = _local7 + _local1;
_local2 = _local2 + 4;
}
return(_local7);
}
static function dec2hex(dec) {
var _local4 = "0123456789ABCDEF";
var _local3 = "";
while (dec > 0) {
var _local2 = dec % 16;
_local3 = _local4.charAt(_local2) + _local3;
dec = (dec - _local2) / 16;
}
return(_local3);
}
static function getSaveGroup(group) {
if ((save_groups == null) || (save_groups.length < 1)) {
sendWarning("You do not have any save groups configured in your API setup!");
return(null);
}
var _local1 = 0;
while (_local1 <= save_groups.length) {
if ((typeof(group) == "number") or (Number(group).toString() == String(group))) {
if (save_groups[_local1].getID() == Number(group)) {
return(save_groups[_local1]);
}
} else if (typeof(group) == "string") {
if (save_groups[_local1].getName().toLowerCase() == group.toLowerCase()) {
return(save_groups[_local1]);
}
}
_local1++;
}
sendWarning(("Could not find any save groups named '" + group) + "'.");
return(null);
}
static function getCurrentSaveFile() {
return(save_file);
}
static function setCurrentSaveFile(current) {
save_file = current;
}
static function loadSaveFile(save_id, get_contents) {
if (get_contents === undefined) {
get_contents = true;
}
var _local1 = "loadSaveFile";
var _local2 = {publisher_id:publisher_id, save_id:save_id, get_contents:get_contents};
save_file = null;
sendCommand(_local1, _local2);
}
static function loadFilesByDate(group_name, sort_descending, key_name, key_value) {
if (sort_descending === undefined) {
sort_descending = true;
}
var _local2 = getSaveGroup(group_name);
if (!_local2) {
var _local3 = new com.newgrounds.APIError("QUERY_INCOMPLETE", "The query could not be preformed, check the spelling of your save group name.");
sendError({command_id:"loadFilesByDate"}, _local3);
return(undefined);
}
var _local1 = new com.newgrounds.SaveGroupQuery(_local2);
if (key_name) {
_local1.addKeyCondition(key_name, "=", key_value);
}
_local1.sortOn("CREATED_ON", (sort_descending ? "DESC" : "ASC"));
_local1.execute();
}
static function loadFilesByViews(group_name, sort_descending, key_name, key_value) {
if (sort_descending === undefined) {
sort_descending = true;
}
var _local2 = getSaveGroup(group_name);
if (!_local2) {
var _local3 = new com.newgrounds.APIError("QUERY_INCOMPLETE", "The query could not be preformed, check the spelling of your save group name.");
sendError({command_id:"loadFilesByViews"}, _local3);
return(undefined);
}
var _local1 = new com.newgrounds.SaveGroupQuery(_local2);
if (key_name) {
_local1.addKeyCondition(key_name, "=", key_value);
}
_local1.sortOn("TOTAL_VIEWS", (sort_descending ? "DESC" : "ASC"));
_local1.execute();
}
static function loadFilesByRating(group_name, rating_name, sort_descending, key_name, key_value) {
if (sort_descending === undefined) {
sort_descending = true;
}
var _local2 = getSaveGroup(group_name);
if (!_local2) {
var _local3 = new com.newgrounds.APIError("QUERY_INCOMPLETE", "The query could not be preformed, check the spelling of your save group name.");
sendError({command_id:"loadFilesByRating"}, _local3);
return(undefined);
}
var _local1 = new com.newgrounds.SaveGroupQuery(_local2);
if (key_name) {
_local1.addKeyCondition(key_name, "=", key_value);
}
_local1.sortOnRating(rating_name, (sort_descending ? "DESC" : "ASC"), "score");
_local1.execute();
}
static function lookupSaveFiles(save_group) {
var _local1 = "lookupSaveFiles";
var _local2 = {publisher_id:publisher_id, group_id:save_group.getID(), query:com.newgrounds.encoders.JSON.encode(save_group.getQuery(true))};
sendCommand(_local1, _local2);
}
static function newSaveFile(group) {
var _local1 = getSaveGroup(group);
if (_local1) {
return(_local1.newFile());
}
var _local2 = new com.newgrounds.APIError("INVALID_SAVE_GROUP", "You can not create new files in invalid groups.");
sendError({command_id:"newSaveFile"}, _local2);
}
static function newSaveQuery(group) {
var _local1 = getSaveGroup(group);
if (_local1) {
return(_local1.newQuery());
}
var _local2 = new com.newgrounds.APIError("INVALID_SAVE_GROUP", ("'" + group) + "' is not a valid save group.");
sendError({command_id:"newSaveQuery"}, _local2);
}
static function checkFilePrivs(file) {
if (user_id) {
var _local1 = user_id;
} else {
var _local1 = 0;
}
var _local2 = {group:file.getGroup().getID(), filename:file.getName(), user_id:_local1, publisher_id:publisher_id};
sendCommand("checkFilePrivs", _local2);
}
static function saveFile(file, overwrite) {
var _local1;
_local1 = {group:file.getGroup().getID(), filename:file.getName(), description:file.getDescription(), draft:file.__get__draft(), user_name:user_name};
if (overwrite) {
_local1.overwrite = overwrite;
}
if (file.getDuplicateID()) {
_local1.save_id = file.getDuplicateID();
}
if (file.getKeys().length > 0) {
_local1.keys = file.getKeys();
}
var _local3;
_local3 = {file:file.getRawContents()};
if (file.getThumbnailImageScan()) {
_local3.thumbnail = file.getThumbnailImageScan();
}
save_file = file;
sendSecureCommand("saveFile", _local1, null, _local3);
}
static function rateSaveFile(file, rating, vote) {
var _local1 = {group:file.getGroup().getID(), save_id:file.getID(), rating_id:rating.rating_id, vote:vote, user_id:user_id};
sendSecureCommand("rateSaveFile", _local1);
}
static function getConfirmation(command_name, event, msg, target, confirm, cancel) {
var _local1 = new com.newgrounds.APIError("CONFIRM_REQUEST", msg);
_local1.confirm = function () {
target[confirm]();
};
_local1.cancel = function () {
target[cancel]();
};
_local1.command = command_name;
callListener(event, false, _local1);
}
static function onRemoteAuthentication(auth_result) {
var _local1 = com.newgrounds.encoders.JSON.decode(com.newgrounds.encoders.RC4.decrypt(auth_result, encryption_key));
delete remote_auth;
user_id = _local1.NewgroundsAPI_UserID;
user_name = _local1.NewgroundsAPI_UserName;
session_id = _local1.NewgroundsAPI_SessionID;
publisher_id = _local1.NewgroundsAPI_PublisherID;
}
static function doEvent(e) {
switch (e.command_id) {
case "connectMovie" :
clearInterval(timeout);
sendMessage("You have successfully connected to the Newgrounds API Gateway");
sendMessage(("Movie identified as \"" + e.movie_name) + "\"");
callListener(com.newgrounds.APIEvent.API_CONNECTED, e.success, {title:e.movie_name});
var _local7 = false;
if (e.ad_status === -1) {
var _local11 = "This movie was not approved to run Flash Ads.";
sendWarning(_local11);
sendWarning(("visit " + AD_TERMS_URL) + " to view our approval guidelines");
if (!e.ad_url) {
callListener(com.newgrounds.APIEvent.ADS_APPROVED, false, new com.newgrounds.APIError("FLASH_ADS_NOT_APPROVED", _local11));
} else {
_local7 = true;
}
} else if (e.ad_status === 0) {
var _local11 = "Flash Ads are currently awaiting approval.";
sendNotice(_local11);
if (!e.ad_url) {
callListener(com.newgrounds.APIEvent.ADS_APPROVED, false, new com.newgrounds.APIError("FLASH_ADS_NOT_APPROVED", _local11));
} else {
_local7 = true;
}
}
if (e.ad_url) {
ad_url = unescape(e.ad_url);
if (!_local7) {
sendMessage("This movie has been approved to run Flash Ads!");
}
callListener(com.newgrounds.APIEvent.ADS_APPROVED, true);
}
if (e.deny_host) {
var _local11 = getHost() + " does not have permission to run this movie!";
sendWarning(_local11);
sendWarning("\tUpdate your API configuration to unblock " + getHost());
callListener(com.newgrounds.APIEvent.HOST_BLOCKED, true, {real_url:unescape(e.movie_url), url:getOfficialURL()});
} else if (e.movie_version) {
sendWarning("According to your API Configuration, this version is out of date.");
if (version) {
sendWarning("\tThe this movie is version " + version);
}
sendWarning("\tThe most current version is " + e.movie_version);
callListener(com.newgrounds.APIEvent.NEW_VERSION_AVAILABLE, true, {version:e.movie_version, real_url:unescape(e.movie_url), url:getOfficialURL()});
}
if (e.request_portal_url) {
sendCommand("setPortalID", {portal_url:_url});
}
if (preload) {
reportNewAsset();
var _local8 = {};
if (hasUserSession()) {
_local8.publisher_id = publisher_id;
_local8.user_id = user_id;
}
sendCommand("preloadSettings", _local8);
}
reportAssetLoaded();
break;
case "preloadSettings" :
if (e.medals) {
populateMedals(e.medals);
if ((!hasUserSession()) and (!debug)) {
echo("checking for sharedobject medals...");
var _local4 = loadLocal("medals_unlocked");
if (_local4) {
for (var _local32 in _local4) {
var _local32 = Number(_local32);
if (_local4[_local32]) {
var _local3 = getMedal(_local32);
echo("now unlocking " + _local3.getName());
_local3.setUnlocked(true);
}
}
}
}
}
if (e.save_groups) {
populateSaveGroups(e.save_groups, e.save_file_path);
}
if (e.score_boards) {
populateScoreBoards(e.score_boards);
}
if (_root.NewgroundsAPI_SaveFileID && (_root.NewgroundsAPI_SaveGroupID)) {
callListener(com.newgrounds.APIEvent.FILE_REQUESTED, true, {save_id:_root.NewgroundsAPI_SaveFileID, group:getSaveGroup(_root.NewgroundsAPI_SaveGroupID)});
}
callListener(com.newgrounds.APIEvent.METADATA_LOADED, true);
reportAssetLoaded();
break;
case "logCustomEvent" :
if (e.success) {
sendMessage(("Event '" + e.event) + "' was logged.");
}
callListener(com.newgrounds.APIEvent.EVENT_LOGGED, e.success, {event:e.event});
break;
case "postScore" :
var _local9;
if (e.success) {
var _local5 = "User";
if (user_email) {
_local5 = user_email;
} else if (user_name) {
_local5 = user_name;
}
var _local19 = getScoreBoard(e.board);
sendMessage(((((_local5 + " posted ") + e.value) + " to '") + _local19.name) + "'");
_local9 = {board:_local19, value:e.value, username:_local5};
}
callListener(com.newgrounds.APIEvent.SCORE_POSTED, e.success, _local9);
break;
case "loadScores" :
_local9 = new Object();
var _local19 = getScoreBoard(e.board);
if (_local19.exists()) {
_local19.setScores(e.scores, e.period, e.page, e.num_results);
}
callListener(com.newgrounds.APIEvent.SCORES_LOADED, e.success, {board:_local19});
break;
case "unlockMedal" :
var _local24 = getMedal(e.medal_name);
_local24.setUnlocked(true);
sendMessage(("Successfuly unlocked '" + _local24.getName()) + "'");
callListener(com.newgrounds.APIEvent.MEDAL_UNLOCKED, e.success, {medal_id:_local24.id, medal:_local24});
break;
case "getMedals" :
populateMedals(e.medals);
callListener(com.newgrounds.APIEvent.MEDALS_LOADED, e.success, {medals:medals});
break;
case "loadSaveFile" :
var _local16 = getSaveGroup(e.group_id);
var _local14 = new com.newgrounds.SaveFile(_local16);
_local14.id = e.file.save_id;
_local14.name = e.file.filename;
_local14.fileUrl = e.file.file;
_local14.thumbnailUrl = e.file.thumb;
_local14.authorName = e.file.user_name;
_local14.authorId = e.file.user_id;
_local14.description = e.file.description;
_local14.setPermissions(e.file.status, e.file.locked);
for (var _local6 in e.file.keys) {
_local14.setKey(e.file.keys[_local6].id, e.file.keys[_local6].value);
}
for (var _local6 in e.file.ratings) {
_local14.setRating(e.file.ratings[_local6].id, e.file.ratings[_local6].votes, e.file.ratings[_local6].score);
}
if (e.get_contents) {
_local14.loadContents();
}
callListener(com.newgrounds.APIEvent.FILE_INITIALIZED, e.success, {save_id:_local14.id, file:_local14});
save_file = _local14;
break;
case "lookupSaveFiles" :
var _local12 = getSaveGroup(e.group_id).getQuery();
_local12.onExecuted(e.files);
break;
case "rateSaveFile" :
_local16 = getSaveGroup(e.group_id);
_local14 = _local16.getFile(e.save_id);
if (e.already_voted) {
var _local27 = new com.newgrounds.APIError("PERMISSION_DENIED", "You have already voted on this item today");
callListener(com.newgrounds.APIEvent.VOTE_COMPLETE, false, {error:_local27, file:_local14, save_id:_local14.id});
return(undefined);
}
if (e.success) {
var _local10 = _local14.onVoted(e);
callListener(com.newgrounds.APIEvent.VOTE_COMPLETE, e.success, {rating:_local10, file:_local14, save_id:_local14.id});
} else {
callListener(com.newgrounds.APIEvent.VOTE_COMPLETE, e.success, {file:_local14, save_id:_local14.id});
sendError("Your vote was not accepted.");
}
break;
case "saveFile" :
if (save_file) {
if (!save_file.exists()) {
save_file.setID(e.save_id, true);
}
save_file.onSaved(e);
callListener(com.newgrounds.APIEvent.FILE_SAVED, e.success, {save_id:save_file.__get__id(), file:save_file});
if (e.success) {
sendMessage(((("You just saved a new file (id #" + e.save_id) + ") to the '") + save_file.__get__group().__get__name()) + "' save group.");
}
}
save_file = null;
break;
case "checkFilePrivs" :
_local9 = {file:save_file, filename:e.filename, group:e.group, exists:e.exists, can_write:e.can_write};
if (e.duplicate_id) {
_local9.duplicate_id = e.duplicate_id;
}
if (!e.success) {
sendWarning("You do not have permission to save this file!");
}
callListener(com.newgrounds.APIEvent.FILE_PRIVS_LOADED, e.success, _local9);
}
}
static function getDispatcher() {
if (!eventDispatcher) {
eventDispatcher = new com.newgrounds.APIEventDispatcher();
}
return(eventDispatcher);
}
static function hasEventListener(event) {
return(getDispatcher().hasEventListener(event));
}
static function addEventListener(event, listener, target) {
echo(("Adding a listener for '" + event) + "'");
getDispatcher().addEventListener(event, listener, target);
}
static function removeEventListener(event, target) {
getDispatcher().removeEventListener(event, target);
}
static function callListener(event, success, data, target) {
echo("Fired Event: " + event);
var _local2 = new com.newgrounds.APIEvent(event, success, data);
getDispatcher().dispatchEvent(_local2);
if ((event == com.newgrounds.APIEvent.API_CONNECTED) && (!success)) {
connected = false;
}
bridge.sendEvent(event, {success:success, data:data});
}
static function sendError(c, e) {
switch (c.command_id) {
case "connectMovie" :
clearInterval(timeout);
callListener(com.newgrounds.APIEvent.API_CONNECTED, false, {error:e, response:c});
break;
case "saveFile" :
callListener(com.newgrounds.APIEvent.FILE_SAVED, false, {error:e, file:save_file, response:c});
save_file = null;
}
var _local3 = (((((("[Newgrounds API ERROR] :: " + c.command_id) + "() - ") + e.name) + ":") + newline) + "\t\t\t\t") + e.message;
trace(_local3);
bridge.sendEvent("trace", {data:_local3});
}
static function sendWarning(m, c) {
if (c) {
m = m + ((("\r[Newgrounds API WARNING] :: \tSee " + COMMANDS_WIKI_URL) + c.toLowerCase()) + " for additional information.");
}
var _local1 = "[Newgrounds API WARNING] :: " + m;
trace(_local1);
bridge.sendEvent("trace", {data:_local1});
}
static function sendNotice(m, c) {
if (c) {
m = m + ((("\r[Newgrounds API NOTICE] :: \tSee " + COMMANDS_WIKI_URL) + c.toLowerCase()) + " for additional information.");
}
trace("[Newgrounds API NOTICE] :: " + m);
}
static function fatalError(m, c) {
if (c) {
m = m + ((("\r\tSee " + COMMANDS_WIKI_URL) + c.toLowerCase()) + " for additional information.");
}
throw (((("***ERROR*** frame=" + _root._currentframe) + ", class=API") + newline) + newline) + m;
}
static function openLoginPage() {
if (hasUserSession()) {
return(undefined);
}
if (!remote_auth) {
var _local1 = com.newgrounds.encoders.MD5.calculate((Math.random() + "a") + movie_id);
_local1 = "POOPYPANTS";
remote_auth = new com.newgrounds.RemoteAuth(_local1);
}
var _local2 = com.newgrounds.encoders.RC4.encrypt(remote_auth.__get__token(), encryption_key);
trace(_local2);
getURL ((((LOGIN_URL + "?api_auth_id=") + movie_id) + "&api_auth_key=") + _local2, "_blank");
}
static function sendSecureCommand(command, secure_params, unsecure_params, files) {
if (((!debug) && (!hasUserSession())) && (!hasUserEmail())) {
sendError({command_id:command}, new com.newgrounds.APIError("IDENTIFICATION_REQUIRED", ("You must be logged in, or provide an e-mail address using 'API.setUserEmail(\"name@domain.com\");' to use " + command) + "()."));
return(undefined);
}
if (!command) {
fatalError("Missing command", "sendSecureCommand");
}
if (!secure_params) {
fatalError("Missing secure_params", "sendSecureCommand");
}
if (!unsecure_params) {
unsecure_params = new Object();
}
var _local2 = "";
var _local1 = 0;
while (_local1 < 16) {
_local2 = _local2 + compression_radix.charAt(Math.floor(Math.random() * compression_radix.length));
_local1++;
}
if ((debug && (!fake_session)) && (!session_id)) {
secure_params.session_id = "";
} else {
secure_params.session_id = session_id;
}
secure_params.as_version = 2;
secure_params.user_email = user_email;
secure_params.publisher_id = publisher_id;
secure_params.seed = _local2;
secure_params.command_id = command;
var _local6 = com.newgrounds.encoders.JSON.encode(secure_params);
trace(("JSON: " + _local6) + newline);
var _local9 = com.newgrounds.encoders.MD5.calculate(_local2);
var _local7 = com.newgrounds.encoders.RC4.encrypt(_local6, encryption_key);
var _local8 = _local9 + _local7;
unsecure_params.secure = compressHex(_local8);
sendCommand("securePacket", unsecure_params, false, files);
}
static function sendCommand(command, params, open_browser, files) {
if ((!connected) and (command != "connectMovie")) {
var _local12 = (("API." + command) + "() - API.connect() must be called before this command can be called") + newline;
fatalError(_local12, "connect");
}
if (open_browser) {
var _local2 = new Object();
} else {
var _local2 = new LoadVars();
}
_local2.command_id = command;
_local2.tracker_id = movie_id;
if (debug) {
_local2.debug = debug;
}
if (params) {
for (var _local9 in params) {
_local2[_local9] = params[_local9];
}
}
if (files) {
for (var _local9 in files) {
_local2[_local9] = files[_local9];
}
}
if (open_browser) {
var _local6 = (GATEWAY_URL + "?seed=") + Math.random();
for (var _local9 in _local2) {
_local6 = _local6 + ((("&" + escape(_local9)) + "=") + escape(_local2[_local9]));
}
trace("OPENING " + _local6);
getURL (_local6, "_blank");
_local2.removeMovieClip();
} else {
var _local10 = new LoadVars();
_local10.remember_command_id = _local2.command_id;
_local10.onData = function (data) {
com.newgrounds.API.echo(("INPUT: \r" + data) + newline);
if (data) {
var _local2 = com.newgrounds.encoders.JSON.decode(data);
} else {
var _local2 = {success:false};
}
if (!_local2.success) {
if ((!_local2.error_code) && (!_local2.error_msg)) {
_local2.error_code = "CONNECTION_FAILED";
_local2.error_msg = "Could not contact the API Gateway";
_local2.command_id = this.remember_command_id;
}
var _local4 = new com.newgrounds.APIError(_local2.error_code, _local2.error_msg);
com.newgrounds.API.sendError(_local2, _local4);
} else {
com.newgrounds.API.doEvent(_local2);
}
};
var _local7 = new Array();
for (var _local8 in _local2) {
_local7.push((_local8 + "=") + escape(_local2[_local8]));
}
echo((("POST " + GATEWAY_URL) + "?") + _local7.join("&"));
_local2.sendAndLoad((GATEWAY_URL + "?seed=") + Math.random(), _local10, "POST");
last_command = _local2.command_id;
}
}
static function renderAd(target) {
if (ad_swf_url) {
target.background = target.createEmptyMovieClip("background", 100);
target.background.beginFill(0);
target.background.moveTo(0, 0);
target.background.lineTo(300, 0);
target.background.lineTo(300, 250);
target.background.lineTo(0, 250);
target.background.lineTo(0, 0);
target.background.endFill();
target.mask = target.createEmptyMovieClip("mask", 101);
target.mask.beginFill(0);
target.mask.moveTo(0, 0);
target.mask.lineTo(300, 0);
target.mask.lineTo(300, 250);
target.mask.lineTo(0, 250);
target.mask.lineTo(0, 0);
target.mask.endFill();
target.clip = target.createEmptyMovieClip("clip", 102);
target.clip.ad = target.clip.createEmptyMovieClip("ad", 100);
target.clip.setMask(target.mask);
target.clip.ad._lockroot = true;
loadMovie (ad_swf_url, target.clip.ad);
callListener(com.newgrounds.APIEvent.AD_ATTACHED, true, {target:target});
} else {
callListener(com.newgrounds.APIEvent.AD_ATTACHED, false, new com.newgrounds.APIError("FLASH_ADS_NOT_APPROVED", "Unable to render ad"));
}
}
static function attachFlashAd(target) {
if (checkAdFlood()) {
ad_swf_url = null;
} else if (checkAdCache()) {
reportNewAsset();
var _local1 = new LoadVars();
_local1.onData = function (data) {
if (data) {
com.newgrounds.API.ad_swf_url = data;
} else {
com.newgrounds.API.ad_swf_url = null;
}
com.newgrounds.API.reportAssetLoaded();
com.newgrounds.API.renderAd(target);
};
if (ad_url.indexOf("?") > -1) {
_local1.load((ad_url + "&random=") + Math.random());
} else {
_local1.load((ad_url + "?random=") + Math.random());
}
if (!ad_warning) {
ad_warning = true;
sendMessage("You may get a security sandbox violation from this ad. This is nothing to worry about!");
}
} else if (ad_swf_url) {
renderAd(target);
}
}
static function checkAdFlood() {
if (!ad_url) {
return(false);
}
var _local2 = new Date();
var _local1 = _local2.getTime();
if (_local1 >= ad_flood) {
if ((_local1 - ad_flood) > 1000) {
ad_flood = _local1 + 1000;
} else {
ad_flood = _local1;
sendWarning("This movie is attempting to load multiple ads at too high of a frequency; you may have a bad preloader loop.");
return(true);
}
}
return(false);
}
static function checkAdCache() {
if (!ad_url) {
return(false);
}
var _local2 = new Date();
var _local1 = _local2.getTime();
if (_local1 >= ad_url_cache) {
ad_url_cache = _local1 + 300000;
return(true);
}
return(false);
}
static function sendMessage(m, r) {
var _local1 = "[Newgrounds API] :: " + m;
if (r) {
return(_local1);
}
trace(_local1);
bridge.sendEvent("trace", {data:_local1});
}
static function echo(m) {
if (do_echo) {
trace(m);
}
}
static var LOGIN_URL = "http://ng-local.newgrounds.com/apilogin/";
static var do_echo = true;
static var GATEWAY_URL = "http://www.ngads.com/gateway_v2.php";
static var NEWGROUNDS_PREVIEW = "uploads.ungrounded.net/previews";
static var AD_TERMS_URL = "http://www.newgrounds.com/wiki/using-the-site/terms-of-use/flash-ads/";
static var COMMANDS_WIKI_URL = "http://www.newgrounds.com/wiki/developer-resources/flash-api/commands/";
static var LOCAL_HOST = "localhost";
static var NEWGROUNDS_WWW = "www.newgrounds.com";
static var PREVIEW_HOSTS = new Array(LOCAL_HOST, NEWGROUNDS_PREVIEW);
static var ad_url_cache = 0;
static var ad_flood = 0;
static var ad_warning = false;
static var save_file = null;
static var publisher_id = 1;
static var fake_session = false;
static var medals = null;
static var userpage_format = null;
static var scoreboards = new Array();
static var save_groups = null;
static var compression_radix = "/g8236klvBQ#&|;Zb*7CEA59%s`Oue1wziFp$rDVY@TKxUPWytSaGHJ>dmoMR^<0~4qNLhc(I+fjn)X";
static var errors = com.newgrounds.APIError.init_codes();
static var sharedObjects = new Object();
static var bridge = new com.newgrounds.Bridge(_root.NewgroundsAPI_SandboxID);
static var preload = true;
static var preload_items = 0;
static var preload_items_loaded = 0;
}
Symbol 1231 MovieClip [__Packages.com.newgrounds.SaveFile] Frame 0
class com.newgrounds.SaveFile
{
static var file_path, image_path;
var _group, _filename, _file_id, _contents, _thumbnail, _thumbnail_url, raw, img, _file_url, _description, scanner;
function SaveFile (_group) {
this._group = _group;
_filename = null;
_file_id = null;
_contents = null;
_thumbnail = null;
_thumbnail_url = null;
raw = null;
img = null;
_draft = false;
_keys = new Array();
_ratings = new Array();
_file_url = null;
com.newgrounds.API.addEventListener(com.newgrounds.APIEvent.FILE_PRIVS_LOADED, checkPrivs, this);
}
static function setFilePath(path) {
file_path = path + "/";
}
static function setImagePath(path) {
image_path = path + "/";
}
function get name() {
return(_filename);
}
function set name(s) {
_filename = s;
//return(name);
}
function get id() {
return(_file_id);
}
function get description() {
return(_description);
}
function set description(s) {
_description = s;
//return(description);
}
function get contents() {
return(_contents);
}
function set contents(o) {
_contents = o;
//return(contents);
}
function get thumbnailUrl() {
return(image_path + _thumbnail_url);
}
function set thumbnailUrl(s) {
_thumbnail_url = s;
//return(thumbnailUrl);
}
function get fileUrl() {
return(file_path + _file_url);
}
function set fileUrl(s) {
_file_url = s;
//return(fileUrl);
}
function get authorID() {
return(_author_id);
}
function set authorID(i) {
_author_id = i;
//return(authorID);
}
function get authorName() {
return(_author_name);
}
function set authorName(n) {
_author_name = n;
//return(authorName);
}
function get views() {
return(_views);
}
function get draft() {
return(_draft);
}
function set draft(d) {
_draft = d;
//return(draft);
}
function get group() {
return(_group);
}
function get groupId() {
return(_group.getID());
}
function get groupName() {
return(_group.getName());
}
function get groupType() {
return(_group.getType());
}
function get locked() {
return(_locked);
}
function get shared() {
return(_isShared());
}
function get isPrivate() {
return(_isPrivate());
}
function get isPublic() {
return(_isPublic());
}
function get approved() {
return(_isApproved());
}
function get keys() {
return(_keys);
}
function get ratings() {
return(_ratings);
}
function loadAuthorPage() {
com.newgrounds.API.loadUserPage(_author_id, _author_name);
}
function getID() {
return(_file_id);
}
function exists() {
return(!(_file_id === null));
}
function getGroup() {
return(_group);
}
function getName() {
return(_filename);
}
function _isPrivate() {
return(status == STATUS.PRIVATE);
}
function _isShared() {
return(status > STATUS.PRIVATE);
}
function _isApproved() {
return(status > STATUS.UNAPPROVED);
}
function _isPublic() {
if (_isPrivate()) {
return(false);
}
if (_group.isType("SYSTEM") or _group.isType("PRIVATE")) {
return(false);
}
if (_group.isType("PUBLIC")) {
return(true);
}
if (_isApproved()) {
return(true);
}
return(false);
}
function isLocked() {
return(_locked);
}
function getDescription() {
return(_description);
}
function getShared() {
return(_draft);
}
function getThumbnailImageScan() {
return(img);
}
function getRawContents() {
return(raw);
}
function getDuplicateID() {
return(duplicate_id);
}
function getKeys() {
return(_keys);
}
function getKey(key) {
var _local3 = getGroup().getKey(key);
var _local2 = 0;
while (_local2 < _keys.length) {
if (_keys[_local2].id == _local3.key_id) {
return(_keys[_local2].value);
}
_local2++;
}
}
function getRating(rating) {
var _local2 = getGroup().getRating(rating);
if (_ratings[_local2.rating_id]) {
return(_ratings[_local2.rating_id]);
}
return(null);
}
function overwriteAllowed() {
return(overwrite);
}
function getFileURL() {
return(file_path + _file_url);
}
function getThumbnailURL() {
return(image_path + _thumbnail_url);
}
function overwriteExisting() {
overwrite = true;
}
function setID(id, add_to_group) {
_file_id = id;
if (add_to_group) {
getGroup().addFile(this);
}
}
function setName(filename, locked) {
_filename = filename;
_locked = locked;
}
function setDescription(description) {
_description = description;
}
function setDraft(draft) {
_draft = draft;
}
function setContents(_contents) {
this._contents = _contents;
}
function setThumbnail(thumb) {
if (thumb) {
_thumbnail = thumb;
} else {
_thumbnail = null;
}
}
function setThumbnailURL(url) {
_thumbnail_url = url;
}
function setFileURL(url) {
_file_url = url;
}
function setPermissions(status, _locked) {
this._locked = _locked;
this.status = status;
}
function setKey(key, val) {
var _local4 = getGroup().getKeyID(key);
var _local2;
if (!_local4) {
onError(((("'" + key) + "' is not a valid key for the '") + _group.__get__name()) + "' save group", "setKey", "INVALID_VALUE", true);
return(undefined);
}
if ((!_group.keyValueIsValid(key, val)) && (!(val === null))) {
onError((("'" + val) + "' is not a valid ") + _group.getKeyType(key, true), "setKey", "INVALID_VALUE", true);
return(undefined);
}
switch (_group.getKeyType(key, true)) {
case "string" :
if (val) {
val = String(val);
} else {
val = undefined;
}
break;
default :
val = Number(val);
}
var _local5 = {id:_local4, value:val};
for (var _local6 in _keys) {
_local2 = _keys[_local6];
if (_local2.id == _local4) {
_keys[_local6] = _local5;
return(undefined);
}
}
_keys.push(_local5);
}
function setRating(rating, votes, score) {
var _local2 = getGroup().getRating(rating);
if (!votes) {
votes = 0;
}
if (!score) {
score = 0;
}
if (!_local2.is_float) {
score = Math.round(Number(score));
}
_ratings[_local2.rating_id] = {id:Number(_local2.rating_id), name:_local2.rating_name, votes:Number(votes), score:Number(score)};
return(_ratings[_local2.rating_id]);
}
function clearBuffer() {
_contents = null;
raw = null;
img = null;
scanner = null;
overwrite = false;
duplicate_id = null;
}
function onError(msg, funct, code) {
busy = false;
if (!code) {
code = "SAVE_FILE_ERROR";
}
if (!funct) {
funct = "unknown_function";
}
var _local3 = ("getSaveGroup('" + _group.getName()) + "')";
if (exists()) {
funct = (((_local3 + ".getFile('") + getName()) + "').") + funct;
} else {
funct = (_local3 + ".getNewFile().") + funct;
}
var _local5 = new com.newgrounds.APIError(code, msg);
com.newgrounds.API.sendError({command_id:funct}, _local5);
}
function onSaved(p) {
busy = false;
if (!exists()) {
setID(p.save_id, true);
}
setName(p.filename);
setFileURL(p.file_url);
if (p.thumbnail) {
_thumbnail_url = p.thumbnail;
}
}
function onVoted(p) {
trace("ONVOTED WAS CALLED");
return(setRating(p.rating_id, p.votes, p.score));
}
function sendRating(rating, vote) {
var _local6 = null;
if (!com.newgrounds.API.hasUserSession()) {
_local6 = new com.newgrounds.APIError("PERMISSION_DENIED", "You must be logged in to vote on save files");
}
var _local2 = _group.getRating(rating);
if (!_local2) {
_local6 = new com.newgrounds.APIError("PERMISSION_DENIED", ((("'" + rating) + "' is not a valid rating for the '") + _group.getName()) + "' save group");
}
if (voted === true) {
_local6 = new com.newgrounds.APIError("PERMISSION_DENIED", "You have already voted on this item today");
}
if ((vote < _local2.min_value) or (vote > _local2.max_value)) {
_local6 = new com.newgrounds.APIError("PERMISSION_DENIED", (((("'" + rating) + "' votes must be between ") + _local2.min_value) + " and ") + _local2.max_value);
}
if (_local6) {
com.newgrounds.API.callListener(com.newgrounds.APIEvent.VOTE_COMPLETE, false, {error:_local6, file:this});
return(undefined);
}
voted = true;
com.newgrounds.API.rateSaveFile(this, _local2, vote);
}
function replace() {
if (busy) {
onError("Another file is currently being saved, please try again later", "replace");
return(undefined);
}
overwriteExisting();
save();
}
function save() {
if ((com.newgrounds.API.hasUserSession() && (!_author_id)) && (!_author_name)) {
_author_id = com.newgrounds.API.getUserID();
_author_name = com.newgrounds.API.getUserName();
}
if (busy) {
onError("Another file is currently being saved, please try again later", "save", "UPLOAD_IN_PROGRESS");
return(undefined);
}
busy = true;
if (isLocked()) {
onError("This file is _locked and cannot be overwritten.", "save", "PERMISSION_DENIED");
return(undefined);
}
if (!_filename) {
onError("Please provide a name for your file.", "save", "MISSING_PARAM");
return(undefined);
}
if (!_contents) {
onError("The file is empty.", "save", "MISSING_PARAM");
return(undefined);
}
img = null;
com.newgrounds.API.checkFilePrivs(this);
}
function checkPrivs(e) {
if (e.data.file.id != id) {
return(undefined);
}
if (e.success) {
if (e.data.can_write) {
can_write = e.data.can_write;
if (e.data.duplicate_id) {
duplicate_id = e.data.duplicate_id;
}
if (e.data.exists && (!overwriteAllowed())) {
onError(("You already have a file named '" + getName()) + "'", "save", "CONFIRM_REQUEST");
} else {
startFile();
}
} else {
onError("This file is _locked and cannot be overwritten", "save", "PERMISSION_DENIED");
}
} else {
onError("There was a problem looking up your file's details. The server may be down.", "save", "UNKNOWN_ERROR");
}
}
function startFile() {
if (can_write) {
if (_thumbnail) {
scanner = new com.newgrounds.encoders.ImageScanner(_thumbnail);
scanner.setCallback(this, "encodeFile");
scanner.startScan(100, 100, true);
} else {
encodeFile();
}
} else {
onError("You do not have permission to save this file.", "save", "PERMISSION_DENIED");
}
}
function encodeFile(img) {
this.img = img;
raw = com.newgrounds.encoders.SerialXML.encode(_contents).toString();
compressFile();
}
function compressFile() {
com.newgrounds.encoders.LZW2.compress(raw, function (s, p) {
p.file.onCompressed(s);
}, {file:this});
}
function onCompressed(compressed) {
raw = escape(compressed);
writeFile();
}
function getProgress() {
}
function writeFile() {
getGroup().getQuery().clearCache();
com.newgrounds.API.saveFile(this);
clearBuffer();
}
function loadContents() {
if (_contents) {
com.newgrounds.API.setCurrentSaveFile(this);
com.newgrounds.API.callListener(com.newgrounds.APIEvent.FILE_LOADED, true, {file:this});
return(undefined);
}
if (!getFileURL()) {
var _local4 = new com.newgrounds.APIError("FILE_NOT_FOUND", "Attempted to load contents of an unsaved file.");
com.newgrounds.API.callListener(com.newgrounds.APIEvent.FILE_LOADED, false, {file:this, error:_local4});
return(undefined);
}
var _local2 = new LoadVars();
_local2.target = this;
var target = this;
_local2.onData = function (encoded) {
target.onLoaded(encoded);
};
_local2.load(getFileURL());
}
function onLoaded(encoded) {
if (encoded == undefined) {
var _local3 = new com.newgrounds.APIError("FILE_NOT_FOUND", "We could not find the contents for this file. It may have been deleted.");
com.newgrounds.API.callListener(com.newgrounds.APIEvent.FILE_LOADED, false, {file:this, error:_local3});
return(undefined);
}
com.newgrounds.encoders.LZW.setXMLSafe(true);
_contents = com.newgrounds.encoders.SerialXML.decode(com.newgrounds.encoders.LZW.decompress(encoded));
com.newgrounds.API.callListener(com.newgrounds.APIEvent.FILE_LOADED, true, {file:this});
}
function setViews(n) {
_views = n;
}
static var busy = false;
var can_write = false;
var _draft = false;
var status = 0;
var voted = false;
var _views = 0;
var _locked = false;
var overwrite = false;
var duplicate_id = null;
var _keys = null;
var _ratings = null;
var _author_id = null;
var _author_name = null;
static var STATUS = {PRIVATE:1, PUBLIC:2, UNAPPROVED:3, APPROVED:4};
}
Symbol 1232 MovieClip [__Packages.com.newgrounds.SaveGroup] Frame 0
class com.newgrounds.SaveGroup
{
var group_name, group_id, group_type, query, ratings, keys, files;
function SaveGroup (group_id, group_name, group_type) {
this.group_name = group_name;
this.group_id = group_id;
this.group_type = group_type;
query = new com.newgrounds.SaveGroupQuery(this);
ratings = new Array();
keys = new Array();
files = new Array();
}
function get id() {
return(group_id);
}
function get name() {
return(group_name);
}
function get type() {
return(group_type);
}
function addFile(file) {
var _local2 = 0;
while (_local2 < files.length) {
if (files[_local2].getID() == file.getID()) {
files[_local2] = file;
return(undefined);
}
_local2++;
}
files.push(file);
}
function getFile(file_id) {
trace("getting the file " + file_id);
var _local2 = 0;
while (_local2 < files.length) {
trace((((("Looking up " + file_id) + " :: ") + files[_local2].getID()) + " || ") + files[_local2].getName());
if (isNumeric(file_id) and (files[_local2].getID() == Number(file_id))) {
return(files[_local2]);
}
if (files[_local2].getName() == file_id) {
return(files[_local2]);
}
_local2++;
}
return(null);
}
function addRating(rating_id, rating_name, min_value, max_value, is_float) {
var _local3 = {rating_id:rating_id, rating_name:rating_name, min_value:min_value, max_value:max_value, is_float:is_float};
if (!getRatingID(rating_name)) {
ratings.push(_local3);
}
}
function getRating(rating_id) {
var _local2 = 0;
while (_local2 < ratings.length) {
if (isNumeric(rating_id) and (ratings[_local2].rating_id == rating_id)) {
return(ratings[_local2]);
}
if (ratings[_local2].rating_name == rating_id) {
return(ratings[_local2]);
}
_local2++;
}
return(null);
}
function getRatingID(rating_id) {
var _local2 = getRating(rating_id);
if (_local2) {
return(_local2.rating_id);
}
return(null);
}
function getRatingName(rating_id) {
var _local2 = getRating(rating_id);
if (_local2) {
return(_local2.rating_name);
}
return(null);
}
function addKey(key_id, key_name, key_type) {
trace(((((">>>>>>>>>>> ADDING KEY " + key_id) + " ") + key_name) + " ") + key_type);
var _local2 = {key_id:key_id, key_name:key_name, key_type:key_type};
if (!getKey(key_name)) {
keys.push(_local2);
}
}
function getKey(key_id) {
var _local2 = 0;
while (_local2 < keys.length) {
if (isNumeric(key_id) and (keys[_local2].key_id == key_id)) {
return(keys[_local2]);
}
if (keys[_local2].key_name == key_id) {
return(keys[_local2]);
}
_local2++;
}
return(null);
}
function getKeyType(key_name, as_string) {
var _local2 = getKey(key_name);
if (_local2) {
return((as_string ? (KEY_TYPES[_local2.key_type]) : (_local2.key_type)));
}
return(null);
}
function getKeyID(key_id) {
var _local2 = getKey(key_id);
if (_local2) {
return(_local2.key_id);
}
return(null);
}
function getKeyName(key_id) {
var _local2 = getKey(key_id);
if (_local2) {
return(_local2.key_name);
}
return(null);
}
function keyValueIsValid(key, value) {
var _local4;
var _local7;
if ((typeof(value) == "number") or (Number(value).toString() == String(value))) {
value = Number(value);
_local4 = ((Math.round(value) === value) ? "integer" : "float");
} else {
_local4 = typeof(value);
if (_local4 == "string") {
var _local6 = "01234567890.-";
var _local5 = true;
var _local2 = 0;
while (_local2 < value.length) {
if (_local6.indexOf(value.charAt(_local2)) < 0) {
_local5 = false;
break;
}
_local2++;
}
if (_local5) {
value = Number(value);
_local4 = "float";
}
}
}
switch (getKeyType(key, true)) {
case "integer" :
_local7 = (_local4 == "integer") or (_local4 == "boolean");
break;
case "float" :
_local7 = ((_local4 == "float") or (_local4 == "integer")) or (_local4 == "boolean");
break;
case "string" :
_local7 = (((_local4 == "string") or (_local4 == "float")) or (_local4 == "integer")) or (_local4 == "boolean");
break;
case "boolean" :
_local7 = (((_local4 == "boolean") or (value == 1)) or (value == 0)) or (value == "");
break;
default :
_local7 = false;
}
return(_local7);
}
function isType(type) {
return(group_type == TYPES[type.toUpperCase()]);
}
function getID() {
return(group_id);
}
function getName() {
return(group_name);
}
function getType() {
return(group_type);
}
function isSystem() {
return(undefined);
}
function getQuery(as_object) {
if (as_object) {
return(query.toObject());
}
return(query);
}
function newQuery() {
query.reset();
return(query);
}
function clearQuery() {
query.reset();
}
function newFile() {
var _local2 = new com.newgrounds.SaveFile(this);
return(_local2);
}
static function isNumeric(value) {
return((typeof(value) == "number") or (Number(value).toString() == String(value)));
}
static var KEY_TYPES = [null, "float", "integer", "string", "boolean"];
static var TYPES = {SYSTEM:0, PRIVATE:1, PUBLIC:2, MODERATED:3};
}
Symbol 1235 MovieClip [__Packages.com.newgrounds.SaveGroupQuery] Frame 0
class com.newgrounds.SaveGroupQuery
{
var _group, _num_results, _pages, _page, _randomize_results, file_conditions, key_conditions, rating_conditions, sort_conditions, lookup_keys, lookup_ratings, _group_by;
function SaveGroupQuery (_group) {
this._group = _group;
reset();
}
function get group() {
return(_group);
}
function get groupId() {
return(_group.getID());
}
function get resultsPerPage() {
return(_num_results);
}
function set resultsPerPage(n) {
_num_results = n;
//return(resultsPerPage);
}
function get pages() {
return(_pages);
}
function get page() {
return(_page);
}
function set page(n) {
_page = n;
//return(page);
}
function get randomize() {
return(_randomize_results);
}
function set randomize(b) {
_randomize_results = b;
//return(randomize);
}
function get results() {
return(_results);
}
function clearCache() {
_results = [];
}
function reset() {
file_conditions = new Array();
key_conditions = new Array();
rating_conditions = new Array();
sort_conditions = new Array();
lookup_keys = new Object();
lookup_ratings = new Object();
_num_results = 20;
_page = 1;
_randomize_results = false;
_group_by = new Array();
clearCache();
}
function getGroup() {
return(_group);
}
function getGroupID() {
return(_group.getID());
}
function isRandomized() {
return(_randomize_results);
}
function toObject() {
var _local2;
var _local11 = {page:_page, num_results:_num_results};
if (_randomize_results) {
_local11.randomize = 1;
}
if (!com.newgrounds.ValidationTools.isEmpty(file_conditions)) {
var _local12 = [];
_local2 = 0;
while (_local2 < file_conditions.length) {
var _local6 = file_conditions[_local2];
_local12.push({field:file_fields[_local6.field.toUpperCase()].id, operator:_local6.operator, value:_local6.value});
_local2++;
}
_local11.file_conditions = _local12;
}
if (!com.newgrounds.ValidationTools.isEmpty(key_conditions)) {
_local11.key_conditions = key_conditions;
}
if (!com.newgrounds.ValidationTools.isEmpty(rating_conditions)) {
_local11.rating_conditions = rating_conditions;
}
if (!com.newgrounds.ValidationTools.isEmpty(sort_conditions)) {
var _local14 = [];
_local2 = 0;
while (_local2 < sort_conditions.length) {
var _local3 = sort_conditions[_local2];
if (_local3.table == TABLE_FILES) {
var _local8 = file_fields[_local3.field.toUpperCase()].id;
} else {
var _local8 = _local3.field;
}
var _local5 = {field:_local8, table:_local3.table};
if (_local3.desc) {
_local5.desc = 1;
}
if (_local3.extra) {
_local5.extra = _local3.extra;
}
_local14.push(_local5);
_local2++;
}
_local11.sort_conditions = _local14;
}
if (!com.newgrounds.ValidationTools.isEmpty(lookup_keys)) {
var _local15 = [];
for (_local2 in lookup_keys) {
_local15.push(_local2);
}
_local11.lookup_keys = _local15;
}
if (!com.newgrounds.ValidationTools.isEmpty(lookup_ratings)) {
var _local13 = [];
for (_local2 in lookup_ratings) {
_local13.push(_local2);
}
_local11.lookup_ratings = _local13;
}
if (!com.newgrounds.ValidationTools.isEmpty(_group_by)) {
var _local16 = [];
_local2 = 0;
while (_local2 < _group_by.length) {
var _local4 = _group_by[_local2];
if (_local4.table == TABLE_FILES) {
var _local8 = file_fields[_local4.field.toUpperCase()].id;
} else {
var _local8 = _local4.field;
}
_local16.push({field:_local8, table:_local4.table});
_local2++;
}
_local11.group_by = _local16;
}
return(_local11);
}
function toString() {
var _local9;
var _local2;
var _local11 = [];
_local9 = "Lookup:\r";
var _local14 = [];
for (var _local6 in file_fields) {
_local14.push(" " + _local6);
_local2 = true;
}
_local9 = _local9 + _local14.join(newline);
_local11.push(_local9);
_local9 = "";
_local2 = false;
var _local16 = [];
for (var _local6 in lookup_keys) {
_local16.push((" KEY '" + _group.getKeyName(_local6)) + "'");
_local2 = true;
}
if (_local2) {
_local9 = _local9 + _local16.join(newline);
_local11.push(_local9);
}
_local9 = "";
_local2 = false;
var _local15 = [];
for (var _local6 in lookup_ratings) {
_local15.push((" RATING '" + _group.getRatingName(_local6)) + "'");
_local2 = true;
}
if (_local2) {
_local9 = _local9 + _local15.join(newline);
_local11.push(_local9);
}
_local9 = "Where:\r";
_local2 = false;
var _local8 = [];
var _local6 = 0;
while (_local6 < file_conditions.length) {
var _local7 = file_conditions[_local6];
var _local10 = ((((" " + _local7.field) + " ") + _local7.operator) + " ") + _local7.value;
_local8.push(_local10);
_local2 = true;
_local6++;
}
_local6 = 0;
while (_local6 < key_conditions.length) {
var _local7 = key_conditions[_local6];
var _local10 = ((((" KEY '" + _group.getKeyName(_local7.key_id)) + "' ") + _local7.operator) + " ") + _local7.value;
_local8.push(_local10);
_local2 = true;
_local6++;
}
_local6 = 0;
while (_local6 < rating_conditions.length) {
var _local7 = rating_conditions[_local6];
var _local10 = ((((" RATING '" + _group.getRatingName(_local7.rating_id)) + "' ") + _local7.operator) + " ") + _local7.value;
_local8.push(_local10);
_local2 = true;
_local6++;
}
if (_local2) {
_local9 = _local9 + _local8.join(newline);
_local11.push(_local9);
}
_local9 = "Group By:\r";
_local2 = false;
var _local13 = [];
_local6 = 0;
while (_local6 < _group_by.length) {
var _local4 = _group_by[_local6];
var _local5;
if (_local4.table == TABLE_KEYS) {
_local5 = (" KEY '" + _group.getKeyName(_local4.field)) + "'";
} else if (_local4.table == TABLE_RATINGS) {
_local5 = (" RATING '" + _group.getRatingName(_local4.field)) + "'";
} else {
_local5 = " " + _local4.field;
}
_local13.push(_local5);
_local2 = true;
_local6++;
}
if (_local2) {
_local9 = _local9 + _local13.join(newline);
_local11.push(_local9);
}
_local9 = "Order By:\r";
_local2 = false;
var _local12 = [];
if (isRandomized()) {
_local12.push(" RANDOM");
_local2 = true;
}
_local6 = 0;
while (_local6 < sort_conditions.length) {
var _local3 = sort_conditions[_local6];
if (_local3.table == TABLE_KEYS) {
var _local5 = (" KEY '" + _group.getKeyName(_local3.field)) + "'";
} else if (_local3.table == TABLE_RATINGS) {
var _local5 = ((" RATING '" + _group.getRatingName(_local3.field)) + "' ") + ((_local3.extra == "votes") ? "VOTES" : "SCORE");
} else {
var _local5 = " " + _local3.field;
}
var _local5 = _local5 + (_local3.desc ? " (DESCENDING)" : "");
_local12.push(_local5);
_local2 = true;
_local6++;
}
if (_local2) {
_local9 = _local9 + _local12.join(newline);
_local11.push(_local9);
}
_local11.push("Page:\r " + _page);
_local11.push("Results Per Page:\r " + _num_results);
return(_local11.join(newline));
}
function setResultsPerPage(r) {
_num_results = r;
clearCache();
}
function setPage(p) {
_page = p;
clearCache();
}
function setRandomize(bool) {
_randomize_results = ((bool === false) ? false : true);
}
function includeKey(key) {
if (!_group.getKeyID(key)) {
trace(((("[SaveGroupQuery Error] :: '" + key) + "' is not a valid key for the '") + _group.__get__name()) + "' group.");
return(undefined);
}
lookup_keys[_group.getKeyID(key)] = 1;
clearCache();
}
function includeRating(rating) {
if (!_group.getRatingID(rating)) {
trace(((("[SaveGroupQuery Error] :: '" + rating) + "' is not a valid rating for the '") + _group.__get__name()) + "' group.");
return(undefined);
}
lookup_ratings[_group.getRatingID(rating)] = 1;
clearCache();
}
function groupBy(field) {
addGroupItem(TABLE_FILES, field);
}
function groupByKey(key) {
if (!_group.getKeyID(key)) {
error(((("'" + key) + "' is not a valid key for the '") + _group.getName()) + "' _group");
return(undefined);
}
addGroupItem(TABLE_KEYS, _group.getKeyID(key));
}
function groupByRating(rating) {
if (!_group.getRatingID(rating)) {
error(((("'" + rating) + "' is not a valid rating for the '") + _group.getName()) + "' _group");
return(undefined);
}
addGroupItem(TABLE_RATINGS, _group.getRatingID(rating));
}
function addGroupItem(table, field) {
_group_by.push({table:table, field:field});
clearCache();
}
function excludeKey(key) {
delete lookup_keys[_group.getKeyID(key)];
clearCache();
}
function excludeRating(rating) {
delete lookup_ratings[_group.getRatingID(rating)];
clearCache();
}
function addCondition(field, operator, value) {
if (((field == "FILE_STATUS") && (typeof(value) == "string")) && (!(com.newgrounds.SaveFile.STATUS[value.toUpperCase()] === undefined))) {
value = com.newgrounds.SaveFile.STATUS[value.toUpperCase()];
}
if (operator == "==") {
operator = "=";
}
if ((!validateOperator(operator)) or (!validateValue(field, value))) {
return(undefined);
}
file_conditions.push({field:field, operator:operator, value:value});
clearCache();
}
function addKeyCondition(key, operator, value) {
if (!_group.getKeyID(key)) {
error(((("'" + key) + "' is not a valid key for the '") + _group.getName()) + "' save _group");
} else if ((!validateOperator(operator)) or (!validateKeyValue(key, value))) {
return(undefined);
}
key_conditions.push({key_id:_group.getKeyID(key), operator:operator, value:value});
clearCache();
}
function addRatingCondition(rating, operator, value, column) {
if (!column) {
column = "SCORE";
}
if (!_group.getRatingID(rating)) {
error(((("'" + rating) + "' is not a valid rating for the '") + _group.getName()) + "' save _group");
} else {
if (!validateOperator(operator)) {
return(undefined);
}
if (!com.newgrounds.ValidationTools.isNumber(value)) {
error(("Expected numeric value for rating '" + rating) + "'");
return(undefined);
}
}
if (!rating_columns[column]) {
var _local2 = [];
for (var _local3 in rating_columns) {
_local2.push(_local3);
}
error((("Invalid rating column '" + column) + "'. Valid columns are ") + _local2.join(", "));
return(undefined);
}
rating_conditions.push({rating_id:_group.getRatingID(rating), operator:operator, value:value, column:rating_columns[column]});
clearCache();
}
function sortOn(field, order) {
if (!file_fields[field]) {
var _local2 = [];
for (var _local3 in file_fields) {
_local2.push(_local3);
}
error((("'" + field) + "' is not a valid sort field. Valid fields are: ") + _local2.join(", "));
return(undefined);
}
addSortCondition(TABLE_FILES, field, order);
}
function sortOnKey(key, order) {
if (!_group.getKeyID(key)) {
error(((("'" + key) + "' is not a valid key for the '") + _group.getName()) + "' _group");
return(undefined);
}
addSortCondition(TABLE_KEYS, _group.getKeyID(key), order);
}
function sortOnRating(rating, order, column) {
if (!_group.getRatingID(rating)) {
error(((("'" + rating) + "' is not a valid rating for the '") + _group.getName()) + "' _group");
return(undefined);
}
if (!column) {
column = "score";
}
addSortCondition(TABLE_RATINGS, _group.getRatingID(rating), order, column);
}
function sortOnRatingScore(rating, order) {
sortOnRating(rating, order, "score");
}
function sortOnRatingVotes(rating, order) {
sortOnRating(rating, order, "votes");
}
function addSortCondition(table, field, order, extra) {
var _local7;
if (((!order) or (order == "")) or (order.toUpperCase() == "ASC")) {
_local7 = false;
} else if (order.toUpperCase() == "DESC") {
_local7 = true;
} else {
error(("'" + order) + "' is not a valid sort order!");
return(undefined);
}
var _local3 = {table:table, field:field, desc:_local7};
if (extra) {
_local3.extra = extra;
}
sort_conditions.push(_local3);
clearCache();
}
function onExecuted(results) {
_results = [];
var _local6 = 0;
while (_local6 < results.length) {
var _local2 = results[_local6];
var _local3 = new com.newgrounds.SaveFile(_group);
_local3.setName(_local2.filename);
_local3.setID(_local2.save_id);
_local3.setDescription(_local2.description);
_local3.setThumbnailURL(_local2.thumb);
_local3.setFileURL(_local2.file);
if (_local2.views) {
_local3.setViews(_local2.views);
}
_local3.setPermissions(_local2.status, _local2.locked);
_local3.authorName = _local2.user_name;
_local3.authorID = _local2.user_id;
var _local5 = 0;
while (_local5 < _local2.keys.length) {
_local3.setKey(_local2.keys[_local5].id, _local2.keys[_local5].value);
_local5++;
}
var _local4 = 0;
while (_local4 < _local2.ratings.length) {
_local3.setRating(_local2.ratings[_local4].id, _local2.ratings[_local4].votes, _local2.ratings[_local4].score);
_local4++;
}
getGroup().addFile(_local3);
_results.push(_local3);
_local6++;
}
callEventDispatcher();
}
function hasResults() {
return(_results && (_results.length > 0));
}
function callEventDispatcher() {
com.newgrounds.API.callListener(com.newgrounds.APIEvent.QUERY_COMPLETE, true, {query:this});
}
function execute() {
if (hasResults() && (!isRandomized())) {
callEventDispatcher();
return(undefined);
}
_group.query = this;
com.newgrounds.API.lookupSaveFiles(_group);
}
function processResults(files) {
return(null);
}
function validateKeyValue(key, value) {
var _local3 = _group.getKeyType(key);
if (_local3) {
var _local2 = com.newgrounds.SaveGroup.KEY_TYPES[_local3];
if ((_local2 == "float") and com.newgrounds.ValidationTools.isFloat(value)) {
return(true);
}
if ((_local2 == "integer") and com.newgrounds.ValidationTools.isInteger(value)) {
return(true);
}
if ((_local2 == "string") and com.newgrounds.ValidationTools.isString(value)) {
return(true);
}
error(((("Expected type " + _local2) + " for key '") + key) + "'");
}
return(false);
}
function validateValue(field, value) {
if (file_fields[field]) {
if ((file_fields[field].type == "integer") and com.newgrounds.ValidationTools.isInteger(value)) {
return(true);
}
if ((file_fields[field].type == "float") and com.newgrounds.ValidationTools.isFloat(value)) {
return(true);
}
if ((file_fields[field].type == "string") and com.newgrounds.ValidationTools.isString(value)) {
return(true);
}
error(((("Expecting " + file_fields[field].type) + " value on '") + field) + "' condition");
} else {
var _local2 = [];
for (var _local4 in file_fields) {
_local2.push(_local4);
}
error((("'" + field) + "' is not a searchable field. Valid fields are: ") + _local2.join(", "));
}
return(false);
}
function validateOperator(operator) {
var _local2 = 0;
while (_local2 < valid_operators.length) {
if (operator == valid_operators[_local2]) {
return(true);
}
_local2++;
}
error((("'" + operator) + "' is not a valid lookup operation. Valid operations are: ") + valid_operators.join(", "));
return(false);
}
function error(msg) {
trace("[QUERY ERROR] :: " + msg);
}
static var TABLE_FILES = 1;
static var TABLE_KEYS = 2;
static var TABLE_RATINGS = 3;
var _results = [];
static var file_fields = {FILE_ID:{id:0, field:"file_id", type:"integer"}, AUTHOR_ID:{id:1, field:"user_id", type:"integer"}, AUTHOR_NAME:{id:2, field:"user_name", type:"string"}, FILE_NAME:{id:3, field:"file_name", type:"string"}, CREATED_ON:{id:4, field:"created", type:"string"}, UPDATED_ON:{id:5, field:"last_update", type:"string"}, TOTAL_VIEWS:{id:6, field:"views", type:"integer"}, FILE_STATUS:{id:7, field:"status", type:"integer"}};
static var rating_columns = {TOTAL_VOTES:"votes", SCORE:"score"};
static var valid_operators = ["=", "<", ">", "!=", "<>", "<=", ">=", "*", "!*", "!*=", "!=*", "*=", "=*"];
}
Symbol 1237 MovieClip [__Packages.com.newgrounds.encoders.ImageScanner] Frame 0
class com.newgrounds.encoders.ImageScanner
{
var image_source, source_width, source_height, sourceBitmap, callback_target, callback_function, hash, cube, basen, xpos, ypos, pixels, busy, canvas_width, canvas_height, resizedBitmap, copyBitmap, output, draw_interval, callback_interval;
function ImageScanner (the_source) {
if (the_source) {
image_source = the_source;
} else {
image_source = _root;
}
reset();
if (typeof(image_source) == "movieclip") {
if (image_source == _root) {
source_width = Stage.width;
source_height = Stage.height;
} else {
source_width = Math.floor(image_source._width);
source_height = Math.floor(image_source._height);
}
sourceBitmap = new flash.display.BitmapData(source_width, source_height, false, 4294967295);
sourceBitmap.draw(_root);
} else if (image_source.width) {
source_width = image_source.width;
source_height = image_source.height;
sourceBitmap = image_source;
} else {
error("You can only use BitMaptData and MovieClip objects to create images");
}
}
function setCallback(target, funct) {
if (target && (funct)) {
callback_target = target;
callback_function = funct;
}
}
function reset() {
callback_target = null;
callback_function = null;
debug.bad_pixels = 0;
hash = "0123456789aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ<>?:;-_=+()!&";
var _local3 = Math.pow(hash.length, 2);
trace("MAX COLORS: " + _local3);
var _local2 = Math.floor(Math.pow(_local3, 0.333333333333333)) - 1;
var _local4 = Math.pow(_local2, 3);
cube = _local2;
basen = new com.newgrounds.encoders.BaseN(hash);
xpos = 0;
ypos = 0;
pixels = 0;
busy = false;
}
function startScan(w, h, s) {
if (w) {
image_width = w;
}
if (h) {
image_height = h;
}
if (s != undefined) {
crop = s;
}
var _local7 = _root.getNextHighestDepth();
var _local6 = _root.createEmptyMovieClip("API_image_container_" + _local7, _local7);
var _local5 = _local6.createEmptyMovieClip("canvas", 100);
_local5.attachBitmap(sourceBitmap, 100);
if (crop) {
if ((image_width / source_width) > (image_height / source_height)) {
canvas_width = image_width;
canvas_height = Math.ceil(source_height * (image_width / source_width));
} else {
canvas_height = image_height;
canvas_width = Math.ceil(source_width * (image_height / source_height));
}
} else {
canvas_width = image_width;
canvas_height = image_height;
}
_local5._x = Math.round((image_width - canvas_width) / 2);
_local5._width = canvas_width;
_local5._height = canvas_height;
resizedBitmap = new flash.display.BitmapData(image_width, image_height, false, 4294967295);
resizedBitmap.draw(_local6);
_local6.removeMovieClip();
copyBitmap = new flash.display.BitmapData(image_width, image_height, false, 4294967295);
var _local3 = "" + image_width;
while (_local3.length < 3) {
_local3 = "0" + _local3;
}
var _local4 = "" + image_height;
while (_local4.length < 3) {
_local4 = "0" + _local4;
}
output = _local3 + _local4;
draw_interval = setInterval(this, "drawChunk", 10);
busy = false;
return(resizedBitmap);
}
function getBitmapData() {
return(copyBitmap);
}
function getBytesTotal() {
return((image_width * image_height) * 2);
}
function getBytesScanned() {
return(pixels * 2);
}
function getProgress() {
return(Math.round((getBytesScanned() / getBytesTotal()) * 100));
}
function drawChunk() {
if (!busy) {
busy = true;
var _local2 = 0;
while (_local2 < pixels_per_chunk) {
if (!nextPixel()) {
clearInterval(draw_interval);
callback_interval = setInterval(this, "doCallback", 25);
busy = true;
break;
}
_local2++;
}
busy = false;
}
}
function doCallback() {
busy = false;
clearInterval(callback_interval);
if (callback_target and callback_function) {
callback_target[callback_function](output);
} else {
onScanComplete(output);
}
}
function onScanComplete(packet) {
sendMessage(("packet size: " + output.length) + " bytes", "onScanComplete");
}
function nextPixel() {
var _local15 = xpos;
var _local14 = ypos;
var _local7 = resizedBitmap.getPixel(_local15, _local14);
var _local17 = (_local7 >> 16) & 255;
var _local20 = (_local7 >> 8) & 255;
var _local16 = (_local7 >> 0) & 255;
var _local11 = Math.round(((_local17 + 1) / 256) * cube);
var _local10 = Math.round(((_local20 + 1) / 256) * cube);
var _local13 = Math.round(((_local16 + 1) / 256) * cube);
var _local12 = (((_local11 * (cube + 1)) * (cube + 1)) + (_local10 * (cube + 1))) + _local13;
var _local6 = basen.encode(_local12, 2);
output = output + _local6;
if (_local6.length != 2) {
trace("bad pixel " + _local6);
}
var _local5 = basen.decode(_local6);
var _local18 = _local5;
var _local8 = _local5 % (cube + 1);
_local5 = (_local5 - _local8) / (cube + 1);
var _local9 = _local5 % (cube + 1);
var _local19 = (_local5 - _local9) / (cube + 1);
if (((_local13 != _local8) and (_local10 != _local9)) and (_local11 != _local10)) {
debug.bad_pixels++;
trace((((((("BAD PIXEL " + debug.bad_pixels) + ") ") + _local12) + " != ") + _local18) + " ") + _local6);
trace(basen.debug.lastencode);
}
var _local2 = Math.round((_local19 / cube) * 255).toString(16);
var _local4 = Math.round((_local9 / cube) * 255).toString(16);
var _local3 = Math.round((_local8 / cube) * 255).toString(16);
while (_local2.length < 2) {
_local2 = "0" + _local2;
}
while (_local4.length < 2) {
_local4 = "0" + _local4;
}
while (_local3.length < 2) {
_local3 = "0" + _local3;
}
copyBitmap.setPixel(_local15, _local14, Number((("0x" + _local2) + _local4) + _local3));
pixels++;
if (pixels >= (image_width * image_height)) {
return(false);
}
xpos++;
if (xpos >= image_width) {
xpos = 0;
ypos++;
}
return(true);
}
function error(e, f) {
sendMessage(e, f, "ERROR");
}
function sendMessage(msg, func, type) {
var _local1 = "ImageScanner";
if (func) {
_local1 = _local1 + (("." + func) + "()");
}
if (type) {
_local1 = (type + " in ") + _local1;
}
_local1 = _local1 + (" :: " + msg);
trace(_local1);
}
var image_width = 100;
var image_height = 100;
var crop = true;
var pixels_per_chunk = 500;
var debug = new Object();
}
Symbol 1236 MovieClip [__Packages.com.newgrounds.encoders.BaseN] Frame 0
class com.newgrounds.encoders.BaseN
{
var ceiling, hashIndex, bitSize, hashVal, i;
function BaseN (hash) {
ceiling = 100000000000000;
if (hash) {
hashIndex = hash;
} else {
hashIndex = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`~@#$%^&*()+|;/";
}
bitSize = hashIndex.length;
hashVal = new Object();
i = 0;
while (i < bitSize) {
hashVal[hashIndex.charAt(i)] = i;
i++;
}
}
function verify(s) {
if (hashVal[s] != undefined) {
return(true);
}
return(false);
}
function encode(n, minchars) {
debug.lastencode = "";
if (typeof(i) != "string") {
n = n.toString();
}
if (n.charAt(0) == "-") {
var _local3 = "-";
n = n.substring(1);
} else {
var _local3 = "";
}
if (String(n).indexOf(".") > -1) {
var _local4 = String(n).split(".", 2);
return(((_local3 + baseNEncoder(_local4[0], minchars)) + ".") + baseNEncoder(_local4[1]));
}
debug.lastencode = debug.lastencode + "\tNo decimal\r";
return(_local3 + baseNEncoder(n, minchars));
}
function decode(s) {
var _local4 = 1;
if (s.charAt(0) == "-") {
_local4 = -1;
s = s.substring(1, s.length);
}
var _local3 = s.indexOf(".");
if (_local3 > -1) {
var _local5 = Math.pow(10, baseNDecoder(s.substring(_local3 + 1, s.length)));
return((baseNDecoder(s.substring(0, _local3)) / _local5) * _local4);
}
return(baseNDecoder(s) * _local4);
}
function baseNEncoder(n, minchars) {
if (!minchars) {
minchars = 1;
}
var _local4 = "";
while (n != 0) {
n = Math.round(n);
var _local3 = n % bitSize;
if (Math.round(_local3) != _local3) {
trace((((((((("BaseN failed on " + n) + "%") + bitSize) + " = ") + _local3) + " ") + int(n)) + " ") + int(bitSize));
}
_local4 = hashIndex.charAt(_local3) + _local4;
debug.lastencode = debug.lastencode + (((((((("\t-> n:" + n) + " % bitSize:") + bitSize) + " = ") + _local3) + ", final char=") + _local4) + newline);
n = n - _local3;
n = n / bitSize;
}
if (minchars) {
while (_local4.length < minchars) {
_local4 = hashIndex.charAt(0) + _local4;
}
}
return(_local4);
}
function baseNDecoder(s) {
var _local2 = 0;
var _local6 = 0;
i = 0;
while (i < s.length) {
var _local3 = s.charAt((s.length - i) - 1);
if (_local3 == hashIndex.charAt(0)) {
var _local5 = 0;
} else {
var _local5 = hashVal[_local3] * Math.pow(bitSize, i);
}
_local2 = _local2 + _local5;
if (_local2 >= ceiling) {
_local6 = _local6 + ((_local2 - (_local2 % ceiling)) / ceiling);
_local2 = _local2 % ceiling;
}
i++;
}
if (_local6 > 0) {
_local2 = "" + _local2;
while (_local2.length < (ceiling.toString().length - 1)) {
_local2 = "0" + _local2;
}
_local2 = ("" + _local6) + _local2;
}
return(_local2);
}
var debug = new Object();
}
Symbol 1247 MovieClip [__Packages.com.newgrounds.APIEventDispatcher] Frame 0
class com.newgrounds.APIEventDispatcher
{
function APIEventDispatcher () {
}
function addEventListener(event, callback, target) {
if (!target) {
throw "Attempted to create a listener without providing a target object.";
}
if (!listeners[event]) {
listeners[event] = [];
} else {
removeEventListener(event, target);
}
listeners[event].push({target:target, callback:callback});
}
function removeEventListener(event, target) {
if (!target) {
throw "Attempted to remove a listener without providing a target object.";
}
if ((!listeners[event]) || (listeners[event].length < 1)) {
return(undefined);
}
var _local4 = [];
var _local2 = 0;
while (_local2 < listeners[event].length) {
if (listeners[event][_local2].target != target) {
_local4.push(listeners[event][_local2]);
}
_local2++;
}
listeners[event] = _local4;
}
function dispatchEvent(event) {
if (!hasEventListener(event.__get__type())) {
return(false);
}
collectGarbage(event.__get__type());
var _local2 = 0;
while (_local2 < listeners[event.__get__type()].length) {
var _local4 = listeners[event.__get__type()][_local2].callback;
if (listeners[event.__get__type()][_local2].target) {
var _local5 = listeners[event.__get__type()][_local2].target;
_local4.call(_local5, event);
} else {
_local4(event);
}
_local2++;
}
return(true);
}
function hasEventListener(event) {
return((listeners[event] != undefined) && (listeners[event].length > 0));
}
function collectGarbage(event) {
var _local5 = [];
if (!hasEventListener) {
return(undefined);
}
var _local2 = 0;
while (_local2 < listeners[event].length) {
var _local4 = listeners[event][_local2].target;
if (_local4) {
_local5.push(listeners[event][_local2]);
}
_local2++;
}
listeners[event] = _local5;
}
var listeners = {};
}
Symbol 1234 MovieClip [__Packages.com.newgrounds.APIEvent] Frame 0
class com.newgrounds.APIEvent
{
var _type, _success, _error, data;
function APIEvent (type, success, data) {
_type = type;
_success = success;
if (data.isError()) {
_error = data;
this.data = null;
} else if (data.error && (data.error.isError())) {
_error = data.error;
this.data = data;
} else {
this.data = data;
_error = null;
}
}
function get error() {
return(_error);
}
function get type() {
return(_type);
}
function get success() {
return(_success);
}
static var API_CONNECTED = "apiConnected";
static var ADS_APPROVED = "adsApproved";
static var AD_ATTACHED = "adAttached";
static var HOST_BLOCKED = "hostBlocked";
static var NEW_VERSION_AVAILABLE = "newVersionAvailable";
static var EVENT_LOGGED = "eventLogged";
static var SCORE_POSTED = "scorePosted";
static var SCORES_LOADED = "scoresLoaded";
static var UNLOCK_MEDAL = "unlockMedal";
static var MEDAL_UNLOCKED = "medalUnlocked";
static var MEDALS_LOADED = "medalsLoaded";
static var METADATA_LOADED = "metadataLoaded";
static var FILE_PRIVS_LOADED = "filePrivsLoaded";
static var FILE_SAVED = "fileSaved";
static var FILE_LOADED = "fileLoaded";
static var FILE_INITIALIZED = "fileInitialized";
static var FILE_REQUESTED = "fileRequested";
static var QUERY_COMPLETE = "queryComplete";
static var VOTE_COMPLETE = "voteComplete";
static var API_ERROR = "apiError";
static var UNCAUGHT_EVENT = "uncaughtEvent";
}
Symbol 1241 MovieClip [__Packages.com.newgrounds.RemoteAuth] Frame 0
class com.newgrounds.RemoteAuth
{
var auth_token, receiver;
function RemoteAuth (id) {
auth_token = id;
System.security.allowDomain("*");
receiver = new LocalConnection();
receiver.allowDomain = function () {
return(true);
};
receiver.onAuth = function (auth_result) {
trace("remote login is a success! " + auth_result);
com.newgrounds.API.onRemoteAuthentication(auth_result);
};
receiver.connect("_" + auth_token);
}
function get token() {
return(auth_token);
}
}
Symbol 1155 MovieClip [__Packages.com.newgrounds.components.APIConnector] Frame 0
class com.newgrounds.components.APIConnector extends MovieClip
{
var _x, _y, fake_session, api_id, nextFrame, _visible, error_screens, medal_popups, debug, version, local_data, encryption_key, stop, gotoframe_interval, _totalframes, _framesloaded, gotoAndStop;
function APIConnector () {
super();
_x = Math.round(_x);
_y = Math.round(_y);
if (fake_session and (com.newgrounds.API.getHost() == "localhost")) {
com.newgrounds.API.setFakeSession(true);
}
if (api_id && (!com.newgrounds.API.isConnected())) {
nextFrame();
_visible = false;
setGotoFrame("connecting");
if (error_screens) {
com.newgrounds.API.addEventListener(com.newgrounds.APIEvent.NEW_VERSION_AVAILABLE, onNewVersion, this);
com.newgrounds.API.addEventListener(com.newgrounds.APIEvent.HOST_BLOCKED, onBadHost, this);
}
if (medal_popups) {
com.newgrounds.API.addEventListener(com.newgrounds.APIEvent.UNLOCK_MEDAL, doUnlock, this);
}
com.newgrounds.API.addEventListener(com.newgrounds.APIEvent.API_CONNECTED, onConnected, this);
if (com.newgrounds.API.isPublishedHost()) {
debug = false;
}
if (version) {
com.newgrounds.API.setVersion(version);
}
if (!com.newgrounds.API.hasUserSession()) {
var _local3 = com.newgrounds.API.loadLocal("api_connector_data");
if (_local3) {
local_data = _local3;
} else {
local_data = {medals_unlocked:new Array()};
}
}
com.newgrounds.API.setPreload(true);
com.newgrounds.API.connect(api_id, encryption_key, debug);
} else if (api_id && (com.newgrounds.API.isConnected())) {
_visible = false;
setGotoFrame("done");
}
stop();
}
function doUnlock(e) {
var _local5 = _root.attachMovie("NewgroundsAPIAsset_Medal_Popup", "medal_pop_" + e.data.medal.getID(), _root.getNextHighestDepth());
if (e.data.x != undefined) {
_local5._x = e.data.x + 254;
} else {
_local5._x = Stage.width;
}
if (e.data.x != undefined) {
_local5._y = e.data.y + 73;
} else {
_local5._y = Stage.height;
}
_local5.medal = e.data.medal;
var _local3 = com.newgrounds.API.getMedals();
var _local2 = 0;
while (_local2 < _local3.length) {
if ((_local3[_local2].getID() != e.data.medal.getID()) && (_root["medal_pop_" + _local3[_local2].getID()])) {
_root["medal_pop_" + _local3[_local2].getID()]._y = _root["medal_pop_" + _local3[_local2].getID()]._y - 70;
}
_local2++;
}
}
function onLoginError() {
var _local2 = _root.attachMovie("Asset_Login_Warning", "Asset_Login_Warning", _root.getNextHighestDepth());
}
function onConnectionError() {
var _local3 = _root.attachMovie("Asset_Connection_Error", "Asset_Connection_Error", _root.getNextHighestDepth());
setGotoFrame("done");
}
function onConnected(event, params) {
if (event.success) {
setGotoFrame("connected");
if (((error_screens && (com.newgrounds.API.isPublishedHost())) && (com.newgrounds.API.hasPublisher())) && (!com.newgrounds.API.hasUserSession())) {
onLoginError();
}
} else if (error_screens) {
onConnectionError();
}
}
function onNewVersion() {
var _local2 = _root.attachMovie("NewgroundsAsset_New_Version_Available", "NewgroundsAsset_New_Version_Available", _root.getNextHighestDepth());
_local2.official_version_url = com.newgrounds.API.getOfficialURL();
}
function onBadHost() {
var _local2 = _root.attachMovie("NewgroundsAsset_Illegal_Host", "NewgroundsAsset_Illegal_Host", _root.getNextHighestDepth());
_local2.official_version_url = com.newgrounds.API.getOfficialURL();
}
function setGotoFrame(frame) {
if (goto_frame == null) {
goto_frame = frame;
gotoframe_interval = setInterval(this, "gotoFrameIfLoaded", 50);
}
}
function gotoFrameIfLoaded() {
if ((goto_frame != null) && (_framesloaded == _totalframes)) {
_visible = true;
gotoAndStop(goto_frame);
goto_frame = null;
clearInterval(gotoframe_interval);
}
}
var goto_frame = null;
}
Symbol 1233 MovieClip [__Packages.com.newgrounds.ValidationTools] Frame 0
class com.newgrounds.ValidationTools
{
function ValidationTools () {
}
static function isNumber(v) {
if (typeof(v) == "number") {
return(true);
}
if ((typeof(v) == "string") and (Number(v).toString() == v)) {
return(true);
}
return(false);
}
static function isInteger(v) {
if (isNumber(v)) {
v = Number(v);
return(Math.floor(v) == v);
}
return(false);
}
static function isFloat(v) {
return(isNumber(v));
}
static function isString(v) {
if ((typeof(v) == "string") or (typeof(v) == "number")) {
return(true);
}
return(false);
}
static function isEmpty(o) {
for (var _local2 in o) {
return(false);
}
return(true);
}
}
Symbol 1238 MovieClip [__Packages.com.newgrounds.encoders.SerialXML] Frame 0
class com.newgrounds.encoders.SerialXML
{
function SerialXML () {
}
static function decode(xml) {
if (!(xml instanceof XML)) {
xml = new XML(xml);
}
var _local2 = populateObject(xml.firstChild, {});
return(_local2.DATA);
}
static function encode(obj) {
var _local1 = new XML();
populateXML(_local1, obj, "DATA");
return(_local1);
}
static function populateObject(child, object) {
var _local6 = child.nodeName;
var _local5 = getValue(_local6, child.attributes.v);
var _local4 = child.attributes.n;
if (object instanceof Array) {
_local4 = object.length;
object.push(_local5);
} else {
object[_local4] = _local5;
}
if (child.hasChildNodes()) {
var _local1 = 0;
while (_local1 < child.childNodes.length) {
populateObject(child.childNodes[_local1], object[_local4]);
_local1++;
}
}
return(object);
}
static function populateXML(child, obj, name) {
if (obj === undefined) {
return(undefined);
}
var _local5 = new XML();
var _local2;
if (obj instanceof Array) {
_local2 = _local5.createElement(getType(obj));
if (name) {
_local2.attributes.n = name;
}
child.appendChild(_local2);
var _local4 = 0;
while (_local4 < obj.length) {
populateXML(_local2, obj[_local4]);
_local4++;
}
} else if (typeof(obj) == "object") {
_local2 = _local5.createElement(getType(obj));
if (name) {
_local2.attributes.n = name;
}
child.appendChild(_local2);
for (var _local4 in obj) {
populateXML(_local2, obj[_local4], _local4);
}
} else {
_local2 = _local5.createElement(getType(obj));
if (name) {
_local2.attributes.n = name;
}
if (getType(obj).length == 1) {
_local2.attributes.v = obj;
}
child.appendChild(_local2);
}
}
static function getValue(type, stringval) {
switch (type.toUpperCase()) {
case "O" :
return(new Object());
case "A" :
return(new Array());
case "N" :
return(Number(stringval));
case "S" :
return(String(stringval));
case "TRUE" :
return(true);
case "FALSE" :
return(false);
}
return(null);
}
static function getType(obj) {
switch (((obj instanceof Array) ? "array" : (typeof(obj)))) {
case "array" :
return("A");
case "object" :
return("O");
case "string" :
return("S");
case "number" :
return("N");
case "boolean" :
return(((obj === true) ? "TRUE" : "FALSE"));
}
return("NULL");
}
}
Symbol 1239 MovieClip [__Packages.com.newgrounds.encoders.LZW2] Frame 0
class com.newgrounds.encoders.LZW2
{
static var comp_dict, pos, result, buffer, nbChar, splitStr, len, local, interval;
function LZW2 () {
}
static function doCompressorConfig() {
comp_dict = [];
var _local1 = 0;
while (_local1 < 256) {
comp_dict[String.fromCharCode(_local1)] = _local1;
_local1++;
}
comp_dict["<"] = 256;
comp_dict[">"] = 257;
comp_dict["&"] = 258;
comp_dict["\""] = 259;
comp_dict["'"] = 260;
pos = 0;
result = "";
buffer = "";
nbChar = 256 + skipnum;
}
static function compress(string, callback, callback_params) {
doCompressorConfig();
if (busy) {
trace("[LZW COMPRESSOR] :: Compression can not begin until previous compression or decompression is complete!");
return(undefined);
}
splitStr = string.split("");
string = "";
len = splitStr.length;
local = {delay:30, callback:callback, callback_params:callback_params, compress_chunk:function () {
com.newgrounds.encoders.LZW2.compress_chunk();
}, busy:false, complete:false};
interval = setInterval(local, "compress_chunk", 5);
}
static function getProgress() {
return(Math.round((pos / len) * 100));
}
static function compress_chunk() {
if (local.delay > 0) {
local.delay--;
} else if (!local.busy) {
local.busy = true;
var _local1 = 0;
while (_local1 < max_chunk_length) {
encode_next();
if (local.complete) {
break;
}
_local1++;
}
local.busy = false;
}
if (local.complete) {
trace((((((((("LZW2 complete " + nbChar) + " ") + comp_dict.length) + " ") + len) + " ") + pos) + " ") + skipnum);
clearInterval(interval);
local.callback(result, local.callback_params);
result = "";
buffer = "";
}
}
static function encode_next() {
if (pos <= len) {
var _local1 = splitStr[pos];
if (!(comp_dict[buffer + _local1] === undefined)) {
buffer = buffer + _local1;
} else {
result = result + String.fromCharCode(comp_dict[buffer]);
comp_dict[buffer + _local1] = nbChar;
nbChar++;
buffer = _local1;
}
pos++;
} else {
local.complete = true;
return(undefined);
}
}
static var comp_config = false;
static var skipnum = 5;
static var busy = false;
static var max_chunk_length = 12000;
}
Symbol 1240 MovieClip [__Packages.com.newgrounds.encoders.LZW] Frame 0
class com.newgrounds.encoders.LZW
{
function LZW () {
}
static function setXMLSafe(x) {
xmlsafe = x;
}
static function compress(str, escape_chars) {
var _local2 = new Array();
var _local11 = (xmlsafe ? 5 : 0);
var _local5 = 0;
while (_local5 < 256) {
_local2[String.fromCharCode(_local5)] = _local5;
_local5++;
}
if (xmlsafe) {
_local2["<"] = 256;
_local2[">"] = 257;
_local2["&"] = 258;
_local2["\""] = 259;
_local2["'"] = 260;
}
var _local7 = "";
var _local8 = str.split("");
var _local9 = _local8.length;
var _local6 = 256 + _local11;
var _local1 = "";
var _local4;
_local5 = 0;
while (_local5 <= _local9) {
var _local3 = _local8[_local5];
if (!(_local2[_local1 + _local3] === undefined)) {
_local1 = _local1 + _local3;
} else {
_local4 = String.fromCharCode(_local2[_local1]);
if (escape_chars and (((_local2[_local1] < 33) or (_local2[_local1] > 126)) or (_local4 == "%"))) {
_local4 = escape(_local4);
}
_local7 = _local7 + _local4;
_local2[_local1 + _local3] = _local6;
_local6++;
_local1 = _local3;
}
_local5++;
}
return(_local7);
}
static function decompress(str) {
var _local4 = new Array();
var _local10 = (xmlsafe ? 5 : 0);
var _local6 = 0;
while (_local6 < 256) {
var _local9 = String.fromCharCode(_local6);
_local4[_local6] = _local9;
_local6++;
}
if (xmlsafe) {
_local4[256] = "<";
_local4[257] = ">";
_local4[258] = "&";
_local4[259] = "\"";
_local4[260] = "'";
}
var _local11 = str;
var _local13 = _local11.split("");
var _local12 = _local13.length;
var _local7 = 256 + _local10;
var _local1 = "";
var _local2 = "";
var _local8 = "";
_local6 = 0;
while (_local6 < _local12) {
var _local5 = _local11.charCodeAt(_local6);
var _local3 = _local4[_local5];
if (_local1 == "") {
_local1 = _local3;
_local8 = _local8 + _local3;
} else if (_local5 <= (255 + _local10)) {
_local8 = _local8 + _local3;
_local2 = _local1 + _local3;
_local4[_local7] = _local2;
_local7++;
_local1 = _local3;
} else {
_local2 = _local4[_local5];
if (_local2 == undefined) {
_local2 = _local1 + _local1.slice(0, 1);
}
_local8 = _local8 + _local2;
_local4[_local7] = _local1 + _local2.slice(0, 1);
_local7++;
_local1 = _local2;
}
_local6++;
}
return(_local8);
}
static function compress_fp6(str) {
var _local3 = new Array();
var _local10 = (xmlsafe ? 5 : 0);
var _local4 = 0;
while (_local4 < 256) {
_local3[String(_local4)] = _local4;
_local4++;
}
if (xmlsafe) {
var _local14 = String(new String("<").charCodeAt(0));
var _local11 = String(new String(">").charCodeAt(0));
var _local13 = String(new String("&").charCodeAt(0));
var _local15 = String(new String("\"").charCodeAt(0));
var _local12 = String(new String("'").charCodeAt(0));
_local3[_local14] = 256;
_local3[_local11] = 257;
_local3[_local13] = 258;
_local3[_local15] = 259;
_local3[_local12] = 260;
}
var _local7 = "";
var _local16 = str;
var _local8 = _local16.split("");
var _local9 = _local8.length;
var _local6 = 256 + _local10;
var _local1 = new Array();
_local4 = 0;
while (_local4 <= _local9) {
var _local2 = _local8[_local4];
if (_local1.length == 0) {
var _local5 = String(_local2.charCodeAt(0));
} else {
var _local5 = (_local1.join("-") + "-") + String(_local2.charCodeAt(0));
}
if (!(_local3[_local5] === undefined)) {
_local1.push(_local2.charCodeAt(0));
} else {
_local7 = _local7 + String.fromCharCode(_local3[_local1.join("-")]);
_local3[_local5] = _local6;
_local6++;
_local1 = new Array();
_local1.push(_local2.charCodeAt(0));
}
_local4++;
}
return(_local7);
}
static var xmlsafe = false;
}
Symbol 1242 MovieClip [__Packages.com.newgrounds.Medal] Frame 0
class com.newgrounds.Medal
{
var _medal_id, _medal_name, _medal_value, _medal_difficulty;
function Medal (id, name, value, difficulty, unlocked, _icon_url) {
if ((((id == undefined) || (name == undefined)) || (value == undefined)) || (difficulty == undefined)) {
com.newgrounds.API.fatalError("Medal instances require an id, name, value and difficulty");
}
_medal_id = id;
_medal_name = name;
_medal_value = value;
_medal_difficulty = difficulty;
if (unlocked) {
_medal_unlocked = true;
}
if (_icon_url) {
this._icon_url = _icon_url;
}
}
function get difficulty() {
return(difficulty_names[_medal_difficulty]);
}
function get difficultyId() {
return(_medal_difficulty);
}
function get icon_url() {
return(_icon_url);
}
function get id() {
return(_medal_id);
}
function get name() {
return(_medal_name);
}
function get unlocked() {
return(_medal_unlocked);
}
function get value() {
return(_medal_value);
}
function isUnlocked() {
return(_medal_unlocked);
}
function unlock() {
if (!isUnlocked()) {
com.newgrounds.API.unlockMedal(this);
}
}
function setUnlocked(u) {
_medal_unlocked = u;
}
function attachIcon(target, depth) {
if (!depth) {
depth = target.getNextHighestDepth();
}
var _local3 = target.createEmptyMovieClip("Asset_Medal_Icon_" + getID(), depth);
if (_icon_url) {
_local3.loadMovie(_icon_url);
} else {
var _local4 = flash.display.BitmapData.loadBitmap("Asset_default_medal_icon_" + getDifficulty(), depth);
_local3.attachBitmap(_local4, depth, true);
}
}
function getID() {
return(_medal_id);
}
function getName() {
return(_medal_name);
}
function getValue() {
return(_medal_value);
}
function getDifficulty(as_string) {
if (as_string) {
return(difficulty_names[_medal_difficulty]);
}
return(_medal_difficulty);
}
var _medal_unlocked = false;
var _icon_loaded = false;
var _icon_width = 50;
var _icon_height = 50;
var _icon_url = null;
static var difficulty_names = new Array(null, "Easy", "Moderate", "Challenging", "Difficult", "Brutal");
}
Symbol 1243 MovieClip [__Packages.com.newgrounds.ScoreBoard] Frame 0
class com.newgrounds.ScoreBoard
{
var _name, _id, _scores;
function ScoreBoard (id, name, tag) {
_name = name;
_id = id;
if (!(tag === undefined)) {
_tag = tag;
}
}
function exists() {
return(Number(_id) > 0);
}
function get id() {
return(_id);
}
function get name() {
return(_name);
}
function get period() {
return(_period);
}
function get tag() {
return(_tag);
}
function get page() {
return(_page);
}
function get num_results() {
return(_num_results);
}
function get scores() {
return(_scores);
}
function postScore(value, tag) {
if (!(tag === undefined)) {
_tag = tag;
}
com.newgrounds.API.postScore(_name, value, _tag);
}
function loadScores(period, page, num_results, tag) {
if (period) {
_period = period;
}
if (page) {
_page = page;
}
if (num_results) {
_num_results = num_results;
}
_scores = [];
com.newgrounds.API.loadScores(_name, _period, tag);
}
function setScores(scores, period, page, num_results) {
if (period) {
_period = period;
}
if (page) {
_page = page;
}
if (num_results) {
_num_results = num_results;
}
_scores = [];
var _local2 = 0;
while (_local2 < scores.length) {
var _local4 = ((_num_results * (_page - 1)) + 1) + _local2;
_scores.push(new com.newgrounds.Score(this, _local4, scores[_local2].username, scores[_local2].value, scores[_local2].numeric_value));
_local2++;
}
}
var _period = "Today";
var _num_results = 10;
var _page = 1;
var _tag = "";
}
Symbol 1244 MovieClip [__Packages.com.newgrounds.Score] Frame 0
class com.newgrounds.Score
{
var _board, _position, _username, _value, _numeric_value;
function Score (board, position, username, value, numeric_value) {
_board = board;
_position = position;
_username = username;
_value = value;
_numeric_value = numeric_value;
}
function get board() {
return(_board);
}
function get position() {
return(_position);
}
function get username() {
return(_username);
}
function get value() {
return(_value);
}
function get numeric_value() {
return(_numeric_value);
}
static function fromTime(time) {
var _local1 = time.split(":");
var _local2 = Math.round(Number(_local1.pop()) * 1000);
if (_local1.length > 0) {
_local2 = _local2 + (Number(_local1.pop()) * 60);
}
if (_local1.length > 0) {
_local2 = _local2 + (Number(_local1.pop()) * 3600);
}
return(_local2);
}
static function fromDistance(distance) {
var _local1 = distance.indexOf("'");
var _local5 = distance.indexOf("\"", _local1);
var _local3 = Number(distance.substr(0, _local1));
var _local4 = Number(distance.substring(_local1 + 1, _local5));
return(Math.round((_local3 * 12) + _local4));
}
}
Symbol 1245 MovieClip [__Packages.com.newgrounds.encoders.RC4] Frame 0
class com.newgrounds.encoders.RC4
{
function RC4 () {
}
static function encrypt(src, key) {
var _local3 = strToChars(src);
var _local1 = strToChars(key);
var _local2 = calculate(_local3, _local1);
return(charsToHex(_local2));
}
static function encryptbin(src, key) {
var _local3 = strToChars(src);
var _local1 = strToChars(key);
var _local2 = calculate(_local3, _local1);
return(_local2);
}
static function decrypt(src, key) {
var _local3 = hexToChars(src);
var _local1 = strToChars(key);
var _local2 = calculate(_local3, _local1);
return(charsToStr(_local2));
}
static function initialize(pwd) {
var _local2 = 0;
var _local3;
var _local4 = pwd.length;
var _local1 = 0;
while (_local1 <= 255) {
mykey[_local1] = pwd[_local1 % _local4];
sbox[_local1] = _local1;
_local1++;
}
_local1 = 0;
while (_local1 <= 255) {
_local2 = ((_local2 + sbox[_local1]) + mykey[_local1]) % 256;
_local3 = sbox[_local1];
sbox[_local1] = sbox[_local2];
sbox[_local2] = _local3;
_local1++;
}
}
static function calculate(plaintxt, psw) {
initialize(psw);
var _local1 = 0;
var _local2 = 0;
var _local9 = new Array();
var _local7;
var _local5;
var _local6;
var _local3 = 0;
while (_local3 < plaintxt.length) {
_local1 = (_local1 + 1) % 256;
_local2 = (_local2 + sbox[_local1]) % 256;
_local5 = sbox[_local1];
sbox[_local1] = sbox[_local2];
sbox[_local2] = _local5;
var _local4 = (sbox[_local1] + sbox[_local2]) % 256;
_local7 = sbox[_local4];
_local6 = plaintxt[_local3] ^ _local7;
_local9.push(_local6);
_local3++;
}
return(_local9);
}
static function charsToHex(chars) {
var _local4 = new String("");
var _local3 = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f");
var _local1 = 0;
while (_local1 < chars.length) {
_local4 = _local4 + (_local3[chars[_local1] >> 4] + _local3[chars[_local1] & 15]);
_local1++;
}
return(_local4);
}
static function hexToChars(hex) {
var _local3 = new Array();
var _local1 = ((hex.substr(0, 2) == "0x") ? 2 : 0);
while (_local1 < hex.length) {
_local3.push(parseInt(hex.substr(_local1, 2), 16));
_local1 = _local1 + 2;
}
return(_local3);
}
static function charsToStr(chars) {
var _local3 = new String("");
var _local1 = 0;
while (_local1 < chars.length) {
_local3 = _local3 + String.fromCharCode(chars[_local1]);
_local1++;
}
return(_local3);
}
static function strToChars(str) {
var _local3 = new Array();
var _local1 = 0;
while (_local1 < str.length) {
_local3.push(str.charCodeAt(_local1));
_local1++;
}
return(_local3);
}
static var sbox = new Array(255);
static var mykey = new Array(255);
}
Symbol 1246 MovieClip [__Packages.com.newgrounds.encoders.JSON] Frame 0
class com.newgrounds.encoders.JSON
{
static var start, cache, interval;
function JSON () {
}
static function encode(arg, noquotes) {
var _local3;
var _local2;
var _local6;
var _local1 = "";
var _local4;
if (arg.isSServerVar()) {
var _local8 = "sservervariable";
} else {
var _local8 = typeof(arg);
}
switch (_local8) {
case "sservervariable" :
return("?" + arg.getEncodedValue());
case "object" :
if (arg) {
if (arg instanceof Array) {
_local2 = 0;
while (_local2 < arg.length) {
_local4 = encode(arg[_local2]);
if (_local1) {
_local1 = _local1 + ",";
}
_local1 = _local1 + _local4;
_local2++;
}
return(("[" + _local1) + "]");
}
if (typeof(arg.toString) != "undefined") {
for (_local2 in arg) {
_local4 = arg[_local2];
if ((typeof(_local4) != "undefined") && (typeof(_local4) != "function")) {
_local4 = encode(_local4);
if (_local1) {
_local1 = _local1 + ",";
}
_local1 = _local1 + ((encode(_local2) + ":") + _local4);
}
}
return(("{" + _local1) + "}");
}
}
return("null");
case "number" :
return((isFinite(arg) ? (String(arg)) : "null"));
case "string" :
_local6 = arg.length;
if (noquotes) {
var _local7 = "";
} else {
var _local7 = "\"";
}
_local1 = _local7;
_local2 = 0;
while (_local2 < _local6) {
_local3 = arg.charAt(_local2);
if (_local3 >= " ") {
if ((_local3 == "\\") || (_local3 == "\"")) {
_local1 = _local1 + "\\";
}
_local1 = _local1 + _local3;
} else {
switch (_local3) {
case "\b" :
_local1 = _local1 + "\\b";
break;
case "\f" :
_local1 = _local1 + "\\f";
break;
case newline :
_local1 = _local1 + "\\n";
break;
case "\r" :
_local1 = _local1 + "\\r";
break;
case "\t" :
_local1 = _local1 + "\\t";
break;
default :
_local3 = _local3.charCodeAt();
_local1 = _local1 + (("\\u00" + Math.floor(_local3 / 16).toString(16)) + (_local3 % 16).toString(16));
}
}
_local2 = _local2 + 1;
}
return(_local1 + _local7);
case "boolean" :
return(String(arg));
}
return("null");
}
static function background_encode(arg, callback) {
if (busy) {
trace("[Newgrounds Encoder] :: Cannot encode a new file until the previous file is completed");
return(false);
}
if (!callback) {
trace("[Newgrounds Encoder] :: Missing a callback function, skipping encode");
return(false);
}
busy = true;
var _local2 = new Date();
start = _local2.getTime();
cache = {busy:false, complete:false, arg:arg, target:arg, parents:[], encoded:"", callback:callback, encode_chunk:function () {
com.newgrounds.encoders.JSON.encode_chunk();
}};
if (getType(arg) == "object") {
cache.encoded = "{";
} else if (getType(arg) == "array") {
cache.encoded = "[";
}
interval = setInterval(cache, "encode_chunk", 25);
return(true);
}
static function background_decode(arg, callback) {
if (busy) {
trace("[Newgrounds Encoder] :: Cannot decode a new file until the previous file is completed");
return(false);
}
if (!callback) {
trace("[Newgrounds Encoder] :: Missing a callback function, skipping decode");
return(false);
}
busy = true;
var _local1 = new Date();
start = _local1.getTime();
cache = {busy:false, callback:callback, complete:false, arg:arg, pos:0, parents:["root"], target:null, scratch:"", decode_chunk:function () {
com.newgrounds.encoders.JSON.decode_chunk();
}};
interval = setInterval(cache, "decode_chunk", 25);
return(true);
}
static function decode(text) {
var at = 0;
var ch = " ";
var _value;
var _error = function (m) {
throw {name:"JSONError", message:m, at:at - 1, text:text};
};
var _next = function () {
ch = text.charAt(at);
at = at + 1;
return(ch);
};
var _white = function () {
while (ch) {
if (ch <= " ") {
_next();
} else if (ch == "/") {
switch (_next()) {
case "/" :
while ((_next() && (ch != newline)) && (ch != "\r")) {
}
break;
case "*" :
_next();
for(;;){
if (ch) {
if (ch == "*") {
if (_next() == "/") {
_next();
// unexpected jump
}
} else {
_next();
}
} else {
_error("Unterminated comment");
}
};
break;
default :
_error("Syntax error");
}
} else {
return;
}
}
};
var _string = function () {
var _local4;
var _local1 = "";
var _local3;
var _local2;
var _local5 = false;
if (ch == "\"") {
while (_next()) {
if (ch == "\"") {
_next();
return(_local1);
}
if (ch == "\\") {
switch (_next()) {
case "b" :
_local1 = _local1 + "\b";
break;
case "f" :
_local1 = _local1 + "\f";
break;
case "n" :
_local1 = _local1 + newline;
break;
case "r" :
_local1 = _local1 + "\r";
break;
case "t" :
_local1 = _local1 + "\t";
break;
case "u" :
_local2 = 0;
_local4 = 0;
while (_local4 < 4) {
_local3 = parseInt(_next(), 16);
if (!isFinite(_local3)) {
_local5 = true;
break;
}
_local2 = (_local2 * 16) + _local3;
_local4 = _local4 + 1;
}
if (_local5) {
_local5 = false;
break;
}
_local1 = _local1 + String.fromCharCode(_local2);
break;
default :
_local1 = _local1 + ch;
}
} else {
_local1 = _local1 + ch;
}
}
}
_error("Bad string");
};
var _array = function () {
var _local1 = [];
if (ch == "[") {
_next();
_white();
if (ch == "]") {
_next();
return(_local1);
}
while (ch) {
_local1.push(_value());
_white();
if (ch == "]") {
_next();
return(_local1);
}
if (ch != ",") {
break;
}
_next();
_white();
}
}
_error("Bad array");
};
var _object = function () {
var _local2;
var _local1 = {};
if (ch == "{") {
_next();
_white();
if (ch == "}") {
_next();
return(_local1);
}
while (ch) {
_local2 = _string();
_white();
if (ch != ":") {
break;
}
_next();
_local1[_local2] = _value();
_white();
if (ch == "}") {
_next();
return(_local1);
}
if (ch != ",") {
break;
}
_next();
_white();
}
}
_error("Bad object");
};
var _number = function () {
var _local1 = "";
var _local2;
if (ch == "-") {
_local1 = "-";
_next();
}
while ((ch >= "0") && (ch <= "9")) {
_local1 = _local1 + ch;
_next();
}
if (ch == ".") {
_local1 = _local1 + ".";
while ((_next() && (ch >= "0")) && (ch <= "9")) {
_local1 = _local1 + ch;
}
}
_local2 = 1 * _local1;
if (!isFinite(_local2)) {
_error("Bad number");
} else {
return(_local2);
}
};
var _word = function () {
switch (ch) {
case "t" :
if (((_next() == "r") && (_next() == "u")) && (_next() == "e")) {
_next();
return(true);
}
break;
case "f" :
if ((((_next() == "a") && (_next() == "l")) && (_next() == "s")) && (_next() == "e")) {
_next();
return(false);
}
break;
case "n" :
if (!(((_next() == "u") && (_next() == "l")) && (_next() == "l"))) {
break;
}
_next();
return(null);
}
_error("Syntax error");
};
_value = function () {
_white();
switch (ch) {
case "{" :
return(_object());
case "[" :
return(_array());
case "\"" :
return(_string());
case "-" :
return(_number());
}
return((((ch >= "0") && (ch <= "9")) ? (_number()) : (_word())));
};
return(_value());
}
static function getType(v) {
if (v instanceof Array) {
return("array");
}
return(typeof(v));
}
static function decode_chunk() {
if ((!cache.busy) && (!cache.complete)) {
cache.busy = true;
var _local1 = 0;
while (_local1 < decode_chunks) {
chunk_decoder();
if (cache.complete) {
break;
}
_local1++;
}
trace(Math.round((cache.pos / cache.arg.length) * 100) + "% decoded");
cache.busy = false;
}
if (cache.complete) {
var _local2 = new Date();
busy = false;
clearInterval(interval);
cache.callback(cache.root, _local2.getTime() - start);
cache.arg = "";
}
}
static function encode_chunk() {
if ((!cache.busy) && (!cache.complete)) {
cache.busy = true;
var _local1 = 0;
while (_local1 < encode_chunks) {
chunk_encoder();
if (cache.complete) {
break;
}
_local1++;
}
cache.busy = false;
}
if (cache.complete) {
var _local3 = new Date();
var _local2 = _local3.getTime();
busy = false;
clearInterval(interval);
cache.callback(cache.encoded, _local2 - start);
cache.encoded = "";
}
}
static function chunk_decoder() {
function _object() {
var _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos);
if (!com.newgrounds.encoders.JSON.cache.mode) {
com.newgrounds.encoders.JSON.cache.mode = "object";
com.newgrounds.encoders.JSON.cache.pos++;
_local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos);
if (_local1 != "\"") {
throw "Malformed object key in encoded string. Keys must be wrapped in quotes (\"\")";
}
com.newgrounds.encoders.JSON.cache.scratch = "";
_setTargetValue({});
} else if (_local1 == ",") {
com.newgrounds.encoders.JSON.cache.pos++;
_local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos);
if (_local1 != "\"") {
throw "Malformed object key in encoded string. Keys must be wrapped in quotes (\"\")";
}
com.newgrounds.encoders.JSON.cache.scratch = "";
} else if (_local1 == "}") {
_useParent();
} else if (_local1 == "\"") {
com.newgrounds.encoders.JSON.cache.pos++;
_local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos);
if (_local1 != ":") {
throw "Malformed object notation. Object keys and values must be separated by colons(:)";
}
_addParent(com.newgrounds.encoders.JSON.cache.scratch);
com.newgrounds.encoders.JSON.cache.mode = null;
} else {
if (_local1 == "\\") {
com.newgrounds.encoders.JSON.cache.pos++;
_local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos);
}
com.newgrounds.encoders.JSON.cache.scratch = com.newgrounds.encoders.JSON.cache.scratch + _local1;
}
com.newgrounds.encoders.JSON.cache.pos++;
}
function _array() {
var _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos);
if (!com.newgrounds.encoders.JSON.cache.mode) {
com.newgrounds.encoders.JSON.cache.mode = "array";
com.newgrounds.encoders.JSON.cache.pos++;
_local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos);
_setTargetValue([]);
if (_local1 != "]") {
_addArrayKey();
} else {
_useParent();
}
return(undefined);
}
if (_local1 == ",") {
_addArrayKey();
} else if (_local1 == "]") {
_useParent();
}
com.newgrounds.encoders.JSON.cache.pos++;
}
function _boolean() {
var _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos);
if (_local1 == "t") {
_setTargetValue(true);
com.newgrounds.encoders.JSON.cache.pos = com.newgrounds.encoders.JSON.cache.pos + 3;
} else if (_local1 == "f") {
_setTargetValue(false);
com.newgrounds.encoders.JSON.cache.pos = com.newgrounds.encoders.JSON.cache.pos + 4;
} else {
throw "Bool values must be true or false";
}
_useParent();
}
function _null() {
var _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos);
if (_local1 == "n") {
_setTargetValue(null);
com.newgrounds.encoders.JSON.cache.pos = com.newgrounds.encoders.JSON.cache.pos + 2;
} else {
throw "Null values must be null";
}
_useParent();
}
function _string() {
var _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos);
if (!com.newgrounds.encoders.JSON.cache.mode) {
if (_local1 != "\"") {
throw "Strings must be wrapped in quotes (\"\")";
}
com.newgrounds.encoders.JSON.cache.scratch = "";
com.newgrounds.encoders.JSON.cache.mode = "string";
} else if (_local1 == "\"") {
_setTargetValue(com.newgrounds.encoders.JSON.cache.scratch);
_useParent();
} else {
if (_local1 == "\\") {
com.newgrounds.encoders.JSON.cache.pos++;
_local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos);
switch (_local1) {
case "n" :
_local1 = newline;
break;
case "r" :
_local1 = newline;
break;
case "t" :
_local1 = "\t";
break;
case "u" :
_local1 = "\\" + _local1;
}
}
com.newgrounds.encoders.JSON.cache.scratch = com.newgrounds.encoders.JSON.cache.scratch + _local1;
}
com.newgrounds.encoders.JSON.cache.pos++;
}
function _number() {
var _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos);
var _local2 = "01234567890.-";
if (!com.newgrounds.encoders.JSON.cache.mode) {
com.newgrounds.encoders.JSON.cache.mode = "number";
com.newgrounds.encoders.JSON.cache.scratch = "";
}
if (_local2.indexOf(_local1) < 0) {
_setTargetValue(Number(com.newgrounds.encoders.JSON.cache.scratch));
_useParent();
} else {
com.newgrounds.encoders.JSON.cache.scratch = com.newgrounds.encoders.JSON.cache.scratch + _local1;
com.newgrounds.encoders.JSON.cache.pos++;
}
}
function _setTargetValue(newval) {
var _local2 = _getParent().obj;
var _local1 = com.newgrounds.encoders.JSON.cache.parents[com.newgrounds.encoders.JSON.cache.parents.length - 1];
_local2[_local1] = newval;
}
function _useParent() {
com.newgrounds.encoders.JSON.cache.mode = com.newgrounds.encoders.JSON.getType(_getParent().obj);
com.newgrounds.encoders.JSON.cache.parents.pop();
}
function _getParent() {
var _local2 = com.newgrounds.encoders.JSON.cache;
var _local1 = 0;
while (_local1 < (com.newgrounds.encoders.JSON.cache.parents.length - 1)) {
_local2 = _local2[com.newgrounds.encoders.JSON.cache.parents[_local1]];
_local1++;
}
return({obj:_local2, name:com.newgrounds.encoders.JSON.cache.parents[_local1]});
}
function _getCurrent() {
var _local2 = com.newgrounds.encoders.JSON.cache;
var _local1 = 0;
while (_local1 < com.newgrounds.encoders.JSON.cache.parents.length) {
_local2 = _local2[com.newgrounds.encoders.JSON.cache.parents[_local1]];
_local1++;
}
return({obj:_local2, name:com.newgrounds.encoders.JSON.cache.parents[_local1]});
}
function _addParent(child) {
com.newgrounds.encoders.JSON.cache.parents.push(child);
}
function _addArrayKey() {
var _local1 = _getCurrent().obj.length;
com.newgrounds.encoders.JSON.cache.parents.push(_local1);
com.newgrounds.encoders.JSON.cache.mode = null;
}
if (cache.pos >= cache.arg.length) {
cache.complete = true;
return(undefined);
}
if (cache.mode) {
eval ("_" + cache.mode)();
} else {
var char = cache.arg.charAt(cache.pos);
switch (char) {
case "{" :
_object();
return;
case "[" :
_array();
return;
case "\"" :
_string();
return;
case "n" :
_null();
return;
case "t" :
_boolean();
return;
case "f" :
_boolean();
return;
default :
_number();
}
}
}
static function chunk_encoder() {
if (cache.complete) {
return(undefined);
}
var _local2 = getType(cache.target);
switch (_local2) {
case "number" :
cache.encoded = cache.encoded + cache.target;
getParent();
break;
case "string" :
cache.encoded = cache.encoded + (("\"" + cache.target.split("\"").join("\\\"")) + "\"");
getParent();
break;
case "boolean" :
cache.encoded = cache.encoded + ((cache.target == true) ? "true" : "false");
getParent();
break;
case "null" :
cache.encoded = cache.encoded + "null";
getParent();
break;
case "array" :
if (cache.target.length < 1) {
cache.encoded = cache.encoded + "]";
getParent();
} else {
cache.parents.push(cache.target);
cache.target = cache.target[0];
if (getType(cache.target) == "array") {
cache.encoded = cache.encoded + "[";
} else if (getType(cache.target) == "object") {
cache.encoded = cache.encoded + "{";
}
}
break;
case "object" :
for (var _local1 in cache.target) {
break;
}
if (_local1 === undefined) {
cache.encoded = cache.encoded + "}";
getParent();
} else {
cache.parents.push(cache.target);
cache.target = cache.target[_local1];
cache.encoded = cache.encoded + (("\"" + _local1.split("\"").join("\\\"")) + "\":");
if (getType(cache.target) == "array") {
cache.encoded = cache.encoded + "[";
} else if (getType(cache.target) == "object") {
cache.encoded = cache.encoded + "{";
}
}
break;
default :
cache.encoded = cache.encoded + "null";
getParent();
}
}
static function getParent() {
if (cache.parents.length > 0) {
var _local1 = cache.parents.pop();
if (getType(_local1) == "array") {
_local1.shift();
} else {
for (var _local3 in _local1) {
delete _local1[_local3];
break;
}
}
if ((getType(_local1) == "object") or (getType(_local1) == "array")) {
for (var _local2 in _local1) {
break;
}
if (!(_local2 === undefined)) {
cache.encoded = cache.encoded + ",";
}
}
cache.target = _local1;
} else {
cache.complete = true;
}
}
static var encode_chunks = 20000;
static var decode_chunks = 20000;
static var busy = false;
}
Symbol 1248 MovieClip [__Packages.com.newgrounds.encoders.MD5] Frame 0
class com.newgrounds.encoders.MD5
{
function MD5 () {
}
static function calculate(src) {
return(hex_md5(src));
}
static function hex_md5(src) {
return(binl2hex(core_md5(str2binl(src), src.length * 8)));
}
static function core_md5(x, len) {
x[len >> 5] = x[len >> 5] | (128 << (len % 32));
x[(((len + 64) >>> 9) << 4) + 14] = len;
var _local4 = 1732584193 /* 0x67452301 */;
var _local3 = -271733879;
var _local2 = -1732584194;
var _local1 = 271733878 /* 0x10325476 */;
var _local5 = 0;
while (_local5 < x.length) {
var _local10 = _local4;
var _local9 = _local3;
var _local8 = _local2;
var _local7 = _local1;
_local4 = md5_ff(_local4, _local3, _local2, _local1, x[_local5 + 0], 7, -680876936);
_local1 = md5_ff(_local1, _local4, _local3, _local2, x[_local5 + 1], 12, -389564586);
_local2 = md5_ff(_local2, _local1, _local4, _local3, x[_local5 + 2], 17, 606105819);
_local3 = md5_ff(_local3, _local2, _local1, _local4, x[_local5 + 3], 22, -1044525330);
_local4 = md5_ff(_local4, _local3, _local2, _local1, x[_local5 + 4], 7, -176418897);
_local1 = md5_ff(_local1, _local4, _local3, _local2, x[_local5 + 5], 12, 1200080426);
_local2 = md5_ff(_local2, _local1, _local4, _local3, x[_local5 + 6], 17, -1473231341);
_local3 = md5_ff(_local3, _local2, _local1, _local4, x[_local5 + 7], 22, -45705983);
_local4 = md5_ff(_local4, _local3, _local2, _local1, x[_local5 + 8], 7, 1770035416);
_local1 = md5_ff(_local1, _local4, _local3, _local2, x[_local5 + 9], 12, -1958414417);
_local2 = md5_ff(_local2, _local1, _local4, _local3, x[_local5 + 10], 17, -42063);
_local3 = md5_ff(_local3, _local2, _local1, _local4, x[_local5 + 11], 22, -1990404162);
_local4 = md5_ff(_local4, _local3, _local2, _local1, x[_local5 + 12], 7, 1804603682);
_local1 = md5_ff(_local1, _local4, _local3, _local2, x[_local5 + 13], 12, -40341101);
_local2 = md5_ff(_local2, _local1, _local4, _local3, x[_local5 + 14], 17, -1502002290);
_local3 = md5_ff(_local3, _local2, _local1, _local4, x[_local5 + 15], 22, 1236535329);
_local4 = md5_gg(_local4, _local3, _local2, _local1, x[_local5 + 1], 5, -165796510);
_local1 = md5_gg(_local1, _local4, _local3, _local2, x[_local5 + 6], 9, -1069501632);
_local2 = md5_gg(_local2, _local1, _local4, _local3, x[_local5 + 11], 14, 643717713);
_local3 = md5_gg(_local3, _local2, _local1, _local4, x[_local5 + 0], 20, -373897302);
_local4 = md5_gg(_local4, _local3, _local2, _local1, x[_local5 + 5], 5, -701558691);
_local1 = md5_gg(_local1, _local4, _local3, _local2, x[_local5 + 10], 9, 38016083);
_local2 = md5_gg(_local2, _local1, _local4, _local3, x[_local5 + 15], 14, -660478335);
_local3 = md5_gg(_local3, _local2, _local1, _local4, x[_local5 + 4], 20, -405537848);
_local4 = md5_gg(_local4, _local3, _local2, _local1, x[_local5 + 9], 5, 568446438);
_local1 = md5_gg(_local1, _local4, _local3, _local2, x[_local5 + 14], 9, -1019803690);
_local2 = md5_gg(_local2, _local1, _local4, _local3, x[_local5 + 3], 14, -187363961);
_local3 = md5_gg(_local3, _local2, _local1, _local4, x[_local5 + 8], 20, 1163531501);
_local4 = md5_gg(_local4, _local3, _local2, _local1, x[_local5 + 13], 5, -1444681467);
_local1 = md5_gg(_local1, _local4, _local3, _local2, x[_local5 + 2], 9, -51403784);
_local2 = md5_gg(_local2, _local1, _local4, _local3, x[_local5 + 7], 14, 1735328473);
_local3 = md5_gg(_local3, _local2, _local1, _local4, x[_local5 + 12], 20, -1926607734);
_local4 = md5_hh(_local4, _local3, _local2, _local1, x[_local5 + 5], 4, -378558);
_local1 = md5_hh(_local1, _local4, _local3, _local2, x[_local5 + 8], 11, -2022574463);
_local2 = md5_hh(_local2, _local1, _local4, _local3, x[_local5 + 11], 16, 1839030562);
_local3 = md5_hh(_local3, _local2, _local1, _local4, x[_local5 + 14], 23, -35309556);
_local4 = md5_hh(_local4, _local3, _local2, _local1, x[_local5 + 1], 4, -1530992060);
_local1 = md5_hh(_local1, _local4, _local3, _local2, x[_local5 + 4], 11, 1272893353);
_local2 = md5_hh(_local2, _local1, _local4, _local3, x[_local5 + 7], 16, -155497632);
_local3 = md5_hh(_local3, _local2, _local1, _local4, x[_local5 + 10], 23, -1094730640);
_local4 = md5_hh(_local4, _local3, _local2, _local1, x[_local5 + 13], 4, 681279174);
_local1 = md5_hh(_local1, _local4, _local3, _local2, x[_local5 + 0], 11, -358537222);
_local2 = md5_hh(_local2, _local1, _local4, _local3, x[_local5 + 3], 16, -722521979);
_local3 = md5_hh(_local3, _local2, _local1, _local4, x[_local5 + 6], 23, 76029189);
_local4 = md5_hh(_local4, _local3, _local2, _local1, x[_local5 + 9], 4, -640364487);
_local1 = md5_hh(_local1, _local4, _local3, _local2, x[_local5 + 12], 11, -421815835);
_local2 = md5_hh(_local2, _local1, _local4, _local3, x[_local5 + 15], 16, 530742520);
_local3 = md5_hh(_local3, _local2, _local1, _local4, x[_local5 + 2], 23, -995338651);
_local4 = md5_ii(_local4, _local3, _local2, _local1, x[_local5 + 0], 6, -198630844);
_local1 = md5_ii(_local1, _local4, _local3, _local2, x[_local5 + 7], 10, 1126891415);
_local2 = md5_ii(_local2, _local1, _local4, _local3, x[_local5 + 14], 15, -1416354905);
_local3 = md5_ii(_local3, _local2, _local1, _local4, x[_local5 + 5], 21, -57434055);
_local4 = md5_ii(_local4, _local3, _local2, _local1, x[_local5 + 12], 6, 1700485571);
_local1 = md5_ii(_local1, _local4, _local3, _local2, x[_local5 + 3], 10, -1894986606);
_local2 = md5_ii(_local2, _local1, _local4, _local3, x[_local5 + 10], 15, -1051523);
_local3 = md5_ii(_local3, _local2, _local1, _local4, x[_local5 + 1], 21, -2054922799);
_local4 = md5_ii(_local4, _local3, _local2, _local1, x[_local5 + 8], 6, 1873313359);
_local1 = md5_ii(_local1, _local4, _local3, _local2, x[_local5 + 15], 10, -30611744);
_local2 = md5_ii(_local2, _local1, _local4, _local3, x[_local5 + 6], 15, -1560198380);
_local3 = md5_ii(_local3, _local2, _local1, _local4, x[_local5 + 13], 21, 1309151649);
_local4 = md5_ii(_local4, _local3, _local2, _local1, x[_local5 + 4], 6, -145523070);
_local1 = md5_ii(_local1, _local4, _local3, _local2, x[_local5 + 11], 10, -1120210379);
_local2 = md5_ii(_local2, _local1, _local4, _local3, x[_local5 + 2], 15, 718787259);
_local3 = md5_ii(_local3, _local2, _local1, _local4, x[_local5 + 9], 21, -343485551);
_local4 = safe_add(_local4, _local10);
_local3 = safe_add(_local3, _local9);
_local2 = safe_add(_local2, _local8);
_local1 = safe_add(_local1, _local7);
_local5 = _local5 + 16;
}
return(new Array(_local4, _local3, _local2, _local1));
}
static function md5_cmn(q, a, b, x, s, t) {
return(safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b));
}
static function md5_ff(a, b, c, d, x, s, t) {
return(md5_cmn((b & c) | ((~b) & d), a, b, x, s, t));
}
static function md5_gg(a, b, c, d, x, s, t) {
return(md5_cmn((b & d) | (c & (~d)), a, b, x, s, t));
}
static function md5_hh(a, b, c, d, x, s, t) {
return(md5_cmn((b ^ c) ^ d, a, b, x, s, t));
}
static function md5_ii(a, b, c, d, x, s, t) {
return(md5_cmn(c ^ (b | (~d)), a, b, x, s, t));
}
static function bit_rol(num, cnt) {
return((num << cnt) | (num >>> (32 - cnt)));
}
static function safe_add(x, y) {
var _local1 = (x & 65535) + (y & 65535);
var _local2 = ((x >> 16) + (y >> 16)) + (_local1 >> 16);
return((_local2 << 16) | (_local1 & 65535));
}
static function str2binl(str) {
var _local3 = new Array();
var _local4 = 255;
var _local1 = 0;
while (_local1 < (str.length * 8)) {
_local3[_local1 >> 5] = _local3[_local1 >> 5] | ((str.charCodeAt(_local1 / 8) & _local4) << (_local1 % 32));
_local1 = _local1 + 8;
}
return(_local3);
}
static function binl2hex(binarray) {
var _local4 = new String("");
var _local3 = new String("0123456789abcdef");
var _local1 = 0;
while (_local1 < (binarray.length * 4)) {
_local4 = _local4 + (_local3.charAt((binarray[_local1 >> 2] >> (((_local1 % 4) * 8) + 4)) & 15) + _local3.charAt((binarray[_local1 >> 2] >> ((_local1 % 4) * 8)) & 15));
_local1++;
}
return(_local4);
}
}
Symbol 1309 Button
on (release) {
if (_root.isAcceptableDate()) {
_root.setTimeout(checkfps, 2000);
_root.gotoAndStop("agintro");
} else {
_root.gotoAndStop("notready");
}
}
on (keyPress "s") {
if (_url.indexOf("file://") > -1) {
_root.setTimeout(checkfps, 2000);
_root.gotoAndStop("menu");
}
}
Symbol 1350 MovieClip Frame 1
stop();
Symbol 1350 MovieClip Frame 21
gotoAndStop (1);
Symbol 1350 MovieClip Frame 31
gotoAndStop (1);
Symbol 1350 MovieClip Frame 32
gotoAndStop (1);
Symbol 1366 MovieClip Frame 1
stop();
this.onEnterFrame = function () {
gotoAndStop (1);
};
Symbol 1376 MovieClip Frame 1
stop();
this.onEnterFrame = function () {
gotoAndStop (1);
};
Symbol 1384 Button
on (release) {
txtconsole.text = "Cleared...";
}
Symbol 1385 Button
on (release, keyPress "`") {
_visible = (!_visible);
}
Symbol 1390 MovieClip Frame 1
_visible = false;
Symbol 1391 Button
on (release, keyPress "`") {
if (console._visible == true) {
trace("Hide console");
console._visible = false;
} else {
trace("Show console");
console._visible = true;
}
}
Symbol 1405 Button
on (keyPress "h") {
function inarray(array, val) {
var _local1 = 0;
var _local3 = array.length;
var _local2 = -1;
while (_local1 < _local3) {
if (array[_local1] == val) {
_local2 = _local1;
break;
}
_local1++;
}
return(_local2);
}
function td(c, h) {
if (h == true) {
return(("<th>" + c) + "</th>");
}
return(("<td>" + c) + "</td>");
}
trace("<h1>Units Table</h1>");
trace("<table>");
trace("<tr>");
trace(td("Name", true));
trace(td("Race", true));
trace(td("Speed", true));
trace(td("Armor", true));
trace(td("Recharge", true));
trace(td("Range", true));
trace(td("Price", true));
trace(td("Damage", true));
trace(td("Special", true));
trace(td("Type", true));
trace(td("Bonus", true));
trace("</tr>");
i = 0;
while (i < _root.arrSoldierStats.length) {
if (_root.arrSoldierStats[i][6] != 9) {
trace("<tr>");
trace(td(_root.UnitName(_root.arrSoldierStats[i][0]), true));
if (_root.arrSoldierStats[i][6] == "") {
trace(td("<i>All</i>"));
} else if (_root.arrSoldierStats[i][6] == 30) {
trace(td("The Undead"));
} else {
trace(td(_root.arrRacesDataArray[_root.arrSoldierStats[i][6]][2]));
}
trace(td(_root.arrSoldierStats[i][1]));
trace(td(_root.arrSoldierStats[i][2]));
trace(td(_root.arrSoldierStats[i][3]));
trace(td(_root.arrSoldierStats[i][4]));
trace(td(_root.arrSoldierStats[i][5]));
trace(td(_root.arrSoldierStats[i][7]));
trace(td(_root.arrSoldierStats[i][9] > 1));
trace(td(_root.arrSoldierStats[i][10]));
trace(td(_root.BonusText(i, false)));
trace("</tr>");
}
i++;
}
trace("</table>");
trace("<h1>Upgrades Table</h1>");
trace("<table>");
trace("<thead>");
trace("<tr>");
trace(td("Name", true));
trace(td("Price", true));
trace(td("Race", true));
trace(td("Type", true));
trace(td("Amount", true));
trace("</tr>");
trace("</thead>");
trace("<tbody>");
i = 0;
while (i < _root.arrUpgradeChoices.length) {
if (_root.arrUpgradeChoices[i][3] < 9) {
trace("<tr>");
trace(td(_root.arrUpgradeChoices[i][0], true));
trace(td(_root.arrUpgradeChoices[i][1]));
if (_root.arrUpgradeChoices[i][3] < 0) {
trace(td("<i>All</i>"));
} else {
trace(td(_root.arrRacesDataArray[_root.arrUpgradeChoices[i][3]][2]));
}
trace(td(_root.arrUpgradeChoices[i][5]));
if (_root.arrUpgradeChoices[i][6] <= 0) {
trace(td("N/A"));
} else {
trace(td(_root.arrUpgradeChoices[i][6] + "%"));
}
stru = "";
u = 0;
while (u < _root.arrSoldierStats.length) {
if (((inarray(_root.arrUpgradeChoices[i][7], u) > -1) && (_root.arrUpgradeChoices[i][4] == true)) || ((inarray(_root.arrUpgradeChoices[i][7], u) < 0) && (_root.arrUpgradeChoices[i][4] == false))) {
if (_root.arrSoldierStats[u][6] != 9) {
stru = stru + (_root.UnitName(_root.arrSoldierStats[u][0]) + ", ");
}
}
u++;
}
stru = stru.substr(0, stru.length - 2);
if (stru == "") {
stru = "<i>None</i>";
}
trace(td(stru));
trace("</tr>");
}
i++;
}
trace("</tbody>");
trace("</table>");
trace("<h1>Regions</h1>");
trace("<table>");
trace("<thead>");
trace("<tr>");
trace(td("Name", true));
trace(td("Owner", true));
trace(td("Siege", true));
trace(td("Units", true));
trace("</tr>");
trace("</thead>");
trace("<tbody>");
i = 0;
while (i < (_root.arrRegionData.length - 1)) {
trace("<tr>");
trace(td(_root.arrRegionData[i][0], true));
trace(td(_root.arrRacesDataArray[_root.arrRegionData[i][1]][2]));
trace(td(_root.arrRegionData[i][7]));
arrU = _root.arrRegionData[i][5].split(",");
stru = "";
u = 0;
while (u < arrU.length) {
stru = stru + (_root.UnitName(_root.arrSoldierStats[Number(arrU[u])][0]) + ", ");
u++;
}
stru = stru.substr(0, stru.length - 2);
trace(td(stru));
trace("</tr>");
i++;
}
trace("</tbody>");
trace("</table>");
}
on (release) {
_alpha = 0;
_root.gametype = 1;
_root.leftPlayerRace = _root.GetRaceData("Name", _root.MyRace);
_root.leftPlayerControl = "Player";
_root.rightPlayerControl = "Computer";
if (_root.blnSavedDataFound == true) {
gotoAndStop (4);
} else if (_root.arrTutorialsShown[1] == true) {
_alpha = 0;
gotoAndStop (3);
} else {
gotoAndStop (17);
}
}
on (rollOver) {
helptext = "Conquer the land by invading one region at a time. Earn money by killing the enemy's troops, then spend it on upgrading your army and adding units.\n\nNote: Your campaign will be automatically saved after each level.";
}
on (rollOut) {
helptext = "";
}
Symbol 1406 Button
on (release) {
_alpha = 0;
gotoAndStop (10);
}
on (rollOver) {
helptext = "Play a single battle or campaign against a friend on the same computer";
}
on (rollOut) {
helptext = "";
}
Symbol 1407 Button
on (rollOver) {
helptext = "Adjust settings to improve performance and your gaming experience";
}
on (rollOut) {
helptext = "";
}
on (release) {
gotoAndStop (5);
}
on (keyPress "c") {
if ((_url.indexOf("benoldinggames.co.uk") > -1) || (_url.indexOf("file://") > -1)) {
gotoAndStop (7);
}
}
on (keyPress "a") {
_root.gotoAndStop("allunits");
}
Symbol 1408 Button
on (rollOver) {
helptext = "Played enough Warlords for one day? Play some other great games.";
}
on (rollOut) {
helptext = "";
}
on (release) {
if (_root.andkonMode == true) {
getURL ("http://www.andkon.com/arcade/", "_blank");
} else {
_root.gotoSponsor("mainmenu");
}
}
Symbol 1409 Button
on (rollOver) {
helptext = "";
}
on (rollOut) {
helptext = "";
}
on (release) {
gotoAndStop (18);
}
Symbol 1416 Button
on (release) {
getURL ("http://www.benoldinggames.co.uk/iphone-ipad-games.html", "_blank");
}
on (rollOver) {
_root.menuTootip("Warlords iPhone/iPad/iPod", "Click to go and get \"Warlords: Call to Arms\" for your apple device. Featuring multiplayer, skirmish mode + more...");
}
on (rollOut) {
_root.menuTootipClear();
}
Symbol 1420 Button
on (rollOver) {
_root.menuTootip("Warlords: Call to Arms", "Play the original and most popular \"Warlords\" game (so far) by clicking here");
}
on (rollOut) {
_root.menuTootipClear();
}
on (release) {
getURL ("http://armorgames.com/play/1205/warlords", "_blank");
}
Instance of Symbol 1425 MovieClip in Symbol 1426 MovieClip Frame 1
onClipEvent (enterFrame) {
_x = (_parent._xmouse - ((_width / 2) * (_parent._xmouse / 350)));
_y = 0;
_visible = (_root.tooltiptitle != "");
}
Symbol 1428 Button
on (release) {
gotoAndStop (1);
}
Symbol 1429 Button
on (release) {
_root.mp_ready();
gotoAndStop (2);
}
Symbol 1430 Button
on (release) {
function soldierIsOK(num, side) {
blnOK = true;
if ((_root.arrSoldierStats[num][6] != "") && (_root.arrSoldierStats[rnd][6] != _root[side + "PlayerRaceNum"])) {
blnOK = false;
}
if (_root.arrSoldierStats[num][10] == "Magic Caster") {
blnOK = false;
}
if (_root.arrSoldierStats[num][10] == "Siege Unit") {
blnOK = false;
}
if (_root[("arr" + side) + "SoldierChoices"].indexOf(num) > -1) {
blnOK = false;
}
if (blnOK == true) {
trace((((((num + " ") + _root.arrSoldierStats[num][0]) + " - side: ") + side) + ", Type: ") + _root.arrSoldierStats[num][10]);
}
return(blnOK);
}
_root.castles = "";
_root.arrleftSoldierChoices = [0, 1, 2, 5];
_root.arrrightSoldierChoices = [0, 1, 2, 5];
addunits = 3;
ex = 0;
while (ex < addunits) {
i = 0;
while (i < 100) {
rnd = random(_root.arrSoldierStats.length);
if (soldierIsOK(rnd, "right")) {
break;
}
i++;
}
_root.arrrightSoldierChoices.push(rnd);
ex++;
}
ex = 0;
while (ex < addunits) {
i = 0;
while (i < 100) {
rnd = random(_root.arrSoldierStats.length);
if (soldierIsOK(rnd, "left")) {
break;
}
i++;
}
_root.arrleftSoldierChoices.push(rnd);
ex++;
}
_root.attackingregion = random(_root.arrRegionData.length - 1) + 1;
_root.difficultynum = 100;
_root.gotoAndStop("game");
}
Symbol 1435 Button
on (release) {
i--;
_root.MenuSound();
if (i < 0) {
i = arr.length - 1;
}
}
Symbol 1436 Button
on (release) {
i++;
_root.MenuSound();
if (i >= arr.length) {
i = 0;
}
}
Symbol 1437 MovieClip Frame 1
this.onEnterFrame = function () {
if (i == undefined) {
i = 0;
}
_root[variable] = arr[i];
strText = arr[i];
};
Symbol 1438 Button
on (release) {
i--;
_root.MenuSound();
if (_root.demonsunlocked == true) {
if (i < 0) {
i = _root.arrRacesDataArray.length - 2;
}
} else if (i < 0) {
i = _root.arrRacesDataArray.length - 3;
}
}
Symbol 1439 Button
on (release) {
i++;
_root.MenuSound();
if (_root.demonsunlocked == true) {
if (i >= (_root.arrRacesDataArray.length - 1)) {
i = 0;
}
} else if (i >= (_root.arrRacesDataArray.length - 2)) {
i = 0;
}
}
Symbol 1441 MovieClip Frame 1
i = random(3);
this.onEnterFrame = function () {
strText = _root.GetRaceData("Full Name", i);
_root.SetRace(side, i);
};
Symbol 1444 Button
on (release) {
if (_root.gametype == 1) {
_root.so.data.race = _root.MyRace;
_root.so.data.difficultylevel = _root.difficultylevel;
_root.arrAttacks = [];
_root.so.data.arrAttacks = _root.arrAttacks.slice(0);
_root.message((("Race: " + _root.MyRace) + ", difficulty: ") + _root.difficultylevel);
_root.SubmitBOGStat("Chosen: " + _root.arrRacesDataArray[_root.MyRace][2], 1, 0);
_root.SubmitBOGStat("Difficulty: " + _root.difficultylevel, 1, 0);
}
_root.levelnum = 0;
if (_root.gametype == 4) {
_root.arrMyAppliedUpgrades = [];
_root.arrMySoldierChoices = _root.arrRacesDataArray[_root.MyRace][4].slice();
_root.MyMoney = _root.startmoney;
} else {
_root[_root.shop_player + "race"] = _root.MyRace;
trace((_root.shop_player + "race: ") + _root[_root.shop_player + "race"]);
_root[("arr" + _root.shop_player) + "AppliedUpgrades"] = [];
_root[("arr" + _root.shop_player) + "SoldierChoices"] = _root.arrRacesDataArray[_root.MyRace][4].slice();
_root[_root.shop_player + "money"] = _root.startmoney;
}
if (_root.gametype == 4) {
_parent.gotoAndStop(12);
} else if ((_root.gametype == 1) || (_root.shop_player == "right")) {
_root.shop_player = "left";
if (_root.gametype == 3) {
i = 1;
while (i <= 28) {
if (_root.arrRegionData[i - 1][8] == true) {
_root.SetRegionOwner(i, _root.leftrace);
} else {
_root.SetRegionOwner(i, _root.rightrace);
}
i++;
}
}
if ((_root.gametype == 1) && (_root.cheatcode == "lastlevel")) {
i = 1;
while (i <= 28) {
if (i < 28) {
_root.SetRegionOwner(i, _root.leftrace);
} else if (_root.leftrace != 0) {
_root.SetRegionOwner(i, 0);
} else {
_root.SetRegionOwner(i, 1);
}
i++;
}
} else if ((_root.gametype == 1) && (_root.leftrace == 9)) {
_root.SetRegionOwner(21, _root.leftrace);
_root.SetRegionOwner(28, _root.leftrace);
_root.SetRegionOwner(23, _root.leftrace);
_root.SetRegionOwner(22, _root.leftrace);
}
if (Math.random() < 0.5) {
_root.turnrace = _root.leftrace;
} else {
_root.turnrace = _root.rightrace;
}
if (_root.gametype == 1) {
_root.turnrace = _root.leftrace;
}
stopAllSounds();
if (_root.gametype == 1) {
_root.gotoAndStop("story");
} else {
_root.gotoAndStop("shop");
}
} else {
_root.shop_player = "right";
_parent.txtTitle = "Player 2 (right)\nChoose your race";
_parent.chooser.i++;
if (_parent.chooser.i >= (_root.arrRacesDataArray.length - 1)) {
_parent.chooser.i = 0;
}
}
}
Symbol 1446 Button
on (release) {
_root.getURL("http://armorgames.com/play/6999/warlords-2-rise-of-demons", "_blank");
}
Symbol 1451 Button
on (release, keyPress "a") {
i--;
if (i < 0) {
i = _root.arrRacesDataArray.length - 1;
}
if ((i == _root.leftrace) && (_root.shop_player != "left")) {
i--;
trace("Same as left, moving back 1");
if (i < 0) {
i = _root.arrRacesDataArray.length - 1;
}
}
}
Symbol 1452 Button
on (release, keyPress "d") {
i++;
if (i > (_root.arrRacesDataArray.length - 1)) {
i = 0;
}
if ((i == _root.leftrace) && (_root.shop_player != "left")) {
i++;
trace("Same as left, movign on 1");
if (i >= (_root.arrRacesDataArray.length - 1)) {
i = 0;
}
}
}
Symbol 1453 MovieClip Frame 1
i = _root.MyRace;
var colorful1 = new Color(_parent.man1);
var colorful2 = new Color(_parent.man2);
var colorful3 = new Color(_parent.man3);
this.onEnterFrame = function () {
if (_root.notdopplerMode == true) {
if (i == 7) {
i = 4;
}
if (i == 5) {
i = 8;
}
}
_root.MyRace = i;
if (prev != _root.MyRace) {
_root.MenuSound();
trace("Completed: " + _root.completedcount);
prev = _root.MyRace;
if (_root.gametype != 4) {
_root.SetRace("left", _root.MyRace);
} else if (_root.MP_Player == 0) {
_root.SetRace("left", _root.MyRace);
} else {
_root.SetRace("right", _root.MyRace);
}
if (((((i <= 7) && (i >= 5)) && (_url.toLowerCase().indexOf("www.benoldinggames.co.uk") < 0)) && (_url.toLowerCase().indexOf("armorgames.com") < 0)) && (_root.cheatcode == "")) {
_parent.startcamp.gotoAndStop(2);
_parent.aglock._visible = true;
strText = _root.GetRaceData("Full Name", _root.MyRace);
colorful1.setTransform({ra:100, rb:0, ga:100, gb:0, ba:100, bb:0});
colorful2.setTransform({ra:100, rb:0, ga:100, gb:0, ba:100, bb:0});
colorful3.setTransform({ra:100, rb:0, ga:100, gb:0, ba:100, bb:0});
} else if ((((i == 8) && (_root.completedcount < 1)) || ((i == 9) && (_root.completedcount < 3))) && (_root.cheatcode != "unlockraces")) {
strText = "Locked";
colorful1.setTransform({ra:-100, rb:0, ga:-100, gb:0, ba:-100, bb:0});
colorful2.setTransform({ra:-100, rb:0, ga:-100, gb:0, ba:-100, bb:0});
colorful3.setTransform({ra:-100, rb:0, ga:-100, gb:0, ba:-100, bb:0});
if (i == 8) {
_root.racedescription = "Complete the game with another race to unlock this one";
} else {
_root.racedescription = ("Complete the game with " + (3 - _root.completedcount)) + " more races to unlock this one";
}
_parent.startcamp.gotoAndStop(3);
_parent.aglock._visible = false;
} else {
strText = _root.GetRaceData("Full Name", _root.MyRace);
colorful1.setTransform({ra:100, rb:0, ga:100, gb:0, ba:100, bb:0});
colorful2.setTransform({ra:100, rb:0, ga:100, gb:0, ba:100, bb:0});
colorful3.setTransform({ra:100, rb:0, ga:100, gb:0, ba:100, bb:0});
_parent.startcamp.gotoAndStop(1);
_parent.aglock._visible = false;
}
}
};
Symbol 1463 Button
on (release) {
_root.getURL("http://armorgames.com/play/6999/warlords-2-rise-of-demons", "_blank");
}
Symbol 1465 Button
on (release) {
_root.SetRace("left", _root.MyRace);
_root.turnrace = _root.leftrace;
if (_root.so.data.mysoldiers != undefined) {
_root.arrleftSoldierChoices = _root.so.data.mysoldiers;
}
i = 0;
while (i < _root.arrRegionData.length) {
owner = _root.so.data[("level" + i) + "owner"];
trace((("region " + i) + " owner: ") + owner);
if (owner != undefined) {
_root.SetRegionOwner(i, owner);
}
i++;
}
_root.message("Continuing... Difficulty: " + _root.difficultylevel);
_root.gotoAndStop("shop");
}
on (rollOver) {
helptext = "Continue from where you left off.";
}
on (rollOut) {
helptext = "";
}
Symbol 1466 Button
on (release) {
_alpha = 0;
_root.so.data.race == undefined;
i = 0;
while (i < _root.arrRegionData.length) {
_root.SetRegionOwner(i + 1, Number(_root.arrRegionData[i][1]));
i++;
}
_root.mykills = 0;
_root.blnSavedDataFound = false;
gotoAndStop (3);
}
on (rollOver) {
helptext = "Start again from the beginning.";
}
on (rollOut) {
helptext = "";
}
Symbol 1467 Button
on (release) {
_alpha = 0;
_root.gametype = 2;
bmp = false;
gotoAndStop (2);
}
on (rollOver) {
helptext = "Play a single battle against a friend on the same computer";
}
on (rollOut) {
helptext = "";
}
Symbol 1468 Button
on (release) {
_alpha = 0;
gotoAndStop (1);
}
on (rollOver) {
helptext = "Back to Main Menu.";
}
on (rollOut) {
helptext = "";
}
Symbol 1476 Button
on (release) {
gotoAndStop (2);
}
Symbol 1477 Button
on (release) {
gotoAndStop (3);
}
Symbol 1480 MovieClip Frame 1
thavar = eval ("_root." + vari);
if (thavar == true) {
gotoAndStop (2);
} else if (thavar == false) {
gotoAndStop (3);
} else {
stop();
}
Symbol 1480 MovieClip Frame 2
Set("_root." + vari, true);
thavar = false;
Symbol 1480 MovieClip Frame 3
Set("_root." + vari, false);
thavar = false;
if (vari == "option_music") {
stopAllSounds();
}
Instance of Symbol 1480 MovieClip in Symbol 1484 MovieClip Frame 1
onClipEvent (load) {
vari = "option_sound";
}
onClipEvent (enterFrame) {
_root.so_options.data.option_sound = _root.option_sound;
}
Instance of Symbol 1480 MovieClip in Symbol 1484 MovieClip Frame 1
onClipEvent (load) {
vari = "option_music";
}
onClipEvent (enterFrame) {
_root.so_options.data.option_music = _root.option_music;
}
Instance of Symbol 1480 MovieClip in Symbol 1484 MovieClip Frame 1
onClipEvent (load) {
vari = "option_blood";
}
onClipEvent (enterFrame) {
_root.so_options.data.option_blood = _root.option_blood;
}
Instance of Symbol 1480 MovieClip in Symbol 1484 MovieClip Frame 1
onClipEvent (load) {
vari = "option_autosend";
}
onClipEvent (enterFrame) {
_root.so_options.data.option_autosend = _root.option_autosend;
}
Symbol 1485 Button
on (release) {
gotoAndStop (16);
}
Symbol 1491 Button
on (release) {
nextFrame();
}
Symbol 1494 Button
on (release) {
prevFrame();
}
Symbol 1500 MovieClip Frame 1
stop();
Symbol 1510 Button
on (release) {
getURL ("http://www.flashgamelicense.com/game_referral.php?game_id=659", "_blank");
}
Symbol 1511 MovieClip Frame 25
stop();
Symbol 1514 Button
on (release) {
_alpha = 0;
_root.MyRace = random(8);
_root.gametype = 3;
_root.leftPlayerRace = _root.GetRaceData("Name", _root.MyRace);
_root.leftPlayerControl = "Player";
_root.rightPlayerControl = "Player";
gotoAndStop (14);
}
on (rollOver) {
helptext = "Take turns to battle for each region upgrading your units and army.";
}
on (rollOut) {
helptext = "";
}
Symbol 1515 Button
on (release) {
_alpha = 0;
_root.gametype = 2;
bmp = true;
gotoAndStop (2);
}
on (rollOver) {
helptext = "Play a single battle against a friend on the same computer";
}
on (rollOut) {
helptext = "";
}
Symbol 1516 Button
on (release) {
gotoAndStop (1);
}
Symbol 1519 Button
on (release) {
_alpha = 0;
gotoAndStop (10);
}
on (rollOver) {
helptext = "Play against another player on the same computer";
}
on (rollOut) {
helptext = "";
}
Symbol 1520 Button
on (release) {
_alpha = 0;
_root.gametype = 4;
gotoAndStop (15);
}
on (rollOver) {
helptext = "Play against another player across the internet";
}
on (rollOut) {
helptext = "";
}
Symbol 1523 Button
on (release) {
_root.smartfox.disconnect();
gotoAndStop (1);
}
Symbol 1533 Button
on (release) {
_root.mp_ready();
gotoAndStop (2);
}
Symbol 1536 MovieClip Frame 1
stop();
Symbol 1539 Button
on (release) {
gotoAndStop (14);
}
Symbol 1544 Button
on (release) {
gotoAndStop (5);
}
Symbol 1545 Button
on (release) {
_root.so.clear();
_root.gotoAndPlay(1);
}
Symbol 1576 Button
on (release) {
getURL ("http://www.benoldinggames.co.uk/", "_blank");
}
Symbol 1577 Button
on (release) {
getURL ("http://blog.vortixgames.com/", "_blank");
}
Symbol 1578 Button
on (release) {
getURL ("http://www.flashgameart.com/", "_blank");
}
Symbol 1579 Button
on (release) {
getURL ("http://adamichmusic.webs.com/", "_blank");
}
Symbol 1580 Button
on (release) {
getURL ("http://www.flashgamelicense.com/", "_blank");
}
Symbol 1581 Button
on (release) {
getURL ("http://armorgames.com/", "_blank");
}
Symbol 1582 Button
on (release) {
getURL ("http://www.voiceofjaybritton.com/", "_blank");
}
Symbol 1583 Button
on (release) {
getURL ("http://biffpaints.blogspot.com/", "_blank");
}
Symbol 1584 Button
on (release) {
getURL ("http://www.raychase.com/", "_blank");
}
Symbol 1585 Button
on (release) {
getURL ("http://www.productiontrax.com/profile.php?id=1143", "_blank");
}
Symbol 1586 Button
on (release) {
getURL ("http://robert-blythe.com/", "_blank");
}
Symbol 1588 MovieClip Frame 1
_root.man1._visible = true;
_root.man2._visible = true;
_root.menuTootipClear();
stop();
_root.MenuSound();
Symbol 1588 MovieClip Frame 2
_root.man1._visible = false;
_root.man2._visible = false;
_root.arrleftSoldierChoices = new Array(0, 1, 2, 19);
_root.arrrightSoldierChoices = new Array(0, 1, 2, 19);
_root.MenuSound();
Instance of Symbol 1437 MovieClip in Symbol 1588 MovieClip Frame 2
onClipEvent (load) {
arr = new Array("Player", "Computer");
variable = "leftPlayerControl";
}
Instance of Symbol 1441 MovieClip in Symbol 1588 MovieClip Frame 2
onClipEvent (load) {
side = "left";
}
Instance of Symbol 1154 MovieClip [Swordsman] in Symbol 1588 MovieClip Frame 2
onClipEvent (enterFrame) {
race = _root.leftPlayerRace;
if (race != prev) {
prev = race;
gotoAndPlay ("reset");
}
}
Instance of Symbol 1154 MovieClip [Swordsman] in Symbol 1588 MovieClip Frame 2
onClipEvent (enterFrame) {
race = _root.rightPlayerRace;
if (race != prev) {
prev = race;
gotoAndPlay ("reset");
}
}
Instance of Symbol 1437 MovieClip in Symbol 1588 MovieClip Frame 2
onClipEvent (load) {
arr = new Array("Player", "Computer");
variable = "rightPlayerControl";
if (_parent.bmp == false) {
i = 1;
}
}
Instance of Symbol 1441 MovieClip in Symbol 1588 MovieClip Frame 2
onClipEvent (load) {
side = "right";
}
Symbol 1588 MovieClip Frame 3
trace("Demons: " + _root.demonsunlocked);
_root.man1._visible = false;
_root.man2._visible = false;
if (_root.gametype == 1) {
txtTitle = "Choose your race";
} else {
txtTitle = "Player 1 (left)\nChoose your race";
}
_root.shop_player = "left";
_root.MenuSound();
Instance of Symbol 1154 MovieClip [Swordsman] "man1" in Symbol 1588 MovieClip Frame 3
onClipEvent (enterFrame) {
menu = true;
race = _root.GetRaceData("Name", _root.MyRace);
if (race != prev) {
prev = race;
_alpha = 0;
gotoAndPlay ("reset");
}
if (_alpha < 100) {
_alpha = (_alpha + 5);
}
}
Instance of Symbol 1149 MovieClip [Halberdier] "man2" in Symbol 1588 MovieClip Frame 3
onClipEvent (enterFrame) {
menu = true;
race = _root.GetRaceData("Name", _root.MyRace);
if (race != prev) {
prev = race;
_alpha = 0;
gotoAndPlay ("reset");
}
if (_alpha < 100) {
_alpha = (_alpha + 5);
}
}
Instance of Symbol 1146 MovieClip [Spearman] "man3" in Symbol 1588 MovieClip Frame 3
onClipEvent (enterFrame) {
menu = true;
race = _root.GetRaceData("Name", _root.MyRace);
if (race != prev) {
prev = race;
_alpha = 0;
gotoAndPlay ("reset");
}
if (_alpha < 100) {
_alpha = (_alpha + 5);
}
}
Instance of Symbol 1437 MovieClip in Symbol 1588 MovieClip Frame 3
onClipEvent (load) {
i = 1;
arr = new Array("Easy", "Normal", "Hard", "Very Hard", "Hardest");
variable = "difficultylevel";
}
Symbol 1588 MovieClip Frame 4
_root.man1._visible = true;
_root.man2._visible = true;
_root.MenuSound();
Symbol 1588 MovieClip Frame 5
_root.man1._visible = false;
_root.man2._visible = false;
_root.MenuSound();
Symbol 1588 MovieClip Frame 6
_root.MenuSound();
Symbol 1588 MovieClip Frame 7
_root.man1._visible = true;
_root.man2._visible = true;
_root.MenuSound();
Symbol 1588 MovieClip Frame 8
_root.man1._visible = false;
_root.man2._visible = false;
_root.MenuSound();
Symbol 1588 MovieClip Frame 9
_root.MenuSound();
Symbol 1588 MovieClip Frame 10
_root.man1._visible = true;
_root.man2._visible = true;
_root.MenuSound();
Symbol 1588 MovieClip Frame 11
_root.man1._visible = true;
_root.man2._visible = true;
_root.MenuSound();
Symbol 1588 MovieClip Frame 12
_root.man1._visible = true;
_root.man2._visible = true;
_root.MPtext = "";
_root.smartfox.connect(_root.ip, _root.port);
_root.MenuSound();
Symbol 1588 MovieClip Frame 13
_root.screen = "vs";
_root.man1._visible = false;
_root.man2._visible = false;
player0race._visible = false;
player1race._visible = false;
player0ready._visible = false;
player1ready._visible = false;
_root.MenuSound();
Instance of Symbol 1154 MovieClip [Swordsman] "player0race" in Symbol 1588 MovieClip Frame 13
onClipEvent (load) {
menu = true;
race = _root.GetRaceData("Name", _root.MyRace);
}
Instance of Symbol 1154 MovieClip [Swordsman] "player1race" in Symbol 1588 MovieClip Frame 13
onClipEvent (load) {
menu = true;
race = _root.GetRaceData("Name", _root.MyRace);
}
Symbol 1588 MovieClip Frame 14
_root.man1._visible = false;
_root.man2._visible = false;
if (_root.gametype == 1) {
txtTitle = "Choose your race";
} else {
txtTitle = "Player 1 (left)\nChoose your race";
}
_root.shop_player = "left";
_root.MenuSound();
Instance of Symbol 1154 MovieClip [Swordsman] "man1" in Symbol 1588 MovieClip Frame 14
onClipEvent (enterFrame) {
menu = true;
race = _root.GetRaceData("Name", _root.MyRace);
if (race != prev) {
prev = race;
_alpha = 0;
gotoAndPlay ("reset");
}
if (_alpha < 100) {
_alpha = (_alpha + 5);
}
}
Instance of Symbol 1149 MovieClip [Halberdier] "man2" in Symbol 1588 MovieClip Frame 14
onClipEvent (enterFrame) {
menu = true;
race = _root.GetRaceData("Name", _root.MyRace);
if (race != prev) {
prev = race;
_alpha = 0;
gotoAndPlay ("reset");
}
if (_alpha < 100) {
_alpha = (_alpha + 5);
}
}
Instance of Symbol 1146 MovieClip [Spearman] "man3" in Symbol 1588 MovieClip Frame 14
onClipEvent (enterFrame) {
menu = true;
race = _root.GetRaceData("Name", _root.MyRace);
if (race != prev) {
prev = race;
_alpha = 0;
gotoAndPlay ("reset");
}
if (_alpha < 100) {
_alpha = (_alpha + 5);
}
}
Symbol 1588 MovieClip Frame 15
_root.MenuSound();
Symbol 1588 MovieClip Frame 16
_root.MenuSound();
Symbol 1588 MovieClip Frame 17
_root.MenuSound();
Symbol 1588 MovieClip Frame 18
_root.man1._visible = false;
_root.man2._visible = false;
_root.MenuSound();
Symbol 1649 MovieClip Frame 1
function GetAngle(obj1, obj2) {
x = obj1._x - obj2._x;
y = obj1._y - obj2._y;
return(ConvertRadiansToDegrees(Math.atan2(y, x)) - 90);
}
function GetDistance(obj1, obj2) {
x = Math.abs(obj2._x - obj1._x);
y = Math.abs(obj2._y - obj1._y);
return(Math.sqrt((x * x) + (y * y)));
}
function ConvertRadiansToDegrees(radians) {
return(radians * 57.2957795130823);
}
objnum = 0;
_root.levelnum = -2;
if (_root.gametype == 4) {
if (_root.turn == _root.MP_Player) {
_root.turnrace = _root[("player" + _root.turn) + "race"];
leftrace = _root.player0race;
} else {
_root.turnrace = -1;
leftrace = _root.leftrace;
}
} else {
leftrace = _root.MyRace;
}
i = 1;
while (i <= 28) {
objnum++;
racenum = _root.GetRegionData("Race", i);
thex = this["map" + i]._x;
var myGlowFilter = (new flash.filters.GlowFilter(0, 0.6, 3, 3, 3, 3, false, false));
if (_root.GetRegionData("Castle", i)) {
newMan = this.attachMovie("Castle", "Swordsman" + i, objnum);
scale = 30;
newMan._yscale = scale;
if (_root.GetRegionData("Race", i) == leftrace) {
newMan._xscale = scale;
thex = thex + 10;
} else {
newMan._xscale = -scale;
thex = thex - 10;
}
newMan.filters = [myGlowFilter];
newHL = undefined;
} else {
newHL = this.attachMovie("MapHighlight", "MapHighlight" + i, objnum);
objnum++;
newMan = this.attachMovie("Swordsman", "Swordsman" + i, objnum);
scale = 40;
newMan._xscale = scale;
newMan._yscale = scale;
newMan.filters = [myGlowFilter];
}
if (thex < -350) {
thex = -340;
}
if (thex > 350) {
thex = 340;
}
newMan._x = thex;
they = this["map" + i]._y;
if (they > 250) {
they = 240;
}
newMan._y = they;
arrRGB = _root.GetRaceData("RGB", racenum);
if (newHL != undefined) {
newHL._x = thex;
newHL._y = they;
newHL._xscale = 60;
newHL._yscale = 60;
_root.Tint(newHL, Number(arrRGB[0]) / 3, Number(arrRGB[1]) / 3, Number(arrRGB[2]) / 3);
}
arrAdj = _root.GetRegionData("Adjacent", i).split(",");
if (racenum == leftrace) {
_root.levelnum++;
}
newMan.race = _root.GetRaceData("Name", racenum);
if (gamemode == 1) {
_root.turnrace = leftrace;
}
if (racenum == _root.turnrace) {
a = 0;
while (a < arrAdj.length) {
if (_root.GetRegionData("Race", arrAdj[a]) != _root.turnrace) {
if (this["toarrow" + arrAdj[a]] != true) {
objnum++;
thearrow = this.attachMovie("Move Arrow", "Arrow" + objnum, objnum);
thearrow._x = this["map" + i]._x;
thearrow._y = this["map" + i]._y;
thearrow._height = GetDistance(this["map" + i], this["map" + arrAdj[a]]);
thearrow._rotation = GetAngle(this["map" + i], this["map" + arrAdj[a]]);
thearrow.swapDepths(newMan);
thearrow.race = _root.GetRaceData("Name", _root.GetRegionData("Race", arrAdj[a]));
thearrow.racenum = _root.GetRegionData("Race", arrAdj[a]);
thearrow.attackingregion = arrAdj[a];
this["toarrow" + arrAdj[a]] = true;
}
}
a++;
}
}
_root.Tint(this["map" + i], Number(arrRGB[0]) / 3, Number(arrRGB[1]) / 3, Number(arrRGB[2]) / 3);
this["map" + i]._alpha = 80;
if (racenum == _root.MyRace) {
} else {
this["map" + i]._visible = false;
}
i++;
}
_root.LevelName = "Level " + _root.levelnum;
trace("Level " + _root.levelnum);
if ((_root.gametype == 1) && (_root.RegionForAttack() == true)) {
_root.gotoAndStop("underattack");
}
Symbol 1653 Button
on (release) {
_root.PlayMusic("MenuMusic");
_root.gotoAndStop("shop");
}
Symbol 1658 Button
on (release) {
getURL ("http://www.benoldinggames.co.uk/iphone-ipad-games.html", "_blank");
}
Symbol 1672 Button
on (release) {
_root.gotoAndStop("Game");
}
Symbol 1674 Button
on (release) {
_visible = false;
}
Symbol 1677 MovieClip Frame 1
race = _root.game.right.race;
stop();
Symbol 1704 MovieClip Frame 1
stop();
Symbol 1709 Button
on (keyPress "s") {
if (_parent.AI == false) {
_root.ChangeChannel(_parent, -1);
}
}
on (keyPress "w") {
if (_parent.AI == false) {
_root.ChangeChannel(_parent, 1);
}
}
on (keyPress "a") {
if (_parent.AI == false) {
_root.SelectSoldier(_parent, -1);
}
}
on (keyPress "d") {
_root.SelectSoldier(_parent, 1);
}
on (keyPress "S") {
if (_parent.AI == false) {
_root.ChangeChannel(_parent, -1);
}
}
on (keyPress "W") {
if (_parent.AI == false) {
_root.ChangeChannel(_parent, 1);
}
}
on (keyPress "A") {
if (_parent.AI == false) {
_root.SelectSoldier(_parent, -1);
}
}
on (keyPress "D") {
_root.SelectSoldier(_parent, 1);
}
on (keyPress "<Space>") {
if (_parent.AI == false) {
if ((_parent.charged >= _parent.rechargetime) && (_root.gamepaused != true)) {
_root.CreateSoldier(_parent.chan, _parent.facing, _root.arrleftSoldierChoices[_parent.soldierselected], Math.floor(_parent.charged / _parent.rechargetime));
_root.twoplayerinst = true;
_root.gameinprogress = true;
_parent.charged = 0;
}
}
}
on (keyPress "q") {
if (_parent.AI == false) {
if (((_parent.charged >= _parent.rechargetime) && (_parent.chargecharge >= _root.chargekills)) && (_root.gamepaused != true)) {
_root.PlaySound("cheer", -1300);
i = 1;
while (i < 9) {
_root.CreateSoldier(i, _parent.facing, _root.arrleftSoldierChoices[_parent.soldierselected], Math.floor(_parent.charged / _parent.rechargetime));
i++;
}
_parent.chargecharge = 0;
_parent.charged = 0;
}
}
}
on (keyPress "Q") {
if (_parent.AI == false) {
if (((_parent.charged >= _parent.rechargetime) && (_parent.chargecharge >= _root.chargekills)) && (_root.gamepaused != true)) {
_root.PlaySound("cheer", -1300);
i = 1;
while (i < 9) {
_root.CreateSoldier(i, _parent.facing, _root.arrleftSoldierChoices[_parent.soldierselected], Math.floor(_parent.charged / _parent.rechargetime));
i++;
}
_parent.chargecharge = 0;
_parent.charged = 0;
}
}
}
Symbol 1710 Button
on (keyPress "<Down>") {
if (_parent.AI == false) {
_root.ChangeChannel(_parent, -1);
}
}
on (keyPress "<Up>") {
if (_parent.AI == false) {
_root.ChangeChannel(_parent, 1);
}
}
on (keyPress "<Right>") {
if (_parent.AI == false) {
_root.SelectSoldier(_parent, -1);
}
}
on (keyPress "<Left>") {
if (_parent.AI == false) {
_root.SelectSoldier(_parent, 1);
}
}
on (keyPress "<Enter>") {
if (_parent.AI == false) {
if ((_parent.charged >= _parent.rechargetime) && (_root.gamepaused != true)) {
_root.CreateSoldier(_parent.chan, _parent.facing, _root.arrrightSoldierChoices[_parent.soldierselected], Math.floor(_parent.charged / _parent.rechargetime));
_parent.charged = 0;
_root.twoplayerinst = true;
_root.gameinprogress = true;
}
}
}
on (keyPress "0") {
if (_parent.AI == false) {
if (((_parent.charged >= _parent.rechargetime) && (_parent.chargecharge >= _root.chargekills)) && (_root.gamepaused != true)) {
i = 1;
while (i < 9) {
_root.CreateSoldier(i, _parent.facing, _root.arrrightSoldierChoices[_parent.soldierselected], Math.floor(_parent.charged / _parent.rechargetime));
i++;
}
_root.PlaySound("cheer", 1300);
_parent.chargecharge = 0;
_parent.charged = 0;
}
}
}
Symbol 1711 Button
on (keyPress "s") {
if (_parent.AI == false) {
_root.ChangeChannel(_parent, -1);
}
}
on (keyPress "w") {
if (_parent.AI == false) {
_root.ChangeChannel(_parent, 1);
}
}
on (keyPress "a") {
if (_parent.AI == false) {
_root.SelectSoldier(_parent, -1);
}
}
on (keyPress "d") {
if (_parent.AI == false) {
_root.SelectSoldier(_parent, 1);
}
}
on (keyPress "e") {
if (_root.tutorialwindow.page == 3) {
_root.HideTutorial(3);
_root.ShowTutorial(4);
} else if ((((((_root.tutorialwindow.page == 5) || (_root.tutorialwindow.page == 7)) || (_root.tutorialwindow.page == 8)) || (_root.tutorialwindow.page == 9)) || (_root.tutorialwindow.page == 10)) || (_root.tutorialwindow.page == 11)) {
_root.arrTutorialsShown[4] = true;
_root.HideTutorial(_root.tutorialwindow.page);
}
}
on (keyPress "S") {
if (_parent.AI == false) {
_root.ChangeChannel(_parent, -1);
}
}
on (keyPress "W") {
if (_parent.AI == false) {
_root.ChangeChannel(_parent, 1);
}
}
on (keyPress "A") {
if (_parent.AI == false) {
_root.SelectSoldier(_parent, -1);
}
}
on (keyPress "D") {
if (_parent.AI == false) {
_root.SelectSoldier(_parent, 1);
}
}
on (keyPress "E") {
if (_root.tutorialwindow.page == 3) {
_root.HideTutorial(3);
_root.ShowTutorial(4);
} else if ((((((_root.tutorialwindow.page == 5) || (_root.tutorialwindow.page == 7)) || (_root.tutorialwindow.page == 8)) || (_root.tutorialwindow.page == 9)) || (_root.tutorialwindow.page == 10)) || (_root.tutorialwindow.page == 11)) {
_root.arrTutorialsShown[4] = true;
_root.HideTutorial(_root.tutorialwindow.page);
}
}
on (keyPress "<Space>") {
if (_parent.AI == false) {
if ((!((((((_root.hasSeenTutorialPage(3) || (_root.tutorialwindow.page == 3)) || (_root.tutorialwindow.page == 5)) || (_root.tutorialwindow.page == 7)) || (_root.tutorialwindow.page == 8)) || (_root.tutorialwindow.page == 9)) || (_root.tutorialwindow.page == 10))) && (_root.gametype == 1)) {
} else if (((_root.tutorialwindow.page == 4) && (_root.hasboughtspecial())) && (_root.gametype == 1)) {
trace("Has bought a special show tutorial");
_root.HideTutorial(_root.tutorialwindow.page);
_root.ShowTutorial(11);
} else {
if (_root.gametype == 1) {
if (_root.tutorialwindow.page == 4) {
_root.HideTutorial(_root.tutorialwindow.page);
}
_root.arrTutorialsShown[4] = true;
}
if ((_parent.charged >= _parent.rechargetime) && (_root.gamepaused != true)) {
_root.CreateSoldier(_parent.chan, _parent.facing, _root.arrleftSoldierChoices[_parent.soldierselected], Math.floor(_parent.charged / _parent.rechargetime));
_parent.charged = 0;
}
}
}
}
on (keyPress "h") {
if (_root.cheatcode == "skippy") {
_root.winner = "right";
}
}
on (keyPress "q") {
if (_parent.AI == false) {
if (((_parent.charged >= _parent.rechargetime) && (_parent.chargecharge >= _root.chargekills)) && (_root.gamepaused != true)) {
i = 1;
while (i < 9) {
_root.CreateSoldier(i, _parent.facing, _root.arrleftSoldierChoices[_parent.soldierselected], Math.floor(_parent.charged / _parent.rechargetime));
i++;
}
_root.PlaySound("cheer", -1300);
_parent.chargecharge = 0;
_parent.charged = 0;
_root.HideTutorial(6);
}
}
}
Symbol 1712 Button
on (keyPress "<Down>") {
if (_parent.AI == false) {
_root.ChangeChannel(_parent, -1);
}
}
on (keyPress "<Up>") {
if (_parent.AI == false) {
_root.ChangeChannel(_parent, 1);
}
}
on (keyPress "<Left>") {
if (_parent.AI == false) {
_root.SelectSoldier(_parent, -1);
}
}
on (keyPress "<Right>") {
if (_parent.AI == false) {
_root.SelectSoldier(_parent, 1);
}
}
on (keyPress "<Enter>") {
if (_parent.AI == false) {
if (!_root.hasSeenTutorialPage(3)) {
} else if (_root.tutorialwindow.page == 3) {
_root.HideTutorial(3);
_root.ShowTutorial(4);
} else {
if (_root.tutorialwindow.page == 4) {
_root.HideTutorial(4);
}
if ((_parent.charged >= _parent.rechargetime) && (_root.gamepaused != true)) {
_root.CreateSoldier(_parent.chan, _parent.facing, _root.arrleftSoldierChoices[_parent.soldierselected], Math.floor(_parent.charged / _parent.rechargetime));
_parent.charged = 0;
}
}
}
}
on (keyPress "0") {
if (_parent.AI == false) {
if (((_parent.charged >= _parent.rechargetime) && (_parent.chargecharge >= _root.chargekills)) && (_root.gamepaused != true)) {
i = 1;
while (i < 9) {
_root.CreateSoldier(i, _parent.facing, _root.arrleftSoldierChoices[_parent.soldierselected], Math.floor(_parent.charged / _parent.rechargetime));
i++;
}
_root.PlaySound("cheer", 1300);
_parent.chargecharge = 0;
_parent.charged = 0;
_root.HideTutorial(6);
}
}
}
Symbol 1713 Button
on (keyPress "s") {
if (_parent.AI == false) {
_root.ChangeChannel(_parent, -1);
}
}
on (keyPress "w") {
if (_parent.AI == false) {
_root.ChangeChannel(_parent, 1);
}
}
on (keyPress "a") {
if (_parent.AI == false) {
_root.SelectSoldier(_parent, 1);
}
}
on (keyPress "d") {
if (_parent.AI == false) {
_root.SelectSoldier(_parent, -1);
}
}
on (keyPress "<Space>") {
if (_parent.AI == false) {
if (!_root.hasSeenTutorialPage(3)) {
} else if (_root.tutorialwindow.page == 3) {
_root.HideTutorial(3);
_root.ShowTutorial(4);
} else {
if (_root.tutorialwindow.page == 4) {
_root.HideTutorial(4);
}
if (_parent.charged >= _parent.rechargetime) {
_root.CreateSoldier(_parent.chan, _parent.facing, _root.arrrightSoldierChoices[_parent.soldierselected], Math.floor(_parent.charged / _parent.rechargetime));
_parent.charged = 0;
}
}
}
}
on (keyPress "h") {
if (_root.cheatcode == "skippy") {
_root.winner = "right";
}
}
on (keyPress "q") {
if (_parent.AI == false) {
if ((_parent.charged >= _parent.rechargetime) && (_parent.chargecharge >= _root.chargekills)) {
i = 1;
while (i < 9) {
_root.CreateSoldier(i, _parent.facing, _root.arrrightSoldierChoices[_parent.soldierselected], Math.floor(_parent.charged / _parent.rechargetime));
i++;
}
_root.PlaySound("cheer", -1300);
_parent.chargecharge = 0;
_parent.charged = 0;
}
}
}
Symbol 1714 Button
on (keyPress "<Down>") {
if (_parent.AI == false) {
_root.ChangeChannel(_parent, -1);
}
}
on (keyPress "<Up>") {
if (_parent.AI == false) {
_root.ChangeChannel(_parent, 1);
}
}
on (keyPress "<Left>") {
if (_parent.AI == false) {
_root.SelectSoldier(_parent, 1);
}
}
on (keyPress "<Right>") {
if (_parent.AI == false) {
_root.SelectSoldier(_parent, -1);
}
}
on (keyPress "<Enter>") {
if (_parent.AI == false) {
if (_parent.charged >= _parent.rechargetime) {
_root.CreateSoldier(_parent.chan, _parent.facing, _root.arrrightSoldierChoices[_parent.soldierselected], Math.floor(_parent.charged / _parent.rechargetime));
_parent.charged = 0;
}
}
}
on (keyPress "0") {
if (_parent.AI == false) {
if ((_parent.charged >= _parent.rechargetime) && (_parent.chargecharge >= _root.chargekills)) {
i = 1;
while (i < 9) {
_root.CreateSoldier(i, _parent.facing, _root.arrrightSoldierChoices[_parent.soldierselected], Math.floor(_parent.charged / _parent.rechargetime));
i++;
}
_root.PlaySound("cheer", 1300);
_parent.chargecharge = 0;
_parent.charged = 0;
}
}
}
Symbol 1725 MovieClip Frame 1
soldierselected = 0;
arrSoldierData = _root.arrSoldierStats[0];
rechargetime = Number(arrSoldierData[3]);
_root[player + "soldier"] = arrSoldierData[0];
charged = 0;
chargecharge = 0;
chan = 4;
_y = _parent["lane" + chan]._y;
if (_name == "left") {
_x = (_parent["lane" + chan]._x - (_parent["lane" + chan]._width / 2));
} else {
_x = (_parent["lane" + chan]._x + (_parent["lane" + chan]._width / 2));
}
_root.SelectSoldier(this, 0);
this.onEnterFrame = function () {
gotoAndStop(arrowcol);
if (((charged / rechargetime) * 100) < 100) {
_alpha = ((charged / rechargetime) * 100);
} else {
_alpha = 100;
}
if (_root.gamepaused != true) {
charged++;
_root.AI(this);
}
};
Instance of Symbol 1708 MovieClip in Symbol 1725 MovieClip Frame 1
onClipEvent (enterFrame) {
if (_root.winner != "") {
gotoAndStop (6);
} else if ((_parent.charged >= (_parent.rechargetime * 2)) && (_root.HasUpgrade(_root[("arr" + _parent.player) + "SoldierChoices"][_parent.soldierselected], Number(_parent.arrSoldierData[9]), _parent.player))) {
if (_parent.chargecharge >= _root.chargekills) {
gotoAndStop (5);
} else {
gotoAndStop (4);
}
} else if (_parent.charged >= _parent.rechargetime) {
if (_parent.chargecharge >= _root.chargekills) {
gotoAndStop (3);
} else {
gotoAndStop (2);
}
} else {
gotoAndStop (1);
}
}
Instance of Symbol 1715 MovieClip in Symbol 1725 MovieClip Frame 1
onClipEvent (load) {
if (_parent.AI == true) {
gotoAndStop ("AI");
} else if (_root.gametype == 1) {
gotoAndStop ("campaign");
} else if (_root.gametype == 4) {
if (_root.MP_Player == 0) {
gotoAndStop ("campaign");
} else {
gotoAndStop (4);
}
} else {
gotoAndStop(_parent.player);
}
}
Instance of Symbol 1724 MovieClip "arrow" in Symbol 1725 MovieClip Frame 1
onClipEvent (enterFrame) {
if (_root.winner != "") {
gotoAndStop (5);
} else if ((_parent.charged >= (_parent.rechargetime * 2)) && (_root.HasUpgrade(_root[("arr" + _parent.player) + "SoldierChoices"][_parent.soldierselected], Number(_parent.arrSoldierData[9]), _parent.player))) {
if (_parent.chargecharge >= _root.chargekills) {
gotoAndStop (3);
} else {
gotoAndStop (4);
}
} else if (_parent.charged >= _parent.rechargetime) {
if (_parent.chargecharge >= _root.chargekills) {
gotoAndStop (3);
} else {
gotoAndStop (2);
}
} else {
gotoAndStop (1);
}
}
Symbol 1741 MovieClip Frame 1
player = _parent.player;
Symbol 1745 MovieClip Frame 1
stop();
if (setup != true) {
i = Number(i);
setup = true;
player = "left";
arrSoldierData = _root.arrSoldierStats[_root.arrleftSoldierChoices[i]];
rechargetime = Number(arrSoldierData[3]);
icon.race = _root.leftPlayerRace;
icon.unittype = _root.arrleftSoldierChoices[i];
icon.player = player;
icon.gotoAndStop(Number(_root.arrleftSoldierChoices[i]) + 1);
if (_root.HasUpgrade(_root.arrleftSoldierChoices[i], Number(arrSoldierData[9]), player)) {
maxspecial = 2;
} else {
maxspecial = 1;
}
}
this.onEnterFrame = function () {
if (_root.game.left.soldierselected == i) {
ob._visible = false;
bg.gotoAndStop(3);
if (_root.game.left.charged >= rechargetime) {
if (maxspecial > 1) {
gotoAndStop(Math.round(((_root.game.left.charged - rechargetime) / rechargetime) * 200) + 200);
} else {
gotoAndStop (200);
}
} else {
gotoAndStop(Math.round((_root.game.left.charged / rechargetime) * 200));
}
} else {
ob._visible = true;
if (_root.game.left.charged >= rechargetime) {
bg.gotoAndStop(2);
} else {
bg.gotoAndStop(1);
}
if ((_root.game.left.charged >= rechargetime) && (maxspecial > 1)) {
if (maxspecial > 1) {
gotoAndStop(Math.round(((_root.game.left.charged - rechargetime) / rechargetime) * 200) + 200);
} else {
gotoAndStop (200);
}
} else if (_root.game.left.charged <= rechargetime) {
gotoAndStop(Math.round((_root.game.left.charged / rechargetime) * 200));
}
}
};
Symbol 1746 MovieClip Frame 1
stop();
if (setup != true) {
i = Number(i);
setup = true;
player = "right";
arrSoldierData = _root.arrSoldierStats[_root.arrrightSoldierChoices[i]];
rechargetime = Number(arrSoldierData[3]);
icon.race = _root.rightPlayerRace;
icon.unittype = _root.arrrightSoldierChoices[i];
icon.player = player;
icon.gotoAndStop(Number(_root.arrrightSoldierChoices[i]) + 1);
if (_root.HasUpgrade(_root.arrrightSoldierChoices[i], Number(arrSoldierData[9]), player)) {
maxspecial = 2;
trace(i);
} else {
maxspecial = 1;
}
}
this.onEnterFrame = function () {
if (_root.game.right.soldierselected == i) {
ob._visible = false;
bg.gotoAndStop(3);
if (_root.game.right.charged >= rechargetime) {
if (maxspecial > 1) {
gotoAndStop(Math.round(((_root.game.right.charged - rechargetime) / rechargetime) * 200) + 200);
} else {
gotoAndStop (200);
}
} else {
gotoAndStop(Math.round((_root.game.right.charged / rechargetime) * 200));
}
} else {
ob._visible = true;
if (_root.game.right.charged >= rechargetime) {
bg.gotoAndStop(2);
} else {
bg.gotoAndStop(1);
}
if ((_root.game.right.charged >= rechargetime) && (maxspecial > 1)) {
if (maxspecial > 1) {
gotoAndStop(Math.round(((_root.game.right.charged - rechargetime) / rechargetime) * 200) + 200);
} else {
gotoAndStop (200);
}
} else if (_root.game.right.charged <= rechargetime) {
gotoAndStop(Math.round((_root.game.right.charged / rechargetime) * 200));
}
}
};
Symbol 1747 MovieClip Frame 1
yoff = 0;
xoff = 0;
i = 0;
while (i < _root.arrleftSoldierChoices.length) {
if (i > 0) {
_root.IncrementObjectNum();
duplicateMovieClip (lefttimer0, "lefttimer" + i, _root.objectnum + 300);
this["lefttimer" + i]._x = lefttimer0._x + xoff;
this["lefttimer" + i]._y = lefttimer0._y + yoff;
}
if (i < (_root.arrleftSoldierChoices.length - 1)) {
if (xoff >= 920) {
yoff = yoff + 210;
xoff = 0;
} else {
xoff = xoff + 230;
}
}
this["lefttimer" + i].i = i;
i++;
}
_parent.txtLS._y = _parent.txtLS._y + yoff;
_parent.txtLB._y = _parent.txtLB._y + yoff;
_parent.Lc._y = _parent.Lc._y + yoff;
yoff = 0;
xoff = 0;
i = 0;
while (i < _root.arrrightSoldierChoices.length) {
if (i > 0) {
_root.IncrementObjectNum();
duplicateMovieClip (righttimer0, "righttimer" + i, _root.objectnum + 300);
this["righttimer" + i]._x = righttimer0._x - xoff;
this["righttimer" + i]._y = righttimer0._y + yoff;
}
if (i < (_root.arrrightSoldierChoices.length - 1)) {
if (xoff >= 920) {
yoff = yoff + 210;
xoff = 0;
} else {
xoff = xoff + 230;
}
}
this["righttimer" + i].i = i;
i++;
}
_parent.txtRS._y = _parent.txtRS._y + yoff;
_parent.txtRB._y = _parent.txtRB._y + yoff;
_parent.Rc._y = _parent.Rc._y + yoff;
Symbol 1755 MovieClip Frame 1
perspective = 0.1;
objnum = 1;
i = 1;
while (i <= 8) {
objnum++;
newname = "lane" + i;
attachMovie("Lane", newname, (10 - i) + 10);
this[newname]._width = 2703.2;
this[newname]._height = 162.7;
this[newname].perspective = 1 + (perspective * (i - 1));
this[newname]._width = this[newname]._width / (1 + (perspective * (i - 1)));
this[newname].thewidth = this[newname]._width;
this[newname]._height = this[newname]._height / (1 + (perspective * (i - 1)));
this[newname]._x = 1425.1;
this[newname]._y = 1788.2;
this[newname]._y = (this["lane" + (i - 1)]._y - (this["lane" + (i - 1)]._height / 2)) - (this[newname]._height / 2);
if (_root.castles == "left") {
this[newname]._x = this[newname]._x + (50 * i);
objnum++;
newname = "castle" + i;
attachMovie("Castle", newname, 10 - i);
this[newname]._width = this[newname]._width * 4;
this[newname]._height = this[newname]._height * 4;
this[newname]._width = this[newname]._width / (1 + (perspective * (i - 1)));
this[newname]._height = this[newname]._height / (1 + (perspective * (i - 1)));
this[newname]._x = this["lane" + i]._x - (this["lane" + i]._width / 2);
this[newname]._y = this["lane" + i]._y;
this[newname].player = "left";
this[newname].race = _root.leftPlayerRace;
if (i == 8) {
objnum++;
newname = "wall";
attachMovie("Wall", newname, 1);
this[newname]._width = this[newname]._width * 4;
this[newname]._height = this[newname]._height * 4;
this[newname]._width = this[newname]._width / (1 + (perspective * (i - 1)));
this[newname]._height = this[newname]._height / (1 + (perspective * (i - 1)));
this[newname]._x = this["lane" + i]._x - (this["lane" + i]._width / 2);
this[newname]._y = this["lane" + i]._y;
this[newname].player = "left";
this[newname].race = _root.leftPlayerRace;
}
} else if (_root.castles == "right") {
this[newname]._x = this[newname]._x - (50 * i);
if (i == 8) {
objnum++;
newname = "wall";
attachMovie("Wall", newname, 1);
this[newname]._width = this[newname]._width * 4;
this[newname]._height = this[newname]._height * 4;
this[newname]._width = this[newname]._width / (1 + (perspective * (i - 1)));
this[newname]._height = this[newname]._height / (1 + (perspective * (i - 1)));
this[newname]._xscale = -this[newname]._xscale;
this[newname]._x = this["lane" + i]._x + (this["lane" + i]._width / 2);
this[newname]._y = this["lane" + i]._y;
this[newname].player = "right";
this[newname].race = _root.rightPlayerRace;
}
objnum++;
newname = "castle" + i;
attachMovie("Castle", newname, 10 - i);
this[newname]._width = this[newname]._width * 4;
this[newname]._height = this[newname]._height * 4;
this[newname]._width = this[newname]._width / (1 + (perspective * (i - 1)));
this[newname]._height = this[newname]._height / (1 + (perspective * (i - 1)));
this[newname]._xscale = -this[newname]._xscale;
this[newname]._x = this["lane" + i]._x + (this["lane" + i]._width / 2);
this[newname]._y = this["lane" + i]._y;
this[newname].player = "right";
this[newname].race = _root.rightPlayerRace;
}
i++;
}
Instance of Symbol 1725 MovieClip "left" in Symbol 1755 MovieClip Frame 1
onClipEvent (load) {
AI = (_root.leftPlayerControl == "Computer") || ((_root.gametype == 4) && (_root.MP_Player == 1));
_visible = (!AI);
player = "left";
facing = "right";
difficulty = 100;
race = _root.leftPlayerRace;
arrowcol = 1;
}
Instance of Symbol 1725 MovieClip "right" in Symbol 1755 MovieClip Frame 1
onClipEvent (load) {
AI = (_root.rightPlayerControl == "Computer") || ((_root.gametype == 4) && (_root.MP_Player == 0));
_visible = (!AI);
player = "right";
facing = "left";
difficulty = 100;
race = _root.rightPlayerRace;
}
Instance of Symbol 1747 MovieClip in Symbol 1755 MovieClip Frame 1
onClipEvent (enterFrame) {
_visible = (_root.winner == "");
}
Instance of Symbol 1752 MovieClip "Lc" in Symbol 1755 MovieClip Frame 1
onClipEvent (enterFrame) {
gotoAndStop (1);
_visible = (_parent.left.chargecharge >= _root.chargekills);
if ((_parent.left.charged >= _parent.left.rechargetime) && (_root.arrSoldierStats[_parent.left.soldierselected][8] != "Magic Caster")) {
_alpha = 100;
} else {
_alpha = 50;
}
if (_visible && (_parent.left.charged >= _parent.left.rechargetime)) {
_root.ShowTutorial(6, false);
}
}
Instance of Symbol 1752 MovieClip "Rc" in Symbol 1755 MovieClip Frame 1
onClipEvent (enterFrame) {
gotoAndStop (2);
_visible = ((_parent.right.chargecharge >= _root.chargekills) && (_parent.right.AI != true));
if ((_parent.left.charged >= _parent.left.rechargetime) && (_root.arrSoldierStats[_parent.right.soldierselected][8] != "Magic Caster")) {
_alpha = 100;
} else {
_alpha = 50;
}
}
Symbol 1756 Button
on (keyPress "k") {
if ((_root.cheatcode == "skippy") || (_root.cheatcode == "lastlevel")) {
trace("Skip Level");
_root.winner = "left";
}
}
on (keyPress "l") {
if (_root.cheatcode == "skippy") {
trace("Lose Level");
_root.winner = "right";
}
}
Symbol 1769 MovieClip Frame 1
_visible = (_root.gametype == 1);
Symbol 1770 Button
on (release) {
intTimer = 0;
}
Symbol 1778 MovieClip Frame 1
intTimer = 240;
stop();
mp = 1;
if (_root.difficultylevel == "Easy") {
mp = 1;
}
if (_root.difficultylevel == "Hard") {
mp = 0.7;
}
if (_root.difficultylevel == "Very Hard") {
mp = 0.5;
}
if (_root.difficultylevel == "Hardest") {
mp = 0.3;
}
this.onEnterFrame = function () {
if ((_root.winner == "left") || (_root.winner == "right")) {
_root.game.txtLS._visible = false;
_root.game.txtRS._visible = false;
_root.game.txtLB._visible = false;
_root.game.txtRB._visible = false;
_root.game.Lc._visible = false;
_root.game.Rc._visible = false;
if (_root.castles == "left") {
_root.arrAttacks[_root.levelnum][2] = true;
_root.so.data.arrAttacks = _root.arrAttacks.slice(0);
}
}
if (_root.winner == "") {
gotoAndStop (1);
} else if (_root.winner == "left") {
if (_root.gametype == 1) {
_root.SetRegionOwner(_root.attackingregion, _root.MyRace);
_root.SubmitBOGStat("Won: Level " + _root.levelnum, 1, 0);
if (musicstarted != true) {
_root.PlayMusic("Victory_Music");
_root.PlayVoice(_root.arrRacesDataArray[_root.MyRace][5] + "victory");
musicstarted = true;
}
gotoAndStop (2);
} else if (_root.gametype == 3) {
if (musicstarted != true) {
_root.PlayMusic("Victory_Music");
_root.PlayVoice(_root.arrRacesDataArray[_root[_root.winner + "race"]][5] + "victory");
musicstarted = true;
}
_root.SetRegionOwner(_root.attackingregion, _root[_root.winner + "race"]);
haswon = true;
i = 0;
while (i < _root.arrRegionData.length) {
if (_root.arrRegionData[i][1] != _root[_root.winner + "race"]) {
haswon = false;
break;
}
i++;
}
if (haswon == true) {
_root.victorytext = "Left Player has Won!";
_root.gotoAndStop("2playercomplete");
} else {
gotoAndStop (4);
}
} else if (_root.gametype == 4) {
_root.SetRegionOwner(_root.attackingregion, _root.player0race);
if ((musicstarted != true) && (_root.MP_Player == 0)) {
_root.PlayMusic("Victory_Music");
musicstarted = true;
}
if ((musicstarted != true) && (_root.MP_Player == 1)) {
_root.PlayMusic("Defeat_Music");
musicstarted = true;
}
gotoAndStop (6);
} else {
gotoAndStop (4);
}
} else if (_root.winner == "right") {
if (_root.gametype == 1) {
if (musicstarted != true) {
_root.PlayMusic("Defeat_Music");
_root.PlayVoice(_root.arrRacesDataArray[_root.MyRace][5] + "defeat");
musicstarted = true;
if (_root.castles == "left") {
_root.SetRegionOwner(_root.attackingregion, _root.Attackers);
UnitStr = "";
u = 0;
while (u < _root.arrrightSoldierChoices.length) {
if (_root.arrSoldierStats[_root.arrrightSoldierChoices[u]][10] != "Siege Unit") {
UnitStr = UnitStr + (_root.arrrightSoldierChoices[u].toString() + ",");
}
u++;
}
UnitStr = UnitStr.substr(0, UnitStr.length - 1);
trace("Conquering Units: " + UnitStr);
_root.arrRegionData[_root.attackingregion - 1][5] = UnitStr;
}
}
_root.SubmitBOGStat("Lost: Level " + _root.levelnum, 1, 0);
gotoAndStop (3);
} else if (_root.gametype == 3) {
_root.SetRegionOwner(_root.attackingregion, _root[_root.winner + "race"]);
haswon = true;
i = 0;
while (i < _root.arrRegionData.length) {
if (_root.arrRegionData[i][1] != _root[_root.winner + "race"]) {
haswon = false;
break;
}
i++;
}
if (haswon == true) {
_root.victorytext = "Right Player has Won!";
_root.gotoAndStop("2playercomplete");
} else {
if (musicstarted != true) {
_root.PlayMusic("Victory_Music");
_root.PlayVoice(_root.arrRacesDataArray[_root[_root.winner + "race"]][5] + "victory");
musicstarted = true;
}
gotoAndStop (5);
}
} else if (_root.gametype == 4) {
_root.SetRegionOwner(_root.attackingregion, _root.player1race);
if ((musicstarted != true) && (_root.MP_Player == 1)) {
_root.PlayMusic("Victory_Music");
musicstarted = true;
}
if ((musicstarted != true) && (_root.MP_Player == 2)) {
_root.PlayMusic("Defeat_Music");
musicstarted = true;
}
gotoAndStop (6);
} else {
gotoAndStop (5);
}
}
};
Symbol 1778 MovieClip Frame 2
this.onEnterFrame = function () {
if (intTimer <= 0) {
_root.PlayMusic("MenuMusic");
if ((_root.winner == "left") && (_root.gametype == 1)) {
_root.so.data.money = _root.leftmoney;
}
if (_root.levelnum < 25) {
_root.gotoAndStop("shop");
} else {
_root.gotoAndStop("complete");
}
}
};
if (_root.gametype == 1) {
trace(("Level " + _root.levelnum) + " completed");
if (_root.castles != "left") {
_root.NGMedal("Victor");
}
if (_root.castles == "left") {
_root.NGMedal("Under Siege");
} else if (_root.castles == "right") {
_root.NGMedal("Siege Hammer");
}
if (_root.levelnum >= 25) {
_root.NGMedal("Domination");
} else if (_root.levelnum >= 12) {
_root.NGMedal("Halfway Hero");
} else if (_root.levelnum >= 3) {
_root.NGMedal("Strong Beginnings");
}
demonsremain = false;
i = 0;
while (i < _root.arrRegionData.length) {
if (_root.GetRegionData("Race", i) == 8) {
demonsremain = true;
}
i++;
}
if (demonsremain == false) {
_root.NGMedal("Demon Killer");
}
killbonus = Math.round(_root.killreward * mp);
timebonus = Math.round((_root.clock.timeleft * mp) / 10);
difficultybonus = Math.round((_root.difficultynum * 10) * mp);
total = Math.round((killbonus + timebonus) + difficultybonus);
_root.leftmoney = _root.leftmoney + total;
}
Symbol 1778 MovieClip Frame 3
this.onEnterFrame = function () {
if (intTimer <= 0) {
_root.PlayMusic("MenuMusic");
_root.gotoAndStop("shop");
}
};
if (_root.gametype == 1) {
killbonus = Math.round(_root.killreward * mp);
timebonus = 0;
difficultybonus = 0;
total = (killbonus + timebonus) + difficultybonus;
_root.leftmoney = _root.leftmoney + total;
} else {
reward._visible = false;
}
Symbol 1778 MovieClip Frame 4
this.onEnterFrame = function () {
if (intTimer <= 0) {
if (_root.gametype == 3) {
_root.gotoAndStop("shop");
} else {
_root.gotoAndStop("menu");
}
}
};
Symbol 1778 MovieClip Frame 5
this.onEnterFrame = function () {
if (intTimer <= 0) {
if (_root.gametype == 3) {
_root.gotoAndStop("shop");
} else {
_root.gotoAndStop("menu");
}
}
};
Symbol 1778 MovieClip Frame 6
_root.onEnterFrame = undefined;
if (_root.winner == "left") {
wintext = _root.mp_player0name + " wins";
} else {
wintext = _root.mp_player1name + " wins";
}
this.onEnterFrame = function () {
intTimer--;
if (intTimer <= 0) {
_root.PlayMusic("MenuMusic");
_root.gotoAndStop("shop");
}
};
Symbol 1786 Button
on (release) {
_root.gotoAndStop("menu");
}
Symbol 1787 Button
on (release) {
_root.gotoSponsor();
}
Symbol 1788 Button
on (release) {
_root.victoryreason = "Surrendered";
_root.winner = "right";
}
Symbol 1789 Button
on (release) {
_root.Pause(true);
_root.ingameoptions.gotoAndStop(2);
}
Symbol 1790 Button
on (release, keyPress "p") {
_root.Pause();
}
Symbol 1791 MovieClip Frame 1
if (_root.gametype != 1) {
gotoAndStop (2);
} else {
stop();
}
Symbol 1795 Button
on (release) {
_root.SkipTutorial();
}
Symbol 1825 MovieClip Frame 1
race = _root.game.right.race;
stop();
Symbol 1829 Button
on (release) {
_root.Pause(false);
gotoAndStop (1);
}
Symbol 1831 MovieClip Frame 1
stop();
Symbol 1834 Button
on (release) {
_root.gotoAndStop("menu");
}
Symbol 1835 Button
on (release) {
if (_root.gametype == 1) {
_root.so.data.mysoldiers = _root.arrleftSoldierChoices;
}
if ((_root.gametype == 3) && (_root.shop_player == "left")) {
_root.gotoAndStop("switchshop");
} else if (_root.gametype == 4) {
_root.mp_ready();
gotoAndStop ("ready");
} else {
_root.shop_player = "left";
_root.gotoAndStop("map");
}
}
Symbol 1839 Button
on (release) {
gotoAndStop ("main");
}
Symbol 1841 Button
on (release) {
gotoAndStop ("buyunits");
}
Symbol 1842 Button
on (release) {
gotoAndStop ("prevunit");
}
Symbol 1844 Button
on (release) {
gotoAndStop ("nextunit");
}
Symbol 1846 Button
on (release) {
_root.MenuSound("coin");
_root.AddUnitType(_root.shop_player, _parent.selectedsoldier);
_root[_root.shop_player + "money"] = _root[_root.shop_player + "money"] - cost;
_root.SaveGame();
_root.goldamount = "Gold: " + _root[_root.shop_player + "money"];
_parent.gotoAndStop(1);
}
Symbol 1850 MovieClip Frame 1
stop();
Symbol 1859 MovieClip Frame 1
function BarWidth(intValue, intMaxValue) {
if (intValue <= intMaxValue) {
intReturn = intValue / intMaxValue;
} else {
intReturn = 1;
}
if (intReturn > intMaxValue) {
intReturn = intMaxValue;
}
return(intReturn * maxbarwidth);
}
maxbarwidth = 200;
bspeed._width = BarWidth(_parent.arrSoldierData[1], 30);
barmour._width = BarWidth(_parent.arrSoldierData[2], 220);
if (_parent.arrSoldierData[13] != true) {
brange._width = BarWidth(_parent.arrSoldierData[4], 250);
txtRange.text = "Melee Range";
} else {
brange._width = BarWidth(_parent.arrSoldierData[4], 1900);
txtRange.text = "Range";
}
bdamage._width = BarWidth(_parent.arrSoldierData[7], 250);
bpreparation._width = BarWidth(_parent.arrSoldierData[3], 400);
buspeed._width = _root.UseUpgrade(bspeed._width, _root.shop_player, _parent.selectedsoldier, "speed");
buarmour._width = _root.UseUpgrade(barmour._width, _root.shop_player, _parent.selectedsoldier, "armour");
if (_parent.arrSoldierData[13] != true) {
burange._width = _root.UseUpgrade(brange._width, _root.shop_player, _parent.selectedsoldier, "range");
} else {
burange._width = _root.UseUpgrade(brange._width, _root.shop_player, _parent.selectedsoldier, "range");
}
budamage._width = _root.UseUpgrade(bdamage._width, _root.shop_player, _parent.selectedsoldier, "attack");
stop();
Symbol 1859 MovieClip Frame 2
trace("Reset");
gotoAndStop (1);
Symbol 1876 Button
on (release) {
gotoAndStop (1);
}
Symbol 1877 Button
on (release) {
_root.MenuSound("coin");
_root.RemoveUnitType(_root.shop_player, _parent.selectedsoldier);
_root[_root.shop_player + "money"] = _root[_root.shop_player + "money"] + price;
_root.SaveGame();
_root.goldamount = "Gold: " + _root[_root.shop_player + "money"];
_parent.gotoAndStop(1);
}
Symbol 1884 MovieClip Frame 1
stop();
blnLeft = true;
ypos = 0;
_root.MenuSound();
if (_root[("arr" + _root.shop_player) + "SoldierChoices"] == undefined) {
trace("say what?");
} else {
i = 0;
while ((i <= _root[("arr" + _root.shop_player) + "SoldierChoices"].length) && (i < 10)) {
arrSoldierData = _root.arrSoldierStats[_root[("arr" + _root.shop_player) + "SoldierChoices"][i]];
unit = shopunits.attachMovie("ShopSoldierItem", "unit" + i, i + 1);
unit._y = ypos;
if (i < _root[("arr" + _root.shop_player) + "SoldierChoices"].length) {
if (i < 4) {
unit.gotoAndStop(2);
} else {
unit.gotoAndStop(1);
}
unit.txtName = _root.UnitName(arrSoldierData[0]);
unit.icon.inner.attachMovie(_root.UnitID(arrSoldierData[0]), "iconsoldier", 1);
unit.icon.inner.iconsoldier.unittype = _root[("arr" + _root.shop_player) + "SoldierChoices"][i];
unit.icon.inner.iconsoldier.player = _root.shop_player;
unit.icon.inner.iconsoldier.race = _root.GetRaceData("Name", _root.MyRace);
unit.icon.inner.iconsoldier._xscale = 40;
unit.icon.inner.iconsoldier._yscale = 40;
unit.i = _root[("arr" + _root.shop_player) + "SoldierChoices"][i];
} else {
unit.gotoAndStop(3);
}
if (blnLeft != true) {
unit._x = 340;
ypos = ypos + 75;
}
blnLeft = !blnLeft;
i++;
}
}
Symbol 1884 MovieClip Frame 10
function HasAlready(soldiernum) {
blnReturn = false;
x = 0;
while (x < _root[("arr" + _root.shop_player) + "SoldierChoices"].length) {
if (_root[("arr" + _root.shop_player) + "SoldierChoices"][x] == soldiernum) {
blnReturn = true;
}
x++;
}
return(blnReturn);
}
function HasAlreadySelected(soldiernum) {
blnReturn = false;
g = 0;
while (g < arrSelected.length) {
if (arrSelected[g] == soldiernum) {
blnReturn = true;
}
g++;
}
return(blnReturn);
}
stop();
blnLeft = true;
ypos = 0;
_root.MenuSound();
c = 1;
rnd = 1;
arrSelected = new Array(9);
i = 0;
while (i < 100) {
rnd++;
arrSoldierData = _root.arrSoldierStats[rnd];
if (((HasAlready(rnd) == false) && (HasAlreadySelected(rnd) == false)) && ((_root.MyRace != 9) || (Number(arrSoldierData[6]) == _root.MyRace))) {
if ((arrSoldierData[6] == "") || (Number(arrSoldierData[6]) == _root.MyRace)) {
unit = shopunits.attachMovie("ShopNewSoldierItem", "unit" + i, i + 1);
unit.i = rnd;
unit._y = ypos;
unit.gotoAndStop(1);
unit.txtName = _root.UnitName(arrSoldierData[0]);
unit.txtType = arrSoldierData[10];
unit.txtPrice = arrSoldierData[5];
unit.icon.inner.attachMovie(_root.UnitID(arrSoldierData[0]), "iconsoldier", 1);
unit.icon.inner.iconsoldier.race = _root.GetRaceData("Name", _root.MyRace);
unit.icon.inner.iconsoldier._xscale = 40;
unit.icon.inner.iconsoldier._yscale = 40;
if (blnLeft != true) {
unit._x = 340;
ypos = ypos + 75;
}
blnLeft = !blnLeft;
c++;
if (c >= 11) {
break;
}
}
}
i++;
}
Symbol 1884 MovieClip Frame 20
function BarWidth(intValue, intMaxValue) {
intReturn = intValue / intMaxValue;
if (intReturn > intMaxValue) {
intReturn = intMaxValue;
}
return(intReturn * maxbarwidth);
}
function inarray(array, item) {
for (iitem in array) {
if (item == array[iitem]) {
return(true);
}
}
return(false);
}
_root.MenuSound();
arrSoldierData = _root.arrSoldierStats[selectedsoldier];
dispsoldier = uicon.inner.attachMovie(_root.UnitID(arrSoldierData[0]), "disp", 1);
dispsoldier._xscale = 40;
dispsoldier._yscale = 40;
dispsoldier.race = _root.GetRaceData("Name", _root.MyRace);
txtTitle._x = 180;
txtTitle._y = 0;
txtTitle.text = _root.UnitName(arrSoldierData[0]);
txtType._x = txtTitle._x;
txtType._y = txtTitle._y + txtTitle._height;
txtType.text = arrSoldierData[10];
txtDescription._x = txtType._x;
txtDescription._y = txtType._y + txtType._height;
txtDescription._width = 440;
maxbarwidth = 200;
statschart.bspeed._width = BarWidth(arrSoldierData[1], 30);
statschart.barmour._width = BarWidth(arrSoldierData[2], 220);
if (arrSoldierData[13] != true) {
statschart.brange._width = BarWidth(arrSoldierData[4], 250);
statschart.txtRange.text = "Melee Range";
} else {
statschart.brang._widthe = BarWidth(arrSoldierData[4], 1900);
statschart.txtRange.text = "Range";
}
statschart.bdamage._width = BarWidth(arrSoldierData[7], 100);
statschart.bpreparation._width = BarWidth(arrSoldierData[3], 400);
txtDescription.text = arrSoldierData[8];
if (arrSoldierData[12].length > 0) {
txtDescription.text = txtDescription.text + (("\n\n " + arrSoldierData[11]) + "% attack bonus against: ");
i = 0;
while (i < arrSoldierData[12].length) {
txtDescription.text = txtDescription.text + _root.arrSoldierStats[arrSoldierData[12][i]][0];
if (i < (arrSoldierData[12].length - 1)) {
txtDescription.text = txtDescription.text + ", ";
}
i++;
}
}
if (_root[("arr" + _root.shop_player) + "SoldierChoices"].length >= 10) {
buyunit.gotoAndStop(3);
} else if (_root[_root.shop_player + "money"] < Number(arrSoldierData[5])) {
buyunit.gotoAndStop(2);
} else {
buyunit.cost = Number(arrSoldierData[5]);
buyunit.txtBuy.text = ("Buy for " + arrSoldierData[5]) + " Gold";
}
txtUpgrades = "";
i = 0;
while (i < _root.arrUpgradeChoices.length) {
if ((((_root.arrUpgradeChoices[i][5].length < 0) || (inarray(_root.arrUpgradeChoices[i][7], selectedsoldier) && (_root.arrUpgradeChoices[i][4] == true))) || ((!inarray(_root.arrUpgradeChoices[i][7], selectedsoldier)) && (_root.arrUpgradeChoices[i][4] == false))) && (((_root.arrUpgradeChoices[i][3] == -1) && (_root.MyRace != 9)) || (_root.arrUpgradeChoices[i][3] == _root.MyRace))) {
txtUpgrades = txtUpgrades + (_root.arrUpgradeChoices[i][0] + ", ");
}
i++;
}
if (txtUpgrades == "") {
txtUpgrades = "None";
} else {
txtUpgrades = txtUpgrades.substr(0, txtUpgrades.length - 2);
}
Symbol 1884 MovieClip Frame 30
function inarray(array, item) {
for (iitem in array) {
if (item == array[iitem]) {
return(true);
}
}
return(false);
}
_root.MenuSound();
arrSoldierData = _root.arrSoldierStats[selectedsoldier];
dispsoldier = uicon.inner.attachMovie(_root.UnitID(arrSoldierData[0]), "disp", 1);
dispsoldier._xscale = 40;
dispsoldier._yscale = 40;
dispsoldier.race = _root.GetRaceData("Name", _root.MyRace);
dispsoldier.unittype = selectedsoldier;
dispsoldier.player = _root.shop_player;
txtTitle._x = 180;
txtTitle._y = 0;
txtTitle.text = _root.UnitName(arrSoldierData[0]);
txtType._x = txtTitle._x;
txtType._y = txtTitle._y + txtTitle._height;
txtType.text = arrSoldierData[10];
txtDescription._x = txtType._x;
txtDescription._y = txtType._y + txtType._height;
txtDescription._width = 440;
txtDescription.text = arrSoldierData[8];
if (arrSoldierData[12].length > 0) {
txtDescription.text = txtDescription.text + (("\n\n " + arrSoldierData[11]) + "% attack bonus against: ");
i = 0;
while (i < arrSoldierData[12].length) {
txtDescription.text = txtDescription.text + _root.arrSoldierStats[arrSoldierData[12][i]][0];
if (i < (arrSoldierData[12].length - 1)) {
txtDescription.text = txtDescription.text + ", ";
}
i++;
}
}
objnum = 0;
i = 0;
while (i < _root.arrUpgradeChoices.length) {
if ((((_root.arrUpgradeChoices[i][5].length < 0) || (inarray(_root.arrUpgradeChoices[i][7], selectedsoldier) && (_root.arrUpgradeChoices[i][4] == true))) || ((!inarray(_root.arrUpgradeChoices[i][7], selectedsoldier)) && (_root.arrUpgradeChoices[i][4] == false))) && (((_root.arrUpgradeChoices[i][3] == -1) && (_root.MyRace != 9)) || (_root.arrUpgradeChoices[i][3] == _root.MyRace))) {
objnum++;
newupgrade = upgrades.attachMovie("ShopUpgradeOption", "u" + objnum, objnum);
newupgrade.txtName = _root.arrUpgradeChoices[i][0];
newupgrade.txtDescription = _root.arrUpgradeChoices[i][9];
newupgrade.txtType = ("Upgrade Type: " + _root.arrUpgradeChoices[i][5].substr(0, 1).toUpperCase()) + _root.arrUpgradeChoices[i][5].substr(1, _root.arrUpgradeChoices[i][5].length - 1);
if (_root.arrUpgradeChoices[i][6] != 0) {
newupgrade.txtType = newupgrade.txtType + ((" +" + _root.arrUpgradeChoices[i][6]) + "%");
}
newupgrade.txtPrice = _root.arrUpgradeChoices[i][1];
newupgrade.i = i;
newupgrade.icon.isicon = true;
if ((_root.arrUpgradeChoices[i][8] != "") && (_root.arrUpgradeChoices[i][8] != undefined)) {
newupgrade.icon.gotoAndStop(_root.arrUpgradeChoices[i][8]);
} else {
newupgrade.icon.gotoAndStop(1);
}
if (_root.HasUpgrade(selectedsoldier, i, _root.shop_player)) {
newupgrade.gotoAndStop(3);
} else if (_root.arrUpgradeChoices[i][1] > _root[shop_player + "money"]) {
newupgrade.gotoAndStop(2);
} else {
newupgrade.gotoAndStop(1);
}
newupgrade._y = (objnum - 1) * 25;
}
i++;
}
upgradeinfo._visible = false;
Instance of Symbol 1874 MovieClip "upgradeinfo" in Symbol 1884 MovieClip Frame 30
onClipEvent (enterFrame) {
_x = ((_parent._xmouse - (this._width / 2)) - 20);
_y = ((_parent._ymouse - (this._height / 2)) - 10);
}
Symbol 1884 MovieClip Frame 40
_root.MenuSound();
Symbol 1884 MovieClip Frame 50
function inarray(array, item) {
for (iitem in array) {
if (item == array[iitem]) {
return(true);
}
}
return(false);
}
_root.MenuSound();
arrSoldierData = _root.arrSoldierStats[selectedsoldier];
trace(arrSoldierData);
dispsoldier = uicon.inner.attachMovie(_root.UnitID(arrSoldierData[0]), "disp", 1);
dispsoldier._xscale = 40;
dispsoldier._yscale = 40;
dispsoldier.race = _root.GetRaceData("Name", _root.MyRace);
txtTitle._x = 180;
txtTitle._y = 0;
txtTitle.text = _root.UnitName(arrSoldierData[0]);
txtType._x = txtTitle._x;
txtType._y = txtTitle._y + txtTitle._height;
txtType.text = arrSoldierData[10];
txtDescription._x = txtType._x;
txtDescription._y = txtType._y + txtType._height;
txtDescription._width = 440;
txtDescription.text = arrSoldierData[8];
if (arrSoldierData[12].length > 0) {
txtDescription.text = txtDescription.text + (("\n\n " + arrSoldierData[11]) + "% attack bonus against: ");
i = 0;
while (i < arrSoldierData[12].length) {
txtDescription.text = txtDescription.text + _root.arrSoldierStats[arrSoldierData[12][i]][0];
if (i < (arrSoldierData[12].length - 1)) {
txtDescription.text = txtDescription.text + ", ";
}
i++;
}
}
sellunit.price = Math.round(Number(arrSoldierData[5]) / 2);
sellunit.txtBuy.text = ("Sell for " + sellunit.price) + " Gold";
objnum = 0;
Symbol 1884 MovieClip Frame 61
trace("Finding Next...");
i = 0;
while (i < _root.arrSoldierStats.length) {
selectedsoldier++;
trace(_root[("arr" + _root.shop_player) + "SoldierChoices"].length);
if (selectedsoldier >= _root.arrSoldierStats.length) {
selectedsoldier = 0;
}
arrSoldierData = _root.arrSoldierStats[selectedsoldier];
if ((_root[("arr" + _root.shop_player) + "SoldierChoices"].length <= 4) && (arrSoldierData[10] == "Magic Caster")) {
trace(_root.arrSoldierStats[selectedsoldier][0] + " is a magic caster and cannot yet be purchased");
} else if (HasAlready(selectedsoldier) == false) {
arrSoldierData = _root.arrSoldierStats[selectedsoldier];
if (((arrSoldierData[6] == "") || (Number(arrSoldierData[6]) == _root.MyRace)) && (((_root.MyRace != 9) || (selectedsoldier == 5)) || (Number(arrSoldierData[6]) == _root.MyRace))) {
gotoAndStop ("viewnewunit");
break;
}
trace("Not for this race: " + _root.arrSoldierStats[selectedsoldier][0]);
} else {
trace("Already have: " + _root.arrSoldierStats[selectedsoldier][0]);
}
i++;
}
Symbol 1884 MovieClip Frame 65
trace("Finding Prev...");
i = 0;
while (i < _root.arrSoldierStats.length) {
selectedsoldier--;
if (selectedsoldier < 0) {
selectedsoldier = _root.arrSoldierStats.length - 1;
}
arrSoldierData = _root.arrSoldierStats[selectedsoldier];
if ((_root[("arr" + _root.shop_player) + "SoldierChoices"].length <= 4) && (arrSoldierData[10] == "Magic Caster")) {
trace(_root.arrSoldierStats[selectedsoldier][0] + " is a magic caster and cannot yet be purchased");
} else if (HasAlready(selectedsoldier) == false) {
arrSoldierData = _root.arrSoldierStats[selectedsoldier];
if (((arrSoldierData[6] == "") || (Number(arrSoldierData[6]) == _root.MyRace)) && (((_root.MyRace != 9) || (selectedsoldier == 5)) || (Number(arrSoldierData[6]) == _root.MyRace))) {
gotoAndStop ("viewnewunit");
break;
}
trace("Not for this race: " + _root.arrSoldierStats[selectedsoldier][0]);
} else {
trace("Already have: " + _root.arrSoldierStats[selectedsoldier][0]);
}
i++;
}
Symbol 1890 MovieClip Frame 1334
stop();
Symbol 1892 Button
on (release, keyPress "<Space>") {
_root.gotoAndStop("shop");
}
Symbol 1902 MovieClip Frame 1
_root.PlayMusic("intro");
Symbol 1902 MovieClip Frame 1419
_root.gotoAndStop("shop");
Symbol 1907 MovieClip Frame 416
stop();
Symbol 1909 Button
on (release, keyPress "<Space>") {
gotoAndStop ("unlock");
}
Symbol 1920 Button
on (release, keyPress "<Space>") {
_root.gotoAndStop("finalcredits");
}
Symbol 1921 MovieClip Frame 1
stopAllSounds();
_root["Completed" + _root.MyRace] = true;
_root.so.data["Completed" + _root.MyRace] = true;
_root.so.data.race = undefined;
if (_root.MyRace == 8) {
_root.NGMedal("Rise of Demons");
} else if (_root.MyRace == 9) {
_root.NGMedal("Judgement Day");
}
i = 0;
while (i < _root.arrRegionData.length) {
_root.so.data[("level" + i) + "owner"] = undefined;
i++;
}
_root.completedcount = 0;
i = 0;
while (i < 10) {
if (_root["Completed" + i] == true) {
trace("Finished with " + i);
_root.completedcount++;
}
i++;
}
if (_root.completedcount >= 10) {
_root.NGMedal("Ultimate Warlord");
}
unlocklabel = "You have unlocked:";
switch (_root.completedcount) {
case 1 :
unlock = "Race: the Demons";
break;
case 3 :
unlock = "Race: The Arnolds";
break;
default :
unlock = "";
unlocklabel = "";
}
if (_root.MyRace == 8) {
gotoAndStop ("unlock");
}
Symbol 1921 MovieClip Frame 548
txtStory = _root.arrRacesDataArray[_root.MyRace][6];
Symbol 1921 MovieClip Frame 557
stop();
Symbol 1927 Button
on (release, keyPress "<Space>") {
_root.gotoAndStop("finalcredits");
}
Symbol 1929 MovieClip Frame 1
_root.PlayMusic("Map_Music");
Symbol 1929 MovieClip Frame 38
stop();
Symbol 1959 MovieClip Frame 1
race = _root.GetRaceData("Name", _root.MyRace);
Symbol 1960 Button
on (release, keyPress "<Space>") {
_root.gotoAndStop("menu");
}
Symbol 1963 MovieClip Frame 125
_root.gotoAndStop("menu");
Symbol 1970 Button
on (press) {
getURL ("http://www.armorgames.com", "_blank");
}
Symbol 1973 MovieClip Frame 1
_root.stop();
gotoAndPlay (2);
Symbol 1973 MovieClip Frame 218
_root.gotoAndStop("bogintro");
Symbol 1976 Button
on (release) {
_root.getURL("http://flashgamedistribution.com/profile/DJStatika?source=Warlords2", "_blank");
}
on (keyPress "s") {
if (_url.indexOf("file://") > -1) {
gotoAndStop ("menu");
}
}
Symbol 1981 MovieClip Frame 1
attackedmessage = ((_root.GetRegionData("Name", _root.UnderAttack) + " is under attack by the the ") + _root.GetRaceData("Full Name", _root.Attackers)) + "!";
Symbol 1982 Button
on (release) {
_root.gotoAndStop("Game");
}