Section 1
//BOX1_man (BOX.BOX1.BOX1_man)
package BOX.BOX1 {
import flash.events.*;
import flash.display.*;
import com.event.*;
import com.util.*;
import flash.ui.*;
public class BOX1_man {
public var spd:Number;
public var deadbool:Boolean;
public var jumpspd:Number;
public var man:MovieClip;
public var jumping:Boolean;
public var moving:Boolean;
public var manY:Number;
public static var duoduo;
public function BOX1_man(mc:MovieClip){
super();
man = mc;
manY = man.y;
duoduo = man;
man.gotoAndStop(1);
spd = 6;
Key.initialize(man.stage);
duoduo.addEventListener(Event.ENTER_FRAME, MoveMan);
duoduo.stage.addEventListener(KeyboardEvent.KEY_UP, keyup);
}
public function keyup(e:KeyboardEvent):void{
moving = false;
if (!jumping){
man.gotoAndStop(1);
};
}
public function dead():void{
deadbool = true;
duoduo.removeEventListener(Event.ENTER_FRAME, MoveMan);
duoduo.stage.removeEventListener(KeyboardEvent.KEY_UP, keyup);
}
public function jump():void{
if (!jumping){
jumping = true;
man.gotoAndPlay(11);
jumpspd = -5;
} else {
man.play();
};
}
public function MoveMan(e:Event):void{
if (jumping){
man.gotoAndStop(12);
if (jumpspd < 5){
jumpspd = (jumpspd + 0.2);
} else {
jumping = false;
man.gotoAndPlay(13);
man.y = manY;
};
man.y = (man.y + jumpspd);
};
if (moving){
if (man.currentFrame == 1){
man.gotoAndPlay(2);
};
if (man.currentFrame == 9){
man.gotoAndPlay(2);
};
};
if (Key.isDown(Keyboard.LEFT)){
man.dispatchEvent(new EK("moveleftright", {_spd:spd}));
if (man.x > 20){
man.x = (man.x - spd);
};
moving = true;
man.scaleX = -1;
};
if (Key.isDown(Keyboard.RIGHT)){
man.dispatchEvent(new EK("moveleftright", {_spd:-(spd)}));
if (man.x < 620){
man.x = (man.x + spd);
};
moving = true;
man.scaleX = 1;
};
if (Key.isDown(Keyboard.UP)){
jump();
};
}
public function live():void{
deadbool = false;
jumping = false;
duoduo.addEventListener(Event.ENTER_FRAME, MoveMan);
duoduo.stage.addEventListener(KeyboardEvent.KEY_UP, keyup);
}
}
}//package BOX.BOX1
Section 2
//BOX1_suger (BOX.BOX1.BOX1_suger)
package BOX.BOX1 {
import flash.events.*;
import flash.display.*;
import com.event.*;
import flash.geom.*;
import fish.fish12.*;
public class BOX1_suger extends UI_BOX1_suger {
public var beginSpdx:Number;
public var spd:Number;// = 8
public var Ang:Number;
public var beginSpdy:Number;
public var arrow:MovieClip;
public var beginAng:Number;
public var Type:Number;
public var overbool:Boolean;
public var flyAng:Number;
public function BOX1_suger(){
super();
init();
}
public function movearrow(e):void{
if (overbool){
return;
};
arrow.beginSpdy = (arrow.beginSpdy + 0.1);
arrow.x = (arrow.x + arrow.beginSpdx);
arrow.y = (arrow.y + arrow.beginSpdy);
var rds:* = Math.atan((arrow.beginSpdy / arrow.beginSpdx));
arrow.rotation = (arrow.rotation + arrow.Ang);
var gp:* = arrow.parent.localToGlobal(new Point(arrow.x, arrow.y));
if (BOX1_man.duoduo.hitTestPoint(gp.x, gp.y, true)){
arrow.parent.dispatchEvent(new EK("gameover", {_x:this.x, _y:this.y, _r:this.rotation}));
};
if ((((((arrow.x > 800)) || ((arrow.x < 0)))) || ((arrow.y > 600)))){
arrow.removeEventListener(Event.ENTER_FRAME, movearrow);
arrow.parent.removeChild(arrow);
};
}
public function stopmove():void{
overbool = true;
}
public function makeblood():void{
var b:Blood = new Blood(this.parent, this.rotation, this.x, this.y);
}
public function init():void{
arrow = this;
arrow.rotation = (210 + (Math.random() * 120));
var radians:* = ((arrow.rotation * Math.PI) / 180);
arrow.beginSpdx = (Math.cos(radians) * spd);
arrow.beginSpdy = (Math.sin(radians) * spd);
arrow.x = ((Math.random() * 500) + 60);
arrow.y = 480;
arrow.Ang = ((Math.random() + 1) * 5);
arrow.beginAng = arrow.rotation;
arrow.flyAng = (arrow.beginAng / 90);
arrow.addEventListener(Event.ENTER_FRAME, movearrow);
}
public function goonmove():void{
overbool = false;
}
}
}//package BOX.BOX1
Section 3
//BOX2_man (BOX.BOX2.BOX2_man)
package BOX.BOX2 {
import flash.events.*;
import flash.display.*;
import com.util.*;
import flash.ui.*;
public class BOX2_man {
public var spd:Number;
public var deadbool:Boolean;
public var jumpspd:Number;
public var man:MovieClip;
public var jumping:Boolean;
public var moving:Boolean;
public var manY:Number;
public static var duoduo;
public function BOX2_man(mc:MovieClip){
super();
man = mc;
manY = man.y;
duoduo = man;
man.gotoAndStop(1);
spd = 6;
Key.initialize(man.stage);
duoduo.addEventListener(Event.ENTER_FRAME, MoveMan);
duoduo.stage.addEventListener(KeyboardEvent.KEY_UP, keyup);
}
public function keyup(e:KeyboardEvent):void{
moving = false;
if (!jumping){
man.gotoAndStop(1);
};
}
public function dead():void{
deadbool = true;
duoduo.removeEventListener(Event.ENTER_FRAME, MoveMan);
duoduo.stage.removeEventListener(KeyboardEvent.KEY_UP, keyup);
}
public function jump():void{
if (!jumping){
jumping = true;
man.gotoAndPlay(11);
jumpspd = -5;
} else {
man.play();
};
}
public function MoveMan(e:Event):void{
if (jumping){
man.gotoAndStop(12);
if (jumpspd < 5){
jumpspd = (jumpspd + 0.2);
} else {
jumping = false;
man.gotoAndPlay(13);
man.y = manY;
};
man.y = (man.y + jumpspd);
};
if (moving){
if (man.currentFrame == 1){
man.gotoAndPlay(2);
};
if (man.currentFrame == 9){
man.gotoAndPlay(2);
};
};
if (Key.isDown(Keyboard.LEFT)){
if (man.x > 120){
man.x = (man.x - spd);
};
moving = true;
man.scaleX = -1;
};
if (Key.isDown(Keyboard.RIGHT)){
if (man.x < 620){
man.x = (man.x + spd);
};
moving = true;
man.scaleX = 1;
};
if (Key.isDown(Keyboard.UP)){
jump();
};
}
public function live():void{
deadbool = false;
jumping = false;
duoduo.addEventListener(Event.ENTER_FRAME, MoveMan);
duoduo.stage.addEventListener(KeyboardEvent.KEY_UP, keyup);
}
}
}//package BOX.BOX2
Section 4
//BOX3_Energy (BOX.BOX3.BOX3_Energy)
package BOX.BOX3 {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import com.util.*;
public class BOX3_Energy {
public var color:uint;
public var MakeID:uint;
public var timesec:uint;
public var radius:uint;
public var MC:MovieClip;
public function BOX3_Energy(mc:MovieClip, _color:uint, _radius:uint, _timesec:uint){
super();
MC = mc;
radius = _radius;
color = _color;
timesec = _timesec;
makecircle();
}
public function energyComplete():void{
clearInterval(MakeID);
MC.dispatchEvent(new Event("energyComplete"));
MakeID = setTimeout(makecircle, timesec);
}
public function moving(e):void{
var radians:*;
var c:* = e.target;
if (c.alpha > 0){
c.alpha = (c.alpha - 0.02);
radians = ((c.ang * Math.PI) / 180);
c.x = (c.x + (Math.cos(radians) * c.spd));
c.y = (c.y + (Math.sin(radians) * c.spd));
} else {
c.removeEventListener(Event.ENTER_FRAME, moving);
c.parent.removeChild(c);
};
}
public function init():void{
var bx:* = (((Math.random() - 0.5) * radius) * 3);
var by:* = (((Math.random() - 0.5) * radius) * 3);
var c:MovieClip = new MovieClip();
c.cacheAsBitmap = true;
c.x = bx;
c.y = by;
c.graphics.beginFill(color);
c.graphics.drawCircle(0, 0, ((Math.random() * 2) + 1));
c.addEventListener(Event.ENTER_FRAME, moving);
MC.addChild(c);
c.spd = (Point.distance(new Point(bx, by), new Point(0, 0)) / 60);
c.ang = MyMath.getAngle(new Point(bx, by), new Point(0, 0));
}
public function destroy():void{
clearInterval(MakeID);
MC = null;
radius = null;
color = null;
timesec = null;
}
public function makecircle():void{
MakeID = setTimeout(energyComplete, timesec);
}
}
}//package BOX.BOX3
Section 5
//BOX3_FireBall (BOX.BOX3.BOX3_FireBall)
package BOX.BOX3 {
import flash.events.*;
import flash.display.*;
import com.event.*;
import flash.geom.*;
import com.util.*;
import fish.fish12.*;
public class BOX3_FireBall {
public var game_mc:MovieClip;
public var paoparent:MovieClip;
public var aimPoint:Point;
public var mc:MovieClip;
public var shotang:Number;
public var a:MovieClip;
public var shotEnergy:BOX3_Energy;
public var shotshape:MovieClip;
public var waterspd;// = 2
public var spd:Number;
public var w:Number;
public static var knifeNum:uint = 0;
public static var len:uint = 800;
public static var colorarr = [10079487, 10454460, 16198493, 9518364, 10659956, 2138505, 16105336];
public function BOX3_FireBall(_game_mc:MovieClip, paopos:Point, aimpos:Point){
super();
game_mc = _game_mc;
paoparent = game_mc.pao;
mc = new UI_BOX3_Pao();
mc.yun;
spd = (Math.random() + 0.6);
paoparent.addChild(mc);
mc.addEventListener(Event.ENTER_FRAME, moving);
mc.x = paopos.x;
mc.y = paopos.y;
aimPoint = new Point();
aimPoint.x = aimpos.x;
aimPoint.y = aimpos.y;
var ang:* = MyMath.getAngle(paopos, aimpos);
var rds:* = MyMath.d2r(ang);
mc.shot.rotation = ang;
if (!shotEnergy){
shotEnergy = new BOX3_Energy(mc, 0xFF00FF, 30, 1200);
} else {
shotEnergy.makecircle();
};
paoparent.addEventListener("removethis", removethis);
mc.addEventListener("energyComplete", startshot);
}
public function shot():void{
if (!a){
a = new UI_BOX3_Ball();
game_mc.dispatchEvent(new EK("addscore"));
a.gotoAndStop((int((Math.random() * colorarr.length)) + 1));
waterspd = 2;
a.x = mc.x;
a.y = mc.y;
a.cacheAsBitmap = true;
game_mc.addChild(a);
a.addEventListener(Event.ENTER_FRAME, fire);
};
}
public function startshot(e:Event):void{
mc.shot.rotation = 90;
shot();
}
private function moving(e):void{
mc.x = (mc.x + spd);
if ((((mc.x > 700)) || ((mc.x < -50)))){
if (Math.abs(spd) < 5){
spd = (spd * -1.2);
} else {
spd = (spd * -1);
};
};
}
public function removethis(e:Event):void{
destroy();
}
public function destroy():void{
shotEnergy.destroy();
mc.removeEventListener(Event.ENTER_FRAME, moving);
paoparent.removeEventListener("removethis", removethis);
mc.removeEventListener("energyComplete", startshot);
if (a){
a.removeEventListener(Event.ENTER_FRAME, fire);
game_mc.removeChild(a);
};
}
private function fire(e):void{
var b:Blood;
waterspd = (waterspd + 0.1);
a.y = (a.y + waterspd);
a.x = (a.x + (spd / 2));
if (BOX3_man.duoduo.hitTestPoint(a.x, a.y, true)){
game_mc.dispatchEvent(new EK("gameover", {_x:a.x, _y:a.y}));
};
if (a.y > 420){
b = new Blood(game_mc, 270, a.x, a.y, 0, colorarr[int((Math.random() * colorarr.length))]);
a.removeEventListener(Event.ENTER_FRAME, fire);
game_mc.removeChild(a);
a = null;
};
}
}
}//package BOX.BOX3
Section 6
//BOX3_man (BOX.BOX3.BOX3_man)
package BOX.BOX3 {
import flash.events.*;
import flash.display.*;
import com.util.*;
import flash.ui.*;
public class BOX3_man {
public var spd:Number;
public var deadbool:Boolean;
public var jumpspd:Number;
public var man:MovieClip;
public var jumping:Boolean;
public var moving:Boolean;
public var manY:Number;
public static var duoduo;
public function BOX3_man(mc:MovieClip){
super();
man = mc;
manY = man.y;
duoduo = man;
man.gotoAndStop(1);
spd = 6;
Key.initialize(man.stage);
duoduo.addEventListener(Event.ENTER_FRAME, MoveMan);
duoduo.stage.addEventListener(KeyboardEvent.KEY_UP, keyup);
}
public function keyup(e:KeyboardEvent):void{
moving = false;
if (!jumping){
man.gotoAndStop(1);
};
}
public function dead():void{
deadbool = true;
duoduo.removeEventListener(Event.ENTER_FRAME, MoveMan);
duoduo.stage.removeEventListener(KeyboardEvent.KEY_UP, keyup);
}
public function jump():void{
if (!jumping){
jumping = true;
man.gotoAndPlay(11);
jumpspd = -5;
} else {
man.play();
};
}
public function MoveMan(e:Event):void{
if (jumping){
man.gotoAndStop(12);
if (jumpspd < 5){
jumpspd = (jumpspd + 0.2);
} else {
jumping = false;
man.gotoAndPlay(13);
man.y = manY;
};
man.y = (man.y + jumpspd);
};
if (moving){
if (man.currentFrame == 1){
man.gotoAndPlay(2);
};
if (man.currentFrame == 9){
man.gotoAndPlay(2);
};
};
if (Key.isDown(Keyboard.LEFT)){
if (man.x > 20){
man.x = (man.x - spd);
};
moving = true;
man.scaleX = -1;
};
if (Key.isDown(Keyboard.RIGHT)){
if (man.x < 620){
man.x = (man.x + spd);
};
moving = true;
man.scaleX = 1;
};
if (Key.isDown(Keyboard.UP)){
jump();
};
}
public function live():void{
deadbool = false;
jumping = false;
duoduo.addEventListener(Event.ENTER_FRAME, MoveMan);
duoduo.stage.addEventListener(KeyboardEvent.KEY_UP, keyup);
}
}
}//package BOX.BOX3
Section 7
//BOX4_man (BOX.BOX4.BOX4_man)
package BOX.BOX4 {
import flash.events.*;
import flash.display.*;
import com.util.*;
import flash.ui.*;
public class BOX4_man {
public var spd:Number;
public var deadbool:Boolean;
public var jumpspd:Number;
public var man:MovieClip;
public var jumping:Boolean;
public var moving:Boolean;
public var manY:Number;
public static var duoduo;
public function BOX4_man(mc:MovieClip){
super();
man = mc;
manY = man.y;
duoduo = man;
man.gotoAndStop(1);
spd = 6;
Key.initialize(man.stage);
duoduo.addEventListener(Event.ENTER_FRAME, MoveMan);
duoduo.stage.addEventListener(KeyboardEvent.KEY_UP, keyup);
}
public function keyup(e:KeyboardEvent):void{
moving = false;
if (!jumping){
man.gotoAndStop(1);
};
}
public function dead():void{
deadbool = true;
duoduo.removeEventListener(Event.ENTER_FRAME, MoveMan);
duoduo.stage.removeEventListener(KeyboardEvent.KEY_UP, keyup);
}
public function jump():void{
if (!jumping){
jumping = true;
man.gotoAndPlay(11);
jumpspd = -5;
} else {
man.play();
};
}
public function MoveMan(e:Event):void{
if (jumping){
man.gotoAndStop(12);
if (jumpspd < 5){
jumpspd = (jumpspd + 0.2);
} else {
jumping = false;
man.gotoAndPlay(13);
man.y = manY;
};
man.y = (man.y + jumpspd);
};
if (moving){
if (man.currentFrame == 1){
man.gotoAndPlay(2);
};
if (man.currentFrame == 9){
man.gotoAndPlay(2);
};
};
if (Key.isDown(Keyboard.LEFT)){
if (man.x > 170){
man.x = (man.x - spd);
};
moving = true;
man.scaleX = -1;
};
if (Key.isDown(Keyboard.RIGHT)){
if (man.x < 620){
man.x = (man.x + spd);
};
moving = true;
man.scaleX = 1;
};
if (Key.isDown(Keyboard.UP)){
jump();
};
}
public function live():void{
deadbool = false;
jumping = false;
duoduo.addEventListener(Event.ENTER_FRAME, MoveMan);
duoduo.stage.addEventListener(KeyboardEvent.KEY_UP, keyup);
}
}
}//package BOX.BOX4
Section 8
//BOX5Jump_man (BOX.BOX5Jump.BOX5Jump_man)
package BOX.BOX5Jump {
import flash.events.*;
import flash.display.*;
import com.util.*;
import flash.ui.*;
public class BOX5Jump_man {
public var spd:Number;
public var deadbool:Boolean;
public var jumpspd:Number;
public var man:MovieClip;
public var jumping:Boolean;
public var moving:Boolean;
public var manY:Number;
public static var duoduo;
public function BOX5Jump_man(mc:MovieClip){
super();
man = mc;
manY = man.y;
duoduo = man;
man.gotoAndStop(1);
spd = 6;
Key.initialize(man.stage);
duoduo.addEventListener(Event.ENTER_FRAME, MoveMan);
duoduo.stage.addEventListener(KeyboardEvent.KEY_UP, keyup);
}
public function keyup(e:KeyboardEvent):void{
moving = false;
if (!jumping){
man.gotoAndStop(1);
};
}
public function dead():void{
deadbool = true;
duoduo.removeEventListener(Event.ENTER_FRAME, MoveMan);
duoduo.stage.removeEventListener(KeyboardEvent.KEY_UP, keyup);
}
public function jump():void{
if (!jumping){
jumping = true;
man.gotoAndPlay(11);
jumpspd = -5;
} else {
man.play();
};
}
public function MoveMan(e:Event):void{
if (jumping){
man.gotoAndStop(12);
if (jumpspd < 5){
jumpspd = (jumpspd + 0.2);
} else {
jumping = false;
man.gotoAndPlay(13);
man.y = manY;
};
man.y = (man.y + jumpspd);
};
if (moving){
if (man.currentFrame == 1){
man.gotoAndPlay(2);
};
if (man.currentFrame == 9){
man.gotoAndPlay(2);
};
};
if (Key.isDown(Keyboard.LEFT)){
if (man.x > 200){
man.x = (man.x - spd);
};
moving = true;
man.scaleX = -1;
};
if (Key.isDown(Keyboard.RIGHT)){
if (man.x < 620){
man.x = (man.x + spd);
};
moving = true;
man.scaleX = 1;
};
if (Key.isDown(Keyboard.UP)){
jump();
};
}
public function live():void{
deadbool = false;
jumping = false;
duoduo.addEventListener(Event.ENTER_FRAME, MoveMan);
duoduo.stage.addEventListener(KeyboardEvent.KEY_UP, keyup);
}
}
}//package BOX.BOX5Jump
Section 9
//BOX6_man (BOX.BOX6.BOX6_man)
package BOX.BOX6 {
import flash.events.*;
import flash.display.*;
import com.util.*;
import flash.ui.*;
public class BOX6_man {
public var spd:Number;
public var deadbool:Boolean;
public var jumpspd:Number;
public var man:MovieClip;
public var jumping:Boolean;
public var moving:Boolean;
public var manY:Number;
public static var duoduo;
public function BOX6_man(mc:MovieClip){
super();
man = mc;
manY = man.y;
duoduo = man;
man.gotoAndStop(1);
spd = 6;
Key.initialize(man.stage);
duoduo.addEventListener(Event.ENTER_FRAME, MoveMan);
duoduo.stage.addEventListener(KeyboardEvent.KEY_UP, keyup);
}
public function keyup(e:KeyboardEvent):void{
moving = false;
if (!jumping){
man.gotoAndStop(1);
};
}
public function dead():void{
deadbool = true;
duoduo.removeEventListener(Event.ENTER_FRAME, MoveMan);
duoduo.stage.removeEventListener(KeyboardEvent.KEY_UP, keyup);
}
public function jump():void{
if (!jumping){
jumping = true;
man.gotoAndPlay(11);
jumpspd = -5;
} else {
man.play();
};
}
public function MoveMan(e:Event):void{
if (jumping){
man.gotoAndStop(12);
if (jumpspd < 5){
jumpspd = (jumpspd + 0.2);
} else {
jumping = false;
man.gotoAndPlay(13);
man.y = manY;
};
man.y = (man.y + jumpspd);
};
if (moving){
if (man.currentFrame == 1){
man.gotoAndPlay(2);
};
if (man.currentFrame == 9){
man.gotoAndPlay(2);
};
};
if (Key.isDown(Keyboard.LEFT)){
if (man.x > 20){
man.x = (man.x - spd);
};
moving = true;
man.scaleX = -1;
};
if (Key.isDown(Keyboard.RIGHT)){
if (man.x < 620){
man.x = (man.x + spd);
};
moving = true;
man.scaleX = 1;
};
if (Key.isDown(Keyboard.UP)){
jump();
};
}
public function live():void{
deadbool = false;
jumping = false;
duoduo.addEventListener(Event.ENTER_FRAME, MoveMan);
duoduo.stage.addEventListener(KeyboardEvent.KEY_UP, keyup);
}
}
}//package BOX.BOX6
Section 10
//BOX7_man (BOX.BOX7.BOX7_man)
package BOX.BOX7 {
import flash.events.*;
import flash.display.*;
import com.util.*;
import flash.ui.*;
public class BOX7_man {
public var spd:Number;
public var deadbool:Boolean;
public var jumpspd:Number;
public var man:MovieClip;
public var jumping:Boolean;
public var moving:Boolean;
public var manY:Number;
public static var duoduo;
public function BOX7_man(mc:MovieClip){
super();
man = mc;
manY = man.y;
duoduo = man;
man.gotoAndStop(1);
spd = 5;
Key.initialize(man.stage);
duoduo.addEventListener(Event.ENTER_FRAME, MoveMan);
duoduo.stage.addEventListener(KeyboardEvent.KEY_UP, keyup);
}
public function keyup(e:KeyboardEvent):void{
moving = false;
if (!jumping){
man.gotoAndStop(1);
};
}
public function dead():void{
deadbool = true;
duoduo.removeEventListener(Event.ENTER_FRAME, MoveMan);
duoduo.stage.removeEventListener(KeyboardEvent.KEY_UP, keyup);
}
public function jump():void{
if (!jumping){
jumping = true;
man.gotoAndPlay(11);
jumpspd = -5;
} else {
man.play();
};
}
public function MoveMan(e:Event):void{
if (moving){
if (man.currentFrame == 1){
man.gotoAndPlay(2);
};
if (man.currentFrame == 9){
man.gotoAndPlay(2);
};
};
if (Key.isDown(Keyboard.LEFT)){
if (man.x > 20){
man.x = (man.x - spd);
};
moving = true;
man.scaleX = -1;
};
if (Key.isDown(Keyboard.RIGHT)){
if (man.x < 620){
man.x = (man.x + spd);
};
moving = true;
man.scaleX = 1;
};
if (Key.isDown(Keyboard.UP)){
if (man.y > 220){
man.y = (man.y - (spd / 2));
};
moving = true;
};
if (Key.isDown(Keyboard.DOWN)){
if (man.y < 480){
man.y = (man.y + (spd / 2));
};
moving = true;
};
}
public function live():void{
deadbool = false;
jumping = false;
duoduo.addEventListener(Event.ENTER_FRAME, MoveMan);
duoduo.stage.addEventListener(KeyboardEvent.KEY_UP, keyup);
}
}
}//package BOX.BOX7
Section 11
//BOXDead (BOX.BOXDead)
package BOX {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
public class BOXDead {
public var knifepoint1:Point;
public var knifepoint2:Point;
public var bmd;
public function BOXDead(){
super();
}
public function movebodybmp(e:Event){
var mc:MovieClip = (e.target as MovieClip);
mc.x = (mc.x + mc.spdx);
mc.y = (mc.y + mc.spdy);
mc.spdy = (mc.spdy + 0.3);
if (mc.y > 480){
mc.removeEventListener(Event.ENTER_FRAME, movebodybmp);
mc.parent.removeChild(mc);
};
}
public function movekinfe(e:Event){
var mc:MovieClip = (e.target as MovieClip);
mc.x = (mc.x + ((knifepoint1.x - knifepoint2.x) / 10));
mc.y = (mc.y + ((knifepoint1.y - knifepoint2.y) / 10));
if (mc.y < 0){
mc.removeEventListener(Event.ENTER_FRAME, movekinfe);
mc.parent.removeChild(mc);
};
}
public function dobmp(parentmc, man):void{
if (bmd){
bmd.dispose();
};
var matrix:* = new Matrix(1, 0, 0, 1, 20, 40);
bmd = new BitmapData(40, 40, true, 0);
bmd.draw(man, matrix);
drawbody(parentmc, bmd, 40, 40, (man.x - 20), (man.y - 40));
man.visible = false;
}
public function drawbody(parentmc:MovieClip, bmpd:BitmapData, w, h, _x, _y):void{
var mc1:MovieClip = new MovieClip();
parentmc.addChild(mc1);
var mckinfe:MovieClip = new MovieClip();
parentmc.addChild(mckinfe);
mc1.x = _x;
mc1.y = _y;
mc1.spdx = (-((Math.random() + 0.2)) * 2);
mc1.spdy = (-((Math.random() + 1)) * 4);
mc1.addEventListener(Event.ENTER_FRAME, movebodybmp);
var mc2:MovieClip = new MovieClip();
parentmc.addChild(mc2);
mc2.x = _x;
mc2.y = _y;
mc2.spdx = ((Math.random() + 0.2) * 2);
mc2.spdy = (-((Math.random() + 1)) * 4);
mc2.addEventListener(Event.ENTER_FRAME, movebodybmp);
knifepoint1 = new Point((Math.random() * w), 0);
knifepoint2 = new Point((Math.random() * w), h);
var p1:Point = new Point(knifepoint1.x, 0);
var p2:Point = new Point(knifepoint2.x, h);
mc1.graphics.beginBitmapFill(bmpd);
mc1.graphics.moveTo(0, 0);
mc1.graphics.lineTo(p1.x, p1.y);
mc1.graphics.lineTo(p2.x, p2.y);
mc1.graphics.lineTo(0, h);
mc1.graphics.lineTo(0, 0);
mc1.graphics.endFill();
mc2.graphics.beginBitmapFill(bmpd);
mc2.graphics.moveTo(p1.x, p1.y);
mc2.graphics.lineTo(w, 0);
mc2.graphics.lineTo(w, h);
mc2.graphics.lineTo(p2.x, p2.y);
mc2.graphics.lineTo(p1.x, p1.y);
mc1.graphics.endFill();
}
}
}//package BOX
Section 12
//BOXStart (BOX.BOXStart)
package BOX {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import DUO.*;
import com.midasplayer.*;
public class BOXStart {
public var UI:MovieClip;
public var sndbg:Sound;
public var sndcn:SoundChannel;
public static var musicbool:Boolean = true;
public function BOXStart(_ui:MovieClip){
super();
UI = _ui;
if (!musicbool){
UI.musicbtn.gotoAndStop(2);
};
UI.panel_mc.start.addEventListener(MouseEvent.CLICK, startgame);
UI.musicbtn.addEventListener(MouseEvent.CLICK, playstopmusic);
UI.panel_mc.moregame.x = 300;
UI.panel_mc.moregame.y = 462;
UI.panel_mc.moregame.addEventListener(MouseEvent.CLICK, gomoregame);
Logo.init(UI.panel_mc);
var funflow_logo:* = new UI_FUNFLOW_LOGO();
UI.panel_mc.addChild(funflow_logo);
funflow_logo.x = 0;
funflow_logo.y = 420;
funflow_logo.addEventListener(MouseEvent.CLICK, gotofunflow);
}
public function startgame(e:MouseEvent=null):void{
UI.dispatchEvent(new Event("startgame"));
Lens.Recover(UI.game_mc);
UI.panel_mc.visible = false;
UI.game_mc.visible = true;
if (sndcn){
sndcn.stop();
};
if (musicbool){
sndbg = new snd_box1_bg();
sndcn = sndbg.play();
} else {
sndbg = new snd_box1_bg();
sndcn = sndbg.play(0, 0, new SoundTransform(0));
};
}
public function gotofunflow(e:MouseEvent=null):void{
KingAPI.openOtherGamesLink();
}
public function gomoregame(e:MouseEvent):void{
KingAPI.openOtherGamesLink();
}
public function playstopmusic(e:MouseEvent=null):void{
var stf:*;
musicbool = !(musicbool);
if (musicbool){
UI.musicbtn.gotoAndStop(1);
if (sndcn){
stf = sndcn.soundTransform;
stf.volume = 1;
sndcn.soundTransform = stf;
};
} else {
if (sndcn){
stf = sndcn.soundTransform;
stf.volume = 0;
sndcn.soundTransform = stf;
};
UI.musicbtn.gotoAndStop(2);
};
}
public function stopthisgamemusic():void{
sndcn.stop();
}
public function playsound(snd):void{
if (musicbool){
snd.play();
};
}
public function playknifesound():void{
var snd:snd_box_knife_blood;
if (musicbool){
snd = new snd_box_knife_blood();
snd.play(200);
};
}
}
}//package BOX
Section 13
//Logo (BOX.Logo)
package BOX {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public class Logo {
public function Logo(){
super();
}
public static function init(mc:MovieClip):void{
var nummc:* = new UI_BOX7IN1_num();
mc.addChild(nummc);
nummc.x = 606;
nummc.y = 444;
nummc.t.text = ((BOX7IN1.index + 1) + "/7");
var logo:logo_warofbox = new logo_warofbox();
mc.addChild(logo);
logo.x = 410;
logo.y = 445;
logo.btn.addEventListener(MouseEvent.CLICK, goto);
}
public static function goto(e:MouseEvent=null):void{
navigateToURL(new URLRequest("http://www.warofbox.com"));
}
}
}//package BOX
Section 14
//Timeline_31 (BOX1_fla.Timeline_31)
package BOX1_fla {
import flash.display.*;
public dynamic class Timeline_31 extends MovieClip {
public function Timeline_31(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BOX1_fla
Section 15
//Timeline_20 (BOX2_fla.Timeline_20)
package BOX2_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.text.*;
import flash.media.*;
import flash.net.*;
import flash.ui.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class Timeline_20 extends MovieClip {
public function Timeline_20(){
addFrameScript(0, frame1);
}
function frame1(){
gotoAndStop((int((Math.random() * 10)) + 1));
}
}
}//package BOX2_fla
Section 16
//Timeline_21 (BOX2_fla.Timeline_21)
package BOX2_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.text.*;
import flash.media.*;
import flash.net.*;
import flash.ui.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
public dynamic class Timeline_21 extends MovieClip {
public function Timeline_21(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BOX2_fla
Section 17
//Timeline_27 (BOX3_fla.Timeline_27)
package BOX3_fla {
import flash.display.*;
public dynamic class Timeline_27 extends MovieClip {
public function Timeline_27(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BOX3_fla
Section 18
//yun_30 (BOX3_fla.yun_30)
package BOX3_fla {
import flash.display.*;
public dynamic class yun_30 extends MovieClip {
public var a;
public function yun_30(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
a = ((Math.random() * 2) + 1);
gotoAndStop(int(a));
}
}
}//package BOX3_fla
Section 19
//Timeline_27 (BOX4_fla.Timeline_27)
package BOX4_fla {
import flash.display.*;
public dynamic class Timeline_27 extends MovieClip {
public function Timeline_27(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BOX4_fla
Section 20
//Timeline_30 (BOX5Jump_fla.Timeline_30)
package BOX5Jump_fla {
import flash.display.*;
public dynamic class Timeline_30 extends MovieClip {
public function Timeline_30(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BOX5Jump_fla
Section 21
//Timeline_25 (BOX6_fla.Timeline_25)
package BOX6_fla {
import flash.display.*;
public dynamic class Timeline_25 extends MovieClip {
public var man:MovieClip;
public function Timeline_25(){
addFrameScript(0, frame1, 14, frame15);
}
function frame15(){
stop();
}
function frame1(){
stop();
}
}
}//package BOX6_fla
Section 22
//Timeline_26 (BOX6_fla.Timeline_26)
package BOX6_fla {
import flash.events.*;
import flash.display.*;
public dynamic class Timeline_26 extends MovieClip {
public function Timeline_26(){
addFrameScript(0, frame1, 11, frame12);
}
function frame1(){
stop();
}
function frame12(){
this.dispatchEvent(new Event("drop_puke"));
}
}
}//package BOX6_fla
Section 23
//Timeline_28 (BOX6_fla.Timeline_28)
package BOX6_fla {
import flash.display.*;
public dynamic class Timeline_28 extends MovieClip {
public var man:MovieClip;
public function Timeline_28(){
addFrameScript(0, frame1, 12, frame13);
}
function frame1(){
stop();
}
function frame13(){
stop();
}
}
}//package BOX6_fla
Section 24
//Timeline_29 (BOX6_fla.Timeline_29)
package BOX6_fla {
import flash.display.*;
public dynamic class Timeline_29 extends MovieClip {
public var man:MovieClip;
public function Timeline_29(){
addFrameScript(0, frame1, 24, frame25);
}
function frame25(){
stop();
}
function frame1(){
stop();
}
}
}//package BOX6_fla
Section 25
//Timeline_30 (BOX6_fla.Timeline_30)
package BOX6_fla {
import flash.display.*;
public dynamic class Timeline_30 extends MovieClip {
public var man:MovieClip;
public function Timeline_30(){
addFrameScript(0, frame1, 7, frame8);
}
function frame1(){
stop();
}
function frame8(){
stop();
}
}
}//package BOX6_fla
Section 26
//Timeline_31 (BOX6_fla.Timeline_31)
package BOX6_fla {
import flash.display.*;
public dynamic class Timeline_31 extends MovieClip {
public var man:MovieClip;
public function Timeline_31(){
addFrameScript(0, frame1, 29, frame30);
}
function frame30(){
stop();
}
function frame1(){
stop();
}
}
}//package BOX6_fla
Section 27
//Timeline_32 (BOX6_fla.Timeline_32)
package BOX6_fla {
import flash.display.*;
public dynamic class Timeline_32 extends MovieClip {
public var man:MovieClip;
public function Timeline_32(){
addFrameScript(0, frame1, 12, frame13);
}
function frame1(){
stop();
}
function frame13(){
stop();
}
}
}//package BOX6_fla
Section 28
//Timeline_33 (BOX6_fla.Timeline_33)
package BOX6_fla {
import flash.display.*;
public dynamic class Timeline_33 extends MovieClip {
public var man:MovieClip;
public function Timeline_33(){
addFrameScript(0, frame1, 26, frame27);
}
function frame27(){
stop();
}
function frame1(){
stop();
}
}
}//package BOX6_fla
Section 29
//Timeline_34 (BOX6_fla.Timeline_34)
package BOX6_fla {
import flash.display.*;
public dynamic class Timeline_34 extends MovieClip {
public var man:MovieClip;
public function Timeline_34(){
addFrameScript(0, frame1, 2, frame3);
}
function frame1(){
stop();
}
function frame3(){
stop();
}
}
}//package BOX6_fla
Section 30
//Timeline_35 (BOX6_fla.Timeline_35)
package BOX6_fla {
import flash.display.*;
public dynamic class Timeline_35 extends MovieClip {
public var man:MovieClip;
public function Timeline_35(){
addFrameScript(0, frame1, 43, frame44);
}
function frame1(){
stop();
}
function frame44(){
stop();
}
}
}//package BOX6_fla
Section 31
//Timeline_63 (BOX6_fla.Timeline_63)
package BOX6_fla {
import flash.display.*;
public dynamic class Timeline_63 extends MovieClip {
public function Timeline_63(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BOX6_fla
Section 32
//Timeline_41 (BOX7_fla.Timeline_41)
package BOX7_fla {
import flash.display.*;
public dynamic class Timeline_41 extends MovieClip {
public var man:MovieClip;
public function Timeline_41(){
addFrameScript(0, frame1, 14, frame15);
}
function frame15(){
stop();
}
function frame1(){
stop();
}
}
}//package BOX7_fla
Section 33
//Timeline_42 (BOX7_fla.Timeline_42)
package BOX7_fla {
import flash.events.*;
import flash.display.*;
public dynamic class Timeline_42 extends MovieClip {
public function Timeline_42(){
addFrameScript(0, frame1, 11, frame12);
}
function frame1(){
stop();
}
function frame12(){
this.dispatchEvent(new Event("drop_puke"));
}
}
}//package BOX7_fla
Section 34
//Timeline_44 (BOX7_fla.Timeline_44)
package BOX7_fla {
import flash.display.*;
public dynamic class Timeline_44 extends MovieClip {
public var man:MovieClip;
public function Timeline_44(){
addFrameScript(0, frame1, 12, frame13);
}
function frame1(){
stop();
}
function frame13(){
stop();
}
}
}//package BOX7_fla
Section 35
//Timeline_45 (BOX7_fla.Timeline_45)
package BOX7_fla {
import flash.display.*;
public dynamic class Timeline_45 extends MovieClip {
public var man:MovieClip;
public function Timeline_45(){
addFrameScript(0, frame1, 24, frame25);
}
function frame25(){
stop();
}
function frame1(){
stop();
}
}
}//package BOX7_fla
Section 36
//Timeline_55 (BOX7_fla.Timeline_55)
package BOX7_fla {
import flash.display.*;
public dynamic class Timeline_55 extends MovieClip {
public function Timeline_55(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package BOX7_fla
Section 37
//EK (com.event.EK)
package com.event {
import flash.events.*;
public class EK extends Event {
public var EO:Object;
public function EK(type:String, obj:Object=null, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
EO = obj;
}
}
}//package com.event
Section 38
//DrawSine (com.midasplayer.extras.DrawSine)
package com.midasplayer.extras {
import flash.display.*;
public class DrawSine extends MovieClip {
private var target_mc:MovieClip;
private var step_x:Number;
private var my_height:Number;
private var stroke_color:Number;// = 0
private var draw_fill:Boolean;// = false
private var stroke_weight:Number;// = 1
private var fill_alpha:Number;
private var fill_height:Number;
private var draw_array;
private var steps:Number;
private var fill_color:Number;// = 0xFF0000
private var my_width:Number;
public function DrawSine(_mc:MovieClip, w:Number, h:Number, s:Number){
draw_array = new Array();
super();
target_mc = _mc;
my_width = w;
my_height = h;
steps = s;
step_x = (w / steps);
var i:* = 0;
while (i < steps) {
draw_array.push({x:(step_x * i), y:0});
i++;
};
}
public function set_fill(f:Boolean, fc:Number, fa:Number):void{
draw_fill = f;
fill_color = (stroke_color = fc);
fill_alpha = fa;
}
public function set_stroke(sw:Number, sc:Number):void{
stroke_weight = sw;
stroke_color = sc;
}
public function draw_waves(wave_array:Array):void{
var inc:*;
var j:*;
var x:*;
var y:*;
var draw_count:* = draw_array.length;
var wave_count:* = wave_array.length;
var i:* = 0;
while (i < wave_count) {
inc = (((wave_array[i].cycles * Math.PI) * 2) / steps);
j = 0;
while (j < draw_count) {
if (i == 0){
draw_array[j].y = (Math.sin((wave_array[i].phase + (inc * j))) * wave_array[i].radius);
} else {
draw_array[j].y = (draw_array[j].y + (Math.sin((wave_array[i].phase + (inc * j))) * wave_array[i].radius));
};
j++;
};
i++;
};
target_mc.graphics.clear();
if (stroke_weight > 0){
target_mc.graphics.lineStyle(stroke_weight, stroke_color);
};
if (draw_fill){
target_mc.graphics.beginFill(fill_color, fill_alpha);
};
target_mc.graphics.moveTo(draw_array[0].x, draw_array[0].y);
var k:* = 1;
while (k < draw_count) {
x = draw_array[k].x;
y = draw_array[k].y;
target_mc.graphics.lineTo(x, y);
k++;
};
if (draw_fill){
target_mc.graphics.lineTo(x, (my_height / 2));
target_mc.graphics.lineTo(0, (my_height / 2));
target_mc.graphics.lineTo(0, draw_array[0].y);
target_mc.graphics.endFill();
};
}
}
}//package com.midasplayer.extras
Section 39
//md5 (com.midasplayer.extras.md5)
package com.midasplayer.extras {
public class md5 {
public static const HEX_FORMAT_LOWERCASE:uint = 0;
public static const HEX_FORMAT_UPPERCASE:uint = 1;
public static const BASE64_PAD_CHARACTER_DEFAULT_COMPLIANCE:String = "";
public static const BASE64_PAD_CHARACTER_RFC_COMPLIANCE:String = "=";
public static var hexcase:uint = 0;
public static var b64pad:String = "";
public function md5(){
super();
}
public static function md5_gg(a:Number, b:Number, c:Number, d:Number, x:Number, s:Number, t:Number):Number{
return (md5_cmn(((b & d) | (c & ~(d))), a, b, x, s, t));
}
public static function md5_cmn(q:Number, a:Number, b:Number, x:Number, s:Number, t:Number):Number{
return (safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b));
}
public static function binl_md5(x:Array, len:Number):Array{
var olda:Number;
var oldb:Number;
var oldc:Number;
var oldd:Number;
x[(len >> 5)] = (x[(len >> 5)] | (128 << (len % 32)));
x[((((len + 64) >>> 9) << 4) + 14)] = len;
var a:Number = 1732584193;
var b:Number = -271733879;
var c:Number = -1732584194;
var d:Number = 271733878;
var i:Number = 0;
while (i < x.length) {
olda = a;
oldb = b;
oldc = c;
oldd = d;
a = md5_ff(a, b, c, d, x[(i + 0)], 7, -680876936);
d = md5_ff(d, a, b, c, x[(i + 1)], 12, -389564586);
c = md5_ff(c, d, a, b, x[(i + 2)], 17, 606105819);
b = md5_ff(b, c, d, a, x[(i + 3)], 22, -1044525330);
a = md5_ff(a, b, c, d, x[(i + 4)], 7, -176418897);
d = md5_ff(d, a, b, c, x[(i + 5)], 12, 1200080426);
c = md5_ff(c, d, a, b, x[(i + 6)], 17, -1473231341);
b = md5_ff(b, c, d, a, x[(i + 7)], 22, -45705983);
a = md5_ff(a, b, c, d, x[(i + 8)], 7, 1770035416);
d = md5_ff(d, a, b, c, x[(i + 9)], 12, -1958414417);
c = md5_ff(c, d, a, b, x[(i + 10)], 17, -42063);
b = md5_ff(b, c, d, a, x[(i + 11)], 22, -1990404162);
a = md5_ff(a, b, c, d, x[(i + 12)], 7, 1804603682);
d = md5_ff(d, a, b, c, x[(i + 13)], 12, -40341101);
c = md5_ff(c, d, a, b, x[(i + 14)], 17, -1502002290);
b = md5_ff(b, c, d, a, x[(i + 15)], 22, 1236535329);
a = md5_gg(a, b, c, d, x[(i + 1)], 5, -165796510);
d = md5_gg(d, a, b, c, x[(i + 6)], 9, -1069501632);
c = md5_gg(c, d, a, b, x[(i + 11)], 14, 643717713);
b = md5_gg(b, c, d, a, x[(i + 0)], 20, -373897302);
a = md5_gg(a, b, c, d, x[(i + 5)], 5, -701558691);
d = md5_gg(d, a, b, c, x[(i + 10)], 9, 38016083);
c = md5_gg(c, d, a, b, x[(i + 15)], 14, -660478335);
b = md5_gg(b, c, d, a, x[(i + 4)], 20, -405537848);
a = md5_gg(a, b, c, d, x[(i + 9)], 5, 568446438);
d = md5_gg(d, a, b, c, x[(i + 14)], 9, -1019803690);
c = md5_gg(c, d, a, b, x[(i + 3)], 14, -187363961);
b = md5_gg(b, c, d, a, x[(i + 8)], 20, 1163531501);
a = md5_gg(a, b, c, d, x[(i + 13)], 5, -1444681467);
d = md5_gg(d, a, b, c, x[(i + 2)], 9, -51403784);
c = md5_gg(c, d, a, b, x[(i + 7)], 14, 1735328473);
b = md5_gg(b, c, d, a, x[(i + 12)], 20, -1926607734);
a = md5_hh(a, b, c, d, x[(i + 5)], 4, -378558);
d = md5_hh(d, a, b, c, x[(i + 8)], 11, -2022574463);
c = md5_hh(c, d, a, b, x[(i + 11)], 16, 1839030562);
b = md5_hh(b, c, d, a, x[(i + 14)], 23, -35309556);
a = md5_hh(a, b, c, d, x[(i + 1)], 4, -1530992060);
d = md5_hh(d, a, b, c, x[(i + 4)], 11, 1272893353);
c = md5_hh(c, d, a, b, x[(i + 7)], 16, -155497632);
b = md5_hh(b, c, d, a, x[(i + 10)], 23, -1094730640);
a = md5_hh(a, b, c, d, x[(i + 13)], 4, 681279174);
d = md5_hh(d, a, b, c, x[(i + 0)], 11, -358537222);
c = md5_hh(c, d, a, b, x[(i + 3)], 16, -722521979);
b = md5_hh(b, c, d, a, x[(i + 6)], 23, 76029189);
a = md5_hh(a, b, c, d, x[(i + 9)], 4, -640364487);
d = md5_hh(d, a, b, c, x[(i + 12)], 11, -421815835);
c = md5_hh(c, d, a, b, x[(i + 15)], 16, 530742520);
b = md5_hh(b, c, d, a, x[(i + 2)], 23, -995338651);
a = md5_ii(a, b, c, d, x[(i + 0)], 6, -198630844);
d = md5_ii(d, a, b, c, x[(i + 7)], 10, 1126891415);
c = md5_ii(c, d, a, b, x[(i + 14)], 15, -1416354905);
b = md5_ii(b, c, d, a, x[(i + 5)], 21, -57434055);
a = md5_ii(a, b, c, d, x[(i + 12)], 6, 1700485571);
d = md5_ii(d, a, b, c, x[(i + 3)], 10, -1894986606);
c = md5_ii(c, d, a, b, x[(i + 10)], 15, -1051523);
b = md5_ii(b, c, d, a, x[(i + 1)], 21, -2054922799);
a = md5_ii(a, b, c, d, x[(i + 8)], 6, 1873313359);
d = md5_ii(d, a, b, c, x[(i + 15)], 10, -30611744);
c = md5_ii(c, d, a, b, x[(i + 6)], 15, -1560198380);
b = md5_ii(b, c, d, a, x[(i + 13)], 21, 1309151649);
a = md5_ii(a, b, c, d, x[(i + 4)], 6, -145523070);
d = md5_ii(d, a, b, c, x[(i + 11)], 10, -1120210379);
c = md5_ii(c, d, a, b, x[(i + 2)], 15, 718787259);
b = md5_ii(b, c, d, a, x[(i + 9)], 21, -343485551);
a = safe_add(a, olda);
b = safe_add(b, oldb);
c = safe_add(c, oldc);
d = safe_add(d, oldd);
i = (i + 16);
};
return ([a, b, c, d]);
}
public static function str2rstr_utf16le(input:String):String{
var output:String = "";
var i:Number = 0;
while (i < input.length) {
output = (output + String.fromCharCode((input.charCodeAt(i) & 0xFF), ((input.charCodeAt(i) >>> 8) & 0xFF)));
i++;
};
return (output);
}
public static function hex_hmac_md5(key:String, data:String):String{
return (rstr2hex(rstr_hmac_md5(str2rstr_utf8(key), str2rstr_utf8(data))));
}
public static function binl2rstr(input:Array):String{
var output:String = "";
var i:Number = 0;
while (i < (input.length * 32)) {
output = (output + String.fromCharCode(((input[(i >> 5)] >>> (i % 32)) & 0xFF)));
i = (i + 8);
};
return (output);
}
public static function md5_ff(a:Number, b:Number, c:Number, d:Number, x:Number, s:Number, t:Number):Number{
return (md5_cmn(((b & c) | (~(b) & d)), a, b, x, s, t));
}
public static function md5_ii(a:Number, b:Number, c:Number, d:Number, x:Number, s:Number, t:Number):Number{
return (md5_cmn((c ^ (b | ~(d))), a, b, x, s, t));
}
public static function rstr2binl(input:String):Array{
var i:Number = 0;
var output:Array = new Array((input.length >> 2));
i = 0;
while (i < output.length) {
output[i] = 0;
i++;
};
i = 0;
while (i < (input.length * 8)) {
output[(i >> 5)] = (output[(i >> 5)] | ((input.charCodeAt((i / 8)) & 0xFF) << (i % 32)));
i = (i + 8);
};
return (output);
}
public static function md5_vm_test():Boolean{
return ((hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72"));
}
public static function b64_md5(string:String):String{
return (rstr2b64(rstr_md5(str2rstr_utf8(string))));
}
public static function any_hmac_md5(key:String, data:String, encoding:String):String{
return (rstr2any(rstr_hmac_md5(str2rstr_utf8(key), str2rstr_utf8(data)), encoding));
}
public static function hex_md5(string:String):String{
return (rstr2hex(rstr_md5(str2rstr_utf8(string))));
}
public static function bit_rol(num:Number, cnt:Number):Number{
return (((num << cnt) | (num >>> (32 - cnt))));
}
public static function encrypt(string:String):String{
return (hex_md5(string));
}
public static function md5_hh(a:Number, b:Number, c:Number, d:Number, x:Number, s:Number, t:Number):Number{
return (md5_cmn(((b ^ c) ^ d), a, b, x, s, t));
}
public static function rstr2hex(input:String):String{
var x:Number;
var hex_tab:String = (hexcase) ? "0123456789ABCDEF" : "0123456789abcdef";
var output:String = "";
var i:Number = 0;
while (i < input.length) {
x = input.charCodeAt(i);
output = (output + (hex_tab.charAt(((x >>> 4) & 15)) + hex_tab.charAt((x & 15))));
i++;
};
return (output);
}
public static function any_md5(string:String, encoding:String):String{
return (rstr2any(rstr_md5(str2rstr_utf8(string)), encoding));
}
public static function b64_hmac_md5(key:String, data:String):String{
return (rstr2b64(rstr_hmac_md5(str2rstr_utf8(key), str2rstr_utf8(data))));
}
public static function rstr2b64(input:String):String{
var triplet:Number;
var j:Number;
var tab:String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var output:String = "";
var len:Number = input.length;
var i:Number = 0;
while (i < len) {
triplet = (((input.charCodeAt(i) << 16) | (((i + 1) < len)) ? (input.charCodeAt((i + 1)) << 8) : 0) | (((i + 2) < len)) ? input.charCodeAt((i + 2)) : 0);
j = 0;
while (j < 4) {
if (((i * 8) + (j * 6)) > (input.length * 8)){
output = (output + b64pad);
} else {
output = (output + tab.charAt(((triplet >>> (6 * (3 - j))) & 63)));
};
j++;
};
i = (i + 3);
};
return (output);
}
public static function safe_add(x:Number, y:Number):Number{
var lsw:Number = ((x & 0xFFFF) + (y & 0xFFFF));
var msw:Number = (((x >> 16) + (y >> 16)) + (lsw >> 16));
return (((msw << 16) | (lsw & 0xFFFF)));
}
public static function str2rstr_utf8(input:String):String{
var x:Number;
var y:Number;
var output:String = "";
var i:Number = -1;
while (++i < input.length) {
x = input.charCodeAt(i);
y = (((i + 1) < input.length)) ? input.charCodeAt((i + 1)) : 0;
if ((((((((0xD800 <= x)) && ((x <= 56319)))) && ((0xDC00 <= y)))) && ((y <= 57343)))){
x = ((65536 + ((x & 1023) << 10)) + (y & 1023));
i++;
};
if (x <= 127){
output = (output + String.fromCharCode(x));
} else {
if (x <= 2047){
output = (output + String.fromCharCode((192 | ((x >>> 6) & 31)), (128 | (x & 63))));
} else {
if (x <= 0xFFFF){
output = (output + String.fromCharCode((224 | ((x >>> 12) & 15)), (128 | ((x >>> 6) & 63)), (128 | (x & 63))));
} else {
if (x <= 2097151){
output = (output + String.fromCharCode((240 | ((x >>> 18) & 7)), (128 | ((x >>> 12) & 63)), (128 | ((x >>> 6) & 63)), (128 | (x & 63))));
};
};
};
};
};
return (output);
}
public static function rstr_hmac_md5(key:String, data:String):String{
var bkey:Array = rstr2binl(key);
if (bkey.length > 16){
bkey = binl_md5(bkey, (key.length * 8));
};
var ipad:Array = new Array(16);
var opad:Array = new Array(16);
var i:Number = 0;
while (i < 16) {
ipad[i] = (bkey[i] ^ 909522486);
opad[i] = (bkey[i] ^ 1549556828);
i++;
};
var hash:Array = binl_md5(ipad.concat(rstr2binl(data)), (0x0200 + (data.length * 8)));
return (binl2rstr(binl_md5(opad.concat(hash), (0x0200 + 128))));
}
public static function str2rstr_utf16be(input:String):String{
var output:String = "";
var i:Number = 0;
while (i < input.length) {
output = (output + String.fromCharCode(((input.charCodeAt(i) >>> 8) & 0xFF), (input.charCodeAt(i) & 0xFF)));
i++;
};
return (output);
}
public static function rstr2any(input:String, encoding:String):String{
var i:Number;
var q:Number;
var x:Number;
var quotient:Array;
var divisor:Number = encoding.length;
var remainders:Array = [];
var dividend:Array = ((input.length / 2) as Array);
i = 0;
while (i < dividend.length) {
dividend[i] = ((input.charCodeAt((i * 2)) << 8) | input.charCodeAt(((i * 2) + 1)));
i++;
};
while (dividend.length > 0) {
quotient = [];
x = 0;
i = 0;
while (i < dividend.length) {
x = ((x << 16) + dividend[i]);
q = Math.floor((x / divisor));
x = (x - (q * divisor));
if ((((quotient.length > 0)) || ((q > 0)))){
quotient[quotient.length] = q;
};
i++;
};
remainders[remainders.length] = x;
dividend = quotient;
};
var output:String = "";
i = (remainders.length - 1);
while (i >= 0) {
output = (output + encoding.charAt(remainders[i]));
i--;
};
return (output);
}
public static function rstr_md5(string:String):String{
return (binl2rstr(binl_md5(rstr2binl(string), (string.length * 8))));
}
}
}//package com.midasplayer.extras
Section 40
//SimpleParticle (com.midasplayer.extras.SimpleParticle)
package com.midasplayer.extras {
import flash.display.*;
public dynamic class SimpleParticle extends Shape {
private var _color:Number;// = 0
private var _size:Number;// = 1
private var _type:String;// = "rect"
public static var RECT:String = "rect";
public static var CIRCLE:String = "circle";
public function SimpleParticle(){
super();
}
public function get size():Number{
return (_size);
}
public function set size(s:Number){
_size = s;
draw();
}
public function get color():Number{
return (_color);
}
public function set color(c:Number){
_color = c;
draw();
}
public function get type():String{
return (_type);
}
private function draw(){
clear();
graphics.beginFill(_color, 1);
switch (type){
case RECT:
graphics.drawRect((-(size) / 2), (-(size) / 2), size, size);
break;
case CIRCLE:
graphics.drawCircle((-(size) / 2), (-(size) / 2), size);
break;
};
graphics.endFill();
}
public function clear(){
graphics.clear();
}
public function set type(t:String){
_type = t;
draw();
}
}
}//package com.midasplayer.extras
Section 41
//SineWave (com.midasplayer.extras.SineWave)
package com.midasplayer.extras {
public class SineWave {
private var my_cycles:Number;
private var my_radius:Number;
private var my_phase:Number;
private var my_inc:Number;
public function SineWave(p:Number, c:Number, r:Number, i:Number){
super();
my_phase = p;
my_cycles = c;
my_radius = r;
my_inc = i;
}
public function set radius(r:Number):void{
my_radius = r;
}
public function get cycles():Number{
return (my_cycles);
}
public function get radius():Number{
return (my_radius);
}
public function set cycles(c:Number):void{
my_cycles = c;
}
public function get phase():Number{
return (my_phase);
}
public function set inc(i:Number):void{
my_inc = i;
}
public function set phase(p:Number):void{
my_phase = p;
}
public function get inc():Number{
return (my_inc);
}
}
}//package com.midasplayer.extras
Section 42
//Water (com.midasplayer.extras.Water)
package com.midasplayer.extras {
import flash.display.*;
public class Water extends MovieClip {
private var m_lines:Array;
public function Water(){
m_lines = new Array();
super();
trace(1.11111111111111E18);
}
public function decrThickness(decr:Boolean):Boolean{
var i:int;
var done:Boolean;
var j:int;
var d:Boolean;
if (decr){
i = 0;
while (i < m_lines.length) {
done = false;
if (m_lines[i].decrThickness()){
done = true;
} else {
return (false);
};
i++;
};
return (done);
//unresolved jump
};
j = 0;
while (j < m_lines.length) {
d = false;
if (m_lines[j].incrThickness()){
d = true;
} else {
return (false);
};
j++;
};
return (d);
}
public function init(h:Number, lineThickness:Number){
var line:WaterLine;
var numLines:int;
var clr:uint = 0xFF0000;
if (this.name == "RED"){
clr = 0xFF0000;
numLines = 1;
};
if (this.name == "GREEN"){
clr = 0xFF00;
numLines = 1;
};
if (this.name == "BLUE"){
clr = 2782939;
numLines = 1;
};
var i:* = 0;
while (i < numLines) {
line = new WaterLine();
line.addParams(clr, h, lineThickness);
line.x = (i * 1.5);
addChild(line);
m_lines.push(line);
i++;
};
}
}
}//package com.midasplayer.extras
Section 43
//WaterHolderB (com.midasplayer.extras.WaterHolderB)
package com.midasplayer.extras {
import flash.display.*;
public class WaterHolderB extends MovieClip {
public var child:Water;
public function WaterHolderB(){
super();
child = new Water();
child.name = "BLUE";
addChild(child);
}
}
}//package com.midasplayer.extras
Section 44
//WaterHolderG (com.midasplayer.extras.WaterHolderG)
package com.midasplayer.extras {
import flash.display.*;
public class WaterHolderG extends MovieClip {
public var child:Water;
public function WaterHolderG(){
super();
child = new Water();
child.name = "GREEN";
addChild(child);
}
}
}//package com.midasplayer.extras
Section 45
//WaterHolderR (com.midasplayer.extras.WaterHolderR)
package com.midasplayer.extras {
import flash.display.*;
public class WaterHolderR extends MovieClip {
public var child:Water;
public function WaterHolderR(){
super();
child = new Water();
child.name = "RED";
addChild(child);
}
}
}//package com.midasplayer.extras
Section 46
//WaterLine (com.midasplayer.extras.WaterLine)
package com.midasplayer.extras {
import flash.events.*;
import flash.display.*;
public class WaterLine extends MovieClip {
private var _height:Number;// = 400
private var _line:Shape;
private var _particlesQuantity:Number;// = 20
private var _color:uint;
private var _bubbles:Array;
private var _step:Number;
private var _particles:Array;
private var _lineSize:Number;
public function WaterLine(){
super();
trace("WaterLine()");
}
public function incrThickness():Boolean{
_lineSize = (_lineSize + 0.5);
if (_lineSize >= 5){
return (true);
};
return (false);
}
public function get randomDirection():Number{
return (((Math.round((Math.random() * 1)) * 2) - 1));
}
public function addParams(clr:uint, h:Number, l:Number):void{
_color = clr;
_height = h;
_lineSize = l;
init();
}
private function createBubbles():void{
var bubble:SimpleParticle;
var currentStep:Number;
var distanceMouse:Number;
var j:*;
var colors:Array = [_color, _color];
var i:* = 0;
while (i < 5) {
bubble = new SimpleParticle();
bubble.type = SimpleParticle.CIRCLE;
bubble.size = 0.8;
bubble.color = colors[Math.round((Math.random() * (colors.length - 1)))];
bubble.alpha = 1;
addChild(bubble);
_bubbles.push(bubble);
i++;
};
for (j in _bubbles) {
bubble = _bubbles[j];
if (!bubble.isOut){
bubble.y = (bubble.y + ((Math.random() * 5) + 10));
currentStep = Math.floor((bubble.y / this._step));
bubble.x = (bubble.x + (((_particles[currentStep].x + ((Math.random() * 1) * randomDirection)) - bubble.x) * 0.8));
distanceMouse = Math.sqrt((Math.pow((mouseX - bubble.x), 2) + Math.pow((mouseY - bubble.y), 2)));
if ((((distanceMouse < 4)) && (!(bubble.isOut)))){
};
} else {
bubble.y = (bubble.y + bubble.speedY);
bubble.speedY = (bubble.speedY + 3);
bubble.x = (bubble.x + bubble.speedX);
bubble.alpha = (bubble.alpha - 0.005);
};
if ((((bubble.y > _height)) || ((bubble.alpha < 0)))){
_bubbles.splice(j, 1);
bubble.parent.removeChild(bubble);
bubble = null;
};
};
}
private function createLine():void{
var particle:SimpleParticle;
var i:* = 0;
while (i < _particlesQuantity) {
particle = new SimpleParticle();
particle.elasticX = 0;
particle.yIni = (particle.y = (_step * i));
addChild(particle);
_particles.push(particle);
i++;
};
}
private function init(){
_line = new Shape();
_line.alpha = 0.8;
addChild(_line);
_bubbles = [];
_particles = [];
_step = (_height / (_particlesQuantity - 1));
createLine();
addEventListener(Event.ENTER_FRAME, animate);
}
private function animate(evt:Event):void{
var previousParticle:SimpleParticle;
var particle:SimpleParticle;
var ang:Number;
var posX:Number;
var posY:Number;
var mouseDistance:Number;
var multiplier:Number;
var distanceHit:Number = 10;
var posTweak:Number = 3;
_line.graphics.clear();
_line.graphics.moveTo(_particles[0].x, _particles[0].y);
_line.graphics.lineStyle(_lineSize, _color, 1);
var i:* = 0;
while (i < _particles.length) {
particle = _particles[i];
if (i == 0){
particle.x = (particle.x + ((((Math.random() * posTweak) * randomDirection) - particle.x) * 0.9));
};
previousParticle = ((i)>0) ? _particles[(i - 1)] : particle;
mouseDistance = Math.sqrt((Math.pow((mouseX - 0), 2) + Math.pow((mouseY - particle.yIni), 2)));
if (mouseDistance < distanceHit){
} else {
posX = previousParticle.x;
particle.elasticX = ((particle.elasticX * 0.4) + ((posX - particle.x) * 0.4));
particle.x = (particle.x + particle.elasticX);
};
if (i > 0){
_line.graphics.curveTo(previousParticle.x, previousParticle.y, ((previousParticle.x + particle.x) / 2), ((previousParticle.y + particle.y) / 2));
};
i++;
};
}
private function spreadBubble(bubble:SimpleParticle):void{
bubble.isOut = true;
parent.parent.addChild(bubble);
bubble.size = 1.2;
bubble.alpha = 0.35;
bubble.x = (parent.x + bubble.x);
bubble.y = (parent.y + bubble.y);
bubble.speedY = (-5 - (Math.random() * 10));
bubble.speedX = (((Math.random() * 15) + 1) * randomDirection);
}
public function decrThickness():Boolean{
_lineSize--;
if (_lineSize <= 0){
return (true);
};
return (false);
}
}
}//package com.midasplayer.extras
Section 47
//WaveEngine (com.midasplayer.extras.WaveEngine)
package com.midasplayer.extras {
import flash.events.*;
import flash.display.*;
public class WaveEngine extends MovieClip {
private var m_wave:DrawSine;
private var m_fillColor:uint;
private var m_num_waves:int;// = 3
private var m_waveHolder:MovieClip;
private var m_sinArr:Array;
private var m_rootRef:MovieClip;
public function WaveEngine(ref:MovieClip, w:int, h:int, fill:uint, stroke:uint, waveHolder:MovieClip){
m_waveHolder = new MovieClip();
m_sinArr = new Array();
super();
m_rootRef = ref;
m_waveHolder = waveHolder;
m_wave = new DrawSine(m_waveHolder, w, h, 100);
var i:* = 0;
while (i < m_num_waves) {
m_sinArr.push(new SineWave(((Math.random() * Math.PI) * 1.5), (Math.random() * 1.5), ((Math.random() * 1.5) + 1), (Math.random() - 0.5)));
i++;
};
m_wave.set_stroke(3, stroke);
m_wave.set_fill(true, fill, 100);
m_fillColor = fill;
}
public function startWave():void{
m_rootRef.addEventListener(Event.ENTER_FRAME, update);
}
public function getWave():MovieClip{
return (m_waveHolder);
}
private function update(e:Event):void{
var p:*;
for (p in m_sinArr) {
m_sinArr[p].phase = (m_sinArr[p].phase + m_sinArr[p].inc);
};
m_wave.set_fill(true, m_fillColor, 1);
m_wave.draw_waves(m_sinArr);
}
public function stopWave():void{
m_rootRef.removeEventListener(Event.ENTER_FRAME, update);
}
public function colorUpdate(color:uint):void{
var str:String = ("0x" + color.toString(16));
m_fillColor = uint(str);
}
}
}//package com.midasplayer.extras
Section 48
//KingAPI (com.midasplayer.KingAPI)
package com.midasplayer {
import flash.events.*;
import com.midasplayer.extras.*;
import flash.net.*;
import flash.external.*;
public class KingAPI {
public static const LINK_TYPE_RIGHT_CLICK:String = "rightclick";
public static const USER_TYPE_SUBSCRIPTION:int = 3;
public static const LINK_TYPE_HIGHSCORES:String = "highscores";
public static const LINK_TYPE_SIGN:String = "sign";
public static const INITIALIZED_EVENT:String = "initialized";
public static const LINK_TYPE_OTHER_GAMES:String = "other_games";
public static const USER_TYPE_REGISTERED:int = 1;
private static const SAK:String = "ggfd7sday923mdsfd8csfds34";
private static const loadHomeParametersURL:String = "http://www.king.com/servlet/FreeGameServlet?action=load";
public static const LINK_TYPE_LOADER_MOVIE:String = "loader_movie";
private static const bounceURL:String = "http://www.mygame.com/king/bounce.jsp";
public static const LINK_TYPE_PROTECT:String = "protect";
public static const LINK_TYPE_ADD_GAME:String = "add_game";
public static const USER_TYPE_GOLD:int = 2;
public static const USER_TYPE_UNREGISTERED:int = 0;
public static const HOST_BANNED_EVENT:String = "hostBanned";
private static const SK:String = "vf78hxcsjak77cxzhjkwad87s";
private static const loadCountURL:String = "http://www.mygame.com/king/loadcount.jsp";
public static const LINK_TYPE_LOADER_PROGRESS:String = "loader_progress";
private static var check:String = null;
public static var gameName:String;
public static var banned:Boolean = false;
protected static var dispatcher:EventDispatcher;
public static var isHome:Boolean = false;
private static var sessionID:String;
private static var iscore:int = 123;
public static var fromURL:String;
private static var SSK:String = "ng43ui54hy35tdsnd6f54rews";
public function KingAPI(){
super();
}
private static function loadUrlErrorHandler(event:Event):void{
trace(("Unable to load url: " + event));
}
public static function resetScore():void{
iscore = 123;
check = null;
}
public static function openOfflineProtectionLink():void{
openKingPage(LINK_TYPE_PROTECT);
}
public static function init(name:String, from:String):void{
var so:SharedObject;
var rnd1:Number;
var rnd2:Number;
var name = name;
var from = from;
gameName = name;
fromURL = from;
var loadCounter:URLLoader = new URLLoader();
var reqvars:URLVariables = new URLVariables();
reqvars.game = gameName;
reqvars.from = fromURL;
so = SharedObject.getLocal("sessionId");
if (so.data.sessionID == null){
rnd1 = Math.abs(Math.floor((Math.random() * 4294967295)));
rnd2 = Math.abs(Math.floor((Math.random() * 4294967295)));
so.data.sessionID = (rnd1.toString(16) + rnd2.toString(16));
so.flush();
};
sessionID = so.data.sessionID;
//unresolved jump
var _slot1 = e;
sessionID = "error";
reqvars.session = sessionID;
var request:URLRequest = new URLRequest(((loadCountURL + "?") + reqvars.toString()));
loadCounter.addEventListener(Event.COMPLETE, loadCountHandler);
loadCounter.addEventListener(IOErrorEvent.IO_ERROR, loadUrlErrorHandler);
loadCounter.addEventListener(SecurityErrorEvent.SECURITY_ERROR, loadUrlErrorHandler);
loadCounter.load(request);
//unresolved jump
var _slot1 = error;
trace(("Unable to load loadcount url: " + loadCountURL));
trace(_slot1.message);
}
private static function loadHomeParametersHandler(event:Event):void{
var loadCounter:URLLoader = URLLoader(event.target);
trace(("loadCounter.data" + loadCounter.data));
}
public static function submitInternalScore():void{
checkScore();
var tmpscore:int = ((iscore - 123) / 2);
submitScore(tmpscore);
}
public static function openOtherGamesLink():void{
openKingPage(LINK_TYPE_OTHER_GAMES);
}
public static function openKingPage(type:String, page:String=null):void{
var reqvars:URLVariables = new URLVariables();
reqvars.game = gameName;
reqvars.from = fromURL;
reqvars.type = type;
reqvars.session = sessionID;
if (page != null){
reqvars.redirect = page;
};
var target:String = "_blank";
if (isHome){
target = "_top";
};
navigateToURL(new URLRequest(((bounceURL + "?") + reqvars.toString())), target);
}
private static function loadCountHandler(event:Event):void{
var vars:URLVariables;
var event = event;
var loadCounter:URLLoader = URLLoader(event.target);
trace(("loadCounter.data :" + loadCounter.data));
vars = new URLVariables(loadCounter.data);
if (vars.h == "true"){
isHome = true;
};
if (vars.b == "true"){
banned = true;
dispatcher.dispatchEvent(new Event(HOST_BANNED_EVENT));
} else {
dispatcher.dispatchEvent(new Event(INITIALIZED_EVENT));
};
trace((("::" + vars.h) + "::"));
trace((("::" + vars.b) + "::"));
//unresolved jump
var _slot1 = e;
trace(("Error reading data from loadcount url: " + _slot1));
dispatcher.dispatchEvent(new Event(INITIALIZED_EVENT));
}
public static function addEventListener(type:String, listener:Function):void{
if (dispatcher == null){
dispatcher = new EventDispatcher();
};
dispatcher.addEventListener(type, listener);
}
public static function openLoaderMovieLink():void{
openKingPage(LINK_TYPE_LOADER_MOVIE);
}
public static function removeEventListener(type:String, listener:Function):void{
if (dispatcher == null){
return;
};
dispatcher.removeEventListener(type, listener);
}
public static function submitScore(score:int):void{
var score = score;
var hash:String = md5.encrypt(((((score + ":") + gameName) + ":") + SSK));
if (isHome){
ExternalInterface.call("submitScore", score, hash);
} else {
openKingPage(LINK_TYPE_HIGHSCORES, ((((("game/" + gameName) + "/submit/") + score) + ":") + hash));
};
//unresolved jump
var _slot1 = e;
trace(_slot1);
}
public static function submitLevel(level:int):void{
var level = level;
var hash:String = md5.encrypt(((((level + ":") + gameName) + ":") + SSK));
if (isHome){
ExternalInterface.call("submitLevel", level, hash);
};
//unresolved jump
var _slot1 = e;
trace(_slot1);
}
public static function openHighscoresLink():void{
openKingPage(LINK_TYPE_HIGHSCORES, (("game/" + gameName) + "/highscores"));
}
public static function openSignLink():void{
if (!isHome){
openKingPage(LINK_TYPE_SIGN);
};
}
public static function openRightClickLink():void{
openKingPage(LINK_TYPE_RIGHT_CLICK);
}
private static function checkScore():void{
if (check != null){
if (check != md5.encrypt(((((iscore + ":") + gameName) + ":") + SK))){
SSK = "ng41ui54hy35tdsnd6f54rews";
};
};
}
public static function addScore(points:int):int{
checkScore();
var tmpscore:int = ((iscore - 123) / 2);
tmpscore = (tmpscore + points);
iscore = ((tmpscore * 2) + 123);
check = md5.encrypt(((((iscore + ":") + gameName) + ":") + SK));
return (tmpscore);
}
public static function openLoaderProgressLink():void{
openKingPage(LINK_TYPE_LOADER_PROGRESS);
}
public static function openAddToWebsiteLink():void{
openKingPage(LINK_TYPE_ADD_GAME, "website_content.jsp");
}
public static function submitAchievement(achievement:String):void{
var achievement = achievement;
var hash:String = md5.encrypt(((((achievement + ":") + gameName) + ":") + SAK));
if (isHome){
ExternalInterface.call("submitAchievement", achievement, hash);
};
//unresolved jump
var _slot1 = e;
trace(_slot1);
}
}
}//package com.midasplayer
Section 49
//TweenLite (com.Tween.TweenLite)
package com.Tween {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
public class TweenLite {
public var delay:Number;
protected var _initted:Boolean;
protected var _subTweens:Array;
public var startTime:uint;
public var target:Object;
public var duration:Number;
protected var _hst:Boolean;
protected var _active:Boolean;
public var tweens:Object;
public var vars:Object;
public var initTime:uint;
private static var _timer:Timer = new Timer(2000);
private static var _classInitted:Boolean;
public static var defaultEase:Function = TweenLite.easeOut;
public static var version:Number = 6.1;
private static var _sprite:Sprite = new Sprite();
protected static var _all:Dictionary = new Dictionary();
public static var killDelayedCallsTo:Function = killTweensOf;
protected static var _curTime:uint;
private static var _listening:Boolean;
public function TweenLite($target:Object, $duration:Number, $vars:Object){
super();
if ($target == null){
return;
};
if (((((!(($vars.overwrite == false))) && (!(($target == null))))) || ((_all[$target] == undefined)))){
delete _all[$target];
_all[$target] = new Dictionary();
};
_all[$target][this] = this;
this.vars = $vars;
this.duration = (($duration) || (0.001));
this.delay = (($vars.delay) || (0));
this.target = $target;
if (!(this.vars.ease is Function)){
this.vars.ease = defaultEase;
};
if (this.vars.easeParams != null){
this.vars.proxiedEase = this.vars.ease;
this.vars.ease = easeProxy;
};
if (!isNaN(Number(this.vars.autoAlpha))){
this.vars.alpha = Number(this.vars.autoAlpha);
};
this.tweens = {};
_subTweens = [];
_hst = (_initted = false);
_active = ((($duration == 0)) && ((this.delay == 0)));
if (!_classInitted){
_curTime = getTimer();
_sprite.addEventListener(Event.ENTER_FRAME, executeAll);
_classInitted = true;
};
this.initTime = _curTime;
if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (_active))){
initTweenVals();
this.startTime = _curTime;
if (_active){
render((this.startTime + 1));
} else {
render(this.startTime);
};
};
if (((!(_listening)) && (!(_active)))){
_timer.addEventListener("timer", killGarbage);
_timer.start();
_listening = true;
};
}
protected function addSubTween($proxy:Function, $target:Object, $props:Object, $info:Object=null):void{
var p:String;
_subTweens.push({proxy:$proxy, target:$target, info:$info});
for (p in $props) {
if ($target.hasOwnProperty(p)){
if (typeof($props[p]) == "number"){
this.tweens[((("st" + _subTweens.length) + "_") + p)] = {o:$target, p:p, s:$target[p], c:($props[p] - $target[p])};
} else {
this.tweens[((("st" + _subTweens.length) + "_") + p)] = {o:$target, p:p, s:$target[p], c:Number($props[p])};
};
};
};
_hst = true;
}
public function initTweenVals($hrp:Boolean=false, $reservedProps:String=""):void{
var p:String;
var endArray:Array;
var i:int;
var clr:ColorTransform;
var endClr:ColorTransform;
var tp:Object;
var isDO = (this.target is DisplayObject);
if ((this.target is Array)){
endArray = ((this.vars.endArray) || ([]));
i = 0;
while (i < endArray.length) {
if (((!((this.target[i] == endArray[i]))) && (!((this.target[i] == undefined))))){
this.tweens[i.toString()] = {o:this.target, p:i.toString(), s:this.target[i], c:(endArray[i] - this.target[i])};
};
i++;
};
} else {
for (p in this.vars) {
if ((((((((((((((((((((((((((((((((((p == "ease")) || ((p == "delay")))) || ((p == "overwrite")))) || ((p == "onComplete")))) || ((p == "onCompleteParams")))) || ((p == "onCompleteScope")))) || ((p == "runBackwards")))) || ((p == "onUpdate")))) || ((p == "onUpdateParams")))) || ((p == "onUpdateScope")))) || ((p == "autoAlpha")))) || ((p == "onStart")))) || ((p == "onStartParams")))) || ((p == "onStartScope")))) || ((p == "renderOnStart")))) || ((p == "easeParams")))) || ((($hrp) && (!(($reservedProps.indexOf(((" " + p) + " ")) == -1))))))){
} else {
if ((((p == "tint")) && (isDO))){
clr = this.target.transform.colorTransform;
endClr = new ColorTransform();
if (this.vars.alpha != undefined){
endClr.alphaMultiplier = this.vars.alpha;
delete this.vars.alpha;
delete this.tweens.alpha;
} else {
endClr.alphaMultiplier = this.target.alpha;
};
if (((!((this.vars[p] == null))) && (!((this.vars[p] == ""))))){
endClr.color = this.vars[p];
};
addSubTween(tintProxy, {progress:0}, {progress:1}, {target:this.target, color:clr, endColor:endClr});
} else {
if ((((p == "frame")) && (isDO))){
addSubTween(frameProxy, {frame:this.target.currentFrame}, {frame:this.vars[p]}, {target:this.target});
} else {
if ((((p == "volume")) && (((isDO) || ((this.target is SoundChannel)))))){
addSubTween(volumeProxy, this.target.soundTransform, {volume:this.vars[p]}, {target:this.target});
} else {
if (this.target.hasOwnProperty(p)){
if (typeof(this.vars[p]) == "number"){
this.tweens[p] = {o:this.target, p:p, s:this.target[p], c:(this.vars[p] - this.target[p])};
} else {
this.tweens[p] = {o:this.target, p:p, s:this.target[p], c:Number(this.vars[p])};
};
};
};
};
};
};
};
};
if (this.vars.runBackwards == true){
for (p in this.tweens) {
tp = this.tweens[p];
tp.s = (tp.s + tp.c);
tp.c = (tp.c * -1);
};
};
if (typeof(this.vars.autoAlpha) == "number"){
this.target.visible = !((((this.vars.runBackwards == true)) && ((this.target.alpha == 0))));
};
_initted = true;
}
public function get active():Boolean{
if (_active){
return (true);
};
if (((_curTime - this.initTime) / 1000) > this.delay){
_active = true;
this.startTime = (this.initTime + (this.delay * 1000));
if (!_initted){
initTweenVals();
} else {
if (typeof(this.vars.autoAlpha) == "number"){
this.target.visible = true;
};
};
if (this.vars.onStart != null){
this.vars.onStart.apply(this.vars.onStartScope, this.vars.onStartParams);
};
if (this.duration == 0.001){
this.startTime = (this.startTime - 1);
};
return (true);
//unresolved jump
};
return (false);
}
public function render($t:uint):void{
var tp:Object;
var p:String;
var i:uint;
var time:Number = (($t - this.startTime) / 1000);
if (time > this.duration){
time = this.duration;
};
var factor:Number = this.vars.ease(time, 0, 1, this.duration);
for (p in this.tweens) {
tp = this.tweens[p];
tp.o[tp.p] = (tp.s + (factor * tp.c));
};
if (_hst){
i = 0;
while (i < _subTweens.length) {
_subTweens[i].proxy(_subTweens[i]);
i++;
};
};
if (this.vars.onUpdate != null){
this.vars.onUpdate.apply(this.vars.onUpdateScope, this.vars.onUpdateParams);
};
if (time == this.duration){
complete(true);
};
}
protected function easeProxy($t:Number, $b:Number, $c:Number, $d:Number):Number{
return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams)));
}
public function complete($skipRender:Boolean=false):void{
if (!$skipRender){
if (!_initted){
initTweenVals();
};
render((this.startTime + (this.duration * 1000)));
return;
};
if ((((typeof(this.vars.autoAlpha) == "number")) && ((this.target.alpha == 0)))){
this.target.visible = false;
};
if (this.vars.onComplete != null){
this.vars.onComplete.apply(this.vars.onCompleteScope, this.vars.onCompleteParams);
};
removeTween(this);
}
public static function easeOut($t:Number, $b:Number, $c:Number, $d:Number):Number{
$t = ($t / $d);
return ((((-($c) * $t) * ($t - 2)) + $b));
}
public static function frameProxy($o:Object):void{
$o.info.target.gotoAndStop(Math.round($o.target.frame));
}
public static function removeTween($t:TweenLite=null):void{
if (((!(($t == null))) && (!((_all[$t.target] == undefined))))){
delete _all[$t.target][$t];
};
}
public static function killTweensOf($tg:Object=null, $complete:Boolean=false):void{
var o:Object;
var tw:*;
if (((!(($tg == null))) && (!((_all[$tg] == undefined))))){
if ($complete){
o = _all[$tg];
for (tw in o) {
o[tw].complete(false);
};
};
delete _all[$tg];
};
}
public static function delayedCall($delay:Number, $onComplete:Function, $onCompleteParams:Array=null, $onCompleteScope=null):TweenLite{
return (new TweenLite($onComplete, 0, {delay:$delay, onComplete:$onComplete, onCompleteParams:$onCompleteParams, onCompleteScope:$onCompleteScope, overwrite:false}));
}
public static function from($target:Object, $duration:Number, $vars:Object):TweenLite{
$vars.runBackwards = true;
return (new TweenLite($target, $duration, $vars));
}
public static function executeAll($e:Event=null):void{
var p:Object;
var tw:Object;
var a:Dictionary = _all;
var t:uint = (_curTime = getTimer());
if (_listening){
for (p in a) {
for (tw in a[p]) {
if (((!((a[p][tw] == undefined))) && (a[p][tw].active))){
a[p][tw].render(t);
if (a[p] == undefined){
break;
};
};
};
};
};
}
public static function volumeProxy($o:Object):void{
$o.info.target.soundTransform = $o.target;
}
public static function killGarbage($e:TimerEvent):void{
var found:Boolean;
var p:Object;
var twp:Object;
var tw:Object;
var tg_cnt:uint;
for (p in _all) {
found = false;
for (twp in _all[p]) {
found = true;
break;
};
if (!found){
delete _all[p];
} else {
tg_cnt++;
};
};
if (tg_cnt == 0){
_timer.removeEventListener("timer", killGarbage);
_timer.stop();
_listening = false;
};
}
public static function tintProxy($o:Object):void{
var n:Number = $o.target.progress;
var r:Number = (1 - n);
$o.info.target.transform.colorTransform = new ColorTransform((($o.info.color.redMultiplier * r) + ($o.info.endColor.redMultiplier * n)), (($o.info.color.greenMultiplier * r) + ($o.info.endColor.greenMultiplier * n)), (($o.info.color.blueMultiplier * r) + ($o.info.endColor.blueMultiplier * n)), (($o.info.color.alphaMultiplier * r) + ($o.info.endColor.alphaMultiplier * n)), (($o.info.color.redOffset * r) + ($o.info.endColor.redOffset * n)), (($o.info.color.greenOffset * r) + ($o.info.endColor.greenOffset * n)), (($o.info.color.blueOffset * r) + ($o.info.endColor.blueOffset * n)), (($o.info.color.alphaOffset * r) + ($o.info.endColor.alphaOffset * n)));
}
public static function to($target:Object, $duration:Number, $vars:Object):TweenLite{
return (new TweenLite($target, $duration, $vars));
}
}
}//package com.Tween
Section 50
//Key (com.util.Key)
package com.util {
import flash.events.*;
import flash.display.*;
import flash.ui.*;
public class Key {
private static var initialized:Boolean = false;
private static var keysDown:Object = new Object();
public function Key(){
super();
}
public static function initialize(stage:Stage){
if (!initialized){
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
stage.addEventListener(KeyboardEvent.KEY_UP, keyReleased);
stage.addEventListener(Event.DEACTIVATE, clearKeys);
initialized = true;
};
}
public static function clearKeys(event:Event=null):void{
keysDown = new Object();
}
public static function isDown(keyCode:uint):Boolean{
if (!initialized){
throw (new Error("Key class has yet been initialized."));
};
return (Boolean((keyCode in keysDown)));
}
private static function keyPressed(event:KeyboardEvent):void{
keysDown[event.keyCode] = true;
if (event.keyCode == Keyboard.SPACE){
};
}
private static function keyReleased(event:KeyboardEvent):void{
if ((event.keyCode in keysDown)){
delete keysDown[event.keyCode];
};
}
public static function clear(stage:Stage){
}
}
}//package com.util
Section 51
//MyMath (com.util.MyMath)
package com.util {
import flash.display.*;
import flash.geom.*;
public class MyMath {
public function MyMath(){
super();
}
public static function DrawSector(mc:MovieClip, x:Number=200, y:Number=200, r:Number=100, angle:Number=27, startFrom:Number=270, color:Number=0xFF0000):void{
var angleMid:*;
var bx:*;
var by:*;
var cx:*;
var cy:*;
mc.graphics.beginFill(color, 50);
mc.graphics.lineStyle(0, 0xFF0000);
mc.graphics.moveTo(x, y);
angle = ((Math.abs(angle))>360) ? 360 : angle;
var n:Number = Math.ceil((Math.abs(angle) / 45));
var angleA:Number = (angle / n);
angleA = ((angleA * Math.PI) / 180);
startFrom = ((startFrom * Math.PI) / 180);
mc.graphics.lineTo((x + (r * Math.cos(startFrom))), (y + (r * Math.sin(startFrom))));
var i:* = 1;
while (i <= n) {
startFrom = (startFrom + angleA);
angleMid = (startFrom - (angleA / 2));
bx = (x + ((r / Math.cos((angleA / 2))) * Math.cos(angleMid)));
by = (y + ((r / Math.cos((angleA / 2))) * Math.sin(angleMid)));
cx = (x + (r * Math.cos(startFrom)));
cy = (y + (r * Math.sin(startFrom)));
mc.graphics.curveTo(bx, by, cx, cy);
i++;
};
if (angle != 360){
mc.graphics.lineTo(x, y);
};
mc.graphics.endFill();
}
public static function d2r(degrees:Number):Number{
return (((degrees * Math.PI) / 180));
}
public static function r2d(radians:Number):Number{
return (((radians * 180) / Math.PI));
}
public static function getAngle(p1:Point, p2:Point){
var xx:Number = (p2.x - p1.x);
var yy:Number = (p2.y - p1.y);
var hyp:Number = Point.distance(p1, p2);
var cos:Number = (xx / hyp);
var rad:Number = Math.acos(cos);
var deg:Number = (180 / (Math.PI / rad));
if (yy < 0){
deg = (360 - deg);
} else {
if ((((yy == 0)) && ((xx < 0)))){
deg = 180;
};
};
xx = null;
yy = null;
hyp = null;
cos = null;
rad = null;
p1 = null;
p2 = null;
return (deg);
}
public static function ran(num:uint){
return (uint((Math.random() * num)));
}
}
}//package com.util
Section 52
//Lens (DUO.Lens)
package DUO {
import flash.display.*;
import com.Tween.*;
import flash.geom.*;
import gs.easing.*;
public class Lens {
public function Lens(){
super();
}
public static function Scale(parentmc:MovieClip, p:Point, num:Number, timenum:Number=0.5, type:uint=0):void{
if (type == 0){
TweenLite.to(parentmc, timenum, {scaleX:num, scaleY:num, x:(-(p.x) * (num - 1)), y:(-(p.y) * (num - 1)), ease:Circ.easeIn});
} else {
TweenLite.to(parentmc, timenum, {scaleX:num, scaleY:num, x:(-(p.x) * (num - 1)), y:(-(p.y) * (num - 1))});
};
}
public static function Recover(parentmc:MovieClip, timenum:Number=0.5):void{
TweenLite.to(parentmc, timenum, {scaleX:1, scaleY:1, x:0, y:0});
}
public static function CenterScale(w:uint, h:uint, parentmc:MovieClip, p:Point, num:Number, timenum:Number=0.5):void{
TweenLite.to(parentmc, timenum, {scaleX:num, scaleY:num, x:((w / 2) - (p.x * num)), y:((h / 2) - (p.y * num))});
}
}
}//package DUO
Section 53
//DUO1_arrow (DUO1.DUO1_arrow)
package DUO1 {
import flash.events.*;
import flash.display.*;
import com.event.*;
import BOX.BOX2.*;
import com.util.*;
import fish.fish12.*;
public class DUO1_arrow extends UI_DUO1_arrow {
public var beginSpdx:Number;
public var spd:Number;// = 7.6
public var arrow:MovieClip;
public var beginSpdy:Number;
public var beginAng:Number;
public var Type:Number;
public var overbool:Boolean;
public var flyAng:Number;
public static var fengspd:Number = 5;
public function DUO1_arrow(){
super();
init();
}
public function movearrow(e):void{
if (overbool){
return;
};
arrow.beginSpdy = (arrow.beginSpdy + 0.1);
arrow.x = (arrow.x + arrow.beginSpdx);
arrow.y = (arrow.y + arrow.beginSpdy);
var rds:* = Math.atan((arrow.beginSpdy / arrow.beginSpdx));
arrow.rotation = MyMath.r2d(rds);
if ((((arrow.y > 300)) && (BOX2_man.duoduo.hitTestPoint(arrow.x, arrow.y, true)))){
arrow.parent.parent.dispatchEvent(new EK("gameover", {_x:this.x, _y:this.y, _r:this.rotation}));
};
if ((((((arrow.x > 800)) || ((arrow.x < 0)))) || ((arrow.y > 600)))){
arrow.removeEventListener(Event.ENTER_FRAME, movearrow);
arrow.parent.removeChild(arrow);
};
}
public function stopmove():void{
overbool = true;
}
public function makeblood():void{
var b:Blood = new Blood(this.parent, this.rotation, this.x, this.y);
}
public function init():void{
arrow = this;
arrow.rotation = (270 + (Math.random() * 50));
var radians:* = ((arrow.rotation * Math.PI) / 180);
arrow.beginSpdx = (Math.cos(radians) * spd);
arrow.beginSpdy = (Math.sin(radians) * spd);
arrow.x = 20;
arrow.y = 300;
arrow.beginAng = arrow.rotation;
arrow.flyAng = (arrow.beginAng / 90);
arrow.addEventListener(Event.ENTER_FRAME, movearrow);
}
public function goonmove():void{
overbool = false;
}
}
}//package DUO1
Section 54
//Blood (fish.fish12.Blood)
package fish.fish12 {
import flash.events.*;
import flash.display.*;
public class Blood {
public var BloodMC:MovieClip;
public var color:uint;
public var ang:Number;
public var bloodnum:uint;
public function Blood(mc, angle, bx, by, num:uint=10, _color:uint=0xFF0000){
super();
BloodMC = mc;
ang = angle;
bloodnum = num;
color = _color;
init(bx, by);
}
public function moving(e):void{
var radians:*;
var c:* = e.target;
if (c.alpha > 0){
if (c.spd > 0.5){
c.spd = (c.spd - 0.5);
};
c.alpha = (c.alpha - 0.01);
c.width = (c.width * 0.9);
c.height = (c.height * 0.9);
radians = ((c.ang * Math.PI) / 180);
c.x = (c.x + (Math.cos(radians) * c.spd));
c.y = (c.y + (Math.sin(radians) * c.spd));
} else {
c.removeEventListener(Event.ENTER_FRAME, moving);
c.parent.removeChild(c);
};
}
public function init(bx, by):void{
var c:MovieClip;
var i:uint;
while (i < ((Math.random() * 8) + bloodnum)) {
i++;
c = new MovieClip();
c.cacheAsBitmap = true;
c.x = (bx + (Math.random() * 12));
c.y = (by + (Math.random() * 12));
c.graphics.beginFill(color);
c.graphics.drawCircle(0, 0, ((Math.random() * 2) + 2));
c.addEventListener(Event.ENTER_FRAME, moving);
BloodMC.addChild(c);
c.spd = ((8 + (Math.random() * 6)) - 3);
c.ang = ((ang + (Math.random() * 30)) - 15);
};
}
}
}//package fish.fish12
Section 55
//None (fl.transitions.easing.None)
package fl.transitions.easing {
public class None {
public function None(){
super();
}
public static function easeOut(t:Number, b:Number, c:Number, d:Number):Number{
return ((((c * t) / d) + b));
}
public static function easeIn(t:Number, b:Number, c:Number, d:Number):Number{
return ((((c * t) / d) + b));
}
public static function easeInOut(t:Number, b:Number, c:Number, d:Number):Number{
return ((((c * t) / d) + b));
}
public static function easeNone(t:Number, b:Number, c:Number, d:Number):Number{
return ((((c * t) / d) + b));
}
}
}//package fl.transitions.easing
Section 56
//Tween (fl.transitions.Tween)
package fl.transitions {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class Tween extends EventDispatcher {
private var _position:Number;// = NAN
public var prevTime:Number;// = NAN
public var prevPos:Number;// = NAN
public var isPlaying:Boolean;// = false
public var begin:Number;// = NAN
private var _fps:Number;// = NAN
private var _time:Number;// = NAN
public var change:Number;// = NAN
private var _finish:Number;// = NAN
public var looping:Boolean;// = false
private var _intervalID:uint;// = 0
public var func:Function;
private var _timer:Timer;// = null
private var _startTime:Number;// = NAN
public var prop:String;// = ""
private var _duration:Number;// = NAN
public var obj:Object;// = null
public var useSeconds:Boolean;// = false
protected static var _mc:MovieClip = new MovieClip();
public function Tween(obj:Object, prop:String, func:Function, begin:Number, finish:Number, duration:Number, useSeconds:Boolean=false){
isPlaying = false;
obj = null;
prop = "";
func = function (t:Number, b:Number, c:Number, d:Number):Number{
return ((((c * t) / d) + b));
};
begin = NaN;
change = NaN;
useSeconds = false;
prevTime = NaN;
prevPos = NaN;
looping = false;
_duration = NaN;
_time = NaN;
_fps = NaN;
_position = NaN;
_startTime = NaN;
_intervalID = 0;
_finish = NaN;
_timer = null;
super();
if (!arguments.length){
return;
};
this.obj = obj;
this.prop = prop;
this.begin = begin;
this.position = begin;
this.duration = duration;
this.useSeconds = useSeconds;
if ((func is Function)){
this.func = func;
};
this.finish = finish;
this._timer = new Timer(100);
this.start();
}
public function continueTo(finish:Number, duration:Number):void{
this.begin = this.position;
this.finish = finish;
if (!isNaN(duration)){
this.duration = duration;
};
this.start();
}
public function stop():void{
this.stopEnterFrame();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_STOP, this._time, this._position));
}
private function fixTime():void{
if (this.useSeconds){
this._startTime = (getTimer() - (this._time * 1000));
};
}
public function set FPS(fps:Number):void{
var oldIsPlaying:Boolean;
oldIsPlaying = this.isPlaying;
this.stopEnterFrame();
this._fps = fps;
if (oldIsPlaying){
this.startEnterFrame();
};
}
public function get finish():Number{
return ((this.begin + this.change));
}
public function get duration():Number{
return (this._duration);
}
protected function startEnterFrame():void{
var milliseconds:Number;
if (isNaN(this._fps)){
_mc.addEventListener(Event.ENTER_FRAME, this.onEnterFrame, false, 0, true);
} else {
milliseconds = (1000 / this._fps);
this._timer.delay = milliseconds;
this._timer.addEventListener(TimerEvent.TIMER, this.timerHandler, false, 0, true);
this._timer.start();
};
this.isPlaying = true;
}
public function set time(t:Number):void{
this.prevTime = this._time;
if (t > this.duration){
if (this.looping){
this.rewind((t - this._duration));
this.update();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_LOOP, this._time, this._position));
} else {
if (this.useSeconds){
this._time = this._duration;
this.update();
};
this.stop();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_FINISH, this._time, this._position));
};
} else {
if (t < 0){
this.rewind();
this.update();
} else {
this._time = t;
this.update();
};
};
}
protected function stopEnterFrame():void{
if (isNaN(this._fps)){
_mc.removeEventListener(Event.ENTER_FRAME, this.onEnterFrame);
} else {
this._timer.stop();
};
this.isPlaying = false;
}
public function getPosition(t:Number=NaN):Number{
if (isNaN(t)){
t = this._time;
};
return (this.func(t, this.begin, this.change, this._duration));
}
public function set finish(value:Number):void{
this.change = (value - this.begin);
}
public function set duration(d:Number):void{
this._duration = ((d)<=0) ? Infinity : d;
}
public function setPosition(p:Number):void{
this.prevPos = this._position;
if (this.prop.length){
this.obj[this.prop] = (this._position = p);
};
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_CHANGE, this._time, this._position));
}
public function resume():void{
this.fixTime();
this.startEnterFrame();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_RESUME, this._time, this._position));
}
public function fforward():void{
this.time = this._duration;
this.fixTime();
}
protected function onEnterFrame(event:Event):void{
this.nextFrame();
}
public function get position():Number{
return (this.getPosition(this._time));
}
public function yoyo():void{
this.continueTo(this.begin, this.time);
}
public function nextFrame():void{
if (this.useSeconds){
this.time = ((getTimer() - this._startTime) / 1000);
} else {
this.time = (this._time + 1);
};
}
protected function timerHandler(timerEvent:TimerEvent):void{
this.nextFrame();
timerEvent.updateAfterEvent();
}
public function get FPS():Number{
return (this._fps);
}
public function rewind(t:Number=0):void{
this._time = t;
this.fixTime();
this.update();
}
public function set position(p:Number):void{
this.setPosition(p);
}
public function get time():Number{
return (this._time);
}
private function update():void{
this.setPosition(this.getPosition(this._time));
}
public function start():void{
this.rewind();
this.startEnterFrame();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_START, this._time, this._position));
}
public function prevFrame():void{
if (!this.useSeconds){
this.time = (this._time - 1);
};
}
}
}//package fl.transitions
Section 57
//TweenEvent (fl.transitions.TweenEvent)
package fl.transitions {
import flash.events.*;
public class TweenEvent extends Event {
public var time:Number;// = NAN
public var position:Number;// = NAN
public static const MOTION_START:String = "motionStart";
public static const MOTION_STOP:String = "motionStop";
public static const MOTION_LOOP:String = "motionLoop";
public static const MOTION_CHANGE:String = "motionChange";
public static const MOTION_FINISH:String = "motionFinish";
public static const MOTION_RESUME:String = "motionResume";
public function TweenEvent(type:String, time:Number, position:Number, bubbles:Boolean=false, cancelable:Boolean=false){
time = NaN;
position = NaN;
super(type, bubbles, cancelable);
this.time = time;
this.position = position;
}
override public function clone():Event{
return (new TweenEvent(this.type, this.time, this.position, this.bubbles, this.cancelable));
}
}
}//package fl.transitions
Section 58
//Circ (gs.easing.Circ)
package gs.easing {
public class Circ {
public function Circ(){
super();
}
public static function easeOut(t:Number, b:Number, c:Number, d:Number):Number{
t = ((t / d) - 1);
return (((c * Math.sqrt((1 - (t * t)))) + b));
}
public static function easeIn(t:Number, b:Number, c:Number, d:Number):Number{
t = (t / d);
return (((-(c) * (Math.sqrt((1 - (t * t))) - 1)) + b));
}
public static function easeInOut(t:Number, b:Number, c:Number, d:Number):Number{
t = (t / (d / 2));
if (t < 1){
return ((((-(c) / 2) * (Math.sqrt((1 - (t * t))) - 1)) + b));
};
t = (t - 2);
return ((((c / 2) * (Math.sqrt((1 - (t * t))) + 1)) + b));
}
}
}//package gs.easing
Section 59
//MochiAd (mochi.as3.MochiAd)
package mochi.as3 {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiAd {
public function MochiAd(){
super();
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function showClickAwayAd(options:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var options = options;
var DEFAULTS:Object = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{
}, ad_finished:function ():void{
}, ad_loaded:function (width:Number, height:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.rpc = function (callbackID:Number, arg:Object):void{
MochiAd.rpc(clip, callbackID, arg);
};
chk["onEnterFrame"] = function ():void{
var total:Number;
if (!this.parent){
delete this.onEnterFrame;
return;
};
var ad_clip:Object = this.parent._mochiad_ctr;
var elapsed:Number = (getTimer() - this.started);
var finished:Boolean;
if (!chk.showing){
total = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (total > 0){
chk.showing = true;
finished = true;
chk.started = getTimer();
} else {
if (elapsed > chk.ad_timeout){
options.ad_failed();
finished = true;
};
};
};
if (this.root == null){
finished = true;
};
if (finished){
delete this.onEnterFrame;
};
};
doOnEnterFrame(chk);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function _allowDomains(server:String):String{
var hostname:String = server.split("/")[2].split(":")[0];
if (Security.sandboxType == "application"){
return (hostname);
};
Security.allowDomain("*");
Security.allowDomain(hostname);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(hostname);
return (hostname);
}
public static function unload(clip:Object):Boolean{
if (((clip.clip) && (clip.clip._mochiad))){
clip = clip.clip;
};
if (clip.origFrameRate != undefined){
clip.stage.frameRate = clip.origFrameRate;
};
if (!clip._mochiad){
return (false);
};
if (clip._mochiad._containerLCName != undefined){
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"unload"});
};
if (clip._mochiad.onUnload){
clip._mochiad.onUnload();
};
delete clip._mochiad_loaded;
delete clip._mochiad;
return (true);
}
public static function showInterLevelAd(options:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var options = options;
var DEFAULTS:Object = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (width:Number, height:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
var ad_msec:Number = 11000;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time:Number = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
var p:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (p > 0){
this.parent.alpha = (p * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (msec:Number):void{
var _chk:Object = mc._mochiad_wait;
_chk.server_control = true;
_chk.showing = true;
_chk.started = getTimer();
_chk.ad_msec = (msec - 250);
};
mc.rpc = function (callbackID:Number, arg:Object):void{
MochiAd.rpc(clip, callbackID, arg);
};
chk["onEnterFrame"] = function ():void{
var total:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
var ad_clip:Object = this.parent._mochiad_ctr;
var elapsed:Number = (getTimer() - this.started);
var finished:Boolean;
if (!chk.showing){
total = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (total > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if (elapsed > chk.ad_timeout){
options.ad_failed();
finished = true;
};
};
};
if (elapsed > chk.ad_msec){
finished = true;
};
if (finished){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _parseOptions(options:Object, defaults:Object):Object{
var k:String;
var pairs:Array;
var i:Number;
var kv:Array;
var optcopy:Object = {};
for (k in defaults) {
optcopy[k] = defaults[k];
};
if (options){
for (k in options) {
optcopy[k] = options[k];
};
};
if (optcopy.clip == undefined){
throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite."));
};
options = optcopy.clip.loaderInfo.parameters.mochiad_options;
if (options){
pairs = options.split("&");
i = 0;
while (i < pairs.length) {
kv = pairs[i].split("=");
optcopy[unescape(kv[0])] = unescape(kv[1]);
i++;
};
};
if (optcopy.id == "test"){
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
};
return (optcopy);
}
public static function _cleanup(mc:Object):void{
var k:String;
var lc:LocalConnection;
var f:Function;
var mc = mc;
if (("lc" in mc)){
lc = mc.lc;
f = function ():void{
lc.client = null;
lc.close();
//unresolved jump
var _slot1 = e;
};
setTimeout(f, 0);
};
var idx:Number = DisplayObjectContainer(mc).numChildren;
while (idx > 0) {
idx = (idx - 1);
DisplayObjectContainer(mc).removeChildAt(idx);
};
for (k in mc) {
delete mc[k];
};
}
public static function load(options:Object):MovieClip{
var clip:Object;
var mc:MovieClip;
var k:String;
var server:String;
var hostname:String;
var lc:LocalConnection;
var name:String;
var loader:Loader;
var g:Function;
var req:URLRequest;
var v:Object;
var options = options;
var DEFAULTS:Object = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
if (!(clip is DisplayObject)){
trace("Warning: Object passed as container clip not a descendant of the DisplayObject type");
return (null);
};
if (MovieClip(clip).stage == null){
trace("Warning: Container clip for ad is not attached to the stage");
return (null);
};
if (!MochiAd._isNetworkAvailable()){
return (null);
};
if (clip._mochiad_loaded){
return (null);
};
//unresolved jump
var _slot1 = e;
throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
var depth:Number = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, "_mochiad", depth);
var wh:Array = MochiAd._getRes(options, clip);
options.res = ((wh[0] + "x") + wh[1]);
options.server = (options.server + options.id);
delete options.id;
clip._mochiad_loaded = true;
if (clip.loaderInfo.loaderURL.indexOf("http") == 0){
options.as3_swf = clip.loaderInfo.loaderURL;
} else {
trace("[MochiAd] NOTE: Security Sandbox Violation errors below are normal");
};
var lv:URLVariables = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
mc.lcName = name;
lv.lc = name;
lv.st = getTimer();
mc.regContLC = function (lc_name:String):void{
mc._containerLCName = lc_name;
};
loader = new Loader();
g = function (ev:Object):void{
ev.target.removeEventListener(ev.type, arguments.callee);
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest(((server + ".swf?cacheBust=") + new Date().getTime()));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function (io:IOErrorEvent):void{
trace("[MochiAds] Blocked URL");
});
if (!options.skip){
loader.load(req);
};
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function runMethod(base:Object, methodName:String, argsArray:Array):Object{
var nameArray:Array = methodName.split(".");
var i:Number = 0;
while (i < (nameArray.length - 1)) {
if ((((base[nameArray[i]] == undefined)) || ((base[nameArray[i]] == null)))){
return (undefined);
};
base = base[nameArray[i]];
i++;
};
if (typeof(base[nameArray[i]]) == "function"){
return (base[nameArray[i]].apply(base, argsArray));
};
return (undefined);
}
public static function createEmptyMovieClip(parent:Object, name:String, depth:Number):MovieClip{
var mc:MovieClip = new MovieClip();
if (((false) && (depth))){
parent.addChildAt(mc, depth);
} else {
parent.addChild(mc);
};
parent[name] = mc;
mc["_name"] = name;
return (mc);
}
public static function _getRes(options:Object, clip:Object):Array{
var xy:Array;
var b:Object = clip.getBounds(clip.root);
var w:Number = 0;
var h:Number = 0;
if (typeof(options.res) != "undefined"){
xy = options.res.split("x");
w = parseFloat(xy[0]);
h = parseFloat(xy[1]);
} else {
w = (b.xMax - b.xMin);
h = (b.yMax - b.yMin);
};
if ((((w == 0)) || ((h == 0)))){
w = clip.stage.stageWidth;
h = clip.stage.stageHeight;
};
return ([w, h]);
}
public static function adShowing(mc:Object):void{
mc.origFrameRate = mc.stage.frameRate;
mc.stage.frameRate = 30;
}
public static function getValue(base:Object, objectName:String):Object{
var nameArray:Array = objectName.split(".");
var i:Number = 0;
while (i < (nameArray.length - 1)) {
if ((((base[nameArray[i]] == undefined)) || ((base[nameArray[i]] == null)))){
return (undefined);
};
base = base[nameArray[i]];
i++;
};
return (base[nameArray[i]]);
}
public static function rpc(clip:Object, callbackID:Number, arg:Object):void{
var _local4:Object;
var _local5:Object;
switch (arg.id){
case "setValue":
MochiAd.setValue(clip, arg.objectName, arg.value);
break;
case "getValue":
_local4 = MochiAd.getValue(clip, arg.objectName);
clip._mochiad.lc.send(clip._mochiad._containerLCName, "rpcResult", callbackID, _local4);
break;
case "runMethod":
_local5 = MochiAd.runMethod(clip, arg.method, arg.args);
clip._mochiad.lc.send(clip._mochiad._containerLCName, "rpcResult", callbackID, _local5);
break;
default:
trace(("[mochiads rpc] unknown rpc id: " + arg.id));
};
}
public static function setValue(base:Object, objectName:String, value:Object):void{
var nameArray:Array = objectName.split(".");
var i:Number = 0;
while (i < (nameArray.length - 1)) {
if ((((base[nameArray[i]] == undefined)) || ((base[nameArray[i]] == null)))){
return;
};
base = base[nameArray[i]];
i++;
};
base[nameArray[i]] = value;
}
public static function showPreGameAd(options:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var complete:Boolean;
var unloaded:Boolean;
var sendHostProgress:Boolean;
var fn:Function;
var r:MovieClip;
var options = options;
var DEFAULTS:Object = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (width:Number, height:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}, ad_progress:function (percent:Number):void{
}, progress_override:function (_clip:Object):Number{
return (NaN);
}, bar_offset:0};
options = MochiAd._parseOptions(options, DEFAULTS);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){
options.ad_started();
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
return;
};
clip = options.clip;
var ad_msec:Number = 11000;
var ad_timeout:Number = options.ad_timeout;
if (options.skip){
ad_timeout = 0;
};
delete options.ad_timeout;
var fadeout_time:Number = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
var fn:Function = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
var bar:MovieClip = createEmptyMovieClip(chk, "_mochiad_bar", 4);
if (options.no_progress_bar){
bar.visible = false;
delete options.no_progress_bar;
} else {
bar.x = (10 + options.bar_offset);
bar.y = (h - 20);
};
var bar_w:Number = ((w - bar.x) - 10);
var bar_color:Number = options.color;
delete options.color;
var bar_background:Number = options.background;
delete options.background;
var bar_outline:Number = options.outline;
delete options.outline;
var backing_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 1);
var backing:Object = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo(bar_w, 0);
backing.lineTo(bar_w, 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
var inside_mc:MovieClip = createEmptyMovieClip(bar, "_inside", 2);
var inside:Object = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo(bar_w, 0);
inside.lineTo(bar_w, 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
var outline_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 3);
var outline:Object = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo(bar_w, 0);
outline.lineTo(bar_w, 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var p:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (p > 0){
this.parent.alpha = (p * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
var progress:Number = Math.min(1, options.progress_override(clip));
var f:Function = function (ev:Event):void{
ev.target.removeEventListener(ev.type, arguments.callee);
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
if (!isNaN(progress)){
complete = (progress == 1);
} else {
if (clip.loaderInfo.bytesLoaded == clip.loaderInfo.bytesTotal){
complete = true;
} else {
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
} else {
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
};
} else {
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
};
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (msec:Number):void{
var _chk:Object = mc._mochiad_wait;
_chk.server_control = true;
_chk.showing = true;
_chk.started = getTimer();
_chk.ad_msec = msec;
};
mc.rpc = function (callbackID:Number, arg:Object):void{
MochiAd.rpc(clip, callbackID, arg);
};
mc.rpcTestFn = function (s:String):Object{
trace(("[MOCHIAD rpcTestFn] " + s));
return (s);
};
sendHostProgress = false;
mc.sendHostLoadProgress = function (lc_name:String):void{
sendHostProgress = true;
};
chk["onEnterFrame"] = function ():void{
var total:Number;
if (((!(this.parent)) || (!(this.parent.parent)))){
delete this["onEnterFrame"];
return;
};
var _clip:Object = this.parent.parent.root;
var ad_clip:Object = this.parent._mochiad_ctr;
var elapsed:Number = (getTimer() - this.started);
var finished:Boolean;
var clip_total:Number = _clip.loaderInfo.bytesTotal;
var clip_loaded:Number = _clip.loaderInfo.bytesLoaded;
var clip_progress:Number = Math.min(1, options.progress_override(_clip));
if (clip_progress == 1){
complete = true;
};
if (complete){
clip_loaded = Math.max(1, clip_loaded);
clip_total = clip_loaded;
};
var clip_pcnt:Number = ((100 * clip_loaded) / clip_total);
if (!isNaN(clip_progress)){
clip_pcnt = (100 * clip_progress);
};
var ad_pcnt:Number = ((100 * elapsed) / chk.ad_msec);
var _inside:Object = this._mochiad_bar._inside;
var pcnt:Number = Math.min(100, Math.min(((clip_pcnt) || (0)), ad_pcnt));
pcnt = Math.max(this.last_pcnt, pcnt);
this.last_pcnt = pcnt;
_inside.scaleX = (pcnt * 0.01);
options.ad_progress(pcnt);
if (sendHostProgress){
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:clip_pcnt});
if (clip_pcnt >= 100){
sendHostProgress = false;
};
};
if (!chk.showing){
total = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (total > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if ((((elapsed > chk.ad_timeout)) && ((clip_pcnt == 100)))){
options.ad_failed();
finished = true;
};
};
};
if (elapsed > chk.ad_msec){
finished = true;
};
if (((complete) && (finished))){
if (unloaded){
MochiAd.unload(_clip);
} else {
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(options:Object):void{
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
MochiAd.showPreGameAd(options);
}
public static function showTimedAd(options:Object):void{
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
MochiAd.showInterLevelAd(options);
}
public static function doOnEnterFrame(mc:MovieClip):void{
var mc = mc;
var f:Function = function (ev:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
ev.target.removeEventListener(ev.type, arguments.callee);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package mochi.as3
Section 60
//MochiCoins (mochi.as3.MochiCoins)
package mochi.as3 {
public class MochiCoins {
public static const STORE_HIDE:String = "StoreHide";
public static const NO_USER:String = "NoUser";
public static const IO_ERROR:String = "IOError";
public static const ITEM_NEW:String = "ItemNew";
public static const ITEM_OWNED:String = "ItemOwned";
public static const STORE_ITEMS:String = "StoreItems";
public static const ERROR:String = "Error";
public static const STORE_SHOW:String = "StoreShow";
public static var _inventory:MochiInventory;
public function MochiCoins(){
super();
}
public static function triggerEvent(eventType:String, args:Object):void{
MochiSocial.triggerEvent(eventType, args);
}
public static function removeEventListener(eventType:String, delegate:Function):void{
MochiSocial.removeEventListener(eventType, delegate);
}
public static function addEventListener(eventType:String, delegate:Function):void{
MochiSocial.addEventListener(eventType, delegate);
}
public static function getStoreItems():void{
MochiServices.send("coins_getStoreItems");
}
public static function get inventory():MochiInventory{
return (_inventory);
}
public static function showStore(options:Object=null):void{
MochiServices.bringToTop();
MochiServices.send("coins_showStore", {options:options}, null, null);
}
public static function showItem(options:Object=null):void{
if (((!(options)) || (!((typeof(options.item) == "string"))))){
trace("ERROR: showItem call must pass an Object with an item key");
return;
};
MochiServices.bringToTop();
MochiServices.send("coins_showItem", {options:options}, null, null);
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function showVideo(options:Object=null):void{
if (((!(options)) || (!((typeof(options.item) == "string"))))){
trace("ERROR: showVideo call must pass an Object with an item key");
return;
};
MochiServices.bringToTop();
MochiServices.send("coins_showVideo", {options:options}, null, null);
}
MochiSocial.addEventListener(MochiSocial.LOGGED_IN, function (args:Object):void{
_inventory = new MochiInventory();
});
MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, function (args:Object):void{
_inventory = null;
});
}
}//package mochi.as3
Section 61
//MochiDigits (mochi.as3.MochiDigits)
package mochi.as3 {
public final class MochiDigits {
private var Sibling:MochiDigits;
private var Fragment:Number;
private var Encoder:Number;
public function MochiDigits(digit:Number=0, index:uint=0):void{
super();
Encoder = 0;
setValue(digit, index);
}
public function reencode():void{
var newEncode:uint = int((2147483647 * Math.random()));
Fragment = (Fragment ^ (newEncode ^ Encoder));
Encoder = newEncode;
}
public function set value(v:Number):void{
setValue(v);
}
public function toString():String{
var s:String = String.fromCharCode((Fragment ^ Encoder));
if (Sibling != null){
s = (s + Sibling.toString());
};
return (s);
}
public function setValue(digit:Number=0, index:uint=0):void{
var s:String = digit.toString();
var _temp1 = index;
index = (index + 1);
Fragment = (s.charCodeAt(_temp1) ^ Encoder);
if (index < s.length){
Sibling = new MochiDigits(digit, index);
} else {
Sibling = null;
};
reencode();
}
public function get value():Number{
return (Number(this.toString()));
}
public function addValue(inc:Number):void{
value = (value + inc);
}
}
}//package mochi.as3
Section 62
//MochiEventDispatcher (mochi.as3.MochiEventDispatcher)
package mochi.as3 {
public class MochiEventDispatcher {
private var eventTable:Object;
public function MochiEventDispatcher():void{
super();
eventTable = {};
}
public function triggerEvent(event:String, args:Object):void{
var i:Object;
if (eventTable[event] == undefined){
return;
};
for (i in eventTable[event]) {
var _local6 = eventTable[event];
_local6[i](args);
};
}
public function removeEventListener(event:String, delegate:Function):void{
var s:Object;
if (eventTable[event] == undefined){
eventTable[event] = [];
return;
};
for (s in eventTable[event]) {
if (eventTable[event][s] != delegate){
} else {
eventTable[event].splice(Number(s), 1);
};
};
}
public function addEventListener(event:String, delegate:Function):void{
removeEventListener(event, delegate);
eventTable[event].push(delegate);
}
}
}//package mochi.as3
Section 63
//MochiEvents (mochi.as3.MochiEvents)
package mochi.as3 {
import flash.display.*;
public class MochiEvents {
public static const ALIGN_BOTTOM_LEFT:String = "ALIGN_BL";
public static const FORMAT_LONG:String = "LongForm";
public static const ALIGN_BOTTOM:String = "ALIGN_B";
public static const ACHIEVEMENT_RECEIVED:String = "AchievementReceived";
public static const FORMAT_SHORT:String = "ShortForm";
public static const ALIGN_TOP_RIGHT:String = "ALIGN_TR";
public static const ALIGN_BOTTOM_RIGHT:String = "ALIGN_BR";
public static const ALIGN_TOP:String = "ALIGN_T";
public static const ALIGN_LEFT:String = "ALIGN_L";
public static const ALIGN_RIGHT:String = "ALIGN_R";
public static const ALIGN_TOP_LEFT:String = "ALIGN_TL";
public static const ALIGN_CENTER:String = "ALIGN_C";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
private static var gameStart:Number;
private static var levelStart:Number;
public function MochiEvents(){
super();
}
public static function endPlay():void{
MochiServices.send("events_clearRoundID", null, null, null);
}
public static function addEventListener(eventType:String, delegate:Function):void{
_dispatcher.addEventListener(eventType, delegate);
}
public static function trackEvent(tag:String, value=null):void{
MochiServices.send("events_trackEvent", {tag:tag, value:value}, null, null);
}
public static function removeEventListener(eventType:String, delegate:Function):void{
_dispatcher.removeEventListener(eventType, delegate);
}
public static function startSession(achievementID:String):void{
MochiServices.send("events_beginSession", {achievementID:achievementID}, null, null);
}
public static function triggerEvent(eventType:String, args:Object):void{
_dispatcher.triggerEvent(eventType, args);
}
public static function setNotifications(clip:MovieClip, style:Object):void{
var s:Object;
var args:Object = {};
for (s in style) {
args[s] = style[s];
};
args.clip = clip;
MochiServices.send("events_setNotifications", args, null, null);
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function startPlay(tag:String="gameplay"):void{
MochiServices.send("events_setRoundID", {tag:String(tag)}, null, null);
}
}
}//package mochi.as3
Section 64
//MochiInventory (mochi.as3.MochiInventory)
package mochi.as3 {
import flash.events.*;
import flash.utils.*;
public dynamic class MochiInventory extends Proxy {
private var _timer:Timer;
private var _names:Array;
private var _syncID:Number;
private var _consumableProperties:Object;
private var _storeSync:Object;
private var _outstandingID:Number;
private var _syncPending:Boolean;
public static const READY:String = "InvReady";
public static const ERROR:String = "Error";
public static const IO_ERROR:String = "IoError";
private static const KEY_SALT:String = " syncMaint";
public static const WRITTEN:String = "InvWritten";
public static const NOT_READY:String = "InvNotReady";
public static const VALUE_ERROR:String = "InvValueError";
private static const CONSUMER_KEY:String = "MochiConsumables";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public function MochiInventory():void{
super();
MochiCoins.addEventListener(MochiCoins.ITEM_OWNED, itemOwned);
MochiCoins.addEventListener(MochiCoins.ITEM_NEW, newItems);
MochiSocial.addEventListener(MochiSocial.LOGGED_IN, loggedIn);
MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, loggedOut);
_storeSync = new Object();
_syncPending = false;
_outstandingID = 0;
_syncID = 0;
_timer = new Timer(1000);
_timer.addEventListener(TimerEvent.TIMER, sync);
_timer.start();
if (MochiSocial.loggedIn){
loggedIn();
} else {
loggedOut();
};
}
private function newItems(event:Object):void{
if (!this[(event.id + KEY_SALT)]){
this[(event.id + KEY_SALT)] = 0;
};
if (!this[event.id]){
this[event.id] = 0;
};
this[(event.id + KEY_SALT)] = (this[(event.id + KEY_SALT)] + event.count);
this[event.id] = (this[event.id] + event.count);
if (event.privateProperties.consumable){
if (!this[event.privateProperties.tag]){
this[event.privateProperties.tag] = 0;
};
this[event.privateProperties.tag] = (this[event.privateProperties.tag] + (event.privateProperties.inc * event.count));
};
}
public function release():void{
MochiCoins.removeEventListener(MochiCoins.ITEM_NEW, newItems);
MochiSocial.removeEventListener(MochiSocial.LOGGED_IN, loggedIn);
MochiSocial.removeEventListener(MochiSocial.LOGGED_OUT, loggedOut);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(name){
if (_consumableProperties == null){
triggerEvent(ERROR, {type:NOT_READY});
return (-1);
};
if (_consumableProperties[name]){
return (MochiDigits(_consumableProperties[name]).value);
};
return (undefined);
}
private function loggedIn(args:Object=null):void{
MochiUserData.get(CONSUMER_KEY, getConsumableBag);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function hasProperty(name):Boolean{
if (_consumableProperties == null){
triggerEvent(ERROR, {type:NOT_READY});
return (false);
};
if (_consumableProperties[name] == undefined){
return (false);
};
return (true);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(index:int):int{
return (((index)>=_names.length) ? 0 : (index + 1));
}
private function putConsumableBag(userData:MochiUserData):void{
_syncPending = false;
if (userData.error){
triggerEvent(ERROR, {type:IO_ERROR, error:userData.error});
_outstandingID = -1;
};
triggerEvent(WRITTEN, {});
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(name, value):void{
var d:MochiDigits;
if (_consumableProperties == null){
triggerEvent(ERROR, {type:NOT_READY});
return;
};
if (!(value is Number)){
triggerEvent(ERROR, {type:VALUE_ERROR, error:"Invalid type", arg:value});
return;
};
if (_consumableProperties[name]){
d = MochiDigits(_consumableProperties[name]);
if (d.value == value){
return;
};
d.value = value;
} else {
_names.push(name);
_consumableProperties[name] = new MochiDigits(value);
};
_syncID++;
}
private function itemOwned(event:Object):void{
_storeSync[event.id] = {properties:event.properties, count:event.count};
}
private function sync(e:Event=null):void{
var key:String;
if (((_syncPending) || ((_syncID == _outstandingID)))){
return;
};
_outstandingID = _syncID;
var output:Object = {};
for (key in _consumableProperties) {
output[key] = MochiDigits(_consumableProperties[key]).value;
};
MochiUserData.put(CONSUMER_KEY, output, putConsumableBag);
_syncPending = true;
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(index:int):String{
return (_names[(index - 1)]);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function deleteProperty(name):Boolean{
if (!_consumableProperties[name]){
return (false);
};
_names.splice(_names.indexOf(name), 1);
delete _consumableProperties[name];
return (true);
}
private function getConsumableBag(userData:MochiUserData):void{
var key:String;
var unsynced:Number;
if (userData.error){
triggerEvent(ERROR, {type:IO_ERROR, error:userData.error});
return;
};
_consumableProperties = {};
_names = new Array();
if (userData.data){
for (key in userData.data) {
_names.push(key);
_consumableProperties[key] = new MochiDigits(userData.data[key]);
};
};
for (key in _storeSync) {
unsynced = _storeSync[key].count;
if (_consumableProperties[(key + KEY_SALT)]){
unsynced = (unsynced - _consumableProperties[key]);
};
if (unsynced == 0){
} else {
newItems({id:key, count:unsynced, properties:_storeSync[key].properties});
};
};
triggerEvent(READY, {});
}
private function loggedOut(args:Object=null):void{
_consumableProperties = null;
}
public static function triggerEvent(eventType:String, args:Object):void{
_dispatcher.triggerEvent(eventType, args);
}
public static function removeEventListener(eventType:String, delegate:Function):void{
_dispatcher.removeEventListener(eventType, delegate);
}
public static function addEventListener(eventType:String, delegate:Function):void{
_dispatcher.addEventListener(eventType, delegate);
}
}
}//package mochi.as3
Section 65
//MochiScores (mochi.as3.MochiScores)
package mochi.as3 {
import flash.display.*;
import flash.text.*;
public class MochiScores {
private static var boardID:String;
public static var onErrorHandler:Object;
public static var onCloseHandler:Object;
public function MochiScores(){
super();
}
public static function showLeaderboard(options:Object=null):void{
var n:Number;
var options = options;
if (options != null){
delete options.clip;
MochiServices.setContainer();
MochiServices.bringToTop();
if (options.name != null){
if ((options.name is TextField)){
if (options.name.text.length > 0){
options.name = options.name.text;
};
};
};
if (options.score != null){
if ((options.score is TextField)){
if (options.score.text.length > 0){
options.score = options.score.text;
};
} else {
if ((options.score is MochiDigits)){
options.score = options.score.value;
};
};
n = Number(options.score);
if (isNaN(n)){
trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is 'Not a Number'"));
} else {
if ((((n == Number.NEGATIVE_INFINITY)) || ((n == Number.POSITIVE_INFINITY)))){
trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is an infinite"));
} else {
if (Math.floor(n) != n){
trace((("WARNING: Submitted score '" + options.score) + "' will be truncated"));
};
options.score = n;
};
};
};
if (options.onDisplay != null){
options.onDisplay();
} else {
if (MochiServices.clip != null){
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
};
} else {
options = {};
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
if (options.onClose != null){
onCloseHandler = options.onClose;
} else {
onCloseHandler = function ():void{
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.play();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onClose.");
};
};
};
if (options.onError != null){
onErrorHandler = options.onError;
} else {
onErrorHandler = null;
};
if (options.boardID == null){
if (MochiScores.boardID != null){
options.boardID = MochiScores.boardID;
};
};
MochiServices.warnID(options.boardID, true);
trace("[MochiScores] NOTE: Security Sandbox Violation errors below are normal");
MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose);
}
public static function closeLeaderboard():void{
MochiServices.send("scores_closeLeaderboard");
}
public static function getPlayerInfo(callbackObj:Object, callbackMethod:Object=null):void{
MochiServices.send("scores_getPlayerInfo", null, callbackObj, callbackMethod);
}
public static function requestList(callbackObj:Object, callbackMethod:Object=null):void{
MochiServices.send("scores_requestList", null, callbackObj, callbackMethod);
}
public static function scoresArrayToObjects(scores:Object):Object{
var i:Number;
var j:Number;
var o:Object;
var row_obj:Object;
var item:String;
var param:String;
var so:Object = {};
for (item in scores) {
if (typeof(scores[item]) == "object"){
if (((!((scores[item].cols == null))) && (!((scores[item].rows == null))))){
so[item] = [];
o = scores[item];
j = 0;
while (j < o.rows.length) {
row_obj = {};
i = 0;
while (i < o.cols.length) {
row_obj[o.cols[i]] = o.rows[j][i];
i++;
};
so[item].push(row_obj);
j++;
};
} else {
so[item] = {};
for (param in scores[item]) {
so[item][param] = scores[item][param];
};
};
} else {
so[item] = scores[item];
};
};
return (so);
}
public static function submit(score:Number, name:String, callbackObj:Object=null, callbackMethod:Object=null):void{
score = Number(score);
if (isNaN(score)){
trace((("ERROR: Submitted score '" + String(score)) + "' will be rejected, score is 'Not a Number'"));
} else {
if ((((score == Number.NEGATIVE_INFINITY)) || ((score == Number.POSITIVE_INFINITY)))){
trace((("ERROR: Submitted score '" + String(score)) + "' will be rejected, score is an infinite"));
} else {
if (Math.floor(score) != score){
trace((("WARNING: Submitted score '" + String(score)) + "' will be truncated"));
};
score = Number(score);
};
};
MochiServices.send("scores_submit", {score:score, name:name}, callbackObj, callbackMethod);
}
public static function onClose(args:Object=null):void{
if (((((args) && ((args.error == true)))) && (onErrorHandler))){
if (args.errorCode == null){
args.errorCode = "IOError";
};
onErrorHandler(args.errorCode);
MochiServices.doClose();
return;
};
onCloseHandler();
MochiServices.doClose();
}
public static function setBoardID(boardID:String):void{
MochiServices.warnID(boardID, true);
MochiScores.boardID = boardID;
MochiServices.send("scores_setBoardID", {boardID:boardID});
}
}
}//package mochi.as3
Section 66
//MochiServices (mochi.as3.MochiServices)
package mochi.as3 {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiServices {
private static var _container:Object;
private static var _connected:Boolean = false;
private static var _queue:Array;
private static var _swfVersion:String;
private static var _preserved:Object;
public static var netupAttempted:Boolean = false;
private static var _sendChannel:LocalConnection;
public static var servicesSync:MochiSync = new MochiSync();
private static var _nextCallbackID:Number;
private static var _clip:MovieClip;
private static var _id:String;
private static var _services:String = "services.swf";
private static var _servURL:String = "http://www.mochiads.com/static/lib/services/";
public static var widget:Boolean = false;
private static var _timer:Timer;
private static var _sendChannelName:String;
private static var _loader:Loader;
private static var _callbacks:Object;
private static var _connecting:Boolean = false;
private static var _mochiLocalConnection:MovieClip;
private static var _listenChannelName:String = "__ms_";
public static var onError:Object;
public static var netup:Boolean = true;
private static var _mochiLC:String = "MochiLC.swf";
public function MochiServices(){
super();
}
public static function isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function get connected():Boolean{
return (_connected);
}
private static function onReceive(pkg:Object):void{
var methodName:String;
var pkg = pkg;
var cb:String = pkg.callbackID;
var cblst:Object = _callbacks[cb];
if (!cblst){
return;
};
var method:* = cblst.callbackMethod;
methodName = "";
var obj:Object = cblst.callbackObject;
if (((obj) && ((typeof(method) == "string")))){
methodName = method;
if (obj[method] != null){
method = obj[method];
} else {
trace((("Error: Method " + method) + " does not exist."));
};
};
if (method != undefined){
method.apply(obj, pkg.args);
//unresolved jump
var _slot1 = error;
trace(((("Error invoking callback method '" + methodName) + "': ") + _slot1.toString()));
} else {
if (obj != null){
obj(pkg.args);
//unresolved jump
var _slot1 = error;
trace(("Error invoking method on object: " + _slot1.toString()));
};
};
delete _callbacks[cb];
}
public static function send(methodName:String, args:Object=null, callbackObject:Object=null, callbackMethod:Object=null):void{
if (_connected){
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:methodName, args:args, callbackID:_nextCallbackID});
} else {
if ((((_clip == null)) || (!(_connecting)))){
trace(("Error: MochiServices not connected. Please call MochiServices.connect(). Function: " + methodName));
handleError(args, callbackObject, callbackMethod);
flush(true);
return;
};
_queue.push({methodName:methodName, args:args, callbackID:_nextCallbackID});
};
if (_clip != null){
if (_callbacks != null){
_callbacks[_nextCallbackID] = {callbackObject:callbackObject, callbackMethod:callbackMethod};
_nextCallbackID++;
};
};
}
private static function init(id:String, clip:Object):void{
_id = id;
if (clip != null){
_container = clip;
loadCommunicator(id, _container);
};
}
public static function get childClip():Object{
return (_clip);
}
private static function clickMovie(url:String, cb:Function):MovieClip{
var b:int;
var loader:Loader;
var avm1_bytecode:Array = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23];
var header:Array = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3];
var footer:Array = [0, 64, 0, 0, 0];
var mc:MovieClip = new MovieClip();
var lc:LocalConnection = new LocalConnection();
var lc_name:String = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().time));
lc = new LocalConnection();
mc.lc = lc;
mc.click = cb;
lc.client = mc;
lc.connect(lc_name);
var ba:ByteArray = new ByteArray();
var cpool:ByteArray = new ByteArray();
cpool.endian = Endian.LITTLE_ENDIAN;
cpool.writeShort(1);
cpool.writeUTFBytes(((url + " ") + lc_name));
cpool.writeByte(0);
var actionLength:uint = ((avm1_bytecode.length + cpool.length) + 4);
var fileLength:uint = (actionLength + 35);
ba.endian = Endian.LITTLE_ENDIAN;
ba.writeUTFBytes("FWS");
ba.writeByte(8);
ba.writeUnsignedInt(fileLength);
for each (b in header) {
ba.writeByte(b);
};
ba.writeUnsignedInt(actionLength);
ba.writeByte(136);
ba.writeShort(cpool.length);
ba.writeBytes(cpool);
for each (b in avm1_bytecode) {
ba.writeByte(b);
};
for each (b in footer) {
ba.writeByte(b);
};
loader = new Loader();
loader.loadBytes(ba);
mc.addChild(loader);
return (mc);
}
public static function stayOnTop():void{
_container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true);
if (_clip != null){
_clip.visible = true;
};
}
public static function addLinkEvent(url:String, burl:String, btn:DisplayObjectContainer, onClick:Function=null):void{
var avm1Click:DisplayObject;
var x:String;
var req:URLRequest;
var loader:Loader;
var setURL:Function;
var err:Function;
var complete:Function;
var url = url;
var burl = burl;
var btn = btn;
var onClick = onClick;
var vars:Object = new Object();
vars["mav"] = getVersion();
vars["swfv"] = "9";
vars["swfurl"] = btn.loaderInfo.loaderURL;
vars["fv"] = Capabilities.version;
vars["os"] = Capabilities.os;
vars["lang"] = Capabilities.language;
vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY);
var s = "?";
var i:Number = 0;
for (x in vars) {
if (i != 0){
s = (s + "&");
};
i = (i + 1);
s = (((s + x) + "=") + escape(vars[x]));
};
req = new URLRequest("http://x.mochiads.com/linkping.swf");
loader = new Loader();
setURL = function (url:String):void{
if (avm1Click){
btn.removeChild(avm1Click);
};
avm1Click = clickMovie(url, onClick);
var rect:Rectangle = btn.getBounds(btn);
btn.addChild(avm1Click);
avm1Click.x = rect.x;
avm1Click.y = rect.y;
avm1Click.scaleX = (0.01 * rect.width);
avm1Click.scaleY = (0.01 * rect.height);
};
err = function (ev:Object):void{
netup = false;
ev.target.removeEventListener(ev.type, arguments.callee);
setURL(burl);
};
complete = function (ev:Object):void{
ev.target.removeEventListener(ev.type, arguments.callee);
};
if (netup){
setURL((url + s));
} else {
setURL(burl);
};
if (!((netupAttempted) || (_connected))){
netupAttempted = true;
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
loader.load(req);
};
}
public static function disconnect():void{
if (((_connected) || (_connecting))){
if (_clip != null){
if (_clip.parent != null){
if ((_clip.parent is Sprite)){
Sprite(_clip.parent).removeChild(_clip);
_clip = null;
};
};
};
_connecting = (_connected = false);
flush(true);
_mochiLocalConnection.close();
//unresolved jump
var _slot1 = error;
};
if (_timer != null){
_timer.stop();
//unresolved jump
var _slot1 = error;
};
}
public static function allowDomains(server:String):String{
var hostname:String;
if (Security.sandboxType != "application"){
Security.allowDomain("*");
Security.allowInsecureDomain("*");
};
if (server.indexOf("http://") != -1){
hostname = server.split("/")[2].split(":")[0];
if (Security.sandboxType != "application"){
Security.allowDomain(hostname);
Security.allowInsecureDomain(hostname);
};
};
return (hostname);
}
public static function getVersion():String{
return ("3.8 as3");
}
public static function doClose():void{
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
}
public static function warnID(bid:String, leaderboard:Boolean):void{
bid = bid.toLowerCase();
if (bid.length != 16){
trace((("WARNING: " + (leaderboard) ? "board" : "game") + " ID is not the appropriate length"));
return;
} else {
if (bid == "1e113c7239048b3f"){
if (leaderboard){
trace("WARNING: Using testing board ID");
} else {
trace("WARNING: Using testing board ID as game ID");
};
return;
} else {
if (bid == "84993a1de4031cd8"){
if (leaderboard){
trace("WARNING: Using testing game ID as board ID");
} else {
trace("WARNING: Using testing game ID");
};
return;
};
};
};
var i:Number = 0;
while (i < bid.length) {
switch (bid.charAt(i)){
case "0":
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
case "a":
case "b":
case "c":
case "d":
case "e":
case "f":
break;
default:
trace(("WARNING: Board ID contains illegal characters: " + bid));
return;
};
i++;
};
}
private static function flush(error:Boolean):void{
var request:Object;
var callback:Object;
if (((_clip) && (_queue))){
while (_queue.length > 0) {
request = _queue.shift();
callback = null;
if (request != null){
if (request.callbackID != null){
callback = _callbacks[request.callbackID];
};
delete _callbacks[request.callbackID];
if (((error) && (!((callback == null))))){
handleError(request.args, callback.callbackObject, callback.callbackMethod);
};
};
};
};
}
public static function get id():String{
return (_id);
}
private static function onEvent(pkg:Object):void{
var target:String = pkg.target;
var event:String = pkg.event;
switch (target){
case "events":
MochiEvents.triggerEvent(pkg.event, pkg.args);
break;
case "coins":
MochiCoins.triggerEvent(pkg.event, pkg.args);
break;
case "sync":
servicesSync.triggerEvent(pkg.event, pkg.args);
break;
};
}
private static function urlOptions(clip:Object):Object{
var options:String;
var pairs:Array;
var i:Number;
var kv:Array;
var opts:Object = {};
if (clip.stage){
options = clip.stage.loaderInfo.parameters.mochiad_options;
} else {
options = clip.loaderInfo.parameters.mochiad_options;
};
if (options){
pairs = options.split("&");
i = 0;
while (i < pairs.length) {
kv = pairs[i].split("=");
opts[unescape(kv[0])] = unescape(kv[1]);
i++;
};
};
return (opts);
}
public static function setContainer(container:Object=null, doAdd:Boolean=true):void{
if (_clip.parent){
_clip.parent.removeChild(_clip);
};
if (container != null){
if ((container is DisplayObjectContainer)){
_container = container;
};
};
if (doAdd){
if ((_container is DisplayObjectContainer)){
DisplayObjectContainer(_container).addChild(_clip);
};
};
}
private static function handleError(args:Object, callbackObject:Object, callbackMethod:Object):void{
var args = args;
var callbackObject = callbackObject;
var callbackMethod = callbackMethod;
if (args != null){
if (args.onError != null){
args.onError.apply(null, ["NotConnected"]);
};
if (((!((args.options == null))) && (!((args.options.onError == null))))){
args.options.onError.apply(null, ["NotConnected"]);
};
};
if (callbackMethod != null){
args = {};
args.error = true;
args.errorCode = "NotConnected";
if (((!((callbackObject == null))) && ((callbackMethod is String)))){
var _local5 = callbackObject;
_local5[callbackMethod](args);
//unresolved jump
var _slot1 = error;
} else {
if (callbackMethod != null){
callbackMethod.apply(args);
//unresolved jump
var _slot1 = error;
};
};
};
}
private static function loadError(ev:Object):void{
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
}
private static function initComChannels():void{
if (!_connected){
trace("[SERVICES_API] connected!");
_connecting = false;
_connected = true;
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"registerGame", preserved:_preserved, id:_id, version:getVersion(), parentURL:_container.loaderInfo.loaderURL});
_clip.onReceive = onReceive;
_clip.onEvent = onEvent;
_clip.onError = function ():void{
MochiServices.onError("IOError");
};
while (_queue.length > 0) {
_mochiLocalConnection.send(_sendChannelName, "onReceive", _queue.shift());
};
};
}
private static function loadLCBridge(clip:Object):void{
var loader:Loader;
var clip = clip;
loader = new Loader();
var mochiLCURL:String = (_servURL + _mochiLC);
var req:URLRequest = new URLRequest(mochiLCURL);
var complete:Function = function (ev:Object):void{
_mochiLocalConnection = MovieClip(loader.content);
listen();
};
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
loader.load(req);
clip.addChild(loader);
}
private static function listen():void{
_mochiLocalConnection.connect(_listenChannelName);
_clip.handshake = function (args:Object):void{
MochiServices.comChannelName = args.newChannel;
};
trace("Waiting for MochiAds services to connect...");
}
public static function get clip():Object{
return (_container);
}
public static function set comChannelName(val:String):void{
if (val != null){
if (val.length > 3){
_sendChannelName = (val + "_fromgame");
initComChannels();
};
};
}
private static function loadCommunicator(id:String, clip:Object):MovieClip{
if (_clip != null){
return (_clip);
};
if (!MochiServices.isNetworkAvailable()){
return (null);
};
if (urlOptions(clip).servURL){
_servURL = urlOptions(clip).servURL;
};
var servicesURL:String = (_servURL + _services);
if (urlOptions(clip).servicesURL){
servicesURL = urlOptions(clip).servicesURL;
};
_listenChannelName = (_listenChannelName + ((Math.floor(new Date().time) + "_") + Math.floor((Math.random() * 99999))));
MochiServices.allowDomains(servicesURL);
_clip = new MovieClip();
loadLCBridge(_clip);
_loader = new Loader();
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
var req:URLRequest = new URLRequest(servicesURL);
var vars:URLVariables = new URLVariables();
vars.listenLC = _listenChannelName;
vars.mochiad_options = clip.loaderInfo.parameters.mochiad_options;
vars.api_version = getVersion();
if (widget){
vars.widget = true;
};
req.data = vars;
_loader.load(req);
_clip.addChild(_loader);
_sendChannel = new LocalConnection();
_queue = [];
_nextCallbackID = 0;
_callbacks = {};
_timer = new Timer(10000, 1);
_timer.addEventListener(TimerEvent.TIMER, connectWait);
_timer.start();
return (_clip);
}
public static function connect(id:String, clip:Object, onError:Object=null):void{
var id = id;
var clip = clip;
var onError = onError;
warnID(id, false);
if ((clip is DisplayObject)){
if (clip.stage == null){
trace("MochiServices connect requires the containing clip be attached to the stage");
};
if (((!(_connected)) && ((_clip == null)))){
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
};
} else {
trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage.");
};
if (onError != null){
MochiServices.onError = onError;
} else {
if (MochiServices.onError == null){
MochiServices.onError = function (errorCode:String):void{
trace(errorCode);
};
};
};
}
public static function updateCopy(args:Object):void{
MochiServices.send("coins_updateCopy", args, null, null);
}
public static function bringToTop(e:Event=null):void{
var e = e;
if (((!((MochiServices.clip == null))) && (!((MochiServices.childClip == null))))){
if (MochiServices.clip.numChildren > 1){
MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1));
};
//unresolved jump
var _slot1 = errorObject;
trace("Warning: Depth sort error.");
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
};
}
public static function connectWait(e:TimerEvent):void{
if (!_connected){
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load. (timeout)");
MochiServices.disconnect();
MochiServices.onError("IOError");
};
}
}
}//package mochi.as3
Section 67
//MochiSocial (mochi.as3.MochiSocial)
package mochi.as3 {
public class MochiSocial {
public static const LOGGED_IN:String = "LoggedIn";
public static const PROFILE_HIDE:String = "ProfileHide";
public static const NO_USER:String = "NoUser";
public static const PROPERTIES_SIZE:String = "PropertiesSize";
public static const IO_ERROR:String = "IOError";
public static const PROPERTIES_SAVED:String = "PropertySaved";
public static const WIDGET_LOADED:String = "WidgetLoaded";
public static const USER_INFO:String = "UserInfo";
public static const ERROR:String = "Error";
public static const LOGIN_SHOW:String = "LoginShow";
public static const LOGGED_OUT:String = "LoggedOut";
public static const PROFILE_SHOW:String = "ProfileShow";
public static const LOGIN_SHOWN:String = "LoginShown";
public static const LOGIN_HIDE:String = "LoginHide";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public static var _user_info:Object = null;
public function MochiSocial(){
super();
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function saveUserProperties(properties:Object):void{
MochiServices.send("coins_saveUserProperties", properties);
}
public static function get loggedIn():Boolean{
return (!((_user_info == null)));
}
public static function triggerEvent(eventType:String, args:Object):void{
_dispatcher.triggerEvent(eventType, args);
}
public static function addEventListener(eventType:String, delegate:Function):void{
_dispatcher.addEventListener(eventType, delegate);
}
public static function getUserInfo():void{
MochiServices.send("coins_getUserInfo");
}
public static function showLoginWidget(options:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("coins_showLoginWidget", {options:options});
}
public static function removeEventListener(eventType:String, delegate:Function):void{
_dispatcher.removeEventListener(eventType, delegate);
}
public static function requestLogin():void{
MochiServices.send("coins_requestLogin");
}
public static function getAPIURL():String{
if (!_user_info){
return (null);
};
return (_user_info.api_url);
}
public static function hideLoginWidget():void{
MochiServices.send("coins_hideLoginWidget");
}
public static function getAPIToken():String{
if (!_user_info){
return (null);
};
return (_user_info.api_token);
}
MochiSocial.addEventListener(MochiSocial.LOGGED_IN, function (args:Object):void{
_user_info = args;
});
MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, function (args:Object):void{
_user_info = null;
});
}
}//package mochi.as3
Section 68
//MochiSync (mochi.as3.MochiSync)
package mochi.as3 {
import flash.utils.*;
public dynamic class MochiSync extends Proxy {
private var _syncContainer:Object;
public static var SYNC_PROPERTY:String = "UpdateProperty";
public static var SYNC_REQUEST:String = "SyncRequest";
public function MochiSync():void{
super();
_syncContainer = {};
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(name, value):void{
if (_syncContainer[name] == value){
return;
};
var n:String = name.toString();
_syncContainer[n] = value;
MochiServices.send("sync_propUpdate", {name:n, value:value});
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(name){
return (_syncContainer[name]);
}
public function triggerEvent(eventType:String, args:Object):void{
switch (eventType){
case SYNC_REQUEST:
MochiServices.send("sync_syncronize", _syncContainer);
break;
case SYNC_PROPERTY:
_syncContainer[args.name] = args.value;
break;
};
}
}
}//package mochi.as3
Section 69
//MochiUserData (mochi.as3.MochiUserData)
package mochi.as3 {
import flash.events.*;
import flash.utils.*;
import flash.net.*;
public class MochiUserData extends EventDispatcher {
public var callback:Function;// = null
public var operation:String;// = null
public var error:Event;// = null
public var data;// = null
public var _loader:URLLoader;
public var key:String;// = null
public function MochiUserData(key:String="", callback:Function=null){
super();
this.key = key;
this.callback = callback;
}
public function serialize(obj):ByteArray{
var arr:ByteArray = new ByteArray();
arr.objectEncoding = ObjectEncoding.AMF3;
arr.writeObject(obj);
arr.compress();
return (arr);
}
public function errorHandler(event:IOErrorEvent):void{
data = null;
error = event;
if (callback != null){
performCallback();
} else {
dispatchEvent(event);
};
close();
}
public function putEvent(obj):void{
request("put", serialize(obj));
}
public function deserialize(arr:ByteArray){
arr.objectEncoding = ObjectEncoding.AMF3;
arr.uncompress();
return (arr.readObject());
}
public function securityErrorHandler(event:SecurityErrorEvent):void{
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + event.toString())));
}
public function getEvent():void{
request("get", serialize(null));
}
override public function toString():String{
return ((((((((("[MochiUserData operation=" + operation) + " key=\"") + key) + "\" data=") + data) + " error=\"") + error) + "\"]"));
}
public function performCallback():void{
callback(this);
//unresolved jump
var _slot1 = e;
trace(("[MochiUserData] exception during callback: " + _slot1));
}
public function request(_operation:String, _data:ByteArray):void{
var _operation = _operation;
var _data = _data;
operation = _operation;
var api_url:String = MochiSocial.getAPIURL();
var api_token:String = MochiSocial.getAPIToken();
if ((((api_url == null)) || ((api_token == null)))){
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, "not logged in"));
return;
};
_loader = new URLLoader();
var args:URLVariables = new URLVariables();
args.op = _operation;
args.key = key;
var req:URLRequest = new URLRequest((((MochiSocial.getAPIURL() + "/") + "MochiUserData?") + args.toString()));
req.method = URLRequestMethod.POST;
req.contentType = "application/x-mochi-userdata";
req.requestHeaders = [new URLRequestHeader("x-mochi-services-version", MochiServices.getVersion()), new URLRequestHeader("x-mochi-api-token", api_token)];
req.data = _data;
_loader.dataFormat = URLLoaderDataFormat.BINARY;
_loader.addEventListener(Event.COMPLETE, completeHandler);
_loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
_loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
_loader.load(req);
//unresolved jump
var _slot1 = e;
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + _slot1.toString())));
}
public function completeHandler(event:Event):void{
var event = event;
if (_loader.data.length){
data = deserialize(_loader.data);
} else {
data = null;
};
//unresolved jump
var _slot1 = e;
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("deserialize error: " + _slot1.toString())));
return;
if (callback != null){
performCallback();
} else {
dispatchEvent(event);
};
close();
}
public function close():void{
if (_loader){
_loader.removeEventListener(Event.COMPLETE, completeHandler);
_loader.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler);
_loader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
_loader.close();
_loader = null;
};
error = null;
callback = null;
}
public static function get(key:String, callback:Function):void{
var userData:MochiUserData = new MochiUserData(key, callback);
userData.getEvent();
}
public static function put(key:String, obj, callback:Function):void{
var userData:MochiUserData = new MochiUserData(key, callback);
userData.putEvent(obj);
}
}
}//package mochi.as3
Section 70
//BOX1 (BOX1)
package {
import flash.events.*;
import flash.display.*;
import com.event.*;
import com.Tween.*;
import flash.geom.*;
import mochi.as3.*;
import flash.utils.*;
import BOX.*;
import flash.media.*;
import BOX.BOX1.*;
import DUO.*;
import com.util.*;
import fish.fish12.*;
public class BOX1 extends MovieClip {
public var manOldY:Number;
public var musicbool:Boolean;
public var Suger:MovieClip;
public var sndcn:SoundChannel;
public var timenum:uint;
public var ID:uint;
public var MI:int;
public var knifeNum:int;
public var spd:int;
public var UI:MovieClip;
public var mindjoltAPI;
public var Build:MovieClip;
public var playerscore:uint;// = 1
public var man:BOX1_man;
public var kongregate;
public var sndbg:Sound;
public var id1:uint;
public var BoxStart:BOXStart;
public var id3:uint;
public var id4:uint;
public var id5:uint;
public var id2:uint;
public function BOX1(){
super();
var _mochiads_game_id:String = "6717d999ccc85997";
completedAds();
}
public function blood():void{
}
public function init():void{
Suger.addEventListener("gameover", gameover);
UI.game_mc.man.addEventListener("moveleftright", moveleftright);
UI.addEventListener("startgame", startgame);
}
public function gametimeover():void{
Key.clearKeys();
man.dead();
clearTimeout(ID);
clearTimeout(id1);
clearTimeout(id2);
clearTimeout(id3);
clearTimeout(id4);
clearTimeout(id5);
BoxStart.stopthisgamemusic();
}
public function restart(e:Event):void{
if (UI.panel_mc.alpha == 1){
startgame();
};
}
public function initvar():void{
knifeNum = 0;
timenum = 500;
MI = 0;
spd = 6;
}
public function showpanel():void{
showscorelist();
UI.panel_mc.visible = true;
UI.panel_mc.alpha = 0;
TweenLite.to(UI.panel_mc, 1, {alpha:1});
}
public function initad(adid, mc):void{
var adid = adid;
var mc = mc;
MochiAd.showPreGameAd({clip:mc, id:adid, res:"640x480", ad_finished:function ():void{
trace("-------------*************");
UI.panel_mc.visible = true;
}});
}
public function makebuild():void{
var b:UI_BOX1_build;
var i:uint;
while (i < 5) {
i++;
b = new UI_BOX1_build();
b.cacheAsBitmap = true;
b.gotoAndStop(int(((Math.random() * b.totalFrames) + 1)));
b.x = (Math.random() * 640);
Build.addChild(b);
};
}
public function moveleftright(e:EK):void{
spd = e.EO._spd;
Build.x = (Build.x - (spd / 10));
UI.game_mc.hill.x = (UI.game_mc.hill.x - (spd / 20));
}
public function gameover(e:EK):void{
if (man.deadbool){
return;
};
var bd:* = new BOXDead();
bd.dobmp(UI.game_mc, man.man);
man.dead();
new Blood(UI.game_mc, (e.EO._r + 180), e.EO._x, e.EO._y);
new Blood(UI.game_mc, (e.EO._r + (Math.random() * 360)), e.EO._x, e.EO._y);
new Blood(UI.game_mc, (e.EO._r + (Math.random() * 360)), e.EO._x, e.EO._y);
new Blood(UI.game_mc, (e.EO._r + (Math.random() * 360)), e.EO._x, e.EO._y);
new Blood(UI.game_mc, (e.EO._r + (Math.random() * 360)), e.EO._x, e.EO._y);
initvar();
clearTimeout(ID);
var bei:* = 3;
var manx:* = man.man.x;
Lens.Scale(UI.game_mc, new Point(man.man.x, man.man.y), 3, 0.2);
BoxStart.playknifesound();
id1 = setTimeout(goon, 1000);
id2 = setTimeout(stopmove, 50);
}
public function goon():void{
var arrow:*;
var i:uint;
while (i < Suger.numChildren) {
arrow = Suger.getChildAt(i);
if ((arrow is BOX1_suger)){
arrow.goonmove();
};
i++;
};
id3 = setTimeout(showpanel, 1000);
}
public function showscorelist():void{
var o:Object;
var boardID:String;
this.parent.dispatchEvent(new Event("thisgameover"));
trace("---------------------thisgameover-------1");
}
public function startgame(e:Event=null):void{
var e = e;
this.parent.dispatchEvent(new Event("thisgamestart"));
knifeNum = 0;
UI.panel_mc.visible = false;
UI.game_mc.visible = true;
if (!man){
man = new BOX1_man(UI.game_mc.man);
UI.game_mc.man.addEventListener("restart", restart);
} else {
man.live();
man.man.visible = true;
man.man.gotoAndStop(1);
};
UI.game_mc.man.y = manOldY;
Lens.Scale(UI.game_mc, new Point(man.man.x, man.man.y), 4, 0.1);
id4 = setTimeout(function (){
Lens.Recover(UI.game_mc, 3);
}, 100);
id5 = setTimeout(function (){
makearrow();
}, 3000);
}
public function initbuild():void{
Build = UI.game_mc.Build;
Suger = UI.game_mc.Suger;
makebuild();
}
public function stopmove():void{
var arrow:*;
var i:uint;
while (i < Suger.numChildren) {
arrow = Suger.getChildAt(i);
if ((arrow is BOX1_suger)){
arrow.stopmove();
};
i++;
};
}
public function completedAds(e:Event=null):void{
trace("广告完,开始游戏1");
musicbool = true;
initvar();
UI = new UI_BOX1();
UI.panel_mc.moregame.visible = true;
manOldY = UI.game_mc.man.y;
UI.musicbtn.buttonMode = true;
BoxStart = new BOXStart(UI);
addChild(UI);
initbuild();
init();
}
public function makearrow():void{
clearTimeout(ID);
if (timenum >= 300){
timenum = (timenum - 2);
};
knifeNum++;
UI.knife_num.text = knifeNum;
ID = setTimeout(makearrow, timenum);
var a:BOX1_suger = new BOX1_suger();
a.cacheAsBitmap = true;
Suger.addChild(a);
}
}
}//package
Section 71
//BOX2 (BOX2)
package {
import flash.events.*;
import flash.display.*;
import com.event.*;
import com.Tween.*;
import flash.geom.*;
import mochi.as3.*;
import flash.utils.*;
import BOX.*;
import flash.media.*;
import BOX.BOX2.*;
import DUO.*;
import com.util.*;
import fish.fish12.*;
import DUO1.*;
public class BOX2 extends MovieClip {
public var id5:uint;
public var manOldY:Number;
public var musicbool:Boolean;
public var UI:MovieClip;
public var timenum:uint;
public var ID:uint;
public var knifeNum:int;
public var sndcn:SoundChannel;
public var mindjoltAPI;
public var playerscore:uint;// = 1
public var man:BOX2_man;
public var kongregate;
public var fengspd:Number;
public var sndbg:Sound;
public var id1:uint;
public var BoxStart:BOXStart;
public var id3:uint;
public var id4:uint;
public var id2:uint;
public function BOX2(){
super();
completedAds();
}
public function movecloud(e:Event):void{
UI.game_mc.cloud.x = (UI.game_mc.cloud.x + fengspd);
if (UI.game_mc.cloud.x > 800){
UI.game_mc.cloud.x = -200;
};
}
public function init():void{
UI.game_mc.addEventListener("gameover", gameover);
UI.addEventListener("startgame", startgame);
BoxStart = new BOXStart(UI);
}
public function gametimeover():void{
Key.clearKeys();
man.dead();
clearTimeout(ID);
clearTimeout(id1);
clearTimeout(id2);
BoxStart.stopthisgamemusic();
}
public function initvar():void{
timenum = 300;
fengspd = 1;
}
public function showpanel():void{
showscorelist();
UI.panel_mc.visible = true;
UI.panel_mc.alpha = 0;
TweenLite.to(UI.panel_mc, 1, {alpha:1});
}
public function initad(adid, mc):void{
var adid = adid;
var mc = mc;
MochiAd.showPreGameAd({clip:mc, id:adid, res:"640x480", ad_finished:function ():void{
trace("-------------*************");
UI.panel_mc.visible = true;
}});
}
public function gameover(e:EK):void{
var arrow:*;
if (man.deadbool){
return;
};
var bd:* = new BOXDead();
bd.dobmp(UI.game_mc, man.man);
man.dead();
new Blood(UI.game_mc, (e.EO._r + 180), e.EO._x, e.EO._y);
new Blood(UI.game_mc, (e.EO._r + (Math.random() * 360)), e.EO._x, e.EO._y);
new Blood(UI.game_mc, (e.EO._r + (Math.random() * 360)), e.EO._x, e.EO._y);
new Blood(UI.game_mc, (e.EO._r + (Math.random() * 360)), e.EO._x, e.EO._y);
new Blood(UI.game_mc, (e.EO._r + (Math.random() * 360)), e.EO._x, e.EO._y);
initvar();
clearTimeout(ID);
var bei:* = 3;
var manx:* = man.man.x;
BoxStart.playknifesound();
Lens.Scale(UI.game_mc, new Point(man.man.x, man.man.y), 3, 0.2);
id1 = setTimeout(goon, 1000);
var i:uint;
while (i < UI.game_mc.arrow.numChildren) {
arrow = UI.game_mc.arrow.getChildAt(i);
if ((arrow is DUO1_arrow)){
arrow.stopmove();
};
i++;
};
}
public function goon():void{
var arrow:*;
blood();
var i:uint;
while (i < UI.game_mc.arrow.numChildren) {
arrow = UI.game_mc.arrow.getChildAt(i);
if ((arrow is DUO1_arrow)){
arrow.goonmove();
};
i++;
};
id2 = setTimeout(showpanel, 2000);
}
public function showscorelist():void{
var o:Object;
var boardID:String;
this.parent.dispatchEvent(new Event("thisgameover"));
trace("---------------------thisgameover-------2");
}
public function startgame(e:Event=null):void{
this.parent.dispatchEvent(new Event("thisgamestart"));
knifeNum = 0;
UI.knife_num.text = knifeNum;
UI.panel_mc.visible = false;
UI.game_mc.visible = true;
if (!man){
man = new BOX2_man(UI.game_mc.man);
} else {
man.man.visible = true;
man.live();
man.man.gotoAndStop(1);
};
UI.game_mc.man.y = manOldY;
Lens.Recover(UI.game_mc);
makearrow();
}
public function makearrow():void{
clearTimeout(ID);
if (timenum >= 40){
timenum = (timenum - 2);
};
ID = setTimeout(makearrow, timenum);
var a:DUO1_arrow = new DUO1_arrow();
knifeNum++;
UI.knife_num.text = knifeNum;
UI.game_mc.arrow.addChild(a);
}
public function completedAds(e:Event=null):void{
trace("广告完,开始游戏");
musicbool = true;
initvar();
UI = new UI_DUO1();
manOldY = UI.game_mc.man.y;
addChild(UI);
init();
fengspd = ((Math.random() + 0.5) / 3);
UI.game_mc.cloud.cacheAsBitmap = true;
UI.game_mc.cloud.addEventListener(Event.ENTER_FRAME, movecloud);
UI.game_mc.bgman.x = (Math.random() * 600);
UI.game_mc.bgman.scaleX = (UI.game_mc.bgman.scaleY = (UI.game_mc.bgman.scaleY * (Math.random() + 0.5)));
}
public function blood():void{
man.man.gotoAndPlay("label_dead");
}
}
}//package
Section 72
//BOX3 (BOX3)
package {
import flash.events.*;
import flash.display.*;
import com.event.*;
import com.Tween.*;
import flash.geom.*;
import mochi.as3.*;
import flash.utils.*;
import BOX.*;
import BOX.BOX3.*;
import flash.media.*;
import DUO.*;
import com.util.*;
import fish.fish12.*;
public class BOX3 extends MovieClip {
public var mindjoltAPI;
public var manOldY:Number;
public var musicbool:Boolean;
public var playerscore:uint;// = 1
public var UI:MovieClip;
public var man:BOX3_man;
public var kongregate;
public var knifeNum:int;
public var sndcn:SoundChannel;
public var ID:uint;
public var sndbg:Sound;
public var yunnum:uint;
public var BoxStart:BOXStart;
public var id3:uint;
public var id4:uint;
public var id5:uint;
public var id1:uint;
public var id2:uint;
public function BOX3(){
super();
completedAds();
}
public function startgame(e:Event=null):void{
this.parent.dispatchEvent(new Event("thisgamestart"));
yunnum = 0;
knifeNum = 0;
UI.panel_mc.visible = false;
UI.game_mc.visible = true;
if (!man){
man = new BOX3_man(UI.game_mc.man);
} else {
man.live();
man.man.visible = true;
man.man.gotoAndStop(1);
};
UI.game_mc.man.y = manOldY;
UI.game_mc.addEventListener("gameover", gameover);
UI.game_mc.addEventListener("addscore", addscore);
ID = setInterval(initpao, 765);
Lens.Recover(UI.game_mc);
UI.game_mc.pao.dispatchEvent(new Event("removethis"));
while (UI.game_mc.pao.numChildren > 0) {
UI.game_mc.pao.removeChildAt(0);
};
}
public function initad(adid, mc):void{
var adid = adid;
var mc = mc;
MochiAd.showPreGameAd({clip:mc, id:adid, res:"640x480", ad_finished:function ():void{
trace("-------------*************");
UI.panel_mc.visible = true;
}});
}
public function gameover(e:EK):void{
if (man.deadbool){
return;
};
var bd:* = new BOXDead();
bd.dobmp(UI.game_mc, man.man);
clearInterval(ID);
man.dead();
new Blood(UI.game_mc, (e.EO._r + 180), e.EO._x, e.EO._y);
new Blood(UI.game_mc, (e.EO._r + (Math.random() * 360)), e.EO._x, e.EO._y);
new Blood(UI.game_mc, (e.EO._r + (Math.random() * 360)), e.EO._x, e.EO._y);
new Blood(UI.game_mc, (e.EO._r + (Math.random() * 360)), e.EO._x, e.EO._y);
new Blood(UI.game_mc, (e.EO._r + (Math.random() * 360)), e.EO._x, e.EO._y);
Lens.Scale(UI.game_mc, new Point(man.man.x, man.man.y), 3, 0.2);
BoxStart.playknifesound();
id1 = setTimeout(showpanel, 2000);
}
public function showscorelist():void{
var o:Object;
var boardID:String;
this.parent.dispatchEvent(new Event("thisgameover"));
trace("---------------------thisgameover-------3");
}
public function initpao():void{
var ran:*;
if (yunnum < 30){
yunnum++;
ran = int((Math.random() * 2));
switch (ran){
case 0:
new BOX3_FireBall(UI.game_mc, new Point(-50, (Math.random() * 160)), new Point(man.man.x, man.man.y));
break;
case 1:
new BOX3_FireBall(UI.game_mc, new Point(700, (Math.random() * 160)), new Point(man.man.x, man.man.y));
break;
};
} else {
clearInterval(ID);
};
}
public function addscore(e:EK):void{
if (!man.deadbool){
knifeNum++;
UI.knife_num.text = knifeNum;
};
}
public function completedAds(e:Event=null):void{
musicbool = true;
UI = new UI_BOX3();
manOldY = UI.game_mc.man.y;
UI.addEventListener("startgame", startgame);
BoxStart = new BOXStart(UI);
addChild(UI);
}
public function showpanel():void{
showscorelist();
UI.panel_mc.visible = true;
UI.panel_mc.alpha = 0;
TweenLite.to(UI.panel_mc, 1, {alpha:1});
}
public function gametimeover():void{
Key.clearKeys();
man.dead();
clearInterval(ID);
clearTimeout(id1);
BoxStart.stopthisgamemusic();
}
}
}//package
Section 73
//BOX4 (BOX4)
package {
import flash.events.*;
import flash.display.*;
import com.Tween.*;
import flash.geom.*;
import mochi.as3.*;
import flash.utils.*;
import BOX.*;
import BOX.BOX4.*;
import DUO.*;
import com.util.*;
import fish.fish12.*;
public class BOX4 extends MovieClip {
public var mindjoltAPI;
public var manOldY:Number;
public var musicbool:Boolean;
public var playerscore:uint;// = 1
public var UI:MovieClip;
public var man:BOX4_man;
public var kongregate;
public var knifeNum:int;
public var timeout:uint;
public var ID:uint;
public var id2:uint;
public var id3:uint;
public var id4:uint;
public var id5:uint;
public var id1:uint;
public var BoxStart:BOXStart;
public function BOX4(){
super();
completedAds();
}
public function gameover():void{
if (man.deadbool){
return;
};
clearTimeout(ID);
var bd:* = new BOXDead();
bd.dobmp(UI.game_mc, man.man);
man.dead();
Lens.Scale(UI.game_mc, new Point(man.man.x, man.man.y), 3, 0.2);
BoxStart.playknifesound();
id1 = setTimeout(showpanel, 2000);
}
public function initad(adid, mc):void{
var adid = adid;
var mc = mc;
MochiAd.showPreGameAd({clip:mc, id:adid, res:"640x480", ad_finished:function ():void{
trace("-------------*************");
UI.panel_mc.visible = true;
}});
}
public function showscorelist():void{
var o:Object;
var boardID:String;
this.parent.dispatchEvent(new Event("thisgameover"));
trace("---------------------thisgameover-------2");
}
public function moving(e:Event):void{
var b:* = e.target;
b.x = (b.x + b.startx);
if ((b.y + b.starty) > 370){
b.y = 370;
} else {
b.y = (b.y + b.starty);
};
b.rotation = (b.rotation + b.ro);
b.starty = (b.starty + b.spd);
if (b.y >= 360){
b.starty = (b.starty * -1);
b.spd = (b.spd * 1.2);
};
if (man.man.body.hitTestObject(b)){
if (Math.random() > 0.2){
new Blood(UI.game_mc, (Math.random() * 360), b.x, b.y);
};
gameover();
};
if (b.x > 640){
b.removeEventListener(Event.ENTER_FRAME, moving);
UI.game_mc.removeChild(b);
};
}
public function startgame(e:Event=null):void{
this.parent.dispatchEvent(new Event("thisgamestart"));
timeout = 1000;
knifeNum = 0;
UI.knife_num.text = knifeNum;
UI.panel_mc.visible = false;
UI.game_mc.visible = true;
if (!man){
man = new BOX4_man(UI.game_mc.man);
} else {
man.live();
man.man.visible = true;
man.man.gotoAndStop(1);
};
UI.game_mc.man.y = manOldY;
ID = setTimeout(domakeball, timeout);
Lens.Recover(UI.game_mc);
}
public function completedAds(e:Event=null):void{
musicbool = true;
UI = new UI_BOX4();
UI.addEventListener("startgame", startgame);
BoxStart = new BOXStart(UI);
manOldY = UI.game_mc.man.y;
addChild(UI);
}
public function showpanel():void{
showscorelist();
UI.panel_mc.visible = true;
UI.panel_mc.alpha = 0;
TweenLite.to(UI.panel_mc, 1, {alpha:1});
}
public function gametimeover():void{
Key.clearKeys();
man.dead();
clearTimeout(ID);
clearTimeout(id1);
BoxStart.stopthisgamemusic();
}
public function makeball():void{
knifeNum++;
UI.knife_num.text = knifeNum;
var b:MovieClip = new UI_BOX4_Ball();
if (Math.random() > 0.5){
b.gotoAndStop((int((Math.random() * b.totalFrames)) + 1));
};
b.cacheAsBitmap = true;
b.ro = (Math.random() * 10);
b.startx = ((Math.random() + 0.3) * 5);
b.starty = ((Math.random() + 0.6) / 2);
b.spd = ((Math.random() + 0.3) / 3);
b.scaleX = (b.scaleY = (0.9 - (b.spd + 0.2)));
b.addEventListener(Event.ENTER_FRAME, moving);
UI.game_mc.addChild(b);
}
public function domakeball():void{
makeball();
if (timeout > 500){
timeout = (timeout - 8);
};
ID = setTimeout(domakeball, timeout);
}
}
}//package
Section 74
//BOX5 (BOX5)
package {
import flash.events.*;
import flash.display.*;
import com.Tween.*;
import flash.geom.*;
import mochi.as3.*;
import flash.utils.*;
import BOX.*;
import flash.media.*;
import BOX.BOX5Jump.*;
import DUO.*;
import com.util.*;
import fish.fish12.*;
public class BOX5 extends MovieClip {
public var bmp;
public var manOldY:Number;
public var musicbool:Boolean;
public var sndcn:SoundChannel;
public var knifeNum:int;
public var UI:MovieClip;
public var spd:Number;
public var ID:uint;
public var mindjoltAPI;
public var rospd:Number;
public var playerscore:uint;// = 1
public var man:BOX5Jump_man;
public var kongregate;
public var timeout:uint;
public var bmpmc:MovieClip;
public var flower:UI_BOX5_flower;
public var sndbg:Sound;
public var id1:uint;
public var BoxStart:BOXStart;
public var bmd;
public function BOX5(){
super();
completedAds();
}
public function gametimeover():void{
Key.clearKeys();
man.dead();
clearTimeout(ID);
clearTimeout(id1);
BoxStart.stopthisgamemusic();
}
public function dobmp(){
if (bmd){
bmd.dispose();
bmp.removeEventListener(Event.ENTER_FRAME, rotationflower);
bmpmc.removeChild(bmp);
};
var matrix:* = new Matrix(1, 0, 0, 1, 150, 150);
bmd = new BitmapData(300, 300, true, 0);
bmd.draw(flower, matrix);
bmp = new Bitmap(bmd);
bmpmc.addChild(bmp);
bmp.y = -150;
bmp.x = -150;
bmp.addEventListener(Event.ENTER_FRAME, rotationflower);
}
public function showpanel():void{
showscorelist();
UI.panel_mc.visible = true;
UI.panel_mc.alpha = 0;
TweenLite.to(UI.panel_mc, 1, {alpha:1});
}
public function initad(adid, mc):void{
var adid = adid;
var mc = mc;
MochiAd.showPreGameAd({clip:mc, id:adid, res:"640x480", ad_finished:function ():void{
trace("-------------*************");
UI.panel_mc.visible = true;
}});
}
public function gameover():void{
if (man.deadbool){
return;
};
clearTimeout(ID);
var bd:* = new BOXDead();
bd.dobmp(UI.game_mc, man.man);
man.dead();
Lens.Scale(UI.game_mc, new Point(man.man.x, man.man.y), 3, 0.2);
BoxStart.playknifesound();
new Blood(UI.game_mc, (Math.random() * 360), man.man.x, man.man.y);
new Blood(UI.game_mc, (Math.random() * 360), man.man.x, man.man.y);
new Blood(UI.game_mc, (Math.random() * 360), man.man.x, man.man.y);
new Blood(UI.game_mc, (Math.random() * 360), man.man.x, man.man.y);
new Blood(UI.game_mc, (Math.random() * 360), man.man.x, man.man.y);
id1 = setTimeout(showpanel, 2000);
}
public function doflowerdown():void{
if (timeout > 300){
timeout = (timeout - 8);
};
flowerdown();
ID = setTimeout(doflowerdown, timeout);
}
public function showscorelist():void{
var o:Object;
var boardID:String;
this.parent.dispatchEvent(new Event("thisgameover"));
trace("---------------------thisgameover-------2");
}
public function startgame(e:Event=null):void{
this.parent.dispatchEvent(new Event("thisgamestart"));
timeout = 500;
knifeNum = 0;
UI.knife_num.text = knifeNum;
rospd = 2;
spd = 4;
if (!man){
man = new BOX5Jump_man(UI.game_mc.man);
} else {
man.live();
man.man.visible = true;
man.man.gotoAndStop(1);
};
UI.game_mc.man.y = manOldY;
ID = setTimeout(doflowerdown, timeout);
flower = new UI_BOX5_flower();
dobmp();
flower.x = 100;
flower.y = 100;
UI.game_mc.shu.visible = true;
}
public function moving(e:Event):void{
var f:* = e.target;
f.x = (f.x + f.spdx);
f.y = (f.y + f.spdy);
f.rotation = (f.rotation + f.ro);
if (f.hitTestObject(man.man.body)){
gameover();
};
if ((((f.y > 500)) || ((f.x > 660)))){
f.removeEventListener(Event.ENTER_FRAME, moving);
f.parent.removeChild(f);
};
}
public function rotationflower(e:Event):void{
rospd = (rospd + 0.001);
if (spd < 8){
spd = (spd + 0.001);
};
bmpmc.rotation = (bmpmc.rotation + rospd);
}
public function completedAds(e:Event=null):void{
UI = new UI_BOX5Jump();
addChild(UI);
UI.game_mc.man.stop();
manOldY = UI.game_mc.man.y;
bmpmc = new MovieClip();
bmpmc.x = 100;
bmpmc.y = 100;
UI.game_mc.addChild(bmpmc);
UI.game_mc.shu.visible = false;
BoxStart = new BOXStart(UI);
UI.addEventListener("startgame", startgame);
}
public function flowerdown():void{
if (flower.numChildren == 0){
return;
};
var f:* = flower.getChildAt(int((Math.random() * flower.numChildren)));
if ((f is MovieClip)){
if (!f.movebool){
f.movebool = true;
knifeNum++;
UI.knife_num.text = knifeNum;
f.ro = ((Math.random() + 0.3) * 12);
f.spdx = ((Math.random() + 0.4) * spd);
f.spdy = ((Math.random() + 0.4) * spd);
UI.game_mc.addChild(f);
f.cacheAsBitmap = true;
f.x = (Math.random() * 200);
f.y = (Math.random() * 200);
f.addEventListener(Event.ENTER_FRAME, moving);
};
} else {
f.parent.removeChild(f);
};
dobmp();
}
}
}//package
Section 75
//BOX6 (BOX6)
package {
import flash.events.*;
import flash.display.*;
import com.Tween.*;
import flash.geom.*;
import mochi.as3.*;
import flash.utils.*;
import BOX.*;
import flash.media.*;
import BOX.BOX6.*;
import DUO.*;
import com.util.*;
import fish.fish12.*;
public class BOX6 extends MovieClip {
public var bmp;
public var manOldY:Number;
public var id1:uint;
public var musicbool:Boolean;
public var sndcn:SoundChannel;
public var knifeNum:int;
public var UI:MovieClip;
public var spd:Number;
public var ID:uint;
public var mindjoltAPI;
public var rospd:Number;
public var playerscore:uint;// = 1
public var man:BOX6_man;
public var kongregate;
public var timeout:uint;
public var bmpmc:MovieClip;
public var sndbg:Sound;
public var BoxStart:BOXStart;
public var bmd;
public function BOX6(){
super();
completedAds();
}
public function lightdeng():void{
var window:*;
var i:uint;
while (i < UI.game_mc.window.numChildren) {
window = UI.game_mc.window.getChildAt(i);
window.gotoAndPlay(2);
i++;
};
}
public function gametimeover():void{
Key.clearKeys();
man.dead();
clearTimeout(ID);
clearTimeout(id1);
BoxStart.stopthisgamemusic();
}
public function light(e:Event):void{
var ran:*;
trace("***********");
if (timeout <= 300){
ran = Math.random();
if (ran < 0.3){
} else {
trace("***********1");
flowerdown(MovieClip(e.target.parent));
};
};
flowerdown(MovieClip(e.target.parent));
}
public function dobmp(){
if (bmd){
bmd.dispose();
};
var matrix:* = new Matrix(1, 0, 0, 1, 20, 40);
bmd = new BitmapData(40, 40, true, 0);
bmd.draw(man.man, matrix);
drawbody(bmd, 40, 40, (man.man.x - 20), (man.man.y - 40));
man.man.visible = false;
}
public function showpanel():void{
showscorelist();
UI.panel_mc.visible = true;
UI.panel_mc.alpha = 0;
TweenLite.to(UI.panel_mc, 1, {alpha:1});
}
public function movebodybmp(e:Event){
var mc:MovieClip = (e.target as MovieClip);
mc.x = (mc.x + mc.spdx);
mc.y = (mc.y + mc.spdy);
mc.spdy = (mc.spdy + 0.3);
if (mc.y > 480){
mc.removeEventListener(Event.ENTER_FRAME, movebodybmp);
mc.parent.removeChild(mc);
};
}
public function initad(adid, mc):void{
var adid = adid;
var mc = mc;
MochiAd.showPreGameAd({clip:mc, id:adid, res:"640x480", ad_finished:function ():void{
trace("-------------*************");
UI.panel_mc.visible = true;
}});
}
public function gameover():void{
if (man.deadbool){
return;
};
clearTimeout(ID);
dobmp();
man.dead();
Lens.Scale(UI.game_mc, new Point(man.man.x, man.man.y), 3, 0.2);
BoxStart.playknifesound();
new Blood(UI.game_mc, (Math.random() * 360), man.man.x, man.man.y);
new Blood(UI.game_mc, (Math.random() * 360), man.man.x, man.man.y);
new Blood(UI.game_mc, (Math.random() * 360), man.man.x, man.man.y);
new Blood(UI.game_mc, (Math.random() * 360), man.man.x, man.man.y);
new Blood(UI.game_mc, (Math.random() * 360), man.man.x, man.man.y);
id1 = setTimeout(showpanel, 2000);
}
public function doflowerdown():void{
if (timeout > 300){
timeout = (timeout - 5);
};
var window:* = UI.game_mc.window.getChildAt(int((Math.random() * UI.game_mc.window.numChildren)));
window.man.play();
ID = setTimeout(doflowerdown, timeout);
}
public function showscorelist():void{
var o:Object;
var boardID:String;
this.parent.dispatchEvent(new Event("thisgameover"));
trace("---------------------thisgameover-------6");
}
public function startgame(e:Event=null):void{
var window:*;
this.parent.dispatchEvent(new Event("thisgamestart"));
lightdeng();
timeout = 500;
knifeNum = 0;
UI.knife_num.text = knifeNum;
rospd = 2;
spd = 4;
if (!man){
man = new BOX6_man(UI.game_mc.man);
} else {
man.live();
man.man.gotoAndStop(1);
man.man.visible = true;
};
var i:uint;
while (i < UI.game_mc.window.numChildren) {
window = UI.game_mc.window.getChildAt(i);
window.man.addEventListener("drop_puke", light);
i++;
};
UI.game_mc.man.y = manOldY;
ID = setTimeout(doflowerdown, timeout);
}
public function completedAds(e:Event=null):void{
UI = new UI_BOX6();
addChild(UI);
UI.game_mc.man.stop();
manOldY = UI.game_mc.man.y;
BoxStart = new BOXStart(UI);
UI.addEventListener("startgame", startgame);
}
public function drawbody(bmpd:BitmapData, w, h, _x, _y){
var mc1:MovieClip = new MovieClip();
UI.game_mc.addChild(mc1);
mc1.x = _x;
mc1.y = _y;
mc1.spdx = (-((Math.random() + 0.2)) * 2);
mc1.spdy = (-((Math.random() + 1)) * 4);
mc1.addEventListener(Event.ENTER_FRAME, movebodybmp);
var mc2:MovieClip = new MovieClip();
UI.game_mc.addChild(mc2);
mc2.x = _x;
mc2.y = _y;
mc2.spdx = ((Math.random() + 0.2) * 2);
mc2.spdy = (-((Math.random() + 1)) * 4);
mc2.addEventListener(Event.ENTER_FRAME, movebodybmp);
var p1:Point = new Point((Math.random() * w), 0);
var p2:Point = new Point((Math.random() * w), 40);
mc1.graphics.beginBitmapFill(bmpd);
mc1.graphics.moveTo(0, 0);
mc1.graphics.lineTo(p1.x, p1.y);
mc1.graphics.lineTo(p2.x, p2.y);
mc1.graphics.lineTo(0, h);
mc1.graphics.lineTo(0, 0);
mc1.graphics.endFill();
mc2.graphics.beginBitmapFill(bmpd);
mc2.graphics.moveTo(p1.x, p1.y);
mc2.graphics.lineTo(w, 0);
mc2.graphics.lineTo(w, h);
mc2.graphics.lineTo(p2.x, p2.y);
mc2.graphics.lineTo(p1.x, p1.y);
mc1.graphics.endFill();
}
public function moveknife(e:Event):void{
var matrix:*;
var bmddeng:*;
var k:* = e.target;
if (k.y < 450){
k.rotation = (k.rotation + k.rospd);
k.x = (k.x + k.spdx);
k.y = (k.y + k.spdy);
k.scaleX = (k.scaleX + k.addscale);
k.scaleY = (k.scaleY + k.addscale);
k.addscale = (k.addscale + 0.003);
k.addspd = (k.addspd + 0.01);
k.spdx = (k.spdx + (k.addspd * k.zf));
k.spdy = (k.spdy + k.addspd);
if (k.hitTestObject(UI.game_mc.deng)){
matrix = new Matrix(1, 0, 0, 1, 20, 40);
bmddeng = new BitmapData(40, 40, true, 0);
bmddeng.draw(UI.game_mc.deng);
drawbody(bmddeng, 20, 20, (UI.game_mc.deng.x - 10), (UI.game_mc.deng.y - 10));
drawbody(bmddeng, 20, 20, (UI.game_mc.deng.x - 10), (UI.game_mc.deng.y - 10));
drawbody(bmddeng, 20, 20, (UI.game_mc.deng.x - 10), (UI.game_mc.deng.y - 10));
BoxStart.playsound(new snd_glass1());
UI.game_mc.deng.y = 1000;
};
if (k.hitTestObject(man.man.body)){
gameover();
};
} else {
k.alpha = (k.alpha - 0.01);
if (k.alpha < 0){
k.removeEventListener(Event.ENTER_FRAME, moveknife);
UI.game_mc.knifemc.removeChild(k);
};
};
}
public function flowerdown(window:MovieClip):void{
knifeNum++;
UI.knife_num.text = knifeNum;
var knife:* = new UI_BOX6_pai();
UI.game_mc.knifemc.addChild(knife);
knife.x = window.x;
knife.y = window.y;
knife.zf = ((Math.random() > 0.5)) ? 1 : -1;
knife.spdx = ((Math.random() + 0.2) * knife.zf);
knife.spdy = ((Math.random() + 0.4) * 3);
knife.addscale = 0.01;
knife.addspd = 0.1;
knife.spdmax = (knife.spdx * 3);
knife.spdmay = (knife.spdy * 3);
knife.rospd = ((Math.random() + 3) * 4);
knife.gotoAndStop((int((Math.random() * knife.totalFrames)) + 1));
knife.addEventListener(Event.ENTER_FRAME, moveknife);
}
}
}//package
Section 76
//BOX7 (BOX7)
package {
import flash.events.*;
import flash.display.*;
import com.Tween.*;
import flash.geom.*;
import flash.utils.*;
import BOX.*;
import flash.media.*;
import BOX.BOX7.*;
import DUO.*;
import com.util.*;
import fish.fish12.*;
public class BOX7 extends MovieClip {
public var bmp;
public var rospd:Number;
public var manOldY:Number;
public var musicbool:Boolean;
public var man:BOX7_man;
public var kongregate;
public var playerscore:uint;// = 1
public var timeout:uint;
public var bmpmc:MovieClip;
public var sndcn:SoundChannel;
public var spd:Number;
public var ID:uint;
public var UI:MovieClip;
public var sndbg:Sound;
public var knifeNum:int;
public var BoxStart:BOXStart;
public var bmd;
public var id1:uint;
public function BOX7(){
super();
completedAds();
}
public function startgame(e:Event=null):void{
this.parent.dispatchEvent(new Event("thisgamestart"));
timeout = 500;
knifeNum = 0;
UI.knife_num.text = knifeNum;
rospd = 2;
spd = 4;
if (!man){
man = new BOX7_man(UI.game_mc.man);
} else {
man.live();
man.man.gotoAndStop(1);
man.man.visible = true;
};
UI.game_mc.man.y = manOldY;
ID = setTimeout(domovebus, timeout);
}
public function gameover():void{
if (man.deadbool){
return;
};
clearTimeout(ID);
dobmp();
man.dead();
Lens.Scale(UI.game_mc, new Point(man.man.x, man.man.y), 3, 0.2);
BoxStart.playknifesound();
new Blood(UI.game_mc, (Math.random() * 360), man.man.x, man.man.y);
new Blood(UI.game_mc, (Math.random() * 360), man.man.x, man.man.y);
new Blood(UI.game_mc, (Math.random() * 360), man.man.x, man.man.y);
new Blood(UI.game_mc, (Math.random() * 360), man.man.x, man.man.y);
new Blood(UI.game_mc, (Math.random() * 360), man.man.x, man.man.y);
id1 = setTimeout(showpanel, 2000);
}
public function dobmp(){
if (bmd){
bmd.dispose();
};
var matrix:* = new Matrix(1, 0, 0, 1, 20, 40);
bmd = new BitmapData(40, 40, true, 0);
bmd.draw(man.man, matrix);
drawbody(bmd, 40, 40, (man.man.x - 20), (man.man.y - 40));
man.man.visible = false;
}
public function showscorelist():void{
this.parent.dispatchEvent(new Event("thisgameover"));
trace("---------------------thisgameover-------2");
}
public function moving(e:Event):void{
var k:* = e.target;
k.x = (k.x + k.spdx);
if (k.hitTestObject(man.man.body)){
gameover();
};
if ((((k.x < -50)) || ((k.x > 700)))){
k.removeEventListener(Event.ENTER_FRAME, moving);
UI.game_mc.knifemc.removeChild(k);
};
}
public function movebus():void{
knifeNum++;
UI.knife_num.text = knifeNum;
var bus:* = new UI_BOX7_car();
var ran:* = ((Math.random() / 3) + 0.3);
bus.scaleX = ran;
bus.scaleY = ran;
UI.game_mc.knifemc.addChild(bus);
var level:* = int((Math.random() * 6));
if ((level % 2) == 0){
bus.scaleX = -(bus.scaleX);
bus.x = -50;
bus.spdx = 3;
} else {
bus.x = 700;
bus.spdx = -3;
};
bus.spdx = (bus.spdx * (1 + (knifeNum / 100)));
bus.y = (480 - (level * 50));
bus.level = level;
bus.side = (level % 2);
bus.addspd = 0.1;
bus.spdmax = (bus.spdx * 3);
bus.spdmay = (bus.spdy * 3);
bus.gotoAndStop((int((Math.random() * bus.totalFrames)) + 1));
bus.addEventListener(Event.ENTER_FRAME, moving);
}
public function domovebus():void{
if (timeout > 300){
timeout = (timeout - 5);
};
ID = setTimeout(domovebus, timeout);
movebus();
}
public function completedAds(e:Event=null):void{
UI = new UI_BOX7();
addChild(UI);
UI.game_mc.man.stop();
manOldY = UI.game_mc.man.y;
BoxStart = new BOXStart(UI);
UI.addEventListener("startgame", startgame);
}
public function drawbody(bmpd:BitmapData, w, h, _x, _y){
var mc1:MovieClip = new MovieClip();
UI.game_mc.addChild(mc1);
mc1.x = _x;
mc1.y = _y;
mc1.spdx = (-((Math.random() + 0.2)) * 2);
mc1.spdy = (-((Math.random() + 1)) * 4);
mc1.addEventListener(Event.ENTER_FRAME, movebodybmp);
var mc2:MovieClip = new MovieClip();
UI.game_mc.addChild(mc2);
mc2.x = _x;
mc2.y = _y;
mc2.spdx = ((Math.random() + 0.2) * 2);
mc2.spdy = (-((Math.random() + 1)) * 4);
mc2.addEventListener(Event.ENTER_FRAME, movebodybmp);
var p1:Point = new Point((Math.random() * w), 0);
var p2:Point = new Point((Math.random() * w), 40);
mc1.graphics.beginBitmapFill(bmpd);
mc1.graphics.moveTo(0, 0);
mc1.graphics.lineTo(p1.x, p1.y);
mc1.graphics.lineTo(p2.x, p2.y);
mc1.graphics.lineTo(0, h);
mc1.graphics.lineTo(0, 0);
mc1.graphics.endFill();
mc2.graphics.beginBitmapFill(bmpd);
mc2.graphics.moveTo(p1.x, p1.y);
mc2.graphics.lineTo(w, 0);
mc2.graphics.lineTo(w, h);
mc2.graphics.lineTo(p2.x, p2.y);
mc2.graphics.lineTo(p1.x, p1.y);
mc1.graphics.endFill();
}
public function gametimeover():void{
Key.clearKeys();
man.dead();
clearTimeout(ID);
clearTimeout(id1);
BoxStart.stopthisgamemusic();
}
public function movebodybmp(e:Event){
var mc:MovieClip = (e.target as MovieClip);
mc.x = (mc.x + mc.spdx);
mc.y = (mc.y + mc.spdy);
mc.spdy = (mc.spdy + 0.3);
if (mc.y > 480){
mc.removeEventListener(Event.ENTER_FRAME, movebodybmp);
mc.parent.removeChild(mc);
};
}
public function showpanel():void{
showscorelist();
UI.panel_mc.visible = true;
UI.panel_mc.alpha = 0;
TweenLite.to(UI.panel_mc, 1, {alpha:1});
}
}
}//package
Section 77
//BOX7IN1 (BOX7IN1)
package {
import flash.events.*;
import flash.display.*;
import com.Tween.*;
import flash.geom.*;
import flash.utils.*;
import flash.text.*;
import BOX.*;
import DUO.*;
import flash.net.*;
import flash.ui.*;
import com.midasplayer.*;
public class BOX7IN1 extends MovieClip {
private var bmd:BitmapData;
private var game:MovieClip;
private var score:uint;
private var UI;
private var tip;
private var content7:Class;
private var autonextgameid:uint;
public var loadText:TextField;
private var gamearr:Array;
private var content:Class;
public static var index:int;
public static var gamenum:uint = 1;
public function BOX7IN1(){
super();
this.addEventListener(Event.ADDED_TO_STAGE, init);
}
public function initgame():void{
index = -1;
score = 0;
gamearr = new Array(1, 2, 3, 4, 5, 6, 7);
var ran:* = int((Math.random() * 50));
var i:uint;
while (i < ran) {
gamearr.sort(random_me);
i++;
};
trace(gamearr);
nextgame();
}
public function thisgameover(e:Event=null):void{
trace("thisgameover");
clearTimeout(autonextgameid);
game.gametimeover();
score = (score + uint(game.UI.knife_num.text));
if (bmd){
bmd.dispose();
};
bmd = new BitmapData(640, 480, true, 0);
bmd.draw(game);
var bd:BOXDead = new BOXDead();
bd.drawbody(this, bmd, 640, 480, 0, 0);
this.removeChild(game);
game = null;
nextgame();
}
public function keydown(e:KeyboardEvent):void{
if (e.keyCode == Keyboard.SPACE){
if (((((game) && (game.UI.panel_mc.visible))) && ((game.y < 50)))){
game.BoxStart.startgame();
};
};
}
public function submitscore(e:MouseEvent):void{
KingAPI.submitScore(score);
}
private function loadProgress(evt:ProgressEvent):void{
var perLoaded:Number = (evt.bytesLoaded / evt.bytesTotal);
trace();
}
public function gameover():void{
UI = new UI_BOX7IN1();
addChild(UI);
UI.score.text = String(score);
UI.submit.addEventListener(MouseEvent.CLICK, submitscore);
UI.restart.addEventListener(MouseEvent.CLICK, dorestart);
UI.share.addEventListener(MouseEvent.CLICK, doshare);
UI.moregame.addEventListener(MouseEvent.CLICK, domoregame);
UI.y = 480;
TweenLite.to(UI, 1, {y:0});
setTimeout(function (){
Lens.Scale(UI, new Point(550, 240), 3, 0.2);
}, 5000);
setTimeout(function (){
Lens.Recover(UI);
}, 11000);
}
public function getgame(num:uint):MovieClip{
switch (num){
case 1:
return (new BOX1());
case 2:
return (new BOX2());
case 3:
return (new BOX3());
case 4:
return (new BOX4());
case 5:
return (new BOX5());
case 6:
return (new BOX6());
case 7:
return (new BOX7());
};
return (null);
}
public function init(e:Event):void{
this.addEventListener("thisgameover", thisgameover);
this.addEventListener("thisgamestart", thisgamestart);
initgame();
tip = new UI_BOX7IN1_tip();
this.addChild(tip);
tip.x = 30;
tip.y = 0;
this.stage.addEventListener(KeyboardEvent.KEY_DOWN, keydown);
}
public function dorestart(e:MouseEvent):void{
removeChild(UI);
initgame();
}
public function thisgamestart(e:Event=null):void{
autonextgameid = setTimeout(donextgame, 55000);
tip.visible = false;
}
public function domoregame(e:MouseEvent):void{
KingAPI.openOtherGamesLink();
}
public function random_me(a, b){
return (1);
}
public function nextgame():void{
if (index < 6){
index++;
game = getgame(gamearr[index]);
game.y = 480;
addChild(game);
TweenLite.to(game, 1, {y:0});
} else {
gameover();
};
}
public function donextgame():void{
thisgameover();
}
public function doshare(e:MouseEvent):void{
navigateToURL(new URLRequest("http://www.facebook.com/sharer.php?u=http%3A%2F%2Ffacebook.king.com%2Ffacebook%2Fkinggames%2Fgames%2Fshare.jsp%3FgameId%3D71"));
}
private function loadComplete(evt:Event):void{
trace("Complete");
}
}
}//package
Section 78
//ferryBlue (ferryBlue)
package {
import flash.display.*;
public dynamic class ferryBlue extends MovieClip {
public function ferryBlue(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 79
//ferryGreen (ferryGreen)
package {
import flash.display.*;
public dynamic class ferryGreen extends MovieClip {
public function ferryGreen(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 80
//ferryRed (ferryRed)
package {
import flash.display.*;
public dynamic class ferryRed extends MovieClip {
public function ferryRed(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 81
//logo_warofbox (logo_warofbox)
package {
import flash.display.*;
public dynamic class logo_warofbox extends MovieClip {
public var btn:SimpleButton;
}
}//package
Section 82
//MainLoader (MainLoader)
package {
import flash.events.*;
import fl.transitions.*;
import flash.geom.*;
import flash.display.*;
import com.midasplayer.extras.*;
import com.midasplayer.*;
import fl.transitions.easing.*;
import flash.media.*;
import flash.utils.*;
public class MainLoader extends MovieClip {
private var STAGE_WIDTH:Number;// = 640
private var m_waveEngineCrown:WaveEngine;
private var m_streamBlue:Boolean;// = false
private var m_clsRed:Water;
private var m_ferryGreen;
private var m_overBtn:Boolean;// = false
private var m_tween:Tween;
private var m_startColor:ColorTransform;
private var m_dist:Number;
private var m_ferryBlue;
private var m_yellowDest:Number;
private var m_logoHolder:Sprite;
private var m_prevPerc:Number;// = -1
private var m_tweenBounceLogo:Tween;
private var m_bg:Sprite;
private var m_streamHeight:Number;
private var m_step:Number;
private var m_logoFill:Boolean;// = true
private var m_isLoaded:Boolean;// = false
private var m_waveHolderLogo:MovieClip;
private var m_maskRown:MovieClip;
private var m_sun:Sprite;
private var m_mask:MovieClip;
private var m_rootRef:MovieClip;
private var m_crownFill:Boolean;// = false
private var m_clsGreen:Water;
private var m_GREEN;
private var m_loaderContent:Array;
private var m_safari:Boolean;// = false
private var m_bounce:Boolean;// = false
private var m_colorOff:Boolean;// = false
private var m_RED:MovieClip;
private var m_streamGreen:Boolean;// = true
private var MOCHI:String;// = ""
private var m_otherGames:Sprite;
private var m_streamRed:Boolean;// = false
private var STAGE_HEIGHT:Number;// = 480
private var m_ferryRed;
private var m_pressBtn:Boolean;// = false
private var GAME_NAME:String;// = "keep-running"
private var m_count;// = 0
private var m_play:Sprite;
private var m_sampleLoadPerc:Number;// = -1
private var m_gameFrameRate:int;
private var m_clsBlue:Water;
private var m_endColor:ColorTransform;
private var m_waveHolderCrown:MovieClip;
private var m_BLUE;
private var m_greenDest:Number;
private var m_waveEngineLogo:WaveEngine;
public function MainLoader(){
m_loaderContent = new Array();
m_waveHolderLogo = new MovieClip();
m_waveHolderCrown = new MovieClip();
m_play = new Sprite();
m_otherGames = new Sprite();
m_mask = new MovieClip();
m_maskRown = new MovieClip();
m_RED = new WaterHolderR();
m_GREEN = new WaterHolderG();
m_BLUE = new WaterHolderB();
m_ferryGreen = new ferryGreen();
m_ferryRed = new ferryRed();
m_ferryBlue = new ferryBlue();
super();
this.addEventListener(Event.ADDED_TO_STAGE, init);
}
private function playLoaderMovie():void{
var mc:MovieClip = new mcFerryLine();
m_rootRef.addChild(m_ferryGreen);
m_rootRef.addChild(m_ferryRed);
m_rootRef.addChild(m_ferryBlue);
m_ferryGreen.x = ((STAGE_WIDTH / 2) - 2);
m_ferryRed.x = ((m_ferryGreen.x - (m_ferryGreen.width / 2)) + 15);
m_ferryBlue.x = ((m_ferryGreen.x + (m_ferryGreen.width / 2)) - 17);
m_ferryBlue.y = (m_ferryGreen.y = (m_ferryRed.y = (m_bg.y + 15)));
m_loaderContent.push(m_ferryGreen);
m_loaderContent.push(m_ferryRed);
m_loaderContent.push(m_ferryBlue);
mc.x = (STAGE_WIDTH / 2);
mc.y = ((m_ferryGreen.y + m_ferryGreen.height) - 9);
m_streamHeight = ((STAGE_HEIGHT / 2) - 40);
m_clsRed = (m_RED.getChildByName("RED") as Water);
m_clsRed.init(m_streamHeight, 1);
m_clsGreen = (m_GREEN.getChildByName("GREEN") as Water);
m_clsGreen.init(m_streamHeight, 1);
m_clsBlue = (m_BLUE.getChildByName("BLUE") as Water);
m_clsBlue.init(m_streamHeight, 1);
m_RED.alpha = (m_GREEN.alpha = (m_BLUE.alpha = 0));
m_rootRef.addChild(m_RED);
m_rootRef.addChild(m_GREEN);
m_rootRef.addChild(m_BLUE);
m_loaderContent.push(m_RED);
m_loaderContent.push(m_GREEN);
m_loaderContent.push(m_BLUE);
m_RED.x = ((STAGE_WIDTH / 2) - 22);
m_GREEN.x = ((STAGE_WIDTH / 2) - 4);
m_BLUE.x = ((STAGE_WIDTH / 2) + 16);
m_RED.y = (m_GREEN.y = (m_BLUE.y = mc.y));
m_waveEngineLogo = new WaveEngine(m_rootRef, 205.8, 120, 0xFF00, 0xFF00, m_waveHolderLogo);
m_waveHolderLogo = m_waveEngineLogo.getWave();
m_rootRef.addChild(m_waveHolderLogo);
m_loaderContent.push(m_waveHolderLogo);
m_waveEngineCrown = new WaveEngine(m_rootRef, 67.5, 100, 0xFFAA00, 0xFFAA00, m_waveHolderCrown);
m_waveHolderCrown = m_waveEngineCrown.getWave();
m_rootRef.addChild(m_waveHolderCrown);
m_loaderContent.push(m_waveHolderCrown);
m_logoHolder = new mcLogoHolder();
m_logoHolder.x = (STAGE_WIDTH / 2);
m_logoHolder.y = ((STAGE_HEIGHT / 2) - 2);
m_logoHolder.mouseEnabled = false;
m_rootRef.addChild(m_logoHolder);
m_loaderContent.push(m_logoHolder);
m_mask = new mcLogoMask();
m_mask.x = m_logoHolder.x;
m_mask.y = m_logoHolder.y;
m_rootRef.addChild(m_mask);
m_loaderContent.push(m_mask);
m_maskRown = new mcCrownMask();
m_maskRown.x = m_logoHolder.x;
m_maskRown.y = m_logoHolder.y;
m_rootRef.addChild(m_maskRown);
m_loaderContent.push(m_maskRown);
m_waveHolderLogo.mask = m_mask;
m_waveHolderLogo.x = ((STAGE_WIDTH / 2) - (m_mask.width / 2));
m_waveHolderLogo.y = (((STAGE_HEIGHT / 2) + (m_mask.height / 2)) + 15);
m_waveHolderCrown.mask = m_maskRown;
m_waveHolderCrown.x = (m_logoHolder.x - (m_maskRown.width / 2));
m_waveHolderCrown.y = (m_logoHolder.y + 4);
m_waveEngineLogo.startWave();
m_waveEngineCrown.startWave();
m_greenDest = ((m_waveHolderLogo.y - (120 / 2)) - 10);
m_yellowDest = (m_waveHolderCrown.y - (100 / 2));
m_dist = (m_waveHolderCrown.y - m_yellowDest);
m_startColor = new ColorTransform();
m_startColor.color = 0xFF00;
m_endColor = new ColorTransform();
m_endColor.color = 35886;
m_play = new mcPlay();
m_play.x = (STAGE_WIDTH / 2);
m_play.y = ((m_logoHolder.y + m_logoHolder.height) - 5);
m_play.buttonMode = true;
m_play.alpha = 0;
m_play.visible = false;
m_play.addEventListener(MouseEvent.MOUSE_UP, onPlayReleased);
m_play.addEventListener(MouseEvent.MOUSE_OVER, onBtnOver);
m_play.addEventListener(MouseEvent.MOUSE_OUT, onBtnOut);
m_rootRef.addChild(m_play);
m_loaderContent.push(m_play);
m_otherGames = new mcOtherGames();
m_otherGames.x = (STAGE_WIDTH / 2);
m_otherGames.y = ((m_play.y + m_play.height) + 15);
m_otherGames.buttonMode = true;
m_otherGames.alpha = 0;
m_otherGames.visible = false;
m_otherGames.addEventListener(MouseEvent.MOUSE_UP, onOtherReleased);
m_otherGames.addEventListener(MouseEvent.MOUSE_OVER, onBtnOver);
m_otherGames.addEventListener(MouseEvent.MOUSE_OUT, onBtnOut);
m_rootRef.addChild(m_otherGames);
m_loaderContent.push(m_otherGames);
m_rootRef.addEventListener(Event.ENTER_FRAME, update);
m_safari = ((stage.loaderInfo.bytesTotal == 0)) ? true : false;
}
public function init(e:Event):void{
trace("MainLoader()");
stop();
m_rootRef = this;
m_bg = new Sprite();
m_bg.graphics.beginFill(0x333333, 1);
m_bg.graphics.drawRect(0, 0, STAGE_WIDTH, STAGE_HEIGHT);
m_bg.addEventListener(MouseEvent.CLICK, openKingPage);
m_rootRef.addChild(m_bg);
m_loaderContent.push(m_bg);
stage.scaleMode = StageScaleMode.NO_SCALE;
KingAPI.addEventListener(KingAPI.INITIALIZED_EVENT, onKingApiInit);
KingAPI.addEventListener(KingAPI.HOST_BANNED_EVENT, onKingApiInit);
KingAPI.init(GAME_NAME, root.loaderInfo.url);
}
private function onLoaderMovieFinished():void{
trace("onGameLoaded()");
m_tween.removeEventListener(TweenEvent.MOTION_CHANGE, tweenTransformCrown);
m_rootRef.removeEventListener(Event.ENTER_FRAME, update);
}
private function openKingPage(e:Event):void{
trace(("openKingPage() " + e));
KingAPI.openLoaderMovieLink();
}
private function onPlayReleased(e:MouseEvent):void{
cleanUp();
gotoGame();
}
private function onBtnOut(e:MouseEvent):void{
e.target.removeEventListener(MouseEvent.MOUSE_DOWN, onBtnPress);
if (m_pressBtn){
e.target.x = (e.target.x - 1);
e.target.y = (e.target.y - 2);
m_pressBtn = false;
};
}
private function onBtnPress(e:MouseEvent):void{
m_pressBtn = true;
e.target.x = (e.target.x + 1);
e.target.y = (e.target.y + 2);
}
private function onKingApiInit(e:Event):void{
trace(("onKingApiInit() :" + e.type));
if (MOCHI != ""){
MochiBot.track(this, MOCHI);
};
m_gameFrameRate = root.stage.frameRate;
if (KingAPI.banned){
showBannedScreen();
return;
};
playLoaderMovie();
}
private function onBtnOver(e:MouseEvent):void{
e.target.addEventListener(MouseEvent.MOUSE_DOWN, onBtnPress);
}
private function tweenTransformLogo(event:TweenEvent):void{
m_waveEngineLogo.colorUpdate(interpolateColor(m_startColor, m_endColor, m_tween.position).color);
}
private function cleanUp():void{
m_otherGames.removeEventListener(MouseEvent.MOUSE_UP, onOtherReleased);
m_otherGames.removeEventListener(MouseEvent.MOUSE_DOWN, onBtnPress);
m_otherGames.removeEventListener(MouseEvent.MOUSE_OVER, onBtnOver);
m_otherGames.removeEventListener(MouseEvent.MOUSE_OUT, onBtnOut);
m_play.removeEventListener(MouseEvent.MOUSE_UP, onPlayReleased);
m_play.removeEventListener(MouseEvent.MOUSE_DOWN, onBtnPress);
m_play.removeEventListener(MouseEvent.MOUSE_OVER, onBtnOver);
m_play.removeEventListener(MouseEvent.MOUSE_OUT, onBtnOut);
var i:int;
while (i < m_loaderContent.length) {
m_rootRef.removeChild(m_loaderContent[i]);
m_loaderContent[i] = null;
i++;
};
}
private function showBannedScreen():void{
var b:Sprite = new mcBannedSign();
b.buttonMode = true;
b.addEventListener(MouseEvent.CLICK, openKingPage);
m_rootRef.addChild(b);
}
private function update(e:Event):void{
var perc:int;
var diff:int;
var wr:MovieClip;
var b:Sound;
var s:Sound;
if (m_safari){
if (m_rootRef.framesLoaded == m_rootRef.totalFrames){
m_isLoaded = true;
};
} else {
if ((((stage.loaderInfo.bytesLoaded == stage.loaderInfo.bytesTotal)) && (!(m_isLoaded)))){
m_isLoaded = true;
};
};
m_count++;
if (m_streamGreen){
if (m_count == 1){
m_GREEN.height = (m_GREEN.height - m_GREEN.height);
m_GREEN.alpha = 1;
m_ferryGreen.gotoAndStop("on");
};
m_GREEN.height = (m_GREEN.height + 20);
if (m_GREEN.height >= m_streamHeight){
m_GREEN.height = m_streamHeight;
if (m_clsGreen.decrThickness(false)){
m_streamGreen = false;
m_streamBlue = true;
m_count = 0;
};
};
};
if (m_streamBlue){
if (m_count >= 40){
if (m_count == 40){
m_BLUE.height = (m_BLUE.height - m_BLUE.height);
m_BLUE.alpha = 1;
m_ferryBlue.gotoAndStop("on");
m_tween = new Tween(m_waveHolderLogo, "", None.easeNone, 0, 1, 2, true);
m_tween.addEventListener(TweenEvent.MOTION_CHANGE, tweenTransformLogo);
};
m_BLUE.height = (m_BLUE.height + 20);
if (m_BLUE.height >= m_streamHeight){
m_BLUE.height = m_streamHeight;
if (m_clsBlue.decrThickness(false)){
m_streamBlue = false;
};
};
};
};
if (m_logoFill){
if (m_waveHolderLogo.y > m_greenDest){
m_waveHolderLogo.y = (m_waveHolderLogo.y - 0.3);
} else {
m_waveHolderLogo.y = m_greenDest;
if (!m_streamBlue){
m_colorOff = true;
m_waveEngineLogo.stopWave();
};
};
};
if (m_colorOff){
if (m_logoFill){
if (m_clsBlue.decrThickness(true)){
if (m_BLUE.rotation != 180){
m_BLUE.rotation = 180;
m_BLUE.y = (STAGE_HEIGHT / 2);
m_ferryBlue.gotoAndStop("off");
};
m_BLUE.scaleY = (m_BLUE.scaleY - 0.1);
if (m_BLUE.scaleY < 0){
m_BLUE.alpha = 0;
m_colorOff = false;
m_logoFill = false;
m_count = 0;
m_crownFill = true;
m_streamRed = true;
m_startColor = new ColorTransform();
m_startColor.color = 0xFF00;
m_endColor = new ColorTransform();
m_endColor.color = 0xFFAA00;
m_tween.removeEventListener(TweenEvent.MOTION_CHANGE, tweenTransformLogo);
m_tween = new Tween(m_waveHolderCrown, "", None.easeNone, 0, 1, 2, true);
m_tween.addEventListener(TweenEvent.MOTION_CHANGE, tweenTransformCrown);
};
};
};
if (m_crownFill){
if (((m_clsRed.decrThickness(true)) && (m_clsGreen.decrThickness(true)))){
if (m_GREEN.rotation != 180){
m_GREEN.rotation = 180;
m_RED.rotation = 180;
m_GREEN.y = (STAGE_HEIGHT / 2);
m_RED.y = (STAGE_HEIGHT / 2);
m_ferryGreen.gotoAndStop("off");
m_ferryRed.gotoAndStop("off");
};
m_GREEN.scaleY = (m_GREEN.scaleY - 0.1);
m_RED.scaleY = (m_RED.scaleY - 0.1);
if ((((m_GREEN.scaleY < 0)) && ((m_RED.scaleY < 0)))){
m_GREEN.alpha = 0;
m_RED.alpha = 0;
m_colorOff = false;
m_crownFill = false;
m_bounce = true;
m_count = 0;
};
};
};
};
if (m_crownFill){
if (m_sampleLoadPerc == -1){
m_sampleLoadPerc = (100 - (100 * (stage.loaderInfo.bytesLoaded / stage.loaderInfo.bytesTotal)));
m_step = (m_dist / 100);
};
perc = (100 - (100 * (stage.loaderInfo.bytesLoaded / stage.loaderInfo.bytesTotal)));
perc = ((100 * (m_sampleLoadPerc - perc)) / m_sampleLoadPerc);
if (m_waveHolderCrown.y > m_yellowDest){
if ((m_waveHolderCrown.y - m_step) < m_yellowDest){
m_waveHolderCrown.y = m_yellowDest;
} else {
if (m_isLoaded){
m_waveHolderCrown.y = (m_waveHolderCrown.y - 0.5);
} else {
if (m_prevPerc != perc){
diff = (perc - m_prevPerc);
m_waveHolderCrown.y = (m_waveHolderCrown.y - m_step);
m_prevPerc = perc;
};
};
};
} else {
m_colorOff = true;
m_waveEngineCrown.stopWave();
};
};
if (m_streamRed){
if (m_count >= 20){
if (m_count == 20){
m_RED.height = (m_RED.height - m_RED.height);
m_RED.alpha = 1;
m_ferryRed.gotoAndStop("on");
};
m_RED.height = (m_RED.height + 20);
if (m_RED.height >= m_streamHeight){
m_RED.height = m_streamHeight;
if (m_clsRed.decrThickness(false)){
m_streamRed = false;
};
};
};
};
if (m_bounce){
if (m_count == 1){
wr = new mcWaterRing();
wr.x = (STAGE_WIDTH / 2);
wr.y = ((STAGE_HEIGHT / 2) + 30);
m_rootRef.addChild(wr);
m_loaderContent.push(wr);
};
if (m_count == 2){
b = new sfxBounce();
b.play();
};
if (m_count < 3){
m_logoHolder.y = (m_logoHolder.y + 1);
m_waveHolderCrown.y = (m_waveHolderCrown.y + 1);
m_waveHolderLogo.y = (m_waveHolderLogo.y + 1);
m_maskRown.y = (m_maskRown.y + 1);
m_mask.y = (m_mask.y + 1);
};
if ((((m_count > 2)) && ((m_count < 4)))){
m_logoHolder.y = (m_logoHolder.y - 1);
m_waveHolderCrown.y = (m_waveHolderCrown.y - 1);
m_waveHolderLogo.y = (m_waveHolderLogo.y - 1);
m_maskRown.y = (m_maskRown.y - 1);
m_mask.y = (m_mask.y - 1);
};
if (m_count == 4){
s = new sfxBell();
s.play();
};
if (m_count == 30){
m_play.visible = true;
m_otherGames.visible = true;
};
if (m_count > 30){
m_play.alpha = (m_play.alpha + 0.05);
if (m_count > 40){
m_otherGames.alpha = (m_otherGames.alpha + 0.05);
};
if ((((m_play.alpha >= 1)) && ((m_otherGames.alpha >= 1)))){
m_bounce = false;
onLoaderMovieFinished();
};
};
};
}
private function onOtherReleased(e:MouseEvent):void{
cleanUp();
KingAPI.openOtherGamesLink();
}
private function interpolateColor(start:ColorTransform, end:ColorTransform, t:Number):ColorTransform{
var result:ColorTransform = new ColorTransform();
result.redMultiplier = (start.redMultiplier + ((end.redMultiplier - start.redMultiplier) * t));
result.greenMultiplier = (start.greenMultiplier + ((end.greenMultiplier - start.greenMultiplier) * t));
result.blueMultiplier = (start.blueMultiplier + ((end.blueMultiplier - start.blueMultiplier) * t));
result.alphaMultiplier = (start.alphaMultiplier + ((end.alphaMultiplier - start.alphaMultiplier) * t));
result.redOffset = (start.redOffset + ((end.redOffset - start.redOffset) * t));
result.greenOffset = (start.greenOffset + ((end.greenOffset - start.greenOffset) * t));
result.blueOffset = (start.blueOffset + ((end.blueOffset - start.blueOffset) * t));
result.alphaOffset = (start.alphaOffset + ((end.alphaOffset - start.alphaOffset) * t));
return (result);
}
private function gotoGame():void{
root.stage.frameRate = m_gameFrameRate;
m_rootRef.gotoAndStop(2);
var mainClass:Class = (getDefinitionByName("BOX7IN1") as Class);
addChild((new (mainClass) as DisplayObject));
}
private function tweenTransformCrown(event:TweenEvent):void{
m_waveEngineCrown.colorUpdate(interpolateColor(m_startColor, m_endColor, m_tween.position).color);
}
}
}//package
Section 83
//mcBannedSign (mcBannedSign)
package {
import flash.display.*;
public dynamic class mcBannedSign extends MovieClip {
public var bg:MovieClip;
}
}//package
Section 84
//mcCrownMask (mcCrownMask)
package {
import flash.display.*;
public dynamic class mcCrownMask extends MovieClip {
}
}//package
Section 85
//mcFerryLine (mcFerryLine)
package {
import flash.display.*;
public dynamic class mcFerryLine extends MovieClip {
}
}//package
Section 86
//mcLogoHolder (mcLogoHolder)
package {
import flash.display.*;
public dynamic class mcLogoHolder extends MovieClip {
}
}//package
Section 87
//mcLogoMask (mcLogoMask)
package {
import flash.display.*;
public dynamic class mcLogoMask extends MovieClip {
}
}//package
Section 88
//mcOtherGames (mcOtherGames)
package {
import flash.display.*;
public dynamic class mcOtherGames extends MovieClip {
}
}//package
Section 89
//mcPlay (mcPlay)
package {
import flash.display.*;
public dynamic class mcPlay extends MovieClip {
}
}//package
Section 90
//mcWaterRing (mcWaterRing)
package {
import flash.display.*;
public dynamic class mcWaterRing extends MovieClip {
public function mcWaterRing(){
addFrameScript(39, frame40);
}
function frame40(){
stop();
}
}
}//package
Section 91
//MochiBot (MochiBot)
package {
import flash.display.*;
import flash.system.*;
import flash.net.*;
public dynamic class MochiBot extends Sprite {
public function MochiBot(){
super();
}
public static function track(parent:Sprite, tag:String):MochiBot{
if (Security.sandboxType == "localWithFile"){
return (null);
};
var self:MochiBot = new (MochiBot);
parent.addChild(self);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
var server:String = "http://core.mochibot.com/my/core.swf";
var lv:URLVariables = new URLVariables();
lv["sb"] = Security.sandboxType;
lv["v"] = Capabilities.version;
lv["swfid"] = tag;
lv["mv"] = "8";
lv["fv"] = "9";
var url:String = self.root.loaderInfo.loaderURL;
if (url.indexOf("http") == 0){
lv["url"] = url;
} else {
lv["url"] = "local";
};
var req:URLRequest = new URLRequest(server);
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
var loader:Loader = new Loader();
self.addChild(loader);
loader.load(req);
return (self);
}
}
}//package
Section 92
//sfxBell (sfxBell)
package {
import flash.media.*;
public dynamic class sfxBell extends Sound {
}
}//package
Section 93
//sfxBounce (sfxBounce)
package {
import flash.media.*;
public dynamic class sfxBounce extends Sound {
}
}//package
Section 94
//snd_box_knife_blood (snd_box_knife_blood)
package {
import flash.media.*;
public dynamic class snd_box_knife_blood extends Sound {
}
}//package
Section 95
//snd_box1_bg (snd_box1_bg)
package {
import flash.media.*;
public dynamic class snd_box1_bg extends Sound {
}
}//package
Section 96
//snd_glass1 (snd_glass1)
package {
import flash.media.*;
public dynamic class snd_glass1 extends Sound {
}
}//package
Section 97
//UI_BOX1 (UI_BOX1)
package {
import flash.display.*;
import flash.text.*;
public dynamic class UI_BOX1 extends MovieClip {
public var panel_mc:MovieClip;
public var game_mc:MovieClip;
public var musicbtn:MovieClip;
public var knife_num:TextField;
}
}//package
Section 98
//UI_BOX1_build (UI_BOX1_build)
package {
import flash.display.*;
public dynamic class UI_BOX1_build extends MovieClip {
public function UI_BOX1_build(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 99
//UI_BOX1_suger (UI_BOX1_suger)
package {
import flash.display.*;
public dynamic class UI_BOX1_suger extends MovieClip {
}
}//package
Section 100
//UI_BOX3 (UI_BOX3)
package {
import flash.display.*;
import flash.text.*;
public dynamic class UI_BOX3 extends MovieClip {
public var panel_mc:MovieClip;
public var game_mc:MovieClip;
public var musicbtn:MovieClip;
public var knife_num:TextField;
}
}//package
Section 101
//UI_BOX3_Ball (UI_BOX3_Ball)
package {
import flash.display.*;
public dynamic class UI_BOX3_Ball extends MovieClip {
}
}//package
Section 102
//UI_BOX3_Pao (UI_BOX3_Pao)
package {
import flash.display.*;
public dynamic class UI_BOX3_Pao extends MovieClip {
public var shot:MovieClip;
public var yun:MovieClip;
}
}//package
Section 103
//UI_BOX4 (UI_BOX4)
package {
import flash.display.*;
import flash.text.*;
public dynamic class UI_BOX4 extends MovieClip {
public var panel_mc:MovieClip;
public var game_mc:MovieClip;
public var musicbtn:MovieClip;
public var knife_num:TextField;
}
}//package
Section 104
//UI_BOX4_Ball (UI_BOX4_Ball)
package {
import flash.display.*;
public dynamic class UI_BOX4_Ball extends MovieClip {
public function UI_BOX4_Ball(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 105
//UI_BOX5_flower (UI_BOX5_flower)
package {
import flash.display.*;
public dynamic class UI_BOX5_flower extends MovieClip {
}
}//package
Section 106
//UI_BOX5Jump (UI_BOX5Jump)
package {
import flash.display.*;
import flash.text.*;
public dynamic class UI_BOX5Jump extends MovieClip {
public var panel_mc:MovieClip;
public var game_mc:MovieClip;
public var musicbtn:MovieClip;
public var knife_num:TextField;
}
}//package
Section 107
//UI_BOX6 (UI_BOX6)
package {
import flash.display.*;
import flash.text.*;
public dynamic class UI_BOX6 extends MovieClip {
public var panel_mc:MovieClip;
public var game_mc:MovieClip;
public var musicbtn:MovieClip;
public var knife_num:TextField;
}
}//package
Section 108
//UI_BOX6_pai (UI_BOX6_pai)
package {
import flash.display.*;
public dynamic class UI_BOX6_pai extends MovieClip {
}
}//package
Section 109
//UI_BOX7 (UI_BOX7)
package {
import flash.display.*;
import flash.text.*;
public dynamic class UI_BOX7 extends MovieClip {
public var panel_mc:MovieClip;
public var game_mc:MovieClip;
public var musicbtn:MovieClip;
public var knife_num:TextField;
}
}//package
Section 110
//UI_BOX7_car (UI_BOX7_car)
package {
import flash.display.*;
public dynamic class UI_BOX7_car extends MovieClip {
}
}//package
Section 111
//UI_BOX7IN1 (UI_BOX7IN1)
package {
import flash.display.*;
import flash.text.*;
public dynamic class UI_BOX7IN1 extends MovieClip {
public var moregame:SimpleButton;
public var restart:SimpleButton;
public var score:TextField;
public var submit:SimpleButton;
public var man:MovieClip;
public var share:SimpleButton;
}
}//package
Section 112
//UI_BOX7IN1_num (UI_BOX7IN1_num)
package {
import flash.display.*;
import flash.text.*;
public dynamic class UI_BOX7IN1_num extends MovieClip {
public var t:TextField;
}
}//package
Section 113
//UI_BOX7IN1_tip (UI_BOX7IN1_tip)
package {
import flash.display.*;
public dynamic class UI_BOX7IN1_tip extends MovieClip {
}
}//package
Section 114
//UI_DUO1 (UI_DUO1)
package {
import flash.display.*;
import flash.text.*;
public dynamic class UI_DUO1 extends MovieClip {
public var panel_mc:MovieClip;
public var game_mc:MovieClip;
public var cloud:MovieClip;
public var musicbtn:MovieClip;
public var knife_num:TextField;
}
}//package
Section 115
//UI_DUO1_arrow (UI_DUO1_arrow)
package {
import flash.display.*;
public dynamic class UI_DUO1_arrow extends MovieClip {
}
}//package
Section 116
//UI_FUNFLOW_LOGO (UI_FUNFLOW_LOGO)
package {
import flash.display.*;
public dynamic class UI_FUNFLOW_LOGO extends SimpleButton {
}
}//package