Section 1
//AdLoader (CPMStar.AdLoader)
package CPMStar {
import flash.display.*;
import flash.net.*;
import flash.system.*;
public class AdLoader {
private static var cpmstarLoader:Loader;
public static function LoadAd(_arg1:int, _arg2:int):DisplayObject{
var _local3:String;
Security.allowDomain("server.cpmstar.com");
_local3 = "http://server.cpmstar.com/adviewas3.swf";
cpmstarLoader = new Loader();
cpmstarLoader.load(new URLRequest(((((_local3 + "?poolid=") + _arg1) + "&subpoolid=") + _arg2)));
return (cpmstarLoader);
}
}
}//package CPMStar
Section 2
//Bounce (fl.motion.easing.Bounce)
package fl.motion.easing {
public class Bounce {
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
if (_arg1 < (1 / 2.75)){
return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2));
};
if (_arg1 < (2 / 2.75)){
_arg1 = (_arg1 - (1.5 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2));
};
if (_arg1 < (2.5 / 2.75)){
_arg1 = (_arg1 - (2.25 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2));
};
_arg1 = (_arg1 - (2.625 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (((_arg3 - easeOut((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (((easeIn((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2));
};
return ((((easeOut(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2));
}
}
}//package fl.motion.easing
Section 3
//Elastic (fl.motion.easing.Elastic)
package fl.motion.easing {
public class Elastic {
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
if (!_arg6){
_arg6 = (_arg4 * 0.3);
};
if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){
_arg5 = _arg3;
_local7 = (_arg6 / 4);
} else {
_local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5)));
};
return (((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6))) + _arg3) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
if (!_arg6){
_arg6 = (_arg4 * 0.3);
};
if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){
_arg5 = _arg3;
_local7 = (_arg6 / 4);
} else {
_local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5)));
};
--_arg1;
return ((-(((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6)))) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 == 2){
return ((_arg2 + _arg3));
};
if (!_arg6){
_arg6 = (_arg4 * (0.3 * 1.5));
};
if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){
_arg5 = _arg3;
_local7 = (_arg6 / 4);
} else {
_local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5)));
};
if (_arg1 < 1){
--_arg1;
return (((-0.5 * ((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6)))) + _arg2));
};
--_arg1;
return ((((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6))) * 0.5) + _arg3) + _arg2));
}
}
}//package fl.motion.easing
Section 4
//Linear (fl.motion.easing.Linear)
package fl.motion.easing {
public class Linear {
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
}
}//package fl.motion.easing
Section 5
//Tween (fl.transitions.Tween)
package fl.transitions {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class Tween extends EventDispatcher {
private var _position:Number;// = NAN
public var prevTime:Number;// = NAN
public var prevPos:Number;// = NAN
public var isPlaying:Boolean;// = false
public var begin:Number;// = NAN
private var _fps:Number;// = NAN
private var _time:Number;// = NAN
public var change:Number;// = NAN
private var _finish:Number;// = NAN
public var looping:Boolean;// = false
private var _intervalID:uint;// = 0
public var func:Function;
private var _timer:Timer;// = null
private var _startTime:Number;// = NAN
public var prop:String;// = ""
private var _duration:Number;// = NAN
public var obj:Object;// = null
public var useSeconds:Boolean;// = false
protected static var _mc:MovieClip = new MovieClip();
public function Tween(_arg1:Object, _arg2:String, _arg3:Function, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Boolean=false){
isPlaying = false;
obj = null;
prop = "";
func = function (_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
};
begin = NaN;
change = NaN;
useSeconds = false;
prevTime = NaN;
prevPos = NaN;
looping = false;
_duration = NaN;
_time = NaN;
_fps = NaN;
_position = NaN;
_startTime = NaN;
_intervalID = 0;
_finish = NaN;
_timer = null;
super();
if (!arguments.length){
return;
};
this.obj = _arg1;
this.prop = _arg2;
this.begin = _arg4;
this.position = _arg4;
this.duration = _arg6;
this.useSeconds = _arg7;
if ((_arg3 is Function)){
this.func = _arg3;
};
this.finish = _arg5;
this._timer = new Timer(100);
this.start();
}
public function continueTo(_arg1:Number, _arg2:Number):void{
this.begin = this.position;
this.finish = _arg1;
if (!isNaN(_arg2)){
this.duration = _arg2;
};
this.start();
}
public function stop():void{
this.stopEnterFrame();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_STOP, this._time, this._position));
}
private function fixTime():void{
if (this.useSeconds){
this._startTime = (getTimer() - (this._time * 1000));
};
}
public function set FPS(_arg1:Number):void{
var _local2:Boolean;
_local2 = this.isPlaying;
this.stopEnterFrame();
this._fps = _arg1;
if (_local2){
this.startEnterFrame();
};
}
public function get finish():Number{
return ((this.begin + this.change));
}
public function get duration():Number{
return (this._duration);
}
protected function startEnterFrame():void{
var _local1:Number;
if (isNaN(this._fps)){
_mc.addEventListener(Event.ENTER_FRAME, this.onEnterFrame, false, 0, true);
} else {
_local1 = (1000 / this._fps);
this._timer.delay = _local1;
this._timer.addEventListener(TimerEvent.TIMER, this.timerHandler, false, 0, true);
this._timer.start();
};
this.isPlaying = true;
}
public function set time(_arg1:Number):void{
this.prevTime = this._time;
if (_arg1 > this.duration){
if (this.looping){
this.rewind((_arg1 - this._duration));
this.update();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_LOOP, this._time, this._position));
} else {
if (this.useSeconds){
this._time = this._duration;
this.update();
};
this.stop();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_FINISH, this._time, this._position));
};
} else {
if (_arg1 < 0){
this.rewind();
this.update();
} else {
this._time = _arg1;
this.update();
};
};
}
protected function stopEnterFrame():void{
if (isNaN(this._fps)){
_mc.removeEventListener(Event.ENTER_FRAME, this.onEnterFrame);
} else {
this._timer.stop();
};
this.isPlaying = false;
}
public function getPosition(_arg1:Number=NaN):Number{
if (isNaN(_arg1)){
_arg1 = this._time;
};
return (this.func(_arg1, this.begin, this.change, this._duration));
}
public function set finish(_arg1:Number):void{
this.change = (_arg1 - this.begin);
}
public function set duration(_arg1:Number):void{
this._duration = ((_arg1)<=0) ? Infinity : _arg1;
}
public function setPosition(_arg1:Number):void{
this.prevPos = this._position;
if (this.prop.length){
this.obj[this.prop] = (this._position = _arg1);
};
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_CHANGE, this._time, this._position));
}
public function resume():void{
this.fixTime();
this.startEnterFrame();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_RESUME, this._time, this._position));
}
public function fforward():void{
this.time = this._duration;
this.fixTime();
}
protected function onEnterFrame(_arg1:Event):void{
this.nextFrame();
}
public function get position():Number{
return (this.getPosition(this._time));
}
public function yoyo():void{
this.continueTo(this.begin, this.time);
}
public function nextFrame():void{
if (this.useSeconds){
this.time = ((getTimer() - this._startTime) / 1000);
} else {
this.time = (this._time + 1);
};
}
protected function timerHandler(_arg1:TimerEvent):void{
this.nextFrame();
_arg1.updateAfterEvent();
}
public function get FPS():Number{
return (this._fps);
}
public function rewind(_arg1:Number=0):void{
this._time = _arg1;
this.fixTime();
this.update();
}
public function set position(_arg1:Number):void{
this.setPosition(_arg1);
}
public function get time():Number{
return (this._time);
}
private function update():void{
this.setPosition(this.getPosition(this._time));
}
public function start():void{
this.rewind();
this.startEnterFrame();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_START, this._time, this._position));
}
public function prevFrame():void{
if (!this.useSeconds){
this.time = (this._time - 1);
};
}
}
}//package fl.transitions
Section 6
//TweenEvent (fl.transitions.TweenEvent)
package fl.transitions {
import flash.events.*;
public class TweenEvent extends Event {
public var time:Number;// = NAN
public var position:Number;// = NAN
public static const MOTION_START:String = "motionStart";
public static const MOTION_STOP:String = "motionStop";
public static const MOTION_LOOP:String = "motionLoop";
public static const MOTION_CHANGE:String = "motionChange";
public static const MOTION_FINISH:String = "motionFinish";
public static const MOTION_RESUME:String = "motionResume";
public function TweenEvent(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Boolean=false){
time = NaN;
position = NaN;
super(_arg1, _arg4, _arg5);
this.time = _arg2;
this.position = _arg3;
}
override public function clone():Event{
return (new TweenEvent(this.type, this.time, this.position, this.bubbles, this.cancelable));
}
}
}//package fl.transitions
Section 7
//adbut_2 (game_fla.adbut_2)
package game_fla {
import flash.display.*;
public dynamic class adbut_2 extends MovieClip {
public var adbut:SimpleButton;
}
}//package game_fla
Section 8
//gamemc_5 (game_fla.gamemc_5)
package game_fla {
import flash.display.*;
public dynamic class gamemc_5 extends MovieClip {
public var heromc:MovieClip;
public var targetmc:MovieClip;
}
}//package game_fla
Section 9
//heromc_8 (game_fla.heromc_8)
package game_fla {
import flash.display.*;
public dynamic class heromc_8 extends MovieClip {
public function heromc_8(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package game_fla
Section 10
//logo_14 (game_fla.logo_14)
package game_fla {
import flash.display.*;
public dynamic class logo_14 extends MovieClip {
public function logo_14(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package game_fla
Section 11
//MainTimeline (game_fla.MainTimeline)
package game_fla {
import flash.display.*;
import flash.events.*;
import CPMStar.*;
public dynamic class MainTimeline extends MovieClip {
public var ad:DisplayObject;
public var myPre:Preloader;
public var adBox:MovieClip;
public var mygame:Game;
public var movSplash:Splash;
public var adbut:MovieClip;
public var CPMStarSubPoolID:int;
public var CPMStarPoolID:int;
public function MainTimeline(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
public function splashEnterFrame(_arg1:Event){
if (movSplash.isComplete()){
movSplash.removeEventListener(Event.ENTER_FRAME, splashEnterFrame);
gotoAndStop(4);
};
}
function frame3(){
movSplash.addEventListener(Event.ENTER_FRAME, splashEnterFrame);
stop();
}
function frame1(){
myPre = new Preloader(this);
CPMStarPoolID = 1417;
CPMStarSubPoolID = 200;
ad = AdLoader.LoadAd(CPMStarPoolID, CPMStarSubPoolID);
adBox.addChild(ad);
stop();
}
function frame4(){
if (this.numChildren > 0){
this.removeChildAt(0);
};
mygame = new Game(this);
stop();
}
function frame2(){
this.addEventListener(MouseEvent.CLICK, clickHandler, false, 0, true);
stop();
}
public function clickHandler(_arg1:Event):void{
removeChild(this.adBox);
this.removeEventListener(MouseEvent.CLICK, clickHandler);
this.gotoAndStop(3);
}
}
}//package game_fla
Section 12
//menu_10 (game_fla.menu_10)
package game_fla {
import flash.display.*;
public dynamic class menu_10 extends MovieClip {
public var restartbut:MovieClip;
public var sc:Number;
public var scorebut:MovieClip;
public var logo:MovieClip;
public var movHiScores:HiScores;
public var startbut:MovieClip;
public function menu_10(){
addFrameScript(59, frame60, 114, frame115, 121, frame122, 125, frame126);
}
function frame115(){
stop();
}
function frame126(){
movHiScores.setDetails(70, 0, "shooot3", false, sc, sc.toString(), "points!");
stop();
}
function frame122(){
stop();
}
function frame60(){
sc = 0;
stop();
}
}
}//package game_fla
Section 13
//restartbut_12 (game_fla.restartbut_12)
package game_fla {
import flash.display.*;
public dynamic class restartbut_12 extends MovieClip {
public var restartbut:SimpleButton;
}
}//package game_fla
Section 14
//scorebut_13 (game_fla.scorebut_13)
package game_fla {
import flash.display.*;
public dynamic class scorebut_13 extends MovieClip {
public var scorebut:SimpleButton;
}
}//package game_fla
Section 15
//soundoptions_9 (game_fla.soundoptions_9)
package game_fla {
import flash.display.*;
public dynamic class soundoptions_9 extends MovieClip {
public function soundoptions_9(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package game_fla
Section 16
//sounds_mc_16 (game_fla.sounds_mc_16)
package game_fla {
import flash.display.*;
public dynamic class sounds_mc_16 extends MovieClip {
public function sounds_mc_16(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package game_fla
Section 17
//startbut_11 (game_fla.startbut_11)
package game_fla {
import flash.display.*;
public dynamic class startbut_11 extends MovieClip {
public var startbut:SimpleButton;
}
}//package game_fla
Section 18
//movEntryScreen_2 (HiScores_fla.movEntryScreen_2)
package HiScores_fla {
import flash.display.*;
import flash.text.*;
public dynamic class movEntryScreen_2 extends MovieClip {
public var txtName:TextField;
public var movCode:MovieClip;
public var txtMsg2:TextField;
public var btnRefreshCode:SimpleButton;
public var txtCode:TextField;
public var txtMsg1:TextField;
public var btnSubmit:SimpleButton;
}
}//package HiScores_fla
Section 19
//movInfoScreen_6 (HiScores_fla.movInfoScreen_6)
package HiScores_fla {
import flash.display.*;
import flash.text.*;
public dynamic class movInfoScreen_6 extends MovieClip {
public var btnView:SimpleButton;
public var txtInfo:TextField;
public var btnBack:SimpleButton;
}
}//package HiScores_fla
Section 20
//Bullet (Bullet)
package {
import flash.display.*;
public dynamic class Bullet extends MovieClip {
}
}//package
Section 21
//Game (Game)
package {
import flash.display.*;
import flash.events.*;
import fl.motion.easing.*;
import fl.transitions.*;
import flash.net.*;
import flash.geom.*;
import flash.filters.*;
public class Game {
private var ob;
private var mySoundsCh:Object;
public var myClip:mainGraphics;
private var gameOb:Object;
private var m:Number;
private var n:Number;
private var myParent;
private var myColors:Object;
private var ob2;
public function Game(_arg1:Sprite){
myParent = _arg1;
if (myParent.numChildren > 0){
myParent.removeChildAt(0);
};
prepareGame();
}
private function checkCircles():void{
var _local1:*;
var _local2:Number;
var _local3:Number;
n = 0;
for (_local1 in gameOb.allCircles) {
ob = gameOb.allCircles[_local1];
if (ob != null){
n++;
_local2 = (ob.spr.x - myClip.gamemc.heromc.x);
_local3 = (ob.spr.y - myClip.gamemc.heromc.y);
if ((((((ob.doing == "waiting")) && ((gameOb.heroHurt == 0)))) && ((Math.sqrt(((_local2 * _local2) + (_local3 * _local3))) < (gameOb.heroSize + (ob.spr.scaleX * ob.r)))))){
gameOb.lives--;
showText();
gameOb.heroHurt = (gameOb.newTime + gameOb.heroHurtTime);
addSound("s_hurt");
if (gameOb.lives <= 0){
gameOb.curCircleInWave = gameOb.curWave.length;
};
};
if (gameOb.newTime > ob.startTime){
if (ob.doing == "waiting"){
ob.myTween1 = new Tween(ob.spr, "scaleX", Bounce.easeOut, 1, 0.1, gameOb.timeTweenCircle, true);
ob.myTween2 = new Tween(ob.spr, "scaleY", Bounce.easeOut, 1, 0.1, gameOb.timeTweenCircle, true);
ob.doing = "going";
ob.startTime = (gameOb.newTime + (gameOb.timeTweenCircle * 1000));
} else {
if (ob.doing == "coming"){
ob.doing = "waiting";
ob.startTime = (gameOb.newTime + (gameOb.timeShowCircle * 1000));
} else {
if (ob.doing == "going"){
myClip.gamemc.removeChild(ob.spr);
gameOb.allCircles[_local1] = null;
gameOb.waveBonus = -100;
} else {
if (ob.doing == "dead"){
myClip.gamemc.removeChild(ob.spr);
gameOb.allCircles[_local1] = null;
};
};
};
};
};
};
};
if ((((n == 0)) && ((gameOb.curCircleInWave == gameOb.curWave.length)))){
gameOb.totalWaveCount++;
gameOb.wave = (gameOb.wave + rand(1, 4));
if (gameOb.wave > gameOb.waves.length){
gameOb.wave = (gameOb.wave - gameOb.waves.length);
gameOb.heroSpeed = (gameOb.heroSpeed + 0.025);
gameOb.timeMoveCircle = (gameOb.timeMoveCircle - 0.75);
};
if (gameOb.waveBullets > 0){
n = Math.floor(((100 * gameOb.waveBulletHits) / gameOb.waveBullets));
gameOb.score = (gameOb.score + n);
myClip.txt1.text = (("ACCURACY BONUS +" + n) + "\n");
};
if (gameOb.waveBonus > 0){
gameOb.score = (gameOb.score + ((gameOb.waveBonus * 10) * gameOb.totalWaveCount));
myClip.txt2.text = gameOb.score;
myClip.txt1.appendText(("FULL WAVE BONUS +" + ((gameOb.waveBonus * 10) * gameOb.totalWaveCount)));
addSound("s_fullwave");
};
setWave();
};
}
private function startGame():void{
if (myParent.numChildren > 1){
myParent.removeChildAt(1);
};
myParent.stage.focus = myClip;
gameOb.gameW = 580;
gameOb.gameH = 420;
gameOb.score = 0;
gameOb.wave = 1;
gameOb.waveCount = 0;
gameOb.totalWaveCount = 0;
myClip.gamemc.visible = true;
myClip.gamemc.scrollRect = new Rectangle(0, 0, gameOb.gameW, gameOb.gameH);
myClip.gamemc.heromc.x = (gameOb.gameW / 2);
myClip.gamemc.heromc.y = (gameOb.gameH / 2);
gameOb.bulletSpeed = 0.3;
gameOb.timeMoveCircle = 6;
gameOb.heroSpeed = 0.075;
gameOb.heroSize = 10;
gameOb.heroHurtTime = 3000;
gameOb.heroHurt = 0;
gameOb.lives = 3;
gameOb.heroTargetX = rand(gameOb.heroSize, (gameOb.gameW - gameOb.heroSize));
gameOb.heroTargetY = rand(gameOb.heroSize, (gameOb.gameH - gameOb.heroSize));
myClip.gamemc.targetmc.x = gameOb.heroTargetX;
myClip.gamemc.targetmc.y = gameOb.heroTargetY;
gameOb.curBullet = 0;
gameOb.allBullets = new Object();
gameOb.timeBetweenCircles = 100;
gameOb.timeBetweenWaves = 6000;
gameOb.timeTweenCircle = 1;
gameOb.timeShowCircle = 5;
gameOb.allCircles = new Object();
gameOb.curCircle = 0;
setWave();
myClip.gamemc.heromc.visible = true;
myClip.gamemc.targetmc.visible = true;
gameOb.gameStatus = "play";
gameOb.myDate = new Date();
gameOb.startTime = gameOb.myDate.getTime();
myClip.txt2.text = gameOb.score;
showText();
addLoop();
}
private function addSound(_arg1:String, _arg2:int=1):void{
var _local3:Class;
if (gameOb.sound == 2){
return;
};
mySoundsCh.soundCounter++;
if (mySoundsCh.soundCounter == 20){
mySoundsCh.soundCounter = 0;
};
_local3 = (myParent.loaderInfo.applicationDomain.getDefinition(_arg1) as Class);
mySoundsCh.sloop = new (_local3);
mySoundsCh[("s" + mySoundsCh.soundCounter)] = new (_local3);
mySoundsCh[("s" + mySoundsCh.soundCounter)].play(0, _arg2);
}
private function reStartGame():void{
myClip.menumc.restartbut.visible = false;
myClip.menumc.scorebut.visible = false;
myClip.menumc.gotoAndPlay(1);
gameOb.gameStatus = "start";
myClip.txt1.text = "";
myClip.txt2.text = "";
myClip.txt3.text = "";
gameOb.lives = 3;
addLoop();
}
private function addCircle():void{
var _local1:*;
var _local2:*;
gameOb.curCircle++;
if (gameOb.curCircle > 100){
gameOb.curCircle = 0;
};
_local1 = gameOb.curWave[gameOb.curCircleInWave];
if (_local1){
_local2 = _local1.toString();
} else {
_local2 = "";
};
if (_local2.charAt(0) == "r"){
gameOb.curRadius = Number(_local1.substr(1));
} else {
if (_local2.charAt(0) == "c"){
gameOb.curColor = myColors[_local1.substr(1)];
} else {
if (_local2.charAt(0) == "x"){
gameOb.curXstep = Number(_local1.substr(1));
} else {
if (_local2.charAt(0) == "y"){
gameOb.curYstep = Number(_local1.substr(1));
} else {
gameOb.circleTime = (gameOb.newTime + gameOb.timeBetweenCircles);
gameOb.allCircles[("b" + gameOb.curCircle)] = new Object();
ob = gameOb.allCircles[("b" + gameOb.curCircle)];
ob.spr = new Sprite();
ob.r = gameOb.curRadius;
ob.col = gameOb.curColor;
ob.spr.graphics.lineStyle(4, ob.col, 1, false, "none", CapsStyle.SQUARE, JointStyle.MITER, 3);
ob.spr.graphics.drawCircle(0, 0, ob.r);
if (gameOb.curColor == myColors.white){
ob.spr.x = rand(0, gameOb.gameW);
ob.spr.y = rand(0, gameOb.gameH);
} else {
if (gameOb.curWave[gameOb.curCircleInWave]){
ob.spr.x = gameOb.curWave[gameOb.curCircleInWave];
ob.spr.y = gameOb.curWave[(gameOb.curCircleInWave + 1)];
gameOb.curCircleInWave++;
} else {
ob.spr.x = (gameOb.lastCircleX + gameOb.curXstep);
ob.spr.y = (gameOb.lastCircleY + gameOb.curYstep);
};
};
gameOb.lastCircleX = ob.spr.x;
gameOb.lastCircleY = ob.spr.y;
ob.doing = "waiting";
ob.startTime = (gameOb.newTime + (gameOb.timeMoveCircle * 1000));
if (ob.spr.x < -(ob.r)){
ob.myTween1 = new Tween(ob.spr, "x", Linear.easeOut, ob.spr.x, (gameOb.gameW + ob.r), gameOb.timeMoveCircle, true);
} else {
if (ob.spr.y < -(ob.r)){
ob.myTween1 = new Tween(ob.spr, "y", Linear.easeOut, ob.spr.y, (gameOb.gameH + ob.r), gameOb.timeMoveCircle, true);
} else {
if (ob.spr.x > (gameOb.gameW + ob.r)){
ob.myTween1 = new Tween(ob.spr, "x", Linear.easeOut, ob.spr.x, -(ob.r), gameOb.timeMoveCircle, true);
} else {
if (ob.spr.y > (gameOb.gameH + ob.r)){
ob.myTween1 = new Tween(ob.spr, "y", Linear.easeOut, ob.spr.y, -(ob.r), gameOb.timeMoveCircle, true);
} else {
ob.myTween1 = new Tween(ob.spr, "scaleX", Bounce.easeOut, 0.1, 1, gameOb.timeTweenCircle, true);
ob.myTween2 = new Tween(ob.spr, "scaleY", Bounce.easeOut, 0.1, 1, gameOb.timeTweenCircle, true);
ob.startTime = (gameOb.newTime + (gameOb.timeTweenCircle * 1000));
ob.doing = "coming";
};
};
};
};
myClip.gamemc.addChild(ob.spr);
gameOb.waveBonus++;
if (gameOb.waveBonus == 1){
addSound("s_wave");
};
};
};
};
};
gameOb.curCircleInWave++;
}
private function addBullet():void{
var _local1:*;
if (gameOb.lives <= 0){
return;
};
gameOb.waveBullets++;
gameOb.curBullet++;
if (gameOb.curBullet > 100){
gameOb.curBullet = 0;
};
gameOb.allBullets[("b" + gameOb.curBullet)] = new Bullet();
ob = gameOb.allBullets[("b" + gameOb.curBullet)];
ob.dx = gameOb.dx;
ob.dy = gameOb.dy;
_local1 = Math.sqrt(((ob.dx * ob.dx) + (ob.dy * ob.dy)));
ob.dx = (ob.dx / _local1);
ob.dy = (ob.dy / _local1);
ob.rotation = myClip.gamemc.heromc.rotation;
ob.x2 = myClip.gamemc.heromc.x;
ob.y2 = myClip.gamemc.heromc.y;
ob.x = ob.x2;
ob.y = ob.y2;
myClip.gamemc.addChild(ob);
}
private function prepareGame(){
myClip = new mainGraphics();
myParent.stage.stageFocusRect = false;
gameOb = new Object();
gameOb.stageW = 600;
gameOb.stageH = 450;
myClip.focusRect = false;
myClip.soundoptions.buttonMode = true;
myClip.menumc.startbut.mouseEnabled = true;
myClip.menumc.startbut.visible = false;
myClip.menumc.restartbut.mouseEnabled = true;
myClip.menumc.restartbut.visible = false;
myClip.menumc.scorebut.mouseEnabled = true;
myClip.menumc.scorebut.visible = false;
myClip.gamemc.visible = false;
myClip.gamemc.mouseEnabled = false;
myClip.gamemc.mouseChildren = false;
myClip.txt1.text = "";
myClip.txt2.text = "";
myClip.txt3.text = "";
myClip.txt1.mouseEnabled = false;
myClip.txt2.mouseEnabled = false;
myClip.txt3.mouseEnabled = false;
myClip.x = (gameOb.stageW / 2);
myClip.y = (gameOb.stageH / 2);
myClip.gamemc.mouseEnabled = false;
myParent.addChild(myClip);
gameOb.gameStatus = "start";
gameOb.lives = 3;
myColors = new Object();
myColors.black = 0;
myColors.white = 0xFFFFFF;
myColors.red = 0xCC0000;
myColors.blue = 39423;
myColors.green = 52275;
myColors.yellow = 16777011;
myColors.purple = 16724991;
gameOb.waves = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22];
gameOb.wave1 = ["r40", "cred", "x0", "y50", 50, 60, undefined, undefined, undefined, undefined, undefined, undefined, 530, 60, undefined, undefined, undefined, undefined, undefined, undefined];
gameOb.wave2 = ["r10", "cblue", "x40", "y0", 20, -20, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, "x-40", 560, 440, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined];
gameOb.wave3 = ["r30", "cgreen", "x0", "y40", 100, 50, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, 480, 50, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined];
gameOb.wave4 = ["r50", "cwhite", "x0", "y0", undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined];
gameOb.wave5 = ["r20", "cyellow", "x0", "y30", 150, 60, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, 430, 60, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined];
gameOb.wave6 = ["r20", "cblue", "x50", "y0", 40, 60, undefined, undefined, undefined, undefined, "r40", undefined, "r20", undefined, undefined, undefined, undefined, undefined, 40, 360, undefined, undefined, undefined, undefined, "r40", undefined, "r20", undefined, undefined, undefined, undefined, undefined];
gameOb.wave7 = ["r40", "cred", "x0", "y50", -50, 60, undefined, undefined, undefined, undefined, undefined, undefined];
gameOb.wave8 = ["r10", "cpurple", "x30", "y0", 170, 90, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, "x0", "y30", undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, "x-30", "y0", undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, "x0", "y-30", undefined, undefined, undefined, undefined, undefined, undefined, undefined, "r60", 290, 210];
gameOb.wave9 = ["r30", "cgreen", "x20", "y-20", 290, 380, "r20", "cred", undefined, undefined, undefined, undefined, undefined, undefined, undefined, "r30", "cgreen", undefined, "x-20", "r20", "cred", undefined, undefined, undefined, undefined, undefined, undefined, undefined, "r30", "cgreen", undefined, "y20", "r20", "cred", undefined, undefined, undefined, undefined, undefined, undefined, undefined, "r30", "cgreen", undefined, "x20", "r20", "cred", undefined, undefined, undefined, undefined, undefined, undefined, undefined];
gameOb.wave10 = ["r40", "cwhite", "x0", "y0", undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined];
gameOb.wave11 = ["r30", "cyellow", "x29", "y21", 300, 210, "r28", undefined, "r26", undefined, "r24", undefined, "r22", undefined, "r20", undefined, undefined, undefined, undefined, undefined, "x29", "y-21", "r30", 300, 210, "r28", undefined, "r26", undefined, "r24", undefined, "r22", undefined, "r20", undefined, undefined, undefined, undefined, undefined, "x-29", "y21", "r30", 280, 210, "r28", undefined, "r26", undefined, "r24", undefined, "r22", undefined, "r20", undefined, undefined, undefined, undefined, undefined, "x-29", "y-21", "r30", 280, 210, "r28", undefined, "r26", undefined, "r24", undefined, "r22", undefined, "r20", undefined, undefined, undefined, undefined, undefined];
gameOb.wave12 = ["cblue", "x0", "y0", "r20", 290, 210, "r30", undefined, "r40", undefined, "r50", undefined, "r60", undefined, "r70", undefined, "r80", undefined, "r20", 190, 110, "r30", undefined, "r40", undefined, "r50", undefined, "r60", undefined, "r70", undefined, "r80", undefined, "r20", 390, 110, "r30", undefined, "r40", undefined, "r50", undefined, "r60", undefined, "r70", undefined, "r80", undefined, "r20", 390, 310, "r30", undefined, "r40", undefined, "r50", undefined, "r60", undefined, "r70", undefined, "r80", undefined, "r20", 190, 310, "r30", undefined, "r40", undefined, "r50", undefined, "r60", undefined, "r70", undefined, "r80", undefined];
gameOb.wave13 = ["r30", "cgreen", "x40", "y0", 30, -40, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined];
gameOb.wave14 = ["r80", "cpurple", "x290", "y0", 1, 1, undefined, undefined, 1, 420, undefined, undefined, 1, 210, undefined, undefined];
gameOb.wave15 = ["r40", "cred", "x0", "y50", 20, 20, undefined, "x10", "y40", undefined, undefined, "x20", "y30", undefined, undefined, "x30", "y20", undefined, undefined, "x40", "y10", undefined, undefined, "x50", "y0", undefined, undefined, "x40", "y-10", 0, 0, undefined, "x30", "y-20", undefined, undefined, "x20", "y-30", undefined, undefined, "x10", "y-40", undefined, undefined, "x0", "y-50", undefined, undefined];
gameOb.wave16 = ["r30", "cwhite", "x0", "y0", undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined];
gameOb.wave17 = ["r20", "cgreen", "x30", "y0", 20, 210, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, "x0", "y30", 290, 30, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined];
gameOb.wave18 = ["r15", "cyellow", "x20", "y0", 290, 210, undefined, undefined, undefined, "x0", "y20", undefined, undefined, undefined, "x-20", "y0", undefined, undefined, undefined, undefined, undefined, undefined, "x0", "y-20", undefined, undefined, undefined, undefined, undefined, undefined, "x20", "y0", undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, "x0", "y20", undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, "x-20", "y0", undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, "x0", "y-20", undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined];
gameOb.wave19 = ["r30", "cblue", "x-50", "y-10", 540, 360, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, "x50", undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, "x-50", undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined];
gameOb.wave20 = ["r50", "cpurple", "x5", "y5", 190, 110, undefined, undefined, undefined, undefined, undefined, "x-5", "y5", 390, 110, undefined, undefined, undefined, undefined, undefined, "x5", "y-5", 190, 310, undefined, undefined, undefined, undefined, undefined, "x-5", "y-5", 390, 310, undefined, undefined, undefined, undefined, undefined];
gameOb.wave21 = ["r20", "cblue", "x0", "y60", -30, 30, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, "cpurple", "y-60", 610, 360, undefined, undefined, undefined, undefined, undefined];
gameOb.wave22 = ["r20", "cred", "x0", "y45", 425, 210, undefined, "r30", "cyellow", "x-15", "y30", undefined, undefined, "r20", "cred", "x-30", "y15", undefined, undefined, "r30", "cyellow", "x-45", "y0", undefined, undefined, "r20", "cred", "x-30", "y-15", undefined, undefined, "r30", "cyellow", "x-15", "y-30", undefined, undefined, "r20", "cred", "x0", "y-45", undefined, undefined, "r30", "cyellow", "x15", "y-30", undefined, undefined, "r20", "cred", "x30", "y-15", undefined, undefined, "r30", "cyellow", "x45", "y0", undefined, undefined, "r20", "cred", "x30", "y15", undefined, undefined, "r30", "cyellow", "x15", "y30", undefined, undefined];
mySoundsCh = new Object();
mySoundsCh.soundCounter = 0;
gameOb.sound = 1;
readso();
addLoop();
myClip.soundoptions.gotoAndStop(gameOb.sound);
myClip.addEventListener(MouseEvent.MOUSE_DOWN, mclick, false, 0, true);
myClip.addEventListener(Event.ENTER_FRAME, runGame, false, 0, true);
}
private function runGame(_arg1:Event):void{
gameOb.myDate = new Date();
gameOb.newTime = gameOb.myDate.getTime();
gameOb.timeFrame = (gameOb.newTime - gameOb.startTime);
if (gameOb.timeFrame > 100){
gameOb.startTime = gameOb.newTime;
return;
};
if (((((!((myParent.stage.focus == myClip))) && (!((gameOb.gameStatus == "showAd"))))) && (!((gameOb.gameStatus == "gameover"))))){
myParent.stage.focus = myClip;
};
if (gameOb.gameStatus == "start"){
if (myClip.menumc.currentFrame == 60){
myClip.menumc.startbut.visible = true;
myClip.menumc.logo.gotoAndStop(2);
};
return;
} else {
if (gameOb.gameStatus == "startanim"){
if (myClip.menumc.currentFrame == 115){
startGame();
};
return;
} else {
if ((((gameOb.gameStatus == "gameover")) || ((gameOb.gameStatus == "showAd")))){
return;
};
};
};
rotateHero();
moveBullets();
checkCircles();
if ((((gameOb.newTime > gameOb.circleTime)) && ((gameOb.curCircleInWave < gameOb.curWave.length)))){
addCircle();
myClip.txt1.text = ("WAVE " + gameOb.waveCount);
};
gameOb.startTime = gameOb.newTime;
}
private function rand(_arg1:Number, _arg2:Number):Number{
var _local3:*;
_local3 = (_arg1 + Math.floor((Math.random() * (_arg2 - _arg1))));
return (_local3);
}
private function dotProduct(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Number{
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
_local7 = (_arg2 - _arg1);
_local8 = (_arg5 - _arg4);
_local9 = (_arg3 - _arg2);
_local10 = (_arg6 - _arg5);
_local11 = ((_local7 * _local9) + (_local8 * _local10));
return (_local11);
}
private function moveBullets():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:*;
var _local5:*;
var _local6:Number;
_local1 = 0;
_local2 = 0;
_local3 = 0;
for (_local4 in gameOb.allBullets) {
ob = gameOb.allBullets[_local4];
if (ob != null){
ob.x1 = ob.x2;
ob.y1 = ob.y2;
ob.vx = ((ob.dx * gameOb.bulletSpeed) * gameOb.timeFrame);
ob.vy = ((ob.dy * gameOb.bulletSpeed) * gameOb.timeFrame);
ob.dist = Math.sqrt(((ob.vy * ob.vy) + (ob.vx * ob.vx)));
ob.x2 = (ob.x1 + ob.vx);
ob.y2 = (ob.y1 + ob.vy);
ob.x = ob.x2;
ob.y = ob.y2;
if ((((((((ob.x2 < -10)) || ((ob.x2 > (gameOb.gameW + 10))))) || ((ob.y2 < -10)))) || ((ob.y2 > (gameOb.gameH + 10))))){
myClip.gamemc.removeChild(ob);
gameOb.allBullets[_local4] = null;
} else {
for (_local5 in gameOb.allCircles) {
ob2 = gameOb.allCircles[_local5];
if (((((!((ob2 == null))) && (!((ob == null))))) && (!((ob2.doing == "dead"))))){
_local6 = dotProduct(ob.x1, ob.x2, ob2.spr.x, ob.y1, ob.y2, ob2.spr.y);
if (_local6 > 0){
_local1 = (ob2.spr.x - ob.x2);
_local2 = (ob2.spr.y - ob.y2);
_local3 = Math.sqrt(((_local2 * _local2) + (_local1 * _local1)));
} else {
_local6 = dotProduct(ob.x2, ob.x1, ob2.spr.x, ob.y2, ob.y1, ob2.spr.y);
if (_local6 > 0){
_local1 = (ob2.spr.x - ob.x1);
_local2 = (ob2.spr.y - ob.y1);
_local3 = Math.sqrt(((_local2 * _local2) + (_local1 * _local1)));
} else {
_local1 = (ob2.spr.x - ob.x1);
_local2 = (ob2.spr.y - ob.y1);
_local3 = (Math.abs(((ob.vx * _local2) - (ob.vy * _local1))) / ob.dist);
};
};
if (_local3 < ((ob2.spr.scaleX * ob2.r) + 2)){
myClip.gamemc.removeChild(ob);
gameOb.allBullets[_local4] = null;
ob = null;
gameOb.score = (gameOb.score + (100 - ob2.r));
myClip.txt2.text = gameOb.score;
gameOb.waveBulletHits++;
ob2.doing = "dead";
ob2.myTween1 = new Tween(ob2.spr, "scaleX", Elastic.easeOut, ob2.spr.scaleX, 5, gameOb.timeTweenCircle, true);
ob2.myTween2 = new Tween(ob2.spr, "scaleY", Elastic.easeOut, ob2.spr.scaleY, 5, gameOb.timeTweenCircle, true);
ob2.myTween3 = new Tween(ob2.spr, "alpha", Linear.easeNone, 1, 0, gameOb.timeTweenCircle, true);
ob2.startTime = (gameOb.newTime + (gameOb.timeTweenCircle * 1000));
ob2 = null;
addSound("s_hit");
};
};
};
};
};
};
}
private function showText():void{
var _local1:*;
_local1 = "";
n = 0;
while (n < gameOb.lives) {
_local1 = (_local1 + "0 ");
n++;
};
myClip.txt3.text = _local1;
}
private function setWave():void{
gameOb.curWave = gameOb[("wave" + gameOb.wave)];
gameOb.curCircleInWave = 0;
gameOb.circleTime = (gameOb.newTime + (gameOb.timeBetweenWaves / 2));
gameOb.waveBonus = 0;
gameOb.waveBullets = 0;
gameOb.waveBulletHits = 0;
gameOb.waveCount++;
if (gameOb.lives <= 0){
addLoop();
endGame();
};
}
private function soundLoop(_arg1:Event):void{
addLoop();
}
private function saveso():void{
var _local1:SharedObject;
_local1 = SharedObject.getLocal("shooot3");
_local1.clear();
_local1.data.sound = gameOb.sound;
_local1.flush();
}
private function readso(){
var _local1:SharedObject;
_local1 = SharedObject.getLocal("shooot3");
if (_local1.data.sound != null){
gameOb.sound = _local1.data.sound;
myClip.soundoptions.gotoAndStop(gameOb.sound);
};
}
private function endGame():void{
myClip.txt1.text = "";
myClip.txt2.text = "";
myClip.txt3.text = "";
myClip.menumc.gotoAndPlay(120);
myClip.gamemc.visible = false;
gameOb.gameStatus = "gameover";
myClip.menumc.restartbut.visible = true;
myClip.menumc.scorebut.visible = true;
myClip.menumc.sc = gameOb.score;
}
private function rotateHero():void{
var _local1:BitmapFilter;
var _local2:Array;
gameOb.dx = (gameOb.heroTargetX - myClip.gamemc.heromc.x);
gameOb.dy = (gameOb.heroTargetY - myClip.gamemc.heromc.y);
gameOb.totalDist = Math.sqrt(((gameOb.dy * gameOb.dy) + (gameOb.dx * gameOb.dx)));
if (gameOb.totalDist > ((gameOb.heroSpeed * gameOb.timeFrame) + 10)){
gameOb.dx = (gameOb.dx / gameOb.totalDist);
gameOb.dy = (gameOb.dy / gameOb.totalDist);
myClip.gamemc.heromc.x = (myClip.gamemc.heromc.x + ((gameOb.dx * gameOb.heroSpeed) * gameOb.timeFrame));
myClip.gamemc.heromc.y = (myClip.gamemc.heromc.y + ((gameOb.dy * gameOb.heroSpeed) * gameOb.timeFrame));
} else {
gameOb.heroTargetX = rand(gameOb.heroSize, (gameOb.gameW - gameOb.heroSize));
gameOb.heroTargetY = rand(gameOb.heroSize, (gameOb.gameH - gameOb.heroSize));
myClip.gamemc.targetmc.x = gameOb.heroTargetX;
myClip.gamemc.targetmc.y = gameOb.heroTargetY;
};
gameOb.dx = (myClip.gamemc.mouseX - myClip.gamemc.heromc.x);
gameOb.dy = (myClip.gamemc.mouseY - myClip.gamemc.heromc.y);
myClip.gamemc.heromc.rotation = ((180 * Math.atan2(gameOb.dy, gameOb.dx)) / Math.PI);
if (gameOb.heroHurt != 0){
if (gameOb.lives <= 0){
myClip.gamemc.heromc.visible = false;
myClip.gamemc.targetmc.visible = false;
myClip.gamemc.heromc.filters = new Array();
} else {
if (gameOb.heroHurt > gameOb.newTime){
_local1 = new BlurFilter(((gameOb.heroHurt - gameOb.newTime) / 100), ((gameOb.heroHurt - gameOb.newTime) / 100), BitmapFilterQuality.HIGH);
_local2 = new Array(_local1);
myClip.gamemc.heromc.filters = _local2;
} else {
gameOb.heroHurt = 0;
myClip.gamemc.heromc.filters = new Array();
};
};
};
}
private function mclick(_arg1:MouseEvent):void{
if (_arg1.target.name == "startbut"){
if (gameOb.gameStatus == "start"){
myClip.menumc.gotoAndPlay(61);
gameOb.gameStatus = "startanim";
myClip.menumc.logo.gotoAndStop(1);
myClip.menumc.startbut.visible = false;
addLoop();
};
} else {
if (_arg1.target.name == "tony"){
navigateToURL(new URLRequest("http://www.tonypa.pri.ee"), "_blank");
} else {
if (_arg1.target.name == "kevin"){
navigateToURL(new URLRequest("http://www.incompetech.com"), "_blank");
} else {
if (_arg1.target.name == "soundoptions"){
gameOb.sound = (1 + (gameOb.sound % 2));
myClip.soundoptions.gotoAndStop(gameOb.sound);
saveso();
addLoop();
} else {
if (_arg1.target.name == "restartbut"){
reStartGame();
} else {
if (_arg1.target.name == "scorebut"){
myClip.menumc.gotoAndPlay(123);
myClip.menumc.scorebut.visible = false;
} else {
if (gameOb.gameStatus == "play"){
addBullet();
};
};
};
};
};
};
};
}
private function addLoop():void{
var _local1:*;
var _local2:Class;
var _local3:String;
if (mySoundsCh.channel != null){
mySoundsCh.channel.stop();
mySoundsCh.channel.removeEventListener(Event.SOUND_COMPLETE, soundLoop);
};
if ((((gameOb.sound == 2)) || ((gameOb.gameStatus == "showAd")))){
return;
};
_local1 = 1;
if (gameOb.gameStatus == "startanim"){
_local3 = "mustart";
} else {
if (gameOb.lives <= 0){
_local3 = "muend";
} else {
if (gameOb.gameStatus == "start"){
_local3 = ("mu" + rand(1, 4));
_local1 = 4;
} else {
_local3 = ("mu" + rand(1, 14));
_local1 = 4;
};
};
};
_local2 = (myParent.loaderInfo.applicationDomain.getDefinition(_local3) as Class);
mySoundsCh.sloop = new (_local2);
mySoundsCh.channel = mySoundsCh.sloop.play(0, _local1);
if ((((gameOb.lives > 0)) && (!((gameOb.gameStatus == "startanim"))))){
mySoundsCh.channel.addEventListener(Event.SOUND_COMPLETE, soundLoop, false, 0, true);
};
}
}
}//package
Section 22
//HiScores (HiScores)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class HiScores extends MovieClip {
private var KEY:String;// = "rocket"
private var score:Number;
private var lowIsBest:Boolean;
private var gameId:Number;
private var infoScreen:MovieClip;// = null
public var movEntryScreen:MovieClip;
private var levelId:Number;
private var entryScreen:MovieClip;// = null
public var movInfoScreen:MovieClip;
private var gameCode:String;
public static var HS_SERVLET_URL:String = (SERVER_URL + "/servlet/hiServlet");
public static var SERVER_URL:String = "http://www.gimme5games.com";
public static var INDEX_URL:String = (SERVER_URL + "/index.jsp?id=");
public function HiScores(){
KEY = "rocket";
infoScreen = null;
entryScreen = null;
super();
this.visible = false;
}
public function secCodeLoad():void{
var _local1:Loader;
var _local2:String;
_local1 = new Loader();
_local1.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, secCodeLoadError);
_local2 = ((HS_SERVLET_URL + "?type=genCode&cachebuster=") + new Date().getTime());
_local1.load(new URLRequest(_local2));
entryScreen["movCode"].addChild(_local1);
}
public function submitDetails():void{
var _local1:Boolean;
var _local2:String;
var _local3:String;
var _local4:Number;
var _local5:Number;
var _local6:URLVariables;
var _local7:URLRequest;
var _local8:URLLoader;
entryScreen.visible = false;
infoScreen.visible = true;
_local1 = true;
if (entryScreen["txtName"].text.length == 0){
showInfoMessage("Please enter your name.", true);
} else {
if (entryScreen["txtCode"].text.length != 5){
showInfoMessage("Please enter all 5 letters of the security code.", true);
} else {
showInfoMessage("Submitting hi-score details to the server, please wait.", true);
infoScreen["btnBack"].visible = false;
_local1 = false;
};
};
if (!_local1){
_local2 = ((((((((("save|" + entryScreen["txtName"].text) + "|") + entryScreen["txtCode"].text) + "|") + score) + "|") + gameId) + "|") + levelId);
_local3 = "";
_local4 = 0;
_local5 = 0;
while (_local4 < _local2.length) {
if (_local5 >= KEY.length){
_local5 = 0;
};
_local3 = (_local3 + String.fromCharCode(((_local2.charCodeAt(_local4) ^ KEY.charCodeAt(_local5)) + 1)));
_local4++;
_local5++;
};
_local6 = new URLVariables();
_local6.ffdata = _local3;
_local6.lowIsBest = lowIsBest;
_local7 = new URLRequest(HS_SERVLET_URL);
_local8 = new URLLoader();
_local8.dataFormat = URLLoaderDataFormat.VARIABLES;
_local7.data = _local6;
_local7.method = URLRequestMethod.POST;
_local8.addEventListener(Event.COMPLETE, submitHiScoreHandler);
_local8.addEventListener(IOErrorEvent.IO_ERROR, submitHiScoreError);
_local8.load(_local7);
};
}
public function back():void{
entryScreen.visible = true;
infoScreen.visible = false;
}
public function submitHiScoreHandler(_arg1:Event):void{
var _local2:URLLoader;
var _local3:Number;
_local2 = URLLoader(_arg1.target);
_local3 = _local2.data.res;
if (_local3 == -1){
showInfoMessage("Could not store hi-score details. Click on back, generate a new security code and re-submit.", true);
} else {
if (_local3 == 0){
showInfoMessage("Sorry, a better score already exists with that name.", false);
} else {
if (_local3 == 1){
showInfoMessage("Congratulations! You made it into the\nhi-score table.", false);
};
};
};
}
public function showInfoMessage(_arg1:String, _arg2:Boolean):void{
infoScreen["txtInfo"].text = _arg1;
infoScreen["btnBack"].visible = _arg2;
infoScreen["btnView"].visible = !(_arg2);
}
public function secCodeLoadError(_arg1:IOErrorEvent):void{
entryScreen.visible = false;
infoScreen.visible = true;
showInfoMessage("Could not generate a security code. Click on back and try to refresh the code window.", true);
}
public function setDetails(_arg1:Number, _arg2:Number, _arg3:String, _arg4:Boolean, _arg5:Number, _arg6:String, _arg7:String):void{
this.gameId = _arg1;
this.levelId = _arg2;
this.gameCode = _arg3;
this.lowIsBest = _arg4;
this.score = _arg5;
this.entryScreen = this["movEntryScreen"];
this.infoScreen = this["movInfoScreen"];
entryScreen["txtMsg1"].text = _arg6;
entryScreen["txtMsg2"].text = _arg7;
entryScreen["txtName"].text = "";
entryScreen["txtCode"].text = "";
entryScreen.visible = true;
infoScreen.visible = false;
secCodeLoad();
entryScreen["btnRefreshCode"].addEventListener(MouseEvent.MOUSE_DOWN, onButtonPress);
entryScreen["btnSubmit"].addEventListener(MouseEvent.MOUSE_DOWN, onButtonPress);
infoScreen["btnView"].addEventListener(MouseEvent.MOUSE_DOWN, onButtonPress);
infoScreen["btnBack"].addEventListener(MouseEvent.MOUSE_DOWN, onButtonPress);
this.visible = true;
}
public function submitHiScoreError(_arg1:IOErrorEvent):void{
showInfoMessage("A serious problem was encountered with the server, please try again in a few minutes.", true);
}
public function onButtonPress(_arg1:MouseEvent):void{
switch (_arg1.target.name){
case "btnRefreshCode":
secCodeLoad();
break;
case "btnSubmit":
submitDetails();
break;
case "btnView":
viewScore();
break;
case "btnBack":
back();
break;
};
}
public function viewScore():void{
var _local1:URLRequest;
_local1 = new URLRequest(((((((((INDEX_URL + gameCode) + "_hs") + "&name=") + entryScreen["txtName"].text) + "&levelId=") + levelId) + "&cachebuster=") + new Date().getTime()));
navigateToURL(_local1, "_blank");
}
}
}//package
Section 23
//mainGraphics (mainGraphics)
package {
import flash.display.*;
import flash.text.*;
public dynamic class mainGraphics extends MovieClip {
public var gamemc:MovieClip;
public var menumc:MovieClip;
public var kevin:SimpleButton;
public var tony:SimpleButton;
public var soundoptions:MovieClip;
public var txt1:TextField;
public var txt2:TextField;
public var txt3:TextField;
public function mainGraphics(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 24
//mu1 (mu1)
package {
import flash.media.*;
public dynamic class mu1 extends Sound {
}
}//package
Section 25
//mu10 (mu10)
package {
import flash.media.*;
public dynamic class mu10 extends Sound {
}
}//package
Section 26
//mu11 (mu11)
package {
import flash.media.*;
public dynamic class mu11 extends Sound {
}
}//package
Section 27
//mu12 (mu12)
package {
import flash.media.*;
public dynamic class mu12 extends Sound {
}
}//package
Section 28
//mu13 (mu13)
package {
import flash.media.*;
public dynamic class mu13 extends Sound {
}
}//package
Section 29
//mu2 (mu2)
package {
import flash.media.*;
public dynamic class mu2 extends Sound {
}
}//package
Section 30
//mu3 (mu3)
package {
import flash.media.*;
public dynamic class mu3 extends Sound {
}
}//package
Section 31
//mu4 (mu4)
package {
import flash.media.*;
public dynamic class mu4 extends Sound {
}
}//package
Section 32
//mu5 (mu5)
package {
import flash.media.*;
public dynamic class mu5 extends Sound {
}
}//package
Section 33
//mu6 (mu6)
package {
import flash.media.*;
public dynamic class mu6 extends Sound {
}
}//package
Section 34
//mu7 (mu7)
package {
import flash.media.*;
public dynamic class mu7 extends Sound {
}
}//package
Section 35
//mu8 (mu8)
package {
import flash.media.*;
public dynamic class mu8 extends Sound {
}
}//package
Section 36
//mu9 (mu9)
package {
import flash.media.*;
public dynamic class mu9 extends Sound {
}
}//package
Section 37
//muend (muend)
package {
import flash.media.*;
public dynamic class muend extends Sound {
}
}//package
Section 38
//mustart (mustart)
package {
import flash.media.*;
public dynamic class mustart extends Sound {
}
}//package
Section 39
//Preloader (Preloader)
package {
import flash.display.*;
import flash.events.*;
public class Preloader {
private var stageH:Number;
private var lb:Sprite;
private var stageW:Number;
private var myColors:Object;
private var myParent;
public function Preloader(_arg1:Sprite){
myParent = _arg1;
prepareGame();
}
private function prepareGame(){
stageW = 600;
stageH = 450;
myColors = new Object();
myColors.white = 0xFFFFFF;
myColors.black = 0;
myParent.loaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress, false, 0, true);
myParent.loaderInfo.addEventListener(Event.COMPLETE, loadDone, false, 0, true);
lb = new Sprite();
lb.y = ((stageH / 2) - 5);
lb.y = 400;
lb.x = ((stageW / 2) - 50);
myParent.addChild(lb);
}
private function loadProgress(_arg1:ProgressEvent):void{
var _local2:Number;
_local2 = (_arg1.bytesLoaded / _arg1.bytesTotal);
lb.graphics.clear();
lb.graphics.lineStyle(2, myColors.white, 1, true, "none", null, null, 3);
lb.graphics.drawRect(0, 0, 100, 10);
lb.graphics.beginFill(myColors.white);
lb.graphics.drawRect(0, 0, (_local2 * 100), 10);
}
private function loadDone(_arg1:Event):void{
myParent.removeChild(lb);
myParent.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, loadProgress);
myParent.loaderInfo.removeEventListener(Event.COMPLETE, loadDone);
myParent.gotoAndStop(2);
}
}
}//package
Section 40
//s_fullwave (s_fullwave)
package {
import flash.media.*;
public dynamic class s_fullwave extends Sound {
}
}//package
Section 41
//s_hit (s_hit)
package {
import flash.media.*;
public dynamic class s_hit extends Sound {
}
}//package
Section 42
//s_hurt (s_hurt)
package {
import flash.media.*;
public dynamic class s_hurt extends Sound {
}
}//package
Section 43
//s_wave (s_wave)
package {
import flash.media.*;
public dynamic class s_wave extends Sound {
}
}//package
Section 44
//sndSlap (sndSlap)
package {
import flash.media.*;
public dynamic class sndSlap extends Sound {
}
}//package
Section 45
//Splash (Splash)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class Splash extends MovieClip {
public var hand:MovieClip;
public var btnUrl:SimpleButton;
public static var SERVER_URL:String = "http://www.gimme5games.com";
public function Splash(){
this.addEventListener(Event.ENTER_FRAME, splashEnterFrame);
this["btnUrl"].addEventListener(MouseEvent.MOUSE_DOWN, onButtonPress);
}
public function splashEnterFrame(_arg1:Event):void{
if (this.currentFrame == this.totalFrames){
this.removeEventListener(Event.ENTER_FRAME, splashEnterFrame);
this.stop();
};
}
public function isComplete():Boolean{
return ((this.currentFrame == this.totalFrames));
}
public function onButtonPress(_arg1:MouseEvent):void{
var _local2:URLRequest;
switch (_arg1.target.name){
case "btnUrl":
_local2 = new URLRequest(SERVER_URL);
navigateToURL(_local2, "_blank");
break;
};
}
}
}//package