STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228084
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2561 · P5121

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/15910038?noj=FRM15910038-2DC" width="1" height="1"></div>

laser-defense.swf

This is the info page for
Flash #109005

(Click the ID number above for more basic data on this flash file.)


ActionScript [AS1/AS2]
Frame 1
function LoadLayout() { _root.createEmptyMovieClip("loader", 2); MCL.loadClip("http://people.alfred.edu/~nam2/LaserBack.jpg", Background); LISTENER.onLoadStart = function () { }; LISTENER.onLoadProgress = function () { }; LISTENER.onLoadInit = function () { Back.removeMovieClip(); loadtext.removeTextField(); }; } TRACK1 = new Sound(); TRACK2 = new Sound(); TRACK1.loadSound("http://people.alfred.edu/~nam2/LaserDefense.mp3", false); _root.createEmptyMovieClip("musicPanel", 55000); musicPanel.moveTo(0, 0); musicPanel.lineStyle(0, 0, 25); musicPanel.beginFill(16711680, 8); musicPanel.lineTo(120, 0); musicPanel.lineTo(120, 50); musicPanel.lineTo(110, 60); musicPanel.lineTo(0, 60); musicPanel.endFill(); musicPanel.moveTo(0, 3); musicPanel.lineStyle(0, 0, 50); musicPanel.beginFill(16711680, 8); musicPanel.lineTo(117, 3); musicPanel.lineTo(117, 47); musicPanel.lineTo(107, 57); musicPanel.lineTo(0, 57); musicPanel.endFill(); musicPanel._x = -121; musicPanel._y = 520; musicPanel.createTextField("ARTIST", 55001, 5, 5, 100, 20); musicPanel.createTextField("TITLE", 55002, 5, 20, 100, 20); musicPanel.createTextField("ALBUM", 55003, 5, 35, 100, 20); count2 = 0; TRACK1.onLoad = function () { TRACK2.loadSound("http://people.alfred.edu/~nam2/LaserDefense2.mp3", false); _root.createEmptyMovieClip("music", 87); _root.music._x = 626; _root.music._y = 180; _root.music.moveTo(0, 0); _root.music.lineStyle(0, 0, 75); _root.music.beginFill(16711680, 8); _root.music.lineTo(60, 0); _root.music.lineTo(60, 20); _root.music.lineTo(10, 20); _root.music.lineTo(0, 10); _root.music.lineTo(0, 0); _root.music.endFill(); _root.music.createTextField("MUSIC", 88, 0, 0, 60, 20); _root.createEmptyMovieClip("track1", 89); _root.track1.moveTo(0, 0); _root.track1.lineStyle(0, 0, 75); _root.track1.beginFill(16711680, 8); _root.track1.lineTo(25, 0); _root.track1.lineTo(25, 20); _root.track1.lineTo(10, 20); _root.track1.lineTo(0, 10); _root.track1.lineTo(0, 0); _root.track1.endFill(); _root.track1._x = 704; _root.track1._y = 180; _root.track1.createTextField("Track1", 90, 0, 0, 25, 20); _root.music.ON = 0; _root.music.pan = false; _root.music._alpha = 0; _root.track1._alpha = 0; if (count == 0) { _root.music._alpha = 100; _root.track1._alpha = 100; _root.music.MUSIC.text = "MUSIC"; _root.track1.Track1.text = "1"; _root.music.MUSIC.setTextFormat(Starttext); _root.track1.Track1.setTextFormat(Starttext); } _root.music.onPress = function () { if (_root.music.ON > 0) { _root.music.ON = false; TRACK1.stop(); TRACK2.stop(); _root.music.MUSIC.setTextFormat(Starttext); _root.track1.Track1.setTextFormat(Starttext); _root.track2.Track2.setTextFormat(Starttext); } }; _root.track1.onPress = function () { if (_root.music.ON != 1) { TRACK2.stop(); TRACK1.start(); TRACK1.setVolume(50); _root.track1.Track1.setTextFormat(PanelUp); _root.track2.Track2.setTextFormat(Starttext); _root.music.ON = 1; _root.music.MUSIC.setTextFormat(PanelUp); _root.musicPanel.ARTIST.text = "Dj Tiesto"; _root.musicPanel.TITLE.text = "Clear View"; _root.musicPanel.ALBUM.text = "Magik 2"; _root.musicPanel.ARTIST.setTextFormat(PanelValue); _root.musicPanel.TITLE.setTextFormat(PanelValue); _root.musicPanel.ALBUM.setTextFormat(PanelValue); _root.createEmptyMovieClip("musicMove", -5); _root.music.pan = true; count2 = 0; } }; }; TRACK2.onLoad = function () { _root.createEmptyMovieClip("track2", 91); _root.track2.moveTo(0, 0); _root.track2.lineStyle(0, 0, 75); _root.track2.beginFill(16711680, 8); _root.track2.lineTo(25, 0); _root.track2.lineTo(25, 20); _root.track2.lineTo(10, 20); _root.track2.lineTo(0, 10); _root.track2.lineTo(0, 0); _root.track2.endFill(); _root.track2._x = 733; _root.track2._y = 180; _root.track2.createTextField("Track2", 92, 0, 0, 25, 20); openLoad.removeMovieClip(); _root.track2._alpha = 0; if (count == 0) { _root.track2._alpha = 100; _root.track2.Track2.text = "2"; _root.track2.Track2.setTextFormat(Starttext); } _root.track2.onPress = function () { if (_root.music.ON != 2) { TRACK1.stop(); TRACK2.start(0.02); TRACK2.setVolume(60); _root.track2.Track2.setTextFormat(PanelUp); _root.track1.Track1.setTextFormat(Starttext); _root.music.ON = 2; _root.music.MUSIC.setTextFormat(PanelUp); _root.musicPanel.ARTIST.text = "Dj Tiesto"; _root.musicPanel.TITLE.text = "Binary Finary"; _root.musicPanel.ALBUM.text = "Magik 2"; _root.musicPanel.ARTIST.setTextFormat(PanelValue); _root.musicPanel.TITLE.setTextFormat(PanelValue); _root.musicPanel.ALBUM.setTextFormat(PanelValue); _root.music.pan = true; count2 = 0; } }; }; pp = 0; _root.createEmptyMovieClip("Background", -1); _root.createEmptyMovieClip("Back", 60001); MCL = new MovieClipLoader(); LISTENER = new Object(); MCL.addListener(LISTENER); LoadLayout(); _root.Back.createTextField("loadtext", 70001, 0, 0, 180, 20); _root.Back.loadtext.selectable = false; Back.onEnterFrame = function () { if (pp == 0) { this.loadtext.text = "loading background "; } else if (pp == 4) { this.loadtext.text = "loading background. "; } else if (pp == 8) { this.loadtext.text = "loading background.. "; } else if (pp == 12) { this.loadtext.text = "loading background..."; } if (count == undefined) { this.loadtext._x = 220; this.loadtext._y = 60; this.loadtext.setTextFormat(TitleSubtext); } else if (count == 0) { this.loadtext._x = 632; this.loadtext._y = 450; this.loadtext.setTextFormat(PanelValue); } pp = ((pp < 16) ? (pp + 1) : 0); }; function CreateLaser(b) { _root.createEmptyMovieClip("Laser" + TowerArray.length, 1000 + TowerArray.length); _root["Laser" + TowerArray.length].Info = new Array(); _root["Laser" + TowerArray.length].Info[0] = false; _root["Laser" + TowerArray.length].Info[5] = TowerArray.length; _root["Laser" + TowerArray.length].Info[1] = b; _root["Laser" + TowerArray.length].Info[7] = 0; _root["Laser" + TowerArray.length].n = 0; _root["Laser" + TowerArray.length].nn = 0; _root["Laser" + TowerArray.length].Target = new Array(); _root["Laser" + TowerArray.length].TargetSort = new Array(); TowerArrayB[TowerArrayB.length] = _root["Laser" + TowerArray.length]; TowerArray[TowerArray.length] = 0; switch (b) { case 0 : DrawBlaster("Laser" + (TowerArray.length - 1)); break; case 1 : DrawBeam("Laser" + (TowerArray.length - 1)); break; case 2 : DrawCharge("Laser" + (TowerArray.length - 1)); break; case 3 : DrawDisruptor("Laser" + (TowerArray.length - 1)); break; case 4 : DrawRailgun("Laser" + (TowerArray.length - 1)); break; case 5 : DrawInverter("Laser" + (TowerArray.length - 1)); break; case 6 : DrawRadar("Laser" + (TowerArray.length - 1)); break; case 7 : DrawFission("Laser" + (TowerArray.length - 1)); break; case 8 : DrawScissor("Laser" + (TowerArray.length - 1)); } AssignButton("Laser" + (TowerArray.length - 1)); } function DrawBlaster(Tower) { _root[Tower].lineStyle(0, 8947848); _root[Tower].moveTo(-10, 0); _root[Tower].lineTo(0, -10); _root[Tower].lineTo(10, 0); _root[Tower].lineTo(0, 10); _root[Tower].lineTo(-10, 0); _root[Tower].createEmptyMovieClip("middle", 1400 + _root[Tower].Info[5]); _root[Tower].middle.lineStyle(1, 16776960); _root[Tower].middle.moveTo(-7, 0); _root[Tower].middle.lineTo(0, -7); _root[Tower].middle.lineTo(7, 0); _root[Tower].middle.lineTo(0, 7); _root[Tower].middle.lineTo(-7, 0); _root[Tower].beginFill(0); _root[Tower].lineStyle(0, 0); _root[Tower].moveTo(-4, 0); _root[Tower].lineTo(0, -4); _root[Tower].lineTo(4, 0); _root[Tower].lineTo(0, 4); _root[Tower].lineTo(-4, 0); _root[Tower].endFill(); _root[Tower].Info[2] = 4; _root[Tower].Info[3] = 50; _root[Tower].Info[4] = 10; _root[Tower].Info[6] = 30; _root[Tower].BlasterArray = new Array(); _root[Tower].POWER = 4; _root[Tower].RANGE = 50; _root[Tower].SPEED = 10; _root[Tower].charge = 100; } function DrawBeam(Tower) { _root[Tower].lineStyle(0, 8947848); _root[Tower].moveTo(-10, 0); _root[Tower].lineTo(0, -10); _root[Tower].lineTo(10, 0); _root[Tower].lineTo(0, 10); _root[Tower].lineTo(-10, 0); _root[Tower].createEmptyMovieClip("middle", 1400 + _root[Tower].Info[5]); _root[Tower].middle.lineStyle(1, 16711935); _root[Tower].middle.moveTo(-7, 0); _root[Tower].middle.lineTo(0, -7); _root[Tower].middle.lineTo(7, 0); _root[Tower].middle.lineTo(0, 7); _root[Tower].middle.lineTo(-7, 0); _root[Tower].beginFill(0); _root[Tower].lineStyle(0, 0); _root[Tower].moveTo(-4, 0); _root[Tower].lineTo(0, -4); _root[Tower].lineTo(4, 0); _root[Tower].lineTo(0, 4); _root[Tower].lineTo(-4, 0); _root[Tower].endFill(); _root[Tower].Info[2] = 2; _root[Tower].Info[3] = 60; _root[Tower].Info[4] = 9; _root[Tower].Info[6] = 150; _root[Tower].POWER = 2; _root[Tower].RANGE = 60; _root[Tower].SPEED = 9; _root[Tower].charge = 100; } function DrawCharge(Tower) { _root[Tower].lineStyle(0, 8947848); _root[Tower].moveTo(-10, 0); _root[Tower].lineTo(0, -10); _root[Tower].lineTo(10, 0); _root[Tower].lineTo(0, 10); _root[Tower].lineTo(-10, 0); _root[Tower].createEmptyMovieClip("middle", 1400 + _root[Tower].Info[5]); _root[Tower].middle.lineStyle(1, 16711680); _root[Tower].middle.moveTo(-7, 0); _root[Tower].middle.lineTo(0, -7); _root[Tower].middle.lineTo(7, 0); _root[Tower].middle.lineTo(0, 7); _root[Tower].middle.lineTo(-7, 0); _root[Tower].beginFill(0); _root[Tower].lineStyle(0, 0); _root[Tower].moveTo(-4, 0); _root[Tower].lineTo(0, -4); _root[Tower].lineTo(4, 0); _root[Tower].lineTo(0, 4); _root[Tower].lineTo(-4, 0); _root[Tower].endFill(); _root[Tower].Info[2] = 25; _root[Tower].Info[3] = 100; _root[Tower].Info[4] = 1; _root[Tower].Info[6] = 75; _root[Tower].ch = 0; _root[Tower].POWER = 25; _root[Tower].RANGE = 120; _root[Tower].SPEED = 1; _root[Tower].charge = 100; } function DrawDisruptor(Tower) { _root[Tower].lineStyle(0, 8947848); _root[Tower].moveTo(-10, 0); _root[Tower].lineTo(0, -10); _root[Tower].lineTo(10, 0); _root[Tower].lineTo(0, 10); _root[Tower].lineTo(-10, 0); _root[Tower].createEmptyMovieClip("middle", 1400 + _root[Tower].Info[5]); _root[Tower].middle.lineStyle(1, 4521796); _root[Tower].middle.moveTo(-7, 0); _root[Tower].middle.lineTo(0, -7); _root[Tower].middle.lineTo(7, 0); _root[Tower].middle.lineTo(0, 7); _root[Tower].middle.lineTo(-7, 0); _root[Tower].beginFill(0); _root[Tower].lineStyle(0, 0); _root[Tower].moveTo(-4, 0); _root[Tower].lineTo(0, -4); _root[Tower].lineTo(4, 0); _root[Tower].lineTo(0, 4); _root[Tower].lineTo(-4, 0); _root[Tower].endFill(); _root[Tower].Info[2] = 6; _root[Tower].Info[3] = 60; _root[Tower].Info[4] = 2; _root[Tower].Info[6] = 100; _root[Tower].POWER = 6; _root[Tower].RANGE = 60; _root[Tower].SPEED = 2; _root[Tower].charge = 100; } function DrawRailgun(Tower) { _root[Tower].lineStyle(0, 8947848); _root[Tower].moveTo(-10, 0); _root[Tower].lineTo(0, -10); _root[Tower].lineTo(10, 0); _root[Tower].lineTo(0, 10); _root[Tower].lineTo(-10, 0); _root[Tower].createEmptyMovieClip("middle", 1100 + _root[Tower].Info[5]); _root[Tower].middle.lineStyle(1, 255); _root[Tower].middle.moveTo(-7, 0); _root[Tower].middle.lineTo(0, -7); _root[Tower].middle.lineTo(7, 0); _root[Tower].middle.lineTo(0, 7); _root[Tower].middle.lineTo(-7, 0); _root[Tower].beginFill(0); _root[Tower].lineStyle(0, 0); _root[Tower].moveTo(-4, 0); _root[Tower].lineTo(0, -4); _root[Tower].lineTo(4, 0); _root[Tower].lineTo(0, 4); _root[Tower].lineTo(-4, 0); _root[Tower].endFill(); _root[Tower].Info[2] = 5; _root[Tower].Info[3] = 150; _root[Tower].Info[4] = 1; _root[Tower].Info[6] = 200; _root[Tower].x = 0; _root[Tower].y = 0; _root[Tower].fire = false; _root[Tower].POWER = 5; _root[Tower].RANGE = 150; _root[Tower].SPEED = 1; _root[Tower].charge = 100; _root[Tower].targeted = false; } function DrawInverter(Tower) { _root[Tower].lineStyle(0, 8947848); _root[Tower].moveTo(-10, 0); _root[Tower].lineTo(0, -10); _root[Tower].lineTo(10, 0); _root[Tower].lineTo(0, 10); _root[Tower].lineTo(-10, 0); _root[Tower].createEmptyMovieClip("middle", 1100 + _root[Tower].Info[5]); _root[Tower].middle.lineStyle(1, 6710886); _root[Tower].middle.moveTo(-7, 0); _root[Tower].middle.lineTo(0, -7); _root[Tower].middle.lineTo(7, 0); _root[Tower].middle.lineTo(0, 7); _root[Tower].middle.lineTo(-7, 0); _root[Tower].beginFill(0); _root[Tower].lineStyle(0, 0); _root[Tower].moveTo(-4, 0); _root[Tower].lineTo(0, -4); _root[Tower].lineTo(4, 0); _root[Tower].lineTo(0, 4); _root[Tower].lineTo(-4, 0); _root[Tower].endFill(); _root[Tower].Info[2] = 3; _root[Tower].Info[3] = 80; _root[Tower].Info[4] = 2; _root[Tower].Info[6] = 200; _root[Tower].POWER = 3; _root[Tower].RANGE = 80; _root[Tower].SPEED = 2; _root[Tower].charge = 100; _root[Tower].targeted = undefined; } function DrawRadar(Tower) { _root[Tower].lineStyle(0, 8947848); _root[Tower].moveTo(-10, 0); _root[Tower].lineTo(0, -10); _root[Tower].lineTo(10, 0); _root[Tower].lineTo(0, 10); _root[Tower].lineTo(-10, 0); _root[Tower].createEmptyMovieClip("middle", 1100 + _root[Tower].Info[5]); _root[Tower].middle.lineStyle(1, 39168); _root[Tower].middle.moveTo(-7, 0); _root[Tower].middle.lineTo(0, -7); _root[Tower].middle.lineTo(7, 0); _root[Tower].middle.lineTo(0, 7); _root[Tower].middle.lineTo(-7, 0); _root[Tower].beginFill(0); _root[Tower].lineStyle(0, 0); _root[Tower].moveTo(-4, 0); _root[Tower].lineTo(0, -4); _root[Tower].lineTo(4, 0); _root[Tower].lineTo(0, 4); _root[Tower].lineTo(-4, 0); _root[Tower].endFill(); _root[Tower].Info[2] = 2; _root[Tower].Info[3] = 80; _root[Tower].Info[4] = 2; _root[Tower].Info[6] = 200; _root[Tower].POWER = 2; _root[Tower].RANGE = 80; _root[Tower].SPEED = 2; _root[Tower].charge = 100; DrawRadarSight(_root[Tower]); } function DrawFission(Tower) { _root[Tower].lineStyle(0, 8947848); _root[Tower].moveTo(-10, 0); _root[Tower].lineTo(0, -10); _root[Tower].lineTo(10, 0); _root[Tower].lineTo(0, 10); _root[Tower].lineTo(-10, 0); _root[Tower].createEmptyMovieClip("middle", 1100 + _root[Tower].Info[5]); _root[Tower].middle.lineStyle(1, 5667071); _root[Tower].middle.moveTo(-7, 0); _root[Tower].middle.lineTo(0, -7); _root[Tower].middle.lineTo(7, 0); _root[Tower].middle.lineTo(0, 7); _root[Tower].middle.lineTo(-7, 0); _root[Tower].beginFill(0); _root[Tower].lineStyle(0, 0); _root[Tower].moveTo(-4, 0); _root[Tower].lineTo(0, -4); _root[Tower].lineTo(4, 0); _root[Tower].lineTo(0, 4); _root[Tower].lineTo(-4, 0); _root[Tower].endFill(); _root[Tower].Info[2] = 20; _root[Tower].Info[3] = 100; _root[Tower].Info[4] = 1; _root[Tower].Info[6] = 150; _root[Tower].POWER = 20; _root[Tower].RANGE = 100; _root[Tower].SPEED = 1; _root[Tower].charge = 100; } function DrawScissor(Tower) { _root[Tower].lineStyle(0, 8947848); _root[Tower].moveTo(-10, 0); _root[Tower].lineTo(0, -10); _root[Tower].lineTo(10, 0); _root[Tower].lineTo(0, 10); _root[Tower].lineTo(-10, 0); _root[Tower].createEmptyMovieClip("middle", 1100 + _root[Tower].Info[5]); _root[Tower].middle.lineStyle(1, 10027161); _root[Tower].middle.moveTo(-7, 0); _root[Tower].middle.lineTo(0, -7); _root[Tower].middle.lineTo(7, 0); _root[Tower].middle.lineTo(0, 7); _root[Tower].middle.lineTo(-7, 0); _root[Tower].beginFill(0); _root[Tower].lineStyle(0, 0); _root[Tower].moveTo(-4, 0); _root[Tower].lineTo(0, -4); _root[Tower].lineTo(4, 0); _root[Tower].lineTo(0, 4); _root[Tower].lineTo(-4, 0); _root[Tower].endFill(); _root[Tower].Info[2] = 1; _root[Tower].Info[3] = 90; _root[Tower].Info[4] = 1; _root[Tower].Info[6] = 200; _root[Tower].POWER = 1; _root[Tower].RANGE = 90; _root[Tower].SPEED = 1; _root[Tower].charge = 100; } function DrawRange(Tower) { _root.createEmptyMovieClip("Range", 30000); _root.Range.lineStyle(1, 0, 75); _root.Range.beginFill(8947848, 15); _root.Range.moveTo(-Tower.Info[3], 0); l = 0; while (l <= (Math.PI*2)) { _root.Range.lineTo((-Tower.Info[3]) * Math.cos(l), (-Tower.Info[3]) * Math.sin(l)); l = l + 0.196349540849362; } _root.Range.endFill(); _root.Range._x = Tower._x; _root.Range._y = Tower._y; } function DrawRadarSight(Tower) { _root.createEmptyMovieClip("radar" + Tower.Info[5], 1100 + Tower.Info[5]); _root["radar" + Tower.Info[5]].moveTo(0, 0); _root["radar" + Tower.Info[5]].lineStyle(0, 39168, 25); _root["radar" + Tower.Info[5]].beginFill(39168, 25); _root["radar" + Tower.Info[5]].lineTo(0, Tower.Info[3]); uu = 0; while (uu <= ((Tower.Info[4] / 16) * Math.PI)) { _root["radar" + Tower.Info[5]].lineTo(Tower.Info[3] * Math.sin(uu), Tower.Info[3] * Math.cos(uu)); uu = uu + 0.196349540849362; } _root["radar" + Tower.Info[5]].lineTo(0, 0); _root["radar" + Tower.Info[5]].endFill(); } function DrawScissorBeam(Tower) { Tower.n = ((Tower.n < 30) ? (Tower.n + 1) : 0); for (i3 in TowerArrayB) { if (TowerArrayB[i3].Info[1] == 8) { if (Math.sqrt(Math.pow(TowerArrayB[i3]._x - Tower._x, 2) + Math.pow(TowerArrayB[i3]._y - Tower._y, 2)) <= Tower.Info[3]) { _root.createEmptyMovieClip(("BeamX" + Tower.Info[5]) + i3, ((70 + Tower.Info[5]) + 4) + i3); _root[("BeamX" + Tower.Info[5]) + i3].moveTo(Tower._x, Tower._y); _root[("BeamX" + Tower.Info[5]) + i3].lineStyle(Tower.n / 4, 10031513, 50); _root[("BeamX" + Tower.Info[5]) + i3].lineTo(TowerArrayB[i3]._x, TowerArrayB[i3]._y); } else if (Math.sqrt(Math.pow(TowerArrayB[i3]._x - Tower._x, 2) + Math.pow(TowerArrayB[i3]._y - Tower._y, 2)) > Tower.Info[3]) { _root[("BeamX" + Tower.Info[5]) + i3].removeMovieClip(); } } for (k3 in EnemyArrayB) { if ((_root[("BeamX" + Tower.Info[5]) + i3].hitTest(EnemyArrayB[k3]._x, EnemyArrayB[k3]._y, true) && (TowerArrayB[i3].Info[0] == true)) && (Tower.Info[0] == true)) { EnemyArrayB[k3].life = EnemyArrayB[k3].life - Tower.Info[2]; } } } } function DrawFreqWave(Tower) { _root.createEmptyMovieClip("FreqWave" + Tower.Info[5], 550 + Tower.Info[5]); _root["FreqWave" + Tower.Info[5]].moveTo(Tower.PointArray[0]._x + Tower._x, Tower.PointArray[0]._y + Tower._y); _root["FreqWave" + Tower.Info[5]].lineStyle(2, 16746496); for (n in Tower.PointArray) { if (Tower.PointArray[n] != undefined) { Tower.PointArray[n]._x = Tower.PointArray[n]._x + (Tower.PointArray[n].xV / Tower.PointArray[n].mag); Tower.PointArray[n]._y = Tower.PointArray[n]._y + (Tower.PointArray[n].yV / Tower.PointArray[n].mag); _root["FreqWave" + Tower.Info[5]].lineTo(Tower.PointArray[n]._x + Tower._x, Tower.PointArray[n]._y + Tower._y); } } } function ReDraw(Tower) { _root[Tower].middle.removeMovieClip(); _root[Tower].createEmptyMovieClip("middle", 1100 + _root[Tower].Info[5]); switch (_root[Tower].Info[1]) { case 0 : _root[Tower].middle.lineStyle(_root[Tower].Info[2] / _root[Tower].POWER, 16776960); break; case 1 : _root[Tower].middle.lineStyle(_root[Tower].Info[2] / _root[Tower].POWER, 16711935); break; case 2 : _root[Tower].middle.lineStyle(_root[Tower].Info[2] / _root[Tower].POWER, 16711680); break; case 3 : _root[Tower].middle.lineStyle(_root[Tower].Info[2] / _root[Tower].POWER, 4521796); break; case 4 : _root[Tower].middle.lineStyle(_root[Tower].Info[2] / _root[Tower].POWER, 255); break; case 5 : _root[Tower].middle.lineStyle(_root[Tower].Info[2] / _root[Tower].POWER, 6710886); break; case 6 : _root[Tower].middle.lineStyle(_root[Tower].Info[2] / _root[Tower].POWER, 39168); break; case 7 : _root[Tower].middle.lineStyle(_root[Tower].Info[2] / _root[Tower].POWER, 5667071); break; case 8 : _root[Tower].middle.lineStyle(_root[Tower].Info[2] / _root[Tower].POWER, 10027161); break; case 9 : _root[Tower].middle.lineStyle(_root[Tower].Info[2] / _root[Tower].POWER, 16746496); } _root[Tower].middle.moveTo(-7, 0); _root[Tower].middle.lineTo(0, -7); _root[Tower].middle.lineTo(7, 0); _root[Tower].middle.lineTo(0, 7); _root[Tower].middle.lineTo(-7, 0); } function DrawUpgrade(Tower) { key = false; _root.Panel.Credit.duplicateMovieClip("upgradeP", 200, _root.Panel); _root.Panel.upgradeP.createTextField("UPT", 201, 3, 0, 60, 20); _root.Panel.upgradeP.UPT.text = "UPGRADE"; _root.Panel.upgradeP._x = 629; _root.Panel.upgradeP._y = 229; _root.Panel.upgradeP.UPT.setTextFormat(PanelUp); _root.Panel.Credit.duplicateMovieClip("upgradeR", 202, _root.Panel); _root.Panel.upgradeR.createTextField("URT", 203, 3, 0, 60, 20); _root.Panel.upgradeR.URT.text = "UPGRADE"; _root.Panel.upgradeR._x = 629; _root.Panel.upgradeR._y = 252; _root.Panel.upgradeR.URT.setTextFormat(PanelUp); if (_root[Tower].Info[1] != 8) { _root.Panel.Credit.duplicateMovieClip("upgradeS", 204, _root.Panel); _root.Panel.upgradeS.createTextField("UST", 205, 3, 0, 60, 20); _root.Panel.upgradeS.UST.text = "UPGRADE"; _root.Panel.upgradeS._x = 629; _root.Panel.upgradeS._y = 275; _root.Panel.upgradeS.UST.setTextFormat(PanelUp); } _root.Panel.createEmptyMovieClip("selltower", 206, _root.Panel); _root.Panel.selltower.moveTo(0, 0); _root.Panel.selltower.lineStyle(1, 0); _root.Panel.selltower.lineTo(40, 0); _root.Panel.selltower.lineTo(40, 20); _root.Panel.selltower.lineTo(10, 20); _root.Panel.selltower.lineTo(0, 10); _root.Panel.selltower.lineTo(0, 0); _root.Panel.selltower.createTextField("SEL", 207, 3, 0, 40, 20); _root.Panel.selltower.SEL.text = "SELL"; _root.Panel.selltower.SEL.setTextFormat(PanelUp); _root.Panel.selltower._x = 629; _root.Panel.selltower._y = 480; UpgradeButton(Tower); _root.Panel.upgradeP.onEnterFrame = function () { if (Key.isDown(80) && (key == false)) { if (money >= Math.round((_root[Tower].Info[6] * _root[Tower].Info[2]) / _root[Tower].POWER)) { money = money - Math.round((_root[Tower].Info[6] * _root[Tower].Info[2]) / _root[Tower].POWER); _root[Tower].Info[2] = _root[Tower].Info[2] + _root[Tower].POWER; _root.Panel.Upgrade.power.Power.text = _root[Tower].Info[2]; _root.Panel.Upgrade.range.Range.text = _root[Tower].Info[3]; _root.Panel.Upgrade.speed.Speed.text = _root[Tower].Info[4]; _root.Panel.Upgrade.power.Power.setTextFormat(PanelValue); _root.Panel.Upgrade.range.Range.setTextFormat(PanelValue); _root.Panel.Upgrade.speed.Speed.setTextFormat(PanelValue); ReDraw(Tower); _root.Panel.Upgrade.power.Power.text = _root[Tower].Info[2]; _root.Panel.Upgrade.power.Power.setTextFormat(PanelValue); } key = true; } if (Key.isDown(82) && (key == false)) { if ((money >= Math.round(_root[Tower].Info[3] * 2.5)) && (_root[Tower].Info[3] < 200)) { money = money - Math.round(_root[Tower].Info[3] * 2.5); _root[Tower].Info[3] = _root[Tower].Info[3] + 20; _root.Panel.Upgrade.power.Power.text = _root[Tower].Info[2]; _root.Panel.Upgrade.range.Range.text = _root[Tower].Info[3]; _root.Panel.Upgrade.speed.Speed.text = _root[Tower].Info[4]; _root.Panel.Upgrade.power.Power.setTextFormat(PanelValue); _root.Panel.Upgrade.range.Range.setTextFormat(PanelValue); _root.Panel.Upgrade.speed.Speed.setTextFormat(PanelValue); DrawRange(_root[Tower]); if (_root[Tower].Info[1] == 6) { DrawRadarSight(_root[Tower]); } _root.Panel.Upgrade.range.Range.text = _root[Tower].Info[3]; _root.Panel.Upgrade.range.Range.setTextFormat(PanelValue); } key = true; } if (Key.isDown(83) && (key == false)) { if (((money >= Math.round((_root[Tower].Info[6] * _root[Tower].Info[4]) / 2)) && (_root[Tower].Info[1] != 1)) && (_root[Tower].Info[1] != 6)) { money = money - Math.round((_root[Tower].Info[6] * _root[Tower].Info[4]) / 2); _root[Tower].Info[4] = _root[Tower].Info[4] + 1; _root.Panel.Upgrade.speed.Speed.text = _root[Tower].Info[4]; _root.Panel.Upgrade.speed.Speed.setTextFormat(PanelValue); } else if (((_root[Tower].Info[1] == 1) && (money >= Math.round(_root[Tower].Info[4] * 20))) && (_root[Tower].Info[4] < 17)) { money = money - Math.round(_root[Tower].Info[4] * 20); _root[Tower].Info[4] = _root[Tower].Info[4] + 2; _root.Panel.Upgrade.speed.Speed.text = _root[Tower].Info[4]; _root.Panel.Upgrade.speed.Speed.setTextFormat(PanelValue); } else if (((_root[Tower].Info[1] == 6) && (money >= Math.round((_root[Tower].Info[6] * _root[Tower].Info[4]) / 2))) && (_root[Tower].Info[4] < 17)) { money = money - Math.round(_root[Tower].Info[4] * 20); _root[Tower].Info[4] = _root[Tower].Info[4] + 1; _root.Panel.Upgrade.speed.Speed.text = _root[Tower].Info[4]; _root.Panel.Upgrade.speed.Speed.setTextFormat(PanelValue); DrawRadarSight(_root[Tower]); } key = true; } if (((Key.isDown(80) == false) && (Key.isDown(82) == false)) && (Key.isDown(83) == false)) { key = false; } }; } function AssignButton(Tower) { _root[Tower].onPress = function () { _root.Panel.Upgrade.power.Power.text = _root[Tower].Info[2]; _root.Panel.Upgrade.range.Range.text = _root[Tower].Info[3]; _root.Panel.Upgrade.speed.Speed.text = _root[Tower].Info[4]; _root.Panel.Upgrade.power.Power.setTextFormat(PanelValue); _root.Panel.Upgrade.range.Range.setTextFormat(PanelValue); _root.Panel.Upgrade.speed.Speed.setTextFormat(PanelValue); DrawUpgrade(Tower); DrawRange(_root[Tower]); _root.createEmptyMovieClip("Placer", -10); }; } function UpgradeButton(Tower) { _root.Panel.upgradeP.onRollOver = function () { _root.Panel.Upgrade.cost.Cost.text = Math.round((_root[Tower].Info[6] * _root[Tower].Info[2]) / _root[Tower].POWER); _root.Panel.Upgrade.info.INFO.text = "Power + Initial Power"; _root.Panel.Upgrade.info.INFO.setTextFormat(PanelValue); _root.Panel.Upgrade.cost.Cost.setTextFormat(PanelValue); this._alpha = 50; this.UPT.textColor = 8947848 /* 0x888888 */; }; _root.Panel.upgradeR.onRollOver = function () { if (_root[Tower].Info[3] < 200) { _root.Panel.Upgrade.cost.Cost.text = Math.round(_root[Tower].Info[3] * 2.5); _root.Panel.Upgrade.info.INFO.text = "Range + 20"; _root.Panel.Upgrade.info.INFO.setTextFormat(PanelValue); _root.Panel.Upgrade.cost.Cost.setTextFormat(PanelValue); } else if (_root[Tower].Info[3] >= 200) { _root.Panel.Upgrade.cost.Cost.text = "Max"; _root.Panel.Upgrade.info.INFO.text = "This Tower has maximum range"; _root.Panel.Upgrade.info.INFO.setTextFormat(PanelValue); _root.Panel.Upgrade.cost.Cost.setTextFormat(PanelValue); } this._alpha = 50; this.URT.textColor = 8947848 /* 0x888888 */; }; _root.Panel.upgradeS.onRollOver = function () { if ((_root[Tower].Info[1] == 1) && (_root[Tower].Info[4] == 17)) { _root.Panel.Upgrade.cost.Cost.text = "Max"; _root.Panel.Upgrade.cost.Cost.setTextFormat(PanelValue); _root.Panel.Upgrade.info.INFO.text = "This tower already has 4 extensions"; _root.Panel.Upgrade.info.INFO.setTextFormat(PanelValue); } else if ((_root[Tower].Info[1] == 1) && (_root[Tower].Info[4] < 17)) { _root.Panel.Upgrade.cost.Cost.text = Math.round(_root[Tower].Info[4] * 20); _root.Panel.Upgrade.info.INFO.text = "Adds 1 beam extension. Up to 4 extensions"; _root.Panel.Upgrade.info.INFO.setTextFormat(PanelValue); _root.Panel.Upgrade.cost.Cost.setTextFormat(PanelValue); } else if ((_root[Tower].Info[1] != 1) && (_root[Tower].Info[1] != 6)) { _root.Panel.Upgrade.cost.Cost.text = Math.round((_root[Tower].Info[6] * _root[Tower].Info[4]) / 2); _root.Panel.Upgrade.info.INFO.text = "Speed + 1"; _root.Panel.Upgrade.info.INFO.setTextFormat(PanelValue); _root.Panel.Upgrade.cost.Cost.setTextFormat(PanelValue); } else if ((_root[Tower].Info[1] == 6) && (_root[Tower].Info[4] < 17)) { _root.Panel.Upgrade.cost.Cost.text = Math.round((_root[Tower].Info[6] * _root[Tower].Info[4]) / 2); _root.Panel.Upgrade.info.INFO.text = "Increases radar width by 11.25 degrees. Up to 180 degress"; _root.Panel.Upgrade.info.INFO.setTextFormat(PanelValue); _root.Panel.Upgrade.cost.Cost.setTextFormat(PanelValue); } else if ((_root[Tower].Info[1] == 6) && (_root[Tower].Info[4] == 17)) { _root.Panel.Upgrade.cost.Cost.text = "Max"; _root.Panel.Upgrade.info.INFO.text = "This tower already has maximum sight."; _root.Panel.Upgrade.info.INFO.setTextFormat(PanelValue); _root.Panel.Upgrade.cost.Cost.setTextFormat(PanelValue); } this._alpha = 50; this.UST.textColor = 8947848 /* 0x888888 */; }; _root.Panel.upgradeP.onRollOut = function () { _root.Panel.Upgrade.cost.Cost.text = ""; _root.Panel.Upgrade.info.INFO.text = ""; this._alpha = 100; this.UPT.textColor = 0; }; _root.Panel.upgradeR.onRollOut = function () { _root.Panel.Upgrade.cost.Cost.text = ""; _root.Panel.Upgrade.info.INFO.text = ""; this._alpha = 100; this.URT.textColor = 0; }; _root.Panel.upgradeS.onRollOut = function () { _root.Panel.Upgrade.cost.Cost.text = ""; _root.Panel.Upgrade.info.INFO.text = ""; this._alpha = 100; this.UST.textColor = 0; }; _root.Panel.selltower.onRollOver = function () { _root.Panel.Upgrade.sell.Sell.text = Math.round((((_root[Tower].Info[6] / 4) + (((_root[Tower].Info[2] / _root[Tower].POWER) * _root[Tower].Info[6]) / 4)) + (((_root[Tower].Info[3] / _root[Tower].RANGE) * _root[Tower].Info[6]) / 4)) + (((_root[Tower].Info[4] / _root[Tower].SPEED) * _root[Tower].Info[6]) / 4)); _root.Panel.Upgrade.sell.Sell.setTextFormat(PanelValue); this._alpha = 50; this.SEL.textColor = 8947848 /* 0x888888 */; }; _root.Panel.selltower.onRollOut = function () { _root.Panel.Upgrade.sell.Sell.text = ""; this._alpha = 100; this.SEL.textColor = 0; }; _root.Panel.upgradeP.onPress = function () { if (money >= Math.round((_root[Tower].Info[6] * _root[Tower].Info[2]) / _root[Tower].POWER)) { money = money - Math.round((_root[Tower].Info[6] * _root[Tower].Info[2]) / _root[Tower].POWER); _root[Tower].Info[2] = _root[Tower].Info[2] + _root[Tower].POWER; _root.Panel.Upgrade.power.Power.text = _root[Tower].Info[2]; _root.Panel.Upgrade.range.Range.text = _root[Tower].Info[3]; _root.Panel.Upgrade.speed.Speed.text = _root[Tower].Info[4]; _root.Panel.Upgrade.power.Power.setTextFormat(PanelValue); _root.Panel.Upgrade.range.Range.setTextFormat(PanelValue); _root.Panel.Upgrade.speed.Speed.setTextFormat(PanelValue); ReDraw(Tower); } _root.Panel.Upgrade.power.Power.text = _root[Tower].Info[2]; _root.Panel.Upgrade.power.Power.setTextFormat(PanelValue); }; _root.Panel.upgradeR.onPress = function () { if ((money >= Math.round(_root[Tower].Info[3] * 2.5)) && (_root[Tower].Info[3] < 200)) { money = money - Math.round(_root[Tower].Info[3] * 2.5); _root[Tower].Info[3] = _root[Tower].Info[3] + 20; _root.Panel.Upgrade.power.Power.text = _root[Tower].Info[2]; _root.Panel.Upgrade.range.Range.text = _root[Tower].Info[3]; _root.Panel.Upgrade.speed.Speed.text = _root[Tower].Info[4]; _root.Panel.Upgrade.power.Power.setTextFormat(PanelValue); _root.Panel.Upgrade.range.Range.setTextFormat(PanelValue); _root.Panel.Upgrade.speed.Speed.setTextFormat(PanelValue); _root.Panel.Upgrade.range.Range.text = _root[Tower].Info[3]; _root.Panel.Upgrade.range.Range.setTextFormat(PanelValue); DrawRange(_root[Tower]); if (_root[Tower].Info[1] == 6) { DrawRadarSight(_root[Tower]); } } }; _root.Panel.upgradeS.onPress = function () { if (((money >= Math.round((_root[Tower].Info[6] * _root[Tower].Info[4]) / 2)) && (_root[Tower].Info[1] != 1)) && (_root[Tower].Info[1] != 6)) { money = money - Math.round((_root[Tower].Info[6] * _root[Tower].Info[4]) / 2); _root[Tower].Info[4] = _root[Tower].Info[4] + 1; } else if (((_root[Tower].Info[1] == 1) && (money >= Math.round(_root[Tower].Info[4] * 20))) && (_root[Tower].Info[4] < 17)) { money = money - Math.round(_root[Tower].Info[4] * 20); _root[Tower].Info[4] = _root[Tower].Info[4] + 2; } else if (((_root[Tower].Info[1] == 6) && (money >= Math.round((_root[Tower].Info[6] * _root[Tower].Info[4]) / 2))) && (_root[Tower].Info[4] < 17)) { money = money - Math.round((_root[Tower].Info[6] * _root[Tower].Info[4]) / 2); _root[Tower].Info[4] = _root[Tower].Info[4] + 1; DrawRadarSight(_root[Tower]); } _root.Panel.Upgrade.speed.Speed.text = _root[Tower].Info[4]; _root.Panel.Upgrade.speed.Speed.setTextFormat(PanelValue); }; _root.Panel.selltower.onPress = function () { money = money + Math.round((((_root[Tower].Info[6] / 4) + (((_root[Tower].Info[2] / _root[Tower].POWER) * _root[Tower].Info[6]) / 4)) + (((_root[Tower].Info[3] / _root[Tower].RANGE) * _root[Tower].Info[6]) / 4)) + (((_root[Tower].Info[4] / _root[Tower].SPEED) * _root[Tower].Info[6]) / 4)); _root["radar" + _root[Tower].Info[5]].removeMovieClip(); for (w in TowerArrayB) { _root[("BeamX" + _root[Tower].Info[5]) + TowerArrayB[w].Info[5]].removeMovieClip(); _root[("BeamX" + TowerArrayB[w].Info[5]) + _root[Tower].Info[5]].removeMovieClip(); } _root[Tower].removeMovieClip(); _root.Range.removeMovieClip(); _root.Panel.Upgrade.cost.Cost.text = ""; _root.Panel.Upgrade.info.INFO.text = ""; _root.Panel.Upgrade.sell.Sell.text = ""; _root.Panel.Upgrade.power.Power.text = ""; _root.Panel.Upgrade.range.Range.text = ""; _root.Panel.Upgrade.speed.Speed.text = ""; _root.Panel.upgradeP.removeMovieClip(); _root.Panel.upgradeR.removeMovieClip(); _root.Panel.upgradeS.removeMovieClip(); _root.Panel.selltower.removeMovieClip(); for (p2 in TowerArrayB) { if (TowerArrayB[p2] == undefined) { TowerArrayB.splice(p2, 1); } } }; _root.Panel.Upgrade.power.Power.text = _root[Tower].Info[2]; _root.Panel.Upgrade.range.Range.text = _root[Tower].Info[3]; _root.Panel.Upgrade.speed.Speed.text = _root[Tower].Info[4]; _root.Panel.Upgrade.power.Power.setTextFormat(PanelValue); _root.Panel.Upgrade.range.Range.setTextFormat(PanelValue); _root.Panel.Upgrade.speed.Speed.setTextFormat(PanelValue); } function DrawNormalEnemy(iter) { _root.createEmptyMovieClip("enemy" + iter, 400 + iter); _root["enemy" + iter].moveTo(-2, -2); _root["enemy" + iter].lineStyle(0, 11145693); _root["enemy" + iter].lineTo(2, -2); _root["enemy" + iter].lineTo(2, 2); _root["enemy" + iter].lineTo(-2, 2); _root["enemy" + iter].lineTo(-2, -2); _root["enemy" + iter].createEmptyMovieClip("LIFE", 500 + iter); _root["enemy" + iter].LIFE.moveTo(-4, -4); _root["enemy" + iter].LIFE.lineStyle(2, 65280); _root["enemy" + iter].LIFE.lineTo(4, -4); _root["enemy" + iter]._x = -30 - (10 * Math.cos(iter * Math.PI)); _root["enemy" + iter]._y = 50 + (10 * Math.cos(iter * Math.PI)); _root["enemy" + iter].speed = 4; _root["enemy" + iter].TargetBy = new Array(); EnemyArrayB[iter] = _root["enemy" + iter]; SpeedTotal = 4; _root["enemy" + iter].life = LifeTotal; } function DrawFastEnemy(iter) { _root.createEmptyMovieClip("enemy" + iter, 400 + iter); _root["enemy" + iter].moveTo(-4, 0); _root["enemy" + iter].lineStyle(0, 1122867); _root["enemy" + iter].curveTo(0, -5, 4, 0); _root["enemy" + iter].curveTo(0, 5, -4, 0); _root["enemy" + iter].createEmptyMovieClip("LIFE", 500 + iter); _root["enemy" + iter].LIFE.moveTo(-4, -5); _root["enemy" + iter].LIFE.lineStyle(2, 65280); _root["enemy" + iter].LIFE.lineTo(4, -5); _root["enemy" + iter]._x = -30 - (10 * Math.cos(iter * Math.PI)); _root["enemy" + iter]._y = 50 + (10 * Math.cos(iter * Math.PI)); _root["enemy" + iter].speed = 8; _root["enemy" + iter].TargetBy = new Array(); EnemyArrayB[iter] = _root["enemy" + iter]; SpeedTotal = 8; _root["enemy" + iter].life = LifeTotal; } function DrawSlowEnemy(iter) { _root.createEmptyMovieClip("enemy" + iter, 400 + iter); _root["enemy" + iter].moveTo(0, -3); _root["enemy" + iter].lineStyle(0, 1140445); _root["enemy" + iter].lineTo(3, 0); _root["enemy" + iter].lineTo(0, 3); _root["enemy" + iter].lineTo(-3, 0); _root["enemy" + iter].lineTo(0, -3); _root["enemy" + iter].createEmptyMovieClip("LIFE", 500 + iter); _root["enemy" + iter].LIFE.moveTo(-4, -5); _root["enemy" + iter].LIFE.lineStyle(2, 65280); _root["enemy" + iter].LIFE.lineTo(4, -5); _root["enemy" + iter]._x = -30 - (10 * Math.cos(iter * Math.PI)); _root["enemy" + iter]._y = 50 + (10 * Math.cos(iter * Math.PI)); _root["enemy" + iter].speed = 2; _root["enemy" + iter].TargetBy = new Array(); EnemyArrayB[iter] = _root["enemy" + iter]; SpeedTotal = 2; _root["enemy" + iter].life = LifeTotal; } function DrawRegenEnemy(iter) { _root.createEmptyMovieClip("enemy" + iter, 400 + iter); _root["enemy" + iter].moveTo(-2, -2); _root["enemy" + iter].lineStyle(0, 11141120); _root["enemy" + iter].lineTo(3, 3); _root["enemy" + iter].lineTo(5, 1); _root["enemy" + iter].lineTo(3, -1); _root["enemy" + iter].lineTo(-3, 5); _root["enemy" + iter].lineTo(-5, 3); _root["enemy" + iter].lineTo(-3, 1); _root["enemy" + iter].lineTo(2, 6); _root["enemy" + iter].createEmptyMovieClip("LIFE", 500 + iter); _root["enemy" + iter].LIFE.moveTo(-4, -5); _root["enemy" + iter].LIFE.lineStyle(2, 4474111); _root["enemy" + iter].LIFE.lineTo(4, -5); _root["enemy" + iter]._x = -30 - (10 * Math.cos(iter * Math.PI)); _root["enemy" + iter]._y = 50 + (10 * Math.cos(iter * Math.PI)); _root["enemy" + iter].speed = 4; _root["enemy" + iter].TargetBy = new Array(); EnemyArrayB[iter] = _root["enemy" + iter]; SpeedTotal = 4; _root["enemy" + iter].life = LifeTotal; } function DrawExplodeEnemy(iter) { _root.createEmptyMovieClip("enemy" + iter, 400 + iter); _root["enemy" + iter].moveTo(3, -5); _root["enemy" + iter].lineStyle(0, 43520); _root["enemy" + iter].lineTo(6, -2); _root["enemy" + iter].lineTo(3, 1); _root["enemy" + iter].lineTo(0, -2); _root["enemy" + iter].lineTo(3, -5); _root["enemy" + iter].moveTo(0, -2); _root["enemy" + iter].lineTo(5, 3); _root["enemy" + iter].lineTo(0, 8); _root["enemy" + iter].lineTo(-5, 3); _root["enemy" + iter].lineTo(0, -2); _root["enemy" + iter].moveTo(-3, 5); _root["enemy" + iter].lineTo(-6, 8); _root["enemy" + iter].lineTo(-3, 11); _root["enemy" + iter].lineTo(0, 8); _root["enemy" + iter].createEmptyMovieClip("LIFE", 500 + iter); _root["enemy" + iter].LIFE.moveTo(-5, -7); _root["enemy" + iter].LIFE.lineStyle(2, 14483456); _root["enemy" + iter].LIFE.lineTo(5, -7); _root["enemy" + iter]._x = -30 - (10 * Math.cos(iter * Math.PI)); _root["enemy" + iter]._y = 50 + (10 * Math.cos(iter * Math.PI)); _root["enemy" + iter].speed = 4; _root["enemy" + iter]._xscale = 80; _root["enemy" + iter]._yscale = 80; _root["enemy" + iter].TargetBy = new Array(); EnemyArrayB[iter] = _root["enemy" + iter]; SpeedTotal = 4; _root["enemy" + iter].life = LifeTotal; } function DrawWarpEnemy(iter) { _root.createEmptyMovieClip("enemy" + iter, 400 + iter); _root["enemy" + iter].moveTo(-4, -2); _root["enemy" + iter].lineStyle(0, 16711697); _root["enemy" + iter].lineTo(-2, -4); _root["enemy" + iter].lineTo(0, -4); _root["enemy" + iter].lineTo(2, -2); _root["enemy" + iter].lineTo(2, 0); _root["enemy" + iter].lineTo(0, 2); _root["enemy" + iter].lineTo(-2, 2); _root["enemy" + iter].lineTo(-4, 0); _root["enemy" + iter].lineTo(-4, -2); _root["enemy" + iter].createEmptyMovieClip("LIFE", 500 + iter); _root["enemy" + iter].LIFE.moveTo(-5, -7); _root["enemy" + iter].LIFE.lineStyle(2, 65280); _root["enemy" + iter].LIFE.lineTo(5, -7); _root["enemy" + iter]._x = -30 - (10 * Math.cos(iter * Math.PI)); _root["enemy" + iter]._y = 50 + (10 * Math.cos(iter * Math.PI)); _root["enemy" + iter].speed = 3; _root["enemy" + iter]._xscale = 100; _root["enemy" + iter]._yscale = 100; _root["enemy" + iter].TargetBy = new Array(); EnemyArrayB[iter] = _root["enemy" + iter]; SpeedTotal = 3; _root["enemy" + iter].life = LifeTotal; _root["enemy" + iter].createEmptyMovieClip("warp", 600 + iter); _root["enemy" + iter].warp.lineStyle(1, 0); _root["enemy" + iter].warp.moveTo(-5, 0); e = 0; while (e <= 6.40818530717959) { _root["enemy" + iter].warp.lineTo(-5 * Math.cos(e), -5 * Math.sin(e)); e = e + 0.392699081698724; } _root["enemy" + iter].warp._x = -1; _root["enemy" + iter].warp._y = -1; _root["enemy" + iter].warp._alpha = 50; _root["enemy" + iter].n = 0; _root["enemy" + iter].warp._xscale = 140; _root["enemy" + iter].warp._yscale = 140; } function DrawSuperEnemy(iter) { _root.createEmptyMovieClip("enemy" + iter, 400 + iter); _root["enemy" + iter].moveTo(0, -4); _root["enemy" + iter].lineStyle(0, 0); _root["enemy" + iter].lineTo(1, -1); _root["enemy" + iter].lineTo(4, 0); _root["enemy" + iter].lineTo(1, 1); _root["enemy" + iter].lineTo(0, 4); _root["enemy" + iter].lineTo(-1, 1); _root["enemy" + iter].lineTo(-4, 0); _root["enemy" + iter].lineTo(-1, -1); _root["enemy" + iter].lineTo(0, -4); _root["enemy" + iter].createEmptyMovieClip("LIFE", 500 + iter); _root["enemy" + iter].LIFE.moveTo(-5, -7); _root["enemy" + iter].LIFE.lineStyle(2, 65280); _root["enemy" + iter].LIFE.lineTo(5, -7); _root["enemy" + iter]._x = -30 - (10 * Math.cos(iter * Math.PI)); _root["enemy" + iter]._y = 50 + (10 * Math.cos(iter * Math.PI)); _root["enemy" + iter].speed = 6; _root["enemy" + iter]._xscale = 100; _root["enemy" + iter]._yscale = 100; _root["enemy" + iter].TargetBy = new Array(); EnemyArrayB[iter] = _root["enemy" + iter]; SpeedTotal = 6; _root["enemy" + iter].life = LifeTotal; _root["enemy" + iter].createEmptyMovieClip("warp", 600 + iter); _root["enemy" + iter].warp.lineStyle(1, 16711680); _root["enemy" + iter].warp.moveTo(-5, 0); e = 0; while (e <= 6.40818530717959) { _root["enemy" + iter].warp.lineTo(-5 * Math.cos(e), -5 * Math.sin(e)); e = e + 0.392699081698724; } _root["enemy" + iter].warp._x = 0; _root["enemy" + iter].warp._y = 0; _root["enemy" + iter].warp._alpha = 50; _root["enemy" + iter].n = 0; _root["enemy" + iter].warp._xscale = 140; _root["enemy" + iter].warp._yscale = 140; } function GameOver() { _root.createEmptyMovieClip("gameover", 600000); _root.gameover.createTextField("GAMEOVER", 600001, 0, 0, 200, 50); _root.gameover._x = 150; _root.gameover._y = 100; _root.gameover.GAMEOVER.text = "Game Over"; _root.gameover.GAMEOVER.setTextFormat(TitleScreen); _root.gameover.createTextField("LEVEL", 600002, 0, 50, 200, 50); _root.gameover.LEVEL.wordWrap = true; _root.gameover.LEVEL.text = (("You made it to level " + level) + " with a score of ") + score; _root.gameover.LEVEL.setTextFormat(TitleSubtext); _root.createEmptyMovieClip("Again", 600003); _root.Again.createTextField("AGAIN", 600004, 0, 0, 150, 50); _root.Again._x = 170; _root.Again._y = 200; _root.Again.AGAIN.selectable = false; _root.Again.AGAIN.text = "Again?"; _root.Again.AGAIN.setTextFormat(TitleScreen); Panel.Start.removeMovieClip(); Panel.restart.removeMovieClip(); for (t in EnemyArrayB) { EnemyArrayB[t].removeMovieClip(); } for (rr in TowerArrayB) { for (rrr in TowerArrayB) { _root[("BeamX" + rr) + rrr].removeMovieClip(); _root[("BeamX" + rrr) + rr].removeMovieClip(); } TowerArrayB[rr].removeMovieClip(); _root["radar" + rr].removeMovieClip(); } NextWave.removeMovieClip(); Movement.removeMovieClip(); _root.createEmptyMovieClip("EASY", 600005); EASY._x = 145; EASY._y = 300; EASY.createTextField("easy", 600006, -40, -20, 120, 50); EASY.easy.text = "Easy"; EASY.easy.selectable = false; EASY.easy.setTextFormat(TitleScreen); _root.createEmptyMovieClip("HARD", 600007); HARD._x = 320; HARD._y = 300; HARD.createTextField("hard", 600008, -40, -20, 120, 50); HARD.hard.text = "Hard"; HARD.hard.selectable = false; HARD.hard.setTextFormat(TitleScreen); EASY.onRollOver = function () { EASY._xscale = 120; EASY._yscale = 120; Title.inform.text = "weaker enemies and more money"; Title.inform.setTextFormat(TitleSubtext); }; EASY.onRollOut = function () { EASY._xscale = 100; EASY._yscale = 100; Title.inform.text = ""; }; EASY.onPress = function () { EASY._xscale = 150; EASY._yscale = 150; Title.removeMovieClip(); EASY.removeMovieClip(); HARD.removeMovieClip(); DIF = 0; _root.Again.removeMovieClip(); _root.gameover.removeMovieClip(); Begin(); level = 1; }; HARD.onRollOver = function () { HARD._xscale = 120; HARD._yscale = 120; Title.inform.text = "stronger enemies and less money"; Title.inform.setTextFormat(TitleSubtext); }; HARD.onRollOut = function () { HARD._xscale = 100; HARD._yscale = 100; Title.inform.text = ""; }; HARD.onPress = function () { HARD._xscale = 150; HARD._yscale = 150; Title.removeMovieClip(); HARD.removeMovieClip(); EASY.removeMovieClip(); DIF = 1; _root.Again.removeMovieClip(); _root.gameover.removeMovieClip(); Begin(); level = 1; }; Range.removeMovieClip(); ButtonBlaster.removeMovieClip(); ButtonBeam.removeMovieClip(); ButtonCharge.removeMovieClip(); ButtonDisruptor.removeMovieClip(); ButtonRailgun.removeMovieClip(); ButtonInverter.removeMovieClip(); ButtonRadar.removeMovieClip(); ButtonFission.removeMovieClip(); ButtonScissor.removeMovieClip(); } function Restart() { _root.createEmptyMovieClip("REstart", 600000); _root.REstart.createTextField("AYS", 600001, 0, 0, 200, 50); _root.REstart._x = 200; _root.REstart._y = 130; _root.REstart.AYS.text = "Restart ?"; _root.createEmptyMovieClip("YES", 600002); _root.YES.createTextField("yes", 600003, 130, 200, 200, 50); _root.YES.yes.text = "Obviously"; _root.createEmptyMovieClip("NO", 600004); _root.NO.createTextField("no", 600005, 380, 200, 100, 50); _root.NO.no.text = "NO"; _root.YES.yes.setTextFormat(TitleScreen); _root.NO.no.setTextFormat(TitleScreen); _root.REstart.AYS.setTextFormat(TitleScreen); _root.YES.onPress = function () { GameOver(); _root.REstart.removeMovieClip(); _root.YES.removeMovieClip(); _root.NO.removeMovieClip(); }; _root.NO.onPress = function () { _root.REstart.removeMovieClip(); _root.YES.removeMovieClip(); _root.NO.removeMovieClip(); }; } function StartWave() { Panel.Start._alpha = 50; EnemyArrayB = []; _root.createEmptyMovieClip("NextWave", 115); j = 0; jj = 0; jjj = 0; Panel.Start.START.setTextFormat(Starttext); Killcount = 0; NextWave.onEnterFrame = function () { jj = jj + 1; switch (EnemyCycle[enemyloop]) { case 0 : if (jj == 10) { DrawNormalEnemy(j); DrawNormalEnemy(j + 1); EnemyArray1[jjj] = 1; EnemyArray2[jjj] = 1; j = j + 2; jj = 0; jjj = jjj + 1; } break; case 1 : if (jj == 5) { DrawFastEnemy(j); DrawFastEnemy(j + 1); EnemyArray1[jjj] = 1; EnemyArray2[jjj] = 1; j = j + 2; jj = 0; jjj = jjj + 1; } break; case 2 : if (jj == 20) { DrawSlowEnemy(j); DrawSlowEnemy(j + 1); EnemyArray1[jjj] = 1; EnemyArray2[jjj] = 1; j = j + 2; jj = 0; jjj = jjj + 1; } break; case 3 : if (jj == 10) { DrawRegenEnemy(j); DrawRegenEnemy(j + 1); EnemyArray1[jjj] = 1; EnemyArray2[jjj] = 1; j = j + 2; jj = 0; jjj = jjj + 1; } break; case 4 : if (jj == 10) { DrawExplodeEnemy(j); DrawExplodeEnemy(j + 1); EnemyArray1[jjj] = 1; EnemyArray2[jjj] = 1; j = j + 2; jj = 0; jjj = jjj + 1; } break; case 5 : if (jj == 55) { DrawWarpEnemy(j); DrawWarpEnemy(j + 1); EnemyArray1[jjj] = 1; EnemyArray2[jjj] = 1; j = j + 2; jj = 0; jjj = jjj + 1; } break; case 6 : if (jj != 40) { break; } DrawSuperEnemy(j); DrawSuperEnemy(j + 1); EnemyArray1[jjj] = 1; EnemyArray2[jjj] = 1; j = j + 2; jj = 0; jjj = jjj + 1; } if (((enemyloop != 9) && (j == 16)) || ((enemyloop == 9) && (j == 8))) { jj = 0; j = 0; jjj = 0; this.removeMovieClip(); } }; EnemyStuff(); } function EnemyStuff() { _root.createEmptyMovieClip("Movement", 116); Movement.onEnterFrame = function () { for (p in EnemyArray1) { for (oo in PathArray1) { if ((((_root["enemy" + ((p * 2) + 1)]._x > PathArray1[oo][0]) && (_root["enemy" + ((p * 2) + 1)]._x < PathArray1[oo][1])) && (_root["enemy" + ((p * 2) + 1)]._y > PathArray1[oo][2])) && (_root["enemy" + ((p * 2) + 1)]._y < PathArray1[oo][3])) { if ((EnemyCycle[enemyloop] != 5) && (EnemyCycle[enemyloop] != 6)) { if (((((oo == 1) || (oo == 5)) || (oo == 9)) || (oo == 11)) || (oo == 17)) { _root["enemy" + ((p * 2) + 1)]._y = _root["enemy" + ((p * 2) + 1)]._y + _root["enemy" + ((p * 2) + 1)].speed; } else if ((((((oo == 3) || (oo == 7)) || (oo == 13)) || (oo == 15)) || (oo == 19)) || (oo == 21)) { _root["enemy" + ((p * 2) + 1)]._y = _root["enemy" + ((p * 2) + 1)]._y - _root["enemy" + ((p * 2) + 1)].speed; } else if (((((((oo == 0) || (oo == 6)) || (oo == 8)) || (oo == 12)) || (oo == 16)) || (oo == 18)) || (oo == 22)) { _root["enemy" + ((p * 2) + 1)]._x = _root["enemy" + ((p * 2) + 1)]._x + _root["enemy" + ((p * 2) + 1)].speed; } else if (((((oo == 2) || (oo == 4)) || (oo == 10)) || (oo == 14)) || (oo == 20)) { _root["enemy" + ((p * 2) + 1)]._x = _root["enemy" + ((p * 2) + 1)]._x - _root["enemy" + ((p * 2) + 1)].speed; } } else { _root["enemy" + ((p * 2) + 1)].n = _root["enemy" + ((p * 2) + 1)].n + 1; if (_root["enemy" + ((p * 2) + 1)].n < Math.round(9 / _root["enemy" + ((p * 2) + 1)].speed)) { _root["enemy" + ((p * 2) + 1)].warp._xscale = _root["enemy" + ((p * 2) + 1)].warp._xscale - (_root["enemy" + ((p * 2) + 1)].n * 15); _root["enemy" + ((p * 2) + 1)].warp._yscale = _root["enemy" + ((p * 2) + 1)].warp._yscale - (_root["enemy" + ((p * 2) + 1)].n * 15); } else if (_root["enemy" + ((p * 2) + 1)].n == Math.round(9 / _root["enemy" + ((p * 2) + 1)].speed)) { _root["enemy" + ((p * 2) + 1)]._visible = false; if (((((oo == 1) || (oo == 5)) || (oo == 9)) || (oo == 11)) || (oo == 17)) { _root["enemy" + ((p * 2) + 1)]._y = _root["enemy" + ((p * 2) + 1)]._y + 20; } else if ((((((oo == 3) || (oo == 7)) || (oo == 13)) || (oo == 15)) || (oo == 19)) || (oo == 21)) { _root["enemy" + ((p * 2) + 1)]._y = _root["enemy" + ((p * 2) + 1)]._y - 20; } else if (((((((oo == 0) || (oo == 6)) || (oo == 8)) || (oo == 12)) || (oo == 16)) || (oo == 18)) || (oo == 22)) { _root["enemy" + ((p * 2) + 1)]._x = _root["enemy" + ((p * 2) + 1)]._x + 20; } else if (((((oo == 2) || (oo == 4)) || (oo == 10)) || (oo == 14)) || (oo == 20)) { _root["enemy" + ((p * 2) + 1)]._x = _root["enemy" + ((p * 2) + 1)]._x - 20; } } else if (_root["enemy" + ((p * 2) + 1)].n == Math.round(30 / _root["enemy" + ((p * 2) + 1)].speed)) { _root["enemy" + ((p * 2) + 1)]._visible = true; } else if ((_root["enemy" + ((p * 2) + 1)].n > Math.round(30 / _root["enemy" + ((p * 2) + 1)].speed)) && (_root["enemy" + ((p * 2) + 1)].n < Math.round(39 / _root["enemy" + ((p * 2) + 1)].speed))) { _root["enemy" + ((p * 2) + 1)].warp._xscale = _root["enemy" + ((p * 2) + 1)].warp._xscale + (_root["enemy" + ((p * 2) + 1)].n * 3); _root["enemy" + ((p * 2) + 1)].warp._yscale = _root["enemy" + ((p * 2) + 1)].warp._yscale + (_root["enemy" + ((p * 2) + 1)].n * 3); } else if (_root["enemy" + ((p * 2) + 1)].n == Math.round(45 / _root["enemy" + ((p * 2) + 1)].speed)) { _root["enemy" + ((p * 2) + 1)].warp._visible = false; } if (_root["enemy" + ((p * 2) + 1)].n >= Math.round(50 / _root["enemy" + ((p * 2) + 1)].speed)) { _root["enemy" + ((p * 2) + 1)].warp._visible = true; _root["enemy" + ((p * 2) + 1)].warp._xscale = 140; _root["enemy" + ((p * 2) + 1)].warp._yscale = 140; _root["enemy" + ((p * 2) + 1)].n = 0; } } } } } for (p in EnemyArray2) { for (oo in PathArray2) { if ((((_root["enemy" + (p * 2)]._x > PathArray2[oo][0]) && (_root["enemy" + (p * 2)]._x < PathArray2[oo][1])) && (_root["enemy" + (p * 2)]._y > PathArray2[oo][2])) && (_root["enemy" + (p * 2)]._y < PathArray2[oo][3])) { if ((EnemyCycle[enemyloop] != 5) && (EnemyCycle[enemyloop] != 6)) { if (((((oo == 1) || (oo == 5)) || (oo == 9)) || (oo == 11)) || (oo == 17)) { _root["enemy" + (p * 2)]._y = _root["enemy" + (p * 2)]._y + _root["enemy" + (p * 2)].speed; } else if ((((((oo == 3) || (oo == 7)) || (oo == 13)) || (oo == 15)) || (oo == 19)) || (oo == 21)) { _root["enemy" + (p * 2)]._y = _root["enemy" + (p * 2)]._y - _root["enemy" + (p * 2)].speed; } else if (((((((oo == 0) || (oo == 6)) || (oo == 8)) || (oo == 12)) || (oo == 16)) || (oo == 18)) || (oo == 22)) { _root["enemy" + (p * 2)]._x = _root["enemy" + (p * 2)]._x + _root["enemy" + (p * 2)].speed; } else if (((((oo == 2) || (oo == 4)) || (oo == 10)) || (oo == 14)) || (oo == 20)) { _root["enemy" + (p * 2)]._x = _root["enemy" + (p * 2)]._x - _root["enemy" + (p * 2)].speed; } } else { _root["enemy" + (p * 2)].n = _root["enemy" + (p * 2)].n + 1; if (_root["enemy" + (p * 2)].n < Math.round(9 / _root["enemy" + (p * 2)].speed)) { _root["enemy" + (p * 2)].warp._xscale = _root["enemy" + (p * 2)].warp._xscale - (_root["enemy" + (p * 2)].n * 15); _root["enemy" + (p * 2)].warp._yscale = _root["enemy" + (p * 2)].warp._yscale - (_root["enemy" + (p * 2)].n * 15); } else if (_root["enemy" + (p * 2)].n == Math.round(9 / _root["enemy" + (p * 2)].speed)) { _root["enemy" + (p * 2)]._visible = false; if (((((oo == 1) || (oo == 5)) || (oo == 9)) || (oo == 11)) || (oo == 17)) { _root["enemy" + (p * 2)]._y = _root["enemy" + (p * 2)]._y + 20; } else if ((((((oo == 3) || (oo == 7)) || (oo == 13)) || (oo == 15)) || (oo == 19)) || (oo == 21)) { _root["enemy" + (p * 2)]._y = _root["enemy" + (p * 2)]._y - 20; } else if (((((((oo == 0) || (oo == 6)) || (oo == 8)) || (oo == 12)) || (oo == 16)) || (oo == 18)) || (oo == 22)) { _root["enemy" + (p * 2)]._x = _root["enemy" + (p * 2)]._x + 20; } else if (((((oo == 2) || (oo == 4)) || (oo == 10)) || (oo == 14)) || (oo == 20)) { _root["enemy" + (p * 2)]._x = _root["enemy" + (p * 2)]._x - 20; } if ((_root["enemy" + (p * 2)]._y == 140) && (_root["enemy" + (p * 2)]._x == 420)) { _root["enemy" + (p * 2)]._y = _root["enemy" + (p * 2)]._y - 20; } } else if (_root["enemy" + (p * 2)].n == Math.round(30 / _root["enemy" + (p * 2)].speed)) { _root["enemy" + (p * 2)]._visible = true; } else if ((_root["enemy" + (p * 2)].n > Math.round(30 / _root["enemy" + (p * 2)].speed)) && (_root["enemy" + (p * 2)].n < Math.round(39 / _root["enemy" + (p * 2)].speed))) { _root["enemy" + (p * 2)].warp._xscale = _root["enemy" + (p * 2)].warp._xscale + (_root["enemy" + (p * 2)].n * 3); _root["enemy" + (p * 2)].warp._yscale = _root["enemy" + (p * 2)].warp._yscale + (_root["enemy" + (p * 2)].n * 3); } else if (_root["enemy" + (p * 2)].n == Math.round(45 / _root["enemy" + (p * 2)].speed)) { _root["enemy" + (p * 2)].warp._visible = false; } if (_root["enemy" + (p * 2)].n >= Math.round(50 / _root["enemy" + (p * 2)].speed)) { _root["enemy" + (p * 2)].warp._visible = true; _root["enemy" + (p * 2)].warp._xscale = 140; _root["enemy" + (p * 2)].warp._yscale = 140; _root["enemy" + (p * 2)].n = 0; } } } } } for (ps in EnemyArrayB) { EnemyArrayB[ps].LIFE._xscale = 100 * (EnemyArrayB[ps].life / LifeTotal); if ((EnemyArrayB[ps].life <= 0) && (EnemyArrayB[ps] != undefined)) { if (EnemyCycle[enemyloop] == 4) { _root.createEmptyMovieClip("explode" + ps, 450 + ps); _root["explode" + ps].moveTo(-12, 0); _root["explode" + ps].lineStyle(2, 0, 60); circ = 0; while (circ <= 6.47953484802895) { _root["explode" + ps].lineTo(-12 * Math.cos(circ), -12 * Math.sin(circ)); circ = circ + 0.196349540849362; } _root["explode" + ps]._xscale = 25; _root["explode" + ps]._yscale = 25; _root["explode" + ps].n = 0; _root["explode" + ps]._x = EnemyArrayB[ps]._x; _root["explode" + ps]._y = EnemyArrayB[ps]._y; _root["explode" + ps].onEnterFrame = function () { this.n = this.n + 5; this._xscale = this._xscale + this.n; this._yscale = this._yscale + this.n; for (pc in EnemyArray) { if (this.hitTest(_root["enemy" + pc]._x, _root["enemy" + pc]._y, true)) { _root["enemy" + pc].life = _root["enemy" + pc].life * 0.8; } } if (this.n > 50) { this.n = 0; this.removeMovieClip(); } }; } EnemyArrayB[ps].removeMovieClip(); EnemyArrayB[ps] = undefined; money = money + ((enemyloop != 9) ? (4 + Math.round((level + 4) / 4)) : (4 + Math.round((level + 4) / 2))); Killcount = Killcount + 1; score = score + (4 + level); } if ((EnemyArrayB[ps]._x >= 600) && (EnemyArrayB[ps] != undefined)) { EnemyArrayB[ps]._x = -20; EnemyArrayB[ps]._y = EnemyArrayB[ps]._y - 180; Life = Life - 1; score = score - (4 + level); } if (EnemyArrayB[ps].speed < SpeedTotal) { EnemyArrayB[ps].speed = EnemyArrayB[ps].speed + 0.02; } if (((EnemyCycle[enemyloop] == 3) || (EnemyCycle[enemyloop] == 6)) && (EnemyArrayB[ps].life < LifeTotal)) { EnemyArrayB[ps].life = EnemyArrayB[ps].life * 1.002; } } if (((enemyloop != 9) && (Killcount == 16)) || ((enemyloop == 9) && (Killcount == 8))) { this.removeMovieClip(); EnemyArrayB = []; _root.Panel.Levelinfo.interest.text = ((enemyloop != 9) ? ("5% interest = " + Math.round(money * 0.05)) : ("15% interest = " + Math.round(money * 0.15))); _root.Panel.Levelinfo.interest.setTextFormat(PanelValue); money = ((enemyloop != 9) ? (Math.round(money * 1.05)) : (Math.round(money * 1.15))); Panel.Start._alpha = 100; level = level + 1; enemyloop = ((enemyloop < 9) ? (enemyloop + 1) : 0); Killcount = 16; _root.Panel.Start.START.setTextFormat(PanelUp); for (ij in TowerArrayB) { if (TowerArrayB[ij].Info[1] == 6) { ji = 0; while (ji <= 15) { TowerArrayB[ij]["Beam" + ji].removeMovieClip(); ji++; } } } switch (EnemyCycle[enemyloop]) { case 0 : LifeTotal = ((DIF == 0) ? (4 * level) : (5 * level)); if (level >= 40) { LifeTotal = LifeTotal * 2; } if (level >= 80) { LifeTotal = LifeTotal * 2; } if (level >= 100) { LifeTotal = LifeTotal * 2; } if (level >= 120) { LifeTotal = LifeTotal * 2; } _root.Panel.Levelinfo.LEVELinfo.text = (((("Level " + level) + ". Normal. HP=") + LifeTotal) + ". For each kill you get $") + (4 + Math.round((level + 4) / 4)); _root.Panel.Levelinfo.LEVELinfo.setTextFormat(PanelValue); break; case 1 : LifeTotal = ((DIF == 0) ? (2 * level) : (3 * level)); if (level >= 40) { LifeTotal = LifeTotal * 2; } if (level >= 80) { LifeTotal = LifeTotal * 2; } if (level >= 100) { LifeTotal = LifeTotal * 2; } if (level >= 120) { LifeTotal = LifeTotal * 2; } _root.Panel.Levelinfo.LEVELinfo.text = (((("Level " + level) + ". Fast and weak. HP=") + LifeTotal) + ". For each kill you get $") + (4 + Math.round((level + 4) / 4)); _root.Panel.Levelinfo.LEVELinfo.setTextFormat(PanelValue); break; case 2 : LifeTotal = ((DIF == 0) ? (6 * level) : (8 * level)); if (level >= 40) { LifeTotal = LifeTotal * 2; } if (level >= 80) { LifeTotal = LifeTotal * 2; } if (level >= 100) { LifeTotal = LifeTotal * 2; } if (level >= 120) { LifeTotal = LifeTotal * 2; } _root.Panel.Levelinfo.LEVELinfo.text = (((("Level " + level) + ". Slow but strong. HP=") + LifeTotal) + ". For each kill you get $") + (4 + Math.round((level + 4) / 4)); _root.Panel.Levelinfo.LEVELinfo.setTextFormat(PanelValue); break; case 3 : LifeTotal = ((DIF == 0) ? (3 * level) : (5 * level)); if (level >= 40) { LifeTotal = LifeTotal * 2; } if (level >= 80) { LifeTotal = LifeTotal * 2; } if (level >= 100) { LifeTotal = LifeTotal * 2; } if (level >= 120) { LifeTotal = LifeTotal * 2; } _root.Panel.Levelinfo.LEVELinfo.text = (((("Level " + level) + ". Enemies slowly regenerate. HP=") + LifeTotal) + ". For each kill you get $") + (4 + Math.round((level + 4) / 4)); _root.Panel.Levelinfo.LEVELinfo.setTextFormat(PanelValue); break; case 4 : LifeTotal = ((DIF == 0) ? (5 * level) : (7 * level)); if (level >= 40) { LifeTotal = LifeTotal * 2; } if (level >= 80) { LifeTotal = LifeTotal * 2; } if (level >= 100) { LifeTotal = LifeTotal * 2; } if (level >= 120) { LifeTotal = LifeTotal * 2; } _root.Panel.Levelinfo.LEVELinfo.text = (((("Level " + level) + ". Enemies explode when killed. HP=") + LifeTotal) + ". For each kill you get $") + (4 + Math.round((level + 4) / 4)); _root.Panel.Levelinfo.LEVELinfo.setTextFormat(PanelValue); break; case 5 : LifeTotal = ((DIF == 0) ? (8 * level) : (10 * level)); if (level >= 40) { LifeTotal = LifeTotal * 2; } if (level >= 80) { LifeTotal = LifeTotal * 2; } if (level >= 100) { LifeTotal = LifeTotal * 2; } if (level >= 120) { LifeTotal = LifeTotal * 2; } _root.Panel.Levelinfo.LEVELinfo.text = (((("Level " + level) + ". Enemies warp. HP=") + LifeTotal) + ". For each kill you get $") + (4 + Math.round((level + 4) / 4)); _root.Panel.Levelinfo.LEVELinfo.setTextFormat(PanelValue); break; case 6 : LifeTotal = ((DIF == 0) ? (8 * level) : (10 * level)); if (level >= 40) { LifeTotal = LifeTotal * 2; } if (level >= 80) { LifeTotal = LifeTotal * 2; } if (level >= 100) { LifeTotal = LifeTotal * 2; } if (level >= 120) { LifeTotal = LifeTotal * 2; } _root.Panel.Levelinfo.LEVELinfo.text = (((("Level " + level) + ". SUPER ENEMIES. Fast, Strong, Warping, Regenerating. HP=") + LifeTotal) + ". For each kill you get $") + (4 + Math.round((level + 4) / 4)); _root.Panel.Levelinfo.LEVELinfo.setTextFormat(PanelValue); } } }; } function Fire(Tower) { switch (Tower.Info[1]) { case 0 : if (Tower.charge == 100) { Tower.BlasterArray[Tower.nn] = 0; Tower.nn = ((Tower.nn < 6) ? (Tower.nn + 1) : 0); Tower.charge = 0; } for (m in Tower.BlasterArray) { if ((Tower["beam" + m] == undefined) && (Tower.BlasterArray[m] == 0)) { Tower.BlasterArray[m] = 1; Tower.createEmptyMovieClip("beam" + m, (500 + Tower.Info[5]) + m); Tower["beam" + m].moveTo(0, 0); Tower["beam" + m].lineStyle(2, 11184640); Tower["beam" + m].lineTo((Tower.Target[0]._x - Tower._x) / 6, (Tower.Target[0]._y - Tower._y) / 6); } Tower["beam" + m].onEnterFrame = function () { this._x = this._x + ((Tower.Target[0]._x - Tower._x) / 2.2); this._y = this._y + ((Tower.Target[0]._y - Tower._y) / 2.2); if (Tower.Target[0] != undefined) { if (Math.sqrt(Math.pow((this._x + Tower._x) - Tower.Target[0]._x, 2) + Math.pow((this._y + Tower._y) - Tower.Target[0]._y, 2)) <= 5) { this.removeMovieClip(); Tower.Target[0].life = Tower.Target[0].life - Tower.Info[2]; } } if (Math.sqrt(Math.pow(this._x, 2) + Math.pow(this._y, 2)) >= Tower.Info[3]) { this.removeMovieClip(); } }; } break; case 1 : Tower.nn = Tower.nn + 1; Tower.createEmptyMovieClip("beam", (500 + Tower.Info[5]) + 0); Tower.beam.moveTo(0, 0); Tower.beam.lineStyle(0, 16711935, 50 + random(51)); Tower.beam.lineTo((Tower.Target[0]._x - Tower._x) + random(2), (Tower.Target[0]._y - Tower._y) + random(2)); Tower.Target[0].life = Tower.Target[0].life - (Tower.Info[2] / 3); if (Tower.Info[4] > 10) { Tower.beam.lineTo((Tower.Target[1]._x - Tower._x) + random(2), (Tower.Target[1]._y - Tower._y) + random(2)); Tower.Target[1].life = Tower.Target[1].life - (Tower.Info[2] / 4); } if (Tower.Info[4] > 12) { Tower.beam.lineTo((Tower.Target[2]._x - Tower._x) + random(2), (Tower.Target[2]._y - Tower._y) + random(2)); Tower.Target[2].life = Tower.Target[2].life - (Tower.Info[2] / 5); } if (Tower.Info[4] > 14) { Tower.beam.lineTo((Tower.Target[3]._x - Tower._x) + random(2), (Tower.Target[3]._y - Tower._y) + random(2)); Tower.Target[3].life = Tower.Target[3].life - (Tower.Info[2] / 6); } if (Tower.Info[4] > 16) { Tower.beam.lineTo((Tower.Target[4]._x - Tower._x) + random(2), (Tower.Target[4]._y - Tower._y) + random(2)); Tower.Target[4].life = Tower.Target[4].life - (Tower.Info[2] / 7); } break; case 2 : if (Tower.charge >= 100) { Tower.ch = Tower.ch + 4; Tower.createEmptyMovieClip("beam", (500 + Tower.Info[5]) + 1); Tower.beam.moveTo(0, 0); Tower.beam.lineStyle(1, 16711680, Tower.ch); Tower.beam.lineTo(Tower.Target[0]._x - Tower._x, Tower.Target[0]._y - Tower._y); if (Tower.ch >= 90) { Tower.beam.moveTo(0, 0); Tower.beam.lineStyle(5, 14483456, Tower.ch - 50); Tower.beam.lineTo(Tower.Target[0]._x - Tower._x, Tower.Target[0]._y - Tower._y); } if (Tower.ch == 100) { Tower.Target[0].life = Tower.Target[0].life - Tower.Info[2]; Tower.beam.removeMovieClip(); Tower.ch = 0; Tower.charge = 0; } } break; case 3 : if (Tower.charge >= 100) { if (Tower.nn < 8) { Tower.nn = Tower.nn + 1; Tower.createEmptyMovieClip("beam", (500 + Tower.Info[5]) + 2); Tower.beam.moveTo(0, 0); Tower.beam.lineStyle(2, 56576); Tower.beam.lineTo(Tower.Target[0]._x - Tower._x, Tower.Target[0]._y - Tower._y); } if (Tower.nn == 8) { Tower.Target[0].life = Tower.Target[0].life - Tower.Info[2]; Tower.beam.removeMovieClip(); Tower.createEmptyMovieClip("beamX", (500 + Tower.Info[5]) + 2); Tower.beamX.lineStyle(1, 60928, 80); Tower.beamX.moveTo(-12, 0); q = 0; while (q <= 6.34568530717959) { Tower.beamX.lineTo(-12 * Math.cos(q), -12 * Math.sin(q)); q = q + 0.196349540849362; } Tower.beamX._xscale = 25; Tower.beamX._yscale = 25; Tower.beamX._x = Tower.Target[0]._x - Tower._x; Tower.beamX._y = Tower.Target[0]._y - Tower._y; Tower.beamX.nc = Tower.nn + 1; Tower.charge = 0; Tower.nn = 0; Tower.beamX.onEnterFrame = function () { if ((this.nc >= 9) && (this.nc <= (13 + (Tower.Info[2] / 3)))) { this.nc = this.nc + 1; this._xscale = this._xscale + (this.nc * 2.5); this._yscale = this._yscale + (this.nc * 2.5); for (r in EnemyArrayB) { if (this.hitTest(EnemyArrayB[r]._x, EnemyArrayB[r]._y, false) && (EnemyCycle[enemyloop] != 6)) { EnemyArrayB[r].speed = EnemyArrayB[r].speed / 1.2; } } } if (this.nc == (14 + (Tower.Info[2] / 3))) { this.removeMovieClip(); } }; } } break; case 4 : if (Tower.charge >= 100) { if (Tower.beamStart == undefined) { Tower.x = Tower.Target[0]._x - Tower._x; Tower.y = Tower.Target[0]._y - Tower._y; Tower.createEmptyMovieClip("beamStart", (510 + Tower.Info[5]) + 3); Tower.nn = 100; } Tower.beamStart.onEnterFrame = function () { Tower.nn = Tower.nn - 6; Tower.createEmptyMovieClip("beamX", (500 + Tower.Info[5]) + 3); Tower.beamX.moveTo(0, 0); Tower.beamX.lineStyle(3, 3355647, Tower.nn + 50); Tower.beamX.lineTo(Tower.x * 30, Tower.y * 30); Tower.beamX.moveTo(0, 0); Tower.beamX.lineStyle(Tower.nn / 5, 187, Tower.nn); Tower.beamX.lineTo(Tower.x * 30, Tower.y * 30); for (rr in EnemyArrayB) { if (Tower.beamX.hitTest(EnemyArrayB[rr]._x, EnemyArrayB[rr]._y, true) && (EnemyArrayB[rr]._visible == true)) { EnemyArrayB[rr].life = EnemyArrayB[rr].life - Tower.Info[2]; } } if (Tower.nn < 0) { Tower.charge = 0; Tower.beamX.removeMovieClip(); this.removeMovieClip(); } }; } break; case 5 : if (Tower.nn == 0) { Tower.targeted = Tower.Target[0]; } if (Tower.nn < 40) { Tower.createEmptyMovieClip("beam", (500 + Tower.Info[5]) + 3); Tower.beam.moveTo(0, 0); Tower.beam.lineStyle(3, 0); Tower.beam.lineTo(Tower.targeted._x - Tower._x, Tower.targeted._y - Tower._y); Tower.beam.moveTo(0, 0); Tower.beam.lineStyle(0, 11184810); Tower.beam.lineTo(Tower.targeted._x - Tower._x, Tower.targeted._y - Tower._y); Tower.targeted.life = Tower.targeted.life - Tower.Info[2]; Tower.targeted.speed = Tower.targeted.speed / 1.4; Tower.nn = Tower.nn + 1; if (Tower.targeted == undefined) { Tower.nn = 40; } } if (Tower.nn >= 40) { Tower.beam.removeMovieClip(); Tower.charge = 0; Tower.nn = 0; trace("reset " + Tower.charge); } break; case 7 : if (Tower.charge < 100) { break; } Tower.nn = Tower.nn + Tower.Info[4]; Tower.createEmptyMovieClip("beam", (500 + Tower.Info[5]) + 5); Tower.beam.moveTo(0, 0); Tower.beam.lineStyle(Tower.nn / 20, 5667071, Tower.nn * 0.8); Tower.beam.lineTo(Tower.Target[0]._x - Tower._x, Tower.Target[0]._y - Tower._y); if (Tower.nn >= 120) { Tower.beam.moveTo(0, 0); Tower.beam.lineStyle(6, 2311679, Tower.nn * 0.8); Tower.beam.lineTo(Tower.Target[0]._x - Tower._x, Tower.Target[0]._y - Tower._y); } if (Tower.nn < 125) { break; } Tower.Target[0].life = Tower.Target[0].life - Tower.Info[2]; Tower.beam.removeMovieClip(); Tower.nn = 0; Tower.charge = 0; Tower.createEmptyMovieClip("beamX", (510 + Tower.Info[5]) + 5); Tower.beamX.lineStyle(2, 2311679, 90); Tower.beamX.moveTo(-6, 0); q = 0; while (q <= 6.34568530717959) { Tower.beamX.lineTo(-6 * Math.cos(q), -6 * Math.sin(q)); q = q + 0.196349540849362; } Tower.beamX._xscale = 50; Tower.beamX._yscale = 50; Tower.beamX._x = Tower.Target[0]._x - Tower._x; Tower.beamX._y = Tower.Target[0]._y - Tower._y; Tower.beamX.nc = 0; Tower.beamX.onEnterFrame = function () { if (this.nc < (20 + (Tower.Info[2] / 4))) { this.nc = this.nc + 2; this._xscale = this._xscale + (this.nc * 2.5); this._yscale = this._yscale + (this.nc * 2.5); for (r in EnemyArrayB) { if (this.hitTest(EnemyArrayB[r]._x, EnemyArrayB[r]._y, true)) { EnemyArrayB[r].life = EnemyArrayB[r].life - (Tower.Info[2] / 5); } } } if (this.nc >= (20 + (Tower.Info[2] / 4))) { this.removeMovieClip(); } }; } } function Begin() { _root.music._alpha = 100; _root.track1._alpha = 100; _root.track2._alpha = 100; _root.music.MUSIC.text = "MUSIC"; _root.track1.Track1.text = "1"; _root.track2.Track2.text = "2"; _root.music.MUSIC.setTextFormat(Starttext); _root.track1.Track1.setTextFormat(Starttext); _root.track2.Track2.setTextFormat(Starttext); _root.createEmptyMovieClip("ButtonBlaster", 900); _root.createEmptyMovieClip("ButtonBeam", 901); _root.createEmptyMovieClip("ButtonCharge", 902); _root.createEmptyMovieClip("ButtonDisruptor", 903); _root.createEmptyMovieClip("ButtonRailgun", 904); _root.createEmptyMovieClip("ButtonInverter", 905); _root.createEmptyMovieClip("ButtonRadar", 906); _root.createEmptyMovieClip("ButtonFission", 907); _root.createEmptyMovieClip("ButtonScissor", 908); ButtonBlaster.Info = new Array(); ButtonBeam.Info = new Array(); ButtonCharge.Info = new Array(); ButtonDisruptor.Info = new Array(); ButtonRailgun.Info = new Array(); ButtonInverter.Info = new Array(); ButtonRadar.Info = new Array(); ButtonFission.Info = new Array(); ButtonScissor.Info = new Array(); DrawBlaster("ButtonBlaster"); DrawBeam("ButtonBeam"); DrawCharge("ButtonCharge"); DrawDisruptor("ButtonDisruptor"); DrawRailgun("ButtonRailgun"); DrawInverter("ButtonInverter"); DrawRadar("ButtonRadar"); DrawFission("ButtonFission"); DrawScissor("ButtonScissor"); _root["radar" + undefined].removeMovieClip(); Range.removeMovieClip(); ButtonBlaster._x = 775; ButtonBlaster._y = 25; ButtonBeam._x = 775; ButtonBeam._y = 50; ButtonCharge._x = 775; ButtonCharge._y = 75; ButtonDisruptor._x = 750; ButtonDisruptor._y = 75; ButtonRailgun._x = 725; ButtonRailgun._y = 75; ButtonInverter._x = 700; ButtonInverter._y = 75; ButtonRadar._x = 675; ButtonRadar._y = 75; ButtonFission._x = 650; ButtonFission._y = 75; ButtonScissor._x = 750; ButtonScissor._y = 50; _root.createEmptyMovieClip("Grid", 90); Grid.moveTo(0, 0); Grid.lineStyle(0, 255, 25); i = 0; while (i <= 590) { Grid.moveTo(i + 10, 10); Grid.lineTo(i + 10, 590); Grid.moveTo(10, i + 10); Grid.lineTo(590, i + 10); i = i + 20; } Grid.createTextField("V", 91, 8, 0, 150, 15); Grid.V.text = "VERSION 1 . 1 NICK MARTUCCI"; Grid.V.selectable = false; Grid.V.setTextFormat(Version); _root.createEmptyMovieClip("Route", 100); Route.moveTo(-40, 30); Route.lineStyle(1, 0); Route.beginFill(14540253); Route.lineTo(550, 30); Route.lineTo(550, 170); Route.lineTo(390, 170); Route.lineTo(390, 130); Route.lineTo(70, 130); Route.lineTo(70, 210); Route.lineTo(150, 210); Route.lineTo(150, 170); Route.lineTo(350, 170); Route.lineTo(350, 330); Route.lineTo(70, 330); Route.lineTo(70, 530); Route.lineTo(310, 530); Route.lineTo(310, 490); Route.lineTo(110, 490); Route.lineTo(110, 370); Route.lineTo(430, 370); Route.lineTo(430, 490); Route.lineTo(530, 490); Route.lineTo(530, 330); Route.lineTo(390, 330); Route.lineTo(390, 210); Route.lineTo(600, 210); Route.lineTo(600, 250); Route.lineTo(430, 250); Route.lineTo(430, 290); Route.lineTo(570, 290); Route.lineTo(570, 530); Route.lineTo(390, 530); Route.lineTo(390, 410); Route.lineTo(150, 410); Route.lineTo(150, 450); Route.lineTo(350, 450); Route.lineTo(350, 570); Route.lineTo(30, 570); Route.lineTo(30, 290); Route.lineTo(310, 290); Route.lineTo(310, 210); Route.lineTo(190, 210); Route.lineTo(190, 250); Route.lineTo(30, 250); Route.lineTo(30, 90); Route.lineTo(430, 90); Route.lineTo(430, 130); Route.lineTo(510, 130); Route.lineTo(510, 70); Route.lineTo(-40, 70); Route.lineTo(-40, 30); Route.endFill(); _root.createEmptyMovieClip("Panel", 50); Panel.moveTo(620, 10); Panel.lineStyle(0, 0, 25); Panel.beginFill(16711680, 8); Panel.lineTo(620, 600); Panel.lineTo(800, 600); Panel.lineTo(800, 0); Panel.lineTo(630, 0); Panel.lineTo(620, 10); Panel.endFill(); Panel.moveTo(623, 13); Panel.lineStyle(0, 0, 50); Panel.beginFill(16711680, 8); Panel.lineTo(623, 597); Panel.lineTo(797, 597); Panel.lineTo(797, 3); Panel.lineTo(633, 3); Panel.lineTo(623, 13); Panel.endFill(); Panel.createEmptyMovieClip("Credit", 51); Panel.Credit.moveTo(10, 0); Panel.Credit.lineStyle(0, 0, 75); Panel.Credit.beginFill(16711680, 8); Panel.Credit.lineTo(60, 0); Panel.Credit.lineTo(60, 20); Panel.Credit.lineTo(0, 20); Panel.Credit.lineTo(0, 10); Panel.Credit.lineTo(10, 0); Panel.Credit.endFill(); Panel.Credit._x = 626; Panel.Credit._y = 6; Panel.Credit.createTextField("credit", 52, 65, 0, 55, 20); Panel.Credit.credit.text = "MONEY"; Panel.Credit.credit.selectable = false; Panel.Credit.credit.setTextFormat(PanelTextUp); Panel.Credit.createTextField("Money", 53, 10, 0, 55, 20); Panel.Credit.Money.text = money; Panel.Credit.Money.selectable = false; Panel.Credit.Money.setTextFormat(PanelTextUp); Panel.Credit.duplicateMovieClip("Lives", 54, _root.Panel); Panel.Lives._x = 626; Panel.Lives._y = 29; Panel.Lives.createTextField("lives", 55, 65, 0, 55, 20); Panel.Lives.lives.text = "LIVES"; Panel.Lives.lives.selectable = false; Panel.Lives.lives.setTextFormat(PanelTextUp); Panel.Lives.createTextField("Life", 56, 10, 0, 55, 20); Panel.Lives.Life.selectable = false; Panel.Credit.duplicateMovieClip("Start", 57, _root.Panel); Panel.Start._x = 626; Panel.Start._y = 574; Panel.Start.createTextField("START", 58, 0, 0, 60, 20); Panel.Start.START.text = "START"; Panel.Start.START.selectable = false; Panel.Start.START.setTextFormat(PanelUp); Panel.createEmptyMovieClip("Upgrade", 59); Panel.Upgrade.moveTo(0, 0); Panel.Upgrade.lineStyle(0, 0, 75); Panel.Upgrade.beginFill(16711680, 8); Panel.Upgrade.lineTo(168, 0); Panel.Upgrade.lineTo(168, 290); Panel.Upgrade.lineTo(158, 300); Panel.Upgrade.lineTo(0, 300); Panel.Upgrade.lineTo(0, 0); Panel.Upgrade.endFill(); Panel.Upgrade._x = 626; Panel.Upgrade._y = 203; Panel.Upgrade.createEmptyMovieClip("box", 60); Panel.Upgrade.box.moveTo(0, 0); Panel.Upgrade.box.lineStyle(0, 0); Panel.Upgrade.box.beginFill(16711680, 8); Panel.Upgrade.box.lineTo(40, 0); Panel.Upgrade.box.lineTo(40, 10); Panel.Upgrade.box.lineTo(30, 20); Panel.Upgrade.box.lineTo(0, 20); Panel.Upgrade.box.lineTo(0, 0); Panel.Upgrade.box.endFill(); Panel.Upgrade.box.duplicateMovieClip("power", 63, _root.Panel.Upgrade); Panel.Upgrade.power._x = 125; Panel.Upgrade.power._y = 26; Panel.Upgrade.power.createTextField("PowerText", 64, -60, 0, 60, 20); Panel.Upgrade.power.PowerText.text = "POWER"; Panel.Upgrade.power.PowerText.setTextFormat(PanelTextUpgrade); Panel.Upgrade.power.createTextField("Power", 65, 5, 0, 60, 20); Panel.Upgrade.box.duplicateMovieClip("range", 66, _root.Panel.Upgrade); Panel.Upgrade.range._x = 125; Panel.Upgrade.range._y = 49; Panel.Upgrade.range.createTextField("RangeText", 67, -60, 0, 60, 20); Panel.Upgrade.range.RangeText.text = "RANGE"; Panel.Upgrade.range.RangeText.setTextFormat(PanelTextUpgrade); Panel.Upgrade.range.createTextField("Range", 68, 5, 0, 60, 20); Panel.Upgrade.box.duplicateMovieClip("speed", 69, _root.Panel.Upgrade); Panel.Upgrade.speed._x = 125; Panel.Upgrade.speed._y = 72; Panel.Upgrade.speed.createTextField("SpeedText", 70, -60, 0, 60, 20); Panel.Upgrade.speed.SpeedText.text = "SPEED"; Panel.Upgrade.speed.SpeedText.setTextFormat(PanelTextUpgrade); Panel.Upgrade.speed.createTextField("Speed", 71, 5, 0, 60, 20); Panel.Upgrade.createEmptyMovieClip("info", 72); Panel.Upgrade.info.moveTo(0, 0); Panel.Upgrade.info.lineStyle(0, 0); Panel.Upgrade.info.beginFill(16711680, 8); Panel.Upgrade.info.lineTo(162, 0); Panel.Upgrade.info.lineTo(162, 169); Panel.Upgrade.info.lineTo(152, 179); Panel.Upgrade.info.lineTo(0, 179); Panel.Upgrade.info.lineTo(0, 0); Panel.Upgrade.info.endFill(); Panel.Upgrade.info._x = 3; Panel.Upgrade.info._y = 95; Panel.Upgrade.info.createTextField("INFO", 76, 5, 5, 150, 150); Panel.Upgrade.info.INFO.wordWrap = true; Panel.Upgrade.box.duplicateMovieClip("cost", 73, _root.Panel.Upgrade); Panel.Upgrade.cost._x = 125; Panel.Upgrade.cost._y = 3; Panel.Upgrade.cost.createTextField("CostText", 74, -60, 0, 60, 20); Panel.Upgrade.cost.CostText.text = "COST"; Panel.Upgrade.cost.CostText.setTextFormat(PanelTextUpgrade); Panel.Upgrade.cost.createTextField("Cost", 75, 5, 0, 60, 20); Panel.Upgrade.box.duplicateMovieClip("sell", 77, _root.Panel.Upgrade); Panel.Upgrade.sell._x = 125; Panel.Upgrade.sell._y = 277; Panel.Upgrade.sell.createTextField("SellText", 78, -80, 0, 80, 20); Panel.Upgrade.sell.SellText.text = "SELL VALUE"; Panel.Upgrade.sell.SellText.setTextFormat(PanelTextUpgrade); Panel.Upgrade.sell.createTextField("Sell", 79, 5, 0, 60, 20); Panel.Upgrade.box.removeMovieClip(); Panel.createEmptyMovieClip("Levelinfo", 80); Panel.Levelinfo.moveTo(0, 0); Panel.Levelinfo.lineStyle(0, 0, 75); Panel.Levelinfo.beginFill(16711680, 8); Panel.Levelinfo.lineTo(168, 0); Panel.Levelinfo.lineTo(168, 68); Panel.Levelinfo.lineTo(158, 78); Panel.Levelinfo.lineTo(0, 78); Panel.Levelinfo.lineTo(0, 0); Panel.Levelinfo.endFill(); Panel.Levelinfo.moveTo(3, 3); Panel.Levelinfo.lineStyle(0, 0); Panel.Levelinfo.beginFill(16711680, 8); Panel.Levelinfo.lineTo(165, 3); Panel.Levelinfo.lineTo(165, 65); Panel.Levelinfo.lineTo(155, 75); Panel.Levelinfo.lineTo(3, 75); Panel.Levelinfo.lineTo(3, 3); Panel.Levelinfo.endFill(); Panel.Levelinfo._x = 626; Panel.Levelinfo._y = 99; Panel.Levelinfo.createTextField("LEVELinfo", 81, 5, 5, 150, 75); Panel.Levelinfo.LEVELinfo.wordWrap = true; Panel.Levelinfo.createTextField("interest", 87, 5, 55, 150, 75); Panel.Levelinfo.interest.wordWrap = true; Panel.createEmptyMovieClip("restart", 82); Panel.restart._x = 734; Panel.restart._y = 574; Panel.restart.moveTo(0, 0); Panel.restart.lineStyle(0, 0, 75); Panel.restart.beginFill(16711680, 8); Panel.restart.lineTo(60, 0); Panel.restart.lineTo(60, 10); Panel.restart.lineTo(50, 20); Panel.restart.lineTo(0, 20); Panel.restart.lineTo(0, 0); Panel.restart.endFill(); Panel.restart.createTextField("RESTART", 83, 0, 0, 60, 20); Panel.restart.RESTART.text = "RESTART"; Panel.restart.RESTART.setTextFormat(PanelUp); Panel.createEmptyMovieClip("Score", 84); Panel.Score.moveTo(0, 0); Panel.Score.lineStyle(0, 0, 75); Panel.Score.beginFill(16711680, 8); Panel.Score.lineTo(100, 0); Panel.Score.lineTo(100, 20); Panel.Score.lineTo(10, 20); Panel.Score.lineTo(0, 10); Panel.Score.lineTo(0, 0); Panel.Score.endFill(); Panel.Score._x = 626; Panel.Score._y = 506; Panel.Score.createTextField("scoreText", 85, 110, 0, 60, 20); Panel.Score.scoreText.text = "SCORE"; Panel.Score.scoreText.setTextFormat(PanelTextUp); Panel.Score.createTextField("SCORE", 86, 10, 0, 100, 20); Panel.Score.SCORE.setTextFormat(PanelValue); ButtonBlaster.onPress = function () { if ((money >= ButtonBlaster.Info[6]) && (placer == false)) { CreateLaser(0); placer = true; } }; ButtonBeam.onPress = function () { if ((money >= ButtonBeam.Info[6]) && (placer == false)) { CreateLaser(1); placer = true; } }; ButtonCharge.onPress = function () { if ((money >= ButtonCharge.Info[6]) && (placer == false)) { CreateLaser(2); placer = true; } }; ButtonDisruptor.onPress = function () { if ((money >= ButtonDisruptor.Info[6]) && (placer == false)) { CreateLaser(3); placer = true; } }; ButtonRailgun.onPress = function () { if ((money >= ButtonRailgun.Info[6]) && (placer == false)) { CreateLaser(4); placer = true; } }; ButtonInverter.onPress = function () { if ((money >= ButtonInverter.Info[6]) && (placer == false)) { CreateLaser(5); placer = true; } }; ButtonRadar.onPress = function () { if ((money >= ButtonRadar.Info[6]) && (placer == false)) { CreateLaser(6); placer = true; } }; ButtonFission.onPress = function () { if ((money >= ButtonFission.Info[6]) && (placer == false)) { CreateLaser(7); placer = true; } }; ButtonScissor.onPress = function () { if ((money >= ButtonScissor.Info[6]) && (placer == false)) { CreateLaser(8); placer = true; } }; ButtonLowFreq.onPress = function () { if ((money >= ButtonLowFreq.Info[6]) && (placer == false)) { CreateLaser(9); placer = true; } }; ButtonBlaster.onRollOver = function () { _root.Panel.Upgrade.power.Power.text = ButtonBlaster.Info[2]; _root.Panel.Upgrade.range.Range.text = ButtonBlaster.Info[3]; _root.Panel.Upgrade.speed.Speed.text = ButtonBlaster.Info[4]; _root.Panel.Upgrade.cost.Cost.text = ButtonBlaster.Info[6]; _root.Panel.Upgrade.info.INFO.text = "Laser Blaster. Fires short rapid blasts at nearest target."; _root.Panel.Upgrade.cost.Cost.setTextFormat(PanelValue); _root.Panel.Upgrade.power.Power.setTextFormat(PanelValue); _root.Panel.Upgrade.range.Range.setTextFormat(PanelValue); _root.Panel.Upgrade.speed.Speed.setTextFormat(PanelValue); _root.Panel.Upgrade.info.INFO.setTextFormat(PanelValue); _root.Range.removeMovieClip(); _root.Panel.upgradeP.removeMovieClip(); _root.Panel.upgradeR.removeMovieClip(); _root.Panel.upgradeS.removeMovieClip(); _root.Panel.selltower.removeMovieClip(); this.Info[1] = 0; this.Info[2] = this.Info[2] * 5; ReDraw("ButtonBlaster"); }; ButtonBlaster.onRollOut = function () { _root.Panel.Upgrade.power.Power.text = ""; _root.Panel.Upgrade.range.Range.text = ""; _root.Panel.Upgrade.speed.Speed.text = ""; _root.Panel.Upgrade.cost.Cost.text = ""; _root.Panel.Upgrade.info.INFO.text = ""; this.Info[1] = 0; this.Info[2] = this.POWER; ReDraw("ButtonBlaster"); }; ButtonBeam.onRollOver = function () { _root.Panel.Upgrade.power.Power.text = ButtonBeam.Info[2]; _root.Panel.Upgrade.range.Range.text = ButtonBeam.Info[3]; _root.Panel.Upgrade.speed.Speed.text = ButtonBeam.Info[4]; _root.Panel.Upgrade.cost.Cost.text = ButtonBeam.Info[6]; _root.Panel.Upgrade.info.INFO.text = "Laser Beam. Fires a continuous beam at the nearest target. Upgrading speed causes the beam to bounce to other targets."; _root.Panel.Upgrade.cost.Cost.setTextFormat(PanelValue); _root.Panel.Upgrade.power.Power.setTextFormat(PanelValue); _root.Panel.Upgrade.range.Range.setTextFormat(PanelValue); _root.Panel.Upgrade.speed.Speed.setTextFormat(PanelValue); _root.Panel.Upgrade.info.INFO.setTextFormat(PanelValue); _root.Range.removeMovieClip(); _root.Panel.upgradeP.removeMovieClip(); _root.Panel.upgradeR.removeMovieClip(); _root.Panel.upgradeS.removeMovieClip(); _root.Panel.selltower.removeMovieClip(); this.Info[1] = 1; this.Info[2] = this.Info[2] * 5; ReDraw("ButtonBeam"); }; ButtonBeam.onRollOut = function () { _root.Panel.Upgrade.power.Power.text = ""; _root.Panel.Upgrade.range.Range.text = ""; _root.Panel.Upgrade.speed.Speed.text = ""; _root.Panel.Upgrade.cost.Cost.text = ""; _root.Panel.Upgrade.info.INFO.text = ""; this.Info[1] = 1; this.Info[2] = this.POWER; ReDraw("ButtonBeam"); }; ButtonCharge.onRollOver = function () { _root.Panel.Upgrade.power.Power.text = ButtonCharge.Info[2]; _root.Panel.Upgrade.range.Range.text = ButtonCharge.Info[3]; _root.Panel.Upgrade.speed.Speed.text = ButtonCharge.Info[4]; _root.Panel.Upgrade.cost.Cost.text = ButtonCharge.Info[6]; _root.Panel.Upgrade.info.INFO.text = "Charge Beam. Charges a beam and then releases all the power onto a single target."; _root.Panel.Upgrade.cost.Cost.setTextFormat(PanelValue); _root.Panel.Upgrade.power.Power.setTextFormat(PanelValue); _root.Panel.Upgrade.range.Range.setTextFormat(PanelValue); _root.Panel.Upgrade.speed.Speed.setTextFormat(PanelValue); _root.Panel.Upgrade.info.INFO.setTextFormat(PanelValue); _root.Range.removeMovieClip(); _root.Panel.upgradeP.removeMovieClip(); _root.Panel.upgradeR.removeMovieClip(); _root.Panel.upgradeS.removeMovieClip(); _root.Panel.selltower.removeMovieClip(); this.Info[1] = 2; this.Info[2] = this.Info[2] * 5; ReDraw("ButtonCharge"); }; ButtonCharge.onRollOut = function () { _root.Panel.Upgrade.power.Power.text = ""; _root.Panel.Upgrade.range.Range.text = ""; _root.Panel.Upgrade.speed.Speed.text = ""; _root.Panel.Upgrade.cost.Cost.text = ""; _root.Panel.Upgrade.info.INFO.text = ""; this.Info[1] = 2; this.Info[2] = this.POWER; ReDraw("ButtonCharge"); }; ButtonDisruptor.onRollOver = function () { _root.Panel.Upgrade.power.Power.text = ButtonDisruptor.Info[2]; _root.Panel.Upgrade.range.Range.text = ButtonDisruptor.Info[3]; _root.Panel.Upgrade.speed.Speed.text = ButtonDisruptor.Info[4]; _root.Panel.Upgrade.cost.Cost.text = ButtonDisruptor.Info[6]; _root.Panel.Upgrade.info.INFO.text = "Disruptor Beam. When the beam hits its target a disruptor wave hits the surrounding targets slowing them down. Upgrading power increases the size of the wave."; _root.Panel.Upgrade.cost.Cost.setTextFormat(PanelValue); _root.Panel.Upgrade.power.Power.setTextFormat(PanelValue); _root.Panel.Upgrade.range.Range.setTextFormat(PanelValue); _root.Panel.Upgrade.speed.Speed.setTextFormat(PanelValue); _root.Panel.Upgrade.info.INFO.setTextFormat(PanelValue); _root.Range.removeMovieClip(); _root.Panel.upgradeP.removeMovieClip(); _root.Panel.upgradeR.removeMovieClip(); _root.Panel.upgradeS.removeMovieClip(); _root.Panel.selltower.removeMovieClip(); this.Info[1] = 3; this.Info[2] = this.Info[2] * 5; ReDraw("ButtonDisruptor"); }; ButtonDisruptor.onRollOut = function () { _root.Panel.Upgrade.power.Power.text = ""; _root.Panel.Upgrade.range.Range.text = ""; _root.Panel.Upgrade.speed.Speed.text = ""; _root.Panel.Upgrade.cost.Cost.text = ""; _root.Panel.Upgrade.info.INFO.text = ""; this.Info[1] = 3; this.Info[2] = this.POWER; ReDraw("ButtonDisruptor"); }; ButtonRailgun.onRollOver = function () { _root.Panel.Upgrade.power.Power.text = ButtonRailgun.Info[2]; _root.Panel.Upgrade.range.Range.text = ButtonRailgun.Info[3]; _root.Panel.Upgrade.speed.Speed.text = ButtonRailgun.Info[4]; _root.Panel.Upgrade.cost.Cost.text = ButtonRailgun.Info[6]; _root.Panel.Upgrade.info.INFO.text = "RailGun. Fires an infinite single faiding beam that will pierce through all targets it intercepts."; _root.Panel.Upgrade.cost.Cost.setTextFormat(PanelValue); _root.Panel.Upgrade.power.Power.setTextFormat(PanelValue); _root.Panel.Upgrade.range.Range.setTextFormat(PanelValue); _root.Panel.Upgrade.speed.Speed.setTextFormat(PanelValue); _root.Panel.Upgrade.info.INFO.setTextFormat(PanelValue); _root.Range.removeMovieClip(); _root.Panel.upgradeP.removeMovieClip(); _root.Panel.upgradeR.removeMovieClip(); _root.Panel.upgradeS.removeMovieClip(); _root.Panel.selltower.removeMovieClip(); this.Info[1] = 4; this.Info[2] = this.Info[2] * 5; ReDraw("ButtonRailgun"); }; ButtonRailgun.onRollOut = function () { _root.Panel.Upgrade.power.Power.text = ""; _root.Panel.Upgrade.range.Range.text = ""; _root.Panel.Upgrade.speed.Speed.text = ""; _root.Panel.Upgrade.cost.Cost.text = ""; _root.Panel.Upgrade.info.INFO.text = ""; this.Info[1] = 4; this.Info[2] = this.POWER; ReDraw("ButtonRailgun"); }; ButtonInverter.onRollOver = function () { _root.Panel.Upgrade.power.Power.text = ButtonInverter.Info[2]; _root.Panel.Upgrade.range.Range.text = ButtonInverter.Info[3]; _root.Panel.Upgrade.speed.Speed.text = ButtonInverter.Info[4]; _root.Panel.Upgrade.cost.Cost.text = ButtonInverter.Info[6]; _root.Panel.Upgrade.info.INFO.text = "Inverter Beam. The beam will target a single enemy for a short time causing it to freeze."; _root.Panel.Upgrade.cost.Cost.setTextFormat(PanelValue); _root.Panel.Upgrade.power.Power.setTextFormat(PanelValue); _root.Panel.Upgrade.range.Range.setTextFormat(PanelValue); _root.Panel.Upgrade.speed.Speed.setTextFormat(PanelValue); _root.Panel.Upgrade.info.INFO.setTextFormat(PanelValue); _root.Range.removeMovieClip(); _root.Panel.upgradeP.removeMovieClip(); _root.Panel.upgradeR.removeMovieClip(); _root.Panel.upgradeS.removeMovieClip(); _root.Panel.selltower.removeMovieClip(); this.Info[1] = 5; this.Info[2] = this.Info[2] * 5; ReDraw("ButtonInverter"); }; ButtonInverter.onRollOut = function () { _root.Panel.Upgrade.power.Power.text = ""; _root.Panel.Upgrade.range.Range.text = ""; _root.Panel.Upgrade.speed.Speed.text = ""; _root.Panel.Upgrade.cost.Cost.text = ""; _root.Panel.Upgrade.info.INFO.text = ""; this.Info[1] = 5; this.Info[2] = this.POWER; ReDraw("ButtonInverter"); }; ButtonRadar.onRollOver = function () { _root.Panel.Upgrade.power.Power.text = ButtonRadar.Info[2]; _root.Panel.Upgrade.range.Range.text = ButtonRadar.Info[3]; _root.Panel.Upgrade.speed.Speed.text = ButtonRadar.Info[4]; _root.Panel.Upgrade.cost.Cost.text = ButtonRadar.Info[6]; _root.Panel.Upgrade.info.INFO.text = "Radar Beam. Will fire a constant beam at all targets in sight. The sight rotates clockwise around the tower. Upgrading speed increases the width of the sight."; _root.Panel.Upgrade.cost.Cost.setTextFormat(PanelValue); _root.Panel.Upgrade.power.Power.setTextFormat(PanelValue); _root.Panel.Upgrade.range.Range.setTextFormat(PanelValue); _root.Panel.Upgrade.speed.Speed.setTextFormat(PanelValue); _root.Panel.Upgrade.info.INFO.setTextFormat(PanelValue); _root.Range.removeMovieClip(); _root.Panel.upgradeP.removeMovieClip(); _root.Panel.upgradeR.removeMovieClip(); _root.Panel.upgradeS.removeMovieClip(); _root.Panel.selltower.removeMovieClip(); this.Info[1] = 6; this.Info[2] = this.Info[2] * 5; ReDraw("ButtonRadar"); }; ButtonRadar.onRollOut = function () { _root.Panel.Upgrade.power.Power.text = ""; _root.Panel.Upgrade.range.Range.text = ""; _root.Panel.Upgrade.speed.Speed.text = ""; _root.Panel.Upgrade.cost.Cost.text = ""; _root.Panel.Upgrade.info.INFO.text = ""; this.Info[1] = 6; this.Info[2] = this.POWER; ReDraw("ButtonRadar"); }; ButtonFission.onRollOver = function () { _root.Panel.Upgrade.power.Power.text = ButtonFission.Info[2]; _root.Panel.Upgrade.range.Range.text = ButtonFission.Info[3]; _root.Panel.Upgrade.speed.Speed.text = ButtonFission.Info[4]; _root.Panel.Upgrade.cost.Cost.text = ButtonFission.Info[6]; _root.Panel.Upgrade.info.INFO.text = "Fission Laser. Similar to the charge beam but when a target is destroyed it creates a chain reaction that devistates surrounding targets. Upgrading speed also decreases the charge time and upgrading power increases the Devistation!!"; _root.Panel.Upgrade.cost.Cost.setTextFormat(PanelValue); _root.Panel.Upgrade.power.Power.setTextFormat(PanelValue); _root.Panel.Upgrade.range.Range.setTextFormat(PanelValue); _root.Panel.Upgrade.speed.Speed.setTextFormat(PanelValue); _root.Panel.Upgrade.info.INFO.setTextFormat(PanelValue); _root.Range.removeMovieClip(); _root.Panel.upgradeP.removeMovieClip(); _root.Panel.upgradeR.removeMovieClip(); _root.Panel.upgradeS.removeMovieClip(); _root.Panel.selltower.removeMovieClip(); this.Info[1] = 7; this.Info[2] = this.Info[2] * 5; ReDraw("ButtonFission"); }; ButtonFission.onRollOut = function () { _root.Panel.Upgrade.power.Power.text = ""; _root.Panel.Upgrade.range.Range.text = ""; _root.Panel.Upgrade.speed.Speed.text = ""; _root.Panel.Upgrade.cost.Cost.text = ""; _root.Panel.Upgrade.info.INFO.text = ""; this.Info[1] = 7; this.Info[2] = this.POWER; ReDraw("ButtonFission"); }; ButtonScissor.onRollOver = function () { _root.Panel.Upgrade.power.Power.text = ButtonScissor.Info[2]; _root.Panel.Upgrade.range.Range.text = ButtonScissor.Info[3]; _root.Panel.Upgrade.speed.Speed.text = ButtonScissor.Info[4]; _root.Panel.Upgrade.cost.Cost.text = ButtonScissor.Info[6]; _root.Panel.Upgrade.info.INFO.text = "Scissor Beam (requires at least 2 towers). Creates a fluctuating beam between all other scissor beam towers in range that causes constant damage to enemies that run through it."; _root.Panel.Upgrade.cost.Cost.setTextFormat(PanelValue); _root.Panel.Upgrade.power.Power.setTextFormat(PanelValue); _root.Panel.Upgrade.range.Range.setTextFormat(PanelValue); _root.Panel.Upgrade.speed.Speed.setTextFormat(PanelValue); _root.Panel.Upgrade.info.INFO.setTextFormat(PanelValue); _root.Range.removeMovieClip(); _root.Panel.upgradeP.removeMovieClip(); _root.Panel.upgradeR.removeMovieClip(); _root.Panel.upgradeS.removeMovieClip(); _root.Panel.selltower.removeMovieClip(); this.Info[1] = 8; this.Info[2] = this.Info[2] * 5; ReDraw("ButtonScissor"); }; ButtonScissor.onRollOut = function () { _root.Panel.Upgrade.power.Power.text = ""; _root.Panel.Upgrade.range.Range.text = ""; _root.Panel.Upgrade.speed.Speed.text = ""; _root.Panel.Upgrade.cost.Cost.text = ""; _root.Panel.Upgrade.info.INFO.text = ""; this.Info[1] = 8; this.Info[2] = this.POWER; ReDraw("ButtonScissor"); }; ButtonLowFreq.onRollOver = function () { _root.Panel.Upgrade.power.Power.text = ButtonScissor.Info[2]; _root.Panel.Upgrade.range.Range.text = ButtonScissor.Info[3]; _root.Panel.Upgrade.speed.Speed.text = ButtonScissor.Info[4]; _root.Panel.Upgrade.cost.Cost.text = ButtonScissor.Info[6]; _root.Panel.Upgrade.info.INFO.text = "Low Frequency Laser. Fires a constant slow moving beam at its target that slowly fades as it gets farther away from the tower. Upgrading speed causes the laser to go farther"; _root.Panel.Upgrade.cost.Cost.setTextFormat(PanelValue); _root.Panel.Upgrade.power.Power.setTextFormat(PanelValue); _root.Panel.Upgrade.range.Range.setTextFormat(PanelValue); _root.Panel.Upgrade.speed.Speed.setTextFormat(PanelValue); _root.Panel.Upgrade.info.INFO.setTextFormat(PanelValue); _root.Range.removeMovieClip(); _root.Panel.upgradeP.removeMovieClip(); _root.Panel.upgradeR.removeMovieClip(); _root.Panel.upgradeS.removeMovieClip(); _root.Panel.selltower.removeMovieClip(); this.Info[1] = 9; this.Info[2] = this.Info[2] * 5; ReDraw("ButtonLowFreq"); }; ButtonLowFreq.onRollOut = function () { _root.Panel.Upgrade.power.Power.text = ""; _root.Panel.Upgrade.range.Range.text = ""; _root.Panel.Upgrade.speed.Speed.text = ""; _root.Panel.Upgrade.cost.Cost.text = ""; _root.Panel.Upgrade.info.INFO.text = ""; this.Info[1] = 9; this.Info[2] = this.POWER; ReDraw("ButtonLowFreq"); }; Panel.Start.onRollOver = function () { if (NextWave == undefined) { this._alpha = 50; this.START.textColor = 65535; } }; Panel.Start.onRollOut = function () { if (NextWave == undefined) { this._alpha = 100; this.START.textColor = 0; } }; Panel.Start.onPress = function () { if (Killcount == 16) { StartWave(); } }; Panel.restart.onPress = function () { Restart(); }; Panel.restart.onRollOver = function () { this._alpha = 50; this.RESTART.textColor = 16711935 /* 0xFF00FF */; }; Panel.restart.onRollOut = function () { this._alpha = 100; this.RESTART.textColor = 0; }; placer = false; money = ((DIF == 0) ? 400 : 300); Life = 20; score = 0; TowerArray = new Array(); TowerArrayB = new Array(); EnemyArray = new Array(); EnemyArray1 = new Array(); EnemyArray2 = new Array(); transvar1 = false; transvar2 = false; Killcount = 16; level = 1; WaveDone = true; j = 0; jj = 0; jjj = 0; count = 0; enemyloop = 0; EnemyCycle = new Array(); EnemyCycle = [0, 1, 2, 3, 4, 5, 4, 3, 2, 6]; LifeTotal = ((DIF == 0) ? (4 * level) : (5 * level)); if (level >= 40) { LifeTotal = LifeTotal * 2; } if (level >= 80) { LifeTotal = LifeTotal * 2; } if (level >= 100) { LifeTotal = LifeTotal * 2; } if (level >= 120) { LifeTotal = LifeTotal * 2; } _root.Panel.Levelinfo.LEVELinfo.text = (((("Level " + level) + ". Normal. HP=") + LifeTotal) + ". For each kill you get $") + (4 + Math.round((level + 3) / 3)); _root.Panel.Levelinfo.LEVELinfo.setTextFormat(PanelValue); } function OpenScreen() { _root.createEmptyMovieClip("Title", 1); _root.Title._x = 100; _root.Title._y = 100; _root.Title.createTextField("TITLE", 2, 0, 0, 400, 50); _root.Title.TITLE.text = "LASER DEFENSE"; _root.Title.TITLE.setTextFormat(TitleScreen); _root.Title.createTextField("SUBTEXT", 3, 0, 40, 400, 40); _root.Title.SUBTEXT.text = "Version 1.1 \r By Nick Martucci"; _root.Title.SUBTEXT.setTextFormat(TitleSubtext); _root.Title.createTextField("inform", 8, 0, 150, 400, 20); _root.createEmptyMovieClip("EASY", 4); EASY._x = 200; EASY._y = 200; EASY.createTextField("easy", 5, -40, -20, 120, 50); EASY.easy.text = "Easy"; EASY.easy.selectable = false; EASY.easy.setTextFormat(TitleScreen); _root.createEmptyMovieClip("HARD", 6); HARD._x = 375; HARD._y = 200; HARD.createTextField("hard", 7, -40, -20, 120, 50); HARD.hard.text = "Hard"; HARD.hard.selectable = false; HARD.hard.setTextFormat(TitleScreen); EASY.onRollOver = function () { EASY._xscale = 120; EASY._yscale = 120; Title.inform.text = "weaker enemies and more money"; Title.inform.setTextFormat(TitleSubtext); }; EASY.onRollOut = function () { EASY._xscale = 100; EASY._yscale = 100; Title.inform.text = ""; }; EASY.onPress = function () { EASY._xscale = 150; EASY._yscale = 150; Title.removeMovieClip(); EASY.removeMovieClip(); HARD.removeMovieClip(); INSTRUCTIONS.removeMovieClip(); TIPS.removeMovieClip(); DIF = 0; Begin(); }; HARD.onRollOver = function () { HARD._xscale = 120; HARD._yscale = 120; Title.inform.text = "stronger enemies and less money"; Title.inform.setTextFormat(TitleSubtext); }; HARD.onRollOut = function () { HARD._xscale = 100; HARD._yscale = 100; Title.inform.text = ""; }; HARD.onPress = function () { HARD._xscale = 150; HARD._yscale = 150; Title.removeMovieClip(); HARD.removeMovieClip(); EASY.removeMovieClip(); INSTRUCTIONS.removeMovieClip(); TIPS.removeMovieClip(); DIF = 1; Begin(); }; _root.createEmptyMovieClip("INSTRUCTIONS", 8); INSTRUCTIONS.createTextField("instruct", 9, -50, -10, 200, 50); INSTRUCTIONS._x = 150; INSTRUCTIONS._y = 410; INSTRUCTIONS.instruct.text = "Instructions"; INSTRUCTIONS.instruct.setTextFormat(TitleOther); _root.createEmptyMovieClip("TIPS", 10); TIPS.createTextField("tips", 11, -100, -10, 200, 50); TIPS._x = 450; TIPS._y = 410; TIPS.tips.text = "Tips"; TIPS.tips.setTextFormat(TitleOther); INSTRUCTIONS.onRollOver = function () { INSTRUCTIONS._xscale = 120; INSTRUCTIONS._yscale = 120; }; INSTRUCTIONS.onRollOut = function () { INSTRUCTIONS._xscale = 100; INSTRUCTIONS._yscale = 100; Title.inform.text = ""; }; INSTRUCTIONS.onPress = function () { INSTRUCTIONS._xscale = 150; INSTRUCTIONS._yscale = 150; Title.removeMovieClip(); INSTRUCTIONS.removeMovieClip(); TIPS.removeMovieClip(); EASY.removeMovieClip(); HARD.removeMovieClip(); Instructions(); }; TIPS.onRollOver = function () { TIPS._xscale = 120; TIPS._yscale = 120; }; TIPS.onRollOut = function () { TIPS._xscale = 100; TIPS._yscale = 100; Title.inform.text = ""; }; TIPS.onPress = function () { HARD._xscale = 150; HARD._yscale = 150; Title.removeMovieClip(); HARD.removeMovieClip(); EASY.removeMovieClip(); INSTRUCTIONS.removeMovieClip(); TIPS.removeMovieClip(); Tips(); }; } function Instructions() { _root.createEmptyMovieClip("INSTRUCTIONS", 1); INSTRUCTIONS.createTextField("Instruct", 2, -100, 0, 200, 50); INSTRUCTIONS.Instruct.text = "Instructions"; INSTRUCTIONS.Instruct.setTextFormat(TitleOther); INSTRUCTIONS.createTextField("writing", 3, 0, 30, 600, 400); INSTRUCTIONS.writing.wordWrap = true; INSTRUCTIONS.writing.text = "Laser Defense is like many other Tower Defense games. Place towers along the path to kill the enemies as they come. The panel to the right shows all the information you will need. Money, Lives, Score, Tower Information, Level Information, ect. Rolling over the diamond shapes at the top right will show the tower information. Click the towers (diamonds) to purchase the tower and place it on the map. Click on purchased towers to view their information and upgrade them. Power, Range and Speed can be upgraded individually by pressing the button in the panel or the P, R, or S keys while the tower is selected. Press the start button or Spacebar to send the next wave."; INSTRUCTIONS.writing.setTextFormat(TitleInfo); INSTRUCTIONS.createTextField("upgradeIndicate", 4, 0, 285, 600, 400); INSTRUCTIONS.upgradeIndicate.wordWrap = true; INSTRUCTIONS.upgradeIndicate.text = "The rotating colors in the middle of each purchased tower will indicate how upgraded each towers is. The thicker the line the more the power has been upgraded. The faster it spins the more upgraded the speed is. Click on the tower to see how upgraded its range is."; INSTRUCTIONS.upgradeIndicate.setTextFormat(TitleInfo); INSTRUCTIONS.createTextField("Critters", 9, 0, 400, 600, 400); INSTRUCTIONS.Critters.wordWrap = true; INSTRUCTIONS.Critters.text = "There are 7 different types of enemies. Normal, Fast and Weak, Slow and Strong, Regen Enemies, Exploding Enemies, Warp Enemies, and Super Enemies. Regen enemies slowly regenerate lost HP. They have less than Normal enemies but more than Fast enemies. The Exploding enemies explode after they are killed damaging nearby enemies. They have more HP than Normal enemies and less HP than Slow enemies. Warp enemies move 1 space at a time and dissappear for a short time in-between. They have the same HP as normal enemies and cannot be targeted while invisible. However they can still be slowed down. Super Enemies are fast, strong, warping, regenerating enemies that are immune to the disruptor wave."; INSTRUCTIONS.Critters.setTextFormat(TitleInfo); INSTRUCTIONS._x = 100; _root.createEmptyMovieClip("Normal", 5); _root.createEmptyMovieClip("Speed", 6); _root.createEmptyMovieClip("Power", 7); _root.createEmptyMovieClip("Ranger", 8); Normal.Info = new Array(); Speed.Info = new Array(); Power.Info = new Array(); Ranger.Info = new Array(); DrawRailgun("Normal"); DrawCharge("Speed"); DrawDisruptor("Power"); DrawBeam("Ranger"); Normal._x = 160; Normal._y = 225; Speed._x = 260; Speed._y = 225; Power._x = 360; Power._y = 225; Ranger._x = 460; Ranger._y = 225; Power.Info[1] = 3; Power.Info[2] = Power.Info[2] * 5; DrawRange(_root.Ranger); ReDraw("Power"); DrawNormalEnemy(0); DrawFastEnemy(1); DrawSlowEnemy(2); DrawRegenEnemy(3); DrawExplodeEnemy(4); DrawWarpEnemy(5); DrawSuperEnemy(6); _root.enemy0._x = 500; _root.enemy0._y = 375; _root.enemy1._x = 440; _root.enemy1._y = 375; _root.enemy2._x = 380; _root.enemy2._y = 375; _root.enemy3._x = 220; _root.enemy3._y = 375; _root.enemy4._x = 160; _root.enemy4._y = 375; _root.enemy5._x = 100; _root.enemy5._y = 375; _root.enemy5.n = 0; _root.enemy6._x = 120; _root.enemy6._y = 375; _root.enemy6.n = 0; INSTRUCTIONS.onEnterFrame = function () { Normal.middle._rotation = Normal.middle._rotation + 1; Speed.middle._rotation = Speed.middle._rotation + 6; Power.middle._rotation = Power.middle._rotation + 1; Ranger.middle._rotation = Ranger.middle._rotation + 1; i = 0; while (i <= 4) { _root["enemy" + i]._x = _root["enemy" + i]._x + _root["enemy" + i].speed; if (_root["enemy" + i]._x > 600) { _root["enemy" + i]._x = 100; } i++; } t = 5; while (t <= 6) { _root["enemy" + t].n = _root["enemy" + t].n + 1; if (_root["enemy" + t].n < Math.round(9 / _root["enemy" + t].speed)) { _root["enemy" + t].warp._xscale = _root["enemy" + t].warp._xscale - (_root["enemy" + t].n * 15); _root["enemy" + t].warp._yscale = _root["enemy" + t].warp._yscale - (_root["enemy" + t].n * 15); } else if (_root["enemy" + t].n == Math.round(9 / _root["enemy" + t].speed)) { _root["enemy" + t]._visible = false; _root["enemy" + t]._x = _root["enemy" + t]._x + 20; } else if (_root["enemy" + t].n == Math.round(30 / _root["enemy" + t].speed)) { _root["enemy" + t]._visible = true; } else if ((_root["enemy" + t].n > Math.round(30 / _root["enemy" + t].speed)) && (_root["enemy" + t].n < Math.round(39 / _root["enemy" + t].speed))) { _root["enemy" + t].warp._xscale = _root["enemy" + t].warp._xscale + (_root["enemy" + t].n * 3); _root["enemy" + t].warp._yscale = _root["enemy" + t].warp._yscale + (_root["enemy" + t].n * 3); } else if (_root["enemy" + t].n == Math.round(45 / _root["enemy" + t].speed)) { _root["enemy" + t].warp._visible = false; } if (_root["enemy" + t].n >= Math.round(50 / _root["enemy" + t].speed)) { _root["enemy" + t].warp._visible = true; _root["enemy" + t].warp._xscale = 140; _root["enemy" + t].warp._yscale = 140; _root["enemy" + t].n = 0; } if (_root["enemy" + t]._x > 600) { _root["enemy" + t]._x = 100; } t++; } }; _root.createEmptyMovieClip("BACK", 10); BACK._x = 50; BACK._y = 510; BACK.createTextField("back", 11, -50, -10, 100, 50); BACK.back.text = "Back"; BACK.back.setTextFormat(TitleOther); BACK.onRollOver = function () { BACK._xscale = 120; BACK._yscale = 120; }; BACK.onRollOut = function () { BACK._xscale = 100; BACK._yscale = 100; }; BACK.onPress = function () { INSTRUCTIONS.removeMovieClip(); BACK.removeMovieClip(); i = 0; while (i <= 6) { _root["enemy" + i].removeMovieClip(); i++; } Range.removeMovieClip(); Normal.removeMovieClip(); Speed.removeMovieClip(); Power.removeMovieClip(); Ranger.removeMovieClip(); TowerArrayB = []; OpenScreen(); }; } function Tips() { _root.createEmptyMovieClip("TIPS", 1); TIPS.createTextField("tip", 2, 0, 0, 100, 50); TIPS.tip.text = "Tips"; TIPS.tip.setTextFormat(TitleOther); TIPS.createTextField("Blaster", 3, 150, 30, 600, 100); TIPS.Blaster.wordWrap = true; TIPS.Blaster.text = "Shoots short blasts at nearest enemies. Cheap to buy and upgrade but the speed of the projectiles is limited and the tower can miss fast targets."; TIPS.Blaster.setTextFormat(TitleInfo); TIPS.createTextField("Beam", 4, 150, 85, 600, 100); TIPS.Beam.wordWrap = true; TIPS.Beam.text = "Does its power/3 damage to enemies every frame. The beam can be extended to other targets. Each extension does a little less damage. Good starting tower."; TIPS.Beam.setTextFormat(TitleInfo); TIPS.createTextField("Charge", 5, 150, 140, 600, 100); TIPS.Charge.wordWrap = true; TIPS.Charge.text = "Fires slowly but does tremendous damage and has a decent range. Becomes more effective if the speed is upgraded."; TIPS.Charge.setTextFormat(TitleInfo); TIPS.createTextField("Disruptor", 6, 150, 195, 600, 100); TIPS.Disruptor.wordWrap = true; TIPS.Disruptor.text = "Does very little damage but is very effective at slowing down fast enemies and is fairly inexpensive. Helps other tower get more shots off and also allows the Laser Blasters to hit fast targets."; TIPS.Disruptor.setTextFormat(TitleInfo); TIPS.createTextField("Railgun", 7, 150, 250, 600, 100); TIPS.Railgun.wordWrap = true; TIPS.Railgun.text = "Does its power damage per frame while any enemy is in contact with its beam. If placed at the end of a long straight away it can take out an entire row of enemies at once."; TIPS.Railgun.setTextFormat(TitleInfo); TIPS.createTextField("Inverter", 8, 150, 305, 600, 100); TIPS.Inverter.wordWrap = true; TIPS.Inverter.text = "Does its power damage per frame while its firing and its beam stops the enemy. Only effective if you have alot of them."; TIPS.Inverter.setTextFormat(TitleInfo); TIPS.createTextField("Radar", 9, 150, 360, 600, 100); TIPS.Radar.wordWrap = true; TIPS.Radar.text = "Does tremendous damage as long as the enemies don't slip past the sight. The sight rotates clockwise so it is best placed on a counter clockwise turn."; TIPS.Radar.setTextFormat(TitleInfo); TIPS.createTextField("Fission", 10, 150, 405, 600, 100); TIPS.Fission.wordWrap = true; TIPS.Fission.text = "Takes longer to charge than the Charge Beam but when it is done it releases a large blast that does much damage to surrounding targets. It needs a large range so it can follow a target around the map long enough to charge the beam."; TIPS.Fission.setTextFormat(TitleInfo); TIPS.createTextField("Scissor", 11, 150, 470, 600, 100); TIPS.Scissor.wordWrap = true; TIPS.Scissor.text = "Warp enemies and fast enemies can slip past it but with enough money very large meshes of these towers can be made."; TIPS.Scissor.setTextFormat(TitleInfo); _root.createEmptyMovieClip("BACK", 12); BACK._x = 50; BACK._y = 550; BACK.createTextField("back", 11, -50, -10, 100, 50); BACK.back.text = "Back"; BACK.back.setTextFormat(TitleOther); BACK.onRollOver = function () { BACK._xscale = 120; BACK._yscale = 120; }; BACK.onRollOut = function () { BACK._xscale = 100; BACK._yscale = 100; }; BACK.onPress = function () { TIPS.removeMovieClip(); NEXT.removeMovieClip(); BACK.removeMovieClip(); i = 0; while (i <= 9) { ii = 0; while (ii <= 9) { _root[("BeamX" + _root["tower" + i].Info[5]) + _root["tower" + ii].Info[5]].removeMovieClip(); _root[("BeamX" + _root["tower" + ii].Info[5]) + _root["tower" + i].Info[5]].removeMovieClip(); ii++; } i++; } i = 0; while (i <= 9) { _root["tower" + i].removeMovieClip(); i++; } Range.removeMovieClip(); _root.enemy0.removeMovieClip(); _root.radar6.removeMovieClip(); _root.beamX1.removeMovieClip(); _root.beamX2.removeMovieClip(); TowerArrayB = []; OpenScreen(); }; _root.createEmptyMovieClip("NEXT", 30); NEXT._x = 700; NEXT._y = 550; NEXT.createTextField("Next", 31, -50, -10, 100, 50); NEXT.Next.text = "Next"; NEXT.Next.setTextFormat(TitleOther); NEXT.onRollOver = function () { NEXT._xscale = 120; NEXT._yscale = 120; }; NEXT.onRollOut = function () { NEXT._xscale = 100; NEXT._yscale = 100; }; NEXT.onPress = function () { NEXT.removeMovieClip(); i = 0; while (i <= 9) { _root["tower" + i].removeMovieClip(); i++; } _root.enemy0.removeMovieClip(); _root.radar6.removeMovieClip(); _root.beamX1.removeMovieClip(); _root.beamX2.removeMovieClip(); TIPS.removeMovieClip(); TowerArrayB = new Array(); ScissorExplain(); }; _root.createEmptyMovieClip("tower0", 20); _root.createEmptyMovieClip("tower1", 13); _root.createEmptyMovieClip("tower2", 14); _root.createEmptyMovieClip("tower3", 15); _root.createEmptyMovieClip("tower4", 16); _root.createEmptyMovieClip("tower5", 17); _root.createEmptyMovieClip("tower6", 18); _root.createEmptyMovieClip("tower7", 19); _root.createEmptyMovieClip("tower8", 21); _root.createEmptyMovieClip("tower9", 22); _root.tower0.Info = new Array(); _root.tower1.Info = new Array(); _root.tower2.Info = new Array(); _root.tower3.Info = new Array(); _root.tower4.Info = new Array(); _root.tower5.Info = new Array(); _root.tower6.Info = new Array(); _root.tower7.Info = new Array(); _root.tower8.Info = new Array(); _root.tower9.Info = new Array(); _root.tower0.Info[1] = 0; _root.tower1.Info[1] = 1; _root.tower2.Info[1] = 2; _root.tower3.Info[1] = 3; _root.tower4.Info[1] = 4; _root.tower5.Info[1] = 5; _root.tower6.Info[1] = 6; _root.tower7.Info[1] = 7; _root.tower8.Info[1] = 8; _root.tower9.Info[1] = 8; _root.tower0.Info[5] = 0; _root.tower1.Info[5] = 1; _root.tower2.Info[5] = 2; _root.tower3.Info[5] = 3; _root.tower4.Info[5] = 4; _root.tower5.Info[5] = 5; _root.tower6.Info[5] = 6; _root.tower7.Info[5] = 7; _root.tower8.Info[5] = 8; _root.tower9.Info[5] = 9; _root.tower0.BlasterArray = new Array(); _root.tower0.n = 0; _root.tower1.n = 0; _root.tower2.n = 0; _root.tower3.n = 0; _root.tower4.n = 0; _root.tower5.n = 0; _root.tower6.n = 0; _root.tower7.n = 0; _root.tower8.n = 0; _root.tower9.n = 50; _root.tower0.nn = 0; _root.tower1.nn = 0; _root.tower2.nn = 0; _root.tower3.nn = 0; _root.tower4.nn = 0; _root.tower5.nn = 0; _root.tower6.nn = 0; _root.tower7.nn = 0; _root.tower8.nn = 0; _root.tower9.nn = 0; _root.tower0.Target = new Array(); _root.tower1.Target = new Array(); _root.tower2.Target = new Array(); _root.tower3.Target = new Array(); _root.tower4.Target = new Array(); _root.tower5.Target = new Array(); _root.tower6.Target = new Array(); _root.tower7.Target = new Array(); _root.tower8.Target = new Array(); _root.tower9.Target = new Array(); DrawBlaster("tower0"); DrawBeam("tower1"); DrawCharge("tower2"); DrawDisruptor("tower3"); DrawRailgun("tower4"); DrawInverter("tower5"); DrawRadar("tower6"); DrawFission("tower7"); DrawScissor("tower8"); DrawScissor("tower9"); _root.tower0._x = 20; _root.tower0._y = 50; _root.tower1._x = 20; _root.tower1._y = 105; _root.tower2._x = 20; _root.tower2._y = 160; _root.tower3._x = 20; _root.tower3._y = 215; _root.tower4._x = 20; _root.tower4._y = 270; _root.tower5._x = 20; _root.tower5._y = 325; _root.tower6._x = 20; _root.tower6._y = 380; _root.tower7._x = 20; _root.tower7._y = 435; _root.tower8._x = 20; _root.tower8._y = 490; _root.tower9._x = 120; _root.tower9._y = 490; DrawNormalEnemy(0); _root.tower6.Info[3] = 120; _root.tower6.Info[4] = 4; DrawRadarSight(_root.tower6); _root.enemy0._x = 80; _root.enemy0._y = 50; _root.radar6._x = _root.tower6._x; _root.radar6._y = _root.tower6._y; c = 0; d = 0; TIPS.onEnterFrame = function () { _root.tower0.middle._rotation = _root.tower0.middle._rotation + 2; _root.tower1.middle._rotation = _root.tower1.middle._rotation + 2; _root.tower2.middle._rotation = _root.tower2.middle._rotation + 2; _root.tower3.middle._rotation = _root.tower3.middle._rotation + 2; _root.tower4.middle._rotation = _root.tower4.middle._rotation + 2; _root.tower5.middle._rotation = _root.tower5.middle._rotation + 2; _root.tower6.middle._rotation = _root.tower6.middle._rotation + 2; _root.tower7.middle._rotation = _root.tower7.middle._rotation + 2; _root.tower8.middle._rotation = _root.tower8.middle._rotation + 2; _root.tower9.middle._rotation = _root.tower9.middle._rotation + 2; _root.enemy0._y = _root.enemy0._y + _root.enemy0.speed; _root.radar6._rotation = _root.radar6._rotation + 2; if (_root.enemy0._y > 500) { _root.enemy0._y = 50; } if (_root.enemy0.speed < 4) { _root.enemy0.speed = _root.enemy0.speed + 0.05; } if (_root.radar6.hitTest(_root.enemy0._x, _root.enemy0._y, true)) { _root.tower6.createEmptyMovieClip("beam", 95); _root.tower6.beam.lineStyle(1, 16711680); _root.tower6.beam.lineTo(_root.enemy0._x - _root.tower6._x, _root.enemy0._y - _root.tower6._y); } else { _root.tower6.beam.removeMovieClip(); } _root.createEmptyMovieClip("beamX1", 96); _root.beamX1.lineStyle(_root.tower8.n / 20, 10027161, 50); _root.beamX1.moveTo(_root.tower8._x, _root.tower8._y); _root.beamX1.lineTo(_root.tower9._x, _root.tower9._y); _root.createEmptyMovieClip("beamX2", 97); _root.beamX2.lineStyle(_root.tower9.n / 20, 10027161, 50); _root.beamX2.moveTo(_root.tower9._x, _root.tower9._y); _root.beamX2.lineTo(_root.tower8._x, _root.tower8._y); _root.tower8.n = ((_root.tower8.n < 100) ? (_root.tower8.n + 3) : 0); _root.tower9.n = ((_root.tower9.n < 100) ? (_root.tower9.n + 3) : 0); i = 0; while (i <= 7) { if ((_root.enemy0._y > (_root["tower" + i]._y - 100)) && (_root.enemy0._y < (_root["tower" + i]._y + 100))) { _root["tower" + i].Target[0] = _root.enemy0; Fire(_root["tower" + i]); } else { _root["tower" + i].beam.removeMovieClip(); for (j in _root["tower" + i].BlasterArray) { _root["tower" + i]["beam" + j].removeMovieClip(); } } i++; } }; } function ScissorExplain() { _root.createEmptyMovieClip("SCISSOR", 1); SCISSOR.createTextField("scis", 2, 0, 0, 400, 50); SCISSOR.scis.text = "Scissor Tower Explaination"; SCISSOR.scis.setTextFormat(TitleOther); SCISSOR.createTextField("intro", 3, 40, 30, 600, 100); SCISSOR.intro.wordWrap = true; SCISSOR.intro.text = "There are a couple different situations for the scissor towers. This section will explain them."; SCISSOR.intro.setTextFormat(TitleInfo); SCISSOR.createTextField("exp1", 4, 240, 90, 550, 100); SCISSOR.exp1.wordWrap = true; SCISSOR.exp1.text = "If both scissor towers are within range of eachother each tower will create a beam to the other tower, so there will actually be two beams (if the pulsing is out of phase you may notice). Each beam will do damage of the power of the tower that it is associated with divided by 2. So if the tower on the right has a power of 1, and the tower on the left has a power of 2 the total damage done by the two beams will 1.5 damage per frame."; SCISSOR.exp1.setTextFormat(TitleInfo); SCISSOR.createTextField("exp2", 5, 40, 220, 400, 100); SCISSOR.exp2.wordWrap = true; SCISSOR.exp2.text = "If a tower has upgraded range and has another scissor tower in its range, but the upgraded scissor tower is not in range of the other scissor tower, then only one beam will be created from the upgraded range tower to the other scissor tower. The one beam will only do the damage of the one upgraded range tower's power divided by 2. So if the upgraded tower on the left has a power of 1 but the normal range scissor tower on the right has a power of three, the one beam will still only do .5 damage per frame."; SCISSOR.exp2.setTextFormat(TitleInfo); SCISSOR.createTextField("exp3", 6, 330, 340, 450, 100); SCISSOR.exp3.wordWrap = true; SCISSOR.exp3.text = "If multiple scissor towers create a chain, the same rules for the beam still applies. The right tower and middle tower both have eachother in range so two beam will be created between them doing their combined powers divided by 2 damage. The left tower and middle tower also have eachother in range so two beams will be created between those two towers. The right tower and left tower are not in range of each other so no beams will be draw between them. Upgrading the power of the left tower will not affect the beams on the right and vice versa."; SCISSOR.exp3.setTextFormat(TitleInfo); SCISSOR.createTextField("exp4", 7, 120, 470, 440, 100); SCISSOR.exp4.wordWrap = true; SCISSOR.exp4.text = "Below, the left tower has the other two towers in range, so it will draw a beam to each of those two towers. The other two towers however do not have the left tower in range so they will not draw a beam to the left tower. The two towers on the right however are within range of eachother so they will each draw a beam to the other creating two beams inbetween them. Upgrading the right towers' power will increase the damage of the beam on the right, but will not upgrade the beams from the tower to the left. Upgrading the tower on the left will increase both beams' damage that are coming from that tower but will not affect the other beam's power."; SCISSOR.exp4.setTextFormat(TitleInfo); TowerArrayB = new Array(); i = 0; while (i <= 9) { _root.createEmptyMovieClip("tower" + i, 20 + i); _root["tower" + i].Info = new Array(); _root["tower" + i].Info[1] = 8; _root["tower" + i].Info[5] = i; TowerArrayB[TowerArrayB.length] = _root["tower" + i]; i++; } _root.tower0.n = 0; _root.tower1.n = 15; _root.tower2.n = 0; _root.tower3.n = 15; _root.tower4.n = 0; _root.tower5.n = 5; _root.tower6.n = 10; _root.tower7.n = 0; _root.tower8.n = 5; _root.tower9.n = 10; _root.tower0.nn = 0; _root.tower1.nn = 0; _root.tower2.nn = 0; _root.tower3.nn = 0; _root.tower4.nn = 0; _root.tower5.nn = 0; _root.tower6.nn = 0; _root.tower7.nn = 0; _root.tower8.nn = 0; _root.tower9.nn = 0; _root.tower0.Target = new Array(); _root.tower1.Target = new Array(); _root.tower2.Target = new Array(); _root.tower3.Target = new Array(); _root.tower4.Target = new Array(); _root.tower5.Target = new Array(); _root.tower6.Target = new Array(); _root.tower7.Target = new Array(); _root.tower8.Target = new Array(); _root.tower9.Target = new Array(); DrawScissor("tower0"); DrawScissor("tower1"); DrawScissor("tower2"); DrawScissor("tower3"); DrawScissor("tower4"); DrawScissor("tower5"); DrawScissor("tower6"); DrawScissor("tower7"); DrawScissor("tower8"); DrawScissor("tower9"); _root.tower2.Info[3] = 140; _root.tower7.Info[3] = 130; _root.tower0._x = 60; _root.tower0._y = 140; _root.tower1._x = 140; _root.tower1._y = 140; _root.tower2._x = 580; _root.tower2._y = 270; _root.tower3._x = 700; _root.tower3._y = 270; _root.tower4._x = 80; _root.tower4._y = 390; _root.tower5._x = 160; _root.tower5._y = 390; _root.tower6._x = 240; _root.tower6._y = 390; _root.tower7._x = 620; _root.tower7._y = 520; _root.tower8._x = 720; _root.tower8._y = 480; _root.tower9._x = 720; _root.tower9._y = 560; counter1 = 25; counter2 = 0; SCISSOR.onEnterFrame = function () { counter1 = ((counter1 < 30) ? (counter1 + 1) : 0); if (counter1 == 30) { DrawRange(_root["tower" + counter2]); counter2 = ((counter2 < 9) ? (counter2 + 1) : 0); } for (i in TowerArrayB) { _root["tower" + i].middle._rotation = _root["tower" + i].middle._rotation + 2; DrawScissorBeam(_root["tower" + i]); } }; } PanelTextUp = new TextFormat(); PanelTextUp.align = "left"; PanelTextUp.font = "arial"; PanelTextUp.bold = true; PanelTextUp.size = 11; PanelTextUpgrade = new TextFormat(); PanelTextUpgrade.align = "right"; PanelTextUpgrade.font = "arial"; PanelTextUpgrade.bold = true; PanelTextUpgrade.size = 11; PanelUp = new TextFormat(); PanelUp.align = "center"; PanelUp.font = "arial"; PanelUp.bold = true; PanelUp.size = 11; PanelUp.color = 0; PanelValue = new TextFormat(); PanelValue.align = "left"; PanelValue.font = "arial"; PanelValue.bold = true; PanelValue.size = 10; PanelValue.color = 6697830 /* 0x663366 */; Starttext = new TextFormat(); Starttext.color = 10066329 /* 0x999999 */; Starttext.font = "arial"; Starttext.size = 11; Starttext.bold = true; Starttext.align = "center"; TitleScreen = new TextFormat("Courier New", 36, 14483456, true, false, false); TitleSubtext = new TextFormat("Courier New", 14, 14483456, false, true, false); TitleScreen.align = "center"; TitleSubtext.align = "center"; TitleOther = new TextFormat("Courier New", 24, 14505216, true, false, false); TitleOther.align = "center"; TitleInfo = new TextFormat("Courier New", 12, 14483456, false, true, false); TitleInfo.align = "left"; Version = new TextFormat("Arial CE", 7, 6684842); Version.align = "left"; doc1 = new LoadVars(); doc1.load("http://people.alfred.edu/~nam2/information.txt"); keyStart = new Object(); Key.addListener(keyStart); keyStart.onKeyDown = function () { if ((Killcount == 16) && (Key.isDown(32))) { StartWave(); } }; PathArray1 = new Array(); PathArray2 = new Array(); o = 0; while (o <= 22) { PathArray1[o] = new Array(); o++; } ooo = 0; while (ooo <= 22) { PathArray2[ooo] = new Array(); ooo++; } PathArray1[0] = [-50, 540, 30, 50]; PathArray1[1] = [530, 550, 30, 160]; PathArray1[2] = [400, 550, 150, 170]; PathArray1[3] = [390, 410, 120, 170]; PathArray1[4] = [60, 410, 110, 130]; PathArray1[5] = [50, 70, 110, 220]; PathArray1[6] = [50, 160, 210, 230]; PathArray1[7] = [150, 170, 180, 230]; PathArray1[8] = [150, 340, 170, 190]; PathArray1[9] = [330, 350, 170, 320]; PathArray1[10] = [60, 350, 310, 330]; PathArray1[11] = [50, 70, 310, 540]; PathArray1[12] = [50, 320, 530, 550]; PathArray1[13] = [310, 330, 480, 550]; PathArray1[14] = [120, 330, 470, 490]; PathArray1[15] = [110, 130, 380, 490]; PathArray1[16] = [110, 420, 370, 390]; PathArray1[17] = [410, 430, 370, 500]; PathArray1[18] = [410, 540, 490, 510]; PathArray1[19] = [530, 550, 320, 510]; PathArray1[20] = [400, 550, 310, 330]; PathArray1[21] = [390, 410, 220, 330]; PathArray1[22] = [390, 600, 210, 230]; PathArray2[0] = [-50, 520, 50, 70]; PathArray2[1] = [510, 530, 50, 140]; PathArray2[2] = [380, 530, 130, 150]; PathArray2[3] = [410, 430, 100, 150]; PathArray2[4] = [40, 430, 90, 110]; PathArray2[5] = [30, 50, 90, 240]; PathArray2[6] = [30, 180, 230, 250]; PathArray2[7] = [170, 190, 200, 250]; PathArray2[8] = [170, 320, 190, 210]; PathArray2[9] = [310, 330, 190, 300]; PathArray2[10] = [40, 330, 290, 310]; PathArray2[11] = [30, 50, 290, 560]; PathArray2[12] = [30, 340, 550, 570]; PathArray2[13] = [330, 350, 460, 570]; PathArray2[14] = [140, 350, 450, 470]; PathArray2[15] = [130, 150, 400, 470]; PathArray2[16] = [130, 400, 390, 410]; PathArray2[17] = [390, 410, 390, 520]; PathArray2[18] = [390, 560, 510, 530]; PathArray2[19] = [550, 570, 300, 530]; PathArray2[20] = [420, 570, 290, 310]; PathArray2[21] = [410, 430, 240, 310]; PathArray2[22] = [410, 605, 230, 250]; OpenScreen(); TowerArrayB = new Array(); EnemyArrayB = new Array(); _root.onEnterFrame = function () { for (i2 in TowerArrayB) { for (k2 in EnemyArrayB) { if (((EnemyArrayB[k2].TargetBy[i2] == undefined) && (TowerArrayB[i2].Info[0] == true)) && (EnemyArrayB[k2]._visible == true)) { if (((EnemyArrayB[k2] != undefined) && (TowerArrayB[i2].Info[1] != 6)) && (TowerArrayB[i2].Info[1] != 8)) { if (Math.sqrt(Math.pow(EnemyArrayB[k2]._x - TowerArrayB[i2]._x, 2) + Math.pow(EnemyArrayB[k2]._y - TowerArrayB[i2]._y, 2)) <= TowerArrayB[i2].Info[3]) { TowerArrayB[i2].Target[TowerArrayB[i2].Target.length] = EnemyArrayB[k2]; EnemyArrayB[k2].TargetBy[i2] = TowerArrayB[i2]; } } } if ((TowerArrayB[i2].Info[1] == 6) && (TowerArrayB[i2].Info[0] == true)) { if ((_root["radar" + TowerArrayB[i2].Info[5]].hitTest(EnemyArrayB[k2]._x, EnemyArrayB[k2]._y, true) && (EnemyArrayB[k2] != undefined)) && (EnemyArrayB[k2]._visible == true)) { TowerArrayB[i2].createEmptyMovieClip("Beam" + k2, ((70 + i2) + 4) + k2); TowerArrayB[i2]["Beam" + k2].moveTo(0, 0); TowerArrayB[i2]["Beam" + k2].lineStyle(1, 16711680); TowerArrayB[i2]["Beam" + k2].lineTo(EnemyArrayB[k2]._x - TowerArrayB[i2]._x, EnemyArrayB[k2]._y - TowerArrayB[i2]._y); EnemyArrayB[k2].life = EnemyArrayB[k2].life - TowerArrayB[i2].Info[2]; } if ((((_root["radar" + TowerArrayB[i2].Info[5]].hitTest(EnemyArrayB[k2]._x, EnemyArrayB[k2]._y, true) == false) || (EnemyArrayB[k2] == undefined)) || (EnemyArrayB[k2]._visible == false)) && (TowerArrayB[i2]["Beam" + k2] != undefined)) { TowerArrayB[i2]["Beam" + k2].removeMovieClip(); } } } for (j2 in TowerArrayB[i2].Target) { if (Math.sqrt(Math.pow(TowerArrayB[i2].Target[j2]._x - TowerArrayB[i2]._x, 2) + Math.pow(TowerArrayB[i2].Target[j2]._y - TowerArrayB[i2]._y, 2)) > TowerArrayB[i2].Info[3]) { TowerArrayB[i2].Target[j2].TargetBy[i2] = undefined; TowerArrayB[i2].Target.splice(j2, 1); } if (TowerArrayB[i2].Target[j2]._visible == false) { TowerArrayB[i2].Target[j2].TargetBy[i2] = undefined; TowerArrayB[i2].Target.splice(j2, 1); } if (TowerArrayB[i2].Target[j2]._x == undefined) { TowerArrayB[i2].Target[j2].TargetBy[i2] = undefined; TowerArrayB[i2].Target.splice(j2, 1); } } if (TowerArrayB[i2].Target.length > 0) { if (TowerArrayB[i2].charge >= 100) { Fire(TowerArrayB[i2]); } } if (TowerArrayB[i2].charge < 100) { TowerArrayB[i2].charge = TowerArrayB[i2].charge + TowerArrayB[i2].Info[4]; } if (TowerArrayB[i2].Info[1] == 6) { _root["radar" + TowerArrayB[i2].Info[5]]._rotation = _root["radar" + TowerArrayB[i2].Info[5]]._rotation + 2; _root["radar" + TowerArrayB[i2].Info[5]]._x = TowerArrayB[i2]._x; _root["radar" + TowerArrayB[i2].Info[5]]._y = TowerArrayB[i2]._y; } if (TowerArrayB[i2].Info[1] == 8) { DrawScissorBeam(TowerArrayB[i2]); } if ((TowerArrayB[i2].Info[1] == 9) && (TowerArrayB[i2].PointArray.length > 1)) { DrawFreqWave(TowerArrayB[i2]); } if ((TowerArrayB[i2].Info[0] == false) && (Route.hitTest(_xmouse, _ymouse, true) == false)) { for (i3 in TowerArrayB) { if ((TowerArrayB[i3].Info[7] == 1) && (TowerArrayB[i3].hitTest(_xmouse, _ymouse, false))) { _root.Panel.Upgrade.info.INFO.text = "Cannot Place There. Overlapping Another Tower"; _root.Panel.Upgrade.info.INFO.setTextFormat(PanelValue); TowerArrayB[i2]._x = this._xmouse; TowerArrayB[i2]._y = this._ymouse; TowerArrayB[i2]._alpha = 25; _root.Range.removeMovieClip(); TowerArrayB[i2].Info[7] = 0; iiii = i2; } else if (((TowerArrayB[i3].Info[7] == 0) || (TowerArrayB[i3].Info[7] == 2)) && (TowerArrayB[i3].hitTest(_xmouse, _ymouse, false) == false)) { TowerArrayB[i2]._x = Math.round(this._xmouse / 20) * 20; TowerArrayB[i2]._y = Math.round(this._ymouse / 20) * 20; TowerArrayB[i2]._alpha = 50; DrawRange(TowerArrayB[i2]); TowerArrayB[i2].Info[7] = 2; iiii = i2; _root.Panel.Upgrade.info.INFO.text = ""; TowerArrayB[i2].onMouseDown = function () { if (((((Route.hitTest(_xmouse, _ymouse, true) == false) && (this.Info[0] == false)) && (placer == true)) && (Grid.hitTest(_xmouse, _ymouse, false) == true)) && (this.Info[7] == 2)) { this.Info[0] = true; this._alpha = 100; placer = false; money = money - this.Info[6]; this.Info[7] = 1; } else if (placer == true) { this.removeMovieClip(); _root.Range.removeMovieClip(); placer = false; _root["radar" + iiii].removeMovieClip(); TowerArrayB.splice(iiii + 1, 1); } }; } } } else if ((TowerArrayB[i2].Info[0] == false) && (Route.hitTest(_xmouse, _ymouse, true) == true)) { TowerArrayB[i2]._x = this._xmouse; TowerArrayB[i2]._y = this._ymouse; TowerArrayB[i2]._alpha = 25; _root.Range.removeMovieClip(); TowerArrayB[i2].Info[7] = 0; _root.Panel.Upgrade.info.INFO.text = "Cannot Place There. Overlapping the Path"; _root.Panel.Upgrade.info.INFO.setTextFormat(PanelValue); } if (TowerArrayB[i2].Target.length == 0) { TowerArrayB[i2].beam.removeMovieClip(); for (i8 in TowerArrayB[i2].BlasterArray) { TowerArrayB[i2]["beam" + i8].removeMovieClip(); } } TowerArrayB[i2].middle._rotation = TowerArrayB[i2].middle._rotation + ((TowerArrayB[i2].Info[4] - TowerArrayB[i2].SPEED) + 1); } Panel.Credit.Money.text = money; Panel.Lives.Life.text = Life; Panel.Score.SCORE.text = score; Panel.Credit.Money.setTextFormat(PanelValue); Panel.Lives.Life.setTextFormat(PanelValue); Panel.Score.SCORE.setTextFormat(PanelValue); if ((Life <= 0) && (count == 0)) { GameOver(); Life = -1; } }; pj = 0; _root.createEmptyMovieClip("openLoad", 60510); _root.openLoad.createTextField("countingm", 70510, 0, 0, 200, 30); openLoad.onEnterFrame = function () { pj = pj + ((pj < 15) ? 1 : -15); if (p == 0) { _root.openLoad.countingm.text = "loading music "; } else if (pj == 4) { _root.openLoad.countingm.text = "loading music. "; } else if (pj == 8) { _root.openLoad.countingm.text = "loading music.. "; } else if (pj == 12) { _root.openLoad.countingm.text = "loading music..."; } if (count == undefined) { _root.openLoad.countingm.setTextFormat(TitleSubtext); _root.openLoad._x = 200; _root.openLoad._y = 80; } else if (count == 0) { _root.openLoad.countingm.setTextFormat(PanelValue); _root.openLoad._x = 632; _root.openLoad._y = 460; } }; musicPanel.onEnterFrame = function () { if (TRACK1.position >= 82665) { TRACK1.start(0); TRACK1.setVolume(50); } if (TRACK2.position >= 95850) { TRACK2.start(0.02); TRACK2.setVolume(40); } if (_root.music.pan == true) { count2 = count2 + 1; if (count2 < 60) { _root.musicPanel._x = _root.musicPanel._x / 1.1; } else if (count2 > 180) { _root.musicPanel._x = -120 + ((_root.musicPanel._x + 120) / 1.1); } else if (count2 > 300) { this.removeMovieClip(); count2 = 0; _root.music.pan = false; } } }; _root.onMouseDown = function () { for (ii in TowerArrayB) { if (this.Panel.hitTest(_xmouse, _ymouse, false) == false) { this.Range.removeMovieClip(); _root.Panel.Upgrade.power.Power.text = ""; _root.Panel.Upgrade.range.Range.text = ""; _root.Panel.Upgrade.speed.Speed.text = ""; _root.Panel.upgradeP.removeMovieClip(); _root.Panel.upgradeR.removeMovieClip(); _root.Panel.upgradeS.removeMovieClip(); _root.Panel.selltower.removeMovieClip(); } } };




http://swfchan.com/22/109005/info.shtml
Created: 14/3 -2019 21:31:07 Last modified: 14/3 -2019 21:31:07 Server time: 02/05 -2024 11:38:41