Section 1
//bonusBG_73 (StarShotC_MaxGames_fla.bonusBG_73)
package StarShotC_MaxGames_fla {
import flash.display.*;
import flash.events.*;
public dynamic class bonusBG_73 extends MovieClip {
public function bonusBG_73(){
addFrameScript(0, frame1);
}
function frame1(){
addEventListener(Event.ENTER_FRAME, Tick, false, 0, true);
gotoAndStop(1);
}
public function Tick(_arg1:Event):void{
if (Game(parent).slowDown){
gotoAndStop(2);
} else {
gotoAndStop(1);
};
}
}
}//package StarShotC_MaxGames_fla
Section 2
//btnind_39 (StarShotC_MaxGames_fla.btnind_39)
package StarShotC_MaxGames_fla {
import flash.display.*;
public dynamic class btnind_39 extends MovieClip {
public function btnind_39(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package StarShotC_MaxGames_fla
Section 3
//flood_74 (StarShotC_MaxGames_fla.flood_74)
package StarShotC_MaxGames_fla {
import flash.display.*;
import flash.events.*;
public dynamic class flood_74 extends MovieClip {
public function flood_74(){
addFrameScript(0, frame1);
}
function frame1(){
addEventListener(Event.ENTER_FRAME, Tick, false, 0, true);
visible = false;
alpha = 0;
}
public function Tick(_arg1:Event):void{
if (Game(parent).slowDown){
visible = true;
if (alpha < 0.8){
alpha = (alpha + 0.1);
};
} else {
visible = false;
alpha = 0;
};
}
}
}//package StarShotC_MaxGames_fla
Section 4
//flood2lgt_75 (StarShotC_MaxGames_fla.flood2lgt_75)
package StarShotC_MaxGames_fla {
import flash.display.*;
import flash.events.*;
public dynamic class flood2lgt_75 extends MovieClip {
public function flood2lgt_75(){
addFrameScript(0, frame1);
}
function frame1(){
addEventListener(Event.ENTER_FRAME, Tick, false, 0, true);
visible = false;
alpha = 0;
}
public function Tick(_arg1:Event):void{
if (Game(parent).slowDown){
visible = true;
if (alpha < 0.95){
alpha = (alpha + 0.01);
};
} else {
visible = false;
alpha = 0;
};
}
}
}//package StarShotC_MaxGames_fla
Section 5
//logo1_33 (StarShotC_MaxGames_fla.logo1_33)
package StarShotC_MaxGames_fla {
import flash.display.*;
import flash.events.*;
public dynamic class logo1_33 extends MovieClip {
public var vy;
public function logo1_33(){
addFrameScript(0, frame1);
}
public function clicked(_arg1:MouseEvent):void{
vy = 0.05;
}
function frame1(){
addEventListener(Event.ENTER_FRAME, tick, false, 0, true);
addEventListener(MouseEvent.CLICK, clicked, false, 0, true);
vy = 0;
}
public function tick(_arg1:Event):void{
vy = (vy + ((scaleY - 1) / 100));
scaleY = (scaleY - vy);
scaleX = scaleY;
vy = (vy * 0.95);
}
}
}//package StarShotC_MaxGames_fla
Section 6
//MainTimeline (StarShotC_MaxGames_fla.MainTimeline)
package StarShotC_MaxGames_fla {
import flash.display.*;
public dynamic class MainTimeline extends MovieClip {
public var _mochiads_game_id:String;
public function MainTimeline(){
addFrameScript(0, frame1, 2, frame3);
}
function frame3(){
stop();
_mochiads_game_id = "519d45eb50c4d751";
}
function frame1(){
stop();
}
}
}//package StarShotC_MaxGames_fla
Section 7
//maxBut1_88 (StarShotC_MaxGames_fla.maxBut1_88)
package StarShotC_MaxGames_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.external.*;
public dynamic class maxBut1_88 extends MovieClip {
public var link:String;
public function maxBut1_88(){
addFrameScript(0, frame1);
}
function frame1(){
link = "http://www.maxgames.com/";
addEventListener(MouseEvent.CLICK, onClick, false, 0, true);
}
public function onClick(_arg1:MouseEvent):void{
var event = _arg1;
try {
ExternalInterface.call("window.open", link, "_blank", "");
} catch(error:Error) {
navigateToURL(new URLRequest(link), "_blank");
};
}
}
}//package StarShotC_MaxGames_fla
Section 8
//MaxButMenu_36 (StarShotC_MaxGames_fla.MaxButMenu_36)
package StarShotC_MaxGames_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.external.*;
public dynamic class MaxButMenu_36 extends MovieClip {
public var link:String;
public function MaxButMenu_36(){
addFrameScript(0, frame1);
}
function frame1(){
link = "http://www.maxgames.com/";
addEventListener(MouseEvent.CLICK, onClick, false, 0, true);
}
public function onClick(_arg1:MouseEvent):void{
var event = _arg1;
try {
ExternalInterface.call("window.open", link, "_blank", "");
} catch(error:Error) {
navigateToURL(new URLRequest(link), "_blank");
};
}
}
}//package StarShotC_MaxGames_fla
Section 9
//MaxGames_LOAD_Loader_1 (StarShotC_MaxGames_fla.MaxGames_LOAD_Loader_1)
package StarShotC_MaxGames_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.text.*;
import flash.external.*;
public dynamic class MaxGames_LOAD_Loader_1 extends MovieClip {
public var link:String;
public var loadLeft:TextField;
public var playB:SimpleButton;
public var loadBar:MovieClip;
public var sitelink:SimpleButton;
public function MaxGames_LOAD_Loader_1(){
addFrameScript(0, frame1, 20, frame21, 25, frame26, 38, frame39, 39, frame40);
}
public function playRoot(_arg1:MouseEvent){
MovieClip(parent).gotoAndStop(2);
}
public function loading(_arg1:Event):void{
if (loaderInfo){
if ((loaderInfo.bytesLoaded / loaderInfo.bytesTotal) >= 1){
removeEventListener(Event.ENTER_FRAME, loading);
play();
} else {
loadLeft.text = String((Math.ceil(((loaderInfo.bytesTotal - loaderInfo.bytesLoaded) / 100000)) / 10));
loadBar.scaleX = (loaderInfo.bytesLoaded / loaderInfo.bytesTotal);
};
};
}
function frame1(){
stop();
MovieClip(parent).stop();
addEventListener(Event.ENTER_FRAME, loading);
link = "http://www.maxgames.com/";
sitelink.addEventListener(MouseEvent.CLICK, onClick, false, 0, true);
}
function frame26(){
}
function frame21(){
playB.addEventListener(MouseEvent.CLICK, playRoot, false, 0, true);
}
function frame40(){
stop();
}
function frame39(){
stop();
}
public function onClick(_arg1:MouseEvent):void{
var event = _arg1;
try {
ExternalInterface.call("window.open", link, "_blank", "");
} catch(error:Error) {
navigateToURL(new URLRequest(link), "_blank");
};
}
}
}//package StarShotC_MaxGames_fla
Section 10
//MaxGames_MAXLOGOINTRO1_16 (StarShotC_MaxGames_fla.MaxGames_MAXLOGOINTRO1_16)
package StarShotC_MaxGames_fla {
import flash.display.*;
public dynamic class MaxGames_MAXLOGOINTRO1_16 extends MovieClip {
public function MaxGames_MAXLOGOINTRO1_16(){
addFrameScript(0, frame1, 521, frame522);
}
function frame1(){
MovieClip(parent).stop();
}
function frame522(){
MovieClip(parent).gotoAndStop(3);
}
}
}//package StarShotC_MaxGames_fla
Section 11
//Symbol3_71 (StarShotC_MaxGames_fla.Symbol3_71)
package StarShotC_MaxGames_fla {
import flash.display.*;
public dynamic class Symbol3_71 extends MovieClip {
public function Symbol3_71(){
addFrameScript(18, frame19);
}
function frame19(){
stop();
}
}
}//package StarShotC_MaxGames_fla
Section 12
//Barrel (Barrel)
package {
public class Barrel extends GamePeg {
public function Barrel(){
radius = 21;
bounce = 1.2;
hitCount = 10;
}
override public function hit(_arg1:Boolean=true):void{
game.sfx.bonk();
}
}
}//package
Section 13
//Blast (Blast)
package {
public class Blast {
public var vx:Number;
public var vy:Number;
public var game:Game;
public var x:Number;
public var y:Number;
public var life:Number;
public function Blast(_arg1, _arg2, _arg3, _arg4){
game = _arg4;
x = _arg1;
y = _arg2;
life = _arg3;
game.fx.blasts.push(this);
}
public function Tick():void{
life = (life - 3);
if (life <= 0){
game.fx.removeBlast(this);
};
}
}
}//package
Section 14
//blast1 (blast1)
package {
import flash.media.*;
public dynamic class blast1 extends Sound {
}
}//package
Section 15
//blastActor (blastActor)
package {
import flash.display.*;
public dynamic class blastActor extends MovieClip {
public function blastActor(){
addFrameScript(22, frame23);
}
function frame23(){
if (this.parent != null){
this.parent.removeChild(this);
};
}
}
}//package
Section 16
//blastPeg (blastPeg)
package {
public class blastPeg extends GamePeg {
public function blastPeg(){
svalue = 500;
}
override public function hit(_arg1:Boolean=true):void{
var _local2:Blast;
var _local3:*;
hitCount++;
gotoAndStop(2);
if (hitCount == 1){
if (_arg1){
game.sfx.ping();
game.sfx.bWave();
};
_local3 = new blastActor();
_local3.x = x;
_local3.y = y;
parent.addChild(_local3);
_local2 = new Blast(x, y, 60, game);
game.clearList.push(this);
game.blastRadius(x, y, 100);
game.messageOut(String(((game.clearList.length + " x ") + svalue)), x, (y - 10), 0, -5);
game.shotScore = (game.shotScore + (game.clearList.length * svalue));
};
}
}
}//package
Section 17
//blip1 (blip1)
package {
import flash.media.*;
public dynamic class blip1 extends Sound {
}
}//package
Section 18
//blip10 (blip10)
package {
import flash.media.*;
public dynamic class blip10 extends Sound {
}
}//package
Section 19
//blip2 (blip2)
package {
import flash.media.*;
public dynamic class blip2 extends Sound {
}
}//package
Section 20
//blip3 (blip3)
package {
import flash.media.*;
public dynamic class blip3 extends Sound {
}
}//package
Section 21
//blip4 (blip4)
package {
import flash.media.*;
public dynamic class blip4 extends Sound {
}
}//package
Section 22
//blip5 (blip5)
package {
import flash.media.*;
public dynamic class blip5 extends Sound {
}
}//package
Section 23
//blip6 (blip6)
package {
import flash.media.*;
public dynamic class blip6 extends Sound {
}
}//package
Section 24
//blip7 (blip7)
package {
import flash.media.*;
public dynamic class blip7 extends Sound {
}
}//package
Section 25
//blip8 (blip8)
package {
import flash.media.*;
public dynamic class blip8 extends Sound {
}
}//package
Section 26
//blip9 (blip9)
package {
import flash.media.*;
public dynamic class blip9 extends Sound {
}
}//package
Section 27
//BlueBlock (BlueBlock)
package {
public class BlueBlock extends GameBlock {
public function BlueBlock(){
visible = true;
}
override public function hit():void{
var _local1:*;
var _local2:Blast;
hitCount++;
game.sfx.bonk();
if (hitCount == 1){
_local1 = (50 * (game.clearList.length + 1));
game.shotScore = (game.shotScore + _local1);
game.messageOut(String((" + " + _local1)), x, (y - 10), 0, -5);
_local2 = new Blast(x, y, 60, game);
game.killBlock(this);
};
if (hitCount > 50){
};
}
}
}//package
Section 28
//BluePeg (BluePeg)
package {
public class BluePeg extends GamePeg {
}
}//package
Section 29
//buttonGlow (buttonGlow)
package {
import flash.display.*;
public dynamic class buttonGlow extends MovieClip {
}
}//package
Section 30
//Cannon (Cannon)
package {
import flash.display.*;
public class Cannon extends MovieClip {
public var bCanFire:Boolean;// = true
public var shotSpeed:Number;// = 1.5
public var aimX:Number;
public var aimY:Number;
public var angle:Number;
public var pointers:Array;
public var game:Game;
public function Cannon(){
var _local1:*;
var _local2:*;
bCanFire = true;
shotSpeed = 1.5;
pointers = new Array();
super();
game = Game(parent.parent);
game.cannon = this;
_local1 = 0;
while (_local1 < 10) {
_local2 = new Pointer();
_local2.visible = false;
pointers.push(_local2);
parent.addChild(_local2);
_local1++;
};
}
public function fire():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
if (bCanFire){
bCanFire = false;
_local1 = (x + (aimX * 50));
_local2 = (y + (aimY * 50));
_local3 = (aimX * shotSpeed);
_local4 = (aimY * shotSpeed);
game.fire(_local1, _local2, _local3, _local4, true);
};
}
public function aim(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
_local1 = (parent.mouseX - x);
_local2 = (parent.mouseY - y);
_local3 = Math.sqrt(((_local1 * _local1) + (_local2 * _local2)));
rotation = ((Math.atan2(_local2, _local1) * 180) / Math.PI);
aimX = (_local1 / _local3);
aimY = (_local2 / _local3);
_local4 = (x + (aimX * 50));
_local5 = (y + (aimY * 50));
_local6 = (aimX * shotSpeed);
_local7 = (aimY * shotSpeed);
_local8 = 0;
while (_local8 < 10) {
_local9 = pointers[_local8];
_local9.visible = true;
_local9.x = _local4;
_local9.y = _local5;
_local4 = (_local4 + (_local6 * 12));
_local5 = (_local5 + (_local7 * 12));
_local6 = (_local6 * 0.975);
_local7 = (_local7 * 0.975);
_local7 = (_local7 + (game.gravity * 12));
_local8++;
};
}
public function Tick(){
aim();
}
}
}//package
Section 31
//circusring (circusring)
package {
import flash.media.*;
public dynamic class circusring extends Sound {
}
}//package
Section 32
//clickLayer (clickLayer)
package {
import flash.display.*;
import flash.events.*;
public class clickLayer extends Sprite {
var game:Game;
public function clickLayer(){
game = Game(parent);
addEventListener(MouseEvent.MOUSE_UP, fire, false, 0, true);
}
public function fire(_arg1:MouseEvent):void{
game.cannon.fire();
}
}
}//package
Section 33
//Drum (Drum)
package {
import flash.media.*;
public dynamic class Drum extends Sound {
}
}//package
Section 34
//DynamicPeg (DynamicPeg)
package {
import flash.display.*;
public class DynamicPeg extends MovieClip {
public var game:Game;// = null
var hitCount:int;// = 0
public var bStatic:Boolean;
var bounce:Number;// = 1
public var radius:Number;// = 13
public var grid:int;
public var vx:Number;// = 0
public var vy:Number;// = 0
public var bRed:Boolean;// = false
var svalue:int;// = 100
public var gx:int;
public var gy:int;
public function DynamicPeg(_arg1:Game){
bounce = 1;
hitCount = 0;
vx = 0;
vy = 0;
game = null;
radius = 13;
bRed = false;
svalue = 100;
super();
game = _arg1;
this.mouseEnabled = false;
gotoAndStop(1);
bStatic = true;
radius = 12;
game.addActor(this);
grid = game.grid;
setGrid();
}
public function destroyed():void{
game.killActor(this);
}
public function hit(_arg1:Boolean=true):void{
var _local2:Blast;
hitCount++;
gotoAndStop(2);
if (hitCount == 1){
if (_arg1){
game.sfx.ping();
};
_local2 = new Blast(x, y, 60, game);
game.clearList.push(this);
game.messageOut(String(((game.clearList.length + " x ") + svalue)), x, (y - 10), 0, -5);
game.shotScore = (game.shotScore + (game.clearList.length * svalue));
};
}
public function Tick(_arg1:Number):void{
}
public function setGrid():void{
gx = Math.floor((x / grid));
gy = Math.floor((y / grid));
}
}
}//package
Section 35
//DynamicRedPeg (DynamicRedPeg)
package {
import flash.display.*;
public class DynamicRedPeg extends MovieClip {
public var game:Game;// = null
var hitCount:int;// = 0
public var bStatic:Boolean;
var bounce:Number;// = 1
public var radius:Number;// = 13
public var grid:int;
public var vx:Number;// = 0
public var vy:Number;// = 0
public var bRed:Boolean;// = true
public var svalue:int;// = 500
public var gx:int;
public var gy:int;
public function DynamicRedPeg(_arg1:Game){
bounce = 1;
hitCount = 0;
vx = 0;
vy = 0;
game = null;
radius = 13;
bRed = true;
svalue = 500;
super();
game = _arg1;
this.mouseEnabled = false;
gotoAndStop(1);
bStatic = true;
radius = 12;
game.addActor(this);
grid = game.grid;
game.levelReds = (game.levelReds + 1);
setGrid();
}
public function destroyed():void{
game.killActor(this);
}
public function hit(_arg1:Boolean=true):void{
var _local2:Blast;
hitCount++;
gotoAndStop(2);
if (hitCount == 1){
game.levelReds = (game.levelReds - 1);
if (_arg1){
game.sfx.ping();
};
if (game.levelReds <= 0){
game.sfx.drumRoll();
};
_local2 = new Blast(x, y, 60, game);
game.clearList.push(this);
game.messageOut(String(((game.clearList.length + " x ") + svalue)), x, (y - 10), 0, -5);
game.shotScore = (game.shotScore + (game.clearList.length * svalue));
};
}
public function Tick(_arg1:Number):void{
}
public function setGrid():void{
gx = Math.floor((x / grid));
gy = Math.floor((y / grid));
}
}
}//package
Section 36
//Flame (Flame)
package {
import flash.display.*;
public dynamic class Flame extends BitmapData {
public function Flame(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 37
//FrameController (FrameController)
package {
import flash.display.*;
import flash.events.*;
public class FrameController extends Sprite {
var targetFrame:int;
var owner:Game;
var bRunning:Boolean;// = false
public function FrameController(){
bRunning = false;
super();
owner = Game(parent);
owner.frameController = this;
addEventListener(Event.ENTER_FRAME, tick);
alpha = 0;
visible = false;
}
private function tick(_arg1:Event):void{
if (bRunning){
if (owner.currentFrame != targetFrame){
if (alpha < 1){
alpha = (alpha + 0.05);
} else {
owner.gotoAndStop(targetFrame);
};
} else {
if (alpha > 0){
alpha = (alpha - 0.01);
} else {
visible = false;
bRunning = false;
alpha = 0;
owner.arrived(targetFrame);
};
};
};
}
public function getFrame(_arg1:int):void{
targetFrame = _arg1;
bRunning = true;
visible = true;
}
}
}//package
Section 38
//FxLayer (FxLayer)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class FxLayer extends Sprite {
private var clearRec:Rectangle;
public var sparks:Array;
public var BCanvas:MovieClip;
private var bcanvas:BitmapData;
public var Canvas:MovieClip;
public var blasts:Array;
private var tbcanvas:Bitmap;
public var beams:Array;
public var particles:Array;
public var game:Game;
public function FxLayer(){
sparks = new Array();
beams = new Array();
particles = new Array();
blasts = new Array();
super();
game = Game(parent);
game.fx = this;
clearRec = new Rectangle(0, 0, 640, 480);
addEventListener(Event.ENTER_FRAME, Tick, false, 0, true);
bcanvas = new BitmapData(640, 480, true, 0);
tbcanvas = new Bitmap(bcanvas);
BCanvas.addChild(tbcanvas);
}
private function renderBlast(_arg1):void{
Canvas.graphics.beginFill(0xFFFFFF, (_arg1.life / 50));
Canvas.graphics.drawCircle(_arg1.x, _arg1.y, (40 - (_arg1.life / 2)));
Canvas.graphics.endFill();
}
public function removeParticle(_arg1:Particle):void{
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = particles.length;
_local3 = 0;
while (_local3 < _local2) {
_local4 = particles[_local3];
if (_local4 == _arg1){
particles.splice(_local3, 1);
};
_local3++;
};
}
private function renderParticle(_arg1):void{
var _local2:*;
_local2 = _arg1.size;
Canvas.graphics.beginFill(_arg1.col, (_arg1.life / 50));
Canvas.graphics.drawRect(_arg1.x, _arg1.y, _local2, _local2);
Canvas.graphics.endFill();
}
public function removeBeam(_arg1:lightning):void{
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = beams.length;
_local3 = 0;
while (_local3 < _local2) {
_local4 = beams[_local3];
if (_local4 == _arg1){
beams.splice(_local3, 1);
};
_local3++;
};
}
private function renderBeam(_arg1:lightning):void{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:Number;
var _local8:Number;
var _local9:*;
_local2 = (_arg1.life / 100);
_local3 = _arg1.sx;
_local4 = _arg1.sy;
_local5 = _arg1.vx;
_local6 = _arg1.vy;
Canvas.graphics.lineStyle((1 + _local2), 0xFFFFFF, (_local2 + 0.1));
Canvas.graphics.moveTo(_local3, _local4);
_local9 = 0;
while (_local9 < 10) {
_local2 = (_local2 - 0.05);
Canvas.graphics.lineStyle((1 + (_local2 * 2)), 0xFFFFFF, (_local2 + 0.5));
_local7 = (-10 + (Math.random() * 20));
_local8 = (-10 + (Math.random() * 20));
_local3 = (_local3 + _local5);
_local4 = (_local4 + _local6);
_local3 = (_local3 + _local7);
_local4 = (_local4 + _local8);
Canvas.graphics.lineTo(_local3, _local4);
_local9++;
};
Canvas.graphics.lineTo(_arg1.ex, _arg1.ey);
}
public function Tick(_arg1:Event):void{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:*;
var _local13:*;
Canvas.graphics.clear();
_local2 = sparks.length;
_local3 = 0;
while (_local3 < _local2) {
_local10 = sparks[_local3];
if (_local10 != undefined){
renderSpark(_local10);
_local10.Tick();
};
_local3++;
};
_local4 = beams.length;
_local5 = 0;
while (_local5 < _local4) {
_local11 = beams[_local5];
if (_local11 != undefined){
renderBeam(_local11);
renderBeam(_local11);
_local11.Tick();
};
_local5++;
};
_local6 = particles.length;
_local7 = 0;
while (_local7 < _local6) {
_local12 = particles[_local7];
if (_local12 != undefined){
renderParticle(_local12);
_local12.Tick();
};
_local7++;
};
_local8 = blasts.length;
_local9 = 0;
while (_local9 < _local8) {
_local13 = blasts[_local9];
if (_local13 != undefined){
renderBlast(_local13);
_local13.Tick();
};
_local9++;
};
}
public function removeSpark(_arg1:Spark):void{
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = sparks.length;
_local3 = 0;
while (_local3 < _local2) {
_local4 = sparks[_local3];
if (_local4 == _arg1){
sparks.splice(_local3, 1);
};
_local3++;
};
}
public function removeBlast(_arg1):void{
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = blasts.length;
_local3 = 0;
while (_local3 < _local2) {
_local4 = blasts[_local3];
if (_local4 == _arg1){
blasts.splice(_local3, 1);
};
_local3++;
};
}
private function renderSpark(_arg1):void{
Canvas.graphics.lineStyle(1, 16777164, (_arg1.life / 50));
Canvas.graphics.moveTo(_arg1.x, _arg1.y);
Canvas.graphics.lineTo((_arg1.x - _arg1.vx), (_arg1.y - _arg1.vy));
}
}
}//package
Section 39
//Game (Game)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class Game extends MovieClip {
private const llevel:int = 40;
private const flevel:int = 11;
public var levelBlocks:Array;
public var levelTarget:int;// = 0
public var slowDown:Boolean;// = false
public var gravity:Number;// = 0.005
public var bigCombo:int;// = 0
public var lastTime:Number;
public var sfx:soundManager;
public var miscObjects:Array;
public var clearList:Array;
public var renderElements:Array;
public var gameData:gameSave;
public var msg2;
public var msg3;
public var msg4;
public var fx:FxLayer;
public var frameController:FrameController;
public var levelObjects:Array;
public var clearTimer:Timer;
public var cannon:Cannon;
public var msge;
public var sinMod:Number;// = 0
private var tickController:Timer;
public var gPool:spritePool;
public var levelBalls:Array;
public var oStars:int;// = 0
public var grid:int;// = 48
public var levelScore:int;
public var yStars:int;// = 0
public var gameSpeed:Number;// = 1
public var level:MovieClip;
public var SelectedLevel:LevelSelectButton;
public var currentLevel:int;
public var levelShots:int;// = 10
public var levelReds:Number;// = 0
public var levelActors:Array;
public var gameState:String;// = "menu"
public var shotScore:int;// = 0
public function Game(){
levelActors = new Array();
levelBalls = new Array();
levelBlocks = new Array();
levelObjects = new Array();
miscObjects = new Array();
clearList = new Array();
gameState = "menu";
levelShots = 10;
levelTarget = 0;
shotScore = 0;
renderElements = new Array();
grid = 48;
gameSpeed = 1;
slowDown = false;
sinMod = 0;
gravity = 0.005;
levelReds = 0;
bigCombo = 0;
yStars = 0;
oStars = 0;
super();
addFrameScript(10, frame11, 11, frame12, 12, frame13, 27, frame28);
sfx = new soundManager(this);
addChild(sfx);
gotoAndStop(1);
tickController = new Timer(5, 0);
tickController.addEventListener(TimerEvent.TIMER, gameTick);
clearTimer = new Timer(50, 0);
clearTimer.addEventListener(TimerEvent.TIMER, purgeItems);
gameData = new gameSave();
gPool = new spritePool();
sfx.playbgm();
}
public function fire(_arg1, _arg2, _arg3, _arg4, _arg5:Boolean){
var _local6:GameBall;
_local6 = new GameBall(this);
level.addChild(_local6);
_local6.x = _arg1;
_local6.y = _arg2;
_local6.vx = _arg3;
_local6.vy = _arg4;
if (_arg5){
levelShots = (levelShots - 1);
};
}
public function nextLevel():void{
getLevel((currentLevel + 11));
}
public function addBall(_arg1:GameBall):void{
levelBalls.push(_arg1);
}
public function sortActors():void{
var _local1:uint;
var _local2:*;
var _local3:*;
_local1 = level.numChildren;
_local2 = 0;
while (_local2 < (_local1 - 1)) {
_local3 = (_local2 + 1);
while (_local3 < _local1) {
if (level.getChildAt(_local2).y > level.getChildAt(_local3).y){
level.swapChildrenAt(_local2, _local3);
};
_local3++;
};
_local2++;
};
}
public function checkBlockCollision(_arg1:GameBall, _arg2:GameBlock){
if (_arg2 != null){
if ((((_arg1.gx >= (_arg2.gx - 1))) && ((_arg1.gx <= (_arg2.gx + 1))))){
if ((((_arg1.gy >= (_arg2.gy - 1))) && ((_arg1.gy <= (_arg2.gy + 1))))){
testVectorHit(_arg1, _arg2);
};
};
};
}
function frame12(){
msg2 = new overLayMessage("Land your shot in the bonus slots at the bottom for better scores and extra shots.\n\nThe ball must strike at least 1 star to earn a bonus!!");
addChild(msg2);
}
function frame13(){
msg3 = new overLayMessage("Look out for special stars that have hidden bonuses and special effects.\n\n");
addChild(msg3);
}
public function arrived(_arg1:int):void{
if ((((_arg1 >= flevel)) && ((_arg1 <= llevel)))){
beginLevel();
};
if ((((_arg1 == 1)) || ((_arg1 == 2)))){
sfx.playbgm();
} else {
sfx.stopbgm();
};
}
function frame11(){
msge = new overLayMessage("Welcome.\nFire your star cannon at the star targets to clear them from the game screen.\nTo pass the Level you must remove all Yellow Stars.\nTake note of how gravity has an effect on the path of your shot..");
addChild(msge);
}
public function addBlock(_arg1:GameBlock):void{
levelBlocks.push(_arg1);
}
public function killBall(_arg1:GameBall):void{
var _local2:*;
var _local3:*;
_local2 = levelBalls.length;
_local3 = 0;
while (_local3 < _local2) {
if (levelBalls[_local3] == _arg1){
levelBalls.splice(_local3, 1);
level.removeChild(_arg1);
return;
};
_local3++;
};
}
public function beginLevel():void{
tickController.start();
lastTime = getTimer();
}
function frame28(){
msg4 = new overLayMessage("Not all blocks can be destroyed.\n\nThey may just help you reach area's you otherwise couldn't!!");
addChild(msg4);
}
public function ball2ball(_arg1, _arg2){
var _local3:*;
_local3 = {};
_local3.vx = (_arg1.x - _arg2.x);
_local3.vy = (_arg1.y - _arg2.y);
_local3.len = Math.sqrt(((_local3.vx * _local3.vx) + (_local3.vy * _local3.vy)));
_local3.dx = (_local3.vx / _local3.len);
_local3.dy = (_local3.vy / _local3.len);
return (_local3);
}
public function testVectors(_arg1:GameBall, _arg2:Vector2):Boolean{
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
_local3 = v_math.findIntersection(_arg1, _arg2);
_local4 = (_arg1.radius - _local3.vLen);
_local5 = false;
if (_local4 >= 0){
_local5 = true;
_arg1.x = (_arg1.x + (_local3.dx * _local4));
_arg1.y = (_arg1.y + (_local3.dy * _local4));
_local6 = {dx:(_local3.lx / _local3.vLen), dy:(_local3.ly / _local3.vLen), lx:_local3.dx, ly:_local3.dy, b:1, f:0.8};
_local7 = v_math.bounce(_arg1, _local6);
_arg1.vx = _local7.vx;
_arg1.vy = _local7.vy;
};
return (_local5);
}
public function SelectB(_arg1:LevelSelectButton):void{
if (SelectedLevel != null){
SelectedLevel.unSelected();
};
SelectedLevel = _arg1;
SelectedLevel.Selected();
}
public function gameTick(_arg1:TimerEvent):void{
var _local2:*;
if (levelReds <= 0){
slowDown = true;
} else {
slowDown = false;
};
_local2 = getTimer();
if (slowDown){
gameSpeed = ((_local2 - lastTime) / 8);
lastTime = _local2;
} else {
gameSpeed = ((_local2 - lastTime) / 4);
lastTime = _local2;
};
tickActors();
}
public function blastRadius(_arg1, _arg2, _arg3):void{
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
_local4 = levelActors.length;
_local5 = 0;
while (_local5 < _local4) {
_local6 = levelActors[_local5];
_local7 = boolRadial(_arg1, _arg2, _local6, _arg3);
if (_local7){
_local6.hit(false);
};
_local5++;
};
}
public function collideBalls(_arg1:GameBall, _arg2):void{
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
_local3 = ball2ball(_arg1, _arg2);
_local4 = ((_arg1.radius + _arg2.radius) - _local3.len);
if (_local4 >= 0){
_arg1.x = (_arg1.x + ((_local3.dx * _local4) * 0.5));
_arg1.y = (_arg1.y + ((_local3.dy * _local4) * 0.5));
_local6 = {dx:_local3.dy, dy:-(_local3.dx), lx:_local3.dx, ly:_local3.dy, f:0.8, b:_arg2.bounce};
_local7 = v_math.bounce(_arg1, _local6);
_arg1.vx = (_local7.vx * 0.9);
_arg1.vy = (_local7.vy * 0.9);
};
_local5 = _arg2.hitCount;
_arg2.hit();
_arg1.hit(_local5);
makeFX(_arg1, _arg2);
}
public function testVectorHit(_arg1:GameBall, _arg2:GameBlock):void{
if (testVectors(_arg1, _arg2.v1)){
_arg2.hit();
} else {
if (testVectors(_arg1, _arg2.v3)){
_arg2.hit();
} else {
if (testVectors(_arg1, _arg2.v2)){
_arg2.hit();
} else {
if (testVectors(_arg1, _arg2.v4)){
_arg2.hit();
};
};
};
};
}
public function tickActors():void{
var blen:*;
var j:*;
var nlen:*;
var q:*;
var olen:*;
var l:*;
var len:*;
var i:*;
var alen:*;
var k:*;
var currI:*;
cannon.Tick();
blen = levelBalls.length;
j = 0;
while (j < blen) {
if (levelBalls[j] != undefined){
levelBalls[j].Tick(gameSpeed);
};
j = (j + 1);
};
nlen = levelBlocks.length;
q = 0;
while (q < nlen) {
if (levelBlocks[q] != undefined){
levelBlocks[q].Tick(gameSpeed);
};
q = (q + 1);
};
olen = levelObjects.length;
l = 0;
while (l < olen) {
levelObjects[l].Tick(gameSpeed);
l = (l + 1);
};
len = miscObjects.length;
i = 0;
while (i < len) {
currI = miscObjects[i];
if (currI != undefined){
miscObjects[i].Tick();
};
i = (i + 1);
};
alen = renderElements.length;
k = 0;
while (k < alen) {
try {
renderElements[k].Tick(gameSpeed);
} catch(err:Error) {
};
k = (k + 1);
};
}
public function checkCollision(_arg1:GameBall, _arg2){
if (_arg2 != undefined){
if ((((_arg1.gx >= (_arg2.gx - 1))) && ((_arg1.gx <= (_arg2.gx + 1))))){
if ((((_arg1.gy >= (_arg2.gy - 1))) && ((_arg1.gy <= (_arg2.gy + 1))))){
checkRadial(_arg1, _arg2);
};
};
};
}
public function addMisc(_arg1):void{
miscObjects.push(_arg1);
}
public function killActor(_arg1:MovieClip):void{
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = levelActors.length;
_local3 = 0;
while (_local3 < _local2) {
_local4 = levelActors[_local3];
if (_local4 == _arg1){
levelActors.splice(_local3, 1);
level.removeChild(_arg1);
return;
};
_local3++;
};
}
public function checkRadial(_arg1:GameBall, _arg2){
var _local3:*;
var _local4:*;
var _local5:*;
_local3 = (_arg2.x - _arg1.x);
_local4 = (_arg2.y - _arg1.y);
_local5 = ((_local3 * _local3) + (_local4 * _local4));
if (_local5 < ((_arg2.radius * _arg2.radius) + (_arg1.radius * _arg1.radius))){
collideBalls(_arg1, _arg2);
};
}
public function makeFX(_arg1, _arg2):void{
}
public function endLevel():void{
tickController.stop();
}
public function specialMessageOut(_arg1, _arg2, _arg3, _arg4, _arg5):void{
var _local6:*;
_local6 = new messagePopSpecial(_arg1, _arg2, _arg3, this, _arg4, (_arg5 * 0.1));
level.addChild(_local6);
}
public function removeMisc(_arg1):void{
var _local2:*;
var _local3:*;
_local2 = miscObjects.length;
_local3 = 0;
while (_local3 < _local2) {
if (miscObjects[_local3] == _arg1){
miscObjects.splice(_local3, 1);
return;
};
_local3++;
};
}
public function boolRadial(_arg1, _arg2, _arg3, _arg4):Boolean{
var _local5:*;
var _local6:*;
var _local7:*;
_local5 = (_arg3.x - _arg1);
_local6 = (_arg3.y - _arg2);
_local7 = ((_local5 * _local5) + (_local6 * _local6));
if (_local7 < ((_arg3.radius * _arg3.radius) + (_arg4 * _arg4))){
return (true);
};
return (false);
}
public function getFrame(_arg1:int):void{
frameController.getFrame(_arg1);
}
public function retryLevel():void{
getLevel((currentLevel + 10));
}
public function killSprite(_arg1:renderSprite):void{
var _local2:*;
var _local3:*;
_local2 = renderElements.length;
_local3 = 0;
while (_local3 < _local2) {
if (renderElements[_local3] == _arg1){
renderElements.splice(_local3, 1);
_arg1.destroyed();
};
_local3++;
};
}
public function killBlock(_arg1:MovieClip):void{
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = levelBlocks.length;
_local3 = 0;
while (_local3 < _local2) {
_local4 = levelBlocks[_local3];
if (_local4 == _arg1){
levelBlocks.splice(_local3, 1);
level.removeChild(_arg1);
return;
};
_local3++;
};
}
public function addActor(_arg1):void{
levelActors.push(_arg1);
}
public function getLevel(_arg1:int):void{
bigCombo = 0;
yStars = 0;
oStars = 0;
currentLevel = (_arg1 - 10);
levelActors = new Array();
levelBalls = new Array();
levelBlocks = new Array();
levelObjects = new Array();
miscObjects = new Array();
clearList = new Array();
levelReds = 0;
levelShots = 10;
levelScore = 0;
renderElements = new Array();
getFrame(_arg1);
}
public function messageOut(_arg1, _arg2, _arg3, _arg4, _arg5):void{
var _local6:*;
_local6 = new messagePop(_arg1, _arg2, _arg3, this, _arg4, (_arg5 * 0.1));
level.addChild(_local6);
}
public function purgeItems(_arg1:TimerEvent):void{
var _local2:*;
var _local3:Particle;
var _local4:*;
var _local5:*;
var _local6:Blast;
if (clearList.length > 0){
sfx.boom(clearList.length);
_local2 = clearList.shift();
if (_local2.bRed){
yStars = (yStars + 1);
} else {
oStars = (oStars + 1);
};
_local4 = 0;
while (_local4 < 4) {
_local3 = new Particle(_local2.x, _local2.y, 60, this);
_local4++;
};
_local5 = clearList[0];
_local6 = new Blast(_local2.x, _local2.y, 20, this);
_local2.destroyed();
} else {
clearTimer.stop();
if ((((levelShots > 0)) && ((levelReds > 0)))){
cannon.bCanFire = true;
if (levelShots < 4){
specialMessageOut((levelShots + " Shots Left"), 320, 100, 0, 0);
};
} else {
if (levelReds <= 0){
levelScore = (levelScore + (levelShots * 5000));
gameData.saveScore(currentLevel, levelScore);
gameData.unlock((currentLevel + 1));
slowDown = false;
getFrame(10);
} else {
if (levelShots <= 0){
slowDown = false;
getFrame(9);
};
};
};
};
}
public function purgeList():void{
var _local1:*;
var _local2:*;
var _local3:*;
_local1 = clearList.length;
_local2 = _local1;
if (_local2 > bigCombo){
bigCombo = _local2;
};
if (_local1 > 1){
specialMessageOut((((_local1 + "x Combo\n") + shotScore) + " points"), 320, 240, 0, 0);
} else {
specialMessageOut((shotScore + " points"), 320, 240, 0, 0);
};
_local3 = (shotScore + levelScore);
shotScore = 0;
levelScore = _local3;
clearTimer.start();
}
}
}//package
Section 40
//GameActor (GameActor)
package {
import flash.display.*;
public class GameActor extends MovieClip {
public var game:Game;// = null
public var bStatic:Boolean;
public var grid:int;
public var radius:Number;// = 7
public var vx:Number;// = 0
public var vy:Number;// = 0
public var gx:int;
public var gy:int;
public function GameActor(){
vx = 0;
vy = 0;
game = null;
radius = 7;
super();
gotoAndStop(1);
if (game == null){
game = Game(parent.parent);
};
grid = game.grid;
setGrid();
}
public function destroyed():void{
game.killActor(this);
}
public function Tick(_arg1:Number):void{
}
public function setGrid():void{
gx = Math.floor((x / grid));
gy = Math.floor((y / grid));
}
}
}//package
Section 41
//GameBall (GameBall)
package {
import flash.display.*;
public class GameBall extends MovieClip {
public var game:Game;
public var distance:Number;// = 0
public var stateTime:int;// = 100
public var hitCount:int;// = 0
public var fxCount:int;// = 0
public var ry:Number;
public var bStatic:Boolean;
public var rx:Number;
public var fTimer:Number;// = 0
public var radius:Number;// = 10
public var grid:int;
public var dx:Number;
public var dy:Number;
public var ly:Number;
public var vx:Number;// = 0
public var vy:Number;// = 0
public var lx:Number;
public var vLen:Number;
public var bHit;// = false
public var bWallFirst:Boolean;// = false
public var ballState:String;// = "none"
public var bMainBall:Boolean;// = false
public var gx:int;
public var gy:int;
public function GameBall(_arg1:Game){
fTimer = 0;
vx = 0;
vy = 0;
radius = 10;
fxCount = 0;
bMainBall = false;
ballState = "none";
stateTime = 100;
hitCount = 0;
distance = 0;
bWallFirst = false;
bHit = false;
super();
game = _arg1;
gotoAndStop(1);
if (game == null){
game = Game(parent.parent);
};
game.addBall(this);
grid = game.grid;
setGrid();
}
public function checkCollision():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
_local1 = game.levelActors.length;
_local2 = 0;
while (_local2 < _local1) {
if (game.levelActors[_local2] != this){
game.checkCollision(this, game.levelActors[_local2]);
};
_local2++;
};
_local3 = game.levelBlocks.length;
_local4 = 0;
while (_local4 < _local3) {
game.checkBlockCollision(this, game.levelBlocks[_local4]);
_local4++;
};
}
public function Tick(_arg1:Number):void{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
fxCount++;
if (game.slowDown){
fxCount = (fxCount + 3);
};
if (fxCount > (10 - game.clearList.length)){
_local2 = ((x - 5) + (Math.random() * 10));
_local3 = ((y - 5) + (Math.random() * 10));
_local4 = new Particle(_local2, _local3, (40 + (Math.random() * 20)), game, 0.5, false);
fxCount = 0;
};
if (y < radius){
y = (radius + 1);
vy = (vy * -1);
} else {
if (y > 490){
if (bHit){
_local5 = Math.floor((x / 128));
if (game.slowDown){
game.sfx.stopDrum();
if ((((_local5 == 0)) || ((_local5 == 4)))){
game.shotScore = (game.shotScore + 10000);
game.messageOut(String("+ 10,000 pts"), x, 470, 0, -5);
} else {
if (_local5 == 1){
game.shotScore = (game.shotScore + 50000);
game.messageOut(String("+ 50,000 pts"), x, 470, 0, -5);
} else {
if (_local5 == 2){
game.shotScore = (game.shotScore + 100000);
game.messageOut(String("+ 100,000 pts"), x, 470, 0, -5);
} else {
if (_local5 == 3){
game.shotScore = (game.shotScore + 50000);
game.messageOut(String("+ 50,000 pts"), x, 470, 0, -5);
};
};
};
};
} else {
if ((((_local5 == 0)) || ((_local5 == 4)))){
game.shotScore = (game.shotScore + 1000);
game.messageOut(String("+ 1,000 pts"), x, 470, 0, -5);
} else {
if (_local5 == 1){
game.shotScore = (game.shotScore + 5000);
game.messageOut(String("+ 5,000 pts"), x, 470, 0, -5);
} else {
if (_local5 == 2){
_local6 = Math.random();
if (_local6 > 0.8){
game.shotScore = (game.shotScore + 10000);
game.messageOut(String("+ 10,000 pts"), x, 470, 0, -5);
} else {
if (_local6 > 0.6){
game.shotScore = (game.shotScore + 20000);
game.messageOut(String("+ 20,000 pts"), x, 470, 0, -5);
} else {
if (_local6 > 0.4){
game.shotScore = (game.shotScore + 50000);
game.messageOut(String("+ 50,000 pts"), x, 470, 0, -5);
} else {
game.levelShots = (game.levelShots + 1);
game.messageOut(String("+ 1 Free Shot"), x, 470, 0, -5);
};
};
};
} else {
if (_local5 == 3){
game.shotScore = (game.shotScore + 5000);
game.messageOut(String("+ 5,000 pts"), x, 470, 0, -5);
} else {
game.messageOut(String("Miss Shot!"), x, 470, 0, -5);
};
};
};
};
};
};
if (game.levelBalls.length == 1){
game.purgeList();
};
game.killBall(this);
};
};
if (x < radius){
x = (radius + 1);
vx = (vx * -1);
if (hitCount == 0){
bWallFirst = true;
};
} else {
if (x > (640 - radius)){
x = (639 - radius);
vx = (vx * -1);
if (hitCount == 0){
bWallFirst = true;
};
};
};
distance = (distance + (Math.abs((vx * _arg1)) + Math.abs((vy * _arg1))));
x = (x + (vx * _arg1));
y = (y + (vy * _arg1));
vx = (vx - ((vx - (vx * 0.998)) * _arg1));
vy = (vy - ((vy - (vy * 0.998)) * _arg1));
vy = (vy + (game.gravity * _arg1));
setGrid();
checkCollision();
}
public function updateVector2():void{
vLen = Math.sqrt(((vx * vx) + (vy * vy)));
if (vLen > 0){
dx = (vx / vLen);
dy = (vy / vLen);
} else {
dx = 0;
dy = 0;
};
rx = -(vy);
ry = vx;
lx = vy;
ly = -(vx);
}
public function hit(_arg1):void{
hitCount++;
if (_arg1 == 0){
bHit = true;
if (bWallFirst){
game.messageOut(String("Trick Shot Bonus + 500 pts"), x, (y - 22), 0, -5);
game.levelScore = (game.levelScore + 500);
bWallFirst = false;
};
if (distance > 500){
game.messageOut(String("longshot bonus + 1,000 pts"), x, (y - 10), 0, -5);
game.levelScore = (game.levelScore + Math.floor((distance * 2)));
};
};
distance = 0;
}
public function setGrid():void{
gx = Math.floor((x / grid));
gy = Math.floor((y / grid));
}
public function superFX():void{
var _local1:*;
var _local2:*;
var _local3:*;
_local1 = ((x - radius) + (Math.random() * (radius * 2)));
_local2 = ((y - radius) + (Math.random() * (radius * 2)));
_local3 = new Particle(_local1, _local2, 100, game);
}
}
}//package
Section 42
//GameBlock (GameBlock)
package {
import flash.display.*;
public class GameBlock extends MovieClip {
public var game:Game;
var hitCount:int;// = 0
public var v1:Vector2;
public var v2:Vector2;
public var grid:int;
public var v3:Vector2;
public var hSize:Number;// = 16
public var v4:Vector2;
public var gx:int;
public var gy:int;
public function GameBlock(){
hSize = 16;
hitCount = 0;
super();
this.mouseEnabled = false;
gotoAndStop(1);
game = Game(parent.parent);
grid = game.grid;
visible = false;
setGrid();
initVectors();
game.addBlock(this);
}
public function destroyed():void{
game.killBlock(this);
}
public function initVectors():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
_local1 = ((rotation / 180) * Math.PI);
_local2 = (Math.cos(_local1) * hSize);
_local3 = (Math.sin(_local1) * hSize);
_local4 = new Vector2(0, 0, _local2, _local3);
v1 = new Vector2(((x - _local4.vx) + (_local4.lx / 2)), ((y - _local4.vy) + (_local4.ly / 2)), ((x + _local4.vx) + (_local4.lx / 2)), ((y + _local4.vy) + (_local4.ly / 2)));
v2 = new Vector2(((x + _local4.vx) + (_local4.lx / 2)), ((y + _local4.vy) + (_local4.ly / 2)), ((x + _local4.vx) + (_local4.rx / 2)), ((y + _local4.vy) + (_local4.ry / 2)));
v3 = new Vector2(((x + _local4.vx) + (_local4.rx / 2)), ((y + _local4.vy) + (_local4.ry / 2)), ((x - _local4.vx) + (_local4.rx / 2)), ((y - _local4.vy) + (_local4.ry / 2)));
v4 = new Vector2(((x - _local4.vx) + (_local4.rx / 2)), ((y - _local4.vy) + (_local4.ry / 2)), ((x - _local4.vx) + (_local4.lx / 2)), ((y - _local4.vy) + (_local4.ly / 2)));
}
public function hit():void{
hitCount++;
game.sfx.bonk();
}
public function Tick(_arg1:Number):void{
}
public function setGrid():void{
gx = Math.floor((x / grid));
gy = Math.floor((y / grid));
}
}
}//package
Section 43
//gameButton (gameButton)
package {
import flash.display.*;
import flash.events.*;
public class gameButton extends Sprite {
public var targetFrame:int;
public var game:Game;
public function gameButton(){
game = Game(parent);
addEventListener(MouseEvent.CLICK, Clicked, false, 0, true);
addEventListener(MouseEvent.ROLL_OVER, rollOver, false, 0, true);
addEventListener(MouseEvent.ROLL_OUT, rollOut, false, 0, true);
}
public function Clicked(_arg1:MouseEvent):void{
game.getFrame(targetFrame);
}
public function rollOut(_arg1:MouseEvent):void{
scaleX = 1;
scaleY = 1;
}
public function rollOver(_arg1:MouseEvent):void{
scaleX = 1.1;
scaleY = 1.1;
}
}
}//package
Section 44
//GamePeg (GamePeg)
package {
public class GamePeg extends GameActor {
var hitCount:int;// = 0
var bounce:Number;// = 1
var bRed:Boolean;// = false
var svalue:int;// = 100
public function GamePeg(){
bounce = 1;
hitCount = 0;
bRed = false;
svalue = 100;
super();
this.mouseEnabled = false;
bStatic = true;
radius = 13;
game.addActor(this);
}
public function hit(_arg1:Boolean=true):void{
var _local2:Blast;
hitCount++;
gotoAndStop(2);
if (hitCount == 1){
if (_arg1){
game.sfx.ping();
};
_local2 = new Blast(x, y, 60, game);
game.clearList.push(this);
game.messageOut(String(((game.clearList.length + " x ") + svalue)), x, (y - 10), 0, -5);
game.shotScore = (game.shotScore + (game.clearList.length * svalue));
};
}
}
}//package
Section 45
//gameSave (gameSave)
package {
import flash.net.*;
public class gameSave {
public var lvlData:SharedObject;
public var lvlArray:Array;
public function gameSave(){
lvlArray = new Array();
super();
init();
}
public function unlock(_arg1):void{
if (lvlArray[_arg1] < 0){
lvlArray[_arg1] = 0;
};
saveData();
}
public function saveData():void{
var _local1:*;
lvlData.data.bPlayed = 1;
_local1 = 1;
while (_local1 < 40) {
lvlData.data[("lvl_" + _local1)] = lvlArray[_local1];
_local1++;
};
}
public function init():void{
var _local1:*;
lvlData = SharedObject.getLocal("plinkDatad");
lvlArray = new Array();
_local1 = 0;
while (_local1 < 40) {
lvlArray.push(-1);
_local1++;
};
lvlArray[1] = 0;
if (lvlData.data.bPlayed == 1){
loadData();
} else {
saveData();
};
}
public function saveScore(_arg1, _arg2):void{
if (lvlArray[_arg1] < _arg2){
lvlArray[_arg1] = _arg2;
};
saveData();
}
public function loadData():void{
var _local1:*;
var _local2:*;
lvlData.data.bPlayed = 1;
_local1 = 1;
while (_local1 < 40) {
_local2 = lvlData.data[("lvl_" + _local1)];
lvlArray[_local1] = _local2;
_local1++;
};
}
}
}//package
Section 46
//Heart (Heart)
package {
import flash.media.*;
public dynamic class Heart extends Sound {
}
}//package
Section 47
//hud (hud)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class hud extends Sprite {
public var ScoreT:TextField;
public var shotT:TextField;
var game:Game;
public function hud(){
mouseEnabled = false;
game = Game(parent);
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
function update(_arg1:Event):void{
ScoreT.text = String(game.levelScore);
shotT.text = String(game.levelShots);
}
}
}//package
Section 48
//Joint (Joint)
package {
public class Joint extends GamePeg {
public function Joint(){
radius = 14;
bounce = 1;
hitCount = 10;
}
override public function hit(_arg1:Boolean=true):void{
game.sfx.bonk();
}
}
}//package
Section 49
//levelRunDown (levelRunDown)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class levelRunDown extends MovieClip {
var ys:int;// = 0
public var hScore:TextField;
var scr:int;// = 0
var bFinished:Boolean;// = false
public var rbow:MovieClip;
var cmb:int;// = 0
var os:int;// = 0
public var ostars:TextField;
public var lvlScore:TextField;
public var combo:TextField;
public var ystars:TextField;
var shts:int;// = 0
public var shots:TextField;
var game:Game;
public function levelRunDown(){
ys = 0;
os = 0;
cmb = 0;
shts = 0;
scr = 0;
bFinished = false;
super();
gotoAndStop(1);
game = Game(parent);
addEventListener(Event.ENTER_FRAME, tick, false, 0, true);
rbow.visible = false;
game.sfx.Win();
}
public function tick(_arg1:Event):void{
if (!bFinished){
if (ys < game.yStars){
ys++;
} else {
if (os < game.oStars){
os++;
} else {
if (shts < game.levelShots){
shts++;
} else {
if (cmb < game.bigCombo){
cmb++;
} else {
if (scr < game.levelScore){
scr = (scr + 2000);
if (scr >= game.levelScore){
scr = game.levelScore;
bFinished = true;
if (game.gameData.lvlArray[game.currentLevel] <= scr){
rbow.visible = true;
rbow.gotoAndPlay(1);
};
};
};
};
};
};
};
ystars.text = String(ys);
ostars.text = String(os);
combo.text = String(cmb);
shots.text = String((shts + " x 5000"));
lvlScore.text = String(scr);
hScore.text = String(game.gameData.lvlArray[game.currentLevel]);
};
}
}
}//package
Section 50
//LevelSelectButton (LevelSelectButton)
package {
import flash.display.*;
import flash.events.*;
public class LevelSelectButton extends Sprite {
public var glow:MovieClip;
public var tgtLevel:int;
public var game:Game;
public function LevelSelectButton(){
game = Game(parent.parent.parent);
addEventListener(MouseEvent.CLICK, clicked, false, 0, true);
addEventListener(MouseEvent.ROLL_OVER, rollOver, false, 0, true);
addEventListener(MouseEvent.ROLL_OUT, rollOut, false, 0, true);
glow = new buttonGlow();
addChild(glow);
glow.visible = false;
}
public function init():void{
scaleX = 0.8;
scaleY = 0.8;
if (game.gameData.lvlArray[tgtLevel] > -1){
alpha = 1;
} else {
alpha = 0.3;
};
if (game.gameData.lvlArray[tgtLevel] == 0){
game.SelectB(this);
glow.visible = true;
};
levelSelector(parent.parent).addButton(this, tgtLevel);
}
public function clicked(_arg1:MouseEvent):void{
if (alpha >= 1){
game.SelectB(this);
};
}
public function unSelected():void{
scaleX = 0.8;
scaleY = 0.8;
glow.visible = false;
}
public function sel():void{
if (alpha >= 1){
game.SelectB(this);
};
}
public function rollOut(_arg1:MouseEvent):void{
if (game.SelectedLevel != this){
scaleX = 0.8;
scaleY = 0.8;
};
}
public function Selected():void{
scaleX = 1;
scaleY = 1;
glow.visible = true;
}
public function rollOver(_arg1:MouseEvent):void{
scaleX = 1;
scaleY = 1;
}
}
}//package
Section 51
//levelSelector (levelSelector)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class levelSelector extends MovieClip {
public var lvlNum:TextField;
public var ScoreT:TextField;
var slx:Number;
public var Scroller:MovieClip;
var lvls:Array;
var vx:Number;
var game:Game;
public function levelSelector(){
var _local1:*;
lvls = new Array();
super();
gotoAndStop(1);
game = Game(parent);
_local1 = 0;
while (_local1 < 40) {
lvls.push(0);
_local1++;
};
addEventListener(Event.ENTER_FRAME, tick, false, 0, true);
}
public function selectNext():void{
try {
lvls[(game.SelectedLevel.tgtLevel + 1)].sel();
} catch(err:Error) {
};
}
public function addButton(_arg1, _arg2):void{
lvls[_arg2] = _arg1;
}
public function tick(_arg1:Event):void{
if (game.SelectedLevel == null){
lvls[1].sel();
};
lvlNum.text = String(game.SelectedLevel.tgtLevel);
ScoreT.text = String(game.gameData.lvlArray[game.SelectedLevel.tgtLevel]);
slx = (-(game.SelectedLevel.x) + 320);
vx = ((Scroller.x - slx) / 20);
Scroller.x = (Scroller.x - vx);
}
public function selectLast():void{
try {
lvls[(game.SelectedLevel.tgtLevel - 1)].sel();
} catch(err:Error) {
};
}
}
}//package
Section 52
//LftButton (LftButton)
package {
import flash.display.*;
import flash.events.*;
public class LftButton extends MovieClip {
var owner:levelSelector;
public function LftButton(){
addEventListener(MouseEvent.CLICK, Clicked, false, 0, true);
addEventListener(MouseEvent.ROLL_OVER, rollOver, false, 0, true);
addEventListener(MouseEvent.ROLL_OUT, rollOut, false, 0, true);
owner = levelSelector(parent);
}
public function Clicked(_arg1:MouseEvent):void{
owner.selectLast();
}
public function rollOut(_arg1:MouseEvent):void{
scaleX = 1;
scaleY = 1;
}
public function rollOver(_arg1:MouseEvent):void{
scaleX = 1.1;
scaleY = 1.1;
}
}
}//package
Section 53
//lightning (lightning)
package {
public class lightning {
public var vx:Number;
public var vy:Number;
public var sx:Number;
public var sy:Number;
public var game:Game;
public var ex:Number;
public var ey:Number;
public var life:Number;
public var vLen:Number;
public function lightning(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6){
var _local7:*;
var _local8:*;
var _local9:*;
super();
game = _arg6;
sx = _arg1;
sy = _arg2;
ex = _arg3;
ey = _arg4;
life = _arg5;
_local7 = (sx - ex);
_local8 = (sy - ey);
_local9 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8)));
vx = -((_local7 / 10));
vy = -((_local8 / 10));
game.fx.beams.push(this);
}
public function Tick():void{
life = (life - 3);
if (life <= 0){
game.fx.removeBeam(this);
};
}
}
}//package
Section 54
//LVL_B1 (LVL_B1)
package {
public class LVL_B1 extends LevelSelectButton {
public function LVL_B1(){
tgtLevel = 1;
init();
}
}
}//package
Section 55
//LVL_B10 (LVL_B10)
package {
public class LVL_B10 extends LevelSelectButton {
public function LVL_B10(){
tgtLevel = 10;
init();
}
}
}//package
Section 56
//LVL_B11 (LVL_B11)
package {
public class LVL_B11 extends LevelSelectButton {
public function LVL_B11(){
tgtLevel = 11;
init();
}
}
}//package
Section 57
//LVL_B12 (LVL_B12)
package {
public class LVL_B12 extends LevelSelectButton {
public function LVL_B12(){
tgtLevel = 12;
init();
}
}
}//package
Section 58
//LVL_B13 (LVL_B13)
package {
public class LVL_B13 extends LevelSelectButton {
public function LVL_B13(){
tgtLevel = 13;
init();
}
}
}//package
Section 59
//LVL_B14 (LVL_B14)
package {
public class LVL_B14 extends LevelSelectButton {
public function LVL_B14(){
tgtLevel = 14;
init();
}
}
}//package
Section 60
//LVL_B15 (LVL_B15)
package {
public class LVL_B15 extends LevelSelectButton {
public function LVL_B15(){
tgtLevel = 15;
init();
}
}
}//package
Section 61
//LVL_B16 (LVL_B16)
package {
public class LVL_B16 extends LevelSelectButton {
public function LVL_B16(){
tgtLevel = 16;
init();
}
}
}//package
Section 62
//LVL_B17 (LVL_B17)
package {
public class LVL_B17 extends LevelSelectButton {
public function LVL_B17(){
tgtLevel = 17;
init();
}
}
}//package
Section 63
//LVL_B18 (LVL_B18)
package {
public class LVL_B18 extends LevelSelectButton {
public function LVL_B18(){
tgtLevel = 18;
init();
}
}
}//package
Section 64
//LVL_B19 (LVL_B19)
package {
public class LVL_B19 extends LevelSelectButton {
public function LVL_B19(){
tgtLevel = 19;
init();
}
}
}//package
Section 65
//LVL_B2 (LVL_B2)
package {
public class LVL_B2 extends LevelSelectButton {
public function LVL_B2(){
tgtLevel = 2;
init();
}
}
}//package
Section 66
//LVL_B20 (LVL_B20)
package {
public class LVL_B20 extends LevelSelectButton {
public function LVL_B20(){
tgtLevel = 20;
init();
}
}
}//package
Section 67
//LVL_B21 (LVL_B21)
package {
public class LVL_B21 extends LevelSelectButton {
public function LVL_B21(){
tgtLevel = 21;
init();
}
}
}//package
Section 68
//LVL_B22 (LVL_B22)
package {
public class LVL_B22 extends LevelSelectButton {
public function LVL_B22(){
tgtLevel = 22;
init();
}
}
}//package
Section 69
//LVL_B23 (LVL_B23)
package {
public class LVL_B23 extends LevelSelectButton {
public function LVL_B23(){
tgtLevel = 23;
init();
}
}
}//package
Section 70
//LVL_B24 (LVL_B24)
package {
public class LVL_B24 extends LevelSelectButton {
public function LVL_B24(){
tgtLevel = 24;
init();
}
}
}//package
Section 71
//LVL_B3 (LVL_B3)
package {
public class LVL_B3 extends LevelSelectButton {
public function LVL_B3(){
tgtLevel = 3;
init();
}
}
}//package
Section 72
//LVL_B4 (LVL_B4)
package {
public class LVL_B4 extends LevelSelectButton {
public function LVL_B4(){
tgtLevel = 4;
init();
}
}
}//package
Section 73
//LVL_B5 (LVL_B5)
package {
public class LVL_B5 extends LevelSelectButton {
public function LVL_B5(){
tgtLevel = 5;
init();
}
}
}//package
Section 74
//LVL_B6 (LVL_B6)
package {
public class LVL_B6 extends LevelSelectButton {
public function LVL_B6(){
tgtLevel = 6;
init();
}
}
}//package
Section 75
//LVL_B7 (LVL_B7)
package {
public class LVL_B7 extends LevelSelectButton {
public function LVL_B7(){
tgtLevel = 7;
init();
}
}
}//package
Section 76
//LVL_B8 (LVL_B8)
package {
public class LVL_B8 extends LevelSelectButton {
public function LVL_B8(){
tgtLevel = 8;
init();
}
}
}//package
Section 77
//LVL_B9 (LVL_B9)
package {
public class LVL_B9 extends LevelSelectButton {
public function LVL_B9(){
tgtLevel = 9;
init();
}
}
}//package
Section 78
//messagePop (messagePop)
package {
import flash.display.*;
import flash.text.*;
public class messagePop extends Sprite {
public var scoreT:TextField;
public var life:int;
public var message:String;
public var vx:Number;
public var vy:Number;
public var game:Game;
public function messagePop(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Game, _arg5:Number=0, _arg6:Number=0, _arg7:int=100){
game = _arg4;
message = _arg1;
x = _arg2;
y = _arg3;
vx = _arg5;
vy = _arg6;
life = _arg7;
scoreT.text = message;
game.addMisc(this);
}
public function Tick(){
life--;
x = (x + vx);
y = (y + vy);
vy = (vy * 0.9);
alpha = (alpha - 0.005);
if (life < 0){
game.removeMisc(this);
parent.removeChild(this);
};
}
}
}//package
Section 79
//messagePopSpecial (messagePopSpecial)
package {
import flash.display.*;
import flash.text.*;
public class messagePopSpecial extends Sprite {
public var scoreT:TextField;
public var life:int;
public var message:String;
public var vx:Number;
public var vy:Number;
public var game:Game;
public function messagePopSpecial(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Game, _arg5:Number=0, _arg6:Number=0, _arg7:int=100){
game = _arg4;
message = _arg1;
x = _arg2;
y = _arg3;
vx = _arg5;
vy = _arg6;
life = _arg7;
scoreT.text = message;
game.addMisc(this);
}
public function Tick(){
life--;
x = (x + vx);
y = (y + vy);
vy = (vy * 0.98);
if (life < 0){
game.removeMisc(this);
parent.removeChild(this);
};
}
}
}//package
Section 80
//mmButton (mmButton)
package {
public class mmButton extends gameButton {
public function mmButton(){
targetFrame = 1;
}
}
}//package
Section 81
//movingBlock (movingBlock)
package {
public class movingBlock extends GameBlock {
var dir:int;// = 1
var vx:Number;// = 0.2
public function movingBlock(){
dir = 1;
vx = 0.2;
super();
visible = true;
}
override public function Tick(_arg1:Number):void{
var _local2:*;
_local2 = ((vx * dir) * _arg1);
x = (x + _local2);
if ((((x > 620)) || ((x < 20)))){
_local2 = -(((vx * dir) * (_arg1 * 2)));
x = (x + _local2);
dir = (dir * -1);
};
v1.p0.x = (x - 16);
v1.p1.x = (x + 16);
v2.p0.x = (x + 16);
v3.p0.x = (x + 16);
v2.p1.x = (x + 16);
v3.p1.x = (x - 16);
v4.p0.x = (x - 16);
v4.p1.x = (x - 16);
v1.updateVector2();
v2.updateVector2();
v3.updateVector2();
v4.updateVector2();
setGrid();
}
}
}//package
Section 82
//movingBlock2 (movingBlock2)
package {
public class movingBlock2 extends GameBlock {
var dir:int;// = 1
var vx:Number;// = 0.2
public function movingBlock2(){
dir = 1;
vx = 0.2;
super();
visible = true;
}
override public function hit():void{
var _local1:*;
var _local2:Blast;
hitCount++;
game.sfx.bonk();
if (hitCount == 1){
_local1 = (50 * (game.clearList.length + 1));
game.shotScore = (game.shotScore + _local1);
game.messageOut(String((" + " + _local1)), x, (y - 10), 0, -5);
_local2 = new Blast(x, y, 60, game);
game.killBlock(this);
};
if (hitCount > 50){
};
}
override public function Tick(_arg1:Number):void{
var _local2:*;
_local2 = ((vx * dir) * _arg1);
x = (x + _local2);
if (x > 655){
x = -20;
};
v1.p0.x = (x - 16);
v1.p1.x = (x + 16);
v2.p0.x = (x + 16);
v3.p0.x = (x + 16);
v2.p1.x = (x + 16);
v3.p1.x = (x - 16);
v4.p0.x = (x - 16);
v4.p1.x = (x - 16);
v1.updateVector2();
v2.updateVector2();
v3.updateVector2();
v4.updateVector2();
setGrid();
}
}
}//package
Section 83
//multiPeg (multiPeg)
package {
public class multiPeg extends GamePeg {
public function multiPeg(){
svalue = 500;
}
override public function hit(_arg1:Boolean=true):void{
var _local2:Blast;
var _local3:*;
var _local4:*;
hitCount++;
gotoAndStop(2);
if (hitCount == 1){
if (_arg1){
game.sfx.ping();
game.sfx.bWave();
};
_local2 = new Blast(x, y, 60, game);
game.clearList.push(this);
_local3 = (-1 + (Math.random() * 2));
_local4 = (-1 + (Math.random() * 2));
game.fire((x + (_local3 * 4)), ((y + (_local4 * 4)) + 10), _local3, _local4, false);
game.fire((x - (_local3 * 4)), ((y - (_local4 * 4)) - 10), -(_local3), -(_local4), false);
game.messageOut(String(((game.clearList.length + " x ") + svalue)), x, (y - 10), 0, -5);
game.shotScore = (game.shotScore + (game.clearList.length * svalue));
};
}
}
}//package
Section 84
//muteButton (muteButton)
package {
import flash.display.*;
import flash.events.*;
public class muteButton extends gameButton {
public var indicator:MovieClip;
override public function Clicked(_arg1:MouseEvent):void{
game.sfx.mute();
if (game.sfx.bMute){
indicator.gotoAndStop(2);
} else {
indicator.gotoAndStop(1);
};
}
}
}//package
Section 85
//nextLevelButton (nextLevelButton)
package {
import flash.events.*;
public class nextLevelButton extends gameButton {
public function nextLevelButton(){
targetFrame = 12;
}
override public function Clicked(_arg1:MouseEvent):void{
game.nextLevel();
}
}
}//package
Section 86
//overLayMessage (overLayMessage)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class overLayMessage extends Sprite {
public var msgText:TextField;
public function overLayMessage(_arg1){
addEventListener(MouseEvent.CLICK, clicked, false, 0, true);
msgText.text = _arg1;
}
public function clicked(_arg1:MouseEvent):void{
parent.removeChild(this);
}
}
}//package
Section 87
//Particle (Particle)
package {
public class Particle {
public var col:uint;
public var vx:Number;
public var vy:Number;
public var size:int;
public var bGrav;
public var game:Game;
private var gravity:Number;
public var x:Number;
public var y:Number;
public var life:Number;
public function Particle(_arg1, _arg2, _arg3, _arg4, _arg5:Number=8, _arg6:Boolean=true, _arg7:int=2, _arg8:Number=0.1){
var _local9:*;
super();
game = _arg4;
x = _arg1;
y = _arg2;
life = _arg3;
vx = (-((_arg5 / 2)) + (Math.random() * _arg5));
vy = (-((_arg5 / 2)) + (Math.random() * _arg5));
game.fx.particles.push(this);
bGrav = _arg6;
size = _arg7;
gravity = _arg8;
if (!game.slowDown){
col = 16777062;
} else {
_local9 = Math.random();
life = 100;
size = 3;
if (_local9 > 0.7){
col = 0xFF0000;
} else {
if (_local9 > 0.5){
col = 4521796;
} else {
if (_local9 > 0.3){
col = 16729343;
} else {
if (_local9 > 0.1){
col = 39423;
} else {
col = 0xFF6600;
};
};
};
};
};
}
public function Tick():void{
life--;
x = (x + vx);
y = (y + vy);
if (bGrav){
vy = (vy + gravity);
vx = (vx * 0.99);
};
if (life <= 0){
game.fx.removeParticle(this);
};
}
}
}//package
Section 88
//pegSpinner (pegSpinner)
package {
import flash.display.*;
public class pegSpinner extends Sprite {
var position:Number;// = 0
var speed:Number;// = 0.1
var numBalls:int;// = 10
var radius:Number;// = 72
var dist:Number;
var pegList:Array;
var game:Game;
public function pegSpinner(){
pegList = new Array();
radius = 72;
speed = 0.1;
position = 0;
numBalls = 10;
super();
visible = false;
game = Game(parent.parent);
game.levelObjects.push(this);
dist = (360 / numBalls);
init();
}
public function init():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local1 = 0;
_local2 = 0;
_local3 = 0;
_local5 = 0;
while (_local5 < numBalls) {
_local2 = (x + (Math.cos(((_local1 / 180) * Math.PI)) * radius));
_local3 = (y + (Math.sin(((_local1 / 180) * Math.PI)) * radius));
if (Math.random() < 0.2){
_local4 = new DynamicRedPeg(game);
} else {
_local4 = new DynamicPeg(game);
};
_local4.x = _local2;
_local4.y = _local3;
parent.addChild(_local4);
pegList.push(_local4);
_local1 = (_local1 + dist);
_local5++;
};
}
public function Tick(_arg1):void{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
position = (position + (speed * _arg1));
_local2 = pegList.length;
_local4 = 0;
_local5 = 0;
_local6 = 0;
_local7 = 0;
while (_local7 < _local2) {
_local5 = (x + (Math.cos((((_local4 + position) / 180) * Math.PI)) * radius));
_local6 = (y + (Math.sin((((_local4 + position) / 180) * Math.PI)) * radius));
_local3 = pegList[_local7];
if (_local3 != undefined){
_local3.x = _local5;
_local3.y = _local6;
_local3.setGrid();
};
_local4 = (_local4 + dist);
_local7++;
};
}
}
}//package
Section 89
//pegSpinner2 (pegSpinner2)
package {
import flash.display.*;
public class pegSpinner2 extends Sprite {
var position:Number;// = 0
var speed:Number;// = -0.1
var numBalls:int;// = 6
var radius:Number;// = 38
var dist:Number;
var pegList:Array;
var game:Game;
public function pegSpinner2(){
pegList = new Array();
radius = 38;
speed = -0.1;
position = 0;
numBalls = 6;
super();
visible = false;
game = Game(parent.parent);
game.levelObjects.push(this);
dist = (360 / numBalls);
init();
}
public function init():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local1 = 0;
_local2 = 0;
_local3 = 0;
_local5 = 0;
while (_local5 < numBalls) {
_local2 = (x + (Math.cos(((_local1 / 180) * Math.PI)) * radius));
_local3 = (y + (Math.sin(((_local1 / 180) * Math.PI)) * radius));
if (Math.random() < 0.2){
_local4 = new DynamicRedPeg(game);
} else {
_local4 = new DynamicPeg(game);
};
_local4.x = _local2;
_local4.y = _local3;
parent.addChild(_local4);
pegList.push(_local4);
_local1 = (_local1 + dist);
_local5++;
};
}
public function Tick(_arg1):void{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
position = (position + (speed * _arg1));
_local2 = pegList.length;
_local4 = 0;
_local5 = 0;
_local6 = 0;
_local7 = 0;
while (_local7 < _local2) {
_local5 = (x + (Math.cos((((_local4 + position) / 180) * Math.PI)) * radius));
_local6 = (y + (Math.sin((((_local4 + position) / 180) * Math.PI)) * radius));
_local3 = pegList[_local7];
if (_local3 != undefined){
_local3.x = _local5;
_local3.y = _local6;
_local3.setGrid();
};
_local4 = (_local4 + dist);
_local7++;
};
}
}
}//package
Section 90
//ping_2 (ping_2)
package {
import flash.media.*;
public dynamic class ping_2 extends Sound {
}
}//package
Section 91
//ping_3 (ping_3)
package {
import flash.media.*;
public dynamic class ping_3 extends Sound {
}
}//package
Section 92
//ping_4 (ping_4)
package {
import flash.media.*;
public dynamic class ping_4 extends Sound {
}
}//package
Section 93
//ping1 (ping1)
package {
import flash.media.*;
public dynamic class ping1 extends Sound {
}
}//package
Section 94
//playButton (playButton)
package {
public class playButton extends gameButton {
public function playButton(){
targetFrame = 2;
}
}
}//package
Section 95
//playLevelButton (playLevelButton)
package {
import flash.events.*;
public class playLevelButton extends gameButton {
public function playLevelButton(){
targetFrame = 12;
}
override public function Clicked(_arg1:MouseEvent):void{
game.getLevel((game.SelectedLevel.tgtLevel + 10));
}
}
}//package
Section 96
//Pointer (Pointer)
package {
import flash.display.*;
public dynamic class Pointer extends MovieClip {
}
}//package
Section 97
//rc1 (rc1)
package {
import flash.media.*;
public dynamic class rc1 extends Sound {
}
}//package
Section 98
//rc2 (rc2)
package {
import flash.media.*;
public dynamic class rc2 extends Sound {
}
}//package
Section 99
//rc3 (rc3)
package {
import flash.media.*;
public dynamic class rc3 extends Sound {
}
}//package
Section 100
//rc4 (rc4)
package {
import flash.media.*;
public dynamic class rc4 extends Sound {
}
}//package
Section 101
//RedPeg (RedPeg)
package {
public class RedPeg extends GamePeg {
public function RedPeg(){
bRed = true;
game.levelReds = (game.levelReds + 1);
svalue = 500;
}
override public function hit(_arg1:Boolean=true):void{
var _local2:Blast;
hitCount++;
gotoAndStop(2);
if (hitCount == 1){
if (_arg1){
game.sfx.ping();
};
game.levelReds = (game.levelReds - 1);
if (game.levelReds <= 0){
game.sfx.drumRoll();
};
_local2 = new Blast(x, y, 60, game);
game.clearList.push(this);
game.messageOut(String(((game.clearList.length + " x ") + svalue)), x, (y - 10), 0, -5);
game.shotScore = (game.shotScore + (game.clearList.length * svalue));
};
}
}
}//package
Section 102
//renderSprite (renderSprite)
package {
import flash.display.*;
public class renderSprite {
public var y:Number;
public var vx:Number;
public var bSize:int;
public var bmp:BitmapData;
public var speed:Number;
public var vy:Number;
public var numFrames:int;
public var grid:int;
public var tFrame:Number;// = 0
public var game:Game;
public var fRate:Number;
public var frame:int;
public var gx:int;
public var lifeSpan:int;
public var x:Number;
public var gy:int;
public var life:Number;// = 0
public var bDie:Boolean;// = false
public function renderSprite(_arg1:Game, _arg2:BitmapData, _arg3:int, _arg4:Number, _arg5:Number, _arg6:Number=0, _arg7:Number=0, _arg8:int=0, _arg9:Number=1, _arg10:int=100, _arg11:Number=1){
tFrame = 0;
life = 0;
bDie = false;
super();
game = _arg1;
bmp = _arg2;
bSize = _arg3;
x = _arg4;
y = _arg5;
vx = _arg6;
vy = _arg7;
numFrames = _arg8;
fRate = _arg9;
lifeSpan = _arg10;
speed = _arg11;
grid = game.grid;
game.renderElements.push(this);
}
public function destroyed():void{
game = null;
bmp = null;
}
public function Tick(_arg1:Number):void{
x = (x + (vx * _arg1));
y = (y + (vy * _arg1));
life = (life + (fRate * _arg1));
tFrame = (tFrame + (fRate * _arg1));
frame = Math.floor(tFrame);
if (frame >= numFrames){
tFrame = 0;
};
if (life > lifeSpan){
bDie = true;
game.killSprite(this);
};
}
}
}//package
Section 103
//retryButton (retryButton)
package {
import flash.events.*;
public class retryButton extends gameButton {
public function retryButton(){
targetFrame = 12;
}
override public function Clicked(_arg1:MouseEvent):void{
game.retryLevel();
}
}
}//package
Section 104
//RghtButton (RghtButton)
package {
import flash.display.*;
import flash.events.*;
public class RghtButton extends MovieClip {
var owner:levelSelector;
public function RghtButton(){
addEventListener(MouseEvent.CLICK, Clicked, false, 0, true);
addEventListener(MouseEvent.ROLL_OVER, rollOver, false, 0, true);
addEventListener(MouseEvent.ROLL_OUT, rollOut, false, 0, true);
owner = levelSelector(parent);
}
public function Clicked(_arg1:MouseEvent):void{
owner.selectNext();
}
public function rollOut(_arg1:MouseEvent):void{
scaleX = 1;
scaleY = 1;
}
public function rollOver(_arg1:MouseEvent):void{
scaleX = 1.1;
scaleY = 1.1;
}
}
}//package
Section 105
//smash1 (smash1)
package {
import flash.media.*;
public dynamic class smash1 extends Sound {
}
}//package
Section 106
//soundManager (soundManager)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
public class soundManager extends Sprite {
var game:Game;
var plink2:Sound;
var plink3:Sound;
var plink5:Sound;
var plink7:Sound;
var plink1:Sound;
var plink6:Sound;
var plink4:Sound;
var plink9:Sound;
var win:Sound;
var drumroll:Sound;
var plink10:Sound;
var hs:SoundChannel;
var plink8:Sound;
var dink:Sound;
var bMus:Boolean;// = false
var Blast1:Sound;
var heart:Sound;
var ds:SoundChannel;
var boom1:Sound;
var boom2:Sound;
var boom3:Sound;
var boom4:Sound;
var ms:SoundChannel;
var tada:Sound;
var bMute:Boolean;// = false
var bonk1:Sound;
var bgMusic:Sound;
var fadeClock:Timer;
public function soundManager(_arg1){
bMute = false;
bMus = false;
super();
game = _arg1;
fadeClock = new Timer(20, 0);
fadeClock.addEventListener(TimerEvent.TIMER, fadeout, false, 0, true);
bgMusic = new circusring();
plink1 = new blip1();
plink2 = new blip2();
plink3 = new blip3();
plink4 = new blip4();
plink5 = new blip5();
plink6 = new blip6();
plink7 = new blip7();
plink8 = new blip8();
plink9 = new blip9();
plink10 = new blip10();
drumroll = new Drum();
heart = new Heart();
tada = new Tada();
win = new Winner();
dink = new ping1();
boom1 = new smash1();
Blast1 = new blast1();
}
public function mute():void{
var _local1:*;
if (bMute){
bMute = false;
_local1 = new SoundTransform(0.6);
if (ds != null){
ds.soundTransform = _local1;
};
if (ms != null){
ms.soundTransform = _local1;
};
} else {
bMute = true;
_local1 = new SoundTransform(0);
if (ds != null){
ds.soundTransform = _local1;
};
if (ms != null){
ms.soundTransform = _local1;
};
};
}
public function playbgm():void{
var _local1:*;
if (!bMute){
if (!bMus){
bMus = true;
_local1 = new SoundTransform(0.6);
ms = bgMusic.play(0, 3, _local1);
};
};
}
public function boom(_arg1=100):void{
var _local2:SoundChannel;
if (!bMute){
_local2 = boom1.play();
_local2.soundTransform.volume = (0.5 + (_arg1 / 100));
};
}
public function drumRoll():void{
var _local1:*;
if (!bMute){
_local1 = new SoundTransform(0.6);
ds = drumroll.play(0, 50, _local1);
};
}
public function fadeout(_arg1:TimerEvent):void{
var _local2:*;
if (ms.soundTransform.volume > 0.02){
_local2 = new SoundTransform((ms.soundTransform.volume - 0.01));
ms.soundTransform = _local2;
} else {
ms.stop();
bMus = false;
fadeClock.stop();
};
}
public function bWave():void{
if (!bMute){
Blast1.play();
};
}
public function ping():void{
if (!bMute){
switch (game.clearList.length){
case 0:
plink1.play();
break;
case 1:
plink1.play();
break;
case 2:
plink2.play();
break;
case 3:
plink3.play();
break;
case 4:
plink4.play();
break;
case 5:
plink5.play();
break;
case 6:
plink6.play();
break;
case 7:
plink7.play();
break;
case 8:
plink8.play();
break;
case 9:
plink9.play();
break;
default:
plink10.play();
break;
};
};
}
public function stopbgm():void{
fadeClock.start();
}
public function Win():void{
if (!bMute){
win.play();
};
}
public function stopDrum():void{
ds.stop();
if (!bMute){
tada.play();
};
}
public function bonk():void{
if (!bMute){
dink.play();
};
}
public function startBeat():void{
if (!bMute){
hs = heart.play(0, 50);
};
}
public function stopBeat():void{
hs.stop();
}
}
}//package
Section 107
//Spark (Spark)
package {
public class Spark {
public var vx:Number;
public var vy:Number;
public var game:Game;
public var x:Number;
public var y:Number;
public var life:Number;
public function Spark(_arg1, _arg2, _arg3, _arg4){
game = _arg4;
x = _arg1;
y = _arg2;
life = _arg3;
vx = (-4 + (Math.random() * 8));
vy = (-4 + (Math.random() * 4));
game.fx.sparks.push(this);
}
public function Tick():void{
life--;
x = (x + vx);
y = (y + vy);
vy = (vy + 0.1);
vx = (vx * 0.99);
if (life <= 0){
game.fx.removeSpark(this);
};
}
}
}//package
Section 108
//spritePool (spritePool)
package {
import flash.display.*;
public class spritePool {
public var bloodSplat:BitmapData;
public var trail:BitmapData;
public var flame:BitmapData;
public var explosion:BitmapData;
public var smoke:BitmapData;
}
}//package
Section 109
//Tada (Tada)
package {
import flash.media.*;
public dynamic class Tada extends Sound {
}
}//package
Section 110
//v_math (v_math)
package {
public class v_math {
public static function bounce(_arg1, _arg2){
var _local3:*;
var _local4:*;
var _local5:*;
_local3 = projectVector(_arg1, _arg2.dx, _arg2.dy);
_local4 = projectVector(_arg1, _arg2.lx, _arg2.ly);
_local5 = {};
_local4.vLen = Math.sqrt(((_local4.vx * _local4.vx) + (_local4.vy * _local4.vy)));
_local4.vx = (_arg2.lx * _local4.vLen);
_local4.vy = (_arg2.ly * _local4.vLen);
_local5.vx = (_local3.vx + (_local4.vx * _arg2.f));
_local5.vy = (_local3.vy + (_local4.vy * _arg2.b));
if (_local5.vx == 0){
_local5.vx = 0.02;
};
updateVector(_local5);
return (_local5);
}
public static function closestAngle(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (_arg2 - _arg1);
_local3 = (_local3 % 360);
_local3 = (_local3 + 540);
_local3 = (_local3 % 360);
_local3 = (_local3 - 180);
return (_local3);
}
public static function updateVector(_arg1){
_arg1.vLen = Math.sqrt(((_arg1.vx * _arg1.vx) + (_arg1.vy * _arg1.vy)));
if (_arg1.vLen > 0){
_arg1.dx = (_arg1.vx / _arg1.vLen);
_arg1.dy = (_arg1.vy / _arg1.vLen);
} else {
_arg1.dx = 0;
_arg1.dy = 0;
};
_arg1.rx = -(_arg1.vy);
_arg1.ry = _arg1.vx;
_arg1.lx = _arg1.vy;
_arg1.ly = -(_arg1.vx);
}
public static function projectVector(_arg1, _arg2, _arg3){
var _local4:*;
var _local5:*;
_local4 = ((_arg1.vx * _arg2) + (_arg1.vy * _arg3));
_local5 = {};
_local5.vx = (_local4 * _arg2);
_local5.vy = (_local4 * _arg3);
return (_local5);
}
public static function findIntersection(_arg1, _arg2){
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
_local3 = {};
_local4 = {};
_local3.vx = (_arg1.x - _arg2.p0.x);
_local3.vy = (_arg1.y - _arg2.p0.y);
_local5 = ((_local3.vx * _arg2.dx) + (_local3.vy * _arg2.dy));
if (_local5 < 0){
_local4 = _local3;
} else {
_local6 = {};
_local6.vx = (_arg1.x - _arg2.p1.x);
_local6.vy = (_arg1.y - _arg2.p1.y);
_local5 = ((_local6.vx * _arg2.dx) + (_local6.vy * _arg2.dy));
if (_local5 > 0){
_local4 = _local6;
} else {
_local4 = projectVector(_local3, (_arg2.lx / _arg2.vLen), (_arg2.ly / _arg2.vLen));
};
};
updateVector(_local4);
return (_local4);
}
}
}//package
Section 111
//Vector2 (Vector2)
package {
public class Vector2 {
public var p0:Vpoint;
public var vy:Number;
public var p1:Vpoint;
public var vx:Number;
public var rx:Number;
public var lx:Number;
public var ly:Number;
public var ry:Number;
public var dx:Number;
public var dy:Number;
public var vLen:Number;
public function Vector2(_arg1, _arg2, _arg3, _arg4){
p0 = new Vpoint(_arg1, _arg2);
p1 = new Vpoint(_arg3, _arg4);
updateVector2();
}
public function updateVector2():void{
vx = (p1.x - p0.x);
vy = (p1.y - p0.y);
vLen = Math.sqrt(((vx * vx) + (vy * vy)));
if (vLen > 0){
dx = (vx / vLen);
dy = (vy / vLen);
} else {
dx = 0;
dy = 0;
};
rx = -(vy);
ry = vx;
lx = vy;
ly = -(vx);
}
}
}//package
Section 112
//Winner (Winner)
package {
import flash.media.*;
public dynamic class Winner extends Sound {
}
}//package
Section 113
//Vpoint (Vpoint)
package {
public class Vpoint {
public var x:Number;
public var y:Number;
public function Vpoint(_arg1, _arg2){
x = _arg1;
y = _arg2;
}
}
}//package