Frame 1
function f_FireProjectile(o_Source, n_TypeID, n_TeamID, n_ShotGroupID, n_AngleOffset, n_StartOffSet, n_Strength) {
var _local2;
var _local3 = 0;
var _local4;
var _local8 = _root.n_ShotTime;
while ((_local3 <= _root.n_ProjectilesUpperLimit) && (_local4 == undefined)) {
_local2 = _root.o_ObjectContainer["Projectile_" + _local3.toString()];
if (_local2 == undefined) {
_local4 = _local3;
}
_local3++;
}
if (((_local4 != undefined) && (_root.n_Ammo > 0)) && ((_root.d_LastShot == undefined) || (_root.f_OverTimeDiff(_root.d_LastShot, new Date(), _local8)))) {
_local2 = _root.o_ObjectContainer.attachMovie("Projectile", "Projectile_" + _local4.toString(), _root.o_ObjectContainer.getNextHighestDepth());
_local2._x = o_Source._x;
_local2._y = o_Source._y;
if (n_TeamID == 1) {
if (_root.o_Upgrades[7][0] == 1) {
_local2.o_Graphic.gotoAndStop("Type_" + _root.n_QuadDamageProjectileNumber.toString());
_local2.n_Strength = _root.n_ProjectileBaseDamage * _root.n_QuadDamageMultiplier;
} else {
_local2.o_Graphic.gotoAndStop("Type_" + n_TypeID.toString());
_local2.n_Strength = _root.n_ProjectileBaseDamage;
}
} else {
_local2.o_Graphic.gotoAndStop("Type_" + n_TypeID.toString());
_local2.n_Strength = n_Strength;
}
_local2.n_TypeID = n_TypeID;
_local2.n_TeamID = n_TeamID;
_local2.n_Timer = _root.n_ProjectileDistance;
_local2.d_Created = new Date();
_local2.b_Init = true;
if (n_TeamID == 1) {
_local2.n_Angle = (o_Source.o_TurretPoint._rotation + n_AngleOffset) + n_StartOffSet;
_local2.n_FireSpeed = _root.n_ProjectileVelocity + ((_root.n_ProjectileVelocity / 100) * (_root.n_ProjectileRandomPerc * Math.random()));
_root.n_ProjectileRegen = _root.n_ProjectileRegenLimit;
_root.LastShot = new Date();
_local2.n_ShotGroupID = n_ShotGroupID;
_root.a_ShotGrouping[_root.n_ShotGroupCurrent]++;
} else {
_local2.n_Angle = (o_Source._rotation + n_AngleOffset) + 180;
_local2.n_FireSpeed = _root.n_ProjectileVelocity / 4;
_root.f_ProjectObject(_local2, _local2.n_Angle, 40);
_root.f_PlaySound("o_Sounds", "AlienFire");
_local2.n_ShotGroupID = -1;
}
return(true);
}
return(false);
}
function f_MoveProjectile(o_Projectile) {
var _local5 = 1;
var _local6 = -7.83205965360079E-15;
var _local2 = (o_Projectile.n_Angle - 90) / 57.2957795130823;
var _local4 = o_Projectile.n_FireSpeed * Math.cos(_local2);
var _local3 = o_Projectile.n_FireSpeed * Math.sin(_local2);
o_Projectile._x = o_Projectile._x + _local4;
o_Projectile._y = o_Projectile._y + _local3;
}
function f_EndShotGrouping(n_ShotGroupID) {
var _local6 = _root.o_LevelProgress.n_MaxValue;
var _local4;
var _local3;
var _local2;
if (_root.a_ShotGroupingKillCounts[n_ShotGroupID] > 0) {
_local2 = _root.a_ShotGroupingKillCounts[n_ShotGroupID] - 1;
if (_local2 > (o_ScoreMultiplierArray.length - 1)) {
_local2 = o_ScoreMultiplierArray.length - 1;
}
_local4 = Math.round(_root.a_ShotGroupingKillPoints[n_ShotGroupID] * _root.o_ScoreMultiplierArray[_local2][0]);
if (!isNaN(_local4)) {
_root.o_LevelProgress.n_CurrentValue = _root.o_LevelProgress.n_CurrentValue + _local4;
_root.n_Score = _root.n_Score + _local4;
}
_local3 = _root.o_ScoreMultiplierArray[_local2][1] + " Kill";
if (_root.a_ShotGroupingKillCounts[n_ShotGroupID] != 1) {
_local3 = _local3 + ((" (x" + _root.o_ScoreMultiplierArray[_local2][0]) + " bonus)");
}
if (_root.o_LevelProgress.n_CurrentValue >= _local6) {
_root.f_SetLevel(_root.n_Level + 1);
}
}
if ((_local3 != undefined) && (_local3 != "")) {
_root.f_ShowMessage(_local3);
}
}
function f_FireObject() {
var _local2;
var _local5;
var _local6 = _root.o_LevelArray[_root.n_Level - 1][3];
var _local3 = 0;
var _local4;
if ((_root.d_LastObject == undefined) || (_root.f_OverTimeDiff(_root.d_LastObject, new Date(), _local6))) {
_local5 = _root.n_NextObject;
_root.f_ChooseNextObject();
while ((_local3 <= _root.n_ObjectsUpperLimit) && (_local4 == undefined)) {
_local2 = _root.o_ObjectContainer["Object_" + _local3.toString()];
if (_local2 == undefined) {
_local4 = _local3;
}
_local3++;
}
if (_local4 != undefined) {
_local2 = _root.o_ObjectContainer.attachMovie("Object", "Object_" + _local4.toString(), _root.o_ObjectContainer.getNextHighestDepth());
_local2._y = _root.n_ObjectCreateXUpper + (Math.random() * _root.n_ObjectCreateXLower);
_local2.n_Direction = (((Math.random() * 100) < 50) ? 1 : -1);
if (_local2.n_Direction == 1) {
_local2._x = -100;
} else {
_local2._x = _root.n_GameWidth + 100;
}
_local2.n_TypeID = _local5;
_local2.b_Init = true;
_local2.n_Strength = _root.o_ObjectArray[_local5 - 1][10];
_local2.o_Strength.n_MaxValue = _root.o_ObjectArray[_local5 - 1][10];
_local2.o_Strength.n_CurrentValue = _local2.o_Strength.n_MaxValue;
_local2.n_ShotStrength = _root.o_ObjectArray[_local5 - 1][9];
_local2.n_Speed = 100 * (_root.o_ObjectArray[_local5 - 1][1] / ((100 - (_root.n_ObjectSpeedVar / 2)) + (Math.random() * _root.n_ObjectSpeedVar)));
_local2.n_X = _local2._x;
_local2.n_Y = _local2._y;
_local2.n_Points = _root.o_ObjectArray[_local5 - 1][8];
_local2.b_Dead = false;
_local2.n_SinMulti = _root.o_ObjectArray[_local5 - 1][3] + Math.random(_root.o_ObjectArray[_local5 - 1][3]);
_local2.n_SinStep = _root.o_ObjectArray[_local5 - 1][2];
_local2.n_SinPos = Math.round(Math.random(360));
_local2.n_CosMulti = _root.o_ObjectArray[_local5 - 1][5] + Math.random(_root.o_ObjectArray[_local5 - 1][5]);
_local2.n_CosStep = _root.o_ObjectArray[_local5 - 1][4];
_local2.n_CosPos = Math.round(Math.random(360));
_local2.o_Graphics.gotoAndStop("Type_" + _local5.toString());
_root.d_LastObject = new Date();
return(true);
}
return(false);
}
return(false);
}
function f_ChooseNextObject() {
if ((_root.n_NextObject == undefined) && (_root.n_ThenObject == undefined)) {
if (_root.n_LevelAlienLevel == _root.n_LevelAlienLevelLower) {
_root.n_NextObject = _root.n_LevelAlienLevelLower;
} else {
_root.n_NextObject = _root.n_LevelAlienLevelLower + Math.round(Math.random() * (_root.n_LevelAlienLevel - _root.n_LevelAlienLevelLower));
}
} else {
_root.n_NextObject = _root.n_ThenObject;
}
if (_root.n_LevelAlienLevel == _root.n_LevelAlienLevelLower) {
_root.n_ThenObject = _root.n_LevelAlienLevelLower;
} else {
_root.n_ThenObject = _root.n_LevelAlienLevelLower + Math.round(Math.random() * (_root.n_LevelAlienLevel - _root.n_LevelAlienLevelLower));
}
}
function f_PopObject(o_Object, b_GetScore) {
var _local4;
var _local3 = o_Object._name.toString().split("_");
var _local5 = "Explosion_" + _local3[_local3.length - 1];
if (b_GetScore) {
if (!o_Object.b_Dead) {
_local4 = _root.o_ObjectContainer.attachMovie("Explosions", _local5, _root.o_ObjectContainer.getNextHighestDepth(), {_x:o_Object._x, _y:o_Object._y});
_local4.gotoAndPlay("Type_2");
n_Counter = 1;
while (n_Counter <= _root.n_PickupsPerObject) {
_root.f_FirePickup(1, 1, o_Object._x, o_Object._y, _root.o_ObjectArray[o_Object.n_TypeID - 1][11]);
n_Counter++;
}
if (!_root.f_IsPowerupActive(_root.o_LevelArray[_root.n_Level][4])) {
_root.f_FirePickup(2, _root.o_LevelArray[_root.n_Level][4], o_Object._x, o_Object._y, _root.o_ObjectArray[o_Object.n_TypeID - 1][11]);
}
if (isNaN(_root.a_ShotGroupingKillCounts[o_Object.n_ShotGroupID])) {
_root.a_ShotGroupingKillCounts[o_Object.n_ShotGroupID] = 0;
_root.a_ShotGroupingKillPoints[o_Object.n_ShotGroupID] = 0;
}
_root.a_ShotGroupingKillCounts[o_Object.n_ShotGroupID]++;
_root.a_ShotGroupingKillPoints[o_Object.n_ShotGroupID] = _root.a_ShotGroupingKillPoints[o_Object.n_ShotGroupID] + o_Object.n_Points;
o_Object.b_Dead = true;
_root.f_PlaySound("o_Explosions", "PopSmall");
}
}
o_Object.removeMovieClip();
}
function f_FirePickup(n_TypeID, n_SubTypeID, n_X, n_Y, n_AmmoMultiplier) {
var _local3;
var _local4;
var _local2 = 0;
while ((_local2 <= _root.n_ObjectsUpperLimit) && (_local4 == undefined)) {
_local3 = _root.o_ObjectContainer["Pickup_" + _local2.toString()];
if (_local3 == undefined) {
_local4 = _local2;
}
_local2++;
}
if (_local4 != undefined) {
_local3 = _root.o_ObjectContainer.attachMovie("Pickup", "Pickup_" + _local4.toString(), _root.o_ObjectContainer.getNextHighestDepth(), {_x:n_X, _y:n_Y});
_root.n_PickupCounter++;
if (_root.n_PickupCounter > _root.n_PickupsUpperLimit) {
_root.n_PickupCounter = 0;
}
_local3.n_XVelocity = Math.random() * _root.n_PickupMaxXVelocity;
_local3.n_YVelocity = (Math.random() * _root.n_PickupMaxYVelocity) * -1;
_local3.n_Direction = (((Math.random() * 100) < 50) ? 1 : -1);
_local3.b_Moving = true;
_local3.n_TypeID = n_TypeID;
_local3.n_SubTypeID = n_SubTypeID;
_local3.n_AmmoMultiplier = n_AmmoMultiplier;
_local3.o_Graphics.gotoAndStop((("" + n_TypeID.toString()) + "_") + n_SubTypeID.toString());
_local3.b_Init = true;
}
return(true);
}
function f_ApplyFall(o_Object) {
o_Object._x = o_Object._x + (o_Object.n_XVelocity * o_Object.n_Direction);
if (o_Object._x > _root.n_GameWidth) {
o_Object._x = _root.n_GameWidth;
} else if (o_Object._x < 0) {
o_Object._x = 0;
}
o_Object.n_YVelocity = o_Object.n_YVelocity + _root.n_PickupGravity;
if (o_Object.n_YVelocity > _root.n_PickupMaxYVelocity) {
o_Object.n_YVelocity = _root.n_PickupMaxYVelocity;
}
o_Object._y = o_Object._y + o_Object.n_YVelocity;
if (o_Object._y > _root.n_Floor) {
o_Object._y = _root.n_Floor;
o_Object.b_Moving = false;
_root.f_PlaySound("o_Explosions", "ItemHitFloor");
}
}
function f_SetLevel(n_NewLevel) {
_root.n_Level = n_NewLevel;
if (_root.n_Level > (_root.o_LevelArray.length - 1)) {
_root.f_EndGame(true);
} else {
_root.o_LevelText.text = (_root.n_Level.toString() + " of ") + (_root.o_LevelArray.length - 1).toString();
_root.o_LevelProgress.n_CurrentValue = 0;
_root.o_LevelProgress.n_MaxValue = _root.o_LevelArray[_root.n_Level][0];
_root.n_Level = n_NewLevel;
_root.n_LevelAlienLevel = _root.o_LevelArray[_root.n_Level][2];
_root.n_LevelAlienLevelLower = _root.o_LevelArray[_root.n_Level][1];
_root.f_SaveLevel();
_root.f_ShowMessage("Level " + _root.n_Level);
}
}
function f_ShowScores(b_ClearScores) {
if (b_ClearScores) {
_root.n_Score = 0;
}
_root.gotoAndPlay("HiScores");
}
function f_StartGame() {
var _local4;
var _local5 = new Date(new Date().getTime() - 100000);
var _local3;
if (!_root.b_GameInit) {
Mouse.hide();
_root.n_Score = 0;
n_Ammo = _root.n_AmmoAtStart;
_root.d_LastPause = undefined;
_root.b_Paused = false;
_root.n_CurrentWeapon = 0;
_root.n_TurretHealth = _root.n_TurretHealthStart;
this.o_ObjectContainer.o_Turret.o_TurretHealth.n_MaxValue = _root.n_TurretHealth;
this.o_ObjectContainer.o_Turret.o_TurretHealth.n_CurrentValue = _root.n_TurretHealth;
_root.o_Upgrades = [[0, _local5, _local5, 0, 1000, "Standard Shot", true, 1, 10, 5, 10, _local5], [0, _local5, _local5, 0, 10000, "Health Pack", _root.b_Debugging, 1, 10, 5, 25, _local5], [0, _local5, _local5, 20000, 50000, "Scatter Shot", _root.b_Debugging, 1, 10, 5, 10, _local5], [0, _local5, _local5, 30000, 50000, "Mirror Turret", _root.b_Debugging, 1, 10, 5, 25, _local5], [0, _local5, _local5, 10000, 40000, "Freeze Ray", _root.b_Debugging, 1, 10, 5, 25, _local5], [0, _local5, _local5, 0, 40000, "Smartbomb", _root.b_Debugging, 1, 10, 5, 100, _local5], [0, _local5, _local5, 20000, 60000, "Invulnerability", _root.b_Debugging, 1, 10, 5, 100, _local5], [0, _local5, _local5, 20000, 50000, "Quad Damage", _root.b_Debugging, 1, 10, 5, 75, _local5]];
_local4 = 0;
while (_local4 < _root.o_Upgrades.length) {
_root["o_Powerup_" + _local4.toString()].n_UpgradeNumber = _local4;
_local4++;
}
_root.n_TurretVelocity = 0;
_root.n_ShotGroupCurrent = 0;
_root.n_NextObject = undefined;
_root.n_ThenObject = undefined;
_root.n_ProjectilesCounter = 0;
_root.n_PickupCounter = 0;
o_Turret._x = _root._width / 2;
_root.b_GameInit = true;
if ((_root.b_StartFromLast && (_root.n_LastScore != undefined)) && (_root.n_LastLevel != (_root.o_LevelArray.length - 1))) {
_root.f_GetLevel();
_root.n_Score = _root.n_LastScore;
_root.n_TurretHealth = _root.n_LastHealth;
_root.n_Ammo = _root.n_LastAmmo;
_root.f_SetLevel(_root.n_LastLevel);
if (_root.n_LastTechLevel <= _root.o_LevelArray[_root.n_LastLevel][4]) {
_root.n_LastTechLevel = _root.o_LevelArray[_root.n_LastLevel][4];
}
_local3 = 0;
while (_local3 <= _root.o_Upgrades.length) {
if (_local3 <= _root.n_LastTechLevel) {
_root.f_EnablePowerup(_local3);
}
_local3++;
}
} else {
_root.f_ResetLevel();
_root.f_SetLevel(1);
}
_root.f_ChooseNextObject();
_root.a_MessageArray = new Array();
_root.d_MessageLast = undefined;
}
}
function f_EndGame(b_Win) {
Mouse.show();
this.onEnterFrame = undefined;
_root.b_GameInit = false;
if (b_Win) {
_root.n_Score = _root.n_Score + _root.n_ScoreBonusForFinishing;
_root.o_WinFlash.gotoAndPlay("Effect");
_root.gotoAndPlay("Win");
} else {
_root.o_ObjectContainer.o_Turret.gotoAndPlay("Death");
_root.n_TurretHealth = 0;
_root.stop();
}
}
function f_OverTimeDiff(d_DateFrom, d_DateTo, n_MillisecondsDiff) {
var _local2 = d_DateFrom.getTime();
var _local1 = d_DateTo.getTime();
if (((_local2 + n_MillisecondsDiff) <= _local1) || (_local2 >= (_local1 + n_MillisecondsDiff))) {
return(true);
}
return(false);
}
function f_TimeDiff(d_DateFrom, d_DateTo) {
var _local2 = d_DateFrom.getTime();
var _local1 = d_DateTo.getTime();
return(_local1 - _local2);
}
function f_TogglePause() {
if ((f_TimeDiff(_root.d_LastPause, new Date()) > 1000) || (_root.d_LastPause == undefined)) {
if (!_root.b_Paused) {
_root.b_PausedMusic = _root.b_SoundsOn;
if (_root.b_PausedMusic) {
_root.f_ToggleSounds();
}
} else if (_root.b_PausedMusic) {
_root.f_ToggleSounds();
}
_root.b_Paused = !_root.b_Paused;
_root.d_LastPause = new Date();
}
}
function f_ProjectObject(o_Object, n_Angle, n_Movement) {
var _local4 = 1;
var _local7 = -7.83205965360079E-15;
var _local1 = (n_Angle - 90) / 57.2957795130823;
var _local3 = n_Movement * Math.cos(_local1);
var _local2 = n_Movement * Math.sin(_local1);
o_Object._x = o_Object._x + _local3;
o_Object._y = o_Object._y + _local2;
}
function f_DegreeTransform(n_CurrentPosition, n_ChangeVal) {
return((n_CurrentPosition + n_ChangeVal) % 360);
}
function f_DistanceToObject(o_Source, o_Destination) {
var _local3;
var _local2;
var _local1;
_local2 = o_Source._x - o_Destination._x;
_local1 = o_Source._y - o_Destination._y;
_local3 = Math.sqrt((_local2 * _local2) + (_local1 * _local1));
return(_local3);
}
function f_AngleToObject(o_Source, o_Destination) {
var _local2;
var _local4;
var _local3;
_local4 = o_Destination._x - o_Source._x;
_local3 = -1 * (o_Destination._y - o_Source._y);
_local2 = Math.atan2(_local3, _local4);
_local2 = Math.round((_local2 / Math.PI) * 180);
return(_root.f_DegreeTransform((-1 * _local2) + 90, 0));
}
function f_ShortestRoute(n_SourceAngle, n_DestAngle) {
var _local1;
if (n_DestAngle > n_SourceAngle) {
if ((n_DestAngle - n_SourceAngle) >= 180) {
_local1 = -1;
} else {
_local1 = 1;
}
} else if (n_DestAngle < n_SourceAngle) {
if ((n_SourceAngle - n_DestAngle) >= 180) {
_local1 = 1;
} else {
_local1 = -1;
}
} else {
_local1 = 0;
}
return(_local1);
}
function f_DistanceToAngle(n_SourceAngle, n_DestAngle) {
return(f_DegreeTransform(n_SourceAngle - n_DestAngle, 0));
}
function f_ShowMessage(s_Text) {
a_MessageArray.push(s_Text);
}
function f_DoMessages() {
var _local2;
var _local3;
if (_root.a_MessageArray.length > 0) {
if (_root.f_TimeDiff(_root.d_MessageLast, new Date()) >= _root.n_MessageDelay) {
_local2 = _root.attachMovie("Messages", "Messages", _root.getNextHighestDepth());
_local3 = _root.a_MessageArray.pop();
_local2._x = _root.n_GameWidth / 2;
_local2._y = _root.n_GameHeight / 2;
_local2.o_InnerText.o_Text.text = _local3;
_local2.gotoAndPlay(0);
_root.d_MessageLast = new Date();
}
}
}
function f_ToggleSounds() {
var _local2 = new Date();
var _local3 = SharedObject.getLocal("GameSettings");
if (d_SoundsToggle == undefined) {
d_SoundsToggle = new Date(1999, 12, 31, 23, 59, 59, 0);
}
if (_root.f_OverTimeDiff(_root.d_SoundsToggle, _local2, 100)) {
_root.b_SoundsOn = !_root.b_SoundsOn;
_local3.data.b_SoundsOn = _root.b_SoundsOn;
if (_root.b_SoundsOn) {
_root.f_PlaySound("o_Sounds", "GameMusic");
} else {
stopAllSounds();
}
_root.d_SoundsToggle = _local2;
}
}
function f_PlaySound(s_Group, s_Sound) {
if (_root.b_SoundsOn) {
_root[s_Group].gotoAndPlay(s_Sound);
}
}
function f_ActivateUpgrade(n_UpgradeID) {
var _local3;
var _local12;
var _local9;
var _local10;
var _local11;
var _local13;
var _local6 = false;
var _local5;
var _local7 = _root.o_Upgrades[_root.n_MirrorTurretID][0];
var _local8;
var _local4;
if ((_root.o_Upgrades[n_UpgradeID][6] == 1) && (_root.f_IsPowerupReady(n_UpgradeID))) {
_root.n_StatsWeaponsFired++;
_local13 = _root.f_UpgradeActivationTime(n_UpgradeID);
if (_root.o_Upgrades[_root.n_ScatterShotID][0]) {
_local4 = _root.n_ProjectilesVarianceScatter;
} else {
_local4 = _root.n_ProjectilesVariance;
}
if (n_UpgradeID == 0) {
if (_root.n_Ammo > 0) {
_root.n_ShotGroupCurrent++;
if (_root.n_ShotGroupCurrent >= _root.n_ShotGroupMax) {
_root.n_ShotGroupCurrent = 0;
}
_root.a_ShotGrouping[_root.n_ShotGroupCurrent] = 0;
_root.a_ShotGroupingKillCounts[_root.n_ShotGroupCurrent] = 0;
_root.a_ShotGroupingKillPoints[_root.n_ShotGroupCurrent] = 0;
if (_local7) {
_local8 = _root.o_ObjectContainer.o_Turret.o_TurretPointCopy._rotation - _root.o_ObjectContainer.o_Turret.o_TurretPoint._rotation;
}
n_ShotCounter = 1;
while (n_ShotCounter <= _root.o_Upgrades[n_UpgradeID][10]) {
if (_root.n_Ammo > 0) {
_root.f_FireProjectile(_root.o_ObjectContainer.o_Turret, 1, 1, _root.n_ShotGroupCurrent, (Math.random() * _local4) - (_local4 / 2), 0, _local3.n_ShotStrength);
_root.n_Ammo--;
if (_local7) {
_root.f_FireProjectile(_root.o_ObjectContainer.o_Turret, 1, 1, _root.n_ShotGroupCurrent, (Math.random() * _local4) - (_local4 / 2), _local8, _local3.n_ShotStrength);
}
}
n_ShotCounter++;
}
_local12 = _root.o_ObjectContainer.attachMovie("SmokeWhisp", "o_Smoke", _root.o_ObjectContainer.getNextHighestDepth(), {_x:_root.o_ObjectContainer.o_Turret._x, _y:_root.o_ObjectContainer.o_Turret._y});
_local12._rotation = _root.o_ObjectContainer.o_Turret.o_TurretPoint._rotation - 90;
_local9 = _root.o_ObjectContainer.attachMovie("SmokeWhisp", "o_Smoke", _root.o_ObjectContainer.getNextHighestDepth(), {_x:_root.o_ObjectContainer.o_Turret._x, _y:_root.o_ObjectContainer.o_Turret._y});
_local9._rotation = _root.o_ObjectContainer.o_Turret.o_TurretPoint._rotation + 90;
_root.f_ProjectObject(_local12, _root.o_ObjectContainer.o_Turret.o_TurretPoint._rotation, 35);
_root.f_ProjectObject(_local9, _root.o_ObjectContainer.o_Turret.o_TurretPoint._rotation, 35);
_root.o_ObjectContainer.o_Turret.o_TurretPoint.gotoAndPlay("Fire");
if (_local7) {
_local10 = _root.o_ObjectContainer.attachMovie("SmokeWhisp", "o_Smoke", _root.o_ObjectContainer.getNextHighestDepth(), {_x:_root.o_ObjectContainer.o_Turret._x, _y:_root.o_ObjectContainer.o_Turret._y});
_local10._rotation = _root.o_ObjectContainer.o_Turret.o_TurretPointCopy._rotation - 90;
_local11 = _root.o_ObjectContainer.attachMovie("SmokeWhisp", "o_Smoke", _root.o_ObjectContainer.getNextHighestDepth(), {_x:_root.o_ObjectContainer.o_Turret._x, _y:_root.o_ObjectContainer.o_Turret._y});
_local11._rotation = _root.o_ObjectContainer.o_Turret.o_TurretPointCopy._rotation + 90;
_root.f_ProjectObject(_local10, _root.o_ObjectContainer.o_Turret.o_TurretPointCopy._rotation, 35);
_root.f_ProjectObject(_local11, _root.o_ObjectContainer.o_Turret.o_TurretPointCopy._rotation, 35);
_root.o_ObjectContainer.o_Turret.o_TurretPointCopy.gotoAndPlay("Fire");
}
if (_root.o_Upgrades[7][0] == 1) {
_root.f_PlaySound("o_Sounds", "Quad");
} else {
_root.f_PlaySound("o_Sounds", "Shot");
}
_local6 = true;
}
} else if (n_UpgradeID == 4) {
if (_root.n_Ammo >= _root.o_Upgrades[n_UpgradeID][10]) {
_root.o_FreezeRay.gotoAndPlay("FreezeAnimation");
_root.n_Ammo = _root.n_Ammo - _root.o_Upgrades[n_UpgradeID][10];
_local5 = 0;
while (_local5 <= _root.n_ObjectsUpperLimit) {
_local3 = _root.o_ObjectContainer["Object_" + _local5.toString()];
if (_local3 != undefined) {
_local3.b_Frozen = true;
_local3.d_FrozenFrom = new Date();
_local3.n_FrozenLength = _root.o_Upgrades[n_UpgradeID][3];
}
_local5++;
}
_root.f_PlaySound("o_Sounds", "Electric");
_local6 = true;
} else {
_root.f_ShowMessage(("Not Enough Ammo (" + _root.o_Upgrades[n_UpgradeID][10]) + " needed)");
}
} else if (n_UpgradeID == 3) {
if (_root.n_Ammo >= _root.o_Upgrades[n_UpgradeID][10]) {
_root.f_PlaySound("o_Sounds", "Spawn");
_root.f_ShowMessage("Mirror Turret Activated");
_local6 = true;
} else {
_root.f_ShowMessage(("Not Enough Ammo (" + _root.o_Upgrades[n_UpgradeID][10]) + " needed)");
}
} else if (n_UpgradeID == 5) {
if (_root.n_Ammo >= _root.o_Upgrades[n_UpgradeID][10]) {
_root.o_Smartbomb.gotoAndPlay("SmartbombAnimation");
_root.n_Ammo = _root.n_Ammo - _root.o_Upgrades[n_UpgradeID][10];
_root.f_PlaySound("o_Explosions", "Smartbomb");
_local6 = true;
} else {
_root.f_ShowMessage(("Not Enough Ammo (" + _root.o_Upgrades[n_UpgradeID][10]) + " needed)");
}
} else if (n_UpgradeID == 1) {
if (_root.n_Ammo >= _root.o_Upgrades[n_UpgradeID][10]) {
_root.n_Ammo = _root.n_Ammo - _root.o_Upgrades[n_UpgradeID][10];
_root.n_TurretHealth = _root.n_TurretHealth + ((_root.n_TurretHealthStart / 100) * _root.n_TurretHealthUpPerc);
if (_root.n_TurretHealth > _root.n_TurretHealthStart) {
_root.n_TurretHealth = _root.n_TurretHealthStart;
}
_root.o_ObjectContainer.o_Turret.o_Recharge.gotoAndPlay("Recharge");
_root.f_PlaySound("o_Sounds", "Spawn");
_root.f_ShowMessage(("+" + _root.n_TurretHealthUpPerc.toString()) + "% Health");
_local6 = true;
} else {
_root.f_ShowMessage(("Not Enough Ammo (" + _root.o_Upgrades[n_UpgradeID][10]) + " needed)");
}
} else if (n_UpgradeID == _root.n_ScatterShotID) {
if (_root.n_Ammo >= _root.o_Upgrades[n_UpgradeID][10]) {
_root.n_Ammo = _root.n_Ammo - _root.o_Upgrades[n_UpgradeID][10];
_root.f_PlaySound("o_Sounds", "Spawn");
_root.f_ShowMessage("Scattershot Active");
_local6 = true;
} else {
_root.f_ShowMessage(("Not Enough Ammo (" + _root.o_Upgrades[n_UpgradeID][10]) + " needed)");
}
} else if (n_UpgradeID == 6) {
if (_root.n_Ammo >= _root.o_Upgrades[n_UpgradeID][10]) {
_root.n_Ammo = _root.n_Ammo - _root.o_Upgrades[n_UpgradeID][10];
_root.f_ShowMessage("Invulnerability Active");
_root.o_ObjectContainer.o_Turret.o_Invul.gotoAndPlay("Invul");
_local6 = true;
} else {
_root.f_ShowMessage(("Not Enough Ammo (" + _root.o_Upgrades[n_UpgradeID][10]) + " needed)");
}
} else if (n_UpgradeID == 7) {
if (_root.n_Ammo >= _root.o_Upgrades[n_UpgradeID][10]) {
_root.n_Ammo = _root.n_Ammo - _root.o_Upgrades[n_UpgradeID][10];
_root.f_ShowMessage("Quad Damage Active");
_root.f_PlaySound("o_Sounds", "Spawn");
_local6 = true;
} else {
_root.f_ShowMessage(("Not Enough Ammo (" + _root.o_Upgrades[n_UpgradeID][10]) + " needed)");
}
}
if (_local6) {
_root.o_Upgrades[n_UpgradeID][1] = new Date();
_root.o_Upgrades[n_UpgradeID][2] = new Date();
return(true);
}
return(false);
}
return(false);
}
function f_UpgradeActivationTime(n_UpgradeID) {
return(_root.o_Upgrades[n_UpgradeID][3]);
}
function f_CollectPowerup(n_PowerupType) {
if ((_root.o_Upgrades[n_PowerupType][6] == undefined) || (_root.o_Upgrades[n_PowerupType][6] == 0)) {
_root.f_EnablePowerup(n_PowerupType);
} else {
_root.f_UpgradePowerup(n_PowerupType);
}
}
function f_UpgradePowerup(n_PowerupType) {
if (_root.o_Upgrades[n_PowerupType][7] < _root.o_Upgrades[n_PowerupType][8]) {
_root.o_Upgrades[n_PowerupType][7]++;
} else {
f_ShowMessage("That powerup is maxed out!");
}
}
function f_EnablePowerup(n_PowerupType) {
_root.o_Upgrades[n_PowerupType][6] = 1;
_root["o_Powerup_" + n_PowerupType.toString()].o_Instructions.n_Type = n_PowerupType + 1;
_root["o_Powerup_" + n_PowerupType.toString()].o_Instructions.n_Counter = _root.n_InstructionTime;
f_ShowMessage(("You collected the '" + _root.o_Upgrades[n_PowerupType][5].toString()) + "' power up.");
}
function f_IsPowerupActive(n_PowerupType) {
return(_root.o_Upgrades[n_PowerupType][6] == 1);
}
function f_IsPowerupReady(n_PowerupType) {
var _local4 = _root.o_Upgrades[n_PowerupType][1].getTime() + _root.o_Upgrades[n_PowerupType][4];
var _local2 = new Date().getTime();
var _local3 = _local2 - _local4;
if (_local3 >= 0) {
_local4 = _root.o_Upgrades[n_PowerupType][2].getTime() + _root.o_Upgrades[n_PowerupType][3];
_local2 = new Date().getTime();
_local3 = _local2 - _local4;
return(_local3 >= 0);
}
return(false);
}
function f_CycleUpgrade(n_Direction) {
var _local2 = false;
if (_root.d_LastWeaponCycle == undefined) {
_root.d_LastWeaponCycle = new Date();
}
if (_root.f_TimeDiff(_root.d_LastWeaponCycle, new Date()) >= _root.n_WeaponCycleDelay) {
while (!_local2) {
_root.n_CurrentWeapon = _root.n_CurrentWeapon + n_Direction;
_root.n_CurrentWeapon = _root.n_CurrentWeapon % _root.o_Upgrades.length;
_root.n_CurrentWeapon = ((_root.n_CurrentWeapon < 0) ? (_root.o_Upgrades.length - 1) : (_root.n_CurrentWeapon));
_local2 = f_SelectUpgrade(_root.n_CurrentWeapon);
}
_root.d_LastWeaponCycle = new Date();
}
}
function f_SelectUpgrade(n_Item) {
if (_root.f_IsPowerupActive(n_Item)) {
_root.n_CurrentWeapon = n_Item;
_root.o_UpgradeSelected._x = _root["o_Powerup_" + _root.n_CurrentWeapon]._x;
_root.o_UpgradeSelected._y = _root["o_Powerup_" + _root.n_CurrentWeapon]._y;
return(true);
}
return(false);
}
function f_SaveLevel() {
var _local4;
var _local2;
var _local3 = SharedObject.getLocal("TCFS");
_local2 = 0;
while (_local2 <= _root.o_Upgrades.length) {
if (_root.o_Upgrades[_local2][6] == 1) {
_local4 = _local2;
}
_local2++;
}
if (((_root.n_Level >= _local3.data.n_LastLevel) || (_local3.data.n_LastLevel == undefined)) || (_local3.data.n_LastLevel == 0)) {
_local3.data.n_LastScore = _root.n_Score;
_local3.data.n_LastHealth = _root.n_TurretHealth;
_local3.data.n_LastAmmo = _root.n_Ammo;
_local3.data.n_LastTechLevel = _local4;
_local3.data.n_LastLevel = _root.n_Level;
}
}
function f_GetLevel() {
var _local2 = SharedObject.getLocal("TCFS");
if (_local2.data.n_LastLevel != undefined) {
_root.n_LastScore = _local2.data.n_LastScore;
_root.n_LastHealth = _local2.data.n_LastHealth;
_root.n_LastAmmo = _local2.data.n_LastAmmo;
_root.n_LastTechLevel = _local2.data.n_LastTechLevel;
_root.n_LastLevel = _local2.data.n_LastLevel;
}
}
function f_ResetLevel() {
var _local2 = SharedObject.getLocal("TCFS");
_local2.data.n_LastScore = 0;
_local2.data.n_LastHealth = 0;
_local2.data.n_LastAmmo = 0;
_local2.data.n_LastTechLevel = 0;
_local2.data.n_LastLevel = 0;
_root.f_GetLevel();
}
function hex_md5(s) {
return(binl2hex(core_md5(str2binl(s), s.length * chrsz)));
}
function b64_md5(s) {
return(binl2b64(core_md5(str2binl(s), s.length * chrsz)));
}
function str_md5(s) {
return(binl2str(core_md5(str2binl(s), s.length * chrsz)));
}
function hex_hmac_md5(key, data) {
return(binl2hex(core_hmac_md5(key, data)));
}
function b64_hmac_md5(key, data) {
return(binl2b64(core_hmac_md5(key, data)));
}
function str_hmac_md5(key, data) {
return(binl2str(core_hmac_md5(key, data)));
}
function md5_vm_test() {
return(hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72");
}
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(Array(_local4, _local3, _local2, _local1));
}
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));
}
function md5_ff(a, b, c, d, x, s, t) {
return(md5_cmn((b & c) | ((~b) & d), a, b, x, s, t));
}
function md5_gg(a, b, c, d, x, s, t) {
return(md5_cmn((b & d) | (c & (~d)), a, b, x, s, t));
}
function md5_hh(a, b, c, d, x, s, t) {
return(md5_cmn((b ^ c) ^ d, a, b, x, s, t));
}
function md5_ii(a, b, c, d, x, s, t) {
return(md5_cmn(c ^ (b | (~d)), a, b, x, s, t));
}
function core_hmac_md5(key, data) {
var _local2 = str2binl(key);
if (_local2.length > 16) {
_local2 = core_md5(_local2, key.length * chrsz);
}
var _local3 = Array(16);
var _local4 = Array(16);
var _local1 = 0;
while (_local1 < 16) {
_local3[_local1] = _local2[_local1] ^ 909522486;
_local4[_local1] = _local2[_local1] ^ 1549556828;
_local1++;
}
var _local5 = core_md5(_local3.concat(str2binl(data)), 512 + (data.length * chrsz));
return(core_md5(_local4.concat(_local5), 640));
}
function safe_add(x, y) {
var _local1 = (x & 65535) + (y & 65535);
var _local2 = ((x >> 16) + (y >> 16)) + (_local1 >> 16);
return((_local2 << 16) | (_local1 & 65535));
}
function bit_rol(num, cnt) {
return((num << cnt) | (num >>> (32 - cnt)));
}
function str2binl(str) {
var _local3 = Array();
var _local4 = (1 << chrsz) - 1;
var _local1 = 0;
while (_local1 < (str.length * chrsz)) {
_local3[_local1 >> 5] = _local3[_local1 >> 5] | ((str.charCodeAt(_local1 / chrsz) & _local4) << (_local1 % 32));
_local1 = _local1 + chrsz;
}
return(_local3);
}
function binl2str(bin) {
var _local3 = "";
var _local4 = (1 << chrsz) - 1;
var _local1 = 0;
while (_local1 < (bin.length * 32)) {
_local3 = _local3 + String.fromCharCode((bin[_local1 >> 5] >>> (_local1 % 32)) & _local4);
_local1 = _local1 + chrsz;
}
return(_local3);
}
function binl2hex(binarray) {
var _local3 = (hexcase ? "0123456789ABCDEF" : "0123456789abcdef");
var _local4 = "";
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);
}
function binl2b64(binarray) {
var _local6 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var _local4 = "";
var _local2 = 0;
while (_local2 < (binarray.length * 4)) {
var _local5 = ((((binarray[_local2 >> 2] >> (8 * (_local2 % 4))) & 255) << 16) | (((binarray[(_local2 + 1) >> 2] >> (8 * ((_local2 + 1) % 4))) & 255) << 8)) | ((binarray[(_local2 + 2) >> 2] >> (8 * ((_local2 + 2) % 4))) & 255);
var _local1 = 0;
while (_local1 < 4) {
if (((_local2 * 8) + (_local1 * 6)) > (binarray.length * 32)) {
_local4 = _local4 + b64pad;
} else {
_local4 = _local4 + _local6.charAt((_local5 >> (6 * (3 - _local1))) & 63);
}
_local1++;
}
_local2 = _local2 + 3;
}
return(_local4);
}
var CPMStarContentSpotID = "187Q274AA316";
var s_GameAds = "";
var d_AdvertStartTime;
var n_CPMWaitTime = 5000;
var b_Debugging = false;
var a_MessageArray;
var n_MessageDelay = 750;
var d_MessageLast;
var n_MessageRepeatDelay = 2000;
var n_Score;
var o_ScoreMultiplierArray = [[1, "Single"], [1.25, "Double"], [1.5, "Triple"], [2, "Quadruple"], [2.5, "Penta"], [3, "Hex"], [3.5, "Hept"], [4, "Oct"], [4.5, "Ennea"], [5, "Deca"], [6, "Hendeca"], [7, "Dodeca"], [8, "Triskaideka"], [9, "Tetradeca"], [10, "Pentadeca"], [11, "Lots 'a' "]];
var n_ScoreBonusForFinishing = 500000;
var n_ScoreMultiplier = 0.5;
var n_BaseObjectScore = 50;
var b_GameInit;
var n_Level;
var o_LevelArray = [[0, 1, 1, 2750, 0], [100, 1, 2, 2750, 0], [300, 1, 3, 2750, 0], [600, 2, 4, 3000, 1], [1000, 3, 4, 3000, 2], [2000, 4, 5, 3000, 2], [3000, 4, 6, 3000, 3], [5000, 5, 6, 3000, 3], [8000, 5, 7, 2750, 4], [10000, 6, 7, 2750, 4], [13000, 6, 8, 2750, 5], [16000, 7, 8, 2750, 5], [20000, 7, 9, 2750, 5], [24000, 8, 9, 2750, 6], [28000, 8, 10, 2750, 6], [32000, 9, 10, 2750, 6], [36000, 9, 11, 2750, 7], [40000, 10, 11, 2750, 7], [45000, 10, 11, 2750, 7], [70000, 10, 12, 2750, 7], [100000, 11, 12, 3000, 7]];
var n_LevelAlienLevel;
var n_LevelAlienLevelLower;
var n_CurrentWeapon;
var d_LastWeaponCycle;
var n_WeaponCycleDelay = 100;
var n_TurretDegree;
var n_TurretVelocity;
var n_TurretMoveAmount = 1;
var n_TurretDecelAmount = 3;
var n_TurretMaxVelocity = 12;
var n_TurretTurnSpeed = 5;
var n_TurretHealth;
var n_TurretHealthUpPerc = 25;
var n_TurretHealthStart = 1000;
var n_ShotTime = 400;
var d_LastShot;
var n_ProjectileBaseDamage = 1000;
var n_ProjectileDistance = 1000;
var n_ProjectilesUpperLimit = 40;
var n_ProjectilesVariance = 4;
var n_ProjectilesVarianceScatter = 20;
var n_ProjectileVelocity = 32;
var n_ProjectileRandomPerc = 100;
var n_ShotGroupMax = 5;
var n_ShotGroupCurrent;
var n_ShotsInGroup = 10;
var a_ShotGrouping = new Array(_root.n_ShotGroupMax);
var a_ShotGroupingKillCounts = new Array(_root.n_ShotGroupMax);
var a_ShotGroupingKillPoints = new Array(_root.n_ShotGroupMax);
var n_ObjectsUpperLimit = 40;
var n_ObjectRotateValue = 5;
var d_LastObject;
var n_NextObject;
var n_ThenObject;
var n_ObjectSpeedVar = 50;
var o_ObjectArray = [["Drone 1", 3, 2, 15, 2, 20, 0, 0, 10, 0, 100, 2], ["Drone 2", 1, 5, 20, 10, 10, 0, 0, 30, 0, 100, 2], ["Drone 3", 1, 10, 20, 5, 10, 0, 0, 80, 0, 100, 2], ["Drone 4", 2, 6, 20, 6, 20, 0, 0, 150, 0, 100, 2], ["Drone 5", 3, 2, 15, 2, 20, 5000, 2, 200, 20, 500, 3], ["Drone 6", 1, 5, 20, 10, 10, 5000, 3, 250, 20, 1000, 3], ["Drone 7", 1, 10, 20, 5, 10, 5000, 2, 300, 20, 1000, 3], ["Drone 8", 2, 6, 20, 6, 20, 5000, 3, 400, 20, 2000, 4], ["Drone 9", 1, 2, 45, 2, 20, 4000, 4, 600, 20, 4000, 4], ["Drone 10", 1, 5, 20, 10, 10, 3000, 4, 1000, 50, 5000, 4], ["Drone 11", 1, 10, 20, 5, 10, 3000, 3, 1500, 125, 7500, 5], ["Drone 12", 1, 6, 15, 6, 10, 3000, 4, 1750, 150, 10000, 6]];
var n_PickupsUpperLimit = 50;
var n_PickupsPerObject = 5;
var n_PickupMaxXVelocity = 10;
var n_PickupMaxYVelocity = 35;
var n_PickupGravity = 2.5;
var n_PickupLifeTime = 8000;
var n_UCounter;
var o_Upgrades;
var n_UpgradeTimeBoostPerc = 5;
var n_UpgradeSmartbombPower = 4000;
var n_UpgradeRepowerPerc = 25;
var n_UpgradeInstructionTime = 25;
var n_QuadDamageMultiplier = 4;
var n_QuadDamageProjectileNumber = 5;
var n_ScatterShotID = 2;
var n_MirrorTurretID = 3;
var n_FreezeRayID = 4;
var n_InvulID = 6;
var n_Ammo;
var n_AmmoAtStart = 100;
var n_AmmoPerPickUp = 1;
var n_AmmoRechargeAmount = 1;
var n_AmmoRechargeSpeed = 500;
var d_AmmoRechargeLast;
var n_AmmoRechargeLimit = 20;
var n_GameWidth = 550;
var n_GameHeight = 500;
var n_GameCheckBorder = 30;
var n_Floor = 440;
var n_ObjectCreateXUpper = 50;
var n_ObjectCreateXLower = 350;
var b_SoundsOn = true;
var d_SoundsToggle;
var b_Paused;
var b_PausedMusic;
var d_LastPause;
var b_StartFromLast = false;
var n_LastScore;
var n_LastHealth;
var n_LastAmmo;
var n_LastTechLevel;
var n_LastLevel;
var hexcase = 0;
var b64pad = "";
var chrsz = 8;
function showBigWigAd(gameid) {
_root.BigWigWrappedGame.gameid = String(gameid);
System.security.allowDomain("adserver.bigwigmedia.com");
if (System.security.sandboxType == "localWithFile") {
_root.play();
} else {
ad.loadMovie("http://adserver.bigwigmedia.com/ingamead2.swf");
stop();
}
}
_root.BigWigWrappedGame = {};
_root.BigWigWrappedGame.url = _url;
_root.BigWigWrappedGame.affid = affid;
showBigWigAd(1736);
Frame 2
_global.BigWigWrappedGame = new Object();
_global.BigWigWrappedGame.gameid = "1736";
_global.BigWigWrappedGame.frameLabelToGoto = "Splash";
_root.gameid = _global.BigWigWrappedGame.gameid;
_root.downloadurl = "http://www.2dplay.com/downloadgame.php?gameid=" + _root.gameid;
_root.weblink = "http://www.2dplay.com/index.php?gameid=" + _root.gameid;
_root.scoreslink = ("http://www.2Dplay.com/highscores.php?gameid=" + _root.gameid) + "&hiscore=";
_root.viewscoreslink = "http://www.2dplay.com/showscores.php?gameid=" + _root.gameid;
_root.freecontent_link = "http://www.2dplay.com/freecontent.htm";
stop();
Instance of Symbol 198 MovieClip [TMPfric6p884d] in Frame 2
//component parameters
onClipEvent (construct) {
flashVersion = 8;
gameID = 1736;
movieFramerate = 25;
skipPreloader = false;
startFrameLabel = "mainmenu";
}
Frame 3
_root.f_PlaySound("o_Sounds", "GameMusic");
_root.f_GetLevel();
this.stop();
Frame 4
this.onEnterFrame = function () {
var _local8 = false;
var _local7 = false;
var _local4 = false;
var _local5 = false;
var _local3;
var _local6 = _root.o_Upgrades[_root.n_MirrorTurretID][0];
var _local11;
if (!_root.b_GameInit) {
_root.f_StartGame();
OList = Object();
MList = Object();
MList.onMouseDown = function () {
if ((!_root.b_Paused) && (_root.b_GameInit)) {
if (_root.f_ActivateUpgrade(_root.n_CurrentWeapon)) {
}
}
};
MList.onMouseUp = function () {
};
MList.onMouseMove = function () {
if (_root.b_GameInit) {
_root.o_Crosshair._x = _root._xmouse;
_root.o_Crosshair._y = _root._ymouse;
}
};
Mouse.addListener(MList);
} else {
_root.f_DoMessages();
if (Key.isDown(80) || (Key.isDown(112))) {
_root.f_TogglePause();
}
if (Key.isDown(77) || (Key.isDown(109))) {
_root.f_ToggleSounds();
}
if (Key.isDown(27)) {
_root.n_Score = _root.n_Score - Math.floor((_root.n_Score / 100) * 20);
_root.f_ShowMessage("-20% Score For Quitting");
_root.f_DoMessages();
_root.f_SaveLevel();
_root.f_EndGame(false);
}
if (_local6) {
_root.o_CrosshairCopy._x = _root.o_ObjectContainer.o_Turret._x + (_root.o_ObjectContainer.o_Turret._x - _root._xmouse);
_root.o_CrosshairCopy._y = _root._ymouse;
} else {
_root.o_CrosshairCopy._x = -50;
_root.o_CrosshairCopy._y = -50;
}
if (!_root.b_Paused) {
if ((_root.n_TurretHealth <= 0) && (_root.b_GameInit)) {
_root.f_EndGame(false);
} else {
_root.f_FireObject();
if (Key.isDown(49)) {
_root.f_ActivateUpgrade(0);
}
if (Key.isDown(50)) {
_root.f_ActivateUpgrade(1);
}
if (Key.isDown(51)) {
_root.f_ActivateUpgrade(2);
}
if (Key.isDown(52)) {
_root.f_ActivateUpgrade(3);
}
if (Key.isDown(53)) {
_root.f_ActivateUpgrade(4);
}
if (Key.isDown(54)) {
_root.f_ActivateUpgrade(5);
}
if (Key.isDown(55)) {
_root.f_ActivateUpgrade(6);
}
if (Key.isDown(56)) {
_root.f_ActivateUpgrade(7);
}
if ((Key.isDown(37) || (Key.isDown(65))) || (Key.isDown(97))) {
_local4 = true;
}
if ((Key.isDown(39) || (Key.isDown(68))) || (Key.isDown(100))) {
_local5 = true;
}
if ((Key.isDown(38) || (Key.isDown(87))) || (Key.isDown(119))) {
_local8 = true;
}
if ((Key.isDown(40) || (Key.isDown(83))) || (Key.isDown(115))) {
_local7 = true;
}
if (_local4) {
_root.n_TurretVelocity = _root.n_TurretVelocity - _root.n_TurretMoveAmount;
}
if (_local5) {
_root.n_TurretVelocity = _root.n_TurretVelocity + _root.n_TurretMoveAmount;
}
if ((!_local4) && (!_local5)) {
if (_root.n_TurretVelocity > 0) {
_root.n_TurretVelocity = _root.n_TurretVelocity - n_TurretDecelAmount;
if (_root.n_TurretVelocity < 0) {
_root.n_TurretVelocity = 0;
}
} else if (_root.n_TurretVelocity < 0) {
_root.n_TurretVelocity = _root.n_TurretVelocity + n_TurretDecelAmount;
if (_root.n_TurretVelocity > 0) {
_root.n_TurretVelocity = 0;
}
}
}
if (_root.n_TurretVelocity > _root.n_TurretMaxVelocity) {
_root.n_TurretVelocity = _root.n_TurretMaxVelocity;
} else if (_root.n_TurretVelocity < (_root.n_TurretMaxVelocity * -1)) {
_root.n_TurretVelocity = _root.n_TurretMaxVelocity * -1;
}
_root.o_ObjectContainer.o_Turret._x = _root.o_ObjectContainer.o_Turret._x + _root.n_TurretVelocity;
if (this.o_ObjectContainer.o_Turret._x > (_root.n_GameWidth - (_root.o_ObjectContainer.o_Turret.o_Body._width / 2))) {
this.o_ObjectContainer.o_Turret._x = _root.n_GameWidth - (_root.o_ObjectContainer.o_Turret.o_Body._width / 2);
_root.n_TurretVelocity = 0;
} else if (this.o_ObjectContainer.o_Turret._x < (_root.o_ObjectContainer.o_Turret.o_Body._width / 2)) {
this.o_ObjectContainer.o_Turret._x = _root.o_ObjectContainer.o_Turret.o_Body._width / 2;
_root.n_TurretVelocity = 0;
}
_root.o_CityScape._x = (_root.n_GameWidth / 2) + (((_root.n_GameWidth / 2) - _root.o_ObjectContainer.o_Turret._x) / 10);
_local3 = 90 + _root.f_AngleToObject(_root.o_ObjectContainer.o_Turret, new Object({_x:_root._xmouse, _y:_root._ymouse}));
if ((_local3 < 0) || (_local3 > 270)) {
_local3 = 0;
} else if ((_local3 > 180) && (_local3 < 270)) {
_local3 = 180;
}
_root.o_ObjectContainer.o_Turret.o_TurretPoint._rotation = _local3 - 90;
if (_local6) {
_root.o_ObjectContainer.o_Turret.o_TurretPointCopy._rotation = 90 - _local3;
_root.o_ObjectContainer.o_Turret.o_TurretPointCopy._visible = true;
} else {
_root.o_ObjectContainer.o_Turret.o_TurretPointCopy._visible = false;
}
}
if ((_root.n_AmmoRechargeAmount > 0) && (_root.n_Ammo < _root.n_AmmoRechargeLimit)) {
if ((_root.d_AmmoRechargeLast == undefined) || (_root.f_TimeDiff(_root.d_AmmoRechargeLast, new Date()) >= _root.n_AmmoRechargeSpeed)) {
_root.n_Ammo = _root.n_Ammo + _root.n_AmmoRechargeAmount;
_root.d_AmmoRechargeLast = new Date();
}
}
} else {
_root.d_AmmoRechargeLast = new Date();
}
}
};
Frame 5
if (_root.b_GameInit) {
_root.gotoAndPlay("Game");
}
Frame 6
var hashkey = _root.hex_md5(((("gameid=" + _root.gameid) + "&hiscore=") + _root.n_Score) + "2DPlay.com/");
getURL (String(((_root.scoreslink + _root.n_Score) + "&hash=") + hashkey), "_blank");
Frame 7
gotoAndPlay ("MainMenu");
Frame 8
_root.f_ResetLevel();
this.stop();
Frame 9
this.stop();
Symbol 20 Button [ClickToPlayGame]
on (release) {
trace("here");
_root.gotoAndPlay("Splash");
}
Symbol 21 MovieClip [Loader] Frame 2
var siteLoaded = _root.getBytesLoaded();
var siteTotal = _root.getBytesTotal();
var percentage = Math.round((siteLoaded / siteTotal) * 100);
loadingBar._xscale = percentage;
percentClip.percentDisplay.text = percentage + "%";
percentClip._x = loadingBar._x + loadingBar._width;
bytesDisplay.text = ((("loaded " + siteLoaded) + " of ") + siteTotal) + " bytes";
if (siteLoaded >= siteTotal) {
gotoAndPlay ("End");
}
Symbol 21 MovieClip [Loader] Frame 3
gotoAndPlay ("Looper");
Symbol 21 MovieClip [Loader] Frame 4
if (_root.s_GameAds == "cpmstar") {
if (_root.f_TimeDiff(_root.d_AdvertStartTime, new Date()) >= _root.n_CPMWaitTime) {
this.gotoAndPlay("PlayGame");
}
} else {
this.stop();
}
Symbol 21 MovieClip [Loader] Frame 5
this.gotoAndPlay("End");
Symbol 21 MovieClip [Loader] Frame 6
this.stop();
Symbol 25 MovieClip [Messages] Frame 34
this.removeMovieClip();
Symbol 59 MovieClip [ObjectGraphics] Frame 1
this.stop();
Symbol 59 MovieClip [ObjectGraphics] Frame 2
this.stop();
Symbol 59 MovieClip [ObjectGraphics] Frame 3
this.stop();
Symbol 59 MovieClip [ObjectGraphics] Frame 4
this.stop();
Symbol 59 MovieClip [ObjectGraphics] Frame 5
this.stop();
Symbol 59 MovieClip [ObjectGraphics] Frame 6
this.stop();
Symbol 59 MovieClip [ObjectGraphics] Frame 7
this.stop();
Symbol 59 MovieClip [ObjectGraphics] Frame 8
this.stop();
Symbol 59 MovieClip [ObjectGraphics] Frame 9
this.stop();
Symbol 59 MovieClip [ObjectGraphics] Frame 10
this.stop();
Symbol 59 MovieClip [ObjectGraphics] Frame 11
this.stop();
Symbol 59 MovieClip [ObjectGraphics] Frame 12
this.stop();
Symbol 59 MovieClip [ObjectGraphics] Frame 13
this.stop();
Symbol 68 MovieClip [Progress] Frame 1
function f_showProgress() {
if (n_CurrentValue != undefined) {
if (this.n_CurrentValue >= this.n_MaxValue) {
this.gotoAndPlay("Unfinished");
} else {
this.gotoAndPlay("Finished");
}
} else {
this.gotoAndPlay("Unfinished");
}
}
var n_MaxValue;
var n_CurrentValue;
this.onEnterFrame = function () {
if ((n_MaxValue != undefined) && (n_CurrentValue != undefined)) {
if (n_CurrentValue > n_MaxValue) {
o_ProgressBar._width = o_ProgressBorder._width;
} else {
o_ProgressBar._width = (o_ProgressBorder._width / n_MaxValue) * n_CurrentValue;
}
}
};
Symbol 68 MovieClip [Progress] Frame 2
this.f_showProgress();
Symbol 68 MovieClip [Progress] Frame 4
this.f_showProgress();
Symbol 69 MovieClip [Object] Frame 1
var n_TypeID;
var b_Init;
var n_Strength;
var n_ShotStrength;
var n_Points;
var b_Dead;
var n_Speed;
var n_Direction;
var n_X;
var n_Y;
var n_SinMulti;
var n_SinStep;
var n_SinPos;
var n_CosMulti;
var n_CosStep;
var n_CosPos;
var b_Frozen;
var d_FrozenFrom;
var n_FrozenLength;
var d_LastFire;
var n_ShotGroupID;
this.onEnterFrame = function () {
var _local5;
var _local4;
var _local6;
var _local3;
var _local7;
if (!_root.b_Paused) {
if (this.n_Strength <= 0) {
_root.f_PopObject(this, true);
} else {
this.o_Strength.n_CurrentValue = this.n_Strength;
if (!b_Frozen) {
n_X = n_X + (n_Speed * n_Direction);
n_SinPos = _root.f_DegreeTransform(n_SinPos, n_SinStep);
n_CosPos = _root.f_DegreeTransform(n_CosPos, n_CosStep);
_local5 = n_CosPos / 57.2957795130823;
_local4 = n_SinPos / 57.2957795130823;
_local3 = n_X + ((n_CosMulti * (Math.cos(_local5) * Math.PI)) * -1);
_local7 = n_Y + ((n_SinMulti * Math.sin(_local4 * -1)) * Math.PI);
_local6 = (_local3 - this._x) * 5;
this._x = _local3;
this._y = _local7;
if (this._y < 0) {
this._y = 0;
}
if (this._y > _root.n_ObjectCreateXLower) {
this._y = _root.n_ObjectCreateXLower;
}
if ((((n_Direction == 1) && (this._x > _root.n_GameWidth)) && (n_X > _root.n_GameWidth)) || (((n_Direction == -1) && (this._x < 0)) && (n_X < 0))) {
_root.f_PopObject(this, false);
} else {
this.o_Graphics._rotation = 0 + _local6;
if (_root.o_ObjectArray[n_TypeID - 1][6] > 0) {
if (d_LastFire == undefined) {
d_LastFire = new Date();
}
if (_root.f_TimeDiff(this.d_LastFire, new Date()) >= _root.o_ObjectArray[n_TypeID - 1][6]) {
_root.f_FireProjectile(this, _root.o_ObjectArray[n_TypeID - 1][7], 2, 0, (Math.random() * _root.n_ProjectilesVariance) - (_root.n_ProjectilesVariance / 2), 0, n_ShotStrength);
this.d_LastFire = new Date();
}
}
}
} else if (_root.f_TimeDiff(this.d_FrozenFrom, new Date()) >= n_FrozenLength) {
b_Frozen = false;
}
}
}
};
Symbol 69 MovieClip [Object] Frame 2
this.gotoAndPlay("Loop");
Symbol 89 MovieClip [Pickup] Frame 1
var b_Init;
var n_XVelocity;
var n_YVelocity;
var n_Direction;
var b_Moving;
var n_AmmoMultiplier;
var n_TypeID;
var n_SubTypeID;
var d_BeginRemove;
this.onEnterFrame = function () {
var _local3;
if (b_Init) {
if (this.b_Moving) {
_root.f_ApplyFall(this);
} else {
if (d_BeginRemove == undefined) {
d_BeginRemove = new Date();
}
_local3 = _root.o_ObjectContainer.o_Turret.o_Body._width / 2;
if ((_root.o_ObjectContainer.o_Turret._x >= (this._x - _local3)) && (_root.o_ObjectContainer.o_Turret._x <= (this._x + _local3))) {
if (n_TypeID == 1) {
_root.n_Ammo = _root.n_Ammo + (_root.n_AmmoPerPickUp * n_AmmoMultiplier);
} else if (n_TypeID == 2) {
_root.f_CollectPowerup(n_SubTypeID);
}
this.removeMovieClip();
} else if (_root.f_OverTimeDiff(d_BeginRemove, new Date(), _root.n_PickupLifeTime)) {
this.removeMovieClip();
}
}
}
};
Symbol 89 MovieClip [Pickup] Frame 2
this.gotoAndPlay(1);
Symbol 96 MovieClip [ProjectileGraphic] Frame 1
stop();
Symbol 96 MovieClip [ProjectileGraphic] Frame 2
stop();
Symbol 96 MovieClip [ProjectileGraphic] Frame 3
stop();
Symbol 96 MovieClip [ProjectileGraphic] Frame 4
stop();
Symbol 96 MovieClip [ProjectileGraphic] Frame 5
stop();
Symbol 96 MovieClip [ProjectileGraphic] Frame 6
stop();
Symbol 96 MovieClip [ProjectileGraphic] Frame 7
stop();
Symbol 96 MovieClip [ProjectileGraphic] Frame 8
stop();
Symbol 96 MovieClip [ProjectileGraphic] Frame 9
stop();
Symbol 96 MovieClip [ProjectileGraphic] Frame 10
stop();
Symbol 97 MovieClip [Projectile] Frame 1
var n_Strength;
var b_Init;
var d_Created;
var n_FireSpeed;
var n_Angle;
var n_TypeID;
var n_TeamID;
var n_ShotGroupID;
this.onEnterFrame = function () {
var _local3;
var _local4;
var _local5;
var _local6 = false;
var _local7 = _root.o_Upgrades[_root.n_InvulID][0];
if ((b_Init != null) && (!_root.b_Paused)) {
if (n_TeamID == 1) {
_local4 = 0;
while (_local4 <= _root.n_ObjectsUpperLimit) {
_local3 = _root.o_ObjectContainer["Object_" + _local4.toString()];
if (_local3 != undefined) {
if (this.hitTest(_local3.o_Graphics)) {
if (_local3.n_Strength != undefined) {
_local5 = this.n_Strength - _local3.n_Strength;
_local3.n_ShotGroupID = this.n_ShotGroupID;
this.n_Strength = _local5;
if (_local5 < 0) {
_local3.n_Strength = _local5 * -1;
} else {
_local3.n_Strength = 0;
}
}
}
}
_local4++;
}
} else {
_local3 = _root.o_ObjectContainer.o_Turret;
if (_local3 != undefined) {
if (_local3.hitTest(this._x, this._y, true)) {
_root.o_ObjectContainer.o_Turret.o_Shield.gotoAndPlay("ShieldHit");
if (!_local7) {
_root.n_TurretHealth = _root.n_TurretHealth - this.n_Strength;
}
_root.f_PlaySound("o_Explosions", "ShieldHit");
_local6 = true;
}
}
}
if (this.n_Strength > 0) {
_root.f_MoveProjectile(this);
if ((((this._x < (_root.n_GameCheckBorder * -1)) || (this._x > (_root.n_GameWidth + _root.n_GameCheckBorder))) || (this._y < (_root.n_GameCheckBorder * -1))) || (this._y > (_root.n_GameHeight + _root.n_GameCheckBorder))) {
_local6 = true;
}
} else {
_local6 = true;
}
}
if (_local6) {
_root.a_ShotGrouping[n_ShotGroupID]--;
if ((_root.a_ShotGrouping[n_ShotGroupID] <= 0) && (n_ShotGroupID >= 0)) {
_root.f_EndShotGrouping(n_ShotGroupID);
}
this.removeMovieClip();
}
};
Symbol 97 MovieClip [Projectile] Frame 2
this.gotoAndPlay(1);
Symbol 100 MovieClip [SmokeWhisp] Frame 16
this.removeMovieClip();
Symbol 108 MovieClip [Explosions] Frame 22
this.removeMovieClip();
Symbol 108 MovieClip [Explosions] Frame 35
this.removeMovieClip();
Symbol 110 MovieClip [Score] Frame 1
var s_ScoreString = ("0000000000" + _root.n_Score.toString()).toString();
if (_root.n_Score != undefined) {
this.ScoreText.text = s_ScoreString.substring(s_ScoreString.length - 10, s_ScoreString.length);
} else {
this.ScoreText.text = "0000000000";
}
Symbol 110 MovieClip [Score] Frame 2
gotoAndPlay (1);
Symbol 129 Button
on (press) {
getURL ("http://www.2DPlay.com/index.php?gameid=" + _parent.gameID, "_blank");
}
Symbol 131 MovieClip Frame 1
stop();
Symbol 189 MovieClip Frame 1
_parent.showLogo();
stop();
Instance of Symbol 131 MovieClip in Symbol 189 MovieClip Frame 11
onClipEvent (load) {
_parent.sfx.stop();
_parent.sfx = new Sound(_parent);
_parent.sfx.attachSound("SCIFI.WAV");
_parent.sfx.start(0, 1);
}
Instance of Symbol 131 MovieClip in Symbol 189 MovieClip Frame 69
onClipEvent (load) {
_parent.sfx.stop();
_parent.sfx = new Sound(_parent);
_parent.sfx.attachSound("BEEPDBL.WAV");
_parent.sfx.start(0, 1);
}
Instance of Symbol 131 MovieClip in Symbol 189 MovieClip Frame 82
onClipEvent (load) {
_parent.sfx.stop();
_parent.sfx = new Sound(_parent);
_parent.sfx.attachSound("INSERT4.WAV");
_parent.sfx.start(0, 1);
}
Instance of Symbol 131 MovieClip in Symbol 189 MovieClip Frame 96
onClipEvent (load) {
_parent.sfx.stop();
_parent.sfx = new Sound(_parent);
_parent.sfx.attachSound("MSOVR2.WAV");
_parent.sfx.start(0, 1);
}
Instance of Symbol 131 MovieClip in Symbol 189 MovieClip Frame 112
onClipEvent (load) {
_parent.sfx.stop();
_parent.sfx = new Sound(_parent);
_parent.sfx.attachSound("BLOOB.WAV");
_parent.sfx.start(0, 1);
}
Symbol 198 MovieClip [TMPfric6p884d] Frame 1
function detectFlashVersion(detectVersion) {
var _local3 = System.capabilities.version;
var _local2;
var _local1 = 0;
while (_local1 < _local3.length) {
_local2 = Number(_local3.charAt(_local1));
if (!isNaN(_local2)) {
_local2 = ((!isNaN(Number(_local3.charAt(_local1 + 1)))) ? (Number(String(_local2) + _local3.charAt(_local1 + 1))) : (_local2));
break;
}
_local1++;
}
if (_local2 < detectVersion) {
gotoAndPlay (3);
} else {
gotoAndPlay (2);
}
}
function startPreload() {
this.onEnterFrame = function () {
this.preload();
};
}
function preload() {
var _local3 = _root.getBytesTotal();
var _local4 = _root.getBytesLoaded();
var _local5 = Math.floor((_local4 / _local3) * 100);
loader_bar.mask._xscale = _local5;
loader_bar._alpha = ((loader_bar._alpha < 100) ? (loader_bar._alpha + 10) : 100);
if ((_local4 >= _local3) && (_local3 > 0)) {
delete this.onEnterFrame;
_root.gotoAndPlay(startFrameLabel);
}
}
function showLogo() {
this.playbackPercent = 0;
this.onEnterFrame = function () {
this.logoFrameStep();
};
}
function logoFrameStep() {
var _local3 = 30;
var _local2 = 200;
var _local4 = Math.floor(playbackPercent * _local2) + 1;
playbackPercent = playbackPercent + ((_local3 / movieFramerate) / _local2);
logo.gotoAndStop(_local4);
if ((playbackPercent >= 1) || (skipPreloader)) {
delete this.onEnterFrame;
startPreload();
}
}
_visible = false;
detectFlashVersion(flashVersion);
stop();
Symbol 198 MovieClip [TMPfric6p884d] Frame 2
loader_bar.mask._xscale = 0;
loader_bar._alpha = 0;
_visible = true;
stop();
Symbol 198 MovieClip [TMPfric6p884d] Frame 3
messageField.html = true;
messageField.multiline = true;
messageField.htmlText = ((("<font face='_sans' color='#FFFFFF'><p align='center'>You will need the <a href='http://www.adobe.com/go/getflashplayer'><u>Flash Player version " + flashVersion) + "</u></a> to play this game\r\r\rAlternatively you can download the game from <a href='http://www.2dplay.com'><u>2DPlay.com</u></a> by clicking <a href='http://www.2dplay.com/downloadgame.php?gameid=") + gameID) + "'><u>here</u></a></p></font>";
_visible = true;
stop();
Symbol 208 MovieClip [Sounds] Frame 2
gotoAndStop (1);
Symbol 208 MovieClip [Sounds] Frame 4
gotoAndStop (1);
Symbol 208 MovieClip [Sounds] Frame 6
gotoAndStop (1);
Symbol 208 MovieClip [Sounds] Frame 8
gotoAndStop (1);
Symbol 208 MovieClip [Sounds] Frame 10
gotoAndStop (1);
Symbol 208 MovieClip [Sounds] Frame 12
gotoAndStop (1);
Symbol 208 MovieClip [Sounds] Frame 14
gotoAndStop (1);
Symbol 208 MovieClip [Sounds] Frame 16
gotoAndStop (1);
Symbol 208 MovieClip [Sounds] Frame 18
gotoAndStop (1);
Symbol 213 MovieClip [ExplosionSounds] Frame 2
gotoAndStop (1);
Symbol 213 MovieClip [ExplosionSounds] Frame 4
this.stop();
Symbol 213 MovieClip [ExplosionSounds] Frame 6
this.stop();
Symbol 213 MovieClip [ExplosionSounds] Frame 8
this.stop();
Symbol 213 MovieClip [ExplosionSounds] Frame 10
this.stop();
Symbol 213 MovieClip [ExplosionSounds] Frame 12
this.stop();
Symbol 234 Button [StartGame]
on (release) {
_root.gotoAndPlay("Instructions");
}
Symbol 242 Button
on (release) {
getURL (_root.viewscoreslink, "_blank");
}
Symbol 249 Button [SoundsOff]
on (release) {
_root.f_ToggleSounds();
}
Symbol 252 Button [SoundsOn]
on (release) {
_root.f_ToggleSounds();
}
Symbol 253 MovieClip [SoundsOnOff] Frame 1
if (_root.b_SoundsOn == false) {
this.gotoAndPlay("Off");
} else {
this.gotoAndPlay("On");
}
Symbol 253 MovieClip [SoundsOnOff] Frame 3
if (_root.b_SoundsOn) {
this.gotoAndPlay("On");
} else {
this.gotoAndPlay("Off");
}
Symbol 253 MovieClip [SoundsOnOff] Frame 5
if (_root.b_SoundsOn) {
this.gotoAndPlay("On");
} else {
this.gotoAndPlay("Off");
}
Symbol 257 Button [StartGameFromLastLevel]
on (release) {
_root.b_StartFromLast = true;
_root.b_GameInit = undefined;
_root.gotoAndPlay("Game");
}
Symbol 261 Button [Instructions]
on (release) {
this.gotoAndPlay("Instructions");
}
Symbol 265 Button
on (release) {
getURL (_root.weblink, "_blank");
}
Symbol 267 MovieClip Frame 91
this.stop();
Symbol 268 MovieClip Frame 35
this.stop();
Symbol 271 MovieClip [Ammo] Frame 1
var s_AmmoString = ("00000" + _root.n_Ammo.toString()).toString();
if (_root.n_Ammo != undefined) {
this.AmmoText.text = s_AmmoString.substring(s_AmmoString.length - 5, s_AmmoString.length);
} else {
this.AmmoText.text = "00000";
}
Symbol 271 MovieClip [Ammo] Frame 2
gotoAndPlay (1);
Symbol 280 MovieClip [ObjectGraphicsSmall] Frame 1
this.stop();
Symbol 280 MovieClip [ObjectGraphicsSmall] Frame 2
this.stop();
Symbol 280 MovieClip [ObjectGraphicsSmall] Frame 3
this.stop();
Symbol 280 MovieClip [ObjectGraphicsSmall] Frame 4
this.stop();
Symbol 280 MovieClip [ObjectGraphicsSmall] Frame 5
this.stop();
Symbol 285 MovieClip [Powerups] Frame 2
this.stop();
Symbol 285 MovieClip [Powerups] Frame 4
this.stop();
Symbol 285 MovieClip [Powerups] Frame 6
this.stop();
Symbol 285 MovieClip [Powerups] Frame 8
this.stop();
Symbol 285 MovieClip [Powerups] Frame 10
this.stop();
Symbol 285 MovieClip [Powerups] Frame 12
this.stop();
Symbol 285 MovieClip [Powerups] Frame 14
this.stop();
Symbol 285 MovieClip [Powerups] Frame 16
this.stop();
Symbol 285 MovieClip [Powerups] Frame 18
this.stop();
Symbol 285 MovieClip [Powerups] Frame 20
this.stop();
Symbol 285 MovieClip [Powerups] Frame 22
this.stop();
Symbol 297 MovieClip [PowerupInstructions] Frame 1
function f_ShowInstruction() {
if ((n_Counter <= 0) || (n_Counter == undefined)) {
gotoAndPlay ("Instruction_0");
} else {
gotoAndPlay("Instruction_" + n_Type.toString());
}
}
var n_Counter;
var n_Type;
this.onEnterFrame = function () {
if (n_Counter == undefined) {
n_Counter == _root.n_InstructionTime;
} else if (n_Counter > 0) {
n_Counter--;
}
};
Symbol 297 MovieClip [PowerupInstructions] Frame 2
this.f_ShowInstruction();
Symbol 297 MovieClip [PowerupInstructions] Frame 4
this.f_ShowInstruction();
Symbol 297 MovieClip [PowerupInstructions] Frame 6
this.f_ShowInstruction();
Symbol 297 MovieClip [PowerupInstructions] Frame 8
this.f_ShowInstruction();
Symbol 297 MovieClip [PowerupInstructions] Frame 10
this.f_ShowInstruction();
Symbol 297 MovieClip [PowerupInstructions] Frame 12
this.f_ShowInstruction();
Symbol 297 MovieClip [PowerupInstructions] Frame 14
this.f_ShowInstruction();
Symbol 297 MovieClip [PowerupInstructions] Frame 16
this.f_ShowInstruction();
Symbol 298 MovieClip [PowerupControl] Frame 1
var n_UpgradeNumber;
var b_IsInit;
if ((b_IsInit != undefined) && (n_UpgradeNumber != undefined)) {
this.o_Graphic.gotoAndPlay("Powerup_" + (n_UpgradeNumber + 1).toString());
var n_FromMSecs = (_root.o_Upgrades[n_UpgradeNumber][1].getTime() + _root.o_Upgrades[n_UpgradeNumber][4]);
var n_ToMSecs = new Date().getTime();
var n_Diff = (n_ToMSecs - n_FromMSecs);
this.o_Progress.n_MaxValue = _root.o_Upgrades[n_UpgradeNumber][4];
if (n_Diff > 0) {
this.o_Progress.n_CurrentValue = _root.o_Upgrades[n_UpgradeNumber][4];
} else {
this.o_Progress.n_CurrentValue = _root.o_Upgrades[n_UpgradeNumber][4] + n_Diff;
}
n_FromMSecs = _root.o_Upgrades[n_UpgradeNumber][2].getTime() + _root.o_Upgrades[n_UpgradeNumber][3];
n_Diff = n_ToMSecs - n_FromMSecs;
this.o_ActiveProgress.n_MaxValue = _root.o_Upgrades[n_UpgradeNumber][3];
if (n_Diff > 0) {
this.o_ActiveProgress.n_CurrentValue = _root.o_Upgrades[n_UpgradeNumber][3];
_root.o_Upgrades[n_UpgradeNumber][0] = 0;
} else {
this.o_ActiveProgress.n_CurrentValue = _root.o_Upgrades[n_UpgradeNumber][3] + n_Diff;
_root.o_Upgrades[n_UpgradeNumber][0] = 1;
}
if (_root.o_Upgrades[n_UpgradeNumber][6] == 1) {
this._visible = true;
} else {
this._visible = false;
}
} else if ((b_IsInit == undefined) && (n_UpgradeNumber != undefined)) {
this._visible = false;
this.o_KeyCode.text = (n_UpgradeNumber + 1).toString();
b_IsInit = true;
} else {
this._visible = false;
}
Symbol 298 MovieClip [PowerupControl] Frame 2
gotoAndPlay (1);
Symbol 312 MovieClip [TurretInvulEffect] Frame 1
this.stop();
Symbol 312 MovieClip [TurretInvulEffect] Frame 2
_root.f_PlaySound("o_Sounds", "Pulse");
Symbol 312 MovieClip [TurretInvulEffect] Frame 10
if (_root.o_Upgrades[_root.n_InvulID][0]) {
this.gotoAndPlay("Invul");
} else {
this.gotoAndStop("NoInvul");
}
Symbol 315 MovieClip [TurretRechargeEffect] Frame 1
this.stop();
Symbol 315 MovieClip [TurretRechargeEffect] Frame 2
Symbol 315 MovieClip [TurretRechargeEffect] Frame 10
this.gotoAndStop("NoRecharge");
Symbol 316 MovieClip [TurretShieldEffect] Frame 1
this.stop();
Symbol 316 MovieClip [TurretShieldEffect] Frame 2
Symbol 316 MovieClip [TurretShieldEffect] Frame 10
this.gotoAndStop("NoShield");
Symbol 319 MovieClip [Turret_Point] Frame 1
stop();
Symbol 319 MovieClip [Turret_Point] Frame 8
this.gotoAndPlay("Static");
Symbol 327 MovieClip [Turret] Frame 1
this.onEnterFrame = function () {
this.o_TurretHealth.n_CurrentValue = _root.n_TurretHealth;
};
Symbol 327 MovieClip [Turret] Frame 2
if ((_root.n_TurretHealth > 0) || (!_root.b_GameInit)) {
this.gotoAndPlay("Movement");
}
Symbol 327 MovieClip [Turret] Frame 6
_root.f_PlaySound("o_Explosions", "Die");
Symbol 327 MovieClip [Turret] Frame 26
_root.f_PlaySound("o_Explosions", "Die");
Symbol 327 MovieClip [Turret] Frame 46
_root.f_PlaySound("o_Explosions", "Die");
Symbol 327 MovieClip [Turret] Frame 70
_root.gotoAndPlay("HiScores");
Symbol 341 MovieClip [FreezeRay] Frame 1
stop();
Symbol 341 MovieClip [FreezeRay] Frame 2
_root.f_PlaySound("o_Explosions", "FreezeRay");
Symbol 341 MovieClip [FreezeRay] Frame 18
if (_root.o_Upgrades[_root.n_FreezeRayID][0] == 0) {
this.gotoAndPlay("KillFreeze");
}
Symbol 341 MovieClip [FreezeRay] Frame 19
this.gotoAndPlay("FreezeStay");
Symbol 341 MovieClip [FreezeRay] Frame 20
gotoAndStop (1);
Symbol 353 MovieClip Frame 1
stop();
Symbol 353 MovieClip Frame 2
_root.f_PlaySound("o_Explosions", "Smartbomb");
Symbol 353 MovieClip Frame 18
var n_Counter;
var o_Object;
_root.n_ShotGroupCurrent++;
if (_root.n_ShotGroupCurrent >= _root.n_ShotGroupMax) {
_root.n_ShotGroupCurrent = 0;
}
_root.a_ShotGrouping[_root.n_ShotGroupCurrent] = 0;
_root.a_ShotGroupingKillCounts[_root.n_ShotGroupCurrent] = 0;
_root.a_ShotGroupingKillPoints[_root.n_ShotGroupCurrent] = 0;
n_Counter = 0;
while (n_Counter <= _root.n_ObjectsUpperLimit) {
o_Object = _root.o_ObjectContainer["Object_" + n_Counter.toString()];
if (o_Object != undefined) {
o_Object.n_Strength = o_Object.n_Strength - _root.n_UpgradeSmartbombPower;
o_Object.n_ShotGroupID = _root.n_ShotGroupCurrent;
if (o_Object.n_Strength <= 0) {
_root.a_ShotGroupingKillCounts[_root.n_ShotGroupCurrent]++;
_root.a_ShotGroupingKillPoints[_root.n_ShotGroupCurrent] = _root.a_ShotGroupingKillPoints[_root.n_ShotGroupCurrent] + o_Object.n_Points;
}
}
n_Counter++;
}
_root.f_EndShotGrouping(_root.n_ShotGroupCurrent);
gotoAndStop (1);
Symbol 355 MovieClip [WinFlash] Frame 1
this.stop();
Symbol 355 MovieClip [WinFlash] Frame 45
this.gotoAndStop("Normal");
Symbol 365 Button
on (release) {
_root.gotoAndPlay("mainmenu");
}
Symbol 368 Button [Highscores_ClickFor]
on (release) {
_root.f_ShowScores(false);
}
Symbol 392 Button [StarGameFromInstructions]
on (release) {
_root.b_StartFromLast = false;
_root.b_GameInit = undefined;
_root.gotoAndPlay("Game");
}
Symbol 397 Button [ReturnToMenu]
on (release) {
this.gotoAndPlay("mainmenu");
}