Section 1
//MainTimeline (Arena_fla.MainTimeline)
package Arena_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.ui.*;
public dynamic class MainTimeline extends MovieClip {
public var MortarRequest:URLRequest;
public var item:ContextMenuItem;
public var pMortar:CMortar;
public var myMenu:ContextMenu;
public var item1:ContextMenuItem;
public var gMain:CMain;
public function MainTimeline(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
public function MouseUp(_arg1:MouseEvent):void{
var _local2:URLRequest;
_local2 = new URLRequest("http://www.mortargames.com");
navigateToURL(_local2, "_blank");
}
public function itemHandler2(_arg1:ContextMenuEvent){
navigateToURL(MortarRequest, "_blank");
}
function frame3(){
gMain = new CMain(this);
addChild(gMain);
stop();
}
public function itemHandler1(_arg1:ContextMenuEvent){
navigateToURL(MortarRequest, "_blank");
}
function frame1(){
myMenu = new ContextMenu();
MortarRequest = new URLRequest("http://www.mortargames.com");
myMenu.hideBuiltInItems();
item = new ContextMenuItem("Just War Games!");
myMenu.customItems.push(item);
item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, itemHandler1);
item1 = new ContextMenuItem("MortarGames");
myMenu.customItems.push(item1);
item1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, itemHandler2);
item1.separatorBefore = true;
contextMenu = myMenu;
MochiAd.showPreGameAd({clip:root, id:"488d88eaed3a38ba", res:"750x500"});
}
function frame2(){
pMortar = new CMortar();
addChild(pMortar);
pMortar.gotoAndPlay(1);
pMortar.x = 375;
pMortar.y = 250;
stage.frameRate = 24;
addEventListener(MouseEvent.MOUSE_UP, MouseUp);
addEventListener(Event.ENTER_FRAME, onEnterFrame);
stop();
}
public function onEnterFrame(_arg1:Event):void{
if (pMortar.currentFrame == 185){
removeChild(pMortar);
removeEventListener(MouseEvent.MOUSE_UP, MouseUp);
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
stage.frameRate = 100;
gotoAndPlay(3);
};
}
}
}//package Arena_fla
Section 2
//CAI (com.XiotexStudios.XGDK.CAI)
package com.XiotexStudios.XGDK {
import flash.geom.*;
public class CAI {
public var m_fTime:Number;
public var m_fEmergeTime:Number;
public var m_bKill:Boolean;
public var m_fScale:Number;
public var m_fWidth:Number;
public var m_fSpeed:Number;
public var m_fAngle:Number;
public var m_fDX:Number;
public var m_fDY:Number;
public var m_fAlpha:Number;
public var m_fRotationSpeed:Number;
public var m_fFinalScale:Number;
public var m_fOuterRadius:Number;
public var m_iState:Number;
public var m_bActive:Boolean;
public var m_fDiameter:Number;
public var m_fX:Number;
public var m_fY:Number;
public var m_fRealX:Number;
public var m_fRealY:Number;
public var m_fUserData:Number;
public var m_bDoneEmerge:Boolean;
public var m_fRadius:Number;
public var m_pDLLElement:CDoubleLinkedListElement;
public var m_fVX:Number;
public var m_fVY:Number;
public var m_fDist:Number;
public var m_fHeight:Number;
public var m_fMoveType:Number;
public var m_pColourMatrix:ColorTransform;
public var m_fMoveDelayReset:Number;
public var m_iHits:int;
public var m_fMoveDelay:Number;
public var m_pMatrix:Matrix;
public static const AI_AVOID_PLAYER:Number = 1;
public static const AI_DIE:Number = 2;
public static const AI_RENDER_ONLY:Number = 1;
public static const AI_STATIC:Number = 2;
public static const AI_EMERGE:Number = 0;
public static const AI_MOVE_AND_RENDER:Number = 0;
public static const AI_SEEK_PLAYER:Number = 0;
public static const AI_ACTIVE:Number = 1;
public static var m_fUpperY:Number;
private static var m_vAIPool:CDoubleLinkedList;
private static var m_pPlayer:IPlayer;
private static var m_pWorld:IWorld;
public static var m_fUpperX:Number;
public static var m_fLowerX:Number;
public static var m_fLowerY:Number;
public static var m_vActiveAI:CDoubleLinkedList;
private static var m_pGameUnit:IGameUnit;
public function Kill():void{
m_bKill = true;
}
public function Collide(_arg1:Number, _arg2:Number, _arg3:Number, _arg4):void{
m_fDX = (_arg1 - (m_fX + (m_fWidth / 2)));
m_fDY = (_arg2 - (m_fY + (m_fHeight / 2)));
m_fDist = Math.sqrt(((m_fDX * m_fDX) + (m_fDY * m_fDY)));
m_fDX = (m_fDX / m_fDist);
m_fDY = (m_fDY / m_fDist);
if (m_fDist <= (_arg3 + m_fRadius)){
m_pGameUnit.OnAICollisionWithPlayer(this, _arg4);
};
}
public function CollideBullet(_arg1:Number, _arg2:Number, _arg3:Number):Boolean{
m_fDX = (_arg1 - m_fX);
m_fDY = (_arg2 - m_fY);
m_fDist = Math.sqrt(((m_fDX * m_fDX) + (m_fDY * m_fDY)));
m_fDX = (m_fDX / m_fDist);
m_fDY = (m_fDY / m_fDist);
if (m_fDist <= (_arg3 + m_fRadius)){
m_pGameUnit.OnAICollisionWithBullet(this);
return (true);
};
return (false);
}
public function Render(_arg1:Number):Boolean{
if (_arg1 == AI_MOVE_AND_RENDER){
switch (m_iState){
case AI_EMERGE:
m_fTime = (m_fTime + FPSCounter.GetTimeDelta());
if (m_fTime >= m_fEmergeTime){
m_iState = AI_ACTIVE;
m_fTime = 0;
};
break;
case AI_ACTIVE:
Move();
break;
case AI_DIE:
m_pGameUnit.OnAIDie(this);
break;
};
};
if (m_pWorld.InView(m_fX, m_fY, m_fWidth, m_fHeight)){
m_fRealX = m_pWorld.GetRealX(m_fX);
m_fRealY = m_pWorld.GetRealY(m_fY);
switch (m_iState){
case AI_EMERGE:
m_pMatrix.identity();
m_pMatrix.translate((-(m_fWidth) / 2), (-(m_fHeight) / 2));
m_pMatrix.rotate(m_fAngle);
m_pMatrix.scale(m_fScale, m_fScale);
m_pMatrix.translate(m_fRealX, m_fRealY);
m_pColourMatrix.alphaMultiplier = (m_fTime / m_fEmergeTime);
m_pGameUnit.OnAIEmerge(this);
m_bDoneEmerge = true;
break;
case AI_ACTIVE:
m_pMatrix.identity();
m_pMatrix.translate((-(m_fWidth) / 2), (-(m_fHeight) / 2));
m_pMatrix.rotate(m_fAngle);
m_pMatrix.scale(m_fScale, m_fScale);
m_pMatrix.translate(m_fRealX, m_fRealY);
m_pGameUnit.OnAIActive(this);
break;
};
};
return (true);
}
public function Move():void{
m_fDX = ((m_pPlayer.GetX() + 50) - (m_fX + (m_fWidth / 2)));
m_fDY = ((m_pPlayer.GetY() + 50) - (m_fY + (m_fHeight / 2)));
m_fDist = Math.sqrt(((m_fDX * m_fDX) + (m_fDY * m_fDY)));
m_fDX = (m_fDX / m_fDist);
m_fDY = (m_fDY / m_fDist);
m_fAngle = (m_fAngle + (m_fRotationSpeed * FPSCounter.GetTimeDelta()));
if (m_fAngle >= (Math.PI * 2)){
m_fAngle = (m_fAngle - (Math.PI * 2));
};
m_fMoveDelay = (m_fMoveDelay - FPSCounter.GetTimeDelta());
if (m_fMoveDelay > 0){
return;
};
m_fMoveDelay = m_fMoveDelayReset;
switch (m_fMoveType){
case AI_SEEK_PLAYER:
m_fVX = (m_fVX + (m_fDX * (m_fSpeed * FPSCounter.GetTimeDelta())));
m_fVY = (m_fVY + (m_fDY * (m_fSpeed * FPSCounter.GetTimeDelta())));
break;
case AI_AVOID_PLAYER:
m_fVX = (m_fVX - (m_fDX * (m_fSpeed * FPSCounter.GetTimeDelta())));
m_fVY = (m_fVY - (m_fDY * (m_fSpeed * FPSCounter.GetTimeDelta())));
break;
case AI_STATIC:
break;
};
m_fX = (m_fX + (m_fVX * FPSCounter.GetTimeDelta()));
m_fY = (m_fY + (m_fVY * FPSCounter.GetTimeDelta()));
m_fVX = (m_fVX * 0.9);
m_fVY = (m_fVY * 0.9);
}
public static function CollideAllAndKill(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Boolean{
var _local5:CAI;
var _local6:CDoubleLinkedListElement;
_local6 = m_vActiveAI.m_pHead;
while (_local6) {
_local5 = (_local6.m_pElement as CAI);
if (_local5.m_iState == AI_ACTIVE){
if (_local5.CollideBullet(_arg1, _arg2, _arg3)){
_local5.m_iHits--;
return (true);
};
};
_local6 = _local6.m_pNext;
};
return (false);
}
public static function Shutdown():void{
var _local1:CAI;
var _local2:CDoubleLinkedListElement;
var _local3:CDoubleLinkedListElement;
_local2 = m_vActiveAI.m_pHead;
while (_local2) {
_local1 = (_local2.m_pElement as CAI);
_local3 = _local2.m_pNext;
m_vActiveAI.Erase(_local2);
m_vAIPool.Push(_local1);
_local2 = _local3;
};
}
public static function TraceFirst():void{
}
public static function AllocateAI(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number, _arg10:Number, _arg11:Number, _arg12:Number, _arg13:Number, _arg14:Number, _arg15:int):void{
var _local16:CAI;
_local16 = (m_vAIPool.Pop() as CAI);
if (_local16){
_local16.m_fX = _arg1;
_local16.m_fY = _arg2;
_local16.m_fRadius = _arg3;
_local16.m_fDiameter = (_arg3 * 2);
_local16.m_fOuterRadius = _arg4;
_local16.m_bActive = true;
_local16.m_fSpeed = (_arg5 + (Math.random() * _arg6));
_local16.m_fUserData = _arg7;
_local16.m_fTime = 0;
_local16.m_iState = AI_EMERGE;
_local16.m_fEmergeTime = _arg8;
_local16.m_fMoveType = _arg9;
_local16.m_fWidth = _arg13;
_local16.m_fHeight = _arg14;
_local16.m_fMoveDelay = _arg10;
_local16.m_fMoveDelayReset = _arg10;
_local16.m_fRotationSpeed = _arg11;
_local16.m_fAngle = 0;
_local16.m_fVX = 0;
_local16.m_fVY = 0;
_local16.m_fFinalScale = _arg12;
_local16.m_fScale = _arg12;
_local16.m_pMatrix = new Matrix();
_local16.m_pColourMatrix = new ColorTransform();
_local16.m_bKill = false;
_local16.m_bDoneEmerge = false;
_local16.m_iHits = _arg15;
m_vActiveAI.Push(_local16);
};
}
public static function Initialise(_arg1:int, _arg2:IPlayer, _arg3:IGameUnit, _arg4:IWorld):void{
var _local5:CAI;
var _local6:int;
m_vAIPool = new CDoubleLinkedList();
m_vActiveAI = new CDoubleLinkedList();
_local6 = 0;
while (_local6 < _arg1) {
_local5 = new (CAI);
_local5.m_bActive = false;
m_vAIPool.Push(_local5);
_local6++;
};
m_pPlayer = _arg2;
m_pGameUnit = _arg3;
m_pWorld = _arg4;
}
public static function RenderAll(_arg1:Number):void{
var _local2:CAI;
var _local3:CDoubleLinkedListElement;
var _local4:CDoubleLinkedListElement;
_local3 = m_vActiveAI.m_pHead;
while (_local3) {
_local2 = (_local3.m_pElement as CAI);
if (((!(_local2.Render(_arg1))) || (_local2.m_bKill))){
_local4 = _local3.m_pNext;
m_vActiveAI.Erase(_local3);
m_vAIPool.Push(_local2);
_local3 = _local4;
} else {
_local3 = _local3.m_pNext;
};
};
}
public static function KillAll(){
var _local1:CAI;
var _local2:CDoubleLinkedListElement;
_local2 = m_vActiveAI.m_pHead;
while (_local2) {
_local1 = (_local2.m_pElement as CAI);
_local1.Kill();
_local2 = _local2.m_pNext;
};
}
public static function EnforceSeperation():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Array;
var _local5:CAI;
var _local6:CAI;
var _local7:CDoubleLinkedListElement;
var _local8:int;
var _local9:int;
var _local10:int;
_local4 = new Array();
_local7 = m_vActiveAI.m_pHead;
while (_local7) {
_local5 = (_local7.m_pElement as CAI);
_local4.push(_local5);
_local7 = _local7.m_pNext;
};
_local8 = _local4.length;
_local9 = 0;
while (_local9 < _local8) {
_local5 = (_local4[_local9] as CAI);
if ((((_local5.m_fX < m_fLowerX)) || ((_local5.m_fX > m_fUpperX)))){
_local5.m_fVX = (_local5.m_fVX * -1);
_local5.m_fVX = (_local5.m_fVX * 1.1);
};
if ((((_local5.m_fY < m_fLowerY)) || ((_local5.m_fY > m_fUpperY)))){
_local5.m_fVY = (_local5.m_fVY * -1);
_local5.m_fVY = (_local5.m_fVY * 1.1);
};
_local10 = 1;
while (_local10 < (_local8 - 1)) {
_local6 = (_local4[_local10] as CAI);
if (((!((_local5 == _local6))) && (!((_local6.m_fMoveType == AI_STATIC))))){
_local1 = (_local5.m_fX - _local6.m_fX);
_local2 = (_local5.m_fY - _local6.m_fY);
_local3 = Math.sqrt(((_local1 * _local1) + (_local2 * _local2)));
if ((((_local3 <= (_local5.m_fRadius + _local6.m_fRadius))) && (!((_local3 == 0))))){
_local1 = (_local1 / _local3);
_local2 = (_local2 / _local3);
_local6.m_fVX = (_local6.m_fVX + (-(_local1) * ((_local6.m_fSpeed * 20) * FPSCounter.GetTimeDelta())));
_local6.m_fVY = (_local6.m_fVY + (-(_local2) * ((_local6.m_fSpeed * 20) * FPSCounter.GetTimeDelta())));
};
};
_local10++;
};
_local9++;
};
}
public static function CollideAll(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
var _local5:CAI;
var _local6:CDoubleLinkedListElement;
_local6 = m_vActiveAI.m_pHead;
while (_local6) {
_local5 = (_local6.m_pElement as CAI);
if (_local5.m_iState == AI_ACTIVE){
_local5.Collide(_arg1, _arg2, _arg3, _arg4);
};
_local6 = _local6.m_pNext;
};
}
}
}//package com.XiotexStudios.XGDK
Section 3
//CBitmapWindow (com.XiotexStudios.XGDK.CBitmapWindow)
package com.XiotexStudios.XGDK {
import flash.display.*;
import flash.geom.*;
public class CBitmapWindow implements IWorld {
private var m_pPoint:Point;
public var m_fWidth:Number;
public var m_fHeight:Number;
public var m_pRect:Rectangle;
private var m_pBitmap:BitmapData;
public var m_fOffsetX:Number;
public var m_fOffsetY:Number;
public function SetXY(_arg1:Number, _arg2:Number):void{
m_fOffsetX = _arg1;
m_fOffsetY = _arg2;
}
public function InView(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Boolean{
if ((((_arg1 >= (m_pRect.x - _arg3))) && ((_arg1 <= ((m_pRect.x + m_pRect.width) + _arg3))))){
if ((((_arg2 >= (m_pRect.y - _arg4))) && ((_arg2 <= ((m_pRect.y + m_pRect.height) + _arg4))))){
return (true);
};
};
return (false);
}
public function Initialise(_arg1:BitmapData):void{
m_pBitmap = _arg1;
m_fWidth = m_pBitmap.width;
m_fHeight = m_pBitmap.height;
m_fOffsetX = 0;
m_fOffsetY = 0;
m_pRect = new Rectangle();
m_pPoint = new Point();
m_pRect.x = m_fOffsetX;
m_pRect.y = m_fOffsetY;
m_pRect.width = CScreen.GetWidth();
m_pRect.height = CScreen.GetHeight();
m_pPoint.x = 0;
m_pPoint.y = 0;
}
public function GetRealY(_arg1:Number):Number{
return ((_arg1 - m_pRect.y));
}
public function GetRealX(_arg1:Number):Number{
return ((_arg1 - m_pRect.x));
}
public function Render():void{
m_pRect.x = (m_fOffsetX - (m_pRect.width / 2));
m_pRect.y = (m_fOffsetY - (m_pRect.height / 2));
CScreen.GetScreen().copyPixels(m_pBitmap, m_pRect, m_pPoint);
}
}
}//package com.XiotexStudios.XGDK
Section 4
//CBullet (com.XiotexStudios.XGDK.CBullet)
package com.XiotexStudios.XGDK {
import flash.display.*;
public class CBullet {
public var m_fX:Number;
public var m_fY:Number;
public var m_pAI:CAI;
public var m_fLife:Number;
public var m_fSpeed:Number;
public var m_pBitmap:BitmapData;
public var m_fRadius:Number;
public var m_fVX:Number;
public var m_fVY:Number;
public static const BULLET_TYPE_BASIC:Number = 0;
private static var m_iNumBullets:int;
private static var m_vFreeList:Array;
private static var m_iFreeIndex:int;
private static var m_pWorld:IWorld;
public function Update():Boolean{
var _local1:Number;
var _local2:Number;
var _local3:Number;
_local1 = FPSCounter.GetTimeDelta();
m_fLife = (m_fLife - _local1);
if (m_fLife < 0){
return (false);
};
m_fX = (m_fX + ((m_fVX * m_fSpeed) * _local1));
m_fY = (m_fY + ((m_fVY * m_fSpeed) * _local1));
if (CAI.CollideAllAndKill(m_fX, m_fY, m_fRadius, 1)){
return (false);
};
if (m_pWorld.InView(m_fX, m_fY, m_fRadius, m_fRadius)){
_local2 = m_pWorld.GetRealX(m_fX);
_local3 = m_pWorld.GetRealY(m_fY);
CScreen.DrawBitmapFast(m_pBitmap, (_local2 - (m_pBitmap.width / 2)), (_local3 - (m_pBitmap.height / 2)));
};
return (true);
}
public static function Initialise(_arg1:int, _arg2:IWorld):void{
var _local3:CBullet;
var _local4:int;
m_vFreeList = new Array();
m_iFreeIndex = 0;
m_iNumBullets = _arg1;
m_pWorld = _arg2;
_local4 = 0;
while (_local4 < _arg1) {
_local3 = new (CBullet);
m_vFreeList.push(_local3);
_local4++;
};
}
public static function UpdateAll():void{
var _local1:CBullet;
var _local2:CBullet;
var _local3:int;
_local3 = 0;
while (_local3 < m_iFreeIndex) {
_local1 = (m_vFreeList[_local3] as CBullet);
if (!_local1.Update()){
if (m_iFreeIndex > 1){
_local2 = (m_vFreeList[(m_iFreeIndex - 1)] as CBullet);
m_vFreeList[_local3] = _local2;
m_vFreeList[(m_iFreeIndex - 1)] = _local1;
if (_local3 != 0){
_local3--;
};
m_iFreeIndex--;
} else {
m_iFreeIndex = 0;
};
};
_local3++;
};
}
public static function Allocate(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:BitmapData, _arg8:Number):void{
var _local9:CBullet;
_local9 = null;
if (m_iFreeIndex <= (m_vFreeList.length - 1)){
_local9 = (m_vFreeList[m_iFreeIndex] as CBullet);
m_iFreeIndex++;
_local9.m_fX = _arg1;
_local9.m_fY = _arg2;
_local9.m_fVX = _arg3;
_local9.m_fVY = _arg4;
_local9.m_fSpeed = _arg5;
_local9.m_fLife = _arg6;
_local9.m_pBitmap = _arg7;
_local9.m_fRadius = _arg8;
};
}
}
}//package com.XiotexStudios.XGDK
Section 5
//CDisplayList (com.XiotexStudios.XGDK.CDisplayList)
package com.XiotexStudios.XGDK {
public class CDisplayList {
public var m_vDisplayElements:Array;
public var m_bActive:Boolean;
private static var m_vDisplayList:Array;
private static var m_iDepth:int;
public static function Render():void{
var _local1:CDisplayList;
var _local2:CParticle;
var _local3:int;
var _local4:*;
var _local5:int;
_local3 = 0;
while (_local3 < m_iDepth) {
_local1 = m_vDisplayList[_local3];
if (_local1.m_bActive){
_local4 = _local1.m_vDisplayElements.length;
_local5 = 0;
while (_local5 < _local4) {
_local2 = (_local1.m_vDisplayElements[_local5] as CParticle);
_local2.Render();
_local5++;
};
_local1.m_vDisplayElements = new Array();
_local1.m_bActive = false;
};
_local3++;
};
}
public static function Initialise(_arg1:int):void{
var _local2:CDisplayList;
var _local3:int;
m_vDisplayList = new Array();
m_iDepth = _arg1;
_local3 = 0;
while (_local3 < _arg1) {
_local2 = new (CDisplayList);
_local2.m_bActive = false;
_local2.m_vDisplayElements = new Array();
m_vDisplayList.push(_local2);
_local3++;
};
}
public static function Clear():void{
var _local1:CDisplayList;
var _local2:CParticle;
var _local3:int;
_local3 = 0;
while (_local3 < m_iDepth) {
_local1 = m_vDisplayList[_local3];
_local1.m_vDisplayElements = new Array();
_local1.m_bActive = false;
_local3++;
};
}
public static function InsertParticle(_arg1:CParticle):void{
var _local2:Number;
var _local3:int;
_local2 = ((1 - _arg1.m_fAlpha) * 100);
_local3 = _local2;
if (_local3 > m_iDepth){
_local3 = m_iDepth;
};
m_vDisplayList[_local3].m_vDisplayElements.push(_arg1);
m_vDisplayList[_local3].m_bActive = true;
}
}
}//package com.XiotexStudios.XGDK
Section 6
//CDoubleLinkedList (com.XiotexStudios.XGDK.CDoubleLinkedList)
package com.XiotexStudios.XGDK {
public class CDoubleLinkedList {
public var m_pTail:CDoubleLinkedListElement;
public var m_iCount:int;
public var m_pHead:CDoubleLinkedListElement;
public function CDoubleLinkedList(){
m_pHead = null;
m_pTail = null;
m_iCount = 0;
}
public function Erase(_arg1:CDoubleLinkedListElement):void{
if (m_pHead == _arg1){
m_pHead = m_pHead.m_pNext;
};
if (m_pTail == _arg1){
m_pTail = m_pTail.m_pPrev;
};
if (m_pHead == null){
m_pTail = null;
};
_arg1.Erase();
m_iCount--;
}
public function Pop(){
var _local1:*;
if (m_pTail){
_local1 = m_pTail.m_pElement;
m_pTail = m_pTail.m_pPrev;
if (m_pTail){
m_pTail.m_pNext = null;
} else {
m_pHead = null;
};
m_iCount--;
return (_local1);
};
return (null);
}
public function Push(_arg1):void{
var _local2:CDoubleLinkedListElement;
_local2 = new CDoubleLinkedListElement(_arg1);
if (m_pHead){
m_pTail.InsertAfter(_local2);
m_pTail = m_pTail.m_pNext;
} else {
m_pHead = _local2;
m_pTail = _local2;
};
m_iCount++;
}
}
}//package com.XiotexStudios.XGDK
Section 7
//CDoubleLinkedListElement (com.XiotexStudios.XGDK.CDoubleLinkedListElement)
package com.XiotexStudios.XGDK {
public class CDoubleLinkedListElement {
public var m_pPrev:CDoubleLinkedListElement;
public var m_pNext:CDoubleLinkedListElement;
public var m_pElement;
public function CDoubleLinkedListElement(_arg1){
m_pElement = _arg1;
m_pNext = null;
m_pPrev = null;
}
public function InsertAfter(_arg1:CDoubleLinkedListElement):void{
_arg1.m_pNext = m_pNext;
_arg1.m_pPrev = this;
if (m_pNext){
m_pNext.m_pPrev = _arg1;
};
m_pNext = _arg1;
}
public function Remove(){
if (m_pPrev){
m_pPrev.m_pNext = m_pNext;
};
if (m_pNext){
m_pNext.m_pPrev = m_pPrev;
};
m_pNext = null;
m_pPrev = null;
return (m_pElement);
}
public function Erase():void{
if (m_pPrev){
m_pPrev.m_pNext = m_pNext;
};
if (m_pNext){
m_pNext.m_pPrev = m_pPrev;
};
m_pNext = null;
m_pPrev = null;
}
public function SetElement(_arg1):void{
m_pElement = _arg1;
}
public function InsertBefore(_arg1:CDoubleLinkedListElement):void{
_arg1.m_pNext = this;
_arg1.m_pPrev = m_pPrev;
if (m_pPrev){
m_pPrev.m_pNext = _arg1;
};
m_pPrev = _arg1;
}
}
}//package com.XiotexStudios.XGDK
Section 8
//CEmptyWorld (com.XiotexStudios.XGDK.CEmptyWorld)
package com.XiotexStudios.XGDK {
public class CEmptyWorld implements IWorld {
public function GetRealX(_arg1:Number):Number{
return (_arg1);
}
public function GetRealY(_arg1:Number):Number{
return (_arg1);
}
public function InView(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Boolean{
return (true);
}
}
}//package com.XiotexStudios.XGDK
Section 9
//CExplosion (com.XiotexStudios.XGDK.CExplosion)
package com.XiotexStudios.XGDK {
import flash.display.*;
public class CExplosion {
public var m_fNumToEmit:Number;
public var m_fX:Number;
public var m_fY:Number;
public var m_pBitmap:BitmapData;
public var m_fEmitDelayReset:Number;
public var m_fTTL:Number;
public var m_fEmitDelay:Number;
private static var m_vPool:CDoubleLinkedList;
private static var m_iNumberOfExplosions:int;
private static var m_vActive:CDoubleLinkedList;
public function Update():Boolean{
var _local1:Number;
var _local2:Number;
var _local3:int;
m_fTTL = (m_fTTL - FPSCounter.GetTimeDelta());
if (m_fTTL <= 0){
return (false);
};
m_fEmitDelay = (m_fEmitDelay - FPSCounter.GetTimeDelta());
if (m_fEmitDelay > 0){
return (true);
};
m_fEmitDelay = m_fEmitDelayReset;
_local3 = 0;
while (_local3 < m_fNumToEmit) {
_local1 = ((Math.random() * Math.PI) * 2);
_local2 = ((Math.random() * Math.PI) * 2);
_local1 = Math.sin(_local1);
_local2 = Math.sin(_local2);
CParticle.Allocate(m_fX, m_fY, 0, _local1, _local2, 1, (Math.random() * 100), (Math.random() * 100), 300, 0.3, (0.1 + (Math.random() * 1)), (Math.random() * 6), ((Math.random() * 10) - 5), 1, CParticle.PARTICLE_FADE_OVER_LIFE, m_pBitmap, 1.1);
_local3++;
};
return (true);
}
public static function Shutdown():void{
var _local1:CExplosion;
var _local2:CDoubleLinkedListElement;
var _local3:CDoubleLinkedListElement;
_local2 = m_vActive.m_pHead;
while (_local2) {
_local1 = (_local2.m_pElement as CExplosion);
_local3 = _local2.m_pNext;
m_vActive.Erase(_local2);
m_vPool.Push(_local1);
_local2 = _local3;
};
}
public static function UpdateAll():void{
var _local1:CExplosion;
var _local2:CDoubleLinkedListElement;
var _local3:CDoubleLinkedListElement;
_local2 = m_vActive.m_pHead;
while (_local2) {
_local1 = (_local2.m_pElement as CExplosion);
if (!_local1.Update()){
_local3 = _local2.m_pNext;
m_vActive.Erase(_local2);
m_vPool.Push(_local1);
_local2 = _local3;
} else {
_local2 = _local2.m_pNext;
};
};
}
public static function Allocate(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{
var _local6:CExplosion;
_local6 = (m_vPool.Pop() as CExplosion);
if (_local6){
_local6.m_pBitmap = _arg1;
_local6.m_fX = _arg2;
_local6.m_fY = _arg3;
_local6.m_fNumToEmit = _arg4;
_local6.m_fTTL = _arg5;
_local6.m_fEmitDelayReset = (_arg4 / _arg5);
_local6.m_fEmitDelay = 0;
m_vActive.Push(_local6);
} else {
trace("Ran out");
};
}
public static function Initialise(_arg1:int):void{
var _local2:int;
m_vPool = new CDoubleLinkedList();
m_vActive = new CDoubleLinkedList();
m_iNumberOfExplosions = _arg1;
_local2 = 0;
while (_local2 < _arg1) {
m_vPool.Push(new (CExplosion));
_local2++;
};
}
}
}//package com.XiotexStudios.XGDK
Section 10
//CFont23x23 (com.XiotexStudios.XGDK.CFont23x23)
package com.XiotexStudios.XGDK {
public class CFont23x23 {
private static var m_pW:CW23x23;
private static var m_pY:CY23x23;
private static var m_pX:CX23x23;
private static var m_pZ:CZ23x23;
private static var m_p0:C023x23;
private static var m_p1:C123x23;
private static var m_p3:C323x23;
private static var m_p4:C423x23;
private static var m_p5:C523x23;
private static var m_p6:C623x23;
private static var m_p7:C723x23;
private static var m_p2:C223x23;
private static var m_p8:C823x23;
private static var m_pA:CA23x23;
private static var m_pB:CB23x23;
private static var m_pC:CC23x23;
private static var m_pD:CD23x23;
private static var m_pE:CE23x23;
private static var m_pF:CF23x23;
private static var m_pG:CG23x23;
private static var m_p9:C923x23;
private static var m_pI:CI23x23;
private static var m_pJ:CJ23x23;
private static var m_pK:CK23x23;
private static var m_pL:CL23x23;
private static var m_pM:CM23x23;
private static var m_pN:CN23x23;
private static var m_pH:CH23x23;
private static var m_pP:CP23x23;
private static var m_pT:CT23x23;
private static var m_pO:CO23x23;
private static var m_pQ:CQ23x23;
private static var m_pR:CR23x23;
private static var m_pS:CS23x23;
private static var m_pU:CU23x23;
private static var m_pV:CV23x23;
public static function Initialise():void{
m_p0 = new C023x23(0, 0);
m_p1 = new C123x23(0, 0);
m_p2 = new C223x23(0, 0);
m_p3 = new C323x23(0, 0);
m_p4 = new C423x23(0, 0);
m_p5 = new C523x23(0, 0);
m_p6 = new C623x23(0, 0);
m_p7 = new C723x23(0, 0);
m_p8 = new C823x23(0, 0);
m_p9 = new C923x23(0, 0);
m_pA = new CA23x23(0, 0);
m_pB = new CB23x23(0, 0);
m_pC = new CC23x23(0, 0);
m_pD = new CD23x23(0, 0);
m_pE = new CE23x23(0, 0);
m_pF = new CF23x23(0, 0);
m_pG = new CG23x23(0, 0);
m_pH = new CH23x23(0, 0);
m_pI = new CI23x23(0, 0);
m_pJ = new CJ23x23(0, 0);
m_pK = new CK23x23(0, 0);
m_pL = new CL23x23(0, 0);
m_pM = new CM23x23(0, 0);
m_pN = new CN23x23(0, 0);
m_pO = new CO23x23(0, 0);
m_pP = new CP23x23(0, 0);
m_pQ = new CQ23x23(0, 0);
m_pR = new CR23x23(0, 0);
m_pS = new CS23x23(0, 0);
m_pT = new CT23x23(0, 0);
m_pU = new CU23x23(0, 0);
m_pV = new CV23x23(0, 0);
m_pW = new CW23x23(0, 0);
m_pX = new CX23x23(0, 0);
m_pY = new CY23x23(0, 0);
m_pZ = new CZ23x23(0, 0);
}
public static function DrawString(_arg1:String, _arg2:Number, _arg3:Number):void{
var _local4:int;
var _local5:int;
_local4 = _arg1.length;
_local5 = 0;
while (_local5 < _local4) {
switch (_arg1.charAt(_local5)){
case "0":
CScreen.DrawBitmapFast(m_p0, _arg2, _arg3);
break;
case "1":
CScreen.DrawBitmapFast(m_p1, _arg2, _arg3);
break;
case "2":
CScreen.DrawBitmapFast(m_p2, _arg2, _arg3);
break;
case "3":
CScreen.DrawBitmapFast(m_p3, _arg2, _arg3);
break;
case "4":
CScreen.DrawBitmapFast(m_p4, _arg2, _arg3);
break;
case "5":
CScreen.DrawBitmapFast(m_p5, _arg2, _arg3);
break;
case "6":
CScreen.DrawBitmapFast(m_p6, _arg2, _arg3);
break;
case "7":
CScreen.DrawBitmapFast(m_p7, _arg2, _arg3);
break;
case "8":
CScreen.DrawBitmapFast(m_p8, _arg2, _arg3);
break;
case "9":
CScreen.DrawBitmapFast(m_p9, _arg2, _arg3);
break;
case "A":
CScreen.DrawBitmapFast(m_pA, _arg2, _arg3);
break;
case "B":
CScreen.DrawBitmapFast(m_pB, _arg2, _arg3);
break;
case "C":
CScreen.DrawBitmapFast(m_pC, _arg2, _arg3);
break;
case "D":
CScreen.DrawBitmapFast(m_pD, _arg2, _arg3);
break;
case "E":
CScreen.DrawBitmapFast(m_pE, _arg2, _arg3);
break;
case "F":
CScreen.DrawBitmapFast(m_pF, _arg2, _arg3);
break;
case "G":
CScreen.DrawBitmapFast(m_pG, _arg2, _arg3);
break;
case "H":
CScreen.DrawBitmapFast(m_pH, _arg2, _arg3);
break;
case "I":
CScreen.DrawBitmapFast(m_pI, _arg2, _arg3);
break;
case "J":
CScreen.DrawBitmapFast(m_pJ, _arg2, _arg3);
break;
case "K":
CScreen.DrawBitmapFast(m_pK, _arg2, _arg3);
break;
case "L":
CScreen.DrawBitmapFast(m_pL, _arg2, _arg3);
break;
case "M":
CScreen.DrawBitmapFast(m_pM, _arg2, _arg3);
break;
case "N":
CScreen.DrawBitmapFast(m_pN, _arg2, _arg3);
break;
case "O":
CScreen.DrawBitmapFast(m_pO, _arg2, _arg3);
break;
case "P":
CScreen.DrawBitmapFast(m_pP, _arg2, _arg3);
break;
case "Q":
CScreen.DrawBitmapFast(m_pQ, _arg2, _arg3);
break;
case "R":
CScreen.DrawBitmapFast(m_pR, _arg2, _arg3);
break;
case "S":
CScreen.DrawBitmapFast(m_pS, _arg2, _arg3);
break;
case "T":
CScreen.DrawBitmapFast(m_pT, _arg2, _arg3);
break;
case "U":
CScreen.DrawBitmapFast(m_pU, _arg2, _arg3);
break;
case "V":
CScreen.DrawBitmapFast(m_pV, _arg2, _arg3);
break;
case "W":
CScreen.DrawBitmapFast(m_pW, _arg2, _arg3);
break;
case "X":
CScreen.DrawBitmapFast(m_pX, _arg2, _arg3);
break;
case "Y":
CScreen.DrawBitmapFast(m_pY, _arg2, _arg3);
break;
case "Z":
CScreen.DrawBitmapFast(m_pZ, _arg2, _arg3);
break;
case " ":
break;
};
_arg2 = (_arg2 + 28);
_local5++;
};
}
public static function DrawNumber(_arg1:int, _arg2:Number, _arg3:Number):void{
var _local4:String;
var _local5:int;
var _local6:int;
_local4 = _arg1.toString();
_local5 = _local4.length;
_local6 = 0;
while (_local6 < _local5) {
switch (_local4.charAt(_local6)){
case "0":
CScreen.DrawBitmapFast(m_p0, _arg2, _arg3);
break;
case "1":
CScreen.DrawBitmapFast(m_p1, _arg2, _arg3);
break;
case "2":
CScreen.DrawBitmapFast(m_p2, _arg2, _arg3);
break;
case "3":
CScreen.DrawBitmapFast(m_p3, _arg2, _arg3);
break;
case "4":
CScreen.DrawBitmapFast(m_p4, _arg2, _arg3);
break;
case "5":
CScreen.DrawBitmapFast(m_p5, _arg2, _arg3);
break;
case "6":
CScreen.DrawBitmapFast(m_p6, _arg2, _arg3);
break;
case "7":
CScreen.DrawBitmapFast(m_p7, _arg2, _arg3);
break;
case "8":
CScreen.DrawBitmapFast(m_p8, _arg2, _arg3);
break;
case "9":
CScreen.DrawBitmapFast(m_p9, _arg2, _arg3);
break;
};
_arg2 = (_arg2 + 28);
_local6++;
};
}
}
}//package com.XiotexStudios.XGDK
Section 11
//CGame (com.XiotexStudios.XGDK.CGame)
package com.XiotexStudios.XGDK {
import flash.display.*;
import flash.events.*;
public class CGame {
public static var m_pStage:Stage;
private static var m_fLastMemory:Number;
public static var m_sURL:String;
public static var m_fWidth:Number;
public static var m_fHeight:Number;
public static function KeyDown(_arg1:KeyboardEvent):void{
CGameUnit.KeyDown(_arg1);
}
public static function OnMouseDown(_arg1:MouseEvent):void{
}
public static function GetMouseX():Number{
return (m_pStage.mouseX);
}
public static function GetMouseY():Number{
return (m_pStage.mouseY);
}
public static function MouseUp(_arg1:MouseEvent):void{
CGameUnit.MouseUp(_arg1);
}
public static function onEnterFrame(_arg1:Event):void{
FPSCounter.Update();
CScreen.BeginScene();
CGameUnit.Render();
CScreen.Present();
}
public static function GetStage():Stage{
return (m_pStage);
}
public static function Initialise(_arg1:Stage, _arg2:Sprite, _arg3:int, _arg4:int, _arg5:Number, _arg6:Number):void{
m_fWidth = _arg5;
m_fHeight = _arg6;
m_pStage = _arg1;
m_fLastMemory = 0;
CScreen.Initialise(m_fWidth, m_fHeight, _arg2);
CGameUnit.Initialise();
FPSCounter.Initialise(_arg2);
CDisplayList.Initialise(_arg4);
CFont23x23.Initialise();
_arg1.addEventListener(KeyboardEvent.KEY_DOWN, KeyDown);
_arg1.addEventListener(KeyboardEvent.KEY_UP, KeyUp);
_arg1.addEventListener(MouseEvent.MOUSE_UP, MouseUp);
_arg1.addEventListener(MouseEvent.MOUSE_DOWN, OnMouseDown);
_arg2.addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
public static function KeyUp(_arg1:KeyboardEvent):void{
CGameUnit.KeyUp(_arg1);
}
}
}//package com.XiotexStudios.XGDK
Section 12
//CGameUnit (com.XiotexStudios.XGDK.CGameUnit)
package com.XiotexStudios.XGDK {
import flash.events.*;
public class CGameUnit {
private static var m_iCurrentUnit:int;
private static var m_vUnits:Array;
public static function MouseUp(_arg1:Event):void{
if (m_iCurrentUnit != -1){
m_vUnits[m_iCurrentUnit].MouseUp(_arg1);
};
}
public static function KeyDown(_arg1:KeyboardEvent):void{
if (m_iCurrentUnit != -1){
m_vUnits[m_iCurrentUnit].KeyDown(_arg1);
};
}
public static function AddUnit(_arg1:int, _arg2:IGameUnit):void{
m_vUnits[_arg1] = _arg2;
}
public static function MouseDown(_arg1:Event):void{
if (m_iCurrentUnit != -1){
m_vUnits[m_iCurrentUnit].MoueDown(_arg1);
};
}
public static function Initialise():void{
m_vUnits = new Array();
m_iCurrentUnit = -1;
}
public static function KeyUp(_arg1:KeyboardEvent):void{
if (m_iCurrentUnit != -1){
m_vUnits[m_iCurrentUnit].KeyUp(_arg1);
};
}
public static function SetCurrentUnit(_arg1:int):void{
if (m_iCurrentUnit != -1){
m_vUnits[m_iCurrentUnit].Shutdown();
};
m_iCurrentUnit = _arg1;
m_vUnits[m_iCurrentUnit].Prepare();
}
public static function Render():void{
if (m_iCurrentUnit != -1){
m_vUnits[m_iCurrentUnit].Render();
};
}
}
}//package com.XiotexStudios.XGDK
Section 13
//CGlow (com.XiotexStudios.XGDK.CGlow)
package com.XiotexStudios.XGDK {
import flash.display.*;
public class CGlow {
public var m_fNumToEmit:Number;
public var m_fX:Number;
public var m_fY:Number;
public var m_pBitmap:BitmapData;
public var m_fEmitDelayReset:Number;
public var m_fTTL:Number;
public var m_fEmitDelay:Number;
private static var m_vPool:CDoubleLinkedList;
private static var m_vActive:CDoubleLinkedList;
private static var m_iNumberOfGlows:int;
public function Update():Boolean{
var _local1:Number;
var _local2:Number;
var _local3:int;
m_fTTL = (m_fTTL - FPSCounter.GetTimeDelta());
if (m_fTTL <= 0){
return (false);
};
m_fEmitDelay = (m_fEmitDelay - FPSCounter.GetTimeDelta());
if (m_fEmitDelay > 0){
return (true);
};
m_fEmitDelay = m_fEmitDelayReset;
_local3 = 0;
while (_local3 < m_fNumToEmit) {
CParticle.Allocate(m_fX, m_fY, 0, 0, 0, 1, 0, 0, 300, 0.3, (Math.random() * 2), 0, ((1 + (Math.random() * 6)) - 3), 1, CParticle.PARTICLE_FADE_OVER_LIFE, m_pBitmap, (Math.random() * 1.3));
_local3++;
};
return (true);
}
public static function Initialise(_arg1:int):void{
var _local2:int;
m_vPool = new CDoubleLinkedList();
m_vActive = new CDoubleLinkedList();
m_iNumberOfGlows = _arg1;
_local2 = 0;
while (_local2 < _arg1) {
m_vPool.Push(new (CGlow));
_local2++;
};
}
public static function UpdateAll():void{
var _local1:CGlow;
var _local2:CDoubleLinkedListElement;
var _local3:CDoubleLinkedListElement;
_local2 = m_vActive.m_pHead;
while (_local2) {
_local1 = (_local2.m_pElement as CGlow);
if (!_local1.Update()){
_local3 = _local2.m_pNext;
m_vActive.Erase(_local2);
m_vPool.Push(_local1);
_local2 = _local3;
} else {
_local2 = _local2.m_pNext;
};
};
}
public static function Allocate(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{
var _local6:CGlow;
_local6 = (m_vPool.Pop() as CGlow);
if (_local6){
_local6.m_pBitmap = _arg1;
_local6.m_fX = _arg2;
_local6.m_fY = _arg3;
_local6.m_fNumToEmit = _arg4;
_local6.m_fTTL = _arg5;
_local6.m_fEmitDelayReset = (_arg4 / _arg5);
_local6.m_fEmitDelay = 0;
m_vActive.Push(_local6);
};
}
public static function Shutdown():void{
var _local1:CGlow;
var _local2:CDoubleLinkedListElement;
var _local3:CDoubleLinkedListElement;
_local2 = m_vActive.m_pHead;
while (_local2) {
_local1 = (_local2.m_pElement as CGlow);
_local3 = _local2.m_pNext;
m_vActive.Erase(_local2);
m_vPool.Push(_local1);
_local2 = _local3;
};
}
}
}//package com.XiotexStudios.XGDK
Section 14
//CMessage (com.XiotexStudios.XGDK.CMessage)
package com.XiotexStudios.XGDK {
import flash.display.*;
import flash.geom.*;
public class CMessage {
private static var m_fTime:Number;
private static var m_CT:ColorTransform;
private static var m_pBonus:CBonus;
private static var m_Matrix:Matrix;
private static var m_pBitmap:BitmapData;
public static function SetMessage(_arg1:BitmapData):void{
m_pBitmap = _arg1;
m_fTime = 0;
m_pBonus.play();
}
public static function Update():void{
var _local1:*;
if (m_pBitmap){
m_fTime = (m_fTime + FPSCounter.GetTimeDelta());
if (m_fTime >= 4){
m_pBitmap = null;
} else {
_local1 = (1 - (m_fTime / 4));
m_Matrix.identity();
m_Matrix.translate((375 - (m_pBitmap.width / 2)), 400);
m_CT.alphaMultiplier = _local1;
CScreen.DrawBitmapAlpha(m_pBitmap, m_Matrix, m_CT);
};
};
}
public static function Initialise():void{
m_Matrix = new Matrix();
m_CT = new ColorTransform();
m_pBonus = new CBonus();
}
}
}//package com.XiotexStudios.XGDK
Section 15
//CParticle (com.XiotexStudios.XGDK.CParticle)
package com.XiotexStudios.XGDK {
import flash.display.*;
import flash.geom.*;
public class CParticle {
public var m_fWidth:Number;
public var m_fScale:Number;
public var m_fHalfWidth:Number;
public var m_fSpeedX:Number;
public var m_fSpeedY:Number;
public var m_fSpeedZ:Number;
public var m_fAlpha:Number;
public var m_fLife:Number;
public var m_fTTL:Number;
public var m_fAlphaSpeed:Number;
public var m_fAngle:Number;
public var m_fX:Number;
public var m_fY:Number;
public var m_fZ:Number;
public var m_fScaleSpeed:Number;
public var m_fVX:Number;
public var m_fVY:Number;
public var m_fVZ:Number;
public var m_fHeight:Number;
public var m_fAngleSpeed:Number;
public var m_pColourMatrix:ColorTransform;
public var m_pBitmap:BitmapData;
public var m_fHalfHeight:Number;
public var m_pMatrix:Matrix;
public static const PARTICLE_NO_ALPHA_FADE:Number = 9000;
public static const PARTICLE_FADE_OVER_LIFE:Number = 9001;
private static var m_vPool:CDoubleLinkedList;
private static var m_vActive:CDoubleLinkedList;
private static var m_pBitmap:BitmapData;
private static var m_vFreeList:Array;
private static var m_iFreeIndex:int;
private static var m_iNumberOfParticles:int;
private static var m_pWorld:IWorld;
public function CParticle(){
m_pMatrix = new Matrix();
m_pColourMatrix = new ColorTransform();
}
public function Render():void{
var _local1:Number;
var _local2:Number;
if (m_pWorld.InView(m_fX, m_fY, m_fWidth, m_fHeight)){
_local1 = m_pWorld.GetRealX(m_fX);
_local2 = m_pWorld.GetRealY(m_fY);
m_pMatrix.identity();
m_pMatrix.translate(-(m_fHalfWidth), -(m_fHalfHeight));
m_pMatrix.rotate(m_fAngle);
m_pMatrix.scale(m_fScale, m_fScale);
m_pMatrix.translate(_local1, _local2);
m_pColourMatrix.alphaMultiplier = m_fAlpha;
CScreen.DrawBitmapAlpha(m_pBitmap, m_pMatrix, m_pColourMatrix);
};
}
public function Update():Boolean{
var _local1:Number;
_local1 = FPSCounter.GetTimeDelta();
m_fTTL = (m_fTTL - _local1);
if (m_fTTL <= 0){
return (false);
};
m_fX = (m_fX + ((m_fVX * m_fSpeedX) * _local1));
m_fY = (m_fY + ((m_fVY * m_fSpeedY) * _local1));
m_fZ = (m_fZ + ((m_fVZ * m_fSpeedZ) * _local1));
m_fAngle = (m_fAngle + (m_fAngleSpeed * _local1));
if (m_fAngle > (Math.PI * 2)){
m_fAngle = (m_fAngle - (Math.PI * 2));
};
if (m_fAngle < 0){
m_fAngle = (m_fAngle + (Math.PI * 2));
};
m_fScale = (m_fScale + (m_fScaleSpeed * _local1));
switch (m_fAlphaSpeed){
case PARTICLE_NO_ALPHA_FADE:
break;
case PARTICLE_FADE_OVER_LIFE:
m_fAlpha = (m_fTTL / m_fLife);
break;
default:
m_fAlpha = (m_fAlpha - (m_fAlphaSpeed * _local1));
if (m_fAlpha < 0){
m_fAlpha = 0;
};
break;
};
CDisplayList.InsertParticle(this);
return (true);
}
public static function Shutdown():void{
}
public static function SetWorld(_arg1:IWorld):void{
m_pWorld = _arg1;
}
public static function SetScreen(_arg1:BitmapData):void{
m_pBitmap = _arg1;
}
public static function Initialise(_arg1:int, _arg2:IWorld):void{
var _local3:int;
m_vFreeList = new Array();
m_iFreeIndex = 0;
m_iNumberOfParticles = _arg1;
m_pWorld = _arg2;
_local3 = 0;
while (_local3 < _arg1) {
m_vFreeList.push(new (CParticle));
_local3++;
};
}
public static function UpdateAll():void{
var _local1:CParticle;
var _local2:CParticle;
var _local3:int;
_local3 = 0;
while (_local3 < m_iFreeIndex) {
_local1 = (m_vFreeList[_local3] as CParticle);
if (!_local1.Update()){
if (m_iFreeIndex > 1){
_local2 = (m_vFreeList[(m_iFreeIndex - 1)] as CParticle);
m_vFreeList[_local3] = _local2;
m_vFreeList[(m_iFreeIndex - 1)] = _local1;
_local3--;
m_iFreeIndex--;
} else {
m_iFreeIndex = 0;
};
};
_local3++;
};
}
public static function Allocate(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number, _arg10:Number, _arg11:Number, _arg12:Number, _arg13:Number, _arg14:Number, _arg15:Number, _arg16:BitmapData, _arg17:Number){
var _local18:CParticle;
_local18 = null;
if (m_iFreeIndex <= (m_vFreeList.length - 1)){
_local18 = (m_vFreeList[m_iFreeIndex] as CParticle);
m_iFreeIndex++;
_local18.m_pBitmap = _arg16;
_local18.m_fWidth = _arg16.width;
_local18.m_fHeight = _arg16.height;
_local18.m_fHalfWidth = (_local18.m_fWidth / 2);
_local18.m_fHalfHeight = (_local18.m_fHeight / 2);
_local18.m_fX = _arg1;
_local18.m_fY = _arg2;
_local18.m_fZ = _arg3;
_local18.m_fVX = _arg4;
_local18.m_fVY = _arg5;
_local18.m_fVZ = _arg6;
_local18.m_fSpeedX = _arg7;
_local18.m_fSpeedY = _arg8;
_local18.m_fSpeedZ = _arg9;
_local18.m_fScale = _arg10;
_local18.m_fScaleSpeed = _arg11;
_local18.m_fAngle = _arg12;
_local18.m_fAngleSpeed = _arg13;
_local18.m_fAlpha = _arg14;
_local18.m_fAlphaSpeed = _arg15;
_local18.m_fTTL = _arg17;
_local18.m_fLife = _arg17;
};
}
}
}//package com.XiotexStudios.XGDK
Section 16
//CPlayerCentredVelocity (com.XiotexStudios.XGDK.CPlayerCentredVelocity)
package com.XiotexStudios.XGDK {
import flash.events.*;
import flash.ui.*;
public class CPlayerCentredVelocity implements IPlayer {
private var m_fSpeed:Number;
private var m_fCentreX:Number;
private var m_fCentreY:Number;
private var m_fLowerX:Number;
private var m_fUpperX:Number;
private var m_fUpperY:Number;
public var m_fVXN:Number;
private var m_fLowerY:Number;
public var m_fX:Number;
public var m_fY:Number;
private var m_fRadius:Number;
public var m_fVX:Number;
public var m_fVY:Number;
public var m_fVYN:Number;
private static var m_bLeft:Boolean;
private static var m_bDown:Boolean;
private static var m_bUp:Boolean;
private static var m_bRight:Boolean;
public static var m_fAngle:Number;
public function GetVY():Number{
return (m_fVY);
}
public function CPlayerVelocity(){
}
public function OnKeyUp(_arg1:KeyboardEvent):void{
switch (_arg1.keyCode){
case Keyboard.UP:
m_bUp = false;
break;
case Keyboard.DOWN:
m_bDown = false;
break;
case Keyboard.LEFT:
m_bLeft = false;
break;
case Keyboard.RIGHT:
m_bRight = false;
break;
};
}
public function OnKeyDown(_arg1:KeyboardEvent):void{
switch (_arg1.keyCode){
case Keyboard.UP:
m_bUp = true;
break;
case Keyboard.DOWN:
m_bDown = true;
break;
case Keyboard.LEFT:
m_bLeft = true;
break;
case Keyboard.RIGHT:
m_bRight = true;
break;
};
}
public function GetAngle():Number{
return (m_fAngle);
}
public function GetX():Number{
return (m_fX);
}
public function GetY():Number{
return (m_fY);
}
public function Initialise(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number, _arg10:Number):void{
m_fCentreX = _arg3;
m_fCentreY = _arg4;
m_fVX = 0;
m_fVY = 0;
m_fX = _arg1;
m_fY = _arg2;
m_fLowerX = _arg5;
m_fUpperX = _arg6;
m_fLowerY = _arg7;
m_fUpperY = _arg8;
m_fRadius = _arg9;
m_fSpeed = _arg10;
m_bUp = false;
m_bDown = false;
m_bLeft = false;
m_bRight = false;
}
public function GetRadius():Number{
return (m_fRadius);
}
public function Update():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local1 = FPSCounter.GetTimeDelta();
_local2 = (CGame.GetMouseX() - m_fCentreX);
_local3 = (CGame.GetMouseY() - m_fCentreY);
_local4 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3)));
m_fAngle = Math.atan2(_local3, _local2);
m_fVX = (m_fVX + (Math.cos(m_fAngle) * 10));
m_fVY = (m_fVY + (Math.sin(m_fAngle) * 10));
m_fVXN = Math.cos(m_fAngle);
m_fVYN = Math.sin(m_fAngle);
if (m_bLeft){
m_fVX = (m_fVX - (1000 * _local1));
};
if (m_bRight){
m_fVX = (m_fVX + (1000 * _local1));
};
if (m_bUp){
m_fVY = (m_fVY - (1000 * _local1));
};
if (m_bDown){
m_fVY = (m_fVY + (1000 * _local1));
};
m_fX = (m_fX + (m_fVX * FPSCounter.GetTimeDelta()));
m_fY = (m_fY + (m_fVY * FPSCounter.GetTimeDelta()));
m_fVX = (m_fVX * m_fSpeed);
m_fVY = (m_fVY * m_fSpeed);
if ((((m_fX < m_fLowerX)) || ((m_fX > m_fUpperX)))){
m_fVX = (m_fVX * -1);
m_fVX = (m_fVX * 1.1);
};
if ((((m_fY < m_fLowerY)) || ((m_fY > m_fUpperY)))){
m_fVY = (m_fVY * -1);
m_fVY = (m_fVY * 1.1);
};
if (m_fX < m_fLowerX){
m_fX = m_fLowerX;
};
if (m_fX > m_fUpperX){
m_fX = m_fUpperX;
};
if (m_fY < m_fLowerY){
m_fY = m_fLowerY;
};
if (m_fY > m_fUpperY){
m_fY = m_fUpperY;
};
}
public function GetVX():Number{
return (m_fVX);
}
}
}//package com.XiotexStudios.XGDK
Section 17
//CScreen (com.XiotexStudios.XGDK.CScreen)
package com.XiotexStudios.XGDK {
import flash.display.*;
import flash.geom.*;
public class CScreen {
private static var m_iColour:int;
private static var m_pPoint:Point;
private static var m_pRect:Rectangle;
private static var m_pScreen:BitmapData;
private static var m_pScreenBitmap:Bitmap;
public static function DrawBitmapFastWidthHeightOffset1(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{
var _local6:Rectangle;
var _local7:Point;
_local6 = new Rectangle();
_local7 = new Point();
_local7.x = _arg2;
_local7.y = _arg3;
_local6.x = 0;
_local6.y = 0;
_local6.width = _arg4;
_local6.height = (_arg1.height - _arg5);
CScreen.GetScreen().copyPixels(_arg1, _local6, _local7, null, null, true);
}
public static function GetScreen():BitmapData{
return (m_pScreen);
}
public static function BeginSceneNoClear():void{
m_pScreen.lock();
}
public static function DrawParticle(_arg1:Number, _arg2:Number, _arg3:int, _arg4:int):void{
m_pScreen.setPixel32(_arg1, _arg2, _arg3);
m_pScreen.setPixel32((_arg1 - 1), _arg2, _arg4);
m_pScreen.setPixel32((_arg1 + 1), _arg2, _arg4);
m_pScreen.setPixel32(_arg1, (_arg2 - 1), _arg4);
m_pScreen.setPixel32(_arg1, (_arg2 + 1), _arg4);
}
public static function DrawPoint(_arg1:Number, _arg2:Number, _arg3:int):void{
m_pScreen.setPixel32(_arg1, _arg2, _arg3);
}
public static function DrawBitmapFastWidthHeightOffset(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{
var _local6:Rectangle;
var _local7:Point;
_local6 = new Rectangle();
_local7 = new Point();
_local7.x = _arg2;
_local7.y = _arg3;
_local6.x = 0;
_local6.y = (_arg1.height - _arg5);
_local6.width = _arg4;
_local6.height = _arg5;
CScreen.GetScreen().copyPixels(_arg1, _local6, _local7, null, null, true);
}
public static function Initialise(_arg1:Number, _arg2:Number, _arg3:Sprite):void{
m_pScreen = new BitmapData(_arg1, _arg2);
m_pScreenBitmap = new Bitmap();
m_pScreenBitmap.bitmapData = m_pScreen;
_arg3.addChild(m_pScreenBitmap);
m_pRect = new Rectangle(0, 0, _arg1, _arg2);
m_iColour = 4278190080;
m_pPoint = new Point();
}
public static function Present():void{
m_pScreen.unlock();
}
public static function DrawBitmapFastWidth(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number):void{
var _local5:Rectangle;
var _local6:Point;
_local5 = new Rectangle();
_local6 = new Point();
_local6.x = _arg2;
_local6.y = _arg3;
_local5.x = 0;
_local5.y = 0;
_local5.width = _arg4;
_local5.height = _arg1.height;
CScreen.GetScreen().copyPixels(_arg1, _local5, _local6, null, null, true);
}
public static function Line(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:Number):void{
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:int;
var _local11:int;
var _local12:int;
var _local13:int;
_local12 = _arg1;
_local13 = _arg2;
_local6 = (_arg3 - _arg1);
_local7 = (_arg4 - _arg2);
_local9 = ((_local6)>0) ? 1 : -1;
_local10 = ((_local7)>0) ? 1 : -1;
_local6 = Math.abs(_local6);
_local7 = Math.abs(_local7);
m_pScreen.setPixel32(_local12, _local13, _arg5);
if (_local6 > _local7){
_local11 = (_local6 / 2);
_local8 = 1;
while (_local8 <= _local6) {
_local12 = (_local12 + _local9);
_local11 = (_local11 + _local7);
if (_local11 >= _local6){
_local11 = (_local11 - _local6);
_local13 = (_local13 + _local10);
};
m_pScreen.setPixel32(_local12, _local13, _arg5);
_local8++;
};
} else {
_local11 = (_local7 / 2);
_local8 = 1;
while (_local8 <= _local7) {
_local13 = (_local13 + _local10);
_local11 = (_local11 + _local6);
if (_local11 >= _local7){
_local11 = (_local11 - _local7);
_local12 = (_local12 + _local9);
};
m_pScreen.setPixel32(_local12, _local13, _arg5);
_local8++;
};
};
}
public static function BeginScene():void{
m_pScreen.lock();
m_pScreen.fillRect(m_pRect, m_iColour);
}
public static function DrawRect(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:int):void{
var _local6:Rectangle;
_local6 = new Rectangle();
_local6.x = _arg1;
_local6.y = _arg2;
_local6.width = _arg3;
_local6.height = _arg4;
m_pScreen.fillRect(_local6, _arg5);
}
public static function DrawBitmapAlpha(_arg1:BitmapData, _arg2:Matrix, _arg3:ColorTransform):void{
m_pScreen.draw(_arg1, _arg2, _arg3);
}
public static function Clear():void{
m_pScreen.fillRect(m_pRect, m_iColour);
}
public static function DrawBitmapFast(_arg1:BitmapData, _arg2:Number, _arg3:Number):void{
var _local4:Rectangle;
var _local5:Point;
_local4 = new Rectangle();
_local5 = new Point();
_local5.x = _arg2;
_local5.y = _arg3;
_local4.x = 0;
_local4.y = 0;
_local4.width = _arg1.width;
_local4.height = _arg1.height;
CScreen.GetScreen().copyPixels(_arg1, _local4, _local5, null, null, true);
}
public static function GetWidth():Number{
return (m_pScreen.width);
}
public static function DrawBitmap(_arg1:BitmapData, _arg2:Matrix):void{
m_pScreen.draw(_arg1, _arg2);
}
public static function SetBackgroundColour(_arg1:int):void{
m_iColour = _arg1;
m_iColour = (m_iColour | 4278190080);
}
public static function GetHeight():Number{
return (m_pScreen.height);
}
}
}//package com.XiotexStudios.XGDK
Section 18
//CSparks (com.XiotexStudios.XGDK.CSparks)
package com.XiotexStudios.XGDK {
import flash.display.*;
public class CSparks {
public var m_fNumToEmit:Number;
public var m_fX:Number;
public var m_fY:Number;
public var m_pBitmap:BitmapData;
public var m_fEmitDelayReset:Number;
public var m_fTTL:Number;
public var m_fEmitDelay:Number;
private static var m_vPool:CDoubleLinkedList;
private static var m_vActive:CDoubleLinkedList;
private static var m_iNumberOfSparks:int;
public function Update():Boolean{
var _local1:Number;
var _local2:Number;
var _local3:int;
m_fTTL = (m_fTTL - FPSCounter.GetTimeDelta());
if (m_fTTL <= 0){
return (false);
};
m_fEmitDelay = (m_fEmitDelay - FPSCounter.GetTimeDelta());
if (m_fEmitDelay > 0){
return (true);
};
m_fEmitDelay = m_fEmitDelayReset;
_local3 = 0;
while (_local3 < m_fNumToEmit) {
_local1 = ((Math.random() * Math.PI) * 2);
_local2 = ((Math.random() * Math.PI) * 2);
_local1 = Math.sin(_local1);
_local2 = Math.sin(_local2);
CParticle.Allocate(m_fX, m_fY, 0, _local1, _local2, 1, (200 + (Math.random() * 200)), (200 + (Math.random() * 200)), 300, 1, 0, 1, 3, 1, CParticle.PARTICLE_FADE_OVER_LIFE, m_pBitmap, (1 + (Math.random() * 0.3)));
_local3++;
};
return (true);
}
public static function Shutdown():void{
var _local1:CSparks;
var _local2:CDoubleLinkedListElement;
var _local3:CDoubleLinkedListElement;
_local2 = m_vActive.m_pHead;
while (_local2) {
_local1 = (_local2.m_pElement as CSparks);
_local3 = _local2.m_pNext;
m_vActive.Erase(_local2);
m_vPool.Push(_local1);
_local2 = _local3;
};
}
public static function UpdateAll():void{
var _local1:CSparks;
var _local2:CDoubleLinkedListElement;
var _local3:CDoubleLinkedListElement;
_local2 = m_vActive.m_pHead;
while (_local2) {
_local1 = (_local2.m_pElement as CSparks);
if (!_local1.Update()){
_local3 = _local2.m_pNext;
m_vActive.Erase(_local2);
m_vPool.Push(_local1);
_local2 = _local3;
} else {
_local2 = _local2.m_pNext;
};
};
}
public static function Allocate(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{
var _local6:CSparks;
_local6 = (m_vPool.Pop() as CSparks);
if (_local6){
_local6.m_pBitmap = _arg1;
_local6.m_fX = _arg2;
_local6.m_fY = _arg3;
_local6.m_fNumToEmit = _arg4;
_local6.m_fTTL = _arg5;
_local6.m_fEmitDelayReset = (_arg4 / _arg5);
_local6.m_fEmitDelay = 0;
m_vActive.Push(_local6);
};
}
public static function Initialise(_arg1:int):void{
var _local2:int;
m_vPool = new CDoubleLinkedList();
m_vActive = new CDoubleLinkedList();
m_iNumberOfSparks = _arg1;
_local2 = 0;
while (_local2 < _arg1) {
m_vPool.Push(new (CSparks));
_local2++;
};
}
}
}//package com.XiotexStudios.XGDK
Section 19
//FPSCounter (com.XiotexStudios.XGDK.FPSCounter)
package com.XiotexStudios.XGDK {
import flash.display.*;
import flash.text.*;
import flash.utils.*;
public class FPSCounter {
public static var m_fLastTime:Number;
public static var m_t:Number;
private static var m_StartTick:Number;
public static var m_fTimeDelta:Number;
private static var m_NumFrames:Number;
private static var m_FPS:TextField;
public static function Initialise(_arg1:Sprite):void{
m_fLastTime = 0;
m_NumFrames = 0;
m_StartTick = getTimer();
m_FPS = new TextField();
m_FPS.textColor = 0xFF0000;
}
public static function Update():void{
var _local1:Number;
_local1 = getTimer();
m_fTimeDelta = (_local1 - m_fLastTime);
m_fTimeDelta = (m_fTimeDelta / 1000);
m_fLastTime = _local1;
if (m_fTimeDelta > 0.5){
m_fTimeDelta = 0.01;
};
m_NumFrames++;
m_t = ((getTimer() - m_StartTick) * 0.001);
if (m_t > 0.1){
m_FPS.text = ("" + (Math.floor(((m_NumFrames / m_t) * 10)) / 10));
};
}
public static function GetTimeDelta():Number{
return (m_fTimeDelta);
}
}
}//package com.XiotexStudios.XGDK
Section 20
//IGameUnit (com.XiotexStudios.XGDK.IGameUnit)
package com.XiotexStudios.XGDK {
import flash.events.*;
public interface IGameUnit {
function MouseUp(_arg1:Event):void;
function OnAICollisionWithBullet(_arg1:CAI):void;
function Prepare():void;
function KeyDown(_arg1:KeyboardEvent):void;
function OnAIEmerge(_arg1:CAI):void;
function OnAIActive(_arg1:CAI):void;
function OnAIDie(_arg1:CAI):void;
function OnAICollisionWithPlayer(_arg1:CAI, _arg2:Number):void;
function MouseDownEvent(_arg1:Event):void;
function Render():void;
function OnAIOuterRadiusBreach(_arg1:CAI):void;
function OnAICollisionWithAI(_arg1:CAI, _arg2:CAI):void;
function KeyUp(_arg1:KeyboardEvent):void;
function Shutdown():void;
}
}//package com.XiotexStudios.XGDK
Section 21
//IPlayer (com.XiotexStudios.XGDK.IPlayer)
package com.XiotexStudios.XGDK {
import flash.events.*;
public interface IPlayer {
function GetX():Number;
function GetY():Number;
function GetRadius():Number;
function OnKeyDown(_arg1:KeyboardEvent):void;
function GetVX():Number;
function GetVY():Number;
function OnKeyUp(_arg1:KeyboardEvent):void;
function GetAngle():Number;
}
}//package com.XiotexStudios.XGDK
Section 22
//IWorld (com.XiotexStudios.XGDK.IWorld)
package com.XiotexStudios.XGDK {
public interface IWorld {
function GetRealX(_arg1:Number):Number;
function GetRealY(_arg1:Number):Number;
function InView(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Boolean;
}
}//package com.XiotexStudios.XGDK
Section 23
//C023x23 (C023x23)
package {
import flash.display.*;
public dynamic class C023x23 extends BitmapData {
public function C023x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 24
//C123x23 (C123x23)
package {
import flash.display.*;
public dynamic class C123x23 extends BitmapData {
public function C123x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 25
//C223x23 (C223x23)
package {
import flash.display.*;
public dynamic class C223x23 extends BitmapData {
public function C223x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 26
//C323x23 (C323x23)
package {
import flash.display.*;
public dynamic class C323x23 extends BitmapData {
public function C323x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 27
//C3Way (C3Way)
package {
import flash.display.*;
public dynamic class C3Way extends BitmapData {
public function C3Way(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 28
//C3WayOff (C3WayOff)
package {
import flash.display.*;
public dynamic class C3WayOff extends BitmapData {
public function C3WayOff(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 29
//C3WayOn (C3WayOn)
package {
import flash.display.*;
public dynamic class C3WayOn extends BitmapData {
public function C3WayOn(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 30
//C423x23 (C423x23)
package {
import flash.display.*;
public dynamic class C423x23 extends BitmapData {
public function C423x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 31
//C523x23 (C523x23)
package {
import flash.display.*;
public dynamic class C523x23 extends BitmapData {
public function C523x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 32
//C623x23 (C623x23)
package {
import flash.display.*;
public dynamic class C623x23 extends BitmapData {
public function C623x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 33
//C6Way (C6Way)
package {
import flash.display.*;
public dynamic class C6Way extends BitmapData {
public function C6Way(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 34
//C723x23 (C723x23)
package {
import flash.display.*;
public dynamic class C723x23 extends BitmapData {
public function C723x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 35
//C823x23 (C823x23)
package {
import flash.display.*;
public dynamic class C823x23 extends BitmapData {
public function C823x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 36
//C8Way (C8Way)
package {
import flash.display.*;
public dynamic class C8Way extends BitmapData {
public function C8Way(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 37
//C923x23 (C923x23)
package {
import flash.display.*;
public dynamic class C923x23 extends BitmapData {
public function C923x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 38
//CA23x23 (CA23x23)
package {
import flash.display.*;
public dynamic class CA23x23 extends BitmapData {
public function CA23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 39
//CArenaConsts (CArenaConsts)
package {
public class CArenaConsts {
public static const ARENA_UBER_GRUNT:int = 2;
public static const ARENA_ORB:int = 0;
public static const ARENA_PILLAR:int = 3;
public static const ARENA_STREAKER:int = 4;
public static const ARENA_PARTICLE_DL_DEPTH:int = 150;
public static const ARENA_GRUNT:int = 1;
public static const ARENA_TANK:int = 5;
public static const ARENA_TITLESCREEN:int = 0;
public static const ARENA_GAMESCREEN:int = 1;
public static const ARENA_MAX_PARTICLES:int = 200;
public static const ARENA_MAX_UNITS:int = 2;
}
}//package
Section 40
//CB23x23 (CB23x23)
package {
import flash.display.*;
public dynamic class CB23x23 extends BitmapData {
public function CB23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 41
//CBackH (CBackH)
package {
import flash.display.*;
public dynamic class CBackH extends BitmapData {
public function CBackH(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 42
//CBackN (CBackN)
package {
import flash.display.*;
public dynamic class CBackN extends BitmapData {
public function CBackN(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 43
//CBackToTitleScreenH (CBackToTitleScreenH)
package {
import flash.display.*;
public dynamic class CBackToTitleScreenH extends BitmapData {
public function CBackToTitleScreenH(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 44
//CBackToTitleScreenN (CBackToTitleScreenN)
package {
import flash.display.*;
public dynamic class CBackToTitleScreenN extends BitmapData {
public function CBackToTitleScreenN(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 45
//CBG31 (CBG31)
package {
import flash.display.*;
public dynamic class CBG31 extends BitmapData {
public function CBG31(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 46
//CBonus (CBonus)
package {
import flash.media.*;
public dynamic class CBonus extends Sound {
}
}//package
Section 47
//CBulletImage (CBulletImage)
package {
import flash.display.*;
public dynamic class CBulletImage extends BitmapData {
public function CBulletImage(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 48
//CC23x23 (CC23x23)
package {
import flash.display.*;
public dynamic class CC23x23 extends BitmapData {
public function CC23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 49
//CCheats (CCheats)
package {
public class CCheats {
public static var m_bInfiniteLives:Boolean;
public static var m_b3Way:Boolean;
public static var m_bNoPlayer:Boolean;
public static var m_bNoRadar:Boolean;
public static function ToggleRadarCheat():void{
if (m_bNoRadar){
m_bNoRadar = false;
} else {
m_bNoRadar = true;
};
}
public static function Toggle3Way():void{
if (m_b3Way){
m_b3Way = false;
} else {
m_b3Way = true;
};
}
public static function ToggleNoPlayer():void{
if (m_bNoPlayer){
m_bNoPlayer = false;
} else {
m_bNoPlayer = true;
};
}
public static function Initialise():void{
m_bNoRadar = false;
m_bInfiniteLives = false;
m_b3Way = false;
m_bNoPlayer = false;
}
public static function ToggleInfiniteLives():void{
if (m_bInfiniteLives){
m_bInfiniteLives = false;
} else {
m_bInfiniteLives = true;
};
}
}
}//package
Section 50
//CCheatsLink (CCheatsLink)
package {
import flash.display.*;
public dynamic class CCheatsLink extends BitmapData {
public function CCheatsLink(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 51
//CCongrats (CCongrats)
package {
import flash.display.*;
public dynamic class CCongrats extends BitmapData {
public function CCongrats(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 52
//CD23x23 (CD23x23)
package {
import flash.display.*;
public dynamic class CD23x23 extends BitmapData {
public function CD23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 53
//CE23x23 (CE23x23)
package {
import flash.display.*;
public dynamic class CE23x23 extends BitmapData {
public function CE23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 54
//CEmerge (CEmerge)
package {
import flash.media.*;
public dynamic class CEmerge extends Sound {
}
}//package
Section 55
//CEmergeImage (CEmergeImage)
package {
import flash.display.*;
public dynamic class CEmergeImage extends BitmapData {
public function CEmergeImage(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 56
//CExhaust (CExhaust)
package {
import flash.display.*;
public dynamic class CExhaust extends BitmapData {
public function CExhaust(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 57
//CEXP1 (CEXP1)
package {
import flash.media.*;
public dynamic class CEXP1 extends Sound {
}
}//package
Section 58
//CEXP2 (CEXP2)
package {
import flash.media.*;
public dynamic class CEXP2 extends Sound {
}
}//package
Section 59
//CEXP3 (CEXP3)
package {
import flash.media.*;
public dynamic class CEXP3 extends Sound {
}
}//package
Section 60
//CEXP4 (CEXP4)
package {
import flash.media.*;
public dynamic class CEXP4 extends Sound {
}
}//package
Section 61
//CEXP5 (CEXP5)
package {
import flash.media.*;
public dynamic class CEXP5 extends Sound {
}
}//package
Section 62
//CEXP6 (CEXP6)
package {
import flash.media.*;
public dynamic class CEXP6 extends Sound {
}
}//package
Section 63
//CExplosion1Image (CExplosion1Image)
package {
import flash.display.*;
public dynamic class CExplosion1Image extends BitmapData {
public function CExplosion1Image(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 64
//CF23x23 (CF23x23)
package {
import flash.display.*;
public dynamic class CF23x23 extends BitmapData {
public function CF23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 65
//CG23x23 (CG23x23)
package {
import flash.display.*;
public dynamic class CG23x23 extends BitmapData {
public function CG23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 66
//CGameOver (CGameOver)
package {
import flash.display.*;
public dynamic class CGameOver extends BitmapData {
public function CGameOver(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 67
//CGameOverMusic (CGameOverMusic)
package {
import flash.media.*;
public dynamic class CGameOverMusic extends Sound {
}
}//package
Section 68
//CGameScreen (CGameScreen)
package {
import flash.events.*;
import com.XiotexStudios.XGDK.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
public class CGameScreen implements IGameUnit {
private var m_pExplosion1Image:CExplosion1Image;
private var m_pChannel:SoundChannel;
private var m_iWeaponUpgradeCount:int;
private var m_fStreakerSpawnDelay:Number;
private var m_pTank1:CTank1;
private var m_fUberGruntSpawnDelay:Number;
private var m_pTank3:CTank3;
private var m_pTank5:CTank5;
private var m_iWeapon:int;
private var m_fRestLength:Number;
private var m_pM6X:CM6X;
private var m_pTank2:CTank2;
private var m_fAngle:Number;
private var m_pTank4:CTank4;
private var m_fPillarSpawnDelayReset:Number;
private var m_pEmergeImage:CEmergeImage;
private var m_pEXP1:CEXP1;
private var m_fEmitBeastieDelay:Number;
private var m_iLives:int;
private var m_pPillar2Image:CPillar2;
private var m_pSubmitH:CSubmitH;
private var m_pPlayerExplosion:CPlayerExplosion;
private var m_pM7X:CM7X;
private var m_pSubmitN:CSubmitN;
private var m_pExhaust:CExhaust;
private var m_pSparkImage:CSparkImage;
private var m_fNewLifeKillCount:int;
private var m_bSubmitOver:Boolean;
private var m_fGruntSpawnDelayReset:Number;
private var m_pShieldBarImage:CShieldBarImage;
private var m_pPillarImage:CPillar;
private var m_pM8X:CM8X;
private var m_fGameOverCountDown:Number;
private var m_fOrbSpawnDelay:Number;
private var m_pPressSpace:CPressSpace;
private var m_fOldOrbX:Number;
private var m_fOldOrbY:Number;
private var m_pM9X:CM9X;
private var m_bLeftDown:Boolean;
private var m_pMatrix:Matrix;
private var m_pOrbExplosionImage:COrbExplosionImage;
private var m_fOrbX:Number;
private var m_fOrbY:Number;
private var m_pGOBack:CTitleBG;
private var m_pShieldBarEnclosureImage:CShieldBarEnclosureImage;
private var m_iCurrentBeastieCount:int;
private var m_fOrbSpawnDelayReset:Number;
private var m_pPlayerExplosionImage:CPlayerExplosionImage;
private var m_pGruntImage:CGruntImage;
private var m_fPillarSpawnDelay:Number;
private var m_bGOMusicNotPlaying:Boolean;
private var m_pCongrats:CCongrats;
private var m_fVX:Number;
private var m_fVY:Number;
private var m_pM10X:CM10X;
private var m_fOrbInvMass:Number;
private var m_pPlayerExplosionGlow:CPlayerExplosionGlow;
private var m_pBackground:CBG31;
private var m_pGunSound:CGunSound;
private var m_fRepeatDelay:Number;
private var m_p6Way:C6Way;
private var m_bMoreOver:Boolean;
private var m_pOrbImage:COrbImage;
private var m_pPlayerImage:CPlayerImage;
private var m_bUpDown:Boolean;
private var m_pWorld:CBitmapWindow;
private var m_pGruntEmergeImage:CGruntEmergeImage;
private var m_bGameOver:Boolean;
private var m_pGameOver:CGameOver;
private var m_bFireDown:Boolean;
private var m_pGOMusic:CGameOverMusic;
private var m_pPlayMoreN:CPlayMoreN;
private var m_pPlayMoreH:CPlayMoreH;
private var m_sName:String;
private var m_pPlayerExplosionSparkImage:CPlayerExplosionSparkImage;
private var m_pUberGruntImage:CUberGruntImage;
private var m_fGruntSpawnDelay:Number;
private var m_fUberGruntSpawnDelayReset:Number;
private var m_fTankSpawnDelayReset:Number;
private var m_fExhaustTimer:Number;
private var m_fCursorTime:Number;
private var m_pBulletImage:CBulletImage;
private var m_fTankSpawnDelay:Number;
private var m_fStreakerSpawnDelayReset:Number;
private var m_bBackOver:Boolean;
private var m_pPlayerLivesImage:CPlayerLivesImage;
private var m_bDownDown:Boolean;
private var m_pM2X:CM2X;
private var m_pPillar1Image:CPillar1;
private var m_fShield:Number;
private var m_pPlayer:CPlayerCentredVelocity;
private var m_pNameBlurb:CNameBlurb;
private var m_fDeathDelay:Number;
private var m_fKillCount:Number;
private var m_bRightDown:Boolean;
private var m_pInGameMusic:CInGame;
private var m_pEmerge:CEmerge;
private var m_pRadarImage:CRadarImage;
private var m_pBTTSH:CBackToTitleScreenH;
private var m_iScore:int;
private var m_p8Way:C8Way;
private var m_pBTTSN:CBackToTitleScreenN;
private var m_pM3X:CM3X;
private var m_iCursorPos:int;
private var m_pM4X:CM4X;
private var m_p3Way:C3Way;
private var m_pStreaker:CStreaker;
private var m_pEXP2:CEXP2;
private var m_pEXP3:CEXP3;
private var m_pEXP4:CEXP4;
private var m_pEXP5:CEXP5;
private var m_pEXP6:CEXP6;
private var m_pM5X:CM5X;
private var m_fMultiplier:Number;
public function CGameScreen(){
m_pPlayer = new CPlayerCentredVelocity();
m_pBackground = new CBG31(0, 0);
m_pWorld = new CBitmapWindow();
m_pWorld.Initialise(m_pBackground);
CAI.Initialise(1000, m_pPlayer, this, m_pWorld);
CAI.m_fLowerX = (375 + 40);
CAI.m_fUpperX = (1875 - 40);
CAI.m_fLowerY = (250 + 40);
CAI.m_fUpperY = (1250 - 40);
CParticle.Initialise(1000, m_pWorld);
CBullet.Initialise(1000, m_pWorld);
m_pPlayerImage = new CPlayerImage(0, 0);
m_pPlayerLivesImage = new CPlayerLivesImage(0, 0);
m_pGruntImage = new CGruntImage(0, 0);
m_pUberGruntImage = new CUberGruntImage(0, 0);
m_pOrbImage = new COrbImage(0, 0);
m_pPillarImage = new CPillar(0, 0);
m_pPillar1Image = new CPillar1(0, 0);
m_pPillar2Image = new CPillar2(0, 0);
m_pShieldBarImage = new CShieldBarImage(0, 0);
m_pShieldBarEnclosureImage = new CShieldBarEnclosureImage(0, 0);
m_pRadarImage = new CRadarImage(0, 0);
m_pExplosion1Image = new CExplosion1Image(0, 0);
m_pPlayerExplosionImage = new CPlayerExplosionImage(0, 0);
m_pPlayerExplosionSparkImage = new CPlayerExplosionSparkImage(0, 0);
m_pPlayerExplosionGlow = new CPlayerExplosionGlow(0, 0);
m_pOrbExplosionImage = new COrbExplosionImage(0, 0);
CExplosion.Initialise(100);
m_pSparkImage = new CSparkImage(0, 0);
CSparks.Initialise(100);
CGlow.Initialise(100);
m_pEmergeImage = new CEmergeImage(0, 0);
m_pGruntEmergeImage = new CGruntEmergeImage(0, 0);
m_pGameOver = new CGameOver(0, 0);
m_pSubmitN = new CSubmitN(0, 0);
m_pSubmitH = new CSubmitH(0, 0);
m_pBTTSN = new CBackToTitleScreenN(0, 0);
m_pBTTSH = new CBackToTitleScreenH(0, 0);
m_pNameBlurb = new CNameBlurb(0, 0);
m_pCongrats = new CCongrats(0, 0);
m_pGOBack = new CTitleBG(0, 0);
m_sName = new String();
m_iCursorPos = 0;
m_fCursorTime = 0;
m_pGunSound = new CGunSound();
m_pEXP1 = new CEXP1();
m_pEXP2 = new CEXP2();
m_pEXP3 = new CEXP3();
m_pEXP4 = new CEXP4();
m_pEXP5 = new CEXP5();
m_pEXP6 = new CEXP6();
m_pPlayerExplosion = new CPlayerExplosion();
m_pEmerge = new CEmerge();
m_pExhaust = new CExhaust(0, 0);
m_pPlayMoreN = new CPlayMoreN(0, 0);
m_pPlayMoreH = new CPlayMoreH(0, 0);
CMessage.Initialise();
m_pM2X = new CM2X(0, 0);
m_pM3X = new CM3X(0, 0);
m_pM4X = new CM4X(0, 0);
m_pM5X = new CM5X(0, 0);
m_pM6X = new CM6X(0, 0);
m_pM7X = new CM7X(0, 0);
m_pM8X = new CM8X(0, 0);
m_pM9X = new CM9X(0, 0);
m_pM10X = new CM10X(0, 0);
m_pPressSpace = new CPressSpace(0, 0);
m_p3Way = new C3Way(0, 0);
m_p6Way = new C6Way(0, 0);
m_p8Way = new C8Way(0, 0);
m_pStreaker = new CStreaker(0, 0);
m_pTank1 = new CTank1(0, 0);
m_pTank2 = new CTank2(0, 0);
m_pTank3 = new CTank3(0, 0);
m_pTank4 = new CTank4(0, 0);
m_pTank5 = new CTank5(0, 0);
m_pMatrix = new Matrix();
}
public function MouseUp(_arg1:Event):void{
var _local2:String;
var _local3:URLRequest;
var _local4:URLVariables;
var _local5:URLLoader;
var _local6:URLRequest;
m_bFireDown = false;
m_fRepeatDelay = 0;
if (m_bBackOver){
CGameUnit.SetCurrentUnit(CArenaConsts.ARENA_TITLESCREEN);
};
if (m_bSubmitOver){
if (m_sName.length != 0){
_local2 = "http://www.xiotex.com/Arena/highscore.php";
_local3 = new URLRequest(_local2);
_local4 = new URLVariables();
_local4.name = m_sName;
_local4.score = m_iScore;
_local4.url = CGame.m_sURL;
_local3.data = _local4;
_local5 = new URLLoader();
_local5.load(_local3);
};
CGameUnit.SetCurrentUnit(CArenaConsts.ARENA_TITLESCREEN);
};
if (m_bMoreOver){
_local6 = new URLRequest("http://www.mortargames.com");
navigateToURL(_local6, "_blank");
};
}
public function MouseDownEvent(_arg1:Event):void{
m_bFireDown = true;
}
public function OnAICollisionWithPlayer(_arg1:CAI, _arg2:Number):void{
var _local3:Number;
var _local4:Number;
_local3 = m_pPlayer.m_fX;
_local4 = m_pPlayer.m_fY;
if (_arg1.m_fUserData != CArenaConsts.ARENA_ORB){
if (m_fDeathDelay == 0){
m_pPlayerExplosion.play();
m_fDeathDelay = 5;
CSparks.Allocate(m_pPlayerExplosionSparkImage, _local3, _local4, 40, 5);
CExplosion.Allocate(m_pPlayerExplosionImage, _local3, _local4, 20, 4);
CGlow.Allocate(m_pPlayerExplosionGlow, _local3, _local4, 20, 2);
if (!CCheats.m_bInfiniteLives){
m_iLives--;
};
m_fMultiplier = 1;
m_fKillCount = 0;
m_iWeapon = 0;
m_iWeaponUpgradeCount = 0;
m_fOrbSpawnDelay = 5;
m_fOrbSpawnDelayReset = 15;
m_fGruntSpawnDelay = 3;
m_fGruntSpawnDelayReset = 1;
m_fUberGruntSpawnDelay = 20;
m_fUberGruntSpawnDelayReset = 10;
m_fPillarSpawnDelay = 40;
m_fPillarSpawnDelayReset = 4;
m_fStreakerSpawnDelay = 60;
m_fStreakerSpawnDelayReset = 5;
m_fTankSpawnDelay = 70;
m_fTankSpawnDelayReset = 6;
_arg1.Kill();
m_iCurrentBeastieCount--;
};
} else {
switch (_arg1.m_fUserData){
case CArenaConsts.ARENA_ORB:
_arg1.Kill();
m_fShield = 1;
if (m_fShield > 1){
m_fShield = 1;
};
CExplosion.Allocate(m_pOrbExplosionImage, _arg1.m_fX, _arg1.m_fY, 4, 1);
PlayExplosion();
break;
};
};
if (m_fShield < 0){
m_fShield = 0;
};
}
public function OnAIEmerge(_arg1:CAI):void{
switch (_arg1.m_fUserData){
case CArenaConsts.ARENA_ORB:
CScreen.DrawBitmapAlpha(m_pOrbImage, _arg1.m_pMatrix, _arg1.m_pColourMatrix);
if (!_arg1.m_bDoneEmerge){
CGlow.Allocate(m_pEmergeImage, _arg1.m_fX, _arg1.m_fY, 10, 1);
m_pEmerge.play();
};
break;
case CArenaConsts.ARENA_GRUNT:
CScreen.DrawBitmapAlpha(m_pGruntImage, _arg1.m_pMatrix, _arg1.m_pColourMatrix);
if (!_arg1.m_bDoneEmerge){
CGlow.Allocate(m_pGruntEmergeImage, _arg1.m_fX, _arg1.m_fY, 10, 1);
m_pEmerge.play();
};
break;
case CArenaConsts.ARENA_UBER_GRUNT:
CScreen.DrawBitmapAlpha(m_pUberGruntImage, _arg1.m_pMatrix, _arg1.m_pColourMatrix);
if (!_arg1.m_bDoneEmerge){
CGlow.Allocate(m_pGruntEmergeImage, _arg1.m_fX, _arg1.m_fY, 10, 1);
m_pEmerge.play();
};
break;
case CArenaConsts.ARENA_STREAKER:
CScreen.DrawBitmapAlpha(m_pStreaker, _arg1.m_pMatrix, _arg1.m_pColourMatrix);
if (!_arg1.m_bDoneEmerge){
CGlow.Allocate(m_pStreaker, _arg1.m_fX, _arg1.m_fY, 20, 1);
m_pEmerge.play();
};
break;
case CArenaConsts.ARENA_PILLAR:
CScreen.DrawBitmapAlpha(m_pPillarImage, _arg1.m_pMatrix, _arg1.m_pColourMatrix);
if (!_arg1.m_bDoneEmerge){
CGlow.Allocate(m_pGruntEmergeImage, _arg1.m_fX, _arg1.m_fY, 10, 1);
m_pEmerge.play();
};
break;
case CArenaConsts.ARENA_TANK:
CScreen.DrawBitmapAlpha(m_pTank1, _arg1.m_pMatrix, _arg1.m_pColourMatrix);
if (!_arg1.m_bDoneEmerge){
CGlow.Allocate(m_pGruntEmergeImage, _arg1.m_fX, _arg1.m_fY, 10, 1);
m_pEmerge.play();
};
break;
};
}
public function OnAIActive(_arg1:CAI):void{
var _local2:Number;
var _local3:Number;
_local2 = m_pWorld.GetRealX(_arg1.m_fX);
_local3 = m_pWorld.GetRealY(_arg1.m_fY);
switch (_arg1.m_fUserData){
case CArenaConsts.ARENA_ORB:
CScreen.DrawBitmapFast(m_pOrbImage, (_local2 - (m_pOrbImage.width / 2)), (_local3 - (m_pOrbImage.height / 2)));
break;
case CArenaConsts.ARENA_GRUNT:
CScreen.DrawBitmapFast(m_pGruntImage, (_local2 - (m_pGruntImage.width / 2)), (_local3 - (m_pGruntImage.height / 2)));
break;
case CArenaConsts.ARENA_UBER_GRUNT:
CScreen.DrawBitmapFast(m_pUberGruntImage, (_local2 - (m_pUberGruntImage.width / 2)), (_local3 - (m_pUberGruntImage.height / 2)));
break;
case CArenaConsts.ARENA_STREAKER:
CScreen.DrawBitmapFast(m_pStreaker, (_local2 - (m_pStreaker.width / 2)), (_local3 - (m_pStreaker.height / 2)));
break;
case CArenaConsts.ARENA_PILLAR:
switch (_arg1.m_iHits){
case 3:
CScreen.DrawBitmapFast(m_pPillarImage, (_local2 - (m_pPillarImage.width / 2)), (_local3 - (m_pPillarImage.height / 2)));
break;
case 2:
CScreen.DrawBitmapFast(m_pPillar1Image, (_local2 - (m_pPillar1Image.width / 2)), (_local3 - (m_pPillar1Image.height / 2)));
break;
case 1:
CScreen.DrawBitmapFast(m_pPillar2Image, (_local2 - (m_pPillar2Image.width / 2)), (_local3 - (m_pPillar2Image.height / 2)));
break;
};
break;
case CArenaConsts.ARENA_TANK:
switch (_arg1.m_iHits){
case 5:
CScreen.DrawBitmapFast(m_pTank1, (_local2 - (m_pTank1.width / 2)), (_local3 - (m_pTank1.height / 2)));
break;
case 4:
CScreen.DrawBitmapFast(m_pTank2, (_local2 - (m_pTank1.width / 2)), (_local3 - (m_pTank1.height / 2)));
break;
case 3:
CScreen.DrawBitmapFast(m_pTank3, (_local2 - (m_pTank1.width / 2)), (_local3 - (m_pTank1.height / 2)));
break;
case 2:
CScreen.DrawBitmapFast(m_pTank4, (_local2 - (m_pTank1.width / 2)), (_local3 - (m_pTank1.height / 2)));
break;
case 1:
CScreen.DrawBitmapFast(m_pTank5, (_local2 - (m_pTank1.width / 2)), (_local3 - (m_pTank1.height / 2)));
break;
};
break;
};
}
private function PlayExplosion():void{
var _local1:int;
_local1 = (Math.random() * 6);
switch (_local1){
case 0:
m_pEXP6.play();
break;
case 1:
m_pEXP2.play();
break;
case 2:
m_pEXP6.play();
break;
case 3:
m_pEXP6.play();
break;
case 4:
m_pEXP6.play();
break;
case 5:
m_pEXP6.play();
break;
};
}
public function OnAICollisionWithBullet(_arg1:CAI):void{
var _local2:Number;
_local2 = 1;
if (CCheats.m_bNoRadar){
_local2 = (_local2 + 1);
};
switch (_arg1.m_fUserData){
case CArenaConsts.ARENA_ORB:
break;
case CArenaConsts.ARENA_GRUNT:
m_fKillCount++;
m_fNewLifeKillCount++;
m_iWeaponUpgradeCount++;
m_iCurrentBeastieCount--;
_arg1.Kill();
m_iScore = (m_iScore + ((10 * m_fMultiplier) * _local2));
CSparks.Allocate(m_pSparkImage, _arg1.m_fX, _arg1.m_fY, 8, 1);
CExplosion.Allocate(m_pExplosion1Image, _arg1.m_fX, _arg1.m_fY, 2, 1);
PlayExplosion();
break;
case CArenaConsts.ARENA_UBER_GRUNT:
m_fKillCount++;
m_fNewLifeKillCount++;
m_iCurrentBeastieCount--;
m_iWeaponUpgradeCount++;
_arg1.Kill();
m_iScore = (m_iScore + ((20 * m_fMultiplier) * _local2));
CSparks.Allocate(m_pSparkImage, _arg1.m_fX, _arg1.m_fY, 8, 1);
CExplosion.Allocate(m_pExplosion1Image, _arg1.m_fX, _arg1.m_fY, 2, 1);
PlayExplosion();
break;
case CArenaConsts.ARENA_STREAKER:
m_fKillCount++;
m_fNewLifeKillCount++;
m_iCurrentBeastieCount--;
m_iWeaponUpgradeCount++;
_arg1.Kill();
m_iScore = (m_iScore + ((50 * m_fMultiplier) * _local2));
CSparks.Allocate(m_pSparkImage, _arg1.m_fX, _arg1.m_fY, 8, 1);
CExplosion.Allocate(m_pExplosion1Image, _arg1.m_fX, _arg1.m_fY, 2, 1);
PlayExplosion();
break;
case CArenaConsts.ARENA_PILLAR:
if (_arg1.m_iHits == 1){
m_fKillCount++;
m_fNewLifeKillCount++;
m_iCurrentBeastieCount--;
m_iWeaponUpgradeCount++;
_arg1.Kill();
m_iScore = (m_iScore + ((30 * m_fMultiplier) * _local2));
CSparks.Allocate(m_pSparkImage, _arg1.m_fX, _arg1.m_fY, 8, 1);
CExplosion.Allocate(m_pExplosion1Image, _arg1.m_fX, _arg1.m_fY, 2, 1);
PlayExplosion();
} else {
CSparks.Allocate(m_pSparkImage, _arg1.m_fX, _arg1.m_fY, 8, 1);
};
break;
case CArenaConsts.ARENA_TANK:
if (_arg1.m_iHits == 1){
m_fKillCount++;
m_fNewLifeKillCount++;
m_iCurrentBeastieCount--;
m_iWeaponUpgradeCount++;
_arg1.Kill();
m_iScore = (m_iScore + ((60 * m_fMultiplier) * _local2));
CSparks.Allocate(m_pSparkImage, _arg1.m_fX, _arg1.m_fY, 8, 1);
CExplosion.Allocate(m_pExplosion1Image, _arg1.m_fX, _arg1.m_fY, 2, 1);
PlayExplosion();
} else {
CSparks.Allocate(m_pSparkImage, _arg1.m_fX, _arg1.m_fY, 8, 1);
};
break;
};
switch (m_iWeaponUpgradeCount){
case 40:
m_iWeapon = 1;
CMessage.SetMessage(m_p3Way);
break;
case 100:
m_iWeapon = 2;
CMessage.SetMessage(m_p6Way);
m_fOrbSpawnDelayReset = 8;
break;
case 130:
m_iWeapon = 3;
CMessage.SetMessage(m_p8Way);
m_fOrbSpawnDelayReset = 5;
break;
};
if (m_fNewLifeKillCount >= 500){
if (m_iLives < 5){
m_iLives++;
};
m_fNewLifeKillCount = 0;
};
switch (m_fMultiplier){
case 1:
if (m_fKillCount == 10){
m_fMultiplier++;
m_fKillCount = 0;
CMessage.SetMessage(m_pM2X);
};
break;
case 2:
if (m_fKillCount == 20){
m_fMultiplier++;
m_fKillCount = 0;
CMessage.SetMessage(m_pM3X);
};
break;
case 3:
if (m_fKillCount == 30){
m_fMultiplier++;
m_fKillCount = 0;
CMessage.SetMessage(m_pM4X);
};
break;
case 4:
if (m_fKillCount == 40){
m_fMultiplier++;
m_fKillCount = 0;
CMessage.SetMessage(m_pM5X);
};
break;
case 5:
if (m_fKillCount == 50){
m_fMultiplier++;
m_fKillCount = 0;
CMessage.SetMessage(m_pM6X);
};
break;
case 6:
if (m_fKillCount == 60){
m_fMultiplier++;
m_fKillCount = 0;
CMessage.SetMessage(m_pM7X);
};
break;
case 7:
if (m_fKillCount == 70){
m_fMultiplier++;
m_fKillCount = 0;
CMessage.SetMessage(m_pM8X);
};
break;
case 8:
if (m_fKillCount == 80){
m_fMultiplier++;
m_fKillCount = 0;
CMessage.SetMessage(m_pM9X);
};
break;
case 9:
if (m_fKillCount == 90){
m_fMultiplier++;
m_fKillCount = 0;
CMessage.SetMessage(m_pM10X);
};
break;
};
}
public function Shutdown():void{
CParticle.Shutdown();
CDisplayList.Clear();
CExplosion.Shutdown();
CSparks.Shutdown();
CGlow.Shutdown();
CAI.Shutdown();
}
public function OnAIDie(_arg1:CAI):void{
}
public function Prepare():void{
m_pPlayer.Initialise(400, 400, 375, 250, (375 + 40), (1875 - 40), (250 + 40), (1250 - 40), 20, 0.97);
m_fEmitBeastieDelay = 0;
m_iCurrentBeastieCount = 0;
m_fShield = 1;
m_iScore = 0;
m_fAngle = 0;
m_iLives = 3;
m_fDeathDelay = 0;
m_fOrbSpawnDelay = 5;
m_fOrbSpawnDelayReset = 15;
m_fGruntSpawnDelay = 3;
m_fGruntSpawnDelayReset = 1;
m_fUberGruntSpawnDelay = 20;
m_fUberGruntSpawnDelayReset = 8;
m_fPillarSpawnDelay = 40;
m_fPillarSpawnDelayReset = 4;
m_fStreakerSpawnDelay = 60;
m_fStreakerSpawnDelayReset = 5;
m_fTankSpawnDelay = 70;
m_fTankSpawnDelayReset = 6;
m_fOrbX = 400;
m_fOrbY = 400;
m_fOldOrbX = 0;
m_fOldOrbY = 0;
m_fRestLength = 120;
m_fOrbInvMass = (1 / 10000);
CParticle.Initialise(1000, m_pWorld);
CExplosion.Initialise(100);
CSparks.Initialise(100);
CGlow.Initialise(100);
m_fRepeatDelay = 0;
m_bLeftDown = false;
m_bRightDown = false;
m_bUpDown = false;
m_bDownDown = false;
m_fVX = 0;
m_fVY = 0;
m_pBulletImage = new CBulletImage(0, 0);
m_bGameOver = false;
m_bSubmitOver = false;
m_bBackOver = false;
m_fCursorTime = 0;
m_bGOMusicNotPlaying = true;
SoundMixer.stopAll();
m_pInGameMusic = new CInGame();
m_pChannel = m_pInGameMusic.play(0, int.MAX_VALUE);
m_fMultiplier = 1;
m_fKillCount = 0;
m_bFireDown = false;
m_fExhaustTimer = 0;
m_fNewLifeKillCount = 0;
m_bMoreOver = false;
CMessage.SetMessage(m_pPressSpace);
m_iWeapon = 0;
m_iWeaponUpgradeCount = 0;
}
private function DrawHUD():void{
var _local1:Number;
var _local2:int;
var _local3:*;
var _local4:Number;
var _local5:CAI;
var _local6:CDoubleLinkedListElement;
CFont23x23.DrawNumber(m_iScore, 10, 10);
_local1 = (750 - 40);
_local2 = 0;
while (_local2 < m_iLives) {
CScreen.DrawBitmapFast(m_pPlayerLivesImage, _local1, 5);
_local1 = (_local1 - 40);
_local2++;
};
CScreen.DrawBitmapFast(m_pShieldBarEnclosureImage, (375 - (m_pShieldBarEnclosureImage.width / 2)), (500 - 60));
_local3 = (m_pShieldBarImage.width * m_fShield);
CScreen.DrawBitmapFastWidth(m_pShieldBarImage, (375 - ((m_pShieldBarImage.width / 2) + 3)), (500 - 31), _local3);
switch (m_fMultiplier){
case 1:
break;
case 2:
CFont23x23.DrawString("2X", (375 + 70), 10);
break;
case 3:
CFont23x23.DrawString("3X", (375 + 70), 10);
break;
case 4:
CFont23x23.DrawString("4X", (375 + 70), 10);
break;
case 5:
CFont23x23.DrawString("5X", (375 + 70), 10);
break;
case 6:
CFont23x23.DrawString("6X", (375 + 70), 10);
break;
case 7:
CFont23x23.DrawString("7X", (375 + 70), 10);
break;
case 8:
CFont23x23.DrawString("8X", (375 + 70), 10);
break;
case 9:
CFont23x23.DrawString("9X", (375 + 70), 10);
break;
case 10:
CFont23x23.DrawString("10X", (375 + 70), 10);
break;
};
if (!CCheats.m_bNoRadar){
CScreen.DrawBitmapFast(m_pRadarImage, (375 - (118 / 2)), 3);
_local1 = m_pPlayer.GetX();
_local4 = m_pPlayer.GetY();
_local1 = (_local1 - 375);
_local1 = (_local1 / 1500);
_local4 = (_local4 - 250);
_local4 = (_local4 / 1000);
_local1 = (_local1 * 110);
_local4 = (_local4 * 58);
_local1 = (_local1 + ((5 + 375) - (118 / 2)));
_local4 = (_local4 + (3 + 5));
CScreen.DrawParticle(_local1, _local4, 4294967295, 4294967295);
_local6 = CAI.m_vActiveAI.m_pHead;
while (_local6) {
_local5 = (_local6.m_pElement as CAI);
_local1 = _local5.m_fX;
_local4 = _local5.m_fY;
_local1 = (_local1 - 375);
_local1 = (_local1 / 1500);
_local4 = (_local4 - 250);
_local4 = (_local4 / 1000);
_local1 = (_local1 * 110);
_local4 = (_local4 * 58);
_local1 = (_local1 + ((5 + 375) - (118 / 2)));
_local4 = (_local4 + (3 + 5));
switch (_local5.m_fUserData){
case CArenaConsts.ARENA_ORB:
CScreen.DrawParticle(_local1, _local4, 4278255360, 4278255360);
break;
default:
CScreen.DrawParticle(_local1, _local4, 4294901760, 4294901760);
break;
};
_local6 = _local6.m_pNext;
};
};
CMessage.Update();
}
public function KeyUp(_arg1:KeyboardEvent):void{
if (!m_bGameOver){
if (_arg1.charCode == 32){
m_bFireDown = false;
m_fRepeatDelay = 0;
};
};
}
private function Spawn():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local1 = FPSCounter.GetTimeDelta();
if (m_iCurrentBeastieCount < 60){
_local2 = (400 + (Math.random() * 1400));
_local3 = (300 + (Math.random() * 900));
_local4 = (m_pPlayer.m_fX - _local2);
_local5 = (m_pPlayer.m_fY - _local3);
_local6 = Math.sqrt(((_local4 * _local4) + (_local5 * _local5)));
if (_local6 < 200){
return;
};
m_fOrbSpawnDelay = (m_fOrbSpawnDelay - _local1);
if (m_fOrbSpawnDelay <= 0){
m_fOrbSpawnDelay = m_fOrbSpawnDelayReset;
CAI.AllocateAI(_local2, _local3, 10, 40, 100, 100, CArenaConsts.ARENA_ORB, 1, CAI.AI_STATIC, 0, 0, 1, m_pOrbImage.width, m_pOrbImage.height, 1);
m_iCurrentBeastieCount++;
};
if (m_fDeathDelay == 0){
m_fGruntSpawnDelay = (m_fGruntSpawnDelay - _local1);
if (m_fGruntSpawnDelay <= 0){
m_fGruntSpawnDelay = m_fGruntSpawnDelayReset;
CAI.AllocateAI(_local2, _local3, 50, 50, 200, 100, CArenaConsts.ARENA_GRUNT, 1, CAI.AI_SEEK_PLAYER, 0, 0, 1, m_pGruntImage.width, m_pGruntImage.height, 1);
m_iCurrentBeastieCount++;
};
m_fUberGruntSpawnDelay = (m_fUberGruntSpawnDelay - _local1);
if (m_fUberGruntSpawnDelay <= 0){
m_fUberGruntSpawnDelay = m_fUberGruntSpawnDelayReset;
CAI.AllocateAI(_local2, _local3, 50, 50, 600, 100, CArenaConsts.ARENA_UBER_GRUNT, 1, CAI.AI_SEEK_PLAYER, 0, 5, 1, m_pUberGruntImage.width, m_pUberGruntImage.height, 1);
m_iCurrentBeastieCount++;
};
m_fPillarSpawnDelay = (m_fPillarSpawnDelay - _local1);
if (m_fPillarSpawnDelay <= 0){
m_fPillarSpawnDelay = m_fPillarSpawnDelayReset;
CAI.AllocateAI(_local2, _local3, 50, 50, 0, 0, CArenaConsts.ARENA_PILLAR, 1, CAI.AI_SEEK_PLAYER, 0, 5, 1, m_pPillarImage.width, m_pPillarImage.height, 3);
m_iCurrentBeastieCount++;
};
m_fStreakerSpawnDelay = (m_fStreakerSpawnDelay - _local1);
if (m_fStreakerSpawnDelay <= 0){
m_fStreakerSpawnDelay = m_fStreakerSpawnDelayReset;
CAI.AllocateAI(_local2, _local3, 50, 50, 1300, 0, CArenaConsts.ARENA_STREAKER, 1, CAI.AI_SEEK_PLAYER, 0, 5, 1, m_pStreaker.width, m_pStreaker.height, 1);
m_iCurrentBeastieCount++;
};
m_fTankSpawnDelay = (m_fTankSpawnDelay - _local1);
if (m_fTankSpawnDelay <= 0){
m_fTankSpawnDelay = m_fTankSpawnDelayReset;
CAI.AllocateAI(_local2, _local3, 50, 50, 800, 0, CArenaConsts.ARENA_TANK, 1, CAI.AI_SEEK_PLAYER, 0, 5, 1, m_pTank1.width, m_pTank1.height, 5);
m_iCurrentBeastieCount++;
};
};
};
}
private function DrawPlayer():void{
var _local1:Number;
var _local2:Matrix;
var _local3:ColorTransform;
_local1 = FPSCounter.GetTimeDelta();
if (m_fDeathDelay > 0){
m_fDeathDelay = (m_fDeathDelay - _local1);
if (m_fDeathDelay < 0){
m_fDeathDelay = 0;
};
};
if ((((m_fDeathDelay == 0)) || ((m_fDeathDelay < 4)))){
m_pPlayer.Update();
};
if (!CCheats.m_bNoPlayer){
m_fExhaustTimer = (m_fExhaustTimer + _local1);
if (m_fExhaustTimer > 0.1){
m_fExhaustTimer = 0;
CGlow.Allocate(m_pExhaust, m_pPlayer.GetX(), m_pPlayer.GetY(), 3, 1);
};
_local2 = new Matrix();
_local2.translate(-50, -50);
_local2.rotate(m_pPlayer.GetAngle());
_local2.translate(375, 250);
_local3 = new ColorTransform();
_local3.alphaMultiplier = Math.sin((m_fDeathDelay * 15));
if (m_fDeathDelay == 0){
CScreen.DrawBitmap(m_pPlayerImage, _local2);
} else {
CScreen.DrawBitmapAlpha(m_pPlayerImage, _local2, _local3);
};
};
CAI.CollideAll((m_pPlayer.GetX() + 50), (m_pPlayer.GetY() + 50), 40, 0);
}
public function KeyDown(_arg1:KeyboardEvent):void{
if (m_bGameOver){
if ((((((_arg1.charCode >= 65)) && ((_arg1.charCode <= 90)))) || ((((_arg1.charCode >= 97)) && ((_arg1.charCode <= 122)))))){
if (_arg1.charCode >= 97){
_arg1.charCode = (_arg1.charCode - 32);
};
AddChar(String.fromCharCode(_arg1.charCode));
};
if ((((_arg1.charCode >= 48)) && ((_arg1.charCode <= 57)))){
AddChar(String.fromCharCode(_arg1.charCode));
};
if (_arg1.charCode == 32){
AddChar(" ");
};
if (_arg1.keyCode == 8){
if (m_iCursorPos > 0){
m_sName = m_sName.slice(0, (m_iCursorPos - 1));
m_iCursorPos--;
};
};
} else {
if (_arg1.charCode == 32){
m_bFireDown = true;
};
};
}
private function AddChar(_arg1:String):void{
if (m_sName.length < 16){
m_sName = m_sName.concat(_arg1);
m_iCursorPos++;
};
}
public function Render():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:int;
var _local9:String;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Matrix;
var _local14:Number;
var _local15:Number;
m_pWorld.SetXY(m_pPlayer.m_fX, m_pPlayer.m_fY);
m_pWorld.Render();
if (!m_bGameOver){
CAI.RenderAll(CAI.AI_MOVE_AND_RENDER);
} else {
CAI.RenderAll(CAI.AI_RENDER_ONLY);
};
CSparks.UpdateAll();
CExplosion.UpdateAll();
CGlow.UpdateAll();
CParticle.UpdateAll();
CDisplayList.Render();
if (!m_bGameOver){
DrawPlayer();
Spawn();
CBullet.UpdateAll();
m_fRepeatDelay = (m_fRepeatDelay - FPSCounter.GetTimeDelta());
if ((((((m_fRepeatDelay < 0)) && ((m_fShield > 0)))) && (m_bFireDown))){
_local6 = ((Math.PI * 2) / 6);
_local7 = ((Math.PI * 2) / 8);
_local3 = m_pPlayer.GetAngle();
_local4 = _local3;
_local5 = _local3;
if (CCheats.m_b3Way){
m_iWeapon = 1;
};
switch (m_iWeapon){
case 0:
_local1 = Math.cos(_local3);
_local2 = Math.sin(_local3);
CBullet.Allocate(m_pPlayer.m_fX, m_pPlayer.m_fY, _local1, _local2, 1000, 0.5, m_pBulletImage, 12);
m_fShield = (m_fShield - 0.003);
break;
case 1:
_local1 = Math.cos(_local3);
_local2 = Math.sin(_local3);
CBullet.Allocate(m_pPlayer.m_fX, m_pPlayer.m_fY, _local1, _local2, 1000, 0.5, m_pBulletImage, 12);
m_fShield = (m_fShield - 0.003);
_local4 = (_local4 - 0.5);
if (_local4 < 0){
_local4 = (_local4 + (Math.PI * 2));
};
_local1 = Math.cos(_local4);
_local2 = Math.sin(_local4);
CBullet.Allocate(m_pPlayer.m_fX, m_pPlayer.m_fY, _local1, _local2, 1000, 0.5, m_pBulletImage, 12);
m_fShield = (m_fShield - 0.003);
_local5 = (_local5 + 0.5);
if (_local5 > (Math.PI * 2)){
_local5 = (_local5 - (Math.PI * 2));
};
_local1 = Math.cos(_local5);
_local2 = Math.sin(_local5);
CBullet.Allocate(m_pPlayer.m_fX, m_pPlayer.m_fY, _local1, _local2, 1000, 0.5, m_pBulletImage, 12);
m_fShield = (m_fShield - 0.003);
break;
case 2:
_local8 = 0;
while (_local8 < 6) {
_local1 = Math.cos(_local5);
_local2 = Math.sin(_local5);
CBullet.Allocate(m_pPlayer.m_fX, m_pPlayer.m_fY, _local1, _local2, 1000, 0.5, m_pBulletImage, 12);
m_fShield = (m_fShield - 0.001);
_local5 = (_local5 + _local6);
if (_local5 >= (Math.PI * 2)){
_local5 = (_local5 - (Math.PI * 2));
};
_local8++;
};
break;
case 3:
_local8 = 0;
while (_local8 < 8) {
_local1 = Math.cos(_local5);
_local2 = Math.sin(_local5);
CBullet.Allocate(m_pPlayer.m_fX, m_pPlayer.m_fY, _local1, _local2, 1000, 0.5, m_pBulletImage, 12);
m_fShield = (m_fShield - 0.001);
_local5 = (_local5 + _local7);
if (_local5 >= (Math.PI * 2)){
_local5 = (_local5 - (Math.PI * 2));
};
_local8++;
};
break;
};
m_pGunSound.play();
m_fRepeatDelay = 0.2;
};
DrawHUD();
if (m_iLives < 0){
m_bGameOver = true;
m_fGameOverCountDown = 3;
};
};
if (m_bGameOver){
m_fGameOverCountDown = (m_fGameOverCountDown - FPSCounter.GetTimeDelta());
if (m_fGameOverCountDown < 0){
if (m_bGOMusicNotPlaying){
SoundMixer.stopAll();
m_pGOMusic = new CGameOverMusic();
m_pChannel = m_pGOMusic.play(0, int.MAX_VALUE);
m_bGOMusicNotPlaying = false;
};
CScreen.DrawBitmapFast(m_pGOBack, 0, 0);
CScreen.DrawBitmapFast(m_pGameOver, (375 - (m_pGameOver.width / 2)), 30);
_local9 = m_iScore.toString();
_local10 = _local9.length;
_local11 = (28 * _local10);
_local12 = ((m_pCongrats.width + _local11) + 5);
CScreen.DrawBitmapFast(m_pCongrats, (375 - (_local12 / 2)), 120);
CFont23x23.DrawNumber(m_iScore, (((375 - (_local12 / 2)) + m_pCongrats.width) + 5), 120);
CScreen.DrawBitmapFast(m_pNameBlurb, (375 - (m_pNameBlurb.width / 2)), 230);
_local13 = new Matrix();
_local13.identity();
_local13.translate((375 - (m_pSubmitN.width / 2)), 300);
if ((((CGame.m_pStage.mouseX >= (375 - (m_pSubmitN.width / 2)))) && ((CGame.m_pStage.mouseX <= ((375 - (m_pSubmitN.width / 2)) + m_pSubmitN.width))))){
if ((((CGame.m_pStage.mouseY >= 300)) && ((CGame.m_pStage.mouseY <= (300 + m_pSubmitN.height))))){
CScreen.DrawBitmap(m_pSubmitH, _local13);
m_bSubmitOver = true;
} else {
CScreen.DrawBitmap(m_pSubmitN, _local13);
m_bSubmitOver = false;
};
} else {
CScreen.DrawBitmap(m_pSubmitN, _local13);
m_bSubmitOver = false;
};
_local13.identity();
_local13.translate((375 - (m_pBTTSN.width / 2)), 370);
if ((((CGame.m_pStage.mouseX >= (375 - (m_pBTTSN.width / 2)))) && ((CGame.m_pStage.mouseX <= ((375 - (m_pBTTSN.width / 2)) + m_pBTTSN.width))))){
if ((((CGame.m_pStage.mouseY >= 370)) && ((CGame.m_pStage.mouseY <= (370 + m_pBTTSN.height))))){
CScreen.DrawBitmap(m_pBTTSH, _local13);
m_bBackOver = true;
} else {
CScreen.DrawBitmap(m_pBTTSN, _local13);
m_bBackOver = false;
};
} else {
CScreen.DrawBitmap(m_pBTTSN, _local13);
m_bBackOver = false;
};
_local13.identity();
_local13.translate((375 - (m_pPlayMoreN.width / 2)), 440);
if ((((CGame.m_pStage.mouseX >= (375 - (m_pPlayMoreN.width / 2)))) && ((CGame.m_pStage.mouseX <= ((375 - (m_pPlayMoreN.width / 2)) + m_pPlayMoreN.width))))){
if ((((CGame.m_pStage.mouseY >= 440)) && ((CGame.m_pStage.mouseY <= (440 + m_pPlayMoreN.height))))){
CScreen.DrawBitmap(m_pPlayMoreH, _local13);
m_bMoreOver = true;
} else {
CScreen.DrawBitmap(m_pPlayMoreN, _local13);
m_bMoreOver = false;
};
} else {
CScreen.DrawBitmap(m_pPlayMoreN, _local13);
m_bMoreOver = false;
};
_local14 = (375 - (((m_sName.length * 28) + 28) / 2));
_local15 = (_local14 + (m_sName.length * 28));
m_fCursorTime = (m_fCursorTime + (FPSCounter.GetTimeDelta() * 10));
if (Math.sin(m_fCursorTime) < 0){
CScreen.DrawRect(_local15, 180, 28, 28, 4294901760);
};
CFont23x23.DrawString(m_sName, _local14, 180);
};
};
}
public function OnAICollisionWithAI(_arg1:CAI, _arg2:CAI):void{
}
public function OnAIOuterRadiusBreach(_arg1:CAI):void{
}
}
}//package
Section 69
//CGruntEmergeImage (CGruntEmergeImage)
package {
import flash.display.*;
public dynamic class CGruntEmergeImage extends BitmapData {
public function CGruntEmergeImage(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 70
//CGruntImage (CGruntImage)
package {
import flash.display.*;
public dynamic class CGruntImage extends BitmapData {
public function CGruntImage(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 71
//CGunSound (CGunSound)
package {
import flash.media.*;
public dynamic class CGunSound extends Sound {
}
}//package
Section 72
//CH23x23 (CH23x23)
package {
import flash.display.*;
public dynamic class CH23x23 extends BitmapData {
public function CH23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 73
//CHiScoreH (CHiScoreH)
package {
import flash.display.*;
public dynamic class CHiScoreH extends BitmapData {
public function CHiScoreH(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 74
//CHiScoreN (CHiScoreN)
package {
import flash.display.*;
public dynamic class CHiScoreN extends BitmapData {
public function CHiScoreN(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 75
//CI23x23 (CI23x23)
package {
import flash.display.*;
public dynamic class CI23x23 extends BitmapData {
public function CI23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 76
//CInfiniteLivesOff (CInfiniteLivesOff)
package {
import flash.display.*;
public dynamic class CInfiniteLivesOff extends BitmapData {
public function CInfiniteLivesOff(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 77
//CInfiniteLivesOn (CInfiniteLivesOn)
package {
import flash.display.*;
public dynamic class CInfiniteLivesOn extends BitmapData {
public function CInfiniteLivesOn(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 78
//CInGame (CInGame)
package {
import flash.media.*;
public dynamic class CInGame extends Sound {
}
}//package
Section 79
//CInstHL (CInstHL)
package {
import flash.display.*;
public dynamic class CInstHL extends BitmapData {
public function CInstHL(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 80
//CInstN (CInstN)
package {
import flash.display.*;
public dynamic class CInstN extends BitmapData {
public function CInstN(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 81
//CInstructionsImage (CInstructionsImage)
package {
import flash.display.*;
public dynamic class CInstructionsImage extends BitmapData {
public function CInstructionsImage(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 82
//CJ23x23 (CJ23x23)
package {
import flash.display.*;
public dynamic class CJ23x23 extends BitmapData {
public function CJ23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 83
//CK23x23 (CK23x23)
package {
import flash.display.*;
public dynamic class CK23x23 extends BitmapData {
public function CK23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 84
//CL23x23 (CL23x23)
package {
import flash.display.*;
public dynamic class CL23x23 extends BitmapData {
public function CL23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 85
//CM10X (CM10X)
package {
import flash.display.*;
public dynamic class CM10X extends BitmapData {
public function CM10X(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 86
//CM23x23 (CM23x23)
package {
import flash.display.*;
public dynamic class CM23x23 extends BitmapData {
public function CM23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 87
//CM2X (CM2X)
package {
import flash.display.*;
public dynamic class CM2X extends BitmapData {
public function CM2X(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 88
//CM3X (CM3X)
package {
import flash.display.*;
public dynamic class CM3X extends BitmapData {
public function CM3X(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 89
//CM4X (CM4X)
package {
import flash.display.*;
public dynamic class CM4X extends BitmapData {
public function CM4X(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 90
//CM5X (CM5X)
package {
import flash.display.*;
public dynamic class CM5X extends BitmapData {
public function CM5X(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 91
//CM6X (CM6X)
package {
import flash.display.*;
public dynamic class CM6X extends BitmapData {
public function CM6X(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 92
//CM7X (CM7X)
package {
import flash.display.*;
public dynamic class CM7X extends BitmapData {
public function CM7X(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 93
//CM8X (CM8X)
package {
import flash.display.*;
public dynamic class CM8X extends BitmapData {
public function CM8X(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 94
//CM9X (CM9X)
package {
import flash.display.*;
public dynamic class CM9X extends BitmapData {
public function CM9X(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 95
//CMain (CMain)
package {
import flash.display.*;
import com.XiotexStudios.XGDK.*;
import flash.system.*;
public class CMain extends Sprite {
private var m_pGameScreen:CGameScreen;
private var m_pTitleScreen:CTitleScreen;
public function CMain(_arg1:Sprite){
MochiBot.track(_arg1, "9c9ad980");
MochiBot.track(_arg1, "7c4c203c");
Security.allowDomain("*");
Security.allowDomain("http://www.xiotex.com/Arena/");
Security.allowDomain("http://www.xiotex.com/Arena/stats.php");
Security.allowDomain("http://www.xiotex.com/Arena/highscore.php");
Security.allowDomain("http://www.xiotex.com/Arena/hstable.php");
Security.allowInsecureDomain("*");
Security.allowInsecureDomain("http://www.xiotex.com");
Security.allowInsecureDomain("http://www.xiotex.com/Arena/");
Security.allowInsecureDomain("http://www.xiotex.com/Arena/stats.php");
Security.allowInsecureDomain("http://www.xiotex.com/Arena/highscore.php");
Security.allowInsecureDomain("http://www.xiotex.com/Arena/hstable.php");
CGame.Initialise(_arg1.stage, _arg1, CArenaConsts.ARENA_MAX_UNITS, CArenaConsts.ARENA_PARTICLE_DL_DEPTH, 750, 500);
m_pTitleScreen = new CTitleScreen();
m_pGameScreen = new CGameScreen();
CGameUnit.AddUnit(CArenaConsts.ARENA_TITLESCREEN, m_pTitleScreen);
CGameUnit.AddUnit(CArenaConsts.ARENA_GAMESCREEN, m_pGameScreen);
CGameUnit.SetCurrentUnit(CArenaConsts.ARENA_TITLESCREEN);
}
}
}//package
Section 96
//CMortar (CMortar)
package {
import flash.display.*;
public dynamic class CMortar extends MovieClip {
public function CMortar(){
addFrameScript(0, frame1, 185, frame186);
}
function frame186(){
stop();
}
function frame1(){
gotoAndPlay(2);
}
}
}//package
Section 97
//CN23x23 (CN23x23)
package {
import flash.display.*;
public dynamic class CN23x23 extends BitmapData {
public function CN23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 98
//CNameBlurb (CNameBlurb)
package {
import flash.display.*;
public dynamic class CNameBlurb extends BitmapData {
public function CNameBlurb(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 99
//CNoPlayerOff (CNoPlayerOff)
package {
import flash.display.*;
public dynamic class CNoPlayerOff extends BitmapData {
public function CNoPlayerOff(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 100
//CNoPlayerOn (CNoPlayerOn)
package {
import flash.display.*;
public dynamic class CNoPlayerOn extends BitmapData {
public function CNoPlayerOn(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 101
//CO23x23 (CO23x23)
package {
import flash.display.*;
public dynamic class CO23x23 extends BitmapData {
public function CO23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 102
//COrbExplosionImage (COrbExplosionImage)
package {
import flash.display.*;
public dynamic class COrbExplosionImage extends BitmapData {
public function COrbExplosionImage(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 103
//COrbImage (COrbImage)
package {
import flash.display.*;
public dynamic class COrbImage extends BitmapData {
public function COrbImage(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 104
//CP23x23 (CP23x23)
package {
import flash.display.*;
public dynamic class CP23x23 extends BitmapData {
public function CP23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 105
//CPillar (CPillar)
package {
import flash.display.*;
public dynamic class CPillar extends BitmapData {
public function CPillar(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 106
//CPillar1 (CPillar1)
package {
import flash.display.*;
public dynamic class CPillar1 extends BitmapData {
public function CPillar1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 107
//CPillar2 (CPillar2)
package {
import flash.display.*;
public dynamic class CPillar2 extends BitmapData {
public function CPillar2(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 108
//CPlayDownImage (CPlayDownImage)
package {
import flash.display.*;
public dynamic class CPlayDownImage extends BitmapData {
public function CPlayDownImage(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 109
//CPlayerExplosion (CPlayerExplosion)
package {
import flash.media.*;
public dynamic class CPlayerExplosion extends Sound {
}
}//package
Section 110
//CPlayerExplosionGlow (CPlayerExplosionGlow)
package {
import flash.display.*;
public dynamic class CPlayerExplosionGlow extends BitmapData {
public function CPlayerExplosionGlow(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 111
//CPlayerExplosionImage (CPlayerExplosionImage)
package {
import flash.display.*;
public dynamic class CPlayerExplosionImage extends BitmapData {
public function CPlayerExplosionImage(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 112
//CPlayerExplosionSparkImage (CPlayerExplosionSparkImage)
package {
import flash.display.*;
public dynamic class CPlayerExplosionSparkImage extends BitmapData {
public function CPlayerExplosionSparkImage(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 113
//CPlayerImage (CPlayerImage)
package {
import flash.display.*;
public dynamic class CPlayerImage extends BitmapData {
public function CPlayerImage(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 114
//CPlayerLivesImage (CPlayerLivesImage)
package {
import flash.display.*;
public dynamic class CPlayerLivesImage extends BitmapData {
public function CPlayerLivesImage(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 115
//CPlayMoreH (CPlayMoreH)
package {
import flash.display.*;
public dynamic class CPlayMoreH extends BitmapData {
public function CPlayMoreH(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 116
//CPlayMoreN (CPlayMoreN)
package {
import flash.display.*;
public dynamic class CPlayMoreN extends BitmapData {
public function CPlayMoreN(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 117
//CPlayUpImage (CPlayUpImage)
package {
import flash.display.*;
public dynamic class CPlayUpImage extends BitmapData {
public function CPlayUpImage(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 118
//CPressSpace (CPressSpace)
package {
import flash.display.*;
public dynamic class CPressSpace extends BitmapData {
public function CPressSpace(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 119
//CQ23x23 (CQ23x23)
package {
import flash.display.*;
public dynamic class CQ23x23 extends BitmapData {
public function CQ23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 120
//CR23x23 (CR23x23)
package {
import flash.display.*;
public dynamic class CR23x23 extends BitmapData {
public function CR23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 121
//CRadarCheatOff (CRadarCheatOff)
package {
import flash.display.*;
public dynamic class CRadarCheatOff extends BitmapData {
public function CRadarCheatOff(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 122
//CRadarCheatOn (CRadarCheatOn)
package {
import flash.display.*;
public dynamic class CRadarCheatOn extends BitmapData {
public function CRadarCheatOn(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 123
//CRadarImage (CRadarImage)
package {
import flash.display.*;
public dynamic class CRadarImage extends BitmapData {
public function CRadarImage(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 124
//CS23x23 (CS23x23)
package {
import flash.display.*;
public dynamic class CS23x23 extends BitmapData {
public function CS23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 125
//CShieldBarEnclosureImage (CShieldBarEnclosureImage)
package {
import flash.display.*;
public dynamic class CShieldBarEnclosureImage extends BitmapData {
public function CShieldBarEnclosureImage(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 126
//CShieldBarImage (CShieldBarImage)
package {
import flash.display.*;
public dynamic class CShieldBarImage extends BitmapData {
public function CShieldBarImage(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 127
//CSparkImage (CSparkImage)
package {
import flash.display.*;
public dynamic class CSparkImage extends BitmapData {
public function CSparkImage(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 128
//CStreaker (CStreaker)
package {
import flash.display.*;
public dynamic class CStreaker extends BitmapData {
public function CStreaker(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 129
//CSubmitH (CSubmitH)
package {
import flash.display.*;
public dynamic class CSubmitH extends BitmapData {
public function CSubmitH(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 130
//CSubmitN (CSubmitN)
package {
import flash.display.*;
public dynamic class CSubmitN extends BitmapData {
public function CSubmitN(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 131
//CT23x23 (CT23x23)
package {
import flash.display.*;
public dynamic class CT23x23 extends BitmapData {
public function CT23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 132
//CTank1 (CTank1)
package {
import flash.display.*;
public dynamic class CTank1 extends BitmapData {
public function CTank1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 133
//CTank2 (CTank2)
package {
import flash.display.*;
public dynamic class CTank2 extends BitmapData {
public function CTank2(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 134
//CTank3 (CTank3)
package {
import flash.display.*;
public dynamic class CTank3 extends BitmapData {
public function CTank3(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 135
//CTank4 (CTank4)
package {
import flash.display.*;
public dynamic class CTank4 extends BitmapData {
public function CTank4(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 136
//CTank5 (CTank5)
package {
import flash.display.*;
public dynamic class CTank5 extends BitmapData {
public function CTank5(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 137
//CTitleBG (CTitleBG)
package {
import flash.display.*;
public dynamic class CTitleBG extends BitmapData {
public function CTitleBG(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 138
//CTitleCloud1Image (CTitleCloud1Image)
package {
import flash.display.*;
public dynamic class CTitleCloud1Image extends BitmapData {
public function CTitleCloud1Image(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 139
//CTitleCloudImage (CTitleCloudImage)
package {
import flash.display.*;
public dynamic class CTitleCloudImage extends BitmapData {
public function CTitleCloudImage(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 140
//CTitleLogo (CTitleLogo)
package {
import flash.display.*;
public dynamic class CTitleLogo extends BitmapData {
public function CTitleLogo(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 141
//CTitleMusic (CTitleMusic)
package {
import flash.media.*;
public dynamic class CTitleMusic extends Sound {
}
}//package
Section 142
//CTitleScreen (CTitleScreen)
package {
import flash.display.*;
import flash.events.*;
import com.XiotexStudios.XGDK.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.utils.*;
public class CTitleScreen implements IGameUnit {
private var m_bMoreOver:Boolean;
private var m_pRenderTarget:BitmapData;
private var m_bOver:Boolean;
private var m_pChannel:SoundChannel;
private var m_bRadarCheatOver:Boolean;
private var m_fCheatsTime;
private var m_bNoPlayerOver:Boolean;
private var m_pNoPlayerOff:CNoPlayerOff;
private var m_pSparkImage:CTitleCloud1Image;
private var m_pUV:CUV;
private var m_pPlayMoreH:CPlayMoreH;
private var m_pInstH:CInstHL;
private var m_bCheatsLinkOver:Boolean;
private var m_pNoPlayerOn:CNoPlayerOn;
private var m_pPlayMoreN:CPlayMoreN;
private var m_fLeftChannel:Array;
private var m_pInstN:CInstN;
private var m_pRadarCheatOff:CRadarCheatOff;
private var m_pTop:CTop;
private var m_pInfiniteLivesOff:CInfiniteLivesOff;
private var m_iScreen:int;
private var m_vScores:Array;
private var m_bInstOver:Boolean;
private var m_pTitleMusic:CTitleMusic;
private var m_pRadarCheatOn:CRadarCheatOn;
private var m_fRightChannel:Array;
private var m_fCloudDelay:Number;
private var m_pInst:CInstructionsImage;
private var m_pPlayDownImage:CPlayDownImage;
private var m_bBackOver:Boolean;
private var m_bHSOver:Boolean;
private var m_vNames:Array;
private var m_fScale:Number;
private var m_bInfiniteLivesOver:Boolean;
private var m_pInfiniteLivesOn:CInfiniteLivesOn;
private var m_p3WayCheatOff:C3WayOff;
private var m_pTitleBG:CTitleBG;
private var m_bHSBack:Boolean;
private var m_fResetDelay:Number;
private var m_pPlayUpImage:CPlayUpImage;
private var m_pHSH:CHiScoreH;
private var m_b3WayOver:Boolean;
private var m_pTitleCloud:CTitleCloudImage;
private var m_pBackH:CBackH;
private var m_fX:Array;
private var m_pHSN:CHiScoreN;
private var m_fZ:Array;
private var m_pBackN:CBackN;
private var m_fY:Array;
private var m_pUV1:CUV1;
private var m_p3WayCheatOn:C3WayOn;
private var m_pCheatsLink:CCheatsLink;
private var m_pLogoImage:CTitleLogo;
public function CTitleScreen(){
var _local1:int;
super();
m_pCheatsLink = new CCheatsLink(0, 0);
m_pTitleCloud = new CTitleCloudImage(0, 0);
m_pSparkImage = new CTitleCloud1Image(0, 0);
m_pTitleBG = new CTitleBG(0, 0);
m_pLogoImage = new CTitleLogo(0, 0);
m_pPlayUpImage = new CPlayUpImage(0, 0);
m_pPlayDownImage = new CPlayDownImage(0, 0);
m_pInstH = new CInstHL(0, 0);
m_pInstN = new CInstN(0, 0);
m_pHSN = new CHiScoreN(0, 0);
m_pHSH = new CHiScoreH(0, 0);
m_pUV = new CUV(0, 0);
m_pUV1 = new CUV1(0, 0);
m_pInst = new CInstructionsImage(0, 0);
m_pBackN = new CBackN(0, 0);
m_pBackH = new CBackH(0, 0);
m_pTop = new CTop(0, 0);
m_pRadarCheatOn = new CRadarCheatOn(0, 0);
m_pRadarCheatOff = new CRadarCheatOff(0, 0);
m_pInfiniteLivesOn = new CInfiniteLivesOn(0, 0);
m_pInfiniteLivesOff = new CInfiniteLivesOff(0, 0);
m_p3WayCheatOn = new C3WayOn(0, 0);
m_p3WayCheatOff = new C3WayOff(0, 0);
m_pNoPlayerOn = new CNoPlayerOn(0, 0);
m_pNoPlayerOff = new CNoPlayerOff(0, 0);
m_pTitleMusic = new CTitleMusic();
m_fLeftChannel = new Array();
m_fRightChannel = new Array();
_local1 = 0;
while (_local1 < 0x0100) {
m_fLeftChannel.push(0);
m_fRightChannel.push(0);
_local1++;
};
m_fX = new Array();
m_fY = new Array();
m_fZ = new Array();
_local1 = 0;
while (_local1 < 4000) {
m_fX.push(((Math.random() * 50000) - 25000));
m_fY.push(((Math.random() * 10000) - 5000));
m_fZ.push((Math.random() * 100));
_local1++;
};
m_vNames = new Array();
m_vScores = new Array();
m_pPlayMoreN = new CPlayMoreN(0, 0);
m_pPlayMoreH = new CPlayMoreH(0, 0);
}
public function MouseDownEvent(_arg1:Event):void{
}
public function MouseUp(_arg1:Event):void{
var _local2:String;
var _local3:URLRequest;
var _local4:URLLoader;
var _local5:URLRequest;
if (m_fResetDelay <= 0){
if (m_bOver){
CGameUnit.SetCurrentUnit(CArenaConsts.ARENA_GAMESCREEN);
};
if (m_bInstOver){
m_iScreen = 1;
};
if (m_bBackOver){
m_iScreen = 0;
};
if (m_bHSOver){
m_iScreen = 2;
};
if (m_bHSBack){
m_iScreen = 0;
_local2 = "http://www.xiotex.com/Arena/hstable.php";
_local3 = new URLRequest(_local2);
_local4 = new URLLoader();
_local4.addEventListener(Event.COMPLETE, HandleComplete);
_local4.dataFormat = URLLoaderDataFormat.TEXT;
_local4.load(_local3);
};
if (m_bMoreOver){
_local5 = new URLRequest("http://www.mortargames.com");
navigateToURL(_local5, "_blank");
};
if (m_bRadarCheatOver){
CCheats.ToggleRadarCheat();
if (CCheats.m_bNoRadar){
CMessage.SetMessage(m_pRadarCheatOn);
} else {
CMessage.SetMessage(m_pRadarCheatOff);
};
};
if (m_bInfiniteLivesOver){
CCheats.ToggleInfiniteLives();
if (CCheats.m_bInfiniteLives){
CMessage.SetMessage(m_pInfiniteLivesOn);
} else {
CMessage.SetMessage(m_pInfiniteLivesOff);
};
};
if (m_b3WayOver){
CCheats.Toggle3Way();
if (CCheats.m_b3Way){
CMessage.SetMessage(m_p3WayCheatOn);
} else {
CMessage.SetMessage(m_p3WayCheatOff);
};
};
if (m_bNoPlayerOver){
CCheats.ToggleNoPlayer();
if (CCheats.m_bNoPlayer){
CMessage.SetMessage(m_pNoPlayerOn);
} else {
CMessage.SetMessage(m_pNoPlayerOff);
};
};
if (m_bCheatsLinkOver){
_local5 = new URLRequest("http://www.mortargames.com/arena.php");
navigateToURL(_local5, "_blank");
};
};
m_bBackOver = false;
m_bInstOver = false;
m_bOver = false;
m_bHSBack = false;
m_bRadarCheatOver = false;
m_b3WayOver = false;
m_bNoPlayerOver = false;
m_bCheatsLinkOver = false;
}
public function OnAICollisionWithPlayer(_arg1:CAI, _arg2:Number):void{
}
public function KeyUp(_arg1:KeyboardEvent):void{
}
public function OnAIActive(_arg1:CAI):void{
}
public function OnAICollisionWithBullet(_arg1:CAI):void{
}
public function OnAIEmerge(_arg1:CAI):void{
}
public function Shutdown():void{
CParticle.Shutdown();
CDisplayList.Clear();
CExplosion.Shutdown();
CSparks.Shutdown();
CGlow.Shutdown();
}
public function KeyDown(_arg1:KeyboardEvent):void{
}
private function HandleComplete(_arg1:Event):void{
var loader:URLLoader;
var ScoreTable:XML;
var Score:XML;
var event = _arg1;
loader = URLLoader(event.target);
trace(loader.data);
if (loader.data != "<none></none>"){
try {
ScoreTable = new XML(loader.data);
m_vNames = new Array();
m_vScores = new Array();
for each (Score in ScoreTable..scores) {
m_vNames.push(new String(Score.name));
m_vScores.push(Score.score);
};
} catch(e:TypeError) {
trace(e.message);
};
};
}
public function OnAIDie(_arg1:CAI):void{
}
public function Render():void{
var _local1:Matrix;
var _local2:ByteArray;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:int;
var _local10:Matrix;
m_fResetDelay = (m_fResetDelay - FPSCounter.GetTimeDelta());
if (m_fResetDelay < 0){
m_fResetDelay = 0;
};
if (m_iScreen == 0){
CScreen.DrawBitmapFast(m_pTitleBG, 0, 0);
m_fCheatsTime = (m_fCheatsTime + FPSCounter.GetTimeDelta());
_local1 = new Matrix();
_local1.translate((-(m_pCheatsLink.width) / 2), (-(m_pCheatsLink.height) / 2));
_local1.scale((1 + (Math.sin((m_fCheatsTime * 1.3)) * 0.5)), (1 + (Math.sin((m_fCheatsTime * 1.3)) * 0.5)));
_local1.translate(100, 300);
CScreen.DrawBitmap(m_pCheatsLink, _local1);
if ((((CGame.m_pStage.mouseX >= 42)) && ((CGame.m_pStage.mouseX <= (43 + 116))))){
if ((((CGame.m_pStage.mouseY >= 265)) && ((CGame.m_pStage.mouseY <= (265 + 75))))){
m_bCheatsLinkOver = true;
} else {
m_bCheatsLinkOver = false;
};
} else {
m_bCheatsLinkOver = false;
};
if ((((CGame.m_pStage.mouseX >= 199)) && ((CGame.m_pStage.mouseX <= (199 + 21))))){
if ((((CGame.m_pStage.mouseY >= 4)) && ((CGame.m_pStage.mouseY <= (4 + 24))))){
m_bRadarCheatOver = true;
} else {
m_bRadarCheatOver = false;
};
} else {
m_bRadarCheatOver = false;
};
if ((((CGame.m_pStage.mouseX >= 636)) && ((CGame.m_pStage.mouseX <= (636 + 22))))){
if ((((CGame.m_pStage.mouseY >= 110)) && ((CGame.m_pStage.mouseY <= (110 + 19))))){
m_bInfiniteLivesOver = true;
} else {
m_bInfiniteLivesOver = false;
};
} else {
m_bInfiniteLivesOver = false;
};
if ((((CGame.m_pStage.mouseX >= 408)) && ((CGame.m_pStage.mouseX <= (408 + 22))))){
if ((((CGame.m_pStage.mouseY >= 85)) && ((CGame.m_pStage.mouseY <= (85 + 19))))){
m_b3WayOver = true;
} else {
m_b3WayOver = false;
};
} else {
m_b3WayOver = false;
};
if ((((CGame.m_pStage.mouseX >= 536)) && ((CGame.m_pStage.mouseX <= (536 + 22))))){
if ((((CGame.m_pStage.mouseY >= 486)) && ((CGame.m_pStage.mouseY <= (486 + 15))))){
m_bNoPlayerOver = true;
} else {
m_bNoPlayerOver = false;
};
} else {
m_bNoPlayerOver = false;
};
_local2 = new ByteArray();
SoundMixer.computeSpectrum(_local2);
_local3 = (250 - 100);
_local4 = 0;
_local5 = 0;
_local6 = 0;
_local9 = 0;
while (_local9 < 0x0100) {
_local7 = _local2.readFloat();
_local6 = (50 + (_local7 * 50));
if (_local6 > 100){
_local6 = 100;
};
if (_local6 < 0){
_local6 = 0;
};
m_fLeftChannel[_local9] = _local6;
_local9++;
};
_local9 = 0;
while (_local9 < 0x0100) {
_local7 = _local2.readFloat();
_local6 = (50 + (_local7 * 50));
if (_local6 > 100){
_local6 = 100;
};
if (_local6 < 0){
_local6 = 0;
};
m_fRightChannel[_local9] = _local6;
_local9++;
};
_local4 = 0;
_local9 = 0;
while (_local9 < 0x0100) {
_local5 = (100 - m_fLeftChannel[_local9]);
CScreen.DrawBitmapFastWidthHeightOffset(m_pUV, _local4, _local5, 3, m_fLeftChannel[_local9]);
CScreen.DrawBitmapFastWidthHeightOffset1(m_pUV1, _local4, (100 - (Math.random() * 2)), 3, m_fRightChannel[_local9]);
_local4 = (_local4 + 3);
m_fLeftChannel[_local9] = (m_fLeftChannel[_local9] - 1);
if (m_fLeftChannel[_local9] < 0){
m_fLeftChannel[_local9] = 0;
};
m_fRightChannel[_local9] = (m_fRightChannel[_local9] - 1);
if (m_fRightChannel[_local9] < 0){
m_fRightChannel[_local9] = 0;
};
_local9++;
};
_local10 = new Matrix();
_local10.identity();
_local10.translate((375 - (m_pLogoImage.width / 2)), (100 - (m_pLogoImage.height / 2)));
CScreen.DrawBitmap(m_pLogoImage, _local10);
_local10.identity();
_local10.translate((375 - (m_pPlayUpImage.width / 2)), (180 + 20));
if ((((CGame.m_pStage.mouseX >= (375 - (m_pPlayUpImage.width / 2)))) && ((CGame.m_pStage.mouseX <= ((375 - (m_pPlayUpImage.width / 2)) + m_pPlayUpImage.width))))){
if ((((CGame.m_pStage.mouseY >= (180 + 20))) && ((CGame.m_pStage.mouseY <= ((180 + 20) + m_pPlayUpImage.height))))){
CScreen.DrawBitmap(m_pPlayDownImage, _local10);
m_bOver = true;
} else {
CScreen.DrawBitmap(m_pPlayUpImage, _local10);
m_bOver = false;
};
} else {
CScreen.DrawBitmap(m_pPlayUpImage, _local10);
m_bOver = false;
};
_local10.identity();
_local10.translate((375 - (m_pInstN.width / 2)), (250 + 20));
if ((((CGame.m_pStage.mouseX >= (375 - (m_pInstN.width / 2)))) && ((CGame.m_pStage.mouseX <= ((375 - (m_pInstN.width / 2)) + m_pInstN.width))))){
if ((((CGame.m_pStage.mouseY >= (250 + 20))) && ((CGame.m_pStage.mouseY <= ((250 + 20) + m_pInstN.height))))){
CScreen.DrawBitmap(m_pInstH, _local10);
m_bInstOver = true;
} else {
CScreen.DrawBitmap(m_pInstN, _local10);
m_bInstOver = false;
};
} else {
CScreen.DrawBitmap(m_pInstN, _local10);
m_bInstOver = false;
};
_local10.identity();
_local10.translate((375 - (m_pHSN.width / 2)), (320 + 20));
if ((((CGame.m_pStage.mouseX >= (375 - (m_pHSN.width / 2)))) && ((CGame.m_pStage.mouseX <= ((375 - (m_pHSN.width / 2)) + m_pHSN.width))))){
if ((((CGame.m_pStage.mouseY >= (320 + 20))) && ((CGame.m_pStage.mouseY <= ((320 + 20) + m_pHSN.height))))){
CScreen.DrawBitmap(m_pHSH, _local10);
m_bHSOver = true;
} else {
CScreen.DrawBitmap(m_pHSN, _local10);
m_bHSOver = false;
};
} else {
CScreen.DrawBitmap(m_pHSN, _local10);
m_bHSOver = false;
};
_local10.identity();
_local10.translate((375 - (m_pPlayMoreN.width / 2)), (390 + 20));
if ((((CGame.m_pStage.mouseX >= (375 - (m_pPlayMoreN.width / 2)))) && ((CGame.m_pStage.mouseX <= ((375 - (m_pPlayMoreN.width / 2)) + m_pPlayMoreN.width))))){
if ((((CGame.m_pStage.mouseY >= (390 + 20))) && ((CGame.m_pStage.mouseY <= ((390 + 20) + m_pHSN.height))))){
CScreen.DrawBitmap(m_pPlayMoreH, _local10);
m_bMoreOver = true;
} else {
CScreen.DrawBitmap(m_pPlayMoreN, _local10);
m_bMoreOver = false;
};
} else {
CScreen.DrawBitmap(m_pPlayMoreN, _local10);
m_bMoreOver = false;
};
};
if (m_iScreen == 1){
CScreen.DrawBitmapFast(m_pInst, 0, -(CGame.m_pStage.mouseY));
_local10 = new Matrix();
_local10.identity();
_local10.translate((375 - (m_pBackN.width / 2)), 440);
if ((((CGame.m_pStage.mouseX >= (375 - (m_pBackN.width / 2)))) && ((CGame.m_pStage.mouseX <= ((375 - (m_pBackN.width / 2)) + m_pBackN.width))))){
if ((((CGame.m_pStage.mouseY >= 440)) && ((CGame.m_pStage.mouseY <= (440 + m_pBackN.height))))){
CScreen.DrawBitmap(m_pBackH, _local10);
m_bBackOver = true;
} else {
CScreen.DrawBitmap(m_pBackN, _local10);
m_bBackOver = false;
};
} else {
CScreen.DrawBitmap(m_pBackN, _local10);
m_bBackOver = false;
};
};
if (m_iScreen == 2){
CScreen.DrawBitmapFast(m_pTitleBG, 0, 0);
CScreen.DrawBitmapFast(m_pTop, (375 - (m_pTop.width / 2)), 20);
_local10 = new Matrix();
_local10.identity();
_local10.translate((375 - (m_pBackN.width / 2)), 440);
if ((((CGame.m_pStage.mouseX >= (375 - (m_pBackN.width / 2)))) && ((CGame.m_pStage.mouseX <= ((375 - (m_pBackN.width / 2)) + m_pBackN.width))))){
if ((((CGame.m_pStage.mouseY >= 440)) && ((CGame.m_pStage.mouseY <= (440 + m_pBackN.height))))){
CScreen.DrawBitmap(m_pBackH, _local10);
m_bHSBack = true;
} else {
CScreen.DrawBitmap(m_pBackN, _local10);
m_bHSBack = false;
};
} else {
CScreen.DrawBitmap(m_pBackN, _local10);
m_bHSBack = false;
};
_local3 = 100;
_local9 = 0;
while (_local9 < m_vNames.length) {
CFont23x23.DrawString(m_vNames[_local9], 20, _local3);
CFont23x23.DrawString(m_vScores[_local9], (750 - (9 * 28)), _local3);
_local3 = (_local3 + 30);
_local9++;
};
};
CMessage.Update();
}
public function OnAICollisionWithAI(_arg1:CAI, _arg2:CAI):void{
}
public function Prepare():void{
var _local1:String;
var _local2:URLRequest;
var _local3:URLLoader;
m_fCheatsTime = 0;
m_fCloudDelay = 0;
m_fScale = 1;
m_bOver = false;
m_bInstOver = false;
m_bBackOver = false;
m_bHSOver = false;
m_bHSBack = false;
m_bRadarCheatOver = false;
m_bInfiniteLivesOver = false;
m_b3WayOver = false;
m_bNoPlayerOver = false;
CCheats.Initialise();
SoundMixer.stopAll();
CParticle.Initialise(2000, new CEmptyWorld());
CExplosion.Initialise(100);
CSparks.Initialise(100);
CGlow.Initialise(100);
m_pTitleMusic = new CTitleMusic();
m_pChannel = m_pTitleMusic.play(0, int.MAX_VALUE);
m_iScreen = 0;
_local1 = "http://www.xiotex.com/Arena/hstable.php";
_local2 = new URLRequest(_local1);
_local3 = new URLLoader();
_local3.addEventListener(Event.COMPLETE, HandleComplete);
_local3.dataFormat = URLLoaderDataFormat.TEXT;
_local3.load(_local2);
m_fResetDelay = 1;
m_bMoreOver = false;
m_bCheatsLinkOver = false;
}
public function OnAIOuterRadiusBreach(_arg1:CAI):void{
}
}
}//package
Section 143
//CTop (CTop)
package {
import flash.display.*;
public dynamic class CTop extends BitmapData {
public function CTop(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 144
//CU23x23 (CU23x23)
package {
import flash.display.*;
public dynamic class CU23x23 extends BitmapData {
public function CU23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 145
//CUberGruntImage (CUberGruntImage)
package {
import flash.display.*;
public dynamic class CUberGruntImage extends BitmapData {
public function CUberGruntImage(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 146
//CUV (CUV)
package {
import flash.display.*;
public dynamic class CUV extends BitmapData {
public function CUV(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 147
//CUV1 (CUV1)
package {
import flash.display.*;
public dynamic class CUV1 extends BitmapData {
public function CUV1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 148
//CV23x23 (CV23x23)
package {
import flash.display.*;
public dynamic class CV23x23 extends BitmapData {
public function CV23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 149
//CW23x23 (CW23x23)
package {
import flash.display.*;
public dynamic class CW23x23 extends BitmapData {
public function CW23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 150
//CX23x23 (CX23x23)
package {
import flash.display.*;
public dynamic class CX23x23 extends BitmapData {
public function CX23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 151
//CY23x23 (CY23x23)
package {
import flash.display.*;
public dynamic class CY23x23 extends BitmapData {
public function CY23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 152
//CZ23x23 (CZ23x23)
package {
import flash.display.*;
public dynamic class CZ23x23 extends BitmapData {
public function CZ23x23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 153
//MochiAd (MochiAd)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.utils.*;
import flash.system.*;
public class MochiAd {
public static function getVersion():String{
return ("2.1");
}
public static function showTimedAd(_arg1:Object):void{
MochiAd.showInterLevelAd(_arg1);
}
public static function _allowDomains(_arg1:String):String{
var _local2:String;
_local2 = _arg1.split("/")[2].split(":")[0];
Security.allowDomain("*");
Security.allowDomain(_local2);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(_local2);
return (_local2);
}
public static function load(_arg1:Object):MovieClip{
var DEFAULTS:Object;
var clip:Object;
var depth:Number;
var mc:MovieClip;
var wh:Array;
var lv:URLVariables;
var k:String;
var server:String;
var hostname:String;
var lc:LocalConnection;
var name:String;
var loader:Loader;
var f:Function;
var g:Function;
var req:URLRequest;
var v:Object;
var options = _arg1;
DEFAULTS = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
if (!MochiAd._isNetworkAvailable()){
return (null);
};
if (clip._mochiad_loaded){
return (null);
};
depth = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, "_mochiad", depth);
wh = MochiAd._getRes(options, clip);
options.res = ((wh[0] + "x") + wh[1]);
options.server = (options.server + options.id);
delete options.id;
clip._mochiad_loaded = true;
if (clip.loaderInfo.loaderURL.indexOf("http") == 0){
options.as3_swf = clip.loaderInfo.loaderURL;
};
lv = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
lv.lc = name;
lv.st = getTimer();
loader = new Loader();
f = function (_arg1:Object):void{
mc._mochiad_ctr_failed = true;
};
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f);
g = function (_arg1:Object):void{
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest((server + ".swf"));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.load(req);
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function sendHighScore(_arg1:Object, _arg2:Object, _arg3:Object=null):Boolean{
var _local4:MovieClip;
_local4 = MochiAd._loadCommunicator({clip:_arg1.clip, id:_arg1.id});
if (!_local4){
return (false);
};
_local4.doSend(["sendHighScore", _arg1], _arg2, _arg3);
return (true);
}
public static function _parseOptions(_arg1:Object, _arg2:Object):Object{
var _local3:Object;
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
_local3 = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
if (_arg1){
for (_local4 in _arg1) {
_local3[_local4] = _arg1[_local4];
};
};
_arg1 = _local3.clip.loaderInfo.parameters.mochiad_options;
if (_arg1){
_local5 = _arg1.split("&");
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = _local5[_local6].split("=");
_local3[unescape(_local7[0])] = unescape(_local7[1]);
_local6++;
};
};
return (_local3);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function unload(_arg1:Object):Boolean{
if (((_arg1.clip) && (_arg1.clip._mochiad))){
_arg1 = _arg1.clip;
};
if (!_arg1._mochiad){
return (false);
};
if (_arg1._mochiad.onUnload){
_arg1._mochiad.onUnload();
};
_arg1.removeChild(_arg1._mochiad);
delete _arg1._mochiad_loaded;
delete _arg1._mochiad;
return (true);
}
public static function showInterLevelAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
this.clip.stop();
}, ad_finished:function ():void{
this.clip.play();
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
options.ad_finished();
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = (_arg1 - 250);
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
_local1 = this.parent._mochiad_ctr;
_local2 = (getTimer() - this.started);
_local3 = false;
if (!chk.showing){
_local4 = _local1.loaderInfo.bytesTotal;
if ((((_local4 > 0)) || (("number" == "undefined")))){
chk.showing = true;
chk.started = getTimer();
} else {
if (_local2 > chk.ad_timeout){
_local3 = true;
};
};
};
if ((((_local2 > chk.ad_msec)) || (this.parent._mochiad_ctr_failed))){
_local3 = true;
};
if (_local3){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _getRes(_arg1:Object, _arg2:Object):Array{
var _local3:Object;
var _local4:Number;
var _local5:Number;
var _local6:Array;
_local3 = _arg2.getBounds(_arg2.root);
_local4 = 0;
_local5 = 0;
if (typeof(_arg1.res) != "undefined"){
_local6 = _arg1.res.split("x");
_local4 = parseFloat(_local6[0]);
_local5 = parseFloat(_local6[1]);
} else {
_local4 = (_local3.xMax - _local3.xMin);
_local5 = (_local3.yMax - _local3.yMin);
};
if ((((_local4 == 0)) || ((_local5 == 0)))){
_local4 = _arg2.stage.stageWidth;
_local5 = _arg2.stage.stageHeight;
};
return ([_local4, _local5]);
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{
var _local4:MovieClip;
_local4 = new MovieClip();
if (((false) && (_arg3))){
_arg1.addChildAt(_local4, _arg3);
} else {
_arg1.addChild(_local4);
};
_arg1[_arg2] = _local4;
_local4["_name"] = _arg2;
return (_local4);
}
public static function _loadCommunicator(_arg1:Object):MovieClip{
var DEFAULTS:Object;
var clip:Object;
var clipname:String;
var server:String;
var depth:Number;
var mc:MovieClip;
var lv:URLVariables;
var k:String;
var lc:LocalConnection;
var name:String;
var req:URLRequest;
var loader:Loader;
var options = _arg1;
DEFAULTS = {com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
clipname = ("_mochiad_com_" + options.id);
if (!MochiAd._isNetworkAvailable()){
return (null);
};
if (clip[clipname]){
return (clip[clipname]);
};
server = (options.com_server + options.id);
MochiAd._allowDomains(server);
delete options.id;
delete options.com_server;
depth = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, clipname, depth);
lv = new URLVariables();
for (k in options) {
lv[k] = options[k];
};
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.name = name;
mc.lc = lc;
lv.lc = name;
mc._id = 0;
mc._queue = [];
mc.rpcResult = function (_arg1:Object):void{
var _local3:Array;
var _local4:Array;
var _local5:Number;
var _local6:Object;
var _local7:Object;
_arg1 = parseInt(_arg1.toString());
_local3 = mc._callbacks[_arg1];
if (typeof(_local3) == "undefined"){
return;
};
delete mc._callbacks[_arg1];
_local4 = [];
_local5 = 2;
while (_local5 < _local3.length) {
_local4.push(_local3[_local5]);
_local5++;
};
_local5 = 1;
while (_local5 < arguments.length) {
_local4.push(arguments[_local5]);
_local5++;
};
_local6 = _local3[1];
_local7 = _local3[0];
if (((_local7) && ((typeof(_local6) == "string")))){
_local6 = _local7[_local6];
};
if (typeof(_local6) == "function"){
_local6.apply(_local7, _local4);
};
};
mc._didConnect = function (_arg1:String):void{
var _local2:Array;
var _local3:Function;
var _local4:Number;
var _local5:Array;
mc._endpoint = _arg1;
_local2 = mc._queue;
delete mc._queue;
_local3 = mc.doSend;
_local4 = 0;
while (_local4 < _local2.length) {
_local5 = _local2[_local4];
_local3.apply(this, _local5);
_local4++;
};
};
mc.doSend = function (_arg1:Array, _arg2:Object, _arg3:Object):void{
var _local5:Number;
var _local6:LocalConnection;
var _local7:Array;
var _local8:Number;
if (mc._endpoint == null){
_local7 = [];
_local8 = 0;
while (_local8 < arguments.length) {
_local7.push(arguments[_local8]);
_local8++;
};
mc._queue.push(_local7);
return;
};
mc._id = (mc._id + 1);
_local5 = mc._id;
mc._callbacks[_local5] = [_arg2, ((_arg3) || (_arg2))];
_local6 = new LocalConnection();
_local6.send(mc._endpoint, "rpc", _local5, _arg1);
};
mc._callbacks = {};
mc._callbacks[0] = [mc, "_didConnect"];
lv.st = getTimer();
req = new URLRequest((server + ".swf"));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader = new Loader();
loader.load(req);
mc.addChild(loader);
mc._mochiad_com = loader;
return (mc);
}
public static function showPreGameAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var bar:MovieClip;
var bar_color:Number;
var bar_background:Number;
var bar_outline:Number;
var backing_mc:MovieClip;
var backing:Object;
var inside_mc:MovieClip;
var inside:Object;
var outline_mc:MovieClip;
var outline:Object;
var complete:Boolean;
var unloaded:Boolean;
var f:Function;
var r:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, ad_started:function ():void{
this.clip.stop();
}, ad_finished:function ():void{
this.clip.play();
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
var fn:Function;
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
bar = createEmptyMovieClip(chk, "_mochiad_bar", 4);
bar.x = 10;
bar.y = (h - 20);
bar_color = options.color;
delete options.color;
bar_background = options.background;
delete options.background;
bar_outline = options.outline;
delete options.outline;
backing_mc = createEmptyMovieClip(bar, "_outline", 1);
backing = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo((w - 20), 0);
backing.lineTo((w - 20), 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
inside_mc = createEmptyMovieClip(bar, "_inside", 2);
inside = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo((w - 20), 0);
inside.lineTo((w - 20), 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
outline_mc = createEmptyMovieClip(bar, "_outline", 3);
outline = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo((w - 20), 0);
outline.lineTo((w - 20), 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
f = function (_arg1:Event):void{
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = _arg1;
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Object;
var _local3:Number;
var _local4:Boolean;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Object;
var _local10:Number;
var _local11:Number;
if (!this.parent.parent){
delete this["onEnterFrame"];
return;
};
_local1 = this.parent.parent.root;
_local2 = this.parent._mochiad_ctr;
_local3 = (getTimer() - this.started);
_local4 = false;
_local5 = _local1.loaderInfo.bytesTotal;
_local6 = _local1.loaderInfo.bytesLoaded;
_local7 = ((100 * _local6) / _local5);
_local8 = ((100 * _local3) / chk.ad_msec);
_local9 = this._mochiad_bar._inside;
_local10 = Math.min(100, Math.min(((_local7) || (0)), _local8));
_local10 = Math.max(this.last_pcnt, _local10);
this.last_pcnt = _local10;
_local9.scaleX = (_local10 * 0.01);
if (!chk.showing){
_local11 = _local2.loaderInfo.bytesTotal;
if ((((_local11 > 0)) || (("number" == "undefined")))){
chk.showing = true;
chk.started = getTimer();
} else {
if (_local3 > chk.ad_timeout){
_local4 = true;
};
};
};
if ((((_local3 > chk.ad_msec)) || (this.parent._mochiad_ctr_failed))){
_local4 = true;
};
if (((complete) && (_local4))){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(_arg1:Object):void{
MochiAd.showPreGameAd(_arg1);
}
public static function fetchHighScores(_arg1:Object, _arg2:Object, _arg3:Object=null):Boolean{
var _local4:MovieClip;
_local4 = MochiAd._loadCommunicator({clip:_arg1.clip, id:_arg1.id});
if (!_local4){
return (false);
};
_local4.doSend(["fetchHighScores", _arg1], _arg2, _arg3);
return (true);
}
public static function doOnEnterFrame(_arg1:MovieClip):void{
var f:Function;
var mc = _arg1;
f = function (_arg1:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
mc.removeEventListener(Event.ENTER_FRAME, f);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package
Section 154
//MochiBot (MochiBot)
package {
import flash.display.*;
import flash.net.*;
import flash.system.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:Sprite, _arg2:String):MochiBot{
var _local3:MochiBot;
var _local4:String;
var _local5:URLVariables;
var _local6:String;
var _local7:URLRequest;
var _local8:Loader;
if (Security.sandboxType == "localWithFile"){
return (null);
};
_local3 = new (MochiBot);
_arg1.addChild(_local3);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
_local4 = "http://core.mochibot.com/my/core.swf";
_local5 = new URLVariables();
_local5["sb"] = Security.sandboxType;
_local5["v"] = Capabilities.version;
_local5["swfid"] = _arg2;
_local5["mv"] = "8";
_local5["fv"] = "9";
_local6 = _local3.root.loaderInfo.loaderURL;
if (_local6.indexOf("http") == 0){
_local5["url"] = _local6;
} else {
_local5["url"] = "local";
};
_local7 = new URLRequest(_local4);
_local7.contentType = "application/x-www-form-urlencoded";
_local7.method = URLRequestMethod.POST;
_local7.data = _local5;
_local8 = new Loader();
_local3.addChild(_local8);
_local8.load(_local7);
return (_local3);
}
}
}//package