Section 1
//_assets_2 (monkey_fla._assets_2)
package monkey_fla {
import flash.display.*;
public dynamic class _assets_2 extends MovieClip {
public var dummy:Monkey;
public function _assets_2(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package monkey_fla
Section 2
//CHLogo_30 (monkey_fla.CHLogo_30)
package monkey_fla {
import flash.display.*;
public dynamic class CHLogo_30 extends MovieClip {
public function CHLogo_30(){
addFrameScript(159, frame160);
}
function frame160(){
stop();
}
}
}//package monkey_fla
Section 3
//eyes_19 (monkey_fla.eyes_19)
package monkey_fla {
import flash.display.*;
import flash.utils.*;
public dynamic class eyes_19 extends MovieClip {
public var rightEye:MovieClip;
public var leftEye:MovieClip;
public function eyes_19(){
addFrameScript(1, frame2);
}
public function goBackToNormalEyes(){
gotoAndStop("normal");
}
function frame2(){
stop();
setTimeout(goBackToNormalEyes, 50);
}
}
}//package monkey_fla
Section 4
//gritteethanim_26 (monkey_fla.gritteethanim_26)
package monkey_fla {
import flash.display.*;
public dynamic class gritteethanim_26 extends MovieClip {
public function gritteethanim_26(){
addFrameScript(49, frame50);
}
function frame50(){
gotoAndPlay(49);
}
}
}//package monkey_fla
Section 5
//MainTimeline (monkey_fla.MainTimeline)
package monkey_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.utils.*;
import flash.text.*;
import flash.ui.*;
import flash.system.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.geom.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class MainTimeline extends MovieClip {
public var left:Boolean;
public var throwsBreadCrumb:String;
public var right:Boolean;
public var particleCount:uint;
public var enemyAngle:Number;
public var rad2deg:Number;
public var chimpnoise:ChimpSound2;
public var bg:BG;
public var enemyCameraActive:Boolean;
public var screamSound:ScreamSound;
public var throws:uint;
public var enemyPower:Number;
public var loadingText:TextField;
public var _LOADING_FINISHED:Boolean;
public var splatChannel:SoundChannel;
public var startBtn:SimpleButton;
public var up:Boolean;
public var splat2Sound:Splat2Sound;
public var URLBtn:SimpleButton;
public var down:Boolean;
public var enemyGoal:String;
public var powerBar:MovieClip;
public var poopCount:uint;
public var fg:FG;
public var angle:Number;
public var smileSound:SmileSound;
public var ambienceSound:AmbienceSound;
public var angleArrow:MovieClip;
public var power:Number;
public var _GAMEOVER:Boolean;
public var throwsText:TextField;
public var channel:SoundChannel;
public var myOptions:Object;
public var CustomContextMenu:ContextMenu;
public var _PLAYER_TURN:Boolean;
public var _PLAYER_IS_WINNER:Boolean;
public var enemyMonkey:Monkey;
public var delayTimer:Timer;
public var assets:MovieClip;
public var preLoaderBar:MovieClip;
public var deg2rad:Number;
public var CHLogo:MovieClip;
public var monkey:Monkey;
public var returnCameraActive:Boolean;
public var gameOverScreen:MovieClip;
public var game:MovieClip;
public var angryScreamSound:AngryScreamSound;
public function MainTimeline(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6);
}
public function updateEnemyGoal(){
if (_PLAYER_TURN == false){
if ((game.getChildByName(("poop" + poopCount)) as Poop).landedX >= (game.getChildByName("monkey") as Monkey).x){
enemyGoal = "FORWARD";
} else {
enemyGoal = "BACK";
};
};
}
public function resetMonkey(_arg1:MovieClip){
_arg1.gotoAndStop("stand");
if (_PLAYER_TURN == true){
returnCameraActive = true;
} else {
generateNewVariables();
enemyCameraActive = true;
};
}
public function randRange(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * ((_arg2 - _arg1) + 1))) + _arg1);
return (_local3);
}
public function keyDownEvents(_arg1:KeyboardEvent):void{
var _local2:Number;
_local2 = _arg1.keyCode;
if (_local2 == 38){
up = true;
};
if (_local2 == 37){
left = true;
};
if (_local2 == 39){
right = true;
};
if (_local2 == 40){
down = true;
};
}
public function throwPoop(_arg1:MovieClip, _arg2:Number, _arg3:Number, _arg4:String){
var _local5:Poop;
if (_arg1.pooRelease == true){
_local5 = new Poop(_arg2, _arg3, _arg4);
if (_PLAYER_TURN == true){
_local5.x = (_arg1.x + 28);
} else {
_local5.x = (_arg1.x + 28);
};
_local5.y = 245;
poopCount++;
_local5.name = ("poop" + poopCount);
game.addChild(_local5);
_arg1.pooRelease = false;
};
}
public function fire(_arg1:MovieClip){
up = false;
down = false;
left = false;
right = false;
_arg1.gotoAndPlay("poo");
removeKeyEventListeners();
angleArrow.visible = false;
powerBar.visible = false;
throws++;
}
public function max360(_arg1:Number):Number{
_arg1 = (_arg1 % 360);
if (_arg1 > 0){
return (_arg1);
};
return ((360 - _arg1));
}
public function generateSmear(_arg1:MovieClip){
var _local2:*;
var _local3:Number;
var _local4:Number;
if (poopCount > 0){
if ((((_arg1.landed == true)) && ((_arg1.active == true)))){
_local2 = _arg1.y;
_local3 = (_arg1.x + _arg1.xSpeed);
_local4 = _arg1.y;
generateParticle("SMEAR", _local3, _local4, _local2);
};
};
}
public function addKeyEventListeners(){
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownEvents);
stage.addEventListener(KeyboardEvent.KEY_UP, keyUpEvents);
}
public function CONTEXTMENU_URLMenuItemSelectHandler(_arg1:ContextMenuEvent):void{
gotoURL();
}
function frame5(){
stop();
chimpnoise = new ChimpSound2();
chimpnoise.play();
startBtn.addEventListener(MouseEvent.MOUSE_DOWN, playGame);
}
function frame6(){
stop();
gameOverScreen.y = -1000;
gameOverScreen.gotoAndStop(1);
up = false;
down = false;
left = false;
right = false;
enemyGoal = "NONE";
_GAMEOVER = false;
_PLAYER_TURN = true;
_PLAYER_IS_WINNER = false;
returnCameraActive = false;
enemyCameraActive = false;
delayTimer = new Timer(2000);
delayTimer.addEventListener(TimerEvent.TIMER, delay);
poopCount = 0;
particleCount = 0;
throws = 0;
angle = 0;
power = 0;
enemyAngle = randRange(-110, -160);
enemyPower = randRange(30, 50);
throwsBreadCrumb = "S";
addKeyEventListeners();
stage.addEventListener(Event.ENTER_FRAME, main);
URLBtn.addEventListener(MouseEvent.CLICK, gotoCH);
bg = new BG();
bg.x = 0;
bg.y = 0;
bg.name = "bg";
game.addChild(bg);
fg = new FG();
fg.x = 0;
fg.y = 0;
fg.name = "fg";
game.addChild(fg);
deg2rad = ((2 * Math.PI) / 360);
rad2deg = (1 / deg2rad);
smileSound = new SmileSound();
screamSound = new ScreamSound();
angryScreamSound = new AngryScreamSound();
splat2Sound = new Splat2Sound();
ambienceSound = new AmbienceSound();
ambienceSound.play(0, 10000);
monkey = new Monkey();
monkey.x = 152;
monkey.y = 350;
monkey.name = "monkey";
monkey.scaleX = 2;
monkey.scaleY = 2;
game.addChild(monkey);
enemyMonkey = new Monkey();
enemyMonkey.x = randRange(1500, 2600);
enemyMonkey.y = 350;
enemyMonkey.name = "enemyMonkey";
enemyMonkey.scaleX = -2;
enemyMonkey.scaleY = 2;
enemyMonkey.head.eyes.leftEye.scaleX = -1;
enemyMonkey.head.eyes.leftEye.scaleY = 1;
enemyMonkey.head.eyes.rightEye.scaleX = -1;
enemyMonkey.head.eyes.rightEye.scaleY = 1;
game.addChild(enemyMonkey);
enemyMonkey.gotoAndPlay(81);
}
function frame1(){
stop();
stage.scaleMode = StageScaleMode.EXACT_FIT;
stage.quality = StageQuality.HIGH;
Mouse.show();
CustomContextMenu = new ContextMenu();
CustomContextMenu.hideBuiltInItems();
CONTEXTMENU_removeDefaultItems();
CONTEXTMENU_addCustomMenuItems();
this.contextMenu = CustomContextMenu;
_LOADING_FINISHED = false;
root.addEventListener(Event.ENTER_FRAME, preLoader);
}
function frame4(){
stop();
CHLogo.addEventListener(MouseEvent.CLICK, gotoLogoURL);
setTimeout(moveToMenu, 6000);
}
function frame2(){
assets.dummy.removeEventListener(Event.ENTER_FRAME, main);
removeChild(assets);
}
public function returnCamera(){
if (returnCameraActive == true){
if (game.x < -49){
game.x = (game.x + 50);
} else {
game.x = 0;
addKeyEventListeners();
angleArrow.visible = true;
powerBar.visible = true;
returnCameraActive = false;
};
};
}
function frame3(){
stop();
myOptions = {clip:root, id:"f26207400e1dbd99", res:"550x400", background:0, color:10274266, outline:0xF8F8F8, no_bg:false, ad_started:stopGame, ad_finished:resumeGame};
MochiAd.showPreGameAd(myOptions);
}
public function deactivatePoopAndReset(_arg1:MovieClip){
if (poopCount > 0){
if ((((_arg1.active == false)) && ((_arg1.isDead == false)))){
_arg1.isDead = true;
delayTimer.start();
};
};
}
public function alterPower(){
if (up){
angle--;
if (angle < -80){
angle = -80;
};
};
if (down){
angle++;
if (angle > 0){
angle = 0;
};
};
if (left){
power = (power - 1);
if (power < 0){
power = 0;
};
};
if (right){
power = (power + 1);
if (power > 50){
power = 50;
};
};
}
public function preLoader(_arg1:Event){
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = root.loaderInfo.bytesTotal;
_local3 = root.loaderInfo.bytesLoaded;
_local4 = Math.round(((100 * _local3) / _local2));
loadingText.text = (("LOADING... " + _local4) + "%");
preLoaderBar.width = (_local4 * 3);
if ((((_local3 >= _local2)) && ((_LOADING_FINISHED == false)))){
setTimeout(endPreload, 100);
_LOADING_FINISHED = true;
};
}
public function restartGame(_arg1:KeyboardEvent):void{
var _local2:Number;
_local2 = _arg1.keyCode;
if (_local2 == 32){
stage.removeEventListener(KeyboardEvent.KEY_UP, restartGame);
destroyStage();
initGame();
};
}
public function endPreload():void{
root.removeEventListener(Event.ENTER_FRAME, preLoader);
gotoAndStop("ads");
}
public function CONTEXTMENU_addCustomMenuItems():void{
var _local1:ContextMenuItem;
var _local2:ContextMenuItem;
_local1 = new ContextMenuItem("Created by Goblin Prince");
CustomContextMenu.customItems.push(_local1);
_local2 = new ContextMenuItem("© Copyright 2008 www.crazyhoroscopes.com");
CustomContextMenu.customItems.push(_local2);
_local2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, CONTEXTMENU_URLMenuItemSelectHandler);
}
public function enemyCamera(){
var _local1:*;
if (enemyCameraActive == true){
_local1 = (-((game.getChildByName("enemyMonkey") as Monkey).x) + 350);
if (game.x < _local1){
game.x = (game.x + 50);
} else {
if (game.x > (_local1 + 51)){
game.x = (game.x - 50);
} else {
game.x = _local1;
enemyCameraActive = false;
(game.getChildByName("enemyMonkey") as Monkey).gotoAndPlay("poo");
};
};
};
}
public function generatePlops(_arg1:MovieClip){
var _local2:uint;
var _local3:*;
var _local4:Number;
var _local5:Number;
_local2 = randRange(1, 8);
if (_local2 == 1){
if (_arg1.isStraining == true){
_local3 = (_arg1.y + 15);
_local4 = (_arg1.x - 5);
_local5 = _arg1.y;
generateParticle("PLOP", _local4, _local5, _local3);
};
};
}
public function removeKeyEventListeners(){
stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownEvents);
stage.removeEventListener(KeyboardEvent.KEY_UP, keyUpEvents);
}
public function gotoLogoURL(_arg1:MouseEvent):void{
gotoURL();
}
public function gotoCH(_arg1:MouseEvent):void{
gotoURL();
}
public function calculateAngle(_arg1, _arg2, _arg3, _arg4:Number):Number{
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
_local5 = (_arg3 - _arg1);
_local6 = -((_arg4 - _arg2));
_local7 = distance(_arg3, _arg4, _arg1, _arg2);
_local8 = (_local5 / _local7);
_local9 = (_local6 / _local7);
_local10 = (Math.acos(_local8) * rad2deg);
if (_local9 > 0){
return (max360((360 - _local10)));
};
return (max360(_local10));
}
public function gotoURL(){
var _local1:String;
var _local2:URLRequest;
_local1 = "http://www.crazyhoroscopes.com";
_local2 = new URLRequest(_local1);
navigateToURL(_local2);
}
public function CONTEXTMENU_removeDefaultItems():void{
var _local1:ContextMenuBuiltInItems;
CustomContextMenu.hideBuiltInItems();
_local1 = CustomContextMenu.builtInItems;
_local1.quality = true;
}
public function poopHitMonkey(_arg1:String, _arg2, _arg3:MovieClip){
if (poopCount > 0){
if (((((_arg3.hitTestObject(_arg2.head.headHitArea)) && ((_arg3.active == true)))) && ((_arg2.isHit == false)))){
if ((((_PLAYER_TURN == true)) && ((_arg1 == "ENEMY")))){
_arg2.isHit = true;
_arg2.head.headPoop.visible = true;
_arg2.gotoAndPlay("endgame");
channel = angryScreamSound.play();
splatChannel = splat2Sound.play();
blowUpPoop(_arg3, _arg2);
_PLAYER_IS_WINNER = true;
_GAMEOVER = true;
};
if ((((_PLAYER_TURN == false)) && ((_arg1 == "PLAYER")))){
_arg2.isHit = true;
_arg2.head.headPoop.visible = true;
_arg2.gotoAndPlay("endgame");
channel = angryScreamSound.play();
splatChannel = splat2Sound.play();
blowUpPoop(_arg3, _arg2);
_PLAYER_IS_WINNER = false;
_GAMEOVER = true;
};
};
if (((((_arg3.hitTestObject(_arg2.body.bodyHitArea)) && ((_arg3.active == true)))) && ((_arg2.isHit == false)))){
if ((((_PLAYER_TURN == true)) && ((_arg1 == "ENEMY")))){
_arg2.isHit = true;
_arg2.body.bodyPoop.visible = true;
_arg2.gotoAndPlay("endgame");
channel = angryScreamSound.play();
splatChannel = splat2Sound.play();
blowUpPoop(_arg3, _arg2);
_PLAYER_IS_WINNER = true;
_GAMEOVER = true;
};
if ((((_PLAYER_TURN == false)) && ((_arg1 == "PLAYER")))){
_arg2.isHit = true;
_arg2.body.bodyPoop.visible = true;
_arg2.gotoAndPlay("endgame");
channel = angryScreamSound.play();
splatChannel = splat2Sound.play();
blowUpPoop(_arg3, _arg2);
_PLAYER_IS_WINNER = false;
_GAMEOVER = true;
};
};
};
}
public function stopGame(){
stop();
}
public function initGame(){
gameOverScreen.y = -1000;
gameOverScreen.gotoAndStop(1);
up = false;
down = false;
left = false;
right = false;
_GAMEOVER = false;
_PLAYER_TURN = true;
_PLAYER_IS_WINNER = false;
returnCameraActive = false;
enemyCameraActive = false;
angleArrow.visible = true;
powerBar.visible = true;
enemyGoal = "NONE";
poopCount = 0;
particleCount = 0;
throws = 0;
angle = 0;
power = 0;
enemyAngle = randRange(-110, -160);
enemyPower = randRange(30, 50);
(game.getChildByName("enemyMonkey") as Monkey).x = randRange(1500, 2600);
(game.getChildByName("enemyMonkey") as Monkey).head.eyes.leftEye.scaleX = -1;
(game.getChildByName("enemyMonkey") as Monkey).head.eyes.leftEye.scaleY = 1;
(game.getChildByName("enemyMonkey") as Monkey).head.eyes.rightEye.scaleX = -1;
(game.getChildByName("enemyMonkey") as Monkey).head.eyes.rightEye.scaleY = 1;
(game.getChildByName("enemyMonkey") as Monkey).gotoAndPlay(81);
addKeyEventListeners();
game.x = 0;
}
public function generateParticle(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Number){
var _local5:Particle;
particleCount++;
_local5 = new Particle(_arg1, _arg4);
_local5.x = _arg2;
_local5.y = _arg3;
_local5.name = ("particle" + particleCount);
game.addChild(_local5);
}
public function destroyStage(){
destroyParticles();
destroyPoop();
(game.getChildByName("monkey") as Monkey).resetMonkey();
(game.getChildByName("monkey") as Monkey).gotoAndStop(1);
(game.getChildByName("enemyMonkey") as Monkey).resetMonkey();
(game.getChildByName("enemyMonkey") as Monkey).gotoAndStop(1);
}
public function checkIsWinner(){
if (_GAMEOVER){
gameOverScreen.y = 42;
removeKeyEventListeners();
stage.addEventListener(KeyboardEvent.KEY_UP, restartGame);
if (_PLAYER_IS_WINNER){
gameOverScreen.gotoAndStop("winner");
} else {
gameOverScreen.gotoAndStop("loser");
};
};
}
public function keyUpEvents(_arg1:KeyboardEvent):void{
var _local2:Number;
_local2 = _arg1.keyCode;
if (_local2 == 38){
up = false;
};
if (_local2 == 37){
left = false;
};
if (_local2 == 39){
right = false;
};
if (_local2 == 40){
down = false;
};
if (_local2 == 32){
fire((game.getChildByName("monkey") as Monkey));
};
}
public function destroyPoop(){
var _local1:int;
_local1 = 1;
while (_local1 <= poopCount) {
(game.getChildByName(("poop" + _local1)) as Poop).removePoop();
game.removeChild(game.getChildByName(("poop" + _local1)));
_local1++;
};
poopCount = 0;
}
public function playGame(_arg1:MouseEvent):void{
startBtn.removeEventListener(MouseEvent.MOUSE_DOWN, playGame);
gotoAndPlay("game");
}
public function followPoop(_arg1:MovieClip){
var _local2:*;
var _local3:Number;
if (poopCount > 0){
if (_arg1.active == true){
game.x = (game.x - _arg1.xSpeed);
game.x = (game.x + (_arg1.xSpeed / 15));
updateEnemyGoal();
};
if (game.x >= 0){
game.x = 0;
};
_local3 = 0;
_local2 = (game.getChildByName("monkey") as Monkey).x;
_local3 = ((game.getChildByName("monkey") as Monkey).y - 40);
(game.getChildByName("monkey") as Monkey).head.eyes.leftEye.rotation = calculateAngle(_local2, _local3, _arg1.x, _arg1.y);
(game.getChildByName("monkey") as Monkey).head.eyes.rightEye.rotation = calculateAngle(_local2, _local3, _arg1.x, _arg1.y);
_local2 = (game.getChildByName("enemyMonkey") as Monkey).x;
_local3 = ((game.getChildByName("enemyMonkey") as Monkey).y - 40);
(game.getChildByName("enemyMonkey") as Monkey).head.eyes.leftEye.rotation = -(calculateAngle(_local2, _local3, _arg1.x, _arg1.y));
(game.getChildByName("enemyMonkey") as Monkey).head.eyes.rightEye.rotation = -(calculateAngle(_local2, _local3, _arg1.x, _arg1.y));
};
}
public function monkeyReact(_arg1:String, _arg2, _arg3:MovieClip){
if (poopCount > 0){
if ((((_arg1 == "PLAYER")) && ((_PLAYER_TURN == false)))){
if ((((((((_arg2.x > (_arg3.x + 30))) && ((_arg2.x < (_arg3.x + 250))))) && ((_arg2.active == false)))) && ((_arg2.isDead == false)))){
_arg3.gotoAndPlay("grin");
channel = smileSound.play();
};
};
if ((((_arg1 == "ENEMY")) && ((_PLAYER_TURN == true)))){
if ((((((((_arg2.x < (_arg3.x - 30))) && ((_arg2.x > (_arg3.x - 250))))) && ((_arg2.active == false)))) && ((_arg2.isDead == false)))){
_arg3.gotoAndPlay("grin");
channel = smileSound.play();
};
};
if ((((_arg1 == "PLAYER")) && ((_PLAYER_TURN == false)))){
if ((((((((((((_arg2.y > _arg3.y)) && ((_arg2.x > _arg3.x)))) && ((_arg2.x < (_arg3.x + 29))))) && ((_arg2.active == true)))) && ((_arg2.isDead == false)))) && ((_arg3.panic == false)))){
_arg3.panic = true;
_arg3.gotoAndPlay("panic");
channel = screamSound.play();
};
};
if ((((_arg1 == "ENEMY")) && ((_PLAYER_TURN == true)))){
if ((((((((((((_arg2.y > _arg3.y)) && ((_arg2.x < _arg3.x)))) && ((_arg2.x > (_arg3.x - 29))))) && ((_arg2.active == true)))) && ((_arg2.isDead == false)))) && ((_arg3.panic == false)))){
_arg3.panic = true;
_arg3.gotoAndPlay("panic");
channel = screamSound.play();
};
};
};
}
public function delay(_arg1:TimerEvent):void{
delayTimer.stop();
delayTimer.reset();
if (_PLAYER_TURN == true){
_PLAYER_TURN = false;
} else {
_PLAYER_TURN = true;
};
if ((((_PLAYER_TURN == true)) && ((_GAMEOVER == false)))){
resetMonkey((game.getChildByName("monkey") as Monkey));
} else {
if ((((_PLAYER_TURN == false)) && ((_GAMEOVER == false)))){
resetMonkey((game.getChildByName("enemyMonkey") as Monkey));
};
};
}
public function moveToMenu(){
CHLogo.removeEventListener(MouseEvent.CLICK, gotoLogoURL);
gotoAndPlay("menu");
}
public function blowUpPoop(_arg1, _arg2:MovieClip){
var _local3:*;
var _local4:int;
var _local5:int;
var _local6:*;
var _local7:*;
_local3 = 368;
_local4 = randRange(50, 80);
_local5 = 1;
while (_local5 <= _local4) {
_local6 = _arg2.x;
_local7 = (_arg2.y - 40);
generateParticle("SPLAT", _local6, _local7, _local3);
_local5++;
};
_arg1.splatSound();
_arg1.destroy();
}
public function main(_arg1:Event):void{
alterPower();
angleArrow.rotation = angle;
powerBar.powerMask.x = (power * 3);
throwPoop((game.getChildByName("monkey") as Monkey), angle, power, "R");
throwPoop((game.getChildByName("enemyMonkey") as Monkey), enemyAngle, enemyPower, "L");
generateSplat((game.getChildByName(("poop" + poopCount)) as Poop));
generateSmear((game.getChildByName(("poop" + poopCount)) as Poop));
generatePlops((game.getChildByName("monkey") as Monkey));
generatePlops((game.getChildByName("enemyMonkey") as Monkey));
poopHitMonkey("PLAYER", (game.getChildByName("monkey") as Monkey), (game.getChildByName(("poop" + poopCount)) as Poop));
poopHitMonkey("ENEMY", (game.getChildByName("enemyMonkey") as Monkey), (game.getChildByName(("poop" + poopCount)) as Poop));
monkeyReact("PLAYER", (game.getChildByName(("poop" + poopCount)) as Poop), (game.getChildByName("monkey") as Monkey));
monkeyReact("ENEMY", (game.getChildByName(("poop" + poopCount)) as Poop), (game.getChildByName("enemyMonkey") as Monkey));
followPoop((game.getChildByName(("poop" + poopCount)) as Poop));
deactivatePoopAndReset((game.getChildByName(("poop" + poopCount)) as Poop));
checkIsWinner();
returnCamera();
enemyCamera();
if (throws == 1){
throwsBreadCrumb = "";
} else {
throwsBreadCrumb = "S";
};
throwsText.text = ((throws + " THROW") + throwsBreadCrumb);
}
public function generateSplat(_arg1:MovieClip){
var _local2:*;
var _local3:int;
var _local4:int;
var _local5:*;
var _local6:*;
if (poopCount > 0){
if ((((((_arg1.landed == true)) && ((_arg1.maxAltitude < -350)))) && ((_arg1.hasExploded == false)))){
_arg1.explode();
_local2 = _arg1.y;
_local3 = randRange(25, 40);
_local4 = 1;
while (_local4 <= _local3) {
_local5 = (_arg1.x + (_arg1.xSpeed * 2));
_local6 = _arg1.y;
generateParticle("SPLAT", _local5, _local6, _local2);
_local4++;
};
};
};
}
public function generateNewVariables(){
var _local1:*;
var _local2:*;
_local1 = enemyAngle;
_local2 = enemyPower;
if (enemyGoal == "FORWARD"){
enemyAngle = randRange(-110, -160);
enemyPower = randRange((_local2 + 2), (_local2 + 10));
};
if (enemyGoal == "BACK"){
enemyAngle = randRange(-100, -170);
enemyPower = randRange((_local2 - 2), (_local2 - 10));
};
if (enemyPower > 50){
enemyPower = 50;
};
if (enemyPower < 0){
enemyPower = 0;
};
}
public function resumeGame(){
gotoAndPlay("logo");
}
public function destroyParticles(){
var _local1:int;
_local1 = 1;
while (_local1 <= particleCount) {
(game.getChildByName(("particle" + _local1)) as Particle).destroy();
game.removeChild(game.getChildByName(("particle" + _local1)));
_local1++;
};
particleCount = 0;
}
public function distance(_arg1, _arg2, _arg3, _arg4:Number):Number{
return (Math.sqrt((Math.pow((_arg3 - _arg1), 2) + Math.pow((_arg4 - _arg2), 2))));
}
}
}//package monkey_fla
Section 6
//mmmanim_22 (monkey_fla.mmmanim_22)
package monkey_fla {
import flash.display.*;
public dynamic class mmmanim_22 extends MovieClip {
public function mmmanim_22(){
addFrameScript(49, frame50);
}
function frame50(){
gotoAndPlay(49);
}
}
}//package monkey_fla
Section 7
//monkey_12 (monkey_fla.monkey_12)
package monkey_fla {
import flash.display.*;
public dynamic class monkey_12 extends MovieClip {
public var bodyHitArea:MovieClip;
public var bodyPoop:MovieClip;
}
}//package monkey_fla
Section 8
//monkey_16 (monkey_fla.monkey_16)
package monkey_fla {
import flash.display.*;
public dynamic class monkey_16 extends MovieClip {
public var headPoop:MovieClip;
public var eyes:MovieClip;
public var mouth:MovieClip;
public var headHitArea:MovieClip;
public var nose:MovieClip;
}
}//package monkey_fla
Section 9
//oooanim_24 (monkey_fla.oooanim_24)
package monkey_fla {
import flash.display.*;
public dynamic class oooanim_24 extends MovieClip {
public function oooanim_24(){
addFrameScript(14, frame15);
}
function frame15(){
gotoAndPlay(14);
}
}
}//package monkey_fla
Section 10
//palmtree_4 (monkey_fla.palmtree_4)
package monkey_fla {
import flash.display.*;
public dynamic class palmtree_4 extends MovieClip {
public var leafFrNo:Number;
public var leaf3:MovieClip;
public var leaf5:MovieClip;
public var leaf6:MovieClip;
public var leaf1:MovieClip;
public var leaf4:MovieClip;
public var leaf2:MovieClip;
public function palmtree_4(){
addFrameScript(0, frame1);
}
public function randRange(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * ((_arg2 - _arg1) + 1))) + _arg1);
return (_local3);
}
function frame1(){
stop();
leafFrNo = randRange(1, 80);
leaf1.gotoAndPlay(leafFrNo);
leaf2.gotoAndPlay(leafFrNo);
leaf3.gotoAndPlay(leafFrNo);
leaf4.gotoAndPlay(leafFrNo);
leaf5.gotoAndPlay(leafFrNo);
leaf6.gotoAndPlay(leafFrNo);
}
}
}//package monkey_fla
Section 11
//powerBar_41 (monkey_fla.powerBar_41)
package monkey_fla {
import flash.display.*;
public dynamic class powerBar_41 extends MovieClip {
public var powerMask:MovieClip;
}
}//package monkey_fla
Section 12
//AmbienceSound (AmbienceSound)
package {
import flash.media.*;
public dynamic class AmbienceSound extends Sound {
}
}//package
Section 13
//AngryScreamSound (AngryScreamSound)
package {
import flash.media.*;
public dynamic class AngryScreamSound extends Sound {
}
}//package
Section 14
//BG (BG)
package {
import flash.display.*;
public dynamic class BG extends MovieClip {
public var leaf3:MovieClip;
public var leaf5:MovieClip;
public var leaf6:MovieClip;
public var leaf1:MovieClip;
public var leaf4:MovieClip;
public var leaf2:MovieClip;
}
}//package
Section 15
//ChimpSound1 (ChimpSound1)
package {
import flash.media.*;
public dynamic class ChimpSound1 extends Sound {
}
}//package
Section 16
//ChimpSound2 (ChimpSound2)
package {
import flash.media.*;
public dynamic class ChimpSound2 extends Sound {
}
}//package
Section 17
//ChimpSound3 (ChimpSound3)
package {
import flash.media.*;
public dynamic class ChimpSound3 extends Sound {
}
}//package
Section 18
//Fart (Fart)
package {
import flash.media.*;
public dynamic class Fart extends Sound {
}
}//package
Section 19
//FG (FG)
package {
import flash.display.*;
public dynamic class FG extends MovieClip {
public var leaf3:MovieClip;
public var leaf5:MovieClip;
public var leaf6:MovieClip;
public var leaf1:MovieClip;
public var leaf4:MovieClip;
public var leaf2:MovieClip;
}
}//package
Section 20
//MochiAd (MochiAd)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.system.*;
import flash.net.*;
public class MochiAd {
public static function getVersion():String{
return ("2.1");
}
public static function showTimedAd(_arg1:Object):void{
MochiAd.showInterLevelAd(_arg1);
}
public static function _allowDomains(_arg1:String):String{
var _local2:String;
_local2 = _arg1.split("/")[2].split(":")[0];
Security.allowDomain("*");
Security.allowDomain(_local2);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(_local2);
return (_local2);
}
public static function load(_arg1:Object):MovieClip{
var DEFAULTS:Object;
var clip:Object;
var depth:Number;
var mc:MovieClip;
var wh:Array;
var lv:URLVariables;
var k:String;
var server:String;
var hostname:String;
var lc:LocalConnection;
var name:String;
var loader:Loader;
var f:Function;
var g:Function;
var req:URLRequest;
var v:Object;
var options = _arg1;
DEFAULTS = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
if (!MochiAd._isNetworkAvailable()){
return (null);
};
if (clip._mochiad_loaded){
return (null);
};
depth = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, "_mochiad", depth);
wh = MochiAd._getRes(options, clip);
options.res = ((wh[0] + "x") + wh[1]);
options.server = (options.server + options.id);
delete options.id;
clip._mochiad_loaded = true;
if (clip.loaderInfo.loaderURL.indexOf("http") == 0){
options.as3_swf = clip.loaderInfo.loaderURL;
};
lv = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
lv.lc = name;
lv.st = getTimer();
loader = new Loader();
f = function (_arg1:Object):void{
mc._mochiad_ctr_failed = true;
};
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f);
g = function (_arg1:Object):void{
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest((server + ".swf"));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.load(req);
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function sendHighScore(_arg1:Object, _arg2:Object, _arg3:Object=null):Boolean{
var _local4:MovieClip;
_local4 = MochiAd._loadCommunicator({clip:_arg1.clip, id:_arg1.id});
if (!_local4){
return (false);
};
_local4.doSend(["sendHighScore", _arg1], _arg2, _arg3);
return (true);
}
public static function _parseOptions(_arg1:Object, _arg2:Object):Object{
var _local3:Object;
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
_local3 = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
if (_arg1){
for (_local4 in _arg1) {
_local3[_local4] = _arg1[_local4];
};
};
_arg1 = _local3.clip.loaderInfo.parameters.mochiad_options;
if (_arg1){
_local5 = _arg1.split("&");
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = _local5[_local6].split("=");
_local3[unescape(_local7[0])] = unescape(_local7[1]);
_local6++;
};
};
return (_local3);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function unload(_arg1:Object):Boolean{
if (((_arg1.clip) && (_arg1.clip._mochiad))){
_arg1 = _arg1.clip;
};
if (!_arg1._mochiad){
return (false);
};
if (_arg1._mochiad.onUnload){
_arg1._mochiad.onUnload();
};
_arg1.removeChild(_arg1._mochiad);
delete _arg1._mochiad_loaded;
delete _arg1._mochiad;
return (true);
}
public static function showInterLevelAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
this.clip.stop();
}, ad_finished:function ():void{
this.clip.play();
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
options.ad_finished();
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = (_arg1 - 250);
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
_local1 = this.parent._mochiad_ctr;
_local2 = (getTimer() - this.started);
_local3 = false;
if (!chk.showing){
_local4 = _local1.loaderInfo.bytesTotal;
if ((((_local4 > 0)) || (("number" == "undefined")))){
chk.showing = true;
chk.started = getTimer();
} else {
if (_local2 > chk.ad_timeout){
_local3 = true;
};
};
};
if ((((_local2 > chk.ad_msec)) || (this.parent._mochiad_ctr_failed))){
_local3 = true;
};
if (_local3){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _getRes(_arg1:Object, _arg2:Object):Array{
var _local3:Object;
var _local4:Number;
var _local5:Number;
var _local6:Array;
_local3 = _arg2.getBounds(_arg2.root);
_local4 = 0;
_local5 = 0;
if (typeof(_arg1.res) != "undefined"){
_local6 = _arg1.res.split("x");
_local4 = parseFloat(_local6[0]);
_local5 = parseFloat(_local6[1]);
} else {
_local4 = (_local3.xMax - _local3.xMin);
_local5 = (_local3.yMax - _local3.yMin);
};
if ((((_local4 == 0)) || ((_local5 == 0)))){
_local4 = _arg2.stage.stageWidth;
_local5 = _arg2.stage.stageHeight;
};
return ([_local4, _local5]);
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{
var _local4:MovieClip;
_local4 = new MovieClip();
if (((false) && (_arg3))){
_arg1.addChildAt(_local4, _arg3);
} else {
_arg1.addChild(_local4);
};
_arg1[_arg2] = _local4;
_local4["_name"] = _arg2;
return (_local4);
}
public static function _loadCommunicator(_arg1:Object):MovieClip{
var DEFAULTS:Object;
var clip:Object;
var clipname:String;
var server:String;
var depth:Number;
var mc:MovieClip;
var lv:URLVariables;
var k:String;
var lc:LocalConnection;
var name:String;
var req:URLRequest;
var loader:Loader;
var options = _arg1;
DEFAULTS = {com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
clipname = ("_mochiad_com_" + options.id);
if (!MochiAd._isNetworkAvailable()){
return (null);
};
if (clip[clipname]){
return (clip[clipname]);
};
server = (options.com_server + options.id);
MochiAd._allowDomains(server);
delete options.id;
delete options.com_server;
depth = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, clipname, depth);
lv = new URLVariables();
for (k in options) {
lv[k] = options[k];
};
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.name = name;
mc.lc = lc;
lv.lc = name;
mc._id = 0;
mc._queue = [];
mc.rpcResult = function (_arg1:Object):void{
var _local3:Array;
var _local4:Array;
var _local5:Number;
var _local6:Object;
var _local7:Object;
_arg1 = parseInt(_arg1.toString());
_local3 = mc._callbacks[_arg1];
if (typeof(_local3) == "undefined"){
return;
};
delete mc._callbacks[_arg1];
_local4 = [];
_local5 = 2;
while (_local5 < _local3.length) {
_local4.push(_local3[_local5]);
_local5++;
};
_local5 = 1;
while (_local5 < arguments.length) {
_local4.push(arguments[_local5]);
_local5++;
};
_local6 = _local3[1];
_local7 = _local3[0];
if (((_local7) && ((typeof(_local6) == "string")))){
_local6 = _local7[_local6];
};
if (typeof(_local6) == "function"){
_local6.apply(_local7, _local4);
};
};
mc._didConnect = function (_arg1:String):void{
var _local2:Array;
var _local3:Function;
var _local4:Number;
var _local5:Array;
mc._endpoint = _arg1;
_local2 = mc._queue;
delete mc._queue;
_local3 = mc.doSend;
_local4 = 0;
while (_local4 < _local2.length) {
_local5 = _local2[_local4];
_local3.apply(this, _local5);
_local4++;
};
};
mc.doSend = function (_arg1:Array, _arg2:Object, _arg3:Object):void{
var _local5:Number;
var _local6:LocalConnection;
var _local7:Array;
var _local8:Number;
if (mc._endpoint == null){
_local7 = [];
_local8 = 0;
while (_local8 < arguments.length) {
_local7.push(arguments[_local8]);
_local8++;
};
mc._queue.push(_local7);
return;
};
mc._id = (mc._id + 1);
_local5 = mc._id;
mc._callbacks[_local5] = [_arg2, ((_arg3) || (_arg2))];
_local6 = new LocalConnection();
_local6.send(mc._endpoint, "rpc", _local5, _arg1);
};
mc._callbacks = {};
mc._callbacks[0] = [mc, "_didConnect"];
lv.st = getTimer();
req = new URLRequest((server + ".swf"));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader = new Loader();
loader.load(req);
mc.addChild(loader);
mc._mochiad_com = loader;
return (mc);
}
public static function showPreGameAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var bar:MovieClip;
var bar_color:Number;
var bar_background:Number;
var bar_outline:Number;
var backing_mc:MovieClip;
var backing:Object;
var inside_mc:MovieClip;
var inside:Object;
var outline_mc:MovieClip;
var outline:Object;
var complete:Boolean;
var unloaded:Boolean;
var f:Function;
var r:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, ad_started:function ():void{
this.clip.stop();
}, ad_finished:function ():void{
this.clip.play();
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
var fn:Function;
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
bar = createEmptyMovieClip(chk, "_mochiad_bar", 4);
bar.x = 10;
bar.y = (h - 20);
bar_color = options.color;
delete options.color;
bar_background = options.background;
delete options.background;
bar_outline = options.outline;
delete options.outline;
backing_mc = createEmptyMovieClip(bar, "_outline", 1);
backing = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo((w - 20), 0);
backing.lineTo((w - 20), 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
inside_mc = createEmptyMovieClip(bar, "_inside", 2);
inside = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo((w - 20), 0);
inside.lineTo((w - 20), 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
outline_mc = createEmptyMovieClip(bar, "_outline", 3);
outline = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo((w - 20), 0);
outline.lineTo((w - 20), 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
f = function (_arg1:Event):void{
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = _arg1;
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Object;
var _local3:Number;
var _local4:Boolean;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Object;
var _local10:Number;
var _local11:Number;
if (!this.parent.parent){
delete this["onEnterFrame"];
return;
};
_local1 = this.parent.parent.root;
_local2 = this.parent._mochiad_ctr;
_local3 = (getTimer() - this.started);
_local4 = false;
_local5 = _local1.loaderInfo.bytesTotal;
_local6 = _local1.loaderInfo.bytesLoaded;
_local7 = ((100 * _local6) / _local5);
_local8 = ((100 * _local3) / chk.ad_msec);
_local9 = this._mochiad_bar._inside;
_local10 = Math.min(100, Math.min(((_local7) || (0)), _local8));
_local10 = Math.max(this.last_pcnt, _local10);
this.last_pcnt = _local10;
_local9.scaleX = (_local10 * 0.01);
if (!chk.showing){
_local11 = _local2.loaderInfo.bytesTotal;
if ((((_local11 > 0)) || (("number" == "undefined")))){
chk.showing = true;
chk.started = getTimer();
} else {
if (_local3 > chk.ad_timeout){
_local4 = true;
};
};
};
if ((((_local3 > chk.ad_msec)) || (this.parent._mochiad_ctr_failed))){
_local4 = true;
};
if (((complete) && (_local4))){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(_arg1:Object):void{
MochiAd.showPreGameAd(_arg1);
}
public static function fetchHighScores(_arg1:Object, _arg2:Object, _arg3:Object=null):Boolean{
var _local4:MovieClip;
_local4 = MochiAd._loadCommunicator({clip:_arg1.clip, id:_arg1.id});
if (!_local4){
return (false);
};
_local4.doSend(["fetchHighScores", _arg1], _arg2, _arg3);
return (true);
}
public static function doOnEnterFrame(_arg1:MovieClip):void{
var f:Function;
var mc = _arg1;
f = function (_arg1:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
mc.removeEventListener(Event.ENTER_FRAME, f);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package
Section 21
//Monkey (Monkey)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class Monkey extends MovieClip {
public var isHit:Boolean;
var chimpSound1:ChimpSound1;
var chimpSound3:ChimpSound3;
var chimpSound2:ChimpSound2;
public var isStraining:Boolean;
var fart:Fart;
var blinkTimer:Timer;
public var frame:String;
public var panic:Boolean;
public var pooRelease:Boolean;
public var expression:uint;
public var body:MovieClip;
public var head:MovieClip;
public var busy:Boolean;// = false
public function Monkey(){
busy = false;
blinkTimer = new Timer(3000);
fart = new Fart();
chimpSound1 = new ChimpSound1();
chimpSound2 = new ChimpSound2();
chimpSound3 = new ChimpSound3();
super();
addFrameScript(0, frame1, 1, frame2, 12, frame13, 53, frame54, 67, frame68, 81, frame82, 82, frame83, 84, frame85, 85, frame86, 108, frame109, 109, frame110, 119, frame120);
resetMonkey();
blinkTimer.addEventListener(TimerEvent.TIMER, blinkEyes);
addEventListener(Event.ENTER_FRAME, main);
blinkTimer.start();
}
public function resetMonkey(){
pooRelease = false;
isStraining = false;
panic = false;
isHit = false;
busy = false;
head.headPoop.visible = false;
body.bodyPoop.visible = false;
}
function frame86(){
this.head.eyes.leftEye.visible = true;
this.head.eyes.rightEye.visible = true;
this.head.eyes.gotoAndStop("watch");
this.head.nose.gotoAndStop("angry");
this.head.mouth.gotoAndStop("scream");
}
function frame82(){
stop();
this.head.eyes.leftEye.visible = true;
this.head.eyes.rightEye.visible = true;
this.head.eyes.gotoAndStop("watch");
this.head.nose.gotoAndStop("normal");
this.head.mouth.gotoAndStop("normal");
}
private function randRange(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * ((_arg2 - _arg1) + 1))) + _arg1);
return (_local3);
}
function frame85(){
stop();
}
private function playChimpSound(){
var _local1:int;
_local1 = randRange(1, 3);
switch (_local1){
case 1:
chimpSound1.play();
break;
case 2:
chimpSound2.play();
break;
case 3:
chimpSound3.play();
break;
};
}
function frame1(){
stop();
this.head.eyes.leftEye.visible = false;
this.head.eyes.rightEye.visible = false;
this.panic = false;
this.busy = false;
this.head.eyes.gotoAndStop("normal");
this.head.nose.gotoAndStop("normal");
this.head.mouth.gotoAndStop("normal");
}
function frame13(){
this.isStraining = true;
}
function frame83(){
this.head.eyes.leftEye.visible = false;
this.head.eyes.rightEye.visible = false;
this.busy = true;
this.head.eyes.gotoAndStop("straight");
this.head.nose.gotoAndStop("angry");
this.head.mouth.gotoAndStop("grin");
}
function frame110(){
this.head.eyes.leftEye.visible = false;
this.head.eyes.rightEye.visible = false;
this.busy = true;
this.head.eyes.gotoAndStop("endgame");
this.head.nose.gotoAndStop("angry");
this.head.mouth.gotoAndStop("scream");
}
function frame109(){
gotoAndPlay(95);
}
function frame120(){
stop();
}
function main(_arg1:Event):void{
if (this.currentFrame == 10){
fart.play();
};
}
function frame54(){
this.isStraining = false;
this.head.eyes.gotoAndStop("normal");
this.head.nose.gotoAndStop("angry");
this.head.mouth.gotoAndStop("frown");
}
function blinkEyes(_arg1:TimerEvent):void{
if (busy == false){
this.head.eyes.gotoAndStop("blink");
blinkTimer.stop();
blinkTimer.delay = randRange(1000, 5000);
blinkTimer.start();
};
}
function frame2(){
this.head.nose.gotoAndStop("angry");
this.head.eyes.visible = true;
this.busy = true;
expression = randRange(1, 3);
switch (expression){
case 1:
frame = "angry";
break;
case 2:
frame = "wide";
break;
case 3:
frame = "oneeye";
break;
};
this.head.eyes.gotoAndStop(frame);
expression = randRange(1, 3);
switch (expression){
case 1:
frame = "angry";
break;
case 2:
frame = "ooo";
break;
case 3:
frame = "gritteeth";
break;
};
this.head.mouth.gotoAndStop(frame);
}
function frame68(){
pooRelease = true;
this.head.mouth.gotoAndStop("normal");
playChimpSound();
}
}
}//package
Section 22
//Particle (Particle)
package {
import flash.display.*;
import flash.events.*;
public class Particle extends MovieClip {
var size:Number;
var active:Boolean;
var friction:Number;
var floor:Number;
var gravity:Number;
var splatH:Number;
var frame:Number;
var yspeed:Number;
var splatW:Number;
var type:String;
var xspeed:Number;
public function Particle(_arg1:String, _arg2:Number){
active = true;
yspeed = (randRange(200, -200) / 100);
xspeed = (randRange(-100, 100) / 100);
floor = (_arg2 + (randRange(10, 300) / 100));
size = (randRange(100, 400) / 100);
splatW = (size * (randRange(500, 1000) / 100));
splatH = (size * (randRange(30, 100) / 100));
switch (_arg1){
case "SPLAT":
size = (randRange(200, 600) / 100);
x = (x + (randRange(-3000, 3000) / 100));
y = (y + (randRange(-1000, 1000) / 100));
yspeed = (randRange(100, -900) / 100);
xspeed = (randRange(-600, 600) / 100);
splatW = (size * (randRange(150, 200) / 100));
splatH = (size * (randRange(50, 90) / 100));
break;
case "PLOP":
x = (x + (randRange(-300, 300) / 100));
y = (y + (randRange(-200, 200) / 100));
yspeed = (randRange(-20, -150) / 100);
xspeed = (randRange(-150, 150) / 100);
splatW = (size * (randRange(100, 400) / 100));
splatH = (size * (randRange(25, 70) / 100));
break;
};
height = (width = size);
friction = (randRange(920, 970) / 1000);
gravity = (randRange(230, 450) / 1000);
this.addEventListener(Event.ENTER_FRAME, mainLoop);
}
public function destroy(){
active = false;
visible = false;
this.removeEventListener(Event.ENTER_FRAME, mainLoop);
}
function checkcollision(){
if (y > floor){
active = false;
width = splatW;
height = splatH;
this.cacheAsBitmap = true;
this.removeEventListener(Event.ENTER_FRAME, mainLoop);
};
}
function randRange(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (Math.floor((Math.random() * ((_arg2 - _arg1) + 1))) + _arg1);
return (_local3);
}
function mainLoop(_arg1:Event):void{
if (active){
xspeed = (xspeed * friction);
yspeed = (yspeed + gravity);
y = (y + yspeed);
x = (x + xspeed);
checkcollision();
};
}
}
}//package
Section 23
//Poop (Poop)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
public class Poop extends MovieClip {
var friction:Number;
public var active:Boolean;
public var maxAltitude:Number;
public var hasExploded:Boolean;
public var ySpeed:Number;
var gravity:Number;
var splatFX:SplatSound;
var splatChannel:SoundChannel;
public var xSpeed:Number;
var rotSpeed:Number;
public var isDead:Boolean;
public var landed:Boolean;
public var landedX:Number;
var angle:Number;
var dir:String;
public function Poop(_arg1:Number, _arg2:Number, _arg3:String){
splatFX = new SplatSound();
super();
active = true;
dir = _arg3;
hasExploded = false;
isDead = false;
landed = false;
friction = 1;
maxAltitude = y;
angle = ((_arg1 * Math.PI) / 180);
xSpeed = (_arg2 * Math.cos(angle));
ySpeed = (_arg2 * Math.sin(angle));
gravity = 0.98;
rotSpeed = (_arg2 / 3);
landedX = 0;
addEventListener(Event.ENTER_FRAME, mainLoop);
}
public function splatSound(){
splatFX.play();
}
public function destroy(){
active = false;
isDead = true;
visible = false;
}
private function checkcollision(){
if (y > 362){
splatSound();
landed = true;
landedX = x;
y = (362 + (ySpeed / 5));
ySpeed = 0;
rotation = 90;
};
}
private function updateAltitude(){
if (y < maxAltitude){
maxAltitude = y;
};
}
public function removePoop(){
active = false;
isDead = true;
visible = false;
removeEventListener(Event.ENTER_FRAME, mainLoop);
}
public function explode(){
hasExploded = true;
visible = false;
xSpeed = 0;
}
function mainLoop(_arg1:Event):void{
if (active){
ySpeed = (ySpeed + gravity);
if (landed){
if (dir == "R"){
xSpeed = (xSpeed - friction);
if (xSpeed < 0){
xSpeed = 0;
active = false;
};
} else {
xSpeed = (xSpeed + friction);
if (xSpeed > 0){
xSpeed = 0;
active = false;
};
};
};
x = (x + xSpeed);
if (!landed){
y = (y + ySpeed);
updateAltitude();
rotation = (rotation + rotSpeed);
checkcollision();
};
};
}
}
}//package
Section 24
//ScreamSound (ScreamSound)
package {
import flash.media.*;
public dynamic class ScreamSound extends Sound {
}
}//package
Section 25
//SmileSound (SmileSound)
package {
import flash.media.*;
public dynamic class SmileSound extends Sound {
}
}//package
Section 26
//Splat2Sound (Splat2Sound)
package {
import flash.media.*;
public dynamic class Splat2Sound extends Sound {
}
}//package
Section 27
//SplatSound (SplatSound)
package {
import flash.media.*;
public dynamic class SplatSound extends Sound {
}
}//package