Section 1
//LevelData (code.game.data.LevelData)
package code.game.data {
import flash.net.*;
public class LevelData {
public static const GAME_OVER:int = 4;
public static const LEFT:int = 0;
public static const GAME_CLEAR:int = 5;
public static const BOTTOM:int = 3;
public static const TOP:int = 1;
public static const IN_GAME:int = 0;
public static const WORLD_COMPLETE:int = 3;
public static const LEVEL_FAILED:int = 1;
public static const TO_NEXT_PART:int = 2;
public static const RIGHT:int = 2;
public static var lives:Object = 0;
public static var curMiniLevel:int;
public static var score:Object = 0;
public static var diamondScores:Object = 0;
private static var localName:String = "DragoAdventure-0.000001";
public static var mapTopBot:Array;
public static var curState:int = 0;
public static var dialogs:Array = [[0, 1], [0, 0], [1, 0], [], [], [], []];
public static var curLevel:int;
public static var complete:int = 7;
public static var health:int;
public static var backDatas:Array;
public static var hearts:int;
public static var leftTime:int;
public static function addLevel():void{
curMiniLevel++;
if (((((!((curLevel == 4))) && ((curMiniLevel >= 2)))) || ((((curLevel == 4)) && ((curMiniLevel >= 3)))))){
curMiniLevel = 0;
curLevel++;
};
}
public static function init():void{
getData();
dataRefresh();
}
private static function getData():void{
var _local1:SharedObject;
_local1 = SharedObject.getLocal(localName, "/");
if (((!((_local1 == null))) && (!((_local1.data["lives"] == null))))){
lives = _local1.data["lives"];
hearts = _local1.data["hearts"];
health = _local1.data["health"];
curLevel = _local1.data["curLevel"];
curMiniLevel = _local1.data["curMiniLevel"];
} else {
dataInit();
};
}
public static function saveData():void{
var _local1:SharedObject;
_local1 = SharedObject.getLocal(localName, "/");
if (_local1 != null){
_local1.data["lives"] = int(lives);
_local1.data["hearts"] = hearts;
_local1.data["health"] = health;
_local1.data["curLevel"] = curLevel;
_local1.data["curMiniLevel"] = curMiniLevel;
};
}
public static function dataRefresh():void{
var _local1:int;
var _local2:int;
var _local3:int;
mapTopBot = new Array();
backDatas = new Array();
_local1 = 2;
_local2 = 0;
while (_local2 < 7) {
mapTopBot[_local2] = new Array();
backDatas[_local2] = new Array();
_local1 = ((_local2 == 4)) ? 3 : 2;
_local3 = 0;
while (_local3 < _local1) {
mapTopBot[_local2][_local3] = [0, 0, 0, 0];
backDatas[_local2][_local3] = [{url:(_local2 + ""), x:0.2, y:(1 / 6)}, {url:(_local2 + ""), x:0.5, y:0.5}];
_local3++;
};
_local2++;
};
mapTopBot[0][0] = [0, 400, 0, 0];
mapTopBot[1][1] = [0, 0, 0, 42];
mapTopBot[2][0] = [0, 0, 0, 1562];
mapTopBot[2][1] = [764, 0, 3032, 775];
mapTopBot[3][0] = [0, 0, 0, 402];
mapTopBot[3][1] = [0, 0, 0, 42];
mapTopBot[4][0] = [106, 0, 756, 187];
mapTopBot[5][0] = [2324, 0, 715, 1965];
mapTopBot[5][1] = [0, 0, 0, 158];
mapTopBot[6][0] = [0, 69, 160, 499];
mapTopBot[6][1] = [0, 0, 160, 728];
backDatas[2][1][0].url = "21";
backDatas[2][1][1].url = "21";
backDatas[3][0][1].url = "";
backDatas[3][1][0].url = "31";
backDatas[3][1][1].url = "";
backDatas[4][1][0].url = "41";
backDatas[4][1][1].url = "41";
backDatas[4][2][0].url = "41";
backDatas[4][2][1].url = "41";
backDatas[4][0][1].x = 0;
backDatas[4][1][1].x = 0;
backDatas[4][2][1].x = 0;
backDatas[5][1][0].url = "51";
backDatas[6][0][0].url = "";
backDatas[6][1][0].url = "";
backDatas[6][1][1].url = "61";
}
public static function dataInit():void{
lives = 10;
hearts = 4;
health = 4;
curLevel = 0;
curMiniLevel = 0;
diamondScores = 0;
score = 0;
}
}
}//package code.game.data
Section 2
//Drago (code.game.drago.Drago)
package code.game.drago {
import flash.events.*;
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.object.level2.*;
import flash.utils.*;
import code.ui.*;
import code.game.data.*;
public class Drago {
private var notCollidable:Boolean;
private var pausedTime:int;
private var _boundNumRate:Number;// = 1
private var curSpeedNum:Number;// = 0
private var tempVec:Vector;
private var boundNum:Number;// = 21
private var recInitHei:Number;
private var curSpeedVec:Vector;
var keyStates:Array;
private var timer:Timer;
var leftRight:Array;
var manState:int;
public var superKeyOnAir:Function;
public var superKeyOnLand:Function;
private var noCollidableTime:int;
private var lastKeyCode:int;// = -1
private var gc_motion:MovieClip;
private var curPausedTime:int;
private var playLayer:Sprite;
private var stateSpeedVec:Vector;
private var lastTime:int;
private var dragoGroup:Group;
var direction:int;// = 1
var level:Level;
private var rec:DragoRec;
private var dragoStates:Array;
var curStateMc:MovieClip;
public var superKeyOnLandUp:Function;
private var ifPaused:Boolean;
private var dragoMc:MovieClip;
private var speedNum:Number;// = 7
private var speedDir:int;// = 1
var speedVec:Vector;
private var bounceDelay:int;// = 5
var slopeDown:Boolean;
public static const SQUAT:int = 3;
public static const DRAGO_HEIGHT:int = 80;
public static const MOVE:int = 1;
public static const FLY:int = 2;
public static const STAND:int = 0;
public static var DRAGO_WIDTH:int = 60;
public static var HALF_HEIGHT:int = 40;
public static var HALF_WIDTH:int = 30;
public function Drago(_arg1:Level){
dragoStates = [];
curStateMc = new MovieClip();
lastKeyCode = -1;
keyStates = [-1, -1, -1, -1];
direction = 1;
speedDir = 1;
boundNum = 21;
_boundNumRate = 1;
speedNum = 7;
curSpeedNum = 0;
tempVec = new Vector();
bounceDelay = 5;
super();
this.level = _arg1;
speedVec = new Vector(1, 0);
stateSpeedVec = new Vector(1, 1);
curSpeedVec = new Vector();
leftRight = [];
getDrago();
}
public function get pausedState():Boolean{
return (ifPaused);
}
private function getDrago():void{
var _local1:MovieClip;
dragoMc = level.map.dragoMc;
dragoMc.stop();
playLayer = (dragoMc.parent as Sprite);
direction = (dragoMc.rotation) ? 0 : 1;
dragoMc.rotation = 0;
if (SuperPower.curSuperPower != null){
_local1 = dragoMc;
dragoMc = SuperPower.curSuperPower.superDrago;
rec = new DragoRec(_local1.x, _local1.y, dragoMc, this);
SuperPower.curSuperPower.toSuperState();
if (_local1.parent != null){
_local1.parent.removeChild(_local1);
};
} else {
rec = new DragoRec(dragoMc.x, dragoMc.y, dragoMc, this);
};
modifyScale("stand");
recInitHei = rec.height;
gc_motion = playLayer["gc_motion"];
if (gc_motion != null){
var _local2 = gc_motion;
_local2["startDialog"]();
gc_motion.addEventListener("dialogOver", dialogEnd, false, 0, true);
} else {
start();
};
}
public function del():void{
rec.del();
removeKeyEvent();
timer.removeEventListener(TimerEvent.TIMER, timerFun);
}
private function testDirection():void{
if (leftRight[0] == 0){
keyStates[3] = -1;
keyStates[2] = -1;
keyStates[0] = 0;
direction = 0;
speedDir = -1;
if (keyStates[1] != 0){
if (rec.ifCollision){
changeState("move");
manState = MOVE;
} else {
changeState("fly");
manState = MOVE;
};
};
} else {
if (leftRight[0] == 2){
keyStates[3] = -1;
keyStates[0] = -1;
keyStates[2] = 0;
direction = 1;
speedDir = 1;
if (keyStates[1] != 0){
if (rec.ifCollision){
changeState("move");
manState = MOVE;
} else {
changeState("fly");
manState = MOVE;
};
};
};
};
}
private function removeKeyEvent():void{
UI._stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
UI._stage.removeEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
}
public function setPaused(_arg1:Boolean=false, _arg2:int=0):void{
if (ifPaused == _arg1){
return;
};
if (_arg2 > 0){
if (curPausedTime > 0){
return;
};
if ((((SuperPower.curSuperPower == SuperPowerEarth.superPowerEarth)) && (SuperPowerEarth.dragoStandSuper))){
return;
};
SoundsManager.playSound("drago_injured", true, 0, 0.5);
changeState("hurt");
if (!GameShow.healthLock){
LevelData.health--;
playLayer.dispatchEvent(new Event("changeHealth", true));
if (LevelData.health <= 0){
if (level.dragoGlobalLoc.x >= 570){
rec.velocity = new Vector(-4, -18);
} else {
rec.velocity = new Vector(0, -18);
};
SoundsManager.playSound("drop_particle", true, 0, 0.4);
rec.collidable = false;
level.allSidePaused = true;
changeState("dead");
removeKeyEvent();
};
};
if (LevelData.health > 0){
SoundsManager.playSound("drago_dizzy", true, 0, 0.56);
};
curPausedTime = 0;
pausedTime = 5;
noCollidableTime = 60;
enemiesCollidable(false);
};
if (_arg1){
lastKeyCode = -1;
if (rec.dragoMoveMc != null){
rec.dragoMoveMc.gotoAndStop(1);
};
if (rec.dragoFlyMc != null){
rec.dragoFlyMc.gotoAndStop(1);
};
} else {
addKeyEvent();
if (rec.dragoMoveMc != null){
rec.dragoMoveMc.play();
};
if (rec.dragoFlyMc != null){
rec.dragoFlyMc.play();
};
};
ifPaused = _arg1;
}
private function getInstanceClass(_arg1:Object):String{
return (getQualifiedClassName(_arg1));
}
public function get collidableState():Boolean{
return (notCollidable);
}
public function setStateSpeed(_arg1:Number, _arg2:Number):void{
stateSpeedVec.x = _arg1;
stateSpeedVec.y = _arg2;
}
private function refreshSpeed():void{
curSpeedVec.x = ((speedVec.x * stateSpeedVec.x) * curSpeedNum);
curSpeedVec.y = ((speedVec.y * stateSpeedVec.y) * curSpeedNum);
}
private function addKeyEvent():void{
UI._stage.focus = UI._stage;
UI._stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
UI._stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
}
public function get recParticle():RectangleParticle{
return (rec);
}
private function start():void{
addGameShow();
rec.visible = true;
addKeyEvent();
timer = new Timer(bounceDelay);
timer.addEventListener(TimerEvent.TIMER, timerFun, false, 0, true);
}
private function keyDownHandler(_arg1:KeyboardEvent):void{
var _local2:int;
if (ifPaused){
return;
};
_local2 = _arg1.keyCode;
if (_local2 != lastKeyCode){
switch (_arg1.keyCode){
case 37:
if (leftRight.indexOf(0) == -1){
leftRight.unshift(0);
testDirection();
};
lastKeyCode = _local2;
break;
case 38:
case 65:
if (((rec.ifCollision) && (!(timer.running)))){
lastTime = getTimer();
timer.start();
};
lastKeyCode = _local2;
break;
case 39:
if (leftRight.indexOf(2) == -1){
leftRight.unshift(2);
testDirection();
};
lastKeyCode = _local2;
break;
case 40:
if (((((rec.ifCollision) && ((keyStates[0] == -1)))) && ((keyStates[2] == -1)))){
keyStates[3] = 0;
changeState("squat");
manState = SQUAT;
lastKeyCode = _local2;
};
break;
case 83:
case 32:
if (((rec.ifCollision) && (!((superKeyOnLand == null))))){
superKeyOnLand();
lastKeyCode = _local2;
};
if (((!(rec.ifCollision)) && (!((superKeyOnAir == null))))){
superKeyOnAir();
lastKeyCode = _local2;
};
break;
};
};
}
private function dialogEnd(_arg1:Event):void{
start();
gc_motion.removeEventListener("dialogOver", dialogEnd);
gc_motion = null;
}
public function enterFrame():void{
if (noCollidableTime > 0){
curPausedTime++;
if ((curPausedTime % 5) == 0){
dragoMc.alpha = 0.3;
} else {
if ((curPausedTime % 5) == 1){
dragoMc.alpha = 0.6;
};
};
if (curPausedTime == pausedTime){
ifPaused = false;
addKeyEvent();
pausedTime = 0;
} else {
if (curPausedTime >= noCollidableTime){
enemiesCollidable(true);
noCollidableTime = 0;
curPausedTime = 0;
};
};
};
if (!ifPaused){
if (leftRight[0] != null){
if (curSpeedNum < speedNum){
curSpeedNum = (curSpeedNum + 0.5);
} else {
curSpeedNum = speedNum;
};
} else {
if (curSpeedNum > 0){
curSpeedNum = (curSpeedNum - 1);
} else {
curSpeedNum = 0;
return;
};
};
refreshSpeed();
tempVec.x = (speedDir * curSpeedVec.x);
tempVec.y = curSpeedVec.y;
if (level.getRange(tempVec)){
rec.inteChangeLoc = tempVec;
};
};
}
public function get group():Group{
if (dragoGroup == null){
dragoGroup = new Group();
};
return (dragoGroup);
}
public function set getleftRight(_arg1:Array):void{
leftRight = _arg1;
}
public function bounce():void{
var _local1:Number;
timer.stop();
if (((rec.ifCollision) && (!(ifPaused)))){
SoundsManager.playSound("drago_bounce");
_local1 = (getTimer() - lastTime);
if (_local1 < 0){
_local1 = 0;
} else {
if (_local1 > bounceDelay){
_local1 = bounceDelay;
};
};
_local1 = (_local1 / (bounceDelay / 2.5));
rec.ifCollision = false;
rec.setVelocity(NaN, (-(((boundNum * _boundNumRate) / 3.5)) * (1 + _local1)));
changeState("fly");
manState = FLY;
if (rec.dragoFlyMc != null){
rec.dragoFlyMc.gotoAndPlay(1);
};
};
}
public function getCai():void{
var _local1:MovieClip;
var _local2:Point;
_local1 = new (UI.getUIClass("caixiaoguo"));
_local2 = dragoMc.localToGlobal(new Point(0, 40));
_local2 = level.coverDragoEngineCon.globalToLocal(_local2);
_local1.x = _local2.x;
_local1.y = _local2.y;
level.coverDragoEngineCon.addChild(_local1);
}
public function get dragoState():int{
return (manState);
}
private function keyUpHandler(_arg1:KeyboardEvent):void{
var _local2:int;
var _local3:int;
_local2 = _arg1.keyCode;
switch (_local2){
case 37:
keyStates[0] = -1;
_local3 = leftRight.indexOf(0);
if (_local3 != -1){
leftRight.splice(_local3, 1);
testDirection();
lastKeyCode = -1;
};
break;
case 38:
case 65:
lastKeyCode = -1;
break;
case 39:
keyStates[2] = -1;
_local3 = leftRight.indexOf(2);
if (_local3 != -1){
leftRight.splice(_local3, 1);
testDirection();
lastKeyCode = -1;
};
break;
case 40:
if (keyStates[3] == 0){
changeState("stand");
manState = STAND;
keyStates[3] = -1;
lastKeyCode = -1;
};
break;
case 83:
case 32:
if (superKeyOnLandUp != null){
superKeyOnLandUp();
lastKeyCode = -1;
};
break;
};
if (ifPaused){
removeKeyEvent();
};
}
public function getBoundNumRate():Number{
return (_boundNumRate);
}
private function modifyScale(_arg1:String):void{
var _local2:MovieClip;
var _local3:int;
dragoStates = [];
_local3 = 0;
while (_local3 < dragoMc.numChildren) {
_local2 = (dragoMc.getChildAt(_local3) as MovieClip);
dragoStates[_local2.name] = _local2;
if (_local2.name == (_arg1 + direction)){
_local2.gotoAndPlay(2);
_local2.visible = true;
} else {
_local2.gotoAndStop(1);
_local2.visible = false;
};
_local3++;
};
}
public function get insideMc():MovieClip{
return (curStateMc);
}
public function setBoundNumRate(_arg1:Number):void{
_boundNumRate = _arg1;
}
function get dragoStateStr():String{
if (curStateMc == null){
return ("");
};
return (curStateMc.name);
}
public function changeState(_arg1:String, _arg2:int=-1):void{
var _local3:int;
var _local4:*;
_local3 = direction;
if ((((_arg2 == 0)) || ((_arg2 == 1)))){
_local3 = _arg2;
};
if (dragoStateStr == (_arg1 + _local3)){
return;
};
if (_arg1 == "squat"){
rec.height = (recInitHei * 0.7);
rec.inteChangeLoc = new Vector(0, ((recInitHei * 0.3) * 0.5));
dragoMc.y = ((-(recInitHei) * 0.3) * 0.5);
} else {
if (manState == SQUAT){
rec.height = recInitHei;
rec.inteChangeLoc = new Vector(0, ((-(recInitHei) * 0.3) * 0.5));
dragoMc.y = 0;
};
};
direction = _local3;
curStateMc = dragoStates[(_arg1 + direction)];
for (_local4 in dragoStates) {
if (dragoStates[_local4] != curStateMc){
dragoStates[_local4].visible = false;
dragoStates[_local4].gotoAndStop(1);
};
};
curStateMc.visible = true;
curStateMc.gotoAndPlay(2);
}
private function enemiesCollidable(_arg1:Boolean):void{
var _local2:*;
var _local3:Object;
for (_local2 in level.map.allParticles[Map.ENEMY2]) {
level.map.allParticles[Map.ENEMY2][_local2].collidable = _arg1;
};
if (_arg1){
dragoMc.alpha = 1;
notCollidable = false;
for (_local2 in level.map.allParticles[Map.ENEMY]) {
level.map.removeFromMap(level.map.allParticles[Map.ENEMY][_local2], Map.THRU);
level.map.allParticles[Map.ENEMY][_local2].collidable = _arg1;
};
} else {
dragoMc.alpha = 0.6;
notCollidable = true;
for (_local2 in level.map.allParticles[Map.ENEMY]) {
_local3 = level.map.allParticles[Map.ENEMY][_local2];
_local3["collidable"] = _arg1;
if (level.map.allParticles[Map.THRU].indexOf(_local3) == -1){
level.map.allParticles[Map.THRU].push(_local3);
};
};
};
}
private function addGameShow():void{
if (UI.manager.ui_show != null){
UI.manager.ui_show.start = true;
} else {
level.ui_showStart = true;
};
}
public function get getleftRight():Array{
return (leftRight);
}
public function get notInAlpha():Boolean{
return (!(curPausedTime));
}
public function switchDrago(_arg1:MovieClip):MovieClip{
var _local2:MovieClip;
var _local3:String;
if (getInstanceClass(_arg1) == getInstanceClass(dragoMc)){
return (null);
};
SoundsManager.playSound("drago_change_state");
_local2 = dragoMc;
_local3 = curStateMc.name;
_local2.alpha = 1;
_local2.stop();
dragoMc = _arg1;
dragoMc.alpha = 1;
dragoMc.visible = true;
rec.setDisplay(dragoMc);
rec.init();
if (_local3.slice(0, -1) == "stand"){
modifyScale("stand");
} else {
modifyScale("move");
};
return (_local2);
}
private function timerFun(_arg1:TimerEvent):void{
bounce();
}
}
}//package code.game.drago
Section 3
//DragoRec (code.game.drago.DragoRec)
package code.game.drago {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
public class DragoRec extends RectangleParticle {
private var boundComulate:Boolean;
var ifCollision:Boolean;
private var _lastHitRec2:AbstractParticle;
private var tempCount:int;
public var onGotLand:Function;
public var drago:Drago;
private var _lastHitRec:AbstractParticle;
public var onCollistion2:Function;
private var _extraVelosity:Vector;
public static var dragoRec:DragoRec;
public function DragoRec(_arg1:Number, _arg2:Number, _arg3:MovieClip, _arg4:Drago){
_extraVelosity = new Vector();
super(_arg1, _arg2, (Drago.DRAGO_WIDTH * 0.8), (Drago.DRAGO_HEIGHT * 0.8), 0, false, 300, 0, 0);
setStyle(1, 11189179, 1, 7833719, 1);
_arg4.group.addParticle(this);
_arg3.alpha = 1;
setDisplay(_arg3);
container = _arg4.level.dragoEngineCon;
visible = false;
this.drago = _arg4;
dragoRec = this;
}
public function del():void{
}
private function onCollision(_arg1:UserEvent):void{
var _local2:int;
_local2 = _arg1.data["p"].itemNum;
if (_local2 == AbstractItem.MOVE){
_arg1.data["p"].hitDrago(_arg1);
};
if (drago.pausedState){
return;
};
if (_arg1.data["mtd"].y < 0){
if (onGotLand != null){
onGotLand();
};
if (!ifCollision){
ifCollision = true;
drago.changeState("fly");
drago.manState = Drago.FLY;
drago.keyStates[1] = 0;
} else {
if ((((drago.keyStates[0] == 0)) || ((drago.keyStates[2] == 0)))){
if (drago.manState != 1){
drago.changeState("move");
drago.keyStates[1] = -1;
drago.manState = Drago.MOVE;
};
} else {
if (drago.keyStates[1] == 0){
if (dragoFlyMc != null){
if (dragoFlyMc.currentFrame <= 14){
dragoFlyMc.gotoAndPlay(15);
dragoFlyMc.addFrameScript((dragoFlyMc.totalFrames - 2), dragoFlyMcEnd);
};
};
} else {
if (drago.keyStates[3] != 0){
if (drago.manState != 0){
drago.changeState("stand");
drago.manState = Drago.STAND;
};
};
};
};
};
};
if (onCollistion2 != null){
onCollistion2();
};
}
function dispatchMinus(_arg1:Vector):void{
var _local2:UserEvent;
_local2 = new UserEvent("whenLocUpdate");
_local2.data["minus"] = _arg1;
sprite.dispatchEvent(_local2);
}
private function hitOtherPre(_arg1:UserEvent):void{
if (_arg1.data["p"].itemNum == AbstractItem.ENEMY){
_arg1.data["p"].hitDrago(_arg1, this);
};
}
private function hitOther(_arg1:UserEvent):void{
switch (_arg1.data["p"].itemNum){
case AbstractItem.STRAW:
case AbstractItem.OTHERS:
case AbstractItem.CHECK:
_arg1.data["p"].hitDrago(_arg1, this);
break;
};
}
public function setDragoSpeed(_arg1:Number=1, _arg2:Number=0):void{
drago.speedVec.x = _arg1;
drago.speedVec.y = _arg2;
}
public function get lastHitRec0():AbstractParticle{
return (_lastHitRec);
}
function get dragoFlyMc():MovieClip{
if (drago.dragoStateStr.slice(0, 3) == "fly"){
return (drago.curStateMc);
};
return (null);
}
public function setVelocity(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Boolean=false):void{
if (isNaN(_arg1)){
_arg1 = this.velocity.x;
};
if (isNaN(_arg2)){
_arg2 = this.velocity.y;
};
if (boundComulate){
this.velocity = new Vector((velocity.x + _arg1), (velocity.y + _arg2));
boundComulate = false;
} else {
this.velocity = new Vector((_extraVelosity.x + _arg1), (_extraVelosity.y + _arg2));
};
boundComulate = _arg3;
}
public function set inteChangeLoc(_arg1:Vector):void{
super.changePosition = _arg1;
}
private function dragoFlyMcEnd():void{
if (dragoFlyMc != null){
dragoFlyMc.addFrameScript((dragoFlyMc.totalFrames - 2), null);
dragoFlyMc.gotoAndStop(1);
drago.keyStates[1] = -1;
if (drago.manState == Drago.FLY){
};
};
}
public function get lastHitRec2():AbstractParticle{
return (_lastHitRec2);
}
override public function resolveCollision(_arg1:Vector, _arg2:Vector, _arg3:Vector, _arg4:Number, _arg5:int, _arg6:AbstractParticle):void{
var _local7:UserEvent;
var _local8:Boolean;
if (fixed){
return;
};
_local7 = new UserEvent("onCollision");
_local7.data["p"] = _arg6;
_local7.data["mtd"] = _arg1;
_local7.data["minus"] = curr.minus(prev);
onCollision(_local7);
if (_lastHitRec != _arg6){
_local7 = new UserEvent("whenHitOther");
_local7.data["mtd"] = _arg1;
_local7.data["vel"] = _arg2;
_local7.data["n"] = _arg3;
_local7.data["d"] = _arg4;
_local7.data["o"] = _arg5;
_local7.data["p"] = _arg6;
_local7.data["minus"] = curr.minus(prev);
_local8 = true;
};
if (_local8){
hitOtherPre(_local7);
};
if (_arg6["itemNum"] == AbstractItem.SLOPE){
curr.y = (curr.y + _arg1.y);
_arg1.x = 0;
prev.copy(curr);
if ((_arg6 is RectangleParticle)){
setDragoSpeed((_arg6 as RectangleParticle).axes[0].x, 0);
};
} else {
if (_arg6["itemNum"] != AbstractItem.RATTAN){
setDragoSpeed(1, 0);
};
if (_arg6["itemNum"] == AbstractItem.STRAW){
super.changePosition = _arg1;
if (_arg1.y == 0){
velocity = _arg2;
};
} else {
super.changePosition = _arg1;
if (_arg1.y != 0){
velocity = _arg2;
};
};
};
if (_local8){
hitOther(_local7);
_lastHitRec = _arg6;
_lastHitRec2 = _arg6;
};
dispatchMinus(_arg1);
tempCount = 0;
}
override public function update(_arg1:Number):void{
super.update(_arg1);
dispatchMinus(curr.minus(prev));
tempCount++;
if (tempCount > 3){
_lastHitRec = null;
tempCount = 0;
ifCollision = false;
if (dragoMoveMc != null){
dragoMoveMc.stop();
};
};
}
function get dragoMoveMc():MovieClip{
if (drago.dragoStateStr.slice(0, 4) == "move"){
return (drago.curStateMc);
};
return (null);
}
override public function set changePosition(_arg1:Vector):void{
super.changePosition = _arg1;
dispatchMinus(_arg1);
}
}
}//package code.game.drago
Section 4
//Enemies (code.game.enemy.Enemies)
package code.game.enemy {
import flash.display.*;
import code.game.*;
import flash.geom.*;
public class Enemies {
private var con:Sprite;
private var enemies:Array;
static var map:Map;
public function Enemies(_arg1:Sprite, _arg2:Map){
Enemies.map = _arg2;
this.con = _arg1;
getEnemies();
}
private function getEnemies():void{
var _local1:int;
var _local2:Sprite;
var _local3:String;
var _local4:Point;
var _local5:int;
var _local6:Class;
enemies = [];
_local1 = con.numChildren;
_local5 = 0;
while (_local5 < _local1) {
_local2 = (con.getChildAt(_local5) as Sprite);
_local3 = _local2.name.slice(0, 1);
if (_local3 != "h"){
_local6 = getEnemyClass(_local3);
if (_local6 == null){
} else {
_local4 = _local2.localToGlobal(new Point(0, 0));
enemies.push(new _local6(_local4, _local2));
};
};
_local5++;
};
}
public function del():void{
var _local1:*;
for (_local1 in enemies) {
enemies[_local1].del();
};
}
private function getEnemyClass(_arg1:String):Class{
switch (_arg1){
case "s":
return (Straw);
case "p":
return (Pig);
case "n":
return (EnemyMove);
default:
return (null);
};
}
}
}//package code.game.enemy
Section 5
//EnemyMove (code.game.enemy.EnemyMove)
package code.game.enemy {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
public class EnemyMove extends Normal {
private var tempInit:int;
protected var speedx:Number;// = 0
protected var range:Array;
protected var moveMc:MovieClip;
protected var mc:MovieClip;
private var rangeInt:int;
protected var wid:Number;
public function EnemyMove(_arg1:Point, _arg2:Sprite, _arg3:Boolean=true, _arg4:Number=2000, _arg5:Number=0, _arg6:Number=0){
speedx = 0;
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
mc = (_arg2 as MovieClip);
mc.addFrameScript(0, getMoveMc, 1, getMoveMc);
mc.gotoAndStop("turn1");
moveMc = mc["mc"];
getRange(mc.parent[("h" + mc.name)]);
itemNum = AbstractItem.ENEMY;
alwaysRepaint = true;
setDisplay(_arg2);
Enemies.map.group.addParticle(this);
Enemies.map.allParticles[Map.ENEMY].push(this);
}
override public function del():void{
super.del();
}
private function getMoveMc():void{
moveMc = mc["mc"];
}
override public function paint():void{
super.paint();
if (range != null){
enterFrame();
};
}
protected function enterFrame():void{
tempInit++;
px = (px + speedx);
if (tempInit >= rangeInt){
tempInit = 0;
speedx = (speedx * -1);
sprite.scaleX = (sprite.scaleX * -1);
};
testRemove();
}
override public function die():void{
super.die();
if (moveMc != null){
moveMc.stop();
};
tempInit = 0;
}
override protected function getRange(_arg1:Sprite=null):void{
var _local2:Point;
if (_arg1 != null){
wid = _arg1.width;
if (wid > mc.width){
range = [];
_local2 = _arg1.localToGlobal(new Point(0, 0));
range[0] = new Vector((_local2.x - (wid / 2)), _local2.y);
range[1] = new Vector(_local2.x, _local2.y);
range[2] = new Vector((_local2.x + (wid / 2)), _local2.y);
speedx = -2;
rangeInt = (wid / Math.abs(speedx));
px = range[2].x;
mc.gotoAndStop("turn0");
} else {
if (moveMc != null){
moveMc.stop();
};
};
if (_arg1.parent != null){
_arg1.visible = false;
};
};
}
override public function resolveCollision(_arg1:Vector, _arg2:Vector, _arg3:Vector, _arg4:Number, _arg5:int, _arg6:AbstractParticle):void{
}
}
}//package code.game.enemy
Section 6
//MonkeyBumper (code.game.enemy.MonkeyBumper)
package code.game.enemy {
import flash.display.*;
import flash.geom.*;
public class MonkeyBumper extends MovieClip {
public var range_mc:MovieClip;
private var rec:MonkeyBumperRec;
public function MonkeyBumper(){
var _local1:Sprite;
super();
_local1 = this["range_mc"];
rec = new MonkeyBumperRec(_local1.localToGlobal(new Point(0, 0)), this);
rec.setDisplay(this);
_local1.visible = false;
}
public function del():void{
}
}
}//package code.game.enemy
Section 7
//MonkeyBumperRec (code.game.enemy.MonkeyBumperRec)
package code.game.enemy {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
public class MonkeyBumperRec extends Normal {
private var initLoc:Vector;
private var speed:int;// = 4
private var tempInt:int;
private var direction:int;// = 1
private var initScaleX:Number;
private var carMc:MovieClip;
private var radius:int;// = 200
private static var playCar:MonkeyBumperRec;
public function MonkeyBumperRec(_arg1:Point, _arg2:MovieClip){
radius = 200;
speed = 4;
direction = 1;
super(_arg1, _arg2["range_mc"], true, 1000, 0, 0);
itemNum = AbstractItem.ENEMY;
carMc = _arg2;
initScaleX = carMc.scaleX;
_arg1 = carMc.localToGlobal(new Point(0, 0));
initLoc = new Vector(_arg1.x, _arg1.y);
if (carMc.name.slice(0, 3) == "len"){
radius = (int(carMc.name.slice(3)) / 2);
};
this.alwaysRepaint = true;
Properties.bindObjs.push([this, Map.ENEMY]);
Properties.bindForDel.push(del);
}
override public function del():void{
playCar = null;
SoundsManager.stopSound("monkey_drive");
Enemies.map.removeParticle(this, Map.ENEMY);
}
override public function paint():void{
super.paint();
px = (px + (speed * direction));
tempInt++;
if (tempInt > 2){
if ((((((((DragoRec.dragoRec.px > (initLoc.x - radius))) && ((DragoRec.dragoRec.px < (initLoc.x + radius))))) && ((Math.abs((DragoRec.dragoRec.py - initLoc.y)) < 30)))) && (!(DragoRec.dragoRec.drago.collidableState)))){
if (px > DragoRec.dragoRec.px){
converse(-1);
} else {
converse(1);
};
speed = 6;
} else {
if (px <= (initLoc.x - radius)){
converse(1);
speed = 4;
} else {
if (px >= (initLoc.x + radius)){
converse(-1);
speed = 4;
};
};
};
if ((((px > 0)) && ((px < 580)))){
};
tempInt = 0;
};
testRemove();
}
private function converse(_arg1:int):void{
var _local2:Point;
var _local3:Boolean;
carMc.scaleX = (-(_arg1) * initScaleX);
direction = _arg1;
_local2 = carMc.localToGlobal(new Point());
_local3 = true;
if ((((((((_local2.y > 425)) || ((_local2.y < -45)))) || ((_local2.x > 620)))) || ((_local2.x < -40)))){
_local3 = false;
};
if (playCar != this){
if (_local3){
SoundsManager.playSound("monkey_drive", true, 6);
playCar = this;
};
} else {
if (!_local3){
SoundsManager.stopSound("monkey_drive");
playCar = null;
};
};
}
}
}//package code.game.enemy
Section 8
//MonkeySeed (code.game.enemy.MonkeySeed)
package code.game.enemy {
import flash.utils.*;
public class MonkeySeed extends MonkeyStone {
public var seed_init_mc:Seed;
override protected function valueInit():void{
stoneLocSp = this["seed_init_mc"];
getLocPoint();
stoneCla = (getDefinitionByName("Seed") as Class);
recClass = SeedRec;
this.addFrameScript(45, mcBack, 57, throwStone, (this.totalFrames - 1), mcBack);
}
private function mcBack():void{
this.gotoAndPlay(1);
}
override protected function testShot():void{
if (atRange){
shotInt++;
if (shotInt > toShotInt){
shotInt = 0;
toShotInt = ((Math.random() * 10) + 90);
if (Math.random() > 0.3){
throwStone();
};
this.gotoAndPlay(47);
};
} else {
toShotInt = 10;
};
}
}
}//package code.game.enemy
Section 9
//MonkeyStone (code.game.enemy.MonkeyStone)
package code.game.enemy {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import code.game.drago.*;
import flash.utils.*;
public class MonkeyStone extends MovieClip {
protected var stoneLoc0:Point;
protected var stoneLoc1:Point;
public var init_mc:Stone;
protected var stoneLocSp:Sprite;
private var tempInt:int;
private var direction:int;
private var rec:MonkeyStoneRec;
protected var stoneCla:Class;
protected var toShotInt:int;// = 10
protected var shotInt:int;
private var globalLoc:Point;
private var initScaleX:Number;
protected var atRange:Boolean;
private var shotNums:int;
protected var recClass:Class;
public function MonkeyStone(){
toShotInt = 10;
super();
Properties.bindFrameObjs.push(enterFrame);
rec = new MonkeyStoneRec(this.localToGlobal(new Point(0, 0)), this);
rec.setDisplay(this);
initScaleX = this.scaleX;
valueInit();
}
public function del():void{
this.stop();
Properties.removeEnterFrame(enterFrame);
}
protected function throwStone():void{
var _local1:MovieClip;
if (rec.monkeyDie){
return;
};
_local1 = new stoneCla();
_local1.stop();
if (direction == -1){
new recClass(stoneLoc0, direction, _local1);
} else {
new recClass(stoneLoc1, direction, _local1);
};
shotNums++;
if (shotNums < 2){
this.gotoAndPlay(8);
};
}
protected function valueInit():void{
stoneLocSp = this["init_mc"];
getLocPoint();
stoneCla = (getDefinitionByName("Stone") as Class);
recClass = StoneRec;
this.stop();
this.addFrameScript(11, throwStone);
}
public function enterFrame():void{
if (rec.testRemove()){
del();
return;
};
tempInt++;
if (tempInt >= 4){
globalLoc = this.localToGlobal(new Point(0, 0));
if ((((((((globalLoc.x > -30)) && ((globalLoc.x < 610)))) && ((globalLoc.y > -30)))) && ((globalLoc.y < 410)))){
atRange = true;
} else {
atRange = false;
shotInt = 0;
toShotInt = 15;
};
tempInt = 0;
if (rec.px > DragoRec.dragoRec.px){
this.scaleX = initScaleX;
direction = -1;
} else {
this.scaleX = (-1 * initScaleX);
direction = 1;
};
};
testShot();
}
protected function getLocPoint():void{
stoneLoc0 = stoneLocSp.localToGlobal(new Point(0, 0));
this.scaleX = (-1 * initScaleX);
stoneLoc1 = stoneLocSp.localToGlobal(new Point(0, 0));
}
protected function testShot():void{
if (atRange){
shotInt++;
if (shotInt > toShotInt){
shotInt = 0;
toShotInt = ((Math.random() * 30) + 60);
this.gotoAndPlay(2);
shotNums = 0;
};
};
}
}
}//package code.game.enemy
Section 10
//MonkeyStoneRec (code.game.enemy.MonkeyStoneRec)
package code.game.enemy {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
public class MonkeyStoneRec extends Normal {
var monkeyDie:Boolean;
public function MonkeyStoneRec(_arg1:Point, _arg2:MovieClip){
super(_arg1, _arg2, true, 1, 0, 0);
itemNum = AbstractItem.ENEMY;
Properties.bindObjs.push([this, Map.ENEMY]);
this.alwaysRepaint = true;
}
override public function del():void{
Enemies.map.removeParticle(this, Map.ENEMY);
}
override public function die():void{
super.die();
monkeyDie = true;
}
}
}//package code.game.enemy
Section 11
//Normal (code.game.enemy.Normal)
package code.game.enemy {
import flash.events.*;
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
import flash.utils.*;
import code.game.data.*;
public class Normal extends UserRec {
private var lianji:int;// = 1
private var bound:Vector;
protected var score:int;// = 100
protected var haveDie:Boolean;
private static var scoreMcClass:Class = (getDefinitionByName("showScoreMc") as Class);
public function Normal(_arg1:Point, _arg2:Sprite, _arg3:Boolean=true, _arg4:Number=2000, _arg5:Number=0, _arg6:Number=0){
lianji = 1;
score = 100;
bound = new Vector(-5, -5);
super(_arg1.x, _arg1.y, (_arg2.width * 0.8), _arg2.height, 0, _arg3, _arg4, _arg5, _arg6);
}
protected function dragoGetBounce(_arg1:Vector):void{
DragoRec.dragoRec.velocity = _arg1;
}
override public function del():void{
Enemies.map.removeParticle(this, Map.ENEMY);
}
protected function dragoGetHit():void{
bound.x = ((DragoRec.dragoRec.px > px)) ? 5 : -5;
setTimeout(dragoGetBounce, 5, new Vector(bound.x, (bound.y * 2)));
dragoDamaged();
}
public function die():void{
SoundsManager.playSound("enemy_step_on_die");
getScoreShow(score);
fixed = false;
collidable = false;
velocity = new Vector(0, -5);
sprite.scaleY = (sprite.scaleY * 0.8);
haveDie = true;
}
protected function getHitByDrago():void{
DragoRec.dragoRec.drago.getCai();
die();
}
protected function dragoDamaged():void{
DragoRec.dragoRec.drago.setPaused(true, 25);
}
override public function resolveCollision(_arg1:Vector, _arg2:Vector, _arg3:Vector, _arg4:Number, _arg5:int, _arg6:AbstractParticle):void{
}
public function testRemove():Boolean{
if (haveDie){
if (sprite.localToGlobal(new Point(0, 0)).y > 650){
del();
return (true);
};
};
return (false);
}
public function hitDrago(_arg1:UserEvent, _arg2:RectangleParticle):Vector{
var _local3:Vector;
_local3 = _arg1.data["mtd"];
bound = new Vector(-5, -5);
if (_local3.y != 0){
if (_arg2.py < py){
if (_arg2.velocity.y > 0){
bound.x = 0;
bound.y = ((_local3.y > 0)) ? 6 : -6;
setTimeout(dragoGetBounce, 5, new Vector(bound.x, (bound.y * 2.9)));
getHitByDrago();
};
} else {
dragoGetHit();
};
} else {
dragoGetHit();
};
return (bound);
}
public function getScoreShow(_arg1:int):void{
var _local2:MovieClip;
var _local3:Sprite;
var _local4:Point;
if ((DragoRec.dragoRec.lastHitRec2 is Normal)){
lianji++;
LevelData.score = (int(LevelData.score) + (lianji * 100));
} else {
LevelData.score = (int(LevelData.score) + 100);
lianji = 1;
};
sprite.dispatchEvent(new Event("changeScore", true));
_local2 = (new scoreMcClass() as MovieClip);
_local2["scoreMc"]["score"].autoSize = "center";
_local2["scoreMc"]["score"].text = ("+" + (lianji * _arg1)).toString();
_local3 = Properties.map.level.coverDragoEngineCon;
_local4 = _local3.globalToLocal(sprite.localToGlobal(new Point()));
_local2.x = _local4.x;
_local2.y = _local4.y;
_local3.addChild(_local2);
}
}
}//package code.game.enemy
Section 12
//Pig (code.game.enemy.Pig)
package code.game.enemy {
import flash.display.*;
import org.cove.ape.*;
import flash.geom.*;
import code.game.drago.*;
import code.ui.*;
public class Pig extends EnemyMove {
private var readyInt:int;
private var direction:int;
private var tempName:String;
private var ifAttack:int;
public function Pig(_arg1:Point, _arg2:Sprite){
super(_arg1, _arg2, true, 2000, 0, 0);
moveMc.stop();
speedx = 2;
px = range[1].x;
tempName = _arg2.name;
}
override protected function enterFrame():void{
if (ifAttack == 0){
if ((((DragoRec.dragoRec.px > range[0].x)) && ((DragoRec.dragoRec.px < range[2].x)))){
if ((((Math.abs((DragoRec.dragoRec.py - py)) < 80)) && (!(DragoRec.dragoRec.drago.collidableState)))){
if (DragoRec.dragoRec.px > px){
direction = 1;
mc.gotoAndStop("chong1");
ifAttack = 1;
} else {
direction = -1;
mc.gotoAndStop("chong0");
ifAttack = 1;
};
readyInt = 0;
moveMc.play();
};
};
} else {
if (ifAttack == 1){
if (readyInt < 30){
readyInt++;
} else {
ifAttack = 2;
speedx = 13;
if (direction == 1){
mc.gotoAndStop("turn1");
} else {
mc.gotoAndStop("turn0");
};
getSmoke();
};
} else {
if (ifAttack == 2){
readyInt++;
if (speedx > 0.2){
px = (px + (direction * speedx));
speedx = (speedx - 0.3);
if ((((readyInt < 60)) && (((readyInt % 3) == 0)))){
getSmoke();
};
} else {
if (readyInt > 100){
mc.gotoAndStop(("turn" + (mc.currentFrame - 1)));
ifAttack = -1;
readyInt = 0;
};
};
} else {
if (ifAttack == -1){
px = (px + speedx);
if (Math.abs((px - range[1].x)) < 5){
ifAttack = 0;
moveMc.gotoAndStop(1);
} else {
if (px > range[1].x){
speedx = -2;
} else {
if (px < range[1].x){
speedx = 2;
};
};
};
};
};
};
};
if (haveDie){
if (py > 650){
del();
};
};
}
private function getSmoke():void{
var _local1:MovieClip;
_local1 = new (UI.getUIClass("smoke"));
_local1.x = 20;
_local1.y = 3;
moveMc.addChildAt(_local1, 0);
}
override public function set changePosition(_arg1:Vector):void{
super.changePosition = _arg1;
range[0] = range[0].plusEquals(_arg1);
range[1] = range[1].plusEquals(_arg1);
range[2] = range[2].plusEquals(_arg1);
}
}
}//package code.game.enemy
Section 13
//SeedRec (code.game.enemy.SeedRec)
package code.game.enemy {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.*;
public class SeedRec extends Normal {
private var tempInt:int;
private var globalLoc:Point;
public function SeedRec(_arg1:Point, _arg2:int, _arg3:Sprite):void{
super(_arg1, _arg3, false, 1);
SoundsManager.playSound("enemy_throw", true, 0, 0.5);
this.setDisplay(_arg3);
this.alwaysRepaint = true;
itemNum = AbstractItem.ENEMY;
Enemies.map.group.addParticle(this);
Enemies.map.allParticles[Map.ENEMY].push(this);
this.velocity = new Vector((_arg2 * 11), -12);
tempInt = 1;
}
override public function paint():void{
super.paint();
if (tempInt > 0){
this.changePosition = new Vector(0, -1);
tempInt++;
if (tempInt > 80){
tempInt = 0;
};
};
globalLoc = this.sprite.localToGlobal(new Point(0, 0));
if ((((((globalLoc.x < 0)) || ((globalLoc.x > 580)))) || ((globalLoc.y > 500)))){
del();
};
}
override public function hitDrago(_arg1:UserEvent, _arg2:RectangleParticle):Vector{
_arg1.data["mtd"].y = 0;
Enemies.map.removeFromMap(this, Map.ENEMY);
this.collidable = false;
return (super.hitDrago(_arg1, _arg2));
}
}
}//package code.game.enemy
Section 14
//StoneRec (code.game.enemy.StoneRec)
package code.game.enemy {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.*;
public class StoneRec extends Normal {
private var direction:int;
private var globalLoc:Point;
public function StoneRec(_arg1:Point, _arg2:int, _arg3:Sprite):void{
super(_arg1, _arg3, true, 1000);
SoundsManager.playSound("enemy_throw", true, 0, 0.5);
this.setDisplay(_arg3);
this.alwaysRepaint = true;
itemNum = AbstractItem.ENEMY;
Enemies.map.group.addParticle(this);
Enemies.map.allParticles[Map.ENEMY].push(this);
direction = _arg2;
}
override public function paint():void{
super.paint();
px = (px + (direction * 10));
globalLoc = this.sprite.localToGlobal(new Point(0, 0));
if ((((((globalLoc.x < 0)) || ((globalLoc.x > 580)))) || ((globalLoc.y > 500)))){
del();
};
}
protected function setInit():void{
}
override public function hitDrago(_arg1:UserEvent, _arg2:RectangleParticle):Vector{
_arg1.data["mtd"].y = 0;
Enemies.map.removeFromMap(this, Map.ENEMY);
this.collidable = false;
this.fixed = false;
direction = 0;
return (super.hitDrago(_arg1, _arg2));
}
}
}//package code.game.enemy
Section 15
//Straw (code.game.enemy.Straw)
package code.game.enemy {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.*;
import code.game.drago.*;
public class Straw extends EnemyMove {
public function Straw(_arg1:Point, _arg2:Sprite){
super(_arg1, _arg2);
itemNum = AbstractItem.STRAW;
}
override public function die():void{
}
override public function hitDrago(_arg1:UserEvent, _arg2:RectangleParticle):Vector{
var _local3:Vector;
_local3 = _arg1.data["mtd"];
if (_local3.y < 0){
SoundsManager.playSound("step_on1");
SoundsManager.playSound("straw_dizzy");
(_arg2 as DragoRec).setVelocity(0, -15);
(_arg2 as DragoRec).drago.getCai();
mc.gotoAndPlay(1);
};
return (_local3);
}
}
}//package code.game.enemy
Section 16
//AbsSpringObject (code.game.object.level0.AbsSpringObject)
package code.game.object.level0 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
public class AbsSpringObject extends RectangleParticle {
protected var haveHit:Boolean;
protected var mc:MovieClip;
public function AbsSpringObject(_arg1:Point, _arg2:Sprite){
super((_arg1.x + (_arg2.width / 2)), (_arg1.y + (_arg2.height / 2)), _arg2.width, (_arg2.height * 1.2), 0, true, 1, 0, 0.1);
mc = (_arg2 as MovieClip);
mc.stop();
mc.addFrameScript((mc.totalFrames - 13), executeFun);
mc.addFrameScript((mc.totalFrames - 1), del);
itemNum = AbstractItem.OTHERS;
addToGroup();
objInit();
}
public function hitDrago(_arg1:UserEvent, _arg2:RectangleParticle):void{
if (!haveHit){
if (_arg1.data["mtd"].y < 0){
SoundsManager.playSound("step_on_case");
haveHit = true;
mc.play();
};
};
}
protected function objInit():void{
}
public function del():void{
mc.stop();
if (mc.parent != null){
mc.parent.removeChild(mc);
};
}
protected function addToGroup():void{
Properties.map.group.addParticle(this);
Properties.map.allParticles[Map.SOLID].push(this);
}
protected function executeFun():void{
Properties.map.removeParticle(this, Map.SOLID);
}
}
}//package code.game.object.level0
Section 17
//GetRangeMc (code.game.object.level0.GetRangeMc)
package code.game.object.level0 {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import code.game.drago.*;
import code.game.data.*;
public class GetRangeMc extends MovieClip {
private var range:Array;
private var ry:int;
private var loc:Point;
private var rx:int;
private static var targets:Array = [];
private static var change:Boolean;
private static var mc:MovieClip;
private static var speedArrs:Array = [0, 0, 0, 0];
private static var curRange:GetRangeMc;
public function GetRangeMc(){
Properties.bindFrameObjs.push(enterFrame);
rx = (this.width / 2);
ry = (this.height / 2);
getRange();
loc = this.localToGlobal(new Point(0, 0));
this.visible = false;
}
public function enterFrame():void{
if (Math.abs((DragoRec.dragoRec.px - loc.x)) < rx){
if (Math.abs((DragoRec.dragoRec.py - loc.y)) < ry){
if (curRange != this){
curRange = this;
setMapMoveSpeed();
LevelData.mapTopBot[LevelData.curLevel][LevelData.curMiniLevel] = range;
};
};
};
}
private function getRange():void{
var _local1:String;
var _local2:int;
var _local3:int;
range = [];
_local1 = this.name;
_local2 = _local1.length;
_local3 = 0;
while (_local3 < _local2) {
range.push(int(_local1.substr((_local3 + 1), 4)));
_local3 = (_local3 + 5);
};
}
public static function startChange(_arg1:int, _arg2:int):void{
var _local3:Array;
var _local4:int;
_local3 = LevelData.mapTopBot[LevelData.curLevel][LevelData.curMiniLevel];
if (_local3[_arg1] == _arg2){
return;
};
targets[_arg1] = _arg2;
_local4 = 0;
while (_local4 < 4) {
if (_local4 != _arg1){
targets[_local4] = _local3[_local4];
};
if (targets[_local4] > _local3[_local4]){
speedArrs[_local4] = 1;
} else {
if (targets[_local4] < _local3[_local4]){
speedArrs[_local4] = -1;
} else {
speedArrs[_local4] = 0;
};
};
_local4++;
};
if (mc == null){
mc = new MovieClip();
mc.addEventListener(Event.ENTER_FRAME, frames, false, 0, true);
};
change = true;
}
private static function frames(_arg1:Event):void{
var _local2:int;
var _local3:int;
if (change){
_local2 = 0;
while (_local2 < 4) {
if (Math.abs((LevelData.mapTopBot[LevelData.curLevel][LevelData.curMiniLevel][_local2] - targets[_local2])) >= 1){
LevelData.mapTopBot[LevelData.curLevel][LevelData.curMiniLevel][_local2] = (LevelData.mapTopBot[LevelData.curLevel][LevelData.curMiniLevel][_local2] + speedArrs[_local2]);
} else {
speedArrs[_local2] = 0;
_local3 = 0;
while (_local3 < 4) {
if (speedArrs[_local3] != 0){
break;
};
if (_local3 >= 3){
change = false;
};
_local3++;
};
};
_local2++;
};
};
}
public static function setMapMoveSpeed():void{
Properties.map.level.interNumx = 4;
Properties.map.level.interNumx = 6;
}
}
}//package code.game.object.level0
Section 18
//MoveThru (code.game.object.level0.MoveThru)
package code.game.object.level0 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.game.drago.*;
public class MoveThru extends RectangleParticle {
private var tempInit:int;
protected var speedx:Number;// = 2
protected var speedy:Number;// = 2
protected var curSpeedx:Number;// = -2
private var rangeInt:int;
protected var curSpeedy:Number;// = -2
protected var thruMc:Sprite;
public function MoveThru(_arg1:Point, _arg2:Sprite){
speedx = 2;
speedy = 2;
curSpeedx = -2;
curSpeedy = -2;
super((_arg1.x + (_arg2["m"].width / 2)), (_arg1.y + (_arg2["m"].height / 2)), _arg2["m"].width, _arg2["m"].height, 0, true, 1, 0, 0.1);
thruMc = _arg2["m"];
setSpeed();
moveInit();
getRange(_arg2);
super.paint();
}
public function del():void{
}
protected function setSpeed():void{
speedx = 2.5;
speedy = 2.5;
}
override public function paint():void{
if (((!((curSpeedx == 0))) || (!((curSpeedy == 0))))){
tempInit++;
this.px = (this.px + curSpeedx);
this.py = (this.py + curSpeedy);
if (tempInit >= rangeInt){
tempInit = 0;
curSpeedx = (curSpeedx * -1);
curSpeedy = (curSpeedy * -1);
};
};
if (Math.abs((DragoRec.dragoRec.py - py)) > 450){
return;
};
if (Math.abs((DragoRec.dragoRec.px - px)) > 550){
return;
};
super.paint();
}
protected function getRange(_arg1:Sprite):void{
var _local2:Sprite;
var _local3:Point;
_local2 = _arg1["h"];
_local3 = _local2.localToGlobal(new Point(0, 0));
if (_local2.width > _local2.height){
curSpeedy = 0;
if ((int(_arg1.name.slice(-1)) % 2) == 0){
this.px = ((_local3.x - (_local2.width / 2)) + (thruMc.width / 2));
curSpeedx = speedx;
} else {
this.px = ((_local3.x + (_local2.width / 2)) - (thruMc.width / 2));
curSpeedx = -(speedx);
};
rangeInt = ((_local2.width - thruMc.width) / Math.abs(curSpeedx));
} else {
curSpeedx = 0;
if ((int(_arg1.name.slice(-1)) % 2) == 0){
this.py = (_local3.y - (_local2.height / 2));
curSpeedy = speedy;
} else {
this.py = (_local3.y + (_local2.height / 2));
curSpeedy = -(speedy);
};
rangeInt = (_local2.height / Math.abs(curSpeedy));
};
_local2.parent.removeChild(_local2);
}
protected function moveInit():void{
var _local1:Number;
var _local2:Number;
_local1 = thruMc.width;
_local2 = thruMc.height;
itemNum = AbstractItem.MOVE;
this.alwaysRepaint = true;
Properties.map.group.addParticle(this);
Properties.map.allParticles[Map.THRU].push(this);
this.setDisplay(thruMc, (-(_local1) / 2), (-(_local2) / 2), 0);
}
public function hitDrago(_arg1:UserEvent):void{
DragoRec.dragoRec.changePosition = new Vector(curSpeedx, curSpeedy);
}
}
}//package code.game.object.level0
Section 19
//SpringObject (code.game.object.level0.SpringObject)
package code.game.object.level0 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
public class SpringObject extends AbsSpringObject {
private var obstacles:Array;
public function SpringObject(_arg1:Point, _arg2:Sprite){
super(_arg1, _arg2);
}
override protected function objInit():void{
var _local1:Sprite;
var _local2:int;
var _local3:int;
var _local4:Sprite;
var _local5:RectangleParticle;
_local1 = mc.parent["unvisible"];
if (_local1 == null){
return;
};
_local2 = _local1.numChildren;
obstacles = [];
_local3 = 0;
while (_local3 < _local2) {
_local4 = (_local1.getChildAt(_local3) as Sprite);
_local4.visible = false;
_local5 = Properties.map.createOneArticle(_local4, AbstractItem.THRU);
obstacles.push([_local4, _local5]);
_local3++;
};
}
override protected function executeFun():void{
var _local1:int;
var _local2:int;
_local1 = obstacles.length;
_local2 = 0;
while (_local2 < _local1) {
Properties.map.group.addParticle(obstacles[_local2][1]);
Properties.map.allParticles[Map.THRU].push(obstacles[_local2][1]);
obstacles[_local2][0].visible = true;
_local2++;
};
Properties.map.removeParticle(this, Map.SOLID);
}
}
}//package code.game.object.level0
Section 20
//BallEject_H (code.game.object.level1.BallEject_H)
package code.game.object.level1 {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
public class BallEject_H extends BalloonEject {
private var ballCon:Sprite;
private var initLocToBallCon:Point;
public function BallEject_H(_arg1:Point, _arg2:Sprite){
super(_arg1, _arg2);
ballCon = (_arg2.parent as Sprite);
initLocToBallCon = ballCon.globalToLocal(initLoc);
}
override protected function timeOut():void{
if ((sign % 2) == 0){
setTimeout(timerInit, 20);
} else {
setTimeout(timerInit, 1250);
};
}
override protected function addBall(_arg1:TimerEvent):void{
var _local2:int;
var _local3:MovieClip;
_local2 = (Math.random() * 3);
_local3 = (new (conCla[_local2]) as MovieClip);
_local3.x = initLocToBallCon.x;
_local3.y = initLocToBallCon.y;
ballCon.addChild(_local3);
new Balloon_H(initLoc, _local3);
}
}
}//package code.game.object.level1
Section 21
//Balloon_H (code.game.object.level1.Balloon_H)
package code.game.object.level1 {
import flash.display.*;
import flash.geom.*;
public class Balloon_H extends Balloon_S {
private var totalBomb:int;// = 238
private var totaltime:int;
public function Balloon_H(_arg1:Point, _arg2:MovieClip){
totalBomb = 238;
super(_arg1, _arg2);
}
override public function del():void{
super.del();
if (ballMc.parent){
ballMc.parent.removeChild(ballMc);
};
}
override public function paint():void{
super.paint();
}
override protected function setDisplayObject():void{
}
override protected function testRange():void{
if (totaltime >= 0){
totaltime++;
};
if (totaltime > totalBomb){
del();
totaltime = -1;
};
}
override protected function move():void{
this.px = (this.px + 4);
ballMc.x = (ballMc.x + 4);
}
}
}//package code.game.object.level1
Section 22
//Balloon_S (code.game.object.level1.Balloon_S)
package code.game.object.level1 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
public class Balloon_S extends UserRec {
protected var hitTime:int;
protected var hei:Number;
protected var ifHitDrago:Boolean;
protected var noTime:int;
protected var hitBoundTime:int;
protected var goBomb:Boolean;
protected var wid:Number;
private var inter:Vector;
protected var curLoc:Vector;
protected var ballMc:MovieClip;
public function Balloon_S(_arg1:Point, _arg2:MovieClip){
super((_arg1.x + (_arg2.width / 2)), (_arg1.y + (_arg2.height / 2)), (_arg2.width * 0.8), (_arg2.height * 0.9), 0, true, 1, 0, 0.1);
ballMc = _arg2;
ballMc.stop();
ballMc.addFrameScript((ballMc.totalFrames - 1), del);
wid = (_arg2.width / 2);
hei = (_arg2.height / 2);
curLoc = new Vector(_arg1.x, _arg1.y);
setDisplayObject();
itemNum = AbstractItem.MOVE;
alwaysRepaint = true;
Properties.map.group.addParticle(this);
Properties.map.allParticles[Map.THRU].push(this);
setStyle(0, 6724010, 0, 6724010, 0);
}
override public function del():void{
ballMc.stop();
Properties.map.removeParticle(this, Map.THRU);
}
protected function testHitBomb():void{
}
override public function paint():void{
super.paint();
if (ifHitDrago){
inter = position;
};
move();
if (goBomb){
return;
};
if (ifHitDrago){
inter = position.minus(inter);
DragoRec.dragoRec.changePosition = inter;
testDragoLeave();
testHitBomb();
if (hitBoundTime < 3){
hitBoundTime++;
if (hitBoundTime >= 3){
};
};
};
testRange();
}
protected function setDisplayObject():void{
}
protected function playHitSound():void{
SoundsManager.playSound("step_on1");
}
protected function playBounceSound():void{
SoundsManager.playSound("balloon_bounce");
}
protected function bomb():void{
SoundsManager.playSound("balloon_bomb");
ballMc.gotoAndPlay("bomb");
goBomb = true;
}
protected function hitBound(_arg1:int):void{
var _local2:Vector;
_local2 = new Vector(0, (_arg1 * 10));
changePosition = _local2;
DragoRec.dragoRec.changePosition = _local2;
}
protected function testRange():void{
}
protected function move():void{
}
private function testDragoLeave():void{
noTime++;
if (noTime > 3){
playBounceSound();
ifHitDrago = false;
hitTime = 0;
ballMc.gotoAndPlay("bound");
};
}
public function hitDrago(_arg1:UserEvent):void{
if (goBomb){
return;
};
if (!ifHitDrago){
playHitSound();
hitBoundTime = 0;
ballMc.gotoAndPlay("hit");
hitTime = 1;
ifHitDrago = true;
};
noTime = 0;
}
}
}//package code.game.object.level1
Section 23
//Balloon_V (code.game.object.level1.Balloon_V)
package code.game.object.level1 {
import flash.display.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
public class Balloon_V extends Balloon_S {
private var totalBomb:int;// = 300
private var totaltime:int;
private var lastHit:int;
private var ballScale:Number;// = 1
private var scaleInter:Number;// = 0.03
private var hitBomb:int;// = 45
private static var balls:Array = [];
public function Balloon_V(_arg1:Point, _arg2:MovieClip){
hitBomb = 45;
totalBomb = 300;
ballScale = 1;
scaleInter = 0.03;
super(_arg1, _arg2);
balls.push(this);
Properties.bindForDel.push(bindObjDel);
}
override public function del():void{
var _local1:int;
super.del();
_local1 = balls.indexOf(this);
if (_local1 != -1){
balls.splice(_local1, 1);
};
}
private function bindObjDel():void{
balls = [];
}
override protected function setDisplayObject():void{
setDisplay(ballMc, -(wid), -(hei), 0);
}
private function changeScale():void{
ballScale = (ballScale + scaleInter);
if ((((ballScale > 1.1)) || ((ballScale < 0.9)))){
scaleInter = (scaleInter * -1);
};
ballMc.scaleX = ballScale;
ballMc.scaleY = ballScale;
}
override protected function testRange():void{
if (totaltime >= 0){
totaltime++;
};
if (totaltime > totalBomb){
del();
totaltime = -1;
};
}
override protected function move():void{
this.py = (this.py - 4);
curLoc.y = (curLoc.y - 4);
}
override protected function testHitBomb():void{
if (hitTime > 0){
hitTime++;
if (hitTime > (hitBomb - 15)){
changeScale();
};
if (hitTime > hitBomb){
bomb();
hitTime = 0;
};
};
}
override public function hitDrago(_arg1:UserEvent):void{
var _local2:*;
if (goBomb){
return;
};
if (!ifHitDrago){
if (lastHit >= 2){
bomb();
lastHit = 0;
} else {
playHitSound();
ballMc.gotoAndPlay("hit");
hitBoundTime = 0;
hitBound(1);
hitTime = 1;
for (_local2 in balls) {
if (balls[_local2] != this){
balls[_local2].lastHit = 0;
};
};
lastHit++;
};
ifHitDrago = true;
};
noTime = 0;
}
}
}//package code.game.object.level1
Section 24
//BalloonEject (code.game.object.level1.BalloonEject)
package code.game.object.level1 {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
public class BalloonEject {
private var timer:Timer;
protected var initLoc:Point;
protected var sign:int;
protected static var conCla:Array;
public function BalloonEject(_arg1:Point, _arg2:Sprite){
_arg2.visible = false;
sign = int(_arg2.name.slice(-1));
getClass();
initLoc = new Point(_arg1.x, _arg1.y);
timeOut();
}
private function getClass():void{
var _local1:int;
if (conCla == null){
conCla = [];
_local1 = 0;
while (_local1 < 3) {
conCla.push((getDefinitionByName(("ball" + _local1)) as Class));
_local1++;
};
};
}
protected function timeOut():void{
setTimeout(timerInit, 20);
}
public function del():void{
timer.stop();
timer.removeEventListener("timer", addBall);
}
protected function timerInit():void{
timer = new Timer(2500);
timer.addEventListener("timer", addBall, false, 0, true);
timer.start();
}
protected function addBall(_arg1:TimerEvent):void{
var _local2:int;
var _local3:MovieClip;
_local2 = (Math.random() * 3);
_local3 = (new (conCla[_local2]) as MovieClip);
new Balloon_V(initLoc, _local3);
}
}
}//package code.game.object.level1
Section 25
//CurvePath (code.game.object.level1.CurvePath)
package code.game.object.level1 {
import flash.display.*;
import org.cove.ape.*;
import flash.geom.*;
import code.*;
import flash.utils.*;
public class CurvePath {
private var con:Sprite;
private var rec:RectangleParticle;
private var pathDots:Array;
private var speed:Number;// = 8
static var pathPoints:Array;
static var len:int;
public function CurvePath(_arg1:Sprite){
speed = 8;
super();
this.con = _arg1;
getPathPoints();
len = pathPoints.length;
getRec();
}
private function getPathPoints():void{
var _local1:Sprite;
var _local2:Point;
var _local3:int;
pathDots = [];
_local3 = 0;
while (_local3 < 8) {
_local1 = con[("point" + _local3)];
_local2 = _local1.localToGlobal(new Point(0, 0));
pathDots.push(_local2);
_local3++;
};
pathPoints = [];
Tool.getLinePoint(pathDots[0], pathDots[1], pathPoints, speed);
Tool.halfCircle(pathDots[1], pathDots[2], pathPoints, speed, true);
Tool.getLinePoint(pathDots[2], pathDots[3], pathPoints, speed);
Tool.halfCircle(pathDots[3], pathDots[4], pathPoints, speed, false);
Tool.getLinePoint(pathDots[4], pathDots[5], pathPoints, speed);
Tool.halfCircle(pathDots[5], pathDots[6], pathPoints, speed, true);
Tool.getLinePoint(pathDots[6], pathDots[7], pathPoints, speed);
}
public function del():void{
}
private function getRec():void{
var _local1:Class;
var _local2:MovieClip;
_local1 = (getDefinitionByName("level1_pf2") as Class);
_local2 = new (_local1);
rec = new CurveRec(_local2);
}
}
}//package code.game.object.level1
Section 26
//CurveRec (code.game.object.level1.CurveRec)
package code.game.object.level1 {
import flash.display.*;
public class CurveRec extends PathRouteRec {
public function CurveRec(_arg1:MovieClip){
super(CurvePath.pathPoints[0], _arg1, CurvePath.pathPoints);
setDisplay(_arg1, (-(_arg1.width) / 2), (-(_arg1.height) / 2));
}
}
}//package code.game.object.level1
Section 27
//Dajiqi (code.game.object.level1.Dajiqi)
package code.game.object.level1 {
import flash.events.*;
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
public class Dajiqi extends MovieClip {
private var tempRec:RectangleParticle;
private var haveTarget:Boolean;
private var start:Boolean;
private var tempMc:MovieClip;
private var dianMc:MovieClip;
private var dianRec:DajiqiRec;
private var tempInitLoc:Vector;
protected var thisMc:MovieClip;
private var reachTop:Boolean;
public function Dajiqi(_arg1:MovieClip){
thisMc = _arg1;
}
public function del():void{
}
protected function gotTop():void{
}
protected function whenReachTop():void{
reachTop = true;
}
private function enterFrame(_arg1:Event):void{
var _local2:int;
if (!start){
return;
};
if (haveTarget){
playBellSound();
start = false;
thisMc.gotoAndPlay(22);
dianMc.removeEventListener(Event.ENTER_FRAME, enterFrame);
return;
};
_local2 = ((Math.abs((tempRec.py - tempInitLoc.y)) * 22) / 156);
thisMc.gotoAndStop(_local2);
if (tempRec.py > tempInitLoc.y){
start = false;
tempRec.py = tempInitLoc.y;
tempRec.fixed = true;
};
if (_local2 >= 22){
start = false;
thisMc.play();
if (!haveTarget){
playBellSound();
tempRec.fixed = true;
dianMc.removeEventListener(Event.ENTER_FRAME, enterFrame);
gotTop();
haveTarget = true;
};
};
}
protected function objInit():void{
var _local1:Point;
thisMc.stop();
dianMc = thisMc["dian"];
dianMc.stop();
_local1 = dianMc.localToGlobal(new Point(0, 0));
_local1.x = (_local1.x + (dianMc.width / 2));
_local1.y = (_local1.y + (dianMc.height / 2));
dianRec = new DajiqiRec(_local1, dianMc);
dianRec.sprite.addEventListener("hitDrago", hitDrago, false, 0, true);
tempMc = thisMc["tempMc"];
_local1 = tempMc.localToGlobal(new Point(0, 0));
tempRec = new RectangleParticle(_local1.x, _local1.y, tempMc.width, tempMc.height, 0, true, 10, 0, 0);
tempMc.visible = false;
tempRec.alwaysRepaint = true;
tempRec.collidable = false;
Properties.map.group.addParticle(tempRec);
tempInitLoc = new Vector(_local1.x, _local1.y);
}
private function hitDrago(_arg1:UserEvent):void{
var _local2:Number;
if (!start){
_local2 = _arg1.data["minus"].y;
if (_local2 > 0){
start = true;
dianMc.addEventListener(Event.ENTER_FRAME, enterFrame, false, 0, true);
if (haveTarget){
return;
};
_local2 = ((_local2 - 10) * 1.8);
if (_local2 > 33){
_local2 = 33;
};
tempRec.velocity = new Vector(0, -(_local2));
tempRec.fixed = false;
if ((((_local2 >= 24)) && (!(reachTop)))){
whenReachTop();
};
};
};
}
private function playBellSound():void{
SoundsManager.playSound("toy_bell");
}
}
}//package code.game.object.level1
Section 28
//Dajiqi_0 (code.game.object.level1.Dajiqi_0)
package code.game.object.level1 {
import flash.events.*;
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.game.drago.*;
public class Dajiqi_0 extends Dajiqi {
private var between:Array;
private var speedx:Number;// = 0
private var curDis:Number;// = 0
private var curState:int;
private var tempInt:int;// = -20
private var totalDis:Number;// = 0
private var passTime:int;// = 50
private var obstacles:Array;
public function Dajiqi_0(_arg1:MovieClip){
speedx = 0;
tempInt = -20;
passTime = 50;
totalDis = 0;
curDis = 0;
super(_arg1);
Properties.bindObjsForInit.push(objInit);
}
public function toTarget():void{
tempInt++;
if (tempInt > (passTime + 5)){
if (tempInt > (passTime + 10)){
curState = 3;
tempInt = 0;
showThrus();
} else {
Properties.map.level.modifyX(speedx);
};
} else {
Properties.map.level.modifyX(-(speedx));
};
}
override protected function gotTop():void{
curState = 1;
startRun();
}
override protected function whenReachTop():void{
super.whenReachTop();
Properties.map.level.setPaused(true);
DragoRec.dragoRec.drago.setPaused(true);
}
private function enterframe(_arg1:Event):void{
if (curState == 1){
tempInt++;
if (tempInt > 15){
Properties.map.level.modifyX(-(speedx));
curDis = (curDis + speedx);
if (curDis > totalDis){
curState = 2;
tempInt = 0;
};
};
} else {
if (curState == 2){
tempInt++;
if (tempInt == 10){
showThrus();
} else {
if (tempInt > 60){
Properties.map.level.modifyX(speedx);
curDis = (curDis + -(speedx));
if (curDis <= 0){
back();
};
};
};
};
};
}
private function showThrus():void{
var _local1:*;
for (_local1 in obstacles) {
obstacles[_local1][0].visible = true;
obstacles[_local1][0].play();
obstacles[_local1][1].collidable = true;
Properties.map.allParticles[Map.THRU].push(obstacles[_local1][1]);
};
}
override protected function objInit():void{
super.objInit();
getThrus();
}
private function startRun():void{
between[0] = new Point(DragoRec.dragoRec.px, DragoRec.dragoRec.py);
speedx = ((between[1].x - between[0].x) / passTime);
totalDis = (between[1].x - between[0].x);
thisMc.addEventListener(Event.ENTER_FRAME, enterframe, false, 0, true);
}
private function getThrus():void{
var _local1:Sprite;
var _local2:int;
var _local3:int;
var _local4:MovieClip;
var _local5:RectangleParticle;
_local1 = thisMc.parent["unvisible"];
if (_local1 == null){
return;
};
_local2 = _local1.numChildren;
obstacles = [];
between = [];
_local3 = 0;
while (_local3 < _local2) {
_local4 = (_local1.getChildAt(_local3) as MovieClip);
_local4.stop();
_local4.visible = false;
_local5 = Properties.map.createOneArticle(_local4, AbstractItem.THRU);
Properties.map.group.addParticle(_local5);
_local5.collidable = false;
obstacles.push([_local4, _local5]);
if (_local4.name == "_0"){
between[1] = new Point(_local5.px, _local5.py);
};
_local3++;
};
}
public function back():void{
tempInt++;
if (tempInt > passTime){
curState = -1;
tempInt = 0;
Properties.map.level.setPaused(false);
DragoRec.dragoRec.drago.setPaused(false);
thisMc.removeEventListener(Event.ENTER_FRAME, enterframe);
} else {
Properties.map.level.modifyX(speedx);
};
}
}
}//package code.game.object.level1
Section 29
//Dajiqi_1 (code.game.object.level1.Dajiqi_1)
package code.game.object.level1 {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
public class Dajiqi_1 extends Dajiqi {
private var diamond:Diamond;
private var tempInt:int;
private var redStar:MovieClip;
private var starMotion:MovieClip;
public function Dajiqi_1(_arg1:MovieClip){
super(_arg1);
Properties.bindObjsForInit.push(objInit);
}
private function getDiamond():void{
starMotion = thisMc.parent["dajiqi_star_motion"];
starMotion.stop();
starMotion.visible = false;
starMotion.addFrameScript((starMotion.totalFrames - 1), lastFrame);
redStar = thisMc.parent["dajiqi_star"];
redStar.stop();
redStar.visible = false;
diamond = new Diamond(redStar.localToGlobal(new Point(0, 0)), redStar);
}
override protected function gotTop():void{
tempInt = 1;
starMotion.visible = true;
starMotion.play();
thisMc.addEventListener(Event.ENTER_FRAME, enterframe, false, 0, true);
}
private function lastFrame():void{
starMotion.visible = false;
starMotion.stop();
redStar.visible = true;
Properties.map.properties.diamonds.push(diamond);
}
private function enterframe(_arg1:Event):void{
if (tempInt > 0){
tempInt++;
if (tempInt > 20){
tempInt = -1;
starMotion.play();
thisMc.removeEventListener(Event.ENTER_FRAME, enterframe);
};
};
}
override protected function objInit():void{
super.objInit();
getDiamond();
}
}
}//package code.game.object.level1
Section 30
//DajiqiMc (code.game.object.level1.DajiqiMc)
package code.game.object.level1 {
import flash.display.*;
public class DajiqiMc extends MovieClip {
public var dian:MovieClip;
public var tempMc:MovieClip;
public function DajiqiMc(){
if (this.name == "dajiqi_0"){
new Dajiqi_0(this);
} else {
if (this.name == "dajiqi_1"){
new Dajiqi_1(this);
};
};
}
}
}//package code.game.object.level1
Section 31
//DajiqiRec (code.game.object.level1.DajiqiRec)
package code.game.object.level1 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.game.drago.*;
public class DajiqiRec extends RectangleParticle {
private var dian:MovieClip;
private var tempWid:int;
private var tempHei:int;
public function DajiqiRec(_arg1:Point, _arg2:MovieClip){
super(_arg1.x, _arg1.y, (_arg2.width * 1.1), (_arg2.height * 1.2), 0, true, 1, 0, 0);
itemNum = AbstractItem.OTHERS;
Properties.map.group.addParticle(this);
Properties.map.allParticles[Map.THRU].push(this);
dian = _arg2;
dian.gotoAndStop(2);
tempHei = int((py - (((Drago.DRAGO_HEIGHT / 2) + (this.height / 2)) + 5)));
tempWid = int((((Drago.DRAGO_WIDTH / 2) + (this.width / 2)) + 5));
}
public function hitDrago(_arg1:UserEvent, _arg2:RectangleParticle):void{
var _local3:UserEvent;
if (_arg2 == DragoRec.dragoRec){
if (_arg1.data["minus"].y > 0){
_local3 = new UserEvent("hitDrago", true);
_local3.data["minus"] = _arg1.data["minus"];
sprite.dispatchEvent(_local3);
dian.gotoAndStop(1);
Properties.bindFrameObjs.push(enterFrame);
};
};
}
private function enterFrame():void{
if (DragoRec.dragoRec.lastHitRec0 != this){
dian.gotoAndStop(2);
Properties.removeEnterFrame(enterFrame);
};
}
}
}//package code.game.object.level1
Section 32
//JumpBed (code.game.object.level1.JumpBed)
package code.game.object.level1 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
public class JumpBed extends MovieClip {
public function JumpBed(){
Properties.bindObjsForInit.push(objInit);
}
private function objInit():void{
new JumpBedRec(this, this.localToGlobal(new Point(0, 0)));
}
}
}//package code.game.object.level1
Section 33
//JumpBedRec (code.game.object.level1.JumpBedRec)
package code.game.object.level1 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
public class JumpBedRec extends UserRec {
private var haveHit:Boolean;
private var mc:MovieClip;
public function JumpBedRec(_arg1:Sprite, _arg2:Point){
super(_arg2.x, _arg2.y, (_arg1.width * 1.15), (_arg1.height * 0.9), 0, true);
mc = (_arg1 as MovieClip);
mc.stop();
mc.addFrameScript(1, hitFalse, (mc.totalFrames - 1), over);
this.alwaysRepaint = true;
this.setDisplay(_arg1);
itemNum = AbstractItem.OTHERS;
Properties.map.allParticles[Map.SOLID].push(this);
Properties.map.group.addParticle(this);
super.paint();
}
private function hitFalse():void{
haveHit = false;
}
private function over():void{
mc.gotoAndStop(1);
}
public function hitDrago(_arg1:UserEvent, _arg2:RectangleParticle):void{
if (!haveHit){
if (_arg1.data["mtd"].y < 0){
SoundsManager.playSound("step_on_bounce");
haveHit = true;
mc.gotoAndPlay(1);
DragoRec.dragoRec.setVelocity(0, -40);
};
};
}
}
}//package code.game.object.level1
Section 34
//MoCircleRec (code.game.object.level1.MoCircleRec)
package code.game.object.level1 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import code.game.object.*;
import code.game.drago.*;
public class MoCircleRec extends RectangleParticle {
protected var len:int;
protected var ifHitDrago:Boolean;
protected var noTime:int;
protected var direction:int;
private var inter:Vector;
protected var curLoc:int;
private var points:Array;
public function MoCircleRec(_arg1:Sprite, _arg2:Array, _arg3:int, _arg4:int){
super(_arg2[_arg3].x, _arg2[_arg3].y, _arg1.width, _arg1.height, 0, true, 1, 0, 0.1);
itemNum = AbstractItem.MOVE;
alwaysRepaint = true;
recInit();
setDisplay(_arg1, (-(_arg1.width) / 2), (-(_arg1.height) / 2));
direction = _arg4;
curLoc = _arg3;
this.points = _arg2;
len = _arg2.length;
super.paint();
}
public function timerFun():void{
run();
testHitFalse();
}
protected function testHitFalse():void{
if (ifHitDrago){
noTime++;
if (noTime > 10){
ifHitDrago = false;
};
};
}
protected function run():void{
if (ifHitDrago){
inter = points[curLoc];
};
curLoc = (curLoc + direction);
if (curLoc >= len){
curLoc = 0;
} else {
if (curLoc < 0){
curLoc = (len - 1);
};
};
px = points[curLoc].x;
py = points[curLoc].y;
if (ifHitDrago){
inter = points[curLoc].minus(inter);
DragoRec.dragoRec.changePosition = inter;
};
}
protected function recInit():void{
Properties.map.group.addParticle(this);
Properties.map.allParticles[Map.THRU].push(this);
}
public function hitDrago(_arg1:UserEvent):void{
if (!ifHitDrago){
ifHitDrago = true;
};
noTime = 0;
}
}
}//package code.game.object.level1
Section 35
//Motianlun (code.game.object.level1.Motianlun)
package code.game.object.level1 {
import flash.display.*;
import org.cove.ape.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
import code.ui.*;
public class Motianlun {
private var radius:Number;
protected var thisMc:Sprite;
private var center:Vector;
protected var lunziStr:String;
protected var minAngle:Number;
private var points:Array;
protected var lunziClass:Class;
protected var recNums:int;
private var curAngle:Number;// = 0
protected var lunzi:Array;
protected var direction:int;// = 1
public static var speed:int = 4;
public function Motianlun(_arg1:Point, _arg2:Sprite){
curAngle = 0;
direction = 1;
super();
thisMc = _arg2;
center = new Vector(_arg1.x, _arg1.y);
radius = ((thisMc.width + thisMc.height) / 4);
valueInit();
calData();
addLunzi();
Properties.bindFrameObjs.push(timerFun);
}
private function addLunzi():void{
var _local1:int;
var _local2:MovieClip;
var _local3:int;
var _local4:int;
lunzi = [];
_local1 = (points.length / recNums);
_local3 = 0;
_local4 = 0;
while (_local3 < recNums) {
_local2 = new (UI.getUIClass(lunziStr));
_local4 = (_local3 * _local1);
lunzi.push(new lunziClass(_local2, points, _local4, direction));
_local3++;
};
}
private function calData():void{
var _local1:Number;
var _local2:Number;
var _local3:int;
var _local4:Point;
var _local5:Point;
var _local6:Vector;
var _local7:Number;
points = [];
_local1 = (2 * Math.PI);
_local2 = (Math.PI / ((Math.PI * radius) / speed));
_local3 = ((_local1 / _local2) / 4);
_local2 = (_local1 / (_local3 * 4));
_local5 = new Point(center.x, center.y);
_local7 = 0;
while (_local7 < _local1) {
_local4 = Tool.createCirclePoint(_local7, radius, _local5);
_local6 = new Vector(_local4.x, _local4.y);
points.push(_local6);
_local7 = (_local7 + _local2);
};
minAngle = Tool.radianToAngle(_local2);
}
protected function frameRotation():void{
curAngle = (curAngle + (direction * minAngle));
thisMc.rotation = curAngle;
}
protected function timerFun():void{
if ((((((Math.abs((DragoRec.dragoRec.px - center.x)) < 700)) && ((Math.abs((DragoRec.dragoRec.py - center.y)) < 500)))) || ((recNums > 10)))){
ratation();
frameRotation();
};
}
protected function createLunzi(_arg1:int):void{
}
public function del():void{
Properties.removeEnterFrame(timerFun);
}
protected function valueInit():void{
recNums = Number(thisMc.name.slice(12));
direction = ((thisMc.name.slice(10, 11) == "s")) ? 1 : -1;
lunziStr = "level1_pf";
lunziClass = MoCircleRec;
}
protected function ratation():void{
var _local1:*;
for (_local1 in lunzi) {
lunzi[_local1].timerFun();
};
}
}
}//package code.game.object.level1
Section 36
//PathRouteRec (code.game.object.level1.PathRouteRec)
package code.game.object.level1 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import code.game.object.*;
import code.game.drago.*;
public class PathRouteRec extends UserRec {
protected var len:int;
protected var haveHit:Boolean;
protected var leaveTime:int;// = 55
protected var pfMc:MovieClip;
protected var startInt:int;
protected var noTime:int;
protected var start:Boolean;
protected var pathPoints:Array;
protected var con:Sprite;
private var inter:Vector;
protected var curLoc:int;
public function PathRouteRec(_arg1:Vector, _arg2:MovieClip, _arg3:Array){
leaveTime = 55;
super(_arg1.x, _arg1.y, _arg2.width, _arg2.height, 0, true);
alwaysRepaint = true;
itemNum = AbstractItem.MOVE;
con = (_arg2.parent as Sprite);
this.setDisplay(_arg2);
addToGroup();
super.paint();
this.pathPoints = _arg3;
len = _arg3.length;
pfMc = _arg2;
pfMc.stop();
pfMc.addFrameScript((pfMc.totalFrames - 1), disappear);
}
override public function paint():void{
super.paint();
if (start){
if (haveHit){
inter = pathPoints[curLoc];
};
curLoc++;
if (curLoc >= len){
curLoc = (len - 1);
pfMc.play();
};
if (haveHit){
inter = pathPoints[curLoc].minus(inter);
DragoRec.dragoRec.changePosition = inter;
};
position = pathPoints[curLoc];
if (noTime > 0){
noTime++;
if (noTime > 10){
haveHit = false;
if (noTime > leaveTime){
disappear();
};
};
};
} else {
if (haveHit){
if (startInt > 0){
startInt++;
if (startInt > 10){
start = true;
startInt = 0;
};
};
} else {
if (pfMc.currentFrame != 1){
pfMc.prevFrame();
};
};
};
}
protected function disappear():void{
curLoc = 0;
position = pathPoints[curLoc];
haveHit = false;
start = false;
startInt = 0;
noTime = 0;
pfMc.gotoAndStop((pfMc.totalFrames - 1));
}
protected function addToGroup():void{
Properties.map.group.addParticle(this);
Properties.map.allParticles[Map.THRU].push(this);
}
public function hitDrago(_arg1:UserEvent):void{
if (_arg1.data["mtd"].y < 0){
if (!start){
if (startInt < 1){
startInt = 1;
};
};
if (!haveHit){
haveHit = true;
pfMc.gotoAndStop(1);
};
};
noTime = 1;
}
}
}//package code.game.object.level1
Section 37
//AutoStairs (code.game.object.level2.AutoStairs)
package code.game.object.level2 {
import flash.display.*;
public class AutoStairs extends Sprite {
public function objInit():void{
}
}
}//package code.game.object.level2
Section 38
//BackGroundSwitch (code.game.object.level2.BackGroundSwitch)
package code.game.object.level2 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import code.game.drago.*;
import code.ui.*;
import code.game.data.*;
public class BackGroundSwitch extends MovieClip {
protected var ifOut:Boolean;
public var loc_mc:背景切换LOC;
private var leftNum:int;
protected var bothBack:Boolean;
protected var initLoc:Point;
private var tempWid:int;
private var setMask:Boolean;
private var outBack:Sprite;
private var mapCon:Sprite;
private var globalLoc:Point;
protected var maskMc:Sprite;
public var mask_mc:MovieClip;
private var holeBack:Sprite;
protected var locmc:Sprite;
private var lastSetMask:Boolean;
public function BackGroundSwitch(){
Properties.bindObjsForInit.push(objInit);
Properties.bindForDel.push(stopFallSound);
getChildren();
initLoc = this.localToGlobal(new Point(locmc.x, locmc.y));
tempWid = ((locmc.width / 2) + 5);
locmc.visible = false;
}
private function setBackMask(_arg1:Boolean):void{
if (_arg1){
if (holeBack.mask == null){
this.addChild(maskMc);
holeBack.mask = maskMc;
};
} else {
if (holeBack.mask != null){
this.removeChild(maskMc);
holeBack.mask = null;
};
};
}
private function removeOutBack():void{
if (outBack.parent != null){
outBack.parent.removeChild(outBack);
};
}
protected function getChildren():void{
locmc = this["loc_mc"];
maskMc = this["mask_mc"];
}
public function enterFrame():void{
calBothBack();
calIfOut();
calSetMask();
}
protected function playFallSound():void{
}
protected function stopFallSound():void{
}
protected function objInit():void{
leftNum = ((maskMc.width / 2) + 290);
maskMc.visible = false;
this.removeChild(maskMc);
mapCon = Properties.map.backLayer;
holeBack = mapCon.getChildAt(0)["back0"];
outBack = mapCon.getChildAt(0)["back1"];
Properties.bindFrameObjs.push(enterFrame);
if (LevelData.curLevel == 2){
playFallSound();
};
}
protected function calIfOut():void{
if (bothBack){
if (Math.abs((DragoRec.dragoRec.px - initLoc.x)) < tempWid){
if (DragoRec.dragoRec.py > initLoc.y){
if (ifOut){
ifOut = false;
UI.playLevelMusic();
playFallSound();
};
} else {
if (!ifOut){
ifOut = true;
UI.playMusic("drago_village_m");
stopFallSound();
};
};
};
};
}
private function calSetMask():void{
if (bothBack){
if (outBack.parent == null){
mapCon.addChildAt(outBack, 0);
};
if (holeBack.parent == null){
mapCon.addChild(holeBack);
};
if (!setMask){
setMask = true;
};
} else {
if (ifOut){
if (holeBack.parent != null){
holeBack.parent.removeChild(holeBack);
};
} else {
removeOutBack();
};
if (setMask){
setMask = false;
};
};
if (lastSetMask != setMask){
setBackMask(setMask);
lastSetMask = setMask;
};
}
private function calBothBack():void{
var _local1:Boolean;
globalLoc = locmc.localToGlobal(new Point(0, 0));
if (globalLoc.x > 0){
if (globalLoc.x < 580){
if (globalLoc.y > 0){
if (globalLoc.y < 380){
_local1 = true;
};
};
};
};
if (globalLoc.x > 580){
if (globalLoc.y > 0){
if (globalLoc.y < 380){
if (Math.abs((DragoRec.dragoRec.px - initLoc.x)) < leftNum){
_local1 = true;
};
};
};
};
if (_local1){
if (!bothBack){
bothBack = true;
};
} else {
if (bothBack){
bothBack = false;
};
};
}
}
}//package code.game.object.level2
Section 39
//DialogInLevel3 (code.game.object.level2.DialogInLevel3)
package code.game.object.level2 {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
import code.ui.*;
import code.game.others.*;
public class DialogInLevel3 extends MovieClip {
public var key_a:MovieClip;
private var keyA:MovieClip;
public function DialogInLevel3(){
this.parent.addEventListener("dasherSaved", dasherSaved, false, 0, true);
this.stop();
this.visible = false;
keyA = this["key_a"];
keyA.addFrameScript(0, stopFun);
}
private function dasherSaved(_arg1:Event):void{
var _local2:Point;
var _local3:Point;
_local2 = this.parent.globalToLocal(new Point(290, 190));
this.x = _local2.x;
this.visible = true;
UI._stage.focus = UI._stage;
UI._stage.addEventListener(MouseEvent.CLICK, clickFun, false, 0, true);
UI._stage.addEventListener(KeyboardEvent.KEY_UP, keyFun, false, 0, true);
this.addFrameScript((this.totalFrames - 1), removeDia);
_local3 = this.localToGlobal(new Point());
this.x = _local3.x;
this.y = _local3.y;
UI.uiCon.addChild(this);
Dialog.showDialogBlack();
playStoryMusic();
}
private function stopFun():void{
keyA.stop();
}
private function removeDia():void{
UI.playLevelMusic();
UI._stage.removeEventListener(MouseEvent.CLICK, clickFun);
UI._stage.removeEventListener(KeyboardEvent.KEY_UP, keyFun);
DragoRec.dragoRec.drago.setPaused(false);
DragoRec.dragoRec.drago.setPaused(false);
Properties.map.level.setPaused(false);
if (this.parent != null){
this.parent.removeChild(this);
};
Dialog.removeDialogBlack();
UI.playMusic("drago_village_m");
}
private function playStoryMusic():void{
UI.playMusic("story_m");
}
private function keyFun(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == 65){
nextText();
} else {
if (_arg1.keyCode == 13){
removeDia();
};
};
}
private function nextText():void{
this.nextFrame();
keyA.gotoAndPlay(2);
SoundsManager.playSound("button_a");
}
private function clickFun(_arg1:MouseEvent):void{
nextText();
}
}
}//package code.game.object.level2
Section 40
//Earthquake (code.game.object.level2.Earthquake)
package code.game.object.level2 {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
public class Earthquake {
public static const QUAKE_TIME:int = 60;
private static var loc:Point;
public static var earthquakeFuns:Array = [];
public static var earthquakeStopFuns:Array = [];
private static var num:Number;
private static var fh:int = 1;
private static var earthQuake:Earthquake;
private static var sp:Sprite;
private static var hasOnQuake:Boolean;
private function bindObjDel():void{
SoundsManager.stopSound("earth_quake");
hasOnQuake = false;
sp = null;
earthquakeFuns = [];
earthquakeFuns = [];
earthQuake = null;
}
public static function removeEarthquakeStopFuns(_arg1:Function):void{
var _local2:int;
_local2 = earthquakeStopFuns.indexOf(_arg1);
if (_local2 != -1){
earthquakeStopFuns.splice(_local2, 1);
};
}
public static function executeFuns():void{
var _local1:*;
for (_local1 in earthquakeFuns) {
var _local4 = earthquakeFuns;
_local4[_local1]();
};
}
private static function stopFuns():void{
var _local1:*;
for (_local1 in earthquakeStopFuns) {
var _local4 = earthquakeStopFuns;
_local4[_local1]();
};
}
public static function removeEarthquake(_arg1:Function):void{
var _local2:int;
_local2 = earthquakeFuns.indexOf(_arg1);
if (_local2 != -1){
earthquakeFuns.splice(_local2, 1);
};
}
public static function getEarthquake(_arg1:Number=10, _arg2:Boolean=true):void{
if (earthQuake == null){
earthQuake = new (Earthquake);
Properties.bindForDel.push(earthQuake.bindObjDel);
};
if (hasOnQuake){
return;
};
if (_arg2){
SoundsManager.playSound("earth_quake", true, 0, 0.7);
};
hasOnQuake = true;
executeFuns();
sp = Properties.map.playCon;
num = _arg1;
loc = new Point(sp.x, sp.y);
sp.addEventListener(Event.ENTER_FRAME, fun, false, 0, true);
}
public static function fun(_arg1:Event):void{
num = (num - ((((Math.random() * 0.2) + 0.8) * (num / 10)) + 0.1));
fh = (fh * -1);
Properties.map.level.modifyY((fh * num));
if (num < 0.3){
hasOnQuake = false;
sp.removeEventListener(Event.ENTER_FRAME, fun);
stopFuns();
};
}
}
}//package code.game.object.level2
Section 41
//Element (code.game.object.level2.Element)
package code.game.object.level2 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
import code.game.object.level4.*;
import code.game.object.level3.*;
import code.game.object.level5.*;
import flash.utils.*;
public class Element extends MovieClip {
protected var hei:int;// = 38
private var className:String;
protected var loc:Point;
protected var wid:int;// = 38
public function Element(_arg1:Point){
wid = 38;
hei = 38;
super();
Properties.bindFrameObjs.push(enterFrame);
this.loc = _arg1;
className = getQualifiedClassName(this);
}
protected function enterFrame():void{
if (className == "waterElementCreateMc"){
Root.showTxt(0, DragoRec.dragoRec.px);
Root.showTxt(1, DragoRec.dragoRec.py);
Root.showTxt(2, loc.x);
Root.showTxt(3, loc.y);
};
if (Math.abs((DragoRec.dragoRec.px - loc.x)) < wid){
if (Math.abs((DragoRec.dragoRec.py - loc.y)) < hei){
gotDrago();
};
};
}
protected function gotDrago():void{
Properties.removeEnterFrame(enterFrame);
toSuper();
if (this.parent != null){
this.parent.removeChild(this);
};
}
protected function toSuper():void{
switch (className){
case "earthElementMc":
case "earthElementCreateMc":
SuperPowerEarth.toSuper();
break;
case "fireElementMc":
case "fireElementCreateMc":
SuperPowerFire.toSuper();
break;
case "airElementMc":
case "airElementCreateMc":
SuperPowerAir.toSuper();
break;
case "waterElementMc":
case "waterElementCreateMc":
SuperPowerWater.toSuper();
break;
};
}
}
}//package code.game.object.level2
Section 42
//ElementMc (code.game.object.level2.ElementMc)
package code.game.object.level2 {
import flash.geom.*;
public class ElementMc extends Element {
public function ElementMc(){
super(this.localToGlobal(new Point(0, 0)));
}
}
}//package code.game.object.level2
Section 43
//FairiesToElement (code.game.object.level2.FairiesToElement)
package code.game.object.level2 {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
import code.game.object.level3.*;
import code.ui.*;
import code.game.data.*;
public class FairiesToElement extends MovieClip {
private var initLoc:Point;
private var ground_flash:MovieClip;
private var tishi0:Sprite;
private var tishi1:Sprite;
private static var haveCollected:int;
private static var faries:Array = [];
private static var sprites:Array = [];
private static var fairiesNotEnough:Sprite;
private static var propertiesCon:Sprite;
private static var initScale:Number = 0;
private static var spriteCon:Sprite;
public function FairiesToElement(){
tishi0 = new Sprite();
tishi1 = new Sprite();
ground_flash = new MovieClip();
super();
Properties.bindObjsForInit.push(bindInit);
Properties.bindForDel.push(stopSound);
}
private function stopSound():void{
SoundsManager.stopSound("fairy_to_element");
}
private function bindObjDel():void{
if (!(((LevelData.curLevel == 3)) && ((LevelData.curMiniLevel == 1)))){
haveCollected = 0;
} else {
haveCollected = 4;
};
sprites = [];
removeSpriteCon();
fairiesNotEnough = null;
faries = [];
propertiesCon = null;
}
private function continueFun():void{
DragoRec.dragoRec.drago.setPaused(false);
var _local1 = FairySelect.curSuperPower;
_local1["toSuper"]();
if (this.parent != null){
this.parent.removeChild(this);
};
}
private function removeSpriteCon():void{
if (spriteCon != null){
if (spriteCon.parent != null){
spriteCon.parent.removeChild(spriteCon);
spriteCon = null;
};
};
}
private function enterFrame():void{
if (haveCollected < 4){
return;
};
if ((((Math.abs((DragoRec.dragoRec.px - initLoc.x)) < 40)) && ((Math.abs((DragoRec.dragoRec.py - initLoc.y)) < 70)))){
this.x = (this.x + (DragoRec.dragoRec.px - initLoc.x));
this.y = (this.y + (DragoRec.dragoRec.py - initLoc.y));
Properties.removeEnterFrame(enterFrame);
startPlay();
};
}
private function lastFrame():void{
this.stop();
tishi0.visible = true;
continueFun();
}
public function remove():void{
Properties.removeEnterFrame(enterFrame);
removeSpriteCon();
removeGroundBack();
removeNotEnough();
if (this.parent != null){
this.parent.removeChild(this);
};
}
private function removeGroundBack():void{
ground_flash.stop();
ground_flash.visible = false;
if (ground_flash.parent != null){
ground_flash.parent.removeChild(ground_flash);
};
}
private function startPlay():void{
DragoRec.dragoRec.drago.setPaused(true);
this.addFrameScript((this.totalFrames - 1), lastFrame);
this.visible = true;
this.play();
removeGroundBack();
sprites = null;
removeSpriteCon();
haveCollected = 0;
SoundsManager.playSound("fairy_to_element");
}
private function tempClickFun(_arg1:MouseEvent):void{
refreshSprites();
}
private function addSpriteUI():void{
var _local1:MovieClip;
var _local2:int;
if (spriteCon != null){
return;
};
spriteCon = new (UI.getUIClass("ui_sprite"));
UI.uiCon.addChild(spriteCon);
_local2 = 0;
while (_local2 < 4) {
_local1 = spriteCon[("s" + _local2)];
_local1.stop();
sprites.push(_local1);
if (_local2 < haveCollected){
_local1.gotoAndStop(2);
};
_local2++;
};
if (Root.FOR_TEST){
spriteCon.addEventListener(MouseEvent.CLICK, tempClickFun, false, 0, true);
};
}
private function bindInit():void{
var _local1:Sprite;
this.stop();
this.visible = false;
if ((((LevelData.curLevel == 3)) && ((LevelData.curMiniLevel == 1)))){
if ((SuperPower.curSuperPower is SuperPowerFire)){
_local1 = this.parent["ground_flash"];
if (_local1 != null){
if (_local1.parent != null){
_local1.parent.removeChild(_local1);
};
};
this.parent.removeChild(this);
return;
} else {
haveCollected = 4;
};
};
initLoc = this.localToGlobal(new Point(0, 0));
propertiesCon = (this.parent as Sprite);
if (this.parent["tspai0"] != null){
tishi0 = this.parent["tspai0"];
};
tishi0.visible = false;
if (this.parent["tspai1"] != null){
tishi1 = this.parent["tspai1"];
};
if (this.parent["ground_flash"] != null){
ground_flash = this.parent["ground_flash"];
};
if (this.parent["fairiesNotEnough"] != null){
fairiesNotEnough = this.parent["fairiesNotEnough"];
initScale = fairiesNotEnough.scaleX;
fairiesNotEnough["num_txt"].text = String((4 - haveCollected));
};
getRestFairies();
addSpriteUI();
Properties.bindFrameObjs.push(enterFrame);
Properties.bindForDel.push(bindObjDel);
}
public static function refreshSprites():void{
if (sprites == null){
return;
};
if (haveCollected < 4){
sprites[haveCollected].gotoAndStop(2);
haveCollected++;
};
getRestFairies();
if (fairiesNotEnough != null){
if (haveCollected < 4){
fairiesNotEnough["num_txt"].text = String((4 - haveCollected));
} else {
removeNotEnough();
};
};
}
private static function getRestFairies():void{
var _local1:MovieClip;
var _local2:int;
faries = [];
_local2 = 0;
while (_local2 < 4) {
_local1 = (propertiesCon.getChildByName(("fairy" + _local2)) as MovieClip);
if (((!((_local1 == null))) && ((_local1.currentFrame == 1)))){
if (_local1.currentFrame == 1){
faries.push(_local1);
};
};
_local2++;
};
if (((!((fairiesNotEnough == null))) && (!((faries[0] == null))))){
if (fairiesNotEnough.x < faries[0].x){
fairiesNotEnough["arrow"].scaleX = (initScale * -1);
} else {
fairiesNotEnough["arrow"].scaleX = initScale;
};
};
}
private static function removeNotEnough():void{
if (fairiesNotEnough.parent != null){
fairiesNotEnough.parent.removeChild(fairiesNotEnough);
};
fairiesNotEnough = null;
}
}
}//package code.game.object.level2
Section 44
//Fairy (code.game.object.level2.Fairy)
package code.game.object.level2 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
public class Fairy extends MovieClip {
public var _mc:MovieClip;
private var insideMc:MovieClip;
private var canHit:Boolean;// = true
private var finalLoc:Point;
public function Fairy(){
canHit = true;
super();
Properties.bindFrameObjs.push(enterFrame);
finalLoc = this.localToGlobal(new Point(0, 0));
this.addFrameScript((this.totalFrames - 1), lastFrame);
this.stop();
insideMc = this["_mc"];
toNormal(false);
}
protected function countFairies():void{
FairiesToElement.refreshSprites();
}
public function enterFrame():void{
if ((((Math.abs((DragoRec.dragoRec.px - finalLoc.x)) < 600)) && ((Math.abs((DragoRec.dragoRec.py - finalLoc.y)) < 400)))){
toNormal(true);
} else {
toNormal(false);
return;
};
if (!canHit){
return;
};
if ((((Math.abs((DragoRec.dragoRec.px - finalLoc.x)) < 55)) && ((Math.abs((DragoRec.dragoRec.py - finalLoc.y)) < 60)))){
SoundsManager.playSound("get_fairy", true, 0, 0.9);
Properties.removeEnterFrame(enterFrame);
canHit = false;
this.gotoAndPlay(2);
countFairies();
};
}
private function lastFrame():void{
this.stop();
if (this.parent != null){
this.parent.removeChild(this);
};
}
private function toNormal(_arg1:Boolean):void{
if (_arg1){
if (!this.visible){
this.visible = true;
insideMc.play();
};
} else {
if (this.visible){
this.visible = false;
insideMc.stop();
};
};
}
}
}//package code.game.object.level2
Section 45
//FairyCreate (code.game.object.level2.FairyCreate)
package code.game.object.level2 {
import flash.display.*;
import org.cove.ape.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
import flash.utils.*;
public class FairyCreate {
private var haveGot:Boolean;
private var finalLoc:Point;
private var initLoc:Point;
public var toOpenDoor:Boolean;
private var rec:Level2Dadi2Rec;
private var obj:MovieClip;
private var newGroup:Group;
public function FairyCreate(_arg1:Point, _arg2:Point){
Properties.bindFrameObjs.push(enterFrame);
this.finalLoc = _arg2;
this.initLoc = _arg1;
obj = new (getDefinitionByName("FairyMc2"));
obj.addFrameScript(2, start, (obj.totalFrames - 1), lastFrame);
rec = new Level2Dadi2Rec(_arg1.x, _arg1.y, obj.width, obj.height, 0, false, 1, 0.5, 0);
rec.setDisplay(obj);
rec.collidable = false;
creatreNewGroup();
newGroup.addParticle(rec);
}
private function start():void{
var _local1:Number;
var _local2:int;
var _local3:Number;
obj.stop();
_local1 = (finalLoc.x - initLoc.x);
_local2 = ((_local1 >= 0)) ? 1 : -1;
_local3 = ((_local2 * (Math.abs(_local1) + 200)) / 100);
rec.velocity = new Vector(_local3, -(Math.abs(_local3)));
}
public function enterFrame():void{
testGotFinal();
if (!haveGot){
return;
};
if ((((Math.abs((DragoRec.dragoRec.px - rec.px)) < 55)) && ((Math.abs((DragoRec.dragoRec.py - rec.py)) < 60)))){
SoundsManager.playSound("get_fairy", true, 0, 0.9);
FairiesToElement.refreshSprites();
Properties.removeEnterFrame(enterFrame);
if (toOpenDoor){
MoveDoorRec.forOpenDoorRec.openDoor();
};
obj.play();
};
}
private function lastFrame():void{
obj.stop();
obj = null;
newGroup.removeParticle(rec);
newGroup.removeCollidable(Properties.map.group);
newGroup = null;
rec = null;
}
private function creatreNewGroup():void{
if (newGroup == null){
newGroup = new Group();
APEngine.addGroup(newGroup);
newGroup.addCollidable(Properties.map.group);
};
}
private function testGotFinal():void{
if (haveGot){
return;
};
if (Math.abs((rec.px - finalLoc.x)) < 20){
rec.velocity = new Vector(0, rec.velocity.y);
rec.collidable = true;
haveGot = true;
};
}
}
}//package code.game.object.level2
Section 46
//FairySelect (code.game.object.level2.FairySelect)
package code.game.object.level2 {
import flash.display.*;
import code.game.object.level4.*;
import code.game.object.level3.*;
import code.game.object.level5.*;
import code.game.data.*;
public class FairySelect extends MovieClip {
public var wings:翅膀;
private static var curLevelFairy:String;
public static var curSuperPower;
public function FairySelect(){
curLevelFairy = "earth";
curSuperPower = SuperPowerEarth;
switch (LevelData.curLevel){
case 3:
curLevelFairy = "fire";
curSuperPower = SuperPowerFire;
break;
case 4:
curLevelFairy = "air";
curSuperPower = SuperPowerAir;
break;
case 5:
curLevelFairy = "water";
curSuperPower = SuperPowerWater;
break;
};
this.gotoAndStop(curLevelFairy);
}
}
}//package code.game.object.level2
Section 47
//HangingBridge (code.game.object.level2.HangingBridge)
package code.game.object.level2 {
import flash.display.*;
import org.cove.ape.*;
import flash.geom.*;
import code.game.object.*;
import flash.utils.*;
public class HangingBridge extends MovieClip {
private var woodNums:int;// = 43
private var composite:Composite;
public var mu1:yuanmu;
private var starLoc:Point;
public var mu0:yuanmu;
private var wid:Number;
public function HangingBridge(){
woodNums = 43;
super();
}
public function init():void{
starLoc = this["mu0"].localToGlobal(new Point(0, 0));
wid = this["mu0"].width;
composite = new Composite();
createParticles();
Properties.map.group.addComposite(composite);
}
private function getWood():Sprite{
return (new (getDefinitionByName("yuanmu")));
}
private function createParticles():void{
var _local1:CircleParticle;
var _local2:SpringConstraint;
var _local3:int;
_local3 = 0;
while (_local3 < woodNums) {
_local1 = new CircleParticle((starLoc.x + (_local3 * wid)), starLoc.y, wid, false, 10000, 0);
_local1.massForce = new Vector(0, 0);
_local1.masslessForce = new Vector(0, 0.001);
_local1.setDisplay(getWood());
composite.addParticle(_local1);
if (_local3 > 0){
_local2 = new SpringConstraint(composite.particles[(_local3 - 1)], composite.particles[_local3], 1);
composite.addConstraint(_local2);
};
if ((((_local3 == 0)) || ((_local3 == (woodNums - 1))))){
_local1.fixed = true;
};
_local3++;
};
}
}
}//package code.game.object.level2
Section 48
//Level21MiddleCheckMc (code.game.object.level2.Level21MiddleCheckMc)
package code.game.object.level2 {
import flash.display.*;
import code.game.data.*;
public class Level21MiddleCheckMc extends MiddleCheckPointMc {
public static var ifTouch:Boolean;
override protected function del():void{
if (LevelData.curState == LevelData.WORLD_COMPLETE){
ifTouch = false;
trace(("ifTouch:" + ifTouch));
};
}
override protected function set touchDrago(_arg1:Boolean):void{
ifTouch = _arg1;
}
override protected function get touchDrago():Boolean{
return (ifTouch);
}
override protected function dealOthers():void{
var _local1:Sprite;
_local1 = (this.parent as Sprite);
if (_local1["fairies_element_mc"] != null){
_local1["fairies_element_mc"].remove();
};
}
}
}//package code.game.object.level2
Section 49
//Level2Dadi2Rec (code.game.object.level2.Level2Dadi2Rec)
package code.game.object.level2 {
import org.cove.ape.*;
public class Level2Dadi2Rec extends RectangleParticle {
public function Level2Dadi2Rec(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Boolean=false, _arg7:Number=1, _arg8:Number=0.3, _arg9:Number=0){
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9);
massForce = new Vector(0, 0);
masslessForce = new Vector(0, 0.7);
}
}
}//package code.game.object.level2
Section 50
//MiddleCheckPointMc (code.game.object.level2.MiddleCheckPointMc)
package code.game.object.level2 {
import flash.display.*;
import org.cove.ape.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
import flash.utils.*;
import code.game.data.*;
public class MiddleCheckPointMc extends MovieClip {
private var initLoc:Point;
private var hei:int;
private var interx:int;
private var intery:int;
private var stars:Array;
private var wid:int;
public function MiddleCheckPointMc(){
stars = [];
super();
Properties.bindObjsForInit.push(objInit);
Properties.bindForDel.push(del);
}
private function toCatch():void{
calInter();
setDragoStartLoc();
dealOthers();
}
protected function del():void{
}
private function setDragoStartLoc():void{
DragoRec.dragoRec.changePosition = new Vector((initLoc.x - DragoRec.dragoRec.px), (initLoc.y - DragoRec.dragoRec.py));
Properties.map.level.modifyX(-(interx));
Properties.map.level.modifyY(-(intery));
LevelData.mapTopBot[LevelData.curLevel][LevelData.curMiniLevel] = [0, 0, 0, 45];
}
private function enterFrame():void{
if (Math.abs((initLoc.x - DragoRec.dragoRec.px)) > wid){
return;
};
if (Math.abs((initLoc.y - DragoRec.dragoRec.py)) > hei){
return;
};
SoundsManager.playSound("check_point");
Properties.removeEnterFrame(enterFrame);
touchDrago = true;
motion(true);
}
protected function set touchDrago(_arg1:Boolean):void{
}
private function objInit():void{
var _local1:int;
wid = (this.width / 2);
hei = (this.height / 2);
initLoc = this.localToGlobal(new Point());
stars = [];
_local1 = 0;
while (_local1 < this.numChildren) {
stars.push((this.getChildAt(_local1) as MovieClip));
_local1++;
};
if (touchDrago){
setTimeout(toCatch, 5);
} else {
motion(false);
Properties.bindFrameObjs.push(enterFrame);
};
}
private function calInter():void{
var _local1:int;
interx = (initLoc.x - 290);
intery = (initLoc.y - 190);
_local1 = ((interx + 580) - Properties.map.level.mapRectangle.right);
if (_local1 > 0){
interx = (interx - _local1);
};
}
private function motion(_arg1:Boolean):void{
var _local2:*;
if (_arg1){
for (_local2 in stars) {
stars[_local2].play();
};
} else {
for (_local2 in stars) {
stars[_local2].gotoAndStop(1);
};
};
}
protected function get touchDrago():Boolean{
return (false);
}
protected function dealOthers():void{
}
}
}//package code.game.object.level2
Section 51
//MoveDoor (code.game.object.level2.MoveDoor)
package code.game.object.level2 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
public class MoveDoor extends MovieClip {
private var loc:Point;
public var h:MovieClip;
public var stone:MovieClip;
private var rec:UserRec;
public var gotland:MovieClip;
public function MoveDoor(){
createRec();
}
private function createRec():void{
var _local1:Sprite;
_local1 = this["stone"];
loc = this.localToGlobal(new Point((_local1.width / 2), (_local1.height / 2)));
rec = new MoveDoorRec(loc, _local1);
}
}
}//package code.game.object.level2
Section 52
//MoveDoorRec (code.game.object.level2.MoveDoorRec)
package code.game.object.level2 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
import flash.utils.*;
import code.game.data.*;
import code.game.object.level0.*;
public class MoveDoorRec extends UserRec {
private var hei:Number;
private var willOpen:Boolean;
private var haveDrop:Boolean;
private var con:Sprite;
private var state:int;// = -1
private var mc:Sprite;
private var gotLand:MovieClip;
private var wid:Number;
private var curLoc:Point;
public static var forOpenDoorRec:MoveDoorRec;
public function MoveDoorRec(_arg1:Point, _arg2:Sprite){
state = -1;
super(_arg1.x, _arg1.y, _arg2.width, _arg2.height, 0, true, 1, 0, 0.3);
Properties.bindObjs.push([this, Map.SOLID]);
itemNum = AbstractItem.SOLID;
this.alwaysRepaint = true;
this.getRange(_arg2.parent["h"]);
hei = (_arg2.height / 2);
wid = (_arg2.width / 2);
con = (_arg2.parent as Sprite);
if (con.name != "_door02"){
startFall();
} else {
willOpen = true;
forOpenDoorRec = this;
};
gotLand = _arg2.parent["gotland"];
_arg2.addChild(gotLand);
gotLand.x = 30;
gotLand.y = 166;
gotLand.visible = false;
gotLand.stop();
mc = _arg2;
}
private function delayFun():void{
if ((((Math.abs((DragoRec.dragoRec.px - px)) < 200)) || ((con.name == "_door02")))){
SoundsManager.playSound("stone_door_drop");
state = 1;
};
}
private function mcRun():void{
if (mc.parent != null){
curLoc = mc.parent.globalToLocal(sprite.localToGlobal(new Point(0, 0)));
mc.y = (curLoc.y - hei);
};
}
public function openDoor():void{
if (((willOpen) && (!((forOpenDoorRec == null))))){
state = 3;
forOpenDoorRec = null;
GetRangeMc.setMapMoveSpeed();
LevelData.mapTopBot[LevelData.curLevel][LevelData.curMiniLevel][0] = 0;
};
}
override public function paint():void{
super.paint();
if (state == 1){
if (py >= (rangeArr[1].y - hei)){
py = (rangeArr[1].y - hei);
this.fixed = true;
gotLand.visible = true;
gotLand.gotoAndPlay(2);
state = 2;
};
mcRun();
} else {
if (state == 3){
py = (py - 1);
if (py <= (rangeArr[0].y + hei)){
py = (rangeArr[0].y + hei);
this.alwaysRepaint = false;
state = -1;
};
mcRun();
} else {
if (state == 0){
if (!haveDrop){
if (con.name == "_door02"){
delayFun();
} else {
setTimeout(delayFun, 250);
};
haveDrop = true;
};
};
};
};
}
public function startFall():void{
this.fixed = false;
state = 0;
}
}
}//package code.game.object.level2
Section 53
//MoveThruMushroom (code.game.object.level2.MoveThruMushroom)
package code.game.object.level2 {
import flash.display.*;
import flash.geom.*;
public class MoveThruMushroom extends MovieClip {
public var m:level2_plat;
public var h:MovieClip;
private var rec:MoveThruMushroomRec;
public function MoveThruMushroom(){
rec = new MoveThruMushroomRec((this as Sprite), this["m"].localToGlobal(new Point(0, 0)));
}
}
}//package code.game.object.level2
Section 54
//MoveThruMushroomRec (code.game.object.level2.MoveThruMushroomRec)
package code.game.object.level2 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.game.drago.*;
import code.game.object.level0.*;
public class MoveThruMushroomRec extends MoveThru {
private var tempVec:Vector;
private static var thisThru:MoveThruMushroomRec;
public static var mushRoom:MushroomRec;
public function MoveThruMushroomRec(_arg1:Sprite, _arg2:Point){
tempVec = new Vector();
super(_arg2, _arg1);
thisThru = this;
}
override public function paint():void{
if (mushRoom != null){
tempVec.x = curSpeedx;
tempVec.y = curSpeedy;
mushRoom.changePosition = tempVec;
};
super.paint();
}
override protected function moveInit():void{
var _local1:Number;
var _local2:Number;
_local1 = thruMc.width;
_local2 = thruMc.height;
itemNum = AbstractItem.MOVE;
this.alwaysRepaint = true;
Properties.bindObjs.push([this, Map.THRU]);
this.setDisplay(thruMc, (-(_local1) / 2), (-(_local2) / 2), 0);
}
public static function dragoMove():void{
DragoRec.dragoRec.changePosition = thisThru.tempVec;
}
public static function mushRoomInit():void{
mushRoom.px = thisThru.px;
}
}
}//package code.game.object.level2
Section 55
//Mushroom (code.game.object.level2.Mushroom)
package code.game.object.level2 {
import flash.display.*;
import flash.geom.*;
import code.*;
public class Mushroom extends BitmapMc {
public var yun_mc:MovieClip;
private var rec:MushroomRec;
public function Mushroom(){
rec = new MushroomRec(this, this.localToGlobal(new Point(0, 0)));
}
}
}//package code.game.object.level2
Section 56
//MushroomRec (code.game.object.level2.MushroomRec)
package code.game.object.level2 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
public class MushroomRec extends QuakeNormal {
private const initSpeed:uint = 2;
private var haveHit:Boolean;
private var speed:int;
private var initHeight:Number;
private var tempInt:int;
private var lastBoundRate:Number;// = -1
private var mc:MovieClip;
public function MushroomRec(_arg1:MovieClip, _arg2:Point){
lastBoundRate = -1;
super(_arg2, _arg1);
mc = _arg1;
mc.addFrameScript(32, reback, (mc.totalFrames - 1), hitOver, (mc.totalFrames - 16), bounce, (mc.totalFrames - 1), backRate);
getRange(_arg1);
this.alwaysRepaint = true;
this.alwaysCollision = true;
this.setDisplay(_arg1);
itemNum = AbstractItem.OTHERS;
Properties.bindObjs.push([this, Map.SOLID]);
initHeight = height;
super.paint();
if (mc.name == "_04"){
MoveThruMushroomRec.mushRoom = this;
MoveThruMushroomRec.mushRoomInit();
speed = 0;
};
}
override public function del():void{
}
private function hitOver():void{
if (speed == 0){
mc.gotoAndStop("move");
} else {
mc.gotoAndPlay("move");
};
}
private function testRebackBoundRate():void{
if (haveHit){
height = (height - 1);
tempInt++;
if (tempInt > 3){
haveHit = false;
tempInt = 0;
height = initHeight;
} else {
if (MoveThruMushroomRec.mushRoom == this){
MoveThruMushroomRec.dragoMove();
super.paint();
};
return;
};
};
}
override public function paint():void{
if (Math.abs((DragoRec.dragoRec.px - px)) > 900){
return;
};
if (Math.abs((DragoRec.dragoRec.py - py)) > 450){
return;
};
testRebackBoundRate();
super.paint();
if (inEarthquake){
countEarthquakeTime();
return;
};
if (speed == 0){
return;
};
if (!testStop()){
move();
};
}
private function backRate():void{
DragoRec.dragoRec.drago.setBoundNumRate(lastBoundRate);
lastBoundRate = -1;
}
override protected function getRange(_arg1:Sprite=null):void{
var _local2:Sprite;
var _local3:Point;
var _local4:Vector;
rangeArr = [];
_local2 = _arg1.parent[("mushroom" + _arg1.name)];
if (_local2 != null){
_local3 = _local2.localToGlobal(new Point(0, 0));
_local4 = new Vector((_local3.x - (_local2.width / 2)), _local3.y);
rangeArr.push(_local4);
_local4 = new Vector((_local3.x + (_local2.width / 2)), _local3.y);
rangeArr.push(_local4);
speed = initSpeed;
_local2.visible = false;
} else {
mc.stop();
};
}
private function bounce():void{
if (haveHit){
DragoRec.dragoRec.drago.bounce();
};
}
override public function resolveCollision(_arg1:Vector, _arg2:Vector, _arg3:Vector, _arg4:Number, _arg5:int, _arg6:AbstractParticle):void{
if (haveHit){
if (_arg6 == DragoRec.dragoRec){
tempInt = 0;
};
};
}
private function reback():void{
hitOver();
}
private function move():void{
px = (px + speed);
if (px > rangeArr[1].x){
speed = -(initSpeed);
mc.scaleX = -1;
} else {
if (px < rangeArr[0].x){
speed = initSpeed;
mc.scaleX = 1;
};
};
}
override public function hitDrago(_arg1:UserEvent, _arg2:RectangleParticle):Vector{
if (!haveHit){
if (_arg1.data["mtd"].y < 0){
SoundsManager.playSound("step_on_bounce");
haveHit = true;
mc.gotoAndPlay("bounce");
if (lastBoundRate < 0){
lastBoundRate = DragoRec.dragoRec.drago.getBoundNumRate();
};
DragoRec.dragoRec.drago.setBoundNumRate((lastBoundRate * 1.75));
};
};
return (new Vector());
}
}
}//package code.game.object.level2
Section 57
//Palmcivet (code.game.object.level2.Palmcivet)
package code.game.object.level2 {
import flash.display.*;
import flash.geom.*;
import code.*;
public class Palmcivet extends BitmapMc {
public var yun_mc:MovieClip;
private var rec:PalmcivetRec;
public function Palmcivet(){
rec = new PalmcivetRec(this.localToGlobal(new Point(0, 0)), this);
this.addFrameScript(9, moveOn, (this.totalFrames - 1), moveOn);
}
private function moveOn():void{
this.gotoAndPlay(1);
}
}
}//package code.game.object.level2
Section 58
//PalmcivetRec (code.game.object.level2.PalmcivetRec)
package code.game.object.level2 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
public class PalmcivetRec extends QuakeNormal {
private var moment:int;// = -35
private var initScale:Number;
private var speed:Number;// = 2
private var enemiesCon:Sprite;
private var dir:int;
private var mc:MovieClip;
private var globalLoc:Point;
private var createDadi:Boolean;
private var curSpeed:Number;// = 2
public function PalmcivetRec(_arg1:Point, _arg2:MovieClip){
speed = 2;
curSpeed = 2;
moment = -35;
super(_arg1, _arg2, null, true, 1000);
mc = _arg2;
enemiesCon = (mc.parent as Sprite);
getRange(mc.parent[("h" + mc.name)]);
this.alwaysRepaint = true;
this.setDisplay(_arg2);
itemNum = AbstractItem.ENEMY;
Properties.bindObjs.push([this, Map.ENEMY]);
initScale = mc.scaleX;
if (mc.name == "_palmcivet01"){
createDadi = true;
};
super.paint();
}
override public function paint():void{
globalLoc = this.sprite.localToGlobal(new Point(0, 0));
if (haveDie){
if (globalLoc.y > 650){
del();
return;
};
} else {
if ((((globalLoc.x < -50)) || ((globalLoc.x > 630)))){
return;
};
if ((((globalLoc.y < -50)) || ((globalLoc.y > 430)))){
return;
};
};
super.paint();
if (inEarthquake){
countEarthquakeTime();
return;
};
if (moment < 0){
moment++;
};
if (moment == -15){
if (createDadi){
MoveDoorRec.forOpenDoorRec.startFall();
};
} else {
if ((((moment == 0)) || ((moment == 1)))){
if (testRange(dir)){
getdir();
if (!testStop()){
px = (px + (dir * curSpeed));
};
};
if (curSpeed < 6){
curSpeed = (curSpeed + 0.1);
};
if (moment == 0){
if (Math.abs((DragoRec.dragoRec.px - px)) < 75){
mc.gotoAndPlay("attack");
SoundsManager.playSound("palmcive_attack");
moment = 1;
};
} else {
if (moment == 1){
if (Math.abs((DragoRec.dragoRec.px - px)) < 50){
mc.scaleX = (mc.scaleX * -1);
curSpeed = (speed * 2);
moment = 2;
};
};
};
} else {
if (moment == 2){
if (testRange(-(dir))){
px = (px + (-(dir) * curSpeed));
};
curSpeed = (curSpeed - 0.06);
if (curSpeed < 0){
curSpeed = speed;
moment = 0;
};
};
};
};
}
private function getdir():void{
if (DragoRec.dragoRec.px > px){
mc.scaleX = -(initScale);
dir = 1;
} else {
mc.scaleX = initScale;
dir = -1;
};
}
override public function die():void{
var _local1:Point;
var _local2:FairyCreate;
if (createDadi){
_local1 = Properties.map.playCon.globalToLocal(globalLoc);
_local2 = new FairyCreate(_local1, new Point(40, 380));
_local2.toOpenDoor = true;
};
super.die();
}
private function testRange(_arg1:int):Boolean{
if (rangeArr == null){
return (true);
};
if ((((((((px < rangeArr[0].x)) && ((_arg1 < 0)))) || ((((px > rangeArr[1].x)) && ((_arg1 > 0)))))) || ((Math.abs((DragoRec.dragoRec.py - py)) > 50)))){
return (false);
};
return (true);
}
}
}//package code.game.object.level2
Section 59
//QuakeNormal (code.game.object.level2.QuakeNormal)
package code.game.object.level2 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
import code.game.enemy.*;
public class QuakeNormal extends Normal {
private var hei:int;
protected var yunMc:MovieClip;
private var quakeTime:int;
private var loc:Point;
protected var pausedForDragoSuper:Boolean;
private var pausedWid:int;
protected var inEarthquake:Boolean;
private var wid:int;
private var obj:MovieClip;
public function QuakeNormal(_arg1:Point, _arg2:MovieClip, _arg3:MovieClip=null, _arg4:Boolean=true, _arg5:Number=2000, _arg6:Number=0, _arg7:Number=0){
super(_arg1, _arg2, _arg4, _arg5, _arg6, _arg7);
if (_arg3 == null){
_arg3 = _arg2;
};
obj = _arg3;
Earthquake.earthquakeFuns.push(startEarthquacke);
pausedWid = ((Drago.HALF_WIDTH + bounds[0]) + 6);
yunMc = _arg3["yun_mc"];
showYun(false);
}
override protected function dragoGetBounce(_arg1:Vector):void{
if (((inEarthquake) || (earthOnlandSuper))){
_arg1.x = 0;
};
super.dragoGetBounce(_arg1);
}
override public function del():void{
stopEarthquake();
Earthquake.removeEarthquake(startEarthquacke);
super.del();
}
public function startEarthquacke():void{
loc = obj.localToGlobal(new Point(0, 0));
if ((((((((loc.x > -(wid))) && ((loc.x < (wid + 580))))) && ((loc.y > -(hei))))) && ((loc.y < (hei + 380))))){
inEarthquake = true;
quakeTime = 0;
showYun(true);
obj.stop();
};
}
protected function countEarthquakeTime():void{
quakeTime++;
if (quakeTime > 90){
stopEarthquake();
};
}
override public function paint():void{
super.paint();
}
override public function die():void{
SoundsManager.stopSound("drago_dizzy");
super.die();
}
protected function stopEarthquake():void{
if (inEarthquake){
inEarthquake = false;
quakeTime = 0;
showYun(false);
obj.play();
};
}
protected function showYun(_arg1:Boolean):void{
if (_arg1){
yunMc.play();
obj.addChild(yunMc);
SoundsManager.playSound("drago_dizzy", true, 1, 0.56);
} else {
yunMc.stop();
if (yunMc.parent != null){
yunMc.parent.removeChild(yunMc);
};
};
}
override protected function dragoDamaged():void{
if (!((inEarthquake) || (earthOnlandSuper))){
super.dragoDamaged();
};
}
protected function get earthOnlandSuper():Boolean{
return ((((SuperPower.curSuperPower == SuperPowerEarth.superPowerEarth)) && (SuperPowerEarth.dragoStandSuper)));
}
protected function testStop():Boolean{
if ((((Math.abs((DragoRec.dragoRec.px - px)) <= ((Drago.HALF_WIDTH + bounds[0]) + 5))) && (earthOnlandSuper))){
pausedForDragoSuper = true;
} else {
if (Math.abs((DragoRec.dragoRec.px - px)) > ((Drago.HALF_WIDTH + bounds[0]) + 5)){
if (pausedForDragoSuper){
if (Math.abs((DragoRec.dragoRec.px - px)) > ((Drago.HALF_WIDTH + bounds[0]) + 40)){
pausedForDragoSuper = false;
};
} else {
pausedForDragoSuper = false;
};
};
};
return (pausedForDragoSuper);
}
override public function hitDrago(_arg1:UserEvent, _arg2:RectangleParticle):Vector{
return (super.hitDrago(_arg1, _arg2));
}
}
}//package code.game.object.level2
Section 60
//Rattan (code.game.object.level2.Rattan)
package code.game.object.level2 {
import flash.display.*;
import flash.geom.*;
import code.*;
public class Rattan extends MovieClip {
private var rec:RattanRec;
public function Rattan():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
super();
_local1 = this.rotation;
this.rotation = 0;
_local2 = this.width;
_local3 = this.height;
this.rotation = _local1;
rec = new RattanRec(this.localToGlobal(new Point(0, 0)), _local2, _local3, Tool.angleToRadian(_local1), this);
}
}
}//package code.game.object.level2
Section 61
//RattanFoot (code.game.object.level2.RattanFoot)
package code.game.object.level2 {
import flash.display.*;
import flash.geom.*;
public class RattanFoot extends MovieClip {
private var rec:RattanFootRec;
public function RattanFoot():void{
rec = new RattanFootRec(this, this.localToGlobal(new Point(0, 0)));
}
}
}//package code.game.object.level2
Section 62
//RattanFootRec (code.game.object.level2.RattanFootRec)
package code.game.object.level2 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
public class RattanFootRec extends UserRec {
private var haveHit:Boolean;
public static var rattan:RattanRec;
public function RattanFootRec(_arg1:Sprite, _arg2:Point){
super(_arg2.x, _arg2.y, (_arg1.width * 1), _arg1.height, 0, true);
itemNum = AbstractItem.OTHERS;
Properties.bindObjs.push([this, Map.SOLID]);
}
public function hitDrago(_arg1:UserEvent, _arg2:RectangleParticle):void{
if (!haveHit){
haveHit = true;
Properties.map.removeParticle(rattan, Map.SOLID);
this.alwaysCollision = false;
};
}
}
}//package code.game.object.level2
Section 63
//RattanRec (code.game.object.level2.RattanRec)
package code.game.object.level2 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
public class RattanRec extends UserRec {
private var haveHit:Boolean;
private var tempInt:int;
private var acc:Number;// = 1
public function RattanRec(_arg1:Point, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:MovieClip){
acc = 1;
super(_arg1.x, _arg1.y, _arg2, _arg3, _arg4, true, 100, 0, 0.02);
itemNum = AbstractItem.RATTAN;
Properties.bindObjs.push([this, Map.SOLID]);
Properties.bindForDel.push(del);
this.alwaysCollision = true;
if (_arg5.name == "ranttan2"){
RattanFootRec.rattan = this;
};
}
override public function del():void{
Properties.map.removeParticle(this, Map.ENEMY);
stopSlideSound();
}
private function stopSlideSound():void{
SoundsManager.stopSound("drago_slide");
}
override public function resolveCollision(_arg1:Vector, _arg2:Vector, _arg3:Vector, _arg4:Number, _arg5:int, _arg6:AbstractParticle):void{
var _local7:DragoRec;
if (_arg4 > 0){
return;
};
if ((_arg6 is DragoRec)){
_local7 = (_arg6 as DragoRec);
_local7.drago.changeState("slope");
_local7.setDragoSpeed(0, 0);
tempInt = 0;
if (!haveHit){
haveHit = true;
SoundsManager.playSound("drago_slide", true, 4);
};
};
}
override public function update(_arg1:Number):void{
if (!haveHit){
return;
};
tempInt++;
if (tempInt > 2){
acc = 1;
haveHit = false;
stopSlideSound();
};
}
override public function set changePosition(_arg1:Vector):void{
super.changePosition = _arg1;
}
}
}//package code.game.object.level2
Section 64
//RectangleTrack (code.game.object.level2.RectangleTrack)
package code.game.object.level2 {
import flash.display.*;
import org.cove.ape.*;
import flash.geom.*;
import code.game.object.*;
import code.game.drago.*;
import flash.utils.*;
import code.game.data.*;
public class RectangleTrack extends MovieClip {
public var range_mc:MovieClip;
private var points:Array;
private var hei:int;
private var recs:Array;
private var recNums:int;
private var center:Vector;
private var direction:int;
private var wid:int;
protected var platClassStr:String;
public static var speed:int = 4;
public function RectangleTrack(){
var _local1:Rectangle;
var _local2:Point;
super();
Properties.bindFrameObjs.push(enterFrame);
Properties.bindForDel.push(del);
recNums = int(this.name.slice(4));
direction = ((this.name.slice(1, 2) == "s")) ? 1 : -1;
setPlatClassStr();
calData();
addRecs();
_local1 = this.getBounds(this);
_local2 = this.localToGlobal(new Point(_local1.x, _local1.y));
center = new Vector((_local2.x + (this.width / 2)), (_local2.y + (this.height / 2)));
wid = ((this.width / 2) + 100);
hei = ((this.height / 2) + 50);
}
public function del():void{
Properties.removeEnterFrame(enterFrame);
}
private function addRecs():void{
var _local1:int;
var _local2:Sprite;
var _local3:int;
var _local4:int;
recs = [];
_local1 = (points.length / recNums);
_local3 = 0;
_local4 = 0;
while (_local3 < recNums) {
_local4 = (_local3 * _local1);
_local2 = new (getDefinitionByName(platClassStr));
recs.push(new RectangleTrackRec(_local2, points, _local4, direction));
_local3++;
};
}
protected function setPlatClassStr():void{
platClassStr = (("level" + LevelData.curLevel) + "_plat");
}
public function enterFrame():void{
var _local1:*;
if (Math.abs((center.x - DragoRec.dragoRec.px)) > (580 + wid)){
return;
};
if (Math.abs((center.y - DragoRec.dragoRec.py)) > (380 + hei)){
return;
};
for (_local1 in recs) {
recs[_local1].timerFun();
};
}
private function calData():void{
var _local1:Sprite;
var _local2:int;
var _local3:int;
var _local4:Point;
var _local5:Point;
var _local6:Point;
var _local7:Point;
points = [];
_local1 = this["range_mc"];
_local1.visible = false;
_local2 = _local1.width;
_local3 = _local1.height;
_local4 = _local1.localToGlobal(new Point(0, 0));
_local5 = new Point((_local4.x + _local2), _local4.y);
_local6 = new Point(_local5.x, (_local5.y + _local3));
_local7 = new Point((_local6.x - _local2), _local6.y);
getLinePoint(_local4, _local5);
getLinePoint(_local5, _local6);
getLinePoint(_local6, _local7);
getLinePoint(_local7, _local4);
}
private function getLinePoint(_arg1:Point, _arg2:Point):void{
var _local3:Number;
var _local4:Point;
var _local5:Number;
_local3 = Point.distance(_arg1, _arg2);
_local3 = (_local3 / speed);
_local3 = (1 / _local3);
_local5 = 0;
while (_local5 <= 1) {
_local4 = Point.interpolate(_arg2, _arg1, _local5);
points.push(new Vector(Math.round(_local4.x), Math.round(_local4.y)));
_local5 = (_local5 + _local3);
};
}
}
}//package code.game.object.level2
Section 65
//RectangleTrackRec (code.game.object.level2.RectangleTrackRec)
package code.game.object.level2 {
import flash.display.*;
import code.game.*;
import code.game.object.*;
import code.game.object.level1.*;
public class RectangleTrackRec extends MoCircleRec {
public function RectangleTrackRec(_arg1:Sprite, _arg2:Array, _arg3:int, _arg4:int){
super(_arg1, _arg2, _arg3, _arg4);
}
override protected function recInit():void{
Properties.bindObjs.push([this, Map.THRU]);
}
}
}//package code.game.object.level2
Section 66
//ReturnNomalDrago (code.game.object.level2.ReturnNomalDrago)
package code.game.object.level2 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import code.game.drago.*;
public class ReturnNomalDrago extends MovieClip {
private var hei:int;
private var loc:Point;
private var wid:int;
public function ReturnNomalDrago(){
this.stop();
Properties.bindFrameObjs.push(enterFrame);
loc = this.localToGlobal(new Point(0, 0));
wid = ((this.width / 2) + 10);
hei = ((this.height / 2) + 15);
}
public function enterFrame():void{
if (Math.abs((DragoRec.dragoRec.px - loc.x)) < wid){
if (Math.abs((DragoRec.dragoRec.py - loc.y)) < hei){
Properties.removeEnterFrame(enterFrame);
SuperPower.returnNormal();
this.play();
this.addFrameScript((this.totalFrames - 1), lastFrame);
};
};
}
private function lastFrame():void{
this.stop();
if (this.parent != null){
this.parent.removeChild(this);
};
}
}
}//package code.game.object.level2
Section 67
//Spider (code.game.object.level2.Spider)
package code.game.object.level2 {
import flash.display.*;
import flash.geom.*;
import code.*;
public class Spider extends BitmapMc {
public var yun_mc:MovieClip;
private var rec:SpiderRec;
public function Spider(){
rec = new SpiderRec(this.localToGlobal(new Point(0, 0)), this);
}
}
}//package code.game.object.level2
Section 68
//SpiderRec (code.game.object.level2.SpiderRec)
package code.game.object.level2 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.game.drago.*;
public class SpiderRec extends QuakeNormal {
private var close:Boolean;
private var tempInt:int;
private var mc:MovieClip;
public function SpiderRec(_arg1:Point, _arg2:MovieClip){
super(_arg1, _arg2, null, true, 500);
mc = _arg2;
mc.stop();
getRange(mc.parent[("h" + mc.name)]);
py = rangeArr[0].y;
this.alwaysRepaint = true;
this.setDisplay(_arg2);
itemNum = AbstractItem.ENEMY;
Properties.bindObjs.push([this, Map.ENEMY]);
super.paint();
}
override public function startEarthquacke():void{
super.startEarthquacke();
close = true;
this.fixed = false;
tempInt = 0;
}
override public function paint():void{
super.paint();
if (rangeArr == null){
return;
};
testRemove();
if (haveDie){
return;
};
if (inEarthquake){
countEarthquakeTime();
};
if ((((((Math.abs((DragoRec.dragoRec.px - px)) < 55)) && ((DragoRec.dragoRec.py > py)))) && ((DragoRec.dragoRec.py < (rangeArr[1].y + 40))))){
if (!close){
close = true;
this.fixed = false;
tempInt = 0;
mc.play();
};
};
move();
}
private function move():void{
if (close){
if (tempInt == 0){
if (py > rangeArr[1].y){
py = rangeArr[1].y;
this.fixed = true;
mc.stop();
tempInt = 1;
};
} else {
if ((((tempInt > 0)) && (!(inEarthquake)))){
tempInt++;
if (tempInt > 40){
mc.play();
py = (py + -1);
if (py < rangeArr[0].y){
tempInt = 0;
py = rangeArr[0].y;
close = false;
mc.stop();
};
};
};
};
};
}
}
}//package code.game.object.level2
Section 69
//StoneCrackMotion (code.game.object.level2.StoneCrackMotion)
package code.game.object.level2 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
public class StoneCrackMotion extends MovieClip {
private var hei:int;
private var loc:Point;
private var rec:RectangleParticle;
private var motion:MovieClip;
public var motion_mc:MovieClip;
private var wid:int;
public function StoneCrackMotion(){
this.stop();
this.addFrameScript((this.totalFrames - 1), lastFrame);
motion = (this.getChildByName("motion_mc") as MovieClip);
motion.addFrameScript((motion.totalFrames - 1), motionLastFrame);
motion.stop();
wid = (this.width / 2);
hei = (this.height / 2);
Earthquake.earthquakeFuns.push(startCrack);
Properties.bindObjsForInit.push(objInit);
}
private function motionLastFrame():void{
motion.stop();
}
private function lastFrame():void{
this.stop();
Properties.map.removeParticle(rec, Map.SOLID);
}
public function startCrack():void{
loc = this.localToGlobal(new Point(0, 0));
if ((((((((loc.x > -(wid))) && ((loc.x < (wid + 580))))) && ((loc.y > -(hei))))) && ((loc.y < (hei + 380))))){
this.play();
motion.play();
Earthquake.removeEarthquake(startCrack);
SoundsManager.playSound("stone_break");
};
}
public function objInit():void{
rec = Properties.map.createOneArticle(this, AbstractItem.SOLID);
Properties.map.group.addParticle(rec);
Properties.map.allParticles[Map.SOLID].push(rec);
}
}
}//package code.game.object.level2
Section 70
//SuperPowerEarth (code.game.object.level2.SuperPowerEarth)
package code.game.object.level2 {
import code.game.object.*;
import code.*;
import code.game.drago.*;
import code.game.object.level3.*;
import code.game.data.*;
public class SuperPowerEarth extends SuperPower {
public static var superPowerEarth:SuperPowerEarth;
public function SuperPowerEarth(){
super(this);
superDragoStr = "dragoMcCla2";
}
private function toStone():void{
if (DragoRec.dragoRec.drago.dragoState == Drago.STAND){
DragoRec.dragoRec.drago.changeState("stone");
_onStandSuper = true;
SoundsManager.checkAndPlaySound("drago_to_stone", true, 0, 0.7);
} else {
_onStandSuper = false;
};
}
override public function toSuperState():void{
super.toSuperState();
normal_drago = DragoRec.dragoRec.drago.switchDrago(superDrago);
DragoRec.dragoRec.drago.setStateSpeed(0.67, 1);
DragoRec.dragoRec.drago.setBoundNumRate(0.85);
DragoRec.dragoRec.drago.superKeyOnLand = pressOnLandFun;
DragoRec.dragoRec.drago.superKeyOnLandUp = pressOnLandUpFun;
DragoRec.dragoRec.drago.superKeyOnAir = pressOnAirFun;
DragoRec.dragoRec.onGotLand = gotLandFun;
SuperPower._pressOnAirGotLand = Earthquake.getEarthquake;
}
override protected function pressOnLandFun():void{
if (DragoRec.dragoRec.onCollistion2 != toStone){
DragoRec.dragoRec.onCollistion2 = toStone;
};
}
override protected function pressOnLandUpFun():void{
DragoRec.dragoRec.onCollistion2 = null;
_onStandSuper = false;
if (DragoRec.dragoRec.drago.dragoState == Drago.STAND){
DragoRec.dragoRec.drago.changeState("stand");
SoundsManager.stopSound("drago_to_stone");
};
}
override protected function bindObjDel():void{
if (SuperPower.curSuperPower == this){
super.bindObjDel();
SoundsManager.stopSound("drago_to_stone");
switch (LevelData.curState){
case LevelData.TO_NEXT_PART:
break;
case LevelData.LEVEL_FAILED:
if ((((LevelData.curLevel == 2)) && ((LevelData.curMiniLevel == 1)))){
SuperPower.curSuperPower = null;
trace("SuperPower.curSuperPower = null");
} else {
if ((((LevelData.curLevel == 3)) && ((LevelData.curMiniLevel == 1)))){
SuperPower.curSuperPower = SuperPowerFire.superPowerFire;
} else {
if (LevelData.curLevel == 5){
if (LevelData.curMiniLevel == 0){
SuperPower.curSuperPower = null;
};
};
};
};
break;
case LevelData.WORLD_COMPLETE:
break;
};
};
}
public static function toSuper():void{
if ((curSuperPower is SuperPowerEarth)){
return;
};
if (superPowerEarth == null){
superPowerEarth = new (SuperPowerEarth);
};
superPowerEarth.toSuperState();
}
public static function get pressOnAir():Boolean{
if (superPowerEarth == null){
return (false);
};
return (superPowerEarth._pressOnAir);
}
public static function get dragoStandSuper():Boolean{
if (superPowerEarth == null){
return (false);
};
return (superPowerEarth._onStandSuper);
}
public static function set pressOnAirGotLand(_arg1:Function):void{
SuperPower._pressOnAirGotLand = _arg1;
}
public static function get pressOnAirGotLand():Function{
return (SuperPower._pressOnAirGotLand);
}
}
}//package code.game.object.level2
Section 71
//SuperToWood (code.game.object.level2.SuperToWood)
package code.game.object.level2 {
import flash.display.*;
import org.cove.ape.*;
import flash.geom.*;
import code.game.object.*;
public class SuperToWood extends MovieClip {
static var lao:MovieClip;
static var stone:Sprite;
static var recLao:RectangleParticle;
static var recStone:RectangleParticle;
public function SuperToWood(){
Properties.bindObjsForInit.push(objInit);
}
private function objInit():void{
var _local1:String;
_local1 = this.name;
if (_local1 == "cai0"){
new SuperToWoodRec2(this.localToGlobal(new Point(0, (-(this.height) / 2))), this);
} else {
if (_local1 == "cai1"){
new SuperToWoodRec3(this.localToGlobal(new Point(0, (-(this.height) / 2))), this);
} else {
new SuperToWoodRec(this.localToGlobal(new Point(0, (-(this.height) / 2))), this);
};
};
}
}
}//package code.game.object.level2
Section 72
//SuperToWoodRec (code.game.object.level2.SuperToWoodRec)
package code.game.object.level2 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
public class SuperToWoodRec extends UserRec {
private var tempFun:Function;
private var interx:Number;
private var intery:Number;
private var loc:Point;
private var tempWid:Number;
private var tempHei:Number;
protected var obj:MovieClip;
private var fullHei:Number;
public function SuperToWoodRec(_arg1:Point, _arg2:MovieClip){
super(_arg1.x, _arg1.y, _arg2.width, _arg2.height, 0, true, 1, 0, 0);
this.obj = _arg2;
this.loc = _arg1;
Properties.map.group.addParticle(this);
Properties.map.allParticles[Map.SOLID].push(this);
Properties.bindForDel.push(stopSound);
itemNum = AbstractItem.SOLID;
this.alwaysRepaint = true;
tempWid = ((this.width / 2) + (Drago.DRAGO_WIDTH / 2));
tempHei = (((this.height / 2) + (Drago.DRAGO_HEIGHT / 2)) + (this.height / 2));
fullHei = this.height;
}
public function hitDrago(_arg1:UserEvent, _arg2:RectangleParticle):void{
}
private function stopSound():void{
SoundsManager.stopSound("wood_drop");
}
protected function otherSuper():void{
if (tempFun != null){
SuperPowerEarth.pressOnAirGotLand = tempFun;
tempFun = null;
};
}
override public function paint():void{
var _local1:Number;
interx = Math.abs((px - DragoRec.dragoRec.px));
if (interx > (tempWid + 50)){
return;
};
intery = (py - DragoRec.dragoRec.py);
if ((((intery > (tempHei + 50))) || ((intery < 0)))){
return;
};
if ((((intery < tempHei)) && ((interx < tempWid)))){
if ((((tempFun == null)) && (!((SuperPowerEarth.pressOnAirGotLand == stepOn))))){
tempFun = Earthquake.getEarthquake;
SuperPowerEarth.pressOnAirGotLand = stepOn;
};
if (SuperPowerEarth.pressOnAir){
DragoRec.dragoRec.drago.changeState("stepOn");
};
} else {
otherSuper();
};
if (!fixed){
super.paint();
_local1 = (py - loc.y);
if (_local1 >= fullHei){
testOver();
} else {
obj.scaleY = ((fullHei - _local1) / fullHei);
};
};
}
protected function testOver():void{
otherSuper();
Properties.map.removeParticle(this, Map.SOLID);
if (obj.parent != null){
obj.parent.removeChild(obj);
};
}
protected function stepOn():void{
this.fixed = false;
SoundsManager.playSound("wood_drop");
}
}
}//package code.game.object.level2
Section 73
//SuperToWoodRec2 (code.game.object.level2.SuperToWoodRec2)
package code.game.object.level2 {
import flash.geom.*;
public class SuperToWoodRec2 extends SuperToWoodRec {
public function SuperToWoodRec2(_arg1:Point, _arg2:SuperToWood){
super(_arg1, _arg2);
}
override protected function testOver():void{
SuperToWood.recStone.py = (SuperToWood.recStone.py - 30);
SuperToWood.stone.y = (SuperToWood.stone.y - 30);
SuperToWood.stone.visible = true;
super.testOver();
}
}
}//package code.game.object.level2
Section 74
//SuperToWoodRec3 (code.game.object.level2.SuperToWoodRec3)
package code.game.object.level2 {
import flash.events.*;
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
public class SuperToWoodRec3 extends SuperToWoodRec2 {
public function SuperToWoodRec3(_arg1:Point, _arg2:SuperToWood){
super(_arg1, _arg2);
Properties.bindObjsForInit.push(objInit);
}
private function dasherSaved():void{
SuperToWood.lao.stop();
SuperToWood.lao.dispatchEvent(new Event("dasherSaved", true));
}
private function dragoStop():void{
DragoRec.dragoRec.drago.setPaused(true);
Properties.map.level.setPaused(true);
SoundsManager.playSound("case_break");
}
private function enterFrame(_arg1:Event):void{
var _local2:Sprite;
var _local3:Point;
_local2 = SuperToWood.lao["help_mc"];
_local3 = _local2.localToGlobal(new Point());
if (_local3.x > 530){
return;
};
if (_local3.x < 50){
return;
};
if (_local3.y > 350){
return;
};
if (_local3.y < 30){
return;
};
SoundsManager.checkAndPlaySound("dasher_help");
SuperToWood.lao.removeEventListener(Event.ENTER_FRAME, enterFrame);
}
override protected function testOver():void{
Properties.map.group.removeParticle(SuperToWood.recLao);
Properties.map.removeFromMap(SuperToWood.recLao, Map.SOLID);
SuperToWood.recLao = null;
SuperToWood.lao.play();
super.testOver();
}
private function objInit():void{
SuperToWood.stone = obj.parent["s_stone"];
SuperToWood.stone.visible = false;
SuperToWood.recStone = Properties.map.createOneArticle(SuperToWood.stone, AbstractItem.SOLID);
Properties.map.group.addParticle(SuperToWood.recStone);
Properties.map.allParticles[Map.SOLID].push(SuperToWood.recStone);
SuperToWood.lao = obj.parent["laolong"];
SuperToWood.lao.addFrameScript((SuperToWood.lao.totalFrames - 1), dasherSaved);
SuperToWood.lao.addFrameScript(2, dragoStop);
SuperToWood.lao.stop();
SuperToWood.recLao = Properties.map.createOneArticle(SuperToWood.lao, AbstractItem.SOLID);
SuperToWood.lao.addEventListener(Event.ENTER_FRAME, enterFrame, false, 0, true);
Properties.map.group.addParticle(SuperToWood.recLao);
Properties.map.allParticles[Map.SOLID].push(SuperToWood.recLao);
}
}
}//package code.game.object.level2
Section 75
//Waterfall (code.game.object.level2.Waterfall)
package code.game.object.level2 {
import flash.geom.*;
import code.*;
public class Waterfall extends BitmapMc {
private var initLoc:Point;
private var loc:Point;
private var hei0:int;
private var hei1:int;
public function Waterfall(){
hei0 = -(((this.height / 2) + 20));
hei1 = ((this.height / 2) + 400);
initLoc = this.localToGlobal(new Point());
}
override protected function testRemoved():void{
}
override protected function motion():void{
loc = this.localToGlobal(new Point(0, 0));
if (loc.y > hei1){
return;
};
if (loc.y < hei0){
return;
};
if (loc.x < -50){
return;
};
if (loc.x > 630){
return;
};
super.motion();
}
}
}//package code.game.object.level2
Section 76
//Boss (code.game.object.level3.Boss)
package code.game.object.level3 {
import flash.events.*;
import flash.display.*;
import org.cove.ape.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
import code.game.object.level2.*;
import code.ui.*;
public class Boss extends UserRec {
private var insideMcs:Array;
private var hitGround:Boolean;
private var initLoc:Point;
private var curState:String;// = "stand"
private var prosCon:Sprite;
private var speed:Number;// = 3
private var routeArrow:MovieClip;
private var health:Sprite;
private var direction:int;// = -1
private var healthCon:Sprite;
private var modify_reduce:Sprite;
private var initScaleX:Number;
private var healthNum:int;// = 100
private var throwInter:int;// = 100
private var insideMc:MovieClip;
private var hurtsByDrago:int;
private var throwTime:int;
private var haveStart:Boolean;
private var bossMc:MovieClip;
private var fallTime:int;
private var hitRec:BossHitRec;
private var haveDie:Boolean;
private static const MOVE:String = "move";
private static const THROW:String = "throwBomb";
private static const FALL:String = "fall";
private static const STAND:String = "stand";
public static const SHAKED:String = "shaked";
public function Boss(_arg1:Point, _arg2:MovieClip){
curState = STAND;
direction = -1;
speed = 3;
throwInter = 100;
insideMcs = [];
healthNum = 100;
super(_arg1.x, _arg1.y, (_arg2.width * 0.8), (_arg2.height * 0.8), 0, true);
prosCon = (_arg2.parent as Sprite);
routeArrow = _arg2.parent["routeArrow"];
routeArrow.stop();
routeArrow.visible = false;
initLoc = _arg1;
getRange(_arg2.parent["boss_range"]);
healthCon = _arg2.parent["health_mc"];
health = healthCon["health"];
modify_reduce = _arg2.parent["modify_050"];
_arg2.parent.addEventListener("reduced", start, false, 0, true);
_arg2.parent.addEventListener("startReduce", startReduce, false, 0, true);
this.setDisplay(_arg2, 0, 0);
this.collidable = false;
_arg2.stop();
bossMc = _arg2;
addInsideMc();
Earthquake.earthquakeFuns.push(earthquake);
initScaleX = bossMc.scaleX;
hitRec = new BossHitRec(initLoc, bossMc["hitRan"], this);
Properties.bindForDel.push(del);
}
override public function del():void{
if (hitRec == null){
return;
};
BossBall.newBallsGroup.removeParticle(this);
CannonBallMove.delAllBalls();
if (insideMc != null){
insideMc.stop();
};
if (healthCon.parent != null){
healthCon.parent.removeChild(healthCon);
};
hitRec.del();
hitRec = null;
}
private function refreshHealth(_arg1:Number):void{
healthNum = (healthNum - _arg1);
if (healthNum <= 0){
die();
healthNum = 0;
};
health.scaleX = (healthNum / 100);
}
private function afterAnimation():void{
var _local1:String;
_local1 = ((Math.random() > 0.2)) ? MOVE : STAND;
if (haveStart){
changeState = _local1;
};
}
private function toThrowMc():void{
changeState = THROW;
throwTime = 1;
throwInter = ((Math.random() * 50) + 100);
}
private function getBombLoc():Point{
var _local1:Point;
if (insideMc.currentFrame >= 58){
_local1 = new Point(33.5, -104.3);
} else {
if (insideMc.currentFrame >= 51){
_local1 = new Point(159, -19.5);
} else {
if (insideMc.currentFrame >= 25){
_local1 = new Point(92.1, -52.8);
} else {
_local1 = new Point(23.9, -52.8);
};
};
};
return (Properties.map.playCon.globalToLocal(insideMc.localToGlobal(_local1)));
}
override public function paint():void{
super.paint();
if (haveDie){
if (py > 600){
del();
};
return;
};
if (haveStart){
if (throwTime > 0){
throwTime++;
if (throwTime > throwInter){
toThrowMc();
};
};
if (curState == MOVE){
px = (px + (direction * speed));
if (px >= rangeArr[1].x){
direction = -1;
bossMc.scaleX = (1 * initScaleX);
} else {
if (px <= rangeArr[0].x){
direction = 1;
bossMc.scaleX = (-1 * initScaleX);
};
};
} else {
if (curState == FALL){
fallTime++;
if (fallTime == 180){
this.fixed = true;
this.collidable = false;
hitRec.addGroup(false);
insideMc.gotoAndPlay("back");
};
if (fallTime > 180){
py = (py - 12);
if (py < initLoc.y){
py = initLoc.y;
insideMc.gotoAndStop(insideMc.totalFrames);
};
};
};
};
hitRec.px = (px + hitRec.difLoc.x);
hitRec.py = (py + hitRec.difLoc.y);
};
}
private function startReduce(_arg1:Event):void{
SoundsManager.playSound("boss_howl");
bossMc.parent.removeEventListener("startReduce", startReduce);
}
private function start(_arg1:Event):void{
if (!haveStart){
UI.playMusic("boss_m");
hitRec.createNewGroup();
BossBall.newBallsGroup.addParticle(this);
this.alwaysRepaint = true;
super.paint();
throwTime = 1;
changeState = MOVE;
haveStart = true;
UI.manager.ui_show.uiCon.addChild(healthCon);
healthCon.x = 290;
healthCon.y = 70;
if (modify_reduce.parent != null){
modify_reduce.parent.removeChild(modify_reduce);
};
};
}
private function addInsideMc():void{
var _local1:MovieClip;
var _local2:int;
bossMc.stop();
_local2 = 0;
while (_local2 < bossMc.numChildren) {
_local1 = (bossMc.getChildAt(_local2) as MovieClip);
if (_local1.name != "hitRan"){
_local1.stop();
_local1.visible = false;
insideMcs[_local1.name] = _local1;
switch (_local1.name){
case SHAKED:
case MOVE:
case STAND:
_local1.addFrameScript((_local1.totalFrames - 1), afterAnimation);
break;
case THROW:
_local1.addFrameScript((_local1.totalFrames - 4), throwBomb);
_local1.addFrameScript((_local1.totalFrames - 1), afterAnimation);
case FALL:
_local1.addFrameScript((_local1.totalFrames - 1), afterAnimation);
break;
};
};
_local2++;
};
insideMcs[curState].visible = true;
insideMc = insideMcs[curState];
}
public function set changeState(_arg1:String):void{
if (curState == _arg1){
return;
};
if (insideMc != null){
insideMc.gotoAndStop(1);
insideMc.visible = false;
};
if (insideMcs[_arg1] != null){
insideMc = insideMcs[_arg1];
insideMc.visible = true;
insideMc.gotoAndPlay(1);
};
if ((((_arg1 == SHAKED)) || ((_arg1 == FALL)))){
throwTime = 0;
} else {
throwTime = (((Math.random() * throwInter) / 2) + (throwInter / 2));
};
curState = _arg1;
}
public function hurtByBomb():void{
changeState = FALL;
SoundsManager.playSound("boss_injured");
this.fixed = false;
this.collidable = true;
hitRec.addGroup(true);
fallTime = 0;
hurtsByDrago = 0;
refreshHealth(10);
hitGround = false;
}
private function die():void{
SoundsManager.playSound("boss_injured");
UI.playLevelMusic();
prosCon.dispatchEvent(new Event("bossDie", true));
this.fixed = false;
this.collidable = false;
hitRec.addGroup(false);
haveDie = true;
this.velocity = new Vector(0, -25);
massForce = new Vector(0, 2.5);
masslessForce = new Vector(0, 4.5);
routeArrow.visible = true;
routeArrow.play();
if ((routeArrow.localToGlobal(new Point()).x - 500) > 0){
routeArrow.x = 500;
};
}
override public function resolveCollision(_arg1:Vector, _arg2:Vector, _arg3:Vector, _arg4:Number, _arg5:int, _arg6:AbstractParticle):void{
super.resolveCollision(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
if (!hitGround){
Earthquake.getEarthquake();
hitGround = true;
};
}
function hitByDrago():void{
SoundsManager.playSound("boss_injured");
insideMc.gotoAndPlay("hit");
refreshHealth(6);
hurtsByDrago++;
if (hurtsByDrago > 3){
fallTime = 178;
};
}
private function throwBomb():void{
var _local1:BossBall;
_local1 = new BossBall(getBombLoc(), CannonBallMove.ballMc);
_local1.setFinalRec(DragoRec.dragoRec, false);
_local1.shoot();
}
private function fallBomb():void{
var _local1:BossBall;
_local1 = new BossBall(getBombLoc(), CannonBallMove.ballMc);
_local1.setFinalRec(this, true);
_local1.runSpeed = 18;
_local1.fallDown();
}
private function earthquake():void{
if (curState != FALL){
if (!BossBall.forFirstBomb){
fallBomb();
BossBall.forFirstBomb = true;
};
changeState = SHAKED;
};
}
}
}//package code.game.object.level3
Section 77
//BossBall (code.game.object.level3.BossBall)
package code.game.object.level3 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
public class BossBall extends CannonBallMove {
private var haveBombHit:Boolean;
private var visualTime:int;
public static var forFirstBomb:Boolean;
private static var _newBallsGroup:Group;
public function BossBall(_arg1:Point, _arg2:MovieClip){
super(_arg1, _arg2);
itemNum = AbstractItem.ENEMY;
mc.addFrameScript(6, testBombHit);
}
override protected function hitTarget():void{
if (targetRec != null){
if ((targetRec is Boss)){
if (py <= targetRec.py){
SoundsManager.playSound("boss_injured");
toBomb();
forFirstBomb = false;
};
};
};
}
private function bombDrago():void{
var _local1:Vector;
DragoRec.dragoRec.drago.setPaused(true, 5);
_local1 = new Vector(-6, -5);
_local1.x = ((DragoRec.dragoRec.px > this.px)) ? 6 : -6;
DragoRec.dragoRec.velocity = _local1;
}
override protected function refreshSpeed():void{
if (targetRec == DragoRec.dragoRec){
if (py < 180){
calSpeed();
};
} else {
calSpeed();
};
}
override public function paint():void{
if (!haveShot){
if (visualTime > 0){
visualTime++;
if (visualTime > 250){
if ((visualTime % 10) == 0){
mc.alpha = 0.6;
} else {
if ((visualTime % 10) == 1){
mc.alpha = 1;
if (visualTime > 360){
toBomb();
forFirstBomb = false;
};
};
};
};
};
} else {
if (visualTime > 0){
mc.alpha = 1;
visualTime = 0;
};
};
super.paint();
}
override public function remove():void{
super.remove();
newBallsGroup.removeParticle(this);
}
private function testBombHit():void{
if (!haveBombHit){
if (mc.hitTestObject(targetRec.sprite)){
if (targetRec == DragoRec.dragoRec){
bombDrago();
} else {
if ((targetRec is Boss)){
(targetRec as Boss).hurtByBomb();
};
};
haveBombHit = true;
};
};
}
override public function resolveCollision(_arg1:Vector, _arg2:Vector, _arg3:Vector, _arg4:Number, _arg5:int, _arg6:AbstractParticle):void{
if (!haveDie){
if (haveShot){
if (targetRec == DragoRec.dragoRec){
toBomb();
} else {
if ((((targetRec is Boss)) && ((_arg6 is Boss)))){
SoundsManager.playSound("boss_injured");
toBomb();
forFirstBomb = false;
};
};
} else {
if (!(((_arg6 is Boss)) || ((_arg6 is DragoRec)))){
super.resolveCollision(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
};
};
};
}
public function fallDown():void{
this.fixed = false;
CannonBallMove.ballGroup.removeParticle(this);
BossBall.newBallsGroup.addParticle(this);
visualTime = 1;
speedPoint = new Point(0, -25);
}
public function hitDrago(_arg1:UserEvent, _arg2:RectangleParticle):Vector{
if (_arg2 == DragoRec.dragoRec){
};
return (new Vector());
}
public static function removeGroup():void{
if (_newBallsGroup != null){
_newBallsGroup.removeCollidable(Properties.map.group);
_newBallsGroup = null;
};
forFirstBomb = false;
}
public static function get newBallsGroup():Group{
if (_newBallsGroup == null){
_newBallsGroup = new Group();
APEngine.addGroup(_newBallsGroup);
_newBallsGroup.addCollidable(Properties.map.group);
};
return (_newBallsGroup);
}
}
}//package code.game.object.level3
Section 78
//BossHitRec (code.game.object.level3.BossHitRec)
package code.game.object.level3 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
import flash.utils.*;
import code.game.enemy.*;
public class BossHitRec extends Normal {
var difLoc:Point;
private var boss:Boss;
private var newGroup:Group;
public function BossHitRec(_arg1:Point, _arg2:Sprite, _arg3:Boss){
difLoc = new Point(14, 32);
super(new Point((_arg1.x + difLoc.x), (_arg1.y + difLoc.y)), _arg2);
this.boss = _arg3;
_arg2.visible = false;
this.alwaysRepaint = true;
this.itemNum = AbstractItem.ENEMY;
}
override public function del():void{
if (newGroup == null){
return;
};
Properties.map.removeFromMap(this, Map.THRU);
newGroup.removeCollidable(DragoRec.dragoRec.drago.group);
newGroup = null;
}
private function dragoBounce():void{
DragoRec.dragoRec.velocity = new Vector(0, -20);
}
function addGroup(_arg1:Boolean):void{
if (_arg1){
newGroup.addParticle(this);
} else {
newGroup.removeParticle(this);
};
}
function createNewGroup():void{
newGroup = new Group();
newGroup.addCollidable(DragoRec.dragoRec.drago.group);
APEngine.addGroup(newGroup);
Properties.map.allParticles[Map.THRU].push(this);
}
override public function hitDrago(_arg1:UserEvent, _arg2:RectangleParticle):Vector{
if ((_arg2 is DragoRec)){
SoundsManager.playSound("enemy_step_on_die");
setTimeout(dragoBounce, 5);
(_arg2 as DragoRec).drago.getCai();
boss.hitByDrago();
getScoreShow(score);
};
return (new Vector());
}
}
}//package code.game.object.level3
Section 79
//BossMc (code.game.object.level3.BossMc)
package code.game.object.level3 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
public class BossMc extends MovieClip {
public var shaked:狒狒BOSSshaked;
public var fall:狒狒BOSSfall;
public var throwBomb:狒狒BOSSbombappear;
public var hitRan:MovieClip;
public var move:狒狒BOSSmove;
public var stand:狒狒BOSSbreath;
public function BossMc(){
Properties.bindObjsForInit.push(objInit);
}
private function objInit():void{
new Boss(this.localToGlobal(new Point(0, 0)), this);
}
}
}//package code.game.object.level3
Section 80
//CannonBallMove (code.game.object.level3.CannonBallMove)
package code.game.object.level3 {
import flash.events.*;
import flash.display.*;
import org.cove.ape.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
import flash.utils.*;
public class CannonBallMove extends UserRec {
private var haveDian:Boolean;
private var initLoc:Point;
protected var missile:Boolean;
protected var speed:Number;// = 10
protected var targetRec:AbstractParticle;
protected var haveShot:Boolean;
protected var speedPoint:Point;
protected var mc:MovieClip;
protected var curLoc:Point;
protected var finalLoc:Point;
protected var haveDie:Boolean;
public static const ballClass:Class = (getDefinitionByName("cannonBallMc") as Class);
private static var _ballGroup:Group;
public static var balls:Array = [];
public function CannonBallMove(_arg1:Point, _arg2:MovieClip){
speedPoint = new Point();
speed = 10;
super(_arg1.x, _arg1.y, (_arg2.width * 0.8), (_arg2.height * 0.7), 0, true, 100, 0.2, 1);
itemNum = AbstractItem.SOLID;
this.setDisplay(_arg2);
this.fixed = true;
this.alwaysRepaint = false;
mc = _arg2;
mc.addFrameScript(5, shoot, (mc.totalFrames - 1), del);
mc.stop();
initLoc = _arg1;
curLoc = new Point(_arg1.x, _arg1.y);
Properties.bindForDel.push(delAllBalls);
addToGroup();
balls.push(this);
}
override public function del():void{
var _local1:int;
remove();
_local1 = balls.indexOf(this);
if (_local1 != -1){
balls.splice(_local1, 1);
};
}
protected function hitTarget():void{
}
public function set runSpeed(_arg1:Number):void{
speed = _arg1;
}
protected function addToGroup():void{
ballGroup.addParticle(this);
super.paint();
}
public function shoot():void{
this.fixed = false;
this.collidable = true;
haveShot = true;
mc.stop();
}
public function dianHuo():void{
if (!haveDian){
mc.gotoAndPlay("dian");
haveDian = true;
};
}
protected function calSpeed():void{
finalLoc.x = targetRec.px;
finalLoc.y = targetRec.py;
speedPoint = MathTool.caculateSpeed(curLoc, finalLoc, speed);
}
protected function refreshSpeed():void{
calSpeed();
}
override public function paint():void{
super.paint();
if (haveDie){
return;
};
if (!haveShot){
return;
};
if (missile){
refreshSpeed();
};
hitTarget();
run();
}
public function remove():void{
mc.stop();
ballGroup.removeParticle(this);
}
private function run():void{
px = (px + speedPoint.x);
py = (py + speedPoint.y);
curLoc.x = px;
curLoc.y = py;
show();
}
override public function resolveCollision(_arg1:Vector, _arg2:Vector, _arg3:Vector, _arg4:Number, _arg5:int, _arg6:AbstractParticle):void{
if (!haveDie){
if (haveShot){
if ((((targetRec == null)) || ((targetRec == _arg6)))){
toBomb();
};
} else {
if (!(((_arg6 is Boss)) || ((_arg6 is DragoRec)))){
super.resolveCollision(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
};
};
};
}
protected function toBomb():void{
SoundsManager.playSound("bomb_s");
sprite.dispatchEvent(new Event("bomb"));
mc.gotoAndPlay("bomb");
this.fixed = true;
this.collidable = false;
haveDie = true;
}
public function setFinalRec(_arg1:AbstractParticle, _arg2:Boolean=false):void{
targetRec = _arg1;
finalLoc = new Point();
calSpeed();
this.missile = _arg2;
}
private function show():void{
}
public static function testDianHuo(_arg1:MovieClip):Boolean{
var _local2:*;
for (_local2 in balls) {
if (_arg1.hitTestObject(balls[_local2].sprite)){
balls[_local2].dianHuo();
return (true);
};
};
return (false);
}
public static function get ballGroup():Group{
if (_ballGroup == null){
_ballGroup = new Group();
APEngine.addGroup(_ballGroup);
_ballGroup.addCollidable(Properties.map.group);
_ballGroup.addCollidable(DragoRec.dragoRec.drago.group);
};
return (_ballGroup);
}
public static function get ballMc():MovieClip{
return (new ballClass());
}
public static function delAllBalls():void{
var _local1:*;
for (_local1 in balls) {
balls[_local1].remove();
};
balls = [];
if (_ballGroup != null){
_ballGroup.removeCollidable(Properties.map.group);
_ballGroup.removeCollidable(DragoRec.dragoRec.drago.group);
_ballGroup = null;
};
BossBall.removeGroup();
}
}
}//package code.game.object.level3
Section 81
//CannonBallStaticMc (code.game.object.level3.CannonBallStaticMc)
package code.game.object.level3 {
import flash.events.*;
import flash.display.*;
import org.cove.ape.*;
import flash.geom.*;
import code.game.object.*;
import code.game.drago.*;
import flash.utils.*;
public class CannonBallStaticMc extends Sprite {
private var diaLoc:Point;
private var diaMc:MovieClip;
private var cb:CannonBallMove;
private var diaRec:UserRec;
private var solidRec:RectangleParticle;
public function CannonBallStaticMc():void{
setTimeout(objInit, 150);
}
private function removeDia():void{
Properties.map.removeParticle(diaRec, 0);
Properties.removeEnterFrame(enter);
}
private function objInit():void{
this.visible = false;
cb = new CannonBallMove(this.localToGlobal(new Point(0, 0)), CannonBallMove.ballMc);
if (this.name == "staticCannon0"){
solidRec = Properties.map.createOneArticle(this.parent["solid_plat"], AbstractItem.SOLID);
Properties.map.group.addParticle(solidRec);
diaMc = this.parent["diamondRed"];
diaLoc = diaMc.localToGlobal(new Point(0, 0));
diaRec = new UserRec(diaLoc.x, diaLoc.y, diaMc.width, diaMc.height, 0, true);
diaRec.setDisplay(diaMc);
diaRec.collidable = true;
diaRec.massForce = new Vector(0, 0);
diaRec.masslessForce = new Vector(0, 1.3);
Properties.map.group.addParticle(diaRec);
cb.setFinalRec(solidRec, true);
cb.sprite.addEventListener("bomb", bomb, false, 0, true);
};
}
private function bomb(_arg1:Event):void{
diaRec.fixed = false;
Properties.bindFrameObjs.push(enter);
}
private function enter():void{
var _local1:Point;
if ((((Math.abs((DragoRec.dragoRec.px - diaRec.px)) <= Diamond.HIT_W)) && ((Math.abs((DragoRec.dragoRec.py - diaRec.py)) <= Diamond.HIT_H)))){
Diamond.remove(diaMc);
_local1 = this.parent.globalToLocal(diaMc.localToGlobal(new Point()));
this.parent.addChild(diaMc);
diaMc.x = _local1.x;
diaMc.y = _local1.y;
removeDia();
} else {
if (diaMc.localToGlobal(new Point(0, 0)).y > 500){
removeDia();
};
};
}
}
}//package code.game.object.level3
Section 82
//DragoFireBall (code.game.object.level3.DragoFireBall)
package code.game.object.level3 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import code.game.object.level6.*;
import flash.utils.*;
public class DragoFireBall {
private var totalDis:Number;// = 0
private var fireCon:Sprite;
private var speedx:Number;// = 7
private var fireMc:MovieClip;
private static const ballClass:Class = (getDefinitionByName("dragoFireMc") as Class);
public function DragoFireBall(_arg1:MovieClip, _arg2:MovieClip){
var _local3:Point;
speedx = 7;
totalDis = 0;
super();
if (_arg2.parent != null){
fireCon = (_arg2.parent.parent as Sprite);
} else {
return;
};
if (fireCon == null){
return;
};
_local3 = fireCon.globalToLocal(_arg1.localToGlobal(new Point(28.5, -5.1)));
fireMc = new ballClass();
fireMc.x = _local3.x;
fireMc.y = _local3.y;
fireCon.addChild(fireMc);
if (_arg1.name == "fire1"){
speedx = 7;
} else {
if (_arg1.name == "fire0"){
speedx = -7;
fireMc.scaleX = -1;
};
};
Properties.bindFrameObjs.push(enterFrame);
}
private function enterFrame():void{
fireMc.x = (fireMc.x + speedx);
totalDis = (totalDis + speedx);
if (((((CannonBallMove.testDianHuo(fireMc)) || (TorchLight.testLight(fireMc)))) || ((((totalDis > 600)) || ((totalDis < -600)))))){
Properties.removeEnterFrame(enterFrame);
fireCon.removeChild(fireMc);
};
}
}
}//package code.game.object.level3
Section 83
//DropDoorMc (code.game.object.level3.DropDoorMc)
package code.game.object.level3 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
public class DropDoorMc extends MovieClip {
private var recAbsLoc:Point;
private var mc0:Sprite;
public var gotland_mc:MovieClip;
private var passLoc:Point;
private var gotland:MovieClip;
private var mc0AbsLoc:Point;
private var rec:RectangleParticle;
private var botLocy:Number;
public var _mc0:MovieClip;
public var _mc1:level3地面1;
public function DropDoorMc(){
Properties.bindObjsForInit.push(objInit);
}
private function enterFrame():void{
if (DragoRec.dragoRec.px > passLoc.x){
if (rec.fixed){
rec.fixed = false;
SoundsManager.playSound("stone_door_drop");
};
};
if (!rec.fixed){
recAbsLoc = rec.sprite.localToGlobal(new Point());
mc0AbsLoc = mc0.localToGlobal(new Point());
mc0.y = (mc0.y + (recAbsLoc.y - mc0AbsLoc.y));
if (mc0.y > botLocy){
mc0.y = botLocy;
gotland.play();
rec.fixed = true;
Properties.removeEnterFrame(enterFrame);
};
};
}
private function objInit():void{
mc0 = this["_mc0"];
gotland = this["gotland_mc"];
gotland.stop();
botLocy = gotland.y;
botLocy = (botLocy - (mc0.height / 2));
passLoc = this["_mc1"].localToGlobal(new Point());
this["_mc1"].visible = false;
rec = Properties.map.createOneArticle(mc0, AbstractItem.SOLID);
Properties.map.group.addParticle(rec);
Properties.map.allParticles[Map.SOLID].push(rec);
Properties.bindFrameObjs.push(enterFrame);
}
}
}//package code.game.object.level3
Section 84
//DropDownPlat (code.game.object.level3.DropDownPlat)
package code.game.object.level3 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
public class DropDownPlat extends MovieClip {
public function DropDownPlat(){
Properties.bindObjsForInit.push(objInit);
}
private function objInit():void{
new DropDownPlatRec(this.localToGlobal(new Point(0, 0)), this);
}
}
}//package code.game.object.level3
Section 85
//DropDownPlatRec (code.game.object.level3.DropDownPlatRec)
package code.game.object.level3 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
public class DropDownPlatRec extends UserRec {
private var hitTime:int;
private var haveHit:Boolean;
private var count:int;
private var hiting:Boolean;
private var dropSpeed:Number;// = 0.4
public function DropDownPlatRec(_arg1:Point, _arg2:Sprite){
dropSpeed = 0.4;
super(_arg1.x, _arg1.y, _arg2.width, _arg2.height, 0, true, 1, 0, 0.1);
itemNum = AbstractItem.OTHERS;
this.setDisplay(_arg2);
massForce = new Vector(0, 0);
masslessForce = new Vector(0, 0.6);
Properties.map.group.addParticle(this);
Properties.map.allParticles[Map.SOLID].push(this);
}
override public function paint():void{
if (hiting){
hitTime++;
if (hitTime > 3){
hiting = false;
hitTime = 0;
};
};
super.paint();
if (((haveHit) && (!(hiting)))){
if (count >= 30){
py = (py + dropSpeed);
if (dropSpeed < 2){
dropSpeed = (dropSpeed + 0.2);
};
if (this.sprite.localToGlobal(new Point(0, 0)).y > 400){
Properties.map.removeParticle(this, Map.SOLID);
};
} else {
count++;
};
};
}
public function hitDrago(_arg1:UserEvent, _arg2:RectangleParticle):void{
if (!haveHit){
if (_arg1.data["mtd"].y < 0){
this.alwaysRepaint = true;
haveHit = true;
_arg2 = null;
};
};
if (_arg1.data["mtd"].y > 0){
hiting = true;
hitTime = 0;
};
}
}
}//package code.game.object.level3
Section 86
//ElementCreateMc (code.game.object.level3.ElementCreateMc)
package code.game.object.level3 {
import flash.events.*;
import flash.geom.*;
import code.game.object.*;
import code.game.object.level2.*;
public class ElementCreateMc extends Element {
private var curGloLoc:Point;
private var alphaNum:Number;// = -2
private var gloDragoLoc:Point;
private var created:Boolean;
public function ElementCreateMc(){
alphaNum = -2;
super(this.localToGlobal(new Point(0, 0)));
this.parent.addEventListener("bossDie", bossHaveDie, false, 0, true);
}
public function resetLoc(_arg1:Number, _arg2:Number):void{
loc.x = _arg1;
loc.y = _arg2;
refresh();
}
override protected function enterFrame():void{
if (alphaNum < 1){
alphaNum = (alphaNum + 0.05);
if (alphaNum >= 1){
alphaNum = 1;
};
};
if (created){
this.alpha = alphaNum;
hitTest();
} else {
if (alphaNum >= 0){
created = true;
};
};
}
override protected function gotDrago():void{
toSuper();
this.alpha = 0;
alphaNum = -(int(((Math.random() * 2) + 2)));
created = false;
}
private function hitTest():void{
gloDragoLoc = Properties.map.level.dragoGlobalLoc;
curGloLoc = this.localToGlobal(new Point());
if (Math.abs((gloDragoLoc.x - curGloLoc.x)) < wid){
if (Math.abs((gloDragoLoc.y - curGloLoc.y)) < hei){
gotDrago();
};
};
}
public function move(_arg1:Number, _arg2:Number):void{
loc.x = (loc.x + _arg1);
loc.y = (loc.y + _arg2);
refresh();
}
private function bossHaveDie(_arg1:Event):void{
Properties.removeEnterFrame(enterFrame);
if (this.parent != null){
this.parent.removeChild(this);
};
}
private function refresh():void{
this.x = loc.x;
this.y = loc.y;
}
}
}//package code.game.object.level3
Section 87
//FireBall (code.game.object.level3.FireBall)
package code.game.object.level3 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
import code.game.enemy.*;
public class FireBall extends Normal {
private var initLoc:Point;
private var haveReverse:Boolean;
private var mc:MovieClip;
public function FireBall(_arg1:Point, _arg2:MovieClip){
super(_arg1, _arg2, false, 1);
initLoc = _arg1;
mc = _arg2;
mc.addFrameScript((mc.totalFrames - 1), reverseOver);
this.alwaysCollision = true;
this.setDisplay(_arg2);
itemNum = AbstractItem.ENEMY;
Properties.map.group.addParticle(this);
Properties.map.allParticles[Map.ENEMY].push(this);
massForce = new Vector(0, 0);
masslessForce = new Vector(0, 0.9);
this.velocity = new Vector(0, -13);
SoundsManager.playSound("magma_fire");
}
override public function del():void{
Properties.map.removeParticle(this, Map.ENEMY);
}
override public function paint():void{
super.paint();
if (!haveReverse){
if (this.velocity.y > 0){
haveReverse = true;
mc.gotoAndPlay("reverse");
};
};
if (this.py > initLoc.y){
haveDie = true;
mc.stop();
testRemove();
};
}
override public function resolveCollision(_arg1:Vector, _arg2:Vector, _arg3:Vector, _arg4:Number, _arg5:int, _arg6:AbstractParticle):void{
if ((_arg6 is DragoRec)){
(_arg6 as DragoRec).drago.setPaused(true, 25);
};
}
private function reverseOver():void{
mc.stop();
}
}
}//package code.game.object.level3
Section 88
//FireBallEject (code.game.object.level3.FireBallEject)
package code.game.object.level3 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import code.game.drago.*;
import flash.utils.*;
public class FireBallEject extends MovieClip {
private var initLoc:Point;
private var count:int;
private static const ballClass:Class = (getDefinitionByName("fireBallMc") as Class);
public function FireBallEject(){
Properties.bindFrameObjs.push(enterframe);
this.visible = false;
initLoc = this.localToGlobal(new Point(0, 0));
}
private function enterframe():void{
if (Math.abs((DragoRec.dragoRec.px - initLoc.x)) < 600){
if (Math.abs((DragoRec.dragoRec.py - initLoc.y)) < 600){
count++;
if (count > 150){
new FireBall(initLoc, new ballClass());
count = 0;
};
};
};
}
}
}//package code.game.object.level3
Section 89
//FireStick (code.game.object.level3.FireStick)
package code.game.object.level3 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
public class FireStick extends MovieClip {
public function FireStick(){
Properties.bindObjsForInit.push(objInit);
}
private function objInit():void{
new FireStickRec(this.localToGlobal(new Point(0, 0)), this);
}
}
}//package code.game.object.level3
Section 90
//FireStickRec (code.game.object.level3.FireStickRec)
package code.game.object.level3 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.game.drago.*;
import code.game.enemy.*;
public class FireStickRec extends Normal {
private var curAngle:int;
private var halfWid:int;
private var curLoc:Point;
public function FireStickRec(_arg1:Point, _arg2:Sprite){
super(_arg1, _arg2, true, 1, 0, 0.1);
itemNum = AbstractItem.OTHERS;
this.setDisplay(_arg2);
this.alwaysRepaint = true;
halfWid = ((this.width / 2) + 15);
Properties.map.group.addParticle(this);
}
override public function paint():void{
curLoc = sprite.localToGlobal(new Point());
if (curLoc.x < -(halfWid)){
return;
};
if (curLoc.y < -(halfWid)){
return;
};
if (curLoc.x > (580 + halfWid)){
return;
};
if (curLoc.y > (380 + halfWid)){
return;
};
curAngle++;
if (curAngle > 360){
curAngle = 0;
};
angle = curAngle;
if (!this.collidable){
if (!DragoRec.dragoRec.drago.collidableState){
this.collidable = true;
};
};
super.paint();
}
override public function hitDrago(_arg1:UserEvent, _arg2:RectangleParticle):Vector{
if (this.collidable){
dragoGetHit();
this.collidable = false;
};
return (new Vector());
}
}
}//package code.game.object.level3
Section 91
//Level30MiddleCheckMc (code.game.object.level3.Level30MiddleCheckMc)
package code.game.object.level3 {
import flash.display.*;
import code.game.object.level2.*;
import code.game.data.*;
public class Level30MiddleCheckMc extends MiddleCheckPointMc {
public static var ifTouch:Boolean;
override protected function del():void{
if (LevelData.curState == LevelData.TO_NEXT_PART){
ifTouch = false;
};
}
override protected function set touchDrago(_arg1:Boolean):void{
ifTouch = _arg1;
}
override protected function get touchDrago():Boolean{
return (ifTouch);
}
override protected function dealOthers():void{
var _local1:Sprite;
_local1 = (this.parent as Sprite);
if (_local1["start_stone_mc"] != null){
_local1["start_stone_mc"].remove();
};
}
}
}//package code.game.object.level3
Section 92
//MagmaMc (code.game.object.level3.MagmaMc)
package code.game.object.level3 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import code.game.drago.*;
import code.ui.*;
import code.game.data.*;
public class MagmaMc extends Sprite {
private var bounds:Array;
public function MagmaMc(){
Properties.bindObjsForInit.push(objInit);
Properties.bindFrameObjs.push(enterFrame);
}
private function enterFrame():void{
if (DragoRec.dragoRec.py > bounds[1]){
if ((((DragoRec.dragoRec.px > bounds[0])) && ((DragoRec.dragoRec.px < bounds[2])))){
if (LevelData.health > 0){
Properties.removeEnterFrame(enterFrame);
LevelData.health = 1;
DragoRec.dragoRec.drago.setPaused(true, 5);
};
};
};
}
private function objInit():void{
var _local1:Rectangle;
_local1 = this.getBounds(UI._root);
bounds = [(_local1.x - Drago.HALF_WIDTH), _local1.y, ((_local1.x + this.width) + Drago.HALF_WIDTH)];
}
public function move(_arg1:Number, _arg2:Number):void{
this.x = (this.x + _arg1);
bounds[0] = (bounds[0] + _arg1);
bounds[2] = (bounds[2] + _arg1);
this.y = (this.y + _arg2);
bounds[1] = (bounds[1] + _arg2);
}
}
}//package code.game.object.level3
Section 93
//MoCircleRecLevel3 (code.game.object.level3.MoCircleRecLevel3)
package code.game.object.level3 {
import flash.display.*;
import code.game.*;
import code.game.object.level1.*;
public class MoCircleRecLevel3 extends MoCircleRec {
private var depthy:Number;
private var bottomLoc:int;
private var topLoc:int;
private var leftLoc:int;
public function MoCircleRecLevel3(_arg1:Sprite, _arg2:Array, _arg3:int, _arg4:int){
super(_arg1, _arg2, _arg3, _arg4);
bottomLoc = (len / 4);
leftLoc = (len / 2);
topLoc = (bottomLoc * 3);
}
public function get setDirection():int{
return (direction);
}
public function set setDirection(_arg1:int):void{
direction = _arg1;
}
private function dispathEvent(_arg1:int):void{
var _local2:UserEvent;
_local2 = new UserEvent("forRotation");
_local2.data["direction"] = _arg1;
sprite.dispatchEvent(_local2);
}
override public function hitDrago(_arg1:UserEvent):void{
if (_arg1.data["mtd"].y < 0){
if (!ifHitDrago){
ifHitDrago = true;
depthy = _arg1.data["mtd"].y;
};
};
if (direction == 0){
if (((ifHitDrago) && ((depthy < 0)))){
if (curLoc == 0){
dispathEvent(1);
} else {
if (curLoc == leftLoc){
dispathEvent(-1);
};
};
};
};
if (ifHitDrago){
noTime = 0;
};
}
override public function timerFun():void{
testHitFalse();
if (direction == 0){
return;
};
super.run();
if ((((((((curLoc == 0)) || ((curLoc == bottomLoc)))) || ((curLoc == leftLoc)))) || ((curLoc == topLoc)))){
direction = 0;
};
}
}
}//package code.game.object.level3
Section 94
//MotianlunLevel3 (code.game.object.level3.MotianlunLevel3)
package code.game.object.level3 {
import flash.display.*;
import code.game.*;
import flash.geom.*;
import code.*;
import code.game.object.level1.*;
public class MotianlunLevel3 extends Motianlun {
private var canPlat:String;
public function MotianlunLevel3(_arg1:Point, _arg2:Sprite){
var _local3:*;
super(_arg1, _arg2);
canPlat = _arg2.name.slice(1);
for (_local3 in lunzi) {
lunzi[_local3].sprite.addEventListener("forRotation", forRotation, false, 0, true);
};
}
override protected function timerFun():void{
if (lunzi[0].setDirection != 0){
frameRotation();
};
ratation();
}
private function forRotation(_arg1:UserEvent):void{
var _local2:int;
var _local3:*;
_local2 = _arg1.data["direction"];
direction = _local2;
if ((((((canPlat == "left")) && ((direction == -1)))) || ((((canPlat == "right")) && ((direction == 1)))))){
SoundsManager.playSound("tianping");
for (_local3 in lunzi) {
lunzi[_local3].setDirection = _local2;
};
};
}
override protected function valueInit():void{
recNums = 4;
direction = 0;
lunziStr = "level3_pf";
lunziClass = MoCircleRecLevel3;
}
}
}//package code.game.object.level3
Section 95
//MotianlunMc (code.game.object.level3.MotianlunMc)
package code.game.object.level3 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
public class MotianlunMc extends MovieClip {
public function MotianlunMc(){
Properties.bindObjsForInit.push(objInit);
}
private function objInit():void{
new MotianlunLevel3(this.localToGlobal(new Point(0, 0)), this);
}
}
}//package code.game.object.level3
Section 96
//MovePlat (code.game.object.level3.MovePlat)
package code.game.object.level3 {
import flash.display.*;
import code.game.*;
import flash.geom.*;
import code.game.object.level0.*;
public class MovePlat extends MoveThru {
private var haveHit:Boolean;
public function MovePlat(_arg1:Point, _arg2:Sprite){
super(_arg1, _arg2);
}
override protected function setSpeed():void{
speedx = StartStone.rollX;
speedy = MovePlat2.rollY;
}
override public function paint():void{
if (haveHit){
super.paint();
};
}
override public function hitDrago(_arg1:UserEvent):void{
if (!haveHit){
if (_arg1.data["mtd"].y < 0){
if (this.collidable){
haveHit = true;
};
};
};
super.hitDrago(_arg1);
}
}
}//package code.game.object.level3
Section 97
//MovePlat2 (code.game.object.level3.MovePlat2)
package code.game.object.level3 {
import flash.display.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.game.data.*;
import code.game.object.level0.*;
public class MovePlat2 extends MoveThru {
private var magmaMc:MagmaMc;
private var stopMc:Sprite;
private var startMove:int;
public static const rollY:Number = 1.5;
public static var forAnniu:MovePlat2;
public function MovePlat2(_arg1:Point, _arg2:Sprite){
super(_arg1, _arg2);
magmaMc = _arg2.parent["magmaMc"];
forAnniu = this;
}
override protected function setSpeed():void{
speedx = 1.7;
speedy = 1.7;
}
override public function paint():void{
if (startMove == 1){
Properties.map.level.modifyY(1);
magmaMc.move(0, -0.4);
return;
};
if (startMove == 2){
Properties.map.level.modifyY(rollY);
magmaMc.move(0, -(rollY));
if (stopMc.localToGlobal(new Point(0, 0)).y > 0){
startMove = 0;
Properties.map.level.setMapPaused(1, false);
Properties.map.level.setMapPaused(3, false);
LevelData.mapTopBot[LevelData.curLevel][LevelData.curMiniLevel] = [0, 0, 4315, 1965];
};
};
super.paint();
}
override protected function moveInit():void{
stopMc = thruMc.parent.parent["stopMc"];
stopMc.visible = false;
super.moveInit();
this.alwaysRepaint = false;
this.visible = false;
Properties.map.removeParticle(this, Map.THRU);
}
public function addToGroup():void{
this.visible = true;
Properties.map.group.addParticle(this);
Properties.map.allParticles[Map.THRU].push(this);
Properties.map.level.setMapPaused(1, true);
Properties.map.level.setMapPaused(3, true);
startMove = 1;
alwaysRepaint = true;
}
override public function hitDrago(_arg1:UserEvent):void{
if (startMove == 1){
if (_arg1.data["mtd"].y < 0){
if (this.collidable){
startMove = 2;
};
};
};
super.hitDrago(_arg1);
}
}
}//package code.game.object.level3
Section 98
//MovePlatMc (code.game.object.level3.MovePlatMc)
package code.game.object.level3 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
public class MovePlatMc extends MovieClip {
public var m:level3_plat;
public var h:MovieClip;
public function MovePlatMc(){
Properties.bindObjsForInit.push(objInit);
}
private function objInit():void{
if (this.name == "for_anniu1"){
new MovePlat2(this["m"].localToGlobal(new Point(0, 0)), this);
} else {
new MovePlat(this["m"].localToGlobal(new Point(0, 0)), this);
};
}
}
}//package code.game.object.level3
Section 99
//RiseDoorMc (code.game.object.level3.RiseDoorMc)
package code.game.object.level3 {
import flash.events.*;
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
public class RiseDoorMc extends MovieClip {
private var hei:Number;
private var startRise:Boolean;
private var rec:RectangleParticle;
private var rised:Number;
public function RiseDoorMc(){
Properties.bindObjsForInit.push(objInit);
}
private function enterFrame():void{
if (startRise){
rec.py = (rec.py - 3);
this.y = (this.y - 3);
rised = (rised + 3);
if (rised > hei){
Properties.map.removeParticle(rec, Map.SOLID);
Properties.removeEnterFrame(enterFrame);
};
} else {
if (this.localToGlobal(new Point(0, 0)).x < 600){
startRise = true;
};
};
}
private function objInit():void{
rec = Properties.map.createOneArticle((this as Sprite), AbstractItem.SOLID);
Properties.map.group.addParticle(rec);
Properties.map.allParticles[Map.SOLID].push(rec);
this.parent.addEventListener("bossDie", bossHaveDie, false, 0, true);
hei = this.height;
}
private function bossHaveDie(_arg1:Event):void{
Properties.bindFrameObjs.push(enterFrame);
}
}
}//package code.game.object.level3
Section 100
//SpringObjectLevel3 (code.game.object.level3.SpringObjectLevel3)
package code.game.object.level3 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.game.object.level0.*;
public class SpringObjectLevel3 extends AbsSpringObject {
private var solidRec:RectangleParticle;
public function SpringObjectLevel3(_arg1:Point, _arg2:Sprite):void{
super(_arg1, _arg2);
}
override protected function objInit():void{
if (mc.name == "an_niu1"){
} else {
if (mc.name == "an_niu0"){
solidRec = Properties.map.createOneArticle(mc.parent["for_anniu0"], AbstractItem.SOLID);
mc.parent["for_anniu0"].visible = false;
};
};
}
override protected function executeFun():void{
if (mc.name == "an_niu1"){
MovePlat2.forAnniu.addToGroup();
MovePlat2.forAnniu = null;
} else {
if (mc.name == "an_niu0"){
Properties.map.group.addParticle(solidRec);
Properties.map.allParticles[Map.SOLID].push(solidRec);
mc.parent["for_anniu0"].visible = true;
};
};
Properties.map.removeParticle(this, Map.SOLID);
}
}
}//package code.game.object.level3
Section 101
//SpringObjectLevel3Mc (code.game.object.level3.SpringObjectLevel3Mc)
package code.game.object.level3 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import code.game.object.level4.*;
public class SpringObjectLevel3Mc extends MovieClip {
public function SpringObjectLevel3Mc(){
Properties.bindObjsForInit.push(objInit);
}
private function objInit():void{
if (this.name.slice(0, -1) == "level40_anniu"){
new SpringObjectLevel4(this.localToGlobal(new Point(0, 0)), this);
} else {
new SpringObjectLevel3(this.localToGlobal(new Point(0, 0)), this);
};
}
}
}//package code.game.object.level3
Section 102
//StartStone (code.game.object.level3.StartStone)
package code.game.object.level3 {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
import code.game.object.level2.*;
import code.game.data.*;
public class StartStone extends MovieClip {
public var stop_mc:MovieClip;
private var tempNum:int;
private var haveRun:int;
private var stoneEnd:MovieClip;
private var stopMc:Sprite;
private var rollSoundPlaying:Boolean;
private var defaultTestDragoDie:Function;
public var stone0:MovieClip;
public var stone1:MovieClip;
private var state:int;
public var start_mc:MovieClip;
private var backSpeed:Number;// = 0
private var startLoc:Point;
private var stopLoc:Point;
private var stoneStart:MovieClip;
public static const rollX:int = 2;
public function StartStone(){
backSpeed = 0;
super();
Properties.bindFrameObjs.push(enterFun);
Properties.bindForDel.push(del);
startLoc = this["start_mc"].localToGlobal(new Point(0, 0));
this["start_mc"].visible = false;
stopMc = this["stop_mc"];
stopMc.visible = false;
stoneStart = this["stone0"];
stoneStart.stop();
stoneStart.visible = false;
stoneEnd = this["stone1"];
stoneEnd.stop();
stoneEnd.visible = false;
}
private function stoneEndLast():void{
Properties.map.level.setMapPaused(0, false);
Properties.map.level.setMapPaused(2, false);
stoneEnd.stop();
Properties.map.level.testDragoDie = defaultTestDragoDie;
}
private function del():void{
SoundsManager.stopSound("stone_roll");
}
private function backToMotion(_arg1:Event):void{
if (state == 0){
stoneStartRun();
if (backSpeed < 10){
backSpeed = (backSpeed + 0.2);
};
Properties.map.level.modifyX(-(backSpeed));
tempNum = (tempNum + backSpeed);
if (tempNum > 700){
Properties.map.level.modifyX((tempNum - 700));
tempNum = 700;
state = 1;
haveRun = tempNum;
};
testPlayRollSound(true);
} else {
if (state == 1){
stoneStartRun();
tempNum = (tempNum + backSpeed);
if (tempNum > 900){
state = 2;
};
} else {
if (state == 2){
stoneStartRun();
Properties.map.level.modifyX(backSpeed);
haveRun = (haveRun - backSpeed);
if (haveRun <= 0){
Properties.map.level.modifyX(haveRun);
state = 3;
};
testPlayRollSound(false);
} else {
this.removeEventListener(Event.ENTER_FRAME, backToMotion);
Properties.map.level.setPaused(false);
DragoRec.dragoRec.drago.setPaused(false);
Properties.map.level.setMapPaused(0, true);
Properties.map.level.setMapPaused(2, true);
defaultTestDragoDie = Properties.map.level.testDragoDie;
Properties.map.level.testDragoDie = testDragoDie;
Properties.bindFrameObjs.push(screenAutoRun);
};
};
};
}
private function testPlayRollSound(_arg1:Boolean):void{
var _local2:Point;
_local2 = stoneStart.localToGlobal(new Point());
if (_arg1){
if (!rollSoundPlaying){
if (_local2.x < 900){
rollSoundPlaying = true;
SoundsManager.playSound("stone_roll", true, 5);
};
};
} else {
if (rollSoundPlaying){
if (_local2.x > 800){
rollSoundPlaying = false;
SoundsManager.stopSound("stone_roll");
};
};
};
}
private function screenAutoRun():void{
Properties.map.level.modifyX(rollX);
stopLoc = stopMc.localToGlobal(new Point(0, 0));
if (stopLoc.x > 580){
Properties.removeEnterFrame(screenAutoRun);
stoneEnd.visible = true;
stoneEnd.play();
stoneEnd.addFrameScript(14, stoneGot, (stoneEnd.totalFrames - 1), stoneEndLast);
};
}
private function stoneStartRun():void{
stoneStart.rotation = (stoneStart.rotation - 1);
stoneStart.x = (stoneStart.x - rollX);
}
private function testDragoDie():void{
if (defaultTestDragoDie != null){
defaultTestDragoDie();
};
if (Properties.map.level.dragoGlobalLoc.x > 580){
if (LevelData.health > 0){
LevelData.health = 1;
DragoRec.dragoRec.drago.setPaused(true, 5);
};
};
}
private function enterFun():void{
if (((((DragoRec.dragoRec.px - startLoc.x) < 50)) && (((DragoRec.dragoRec.py - startLoc.y) < 200)))){
this.stop();
this.removeChild(this["start_mc"]);
Properties.removeEnterFrame(enterFun);
Properties.map.level.setPaused(true);
DragoRec.dragoRec.drago.setPaused(true);
Earthquake.getEarthquake(35, false);
SoundsManager.playSound("earth_quake", true, 2, 0.4);
stoneStart.visible = true;
this.addEventListener(Event.ENTER_FRAME, backToMotion, false, 0, true);
};
}
public function remove():void{
var stoneEndLastFrame:Function;
stoneEndLastFrame = function ():void{
stoneEnd.stop();
stoneEnd.addFrameScript((stoneEnd.totalFrames - 1), null);
};
Properties.removeEnterFrame(enterFun);
LevelData.mapTopBot[LevelData.curLevel][LevelData.curMiniLevel] = [0, 0, 6520, 40];
FairiesToElement.refreshSprites();
stoneEnd.visible = true;
stoneEnd.play();
stoneEnd.addFrameScript((stoneEnd.totalFrames - 1), stoneEndLastFrame);
}
private function stoneGot():void{
Earthquake.getEarthquake(20);
}
}
}//package code.game.object.level3
Section 103
//SuperPowerFire (code.game.object.level3.SuperPowerFire)
package code.game.object.level3 {
import flash.display.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
import flash.utils.*;
import code.game.data.*;
public class SuperPowerFire extends SuperPower {
private var fireDragoMc:MovieClip;
private var canFire:Boolean;// = true
public static var superPowerFire:SuperPowerFire;
public function SuperPowerFire(){
canFire = true;
super(this);
superDragoStr = "dragoMcCla3";
}
override protected function pressOnLandUpFun():void{
DragoRec.dragoRec.onCollistion2 = null;
DragoRec.dragoRec.drago.changeState("stand");
_onStandSuper = false;
if (fireDragoMc != null){
fireDragoMc.gotoAndStop(10);
};
stopFire();
}
private function stopFire():void{
if (fireDragoMc != null){
fireDragoMc.stop();
};
}
private function toFire():void{
if (!canFire){
return;
};
canFire = false;
setTimeout(backCanFire, 500);
DragoRec.dragoRec.drago.getleftRight = [];
DragoRec.dragoRec.drago.changeState("fire");
fireDragoMc = DragoRec.dragoRec.drago.insideMc;
fireDragoMc.addFrameScript(3, fire);
fireDragoMc.gotoAndPlay(4);
_onStandSuper = true;
}
private function backCanFire():void{
canFire = true;
}
override public function toSuperState():void{
super.toSuperState();
normal_drago = DragoRec.dragoRec.drago.switchDrago(superDrago);
DragoRec.dragoRec.drago.setStateSpeed(1, 1);
DragoRec.dragoRec.drago.setBoundNumRate(1);
DragoRec.dragoRec.drago.superKeyOnLand = pressOnLandFun;
DragoRec.dragoRec.drago.superKeyOnLandUp = pressOnLandUpFun;
DragoRec.dragoRec.drago.superKeyOnAir = null;
DragoRec.dragoRec.onGotLand = gotLandFun;
SuperPower._pressOnAirGotLand = null;
}
override protected function pressOnLandFun():void{
if (DragoRec.dragoRec.onCollistion2 != toFire){
DragoRec.dragoRec.onCollistion2 = toFire;
};
}
override protected function bindObjDel():void{
if (curSuperPower == this){
super.bindObjDel();
switch (LevelData.curState){
case LevelData.TO_NEXT_PART:
break;
case LevelData.LEVEL_FAILED:
break;
case LevelData.WORLD_COMPLETE:
break;
};
};
}
private function fire():void{
SoundsManager.playSound("drago_fire");
new DragoFireBall(fireDragoMc, superDrago);
}
public static function toSuper():void{
if ((curSuperPower is SuperPowerFire)){
return;
};
if (superPowerFire == null){
superPowerFire = new (SuperPowerFire);
};
superPowerFire.toSuperState();
}
}
}//package code.game.object.level3
Section 104
//ArrowRec (code.game.object.level4.ArrowRec)
package code.game.object.level4 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.enemy.*;
public class ArrowRec extends Normal {
private var tempInt:int;
private var arrowMc:Sprite;
private var dir:int;
private var globalLoc:Point;
public function ArrowRec(_arg1:Point, _arg2:Sprite, _arg3:int){
super(_arg1, _arg2, false, 1);
this.velocity = new Vector((_arg3 * 11), -12);
tempInt = 1;
this.dir = _arg3;
arrowMc = _arg2;
if (PathPlatMc.TEST){
this.collidable = false;
};
this.setDisplay(_arg2);
this.itemNum = AbstractItem.ENEMY;
Properties.map.group.addParticle(this);
Properties.map.allParticles[Map.ENEMY].push(this);
SoundsManager.playSound("arrow_shoot");
}
override public function del():void{
Properties.map.removeParticle(this, Map.ENEMY);
}
override public function paint():void{
super.paint();
if (tempInt > 0){
this.changePosition = new Vector(0, -1);
tempInt++;
if (tempInt > 80){
tempInt = 0;
};
};
arrowMc.rotation = Tool.calculateAngle(new Point(prev.x, prev.y), new Point(curr.x, curr.y));
globalLoc = arrowMc.localToGlobal(new Point(0, 0));
if ((((((((globalLoc.x < -50)) || ((globalLoc.x > 630)))) || ((globalLoc.y > 500)))) || ((globalLoc.y < -50)))){
del();
};
}
}
}//package code.game.object.level4
Section 105
//BirdMc (code.game.object.level4.BirdMc)
package code.game.object.level4 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
public class BirdMc extends BitmapMc {
public function BirdMc(){
Properties.bindObjsForInit.push(objInit);
(this as MovieClip);
}
private function objInit():void{
new BirdRec(this.localToGlobal(new Point()), this);
}
}
}//package code.game.object.level4
Section 106
//BirdRec (code.game.object.level4.BirdRec)
package code.game.object.level4 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import flash.utils.*;
import code.game.data.*;
import code.game.enemy.*;
public class BirdRec extends Normal {
private var speedx:Number;// = -4
private var birdMc:MovieClip;
private var bird0:Boolean;
private var inScreen:Boolean;
public function BirdRec(_arg1:Point, _arg2:MovieClip){
speedx = -4;
super(_arg1, _arg2, true);
getRange(_arg2.parent[("level4_range" + _arg2.name.slice(-1))]);
setDisplay(_arg2);
birdMc = _arg2;
if (PathPlatMc.TEST){
this.collidable = false;
};
this.alwaysRepaint = true;
this.itemNum = AbstractItem.ENEMY;
Properties.map.group.addParticle(this);
Properties.map.allParticles[Map.ENEMY].push(this);
if ((((LevelData.curMiniLevel == 0)) && ((birdMc.name == "level4_bird0")))){
bird0 = true;
};
}
override public function del():void{
Properties.map.removeParticle(this, Map.ENEMY);
}
private function playSound():void{
SoundsManager.playSound("eagle_howl0", true, 0, 0.9);
}
override public function paint():void{
px = (px + speedx);
if (px > rangeArr[1].x){
speedx = -4;
birdMc.scaleX = 1;
} else {
if (px < rangeArr[0].x){
speedx = 4;
birdMc.scaleX = -1;
};
};
super.paint();
if (!inScreen){
testInScreen();
};
testRemove();
}
override public function die():void{
SoundsManager.playSound("eagle_howl");
super.die();
}
private function testInScreen():void{
var _local1:Point;
_local1 = sprite.localToGlobal(new Point());
if (_local1.x > 600){
return;
};
if (_local1.x < -20){
return;
};
if (_local1.y > 400){
return;
};
if (_local1.y < -20){
return;
};
if (bird0){
setTimeout(playSound, 1600);
} else {
playSound();
};
inScreen = true;
}
}
}//package code.game.object.level4
Section 107
//CloudDisappearMc (code.game.object.level4.CloudDisappearMc)
package code.game.object.level4 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
public class CloudDisappearMc extends MovieClip {
public var insideMc:MovieClip;
public function CloudDisappearMc(){
Properties.bindObjsForInit.push(objinit);
}
private function objinit():void{
new CloudDisappearRec(this.localToGlobal(new Point()), this);
}
}
}//package code.game.object.level4
Section 108
//CloudDisappearRec (code.game.object.level4.CloudDisappearRec)
package code.game.object.level4 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
public class CloudDisappearRec extends UserRec {
private var hitTime:int;
private var haveHit:Boolean;
private var disTime:int;// = 60
private var insideMc:MovieClip;
private var thisMc:MovieClip;
private var steadyTime:int;// = 40
public function CloudDisappearRec(_arg1:Point, _arg2:MovieClip){
steadyTime = 40;
disTime = 60;
super(_arg1.x, _arg1.y, _arg2.width, _arg2.height, 0, true);
alwaysRepaint = true;
itemNum = AbstractItem.MOVE;
this.setDisplay(_arg2);
Properties.map.group.addParticle(this);
Properties.map.allParticles[Map.THRU].push(this);
super.paint();
_arg2.stop();
thisMc = _arg2;
thisMc.addFrameScript(97, disappear);
thisMc.addFrameScript(4, recreate);
insideMc = thisMc["insideMc"];
insideMc.stop();
if (_arg2.width < 100){
steadyTime = 20;
disTime = 45;
};
}
private function recreate():void{
Properties.map.group.addParticle(this);
haveHit = false;
insideMc.gotoAndStop(1);
}
override public function paint():void{
if (haveHit){
hitTime++;
if (hitTime == steadyTime){
insideMc.play();
} else {
if (hitTime == disTime){
thisMc.gotoAndPlay("dis");
insideMc.gotoAndPlay("dis");
};
};
};
}
private function disappear():void{
Properties.map.group.removeParticle(this);
}
public function hitDrago(_arg1:UserEvent):void{
if (!haveHit){
if (_arg1.data["mtd"].y < 0){
haveHit = true;
hitTime = 0;
};
};
}
}
}//package code.game.object.level4
Section 109
//MotianlunLevel4 (code.game.object.level4.MotianlunLevel4)
package code.game.object.level4 {
import flash.display.*;
import flash.geom.*;
import code.game.object.level1.*;
public class MotianlunLevel4 extends Motianlun {
public function MotianlunLevel4(_arg1:Point, _arg2:Sprite){
super(_arg1, _arg2);
}
override protected function frameRotation():void{
}
override protected function valueInit():void{
recNums = Number(thisMc.name.slice(12));
direction = ((thisMc.name.slice(10, 11) == "s")) ? 1 : -1;
lunziStr = "level4_plat";
lunziClass = MoCircleRec;
thisMc.visible = false;
}
}
}//package code.game.object.level4
Section 110
//MotianlunMc (code.game.object.level4.MotianlunMc)
package code.game.object.level4 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
public class MotianlunMc extends MovieClip {
public function MotianlunMc(){
Properties.bindObjsForInit.push(objInit);
}
private function objInit():void{
new MotianlunLevel4(this.localToGlobal(new Point(0, 0)), this);
}
}
}//package code.game.object.level4
Section 111
//PathPlatMc (code.game.object.level4.PathPlatMc)
package code.game.object.level4 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
public class PathPlatMc extends Sprite {
public var loc4:MovieClip;
private var speed:Number;// = 4
private var pathPoints:Array;
public var loc1:MovieClip;
public var loc0:MovieClip;
public var loc2:MovieClip;
public var loc3:MovieClip;
public static const TEST:Boolean = false;
public function PathPlatMc(){
speed = 4;
pathPoints = [];
super();
Properties.bindObjsForInit.push(objinit);
}
private function objinit():void{
var _local1:int;
_local1 = 0;
while (_local1 < (this.numChildren - 1)) {
Tool.getLinePoint(this[("loc" + _local1)].localToGlobal(new Point()), this[("loc" + (_local1 + 1))].localToGlobal(new Point()), pathPoints, speed);
if (_local1 > 0){
this[("loc" + _local1)].visible = false;
};
_local1++;
};
new PathPlatRec(pathPoints[0], (this["loc0"] as MovieClip), pathPoints, this);
}
}
}//package code.game.object.level4
Section 112
//PathPlatRec (code.game.object.level4.PathPlatRec)
package code.game.object.level4 {
import flash.events.*;
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import code.game.object.*;
import code.game.object.level1.*;
public class PathPlatRec extends PathRouteRec {
private var numStr:String;
public function PathPlatRec(_arg1:Vector, _arg2:MovieClip, _arg3:Array, _arg4:Sprite){
super(_arg1, _arg2, _arg3);
_arg4 = (_arg2.parent as Sprite);
numStr = _arg4.name.slice(-1);
leaveTime = 180;
_arg2.visible = false;
Properties.map.removeParticle(this, Map.THRU);
_arg4.parent.addEventListener(("showPlat" + numStr), showPlat, false, 0, true);
}
override protected function disappear():void{
super.disappear();
pfMc.gotoAndStop(1);
Properties.map.removeParticle(this, Map.THRU);
}
private function showPlat(_arg1:Event):void{
pfMc.visible = true;
disappear();
addToGroup();
pfMc.gotoAndStop((pfMc.totalFrames - 1));
}
override public function hitDrago(_arg1:UserEvent):void{
if (_arg1.data["mtd"].y < 0){
if (!start){
if (startInt < 1){
startInt = 1;
};
};
if (!haveHit){
haveHit = true;
if (con != null){
con.dispatchEvent(new Event(("hitPathPlat" + numStr), true));
};
};
};
noTime = 1;
}
}
}//package code.game.object.level4
Section 113
//ShooterMc (code.game.object.level4.ShooterMc)
package code.game.object.level4 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
public class ShooterMc extends BitmapMc {
public var range:MovieClip;
public var arrowLoc:arrow_mc;
public function ShooterMc(){
Properties.bindObjsForInit.push(objinit);
(this as MovieClip);
}
private function objinit():void{
new ShooterRec(this.localToGlobal(new Point()), this);
}
}
}//package code.game.object.level4
Section 114
//ShooterRec (code.game.object.level4.ShooterRec)
package code.game.object.level4 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import flash.utils.*;
import code.game.enemy.*;
public class ShooterRec extends Normal {
private var curArrowRec:ArrowRec;
private var arrowLoc:Point;
private var tempInt:int;
private var dir:int;
private var shootTime:int;// = 30
private var shooterMc:MovieClip;
private static const ARROW_CLASS:Class = (getDefinitionByName("arrow_mc") as Class);
public function ShooterRec(_arg1:Point, _arg2:MovieClip){
shootTime = 30;
super(_arg1, _arg2["range"], true, 1000);
_arg2["range"].visible = false;
this.alwaysRepaint = true;
this.itemNum = AbstractItem.ENEMY;
this.setDisplay(_arg2);
Properties.map.group.addParticle(this);
Properties.map.allParticles[Map.ENEMY].push(this);
super.paint();
if (PathPlatMc.TEST){
this.collidable = false;
};
shooterMc = _arg2;
shooterMc.stop();
shooterMc.addFrameScript(26, shootFun);
shooterMc["arrowLoc"].visible = false;
dir = ((shooterMc.name.slice(-1) == "0")) ? -1 : 1;
if (dir == 1){
shooterMc.scaleX = -1;
};
arrowLoc = shooterMc["arrowLoc"].localToGlobal(new Point());
}
override public function del():void{
Properties.map.removeParticle(this, Map.ENEMY);
}
override public function paint():void{
tempInt++;
if (tempInt > shootTime){
shooterMc.gotoAndPlay(1);
tempInt = 0;
shootTime = (65 + (Math.random() * 20));
};
if (haveDie){
super.paint();
testRemove();
};
}
override public function die():void{
super.die();
shooterMc.stop();
curArrowRec.del();
}
private function shootFun():void{
var _local1:Point;
if (!haveDie){
_local1 = shooterMc.localToGlobal(new Point());
if ((((((((_local1.x < 630)) && ((_local1.x > -50)))) && ((_local1.y < 430)))) && ((_local1.y > -50)))){
curArrowRec = new ArrowRec(arrowLoc, new ARROW_CLASS(), dir);
};
};
}
}
}//package code.game.object.level4
Section 115
//SpringObjectLevel4 (code.game.object.level4.SpringObjectLevel4)
package code.game.object.level4 {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import code.game.object.level0.*;
public class SpringObjectLevel4 extends AbsSpringObject {
private var numStr:String;
public function SpringObjectLevel4(_arg1:Point, _arg2:Sprite):void{
super(_arg1, _arg2);
numStr = _arg2.name.slice(-1);
trace(((_arg2.name + ":") + numStr));
mc.parent.addEventListener(("hitPathPlat" + numStr), reshow, false, 0, true);
}
override public function del():void{
mc.stop();
haveHit = false;
}
override protected function objInit():void{
}
private function reshow(_arg1:Event):void{
super.executeFun();
super.addToGroup();
mc.gotoAndStop(1);
}
override protected function executeFun():void{
super.executeFun();
mc.parent.dispatchEvent(new Event(("showPlat" + numStr)));
}
}
}//package code.game.object.level4
Section 116
//StoneBallRec (code.game.object.level4.StoneBallRec)
package code.game.object.level4 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
public class StoneBallRec extends UserRec {
protected var len:int;
protected var ifHitDrago:Boolean;
protected var noTime:int;
protected var direction:int;
protected var curLoc:int;
private var points:Array;
private var ballMc:Sprite;
private static var haveAdded:StoneBallRec;
private static var playBall:StoneBallRec;
public function StoneBallRec(_arg1:Sprite, _arg2:Array, _arg3:int, _arg4:int){
super(_arg2[_arg3].x, _arg2[_arg3].y, _arg1.width, _arg1.height, 0, true, 1, 0, 0.1);
direction = _arg4;
curLoc = _arg3;
this.points = _arg2;
len = _arg2.length;
itemNum = AbstractItem.ENEMY;
alwaysRepaint = true;
if (PathPlatMc.TEST){
this.collidable = false;
};
Properties.map.group.addParticle(this);
Properties.map.allParticles[Map.ENEMY].push(this);
setDisplay(_arg1);
ballMc = _arg1;
if (haveAdded == null){
haveAdded = this;
Properties.bindForDel.push(confirmDel);
};
}
private function confirmDel():void{
playSound(false);
playBall = null;
haveAdded = null;
}
private function playSound(_arg1:Boolean):void{
if (_arg1){
SoundsManager.checkAndPlaySound("electricity_s", true, 999);
} else {
SoundsManager.stopSound("electricity_s");
};
}
override public function paint():void{
var _local1:Point;
var _local2:Point;
var _local3:int;
super.paint();
curLoc = (curLoc + direction);
if (curLoc >= len){
curLoc = 0;
} else {
if (curLoc < 0){
curLoc = (len - 1);
};
};
px = points[curLoc].x;
py = points[curLoc].y;
_local1 = DragoRec.dragoRec.sprite.localToGlobal(new Point());
_local2 = this.ballMc.localToGlobal(new Point());
_local3 = Point.distance(_local1, _local2);
if (playBall != this){
if (_local3 < 150){
playSound(true);
playBall = this;
};
} else {
if (playBall == this){
if (_local3 >= 150){
playSound(false);
playBall = null;
};
};
};
}
public function hitDrago(_arg1:UserEvent, _arg2:RectangleParticle):void{
if ((_arg2 is DragoRec)){
(_arg2 as DragoRec).drago.setPaused(true, 25);
};
}
}
}//package code.game.object.level4
Section 117
//StoneColumnMc (code.game.object.level4.StoneColumnMc)
package code.game.object.level4 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import flash.utils.*;
public class StoneColumnMc extends Sprite {
private var initLoc:Point;
private var speed:Number;// = 4
private var pathPoints:Array;
private var stoneRec:UserRec;
private static const ballClass:Class = (getDefinitionByName("stoneColumnBall") as Class);
public function StoneColumnMc(){
pathPoints = [];
speed = 4;
super();
Properties.bindObjsForInit.push(objinit);
}
private function createStoneRec():void{
if (PathPlatMc.TEST){
return;
};
stoneRec = new UserRec(initLoc.x, initLoc.y, this.width, this.height, 0, true);
stoneRec.itemNum = AbstractItem.THRU;
Properties.map.group.addParticle(stoneRec);
Properties.map.allParticles[Map.THRU].push(stoneRec);
}
private function createPath():void{
var _local1:Sprite;
var _local2:Number;
var _local3:Number;
var _local4:Array;
_local1 = new ballClass();
_local2 = (this.width + (_local1.width * 0.5));
_local3 = (this.height + (_local1.height * 0.5));
_local4 = new Array();
_local4[0] = new Point((initLoc.x - (_local2 / 2)), (initLoc.y - (_local3 / 2)));
_local4[1] = new Point((_local4[0].x + _local2), _local4[0].y);
_local4[2] = new Point(_local4[1].x, (_local4[1].y + _local3));
_local4[3] = new Point(_local4[0].x, _local4[2].y);
Tool.getLinePoint(_local4[0], _local4[1], pathPoints, speed);
Tool.getLinePoint(_local4[1], _local4[2], pathPoints, speed);
Tool.getLinePoint(_local4[2], _local4[3], pathPoints, speed);
Tool.getLinePoint(_local4[3], _local4[0], pathPoints, speed);
}
private function ereateBall():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:Sprite;
var _local5:int;
_local1 = int(this.name.slice(-2));
_local2 = ((pathPoints.length - 1) / _local1);
_local3 = ((this.name.slice(-4, -3) == "s")) ? 1 : -1;
_local5 = 0;
while (_local5 < _local1) {
_local4 = new ballClass();
new StoneBallRec(_local4, pathPoints, (_local5 * _local2), _local3);
_local5++;
};
}
private function objinit():void{
initLoc = this.localToGlobal(new Point());
createStoneRec();
createPath();
ereateBall();
}
}
}//package code.game.object.level4
Section 118
//SuperPowerAir (code.game.object.level4.SuperPowerAir)
package code.game.object.level4 {
import org.cove.ape.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
import code.game.object.level2.*;
import code.game.data.*;
public class SuperPowerAir extends SuperPower {
private static var superPowerAir:SuperPowerAir;
public function SuperPowerAir(){
super(this);
superDragoStr = "dragoMcCla4";
}
override protected function gotLandFun():void{
if (_pressOnAir){
_pressOnAir = false;
};
}
override public function toSuperState():void{
super.toSuperState();
normal_drago = DragoRec.dragoRec.drago.switchDrago(superDrago);
DragoRec.dragoRec.drago.setStateSpeed(1, 1);
DragoRec.dragoRec.drago.setBoundNumRate(1);
DragoRec.dragoRec.drago.superKeyOnLand = null;
DragoRec.dragoRec.drago.superKeyOnLandUp = null;
DragoRec.dragoRec.drago.superKeyOnAir = pressOnAirFun;
DragoRec.dragoRec.onGotLand = gotLandFun;
SuperPower._pressOnAirGotLand = null;
}
override protected function bindObjDel():void{
if (curSuperPower == this){
super.bindObjDel();
switch (LevelData.curState){
case LevelData.TO_NEXT_PART:
break;
case LevelData.LEVEL_FAILED:
if ((((LevelData.curLevel == 5)) && ((LevelData.curMiniLevel == 1)))){
SuperPower.curSuperPower = SuperPowerEarth.superPowerEarth;
};
if (LevelData.curLevel == 4){
if (LevelData.curMiniLevel == 0){
SuperPower.curSuperPower = null;
};
};
break;
case LevelData.WORLD_COMPLETE:
SuperPower.curSuperPower = null;
break;
};
};
}
override protected function pressOnAirFun():void{
if (!_pressOnAir){
DragoRec.dragoRec.velocity = new Vector(0, -24);
DragoRec.dragoRec.drago.changeState("double_fly");
SoundsManager.playSound("drago_fly");
_pressOnAir = true;
};
}
public static function toSuper():void{
if ((curSuperPower is SuperPowerAir)){
return;
};
if (superPowerAir == null){
superPowerAir = new (SuperPowerAir);
};
superPowerAir.toSuperState();
}
}
}//package code.game.object.level4
Section 119
//TianpingMc (code.game.object.level4.TianpingMc)
package code.game.object.level4 {
import flash.events.*;
import flash.display.*;
import org.cove.ape.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
public class TianpingMc extends MovieClip {
private var points:Array;
private var leftRec:TianpingZuo;
var haveHit:Boolean;
public var zuo0:tianpingzuo;
public var zuo1:tianpingzuo;
private var center:Point;
private var ganMc:Sprite;
private var radius:Number;
var anglePoints:Array;
var minRadin:Number;
private var rightRec:TianpingZuo;
public var gan_mc:tianpinggan;
public function TianpingMc(){
Properties.bindObjsForInit.push(objinit);
}
private function hitRight(_arg1:Event):void{
SoundsManager.playSound("tianping");
haveHit = true;
leftRec.direction = 1;
rightRec.direction = 1;
}
private function dropRight(_arg1:Event):void{
haveHit = false;
}
private function objinit():void{
var _local1:int;
var _local2:Number;
var _local3:Sprite;
var _local4:Point;
ganMc = this["gan_mc"];
radius = (Math.abs((this["zuo1"].x - this["zuo0"].x)) / 2);
center = ganMc.localToGlobal(new Point());
points = [];
anglePoints = [];
minRadin = ((2 * Math.PI) / 201);
_local1 = 0;
_local2 = 0;
while (_local1 < 201) {
_local4 = Tool.createCirclePoint(_local2, radius, center);
points.push(new Vector(_local4.x, _local4.y));
anglePoints.push(Tool.radianToAngle(_local2));
_local1 = (_local1 + 1);
_local2 = (_local2 + minRadin);
};
_local3 = this["zuo0"]["zuo"];
leftRec = new TianpingZuo(_local3.localToGlobal(new Point()), _local3, points, (points.length / 2), this);
_local3.addEventListener("hitDrago", hitLeft, false, 0, true);
_local3.addEventListener("dropDrago", dropLeft, false, 0, true);
_local3 = this["zuo1"]["zuo"];
rightRec = new TianpingZuo(_local3.localToGlobal(new Point()), _local3, points, 0, this);
_local3.addEventListener("hitDrago", hitRight, false, 0, true);
_local3.addEventListener("dropDrago", dropRight, false, 0, true);
}
private function hitLeft(_arg1:Event):void{
SoundsManager.playSound("tianping");
haveHit = true;
leftRec.direction = -1;
rightRec.direction = -1;
}
private function dropLeft(_arg1:Event):void{
haveHit = false;
}
}
}//package code.game.object.level4
Section 120
//TianpingZuo (code.game.object.level4.TianpingZuo)
package code.game.object.level4 {
import flash.events.*;
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.game.drago.*;
public class TianpingZuo extends UserRec {
private var thisCon:Sprite;
private var interCon:Point;
private var hitTime:int;
private var len:int;
private var haveHit:Boolean;
private var interPoint:Point;
private var dropNum:int;
private var initLoc:int;
private var _direction:int;
private var haveMove:int;
private var ganMc:Sprite;
private var thisMc:Sprite;
private var inter:Vector;
private var curLoc:int;
private var points:Array;
private var tianping:TianpingMc;
public function TianpingZuo(_arg1:Point, _arg2:Sprite, _arg3:Array, _arg4:int, _arg5:TianpingMc){
thisCon = new Sprite();
interPoint = new Point();
interCon = new Point();
super(_arg1.x, (_arg1.y + 28), _arg2.width, (_arg2.height * 0.8), 0, true);
thisMc = _arg2;
this.points = _arg3;
len = _arg3.length;
this.curLoc = _arg4;
initLoc = _arg4;
this.tianping = _arg5;
dropNum = (_arg1.y + 150);
interPoint.x = (_arg1.x - _arg3[_arg4].x);
interPoint.y = (_arg1.y - _arg3[_arg4].y);
thisCon = (thisMc.parent as Sprite);
interCon.x = (thisCon.x - _arg3[_arg4].x);
interCon.y = (thisCon.y - _arg3[_arg4].y);
if (thisCon.name == "zuo1"){
ganMc = thisCon.parent["gan_mc"];
};
this.alwaysRepaint = true;
this.itemNum = AbstractItem.MOVE;
Properties.map.group.addParticle(this);
Properties.map.allParticles[Map.THRU].push(this);
}
override public function paint():void{
if (haveHit){
inter = points[curLoc];
hitTime++;
if (hitTime > 1){
haveHit = false;
thisMc.dispatchEvent(new Event("dropDrago"));
};
};
if (tianping.haveHit){
if (Math.abs(haveMove) < 25){
curLoc = (curLoc + _direction);
haveMove = (haveMove + _direction);
testRange();
run();
if (haveHit){
inter = points[curLoc].minus(inter);
DragoRec.dragoRec.changePosition = inter;
};
};
} else {
if (haveMove != 0){
curLoc = (curLoc + -(_direction));
haveMove = (haveMove + -(_direction));
testRange();
run();
} else {
_direction = 0;
};
};
if (Math.abs((DragoRec.dragoRec.py - py)) > 450){
return;
};
if (Math.abs((DragoRec.dragoRec.px - px)) > 550){
return;
};
super.paint();
}
private function run():void{
px = (points[curLoc].x + interPoint.x);
py = (points[curLoc].y + interPoint.y);
thisCon.x = (points[curLoc].x + interCon.x);
thisCon.y = (points[curLoc].y + interCon.y);
if (ganMc != null){
ganMc.rotation = tianping.anglePoints[curLoc];
};
}
private function testRange():void{
if (curLoc >= len){
curLoc = 0;
} else {
if (curLoc < 0){
curLoc = (len - 1);
};
};
}
public function hitDrago(_arg1:UserEvent):void{
if (!haveHit){
thisMc.dispatchEvent(new Event("hitDrago"));
haveHit = true;
};
hitTime = 0;
}
function set direction(_arg1:int):void{
_direction = _arg1;
}
}
}//package code.game.object.level4
Section 121
//BridgeMc (code.game.object.level5.BridgeMc)
package code.game.object.level5 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import code.game.drago.*;
import code.ui.*;
import code.game.data.*;
public class BridgeMc extends MovieClip {
private var initLoc:Point;
public var bridgeRec:MovieClip;
public var slope_mc:MovieClip;
public var fire0:level5_huo;
public var fire1:level5_huo;
public var fire2:level5_huo;
private var wid:int;
public var bridgeMc:桥0;
public function BridgeMc(){
Properties.bindObjsForInit.push(objInit);
Properties.bindFrameObjs.push(enterFrame);
}
private function enterFrame():void{
if (DragoRec.dragoRec.py > initLoc.y){
if (DragoRec.dragoRec.py < (initLoc.y + 100)){
if (Math.abs((DragoRec.dragoRec.px - initLoc.x)) < wid){
LevelData.mapTopBot[5][0] = BridgeRec.mapNormal;
Properties.map.layer1.getChildAt(0)["back_out"].visible = false;
UI.playMusic("underground_m");
};
};
};
}
private function objInit():void{
var _local1:MovieClip;
_local1 = this["bridgeRec"];
initLoc = _local1.localToGlobal(new Point(0, 0));
wid = (_local1.width / 2);
_local1.visible = false;
new BridgeRec(_local1.localToGlobal(new Point()), _local1, this["bridgeMc"]);
}
}
}//package code.game.object.level5
Section 122
//BridgeRec (code.game.object.level5.BridgeRec)
package code.game.object.level5 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.game.drago.*;
public class BridgeRec extends UserRec {
private var haveHit:Boolean;
private var initLoc:Point;
private var slopeRec:RectangleParticle;
private var bridgeMc:MovieClip;
public static var mapNormal:Array = [0, 0, 330, 145];
public function BridgeRec(_arg1:Point, _arg2:Sprite, _arg3:MovieClip){
super(_arg1.x, _arg1.y, _arg2.width, _arg2.height, 0, true);
bridgeMc = _arg3;
bridgeMc.stop();
bridgeMc.addFrameScript(2, drop);
initLoc = _arg1;
slopeRec = Properties.map.createOneArticle(_arg3.parent["slope_mc"], AbstractItem.SOLID);
Properties.map.group.addParticle(slopeRec);
Properties.map.allParticles[Map.SOLID].push(slopeRec);
_arg3.parent["slope_mc"].visible = false;
this.alwaysRepaint = true;
this.itemNum = AbstractItem.OTHERS;
Properties.map.allParticles[Map.SOLID].push(this);
Properties.map.group.addParticle(this);
}
override public function paint():void{
if (haveHit){
if (Math.abs((initLoc.x - DragoRec.dragoRec.px)) < 60){
bridgeMc.play();
};
};
}
private function drop():void{
var _local1:int;
Properties.map.removeParticle(this, Map.SOLID);
Properties.map.removeParticle(slopeRec, Map.SOLID);
slopeRec = null;
_local1 = 0;
while (_local1 < 3) {
bridgeMc.parent[("fire" + _local1)].stop();
bridgeMc.parent[("fire" + _local1)].visible = false;
bridgeMc.parent[("fire" + _local1)].fireRec.del();
_local1++;
};
}
public function hitDrago(_arg1:UserEvent, _arg2):void{
if (!haveHit){
haveHit = true;
};
}
}
}//package code.game.object.level5
Section 123
//DragoWater (code.game.object.level5.DragoWater)
package code.game.object.level5 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import flash.utils.*;
public class DragoWater {
private static const waterClass:Class = (getDefinitionByName("dragoWaterMc") as Class);
public static const HALF_HEIGHT:int = 15;
public static const HALF_WIDTH:int = 15;
public function DragoWater(_arg1:MovieClip, _arg2:MovieClip){
var _local3:Point;
var _local4:Point;
var _local5:Point;
var _local6:MovieClip;
var _local7:Sprite;
var _local8:int;
super();
if (_arg2.parent != null){
_local7 = (_arg2.parent.parent as Sprite);
} else {
return;
};
if (_local7 == null){
return;
};
_local3 = _arg1.localToGlobal(new Point(28.5, -5.1));
_local4 = Properties.map.mapCon.globalToLocal(_local3);
_local5 = _local7.globalToLocal(_local3);
_local6 = new waterClass();
_local6.x = _local5.x;
_local6.y = _local5.y;
_local7.addChild(_local6);
if (_arg1.name == "water1"){
_local8 = 1;
} else {
if (_arg1.name == "water0"){
_local8 = -1;
_local6.scaleX = -1;
};
};
new DragoWaterRec(_local4, _local6, _local8);
}
}
}//package code.game.object.level5
Section 124
//DragoWaterRec (code.game.object.level5.DragoWaterRec)
package code.game.object.level5 {
import flash.display.*;
import org.cove.ape.*;
import flash.geom.*;
import code.game.object.*;
public class DragoWaterRec extends UserRec {
private var waterMc:MovieClip;
private var health:int;// = 100
private var tempInt:int;
private var insideMc:MovieClip;
private var inter:Point;
public function DragoWaterRec(_arg1:Point, _arg2:MovieClip, _arg3:int){
var _local4:Number;
inter = new Point();
health = 100;
super(_arg1.x, _arg1.y, _arg2.width, _arg2.height, 0, false, 1, 0, 0);
Properties.map.group.addParticle(this);
this.collidable = false;
inter.x = (_arg2.x - _arg1.x);
inter.y = (_arg2.y - _arg1.y);
this.waterMc = _arg2;
_arg2.addFrameScript(0, getInsideMc);
_local4 = ((Math.random() * 0.4) + 0.8);
_arg2.scaleX = _local4;
_arg2.scaleY = _local4;
_arg2.gotoAndPlay(1);
massForce = new Vector(0, 0);
masslessForce = new Vector(0, 0.8);
this.velocity = new Vector((_arg3 * 4), -1);
tempInt = 1;
}
override public function del():void{
Properties.map.group.removeParticle(this);
if (insideMc != null){
insideMc.stop();
};
if (waterMc.parent != null){
waterMc.parent.removeChild(waterMc);
};
}
private function getInsideMc():void{
insideMc = waterMc["insideMc"];
if (insideMc != null){
insideMc.gotoAndPlay((int((Math.random() * 3)) + 1));
};
}
override public function paint():void{
super.paint();
if (tempInt > 0){
this.changePosition = new Vector(0, -1);
tempInt++;
if (tempInt > 80){
tempInt = 0;
};
};
if (waterMc != null){
waterMc.x = (px + inter.x);
waterMc.y = (py + inter.y);
if (waterMc.localToGlobal(new Point()).y > 450){
del();
};
};
if (health > 0){
if (RisedWaterMc.testHitFromWater(px, py)){
health = (health - 30);
} else {
if (FireMc.testHitFromWater(px, py)){
health = (health - 100);
} else {
if (Level5QuakeNormal.testHitFromWater(px, py)){
health = (health - 100);
};
};
};
} else {
waterMc.alpha = (waterMc.alpha - 0.05);
if (waterMc.alpha < 0.1){
del();
};
};
}
}
}//package code.game.object.level5
Section 125
//DynamicDiamond (code.game.object.level5.DynamicDiamond)
package code.game.object.level5 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
public class DynamicDiamond extends Diamond {
private var initLocalLoc:Point;
private var initLoc:Point;
private var curLocalLoc:Point;
public function DynamicDiamond(_arg1:Point, _arg2:Sprite, _arg3:Point){
super(_arg1, _arg2);
mc.x = _arg3.x;
mc.y = _arg3.y;
initLoc = new Point(_arg1.x, _arg1.y);
initLocalLoc = new Point(_arg3.x, _arg3.y);
curLocalLoc = new Point(_arg3.x, _arg3.y);
Properties.map.properties.diamonds.push(this);
}
function moving(_arg1:Number=0, _arg2:Number=0):void{
_loc.x = (_loc.x + _arg1);
_loc.y = (_loc.y + _arg2);
curLocalLoc.x = (curLocalLoc.x + _arg1);
curLocalLoc.y = (curLocalLoc.y + _arg2);
mc.x = curLocalLoc.x;
mc.y = curLocalLoc.y;
}
function reset():void{
_loc.x = initLoc.x;
_loc.y = initLoc.y;
curLocalLoc.x = initLocalLoc.x;
curLocalLoc.y = initLocalLoc.y;
mc.x = curLocalLoc.x;
mc.y = curLocalLoc.y;
}
}
}//package code.game.object.level5
Section 126
//FireMc (code.game.object.level5.FireMc)
package code.game.object.level5 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
public class FireMc extends RandomBitmapMc {
private var health:int;// = 100
protected var rec:FireRec;
private var half_height:int;
private var half_width:int;
private static var fires:Array = [];
public function FireMc(){
health = 100;
super();
Properties.bindObjsForInit.push(objInit);
if (fires.length == 0){
Properties.bindForDel.push(del);
};
fires.push(this);
}
function delMc():void{
this.stop();
if (this.parent != null){
this.parent.removeChild(this);
};
delFromFires();
}
protected function calWidHei():void{
half_width = ((rec.bounds[0] + DragoWater.HALF_WIDTH) - 5);
half_height = ((rec.bounds[1] + DragoWater.HALF_HEIGHT) - 5);
}
protected function objInit():void{
createParticle();
calWidHei();
}
private function delFromFires():void{
var _local1:int;
_local1 = fires.indexOf(this);
if (_local1 >= 0){
fires[_local1] = null;
};
}
protected function createParticle():void{
rec = new FireRec(this.localToGlobal(new Point()), (this as MovieClip));
}
function getHitFromWater():void{
if (health > 0){
health = (health - 55);
if (health < 0){
SoundsManager.playSound("fire_out");
rec.toDis();
};
};
}
public function get fireRec():FireRec{
return (rec);
}
private static function del():void{
fires = [];
}
public static function testHitFromWater(_arg1:Number, _arg2:Number):Boolean{
var _local3:*;
for (_local3 in fires) {
if (fires[_local3] != null){
if (fires[_local3].rec != null){
if (Math.abs((_arg1 - fires[_local3].rec.px)) < fires[_local3].half_width){
if (Math.abs((_arg2 - fires[_local3].rec.py)) < fires[_local3].half_height){
fires[_local3].getHitFromWater();
return (true);
};
};
};
};
};
return (false);
}
public static function delAllFires():void{
var _local1:*;
trace("delAllFires");
for (_local1 in fires) {
if (fires[_local1] != null){
if (fires[_local1].rec != null){
fires[_local1].rec.del();
};
};
};
del();
}
}
}//package code.game.object.level5
Section 127
//FireRec (code.game.object.level5.FireRec)
package code.game.object.level5 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.game.drago.*;
import code.game.enemy.*;
public class FireRec extends Normal {
private var fireMc:MovieClip;
public function FireRec(_arg1:Point, _arg2:MovieClip){
super(_arg1, _arg2, true, 1, 0, 0);
this.itemNum = AbstractItem.OTHERS;
this.alwaysRepaint = true;
Properties.map.group.addParticle(this);
Properties.map.allParticles[Map.ENEMY2].push(this);
fireMc = _arg2;
super.paint();
}
override public function del():void{
(fireMc as FireMc).delMc();
Properties.map.removeParticle(this, Map.ENEMY2);
}
public function toDis():void{
haveDie = true;
}
override public function paint():void{
if (haveDie){
if (fireMc != null){
fireMc.alpha = (fireMc.alpha - 0.1);
if (fireMc.alpha < 0.2){
del();
};
};
};
}
override public function hitDrago(_arg1:UserEvent, _arg2:RectangleParticle):Vector{
if ((_arg2 is DragoRec)){
dragoGetHit();
};
return (new Vector());
}
}
}//package code.game.object.level5
Section 128
//FireWolfMc (code.game.object.level5.FireWolfMc)
package code.game.object.level5 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
public class FireWolfMc extends MovieClip {
public var loc_mc:torch_mc_class;
public var range_mc:MovieClip;
public var yun_mc:MovieClip;
private var rec:FireWolfRec;
public function FireWolfMc(){
Properties.bindObjsForInit.push(objInit);
}
private function objInit():void{
var _local1:Sprite;
_local1 = this["range_mc"];
rec = new FireWolfRec(_local1.localToGlobal(new Point()), this, _local1);
}
}
}//package code.game.object.level5
Section 129
//FireWolfRec (code.game.object.level5.FireWolfRec)
package code.game.object.level5 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
import flash.utils.*;
public class FireWolfRec extends Level5QuakeNormal {
private const speedx:int = 2;
private var nextThrowTime:int;// = 80
private var curTime:int;
private var direction:int;// = -1
private var wolfMc:MovieClip;
private var ifThrow:Boolean;
private var torchClass:Class;
private var locMc:Sprite;
public function FireWolfRec(_arg1:Point, _arg2:MovieClip, _arg3:Sprite){
torchClass = (getDefinitionByName("torch_mc_class") as Class);
nextThrowTime = 80;
direction = -1;
super(_arg1, (_arg3 as MovieClip), _arg2, true, 1);
_arg3.visible = false;
locMc = _arg2["loc_mc"];
locMc.visible = false;
getRange(_arg2.parent[("h_" + _arg2.name)]);
this.alwaysRepaint = true;
this.setDisplay(_arg2);
itemNum = AbstractItem.ENEMY;
Properties.map.allParticles[Map.ENEMY].push(this);
Properties.map.group.addParticle(this);
super.paint();
_arg2.addFrameScript(35, throwFun, 41, contineMove);
wolfMc = _arg2;
}
override public function paint():void{
if (haveDie){
super.paint();
testRemove();
return;
};
if (inEarthquake){
countEarthquakeTime();
return;
};
if (Math.abs((DragoRec.dragoRec.py - py)) > 400){
return;
};
if (Math.abs((DragoRec.dragoRec.px - px)) > 600){
return;
};
if (((((((py - DragoRec.dragoRec.py) > 30)) && ((Math.abs((DragoRec.dragoRec.px - px)) < 70)))) && (!(testStop())))){
wolfMc.gotoAndStop("shield");
} else {
curTime++;
if (curTime > nextThrowTime){
curTime = 0;
nextThrowTime = (80 + (Math.random() * 30));
wolfMc.gotoAndPlay("throw");
ifThrow = true;
};
if (((!(ifThrow)) && (!(testStop())))){
move();
if (wolfMc.currentFrame >= 50){
wolfMc.gotoAndPlay(1);
};
};
super.paint();
};
}
private function contineMove():void{
ifThrow = false;
wolfMc.gotoAndPlay(12);
}
override protected function getHitByDrago():void{
if (wolfMc.currentFrame >= 50){
DragoRec.dragoRec.drago.getCai();
SoundsManager.playSound("enemy_recovery");
} else {
super.getHitByDrago();
};
}
private function throwFun():void{
var _local1:Point;
SoundsManager.playSound("enemy_attack");
_local1 = locMc.localToGlobal(new Point());
_local1 = Properties.map.playCon.globalToLocal(_local1);
new TorchRec(_local1, direction, new torchClass());
}
private function move():void{
px = (px + (direction * speedx));
if ((((px > rangeArr[1].x)) || ((px < rangeArr[0].x)))){
wolfMc.scaleX = (wolfMc.scaleX * -1);
direction = (direction * -1);
};
}
}
}//package code.game.object.level5
Section 130
//Level5BackGroundSwitch (code.game.object.level5.Level5BackGroundSwitch)
package code.game.object.level5 {
import flash.display.*;
import code.game.drago.*;
import code.game.object.level2.*;
public class Level5BackGroundSwitch extends BackGroundSwitch {
public var _maskmc:MovieClip;
public var _locmc:背景切换LOC;
public function Level5BackGroundSwitch(){
(this as MovieClip);
}
override protected function getChildren():void{
locmc = this["_locmc"];
maskMc = this["_maskmc"];
}
override protected function objInit():void{
super.objInit();
ifOut = true;
}
override protected function calIfOut():void{
if (bothBack){
if (DragoRec.dragoRec.py > initLoc.y){
if (ifOut){
ifOut = false;
playFallSound();
};
} else {
if (!ifOut){
ifOut = true;
};
};
};
}
}
}//package code.game.object.level5
Section 131
//Level5QuakeNormal (code.game.object.level5.Level5QuakeNormal)
package code.game.object.level5 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.object.level2.*;
public class Level5QuakeNormal extends QuakeNormal {
private static var enemies:Array = [];
public function Level5QuakeNormal(_arg1:Point, _arg2:MovieClip, _arg3:MovieClip=null, _arg4:Boolean=true, _arg5:Number=2000, _arg6:Number=0, _arg7:Number=0){
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7);
if (enemies.length == 0){
Properties.bindForDel.push(del);
};
enemies.push(this);
}
override public function die():void{
SoundsManager.stopSound("drago_dizzy");
super.die();
Level5QuakeNormal.remove(this);
}
override protected function showYun(_arg1:Boolean):void{
yunMc.visible = _arg1;
if (_arg1){
yunMc.play();
SoundsManager.playSound("drago_dizzy", true, 1, 0.56);
} else {
yunMc.stop();
};
}
static function remove(_arg1):void{
var _local2:int;
_local2 = enemies.indexOf(_arg1);
if (_local2 < 0){
return;
};
enemies.splice(_local2, 1);
}
public static function testHitFromWater(_arg1:Number, _arg2:Number):Boolean{
var _local3:*;
for (_local3 in enemies) {
if (!enemies[_local3].inEarthquake){
if (Math.abs((_arg1 - enemies[_local3].px)) < enemies[_local3].bounds[0]){
if (Math.abs((_arg2 - enemies[_local3].py)) < enemies[_local3].bounds[1]){
enemies[_local3].startEarthquacke();
return (true);
};
};
};
};
return (false);
}
private static function del():void{
enemies = [];
}
}
}//package code.game.object.level5
Section 132
//LizardMc (code.game.object.level5.LizardMc)
package code.game.object.level5 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
public class LizardMc extends MovieClip {
public var yun_mc:MovieClip;
public function LizardMc(){
Properties.bindObjsForInit.push(objInit);
}
private function objInit():void{
new LizardRec(this.localToGlobal(new Point()), this);
}
}
}//package code.game.object.level5
Section 133
//LizardRec (code.game.object.level5.LizardRec)
package code.game.object.level5 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
public class LizardRec extends Level5QuakeNormal {
private var speedx:int;// = 2
private var acting:Boolean;
private var direction:int;// = -1
private var initWid:Number;
private var lizardMc:MovieClip;
public function LizardRec(_arg1:Point, _arg2:MovieClip){
direction = -1;
speedx = 2;
super(_arg1, _arg2);
getRange(_arg2.parent[("h_" + _arg2.name)]);
this.alwaysRepaint = true;
this.setDisplay(_arg2);
itemNum = AbstractItem.ENEMY;
Properties.map.allParticles[Map.ENEMY].push(this);
Properties.map.group.addParticle(this);
super.paint();
_arg2.addFrameScript(25, stopMove, 31, actionEffect, 35, contineMove);
lizardMc = _arg2;
initWid = this.width;
}
private function getTurn(_arg1:int):void{
lizardMc.scaleX = (-1 * _arg1);
direction = _arg1;
}
override public function paint():void{
var _local1:int;
var _local2:int;
if (haveDie){
super.paint();
testRemove();
return;
};
if (inEarthquake){
countEarthquakeTime();
return;
};
_local1 = Math.abs((DragoRec.dragoRec.py - py));
if (_local1 > 400){
return;
};
_local2 = Math.abs((DragoRec.dragoRec.px - px));
if (_local2 > 600){
return;
};
if (((((((py - DragoRec.dragoRec.py) > 30)) && ((Math.abs((DragoRec.dragoRec.px - px)) < 70)))) && (!(testStop())))){
lizardMc.gotoAndStop("shield");
} else {
if (((!(acting)) && (!(testStop())))){
move();
if (lizardMc.currentFrame >= 40){
contineMove();
};
} else {
if (((acting) && (!(testStop())))){
if (lizardMc.currentFrame >= 40){
contineMove();
acting = false;
};
};
};
super.paint();
if (_local1 > 100){
return;
};
if ((((DragoRec.dragoRec.px > rangeArr[0].x)) && ((DragoRec.dragoRec.px < rangeArr[1].x)))){
speedx = 5;
if (DragoRec.dragoRec.px > px){
getTurn(1);
} else {
getTurn(-1);
};
if (_local2 < 100){
action();
};
} else {
speedx = 2;
};
};
}
private function contineMove():void{
this.width = initWid;
acting = false;
lizardMc.gotoAndPlay(1);
}
private function action():void{
if (((!(acting)) && ((lizardMc.currentFrame < 21)))){
SoundsManager.playSound("enemy_attack");
lizardMc.gotoAndPlay("action");
};
}
private function actionEffect():void{
if (!earthOnlandSuper){
this.width = (initWid * 1.5);
};
}
override protected function getHitByDrago():void{
if (lizardMc.currentFrame >= 40){
DragoRec.dragoRec.drago.getCai();
SoundsManager.playSound("enemy_recovery");
} else {
super.getHitByDrago();
};
}
private function move():void{
px = (px + (direction * speedx));
if (px > rangeArr[1].x){
getTurn(-1);
} else {
if (px < rangeArr[0].x){
getTurn(1);
};
};
}
private function stopMove():void{
acting = true;
}
}
}//package code.game.object.level5
Section 134
//MotionWall (code.game.object.level5.MotionWall)
package code.game.object.level5 {
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
public class MotionWall {
private var nextWall:Sprite;
private var arriveLoc:Point;
private var hei:Number;
private var initLoc:Point;
private var wallCon:Sprite;
private var prevWall:Sprite;
private static var wallClass:Class = (getDefinitionByName("motionWall") as Class);
public function MotionWall(_arg1:Number, _arg2:Sprite){
wallCon = _arg2;
prevWall = new wallClass();
nextWall = new wallClass();
wallCon.addChild(prevWall);
wallCon.addChild(nextWall);
hei = prevWall.height;
initLoc = _arg2.globalToLocal(new Point(0, (hei - 400)));
arriveLoc = _arg2.globalToLocal(new Point(0, 500));
prevWall.x = _arg1;
prevWall.y = initLoc.y;
nextWall.x = _arg1;
nextWall.y = (prevWall.y + hei);
}
public function stopMotion():void{
wallCon.removeChild(prevWall);
wallCon.removeChild(nextWall);
}
public function motion(_arg1:Number):void{
var _local2:Sprite;
prevWall.y = (prevWall.y + _arg1);
nextWall.y = (nextWall.y + _arg1);
if (nextWall.y < arriveLoc.y){
prevWall.y = ((nextWall.y + hei) - 5);
};
_local2 = prevWall;
prevWall = nextWall;
nextWall = _local2;
}
}
}//package code.game.object.level5
Section 135
//PassDeepHoleMc (code.game.object.level5.PassDeepHoleMc)
package code.game.object.level5 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.game.drago.*;
import flash.utils.*;
import code.game.data.*;
public class PassDeepHoleMc extends Sprite {
private const DROP_TIME:int = 140;
private var finalMc2:Sprite;
private var motionRight:MotionWall;
private var curDiamonds:Array;
private var initLoc:Point;
private var diamondIniLoc:Point;
private var routeArrow:MovieClip;
private var dropTime:int;
private var state:int;
private var proCon:Sprite;
private var finalLoc2:Point;
private var diamonds:Array;
private var finalMc:Sprite;
private var interLoc:Point;
private var velocity:Vector;
private var diamondIniLocalLoc:Point;
public var diamondIniLocMc:MovieClip;
private var finalLoc:Point;
private var motionLeft:MotionWall;
private static const GREEN_CLASS:Class = (getDefinitionByName("green") as Class);
public static var mapLocWhenDrop:Point;
public function PassDeepHoleMc(){
diamonds = [];
super();
Properties.bindObjsForInit.push(objInit);
Properties.bindFrameObjs.push(enterFrame);
}
private function getDiamonds(_arg1:int, _arg2:Number):void{
var _local3:MovieClip;
var _local4:DynamicDiamond;
var _local5:int;
if (diamonds[_arg1] == null){
diamonds[_arg1] = [];
_local5 = 0;
while (_local5 < 5) {
_local3 = new GREEN_CLASS();
proCon.addChild(_local3);
_local3.stop();
_local4 = new DynamicDiamond(new Point((diamondIniLoc.x + _arg2), (diamondIniLoc.y + (_local5 * 32))), _local3, new Point((diamondIniLocalLoc.x + _arg2), (diamondIniLocalLoc.y + (_local5 * 32))));
diamonds[_arg1][_local5] = {mc:_local3, dia:_local4};
_local5++;
};
};
curDiamonds = diamonds[_arg1];
getShow();
}
private function locUpdate(_arg1:UserEvent):void{
if (DragoRec.dragoRec.velocity.y > 50){
DragoRec.dragoRec.velocity = new Vector(DragoRec.dragoRec.velocity.x, 50);
};
_arg1.data["minus"] = DragoRec.dragoRec.velocity;
if (dropTime < (DROP_TIME - 10)){
DragoRec.dragoRec.inteChangeLoc = new Vector(0, -(_arg1.data["minus"].y));
};
motionLeft.motion(-(_arg1.data["minus"].y));
motionRight.motion(-(_arg1.data["minus"].y));
Properties.map.level.modifyBackLocY((-(_arg1.data["minus"].y) * 0.03));
mapLocWhenDrop.y = (mapLocWhenDrop.y + (-(_arg1.data["minus"].y) * 0.03));
diamondsMove(0, -(_arg1.data["minus"].y));
}
private function diamondsMove(_arg1:Number=0, _arg2:Number=0):void{
var _local3:*;
if (curDiamonds != null){
for (_local3 in curDiamonds) {
if (curDiamonds[_local3] != null){
curDiamonds[_local3].dia.moving(_arg1, _arg2);
};
};
};
}
private function diamondsToInitLoc():void{
var _local1:*;
var _local2:*;
for (_local1 in diamonds) {
for (_local2 in diamonds[_local1]) {
if ((((diamonds[_local1][_local2].mc.parent == null)) || ((diamonds[_local1][_local2].mc.currentFrame > 1)))){
(diamonds[_local1][_local2] == null);
} else {
diamonds[_local1][_local2].dia.reset();
diamonds[_local1][_local2].mc.visible = false;
};
};
};
}
private function setRouteArrow(_arg1:Boolean):void{
routeArrow.visible = _arg1;
if (_arg1){
routeArrow.play();
} else {
routeArrow.stop();
};
}
private function enterFrame():void{
var _local1:Number;
if (state == 0){
if (DragoRec.dragoRec.py > initLoc.y){
if (Math.abs((DragoRec.dragoRec.px - initLoc.x)) < 100){
mapLocWhenDrop = new Point();
_local1 = (DragoRec.dragoRec.px - initLoc.x);
DragoRec.dragoRec.changePosition = new Vector((interLoc.x + _local1), interLoc.y);
Properties.map.level.modifyX(-(interLoc.x));
Properties.map.level.modifyY(-(interLoc.y));
state = 1;
dropTime = 0;
LevelData.mapTopBot[5][0] = [4175, 0, 0, 563];
if (routeArrow != null){
routeArrow.stop();
if (routeArrow.parent != null){
routeArrow.parent.removeChild(routeArrow);
};
routeArrow = null;
};
};
} else {
if (routeArrow != null){
if (Math.abs((DragoRec.dragoRec.px - initLoc.x)) < 400){
};
};
};
} else {
if (state == 1){
if (DragoRec.dragoRec.py > finalLoc2.y){
DragoRec.dragoRec.sprite.addEventListener("whenLocUpdate", locUpdate, false, 0, true);
velocity = DragoRec.dragoRec.velocity;
state = 2;
motionLeft = new MotionWall(proCon["wallLeft"].x, proCon);
motionRight = new MotionWall(proCon["wallRight"].x, proCon);
curDiamonds = null;
};
} else {
if (state == 2){
dropTime++;
if (dropTime == 15){
getDiamonds(0, 0);
} else {
if (dropTime == 45){
getDiamonds(1, 100);
} else {
if (dropTime == 75){
getDiamonds(2, -100);
} else {
if (dropTime == 105){
getDiamonds(3, -100);
};
};
};
};
if (dropTime >= DROP_TIME){
state = 0;
DragoRec.dragoRec.sprite.removeEventListener("whenLocUpdate", locUpdate);
motionLeft.stopMotion();
motionRight.stopMotion();
LevelData.mapTopBot[5][0] = [3540, 0, 0, 563];
diamondsToInitLoc();
};
};
};
};
}
private function getShow():void{
var _local1:*;
for (_local1 in curDiamonds) {
if (curDiamonds[_local1] != null){
curDiamonds[_local1].mc.visible = true;
};
};
}
private function objInit():void{
var _local1:MovieClip;
this.visible = false;
proCon = (this.parent as Sprite);
finalMc = proCon["level5FinalMc"];
finalMc.visible = false;
finalLoc = finalMc.localToGlobal(new Point());
initLoc = this.localToGlobal(new Point());
interLoc = new Point((finalLoc.x - initLoc.x), (finalLoc.y - initLoc.y));
finalMc2 = proCon["level5FinalMc2"];
finalMc2.visible = false;
finalLoc2 = finalMc2.localToGlobal(new Point());
_local1 = proCon["diamondIniLocMc"];
diamondIniLoc = proCon["diamondIniLocMc"].localToGlobal(new Point());
diamondIniLocalLoc = new Point(_local1.x, _local1.y);
_local1.visible = false;
routeArrow = this.parent["routeArrow"];
setRouteArrow(false);
}
}
}//package code.game.object.level5
Section 136
//PathPlatMc (code.game.object.level5.PathPlatMc)
package code.game.object.level5 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
public class PathPlatMc extends MovieClip {
public var loc3:level5传送平台;
private var speed:Number;// = 5
private var pathPoints:Array;
public var loc1:level5传送平台;
public var loc2:level5传送平台;
public var loc0:MovieClip;
public static const TEST:Boolean = true;
public function PathPlatMc(){
speed = 5;
pathPoints = [];
super();
Properties.bindObjsForInit.push(objinit);
}
private function objinit():void{
var _local1:int;
var _local2:int;
_local2 = 0;
while (_local2 < (this.numChildren - 1)) {
if (_local2 == 1){
speed = 30;
_local1 = pathPoints.length;
} else {
speed = 5;
};
if (_local2 != 1){
Tool.getLinePoint(this[("loc" + _local2)].localToGlobal(new Point()), this[("loc" + (_local2 + 1))].localToGlobal(new Point()), pathPoints, speed);
};
if (_local2 > 0){
this[("loc" + _local2)].visible = false;
};
_local2++;
};
this[("loc" + (this.numChildren - 1))].visible = false;
new PathPlatRec(pathPoints[0], this["loc0"], pathPoints, _local1);
}
}
}//package code.game.object.level5
Section 137
//PathPlatRec (code.game.object.level5.PathPlatRec)
package code.game.object.level5 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import code.game.object.*;
import code.game.drago.*;
import flash.utils.*;
import code.ui.*;
import code.game.data.*;
import code.game.object.level1.*;
public class PathPlatRec extends PathRouteRec {
private var dragoPause:Boolean;
private var thisName:String;
private var defaultTestDragoDie:Function;
private var top0:int;
private var frontMc:MovieClip;
private var forPathPlatSolid:RectangleParticle;
private var arr1:Array;
private var arr0:Array;
public function PathPlatRec(_arg1:Vector, _arg2:MovieClip, _arg3:Array, _arg4:int){
super(_arg1, _arg2, _arg3);
top0 = _arg4;
Properties.map.removeParticle(this, Map.THRU);
leaveTime = 10;
addToGroup();
pfMc.gotoAndStop(1);
forPathPlatSolid = Properties.map.createOneArticle(con.parent[(con.name + "_solid")], AbstractItem.SOLID);
Properties.map.group.addParticle(forPathPlatSolid);
thisName = con.name;
if (thisName == "level5PathPlat0"){
arr0 = [3540, 1063, 0, 563];
arr1 = BridgeRec.mapNormal;
} else {
if (thisName == "level5PathPlat1"){
arr0 = [0, 720, 4091, 145];
arr1 = [470, 0, 2500, 1965];
};
};
}
override public function paint():void{
var _local1:int;
var _local2:int;
super.paint();
switch (curLoc){
case 5:
LevelData.mapTopBot[5][0] = arr0;
if (frontMc == null){
getFrontMc();
};
break;
case ((top0 / 4) * 3):
if (!dragoPause){
disappear();
frontMc.gotoAndPlay(7);
};
break;
case (top0 - 5):
if (dragoPause){
defaultTestDragoDie = Properties.map.level.testDragoDie;
Properties.map.level.testDragoDie = null;
_local1 = (pathPoints[(len - 1)].x - pathPoints[0].x);
_local2 = (pathPoints[(len - 1)].y - pathPoints[0].y);
Properties.map.level.modifyX(-(_local1));
Properties.map.level.modifyY(-(_local2));
LevelData.mapTopBot[5][0] = arr1;
forPathPlatSolid.collidable = false;
if (thisName == "level5PathPlat0"){
Properties.map.level.modifyBackLocY(-(PassDeepHoleMc.mapLocWhenDrop.y));
} else {
if (thisName == "level5PathPlat1"){
Properties.map.layer1.getChildAt(0)["back_out"].visible = true;
UI.playLevelMusic();
};
};
frontMc.gotoAndPlay(7);
};
break;
case (len - 2):
if (dragoPause){
Properties.map.level.testDragoDie = defaultTestDragoDie;
forPathPlatSolid.collidable = true;
DragoRec.dragoRec.drago.setPaused(false);
break;
};
};
}
private function getFrontMc():void{
var _local1:Sprite;
_local1 = (UI.manager.ui_show.uiCon.parent as Sprite);
if (_local1 != null){
frontMc = new (getDefinitionByName("frontBlackMc"));
frontMc.stop();
_local1.addChildAt(frontMc, _local1.getChildIndex(UI.manager.ui_show.uiCon));
};
}
override protected function disappear():void{
if (thisName == "level5PathPlat1"){
if (curLoc == (len - 1)){
} else {
LevelData.mapTopBot[5][0] = BridgeRec.mapNormal;
};
};
dragoPause = false;
super.disappear();
}
override public function hitDrago(_arg1:UserEvent):void{
super.hitDrago(_arg1);
if (!dragoPause){
if ((((curLoc > (top0 / 2))) && ((curLoc < ((top0 / 4) * 3))))){
DragoRec.dragoRec.drago.setPaused(true);
frontMc.gotoAndPlay(1);
dragoPause = true;
};
};
}
}
}//package code.game.object.level5
Section 138
//PedrailThruMc (code.game.object.level5.PedrailThruMc)
package code.game.object.level5 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
public class PedrailThruMc extends Sprite {
public var back_mc:传送带背;
public function PedrailThruMc(){
Properties.bindObjsForInit.push(objInit);
}
private function objInit():void{
new PedrailThruRec(this.localToGlobal(new Point()), this);
}
}
}//package code.game.object.level5
Section 139
//PedrailThruRec (code.game.object.level5.PedrailThruRec)
package code.game.object.level5 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
public class PedrailThruRec extends UserRec {
private var hei:int;
private var curInScreen:Boolean;
private var lastInScreen:Boolean;
private var speedVec:Vector;
private var wid:int;
private var backMc:BitmapMc;
private var obj:Sprite;
public function PedrailThruRec(_arg1:Point, _arg2:Sprite){
super(_arg1.x, _arg1.y, _arg2.width, _arg2.height, 0, true, 1, 0, 0);
itemNum = AbstractItem.MOVE;
this.alwaysRepaint = true;
Properties.map.group.addParticle(this);
Properties.map.allParticles[Map.THRU].push(this);
wid = ((_arg2.width / 2) + 300);
hei = ((_arg2.height / 2) + 200);
this.obj = _arg2;
backMc = _arg2["back_mc"];
if (_arg2.name.slice(-1) == "n"){
speedVec = new Vector(-4, 0);
} else {
speedVec = new Vector(4, 0);
};
this.visible = false;
}
public function hitDrago(_arg1:UserEvent):void{
DragoRec.dragoRec.changePosition = speedVec;
}
private function play(_arg1:Boolean):void{
var _local2:int;
var _local3:MovieClip;
_local2 = 0;
while (_local2 < obj.numChildren) {
_local3 = (obj.getChildAt(_local2) as MovieClip);
if (_local3 != backMc){
if (_arg1){
_local3.play();
} else {
_local3.stop();
};
};
_local2++;
};
}
override public function paint():void{
if ((((Math.abs((DragoRec.dragoRec.px - px)) < wid)) && ((Math.abs((DragoRec.dragoRec.py - py)) < hei)))){
curInScreen = true;
} else {
curInScreen = false;
};
if (curInScreen != lastInScreen){
if (curInScreen){
play(true);
this.visible = true;
} else {
play(false);
this.visible = false;
};
lastInScreen = curInScreen;
};
}
}
}//package code.game.object.level5
Section 140
//RandomBitmapMc (code.game.object.level5.RandomBitmapMc)
package code.game.object.level5 {
import code.*;
public class RandomBitmapMc extends BitmapMc {
public function RandomBitmapMc(){
this.gotoAndPlay(Math.floor((Math.random() * this.totalFrames)));
}
}
}//package code.game.object.level5
Section 141
//RisedWaterMc (code.game.object.level5.RisedWaterMc)
package code.game.object.level5 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
public class RisedWaterMc extends Sprite {
private var initLoc:Point;
private var rised:Number;// = 0
private var wid:Number;
private var localLoc:Point;
private var thruRec0:RectangleParticle;
private var thruRec1:RectangleParticle;
private static var thisMc:RisedWaterMc;
public function RisedWaterMc(){
rised = 0;
super();
Properties.bindObjsForInit.push(objInit);
Properties.bindForDel.push(del);
thisMc = this;
}
private function getRised(_arg1:Number):void{
rised = (rised + _arg1);
initLoc.y = (initLoc.y - _arg1);
localLoc.y = (localLoc.y - _arg1);
this.y = localLoc.y;
thruRec0.py = (thruRec0.py - _arg1);
thruRec0.paint();
thruRec1.py = (thruRec1.py - _arg1);
thruRec1.paint();
}
private function del():void{
thisMc = null;
}
private function objInit():void{
initLoc = this.localToGlobal(new Point());
localLoc = new Point(this.x, this.y);
wid = (this.width / 2);
thruRec0 = Properties.map.createOneArticle(this.parent["thruRec0"], AbstractItem.THRU);
Properties.map.allParticles[Map.THRU].push(thruRec0);
Properties.map.group.addParticle(thruRec0);
thruRec0.setDisplay(this.parent["thruRec0"]);
thruRec1 = Properties.map.createOneArticle(this.parent["thruRec1"], AbstractItem.THRU);
Properties.map.allParticles[Map.THRU].push(thruRec1);
Properties.map.group.addParticle(thruRec1);
thruRec1.setDisplay(this.parent["thruRec1"]);
}
public static function testHitFromWater(_arg1:Number, _arg2:Number):Boolean{
if (thisMc != null){
if (thisMc.rised < 88){
if (_arg2 > thisMc.initLoc.y){
if (Math.abs((_arg1 - thisMc.initLoc.x)) < thisMc.wid){
thisMc.getRised(0.15);
return (true);
};
};
};
};
return (false);
}
}
}//package code.game.object.level5
Section 142
//SuperPowerWater (code.game.object.level5.SuperPowerWater)
package code.game.object.level5 {
import flash.events.*;
import flash.display.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
import code.game.object.level2.*;
import flash.utils.*;
import code.game.data.*;
public class SuperPowerWater extends SuperPower {
private var timer:Timer;
private var insideDragoMc:MovieClip;
public static var superPowerWater:SuperPowerWater;
public function SuperPowerWater(){
super(this);
superDragoStr = "dragoMcCla5";
timer = new Timer(50);
timer.addEventListener(TimerEvent.TIMER, createWater);
}
override protected function pressOnLandUpFun():void{
DragoRec.dragoRec.onCollistion2 = null;
DragoRec.dragoRec.drago.changeState("stand");
_onStandSuper = false;
stopWater();
}
private function startWater():void{
timer.start();
}
private function toWaterState():void{
DragoRec.dragoRec.drago.getleftRight = [];
DragoRec.dragoRec.drago.changeState("water");
insideDragoMc = DragoRec.dragoRec.drago.insideMc;
insideDragoMc.addFrameScript(3, startWater);
insideDragoMc.gotoAndPlay(4);
_onStandSuper = true;
}
override public function toSuperState():void{
super.toSuperState();
normal_drago = DragoRec.dragoRec.drago.switchDrago(superDrago);
DragoRec.dragoRec.drago.setStateSpeed(1, 1);
DragoRec.dragoRec.drago.setBoundNumRate(1);
DragoRec.dragoRec.drago.superKeyOnLand = pressOnLandFun;
DragoRec.dragoRec.drago.superKeyOnLandUp = pressOnLandUpFun;
DragoRec.dragoRec.drago.superKeyOnAir = null;
DragoRec.dragoRec.onGotLand = gotLandFun;
SuperPower._pressOnAirGotLand = null;
}
override protected function pressOnLandFun():void{
if (DragoRec.dragoRec.onCollistion2 != toWaterState){
DragoRec.dragoRec.onCollistion2 = toWaterState;
};
}
private function stopWater():void{
if (insideDragoMc != null){
insideDragoMc.stop();
timer.stop();
};
SoundsManager.stopSound("drago_water");
}
override protected function bindObjDel():void{
if (SuperPower.curSuperPower == this){
super.bindObjDel();
timer.stop();
switch (LevelData.curState){
case LevelData.TO_NEXT_PART:
break;
case LevelData.LEVEL_FAILED:
if ((((LevelData.curLevel == 5)) && ((LevelData.curMiniLevel == 0)))){
SuperPower.curSuperPower = null;
} else {
if ((((LevelData.curLevel == 5)) && ((LevelData.curMiniLevel == 1)))){
SuperPower.curSuperPower = SuperPowerEarth.superPowerEarth;
};
};
break;
case LevelData.WORLD_COMPLETE:
break;
};
};
}
private function createWater(_arg1:TimerEvent):void{
SoundsManager.stopSound("drago_water");
SoundsManager.playSound("drago_water");
new DragoWater(insideDragoMc, superDrago);
}
public static function toSuper():void{
if ((curSuperPower is SuperPowerWater)){
return;
};
if (superPowerWater == null){
superPowerWater = new (SuperPowerWater);
};
superPowerWater.toSuperState();
}
}
}//package code.game.object.level5
Section 143
//SuperToPlatFormMc (code.game.object.level5.SuperToPlatFormMc)
package code.game.object.level5 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
public class SuperToPlatFormMc extends MovieClip {
public var recRange:MovieClip;
public var platform_mc:level5断裂平台;
public function SuperToPlatFormMc(){
Properties.bindObjsForInit.push(objInit);
}
private function objInit():void{
var _local1:RectangleParticle;
_local1 = Properties.map.createOneArticle(this["recRange"], AbstractItem.SOLID);
Properties.map.group.addParticle(_local1);
Properties.map.allParticles[Map.SOLID].push(_local1);
this["recRange"].visible = false;
new SuperToPlatFormRec(this["platform_mc"].localToGlobal(new Point()), this["platform_mc"], _local1);
}
}
}//package code.game.object.level5
Section 144
//SuperToPlatFormRec (code.game.object.level5.SuperToPlatFormRec)
package code.game.object.level5 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.object.level2.*;
public class SuperToPlatFormRec extends SuperToWoodRec {
private var rangeRec:RectangleParticle;
public function SuperToPlatFormRec(_arg1:Point, _arg2:MovieClip, _arg3:RectangleParticle):void{
super(_arg1, _arg2);
_arg2.stop();
this.rangeRec = _arg3;
}
override protected function stepOn():void{
SoundsManager.playSound("bridge_break");
obj.play();
otherSuper();
Properties.map.removeParticle(this, Map.SOLID);
Properties.map.removeParticle(rangeRec, Map.SOLID);
}
}
}//package code.game.object.level5
Section 145
//TorchRec (code.game.object.level5.TorchRec)
package code.game.object.level5 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.game.enemy.*;
public class TorchRec extends Normal {
private var direction:int;
private var globalLoc:Point;
private var torchMc:Sprite;
private var timeInt:int;
public function TorchRec(_arg1:Point, _arg2:int, _arg3:Sprite):void{
super(_arg1, _arg3, true, 1000);
this.setDisplay(_arg3);
this.alwaysRepaint = true;
itemNum = AbstractItem.ENEMY;
Properties.map.group.addParticle(this);
Properties.map.allParticles[Map.ENEMY].push(this);
direction = _arg2;
if (direction == 1){
_arg3.scaleY = -1;
};
_arg3.rotation = ((direction == -1)) ? 165 : 15;
torchMc = _arg3;
this.collidable = false;
}
override public function paint():void{
super.paint();
if (timeInt < 15){
timeInt++;
if (timeInt >= 15){
this.collidable = true;
};
};
px = (px + (direction * 12));
if (torchMc != null){
torchMc.rotation = (torchMc.rotation + (direction * 20));
};
globalLoc = this.sprite.localToGlobal(new Point(0, 0));
if ((((((globalLoc.x < -50)) || ((globalLoc.x > 630)))) || ((globalLoc.y > 500)))){
del();
};
}
override public function hitDrago(_arg1:UserEvent, _arg2:RectangleParticle):Vector{
_arg1.data["mtd"].y = 0;
Properties.map.removeFromMap(this, Map.ENEMY);
this.collidable = false;
this.fixed = false;
direction = 0;
return (super.hitDrago(_arg1, _arg2));
}
}
}//package code.game.object.level5
Section 146
//Boss0 (code.game.object.level6.Boss0)
package code.game.object.level6 {
import flash.events.*;
import flash.display.*;
import org.cove.ape.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
import code.game.object.level2.*;
import flash.utils.*;
import code.ui.*;
public class Boss0 extends BossAbs {
private var hands:Array;
private var lastHandHit:Boolean;
private var bottomPlatRec:RectangleParticle;
private var noAttemptInt:int;
private var curHand:int;
private var hitRec:Boss0HitRec;
private static const IN_DARK:String = "indark";
private static const GET_HURT:String = "gethurt";
private static const NORMAL:String = "normal";
public function Boss0(_arg1:Point, _arg2:MovieClip){
var _local3:Sprite;
hands = [];
super(_arg1, _arg2);
bossMc = _arg2;
bossMc.parent.addEventListener("allLighten", allLighten, false, 0, true);
TorchLight.darkMc = bossMc.parent["dark_mc"];
TorchLight.darkMc.visible = false;
statesInit();
inDarkInit();
getRange(bossMc.parent["boss_range"]);
_local3 = bossMc["hitRange"];
hitRec = new Boss0HitRec(_local3.localToGlobal(new Point()), _local3, this);
Properties.map.group.addParticle(this);
this.alwaysRepaint = true;
this.collidable = false;
this.setDisplay(bossMc);
Properties.bindForDel.push(confirmDel);
super.paint();
UI._root.addEventListener("dialogOver", start, false, 0, true);
Earthquake.earthquakeFuns.push(earthquake);
createBottomRec();
}
private function inDarkInit():void{
var _local1:Sprite;
var _local2:int;
var _local3:MovieClip;
EyeShadow.eyes = [];
_local1 = stateMcs[IN_DARK]["bossHead"];
_local2 = 1;
while (_local2 <= 5) {
EyeShadow.eyes[(_local2 - 1)] = [];
new EyeShadow(_local1[(("eye" + _local2) + "0")], (_local2 - 1));
new EyeShadow(_local1[(("eye" + _local2) + "1")], (_local2 - 1));
_local2++;
};
_local2 = 0;
while (_local2 < 2) {
_local3 = stateMcs[IN_DARK][("hand" + _local2)];
_local3.stop();
_local3.visible = false;
_local3.addFrameScript(17, boss_hand_attack, 18, testHitDrago, (_local3.totalFrames - 1), handOver);
hands.push(_local3);
_local2++;
};
}
override public function del():void{
super.del();
EyeShadow.eyes = [];
hitRec.del();
}
private function stopDarkMoveSound():void{
SoundsManager.stopSound("boss_move");
}
private function normalAttack():void{
SoundsManager.playSound("boss_black_attack");
calSpeedRate();
curStateMc.gotoAndPlay(1);
speedRate = (speedRate / 40);
inAttack = true;
}
private function playDarkMoveSound():void{
stopDarkMoveSound();
SoundsManager.playSound("boss_move");
}
private function modifyEyeShadow(_arg1:Number=0):void{
}
private function confirmDel():void{
del();
TorchLight.darkMc = null;
TorchLight.lights = [];
}
override protected function calReverse():void{
if (curState == IN_DARK){
return;
};
super.calReverse();
}
private function handOver():void{
var _local1:*;
for (_local1 in hands) {
hands[_local1].gotoAndStop(1);
hands[_local1].visible = false;
};
inAttack = false;
if (lastHandHit){
calSpeedRate(false);
noAttemptInt = 60;
lastHandHit = false;
} else {
noAttemptInt = 30;
calSpeedRate();
};
}
override protected function statesInit():void{
states = [IN_DARK, GET_HURT, NORMAL];
super.statesInit();
stateMcs[NORMAL].addFrameScript(20, calReverse);
stateMcs[NORMAL].addFrameScript((stateMcs[NORMAL].totalFrames - 1), normalAttackOver);
stateMcs[NORMAL].addFrameScript((stateMcs[NORMAL].totalFrames - 11), startDark);
}
private function startDark():void{
var _local1:MovieClip;
var _local2:Point;
_local1 = new (getDefinitionByName("startDarkMc"));
if (bossMc.parent != null){
bossMc.parent.addChildAt(_local1, 0);
_local2 = bossMc.parent.globalToLocal(curStateMc.localToGlobal(new Point(-16, 80)));
_local1.x = _local2.x;
_local1.y = _local2.y;
};
}
private function bombDrago():void{
var _local1:Vector;
DragoRec.dragoRec.drago.setPaused(true, 5);
_local1 = new Vector(-6, -5);
_local1.x = ((DragoRec.dragoRec.px > this.px)) ? 6 : -6;
if (px < rangeArr[0].x){
_local1.x = 6;
} else {
if (px > rangeArr[1].x){
_local1.x = -6;
};
};
DragoRec.dragoRec.velocity = _local1;
}
private function boss_hand_attack():void{
SoundsManager.playSound("boss_hand_attack");
}
override public function paint():void{
if (haveDie){
if (py > 600){
del();
startNext();
};
super.paint();
return;
};
if ((((curState == IN_DARK)) || ((curState == NORMAL)))){
if (speedRate == 0){
return;
};
run();
if (noAttemptInt > 0){
noAttemptInt--;
if (noAttemptInt <= 0){
calSpeedRate();
if (curState == IN_DARK){
playDarkMoveSound();
};
};
return;
};
testAttack();
} else {
if (curState == GET_HURT){
hurtTime++;
if (hurtTime > 300){
hurtToNormal();
hurtTime = 0;
} else {
if ((((hurtTime == 150)) && ((curStateMc.currentFrame <= 14)))){
hurtToNormal();
hurtTime = 0;
};
};
};
};
}
private function darkAttack(_arg1:int):void{
stopDarkMoveSound();
hands[_arg1].visible = true;
hands[_arg1].play();
curHand = _arg1;
speedRate = (speedRate / 40);
inAttack = true;
}
private function allLighten(_arg1:Event):void{
if (curState == IN_DARK){
SoundsManager.playSound("boss_injured");
changeState(GET_HURT);
curStateMc.gotoAndPlay(1);
hurtTime = 0;
};
}
private function startNext():void{
var blackMc:MovieClip;
var lastFun:Function;
lastFun = function ():void{
UI.dispatchFun(prosCon, "levelComplete");
blackMc.stop();
if (blackMc.parent != null){
blackMc.parent.removeChild(blackMc);
};
blackMc = null;
};
blackMc = new (getDefinitionByName("levelMapBlack"));
blackMc.x = 290;
blackMc.y = 190;
UI.uiCon.addChild(blackMc);
blackMc.addFrameScript((blackMc.totalFrames - 1), lastFun);
}
private function start(_arg1:Event):void{
var _local2:Sprite;
UI._root.removeEventListener("dialogOver", start);
changeState(NORMAL);
setTimeout(normalAttack, 700);
_local2 = UI.manager.ui_show.uiCon;
_local2.addChildAt(healthCon, (_local2.numChildren - 2));
healthCon.x = 290;
healthCon.y = 70;
}
override protected function die():void{
UI.stopMusic();
super.die();
hitRec.addToGroup(false);
Properties.map.group.removeParticle(bottomPlatRec);
prosCon["bottomPlat"].visible = false;
Properties.map.level.testDragoDie = null;
}
private function run():void{
var _local1:Point;
px = (px + speedRate);
hitRec.px = px;
if (curState == IN_DARK){
modifyEyeShadow(speedRate);
} else {
if (curState == NORMAL){
py = (py + curSpeedy);
if ((((py > (inity + 20))) || ((py < (inity - 20))))){
curSpeedy = (curSpeedy * -1);
};
};
};
super.paint();
if ((((((Math.abs(speedRate) < 15)) && ((Math.abs(speedRate) > 2)))) && (!(inAttack)))){
speedRate = (speedRate + accRate);
};
if (Math.random() > 0.8){
calAccRate();
};
_local1 = bossMc.localToGlobal(new Point());
if ((((_local1.x < 0)) || ((_local1.x > 580)))){
calSpeedRate();
if (curState == IN_DARK){
playDarkMoveSound();
};
};
}
private function hurtToNormal():void{
changeState(NORMAL);
calSpeedRate(false);
noAttemptInt = 100;
curStateMc.gotoAndStop(1);
hitRec.addToGroup(false);
}
private function testAttack():void{
var _local1:int;
if (inAttack){
return;
};
if (curState == IN_DARK){
_local1 = Math.abs((DragoRec.dragoRec.px - px));
if ((((_local1 > 40)) && ((_local1 < 130)))){
if (DragoRec.dragoRec.px > px){
darkAttack(1);
} else {
darkAttack(0);
};
};
} else {
if (curState == NORMAL){
_local1 = Math.abs((DragoRec.dragoRec.px - px));
if ((((_local1 > 40)) && ((_local1 < 200)))){
normalAttack();
};
};
};
}
override public function hitByDrago():void{
SoundsManager.playSound("boss_injured");
hitByDragoTimes++;
curStateMc.gotoAndPlay("starthurt");
refreshHealth(9);
if (hitByDragoTimes >= 3){
hurtToNormal();
hitByDragoTimes = 0;
};
}
private function normalAttackOver():void{
curStateMc.gotoAndStop(1);
noAttemptInt = 50;
changeState(IN_DARK);
calSpeedRate();
playDarkMoveSound();
TorchLight.putoutAll();
inAttack = false;
py = inity;
super.paint();
EyeShadow.locBack();
}
private function testHitDrago():void{
if (DragoRec.dragoRec.drago.notInAlpha){
if (curStateMc[("hitRange" + curHand)] != null){
if (DragoRec.dragoRec.sprite.hitTestObject(curStateMc[("hitRange" + curHand)])){
lastHandHit = true;
bombDrago();
};
};
};
}
override protected function changeState(_arg1:String):void{
super.changeState(_arg1);
EyeShadow.allVisible = false;
}
private function createBottomRec():void{
bottomPlatRec = Properties.map.createOneArticle(prosCon["bottomPlat"], AbstractItem.SOLID);
Properties.map.group.addParticle(bottomPlatRec);
}
private function earthquake():void{
if ((((curState == GET_HURT)) && ((curStateMc.currentFrame <= 14)))){
SoundsManager.playSound("boss_injured");
refreshHealth(10);
curStateMc.gotoAndPlay("startfall");
hitRec.addToGroup(true);
hitByDragoTimes = 0;
hurtTime = 0;
};
}
}
}//package code.game.object.level6
Section 147
//Boss0HitRec (code.game.object.level6.Boss0HitRec)
package code.game.object.level6 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
import flash.utils.*;
import code.game.enemy.*;
public class Boss0HitRec extends Normal {
private var boss0:BossAbs;
public function Boss0HitRec(_arg1:Point, _arg2:Sprite, _arg3:Boss0){
super(_arg1, _arg2);
this.boss0 = _arg3;
_arg2.visible = false;
this.collidable = true;
this.itemNum = AbstractItem.ENEMY;
Properties.map.allParticles[Map.THRU].push(this);
}
override public function del():void{
Properties.map.removeFromMap(this, Map.THRU);
}
private function dragoBounce():void{
DragoRec.dragoRec.velocity = new Vector(0, -20);
}
function addToGroup(_arg1:Boolean):void{
if (_arg1){
Properties.map.group.addParticle(this);
} else {
Properties.map.group.removeParticle(this);
};
}
override public function hitDrago(_arg1:UserEvent, _arg2:RectangleParticle):Vector{
if ((_arg2 is DragoRec)){
SoundsManager.playSound("enemy_step_on_die");
setTimeout(dragoBounce, 5);
(_arg2 as DragoRec).drago.getCai();
boss0.hitByDrago();
getScoreShow(score);
};
return (new Vector());
}
}
}//package code.game.object.level6
Section 148
//Boss0Mc (code.game.object.level6.Boss0Mc)
package code.game.object.level6 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
public class Boss0Mc extends MovieClip {
public var hitRange:MovieClip;
public var indark_mc:MovieClip;
public var gethurt_mc:MovieClip;
public var normal_mc:MovieClip;
public function Boss0Mc(){
Properties.bindObjsForInit.push(objInit);
}
private function objInit():void{
new Boss0(this.localToGlobal(new Point(0, 0)), this);
}
}
}//package code.game.object.level6
Section 149
//Boss1 (code.game.object.level6.Boss1)
package code.game.object.level6 {
import flash.events.*;
import flash.display.*;
import org.cove.ape.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.object.level5.*;
import flash.utils.*;
import code.ui.*;
import code.game.data.*;
public class Boss1 extends BossAbs {
private var speedp:Point;
private var curTime:int;
private var hurty:Number;
private var toalTime:int;
private var hitRec:Boss1HitRec;
private static const DEAD:String = "dead";
private static const SKY_ATTACK:String = "sky_attack";
private static const NORMAL:String = "normal";
private static const GET_HURT:String = "gethurt";
public function Boss1(_arg1:Point, _arg2:MovieClip){
var _local3:Sprite;
super(_arg1, _arg2);
hurty = (_arg1.y + 100);
bossMc = _arg2;
RisedPlat.platsInit(prosCon);
LaserAttack.init(prosCon);
getRange(bossMc.parent["boss_range"]);
_local3 = bossMc["hitRange"];
hitRec = new Boss1HitRec(_local3.localToGlobal(new Point()), _local3, this);
Properties.map.group.addParticle(this);
this.alwaysRepaint = true;
this.collidable = false;
this.setDisplay(bossMc);
Properties.bindForDel.push(confirmDel);
super.paint();
statesInit();
setTimeout(start, 30);
}
override public function del():void{
super.del();
RisedPlat.del();
FireMc.delAllFires();
hitRec.del();
}
private function laserAttack():void{
RisedPlat.risePlats();
LaserAttack.startAttack(bossMc);
}
private function toDie():void{
this.fixed = false;
massForce = new Vector(0, 2.5);
masslessForce = new Vector(0, 4.5);
this.velocity = new Vector(0, -25);
}
private function normalRun():void{
var _local1:Point;
bossRunning(speedRate, 0);
if (curState == NORMAL){
py = (py + curSpeedy);
if ((((py > (inity + 3))) || ((py < (inity - 40))))){
curSpeedy = (curSpeedy * -1);
};
};
if ((((((Math.abs(speedRate) < 15)) && ((Math.abs(speedRate) > 2)))) && (!(inAttack)))){
speedRate = (speedRate + accRate);
};
if (Math.random() > 0.8){
calAccRate();
};
_local1 = bossMc.localToGlobal(new Point());
if ((((_local1.x < 0)) || ((_local1.x > 580)))){
calSpeedRate();
};
}
private function lastFun():void{
curStateMc.stop();
}
private function bossExplosion():void{
SoundsManager.playSound("bomb_s");
}
override protected function statesInit():void{
states = [GET_HURT, NORMAL, DEAD];
super.statesInit();
stateMcs[GET_HURT].addFrameScript(13, null);
}
private function confirmDel():void{
del();
}
override public function paint():void{
if (haveDie){
if (py > 500){
del();
};
super.paint();
return;
};
if (curState == NORMAL){
if (curTime < toalTime){
curTime++;
if (curTime == 30){
hitRec.addToGroup(true);
hitRec.toNormal();
};
} else {
toSkyAttack();
};
if (speedRate == 0){
return;
};
normalRun();
} else {
if (curState == SKY_ATTACK){
if (curTime == 1){
if (py > (inity - 600)){
bossRunning(speedp.x, speedp.y);
} else {
laserAttack();
curTime = 2;
speedp = new Point((int((Math.random() - 0.5)) * 5), int(((Math.random() * 5) + 10)));
};
} else {
if (curTime > 1){
curTime++;
if (curTime > 150){
bossRunning(speedp.x, speedp.y);
};
if (py > inity){
curTime = 0;
toNormalState();
};
};
};
} else {
if (curState == GET_HURT){
curTime++;
if (curTime > 350){
hurtToNormal();
};
};
};
};
}
private function start():void{
var _local1:Sprite;
var _local2:Sprite;
var _local3:Sprite;
toNormalState();
toalTime = 100;
_local1 = UI.manager.ui_show.uiCon;
_local1.addChildAt(healthCon, (_local1.numChildren - 2));
healthCon.x = 290;
healthCon.y = 70;
_local2 = prosCon["_aaa0"];
_local2.visible = false;
_local3 = prosCon["_aaa1"];
_local3.visible = false;
}
override protected function die():void{
var _local1:Point;
var _local2:int;
var _local3:Array;
var _local4:Array;
var _local5:int;
var _local6:int;
UI.stopMusic();
_local1 = bossMc.localToGlobal(new Point());
_local2 = (_local1.x - 450);
if (_local2 > 0){
bossRunning(-(_local2));
};
_local2 = (_local1.x - 130);
if (_local2 < 0){
bossRunning(-(_local2));
};
hitRec.collidable = false;
hitRec.addToGroup(false);
hitRec.del();
changeState(DEAD);
SoundsManager.playSound("boss_injured");
curStateMc.addFrameScript(70, toDie, (curStateMc.totalFrames - 1), lastFun);
curStateMc.gotoAndPlay(1);
_local3 = [0, 34, 54];
_local4 = [0, 3, 5, 8, 11];
_local5 = 0;
while (_local5 < 3) {
_local6 = 0;
while (_local6 < 5) {
curStateMc.addFrameScript((_local3[_local5] + _local4[_local6]), bossExplosion);
_local6++;
};
_local5++;
};
haveDie = true;
LevelData.mapTopBot[LevelData.curLevel][LevelData.curMiniLevel] = [0, 0, 0, 728];
prosCon.dispatchEvent(new Event("bossDie"));
trace("boss die");
FireMc.delAllFires();
}
private function hurtToNormal():void{
toNormalState();
toalTime = 35;
bossRunning(0, (inity - hurty));
}
private function toSkyAttack():void{
curTime = 1;
speedp = new Point((int((Math.random() - 0.5)) * 5), -(int(((Math.random() * 5) + 10))));
curState = SKY_ATTACK;
}
override protected function calSpeedRate(_arg1:Boolean=true):void{
super.calSpeedRate(_arg1);
speedRate = (speedRate / 2);
}
private function toNormalState():void{
changeState(NORMAL);
calSpeedRate(false);
curTime = 0;
toalTime = ((Math.random() * 50) + 250);
}
function getHurt():void{
if (curState == NORMAL){
SoundsManager.playSound("boss_injured");
changeState(GET_HURT);
curStateMc.gotoAndPlay(1);
curTime = 0;
RisedPlat.disappearPlats();
hitByDragoTimes = 0;
bossRunning(0, (hurty - py));
};
}
override public function hitByDrago():void{
SoundsManager.playSound("boss_injured");
if (curStateMc.currentFrame >= 20){
curStateMc.gotoAndPlay("starthurt");
};
refreshHealth(5);
if (haveDie){
return;
};
hitByDragoTimes++;
if (hitByDragoTimes >= 3){
hurtToNormal();
hitRec.addToGroup(false);
hitByDragoTimes = 0;
};
}
private function bossRunning(_arg1:Number=0, _arg2:Number=0):void{
px = (px + _arg1);
py = (py + _arg2);
hitRec.px = (px + hitRec.adjustp.x);
hitRec.py = (py + hitRec.adjustp.y);
hitRec.paint();
super.paint();
}
}
}//package code.game.object.level6
Section 150
//Boss1HitRec (code.game.object.level6.Boss1HitRec)
package code.game.object.level6 {
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import code.game.drago.*;
import flash.utils.*;
import code.game.enemy.*;
public class Boss1HitRec extends Normal {
private var hurt:Boolean;
private var boss:Boss1;
var adjustp:Point;
public function Boss1HitRec(_arg1:Point, _arg2:Sprite, _arg3:Boss1){
super(_arg1, _arg2);
adjustp = new Point((_arg1.x - _arg3.px), (_arg1.y - _arg3.py));
this.boss = _arg3;
_arg2.visible = false;
this.collidable = true;
this.itemNum = AbstractItem.ENEMY;
Properties.map.allParticles[Map.THRU].push(this);
addToGroup(true);
}
override public function del():void{
Properties.map.removeFromMap(this, Map.THRU);
}
private function dragoBounce():void{
DragoRec.dragoRec.velocity = new Vector(0, -20);
}
function toNormal():void{
if (hurt){
adjustp.y = (adjustp.y - 150);
hurt = false;
};
}
function addToGroup(_arg1:Boolean):void{
if (_arg1){
Properties.map.group.addParticle(this);
} else {
Properties.map.group.removeParticle(this);
};
}
override public function hitDrago(_arg1:UserEvent, _arg2:RectangleParticle):Vector{
if ((_arg2 is DragoRec)){
SoundsManager.playSound("enemy_step_on_die");
setTimeout(dragoBounce, 5);
(_arg2 as DragoRec).drago.getCai();
boss.hitByDrago();
getScoreShow(score);
};
if (!hurt){
adjustp.y = (adjustp.y + 150);
hurt = true;
boss.getHurt();
};
return (new Vector());
}
}
}//package code.game.object.level6
Section 151
//Boss1Mc (code.game.object.level6.Boss1Mc)
package code.game.object.level6 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
public class Boss1Mc extends MovieClip {
public var dead_mc:dead;
public var hitRange:MovieClip;
public var gethurt_mc:MovieClip;
public var normal_mc:MovieClip;
public function Boss1Mc(){
Properties.bindObjsForInit.push(objInit);
}
private function objInit():void{
new Boss1(this.localToGlobal(new Point(0, 0)), this);
}
}
}//package code.game.object.level6
Section 152
//BossAbs (code.game.object.level6.BossAbs)
package code.game.object.level6 {
import flash.events.*;
import flash.display.*;
import org.cove.ape.*;
import flash.geom.*;
import code.game.object.*;
import code.game.drago.*;
public class BossAbs extends UserRec {
protected var accRate:Number;// = 0
protected var states:Array;
protected var curState:String;
protected var hitByDragoTimes:int;
protected var prosCon:Sprite;
protected var stateMcs:Array;
protected var health:Sprite;
protected var inity:Number;
protected var hurtTime:int;
protected var healthCon:Sprite;
protected var healthNum:int;// = 100
protected var curSpeedy:Number;// = 2
protected var curStateMc:MovieClip;
protected var speedRate:Number;// = -1
protected var inAttack:Boolean;
protected var bossMc:MovieClip;
protected var haveDie:Boolean;
public function BossAbs(_arg1:Point, _arg2:MovieClip){
states = [];
speedRate = -1;
accRate = 0;
healthNum = 100;
curSpeedy = 2;
super(_arg1.x, _arg1.y, (_arg2.width * 0.8), (_arg2.height * 0.8), 0, true);
prosCon = (_arg2.parent as Sprite);
inity = _arg1.y;
healthCon = _arg2.parent["health_mc"];
health = healthCon["health"];
}
override public function del():void{
this.fixed = true;
Properties.map.group.removeParticle(this);
if (healthCon.parent != null){
healthCon.parent.removeChild(healthCon);
};
}
protected function hideAllState():void{
var _local1:*;
for (_local1 in stateMcs) {
if (stateMcs[_local1]){
stateMcs[_local1].gotoAndStop(1);
stateMcs[_local1].visible = false;
};
};
}
protected function refreshHealth(_arg1:Number):void{
healthNum = (healthNum - _arg1);
if (healthNum <= 0){
die();
healthNum = 0;
};
health.scaleX = (healthNum / 100);
}
protected function calReverse():void{
if (speedRate > 0){
curStateMc.scaleX = -1;
} else {
curStateMc.scaleX = 1;
};
}
protected function statesInit():void{
var _local1:*;
stateMcs = [];
for (_local1 in states) {
stateMcs[states[_local1]] = bossMc[(states[_local1] + "_mc")];
};
hideAllState();
}
protected function calAccRate():void{
var _local1:Number;
_local1 = Math.random();
accRate = ((_local1 / 10) + 0.05);
if (_local1 > 0.5){
accRate = (accRate * -1);
};
}
protected function die():void{
this.fixed = false;
haveDie = true;
this.velocity = new Vector(0, -25);
massForce = new Vector(0, 2.5);
masslessForce = new Vector(0, 4.5);
prosCon.dispatchEvent(new Event("bossDie"));
}
protected function calSpeedRate(_arg1:Boolean=true):void{
speedRate = ((Math.random() * 3) + 5);
if (DragoRec.dragoRec.px < px){
speedRate = (speedRate * -1);
};
if (!_arg1){
speedRate = (speedRate * -1);
};
calReverse();
calAccRate();
}
public function hitByDrago():void{
}
protected function changeState(_arg1:String):void{
if (curStateMc != null){
curStateMc.gotoAndStop(1);
};
hideAllState();
curStateMc = stateMcs[_arg1];
curStateMc.visible = true;
curStateMc.gotoAndStop(1);
curState = _arg1;
calReverse();
}
}
}//package code.game.object.level6
Section 153
//EyeShadow (code.game.object.level6.EyeShadow)
package code.game.object.level6 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import flash.utils.*;
public class EyeShadow {
private var eye0:Sprite;
private var initLoc:Point;
private var index:int;
private var eyeMc:Sprite;
private var curloc:Point;
private var left:int;// = -1
public static const initDelay:int = 20;
public static var eyes:Array = [];
public function EyeShadow(_arg1:Sprite, _arg2:int){
left = -1;
super();
Properties.bindForDel.push(del);
this.eyeMc = _arg1;
this.index = _arg2;
eyes[_arg2].push(this);
left = int(_arg1.name.slice(-1));
eye0 = _arg1.parent[("eye0" + left)];
objInit();
Properties.map.mapCon.addChild(_arg1);
}
private function startTimer():void{
}
function set visible(_arg1:Boolean):void{
eyeMc.visible = false;
}
public function modifyLoc(_arg1:Number=0, _arg2:Number=0):void{
curloc.x = (curloc.x + _arg1);
curloc.y = (initLoc.y + _arg2);
eyeMc.x = curloc.x;
eyeMc.y = curloc.y;
if ((((index < (eyes.length - 1))) && ((left == 0)))){
if (_arg2 == 0){
modifyNext((index + 1), (initDelay + ((index + 1) * 2)), _arg1);
};
};
}
private function objInit():void{
eyeMc.visible = false;
initLoc = Properties.map.mapCon.globalToLocal(eye0.localToGlobal(new Point()));
eyeMc.x = initLoc.x;
eyeMc.y = initLoc.y;
curloc = new Point(initLoc.x, initLoc.y);
}
public static function set allVisible(_arg1:Boolean):void{
var _local2:*;
var _local3:*;
for (_local2 in eyes) {
for (_local3 in eyes[_local2]) {
eyes[_local2][_local3].visible = _arg1;
};
};
}
public static function locBack():void{
var _local1:*;
var _local2:*;
for (_local1 in eyes) {
for (_local2 in eyes[_local1]) {
eyes[_local1][_local2].objInit();
eyes[_local1][_local2].visible = true;
};
};
}
private static function del():void{
eyes = [];
}
public static function modifyNext(_arg1:int, _arg2:int, _arg3:Number=0, _arg4:Number=0):void{
setTimeout(EyeShadow.eyes[_arg1][0].modifyLoc, _arg2, _arg3, _arg4);
setTimeout(EyeShadow.eyes[_arg1][1].modifyLoc, _arg2, _arg3, _arg4);
}
}
}//package code.game.object.level6
Section 154
//LaserAttack (code.game.object.level6.LaserAttack)
package code.game.object.level6 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import code.*;
import flash.utils.*;
public class LaserAttack {
private static const FIRE_CLASS:Class = (getDefinitionByName("level6_huo") as Class);
private static var laserMc:MovieClip;
private static var parcon:Sprite;
private static var fireLocs:Array = [];
static function startAttack(_arg1:Sprite):void{
var _local2:Point;
var _local3:Number;
playLaserSound();
_local2 = _arg1.localToGlobal(new Point());
if (_local2.x < -200){
_local2.x = -200;
} else {
if (_local2.x > 780){
_local2.x = 780;
};
};
_local3 = (Math.random() + 0.8);
if (_local3 > 1){
_local3 = 1;
};
if (_local2.x > 300){
_local3 = (_local3 * -1);
};
_local2 = parcon.globalToLocal(_local2);
laserMc.scaleX = _local3;
laserMc.visible = true;
laserMc.x = _local2.x;
parcon.addChild(laserMc);
laserMc.gotoAndPlay(1);
}
private static function del():void{
laserMc.stop();
parcon = null;
laserMc = null;
fireLocs = [];
}
static function init(_arg1:Sprite):void{
var i:int;
var j:int;
var lastFun:Function;
var con = _arg1;
lastFun = function ():void{
laserMc.gotoAndStop(1);
laserMc.visible = false;
};
Properties.bindForDel.push(del);
parcon = con;
laserMc = con["laserMc"];
laserMc.stop();
laserMc.visible = false;
con.removeChild(laserMc);
laserMc.y = (laserMc.y - 200);
fireLocs = [];
i = 20;
j = 0;
while (i <= 38) {
laserMc.addFrameScript(i, createFire);
fireLocs[i] = laserMc[("fireLoc" + j)];
i = (i + 3);
j = (j + 1);
};
laserMc.addFrameScript((laserMc.totalFrames - 1), lastFun);
i = 2;
while (i < 10) {
laserMc.addFrameScript(i, playLaserSound);
i = (i + 3);
};
}
private static function playLaserSound():void{
SoundsManager.playSound("prelude_laser", true, 0, 0.65);
}
private static function createFire():void{
var _local1:Point;
var _local2:MovieClip;
if (Math.random() > 0.9){
return;
};
SoundsManager.playSound("ignition");
_local1 = fireLocs[(laserMc.currentFrame - 1)].localToGlobal(new Point());
_local1 = parcon.globalToLocal(_local1);
_local1.x = (_local1.x + ((Math.random() - 0.5) * 25));
_local2 = new FIRE_CLASS();
_local2.x = _local1.x;
_local2.y = (_local1.y - 35);
parcon.addChild(_local2);
}
}
}//package code.game.object.level6
Section 155
//Level6FireMc (code.game.object.level6.Level6FireMc)
package code.game.object.level6 {
import flash.display.*;
import flash.geom.*;
import code.game.object.*;
import code.game.object.level5.*;
public class Level6FireMc extends FireMc {
public function Level6FireMc(){
this.addFrameScript(0, createParticle);
}
override protected function objInit():void{
}
override protected function createParticle():void{
var _local1:Point;
this.addFrameScript(0, null);
_local1 = this.localToGlobal(new Point());
_local1 = Properties.map.level.engineCon.globalToLocal(_local1);
rec = new Level6FireRec(_local1, (this as MovieClip));
calWidHei();
}
}
}//package code.game.object.level6
Section 156
//Level6FireRec (code.game.object.level6.Level6FireRec)
package code.game.object.level6 {
import flash.display.*;
import org.cove.ape.*;
import flash.geom.*;
import code.game.object.*;
import code.game.drago.*;
import code.game.object.level5.*;
public class Level6FireRec extends FireRec {
public function Level6FireRec(_arg1:Point, _arg2:MovieClip){
super(_arg1, _arg2);
if (!DragoRec.dragoRec.drago.collidableState){
this.collidable = true;
} else {
this.collidable = false;
};
}
override protected function dragoGetBounce(_arg1:Vector):void{
if ((((Properties.map.level.dragoGlobalLoc.x > 530)) || ((Properties.map.level.dragoGlobalLoc.x < 50)))){
_arg1.x = 0;
};
DragoRec.dragoRec.velocity = _arg1;
}
}
}//package code.game.object.level6
Section 157
//LizzyCageMc (code.game.object.level6.LizzyCageMc)
package code.game.object.level6 {
import flash.display.*;
public class LizzyCageMc extends MovieClip {
public function LizzyCageMc(){
this.stop();
}
}
}//package code.game.object.level6
Section 158
//RisedPlat (code.game.object.level6.RisedPlat)
package code.game.object.level6 {
import flash.events.*;
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import code.game.object.level6.*;
class RisedPlat {
private static var plats:Array = [];
private static var state:int;
private static var proCon:Sprite;
private static var createWaterMc:Sprite;
private static var platDatas:Array = [];
private static var randomId:int;
static function disappearPlats():void{
var _local1:*;
if (state != 0){
return;
};
state = 1;
for (_local1 in plats) {
plats[_local1].fixed = false;
};
proCon.addEventListener(Event.ENTER_FRAME, fall, false, 0, true);
}
private static function run(_arg1:Event):void{
var _local2:Boolean;
var _local3:*;
for (_local3 in plats) {
if (platDatas[_local3] != null){
if (plats[_local3].py > platDatas[_local3].curTargetLoc.y){
_local2 = true;
plats[_local3].py = (plats[_local3].py + platDatas[_local3].curSpeed.y);
plats[_local3].paint();
if (_local3 == randomId){
if (platDatas[randomId] != null){
var _local6 = createWaterMc;
_local6["move"](0, platDatas[randomId].curSpeed.y);
};
};
};
};
};
if (!_local2){
removeEvent();
};
}
static function del():void{
if (proCon != null){
proCon.removeEventListener(Event.ENTER_FRAME, run);
};
plats = [];
platDatas = [];
proCon = null;
state = 0;
createWaterMc = null;
randomId = 0;
}
static function risePlats():void{
var _local1:*;
var _local2:Point;
var _local3:int;
var _local4:Point;
if (((!((state == 0))) && (proCon))){
return;
};
state = -1;
for (_local1 in plats) {
plats[_local1].px = platDatas[_local1].initLoc.x;
plats[_local1].py = platDatas[_local1].initLoc.y;
plats[_local1].paint();
};
_local2 = plats[2].sprite.localToGlobal(new Point());
_local3 = (((Math.random() * 60) + 50) - _local2.x);
for (_local1 in plats) {
plats[_local1].px = ((platDatas[_local1].initLoc.x + ((Math.random() - 0.5) * 15)) + _local3);
plats[_local1].py = (platDatas[_local1].initLoc.y + ((Math.random() - 0.5) * 15));
plats[_local1].paint();
platDatas[_local1].curTargetLoc = new Point((platDatas[_local1].initTargetLoc.x + _local3), (platDatas[_local1].initTargetLoc.y + (Math.random() * 20)));
platDatas[_local1].curSpeed = new Point(0, -(((Math.random() * 3) + 3)));
};
randomId = int((Math.random() * 4));
_local4 = plats[randomId].sprite.localToGlobal(new Point());
_local4 = createWaterMc.parent.globalToLocal(_local4);
var _local5 = createWaterMc;
_local5["resetLoc"](_local4.x, (_local4.y - 80));
proCon.addEventListener(Event.ENTER_FRAME, run, false, 0, true);
}
private static function removeEvent():void{
if (proCon != null){
proCon.removeEventListener(Event.ENTER_FRAME, run);
proCon.removeEventListener(Event.ENTER_FRAME, fall);
};
state = 0;
}
static function platsInit(_arg1:Sprite):void{
var _local2:Sprite;
var _local3:RectangleParticle;
var _local4:Sprite;
var _local5:int;
proCon = _arg1;
createWaterMc = proCon["createWaterMc"];
_local2 = _arg1["thru_obstacle"];
_local5 = 0;
while (_local5 < 4) {
_local4 = (_local2.getChildByName(("_" + _local5)) as Sprite);
_local3 = Properties.map.createOneArticle(_local4, AbstractItem.THRU);
_local3.setDisplay(_local4);
Properties.map.group.addParticle(_local3);
Properties.map.allParticles[Map.THRU].push(_local3);
plats.push(_local3);
platDatas.push({initLoc:new Point(_local3.px, _local3.py)});
platDatas[_local5].initTargetLoc = new Point(platDatas[_local5].initLoc.x, (platDatas[_local5].initLoc.y - 380));
_local5++;
};
}
private static function fall(_arg1:Event):void{
var _local2:*;
for (_local2 in plats) {
if (plats[_local2].py > platDatas[_local2].initLoc.y){
plats[_local2].px = platDatas[_local2].initLoc.x;
plats[_local2].py = platDatas[_local2].initLoc.y;
plats[_local2].paint();
plats[_local2].fixed = true;
};
};
for (_local2 in plats) {
if (!plats[_local2].fixed){
return;
};
};
removeEvent();
}
}
}//package code.game.object.level6
Section 159
//TorchLight (code.game.object.level6.TorchLight)
package code.game.object.level6 {
import flash.events.*;
import flash.display.*;
import code.game.object.*;
import code.*;
import code.game.object.level5.*;
public class TorchLight extends RandomBitmapMc {
public static var darkMc:MovieClip;
public static var lights:Array = [];
public function TorchLight(){
Properties.bindForDel.push(del);
lights.push(this);
}
function lighten():void{
var _local1:*;
SoundsManager.playSound("ignition");
this.visible = true;
for (_local1 in lights) {
if (!lights[_local1].visible){
return;
};
};
darkMc.visible = false;
darkMc.dispatchEvent(new Event("allLighten", true));
}
function putout():void{
this.visible = false;
}
public static function testLight(_arg1:MovieClip):Boolean{
var _local2:*;
for (_local2 in lights) {
if (_arg1.hitTestObject(lights[_local2])){
lights[_local2].lighten();
return (true);
};
};
return (false);
}
public static function putoutAll():void{
var _local1:*;
for (_local1 in lights) {
lights[_local1].putout();
};
if (darkMc != null){
darkMc.visible = true;
};
}
private static function del():void{
lights = [];
darkMc = null;
}
}
}//package code.game.object.level6
Section 160
//CheckPoint (code.game.object.CheckPoint)
package code.game.object {
import flash.events.*;
import flash.display.*;
import org.cove.ape.*;
import code.game.*;
import flash.geom.*;
import code.*;
import code.ui.*;
import code.game.data.*;
public class CheckPoint extends RectangleParticle {
protected var map:Map;
public function CheckPoint(_arg1:Point, _arg2:Sprite, _arg3:Map){
super(_arg1.x, _arg1.y, (_arg2.width * 0.6), (_arg2.height * 0.6), Tool.angleToRadian(_arg2.rotation), true, 1, 0, 0);
this.map = _arg3;
itemNum = AbstractItem.CHECK;
fixed = true;
_arg3.group.addParticle(this);
setDisplay(_arg2);
this.alwaysRepaint = true;
}
public function hitDrago(_arg1:UserEvent, _arg2:RectangleParticle):void{
SoundsManager.playSound("check_point", true, 0, 0.8);
if ((((LevelData.curLevel == 5)) && ((LevelData.curMiniLevel == 1)))){
sprite.dispatchEvent(new Event("LoadDialogInLevel51", true));
} else {
UI.dispatchFun(sprite, "levelComplete");
};
map.removeParticle(this, Map.CHECK);
}
}
}//package code.game.object
Section 161
//Diamond (code.game.object.Diamond)
package code.game.object {
import flash.display.*;
import code.game.*;
import flash.geom.*;
import code.*;
import flash.utils.*;
public class Diamond {
protected var _loc:Point;
private var haveHit:Boolean;
protected var mc:MovieClip;
public static const HIT_W:int = 50;
public static const HIT_H:int = 60;
public function Diamond(_arg1:Point, _arg2:Sprite){
_loc = _arg1;
mc = (_arg2 as MovieClip);
mc.addFrameScript(2, getScoreMcTop);
}
private function getScoreMcTop():void{
var _local1:Sprite;
var _local2:Point;
_local1 = Properties.map.level.coverDragoEngineCon;
_local2 = _local1.globalToLocal(mc.localToGlobal(new Point(0, 0)));
mc.x = _local2.x;
mc.y = _local2.y;
_local1.addChild(mc);
}
function get position():Point{
return (_loc);
}
public function del():void{
if (!haveHit){
remove(mc);
haveHit = true;
};
}
public static function remove(_arg1:MovieClip):void{
var _local2:UserEvent;
SoundsManager.playSound("diamond_s");
_local2 = new UserEvent("showDiamond", true);
_local2.data["type"] = getQualifiedClassName(_arg1);
_arg1.dispatchEvent(_local2);
_arg1.gotoAndPlay("hit");
}
}
}//package code.game.object
Section 162
//ModifyScale (code.game.object.ModifyScale)
package code.game.object {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import code.game.drago.*;
import code.ui.*;
import code.game.data.*;
public class ModifyScale extends Sprite {
private var initLoc:Point;
private var tempRectangle:Rectangle;
private var hei:Number;
private var thisScale:Number;
private var scaleInter:Number;// = 0
private var wid:Number;
private var tempPt:Point;
private static var lastScale:Number = 1;
private static var mapCon:Sprite;
private static var curScale:Number = 1;
private static var modifyTime:Number = 10;
private static var gameCon:Sprite;
private static var changed:Point = new Point();
private static var changedInter:Point = new Point();
private static var gameConLoc:Point;
private static var which:ModifyScale;
public function ModifyScale(){
scaleInter = 0;
tempRectangle = new Rectangle();
tempPt = new Point();
super();
Properties.bindObjsForInit.push(objInit);
Properties.bindForDel.push(del);
}
private function del():void{
lastScale = 1;
curScale = 1;
gameCon = null;
mapCon = null;
gameConLoc = null;
changed = new Point();
changedInter = new Point();
which = null;
}
private function objInit():void{
var _local1:String;
this.visible = false;
initLoc = this.localToGlobal(new Point(0, 0));
_local1 = this.name;
thisScale = (Number(_local1.slice(7, 10)) / 100);
wid = (this.width / 2);
hei = (this.height / 2);
Properties.bindFrameObjs.push(enter);
}
private function testRemove():void{
if (this.stage == null){
Properties.removeEnterFrame(enter);
};
}
private function enter():void{
if ((((Math.abs((DragoRec.dragoRec.px - initLoc.x)) < wid)) && ((Math.abs((DragoRec.dragoRec.py - initLoc.y)) < hei)))){
if (lastScale != thisScale){
if (gameCon == null){
gameCon = Properties.map.gameCon;
mapCon = Properties.map.mapCon;
gameConLoc = new Point(gameCon.x, gameCon.y);
};
which = this;
scaleInter = ((thisScale - lastScale) / modifyTime);
lastScale = thisScale;
if (thisScale != 1){
tempRectangle = mapCon.getBounds(UI._root);
tempPt = mapCon.localToGlobal(new Point(tempRectangle.left, tempRectangle.bottom));
tempPt.y = (((tempPt.y - 190) * thisScale) + 190);
if (tempPt.y < (380 + (LevelData.mapTopBot[LevelData.curLevel][LevelData.curMiniLevel][3] * thisScale))){
changed.y = ((380 + (LevelData.mapTopBot[LevelData.curLevel][LevelData.curMiniLevel][3] * thisScale)) - tempPt.y);
changedInter.y = (changed.y / modifyTime);
};
};
DragoRec.dragoRec.drago.setPaused(true);
this.dispatchEvent(new Event("startReduce", true));
};
};
if (which == this){
if (scaleInter != 0){
gameConLoc.y = (gameConLoc.y + changedInter.y);
curScale = (curScale + scaleInter);
if (Math.abs((thisScale - curScale)) <= (Math.abs(scaleInter) + 0.02)){
curScale = thisScale;
scaleInter = 0;
if (thisScale != 1){
gameConLoc.y = (190 + changed.y);
changedInter.y = (changedInter.y * -1);
this.dispatchEvent(new Event("reduced", true));
} else {
gameConLoc.y = 190;
changed = new Point();
changedInter = new Point();
};
which = null;
DragoRec.dragoRec.drago.setPaused(false);
};
gameCon.y = gameConLoc.y;
gameCon.scaleX = curScale;
gameCon.scaleY = curScale;
};
};
testRemove();
}
}
}//package code.game.object
Section 163
//Properties (code.game.object.Properties)
package code.game.object {
import flash.display.*;
import code.game.*;
import flash.geom.*;
import code.game.drago.*;
import code.game.object.level1.*;
import code.game.object.level0.*;
public class Properties {
private var perties:Array;
var con:Sprite;
private var updates:Array;
public var diamonds:Array;
public static var bindObjsForInit:Array = [];
public static var bindFrameObjs:Array = [];
public static var bindForDel:Array = [];
public static var bindObjs:Array = [];
public static var map:Map;
public function Properties(_arg1:Sprite, _arg2:Map){
var _local3:*;
super();
this.con = _arg1;
Properties.map = _arg2;
diamonds = [];
perties = [];
updates = [];
getDiamonds();
getOthers();
for (_local3 in bindObjs) {
_arg2.group.addParticle(bindObjs[_local3][0]);
_arg2.allParticles[bindObjs[_local3][1]].push(bindObjs[_local3][0]);
};
for (_local3 in bindObjsForInit) {
var _local6 = bindObjsForInit;
_local6[_local3]();
};
}
private function diamondsHitTest():void{
var _local1:Point;
var _local2:*;
for (_local2 in diamonds) {
_local1 = diamonds[_local2].position;
if ((((Math.abs((DragoRec.dragoRec.px - _local1.x)) <= Diamond.HIT_W)) && ((Math.abs((DragoRec.dragoRec.py - _local1.y)) <= Diamond.HIT_H)))){
diamonds[_local2].del();
diamonds.splice(_local2, 0);
};
};
}
public function del():void{
var _local1:*;
var _local2:*;
for (_local1 in perties) {
perties[_local1].del();
};
diamonds = [];
perties = [];
updates = [];
for (_local2 in bindForDel) {
var _local5 = bindForDel;
_local5[_local2]();
};
bindForDel = [];
bindObjs = [];
bindObjsForInit = [];
bindFrameObjs = [];
}
private function getDiamonds():void{
var _local1:Sprite;
var _local2:int;
var _local3:Sprite;
var _local4:Point;
var _local5:int;
_local1 = con["diamonds"];
if (_local1 == null){
return;
};
_local2 = _local1.numChildren;
_local5 = 0;
while (_local5 < _local2) {
_local3 = (_local1.getChildAt(_local5) as Sprite);
_local4 = _local3.localToGlobal(new Point(0, 0));
diamonds.push(new Diamond(_local4, _local3));
_local5++;
};
}
private function getOthers():void{
var _local1:Sprite;
var _local2:int;
var _local3:Sprite;
var _local4:Point;
var _local5:String;
var _local6:int;
var _local7:BalloonEject;
var _local8:CurvePath;
var _local9:Motianlun;
var _local10:BallEject_H;
var _local11:Balloon_S;
_local1 = con["properties"];
if (_local1 == null){
return;
};
_local2 = _local1.numChildren;
_local6 = 0;
while (_local6 < _local2) {
_local3 = (_local1.getChildAt(_local6) as Sprite);
_local5 = _local3.name.slice(0, 4);
_local4 = _local3.localToGlobal(new Point(0, 0));
switch (_local5){
case "move":
_local4 = _local3["m"].localToGlobal(new Point(0, 0));
perties.push(new MoveThru(_local4, _local3));
break;
case "anni":
perties.push(new SpringObject(_local4, _local3));
break;
case "ball":
_local7 = new BalloonEject(_local4, _local3);
perties.push(_local7);
updates.push(_local7);
break;
case "cpat":
_local8 = new CurvePath(_local3);
perties.push(_local8);
updates.push(_local8);
break;
case "moti":
_local9 = new Motianlun(_local4, _local3);
perties.push(_local9);
updates.push(_local9);
break;
case "h_ba":
_local10 = new BallEject_H(_local4, _local3);
perties.push(_local10);
updates.push(_local10);
break;
case "s_ba":
_local11 = new Balloon_S(_local4, (_local3 as MovieClip));
perties.push(_local11);
break;
};
_local6++;
};
}
public function enterFrame():void{
var _local1:*;
diamondsHitTest();
for (_local1 in bindFrameObjs) {
if ((bindFrameObjs[_local1] is Function)){
var _local4 = bindFrameObjs;
_local4[_local1]();
};
};
}
public static function removeEnterFrame(_arg1):void{
var _local2:int;
_local2 = bindFrameObjs.indexOf(_arg1);
if (_local2 != -1){
bindFrameObjs.splice(_local2, 1);
};
}
}
}//package code.game.object
Section 164
//SuperPower (code.game.object.SuperPower)
package code.game.object {
import flash.events.*;
import flash.display.*;
import code.game.drago.*;
import flash.utils.*;
import code.ui.*;
import code.game.data.*;
public class SuperPower {
protected var _onStandSuper:Boolean;
protected var superDragoStr:String;// = "dragoMcCla2"
protected var _pressOnAir:Boolean;
protected var onSuper:Boolean;
protected var _superDrago:MovieClip;
protected static var _pressOnAirGotLand:Function;
public static var curSuperPower:SuperPower;
private static var toBindDel:Boolean;
private static var _normalDrago:MovieClip;
public function SuperPower(_arg1:SuperPower){
superDragoStr = "dragoMcCla2";
super();
curSuperPower = _arg1;
}
public function get superDrago():MovieClip{
if (_superDrago == null){
_superDrago = new (getDefinitionByName(superDragoStr));
};
return (_superDrago);
}
protected function gotLandFun():void{
if (_pressOnAir){
if (_pressOnAirGotLand != null){
_pressOnAirGotLand();
_pressOnAir = false;
};
};
}
public function toSuperState():void{
if (!toBindDel){
Properties.bindForDel.push(objDel);
toBindDel = true;
};
curSuperPower = this;
UI.uiCon.dispatchEvent(new Event("showUsePowerTip"));
}
protected function bindObjDel():void{
toBindDel = false;
curSuperPower.pressOnLandUpFun();
switch (LevelData.curState){
case LevelData.GAME_CLEAR:
curSuperPower = null;
break;
case LevelData.GAME_OVER:
curSuperPower = null;
break;
case LevelData.TO_NEXT_PART:
break;
case LevelData.LEVEL_FAILED:
break;
case LevelData.WORLD_COMPLETE:
curSuperPower = null;
break;
};
}
protected function set normal_drago(_arg1:MovieClip):void{
if (_normalDrago == null){
_normalDrago = _arg1;
};
}
protected function pressOnLandFun():void{
}
private function objDel():void{
if (curSuperPower != null){
curSuperPower.bindObjDel();
};
}
protected function pressOnLandUpFun():void{
DragoRec.dragoRec.onCollistion2 = null;
_onStandSuper = false;
if (DragoRec.dragoRec.drago.dragoState == Drago.STAND){
DragoRec.dragoRec.drago.changeState("stand");
};
}
protected function pressOnAirFun():void{
if (!_pressOnAir){
DragoRec.dragoRec.setVelocity(0, 10);
_pressOnAir = true;
};
}
public static function returnNormal():void{
if (_normalDrago == null){
return;
};
UI.uiCon.dispatchEvent(new Event("hideUsePowerTip"));
DragoRec.dragoRec.drago.switchDrago(_normalDrago);
DragoRec.dragoRec.drago.setStateSpeed(1, 1);
DragoRec.dragoRec.drago.setBoundNumRate(1);
DragoRec.dragoRec.drago.superKeyOnLand = null;
DragoRec.dragoRec.drago.superKeyOnLandUp = null;
DragoRec.dragoRec.drago.superKeyOnAir = null;
DragoRec.dragoRec.onGotLand = null;
_pressOnAirGotLand = null;
if (curSuperPower == null){
return;
};
curSuperPower._superDrago = null;
curSuperPower = null;
}
}
}//package code.game.object
Section 165
//UserRec (code.game.object.UserRec)
package code.game.object {
import flash.display.*;
import org.cove.ape.*;
import flash.geom.*;
public class UserRec extends RectangleParticle {
protected var rangeArr:Array;
public function UserRec(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Boolean=false, _arg7:Number=1, _arg8:Number=0.3, _arg9:Number=0){
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9);
}
public function del():void{
}
protected function getRange(_arg1:Sprite=null):void{
var _local2:Point;
var _local3:Vector;
var _local4:Vector;
if (_arg1 == null){
return;
};
_arg1.visible = false;
rangeArr = [];
_local2 = _arg1.localToGlobal(new Point(0, 0));
if (_arg1.height > _arg1.width){
_local3 = new Vector(_local2.x, (_local2.y - (_arg1.height / 2)));
_local4 = new Vector(_local2.x, (_local2.y + (_arg1.height / 2)));
} else {
_local3 = new Vector((_local2.x - (_arg1.width / 2)), _local2.y);
_local4 = new Vector((_local2.x + (_arg1.width / 2)), _local2.y);
};
rangeArr.push(_local3);
rangeArr.push(_local4);
}
}
}//package code.game.object
Section 166
//Dialog (code.game.others.Dialog)
package code.game.others {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import code.*;
import code.ui.*;
public class Dialog extends MovieClip {
protected var statDialog:Boolean;
private static var dialogBlack:Sprite;
public function Dialog(){
this.stop();
this.visible = false;
this.addFrameScript((this.totalFrames - 2), removeDia);
}
protected function removePlayMusic():void{
UI.playLevelMusic();
}
protected function playButtonASound():void{
SoundsManager.playSound("button_a");
}
protected function removeDia():void{
removePlayMusic();
this.dispatchEvent(new Event("dialogOver", true));
this.stop();
if (this.parent != null){
this.parent.removeChild(this);
};
UI._stage.removeEventListener(MouseEvent.CLICK, clickFun);
UI._stage.removeEventListener(KeyboardEvent.KEY_UP, keyFun);
}
public function startDialog():void{
var _local1:Point;
this.play();
this.visible = true;
_local1 = this.localToGlobal(new Point(0, 0));
UI.uiCon.addChild(this);
this.x = _local1.x;
this.y = _local1.y;
UI._stage.focus = UI._stage;
UI._stage.addEventListener(MouseEvent.CLICK, clickFun, false, 0, true);
UI._stage.addEventListener(KeyboardEvent.KEY_UP, keyFun, false, 0, true);
addFrameFun();
playStoryMusic();
}
protected function playStoryMusic():void{
UI.playMusic("story_m");
}
protected function addFrameFun():void{
}
protected function textOver():void{
statDialog = false;
this.play();
}
private function keyFun(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == 65){
if (statDialog){
nextText();
};
} else {
if (_arg1.keyCode == 13){
removeDia();
};
};
}
protected function startText():void{
this.stop();
statDialog = true;
}
protected function nextText():void{
this.nextFrame();
playButtonASound();
}
private function clickFun(_arg1:MouseEvent):void{
if (statDialog){
nextText();
};
}
public static function showDialogBlack():void{
if (dialogBlack == null){
dialogBlack = (new (UI.getUIClass("showForDialogMc")) as Sprite);
};
UI.uiCon.addChild(dialogBlack);
}
public static function removeDialogBlack():void{
if (dialogBlack.parent != null){
dialogBlack.parent.removeChild(dialogBlack);
};
dialogBlack = null;
}
}
}//package code.game.others
Section 167
//Dialog01 (code.game.others.Dialog01)
package code.game.others {
import flash.display.*;
import code.*;
public class Dialog01 extends DialogNormalStart {
public var key_a:MovieClip;
private function playLaser():void{
SoundsManager.playSound("prelude_laser", true, 0, 0.7);
}
private function playLandSound():void{
SoundsManager.playSound("stone_door_drop");
}
private function stopPlayWings():void{
SoundsManager.stopSound("prelude_swing");
}
private function playFirstFire():void{
SoundsManager.playSound("bomb_2");
}
private function playWings():void{
SoundsManager.playSound("prelude_swing", true, 1);
}
override protected function removeDia():void{
stopPlayWings();
super.removeDia();
}
override protected function addFrameFun():void{
this.addFrameScript(119, playLaser, 265, startText, 268, textOver, 145, playFirstFire, 158, playFireSound, 162, playFireSound);
this.addFrameScript(164, playFireSound, 165, playFireSound, 200, playWings, 221, stopPlayWings, 239, playLandSound, (this.totalFrames - 2), removeDia);
}
override protected function textOver():void{
statDialog = false;
this.play();
}
private function playFireSound():void{
SoundsManager.playSound("bomb_s");
}
}
}//package code.game.others
Section 168
//Dialog50 (code.game.others.Dialog50)
package code.game.others {
import flash.display.*;
import code.*;
public class Dialog50 extends DialogNormalStart {
public var key_a:MovieClip;
private function playSound():void{
SoundsManager.playSound("boss_howl");
SoundsManager.playSound("prelude_fire", true, 1);
}
private function stopSound():void{
SoundsManager.stopSound("boss_howl");
SoundsManager.stopSound("prelude_fire");
}
override protected function removeDia():void{
stopSound();
super.removeDia();
}
override protected function addFrameFun():void{
this.addFrameScript(67, startText, (this.totalFrames - 1), textOver);
this.addFrameScript(1, playSound, 55, stopSound);
}
}
}//package code.game.others
Section 169
//Dialog60 (code.game.others.Dialog60)
package code.game.others {
import flash.display.*;
import code.ui.*;
public class Dialog60 extends DialogNormalStart {
public var key_a:MovieClip;
override protected function playStoryMusic():void{
UI.playMusic("boss_m");
}
}
}//package code.game.others
Section 170
//DialogGame (code.game.others.DialogGame)
package code.game.others {
import flash.display.*;
import code.*;
import code.ui.*;
public class DialogGame extends Dialog {
public var _mc:MovieClip;
private var _mc0:MovieClip;
private var curText:int;
private var _mc1:MovieClip;
private var keyA:MovieClip;
public function DialogGame(){
startDialog();
this.addFrameScript(1, prelude_start, 102, prelude_laser, 105, bomb_2, 124, prelude_laser, 126, bomb_2, 143, prelude_laser, 147, bomb_2);
this.addFrameScript(174, prelude_zyron_gasp, 450, prelude_acc, 490, prelude_acc);
this.addFrameScript(511, prelude_swing, 623, prelude_zyron_laser, 627, prelude_escape, 707, prelude_bomb);
}
private function stopFun():void{
keyA.stop();
}
private function prelude_escape():void{
SoundsManager.playSound("prelude_escape");
}
private function prelude_swing():void{
SoundsManager.playSound("prelude_swing", true, int.MAX_VALUE);
}
private function prelude_howl():void{
SoundsManager.playSound("prelude_howl");
}
private function prelude_zyron_laser():void{
SoundsManager.playSound("prelude_zyron_laser");
stop_prelude_swing();
}
private function prelude_acc():void{
SoundsManager.playSound("prelude_acc");
stop_prelude_zyron_gasp();
}
private function playSadMusic():void{
UI.playMusic("sad_m", int.MAX_VALUE, 1000, 1000);
prelude_fire();
}
private function prelude_zyron_gasp():void{
SoundsManager.playSound("prelude_zyron_gasp", true, int.MAX_VALUE);
}
private function prelude_fire():void{
SoundsManager.playSound("prelude_fire", true, int.MAX_VALUE);
}
private function stopAllLoopSound():void{
SoundsManager.stopSound("prelude_start");
stop_prelude_swing();
stop_prelude_zyron_gasp();
stop_prelude_fire();
}
override protected function removeDia():void{
if (_mc0 != null){
_mc0.stop();
};
if (_mc1 != null){
_mc1.stop();
};
if (keyA != null){
keyA.stop();
};
stopAllLoopSound();
super.removeDia();
}
private function removeMc0():void{
_mc0.stop();
if (_mc0.parent != null){
_mc0.parent.removeChild(_mc0);
};
}
private function removeMc1():void{
_mc1.stop();
if (_mc1.parent != null){
_mc1.parent.removeChild(_mc1);
};
}
override protected function playStoryMusic():void{
UI.playMusic("boss_m", int.MAX_VALUE, 500, 1000);
}
private function stop_prelude_fire():void{
SoundsManager.stopSound("prelude_fire");
}
private function getChild0():void{
_mc0 = (this.getChildByName("_mc") as MovieClip);
_mc0.addFrameScript(55, playSadMusic, 128, getChild1, (_mc0.totalFrames - 1), removeMc0);
}
private function prelude_start():void{
}
override protected function addFrameFun():void{
this.addFrameScript(765, getChild0);
}
override protected function textOver():void{
super.textOver();
this.gotoAndPlay((this.currentFrame + 100));
_mc0.gotoAndPlay((_mc0.currentFrame + 100));
_mc1.gotoAndPlay((_mc1.currentFrame + 100));
prelude_howl();
stop_prelude_fire();
}
private function getChild1():void{
_mc1 = (_mc0.getChildByName("_mc") as MovieClip);
_mc1.addFrameScript(63, startText, (_mc1.totalFrames - 1), removeMc1);
}
override protected function startText():void{
super.startText();
keyA = _mc1["key_a"];
keyA.addFrameScript(0, stopFun);
_mc0.stop();
_mc1.stop();
}
private function stop_prelude_zyron_gasp():void{
SoundsManager.stopSound("prelude_zyron_gasp");
}
private function prelude_bomb():void{
SoundsManager.playSound("prelude_bomb", true, 0, 0.7);
}
override protected function nextText():void{
curText++;
if (curText <= 4){
this.nextFrame();
_mc0.nextFrame();
_mc1.gotoAndStop(("text" + curText));
} else {
textOver();
};
keyA.gotoAndPlay(2);
playButtonASound();
}
private function stop_prelude_swing():void{
SoundsManager.stopSound("prelude_swing");
}
private function bomb_2():void{
SoundsManager.playSound("bomb_2");
}
private function prelude_laser():void{
SoundsManager.playSound("prelude_laser", true, 0, 0.7);
}
}
}//package code.game.others
Section 171
//DialogInLevel (code.game.others.DialogInLevel)
package code.game.others {
import code.game.object.*;
import code.game.drago.*;
public class DialogInLevel extends DialogNormalStart {
public function DialogInLevel(){
this.stop();
this.visible = false;
}
private function paused():void{
DragoRec.dragoRec.drago.setPaused(true);
Properties.map.level.setPaused(true);
}
override public function startDialog():void{
super.startDialog();
paused();
}
}
}//package code.game.others
Section 172
//DialogInLevel51 (code.game.others.DialogInLevel51)
package code.game.others {
import flash.events.*;
import flash.display.*;
import code.ui.*;
public class DialogInLevel51 extends DialogInLevel {
public var key_a:MovieClip;
private var proCon:MovieClip;
public function DialogInLevel51(){
proCon = (this.parent as MovieClip);
UI._root.addEventListener("LoadDialogInLevel51", start, false, 0, true);
}
override protected function removeDia():void{
super.removeDia();
UI.dispatchFun(proCon, "levelComplete");
}
private function start(_arg1:Event):void{
UI._root.removeEventListener("LoadDialogInLevel51", start);
startDialog();
}
override public function startDialog():void{
super.startDialog();
this.x = 290;
this.y = 190;
}
}
}//package code.game.others
Section 173
//DialogInLevel61 (code.game.others.DialogInLevel61)
package code.game.others {
import flash.display.*;
import code.*;
import code.ui.*;
public class DialogInLevel61 extends DialogInLevel {
public var key_a:MovieClip;
private var proCon:MovieClip;
public function DialogInLevel61(){
proCon = (this.parent as MovieClip);
startDialog();
this.addFrameScript(2, playKissSound);
}
override protected function removeDia():void{
super.removeDia();
}
override public function startDialog():void{
super.startDialog();
this.x = 290;
this.y = 190;
}
override protected function playStoryMusic():void{
UI.playMusic("drago_village_m");
}
private function playKissSound():void{
SoundsManager.playSound("lizzy_kiss");
}
}
}//package code.game.others
Section 174
//DialogNormalStart (code.game.others.DialogNormalStart)
package code.game.others {
import flash.display.*;
public class DialogNormalStart extends Dialog {
private var keyA:MovieClip;
public function DialogNormalStart(){
this.addFrameScript((this.totalFrames - 2), null);
}
private function stopFun():void{
keyA.stop();
}
override protected function addFrameFun():void{
this.addFrameScript(1, startText, (this.totalFrames - 1), textOver);
}
override protected function textOver():void{
super.textOver();
removeDia();
}
override protected function startText():void{
super.startText();
keyA = this["key_a"];
keyA.addFrameScript(0, stopFun);
}
override protected function nextText():void{
super.nextText();
keyA.gotoAndPlay(2);
}
}
}//package code.game.others
Section 175
//Game (code.game.Game)
package code.game {
import flash.events.*;
import flash.display.*;
import org.cove.ape.*;
import code.ui.*;
import code.game.data.*;
public class Game extends UI {
private var level:Level;
public function Game(){
playLevelMusic();
screen = new Sprite();
screen.name = "screen";
uiCon.addChildAt(screen, 0);
level = new Level();
level.conInit(screen);
engineInit();
addEvent();
}
public function dataDel():void{
UI._stage.removeEventListener(Event.ENTER_FRAME, run);
screen.removeEventListener("levelInfo", dealEvent);
level.del();
}
private function dragoDie(_arg1:Boolean=false):void{
LevelData.lives = (int(LevelData.lives) - 1);
screen.dispatchEvent(new Event("changeLives"));
if (int(LevelData.lives) <= 0){
LevelData.curState = LevelData.GAME_OVER;
dataDel();
UI.manager.gameOver = new GameOver(this);
restartGame();
} else {
LevelData.curState = LevelData.LEVEL_FAILED;
LevelData.health = LevelData.hearts;
LevelData.dataRefresh();
dataDel();
manager.levelFailed = new LevelFailed(this, _arg1);
};
}
public function delElse():void{
if (UI.manager.ui_show != null){
UI.manager.ui_show.remove();
UI.manager.ui_show = null;
};
remove();
manager.game = null;
}
private function dealEvent(_arg1:UserEvent):void{
switch (_arg1.data["levelInfo"]){
case "levelComplete":
levelComplete();
break;
case "dragoDie":
dragoDie();
break;
case "timeUp":
dragoDie(true);
break;
};
}
private function restartGame():void{
LevelData.dataInit();
LevelData.saveData();
LevelData.init();
}
private function engineInit():void{
APEngine.init((1 / 2));
APEngine.container = level.engineCon;
level.load();
APEngine.addGroup(level.drago.group);
APEngine.addGroup(level.map.group);
APEngine.addGroup(level.map.moveGroup);
level.drago.group.addCollidableList(new Array(level.map.group));
}
private function addEvent():void{
UI._stage.addEventListener(Event.ENTER_FRAME, run);
screen.addEventListener("levelInfo", dealEvent, false, 0, true);
}
private function run(_arg1:Event):void{
APEngine.step();
APEngine.paint();
level.enterFrame();
}
private function levelComplete():void{
LevelData.addLevel();
if (LevelData.curLevel < LevelData.complete){
if (LevelData.curMiniLevel == 0){
LevelData.curState = LevelData.WORLD_COMPLETE;
LevelData.saveData();
dataDel();
level.setPaused(true);
UI.manager.levelComplete = new LevelComplete(this);
} else {
LevelData.curState = LevelData.TO_NEXT_PART;
dataDel();
delElse();
UI.manager.startGame();
};
} else {
LevelData.curState = LevelData.GAME_CLEAR;
dataDel();
UI.manager.levelComplete = new LevelComplete(this, true);
restartGame();
};
}
}
}//package code.game
Section 176
//Level (code.game.Level)
package code.game {
import flash.events.*;
import flash.display.*;
import org.cove.ape.*;
import flash.geom.*;
import code.game.drago.*;
import code.ui.*;
import code.game.data.*;
import code.ui.shop.*;
public class Level {
private var play1Loc:Point;
private var _dragoEngineCon:Sprite;
public var ui_showStart:Boolean;
private var mapWidth:Number;
private var _map:Map;
private var mapHeight:Number;
private var tempx:Number;// = 10
private var tempy:Number;// = 10
private var mapPaused:Array;
private var ifPaused:Boolean;
private var _mapCon:Sprite;
public var interNumx:int;// = 400
public var interNumy:int;// = 600
var drago:Drago;
private var _coverDragoEngineCon:Sprite;
private var articleLen:int;
private var interLoc:Point;
private var _mapRectangle:Rectangle;
private var backLoc:Point;
private var _engineCon:Sprite;
private var _dragoLoc:Point;
private var backDatas:Array;
private var rangeArr:Array;
private var playLoc:Point;
private var absLoc:Point;
private var _playCon:Sprite;
private var _gameCon:Sprite;
private var screen:Sprite;
public var testDragoDie:Function;
private var mouseEvt:MouseEvent;
public function Level(){
interNumx = 400;
interNumy = 600;
tempx = 10;
tempy = 10;
mapPaused = [false, false, false, false];
super();
playLoc = new Point();
play1Loc = new Point();
backLoc = new Point();
interLoc = new Point(0, 0);
mouseEvt = new MouseEvent("kk");
if (!Shop.shopMap){
testDragoDie = testDrago;
};
}
private function modifyLocY():void{
if (interLoc.y == 0){
interLoc.y = (190 - _dragoLoc.y);
if (((mapPaused[1]) && ((interLoc.y > 2)))){
interLoc.y = 0;
return;
};
if (((mapPaused[3]) && ((interLoc.y < 2)))){
interLoc.y = 0;
return;
};
if (Math.abs(interLoc.y) < 1){
interLoc.y = 0;
return;
};
};
if (interLoc.y != 0){
if (Math.abs(interLoc.y) < interNumy){
tempy = interLoc.y;
interLoc.y = 0;
if (interNumy != 600){
interNumy = 600;
};
} else {
tempy = ((interLoc.y > 0)) ? interNumy : -(interNumy);
interLoc.y = (interLoc.y - tempy);
};
if (((absLoc.y + rangeArr[1]) + tempy) > 0){
tempy = (-(absLoc.y) - rangeArr[1]);
} else {
if (((absLoc.y - rangeArr[3]) + tempy) < -(mapHeight)){
tempy = ((-(mapHeight) - absLoc.y) + rangeArr[3]);
};
};
modifyY(tempy);
};
}
public function del():void{
drago.del();
map.del();
}
function enterFrame():void{
rangeArr = LevelData.mapTopBot[LevelData.curLevel][LevelData.curMiniLevel];
if (ifPaused){
return;
};
stateChange();
_dragoLoc = drago.recParticle.sprite.localToGlobal(new Point(0, 0));
drago.enterFrame();
if (map.properties != null){
map.properties.enterFrame();
};
modifyLocX();
modifyLocY();
if (testDragoDie != null){
testDragoDie();
};
}
public function getRange(_arg1:Vector):Boolean{
return (((((_dragoLoc.x + _arg1.x) > 20)) && (((_dragoLoc.x + _arg1.x) < 560))));
}
public function modifyBackLocY(_arg1:Number):void{
backLoc.y = (backLoc.y + _arg1);
map.backLayer.y = backLoc.y;
}
function load():void{
var _local1:Sprite;
var _local2:Rectangle;
_local1 = new Sprite();
if (Shop.shopMap){
_map = new ShopMap(_mapCon, _local1, this);
allSidePaused = true;
} else {
_map = new Map(_mapCon, _local1, this);
};
articleLen = (map.allParticles.length - 2);
drago = new Drago(this);
_mapRectangle = map.playLayer.getBounds(_mapCon);
absLoc = new Point(_mapRectangle.x, _mapRectangle.y);
mapWidth = (_mapRectangle.width - 580);
mapHeight = (_mapRectangle.height - 380);
if (map.playLayer["getWidth"] != null){
_local2 = map.playLayer["getWidth"].getBounds(_mapCon);
absLoc.x = _local2.x;
mapWidth = (_local2.width - 580);
};
if (map.playLayer["getHeight"] != null){
_local2 = map.playLayer["getHeight"].getBounds(_mapCon);
absLoc.y = _local2.y;
mapHeight = (_local2.height - 380);
};
_mapRectangle = new Rectangle(absLoc.x, absLoc.y, (mapWidth + 580), (mapHeight + 380));
_local1.addChild(_playCon);
_local1.x = -290;
_local1.y = -190;
_gameCon = new Sprite();
_gameCon.x = 290;
_gameCon.y = 190;
_gameCon.addChild(_local1);
screen.addChild(_gameCon);
if (!Shop.shopMap){
UI.manager.ui_show = new GameShow(screen);
UI.manager.ui_show.start = ui_showStart;
};
backDatas = LevelData.backDatas[LevelData.curLevel][LevelData.curMiniLevel];
}
public function get mapRectangle():Rectangle{
return (_mapRectangle);
}
public function get map():Map{
return (_map);
}
public function get coverDragoEngineCon():Sprite{
return (_coverDragoEngineCon);
}
public function stateChange():void{
var _local1:Number;
var _local2:Number;
var _local3:Array;
var _local4:RectangleParticle;
var _local5:int;
var _local6:int;
var _local7:int;
_local1 = 0;
_local2 = 0;
_local6 = 0;
while (_local6 < articleLen) {
_local5 = map.allParticles[_local6].length;
_local7 = 0;
for (;_local7 < _local5;_local7++) {
_local4 = map.allParticles[_local6][_local7];
if (_local4 == null){
} else {
_local3 = _local4.bounds;
if (((((((_local4.px - drago.recParticle.px) - _local3[0]) - Drago.HALF_WIDTH) < 0)) && (((((drago.recParticle.px - _local4.px) - _local3[0]) - Drago.HALF_WIDTH) < 0)))){
if (_local6 != Map.THRU){
if (!_local4.collidable){
setCollidable(_local4, true);
};
} else {
if (_local6 == Map.THRU){
_local2 = (_local4.py - drago.recParticle.py);
_local1 = Drago.HALF_HEIGHT;
if (_local4.itemNum == AbstractItem.ENEMY){
_local1 = (_local1 + _local3[1]);
};
if ((((_local2 < 100)) && ((_local2 > _local1)))){
if (!_local4.collidable){
setCollidable(_local4, true);
};
continue;
} else {
if (_local2 > -(Drago.HALF_HEIGHT)){
continue;
};
};
};
};
} else {
if (_local6 != Map.THRU){
if (_local4.collidable){
setCollidable(_local4, false);
};
};
};
if (_local6 == Map.THRU){
if (_local4.collidable){
setCollidable(_local4, false);
};
};
};
};
_local6++;
};
}
public function get dragoGlobalLoc():Point{
return (_dragoLoc);
}
public function setPaused(_arg1:Boolean=false):void{
ifPaused = _arg1;
}
public function get playCon():Sprite{
return (_playCon);
}
public function get gameCon():Sprite{
return (_gameCon);
}
function conInit(_arg1:Sprite):void{
_mapCon = new Sprite();
_engineCon = new Sprite();
_dragoEngineCon = new Sprite();
_coverDragoEngineCon = new Sprite();
_playCon = new Sprite();
_playCon.addChild(_mapCon);
_playCon.addChild(_engineCon);
_playCon.addChild(_dragoEngineCon);
_playCon.addChild(_coverDragoEngineCon);
screen = _arg1;
}
private function testDrago():void{
if (_dragoLoc.y > 480){
UI.dispatchFun(drago.recParticle.sprite, "dragoDie");
};
}
public function set allSidePaused(_arg1:Boolean):void{
var _local2:int;
_local2 = 0;
while (_local2 < 4) {
setMapPaused(_local2, _arg1);
_local2++;
};
}
public function get engineCon():Sprite{
return (_engineCon);
}
public function modifyY(_arg1:Number):void{
absLoc.y = (absLoc.y + _arg1);
playLoc.y = (playLoc.y + _arg1);
_playCon.y = playLoc.y;
play1Loc.y = (play1Loc.y + (_arg1 * backDatas[1].y));
map.layer1.y = play1Loc.y;
modifyBackLocY((_arg1 * backDatas[0].y));
}
public function setMapPaused(_arg1:int, _arg2:Boolean=false):void{
if ((((_arg1 < 0)) || ((_arg1 > 3)))){
return;
};
mapPaused[_arg1] = _arg2;
}
private function setCollidable(_arg1:RectangleParticle, _arg2:Boolean):void{
_arg1.collidable = _arg2;
}
public function modifyX(_arg1:Number):void{
absLoc.x = (absLoc.x + _arg1);
playLoc.x = (playLoc.x + _arg1);
_playCon.x = playLoc.x;
play1Loc.x = (play1Loc.x + (_arg1 * backDatas[1].x));
map.layer1.x = play1Loc.x;
backLoc.x = (backLoc.x + (_arg1 * backDatas[0].x));
map.backLayer.x = backLoc.x;
}
private function modifyLocX():void{
if (interLoc.x == 0){
interLoc.x = (290 - _dragoLoc.x);
if (((mapPaused[0]) && ((interLoc.x > 2)))){
interLoc.x = 0;
return;
};
if (((mapPaused[2]) && ((interLoc.x < 2)))){
interLoc.x = 0;
return;
};
if (Math.abs(interLoc.x) < 1){
interLoc.x = 0;
return;
};
};
if (interLoc.x != 0){
if (Math.abs(interLoc.x) < interNumx){
tempx = interLoc.x;
interLoc.x = 0;
if (interNumx != 400){
interNumx = 400;
};
} else {
tempx = ((interLoc.x > 0)) ? interNumx : -(interNumx);
interLoc.x = (interLoc.x - tempx);
};
if ((absLoc.x + tempx) > -(rangeArr[0])){
tempx = (-(rangeArr[0]) - absLoc.x);
} else {
if ((absLoc.x + tempx) < (-(mapWidth) + rangeArr[2])){
tempx = ((-(mapWidth) + rangeArr[2]) - absLoc.x);
};
};
modifyX(tempx);
};
}
public function get dragoEngineCon():Sprite{
return (_dragoEngineCon);
}
}
}//package code.game
Section 177
//Map (code.game.Map)
package code.game {
import flash.display.*;
import org.cove.ape.*;
import flash.geom.*;
import code.game.object.*;
import code.ui.*;
import code.game.data.*;
import code.game.enemy.*;
public class Map {
private var mapGroup:Group;
private var _properties:Properties;
private var _level:Level;
private var _gameCon0:Sprite;
private var _mapCon:Sprite;
private var enemies:Enemies;
private var _backLayer:Sprite;
private var _layer1:Sprite;
private var mapMoveGroup:Group;
private var _allParticles:Array;
protected var _playLayer:Sprite;
public static const CHECK:int = 2;
public static const ENEMY2:int = 5;
public static const SOLID:int = 0;
public static const ENEMY:int = 4;
public static const DIAMOND:int = 3;
public static const THRU:int = 1;
public function Map(_arg1:Sprite, _arg2:Sprite, _arg3:Level){
_backLayer = new Sprite();
_layer1 = new Sprite();
super();
this._mapCon = _arg1;
this._gameCon0 = _arg2;
_level = _arg3;
getBack();
getSecondaryPlyer();
_gameCon0.addChild(_backLayer);
_gameCon0.addChild(_layer1);
getMap();
mapMoveGroup = new Group();
createSurfaces();
}
public function get layer1():Sprite{
return (_layer1);
}
public function get level():Level{
return (_level);
}
private function createSurfaces():void{
var _local1:int;
var _local2:Sprite;
_allParticles = new Array();
_local1 = 0;
while (_local1 < 6) {
_allParticles[_local1] = new Array();
_local1++;
};
_local2 = _playLayer["solid_obstacle"];
if (_local2 != null){
createArticle(_local2, allParticles[SOLID], AbstractItem.SOLID);
};
_local2 = _playLayer["thru_obstacle"];
if (_local2 != null){
createArticle(_local2, allParticles[THRU], AbstractItem.THRU);
};
getCheckPoint();
_local2 = _playLayer["enemies"];
if (_local2 != null){
enemies = new Enemies(_local2, this);
};
_local2 = _playLayer["properties"];
_properties = new Properties(_playLayer, this);
_local2 = _playLayer["coverDrago"];
if (_local2 != null){
getCoverDrago(_local2);
};
}
public function get properties():Properties{
return (_properties);
}
public function get moveGroup():Group{
return (mapMoveGroup);
}
protected function getSecondaryPlyer():void{
var _local1:String;
var _local2:Sprite;
_local1 = LevelData.backDatas[LevelData.curLevel][LevelData.curMiniLevel][1].url;
if (_local1 != ""){
_local1 = ("level_back1_" + _local1);
_local2 = new (UI.getUIClass(_local1));
_layer1.addChild(_local2);
};
}
public function get mapCon():Sprite{
return (_mapCon);
}
public function removeParticle(_arg1:RectangleParticle, _arg2:int):void{
group.removeParticle(_arg1);
removeFromMap(_arg1, _arg2);
}
private function createArticle(_arg1:Sprite, _arg2:Array, _arg3:int):void{
var _local4:Sprite;
var _local5:int;
var _local6:int;
var _local7:RectangleParticle;
_local5 = _arg1.numChildren;
_local6 = 0;
while (_local6 < _local5) {
_local4 = (_arg1.getChildAt(_local6) as Sprite);
_local7 = createOneArticle(_local4, _arg3);
_arg2.push(_local7);
group.addParticle(_local7);
_local6++;
};
}
public function get allParticles():Array{
return (_allParticles);
}
private function getCoverDrago(_arg1:Sprite):void{
var _local2:Sprite;
var _local3:Point;
while (_arg1.numChildren > 0) {
_local2 = (_arg1.getChildAt(0) as Sprite);
_local3 = _local2.localToGlobal(new Point());
_local2.x = _local3.x;
_local2.y = _local3.y;
level.coverDragoEngineCon.addChild(_local2);
};
}
private function getCheckPoint():void{
var _local1:Sprite;
var _local2:Point;
var _local3:CheckPoint;
_local1 = _playLayer["check_point"];
if (_local1 == null){
return;
};
_local2 = _local1.parent.localToGlobal(new Point(_local1.x, _local1.y));
_local3 = new CheckPoint(_local2, _local1, this);
allParticles[CHECK].push(_local3);
}
public function del():void{
if (enemies != null){
enemies.del();
};
if (properties != null){
properties.del();
};
}
public function removeFromMap(_arg1:RectangleParticle, _arg2:int):Boolean{
var _local3:int;
_local3 = allParticles[_arg2].indexOf(_arg1);
if (_local3 == -1){
return (false);
};
allParticles[_arg2].splice(_local3, 1);
return (true);
}
public function get backLayer():Sprite{
return (_backLayer);
}
protected function getBack():void{
var _local1:String;
var _local2:Sprite;
_local1 = LevelData.backDatas[LevelData.curLevel][LevelData.curMiniLevel][0].url;
if (_local1 != ""){
_local1 = ("level_back0_" + LevelData.backDatas[LevelData.curLevel][LevelData.curMiniLevel][0].url);
_local2 = new (UI.getUIClass(_local1));
_backLayer.addChild(_local2);
};
}
protected function getMap():void{
_playLayer = new (UI.getUIClass((("level" + LevelData.curLevel) + LevelData.curMiniLevel)));
mapCon.addChild(_playLayer);
}
public function get gameCon():Sprite{
return (level.gameCon);
}
public function get dragoMc():MovieClip{
return (_playLayer["dragoMc"]);
}
public function get playCon():Sprite{
return (level.playCon);
}
public function createOneArticle(_arg1:Sprite, _arg2:int):RectangleParticle{
var _local3:int;
var _local4:Number;
var _local5:Number;
var _local6:Point;
var _local7:Rectangle;
var _local8:UserRec;
_local3 = _arg1.rotation;
if (_local3 != 0){
_arg1.rotation = 0;
};
_local4 = _arg1.width;
_local5 = _arg1.height;
_arg1.rotation = _local3;
_local6 = _arg1.parent.localToGlobal(new Point(_arg1.x, _arg1.y));
if (_local3 == 0){
_local7 = _arg1.getBounds(UI._root);
_local6.x = (_local7.x + (_local4 / 2));
_local6.y = (_local7.y + (_local5 / 2));
};
if (_local3 != 0){
_local8 = new UserRec(_local6.x, _local6.y, _local4, _local5, ((_local3 * Math.PI) / 180), true, 1, 0, 1);
_local8.itemNum = AbstractItem.SLOPE;
} else {
_local8 = new UserRec(_local6.x, _local6.y, _local4, _local5, ((_local3 * Math.PI) / 180), true, 1, 0, 0.3);
_local8.itemNum = _arg2;
};
_local8.fixed = true;
return (_local8);
}
public function get playLayer():Sprite{
return (_playLayer);
}
public function get group():Group{
if (mapGroup == null){
mapGroup = new Group();
};
return (mapGroup);
}
}
}//package code.game
Section 178
//UserEvent (code.game.UserEvent)
package code.game {
import flash.events.*;
public class UserEvent extends Event {
public var data:Object;
public function UserEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
data = new Object();
}
}
}//package code.game
Section 179
//Merchandise (code.ui.shop.Merchandise)
package code.ui.shop {
import flash.events.*;
import flash.display.*;
import code.game.*;
import flash.geom.*;
import code.game.object.*;
import flash.text.*;
import code.*;
import code.game.drago.*;
import code.game.data.*;
public class Merchandise extends MovieClip {
private var initLoc:Point;
private var hei:int;
private var enoughMoney:Boolean;// = true
private var price:int;
private var dragoLoc:Point;
private var canBuy:Boolean;// = true
private var wid:int;
public function Merchandise(){
enoughMoney = true;
canBuy = true;
super();
Properties.bindObjsForInit.push(objInit);
Properties.bindFrameObjs.push(enterFrame);
}
private function playSound():void{
var _local1:String;
_local1 = "article4";
SoundsManager.playSound(_local1);
}
private function buyThis():void{
if (!enoughMoney){
return;
};
switch (this.name){
case "oneHeart":
if (canBuy){
LevelData.health++;
this.dispatchEvent(new Event("changeHealth", true));
payoff();
};
break;
case "fullHeart":
if (canBuy){
LevelData.health = LevelData.hearts;
this.dispatchEvent(new Event("changeHealth", true));
payoff();
};
break;
case "extraHeart":
LevelData.health++;
LevelData.hearts++;
this.dispatchEvent(new Event("changeHealth", true));
payoff();
break;
case "oneLife":
LevelData.lives = (int(LevelData.lives) + 1);
this.dispatchEvent(new Event("changeLives", true));
payoff();
break;
};
}
private function setCannotBuy():void{
var _local1:Array;
if (this.parent == null){
return;
};
_local1 = this.filters.concat(this.parent["filtersMc"].filters);
this.filters = _local1;
this.stop();
}
private function enterFrame():void{
dragoLoc = Properties.map.level.dragoGlobalLoc;
if (Math.abs((dragoLoc.x - initLoc.x)) < wid){
if (Math.abs((dragoLoc.y - initLoc.y)) < hei){
Properties.removeEnterFrame(enterFrame);
buyThis();
};
};
}
private function objInit():void{
var _local1:TextField;
initLoc = this.localToGlobal(new Point());
wid = Drago.HALF_WIDTH;
hei = Drago.HALF_HEIGHT;
_local1 = this.parent.parent[(this.name + "_txt")];
if (_local1 != null){
price = int(_local1.text);
};
refresh(new Event("laskdf"));
this.parent.addEventListener("refresh", refresh, false, 0, true);
}
private function payoff():void{
var _local1:UserEvent;
playSound();
_local1 = new UserEvent("showDiamond", true);
_local1.data["type"] = price;
this.dispatchEvent(_local1);
if (this.parent != null){
this.parent.removeEventListener("refresh", refresh);
this.parent.dispatchEvent(new Event("refresh"));
this.parent.removeChild(this);
};
}
private function refresh(_arg1:Event):void{
if (((enoughMoney) && ((int(LevelData.diamondScores) < price)))){
if (canBuy){
setCannotBuy();
};
enoughMoney = false;
};
if (((canBuy) && ((((this.name == "oneHeart")) || ((this.name == "fullHeart")))))){
if (LevelData.health >= LevelData.hearts){
if (enoughMoney){
setCannotBuy();
};
canBuy = false;
};
};
}
}
}//package code.ui.shop
Section 180
//Shop (code.ui.shop.Shop)
package code.ui.shop {
import code.game.object.*;
import code.game.drago.*;
import code.ui.*;
public class Shop {
private var gameShow:GameShow;
public static var shopMap:Boolean;
public function Shop(){
var _local1:int;
super();
shopMap = true;
UI.manager.startGame();
shopMap = false;
gameShow = new GameShow(UI.uiCon, true);
gameShow.mcVisible = true;
_local1 = 0;
while (_local1 < 4) {
Properties.map.level.setMapPaused(_local1, true);
_local1++;
};
Properties.bindFrameObjs.push(enterFrame);
UI.playMusic("shop_m");
}
public function remove():void{
UI.manager.game.dataDel();
UI.manager.game.delElse();
gameShow.remove();
gameShow = null;
UI.manager.shop = null;
UI.manager.loadLevelMap();
}
private function enterFrame():void{
if (DragoRec.dragoRec.px > (570 - Drago.HALF_WIDTH)){
Properties.removeEnterFrame(enterFrame);
remove();
};
}
}
}//package code.ui.shop
Section 181
//ShopMap (code.ui.shop.ShopMap)
package code.ui.shop {
import flash.display.*;
import code.game.*;
import code.ui.*;
public class ShopMap extends Map {
public function ShopMap(_arg1:Sprite, _arg2:Sprite, _arg3:Level){
super(_arg1, _arg2, _arg3);
}
override protected function getSecondaryPlyer():void{
}
override protected function getBack():void{
}
override protected function getMap():void{
_playLayer = new (UI.getUIClass("shopScreen"));
mapCon.addChild(_playLayer);
}
}
}//package code.ui.shop
Section 182
//Credit (code.ui.Credit)
package code.ui {
import flash.events.*;
import flash.display.*;
public class Credit extends UI {
private var backBtn:MovieClip;
private var continueBtn:MovieClip;
public function Credit(_arg1:Boolean=false){
screenInit("creditScreen");
screen.x = 290;
screen.y = 190;
continueBtn = screen["continueBtn"];
backBtn = screen["backBtn"];
if (_arg1){
continueBtn.addEventListener(MouseEvent.CLICK, clickFun, false, 0, true);
backBtn.visible = false;
} else {
backBtn.addEventListener(MouseEvent.CLICK, backFun, false, 0, true);
continueBtn.visible = false;
};
UI.playMusic("mainscreen_m");
}
override public function remove():void{
continueBtn.removeEventListener(MouseEvent.CLICK, clickFun);
backBtn.removeEventListener(MouseEvent.CLICK, backFun);
super.remove();
}
private function clickFun(_arg1:MouseEvent):void{
remove();
manager.credit = null;
manager.mainMenu = new MainMenu();
}
private function backFun(_arg1:MouseEvent):void{
remove();
manager.credit = null;
}
}
}//package code.ui
Section 183
//GameManager (code.ui.GameManager)
package code.ui {
import flash.display.*;
import code.game.*;
import code.*;
import flash.utils.*;
import code.game.data.*;
import code.ui.shop.*;
public class GameManager {
public var ui_show:GameShow;
var highScore:HighScore;
public var levelMap:LevelMap;
public var levelComplete:LevelComplete;
public var levelFailed:LevelFailed;
public var gameOver:GameOver;
public var load:Load;
public var game:Game;
public var shop:Shop;
var mainMenu:MainMenu;
var credit:Credit;
var howToPlay:HowToPlay;
public static var tracker:Object;
public function GameManager(_arg1:MovieClip):void{
var _local2:Class;
super();
init(_arg1);
load = new Load();
_local2 = (getDefinitionByName("com.google.analytics.GATracker") as Class);
tracker = new _local2(_arg1, "UA-6695967-1", "AS3", false);
}
public function loadMainMenu():void{
mainMenu = new MainMenu();
}
public function loadLevelMap():void{
BitmapMc.delAllData();
levelMap = new LevelMap();
}
public function init(_arg1:MovieClip):void{
LevelData.init();
UI.init(_arg1);
UI.manager = this;
}
public function startGame():void{
game = new Game();
}
}
}//package code.ui
Section 184
//GameOver (code.ui.GameOver)
package code.ui {
import flash.events.*;
import flash.display.*;
import code.game.*;
import flash.text.*;
import code.*;
import zlong.data.*;
import code.game.data.*;
public class GameOver extends UI {
private var mainMenuBtn:MovieClip;
private var backMc:MovieClip;
private var txtEffect:MovieClip;
private var over_clear:MovieClip;
private var nameTxt:TextField;
private var submitBtn:MovieClip;
private var game:Game;
private var gameClear:Boolean;
private var scoreTxt:TextField;
public static var totalScore:Object;
public function GameOver(_arg1:Game, _arg2:Boolean=false){
screenInit("gameOverScreen");
screen.x = 290;
screen.y = 190;
this.game = _arg1;
this.gameClear = _arg2;
if (!_arg2){
totalScore = int(LevelData.score);
playMusic("failed_m", 0);
} else {
playMusic("complete_m", 0);
};
submitBtn = screen["submitBtn"];
mainMenuBtn = screen["back_btn"];
backMc = screen["backmc"];
addTxts();
addEvent();
}
override public function remove():void{
game.delElse();
removeTextEvent();
mainMenuBtn.removeEventListener(MouseEvent.CLICK, mainMenuFun);
submitBtn.removeEventListener(MouseEvent.CLICK, submitFun);
super.remove();
}
private function addTxtFocus():void{
screen.stage.focus = nameTxt;
nameTxt.setSelection(0, nameTxt.length);
nameTxt.addEventListener(MouseEvent.MOUSE_DOWN, clearTxt, false, 0, true);
nameTxt.addEventListener(Event.CHANGE, onChange, false, 0, true);
}
private function submitFun(_arg1:MouseEvent):void{
var _local2:String;
if (!GameInfo.cnversion){
_local2 = Tool.RemoveStrBlank(nameTxt.text);
if (_local2 == ""){
_local2 = "player";
};
if (_local2 == "player"){
txtEffect.gotoAndPlay(1);
addTxtFocus();
} else {
UI.stopMusic(false);
if (NewHighScore.getDomainOk()){
NewHighScore.submit(int(totalScore), _local2);
manager.highScore = new HighScore();
} else {
screen.addChild(NewHighScore.getMc());
};
};
} else {
toMainMenu();
Random.submitCode(int(totalScore));
};
}
private function removeTextEvent():void{
nameTxt.removeEventListener(MouseEvent.MOUSE_DOWN, clearTxt);
nameTxt.removeEventListener(Event.CHANGE, onChange);
}
function toMainMenu():void{
remove();
BitmapMc.delAllData();
manager.gameOver = null;
if (gameClear){
manager.credit = new Credit(true);
} else {
manager.loadMainMenu();
};
}
private function clearTxt(_arg1:MouseEvent):void{
nameTxt.text = "";
removeTextEvent();
}
private function addTxts():void{
var _local1:Sprite;
_local1 = (screen["txtCon"] as Sprite);
scoreTxt = _local1["scoreTxt"];
scoreTxt.autoSize = "center";
scoreTxt.text = totalScore.toString();
nameTxt = _local1["nameTxt"];
nameTxt.text = "player";
addTxtFocus();
over_clear = _local1["over_clear"];
over_clear.stop();
txtEffect = _local1["txtEffect"];
txtEffect.stop();
if (gameClear){
over_clear.gotoAndStop(2);
} else {
backMc.visible = false;
};
}
private function mainMenuFun(_arg1:MouseEvent):void{
toMainMenu();
}
private function onChange(_arg1:Event):void{
removeTextEvent();
}
private function addEvent():void{
submitBtn.addEventListener(MouseEvent.CLICK, submitFun, false, 0, true);
mainMenuBtn.addEventListener(MouseEvent.CLICK, mainMenuFun, false, 0, true);
}
}
}//package code.ui
Section 185
//GameShow (code.ui.GameShow)
package code.ui {
import flash.events.*;
import flash.display.*;
import code.game.*;
import code.game.object.*;
import flash.text.*;
import code.*;
import code.game.drago.*;
import code.game.data.*;
public class GameShow {
private var diamondTxt:TextField;
private var showCon:Sprite;
private var minute:int;
private var lifeTxt:TextField;
private var scoretxt:TextField;
private var diamondNums:int;
private var timeInt:int;
private var timeTxt:TextField;
private var _start:Boolean;
private var hearts:Array;
private var second:int;
private var blackMc:MovieClip;
private var parentCon:Sprite;
private var usePowerTip:Sprite;
public static var healthLock:Boolean;
public function GameShow(_arg1:Sprite, _arg2:Boolean=false){
hearts = [];
super();
showCon = new (UI.getUIClass("UI_show"));
showCon.visible = false;
_arg1.addChild(showCon);
parentCon = _arg1;
parentCon.addEventListener("showDiamond", showDiamond, false, 0, true);
parentCon.addEventListener("changeHealth", changeHealth, false, 0, true);
parentCon.addEventListener("changeLives", changeLives, false, 0, true);
parentCon.addEventListener("changeScore", changeScore, false, 0, true);
if (((!(_arg2)) && (Root.FOR_TEST))){
showCon.addEventListener(MouseEvent.CLICK, tempClickFun, false, 0, true);
};
getTexts();
getHealths();
refreshHealths();
showTime();
usePowerTip = showCon["usePowerTip"];
usePowerTip.visible = false;
UI.uiCon.addEventListener("showUsePowerTip", showUsePowerTip, false, 0, true);
UI.uiCon.addEventListener("hideUsePowerTip", hideUsePowerTip, false, 0, true);
blackMc = showCon["black_mc"];
blackMc.alpha = 1;
blackMc.mouseChildren = false;
blackMc.mouseEnabled = false;
blackMc.addFrameScript((blackMc.totalFrames - 1), lastFrameFun);
}
private function showUsePowerTip(_arg1:Event):void{
usePowerTip.visible = true;
}
private function hideUsePowerTip(_arg1:Event):void{
usePowerTip.visible = false;
}
private function changeScore(_arg1:Event):void{
scoretxt.text = String(LevelData.score);
}
private function tempClickFun(_arg1:MouseEvent):void{
var _local2:*;
switch (_arg1.target){
case lifeTxt:
LevelData.lives = (int(LevelData.lives) + 1);
lifeTxt.text = ("x" + (Number(LevelData.lives) - 1));
break;
case timeTxt:
second = (second - 30);
showTime();
break;
case showCon["time_mc"]:
second = (second + 30);
showTime();
break;
case showCon["tempMc"]:
if (healthLock){
healthLock = false;
for (_local2 in hearts) {
hearts[_local2].alpha = 1;
};
} else {
healthLock = true;
for (_local2 in hearts) {
hearts[_local2].alpha = 0.3;
};
};
break;
case scoretxt:
UI.dispatchFun(DragoRec.dragoRec.sprite, "levelComplete");
break;
};
}
private function showTime():void{
LevelData.leftTime = (300 - second);
if (LevelData.leftTime < 0){
timeTxt.text = "0";
UI.dispatchFun(parentCon, "timeUp");
} else {
timeTxt.text = LevelData.leftTime.toString();
};
}
public function get uiCon():Sprite{
return (showCon);
}
public function set mcVisible(_arg1:Boolean):void{
if (_arg1){
showCon.visible = true;
} else {
showCon.visible = false;
};
}
private function getTexts():void{
lifeTxt = showCon["life_txt"];
lifeTxt.text = ("x" + (Number(LevelData.lives) - 1));
timeTxt = showCon["time_txt"];
diamondTxt = showCon["diamond_txt"];
diamondTxt.text = String(LevelData.diamondScores);
scoretxt = showCon["score_txt"];
scoretxt.text = String(LevelData.score);
}
public function set start(_arg1:Boolean):void{
_start = _arg1;
mcVisible = _arg1;
}
public function enterFrame():void{
if (_start){
timeInt++;
if (timeInt >= 30){
timeInt = 0;
second++;
if (second >= 59){
minute++;
};
showTime();
};
};
}
public function remove():void{
Properties.removeEnterFrame(enterFrame);
parentCon.removeEventListener("showDiamond", showDiamond);
parentCon.removeEventListener("changeHealth", changeHealth);
parentCon.removeEventListener("changeHealth", changeLives);
showCon.removeEventListener(MouseEvent.CLICK, tempClickFun);
if (showCon.parent != null){
showCon.parent.removeChild(showCon);
};
}
private function lastFrameFun():void{
Properties.bindFrameObjs.push(enterFrame);
blackMc.stop();
blackMc.visible = false;
UI._root.dispatchEvent(new Event("blackOver"));
}
private function showDiamond(_arg1:UserEvent):void{
diamondNums++;
switch (_arg1.data["type"]){
case "green":
LevelData.diamondScores = (int(LevelData.diamondScores) + 1);
LevelData.score = (int(LevelData.score) + 50);
break;
case "red":
LevelData.diamondScores = (int(LevelData.diamondScores) + 5);
LevelData.score = (int(LevelData.score) + 100);
break;
case "blue":
LevelData.diamondScores = (int(LevelData.diamondScores) + 10);
LevelData.score = (int(LevelData.score) + 300);
break;
default:
if ((Number(_arg1.data["type"]) is int)){
LevelData.diamondScores = (int(LevelData.diamondScores) - int(_arg1.data["type"]));
};
};
diamondTxt.text = String(LevelData.diamondScores);
scoretxt.text = String(LevelData.score);
}
private function refreshHealths():void{
var _local1:int;
_local1 = 0;
while (_local1 < 10) {
if (_local1 < LevelData.hearts){
if (_local1 < LevelData.health){
hearts[_local1].gotoAndStop(1);
} else {
hearts[_local1].gotoAndStop(2);
};
} else {
hearts[_local1].gotoAndStop(3);
};
_local1++;
};
}
private function changeHealth(_arg1:Event):void{
refreshHealths();
}
private function getHealths():void{
var _local1:MovieClip;
var _local2:int;
_local2 = 0;
while (_local2 < 10) {
_local1 = showCon[("xin" + _local2)];
_local1.stop();
hearts.push(_local1);
_local2++;
};
}
private function changeLives(_arg1:Event):void{
lifeTxt.text = ("x" + (Number(LevelData.lives) - 1));
}
}
}//package code.ui
Section 186
//HighScore (code.ui.HighScore)
package code.ui {
import flash.events.*;
import flash.display.*;
public class HighScore extends UI {
private var backBtn:MovieClip;
public function HighScore(){
screenInit("highScoreScreen");
screen.x = 290;
screen.y = 190;
backBtn = screen["back_btn"];
backBtn.addEventListener(MouseEvent.CLICK, backFun, false, 0, true);
screen["show_mc"].visible = false;
screen.addChild(NewHighScore.getMc());
}
private function backFun(_arg1:MouseEvent):void{
backBtn.removeEventListener(MouseEvent.CLICK, backFun);
super.remove();
manager.highScore = null;
if (manager.gameOver != null){
manager.gameOver.toMainMenu();
};
}
}
}//package code.ui
Section 187
//HowToPlay (code.ui.HowToPlay)
package code.ui {
import flash.events.*;
import flash.display.*;
public class HowToPlay extends UI {
private var creditsBtn:MovieClip;
private var backBtn:MovieClip;
public function HowToPlay():void{
screenInit("howToPlayScreen");
screen.x = 290;
screen.y = 190;
getChildren();
UI.playMusic("mainscreen_m");
}
override public function remove():void{
backBtn.removeEventListener(MouseEvent.CLICK, backFun);
creditsBtn.removeEventListener(MouseEvent.CLICK, creditsFun);
super.remove();
}
private function creditsFun(_arg1:MouseEvent):void{
manager.credit = new Credit();
}
private function getChildren():void{
backBtn = (screen.getChildByName("back_btn") as MovieClip);
backBtn.addEventListener(MouseEvent.CLICK, backFun, false, 0, true);
creditsBtn = (screen.getChildByName("credits_btn") as MovieClip);
creditsBtn.addEventListener(MouseEvent.CLICK, creditsFun, false, 0, true);
}
private function backFun(_arg1:MouseEvent):void{
remove();
manager.howToPlay = null;
manager.mainMenu = new MainMenu();
}
}
}//package code.ui
Section 188
//LevelComplete (code.ui.LevelComplete)
package code.ui {
import flash.net.*;
import flash.events.*;
import flash.display.*;
import code.game.*;
import flash.text.*;
import code.game.drago.*;
import code.game.data.*;
import code.ui.shop.*;
public class LevelComplete extends UI {
private var levelScoreTxt:TextField;
private var totalScoreTxt:TextField;
private var game:Game;
private var continueBtn:MovieClip;
private var timeScoreTxt:TextField;
private var gameClear:Boolean;
public function LevelComplete(_arg1:Game, _arg2:Boolean=false){
screenInit("levelCompleteScreen");
DragoRec.dragoRec.drago.setPaused(true);
DragoRec.dragoRec.drago.changeState("levelComplete");
screen.x = 290;
screen.y = 190;
this.game = _arg1;
this.gameClear = _arg2;
if (_arg2){
GameOver.totalScore = int(LevelData.score);
};
addTxts();
continueBtn = screen["continueBtn"];
continueBtn.addEventListener(MouseEvent.CLICK, clickFun, false, 0, true);
UI._stage.focus = UI._stage;
_stage.addEventListener(KeyboardEvent.KEY_UP, clickFun, false, 0, true);
if ((((((LevelData.curLevel == 3)) || ((LevelData.curLevel == 4)))) || ((LevelData.curLevel == 7)))){
var _local3 = GameManager.tracker;
_local3["trackEvent"]("DragoAdventure", (("world" + LevelData.curLevel) + "complete"), "per session", 0);
};
playMusic("complete_m", 0);
}
override public function remove():void{
var dialogMc:MovieClip;
var loadGameOver:Function;
continueBtn.removeEventListener(MouseEvent.CLICK, clickFun);
_stage.removeEventListener(KeyboardEvent.KEY_UP, clickFun);
super.remove();
manager.levelComplete = null;
releaseMemory();
if (gameClear){
loadGameOver = function ():void{
dialogMc.removeEventListener("dialogOver", loadGameOver);
manager.gameOver = new GameOver(game, true);
};
dialogMc = new (getUIClass("dialog61"));
dialogMc.addEventListener("dialogOver", loadGameOver);
} else {
game.delElse();
manager.shop = new Shop();
};
}
private function releaseMemory():void{
try {
new LocalConnection().connect("MoonSpirit");
new LocalConnection().connect("MoonSpirit");
} catch(error:Error) {
};
}
private function addTxts():void{
var _local1:Sprite;
var _local2:int;
var _local3:int;
_local1 = (screen["txtCon"] as Sprite);
levelScoreTxt = _local1["levelScoreTxt"];
levelScoreTxt.autoSize = "center";
_local2 = (LevelData.curLevel * 1000);
levelScoreTxt.text = _local2.toString();
timeScoreTxt = _local1["timeScoreTxt"];
timeScoreTxt.autoSize = "center";
_local3 = (LevelData.leftTime * 10);
timeScoreTxt.text = _local3.toString();
totalScoreTxt = _local1["totalScoreTxt"];
totalScoreTxt.autoSize = "center";
LevelData.score = ((int(LevelData.score) + _local2) + _local3);
totalScoreTxt.text = LevelData.score.toString();
}
private function clickFun(_arg1:Event):void{
if ((((_arg1 is MouseEvent)) || ((((_arg1 is KeyboardEvent)) && (((_arg1 as KeyboardEvent).keyCode == 32)))))){
UI.stopMusic(false);
remove();
};
}
}
}//package code.ui
Section 189
//LevelFailed (code.ui.LevelFailed)
package code.ui {
import flash.events.*;
import flash.display.*;
import code.game.*;
public class LevelFailed extends UI {
private var failed_timeup:MovieClip;
private var game:Game;
private var continueBtn:MovieClip;
public function LevelFailed(_arg1:Game, _arg2:Boolean=false){
screenInit("levelFailedScreen");
screen.x = 290;
screen.y = 190;
this.game = _arg1;
failed_timeup = screen["failed_timeup"];
failed_timeup.stop();
if (_arg2){
failed_timeup.gotoAndStop(2);
};
continueBtn = screen["continueBtn"];
continueBtn.addEventListener(MouseEvent.CLICK, clickFun, false, 0, true);
UI._stage.focus = UI._stage;
_stage.addEventListener(KeyboardEvent.KEY_UP, clickFun, false, 0, true);
playMusic("failed_m", 0);
}
override public function remove():void{
continueBtn.removeEventListener(MouseEvent.CLICK, clickFun);
_stage.removeEventListener(KeyboardEvent.KEY_UP, clickFun);
super.remove();
manager.levelFailed = null;
game.delElse();
manager.startGame();
}
private function clickFun(_arg1:Event):void{
if ((((_arg1 is MouseEvent)) || ((((_arg1 is KeyboardEvent)) && (((_arg1 as KeyboardEvent).keyCode == 32)))))){
remove();
};
}
}
}//package code.ui
Section 190
//LevelMap (code.ui.LevelMap)
package code.ui {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.text.*;
import code.*;
import code.game.data.*;
public class LevelMap extends UI {
private var p2:Point;
private var speed:Point;
private var prevLevel:int;
private var curCloud:MovieClip;
private var curLevelBtn:Sprite;
private var tempLevels:Array;
private var curLevel:int;
private var dragoMc:MovieClip;
private var tempParts:Array;
private var continueBtn:MovieClip;
private var blackMc:MovieClip;
private var direction:int;
public function LevelMap(){
screenInit("levelMapScreen");
screen.x = 290;
screen.y = 190;
prevLevel = (((LevelData.curLevel - 1) == 5)) ? 0 : (LevelData.curLevel - 1);
curLevel = ((LevelData.curLevel == 5)) ? 0 : LevelData.curLevel;
continueBtn = screen["continueBtn"];
continueBtn.visible = false;
continueBtn.addEventListener(MouseEvent.CLICK, clickFun, false, 0, true);
blackMc = screen["black_mc"];
blackMc.mouseChildren = false;
blackMc.mouseEnabled = false;
blackMc.stop();
blackMc.addFrameScript((blackMc.totalFrames - 1), lastFrameFun);
tempInit();
cloud();
dragoInit();
UI.playMusic("map_m");
}
private function removeCurCloud():void{
curLevelBtn = screen[("level" + curLevel)];
curLevelBtn.buttonMode = true;
curLevelBtn.addEventListener(MouseEvent.CLICK, clickFun, false, 0, true);
UI._stage.focus = UI._stage;
_stage.addEventListener(KeyboardEvent.KEY_UP, keyFun, false, 0, true);
continueBtn.visible = true;
curCloud.stop();
if (curCloud.parent != null){
curCloud.parent.removeChild(curCloud);
};
}
override public function remove():void{
curLevelBtn.removeEventListener(MouseEvent.CLICK, clickFun);
continueBtn.removeEventListener(MouseEvent.CLICK, clickFun);
_stage.removeEventListener(KeyboardEvent.KEY_UP, keyFun);
blackMc.parent.setChildIndex(blackMc, (blackMc.parent.numChildren - 1));
blackMc.play();
}
private function cloud():void{
var _local1:MovieClip;
var _local2:int;
_local2 = 0;
while (_local2 < 7) {
if (_local2 == 5){
} else {
_local1 = screen[("cloud" + _local2)];
_local1.stop();
if (_local2 < LevelData.curLevel){
_local1.visible = false;
};
if (_local2 == 0){
if (LevelData.curLevel == 5){
_local1.visible = true;
};
};
};
_local2++;
};
curCloud = screen[("cloud" + curLevel)];
curCloud.gotoAndPlay(2);
curCloud.addFrameScript((curCloud.totalFrames - 1), removeCurCloud);
}
private function tempInit():void{
var _local1:Sprite;
var _local2:MovieClip;
var _local3:TextField;
var _local4:int;
tempLevels = [];
_local1 = screen["tempCon"];
_local1.mouseEnabled = false;
if (!Root.FOR_TEST){
_local1.mouseChildren = false;
_local1.visible = false;
};
_local4 = 0;
while (_local4 < 7) {
_local2 = _local1[("temp" + _local4)];
_local2.alpha = 0.3;
_local2.stop();
_local3 = _local2["_txt"];
_local3.text = String((_local4 + 1));
_local3.mouseEnabled = false;
if (_local4 < LevelData.complete){
_local2.buttonMode = true;
_local2.alpha = 1;
_local2.addEventListener(MouseEvent.CLICK, tempMcFun, false, 0, true);
tempLevels.push(_local2);
if (_local4 == LevelData.curLevel){
_local2.gotoAndStop(2);
};
};
_local4++;
};
tempParts = [];
_local4 = 0;
while (_local4 < 3) {
_local2 = _local1[("part" + _local4)];
_local2.buttonMode = true;
_local2.stop();
_local3 = _local2["_txt"];
_local3.text = String((_local4 + 1));
_local3.mouseEnabled = false;
_local2.addEventListener(MouseEvent.CLICK, tempPartMcFun, false, 0, true);
tempParts.push(_local2);
if (_local4 == LevelData.curMiniLevel){
_local2.gotoAndStop(2);
};
if ((((_local4 == 2)) && (!((LevelData.curLevel == 4))))){
_local2.visible = false;
};
_local4++;
};
}
private function clickFun(_arg1:MouseEvent):void{
remove();
}
private function tempPartMcFun(_arg1:MouseEvent):void{
var _local2:*;
var _local3:MovieClip;
for (_local2 in tempParts) {
tempParts[_local2].gotoAndStop(1);
};
_local3 = (_arg1.currentTarget as MovieClip);
LevelData.curMiniLevel = int(_local3.name.slice(-1));
_local3.gotoAndStop(2);
}
private function lastFrameFun():void{
blackMc.stop();
if (blackMc.parent != null){
blackMc.parent.removeChild(blackMc);
};
startGame();
}
private function keyFun(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == 32){
remove();
};
}
private function dragoInit():void{
var _local1:Sprite;
var _local2:Point;
if (prevLevel < 0){
_local1 = screen["level_1"];
} else {
_local1 = screen[("level" + prevLevel)];
};
_local2 = new Point(_local1.x, _local1.y);
_local1 = screen[("level" + curLevel)];
p2 = new Point(_local1.x, _local1.y);
speed = Tool.caculateSpeed(_local2, p2, (Point.distance(_local2, p2) / curCloud.totalFrames));
if (p2.x >= _local2.x){
direction = 1;
} else {
direction = 0;
};
dragoMc = (new (getUIClass("dragoMcCla0")) as MovieClip);
dragoMc.mouseChildren = false;
dragoMc.mouseEnabled = false;
screen.addChild(dragoMc);
dragoMc.x = _local2.x;
dragoMc.y = _local2.y;
dragoMc.gotoAndStop(("move" + direction));
dragoMc.addEventListener(Event.ENTER_FRAME, dragoMove, false, 0, true);
}
private function tempMcFun(_arg1:MouseEvent):void{
var _local2:*;
var _local3:MovieClip;
for (_local2 in tempLevels) {
tempLevels[_local2].gotoAndStop(1);
};
_local3 = (_arg1.currentTarget as MovieClip);
LevelData.curLevel = int(_local3.name.slice(-1));
_local3.gotoAndStop(2);
if (LevelData.curLevel == 4){
tempParts[2].visible = true;
} else {
tempParts[2].visible = false;
};
}
private function startGame():void{
super.remove();
manager.levelMap = null;
manager.startGame();
}
private function dragoMove(_arg1:Event):void{
dragoMc.x = (dragoMc.x + speed.x);
dragoMc.y = (dragoMc.y + speed.y);
if (Point.distance(new Point(dragoMc.x, dragoMc.y), p2) < 8){
dragoMc.removeEventListener(Event.ENTER_FRAME, dragoMove);
dragoMc.gotoAndStop(("stand" + direction));
};
}
}
}//package code.ui
Section 191
//Load (code.ui.Load)
package code.ui {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import code.*;
import flash.utils.*;
import zlong.data.*;
public class Load extends UI {
private const totalBytes:int = 7321000;
private var intervalId:int;
private var temp:Boolean;
private var percentTxt:TextField;
private var loadingMc:MovieClip;
public function Load(){
temp = false;
screenInit("LoadingScreen");
screen.x = 290;
screen.y = 190;
childrenInit();
uiCon.addChild(screen);
screen.addEventListener(Event.ENTER_FRAME, loadingPercent, false, 0, true);
}
override public function remove():void{
screen.removeEventListener(Event.ENTER_FRAME, loadingPercent);
super.remove();
}
private function intervalHandler():void{
clearInterval(intervalId);
completeFun();
}
private function completeFun():void{
UI._root.gotoAndStop(7);
init();
toMenu();
}
private function init():void{
if (!GameInfo.cnversion){
NewHighScore.getMc(UI._root);
};
var _local1 = GameManager.tracker;
_local1["trackEvent"]("DragoAdventure", "mainscreen viewed", "per session", 0);
SoundsManager.init();
}
private function loadingPercent(_arg1:Event):void{
var _local2:Number;
if (temp){
return;
};
trace(screen.root.loaderInfo.bytesTotal);
_local2 = (screen.root.loaderInfo.bytesLoaded / totalBytes);
if (_local2 >= 1){
initInterval();
} else {
_local2 = Math.round((_local2 * 100));
percentTxt.text = String((_local2 + "%"));
loadingMc.gotoAndStop((_local2 + 1));
};
}
private function childrenInit():void{
loadingMc = (screen.getChildByName("loadingMc") as MovieClip);
percentTxt = (screen.getChildByName("percent") as TextField);
}
private function initInterval():void{
temp = true;
intervalId = setInterval(intervalHandler, 300);
}
private function toMenu():void{
remove();
manager.load = null;
manager.loadMainMenu();
}
}
}//package code.ui
Section 192
//LoadingDoc (code.ui.LoadingDoc)
package code.ui {
import flash.events.*;
import flash.display.*;
import flash.text.*;
public class LoadingDoc extends MovieClip {
private const totalBytes:int = 7321000;
private var percent:Number;// = 0
private var per_txt:TextField;
public var zhezhao:MovieClip;
private var txt_format:TextFormat;
public var inside_mc:dragoWater_mc;
private var txtCon:Sprite;
public function LoadingDoc(){
percent = 0;
super();
stageInit();
createTxt();
this.addEventListener(Event.ENTER_FRAME, enterFrame);
}
private function stageInit():void{
stage.stageFocusRect = false;
stage.tabChildren = false;
stage.frameRate = 30;
}
private function enterFrame(_arg1:Event):void{
percent = (this.loaderInfo.bytesLoaded / totalBytes);
refreshTxt();
if (this.currentFrame >= 3){
this.removeEventListener(Event.ENTER_FRAME, enterFrame);
this.removeChild(txtCon);
};
}
private function refreshTxt():void{
per_txt.text = String((Math.round((percent * 100)) + "%"));
}
private function createTxt():void{
txtCon = new Sprite();
txtCon.x = 320;
txtCon.y = 190;
this.addChild(txtCon);
txt_format = new TextFormat();
txt_format.size = 14;
txt_format.font = "Benguiat Bk BT";
per_txt = new TextField();
per_txt.autoSize = "center";
per_txt.width = 47;
per_txt.x = -23.5;
per_txt.y = -12.4;
per_txt.textColor = 0;
per_txt.selectable = false;
per_txt.setTextFormat(txt_format);
txtCon.addChild(per_txt);
refreshTxt();
}
}
}//package code.ui
Section 193
//MainMenu (code.ui.MainMenu)
package code.ui {
import flash.events.*;
import flash.display.*;
import code.*;
import zlong.data.*;
import code.game.data.*;
public class MainMenu extends UI {
private var startGameBtn:MovieClip;
private var highScoreBtn:MovieClip;
private var howToPlayBtn:MovieClip;
private var dialogMc:MovieClip;
public function MainMenu(){
screenInit("main_screen");
screen.x = 290;
screen.y = 190;
getChildren();
UI.playMusic("mainscreen_m");
}
private function howToPlayFun(_arg1:MouseEvent):void{
remove();
manager.howToPlay = new HowToPlay();
}
override public function remove():void{
startGameBtn.removeEventListener(MouseEvent.CLICK, clickFun);
highScoreBtn.removeEventListener(MouseEvent.CLICK, loadHighScore);
howToPlayBtn.removeEventListener(MouseEvent.CLICK, howToPlayFun);
super.remove();
manager.mainMenu = null;
}
private function loadHighScore(_arg1:MouseEvent):void{
if (!GameInfo.cnversion){
if (NewHighScore.getDomainOk()){
manager.highScore = new HighScore();
} else {
screen.addChild(NewHighScore.getMc());
};
} else {
Random.geturl();
};
}
private function getChildren():void{
startGameBtn = screen["startGameBtn"];
startGameBtn.addEventListener(MouseEvent.CLICK, clickFun, false, 0, true);
highScoreBtn = screen["highScoreBtn"];
highScoreBtn.addEventListener(MouseEvent.CLICK, loadHighScore, false, 0, true);
howToPlayBtn = screen["howToPlayBtn"];
howToPlayBtn.addEventListener(MouseEvent.CLICK, howToPlayFun, false, 0, true);
}
private function clickFun(_arg1:MouseEvent):void{
remove();
if (LevelData.curLevel == 0){
dialogMc = new (getUIClass("dialogGame_mc"));
dialogMc.addEventListener("dialogOver", dialogToLevelMap);
} else {
manager.loadLevelMap();
};
}
private function dialogToLevelMap(_arg1:Event):void{
dialogMc.removeEventListener("dialogOver", dialogToLevelMap);
manager.loadLevelMap();
}
}
}//package code.ui
Section 194
//MusicBtn (code.ui.MusicBtn)
package code.ui {
import flash.events.*;
import flash.display.*;
import code.*;
public class MusicBtn extends MovieClip {
private static var musicOn:Boolean = true;
public function MusicBtn(){
this.buttonMode = true;
this.mouseChildren = false;
this.addEventListener(MouseEvent.CLICK, clickFun, false, 0, true);
refresh();
}
private function clickFun(_arg1:MouseEvent):void{
if (musicOn){
musicOn = false;
SoundsManager.stopMusic();
SoundsManager.modifyMusicVolume(0, false);
} else {
musicOn = true;
SoundsManager.modifyMusicVolume(-1, false);
SoundsManager.playMusic("danger_m");
SoundsManager.playMusic("mainscreen_m");
};
refresh();
}
private function refresh():void{
if (musicOn){
this.gotoAndStop(1);
} else {
this.gotoAndStop(2);
};
}
}
}//package code.ui
Section 195
//NewHighScore (code.ui.NewHighScore)
package code.ui {
import flash.events.*;
import flash.display.*;
import zlong.country.*;
import flash.utils.*;
public class NewHighScore {
private static var mc:MovieClip;
public static function getWebsite(_arg1:Event):void{
}
public static function continueBtn(_arg1:Event):void{
if (mc.parent != null){
mc.parent.removeChild(mc);
};
}
public static function submit(_arg1:Number, _arg2:String):void{
var _local3 = mc;
_local3["O11111O10"](Number(_arg1), _arg2);
}
public static function getMc(_arg1:Sprite=null):MovieClip{
if (mc == null){
mc = new (getDefinitionByName("O11111OO11"));
mc.addEventListener("000111000100", continueBtn, false, 0, true);
mc.addEventListener("00111111000", getWebsite, false, 0, true);
var _local2 = mc;
_local2["O111111O"](_arg1, "drago_adventure", "drago-adventure", 0, "normal", 2);
mc.x = -240;
mc.y = -148;
};
_local2 = mc;
_local2["O1100000l"](CountryInfo.instance.country);
return (mc);
}
public static function getDomainOk():Boolean{
if (mc == null){
getMc();
};
return (mc["O11111100"]());
}
}
}//package code.ui
Section 196
//QualityBtn (code.ui.QualityBtn)
package code.ui {
import flash.events.*;
import flash.display.*;
public class QualityBtn extends MovieClip {
private static var curQua:int = 1;
public function QualityBtn(){
this.buttonMode = true;
this.mouseChildren = false;
this.addEventListener(MouseEvent.CLICK, clickFun, false, 0, true);
refresh();
}
private function clickFun(_arg1:MouseEvent):void{
curQua++;
if (curQua > 3){
curQua = 1;
};
refresh();
}
private function refresh():void{
this.gotoAndStop(curQua);
if (curQua == 1){
UI._stage.quality = "best";
} else {
if (curQua == 2){
UI._stage.quality = "medium";
} else {
UI._stage.quality = "low";
};
};
}
}
}//package code.ui
Section 197
//SoundBtn (code.ui.SoundBtn)
package code.ui {
import flash.events.*;
import flash.display.*;
import code.*;
public class SoundBtn extends MovieClip {
private static var soundOn:Boolean = true;
public function SoundBtn(){
this.buttonMode = true;
this.mouseChildren = false;
this.addEventListener(MouseEvent.CLICK, clickFun, false, 0, true);
refresh();
}
private function clickFun(_arg1:MouseEvent):void{
if (soundOn){
soundOn = false;
} else {
soundOn = true;
};
refresh();
}
private function refresh():void{
if (soundOn){
this.gotoAndStop(1);
SoundsManager.modifySoundsVolume();
} else {
this.gotoAndStop(2);
SoundsManager.modifySoundsVolume(0);
};
}
}
}//package code.ui
Section 198
//UI (code.ui.UI)
package code.ui {
import flash.display.*;
import code.game.*;
import code.*;
import flash.utils.*;
import code.game.data.*;
public class UI {
protected var screen:Sprite;
public static var _root:MovieClip;
public static var manager:GameManager;
public static var uiCon:Sprite;
public static var _stage:Stage;
public function remove():void{
if (screen.parent != null){
screen.parent.removeChild(screen);
};
}
protected function screenInit(_arg1:String):void{
screen = new (getUIClass(_arg1));
uiCon.addChild(screen);
}
public static function stopMusic(_arg1:Boolean=true):void{
SoundsManager.stopMusic(_arg1);
}
public static function playLevelMusic():void{
switch (LevelData.curLevel){
case 0:
playMusic("drago_village_m");
break;
case 1:
playMusic("themepark_m");
break;
case 2:
if (LevelData.curMiniLevel == 0){
playMusic("drago_village_m");
} else {
playMusic("underground_m");
};
break;
case 3:
playMusic("danger_m");
break;
case 4:
playMusic("clouds_m");
break;
case 5:
playMusic("danger_m");
break;
case 6:
playMusic("boss_m", int.MAX_VALUE, 500, 1000);
break;
};
}
public static function dispatchFun(_arg1:DisplayObject, _arg2:String):void{
var _local3:UserEvent;
_local3 = new UserEvent("levelInfo", true);
_local3.data["levelInfo"] = _arg2;
_arg1.dispatchEvent(_local3);
}
public static function getUIClass(_arg1:String):Class{
return ((getDefinitionByName(_arg1) as Class));
}
public static function init(_arg1:MovieClip):void{
_root = _arg1;
_stage = _arg1.stage;
uiCon = new Sprite();
_arg1.addChildAt(uiCon, 0);
}
public static function playMusic(_arg1:String, _arg2:int=2147483647, _arg3:int=500, _arg4:int=500):void{
SoundsManager.playMusic(_arg1, _arg2, _arg3, _arg4);
}
public static function buttonTouch():void{
SoundsManager.playSound("menu_touch_s");
}
public static function buttonPress():void{
SoundsManager.playSound("menu_press_s");
}
}
}//package code.ui
Section 199
//BitmapMc (code.BitmapMc)
package code {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
public class BitmapMc extends MovieClip {
private var curFrame:int;
private var className:String;
private var initStop:Boolean;
private var bitmap:Bitmap;
public var bombLoc:小球;
public var score_mc:MovieClip;
public var hitRange:MovieClip;
private var direction:int;// = 1
public var fireLocMc:MovieClip;
public var zuo:MovieClip;
private var isPlay:Boolean;
private var numFrames:int;
private var rate:int;
private var frameFuns:Array;
private var hasStart:Boolean;
private var labels:Array;
private static var alltimer:Timer;
private static var shareBitmaps:Array = [];
private static var runFuns:Array = [];
public function BitmapMc(){
var _local1:int;
frameFuns = [];
direction = 1;
super();
rate = (this.stage) ? (1000 / this.stage.frameRate) : 33;
numFrames = super.totalFrames;
className = getQualifiedClassName(this);
getLabels();
if (shareBitmaps[className] == null){
shareBitmaps[className] = [];
_local1 = 0;
while (_local1 < (numFrames - 1)) {
super.addFrameScript(_local1, getBitmapData);
_local1++;
};
if (numFrames > 1){
super.addFrameScript((numFrames - 1), lastFrame);
super.gotoAndPlay(1);
} else {
super.addFrameScript((numFrames - 1), oneFrame);
};
} else {
super.stop();
runFuns.push(sharedOver);
};
}
override public function stop():void{
if (hasStart){
isPlay = false;
} else {
initStop = true;
};
}
private function getLabels():void{
var _local1:Array;
var _local2:int;
_local1 = this.currentLabels;
labels = [];
_local2 = 0;
while (_local2 < _local1.length) {
labels[_local1[_local2].name] = _local1[_local2].frame;
_local2++;
};
}
private function timerInit():void{
runFuns.push(motion);
if (!initStop){
isPlay = true;
};
hasStart = true;
}
override public function get totalFrames():int{
return (numFrames);
}
private function addBitmap():void{
clear();
bitmap = new Bitmap();
this.addChild(bitmap);
goFrame(curFrame);
}
override public function play():void{
if (hasStart){
isPlay = true;
} else {
initStop = false;
};
}
private function deleteSharedTimer():void{
removeFromFuns(sharedOver);
}
override public function addFrameScript(... _args):void{
var _local2:int;
_local2 = 0;
while (_local2 < (_args.length - 1)) {
if ((((_args[(_local2 + 1)] is Function)) || ((_args[(_local2 + 1)] == null)))){
if ((_args[_local2] is Number)){
frameFuns[_args[_local2]] = _args[(_local2 + 1)];
} else {
if ((_args[_local2] is String)){
if (labels[_args[_local2]] != null){
frameFuns[(labels[_args[_local2]] - 1)] = _args[(_local2 + 1)];
};
};
};
};
_local2 = (_local2 + 2);
};
}
override public function nextFrame():void{
curFrame = (curFrame + 1);
testRange();
if (hasStart){
goFrame(curFrame);
};
}
override public function get currentFrame():int{
return ((curFrame + 1));
}
protected function testRemoved():void{
if (this.stage == null){
gotoAndStop(1);
};
}
private function getBitmapData():void{
var _local1:Rectangle;
var _local2:Matrix;
var _local3:BitmapData;
var _local4:int;
_local1 = this.getBounds(this);
_local2 = new Matrix();
_local2.tx = -(_local1.x);
_local2.ty = -(_local1.y);
_local3 = new BitmapData(_local1.width, _local1.height, true, 0);
_local3.draw(this, _local2, null, null, null, true);
_local4 = (super.currentFrame - 1);
super.addFrameScript(_local4, null);
if (shareBitmaps[className] == null){
return;
};
shareBitmaps[className][_local4] = [];
shareBitmaps[className][_local4][0] = _local3;
shareBitmaps[className][_local4][1] = new Point(_local1.x, _local1.y);
}
private function lastFrame():void{
getBitmapData();
super.addFrameScript(0, firstFrame);
}
private function goFrame(_arg1:int):void{
if (shareBitmaps != null){
if (shareBitmaps[className] == null){
return;
};
if (shareBitmaps[className][_arg1] != null){
bitmap.bitmapData = shareBitmaps[className][_arg1][0];
bitmap.x = shareBitmaps[className][_arg1][1].x;
bitmap.y = shareBitmaps[className][_arg1][1].y;
};
if (frameFuns[_arg1] != null){
var _local2 = frameFuns;
_local2[_arg1]();
};
};
}
override public function gotoAndStop(_arg1:Object, _arg2:String=null):void{
if ((_arg1 is Number)){
curFrame = (int(_arg1) - 1);
} else {
if ((_arg1 is String)){
if (labels[_arg1] == null){
return;
};
curFrame = (labels[_arg1] - 1);
};
};
testRange();
if (hasStart){
goFrame(curFrame);
isPlay = false;
} else {
initStop = true;
};
}
private function firstFrame():void{
super.addFrameScript(0, null);
addBitmap();
timerInit();
}
private function clear():void{
super.gotoAndStop(1);
while (super.numChildren > 0) {
super.removeChildAt(0);
};
}
private function oneFrame():void{
super.addFrameScript(0, null);
getBitmapData();
addBitmap();
}
protected function motion():void{
if (((isPlay) && (!((this.stage == null))))){
curFrame = (curFrame + direction);
if (curFrame >= numFrames){
curFrame = 0;
} else {
if (curFrame < 0){
curFrame = (numFrames - 1);
};
};
goFrame(curFrame);
};
}
override public function gotoAndPlay(_arg1:Object, _arg2:String=null):void{
if ((_arg1 is Number)){
curFrame = (int(_arg1) - 1);
} else {
if ((_arg1 is String)){
if (labels[_arg1] == null){
return;
};
curFrame = (labels[_arg1] - 1);
};
};
testRange();
if (hasStart){
goFrame(curFrame);
isPlay = true;
} else {
initStop = false;
};
}
private function testRange():int{
if (curFrame < 0){
curFrame = 0;
} else {
if (curFrame > (numFrames - 1)){
curFrame = (numFrames - 1);
};
};
return (curFrame);
}
public function set reverse(_arg1:Boolean):void{
if (_arg1){
direction = -1;
} else {
direction = 1;
};
}
private function sharedOver():void{
if (shareBitmaps[className] != null){
if (shareBitmaps[className].length >= numFrames){
deleteSharedTimer();
addBitmap();
if (numFrames > 1){
timerInit();
};
};
} else {
deleteSharedTimer();
};
}
override public function prevFrame():void{
curFrame = (curFrame - 1);
testRange();
if (hasStart){
goFrame(curFrame);
};
}
public static function delAllData():void{
shareBitmaps = [];
runFuns = [];
}
public static function init():void{
alltimer = new Timer(33);
alltimer.addEventListener("timer", run);
alltimer.start();
runFuns = [];
}
private static function removeFromFuns(_arg1:Object):void{
var _local2:int;
if ((_arg1 is Function)){
_local2 = runFuns.indexOf(_arg1);
if (_local2 >= 0){
runFuns.splice(_local2, 1);
};
};
}
private static function run(_arg1:TimerEvent):void{
var _local2:*;
for (_local2 in runFuns) {
var _local5 = runFuns;
_local5[_local2]();
};
}
public static function delShareData(_arg1:String):void{
shareBitmaps[_arg1] = null;
}
}
}//package code
Section 200
//ButtonMc (code.ButtonMc)
package code {
import flash.events.*;
import flash.display.*;
import code.ui.*;
public class ButtonMc extends MovieClip {
private var newHitMc:MovieClip;
public function ButtonMc(){
this.stop();
setHandUse(true);
newHitMc = this["mc"];
if (newHitMc == null){
createHitMc();
newHitMc = this;
};
newHitMc.addEventListener(MouseEvent.ROLL_OVER, rollOverFun, false, 0, true);
newHitMc.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownFun, false, 0, true);
newHitMc.addEventListener(MouseEvent.MOUSE_UP, mouseUpFun, false, 0, true);
newHitMc.addEventListener(MouseEvent.ROLL_OUT, rollOutFun, false, 0, true);
}
public function del():void{
newHitMc.removeEventListener(MouseEvent.ROLL_OVER, rollOverFun);
newHitMc.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownFun);
newHitMc.removeEventListener(MouseEvent.MOUSE_UP, mouseUpFun);
newHitMc.removeEventListener(MouseEvent.ROLL_OUT, rollOutFun);
}
private function rollOutFun(_arg1:MouseEvent):void{
if (this.currentFrame != 4){
this.gotoAndStop(1);
};
}
private function mouseDownFun(_arg1:MouseEvent):void{
if (this.currentFrame != 4){
this.gotoAndStop(3);
UI.buttonPress();
};
}
private function mouseUpFun(_arg1:MouseEvent):void{
if (this.currentFrame != 4){
this.gotoAndStop(2);
};
}
private function rollOverFun(_arg1:MouseEvent):void{
if (this.currentFrame != 4){
this.gotoAndStop(2);
UI.buttonTouch();
};
}
public function setHandUse(_arg1:Boolean):void{
this.buttonMode = _arg1;
}
private function createHitMc():void{
newHitMc = new MovieClip();
this.addChild(newHitMc);
newHitMc.graphics.lineStyle(0, 0, 0);
newHitMc.graphics.beginFill(0, 0);
newHitMc.graphics.drawRect((-(this.width) / 2), (-(this.height) / 2), this.width, this.height);
newHitMc.graphics.endFill();
}
}
}//package code
Section 201
//MathTool (code.MathTool)
package code {
import flash.geom.*;
public class MathTool {
public static function caculateSpeed(_arg1:Point, _arg2:Point, _arg3:Number):Point{
var _local4:Number;
var _local5:Point;
_local4 = Point.distance(_arg2, _arg1);
_local5 = new Point();
_local5.x = (((_arg2.x - _arg1.x) / _local4) * _arg3);
_local5.y = (((_arg2.y - _arg1.y) / _local4) * _arg3);
return (_local5);
}
public static function radianToAngle(_arg1:Number):Number{
return (((_arg1 * 180) / Math.PI));
}
public static function calculateSpeedByRadian(_arg1:Number, _arg2:Number):Point{
var _local3:Point;
_local3 = new Point();
_local3.x = (Math.cos(_arg1) * _arg2);
_local3.y = (Math.sin(_arg1) * _arg2);
return (_local3);
}
public static function calculateAngle(_arg1:Point, _arg2:Point, _arg3:Boolean=false):Number{
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local4 = (_arg2.x - _arg1.x);
_local5 = (_arg2.y - _arg1.y);
_local6 = Math.sqrt(((_local4 * _local4) + (_local5 * _local5)));
_local7 = ((Math.asin((_local5 / _local6)) * 180) / Math.PI);
if ((((_arg2.x < _arg1.x)) && ((_arg2.y > _arg1.y)))){
_local7 = ((90 - _local7) + 90);
} else {
if ((((_arg2.x < _arg1.x)) && ((_arg2.y <= _arg1.y)))){
_local7 = (-(_local7) + 180);
} else {
if ((((_arg2.x >= _arg1.x)) && ((_arg2.y <= _arg1.y)))){
_local7 = ((90 + _local7) + 270);
};
};
};
if (_arg3){
_local7 = angleToRadian(_local7);
};
return (_local7);
}
public static function RemoveStrBlank(_arg1:String):String{
var _local2:int;
var _local3:String;
var _local4:int;
_local2 = _arg1.length;
_local4 = 0;
while (_local4 < _local2) {
_local3 = _arg1.charAt(_local4);
if (_local3 != " "){
_arg1 = _arg1.slice(_local4);
break;
};
if (_local4 == (_local2 - 1)){
return ("");
};
_local4++;
};
_local2 = _arg1.length;
_local4 = (_local2 - 1);
while (_local4 >= 0) {
_local3 = _arg1.charAt(_local4);
if (_local3 != " "){
_arg1 = _arg1.slice(0, (_local4 + 1));
break;
};
_local4--;
};
return (_arg1);
}
public static function angleToRadian(_arg1:Number):Number{
return (((_arg1 * Math.PI) / 180));
}
}
}//package code
Section 202
//Random (code.Random)
package code {
import flash.net.*;
import flash.display.*;
public class Random {
var randomStr;
private static var hexcase = 0;
public static var gameID:int = 79;
public static var strqq:String;
private static var chrsz = 8;
private static var b64pad = "";
public function Random(){
randomStr = Randoms(10);
super();
}
public static function average_gg(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7){
return (average_cmn(((_arg2 & _arg4) | (_arg3 & ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7));
}
public static function SortT(){
var _local1:*;
var _local2:*;
var _local3:*;
_local1 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
_local2 = "";
trace((_local1 + "###"));
_local3 = 0;
while (_local3 < 10) {
_local2 = (_local2 + _local1.substr(Math.floor((Math.random() * _local1.length)), 1));
_local3++;
};
trace(_local2);
return (_local2);
}
public static function b64_hmac_average(_arg1, _arg2){
return (binl2b64(core_hmac_average(_arg1, _arg2)));
}
public static function md5(_arg1:String){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:*;
var _local13:*;
var _local14:*;
var _local15:*;
var _local16:*;
var _local17:*;
var _local18:*;
var _local19:*;
_local2[(_local3 >> 5)] = (_local2[(_local3 >> 5)] | (128 << (_local3 % 32)));
_local2[((((_local3 + 64) >>> 9) << 4) + 14)] = _local3;
_local5 = 1732584193;
_local6 = -271733879;
_local7 = -1732584194;
_local8 = 271733878;
_local9 = str2binl(_local4);
if (_local9.length > 16){
_local9 = core_average(_local9, (_local4.length * chrsz));
};
_local10 = new Array(16);
_local11 = new Array(16);
_local12 = 0;
while (_local12 < 16) {
_local10[_local12] = (_local9[_local12] ^ 909522486);
_local11[_local12] = (_local9[_local12] ^ 1549556828);
_local12++;
};
_local14 = core_average(_local10.concat(str2binl(_local13)), (0x0200 + (_local13.length * chrsz)));
return (core_average(_local11.concat(_local14), (0x0200 + 128)));
return (new Array(_local5, _local6, _local7, _local8));
}
public static function average_ii(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7){
return (average_cmn((_arg3 ^ (_arg2 | ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7));
}
public static function average_cmn(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6){
return (safe_add(bit_rol(safe_add(safe_add(_arg2, _arg1), safe_add(_arg4, _arg6)), _arg5), _arg3));
}
public static function binl2b64(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
_local2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
_local3 = "";
_local4 = 0;
while (_local4 < (_arg1.length * 4)) {
_local5 = (((((_arg1[(_local4 >> 2)] >> (8 * (_local4 % 4))) & 0xFF) << 16) | (((_arg1[((_local4 + 1) >> 2)] >> (8 * ((_local4 + 1) % 4))) & 0xFF) << 8)) | ((_arg1[((_local4 + 2) >> 2)] >> (8 * ((_local4 + 2) % 4))) & 0xFF));
_local6 = 0;
while (_local6 < 4) {
if (((_local4 * 8) + (_local6 * 6)) > (_arg1.length * 32)){
_local3 = (_local3 + b64pad);
} else {
_local3 = (_local3 + _local2.charAt(((_local5 >> (6 * (3 - _local6))) & 63)));
};
_local6++;
};
_local4 = (_local4 + 3);
};
return (_local3);
}
public static function senturl(_arg1, _arg2, _arg3, _arg4):void{
var _local5:String;
var _local6:URLRequest;
_local5 = ((((((((("http://user.game.com.cn/game/?action=highscore&id=" + gameID) + "&s=") + _arg1) + "&a=") + _arg2) + "&t=") + _arg4) + "&r=") + _arg3);
_local6 = new URLRequest(_local5);
navigateToURL(_local6, "_blank");
}
public static function geturl():void{
var _local1:String;
var _local2:URLRequest;
_local1 = ("http://user.game.com.cn/game/?action=highscore&id=" + gameID);
_local2 = new URLRequest(_local1);
navigateToURL(_local2, "_blank");
}
public static function bit_rol(_arg1, _arg2){
return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
}
public static function submitCode(_arg1:Number):void{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local2 = new Date().getTime();
_local3 = SortT();
_local4 = hex_average((((String(gameID) + _arg1) + _local3) + _local2));
DrawLine(_local4, _local3, 10, 10, 15, 15);
_local5 = strqq;
senturl(_arg1, _local3, _local5, _local2);
}
public static function core_hmac_average(_arg1, _arg2){
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
_local3 = str2binl(_arg1);
if (_local3.length > 16){
_local3 = core_average(_local3, (_arg1.length * chrsz));
};
_local4 = new Array(16);
_local5 = new Array(16);
_local6 = 0;
while (_local6 < 16) {
_local4[_local6] = (_local3[_local6] ^ 909522486);
_local5[_local6] = (_local3[_local6] ^ 1549556828);
_local6++;
};
_local7 = core_average(_local4.concat(str2binl(_arg2)), (0x0200 + (_arg2.length * chrsz)));
return (core_average(_local5.concat(_local7), (0x0200 + 128)));
}
public static function str2binl(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = new Array();
_local3 = ((1 << chrsz) - 1);
_local4 = 0;
while (_local4 < (_arg1.length * chrsz)) {
_local2[(_local4 >> 5)] = (_local2[(_local4 >> 5)] | ((_arg1.charCodeAt((_local4 / chrsz)) & _local3) << (_local4 % 32)));
_local4 = (_local4 + chrsz);
};
return (_local2);
}
public static function binl2hex(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = (hexcase) ? "0123456789ABCDEF" : "0123456789abcdef";
_local3 = "";
_local4 = 0;
while (_local4 < (_arg1.length * 4)) {
_local3 = (_local3 + (_local2.charAt(((_arg1[(_local4 >> 2)] >> (((_local4 % 4) * 8) + 4)) & 15)) + _local2.charAt(((_arg1[(_local4 >> 2)] >> ((_local4 % 4) * 8)) & 15))));
_local4++;
};
return (_local3);
}
public static function calcaverage(_arg1){
return (binl2hex(core_average(str2binl(_arg1), (_arg1.length * chrsz))));
}
public static function hex_hmac_average(_arg1, _arg2){
return (binl2hex(core_hmac_average(_arg1, _arg2)));
}
public static function average_hh(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7){
return (average_cmn(((_arg2 ^ _arg3) ^ _arg4), _arg1, _arg2, _arg5, _arg6, _arg7));
}
public static function safe_add(_arg1, _arg2){
var _local3:*;
var _local4:*;
_local3 = ((_arg1 & 0xFFFF) + (_arg2 & 0xFFFF));
_local4 = (((_arg1 >> 16) + (_arg2 >> 16)) + (_local3 >> 16));
return (((_local4 << 16) | (_local3 & 0xFFFF)));
}
public static function Randoms(_arg1:Number){
var _local2:*;
var _local3:*;
var _local4:String;
var _local5:*;
_local2 = "123098938487634asdflskafgpoipALKGAISFH:LKHAODG";
_local3 = "";
_local4 = "";
_local5 = 0;
while (_local5 < _arg1) {
_local3 = (_local3 + _local2.substr(Math.floor((Math.random() * _local2.length)), 1));
_local5++;
};
return (_local3);
}
public static function average_vm_test(){
return ((hex_average("abc") == "900150983cd24fb0d6963f7d28e17f72"));
}
public static function hex_average(_arg1){
return (binl2hex(core_average(str2binl(_arg1), (_arg1.length * chrsz))));
}
public static function average_ff(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7){
return (average_cmn(((_arg2 & _arg3) | (~(_arg2) & _arg4)), _arg1, _arg2, _arg5, _arg6, _arg7));
}
public static function core_average(_arg1, _arg2){
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
_arg1[(_arg2 >> 5)] = (_arg1[(_arg2 >> 5)] | (128 << (_arg2 % 32)));
_arg1[((((_arg2 + 64) >>> 9) << 4) + 14)] = _arg2;
_local3 = 1732584193;
_local4 = -271733879;
_local5 = -1732584194;
_local6 = 271733878;
_local7 = 0;
while (_local7 < _arg1.length) {
_local8 = _local3;
_local9 = _local4;
_local10 = _local5;
_local11 = _local6;
_local3 = average_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 7, -680876936);
_local6 = average_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 1)], 12, -389564586);
_local5 = average_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 17, 606105819);
_local4 = average_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 3)], 22, -1044525330);
_local3 = average_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 7, -176418897);
_local6 = average_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 5)], 12, 1200080426);
_local5 = average_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 17, -1473231341);
_local4 = average_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 7)], 22, -45705983);
_local3 = average_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 7, 1770035416);
_local6 = average_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 9)], 12, -1958414417);
_local5 = average_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 17, -42063);
_local4 = average_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 11)], 22, -1990404162);
_local3 = average_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 7, 1804603682);
_local6 = average_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 13)], 12, -40341101);
_local5 = average_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 17, -1502002290);
_local4 = average_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 15)], 22, 1236535329);
_local3 = average_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 5, -165796510);
_local6 = average_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 6)], 9, -1069501632);
_local5 = average_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 14, 643717713);
_local4 = average_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 0)], 20, -373897302);
_local3 = average_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 5, -701558691);
_local6 = average_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 10)], 9, 38016083);
_local5 = average_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 14, -660478335);
_local4 = average_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 4)], 20, -405537848);
_local3 = average_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 5, 568446438);
_local6 = average_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 14)], 9, -1019803690);
_local5 = average_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 14, -187363961);
_local4 = average_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 8)], 20, 1163531501);
_local3 = average_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 5, -1444681467);
_local6 = average_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 2)], 9, -51403784);
_local5 = average_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 14, 1735328473);
_local4 = average_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 12)], 20, -1926607734);
_local3 = average_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 4, -378558);
_local6 = average_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 8)], 11, -2022574463);
_local5 = average_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 16, 1839030562);
_local4 = average_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 14)], 23, -35309556);
_local3 = average_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 4, -1530992060);
_local6 = average_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 4)], 11, 1272893353);
_local5 = average_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 16, -155497632);
_local4 = average_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 10)], 23, -1094730640);
_local3 = average_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 4, 681279174);
_local6 = average_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 0)], 11, -358537222);
_local5 = average_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 16, -722521979);
_local4 = average_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 6)], 23, 76029189);
_local3 = average_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 4, -640364487);
_local6 = average_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 12)], 11, -421815835);
_local5 = average_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 16, 530742520);
_local4 = average_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 2)], 23, -995338651);
_local3 = average_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 6, -198630844);
_local6 = average_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 7)], 10, 1126891415);
_local5 = average_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 15, -1416354905);
_local4 = average_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 5)], 21, -57434055);
_local3 = average_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 6, 1700485571);
_local6 = average_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 3)], 10, -1894986606);
_local5 = average_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 15, -1051523);
_local4 = average_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 1)], 21, -2054922799);
_local3 = average_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 6, 1873313359);
_local6 = average_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 15)], 10, -30611744);
_local5 = average_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 15, -1560198380);
_local4 = average_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 13)], 21, 1309151649);
_local3 = average_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 6, -145523070);
_local6 = average_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 11)], 10, -1120210379);
_local5 = average_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 15, 718787259);
_local4 = average_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 9)], 21, -343485551);
_local3 = safe_add(_local3, _local8);
_local4 = safe_add(_local4, _local9);
_local5 = safe_add(_local5, _local10);
_local6 = safe_add(_local6, _local11);
_local7 = (_local7 + 16);
};
return (new Array(_local3, _local4, _local5, _local6));
}
public static function b64_average(_arg1){
return (binl2b64(core_average(str2binl(_arg1), (_arg1.length * chrsz))));
}
public static function DrawLine(_arg1, _arg2, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number){
var point1:Vector_cn;
var point:Vector_cn;
var current:*;
var nextdot:*;
var minX:Number;
var minY:Number;
var maxX:Number;
var maxY:Number;
var verts:Array;
var center:Vector_cn;
var normal:Vector_cn;
var dmc:MovieClip;
var isVisible:Boolean;
var isActivated:Boolean;
var AbstractTile:Function;
var initializeContainer:Function;
var createBoundingRect:Function;
var testIntervals:Function;
var k:*;
var i:*;
var point2:Vector_cn;
var point3:Vector_cn;
var point4:Vector_cn;
var point5:Vector_cn;
var b:*;
var j:*;
var l:*;
var c:*;
var position = _arg1;
var line = _arg2;
var x1 = _arg3;
var x2 = _arg4;
var y1 = _arg5;
var y2 = _arg6;
AbstractTile = function (_arg1:Number, _arg2:Number){
center = new Vector_cn(_arg1, _arg2);
verts = new Array();
normal = new Vector_cn(0, 0);
isVisible = true;
isActivated = true;
initializeContainer();
};
initializeContainer = function (){
var _local1:String;
_local1 = "_oooo";
dmc = new MovieClip();
dmc.name = _local1;
};
createBoundingRect = function (_arg1:Number, _arg2:Number){
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local3 = (center.y - (_arg2 / 2));
_local4 = (center.y + (_arg2 / 2));
_local5 = (center.x - (_arg1 / 2));
_local6 = (center.x + (_arg1 / 2));
verts.push(new Vector_cn(_local6, _local4));
verts.push(new Vector_cn(_local6, _local3));
verts.push(new Vector_cn(_local5, _local3));
verts.push(new Vector_cn(_local5, _local4));
};
testIntervals = function (_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){
var _local5:Number;
var _local6:Number;
if (_arg2 < _arg3){
return (0);
};
if (_arg4 < _arg1){
return (0);
};
_local5 = (_arg4 - _arg1);
_local6 = (_arg3 - _arg2);
if (Math.abs(_local5) < Math.abs(_local6)){
return (_local5);
};
return (_local6);
};
point1 = new Vector_cn(x1, y1);
point = new Vector_cn(x2, y2);
current = point1.dot(point);
nextdot = point1.cross(point);
current = (current + nextdot);
k = [];
strqq = "";
i = 0;
while (i < 8) {
b = 0;
j = 0;
while (j < 10) {
c = line.substr(j, 1).charCodeAt();
c = String(c).substr((String(c).length - 2), 1);
b = (b + Number(c));
j = (j + 1);
};
trace(b);
if (b > 10){
b = (b % 10);
};
k[i] = Math.round((((i + b) * (i + b)) - ((b * b) / 2)));
while (k[i] >= 32) {
k[i] = Math.round((k[i] / 2));
};
l = 0;
l = 0;
while (l < (k.length - 1)) {
if (k[i] == k[l]){
k[i] = (k[i] + 1);
};
l = (l + 1);
};
trace(k[i]);
strqq = (strqq + position.substr(k[i], 1));
i = (i + 1);
};
point2 = new Vector_cn(x1, y1);
current = point2.dot(point);
nextdot = point2.cross(point);
current = (current + nextdot);
point3 = new Vector_cn(x1, y1);
current = point3.dot(point);
nextdot = point3.cross(point);
current = (current + nextdot);
point4 = new Vector_cn(x1, y1);
current = point4.dot(point);
nextdot = point4.cross(point);
current = (current + nextdot);
point5 = new Vector_cn(x1, y1);
current = point5.dot(point);
nextdot = point5.cross(point);
current = (current + nextdot);
current = Math.round(Math.sqrt((current * 2)));
if (current > 20){
current = Math.round(Math.sqrt(current));
};
return (current);
}
}
}//package code
Section 203
//Root (code.Root)
package code {
import flash.display.*;
import code.ui.*;
import zlong.*;
public class Root extends MovieClip {
private var manager:GameManager;
public static const FOR_TEST:Boolean = false;
public function Root(_arg1:MovieClip){
new GameSetting(_arg1, false, "family", "Drago_Adventure", "Drago-Adventure.html", 580, 380);
_arg1.stop();
BitmapMc.init();
manager = new GameManager(_arg1);
if (FOR_TEST){
};
}
public static function showTxt(_arg1:int, _arg2:Object):void{
}
}
}//package code
Section 204
//SoundsManager (code.SoundsManager)
package code {
import flash.events.*;
import flash.media.*;
import flash.utils.*;
public class SoundsManager {
private static const VOLUME_SOUND:Number = 1;
private static const SOUNDSLINK:Array = [];
private static const VOLUME_MUSIC:Number = 0.63;
private static var curMusicArr:Array = [];
private static var curSoundVolume:Number;
private static var fadeTimer:Timer;
private static var soundsArr:Array = [];
private static var curMusicVolume:Number;
private static function timerFun(_arg1:Event):void{
fadeMusic();
}
public static function stopMusic(_arg1:Boolean=true):void{
var _local2:*;
if (_arg1){
if (curMusicArr.length > 0){
curMusicArr.push({name:null, loop:false, delayStart:0, delayEnd:0, startVolume:0});
fadeTimer.start();
};
} else {
for (_local2 in curMusicArr) {
if (soundsArr[curMusicArr[_local2].name].channel[0] != null){
soundsArr[curMusicArr[_local2].name].channel[0].stop();
};
};
};
}
public static function modifyMusicVolume(_arg1:Number=-1, _arg2:Boolean=true):void{
var _local3:*;
var _local4:SoundTransform;
if (_arg1 < 0){
curMusicVolume = VOLUME_MUSIC;
} else {
curMusicVolume = _arg1;
};
if (!_arg2){
return;
};
for (_local3 in curMusicArr) {
if (soundsArr[curMusicArr[_local3].name].channel[0] != null){
_local4 = soundsArr[curMusicArr[_local3].name].channel[0].soundTransform;
_local4.volume = curMusicVolume;
soundsArr[curMusicArr[_local3].name].channel[0].soundTransform = _local4;
};
};
}
private static function soundInit(_arg1:String):void{
var _local2:Sound;
var _local3:Object;
_local2 = getSound(_arg1);
if (_local2 == null){
return;
};
_local3 = {name:_arg1, sound:_local2, channel:[], music:false, loop:false};
soundsArr[_arg1] = _local3;
}
private static function fadeMusic():void{
var _local1:int;
var _local2:SoundChannel;
var _local3:Number;
var _local4:SoundTransform;
_local1 = curMusicArr.length;
if (_local1 > 0){
_local2 = soundsArr[curMusicArr[0].name].channel[0];
if (_local1 == 1){
if (_local2.soundTransform.volume < curMusicVolume){
_local3 = (100 / curMusicArr[0].delayStart);
if (_local3 > 1){
_local3 = 1;
};
_local4 = _local2.soundTransform;
_local4.volume = (_local2.soundTransform.volume + _local3);
_local2.soundTransform = _local4;
} else {
fadeTimer.stop();
};
} else {
if (_local1 > 1){
if (_local2.soundTransform.volume > 0){
_local3 = (100 / curMusicArr[0].delayEnd);
if (_local3 > 1){
_local3 = 1;
};
_local4 = _local2.soundTransform;
_local4.volume = (_local2.soundTransform.volume - _local3);
_local2.soundTransform = _local4;
} else {
_local2.stop();
curMusicArr.splice(0, (_local1 - 1));
if (curMusicArr[0].name != null){
startMusic(curMusicArr[0].name, curMusicArr[0].loop, curMusicArr[0].startVolume);
} else {
fadeTimer.stop();
curMusicArr = [];
};
};
};
};
};
}
public static function checkAndPlaySound(_arg1:String, _arg2:Boolean=true, _arg3:int=0, _arg4:Number=-1):int{
var _local5:SoundChannel;
if (soundsArr[_arg1] == null){
soundInit(_arg1);
};
if (soundsArr[_arg1] != null){
if (_arg3 > 0){
soundsArr[_arg1].loop = true;
};
if ((((_arg4 == -1)) || ((curSoundVolume == 0)))){
_arg4 = curSoundVolume;
};
if (((_arg2) && (!((soundsArr[_arg1].channel[0] == null))))){
return (1000);
};
_local5 = soundsArr[_arg1].sound.play(0, _arg3, new SoundTransform(_arg4));
if (!_arg2){
soundsArr[_arg1].channel.push(_local5);
return ((soundsArr[_arg1].channel.length - 1));
};
soundsArr[_arg1].channel[0] = _local5;
return (0);
//unresolved jump
};
return (-1);
}
public static function init():void{
var _local1:int;
var _local2:String;
curMusicVolume = VOLUME_MUSIC;
curSoundVolume = VOLUME_SOUND;
fadeTimer = new Timer(100);
fadeTimer.addEventListener("timer", timerFun, false, 0, true);
fadeTimer.stop();
_local1 = 0;
while (_local1 < SOUNDSLINK.length) {
_local2 = SOUNDSLINK[_local1];
soundInit(_local2);
_local1++;
};
}
public static function playMusic(_arg1:String, _arg2:int=2147483647, _arg3:int=500, _arg4:int=500):void{
var _local5:Number;
var _local6:Object;
if (soundsArr[_arg1] == null){
soundInit(_arg1);
};
if (soundsArr[_arg1] != null){
if (_arg3 < 100){
_local5 = curMusicVolume;
};
_local6 = {name:_arg1, loop:_arg2, delayStart:_arg3, delayEnd:_arg4, startVolume:_local5};
if (curMusicArr.length == 0){
startMusic(_arg1, _arg2, _local5);
};
if (!(((curMusicArr.length > 0)) && ((curMusicArr[(curMusicArr.length - 1)].name == _arg1)))){
curMusicArr.push(_local6);
fadeTimer.start();
};
};
}
public static function memoryRelease():void{
var _local1:*;
var _local2:Object;
var _local3:*;
for (_local1 in soundsArr) {
_local2 = soundsArr[_local1];
if (!_local2["music"]){
for (_local3 in _local2["channel"]) {
if (_local2["channel"][_local3] != null){
_local2["channel"][_local3].stop();
delete _local2["channel"][_local3];
};
};
_local2["channel"] = [];
};
};
}
public static function modifySoundsVolume(_arg1:Number=-1):void{
var _local2:*;
var _local3:*;
var _local4:SoundTransform;
if (_arg1 < 0){
curSoundVolume = VOLUME_SOUND;
} else {
curSoundVolume = _arg1;
};
for (_local2 in soundsArr) {
if (!soundsArr[_local2].music){
for (_local3 in soundsArr[_local2].channel) {
if (soundsArr[_local2].channel[_local3] != null){
_local4 = soundsArr[_local2].channel[_local3].soundTransform;
_local4.volume = curSoundVolume;
soundsArr[_local2].channel[_local3].soundTransform = _local4;
};
};
};
};
}
private static function startMusic(_arg1:String, _arg2:int=2147483647, _arg3:int=0):void{
var _local4:SoundChannel;
if (_arg1 != null){
if (soundsArr[_arg1] != null){
if (soundsArr[_arg1].channel[0] != null){
soundsArr[_arg1].channel[0].stop();
};
_local4 = soundsArr[_arg1].sound.play(0, _arg2, new SoundTransform(_arg3));
soundsArr[_arg1].channel[0] = _local4;
soundsArr[_arg1].music = true;
};
};
}
private static function getSound(_arg1:String):Sound{
var returnObj:Sound;
var temp:Class;
var s = _arg1;
try {
temp = (getDefinitionByName(s) as Class);
} catch(e:Error) {
trace((("Sound \"" + s) + "\" is not exist!"));
trace("");
return (null);
};
returnObj = new (temp);
return (returnObj);
}
public static function stopSound(_arg1:String, _arg2:int=0):void{
var _local3:Object;
if (soundsArr[_arg1] != null){
_local3 = soundsArr[_arg1];
if (!_local3["music"]){
if (_local3["channel"][_arg2] != null){
_local3["channel"][_arg2].stop();
delete _local3["channel"][_arg2];
};
};
};
}
public static function pause(_arg1:Boolean):void{
if (_arg1){
modifySoundsVolume(0);
modifyMusicVolume(0);
} else {
modifySoundsVolume();
modifyMusicVolume();
};
}
public static function playSound(_arg1:String, _arg2:Boolean=true, _arg3:int=0, _arg4:Number=-1):int{
var _local5:SoundChannel;
if (soundsArr[_arg1] == null){
soundInit(_arg1);
};
if (soundsArr[_arg1] != null){
if (_arg3 > 0){
soundsArr[_arg1].loop = true;
};
if ((((_arg4 == -1)) || ((curSoundVolume == 0)))){
_arg4 = curSoundVolume;
};
_local5 = soundsArr[_arg1].sound.play(0, _arg3, new SoundTransform(_arg4));
if (!_arg2){
soundsArr[_arg1].channel.push(_local5);
return ((soundsArr[_arg1].channel.length - 1));
};
soundsArr[_arg1].channel[0] = _local5;
return (0);
//unresolved jump
};
return (-1);
}
}
}//package code
Section 205
//Tool (code.Tool)
package code {
import org.cove.ape.*;
import flash.geom.*;
public class Tool {
public static function caculateSpeed(_arg1:Point, _arg2:Point, _arg3:Number):Point{
var _local4:Number;
var _local5:Point;
_local4 = Point.distance(_arg2, _arg1);
_local5 = new Point();
_local5.x = (((_arg2.x - _arg1.x) / _local4) * _arg3);
_local5.y = (((_arg2.y - _arg1.y) / _local4) * _arg3);
return (_local5);
}
public static function halfCircle(_arg1:Point, _arg2:Point, _arg3:Array, _arg4:Number, _arg5:Boolean):void{
var _local6:Number;
var _local7:Point;
var _local8:Number;
var _local9:Point;
var _local10:Number;
_local6 = (Point.distance(_arg1, _arg2) / 2);
_local7 = Point.interpolate(_arg1, _arg2, 0.5);
_local8 = (Math.PI / ((Math.PI * _local6) / _arg4));
if (_arg5){
_local10 = (Math.PI / 2);
while (_local10 <= ((Math.PI * 3) / 2)) {
_local9 = Tool.createCirclePoint(_local10, _local6, _local7);
_arg3.push(new Vector(_local9.x, _local9.y));
_local10 = (_local10 + _local8);
};
} else {
_local10 = (Math.PI / 2);
while (_local10 >= (-(Math.PI) / 2)) {
_local9 = Tool.createCirclePoint(_local10, _local6, _local7);
_arg3.push(new Vector(_local9.x, _local9.y));
_local10 = (_local10 - _local8);
};
};
}
public static function createCirclePoint(_arg1:Number, _arg2:Number, _arg3:Point, _arg4:Boolean=true):Point{
var _local5:int;
var _local6:int;
if (_arg4){
_arg1 = ((2 * Math.PI) - _arg1);
};
_local5 = ((Math.cos(_arg1) * _arg2) + _arg3.x);
_local6 = ((Math.sin(_arg1) * _arg2) + _arg3.y);
_local6 = (_arg3.y - (_local6 - _arg3.y));
return (new Point(_local5, _local6));
}
public static function getLinePoint(_arg1:Point, _arg2:Point, _arg3:Array, _arg4:Number):void{
var _local5:Number;
var _local6:Point;
var _local7:Number;
_local5 = Point.distance(_arg1, _arg2);
_local5 = (_local5 / _arg4);
_local5 = (1 / _local5);
_local7 = 0;
while (_local7 <= 1) {
_local6 = Point.interpolate(_arg2, _arg1, _local7);
_arg3.push(new Vector(_local6.x, _local6.y));
_local7 = (_local7 + _local5);
};
}
public static function radianToAngle(_arg1:Number):Number{
return (((_arg1 * 180) / Math.PI));
}
public static function calculateSpeedByRadian(_arg1:Number, _arg2:Number):Point{
var _local3:Point;
_local3 = new Point();
_local3.x = (Math.cos(_arg1) * _arg2);
_local3.y = (Math.sin(_arg1) * _arg2);
return (_local3);
}
public static function calculateAngle(_arg1:Point, _arg2:Point, _arg3:Boolean=false):Number{
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local4 = (_arg2.x - _arg1.x);
_local5 = (_arg2.y - _arg1.y);
_local6 = Math.sqrt(((_local4 * _local4) + (_local5 * _local5)));
_local7 = ((Math.asin((_local5 / _local6)) * 180) / Math.PI);
if ((((_arg2.x < _arg1.x)) && ((_arg2.y > _arg1.y)))){
_local7 = ((90 - _local7) + 90);
} else {
if ((((_arg2.x < _arg1.x)) && ((_arg2.y <= _arg1.y)))){
_local7 = (-(_local7) + 180);
} else {
if ((((_arg2.x >= _arg1.x)) && ((_arg2.y <= _arg1.y)))){
_local7 = ((90 + _local7) + 270);
};
};
};
if (_arg3){
_local7 = angleToRadian(_local7);
};
return (_local7);
}
public static function RemoveStrBlank(_arg1:String):String{
var _local2:int;
var _local3:String;
var _local4:int;
_local2 = _arg1.length;
_local4 = 0;
while (_local4 < _local2) {
_local3 = _arg1.charAt(_local4);
if (_local3 != " "){
_arg1 = _arg1.slice(_local4);
break;
};
if (_local4 == (_local2 - 1)){
return ("");
};
_local4++;
};
_local2 = _arg1.length;
_local4 = (_local2 - 1);
while (_local4 >= 0) {
_local3 = _arg1.charAt(_local4);
if (_local3 != " "){
_arg1 = _arg1.slice(0, (_local4 + 1));
break;
};
_local4--;
};
return (_arg1);
}
public static function angleToRadian(_arg1:Number):Number{
return (((_arg1 * Math.PI) / 180));
}
}
}//package code
Section 206
//Vector_cn (code.Vector_cn)
package code {
public class Vector_cn {
public var x:Number;
public var y:Number;
public function Vector_cn(_arg1:Number, _arg2:Number){
x = _arg1;
y = _arg2;
}
public function cross(_arg1:Vector_cn):Number{
return (((x * _arg1.y) - (y * _arg1.x)));
}
public function magnitude():Number{
return (Math.sqrt(((x * x) + (y * y))));
}
public function plusNew(_arg1:Vector_cn):Vector_cn{
return (new Vector_cn((x + _arg1.x), (y + _arg1.y)));
}
public function mult(_arg1:Number):Vector_cn{
x = (x * _arg1);
y = (y * _arg1);
return (this);
}
public function dot(_arg1:Vector_cn):Number{
return (((x * _arg1.x) + (y * _arg1.y)));
}
public function normalize():Vector_cn{
var _local1:Number;
_local1 = Math.sqrt(((x * x) + (y * y)));
x = (x / _local1);
y = (y / _local1);
return (this);
}
public function project(_arg1:Vector_cn):Vector_cn{
var _local2:Number;
var _local3:Number;
var _local4:Vector_cn;
_local2 = this.dot(_arg1);
_local3 = ((_arg1.x * _arg1.x) + (_arg1.y * _arg1.y));
_local4 = new Vector_cn(0, 0);
_local4.x = ((_local2 / _local3) * _arg1.x);
_local4.y = ((_local2 / _local3) * _arg1.y);
return (_local4);
}
public function copy(_arg1:Vector_cn):void{
x = _arg1.x;
y = _arg1.y;
}
public function multNew(_arg1:Number):Vector_cn{
return (new Vector_cn((x * _arg1), (y * _arg1)));
}
public function minus(_arg1:Vector_cn):Vector_cn{
x = (x - _arg1.x);
y = (y - _arg1.y);
return (this);
}
public function plus(_arg1:Vector_cn):Vector_cn{
x = (x + _arg1.x);
y = (y + _arg1.y);
return (this);
}
public function distance(_arg1:Vector_cn):Number{
var _local2:Number;
var _local3:Number;
_local2 = (x - _arg1.x);
_local3 = (y - _arg1.y);
return (Math.sqrt(((_local2 * _local2) + (_local3 * _local3))));
}
public function setTo(_arg1:Number, _arg2:Number):void{
x = _arg1;
y = _arg2;
}
public function minusNew(_arg1:Vector_cn):Vector_cn{
return (new Vector_cn((x - _arg1.x), (y - _arg1.y)));
}
}
}//package code
Section 207
//CampaignInfo (com.google.analytics.campaign.CampaignInfo)
package com.google.analytics.campaign {
import com.google.analytics.utils.*;
public class CampaignInfo {
private var _new:Boolean;
private var _empty:Boolean;
public function CampaignInfo(_arg1:Boolean=true, _arg2:Boolean=false){
_empty = _arg1;
_new = _arg2;
}
public function isEmpty():Boolean{
return (_empty);
}
public function toURLString():String{
var _local1:Variables;
_local1 = toVariables();
return (_local1.toString());
}
public function toVariables():Variables{
var _local1:Variables;
_local1 = new Variables();
_local1.URIencode = true;
if (((!(isEmpty())) && (isNew()))){
_local1.utmcn = utmcn;
};
if (((!(isEmpty())) && (!(isNew())))){
_local1.utmcr = utmcr;
};
return (_local1);
}
public function isNew():Boolean{
return (_new);
}
public function get utmcn():String{
return ("1");
}
public function get utmcr():String{
return ("1");
}
}
}//package com.google.analytics.campaign
Section 208
//CampaignKey (com.google.analytics.campaign.CampaignKey)
package com.google.analytics.campaign {
public class CampaignKey {
public var UCMD:String;// = "utm_medium"
public var UCID:String;// = "utm_id"
public var UCTR:String;// = "utm_term"
public var UCSR:String;// = "utm_source"
public var UCNO:String;// = "utm_nooverride"
public var UCCN:String;// = "utm_campaign"
public var UGCLID:String;// = "gclid"
public var UCCT:String;// = "utm_content"
}
}//package com.google.analytics.campaign
Section 209
//CampaignManager (com.google.analytics.campaign.CampaignManager)
package com.google.analytics.campaign {
import com.google.analytics.core.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import com.google.analytics.utils.*;
public class CampaignManager {
private var _config:Configuration;
private var _domainHash:Number;
private var _debug:DebugConfiguration;
private var _timeStamp:Number;
private var _referrer:String;
private var _buffer:Buffer;
public static const trackingDelimiter:String = "|";
public function CampaignManager(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Buffer, _arg4:Number, _arg5:String, _arg6:Number){
_config = _arg1;
_debug = _arg2;
_buffer = _arg3;
_domainHash = _arg4;
_referrer = _arg5;
_timeStamp = _arg6;
}
public function hasNoOverride(_arg1:String):Boolean{
var _local2:CampaignKey;
var _local3:Variables;
var _local4:String;
_local2 = _config.campaignKey;
if (_arg1 == ""){
return (false);
};
_local3 = new Variables(_arg1);
_local4 = "";
if (_local3.hasOwnProperty(_local2.UCNO)){
_local4 = _local3[_local2.UCNO];
switch (_local4){
case "1":
return (true);
case "":
case "0":
default:
return (false);
};
};
return (false);
}
public function getCampaignInformation(_arg1:String, _arg2:Boolean):CampaignInfo{
var _local3:CampaignInfo;
var _local4:CampaignTracker;
var _local5:Boolean;
var _local6:Boolean;
var _local7:int;
var _local8:CampaignTracker;
var _local9:int;
_local3 = new CampaignInfo();
_local5 = false;
_local6 = false;
_local7 = 0;
if (((_config.allowLinker) && (_buffer.isGenuine()))){
if (!_buffer.hasUTMZ()){
return (_local3);
};
};
_local4 = getTrackerFromSearchString(_arg1);
if (isValid(_local4)){
_local6 = hasNoOverride(_arg1);
if (((_local6) && (!(_buffer.hasUTMZ())))){
return (_local3);
};
};
if (!isValid(_local4)){
_local4 = getOrganicCampaign();
if (((!(_buffer.hasUTMZ())) && (isIgnoredKeyword(_local4)))){
return (_local3);
};
};
if (((!(isValid(_local4))) && (_arg2))){
_local4 = getReferrerCampaign();
if (((!(_buffer.hasUTMZ())) && (isIgnoredReferral(_local4)))){
return (_local3);
};
};
if (!isValid(_local4)){
if (((!(_buffer.hasUTMZ())) && (_arg2))){
_local4 = getDirectCampaign();
};
};
if (!isValid(_local4)){
return (_local3);
};
if (((_buffer.hasUTMZ()) && (!(_buffer.utmz.isEmpty())))){
_local8 = new CampaignTracker();
_local8.fromTrackerString(_buffer.utmz.campaignTracking);
_local5 = (_local8.toTrackerString() == _local4.toTrackerString());
_local7 = _buffer.utmz.responseCount;
};
if (((!(_local5)) || (_arg2))){
_local9 = _buffer.utma.sessionCount;
_local7++;
if (_local9 == 0){
_local9 = 1;
};
_buffer.utmz.domainHash = _domainHash;
_buffer.utmz.campaignCreation = _timeStamp;
_buffer.utmz.campaignSessions = _local9;
_buffer.utmz.responseCount = _local7;
_buffer.utmz.campaignTracking = _local4.toTrackerString();
_debug.info(_buffer.utmz.toString(), VisualDebugMode.geek);
_local3 = new CampaignInfo(false, true);
} else {
_local3 = new CampaignInfo(false, false);
};
return (_local3);
}
public function isValid(_arg1:CampaignTracker):Boolean{
if (((_arg1) && (_arg1.isValid()))){
return (true);
};
return (false);
}
public function getTrackerFromSearchString(_arg1:String):CampaignTracker{
var _local2:CampaignTracker;
var _local3:CampaignTracker;
var _local4:CampaignKey;
var _local5:Variables;
_local2 = getOrganicCampaign();
_local3 = new CampaignTracker();
_local4 = _config.campaignKey;
if (_arg1 == ""){
return (_local3);
};
_local5 = new Variables(_arg1);
if (_local5.hasOwnProperty(_local4.UCID)){
_local3.id = _local5[_local4.UCID];
};
if (_local5.hasOwnProperty(_local4.UCSR)){
_local3.source = _local5[_local4.UCSR];
};
if (_local5.hasOwnProperty(_local4.UGCLID)){
_local3.clickId = _local5[_local4.UGCLID];
};
if (_local5.hasOwnProperty(_local4.UCCN)){
_local3.name = _local5[_local4.UCCN];
} else {
_local3.name = "(not set)";
};
if (_local5.hasOwnProperty(_local4.UCMD)){
_local3.medium = _local5[_local4.UCMD];
} else {
_local3.medium = "(not set)";
};
if (_local5.hasOwnProperty(_local4.UCTR)){
_local3.term = _local5[_local4.UCTR];
} else {
if (((_local2) && (!((_local2.term == ""))))){
_local3.term = _local2.term;
};
};
if (_local5.hasOwnProperty(_local4.UCCT)){
_local3.content = _local5[_local4.UCCT];
};
return (_local3);
}
public function getOrganicCampaign():CampaignTracker{
var _local1:CampaignTracker;
var _local2:URL;
var _local3:String;
var _local4:Array;
var _local5:OrganicReferrer;
var _local6:String;
if (((isInvalidReferrer(_referrer)) || (isFromGoogleCSE(_referrer, _config)))){
return (_local1);
};
_local2 = new URL(_referrer);
_local3 = "";
if (_local2.hostName != ""){
if (_local2.hostName.indexOf(".") > -1){
_local4 = _local2.hostName.split(".");
switch (_local4.length){
case 2:
_local3 = _local4[0];
break;
case 3:
_local3 = _local4[1];
break;
};
};
};
if (_config.organic.match(_local3)){
_local5 = _config.organic.getReferrerByName(_local3);
_local6 = _config.organic.getKeywordValue(_local5, _local2.search);
_local1 = new CampaignTracker();
_local1.source = _local5.engine;
_local1.name = "(organic)";
_local1.medium = "organic";
_local1.term = _local6;
};
return (_local1);
}
public function isIgnoredReferral(_arg1:CampaignTracker):Boolean{
if (((_arg1) && ((_arg1.medium == "referral")))){
return (_config.organic.isIgnoredReferral(_arg1.source));
};
return (false);
}
public function getDirectCampaign():CampaignTracker{
var _local1:CampaignTracker;
_local1 = new CampaignTracker();
_local1.source = "(direct)";
_local1.name = "(direct)";
_local1.medium = "(none)";
return (_local1);
}
public function isIgnoredKeyword(_arg1:CampaignTracker):Boolean{
if (((_arg1) && ((_arg1.medium == "organic")))){
return (_config.organic.isIgnoredKeyword(_arg1.term));
};
return (false);
}
public function getReferrerCampaign():CampaignTracker{
var _local1:CampaignTracker;
var _local2:URL;
var _local3:String;
var _local4:String;
if (((isInvalidReferrer(_referrer)) || (isFromGoogleCSE(_referrer, _config)))){
return (_local1);
};
_local2 = new URL(_referrer);
_local3 = _local2.hostName;
_local4 = _local2.path;
if (_local3.indexOf("www.") == 0){
_local3 = _local3.substr(4);
};
_local1 = new CampaignTracker();
_local1.source = _local3;
_local1.name = "(referral)";
_local1.medium = "referral";
_local1.content = _local4;
return (_local1);
}
public static function isInvalidReferrer(_arg1:String):Boolean{
var _local2:URL;
if ((((((_arg1 == "")) || ((_arg1 == "-")))) || ((_arg1 == "0")))){
return (true);
};
if (_arg1.indexOf("://") > -1){
_local2 = new URL(_arg1);
if ((((_local2.protocol == Protocols.file)) || ((_local2.protocol == Protocols.none)))){
return (true);
};
};
return (false);
}
public static function isFromGoogleCSE(_arg1:String, _arg2:Configuration):Boolean{
var _local3:URL;
_local3 = new URL(_arg1);
if (_local3.hostName.indexOf(_arg2.google) > -1){
if (_local3.search.indexOf((_arg2.googleSearchParam + "=")) > -1){
if (_local3.path == ("/" + _arg2.googleCsePath)){
return (true);
};
};
};
return (false);
}
}
}//package com.google.analytics.campaign
Section 210
//CampaignTracker (com.google.analytics.campaign.CampaignTracker)
package com.google.analytics.campaign {
import com.google.analytics.utils.*;
public class CampaignTracker {
public var content:String;
public var source:String;
public var clickId:String;
public var name:String;
public var term:String;
public var medium:String;
public var id:String;
public function CampaignTracker(_arg1:String="", _arg2:String="", _arg3:String="", _arg4:String="", _arg5:String="", _arg6:String="", _arg7:String=""){
this.id = _arg1;
this.source = _arg2;
this.clickId = _arg3;
this.name = _arg4;
this.medium = _arg5;
this.term = _arg6;
this.content = _arg7;
}
public function isValid():Boolean{
if (((((!((id == ""))) || (!((source == ""))))) || (!((clickId == ""))))){
return (true);
};
return (false);
}
public function toTrackerString():String{
var _local1:Array = [];
_addIfNotEmpty(_local1, "utmcsr=", source);
_addIfNotEmpty(_local1, "utmccn=", name);
_addIfNotEmpty(_local1, "utmcmd=", medium);
_addIfNotEmpty(_local1, "utmctr=", term);
_addIfNotEmpty(_local1, "utmcct=", content);
_addIfNotEmpty(_local1, "utmcid=", id);
_addIfNotEmpty(_local1, "utmgclid=", clickId);
return (_local1.join(CampaignManager.trackingDelimiter));
}
private function _addIfNotEmpty(_arg1:Array, _arg2:String, _arg3:String):void{
if (_arg3 != ""){
_arg3 = _arg3.split("+").join("%20");
_arg3 = _arg3.split(" ").join("%20");
_arg1.push((_arg2 + _arg3));
};
}
public function fromTrackerString(_arg1:String):void{
var _local2:String = _arg1.split(CampaignManager.trackingDelimiter).join("&");
var _local3:Variables = new Variables(_local2);
if (_local3.hasOwnProperty("utmcid")){
this.id = _local3["utmcid"];
};
if (_local3.hasOwnProperty("utmcsr")){
this.source = _local3["utmcsr"];
};
if (_local3.hasOwnProperty("utmccn")){
this.name = _local3["utmccn"];
};
if (_local3.hasOwnProperty("utmcmd")){
this.medium = _local3["utmcmd"];
};
if (_local3.hasOwnProperty("utmctr")){
this.term = _local3["utmctr"];
};
if (_local3.hasOwnProperty("utmcct")){
this.content = _local3["utmcct"];
};
if (_local3.hasOwnProperty("utmgclid")){
this.clickId = _local3["utmgclid"];
};
}
}
}//package com.google.analytics.campaign
Section 211
//FlashTracker (com.google.analytics.components.FlashTracker)
package com.google.analytics.components {
import com.google.analytics.core.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import flash.events.*;
import flash.display.*;
import com.google.analytics.utils.*;
import com.google.analytics.external.*;
import com.google.analytics.*;
import flash.utils.*;
import com.google.analytics.events.*;
public class FlashTracker extends Sprite implements AnalyticsTracker {
private var _adSense:AdSenseGlobals;
private var _env:Environment;
protected var _height:Number;// = 18
private var _idleTimer:IdleTimer;
private var _config:Configuration;
private var _mode:String;// = "AS3"
private var _dom:HTMLDOM;
private var _ready:Boolean;// = false
protected var _width:Number;// = 18
private var _account:String;// = ""
protected var _componentInspectorSetting:Boolean;
private var _visualDebug:Boolean;// = false
public var boundingBox_mc:DisplayObject;
private var _debug:DebugConfiguration;
private var _buffer:Buffer;
private var _display:DisplayObject;
protected var livePreviewHeight:Number;
private var _jsproxy:JavascriptProxy;
protected var isLivePreview:Boolean;
protected var preview:MovieClip;
private var _gifRequest:GIFRequest;
protected var livePreviewWidth:Number;
private var _tracker:GoogleAnalyticsAPI;
public static var version:Version = API.version;
public function FlashTracker(){
_ready = false;
_account = "";
_mode = TrackerMode.AS3;
_visualDebug = false;
_width = 18;
_height = 18;
super();
_tracker = new TrackerCache();
isLivePreview = _checkLivePreview();
_componentInspectorSetting = false;
if (boundingBox_mc){
boundingBox_mc.visible = false;
removeChild(boundingBox_mc);
boundingBox_mc = null;
};
if (isLivePreview){
_createLivePreview();
};
addEventListener(Event.ENTER_FRAME, _factory);
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
return (_tracker.trackEvent(_arg1, _arg2, _arg3, _arg4));
}
public function trackTrans():void{
_tracker.trackTrans();
}
private function _createLivePreview():void{
var _local1:Graphics;
var _local2:Class;
preview = new MovieClip();
_local1 = preview.graphics;
_local1.beginFill(0xFFFFFF);
_local1.moveTo(0, 0);
_local1.lineTo(0, _width);
_local1.lineTo(_width, _height);
_local1.lineTo(_height, 0);
_local1.lineTo(0, 0);
_local1.endFill();
_local2 = (getDefinitionByName("com.google.analytics.components::Icon") as Class);
preview.icon_mc = new (_local2);
preview.icon_mc.name = "icon_mc";
preview.addChild(preview.icon_mc);
addChild(preview);
}
public function trackPageview(_arg1:String=""):void{
_tracker.trackPageview(_arg1);
}
public function get account():String{
return (_account);
}
public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{
_tracker.linkByPost(_arg1, _arg2);
}
public function getDetectTitle():Boolean{
return (_tracker.getDetectTitle());
}
public function setCampNameKey(_arg1:String):void{
_tracker.setCampNameKey(_arg1);
}
public function resetSession():void{
_tracker.resetSession();
}
public function set account(_arg1:String):void{
_account = _arg1;
}
public function get debug():DebugConfiguration{
if (!_debug){
_createDebugAndConfig();
};
return (_debug);
}
public function createEventTracker(_arg1:String):EventTracker{
return (_tracker.createEventTracker(_arg1));
}
public function set config(_arg1:Configuration):void{
_config = _arg1;
}
public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{
return (_tracker.addTrans(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8));
}
public function setLocalServerMode():void{
_tracker.setLocalServerMode();
}
public function getLocalGifPath():String{
return (_tracker.getLocalGifPath());
}
public function clearIgnoredRef():void{
_tracker.clearIgnoredRef();
}
public function isReady():Boolean{
return (_ready);
}
public function set debug(_arg1:DebugConfiguration):void{
_debug = _arg1;
}
public function getVersion():String{
return (_tracker.getVersion());
}
public function setLocalRemoteServerMode():void{
_tracker.setLocalRemoteServerMode();
}
public function setCampNOKey(_arg1:String):void{
_tracker.setCampNOKey(_arg1);
}
public function addIgnoredOrganic(_arg1:String):void{
_tracker.addIgnoredOrganic(_arg1);
}
public function setCookiePath(_arg1:String):void{
_tracker.setCookiePath(_arg1);
}
public function setCampTermKey(_arg1:String):void{
_tracker.setCampTermKey(_arg1);
}
private function _trackerFactory():GoogleAnalyticsAPI{
debug.info(((("GATracker (AS3) v" + version) + "\naccount: ") + account));
_adSense = new AdSenseGlobals(debug);
_dom = new HTMLDOM(debug);
_dom.cacheProperties();
_env = new Environment("", "", "", debug, _dom);
_buffer = new Buffer(config, debug, false);
_gifRequest = new GIFRequest(config, debug, _buffer, _env);
_idleTimer = new IdleTimer(config, debug, _display, _buffer);
_env.url = _display.stage.loaderInfo.url;
return (new Tracker(account, config, debug, _env, _buffer, _gifRequest, _adSense));
}
public function setCampaignTrack(_arg1:Boolean):void{
_tracker.setCampaignTrack(_arg1);
}
public function getServiceMode():ServerOperationMode{
return (_tracker.getServiceMode());
}
public function set componentInspectorSetting(_arg1:Boolean):void{
_componentInspectorSetting = _arg1;
}
public function setSessionTimeout(_arg1:int):void{
_tracker.setSessionTimeout(_arg1);
}
public function setRemoteServerMode():void{
_tracker.setRemoteServerMode();
}
public function get visualDebug():Boolean{
return (_visualDebug);
}
public function addOrganic(_arg1:String, _arg2:String):void{
_tracker.addOrganic(_arg1, _arg2);
}
public function setCookieTimeout(_arg1:int):void{
_tracker.setCookieTimeout(_arg1);
}
public function getClientInfo():Boolean{
return (_tracker.getClientInfo());
}
public function setAllowLinker(_arg1:Boolean):void{
_tracker.setAllowLinker(_arg1);
}
public function setClientInfo(_arg1:Boolean):void{
_tracker.setClientInfo(_arg1);
}
private function _bridgeFactory():GoogleAnalyticsAPI{
debug.info(((("GATracker (Bridge) v" + version) + "\naccount: ") + account));
return (new Bridge(account, _debug, _jsproxy));
}
public function get config():Configuration{
if (!_config){
_createDebugAndConfig();
};
return (_config);
}
public function set mode(_arg1:String):void{
_mode = _arg1;
}
public function setDetectFlash(_arg1:Boolean):void{
_tracker.setDetectFlash(_arg1);
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{
_tracker.addItem(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
public function setVar(_arg1:String):void{
_tracker.setVar(_arg1);
}
public function clearIgnoredOrganic():void{
_tracker.clearIgnoredOrganic();
}
public function setDomainName(_arg1:String):void{
_tracker.setDomainName(_arg1);
}
private function _checkLivePreview():Boolean{
if (((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")))){
return (true);
};
return (false);
}
public function setCampSourceKey(_arg1:String):void{
_tracker.setCampSourceKey(_arg1);
}
public function setCampContentKey(_arg1:String):void{
_tracker.setCampContentKey(_arg1);
}
public function setSize(_arg1:Number, _arg2:Number):void{
}
public function setAllowAnchor(_arg1:Boolean):void{
_tracker.setAllowAnchor(_arg1);
}
public function setLocalGifPath(_arg1:String):void{
_tracker.setLocalGifPath(_arg1);
}
public function get mode():String{
return (_mode);
}
public function setSampleRate(_arg1:Number):void{
_tracker.setSampleRate(_arg1);
}
public function setAllowHash(_arg1:Boolean):void{
_tracker.setAllowHash(_arg1);
}
public function setDetectTitle(_arg1:Boolean):void{
_tracker.setDetectTitle(_arg1);
}
public function cookiePathCopy(_arg1:String):void{
_tracker.cookiePathCopy(_arg1);
}
private function _factory(_arg1:Event):void{
var _local2:GoogleAnalyticsAPI;
var _local3:TrackerCache;
removeEventListener(Event.ENTER_FRAME, _factory);
if (isLivePreview){
return;
};
_display = this;
_createDebugAndConfig();
if (visualDebug){
debug.layout = new Layout(debug, _display);
debug.active = visualDebug;
};
_jsproxy = new JavascriptProxy(debug);
_local3 = (_tracker as TrackerCache);
switch (mode){
case TrackerMode.BRIDGE:
_local2 = _bridgeFactory();
break;
case TrackerMode.AS3:
default:
_local2 = _trackerFactory();
};
if (!_local3.isEmpty()){
_local3.tracker = _local2;
_local3.flush();
};
_tracker = _local2;
_ready = true;
dispatchEvent(new AnalyticsEvent(AnalyticsEvent.READY, this));
}
public function getDetectFlash():Boolean{
return (_tracker.getDetectFlash());
}
public function clearOrganic():void{
_tracker.clearOrganic();
}
private function _createDebugAndConfig():void{
if (!_debug){
this.debug = new DebugConfiguration();
};
if (!_config){
this.config = new Configuration(debug);
};
}
public function addIgnoredRef(_arg1:String):void{
_tracker.addIgnoredRef(_arg1);
}
public function set visualDebug(_arg1:Boolean):void{
_visualDebug = _arg1;
}
public function setCampMediumKey(_arg1:String):void{
_tracker.setCampMediumKey(_arg1);
}
public function getAccount():String{
return (_tracker.getAccount());
}
public function link(_arg1:String, _arg2:Boolean=false):void{
_tracker.link(_arg1, _arg2);
}
}
var _local1:* = ServerOperationMode;
return (_local1);
}//package com.google.analytics.components
Section 212
//Icon (com.google.analytics.components.Icon)
package com.google.analytics.components {
import flash.display.*;
public dynamic class Icon extends MovieClip {
}
}//package com.google.analytics.components
Section 213
//BrowserInfo (com.google.analytics.core.BrowserInfo)
package com.google.analytics.core {
import com.google.analytics.v4.*;
import com.google.analytics.utils.*;
public class BrowserInfo {
private var _config:Configuration;
private var _info:Environment;
public function BrowserInfo(_arg1:Configuration, _arg2:Environment){
_config = _arg1;
_info = _arg2;
}
public function get utmul():String{
return (_info.language.toLowerCase());
}
public function get utmje():String{
return ("0");
}
public function toURLString():String{
var _local1:Variables;
_local1 = toVariables();
return (_local1.toString());
}
public function get utmsr():String{
return (((_info.screenWidth + "x") + _info.screenHeight));
}
public function get utmcs():String{
return (_info.languageEncoding);
}
public function get utmfl():String{
var _local1:Version;
if (_config.detectFlash){
_local1 = _info.flashVersion;
return (((((_local1.major + ".") + _local1.minor) + " r") + _local1.build));
};
return ("-");
}
public function toVariables():Variables{
var _local1:Variables;
_local1 = new Variables();
_local1.URIencode = true;
_local1.utmcs = utmcs;
_local1.utmsr = utmsr;
_local1.utmsc = utmsc;
_local1.utmul = utmul;
_local1.utmje = utmje;
_local1.utmfl = utmfl;
return (_local1);
}
public function get utmsc():String{
return ((_info.screenColorDepth + "-bit"));
}
}
}//package com.google.analytics.core
Section 214
//Buffer (com.google.analytics.core.Buffer)
package com.google.analytics.core {
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import flash.net.*;
import flash.events.*;
import com.google.analytics.data.*;
public dynamic class Buffer {
private var _SO:SharedObject;
private var _OBJ:Object;
private var _utma:UTMA;
private var _utmb:UTMB;
private var _utmc:UTMC;
private var _debug:DebugConfiguration;
private var _utmk:UTMK;
private var _config:Configuration;
private var _utmv:UTMV;
private var _utmz:UTMZ;
private var _volatile:Boolean;
public function Buffer(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Boolean=false, _arg4:Object=null){
var _local5:Boolean;
var _local6:String;
super();
_config = _arg1;
_debug = _arg2;
UTMB.defaultTimespan = _config.sessionTimeout;
UTMZ.defaultTimespan = _config.conversionTimeout;
if (!_arg3){
_SO = SharedObject.getLocal(_config.cookieName, _config.cookiePath);
_local5 = false;
if (_SO.data.utma){
if (!hasUTMA()){
_createUMTA();
};
_utma.fromSharedObject(_SO.data.utma);
if (_debug.verbose){
_debug.info(("found: " + _utma.toString(true)), VisualDebugMode.geek);
};
if (_utma.isExpired()){
if (_debug.verbose){
_debug.warning("UTMA has expired", VisualDebugMode.advanced);
};
_clearUTMA();
_local5 = true;
};
};
if (_SO.data.utmb){
if (!hasUTMB()){
_createUMTB();
};
_utmb.fromSharedObject(_SO.data.utmb);
if (_debug.verbose){
_debug.info(("found: " + _utmb.toString(true)), VisualDebugMode.geek);
};
if (_utmb.isExpired()){
if (_debug.verbose){
_debug.warning("UTMB has expired", VisualDebugMode.advanced);
};
_clearUTMB();
_local5 = true;
};
};
if (_SO.data.utmc){
delete _SO.data.utmc;
_local5 = true;
};
if (_SO.data.utmk){
if (!hasUTMK()){
_createUMTK();
};
_utmk.fromSharedObject(_SO.data.utmk);
if (_debug.verbose){
_debug.info(("found: " + _utmk.toString()), VisualDebugMode.geek);
};
};
if (_SO.data.utmv){
if (!hasUTMV()){
_createUMTV();
};
_utmv.fromSharedObject(_SO.data.utmv);
if (_debug.verbose){
_debug.info(("found: " + _utmv.toString(true)), VisualDebugMode.geek);
};
if (_utmv.isExpired()){
if (_debug.verbose){
_debug.warning("UTMV has expired", VisualDebugMode.advanced);
};
_clearUTMV();
_local5 = true;
};
};
if (_SO.data.utmz){
if (!hasUTMZ()){
_createUMTZ();
};
_utmz.fromSharedObject(_SO.data.utmz);
if (_debug.verbose){
_debug.info(("found: " + _utmz.toString(true)), VisualDebugMode.geek);
};
if (_utmz.isExpired()){
if (_debug.verbose){
_debug.warning("UTMZ has expired", VisualDebugMode.advanced);
};
_clearUTMZ();
_local5 = true;
};
};
if (_local5){
save();
};
} else {
_OBJ = new Object();
if (_arg4){
for (_local6 in _arg4) {
_OBJ[_local6] = _arg4[_local6];
};
};
};
_volatile = _arg3;
}
public function clearCookies():void{
utma.reset();
utmb.reset();
utmc.reset();
utmz.reset();
utmv.reset();
utmk.reset();
}
public function save():void{
var flushStatus:String;
if (!isVolatile()){
flushStatus = null;
try {
flushStatus = _SO.flush();
} catch(e:Error) {
_debug.warning("Error...Could not write SharedObject to disk");
};
switch (flushStatus){
case SharedObjectFlushStatus.PENDING:
_debug.info("Requesting permission to save object...");
_SO.addEventListener(NetStatusEvent.NET_STATUS, _onFlushStatus);
break;
case SharedObjectFlushStatus.FLUSHED:
_debug.info("Value flushed to disk.");
break;
};
};
}
public function get utmv():UTMV{
if (!hasUTMV()){
_createUMTV();
};
return (_utmv);
}
public function get utmz():UTMZ{
if (!hasUTMZ()){
_createUMTZ();
};
return (_utmz);
}
public function hasUTMA():Boolean{
if (_utma){
return (true);
};
return (false);
}
public function hasUTMB():Boolean{
if (_utmb){
return (true);
};
return (false);
}
public function hasUTMC():Boolean{
if (_utmc){
return (true);
};
return (false);
}
public function isGenuine():Boolean{
if (!hasUTMK()){
return (true);
};
return ((utmk.hash == generateCookiesHash()));
}
public function resetCurrentSession():void{
_clearUTMB();
_clearUTMC();
save();
}
public function hasUTMK():Boolean{
if (_utmk){
return (true);
};
return (false);
}
public function generateCookiesHash():Number{
var _local1 = "";
_local1 = (_local1 + utma.valueOf());
_local1 = (_local1 + utmb.valueOf());
_local1 = (_local1 + utmc.valueOf());
_local1 = (_local1 + utmz.valueOf());
_local1 = (_local1 + utmv.valueOf());
return (Utils.generateHash(_local1));
}
private function _createUMTB():void{
_utmb = new UTMB();
_utmb.proxy = this;
}
private function _createUMTC():void{
_utmc = new UTMC();
}
private function _createUMTA():void{
_utma = new UTMA();
_utma.proxy = this;
}
public function hasUTMV():Boolean{
if (_utmv){
return (true);
};
return (false);
}
private function _createUMTK():void{
_utmk = new UTMK();
_utmk.proxy = this;
}
public function hasUTMZ():Boolean{
if (_utmz){
return (true);
};
return (false);
}
private function _createUMTV():void{
_utmv = new UTMV();
_utmv.proxy = this;
}
private function _onFlushStatus(_arg1:NetStatusEvent):void{
_debug.info("User closed permission dialog...");
switch (_arg1.info.code){
case "SharedObject.Flush.Success":
_debug.info("User granted permission -- value saved.");
break;
case "SharedObject.Flush.Failed":
_debug.info("User denied permission -- value not saved.");
break;
};
_SO.removeEventListener(NetStatusEvent.NET_STATUS, _onFlushStatus);
}
private function _createUMTZ():void{
_utmz = new UTMZ();
_utmz.proxy = this;
}
public function updateUTMA(_arg1:Number):void{
if (_debug.verbose){
_debug.info((("updateUTMA( " + _arg1) + " )"), VisualDebugMode.advanced);
};
if (!utma.isEmpty()){
if (isNaN(utma.sessionCount)){
utma.sessionCount = 1;
} else {
utma.sessionCount = (utma.sessionCount + 1);
};
utma.lastTime = utma.currentTime;
utma.currentTime = _arg1;
};
}
private function _clearUTMA():void{
_utma = null;
if (!isVolatile()){
_SO.data.utma = null;
delete _SO.data.utma;
};
}
private function _clearUTMC():void{
_utmc = null;
}
private function _clearUTMB():void{
_utmb = null;
if (!isVolatile()){
_SO.data.utmb = null;
delete _SO.data.utmb;
};
}
public function update(_arg1:String, _arg2):void{
if (isVolatile()){
_OBJ[_arg1] = _arg2;
} else {
_SO.data[_arg1] = _arg2;
};
}
private function _clearUTMZ():void{
_utmz = null;
if (!isVolatile()){
_SO.data.utmz = null;
delete _SO.data.utmz;
};
}
private function _clearUTMV():void{
_utmv = null;
if (!isVolatile()){
_SO.data.utmv = null;
delete _SO.data.utmv;
};
}
public function isVolatile():Boolean{
return (_volatile);
}
public function get utma():UTMA{
if (!hasUTMA()){
_createUMTA();
};
return (_utma);
}
public function get utmb():UTMB{
if (!hasUTMB()){
_createUMTB();
};
return (_utmb);
}
public function get utmc():UTMC{
if (!hasUTMC()){
_createUMTC();
};
return (_utmc);
}
public function get utmk():UTMK{
if (!hasUTMK()){
_createUMTK();
};
return (_utmk);
}
}
}//package com.google.analytics.core
Section 215
//DocumentInfo (com.google.analytics.core.DocumentInfo)
package com.google.analytics.core {
import com.google.analytics.v4.*;
import com.google.analytics.utils.*;
import com.google.analytics.external.*;
public class DocumentInfo {
private var _config:Configuration;
private var _utmr:String;
private var _adSense:AdSenseGlobals;
private var _info:Environment;
private var _pageURL:String;
public function DocumentInfo(_arg1:Configuration, _arg2:Environment, _arg3:String, _arg4:String=null, _arg5:AdSenseGlobals=null){
_config = _arg1;
_info = _arg2;
_utmr = _arg3;
_pageURL = _arg4;
_adSense = _arg5;
}
public function get utmr():String{
if (!_utmr){
return ("-");
};
return (_utmr);
}
public function toURLString():String{
var _local1:Variables;
_local1 = toVariables();
return (_local1.toString());
}
private function _renderPageURL(_arg1:String=""):String{
var _local2:String;
var _local3:String;
_local2 = _info.locationPath;
_local3 = _info.locationSearch;
if (((!(_arg1)) || ((_arg1 == "")))){
_arg1 = (_local2 + unescape(_local3));
};
return (_arg1);
}
public function get utmp():String{
return (_renderPageURL(_pageURL));
}
private function _generateHitId():Number{
var _local1:Number;
if (((_adSense.hid) && (!((_adSense.hid == ""))))){
_local1 = Number(_adSense.hid);
} else {
_local1 = Math.round((Math.random() * 2147483647));
_adSense.hid = String(_local1);
};
return (_local1);
}
public function get utmhid():String{
return (String(_generateHitId()));
}
public function toVariables():Variables{
var _local1:Variables;
_local1 = new Variables();
_local1.URIencode = true;
if (((_config.detectTitle) && (!((utmdt == ""))))){
_local1.utmdt = utmdt;
};
_local1.utmhid = utmhid;
_local1.utmr = utmr;
_local1.utmp = utmp;
return (_local1);
}
public function get utmdt():String{
return (_info.documentTitle);
}
}
}//package com.google.analytics.core
Section 216
//Domain (com.google.analytics.core.Domain)
package com.google.analytics.core {
import com.google.analytics.debug.*;
public class Domain {
private var _mode:DomainNameMode;
private var _debug:DebugConfiguration;
private var _name:String;
public function Domain(_arg1:DomainNameMode=null, _arg2:String="", _arg3:DebugConfiguration=null){
_debug = _arg3;
if (_arg1 == null){
_arg1 = DomainNameMode.auto;
};
_mode = _arg1;
if (_arg1 == DomainNameMode.custom){
this.name = _arg2;
} else {
_name = _arg2;
};
}
public function get mode():DomainNameMode{
return (_mode);
}
public function set mode(_arg1:DomainNameMode):void{
_mode = _arg1;
if (_mode == DomainNameMode.none){
_name = "";
};
}
public function get name():String{
return (_name);
}
public function set name(_arg1:String):void{
if (((!((_arg1.charAt(0) == "."))) && (_debug))){
_debug.warning(("missing leading period \".\", cookie will only be accessible on " + _arg1), VisualDebugMode.geek);
};
_name = _arg1;
}
}
}//package com.google.analytics.core
Section 217
//DomainNameMode (com.google.analytics.core.DomainNameMode)
package com.google.analytics.core {
public class DomainNameMode {
private var _value:int;
private var _name:String;
public static const custom:DomainNameMode = new DomainNameMode(2, "custom");
;
public static const none:DomainNameMode = new DomainNameMode(0, "none");
;
public static const auto:DomainNameMode = new DomainNameMode(1, "auto");
;
public function DomainNameMode(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.core
Section 218
//EventInfo (com.google.analytics.core.EventInfo)
package com.google.analytics.core {
import com.google.analytics.data.*;
import com.google.analytics.utils.*;
public class EventInfo {
private var _isEventHit:Boolean;
private var _ext10:X10;
private var _x10:X10;
public function EventInfo(_arg1:Boolean, _arg2:X10, _arg3:X10=null){
_isEventHit = _arg1;
_x10 = _arg2;
_ext10 = _arg3;
}
public function toURLString():String{
var _local1:Variables;
_local1 = toVariables();
return (_local1.toString());
}
public function get utmt():String{
return ("event");
}
public function get utme():String{
return (_x10.renderMergedUrlString(_ext10));
}
public function toVariables():Variables{
var _local1:Variables;
_local1 = new Variables();
_local1.URIencode = true;
if (_isEventHit){
_local1.utmt = utmt;
};
_local1.utme = utme;
return (_local1);
}
}
}//package com.google.analytics.core
Section 219
//EventTracker (com.google.analytics.core.EventTracker)
package com.google.analytics.core {
import com.google.analytics.v4.*;
public class EventTracker {
private var _parent:GoogleAnalyticsAPI;
public var name:String;
public function EventTracker(_arg1:String, _arg2:GoogleAnalyticsAPI){
this.name = _arg1;
_parent = _arg2;
}
public function trackEvent(_arg1:String, _arg2:String=null, _arg3:Number=NaN):Boolean{
return (_parent.trackEvent(name, _arg1, _arg2, _arg3));
}
}
}//package com.google.analytics.core
Section 220
//ga_internal (com.google.analytics.core.ga_internal)
package com.google.analytics.core {
public namespace ga_internal;
}//package com.google.analytics.core
Section 221
//GIFRequest (com.google.analytics.core.GIFRequest)
package com.google.analytics.core {
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import flash.net.*;
import flash.events.*;
import flash.display.*;
import com.google.analytics.utils.*;
import flash.system.*;
public class GIFRequest {
private var _info:Environment;
private var _count:int;
private var _utmac:String;
private var _alertcount:int;
private var _debug:DebugConfiguration;
private var _lastRequest:URLRequest;
private var _buffer:Buffer;
private var _config:Configuration;
private var _requests:Array;
public function GIFRequest(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Buffer, _arg4:Environment){
_config = _arg1;
_debug = _arg2;
_buffer = _arg3;
_info = _arg4;
_count = 0;
_alertcount = 0;
_requests = [];
}
public function get utmn():String{
return ((Utils.generate32bitRandom() as String));
}
public function onIOError(_arg1:IOErrorEvent):void{
var _local2:String = _lastRequest.url;
var _local3:String = String((_requests.length - 1));
var _local4 = (("Gif Request #" + _local3) + " failed");
if (_debug.GIFRequests){
if (!_debug.verbose){
if (_local2.indexOf("?") > -1){
_local2 = _local2.split("?")[0];
};
_local2 = _shortenURL(_local2);
};
if (int(_debug.mode) > int(VisualDebugMode.basic)){
_local4 = (_local4 + ((" \"" + _local2) + "\" does not exists or is unreachable"));
};
_debug.failure(_local4);
} else {
_debug.warning(_local4);
};
_removeListeners(_arg1.target);
}
public function send(_arg1:String, _arg2:Variables=null, _arg3:Boolean=false, _arg4:Boolean=false):void{
var _local5:String;
var _local6:URLRequest;
var _local7:URLRequest;
_utmac = _arg1;
if (!_arg2){
_arg2 = new Variables();
};
_arg2.URIencode = false;
_arg2.pre = ["utmwv", "utmn", "utmhn", "utmt", "utme", "utmcs", "utmsr", "utmsc", "utmul", "utmje", "utmfl", "utmdt", "utmhid", "utmr", "utmp"];
_arg2.post = ["utmcc"];
if (_debug.verbose){
_debug.info(((("tracking: " + _buffer.utmb.trackCount) + "/") + _config.trackingLimitPerSession), VisualDebugMode.geek);
};
if ((((_buffer.utmb.trackCount < _config.trackingLimitPerSession)) || (_arg3))){
if (_arg4){
updateToken();
};
if (((((_arg3) || (!(_arg4)))) || ((_buffer.utmb.token >= 1)))){
if (((!(_arg3)) && (_arg4))){
_buffer.utmb.token = (_buffer.utmb.token - 1);
};
_buffer.utmb.trackCount = (_buffer.utmb.trackCount + 1);
if (_debug.verbose){
_debug.info(_buffer.utmb.toString(), VisualDebugMode.geek);
};
_arg2.utmwv = utmwv;
_arg2.utmn = Utils.generate32bitRandom();
if (_info.domainName != ""){
_arg2.utmhn = _info.domainName;
};
if (_config.sampleRate < 1){
_arg2.utmsp = (_config.sampleRate * 100);
};
if ((((_config.serverMode == ServerOperationMode.local)) || ((_config.serverMode == ServerOperationMode.both)))){
_local5 = _info.locationSWFPath;
if (_local5.lastIndexOf("/") > 0){
_local5 = _local5.substring(0, _local5.lastIndexOf("/"));
};
_local6 = new URLRequest();
if (_config.localGIFpath.indexOf("http") == 0){
_local6.url = _config.localGIFpath;
} else {
_local6.url = (_local5 + _config.localGIFpath);
};
_local6.url = (_local6.url + ("?" + _arg2.toString()));
if (((_debug.active) && (_debug.GIFRequests))){
_debugSend(_local6);
} else {
sendRequest(_local6);
};
};
if ((((_config.serverMode == ServerOperationMode.remote)) || ((_config.serverMode == ServerOperationMode.both)))){
_local7 = new URLRequest();
if (_info.protocol == Protocols.HTTPS){
_local7.url = _config.secureRemoteGIFpath;
} else {
if (_info.protocol == Protocols.HTTP){
_local7.url = _config.remoteGIFpath;
} else {
_local7.url = _config.remoteGIFpath;
};
};
_arg2.utmac = utmac;
_arg2.utmcc = encodeURIComponent(utmcc);
_local7.url = (_local7.url + ("?" + _arg2.toString()));
if (((_debug.active) && (_debug.GIFRequests))){
_debugSend(_local7);
} else {
sendRequest(_local7);
};
};
};
};
}
public function onSecurityError(_arg1:SecurityErrorEvent):void{
if (_debug.GIFRequests){
_debug.failure(_arg1.text);
};
}
public function get utmsp():String{
return (((_config.sampleRate * 100) as String));
}
public function get utmcc():String{
var _local1:Array = [];
if (_buffer.hasUTMA()){
_local1.push((_buffer.utma.toURLString() + ";"));
};
if (_buffer.hasUTMZ()){
_local1.push((_buffer.utmz.toURLString() + ";"));
};
if (_buffer.hasUTMV()){
_local1.push((_buffer.utmv.toURLString() + ";"));
};
return (_local1.join("+"));
}
public function get utmac():String{
return (_utmac);
}
public function get utmwv():String{
return (_config.version);
}
public function sendRequest(_arg1:URLRequest):void{
var request = _arg1;
var loader:Loader = new Loader();
loader.name = String(_count++);
var context:LoaderContext = new LoaderContext(false);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
_lastRequest = request;
_requests[loader.name] = new RequestObject(request);
try {
loader.load(request, context);
} catch(e:Error) {
_debug.failure("\"Loader.load()\" could not instanciate Gif Request");
};
}
private function _removeListeners(_arg1:Object):void{
_arg1.removeEventListener(IOErrorEvent.IO_ERROR, onIOError);
_arg1.removeEventListener(Event.COMPLETE, onComplete);
}
public function updateToken():void{
var _local2:Number;
var _local1:Number = new Date().getTime();
_local2 = ((_local1 - _buffer.utmb.lastTime) * (_config.tokenRate / 1000));
if (_debug.verbose){
_debug.info(("tokenDelta: " + _local2), VisualDebugMode.geek);
};
if (_local2 >= 1){
_buffer.utmb.token = Math.min(Math.floor((_buffer.utmb.token + _local2)), _config.bucketCapacity);
_buffer.utmb.lastTime = _local1;
if (_debug.verbose){
_debug.info(_buffer.utmb.toString(), VisualDebugMode.geek);
};
};
}
public function get utmhn():String{
return (_info.domainName);
}
private function _shortenURL(_arg1:String):String{
var _local2:Array;
if (_arg1.length > 60){
_local2 = _arg1.split("/");
while (_arg1.length > 60) {
_local2.shift();
_arg1 = ("../" + _local2.join("/"));
};
};
return (_arg1);
}
private function _debugSend(_arg1:URLRequest):void{
var _local3:String;
var _local2 = "";
switch (_debug.mode){
case VisualDebugMode.geek:
_local2 = ((("Gif Request #" + _alertcount) + ":\n") + _arg1.url);
break;
case VisualDebugMode.advanced:
_local3 = _arg1.url;
if (_local3.indexOf("?") > -1){
_local3 = _local3.split("?")[0];
};
_local3 = _shortenURL(_local3);
_local2 = (((("Send Gif Request #" + _alertcount) + ":\n") + _local3) + " ?");
break;
case VisualDebugMode.basic:
default:
_local2 = (((("Send " + _config.serverMode.toString()) + " Gif Request #") + _alertcount) + " ?");
};
_debug.alertGifRequest(_local2, _arg1, this);
_alertcount++;
}
public function onComplete(_arg1:Event):void{
var _local2:String = _arg1.target.loader.name;
_requests[_local2].complete();
var _local3 = (("Gif Request #" + _local2) + " sent");
var _local4:String = _requests[_local2].request.url;
if (_debug.GIFRequests){
if (!_debug.verbose){
if (_local4.indexOf("?") > -1){
_local4 = _local4.split("?")[0];
};
_local4 = _shortenURL(_local4);
};
if (int(_debug.mode) > int(VisualDebugMode.basic)){
_local3 = (_local3 + ((" to \"" + _local4) + "\""));
};
_debug.success(_local3);
} else {
_debug.info(_local3);
};
_removeListeners(_arg1.target);
}
}
}//package com.google.analytics.core
Section 222
//IdleTimer (com.google.analytics.core.IdleTimer)
package com.google.analytics.core {
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class IdleTimer {
private var _loop:Timer;
private var _stage:Stage;
private var _lastMove:int;
private var _debug:DebugConfiguration;
private var _session:Timer;
private var _inactivity:Number;
private var _buffer:Buffer;
public function IdleTimer(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:DisplayObject, _arg4:Buffer){
var _local5:Number;
var _local6:Number;
var _local7:Number;
super();
_local5 = _arg1.idleLoop;
_local6 = _arg1.idleTimeout;
_local7 = _arg1.sessionTimeout;
_loop = new Timer((_local5 * 1000));
_session = new Timer((_local7 * 1000), 1);
_debug = _arg2;
_stage = _arg3.stage;
_buffer = _arg4;
_lastMove = getTimer();
_inactivity = (_local6 * 1000);
_loop.addEventListener(TimerEvent.TIMER, checkForIdle);
_session.addEventListener(TimerEvent.TIMER_COMPLETE, endSession);
_stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
_debug.info(((((("delay: " + _local5) + "sec , inactivity: ") + _local6) + "sec, sessionTimeout: ") + _local7), VisualDebugMode.geek);
_loop.start();
}
private function onMouseMove(_arg1:MouseEvent):void{
_lastMove = getTimer();
if (_session.running){
_debug.info("session timer reset", VisualDebugMode.geek);
_session.reset();
};
}
public function endSession(_arg1:TimerEvent):void{
_session.removeEventListener(TimerEvent.TIMER_COMPLETE, endSession);
_debug.info("session timer end session", VisualDebugMode.geek);
_session.reset();
_buffer.resetCurrentSession();
_debug.info(_buffer.utmb.toString(), VisualDebugMode.geek);
_debug.info(_buffer.utmc.toString(), VisualDebugMode.geek);
_session.addEventListener(TimerEvent.TIMER_COMPLETE, endSession);
}
public function checkForIdle(_arg1:TimerEvent):void{
var _local2:int;
_local2 = getTimer();
if ((_local2 - _lastMove) >= _inactivity){
if (!_session.running){
_debug.info("session timer start", VisualDebugMode.geek);
_session.start();
};
};
}
}
}//package com.google.analytics.core
Section 223
//Organic (com.google.analytics.core.Organic)
package com.google.analytics.core {
import com.google.analytics.utils.*;
public class Organic {
private var _sourcesCache:Array;
private var _sourcesEngine:Array;
private var _ignoredKeywords:Array;
private var _ignoredReferralsCache:Object;
private var _ignoredReferrals:Array;
private var _ignoredKeywordsCache:Object;
private var _sources:Array;
public static var throwErrors:Boolean = false;
public function Organic(){
_sources = [];
_sourcesCache = [];
_sourcesEngine = [];
_ignoredReferrals = [];
_ignoredReferralsCache = {};
_ignoredKeywords = [];
_ignoredKeywordsCache = {};
}
public function getKeywordValue(_arg1:OrganicReferrer, _arg2:String):String{
var _local3:String;
_local3 = _arg1.keyword;
return (getKeywordValueFromPath(_local3, _arg2));
}
public function isIgnoredKeyword(_arg1:String):Boolean{
if (_ignoredKeywordsCache.hasOwnProperty(_arg1)){
return (true);
};
return (false);
}
public function isIgnoredReferral(_arg1:String):Boolean{
if (_ignoredReferralsCache.hasOwnProperty(_arg1)){
return (true);
};
return (false);
}
public function clear():void{
clearEngines();
clearIgnoredReferrals();
clearIgnoredKeywords();
}
public function get ignoredKeywordsCount():int{
return (_ignoredKeywords.length);
}
public function match(_arg1:String):Boolean{
if (_arg1 == ""){
return (false);
};
_arg1 = _arg1.toLowerCase();
if (_sourcesEngine[_arg1] != undefined){
return (true);
};
return (false);
}
public function get count():int{
return (_sources.length);
}
public function addSource(_arg1:String, _arg2:String):void{
var _local3:OrganicReferrer;
_local3 = new OrganicReferrer(_arg1, _arg2);
if (_sourcesCache[_local3.toString()] == undefined){
_sources.push(_local3);
_sourcesCache[_local3.toString()] = (_sources.length - 1);
if (_sourcesEngine[_local3.engine] == undefined){
_sourcesEngine[_local3.engine] = [(_sources.length - 1)];
} else {
_sourcesEngine[_local3.engine].push((_sources.length - 1));
};
} else {
if (throwErrors){
throw (new Error((_local3.toString() + " already exists, we don't add it.")));
};
};
}
public function clearIgnoredKeywords():void{
_ignoredKeywords = [];
_ignoredKeywordsCache = {};
}
public function clearEngines():void{
_sources = [];
_sourcesCache = [];
_sourcesEngine = [];
}
public function get ignoredReferralsCount():int{
return (_ignoredReferrals.length);
}
public function addIgnoredReferral(_arg1:String):void{
if (_ignoredReferralsCache[_arg1] == undefined){
_ignoredReferrals.push(_arg1);
_ignoredReferralsCache[_arg1] = (_ignoredReferrals.length - 1);
} else {
if (throwErrors){
throw (new Error((("\"" + _arg1) + "\" already exists, we don't add it.")));
};
};
}
public function clearIgnoredReferrals():void{
_ignoredReferrals = [];
_ignoredReferralsCache = {};
}
public function getReferrerByName(_arg1:String):OrganicReferrer{
var _local2:int;
if (match(_arg1)){
_local2 = _sourcesEngine[_arg1][0];
return (_sources[_local2]);
};
return (null);
}
public function addIgnoredKeyword(_arg1:String):void{
if (_ignoredKeywordsCache[_arg1] == undefined){
_ignoredKeywords.push(_arg1);
_ignoredKeywordsCache[_arg1] = (_ignoredKeywords.length - 1);
} else {
if (throwErrors){
throw (new Error((("\"" + _arg1) + "\" already exists, we don't add it.")));
};
};
}
public function get sources():Array{
return (_sources);
}
public static function getKeywordValueFromPath(_arg1:String, _arg2:String):String{
var _local3:String;
var _local4:Variables;
if (_arg2.indexOf((_arg1 + "=")) > -1){
if (_arg2.charAt(0) == "?"){
_arg2 = _arg2.substr(1);
};
_arg2 = _arg2.split("+").join("%20");
_local4 = new Variables(_arg2);
_local3 = _local4[_arg1];
};
return (_local3);
}
}
}//package com.google.analytics.core
Section 224
//OrganicReferrer (com.google.analytics.core.OrganicReferrer)
package com.google.analytics.core {
public class OrganicReferrer {
private var _engine:String;
private var _keyword:String;
public function OrganicReferrer(_arg1:String, _arg2:String){
this.engine = _arg1;
this.keyword = _arg2;
}
public function set engine(_arg1:String):void{
_engine = _arg1.toLowerCase();
}
public function get keyword():String{
return (_keyword);
}
public function toString():String{
return (((engine + "?") + keyword));
}
public function get engine():String{
return (_engine);
}
public function set keyword(_arg1:String):void{
_keyword = _arg1.toLowerCase();
}
}
}//package com.google.analytics.core
Section 225
//RequestObject (com.google.analytics.core.RequestObject)
package com.google.analytics.core {
import flash.net.*;
import flash.utils.*;
public class RequestObject {
public var start:int;
public var request:URLRequest;
public var end:int;
public function RequestObject(_arg1:URLRequest){
start = getTimer();
this.request = _arg1;
}
public function toString():String{
var _local1:Array;
_local1 = [];
_local1.push((("duration: " + duration) + "ms"));
_local1.push(("url: " + request.url));
return ((("{ " + _local1.join(", ")) + " }"));
}
public function get duration():int{
if (!hasCompleted()){
return (0);
};
return ((end - start));
}
public function hasCompleted():Boolean{
return ((end > 0));
}
public function complete():void{
end = getTimer();
}
}
}//package com.google.analytics.core
Section 226
//ServerOperationMode (com.google.analytics.core.ServerOperationMode)
package com.google.analytics.core {
public class ServerOperationMode {
private var _value:int;
private var _name:String;
public static const both:ServerOperationMode = new ServerOperationMode(2, "both");
;
public static const remote:ServerOperationMode = new ServerOperationMode(1, "remote");
;
public static const local:ServerOperationMode = new ServerOperationMode(0, "local");
;
public function ServerOperationMode(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.core
Section 227
//TrackerCache (com.google.analytics.core.TrackerCache)
package com.google.analytics.core {
import com.google.analytics.v4.*;
import flash.errors.*;
public class TrackerCache implements GoogleAnalyticsAPI {
public var tracker:GoogleAnalyticsAPI;
private var _ar:Array;
public static var CACHE_THROW_ERROR:Boolean;
public function TrackerCache(_arg1:GoogleAnalyticsAPI=null){
this.tracker = _arg1;
_ar = [];
}
public function size():uint{
return (_ar.length);
}
public function flush():void{
var _local1:Object;
var _local2:String;
var _local3:Array;
var _local4:int;
var _local5:int;
if (tracker == null){
return;
};
if (size() > 0){
_local4 = _ar.length;
while (_local5 < _local4) {
_local1 = _ar.shift();
_local2 = (_local1.name as String);
_local3 = (_local1.args as Array);
if (((!((_local2 == null))) && ((_local2 in tracker)))){
(tracker[_local2] as Function).apply(tracker, _local3);
};
_local5++;
};
};
}
public function enqueue(_arg1:String, ... _args):Boolean{
if (_arg1 == null){
return (false);
};
_ar.push({name:_arg1, args:_args});
return (true);
}
public function link(_arg1:String, _arg2:Boolean=false):void{
enqueue("link", _arg1, _arg2);
}
public function addOrganic(_arg1:String, _arg2:String):void{
enqueue("addOrganic", _arg1, _arg2);
}
public function setAllowLinker(_arg1:Boolean):void{
enqueue("setAllowLinker", _arg1);
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
enqueue("trackEvent", _arg1, _arg2, _arg3, _arg4);
return (true);
}
public function getClientInfo():Boolean{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getClientInfo' method for the moment."));
};
return (false);
}
public function trackTrans():void{
enqueue("trackTrans");
}
public function trackPageview(_arg1:String=""):void{
enqueue("trackPageview", _arg1);
}
public function setClientInfo(_arg1:Boolean):void{
enqueue("setClientInfo", _arg1);
}
public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{
enqueue("linkByPost", _arg1, _arg2);
}
public function setCookieTimeout(_arg1:int):void{
enqueue("setCookieTimeout", _arg1);
}
public function isEmpty():Boolean{
return ((_ar.length == 0));
}
public function getDetectTitle():Boolean{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getDetectTitle' method for the moment."));
};
return (false);
}
public function resetSession():void{
enqueue("resetSession");
}
public function setDetectFlash(_arg1:Boolean):void{
enqueue("setDetectFlash", _arg1);
}
public function clear():void{
_ar = [];
}
public function setCampNameKey(_arg1:String):void{
enqueue("setCampNameKey", _arg1);
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{
enqueue("addItem", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
public function createEventTracker(_arg1:String):EventTracker{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'createEventTracker' method for the moment."));
};
return (null);
}
public function setVar(_arg1:String):void{
enqueue("setVar", _arg1);
}
public function clearIgnoredOrganic():void{
enqueue("clearIgnoredOrganic");
}
public function setDomainName(_arg1:String):void{
enqueue("setDomainName", _arg1);
}
public function setCampSourceKey(_arg1:String):void{
enqueue("setCampSourceKey", _arg1);
}
public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'addTrans' method for the moment."));
};
return (null);
}
public function setCampContentKey(_arg1:String):void{
enqueue("setCampContentKey", _arg1);
}
public function setLocalServerMode():void{
enqueue("setLocalServerMode");
}
public function getLocalGifPath():String{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getLocalGifPath' method for the moment."));
};
return ("");
}
public function setAllowAnchor(_arg1:Boolean):void{
enqueue("setAllowAnchor", _arg1);
}
public function clearIgnoredRef():void{
enqueue("clearIgnoredRef");
}
public function setLocalGifPath(_arg1:String):void{
enqueue("setLocalGifPath", _arg1);
}
public function getVersion():String{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getVersion' method for the moment."));
};
return ("");
}
public function setCookiePath(_arg1:String):void{
enqueue("setCookiePath", _arg1);
}
public function setSampleRate(_arg1:Number):void{
enqueue("setSampleRate", _arg1);
}
public function setDetectTitle(_arg1:Boolean):void{
enqueue("setDetectTitle", _arg1);
}
public function setAllowHash(_arg1:Boolean):void{
enqueue("setAllowHash", _arg1);
}
public function addIgnoredOrganic(_arg1:String):void{
enqueue("addIgnoredOrganic", _arg1);
}
public function setCampNOKey(_arg1:String):void{
enqueue("setCampNOKey", _arg1);
}
public function getServiceMode():ServerOperationMode{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getServiceMode' method for the moment."));
};
return (null);
}
public function setLocalRemoteServerMode():void{
enqueue("setLocalRemoteServerMode");
}
public function cookiePathCopy(_arg1:String):void{
enqueue("cookiePathCopy", _arg1);
}
public function getDetectFlash():Boolean{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getDetectFlash' method for the moment."));
};
return (false);
}
public function setCampaignTrack(_arg1:Boolean):void{
enqueue("setCampaignTrack", _arg1);
}
public function clearOrganic():void{
enqueue("clearOrganic");
}
public function setCampTermKey(_arg1:String):void{
enqueue("setCampTermKey", _arg1);
}
public function addIgnoredRef(_arg1:String):void{
enqueue("addIgnoredRef", _arg1);
}
public function setCampMediumKey(_arg1:String):void{
enqueue("setCampMediumKey", _arg1);
}
public function setSessionTimeout(_arg1:int):void{
enqueue("setSessionTimeout", _arg1);
}
public function setRemoteServerMode():void{
enqueue("setRemoteServerMode");
}
public function element(){
return (_ar[0]);
}
public function getAccount():String{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getAccount' method for the moment."));
};
return ("");
}
}
}//package com.google.analytics.core
Section 228
//TrackerMode (com.google.analytics.core.TrackerMode)
package com.google.analytics.core {
public class TrackerMode {
public static const BRIDGE:String = "Bridge";
public static const AS3:String = "AS3";
}
}//package com.google.analytics.core
Section 229
//Utils (com.google.analytics.core.Utils)
package com.google.analytics.core {
public class Utils {
public static function trim(_arg1:String, _arg2:Boolean=false):String{
var _local3:Array;
var _local4:String;
var _local5:int;
var _local6:int;
var _local7:int;
if (_arg1 == ""){
return ("");
};
_local3 = [" ", "\n", "\r", "\t"];
_local4 = _arg1;
if (_arg2){
_local5 = 0;
while ((((_local5 < _local3.length)) && ((_local4.indexOf(_local3[_local5]) > -1)))) {
_local4 = _local4.split(_local3[_local5]).join("");
_local5++;
};
} else {
_local6 = 0;
while ((((_local6 < _local4.length)) && ((_local3.indexOf(_local4.charAt(_local6)) > -1)))) {
_local6++;
};
_local4 = _local4.substr(_local6);
_local7 = (_local4.length - 1);
while ((((_local7 >= 0)) && ((_local3.indexOf(_local4.charAt(_local7)) > -1)))) {
_local7--;
};
_local4 = _local4.substring(0, (_local7 + 1));
};
return (_local4);
}
public static function generateHash(_arg1:String):int{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
_local2 = 1;
_local3 = 0;
if (((!((_arg1 == null))) && (!((_arg1 == ""))))){
_local2 = 0;
_local4 = (_arg1.length - 1);
while (_local4 >= 0) {
_local5 = _arg1.charCodeAt(_local4);
_local2 = ((((_local2 << 6) & 268435455) + _local5) + (_local5 << 14));
_local3 = (_local2 & 266338304);
if (_local3 != 0){
_local2 = (_local2 ^ (_local3 >> 21));
};
_local4--;
};
};
return (_local2);
}
public static function generate32bitRandom():int{
return (Math.round((Math.random() * 2147483647)));
}
public static function validateAccount(_arg1:String):Boolean{
var _local2:RegExp;
_local2 = /^UA-[0-9]*-[0-9]*$/;
return (_local2.test(_arg1));
}
}
}//package com.google.analytics.core
Section 230
//Cookie (com.google.analytics.data.Cookie)
package com.google.analytics.data {
public interface Cookie {
function fromSharedObject(_arg1:Object):void;
function toURLString():String;
function get creation():Date;
function toSharedObject():Object;
function isExpired():Boolean;
function set creation(_arg1:Date):void;
function set expiration(_arg1:Date):void;
function get expiration():Date;
}
}//package com.google.analytics.data
Section 231
//UTMA (com.google.analytics.data.UTMA)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMA extends UTMCookie {
private var _sessionId:Number;
private var _domainHash:Number;
private var _firstTime:Number;
private var _currentTime:Number;
private var _lastTime:Number;
private var _sessionCount:Number;
public function UTMA(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN, _arg5:Number=NaN, _arg6:Number=NaN){
super("utma", "__utma", ["domainHash", "sessionId", "firstTime", "lastTime", "currentTime", "sessionCount"], (Timespan.twoyears * 1000));
this.domainHash = _arg1;
this.sessionId = _arg2;
this.firstTime = _arg3;
this.lastTime = _arg4;
this.currentTime = _arg5;
this.sessionCount = _arg6;
}
public function get lastTime():Number{
return (_lastTime);
}
public function set lastTime(_arg1:Number):void{
_lastTime = _arg1;
update();
}
public function set currentTime(_arg1:Number):void{
_currentTime = _arg1;
update();
}
public function get sessionId():Number{
return (_sessionId);
}
public function get sessionCount():Number{
return (_sessionCount);
}
public function get firstTime():Number{
return (_firstTime);
}
public function get currentTime():Number{
return (_currentTime);
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function set sessionId(_arg1:Number):void{
_sessionId = _arg1;
update();
}
public function set sessionCount(_arg1:Number):void{
_sessionCount = _arg1;
update();
}
public function get domainHash():Number{
return (_domainHash);
}
public function set firstTime(_arg1:Number):void{
_firstTime = _arg1;
update();
}
}
}//package com.google.analytics.data
Section 232
//UTMB (com.google.analytics.data.UTMB)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMB extends UTMCookie {
private var _trackCount:Number;
private var _lastTime:Number;
private var _domainHash:Number;
private var _token:Number;
public static var defaultTimespan:Number = Timespan.thirtyminutes;
public function UTMB(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN){
super("utmb", "__utmb", ["domainHash", "trackCount", "token", "lastTime"], (defaultTimespan * 1000));
this.domainHash = _arg1;
this.trackCount = _arg2;
this.token = _arg3;
this.lastTime = _arg4;
}
public function set token(_arg1:Number):void{
_token = _arg1;
update();
}
public function set trackCount(_arg1:Number):void{
_trackCount = _arg1;
update();
}
public function get lastTime():Number{
return (_lastTime);
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function set lastTime(_arg1:Number):void{
_lastTime = _arg1;
update();
}
public function get domainHash():Number{
return (_domainHash);
}
public function get token():Number{
return (_token);
}
public function get trackCount():Number{
return (_trackCount);
}
}
}//package com.google.analytics.data
Section 233
//UTMC (com.google.analytics.data.UTMC)
package com.google.analytics.data {
public class UTMC extends UTMCookie {
private var _domainHash:Number;
public function UTMC(_arg1:Number=NaN){
super("utmc", "__utmc", ["domainHash"]);
this.domainHash = _arg1;
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function get domainHash():Number{
return (_domainHash);
}
}
}//package com.google.analytics.data
Section 234
//UTMCookie (com.google.analytics.data.UTMCookie)
package com.google.analytics.data {
import com.google.analytics.core.*;
public class UTMCookie implements Cookie {
protected var inURL:String;
protected var name:String;
private var _creation:Date;
private var _expiration:Date;
public var proxy:Buffer;
private var _timespan:Number;
protected var fields:Array;
public function UTMCookie(_arg1:String, _arg2:String, _arg3:Array, _arg4:Number=0){
this.name = _arg1;
this.inURL = _arg2;
this.fields = _arg3;
_timestamp(_arg4);
}
public function isEmpty():Boolean{
var _local1:int;
var _local2:String;
var _local3:int;
_local1 = 0;
_local3 = 0;
while (_local3 < fields.length) {
_local2 = fields[_local3];
if ((((this[_local2] is Number)) && (isNaN(this[_local2])))){
_local1++;
} else {
if ((((this[_local2] is String)) && ((this[_local2] == "")))){
_local1++;
};
};
_local3++;
};
if (_local1 == fields.length){
return (true);
};
return (false);
}
protected function update():void{
resetTimestamp();
if (proxy){
proxy.update(name, toSharedObject());
};
}
public function fromSharedObject(_arg1:Object):void{
var _local2:String;
var _local3:int;
var _local4:int;
_local3 = fields.length;
_local4 = 0;
while (_local4 < _local3) {
_local2 = fields[_local4];
if (_arg1[_local2]){
this[_local2] = _arg1[_local2];
};
_local4++;
};
if (_arg1.creation){
this.creation = _arg1.creation;
};
if (_arg1.expiration){
this.expiration = _arg1.expiration;
};
}
private function _timestamp(_arg1:Number):void{
creation = new Date();
_timespan = _arg1;
if (_arg1 > 0){
expiration = new Date((creation.valueOf() + _arg1));
};
}
public function isExpired():Boolean{
var _local1:Date;
var _local2:Number;
_local1 = new Date();
_local2 = (expiration.valueOf() - _local1.valueOf());
if (_local2 <= 0){
return (true);
};
return (false);
}
public function set expiration(_arg1:Date):void{
_expiration = _arg1;
}
public function get creation():Date{
return (_creation);
}
public function reset():void{
var _local1:String;
var _local2:int;
_local2 = 0;
while (_local2 < fields.length) {
_local1 = fields[_local2];
if ((this[_local1] is Number)){
this[_local1] = NaN;
} else {
if ((this[_local1] is String)){
this[_local1] = "";
};
};
_local2++;
};
resetTimestamp();
update();
}
public function valueOf():String{
var _local1:Array;
var _local2:String;
var _local3:*;
var _local4:int;
_local1 = [];
_local4 = 0;
while (_local4 < fields.length) {
_local2 = fields[_local4];
_local3 = this[_local2];
if ((_local3 is String)){
if (_local3 == ""){
_local3 = "-";
_local1.push(_local3);
} else {
_local1.push(_local3);
};
} else {
if ((_local3 is Number)){
if (_local3 == 0){
_local1.push(_local3);
} else {
if (isNaN(_local3)){
_local3 = "-";
_local1.push(_local3);
} else {
_local1.push(_local3);
};
};
};
};
_local4++;
};
return (("" + _local1.join(".")));
}
public function resetTimestamp(_arg1:Number=NaN):void{
if (!isNaN(_arg1)){
_timespan = _arg1;
};
_creation = null;
_expiration = null;
_timestamp(_timespan);
}
public function get expiration():Date{
if (_expiration){
return (_expiration);
};
return (new Date((new Date().valueOf() + 1000)));
}
public function toURLString():String{
return (((inURL + "=") + valueOf()));
}
public function toSharedObject():Object{
var _local1:Object;
var _local2:String;
var _local3:*;
var _local4:int;
_local1 = {};
_local4 = 0;
for (;_local4 < fields.length;_local4++) {
_local2 = fields[_local4];
_local3 = this[_local2];
if ((_local3 is String)){
_local1[_local2] = _local3;
} else {
if (_local3 == 0){
_local1[_local2] = _local3;
} else {
if (isNaN(_local3)){
continue;
} else {
_local1[_local2] = _local3;
};
};
};
};
_local1.creation = creation;
_local1.expiration = expiration;
return (_local1);
}
public function toString(_arg1:Boolean=false):String{
var _local2:Array;
var _local3:String;
var _local4:*;
var _local5:int;
var _local6:int;
var _local7:String;
_local2 = [];
_local5 = fields.length;
_local6 = 0;
for (;_local6 < _local5;_local6++) {
_local3 = fields[_local6];
_local4 = this[_local3];
if ((_local4 is String)){
_local2.push((((_local3 + ": \"") + _local4) + "\""));
} else {
if (_local4 == 0){
_local2.push(((_local3 + ": ") + _local4));
} else {
if (isNaN(_local4)){
continue;
} else {
_local2.push(((_local3 + ": ") + _local4));
};
};
};
};
_local7 = (((name.toUpperCase() + " {") + _local2.join(", ")) + "}");
if (_arg1){
_local7 = (_local7 + (((" creation:" + creation) + ", expiration:") + expiration));
};
return (_local7);
}
public function set creation(_arg1:Date):void{
_creation = _arg1;
}
}
}//package com.google.analytics.data
Section 235
//UTMK (com.google.analytics.data.UTMK)
package com.google.analytics.data {
public class UTMK extends UTMCookie {
private var _hash:Number;
public function UTMK(_arg1:Number=NaN){
super("utmk", "__utmk", ["hash"]);
this.hash = _arg1;
}
public function set hash(_arg1:Number):void{
_hash = _arg1;
update();
}
public function get hash():Number{
return (_hash);
}
}
}//package com.google.analytics.data
Section 236
//UTMV (com.google.analytics.data.UTMV)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMV extends UTMCookie {
private var _domainHash:Number;
private var _value:String;
public function UTMV(_arg1:Number=NaN, _arg2:String=""){
super("utmv", "__utmv", ["domainHash", "value"], (Timespan.twoyears * 1000));
this.domainHash = _arg1;
this.value = _arg2;
}
override public function toURLString():String{
return (((inURL + "=") + encodeURI(valueOf())));
}
public function get value():String{
return (_value);
}
public function get domainHash():Number{
return (_domainHash);
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function set value(_arg1:String):void{
_value = _arg1;
update();
}
}
}//package com.google.analytics.data
Section 237
//UTMZ (com.google.analytics.data.UTMZ)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMZ extends UTMCookie {
private var _campaignTracking:String;
private var _campaignCreation:Number;
private var _responseCount:Number;
private var _domainHash:Number;
private var _campaignSessions:Number;
public static var defaultTimespan:Number = Timespan.sixmonths;
public function UTMZ(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN, _arg5:String=""){
super("utmz", "__utmz", ["domainHash", "campaignCreation", "campaignSessions", "responseCount", "campaignTracking"], (defaultTimespan * 1000));
this.domainHash = _arg1;
this.campaignCreation = _arg2;
this.campaignSessions = _arg3;
this.responseCount = _arg4;
this.campaignTracking = _arg5;
}
public function set responseCount(_arg1:Number):void{
_responseCount = _arg1;
update();
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function set campaignCreation(_arg1:Number):void{
_campaignCreation = _arg1;
update();
}
public function get campaignTracking():String{
return (_campaignTracking);
}
public function get campaignSessions():Number{
return (_campaignSessions);
}
public function get domainHash():Number{
return (_domainHash);
}
public function get responseCount():Number{
return (_responseCount);
}
public function get campaignCreation():Number{
return (_campaignCreation);
}
public function set campaignSessions(_arg1:Number):void{
_campaignSessions = _arg1;
update();
}
public function set campaignTracking(_arg1:String):void{
_campaignTracking = _arg1;
update();
}
}
}//package com.google.analytics.data
Section 238
//X10 (com.google.analytics.data.X10)
package com.google.analytics.data {
public class X10 {
private var _delimEnd:String;// = ")"
private var _delimSet:String;// = "*"
private var _escapeChar:String;// = "'"
private var _delimBegin:String;// = "("
private var _delimNumValue:String;// = "!"
private var _key:String;// = "k"
private var _set:Array;
private var _projectData:Object;
private var _hasData:int;
private var _escapeCharMap:Object;
private var _minimum:int;
private var _value:String;// = "v"
public function X10(){
_key = "k";
_value = "v";
_set = [_key, _value];
_delimBegin = "(";
_delimEnd = ")";
_delimSet = "*";
_delimNumValue = "!";
_escapeChar = "'";
super();
_projectData = {};
_escapeCharMap = {};
_escapeCharMap[_escapeChar] = "'0";
_escapeCharMap[_delimEnd] = "'1";
_escapeCharMap[_delimSet] = "'2";
_escapeCharMap[_delimNumValue] = "'3";
_minimum = 1;
}
private function _clearInternal(_arg1:Number, _arg2:String):void{
var _local3:Boolean;
var _local4:int;
var _local5:int;
if (((hasProject(_arg1)) && (!((_projectData[_arg1][_arg2] == undefined))))){
_projectData[_arg1][_arg2] = undefined;
_local3 = true;
_local5 = _set.length;
_local4 = 0;
while (_local4 < _local5) {
if (_projectData[_arg1][_set[_local4]] != undefined){
_local3 = false;
break;
};
_local4++;
};
if (_local3){
_projectData[_arg1] = undefined;
_hasData = (_hasData - 1);
};
};
}
public function hasData():Boolean{
return ((_hasData > 0));
}
private function _setInternal(_arg1:Number, _arg2:String, _arg3:Number, _arg4:String):void{
if (!hasProject(_arg1)){
_projectData[_arg1] = {};
};
if (_projectData[_arg1][_arg2] == undefined){
_projectData[_arg1][_arg2] = [];
};
_projectData[_arg1][_arg2][_arg3] = _arg4;
_hasData = (_hasData + 1);
}
public function hasProject(_arg1:Number):Boolean{
return (_projectData[_arg1]);
}
public function clearKey(_arg1:Number):void{
_clearInternal(_arg1, _key);
}
private function _renderDataType(_arg1:Array):String{
var _local2:Array;
var _local3:String;
var _local4:int;
_local2 = [];
_local4 = 0;
while (_local4 < _arg1.length) {
if (_arg1[_local4] != undefined){
_local3 = "";
if (((!((_local4 == _minimum))) && ((_arg1[(_local4 - 1)] == undefined)))){
_local3 = (_local3 + _local4.toString());
_local3 = (_local3 + _delimNumValue);
};
_local3 = (_local3 + _escapeExtensibleValue(_arg1[_local4]));
_local2.push(_local3);
};
_local4++;
};
return (((_delimBegin + _local2.join(_delimSet)) + _delimEnd));
}
public function getKey(_arg1:Number, _arg2:Number):String{
return ((_getInternal(_arg1, _key, _arg2) as String));
}
public function clearValue(_arg1:Number):void{
_clearInternal(_arg1, _value);
}
public function renderMergedUrlString(_arg1:X10=null):String{
var _local2:Array;
var _local3:String;
if (!_arg1){
return (renderUrlString());
};
_local2 = [_arg1.renderUrlString()];
for (_local3 in _projectData) {
if (((hasProject(Number(_local3))) && (!(_arg1.hasProject(Number(_local3)))))){
_local2.push((_local3 + _renderProject(_projectData[_local3])));
};
};
return (_local2.join(""));
}
public function setValue(_arg1:Number, _arg2:Number, _arg3:Number):Boolean{
if (((((!((Math.round(_arg3) == _arg3))) || (isNaN(_arg3)))) || ((_arg3 == Infinity)))){
return (false);
};
_setInternal(_arg1, _value, _arg2, _arg3.toString());
return (true);
}
public function renderUrlString():String{
var _local1:Array;
var _local2:String;
_local1 = [];
for (_local2 in _projectData) {
if (hasProject(Number(_local2))){
_local1.push((_local2 + _renderProject(_projectData[_local2])));
};
};
return (_local1.join(""));
}
private function _getInternal(_arg1:Number, _arg2:String, _arg3:Number):Object{
if (((hasProject(_arg1)) && (!((_projectData[_arg1][_arg2] == undefined))))){
return (_projectData[_arg1][_arg2][_arg3]);
};
return (undefined);
}
public function setKey(_arg1:Number, _arg2:Number, _arg3:String):Boolean{
_setInternal(_arg1, _key, _arg2, _arg3);
return (true);
}
public function getValue(_arg1:Number, _arg2:Number){
var _local3:*;
_local3 = _getInternal(_arg1, _value, _arg2);
if (_local3 == null){
return (null);
};
return (Number(_local3));
}
private function _renderProject(_arg1:Object):String{
var _local2:String;
var _local3:Boolean;
var _local4:int;
var _local5:Array;
var _local6:int;
_local2 = "";
_local3 = false;
_local6 = _set.length;
_local4 = 0;
while (_local4 < _local6) {
_local5 = _arg1[_set[_local4]];
if (_local5){
if (_local3){
_local2 = (_local2 + _set[_local4]);
};
_local2 = (_local2 + _renderDataType(_local5));
_local3 = false;
} else {
_local3 = true;
};
_local4++;
};
return (_local2);
}
private function _escapeExtensibleValue(_arg1:String):String{
var _local2:String;
var _local3:int;
var _local4:String;
var _local5:String;
_local2 = "";
_local3 = 0;
while (_local3 < _arg1.length) {
_local4 = _arg1.charAt(_local3);
_local5 = _escapeCharMap[_local4];
if (_local5){
_local2 = (_local2 + _local5);
} else {
_local2 = (_local2 + _local4);
};
_local3++;
};
return (_local2);
}
}
}//package com.google.analytics.data
Section 239
//_Style (com.google.analytics.debug._Style)
package com.google.analytics.debug {
import flash.net.*;
import flash.text.*;
public class _Style {
public var borderColor:uint;
public var backgroundColor:uint;
private var _sheet:StyleSheet;
public var roundedCorner:uint;
public var alertColor:uint;
public var infoColor:uint;
public var successColor:uint;
private var _loader:URLLoader;
public var failureColor:uint;
private var _defaultSheet:String;
public var warningColor:uint;
public function _Style(){
_sheet = new StyleSheet();
_loader = new URLLoader();
_init();
}
private function _parseSheet(_arg1:String):void{
_sheet.parseCSS(_arg1);
}
public function get sheet():StyleSheet{
return (_sheet);
}
private function _init():void{
_defaultSheet = "";
_defaultSheet = (_defaultSheet + "a{text-decoration: underline;}\n");
_defaultSheet = (_defaultSheet + ".uiLabel{color: #000000;font-family: Arial;font-size: 12;margin-left: 2;margin-right: 2;}\n");
_defaultSheet = (_defaultSheet + ".uiWarning{color: #ffffff;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiAlert{color: #ffffff;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiInfo{color: #000000;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiSuccess{color: #ffffff;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiFailure{color: #ffffff;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiAlertAction{color: #ffffff;text-align: center;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiAlertTitle{color: #ffffff;font-family: Arial;font-size: 16;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + "\n");
roundedCorner = 6;
backgroundColor = 0xCCCCCC;
borderColor = 0x555555;
infoColor = 16777113;
alertColor = 0xFFCC00;
warningColor = 0xCC0000;
successColor = 0xFF00;
failureColor = 0xFF0000;
_parseSheet(_defaultSheet);
}
}
}//package com.google.analytics.debug
Section 240
//Alert (com.google.analytics.debug.Alert)
package com.google.analytics.debug {
import flash.events.*;
public class Alert extends Label {
public var actionOnNextLine:Boolean;// = true
public var autoClose:Boolean;// = true
private var _actions:Array;
public function Alert(_arg1:String, _arg2:Array, _arg3:String="uiAlert", _arg4:uint=0, _arg5:Align=null, _arg6:Boolean=false, _arg7:Boolean=true){
var _local8:int;
autoClose = true;
actionOnNextLine = true;
if (_arg4 == 0){
_arg4 = Style.alertColor;
};
if (_arg5 == null){
_arg5 = Align.center;
};
super(_arg1, _arg3, _arg4, _arg5, _arg6);
this.selectable = true;
super.mouseChildren = true;
this.buttonMode = true;
this.mouseEnabled = true;
this.useHandCursor = true;
this.actionOnNextLine = _arg7;
_actions = [];
_local8 = 0;
while (_local8 < _arg2.length) {
_arg2[_local8].container = this;
_actions.push(_arg2[_local8]);
_local8++;
};
}
protected function getAction(_arg1:String):AlertAction{
var _local2:int;
_local2 = 0;
while (_local2 < _actions.length) {
if (_arg1 == _actions[_local2].activator){
return (_actions[_local2]);
};
_local2++;
};
return (null);
}
override protected function layout():void{
super.layout();
_defineActions();
}
protected function spaces(_arg1:int):String{
var _local2:String;
var _local3:String;
var _local4:int;
_local2 = "";
_local3 = " ";
_local4 = 0;
while (_local4 < (_arg1 + 1)) {
_local2 = (_local2 + _local3);
_local4++;
};
return (_local2);
}
override public function onLink(_arg1:TextEvent):void{
var _local2:AlertAction;
if (isValidAction(_arg1.text)){
_local2 = getAction(_arg1.text);
if (_local2){
_local2.execute();
};
};
if (autoClose){
close();
};
}
protected function isValidAction(_arg1:String):Boolean{
var _local2:int;
_local2 = 0;
while (_local2 < _actions.length) {
if (_arg1 == _actions[_local2].activator){
return (true);
};
_local2++;
};
return (false);
}
private function _defineActions():void{
var _local1:String;
var _local2:Array;
var _local3:AlertAction;
var _local4:int;
_local1 = "";
if (actionOnNextLine){
_local1 = (_local1 + "\n");
} else {
_local1 = (_local1 + " |");
};
_local1 = (_local1 + " ");
_local2 = [];
_local4 = 0;
while (_local4 < _actions.length) {
_local3 = _actions[_local4];
_local2.push((((("<a href=\"event:" + _local3.activator) + "\">") + _local3.name) + "</a>"));
_local4++;
};
_local1 = (_local1 + _local2.join(" | "));
appendText(_local1, "uiAlertAction");
}
public function close():void{
if (parent != null){
parent.removeChild(this);
};
}
}
}//package com.google.analytics.debug
Section 241
//AlertAction (com.google.analytics.debug.AlertAction)
package com.google.analytics.debug {
public class AlertAction {
public var container:Alert;
private var _callback;
public var name:String;
public var activator:String;
public function AlertAction(_arg1:String, _arg2:String, _arg3){
this.name = _arg1;
this.activator = _arg2;
_callback = _arg3;
}
public function execute():void{
if (_callback){
if ((_callback is Function)){
(_callback as Function)();
} else {
if ((_callback is String)){
var _local1 = container;
_local1[_callback]();
};
};
};
}
}
}//package com.google.analytics.debug
Section 242
//Align (com.google.analytics.debug.Align)
package com.google.analytics.debug {
public class Align {
private var _value:int;
private var _name:String;
public static const bottomRight:Align = new Align(18, "bottomRight");
;
public static const right:Align = new Align(16, "right");
;
public static const left:Align = new Align(32, "left");
;
public static const topRight:Align = new Align(17, "topRight");
;
public static const bottom:Align = new Align(2, "bottom");
;
public static const bottomLeft:Align = new Align(34, "bottomLeft");
;
public static const topLeft:Align = new Align(33, "topLeft");
;
public static const center:Align = new Align(0x0100, "center");
;
public static const none:Align = new Align(0, "none");
;
public static const top:Align = new Align(1, "top");
;
public function Align(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.debug
Section 243
//Background (com.google.analytics.debug.Background)
package com.google.analytics.debug {
import flash.display.*;
public class Background {
public static function drawRounded(_arg1, _arg2:Graphics, _arg3:uint=0, _arg4:uint=0):void{
var _local5:uint;
var _local6:uint;
var _local7:uint;
_local7 = Style.roundedCorner;
if ((((_arg3 > 0)) && ((_arg4 > 0)))){
_local5 = _arg3;
_local6 = _arg4;
} else {
_local5 = _arg1.width;
_local6 = _arg1.height;
};
if (((_arg1.stickToEdge) && (!((_arg1.alignement == Align.none))))){
switch (_arg1.alignement){
case Align.top:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, _local7, _local7);
break;
case Align.topLeft:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, 0, _local7);
break;
case Align.topRight:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, _local7, 0);
break;
case Align.bottom:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, _local7, 0, 0);
break;
case Align.bottomLeft:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, _local7, 0, 0);
break;
case Align.bottomRight:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, 0, 0, 0);
break;
case Align.left:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, _local7, 0, _local7);
break;
case Align.right:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, 0, _local7, 0);
break;
case Align.center:
_arg2.drawRoundRect(0, 0, _local5, _local6, _local7, _local7);
break;
};
} else {
_arg2.drawRoundRect(0, 0, _local5, _local6, _local7, _local7);
};
}
}
}//package com.google.analytics.debug
Section 244
//Debug (com.google.analytics.debug.Debug)
package com.google.analytics.debug {
import flash.events.*;
import flash.ui.*;
public class Debug extends Label {
private var _lines:Array;
private var _preferredForcedWidth:uint;// = 540
private var _linediff:int;// = 0
public var maxLines:uint;// = 16
public static var count:uint = 0;
public function Debug(_arg1:uint=0, _arg2:Align=null, _arg3:Boolean=false){
if (_arg2 == null){
_arg2 = Align.bottom;
};
super("", "uiLabel", _arg1, _arg2, _arg3);
this.name = ("Debug" + count++);
_lines = [];
selectable = true;
addEventListener(KeyboardEvent.KEY_DOWN, onKey);
}
public function writeBold(_arg1:String):void{
write(_arg1, true);
}
private function _getLinesToDisplay(_arg1:int=0):Array{
var _local2:Array;
var _local3:uint;
var _local4:uint;
if ((_lines.length - 1) > maxLines){
if ((_linediff <= 0)){
_linediff = (_linediff + _arg1);
} else {
if ((((_linediff > 0)) && ((_arg1 < 0)))){
_linediff = (_linediff + _arg1);
};
};
_local3 = ((_lines.length - maxLines) + _linediff);
_local4 = (_local3 + maxLines);
_local2 = _lines.slice(_local3, _local4);
} else {
_local2 = _lines;
};
return (_local2);
}
private function onKey(_arg1:KeyboardEvent=null):void{
var _local2:Array;
switch (_arg1.keyCode){
case Keyboard.DOWN:
_local2 = _getLinesToDisplay(1);
break;
case Keyboard.UP:
_local2 = _getLinesToDisplay(-1);
break;
default:
_local2 = null;
};
if (_local2 == null){
return;
};
text = _local2.join("\n");
}
override public function get forcedWidth():uint{
if (this.parent){
if (UISprite(this.parent).forcedWidth > _preferredForcedWidth){
return (_preferredForcedWidth);
};
return (UISprite(this.parent).forcedWidth);
//unresolved jump
};
return (super.forcedWidth);
}
public function write(_arg1:String, _arg2:Boolean=false):void{
var _local3:Array;
if (_arg1.indexOf("") > -1){
_local3 = _arg1.split("\n");
} else {
_local3 = [_arg1];
};
var _local4 = "";
var _local5 = "";
if (_arg2){
_local4 = "<b>";
_local5 = "</b>";
};
var _local6:int;
while (_local6 < _local3.length) {
_lines.push(((_local4 + _local3[_local6]) + _local5));
_local6++;
};
var _local7:Array = _getLinesToDisplay();
text = _local7.join("\n");
}
public function close():void{
dispose();
}
override protected function dispose():void{
removeEventListener(KeyboardEvent.KEY_DOWN, onKey);
super.dispose();
}
}
}//package com.google.analytics.debug
Section 245
//DebugConfiguration (com.google.analytics.debug.DebugConfiguration)
package com.google.analytics.debug {
import com.google.analytics.core.*;
import flash.net.*;
import flash.utils.*;
import flash.ui.*;
public class DebugConfiguration {
public var showHideKey:Number;
private var _mode:VisualDebugMode;
private var _verbose:Boolean;// = false
public var destroyKey:Number;
public var GIFRequests:Boolean;// = false
public var showInfos:Boolean;// = true
public var infoTimeout:Number;// = 1000
public var minimizedOnStart:Boolean;// = false
private var _active:Boolean;// = false
public var traceOutput:Boolean;// = false
public var layout:ILayout;
public var warningTimeout:Number;// = 1500
public var javascript:Boolean;// = false
public var showWarnings:Boolean;// = true
private var _visualInitialized:Boolean;// = false
public function DebugConfiguration(){
_mode = VisualDebugMode.basic;
showHideKey = Keyboard.SPACE;
destroyKey = Keyboard.BACKSPACE;
super();
}
public function get verbose():Boolean{
return (_verbose);
}
public function set verbose(_arg1:Boolean):void{
_verbose = _arg1;
}
public function set mode(_arg1):void{
if ((_arg1 is String)){
switch (_arg1){
case "geek":
_arg1 = VisualDebugMode.geek;
break;
case "advanced":
_arg1 = VisualDebugMode.advanced;
break;
case "basic":
default:
_arg1 = VisualDebugMode.basic;
};
};
_mode = _arg1;
}
public function success(_arg1:String):void{
if (layout){
layout.createSuccessAlert(_arg1);
};
if (traceOutput){
trace((("[+] " + _arg1) + " !!"));
};
}
public function get active():Boolean{
return (_active);
}
private function _initializeVisual():void{
if (layout){
layout.init();
_visualInitialized = true;
};
}
private function _destroyVisual():void{
if (((layout) && (_visualInitialized))){
layout.destroy();
};
}
public function warning(_arg1:String, _arg2:VisualDebugMode=null):void{
if (_filter(_arg2)){
return;
};
if (((layout) && (showWarnings))){
layout.createWarning(_arg1);
};
if (traceOutput){
trace((("## " + _arg1) + " ##"));
};
}
private function _filter(_arg1:VisualDebugMode=null):Boolean{
return (((_arg1) && ((int(_arg1) >= int(this.mode)))));
}
public function failure(_arg1:String):void{
if (layout){
layout.createFailureAlert(_arg1);
};
if (traceOutput){
trace((("[-] " + _arg1) + " !!"));
};
}
public function get mode(){
return (_mode);
}
public function set active(_arg1:Boolean):void{
_active = _arg1;
if (_active){
_initializeVisual();
} else {
_destroyVisual();
};
}
protected function trace(_arg1:String):void{
var _local7:Array;
var _local8:int;
var _local2:Array = [];
var _local3 = "";
var _local4 = "";
if (this.mode == VisualDebugMode.geek){
_local3 = (getTimer() + " - ");
_local4 = (new Array(_local3.length).join(" ") + " ");
};
if (_arg1.indexOf("\n") > -1){
_local7 = _arg1.split("\n");
_local8 = 0;
while (_local8 < _local7.length) {
if (_local7[_local8] == ""){
} else {
if (_local8 == 0){
_local2.push((_local3 + _local7[_local8]));
} else {
_local2.push((_local4 + _local7[_local8]));
};
};
_local8++;
};
} else {
_local2.push((_local3 + _arg1));
};
var _local5:int = _local2.length;
var _local6:int;
while (_local6 < _local5) {
trace(_local2[_local6]);
_local6++;
};
}
public function alert(_arg1:String):void{
if (layout){
layout.createAlert(_arg1);
};
if (traceOutput){
trace((("!! " + _arg1) + " !!"));
};
}
public function info(_arg1:String, _arg2:VisualDebugMode=null):void{
if (_filter(_arg2)){
return;
};
if (((layout) && (showInfos))){
layout.createInfo(_arg1);
};
if (traceOutput){
trace(_arg1);
};
}
public function alertGifRequest(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void{
if (layout){
layout.createGIFRequestAlert(_arg1, _arg2, _arg3);
};
if (traceOutput){
trace(((">> " + _arg1) + " <<"));
};
}
}
}//package com.google.analytics.debug
Section 246
//FailureAlert (com.google.analytics.debug.FailureAlert)
package com.google.analytics.debug {
public class FailureAlert extends Alert {
public function FailureAlert(_arg1:DebugConfiguration, _arg2:String, _arg3:Array){
var _local4:Align;
var _local5:Boolean;
var _local6:Boolean;
_local4 = Align.bottomLeft;
_local5 = true;
_local6 = false;
if (_arg1.verbose){
_arg2 = ((("<u><span class=\"uiAlertTitle\">Failure</span>" + spaces(18)) + "</u>\n\n") + _arg2);
_local4 = Align.center;
_local5 = false;
_local6 = true;
};
super(_arg2, _arg3, "uiFailure", Style.failureColor, _local4, _local5, _local6);
}
}
}//package com.google.analytics.debug
Section 247
//GIFRequestAlert (com.google.analytics.debug.GIFRequestAlert)
package com.google.analytics.debug {
public class GIFRequestAlert extends Alert {
public function GIFRequestAlert(_arg1:String, _arg2:Array){
super(_arg1, _arg2);
}
}
}//package com.google.analytics.debug
Section 248
//ILayout (com.google.analytics.debug.ILayout)
package com.google.analytics.debug {
import com.google.analytics.core.*;
import flash.net.*;
import flash.display.*;
public interface ILayout {
function createWarning(_arg1:String):void;
function addToStage(_arg1:DisplayObject):void;
function createGIFRequestAlert(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void;
function createPanel(_arg1:String, _arg2:uint, _arg3:uint):void;
function createInfo(_arg1:String):void;
function createFailureAlert(_arg1:String):void;
function addToPanel(_arg1:String, _arg2:DisplayObject):void;
function init():void;
function createSuccessAlert(_arg1:String):void;
function createVisualDebug():void;
function createAlert(_arg1:String):void;
function destroy():void;
function bringToFront(_arg1:DisplayObject):void;
function isAvailable():Boolean;
}
}//package com.google.analytics.debug
Section 249
//Info (com.google.analytics.debug.Info)
package com.google.analytics.debug {
import flash.events.*;
import flash.utils.*;
public class Info extends Label {
private var _timer:Timer;
public function Info(_arg1:String="", _arg2:uint=3000){
super(_arg1, "uiInfo", Style.infoColor, Align.top, true);
if (_arg2 > 0){
_timer = new Timer(_arg2, 1);
_timer.start();
_timer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete, false, 0, true);
};
}
public function onComplete(_arg1:TimerEvent):void{
close();
}
override public function onLink(_arg1:TextEvent):void{
switch (_arg1.text){
case "hide":
close();
break;
};
}
public function close():void{
if (parent != null){
parent.removeChild(this);
};
}
}
}//package com.google.analytics.debug
Section 250
//Label (com.google.analytics.debug.Label)
package com.google.analytics.debug {
import flash.events.*;
import flash.display.*;
import flash.text.*;
public class Label extends UISprite {
private var _color:uint;
private var _background:Shape;
private var _textField:TextField;
public var stickToEdge:Boolean;
private var _text:String;
protected var selectable:Boolean;
private var _tag:String;
public static var count:uint = 0;
public function Label(_arg1:String="", _arg2:String="uiLabel", _arg3:uint=0, _arg4:Align=null, _arg5:Boolean=false){
this.name = ("Label" + count++);
selectable = false;
_background = new Shape();
_textField = new TextField();
_text = _arg1;
_tag = _arg2;
if (_arg4 == null){
_arg4 = Align.none;
};
this.alignement = _arg4;
this.stickToEdge = _arg5;
if (_arg3 == 0){
_arg3 = Style.backgroundColor;
};
_color = _arg3;
_textField.addEventListener(TextEvent.LINK, onLink);
}
public function get tag():String{
return (_tag);
}
private function _draw():void{
var _local1:Graphics = _background.graphics;
_local1.clear();
_local1.beginFill(_color);
var _local2:uint = _textField.width;
var _local3:uint = _textField.height;
if (forcedWidth > 0){
_local2 = forcedWidth;
};
Background.drawRounded(this, _local1, _local2, _local3);
_local1.endFill();
}
public function get text():String{
return (_textField.text);
}
public function appendText(_arg1:String, _arg2:String=""):void{
if (_arg1 == ""){
return;
};
if (_arg2 == ""){
_arg2 = tag;
};
_textField.htmlText = (_textField.htmlText + (((("<span class=\"" + _arg2) + "\">") + _arg1) + "</span>"));
_text = (_text + _arg1);
_draw();
resize();
}
public function set text(_arg1:String):void{
if (_arg1 == ""){
_arg1 = _text;
};
_textField.htmlText = (((("<span class=\"" + tag) + "\">") + _arg1) + "</span>");
_text = _arg1;
_draw();
resize();
}
override protected function layout():void{
_textField.type = TextFieldType.DYNAMIC;
_textField.autoSize = TextFieldAutoSize.LEFT;
_textField.background = false;
_textField.selectable = selectable;
_textField.multiline = true;
_textField.styleSheet = Style.sheet;
this.text = _text;
addChild(_background);
addChild(_textField);
}
public function set tag(_arg1:String):void{
_tag = _arg1;
text = "";
}
public function onLink(_arg1:TextEvent):void{
}
override protected function dispose():void{
_textField.removeEventListener(TextEvent.LINK, onLink);
super.dispose();
}
}
}//package com.google.analytics.debug
Section 251
//Layout (com.google.analytics.debug.Layout)
package com.google.analytics.debug {
import com.google.analytics.core.*;
import flash.net.*;
import flash.events.*;
import flash.display.*;
import com.google.analytics.*;
public class Layout implements ILayout {
private var _display:DisplayObject;
private var _infoQueue:Array;
private var _maxCharPerLine:int;// = 85
private var _hasInfo:Boolean;
private var _warningQueue:Array;
private var _hasDebug:Boolean;
private var _hasWarning:Boolean;
private var _mainPanel:Panel;
private var _GRAlertQueue:Array;
private var _debug:DebugConfiguration;
public var visualDebug:Debug;
private var _hasGRAlert:Boolean;
public function Layout(_arg1:DebugConfiguration, _arg2:DisplayObject){
_display = _arg2;
_debug = _arg1;
_hasWarning = false;
_hasInfo = false;
_hasDebug = false;
_hasGRAlert = false;
_warningQueue = [];
_infoQueue = [];
_GRAlertQueue = [];
}
private function onKey(_arg1:KeyboardEvent=null):void{
switch (_arg1.keyCode){
case _debug.showHideKey:
_mainPanel.visible = !(_mainPanel.visible);
break;
case _debug.destroyKey:
destroy();
break;
};
}
public function createWarning(_arg1:String):void{
if (((_hasWarning) || (!(isAvailable())))){
_warningQueue.push(_arg1);
return;
};
_arg1 = _filterMaxChars(_arg1);
_hasWarning = true;
var _local2:Warning = new Warning(_arg1, _debug.warningTimeout);
addToPanel("analytics", _local2);
_local2.addEventListener(Event.REMOVED_FROM_STAGE, _clearWarning, false, 0, true);
if (_hasDebug){
visualDebug.writeBold(_arg1);
};
}
public function bringToFront(_arg1:DisplayObject):void{
_display.stage.setChildIndex(_arg1, (_display.stage.numChildren - 1));
}
public function createFailureAlert(_arg1:String):void{
var _local2:AlertAction;
if (_debug.verbose){
_arg1 = _filterMaxChars(_arg1);
_local2 = new AlertAction("Close", "close", "close");
} else {
_local2 = new AlertAction("X", "close", "close");
};
var _local3:Alert = new FailureAlert(_debug, _arg1, [_local2]);
addToPanel("analytics", _local3);
if (_hasDebug){
if (_debug.verbose){
_arg1 = _arg1.split("\n").join("");
_arg1 = _filterMaxChars(_arg1, 66);
};
visualDebug.writeBold(_arg1);
};
}
public function init():void{
var _local1 = 10;
var _local2:uint = (_display.stage.stageWidth - (_local1 * 2));
var _local3:uint = (_display.stage.stageHeight - (_local1 * 2));
var _local4:Panel = new Panel("analytics", _local2, _local3);
_local4.alignement = Align.top;
_local4.stickToEdge = false;
_local4.title = ("Google Analytics v" + GATracker.version);
_mainPanel = _local4;
addToStage(_local4);
bringToFront(_local4);
if (_debug.minimizedOnStart){
_mainPanel.onToggle();
};
createVisualDebug();
_display.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKey, false, 0, true);
}
public function addToPanel(_arg1:String, _arg2:DisplayObject):void{
var _local4:Panel;
var _local3:DisplayObject = _display.stage.getChildByName(_arg1);
if (_local3){
_local4 = (_local3 as Panel);
_local4.addData(_arg2);
} else {
trace((("panel \"" + _arg1) + "\" not found"));
};
}
private function _clearInfo(_arg1:Event):void{
_hasInfo = false;
if (_infoQueue.length > 0){
createInfo(_infoQueue.shift());
};
}
private function _filterMaxChars(_arg1:String, _arg2:int=0):String{
var _local6:String;
var _local3 = "\n";
var _local4:Array = [];
var _local5:Array = _arg1.split(_local3);
if (_arg2 == 0){
_arg2 = _maxCharPerLine;
};
var _local7:int;
while (_local7 < _local5.length) {
_local6 = _local5[_local7];
while (_local6.length > _arg2) {
_local4.push(_local6.substr(0, _arg2));
_local6 = _local6.substring(_arg2);
};
_local4.push(_local6);
_local7++;
};
return (_local4.join(_local3));
}
private function _clearGRAlert(_arg1:Event):void{
_hasGRAlert = false;
if (_GRAlertQueue.length > 0){
createGIFRequestAlert.apply(this, _GRAlertQueue.shift());
};
}
public function createSuccessAlert(_arg1:String):void{
var _local2:AlertAction;
if (_debug.verbose){
_arg1 = _filterMaxChars(_arg1);
_local2 = new AlertAction("Close", "close", "close");
} else {
_local2 = new AlertAction("X", "close", "close");
};
var _local3:Alert = new SuccessAlert(_debug, _arg1, [_local2]);
addToPanel("analytics", _local3);
if (_hasDebug){
if (_debug.verbose){
_arg1 = _arg1.split("\n").join("");
_arg1 = _filterMaxChars(_arg1, 66);
};
visualDebug.writeBold(_arg1);
};
}
public function isAvailable():Boolean{
return (!((_display.stage == null)));
}
public function createAlert(_arg1:String):void{
_arg1 = _filterMaxChars(_arg1);
var _local2:Alert = new Alert(_arg1, [new AlertAction("Close", "close", "close")]);
addToPanel("analytics", _local2);
if (_hasDebug){
visualDebug.writeBold(_arg1);
};
}
public function createInfo(_arg1:String):void{
if (((_hasInfo) || (!(isAvailable())))){
_infoQueue.push(_arg1);
return;
};
_arg1 = _filterMaxChars(_arg1);
_hasInfo = true;
var _local2:Info = new Info(_arg1, _debug.infoTimeout);
addToPanel("analytics", _local2);
_local2.addEventListener(Event.REMOVED_FROM_STAGE, _clearInfo, false, 0, true);
if (_hasDebug){
visualDebug.write(_arg1);
};
}
public function createGIFRequestAlert(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void{
var message = _arg1;
var request = _arg2;
var ref = _arg3;
if (_hasGRAlert){
_GRAlertQueue.push([message, request, ref]);
return;
};
_hasGRAlert = true;
var f:Function = function ():void{
ref.sendRequest(request);
};
message = _filterMaxChars(message);
var gra:GIFRequestAlert = new GIFRequestAlert(message, [new AlertAction("OK", "ok", f), new AlertAction("Cancel", "cancel", "close")]);
addToPanel("analytics", gra);
gra.addEventListener(Event.REMOVED_FROM_STAGE, _clearGRAlert, false, 0, true);
if (_hasDebug){
if (_debug.verbose){
message = message.split("\n").join("");
message = _filterMaxChars(message, 66);
};
visualDebug.write(message);
};
}
public function createVisualDebug():void{
if (!visualDebug){
visualDebug = new Debug();
visualDebug.alignement = Align.bottom;
visualDebug.stickToEdge = true;
addToPanel("analytics", visualDebug);
_hasDebug = true;
};
}
public function addToStage(_arg1:DisplayObject):void{
_display.stage.addChild(_arg1);
}
private function _clearWarning(_arg1:Event):void{
_hasWarning = false;
if (_warningQueue.length > 0){
createWarning(_warningQueue.shift());
};
}
public function createPanel(_arg1:String, _arg2:uint, _arg3:uint):void{
var _local4:Panel = new Panel(_arg1, _arg2, _arg3);
_local4.alignement = Align.center;
_local4.stickToEdge = false;
addToStage(_local4);
bringToFront(_local4);
}
public function destroy():void{
_mainPanel.close();
_debug.layout = null;
}
}
}//package com.google.analytics.debug
Section 252
//Margin (com.google.analytics.debug.Margin)
package com.google.analytics.debug {
public class Margin {
public var bottom:int;
public var top:int;
public var right:int;
public var left:int;
public function Margin(_arg1:int=0, _arg2:int=0, _arg3:int=0, _arg4:int=0){
this.top = _arg1;
this.bottom = _arg2;
this.left = _arg3;
this.right = _arg4;
}
}
}//package com.google.analytics.debug
Section 253
//Panel (com.google.analytics.debug.Panel)
package com.google.analytics.debug {
import flash.events.*;
import flash.display.*;
public class Panel extends UISprite {
private var _savedH:uint;
private var _data:UISprite;
private var _mask:Sprite;
private var _background:Shape;
private var _savedW:uint;
private var _stickToEdge:Boolean;
private var _border:Shape;
private var _borderColor:uint;
protected var baseAlpha:Number;
private var _backgroundColor:uint;
private var _title:Label;
private var _colapsed:Boolean;
private var _name:String;
public function Panel(_arg1:String, _arg2:uint, _arg3:uint, _arg4:uint=0, _arg5:uint=0, _arg6:Number=0.3, _arg7:Align=null, _arg8:Boolean=false){
_name = _arg1;
this.name = _arg1;
this.mouseEnabled = false;
_colapsed = false;
forcedWidth = _arg2;
forcedHeight = _arg3;
this.baseAlpha = _arg6;
_background = new Shape();
_data = new UISprite();
_data.forcedWidth = _arg2;
_data.forcedHeight = _arg3;
_data.mouseEnabled = false;
_title = new Label(_arg1, "uiLabel", 0xFFFFFF, Align.topLeft, _arg8);
_title.buttonMode = true;
_title.margin.top = 0.6;
_title.margin.left = 0.6;
_title.addEventListener(MouseEvent.CLICK, onToggle);
_title.mouseChildren = false;
_border = new Shape();
_mask = new Sprite();
_mask.useHandCursor = false;
_mask.mouseEnabled = false;
_mask.mouseChildren = false;
if (_arg7 == null){
_arg7 = Align.none;
};
this.alignement = _arg7;
this.stickToEdge = _arg8;
if (_arg4 == 0){
_arg4 = Style.backgroundColor;
};
_backgroundColor = _arg4;
if (_arg5 == 0){
_arg5 = Style.borderColor;
};
_borderColor = _arg5;
}
public function get stickToEdge():Boolean{
return (_stickToEdge);
}
public function onToggle(_arg1:MouseEvent=null):void{
if (_colapsed){
_data.visible = true;
} else {
_data.visible = false;
};
_colapsed = !(_colapsed);
_update();
resize();
}
public function set stickToEdge(_arg1:Boolean):void{
_stickToEdge = _arg1;
_title.stickToEdge = _arg1;
}
override protected function dispose():void{
_title.removeEventListener(MouseEvent.CLICK, onToggle);
super.dispose();
}
private function _draw():void{
var _local1:uint;
var _local2:uint;
if (((_savedW) && (_savedH))){
forcedWidth = _savedW;
forcedHeight = _savedH;
};
if (!_colapsed){
_local1 = forcedWidth;
_local2 = forcedHeight;
} else {
_local1 = _title.width;
_local2 = _title.height;
_savedW = forcedWidth;
_savedH = forcedHeight;
forcedWidth = _local1;
forcedHeight = _local2;
};
var _local3:Graphics = _background.graphics;
_local3.clear();
_local3.beginFill(_backgroundColor);
Background.drawRounded(this, _local3, _local1, _local2);
_local3.endFill();
var _local4:Graphics = _data.graphics;
_local4.clear();
_local4.beginFill(_backgroundColor, 0);
Background.drawRounded(this, _local4, _local1, _local2);
_local4.endFill();
var _local5:Graphics = _border.graphics;
_local5.clear();
_local5.lineStyle(0.1, _borderColor);
Background.drawRounded(this, _local5, _local1, _local2);
_local5.endFill();
var _local6:Graphics = _mask.graphics;
_local6.clear();
_local6.beginFill(_backgroundColor);
Background.drawRounded(this, _local6, (_local1 + 1), (_local2 + 1));
_local6.endFill();
}
public function get title():String{
return (_title.text);
}
private function _update():void{
_draw();
if (baseAlpha < 1){
_background.alpha = baseAlpha;
_border.alpha = baseAlpha;
};
}
public function addData(_arg1:DisplayObject):void{
_data.addChild(_arg1);
}
override protected function layout():void{
_update();
addChild(_background);
addChild(_data);
addChild(_title);
addChild(_border);
addChild(_mask);
mask = _mask;
}
public function set title(_arg1:String):void{
_title.text = _arg1;
}
public function close():void{
dispose();
if (parent != null){
parent.removeChild(this);
};
}
}
}//package com.google.analytics.debug
Section 254
//Style (com.google.analytics.debug.Style)
package com.google.analytics.debug {
public const Style:_Style = new _Style();
}//package com.google.analytics.debug
Section 255
//SuccessAlert (com.google.analytics.debug.SuccessAlert)
package com.google.analytics.debug {
public class SuccessAlert extends Alert {
public function SuccessAlert(_arg1:DebugConfiguration, _arg2:String, _arg3:Array){
var _local4:Align;
var _local5:Boolean;
var _local6:Boolean;
_local4 = Align.bottomLeft;
_local5 = true;
_local6 = false;
if (_arg1.verbose){
_arg2 = ((("<u><span class=\"uiAlertTitle\">Success</span>" + spaces(18)) + "</u>\n\n") + _arg2);
_local4 = Align.center;
_local5 = false;
_local6 = true;
};
super(_arg2, _arg3, "uiSuccess", Style.successColor, _local4, _local5, _local6);
}
}
}//package com.google.analytics.debug
Section 256
//UISprite (com.google.analytics.debug.UISprite)
package com.google.analytics.debug {
import flash.events.*;
import flash.display.*;
public class UISprite extends Sprite {
private var _forcedHeight:uint;
protected var listenResize:Boolean;
public var alignement:Align;
private var _forcedWidth:uint;
public var margin:Margin;
protected var alignTarget:DisplayObject;
public function UISprite(_arg1:DisplayObject=null){
listenResize = false;
alignement = Align.none;
this.alignTarget = _arg1;
margin = new Margin();
addEventListener(Event.ADDED_TO_STAGE, _onAddedToStage);
addEventListener(Event.REMOVED_FROM_STAGE, _onRemovedFromStage);
}
protected function dispose():void{
var _local1:DisplayObject;
var _local2:int;
_local2 = 0;
while (_local2 < numChildren) {
_local1 = getChildAt(_local2);
if (_local1){
removeChild(_local1);
};
_local2++;
};
}
protected function layout():void{
}
public function get forcedHeight():uint{
if (_forcedHeight){
return (_forcedHeight);
};
return (height);
}
public function alignTo(_arg1:Align, _arg2:DisplayObject=null):void{
var _local3:uint;
var _local4:uint;
var _local5:uint;
var _local6:uint;
var _local7:UISprite;
if (_arg2 == null){
if ((parent is Stage)){
_arg2 = this.stage;
} else {
_arg2 = parent;
};
};
if (_arg2 == this.stage){
if (this.stage == null){
return;
};
_local3 = this.stage.stageHeight;
_local4 = this.stage.stageWidth;
_local5 = 0;
_local6 = 0;
} else {
_local7 = (_arg2 as UISprite);
if (_local7.forcedHeight){
_local3 = _local7.forcedHeight;
} else {
_local3 = _local7.height;
};
if (_local7.forcedWidth){
_local4 = _local7.forcedWidth;
} else {
_local4 = _local7.width;
};
_local5 = 0;
_local6 = 0;
};
switch (_arg1){
case Align.top:
x = ((_local4 / 2) - (forcedWidth / 2));
y = (_local6 + margin.top);
break;
case Align.bottom:
x = ((_local4 / 2) - (forcedWidth / 2));
y = (((_local6 + _local3) - forcedHeight) - margin.bottom);
break;
case Align.left:
x = (_local5 + margin.left);
y = ((_local3 / 2) - (forcedHeight / 2));
break;
case Align.right:
x = (((_local5 + _local4) - forcedWidth) - margin.right);
y = ((_local3 / 2) - (forcedHeight / 2));
break;
case Align.center:
x = ((_local4 / 2) - (forcedWidth / 2));
y = ((_local3 / 2) - (forcedHeight / 2));
break;
case Align.topLeft:
x = (_local5 + margin.left);
y = (_local6 + margin.top);
break;
case Align.topRight:
x = (((_local5 + _local4) - forcedWidth) - margin.right);
y = (_local6 + margin.top);
break;
case Align.bottomLeft:
x = (_local5 + margin.left);
y = (((_local6 + _local3) - forcedHeight) - margin.bottom);
break;
case Align.bottomRight:
x = (((_local5 + _local4) - forcedWidth) - margin.right);
y = (((_local6 + _local3) - forcedHeight) - margin.bottom);
break;
};
if (((!(listenResize)) && (!((_arg1 == Align.none))))){
_arg2.addEventListener(Event.RESIZE, onResize, false, 0, true);
listenResize = true;
};
this.alignement = _arg1;
this.alignTarget = _arg2;
}
public function get forcedWidth():uint{
if (_forcedWidth){
return (_forcedWidth);
};
return (width);
}
protected function onResize(_arg1:Event):void{
resize();
}
private function _onRemovedFromStage(_arg1:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, _onAddedToStage);
removeEventListener(Event.REMOVED_FROM_STAGE, _onRemovedFromStage);
dispose();
}
public function resize():void{
if (alignement != Align.none){
alignTo(alignement, alignTarget);
};
}
private function _onAddedToStage(_arg1:Event):void{
layout();
resize();
}
public function set forcedHeight(_arg1:uint):void{
_forcedHeight = _arg1;
}
public function set forcedWidth(_arg1:uint):void{
_forcedWidth = _arg1;
}
}
}//package com.google.analytics.debug
Section 257
//Warning (com.google.analytics.debug.Warning)
package com.google.analytics.debug {
import flash.events.*;
import flash.utils.*;
public class Warning extends Label {
private var _timer:Timer;
public function Warning(_arg1:String="", _arg2:uint=3000){
super(_arg1, "uiWarning", Style.warningColor, Align.top, false);
margin.top = 32;
if (_arg2 > 0){
_timer = new Timer(_arg2, 1);
_timer.start();
_timer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete, false, 0, true);
};
}
public function onComplete(_arg1:TimerEvent):void{
close();
}
override public function onLink(_arg1:TextEvent):void{
switch (_arg1.text){
case "hide":
close();
break;
};
}
public function close():void{
if (parent != null){
parent.removeChild(this);
};
}
}
}//package com.google.analytics.debug
Section 258
//VisualDebugMode (com.google.analytics.debug.VisualDebugMode)
package com.google.analytics.debug {
public class VisualDebugMode {
private var _value:int;
private var _name:String;
public static const advanced:VisualDebugMode = new VisualDebugMode(1, "advanced");
;
public static const geek:VisualDebugMode = new VisualDebugMode(2, "geek");
;
public static const basic:VisualDebugMode = new VisualDebugMode(0, "basic");
;
public function VisualDebugMode(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.debug
Section 259
//AnalyticsEvent (com.google.analytics.events.AnalyticsEvent)
package com.google.analytics.events {
import flash.events.*;
import com.google.analytics.*;
public class AnalyticsEvent extends Event {
public var tracker:AnalyticsTracker;
public static const READY:String = "ready";
public function AnalyticsEvent(_arg1:String, _arg2:AnalyticsTracker, _arg3:Boolean=false, _arg4:Boolean=false){
super(_arg1, _arg3, _arg4);
this.tracker = _arg2;
}
override public function clone():Event{
return (new AnalyticsEvent(type, tracker, bubbles, cancelable));
}
}
}//package com.google.analytics.events
Section 260
//AdSenseGlobals (com.google.analytics.external.AdSenseGlobals)
package com.google.analytics.external {
import com.google.analytics.debug.*;
public class AdSenseGlobals extends JavascriptProxy {
private var _gaGlobalVerified:Boolean;// = false
public static var gaGlobal_js:XML = <script>
<![CDATA[
function()
{
try
{
gaGlobal
}
catch(e)
{
gaGlobal = {} ;
}
}
]]>
</script>
;
public function AdSenseGlobals(_arg1:DebugConfiguration){
_gaGlobalVerified = false;
super(_arg1);
}
public function set vid(_arg1:String):void{
if (!isAvailable()){
return;
};
_verify();
setProperty("gaGlobal.vid", _arg1);
}
public function get hid():String{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal.hid"));
}
public function get dh():String{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal.dh"));
}
public function get gaGlobal():Object{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal"));
}
public function set hid(_arg1:String):void{
if (!isAvailable()){
return;
};
_verify();
setProperty("gaGlobal.hid", _arg1);
}
public function get sid():String{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal.sid"));
}
private function _verify():void{
if (!_gaGlobalVerified){
executeBlock(gaGlobal_js);
_gaGlobalVerified = true;
};
}
public function get vid():String{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal.vid"));
}
public function set sid(_arg1:String):void{
if (!isAvailable()){
return;
};
_verify();
setProperty("gaGlobal.sid", _arg1);
}
}
}//package com.google.analytics.external
Section 261
//HTMLDOM (com.google.analytics.external.HTMLDOM)
package com.google.analytics.external {
import com.google.analytics.debug.*;
public class HTMLDOM extends JavascriptProxy {
private var _referrer:String;
private var _protocol:String;
private var _host:String;
private var _location:String;
private var _pathname:String;
private var _title:String;
private var _characterSet:String;
private var _search:String;
private var _language:String;
private var _colorDepth:String;
public static var cache_properties_js:XML = <script>
<![CDATA[
function()
{
var obj = {};
obj.host = document.location.host;
obj.language = navigator.language ? navigator.language : navigator.browserLanguage;
obj.characterSet = document.characterSet ? document.characterSet : document.charset;
obj.colorDepth = window.screen.colorDepth;
obj.location = document.location.toString();
obj.pathname = document.location.pathname;
obj.protocol = document.location.protocol;
obj.search = document.location.search;
obj.referrer = document.referrer;
obj.title = document.title;
return obj;
}
]]>
</script>
;
public function HTMLDOM(_arg1:DebugConfiguration){
super(_arg1);
}
public function get search():String{
if (_search){
return (_search);
};
if (!isAvailable()){
return (null);
};
_search = getProperty("document.location.search");
return (_search);
}
public function get location():String{
if (_location){
return (_location);
};
if (!isAvailable()){
return (null);
};
_location = getPropertyString("document.location");
return (_location);
}
public function get pathname():String{
if (_pathname){
return (_pathname);
};
if (!isAvailable()){
return (null);
};
_pathname = getProperty("document.location.pathname");
return (_pathname);
}
public function get referrer():String{
if (_referrer){
return (_referrer);
};
if (!isAvailable()){
return (null);
};
_referrer = getProperty("document.referrer");
return (_referrer);
}
public function get protocol():String{
if (_protocol){
return (_protocol);
};
if (!isAvailable()){
return (null);
};
_protocol = getProperty("document.location.protocol");
return (_protocol);
}
public function cacheProperties():void{
var _local1:Object;
if (!isAvailable()){
return;
};
_local1 = call(cache_properties_js);
if (_local1){
_host = _local1.host;
_language = _local1.language;
_characterSet = _local1.characterSet;
_colorDepth = _local1.colorDepth;
_location = _local1.location;
_pathname = _local1.pathname;
_protocol = _local1.protocol;
_search = _local1.search;
_referrer = _local1.referrer;
_title = _local1.title;
};
}
public function get colorDepth():String{
if (_colorDepth){
return (_colorDepth);
};
if (!isAvailable()){
return (null);
};
_colorDepth = getProperty("window.screen.colorDepth");
return (_colorDepth);
}
public function get title():String{
if (_title){
return (_title);
};
if (!isAvailable()){
return (null);
};
_title = getProperty("document.title");
return (_title);
}
public function get host():String{
if (_host){
return (_host);
};
if (!isAvailable()){
return (null);
};
_host = getProperty("document.location.host");
return (_host);
}
public function get characterSet():String{
var _local1:String;
if (_characterSet){
return (_characterSet);
};
if (!isAvailable()){
return (null);
};
_local1 = getProperty("document.characterSet");
if (_local1 == null){
_local1 = getProperty("document.charset");
};
_characterSet = _local1;
return (_characterSet);
}
public function get language():String{
var _local1:String;
if (_language){
return (_language);
};
if (!isAvailable()){
return (null);
};
_local1 = getProperty("navigator.language");
if (_local1 == null){
_local1 = getProperty("navigator.browserLanguage");
};
_language = _local1;
return (_language);
}
}
}//package com.google.analytics.external
Section 262
//JavascriptProxy (com.google.analytics.external.JavascriptProxy)
package com.google.analytics.external {
import com.google.analytics.debug.*;
import flash.external.*;
import flash.system.*;
public class JavascriptProxy {
private var _notAvailableWarning:Boolean;// = true
private var _debug:DebugConfiguration;
public static var setProperty_js:XML = <script>
<![CDATA[
function( path , value )
{
var paths;
var prop;
if( path.indexOf(".") > 0 )
{
paths = path.split(".");
prop = paths.pop() ;
}
else
{
paths = [];
prop = path;
}
var target = window ;
var len = paths.length ;
for( var i = 0 ; i < len ; i++ )
{
target = target[ paths[i] ] ;
}
target[ prop ] = value ;
}
]]>
</script>
;
public static var hasProperty_js:XML = <script>
<![CDATA[
function( path )
{
var paths;
if( path.indexOf(".") > 0 )
{
paths = path.split(".");
}
else
{
paths = [path];
}
var target = window ;
var len = paths.length ;
for( var i = 0 ; i < len ; i++ )
{
target = target[ paths[i] ] ;
}
if( target )
{
return true;
}
else
{
return false;
}
}
]]>
</script>
;
public static var setPropertyRef_js:XML = <script>
<![CDATA[
function( path , target )
{
var paths;
var prop;
if( path.indexOf(".") > 0 )
{
paths = path.split(".");
prop = paths.pop() ;
}
else
{
paths = [];
prop = path;
}
alert( "paths:"+paths.length+", prop:"+prop );
var targets;
var name;
if( target.indexOf(".") > 0 )
{
targets = target.split(".");
name = targets.pop();
}
else
{
targets = [];
name = target;
}
alert( "targets:"+targets.length+", name:"+name );
var root = window;
var len = paths.length;
for( var i = 0 ; i < len ; i++ )
{
root = root[ paths[i] ] ;
}
var ref = window;
var depth = targets.length;
for( var j = 0 ; j < depth ; j++ )
{
ref = ref[ targets[j] ] ;
}
root[ prop ] = ref[name] ;
}
]]>
</script>
;
public function JavascriptProxy(_arg1:DebugConfiguration){
_notAvailableWarning = true;
super();
_debug = _arg1;
}
public function getProperty(_arg1:String){
return (call((_arg1 + ".valueOf")));
}
public function hasProperty(_arg1:String):Boolean{
return (call(hasProperty_js, _arg1));
}
public function setProperty(_arg1:String, _arg2):void{
call(setProperty_js, _arg1, _arg2);
}
public function executeBlock(_arg1:String):void{
var data = _arg1;
if (isAvailable()){
try {
ExternalInterface.call(data);
} catch(e:SecurityError) {
if (_debug.javascript){
_debug.warning("ExternalInterface is not allowed.\nEnsure that allowScriptAccess is set to \"always\" in the Flash embed HTML.");
};
} catch(e:Error) {
if (_debug.javascript){
_debug.warning(("ExternalInterface failed to make the call\nreason: " + e.message));
};
};
};
}
public function getPropertyString(_arg1:String):String{
return (call((_arg1 + ".toString")));
}
public function setPropertyByReference(_arg1:String, _arg2:String):void{
call(setPropertyRef_js, _arg1, _arg2);
}
public function call(_arg1:String, ... _args){
var output:String;
var functionName = _arg1;
var args = _args;
if (isAvailable()){
try {
if (((_debug.javascript) && (_debug.verbose))){
output = "";
output = ("Flash->JS: " + functionName);
output = (output + "( ");
if (args.length > 0){
output = (output + args.join(","));
};
output = (output + " )");
_debug.info(output);
};
args.unshift(functionName);
return (ExternalInterface.call.apply(ExternalInterface, args));
} catch(e:SecurityError) {
if (_debug.javascript){
_debug.warning("ExternalInterface is not allowed.\nEnsure that allowScriptAccess is set to \"always\" in the Flash embed HTML.");
};
} catch(e:Error) {
if (_debug.javascript){
_debug.warning(("ExternalInterface failed to make the call\nreason: " + e.message));
};
};
};
return (null);
}
public function isAvailable():Boolean{
var _local1:Boolean;
_local1 = ExternalInterface.available;
if (((_local1) && ((Capabilities.playerType == "External")))){
_local1 = false;
};
if (((((!(_local1)) && (_debug.javascript))) && (_notAvailableWarning))){
_debug.warning("ExternalInterface is not available.");
_notAvailableWarning = false;
};
return (_local1);
}
}
}//package com.google.analytics.external
Section 263
//Environment (com.google.analytics.utils.Environment)
package com.google.analytics.utils {
import com.google.analytics.core.*;
import com.google.analytics.debug.*;
import com.google.analytics.external.*;
import flash.system.*;
public class Environment {
private var _dom:HTMLDOM;
private var _appName:String;
private var _debug:DebugConfiguration;
private var _appVersion:Version;
private var _url:String;
private var _protocol:Protocols;
private var _userAgent:UserAgent;
public function Environment(_arg1:String="", _arg2:String="", _arg3:String="", _arg4:DebugConfiguration=null, _arg5:HTMLDOM=null){
var _local6:Version;
super();
if (_arg2 == ""){
if (isAIR()){
_arg2 = "AIR";
} else {
_arg2 = "Flash";
};
};
if (_arg3 == ""){
_local6 = flashVersion;
} else {
_local6 = Version.fromString(_arg3);
};
_url = _arg1;
_appName = _arg2;
_appVersion = _local6;
_debug = _arg4;
_dom = _arg5;
}
public function isAIR():Boolean{
return ((((playerType == "Desktop")) && ((Security.sandboxType.toString() == "application"))));
}
public function get playerType():String{
return (Capabilities.playerType);
}
public function get locationSearch():String{
var _local1:String;
_local1 = _dom.search;
if (_local1){
return (_local1);
};
return ("");
}
public function get protocol():Protocols{
if (!_protocol){
_findProtocol();
};
return (_protocol);
}
public function get flashVersion():Version{
var _local1:Version;
_local1 = Version.fromString(Capabilities.version.split(" ")[1], ",");
return (_local1);
}
public function get screenWidth():Number{
return (Capabilities.screenResolutionX);
}
public function get languageEncoding():String{
var _local1:String;
if (System.useCodePage){
_local1 = _dom.characterSet;
if (_local1){
return (_local1);
};
return ("-");
};
return ("UTF-8");
}
public function get appName():String{
return (_appName);
}
public function get screenColorDepth():String{
var _local1:String;
var _local2:String;
switch (Capabilities.screenColor){
case "bw":
_local1 = "1";
break;
case "gray":
_local1 = "2";
break;
case "color":
default:
_local1 = "24";
};
_local2 = _dom.colorDepth;
if (_local2){
_local1 = _local2;
};
return (_local1);
}
private function _findProtocol():void{
var _local1:Protocols;
var _local2:String;
var _local3:String;
var _local4:String;
var _local5:String;
_local1 = Protocols.none;
if (_url != ""){
_local4 = _url.toLowerCase();
_local5 = _local4.substr(0, 5);
switch (_local5){
case "file:":
_local1 = Protocols.file;
break;
case "http:":
_local1 = Protocols.HTTP;
break;
case "https":
if (_local4.charAt(5) == ":"){
_local1 = Protocols.HTTPS;
};
break;
default:
_protocol = Protocols.none;
};
};
_local2 = _dom.protocol;
_local3 = (_local1.toString() + ":").toLowerCase();
if (((((_local2) && (!((_local2 == _local3))))) && (_debug))){
_debug.warning(((("Protocol mismatch: SWF=" + _local3) + ", DOM=") + _local2));
};
_protocol = _local1;
}
public function get locationSWFPath():String{
return (_url);
}
public function get platform():String{
var _local1:String;
_local1 = Capabilities.manufacturer;
return (_local1.split("Adobe ")[1]);
}
public function get operatingSystem():String{
return (Capabilities.os);
}
public function set appName(_arg1:String):void{
_appName = _arg1;
userAgent.applicationProduct = _arg1;
}
public function get userAgent():UserAgent{
if (!_userAgent){
_userAgent = new UserAgent(this, appName, appVersion.toString(4));
};
return (_userAgent);
}
ga_internal function set url(_arg1:String):void{
_url = _arg1;
}
public function get referrer():String{
var _local1:String;
_local1 = _dom.referrer;
if (_local1){
return (_local1);
};
if (protocol == Protocols.file){
return ("localhost");
};
return ("");
}
public function isInHTML():Boolean{
return ((Capabilities.playerType == "PlugIn"));
}
public function get language():String{
var _local1:String;
var _local2:String;
_local1 = _dom.language;
_local2 = Capabilities.language;
if (_local1){
if ((((_local1.length > _local2.length)) && ((_local1.substr(0, _local2.length) == _local2)))){
_local2 = _local1;
};
};
return (_local2);
}
public function get domainName():String{
var _local1:String;
var _local2:String;
var _local3:int;
if ((((protocol == Protocols.HTTP)) || ((protocol == Protocols.HTTPS)))){
_local1 = _url.toLowerCase();
if (protocol == Protocols.HTTP){
_local2 = _local1.split("http://").join("");
} else {
if (protocol == Protocols.HTTPS){
_local2 = _local1.split("https://").join("");
};
};
_local3 = _local2.indexOf("/");
if (_local3 > -1){
_local2 = _local2.substring(0, _local3);
};
return (_local2);
};
if (protocol == Protocols.file){
return ("localhost");
};
return ("");
}
public function set userAgent(_arg1:UserAgent):void{
_userAgent = _arg1;
}
public function set appVersion(_arg1:Version):void{
_appVersion = _arg1;
userAgent.applicationVersion = _arg1.toString(4);
}
public function get screenHeight():Number{
return (Capabilities.screenResolutionY);
}
public function get locationPath():String{
var _local1:String;
_local1 = _dom.pathname;
if (_local1){
return (_local1);
};
return ("");
}
public function get documentTitle():String{
var _local1:String;
_local1 = _dom.title;
if (_local1){
return (_local1);
};
return ("");
}
public function get appVersion():Version{
return (_appVersion);
}
}
}//package com.google.analytics.utils
Section 264
//Protocols (com.google.analytics.utils.Protocols)
package com.google.analytics.utils {
public class Protocols {
private var _value:int;
private var _name:String;
public static const none:Protocols = new Protocols(0, "none");
;
public static const HTTPS:Protocols = new Protocols(3, "HTTPS");
;
public static const file:Protocols = new Protocols(1, "file");
;
public static const HTTP:Protocols = new Protocols(2, "HTTP");
;
public function Protocols(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.utils
Section 265
//Timespan (com.google.analytics.utils.Timespan)
package com.google.analytics.utils {
public class Timespan {
public static var sixmonths:Number = 15768000;
public static var twoyears:Number = 63072000;
public static var thirtyminutes:Number = 1800;
}
}//package com.google.analytics.utils
Section 266
//URL (com.google.analytics.utils.URL)
package com.google.analytics.utils {
public class URL {
private var _url:String;
public function URL(_arg1:String=""){
_url = _arg1.toLowerCase();
}
public function get domain():String{
var _local1:Array;
if (((!((hostName == ""))) && ((hostName.indexOf(".") > -1)))){
_local1 = hostName.split(".");
switch (_local1.length){
case 2:
return (hostName);
case 3:
if (_local1[1] == "co"){
return (hostName);
};
_local1.shift();
return (_local1.join("."));
case 4:
_local1.shift();
return (_local1.join("."));
};
};
return ("");
}
public function get path():String{
var _local1:String = _url;
if (_local1.indexOf("://") > -1){
_local1 = _local1.split("://")[1];
};
if (_local1.indexOf(hostName) == 0){
_local1 = _local1.substr(hostName.length);
};
if (_local1.indexOf("?") > -1){
_local1 = _local1.split("?")[0];
};
if (_local1.charAt(0) != "/"){
_local1 = ("/" + _local1);
};
return (_local1);
}
public function get protocol():Protocols{
var _local1:String = _url.split("://")[0];
switch (_local1){
case "file":
return (Protocols.file);
case "http":
return (Protocols.HTTP);
case "https":
return (Protocols.HTTPS);
default:
return (Protocols.none);
};
}
public function get hostName():String{
var _local1:String = _url;
if (_local1.indexOf("://") > -1){
_local1 = _local1.split("://")[1];
};
if (_local1.indexOf("/") > -1){
_local1 = _local1.split("/")[0];
};
if (_local1.indexOf("?") > -1){
_local1 = _local1.split("?")[0];
};
if ((((protocol == Protocols.file)) || ((protocol == Protocols.none)))){
return ("");
};
return (_local1);
}
public function get subDomain():String{
if (((!((domain == ""))) && (!((domain == hostName))))){
return (hostName.split(("." + domain)).join(""));
};
return ("");
}
public function get search():String{
var _local1:String = _url;
if (_local1.indexOf("://") > -1){
_local1 = _local1.split("://")[1];
};
if (_local1.indexOf(hostName) == 0){
_local1 = _local1.substr(hostName.length);
};
if (_local1.indexOf("?") > -1){
_local1 = _local1.split("?")[1];
} else {
_local1 = "";
};
return (_local1);
}
}
}//package com.google.analytics.utils
Section 267
//UserAgent (com.google.analytics.utils.UserAgent)
package com.google.analytics.utils {
import com.google.analytics.core.*;
import flash.system.*;
public class UserAgent {
private var _version:Version;
private var _localInfo:Environment;
private var _applicationProduct:String;
public static var minimal:Boolean = false;
public function UserAgent(_arg1:Environment, _arg2:String="", _arg3:String=""){
_localInfo = _arg1;
applicationProduct = _arg2;
_version = Version.fromString(_arg3);
}
public function get tamarinProductToken():String{
if (UserAgent.minimal){
return ("");
};
if (System.vmVersion){
return (("Tamarin/" + Utils.trim(System.vmVersion, true)));
};
return ("");
}
public function set applicationProduct(_arg1:String):void{
_applicationProduct = _arg1;
}
public function get applicationVersion():String{
return (_version.toString(2));
}
public function get applicationProductToken():String{
var _local1:String;
_local1 = applicationProduct;
if (applicationVersion != ""){
_local1 = (_local1 + ("/" + applicationVersion));
};
return (_local1);
}
public function get vendorProductToken():String{
var _local1:String;
_local1 = "";
if (_localInfo.isAIR()){
_local1 = (_local1 + "AIR");
} else {
_local1 = (_local1 + "FlashPlayer");
};
_local1 = (_local1 + "/");
_local1 = (_local1 + _version.toString(3));
return (_local1);
}
public function toString():String{
var _local1:String;
_local1 = "";
_local1 = (_local1 + applicationProductToken);
if (applicationComment != ""){
_local1 = (_local1 + (" " + applicationComment));
};
if (tamarinProductToken != ""){
_local1 = (_local1 + (" " + tamarinProductToken));
};
if (vendorProductToken != ""){
_local1 = (_local1 + (" " + vendorProductToken));
};
return (_local1);
}
public function get applicationComment():String{
var _local1:Array;
_local1 = [];
_local1.push(_localInfo.platform);
_local1.push(_localInfo.playerType);
if (!UserAgent.minimal){
_local1.push(_localInfo.operatingSystem);
_local1.push(_localInfo.language);
};
if (Capabilities.isDebugger){
_local1.push("DEBUG");
};
if (_local1.length > 0){
return ((("(" + _local1.join("; ")) + ")"));
};
return ("");
}
public function set applicationVersion(_arg1:String):void{
_version = Version.fromString(_arg1);
}
public function get applicationProduct():String{
return (_applicationProduct);
}
}
}//package com.google.analytics.utils
Section 268
//Variables (com.google.analytics.utils.Variables)
package com.google.analytics.utils {
import flash.net.*;
public dynamic class Variables {
public var post:Array;
public var URIencode:Boolean;
public var pre:Array;
public var sort:Boolean;// = true
public function Variables(_arg1:String=null, _arg2:Array=null, _arg3:Array=null){
pre = [];
post = [];
super();
if (_arg1){
decode(_arg1);
};
if (_arg2){
this.pre = _arg2;
};
if (_arg3){
this.post = _arg3;
};
}
private function _join(_arg1:Variables):void{
var _local2:String;
if (!_arg1){
return;
};
for (_local2 in _arg1) {
this[_local2] = _arg1[_local2];
};
}
public function join(... _args):void{
var _local2:int = _args.length;
var _local3:int;
while (_local3 < _local2) {
if (!(_args[_local3] is Variables)){
} else {
_join(_args[_local3]);
};
_local3++;
};
}
public function toString():String{
var _local2:String;
var _local3:String;
var _local4:String;
var _local5:int;
var _local6:int;
var _local7:String;
var _local8:String;
var _local1:Array = [];
for (_local3 in this) {
_local2 = this[_local3];
if (URIencode){
_local2 = encodeURI(_local2);
};
_local1.push(((_local3 + "=") + _local2));
};
if (sort){
_local1.sort();
};
if (pre.length > 0){
pre.reverse();
_local5 = 0;
while (_local5 < pre.length) {
_local7 = pre[_local5];
_local6 = 0;
while (_local6 < _local1.length) {
_local4 = _local1[_local6];
if (_local4.indexOf(_local7) == 0){
_local1.unshift(_local1.splice(_local6, 1)[0]);
};
_local6++;
};
_local5++;
};
pre.reverse();
};
if (post.length > 0){
_local5 = 0;
while (_local5 < post.length) {
_local8 = post[_local5];
_local6 = 0;
while (_local6 < _local1.length) {
_local4 = _local1[_local6];
if (_local4.indexOf(_local8) == 0){
_local1.push(_local1.splice(_local6, 1)[0]);
};
_local6++;
};
_local5++;
};
};
return (_local1.join("&"));
}
public function decode(_arg1:String):void{
var _local2:Array;
var _local3:String;
var _local4:String;
var _local5:String;
var _local6:Array;
if (_arg1 == ""){
return;
};
if (_arg1.indexOf("&") > -1){
_local2 = _arg1.split("&");
} else {
_local2 = [_arg1];
};
var _local7:int;
while (_local7 < _local2.length) {
_local3 = _local2[_local7];
if (_local3.indexOf("=") > -1){
_local6 = _local3.split("=");
_local4 = _local6[0];
_local5 = decodeURI(_local6[1]);
this[_local4] = _local5;
};
_local7++;
};
}
public function toURLVariables():URLVariables{
var _local2:String;
var _local1:URLVariables = new URLVariables();
for (_local2 in this) {
_local1[_local2] = this[_local2];
};
return (_local1);
}
}
}//package com.google.analytics.utils
Section 269
//Version (com.google.analytics.utils.Version)
package com.google.analytics.utils {
public class Version {
private var _maxBuild:uint;// = 0xFF
private var _maxMinor:uint;// = 15
private var _maxMajor:uint;// = 15
private var _revision:uint;
private var _separator:String;// = "."
private var _maxRevision:uint;// = 0xFFFF
private var _build:uint;
private var _minor:uint;
private var _major:uint;
public function Version(_arg1:uint=0, _arg2:uint=0, _arg3:uint=0, _arg4:uint=0){
var _local5:Version;
_maxMajor = 15;
_maxMinor = 15;
_maxBuild = 0xFF;
_maxRevision = 0xFFFF;
_separator = ".";
super();
if ((((((((_arg1 > _maxMajor)) && ((_arg2 == 0)))) && ((_arg3 == 0)))) && ((_arg4 == 0)))){
_local5 = Version.fromNumber(_arg1);
_arg1 = _local5.major;
_arg2 = _local5.minor;
_arg3 = _local5.build;
_arg4 = _local5.revision;
};
this.major = _arg1;
this.minor = _arg2;
this.build = _arg3;
this.revision = _arg4;
}
public function toString(_arg1:int=0):String{
var _local2:Array;
if ((((_arg1 <= 0)) || ((_arg1 > 4)))){
_arg1 = getFields();
};
switch (_arg1){
case 1:
_local2 = [major];
break;
case 2:
_local2 = [major, minor];
break;
case 3:
_local2 = [major, minor, build];
break;
case 4:
default:
_local2 = [major, minor, build, revision];
};
return (_local2.join(_separator));
}
public function get revision():uint{
return (_revision);
}
public function set build(_arg1:uint):void{
_build = Math.min(_arg1, _maxBuild);
}
public function set minor(_arg1:uint):void{
_minor = Math.min(_arg1, _maxMinor);
}
public function get build():uint{
return (_build);
}
public function set major(_arg1:uint):void{
_major = Math.min(_arg1, _maxMajor);
}
public function get minor():uint{
return (_minor);
}
public function valueOf():uint{
return (((((major << 28) | (minor << 24)) | (build << 16)) | revision));
}
public function get major():uint{
return (_major);
}
public function set revision(_arg1:uint):void{
_revision = Math.min(_arg1, _maxRevision);
}
private function getFields():int{
var _local1:int;
_local1 = 4;
if (revision == 0){
_local1--;
};
if ((((_local1 == 3)) && ((build == 0)))){
_local1--;
};
if ((((_local1 == 2)) && ((minor == 0)))){
_local1--;
};
return (_local1);
}
public function equals(_arg1):Boolean{
if (!(_arg1 is Version)){
return (false);
};
if ((((((((_arg1.major == major)) && ((_arg1.minor == minor)))) && ((_arg1.build == build)))) && ((_arg1.revision == revision)))){
return (true);
};
return (false);
}
public static function fromString(_arg1:String="", _arg2:String="."):Version{
var _local3:Version;
var _local4:Array;
_local3 = new (Version);
if ((((_arg1 == "")) || ((_arg1 == null)))){
return (_local3);
};
if (_arg1.indexOf(_arg2) > -1){
_local4 = _arg1.split(_arg2);
_local3.major = parseInt(_local4[0]);
_local3.minor = parseInt(_local4[1]);
_local3.build = parseInt(_local4[2]);
_local3.revision = parseInt(_local4[3]);
} else {
_local3.major = parseInt(_arg1);
};
return (_local3);
}
public static function fromNumber(_arg1:Number=0):Version{
var _local2:Version;
_local2 = new (Version);
if (((((((((((isNaN(_arg1)) || ((_arg1 == 0)))) || ((_arg1 < 0)))) || ((_arg1 == Number.MAX_VALUE)))) || ((_arg1 == Number.POSITIVE_INFINITY)))) || ((_arg1 == Number.NEGATIVE_INFINITY)))){
return (_local2);
};
_local2.major = (_arg1 >>> 28);
_local2.minor = ((_arg1 & 251658240) >>> 24);
_local2.build = ((_arg1 & 0xFF0000) >>> 16);
_local2.revision = (_arg1 & 0xFFFF);
return (_local2);
}
}
}//package com.google.analytics.utils
Section 270
//Bridge (com.google.analytics.v4.Bridge)
package com.google.analytics.v4 {
import com.google.analytics.core.*;
import com.google.analytics.debug.*;
import com.google.analytics.external.*;
public class Bridge implements GoogleAnalyticsAPI {
private var _debug:DebugConfiguration;
private var _proxy:JavascriptProxy;
private var _jsContainer:String;// = "_GATracker"
private var _hasGATracker:Boolean;// = false
private var _account:String;
private static var _linkTrackingObject_js:XML = <script>
<![CDATA[
function( container , target )
{
var targets ;
var name ;
if( target.indexOf(".") > 0 )
{
targets = target.split(".");
name = targets.pop();
}
else
{
targets = [];
name = target;
}
var ref = window;
var depth = targets.length;
for( var j = 0 ; j < depth ; j++ )
{
ref = ref[ targets[j] ] ;
}
window[container][target] = ref[name] ;
}
]]>
</script>
;
private static var _createTrackingObject_js:XML = <script>
<![CDATA[
function( acct )
{
_GATracker[acct] = _gat._getTracker(acct);
}
]]>
</script>
;
private static var _injectTrackingObject_js:XML = <script>
<![CDATA[
function()
{
try
{
_GATracker
}
catch(e)
{
_GATracker = {};
}
}
]]>
</script>
;
private static var _checkGAJS_js:XML = <script>
<![CDATA[
function()
{
if( _gat && _gat._getTracker )
{
return true;
}
return false;
}
]]>
</script>
;
private static var _checkValidTrackingObject_js:XML = <script>
<![CDATA[
function(acct)
{
if( _GATracker[acct] && (_GATracker[acct]._getAccount) )
{
return true ;
}
else
{
return false;
}
}
]]>
</script>
;
public function Bridge(_arg1:String, _arg2:DebugConfiguration, _arg3:JavascriptProxy){
var _local4:String;
var _local5:String;
var _local6:String;
super();
_account = _arg1;
_debug = _arg2;
_proxy = _arg3;
if (!_checkGAJS()){
_local4 = "";
_local4 = (_local4 + "ga.js not found, be sure to check if\n");
_local4 = (_local4 + "<script src=\"http://www.google-analytics.com/ga.js\"></script>\n");
_local4 = (_local4 + "is included in the HTML.");
_debug.warning(_local4);
throw (new Error(_local4));
};
if (!_hasGATracker){
if (((_debug.javascript) && (_debug.verbose))){
_local5 = "";
_local5 = (_local5 + "The Google Analytics tracking code was not found on the container page\n");
_local5 = (_local5 + "we create it");
_debug.info(_local5, VisualDebugMode.advanced);
};
_injectTrackingObject();
};
if (Utils.validateAccount(_arg1)){
_createTrackingObject(_arg1);
} else {
if (_checkTrackingObject(_arg1)){
_linkTrackingObject(_arg1);
} else {
_local6 = "";
_local6 = (_local6 + (("JS Object \"" + _arg1) + "\" doesn't exist in DOM\n"));
_local6 = (_local6 + "Bridge object not created.");
_debug.warning(_local6);
throw (new Error(_local6));
};
};
}
public function link(_arg1:String, _arg2:Boolean=false):void{
_debug.info((((("link( " + _arg1) + ", ") + _arg2) + " )"));
_call("_link", _arg1, _arg2);
}
public function addOrganic(_arg1:String, _arg2:String):void{
_debug.info((("addOrganic( " + [_arg1, _arg2].join(", ")) + " )"));
_call("_addOrganic", _arg1);
}
public function setAllowLinker(_arg1:Boolean):void{
_debug.info((("setAllowLinker( " + _arg1) + " )"));
_call("_setAllowLinker", _arg1);
}
private function _linkTrackingObject(_arg1:String):void{
_proxy.call(_linkTrackingObject_js, _jsContainer, _arg1);
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
var _local5 = 2;
if (((_arg3) && (!((_arg3 == ""))))){
_local5 = 3;
};
if ((((_local5 == 3)) && (!(isNaN(_arg4))))){
_local5 = 4;
};
switch (_local5){
case 4:
_debug.info((("trackEvent( " + [_arg1, _arg2, _arg3, _arg4].join(", ")) + " )"));
return (_call("_trackEvent", _arg1, _arg2, _arg3, _arg4));
case 3:
_debug.info((("trackEvent( " + [_arg1, _arg2, _arg3].join(", ")) + " )"));
return (_call("_trackEvent", _arg1, _arg2, _arg3));
case 2:
default:
_debug.info((("trackEvent( " + [_arg1, _arg2].join(", ")) + " )"));
return (_call("_trackEvent", _arg1, _arg2));
};
}
public function setClientInfo(_arg1:Boolean):void{
_debug.info((("setClientInfo( " + _arg1) + " )"));
_call("_setClientInfo", _arg1);
}
public function trackTrans():void{
_debug.info("trackTrans()");
_call("_trackTrans");
}
public function setCookieTimeout(_arg1:int):void{
_debug.info((("setCookieTimeout( " + _arg1) + " )"));
_call("_setCookieTimeout", _arg1);
}
public function trackPageview(_arg1:String=""):void{
_debug.info((("trackPageview( " + _arg1) + " )"));
_call("_trackPageview", _arg1);
}
public function getClientInfo():Boolean{
_debug.info("getClientInfo()");
return (_call("_getClientInfo"));
}
private function _checkValidTrackingObject(_arg1:String):Boolean{
return (_proxy.call(_checkValidTrackingObject_js, _arg1));
}
private function _checkGAJS():Boolean{
return (_proxy.call(_checkGAJS_js));
}
public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{
_debug.warning((((("linkByPost( " + _arg1) + ", ") + _arg2) + " ) not implemented"));
}
private function _call(_arg1:String, ... _args){
_args.unshift(((((("window." + _jsContainer) + "[\"") + _account) + "\"].") + _arg1));
return (_proxy.call.apply(_proxy, _args));
}
public function hasGAJS():Boolean{
return (_checkGAJS());
}
private function _checkTrackingObject(_arg1:String):Boolean{
var _local2:Boolean = _proxy.hasProperty(_arg1);
var _local3:Boolean = _proxy.hasProperty((_arg1 + "._getAccount"));
return (((_local2) && (_local3)));
}
public function resetSession():void{
_debug.warning("resetSession() not implemented");
}
public function getDetectTitle():Boolean{
_debug.info("getDetectTitle()");
return (_call("_getDetectTitle"));
}
public function setCampNameKey(_arg1:String):void{
_debug.info((("setCampNameKey( " + _arg1) + " )"));
_call("_setCampNameKey", _arg1);
}
public function setDetectFlash(_arg1:Boolean):void{
_debug.info((("setDetectFlash( " + _arg1) + " )"));
_call("_setDetectFlash", _arg1);
}
public function createEventTracker(_arg1:String):EventTracker{
_debug.info((("createEventTracker( " + _arg1) + " )"));
return (new EventTracker(_arg1, this));
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{
_debug.info((("addItem( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6].join(", ")) + " )"));
_call("_addItem", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
public function clearIgnoredOrganic():void{
_debug.info("clearIgnoredOrganic()");
_call("_clearIgnoreOrganic");
}
public function setVar(_arg1:String):void{
_debug.info((("setVar( " + _arg1) + " )"));
_call("_setVar", _arg1);
}
public function setDomainName(_arg1:String):void{
_debug.info((("setDomainName( " + _arg1) + " )"));
_call("_setDomainName", _arg1);
}
public function hasTrackingAccount(_arg1:String):Boolean{
if (Utils.validateAccount(_arg1)){
return (_checkValidTrackingObject(_arg1));
};
return (_checkTrackingObject(_arg1));
}
public function setCampSourceKey(_arg1:String):void{
_debug.info((("setCampSourceKey( " + _arg1) + " )"));
_call("_setCampSourceKey", _arg1);
}
public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{
_debug.info((("addTrans( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8].join(", ")) + " )"));
_call("_addTrans", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
return (null);
}
public function setCampContentKey(_arg1:String):void{
_debug.info((("setCampContentKey( " + _arg1) + " )"));
_call("_setCampContentKey", _arg1);
}
public function setLocalServerMode():void{
_debug.info("setLocalServerMode()");
_call("_setLocalServerMode");
}
public function getLocalGifPath():String{
_debug.info("getLocalGifPath()");
return (_call("_getLocalGifPath"));
}
public function clearIgnoredRef():void{
_debug.info("clearIgnoredRef()");
_call("_clearIgnoreRef");
}
public function setAllowAnchor(_arg1:Boolean):void{
_debug.info((("setAllowAnchor( " + _arg1) + " )"));
_call("_setAllowAnchor", _arg1);
}
public function setLocalGifPath(_arg1:String):void{
_debug.info((("setLocalGifPath( " + _arg1) + " )"));
_call("_setLocalGifPath", _arg1);
}
public function getVersion():String{
_debug.info("getVersion()");
return (_call("_getVersion"));
}
private function _injectTrackingObject():void{
_proxy.executeBlock(_injectTrackingObject_js);
_hasGATracker = true;
}
public function setCookiePath(_arg1:String):void{
_debug.info((("setCookiePath( " + _arg1) + " )"));
_call("_setCookiePath", _arg1);
}
public function setSampleRate(_arg1:Number):void{
_debug.info((("setSampleRate( " + _arg1) + " )"));
_call("_setSampleRate", _arg1);
}
public function setAllowHash(_arg1:Boolean):void{
_debug.info((("setAllowHash( " + _arg1) + " )"));
_call("_setAllowHash", _arg1);
}
public function addIgnoredOrganic(_arg1:String):void{
_debug.info((("addIgnoredOrganic( " + _arg1) + " )"));
_call("_addIgnoredOrganic", _arg1);
}
public function setCampNOKey(_arg1:String):void{
_debug.info((("setCampNOKey( " + _arg1) + " )"));
_call("_setCampNOKey", _arg1);
}
public function cookiePathCopy(_arg1:String):void{
_debug.info((("cookiePathCopy( " + _arg1) + " )"));
_call("_cookiePathCopy", _arg1);
}
public function setLocalRemoteServerMode():void{
_debug.info("setLocalRemoteServerMode()");
_call("_setLocalRemoteServerMode");
}
public function getServiceMode():ServerOperationMode{
_debug.info("getServiceMode()");
return (_call("_getServiceMode"));
}
public function setDetectTitle(_arg1:Boolean):void{
_debug.info((("setDetectTitle( " + _arg1) + " )"));
_call("_setDetectTitle", _arg1);
}
private function _createTrackingObject(_arg1:String):void{
_proxy.call(_createTrackingObject_js, _arg1);
}
public function setCampaignTrack(_arg1:Boolean):void{
_debug.info((("setCampaignTrack( " + _arg1) + " )"));
_call("_setCampaignTrack", _arg1);
}
public function clearOrganic():void{
_debug.info("clearOrganic()");
_call("_clearOrganic");
}
public function setCampTermKey(_arg1:String):void{
_debug.info((("setCampTermKey( " + _arg1) + " )"));
_call("_setCampTermKey", _arg1);
}
public function getDetectFlash():Boolean{
_debug.info("getDetectFlash()");
return (_call("_getDetectFlash"));
}
public function setCampMediumKey(_arg1:String):void{
_debug.info((("setCampMediumKey( " + _arg1) + " )"));
_call("_setCampMediumKey", _arg1);
}
public function addIgnoredRef(_arg1:String):void{
_debug.info((("addIgnoredRef( " + _arg1) + " )"));
_call("_addIgnoredRef", _arg1);
}
public function setSessionTimeout(_arg1:int):void{
_debug.info((("setSessionTimeout( " + _arg1) + " )"));
_call("_setSessionTimeout", _arg1);
}
public function setRemoteServerMode():void{
_debug.info("setRemoteServerMode()");
_call("_setRemoteServerMode");
}
public function getAccount():String{
_debug.info("getAccount()");
return (_call("_getAccount"));
}
}
}//package com.google.analytics.v4
Section 271
//Configuration (com.google.analytics.v4.Configuration)
package com.google.analytics.v4 {
import com.google.analytics.core.*;
import com.google.analytics.debug.*;
import com.google.analytics.utils.*;
import com.google.analytics.campaign.*;
public class Configuration {
public var serverMode:ServerOperationMode;
public var detectFlash:Boolean;// = true
public var allowLocalTracking:Boolean;// = true
public var secureRemoteGIFpath:String;// = "https://ssl.google-analytics.com/__utm.gif"
public var hasSiteOverlay:Boolean;// = false
private var _version:String;// = "4.3as"
public var allowDomainHash:Boolean;// = true
public var detectClientInfo:Boolean;// = true
public var idleLoop:Number;// = 30
public var isTrackOutboundSubdomains:Boolean;// = false
public var cookiePath:String;// = "/"
public var transactionFieldDelim:String;// = "|"
private var _organic:Organic;
private var _cookieName:String;// = "analytics"
public var campaignKey:CampaignKey;
public var google:String;// = "google"
public var googleCsePath:String;// = "cse"
public var bucketCapacity:Number;// = 10
private var _sampleRate:Number;// = 1
public var remoteGIFpath:String;// = "http://www.google-analytics.com/__utm.gif"
public var googleSearchParam:String;// = "q"
public var allowLinker:Boolean;// = false
public var maxOutboundLinkExamined:Number;// = 1000
private var _debug:DebugConfiguration;
private var _trackingLimitPerSession:int;// = 500
private var _domain:Domain;
public var allowAnchor:Boolean;// = false
public var tokenCliff:int;// = 10
public var sessionTimeout:Number;
public var idleTimeout:Number;// = 60
public var campaignTracking:Boolean;// = true
public var domainName:String;// = ""
public var detectTitle:Boolean;// = true
public var tokenRate:Number;// = 0.2
public var conversionTimeout:Number;
public var localGIFpath:String;// = "/__utm.gif"
public function Configuration(_arg1:DebugConfiguration=null){
_version = "4.3as";
_sampleRate = 1;
_trackingLimitPerSession = 500;
_organic = new Organic();
googleCsePath = "cse";
googleSearchParam = "q";
google = "google";
_cookieName = "analytics";
allowDomainHash = true;
allowAnchor = false;
allowLinker = false;
hasSiteOverlay = false;
tokenRate = 0.2;
conversionTimeout = Timespan.sixmonths;
sessionTimeout = Timespan.thirtyminutes;
idleLoop = 30;
idleTimeout = 60;
maxOutboundLinkExamined = 1000;
tokenCliff = 10;
bucketCapacity = 10;
detectClientInfo = true;
detectFlash = true;
detectTitle = true;
campaignKey = new CampaignKey();
campaignTracking = true;
isTrackOutboundSubdomains = false;
serverMode = ServerOperationMode.remote;
localGIFpath = "/__utm.gif";
remoteGIFpath = "http://www.google-analytics.com/__utm.gif";
secureRemoteGIFpath = "https://ssl.google-analytics.com/__utm.gif";
cookiePath = "/";
transactionFieldDelim = "|";
domainName = "";
allowLocalTracking = true;
super();
_debug = _arg1;
_domain = new Domain(DomainNameMode.auto, "", _debug);
serverMode = ServerOperationMode.remote;
_initOrganicSources();
}
public function get organic():Organic{
return (_organic);
}
public function get trackingLimitPerSession():int{
return (_trackingLimitPerSession);
}
private function _initOrganicSources():void{
addOrganicSource(google, googleSearchParam);
addOrganicSource("yahoo", "p");
addOrganicSource("msn", "q");
addOrganicSource("aol", "query");
addOrganicSource("aol", "encquery");
addOrganicSource("lycos", "query");
addOrganicSource("ask", "q");
addOrganicSource("altavista", "q");
addOrganicSource("netscape", "query");
addOrganicSource("cnn", "query");
addOrganicSource("looksmart", "qt");
addOrganicSource("about", "terms");
addOrganicSource("mamma", "query");
addOrganicSource("alltheweb", "q");
addOrganicSource("gigablast", "q");
addOrganicSource("voila", "rdata");
addOrganicSource("virgilio", "qs");
addOrganicSource("live", "q");
addOrganicSource("baidu", "wd");
addOrganicSource("alice", "qs");
addOrganicSource("yandex", "text");
addOrganicSource("najdi", "q");
addOrganicSource("aol", "q");
addOrganicSource("club-internet", "q");
addOrganicSource("mama", "query");
addOrganicSource("seznam", "q");
addOrganicSource("search", "q");
addOrganicSource("wp", "szukaj");
addOrganicSource("onet", "qt");
addOrganicSource("netsprint", "q");
addOrganicSource("google.interia", "q");
addOrganicSource("szukacz", "q");
addOrganicSource("yam", "k");
addOrganicSource("pchome", "q");
addOrganicSource("kvasir", "searchExpr");
addOrganicSource("sesam", "q");
addOrganicSource("ozu", "q");
addOrganicSource("terra", "query");
addOrganicSource("nostrum", "query");
addOrganicSource("mynet", "q");
addOrganicSource("ekolay", "q");
addOrganicSource("search.ilse", "search_for");
}
public function get sampleRate():Number{
return (_sampleRate);
}
public function get cookieName():String{
return (_cookieName);
}
public function addOrganicSource(_arg1:String, _arg2:String):void{
var engine = _arg1;
var keyword = _arg2;
try {
_organic.addSource(engine, keyword);
} catch(e:Error) {
if (((_debug) && (_debug.active))){
_debug.warning(e.message);
};
};
}
public function get domain():Domain{
return (_domain);
}
public function set sampleRate(_arg1:Number):void{
if (_arg1 <= 0){
_arg1 = 0.1;
};
if (_arg1 > 1){
_arg1 = 1;
};
_arg1 = Number(_arg1.toFixed(2));
_sampleRate = _arg1;
}
public function get version():String{
return (_version);
}
}
}//package com.google.analytics.v4
Section 272
//GoogleAnalyticsAPI (com.google.analytics.v4.GoogleAnalyticsAPI)
package com.google.analytics.v4 {
import com.google.analytics.core.*;
public interface GoogleAnalyticsAPI {
function setCampSourceKey(_arg1:String):void;
function getServiceMode():ServerOperationMode;
function resetSession():void;
function setLocalServerMode():void;
function setCampContentKey(_arg1:String):void;
function addOrganic(_arg1:String, _arg2:String):void;
function setDetectFlash(_arg1:Boolean):void;
function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object;
function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean;
function setCampTermKey(_arg1:String):void;
function setCampNameKey(_arg1:String):void;
function addIgnoredOrganic(_arg1:String):void;
function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void;
function setAllowLinker(_arg1:Boolean):void;
function getClientInfo():Boolean;
function getDetectFlash():Boolean;
function setCampaignTrack(_arg1:Boolean):void;
function createEventTracker(_arg1:String):EventTracker;
function setCookieTimeout(_arg1:int):void;
function setAllowAnchor(_arg1:Boolean):void;
function trackTrans():void;
function clearOrganic():void;
function trackPageview(_arg1:String=""):void;
function setLocalGifPath(_arg1:String):void;
function getVersion():String;
function getLocalGifPath():String;
function setVar(_arg1:String):void;
function clearIgnoredOrganic():void;
function setCampMediumKey(_arg1:String):void;
function addIgnoredRef(_arg1:String):void;
function setClientInfo(_arg1:Boolean):void;
function setCookiePath(_arg1:String):void;
function setSampleRate(_arg1:Number):void;
function setSessionTimeout(_arg1:int):void;
function setRemoteServerMode():void;
function clearIgnoredRef():void;
function setDomainName(_arg1:String):void;
function setDetectTitle(_arg1:Boolean):void;
function setAllowHash(_arg1:Boolean):void;
function getAccount():String;
function linkByPost(_arg1:Object, _arg2:Boolean=false):void;
function link(_arg1:String, _arg2:Boolean=false):void;
function setCampNOKey(_arg1:String):void;
function setLocalRemoteServerMode():void;
function cookiePathCopy(_arg1:String):void;
function getDetectTitle():Boolean;
}
}//package com.google.analytics.v4
Section 273
//Tracker (com.google.analytics.v4.Tracker)
package com.google.analytics.v4 {
import com.google.analytics.core.*;
import com.google.analytics.debug.*;
import com.google.analytics.data.*;
import com.google.analytics.utils.*;
import com.google.analytics.external.*;
import com.google.analytics.campaign.*;
public class Tracker implements GoogleAnalyticsAPI {
private const EVENT_TRACKER_LABEL_KEY_NUM:int = 3;
private const EVENT_TRACKER_VALUE_VALUE_NUM:int = 1;
private const EVENT_TRACKER_PROJECT_ID:int = 5;
private const EVENT_TRACKER_OBJECT_NAME_KEY_NUM:int = 1;
private const EVENT_TRACKER_TYPE_KEY_NUM:int = 2;
private var _adSense:AdSenseGlobals;
private var _eventTracker:X10;
private var _noSessionInformation:Boolean;// = false
private var _browserInfo:BrowserInfo;
private var _debug:DebugConfiguration;
private var _isNewVisitor:Boolean;// = false
private var _buffer:Buffer;
private var _config:Configuration;
private var _x10Module:X10;
private var _campaign:CampaignManager;
private var _formatedReferrer:String;
private var _timeStamp:Number;
private var _info:Environment;
private var _domainHash:Number;
private var _campaignInfo:CampaignInfo;
private var _gifRequest:GIFRequest;
private var _hasInitData:Boolean;// = false
private var _account:String;
public function Tracker(_arg1:String, _arg2:Configuration, _arg3:DebugConfiguration, _arg4:Environment, _arg5:Buffer, _arg6:GIFRequest, _arg7:AdSenseGlobals){
var _local8:String;
super();
_account = _arg1;
_config = _arg2;
_debug = _arg3;
_info = _arg4;
_buffer = _arg5;
_gifRequest = _arg6;
_adSense = _arg7;
if (!Utils.validateAccount(_arg1)){
_local8 = (("Account \"" + _arg1) + "\" is not valid.");
_debug.warning(_local8);
throw (new Error(_local8));
};
_initData();
}
private function _doTracking():Boolean{
if (((((!((_info.protocol == Protocols.file))) && (!((_info.protocol == Protocols.none))))) && (_isNotGoogleSearch()))){
return (true);
};
if (_config.allowLocalTracking){
return (true);
};
return (false);
}
public function addOrganic(_arg1:String, _arg2:String):void{
_debug.info((("addOrganic( " + [_arg1, _arg2].join(", ")) + " )"));
_config.organic.addSource(_arg1, _arg2);
}
public function setAllowLinker(_arg1:Boolean):void{
_config.allowLinker = _arg1;
_debug.info((("setAllowLinker( " + _config.allowLinker) + " )"));
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
var _local5:Boolean;
var _local6 = 2;
if (((!((_arg1 == ""))) && (!((_arg2 == ""))))){
_eventTracker.clearKey(EVENT_TRACKER_PROJECT_ID);
_eventTracker.clearValue(EVENT_TRACKER_PROJECT_ID);
_local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_OBJECT_NAME_KEY_NUM, _arg1);
_local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_TYPE_KEY_NUM, _arg2);
if (((_arg3) && (!((_arg3 == ""))))){
_local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_LABEL_KEY_NUM, _arg3);
_local6 = 3;
if (!isNaN(_arg4)){
_local5 = _eventTracker.setValue(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_VALUE_VALUE_NUM, _arg4);
_local6 = 4;
};
};
if (_local5){
_debug.info(((("valid event tracking call\ncategory: " + _arg1) + "\naction: ") + _arg2), VisualDebugMode.geek);
_sendXEvent(_eventTracker);
};
} else {
_debug.warning(((("event tracking call is not valid, failed!\ncategory: " + _arg1) + "\naction: ") + _arg2), VisualDebugMode.geek);
_local5 = false;
};
switch (_local6){
case 4:
_debug.info((("trackEvent( " + [_arg1, _arg2, _arg3, _arg4].join(", ")) + " )"));
break;
case 3:
_debug.info((("trackEvent( " + [_arg1, _arg2, _arg3].join(", ")) + " )"));
break;
case 2:
default:
_debug.info((("trackEvent( " + [_arg1, _arg2].join(", ")) + " )"));
};
return (_local5);
}
public function trackPageview(_arg1:String=""):void{
_debug.info((("trackPageview( " + _arg1) + " )"));
if (_doTracking()){
_initData();
_trackMetrics(_arg1);
_noSessionInformation = false;
} else {
_debug.warning((("trackPageview( " + _arg1) + " ) failed"));
};
}
public function setCookieTimeout(_arg1:int):void{
_config.conversionTimeout = _arg1;
_debug.info((("setCookieTimeout( " + _config.conversionTimeout) + " )"));
}
public function trackTrans():void{
_debug.warning("trackTrans() not implemented");
}
public function setClientInfo(_arg1:Boolean):void{
_config.detectClientInfo = _arg1;
_debug.info((("setClientInfo( " + _config.detectClientInfo) + " )"));
}
public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{
_debug.warning((("linkByPost( " + [_arg1, _arg2].join(", ")) + " ) not implemented"));
}
private function _initData():void{
var _local1:String;
var _local2:String;
if (!_hasInitData){
_updateDomainName();
_domainHash = _getDomainHash();
_timeStamp = Math.round((new Date().getTime() / 1000));
if (_debug.verbose){
_local1 = "";
_local1 = (_local1 + "_initData 0");
_local1 = (_local1 + ("\ndomain name: " + _config.domainName));
_local1 = (_local1 + ("\ndomain hash: " + _domainHash));
_local1 = (_local1 + (((("\ntimestamp: " + _timeStamp) + " (") + new Date((_timeStamp * 1000))) + ")"));
_debug.info(_local1, VisualDebugMode.geek);
};
};
if (_doTracking()){
_handleCookie();
};
if (!_hasInitData){
if (_doTracking()){
_formatedReferrer = _formatReferrer();
_browserInfo = new BrowserInfo(_config, _info);
_debug.info(("browserInfo: " + _browserInfo.toURLString()), VisualDebugMode.advanced);
if (_config.campaignTracking){
_campaign = new CampaignManager(_config, _debug, _buffer, _domainHash, _formatedReferrer, _timeStamp);
_campaignInfo = _campaign.getCampaignInformation(_info.locationSearch, _noSessionInformation);
_debug.info(("campaignInfo: " + _campaignInfo.toURLString()), VisualDebugMode.advanced);
};
};
_x10Module = new X10();
_eventTracker = new X10();
_hasInitData = true;
};
if (_config.hasSiteOverlay){
_debug.warning("Site Overlay is not supported");
};
if (_debug.verbose){
_local2 = "";
_local2 = (_local2 + "_initData (misc)");
_local2 = (_local2 + ("\nflash version: " + _info.flashVersion.toString(4)));
_local2 = (_local2 + ("\nprotocol: " + _info.protocol));
_local2 = (_local2 + (("\ndefault domain name (auto): \"" + _info.domainName) + "\""));
_local2 = (_local2 + ("\nlanguage: " + _info.language));
_local2 = (_local2 + ("\ndomain hash: " + _getDomainHash()));
_local2 = (_local2 + ("\nuser-agent: " + _info.userAgent));
_debug.info(_local2, VisualDebugMode.geek);
};
}
public function getDetectTitle():Boolean{
_debug.info("getDetectTitle()");
return (_config.detectTitle);
}
public function resetSession():void{
_debug.info("resetSession()");
_buffer.resetCurrentSession();
}
public function getClientInfo():Boolean{
_debug.info("getClientInfo()");
return (_config.detectClientInfo);
}
private function _sendXEvent(_arg1:X10=null):void{
var _local2:Variables;
var _local3:EventInfo;
var _local4:Variables;
var _local5:Variables;
_initData();
if (_takeSample()){
_local2 = new Variables();
_local2.URIencode = true;
_local3 = new EventInfo(true, _x10Module, _arg1);
_local4 = _local3.toVariables();
_local5 = _renderMetricsSearchVariables();
_local2.join(_local4, _local5);
_gifRequest.send(_account, _local2, false, true);
};
}
public function setDetectFlash(_arg1:Boolean):void{
_config.detectFlash = _arg1;
_debug.info((("setDetectFlash( " + _config.detectFlash) + " )"));
}
public function setCampNameKey(_arg1:String):void{
_config.campaignKey.UCCN = _arg1;
var _local2 = (("setCampNameKey( " + _config.campaignKey.UCCN) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCCN]"));
} else {
_debug.info(_local2);
};
}
private function _formatReferrer():String{
var _local2:String;
var _local3:URL;
var _local4:URL;
var _local1:String = _info.referrer;
if ((((_local1 == "")) || ((_local1 == "localhost")))){
_local1 = "-";
} else {
_local2 = _info.domainName;
_local3 = new URL(_local1);
_local4 = new URL(("http://" + _local2));
if (_local3.hostName == _local2){
return ("-");
};
if (_local4.domain == _local3.domain){
if (_local4.subDomain != _local3.subDomain){
_local1 = "0";
};
};
if ((((_local1.charAt(0) == "[")) && (_local1.charAt((_local1.length - 1))))){
_local1 = "-";
};
};
_debug.info(("formated referrer: " + _local1), VisualDebugMode.advanced);
return (_local1);
}
private function _visitCode():Number{
if (_debug.verbose){
_debug.info(("visitCode: " + _buffer.utma.sessionId), VisualDebugMode.geek);
};
return (_buffer.utma.sessionId);
}
public function createEventTracker(_arg1:String):EventTracker{
_debug.info((("createEventTracker( " + _arg1) + " )"));
return (new EventTracker(_arg1, this));
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{
_debug.warning((("addItem( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6].join(", ")) + " ) not implemented"));
}
public function clearIgnoredOrganic():void{
_debug.info("clearIgnoredOrganic()");
_config.organic.clearIgnoredKeywords();
}
public function setVar(_arg1:String):void{
var _local2:Variables;
if (((!((_arg1 == ""))) && (_isNotGoogleSearch()))){
_initData();
_buffer.utmv.domainHash = _domainHash;
_buffer.utmv.value = _arg1;
if (_debug.verbose){
_debug.info(_buffer.utmv.toString(), VisualDebugMode.geek);
};
_debug.info((("setVar( " + _arg1) + " )"));
if (_takeSample()){
_local2 = new Variables();
_local2.utmt = "var";
_gifRequest.send(_account, _local2);
};
} else {
_debug.warning((("setVar \"" + _arg1) + "\" is ignored"));
};
}
public function setDomainName(_arg1:String):void{
if (_arg1 == "auto"){
_config.domain.mode = DomainNameMode.auto;
} else {
if (_arg1 == "none"){
_config.domain.mode = DomainNameMode.none;
} else {
_config.domain.mode = DomainNameMode.custom;
_config.domain.name = _arg1;
};
};
_updateDomainName();
_debug.info((("setDomainName( " + _config.domainName) + " )"));
}
private function _updateDomainName():void{
var _local1:String;
if (_config.domain.mode == DomainNameMode.auto){
_local1 = _info.domainName;
if (_local1.substring(0, 4) == "www."){
_local1 = _local1.substring(4);
};
_config.domain.name = _local1;
};
_config.domainName = _config.domain.name.toLowerCase();
_debug.info(("domain name: " + _config.domainName), VisualDebugMode.advanced);
}
public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{
_debug.warning((("addTrans( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8].join(", ")) + " ) not implemented"));
return (null);
}
private function _renderMetricsSearchVariables(_arg1:String=""):Variables{
var _local4:Variables;
var _local2:Variables = new Variables();
_local2.URIencode = true;
var _local3:DocumentInfo = new DocumentInfo(_config, _info, _formatedReferrer, _arg1, _adSense);
_debug.info(("docInfo: " + _local3.toURLString()), VisualDebugMode.geek);
if (_config.campaignTracking){
_local4 = _campaignInfo.toVariables();
};
var _local5:Variables = _browserInfo.toVariables();
_local2.join(_local3.toVariables(), _local5, _local4);
return (_local2);
}
public function setCampContentKey(_arg1:String):void{
_config.campaignKey.UCCT = _arg1;
var _local2 = (("setCampContentKey( " + _config.campaignKey.UCCT) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCCT]"));
} else {
_debug.info(_local2);
};
}
private function _handleCookie():void{
var _local1:String;
var _local2:String;
var _local3:Array;
var _local4:String;
if (_config.allowLinker){
};
if (((_buffer.hasUTMA()) && (!(_buffer.utma.isEmpty())))){
if (((!(_buffer.hasUTMB())) || (!(_buffer.hasUTMC())))){
_buffer.updateUTMA(_timeStamp);
_noSessionInformation = true;
};
if (_debug.verbose){
_debug.info(("from cookie " + _buffer.utma.toString()), VisualDebugMode.geek);
};
} else {
_debug.info("create a new utma", VisualDebugMode.advanced);
_buffer.utma.domainHash = _domainHash;
_buffer.utma.sessionId = _getUniqueSessionId();
_buffer.utma.firstTime = _timeStamp;
_buffer.utma.lastTime = _timeStamp;
_buffer.utma.currentTime = _timeStamp;
_buffer.utma.sessionCount = 1;
if (_debug.verbose){
_debug.info(_buffer.utma.toString(), VisualDebugMode.geek);
};
_noSessionInformation = true;
_isNewVisitor = true;
};
if (((_adSense.gaGlobal) && ((_adSense.dh == String(_domainHash))))){
if (_adSense.sid){
_buffer.utma.currentTime = Number(_adSense.sid);
if (_debug.verbose){
_local1 = "";
_local1 = (_local1 + "AdSense sid found\n");
_local1 = (_local1 + (((("Override currentTime(" + _buffer.utma.currentTime) + ") from AdSense sid(") + Number(_adSense.sid)) + ")"));
_debug.info(_local1, VisualDebugMode.geek);
};
};
if (_isNewVisitor){
if (_adSense.sid){
_buffer.utma.lastTime = Number(_adSense.sid);
if (_debug.verbose){
_local2 = "";
_local2 = (_local2 + "AdSense sid found (new visitor)\n");
_local2 = (_local2 + (((("Override lastTime(" + _buffer.utma.lastTime) + ") from AdSense sid(") + Number(_adSense.sid)) + ")"));
_debug.info(_local2, VisualDebugMode.geek);
};
};
if (_adSense.vid){
_local3 = _adSense.vid.split(".");
_buffer.utma.sessionId = Number(_local3[0]);
_buffer.utma.firstTime = Number(_local3[1]);
if (_debug.verbose){
_local4 = "";
_local4 = (_local4 + "AdSense vid found (new visitor)\n");
_local4 = (_local4 + (((("Override sessionId(" + _buffer.utma.sessionId) + ") from AdSense vid(") + Number(_local3[0])) + ")\n"));
_local4 = (_local4 + (((("Override firstTime(" + _buffer.utma.firstTime) + ") from AdSense vid(") + Number(_local3[1])) + ")"));
_debug.info(_local4, VisualDebugMode.geek);
};
};
if (_debug.verbose){
_debug.info(("AdSense modified : " + _buffer.utma.toString()), VisualDebugMode.geek);
};
};
};
_buffer.utmb.domainHash = _domainHash;
if (isNaN(_buffer.utmb.trackCount)){
_buffer.utmb.trackCount = 0;
};
if (isNaN(_buffer.utmb.token)){
_buffer.utmb.token = _config.tokenCliff;
};
if (isNaN(_buffer.utmb.lastTime)){
_buffer.utmb.lastTime = _buffer.utma.currentTime;
};
_buffer.utmc.domainHash = _domainHash;
if (_debug.verbose){
_debug.info(_buffer.utmb.toString(), VisualDebugMode.advanced);
_debug.info(_buffer.utmc.toString(), VisualDebugMode.advanced);
};
}
public function setLocalServerMode():void{
_config.serverMode = ServerOperationMode.local;
_debug.info("setLocalServerMode()");
}
public function clearIgnoredRef():void{
_debug.info("clearIgnoredRef()");
_config.organic.clearIgnoredReferrals();
}
public function setCampSourceKey(_arg1:String):void{
_config.campaignKey.UCSR = _arg1;
var _local2 = (("setCampSourceKey( " + _config.campaignKey.UCSR) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCSR]"));
} else {
_debug.info(_local2);
};
}
public function getLocalGifPath():String{
_debug.info("getLocalGifPath()");
return (_config.localGIFpath);
}
public function setLocalGifPath(_arg1:String):void{
_config.localGIFpath = _arg1;
_debug.info((("setLocalGifPath( " + _config.localGIFpath) + " )"));
}
public function getVersion():String{
_debug.info("getVersion()");
return (_config.version);
}
public function setAllowAnchor(_arg1:Boolean):void{
_config.allowAnchor = _arg1;
_debug.info((("setAllowAnchor( " + _config.allowAnchor) + " )"));
}
private function _isNotGoogleSearch():Boolean{
var _local1:String = _config.domainName;
var _local2 = (_local1.indexOf("www.google.") < 0);
var _local3 = (_local1.indexOf(".google.") < 0);
var _local4 = (_local1.indexOf("google.") < 0);
var _local5 = (_local1.indexOf("google.org") > -1);
return (((((((((_local2) || (_local3))) || (_local4))) || (!((_config.cookiePath == "/"))))) || (_local5)));
}
public function setSampleRate(_arg1:Number):void{
if (_arg1 < 0){
_debug.warning("sample rate can not be negative, ignoring value.");
} else {
_config.sampleRate = _arg1;
};
_debug.info((("setSampleRate( " + _config.sampleRate) + " )"));
}
private function _takeSample():Boolean{
if (_debug.verbose){
_debug.info((((("takeSample: (" + (_visitCode() % 10000)) + ") < (") + (_config.sampleRate * 10000)) + ")"), VisualDebugMode.geek);
};
return (((_visitCode() % 10000) < (_config.sampleRate * 10000)));
}
public function setCookiePath(_arg1:String):void{
_config.cookiePath = _arg1;
_debug.info((("setCookiePath( " + _config.cookiePath) + " )"));
}
public function setAllowHash(_arg1:Boolean):void{
_config.allowDomainHash = _arg1;
_debug.info((("setAllowHash( " + _config.allowDomainHash) + " )"));
}
private function _generateUserDataHash():Number{
var _local1 = "";
_local1 = (_local1 + _info.appName);
_local1 = (_local1 + _info.appVersion);
_local1 = (_local1 + _info.language);
_local1 = (_local1 + _info.platform);
_local1 = (_local1 + _info.userAgent.toString());
_local1 = (_local1 + (((_info.screenWidth + "x") + _info.screenHeight) + _info.screenColorDepth));
_local1 = (_local1 + _info.referrer);
return (Utils.generateHash(_local1));
}
public function setCampNOKey(_arg1:String):void{
_config.campaignKey.UCNO = _arg1;
var _local2 = (("setCampNOKey( " + _config.campaignKey.UCNO) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCNO]"));
} else {
_debug.info(_local2);
};
}
public function addIgnoredOrganic(_arg1:String):void{
_debug.info((("addIgnoredOrganic( " + _arg1) + " )"));
_config.organic.addIgnoredKeyword(_arg1);
}
public function setLocalRemoteServerMode():void{
_config.serverMode = ServerOperationMode.both;
_debug.info("setLocalRemoteServerMode()");
}
public function cookiePathCopy(_arg1:String):void{
_debug.warning((("cookiePathCopy( " + _arg1) + " ) not implemented"));
}
public function setDetectTitle(_arg1:Boolean):void{
_config.detectTitle = _arg1;
_debug.info((("setDetectTitle( " + _config.detectTitle) + " )"));
}
public function setCampTermKey(_arg1:String):void{
_config.campaignKey.UCTR = _arg1;
var _local2 = (("setCampTermKey( " + _config.campaignKey.UCTR) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCTR]"));
} else {
_debug.info(_local2);
};
}
public function getServiceMode():ServerOperationMode{
_debug.info("getServiceMode()");
return (_config.serverMode);
}
private function _trackMetrics(_arg1:String=""):void{
var _local2:Variables;
var _local3:Variables;
var _local4:Variables;
var _local5:EventInfo;
if (_takeSample()){
_local2 = new Variables();
_local2.URIencode = true;
if (((_x10Module) && (_x10Module.hasData()))){
_local5 = new EventInfo(false, _x10Module);
_local3 = _local5.toVariables();
};
_local4 = _renderMetricsSearchVariables(_arg1);
_local2.join(_local3, _local4);
_gifRequest.send(_account, _local2);
};
}
public function setCampaignTrack(_arg1:Boolean):void{
_config.campaignTracking = _arg1;
_debug.info((("setCampaignTrack( " + _config.campaignTracking) + " )"));
}
public function addIgnoredRef(_arg1:String):void{
_debug.info((("addIgnoredRef( " + _arg1) + " )"));
_config.organic.addIgnoredReferral(_arg1);
}
public function clearOrganic():void{
_debug.info("clearOrganic()");
_config.organic.clearEngines();
}
public function getDetectFlash():Boolean{
_debug.info("getDetectFlash()");
return (_config.detectFlash);
}
public function setCampMediumKey(_arg1:String):void{
_config.campaignKey.UCMD = _arg1;
var _local2 = (("setCampMediumKey( " + _config.campaignKey.UCMD) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCMD]"));
} else {
_debug.info(_local2);
};
}
private function _getUniqueSessionId():Number{
var _local1:Number = ((Utils.generate32bitRandom() ^ _generateUserDataHash()) * 2147483647);
_debug.info(("Session ID: " + _local1), VisualDebugMode.geek);
return (_local1);
}
private function _getDomainHash():Number{
if (((((!(_config.domainName)) || ((_config.domainName == "")))) || ((_config.domain.mode == DomainNameMode.none)))){
_config.domainName = "";
return (1);
};
_updateDomainName();
if (_config.allowDomainHash){
return (Utils.generateHash(_config.domainName));
};
return (1);
}
public function setSessionTimeout(_arg1:int):void{
_config.sessionTimeout = _arg1;
_debug.info((("setSessionTimeout( " + _config.sessionTimeout) + " )"));
}
public function getAccount():String{
_debug.info("getAccount()");
return (_account);
}
public function link(_arg1:String, _arg2:Boolean=false):void{
_debug.warning((("link( " + [_arg1, _arg2].join(", ")) + " ) not implemented"));
}
public function setRemoteServerMode():void{
_config.serverMode = ServerOperationMode.remote;
_debug.info("setRemoteServerMode()");
}
}
}//package com.google.analytics.v4
Section 274
//AnalyticsTracker (com.google.analytics.AnalyticsTracker)
package com.google.analytics {
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import flash.events.*;
public interface AnalyticsTracker extends GoogleAnalyticsAPI, IEventDispatcher {
function set config(_arg1:Configuration):void;
function isReady():Boolean;
function get mode():String;
function set debug(_arg1:DebugConfiguration):void;
function get account():String;
function set mode(_arg1:String):void;
function get config():Configuration;
function get debug():DebugConfiguration;
function set account(_arg1:String):void;
function get visualDebug():Boolean;
function set visualDebug(_arg1:Boolean):void;
}
}//package com.google.analytics
Section 275
//API (com.google.analytics.API)
package com.google.analytics {
import com.google.analytics.utils.*;
public class API {
public static var version:Version = new Version();
version.major = 1;
version.minor = 0;
version.build = 1;
version.revision = "$Rev: 319 $ ".split(" ")[1];
}
}//package com.google.analytics
Section 276
//GATracker (com.google.analytics.GATracker)
package com.google.analytics {
import com.google.analytics.core.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import flash.events.*;
import flash.display.*;
import com.google.analytics.utils.*;
import com.google.analytics.external.*;
import com.google.analytics.events.*;
public class GATracker implements AnalyticsTracker {
private var _adSense:AdSenseGlobals;
private var _env:Environment;
private var _visualDebug:Boolean;
private var _idleTimer:IdleTimer;
private var _debug:DebugConfiguration;
private var _buffer:Buffer;
private var _config:Configuration;
private var _mode:String;
private var _display:DisplayObject;
private var _jsproxy:JavascriptProxy;
private var _dom:HTMLDOM;
private var _eventDispatcher:EventDispatcher;
private var _ready:Boolean;// = false
private var _gifRequest:GIFRequest;
private var _account:String;
private var _tracker:GoogleAnalyticsAPI;
public static var version:Version = API.version;
public static var autobuild:Boolean = true;
public function GATracker(_arg1:DisplayObject, _arg2:String, _arg3:String="AS3", _arg4:Boolean=false, _arg5:Configuration=null, _arg6:DebugConfiguration=null){
_ready = false;
super();
_display = _arg1;
_eventDispatcher = new EventDispatcher(this);
_tracker = new TrackerCache();
this.account = _arg2;
this.mode = _arg3;
this.visualDebug = _arg4;
if (!_arg6){
this.debug = new DebugConfiguration();
};
if (!_arg5){
this.config = new Configuration(_arg6);
};
if (autobuild){
_factory();
};
}
public function link(_arg1:String, _arg2:Boolean=false):void{
_tracker.link(_arg1, _arg2);
}
public function addOrganic(_arg1:String, _arg2:String):void{
_tracker.addOrganic(_arg1, _arg2);
}
public function setAllowLinker(_arg1:Boolean):void{
_tracker.setAllowLinker(_arg1);
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
return (_tracker.trackEvent(_arg1, _arg2, _arg3, _arg4));
}
public function setCookieTimeout(_arg1:int):void{
_tracker.setCookieTimeout(_arg1);
}
public function trackTrans():void{
_tracker.trackTrans();
}
public function trackPageview(_arg1:String=""):void{
_tracker.trackPageview(_arg1);
}
public function getClientInfo():Boolean{
return (_tracker.getClientInfo());
}
public function setClientInfo(_arg1:Boolean):void{
_tracker.setClientInfo(_arg1);
}
public function get account():String{
return (_account);
}
public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{
_tracker.linkByPost(_arg1, _arg2);
}
public function getDetectTitle():Boolean{
return (_tracker.getDetectTitle());
}
public function dispatchEvent(_arg1:Event):Boolean{
return (_eventDispatcher.dispatchEvent(_arg1));
}
public function get config():Configuration{
return (_config);
}
public function set mode(_arg1:String):void{
_mode = _arg1;
}
public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
_eventDispatcher.removeEventListener(_arg1, _arg2, _arg3);
}
public function setDetectFlash(_arg1:Boolean):void{
_tracker.setDetectFlash(_arg1);
}
public function resetSession():void{
_tracker.resetSession();
}
public function setCampNameKey(_arg1:String):void{
_tracker.setCampNameKey(_arg1);
}
public function get debug():DebugConfiguration{
return (_debug);
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{
_tracker.addItem(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
private function _bridgeFactory():GoogleAnalyticsAPI{
debug.info(((("GATracker (Bridge) v" + version) + "\naccount: ") + account));
return (new Bridge(account, _debug, _jsproxy));
}
public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{
_eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public function clearIgnoredOrganic():void{
_tracker.clearIgnoredOrganic();
}
public function set account(_arg1:String):void{
_account = _arg1;
}
public function setVar(_arg1:String):void{
_tracker.setVar(_arg1);
}
public function build():void{
if (!isReady()){
_factory();
};
}
public function setDomainName(_arg1:String):void{
_tracker.setDomainName(_arg1);
}
public function createEventTracker(_arg1:String):EventTracker{
return (_tracker.createEventTracker(_arg1));
}
public function set config(_arg1:Configuration):void{
_config = _arg1;
}
public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{
return (_tracker.addTrans(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8));
}
public function setCampSourceKey(_arg1:String):void{
_tracker.setCampSourceKey(_arg1);
}
public function setCampContentKey(_arg1:String):void{
_tracker.setCampContentKey(_arg1);
}
public function willTrigger(_arg1:String):Boolean{
return (_eventDispatcher.willTrigger(_arg1));
}
public function setLocalServerMode():void{
_tracker.setLocalServerMode();
}
public function isReady():Boolean{
return (_ready);
}
public function getLocalGifPath():String{
return (_tracker.getLocalGifPath());
}
public function setAllowAnchor(_arg1:Boolean):void{
_tracker.setAllowAnchor(_arg1);
}
public function clearIgnoredRef():void{
_tracker.clearIgnoredRef();
}
public function get mode():String{
return (_mode);
}
public function set debug(_arg1:DebugConfiguration):void{
_debug = _arg1;
}
public function setLocalGifPath(_arg1:String):void{
_tracker.setLocalGifPath(_arg1);
}
public function getVersion():String{
return (_tracker.getVersion());
}
public function setSampleRate(_arg1:Number):void{
_tracker.setSampleRate(_arg1);
}
public function setCookiePath(_arg1:String):void{
_tracker.setCookiePath(_arg1);
}
public function setAllowHash(_arg1:Boolean):void{
_tracker.setAllowHash(_arg1);
}
public function setCampNOKey(_arg1:String):void{
_tracker.setCampNOKey(_arg1);
}
public function addIgnoredOrganic(_arg1:String):void{
_tracker.addIgnoredOrganic(_arg1);
}
public function setLocalRemoteServerMode():void{
_tracker.setLocalRemoteServerMode();
}
public function cookiePathCopy(_arg1:String):void{
_tracker.cookiePathCopy(_arg1);
}
private function _factory():void{
var _local1:GoogleAnalyticsAPI;
var _local2:TrackerCache;
_jsproxy = new JavascriptProxy(debug);
if (visualDebug){
debug.layout = new Layout(debug, _display);
debug.active = visualDebug;
};
_local2 = (_tracker as TrackerCache);
switch (mode){
case TrackerMode.BRIDGE:
_local1 = _bridgeFactory();
break;
case TrackerMode.AS3:
default:
_local1 = _trackerFactory();
};
if (!_local2.isEmpty()){
_local2.tracker = _local1;
_local2.flush();
};
_tracker = _local1;
_ready = true;
dispatchEvent(new AnalyticsEvent(AnalyticsEvent.READY, this));
}
public function setCampTermKey(_arg1:String):void{
_tracker.setCampTermKey(_arg1);
}
private function _trackerFactory():GoogleAnalyticsAPI{
debug.info(((("GATracker (AS3) v" + version) + "\naccount: ") + account));
_adSense = new AdSenseGlobals(debug);
_dom = new HTMLDOM(debug);
_dom.cacheProperties();
_env = new Environment("", "", "", debug, _dom);
_buffer = new Buffer(config, debug, false);
_gifRequest = new GIFRequest(config, debug, _buffer, _env);
_idleTimer = new IdleTimer(config, debug, _display, _buffer);
_env.url = _display.stage.loaderInfo.url;
return (new Tracker(account, config, debug, _env, _buffer, _gifRequest, _adSense));
}
public function setDetectTitle(_arg1:Boolean):void{
_tracker.setDetectTitle(_arg1);
}
public function getServiceMode():ServerOperationMode{
return (_tracker.getServiceMode());
}
public function clearOrganic():void{
_tracker.clearOrganic();
}
public function setCampaignTrack(_arg1:Boolean):void{
_tracker.setCampaignTrack(_arg1);
}
public function addIgnoredRef(_arg1:String):void{
_tracker.addIgnoredRef(_arg1);
}
public function set visualDebug(_arg1:Boolean):void{
_visualDebug = _arg1;
}
public function setCampMediumKey(_arg1:String):void{
_tracker.setCampMediumKey(_arg1);
}
public function setSessionTimeout(_arg1:int):void{
_tracker.setSessionTimeout(_arg1);
}
public function getDetectFlash():Boolean{
return (_tracker.getDetectFlash());
}
public function get visualDebug():Boolean{
return (_visualDebug);
}
public function getAccount():String{
return (_tracker.getAccount());
}
public function hasEventListener(_arg1:String):Boolean{
return (_eventDispatcher.hasEventListener(_arg1));
}
public function setRemoteServerMode():void{
_tracker.setRemoteServerMode();
}
}
var _local1:* = ServerOperationMode;
return (_local1);
}//package com.google.analytics
Section 277
//boss_head_839 (DragoAdventure2_fla.boss_head_839)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class boss_head_839 extends MovieClip {
public var eye10:眼睛影子;
public var eye11:眼睛影子;
public var eye21:眼睛影子;
public var eye20:眼睛影子;
public var eye30:眼睛影子;
public var eye31:眼睛影子;
public var eye41:眼睛影子;
public var eye40:眼睛影子;
public var eye51:眼睛影子;
public var eye50:眼睛影子;
public var eye00:眼睛;
public var eye01:眼睛;
}
}//package DragoAdventure2_fla
Section 278
//boss1_health_811 (DragoAdventure2_fla.boss1_health_811)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class boss1_health_811 extends MovieClip {
public var health:MovieClip;
}
}//package DragoAdventure2_fla
Section 279
//cannonBall_1244 (DragoAdventure2_fla.cannonBall_1244)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class cannonBall_1244 extends MovieClip {
public function cannonBall_1244(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
}
}
}//package DragoAdventure2_fla
Section 280
//dargo_jump_246 (DragoAdventure2_fla.dargo_jump_246)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class dargo_jump_246 extends MovieClip {
public function dargo_jump_246(){
addFrameScript(4, frame5, 13, frame14, 19, frame20);
}
function frame14(){
stop();
}
function frame20(){
gotoAndStop(1);
}
function frame5(){
stop();
}
}
}//package DragoAdventure2_fla
Section 281
//dargo2__jump_648 (DragoAdventure2_fla.dargo2__jump_648)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class dargo2__jump_648 extends MovieClip {
public function dargo2__jump_648(){
addFrameScript(4, frame5, 13, frame14, 19, frame20);
}
function frame14(){
stop();
}
function frame20(){
gotoAndStop(1);
}
function frame5(){
stop();
}
}
}//package DragoAdventure2_fla
Section 282
//dargo2_stone_652 (DragoAdventure2_fla.dargo2_stone_652)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class dargo2_stone_652 extends MovieClip {
public function dargo2_stone_652(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
}
}
}//package DragoAdventure2_fla
Section 283
//enemies_1033 (DragoAdventure2_fla.enemies_1033)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class enemies_1033 extends MovieClip {
public var Lizard_5:蜥蜴士兵;
public var Lizard_4:蜥蜴士兵;
public var h_Lizard_5:MovieClip;
public var h_Lizard_4:MovieClip;
public var firewolf_2:火棍狼2;
public var firewolf_3:火棍狼2;
public var firewolf_4:火棍狼2;
public var firewolf_0:火棍狼2;
public var h_firewolf_0:MovieClip;
public var h_firewolf_1:MovieClip;
public var h_firewolf_4:MovieClip;
public var h_firewolf_2:MovieClip;
public var h_firewolf_3:MovieClip;
public var firewolf_1:火棍狼2;
public var h_Lizard_0:MovieClip;
public var h_Lizard_2:MovieClip;
public var h_Lizard_3:MovieClip;
public var Lizard_2:蜥蜴士兵;
public var Lizard_0:蜥蜴士兵;
public var Lizard_3:蜥蜴士兵;
}
}//package DragoAdventure2_fla
Section 284
//enemies_162 (DragoAdventure2_fla.enemies_162)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class enemies_162 extends MovieClip {
public var h_palmcivet01:MovieClip;
public var h_palmcivet06:MovieClip;
public var _spider02:蜘蛛动;
public var h_palmcivet02:MovieClip;
public var h_palmcivet04:MovieClip;
public var h_palmcivet08:MovieClip;
public var h_palmcivet05:MovieClip;
public var _palmcivet02:狸猫动;
public var _palmcivet03:狸猫动;
public var _palmcivet07:狸猫动;
public var _palmcivet09:狸猫动;
public var _palmcivet04:狸猫动;
public var _palmcivet05:狸猫动;
public var _palmcivet08:狸猫动;
public var _palmcivet01:狸猫动;
public var _palmcivet06:狸猫动;
public var h_spider02:MovieClip;
public var h_palmcivet03:MovieClip;
public var h_palmcivet07:MovieClip;
public var h_palmcivet09:MovieClip;
}
}//package DragoAdventure2_fla
Section 285
//enemies_262 (DragoAdventure2_fla.enemies_262)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class enemies_262 extends MovieClip {
public var _spider01:蜘蛛动;
public var _spider02:蜘蛛动;
public var h_spider01:MovieClip;
public var h_spider02:MovieClip;
}
}//package DragoAdventure2_fla
Section 286
//enemies_336 (DragoAdventure2_fla.enemies_336)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class enemies_336 extends MovieClip {
public var len305:碰碰车1;
public var len215:碰碰车1;
public var len400:碰碰车1;
}
}//package DragoAdventure2_fla
Section 287
//enemies_370 (DragoAdventure2_fla.enemies_370)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class enemies_370 extends MovieClip {
public var len336:碰碰车1;
}
}//package DragoAdventure2_fla
Section 288
//enemies_932 (DragoAdventure2_fla.enemies_932)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class enemies_932 extends MovieClip {
public var firewolf_0:火棍狼2;
public var h_firewolf_0:MovieClip;
public var h_firewolf_1:MovieClip;
public var firewolf_1:火棍狼2;
public var h_Lizard_0:MovieClip;
public var h_Lizard_2:MovieClip;
public var h_Lizard_1:MovieClip;
public var Lizard_1:蜥蜴士兵;
public var Lizard_2:蜥蜴士兵;
public var Lizard_0:蜥蜴士兵;
}
}//package DragoAdventure2_fla
Section 289
//G2_Symbol26_590 (DragoAdventure2_fla.G2_Symbol26_590)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class G2_Symbol26_590 extends MovieClip {
public function G2_Symbol26_590(){
addFrameScript(17, frame18);
}
function frame18(){
stop();
}
}
}//package DragoAdventure2_fla
Section 290
//G2_Symbol32_602 (DragoAdventure2_fla.G2_Symbol32_602)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class G2_Symbol32_602 extends MovieClip {
public function G2_Symbol32_602(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
}
}
}//package DragoAdventure2_fla
Section 291
//gameover_671 (DragoAdventure2_fla.gameover_671)
package DragoAdventure2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class gameover_671 extends MovieClip {
public var over_clear:MovieClip;
public var txtEffect:MovieClip;
public var scoreTxt:TextField;
public var nameTxt:TextField;
}
}//package DragoAdventure2_fla
Section 292
//GC_dad_attack_fire_641 (DragoAdventure2_fla.GC_dad_attack_fire_641)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class GC_dad_attack_fire_641 extends MovieClip {
public function GC_dad_attack_fire_641(){
addFrameScript(18, frame19);
}
function frame19(){
stop();
}
}
}//package DragoAdventure2_fla
Section 293
//GC_dad_attack_fireGroup_434 (DragoAdventure2_fla.GC_dad_attack_fireGroup_434)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class GC_dad_attack_fireGroup_434 extends MovieClip {
public function GC_dad_attack_fireGroup_434(){
addFrameScript(65, frame66);
}
function frame66(){
stop();
}
}
}//package DragoAdventure2_fla
Section 294
//GC_dragon_run_418 (DragoAdventure2_fla.GC_dragon_run_418)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class GC_dragon_run_418 extends MovieClip {
public function GC_dragon_run_418(){
addFrameScript(286, frame287);
}
function frame287(){
stop();
}
}
}//package DragoAdventure2_fla
Section 295
//GC_dragon_stand_421 (DragoAdventure2_fla.GC_dragon_stand_421)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class GC_dragon_stand_421 extends MovieClip {
public function GC_dragon_stand_421(){
addFrameScript(29, frame30);
}
function frame30(){
gotoAndPlay(6);
}
}
}//package DragoAdventure2_fla
Section 296
//GC2_ani_623 (DragoAdventure2_fla.GC2_ani_623)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class GC2_ani_623 extends MovieClip {
public var key_a:MovieClip;
}
}//package DragoAdventure2_fla
Section 297
//GC2_ani_KB_640 (DragoAdventure2_fla.GC2_ani_KB_640)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class GC2_ani_KB_640 extends MovieClip {
public function GC2_ani_KB_640(){
addFrameScript(8, frame9);
}
function frame9(){
gotoAndPlay(5);
}
}
}//package DragoAdventure2_fla
Section 298
//GC2_otherPart_609 (DragoAdventure2_fla.GC2_otherPart_609)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class GC2_otherPart_609 extends MovieClip {
public var _mc:MovieClip;
}
}//package DragoAdventure2_fla
Section 299
//gethurt_805 (DragoAdventure2_fla.gethurt_805)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class gethurt_805 extends MovieClip {
public function gethurt_805(){
addFrameScript(13, frame14, 19, frame20, 41, frame42);
}
function frame14(){
gotoAndPlay(1);
}
function frame20(){
stop();
}
function frame42(){
gotoAndStop("falldown");
}
}
}//package DragoAdventure2_fla
Section 300
//indarkmc_837 (DragoAdventure2_fla.indarkmc_837)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class indarkmc_837 extends MovieClip {
public var hitRange0:MovieClip;
public var hitRange1:MovieClip;
public var hand0:手;
public var hand1:手;
public var bossHead:MovieClip;
}
}//package DragoAdventure2_fla
Section 301
//label_748 (DragoAdventure2_fla.label_748)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class label_748 extends MovieClip {
public var flag:MovieClip;
}
}//package DragoAdventure2_fla
Section 302
//LanguageSelectPopup_747 (DragoAdventure2_fla.LanguageSelectPopup_747)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class LanguageSelectPopup_747 extends MovieClip {
public var l_se:MovieClip;
public var l_br:MovieClip;
public var l_in:MovieClip;
public var l_cn:MovieClip;
public var l_tr:MovieClip;
public var l_de:MovieClip;
public var l_my:MovieClip;
public var _blank:MovieClip;
public var l_es:MovieClip;
public var l_en_uk:MovieClip;
public var l_fr:MovieClip;
public var l_en_us:MovieClip;
public var l_pl:MovieClip;
public var l_pt:MovieClip;
public var l_ph:MovieClip;
public var l_nl:MovieClip;
public var l_id:MovieClip;
public var l_it:MovieClip;
public var l_jp:MovieClip;
public var l_ru:MovieClip;
}
}//package DragoAdventure2_fla
Section 303
//level00_enemies_486 (DragoAdventure2_fla.level00_enemies_486)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class level00_enemies_486 extends MovieClip {
public var s1:MovieClip;
public var s0:MovieClip;
public var hs1:MovieClip;
public var hs0:MovieClip;
public var n3:MovieClip;
public var hn3:MovieClip;
}
}//package DragoAdventure2_fla
Section 304
//level00_visible_496 (DragoAdventure2_fla.level00_visible_496)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class level00_visible_496 extends MovieClip {
public var thru2:MovieClip;
public var thru3:MovieClip;
public var thru1:MovieClip;
public var thru0:MovieClip;
}
}//package DragoAdventure2_fla
Section 305
//level01_enemies_400 (DragoAdventure2_fla.level01_enemies_400)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class level01_enemies_400 extends MovieClip {
public var hn1:MovieClip;
public var hn2:MovieClip;
public var hp5:MovieClip;
public var hp6:MovieClip;
public var n1:MovieClip;
public var n2:MovieClip;
public var n5:MovieClip;
public var n0:MovieClip;
public var n4:MovieClip;
public var n3:MovieClip;
public var p5:MovieClip;
public var p6:MovieClip;
public var hn3:MovieClip;
public var hn4:MovieClip;
public var hn5:MovieClip;
public var hn0:MovieClip;
}
}//package DragoAdventure2_fla
Section 306
//level31_properties_1154 (DragoAdventure2_fla.level31_properties_1154)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class level31_properties_1154 extends MovieClip {
public var modify_100:_modifyScaleMc;
public var riseDoorMc:升起门;
public var boss_range:MovieClip;
public var ground_flash:MovieClip;
public var solid_plat:MovieClip;
public var routeArrow:MovieClip;
public var health_mc:MovieClip;
public var staticCannon0:cannonBall静止;
public var diamondRed:red;
public var modify_050:_modifyScaleMc;
public var fireCreate:fireElementCreateMc;
public var earthCreate:earthElementCreateMc;
}
}//package DragoAdventure2_fla
Section 307
//level40_properties_1103 (DragoAdventure2_fla.level40_properties_1103)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class level40_properties_1103 extends MovieClip {
public var r0106_0000_0756_0062:_getRangeMc;
public var level40_anniu0:anniusgdfg;
public var level40_anniu1:anniusgdfg;
public var level40_anniu3:anniusgdfg;
public var level40_anniu2:anniusgdfg;
public var fairiesNotEnough:MovieClip;
public var ground_flash:MovieClip;
public var level4_range0:MovieClip;
public var tspai0:飞技能提示;
public var showForAnniu0:按路径移动平台0;
public var shooter_0:shooerManMc;
public var pathPlat2:按路径移动平台2;
public var pathPlat1:按路径移动平台1;
public var pathPlat3:按路径移动平台3;
public var level4_bird0:始祖鸟;
public var move:MovieClip;
public var r0106_0000_0000_0062:_getRangeMc;
}
}//package DragoAdventure2_fla
Section 308
//level40_thru_1113 (DragoAdventure2_fla.level40_thru_1113)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class level40_thru_1113 extends MovieClip {
public var stone_n_02:stoneColumn;
public var stone_s_01:stoneColumn;
}
}//package DragoAdventure2_fla
Section 309
//levelcomplete_683 (DragoAdventure2_fla.levelcomplete_683)
package DragoAdventure2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class levelcomplete_683 extends MovieClip {
public var levelScoreTxt:TextField;
public var timeScoreTxt:TextField;
public var totalScoreTxt:TextField;
}
}//package DragoAdventure2_fla
Section 310
//move_pf_307 (DragoAdventure2_fla.move_pf_307)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class move_pf_307 extends MovieClip {
public var m:level1_pf;
public var h:MovieClip;
}
}//package DragoAdventure2_fla
Section 311
//move_pf0_0_1111 (DragoAdventure2_fla.move_pf0_0_1111)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class move_pf0_0_1111 extends MovieClip {
public var m:level4_plat;
public var h:MovieClip;
}
}//package DragoAdventure2_fla
Section 312
//move_pf0_1075 (DragoAdventure2_fla.move_pf0_1075)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class move_pf0_1075 extends MovieClip {
public var m:level4_plat;
public var h:MovieClip;
}
}//package DragoAdventure2_fla
Section 313
//move_pf0_176 (DragoAdventure2_fla.move_pf0_176)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class move_pf0_176 extends MovieClip {
public var m:level2_plat;
public var h:MovieClip;
}
}//package DragoAdventure2_fla
Section 314
//move_pf0_490 (DragoAdventure2_fla.move_pf0_490)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class move_pf0_490 extends MovieClip {
public var m:MovieClip;
public var h:MovieClip;
}
}//package DragoAdventure2_fla
Section 315
//move_pf1_0_1110 (DragoAdventure2_fla.move_pf1_0_1110)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class move_pf1_0_1110 extends MovieClip {
public var m:level5_platdsfhdfh;
public var h:MovieClip;
}
}//package DragoAdventure2_fla
Section 316
//move_pf1_1031 (DragoAdventure2_fla.move_pf1_1031)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class move_pf1_1031 extends MovieClip {
public var m:level5_platdsfhdfh;
public var h:MovieClip;
}
}//package DragoAdventure2_fla
Section 317
//move_pf2_180 (DragoAdventure2_fla.move_pf2_180)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class move_pf2_180 extends MovieClip {
public var m:level2_plat;
public var h:MovieClip;
}
}//package DragoAdventure2_fla
Section 318
//newGameMc_49 (DragoAdventure2_fla.newGameMc_49)
package DragoAdventure2_fla {
import flash.display.*;
import code.*;
public dynamic class newGameMc_49 extends MovieClip {
public function newGameMc_49(){
addFrameScript(0, frame1);
}
function frame1(){
new Root((this.root as MovieClip));
}
}
}//package DragoAdventure2_fla
Section 319
//properties_1008 (DragoAdventure2_fla.properties_1008)
package DragoAdventure2_fla {
import flash.display.*;
import code.game.object.level5.*;
public dynamic class properties_1008 extends MovieClip {
public var fairy2:精灵1;
public var fairy3:精灵1;
public var level5PathPlat0_solid:solid_obstacle_38;
public var fairy1:精灵1;
public var initOut:Level5BackGroundSwitch;
public var r0000_1896_0330_0145:_getRangeMc;
public var fairiesNotEnough:MovieClip;
public var ground_flash:MovieClip;
public var level5FinalMc:MovieClip;
public var level5PathPlat1_solid:MovieClip;
public var level5FinalMc2:MovieClip;
public var routeArrow:MovieClip;
public var r0000_0000_0330_0145:_getRangeMc;
public var fairy0:精灵1;
public var PedrailThruMc_n:第六关移动平台2;
public var wallRight:motionWall;
public var level5PathPlat0:传送平台0;
public var level5PathPlat1:传送平台1;
public var move:MovieClip;
public var diamondIniLocMc:MovieClip;
public var wallLeft:motionWall;
}
}//package DragoAdventure2_fla
Section 320
//properties_1050 (DragoAdventure2_fla.properties_1050)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class properties_1050 extends MovieClip {
public var motianlun_n_4:MotianlunMc;
}
}//package DragoAdventure2_fla
Section 321
//properties_1070 (DragoAdventure2_fla.properties_1070)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class properties_1070 extends MovieClip {
public var level4_range1:MovieClip;
public var level4_range2:MovieClip;
public var level4_range0:MovieClip;
public var shooter_0:shooerManMc;
public var shooter_1:shooerManMc;
public var level4_bird1:始祖鸟;
public var level4_bird2:始祖鸟;
public var level4_bird0:始祖鸟;
public var move:MovieClip;
public var motianlun_n_1:MotianlunMc;
}
}//package DragoAdventure2_fla
Section 322
//properties_1212 (DragoAdventure2_fla.properties_1212)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class properties_1212 extends MovieClip {
public var an_niu1:anniusgdfg;
public var magmaMc:magmaCon;
public var r0000_0000_6520_0040:_getRangeMc;
public var _right:level3旋转平台;
public var stopMc:MovieClip;
public var for_anniu0:MovieClip;
public var r0000_0000_0000_0040:_getRangeMc;
public var an_niu0:anniusgdfg;
public var r0000_0000_6614_0040:_getRangeMc;
public var _s0_02:rectangleTrack_level3;
public var r0000_0000_4315_1965:_getRangeMc;
public var _3:move_pf2_level3;
public var _5:move_pf0;
public var for_anniu1:move_pf0;
public var _1:move_pf1_level3;
public var _left:level3旋转平台;
public var start_stone_mc:startStoneMc;
}
}//package DragoAdventure2_fla
Section 323
//properties_171 (DragoAdventure2_fla.properties_171)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class properties_171 extends MovieClip {
public var ground_flash:MovieClip;
public var fairiesNotEnough:MovieClip;
public var fairies_element_mc:FairiesToElementMc;
public var mushroom_01:MovieClip;
public var mushroom_05:MovieClip;
public var mushroom_02:MovieClip;
public var r0000_0000_0000_0045:_getRangeMc;
public var ranttan2:藤条;
public var r0000_0000_0000_1810:_getRangeMc;
public var _door02:移动门;
public var _s0_04:rectangleTrack;
public var mushroom_03:MovieClip;
public var move1:MovieClip;
public var move0:MovieClip;
public var tspai1:石化技能提示;
public var _02:mushroom;
public var _01:mushroom;
public var _03:mushroom;
public var _06:mushroom;
public var tspai0:地震技能提示;
public var mushroom_06:MovieClip;
public var _05:mushroom;
public var _04:mushroom;
public var _s1_04:rectangleTrack1;
public var move:MovieClip;
public var r0000_0000_3032_0775:_getRangeMc;
}
}//package DragoAdventure2_fla
Section 324
//properties_263 (DragoAdventure2_fla.properties_263)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class properties_263 extends MovieClip {
public var _1625_0000_0000_0740:_getRangeMc;
public var _0000_0000_0000_0740:_getRangeMc;
public var _0000_0000_0000_1561:_getRangeMc;
}
}//package DragoAdventure2_fla
Section 325
//properties_298 (DragoAdventure2_fla.properties_298)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class properties_298 extends MovieClip {
public var cpath:MovieClip;
public var dajiqi_star:red;
public var dajiqi_star_motion:MovieClip;
public var s_ball_0:ball0;
public var s_ball_2:ball2;
public var s_ball_1:ball1;
public var dajiqi_1:打击东东2;
public var h_ball_0:ball0;
public var h_ball_1:ball1;
public var motianlun_s_4:MovieClip;
public var move:MovieClip;
public var motianlun_n_4:MovieClip;
}
}//package DragoAdventure2_fla
Section 326
//properties_371 (DragoAdventure2_fla.properties_371)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class properties_371 extends MovieClip {
public var dajiqi_0:打击东东;
public var unvisible:MovieClip;
public var ball_1:ball1;
public var ball_2:ball2;
public var ball_0:ball0;
}
}//package DragoAdventure2_fla
Section 327
//properties_489 (DragoAdventure2_fla.properties_489)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class properties_489 extends MovieClip {
public var move_pf0_0:MovieClip;
public var unvisible:MovieClip;
public var anniu:MovieClip;
public var _0000_0000_0000_0000:_getRangeMc;
public var _0000_0400_0000_0000:_getRangeMc;
public var move_pf1_1:MovieClip;
}
}//package DragoAdventure2_fla
Section 328
//properties_523 (DragoAdventure2_fla.properties_523)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class properties_523 extends MovieClip {
public var fullHeart:满血ing;
public var extraHeart:心ing;
public var oneHeart:一滴血ing;
public var oneLife:条生命ing;
public var filtersMc:MovieClip;
}
}//package DragoAdventure2_fla
Section 329
//properties_794 (DragoAdventure2_fla.properties_794)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class properties_794 extends MovieClip {
public var boss_range:MovieClip;
public var thru_obstacle:MovieClip;
public var health_mc:MovieClip;
public var createWaterMc:waterElementCreateMc;
public var laserMc:MovieClip;
public var _aaa0:level6门平台;
public var _aaa1:level6门平台;
}
}//package DragoAdventure2_fla
Section 330
//properties_832 (DragoAdventure2_fla.properties_832)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class properties_832 extends MovieClip {
public var bottomPlat:MovieClip;
public var boss_range:MovieClip;
public var health_mc:MovieClip;
public var fireCreate:fireElementCreateMc;
public var earthCreate:earthElementCreateMc;
public var dark_mc:MovieClip;
}
}//package DragoAdventure2_fla
Section 331
//properties_915 (DragoAdventure2_fla.properties_915)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class properties_915 extends MovieClip {
public var forLevel51:断裂平台2;
}
}//package DragoAdventure2_fla
Section 332
//scoreMc_548 (DragoAdventure2_fla.scoreMc_548)
package DragoAdventure2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class scoreMc_548 extends MovieClip {
public var score:TextField;
}
}//package DragoAdventure2_fla
Section 333
//shopScreen_511 (DragoAdventure2_fla.shopScreen_511)
package DragoAdventure2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class shopScreen_511 extends MovieClip {
public var fullHeart:满血ing;
public var extraHeart:心ing;
public var oneHeart_txt:TextField;
public var oneLife_txt:TextField;
public var fullHeart_txt:TextField;
public var oneHeart:一滴血ing;
public var oneLife:条生命ing;
public var drago_mc:dragoMcCla;
public var arrow_mc:MovieClip;
public var txt_mc:MovieClip;
public var extraHeart_txt:TextField;
}
}//package DragoAdventure2_fla
Section 334
//solid_obstacle_40_990 (DragoAdventure2_fla.solid_obstacle_40_990)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class solid_obstacle_40_990 extends MovieClip {
public var forPathPlatSolid0:MovieClip;
public var forPathPlatSolid1:MovieClip;
}
}//package DragoAdventure2_fla
Section 335
//solid_obstacle_974 (DragoAdventure2_fla.solid_obstacle_974)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class solid_obstacle_974 extends MovieClip {
public var forPathPlatSolid3:MovieClip;
public var forPathPlatSolid2:MovieClip;
}
}//package DragoAdventure2_fla
Section 336
//still_159 (DragoAdventure2_fla.still_159)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class still_159 extends MovieClip {
public var stone:MovieClip;
}
}//package DragoAdventure2_fla
Section 337
//still_52 (DragoAdventure2_fla.still_52)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class still_52 extends MovieClip {
public var laolong:MovieClip;
public var s_stone:地面2;
public var cai0:木桩;
public var cai1:木桩;
}
}//package DragoAdventure2_fla
Section 338
//TEMPBTN_667 (DragoAdventure2_fla.TEMPBTN_667)
package DragoAdventure2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class TEMPBTN_667 extends MovieClip {
public var _txt:TextField;
}
}//package DragoAdventure2_fla
Section 339
//tempCon_666 (DragoAdventure2_fla.tempCon_666)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class tempCon_666 extends MovieClip {
public var temp0:MovieClip;
public var part0:MovieClip;
public var part2:MovieClip;
public var part1:MovieClip;
public var temp1:MovieClip;
public var temp2:MovieClip;
public var temp4:MovieClip;
public var temp5:MovieClip;
public var temp3:MovieClip;
public var temp6:MovieClip;
}
}//package DragoAdventure2_fla
Section 340
//thru_obstacle_813 (DragoAdventure2_fla.thru_obstacle_813)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class thru_obstacle_813 extends MovieClip {
public var _0:level6门平台;
public var _2:level6门平台;
public var _1:level6门平台;
public var _3:level6门平台;
}
}//package DragoAdventure2_fla
Section 341
//Timeline_1039 (DragoAdventure2_fla.Timeline_1039)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class Timeline_1039 extends MovieClip {
public var thruRec0:level5浮木;
public var thruRec1:level5浮木;
}
}//package DragoAdventure2_fla
Section 342
//Timeline_1057 (DragoAdventure2_fla.Timeline_1057)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class Timeline_1057 extends MovieClip {
public var insideMc:消失云平台大00;
public function Timeline_1057(){
addFrameScript(90, frame91, 119, frame120);
}
function frame91(){
gotoAndPlay(1);
}
function frame120(){
gotoAndStop(1);
}
}
}//package DragoAdventure2_fla
Section 343
//Timeline_184 (DragoAdventure2_fla.Timeline_184)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class Timeline_184 extends MovieClip {
public function Timeline_184(){
addFrameScript(0, frame1, 20, frame21);
}
function frame1(){
stop();
}
function frame21(){
stop();
if (this.parent != null){
this.parent.removeChild(this);
};
}
}
}//package DragoAdventure2_fla
Section 344
//Timeline_192 (DragoAdventure2_fla.Timeline_192)
package DragoAdventure2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Timeline_192 extends MovieClip {
public var arrow:箭头2;
public var num_txt:TextField;
}
}//package DragoAdventure2_fla
Section 345
//Timeline_309 (DragoAdventure2_fla.Timeline_309)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class Timeline_309 extends MovieClip {
public var frame:MovieClip;
}
}//package DragoAdventure2_fla
Section 346
//Timeline_313 (DragoAdventure2_fla.Timeline_313)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class Timeline_313 extends MovieClip {
public var point1:MovieClip;
public var point6:MovieClip;
public var point7:MovieClip;
public var point2:MovieClip;
public var point5:MovieClip;
public var point0:MovieClip;
public var point4:MovieClip;
public var point3:MovieClip;
}
}//package DragoAdventure2_fla
Section 347
//Timeline_320 (DragoAdventure2_fla.Timeline_320)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class Timeline_320 extends MovieClip {
public function Timeline_320(){
addFrameScript(25, frame26);
}
function frame26(){
stop();
}
}
}//package DragoAdventure2_fla
Section 348
//Timeline_401 (DragoAdventure2_fla.Timeline_401)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class Timeline_401 extends MovieClip {
public var mc:MovieClip;
}
}//package DragoAdventure2_fla
Section 349
//Timeline_403 (DragoAdventure2_fla.Timeline_403)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class Timeline_403 extends MovieClip {
public var mc:MovieClip;
}
}//package DragoAdventure2_fla
Section 350
//Timeline_487 (DragoAdventure2_fla.Timeline_487)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class Timeline_487 extends MovieClip {
public function Timeline_487(){
addFrameScript(22, frame23);
}
function frame23(){
gotoAndStop(1);
}
}
}//package DragoAdventure2_fla
Section 351
//Timeline_495 (DragoAdventure2_fla.Timeline_495)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class Timeline_495 extends MovieClip {
public function Timeline_495(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
}
}
}//package DragoAdventure2_fla
Section 352
//Timeline_545 (DragoAdventure2_fla.Timeline_545)
package DragoAdventure2_fla {
import flash.net.*;
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.ui.*;
import flash.external.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class Timeline_545 extends MovieClip {
public var fairy:精灵土;
public function Timeline_545(){
addFrameScript(30, frame31);
}
function frame31(){
this["fairy"]["wings"].stop();
stop();
}
}
}//package DragoAdventure2_fla
Section 353
//Timeline_646 (DragoAdventure2_fla.Timeline_646)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class Timeline_646 extends MovieClip {
public function Timeline_646(){
addFrameScript(14, frame15);
}
function frame15(){
stop();
}
}
}//package DragoAdventure2_fla
Section 354
//Timeline_661 (DragoAdventure2_fla.Timeline_661)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class Timeline_661 extends MovieClip {
public function Timeline_661(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package DragoAdventure2_fla
Section 355
//Timeline_677 (DragoAdventure2_fla.Timeline_677)
package DragoAdventure2_fla {
import flash.display.*;
import flash.text.*;
public dynamic class Timeline_677 extends MovieClip {
public var name_txt:TextField;
public function Timeline_677(){
addFrameScript(39, frame40);
}
function frame40(){
stop();
}
}
}//package DragoAdventure2_fla
Section 356
//Timeline_803 (DragoAdventure2_fla.Timeline_803)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class Timeline_803 extends MovieClip {
public function Timeline_803(){
addFrameScript(37, frame38);
}
function frame38(){
this.stop();
if (this.parent != null){
this.parent.removeChild(this);
};
}
}
}//package DragoAdventure2_fla
Section 357
//Timeline_81 (DragoAdventure2_fla.Timeline_81)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class Timeline_81 extends MovieClip {
public function Timeline_81(){
addFrameScript(35, frame36);
}
function frame36(){
stop();
if (this.parent != null){
this.parent.removeChild(this);
};
}
}
}//package DragoAdventure2_fla
Section 358
//Timeline_814 (DragoAdventure2_fla.Timeline_814)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class Timeline_814 extends MovieClip {
public var fireLoc2:MovieClip;
public var fireLoc6:MovieClip;
public var fireLoc3:MovieClip;
public var fireLoc1:MovieClip;
public var fireLoc5:MovieClip;
public var fireLoc4:MovieClip;
public var fireLoc0:MovieClip;
}
}//package DragoAdventure2_fla
Section 359
//Timeline_82 (DragoAdventure2_fla.Timeline_82)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class Timeline_82 extends MovieClip {
public function Timeline_82(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
if (this.parent != null){
this.parent.removeChild(this);
};
}
}
}//package DragoAdventure2_fla
Section 360
//Timeline_848 (DragoAdventure2_fla.Timeline_848)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class Timeline_848 extends MovieClip {
public var wing_mc:swing;
}
}//package DragoAdventure2_fla
Section 361
//Timeline_87 (DragoAdventure2_fla.Timeline_87)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class Timeline_87 extends MovieClip {
public var help_mc:help;
public function Timeline_87(){
addFrameScript(53, frame54);
}
function frame54(){
stop();
}
}
}//package DragoAdventure2_fla
Section 362
//Timeline_96 (DragoAdventure2_fla.Timeline_96)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class Timeline_96 extends MovieClip {
public function Timeline_96(){
addFrameScript(55, frame56);
}
function frame56(){
stop();
}
}
}//package DragoAdventure2_fla
Section 363
//Timeline_98 (DragoAdventure2_fla.Timeline_98)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class Timeline_98 extends MovieClip {
public function Timeline_98(){
addFrameScript(55, frame56);
}
function frame56(){
stop();
}
}
}//package DragoAdventure2_fla
Section 364
//unvisible_374 (DragoAdventure2_fla.unvisible_374)
package DragoAdventure2_fla {
import flash.display.*;
public dynamic class unvisible_374 extends MovieClip {
public var _0:消失平台2;
}
}//package DragoAdventure2_fla
Section 365
//O1111111l (O11111110.O1111111l)
package O11111110 {
import flash.net.*;
public class O1111111l {
private var O1111100O1:int;
private var O11111l1l:String;
private var oldlanguageOrder:Array;
private var cFame:String;// = "en_us"
private var languageOrder:Array;
private var O11111l1O:Array;
public var O11111OOO:int;// = 1
private var O111111O0:String;
private var O111111Ol:String;
private static var O11111l11:O1111111l;
public function O1111111l():void{
languageOrder = ["en_us", "cn", "nl", "fr", "de", "pl", "se", "it", "es", "br", "id", "ru", "en_uk", "in", "pt", "ph", "jp"];
oldlanguageOrder = ["en_us", "cn", "nl", "fr", "de", "pl", "se", "it", "es", "br", "id", "ru", "en_uk", "in", "removed", "removed", "pt", "ph", "jp", "removed"];
cFame = "en_us";
O11111OOO = 1;
super();
O11111l1O = new Array();
}
private function O11111l10():void{
O11111l1O.push(new O11111O00(1, 1, "www.agame.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(17, 1, "www.gamesgames.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(29, 1, "www.girlsgogames.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 2, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(2, 19, "www.game.com.cn", "/downloads"));
O11111l1O.push(new O11111O00(2, 19, "www.game.com.cn", "/downloads"));
O11111l1O.push(new O11111O00(2, 19, "www.game.com.cn", "/downloads"));
O11111l1O.push(new O11111O00(2, 19, "www.game.com.cn", "/downloads"));
O11111l1O.push(new O11111O00(4, 5, "www.spel.nl", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(18, 5, "www.spelletjes.nl", (((((("/spel/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(30, 5, "www.girlsgogames.nl", (((((("/spel/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 5, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(5, 6, "www.jeu.fr", (((((("/jeu/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(19, 6, "www.jeux.fr", (((((("/jeu/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(31, 6, "www.girlsgogames.fr", (((((("/jeu/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 6, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(6, 7, "www.spielen.com", (((((("/spiel/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(20, 7, "www.jetztspielen.de", (((((("/spiel/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(32, 7, "www.girlsgogames.de", (((((("/spiel/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 7, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(14, 13, "www.minigry.pl", (((((("/gra/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(21, 13, "www.gry.pl", (((((("/gra/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(33, 13, "www.girlsgogames.pl", (((((("/gra/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 13, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(9, 12, "www.spel.se", (((((("/spel_/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(22, 12, "www.spela.se", (((((("/spel_/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(34, 12, "www.girlsgogames.se", (((((("/spel_/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 12, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(8, 11, "www.giocaregratis.it", (((((("/gioco/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(23, 11, "www.gioco.it", (((((("/gioco/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(35, 11, "www.girlsgogames.it", (((((("/gioco/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 11, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(5, 8, "www.zapjuegos.com", (((((("/juego/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(24, 8, "www.juegos.com", (((((("/juego/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(36, 8, "www.juegosdechicas.com", (((((("/juego/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 8, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(7, 9, "www.clickjogos.com", (((((("/jogo/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(25, 9, "www.ojogos.com.br", (((((("/jogo/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(38, 9, "www.girlsgogames.com.br", (((((("/jogo/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 9, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(13, 16, "www.games.co.id", (((((("/permainanme/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(13, 16, "www.games.co.id", (((((("/permainanme/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(13, 16, "www.games.co.id", (((((("/permainanme/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 16, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(11, 14, "www.flashgames.ru", (((((("/igra/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(26, 14, "www.ourgames.ru", (((((("/igra/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(39, 14, "www.girlsgogames.ru", (((((("/igra/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 14, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(10, 2, "www.mygames.co.uk", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(27, 2, "www.games.co.uk", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(37, 2, "www.girlsgogames.co.uk", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 2, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(12, 3, "www.game.co.in", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(12, 3, "www.game.co.in", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(40, 3, "www.girlsgogames.in", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 3, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(42, 10, "www.ojogos.pt", (((((("/jogo/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(42, 10, "www.ojogos.pt", (((((("/jogo/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(42, 10, "www.ojogos.pt", (((((("/jogo/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 10, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(43, 4, "www.laro.com.ph", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(43, 4, "www.laro.com.ph", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(43, 4, "www.laro.com.ph", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 4, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(44, 18, "www.egames.jp", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(44, 18, "www.egames.jp", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(44, 18, "www.egames.jp", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
O11111l1O.push(new O11111O00(45, 18, "www.a10.com", (((((("/game/" + O111111O0) + ".html?utm_medium=brandedgames_external&utm_campaign=") + O111111Ol) + "&utm_source=") + O11111l1l) + "&utm_content=play_with_highscore")));
}
public function O11111Oll(_arg1:String, _arg2:String, _arg3:String, _arg4:int):void{
O1111100O1 = _arg4;
O11111l1l = _arg1;
O111111Ol = _arg2;
O111111O0 = _arg3;
O11111l10();
}
public function O11111O01():String{
return (O11111l1O[((((O11111OOO - 1) * 4) + O1111100O1) - 1)].O11111OOl);
}
public function O11111Ol0(_arg1:String="en_us"):void{
cFame = _arg1;
O11111OOO = (languageOrder.indexOf(_arg1) + 1);
if (O11111OOO == 0){
O11111OOO = 1;
cFame = "en_us";
};
}
public function O11111O0O():int{
return (O11111l1O[((((O11111OOO - 1) * 4) + O1111100O1) - 1)].O11111OO0);
}
public function O11111O0l():void{
navigateToURL(new URLRequest((("http://" + O11111l1O[((((O11111OOO - 1) * 4) + O1111100O1) - 1)].O11111OOl) + O11111l1O[((((O11111OOO - 1) * 4) + O1111100O1) - 1)].part2)), "_blank");
}
public function getOldOrder():int{
if (oldlanguageOrder.indexOf(cFame) < 0){
return (0);
};
return (oldlanguageOrder.indexOf(cFame));
}
public static function O11111OlO():O1111111l{
if (O11111l11 == null){
O11111l11 = new (O1111111l);
};
return (O11111l11);
}
}
}//package O11111110
class O11111O00 {
public var part2:String;
public var O11111OOl:String;
public var O11111OO0:int;
private function O11111O00(_arg1:int, _arg2:int, _arg3:String, _arg4):void{
O11111OOl = _arg3;
part2 = _arg4;
O11111OO0 = _arg2;
}
}
Section 366
//O1111111O (O11111110.O1111111O)
package O11111110 {
import flash.net.*;
import flash.external.*;
public class O1111111O {
private static const O11111OOO:Array = ["www.zlonggamestest.com", "gamedev.dev.spilgames.com", "gamedev.dev.spillgroup.com", "www.agame.com", "www.girlsgogames.com", "www.games.co.uk", "www.mygames.co.uk", "www.girlsgogames.co.uk", "www.spel.nl", "www.spelletjes.nl", "www.girlsgogames.nl", "www.jetztspielen.de", "www.spielen.com", "www.girlsgogames.de", "www.jeux.fr", "www.jeu.fr", "www.girlsgogames.fr", "www.juegos.com", "www.zapjuegos.com", "www.juegosdechicas.com", "www.gioco.it", "www.giocaregratis.it", "www.girlsgogames.it", "www.gry.pl", "www.minigry.pl", "www.girlsgogames.pl", "www.spela.se", "www.spel.eu", "www.girlsgogames.se", "www.ojogos.pt", "www.ourgames.ru", "www.flashgames.ru", "www.girlsgogames.ru", "www.oyunlar123.com", "www.asoyun.com", "www.girlsgogamestr.com", "www.gamesgames.com", "www.agame.com", "www.girlsgogames.com", "www.juegos.com", "www.zapjuegos.com", "www.juegosdechicas.com", "www.ojogos.com.br", "www.clickjogos.com", "www.girlsgogames.com.br", "www.game.com.cn", "www.xiaoyouxi.com", "www.egames.jp", "www.game.co.in", "www.game.co.in", "www.girlsgogames.in", "www.games.co.id", "www.laro.com.ph", "www.game.com.my", "www.onrpg.com", "www.zlonggames.com", "www.a10.com"];
private static var O11111OOl:URLRequest;
private static var O11111OO0;
public function O1111111O():void{
super();
try {
O11111OO0 = ExternalInterface.call("window.location.href.toString");
} catch(e) {
O11111OO0 = "error";
};
if ((((O11111OO0 == null)) || ((O11111OO0 == "")))){
O11111OO0 = "error";
};
if (String(O11111OO0).indexOf(".swf") != -1){
O11111OO0 = "error";
};
}
public function O11111OO1():Boolean{
if (((!((O11111Ol0(O11111O01(O11111OO0)) == -1))) && (!((O11111OO0 == "error"))))){
return (true);
};
return (false);
}
private static function O11111O01(_arg1:String):String{
var _local2:String;
var _local3:uint;
_local2 = new String();
_local3 = 7;
while (_local3 < _arg1.length) {
if (_arg1.charAt(_local3) == "/"){
break;
};
_local2 = (_local2 + _arg1.charAt(_local3));
_local3++;
};
return (_local2);
}
private static function O11111Ol0(_arg1:String):Number{
var _local2:uint;
if (((O11111OOO) && (_arg1))){
_local2 = 0;
while (_local2 < O11111OOO.length) {
if (_arg1 == O11111OOO[_local2]){
return (_local2);
};
_local2++;
};
return (-1);
} else {
trace("cannot find site name");
};
return (-1);
}
}
}//package O11111110
Section 367
//AbstractCollection (org.cove.ape.AbstractCollection)
package org.cove.ape {
import flash.display.*;
import flash.utils.*;
public class AbstractCollection {
private var _sprite:Sprite;
private var _isParented:Boolean;
private var _particles:Array;
private var _constraints:Array;
public function AbstractCollection(){
if (getQualifiedClassName(this) == "org.cove.ape::AbstractCollection"){
throw (new ArgumentError("AbstractCollection can't be instantiated directly"));
};
_isParented = false;
_particles = new Array();
_constraints = new Array();
}
public function getAll():Array{
return (particles.concat(constraints));
}
function checkCollisionsVsCollection(_arg1:AbstractCollection):void{
var plen:int;
var i:int;
var clen:int;
var j:int;
var pga:AbstractParticle;
var acplen:int;
var x:int;
var acclen:int;
var pgb:AbstractParticle;
var cgb:SpringConstraint;
var cga:SpringConstraint;
var n:int;
var ac = _arg1;
try {
plen = _particles.length;
i = 0;
while (i < plen) {
pga = _particles[i];
if (!pga.collidable){
} else {
acplen = ac.particles.length;
x = 0;
while (x < acplen) {
pgb = ac.particles[x];
if (((!((pgb == null))) && (pgb.collidable))){
CollisionDetector.test(pga, pgb);
};
x = (x + 1);
};
acclen = ac.constraints.length;
x = 0;
while (x < acclen) {
cgb = ac.constraints[x];
if (((cgb.collidable) && (!(cgb.isConnectedTo(pga))))){
cgb.scp.updatePosition();
CollisionDetector.test(pga, cgb.scp);
};
x = (x + 1);
};
};
i = (i + 1);
};
clen = _constraints.length;
j = 0;
while (j < clen) {
cga = _constraints[j];
if (!cga.collidable){
} else {
acplen = ac.particles.length;
n = 0;
while (n < acplen) {
pgb = ac.particles[n];
if (((pgb.collidable) && (!(cga.isConnectedTo(pgb))))){
cga.scp.updatePosition();
CollisionDetector.test(pgb, cga.scp);
};
n = (n + 1);
};
};
j = (j + 1);
};
} catch(error:Error) {
};
}
public function get sprite():Sprite{
if (_sprite != null){
return (_sprite);
};
if (APEngine.container == null){
throw (new Error("The container property of the APEngine class has not been set"));
};
_sprite = new Sprite();
APEngine.container.addChild(_sprite);
return (_sprite);
}
function checkInternalCollisions():void{
var _local1:int;
var _local2:int;
var _local3:AbstractParticle;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:AbstractParticle;
var _local8:SpringConstraint;
_local1 = _particles.length;
_local2 = 0;
while (_local2 < _local1) {
_local3 = _particles[_local2];
if (!_local3.collidable){
} else {
_local4 = (_local2 + 1);
while (_local4 < _local1) {
_local7 = _particles[_local4];
if (_local7.collidable){
CollisionDetector.test(_local3, _local7);
};
_local4++;
};
_local5 = _constraints.length;
_local6 = 0;
while (_local6 < _local5) {
_local8 = _constraints[_local6];
if (((_local8.collidable) && (!(_local8.isConnectedTo(_local3))))){
_local8.scp.updatePosition();
CollisionDetector.test(_local3, _local8.scp);
};
_local6++;
};
};
_local2++;
};
}
public function addParticle(_arg1:AbstractParticle):void{
particles.push(_arg1);
if (isParented){
_arg1.init();
};
}
public function removeConstraint(_arg1:AbstractConstraint):void{
var _local2:int;
_local2 = constraints.indexOf(_arg1);
if (_local2 == -1){
return;
};
constraints.splice(_local2, 1);
_arg1.cleanup();
}
function get isParented():Boolean{
return (_isParented);
}
public function init():void{
var _local1:int;
_local1 = 0;
while (_local1 < particles.length) {
particles[_local1].init();
_local1++;
};
_local1 = 0;
while (_local1 < constraints.length) {
constraints[_local1].init();
_local1++;
};
}
function satisfyConstraints():void{
var _local1:int;
var _local2:int;
var _local3:AbstractConstraint;
_local1 = _constraints.length;
_local2 = 0;
while (_local2 < _local1) {
_local3 = _constraints[_local2];
_local3.resolve();
_local2++;
};
}
public function paint():void{
var _local1:AbstractParticle;
var _local2:int;
var _local3:int;
var _local4:SpringConstraint;
_local2 = _particles.length;
_local3 = 0;
while (_local3 < _local2) {
_local1 = _particles[_local3];
if (_local1 == null){
} else {
if (((!(_local1.fixed)) || (_local1.alwaysRepaint))){
_local1.paint();
};
};
_local3++;
};
_local2 = _constraints.length;
_local3 = 0;
while (_local3 < _local2) {
_local4 = _constraints[_local3];
if (_local4 == null){
} else {
if (((!(_local4.fixed)) || (_local4.alwaysRepaint))){
_local4.paint();
};
};
_local3++;
};
}
public function addConstraint(_arg1:AbstractConstraint):void{
constraints.push(_arg1);
if (isParented){
_arg1.init();
};
}
function set isParented(_arg1:Boolean):void{
_isParented = _arg1;
}
public function removeParticle(_arg1:AbstractParticle):Boolean{
var _local2:int;
_local2 = particles.indexOf(_arg1);
if (_local2 == -1){
return (false);
};
particles.splice(_local2, 1);
_arg1.cleanup();
return (true);
}
public function cleanup():void{
var _local1:int;
_local1 = 0;
while (_local1 < particles.length) {
particles[_local1].cleanup();
_local1++;
};
_local1 = 0;
while (_local1 < constraints.length) {
constraints[_local1].cleanup();
_local1++;
};
}
public function get particles():Array{
return (_particles);
}
function integrate(_arg1:Number):void{
var _local2:int;
var _local3:int;
var _local4:AbstractParticle;
_local2 = _particles.length;
_local3 = 0;
while (_local3 < _local2) {
_local4 = _particles[_local3];
_local4.update(_arg1);
_local3++;
};
}
public function get constraints():Array{
return (_constraints);
}
}
}//package org.cove.ape
Section 368
//AbstractConstraint (org.cove.ape.AbstractConstraint)
package org.cove.ape {
import flash.utils.*;
public class AbstractConstraint extends AbstractItem {
private var _stiffness:Number;
public function AbstractConstraint(_arg1:Number){
if (getQualifiedClassName(this) == "org.cove.ape::AbstractConstraint"){
throw (new ArgumentError("AbstractConstraint can't be instantiated directly"));
};
this.stiffness = _arg1;
setStyle();
}
public function get stiffness():Number{
return (_stiffness);
}
public function set stiffness(_arg1:Number):void{
_stiffness = _arg1;
}
function resolve():void{
}
}
}//package org.cove.ape
Section 369
//AbstractItem (org.cove.ape.AbstractItem)
package org.cove.ape {
import flash.display.*;
public class AbstractItem {
private var _container:DisplayObjectContainer;
var lineAlpha:Number;
protected var _initLoc:Vector;
var displayObjectOffset:Vector;
var lineColor:uint;
var lineThickness:Number;
var displayObject:DisplayObject;
var fillAlpha:Number;
private var _sprite:Sprite;
var fillColor:uint;
private var _visible:Boolean;
private var _itemNum:int;
private var _alwaysRepaint:Boolean;
var displayObjectRotation:Number;
public static const OTHERS:int = 7;
public static const STRAW:int = 6;
public static const CHECK:int = 4;
public static const SOLID:int = 1;
public static const ENEMY:int = 5;
public static const MOVE:int = 3;
public static const SLOPE:int = 8;
public static const THRU:int = 2;
public static const RATTAN:int = 9;
public function AbstractItem(){
_visible = true;
_alwaysRepaint = false;
}
public function setLine(_arg1:Number=0, _arg2:uint=0, _arg3:Number=1):void{
lineThickness = _arg1;
lineColor = _arg2;
lineAlpha = _arg3;
}
public function set visible(_arg1:Boolean):void{
_visible = _arg1;
sprite.visible = _arg1;
}
public function setFill(_arg1:uint=0xFFFFFF, _arg2:Number=1):void{
fillColor = _arg1;
fillAlpha = _arg2;
}
public function init():void{
}
public function get itemNum():int{
return (_itemNum);
}
public function set container(_arg1:DisplayObjectContainer):void{
_container = _arg1;
}
public function setStyle(_arg1:Number=0, _arg2:uint=0, _arg3:Number=1, _arg4:uint=0xFFFFFF, _arg5:Number=1):void{
setLine(_arg1, _arg2, _arg3);
setFill(_arg4, _arg5);
}
public function get sprite():Sprite{
if (_sprite != null){
return (_sprite);
};
if (_container == null){
_container = APEngine.container;
};
if (_container == null){
throw (new Error("The container property of the APEngine class has not been set"));
};
_sprite = new Sprite();
_container.addChild(_sprite);
return (_sprite);
}
public function paint():void{
}
public function cleanup():void{
sprite.graphics.clear();
while (sprite.numChildren > 0) {
sprite.removeChildAt(0);
};
}
public function set itemNum(_arg1:int):void{
_itemNum = _arg1;
}
public function get visible():Boolean{
return (_visible);
}
final public function set alwaysRepaint(_arg1:Boolean):void{
_alwaysRepaint = _arg1;
}
final public function get alwaysRepaint():Boolean{
return (_alwaysRepaint);
}
}
}//package org.cove.ape
Section 370
//AbstractParticle (org.cove.ape.AbstractParticle)
package org.cove.ape {
import flash.display.*;
import flash.utils.*;
public class AbstractParticle extends AbstractItem {
private var collision:Collision;
public var prev:Vector;
public var curr:Vector;
private var _invMass:Number;
private var _friction:Number;
private var _masslessForce:Vector;
private var _multisample:int;
var samp:Vector;
private var _fixed:Boolean;
private var _center:Vector;
private var _collidable:Boolean;
private var _alwaysCollision:Boolean;
private var _kfr:Number;
var interval:Interval;
private var _mass:Number;
public var temp:Vector;
private var _massForce:Vector;
private var forces:Vector;
public function AbstractParticle(_arg1:Number, _arg2:Number, _arg3:Boolean, _arg4:Number, _arg5:Number, _arg6:Number){
_massForce = new Vector(0, 3);
_masslessForce = new Vector(0, 6);
super();
if (getQualifiedClassName(this) == "org.cove.ape::AbstractParticle"){
throw (new ArgumentError("AbstractParticle can't be instantiated directly"));
};
interval = new Interval(0, 0);
curr = new Vector(_arg1, _arg2);
_initLoc = new Vector(_arg1, _arg2);
prev = new Vector(_arg1, _arg2);
samp = new Vector();
temp = new Vector();
fixed = _arg3;
forces = new Vector();
collision = new Collision(new Vector(), new Vector());
collidable = true;
this.mass = _arg4;
this.elasticity = _arg5;
this.friction = _arg6;
setStyle();
_center = new Vector();
_multisample = 0;
}
public function get px():Number{
return (curr.x);
}
public function get py():Number{
return (curr.y);
}
function getComponents(_arg1:Vector):Collision{
var _local2:Vector;
var _local3:Number;
_local2 = velocity;
_local3 = _arg1.dot(_local2);
collision.vn = _arg1.mult(_local3);
collision.vt = _local2.minus(collision.vn);
return (collision);
}
public function set py(_arg1:Number):void{
curr.y = _arg1;
prev.y = _arg1;
}
public function set px(_arg1:Number):void{
curr.x = _arg1;
prev.x = _arg1;
}
public function setDisplay(_arg1:DisplayObject, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0):void{
displayObject = _arg1;
displayObjectRotation = _arg4;
displayObjectOffset = new Vector(_arg2, _arg3);
}
public function get multisample():int{
return (_multisample);
}
public function get position():Vector{
return (new Vector(curr.x, curr.y));
}
public function addMasslessForce(_arg1:Vector):void{
forces.plusEquals(_arg1);
}
public function set multisample(_arg1:int):void{
_multisample = _arg1;
}
public function set position(_arg1:Vector):void{
curr.copy(_arg1);
prev.copy(_arg1);
}
public function get center():Vector{
_center.setTo(px, py);
return (_center);
}
public function get fixed():Boolean{
return (_fixed);
}
public function set elasticity(_arg1:Number):void{
_kfr = _arg1;
}
function get invMass():Number{
return ((fixed) ? 0 : _invMass);
}
function initDisplay():void{
displayObject.x = displayObjectOffset.x;
displayObject.y = displayObjectOffset.y;
displayObject.rotation = displayObjectRotation;
sprite.addChild(displayObject);
}
private function addGlobalForces():void{
addForce(_massForce);
addMasslessForce(_masslessForce);
}
public function resolveCollision(_arg1:Vector, _arg2:Vector, _arg3:Vector, _arg4:Number, _arg5:int, _arg6:AbstractParticle):void{
if (fixed){
return;
};
curr.plusEquals(_arg1);
velocity = _arg2;
}
public function set massForce(_arg1:Vector):void{
_massForce.x = _arg1.x;
_massForce.y = _arg1.y;
}
public function get elasticity():Number{
return (_kfr);
}
public function set velocity(_arg1:Vector):void{
prev = curr.minus(_arg1);
}
public function set masslessForce(_arg1:Vector):void{
_masslessForce.x = _arg1.x;
_masslessForce.y = _arg1.y;
}
public function set collidable(_arg1:Boolean):void{
_collidable = _arg1;
}
public function set alwaysCollision(_arg1:Boolean):void{
_alwaysCollision = _arg1;
}
public function update(_arg1:Number):void{
var _local2:Vector;
if (fixed){
return;
};
addGlobalForces();
temp.copy(curr);
_local2 = velocity.plus(forces.multEquals(_arg1));
curr.plusEquals(_local2.multEquals(APEngine.damping));
prev.copy(temp);
forces.setTo(0, 0);
}
public function addForce(_arg1:Vector):void{
forces.plusEquals(_arg1.mult(invMass));
}
public function get velocity():Vector{
return (curr.minus(prev));
}
public function get collidable():Boolean{
return (_collidable);
}
public function get alwaysCollision():Boolean{
return (_alwaysCollision);
}
public function set mass(_arg1:Number):void{
if (_arg1 <= 0){
throw (new ArgumentError("mass may not be set <= 0"));
};
_mass = _arg1;
_invMass = (1 / _mass);
}
public function set fixed(_arg1:Boolean):void{
_fixed = _arg1;
}
public function set changePosition(_arg1:Vector):void{
curr.plusEquals(_arg1);
prev.plusEquals(_arg1);
}
public function set friction(_arg1:Number):void{
if ((((_arg1 < 0)) || ((_arg1 > 1)))){
throw (new ArgumentError("Legal friction must be >= 0 and <=1"));
};
_friction = _arg1;
}
public function get friction():Number{
return (_friction);
}
public function get mass():Number{
return (_mass);
}
}
}//package org.cove.ape
Section 371
//APEngine (org.cove.ape.APEngine)
package org.cove.ape {
import flash.display.*;
public final class APEngine {
private static var _container:DisplayObjectContainer;
private static var _damping:Number;
private static var _constraintCollisionCycles:int;
private static var groups:Array;
static var masslessForce:Vector;
private static var _constraintCycles:int;
static var force:Vector;
private static var timeStep:Number;
private static var numGroups:int;
public static function get container():DisplayObjectContainer{
return (_container);
}
public static function get constraintCollisionCycles():int{
return (_constraintCollisionCycles);
}
public static function set damping(_arg1:Number):void{
_damping = _arg1;
}
public static function step():void{
var _local1:int;
var _local2:int;
integrate();
_local1 = 0;
while (_local1 < _constraintCycles) {
satisfyConstraints();
_local1++;
};
_local2 = 0;
while (_local2 < _constraintCollisionCycles) {
satisfyConstraints();
checkCollisions();
_local2++;
};
}
public static function init(_arg1:Number=0.25):void{
timeStep = (_arg1 * _arg1);
numGroups = 0;
groups = new Array();
force = new Vector(0, 0);
masslessForce = new Vector(0, 0);
damping = 1;
_constraintCycles = 0;
_constraintCollisionCycles = 1;
}
public static function get constraintCycles():int{
return (_constraintCycles);
}
public static function set constraintCollisionCycles(_arg1:int):void{
_constraintCollisionCycles = _arg1;
}
public static function set constraintCycles(_arg1:int):void{
_constraintCycles = _arg1;
}
public static function addForce(_arg1:Vector):void{
force.plusEquals(_arg1);
}
public static function get damping():Number{
return (_damping);
}
public static function set container(_arg1:DisplayObjectContainer):void{
_container = _arg1;
}
public static function addGroup(_arg1:Group):void{
groups.push(_arg1);
_arg1.isParented = true;
numGroups++;
_arg1.init();
}
public static function removeGroup(_arg1:Group):void{
var _local2:int;
_local2 = groups.indexOf(_arg1);
if (_local2 == -1){
return;
};
groups.splice(_local2, 1);
_arg1.isParented = false;
numGroups--;
_arg1.cleanup();
}
public static function paint():void{
var _local1:int;
var _local2:Group;
_local1 = 0;
while (_local1 < numGroups) {
_local2 = groups[_local1];
_local2.paint();
_local1++;
};
}
private static function checkCollisions():void{
var _local1:int;
var _local2:Group;
_local1 = 0;
while (_local1 < numGroups) {
_local2 = groups[_local1];
_local2.checkCollisions();
_local1++;
};
}
private static function integrate():void{
var _local1:int;
var _local2:Group;
_local1 = 0;
while (_local1 < numGroups) {
_local2 = groups[_local1];
_local2.integrate(timeStep);
_local1++;
};
}
private static function satisfyConstraints():void{
var _local1:int;
var _local2:Group;
_local1 = 0;
while (_local1 < numGroups) {
_local2 = groups[_local1];
_local2.satisfyConstraints();
_local1++;
};
}
public static function addMasslessForce(_arg1:Vector):void{
masslessForce.plusEquals(_arg1);
}
}
}//package org.cove.ape
Section 372
//CircleParticle (org.cove.ape.CircleParticle)
package org.cove.ape {
public class CircleParticle extends AbstractParticle {
private var _radius:Number;
public function CircleParticle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Number=1, _arg6:Number=0.3, _arg7:Number=0){
super(_arg1, _arg2, _arg4, _arg5, _arg6, _arg7);
_radius = _arg3;
}
function getIntervalY():Interval{
interval.min = (curr.y - _radius);
interval.max = (curr.y + _radius);
return (interval);
}
override public function init():void{
cleanup();
if (displayObject != null){
initDisplay();
} else {
sprite.graphics.clear();
sprite.graphics.lineStyle(lineThickness, lineColor, lineAlpha);
sprite.graphics.beginFill(fillColor, fillAlpha);
sprite.graphics.drawCircle(0, 0, radius);
sprite.graphics.endFill();
};
paint();
}
public function set radius(_arg1:Number):void{
_radius = _arg1;
}
public function get radius():Number{
return (_radius);
}
override public function paint():void{
sprite.x = curr.x;
sprite.y = curr.y;
}
function getProjection(_arg1:Vector):Interval{
var _local2:Number;
_local2 = samp.dot(_arg1);
interval.min = (_local2 - _radius);
interval.max = (_local2 + _radius);
return (interval);
}
function getIntervalX():Interval{
interval.min = (curr.x - _radius);
interval.max = (curr.x + _radius);
return (interval);
}
}
}//package org.cove.ape
Section 373
//Collision (org.cove.ape.Collision)
package org.cove.ape {
import org.cove.ape.*;
final class Collision {
var vn:Vector;
var vt:Vector;
function Collision(_arg1:Vector, _arg2:Vector){
this.vn = _arg1;
this.vt = _arg2;
}
}
}//package org.cove.ape
Section 374
//CollisionDetector (org.cove.ape.CollisionDetector)
package org.cove.ape {
import org.cove.ape.*;
final class CollisionDetector {
private static function testOBBvsCircle(_arg1:RectangleParticle, _arg2:CircleParticle):Boolean{
var _local3:Vector;
var _local4:Number;
var _local5:Array;
var _local6:int;
var _local7:Number;
var _local8:Vector;
var _local9:Number;
var _local10:Vector;
var _local11:Number;
_local4 = Number.POSITIVE_INFINITY;
_local5 = new Array(2);
_local6 = 0;
while (_local6 < 2) {
_local8 = _arg1.axes[_local6];
_local9 = testIntervals(_arg1.getProjection(_local8), _arg2.getProjection(_local8));
if (_local9 == 0){
return (false);
};
if (Math.abs(_local9) < Math.abs(_local4)){
_local3 = _local8;
_local4 = _local9;
};
_local5[_local6] = _local9;
_local6++;
};
_local7 = _arg2.radius;
if ((((Math.abs(_local5[0]) < _local7)) && ((Math.abs(_local5[1]) < _local7)))){
_local10 = closestVertexOnOBB(_arg2.samp, _arg1);
_local3 = _local10.minus(_arg2.samp);
_local11 = _local3.magnitude();
_local4 = (_local7 - _local11);
if (_local4 > 0){
_local3.divEquals(_local11);
} else {
return (false);
};
};
CollisionResolver.resolveParticleParticle(_arg1, _arg2, _local3, _local4);
return (true);
}
static function test(_arg1:AbstractParticle, _arg2:AbstractParticle):void{
if (((_arg1.fixed) && (_arg2.fixed))){
return;
};
if ((((_arg1.multisample == 0)) && ((_arg2.multisample == 0)))){
normVsNorm(_arg1, _arg2);
} else {
if ((((_arg1.multisample > 0)) && ((_arg2.multisample == 0)))){
sampVsNorm(_arg1, _arg2);
} else {
if ((((_arg2.multisample > 0)) && ((_arg1.multisample == 0)))){
sampVsNorm(_arg2, _arg1);
} else {
if (_arg1.multisample == _arg2.multisample){
sampVsSamp(_arg1, _arg2);
} else {
normVsNorm(_arg1, _arg2);
};
};
};
};
}
private static function testIntervals(_arg1:Interval, _arg2:Interval):Number{
var _local3:Number;
var _local4:Number;
if (_arg1.max < _arg2.min){
return (0);
};
if (_arg2.max < _arg1.min){
return (0);
};
_local3 = (_arg2.max - _arg1.min);
_local4 = (_arg2.min - _arg1.max);
return (((Math.abs(_local3))<Math.abs(_local4)) ? _local3 : _local4);
}
private static function normVsNorm(_arg1:AbstractParticle, _arg2:AbstractParticle):void{
_arg1.samp.copy(_arg1.curr);
_arg2.samp.copy(_arg2.curr);
testTypes(_arg1, _arg2);
}
private static function testCirclevsCircle(_arg1:CircleParticle, _arg2:CircleParticle):Boolean{
var _local3:Number;
var _local4:Number;
var _local5:Vector;
var _local6:Number;
var _local7:Number;
_local3 = testIntervals(_arg1.getIntervalX(), _arg2.getIntervalX());
if (_local3 == 0){
return (false);
};
_local4 = testIntervals(_arg1.getIntervalY(), _arg2.getIntervalY());
if (_local4 == 0){
return (false);
};
_local5 = _arg1.samp.minus(_arg2.samp);
_local6 = _local5.magnitude();
_local7 = ((_arg1.radius + _arg2.radius) - _local6);
if (_local7 > 0){
_local5.divEquals(_local6);
CollisionResolver.resolveParticleParticle(_arg1, _arg2, _local5, _local7);
return (true);
};
return (false);
}
private static function testTypes(_arg1:AbstractParticle, _arg2:AbstractParticle):Boolean{
if ((((_arg1 is RectangleParticle)) && ((_arg2 is RectangleParticle)))){
return (testOBBvsOBB((_arg1 as RectangleParticle), (_arg2 as RectangleParticle)));
};
if ((((_arg1 is CircleParticle)) && ((_arg2 is CircleParticle)))){
return (testCirclevsCircle((_arg1 as CircleParticle), (_arg2 as CircleParticle)));
};
if ((((_arg1 is RectangleParticle)) && ((_arg2 is CircleParticle)))){
return (testOBBvsCircle((_arg1 as RectangleParticle), (_arg2 as CircleParticle)));
};
if ((((_arg1 is CircleParticle)) && ((_arg2 is RectangleParticle)))){
return (testOBBvsCircle((_arg2 as RectangleParticle), (_arg1 as CircleParticle)));
};
return (false);
}
private static function sampVsNorm(_arg1:AbstractParticle, _arg2:AbstractParticle):void{
var _local3:Number;
var _local4:Number;
var _local5:int;
_local3 = (1 / (_arg1.multisample + 1));
_local4 = _local3;
_arg2.samp.copy(_arg2.curr);
_local5 = 0;
while (_local5 <= _arg1.multisample) {
_arg1.samp.setTo((_arg1.prev.x + (_local4 * (_arg1.curr.x - _arg1.prev.x))), (_arg1.prev.y + (_local4 * (_arg1.curr.y - _arg1.prev.y))));
if (testTypes(_arg1, _arg2)){
return;
};
_local4 = (_local4 + _local3);
_local5++;
};
}
private static function closestVertexOnOBB(_arg1:Vector, _arg2:RectangleParticle):Vector{
var _local3:Vector;
var _local4:Vector;
var _local5:int;
var _local6:Number;
_local3 = _arg1.minus(_arg2.samp);
_local4 = new Vector(_arg2.samp.x, _arg2.samp.y);
_local5 = 0;
while (_local5 < 2) {
_local6 = _local3.dot(_arg2.axes[_local5]);
if (_local6 >= 0){
_local6 = _arg2.extents[_local5];
} else {
if (_local6 < 0){
_local6 = -(_arg2.extents[_local5]);
};
};
_local4.plusEquals(_arg2.axes[_local5].mult(_local6));
_local5++;
};
return (_local4);
}
private static function testOBBvsOBB(_arg1:RectangleParticle, _arg2:RectangleParticle):Boolean{
var _local3:Vector;
var _local4:Number;
var _local5:int;
var _local6:Vector;
var _local7:Number;
var _local8:Vector;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Boolean;
_local4 = Number.POSITIVE_INFINITY;
_local5 = 0;
while (_local5 < 2) {
_local6 = _arg1.axes[_local5];
_local7 = testIntervals(_arg1.getProjection(_local6), _arg2.getProjection(_local6));
if (_local7 == 0){
return (false);
};
_local8 = _arg2.axes[_local5];
_local9 = testIntervals(_arg1.getProjection(_local8), _arg2.getProjection(_local8));
if (_local9 == 0){
return (false);
};
_local10 = Math.abs(_local7);
_local11 = Math.abs(_local9);
if ((((_local10 < Math.abs(_local4))) || ((_local11 < Math.abs(_local4))))){
_local12 = (_local10 < _local11);
_local3 = (_local12) ? _local6 : _local8;
_local4 = (_local12) ? _local7 : _local9;
};
_local5++;
};
CollisionResolver.resolveParticleParticle(_arg1, _arg2, _local3, _local4);
return (true);
}
private static function sampVsSamp(_arg1:AbstractParticle, _arg2:AbstractParticle):void{
var _local3:Number;
var _local4:Number;
var _local5:int;
_local3 = (1 / (_arg1.multisample + 1));
_local4 = _local3;
_local5 = 0;
while (_local5 <= _arg1.multisample) {
_arg1.samp.setTo((_arg1.prev.x + (_local4 * (_arg1.curr.x - _arg1.prev.x))), (_arg1.prev.y + (_local4 * (_arg1.curr.y - _arg1.prev.y))));
_arg2.samp.setTo((_arg2.prev.x + (_local4 * (_arg2.curr.x - _arg2.prev.x))), (_arg2.prev.y + (_local4 * (_arg2.curr.y - _arg2.prev.y))));
if (testTypes(_arg1, _arg2)){
return;
};
_local4 = (_local4 + _local3);
_local5++;
};
}
}
}//package org.cove.ape
Section 375
//CollisionResolver (org.cove.ape.CollisionResolver)
package org.cove.ape {
import org.cove.ape.*;
final class CollisionResolver {
static function resolveParticleParticle(_arg1:AbstractParticle, _arg2:AbstractParticle, _arg3:Vector, _arg4:Number):void{
var _local5:Vector;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Collision;
var _local10:Collision;
var _local11:Vector;
var _local12:Vector;
var _local13:Vector;
var _local14:Vector;
_arg1.curr.copy(_arg1.samp);
_arg2.curr.copy(_arg2.samp);
_local5 = _arg3.mult(_arg4);
_local6 = (_arg1.elasticity + _arg2.elasticity);
_local7 = (_arg1.invMass + _arg2.invMass);
_local8 = clamp((1 - (_arg1.friction + _arg2.friction)), 0, 1);
_local9 = _arg1.getComponents(_arg3);
_local10 = _arg2.getComponents(_arg3);
_local11 = _local10.vn.mult(((_local6 + 1) * _arg1.invMass)).plus(_local9.vn.mult((_arg2.invMass - (_local6 * _arg1.invMass)))).divEquals(_local7);
_local12 = _local9.vn.mult(((_local6 + 1) * _arg2.invMass)).plus(_local10.vn.mult((_arg1.invMass - (_local6 * _arg2.invMass)))).divEquals(_local7);
_local9.vt.multEquals(_local8);
_local10.vt.multEquals(_local8);
_local13 = _local5.mult((_arg1.invMass / _local7));
_local14 = _local5.mult((-(_arg2.invMass) / _local7));
_local11.plusEquals(_local9.vt);
_local12.plusEquals(_local10.vt);
if (((!(_arg1.fixed)) || (_arg1.alwaysCollision))){
_arg1.resolveCollision(_local13, _local11, _arg3, _arg4, -1, _arg2);
};
if (((!(_arg2.fixed)) || (_arg2.alwaysCollision))){
_arg2.resolveCollision(_local14, _local12, _arg3, _arg4, 1, _arg1);
};
}
static function clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{
if (_arg1 > _arg3){
return (_arg3);
};
if (_arg1 < _arg2){
return (_arg2);
};
return (_arg1);
}
}
}//package org.cove.ape
Section 376
//Composite (org.cove.ape.Composite)
package org.cove.ape {
public class Composite extends AbstractCollection {
private var delta:Vector;
public function Composite(){
delta = new Vector();
}
private function getRelativeAngle(_arg1:Vector, _arg2:Vector):Number{
delta.setTo((_arg2.x - _arg1.x), (_arg2.y - _arg1.y));
return (Math.atan2(delta.y, delta.x));
}
public function rotateByRadian(_arg1:Number, _arg2:Vector):void{
var _local3:AbstractParticle;
var _local4:Array;
var _local5:int;
var _local6:int;
var _local7:Number;
var _local8:Number;
_local4 = particles;
_local5 = _local4.length;
_local6 = 0;
while (_local6 < _local5) {
_local3 = _local4[_local6];
_local7 = _local3.center.distance(_arg2);
_local8 = (getRelativeAngle(_arg2, _local3.center) + _arg1);
_local3.px = ((Math.cos(_local8) * _local7) + _arg2.x);
_local3.py = ((Math.sin(_local8) * _local7) + _arg2.y);
_local6++;
};
}
public function rotateByAngle(_arg1:Number, _arg2:Vector):void{
var _local3:Number;
_local3 = (_arg1 * MathUtil.PI_OVER_ONE_EIGHTY);
rotateByRadian(_local3, _arg2);
}
public function set fixed(_arg1:Boolean):void{
var _local2:int;
_local2 = 0;
while (_local2 < particles.length) {
particles[_local2].fixed = _arg1;
_local2++;
};
}
public function get fixed():Boolean{
var _local1:int;
_local1 = 0;
while (_local1 < particles.length) {
if (!particles[_local1].fixed){
return (false);
};
_local1++;
};
return (true);
}
}
}//package org.cove.ape
Section 377
//Group (org.cove.ape.Group)
package org.cove.ape {
public class Group extends AbstractCollection {
private var _collideInternal:Boolean;
private var _composites:Array;
private var _collisionList:Array;
public function Group(_arg1:Boolean=false){
_composites = new Array();
_collisionList = new Array();
this.collideInternal = _arg1;
}
function checkCollisions():void{
var _local1:int;
var _local2:int;
var _local3:Group;
if (collideInternal){
checkCollisionGroupInternal();
};
_local1 = collisionList.length;
_local2 = 0;
while (_local2 < _local1) {
_local3 = collisionList[_local2];
checkCollisionVsGroup(_local3);
_local2++;
};
}
public function get composites():Array{
return (_composites);
}
override public function init():void{
var _local1:int;
super.init();
_local1 = 0;
while (_local1 < composites.length) {
composites[_local1].init();
_local1++;
};
}
public function removeCollidable(_arg1:Group):void{
var _local2:int;
_local2 = collisionList.indexOf(_arg1);
if (_local2 == -1){
return;
};
collisionList.splice(_local2, 1);
}
private function checkCollisionVsGroup(_arg1:Group):void{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:Composite;
var _local6:int;
var _local7:Composite;
checkCollisionsVsCollection(_arg1);
_local2 = _composites.length;
_local3 = _arg1.composites.length;
_local4 = 0;
while (_local4 < _local2) {
_local5 = _composites[_local4];
_local5.checkCollisionsVsCollection(_arg1);
_local6 = 0;
while (_local6 < _local3) {
_local7 = _arg1.composites[_local6];
_local5.checkCollisionsVsCollection(_local7);
_local6++;
};
_local4++;
};
_local6 = 0;
while (_local6 < _local3) {
_local7 = _arg1.composites[_local6];
checkCollisionsVsCollection(_local7);
_local6++;
};
}
override function satisfyConstraints():void{
var _local1:int;
var _local2:int;
var _local3:Composite;
super.satisfyConstraints();
_local1 = _composites.length;
_local2 = 0;
while (_local2 < _local1) {
_local3 = _composites[_local2];
_local3.satisfyConstraints();
_local2++;
};
}
public function get collideInternal():Boolean{
return (_collideInternal);
}
public function addCollidableList(_arg1:Array):void{
var _local2:int;
var _local3:Group;
_local2 = 0;
while (_local2 < _arg1.length) {
_local3 = _arg1[_local2];
collisionList.push(_local3);
_local2++;
};
}
public function removeComposite(_arg1:Composite):void{
var _local2:int;
_local2 = composites.indexOf(_arg1);
if (_local2 == -1){
return;
};
composites.splice(_local2, 1);
_arg1.isParented = false;
_arg1.cleanup();
}
override public function cleanup():void{
var _local1:int;
super.cleanup();
_local1 = 0;
while (_local1 < composites.length) {
composites[_local1].cleanup();
_local1++;
};
}
override public function paint():void{
var _local1:int;
var _local2:int;
var _local3:Composite;
super.paint();
_local1 = _composites.length;
_local2 = 0;
while (_local2 < _local1) {
_local3 = _composites[_local2];
_local3.paint();
_local2++;
};
}
public function addCollidable(_arg1:Group):void{
collisionList.push(_arg1);
}
override public function getAll():Array{
return (particles.concat(constraints).concat(composites));
}
public function get collisionList():Array{
return (_collisionList);
}
override function integrate(_arg1:Number):void{
var _local2:int;
var _local3:int;
var _local4:Composite;
super.integrate(_arg1);
_local2 = _composites.length;
_local3 = 0;
while (_local3 < _local2) {
_local4 = _composites[_local3];
_local4.integrate(_arg1);
_local3++;
};
}
public function addComposite(_arg1:Composite):void{
composites.push(_arg1);
_arg1.isParented = true;
if (isParented){
_arg1.init();
};
}
private function checkCollisionGroupInternal():void{
var _local1:int;
var _local2:int;
var _local3:Composite;
var _local4:int;
var _local5:Composite;
checkInternalCollisions();
_local1 = _composites.length;
_local2 = 0;
while (_local2 < _local1) {
_local3 = _composites[_local2];
_local3.checkCollisionsVsCollection(this);
_local4 = (_local2 + 1);
while (_local4 < _local1) {
_local5 = _composites[_local4];
_local3.checkCollisionsVsCollection(_local5);
_local4++;
};
_local2++;
};
}
public function set collideInternal(_arg1:Boolean):void{
_collideInternal = _arg1;
}
}
}//package org.cove.ape
Section 378
//Interval (org.cove.ape.Interval)
package org.cove.ape {
final class Interval {
var min:Number;
var max:Number;
function Interval(_arg1:Number, _arg2:Number){
this.min = _arg1;
this.max = _arg2;
}
function toString():String{
return (((min + " : ") + max));
}
}
}//package org.cove.ape
Section 379
//MathUtil (org.cove.ape.MathUtil)
package org.cove.ape {
final class MathUtil {
static var ONE_EIGHTY_OVER_PI:Number = 57.2957795130823;
static var PI_OVER_ONE_EIGHTY:Number = 0.0174532925199433;
static function clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{
if (_arg1 < _arg2){
return (_arg2);
};
if (_arg1 > _arg3){
return (_arg3);
};
return (_arg1);
}
static function sign(_arg1:Number):int{
if (_arg1 < 0){
return (-1);
};
return (1);
}
}
}//package org.cove.ape
Section 380
//RectangleParticle (org.cove.ape.RectangleParticle)
package org.cove.ape {
public class RectangleParticle extends AbstractParticle {
private var _axes:Array;
private var _radian:Number;
private var _extents:Array;
private var _axes0:Array;
private var _bounds:Array;
public function RectangleParticle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Boolean=false, _arg7:Number=1, _arg8:Number=0.3, _arg9:Number=0){
var _local10:Number;
var _local11:Number;
super(_arg1, _arg2, _arg6, _arg7, _arg8, _arg9);
_local10 = (_arg3 / 2);
_local11 = (_arg4 / 2);
_extents = new Array(_local10, _local11);
_axes = new Array(new Vector(0, 0), new Vector(0, 0));
_axes0 = new Array(new Vector(0, 0), new Vector(0, 0));
radian = _arg5;
_bounds = [_local10, _local11];
}
override public function init():void{
cleanup();
if (displayObject != null){
initDisplay();
};
paint();
}
public function get radian():Number{
return (_radian);
}
public function get axes():Array{
return (_axes);
}
public function get height():Number{
return ((_extents[1] * 2));
}
function getProjection(_arg1:Vector):Interval{
var _local2:Number;
var _local3:Number;
_local2 = ((extents[0] * Math.abs(_arg1.dot(_axes[0]))) + (extents[1] * Math.abs(_arg1.dot(_axes[1]))));
_local3 = samp.dot(_arg1);
interval.min = (_local3 - _local2);
interval.max = (_local3 + _local2);
return (interval);
}
public function set radian(_arg1:Number):void{
_radian = _arg1;
setAxes(_arg1);
}
public function set height(_arg1:Number):void{
_extents[1] = (_arg1 / 2);
}
override public function paint():void{
sprite.x = curr.x;
sprite.y = curr.y;
sprite.rotation = angle;
}
function get extents():Array{
return (_extents);
}
public function set width(_arg1:Number):void{
_extents[0] = (_arg1 / 2);
}
private function setAxes(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
_local2 = Math.sin(_arg1);
_local3 = Math.cos(_arg1);
_axes[0].x = _local3;
_axes[0].y = _local2;
_axes[1].x = -(_local2);
_axes[1].y = _local3;
_local2 = Math.sin(0);
_local3 = Math.cos(0);
_axes0[0].x = _local3;
_axes0[0].y = _local2;
_axes0[1].x = -(_local2);
_axes0[1].y = _local3;
}
public function set angle(_arg1:Number):void{
radian = (_arg1 * MathUtil.PI_OVER_ONE_EIGHTY);
}
public function get bounds():Array{
return (_bounds);
}
public function get width():Number{
return ((_extents[0] * 2));
}
public function get angle():Number{
return ((radian * MathUtil.ONE_EIGHTY_OVER_PI));
}
}
}//package org.cove.ape
Section 381
//SpringConstraint (org.cove.ape.SpringConstraint)
package org.cove.ape {
import flash.display.*;
public class SpringConstraint extends AbstractConstraint {
private var _restLength:Number;
private var _collidable:Boolean;
private var p1:AbstractParticle;
private var p2:AbstractParticle;
private var _scp:SpringConstraintParticle;
public function SpringConstraint(_arg1:AbstractParticle, _arg2:AbstractParticle, _arg3:Number=0.5, _arg4:Boolean=false, _arg5:Number=1, _arg6:Number=1, _arg7:Boolean=false){
super(_arg3);
this.p1 = _arg1;
this.p2 = _arg2;
checkParticlesLocation();
_restLength = currLength;
setCollidable(_arg4, _arg5, _arg6, _arg7);
}
public function set rectScale(_arg1:Number):void{
if (scp == null){
return;
};
scp.rectScale = _arg1;
}
override public function init():void{
cleanup();
if (collidable){
scp.init();
} else {
if (displayObject != null){
initDisplay();
};
};
paint();
}
function initDisplay():void{
if (collidable){
scp.initDisplay();
} else {
displayObject.x = displayObjectOffset.x;
displayObject.y = displayObjectOffset.y;
displayObject.rotation = displayObjectRotation;
sprite.addChild(displayObject);
};
}
public function isConnectedTo(_arg1:AbstractParticle):Boolean{
return ((((_arg1 == p1)) || ((_arg1 == p2))));
}
public function get radian():Number{
var _local1:Vector;
_local1 = delta;
return (Math.atan2(_local1.y, _local1.x));
}
function get scp():SpringConstraintParticle{
return (_scp);
}
public function get rectHeight():Number{
return (scp.rectHeight);
}
public function setDisplay(_arg1:DisplayObject, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0):void{
if (collidable){
scp.setDisplay(_arg1, _arg2, _arg3, _arg4);
} else {
displayObject = _arg1;
displayObjectRotation = _arg4;
displayObjectOffset = new Vector(_arg2, _arg3);
};
}
private function checkParticlesLocation():void{
if ((((p1.curr.x == p2.curr.x)) && ((p1.curr.y == p2.curr.y)))){
p2.curr.x = (p2.curr.x + 0.0001);
};
}
public function set restLength(_arg1:Number):void{
if (_arg1 <= 0){
throw (new ArgumentError("restLength must be greater than 0"));
};
_restLength = _arg1;
}
public function get currLength():Number{
return (p1.curr.distance(p2.curr));
}
public function get fixedEndLimit():Number{
return (scp.fixedEndLimit);
}
public function get rectScale():Number{
return (scp.rectScale);
}
function get delta():Vector{
return (p1.curr.minus(p2.curr));
}
public function get angle():Number{
return ((radian * MathUtil.ONE_EIGHTY_OVER_PI));
}
public function get center():Vector{
return (p1.curr.plus(p2.curr).divEquals(2));
}
public function set rectHeight(_arg1:Number):void{
if (scp == null){
return;
};
scp.rectHeight = _arg1;
}
override public function paint():void{
var _local1:Vector;
if (collidable){
scp.paint();
} else {
if (displayObject != null){
_local1 = center;
sprite.x = _local1.x;
sprite.y = _local1.y;
sprite.rotation = angle;
} else {
sprite.graphics.clear();
sprite.graphics.lineStyle(lineThickness, lineColor, lineAlpha);
sprite.graphics.moveTo(p1.px, p1.py);
sprite.graphics.lineTo(p2.px, p2.py);
};
};
}
public function setCollidable(_arg1:Boolean, _arg2:Number, _arg3:Number, _arg4:Boolean=false):void{
_collidable = _arg1;
_scp = null;
if (_collidable){
_scp = new SpringConstraintParticle(p1, p2, this, _arg2, _arg3, _arg4);
};
}
public function get collidable():Boolean{
return (_collidable);
}
public function get restLength():Number{
return (_restLength);
}
override function resolve():void{
var _local1:Number;
var _local2:Number;
var _local3:Vector;
if (((p1.fixed) && (p2.fixed))){
return;
};
_local1 = currLength;
_local2 = ((_local1 - restLength) / (_local1 * (p1.invMass + p2.invMass)));
_local3 = delta.mult((_local2 * stiffness));
p1.curr.minusEquals(_local3.mult(p1.invMass));
p2.curr.plusEquals(_local3.mult(p2.invMass));
}
public function get fixed():Boolean{
return (((p1.fixed) && (p2.fixed)));
}
public function set fixedEndLimit(_arg1:Number):void{
if (scp == null){
return;
};
scp.fixedEndLimit = _arg1;
}
}
}//package org.cove.ape
Section 382
//SpringConstraintParticle (org.cove.ape.SpringConstraintParticle)
package org.cove.ape {
import flash.display.*;
import org.cove.ape.*;
class SpringConstraintParticle extends RectangleParticle {
private var _fixedEndLimit:Number;
private var _rectScale:Number;
private var rca:Vector;
private var rcb:Vector;
private var s:Number;
private var parent:SpringConstraint;
private var scaleToLength:Boolean;
private var p1:AbstractParticle;
private var lambda:Vector;
private var avgVelocity:Vector;
private var p2:AbstractParticle;
private var _rectHeight:Number;
function SpringConstraintParticle(_arg1:AbstractParticle, _arg2:AbstractParticle, _arg3:SpringConstraint, _arg4:Number, _arg5:Number, _arg6:Boolean){
super(0, 0, 0, 0, 0, false);
this.p1 = _arg1;
this.p2 = _arg2;
lambda = new Vector(0, 0);
avgVelocity = new Vector(0, 0);
parent = _arg3;
this.rectScale = _arg5;
this.rectHeight = _arg4;
this.scaleToLength = _arg6;
fixedEndLimit = 0;
rca = new Vector();
rcb = new Vector();
}
private function setCorners(_arg1:RectangleParticle, _arg2:int):void{
var _local3:Number;
var _local4:Number;
var _local5:Array;
var _local6:Array;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
_local3 = _arg1.curr.x;
_local4 = _arg1.curr.y;
_local5 = _arg1.axes;
_local6 = _arg1.extents;
_local7 = (_local5[0].x * _local6[0]);
_local8 = (_local5[0].y * _local6[0]);
_local9 = (_local5[1].x * _local6[1]);
_local10 = (_local5[1].y * _local6[1]);
_local11 = (_local7 - _local9);
_local12 = (_local8 - _local10);
_local13 = (_local7 + _local9);
_local14 = (_local8 + _local10);
if (_arg2 == 0){
rca.x = (_local3 - _local13);
rca.y = (_local4 - _local14);
rcb.x = (_local3 + _local11);
rcb.y = (_local4 + _local12);
} else {
if (_arg2 == 1){
rca.x = (_local3 + _local11);
rca.y = (_local4 + _local12);
rcb.x = (_local3 + _local13);
rcb.y = (_local4 + _local14);
} else {
if (_arg2 == 2){
rca.x = (_local3 + _local13);
rca.y = (_local4 + _local14);
rcb.x = (_local3 - _local11);
rcb.y = (_local4 - _local12);
} else {
if (_arg2 == 3){
rca.x = (_local3 - _local11);
rca.y = (_local4 - _local12);
rcb.x = (_local3 - _local13);
rcb.y = (_local4 - _local14);
};
};
};
};
}
override public function init():void{
var _local1:Sprite;
var _local2:Number;
var _local3:Number;
if (displayObject != null){
initDisplay();
} else {
_local1 = new Sprite();
parent.sprite.addChild(_local1);
_local1.name = "inner";
_local2 = (parent.currLength * rectScale);
_local3 = rectHeight;
_local1.graphics.clear();
_local1.graphics.lineStyle(parent.lineThickness, parent.lineColor, parent.lineAlpha);
_local1.graphics.beginFill(parent.fillColor, parent.fillAlpha);
_local1.graphics.drawRect((-(_local2) / 2), (-(_local3) / 2), _local2, _local3);
_local1.graphics.endFill();
};
paint();
}
function updatePosition():void{
var _local1:Vector;
_local1 = parent.center;
curr.setTo(_local1.x, _local1.y);
width = (scaleToLength) ? (parent.currLength * rectScale) : (parent.restLength * rectScale);
height = rectHeight;
radian = parent.radian;
}
private function closestPtSegmentSegment():Number{
var _local1:Vector;
var _local2:Vector;
var _local3:Vector;
var _local4:Vector;
var _local5:Vector;
var _local6:Vector;
var _local7:Vector;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Vector;
var _local16:Vector;
var _local17:Vector;
_local1 = p1.curr;
_local2 = p2.curr;
_local3 = rca;
_local4 = rcb;
_local5 = _local2.minus(_local1);
_local6 = _local4.minus(_local3);
_local7 = _local1.minus(_local3);
_local9 = _local5.dot(_local5);
_local10 = _local6.dot(_local6);
_local11 = _local6.dot(_local7);
_local12 = _local5.dot(_local7);
_local13 = _local5.dot(_local6);
_local14 = ((_local9 * _local10) - (_local13 * _local13));
if (_local14 != 0){
s = MathUtil.clamp((((_local13 * _local11) - (_local12 * _local10)) / _local14), 0, 1);
} else {
s = 0.5;
};
_local8 = (((_local13 * s) + _local11) / _local10);
if (_local8 < 0){
_local8 = 0;
s = MathUtil.clamp((-(_local12) / _local9), 0, 1);
} else {
if (_local8 > 0){
_local8 = 1;
s = MathUtil.clamp(((_local13 - _local12) / _local9), 0, 1);
};
};
_local15 = _local1.plus(_local5.mult(s));
_local16 = _local3.plus(_local6.mult(_local8));
_local17 = _local15.minus(_local16);
return (_local15.minus(_local16).dot(_local17));
}
function get rectHeight():Number{
return (_rectHeight);
}
function get fixedEndLimit():Number{
return (_fixedEndLimit);
}
private function closestParamPoint(_arg1:Vector):Number{
var _local2:Vector;
var _local3:Number;
_local2 = p2.curr.minus(p1.curr);
_local3 = (_local2.dot(_arg1.minus(p1.curr)) / _local2.dot(_local2));
return (MathUtil.clamp(_local3, 0, 1));
}
function set rectHeight(_arg1:Number):void{
_rectHeight = _arg1;
}
override public function paint():void{
var _local1:Vector;
var _local2:Sprite;
_local1 = parent.center;
_local2 = parent.sprite;
if (scaleToLength){
_local2.getChildByName("inner").width = (parent.currLength * rectScale);
} else {
if (displayObject != null){
_local2.getChildByName("inner").width = (parent.restLength * rectScale);
};
};
_local2.x = _local1.x;
_local2.y = _local1.y;
_local2.rotation = parent.angle;
}
private function getContactPointParam(_arg1:AbstractParticle):Number{
var _local2:Number;
var _local3:Number;
var _local4:Array;
var _local5:Number;
var _local6:int;
var _local7:Number;
if ((_arg1 is CircleParticle)){
_local2 = closestParamPoint(_arg1.curr);
} else {
if ((_arg1 is RectangleParticle)){
_local4 = new Array(4);
_local5 = Number.POSITIVE_INFINITY;
_local6 = 0;
while (_local6 < 4) {
setCorners((_arg1 as RectangleParticle), _local6);
_local7 = closestPtSegmentSegment();
if (_local7 < _local5){
_local5 = _local7;
_local3 = _local6;
_local4[_local6] = s;
};
_local6++;
};
_local2 = _local4[_local3];
};
};
return (_local2);
}
function set fixedEndLimit(_arg1:Number):void{
_fixedEndLimit = _arg1;
}
override function get invMass():Number{
if (((p1.fixed) && (p2.fixed))){
return (0);
};
return ((1 / ((p1.mass + p2.mass) / 2)));
}
override function initDisplay():void{
var _local1:Sprite;
displayObject.x = displayObjectOffset.x;
displayObject.y = displayObjectOffset.y;
displayObject.rotation = displayObjectRotation;
_local1 = new Sprite();
_local1.name = "inner";
_local1.addChild(displayObject);
parent.sprite.addChild(_local1);
}
function set rectScale(_arg1:Number):void{
_rectScale = _arg1;
}
override public function resolveCollision(_arg1:Vector, _arg2:Vector, _arg3:Vector, _arg4:Number, _arg5:int, _arg6:AbstractParticle):void{
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:AbstractParticle;
_local7 = getContactPointParam(_arg6);
_local8 = (1 - _local7);
_local9 = _local7;
if (p1.fixed){
if (_local9 <= fixedEndLimit){
return;
};
lambda.setTo((_arg1.x / _local9), (_arg1.y / _local9));
p2.curr.plusEquals(lambda);
p2.velocity = _arg2;
} else {
if (p2.fixed){
if (_local8 <= fixedEndLimit){
return;
};
lambda.setTo((_arg1.x / _local8), (_arg1.y / _local8));
p1.curr.plusEquals(lambda);
p1.velocity = _arg2;
} else {
_local10 = ((_local8 * _local8) + (_local9 * _local9));
if (_local10 == 0){
return;
};
lambda.setTo((_arg1.x / _local10), (_arg1.y / _local10));
p1.curr.plusEquals(lambda.mult(_local8));
p2.curr.plusEquals(lambda.mult(_local9));
if (_local7 == 0.5){
p1.velocity = _arg2;
p2.velocity = _arg2;
} else {
_local11 = ((_local7)<0.5) ? p1 : p2;
_local11.velocity = _arg2;
};
};
};
}
override public function get elasticity():Number{
return (((p1.elasticity + p2.elasticity) / 2));
}
function get rectScale():Number{
return (_rectScale);
}
override public function get velocity():Vector{
var _local1:Vector;
var _local2:Vector;
_local1 = p1.velocity;
_local2 = p2.velocity;
avgVelocity.setTo(((_local1.x + _local2.x) / 2), ((_local1.y + _local2.y) / 2));
return (avgVelocity);
}
override public function get friction():Number{
return (((p1.friction + p2.friction) / 2));
}
override public function get mass():Number{
return (((p1.mass + p2.mass) / 2));
}
}
}//package org.cove.ape
Section 383
//Vector (org.cove.ape.Vector)
package org.cove.ape {
public class Vector {
public var x:Number;
public var y:Number;
public function Vector(_arg1:Number=0, _arg2:Number=0){
x = _arg1;
y = _arg2;
}
public function cross(_arg1:Vector):Number{
return (((x * _arg1.y) - (y * _arg1.x)));
}
public function magnitude():Number{
return (Math.sqrt(((x * x) + (y * y))));
}
public function divEquals(_arg1:Number):Vector{
if (_arg1 == 0){
_arg1 = 0.0001;
};
x = (x / _arg1);
y = (y / _arg1);
return (this);
}
public function times(_arg1:Vector):Vector{
return (new Vector((x * _arg1.x), (y * _arg1.y)));
}
public function plusEquals(_arg1:Vector):Vector{
x = (x + _arg1.x);
y = (y + _arg1.y);
return (this);
}
public function dot(_arg1:Vector):Number{
return (((x * _arg1.x) + (y * _arg1.y)));
}
public function toString():String{
return (((x + " : ") + y));
}
public function normalize():Vector{
var _local1:Number;
_local1 = magnitude();
if (_local1 == 0){
_local1 = 0.0001;
};
return (mult((1 / _local1)));
}
public function copy(_arg1:Vector):void{
x = _arg1.x;
y = _arg1.y;
}
public function minusEquals(_arg1:Vector):Vector{
x = (x - _arg1.x);
y = (y - _arg1.y);
return (this);
}
public function minus(_arg1:Vector):Vector{
return (new Vector((x - _arg1.x), (y - _arg1.y)));
}
public function plus(_arg1:Vector):Vector{
return (new Vector((x + _arg1.x), (y + _arg1.y)));
}
public function distance(_arg1:Vector):Number{
var _local2:Vector;
_local2 = this.minus(_arg1);
return (_local2.magnitude());
}
public function setTo(_arg1:Number, _arg2:Number):void{
x = _arg1;
y = _arg2;
}
public function multEquals(_arg1:Number):Vector{
x = (x * _arg1);
y = (y * _arg1);
return (this);
}
public function mult(_arg1:Number):Vector{
return (new Vector((x * _arg1), (y * _arg1)));
}
}
}//package org.cove.ape
Section 384
//Countries (zlong.country.Countries)
package zlong.country {
import zlong.country.*;
class Countries {
private var _countryGroup:Array;
private var _portal:String;
private var _portalGroup:Array;
private var _countries:Object;
private var _country:String;
function Countries(){
initPortalGroup();
}
private function initPortalGroup():void{
var _local1:int;
_portalGroup = new Array();
_local1 = 0;
while (_local1 < CountriesData.DATA.children().length()) {
_portalGroup.push(CountriesData.DATA.children()[_local1].name());
_local1++;
};
}
private function initCountries():void{
var _local1:CountryItem;
var _local2:String;
var _local3:String;
var _local4:String;
var _local5:int;
var _local6:int;
_countries = new Object();
_countryGroup = new Array();
_local6 = 0;
while (_local6 < CountriesData.DATA[_portal]["country"].length()) {
_local2 = CountriesData.DATA[_portal]["country"][_local6].@name;
_local3 = CountriesData.DATA[_portal]["country"][_local6].@domain;
_local4 = CountriesData.DATA[_portal]["country"][_local6].@game;
_local5 = int(CountriesData.DATA[_portal]["country"][_local6].@language);
_local1 = new CountryItem();
_local1.name = _local2;
_local1.domain = _local3;
_local1.game = _local4;
_local1.language = _local5;
_countries[_local1.name] = _local1;
_countryGroup.push(_local2);
_local6++;
};
}
function get countryGroup():Array{
if (_countryGroup == null){
throw (new ArgumentError("Please set portal"));
};
return (_countryGroup);
}
function set country(_arg1:String):void{
if (((!((_countryGroup == null))) && (!(inArray(_arg1, _countryGroup))))){
_country = _countryGroup[0];
trace(("Error in the country value,set country with default value : " + _countryGroup[0]));
trace(("Please set country with value : " + _countryGroup.toString()));
} else {
_country = _arg1;
};
}
function set portal(_arg1:String):void{
if (!inArray(_arg1, _portalGroup)){
throw (new ArgumentError(("Please set portal with value : " + _portalGroup.toString())));
};
_portal = _arg1;
initCountries();
if (((!((_country == null))) && (!(inArray(_country, _countryGroup))))){
throw (new ArgumentError(("Please reset country with value : " + _countryGroup.toString())));
};
}
function get current():CountryItem{
if (_portal == null){
throw (new ArgumentError("Please set portal"));
};
if (_country == null){
throw (new ArgumentError("Please set country"));
};
return (_countries[_country]);
}
private function inArray(_arg1:String, _arg2:Array):Boolean{
var _local3:int;
_local3 = 0;
while (_local3 < _arg2.length) {
if (_arg1 == _arg2[_local3]){
return (true);
};
_local3++;
};
return (false);
}
}
}//package zlong.country
Section 385
//CountriesData (zlong.country.CountriesData)
package zlong.country {
class CountriesData {
static const DATA:XML = <data>
<family>
<country name="br" domain="www.ojogos.com.br" game="jogo" language="7"/><!-- Brazillian -->
<country name="cn" domain="www.game.com.cn" game="moregames" language="15"/><!-- Chinese -->
<country name="de" domain="www.jetztspielen.de" game="spiel" language="5"/><!-- German -->
<country name="es" domain="www.juegos.com" game="juego" language="6"/><!-- Spanish -->
<country name="fr" domain="www.jeux.fr" game="jeu" language="4"/><!-- French -->
<country name="id" domain="www.games.co.id" game="permainanme" language="13"/><!-- Indonesian -->
<country name="in" domain="www.game.co.in" game="game" language="2"/><!-- English UK -->
<country name="it" domain="www.gioco.it" game="gioco" language="9"/><!-- Italian -->
<country name="jp" domain="www.egames.jp" game="game" language="14"/><!-- Japanese -->
<country name="nl" domain="www.spelletjes.nl" game="spel" language="3"/><!-- Dutch -->
<country name="pl" domain="www.gry.pl" game="gra" language="11"/><!-- Polish -->
<country name="pt" domain="www.ojogos.pt" game="jogo" language="8"/><!-- Portuguese -->
<country name="ru" domain="www.ourgames.ru" game="igra" language="12"/><!-- Russian -->
<country name="se" domain="www.spela.se" game="spel_" language="10"/><!-- Swedish -->
<country name="en_uk" domain="www.games.co.uk" game="game" language="2"/><!-- English UK -->
<country name="en_us" domain="www.gamesgames.com" game="game" language="1"/><!-- English US -->
<!-- removed -->
<!-- country name="ph" domain="www.laro.com.ph" game="game" language="2"/ --><!-- English UK -->
<!-- country name="tr" domain="www.asoyun.com" game="oyun" language="13"/ --><!-- Turkish -->
<!-- country name="my" domain="www.game.com.my" game="permainan_" language="15"/ --><!-- Malaysian -->
</family>
<tween>
<country name="br" domain="www.clickjogos.com" game="jogo" language="7"/><!-- Brazillian -->
<country name="cn" domain="www.game.com.cn" game="moregames" language="15"/><!-- Chinese -->
<country name="de" domain="www.spielen.com" game="spiel" language="5"/><!-- German -->
<country name="es" domain="www.zapjuegos.com" game="juego" language="6"/><!-- Spanish -->
<country name="fr" domain="www.jeu.fr" game="jeu" language="4"/><!-- French -->
<country name="id" domain="www.games.co.id" game="permainanme" language="13"/><!-- Indonesian -->
<country name="in" domain="www.game.co.in" game="game" language="2"/><!-- English UK -->
<country name="it" domain="www.giocaregratis.it" game="gioco" language="9"/><!-- Italian -->
<country name="jp" domain="www.egames.jp" game="game" language="14"/><!-- Japanese -->
<country name="nl" domain="www.spel.nl" game="spel" language="3"/><!-- Dutch -->
<country name="pl" domain="www.minigry.pl" game="gra" language="11"/><!-- Polish -->
<country name="pt" domain="www.ojogos.pt" game="jogo" language="8"/><!-- Portuguese -->
<country name="ru" domain="www.flashgames.ru" game="igra" language="12"/><!-- Russian -->
<country name="se" domain="www.spel.se" game="spel_" language="10"/><!-- Swedish -->
<country name="en_uk" domain="www.mygames.co.uk" game="game" language="2"/><!-- English UK -->
<country name="en_us" domain="www.agame.com" game="game" language="1"/><!-- English US -->
<!-- removed -->
<!-- country name="ph" domain="www.laro.com.ph" game="game" language="2"/ --><!-- English UK -->
<!-- country name="tr" domain="www.asoyun.com" game="oyun" language="13"/ --><!-- Turkish -->
<!-- country name="my" domain="www.game.com.my" game="permainan_" language="15"/ --><!-- Malaysian -->
</tween>
<girl>
<country name="br" domain="www.girlsgogames.com.br" game="jogo" language="7"/><!-- Brazillian -->
<country name="cn" domain="www.game.com.cn" game="moregames" language="15"/><!-- Chinese -->
<country name="de" domain="www.girlsgogames.de" game="spiel" language="5"/><!-- German -->
<country name="es" domain="www.girlsgogames.es" game="juego" language="6"/><!-- Spanish -->
<country name="fr" domain="www.girlsgogames.fr" game="jeu" language="4"/><!-- French -->
<country name="id" domain="www.games.co.id" game="permainanme" language="13"/><!-- Indonesian -->
<country name="it" domain="www.girlsgogames.it" game="gioco" language="9"/><!-- Italian -->
<country name="jp" domain="www.egames.jp" game="game" language="14"/><!-- Japanese -->
<country name="nl" domain="www.girlsgogames.nl" game="spel" language="3"/><!-- Dutch -->
<country name="pl" domain="www.girlsgogames.pl" game="gra" language="11"/><!-- Polish -->
<country name="pt" domain="www.ojogos.pt" game="jogo" language="8"/><!-- Portuguese -->
<country name="ru" domain="www.girlsgogames.ru" game="igra" language="12"/><!-- Russian -->
<country name="se" domain="www.girlsgogames.se" game="spel_" language="10"/><!-- Swedish -->
<country name="en_uk" domain="www.girlsgogames.co.uk" game="game" language="2"/><!-- English UK -->
<country name="en_us" domain="www.girlsgogames.com" game="game" language="1"/><!-- English US -->
<!-- removed -->
<!-- country name="ph" domain="www.laro.com.ph" game="game" language="2"/ --><!-- English UK -->
<!-- country name="in" domain="www.girlsgogames.in" game="game" language="2"/ --><!-- English UK -->
<!-- country name="tr" domain="www.girlsgogamestr.com" game="oyun" language="13"/ --><!-- Turkish -->
<!-- country name="my" domain="www.game.com.my" game="permainan_" language="15"/ --><!-- Malaysian -->
</girl>
<teen>
<country name="br" domain="www.a10.com" game="jogo" language="7"/><!-- Brazillian -->
<country name="cn" domain="www.game.com.cn" game="moregames" language="15"/><!-- Chinese -->
<country name="de" domain="www.a10.com" game="spiel" language="5"/><!-- German -->
<country name="es" domain="www.a10.com" game="juego" language="6"/><!-- Spanish -->
<country name="fr" domain="www.a10.com" game="jeu" language="4"/><!-- French -->
<country name="id" domain="www.a10.com" game="permainanme" language="13"/><!-- Indonesian -->
<country name="in" domain="www.a10.com" game="game" language="2"/><!-- English UK -->
<country name="it" domain="www.a10.com" game="gioco" language="9"/><!-- Italian -->
<country name="jp" domain="www.a10.com" game="game" language="14"/><!-- Japanese -->
<country name="nl" domain="www.a10.com" game="spel" language="3"/><!-- Dutch -->
<country name="pl" domain="www.a10.com" game="gra" language="11"/><!-- Polish -->
<country name="pt" domain="www.a10.com" game="jogo" language="8"/><!-- Portuguese -->
<country name="ru" domain="www.a10.com" game="igra" language="12"/><!-- Russian -->
<country name="se" domain="www.a10.com" game="spel_" language="10"/><!-- Swedish -->
<country name="en_uk" domain="www.a10.com" game="game" language="2"/><!-- English UK -->
<country name="en_us" domain="www.a10.com" game="game" language="1"/><!-- English US -->
<!-- removed -->
<!-- country name="ph" domain="www.a10.com" game="game" language="2"/ --><!-- English UK -->
<!-- country name="tr" domain="www.a10.com" game="oyun" language="13"/ --><!-- Turkish -->
<!-- country name="my" domain="www.a10.com" game="permainan_" language="15"/ --><!-- Malaysian -->
</teen>
</data>
;
}
}//package zlong.country
Section 386
//CountryInfo (zlong.country.CountryInfo)
package zlong.country {
import zlong.domain.*;
import zlong.data.*;
public class CountryInfo {
private var countries:Countries;
private static var _instance:CountryInfo;
public function CountryInfo(){
countries = new Countries();
}
public function get domain():String{
return (countries.current.domain);
}
public function get countryGroup():Array{
return (countries.countryGroup);
}
public function get thisGameLink():String{
var _local1:String;
_local1 = ("http://" + domain);
_local1 = (_local1 + ((("/" + countries.current.game) + "/") + GameInfo.html));
if (countries.current.name != "cn"){
_local1 = (_local1 + ("?utm_medium=brandedgames_" + (DomainInfo.instance.allowed) ? "internal" : "external"));
_local1 = (_local1 + ("&utm_campaign=" + GameInfo.name));
_local1 = (_local1 + ("&utm_source=" + DomainInfo.instance.domainAb));
};
return (_local1);
}
public function set country(_arg1:String):void{
countries.country = _arg1;
}
public function get moreGameLink():String{
var _local1:String;
_local1 = ("http://" + domain);
if (countries.current.name != "cn"){
_local1 = (_local1 + "/");
_local1 = (_local1 + ("?utm_medium=brandedgames_" + (DomainInfo.instance.allowed) ? "internal" : "external"));
_local1 = (_local1 + ("&utm_campaign=" + GameInfo.name));
_local1 = (_local1 + ("&utm_source=" + DomainInfo.instance.domainAb));
} else {
_local1 = (_local1 + "/");
_local1 = (_local1 + "moregames");
_local1 = (_local1 + "/");
};
return (_local1);
}
public function get country():String{
return (countries.current.name);
}
public function set portal(_arg1:String):void{
countries.portal = _arg1;
}
public function get language():int{
return (countries.current.language);
}
public static function get instance():CountryInfo{
if (_instance == null){
_instance = new (CountryInfo);
};
return (_instance);
}
}
}//package zlong.country
Section 387
//CountryItem (zlong.country.CountryItem)
package zlong.country {
final class CountryItem {
var domain:String;
var game:String;
var language:int;
var name:String;
}
}//package zlong.country
Section 388
//CountryCookie (zlong.data.CountryCookie)
package zlong.data {
import flash.net.*;
public class CountryCookie {
private static const countryName:String = "savedLang";
private static const name:String = "spilgames_language_v100";
private static var so:SharedObject;
public function CountryCookie():void{
so = SharedObject.getLocal(name, "/");
}
public static function set country(_arg1:String):void{
so.data[countryName] = _arg1;
}
public static function get country():String{
return (so.data[countryName]);
}
}
}//package zlong.data
Section 389
//GameInfo (zlong.data.GameInfo)
package zlong.data {
public class GameInfo {
public static var width:int = 550;
public static var height:int = 400;
public static var html:String = "Game-Name.html";
public static var cnversion:Boolean = false;
public static var name:String = "Game_Name";
public static var portal:String = "family";
}
}//package zlong.data
Section 390
//Copyright (zlong.display.Copyright)
package zlong.display {
import flash.events.*;
import flash.display.*;
import zlong.navigate.*;
public class Copyright extends MovieClip {
public function Copyright(){
this.stop();
this.buttonMode = true;
this.mouseChildren = false;
initEvent();
}
private function mouseUpHandler(_arg1:MouseEvent):void{
this.gotoAndStop(2);
}
private function rollOverHandler(_arg1:MouseEvent):void{
this.gotoAndStop(2);
}
private function mouseDownHandler(_arg1:MouseEvent):void{
this.gotoAndStop(3);
}
private function initEvent():void{
this.addEventListener(MouseEvent.CLICK, Handler.click_copyright);
this.addEventListener(MouseEvent.ROLL_OVER, rollOverHandler);
this.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
this.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
this.addEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
this.addEventListener(Event.REMOVED_FROM_STAGE, removeFromStageHandler);
}
private function delEvent():void{
this.removeEventListener(MouseEvent.CLICK, Handler.click_copyright);
this.removeEventListener(MouseEvent.ROLL_OVER, rollOverHandler);
this.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
this.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
this.removeEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
this.removeEventListener(Event.REMOVED_FROM_STAGE, removeFromStageHandler);
}
private function rollOutHandler(_arg1:MouseEvent):void{
this.gotoAndStop(1);
}
private function removeFromStageHandler(_arg1:Event):void{
delEvent();
}
}
}//package zlong.display
Section 391
//CountriesBox (zlong.display.CountriesBox)
package zlong.display {
import flash.events.*;
import flash.display.*;
import zlong.country.*;
import flash.geom.*;
import zlong.data.*;
public class CountriesBox extends Sprite {
private var flagMc:MovieClip;
private var selectBox:MovieClip;
public var countryName:countryMc;
public var selectbox:MovieClip;
private var i:uint;
public var flag:MovieClip;
private var pop:Sprite;
public var popList:MovieClip;
private var baseX:Number;// = 0
private var baseY:Number;// = 0
private var country_name:TranText;
private var nameGroup:Array;
private var mul:int;// = 1
private var obj:Object;
public function CountriesBox(){
mul = 1;
baseX = 0;
baseY = 0;
nameGroup = [];
super();
if (GameInfo.cnversion){
this.visible = false;
setLanguage("cn");
};
obj = new Object();
addEventListener(Event.ADDED_TO_STAGE, addToStageHandler);
addEventListener(Event.REMOVED_FROM_STAGE, removeFromStageHandler);
}
private function init():void{
initPos();
setFlag();
setPop();
initEvent();
initPoPEvent();
}
private function initPoPEvent():void{
pop.addEventListener(MouseEvent.MOUSE_OVER, overPoPHandler);
pop.addEventListener(MouseEvent.MOUSE_OUT, outPoPHandler);
}
private function delPoPEvent():void{
pop.removeEventListener(MouseEvent.MOUSE_OVER, overPoPHandler);
pop.removeEventListener(MouseEvent.MOUSE_OUT, outPoPHandler);
}
private function outHandler(_arg1:MouseEvent):void{
pop.visible = false;
}
private function initPos():void{
var _local1:Point;
_local1 = new Point();
_local1 = this.localToGlobal(new Point(x, y));
if (_local1.y > (GameInfo.height / 2)){
mul = 1;
} else {
mul = -1;
};
}
private function initEvent():void{
addEventListener(MouseEvent.ROLL_OVER, overHandler, false, 0, true);
addEventListener(MouseEvent.ROLL_OUT, outHandler, false, 0, true);
addEventListener(MouseEvent.CLICK, clickHandler, false, 0, true);
}
private function setPop():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:MovieClip;
var _local6:String;
var _local7:int;
_local3 = 0;
_local4 = 0;
pop = (getChildByName("popList") as Sprite);
selectBox = (getChildByName("selectbox") as MovieClip);
_local1 = pop["_blank"].width;
_local2 = (pop["_blank"].height - 1);
baseX = selectBox.x;
nameGroup = CountryInfo.instance.countryGroup;
_local7 = nameGroup.length;
if (mul == 1){
baseY = ((selectBox.y - (Math.round((_local7 / 2)) * _local2)) + _local2);
} else {
baseY = ((selectBox.y + selectBox.height) + _local2);
};
pop.y = baseY;
pop.visible = false;
pop["_blank"].visible = false;
i = 0;
while (i < _local7) {
_local6 = nameGroup[i];
if (pop.getChildByName(("l_" + _local6)) != null){
_local5 = (pop.getChildByName(("l_" + _local6)) as MovieClip);
_local5.mouseChildren = false;
_local5.buttonMode = true;
_local5.stop();
_local5["flag"].mouseEnable = false;
_local5["flag"].mouseChildren = false;
_local5["flag"].gotoAndStop(_local6);
obj[("l_" + _local6)] = true;
_local3 = (((i % 2) == 0)) ? 0 : 1;
_local5.x = ((_local1 * (i % 2)) - _local3);
_local5.y = ((_local2 * Math.floor((i / 2))) - _local2);
};
i++;
};
i = 0;
while (i < pop.numChildren) {
if (pop.getChildAt(i).name.indexOf("l_") != -1){
if (obj[pop.getChildAt(i).name] == undefined){
pop.getChildAt(i).visible = false;
};
};
i++;
};
if ((nameGroup.length % 2) == 0){
pop["_blank"].visible = false;
} else {
pop["_blank"].visible = true;
pop["_blank"].x = (_local1 - 1);
pop["_blank"].y = (((_local2 * Math.floor((nameGroup.length / 2))) - _local2) - _local4);
};
}
private function addToStageHandler(_arg1:Event):void{
init();
}
private function clickHandler(_arg1:MouseEvent):void{
var _local2:String;
var _local3:MovieClip;
_local2 = _arg1.target["name"];
if (_local2 == "_blank"){
return;
};
if (_local2.indexOf("l_") != -1){
_local3 = (_arg1.target["getChildByName"]("flag") as MovieClip);
flagMc.gotoAndStop(_local2.substr(2));
country_name.gotoAndStop(_local3.currentFrame);
setLanguage(_local2.substr(2));
pop.visible = false;
};
}
private function outPoPHandler(_arg1:MouseEvent):void{
var _local2 = _arg1.target;
_local2["gotoAndStop"](1);
}
private function overPoPHandler(_arg1:MouseEvent):void{
var _local2 = _arg1.target;
_local2["gotoAndStop"](2);
}
private function overHandler(_arg1:MouseEvent):void{
pop.visible = true;
}
private function setLanguage(_arg1:String):void{
CountryInfo.instance.country = _arg1;
CountryCookie.country = _arg1;
Dispatcher.langChanged();
}
private function removeFromStageHandler(_arg1:Event):void{
removeEventListener(MouseEvent.ROLL_OVER, overHandler);
removeEventListener(MouseEvent.ROLL_OUT, outHandler);
removeEventListener(MouseEvent.CLICK, clickHandler);
removeEventListener(Event.ADDED_TO_STAGE, addToStageHandler);
removeEventListener(Event.REMOVED_FROM_STAGE, removeFromStageHandler);
delPoPEvent();
}
private function setFlag():void{
country_name = (getChildByName("countryName") as TranText);
country_name.change = false;
flagMc = (getChildByName("flag") as MovieClip);
flagMc.gotoAndStop(CountryInfo.instance.country);
country_name.gotoAndStop(CountryInfo.instance.country);
}
}
}//package zlong.display
Section 392
//Dispatcher (zlong.display.Dispatcher)
package zlong.display {
import flash.events.*;
class Dispatcher {
static const LANGUAGE_CHANGED:String = "languageChanged";
static var dispatcher:EventDispatcher = new EventDispatcher();
static function langChanged():void{
dispatcher.dispatchEvent(new Event(LANGUAGE_CHANGED));
}
}
}//package zlong.display
Section 393
//ExtButton (zlong.display.ExtButton)
package zlong.display {
import flash.events.*;
import flash.display.*;
import code.ui.*;
import zlong.navigate.*;
public class ExtButton extends MovieClip {
private var _type:String;// = "moregames"
private var _position:String;// = "button_preloader"
public function ExtButton(){
_type = "moregames";
_position = "button_preloader";
super();
this.stop();
this.buttonMode = true;
this.mouseChildren = false;
initEvent();
}
private function mouseUpHandler(_arg1:MouseEvent):void{
this.gotoAndStop(2);
}
public function get position():String{
return (_position);
}
private function rollOverHandler(_arg1:MouseEvent):void{
this.gotoAndStop(2);
UI.buttonTouch();
}
private function mouseDownHandler(_arg1:MouseEvent):void{
UI.buttonPress();
this.gotoAndStop(3);
}
public function set position(_arg1:String):void{
_position = _arg1;
}
private function initEvent():void{
this.addEventListener(MouseEvent.CLICK, clickHandler);
this.addEventListener(MouseEvent.ROLL_OVER, rollOverHandler);
this.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
this.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
this.addEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
this.addEventListener(Event.REMOVED_FROM_STAGE, removeFromStageHandler);
}
public function set type(_arg1:String):void{
_type = _arg1;
}
private function delEvent():void{
this.removeEventListener(MouseEvent.CLICK, clickHandler);
this.removeEventListener(MouseEvent.ROLL_OVER, rollOverHandler);
this.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
this.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
this.removeEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
this.removeEventListener(Event.REMOVED_FROM_STAGE, removeFromStageHandler);
}
private function rollOutHandler(_arg1:MouseEvent):void{
this.gotoAndStop(1);
}
public function get type():String{
return (_type);
}
private function clickHandler(_arg1:MouseEvent):void{
if (type == "moregames"){
Handler.click_moregames(_position);
} else {
Handler.click_thisgame(_position);
};
}
private function removeFromStageHandler(_arg1:Event):void{
delEvent();
}
}
}//package zlong.display
Section 394
//Logo (zlong.display.Logo)
package zlong.display {
import flash.events.*;
import flash.display.*;
import zlong.country.*;
import zlong.navigate.*;
public class Logo extends MovieClip {
private const MAX_WIDTH:int = 200;
private const Max_HEIGHT:int = 50;
private var _maxHeight:Number;// = 40
private var _maxWidth:Number;// = 150
public var aa:MovieClip;
public var displayArea_mc:MovieClip;
private var _hitArea:Sprite;
private var _position:String;// = "logo_preloader"
private var _alignVertical:String;// = "Center"
private var _alignHorizontal:String;// = "Center"
public function Logo(){
_position = "logo_preloader";
_alignHorizontal = "Center";
_alignVertical = "Center";
_maxWidth = 150;
_maxHeight = 40;
super();
initDis();
addEventListener(Event.ADDED_TO_STAGE, initEvent, false, 0, true);
}
private function destroy():void{
delDis();
delEvent();
}
private function updateView():void{
var _local1:Sprite;
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local1 = (this.getChildAt(0) as Sprite);
_local1.scaleX = 1;
_local1.scaleY = 1;
_local2 = (_maxHeight / _local1.height);
_local3 = (_maxWidth / _local1.width);
_local4 = ((_local2 > _local3)) ? _local3 : _local2;
_local1.scaleX = _local4;
_local1.scaleY = _local4;
switch (_alignHorizontal){
case "Left":
_local1.x = 0;
break;
case "Right":
_local1.x = (MAX_WIDTH - _local1.width);
break;
case "Center":
_local1.x = ((MAX_WIDTH - _local1.width) / 2);
break;
};
switch (_alignVertical){
case "Up":
_local1.y = 0;
break;
case "Down":
_local1.y = (Max_HEIGHT - _local1.height);
break;
case "Center":
_local1.y = ((Max_HEIGHT - _local1.height) / 2);
break;
};
_hitArea.width = _local1.width;
_hitArea.height = _local1.height;
_hitArea.x = _local1.x;
_hitArea.y = _local1.y;
}
public function set alignHorizontal(_arg1:String):void{
_alignHorizontal = _arg1;
}
public function set alignVertical(_arg1:String):void{
_alignVertical = _arg1;
}
private function langChangeHandler(_arg1:Event):void{
gotoAndStop(CountryInfo.instance.domain);
}
public function set maxHeight(_arg1:Number):void{
if (_arg1 < 0){
_arg1 = 0;
} else {
if (_arg1 > Max_HEIGHT){
_arg1 = Max_HEIGHT;
};
};
_maxHeight = _arg1;
}
public function set position(_arg1:String):void{
_position = _arg1;
}
private function initEvent(_arg1:Event=null):void{
this.addEventListener(Event.REMOVED_FROM_STAGE, removeFromStageHandler);
this.addEventListener(MouseEvent.CLICK, clickHandler);
Dispatcher.dispatcher.addEventListener(Dispatcher.LANGUAGE_CHANGED, langChangeHandler);
}
private function initDis():void{
var _local1:int;
buttonMode = true;
_hitArea = new Sprite();
this.addChild(_hitArea);
_hitArea.graphics.beginFill(3368601, 0);
_hitArea.graphics.drawRect(0, 0, 10, 10);
_hitArea.graphics.endFill();
this["displayArea_mc"].visible = false;
_local1 = 0;
while (_local1 < this.totalFrames) {
this.addFrameScript(_local1, updateView);
_local1++;
};
gotoAndStop(CountryInfo.instance.domain);
}
private function delEvent():void{
this.removeEventListener(Event.REMOVED_FROM_STAGE, removeFromStageHandler);
this.removeEventListener(MouseEvent.CLICK, clickHandler);
Dispatcher.dispatcher.removeEventListener(Dispatcher.LANGUAGE_CHANGED, langChangeHandler);
}
private function delDis():void{
stop();
}
public function set maxWidth(_arg1:Number):void{
if (_arg1 < 0){
_arg1 = 0;
} else {
if (_arg1 > MAX_WIDTH){
_arg1 = MAX_WIDTH;
};
};
_maxWidth = _arg1;
}
private function clickHandler(_arg1:MouseEvent):void{
Handler.click_moregames(_position);
}
private function removeFromStageHandler(_arg1:Event):void{
destroy();
}
}
}//package zlong.display
Section 395
//Menu (zlong.display.Menu)
package zlong.display {
import flash.events.*;
import flash.display.*;
import zlong.country.*;
import zlong.navigate.*;
import flash.ui.*;
public class Menu {
private var item:ContextMenuItem;
private var document:Sprite;
private var menu:ContextMenu;
public function Menu(_arg1:Sprite){
document = _arg1;
init();
initEvent();
}
private function changeLang(_arg1:Event):void{
item.caption = CountryInfo.instance.domain;
}
private function initEvent():void{
item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, clickItemHandler);
Dispatcher.dispatcher.addEventListener(Dispatcher.LANGUAGE_CHANGED, changeLang);
}
private function init():void{
var _local1:ContextMenuBuiltInItems;
menu = new ContextMenu();
menu.hideBuiltInItems();
_local1 = menu.builtInItems;
_local1.print = true;
item = new ContextMenuItem(("MoreGame: " + CountryInfo.instance.domain));
menu.customItems.push(item);
trace(("item: " + item.caption));
document.contextMenu = menu;
}
private function clickItemHandler(_arg1:ContextMenuEvent):void{
Handler.click_moregames("Contex_Menu");
}
}
}//package zlong.display
Section 396
//TranText (zlong.display.TranText)
package zlong.display {
import flash.events.*;
import flash.display.*;
import zlong.country.*;
public class TranText extends MovieClip {
private var isChange:Boolean;// = true
public function TranText(){
isChange = true;
super();
changeLang();
addEventListener(Event.ADDED_TO_STAGE, initEvent, false, 0, true);
}
private function langChangeHandler(_arg1:Event):void{
if (isChange){
changeLang();
};
}
private function removeHandler(_arg1:Event):void{
removeEventListener(Event.REMOVED_FROM_STAGE, removeHandler);
Dispatcher.dispatcher.removeEventListener(Dispatcher.LANGUAGE_CHANGED, langChangeHandler);
}
private function initEvent(_arg1:Event=null):void{
addEventListener(Event.REMOVED_FROM_STAGE, removeHandler);
Dispatcher.dispatcher.addEventListener(Dispatcher.LANGUAGE_CHANGED, langChangeHandler);
}
public function set change(_arg1:Boolean):void{
isChange = _arg1;
}
private function changeLang():void{
gotoAndStop(CountryInfo.instance.language);
}
}
}//package zlong.display
Section 397
//DomainData (zlong.domain.DomainData)
package zlong.domain {
final class DomainData {
static const allowedDomain:Array = ["www8.agame.com", "www.zlonggamestest.com", "gamedev.dev.spilgames.com", "localhost"];
}
}//package zlong.domain
Section 398
//DomainInfo (zlong.domain.DomainInfo)
package zlong.domain {
import flash.net.*;
public final class DomainInfo {
private var _domain:String;
private var _domainAb:String;
private var _allowed:Boolean;
private static var _instance:DomainInfo;
public function DomainInfo(){
_domain = new LocalConnection().domain;
initAllowed();
initAb();
}
public function get domainAb():String{
return (_domainAb);
}
public function get allowed():Boolean{
return (_allowed);
}
public function get domain():String{
return (_domain);
}
private function initAb():void{
var _local1:Array;
var _local2:int;
var _local3:int;
if (_domain != "localhost"){
_local1 = _domain.split(".");
_local2 = (_local1.length - 1);
_local3 = (_local1.length - 2);
_domainAb = ((_local1[_local3] + ".") + _local1[_local2]);
} else {
_domainAb = "offline_play";
};
}
private function initAllowed():void{
var _local1:int;
_local1 = 0;
while (_local1 < DomainData.allowedDomain.length) {
if (_domain == DomainData.allowedDomain[_local1]){
_allowed = true;
break;
};
_local1++;
};
}
public static function get instance():DomainInfo{
if (_instance == null){
_instance = new (DomainInfo);
};
return (_instance);
}
}
}//package zlong.domain
Section 399
//Handler (zlong.navigate.Handler)
package zlong.navigate {
import flash.net.*;
import flash.events.*;
import zlong.country.*;
import flash.external.*;
public class Handler {
public static function click_copyright(_arg1:Event=null):void{
var _local2:URLRequest;
if (CountryInfo.instance.country == "cn"){
_local2 = new URLRequest("http://www.game.com.cn");
} else {
_local2 = new URLRequest("http://www.gameportal.net");
};
navigateToURL(_local2, "_blank");
}
public static function refurbish(_arg1:Event=null):void{
var e = _arg1;
try {
ExternalInterface.call("location.reload");
navigateToURL(new URLRequest(ExternalInterface.call("window.location.href.toString")), "_top");
} catch(myError:Error) {
};
}
public static function click_gamecn(_arg1:Event=null):void{
var _local2:URLRequest;
_local2 = new URLRequest("http://www.game.com.cn");
navigateToURL(_local2, "_blank");
}
public static function click_moregames(_arg1:String):void{
var _local2:URLRequest;
if (CountryInfo.instance.country == "cn"){
_local2 = new URLRequest(CountryInfo.instance.moreGameLink);
} else {
_local2 = new URLRequest(((CountryInfo.instance.moreGameLink + "&utm_content=") + _arg1));
};
navigateToURL(_local2, "_blank");
}
public static function click_thisgame(_arg1:String):void{
var _local2:URLRequest;
if (CountryInfo.instance.country == "cn"){
_local2 = new URLRequest(CountryInfo.instance.moreGameLink);
} else {
_local2 = new URLRequest(((CountryInfo.instance.thisGameLink + "&utm_content=") + _arg1));
};
navigateToURL(_local2, "_blank");
}
}
}//package zlong.navigate
Section 400
//GameSetting (zlong.GameSetting)
package zlong {
import flash.display.*;
import zlong.country.*;
import zlong.data.*;
import zlong.display.*;
public class GameSetting {
public function GameSetting(_arg1:Sprite, _arg2:Boolean, _arg3:String, _arg4:String, _arg5:String, _arg6:int, _arg7:int){
GameInfo.cnversion = _arg2;
GameInfo.portal = _arg3;
GameInfo.name = _arg4;
GameInfo.html = _arg5;
GameInfo.width = _arg6;
GameInfo.height = _arg7;
init();
initMenu(_arg1);
}
private function init():void{
new CountryCookie();
CountryInfo.instance.portal = GameInfo.portal;
if (CountryCookie.country == null){
CountryInfo.instance.country = "en_us";
} else {
CountryInfo.instance.country = String(CountryCookie.country);
};
}
private function initMenu(_arg1:Sprite):void{
new Menu(_arg1);
}
}
}//package zlong
Section 401
//_10 (_10)
package {
import code.*;
public dynamic class _10 extends BitmapMc {
}
}//package
Section 402
//_20 (_20)
package {
import code.*;
public dynamic class _20 extends BitmapMc {
}
}//package
Section 403
//_30 (_30)
package {
import code.*;
public dynamic class _30 extends BitmapMc {
}
}//package
Section 404
//_40 (_40)
package {
import code.*;
public dynamic class _40 extends BitmapMc {
}
}//package
Section 405
//_50 (_50)
package {
import code.*;
public dynamic class _50 extends BitmapMc {
}
}//package
Section 406
//_70 (_70)
package {
import code.*;
public dynamic class _70 extends BitmapMc {
}
}//package
Section 407
//_80 (_80)
package {
import code.*;
public dynamic class _80 extends BitmapMc {
}
}//package
Section 408
//_90 (_90)
package {
import code.*;
public dynamic class _90 extends BitmapMc {
}
}//package
Section 409
//_ball0 (_ball0)
package {
import code.*;
public dynamic class _ball0 extends BitmapMc {
}
}//package
Section 410
//_ball1 (_ball1)
package {
import code.*;
public dynamic class _ball1 extends BitmapMc {
}
}//package
Section 411
//_ball2 (_ball2)
package {
import code.*;
public dynamic class _ball2 extends BitmapMc {
}
}//package
Section 412
//_getRangeMc (_getRangeMc)
package {
import code.game.object.level0.*;
public dynamic class _getRangeMc extends GetRangeMc {
}
}//package
Section 413
//_modifyScaleMc (_modifyScaleMc)
package {
import code.game.object.*;
public dynamic class _modifyScaleMc extends ModifyScale {
}
}//package
Section 414
//airElementCreateMc (airElementCreateMc)
package {
import code.game.object.level3.*;
public dynamic class airElementCreateMc extends ElementCreateMc {
}
}//package
Section 415
//airElementMc (airElementMc)
package {
import code.game.object.level2.*;
public dynamic class airElementMc extends ElementMc {
}
}//package
Section 416
//Ani_change_A (Ani_change_A)
package {
import code.game.object.level2.*;
public dynamic class Ani_change_A extends FairySelect {
}
}//package
Section 417
//anniusgdfg (anniusgdfg)
package {
import code.game.object.level3.*;
public dynamic class anniusgdfg extends SpringObjectLevel3Mc {
}
}//package
Section 418
//Argon_text0 (Argon_text0)
package {
import zlong.display.*;
public dynamic class Argon_text0 extends TranText {
}
}//package
Section 419
//arrow_mc (arrow_mc)
package {
import flash.display.*;
public dynamic class arrow_mc extends MovieClip {
}
}//package
Section 420
//arrow_shoot (arrow_shoot)
package {
import flash.media.*;
public dynamic class arrow_shoot extends Sound {
}
}//package
Section 421
//article1 (article1)
package {
import flash.media.*;
public dynamic class article1 extends Sound {
}
}//package
Section 422
//article2 (article2)
package {
import flash.media.*;
public dynamic class article2 extends Sound {
}
}//package
Section 423
//article3 (article3)
package {
import flash.media.*;
public dynamic class article3 extends Sound {
}
}//package
Section 424
//article4 (article4)
package {
import flash.media.*;
public dynamic class article4 extends Sound {
}
}//package
Section 425
//back (back)
package {
import zlong.display.*;
public dynamic class back extends TranText {
}
}//package
Section 426
//backGround (backGround)
package {
import flash.display.*;
public dynamic class backGround extends MovieClip {
}
}//package
Section 427
//back最大 (back最大)
package {
import code.*;
public dynamic class back最大 extends BitmapMc {
}
}//package
Section 428
//ball0 (ball0)
package {
import flash.display.*;
public dynamic class ball0 extends MovieClip {
public var mc:_ball0;
public function ball0(){
addFrameScript(4, frame5, 14, frame15, 19, frame20);
}
function frame15(){
stop();
}
function frame20(){
stop();
}
function frame5(){
stop();
}
}
}//package
Section 429
//ball1 (ball1)
package {
import flash.display.*;
public dynamic class ball1 extends MovieClip {
public var mc:_ball1;
public function ball1(){
addFrameScript(4, frame5, 14, frame15, 19, frame20);
}
function frame15(){
stop();
}
function frame20(){
stop();
}
function frame5(){
stop();
}
}
}//package
Section 430
//ball2 (ball2)
package {
import flash.display.*;
public dynamic class ball2 extends MovieClip {
public var mc:_ball2;
public function ball2(){
addFrameScript(4, frame5, 14, frame15, 19, frame20);
}
function frame15(){
stop();
}
function frame20(){
stop();
}
function frame5(){
stop();
}
}
}//package
Section 431
//balloon_bomb (balloon_bomb)
package {
import flash.media.*;
public dynamic class balloon_bomb extends Sound {
}
}//package
Section 432
//balloon_bounce (balloon_bounce)
package {
import flash.media.*;
public dynamic class balloon_bounce extends Sound {
}
}//package
Section 433
//blue (blue)
package {
import code.*;
public dynamic class blue extends BitmapMc {
public function blue(){
addFrameScript(1, frame2, 29, frame30);
}
function frame2(){
stop();
}
function frame30(){
this.stop();
if (this.parent != null){
this.parent.removeChild(this);
};
}
}
}//package
Section 434
//bomb (bomb)
package {
import code.game.object.level3.*;
public dynamic class bomb extends BossMc {
}
}//package
Section 435
//bomb_2 (bomb_2)
package {
import flash.media.*;
public dynamic class bomb_2 extends Sound {
}
}//package
Section 436
//bomb_s (bomb_s)
package {
import flash.media.*;
public dynamic class bomb_s extends Sound {
}
}//package
Section 437
//boss_black_attack (boss_black_attack)
package {
import flash.media.*;
public dynamic class boss_black_attack extends Sound {
}
}//package
Section 438
//boss_hand_attack (boss_hand_attack)
package {
import flash.media.*;
public dynamic class boss_hand_attack extends Sound {
}
}//package
Section 439
//boss_howl (boss_howl)
package {
import flash.media.*;
public dynamic class boss_howl extends Sound {
}
}//package
Section 440
//boss_injured (boss_injured)
package {
import flash.media.*;
public dynamic class boss_injured extends Sound {
}
}//package
Section 441
//boss_m (boss_m)
package {
import flash.media.*;
public dynamic class boss_m extends Sound {
}
}//package
Section 442
//boss_move (boss_move)
package {
import flash.media.*;
public dynamic class boss_move extends Sound {
}
}//package
Section 443
//boss0 (boss0)
package {
import code.game.object.level6.*;
public dynamic class boss0 extends Boss0Mc {
}
}//package
Section 444
//boss1 (boss1)
package {
import code.game.object.level3.*;
public dynamic class boss1 extends BossMc {
}
}//package
Section 445
//boss1_ (boss1_)
package {
import code.game.object.level6.*;
public dynamic class boss1_ extends Boss1Mc {
}
}//package
Section 446
//bridge_break (bridge_break)
package {
import flash.media.*;
public dynamic class bridge_break extends Sound {
}
}//package
Section 447
//btn_back_ (btn_back_)
package {
import code.*;
public dynamic class btn_back_ extends ButtonMc {
}
}//package
Section 448
//btn_highscore (btn_highscore)
package {
import code.*;
public dynamic class btn_highscore extends ButtonMc {
}
}//package
Section 449
//btn_howtoplay (btn_howtoplay)
package {
import code.*;
public dynamic class btn_howtoplay extends ButtonMc {
}
}//package
Section 450
//btn_mainMenu (btn_mainMenu)
package {
import code.*;
public dynamic class btn_mainMenu extends ButtonMc {
}
}//package
Section 451
//btn_STARTGAME (btn_STARTGAME)
package {
import code.*;
public dynamic class btn_STARTGAME extends ButtonMc {
}
}//package
Section 452
//btn_submit (btn_submit)
package {
import code.*;
public dynamic class btn_submit extends ButtonMc {
}
}//package
Section 453
//button_a (button_a)
package {
import flash.media.*;
public dynamic class button_a extends Sound {
}
}//package
Section 454
//caixiaoguo (caixiaoguo)
package {
import flash.display.*;
public dynamic class caixiaoguo extends MovieClip {
public function caixiaoguo(){
addFrameScript(5, frame6);
}
function frame6(){
stop();
if (this.parent != null){
this.parent.removeChild(this);
};
}
}
}//package
Section 455
//cannonBallMc (cannonBallMc)
package {
import flash.display.*;
public dynamic class cannonBallMc extends MovieClip {
public function cannonBallMc(){
addFrameScript(5, frame6);
}
function frame6(){
stop();
}
}
}//package
Section 456
//cannonBall静止 (cannonBallé™æ¢)
package {
import code.game.object.level3.*;
public dynamic class cannonBall静止 extends CannonBallStaticMc {
}
}//package
Section 457
//case_break (case_break)
package {
import flash.media.*;
public dynamic class case_break extends Sound {
}
}//package
Section 458
//check_point (check_point)
package {
import flash.media.*;
public dynamic class check_point extends Sound {
}
}//package
Section 459
//clouds_m (clouds_m)
package {
import flash.media.*;
public dynamic class clouds_m extends Sound {
}
}//package
Section 460
//COLLECT (COLLECT)
package {
import zlong.display.*;
public dynamic class COLLECT extends TranText {
}
}//package
Section 461
//COM_LoadingBar (COM_LoadingBar)
package {
import flash.display.*;
public dynamic class COM_LoadingBar extends MovieClip {
}
}//package
Section 462
//COM_LoadingProgress (COM_LoadingProgress)
package {
import flash.display.*;
public dynamic class COM_LoadingProgress extends MovieClip {
}
}//package
Section 463
//complete_m (complete_m)
package {
import flash.media.*;
public dynamic class complete_m extends Sound {
}
}//package
Section 464
//continue (continue)
package {
import zlong.display.*;
public dynamic class continue extends TranText {
}
}//package
Section 465
//countryMc (countryMc)
package {
import zlong.display.*;
public dynamic class countryMc extends TranText {
}
}//package
Section 466
//credit_btn (credit_btn)
package {
import code.*;
public dynamic class credit_btn extends ButtonMc {
}
}//package
Section 467
//credit1FuChong (credit1FuChong)
package {
import zlong.display.*;
public dynamic class credit1FuChong extends TranText {
}
}//package
Section 468
//credit1houhou (credit1houhou)
package {
import zlong.display.*;
public dynamic class credit1houhou extends TranText {
}
}//package
Section 469
//credit1LuYuan (credit1LuYuan)
package {
import zlong.display.*;
public dynamic class credit1LuYuan extends TranText {
}
}//package
Section 470
//credit1qiuyu (credit1qiuyu)
package {
import zlong.display.*;
public dynamic class credit1qiuyu extends TranText {
}
}//package
Section 471
//credit1ricoku (credit1ricoku)
package {
import zlong.display.*;
public dynamic class credit1ricoku extends TranText {
}
}//package
Section 472
//credit1XueJianming (credit1XueJianming)
package {
import zlong.display.*;
public dynamic class credit1XueJianming extends TranText {
}
}//package
Section 473
//credit1YZF (credit1YZF)
package {
import zlong.display.*;
public dynamic class credit1YZF extends TranText {
}
}//package
Section 474
//credit1ZhangAnni (credit1ZhangAnni)
package {
import zlong.display.*;
public dynamic class credit1ZhangAnni extends TranText {
}
}//package
Section 475
//credit1ZhangRui (credit1ZhangRui)
package {
import zlong.display.*;
public dynamic class credit1ZhangRui extends TranText {
}
}//package
Section 476
//credit2ARTWORK (credit2ARTWORK)
package {
import zlong.display.*;
public dynamic class credit2ARTWORK extends TranText {
}
}//package
Section 477
//credit2CREDITS (credit2CREDITS)
package {
import zlong.display.*;
public dynamic class credit2CREDITS extends TranText {
}
}//package
Section 478
//credit2GAMECONCEPT (credit2GAMECONCEPT)
package {
import zlong.display.*;
public dynamic class credit2GAMECONCEPT extends TranText {
}
}//package
Section 479
//credit2GAMEDESIGN (credit2GAMEDESIGN)
package {
import zlong.display.*;
public dynamic class credit2GAMEDESIGN extends TranText {
}
}//package
Section 480
//credit2MUSICSUPERVISOR (credit2MUSICSUPERVISOR)
package {
import zlong.display.*;
public dynamic class credit2MUSICSUPERVISOR extends TranText {
}
}//package
Section 481
//credit2MUSICxu (credit2MUSICxu)
package {
import zlong.display.*;
public dynamic class credit2MUSICxu extends TranText {
}
}//package
Section 482
//credit2PRODUCER (credit2PRODUCER)
package {
import zlong.display.*;
public dynamic class credit2PRODUCER extends TranText {
}
}//package
Section 483
//credit2PROGRAMMING (credit2PROGRAMMING)
package {
import zlong.display.*;
public dynamic class credit2PROGRAMMING extends TranText {
}
}//package
Section 484
//credit2PROJECTMANAGEMENT (credit2PROJECTMANAGEMENT)
package {
import zlong.display.*;
public dynamic class credit2PROJECTMANAGEMENT extends TranText {
}
}//package
Section 485
//credit2SOUNDFX (credit2SOUNDFX)
package {
import zlong.display.*;
public dynamic class credit2SOUNDFX extends TranText {
}
}//package
Section 486
//credit2TESTER (credit2TESTER)
package {
import zlong.display.*;
public dynamic class credit2TESTER extends TranText {
}
}//package
Section 487
//credits_btn (credits_btn)
package {
import zlong.display.*;
public dynamic class credits_btn extends TranText {
}
}//package
Section 488
//creditScreen (creditScreen)
package {
import flash.display.*;
public dynamic class creditScreen extends MovieClip {
public var backBtn:btn_back_;
public var continueBtn:按钮2;
}
}//package
Section 489
//danger_m (danger_m)
package {
import flash.media.*;
public dynamic class danger_m extends Sound {
}
}//package
Section 490
//dargo__double_fly (dargo__double_fly)
package {
import code.*;
public dynamic class dargo__double_fly extends BitmapMc {
}
}//package
Section 491
//dargo__eruptive (dargo__eruptive)
package {
import code.*;
public dynamic class dargo__eruptive extends BitmapMc {
public function dargo__eruptive(){
addFrameScript(25, frame26);
}
function frame26(){
gotoAndPlay(4);
}
}
}//package
Section 492
//dark0 (dark0)
package {
import code.*;
public dynamic class dark0 extends BitmapMc {
}
}//package
Section 493
//Dasher (Dasher)
package {
import code.*;
public dynamic class Dasher extends BitmapMc {
}
}//package
Section 494
//dasher_help (dasher_help)
package {
import flash.media.*;
public dynamic class dasher_help extends Sound {
}
}//package
Section 495
//Dasher_睡觉 (Dasher_ç¡è§‰)
package {
import code.*;
public dynamic class Dasher_睡觉 extends BitmapMc {
}
}//package
Section 496
//Dasher2 (Dasher2)
package {
import zlong.display.*;
public dynamic class Dasher2 extends TranText {
}
}//package
Section 497
//Dasher房间 (Dasher房间)
package {
import code.*;
public dynamic class Dasher房间 extends BitmapMc {
}
}//package
Section 498
//dead (dead)
package {
import code.*;
public dynamic class dead extends BitmapMc {
}
}//package
Section 499
//dgq (dgq)
package {
import code.*;
public dynamic class dgq extends BitmapMc {
}
}//package
Section 500
//dialog01Symbol_1 (dialog01Symbol_1)
package {
import zlong.display.*;
public dynamic class dialog01Symbol_1 extends TranText {
}
}//package
Section 501
//dialog01Symbol_2 (dialog01Symbol_2)
package {
import zlong.display.*;
public dynamic class dialog01Symbol_2 extends TranText {
}
}//package
Section 502
//dialog01Symbol_3 (dialog01Symbol_3)
package {
import zlong.display.*;
public dynamic class dialog01Symbol_3 extends TranText {
}
}//package
Section 503
//dialog50 (dialog50)
package {
import code.game.others.*;
public dynamic class dialog50 extends Dialog50 {
}
}//package
Section 504
//dialog50Symbol_4 (dialog50Symbol_4)
package {
import zlong.display.*;
public dynamic class dialog50Symbol_4 extends TranText {
}
}//package
Section 505
//dialog50Symbol_5 (dialog50Symbol_5)
package {
import zlong.display.*;
public dynamic class dialog50Symbol_5 extends TranText {
}
}//package
Section 506
//dialog50Symbol_6 (dialog50Symbol_6)
package {
import zlong.display.*;
public dynamic class dialog50Symbol_6 extends TranText {
}
}//package
Section 507
//dialog51 (dialog51)
package {
import code.game.others.*;
public dynamic class dialog51 extends DialogInLevel51 {
}
}//package
Section 508
//dialog51Symbol_7 (dialog51Symbol_7)
package {
import zlong.display.*;
public dynamic class dialog51Symbol_7 extends TranText {
}
}//package
Section 509
//dialog51Symbol_8 (dialog51Symbol_8)
package {
import zlong.display.*;
public dynamic class dialog51Symbol_8 extends TranText {
}
}//package
Section 510
//dialog51Symbol_9 (dialog51Symbol_9)
package {
import zlong.display.*;
public dynamic class dialog51Symbol_9 extends TranText {
}
}//package
Section 511
//dialog60 (dialog60)
package {
import code.game.others.*;
public dynamic class dialog60 extends Dialog60 {
}
}//package
Section 512
//dialog60Symbol_10 (dialog60Symbol_10)
package {
import zlong.display.*;
public dynamic class dialog60Symbol_10 extends TranText {
}
}//package
Section 513
//dialog60Symbol_11 (dialog60Symbol_11)
package {
import zlong.display.*;
public dynamic class dialog60Symbol_11 extends TranText {
}
}//package
Section 514
//dialog60Symbol_12 (dialog60Symbol_12)
package {
import zlong.display.*;
public dynamic class dialog60Symbol_12 extends TranText {
}
}//package
Section 515
//dialog61 (dialog61)
package {
import code.game.others.*;
public dynamic class dialog61 extends DialogInLevel61 {
}
}//package
Section 516
//dialog61Symbol_13 (dialog61Symbol_13)
package {
import zlong.display.*;
public dynamic class dialog61Symbol_13 extends TranText {
}
}//package
Section 517
//dialog61Symbol_14 (dialog61Symbol_14)
package {
import zlong.display.*;
public dynamic class dialog61Symbol_14 extends TranText {
}
}//package
Section 518
//dialogGame_mc (dialogGame_mc)
package {
import code.game.others.*;
public dynamic class dialogGame_mc extends DialogGame {
}
}//package
Section 519
//dialogGameSymbol_15 (dialogGameSymbol_15)
package {
import zlong.display.*;
public dynamic class dialogGameSymbol_15 extends TranText {
}
}//package
Section 520
//dialogGameSymbol_16 (dialogGameSymbol_16)
package {
import zlong.display.*;
public dynamic class dialogGameSymbol_16 extends TranText {
}
}//package
Section 521
//dialogGameSymbol_17 (dialogGameSymbol_17)
package {
import zlong.display.*;
public dynamic class dialogGameSymbol_17 extends TranText {
}
}//package
Section 522
//dialogGameSymbol_18 (dialogGameSymbol_18)
package {
import zlong.display.*;
public dynamic class dialogGameSymbol_18 extends TranText {
}
}//package
Section 523
//dialogGameyears_ago (dialogGameyears_ago)
package {
import zlong.display.*;
public dynamic class dialogGameyears_ago extends TranText {
}
}//package
Section 524
//dialogueInLevel3 (dialogueInLevel3)
package {
import code.game.object.level2.*;
public dynamic class dialogueInLevel3 extends DialogInLevel3 {
}
}//package
Section 525
//dialogueInLevel3Symbol_19 (dialogueInLevel3Symbol_19)
package {
import zlong.display.*;
public dynamic class dialogueInLevel3Symbol_19 extends TranText {
}
}//package
Section 526
//dialogueInLevel3Symbol_20 (dialogueInLevel3Symbol_20)
package {
import zlong.display.*;
public dynamic class dialogueInLevel3Symbol_20 extends TranText {
}
}//package
Section 527
//dialogueInLevel3Symbol_21 (dialogueInLevel3Symbol_21)
package {
import zlong.display.*;
public dynamic class dialogueInLevel3Symbol_21 extends TranText {
}
}//package
Section 528
//dialogueInLevel3Symbol_22 (dialogueInLevel3Symbol_22)
package {
import zlong.display.*;
public dynamic class dialogueInLevel3Symbol_22 extends TranText {
}
}//package
Section 529
//dialogueInLevel3Symbol_23 (dialogueInLevel3Symbol_23)
package {
import zlong.display.*;
public dynamic class dialogueInLevel3Symbol_23 extends TranText {
}
}//package
Section 530
//diamond_s (diamond_s)
package {
import flash.media.*;
public dynamic class diamond_s extends Sound {
}
}//package
Section 531
//drago_bounce (drago_bounce)
package {
import flash.media.*;
public dynamic class drago_bounce extends Sound {
}
}//package
Section 532
//drago_change_state (drago_change_state)
package {
import flash.media.*;
public dynamic class drago_change_state extends Sound {
}
}//package
Section 533
//drago_dizzy (drago_dizzy)
package {
import flash.media.*;
public dynamic class drago_dizzy extends Sound {
}
}//package
Section 534
//drago_fire (drago_fire)
package {
import flash.media.*;
public dynamic class drago_fire extends Sound {
}
}//package
Section 535
//drago_fly (drago_fly)
package {
import flash.media.*;
public dynamic class drago_fly extends Sound {
}
}//package
Section 536
//drago_injured (drago_injured)
package {
import flash.media.*;
public dynamic class drago_injured extends Sound {
}
}//package
Section 537
//drago_slide (drago_slide)
package {
import flash.media.*;
public dynamic class drago_slide extends Sound {
}
}//package
Section 538
//Drago_text0 (Drago_text0)
package {
import zlong.display.*;
public dynamic class Drago_text0 extends TranText {
}
}//package
Section 539
//drago_to_stone (drago_to_stone)
package {
import flash.media.*;
public dynamic class drago_to_stone extends Sound {
}
}//package
Section 540
//drago_water (drago_water)
package {
import flash.media.*;
public dynamic class drago_water extends Sound {
}
}//package
Section 541
//drago_village_m (drago_village_m)
package {
import flash.media.*;
public dynamic class drago_village_m extends Sound {
}
}//package
Section 542
//dragoFireMc (dragoFireMc)
package {
import flash.display.*;
public dynamic class dragoFireMc extends MovieClip {
}
}//package
Section 543
//dragoMcCla (dragoMcCla)
package {
import flash.display.*;
public dynamic class dragoMcCla extends MovieClip {
public var hurt0:MovieClip;
public var levelComplete0:MovieClip;
public var hurt1:MovieClip;
public var stand1:MovieClip;
public var fly1:MovieClip;
public var stand0:MovieClip;
public var fly0:MovieClip;
public var squat0:MovieClip;
public var squat1:MovieClip;
public var levelComplete1:MovieClip;
public var dead0:MovieClip;
public var move0:MovieClip;
public var move1:MovieClip;
public var dead1:MovieClip;
public var slope0:MovieClip;
public var slope1:MovieClip;
}
}//package
Section 544
//dragoMcCla0 (dragoMcCla0)
package {
import flash.display.*;
public dynamic class dragoMcCla0 extends MovieClip {
public var hurt0:MovieClip;
public var levelComplete0:MovieClip;
public var hurt1:MovieClip;
public var stand1:MovieClip;
public var stand0:MovieClip;
public var squat0:MovieClip;
public var squat1:MovieClip;
public var levelComplete1:MovieClip;
public var dragoFlyMc:MovieClip;
public var dead1:MovieClip;
public var slope0:MovieClip;
public var slope1:MovieClip;
public var dragoMoveMc:MovieClip;
}
}//package
Section 545
//dragoMcCla2 (dragoMcCla2)
package {
import flash.display.*;
public dynamic class dragoMcCla2 extends MovieClip {
public var hurt0:MovieClip;
public var hurt1:MovieClip;
public var stand1:MovieClip;
public var fly1:MovieClip;
public var stand0:MovieClip;
public var fly0:MovieClip;
public var squat0:MovieClip;
public var squat1:MovieClip;
public var dead0:MovieClip;
public var stone0:MovieClip;
public var stone1:MovieClip;
public var move0:MovieClip;
public var move1:MovieClip;
public var dead1:MovieClip;
public var stepOn0:MovieClip;
public var stepOn1:MovieClip;
public var slope0:MovieClip;
public var slope1:MovieClip;
}
}//package
Section 546
//dragoMcCla3 (dragoMcCla3)
package {
import flash.display.*;
public dynamic class dragoMcCla3 extends MovieClip {
public var hurt0:MovieClip;
public var levelComplete0:MovieClip;
public var hurt1:MovieClip;
public var stand1:MovieClip;
public var fly1:MovieClip;
public var stand0:MovieClip;
public var fly0:MovieClip;
public var squat0:MovieClip;
public var squat1:MovieClip;
public var levelComplete1:MovieClip;
public var dead0:MovieClip;
public var move0:MovieClip;
public var move1:MovieClip;
public var dead1:MovieClip;
public var fire0:dargo__eruptive;
public var fire1:dargo__eruptive;
public var slope0:MovieClip;
public var slope1:MovieClip;
}
}//package
Section 547
//dragoMcCla4 (dragoMcCla4)
package {
import flash.display.*;
public dynamic class dragoMcCla4 extends MovieClip {
public var hurt0:MovieClip;
public var levelComplete0:MovieClip;
public var hurt1:MovieClip;
public var stand1:MovieClip;
public var fly1:MovieClip;
public var stand0:MovieClip;
public var fly0:MovieClip;
public var squat0:MovieClip;
public var squat1:MovieClip;
public var levelComplete1:MovieClip;
public var dead0:MovieClip;
public var move0:MovieClip;
public var move1:MovieClip;
public var dead1:MovieClip;
public var double_fly1:dargo__double_fly;
public var double_fly0:dargo__double_fly;
public var slope0:MovieClip;
public var slope1:MovieClip;
}
}//package
Section 548
//dragoMcCla5 (dragoMcCla5)
package {
import flash.display.*;
public dynamic class dragoMcCla5 extends MovieClip {
public var hurt0:MovieClip;
public var levelComplete0:MovieClip;
public var water1:dargo__eruptive;
public var hurt1:MovieClip;
public var stand1:MovieClip;
public var fly1:MovieClip;
public var stand0:MovieClip;
public var fly0:MovieClip;
public var squat0:MovieClip;
public var squat1:MovieClip;
public var levelComplete1:MovieClip;
public var dead0:MovieClip;
public var move0:MovieClip;
public var move1:MovieClip;
public var dead1:MovieClip;
public var slope0:MovieClip;
public var slope1:MovieClip;
public var water0:dargo__eruptive;
}
}//package
Section 549
//dragoWater_mc (dragoWater_mc)
package {
import flash.display.*;
public dynamic class dragoWater_mc extends MovieClip {
public var insideMc:MovieClip;
public function dragoWater_mc(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
}
}
}//package
Section 550
//dragoWaterMc (dragoWaterMc)
package {
import flash.display.*;
public dynamic class dragoWaterMc extends MovieClip {
public var insideMc:MovieClip;
public function dragoWaterMc(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
}
}
}//package
Section 551
//drop_particle (drop_particle)
package {
import flash.media.*;
public dynamic class drop_particle extends Sound {
}
}//package
Section 552
//duck (duck)
package {
import zlong.display.*;
public dynamic class duck extends TranText {
}
}//package
Section 553
//eagle_howl (eagle_howl)
package {
import flash.media.*;
public dynamic class eagle_howl extends Sound {
}
}//package
Section 554
//eagle_howl0 (eagle_howl0)
package {
import flash.media.*;
public dynamic class eagle_howl0 extends Sound {
}
}//package
Section 555
//earth_quake (earth_quake)
package {
import flash.media.*;
public dynamic class earth_quake extends Sound {
}
}//package
Section 556
//earthElement0 (earthElement0)
package {
import code.*;
public dynamic class earthElement0 extends BitmapMc {
}
}//package
Section 557
//earthElement0副本 (earthElement0副本)
package {
import code.*;
public dynamic class earthElement0副本 extends BitmapMc {
}
}//package
Section 558
//earthElementCreateMc (earthElementCreateMc)
package {
import code.game.object.level3.*;
public dynamic class earthElementCreateMc extends ElementCreateMc {
}
}//package
Section 559
//earthElementMc (earthElementMc)
package {
import code.game.object.level2.*;
public dynamic class earthElementMc extends ElementMc {
}
}//package
Section 560
//electricity_s (electricity_s)
package {
import flash.media.*;
public dynamic class electricity_s extends Sound {
}
}//package
Section 561
//ELEMENT (ELEMENT)
package {
import zlong.display.*;
public dynamic class ELEMENT extends TranText {
}
}//package
Section 562
//enemy_attack (enemy_attack)
package {
import flash.media.*;
public dynamic class enemy_attack extends Sound {
}
}//package
Section 563
//enemy_recovery (enemy_recovery)
package {
import flash.media.*;
public dynamic class enemy_recovery extends Sound {
}
}//package
Section 564
//enemy_step_on_die (enemy_step_on_die)
package {
import flash.media.*;
public dynamic class enemy_step_on_die extends Sound {
}
}//package
Section 565
//enemy_throw (enemy_throw)
package {
import flash.media.*;
public dynamic class enemy_throw extends Sound {
}
}//package
Section 566
//enter (enter)
package {
import zlong.display.*;
public dynamic class enter extends TranText {
}
}//package
Section 567
//exit_shop (exit_shop)
package {
import zlong.display.*;
public dynamic class exit_shop extends TranText {
}
}//package
Section 568
//failed_m (failed_m)
package {
import flash.media.*;
public dynamic class failed_m extends Sound {
}
}//package
Section 569
//FairiesToElementMc (FairiesToElementMc)
package {
import code.game.object.level2.*;
public dynamic class FairiesToElementMc extends FairiesToElement {
}
}//package
Section 570
//fairy_to_element (fairy_to_element)
package {
import flash.media.*;
public dynamic class fairy_to_element extends Sound {
}
}//package
Section 571
//FairyMc2 (FairyMc2)
package {
import flash.display.*;
public dynamic class FairyMc2 extends MovieClip {
}
}//package
Section 572
//fallDown (fallDown)
package {
import code.*;
public dynamic class fallDown extends BitmapMc {
}
}//package
Section 573
//falling (falling)
package {
import code.*;
public dynamic class falling extends BitmapMc {
}
}//package
Section 574
//feng (feng)
package {
import code.*;
public dynamic class feng extends BitmapMc {
}
}//package
Section 575
//fire_out (fire_out)
package {
import flash.media.*;
public dynamic class fire_out extends Sound {
}
}//package
Section 576
//fireBallMc (fireBallMc)
package {
import flash.display.*;
public dynamic class fireBallMc extends MovieClip {
public function fireBallMc(){
addFrameScript(13, frame14);
}
function frame14(){
gotoAndPlay(1);
}
}
}//package
Section 577
//fireElementCreateMc (fireElementCreateMc)
package {
import code.game.object.level3.*;
public dynamic class fireElementCreateMc extends ElementCreateMc {
}
}//package
Section 578
//fireElementMc (fireElementMc)
package {
import code.game.object.level2.*;
public dynamic class fireElementMc extends ElementMc {
}
}//package
Section 579
//frontBlackMc (frontBlackMc)
package {
import flash.display.*;
public dynamic class frontBlackMc extends MovieClip {
public function frontBlackMc(){
addFrameScript(5, frame6, 19, frame20);
}
function frame6(){
stop();
}
function frame20(){
gotoAndStop(1);
}
}
}//package
Section 580
//GAME__OVER (GAME__OVER)
package {
import zlong.display.*;
public dynamic class GAME__OVER extends TranText {
}
}//package
Section 581
//Game_progress_saved (Game_progress_saved)
package {
import zlong.display.*;
public dynamic class Game_progress_saved extends TranText {
}
}//package
Section 582
//gameOverScreen (gameOverScreen)
package {
import flash.display.*;
public dynamic class gameOverScreen extends MovieClip {
public var back_btn:btn_mainMenu;
public var submitBtn:btn_submit;
public var __id2_:MOREPLATFORMGAMES;
public var backmc:MovieClip;
public var txtCon:MovieClip;
public function gameOverScreen(){
__setProp___id2__gameOver_backblack_1();
}
function __setProp___id2__gameOver_backblack_1(){
try {
__id2_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id2_.position = "button_gameover_moregames";
__id2_.type = "moregames";
try {
__id2_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 583
//GC1 (GC1)
package {
import code.game.others.*;
public dynamic class GC1 extends Dialog01 {
public function GC1(){
addFrameScript(319, frame320);
}
function frame320(){
stop();
}
}
}//package
Section 584
//get_fairy (get_fairy)
package {
import flash.media.*;
public dynamic class get_fairy extends Sound {
}
}//package
Section 585
//green (green)
package {
import flash.display.*;
public dynamic class green extends MovieClip {
public function green(){
addFrameScript(1, frame2, 12, frame13);
}
function frame13(){
this.stop();
if (this.parent != null){
this.parent.removeChild(this);
};
}
function frame2(){
stop();
}
}
}//package
Section 586
//ground0 (ground0)
package {
import code.*;
public dynamic class ground0 extends BitmapMc {
}
}//package
Section 587
//ground1 (ground1)
package {
import code.*;
public dynamic class ground1 extends BitmapMc {
}
}//package
Section 588
//head_still_level2 (head_still_level2)
package {
import code.*;
public dynamic class head_still_level2 extends BitmapMc {
}
}//package
Section 589
//help (help)
package {
import code.*;
public dynamic class help extends BitmapMc {
}
}//package
Section 590
//HELP (HELP)
package {
import zlong.display.*;
public dynamic class HELP extends TranText {
}
}//package
Section 591
//highScore_btn (highScore_btn)
package {
import zlong.display.*;
public dynamic class highScore_btn extends TranText {
}
}//package
Section 592
//HIGHSCORES_ui (HIGHSCORES_ui)
package {
import zlong.display.*;
public dynamic class HIGHSCORES_ui extends TranText {
}
}//package
Section 593
//highScoreScreen (highScoreScreen)
package {
import flash.display.*;
public dynamic class highScoreScreen extends MovieClip {
public var back_btn:btn_mainMenu;
public var show_mc:MovieClip;
}
}//package
Section 594
//howToPlay (howToPlay)
package {
import zlong.display.*;
public dynamic class howToPlay extends TranText {
}
}//package
Section 595
//howToPlayScreen (howToPlayScreen)
package {
import flash.display.*;
public dynamic class howToPlayScreen extends MovieClip {
public var back_btn:btn_mainMenu;
public var credits_btn:credit_btn;
}
}//package
Section 596
//ignition (ignition)
package {
import flash.media.*;
public dynamic class ignition extends Sound {
}
}//package
Section 597
//JUMP (JUMP)
package {
import zlong.display.*;
public dynamic class JUMP extends TranText {
}
}//package
Section 598
//Lethe_Alert_Page (Lethe_Alert_Page)
package {
import flash.display.*;
public dynamic class Lethe_Alert_Page extends MovieClip {
}
}//package
Section 599
//Lethe_All_Logo (Lethe_All_Logo)
package {
import flash.display.*;
public dynamic class Lethe_All_Logo extends MovieClip {
}
}//package
Section 600
//Lethe_BackGround (Lethe_BackGround)
package {
import flash.display.*;
public dynamic class Lethe_BackGround extends MovieClip {
}
}//package
Section 601
//Lethe_Button_Back (Lethe_Button_Back)
package {
import flash.display.*;
public dynamic class Lethe_Button_Back extends MovieClip {
}
}//package
Section 602
//Lethe_Button_Down (Lethe_Button_Down)
package {
import flash.display.*;
public dynamic class Lethe_Button_Down extends MovieClip {
public var _txt:MovieClip;
}
}//package
Section 603
//Lethe_Button_Down2 (Lethe_Button_Down2)
package {
import flash.display.*;
public dynamic class Lethe_Button_Down2 extends MovieClip {
public var _txt:MovieClip;
}
}//package
Section 604
//Lethe_Button_Down3 (Lethe_Button_Down3)
package {
import flash.display.*;
public dynamic class Lethe_Button_Down3 extends MovieClip {
public var _txt:MovieClip;
}
}//package
Section 605
//Lethe_Button_Up (Lethe_Button_Up)
package {
import flash.display.*;
public dynamic class Lethe_Button_Up extends MovieClip {
public var _txt:MovieClip;
}
}//package
Section 606
//Lethe_Button_Up2 (Lethe_Button_Up2)
package {
import flash.display.*;
public dynamic class Lethe_Button_Up2 extends MovieClip {
public var _txt:MovieClip;
}
}//package
Section 607
//Lethe_Button_Up3 (Lethe_Button_Up3)
package {
import flash.display.*;
public dynamic class Lethe_Button_Up3 extends MovieClip {
public var _txt:MovieClip;
}
}//package
Section 608
//Lethe_Continue_Button (Lethe_Continue_Button)
package {
import flash.display.*;
public dynamic class Lethe_Continue_Button extends MovieClip {
public function Lethe_Continue_Button(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package
Section 609
//Lethe_Drag_Block (Lethe_Drag_Block)
package {
import flash.display.*;
public dynamic class Lethe_Drag_Block extends MovieClip {
}
}//package
Section 610
//Lethe_DragArea (Lethe_DragArea)
package {
import flash.display.*;
public dynamic class Lethe_DragArea extends MovieClip {
}
}//package
Section 611
//Lethe_FocusLine (Lethe_FocusLine)
package {
import flash.display.*;
public dynamic class Lethe_FocusLine extends MovieClip {
}
}//package
Section 612
//Lethe_LineBack (Lethe_LineBack)
package {
import flash.display.*;
public dynamic class Lethe_LineBack extends MovieClip {
}
}//package
Section 613
//Lethe_LineBack2 (Lethe_LineBack2)
package {
import flash.display.*;
public dynamic class Lethe_LineBack2 extends MovieClip {
}
}//package
Section 614
//Lethe_Link_Button (Lethe_Link_Button)
package {
import flash.display.*;
public dynamic class Lethe_Link_Button extends MovieClip {
public function Lethe_Link_Button(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package
Section 615
//Lethe_Loading_Text (Lethe_Loading_Text)
package {
import flash.display.*;
public dynamic class Lethe_Loading_Text extends MovieClip {
}
}//package
Section 616
//Lethe_Message_Loading (Lethe_Message_Loading)
package {
import flash.display.*;
import flash.text.*;
public dynamic class Lethe_Message_Loading extends MovieClip {
public var _t_note:TextField;
public var _m_bar:MovieClip;
}
}//package
Section 617
//Lethe_NET_ERROR (Lethe_NET_ERROR)
package {
import flash.display.*;
import flash.text.*;
public dynamic class Lethe_NET_ERROR extends MovieClip {
public var _t_note:TextField;
}
}//package
Section 618
//Lethe_PreviewMc (Lethe_PreviewMc)
package {
import flash.display.*;
public dynamic class Lethe_PreviewMc extends MovieClip {
}
}//package
Section 619
//Lethe_Scroll_Bar (Lethe_Scroll_Bar)
package {
import flash.display.*;
public dynamic class Lethe_Scroll_Bar extends MovieClip {
}
}//package
Section 620
//Lethe_Scroll_Down (Lethe_Scroll_Down)
package {
import flash.display.*;
public dynamic class Lethe_Scroll_Down extends MovieClip {
}
}//package
Section 621
//Lethe_Scroll_Up (Lethe_Scroll_Up)
package {
import flash.display.*;
public dynamic class Lethe_Scroll_Up extends MovieClip {
}
}//package
Section 622
//Lethe_Text1 (Lethe_Text1)
package {
import flash.display.*;
public dynamic class Lethe_Text1 extends MovieClip {
}
}//package
Section 623
//Lethe_Text2 (Lethe_Text2)
package {
import flash.display.*;
public dynamic class Lethe_Text2 extends MovieClip {
}
}//package
Section 624
//Lethe_Text3 (Lethe_Text3)
package {
import flash.display.*;
public dynamic class Lethe_Text3 extends MovieClip {
}
}//package
Section 625
//level_back0_0 (level_back0_0)
package {
import flash.display.*;
public dynamic class level_back0_0 extends MovieClip {
}
}//package
Section 626
//level_back0_1 (level_back0_1)
package {
import flash.display.*;
public dynamic class level_back0_1 extends MovieClip {
}
}//package
Section 627
//level_back0_2 (level_back0_2)
package {
import flash.display.*;
public dynamic class level_back0_2 extends MovieClip {
}
}//package
Section 628
//level_back0_21 (level_back0_21)
package {
import flash.display.*;
public dynamic class level_back0_21 extends MovieClip {
public var back0:MovieClip;
public var back1:level_back0_2;
}
}//package
Section 629
//level_back0_3 (level_back0_3)
package {
import flash.display.*;
public dynamic class level_back0_3 extends MovieClip {
}
}//package
Section 630
//level_back0_31 (level_back0_31)
package {
import flash.display.*;
public dynamic class level_back0_31 extends MovieClip {
}
}//package
Section 631
//level_back0_4 (level_back0_4)
package {
import flash.display.*;
public dynamic class level_back0_4 extends MovieClip {
}
}//package
Section 632
//level_back0_41 (level_back0_41)
package {
import flash.display.*;
public dynamic class level_back0_41 extends MovieClip {
}
}//package
Section 633
//level_back0_5 (level_back0_5)
package {
import flash.display.*;
public dynamic class level_back0_5 extends MovieClip {
public var back0:MovieClip;
public var back1:level_back0_51;
}
}//package
Section 634
//level_back0_51 (level_back0_51)
package {
import flash.display.*;
public dynamic class level_back0_51 extends MovieClip {
}
}//package
Section 635
//level_back1_0 (level_back1_0)
package {
import flash.display.*;
public dynamic class level_back1_0 extends MovieClip {
}
}//package
Section 636
//level_back1_1 (level_back1_1)
package {
import flash.display.*;
public dynamic class level_back1_1 extends MovieClip {
}
}//package
Section 637
//level_back1_2 (level_back1_2)
package {
import flash.display.*;
public dynamic class level_back1_2 extends MovieClip {
}
}//package
Section 638
//level_back1_21 (level_back1_21)
package {
import flash.display.*;
public dynamic class level_back1_21 extends MovieClip {
}
}//package
Section 639
//level_back1_4 (level_back1_4)
package {
import flash.display.*;
public dynamic class level_back1_4 extends MovieClip {
}
}//package
Section 640
//level_back1_41 (level_back1_41)
package {
import flash.display.*;
public dynamic class level_back1_41 extends MovieClip {
}
}//package
Section 641
//level_back1_5 (level_back1_5)
package {
import flash.display.*;
public dynamic class level_back1_5 extends MovieClip {
public var back_hole:MovieClip;
public var back_out:MovieClip;
}
}//package
Section 642
//level_back1_6 (level_back1_6)
package {
import flash.display.*;
public dynamic class level_back1_6 extends MovieClip {
}
}//package
Section 643
//level_back1_61 (level_back1_61)
package {
import flash.display.*;
public dynamic class level_back1_61 extends MovieClip {
}
}//package
Section 644
//Level_Bonus (Level_Bonus)
package {
import zlong.display.*;
public dynamic class Level_Bonus extends TranText {
}
}//package
Section 645
//LEVEL_COMPLETE (LEVEL_COMPLETE)
package {
import zlong.display.*;
public dynamic class LEVEL_COMPLETE extends TranText {
}
}//package
Section 646
//LEVEL_FAILED (LEVEL_FAILED)
package {
import zlong.display.*;
public dynamic class LEVEL_FAILED extends TranText {
}
}//package
Section 647
//level_thru2 (level_thru2)
package {
import code.*;
public dynamic class level_thru2 extends BitmapMc {
}
}//package
Section 648
//level0_back (level0_back)
package {
import code.*;
public dynamic class level0_back extends BitmapMc {
}
}//package
Section 649
//level00 (level00)
package {
import flash.display.*;
public dynamic class level00 extends Sprite {
public var getWidth:backGround;
public var thru_obstacle:MovieClip;
public var back_player2:MovieClip;
public var enemies:MovieClip;
public var getHeight:backGround;
public var properties:MovieClip;
public var check_point:MovieClip;
public var diamonds:MovieClip;
public var dragoMc:dragoMcCla;
public var solid_obstacle:MovieClip;
}
}//package
Section 650
//level01 (level01)
package {
import flash.display.*;
public dynamic class level01 extends Sprite {
public var back_player2:MovieClip;
public var enemies:MovieClip;
public var gc_motion:GC1;
public var check_point:MovieClip;
public var diamonds:MovieClip;
public var dragoMc:dragoMcCla;
public var solid_obstacle:MovieClip;
}
}//package
Section 651
//level0back0 (level0back0)
package {
import code.*;
public dynamic class level0back0 extends BitmapMc {
}
}//package
Section 652
//level1_pf (level1_pf)
package {
import code.*;
public dynamic class level1_pf extends BitmapMc {
}
}//package
Section 653
//level1_pf2 (level1_pf2)
package {
import flash.display.*;
public dynamic class level1_pf2 extends MovieClip {
}
}//package
Section 654
//level10 (level10)
package {
import flash.display.*;
public dynamic class level10 extends MovieClip {
public var thru_obstacle:MovieClip;
public var getHeight:backGround;
public var enemies:MovieClip;
public var back_player2:MovieClip;
public var properties:MovieClip;
public var check_point:MovieClip;
public var diamonds:MovieClip;
public var dragoMc:dragoMcCla;
public var solid_obstacle:MovieClip;
}
}//package
Section 655
//level11 (level11)
package {
import flash.display.*;
public dynamic class level11 extends MovieClip {
public var getHeight:backGround;
public var enemies:MovieClip;
public var properties:MovieClip;
public var check_point:MovieClip;
public var diamonds:MovieClip;
public var dragoMc:dragoMcCla;
public var solid_obstacle:MovieClip;
}
}//package
Section 656
//level1back0 (level1back0)
package {
import code.*;
public dynamic class level1back0 extends BitmapMc {
}
}//package
Section 657
//level1花 (level1花)
package {
import code.*;
public dynamic class level1花 extends BitmapMc {
}
}//package
Section 658
//level2_plat (level2_plat)
package {
import code.*;
public dynamic class level2_plat extends BitmapMc {
}
}//package
Section 659
//level20 (level20)
package {
import flash.display.*;
public dynamic class level20 extends MovieClip {
public var getWidth:backGround;
public var getHeight:backGround;
public var enemies:MovieClip;
public var properties:MovieClip;
public var check_point:MovieClip;
public var diamonds:MovieClip;
public var dragoMc:dragoMcCla;
public var solid_obstacle:MovieClip;
}
}//package
Section 660
//level21 (level21)
package {
import flash.display.*;
public dynamic class level21 extends MovieClip {
public var getWidth:backGround;
public var getHeight:backGround;
public var enemies:MovieClip;
public var properties:MovieClip;
public var check_point:MovieClip;
public var diamonds:MovieClip;
public var dragoMc:dragoMcCla;
public var solid_obstacle:MovieClip;
}
}//package
Section 661
//level3_pf (level3_pf)
package {
import code.*;
public dynamic class level3_pf extends BitmapMc {
}
}//package
Section 662
//level3_plat (level3_plat)
package {
import code.*;
public dynamic class level3_plat extends BitmapMc {
}
}//package
Section 663
//level30 (level30)
package {
import flash.display.*;
public dynamic class level30 extends MovieClip {
public var thru_obstacle:MovieClip;
public var getHeight:MovieClip;
public var properties:MovieClip;
public var check_point:MovieClip;
public var diamonds:MovieClip;
public var dragoMc:dragoMcCla;
public var solid_obstacle:MovieClip;
}
}//package
Section 664
//level31 (level31)
package {
import flash.display.*;
public dynamic class level31 extends MovieClip {
public var getHeight:backGround;
public var properties:MovieClip;
public var check_point:MovieClip;
public var dragoMc:dragoMcCla;
public var solid_obstacle:MovieClip;
}
}//package
Section 665
//level3中景0 (level3ä¸æ™¯0)
package {
import code.*;
public dynamic class level3中景0 extends BitmapMc {
}
}//package
Section 666
//level3地面 (level3地é¢)
package {
import code.*;
public dynamic class level3地面 extends BitmapMc {
}
}//package
Section 667
//level3地面1 (level3地é¢1)
package {
import code.*;
public dynamic class level3地面1 extends BitmapMc {
}
}//package
Section 668
//level3小火球 (level3å°ç«çƒ)
package {
import code.*;
public dynamic class level3小火球 extends BitmapMc {
}
}//package
Section 669
//level3岩浆2 (level3岩浆2)
package {
import code.*;
public dynamic class level3岩浆2 extends BitmapMc {
}
}//package
Section 670
//level3旋转平台 (level3旋转平å°)
package {
import code.game.object.level3.*;
public dynamic class level3旋转平台 extends MotianlunMc {
}
}//package
Section 671
//level3移动平台 (level3移动平å°)
package {
import code.*;
public dynamic class level3移动平台 extends BitmapMc {
}
}//package
Section 672
//level3背景0 (level3背景0)
package {
import code.*;
public dynamic class level3背景0 extends BitmapMc {
}
}//package
Section 673
//level4_plat (level4_plat)
package {
import flash.display.*;
public dynamic class level4_plat extends MovieClip {
}
}//package
Section 674
//level40 (level40)
package {
import flash.display.*;
public dynamic class level40 extends MovieClip {
public var thru_obstacle:MovieClip;
public var getHeight:backGround;
public var properties:MovieClip;
public var check_point:MovieClip;
public var diamonds:MovieClip;
public var dragoMc:dragoMcCla;
public var solid_obstacle:MovieClip;
}
}//package
Section 675
//level40_thru_obstacle0 (level40_thru_obstacle0)
package {
import code.*;
public dynamic class level40_thru_obstacle0 extends BitmapMc {
}
}//package
Section 676
//level40_thru_obstacle2 (level40_thru_obstacle2)
package {
import code.*;
public dynamic class level40_thru_obstacle2 extends BitmapMc {
}
}//package
Section 677
//level41 (level41)
package {
import flash.display.*;
public dynamic class level41 extends MovieClip {
public var thru_obstacle:MovieClip;
public var getHeight:backGround;
public var properties:MovieClip;
public var check_point:MovieClip;
public var diamonds:MovieClip;
public var dragoMc:dragoMcCla;
public var solid_obstacle:MovieClip;
}
}//package
Section 678
//level42 (level42)
package {
import flash.display.*;
public dynamic class level42 extends MovieClip {
public var thru_obstacle:MovieClip;
public var getHeight:backGround;
public var properties:MovieClip;
public var check_point:MovieClip;
public var diamonds:MovieClip;
public var dragoMc:dragoMcCla;
public var solid_obstacle:MovieClip;
}
}//package
Section 679
//level5_huo (level5_huo)
package {
import code.game.object.level5.*;
public dynamic class level5_huo extends FireMc {
}
}//package
Section 680
//level5_platdsfhdfh (level5_platdsfhdfh)
package {
import code.*;
public dynamic class level5_platdsfhdfh extends BitmapMc {
}
}//package
Section 681
//level50 (level50)
package {
import flash.display.*;
public dynamic class level50 extends MovieClip {
public var thru_obstacle:MovieClip;
public var enemies:MovieClip;
public var properties:MovieClip;
public var coverDrago:MovieClip;
public var gc_motion:dialog50;
public var check_point:MovieClip;
public var diamonds:MovieClip;
public var dragoMc:dragoMcCla;
public var solid_obstacle:MovieClip;
}
}//package
Section 682
//level51 (level51)
package {
import flash.display.*;
public dynamic class level51 extends Sprite {
public var thru_obstacle:MovieClip;
public var enemies:MovieClip;
public var properties:MovieClip;
public var coverDrago:MovieClip;
public var check_point:MovieClip;
public var diamonds:MovieClip;
public var dragoMc:dragoMcCla;
public var solid_obstacle:MovieClip;
}
}//package
Section 683
//level5Dasher房间 (level5Dasher房间)
package {
import code.*;
public dynamic class level5Dasher房间 extends BitmapMc {
}
}//package
Section 684
//level5huo (level5huo)
package {
import code.*;
public dynamic class level5huo extends BitmapMc {
}
}//package
Section 685
//level5S (level5S)
package {
import code.*;
public dynamic class level5S extends BitmapMc {
}
}//package
Section 686
//level5yun0 (level5yun0)
package {
import code.*;
public dynamic class level5yun0 extends BitmapMc {
}
}//package
Section 687
//level5yun1 (level5yun1)
package {
import code.*;
public dynamic class level5yun1 extends BitmapMc {
}
}//package
Section 688
//level5yun2 (level5yun2)
package {
import code.*;
public dynamic class level5yun2 extends BitmapMc {
}
}//package
Section 689
//level5yun3 (level5yun3)
package {
import code.*;
public dynamic class level5yun3 extends BitmapMc {
}
}//package
Section 690
//level5yun4 (level5yun4)
package {
import code.*;
public dynamic class level5yun4 extends BitmapMc {
}
}//package
Section 691
//level5下水道地面1 (level5下水é“地é¢1)
package {
import code.*;
public dynamic class level5下水道地面1 extends BitmapMc {
}
}//package
Section 692
//level5下水道地面2 (level5下水é“地é¢2)
package {
import code.*;
public dynamic class level5下水道地面2 extends BitmapMc {
}
}//package
Section 693
//level5下水道地面2_1 (level5下水é“地é¢2_1)
package {
import code.*;
public dynamic class level5下水道地面2_1 extends BitmapMc {
}
}//package
Section 694
//level5下水道地面2_2 (level5下水é“地é¢2_2)
package {
import code.*;
public dynamic class level5下水道地面2_2 extends BitmapMc {
}
}//package
Section 695
//level5传送平台 (level5ä¼ é€å¹³å°)
package {
import code.*;
public dynamic class level5传送平台 extends BitmapMc {
}
}//package
Section 696
//level5兰花 (level5兰花)
package {
import code.*;
public dynamic class level5兰花 extends BitmapMc {
}
}//package
Section 697
//level5历历花 (level5历历花)
package {
import code.*;
public dynamic class level5历历花 extends BitmapMc {
}
}//package
Section 698
//level5地面 (level5地é¢)
package {
import code.*;
public dynamic class level5地面 extends BitmapMc {
}
}//package
Section 699
//level5墙2 (level5墙2)
package {
import code.*;
public dynamic class level5墙2 extends BitmapMc {
}
}//package
Section 700
//level5室内 (level5室内)
package {
import code.*;
public dynamic class level5室内 extends BitmapMc {
}
}//package
Section 701
//level5平台副本 (level5å¹³å°å‰¯æœ¬)
package {
import code.*;
public dynamic class level5平台副本 extends BitmapMc {
}
}//package
Section 702
//level5房子 (level5房å)
package {
import code.*;
public dynamic class level5房子 extends BitmapMc {
}
}//package
Section 703
//level5断裂平台 (level5æ–裂平å°)
package {
import code.*;
public dynamic class level5断裂平台 extends BitmapMc {
public function level5断裂平台(){
addFrameScript(25, frame26);
}
function frame26(){
stop();
}
}
}//package
Section 704
//level5新中景房子 (level5æ–°ä¸æ™¯æˆ¿å)
package {
import code.*;
public dynamic class level5新中景房子 extends BitmapMc {
}
}//package
Section 705
//level5木头跳台 (level5木头跳å°)
package {
import code.*;
public dynamic class level5木头跳台 extends BitmapMc {
}
}//package
Section 706
//level5树 (level5æ ‘)
package {
import code.*;
public dynamic class level5树 extends BitmapMc {
}
}//package
Section 707
//level5武器店 (level5æ¦å™¨åº—)
package {
import code.*;
public dynamic class level5武器店 extends BitmapMc {
}
}//package
Section 708
//level5水泡 (level5水泡)
package {
import code.game.object.level5.*;
public dynamic class level5水泡 extends RandomBitmapMc {
}
}//package
Section 709
//level5浮木 (level5浮木)
package {
import code.*;
public dynamic class level5浮木 extends BitmapMc {
}
}//package
Section 710
//level5火副本 (level5ç«å‰¯æœ¬)
package {
import code.game.object.level5.*;
public dynamic class level5火副本 extends FireMc {
}
}//package
Section 711
//level5石墙 (level5石墙)
package {
import code.*;
public dynamic class level5石墙 extends BitmapMc {
}
}//package
Section 712
//level5石头 (level5石头)
package {
import code.*;
public dynamic class level5石头 extends BitmapMc {
}
}//package
Section 713
//level5破龙雕像 (level5ç ´é¾™é›•åƒ)
package {
import code.*;
public dynamic class level5破龙雕像 extends BitmapMc {
}
}//package
Section 714
//level5碎石 (level5碎石)
package {
import code.*;
public dynamic class level5碎石 extends BitmapMc {
}
}//package
Section 715
//level5花店 (level5花店)
package {
import code.*;
public dynamic class level5花店 extends BitmapMc {
}
}//package
Section 716
//level5跳台 (level5è·³å°)
package {
import code.*;
public dynamic class level5跳台 extends BitmapMc {
}
}//package
Section 717
//level6_huo (level6_huo)
package {
import code.game.object.level6.*;
public dynamic class level6_huo extends Level6FireMc {
}
}//package
Section 718
//level6_torch (level6_torch)
package {
import code.*;
public dynamic class level6_torch extends BitmapMc {
}
}//package
Section 719
//level60 (level60)
package {
import flash.display.*;
public dynamic class level60 extends MovieClip {
public var getWidth:backGround;
public var getHeight:backGround;
public var properties:MovieClip;
public var gc_motion:dialog60;
public var check_point:MovieClip;
public var dragoMc:dragoMcCla;
}
}//package
Section 720
//level61 (level61)
package {
import flash.display.*;
public dynamic class level61 extends MovieClip {
public var properties:MovieClip;
public var check_point:MovieClip;
public var dragoMc:dragoMcCla;
public var solid_obstacle:MovieClip;
}
}//package
Section 721
//level6中景火 (level6ä¸æ™¯ç«)
package {
import code.*;
public dynamic class level6中景火 extends BitmapMc {
}
}//package
Section 722
//level6中景火墙 (level6ä¸æ™¯ç«å¢™)
package {
import code.*;
public dynamic class level6中景火墙 extends BitmapMc {
}
}//package
Section 723
//level6中景火墙二 (level6ä¸æ™¯ç«å¢™äºŒ)
package {
import code.*;
public dynamic class level6中景火墙二 extends BitmapMc {
}
}//package
Section 724
//level6中景火宝箱 (level6ä¸æ™¯ç«å®ç®±)
package {
import code.*;
public dynamic class level6中景火宝箱 extends BitmapMc {
}
}//package
Section 725
//level6中景火罐子 (level6ä¸æ™¯ç«ç½å)
package {
import code.*;
public dynamic class level6中景火罐子 extends BitmapMc {
}
}//package
Section 726
//level6室内地面 (level6室内地é¢)
package {
import code.*;
public dynamic class level6室内地面 extends BitmapMc {
}
}//package
Section 727
//level6小木条 (level6å°æœ¨æ¡)
package {
import code.*;
public dynamic class level6小木条 extends BitmapMc {
}
}//package
Section 728
//level6帘 (level6帘)
package {
import code.*;
public dynamic class level6帘 extends BitmapMc {
}
}//package
Section 729
//level6帘二 (level6帘二)
package {
import code.*;
public dynamic class level6帘二 extends BitmapMc {
}
}//package
Section 730
//level6底 (level6底)
package {
import code.*;
public dynamic class level6底 extends BitmapMc {
}
}//package
Section 731
//level6扶手 (level6扶手)
package {
import code.*;
public dynamic class level6扶手 extends BitmapMc {
}
}//package
Section 732
//level6楼梯 (level6楼梯)
package {
import code.*;
public dynamic class level6楼梯 extends BitmapMc {
}
}//package
Section 733
//level6楼梯二 (level6楼梯二)
package {
import code.*;
public dynamic class level6楼梯二 extends BitmapMc {
}
}//package
Section 734
//level6武器 (level6æ¦å™¨)
package {
import code.*;
public dynamic class level6武器 extends BitmapMc {
}
}//package
Section 735
//level6火 (level6ç«)
package {
import code.game.object.level6.*;
public dynamic class level6火 extends TorchLight {
}
}//package
Section 736
//level6石柱 (level6石柱)
package {
import code.*;
public dynamic class level6石柱 extends BitmapMc {
}
}//package
Section 737
//level6石柱三 (level6石柱三)
package {
import code.*;
public dynamic class level6石柱三 extends BitmapMc {
}
}//package
Section 738
//level6石柱三2 (level6石柱三2)
package {
import code.*;
public dynamic class level6石柱三2 extends BitmapMc {
}
}//package
Section 739
//level6石柱二 (level6石柱二)
package {
import code.*;
public dynamic class level6石柱二 extends BitmapMc {
}
}//package
Section 740
//level6石柱二2 (level6石柱二2)
package {
import code.*;
public dynamic class level6石柱二2 extends BitmapMc {
}
}//package
Section 741
//level6蛛网 (level6蛛网)
package {
import code.*;
public dynamic class level6蛛网 extends BitmapMc {
}
}//package
Section 742
//level6透明 (level6é€æ˜Ž)
package {
import code.*;
public dynamic class level6透明 extends BitmapMc {
}
}//package
Section 743
//level6门 (level6é—¨)
package {
import code.*;
public dynamic class level6门 extends BitmapMc {
}
}//package
Section 744
//level6门二 (level6门二)
package {
import code.*;
public dynamic class level6门二 extends BitmapMc {
}
}//package
Section 745
//level6门平台 (level6门平å°)
package {
import code.*;
public dynamic class level6门平台 extends BitmapMc {
}
}//package
Section 746
//levelCompleteScreen (levelCompleteScreen)
package {
import flash.display.*;
public dynamic class levelCompleteScreen extends MovieClip {
public var continueBtn:pressspacetocontinue;
public var __id3_:MOREPLATFORMGAMES;
public var txtCon:MovieClip;
public function levelCompleteScreen(){
__setProp___id3__levelCompleteScreen_Layer3_1();
}
function __setProp___id3__levelCompleteScreen_Layer3_1(){
try {
__id3_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id3_.position = "button_levelcomplete_moregames";
__id3_.type = "moregames";
try {
__id3_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 747
//levelFailedScreen (levelFailedScreen)
package {
import flash.display.*;
public dynamic class levelFailedScreen extends MovieClip {
public var continueBtn:pressspacetocontinue;
public var failed_timeup:MovieClip;
public var __id4_:MOREPLATFORMGAMES;
public function levelFailedScreen(){
__setProp___id4__levelFailedScreen__1();
}
function __setProp___id4__levelFailedScreen__1(){
try {
__id4_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id4_.position = "button_failed_moregames";
__id4_.type = "moregames";
try {
__id4_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 748
//levelMapBlack (levelMapBlack)
package {
import flash.display.*;
public dynamic class levelMapBlack extends MovieClip {
}
}//package
Section 749
//levelMapScreen (levelMapScreen)
package {
import flash.display.*;
public dynamic class levelMapScreen extends MovieClip {
public var tempCon:MovieClip;
public var level0:MovieClip;
public var level1:MovieClip;
public var level2:MovieClip;
public var level4:MovieClip;
public var level6:MovieClip;
public var continueBtn:pressspacetocontinue;
public var level3:MovieClip;
public var level_1:MovieClip;
public var cloud2:MovieClip;
public var cloud4:MovieClip;
public var cloud6:MovieClip;
public var cloud0:MovieClip;
public var cloud1:MovieClip;
public var black_mc:levelMapBlack;
public var cloud3:MovieClip;
}
}//package
Section 750
//level旗 (levelæ——)
package {
import code.*;
public dynamic class level旗 extends BitmapMc {
}
}//package
Section 751
//level旗二 (level旗二)
package {
import code.*;
public dynamic class level旗二 extends BitmapMc {
}
}//package
Section 752
//level横条 (level横æ¡)
package {
import code.*;
public dynamic class level横条 extends BitmapMc {
}
}//package
Section 753
//level透明门 (levelé€æ˜Žé—¨)
package {
import code.*;
public dynamic class level透明门 extends BitmapMc {
}
}//package
Section 754
//level链条 (level链æ¡)
package {
import code.*;
public dynamic class level链条 extends BitmapMc {
}
}//package
Section 755
//Lizzy (Lizzy)
package {
import code.*;
public dynamic class Lizzy extends BitmapMc {
}
}//package
Section 756
//lizzy_kiss (lizzy_kiss)
package {
import flash.media.*;
public dynamic class lizzy_kiss extends Sound {
}
}//package
Section 757
//Lizzy_text (Lizzy_text)
package {
import zlong.display.*;
public dynamic class Lizzy_text extends TranText {
}
}//package
Section 758
//LoadingScreen (LoadingScreen)
package {
import flash.display.*;
import flash.text.*;
public dynamic class LoadingScreen extends MovieClip {
public var percent:TextField;
public var __id1_:MOREPLATFORMGAMES;
public var loadingMc:MovieClip;
public function LoadingScreen(){
__setProp___id1__LoadingScreen_Layer4_1();
}
function __setProp___id1__LoadingScreen_Layer4_1(){
try {
__id1_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id1_.position = "button_preloader";
__id1_.type = "moregames";
try {
__id1_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 759
//magma_fire (magma_fire)
package {
import flash.media.*;
public dynamic class magma_fire extends Sound {
}
}//package
Section 760
//magmaCon (magmaCon)
package {
import code.game.object.level3.*;
public dynamic class magmaCon extends MagmaMc {
}
}//package
Section 761
//MagmaMc0 (MagmaMc0)
package {
import code.game.object.level3.*;
public dynamic class MagmaMc0 extends MagmaMc {
}
}//package
Section 762
//MagmaMc1 (MagmaMc1)
package {
import code.game.object.level3.*;
public dynamic class MagmaMc1 extends MagmaMc {
}
}//package
Section 763
//MagmaMc3 (MagmaMc3)
package {
import code.game.object.level3.*;
public dynamic class MagmaMc3 extends MagmaMc {
}
}//package
Section 764
//main_menu (main_menu)
package {
import zlong.display.*;
public dynamic class main_menu extends TranText {
}
}//package
Section 765
//main_screen (main_screen)
package {
import flash.display.*;
public dynamic class main_screen extends MovieClip {
public var howToPlayBtn:btn_howtoplay;
public var highScoreBtn:btn_highscore;
public var startGameBtn:btn_STARTGAME;
public var moreGamesBtn:MoreGamesLogo;
public function main_screen(){
__setProp_moreGamesBtn_main_screen_Layer9_1();
}
function __setProp_moreGamesBtn_main_screen_Layer9_1(){
try {
moreGamesBtn["componentInspectorSetting"] = true;
} catch(e:Error) {
};
moreGamesBtn.position = "button_mainscreen_moregames";
moreGamesBtn.type = "moregames";
try {
moreGamesBtn["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 766
//mainscreen_m (mainscreen_m)
package {
import flash.media.*;
public dynamic class mainscreen_m extends Sound {
}
}//package
Section 767
//map_m (map_m)
package {
import flash.media.*;
public dynamic class map_m extends Sound {
}
}//package
Section 768
//menu_press_s (menu_press_s)
package {
import flash.media.*;
public dynamic class menu_press_s extends Sound {
}
}//package
Section 769
//menu_touch_s (menu_touch_s)
package {
import flash.media.*;
public dynamic class menu_touch_s extends Sound {
}
}//package
Section 770
//monkey_drive (monkey_drive)
package {
import flash.media.*;
public dynamic class monkey_drive extends Sound {
}
}//package
Section 771
//MORE_PLATFORM_GAMES_ON_ (MORE_PLATFORM_GAMES_ON_)
package {
import zlong.display.*;
public dynamic class MORE_PLATFORM_GAMES_ON_ extends TranText {
}
}//package
Section 772
//MOREGAMES (MOREGAMES)
package {
import zlong.display.*;
public dynamic class MOREGAMES extends TranText {
}
}//package
Section 773
//MoreGamesLogo (MoreGamesLogo)
package {
import zlong.display.*;
public dynamic class MoreGamesLogo extends ExtButton {
public var __id5_:Logo;
public function MoreGamesLogo(){
__setProp___id5__MoreGamesLogo_logo_1();
}
function __setProp___id5__MoreGamesLogo_logo_1(){
try {
__id5_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id5_.alignHorizontal = "Center";
__id5_.alignVertical = "Center";
__id5_.maxHeight = 35;
__id5_.maxWidth = 168;
__id5_.position = "logo_preloader";
try {
__id5_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 774
//MOREPLATFORMGAMES (MOREPLATFORMGAMES)
package {
import zlong.display.*;
public dynamic class MOREPLATFORMGAMES extends ExtButton {
public var __id0_:Logo;
public function MOREPLATFORMGAMES(){
__setProp___id0__MOREPLATFORMGAMESON_logo_1();
}
function __setProp___id0__MOREPLATFORMGAMESON_logo_1(){
try {
__id0_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id0_.alignHorizontal = "Center";
__id0_.alignVertical = "Center";
__id0_.maxHeight = 40;
__id0_.maxWidth = 200;
__id0_.position = "logo_preloader";
try {
__id0_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 775
//MotianlunMc (MotianlunMc)
package {
import code.game.object.level4.*;
public dynamic class MotianlunMc extends MotianlunMc {
}
}//package
Section 776
//motionWall (motionWall)
package {
import flash.display.*;
public dynamic class motionWall extends MovieClip {
}
}//package
Section 777
//move_pf0 (move_pf0)
package {
import code.game.object.level3.*;
public dynamic class move_pf0 extends MovePlatMc {
}
}//package
Section 778
//move_pf1 (move_pf1)
package {
import code.game.object.level2.*;
public dynamic class move_pf1 extends MoveThruMushroom {
}
}//package
Section 779
//move_pf1_level3 (move_pf1_level3)
package {
import code.game.object.level3.*;
public dynamic class move_pf1_level3 extends MovePlatMc {
}
}//package
Section 780
//move_pf2_level3 (move_pf2_level3)
package {
import code.game.object.level3.*;
public dynamic class move_pf2_level3 extends MovePlatMc {
}
}//package
Section 781
//MOVEleft (MOVEleft)
package {
import zlong.display.*;
public dynamic class MOVEleft extends TranText {
}
}//package
Section 782
//MOVEright (MOVEright)
package {
import zlong.display.*;
public dynamic class MOVEright extends TranText {
}
}//package
Section 783
//mushroom (mushroom)
package {
import code.game.object.level2.*;
public dynamic class mushroom extends Mushroom {
public function mushroom(){
addFrameScript(32, frame33);
}
function frame33(){
gotoAndPlay(1);
}
}
}//package
Section 784
//music_mc (music_mc)
package {
import code.ui.*;
public dynamic class music_mc extends MusicBtn {
}
}//package
Section 785
//NEXT (NEXT)
package {
import zlong.display.*;
public dynamic class NEXT extends TranText {
}
}//package
Section 786
//normal_tail_mc (normal_tail_mc)
package {
import code.*;
public dynamic class normal_tail_mc extends BitmapMc {
}
}//package
Section 787
//normalMc (normalMc)
package {
import code.*;
public dynamic class normalMc extends BitmapMc {
}
}//package
Section 788
//O11111111 (O11111111)
package {
import flash.net.*;
import flash.events.*;
import flash.display.*;
import O11111110.*;
import flash.text.*;
import flash.utils.*;
import flash.system.*;
public class O11111111 extends MovieClip {
private const O11111OO1:Array;
private var O11111OO0:Number;
private var O11111OOO:MovieClip;
private var O11111OOl;
private var O11111O01:Boolean;// = false
private var O11111O00;
private var O11111O0O:Loader;
private var O11111O0l;
private var O111111l1:String;
private var O111111lO:int;
private var O111111ll:Number;
private var O11111l11;
private var oddLineColor:Number;
private var O111111O0:String;
private var O111111O1:String;
private var O11111l1O;
private var O11111Ol0:MovieClip;
private var O11111Ol1:Array;
private var O111111OO:String;
private var O111111Ol:String;
private var O11111OlO:String;
private var O1111100O1:int;
private var O11111Oll:Boolean;
private var evenLineColor:Number;
private var selfLineColor:Number;
public function O11111111():void{
var O11111l1l:int;
var O11111l10:*;
O11111O01 = false;
O11111OO1 = ["Failed to get highscores.", "Failed to get highscores.", "Failed to get highscores.", "Failed to get highscores.", "Ophalen van de highscores mislukt", "Classement échoué.", "Highscores konnten nicht geladen werden.", "Error al cargar las puntuaciones máximas.", "Os recordes não foram recebidos.", "Não conseguiu obter uma das melhores pontuações", "Impossibile recuperare dati sui record.", "Kunde ej hämta toppoäng.", "Pobieranie rankingu nie powiodło się.", "Ошибка! Получить данные о рекордах не удалось!", "Yüksek skorlar alınamadı.", "Gagal untuk mendapatkan skor tertinggi", "Gagal mendapatkan skor tertinggi.", "ハイスコア情報の取得に失敗しました", "获取排行榜失败"];
super();
Security.allowDomain("*");
O11111OOl = this.parent;
O11111OOl.stop();
O11111l1l = 0;
while (true) {
try {
O11111l10 = O11111OOl.getChildAt(O11111l1l);
if ((O11111l10 is MovieClip)){
O11111l10.visible = false;
} else {
O11111OOl.removeChild(O11111l10);
};
O11111l1l = (O11111l1l + 1);
} catch(O11111llO:Error) {
break;
};
};
try {
O11111OOl["O111111O"] = O111110lO;
} catch(O11111llO:Error) {
};
}
private function O1111100O(_arg1:MouseEvent):void{
_arg1.currentTarget.gotoAndStop(1);
}
private function O1111O1l1(_arg1):void{
removeEventListener(Event.ENTER_FRAME, O111110ll);
O11111l11.visible = true;
O11111O00.text = O11111OO1[(O1111111l.O11111OlO().O11111O0O() - 1)];
}
public function getData():XML{
if (O11111l1O){
return (O11111l1O.O0000022);
};
return (null);
}
private function O1111100l(_arg1:MouseEvent):void{
_arg1.currentTarget.gotoAndStop(3);
}
private function O1111O1lO(_arg1:Event):void{
O11111OOl.dispatchEvent(_arg1);
}
public function O11111O11():void{
if (O11111l1O != null){
O11111l1O.O11111l0O();
};
}
public function get O11111O10():Boolean{
return (O11111O01);
}
private function O1111O1O0(_arg1:String){
return (getDefinitionByName(_arg1));
}
public function O11111O1O():void{
if (O11111l1O != null){
O11111l1O.O11111l1l();
};
}
public function O11111O1l(_arg1:int, _arg2:String):void{
if (O11111l1O != null){
O11111l1O.O11111l10(_arg1, _arg2);
};
}
private function O1111O1O1():void{
var O111110O1:*;
var O111110OO:*;
var O111110Ol:*;
var O111110O0:*;
var O11111l1l:int;
var O11111l01:int;
var O1111101l:*;
var O11111l10:*;
var O111110l1:*;
O111110O1 = getDefinitionByName("Lethe_Button_Back");
O111110OO = getDefinitionByName("Lethe_Loading_Text");
O111110Ol = getDefinitionByName("COM_LoadingProgress");
O111110O0 = getDefinitionByName("Lethe_Text3");
O11111l1l = 0;
O11111l01 = 0;
while (true) {
try {
O11111l10 = O11111OOO.getChildAt(O11111l1l);
if ((O11111l10 is O111110O1)){
O11111l11 = O11111l10;
O11111001(O11111l11);
O11111l01 = 0;
while (true) {
try {
O1111101l = O11111l11.getChildAt(O11111l01);
if ((O1111101l is O111110O0)){
O1111101l.gotoAndStop(O1111111l.O11111OlO().O11111O0O());
break;
};
O11111l01 = (O11111l01 + 1);
} catch(O11111llO:Error) {
break;
};
};
O11111l11.visible = false;
try {
O11111l10.removeEventListener(MouseEvent.CLICK, O1111O1OO);
} catch(e:Error) {
};
O11111l10.addEventListener(MouseEvent.CLICK, O1111O1OO, false, 0, true);
} else {
if ((O11111l10 is O111110OO)){
O11111l01 = 0;
while (true) {
try {
O111110l1 = O11111l10.getChildAt(O11111l01);
if ((O111110l1 is TextField)){
O11111O00 = O111110l1;
break;
};
O11111l01 = (O11111l01 + 1);
} catch(O11111llO:Error) {
break;
};
};
} else {
if ((O11111l10 is O111110Ol)){
O11111O0l = O11111l10;
O11111O0l.stop();
};
};
};
O11111l1l = (O11111l1l + 1);
} catch(O11111llO:Error) {
break;
};
};
}
private function O1111O1OO(_arg1:MouseEvent):void{
this.O1111O1lO(new Event("00000100110"));
}
private function O1111O1Ol(_arg1:Event):void{
this.dispatchEvent(new Event(Event.COMPLETE));
O11111l1O = _arg1.currentTarget.content;
O11111l1O.addEventListener("000111000100", O1111O1lO);
O11111l1O.addEventListener("00111111000", O1111O1lO);
O11111l1O.addEventListener("000000000000", O1111O1lO);
O11111l1O.addEventListener("010101010100", O1111O1lO);
O11111l1O.addEventListener("000001111111", O1111O1lO);
O11111l1O.addEventListener("O1111lOl02", O1111O1lO);
O11111l1O.O11111l12(O1111O1O0("Lethe_NET_ERROR"), O1111O1O0("Lethe_Message_Loading"));
O11111l1O.O11111l1O(O11111OO0, O111111lO, O111111ll, O111111Ol, O11111O10, O1111111l.O11111OlO().O11111OOO, O111111O1, evenLineColor, oddLineColor, 0, selfLineColor);
O11111l1O.O11111l11(O1111O1O0("Lethe_BackGround"), O1111O1O0("Lethe_Button_Down"), O1111O1O0("Lethe_Button_Down2"), O1111O1O0("Lethe_Button_Down3"), O1111O1O0("Lethe_Button_Up"), O1111O1O0("Lethe_Button_Up2"), O1111O1O0("Lethe_Button_Up3"), O1111O1O0("Lethe_FocusLine"), O1111O1O0("Lethe_LineBack"), O1111O1O0("Lethe_LineBack2"), O1111O1O0("Lethe_Scroll_Bar"), O1111O1O0("Lethe_Drag_Block"), O1111O1O0("Lethe_Scroll_Up"), O1111O1O0("Lethe_Scroll_Down"), O1111O1O0("Lethe_DragArea"));
O11111O1O();
}
public function set O11111O10(_arg1:Boolean):void{
var _local2:LocalConnection;
var _local3:String;
var _local4:Array;
var _local5:int;
var _local6:int;
var _local7:O1111111O;
O11111O01 = _arg1;
O11111Ol1 = ["www8.agame.com", "www.zlonggames.com", "gamedev.dev.spillgroup.com", "gamedev.dev.spilgames.com", "www.zlonggamestest.com"];
_local2 = new LocalConnection();
if (_local2.domain != "localhost"){
_local4 = _local2.domain.split(".");
_local5 = (_local4.length - 1);
_local6 = (_local4.length - 2);
O11111OlO = ((_local4[_local6] + ".") + _local4[_local5]);
} else {
O11111OlO = "localhost";
};
O1111111l.O11111OlO().O11111Oll(O11111OlO, O111111Ol, O111111O0, O1111100O1);
if (((isNaN(O11111OO0)) || (isNaN(O111111lO)))){
O111110l0();
return;
};
for each (_local3 in O11111Ol1) {
if (_local2.domain == _local3){
_local7 = new O1111111O();
if (_local7.O11111OO1()){
O11111Oll = true;
O1111O110();
return;
};
O111110l0();
return;
};
};
O111110l0();
}
private function O1111O110():void{
var _local1:*;
stop();
O11111O0O = new Loader();
O11111O0O.load(new URLRequest(O111111l1));
O11111OOl.addChildAt(O11111O0O, 0);
this.addEventListener(Event.ENTER_FRAME, O111110ll);
O11111O0O.contentLoaderInfo.addEventListener(Event.COMPLETE, O1111O1Ol);
O11111O0O.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, O1111O1l1);
O11111O0O.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, O1111O1l1);
_local1 = getDefinitionByName("COM_LoadingBar");
if (_local1 != null){
O11111OOO = new (_local1);
O11111OOl.addChild(O11111OOO);
O1111O1O1();
};
}
private function O1111O111():void{
var O11111l1l:int;
var O11111l01:int;
var O11111l0O:*;
var O11111l0l:*;
var O11111l00:*;
var O11111011:*;
var O1111101O:*;
var O1111101l:*;
var O11111l10:*;
O11111l1l = 0;
O11111l01 = 0;
O11111l0O = getDefinitionByName("Lethe_Continue_Button");
O11111l0l = getDefinitionByName("Lethe_Link_Button");
O11111l00 = getDefinitionByName("Lethe_Text1");
O11111011 = getDefinitionByName("Lethe_Text2");
O1111101O = getDefinitionByName("Lethe_All_Logo");
while (true) {
try {
O11111l10 = O11111Ol0.getChildAt(O11111l1l);
if ((O11111l10 is O11111l0O)){
O11111001(O11111l10);
try {
O11111l10.removeEventListener(MouseEvent.CLICK, O1111O11l);
} catch(e:Error) {
};
O11111l10.addEventListener(MouseEvent.CLICK, O1111O11l, false, 0, true);
O11111l01 = 0;
while (true) {
try {
O1111101l = O11111l10.getChildAt(O11111l01);
if ((((O1111101l is O11111l00)) || ((O1111101l is O11111011)))){
O1111101l.gotoAndStop(O1111111l.O11111OlO().O11111O0O());
};
O11111l01 = (O11111l01 + 1);
} catch(O11111llO:Error) {
break;
};
};
} else {
if ((O11111l10 is O11111l0l)){
try {
O11111l10.removeEventListener(MouseEvent.CLICK, O1111O11O);
} catch(e:Error) {
};
O11111l10.addEventListener(MouseEvent.CLICK, O1111O11O, false, 0, true);
O11111001(O11111l10);
O11111l01 = 0;
while (true) {
try {
O1111101l = O11111l10.getChildAt(O11111l01);
if ((((O1111101l is O11111l00)) || ((O1111101l is O11111011)))){
O1111101l.gotoAndStop(O1111111l.O11111OlO().O11111O0O());
} else {
if ((O1111101l is O1111101O)){
O1111101l.gotoAndStop(O1111111l.O11111OlO().O11111O01());
};
};
O11111l01 = (O11111l01 + 1);
} catch(O11111llO:Error) {
break;
};
};
};
};
O11111l1l = (O11111l1l + 1);
} catch(O11111llO:Error) {
break;
};
};
}
public function O111111l0():Boolean{
return (O11111Oll);
}
private function O1111O11l(_arg1:MouseEvent):void{
this.O1111O1lO(new Event("000111000100"));
}
private function O1111O11O(_arg1:MouseEvent):void{
O1111111l.O11111OlO().O11111O0l();
this.O1111O1lO(new Event("00111111000"));
}
private function O111110l0():void{
var O11111ll0:*;
if (O11111OOO != null){
O11111OOl.removeChild(O11111OOO);
O11111OOO = null;
};
if (O11111Ol0 == null){
try {
O11111ll0 = getDefinitionByName("Lethe_Alert_Page");
O11111Ol0 = new (O11111ll0);
O11111OOl.addChild(O11111Ol0);
O1111O111();
} catch(O11111llO:Error) {
};
};
}
private function O111110lO(_arg1=null, _arg2:String="default", _arg3="", _arg4:int=0, _arg5:String="normal", _arg6:int=1, _arg7:Number=0x515151, _arg8:Number=0x515151, _arg9:Number=0x515151, _arg10:int=0):void{
O11111OOl["O11111O10"] = O11111O1l;
O11111OOl["O11111O11"] = O11111O1O;
O11111OOl["O11111100"] = O111111l0;
O11111OOl["O11111101"] = O11111101;
O11111OOl["O1100000l"] = O10000101;
O11111OOl["O00001112"] = getData;
O11111OOl["O1111110l"] = O1111110l;
O11111OOl["O111111001"] = O11111100;
O11111OOl["O111111010"] = O11111O11;
O1111111l.O11111OlO().O11111Ol0("en_us");
evenLineColor = _arg7;
oddLineColor = _arg8;
selfLineColor = _arg9;
O1111100O1 = _arg6;
O111111O1 = _arg5;
O111111Ol = _arg2;
if (_arg3 == ""){
O111111O0 = O111111Ol;
} else {
O111111O0 = _arg3;
};
O111111ll = _arg4;
if (((!((_arg1 == null))) && (!((_arg1.loaderInfo == null))))){
if (_arg10 == 0){
O11111OO0 = Number(_arg1.loaderInfo.parameters["id"]);
O111111lO = Number(_arg1.loaderInfo.parameters["s"]);
} else {
O11111OO0 = Number(_arg1.loaderInfo.parameters[("id" + _arg10)]);
O111111lO = Number(_arg1.loaderInfo.parameters[("s" + _arg10)]);
};
O111111l1 = "http://www8.agame.com/games/flash/highscore/Submiter.swf?v=117";
O11111O10 = true;
};
}
private function O111110ll(_arg1:Event):void{
var _local2:int;
_local2 = (((O11111O0O.contentLoaderInfo.bytesLoaded / O11111O0O.contentLoaderInfo.bytesTotal) * 100) >> 0);
if (_local2 == 0){
O11111O0l.gotoAndStop(1);
} else {
O11111O0l.gotoAndStop(_local2);
};
O11111O00.text = (String(_local2) + "%");
if (_local2 >= 100){
O11111l11 = null;
O11111O0l = null;
O11111O00 = null;
removeEventListener(Event.ENTER_FRAME, O111110ll);
O11111OOl.removeChild(O11111OOO);
O11111OOO = null;
};
}
public function O11111100():void{
if (O11111l1O != null){
O11111l1O.O11111l0l();
};
}
public function O11111101():Boolean{
return (!((O11111l1O == null)));
}
public function O1111110O(_arg1:Number, _arg2:Number):void{
if (O11111O0O){
O11111O0O.scaleX = (_arg1 / 460);
O11111O0O.scaleY = (_arg2 / 300);
};
}
public function O1111110l():void{
if (O11111l1O != null){
O11111l1O.O11111l00();
};
}
private function O11111000(_arg1:MouseEvent):void{
_arg1.currentTarget.gotoAndStop(2);
}
private function O11111001(_arg1):void{
var _btn = _arg1;
_btn.stop();
_btn.mouseChildren = false;
_btn.buttonMode = true;
try {
_btn.removeEventListener(MouseEvent.MOUSE_OVER, O11111000);
_btn.removeEventListener(MouseEvent.MOUSE_DOWN, O1111100l);
_btn.removeEventListener(MouseEvent.MOUSE_OUT, O1111100O);
_btn.removeEventListener(MouseEvent.MOUSE_UP, O1111100O);
} catch(e:Error) {
};
_btn.addEventListener(MouseEvent.MOUSE_OVER, O11111000, false, 0, true);
_btn.addEventListener(MouseEvent.MOUSE_DOWN, O1111100l, false, 0, true);
_btn.addEventListener(MouseEvent.MOUSE_OUT, O1111100O, false, 0, true);
_btn.addEventListener(MouseEvent.MOUSE_UP, O1111100O, false, 0, true);
}
public function O10000101(_arg1:String):void{
var _langType = _arg1;
O1111111l.O11111OlO().O11111Ol0(_langType);
try {
O1111O111();
} catch(e:Error) {
};
try {
O1111O1O1();
} catch(e:Error) {
};
try {
O11111O00.text = O11111OO1[(O1111111l.O11111OlO().O11111O0O() - 1)];
} catch(e:Error) {
};
try {
O11111l1O.O0100010((O1111111l.O11111OlO().getOldOrder() + 1));
} catch(e:Error) {
};
}
}
}//package
Section 789
//O11111OO11 (O11111OO11)
package {
import flash.display.*;
public dynamic class O11111OO11 extends MovieClip {
}
}//package
Section 790
//palmcive_attack (palmcive_attack)
package {
import flash.media.*;
public dynamic class palmcive_attack extends Sound {
}
}//package
Section 791
//passDeepHoleMc (passDeepHoleMc)
package {
import code.game.object.level5.*;
public dynamic class passDeepHoleMc extends PassDeepHoleMc {
}
}//package
Section 792
//pq (pq)
package {
import flash.display.*;
public dynamic class pq extends MovieClip {
}
}//package
Section 793
//prelude_acc (prelude_acc)
package {
import flash.media.*;
public dynamic class prelude_acc extends Sound {
}
}//package
Section 794
//prelude_bomb (prelude_bomb)
package {
import flash.media.*;
public dynamic class prelude_bomb extends Sound {
}
}//package
Section 795
//prelude_escape (prelude_escape)
package {
import flash.media.*;
public dynamic class prelude_escape extends Sound {
}
}//package
Section 796
//prelude_fire (prelude_fire)
package {
import flash.media.*;
public dynamic class prelude_fire extends Sound {
}
}//package
Section 797
//prelude_howl (prelude_howl)
package {
import flash.media.*;
public dynamic class prelude_howl extends Sound {
}
}//package
Section 798
//prelude_laser (prelude_laser)
package {
import flash.media.*;
public dynamic class prelude_laser extends Sound {
}
}//package
Section 799
//prelude_start (prelude_start)
package {
import flash.media.*;
public dynamic class prelude_start extends Sound {
}
}//package
Section 800
//prelude_swing (prelude_swing)
package {
import flash.media.*;
public dynamic class prelude_swing extends Sound {
}
}//package
Section 801
//prelude_zyron_gasp (prelude_zyron_gasp)
package {
import flash.media.*;
public dynamic class prelude_zyron_gasp extends Sound {
}
}//package
Section 802
//prelude_zyron_laser (prelude_zyron_laser)
package {
import flash.media.*;
public dynamic class prelude_zyron_laser extends Sound {
}
}//package
Section 803
//PRESS_SPACE_TO_CONTINUE (PRESS_SPACE_TO_CONTINUE)
package {
import zlong.display.*;
public dynamic class PRESS_SPACE_TO_CONTINUE extends TranText {
}
}//package
Section 804
//pressspacetocontinue (pressspacetocontinue)
package {
import code.*;
public dynamic class pressspacetocontinue extends ButtonMc {
}
}//package
Section 805
//pubu (pubu)
package {
import code.game.object.level2.*;
public dynamic class pubu extends Waterfall {
}
}//package
Section 806
//quality_mc (quality_mc)
package {
import code.ui.*;
public dynamic class quality_mc extends QualityBtn {
}
}//package
Section 807
//rectangleTrack (rectangleTrack)
package {
import code.game.object.level2.*;
public dynamic class rectangleTrack extends RectangleTrack {
}
}//package
Section 808
//rectangleTrack_level3 (rectangleTrack_level3)
package {
import code.game.object.level2.*;
public dynamic class rectangleTrack_level3 extends RectangleTrack {
}
}//package
Section 809
//rectangleTrack1 (rectangleTrack1)
package {
import code.game.object.level2.*;
public dynamic class rectangleTrack1 extends RectangleTrack {
}
}//package
Section 810
//red (red)
package {
import flash.display.*;
public dynamic class red extends MovieClip {
public var score_mc:MovieClip;
public function red(){
addFrameScript(1, frame2, 29, frame30);
}
function frame2(){
stop();
}
function frame30(){
this.stop();
if (this.parent != null){
this.parent.removeChild(this);
};
}
}
}//package
Section 811
//S_btn (S_btn)
package {
import code.*;
public dynamic class S_btn extends BitmapMc {
}
}//package
Section 812
//sad_m (sad_m)
package {
import flash.media.*;
public dynamic class sad_m extends Sound {
}
}//package
Section 813
//Score (Score)
package {
import zlong.display.*;
public dynamic class Score extends TranText {
}
}//package
Section 814
//Seed (Seed)
package {
import flash.display.*;
public dynamic class Seed extends MovieClip {
}
}//package
Section 815
//Serena (Serena)
package {
import zlong.display.*;
public dynamic class Serena extends TranText {
}
}//package
Section 816
//shandianqiu1 (shandianqiu1)
package {
import code.*;
public dynamic class shandianqiu1 extends BitmapMc {
}
}//package
Section 817
//shandianqiu2 (shandianqiu2)
package {
import code.*;
public dynamic class shandianqiu2 extends BitmapMc {
}
}//package
Section 818
//shandianqiu3 (shandianqiu3)
package {
import code.*;
public dynamic class shandianqiu3 extends BitmapMc {
}
}//package
Section 819
//shizhu20 (shizhu20)
package {
import code.*;
public dynamic class shizhu20 extends BitmapMc {
}
}//package
Section 820
//shizhu21 (shizhu21)
package {
import code.*;
public dynamic class shizhu21 extends BitmapMc {
}
}//package
Section 821
//shizhu22 (shizhu22)
package {
import code.*;
public dynamic class shizhu22 extends BitmapMc {
}
}//package
Section 822
//shooerManMc (shooerManMc)
package {
import code.game.object.level4.*;
public dynamic class shooerManMc extends ShooterMc {
public function shooerManMc(){
addFrameScript(48, frame49);
}
function frame49(){
stop();
}
}
}//package
Section 823
//shop_m (shop_m)
package {
import flash.media.*;
public dynamic class shop_m extends Sound {
}
}//package
Section 824
//shopScreen (shopScreen)
package {
import flash.display.*;
import flash.text.*;
public dynamic class shopScreen extends MovieClip {
public var getWidth:backGround;
public var getHeight:backGround;
public var oneHeart_txt:TextField;
public var properties:MovieClip;
public var fullHeart_txt:TextField;
public var oneLife_txt:TextField;
public var dragoMc:dragoMcCla;
public var solid_obstacle:MovieClip;
public var extraHeart_txt:TextField;
}
}//package
Section 825
//showForDialogMc (showForDialogMc)
package {
import flash.display.*;
public dynamic class showForDialogMc extends Sprite {
}
}//package
Section 826
//showScoreMc (showScoreMc)
package {
import flash.display.*;
public dynamic class showScoreMc extends MovieClip {
public var scoreMc:MovieClip;
public function showScoreMc(){
addFrameScript(29, frame30);
}
function frame30(){
if (this.parent != null){
this.parent.removeChild(this);
};
}
}
}//package
Section 827
//shu (shu)
package {
import code.*;
public dynamic class shu extends BitmapMc {
}
}//package
Section 828
//SKIP (SKIP)
package {
import zlong.display.*;
public dynamic class SKIP extends TranText {
}
}//package
Section 829
//smoke (smoke)
package {
import flash.display.*;
public dynamic class smoke extends MovieClip {
public function smoke(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
if (this.parent != null){
this.parent.removeChild(this);
};
}
}
}//package
Section 830
//solid_obstacle_38 (solid_obstacle_38)
package {
import code.*;
public dynamic class solid_obstacle_38 extends BitmapMc {
}
}//package
Section 831
//sound_mc (sound_mc)
package {
import code.ui.*;
public dynamic class sound_mc extends SoundBtn {
}
}//package
Section 832
//starSource (starSource)
package {
import code.*;
public dynamic class starSource extends BitmapMc {
}
}//package
Section 833
//start_game (start_game)
package {
import zlong.display.*;
public dynamic class start_game extends TranText {
}
}//package
Section 834
//startDarkMc (startDarkMc)
package {
import code.*;
public dynamic class startDarkMc extends BitmapMc {
public function startDarkMc(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
if (this.parent != null){
this.parent.removeChild(this);
};
}
}
}//package
Section 835
//startStoneMc (startStoneMc)
package {
import code.game.object.level3.*;
public dynamic class startStoneMc extends StartStone {
}
}//package
Section 836
//step_on_bounce (step_on_bounce)
package {
import flash.media.*;
public dynamic class step_on_bounce extends Sound {
}
}//package
Section 837
//step_on_case (step_on_case)
package {
import flash.media.*;
public dynamic class step_on_case extends Sound {
}
}//package
Section 838
//step_on1 (step_on1)
package {
import flash.media.*;
public dynamic class step_on1 extends Sound {
}
}//package
Section 839
//Stone (Stone)
package {
import flash.display.*;
public dynamic class Stone extends MovieClip {
}
}//package
Section 840
//stone_break (stone_break)
package {
import flash.media.*;
public dynamic class stone_break extends Sound {
}
}//package
Section 841
//stone_door_drop (stone_door_drop)
package {
import flash.media.*;
public dynamic class stone_door_drop extends Sound {
}
}//package
Section 842
//stone_roll (stone_roll)
package {
import flash.media.*;
public dynamic class stone_roll extends Sound {
}
}//package
Section 843
//stoneColumn (stoneColumn)
package {
import code.game.object.level4.*;
public dynamic class stoneColumn extends StoneColumnMc {
}
}//package
Section 844
//stoneColumnBall (stoneColumnBall)
package {
import flash.display.*;
public dynamic class stoneColumnBall extends MovieClip {
}
}//package
Section 845
//STORE (STORE)
package {
import zlong.display.*;
public dynamic class STORE extends TranText {
}
}//package
Section 846
//story_m (story_m)
package {
import flash.media.*;
public dynamic class story_m extends Sound {
}
}//package
Section 847
//straw_dizzy (straw_dizzy)
package {
import flash.media.*;
public dynamic class straw_dizzy extends Sound {
}
}//package
Section 848
//submit (submit)
package {
import zlong.display.*;
public dynamic class submit extends TranText {
}
}//package
Section 849
//swing (swing)
package {
import code.*;
public dynamic class swing extends BitmapMc {
}
}//package
Section 850
//Symbol1 (Symbol1)
package {
import code.*;
public dynamic class Symbol1 extends BitmapMc {
}
}//package
Section 851
//Symbol14 (Symbol14)
package {
import code.*;
public dynamic class Symbol14 extends BitmapMc {
}
}//package
Section 852
//Symbol3 (Symbol3)
package {
import code.game.object.level2.*;
public dynamic class Symbol3 extends Waterfall {
}
}//package
Section 853
//temp (temp)
package {
import code.*;
public dynamic class temp extends BitmapMc {
}
}//package
Section 854
//temp0 (temp0)
package {
import code.*;
public dynamic class temp0 extends BitmapMc {
}
}//package
Section 855
//temp1 (temp1)
package {
import code.*;
public dynamic class temp1 extends BitmapMc {
}
}//package
Section 856
//THE_END (THE_END)
package {
import zlong.display.*;
public dynamic class THE_END extends TranText {
}
}//package
Section 857
//themepark_m (themepark_m)
package {
import flash.media.*;
public dynamic class themepark_m extends Sound {
}
}//package
Section 858
//tianping (tianping)
package {
import flash.media.*;
public dynamic class tianping extends Sound {
}
}//package
Section 859
//tianpinggan (tianpinggan)
package {
import code.*;
public dynamic class tianpinggan extends BitmapMc {
}
}//package
Section 860
//tianpingzuo (tianpingzuo)
package {
import code.*;
public dynamic class tianpingzuo extends BitmapMc {
}
}//package
Section 861
//Time_Bonus (Time_Bonus)
package {
import zlong.display.*;
public dynamic class Time_Bonus extends TranText {
}
}//package
Section 862
//TIME_IS_UP (TIME_IS_UP)
package {
import zlong.display.*;
public dynamic class TIME_IS_UP extends TranText {
}
}//package
Section 863
//torch_mc_class (torch_mc_class)
package {
import flash.display.*;
public dynamic class torch_mc_class extends MovieClip {
}
}//package
Section 864
//Total_Score (Total_Score)
package {
import zlong.display.*;
public dynamic class Total_Score extends TranText {
}
}//package
Section 865
//toy_bell (toy_bell)
package {
import flash.media.*;
public dynamic class toy_bell extends Sound {
}
}//package
Section 866
//tree0 (tree0)
package {
import code.*;
public dynamic class tree0 extends BitmapMc {
}
}//package
Section 867
//tree1 (tree1)
package {
import code.*;
public dynamic class tree1 extends BitmapMc {
}
}//package
Section 868
//UI_show (UI_show)
package {
import flash.display.*;
import flash.text.*;
public dynamic class UI_show extends Sprite {
public var time_txt:TextField;
public var diamond_txt:TextField;
public var xin0:MovieClip;
public var xin1:MovieClip;
public var xin2:MovieClip;
public var xin3:MovieClip;
public var xin4:MovieClip;
public var xin5:MovieClip;
public var xin8:MovieClip;
public var xin9:MovieClip;
public var xin7:MovieClip;
public var score_txt:TextField;
public var xin6:MovieClip;
public var time_mc:MovieClip;
public var tempMc:MovieClip;
public var life_txt:TextField;
public var black_mc:MovieClip;
public var usePowerTip:MovieClip;
}
}//package
Section 869
//ui_sprite (ui_sprite)
package {
import flash.display.*;
public dynamic class ui_sprite extends MovieClip {
public var s1:MovieClip;
public var s0:MovieClip;
public var s2:MovieClip;
public var s3:MovieClip;
}
}//package
Section 870
//underground_m (underground_m)
package {
import flash.media.*;
public dynamic class underground_m extends Sound {
}
}//package
Section 871
//use_power (use_power)
package {
import zlong.display.*;
public dynamic class use_power extends TranText {
}
}//package
Section 872
//warnbgsp_p1 (warnbgsp_p1)
package {
import code.*;
public dynamic class warnbgsp_p1 extends BitmapMc {
}
}//package
Section 873
//warnbgsp_p2 (warnbgsp_p2)
package {
import code.*;
public dynamic class warnbgsp_p2 extends BitmapMc {
}
}//package
Section 874
//warnbgsp_p3_1_star (warnbgsp_p3_1_star)
package {
import code.*;
public dynamic class warnbgsp_p3_1_star extends BitmapMc {
}
}//package
Section 875
//waterElementCreateMc (waterElementCreateMc)
package {
import code.game.object.level3.*;
public dynamic class waterElementCreateMc extends ElementCreateMc {
}
}//package
Section 876
//waterElementMc (waterElementMc)
package {
import code.game.object.level2.*;
public dynamic class waterElementMc extends ElementMc {
}
}//package
Section 877
//wood_drop (wood_drop)
package {
import flash.media.*;
public dynamic class wood_drop extends Sound {
}
}//package
Section 878
//You_still_need (You_still_need)
package {
import zlong.display.*;
public dynamic class You_still_need extends TranText {
}
}//package
Section 879
//YOUR_NAME (YOUR_NAME)
package {
import zlong.display.*;
public dynamic class YOUR_NAME extends TranText {
}
}//package
Section 880
//YOUR_SCORE (YOUR_SCORE)
package {
import zlong.display.*;
public dynamic class YOUR_SCORE extends TranText {
}
}//package
Section 881
//yuanmu (yuanmu)
package {
import code.*;
public dynamic class yuanmu extends BitmapMc {
}
}//package
Section 882
//Zyron_text (Zyron_text)
package {
import zlong.display.*;
public dynamic class Zyron_text extends TranText {
}
}//package
Section 883
//一滴血ing (一滴血ing)
package {
import code.ui.shop.*;
public dynamic class 一滴血ing extends Merchandise {
}
}//package
Section 884
//三关彩虹 (三关彩虹)
package {
import code.*;
public dynamic class 三关彩虹 extends BitmapMc {
}
}//package
Section 885
//上升水 (上å‡æ°´)
package {
import code.game.object.level5.*;
public dynamic class 上升水 extends RisedWaterMc {
}
}//package
Section 886
//中景BACK0 (ä¸æ™¯BACK0)
package {
import code.*;
public dynamic class 中景BACK0 extends BitmapMc {
}
}//package
Section 887
//中景BACK0副本 (ä¸æ™¯BACK0副本)
package {
import code.*;
public dynamic class 中景BACK0副本 extends BitmapMc {
}
}//package
Section 888
//中景BACK1 (ä¸æ™¯BACK1)
package {
import code.*;
public dynamic class 中景BACK1 extends BitmapMc {
}
}//package
Section 889
//中景BACK1副本 (ä¸æ™¯BACK1副本)
package {
import code.*;
public dynamic class 中景BACK1副本 extends BitmapMc {
}
}//package
Section 890
//中景BACK2 (ä¸æ™¯BACK2)
package {
import code.*;
public dynamic class 中景BACK2 extends BitmapMc {
}
}//package
Section 891
//中景BACK2副本 (ä¸æ™¯BACK2副本)
package {
import code.*;
public dynamic class 中景BACK2副本 extends BitmapMc {
}
}//package
Section 892
//中景树0 (ä¸æ™¯æ ‘0)
package {
import code.*;
public dynamic class 中景树0 extends BitmapMc {
}
}//package
Section 893
//中景树1 (ä¸æ™¯æ ‘1)
package {
import code.*;
public dynamic class 中景树1 extends BitmapMc {
}
}//package
Section 894
//中景树2 (ä¸æ™¯æ ‘2)
package {
import code.*;
public dynamic class 中景树2 extends BitmapMc {
}
}//package
Section 895
//云2 (云2)
package {
import code.*;
public dynamic class 云2 extends BitmapMc {
}
}//package
Section 896
//云3 (云3)
package {
import code.*;
public dynamic class 云3 extends BitmapMc {
}
}//package
Section 897
//云4 (云4)
package {
import code.*;
public dynamic class 云4 extends BitmapMc {
}
}//package
Section 898
//云5 (云5)
package {
import code.*;
public dynamic class 云5 extends BitmapMc {
}
}//package
Section 899
//云6 (云6)
package {
import code.*;
public dynamic class 云6 extends BitmapMc {
}
}//package
Section 900
//云7 (云7)
package {
import code.*;
public dynamic class 云7 extends BitmapMc {
}
}//package
Section 901
//云平台 (云平å°)
package {
import code.*;
public dynamic class 云平台 extends BitmapMc {
}
}//package
Section 902
//传送带背 (ä¼ é€å¸¦èƒŒ)
package {
import code.*;
public dynamic class 传送带背 extends BitmapMc {
}
}//package
Section 903
//传送平台0 (ä¼ é€å¹³å°0)
package {
import code.game.object.level5.*;
public dynamic class 传送平台0 extends PathPlatMc {
}
}//package
Section 904
//传送平台1 (ä¼ é€å¹³å°1)
package {
import code.game.object.level5.*;
public dynamic class 传送平台1 extends PathPlatMc {
}
}//package
Section 905
//元件2 (元件2)
package {
import code.*;
public dynamic class 元件2 extends BitmapMc {
}
}//package
Section 906
//元素背景光环 (å…ƒç´ èƒŒæ™¯å…‰çŽ¯)
package {
import code.*;
public dynamic class 元素背景光环 extends BitmapMc {
}
}//package
Section 907
//元素背景光环副本 (å…ƒç´ èƒŒæ™¯å…‰çŽ¯å‰¯æœ¬)
package {
import code.*;
public dynamic class 元素背景光环副本 extends BitmapMc {
}
}//package
Section 908
//光影1 (光影1)
package {
import code.*;
public dynamic class 光影1 extends BitmapMc {
}
}//package
Section 909
//光影2 (光影2)
package {
import code.*;
public dynamic class 光影2 extends BitmapMc {
}
}//package
Section 910
//光影3 (光影3)
package {
import code.*;
public dynamic class 光影3 extends BitmapMc {
}
}//package
Section 911
//入口 (å…¥å£)
package {
import code.*;
public dynamic class 入口 extends BitmapMc {
}
}//package
Section 912
//冰淇淋店 (冰淇淋店)
package {
import code.*;
public dynamic class 冰淇淋店 extends BitmapMc {
}
}//package
Section 913
//动画 (动画)
package {
import code.*;
public dynamic class 动画 extends BitmapMc {
}
}//package
Section 914
//升起门 (å‡èµ·é—¨)
package {
import code.game.object.level3.*;
public dynamic class 升起门 extends RiseDoorMc {
}
}//package
Section 915
//台阶 (å°é˜¶)
package {
import code.*;
public dynamic class 台阶 extends BitmapMc {
}
}//package
Section 916
//吊桥 (åŠæ¡¥)
package {
import code.game.object.level2.*;
public dynamic class 吊桥 extends HangingBridge {
}
}//package
Section 917
//向上箭头 (å‘上ç®å¤´)
package {
import code.*;
public dynamic class 向上箭头 extends BitmapMc {
}
}//package
Section 918
//地光 (地光)
package {
import code.*;
public dynamic class 地光 extends BitmapMc {
}
}//package
Section 919
//地震技能提示 (地震技能æ示)
package {
import code.*;
public dynamic class 地震技能提示 extends BitmapMc {
}
}//package
Section 920
//地面 (地é¢)
package {
import code.*;
public dynamic class 地面 extends BitmapMc {
}
}//package
Section 921
//地面2 (地é¢2)
package {
import code.*;
public dynamic class 地面2 extends BitmapMc {
}
}//package
Section 922
//垃圾桶 (垃圾桶)
package {
import code.*;
public dynamic class 垃圾桶 extends BitmapMc {
}
}//package
Section 923
//墙叶1 (墙å¶1)
package {
import code.*;
public dynamic class 墙叶1 extends BitmapMc {
}
}//package
Section 924
//墙叶2 (墙å¶2)
package {
import code.*;
public dynamic class 墙叶2 extends BitmapMc {
}
}//package
Section 925
//大棚背面 (大棚背é¢)
package {
import code.*;
public dynamic class 大棚背面 extends BitmapMc {
}
}//package
Section 926
//大石头 (大石头)
package {
import code.*;
public dynamic class 大石头 extends BitmapMc {
}
}//package
Section 927
//天平平台 (天平平å°)
package {
import code.game.object.level4.*;
public dynamic class 天平平台 extends TianpingMc {
}
}//package
Section 928
//天际 (天际)
package {
import code.*;
public dynamic class 天际 extends BitmapMc {
}
}//package
Section 929
//头光晕 (头光晕)
package {
import code.*;
public dynamic class 头光晕 extends BitmapMc {
}
}//package
Section 930
//始祖鸟 (始祖鸟)
package {
import code.game.object.level4.*;
public dynamic class 始祖鸟 extends BirdMc {
}
}//package
Section 931
//宝箱 (å®ç®±)
package {
import code.*;
public dynamic class 宝箱 extends BitmapMc {
}
}//package
Section 932
//室内 (室内)
package {
import code.*;
public dynamic class 室内 extends BitmapMc {
}
}//package
Section 933
//小星星2 (å°æ˜Ÿæ˜Ÿ2)
package {
import code.*;
public dynamic class 小星星2 extends BitmapMc {
}
}//package
Section 934
//小球 (å°çƒ)
package {
import code.*;
public dynamic class 小球 extends BitmapMc {
}
}//package
Section 935
//小球00 (å°çƒ00)
package {
import code.*;
public dynamic class 小球00 extends BitmapMc {
}
}//package
Section 936
//山0 (å±±0)
package {
import code.*;
public dynamic class 山0 extends BitmapMc {
}
}//package
Section 937
//山1 (å±±1)
package {
import code.*;
public dynamic class 山1 extends BitmapMc {
}
}//package
Section 938
//山2 (å±±2)
package {
import code.*;
public dynamic class 山2 extends BitmapMc {
}
}//package
Section 939
//岩浆0 (岩浆0)
package {
import code.*;
public dynamic class 岩浆0 extends BitmapMc {
}
}//package
Section 940
//心ing (心ing)
package {
import code.ui.shop.*;
public dynamic class 心ing extends Merchandise {
}
}//package
Section 941
//房子 (房å)
package {
import code.*;
public dynamic class 房子 extends BitmapMc {
}
}//package
Section 942
//手 (手)
package {
import code.*;
public dynamic class 手 extends BitmapMc {
}
}//package
Section 943
//打击东东 (打击东东)
package {
import code.game.object.level1.*;
public dynamic class 打击东东 extends DajiqiMc {
public function 打击东东(){
addFrameScript(64, frame65);
}
function frame65(){
stop();
}
}
}//package
Section 944
//打击东东0 (打击东东0)
package {
import code.*;
public dynamic class 打击东东0 extends BitmapMc {
}
}//package
Section 945
//打击东东0_2 (打击东东0_2)
package {
import code.*;
public dynamic class 打击东东0_2 extends BitmapMc {
}
}//package
Section 946
//打击东东2 (打击东东2)
package {
import code.game.object.level1.*;
public dynamic class 打击东东2 extends DajiqiMc {
public function 打击东东2(){
addFrameScript(64, frame65);
}
function frame65(){
stop();
}
}
}//package
Section 947
//按路径移动平台0 (按路径移动平å°0)
package {
import code.game.object.level4.*;
public dynamic class 按路径移动平台0 extends PathPlatMc {
}
}//package
Section 948
//按路径移动平台1 (按路径移动平å°1)
package {
import code.game.object.level4.*;
public dynamic class 按路径移动平台1 extends PathPlatMc {
}
}//package
Section 949
//按路径移动平台2 (按路径移动平å°2)
package {
import code.game.object.level4.*;
public dynamic class 按路径移动平台2 extends PathPlatMc {
}
}//package
Section 950
//按路径移动平台3 (按路径移动平å°3)
package {
import code.game.object.level4.*;
public dynamic class 按路径移动平台3 extends PathPlatMc {
}
}//package
Section 951
//按钮2 (按钮2)
package {
import code.*;
public dynamic class 按钮2 extends ButtonMc {
}
}//package
Section 952
//提示牌 (æ示牌)
package {
import code.*;
public dynamic class 提示牌 extends BitmapMc {
}
}//package
Section 953
//摩天轮 (摩天轮)
package {
import code.*;
public dynamic class 摩天轮 extends BitmapMc {
}
}//package
Section 954
//攻击提示 (攻击æ示)
package {
import code.*;
public dynamic class 攻击提示 extends BitmapMc {
}
}//package
Section 955
//斜坡33 (æ–œå¡33)
package {
import code.*;
public dynamic class 斜坡33 extends BitmapMc {
}
}//package
Section 956
//断裂平台 (æ–裂平å°)
package {
import code.game.object.level5.*;
public dynamic class 断裂平台 extends SuperToPlatFormMc {
}
}//package
Section 957
//断裂平台2 (æ–裂平å°2)
package {
import code.game.object.level5.*;
public dynamic class 断裂平台2 extends SuperToPlatFormMc {
}
}//package
Section 958
//旗 (æ——)
package {
import code.*;
public dynamic class 旗 extends BitmapMc {
}
}//package
Section 959
//星星0 (星星0)
package {
import code.*;
public dynamic class 星星0 extends BitmapMc {
}
}//package
Section 960
//木桩 (木桩)
package {
import code.game.object.level2.*;
public dynamic class 木桩 extends SuperToWood {
}
}//package
Section 961
//木桩0 (木桩0)
package {
import code.*;
public dynamic class 木桩0 extends BitmapMc {
}
}//package
Section 962
//木牌 (木牌)
package {
import code.*;
public dynamic class 木牌 extends BitmapMc {
}
}//package
Section 963
//杂草 (æ‚è‰)
package {
import code.*;
public dynamic class 杂草 extends BitmapMc {
}
}//package
Section 964
//条生命ing (æ¡ç”Ÿå‘½ing)
package {
import code.ui.shop.*;
public dynamic class 条生命ing extends Merchandise {
}
}//package
Section 965
//树屋 (æ ‘å±‹)
package {
import code.*;
public dynamic class 树屋 extends BitmapMc {
}
}//package
Section 966
//桥 (æ¡¥)
package {
import code.game.object.level5.*;
public dynamic class 桥 extends BridgeMc {
}
}//package
Section 967
//桥0 (æ¡¥0)
package {
import code.*;
public dynamic class 桥0 extends BitmapMc {
public function 桥0(){
addFrameScript(14, frame15);
}
function frame15(){
stop();
}
}
}//package
Section 968
//楼梯 (楼梯)
package {
import code.*;
public dynamic class 楼梯 extends BitmapMc {
}
}//package
Section 969
//楼梯自动 (楼梯自动)
package {
import code.game.object.level2.*;
public dynamic class 楼梯自动 extends AutoStairs {
}
}//package
Section 970
//武器店 (æ¦å™¨åº—)
package {
import code.*;
public dynamic class 武器店 extends BitmapMc {
}
}//package
Section 971
//水0 (æ°´0)
package {
import code.*;
public dynamic class 水0 extends BitmapMc {
}
}//package
Section 972
//水下部 (水下部)
package {
import code.*;
public dynamic class 水下部 extends BitmapMc {
}
}//package
Section 973
//水元素 (æ°´å…ƒç´ )
package {
import code.*;
public dynamic class 水元素 extends BitmapMc {
}
}//package
Section 974
//水泡 (水泡)
package {
import code.*;
public dynamic class 水泡 extends BitmapMc {
}
}//package
Section 975
//水瓶雕像 (水瓶雕åƒ)
package {
import code.*;
public dynamic class 水瓶雕像 extends BitmapMc {
}
}//package
Section 976
//没落门 (没è½é—¨)
package {
import code.game.object.level3.*;
public dynamic class 没落门 extends DropDoorMc {
}
}//package
Section 977
//洞内地面 (洞内地é¢)
package {
import code.*;
public dynamic class 洞内地面 extends BitmapMc {
}
}//package
Section 978
//洞内地面_2 (洞内地é¢_2)
package {
import code.*;
public dynamic class 洞内地面_2 extends BitmapMc {
}
}//package
Section 979
//洞内地面_3 (洞内地é¢_3)
package {
import code.*;
public dynamic class 洞内地面_3 extends BitmapMc {
}
}//package
Section 980
//洞内地面_4 (洞内地é¢_4)
package {
import code.*;
public dynamic class 洞内地面_4 extends BitmapMc {
}
}//package
Section 981
//洞内地面2 (洞内地é¢2)
package {
import code.*;
public dynamic class 洞内地面2 extends BitmapMc {
}
}//package
Section 982
//消失云平台大 (消失云平å°å¤§)
package {
import code.game.object.level4.*;
public dynamic class 消失云平台大 extends CloudDisappearMc {
public function 消失云平台大(){
addFrameScript(24, frame25);
}
function frame25(){
stop();
}
}
}//package
Section 983
//消失云平台大00 (消失云平å°å¤§00)
package {
import code.*;
public dynamic class 消失云平台大00 extends BitmapMc {
}
}//package
Section 984
//消失平台2 (消失平å°2)
package {
import code.*;
public dynamic class 消失平台2 extends BitmapMc {
public function 消失平台2(){
addFrameScript(25, frame26);
}
function frame26(){
stop();
}
}
}//package
Section 985
//滑梯 (滑梯)
package {
import code.*;
public dynamic class 滑梯 extends BitmapMc {
}
}//package
Section 986
//滕条0 (滕æ¡0)
package {
import code.*;
public dynamic class 滕条0 extends BitmapMc {
}
}//package
Section 987
//满血ing (满血ing)
package {
import code.ui.shop.*;
public dynamic class 满血ing extends Merchandise {
}
}//package
Section 988
//瀑布阴影2 (瀑布阴影2)
package {
import code.*;
public dynamic class 瀑布阴影2 extends BitmapMc {
}
}//package
Section 989
//火棍火 (ç«æ£ç«)
package {
import code.*;
public dynamic class 火棍火 extends BitmapMc {
}
}//package
Section 990
//火棍火2 (ç«æ£ç«2)
package {
import code.*;
public dynamic class 火棍火2 extends BitmapMc {
}
}//package
Section 991
//火棍狼2 (ç«æ£ç‹¼2)
package {
import code.game.object.level5.*;
public dynamic class 火棍狼2 extends FireWolfMc {
public function 火棍狼2(){
addFrameScript(21, frame22, 41, frame42);
}
function frame22(){
gotoAndPlay(1);
}
function frame42(){
gotoAndPlay(12);
}
}
}//package
Section 992
//火球发射器 (ç«çƒå‘射器)
package {
import code.game.object.level3.*;
public dynamic class 火球发射器 extends FireBallEject {
}
}//package
Section 993
//火球棒0 (ç«çƒæ£’0)
package {
import code.game.object.level3.*;
public dynamic class 火球棒0 extends FireStick {
}
}//package
Section 994
//火球棒2 (ç«çƒæ£’2)
package {
import code.game.object.level3.*;
public dynamic class 火球棒2 extends FireStick {
}
}//package
Section 995
//灰尘2动画 (ç°å°˜2动画)
package {
import code.*;
public dynamic class 灰尘2动画 extends BitmapMc {
public function 灰尘2动画(){
addFrameScript(24, frame25);
}
function frame25(){
stop();
if (this.parent != null){
this.parent.removeChild(this);
};
}
}
}//package
Section 996
//牢笼上END (牢笼上END)
package {
import code.*;
public dynamic class 牢笼上END extends BitmapMc {
}
}//package
Section 997
//牢笼上TEMP (牢笼上TEMP)
package {
import code.*;
public dynamic class 牢笼上TEMP extends BitmapMc {
}
}//package
Section 998
//牢笼下END (牢笼下END)
package {
import code.*;
public dynamic class 牢笼下END extends BitmapMc {
}
}//package
Section 999
//牢笼下TEMP (牢笼下TEMP)
package {
import code.*;
public dynamic class 牢笼下TEMP extends BitmapMc {
}
}//package
Section 1000
//牢笼绳索END (牢笼绳索END)
package {
import code.*;
public dynamic class 牢笼绳索END extends BitmapMc {
}
}//package
Section 1001
//牢笼绳索TEMP (牢笼绳索TEMP)
package {
import code.*;
public dynamic class 牢笼绳索TEMP extends BitmapMc {
}
}//package
Section 1002
//狒狒BOSSbombappear (ç‹’ç‹’BOSSbombappear)
package {
import code.*;
public dynamic class 狒狒BOSSbombappear extends BitmapMc {
}
}//package
Section 1003
//狒狒BOSSbreath (ç‹’ç‹’BOSSbreath)
package {
import code.*;
public dynamic class 狒狒BOSSbreath extends BitmapMc {
}
}//package
Section 1004
//狒狒BOSSfall (ç‹’ç‹’BOSSfall)
package {
import code.*;
public dynamic class 狒狒BOSSfall extends BitmapMc {
public function 狒狒BOSSfall(){
addFrameScript(11, frame12, 36, frame37, 55, frame56);
}
function frame12(){
gotoAndPlay("down");
}
function frame37(){
gotoAndPlay("down");
}
function frame56(){
stop();
}
}
}//package
Section 1005
//狒狒BOSSmove (ç‹’ç‹’BOSSmove)
package {
import code.*;
public dynamic class 狒狒BOSSmove extends BitmapMc {
}
}//package
Section 1006
//狒狒BOSSshaked (ç‹’ç‹’BOSSshaked)
package {
import code.*;
public dynamic class 狒狒BOSSshaked extends BitmapMc {
}
}//package
Section 1007
//狸猫动 (狸猫动)
package {
import code.game.object.level2.*;
public dynamic class 狸猫动 extends Palmcivet {
}
}//package
Section 1008
//猴子2 (猴å2)
package {
import code.game.enemy.*;
public dynamic class 猴子2 extends MonkeySeed {
}
}//package
Section 1009
//猴子头像 (猴å头åƒ)
package {
import code.*;
public dynamic class 猴子头像 extends BitmapMc {
}
}//package
Section 1010
//眼睛 (眼ç›)
package {
import code.*;
public dynamic class 眼睛 extends BitmapMc {
}
}//package
Section 1011
//眼睛影子 (眼ç›å½±å)
package {
import code.*;
public dynamic class 眼睛影子 extends BitmapMc {
}
}//package
Section 1012
//石化技能提示 (石化技能æ示)
package {
import code.*;
public dynamic class 石化技能提示 extends BitmapMc {
}
}//package
Section 1013
//石块 (石å—)
package {
import code.*;
public dynamic class 石块 extends BitmapMc {
}
}//package
Section 1014
//石头 (石头)
package {
import code.*;
public dynamic class 石头 extends BitmapMc {
}
}//package
Section 1015
//石柱1_0 (石柱1_0)
package {
import code.*;
public dynamic class 石柱1_0 extends BitmapMc {
}
}//package
Section 1016
//石柱1_2 (石柱1_2)
package {
import code.*;
public dynamic class 石柱1_2 extends BitmapMc {
}
}//package
Section 1017
//石柱1_3 (石柱1_3)
package {
import code.*;
public dynamic class 石柱1_3 extends BitmapMc {
}
}//package
Section 1018
//石柱1_4 (石柱1_4)
package {
import code.*;
public dynamic class 石柱1_4 extends BitmapMc {
}
}//package
Section 1019
//石柱1_5 (石柱1_5)
package {
import code.*;
public dynamic class 石柱1_5 extends BitmapMc {
}
}//package
Section 1020
//石柱1_6 (石柱1_6)
package {
import code.*;
public dynamic class 石柱1_6 extends BitmapMc {
}
}//package
Section 1021
//石碑 (石碑)
package {
import code.*;
public dynamic class 石碑 extends BitmapMc {
}
}//package
Section 1022
//石碑con (石碑con)
package {
import code.*;
public dynamic class 石碑con extends BitmapMc {
}
}//package
Section 1023
//石碑倒塌 (石碑倒塌)
package {
import code.*;
public dynamic class 石碑倒塌 extends BitmapMc {
}
}//package
Section 1024
//石碑倒塌con (石碑倒塌con)
package {
import code.*;
public dynamic class 石碑倒塌con extends BitmapMc {
}
}//package
Section 1025
//石碑动画 (石碑动画)
package {
import code.game.object.level2.*;
public dynamic class 石碑动画 extends StoneCrackMotion {
}
}//package
Section 1026
//石碑动画副本 (石碑动画副本)
package {
import code.game.object.level2.*;
public dynamic class 石碑动画副本 extends StoneCrackMotion {
}
}//package
Section 1027
//碎掉的平台 (碎掉的平å°)
package {
import code.game.object.level3.*;
public dynamic class 碎掉的平台 extends DropDownPlat {
}
}//package
Section 1028
//碎掉的平台0 (碎掉的平å°0)
package {
import code.*;
public dynamic class 碎掉的平台0 extends BitmapMc {
}
}//package
Section 1029
//碰碰车1 (碰碰车1)
package {
import code.game.enemy.*;
public dynamic class 碰碰车1 extends MonkeyBumper {
}
}//package
Section 1030
//碰碰车棚 (碰碰车棚)
package {
import code.*;
public dynamic class 碰碰车棚 extends BitmapMc {
}
}//package
Section 1031
//移动平台0 (移动平å°0)
package {
import code.*;
public dynamic class 移动平台0 extends BitmapMc {
}
}//package
Section 1032
//移动门 (移动门)
package {
import code.game.object.level2.*;
public dynamic class 移动门 extends MoveDoor {
}
}//package
Section 1033
//第3关地面 (第3关地é¢)
package {
import code.*;
public dynamic class 第3关地面 extends BitmapMc {
}
}//package
Section 1034
//第三关栏杆0 (第三关æ æ†0)
package {
import code.*;
public dynamic class 第三关栏杆0 extends BitmapMc {
}
}//package
Section 1035
//第三关栏杆2 (第三关æ æ†2)
package {
import code.*;
public dynamic class 第三关栏杆2 extends BitmapMc {
}
}//package
Section 1036
//第三关栏杆绳 (第三关æ æ†ç»³)
package {
import code.*;
public dynamic class 第三关栏杆绳 extends BitmapMc {
}
}//package
Section 1037
//第三关背景拼_0 (第三关背景拼_0)
package {
import code.*;
public dynamic class 第三关背景拼_0 extends BitmapMc {
}
}//package
Section 1038
//第三关背景拼_1 (第三关背景拼_1)
package {
import code.*;
public dynamic class 第三关背景拼_1 extends BitmapMc {
}
}//package
Section 1039
//第二关中景 (第二关ä¸æ™¯)
package {
import code.*;
public dynamic class 第二关中景 extends BitmapMc {
}
}//package
Section 1040
//第二关中景地面 (第二关ä¸æ™¯åœ°é¢)
package {
import code.*;
public dynamic class 第二关中景地面 extends BitmapMc {
}
}//package
Section 1041
//第二关地面 (第二关地é¢)
package {
import code.*;
public dynamic class 第二关地面 extends BitmapMc {
}
}//package
Section 1042
//第二关地面草 (第二关地é¢è‰)
package {
import code.*;
public dynamic class 第二关地面草 extends BitmapMc {
}
}//package
Section 1043
//第二关平台6 (第二关平å°6)
package {
import code.*;
public dynamic class 第二关平台6 extends BitmapMc {
}
}//package
Section 1044
//第六关墙1 (第å…关墙1)
package {
import code.*;
public dynamic class 第六关墙1 extends BitmapMc {
}
}//package
Section 1045
//第六关墙2_2 (第å…关墙2_2)
package {
import code.*;
public dynamic class 第六关墙2_2 extends BitmapMc {
}
}//package
Section 1046
//第六关平台2 (第å…关平å°2)
package {
import code.*;
public dynamic class 第六关平台2 extends BitmapMc {
}
}//package
Section 1047
//第六关石头 (第å…关石头)
package {
import code.*;
public dynamic class 第六关石头 extends BitmapMc {
}
}//package
Section 1048
//第六关移动平台2 (第å…关移动平å°2)
package {
import code.game.object.level5.*;
public dynamic class 第六关移动平台2 extends PedrailThruMc {
}
}//package
Section 1049
//第六关移动平台转条 (第å…关移动平å°è½¬æ¡)
package {
import code.*;
public dynamic class 第六关移动平台转条 extends BitmapMc {
}
}//package
Section 1050
//笼子动画lizzy (笼å动画lizzy)
package {
import code.game.object.level6.*;
public dynamic class 笼子动画lizzy extends LizzyCageMc {
public function 笼子动画lizzy(){
addFrameScript(53, frame54);
}
function frame54(){
stop();
}
}
}//package
Section 1051
//箭头 (ç®å¤´)
package {
import code.*;
public dynamic class 箭头 extends BitmapMc {
}
}//package
Section 1052
//箭头2 (ç®å¤´2)
package {
import code.*;
public dynamic class 箭头2 extends BitmapMc {
}
}//package
Section 1053
//精灵1 (ç²¾çµ1)
package {
import code.game.object.level2.*;
public dynamic class 精灵1 extends Fairy {
}
}//package
Section 1054
//精灵土 (ç²¾çµåœŸ)
package {
import code.game.object.level2.*;
public dynamic class 精灵土 extends FairySelect {
}
}//package
Section 1055
//精灵土静gameui (ç²¾çµåœŸé™gameui)
package {
import code.*;
public dynamic class 精灵土静gameui extends BitmapMc {
}
}//package
Section 1056
//精灵背景 (ç²¾çµèƒŒæ™¯)
package {
import code.*;
public dynamic class 精灵背景 extends BitmapMc {
}
}//package
Section 1057
//精灵身体 (ç²¾çµèº«ä½“)
package {
import code.*;
public dynamic class 精灵身体 extends BitmapMc {
}
}//package
Section 1058
//精灵身体水 (ç²¾çµèº«ä½“æ°´)
package {
import code.*;
public dynamic class 精灵身体水 extends BitmapMc {
}
}//package
Section 1059
//精灵身体火 (ç²¾çµèº«ä½“ç«)
package {
import code.*;
public dynamic class 精灵身体火 extends BitmapMc {
}
}//package
Section 1060
//精灵身体风 (ç²¾çµèº«ä½“风)
package {
import code.*;
public dynamic class 精灵身体风 extends BitmapMc {
}
}//package
Section 1061
//精灵静0 (ç²¾çµé™0)
package {
import code.*;
public dynamic class 精灵静0 extends BitmapMc {
}
}//package
Section 1062
//糖车 (糖车)
package {
import code.*;
public dynamic class 糖车 extends BitmapMc {
}
}//package
Section 1063
//终点箭头 (终点ç®å¤´)
package {
import code.*;
public dynamic class 终点箭头 extends BitmapMc {
}
}//package
Section 1064
//翅膀 (翅膀)
package {
import code.*;
public dynamic class 翅膀 extends BitmapMc {
}
}//package
Section 1065
//老猴子 (è€çŒ´å)
package {
import code.game.enemy.*;
public dynamic class 老猴子 extends MonkeyStone {
public function 老猴子(){
addFrameScript(59, frame60);
}
function frame60(){
stop();
}
}
}//package
Section 1066
//背景BACK (背景BACK)
package {
import code.*;
public dynamic class 背景BACK extends BitmapMc {
}
}//package
Section 1067
//背景切换 (背景切æ¢)
package {
import code.game.object.level2.*;
public dynamic class 背景切换 extends BackGroundSwitch {
}
}//package
Section 1068
//背景切换LOC (背景切æ¢LOC)
package {
import code.*;
public dynamic class 背景切换LOC extends BitmapMc {
}
}//package
Section 1069
//花店 (花店)
package {
import code.*;
public dynamic class 花店 extends BitmapMc {
}
}//package
Section 1070
//草 (è‰)
package {
import code.*;
public dynamic class 草 extends BitmapMc {
}
}//package
Section 1071
//藤条 (è—¤æ¡)
package {
import code.game.object.level2.*;
public dynamic class 藤条 extends Rattan {
}
}//package
Section 1072
//藤柱 (藤柱)
package {
import code.*;
public dynamic class 藤柱 extends BitmapMc {
}
}//package
Section 1073
//藤柱2 (藤柱2)
package {
import code.game.object.level2.*;
public dynamic class 藤柱2 extends RattanFoot {
}
}//package
Section 1074
//虚线 (虚线)
package {
import code.*;
public dynamic class 虚线 extends BitmapMc {
}
}//package
Section 1075
//蛛网 (蛛网)
package {
import code.*;
public dynamic class 蛛网 extends BitmapMc {
}
}//package
Section 1076
//蜘蛛动 (蜘蛛动)
package {
import code.game.object.level2.*;
public dynamic class 蜘蛛动 extends Spider {
}
}//package
Section 1077
//蜥蜴士兵 (蜥蜴士兵)
package {
import code.game.object.level5.*;
public dynamic class 蜥蜴士兵 extends LizardMc {
public function 蜥蜴士兵(){
addFrameScript(19, frame20, 35, frame36);
}
function frame20(){
gotoAndPlay(1);
}
function frame36(){
gotoAndPlay(1);
}
}
}//package
Section 1078
//路人甲 (路人甲)
package {
import code.*;
public dynamic class 路人甲 extends BitmapMc {
}
}//package
Section 1079
//跳台 (è·³å°)
package {
import code.*;
public dynamic class 跳台 extends BitmapMc {
}
}//package
Section 1080
//跳提示 (è·³æ示)
package {
import code.*;
public dynamic class 跳提示 extends BitmapMc {
}
}//package
Section 1081
//蹦蹦床 (蹦蹦床)
package {
import code.game.object.level1.*;
public dynamic class 蹦蹦床 extends JumpBed {
}
}//package
Section 1082
//还原动画 (还原动画)
package {
import code.game.object.level2.*;
public dynamic class 还原动画 extends ReturnNomalDrago {
}
}//package
Section 1083
//飞技能提示 (飞技能æ示)
package {
import code.*;
public dynamic class 飞技能提示 extends BitmapMc {
}
}//package
Section 1084
//鱼 (é±¼)
package {
import code.*;
public dynamic class 鱼 extends BitmapMc {
}
}//package
Section 1085
//龙爸爸彩色 (龙爸爸彩色)
package {
import code.*;
public dynamic class 龙爸爸彩色 extends BitmapMc {
}
}//package
Section 1086
//龙雕像 (龙雕åƒ)
package {
import code.*;
public dynamic class 龙雕像 extends BitmapMc {
}
}//package