Section 1
//flippy3_1 (lemonade_xyz_fla.flippy3_1)
package lemonade_xyz_fla {
import flash.display.*;
public dynamic class flippy3_1 extends MovieClip {
public function flippy3_1(){
addFrameScript(119, frame120);
}
function frame120(){
stop();
MovieClip(root).gotoAndStop(2);
}
}
}//package lemonade_xyz_fla
Section 2
//MainTimeline (lemonade_xyz_fla.MainTimeline)
package lemonade_xyz_fla {
import flash.display.*;
import mochi.as3.*;
import flash.net.*;
public dynamic class MainTimeline extends MovieClip {
public var haupt:MovieClip;
public var swfToLoad:String;
public var loader:Loader;
public function MainTimeline(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
MochiServices.connect("7a8ca50d315470c1", root);
}
function frame2(){
stop();
swfToLoad = "http://www.flippyamok.com/game/lemonade_s.swf";
loader = new Loader();
loader.load(new URLRequest(swfToLoad));
addChild(loader);
}
}
}//package lemonade_xyz_fla
Section 3
//MC_hat_22 (lemonade_xyz_fla.MC_hat_22)
package lemonade_xyz_fla {
import flash.display.*;
public dynamic class MC_hat_22 extends MovieClip {
public function MC_hat_22(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package lemonade_xyz_fla
Section 4
//MC_PAPA_SALAD_6 (lemonade_xyz_fla.MC_PAPA_SALAD_6)
package lemonade_xyz_fla {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.text.*;
import flash.geom.*;
import flash.filters.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class MC_PAPA_SALAD_6 extends MovieClip {
public var tips_mc:MovieClip;
public var bowl_mc:MovieClip;
public var knife_mc:MovieClip;
public var trailLayer_mc:MovieClip;
public var score_txt:TextField;
public var mute_mc:MovieClip;
public var lives_txt:TextField;
public var stageArea_mc:MovieClip;
public var splatLayer_mc:MovieClip;
public var wall_mc:MovieClip;
public var dripLayer_mc:MovieClip;
public var controller_mc:MovieClip;
public var table_mc:MovieClip;
public var quality_mc:MovieClip;
public var hat_mc:MovieClip;
public var _stageInitPos:Point;
public var _cameraShake:int;
public var _gameSpeed:Number;
public var _gravity:Number;
public var _ingredientTypes:int;
public var _ingredientDelay:Number;
public var _ingredientDelayCount:Number;
public var _sideSpeed:Number;
public var _rottenChance:Number;
public var _score:int;
public var _scoreCount:int;
public var _currentLevel:int;
public var _totalScore:int;
public var _levelingUp:Boolean;
public var _hitsToLevelUp:int;
public var _levelUpCount:int;
public var _lives:int;
public var _dripCount:int;
public var _perfectArray:Array;
public var _chefPerfectArray:Array;
public var _slowDown:Number;
public var _slowDownSpeed:Number;
public var _gameOver:Boolean;
public var _firstRotten:Boolean;
public var _firstFallOff:Boolean;
public var _firstSlowDown:Boolean;
public var _firstFrog:Boolean;
public var _firstMirror:Boolean;
public var _showTips:Boolean;
public var _lastTossPosX:Number;
public var _newTossPosX:Number;
public var _mirror:Number;
public var _frog:Number;
public var _speedChange:Number;
public var _wallBlur:BlurFilter;
public var _specialItemDelay:Number;
public var _swooshSoundDelay:Number;
public var _sliceSoundDelay:Number;
public var _swoosh01Snd:SND_swoosh01;
public var _swoosh02Snd:SND_swoosh02;
public var _swoosh03Snd:SND_swoosh03;
public var _slice1Snd:SND_slice1;
public var _slice2Snd:SND_slice2;
public var _slice3Snd:SND_slice3;
public var _splatSnd:SND_splat;
public var _perfectSnd:SND_perfect;
public var _levelUpSnd:SND_levelUp;
public var _fallOffSnd:SND_fallOff;
public var _extraLifeSnd:SND_extraLife;
public var _slowDownSnd:SND_slowDown;
public var _mirrorSnd:SND_mirror;
public var _goSnd:SND_go;
public var _musicChannel:SoundChannel;
public var _musicCue:int;
public var _musicCueStart:int;
public var _musicCueEnd:int;
public var _gameQuality:int;
public var _lastTime:Number;
public var _currentTime:Number;
public var _timeDelta:Number;
public function MC_PAPA_SALAD_6(){
addFrameScript(0, frame1);
}
public function mute(_arg1:MouseEvent):void{
mute_mc.removeEventListener(MouseEvent.MOUSE_UP, mute);
mute_mc.addEventListener(MouseEvent.MOUSE_UP, unmute);
mute_mc.gotoAndStop(2);
SoundMixer.soundTransform = new SoundTransform(0);
}
public function unmute(_arg1:MouseEvent):void{
mute_mc.removeEventListener(MouseEvent.MOUSE_UP, unmute);
mute_mc.addEventListener(MouseEvent.MOUSE_UP, mute);
mute_mc.gotoAndStop(1);
SoundMixer.soundTransform = new SoundTransform(1);
}
public function quality(_arg1:MouseEvent):void{
if (_gameQuality < 3){
_gameQuality++;
} else {
_gameQuality = 1;
};
if (_gameQuality == 1){
stage.quality = "low";
} else {
if (_gameQuality == 2){
stage.quality = "medium";
} else {
if (_gameQuality == 3){
stage.quality = "high";
};
};
};
}
public function hideTips(_arg1:MouseEvent):void{
tips_mc.removeEventListener(MouseEvent.MOUSE_UP, hideTips);
tips_mc.addEventListener(MouseEvent.MOUSE_UP, showTips);
tips_mc.gotoAndStop(2);
_showTips = false;
}
public function showTips(_arg1:MouseEvent):void{
tips_mc.removeEventListener(MouseEvent.MOUSE_UP, showTips);
tips_mc.addEventListener(MouseEvent.MOUSE_UP, hideTips);
tips_mc.gotoAndStop(1);
_showTips = true;
_firstRotten = true;
_firstFallOff = true;
_firstSlowDown = true;
_firstFrog = true;
_firstMirror = true;
}
public function timeCheck(_arg1:Event){
_lastTime = _currentTime;
_currentTime = getTimer();
_timeDelta = ((_currentTime - _lastTime) * 0.001);
}
public function initialization():void{
var _local1:MC_intro = new MC_intro();
addChild(_local1);
_local1.addEventListener(Event.ENTER_FRAME, skipIntro);
_swooshSoundDelay = 0.3;
_sliceSoundDelay = 0.3;
_specialItemDelay = 25;
stageArea_mc.visible = false;
knife_mc.hitArea_mc.visible = false;
knife_mc.trail1_mc.visible = false;
knife_mc.trail2_mc.visible = false;
knife_mc.frog_mc.visible = false;
controller_mc.visible = false;
knife_mc._flip = true;
}
public function skipIntro(_arg1:Event){
if (_arg1.currentTarget.currentLabel == "intro"){
_arg1.currentTarget.gotoAndPlay("loop");
} else {
if (_arg1.currentTarget.currentLabel == "loop"){
_arg1.currentTarget.gotoAndPlay("continue");
_arg1.currentTarget.nextFrame();
_arg1.currentTarget.play();
_arg1.currentTarget.removeEventListener(Event.ENTER_FRAME, skipIntro);
_arg1.currentTarget.addEventListener(Event.ENTER_FRAME, animateIntro);
mainMenu();
};
};
}
public function mainMenu(){
var _local1:MC_gameStartScreen = new MC_gameStartScreen();
addChildAt(_local1, getChildIndex(mute_mc));
_local1.easy_mc.addEventListener(MouseEvent.MOUSE_UP, playNowDifficulty);
_local1.normal_mc.addEventListener(MouseEvent.MOUSE_UP, playNowDifficulty);
_local1.hard_mc.addEventListener(MouseEvent.MOUSE_UP, playNowDifficulty);
setButton(_local1.playNow_mc, "PLAY NOW!", 0xFF6600);
setButton(_local1.easy_mc, "Easy", 0x66CC00);
setButton(_local1.normal_mc, "Medium", 0x66CC00);
setButton(_local1.hard_mc, "Hard", 0x66CC00);
_local1.easy_mc.addEventListener(MouseEvent.MOUSE_OVER, buttonOver);
_local1.normal_mc.addEventListener(MouseEvent.MOUSE_OVER, buttonOver);
_local1.hard_mc.addEventListener(MouseEvent.MOUSE_OVER, buttonOver);
}
public function setButton(_arg1:MovieClip, _arg2:String="button", _arg3:uint=0xFF0000){
_arg1.button_txt.text = _arg2;
var _local4:ColorTransform = _arg1.base_mc.transform.colorTransform;
_local4.color = _arg3;
_arg1.base_mc.transform.colorTransform = _local4;
}
public function buttonOver(_arg1:MouseEvent){
var _local2:GlowFilter = new GlowFilter();
_local2.blurX = (_local2.blurY = 20);
_local2.strength = 10;
_arg1.currentTarget.base_mc.filters = new Array(_local2);
_arg1.currentTarget.addEventListener(MouseEvent.MOUSE_OUT, buttonOut);
}
public function buttonOut(_arg1:MouseEvent){
_arg1.currentTarget.base_mc.filters = [];
_arg1.currentTarget.removeEventListener(MouseEvent.MOUSE_OUT, buttonOut);
}
public function playNowDifficulty(_arg1:MouseEvent){
_arg1.currentTarget.removeEventListener(MouseEvent.MOUSE_UP, playNowDifficulty);
switch (_arg1.currentTarget.name){
case "easy_mc":
_lives = 5;
_currentLevel = 0;
break;
case "normal_mc":
_lives = 3;
_currentLevel = 6;
break;
case "hard_mc":
_lives = 3;
_currentLevel = 12;
break;
};
_arg1.currentTarget._fadeSpeed = 0.1;
_arg1.currentTarget.parent.addEventListener(Event.ENTER_FRAME, fadeOut);
lives_txt.text = _lives.toString();
setDifficulty(_currentLevel);
_score = (_scoreCount = 0);
score_txt.text = _score.toString();
knife_mc.addEventListener(Event.ENTER_FRAME, knifeAnimation);
resetStage();
startGame();
}
public function animateIntro(_arg1:Event){
if (_arg1.target.currentFrame == _arg1.target.totalFrames){
removeChild(MovieClip(_arg1.target));
_arg1.target.removeEventListener(Event.ENTER_FRAME, animateIntro);
};
}
public function startGameClick(_arg1:MouseEvent):void{
_arg1.currentTarget.removeEventListener(MouseEvent.MOUSE_UP, startGameClick);
removeChild(MovieClip(_arg1.currentTarget));
resetStage();
startGame();
}
public function startGame(){
MovieClip(root).haupt.table_mc.flippy.gotoAndPlay(1);
_cameraShake = 0;
_score = (_scoreCount = 0);
score_txt.text = _scoreCount.toString();
knife_mc._bestCombo = 0;
_levelUpCount = 0;
_ingredientDelayCount = 1;
_gravity = 0.8;
_slowDown = 0;
_slowDownSpeed = 1;
_gameOver = false;
table_mc.y = 0;
wall_mc.y = 0;
var _local1:MC_readyGo = new MC_readyGo();
addChild(_local1);
_local1.x = (stageArea_mc.width * 0.5);
_local1.y = (stageArea_mc.height * 0.3);
_local1.addEventListener(Event.ENTER_FRAME, readyGoAnim);
}
public function readyGoAnim(_arg1:Event):void{
if (_arg1.target.currentLabel == "raiseView"){
table_mc.y = (table_mc.y - ((table_mc.y - 300) * 0.05));
wall_mc.y = (wall_mc.y - ((wall_mc.y - 300) * 0.05));
};
this.addChild(MovieClip(_arg1.target));
if (_arg1.target.currentLabel == "startGame"){
addEventListener(Event.ENTER_FRAME, animation);
_goSnd.play();
};
if (_arg1.target.currentFrame == _arg1.target.totalFrames){
_arg1.target.removeEventListener(Event.ENTER_FRAME, readyGoAnim);
this.removeChild(MovieClip(_arg1.target));
};
}
public function knifeAnimation(_arg1:Event){
var _local2:MC_trail;
var _local3:MC_trail;
var _local4:MovieClip;
_arg1.target._prevPosX = _arg1.target._nextPosX;
_arg1.target._prevPosY = _arg1.target._nextPosY;
if (_arg1.target.name == "knife_mc"){
_arg1.target._nextPosX = mouseX;
_arg1.target._nextPosY = mouseY;
};
_arg1.target._delta = Math.sqrt((Math.pow((_arg1.target._nextPosX - _arg1.target._prevPosX), 2) + Math.pow((_arg1.target._nextPosY - _arg1.target._prevPosY), 2)));
if (_arg1.target.name == "knife_mc"){
if (_mirror > 0){
_arg1.target.x = (_arg1.target.x - (((_arg1.target.x - (stageArea_mc.width - mouseX)) * _arg1.target._speed) * _speedChange));
_arg1.target.y = (_arg1.target.y - (((_arg1.target.y - (stageArea_mc.height - mouseY)) * _arg1.target._speed) * _speedChange));
} else {
_arg1.target.x = (_arg1.target.x - (((_arg1.target.x - mouseX) * _arg1.target._speed) * _speedChange));
_arg1.target.y = (_arg1.target.y - (((_arg1.target.y - mouseY) * _arg1.target._speed) * _speedChange));
};
};
if (_arg1.target.x > (stageArea_mc.x + stageArea_mc.width)){
_arg1.target.x = (stageArea_mc.x + stageArea_mc.width);
};
if (_arg1.target.x < stageArea_mc.x){
_arg1.target.x = stageArea_mc.x;
};
if (_arg1.target.y > (stageArea_mc.y + stageArea_mc.height)){
_arg1.target.y = (stageArea_mc.y + stageArea_mc.height);
};
if (_arg1.target.y < stageArea_mc.y){
_arg1.target.y = stageArea_mc.y;
};
_arg1.target._prevTrail1Pos = _arg1.target._nextTrail1Pos;
_arg1.target._prevTrail2Pos = _arg1.target._nextTrail2Pos;
_arg1.target._nextTrail1Pos = _arg1.target.localToGlobal(new Point(_arg1.target.trail1_mc.x, _arg1.target.trail1_mc.y));
_arg1.target._nextTrail2Pos = _arg1.target.localToGlobal(new Point(_arg1.target.trail2_mc.x, _arg1.target.trail2_mc.y));
if (_arg1.target._delta > _arg1.target._deltaCheck){
_local2 = new MC_trail();
addChild(_local2);
_local2.x = _arg1.target._nextTrail1Pos.x;
_local2.y = _arg1.target._nextTrail1Pos.y;
_local3 = new MC_trail();
addChild(_local3);
_local3.x = _arg1.target._nextTrail2Pos.x;
_local3.y = _arg1.target._nextTrail2Pos.y;
_local4 = new MovieClip();
trailLayer_mc.addChild(_local4);
_local4.graphics.beginFill(0xFFFFFF, 0.4);
_local4.graphics.moveTo(_arg1.target._nextTrail1Pos.x, _arg1.target._nextTrail1Pos.y);
_local4.graphics.lineTo(_arg1.target._prevTrail1Pos.x, _arg1.target._prevTrail1Pos.y);
_local4.graphics.lineTo(_arg1.target._prevTrail2Pos.x, _arg1.target._prevTrail2Pos.y);
_local4.graphics.lineTo(_arg1.target._nextTrail2Pos.x, _arg1.target._nextTrail2Pos.y);
_local4.graphics.endFill();
_local4._fadeSpeed = 0.1;
_local4.addEventListener(Event.ENTER_FRAME, fadeOut);
removeChild(_local2);
removeChild(_local3);
if (_frog > 0){
_frog = (_frog - _arg1.target._delta);
} else {
if (_frog != 0){
_frog = 0;
_speedChange = 1;
knife_mc.frog_mc.visible = false;
createIngredient(_arg1.target.x, _arg1.target.y, 202, 3, ((Math.random() * -5) - 10), ((Math.random() * -5) - 10), 0, 0, true);
};
};
if (_swooshSoundDelay <= 0){
if (Math.random() > 0.5){
_swoosh02Snd.play();
} else {
_swoosh03Snd.play();
};
_swooshSoundDelay = 0.3;
};
};
if ((_arg1.target._nextPosX - _arg1.target._prevPosX) > 0){
if (_arg1.target._flip == true){
_arg1.target.scaleX = -1;
};
} else {
_arg1.target.scaleX = 1;
};
_arg1.target.rotation = ((0.6 * (_arg1.target._nextPosX - _arg1.target._prevPosX)) * _speedChange);
if (_arg1.target.rotation > 45){
_arg1.target.rotation = 45;
};
if (_arg1.target.rotation < -45){
_arg1.target.rotation = -45;
};
if (_swooshSoundDelay > 0){
_swooshSoundDelay = (_swooshSoundDelay - _timeDelta);
};
if (_sliceSoundDelay > 0){
_sliceSoundDelay = (_sliceSoundDelay - _timeDelta);
};
if (_specialItemDelay > 0){
_specialItemDelay = (_specialItemDelay - _timeDelta);
};
}
public function animation(_arg1:Event):void{
var _local2:Number;
var _local3:Number;
var _local4:int;
if (_levelingUp == false){
if (_ingredientDelayCount < _ingredientDelay){
_ingredientDelayCount = (_ingredientDelayCount + _timeDelta);
} else {
_ingredientDelayCount = ((_ingredientDelay * Math.random()) * 0.5);
if (_specialItemDelay <= 0){
if (Math.random() > 0.5){
_local2 = (stageArea_mc.x + stageArea_mc.width);
_local3 = -25;
} else {
_local2 = stageArea_mc.x;
_local3 = 25;
};
if (Math.random() > 0.7){
createIngredient(_local2, ((0.4 + (Math.random() * 0.2)) * stageArea_mc.height), (101 + Math.floor((Math.random() * 2))), 1, _local3, ((Math.random() * -5) - 10), 0, 0, true);
} else {
createIngredient(_local2, ((0.4 + (Math.random() * 0.2)) * stageArea_mc.height), (202 + Math.floor((Math.random() * 2))), 1, _local3, ((Math.random() * -5) - 10), 0, 0, true);
};
_specialItemDelay = 25;
} else {
_local4 = (1 + Math.round((Math.random() - 0.4)));
while (_local4 > 0) {
_local4--;
if (Math.random() > 0.05){
while (Math.abs((_lastTossPosX - _newTossPosX)) < (stageArea_mc.width * 0.3)) {
_newTossPosX = (0.1 + ((stageArea_mc.width * Math.random()) * 0.8));
};
createIngredient(_newTossPosX, stageArea_mc.height, Math.ceil((Math.random() * _ingredientTypes)), 1, ((Math.random() * _sideSpeed) - (_sideSpeed * 0.5)), ((Math.random() * -5) - 20), _rottenChance);
_lastTossPosX = _newTossPosX;
} else {
if (Math.random() > 0.5){
createIngredient((stageArea_mc.x + stageArea_mc.width), ((0.4 + (Math.random() * 0.4)) * stageArea_mc.height), Math.ceil((Math.random() * _ingredientTypes)), 1, -15, ((Math.random() * -5) - 10), 0, 0, true);
} else {
createIngredient(stageArea_mc.x, ((0.4 + (Math.random() * 0.4)) * stageArea_mc.height), Math.ceil((Math.random() * _ingredientTypes)), 1, 15, ((Math.random() * -5) - 10), 0, 0, true);
};
};
};
};
};
};
if (_scoreCount < _score){
_scoreCount = (_scoreCount + 50);
score_txt.text = _scoreCount.toString();
};
if (knife_mc._comboDelayCount < knife_mc._comboDelay){
knife_mc._comboDelayCount++;
} else {
knife_mc._combo = 1;
};
if (_slowDown > 0){
_slowDown = (_slowDown - _timeDelta);
_slowDownSpeed = (_slowDownSpeed - ((_slowDownSpeed - 0.5) * 0.1));
} else {
_slowDownSpeed = (_slowDownSpeed - ((_slowDownSpeed - 1) * 0.1));
};
_wallBlur = new BlurFilter();
_wallBlur.blurX = (_wallBlur.blurY = ((1 - _slowDownSpeed) * 20));
wall_mc.filters = new Array(_wallBlur);
if (_mirror > 0){
_mirror = (_mirror - _timeDelta);
};
}
public function fadeOut(_arg1:Event){
if (_arg1.target.alpha > 0){
_arg1.target.alpha = (_arg1.target.alpha - _arg1.target._fadeSpeed);
} else {
_arg1.target.removeEventListener(Event.ENTER_FRAME, fadeOut);
addChild(MovieClip(_arg1.target));
removeChild(MovieClip(_arg1.target));
};
}
public function createIngredient(_arg1:Number=0, _arg2:Number=0, _arg3:int=1, _arg4:int=1, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0.2, _arg8:int=0, _arg9:Boolean=false){
var _local11:MC_tomato;
var _local12:MC_cucumber;
var _local13:MC_onion;
var _local14:MC_broccoli;
var _local15:MC_cheese;
var _local16:MC_yellowPepper;
var _local17:MC_potato;
var _local18:MC_carrot;
var _local19:MC_avocado;
var _local20:MC_radish;
var _local21:MC_redPepper;
var _local22:MC_egg;
var _local23:MC_cabbage;
var _local24:MC_mushroom;
var _local25:MC_greenPepper;
var _local26:ColorTransform;
var _local10:MovieClip = new MovieClip();
switch (_arg3){
case 1:
_local11 = new MC_tomato();
_local11._color = 0xFF0000;
_local10 = _local11;
break;
case 2:
_local12 = new MC_cucumber();
_local12._color = 0xFF0000;
_local12._noSplat = true;
_local10 = _local12;
break;
case 3:
_local13 = new MC_onion();
_local13._color = 16104777;
_local10 = _local13;
break;
case 4:
_local14 = new MC_broccoli();
_local14._color = 0xFF0000;
_local10 = _local14;
break;
case 5:
_local15 = new MC_cheese();
_local15._color = 0xFF0000;
_local15._noSplat = true;
_local10 = _local15;
break;
case 6:
_local16 = new MC_yellowPepper();
_local16._color = 0xFF0000;
_local10 = _local16;
break;
case 7:
_local17 = new MC_potato();
_local17._color = 0xFF0000;
_local17._noSplat = true;
_local10 = _local17;
break;
case 8:
_local18 = new MC_carrot();
_local18._color = 0xFF0000;
_local18._noSplat = true;
_local10 = _local18;
break;
case 9:
_local19 = new MC_avocado();
_local19._color = 0xFF0000;
_local19._noSplat = true;
_local10 = _local19;
break;
case 10:
_local20 = new MC_radish();
_local20._color = 0xFF0000;
_local10 = _local20;
break;
case 11:
_local21 = new MC_redPepper();
_local21._color = 0xFF0000;
_local21._noSplat = true;
_local10 = _local21;
break;
case 12:
_local22 = new MC_egg();
_local22._color = 0xFF0000;
_local22._noSplat = true;
_local10 = _local22;
break;
case 13:
_local23 = new MC_cabbage();
_local23._color = 0xFF0000;
_local23._noSplat = true;
_local10 = _local23;
break;
case 14:
_local24 = new MC_mushroom();
_local24._color = 0xFF0000;
_local24._noSplat = true;
_local10 = _local24;
break;
case 15:
_local25 = new MC_greenPepper();
_local25._color = 0xFF0000;
_local10 = _local25;
break;
default:
trace("no type set");
break;
};
addChildAt(_local10, getChildIndex(bowl_mc));
_local10._type = _arg3;
_local10.x = _arg1;
_local10.y = _arg2;
_local10.gotoAndStop(_arg4);
if (_local10.currentFrame == 1){
_local10.rotation = (Math.random() * 360);
};
_local10._perfectIndex = _arg8;
_local10._speedX = _arg5;
_local10._speedY = _arg6;
_local10._delay = 10;
_local10._sideWays = _arg9;
if (Math.random() < _arg7){
_local10._rotten = true;
_local26 = _local10.transform.colorTransform;
_local26.blueOffset = -150;
_local26.greenOffset = -150;
_local26.redOffset = -150;
_local10.transform.colorTransform = _local26;
} else {
_local10._rotten = false;
};
_local10.addEventListener(Event.ENTER_FRAME, ingredientAnimation);
}
public function ingredientAnimation(_arg1:Event){
var _local2:int;
_arg1.target.x = (_arg1.target.x + (((_arg1.target._speedX * _timeDelta) * _gameSpeed) * _slowDownSpeed));
_arg1.target.y = (_arg1.target.y + (((_arg1.target._speedY * _timeDelta) * _gameSpeed) * _slowDownSpeed));
_arg1.target._speedY = (_arg1.target._speedY + (((_gravity * _timeDelta) * _gameSpeed) * _slowDownSpeed));
_arg1.target.rotation = (_arg1.target.rotation + (((_arg1.target._speedX * _timeDelta) * _gameSpeed) * _slowDownSpeed));
if (_arg1.target.x > ((stageArea_mc.x + stageArea_mc.width) - (_arg1.target.width * 0.5))){
if (((!((_arg1.target._sideWays == true))) && ((_arg1.target._speedX > 0)))){
_arg1.target._speedX = (_arg1.target._speedX * -1);
};
};
if (_arg1.target.x < (stageArea_mc.x + (_arg1.target.width * 0.5))){
if (((!((_arg1.target._sideWays == true))) && ((_arg1.target._speedX < 0)))){
_arg1.target._speedX = (_arg1.target._speedX * -1);
};
};
if (_arg1.target.y > ((stageArea_mc.y + stageArea_mc.height) + (_arg1.target.height * 0.5))){
if (((((((!((_arg1.target._sideWays == true))) && ((_gameOver == false)))) && ((_arg1.target._rotten == false)))) && ((_arg1.target.currentFrame == 1)))){
if ((((_firstFallOff == true)) && ((_showTips == true)))){
_firstFallOff = false;
};
_arg1.target.y = ((stageArea_mc.y + stageArea_mc.height) - (_arg1.target.height * 2));
_lives--;
lives_txt.text = _lives.toString();
if (_lives <= 0){
gameOver();
};
hat_mc.play();
bonusEffect(MovieClip(_arg1.target), "lost!", 0.05, 16672615);
_arg1.target.y = (stageArea_mc.y + (stageArea_mc.height * 2));
_fallOffSnd.play();
};
_arg1.target.removeEventListener(Event.ENTER_FRAME, ingredientAnimation);
removeChild(MovieClip(_arg1.target));
};
if (_arg1.target._delay > 0){
_arg1.target._delay--;
} else {
if (_arg1.target.visible == true){
if (((((knife_mc.hitArea_mc.hitTestObject(MovieClip(_arg1.target))) && ((knife_mc._delta > knife_mc._deltaCheck)))) && (!((_arg1.target._type == 202))))){
if (_arg1.target._rotten == true){
if ((((_firstRotten == true)) && ((_showTips == true)))){
_firstRotten = false;
};
_lives--;
lives_txt.text = _lives.toString();
if (_lives <= 0){
gameOver();
};
hat_mc.play();
createSplat(MovieClip(_arg1.target), _arg1.target._color, _arg1.target.rotation, 8);
_arg1.target.removeEventListener(Event.ENTER_FRAME, ingredientAnimation);
removeChild(MovieClip(_arg1.target));
addEventListener(Event.ENTER_FRAME, shakeAnimation);
_cameraShake = 20;
_splatSnd.play();
} else {
if (_arg1.target.currentFrame < (_arg1.target.totalFrames - 1)){
if (_arg1.target.currentFrame == 1){
_perfectArray.push((Math.pow(2, ((_arg1.target.totalFrames + 1) * 0.5)) - 1));
_arg1.target._perfectIndex = (_perfectArray.length - 1);
} else {
_perfectArray[_arg1.target._perfectIndex] = (_perfectArray[_arg1.target._perfectIndex] - 1);
};
if (_arg1.target._type < 101){
if (_perfectArray[_arg1.target._perfectIndex] == 9){
bonusEffect(MovieClip(_arg1.target), (("PERFECTO! \n" + "+") + ((knife_mc._comboBonus * knife_mc._combo) * 2).toString()), 0.05, 16777113);
_score = (_score + ((knife_mc._comboBonus * knife_mc._combo) * 2));
_perfectSnd.play();
} else {
bonusEffect(MovieClip(_arg1.target), ("+" + (knife_mc._comboBonus * knife_mc._combo).toString()), 0.1);
_score = (_score + (knife_mc._comboBonus * knife_mc._combo));
};
};
if ((_arg1.target.currentFrame % 2) == 0){
_arg1.target.nextFrame();
};
_arg1.target.nextFrame();
if (((!((_arg1.target._frog == true))) && (!((_arg1.target._bomb == true))))){
createIngredient(_arg1.target.x, _arg1.target.y, _arg1.target._type, _arg1.target.currentFrame, ((Math.random() * 5) + 2), ((Math.random() * -5) - 8), 0, _arg1.target._perfectIndex);
};
_arg1.target.nextFrame();
if (((!((_arg1.target._frog == true))) && (!((_arg1.target._bomb == true))))){
createIngredient(_arg1.target.x, _arg1.target.y, _arg1.target._type, _arg1.target.currentFrame, ((Math.random() * -5) - 2), ((Math.random() * -5) - 8), 0, _arg1.target._perfectIndex);
};
if (_arg1.target._noSplat != true){
createSplat(MovieClip(_arg1.target), _arg1.target._color, _arg1.target.rotation, Math.ceil((Math.random() * 7)));
};
if (((!((_arg1.target._frog == true))) && (!((_arg1.target._bomb == true))))){
_local2 = (Math.ceil((Math.random() * 3)) + 3);
while (_local2 > 0) {
_local2--;
if (_dripCount < 50){
_dripCount++;
createDrip(((_arg1.target.x + (Math.random() * 20)) - 10), ((_arg1.target.y + (Math.random() * 20)) - 10), _arg1.target._color, ((Math.random() * 10) - 5), ((Math.random() * -10) - 5));
};
};
};
if (_arg1.target._extraLife == true){
_lives++;
lives_txt.text = _lives.toString();
bonusEffect(MovieClip(_arg1.target), "EXTRA \nLIFE!", 0.01, 9618677);
_extraLifeSnd.play();
};
if (_arg1.target._slowDown == true){
if ((((_firstSlowDown == true)) && ((_showTips == true)))){
_firstSlowDown = false;
_displayTip(MovieClip(_arg1.target), 500, 100, "Slice a star to slow down time \n for a few seconds");
};
_slowDown = 5;
bonusEffect(MovieClip(_arg1.target), "SLOW \nDOWN!", 0.01, 0xFF6600);
_slowDownSnd.play();
};
if (_arg1.target._mirror == true){
if ((((_firstMirror == true)) && ((_showTips == true)))){
_firstMirror = false;
_displayTip(MovieClip(_arg1.target), 500, 100, "The mirror flips your controls \n for a few seconds");
};
_mirror = 6;
bonusEffect(MovieClip(_arg1.target), "MIRROR!", 0.01, 12511996);
_mirrorSnd.play();
};
_arg1.target.removeEventListener(Event.ENTER_FRAME, ingredientAnimation);
removeChild(MovieClip(_arg1.target));
if (_levelUpCount < _hitsToLevelUp){
_levelUpCount++;
} else {
_levelUpCount = 0;
levelUp();
};
if ((((knife_mc._combo == 1)) || ((knife_mc._comboDelayCount < knife_mc._comboDelay)))){
knife_mc._combo++;
if (knife_mc._bestCombo < knife_mc._combo){
knife_mc._bestCombo = knife_mc._combo;
};
knife_mc._comboDelayCount = 0;
};
if (_sliceSoundDelay <= 0){
if (_arg1.target._noSplat == true){
_slice3Snd.play();
} else {
if (Math.random() > 0.5){
_slice1Snd.play();
} else {
_slice2Snd.play();
};
};
_sliceSoundDelay = 0.3;
};
};
};
};
};
};
if (((((((knife_mc.hitArea_mc.hitTestObject(MovieClip(_arg1.target))) && ((_arg1.target._frog == true)))) && ((_frog <= 0)))) && ((_arg1.target.currentFrame == 1)))){
if ((((_firstFrog == true)) && ((_showTips == true)))){
_firstFrog = false;
_displayTip(MovieClip(_arg1.target), 500, 100, "Don't let the frog stick, \n Shake it off!");
};
_frog = 5000;
_speedChange = 0.3;
knife_mc.frog_mc.visible = true;
bonusEffect(MovieClip(_arg1.target), "SHAKE \nIT OFF!", 0.01, 6736947);
_arg1.target.removeEventListener(Event.ENTER_FRAME, ingredientAnimation);
removeChild(MovieClip(_arg1.target));
};
if (_arg1.target._rotten == true){
createFume(MovieClip(_arg1.target));
};
}
public function createDrip(_arg1:Number=0, _arg2:Number=0, _arg3:uint=0xFF0000, _arg4:Number=0, _arg5:Number=0){
var _local6:MC_drip = new MC_drip();
dripLayer_mc.addChild(_local6);
_local6.x = _arg1;
_local6.y = _arg2;
_local6.scaleX = (_local6.scaleY = ((Math.random() * 0.5) + 0.5));
_local6._speedX = _arg4;
_local6._speedY = _arg5;
var _local7:ColorTransform = _local6.transform.colorTransform;
_local7.color = _arg3;
_local7.redMultiplier = 0;
_local6.transform.colorTransform = _local7;
_local6.addEventListener(Event.ENTER_FRAME, fallAnimation);
}
public function fallAnimation(_arg1:Event){
_arg1.target.x = (_arg1.target.x + (((_arg1.target._speedX * _timeDelta) * _gameSpeed) * _slowDownSpeed));
_arg1.target.y = (_arg1.target.y + (((_arg1.target._speedY * _timeDelta) * _gameSpeed) * _slowDownSpeed));
_arg1.target._speedY = (_arg1.target._speedY + (((0.4 * _timeDelta) * _gameSpeed) * _slowDownSpeed));
_arg1.target.rotation = (_arg1.target.rotation + ((((_arg1.target._speedX * 5) * _timeDelta) * _gameSpeed) * _slowDownSpeed));
_arg1.target.scaleX = (_arg1.target.scaleY = (_arg1.target.scaleY - 0.04));
if (_arg1.target.scaleX < 0.05){
_dripCount--;
dripLayer_mc.removeChild(MovieClip(_arg1.target));
_arg1.target.removeEventListener(Event.ENTER_FRAME, fallAnimation);
};
}
public function bonusEffect(_arg1:MovieClip, _arg2:String="", _arg3:Number=0.1, _arg4:uint=0xFFFFFF){
var _local5:MC_bonus = new MC_bonus();
addChild(_local5);
_local5.x = _arg1.x;
_local5.y = _arg1.y;
_local5._speedY = 4;
_local5.rotation = ((Math.random() * 60) - 30);
_local5.bonus_txt.text = _arg2.toString();
_local5.bonus_txt.textColor = _arg4;
_local5.scaleX = (_local5.scaleY = (1 + (knife_mc._combo * 0.1)));
_local5._fadeOut = _arg3;
_local5.addEventListener(Event.ENTER_FRAME, bonusAnimation);
}
public function bonusAnimation(_arg1:Event){
_arg1.target.y = (_arg1.target.y - _arg1.target._speedY);
_arg1.target._speedY = (_arg1.target._speedY * 0.9);
_arg1.target.alpha = (_arg1.target.alpha - _arg1.target._fadeOut);
if (_arg1.target.alpha <= 0){
removeChild(MovieClip(_arg1.target));
_arg1.target.removeEventListener(Event.ENTER_FRAME, bonusAnimation);
};
}
public function createSplat(_arg1:MovieClip, _arg2:uint=0xFF0000, _arg3:int=0, _arg4:int=1){
var _local5:MC_splat = new MC_splat();
splatLayer_mc.addChildAt(_local5, getChildIndex(wall_mc));
_local5.gotoAndStop(_arg4);
_local5.x = _arg1.x;
_local5.y = _arg1.y;
_local5.rotation = _arg3;
_local5.scaleX = (_local5.scaleY = ((Math.random() * 0.4) + 0.6));
_local5._speedY = ((Math.random() * 0.1) + 0.1);
_local5._scaleChange = 1;
var _local6:ColorTransform = _local5.transform.colorTransform;
_local6.color = _arg2;
_local5.transform.colorTransform = _local6;
_local5.addEventListener(Event.ENTER_FRAME, splatAnimation);
}
public function splatAnimation(_arg1:Event){
_arg1.target.alpha = (_arg1.target.alpha - (((0.02 * _timeDelta) * _gameSpeed) * _slowDownSpeed));
_arg1.target.y = (_arg1.target.y + (((_arg1.target._speedY * _timeDelta) * _gameSpeed) * _slowDownSpeed));
_arg1.target._speedY = (_arg1.target._speedY + (((0.02 * _timeDelta) * _gameSpeed) * _slowDownSpeed));
_arg1.target.scaleX = (_arg1.target.scaleY = (_arg1.target.scaleY + _arg1.target._scaleChange));
_arg1.target._scaleChange = (_arg1.target._scaleChange * 0.3);
if (_arg1.target.alpha <= 0){
splatLayer_mc.removeChild(MovieClip(_arg1.target));
_arg1.target.removeEventListener(Event.ENTER_FRAME, splatAnimation);
};
}
public function createFume(_arg1:MovieClip, _arg2:Number=-1, _arg3:Number=-2, _arg4:Number=1, _arg5:Number=2, _arg6:Number=-0.04, _arg7:Number=-0.08):void{
var _local8:MC_fume = new MC_fume();
addChild(_local8);
_local8.x = ((_arg1.x + (Math.random() * _arg1.width)) - (0.5 * _arg1.width));
_local8.y = ((_arg1.y + (Math.random() * _arg1.height)) - (0.5 * _arg1.height));
_local8._speedY = ((Math.random() * (_arg3 - _arg2)) + _arg2);
_local8.scaleX = (_local8.scaleY = ((Math.random() * (_arg5 - _arg4)) + _arg4));
_local8._sizeChange = ((Math.random() * (_arg7 - _arg6)) + _arg6);
_local8.alpha = 0;
_local8.addEventListener(Event.ENTER_FRAME, fumeAnimation);
}
public function fumeAnimation(_arg1:Event):void{
_arg1.target.alpha = (_arg1.target.alpha + 0.08);
_arg1.target.y = (_arg1.target.y + _arg1.target._speedY);
_arg1.target.scaleX = (_arg1.target.scaleY = (_arg1.target.scaleY + _arg1.target._sizeChange));
if (_arg1.target.scaleX < 0.1){
_arg1.target.removeEventListener(Event.ENTER_FRAME, fumeAnimation);
removeChild(MovieClip(_arg1.target));
};
}
public function shakeAnimation(_arg1:Event){
if (_cameraShake > 0){
_cameraShake = (_cameraShake - 0.1);
x = ((Math.random() * _cameraShake) - (_cameraShake * 0.5));
y = ((Math.random() * _cameraShake) - (_cameraShake * 0.5));
} else {
if (x != 0){
x = _stageInitPos.x;
x = _stageInitPos.y;
removeEventListener(Event.ENTER_FRAME, shakeAnimation);
};
};
}
public function levelUp(){
_currentLevel++;
setDifficulty(_currentLevel);
_levelingUp = true;
var _local1:MC_levelUp = new MC_levelUp();
addChildAt(_local1, getChildIndex(hat_mc));
_local1.addEventListener(Event.ENTER_FRAME, levelUpAnim);
_local1._woohoo = true;
}
public function levelUpAnim(_arg1:Event){
if ((((_arg1.target._woohoo == true)) && ((_arg1.target.currentLabel == "woohoo")))){
_arg1.target._woohoo = false;
_levelUpSnd.play();
};
if (_arg1.target.currentFrame == _arg1.target.totalFrames){
_levelingUp = false;
removeChild(MovieClip(_arg1.target));
_arg1.target.removeEventListener(Event.ENTER_FRAME, levelUpAnim);
};
}
public function setDifficulty(_arg1:int=0, _arg2:int=30, _arg3:int=1, _arg4:Number=-0.1, _arg5:Number=2, _arg6:Number=0.02, _arg7:Number=2){
_hitsToLevelUp = (60 + (_arg2 * _arg1));
_ingredientTypes = (5 + (_arg3 * _arg1));
if (_ingredientTypes > 15){
_ingredientTypes = 15;
};
_ingredientDelay = (2.5 + (_arg4 * _arg1));
_gameSpeed = (30 + (_arg5 * _arg1));
_sideSpeed = (10 + (_arg7 * _arg1));
}
public function _displayTip(_arg1:MovieClip, _arg2:int=100, _arg3:int=100, _arg4:String="tip"){
removeEventListener(Event.ENTER_FRAME, animation);
knife_mc.removeEventListener(Event.ENTER_FRAME, knifeAnimation);
_slowDownSpeed = 0;
var _local5:MC_tip = new MC_tip();
addChild(_local5);
_local5.x = _arg1.x;
_local5.y = _arg1.y;
_local5.tip_txt.text = _arg4;
_local5.tipBox_mc.width = (_local5.tip_txt.width = _arg2);
_local5.tipBox_mc.height = (_local5.tip_txt.height = _arg3);
if (_local5.x > ((stageArea_mc.x + stageArea_mc.width) - (_local5.width * 0.5))){
_local5.x = ((stageArea_mc.x + stageArea_mc.width) - (_local5.width * 0.5));
};
if (_local5.x < (_local5.width * 0.5)){
_local5.x = (_local5.width * 0.5);
};
if (_local5.y > ((stageArea_mc.y + stageArea_mc.height) - (_local5.height * 0.5))){
_local5.y = ((stageArea_mc.y + stageArea_mc.height) - (_local5.height * 0.5));
};
if (_local5.y < (_local5.height * 0.5)){
_local5.y = (_local5.height * 0.5);
};
_local5.addEventListener(MouseEvent.MOUSE_UP, removeTip);
}
public function removeTip(_arg1:MouseEvent){
addEventListener(Event.ENTER_FRAME, animation);
knife_mc.addEventListener(Event.ENTER_FRAME, knifeAnimation);
_slowDownSpeed = 1;
removeChild(MovieClip(_arg1.currentTarget));
_arg1.target.removeEventListener(MouseEvent.MOUSE_UP, removeTip);
}
public function gameOver(){
_gameOver = true;
knife_mc.removeEventListener(Event.ENTER_FRAME, knifeAnimation);
removeEventListener(Event.ENTER_FRAME, animation);
knife_mc._delta = 0;
_mirror = 0;
_frog = 0;
_speedChange = 1;
wall_mc.filters = undefined;
this.filters = undefined;
var _local1:MC_gameOverScreen = new MC_gameOverScreen();
addChild(_local1);
_local1.playNowScore_mc.score_txt.text = _score.toString();
_local1.playNowScore_mc.level_txt.text = ((_currentLevel.toString() + " x 1000 = ") + (_currentLevel * 1000).toString());
_local1.playNowScore_mc.combo_txt.text = ((knife_mc._bestCombo.toString() + " x 2000 = ") + (knife_mc._bestCombo * 2000).toString());
_local1.totalScore_mc.totalScore_txt.text = Math.ceil(((_score + (_currentLevel * 1000)) + (knife_mc._bestCombo * 2000))).toString();
_local1.totalScore_mc_click.addEventListener(MouseEvent.MOUSE_UP, restartGame);
}
public function gameOverAnimation(_arg1:Event):void{
addChild(MovieClip(_arg1.target));
if (_arg1.target.alpha < 2){
_arg1.target.alpha = (_arg1.target.alpha + 0.1);
} else {
_arg1.target.removeEventListener(Event.ENTER_FRAME, gameOverAnimation);
_arg1.currentTarget.addEventListener(MouseEvent.MOUSE_UP, restartGame);
};
}
public function restartGame(_arg1:MouseEvent):void{
var event = _arg1;
try {
event.currentTarget.removeEventListener(MouseEvent.MOUSE_UP, restartGame);
removeChild(MovieClip(event.currentTarget.parent));
_wallBlur = new BlurFilter();
_wallBlur.blurX = (_wallBlur.blurY = 0);
wall_mc.filters = new Array(_wallBlur);
knife_mc.frog_mc.visible = false;
_speedChange = 1;
_totalScore = 0;
mainMenu();
} catch(event:ArgumentError) {
trace("error");
};
}
public function resetStage(){
knife_mc.x = (stageArea_mc.x + (stageArea_mc.width * 0.5));
knife_mc.y = (stageArea_mc.y + (stageArea_mc.height * 0.3));
knife_mc._prevPosX = (knife_mc._nextPosX = knife_mc.x);
knife_mc._prevPosY = (knife_mc._nextPosY = knife_mc.y);
knife_mc.rotation = 0;
controller_mc._targetPosX = (stageArea_mc.x + (stageArea_mc.width * 0.5));
controller_mc._targetPosY = (stageArea_mc.y + (stageArea_mc.height * 0.7));
controller_mc.x = controller_mc._targetPosX;
controller_mc.y = controller_mc._targetPosY;
table_mc.y = 0;
wall_mc.y = 0;
}
function frame1(){
_stageInitPos = new Point(x, y);
knife_mc._speed = 0.5;
knife_mc._deltaCheck = 30;
knife_mc._prevPosX = 0;
knife_mc._prevPosY = 0;
knife_mc._nextPosX = 0;
knife_mc._nextPosY = 0;
knife_mc._prevTrail1Pos = new Point(0, 0);
knife_mc._nextTrail1Pos = new Point(0, 0);
knife_mc._prevTrail2Pos = new Point(0, 0);
knife_mc._nextTrail2Pos = new Point(0, 0);
knife_mc._delta = 0;
knife_mc._combo = 1;
knife_mc._comboBonus = 100;
knife_mc._comboDelay = 8;
knife_mc._comboDelayCount = 0;
knife_mc._bestCombo = 0;
controller_mc._targetPosX = 0;
controller_mc._targetPosY = 0;
_totalScore = 0;
_levelingUp = false;
_dripCount = 0;
_perfectArray = new Array();
_chefPerfectArray = new Array();
_firstRotten = true;
_firstFallOff = true;
_firstSlowDown = true;
_firstFrog = true;
_firstMirror = true;
_showTips = true;
_lastTossPosX = 0;
_newTossPosX = 0;
_mirror = 0;
_frog = 0;
_speedChange = 1;
_wallBlur = new BlurFilter();
_swoosh01Snd = new SND_swoosh01();
_swoosh02Snd = new SND_swoosh02();
_swoosh03Snd = new SND_swoosh03();
_slice1Snd = new SND_slice1();
_slice2Snd = new SND_slice2();
_slice3Snd = new SND_slice3();
_splatSnd = new SND_splat();
_perfectSnd = new SND_perfect();
_levelUpSnd = new SND_levelUp();
_fallOffSnd = new SND_fallOff();
_extraLifeSnd = new SND_extraLife();
_slowDownSnd = new SND_slowDown();
_mirrorSnd = new SND_mirror();
_goSnd = new SND_go();
_musicChannel = new SoundChannel();
mute_mc.buttonMode = true;
mute_mc.addEventListener(MouseEvent.MOUSE_UP, mute);
mute_mc.gotoAndStop(1);
stage.quality = "high";
_gameQuality = 3;
quality_mc.buttonMode = true;
quality_mc.addEventListener(MouseEvent.MOUSE_UP, quality);
tips_mc.buttonMode = true;
tips_mc.addEventListener(MouseEvent.MOUSE_UP, hideTips);
tips_mc.gotoAndStop(1);
_lastTime = 0;
_currentTime = 0;
_timeDelta = 0;
addEventListener(Event.ENTER_FRAME, timeCheck);
initialization();
}
}
}//package lemonade_xyz_fla
Section 5
//MC_totalScore_58 (lemonade_xyz_fla.MC_totalScore_58)
package lemonade_xyz_fla {
import flash.events.*;
import flash.display.*;
import mochi.as3.*;
import flash.utils.*;
import flash.net.*;
import flash.media.*;
import flash.text.*;
import flash.geom.*;
import flash.filters.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class MC_totalScore_58 extends MovieClip {
public var mochi_butt:SimpleButton;
public var totalScore_txt:TextField;
public function MC_totalScore_58(){
addFrameScript(0, frame1);
}
public function mochix(_arg1:MouseEvent){
var event = _arg1;
var o:Object = {n:[6, 14, 9, 9, 2, 11, 7, 9, 6, 5, 10, 7, 10, 4, 7, 14], f:function (_arg1:Number, _arg2:String):String{
if (_arg2.length == 16){
return (_arg2);
};
return (this.f((_arg1 + 1), (_arg2 + this.n[_arg1].toString(16))));
}};
var boardID:String = o.f(0, "");
MochiScores.showLeaderboard({boardID:boardID, score:totalScore_txt});
}
function frame1(){
mochi_butt.addEventListener(MouseEvent.MOUSE_UP, mochix);
}
}
}//package lemonade_xyz_fla
Section 6
//MochiCoins (mochi.as3.MochiCoins)
package mochi.as3 {
public class MochiCoins {
public static const STORE_SHOW:String = "StoreShow";
public static const STORE_HIDE:String = "StoreHide";
public static const ITEM_OWNED:String = "ItemOwned";
public static const ITEM_NEW:String = "ItemNew";
public static const STORE_ITEMS:String = "StoreItems";
public static const ERROR:String = "Error";
public static const IO_ERROR:String = "IOError";
public static const NO_USER:String = "NoUser";
public static var _inventory:MochiInventory;
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public static function get inventory():MochiInventory{
return (_inventory);
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function showStore(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("coins_showStore", {options:_arg1}, null, null);
}
public static function showItem(_arg1:Object=null):void{
if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){
trace("ERROR: showItem call must pass an Object with an item key");
return;
};
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("coins_showItem", {options:_arg1}, null, null);
}
public static function showVideo(_arg1:Object=null):void{
if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){
trace("ERROR: showVideo call must pass an Object with an item key");
return;
};
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("coins_showVideo", {options:_arg1}, null, null);
}
public static function getStoreItems():void{
MochiServices.send("coins_getStoreItems");
}
public static function requestFunding(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_requestFunding", _arg1);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{
_inventory = new MochiInventory();
});
addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{
_inventory = null;
});
}
}//package mochi.as3
Section 7
//MochiDigits (mochi.as3.MochiDigits)
package mochi.as3 {
public final class MochiDigits {
private var Fragment:Number;
private var Sibling:MochiDigits;
private var Encoder:Number;
public function MochiDigits(_arg1:Number=0, _arg2:uint=0):void{
Encoder = 0;
setValue(_arg1, _arg2);
}
public function get value():Number{
return (Number(this.toString()));
}
public function set value(_arg1:Number):void{
setValue(_arg1);
}
public function addValue(_arg1:Number):void{
value = (value + _arg1);
}
public function setValue(_arg1:Number=0, _arg2:uint=0):void{
var _local3:String = _arg1.toString();
var _temp1 = _arg2;
_arg2 = (_arg2 + 1);
Fragment = (_local3.charCodeAt(_temp1) ^ Encoder);
if (_arg2 < _local3.length){
Sibling = new MochiDigits(_arg1, _arg2);
} else {
Sibling = null;
};
reencode();
}
public function reencode():void{
var _local1:uint = int((2147483647 * Math.random()));
Fragment = (Fragment ^ (_local1 ^ Encoder));
Encoder = _local1;
}
public function toString():String{
var _local1:String = String.fromCharCode((Fragment ^ Encoder));
if (Sibling != null){
_local1 = (_local1 + Sibling.toString());
};
return (_local1);
}
}
}//package mochi.as3
Section 8
//MochiEventDispatcher (mochi.as3.MochiEventDispatcher)
package mochi.as3 {
public class MochiEventDispatcher {
private var eventTable:Object;
public function MochiEventDispatcher():void{
eventTable = {};
}
public function addEventListener(_arg1:String, _arg2:Function):void{
removeEventListener(_arg1, _arg2);
eventTable[_arg1].push(_arg2);
}
public function removeEventListener(_arg1:String, _arg2:Function):void{
var _local3:Object;
if (eventTable[_arg1] == undefined){
eventTable[_arg1] = [];
return;
};
for (_local3 in eventTable[_arg1]) {
if (eventTable[_arg1][_local3] != _arg2){
} else {
eventTable[_arg1].splice(Number(_local3), 1);
};
};
}
public function triggerEvent(_arg1:String, _arg2:Object):void{
var _local3:Object;
if (eventTable[_arg1] == undefined){
return;
};
for (_local3 in eventTable[_arg1]) {
var _local6 = eventTable[_arg1];
_local6[_local3](_arg2);
};
}
}
}//package mochi.as3
Section 9
//MochiEvents (mochi.as3.MochiEvents)
package mochi.as3 {
public class MochiEvents {
public static const ACHIEVEMENTS_OWNED:String = "AchievementOwned";
public static const ACHIEVEMENT_NEW:String = "AchievementReceived";
public static const GAME_ACHIEVEMENTS:String = "GameAchievements";
public static const ERROR:String = "Error";
public static const IO_ERROR:String = "IOError";
public static const IO_PENDING:String = "IOPending";
public static const ALIGN_TOP_LEFT:String = "ALIGN_TL";
public static const ALIGN_TOP:String = "ALIGN_T";
public static const ALIGN_TOP_RIGHT:String = "ALIGN_TR";
public static const ALIGN_LEFT:String = "ALIGN_L";
public static const ALIGN_CENTER:String = "ALIGN_C";
public static const ALIGN_RIGHT:String = "ALIGN_R";
public static const ALIGN_BOTTOM_LEFT:String = "ALIGN_BL";
public static const ALIGN_BOTTOM:String = "ALIGN_B";
public static const ALIGN_BOTTOM_RIGHT:String = "ALIGN_BR";
public static const FORMAT_SHORT:String = "ShortForm";
public static const FORMAT_LONG:String = "LongForm";
public static const FORMAT_NONE:String = "NoForm";
private static var gameStart:Number;
private static var levelStart:Number;
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function getAchievements(_arg1:Object=null):void{
MochiServices.send("events_getAchievements", _arg1);
}
public static function unlockAchievement(_arg1:Object):void{
MochiServices.send("events_unlockAchievement", _arg1);
}
public static function startSession(_arg1:String):void{
MochiServices.send("events_beginSession", {achievementID:_arg1}, null, null);
}
public static function showAwards(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.stayOnTop();
MochiServices.send("events_showAwards", _arg1);
}
public static function setNotifications(_arg1:Object):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("events_setNotifications", _arg1, null, null);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
public static function startPlay(_arg1:String="gameplay"):void{
MochiServices.send("events_setRoundID", {tag:String(_arg1)}, null, null);
}
public static function endPlay():void{
MochiServices.send("events_clearRoundID", null, null, null);
}
public static function trackEvent(_arg1:String, _arg2=null):void{
MochiServices.send("events_trackEvent", {tag:_arg1, value:_arg2}, null, null);
}
}
}//package mochi.as3
Section 10
//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 _consumableProperties:Object;
private var _syncPending:Boolean;
private var _outstandingID:Number;
private var _syncID:Number;
private var _names:Array;
private var _storeSync:Object;
private static const CONSUMER_KEY:String = "MochiConsumables";
private static const KEY_SALT:String = " syncMaint";
public static const READY:String = "InvReady";
public static const WRITTEN:String = "InvWritten";
public static const ERROR:String = "Error";
public static const IO_ERROR:String = "IoError";
public static const VALUE_ERROR:String = "InvValueError";
public static const NOT_READY:String = "InvNotReady";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public function MochiInventory():void{
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();
};
}
public function release():void{
MochiCoins.removeEventListener(MochiCoins.ITEM_NEW, newItems);
MochiSocial.removeEventListener(MochiSocial.LOGGED_IN, loggedIn);
MochiSocial.removeEventListener(MochiSocial.LOGGED_OUT, loggedOut);
}
private function loggedOut(_arg1:Object=null):void{
_consumableProperties = null;
}
private function loggedIn(_arg1:Object=null):void{
MochiUserData.get(CONSUMER_KEY, getConsumableBag);
}
private function newItems(_arg1:Object):void{
if (!this[(_arg1.id + KEY_SALT)]){
this[(_arg1.id + KEY_SALT)] = 0;
};
if (!this[_arg1.id]){
this[_arg1.id] = 0;
};
this[(_arg1.id + KEY_SALT)] = (this[(_arg1.id + KEY_SALT)] + _arg1.count);
this[_arg1.id] = (this[_arg1.id] + _arg1.count);
if (((_arg1.privateProperties) && (_arg1.privateProperties.consumable))){
if (!this[_arg1.privateProperties.tag]){
this[_arg1.privateProperties.tag] = 0;
};
this[_arg1.privateProperties.tag] = (this[_arg1.privateProperties.tag] + (_arg1.privateProperties.inc * _arg1.count));
};
}
private function itemOwned(_arg1:Object):void{
_storeSync[_arg1.id] = {properties:_arg1.properties, count:_arg1.count};
}
private function getConsumableBag(_arg1:MochiUserData):void{
var _local2:String;
var _local3:Number;
if (_arg1.error){
triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error});
return;
};
_consumableProperties = {};
_names = new Array();
if (_arg1.data){
for (_local2 in _arg1.data) {
_names.push(_local2);
_consumableProperties[_local2] = new MochiDigits(_arg1.data[_local2]);
};
};
for (_local2 in _storeSync) {
_local3 = _storeSync[_local2].count;
if (_consumableProperties[(_local2 + KEY_SALT)]){
_local3 = (_local3 - _consumableProperties[(_local2 + KEY_SALT)].value);
};
if (_local3 == 0){
} else {
newItems({id:_local2, count:_local3, properties:_storeSync[_local2].properties});
};
};
triggerEvent(READY, {});
}
private function putConsumableBag(_arg1:MochiUserData):void{
_syncPending = false;
if (_arg1.error){
triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error});
_outstandingID = -1;
};
triggerEvent(WRITTEN, {});
}
private function sync(_arg1:Event=null):void{
var _local3:String;
if (((_syncPending) || ((_syncID == _outstandingID)))){
return;
};
_outstandingID = _syncID;
var _local2:Object = {};
for (_local3 in _consumableProperties) {
_local2[_local3] = MochiDigits(_consumableProperties[_local3]).value;
};
MochiUserData.put(CONSUMER_KEY, _local2, putConsumableBag);
_syncPending = true;
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){
if (_consumableProperties == null){
triggerEvent(ERROR, {type:NOT_READY});
return (-1);
};
if (_consumableProperties[_arg1]){
return (MochiDigits(_consumableProperties[_arg1]).value);
};
return (undefined);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function deleteProperty(_arg1):Boolean{
if (!_consumableProperties[_arg1]){
return (false);
};
_names.splice(_names.indexOf(_arg1), 1);
delete _consumableProperties[_arg1];
return (true);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function hasProperty(_arg1):Boolean{
if (_consumableProperties == null){
triggerEvent(ERROR, {type:NOT_READY});
return (false);
};
if (_consumableProperties[_arg1] == undefined){
return (false);
};
return (true);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{
var _local3:MochiDigits;
if (_consumableProperties == null){
triggerEvent(ERROR, {type:NOT_READY});
return;
};
if (!(_arg2 is Number)){
triggerEvent(ERROR, {type:VALUE_ERROR, error:"Invalid type", arg:_arg2});
return;
};
if (_consumableProperties[_arg1]){
_local3 = MochiDigits(_consumableProperties[_arg1]);
if (_local3.value == _arg2){
return;
};
_local3.value = _arg2;
} else {
_names.push(_arg1);
_consumableProperties[_arg1] = new MochiDigits(_arg2);
};
_syncID++;
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(_arg1:int):int{
return (((_arg1)>=_names.length) ? 0 : (_arg1 + 1));
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(_arg1:int):String{
return (_names[(_arg1 - 1)]);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
}
}//package mochi.as3
Section 11
//MochiScores (mochi.as3.MochiScores)
package mochi.as3 {
import flash.display.*;
import flash.text.*;
public class MochiScores {
public static var onCloseHandler:Object;
public static var onErrorHandler:Object;
private static var boardID:String;
public static function onClose(_arg1:Object=null):void{
if (((((_arg1) && ((_arg1.error == true)))) && (onErrorHandler))){
if (_arg1.errorCode == null){
_arg1.errorCode = "IOError";
};
onErrorHandler(_arg1.errorCode);
MochiServices.doClose();
return;
};
onCloseHandler();
MochiServices.doClose();
}
public static function setBoardID(_arg1:String):void{
MochiServices.warnID(_arg1, true);
MochiScores.boardID = _arg1;
MochiServices.send("scores_setBoardID", {boardID:_arg1});
}
public static function showLeaderboard(_arg1:Object=null):void{
var n:Number;
var options = _arg1;
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)){
} 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(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2);
}
public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{
_arg1 = Number(_arg1);
if (isNaN(_arg1)){
trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is 'Not a Number'"));
} else {
if ((((_arg1 == Number.NEGATIVE_INFINITY)) || ((_arg1 == Number.POSITIVE_INFINITY)))){
trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is an infinite"));
} else {
if (Math.floor(_arg1) != _arg1){
trace((("WARNING: Submitted score '" + String(_arg1)) + "' will be truncated"));
};
_arg1 = Number(_arg1);
};
};
MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4);
}
public static function requestList(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_requestList", null, _arg1, _arg2);
}
public static function scoresArrayToObjects(_arg1:Object):Object{
var _local3:Number;
var _local4:Number;
var _local5:Object;
var _local6:Object;
var _local7:String;
var _local8:String;
var _local2:Object = {};
for (_local7 in _arg1) {
if (typeof(_arg1[_local7]) == "object"){
if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){
_local2[_local7] = [];
_local5 = _arg1[_local7];
_local4 = 0;
while (_local4 < _local5.rows.length) {
_local6 = {};
_local3 = 0;
while (_local3 < _local5.cols.length) {
_local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3];
_local3++;
};
_local2[_local7].push(_local6);
_local4++;
};
} else {
_local2[_local7] = {};
for (_local8 in _arg1[_local7]) {
_local2[_local7][_local8] = _arg1[_local7][_local8];
};
};
} else {
_local2[_local7] = _arg1[_local7];
};
};
return (_local2);
}
}
}//package mochi.as3
Section 12
//MochiServices (mochi.as3.MochiServices)
package mochi.as3 {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.net.*;
import flash.geom.*;
import flash.system.*;
public class MochiServices {
public static const CONNECTED:String = "onConnected";
private static var _id:String;
private static var _container:Object;
private static var _clip:MovieClip;
private static var _loader:Loader;
private static var _timer:Timer;
private static var _preserved:Object;
private static var _servURL:String = "http://www.mochiads.com/static/lib/services/";
private static var _services:String = "services.swf";
private static var _mochiLC:String = "MochiLC.swf";
private static var _swfVersion:String;
private static var _listenChannelName:String = "__ms_";
private static var _sendChannel:LocalConnection;
private static var _sendChannelName:String;
private static var _connecting:Boolean = false;
private static var _connected:Boolean = false;
public static var netup:Boolean = true;
public static var netupAttempted:Boolean = false;
public static var onError:Object;
public static var widget:Boolean = false;
private static var _mochiLocalConnection:MovieClip;
private static var _queue:Array;
private static var _nextCallbackID:Number;
private static var _callbacks:Object;
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public static function get id():String{
return (_id);
}
public static function get clip():Object{
return (_container);
}
public static function get childClip():Object{
return (_clip);
}
public static function getVersion():String{
return ("3.9.4 as3");
}
public static function allowDomains(_arg1:String):String{
var _local2:String;
if (Security.sandboxType != "application"){
Security.allowDomain("*");
Security.allowInsecureDomain("*");
};
if (_arg1.indexOf("http://") != -1){
_local2 = _arg1.split("/")[2].split(":")[0];
if (Security.sandboxType != "application"){
Security.allowDomain(_local2);
Security.allowInsecureDomain(_local2);
};
};
return (_local2);
}
public static function isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function set comChannelName(_arg1:String):void{
if (_arg1 != null){
if (_arg1.length > 3){
_sendChannelName = (_arg1 + "_fromgame");
initComChannels();
};
};
}
public static function get connected():Boolean{
return (_connected);
}
public static function warnID(_arg1:String, _arg2:Boolean):void{
_arg1 = _arg1.toLowerCase();
if (_arg1.length != 16){
trace((("WARNING: " + (_arg2) ? "board" : "game") + " ID is not the appropriate length"));
return;
} else {
if (_arg1 == "1e113c7239048b3f"){
if (_arg2){
trace("WARNING: Using testing board ID");
} else {
trace("WARNING: Using testing board ID as game ID");
};
return;
} else {
if (_arg1 == "84993a1de4031cd8"){
if (_arg2){
trace("WARNING: Using testing game ID as board ID");
} else {
trace("WARNING: Using testing game ID");
};
return;
};
};
};
var _local3:Number = 0;
while (_local3 < _arg1.length) {
switch (_arg1.charAt(_local3)){
case "0":
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
case "a":
case "b":
case "c":
case "d":
case "e":
case "f":
break;
default:
trace(("WARNING: Board ID contains illegal characters: " + _arg1));
return;
};
_local3++;
};
}
public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{
var id = _arg1;
var clip = _arg2;
var onError = _arg3;
warnID(id, false);
if (onError != null){
MochiServices.onError = onError;
} else {
if (MochiServices.onError == null){
MochiServices.onError = function (_arg1:String):void{
trace(_arg1);
};
};
};
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.");
};
}
public static function disconnect():void{
if (((_connected) || (_connecting))){
if (_clip != null){
if (_clip.parent != null){
if ((_clip.parent is Sprite)){
Sprite(_clip.parent).removeChild(_clip);
_clip = null;
};
};
};
_connecting = (_connected = false);
flush(true);
try {
_mochiLocalConnection.close();
} catch(error:Error) {
};
};
if (_timer != null){
try {
_timer.stop();
_timer.removeEventListener(TimerEvent.TIMER, connectWait);
_timer = null;
} catch(error:Error) {
};
};
}
public static function stayOnTop():void{
_container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true);
if (_clip != null){
_clip.visible = true;
};
}
public static function doClose():void{
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
}
public static function bringToTop(_arg1:Event=null):void{
var e = _arg1;
if (((!((MochiServices.clip == null))) && (!((MochiServices.childClip == null))))){
try {
if (MochiServices.clip.numChildren > 1){
MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1));
};
} catch(errorObject:Error) {
trace("Warning: Depth sort error.");
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
};
};
}
private static function init(_arg1:String, _arg2:Object):void{
_id = _arg1;
if (_arg2 != null){
_container = _arg2;
loadCommunicator(_arg1, _container);
};
}
public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{
if (_clip.parent){
_clip.parent.removeChild(_clip);
};
if (_arg1 != null){
if ((_arg1 is DisplayObjectContainer)){
_container = _arg1;
};
};
if (_arg2){
if ((_container is DisplayObjectContainer)){
DisplayObjectContainer(_container).addChild(_clip);
};
};
}
private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{
if (_clip != null){
return (_clip);
};
if (!MochiServices.isNetworkAvailable()){
MochiServices.onError("NotConnected");
return (null);
};
if (urlOptions(_arg2).servURL){
_servURL = urlOptions(_arg2).servURL;
};
var _local3:String = (_servURL + _services);
if (urlOptions(_arg2).servicesURL){
_local3 = urlOptions(_arg2).servicesURL;
};
_listenChannelName = (_listenChannelName + ((Math.floor(new Date().time) + "_") + Math.floor((Math.random() * 99999))));
MochiServices.allowDomains(_local3);
_clip = new MovieClip();
loadLCBridge(_clip);
_loader = new Loader();
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, detach);
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, detach);
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
var _local4:URLRequest = new URLRequest(_local3);
var _local5:URLVariables = new URLVariables();
_local5.listenLC = _listenChannelName;
_local5.mochiad_options = _arg2.loaderInfo.parameters.mochiad_options;
_local5.api_version = getVersion();
if (widget){
_local5.widget = true;
};
_local4.data = _local5;
_loader.load(_local4);
_clip.addChild(_loader);
_sendChannel = new LocalConnection();
_queue = [];
_nextCallbackID = 0;
_callbacks = {};
_timer = new Timer(10000, 1);
_timer.addEventListener(TimerEvent.TIMER, connectWait);
_timer.start();
return (_clip);
}
private static function detach(_arg1:Event):void{
var _local2:LoaderInfo = LoaderInfo(_arg1.target);
_local2.removeEventListener(Event.COMPLETE, detach);
_local2.removeEventListener(IOErrorEvent.IO_ERROR, detach);
_local2.removeEventListener(Event.COMPLETE, loadLCBridgeComplete);
_local2.removeEventListener(IOErrorEvent.IO_ERROR, loadError);
}
private static function loadLCBridge(_arg1:Object):void{
var _local2:Loader = new Loader();
var _local3:String = (_servURL + _mochiLC);
var _local4:URLRequest = new URLRequest(_local3);
_local2.contentLoaderInfo.addEventListener(Event.COMPLETE, detach);
_local2.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, detach);
_local2.contentLoaderInfo.addEventListener(Event.COMPLETE, loadLCBridgeComplete);
_local2.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
_local2.load(_local4);
_arg1.addChild(_local2);
}
private static function loadLCBridgeComplete(_arg1:Event):void{
var _local2:Loader = LoaderInfo(_arg1.target).loader;
_mochiLocalConnection = MovieClip(_local2.content);
listen();
}
private static function loadError(_arg1:Object):void{
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
}
public static function connectWait(_arg1:TimerEvent):void{
if (!_connected){
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load. (timeout)");
MochiServices.disconnect();
MochiServices.onError("IOError");
} else {
_timer.stop();
_timer.removeEventListener(TimerEvent.TIMER, connectWait);
_timer = null;
};
}
private static function listen():void{
_mochiLocalConnection.connect(_listenChannelName);
_clip.handshake = function (_arg1:Object):void{
MochiServices.comChannelName = _arg1.newChannel;
};
trace("Waiting for MochiAds services to connect...");
}
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 onReceive(_arg1:Object):void{
var methodName:String;
var pkg = _arg1;
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){
try {
method.apply(obj, pkg.args);
} catch(error:Error) {
trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString()));
};
} else {
if (obj != null){
try {
obj(pkg.args);
} catch(error:Error) {
trace(("Error invoking method on object: " + error.toString()));
};
};
};
delete _callbacks[cb];
}
private static function onEvent(_arg1:Object):void{
var _local2:String = _arg1.target;
var _local3:String = _arg1.event;
switch (_local2){
case "services":
MochiServices.triggerEvent(_arg1.event, _arg1.args);
break;
case "events":
MochiEvents.triggerEvent(_arg1.event, _arg1.args);
break;
case "coins":
MochiCoins.triggerEvent(_arg1.event, _arg1.args);
break;
case "social":
MochiSocial.triggerEvent(_arg1.event, _arg1.args);
break;
};
}
private static function flush(_arg1:Boolean):void{
var _local2:Object;
var _local3:Object;
if (((_clip) && (_queue))){
while (_queue.length > 0) {
_local2 = _queue.shift();
_local3 = null;
if (_local2 != null){
if (_local2.callbackID != null){
_local3 = _callbacks[_local2.callbackID];
};
delete _callbacks[_local2.callbackID];
if (((_arg1) && (!((_local3 == null))))){
handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod);
};
};
};
};
}
private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{
if (_arg1 != null){
if (_arg1.onError != null){
_arg1.onError("NotConnected");
};
if (((!((_arg1.options == null))) && (!((_arg1.options.onError == null))))){
_arg1.options.onError("NotConnected");
};
};
if (_arg3 != null){
_arg1 = {};
_arg1.error = true;
_arg1.errorCode = "NotConnected";
if (((!((_arg2 == null))) && ((_arg3 is String)))){
try {
var _local4 = _arg2;
_local4[_arg3](_arg1);
} catch(error:Error) {
};
} else {
if (_arg3 != null){
try {
_arg3.apply(_arg1);
} catch(error:Error) {
};
};
};
};
}
public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{
if (_connected){
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_nextCallbackID});
} else {
if ((((_clip == null)) || (!(_connecting)))){
trace(("Error: MochiServices not connected. Please call MochiServices.connect(). Function: " + _arg1));
handleError(_arg2, _arg3, _arg4);
flush(true);
return;
};
_queue.push({methodName:_arg1, args:_arg2, callbackID:_nextCallbackID});
};
if (_clip != null){
if (_callbacks != null){
_callbacks[_nextCallbackID] = {callbackObject:_arg3, callbackMethod:_arg4};
_nextCallbackID++;
};
};
}
private static function urlOptions(_arg1:Object):Object{
var _local3:String;
var _local4:Array;
var _local5:Number;
var _local6:Array;
var _local2:Object = {};
if (_arg1.stage){
_local3 = _arg1.stage.loaderInfo.parameters.mochiad_options;
} else {
_local3 = _arg1.loaderInfo.parameters.mochiad_options;
};
if (_local3){
_local4 = _local3.split("&");
_local5 = 0;
while (_local5 < _local4.length) {
_local6 = _local4[_local5].split("=");
_local2[unescape(_local6[0])] = unescape(_local6[1]);
_local5++;
};
};
return (_local2);
}
public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4: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 = _arg1;
var burl = _arg2;
var btn = _arg3;
var onClick = _arg4;
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://link.mochiads.com/linkping.swf");
loader = new Loader();
setURL = function (_arg1:String):void{
if (avm1Click){
btn.removeChild(avm1Click);
};
avm1Click = clickMovie(_arg1, onClick);
var _local2:Rectangle = btn.getBounds(btn);
btn.addChild(avm1Click);
avm1Click.x = _local2.x;
avm1Click.y = _local2.y;
avm1Click.scaleX = (0.01 * _local2.width);
avm1Click.scaleY = (0.01 * _local2.height);
};
err = function (_arg1:Object):void{
netup = false;
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
setURL(burl);
};
complete = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
if (netup){
setURL((url + s));
} else {
setURL(burl);
};
if (!((netupAttempted) || (_connected))){
netupAttempted = true;
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
loader.load(req);
};
}
private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{
var _local4:int;
var _local14:Loader;
var _local3: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 _local5:Array = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3];
var _local6:Array = [0, 64, 0, 0, 0];
var _local7:MovieClip = new MovieClip();
var _local8:LocalConnection = new LocalConnection();
var _local9:String = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().time));
_local8 = new LocalConnection();
_local7.lc = _local8;
_local7.click = _arg2;
_local8.client = _local7;
_local8.connect(_local9);
var _local10:ByteArray = new ByteArray();
var _local11:ByteArray = new ByteArray();
_local11.endian = Endian.LITTLE_ENDIAN;
_local11.writeShort(1);
_local11.writeUTFBytes(((_arg1 + " ") + _local9));
_local11.writeByte(0);
var _local12:uint = ((_local3.length + _local11.length) + 4);
var _local13:uint = (_local12 + 35);
_local10.endian = Endian.LITTLE_ENDIAN;
_local10.writeUTFBytes("FWS");
_local10.writeByte(8);
_local10.writeUnsignedInt(_local13);
for each (_local4 in _local5) {
_local10.writeByte(_local4);
};
_local10.writeUnsignedInt(_local12);
_local10.writeByte(136);
_local10.writeShort(_local11.length);
_local10.writeBytes(_local11);
for each (_local4 in _local3) {
_local10.writeByte(_local4);
};
for each (_local4 in _local6) {
_local10.writeByte(_local4);
};
_local14 = new Loader();
_local14.loadBytes(_local10);
_local7.addChild(_local14);
return (_local7);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
}
}//package mochi.as3
Section 13
//MochiSocial (mochi.as3.MochiSocial)
package mochi.as3 {
public class MochiSocial {
public static const LOGGED_IN:String = "LoggedIn";
public static const LOGGED_OUT:String = "LoggedOut";
public static const LOGIN_SHOW:String = "LoginShow";
public static const LOGIN_HIDE:String = "LoginHide";
public static const LOGIN_SHOWN:String = "LoginShown";
public static const PROFILE_SHOW:String = "ProfileShow";
public static const PROFILE_HIDE:String = "ProfileHide";
public static const PROPERTIES_SAVED:String = "PropertySaved";
public static const WIDGET_LOADED:String = "WidgetLoaded";
public static const FRIEND_LIST:String = "FriendsList";
public static const PROFILE_DATA:String = "ProfileData";
public static const GAMEPLAY_DATA:String = "GameplayData";
public static const ACTION_CANCELED:String = "onCancel";
public static const ACTION_COMPLETE:String = "onComplete";
public static const USER_INFO:String = "UserInfo";
public static const ERROR:String = "Error";
public static const IO_ERROR:String = "IOError";
public static const NO_USER:String = "NoUser";
public static const PROPERTIES_SIZE:String = "PropertiesSize";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public static var _user_info:Object = null;
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function getAPIURL():String{
if (!_user_info){
return (null);
};
return (_user_info.api_url);
}
public static function getAPIToken():String{
if (!_user_info){
return (null);
};
return (_user_info.api_token);
}
public static function showLoginWidget(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_showLoginWidget", {options:_arg1});
}
public static function hideLoginWidget():void{
MochiServices.send("social_hideLoginWidget");
}
public static function requestLogin(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_requestLogin", _arg1);
}
public static function showProfile(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.stayOnTop();
MochiServices.send("social_showProfile", _arg1);
}
public static function saveUserProperties(_arg1:Object):void{
MochiServices.send("social_saveUserProperties", _arg1);
}
public static function getFriendsList(_arg1:Object=null):void{
MochiServices.send("social_getFriendsList", _arg1);
}
public static function postToStream(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_postToStream", _arg1);
}
public static function inviteFriends(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_inviteFriends", _arg1);
}
public static function requestFan(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_requestFan", _arg1);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function get loggedIn():Boolean{
return (!((_user_info == null)));
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
MochiSocial.addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{
_user_info = _arg1;
});
MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{
_user_info = null;
});
}
}//package mochi.as3
Section 14
//MochiUserData (mochi.as3.MochiUserData)
package mochi.as3 {
import flash.events.*;
import flash.utils.*;
import flash.net.*;
public class MochiUserData extends EventDispatcher {
public var _loader:URLLoader;
public var key:String;// = null
public var data;// = null
public var error:Event;// = null
public var operation:String;// = null
public var callback:Function;// = null
public function MochiUserData(_arg1:String="", _arg2:Function=null){
this.key = _arg1;
this.callback = _arg2;
}
public function serialize(_arg1):ByteArray{
var _local2:ByteArray = new ByteArray();
_local2.objectEncoding = ObjectEncoding.AMF3;
_local2.writeObject(_arg1);
_local2.compress();
return (_local2);
}
public function deserialize(_arg1:ByteArray){
_arg1.objectEncoding = ObjectEncoding.AMF3;
_arg1.uncompress();
return (_arg1.readObject());
}
public function request(_arg1:String, _arg2:ByteArray):void{
var _operation = _arg1;
var _data = _arg2;
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);
try {
_loader.load(req);
} catch(e:SecurityError) {
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + e.toString())));
};
}
public function completeHandler(_arg1:Event):void{
var event = _arg1;
try {
if (_loader.data.length){
data = deserialize(_loader.data);
} else {
data = null;
};
} catch(e:Error) {
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("deserialize error: " + e.toString())));
return;
};
if (callback != null){
performCallback();
} else {
dispatchEvent(event);
};
close();
}
public function errorHandler(_arg1:IOErrorEvent):void{
data = null;
error = _arg1;
if (callback != null){
performCallback();
} else {
dispatchEvent(_arg1);
};
close();
}
public function securityErrorHandler(_arg1:SecurityErrorEvent):void{
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + _arg1.toString())));
}
public function performCallback():void{
try {
callback(this);
} catch(e:Error) {
trace(("[MochiUserData] exception during callback: " + e));
};
}
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 function getEvent():void{
request("get", serialize(null));
}
public function putEvent(_arg1):void{
request("put", serialize(_arg1));
}
override public function toString():String{
return ((((((((("[MochiUserData operation=" + operation) + " key=\"") + key) + "\" data=") + data) + " error=\"") + error) + "\"]"));
}
public static function get(_arg1:String, _arg2:Function):void{
var _local3:MochiUserData = new MochiUserData(_arg1, _arg2);
_local3.getEvent();
}
public static function put(_arg1:String, _arg2, _arg3:Function):void{
var _local4:MochiUserData = new MochiUserData(_arg1, _arg3);
_local4.putEvent(_arg2);
}
}
}//package mochi.as3
Section 15
//butt (butt)
package {
import flash.display.*;
public dynamic class butt extends SimpleButton {
}
}//package
Section 16
//flippy (flippy)
package {
import flash.display.*;
public dynamic class flippy extends MovieClip {
public function flippy(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package
Section 17
//MC_avocado (MC_avocado)
package {
import flash.display.*;
public dynamic class MC_avocado extends MovieClip {
}
}//package
Section 18
//MC_bonus (MC_bonus)
package {
import flash.display.*;
import flash.text.*;
public dynamic class MC_bonus extends MovieClip {
public var bonus_txt:TextField;
}
}//package
Section 19
//MC_broccoli (MC_broccoli)
package {
import flash.display.*;
public dynamic class MC_broccoli extends MovieClip {
}
}//package
Section 20
//MC_cabbage (MC_cabbage)
package {
import flash.display.*;
public dynamic class MC_cabbage extends MovieClip {
}
}//package
Section 21
//MC_carrot (MC_carrot)
package {
import flash.display.*;
public dynamic class MC_carrot extends MovieClip {
}
}//package
Section 22
//MC_cheese (MC_cheese)
package {
import flash.display.*;
public dynamic class MC_cheese extends MovieClip {
}
}//package
Section 23
//MC_chefFrog (MC_chefFrog)
package {
import flash.display.*;
public dynamic class MC_chefFrog extends MovieClip {
}
}//package
Section 24
//MC_chefMirror (MC_chefMirror)
package {
import flash.display.*;
public dynamic class MC_chefMirror extends MovieClip {
}
}//package
Section 25
//MC_cucumber (MC_cucumber)
package {
import flash.display.*;
public dynamic class MC_cucumber extends MovieClip {
}
}//package
Section 26
//MC_drip (MC_drip)
package {
import flash.display.*;
public dynamic class MC_drip extends MovieClip {
}
}//package
Section 27
//MC_egg (MC_egg)
package {
import flash.display.*;
public dynamic class MC_egg extends MovieClip {
}
}//package
Section 28
//MC_extraLife (MC_extraLife)
package {
import flash.display.*;
public dynamic class MC_extraLife extends MovieClip {
}
}//package
Section 29
//MC_fume (MC_fume)
package {
import flash.display.*;
public dynamic class MC_fume extends MovieClip {
public function MC_fume(){
addFrameScript(33, frame34);
}
function frame34(){
gotoAndPlay("loop");
}
}
}//package
Section 30
//MC_gameOverScreen (MC_gameOverScreen)
package {
import flash.display.*;
import flash.net.*;
public dynamic class MC_gameOverScreen extends MovieClip {
public var cover_mc:MovieClip;
public var totalScore_mc:MovieClip;
public var totalScore_mc_click:SimpleButton;
public var playNowScore_mc:MovieClip;
public var swfToLoad:String;
public var loader:Loader;
public function MC_gameOverScreen(){
addFrameScript(0, frame1, 33, frame34);
}
function frame1(){
swfToLoad = "http://www.flippyamok.com/game/lemonade_w.swf";
loader = new Loader();
loader.load(new URLRequest(swfToLoad));
addChild(loader);
}
function frame34(){
stop();
}
}
}//package
Section 31
//MC_gameStartScreen (MC_gameStartScreen)
package {
import flash.display.*;
public dynamic class MC_gameStartScreen extends MovieClip {
public var normal_mc:MovieClip;
public var easy_mc:MovieClip;
public var playNow_mc:MovieClip;
public var hard_mc:MovieClip;
public var hat_mc:MovieClip;
}
}//package
Section 32
//MC_greenPepper (MC_greenPepper)
package {
import flash.display.*;
public dynamic class MC_greenPepper extends MovieClip {
}
}//package
Section 33
//MC_intro (MC_intro)
package {
import flash.display.*;
public dynamic class MC_intro extends MovieClip {
}
}//package
Section 34
//MC_levelUp (MC_levelUp)
package {
import flash.display.*;
public dynamic class MC_levelUp extends MovieClip {
}
}//package
Section 35
//MC_mushroom (MC_mushroom)
package {
import flash.display.*;
public dynamic class MC_mushroom extends MovieClip {
}
}//package
Section 36
//MC_onion (MC_onion)
package {
import flash.display.*;
public dynamic class MC_onion extends MovieClip {
}
}//package
Section 37
//MC_pepper (MC_pepper)
package {
import flash.display.*;
public dynamic class MC_pepper extends MovieClip {
}
}//package
Section 38
//MC_potato (MC_potato)
package {
import flash.display.*;
public dynamic class MC_potato extends MovieClip {
}
}//package
Section 39
//MC_radish (MC_radish)
package {
import flash.display.*;
public dynamic class MC_radish extends MovieClip {
}
}//package
Section 40
//MC_readyGo (MC_readyGo)
package {
import flash.display.*;
public dynamic class MC_readyGo extends MovieClip {
}
}//package
Section 41
//MC_redPepper (MC_redPepper)
package {
import flash.display.*;
public dynamic class MC_redPepper extends MovieClip {
}
}//package
Section 42
//MC_slowDown (MC_slowDown)
package {
import flash.display.*;
public dynamic class MC_slowDown extends MovieClip {
}
}//package
Section 43
//MC_splat (MC_splat)
package {
import flash.display.*;
public dynamic class MC_splat extends MovieClip {
}
}//package
Section 44
//MC_tip (MC_tip)
package {
import flash.display.*;
import flash.text.*;
public dynamic class MC_tip extends MovieClip {
public var tip_txt:TextField;
public var tipBox_mc:MovieClip;
}
}//package
Section 45
//MC_tomato (MC_tomato)
package {
import flash.display.*;
public dynamic class MC_tomato extends MovieClip {
}
}//package
Section 46
//MC_trail (MC_trail)
package {
import flash.display.*;
public dynamic class MC_trail extends MovieClip {
}
}//package
Section 47
//MC_yellowPepper (MC_yellowPepper)
package {
import flash.display.*;
public dynamic class MC_yellowPepper extends MovieClip {
}
}//package
Section 48
//SND_button1 (SND_button1)
package {
import flash.media.*;
public dynamic class SND_button1 extends Sound {
}
}//package
Section 49
//SND_extraLife (SND_extraLife)
package {
import flash.media.*;
public dynamic class SND_extraLife extends Sound {
}
}//package
Section 50
//SND_fallOff (SND_fallOff)
package {
import flash.media.*;
public dynamic class SND_fallOff extends Sound {
}
}//package
Section 51
//SND_go (SND_go)
package {
import flash.media.*;
public dynamic class SND_go extends Sound {
}
}//package
Section 52
//SND_gox (SND_gox)
package {
import flash.media.*;
public dynamic class SND_gox extends Sound {
}
}//package
Section 53
//SND_goxx (SND_goxx)
package {
import flash.media.*;
public dynamic class SND_goxx extends Sound {
}
}//package
Section 54
//SND_levelUp (SND_levelUp)
package {
import flash.media.*;
public dynamic class SND_levelUp extends Sound {
}
}//package
Section 55
//SND_mirror (SND_mirror)
package {
import flash.media.*;
public dynamic class SND_mirror extends Sound {
}
}//package
Section 56
//SND_perfect (SND_perfect)
package {
import flash.media.*;
public dynamic class SND_perfect extends Sound {
}
}//package
Section 57
//SND_slice1 (SND_slice1)
package {
import flash.media.*;
public dynamic class SND_slice1 extends Sound {
}
}//package
Section 58
//SND_slice2 (SND_slice2)
package {
import flash.media.*;
public dynamic class SND_slice2 extends Sound {
}
}//package
Section 59
//SND_slice3 (SND_slice3)
package {
import flash.media.*;
public dynamic class SND_slice3 extends Sound {
}
}//package
Section 60
//SND_slowDown (SND_slowDown)
package {
import flash.media.*;
public dynamic class SND_slowDown extends Sound {
}
}//package
Section 61
//SND_splat (SND_splat)
package {
import flash.media.*;
public dynamic class SND_splat extends Sound {
}
}//package
Section 62
//SND_swoosh01 (SND_swoosh01)
package {
import flash.media.*;
public dynamic class SND_swoosh01 extends Sound {
}
}//package
Section 63
//SND_swoosh02 (SND_swoosh02)
package {
import flash.media.*;
public dynamic class SND_swoosh02 extends Sound {
}
}//package
Section 64
//SND_swoosh03 (SND_swoosh03)
package {
import flash.media.*;
public dynamic class SND_swoosh03 extends Sound {
}
}//package
Section 65
//x2 (x2)
package {
import flash.media.*;
public dynamic class x2 extends Sound {
}
}//package
Section 66
//x3 (x3)
package {
import flash.media.*;
public dynamic class x3 extends Sound {
}
}//package