Section 1
//KongregateEvent (com.kongregate.as3.client.events.KongregateEvent)
package com.kongregate.as3.client.events {
import flash.events.*;
public class KongregateEvent extends Event {
public static const COMPLETE:String = "component_api_available";
public function KongregateEvent(_arg1:String){
super(_arg1);
}
}
}//package com.kongregate.as3.client.events
Section 2
//AbstractShadowService (com.kongregate.as3.client.services.AbstractShadowService)
package com.kongregate.as3.client.services {
import flash.events.*;
public class AbstractShadowService extends EventDispatcher {
protected function alert(_arg1:String, _arg2:String, _arg3="", _arg4:String=""):void{
trace(((((((("Kongregate API: " + _arg1) + ".") + _arg2) + "(") + _arg3) + ") ") + _arg4));
}
}
}//package com.kongregate.as3.client.services
Section 3
//HighScoreServiceShadow (com.kongregate.as3.client.services.HighScoreServiceShadow)
package com.kongregate.as3.client.services {
public class HighScoreServiceShadow extends AbstractShadowService implements IHighScoreServices {
private var mode:String;
public function HighScoreServiceShadow(){
mode = "";
}
public function submit(_arg1:Number, _arg2:String=null):void{
alert("IHighScoreServices", "submit", arguments);
}
public function connect():Boolean{
alert("IKongregateServices", "connect");
return (true);
}
public function requestList(_arg1:Function):void{
alert("IHighScoreServices", "requestList", "", (("[Mode: " + mode) + "]"));
_arg1({success:false});
}
public function setMode(_arg1:String):void{
alert("IHighScoreServices", "setMode", arguments);
this.mode = _arg1;
}
}
}//package com.kongregate.as3.client.services
Section 4
//IHighScoreServices (com.kongregate.as3.client.services.IHighScoreServices)
package com.kongregate.as3.client.services {
public interface IHighScoreServices {
function setMode(_arg1:String):void;
function submit(_arg1:Number, _arg2:String=null):void;
function requestList(_arg1:Function):void;
}
}//package com.kongregate.as3.client.services
Section 5
//IKongregateServices (com.kongregate.as3.client.services.IKongregateServices)
package com.kongregate.as3.client.services {
import flash.events.*;
public interface IKongregateServices extends IEventDispatcher {
function getPlayerInfo(_arg1:Function):void;
function connect(_arg1:Number=-1):Boolean;
}
}//package com.kongregate.as3.client.services
Section 6
//IStatServices (com.kongregate.as3.client.services.IStatServices)
package com.kongregate.as3.client.services {
public interface IStatServices {
function submitArray(_arg1:Array):void;
function submit(_arg1:String, _arg2:Number):void;
}
}//package com.kongregate.as3.client.services
Section 7
//IUserServices (com.kongregate.as3.client.services.IUserServices)
package com.kongregate.as3.client.services {
public interface IUserServices {
function getName():String;
function getPlayerInfo(_arg1:Function):void;
}
}//package com.kongregate.as3.client.services
Section 8
//KongregateServiceShadow (com.kongregate.as3.client.services.KongregateServiceShadow)
package com.kongregate.as3.client.services {
public class KongregateServiceShadow extends AbstractShadowService implements IKongregateServices {
public function getName():String{
alert("IKongregateServices", "getName");
return ("Guest");
}
public function connect(_arg1:Number=-1):Boolean{
alert("IKongregateServices", "connect", arguments);
return (true);
}
public function getPlayerInfo(_arg1:Function):void{
alert("IKongregateServices", "getPlayerInfo");
_arg1(new Object());
}
}
}//package com.kongregate.as3.client.services
Section 9
//StatServiceShadow (com.kongregate.as3.client.services.StatServiceShadow)
package com.kongregate.as3.client.services {
public class StatServiceShadow extends AbstractShadowService implements IStatServices {
public function submitArray(_arg1:Array):void{
alert("IStatServices", "submitArray", arguments);
}
public function submit(_arg1:String, _arg2:Number):void{
alert("IStatServices", "submitStat", arguments);
}
}
}//package com.kongregate.as3.client.services
Section 10
//UserServiceShadow (com.kongregate.as3.client.services.UserServiceShadow)
package com.kongregate.as3.client.services {
public class UserServiceShadow extends AbstractShadowService implements IUserServices {
public function getName():String{
alert("UserService", "getName");
return ("Guest");
}
public function getPlayerInfo(_arg1:Function):void{
alert("UserService", "getPlayerInfo");
_arg1({isGuest:true, name:"Guest", points:0, level:0, isMode:false, isAdmin:false, isDeveloper:false, avatarPath:"", chatAvatarPath:""});
}
}
}//package com.kongregate.as3.client.services
Section 11
//IAPIBootstrap (com.kongregate.as3.client.IAPIBootstrap)
package com.kongregate.as3.client {
import flash.events.*;
import flash.display.*;
public interface IAPIBootstrap {
function init(_arg1:Event=null, _arg2:Stage=null):void;
function hideLog():void;
function showLog(_arg1:int=0):void;
}
}//package com.kongregate.as3.client
Section 12
//KongregateAPI (com.kongregate.as3.client.KongregateAPI)
package com.kongregate.as3.client {
import flash.events.*;
import flash.display.*;
import com.kongregate.as3.client.events.*;
import flash.utils.*;
import com.kongregate.as3.client.services.*;
import flash.system.*;
import flash.net.*;
import flash.errors.*;
public class KongregateAPI extends Sprite {
private const VERSION:Number = 1;
private var loader:Loader;
private var loadedDomain:ApplicationDomain;
private static const CLASS_USER:String = "com.kongregate.as3.client.services.UserServices";
private static const CLASS_STATS:String = "com.kongregate.as3.client.services.StatServices";
private static const CLASS_SERVICES:String = "com.kongregate.as3.client.services.KongregateServices";
private static const CLASS_SCORES:String = "com.kongregate.as3.client.services.HighScoreServices";
private static const DEBUG_API_URL:String = "//Linuxpc/kongregate/public/flash/API_AS3.swf";
private static var _connected:Boolean;
private static var kUser:IUserServices;
private static var _loaded:Boolean;
private static var kServices:IKongregateServices;
private static var kScores:IHighScoreServices;
private static var mInstance:KongregateAPI;
private static var kStats:IStatServices;
private static var kAPI:IAPIBootstrap;
public function KongregateAPI(){
if (mInstance != null){
throw (new Error("Warning: KongregateAPI has been added to stage more than once or accessed improperly. Use getInstance() or a stage reference to access."));
};
mInstance = this;
this.addEventListener(Event.ADDED_TO_STAGE, init, false, 0, true);
}
public function get loaded():Boolean{
return (_loaded);
}
public function get connected():Boolean{
return (_connected);
}
private function alertConnected(_arg1:TimerEvent=null):void{
var _local2:KongregateEvent;
var _local3:Boolean;
_local2 = new KongregateEvent(KongregateEvent.COMPLETE);
_local3 = this.dispatchEvent(_local2);
}
private function init(_arg1:Event):void{
var _local2:Object;
var _local3:String;
var _local4:URLRequest;
var _local5:LoaderContext;
this.removeEventListener(Event.ADDED_TO_STAGE, init);
_loaded = false;
_connected = false;
_local2 = LoaderInfo(root.loaderInfo).parameters;
_local3 = _local2.api_path;
if (_local3 == null){
trace("Alert: Kongregate API could not be loaded, due to local testing. API will load when the game is uploaded.");
createShadowServices();
return;
};
Security.allowDomain("*.kongregate.com");
Security.allowDomain("kongregatetrunk.com");
_local4 = new URLRequest(_local3);
_local5 = new LoaderContext(false);
_local5.applicationDomain = ApplicationDomain.currentDomain;
_local5.securityDomain = SecurityDomain.currentDomain;
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
loader.load(_local4, _local5);
}
public function get api():IAPIBootstrap{
return (kAPI);
}
private function loadComplete(_arg1:Event):void{
getServices();
}
public function get scores():IHighScoreServices{
return (kScores);
}
private function ioErrorHandler(_arg1:IOErrorEvent):void{
throw (new IOError(("API file not found. " + _arg1)));
}
public function get services():IKongregateServices{
return (kServices);
}
public function get stats():IStatServices{
return (kStats);
}
private function createShadowServices():void{
var _local1:Timer;
trace(">>> Kongregate Shadow Services instantiated for local development..");
kServices = new KongregateServiceShadow();
kScores = new HighScoreServiceShadow();
kStats = new StatServiceShadow();
kUser = new UserServiceShadow();
_local1 = new Timer(200, 1);
_local1.addEventListener(TimerEvent.TIMER_COMPLETE, alertConnected);
_local1.start();
_connected = true;
}
public function get user():IUserServices{
return (kUser);
}
private function getServices():void{
var _local1:ApplicationDomain;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local1 = ApplicationDomain.currentDomain;
kAPI = IAPIBootstrap(loader.getChildAt(0));
this.addChild(loader);
_local2 = _local1.getDefinition(CLASS_SERVICES);
trace(_local2);
kServices = _local2.getInstance();
_local3 = _local1.getDefinition(CLASS_SCORES);
kScores = _local3.getInstance();
_local4 = _local1.getDefinition(CLASS_STATS);
kStats = _local4.getInstance();
_local5 = _local1.getDefinition(CLASS_USER);
kUser = _local5.getInstance();
kServices.connect(VERSION);
_loaded = true;
_connected = true;
alertConnected();
}
public static function getInstance():KongregateAPI{
if (!mInstance){
throw (new IllegalOperationError("You must add the Kongregate API component to the stage before attempting to access it."));
};
return (mInstance);
}
}
}//package com.kongregate.as3.client
Section 13
//Hex (crypto.Hex)
package crypto {
import flash.utils.*;
public class Hex {
public static function fromString(_arg1:String, _arg2:Boolean=false):String{
var _local3:ByteArray;
_local3 = new ByteArray();
_local3.writeUTFBytes(_arg1);
return (fromArray(_local3, _arg2));
}
public static function toString(_arg1:String):String{
var _local2:ByteArray;
_local2 = toArray(_arg1);
return (_local2.readUTFBytes(_local2.length));
}
public static function toArray(_arg1:String):ByteArray{
var _local2:ByteArray;
var _local3:uint;
_arg1 = _arg1.replace(/\s|:/gm, "");
_local2 = new ByteArray();
if ((_arg1.length & (1 == 1))){
_arg1 = ("0" + _arg1);
};
_local3 = 0;
while (_local3 < _arg1.length) {
_local2[(_local3 / 2)] = parseInt(_arg1.substr(_local3, 2), 16);
_local3 = (_local3 + 2);
};
return (_local2);
}
public static function fromArray(_arg1:ByteArray, _arg2:Boolean=false):String{
var _local3:String;
var _local4:uint;
_local3 = "";
_local4 = 0;
while (_local4 < _arg1.length) {
_local3 = (_local3 + ("0" + _arg1[_local4].toString(16)).substr(-2, 2));
if (_arg2){
if (_local4 < (_arg1.length - 1)){
_local3 = (_local3 + ":");
};
};
_local4++;
};
return (_local3);
}
}
}//package crypto
Section 14
//IHash (crypto.IHash)
package crypto {
import flash.utils.*;
public interface IHash {
function toString():String;
function getHashSize():uint;
function getInputSize():uint;
function hash(_arg1:ByteArray):ByteArray;
}
}//package crypto
Section 15
//MD5 (crypto.MD5)
package crypto {
import flash.utils.*;
public class MD5 implements IHash {
public static const HASH_SIZE:int = 16;
private function ff(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint, _arg5:uint, _arg6:uint, _arg7:uint):uint{
return (cmn(((_arg2 & _arg3) | (~(_arg2) & _arg4)), _arg1, _arg2, _arg5, _arg6, _arg7));
}
private function hh(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint, _arg5:uint, _arg6:uint, _arg7:uint):uint{
return (cmn(((_arg2 ^ _arg3) ^ _arg4), _arg1, _arg2, _arg5, _arg6, _arg7));
}
private function cmn(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint, _arg5:uint, _arg6:uint):uint{
return ((rol((((_arg2 + _arg1) + _arg4) + _arg6), _arg5) + _arg3));
}
public function getHashSize():uint{
return (HASH_SIZE);
}
private function ii(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint, _arg5:uint, _arg6:uint, _arg7:uint):uint{
return (cmn((_arg3 ^ (_arg2 | ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7));
}
private function rol(_arg1:uint, _arg2:uint):uint{
return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
}
public function toString():String{
return ("md5");
}
public function getInputSize():uint{
return (64);
}
private function gg(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint, _arg5:uint, _arg6:uint, _arg7:uint):uint{
return (cmn(((_arg2 & _arg4) | (_arg3 & ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7));
}
public function hash(_arg1:ByteArray):ByteArray{
var _local2:uint;
var _local3:String;
var _local4:Array;
var _local5:uint;
var _local6:Array;
var _local7:ByteArray;
_local2 = (_arg1.length * 8);
_local3 = _arg1.endian;
while ((_arg1.length % 4) != 0) {
_arg1[_arg1.length] = 0;
};
_arg1.position = 0;
_local4 = [];
_arg1.endian = Endian.LITTLE_ENDIAN;
_local5 = 0;
while (_local5 < _arg1.length) {
_local4.push(_arg1.readUnsignedInt());
_local5 = (_local5 + 4);
};
_local6 = core_md5(_local4, _local2);
_local7 = new ByteArray();
_local7.endian = Endian.LITTLE_ENDIAN;
_local5 = 0;
while (_local5 < 4) {
_local7.writeUnsignedInt(_local6[_local5]);
_local5++;
};
_arg1.length = (_local2 / 8);
_arg1.endian = _local3;
return (_local7);
}
private function core_md5(_arg1:Array, _arg2:uint):Array{
var _local3:uint;
var _local4:uint;
var _local5:uint;
var _local6:uint;
var _local7:uint;
var _local8:uint;
var _local9:uint;
var _local10:uint;
var _local11:uint;
_arg1[(_arg2 >> 5)] = (_arg1[(_arg2 >> 5)] | (128 << (_arg2 % 32)));
_arg1[((((_arg2 + 64) >>> 9) << 4) + 14)] = _arg2;
_local3 = 1732584193;
_local4 = 4023233417;
_local5 = 2562383102;
_local6 = 271733878;
_local7 = 0;
while (_local7 < _arg1.length) {
_arg1[_local7] = ((_arg1[_local7]) || (0));
_arg1[(_local7 + 1)] = ((_arg1[(_local7 + 1)]) || (0));
_arg1[(_local7 + 2)] = ((_arg1[(_local7 + 2)]) || (0));
_arg1[(_local7 + 3)] = ((_arg1[(_local7 + 3)]) || (0));
_arg1[(_local7 + 4)] = ((_arg1[(_local7 + 4)]) || (0));
_arg1[(_local7 + 5)] = ((_arg1[(_local7 + 5)]) || (0));
_arg1[(_local7 + 6)] = ((_arg1[(_local7 + 6)]) || (0));
_arg1[(_local7 + 7)] = ((_arg1[(_local7 + 7)]) || (0));
_arg1[(_local7 + 8)] = ((_arg1[(_local7 + 8)]) || (0));
_arg1[(_local7 + 9)] = ((_arg1[(_local7 + 9)]) || (0));
_arg1[(_local7 + 10)] = ((_arg1[(_local7 + 10)]) || (0));
_arg1[(_local7 + 11)] = ((_arg1[(_local7 + 11)]) || (0));
_arg1[(_local7 + 12)] = ((_arg1[(_local7 + 12)]) || (0));
_arg1[(_local7 + 13)] = ((_arg1[(_local7 + 13)]) || (0));
_arg1[(_local7 + 14)] = ((_arg1[(_local7 + 14)]) || (0));
_arg1[(_local7 + 15)] = ((_arg1[(_local7 + 15)]) || (0));
_local8 = _local3;
_local9 = _local4;
_local10 = _local5;
_local11 = _local6;
_local3 = ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 7, 3614090360);
_local6 = ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 1)], 12, 3905402710);
_local5 = ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 17, 606105819);
_local4 = ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 3)], 22, 3250441966);
_local3 = ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 7, 4118548399);
_local6 = ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 5)], 12, 1200080426);
_local5 = ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 17, 2821735955);
_local4 = ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 7)], 22, 4249261313);
_local3 = ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 7, 1770035416);
_local6 = ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 9)], 12, 2336552879);
_local5 = ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 17, 4294925233);
_local4 = ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 11)], 22, 2304563134);
_local3 = ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 7, 1804603682);
_local6 = ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 13)], 12, 4254626195);
_local5 = ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 17, 2792965006);
_local4 = ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 15)], 22, 1236535329);
_local3 = gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 5, 4129170786);
_local6 = gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 6)], 9, 3225465664);
_local5 = gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 14, 643717713);
_local4 = gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 0)], 20, 3921069994);
_local3 = gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 5, 3593408605);
_local6 = gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 10)], 9, 38016083);
_local5 = gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 14, 3634488961);
_local4 = gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 4)], 20, 3889429448);
_local3 = gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 5, 568446438);
_local6 = gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 14)], 9, 3275163606);
_local5 = gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 14, 4107603335);
_local4 = gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 8)], 20, 1163531501);
_local3 = gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 5, 2850285829);
_local6 = gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 2)], 9, 4243563512);
_local5 = gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 14, 1735328473);
_local4 = gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 12)], 20, 2368359562);
_local3 = hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 4, 4294588738);
_local6 = hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 8)], 11, 2272392833);
_local5 = hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 16, 1839030562);
_local4 = hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 14)], 23, 4259657740);
_local3 = hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 4, 2763975236);
_local6 = hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 4)], 11, 1272893353);
_local5 = hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 16, 4139469664);
_local4 = hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 10)], 23, 3200236656);
_local3 = hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 4, 681279174);
_local6 = hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 0)], 11, 3936430074);
_local5 = hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 16, 3572445317);
_local4 = hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 6)], 23, 76029189);
_local3 = hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 4, 3654602809);
_local6 = hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 12)], 11, 3873151461);
_local5 = hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 16, 530742520);
_local4 = hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 2)], 23, 3299628645);
_local3 = ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 6, 4096336452);
_local6 = ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 7)], 10, 1126891415);
_local5 = ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 15, 2878612391);
_local4 = ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 5)], 21, 4237533241);
_local3 = ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 6, 1700485571);
_local6 = ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 3)], 10, 2399980690);
_local5 = ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 15, 4293915773);
_local4 = ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 1)], 21, 2240044497);
_local3 = ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 6, 1873313359);
_local6 = ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 15)], 10, 4264355552);
_local5 = ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 15, 2734768916);
_local4 = ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 13)], 21, 1309151649);
_local3 = ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 6, 4149444226);
_local6 = ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 11)], 10, 3174756917);
_local5 = ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 15, 718787259);
_local4 = ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 9)], 21, 3951481745);
_local3 = (_local3 + _local8);
_local4 = (_local4 + _local9);
_local5 = (_local5 + _local10);
_local6 = (_local6 + _local11);
_local7 = (_local7 + 16);
};
return ([_local3, _local4, _local5, _local6]);
}
}
}//package crypto
Section 16
//debris (fx.debris)
package fx {
import flash.display.*;
import flash.geom.*;
import gameutil.*;
public class debris {
private var aspeed;// = 0
private var lifetime:Number;// = 3
public var gstate:String;// = "norm"
private var bit:Bitmap;
private var speedx:Number;// = 0
private var speedy;// = 0
private var tdelay;// = 2
private var xpos;// = 0
private var myCT:ColorTransform;
private var grav;// = 0.1
private var trails:Boolean;// = true
private var tclock:Number;// = 0
private var r;// = 0
private var m:Matrix;
private var ypos;// = 0
private var cp:Point;
public static var dnum:int = 0;
public static var bmplist = [];
public static var fireCT:ColorTransform;
public static var waterCT;
public static var dlist:Array = [];
public static var chaosCT;
public static var windCT;
public static var earthCT;
public function debris(_arg1:Object){
gstate = "norm";
speedx = 0;
speedy = 0;
aspeed = 0;
grav = 0.1;
r = 0;
xpos = 0;
ypos = 0;
trails = true;
lifetime = 3;
tclock = 0;
tdelay = 2;
super();
bit = new Bitmap(bmplist[_arg1.bnum]);
cp = new Point((bit.width / 2), (bit.height / 2));
reset(_arg1);
dlist.push(this);
}
public function update():void{
var _local1:Object;
var _local2:Object;
if (gstate == "norm"){
speedy = (speedy + (5 * Tick.ftime));
bit.rotation = (bit.rotation + (speedx * Tick.ftime));
bit.x = (bit.x + speedx);
bit.y = (bit.y + speedy);
bit.alpha = (bit.alpha - (aspeed * Tick.ftime));
if (Rotograv.trails){
tclock++;
if (tclock > tdelay){
_local1 = {delay:0, times:[0, 1], values:[bit.alpha, 0], lifetime:5, interval:33, loop:false};
_local2 = {loc:new Point(bit.x, bit.y), trails:false, itype:"fuzz", bm:"add", colormode:"fixed", scol:bit.transform.colorTransform, ecol:bit.transform.colorTransform, alerp:_local1, xlerp:null, ylerp:null, loop:false, motype:"fixed", resettype:"none"};
Particle.getP(_local2, Rotograv.game);
tclock = 0;
};
};
lifetime = (lifetime - Tick.ftime);
if (lifetime <= 0){
kill();
};
};
}
private function kill():void{
bit.visible = false;
Rotograv.game.removeChild(bit);
gstate = "dead";
}
public function reset(_arg1:Object):void{
bit.bitmapData = bmplist[_arg1.bnum];
xpos = _arg1.x;
ypos = _arg1.y;
bit.x = _arg1.x;
bit.y = _arg1.y;
bit.alpha = 1;
bit.visible = true;
myCT = getCT(_arg1.ctnum);
bit.transform.colorTransform = myCT;
speedx = ((Math.random() - 0.5) * 5);
speedy = -((Math.random() * 5));
aspeed = (((Math.random() * 50) + 20) * 0.007);
if (speedx == 0){
speedx = 5;
};
if (speedy == 0){
(speedy == -5);
};
lifetime = 3;
Rotograv.game.addChild(bit);
gstate = "norm";
}
public static function sprite2bmp(_arg1:Sprite):BitmapData{
var _local2:Matrix;
var _local3:BitmapData;
_local2 = _arg1.transform.matrix;
_local2.translate((_arg1.width / 2), (_arg1.height / 2));
_local3 = new BitmapData(_arg1.width, _arg1.height, true, 0);
_local3.draw(_arg1, _local2);
return (_local3);
}
public static function updateAll():void{
var _local1:debris;
for each (_local1 in dlist) {
_local1.update();
};
}
public static function getD(_arg1:Object):void{
if (dnum < 16){
if (dlist[dnum] != null){
dlist[dnum].reset(_arg1);
} else {
new debris(_arg1);
};
} else {
dnum = 0;
dlist[dnum].reset(_arg1);
};
dnum++;
}
public static function init():void{
bmplist[0] = sprite2bmp(new evom_bit_1());
bmplist[1] = sprite2bmp(new evom_bit_2());
bmplist[2] = sprite2bmp(new evom_bit_3());
fireCT = new ColorTransform(1, 0.1, 0.1, 1, 0, 0, 0, 0);
earthCT = new ColorTransform(0.2, 1, 0.1, 1, 0, 0, 0, 0);
windCT = new ColorTransform(0.9, 0.9, 1, 1, 0, 0, 0, 0);
waterCT = new ColorTransform(0.1, 0.1, 1, 1, 0, 0, 0, 0);
chaosCT = new ColorTransform(0.5, 0.5, 0.5, 1, 0, 0, 0, 0);
}
public static function createDebris(_arg1:int, _arg2:int, _arg3:int=0):void{
var _local4:int;
var _local5:int;
_local4 = 0;
_local5 = 0;
while (_local5 < 4) {
getD({bnum:_local4, x:_arg1, y:_arg2, ctnum:_arg3});
_local4++;
if (_local4 > 2){
_local4 = 0;
};
_local5++;
};
}
public static function getCT(_arg1:int):ColorTransform{
var _local2:ColorTransform;
_local2 = chaosCT;
if (_arg1 == 0){
_local2 = chaosCT;
} else {
if (_arg1 == 1){
_local2 = fireCT;
} else {
if (_arg1 == 2){
_local2 = earthCT;
} else {
if (_arg1 == 3){
_local2 = windCT;
} else {
if (_arg1 == 4){
_local2 = waterCT;
};
};
};
};
};
return (_local2);
}
}
}//package fx
Section 17
//FXsys (fx.FXsys)
package fx {
import flash.display.*;
import flash.geom.*;
import gameutil.*;
public class FXsys {
public var mycontainer:MovieClip;
public var mytype:String;
public var mylist:Array;
public static var pnum:int = 0;
public static var maxp:int = 128;
public static var plist:Array = [];
public function FXsys(_arg1:Point, _arg2:MovieClip, _arg3:String, _arg4=false, _arg5:Number=100){
var _local6:int;
var _local7:int;
var _local8:Object;
var _local9:Object;
var _local10:Number;
var _local11:Object;
var _local12:Object;
var _local13:Point;
var _local14:Shockring;
var _local15:Number;
var _local16:Point;
var _local17:Point;
var _local18:*;
var _local19:Number;
mylist = [];
super();
mycontainer = _arg2;
mytype = _arg3;
switch (_arg3){
case "multiColorStars":
new Shockring(_arg1, _arg2);
_local8 = {delay:0, times:[0, 0.5, 1], values:[0, 1, 0], lifetime:50, interval:33, loop:_arg4};
_local9 = {loc:_arg1, trails:false, itype:"Star", bm:"add", pos:_arg1, colormode:"random", scol:0, ecol:0, alerp:_local8, xlerp:null, xlerp:null, loop:_arg4, motype:"wave", resettype:"none"};
_local6 = 0;
while (_local6 < 5) {
Particle.getP(_local9, mycontainer);
_local6++;
};
break;
case "implosion":
_local6 = 0;
while (_local6 < 15) {
_local13 = _arg1.add(Helper.getRandomDir(((Math.random() * _arg5) + _arg5)));
_local15 = Math.atan2((_local13.y - _arg1.y), (_local13.x - _arg1.x));
_local16 = new Point(Math.cos(_local15), Math.sin(_local15));
_local10 = int((Math.random() * 60));
_local8 = {delay:_local10, times:[0, 0.5, 1], values:[0, 0.5, 0], lifetime:50, interval:33, loop:_arg4};
_local11 = {delay:_local10, times:[0, 1], values:[_local13.x, _arg1.x], lifetime:50, interval:33, loop:_arg4};
_local12 = {delay:_local10, times:[0, 1], values:[_local13.y, _arg1.y], lifetime:50, interval:33, loop:_arg4};
_local9 = {loc:_local13, speed:_local16, trails:false, itype:"spark", bm:"add", colormode:"fixed", scol:0, ecol:0, alerp:_local8, xlerp:_local11, ylerp:_local12, loop:_arg4, motype:"norm", resettype:"random"};
Particle.getP(_local9, mycontainer);
_local6++;
};
break;
case "implosionsingle":
_local6 = 0;
while (_local6 < 15) {
_local13 = _arg1.add(Helper.getRandomDir(((Math.random() * _arg5) + _arg5)));
_local10 = int((Math.random() * 60));
_local8 = {delay:_local10, times:[0, 0.5, 1], values:[0, 0.5, 0], lifetime:33, interval:33, loop:_arg4};
_local11 = {delay:_local10, times:[0, 1], values:[_local13.x, _arg1.x], lifetime:33, interval:33, loop:_arg4};
_local12 = {delay:_local10, times:[0, 1], values:[_local13.y, _arg1.y], lifetime:33, interval:33, loop:_arg4};
_local9 = {loc:_local13, speed:new Point(1, 1), trails:false, itype:"spark", bm:"add", colormode:"fixed", scol:0, ecol:0, alerp:_local8, xlerp:_local11, ylerp:_local12, loop:_arg4, motype:"wave", resettype:"none"};
Particle.getP(_local9, mycontainer);
_local6++;
};
break;
case "column":
_local6 = 0;
while (_local6 < 7) {
_local10 = int((Math.random() * 120));
_local17 = new Point(50, -250);
_local18 = new Point(0, 300);
_local8 = {delay:_local10, times:[0, 0.01, 0.3, 1], values:[0, 0, 1, 0], lifetime:120, interval:33, loop:_arg4};
_local11 = {delay:_local10, times:[0, 0.01, 1], values:[_local18.x, _arg1.x, _local17.x], lifetime:120, interval:33, loop:_arg4};
_local12 = {delay:_local10, times:[0, 0.01, 1], values:[_local18.y, _arg1.y, _local17.y], lifetime:120, interval:33, loop:_arg4};
_local9 = {loc:_local18, speed:new Point(1, 1), trails:true, itype:"fuzz", bm:"add", colormode:"random", scol:0, ecol:0, alerp:_local8, xlerp:_local11, ylerp:_local12, loop:_arg4, motype:"wave", resettype:"none"};
Particle.getP(_local9, mycontainer);
_local6++;
};
break;
case "detonate":
_local14 = new Shockring(_arg1, mycontainer);
_local6 = 0;
while (_local6 < 16) {
_local7 = ((Math.random() * 30) + 30);
_local8 = {delay:0, times:[0, 1], values:[(_local7 / 60), 0], lifetime:_local7, interval:33, loop:_arg4};
_local9 = {loc:_arg1, trails:false, itype:"fuzz", bm:"add", colormode:"random", scol:0, ecol:0, alerp:_local8, xlerp:null, ylerp:null, loop:_arg4, motype:"rdir", resettype:"none"};
Particle.getP(_local9, mycontainer);
_local6++;
};
break;
case "evomsparks":
_local6 = 0;
while (_local6 < 16) {
_local8 = {delay:0, times:[0, 1], values:[1, 0], lifetime:_local7, interval:33, loop:_arg4};
_local9 = {loc:_arg1, trails:false, itype:"tinyspark", bm:"add", colormode:"fixed", scol:0, ecol:0, alerp:_local8, xlerp:null, ylerp:null, loop:_arg4, motype:"rdir", resettype:"none"};
Particle.getP(_local9, mycontainer);
_local6++;
};
break;
case "finalboom":
_local6 = 0;
while (_local6 < 32) {
_local7 = int(((Math.random() * 90) + 30));
_local19 = (Math.random() + 0.2);
_local8 = {delay:0, times:[0, 1], values:[_local19, 0], lifetime:_local7, interval:33, loop:_arg4};
_local9 = {loc:_arg1, trails:true, itype:"fuzz", bm:"add", colormode:"fixed", scol:0, ecol:0, alerp:_local8, xlerp:null, ylerp:null, loop:_arg4, motype:"rdir", resettype:"none"};
Particle.getP(_local9, mycontainer);
_local6++;
};
break;
};
}
public function killset():void{
var _local1:*;
for (_local1 in mylist) {
mylist[_local1].kill();
};
mylist = [];
}
public static function killall():void{
var _local1:*;
for (_local1 in plist) {
plist[_local1].kill();
};
plist = [];
}
}
}//package fx
Section 18
//LightArrow (fx.LightArrow)
package fx {
import flash.display.*;
import flash.geom.*;
import gameutil.*;
public class LightArrow {
private var container:MovieClip;
private var gstate:String;// = "norm"
private var ylerp:Lerp;
private var xlerp:Lerp;
private var alerp:Lerp;
private var sp:Sprite;
public static var laList:Array = [];
public function LightArrow(_arg1:Point, _arg2:Point, _arg3:MovieClip){
var _local4:*;
gstate = "norm";
super();
sp = new laArrow();
sp.x = _arg1.x;
sp.y = _arg1.y;
sp.alpha = 0;
sp.blendMode = "add";
_local4 = Math.atan2((_arg2.y - _arg1.y), (_arg2.x - _arg1.x));
sp.rotation = (_local4 * 57.3);
container = _arg3;
container.addChild(sp);
xlerp = new Lerp({delay:0, times:[0, 1], values:[_arg1.x, _arg2.x], lifetime:15, interval:33, loop:false});
ylerp = new Lerp({delay:0, times:[0, 1], values:[_arg1.y, _arg2.y], lifetime:15, interval:33, loop:false});
alerp = new Lerp({delay:0, times:[0, 0.1, 0.9, 1], values:[0, 0.4, 0.6, 0], lifetime:15, interval:33, loop:false});
laList.push(this);
}
public function kill():void{
var _local1:Boolean;
var _local2:LightArrow;
gstate = "dead";
container.removeChild(sp);
_local1 = true;
for each (_local2 in laList) {
if (_local2.gstate != "norm"){
} else {
_local1 = false;
break;
};
};
if (_local1){
laList = [];
};
}
private function update():void{
sp.x = xlerp.getvalue();
sp.y = ylerp.getvalue();
sp.alpha = alerp.getvalue();
if (alerp.finished){
kill();
};
}
public static function updateAll():void{
var _local1:LightArrow;
for each (_local1 in laList) {
if (_local1.gstate == "norm"){
_local1.update();
};
};
}
}
}//package fx
Section 19
//Particle (fx.Particle)
package fx {
import flash.display.*;
import flash.geom.*;
import gameutil.*;
public class Particle {
public var halfW;
public var gstate:String;// = "waiting"
private var p:Particle;
public var pdata:Object;
private var tdelay;// = 1
public var ys;// = 0
public var myindex:int;
public var mypos:Point;
private var tclock:Number;// = 0
private var cto:ColorTransform;
private var ao:Object;
private var amp;// = 0
public var poslerp:Boolean;// = false
public var mycontainer:Sprite;
public var alerp:Lerp;
public var oh;
public var sp:Bitmap;
private var sc:Number;// = 0
public var removed:Boolean;// = false
public var ow:int;
private var gstr:Number;// = 1
public var xlerp;
public var ct:ColorTransform;
public var halfH;
public var ylerp;
private var freq;// = 0
public var wave:Number;// = 0
public var xs:Number;// = 0
private var tp:Point;
private var td;
public static var blastBD;
public static var orbCBD;
public static var maxp = 0x0200;
public static var plist:Array = [];
public static var fuzzBD;
public static var starBD:BitmapData;
public static var badxBD;
public static var pnum:int = 0;
public static var sparkBD;
public static var tinysparkBD;
public static var def_ct:ColorTransform;
public static var tooEarlyBD;
public static var heatBD;
public static var orbNormBD;
public function Particle(_arg1:Object, _arg2:Sprite){
poslerp = false;
xs = 0;
ys = 0;
gstate = "waiting";
removed = false;
gstr = 1;
wave = 0;
sc = 0;
freq = 0;
amp = 0;
tclock = 0;
tdelay = 1;
super();
pdata = _arg1;
mycontainer = _arg2;
mypos = new Point(0, 0);
createbmp(pdata, _arg2);
reset(pdata, mycontainer);
plist.push(this);
}
private function stretchAndMove():void{
sp.rotation = 0;
sp.width = ((Math.abs(pdata.xs) + Math.abs(pdata.ys)) * 2);
sp.rotation = pdata.rot;
sp.x = (sp.x + pdata.xs);
sp.y = (sp.y + pdata.ys);
pdata.xs = (pdata.xs * 0.95);
pdata.ys = (pdata.ys * 0.95);
}
private function createbmp(_arg1:Object, _arg2:Sprite):void{
switch (_arg1.itype){
case "Star":
sp = new Bitmap(starBD);
break;
case "spark":
sp = new Bitmap(sparkBD);
break;
case "fuzz":
sp = new Bitmap(fuzzBD);
break;
case "orbtrail":
sp = new Bitmap(orbNormBD);
break;
case "orbchaos":
sp = new Bitmap(orbCBD);
break;
case "heatscar":
sp = new Bitmap(heatBD);
break;
case "blast":
sp = new Bitmap(blastBD);
break;
case "tinyspark":
sp = new Bitmap(tinysparkBD);
break;
case "badx":
sp = new Bitmap(badxBD);
break;
case "tooearly":
sp = new Bitmap(tooEarlyBD);
break;
};
ow = sp.width;
oh = sp.height;
halfW = (sp.width / 2);
halfH = (sp.height / 2);
sp.blendMode = _arg1.bm;
sp.x = (_arg1.loc.x - halfW);
sp.y = (_arg1.loc.y - halfH);
sp.alpha = 1;
_arg2.addChild(sp);
}
private function dowave():void{
sc = (sc + freq);
wave = (Math.sin(sc) * amp);
}
private function createtrail():void{
ao = {delay:0, times:[0, 1], values:[sp.alpha, 0], lifetime:10, interval:33, loop:false};
cto = sp.transform.colorTransform;
td = {loc:new Point(sp.x, sp.y), trails:false, startw:sp.width, starth:sp.height, scmode:pdata.scmode, itype:pdata.itype, bm:pdata.bm, colormode:"fixed", scol:cto, ecol:cto, alerp:ao, xlerp:null, ylerp:null, loop:false, motype:"fixed", resettype:"none"};
Particle.getP(td, mycontainer);
}
private function initvars():void{
if (alerp != null){
alerp.killlerp();
};
if (xlerp != null){
xlerp.killlerp();
};
if (ylerp != null){
ylerp.killlerp();
};
xlerp = null;
alerp = null;
ylerp = null;
if (pdata.alerp != null){
alerp = new Lerp(pdata.alerp);
};
if (pdata.xlerp != null){
poslerp = true;
xlerp = new Lerp(pdata.xlerp);
ylerp = new Lerp(pdata.ylerp);
} else {
poslerp = false;
};
if (pdata.motype == "wave"){
freq = ((Math.random() * 0.05) + 0.05);
amp = (0.5 + (Math.random() * 20));
};
if (pdata.motype == "grav"){
freq = ((Math.random() * 0.05) + 0.05);
amp = (0.5 + (Math.random() * 10));
};
def_ct = new ColorTransform();
}
private function lerpalpha():void{
if (alerp != null){
sp.alpha = alerp.cval;
if (((alerp.finished) && (!(removed)))){
if (pdata.loop){
reset(pdata, mycontainer);
} else {
kill();
};
};
};
}
private function update():void{
switch (gstate){
case "normal":
dopos();
if (pdata != null){
if (((pdata.trails) && (Rotograv.trails))){
tclock++;
if (tclock > tdelay){
createtrail();
tclock = 0;
};
};
};
lerpalpha();
break;
case "waiting":
break;
};
}
public function reset(_arg1:Object, _arg2):void{
var _local3:Point;
if (gstate == "dead"){
createbmp(_arg1, _arg2);
mycontainer = _arg2;
} else {
if (pdata.itype != _arg1.itype){
mycontainer.removeChild(sp);
createbmp(_arg1, _arg2);
mycontainer = _arg2;
} else {
if (mycontainer != _arg2){
mycontainer.removeChild(sp);
createbmp(_arg1, _arg2);
mycontainer = _arg2;
};
};
};
pdata = {};
pdata = _arg1;
initvars();
sp.blendMode = pdata.bm;
if (pdata.colormode == "random"){
ct = sp.transform.colorTransform;
ct.redMultiplier = Math.random();
ct.blueMultiplier = Math.random();
ct.greenMultiplier = Math.random();
sp.transform.colorTransform = ct;
} else {
if (pdata.scol != 0){
sp.transform.colorTransform = pdata.scol;
};
};
if (pdata.resettype == "random"){
tp = Helper.getRandomDir(((Math.random() * 100) + 100));
xlerp.kfobj.values[0] = (xlerp.kfobj.values[1] + tp.x);
ylerp.kfobj.values[0] = (xlerp.kfobj.values[1] + tp.y);
};
sp.x = pdata.loc.x;
sp.y = pdata.loc.y;
sp.alpha = 0;
if (pdata.startw){
sp.width = pdata.startw;
sp.height = pdata.starth;
} else {
sp.width = ow;
sp.height = oh;
};
if (pdata.gstr != null){
gstr = pdata.gstr;
} else {
gstr = 1;
};
if (alerp != null){
alerp.resetlerp();
};
if (xlerp != null){
xlerp.resetlerp();
};
if (ylerp != null){
ylerp.resetlerp();
};
if (pdata.speed != null){
xs = pdata.speed.x;
ys = pdata.speed.y;
};
if (pdata.motype == "rdir"){
_local3 = Helper.getRandomDir(((Math.random() * 100) + 30));
xs = _local3.x;
ys = _local3.y;
};
if (_arg1.rot != null){
sp.rotation = _arg1.rot;
};
gstate = "normal";
removed = false;
}
public function kill():void{
if (mycontainer.contains(sp)){
mycontainer.removeChild(sp);
};
removed = true;
gstate = "dead";
poslerp = false;
pdata = null;
if (alerp != null){
alerp.killlerp();
};
if (xlerp != null){
xlerp.killlerp();
};
if (ylerp != null){
ylerp.killlerp();
};
xlerp = null;
ylerp = null;
alerp = null;
}
private function dopos():void{
if (pdata.motype == "wave"){
dowave();
sp.x = (sp.x + ((xs * Tick.ftime) + wave));
sp.y = (sp.y + ((ys * Tick.ftime) + wave));
} else {
if (pdata.motype == "stretch"){
stretchAndMove();
} else {
if ((((pdata.motype == "rdir")) || ((pdata.motype == "expand")))){
sp.x = (sp.x + (xs * Tick.ftime));
sp.y = (sp.y + (ys * Tick.ftime));
};
};
};
if (poslerp){
mypos.x = xlerp.cval;
mypos.y = ylerp.cval;
sp.x = ((mypos.x + wave) - halfW);
sp.y = ((mypos.y + wave) - halfH);
};
}
public static function getP(_arg1:Object, _arg2:Sprite):void{
var _local3:int;
if (pnum < maxp){
if (plist[pnum] != null){
plist[pnum].reset(_arg1, _arg2);
} else {
new Particle(_arg1, _arg2);
};
} else {
pnum = 0;
_local3 = 0;
while (_local3 < maxp) {
if (plist[_local3].gstate == "dead"){
plist[_local3].reset(_arg1, _arg2);
pnum = _local3;
break;
};
_local3++;
};
};
pnum++;
}
public static function initBD():void{
starBD = new star(0, 0);
sparkBD = new spark(0, 0);
fuzzBD = new fuzz(0, 0);
orbNormBD = sprite2bmp(new orb_normal());
orbCBD = sprite2bmp(new orb_chaos());
heatBD = sprite2bmp(new heatscar());
blastBD = sprite2bmp(new blast());
tinysparkBD = sprite2bmp(new tinyspark());
badxBD = sprite2bmp(new badx());
tooEarlyBD = sprite2bmp(new tooEarly());
debris.init();
}
public static function killAll():void{
var _local1:Particle;
for each (_local1 in plist) {
_local1.kill();
};
plist = [];
pnum = 0;
}
public static function sprite2bmp(_arg1:Sprite):BitmapData{
var _local2:Matrix;
var _local3:BitmapData;
_local2 = _arg1.transform.matrix;
_local2.translate((_arg1.width / 2), (_arg1.height / 2));
_local3 = new BitmapData(_arg1.width, _arg1.height, true, 0);
_local3.draw(_arg1, _local2);
return (_local3);
}
public static function updateAll():void{
var _local1:Particle;
var _local2:Shockring;
var _local3:viner;
var _local4:debris;
for each (_local1 in plist) {
_local1.update();
};
for each (_local2 in Shockring.srList) {
_local2.update();
};
for each (_local3 in viner.vinelist) {
_local3.update();
};
for each (_local4 in debris.dlist) {
_local4.update();
};
}
public static function xplode(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:String):void{
var _local7:int;
var _local8:*;
var _local9:Array;
var _local10:int;
var _local11:Object;
var _local12:Object;
_local7 = (360 / _arg3);
def_ct = Helper.getColorT(_arg5);
_local8 = 0;
while (_local8 < _arg3) {
_local9 = Helper.getSpecificDir((_local8 * _local7), 5);
_local10 = (_local8 * _local7);
_local11 = {delay:0, times:[0, 1, 0], values:[1, 1, 0], lifetime:_arg4, interval:33, loop:false};
_local12 = {loc:new Point(_arg1, _arg2), trails:false, xs:_local9[0], ys:_local9[1], rot:_local10, itype:_arg6, bm:"add", colormode:"fixed", scol:def_ct, ecol:null, alerp:_local11, xlerp:null, ylerp:null, loop:false, motype:"stretch", resettype:"none"};
Particle.getP(_local12, Rotograv.game);
_local8++;
};
}
}
}//package fx
Section 20
//Shockring (fx.Shockring)
package fx {
import flash.display.*;
import flash.geom.*;
import gameutil.*;
public class Shockring {
private var sp:Sprite;
private var fadespeed:int;// = 1
public var sclerp:Lerp;
public var paramlist:Object;
public var alerp:Lerp;
public var mycontainer:Sprite;
public static var srList:Array = [];
public function Shockring(_arg1:Point, _arg2:Sprite){
var _local3:*;
var _local4:*;
paramlist = {};
fadespeed = 1;
super();
mycontainer = _arg2;
sp = new ring();
sp.x = _arg1.x;
sp.y = _arg1.y;
sp.width = 0;
sp.height = 0;
sp.blendMode = "add";
_local3 = {delay:0, times:[0, 0.15, 1], values:[0, 0.8, -0.1], lifetime:30, interval:33, loop:true};
_local4 = {delay:0, times:[0, 0.15, 1], values:[0, 120, 0x0100], lifetime:30, interval:66, loop:true};
alerp = new Lerp(_local3);
sclerp = new Lerp(_local4);
mycontainer.addChild(sp);
srList.push(this);
}
public function update():void{
if (!sclerp.finished){
sp.width = sclerp.getvalue();
sp.height = sp.width;
sp.alpha = alerp.getvalue();
} else {
kill();
};
}
private function kill():void{
mycontainer.removeChild(sp);
srList.splice(srList.indexOf(this), 1);
}
}
}//package fx
Section 21
//sparks (fx.sparks)
package fx {
import flash.display.*;
import gameutil.*;
public class sparks {
private var grav:Number;// = 1
private var container:MovieClip;
private var aspeed:Number;// = 0
public var active:Boolean;// = false
private var lifetime:Number;// = 4
private var speedx:Number;// = 0
private var speedy:Number;// = 0
public var bit:Sprite;
public static var maxsparks:int = 20;
public static var sparklist:Array = [];
public static var sindex:int = 0;
public function sparks(_arg1:int, _arg2:int, _arg3:MovieClip){
speedx = 0;
speedy = 0;
aspeed = 0;
grav = 1;
lifetime = 4;
active = false;
super();
container = _arg3;
active = false;
bit = new tinyspark();
bit.x = _arg1;
bit.y = _arg2;
container.addChild(bit);
}
public function reset(_arg1:int, _arg2:int):void{
bit.x = _arg1;
bit.y = _arg2;
bit.alpha = 1;
speedx = ((Math.random() - 0.5) * 20);
speedy = -((Math.random() * 10));
aspeed = ((Math.random() * 0.05) + 0.02);
bit.visible = true;
active = true;
lifetime = 4;
}
public function uninit():void{
bit.x = -512;
bit.y = -512;
bit.visible = false;
active = false;
}
public function update():void{
if (active){
speedy = (speedy + (30 * Tick.ftime));
bit.x = (bit.x + speedx);
bit.y = (bit.y + speedy);
bit.alpha = Math.max((bit.alpha - aspeed), 0);
lifetime = (lifetime - Tick.ftime);
if (lifetime <= 0){
uninit();
};
};
}
public function kill():void{
container.removeChild(bit);
}
public static function buildSparks(){
var _local1:*;
var _local2:sparks;
_local1 = 0;
while (_local1 < maxsparks) {
_local2 = new sparks(-512, -512, Rotograv.game);
sparklist.push(_local2);
_local1++;
};
}
public static function initspark(_arg1:int, _arg2:int):void{
sindex++;
if (sindex > (maxsparks - 1)){
sindex = 0;
};
sparklist[sindex].reset(_arg1, _arg2);
}
}
}//package fx
Section 22
//viner (fx.viner)
package fx {
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
public class viner {
public var container:MovieClip;
private var amp:Number;// = 3
public var gstate;// = "norm"
public var oldpos:Point;
private var sc:Number;// = 0
public var killflag:Boolean;// = false
public var pos:Point;
public var mc:Sprite;
private var tdelay:Number;// = 1
private var tclock:Number;// = 0
public var yspeed:Number;
public var emitter:Sprite;
private var freq:Number;// = 0.11
public var wave:Number;// = 0
private var scdir:int;// = 1
public static var vinelist:Array = [];
public function viner(_arg1:MovieClip, _arg2:Number, _arg3:Number, _arg4:int, _arg5:String){
gstate = "norm";
killflag = false;
wave = 0;
sc = 0;
scdir = 1;
freq = 0.11;
amp = 3;
tclock = 0;
tdelay = 1;
super();
container = _arg1;
mc = new Sprite();
mc.filters = [new BlurFilter(6, 6, 2)];
emitter = new orb_normal();
emitter.blendMode = "add";
setcolor(_arg5);
container.addChild(mc);
container.addChild(emitter);
pos = new Point(0, 0);
oldpos = pos;
yspeed = 1.6;
amp = _arg2;
freq = _arg3;
scdir = _arg4;
mc.graphics.lineStyle(2, 0xFFFFFF, 0.5);
mc.graphics.moveTo(pos.x, pos.y);
vinelist.push(this);
}
public function update():void{
if (gstate == "norm"){
dowave();
drawlines();
if (Rotograv.trails){
tclock++;
if (tclock > tdelay){
createtrail();
tclock = 0;
};
};
oldpos = pos;
};
}
private function dowave():void{
sc = (sc + (freq * scdir));
wave = (Math.sin(sc) * amp);
pos.x = wave;
pos.y = (pos.y - yspeed);
emitter.x = pos.x;
emitter.y = pos.y;
}
private function setcolor(_arg1:String):void{
var _local2:ColorTransform;
_local2 = emitter.transform.colorTransform;
if (_arg1 == "red"){
_local2.redMultiplier = 0.5;
_local2.blueMultiplier = 0;
_local2.greenMultiplier = 0;
} else {
if (_arg1 == "green"){
_local2.redMultiplier = 0;
_local2.blueMultiplier = 0;
_local2.greenMultiplier = 0.5;
} else {
if (_arg1 == "white"){
} else {
if (_arg1 == "blue"){
_local2.redMultiplier = 0;
_local2.blueMultiplier = 0.5;
_local2.greenMultiplier = 0;
};
};
};
};
emitter.transform.colorTransform = _local2;
}
private function createtrail():void{
var _local1:Object;
var _local2:ColorTransform;
var _local3:Object;
_local1 = {delay:0, times:[0, 1], values:[1, 0], lifetime:30, interval:33, loop:false};
_local2 = emitter.transform.colorTransform;
_local3 = {loc:new Point((emitter.x - 12), (emitter.y - 12)), trails:false, itype:"fuzz", bm:"add", colormode:"fixed", scol:_local2, ecol:_local2, alerp:_local1, xlerp:null, ylerp:null, loop:false, motype:"fixed", resettype:"none"};
Particle.getP(_local3, container);
}
public function kill():void{
if (!killflag){
killflag = true;
container.removeChild(mc);
container.removeChild(emitter);
vinelist.splice(vinelist.indexOf(this), 1);
};
}
private function drawlines():void{
mc.graphics.lineTo(pos.x, pos.y);
}
public static function killAll():void{
var _local1:viner;
for each (_local1 in viner.vinelist) {
_local1.kill();
};
}
}
}//package fx
Section 23
//WinStar (fx.WinStar)
package fx {
import flash.display.*;
import gameutil.*;
public class WinStar {
private var mycontainer:MovieClip;
private var speed:Number;// = 0
private var sp:Sprite;
public static var starlist:Array = [];
public function WinStar(_arg1:MovieClip){
speed = 0;
super();
mycontainer = _arg1;
sp = new winstar();
reset();
mycontainer.addChild(sp);
starlist.push(this);
}
private function update():void{
sp.x = (sp.x - (speed * Tick.ftime));
if (sp.x < 0){
reset();
};
}
private function reset():void{
var _local1:Number;
sp.x = (0x0200 + (Math.random() * 0x0200));
sp.y = (Math.random() * 0x0200);
_local1 = Math.max((Math.random() - 0.1), 0.001);
sp.alpha = _local1;
sp.width = ((_local1 * 3) + 1);
sp.height = ((_local1 * 4) + 1);
speed = (((Math.random() * (_local1 * 15)) + 3) * 60);
}
public static function updateAll():void{
var _local1:WinStar;
for each (_local1 in starlist) {
_local1.update();
};
}
}
}//package fx
Section 24
//Bpm (gameutil.Bpm)
package gameutil {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class Bpm extends Sprite {
private var clock:Number;
public var measurecount:int;// = 0
public var bpmTimer:Timer;
public var running:Boolean;// = false
public var barcount:int;// = 0
public var bcount:int;// = 0
public var loopcount:int;// = 0
public var btick:int;// = 0
public function Bpm(){
btick = 0;
bcount = 0;
barcount = 0;
measurecount = 0;
loopcount = 0;
running = false;
super();
bpmTimer = new Timer(210, 0);
bpmTimer.addEventListener(TimerEvent.TIMER, beat, false, 10000);
}
public function init(){
if (!running){
bpmTimer.start();
running = true;
};
}
public function stopclock(){
bpmTimer.stop();
running = false;
}
public function reset(){
bpmTimer.reset();
}
public function beat(_arg1:TimerEvent):void{
Rotograv.blinkbeat(btick);
btick++;
if (btick > 15){
btick = 0;
};
}
}
}//package gameutil
Section 25
//Helper (gameutil.Helper)
package gameutil {
import flash.geom.*;
public class Helper {
public static var a:Number;
public static var c:Number;
private static var cm:Number = 0.4;
private static var plist:Array = [];
public static var b:Number;
private static var pnt:Point;
public static var thresh:Number = 0.2;
private function hextoargb(_arg1:Number):Object{
var _local2:*;
_local2 = {};
_local2.alpha = ((_arg1 >> 24) & 0xFF);
_local2.red = ((_arg1 >> 16) & 0xFF);
_local2.green = ((_arg1 >> 8) & 0xFF);
_local2.blue = (_arg1 & 0xFF);
return (_local2);
}
private function argbtohex(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):int{
return (((((_arg1 << 24) | (_arg2 << 16)) | (_arg3 << 8)) | _arg4));
}
public static function getSpecificDir(_arg1:Number, _arg2:Number):Array{
plist = [0, 0];
c = (_arg1 * 0.0175);
plist[0] = (Math.cos(c) * _arg2);
plist[1] = (Math.sin(c) * _arg2);
return (plist);
}
public static function getColorT(_arg1:int):ColorTransform{
var _local2:ColorTransform;
_local2 = new ColorTransform();
switch (_arg1){
case -1:
return (null);
case 0:
_local2.redMultiplier = cm;
_local2.blueMultiplier = cm;
_local2.greenMultiplier = cm;
_local2.redOffset = 70;
_local2.greenOffset = 70;
_local2.blueOffset = 230;
break;
case 1:
_local2.redMultiplier = cm;
_local2.blueMultiplier = cm;
_local2.greenMultiplier = cm;
_local2.redOffset = 70;
_local2.greenOffset = 230;
_local2.blueOffset = 70;
break;
case 2:
_local2.redMultiplier = cm;
_local2.blueMultiplier = cm;
_local2.greenMultiplier = cm;
_local2.redOffset = 210;
_local2.greenOffset = 140;
_local2.blueOffset = 40;
break;
case 3:
_local2.redMultiplier = cm;
_local2.blueMultiplier = cm;
_local2.greenMultiplier = cm;
_local2.redOffset = 230;
_local2.greenOffset = 70;
_local2.blueOffset = 70;
break;
};
return (_local2);
}
public static function inertiaSingle(_arg1:Number, _arg2:Number, _arg3):Number{
return ((_arg1 - (_arg2 * _arg3)));
}
public static function getHyp(_arg1:Point, _arg2:Point):Number{
var _local3:Point;
_local3 = _arg1.subtract(_arg2);
return (Math.sqrt(((_local3.x * _local3.x) + (_local3.y * _local3.y))));
}
public static function pointAt(_arg1:Point, _arg2:Point, _arg3:Boolean):Number{
var _local4:Point;
var _local5:Number;
_local4 = _arg1.subtract(_arg2);
_local5 = Math.atan2(_local4.y, _local4.x);
if (!_arg3){
return ((_local5 * 57.295779));
};
return (_local5);
}
public static function cosInterp(_arg1:Point, _arg2:Point, _arg3:Number):Point{
var _local4:Number;
var _local5:*;
var _local6:*;
_local4 = (1 - (Math.cos((_arg3 * Math.PI)) * 0.5));
_local5 = new Point((_arg1.x * (1 - _local4)), (_arg1.y * (1 - _local4)));
_local6 = new Point((_arg2.x * _local4), (_arg2.y * _local4));
return (_local5.add(_local6));
}
public static function linearInterp(_arg1:Point, _arg2:Point, _arg3:Number):Point{
pnt = _arg2.subtract(_arg1);
return (_arg1.add(new Point((_arg3 * pnt.x), (_arg3 * pnt.y))));
}
public static function inertiaPos(_arg1:Point, _arg2:Point, _arg3:Number):Point{
var _local4:Point;
_local4 = _arg1.subtract(_arg2);
_arg1.subtract(_arg2).x = (_local4.x * _arg3);
_local4.y = (_local4.y * _arg3);
return (_local4);
}
public static function getRandomDir(_arg1:Number):Point{
pnt = new Point(0, 0);
c = ((Math.random() * 360) * 0.0175);
pnt.x = (Math.cos(c) * _arg1);
pnt.y = (Math.sin(c) * _arg1);
return (pnt);
}
public static function fastsqr(_arg1:Number):Number{
b = (_arg1 * 0.25);
do {
c = (_arg1 / b);
b = ((b + c) * 0.5);
a = (b - c);
if (a < 0){
a = -(a);
};
} while (a > thresh);
return (b);
}
}
}//package gameutil
Section 26
//Lerp (gameutil.Lerp)
package gameutil {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class Lerp extends Sprite {
private var floattime:Number;// = 0
private var targtime:Number;// = 0
public var debug:Boolean;// = false
public var dead:Boolean;// = false
private var dtimer:Number;// = 0
private var subkeytime:Number;// = 0
public var gstate:String;// = "paused"
private var targval:Number;// = 0
public var finished:Boolean;// = false
private var startval:Number;// = 0
public var ctime:Number;// = 0
private var smooth:Boolean;// = false
private var ktimer:Timer;
public var kfobj:Object;
public var predelay:int;// = 0
private var keynum:int;// = 0
private var subduration:Number;// = 0
public var cval:Number;// = 0
private var subrange:Number;// = 0
public function Lerp(_arg1:Object){
gstate = "paused";
dtimer = 0;
predelay = 0;
keynum = 0;
cval = 0;
targval = 0;
startval = 0;
ctime = 0;
targtime = 0;
finished = false;
subkeytime = 0;
subduration = 0;
subrange = 0;
smooth = false;
dead = false;
debug = false;
floattime = 0;
super();
kfobj = _arg1;
predelay = kfobj.delay;
ktimer = new Timer(kfobj.interval, 0);
ktimer.addEventListener(TimerEvent.TIMER, update);
resetlerp();
}
public function getvalue():Number{
return (cval);
}
public function dumpvars(){
}
public function pauseMe():void{
if (ktimer != null){
ktimer.stop();
};
}
public function setTime(_arg1:Number):void{
var _local2:int;
ctime = _arg1;
floattime = (ctime / kfobj.lifetime);
_local2 = Math.floor((floattime * (kfobj.times.length - 1)));
keynum = _local2;
targtime = kfobj.times[(keynum + 1)];
targval = kfobj.values[(keynum + 1)];
startval = kfobj.values[keynum];
subrange = (targval - startval);
subduration = ((targtime - kfobj.times[keynum]) * kfobj.lifetime);
subkeytime = ((targtime * kfobj.lifetime) - ctime);
cval = (startval + (subrange * (subkeytime / subduration)));
}
public function resetlerp():void{
cval = kfobj.values[0];
targval = kfobj.values[1];
targtime = kfobj.times[1];
startval = kfobj.values[0];
ctime = 0;
keynum = 0;
dtimer = 0;
predelay = kfobj.delay;
subduration = ((kfobj.times[1] - kfobj.times[0]) * kfobj.lifetime);
floattime = 0;
subkeytime = 0;
subrange = (targval - startval);
finished = false;
gstate = "paused";
dead = false;
if (kfobj.delay != 0){
};
if (ktimer != null){
ktimer.reset();
};
if (ktimer != null){
ktimer.start();
};
}
public function update(_arg1:TimerEvent=null):void{
var _local2:Number;
var _local3:Number;
switch (gstate){
case "paused":
dtimer++;
if (dtimer >= predelay){
gstate = "running";
dtimer = 0;
};
break;
case "running":
if (!finished){
ctime = Math.min((ctime + 1), kfobj.lifetime);
subkeytime = Math.min((subkeytime + 1), subduration);
floattime = (ctime / kfobj.lifetime);
if (ctime == kfobj.lifetime){
if (kfobj.loop){
ktimer.stop();
finished = true;
return;
};
killlerp();
return;
};
if (floattime >= targtime){
if (keynum < (kfobj.times.length - 2)){
keynum++;
targtime = kfobj.times[(keynum + 1)];
targval = kfobj.values[(keynum + 1)];
startval = kfobj.values[keynum];
subrange = (targval - startval);
subduration = ((targtime - kfobj.times[keynum]) * kfobj.lifetime);
subkeytime = 0;
};
};
if (!smooth){
cval = (startval + (subrange * (subkeytime / subduration)));
} else {
_local2 = (subkeytime / subduration);
_local3 = ((1 - Math.cos((_local2 * Math.PI))) * 0.5);
cval = ((startval * (1 - _local3)) + (targval * _local3));
};
};
break;
};
if (debug){
dumpvars();
};
}
public function killlerp():void{
if (!dead){
dead = true;
kfobj = null;
ktimer.stop();
ktimer.removeEventListener(TimerEvent.TIMER, update);
ktimer = null;
finished = true;
};
}
public function unPause():void{
if (ktimer != null){
ktimer.start();
};
}
}
}//package gameutil
Section 27
//SoundMan (gameutil.SoundMan)
package gameutil {
import flash.media.*;
public class SoundMan {
public static var bs1:Sound;
public static var musicfadeup:Boolean = true;
public static var batfadeup:Boolean = false;
public static var elec:Sound;
public static var musicvol:Number = 0;
public static var battlechan:SoundChannel;
public static var maxsfxvol:Number = 0.7;
public static var oldsfxvol = 0.7;
public static var wind;
public static var chaos:Sound;
public static var rip:Sound;
public static var lchaos;
public static var water;
public static var steamsnd:Sound;
public static var music:Sound;
public static var boom1:Sound;
public static var pfin:Sound;
public static var maxmusicvol:Number = 0.6;
public static var battlevol:Number = 0;
public static var specSnd:Sound;
public static var battle:Sound;
public static var multi:Sound;
public static var musicstarted:Boolean = false;
public static var spillsnd:Sound;
public static var pntfill:Sound;
public static var latch:Sound;
public static var fire;
public static var shellsnd:Sound;
public static var earth:Sound;
public static var lsr:Sound;
public static var ambfadeup:Boolean = true;
public static var batstarted:Boolean = false;
public static var good:Sound;
public static var oldmusicvol = 0.6;
public static var wtfST:SoundTransform;
public static var ambvol:Number = 0;
public static var goodsnds:Array;
public static var ambchan:SoundChannel;
public static var ambsnd:Sound;
public static var wtfchan:SoundChannel;
public static var terminal:Sound;
public static var musicchan:SoundChannel;
public static var blast:Sound;
public static function fademusicup():void{
musicfadeup = true;
ambfadeup = false;
batfadeup = false;
}
public static function adjustmusicvol(_arg1:Number):void{
var _local2:SoundTransform;
var _local3:SoundTransform;
var _local4:SoundTransform;
maxmusicvol = _arg1;
if (ambfadeup){
_local2 = ambchan.soundTransform;
_local2.volume = _arg1;
ambvol = _arg1;
ambchan.soundTransform = _local2;
};
if (musicfadeup){
_local3 = musicchan.soundTransform;
_local3.volume = _arg1;
musicvol = _arg1;
musicchan.soundTransform = _local3;
};
if (batfadeup){
_local4 = battlechan.soundTransform;
_local4.volume = _arg1;
battlevol = _arg1;
battlechan.soundTransform = _local4;
};
}
public static function updateAll():void{
var _local1:SoundTransform;
var _local2:SoundTransform;
var _local3:SoundTransform;
if (ambfadeup){
ambvol = Math.min((ambvol + 0.01), maxmusicvol);
} else {
ambvol = Math.max((ambvol - 0.01), 0);
};
if (musicfadeup){
musicvol = Math.min((musicvol + 0.01), maxmusicvol);
} else {
musicvol = Math.max((musicvol - 0.01), 0);
};
if (batfadeup){
battlevol = Math.min((battlevol + 0.01), maxmusicvol);
} else {
battlevol = Math.max((battlevol - 0.01), 0);
};
if (((!((ambvol == 0))) || (!((ambvol == maxmusicvol))))){
_local1 = ambchan.soundTransform;
_local1.volume = ambvol;
ambchan.soundTransform = _local1;
};
if (((!((musicvol == 0))) || (!((musicvol == maxmusicvol))))){
_local2 = musicchan.soundTransform;
_local2.volume = musicvol;
musicchan.soundTransform = _local2;
};
if (((!((battlevol == 0))) || (!((battlevol == maxmusicvol))))){
_local3 = battlechan.soundTransform;
_local3.volume = battlevol;
battlechan.soundTransform = _local3;
};
}
public static function fadeupamb():void{
ambfadeup = true;
musicfadeup = false;
batfadeup = false;
}
public static function crossfade(_arg1:String):void{
if (_arg1 == "amb"){
ambfadeup = true;
musicfadeup = false;
batfadeup = false;
} else {
if (_arg1 == "music"){
ambfadeup = false;
musicfadeup = true;
batfadeup = false;
} else {
if (_arg1 == "battle"){
ambfadeup = false;
musicfadeup = false;
batfadeup = true;
};
};
};
}
public static function init():void{
wtfchan = new SoundChannel();
wtfST = wtfchan.soundTransform;
ambchan = new SoundChannel();
musicchan = new SoundChannel();
battlechan = new SoundChannel();
lchaos = new launch_chaos();
fire = new launch_fire();
earth = new launch_earth();
wind = new launch_wind();
water = new launch_water();
good = new goodsnd();
shellsnd = new hitShell();
boom1 = new bigBoom();
latch = new coreLatch();
spillsnd = new spill();
rip = new ripsnd();
blast = new evomBlock();
elec = new hurtsnd();
chaos = new chaossnd();
multi = new multisnd();
bs1 = new m1();
lsr = new loser();
steamsnd = new steam();
pntfill = new pointFill();
pfin = new pointFinish();
specSnd = new special();
ambsnd = new ambloop();
music = new rotoloop();
battle = new win_loop();
terminal = new zodigrime();
goodsnds = [new good1(), new good2(), new good3(), new good4(), new good5(), new good6(), new good7(), new good8(), new good9(), new good10(), new good11(), new good12(), new good13()];
}
public static function fadebattleup():void{
var _local1:SoundTransform;
if (!batstarted){
battlechan = battle.play(0, 9999);
_local1 = battlechan.soundTransform;
_local1.volume = 0;
battlechan.soundTransform = _local1;
batstarted = true;
};
batfadeup = true;
ambfadeup = false;
musicfadeup = false;
}
public static function destroy(){
}
public static function adjustsfxvol(_arg1:Number):void{
maxsfxvol = _arg1;
wtfST.volume = _arg1;
}
}
}//package gameutil
Section 28
//Tick (gameutil.Tick)
package gameutil {
import flash.utils.*;
public class Tick {
public static var fps:uint = 0;
public static var startTime = getTimer();
public static var secs = getTimer();
public static var ftime:Number = 0;
private static var oldtime:int = 0;
public static var fps_txt:uint = 0;
public static function getGT():int{
return (((getTimer() - startTime) / 1000));
}
public static function resetGT():void{
startTime = getTimer();
}
public static function getFtime():void{
ftime = Math.min(((getTimer() - oldtime) / 1000), 0.1);
fps++;
if ((getTimer() - secs) > 1000){
secs = getTimer();
fps_txt = fps;
fps = 0;
};
oldtime = getTimer();
}
}
}//package gameutil
Section 29
//MochiAd (mochi.as3.MochiAd)
package mochi.as3 {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.system.*;
import flash.net.*;
public class MochiAd {
public static function getVersion():String{
return ("3.02 as3");
}
public static function showClickAwayAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_timeout:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var sendHostProgress:Boolean;
var options = _arg1;
DEFAULTS = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{
}, ad_finished:function ():void{
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
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_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
sendHostProgress = false;
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
return;
};
_local1 = this.parent._mochiad_ctr;
_local2 = (getTimer() - this.started);
_local3 = false;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
_local3 = true;
chk.started = getTimer();
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (this.root == null){
_local3 = true;
};
if (_local3){
delete this.onEnterFrame;
};
};
doOnEnterFrame(chk);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function _allowDomains(_arg1:String):String{
var _local2:String;
_local2 = _arg1.split("/")[2].split(":")[0];
if (Security.sandboxType == "application"){
return (_local2);
};
Security.allowDomain("*");
Security.allowDomain(_local2);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(_local2);
return (_local2);
}
public static function unload(_arg1:Object):Boolean{
if (((_arg1.clip) && (_arg1.clip._mochiad))){
_arg1 = _arg1.clip;
};
if (_arg1.origFrameRate != undefined){
_arg1.stage.frameRate = _arg1.origFrameRate;
};
if (!_arg1._mochiad){
return (false);
};
if (_arg1._mochiad._containerLCName != undefined){
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "notify", {id:"unload"});
};
if (_arg1._mochiad.onUnload){
_arg1._mochiad.onUnload();
};
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{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
}, ad_skipped:function ():void{
}};
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_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
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;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
_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.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = (_arg1 - 250);
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
_local1 = this.parent._mochiad_ctr;
_local2 = (getTimer() - this.started);
_local3 = false;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (_local2 > chk.ad_msec){
_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 _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];
};
};
if (_local3.clip == undefined){
throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite."));
};
_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++;
};
};
if (_local3.id == "test"){
};
return (_local3);
}
public static function _cleanup(_arg1:Object):void{
var idx:Number;
var k:String;
var lc:LocalConnection;
var f:Function;
var mc = _arg1;
if (("lc" in mc)){
lc = mc.lc;
f = function ():void{
try {
lc.client = null;
lc.close();
} catch(e:Error) {
};
};
setTimeout(f, 0);
};
idx = DisplayObjectContainer(mc).numChildren;
while (idx > 0) {
idx = (idx - 1);
DisplayObjectContainer(mc).removeChildAt(idx);
};
for (k in mc) {
delete mc[k];
};
}
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 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);
};
try {
if (clip._mochiad_loaded){
return (null);
};
} catch(e:Error) {
throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
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;
//unresolved jump
};
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;
mc.lcName = name;
lv.lc = name;
lv.st = getTimer();
loader = new Loader();
g = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest(((server + ".swf?cacheBust=") + new Date().getTime()));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:IOErrorEvent):void{
});
loader.load(req);
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function runMethod(_arg1:Object, _arg2:String, _arg3:Array):Object{
var _local4:Array;
var _local5:Number;
_local4 = _arg2.split(".");
_local5 = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
if (typeof(_arg1[_local4[_local5]]) == "function"){
return (_arg1[_local4[_local5]].apply(_arg1, _arg3));
};
return (undefined);
}
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 _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 adShowing(_arg1:Object):void{
_arg1.origFrameRate = _arg1.stage.frameRate;
_arg1.stage.frameRate = 30;
}
public static function getValue(_arg1:Object, _arg2:String):Object{
var _local3:Array;
var _local4:Number;
_local3 = _arg2.split(".");
_local4 = 0;
while (_local4 < (_local3.length - 1)) {
if ((((_arg1[_local3[_local4]] == undefined)) || ((_arg1[_local3[_local4]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local3[_local4]];
_local4++;
};
return (_arg1[_local3[_local4]]);
}
public static function rpc(_arg1:Object, _arg2:Number, _arg3:Object):void{
var _local4:Object;
var _local5:Object;
switch (_arg3.id){
case "setValue":
MochiAd.setValue(_arg1, _arg3.objectName, _arg3.value);
break;
case "getValue":
_local4 = MochiAd.getValue(_arg1, _arg3.objectName);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local4);
break;
case "runMethod":
_local5 = MochiAd.runMethod(_arg1, _arg3.method, _arg3.args);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local5);
break;
};
}
public static function setValue(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Array;
var _local5:Number;
_local4 = _arg2.split(".");
_local5 = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return;
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
_arg1[_local4[_local5]] = _arg3;
}
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 sendHostProgress:Boolean;
var fn:Function;
var r:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
}, ad_skipped:function ():void{
}, ad_progress:function (_arg1:Number):void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){
options.ad_started();
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
return;
};
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_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
var fn:Function;
MochiAd._cleanup(mc);
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);
if (options.no_progress_bar){
bar.visible = false;
delete options.no_progress_bar;
} else {
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{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
if (clip.loaderInfo.bytesLoaded == clip.loaderInfo.bytesTotal){
complete = true;
} else {
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
} else {
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
};
} else {
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = _arg1;
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
mc.rpcTestFn = function (_arg1:String):Object{
return (_arg1);
};
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
sendHostProgress = false;
mc.sendHostLoadProgress = function (_arg1:String):void{
sendHostProgress = true;
};
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)) || (!(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;
if (complete){
_local6 = Math.max(1, _local6);
_local5 = _local6;
};
_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);
options.ad_progress(_local10);
if (sendHostProgress){
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local7});
if (_local7 == 100){
sendHostProgress = false;
};
};
if (!chk.showing){
_local11 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local11 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if ((((_local3 > chk.ad_timeout)) && ((_local7 == 100)))){
options.ad_failed();
_local4 = true;
};
};
};
if (_local3 > chk.ad_msec){
_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 showTimedAd(_arg1:Object):void{
MochiAd.showInterLevelAd(_arg1);
}
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 {
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package mochi.as3
Section 30
//MochiServices (mochi.as3.MochiServices)
package mochi.as3 {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.system.*;
import flash.net.*;
public class MochiServices {
private static var _container:Object;
private static var _connected:Boolean = false;
private static var _swfVersion:String;
public static var netupAttempted:Boolean = false;
private static var _sendChannel:LocalConnection;
private static var _clip:MovieClip;
private static var _loader:Loader;
private static var _id:String;
private static var _listenChannel:LocalConnection;
public static var widget:Boolean = false;
private static var _timer:Timer;
private static var _sendChannelName:String;
private static var _connecting:Boolean = false;
public static var onError:Object;
private static var _listenChannelName:String = "__ms_";
private static var _servicesURL:String = "http://www.mochiads.com/static/lib/services/services.swf";
public static var netup:Boolean = true;
public static function isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function get connected():Boolean{
return (_connected);
}
private static function flush(_arg1:Boolean):void{
var _local2:Object;
var _local3:Object;
if (_clip != null){
if (_clip._queue != null){
while (_clip._queue.length > 0) {
_local2 = _clip._queue.shift();
_local3 = null;
if (_local2 != null){
if (_local2.callbackID != null){
_local3 = _clip._callbacks[_local2.callbackID];
};
delete _clip._callbacks[_local2.callbackID];
if (((_arg1) && (!((_local3 == null))))){
handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod);
};
};
};
};
};
}
public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{
if (_connected){
_sendChannel.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
} else {
if ((((_clip == null)) || (!(_connecting)))){
onError("NotConnected");
handleError(_arg2, _arg3, _arg4);
flush(true);
return;
};
_clip._queue.push({methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
};
if (_clip != null){
if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){
_clip._callbacks[_clip._nextcallbackID] = {callbackObject:_arg3, callbackMethod:_arg4};
_clip._nextcallbackID++;
};
};
}
private static function init(_arg1:String, _arg2:Object):void{
_id = _arg1;
if (_arg2 != null){
_container = _arg2;
loadCommunicator(_arg1, _container);
};
}
public static function get childClip():Object{
return (_clip);
}
private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{
var _local3:Array;
var _local4:int;
var _local5:Array;
var _local6:Array;
var _local7:MovieClip;
var _local8:LocalConnection;
var _local9:String;
var _local10:ByteArray;
var _local11:ByteArray;
var _local12:uint;
var _local13:uint;
var _local14:Loader;
_local3 = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23];
_local5 = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3];
_local6 = [0, 64, 0, 0, 0];
_local7 = new MovieClip();
_local8 = new LocalConnection();
_local9 = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().getTime()));
_local8 = new LocalConnection();
_local7.lc = _local8;
_local7.click = _arg2;
_local8.client = _local7;
_local8.connect(_local9);
_local10 = new ByteArray();
_local11 = new ByteArray();
_local11.endian = Endian.LITTLE_ENDIAN;
_local11.writeShort(1);
_local11.writeUTFBytes(((_arg1 + " ") + _local9));
_local11.writeByte(0);
_local12 = ((_local3.length + _local11.length) + 4);
_local13 = (_local12 + 35);
_local10.endian = Endian.LITTLE_ENDIAN;
_local10.writeUTFBytes("FWS");
_local10.writeByte(8);
_local10.writeUnsignedInt(_local13);
for each (_local4 in _local5) {
_local10.writeByte(_local4);
};
_local10.writeUnsignedInt(_local12);
_local10.writeByte(136);
_local10.writeShort(_local11.length);
_local10.writeBytes(_local11);
for each (_local4 in _local3) {
_local10.writeByte(_local4);
};
for each (_local4 in _local6) {
_local10.writeByte(_local4);
};
_local14 = new Loader();
_local14.loadBytes(_local10);
_local7.addChild(_local14);
return (_local7);
}
public static function stayOnTop():void{
_container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true);
if (_clip != null){
_clip.visible = true;
};
}
public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4:Function=null):void{
var vars:Object;
var avm1Click:DisplayObject;
var s:String;
var i:Number;
var x:String;
var req:URLRequest;
var loader:Loader;
var setURL:Function;
var err:Function;
var complete:Function;
var url = _arg1;
var burl = _arg2;
var btn = _arg3;
var onClick = _arg4;
vars = new Object();
vars["mav"] = getVersion();
vars["swfv"] = "9";
vars["swfurl"] = btn.loaderInfo.loaderURL;
vars["fv"] = Capabilities.version;
vars["os"] = Capabilities.os;
vars["lang"] = Capabilities.language;
vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY);
s = "?";
i = 0;
for (x in vars) {
if (i != 0){
s = (s + "&");
};
i = (i + 1);
s = (((s + x) + "=") + escape(vars[x]));
};
req = new URLRequest("http://x.mochiads.com/linkping.swf");
loader = new Loader();
setURL = function (_arg1:String):void{
var _local2:Rectangle;
if (avm1Click){
btn.removeChild(avm1Click);
};
avm1Click = clickMovie(_arg1, onClick);
_local2 = btn.getBounds(btn);
btn.addChild(avm1Click);
avm1Click.x = _local2.x;
avm1Click.y = _local2.y;
avm1Click.scaleX = (0.01 * _local2.width);
avm1Click.scaleY = (0.01 * _local2.height);
};
err = function (_arg1:Object):void{
netup = false;
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
setURL(burl);
};
complete = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
if (netup){
setURL((url + s));
} else {
setURL(burl);
};
if (!((netupAttempted) || (_connected))){
netupAttempted = true;
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
loader.load(req);
};
}
public static function warnID(_arg1:String, _arg2:Boolean):void{
var _local3:Number;
_arg1 = _arg1.toLowerCase();
if (_arg1.length != 16){
return;
};
if (_arg1 == "1e113c7239048b3f"){
if (_arg2){
//unresolved jump
};
return;
} else {
if (_arg1 == "84993a1de4031cd8"){
if (_arg2){
//unresolved jump
};
return;
};
};
_local3 = 0;
while (_local3 < _arg1.length) {
switch (_arg1.charAt(_local3)){
case "0":
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
case "a":
case "b":
case "c":
case "d":
case "e":
case "f":
break;
default:
return;
};
_local3++;
};
}
public static function disconnect():void{
if (((_connected) || (_connecting))){
if (_clip != null){
if (_clip.parent != null){
if ((_clip.parent is Sprite)){
Sprite(_clip.parent).removeChild(_clip);
_clip = null;
};
};
};
_connecting = (_connected = false);
flush(true);
try {
_listenChannel.close();
} catch(error:Error) {
};
};
if (_timer != null){
try {
_timer.stop();
} catch(error:Error) {
};
};
}
public static function allowDomains(_arg1:String):String{
var _local2:String;
if (Security.sandboxType != "application"){
Security.allowDomain("*");
Security.allowInsecureDomain("*");
};
if (_arg1.indexOf("http://") != -1){
_local2 = _arg1.split("/")[2].split(":")[0];
if (Security.sandboxType != "application"){
Security.allowDomain(_local2);
Security.allowInsecureDomain(_local2);
};
};
return (_local2);
}
public static function getVersion():String{
return ("3.02 as3");
}
public static function doClose():void{
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
if (_clip.parent != null){
Sprite(_clip.parent).removeChild(_clip);
};
}
private static function onStatus(_arg1:StatusEvent):void{
switch (_arg1.level){
case "error":
_connected = false;
_listenChannel.connect(_listenChannelName);
break;
};
}
public static function get id():String{
return (_id);
}
private static function urlOptions(_arg1:Object):Object{
var _local2:Object;
var _local3:String;
var _local4:Array;
var _local5:Number;
var _local6:Array;
_local2 = {};
_local3 = _arg1.loaderInfo.parameters.mochiad_options;
if (_local3){
_local4 = _local3.split("&");
_local5 = 0;
while (_local5 < _local4.length) {
_local6 = _local4[_local5].split("=");
_local2[unescape(_local6[0])] = unescape(_local6[1]);
_local5++;
};
};
return (_local2);
}
public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{
if (_arg1 != null){
if ((_arg1 is Sprite)){
_container = _arg1;
};
};
if (_arg2){
if ((_container is Sprite)){
Sprite(_container).addChild(_clip);
};
};
}
private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{
var args = _arg1;
var callbackObject = _arg2;
var callbackMethod = _arg3;
if (args != null){
if (args.onError != null){
args.onError.apply(null, ["NotConnected"]);
};
if (((!((args.options == null))) && (!((args.options.onError == null))))){
args.options.onError.apply(null, ["NotConnected"]);
};
};
if (callbackMethod != null){
args = {};
args.error = true;
args.errorCode = "NotConnected";
if (((!((callbackObject == null))) && ((callbackMethod is String)))){
try {
var _local5 = callbackObject;
_local5[callbackMethod](args);
} catch(error:Error) {
};
} else {
if (callbackMethod != null){
try {
callbackMethod.apply(args);
} catch(error:Error) {
};
};
};
};
}
private static function initComChannels():void{
if (!_connected){
_sendChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus);
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_container, version:getVersion(), parentURL:_container.loaderInfo.loaderURL});
_listenChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus);
_clip.onReceive = function (_arg1:Object):void{
var cb:String;
var cblst:Object;
var method:*;
var methodName:String;
var obj:Object;
var pkg = _arg1;
cb = pkg.callbackID;
cblst = this.client._callbacks[cb];
if (!cblst){
return;
};
method = cblst.callbackMethod;
methodName = "";
obj = cblst.callbackObject;
if (((obj) && ((typeof(method) == "string")))){
methodName = method;
if (obj[method] != null){
method = obj[method];
//unresolved jump
};
};
if (method != undefined){
try {
method.apply(obj, pkg.args);
} catch(error:Error) {
};
} else {
if (obj != null){
try {
obj(pkg.args);
} catch(error:Error) {
};
};
};
delete this.client._callbacks[cb];
};
_clip.onError = function ():void{
MochiServices.onError("IOError");
};
_connecting = false;
_connected = true;
while (_clip._queue.length > 0) {
_sendChannel.send(_sendChannelName, "onReceive", _clip._queue.shift());
};
};
}
private static function listen():void{
_listenChannel = new LocalConnection();
_listenChannel.client = _clip;
_clip.handshake = function (_arg1:Object):void{
MochiServices.comChannelName = _arg1.newChannel;
};
_listenChannel.allowDomain("*", "localhost");
_listenChannel.allowInsecureDomain("*", "localhost");
_listenChannel.connect(_listenChannelName);
}
public static function set comChannelName(_arg1:String):void{
if (_arg1 != null){
if (_arg1.length > 3){
_sendChannelName = (_arg1 + "_fromgame");
initComChannels();
};
};
}
private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{
var clipname:String;
var f:Function;
var req:URLRequest;
var vars:URLVariables;
var id = _arg1;
var clip = _arg2;
clipname = ("_mochiservices_com_" + id);
if (_clip != null){
return (_clip);
};
if (!MochiServices.isNetworkAvailable()){
return (null);
};
if (urlOptions(clip).servicesURL != undefined){
_servicesURL = urlOptions(clip).servicesURL;
};
MochiServices.allowDomains(_servicesURL);
_clip = createEmptyMovieClip(clip, clipname, 10336, false);
_loader = new Loader();
f = function (_arg1:Object):void{
_clip._mochiad_ctr_failed = true;
MochiServices.disconnect();
MochiServices.onError("IOError");
};
_listenChannelName = (_listenChannelName + ((Math.floor(new Date().getTime()) + "_") + Math.floor((Math.random() * 99999))));
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f);
req = new URLRequest(_servicesURL);
vars = new URLVariables();
vars.listenLC = _listenChannelName;
vars.mochiad_options = clip.loaderInfo.parameters.mochiad_options;
if (widget){
vars.widget = true;
};
req.data = vars;
listen();
_loader.load(req);
_clip.addChild(_loader);
_clip._mochiservices_com = _loader;
_sendChannel = new LocalConnection();
_clip._queue = [];
_clip._nextcallbackID = 0;
_clip._callbacks = {};
_timer = new Timer(10000, 1);
_timer.addEventListener(TimerEvent.TIMER, connectWait);
_timer.start();
return (_clip);
}
public static function get clip():Object{
return (_container);
}
public static function bringToTop(_arg1:Event):void{
var e = _arg1;
if (MochiServices.clip != null){
if (MochiServices.childClip != null){
try {
if (MochiServices.clip.numChildren > 1){
MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1));
};
} catch(errorObject:Error) {
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
};
};
};
}
public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{
var id = _arg1;
var clip = _arg2;
var onError = _arg3;
warnID(id, false);
if ((clip is DisplayObject)){
if (((!(_connected)) && ((_clip == null)))){
_connecting = true;
init(id, clip);
};
//unresolved jump
};
if (onError != null){
MochiServices.onError = onError;
} else {
if (MochiServices.onError == null){
MochiServices.onError = function (_arg1:String):void{
};
};
};
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Boolean=true):MovieClip{
var mc:MovieClip;
var parent = _arg1;
var name = _arg2;
var depth = _arg3;
var doAdd = _arg4;
mc = new MovieClip();
if (doAdd){
if (((false) && (depth))){
parent.addChildAt(mc, depth);
} else {
parent.addChild(mc);
};
};
try {
parent[name] = mc;
} catch(e:Error) {
throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
mc["_name"] = name;
return (mc);
}
public static function connectWait(_arg1:TimerEvent):void{
if (!_connected){
_clip._mochiad_ctr_failed = true;
MochiServices.disconnect();
MochiServices.onError("IOError");
};
}
}
}//package mochi.as3
Section 31
//aircore_7 (zodiac_fla.aircore_7)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
import gameutil.*;
public dynamic class aircore_7 extends MovieClip {
public var fadeup:Boolean;
public function aircore_7(){
addFrameScript(0, frame1);
}
function frame1(){
fadeup = false;
this.addEventListener(Event.ENTER_FRAME, update);
}
public function update(_arg1:Event):void{
if (this.fadeup){
this.alpha = Math.min((this.alpha + (5 * Tick.ftime)), 1);
if (this.alpha == 1){
this.fadeup = false;
};
} else {
this.alpha = Math.max((this.alpha - (5 * Tick.ftime)), 0);
};
}
}
}//package zodiac_fla
Section 32
//apct_97 (zodiac_fla.apct_97)
package zodiac_fla {
import flash.display.*;
import flash.text.*;
public dynamic class apct_97 extends MovieClip {
public var pct:TextField;
}
}//package zodiac_fla
Section 33
//aquaSign_34 (zodiac_fla.aquaSign_34)
package zodiac_fla {
import flash.display.*;
public dynamic class aquaSign_34 extends MovieClip {
public function aquaSign_34(){
addFrameScript(0, frame1, 9, frame10);
}
function frame10(){
this.stop();
}
function frame1(){
this.stop();
}
}
}//package zodiac_fla
Section 34
//aresSign_42 (zodiac_fla.aresSign_42)
package zodiac_fla {
import flash.display.*;
public dynamic class aresSign_42 extends MovieClip {
public function aresSign_42(){
addFrameScript(0, frame1, 9, frame10);
}
function frame10(){
this.stop();
}
function frame1(){
this.stop();
}
}
}//package zodiac_fla
Section 35
//assetloader_4 (zodiac_fla.assetloader_4)
package zodiac_fla {
import flash.display.*;
public dynamic class assetloader_4 extends MovieClip {
public function assetloader_4(){
addFrameScript(0, frame1);
}
function frame1(){
this.stop();
}
}
}//package zodiac_fla
Section 36
//atbox_91 (zodiac_fla.atbox_91)
package zodiac_fla {
import flash.display.*;
public dynamic class atbox_91 extends MovieClip {
public var airTile:MovieClip;
public function atbox_91(){
addFrameScript(0, frame1, 19, frame20);
}
function frame1(){
this.stop();
}
function frame20(){
this.stop();
}
}
}//package zodiac_fla
Section 37
//audioMenu_135 (zodiac_fla.audioMenu_135)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import gameutil.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.ui.*;
import flash.filters.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class audioMenu_135 extends MovieClip {
public var musicknob:MovieClip;
public var sfxmute:MovieClip;
public var sfxrot:Number;
public var sfxknob:MovieClip;
public var musicrot:Number;
public var sfxclock:Number;
public var musicmute:MovieClip;
public function audioMenu_135(){
addFrameScript(0, frame1);
}
public function mouseup(_arg1:MouseEvent):void{
if ((((_arg1.currentTarget == sfxknob)) || ((_arg1.currentTarget == musicknob)))){
_arg1.currentTarget.mdown = false;
_arg1.currentTarget.glow.alpha = 0;
} else {
sfxknob.mdown = false;
musicknob.mdown = false;
sfxknob.glow.alpha = 0;
musicknob.glow.alpha = 0;
};
stage.removeEventListener(MouseEvent.MOUSE_UP, mouseup);
}
public function updatemusic(_arg1:Event):void{
var _local2:Number;
var _local3:Number;
if (_arg1.currentTarget.mdown){
_local2 = (-((_arg1.currentTarget.mouseX - _arg1.currentTarget.oldx)) * 2);
_arg1.currentTarget.knob.rotation = Math.max(Math.min((_arg1.currentTarget.knob.rotation - _local2), 90), -90);
_arg1.currentTarget.knobmask.rotation = (_arg1.currentTarget.knob.rotation - 90);
_local3 = ((_arg1.currentTarget.knob.rotation + 90) / 180);
SoundMan.adjustmusicvol(_local3);
SoundMan.oldmusicvol = _local3;
_arg1.currentTarget.oldx = _arg1.currentTarget.mouseX;
};
}
public function updatesfx(_arg1:Event):void{
var _local2:Number;
var _local3:Number;
if (_arg1.currentTarget.mdown){
_local2 = (-((_arg1.currentTarget.mouseX - _arg1.currentTarget.oldx)) * 2);
_arg1.currentTarget.knob.rotation = Math.max(Math.min((_arg1.currentTarget.knob.rotation - _local2), 90), -90);
_arg1.currentTarget.knobmask.rotation = (_arg1.currentTarget.knob.rotation - 90);
_local3 = ((_arg1.currentTarget.knob.rotation + 90) / 180);
SoundMan.adjustsfxvol(_local3);
SoundMan.oldsfxvol = _local3;
sfxclock = (sfxclock + (15 * Tick.ftime));
if ((((sfxclock > 1)) && (!((_arg1.currentTarget.mouseX == _arg1.currentTarget.oldx))))){
sfxclock = 0;
SoundMan.shellsnd.play(0, 0, SoundMan.wtfST);
};
_arg1.currentTarget.oldx = _arg1.currentTarget.mouseX;
};
}
function frame1(){
sfxclock = 0;
sfxrot = ((SoundMan.maxsfxvol * 180) - 90);
sfxknob.knob.rotation = sfxrot;
sfxknob.knobmask.rotation = (sfxknob.knob.rotation - 90);
sfxknob.buttonMode = true;
sfxknob.addEventListener(MouseEvent.MOUSE_OUT, rollout);
sfxknob.addEventListener(MouseEvent.MOUSE_DOWN, mousedown);
sfxknob.addEventListener(MouseEvent.MOUSE_UP, mouseup);
sfxknob.addEventListener(Event.ENTER_FRAME, updatesfx);
musicrot = ((SoundMan.maxmusicvol * 180) - 90);
musicknob.knob.rotation = musicrot;
musicknob.knobmask.rotation = (musicknob.knob.rotation - 90);
musicknob.buttonMode = true;
musicknob.addEventListener(MouseEvent.MOUSE_OUT, rollout);
musicknob.addEventListener(MouseEvent.MOUSE_DOWN, mousedown);
musicknob.addEventListener(MouseEvent.MOUSE_UP, mouseup);
musicknob.addEventListener(Event.ENTER_FRAME, updatemusic);
if (SoundMan.maxmusicvol == 0){
musicmute.gotoAndStop(2);
};
if (SoundMan.maxsfxvol == 0){
sfxmute.gotoAndStop(2);
};
musicmute.buttonMode = true;
musicmute.addEventListener(MouseEvent.MOUSE_UP, mutesong);
sfxmute.buttonMode = true;
sfxmute.addEventListener(MouseEvent.MOUSE_UP, mutesfx);
}
public function rollout(_arg1:MouseEvent):void{
if (!_arg1.currentTarget.mdown){
_arg1.currentTarget.gfadeup = false;
};
}
public function mutesong(_arg1:MouseEvent){
if (SoundMan.maxmusicvol != 0){
SoundMan.oldmusicvol = SoundMan.maxmusicvol;
SoundMan.adjustmusicvol(0);
musicknob.knobmask.rotation = -180;
musicknob.knob.rotation = -90;
musicmute.gotoAndStop(2);
} else {
musicmute.gotoAndStop(1);
SoundMan.adjustmusicvol(SoundMan.oldmusicvol);
musicknob.knob.rotation = Math.max(Math.min(((SoundMan.oldmusicvol * 180) - 90), 90), -90);
musicknob.knobmask.rotation = (musicknob.knob.rotation - 90);
};
}
public function mutesfx(_arg1:MouseEvent){
if (SoundMan.maxsfxvol != 0){
SoundMan.oldsfxvol = SoundMan.maxsfxvol;
SoundMan.adjustsfxvol(0);
sfxknob.knobmask.rotation = -180;
sfxknob.knob.rotation = -90;
sfxmute.gotoAndStop(2);
} else {
sfxmute.gotoAndStop(1);
SoundMan.adjustsfxvol(SoundMan.oldsfxvol);
sfxknob.knob.rotation = Math.max(Math.min(((SoundMan.oldsfxvol * 180) - 90), 90), -90);
sfxknob.knobmask.rotation = (sfxknob.knob.rotation - 90);
};
}
public function mousedown(_arg1:MouseEvent):void{
sfxclock = 0;
_arg1.currentTarget.mdown = true;
_arg1.currentTarget.glow.alpha = 1;
_arg1.currentTarget.oldx = _arg1.currentTarget.mouseX;
stage.addEventListener(MouseEvent.MOUSE_UP, mouseup);
}
public function rollover(_arg1:MouseEvent):void{
}
}
}//package zodiac_fla
Section 38
//audioroll_56 (zodiac_fla.audioroll_56)
package zodiac_fla {
import flash.display.*;
public dynamic class audioroll_56 extends MovieClip {
public var fadeup:Boolean;
public function audioroll_56(){
addFrameScript(0, frame1);
}
function frame1(){
fadeup = false;
}
}
}//package zodiac_fla
Section 39
//beamSpinContainer_145 (zodiac_fla.beamSpinContainer_145)
package zodiac_fla {
import flash.display.*;
public dynamic class beamSpinContainer_145 extends MovieClip {
public var beams:MovieClip;
}
}//package zodiac_fla
Section 40
//bonusCompleteScreen_147 (zodiac_fla.bonusCompleteScreen_147)
package zodiac_fla {
import flash.display.*;
import flash.text.*;
public dynamic class bonusCompleteScreen_147 extends MovieClip {
public var bpfct:TextField;
public var bstats:TextField;
public var beambox:MovieClip;
public var bpoints:TextField;
}
}//package zodiac_fla
Section 41
//bonusRoundScreen_144 (zodiac_fla.bonusRoundScreen_144)
package zodiac_fla {
import flash.display.*;
public dynamic class bonusRoundScreen_144 extends MovieClip {
public var beambox:MovieClip;
public function bonusRoundScreen_144(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
this.stop();
}
function frame1(){
this.stop();
}
function frame2(){
this.stop();
}
}
}//package zodiac_fla
Section 42
//bottombar_72 (zodiac_fla.bottombar_72)
package zodiac_fla {
import flash.display.*;
public dynamic class bottombar_72 extends MovieClip {
public var cont:MovieClip;
}
}//package zodiac_fla
Section 43
//btn_sub_191 (zodiac_fla.btn_sub_191)
package zodiac_fla {
import flash.display.*;
public dynamic class btn_sub_191 extends MovieClip {
public function btn_sub_191(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
this.stop();
}
function frame2(){
this.stop();
}
}
}//package zodiac_fla
Section 44
//cancerSign_33 (zodiac_fla.cancerSign_33)
package zodiac_fla {
import flash.display.*;
public dynamic class cancerSign_33 extends MovieClip {
public function cancerSign_33(){
addFrameScript(0, frame1, 9, frame10);
}
function frame10(){
this.stop();
}
function frame1(){
this.stop();
}
}
}//package zodiac_fla
Section 45
//capriSign_37 (zodiac_fla.capriSign_37)
package zodiac_fla {
import flash.display.*;
public dynamic class capriSign_37 extends MovieClip {
public function capriSign_37(){
addFrameScript(0, frame1, 9, frame10);
}
function frame10(){
this.stop();
}
function frame1(){
this.stop();
}
}
}//package zodiac_fla
Section 46
//checkBox_107 (zodiac_fla.checkBox_107)
package zodiac_fla {
import flash.display.*;
public dynamic class checkBox_107 extends MovieClip {
public function checkBox_107(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package zodiac_fla
Section 47
//choosegamescreen_123 (zodiac_fla.choosegamescreen_123)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import gameutil.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.ui.*;
import flash.filters.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class choosegamescreen_123 extends MovieClip {
public var story:MovieClip;
public var quad:MovieClip;
public var orbit:MovieClip;
public var terminal:MovieClip;
public function choosegamescreen_123(){
addFrameScript(0, frame1);
}
public function killEvents():void{
story.removeEventListener(MouseEvent.MOUSE_OVER, roll);
story.removeEventListener(MouseEvent.MOUSE_OUT, out);
story.removeEventListener(MouseEvent.MOUSE_UP, up);
orbit.removeEventListener(MouseEvent.MOUSE_OVER, roll);
orbit.removeEventListener(MouseEvent.MOUSE_OUT, out);
orbit.removeEventListener(MouseEvent.MOUSE_UP, up);
quad.removeEventListener(MouseEvent.MOUSE_OVER, roll);
quad.removeEventListener(MouseEvent.MOUSE_OUT, out);
quad.removeEventListener(MouseEvent.MOUSE_UP, up);
terminal.removeEventListener(MouseEvent.MOUSE_OVER, roll);
terminal.removeEventListener(MouseEvent.MOUSE_OUT, out);
terminal.removeEventListener(MouseEvent.MOUSE_UP, up);
}
public function out(_arg1:MouseEvent):void{
_arg1.currentTarget.vid.stop();
_arg1.currentTarget.active = false;
}
function frame1(){
story.buttonMode = true;
orbit.buttonMode = true;
quad.buttonMode = true;
terminal.buttonMode = true;
story.addEventListener(MouseEvent.MOUSE_OVER, roll);
story.addEventListener(MouseEvent.MOUSE_OUT, out);
story.addEventListener(MouseEvent.MOUSE_UP, up);
orbit.addEventListener(MouseEvent.MOUSE_OVER, roll);
orbit.addEventListener(MouseEvent.MOUSE_OUT, out);
orbit.addEventListener(MouseEvent.MOUSE_UP, up);
quad.addEventListener(MouseEvent.MOUSE_OVER, roll);
quad.addEventListener(MouseEvent.MOUSE_OUT, out);
quad.addEventListener(MouseEvent.MOUSE_UP, up);
terminal.addEventListener(MouseEvent.MOUSE_OVER, roll);
terminal.addEventListener(MouseEvent.MOUSE_OUT, out);
terminal.addEventListener(MouseEvent.MOUSE_UP, up);
}
public function roll(_arg1:MouseEvent):void{
_arg1.currentTarget.active = true;
_arg1.currentTarget.vid.play();
SoundMan.bs1.play(0, 0, SoundMan.wtfST);
}
public function up(_arg1:MouseEvent):void{
this.visible = false;
this.x = 0;
this.y = -1000;
Rotograv.game.gameMenu.clicknav(null, "choose game", _arg1.currentTarget.name);
}
}
}//package zodiac_fla
Section 48
//continueButton_73 (zodiac_fla.continueButton_73)
package zodiac_fla {
import flash.display.*;
public dynamic class continueButton_73 extends MovieClip {
public var top:MovieClip;
public var blur:MovieClip;
}
}//package zodiac_fla
Section 49
//credits_mc_167 (zodiac_fla.credits_mc_167)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import gameutil.*;
import mochi.as3.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.ui.*;
import flash.filters.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class credits_mc_167 extends MovieClip {
public var bbBtn:MovieClip;
public var orourl:URLRequest;
public var bburl:URLRequest;
public var saiBtn:MovieClip;
public var ffg_twit:MovieClip;
public var flubBtn:MovieClip;
public var ffgCred_btn:MovieClip;
public var saiurl:URLRequest;
public var twiturl:URLRequest;
public var fluburl:URLRequest;
public var b2mBtn:MovieClip;
public var oroBtn:MovieClip;
public function credits_mc_167(){
addFrameScript(0, frame1);
}
public function killEvents():void{
ffg_twit.removeEventListener(MouseEvent.MOUSE_OVER, twitroll);
bbBtn.removeEventListener(MouseEvent.MOUSE_OVER, rollover);
bbBtn.removeEventListener(MouseEvent.MOUSE_OUT, rollout);
oroBtn.removeEventListener(MouseEvent.MOUSE_OVER, rollover);
oroBtn.removeEventListener(MouseEvent.MOUSE_OUT, rollout);
saiBtn.removeEventListener(MouseEvent.MOUSE_OVER, rollover);
saiBtn.removeEventListener(MouseEvent.MOUSE_OUT, rollout);
flubBtn.removeEventListener(MouseEvent.MOUSE_OVER, rollover);
flubBtn.removeEventListener(MouseEvent.MOUSE_OUT, rollout);
Rotograv.titlescreen.showMainMenu();
}
public function back2menu(_arg1:MouseEvent):void{
this.visible = false;
this.x = -2000;
this.y = -2000;
killEvents();
}
public function showMe():void{
this.x = 168;
this.y = -243;
this.visible = true;
ffgCred_btn.tabEnabled = false;
bbBtn.tabEnabled = false;
oroBtn.tabEnabled = false;
saiBtn.tabEnabled = false;
flubBtn.tabEnabled = false;
b2mBtn.tabEnabled = false;
ffg_twit.tabEnabled = false;
ffgCred_btn.buttonMode = true;
bbBtn.buttonMode = true;
oroBtn.buttonMode = true;
saiBtn.buttonMode = true;
flubBtn.buttonMode = true;
b2mBtn.buttonMode = true;
ffg_twit.buttonMode = true;
ffg_twit.addEventListener(MouseEvent.MOUSE_OVER, twitroll);
ffgCred_btn.addEventListener(MouseEvent.MOUSE_OVER, rollover);
bbBtn.addEventListener(MouseEvent.MOUSE_OVER, rollover);
bbBtn.addEventListener(MouseEvent.MOUSE_OUT, rollout);
oroBtn.addEventListener(MouseEvent.MOUSE_OVER, rollover);
oroBtn.addEventListener(MouseEvent.MOUSE_OUT, rollout);
saiBtn.addEventListener(MouseEvent.MOUSE_OVER, rollover);
saiBtn.addEventListener(MouseEvent.MOUSE_OUT, rollout);
flubBtn.addEventListener(MouseEvent.MOUSE_OVER, rollover);
flubBtn.addEventListener(MouseEvent.MOUSE_OUT, rollout);
b2mBtn.addEventListener(MouseEvent.MOUSE_UP, back2menu);
b2mBtn.addEventListener(MouseEvent.MOUSE_OVER, rollover);
b2mBtn.addEventListener(MouseEvent.MOUSE_OUT, rollout);
}
public function twitnav(_arg1:MouseEvent):void{
navigateToURL(twiturl, "_blank");
}
public function twitroll(_arg1:MouseEvent):void{
SoundMan.bs1.play(0, 0, SoundMan.wtfST);
}
function frame1(){
this.stop();
bburl = new URLRequest("http://www.funfacegames.com/games/3DBB/");
orourl = new URLRequest("http://oroboros.funfacegames.com");
saiurl = new URLRequest("http://supersaimon.funfacegames.com");
fluburl = new URLRequest("http://flubber-rise.funfacegames.com");
twiturl = new URLRequest("http://twitter.com/FunfaceGames");
MochiServices.addLinkEvent("http://x.mochiads.com/link/445444b694e84614", "http://www.funfacegames.com", ffgCred_btn);
MochiServices.addLinkEvent("http://x.mochiads.com/link/64921d5886bc7129", "http://twitter.com/FunfaceGames", ffg_twit);
MochiServices.addLinkEvent("http://x.mochiads.com/link/7f2a2b37b6ddfe3e", "http://www.kongregate.com/games/funface/oroboros?gamereferral=zodiac-reactor", oroBtn);
MochiServices.addLinkEvent("http://x.mochiads.com/link/b9d58157fa7b5fff", "http://supersaimon.funfacegames.com", saiBtn);
MochiServices.addLinkEvent("http://x.mochiads.com/link/10899af8ebd04716", "http://flubber-rise.funfacegames.com", flubBtn);
MochiServices.addLinkEvent("http://x.mochiads.com/link/c36d509770dde2d3", "http://www.funfacegames.com/games/3DBB/", bbBtn);
}
public function rollout(_arg1:MouseEvent):void{
_arg1.currentTarget.alpha = 0.8;
}
public function rollover(_arg1:MouseEvent):void{
_arg1.currentTarget.alpha = 1;
SoundMan.bs1.play(0, 0, SoundMan.wtfST);
}
public function gamenav(_arg1:MouseEvent):void{
switch (_arg1.currentTarget.name){
case "bbBtn":
navigateToURL(bburl, "_blank");
break;
case "oroBtn":
navigateToURL(orourl, "_blank");
break;
case "saiBtn":
navigateToURL(saiurl, "_blank");
break;
case "flubBtn":
navigateToURL(fluburl, "_blank");
break;
};
}
}
}//package zodiac_fla
Section 50
//deathorb_flat_118 (zodiac_fla.deathorb_flat_118)
package zodiac_fla {
import flash.display.*;
public dynamic class deathorb_flat_118 extends MovieClip {
public var spikes:MovieClip;
public var overlay:MovieClip;
public var orbeyes:MovieClip;
}
}//package zodiac_fla
Section 51
//dorb_overlay_121 (zodiac_fla.dorb_overlay_121)
package zodiac_fla {
import flash.display.*;
public dynamic class dorb_overlay_121 extends MovieClip {
public function dorb_overlay_121(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5);
}
function frame3(){
this.stop();
}
function frame1(){
this.stop();
}
function frame4(){
this.stop();
}
function frame5(){
this.stop();
}
function frame2(){
this.stop();
}
}
}//package zodiac_fla
Section 52
//earthcore_8 (zodiac_fla.earthcore_8)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
import gameutil.*;
public dynamic class earthcore_8 extends MovieClip {
public var fadeup:Boolean;
public function earthcore_8(){
addFrameScript(0, frame1);
}
function frame1(){
fadeup = false;
this.addEventListener(Event.ENTER_FRAME, update);
}
public function update(_arg1:Event):void{
if (this.fadeup){
this.alpha = Math.min((this.alpha + (5 * Tick.ftime)), 1);
if (this.alpha == 1){
this.fadeup = false;
};
} else {
this.alpha = Math.max((this.alpha - (5 * Tick.ftime)), 0);
};
}
}
}//package zodiac_fla
Section 53
//epct_96 (zodiac_fla.epct_96)
package zodiac_fla {
import flash.display.*;
import flash.text.*;
public dynamic class epct_96 extends MovieClip {
public var pct:TextField;
}
}//package zodiac_fla
Section 54
//etbox_85 (zodiac_fla.etbox_85)
package zodiac_fla {
import flash.display.*;
public dynamic class etbox_85 extends MovieClip {
public var earthTile:MovieClip;
public function etbox_85(){
addFrameScript(0, frame1, 19, frame20);
}
function frame1(){
this.stop();
}
function frame20(){
this.stop();
}
}
}//package zodiac_fla
Section 55
//firecore_9 (zodiac_fla.firecore_9)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
import gameutil.*;
public dynamic class firecore_9 extends MovieClip {
public var fadeup:Boolean;
public function firecore_9(){
addFrameScript(0, frame1);
}
function frame1(){
fadeup = false;
this.addEventListener(Event.ENTER_FRAME, update);
}
public function update(_arg1:Event):void{
if (this.fadeup){
this.alpha = Math.min((this.alpha + (5 * Tick.ftime)), 1);
if (this.alpha == 1){
this.fadeup = false;
};
} else {
this.alpha = Math.max((this.alpha - (5 * Tick.ftime)), 0);
};
}
}
}//package zodiac_fla
Section 56
//fpct_95 (zodiac_fla.fpct_95)
package zodiac_fla {
import flash.display.*;
import flash.text.*;
public dynamic class fpct_95 extends MovieClip {
public var pct:TextField;
}
}//package zodiac_fla
Section 57
//ftbox_82 (zodiac_fla.ftbox_82)
package zodiac_fla {
import flash.display.*;
public dynamic class ftbox_82 extends MovieClip {
public var fireTile:MovieClip;
public function ftbox_82(){
addFrameScript(0, frame1, 19, frame20);
}
function frame1(){
this.stop();
}
function frame20(){
this.stop();
}
}
}//package zodiac_fla
Section 58
//game_options_106 (zodiac_fla.game_options_106)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import gameutil.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.ui.*;
import flash.filters.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class game_options_106 extends MovieClip {
public var hq:MovieClip;
public var pt_check:MovieClip;
public var back2title:MovieClip;
public var bg_check:MovieClip;
public var lq:MovieClip;
public var restartGame:MovieClip;
public var mq:MovieClip;
public function game_options_106(){
addFrameScript(0, frame1);
}
public function killEvents():void{
pt_check.removeEventListener(MouseEvent.MOUSE_OVER, roll);
pt_check.removeEventListener(MouseEvent.MOUSE_UP, up);
bg_check.removeEventListener(MouseEvent.MOUSE_OVER, roll);
bg_check.removeEventListener(MouseEvent.MOUSE_UP, up);
hq.removeEventListener(MouseEvent.MOUSE_OVER, roll);
hq.removeEventListener(MouseEvent.MOUSE_UP, doQuality);
mq.removeEventListener(MouseEvent.MOUSE_OVER, roll);
mq.removeEventListener(MouseEvent.MOUSE_UP, doQuality);
lq.removeEventListener(MouseEvent.MOUSE_OVER, roll);
lq.removeEventListener(MouseEvent.MOUSE_UP, doQuality);
restartGame.removeEventListener(MouseEvent.MOUSE_OVER, broll);
back2title.removeEventListener(MouseEvent.MOUSE_OVER, broll);
restartGame.removeEventListener(MouseEvent.MOUSE_OUT, bout);
back2title.removeEventListener(MouseEvent.MOUSE_OUT, bout);
restartGame.removeEventListener(MouseEvent.MOUSE_UP, up);
back2title.removeEventListener(MouseEvent.MOUSE_UP, up);
}
public function doQuality(_arg1:MouseEvent):void{
switch (_arg1.currentTarget.name){
case "hq":
Rotograv.timeline.stage.quality = "HIGH";
break;
case "mq":
Rotograv.timeline.stage.quality = "MEDIUM";
break;
case "lq":
Rotograv.timeline.stage.quality = "LOW";
break;
};
updateQcheckboxes();
}
function frame1(){
pt_check.buttonMode = true;
bg_check.buttonMode = true;
hq.buttonMode = true;
mq.buttonMode = true;
lq.buttonMode = true;
restartGame.buttonMode = true;
back2title.buttonMode = true;
pt_check.addEventListener(MouseEvent.MOUSE_OVER, roll);
pt_check.addEventListener(MouseEvent.MOUSE_UP, up);
bg_check.addEventListener(MouseEvent.MOUSE_OVER, roll);
bg_check.addEventListener(MouseEvent.MOUSE_UP, up);
hq.addEventListener(MouseEvent.MOUSE_OVER, roll);
hq.addEventListener(MouseEvent.MOUSE_UP, doQuality);
mq.addEventListener(MouseEvent.MOUSE_OVER, roll);
mq.addEventListener(MouseEvent.MOUSE_UP, doQuality);
lq.addEventListener(MouseEvent.MOUSE_OVER, roll);
lq.addEventListener(MouseEvent.MOUSE_UP, doQuality);
restartGame.addEventListener(MouseEvent.MOUSE_OVER, broll);
back2title.addEventListener(MouseEvent.MOUSE_OVER, broll);
restartGame.addEventListener(MouseEvent.MOUSE_OUT, bout);
back2title.addEventListener(MouseEvent.MOUSE_OUT, bout);
restartGame.addEventListener(MouseEvent.MOUSE_UP, up);
back2title.addEventListener(MouseEvent.MOUSE_UP, up);
updateQcheckboxes();
}
public function updateQcheckboxes():void{
switch (Rotograv.timeline.stage.quality){
case "LOW":
hq.gotoAndStop(2);
mq.gotoAndStop(2);
lq.gotoAndStop(1);
break;
case "MEDIUM":
hq.gotoAndStop(2);
mq.gotoAndStop(1);
lq.gotoAndStop(2);
break;
case "HIGH":
hq.gotoAndStop(1);
mq.gotoAndStop(2);
lq.gotoAndStop(2);
break;
};
if (Rotograv.trails){
pt_check.gotoAndStop(1);
} else {
pt_check.gotoAndStop(2);
};
if (Rotograv.moveBG){
bg_check.gotoAndStop(1);
} else {
bg_check.gotoAndStop(2);
};
}
public function roll(_arg1:MouseEvent):void{
SoundMan.bs1.play(0, 0, SoundMan.wtfST);
}
public function bout(_arg1:MouseEvent):void{
_arg1.currentTarget.alpha = 0.8;
}
public function up(_arg1:MouseEvent):void{
switch (_arg1.currentTarget.name){
case "pt_check":
Rotograv.trails = !(Rotograv.trails);
if (Rotograv.trails){
pt_check.gotoAndStop(1);
} else {
pt_check.gotoAndStop(2);
};
break;
case "bg_check":
Rotograv.moveBG = !(Rotograv.moveBG);
if (Rotograv.moveBG){
bg_check.gotoAndStop(1);
} else {
bg_check.gotoAndStop(2);
};
break;
case "restartGame":
Rotograv.gstate = "resetCurrentGame";
Rotograv.game.gameMenu.gotoAndPlay("outro");
killEvents();
break;
case "back2title":
Rotograv.gstate = "back2title";
Rotograv.game.gameMenu.gotoAndPlay("outro");
killEvents();
break;
};
}
public function broll(_arg1:MouseEvent):void{
SoundMan.bs1.play(0, 0, SoundMan.wtfST);
_arg1.currentTarget.alpha = 1;
}
}
}//package zodiac_fla
Section 59
//gameButtons_54 (zodiac_fla.gameButtons_54)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import gameutil.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.ui.*;
import flash.filters.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameButtons_54 extends MovieClip {
public var myoptions:MovieClip;
public var myaudio:MovieClip;
public var myhelp:MovieClip;
public function gameButtons_54(){
addFrameScript(0, frame1);
}
function frame1(){
myoptions.buttonMode = true;
myaudio.buttonMode = true;
myhelp.buttonMode = true;
myoptions.addEventListener(MouseEvent.MOUSE_OVER, roll);
myaudio.addEventListener(MouseEvent.MOUSE_OVER, roll);
myhelp.addEventListener(MouseEvent.MOUSE_OVER, roll);
myoptions.addEventListener(MouseEvent.MOUSE_OUT, leave);
myaudio.addEventListener(MouseEvent.MOUSE_OUT, leave);
myhelp.addEventListener(MouseEvent.MOUSE_OUT, leave);
myoptions.addEventListener(MouseEvent.MOUSE_UP, up);
myaudio.addEventListener(MouseEvent.MOUSE_UP, up);
myhelp.addEventListener(MouseEvent.MOUSE_UP, up);
this.addEventListener(Event.ENTER_FRAME, update);
}
public function roll(_arg1:MouseEvent):void{
if ((((Rotograv.gstate == "paused")) || ((Rotograv.gstate == "playing")))){
SoundMan.bs1.play(0, 0, SoundMan.wtfST);
myoptions.fadeup = false;
myaudio.fadeup = false;
myhelp.fadeup = false;
_arg1.currentTarget.fadeup = true;
switch (_arg1.currentTarget.name){
case "myoptions":
Rotograv.game.zodimeter.setAlpha(1);
break;
case "myaudio":
Rotograv.game.zodimeter.setAlpha(2);
break;
case "myhelp":
Rotograv.game.zodimeter.setAlpha(3);
break;
};
};
}
public function up(_arg1:MouseEvent):void{
if ((((Rotograv.gstate == "paused")) || ((Rotograv.gstate == "playing")))){
switch (_arg1.currentTarget.name){
case "myoptions":
if (Rotograv.game.gameMenu.currentLabel != "options"){
if (Rotograv.gstate != "paused"){
Rotograv.pauseall();
};
Rotograv.game.gameMenu.nav = "options";
if (Rotograv.game.gameMenu.readytoadvance){
Rotograv.game.gameMenu.gotoAndStop("options");
} else {
Rotograv.game.gameMenu.play();
};
};
break;
case "myaudio":
if (Rotograv.game.gameMenu.currentLabel != "audio"){
if (Rotograv.gstate != "paused"){
Rotograv.pauseall();
};
Rotograv.game.gameMenu.nav = "audio";
if (Rotograv.game.gameMenu.readytoadvance){
Rotograv.game.gameMenu.gotoAndStop("audio");
} else {
Rotograv.game.gameMenu.play();
};
};
break;
case "myhelp":
if (Rotograv.game.gameMenu.currentLabel != "help"){
if (Rotograv.gstate != "paused"){
Rotograv.pauseall();
};
Rotograv.game.gameMenu.nav = "help";
if (Rotograv.game.gameMenu.readytoadvance){
Rotograv.game.gameMenu.gotoAndStop("help");
} else {
Rotograv.game.gameMenu.play();
};
};
break;
};
Rotograv.game.setChildIndex(Rotograv.game.gameMenu, (Rotograv.game.numChildren - 1));
};
}
public function leave(_arg1:MouseEvent):void{
myoptions.myfadeup = false;
myaudio.fadeup = false;
myhelp.fadeup = false;
_arg1.currentTarget.fadeup = false;
Rotograv.game.zodimeter.setAlpha(0);
}
public function update(_arg1:Event):void{
if (myoptions.fadeup){
myoptions.alpha = Math.min((myoptions.alpha + 0.2), 0.4);
} else {
myoptions.alpha = Math.max((myoptions.alpha - 0.03), 0.1);
};
if (myaudio.fadeup){
myaudio.alpha = Math.min((myaudio.alpha + 0.2), 0.4);
} else {
if (!myaudio.fadeup){
myaudio.alpha = Math.max((myaudio.alpha - 0.03), 0.1);
};
};
if (myhelp.fadeup){
myhelp.alpha = Math.min((myhelp.alpha + 0.2), 0.5);
} else {
if (!myhelp.fadeup){
myhelp.alpha = Math.max((myhelp.alpha - 0.03), 0.1);
};
};
}
}
}//package zodiac_fla
Section 60
//gameMenu_70 (zodiac_fla.gameMenu_70)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import gameutil.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.ui.*;
import flash.filters.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameMenu_70 extends MovieClip {
public var menubg:MovieClip;
public var pauseScreen:MovieClip;
public var nav:String;
public var dclock:Number;
public var lupscreen:MovieClip;
public var tempscore:int;
public var audioctrls:MovieClip;
public var bscore:int;
public var bbar:MovieClip;
public var f:int;
public var l:int;
public var readytoadvance:Boolean;
public var bcs:MovieClip;
public var finished:Boolean;
public var choosegame:MovieClip;
public var v:Number;
public var tn:int;
public var gintros:MovieClip;
public var gameoverscreen:MovieClip;
public var subnavd:Boolean;
public var helpscreen:MovieClip;
public var pfct:Boolean;
public function gameMenu_70(){
addFrameScript(0, frame1, 19, frame20, 39, frame40, 40, frame41, 48, frame49, 56, frame57, 63, frame64, 67, frame68, 74, frame75, 79, frame80, 85, frame86, 95, frame96);
}
function frame75(){
this.stop();
readytoadvance = true;
bbar.cont.visible = true;
pauseScreen.smeter.sbar.width = ((Rotograv.shield / 100) * 132);
v = ((Rotograv.health / Rotograv.maxhealth) * 132);
f = Math.max((132 - Math.ceil(v)), 1);
pauseScreen.hmeter.sbar.width = f;
pauseScreen.torb_txt.text = (((Hud.totalCapturedOrbs + "/") + Rotograv.realorbs) + " elemental orbs captured.");
}
public function spinIt():void{
gintros.beambox.beams.rotation = (gintros.beambox.beams.rotation + (Tick.ftime * 10));
}
public function finishScore():void{
if (!finished){
SoundMan.pfin.play(0, 0, SoundMan.wtfST);
if (pfct){
SoundMan.multi.play(0, 0, SoundMan.wtfST);
bcs.bpfct.text = "Perfect = Double Bonus!";
bscore = (bscore * 2);
bcs.bpoints.text = ("Bonus: +" + Points.formatScore(bscore));
};
Points.mainscore = (Points.mainscore + bscore);
Points.parsepoints();
finished = true;
};
}
function frame80(){
this.stop();
readytoadvance = true;
bbar.cont.visible = true;
}
function frame86(){
this.stop();
Rotograv.gintrosReady = true;
readytoadvance = true;
bbar.cont.visible = true;
SoundMan.specSnd.play(0, 0, SoundMan.wtfST);
l = Rotograv.level;
if (l == -1){
l = 1;
} else {
l++;
};
Rotograv.game.myfps.text = ("level " + l);
tn = Rotograv.typenum;
if (tn > 2){
tn = 0;
};
gintros.gotoAndStop((tn + 1));
}
function frame41(){
this.stop();
bbar.cont.visible = true;
lupscreen.fbar.width = 1;
lupscreen.ebar.width = 1;
lupscreen.abar.width = 1;
lupscreen.wbar.width = 1;
lupscreen.fpct.x = lupscreen.fbar.x;
lupscreen.epct.x = lupscreen.ebar.x;
lupscreen.apct.x = lupscreen.abar.x;
lupscreen.wpct.x = lupscreen.wbar.x;
resetTiles();
Rotograv.lupready = true;
if (Points.kongame){
Points.submitkongscore();
};
readytoadvance = true;
}
function frame64(){
this.stop();
readytoadvance = true;
bbar.cont.visible = true;
}
public function navout():void{
this.gotoAndPlay("outro");
bbar.cont.removeEventListener(MouseEvent.MOUSE_UP, clicknav);
}
public function resetTiles():void{
lupscreen.fireTile.gotoAndStop(1);
lupscreen.earthTile.gotoAndStop(1);
lupscreen.airTile.gotoAndStop(1);
lupscreen.waterTile.gotoAndStop(1);
lupscreen.fireTile.activated = false;
lupscreen.earthTile.activated = false;
lupscreen.airTile.activated = false;
lupscreen.waterTile.activated = false;
}
function frame96(){
this.stop();
readytoadvance = true;
bbar.cont.visible = true;
pfct = false;
if (Rotograv.bOrbsCaptured == 100){
pfct = true;
Points.submitkongstat("Perfect SpeedRound", 1);
};
Points.submitkongstat("SpeedRound Captures", Rotograv.bOrbsCaptured);
bscore = (Rotograv.bOrbsCaptured * 500);
bcs.bpoints.text = "Bonus: +0";
bcs.bpfct.text = "";
bcs.bstats.text = (("You captured " + Rotograv.bOrbsCaptured) + "/100 Speed Orbs!");
dclock = 0;
tempscore = 0;
finished = false;
Rotograv.bonusReady = true;
}
function frame1(){
this.stop();
nav = "level up";
readytoadvance = false;
}
function frame40(){
Rotograv.bonusReady = false;
if (Rotograv.gstate == "levelcomplete"){
Rotograv.gstate = "lupcomplete";
} else {
if (Rotograv.gstate == "dead"){
if ((((nav == "loserScore")) || ((nav == "winScore")))){
Rotograv.purgeall("win");
} else {
Rotograv.purgeall();
};
} else {
if ((((Rotograv.gstate == "paused")) && (!((Rotograv.game.tutorial.alpha == 1))))){
Rotograv.unpause();
} else {
if (Rotograv.gstate == "resetCurrentGame"){
Rotograv.restartCurrentGame();
} else {
if (Rotograv.gstate == "back2title"){
Rotograv.gotoTitle();
};
};
};
};
};
this.gotoAndStop(1);
}
function frame20(){
this.stop();
subnavd = false;
Rotograv.game.setChildIndex(this, (Rotograv.game.numChildren - 1));
bbar.cont.buttonMode = true;
bbar.cont.addEventListener(MouseEvent.MOUSE_UP, clicknav);
this.gotoAndStop(this.nav);
}
public function clicknav(_arg1:MouseEvent=null, _arg2:String="", _arg3:String="story"):void{
var _local4:Sound;
var _local5:SoundTransform;
if (_arg2 != ""){
nav = _arg2;
};
if (nav == "gameover"){
SoundMan.crossfade("amb");
navout();
} else {
if (nav == "choose game"){
switch (_arg3){
case "story":
Rotograv.gametype = "story";
Points.gameMode = 1;
_local4 = SoundMan.music;
break;
case "quad":
Rotograv.gametype = "quad";
Points.gameMode = 2;
_local4 = SoundMan.music;
Rotograv.isTutorial = false;
Rotograv.level = 0;
break;
case "orbit":
Rotograv.gametype = "orbit";
Points.gameMode = 3;
_local4 = SoundMan.music;
Rotograv.isTutorial = false;
Rotograv.level = 0;
break;
case "terminal":
Rotograv.gametype = "terminal";
Points.gameMode = 4;
_local4 = SoundMan.terminal;
Rotograv.isTutorial = false;
Rotograv.level = 0;
break;
};
if (SoundMan.musicstarted){
SoundMan.musicchan.stop();
};
SoundMan.ambfadeup = false;
_local5 = SoundMan.musicchan.soundTransform;
_local5.volume = 0;
SoundMan.musicvol = 0;
SoundMan.musicchan = _local4.play(0, 999, _local5);
Rotograv.mybpm.init();
SoundMan.crossfade("music");
SoundMan.musicstarted = true;
Rotograv.startlevel();
choosegame.killEvents();
navout();
} else {
if (nav == "help"){
helpscreen.tnext.removeEventListener(MouseEvent.MOUSE_UP, helpscreen.advance);
helpscreen.tprev.removeEventListener(MouseEvent.MOUSE_UP, helpscreen.backup);
navout();
} else {
if (nav == "audio"){
audioctrls.musicmute.removeEventListener(MouseEvent.MOUSE_UP, audioctrls.mutesong);
audioctrls.sfxmute.removeEventListener(MouseEvent.MOUSE_UP, audioctrls.mutesfx);
audioctrls.sfxknob.removeEventListener(MouseEvent.MOUSE_OUT, audioctrls.rollout);
audioctrls.sfxknob.removeEventListener(MouseEvent.MOUSE_DOWN, audioctrls.mousedown);
audioctrls.sfxknob.removeEventListener(MouseEvent.MOUSE_UP, audioctrls.mouseup);
audioctrls.sfxknob.removeEventListener(Event.ENTER_FRAME, audioctrls.updatesfx);
audioctrls.musicknob.removeEventListener(MouseEvent.MOUSE_OUT, audioctrls.rollout);
audioctrls.musicknob.removeEventListener(MouseEvent.MOUSE_DOWN, audioctrls.mousedown);
audioctrls.musicknob.removeEventListener(MouseEvent.MOUSE_UP, audioctrls.mouseup);
audioctrls.musicknob.removeEventListener(Event.ENTER_FRAME, audioctrls.updatemusic);
navout();
} else {
if (nav == "bonus Complete"){
if (!finished){
finishScore();
} else {
if (!subnavd){
if (Rotograv.myhud.checkWin()){
navout();
} else {
this.gotoAndStop("gameIntros");
subnavd = true;
};
} else {
navout();
};
};
} else {
if (nav == "level up"){
if (!subnavd){
Rotograv.myhud.deactivateTiles();
Rotograv.lupready = false;
if (((Rotograv.isTutorial) && (!((Rotograv.tutLevel == 3))))){
navout();
} else {
if (Rotograv.myhud.checkWin()){
navout();
} else {
if (Rotograv.typenum == -1){
Rotograv.typenum = 0;
};
this.gotoAndStop("gameIntros");
subnavd = true;
};
};
} else {
navout();
};
} else {
navout();
};
};
};
};
};
};
}
function frame49(){
this.stop();
readytoadvance = true;
bbar.cont.visible = false;
}
public function updateBonus():void{
bcs.beambox.beams.rotation = (bcs.beambox.beams.rotation + (Tick.ftime * 10));
if (!finished){
dclock = (dclock + Tick.ftime);
if (dclock > 0.01){
tempscore = Math.min((tempscore + 435), bscore);
bcs.bpoints.text = ("Bonus: +" + Points.formatScore(tempscore));
SoundMan.pntfill.play(0, 0, SoundMan.wtfST);
if (tempscore == bscore){
finishScore();
};
dclock = 0;
};
};
}
function frame57(){
this.stop();
readytoadvance = true;
bbar.cont.visible = true;
}
function frame68(){
this.stop();
readytoadvance = true;
choosegame.x = 0;
choosegame.y = -85;
choosegame.visible = true;
bbar.cont.visible = true;
}
}
}//package zodiac_fla
Section 61
//gameoverscreen_102 (zodiac_fla.gameoverscreen_102)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import gameutil.*;
import mochi.as3.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.ui.*;
import flash.filters.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameoverscreen_102 extends MovieClip {
public var back_btn:MovieClip;
public var go_score:TextField;
public var kong_btn:MovieClip;
public var sub_btn:MovieClip;
public function gameoverscreen_102(){
addFrameScript(0, frame1);
}
public function killEvents():void{
sub_btn.removeEventListener(MouseEvent.MOUSE_OVER, roll);
sub_btn.removeEventListener(MouseEvent.MOUSE_OUT, out);
sub_btn.removeEventListener(MouseEvent.MOUSE_UP, up);
back_btn.removeEventListener(MouseEvent.MOUSE_OVER, roll);
back_btn.removeEventListener(MouseEvent.MOUSE_OUT, out);
back_btn.removeEventListener(MouseEvent.MOUSE_UP, up);
}
public function out(_arg1:MouseEvent):void{
_arg1.currentTarget.alpha = 0.8;
}
function frame1(){
MochiServices.addLinkEvent("http://x.mochiads.com/link/80bdd3212619fafa", "http://www.kongregate.com/?gamereferral=zodiac-reactor", kong_btn);
sub_btn.buttonMode = true;
back_btn.buttonMode = true;
go_score.text = Points.formatScore();
sub_btn.addEventListener(MouseEvent.MOUSE_OVER, roll);
sub_btn.addEventListener(MouseEvent.MOUSE_OUT, out);
sub_btn.addEventListener(MouseEvent.MOUSE_UP, up);
back_btn.addEventListener(MouseEvent.MOUSE_OVER, roll);
back_btn.addEventListener(MouseEvent.MOUSE_OUT, out);
back_btn.addEventListener(MouseEvent.MOUSE_UP, up);
}
public function roll(_arg1:MouseEvent):void{
_arg1.currentTarget.alpha = 1;
SoundMan.bs1.play(0, 0, SoundMan.wtfST);
}
public function up(_arg1:MouseEvent):void{
switch (_arg1.currentTarget.name){
case "sub_btn":
if (Rotograv.myhud.checkWin()){
Rotograv.gameoverState = "winScore";
} else {
Rotograv.gameoverState = "loserScore";
};
Rotograv.game.gameMenu.clicknav(null, Rotograv.gameoverState);
break;
case "back_btn":
Rotograv.game.gameMenu.clicknav();
break;
};
killEvents();
}
}
}//package zodiac_fla
Section 62
//gateanim_11 (zodiac_fla.gateanim_11)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
public dynamic class gateanim_11 extends MovieClip {
public var opening;
public function gateanim_11(){
addFrameScript(0, frame1);
}
function frame1(){
this.stop();
opening = false;
this.addEventListener(Event.ENTER_FRAME, update);
}
public function update(_arg1:Event):void{
if (opening){
this.gotoAndStop((this.currentFrame + 1));
} else {
this.gotoAndStop((this.currentFrame - 1));
};
}
}
}//package zodiac_fla
Section 63
//geminiSign_36 (zodiac_fla.geminiSign_36)
package zodiac_fla {
import flash.display.*;
public dynamic class geminiSign_36 extends MovieClip {
public function geminiSign_36(){
addFrameScript(0, frame1, 9, frame10);
}
function frame10(){
this.stop();
}
function frame1(){
this.stop();
}
}
}//package zodiac_fla
Section 64
//healthMeter_134 (zodiac_fla.healthMeter_134)
package zodiac_fla {
import flash.display.*;
public dynamic class healthMeter_134 extends MovieClip {
public var sbar:MovieClip;
}
}//package zodiac_fla
Section 65
//helproll_55 (zodiac_fla.helproll_55)
package zodiac_fla {
import flash.display.*;
public dynamic class helproll_55 extends MovieClip {
public var fadeup:Boolean;
public function helproll_55(){
addFrameScript(0, frame1);
}
function frame1(){
fadeup = false;
}
}
}//package zodiac_fla
Section 66
//helpscreen_110 (zodiac_fla.helpscreen_110)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
public dynamic class helpscreen_110 extends MovieClip {
public var circarea:MovieClip;
public var tnext:MovieClip;
public var tprev:MovieClip;
public function helpscreen_110(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
this.stop();
}
function frame1(){
this.stop();
tnext.buttonMode = true;
tprev.buttonMode = true;
tnext.addEventListener(MouseEvent.MOUSE_UP, advance);
tprev.addEventListener(MouseEvent.MOUSE_UP, backup);
}
function frame2(){
this.stop();
}
public function advance(_arg1:MouseEvent):void{
if (this.currentFrame < this.totalFrames){
this.gotoAndStop((this.currentFrame + 1));
} else {
this.gotoAndStop(1);
};
}
public function backup(_arg1:MouseEvent):void{
if (this.currentFrame > 1){
this.gotoAndStop((this.currentFrame - 1));
} else {
this.gotoAndStop(this.totalFrames);
};
}
}
}//package zodiac_fla
Section 67
//highScoreMC_187 (zodiac_fla.highScoreMC_187)
package zodiac_fla {
import flash.display.*;
public dynamic class highScoreMC_187 extends MovieClip {
public var back_btn:MovieClip;
public var lb_btn:MovieClip;
public var hs_tf:MovieClip;
public var kong_btn:MovieClip;
public var title_mc:MovieClip;
public var sub_btn:MovieClip;
}
}//package zodiac_fla
Section 68
//hs_textFields_192 (zodiac_fla.hs_textFields_192)
package zodiac_fla {
import flash.display.*;
import flash.text.*;
public dynamic class hs_textFields_192 extends MovieClip {
public var pname_txt:TextField;
public var combo_txt:TextField;
public var score_txt:TextField;
public var comment_txt:TextField;
public var element_txt:TextField;
}
}//package zodiac_fla
Section 69
//in_148 (zodiac_fla.in_148)
package zodiac_fla {
import flash.display.*;
public dynamic class in_148 extends MovieClip {
public var skip_btn:MovieClip;
public var cont_btn:MovieClip;
public function in_148(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9);
}
function frame3(){
this.stop();
}
function frame6(){
this.stop();
}
function frame7(){
this.stop();
}
function frame1(){
this.stop();
}
function frame4(){
this.stop();
}
function frame5(){
this.stop();
}
function frame9(){
this.stop();
}
function frame8(){
this.stop();
}
function frame2(){
this.stop();
}
}
}//package zodiac_fla
Section 70
//introanimation_220 (zodiac_fla.introanimation_220)
package zodiac_fla {
import flash.display.*;
public dynamic class introanimation_220 extends MovieClip {
public var ffgComplete:Boolean;
public var bang2:MovieClip;
public var bangl:MovieClip;
public var rp:MovieClip;
public var lp:MovieClip;
public var less:MovieClip;
public var us:MovieClip;
public var great:MovieClip;
public function introanimation_220(){
addFrameScript(0, frame1, 176, frame177);
}
function frame177(){
this.stop();
ffgComplete = true;
}
function frame1(){
ffgComplete = false;
}
}
}//package zodiac_fla
Section 71
//knobclip_136 (zodiac_fla.knobclip_136)
package zodiac_fla {
import flash.display.*;
public dynamic class knobclip_136 extends MovieClip {
public var oldx:Number;
public var knobmask:MovieClip;
public var knob:MovieClip;
public var mdown:Boolean;
public var glow:MovieClip;
public function knobclip_136(){
addFrameScript(0, frame1);
}
function frame1(){
mdown = false;
oldx = 0;
}
}
}//package zodiac_fla
Section 72
//leftPanel_65 (zodiac_fla.leftPanel_65)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
import gameutil.*;
public dynamic class leftPanel_65 extends MovieClip {
public var fadeMulti:Boolean;
public var hactive:Boolean;
public var multiactive:Boolean;
public var arrows:MovieClip;
public var helper:MovieClip;
public var mclock:Number;
public var hspeed:Number;
public var multibox:MovieClip;
public var happear:Boolean;
public function leftPanel_65(){
addFrameScript(0, frame1);
}
function frame1(){
arrows.alpha = 1;
this.addEventListener(Event.ENTER_FRAME, updatepanel);
hactive = false;
happear = false;
hspeed = 1;
fadeMulti = false;
mclock = 0;
multiactive = false;
}
public function updatepanel(_arg1:Event):void{
if (multiactive){
if (fadeMulti){
multibox.alpha = Math.min((multibox.alpha + 0.1), 1);
arrows.alpha = Math.max((arrows.alpha - 0.1), 0);
} else {
arrows.alpha = Math.min((arrows.alpha + 0.1), 1);
multibox.alpha = Math.max((multibox.alpha - 0.1), 0);
if (multibox.alpha == 0){
multiactive = false;
};
};
mclock = (mclock + Tick.ftime);
if (mclock > 5){
mclock = 0;
fadeMulti = false;
};
};
if (hactive){
hspeed = Math.min((hspeed * 1.1), 200);
if (happear){
helper.x = Math.min((helper.x + hspeed), -55);
if (helper.x == -55){
hactive = false;
};
} else {
helper.x = Math.max((helper.x - hspeed), -145);
if (helper.x == -145){
hactive = false;
};
};
};
}
}
}//package zodiac_fla
Section 73
//leoSign_41 (zodiac_fla.leoSign_41)
package zodiac_fla {
import flash.display.*;
public dynamic class leoSign_41 extends MovieClip {
public function leoSign_41(){
addFrameScript(0, frame1, 9, frame10);
}
function frame10(){
this.stop();
}
function frame1(){
this.stop();
}
}
}//package zodiac_fla
Section 74
//levelupScreen_76 (zodiac_fla.levelupScreen_76)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.ui.*;
import flash.filters.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class levelupScreen_76 extends MovieClip {
public var fireTile:MovieClip;
public var earthhit:MovieClip;
public var airhit:MovieClip;
public var wpct:MovieClip;
public var waterhit:MovieClip;
public var traceblur:MovieClip;
public var earthTile:MovieClip;
public var wbar:MovieClip;
public var airTile:MovieClip;
public var tips:MovieClip;
public var epct:MovieClip;
public var abar:MovieClip;
public var waterTile:MovieClip;
public var ebar:MovieClip;
public var firehit:MovieClip;
public var mloc:Point;
public var fpct:MovieClip;
public var apct:MovieClip;
public var fbar:MovieClip;
public function levelupScreen_76(){
addFrameScript(0, frame1);
}
function frame1(){
fireTile.activated = false;
earthTile.activated = false;
airTile.activated = false;
waterTile.activated = false;
tips.fadeup = false;
mloc = new Point();
this.addEventListener(Event.ENTER_FRAME, update);
}
public function update(_arg1:Event):void{
if (Rotograv.gstate == "levelcomplete"){
mloc = this.localToGlobal(new Point(this.mouseX, this.mouseY));
if (firehit.hitTestPoint(mloc.x, mloc.y, false)){
tips.gotoAndStop(1);
tips.fadeup = true;
} else {
if (earthhit.hitTestPoint(mloc.x, mloc.y, false)){
tips.gotoAndStop(2);
tips.fadeup = true;
} else {
if (airhit.hitTestPoint(mloc.x, mloc.y, false)){
tips.gotoAndStop(3);
tips.fadeup = true;
} else {
if (waterhit.hitTestPoint(mloc.x, mloc.y, false)){
tips.gotoAndStop(4);
tips.fadeup = true;
} else {
tips.fadeup = false;
};
};
};
};
tips.x = (tips.x + (((this.mouseX - tips.x) - 75) * 0.1));
tips.y = (tips.y + (((this.mouseY - tips.y) - 30) * 0.1));
if (tips.fadeup){
tips.alpha = Math.min((tips.alpha + 0.1), 1);
} else {
tips.alpha = Math.max((tips.alpha - 0.1), 0);
};
};
}
}
}//package zodiac_fla
Section 75
//libraSign_35 (zodiac_fla.libraSign_35)
package zodiac_fla {
import flash.display.*;
public dynamic class libraSign_35 extends MovieClip {
public function libraSign_35(){
addFrameScript(0, frame1, 9, frame10);
}
function frame10(){
this.stop();
}
function frame1(){
this.stop();
}
}
}//package zodiac_fla
Section 76
//lightring_46 (zodiac_fla.lightring_46)
package zodiac_fla {
import flash.display.*;
public dynamic class lightring_46 extends MovieClip {
public var b10:MovieClip;
public var b14:MovieClip;
public var b13:MovieClip;
public var b15:MovieClip;
public var b16:MovieClip;
public var b2:MovieClip;
public var b4:MovieClip;
public var b9:MovieClip;
public var b5:MovieClip;
public var b6:MovieClip;
public var b7:MovieClip;
public var b1:MovieClip;
public var b3:MovieClip;
public var b8:MovieClip;
public var b12:MovieClip;
public var b11:MovieClip;
public var mlights:MovieClip;
}
}//package zodiac_fla
Section 77
//mainMenu_153 (zodiac_fla.mainMenu_153)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import fx.*;
import gameutil.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.ui.*;
import flash.filters.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class mainMenu_153 extends MovieClip {
public var play_bmp:MovieClip;
public var titleScreen:MovieClip;
public var cred_bmp:MovieClip;
public var menuactive:Boolean;
public var cred_mc:MovieClip;
public var credBtn:MovieClip;
public var hsBtn:MovieClip;
public var hs_bmp:MovieClip;
public var playBtn:MovieClip;
public var url1:URLRequest;
public var url2:URLRequest;
public var pmg_bmp:MovieClip;
public var pmgBtn:MovieClip;
public function mainMenu_153(){
addFrameScript(0, frame1, 29, frame30);
}
public function killEvents():void{
playBtn.removeEventListener(MouseEvent.MOUSE_UP, navigate);
playBtn.removeEventListener(MouseEvent.MOUSE_OVER, rollover);
playBtn.removeEventListener(MouseEvent.MOUSE_OUT, rollout);
hsBtn.removeEventListener(MouseEvent.MOUSE_UP, hsnav);
hsBtn.removeEventListener(MouseEvent.MOUSE_OVER, rollover);
hsBtn.removeEventListener(MouseEvent.MOUSE_OUT, rollout);
credBtn.removeEventListener(MouseEvent.MOUSE_UP, showCreds);
credBtn.removeEventListener(MouseEvent.MOUSE_OVER, rollover);
credBtn.removeEventListener(MouseEvent.MOUSE_OUT, rollout);
pmgBtn.removeEventListener(MouseEvent.MOUSE_UP, gotoSponsor);
pmgBtn.removeEventListener(MouseEvent.MOUSE_OVER, rollover);
pmgBtn.removeEventListener(MouseEvent.MOUSE_OUT, rollout);
}
public function addEvents():void{
var _local1:FXsys;
var _local2:FXsys;
url1 = new URLRequest("http://www.kongregate.com/?gamereferral=zodiac-reactor");
url2 = new URLRequest("http://www.funfacegames.com/games/zodiac-reactor/hiscores.php");
_local1 = new FXsys(new Point(0, 136), this, "implosion", true);
_local2 = new FXsys(new Point(0, 135), this, "column", true);
cred_mc.visible = false;
cred_mc.x = -2000;
cred_mc.y = -2000;
menuactive = true;
playBtn.tabEnabled = false;
hsBtn.tabEnabled = false;
credBtn.tabEnabled = false;
pmgBtn.tabEnabled = false;
playBtn.buttonMode = true;
hsBtn.buttonMode = true;
credBtn.buttonMode = true;
pmgBtn.buttonMode = true;
playBtn.addEventListener(MouseEvent.MOUSE_UP, navigate);
playBtn.addEventListener(MouseEvent.MOUSE_OVER, rollover);
playBtn.addEventListener(MouseEvent.MOUSE_OUT, rollout);
hsBtn.addEventListener(MouseEvent.MOUSE_UP, hsnav);
hsBtn.addEventListener(MouseEvent.MOUSE_OVER, rollover);
hsBtn.addEventListener(MouseEvent.MOUSE_OUT, rollout);
credBtn.addEventListener(MouseEvent.MOUSE_UP, showCreds);
credBtn.addEventListener(MouseEvent.MOUSE_OVER, rollover);
credBtn.addEventListener(MouseEvent.MOUSE_OUT, rollout);
pmgBtn.addEventListener(MouseEvent.MOUSE_UP, gotoSponsor);
pmgBtn.addEventListener(MouseEvent.MOUSE_OVER, rollover);
pmgBtn.addEventListener(MouseEvent.MOUSE_OUT, rollout);
Rotograv.timeline.window.alpha = 0;
}
public function gotoSponsor(_arg1:MouseEvent):void{
if (menuactive){
navigateToURL(url1);
};
}
public function hsnav(_arg1:MouseEvent):void{
var _local2:*;
_local2 = "wtf";
if (menuactive){
navigateToURL(url2);
};
}
function frame1(){
menuactive = true;
url1 = new URLRequest("http://www.kongregate.com/?gamereferral=zodiac-reactor");
url2 = new URLRequest("http://www.funfacegames.com/games/zodiac-reactor/hiscores.php");
}
public function navigate(_arg1:MouseEvent):void{
if (menuactive){
Particle.killAll();
Rotograv.ready = true;
this.visible = false;
killEvents();
};
}
function frame30(){
this.stop();
cred_mc.alpha = 1;
}
public function rollout(_arg1:MouseEvent):void{
if (menuactive){
switch (_arg1.currentTarget.name){
case "pmgBtn":
pmg_bmp.alpha = 0.7;
break;
case "credBtn":
cred_bmp.alpha = 0.7;
break;
case "hsBtn":
hs_bmp.alpha = 0.7;
break;
case "playBtn":
play_bmp.alpha = 0.7;
break;
};
};
}
public function rollover(_arg1:MouseEvent):void{
if (menuactive){
switch (_arg1.currentTarget.name){
case "pmgBtn":
pmg_bmp.alpha = 1;
break;
case "credBtn":
cred_bmp.alpha = 1;
break;
case "hsBtn":
hs_bmp.alpha = 1;
break;
case "playBtn":
play_bmp.alpha = 1;
break;
};
SoundMan.bs1.play(0, 0, SoundMan.wtfST);
};
}
public function showMainMenu():void{
menuactive = true;
playBtn.buttonMode = true;
hsBtn.buttonMode = true;
credBtn.buttonMode = true;
pmgBtn.buttonMode = true;
play_bmp.alpha = 0.7;
hs_bmp.alpha = 0.7;
cred_bmp.alpha = 0.7;
pmg_bmp.alpha = 0.7;
}
public function showCreds(_arg1:MouseEvent):void{
menuactive = false;
playBtn.buttonMode = false;
hsBtn.buttonMode = false;
credBtn.buttonMode = false;
pmgBtn.buttonMode = false;
play_bmp.alpha = 0;
hs_bmp.alpha = 0;
cred_bmp.alpha = 0;
pmg_bmp.alpha = 0;
cred_mc.showMe();
}
}
}//package zodiac_fla
Section 78
//mainmeter_43 (zodiac_fla.mainmeter_43)
package zodiac_fla {
import flash.display.*;
public dynamic class mainmeter_43 extends MovieClip {
public function mainmeter_43(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package zodiac_fla
Section 79
//MainTimeline (zodiac_fla.MainTimeline)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import fx.*;
import gameutil.*;
import mochi.as3.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.ui.*;
import flash.filters.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class MainTimeline extends MovieClip {
public var space_bg:MovieClip;
public var nh_btn:MovieClip;
public var assets:MovieClip;
public var num:int;
public var mainmenu:MovieClip;
public var ffg:MovieClip;
public var win_anim:MovieClip;
public var myMochiclip:MovieClip;
public var myloader:MovieClip;
public var isLoaded:Boolean;
public var kintro:MovieClip;
public var window:MovieClip;
public function MainTimeline(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 19, frame20);
}
public function mochiPLAcomplete():void{
MochiBot.track(this, "860469a9");
this.gotoAndStop("sponsorad");
Particle.initBD();
Orb.init();
}
public function lupdate(_arg1:Event):void{
var _local2:Number;
if (!isLoaded){
_local2 = (loaderInfo.bytesLoaded / loaderInfo.bytesTotal);
myloader.l_txt.text = (int((_local2 * 100)) + "%");
myloader.l_bar.width = (_local2 * 186);
if (loaderInfo.bytesLoaded == loaderInfo.bytesTotal){
myloader.visible = false;
myloader.x = -1000;
MochiBot.track(this, "860469a9");
Particle.initBD();
Orb.init();
isLoaded = true;
myloader.removeEventListener(Event.ENTER_FRAME, lupdate);
this.gotoAndStop("sponsorad");
};
};
}
function frame3(){
this.stop();
SoundMan.init();
Rotograv.gstate = "intro";
Rotograv.introfinished = false;
ffg = new ffgIntro();
ffg.x = 0x0100;
ffg.y = 200;
addChild(ffg);
ffg.addEventListener(Event.ENTER_FRAME, ffgEF);
}
function frame6(){
this.stop();
}
function frame7(){
this.stop();
}
function frame1(){
this.stop();
Rotograv.init(this);
Points.init();
MochiServices.connect("d5d7f2d665fa5150", this, onConnectError);
if (Rotograv.mochiok){
myloader.visible = false;
myloader.x = -1000;
} else {
myloader.visible = true;
myloader.addEventListener(Event.ENTER_FRAME, lupdate);
};
num = 0;
isLoaded = false;
if (Rotograv.mochiok){
myMochiclip = new MovieClip();
addChild(myMochiclip);
MochiAd.showPreGameAd({clip:myMochiclip, id:"d5d7f2d665fa5150", res:"512x512", background:0xFFFFFF, color:0x6600FF, outline:10995363, no_bg:true, ad_finished:mochiPLAcomplete});
};
}
function frame4(){
this.stop();
Rotograv.gstate = "menu";
SoundMan.ambchan = SoundMan.ambsnd.play(0, 999);
mainmenu.visible = true;
mainmenu.gotoAndPlay(2);
stage.frameRate = 50;
mainmenu.addEvents();
}
function frame5(){
this.stop();
}
function frame2(){
this.stop();
kintro = new Kongintro();
kintro.x = 0x0100;
kintro.y = 0x0100;
addChild(kintro);
kintro.addEventListener(Event.ENTER_FRAME, kongEF);
kintro.konghit.buttonMode = true;
MochiServices.addLinkEvent("http://x.mochiads.com/link/80bdd3212619fafa", "http://www.kongregate.com/?gamereferral=zodiac-reactor", kintro.konghit);
}
public function ffgEF(_arg1:Event):void{
if (ffg.ffgAnim.ffgComplete){
ffg.removeEventListener(Event.ENTER_FRAME, ffgEF);
Rotograv.introfinished = true;
};
}
function frame8(){
this.stop();
}
public function onConnectError(){
}
public function kongEF(_arg1:Event):void{
if (kintro.kongComplete){
kintro.removeEventListener(Event.ENTER_FRAME, kongEF);
kintro.x = -1000;
kintro.y = -1000;
kintro.visible = false;
removeChild(kintro);
this.gotoAndStop("ffg intro");
};
}
function frame20(){
this.stop();
MochiServices.addLinkEvent("http://x.mochiads.com/link/69f8a846db819900", "http://www.kongregate.com/games/funface/zodiac-reactor?gamereferral=zodiac-reactor", nh_btn);
}
}
}//package zodiac_fla
Section 80
//menulightMask_75 (zodiac_fla.menulightMask_75)
package zodiac_fla {
import flash.display.*;
public dynamic class menulightMask_75 extends MovieClip {
public function menulightMask_75(){
addFrameScript(14, frame15);
}
function frame15(){
stop();
}
}
}//package zodiac_fla
Section 81
//multibox_68 (zodiac_fla.multibox_68)
package zodiac_fla {
import flash.display.*;
import flash.text.*;
public dynamic class multibox_68 extends MovieClip {
public var multi_txt:TextField;
public var b_multi_txt:TextField;
public function multibox_68(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
this.stop();
}
function frame2(){
this.stop();
}
}
}//package zodiac_fla
Section 82
//mutebtn_143 (zodiac_fla.mutebtn_143)
package zodiac_fla {
import flash.display.*;
public dynamic class mutebtn_143 extends MovieClip {
public function mutebtn_143(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package zodiac_fla
Section 83
//myloader_1 (zodiac_fla.myloader_1)
package zodiac_fla {
import flash.display.*;
import flash.text.*;
public dynamic class myloader_1 extends MovieClip {
public var l_txt:TextField;
public var l_bar:MovieClip;
}
}//package zodiac_fla
Section 84
//normalButton_124 (zodiac_fla.normalButton_124)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
public dynamic class normalButton_124 extends MovieClip {
public var active:Boolean;
public var vid:MovieClip;
public var buttonCover:MovieClip;
public function normalButton_124(){
addFrameScript(0, frame1);
}
function frame1(){
active = false;
vid.stop();
this.addEventListener(Event.ENTER_FRAME, loop);
}
public function loop(_arg1:Event):void{
if (active){
buttonCover.alpha = Math.max((buttonCover.alpha - 0.1), 0);
} else {
buttonCover.alpha = Math.min((buttonCover.alpha + 0.1), 0.8);
};
}
}
}//package zodiac_fla
Section 85
//numanim_51 (zodiac_fla.numanim_51)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
public dynamic class numanim_51 extends MovieClip {
public var frm:Number;
public var tf:int;
public function numanim_51(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
tf = 1;
frm = 1;
this.addEventListener(Event.ENTER_FRAME, update);
}
public function update(_arg1:Event):void{
var _local2:Number;
_local2 = ((tf - frm) * 0.3);
frm = (frm + _local2);
if (frm > tf){
this.gotoAndStop(Math.floor(frm));
} else {
this.gotoAndStop(Math.ceil(frm));
};
}
}
}//package zodiac_fla
Section 86
//optionsroll_57 (zodiac_fla.optionsroll_57)
package zodiac_fla {
import flash.display.*;
public dynamic class optionsroll_57 extends MovieClip {
public var fadeup:Boolean;
public function optionsroll_57(){
addFrameScript(0, frame1);
}
function frame1(){
fadeup = false;
}
}
}//package zodiac_fla
Section 87
//orbitButton_127 (zodiac_fla.orbitButton_127)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
public dynamic class orbitButton_127 extends MovieClip {
public var active:Boolean;
public var vid:MovieClip;
public var buttonCover:MovieClip;
public function orbitButton_127(){
addFrameScript(0, frame1);
}
function frame1(){
active = false;
vid.stop();
this.addEventListener(Event.ENTER_FRAME, loop);
}
public function loop(_arg1:Event):void{
if (active){
buttonCover.alpha = Math.max((buttonCover.alpha - 0.1), 0);
} else {
buttonCover.alpha = Math.min((buttonCover.alpha + 0.1), 0.8);
};
}
}
}//package zodiac_fla
Section 88
//pause_screen_133 (zodiac_fla.pause_screen_133)
package zodiac_fla {
import flash.display.*;
import flash.text.*;
public dynamic class pause_screen_133 extends MovieClip {
public var torb_txt:TextField;
public var hmeter:MovieClip;
public var smeter:MovieClip;
}
}//package zodiac_fla
Section 89
//piscesSign_31 (zodiac_fla.piscesSign_31)
package zodiac_fla {
import flash.display.*;
public dynamic class piscesSign_31 extends MovieClip {
public function piscesSign_31(){
addFrameScript(0, frame1, 9, frame10);
}
function frame10(){
this.stop();
}
function frame1(){
this.stop();
}
}
}//package zodiac_fla
Section 90
//pointDisplay_50 (zodiac_fla.pointDisplay_50)
package zodiac_fla {
import flash.display.*;
public dynamic class pointDisplay_50 extends MovieClip {
public var digit3:MovieClip;
public var digit4:MovieClip;
public var digit5:MovieClip;
public var digit6:MovieClip;
public var digit2:MovieClip;
public var digit1:MovieClip;
public var digit0:MovieClip;
}
}//package zodiac_fla
Section 91
//progmeter_44 (zodiac_fla.progmeter_44)
package zodiac_fla {
import flash.display.*;
public dynamic class progmeter_44 extends MovieClip {
public function progmeter_44(){
addFrameScript(0, frame1);
}
function frame1(){
this.stop();
}
}
}//package zodiac_fla
Section 92
//quadButton_129 (zodiac_fla.quadButton_129)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
public dynamic class quadButton_129 extends MovieClip {
public var active:Boolean;
public var vid:MovieClip;
public var buttonCover:MovieClip;
public function quadButton_129(){
addFrameScript(0, frame1);
}
function frame1(){
active = false;
vid.stop();
this.addEventListener(Event.ENTER_FRAME, loop);
}
public function loop(_arg1:Event):void{
if (active){
buttonCover.alpha = Math.max((buttonCover.alpha - 0.1), 0);
} else {
buttonCover.alpha = Math.min((buttonCover.alpha + 0.1), 0.8);
};
}
}
}//package zodiac_fla
Section 93
//rsanim_214 (zodiac_fla.rsanim_214)
package zodiac_fla {
import flash.display.*;
public dynamic class rsanim_214 extends MovieClip {
public function rsanim_214(){
addFrameScript(0, frame1);
}
function frame1(){
this.stop();
}
}
}//package zodiac_fla
Section 94
//sagiSign_40 (zodiac_fla.sagiSign_40)
package zodiac_fla {
import flash.display.*;
public dynamic class sagiSign_40 extends MovieClip {
public function sagiSign_40(){
addFrameScript(0, frame1, 9, frame10);
}
function frame10(){
this.stop();
}
function frame1(){
this.stop();
}
}
}//package zodiac_fla
Section 95
//scorpSign_32 (zodiac_fla.scorpSign_32)
package zodiac_fla {
import flash.display.*;
public dynamic class scorpSign_32 extends MovieClip {
public function scorpSign_32(){
addFrameScript(0, frame1, 9, frame10);
}
function frame10(){
this.stop();
}
function frame1(){
this.stop();
}
}
}//package zodiac_fla
Section 96
//shadow_233 (zodiac_fla.shadow_233)
package zodiac_fla {
import flash.display.*;
public dynamic class shadow_233 extends MovieClip {
public var bang2:MovieClip;
public var bangl:MovieClip;
public var rp:MovieClip;
public var lp:MovieClip;
public var less:MovieClip;
public var us:MovieClip;
public var great:MovieClip;
}
}//package zodiac_fla
Section 97
//shieldMeter_100 (zodiac_fla.shieldMeter_100)
package zodiac_fla {
import flash.display.*;
public dynamic class shieldMeter_100 extends MovieClip {
public var sbar:MovieClip;
}
}//package zodiac_fla
Section 98
//symbols_30 (zodiac_fla.symbols_30)
package zodiac_fla {
import flash.display.*;
public dynamic class symbols_30 extends MovieClip {
public var s1:MovieClip;
public var s5:MovieClip;
public var s6:MovieClip;
public var s8:MovieClip;
public var s7:MovieClip;
public var s9:MovieClip;
public var s2:MovieClip;
public var s4:MovieClip;
public var s3:MovieClip;
public var s10:MovieClip;
public var s11:MovieClip;
public var s12:MovieClip;
}
}//package zodiac_fla
Section 99
//taurusSign_39 (zodiac_fla.taurusSign_39)
package zodiac_fla {
import flash.display.*;
public dynamic class taurusSign_39 extends MovieClip {
public function taurusSign_39(){
addFrameScript(0, frame1, 9, frame10);
}
function frame10(){
this.stop();
}
function frame1(){
this.stop();
}
}
}//package zodiac_fla
Section 100
//terminalButton_131 (zodiac_fla.terminalButton_131)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
public dynamic class terminalButton_131 extends MovieClip {
public var active:Boolean;
public var vid:MovieClip;
public var buttonCover:MovieClip;
public function terminalButton_131(){
addFrameScript(0, frame1);
}
function frame1(){
active = false;
this.addEventListener(Event.ENTER_FRAME, loop);
}
public function loop(_arg1:Event):void{
if (active){
buttonCover.alpha = Math.max((buttonCover.alpha - 0.1), 0);
} else {
buttonCover.alpha = Math.min((buttonCover.alpha + 0.1), 0.8);
};
}
}
}//package zodiac_fla
Section 101
//toolTip_99 (zodiac_fla.toolTip_99)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.ui.*;
import flash.filters.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class toolTip_99 extends MovieClip {
public var smeter:MovieClip;
public function toolTip_99(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
this.stop();
}
function frame1(){
this.stop();
}
function frame4(){
this.stop();
}
function frame2(){
this.stop();
smeter.sbar.width = ((Rotograv.shield / 100) * 132);
}
}
}//package zodiac_fla
Section 102
//watercore_10 (zodiac_fla.watercore_10)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
import gameutil.*;
public dynamic class watercore_10 extends MovieClip {
public var fadeup:Boolean;
public function watercore_10(){
addFrameScript(0, frame1);
}
function frame1(){
fadeup = false;
this.addEventListener(Event.ENTER_FRAME, update);
}
public function update(_arg1:Event):void{
if (this.fadeup){
this.alpha = Math.min((this.alpha + (5 * Tick.ftime)), 1);
if (this.alpha == 1){
this.fadeup = false;
};
} else {
this.alpha = Math.max((this.alpha - (5 * Tick.ftime)), 0);
};
}
}
}//package zodiac_fla
Section 103
//win_anim_176 (zodiac_fla.win_anim_176)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import fx.*;
import gameutil.*;
import mochi.as3.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.ui.*;
import flash.filters.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class win_anim_176 extends MovieClip {
public var vineclip:MovieClip;
public var hs_overlay:MovieClip;
public var f:FXsys;
public var pwrcore:MovieClip;
public var tc:uint;
public var winmode:String;
public var started:Boolean;
public var glowbg:MovieClip;
public var lbring:MovieClip;
public var starclip:MovieClip;
public var reactor2:MovieClip;
public var gboom:MovieClip;
public var bestE:String;
public var finalStar:MovieClip;
public function win_anim_176(){
addFrameScript(0, frame1, 52, frame53, 220, frame221, 270, frame271, 319, frame320);
}
function frame320(){
this.stop();
viner.killAll();
hs_overlay.back_btn.buttonMode = true;
hs_overlay.back_btn.tabEnabled = false;
hs_overlay.sub_btn.buttonMode = true;
hs_overlay.sub_btn.tabEnabled = false;
hs_overlay.lb_btn.buttonMode = true;
hs_overlay.lb_btn.tabEnabled = false;
hs_overlay.kong_btn.buttonMode = true;
hs_overlay.kong_btn.tabEnabled = false;
hs_overlay.back_btn.addEventListener(MouseEvent.MOUSE_UP, back2main);
hs_overlay.sub_btn.addEventListener(MouseEvent.MOUSE_UP, submitScore);
MochiServices.addLinkEvent("http://x.mochiads.com/link/251a0a490891e44d", "http://www.funfacegames.com/games/zodiac-reactor/hiscores.php", hs_overlay.lb_btn);
MochiServices.addLinkEvent("http://x.mochiads.com/link/78593bb5d7f741e6", "http://www.kongregate.com/?gamereferral=zodiac-reactor", hs_overlay.kong_btn);
hs_overlay.hs_tf.score_txt.text = ("Final Score " + Points.formatScore());
hs_overlay.hs_tf.combo_txt.text = ("x " + (Points.bestCombo * 10));
bestE = Points.getBestElement();
tc = 0xFFFFFF;
switch (bestE){
case "Fire":
tc = 0xFF0000;
break;
case "Earth":
tc = 0xFF00;
break;
case "Air":
tc = 15197439;
break;
case "Water":
tc = 101119;
break;
};
hs_overlay.hs_tf.element_txt.text = bestE;
hs_overlay.hs_tf.element_txt.textColor = tc;
}
public function startIt(_arg1:String="winScore"):void{
var _local2:*;
var _local3:WinStar;
winmode = _arg1;
_local2 = 0;
while (_local2 < 50) {
_local3 = new WinStar(starclip);
_local2++;
};
this.visible = true;
started = true;
SoundMan.fadebattleup();
if (winmode == "winScore"){
this.gotoAndPlay(2);
} else {
if (winmode == "loserScore"){
this.gotoAndPlay("showPoints");
};
};
}
public function submitScore(_arg1:MouseEvent):void{
hs_overlay.sub_btn.gotoAndStop(2);
Points.sendScore(hs_overlay.hs_tf.pname_txt.text, hs_overlay.hs_tf.comment_txt.text);
hs_overlay.sub_btn.removeEventListener(MouseEvent.MOUSE_UP, submitScore);
hs_overlay.sub_btn.buttonMode = false;
}
public function back2main(_arg1:MouseEvent):void{
SoundMan.fadeupamb();
Particle.killAll();
Rotograv.purgeall();
this.removeEventListener(MouseEvent.MOUSE_UP, back2main);
this.gotoAndStop(1);
}
function frame1(){
started = false;
winmode = "norm";
this.stop();
}
function frame221(){
Particle.killAll();
f = new FXsys(new Point(-10, -60), this, "finalboom", false, 50);
}
function frame53(){
new viner(vineclip, ((Math.random() * 15) + 10), 0.05, 1, "red");
new viner(vineclip, ((Math.random() * 15) + 10), 0.025, -1, "green");
new viner(vineclip, ((Math.random() * 15) + 10), 0.05, -1, "white");
new viner(vineclip, ((Math.random() * 15) + 10), 0.025, 1, "blue");
}
public function viewLB(_arg1:MouseEvent):void{
navigateToURL(new URLRequest("http://www.funfacegames.com/games/zodiac-reactor/hiscores.php"), "_blank");
}
function frame271(){
if (winmode == "loserScore"){
hs_overlay.title_mc.gotoAndStop(2);
finalStar.visible = false;
} else {
hs_overlay.title_mc.gotoAndStop(1);
finalStar.visible = true;
Points.win();
};
if (Points.kongame){
hs_overlay.hs_tf.pname_txt.text = Points.kongname;
};
}
}
}//package zodiac_fla
Section 104
//win_shockblast_180 (zodiac_fla.win_shockblast_180)
package zodiac_fla {
import flash.display.*;
public dynamic class win_shockblast_180 extends MovieClip {
public function win_shockblast_180(){
addFrameScript(23, frame24);
}
function frame24(){
this.stop();
}
}
}//package zodiac_fla
Section 105
//win_title_193 (zodiac_fla.win_title_193)
package zodiac_fla {
import flash.display.*;
public dynamic class win_title_193 extends MovieClip {
public function win_title_193(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
this.stop();
}
function frame2(){
this.stop();
}
}
}//package zodiac_fla
Section 106
//window_6 (zodiac_fla.window_6)
package zodiac_fla {
import flash.display.*;
import flash.text.*;
public dynamic class window_6 extends MovieClip {
public var zodiglow:MovieClip;
public var hurt:MovieClip;
public var pd:MovieClip;
public var ip:MovieClip;
public var pmeter:MovieClip;
public var core37:MovieClip;
public var core38:MovieClip;
public var core39:MovieClip;
public var core40:MovieClip;
public var tutorial:MovieClip;
public var gamebuttons:MovieClip;
public var leftpanel:MovieClip;
public var p2pause:MovieClip;
public var zodimeter:MovieClip;
public var lightring:MovieClip;
public var on37:MovieClip;
public var on38:MovieClip;
public var meter:MovieClip;
public var zoneBarrier:MovieClip;
public var on39:MovieClip;
public var glow37:MovieClip;
public var glow39:MovieClip;
public var gameMenu:MovieClip;
public var glow38:MovieClip;
public var myfps:TextField;
public var glow40:MovieClip;
public var on40:MovieClip;
public var gate:MovieClip;
public function window_6(){
addFrameScript(0, frame1);
}
function frame1(){
glow37.alpha = 0;
on37.alpha = 0;
glow38.alpha = 0;
on38.alpha = 0;
glow39.alpha = 0;
on39.alpha = 0;
glow40.alpha = 0;
on40.alpha = 0;
}
}
}//package zodiac_fla
Section 107
//virgoSign_38 (zodiac_fla.virgoSign_38)
package zodiac_fla {
import flash.display.*;
public dynamic class virgoSign_38 extends MovieClip {
public function virgoSign_38(){
addFrameScript(0, frame1, 9, frame10);
}
function frame10(){
this.stop();
}
function frame1(){
this.stop();
}
}
}//package zodiac_fla
Section 108
//wpct_98 (zodiac_fla.wpct_98)
package zodiac_fla {
import flash.display.*;
import flash.text.*;
public dynamic class wpct_98 extends MovieClip {
public var pct:TextField;
}
}//package zodiac_fla
Section 109
//wtbox_88 (zodiac_fla.wtbox_88)
package zodiac_fla {
import flash.display.*;
public dynamic class wtbox_88 extends MovieClip {
public var waterTile:MovieClip;
public function wtbox_88(){
addFrameScript(0, frame1, 19, frame20);
}
function frame1(){
this.stop();
}
function frame20(){
this.stop();
}
}
}//package zodiac_fla
Section 110
//zodiGlow_17 (zodiac_fla.zodiGlow_17)
package zodiac_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import gameutil.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.ui.*;
import flash.filters.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class zodiGlow_17 extends MovieClip {
public var obj:Object;
public var i:int;
public var signs:MovieClip;
public var glist:Array;
public var g3:MovieClip;
public var g4:MovieClip;
public var g6:MovieClip;
public var g7:MovieClip;
public var g1:MovieClip;
public var g5:MovieClip;
public var g9:MovieClip;
public var g2:MovieClip;
public var g8:MovieClip;
public var g10:MovieClip;
public var g11:MovieClip;
public var g12:MovieClip;
public function zodiGlow_17(){
addFrameScript(0, frame1);
}
public function flashpanel(_arg1:Object):void{
if (((_arg1.fadeup) && (!(_arg1.activated)))){
_arg1.clip.alpha = Math.min((_arg1.clip.alpha + (5 * Tick.ftime)), 1);
if (_arg1.clip.alpha == 1){
_arg1.fadeup = false;
_arg1.activated = true;
};
} else {
_arg1.clip.alpha = Math.max((_arg1.clip.alpha - (0.3 * Tick.ftime)), 0);
if (_arg1.clip.alpha == 0){
_arg1.gstate = "switchoff";
};
};
}
function frame1(){
glist = [];
i = 0;
while (i < 12) {
obj = {};
obj.gstate = "off";
obj.life = 0;
obj.clip = this[("g" + (i + 1))];
obj.sign = signs[("s" + (i + 1))];
obj.clip.alpha = 0;
obj.fadeup = false;
glist[i] = obj;
i++;
};
this.addEventListener(Event.ENTER_FRAME, update);
}
public function update(_arg1:Event):void{
var _local2:*;
var _local3:Object;
for (_local2 in glist) {
_local3 = glist[_local2];
switch (_local3.gstate){
case "off":
_local3.clip.visible = false;
_local3.gstate = "nothing";
break;
case "on":
_local3.clip.visible = true;
_local3.fadeup = true;
_local3.gstate = "levelup";
case "levelup":
flashpanel(_local3);
break;
case "nothing":
break;
case "switchoff":
_local3.clip.alpha = 0;
_local3.gstate = "nothing";
_local3.clip.visible = false;
break;
};
};
}
}
}//package zodiac_fla
Section 111
//zodiHealthMask_59 (zodiac_fla.zodiHealthMask_59)
package zodiac_fla {
import flash.display.*;
public dynamic class zodiHealthMask_59 extends MovieClip {
public function zodiHealthMask_59(){
addFrameScript(0, frame1);
}
function frame1(){
this.stop();
}
}
}//package zodiac_fla
Section 112
//zodimeter_58 (zodiac_fla.zodimeter_58)
package zodiac_fla {
import flash.display.*;
public dynamic class zodimeter_58 extends MovieClip {
public var health:MovieClip;
public var zhelp:MovieClip;
public var zaudio:MovieClip;
public var zopt:MovieClip;
public function zodimeter_58(){
addFrameScript(0, frame1);
}
public function setAlpha(_arg1:int=0):void{
switch (_arg1){
case 0:
zopt.alpha = 0;
zhelp.alpha = 0;
zaudio.alpha = 0;
break;
case 1:
zopt.alpha = 1;
zhelp.alpha = 0;
zaudio.alpha = 0;
break;
case 2:
zopt.alpha = 0;
zhelp.alpha = 0;
zaudio.alpha = 1;
break;
case 3:
zopt.alpha = 0;
zhelp.alpha = 1;
zaudio.alpha = 0;
break;
};
}
function frame1(){
setAlpha();
}
}
}//package zodiac_fla
Section 113
//ambloop (ambloop)
package {
import flash.media.*;
public dynamic class ambloop extends Sound {
}
}//package
Section 114
//badx (badx)
package {
import flash.display.*;
public dynamic class badx extends Sprite {
}
}//package
Section 115
//bigBoom (bigBoom)
package {
import flash.media.*;
public dynamic class bigBoom extends Sound {
}
}//package
Section 116
//blast (blast)
package {
import flash.display.*;
public dynamic class blast extends Sprite {
}
}//package
Section 117
//Boss (Boss)
package {
import flash.display.*;
public dynamic class Boss extends MovieClip {
public var lowjaw:MovieClip;
}
}//package
Section 118
//chaossnd (chaossnd)
package {
import flash.media.*;
public dynamic class chaossnd extends Sound {
}
}//package
Section 119
//coreLatch (coreLatch)
package {
import flash.media.*;
public dynamic class coreLatch extends Sound {
}
}//package
Section 120
//deathorb (deathorb)
package {
import flash.display.*;
import flash.geom.*;
import fx.*;
import gameutil.*;
public class deathorb extends MovieClip {
public var latched;// = false
public var connected;// = false
private var implode:FXsys;
public var ys;// = 0
public var locked:Boolean;// = false
public var spikes:MovieClip;
public var overlay:MovieClip;
private var sc:Number;// = 0
private var oscale;
public var health;// = 20
private var dtimer:Number;// = 0
public var xs:Number;// = 0
private var freq;// = 0
public var bgGlow:MovieClip;
public var gstate;// = "spawn"
private var grav:int;
private var dir;// = 1
public var orbeyes:MovieClip;
public var oldstate;// = "spawn"
public var killflag;// = false
private var amp;// = 0
public var e_type:int;// = 0
private var myrip:MovieClip;
public static var dorblist:Array = [];
public static var firstspawn:Boolean = true;
public function deathorb(){
var _local1:*;
xs = 0;
ys = 0;
health = 20;
gstate = "spawn";
oldstate = "spawn";
locked = false;
connected = false;
killflag = false;
latched = false;
sc = 0;
freq = 0;
amp = 0;
dir = 1;
dtimer = 0;
e_type = 0;
super();
_local1 = Math.min(Rotograv.level, 4);
e_type = int((Math.random() * _local1));
killflag = false;
gstate = "spawn";
this.alpha = 0;
oscale = this.width;
this.width = 1;
this.height = 1;
this.bgGlow.visible = false;
this.overlay.gotoAndStop((e_type + 1));
this.bgGlow.gotoAndStop((e_type + 1));
sc = ((Math.random() * 360) - 180);
grav = ((e_type + 1) * 50);
amp = ((Math.random() * 130) + 100);
freq = ((Math.random() * 2) + 1);
dir = 1;
if (Math.random() > 0.5){
dir = -1;
} else {
dir = 1;
};
xs = (Math.cos(sc) * amp);
ys = (Math.sin(sc) * amp);
this.x = xs;
this.y = ys;
myrip = new rip();
myrip.x = this.x;
myrip.y = this.y;
Rotograv.game.addChild(myrip);
Rotograv.game.addChild(this);
dorblist.push(this);
SoundMan.rip.play(0, 0, SoundMan.wtfST);
}
private function shake(){
this.x = ((Math.random() * 4) - 2);
this.y = ((Math.random() * 4) - 2);
dtimer = (dtimer - Tick.ftime);
if (dtimer < 0){
this.alpha = 0;
detonate(50);
Rotograv.subhealth(10);
Rotograv.block(10);
};
}
private function patrol():void{
xs = (Math.cos(sc) * amp);
ys = (Math.sin(sc) * amp);
this.x = xs;
this.y = ys;
sc = (sc + ((freq * Tick.ftime) * dir));
amp = Math.max((amp - (grav * Tick.ftime)), 0);
checkcenter();
}
public function detonate(_arg1:Number):void{
var _local2:FXsys;
_local2 = new FXsys(new Point(this.x, this.y), Rotograv.game, "detonate", false, 50);
SoundMan.boom1.play(0, 0, SoundMan.wtfST);
this.alpha = 0;
Rotograv.shakeme(2, _arg1);
Rotograv.subhealth(20);
kill();
}
public function kill(){
if (!killflag){
locked = false;
latched = false;
gstate = "dead";
oldstate = "dead";
this.alpha = 0;
this.visible = false;
this.x = -1000;
this.y = -1000;
Rotograv.game.removeChild(this);
killflag = true;
if (myrip != null){
myrip.alpha = 0;
myrip.visible = false;
Rotograv.game.removeChild(myrip);
myrip = null;
};
};
}
private function checkcenter():void{
var _local1:Object;
var _local2:Object;
var _local3:Particle;
if (!connected){
if (amp < 15){
if (Rotograv.game.gate.opening == false){
SoundMan.blast.play(0, 0, SoundMan.wtfST);
_local1 = {delay:0, times:[0, 1], values:[1, 0], lifetime:55, interval:33, loop:false};
_local2 = {loc:new Point((this.x - 32), (this.y - 32)), trails:false, itype:"blast", bm:"add", colormode:"fixed", scol:0, ecol:0, alerp:_local1, xlerp:null, ylerp:null, loop:false, motype:"fixed", resettype:"none"};
_local3 = new Particle(_local2, Rotograv.game);
debris.createDebris((this.x - 19), (this.y - 19), e_type);
new FXsys(new Point(this.x, this.y), Rotograv.game, "evomblock", false, 50);
kill();
Rotograv.block(5);
} else {
engage();
connected = true;
};
};
};
}
private function engage():void{
var _local1:FXsys;
SoundMan.latch.play(0, 0, SoundMan.wtfST);
this.alpha = 1;
this.orbeyes.play();
_local1 = new FXsys(new Point(0, 0), Rotograv.game, "implosionsingle", false, 50);
gstate = "engaging";
oldstate = gstate;
locked = true;
}
private function spawning(){
this.alpha = Math.min((this.alpha + Tick.ftime), 1);
this.width = Math.min((this.width + (20 * Tick.ftime)), oscale);
this.height = this.width;
if ((((((this.alpha == 1)) && ((this.width == oscale)))) && (myrip.done))){
gstate = "patrol";
oldstate = gstate;
Rotograv.game.removeChild(myrip);
myrip = null;
if (firstspawn){
Rotograv.showTutorial(9, 9);
firstspawn = false;
};
};
}
private function update():void{
switch (gstate){
case "spawn":
spawning();
break;
case "patrol":
patrol();
break;
case "engaging":
patrol();
if (this.orbeyes.currentFrame == this.orbeyes.totalFrames){
gstate = "detonate";
oldstate = gstate;
dtimer = 1;
};
break;
case "detonate":
shake();
break;
case "paused":
break;
};
}
public static function killAll():void{
var _local1:deathorb;
for each (_local1 in dorblist) {
_local1.kill();
};
dorblist = [];
}
public static function updateAll():void{
var _local1:deathorb;
for each (_local1 in dorblist) {
_local1.update();
};
}
public static function pauseall():void{
var _local1:*;
for each (_local1 in dorblist) {
_local1.oldstate = _local1.gstate;
_local1.gstate = "paused";
};
}
public static function unpause():void{
var _local1:*;
for each (_local1 in dorblist) {
_local1.gstate = dorblist[_local1].oldstate;
};
}
}
}//package
Section 121
//evom_bit_1 (evom_bit_1)
package {
import flash.display.*;
public dynamic class evom_bit_1 extends Sprite {
}
}//package
Section 122
//evom_bit_2 (evom_bit_2)
package {
import flash.display.*;
public dynamic class evom_bit_2 extends Sprite {
}
}//package
Section 123
//evom_bit_3 (evom_bit_3)
package {
import flash.display.*;
public dynamic class evom_bit_3 extends Sprite {
}
}//package
Section 124
//evomBlock (evomBlock)
package {
import flash.media.*;
public dynamic class evomBlock extends Sound {
}
}//package
Section 125
//fadefx (fadefx)
package {
import flash.display.*;
public dynamic class fadefx extends MovieClip {
}
}//package
Section 126
//ffgIntro (ffgIntro)
package {
import flash.display.*;
import mochi.as3.*;
public dynamic class ffgIntro extends MovieClip {
public var ffgAnim:MovieClip;
public var hitarea:MovieClip;
public function ffgIntro(){
addFrameScript(0, frame1);
}
function frame1(){
hitarea.buttonMode = true;
MochiServices.addLinkEvent("http://x.mochiads.com/link/9583d648dd1f9029", "http://www.funfacegames.com", hitarea);
}
}
}//package
Section 127
//fuzz (fuzz)
package {
import flash.display.*;
public dynamic class fuzz extends BitmapData {
public function fuzz(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 128
//good1 (good1)
package {
import flash.media.*;
public dynamic class good1 extends Sound {
}
}//package
Section 129
//good10 (good10)
package {
import flash.media.*;
public dynamic class good10 extends Sound {
}
}//package
Section 130
//good11 (good11)
package {
import flash.media.*;
public dynamic class good11 extends Sound {
}
}//package
Section 131
//good12 (good12)
package {
import flash.media.*;
public dynamic class good12 extends Sound {
}
}//package
Section 132
//good13 (good13)
package {
import flash.media.*;
public dynamic class good13 extends Sound {
}
}//package
Section 133
//good2 (good2)
package {
import flash.media.*;
public dynamic class good2 extends Sound {
}
}//package
Section 134
//good3 (good3)
package {
import flash.media.*;
public dynamic class good3 extends Sound {
}
}//package
Section 135
//good4 (good4)
package {
import flash.media.*;
public dynamic class good4 extends Sound {
}
}//package
Section 136
//good5 (good5)
package {
import flash.media.*;
public dynamic class good5 extends Sound {
}
}//package
Section 137
//good6 (good6)
package {
import flash.media.*;
public dynamic class good6 extends Sound {
}
}//package
Section 138
//good7 (good7)
package {
import flash.media.*;
public dynamic class good7 extends Sound {
}
}//package
Section 139
//good8 (good8)
package {
import flash.media.*;
public dynamic class good8 extends Sound {
}
}//package
Section 140
//good9 (good9)
package {
import flash.media.*;
public dynamic class good9 extends Sound {
}
}//package
Section 141
//goodsnd (goodsnd)
package {
import flash.media.*;
public dynamic class goodsnd extends Sound {
}
}//package
Section 142
//heatscar (heatscar)
package {
import flash.display.*;
public dynamic class heatscar extends Sprite {
}
}//package
Section 143
//hitShell (hitShell)
package {
import flash.media.*;
public dynamic class hitShell extends Sound {
}
}//package
Section 144
//Hud (Hud)
package {
import flash.display.*;
public class Hud {
public static var capturedwater = 0;
public static var earthcount = 0;
public static var totalearth = 0;
public static var eledata:Array = [];
public static var meter:MovieClip;
public static var totalair = 0;
public static var capturedfire = 0;
public static var totalCapturedOrbs:int = 0;
public static var pmeter:MovieClip;
public static var totalwater = 0;
public static var aircount = 0;
public static var firecount = 0;
public static var watercount = 0;
public static var capturedair = 0;
public static var capturedearth = 0;
public static var totalOrbsFired:int = 0;
public static var totalfire = 0;
public function Hud(){
var _local1:int;
var _local2:Object;
super();
_local1 = 0;
while (_local1 < 4) {
_local2 = {};
_local2.path = 0;
_local2.thresh = 30;
_local2.clevel = 1;
_local2.targobj = Rotograv.game.zodiglow.glist[(_local1 * 3)];
_local2.tnum = (_local1 * 3);
_local2.maxed = false;
eledata[_local1] = _local2;
_local1++;
};
meter = Rotograv.game.meter;
pmeter = Rotograv.game.pmeter;
}
public function updatemeter(_arg1:Boolean=false):void{
var _local2:Number;
_local2 = ((Rotograv.capturedorb / Rotograv.totalorbs) * 49);
meter.gotoAndStop(Math.ceil((_local2 + 1)));
if (!_arg1){
totalCapturedOrbs++;
};
}
public function updatehealth():void{
var _local1:Number;
var _local2:int;
_local1 = ((Rotograv.health / Rotograv.maxhealth) * 50);
_local2 = Math.max((50 - Math.ceil(_local1)), 1);
Rotograv.game.zodimeter.health.gotoAndStop(_local2);
}
public function updateprogmeter(_arg1:Boolean=false):void{
var _local2:Number;
_local2 = ((Rotograv.curorb / Rotograv.totalorbs) * 49);
pmeter.gotoAndStop(Math.ceil((_local2 + 1)));
if (!_arg1){
totalOrbsFired++;
};
}
private function activateTile(_arg1:MovieClip):void{
var _local2:MovieClip;
_local2 = Rotograv.game.gameMenu.lupscreen;
if ((((_arg1.name == "fbar")) && ((_local2.fireTile.activated == false)))){
_local2.fireTile.play();
Points.boost++;
_local2.fireTile.activated = true;
} else {
if ((((_arg1.name == "ebar")) && ((_local2.earthTile.activated == false)))){
_local2.earthTile.play();
Rotograv.shield = Math.min((Rotograv.shield + 10), 100);
_local2.earthTile.activated = true;
} else {
if ((((_arg1.name == "abar")) && ((_local2.airTile.activated == false)))){
_local2.airTile.play();
Rotograv.maxhealth = (Rotograv.maxhealth + 10);
Rotograv.health = (Rotograv.health + 10);
updatehealth();
_local2.airTile.activated = true;
} else {
if ((((_arg1.name == "wbar")) && ((_local2.waterTile.activated == false)))){
_local2.waterTile.play();
Rotograv.health = Math.min((Rotograv.health + 20), Rotograv.maxhealth);
updatehealth();
_local2.waterTile.activated = true;
};
};
};
};
}
public function resetmenu():void{
totalfire = 0;
totalearth = 0;
totalair = 0;
totalwater = 0;
capturedfire = 0;
capturedearth = 0;
capturedair = 0;
capturedwater = 0;
firecount = 0;
earthcount = 0;
aircount = 0;
watercount = 0;
}
public function resetgame():void{
var _local1:*;
var _local2:Object;
resetmenu();
for (_local1 in Rotograv.game.zodiglow.glist) {
_local2 = Rotograv.game.zodiglow.glist[_local1];
_local2.sign.gotoAndStop(1);
_local2.gstate = "off";
_local2.fadeup = false;
_local2.life = 0;
_local2.clip.alpha = 0;
pmeter.gotoAndStop(1);
meter.gotoAndStop(1);
};
totalCapturedOrbs = 0;
totalOrbsFired = 0;
}
public function deactivateTiles():void{
var _local1:MovieClip;
_local1 = Rotograv.game.gameMenu.lupscreen;
if (_local1.fireTile.activated){
_local1.fireTile.activated = false;
_local1.fireTile.gotoAndPlay("outro");
};
if (_local1.earthTile.activated){
_local1.earthTile.activated = false;
_local1.earthTile.gotoAndPlay("outro");
};
if (_local1.airTile.activated){
_local1.airTile.activated = false;
_local1.airTile.gotoAndPlay("outro");
};
if (_local1.waterTile.activated){
_local1.waterTile.activated = false;
_local1.waterTile.gotoAndPlay("outro");
};
}
public function checkWin():Boolean{
var _local1:Boolean;
var _local2:Object;
_local1 = true;
for each (_local2 in eledata) {
if (_local2.maxed == false){
_local1 = false;
break;
};
};
return (_local1);
}
private function showElementalStats(_arg1:MovieClip, _arg2:MovieClip, _arg3:int, _arg4:int):void{
var _local5:int;
_local5 = ((_arg4 / _arg3) * 100);
_arg2.pct.text = (Math.ceil(_local5) + "%");
_arg1.width = _local5;
_arg2.x = (_arg1.x + _local5);
if (Math.ceil(_local5) == 100){
activateTile(_arg1);
};
}
public function advancepath(_arg1:int, _arg2:Boolean=false):void{
var _local3:Object;
var _local4:Number;
_local3 = eledata[_arg1];
if (!_arg2){
_local3.path++;
} else {
_local3.path = (_local3.path + 0.5);
};
_local4 = ((_local3.path / _local3.thresh) * 10);
_local3.targobj.sign.gotoAndStop(Math.round(_local4));
if (_local3.path >= _local3.thresh){
_local3.targobj.gstate = "on";
if (_local3.clevel < 3){
_local3.clevel++;
_local3.path = 0;
_local3.tnum++;
_local3.targobj = Rotograv.game.zodiglow.glist[_local3.tnum];
} else {
_local3.maxed = true;
};
};
eledata[_arg1] = _local3;
}
public function drainpoints():void{
var _local1:MovieClip;
var _local2:*;
var _local3:MovieClip;
var _local4:*;
var _local5:MovieClip;
var _local6:*;
var _local7:MovieClip;
var _local8:*;
_local1 = Rotograv.game.gameMenu.lupscreen.fbar;
_local2 = Rotograv.game.gameMenu.lupscreen.fpct;
_local3 = Rotograv.game.gameMenu.lupscreen.ebar;
_local4 = Rotograv.game.gameMenu.lupscreen.epct;
_local5 = Rotograv.game.gameMenu.lupscreen.abar;
_local6 = Rotograv.game.gameMenu.lupscreen.apct;
_local7 = Rotograv.game.gameMenu.lupscreen.wbar;
_local8 = Rotograv.game.gameMenu.lupscreen.wpct;
watercount = Math.min((watercount + 1), capturedwater);
firecount = Math.min((firecount + 1), capturedfire);
earthcount = Math.min((earthcount + 1), capturedearth);
aircount = Math.min((aircount + 1), capturedair);
showElementalStats(_local1, _local2, totalfire, firecount);
showElementalStats(_local3, _local4, totalearth, earthcount);
showElementalStats(_local5, _local6, totalair, aircount);
showElementalStats(_local7, _local8, totalwater, watercount);
}
}
}//package
Section 145
//hurtsnd (hurtsnd)
package {
import flash.media.*;
public dynamic class hurtsnd extends Sound {
}
}//package
Section 146
//Kongintro (Kongintro)
package {
import flash.display.*;
public dynamic class Kongintro extends MovieClip {
public var konghit:MovieClip;
public var kongComplete:Boolean;
public function Kongintro(){
addFrameScript(0, frame1, 179, frame180);
}
function frame180(){
this.stop();
kongComplete = true;
}
function frame1(){
kongComplete = false;
}
}
}//package
Section 147
//laArrow (laArrow)
package {
import flash.display.*;
public dynamic class laArrow extends Sprite {
}
}//package
Section 148
//launch_chaos (launch_chaos)
package {
import flash.media.*;
public dynamic class launch_chaos extends Sound {
}
}//package
Section 149
//launch_earth (launch_earth)
package {
import flash.media.*;
public dynamic class launch_earth extends Sound {
}
}//package
Section 150
//launch_fire (launch_fire)
package {
import flash.media.*;
public dynamic class launch_fire extends Sound {
}
}//package
Section 151
//launch_water (launch_water)
package {
import flash.media.*;
public dynamic class launch_water extends Sound {
}
}//package
Section 152
//launch_wind (launch_wind)
package {
import flash.media.*;
public dynamic class launch_wind extends Sound {
}
}//package
Section 153
//loser (loser)
package {
import flash.media.*;
public dynamic class loser extends Sound {
}
}//package
Section 154
//m1 (m1)
package {
import flash.media.*;
public dynamic class m1 extends Sound {
}
}//package
Section 155
//MochiBot (MochiBot)
package {
import flash.display.*;
import flash.system.*;
import flash.net.*;
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
Section 156
//multisnd (multisnd)
package {
import flash.media.*;
public dynamic class multisnd extends Sound {
}
}//package
Section 157
//muzzleFlash (muzzleFlash)
package {
import flash.display.*;
public dynamic class muzzleFlash extends MovieClip {
}
}//package
Section 158
//Orb (Orb)
package {
import flash.display.*;
import flash.geom.*;
import fx.*;
import gameutil.*;
import flash.ui.*;
public class Orb {
private var shift;// = 12
private var amp:Number;// = 176
public var bmp:Bitmap;
private var dir:int;// = 1
private var sc:Number;// = 0
public var killflag:Boolean;// = false
private var tt:Number;// = 0
public var gstate:String;// = "default"
public var ys:Number;// = 0
public var myCT:ColorTransform;
public var cto:ColorTransform;
public var mynum;
public var oldstate;
private var grav:int;
public var myBD:BitmapData;
private var freq:Number;// = 0
public var xs:Number;// = 0
public var element:int;
public static var chaosBD;
public static var waterCT;
public static var windBD;
public static var earthBD;
public static var waterBD;
public static var fireCT:ColorTransform;
public static var trails:Boolean = true;
public static var chaosCT;
public static var fireBD:BitmapData;
public static var windCT;
public static var earthCT;
public function Orb(_arg1:int, _arg2:int, _arg3:Number, _arg4, _arg5:int){
xs = 0;
ys = 0;
sc = 0;
freq = 0;
amp = 176;
shift = 12;
killflag = false;
gstate = "default";
dir = 1;
tt = 0;
super();
setcolor(_arg5);
bmp = new Bitmap(myBD);
bmp.x = (_arg1 - 12);
bmp.y = (_arg2 - 12);
bmp.alpha = 1;
sc = _arg3;
grav = _arg4;
freq = ((Math.random() * 4) + 1);
if (Math.random() > 0.5){
dir = -1;
} else {
dir = 1;
};
Rotograv.game.addChild(bmp);
Rotograv.orblist.push(this);
}
public function update():void{
var _local1:Object;
var _local2:Object;
switch (gstate){
case "default":
xs = (Math.cos(sc) * amp);
ys = (Math.sin(sc) * amp);
bmp.x = (xs - shift);
bmp.y = (ys - shift);
sc = (sc + ((freq * Tick.ftime) * dir));
amp = Math.max((amp - (grav * Tick.ftime)), 0);
if (!killflag){
tt++;
if (tt == 1){
createtrails();
tt = 0;
};
if ((((amp < 20)) && ((Rotograv.game.gate.opening == false)))){
Rotograv.block(1);
SoundMan.shellsnd.play(0, 0, SoundMan.wtfST);
_local1 = {delay:0, times:[0, 1], values:[1, 0], lifetime:45, interval:33, loop:false};
_local2 = {loc:new Point((bmp.x - 12), (bmp.y - 12)), trails:false, itype:"heatscar", bm:"add", colormode:"fixed", scol:0, ecol:0, alerp:_local1, xlerp:null, ylerp:null, loop:false, motype:"fixed", resettype:"none"};
Particle.getP(_local2, Rotograv.game);
killflag = true;
bmp.alpha = 0;
bmp.x = -1000;
bmp.y = -1000;
tt = -5000;
};
if (amp == 0){
Points.resetmulti();
killflag = true;
bmp.alpha = 0;
bmp.x = -1000;
bmp.y = -1000;
tt = -5000;
Rotograv.fluffclock = 0.2;
if (element == 999){
Rotograv.subhealth(15);
Rotograv.shakeme(1, 5);
} else {
if (Rotograv.leveltype != "speedup"){
Rotograv.subhealth(5);
} else {
SoundMan.spillsnd.play(0, 0, SoundMan.wtfST);
Rotograv.advanceLevel();
};
};
};
};
break;
case "paused":
break;
};
}
public function setcolor(_arg1:int):void{
if (_arg1 == 1){
element = Keyboard.UP;
mynum = 0;
Hud.totalfire++;
SoundMan.fire.play(0, 0, SoundMan.wtfST);
myBD = fireBD;
myCT = fireCT;
Rotograv.realorbs++;
} else {
if (_arg1 == 2){
element = Keyboard.RIGHT;
mynum = 1;
Hud.totalearth++;
SoundMan.earth.play(0, 0, SoundMan.wtfST);
myBD = earthBD;
myCT = earthCT;
Rotograv.realorbs++;
} else {
if (_arg1 == 3){
element = Keyboard.DOWN;
mynum = 2;
Hud.totalair++;
SoundMan.wind.play(0, 0, SoundMan.wtfST);
myBD = windBD;
myCT = windCT;
Rotograv.realorbs++;
} else {
if (_arg1 == 4){
element = Keyboard.LEFT;
mynum = 3;
Hud.totalwater++;
SoundMan.water.play(0, 0, SoundMan.wtfST);
myBD = waterBD;
myCT = waterCT;
Rotograv.realorbs++;
} else {
if (_arg1 == 5){
element = 999;
mynum = 4;
SoundMan.lchaos.play(0, 0, SoundMan.wtfST);
myBD = chaosBD;
myCT = chaosCT;
};
};
};
};
};
}
private function createtrails():void{
var _local1:String;
var _local2:Object;
var _local3:Object;
if (element == 999){
_local1 = "orbchaos";
} else {
_local1 = "orbtrail";
};
if (Rotograv.trails){
_local2 = {delay:0, times:[0, 1], values:[0.7, 0], lifetime:5, interval:33, loop:false};
_local3 = {loc:new Point(bmp.x, bmp.y), startw:bmp.width, starth:bmp.height, trails:false, itype:_local1, bm:"add", colormode:"fixed", scol:myCT, ecol:myCT, alerp:_local2, xlerp:null, ylerp:null, loop:false, motype:"fixed", resettype:"none"};
Particle.getP(_local3, Rotograv.game);
};
}
function kill():void{
gstate = "dead";
bmp.x = -1000;
bmp.y = -1000;
bmp.visible = false;
Rotograv.game.removeChild(bmp);
bmp = null;
}
public function shrink(){
var _local1:Object;
var _local2:Object;
var _local3:Object;
var _local4:Object;
if (bmp.width > 12){
bmp.width = 12;
bmp.height = 12;
bmp.x = (bmp.x - 6);
bmp.y = (bmp.y - 6);
shift = 6;
_local1 = {delay:0, times:[0, 1], values:[1, 0], lifetime:15, interval:33, loop:false};
_local2 = {delay:0, times:[0, 1], values:[bmp.x, bmp.x], lifetime:15, interval:33, loop:false};
_local3 = {delay:0, times:[0, 1], values:[bmp.y, (bmp.y - 20)], lifetime:15, interval:33, loop:false};
_local4 = {loc:new Point(bmp.x, bmp.y), trails:false, itype:"tooearly", bm:"normal", colormode:"fixed", scol:chaosCT, ecol:chaosCT, alerp:_local1, xlerp:_local2, ylerp:_local3, loop:false, motype:"fixed", resettype:"none"};
Particle.getP(_local4, Rotograv.game);
} else {
boom("orbbad");
shift = 12;
};
}
public function boom(_arg1:String):void{
var _local2:Object;
var _local3:Object;
var _local4:*;
var _local5:ColorTransform;
_local4 = 0;
while (_local4 < 4) {
if (_arg1 == "orbgood"){
_local5 = new ColorTransform();
_local5.redMultiplier = Math.random();
_local5.blueMultiplier = Math.random();
_local5.greenMultiplier = Math.random();
} else {
_local5 = myCT;
};
_local2 = {delay:0, times:[0, 1], values:[0.5, 0], lifetime:10, interval:33, loop:false};
_local3 = {loc:new Point(bmp.x, bmp.y), trails:false, itype:"orbtrail", bm:"add", colormode:"fixed", scol:_local5, ecol:_local5, alerp:_local2, xlerp:null, ylerp:null, loop:false, motype:"rdir", resettype:"none"};
Particle.getP(_local3, Rotograv.game);
_local4++;
};
if (_arg1 == "orbbad"){
_local2 = {delay:0, times:[0, 1], values:[0.6, 0], lifetime:10, interval:33, loop:false};
_local3 = {loc:new Point(bmp.x, bmp.y), trails:false, itype:"badx", bm:"normal", colormode:"fixed", scol:chaosCT, ecol:chaosCT, alerp:_local2, xlerp:null, ylerp:null, loop:false, motype:"fixed", resettype:"none"};
Particle.getP(_local3, Rotograv.game);
};
gstate = "dead";
killflag = true;
tt = -5000;
bmp.alpha = 0;
bmp.x = -1000;
bmp.y = -1000;
}
public static function pauseAll():void{
var _local1:Orb;
for each (_local1 in Rotograv.orblist) {
_local1.oldstate = _local1.gstate;
_local1.gstate = "paused";
};
}
public static function init():void{
var _local1:Sprite;
var _local2:Sprite;
var _local3:Matrix;
_local1 = new orb_normal();
_local2 = new orb_chaos();
_local3 = _local1.transform.matrix;
_local3.translate(12, 12);
fireBD = new BitmapData(_local1.width, _local1.height, true, 0);
earthBD = new BitmapData(_local1.width, _local1.height, true, 0);
windBD = new BitmapData(_local1.width, _local1.height, true, 0);
waterBD = new BitmapData(_local1.width, _local1.height, true, 0);
chaosBD = new BitmapData(_local1.width, _local1.height, true, 0);
fireCT = new ColorTransform(1, 0.1, 0.1, 1, 0, 0, 0, 0);
earthCT = new ColorTransform(0.2, 1, 0.1, 1, 0, 0, 0, 0);
windCT = new ColorTransform(0.9, 0.9, 1, 1, 0, 0, 0, 0);
waterCT = new ColorTransform(0.1, 0.1, 1, 1, 0, 0, 0, 0);
chaosCT = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
fireBD.draw(_local1, _local3, fireCT, null, null, true);
earthBD.draw(_local1, _local3, earthCT, null, null, true);
windBD.draw(_local1, _local3, windCT, null, null, true);
waterBD.draw(_local1, _local3, waterCT, null, null, true);
chaosBD.draw(_local2, _local3, chaosCT, null, null, true);
}
public static function unpauseAll():void{
var _local1:Orb;
for each (_local1 in Rotograv.orblist) {
_local1.gstate = _local1.oldstate;
};
}
public static function boomAll():void{
var _local1:Orb;
for each (_local1 in Rotograv.orblist) {
_local1.boom("orbbad");
};
}
}
}//package
Section 159
//orb_chaos (orb_chaos)
package {
import flash.display.*;
public dynamic class orb_chaos extends Sprite {
}
}//package
Section 160
//orb_normal (orb_normal)
package {
import flash.display.*;
public dynamic class orb_normal extends Sprite {
}
}//package
Section 161
//pointFill (pointFill)
package {
import flash.media.*;
public dynamic class pointFill extends Sound {
}
}//package
Section 162
//pointFinish (pointFinish)
package {
import flash.media.*;
public dynamic class pointFinish extends Sound {
}
}//package
Section 163
//Points (Points)
package {
import flash.events.*;
import flash.geom.*;
import com.kongregate.as3.client.events.*;
import flash.utils.*;
import com.kongregate.as3.client.*;
import fx.*;
import gameutil.*;
import crypto.*;
import flash.net.*;
public class Points {
public static var mainscore:int = 0;
public static var elist:Array;
public static var bestCombo = 0;
public static var combo = 0;
public static var kready:Boolean;
public static var kong:KongregateAPI;
public static var kongame:Boolean = false;
public static var boost:int = 1;
private static var ms:int = 0;
public static var kongname:String = "";
public static var gameMode:int = 1;
public static var multi:int = 0;
public static var mcount = 0;
public static var kongplayer:Object;
public static var digitlist:Array = [0, 0, 0, 0, 0, 0, 0];
private static function ld_error(_arg1:IOErrorEvent):void{
}
public static function submitkongstat(_arg1:String, _arg2:Number):void{
if (kongame){
kong.stats.submit(_arg1, _arg2);
};
}
public static function sendPoints():void{
switch (gameMode){
case 1:
submitkongstat("Score - Normal Mode", mainscore);
break;
case 2:
submitkongstat("Score - Quad Survival", mainscore);
break;
case 3:
submitkongstat("Score - Orbital Survival", mainscore);
break;
case 4:
submitkongstat("Score - Terminal Velocity", mainscore);
break;
};
}
public static function init():void{
resetAll();
kong = new KongregateAPI();
Rotograv.timeline.addChild(kong);
kong.addEventListener(KongregateEvent.COMPLETE, kongready);
}
private static function ld_complete(_arg1:Event):void{
var _local2:URLVariables;
_local2 = new URLVariables(_arg1.target.data);
switch (_local2.msg){
case "bad_data":
break;
case "success":
break;
case "hash_mismatch":
break;
case "bad_insert":
break;
};
}
public static function getkongscorelist():void{
kong.scores.requestList(gotscores);
}
public static function kongready(_arg1:KongregateEvent):void{
if (kong.loaded){
kready = true;
kongname = kong.user.getName();
kongame = true;
};
}
public static function gotscores(_arg1:Object):Boolean{
var _local2:String;
var _local3:int;
var _local4:int;
if (_arg1.list == undefined){
return (false);
};
_local2 = ("High Scores, success=" + _arg1.success);
_local3 = 0;
while (_local3 < _arg1.list.length) {
_local4 = (_local3 + 1);
_local2 = (_local2 + ((((("\n" + _local4) + ". ") + _arg1.list[_local3].username) + " - ") + _arg1.list[_local3].score));
_local3++;
};
Rotograv.game.gamemenu.gameoverscreen.hsclip.hstxt.text = _local2;
return (true);
}
public static function addmulti():void{
var _local1:Point;
var _local2:int;
var _local3:LightArrow;
var _local4:LightArrow;
var _local5:LightArrow;
var _local6:LightArrow;
var _local7:Shockring;
multi++;
mcount++;
if (mcount >= 10){
_local1 = new Point(-220, 180);
_local2 = 128;
_local3 = new LightArrow(new Point((_local1.x + _local2), (_local1.y - _local2)), _local1, Rotograv.game);
_local4 = new LightArrow(new Point((_local1.x - _local2), (_local1.y - _local2)), _local1, Rotograv.game);
_local5 = new LightArrow(new Point((_local1.x + _local2), (_local1.y + _local2)), _local1, Rotograv.game);
_local6 = new LightArrow(new Point((_local1.x - _local2), (_local1.y + _local2)), _local1, Rotograv.game);
_local7 = new Shockring(_local1, Rotograv.game);
SoundMan.multi.play(0, 0, SoundMan.wtfST);
Rotograv.shakeme(0.5, 2);
Rotograv.game.leftpanel.multibox.multi_txt.text = ("x " + multi);
Rotograv.game.leftpanel.fadeMulti = true;
Rotograv.game.leftpanel.mclock = 0;
Rotograv.game.leftpanel.multiactive = true;
mcount = 0;
combo++;
if (Rotograv.gametype == "terminal"){
Rotograv.health = Math.min((Rotograv.health + 4), 100);
Rotograv.myhud.updatehealth();
};
if (combo > bestCombo){
bestCombo = combo;
if (kongame){
if (gameMode == 4){
submitkongstat("Chain Combo - Terminal Velocity", (bestCombo * 10));
} else {
submitkongstat("Chain Combo", (bestCombo * 10));
};
};
};
};
}
public static function konguserready(_arg1:Object):void{
kongplayer = _arg1;
}
public static function getkonguser(){
kong.user.getPlayerInfo(konguserready);
}
public static function getBestElement():String{
var _local1:int;
var _local2:int;
var _local3:String;
var _local4:int;
_local1 = 0;
_local2 = 0;
_local3 = "Nothing";
_local4 = 0;
while (_local4 < 4) {
if (elist[_local4].val > _local1){
_local1 = elist[_local4].val;
_local2 = _local4;
};
_local4++;
};
if (_local1 != 0){
_local3 = elist[_local2].name;
};
return (_local3);
}
public static function resetmulti():void{
multi = 0;
mcount = 0;
Rotograv.game.leftpanel.multibox.multi_txt.text = "x 0";
combo = 0;
}
public static function resetAll():void{
mainscore = 0;
boost = 1;
digitlist = [0, 0, 0, 0, 0, 0, 0];
multi = 0;
mcount = 0;
combo = 0;
bestCombo = 0;
Tick.resetGT();
if (Rotograv.gstate != "load"){
parsepoints();
};
elist = [{name:"Fire", val:0}, {name:"Earth", val:0}, {name:"Air", val:0}, {name:"Water", val:0}];
}
public static function updateStats():void{
if (kongame){
sendPoints();
if (gameMode == 4){
submitkongstat("Chain Combo - Terminal Velocity", (bestCombo * 10));
} else {
submitkongstat("Chain Combo", (bestCombo * 10));
};
};
}
public static function update(_arg1:int, _arg2:int):void{
if (Rotograv.gametype == "terminal"){
_arg1 = (_arg1 * Math.max(25, (Rotograv.level + 1)));
} else {
_arg1 = (_arg1 * (Rotograv.level + 1));
};
mainscore = (mainscore + ((_arg1 * boost) * (1 + (multi * 0.1))));
parsepoints();
elist[_arg2].val = (elist[_arg2].val + 1);
}
public static function formatScore(_arg1:int=-1):String{
var _local2:String;
var _local3:Array;
var _local4:int;
var _local5:int;
if (_arg1 != -1){
_local2 = String(_arg1);
} else {
_local2 = String(mainscore);
};
_local3 = [];
_local4 = _local2.length;
while (_local4 > 0) {
_local5 = Math.max((_local4 - 3), 0);
_local3.unshift(_local2.slice(_local5, _local4));
_local4 = _local5;
};
return (_local3.join(","));
}
public static function win():void{
if ((((kongame == true)) && ((gameMode == 1)))){
submitkongstat("Game Complete", 1);
};
}
public static function parsepoints(_arg1:int=0):void{
var _local2:String;
var _local3:int;
var _local4:int;
var _local5:*;
var _local6:int;
ms = mainscore;
if (ms > 9999999){
ms = 9999999;
};
_local2 = String(Math.ceil(ms));
_local3 = _local2.length;
_local5 = 0;
while (_local5 < _local3) {
_local4 = int(_local2.charAt(((_local3 - 1) - _local5)));
digitlist[_local5] = _local4;
_local5++;
};
_local5 = 0;
while (_local5 < 7) {
if (_local5 < _local3){
_local6 = (digitlist[_local5] * 10);
if (_local6 == 0){
_local6 = 1;
};
Rotograv.game.pd[("digit" + _local5)].tf = _local6;
} else {
Rotograv.game.pd[("digit" + _local5)].tf = 105;
};
_local5++;
};
}
public static function sendScore(_arg1:String, _arg2:String):void{
var _local3:String;
var _local4:URLRequest;
var _local5:URLVariables;
var _local6:URLLoader;
var _local7:IHash;
var _local8:ByteArray;
var _local9:*;
var _local10:String;
if ((((_arg1 == "Enter Your Name")) || ((_arg1 == "")))){
_arg1 = "Random Player";
};
if (((!((_arg2.indexOf("Leave a Comment") == -1))) || ((_arg2 == "")))){
if (_arg2.length < 20){
_arg2 = "none";
};
};
_local3 = "http://funfacegames.com/games/zodiac-reactor/addhs.php";
_local4 = new URLRequest(_local3);
_local5 = new URLVariables();
_local6 = new URLLoader();
_local6.dataFormat = URLLoaderDataFormat.VARIABLES;
_local5.gmode = gameMode;
_local5.name = _arg1;
_local5.score = mainscore;
_local5.multi = bestCombo;
_local5.element = getBestElement();
_local5.comment = _arg2;
_local5.gt = Tick.getGT();
_local7 = new MD5();
_local8 = Hex.toArray(Hex.fromString(((((_local5.name + _local5.score) + _local5.multi) + _local5.element) + _local5.gt)));
_local9 = _local7.hash(_local8);
_local10 = Hex.fromArray(_local9);
_local5.youarecool = String(_local10);
_local4.data = _local5;
_local4.method = URLRequestMethod.POST;
_local6.load(_local4);
_local6.addEventListener(IOErrorEvent.IO_ERROR, ld_error);
_local6.addEventListener(Event.COMPLETE, ld_complete);
}
public static function submitkongscore(_arg1:String=null):void{
if (_arg1 != null){
kong.scores.submit(mainscore, _arg1);
} else {
kong.scores.submit(mainscore);
};
}
}
}//package
Section 164
//pulseanim (pulseanim)
package {
import flash.display.*;
public class pulseanim extends MovieClip {
public var active:Boolean;// = false
public var pulse:MovieClip;
public function pulseanim(){
active = false;
super();
addFrameScript(73, frame74);
}
function frame74(){
this.stop();
}
}
}//package
Section 165
//ring (ring)
package {
import flash.display.*;
public dynamic class ring extends Sprite {
}
}//package
Section 166
//rip (rip)
package {
import flash.display.*;
public dynamic class rip extends MovieClip {
public var done:Boolean;
public function rip(){
addFrameScript(0, frame1, 48, frame49);
}
function frame1(){
done = false;
}
function frame49(){
this.done = true;
this.stop();
}
}
}//package
Section 167
//ripsnd (ripsnd)
package {
import flash.media.*;
public dynamic class ripsnd extends Sound {
}
}//package
Section 168
//Roto (Roto)
package {
import flash.display.*;
import flash.geom.*;
import gameutil.*;
public class Roto extends MovieClip {
public var rsteam:MovieClip;
public var frm:int;
private var sc:Number;// = 0
private var center:Point;
public var muzzy:muzzleFlash;
public var ss:MovieClip;
private var amp:int;// = 176
public static var maxspinspeed:Number = 0.1;
public static var spinspeed:Number = 0;
public static var gstate:String = "spawning";
public static var elelist:Array = [];
public static var oldmax:Number = 0.1;
public static var nextstate:String = "spawning";
public function Roto(_arg1:Point, _arg2:int, _arg3:int, _arg4:String){
sc = 0;
amp = 176;
super();
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5);
gstate = "spawning";
nextstate = _arg4;
this.gotoAndStop((_arg3 + 1));
if (_arg3 == 0){
this.gotoAndStop(1);
Roto.gstate = "default";
this.x = amp;
this.y = 0;
sc = 0;
} else {
if (_arg3 == 1){
sc = 4.71;
this.x = 0;
this.y = -(amp);
this.rotation = -90;
elelist[(_arg3 - 1)] = this;
} else {
if (_arg3 == 2){
sc = 0;
this.x = amp;
this.y = 0;
this.rotation = 0;
elelist[(_arg3 - 1)] = this;
} else {
if (_arg3 == 3){
sc = 1.57;
this.x = 0;
this.y = amp;
this.rotation = 90;
elelist[(_arg3 - 1)] = this;
} else {
if (_arg3 == 4){
sc = 3.14;
this.x = -(amp);
this.y = 0;
this.rotation = 180;
elelist[(_arg3 - 1)] = this;
};
};
};
};
};
Rotograv.game.addChild(this);
ss = new spawnsphere();
ss.x = this.x;
ss.y = this.y;
ss.rotation = this.rotation;
ss.blendMode = "add";
Rotograv.game.addChild(ss);
frm = _arg3;
spinspeed = 0;
this.muzzy.alpha = 0;
}
function frame3(){
this.stop();
}
function frame1(){
this.stop();
}
public function kill():void{
if (Rotograv.game.contains(this)){
Rotograv.game.removeChild(this);
Rotograv.game.removeChild(ss);
};
}
function frame5(){
this.stop();
}
function frame4(){
this.stop();
}
function frame2(){
this.stop();
}
public function addorb(_arg1:int):Orb{
var _local2:Object;
var _local3:Orb;
_local2 = Rotograv.curwave[Rotograv.burstnum];
_local3 = new Orb(this.x, this.y, sc, _local2.grav, _arg1);
this.muzzy.alpha = 1;
return (_local3);
}
private function spin():void{
var _local1:Number;
if (!Rotograv.tutshowing){
this.x = (Math.cos(sc) * amp);
this.y = (Math.sin(sc) * amp);
_local1 = (Math.atan2(this.y, this.x) * 57.2957795130823);
this.rotation = _local1;
if (spinspeed < maxspinspeed){
spinspeed = Math.min((spinspeed + (0.5 * Tick.ftime)), maxspinspeed);
} else {
spinspeed = Math.max((spinspeed - (0.5 * Tick.ftime)), maxspinspeed);
};
sc = (sc + (spinspeed * Tick.ftime));
};
}
public function update():void{
fademuz();
switch (gstate){
case "spawning":
moveglow();
if (ss.finished){
gstate = nextstate;
};
break;
case "default":
moveglow();
spin();
break;
case "static":
moveglow();
break;
case "paused":
break;
case "wait":
break;
};
}
private function fademuz():void{
this.muzzy.alpha = Math.max((this.muzzy.alpha - 0.1), 0);
}
private function moveglow():void{
if (ss != null){
ss.x = this.x;
ss.y = this.y;
ss.rotation = this.rotation;
};
}
public static function updateAll():void{
var _local1:Roto;
for each (_local1 in Rotograv.rotolist) {
_local1.update();
};
}
}
}//package
Section 169
//Rotograv (Rotograv)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import fx.*;
import gameutil.*;
import mochi.as3.*;
import flash.net.*;
import flash.ui.*;
public class Rotograv extends Sprite {
public static var typenum = 0;
public static var realorbs = 0;
public static var rotolist:Array = [];
private static var cCT:ColorTransform;
public static var wavedata = [];
public static var wavedelay = 1.5;
public static var gametype;
public static var introplayed = false;
public static var timeline:MovieClip;
public static var bd:BitmapData;
public static var shaking = false;
public static var capturedorb = 0;
public static var startframe = 1;
public static var oldpmode;
public static var tutshowing = false;
public static var oldgtype;
public static var health:Number = 100;
public static var burstdelay = 0;
public static var burstnum = 0;
private static var myContextMenu:ContextMenu;
public static var gameoverState;
public static var airpool = 0;
public static var onkong = false;
public static var gstate:String = "load";
public static var curorb = 0;
public static var mybpm:Bpm;
public static var waveclock = 0;
public static var hurtalpha = 1;
public static var isTutorial = true;
public static var totalorbs = 0;
public static var leveltype:String = "norm";
public static var maxhealth = 100;
public static var bonusReady = false;
private static var shakeclock = 0;
public static var ok2key = true;
public static var oldstate = "load";
public static var initialized = false;
public static var dorbClock = 15;
public static var titlescreen;
public static var introfinished = false;
public static var wantsTutorial = true;
public static var seenit = false;
public static var bOrbsCaptured:int = 0;
public static var wcount:int = 0;
public static var myTimer:Timer;
public static var goodones = false;
public static var cpulse = 0;
public static var mochiok = true;
private static var oCT;
public static var fbd:BitmapData;
public static var showBonus = false;
public static var trails = true;
public static var tutLevel = -1;
public static var wavecomplete = false;
public static var curwave = [];
private static var shakedur:Number = 0;
public static var multi = 0;
public static var firepool:int = 0;
public static var beatlist = [];
public static var pulsebank = [];
public static var shotclock = 0;
public static var earthpool = 0;
public static var shield = 100;
public static var endframe = 1;
public static var level:int = -1;
public static var tutfinished:Boolean = false;
public static var bmp:Bitmap;
public static var safe = true;
public static var combo = 0;
public static var gintrosReady = false;
public static var ml:MovieClip;
public static var ready:Boolean = false;
private static var shakeforce = 0;
public static var pgtimer:Number = 0;
public static var waterpool = 0;
public static var myhud:Hud;
public static var hurtactive = false;
public static var moveBG:Boolean = true;
public static var firstrun = true;
public static var mbgclock = 0;
public static var tutclock = 0.5;
public static var wavenum = 0;
public static var game;
public static var lupready = false;
public static var orblist = [];
public static var fluffclock = 0;
public static function advanceTutorial(_arg1:MouseEvent=null):void{
if ((game.tutorial.currentFrame + 1) > endframe){
game.tutorial.alpha = 0;
game.tutorial.visible = false;
if (endframe == 9){
tutfinished = true;
};
if (game.gameMenu.readytoadvance){
game.gameMenu.gotoAndPlay("outro");
} else {
unpause();
};
game.tutorial.cont_btn.removeEventListener(MouseEvent.MOUSE_UP, skipTraining);
if (isTutorial){
game.tutorial.skip_btn.removeEventListener(MouseEvent.MOUSE_UP, advanceTutorial);
};
tutshowing = false;
} else {
game.tutorial.gotoAndStop((game.tutorial.currentFrame + 1));
};
}
public static function pauseall():void{
oldstate = gstate;
gstate = "paused";
game.gate.opening = false;
Roto.oldmax = Roto.maxspinspeed;
Roto.maxspinspeed = 0;
Orb.pauseAll();
}
public static function gotorbs():Boolean{
var _local1:*;
for (_local1 in orblist) {
if (!orblist[_local1].killflag){
return (true);
};
};
return (false);
}
public static function droppulse(_arg1:Orb):void{
var _local2:MovieClip;
if (cpulse < pulsebank.length){
_local2 = pulsebank[cpulse];
} else {
cpulse = 0;
_local2 = pulsebank[cpulse];
};
_local2.transform.colorTransform = _arg1.myCT;
if (!_local2.active){
game.addChild(_local2);
_local2.active = true;
_local2.x = -46;
_local2.y = 1;
_local2.blendMode = "add";
_local2.gotoAndPlay(1);
} else {
_local2.gotoAndPlay(1);
};
cpulse++;
}
private static function updatewaveclock():void{
waveclock = (waveclock + Tick.ftime);
if (waveclock > wavedelay){
nextwave();
};
}
private static function updatebmp(_arg1:TimerEvent):void{
bd.lock();
bd.draw(fbd);
orblist.forEach(updatetrail);
bd.unlock();
}
private static function ffgClick(_arg1:ContextMenuEvent):void{
navigateToURL(new URLRequest("http://www.funfacegames.com/?r=zodi_rcm"), "_blank");
}
public static function advanceLevel():void{
killorbs();
if (!isTutorial){
if (Points.kongame){
Points.updateStats();
};
};
if (gametype == "story"){
if (!isTutorial){
level++;
typenum++;
};
deathorb.killAll();
gstate = "levelcomplete";
wavecomplete = true;
game.gate.opening = false;
Roto.maxspinspeed = 0;
game.gameMenu.readytoadvance = false;
game.gameMenu.nav = "level up";
if (typenum == 2){
game.gameMenu.nav = "bonus Complete";
} else {
if (typenum == 1){
showBonus = true;
} else {
showBonus = false;
};
};
game.setChildIndex(game.gameMenu, (game.numChildren - 1));
game.gameMenu.play();
} else {
level++;
startlevel();
};
}
private static function elemental():void{
var _local1:Boolean;
var _local2:String;
var _local3:Array;
var _local4:String;
var _local5:Array;
_local1 = false;
_local2 = timeline.loaderInfo.loaderURL;
if (_local2.substring(0, 5).indexOf("file:") != -1){
_local1 = true;
onkong = false;
};
if (!_local1){
_local3 = [];
_local3.push("kongregate.com", "chat.kongregate.com", "www.kongregate.com");
for each (_local4 in _local3) {
_local5 = _local2.substring((_local2.indexOf("http://") + 7)).split("/");
if (_local5[0].indexOf(_local4) != -1){
onkong = true;
break;
};
};
};
if (safe){
};
if (onkong){
mochiok = false;
} else {
mochiok = true;
};
}
public static function add4rotos(_arg1:String):void{
var _local2:*;
var _local3:Roto;
killrotos();
_local2 = 0;
while (_local2 < 4) {
_local3 = new Roto(new Point(0x0100, 0x0100), _local2, (_local2 + 1), _arg1);
rotolist.push(_local3);
_local2++;
};
}
public static function grab(_arg1:int):void{
var _local2:Orb;
var _local3:int;
var _local4:int;
goodones = false;
_local3 = 0;
while (_local3 < orblist.length) {
_local2 = orblist[_local3];
if (!_local2.killflag){
checktargetarea(_local2, _local3, _arg1);
};
_local3++;
};
if (((!(goodones)) && ((fluffclock <= 0)))){
_local4 = 0;
while (_local4 < orblist.length) {
_local2 = orblist[_local4];
if (!_local2.killflag){
if (checkouterarea(_local2, _local4)){
if (_local2.element != 999){
if (_local2.element == _arg1){
_local2.shrink();
} else {
_local2.boom("orbbad");
if (leveltype == "speedup"){
SoundMan.spillsnd.play(0, 0, SoundMan.wtfST);
advanceLevel();
};
};
Points.resetmulti();
SoundMan.spillsnd.play(0, 0, SoundMan.wtfST);
break;
};
};
};
_local4++;
};
};
combo = 0;
}
public static function nextwave():void{
wavenum++;
if (wavenum == wavedata.length){
advanceLevel();
} else {
curwave = wavedata[wavenum].wave;
burstnum = 0;
waveclock = 0;
burstdelay = curwave[burstnum].burstdelay;
wavecomplete = false;
killorbs();
};
}
public static function makeMenu(){
var _local1:ContextMenuItem;
var _local2:ContextMenuItem;
myContextMenu = new ContextMenu();
myContextMenu.hideBuiltInItems();
myContextMenu.builtInItems.quality = true;
_local1 = new ContextMenuItem("Funface Games");
_local2 = new ContextMenuItem("Play More Games");
_local1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, ffgClick);
_local2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, sponsorClick);
myContextMenu.customItems.push(_local1, _local2);
timeline.contextMenu = myContextMenu;
}
public static function startlevel():void{
game.myfps.text = ("level " + (level + 1));
game.leftpanel.multibox.gotoAndStop(1);
switch (gametype){
case "story":
if (isTutorial){
typenum = -1;
game.myfps.text = "Training";
tutLevel++;
if (tutLevel > 3){
health = 100;
maxhealth = 100;
myhud.updatehealth();
isTutorial = false;
tutLevel = -1;
typenum = 0;
level = 0;
game.myfps.text = ("level " + (level + 1));
};
} else {
if (typenum > 2){
typenum = 0;
};
};
if (myhud.checkWin()){
win();
return;
};
break;
case "quad":
typenum = 0;
break;
case "terminal":
game.myfps.text = "Level Max";
typenum = 0;
break;
case "speedup":
typenum = 1;
break;
case "orbit":
typenum = 2;
break;
};
game.gameMenu.readytoadvance = false;
if (gstate == "pregame"){
game.gameMenu.gotoAndPlay("outro");
};
game.alpha = 1;
game.gate.opening = true;
Roto.maxspinspeed = Math.min(((level + 5) * 0.25), 3);
curorb = 0;
capturedorb = 0;
bOrbsCaptured = 0;
switch (typenum){
case -1:
leveltype = "training";
addTroto(tutLevel, "training");
gstate = "playing";
SoundMan.fademusicup();
break;
case 0:
leveltype = "quad";
if (gametype == "terminal"){
leveltype = "terminal";
} else {
if (gametype == "spedup"){
leveltype = "speedup";
};
};
add4rotos("quad");
gstate = "playing";
SoundMan.fademusicup();
break;
case 1:
leveltype = "speedup";
add4rotos("quad");
gstate = "playing";
SoundMan.fademusicup();
break;
case 2:
if ((((((gametype == "story")) || (firstrun))) || ((rotolist.length == 0)))){
leveltype = "norm";
killrotos();
addroto(1);
gstate = "playing";
SoundMan.fademusicup();
} else {
leveltype = "norm";
gstate = "playing";
SoundMan.fademusicup();
};
break;
};
buildcmds((2 + level), leveltype);
shotclock = 0;
wavenum = -1;
myhud.updatemeter(true);
myhud.updateprogmeter(true);
oldstate = gstate;
if (wantsTutorial){
if (level == -1){
seenit = true;
if (tutLevel == 0){
showTutorial(1, 4);
} else {
if (tutLevel == 1){
showTutorial(5, 5);
} else {
if (tutLevel == 2){
showTutorial(6, 6);
};
};
};
} else {
if ((((level == 0)) && (!(seenit)))){
if (typenum != 1){
showTutorial(1, 3);
};
} else {
if ((((level == 2)) && ((gametype == "story")))){
showTutorial(7, 8);
} else {
if ((((level == 1)) && ((gametype == "orbit")))){
showTutorial(7, 8);
};
};
};
};
};
firstrun = false;
}
private static function initbeats():void{
var _local1:*;
for (_local1 in beatlist) {
beatlist[_local1].alpha = 0;
};
}
public static function block(_arg1:int):void{
if (gametype != "orbit"){
shield = (shield - (_arg1 * 0.5));
if (shield < 0){
subhealth(Math.abs(shield));
shield = 0;
game.gate.opening = true;
};
};
}
private static function sponsorClick(_arg1:ContextMenuEvent):void{
navigateToURL(new URLRequest("http://www.kongregate.com/?gamereferral=zodiac-reactor"), "_blank");
}
public static function blinkmeasure():void{
game.lightring.mlights.alpha = 1;
}
public static function subhealth(_arg1:Number):void{
var _local2:Roto;
if (_arg1 >= 15){
SoundMan.chaos.play(0, 0, SoundMan.wtfST);
} else {
SoundMan.elec.play(0, 0, SoundMan.wtfST);
};
health = (health - _arg1);
myhud.updatehealth();
game.hurt.visible = true;
game.hurt.rotation = (Math.random() * 360);
game.hurt.alpha = 1;
hurtactive = true;
if (gstate != "dead"){
if (health <= 0){
if (trails){
for each (_local2 in rotolist) {
_local2.rsteam.gotoAndPlay(2);
};
SoundMan.steamsnd.play(0, 0, SoundMan.wtfST);
};
Particle.killAll();
killorbs();
gstate = "dead";
game.gameMenu.nav = "gameover";
game.gameMenu.readytoadvance = false;
game.setChildIndex(game.gameMenu, (game.numChildren - 1));
game.gameMenu.play();
Roto.maxspinspeed = 0;
SoundMan.lsr.play(0, 0, SoundMan.wtfST);
shakeme(5, 13);
Points.updateStats();
};
};
}
public static function checktargetarea(_arg1:Orb, _arg2:int, _arg3:int):Boolean{
var _local4:int;
_local4 = Point.distance(new Point((_arg1.bmp.x + 12), (_arg1.bmp.y + 12)), new Point(0, 0));
if (_local4 < 60){
if (_arg1.element == _arg3){
if (leveltype != "speedup"){
SoundMan.good.play(0, 0, SoundMan.wtfST);
} else {
curwave[(burstnum - 1)].snd.play(0, 0, SoundMan.wtfST);
bOrbsCaptured++;
};
addtopool(_arg1.element);
_arg1.boom("orbgood");
combo++;
capturedorb++;
Points.addmulti();
if (_arg1.bmp.width > 12){
Points.update(2, _arg1.mynum);
} else {
Points.update(1, _arg1.mynum);
};
myhud.updatemeter();
goodones = true;
droppulse(_arg1);
game["core37"].fadeup = false;
game["core38"].fadeup = false;
game["core39"].fadeup = false;
game["core40"].fadeup = false;
game[("core" + _arg3)].fadeup = true;
return (true);
} else {
if (_arg1.element == 999){
subhealth(1);
goodones = true;
subhealth(1);
return (false);
};
Points.resetmulti();
_arg1.boom("orbbad");
if (leveltype == "speedup"){
SoundMan.spillsnd.play(0, 0, SoundMan.wtfST);
advanceLevel();
} else {
goodones = true;
subhealth(1);
};
return (false);
};
};
return (true);
}
public static function gotoTitle():void{
SoundMan.crossfade("amb");
purgeall();
}
private static function fadeglowers():void{
var _local1:Number;
game.glow37.alpha = Math.max((game.glow37.alpha - (2 * Tick.ftime)), 0);
game.glow38.alpha = Math.max((game.glow38.alpha - (2 * Tick.ftime)), 0);
game.glow39.alpha = Math.max((game.glow39.alpha - (2 * Tick.ftime)), 0);
game.glow40.alpha = Math.max((game.glow40.alpha - (2 * Tick.ftime)), 0);
game.on37.alpha = Math.max((game.on37.alpha - (3 * Tick.ftime)), 0);
game.on38.alpha = Math.max((game.on38.alpha - (3 * Tick.ftime)), 0);
game.on39.alpha = Math.max((game.on39.alpha - (3 * Tick.ftime)), 0);
game.on40.alpha = Math.max((game.on40.alpha - (3 * Tick.ftime)), 0);
cCT = game.zoneBarrier.transform.colorTransform;
_local1 = ((oCT.redMultiplier - cCT.redMultiplier) * 0.01);
cCT.redMultiplier = (cCT.redMultiplier + _local1);
_local1 = ((oCT.greenMultiplier - cCT.greenMultiplier) * 0.01);
cCT.greenMultiplier = (cCT.greenMultiplier + _local1);
_local1 = ((oCT.blueMultiplier - cCT.blueMultiplier) * 0.01);
cCT.blueMultiplier = (cCT.blueMultiplier + _local1);
_local1 = ((oCT.alphaMultiplier - cCT.alphaMultiplier) * 0.01);
cCT.alphaMultiplier = (cCT.alphaMultiplier + _local1);
game.zoneBarrier.transform.colorTransform = cCT;
}
public static function hideTutorial():void{
if (tutshowing){
game.tutorial.cont_btn.removeEventListener(MouseEvent.MOUSE_UP, skipTraining);
if (isTutorial){
game.tutorial.skip_btn.removeEventListener(MouseEvent.MOUSE_UP, advanceTutorial);
};
tutshowing = false;
game.tutorial.alpha = 0;
game.tutorial.visible = false;
};
}
private static function updaterotos():void{
var _local1:Number;
var _local2:int;
var _local3:Orb;
var _local4:Roto;
var _local5:Roto;
shotclock = (shotclock + Tick.ftime);
if (shotclock > burstdelay){
if (burstnum < curwave.length){
burstdelay = curwave[burstnum].burstdelay;
_local2 = 5;
if (leveltype == "training"){
if (tutLevel > 1){
_local1 = Math.round((Math.random() * tutLevel));
} else {
_local1 = tutLevel;
};
Roto.elelist[_local1].addorb((_local1 + 1));
curorb++;
} else {
if (leveltype == "norm"){
if (gametype != "story"){
if (level < 1){
_local2 = 4;
} else {
_local2 = 5;
};
};
for each (_local4 in rotolist) {
_local1 = Math.ceil((Math.random() * _local2));
if (_local1 == 5){
totalorbs--;
} else {
curorb++;
};
_local3 = _local4.addorb(_local1);
};
} else {
if ((((((leveltype == "quad")) || ((leveltype == "terminal")))) || ((leveltype == "speedup")))){
_local1 = Math.ceil((Math.random() * 4));
_local3 = Roto.elelist[int((_local1 - 1))].addorb(_local1);
curorb++;
};
};
};
burstnum++;
myhud.updateprogmeter();
shotclock = 0;
} else {
if (!gotorbs()){
wavecomplete = true;
if (trails){
for each (_local5 in rotolist) {
_local5.rsteam.gotoAndPlay(2);
};
SoundMan.steamsnd.play(0, 0, SoundMan.wtfST);
};
};
};
};
}
public static function updatetrail(_arg1, _arg2:int, _arg3:Array):void{
var _local4:ColorTransform;
var _local5:Matrix;
if (!_arg1.killflag){
_local4 = _arg1.transform.colorTransform;
_local5 = _arg1.transform.matrix;
_local5.translate(0x0100, 0x0100);
bd.draw(_arg1, _local5, _local4);
};
}
public static function unpause():void{
Orb.unpauseAll();
gstate = oldstate;
Roto.maxspinspeed = Roto.oldmax;
game.gate.opening = true;
}
public static function initgame():void{
var _local1:int;
var _local2:int;
var _local3:MovieClip;
if (!safe){
timeline.gotoAndStop("nohost");
gstate = "bad";
} else {
_local1 = 1;
while (_local1 < 17) {
beatlist[(_local1 - 1)] = timeline.window.lightring[("b" + _local1)];
_local1++;
};
ml = timeline.window.lightring.mlights;
initbeats();
timeline.gotoAndPlay("game");
_local2 = 0;
while (_local2 < 10) {
_local3 = new pulseanim();
pulsebank.push(_local3);
_local2++;
};
game = timeline.window;
game.zoneBarrier.transform.colorTransform = oCT;
Roto.maxspinspeed = 1;
myhud = new Hud();
if (sparks.sparklist.length == 0){
sparks.buildSparks();
};
timeline.stage.addEventListener(KeyboardEvent.KEY_DOWN, keydown);
timeline.stage.addEventListener(KeyboardEvent.KEY_UP, keyup);
};
}
private static function updateWinAnim():void{
if (timeline.win_anim != null){
if (!timeline.win_anim.started){
if (timeline.currentLabel != "win"){
timeline.gotoAndStop("win");
};
timeline.win_anim.startIt(gameoverState);
};
WinStar.updateAll();
moveSpace();
};
}
public static function addtopool(_arg1:int):void{
switch (_arg1){
case 37:
waterpool++;
Hud.capturedwater++;
if (!isTutorial){
if (leveltype != "speedup"){
myhud.advancepath(3);
} else {
myhud.advancepath(3, true);
};
};
break;
case 38:
firepool++;
Hud.capturedfire++;
if (!isTutorial){
if (leveltype != "speedup"){
myhud.advancepath(0);
} else {
myhud.advancepath(0, true);
};
};
break;
case 39:
earthpool++;
Hud.capturedearth++;
if (!isTutorial){
if (leveltype != "speedup"){
myhud.advancepath(1);
} else {
myhud.advancepath(1, true);
};
};
break;
case 40:
airpool++;
Hud.capturedair++;
if (!isTutorial){
if (leveltype != "speedup"){
myhud.advancepath(2);
} else {
myhud.advancepath(2, true);
};
};
break;
};
}
public static function init(_arg1:MovieClip){
timeline = _arg1;
timeline.stage.stageFocusRect = false;
elemental();
makeMenu();
mybpm = new Bpm();
oCT = new ColorTransform(1, 1, 1, 0.5, 0, 0, 0, 0);
timeline.addEventListener(Event.ENTER_FRAME, gameloop);
}
public static function blinkbeat(_arg1:int):void{
beatlist[_arg1].alpha = 1;
}
public static function zoneColor(_arg1:uint):void{
switch (_arg1){
case Keyboard.UP:
game.zoneBarrier.transform.colorTransform = Orb.fireCT;
break;
case Keyboard.RIGHT:
game.zoneBarrier.transform.colorTransform = Orb.earthCT;
break;
case Keyboard.DOWN:
game.zoneBarrier.transform.colorTransform = Orb.windCT;
break;
case Keyboard.LEFT:
game.zoneBarrier.transform.colorTransform = Orb.waterCT;
break;
};
}
public static function purgeall(_arg1:String="lose"):void{
var _local2:int;
var _local3:MovieClip;
ready = false;
hideTutorial();
introfinished = false;
gstate = "intro";
oldstate = "intro";
initialized = false;
pgtimer = 0;
lupready = false;
typenum = 0;
totalorbs = 0;
curorb = 0;
capturedorb = 0;
health = 100;
shield = 100;
maxhealth = 100;
firepool = 0;
earthpool = 0;
airpool = 0;
waterpool = 0;
wavedata = [];
waveclock = 0;
wavenum = 0;
wavedelay = 1.5;
shotclock = 0;
burstnum = 0;
burstdelay = 0;
curwave = [];
wavecomplete = false;
combo = 0;
level = -1;
tutshowing = false;
tutLevel = -1;
tutfinished = false;
isTutorial = true;
wantsTutorial = true;
seenit = false;
bonusReady = false;
gintrosReady = false;
showBonus = false;
killAllPulses();
cpulse = 0;
goodones = false;
fluffclock = 0;
ok2key = true;
shakedur = 0;
shakeclock = 0;
shakeforce = 0;
shaking = false;
wcount = 0;
realorbs = 0;
deathorb.killAll();
killrotos();
killorbs();
Particle.killAll();
mybpm.stopclock();
if (myhud != null){
myhud.resetgame();
};
if (game != null){
game.zodimeter.health.gotoAndStop(1);
};
if (_arg1 == "lose"){
Points.resetAll();
timeline.gotoAndStop("menu");
} else {
if (_arg1 == "win"){
gstate = "win";
timeline.gotoAndStop("win");
} else {
if (_arg1 == "resetGame"){
_local2 = 0;
while (_local2 < 10) {
_local3 = new pulseanim();
pulsebank.push(_local3);
_local2++;
};
Points.resetAll();
gametype = oldgtype;
Points.gameMode = oldpmode;
myhud.deactivateTiles();
startlevel();
};
};
};
}
public static function shakeme(_arg1:Number, _arg2:Number):void{
shaking = true;
shakedur = _arg1;
shakeforce = _arg2;
shakeclock = 0;
}
public static function keyup(_arg1:KeyboardEvent):void{
if ((((((((_arg1.keyCode == Keyboard.UP)) || ((_arg1.keyCode == Keyboard.DOWN)))) || ((_arg1.keyCode == Keyboard.LEFT)))) || ((_arg1.keyCode == Keyboard.RIGHT)))){
ok2key = true;
if (((tutshowing) && ((tutclock < 0)))){
advanceTutorial();
};
} else {
if (_arg1.keyCode == Keyboard.SPACE){
game.gate.opening = true;
} else {
if (_arg1.keyCode == 80){
if (gstate == "playing"){
pauseall();
game.gameMenu.readytoadvance = false;
game.gameMenu.nav = "paused";
game.setChildIndex(game.gameMenu, (game.numChildren - 1));
game.gameMenu.play();
} else {
if (game.gameMenu.nav == "paused"){
if (((!(tutshowing)) && (game.gameMenu.readytoadvance))){
if (!bonusReady){
game.gameMenu.clicknav();
};
};
};
};
};
};
};
}
public static function killAllPulses():void{
var _local1:MovieClip;
for each (_local1 in pulsebank) {
if (game.contains(_local1)){
game.removeChild(_local1);
_local1.active = false;
};
};
pulsebank = [];
}
private static function doMainMenuStuff():void{
SoundMan.updateAll();
Particle.updateAll();
if (titlescreen == null){
titlescreen = timeline.mainmenu;
};
if (((ready) && (!(initialized)))){
initgame();
if (safe){
initialized = true;
gstate = "pregame";
oldstate = "pregame";
game.gameMenu.readytoadvance = false;
game.gameMenu.nav = "choose game";
game.gameMenu.play();
};
};
}
private static function normalgame():void{
var _local1:Orb;
for each (_local1 in orblist) {
_local1.update();
};
if (wavecomplete){
updatewaveclock();
} else {
updaterotos();
};
fluffclock = (fluffclock - Tick.ftime);
fadeglowers();
if ((((typenum == 2)) && ((level > 4)))){
dorbClock = (dorbClock - Tick.ftime);
if ((((Math.random() < 0.005)) && ((dorbClock < 0)))){
dorbClock = 18;
new deathorb();
};
deathorb.updateAll();
};
}
public static function killrotos():void{
var _local1:*;
for each (_local1 in rotolist) {
_local1.kill();
};
Roto.elelist = [];
rotolist = [];
}
public static function skipTraining(_arg1:MouseEvent):void{
game.tutorial.alpha = 0;
game.tutorial.visible = false;
if (endframe == 9){
tutfinished = true;
};
if (game.gameMenu.readytoadvance){
game.gameMenu.gotoAndPlay("outro");
} else {
unpause();
};
tutshowing = false;
isTutorial = false;
seenit = true;
tutLevel = -1;
level = 0;
typenum = 0;
game.tutorial.skip_btn.removeEventListener(MouseEvent.MOUSE_UP, skipTraining);
game.tutorial.cont_btn.removeEventListener(MouseEvent.MOUSE_UP, advanceTutorial);
health = 100;
maxhealth = 100;
myhud.updatehealth();
startlevel();
}
public static function showTutorial(_arg1:int=1, _arg2:int=3):void{
pauseall();
game.tutorial.gotoAndStop(_arg1);
game.tutorial.alpha = 1;
game.tutorial.visible = true;
startframe = _arg1;
endframe = _arg2;
game.tutorial.cont_btn.buttonMode = true;
game.tutorial.cont_btn.addEventListener(MouseEvent.MOUSE_UP, advanceTutorial);
if (isTutorial){
game.tutorial.skip_btn.buttonMode = true;
game.tutorial.skip_btn.addEventListener(MouseEvent.MOUSE_UP, skipTraining);
game.tutorial.skip_btn.visible = true;
} else {
game.tutorial.skip_btn.visible = false;
};
game.setChildIndex(game.tutorial, (game.numChildren - 1));
tutshowing = true;
tutclock = 0.5;
}
public static function keydown(_arg1:KeyboardEvent):void{
var _local2:int;
var _local3:Boolean;
_local2 = _arg1.keyCode;
if (gstate != "paused"){
if (((ok2key) && ((((((((_local2 == Keyboard.UP)) || ((_local2 == Keyboard.DOWN)))) || ((_local2 == Keyboard.LEFT)))) || ((_local2 == Keyboard.RIGHT)))))){
if (gstate == "pregame"){
startlevel();
} else {
if (gstate == "levelcomplete"){
if (game.gameMenu.readytoadvance){
game.gameMenu.clicknav();
if (game.gameMenu.nav == "gameover"){
SoundMan.crossfade("amb");
};
};
} else {
ok2key = false;
game[("glow" + _local2)].alpha = 1;
game[("on" + _local2)].alpha = 1;
game.gate.opening = true;
zoneColor(_local2);
grab(_local2);
};
};
};
if ((((_local2 == Keyboard.SPACE)) && ((shield > 0)))){
_local3 = false;
if (!_local3){
game.gate.opening = false;
};
};
};
}
public static function restartCurrentGame():void{
oldgtype = gametype;
oldpmode = Points.gameMode;
purgeall("resetGame");
}
public static function checkouterarea(_arg1:Orb, _arg2:int):Boolean{
var _local3:int;
_local3 = Point.distance(new Point(_arg1.bmp.x, _arg1.bmp.y), new Point(0, 0));
if (_local3 > 60){
return (true);
};
return (false);
}
public static function addroto(_arg1:int):void{
var _local2:Roto;
_local2 = new Roto(new Point(0x0100, 0x0100), _arg1, 0, "default");
rotolist.push(_local2);
}
private static function gameloop(_arg1:Event):void{
var _local2:*;
var _local3:MovieClip;
Tick.getFtime();
LightArrow.updateAll();
for (_local2 in beatlist) {
_local3 = beatlist[_local2];
_local3.alpha = Math.max((_local3.alpha - (0.7 * Tick.ftime)), 0);
};
if (ml != null){
ml.alpha = Math.max((ml.alpha - (0.7 * Tick.ftime)), 0);
};
if (((hurtactive) && (!((game == null))))){
hurtalpha = Math.max((hurtalpha - (4 * Tick.ftime)), 0);
game.hurt.alpha = (Math.random() * hurtalpha);
game.hurt.rotation = (game.hurt.rotation + (30 * Tick.ftime));
if (game.hurt.alpha == 0){
hurtactive = false;
game.hurt.visible = false;
hurtalpha = 1;
};
};
switch (gstate){
case "win":
SoundMan.updateAll();
Particle.updateAll();
updateWinAnim();
break;
case "load":
break;
case "intro":
if (introfinished){
introplayed = true;
timeline.removeChild(timeline.ffg);
timeline.gotoAndStop("menu");
};
break;
case "menu":
doMainMenuStuff();
break;
case "pregame":
Points.parsepoints();
SoundMan.updateAll();
game.alpha = Math.min((game.alpha + 0.05), 1);
fadeglowers();
pgtimer = (pgtimer + 1);
if (pgtimer > 90){
};
moveSpace();
break;
case "playing":
SoundMan.updateAll();
Particle.updateAll();
Roto.updateAll();
normalgame();
moveSpace();
break;
case "levelcomplete":
Roto.updateAll();
SoundMan.updateAll();
if (lupready){
myhud.drainpoints();
};
fadeglowers();
moveSpace();
waveclock = 0;
Particle.updateAll();
if (bonusReady){
game.gameMenu.updateBonus();
};
if (gintrosReady){
game.gameMenu.spinIt();
};
break;
case "lupcomplete":
SoundMan.updateAll();
myhud.resetmenu();
lupready = false;
startlevel();
Roto.maxspinspeed = Math.min(((level + 5) * 0.2), 2);
Roto.oldmax = Roto.maxspinspeed;
moveSpace();
Particle.updateAll();
break;
case "paused":
SoundMan.updateAll();
Particle.updateAll();
fadeglowers();
moveSpace();
if (tutshowing){
tutclock = (tutclock - Tick.ftime);
};
break;
case "dead":
SoundMan.updateAll();
Particle.updateAll();
moveSpace();
break;
case "restart":
};
if (shaking){
game.x = ((0x0100 + (Math.random() * shakeforce)) - (shakeforce * 0.5));
game.y = ((0x0100 + (Math.random() * shakeforce)) - (shakeforce * 0.5));
shakeforce = Math.max((shakeforce * 0.85), 0);
shakeclock = (shakeclock + Tick.ftime);
if (shakeclock > shakedur){
shaking = false;
game.x = 0x0100;
game.y = 0x0100;
};
};
}
private static function moveSpace():void{
if (moveBG){
timeline.space_bg.x = (timeline.space_bg.x - (20 * Tick.ftime));
if (timeline.space_bg.x <= -1024){
timeline.space_bg.x = 0;
};
};
}
public static function killorbs():void{
var _local1:Orb;
for each (_local1 in orblist) {
_local1.kill();
};
orblist = [];
}
public static function addTroto(_arg1:int, _arg2:String):void{
var _local3:Roto;
_local3 = new Roto(new Point(0x0100, 0x0100), _arg1, (_arg1 + 1), _arg2);
rotolist.push(_local3);
}
public static function buildcmds(_arg1:int, _arg2:String):void{
var _local3:Object;
var _local4:int;
var _local5:Array;
var _local6:Object;
var _local7:int;
var _local8:int;
var _local9:Object;
var _local10:Number;
var _local11:int;
var _local12:int;
var _local13:int;
var _local14:*;
for each (_local3 in wavedata) {
_local11 = 0;
while (_local11 < _local3.wave.length) {
_local3.wave[_local11] = null;
_local11++;
};
_local3.wave = null;
_local3 = null;
};
wavedata = [];
totalorbs = 0;
switch (_arg2){
case "training":
_local5 = [];
_local6 = {};
_local12 = 5;
if (tutLevel > 1){
_local12 = 10;
};
_local8 = 0;
while (_local8 < _local12) {
totalorbs++;
_local9 = {};
_local9.burstdelay = 1.5;
_local9.grav = 120;
_local5.push(_local9);
_local8++;
};
_local6.wave = _local5;
wavedata.push(_local6);
break;
case "norm":
_local7 = 0;
while (_local7 < _arg1) {
_local4 = 5;
_local5 = [];
_local6 = {};
_local8 = 0;
while (_local8 < _local4) {
totalorbs++;
_local9 = {};
_local10 = (12 - Math.min(level, 11));
_local9.burstdelay = (Math.random() + ((_local10 * 0.1) + 0.15));
_local9.grav = ((Math.min((level + 28), 40) * 6) - (Math.random() * (_local8 * (_local10 * 2))));
_local5.push(_local9);
_local8++;
};
_local6.wave = _local5;
wavedata.push(_local6);
_local7++;
};
break;
case "quad":
_local7 = 0;
while (_local7 < _arg1) {
if (level < 8){
_local4 = 7;
} else {
if (level < 11){
_local4 = 9;
} else {
_local4 = 12;
};
};
_local5 = [];
_local6 = {};
_local8 = 0;
while (_local8 < _local4) {
totalorbs++;
_local9 = {};
_local14 = (Math.max((12 - level), 2) * 0.23);
_local9.burstdelay = Math.max((_local14 * 0.345), 0.315);
_local9.grav = 200;
_local5.push(_local9);
_local8++;
};
_local6.wave = _local5;
wavedata.push(_local6);
_local7++;
};
break;
case "terminal":
_local7 = 0;
while (_local7 < 12) {
_local4 = 12;
_local5 = [];
_local6 = {};
_local8 = 0;
while (_local8 < _local4) {
totalorbs++;
_local9 = {};
_local9.burstdelay = 0.28;
_local9.grav = 220;
_local5.push(_local9);
_local8++;
};
_local6.wave = _local5;
wavedata.push(_local6);
_local7++;
};
break;
case "speedup":
_local5 = [];
_local6 = {};
_local8 = 0;
while (_local8 < 100) {
totalorbs++;
_local9 = {};
_local13 = int(((Math.min(_local8, 50) / 50) * 12));
_local9.snd = SoundMan.goodsnds[_local13];
_local9.burstdelay = Math.max(((70 - _local8) * 0.015), 0.32);
_local9.grav = 220;
_local5.push(_local9);
_local8++;
};
_local6.wave = _local5;
wavedata.push(_local6);
break;
};
}
public static function win():void{
gstate = "win";
gameoverState = "winScore";
purgeall("win");
}
}
}//package
Section 170
//rotoloop (rotoloop)
package {
import flash.media.*;
public dynamic class rotoloop extends Sound {
}
}//package
Section 171
//spark (spark)
package {
import flash.display.*;
public dynamic class spark extends BitmapData {
public function spark(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 172
//spawnsphere (spawnsphere)
package {
import flash.display.*;
public dynamic class spawnsphere extends MovieClip {
public var finished:Boolean;
public function spawnsphere(){
addFrameScript(0, frame1, 40, frame41);
}
function frame1(){
finished = false;
}
function frame41(){
this.stop();
finished = true;
}
}
}//package
Section 173
//special (special)
package {
import flash.media.*;
public dynamic class special extends Sound {
}
}//package
Section 174
//spill (spill)
package {
import flash.media.*;
public dynamic class spill extends Sound {
}
}//package
Section 175
//star (star)
package {
import flash.display.*;
public dynamic class star extends BitmapData {
public function star(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 176
//steam (steam)
package {
import flash.media.*;
public dynamic class steam extends Sound {
}
}//package
Section 177
//tinyspark (tinyspark)
package {
import flash.display.*;
public dynamic class tinyspark extends Sprite {
}
}//package
Section 178
//tooEarly (tooEarly)
package {
import flash.display.*;
public dynamic class tooEarly extends Sprite {
}
}//package
Section 179
//win_loop (win_loop)
package {
import flash.media.*;
public dynamic class win_loop extends Sound {
}
}//package
Section 180
//winstar (winstar)
package {
import flash.display.*;
public dynamic class winstar extends Sprite {
}
}//package
Section 181
//zodigrime (zodigrime)
package {
import flash.media.*;
public dynamic class zodigrime extends Sound {
}
}//package