Frame 1
function Preloader(baseClip, loadedFrame) {
this.loadedFrame = loadedFrame;
this.baseClip = baseClip;
this.clip = this.baseClip.createEmptyMovieClip("preloaderClip", this.baseClip.getNextHighestDepth());
this.clip.preloader = this;
this.frame = 0;
this.fractionLoaded = 0;
this.loadedBytes = 0;
this.totalBytes = 0;
this.percentLoaded = 0;
this.clip.onEnterFrame = this.evtEnterFrame;
}
function setupRightClickMenu(showDeeperbeigeLink) {
var _local2 = new ContextMenu();
_local2.hideBuiltInItems();
if (showDeeperbeigeLink || (showDeeperbeigeLink == undefined)) {
var _local4 = new ContextMenuItem("\u00A92008 deeperbeige.com", function () {
return(undefined);
});
var _local3 = new ContextMenuItem("http://deeperbeige.com", function () {
getURL ("http://deeperbeige.com", "_blank");
});
_local3.separatorBefore = true;
_local2.customItems.push(_local4, _local3);
}
_root.menu = _local2;
}
function siteLockTest(contentID, lockedFrame, successCallback, staticData) {
if (_root._url.substr(0, 5) == "file:") {
return(successCallback());
}
trace(("SiteLock: Testing '" + contentID) + "'");
var _local6 = new LoadVars();
var _local5 = new LoadVars();
_local5.successCallback = successCallback;
_local5.lockedFrame = lockedFrame;
_local5.staticData = staticData;
_local5.onLoad = function (success) {
if (success) {
if (this.allowed == 1) {
trace("SiteLock: Allowed");
this.successCallback();
} else {
trace("SiteLock: Failed");
_root.legalURL = this.legalURL;
_root.gotoAndStop(this.lockedFrame);
}
} else {
trace("SiteLock: Using static data for test");
var _local5 = _root._url;
var _local6 = _local5.indexOf("://");
if (_local6 >= 0) {
_local5 = _local5.substr(_local6 + 3);
}
strDomain = _local5.toLowerCase();
_local6 = strDomain.indexOf("/");
if (_local6 >= 0) {
strDomain = strDomain.substr(0, _local6);
}
var _local3 = 0;
while (_local3 < this.staticData.allowedDomains.length) {
var _local4 = this.staticData.allowedDomains[_local3];
if (_local4 == strDomain) {
trace("SiteLock: Allowed");
return(this.successCallback());
}
_local3++;
}
trace("SiteLock: Failed");
_root.legalURL = this.staticData.legalURL;
_root.gotoAndStop(this.lockedFrame);
}
};
_local6.contentID = contentID;
_local6.hostURL = _root._url;
_local6.r = Math.floor(Math.random() * 10000);
_local6.sendAndLoad("http://deeperbeige.com/sitelock/check.php", _local5, "POST");
}
function ScreenTrans(contentRoot, screenClip, startFrame, fastTrans) {
this.content = contentRoot;
this.screen = screenClip;
this.curFrame = startFrame;
this.screenFrame = 0;
this.transitioning = false;
this.fastTrans = (fastTrans ? true : false);
this.debug = false;
if (!this.content) {
trace("ScreenTrans: Content root is undefined");
}
if (!this.screen) {
trace("ScreenTrans: Screen clip is undefined");
}
if (this.debug) {
trace("ScreenTrans: Initialised");
}
}
function ContentTrans(contentRoot, arrClips, startFrame, fastTrans) {
this.content = contentRoot;
this.curFrame = startFrame;
this.transitioning = false;
this.fastTrans = (fastTrans ? true : false);
this.debug = false;
this.contentClips = arrClips;
if (!this.content) {
trace("ContentTrans: Content root is undefined");
}
var _local2 = 0;
while (_local2 < this.contentClips.length) {
var _local3 = this.contentClips[_local2];
if (!_local3) {
trace(("ContentTrans: Content clip " + _local2) + " is undefined");
}
_local2++;
}
if (this.debug) {
trace("ContentTrans: Initialised");
}
}
stop();
Preloader.prototype.evtEnterFrame = function () {
var _local4 = _root.getBytesLoaded();
var _local3 = _root.getBytesTotal();
this.preloader.frame++;
this.preloader.onUpdate();
if ((_local4 > 10) && (_local3 > 10)) {
this.preloader.totalBytes = _local3;
this.preloader.loadedBytes = _local4;
this.preloader.fractionLoaded = _local4 / _local3;
this.preloader.percentLoaded = Math.floor((_local4 * 100) / _local3);
if (_local4 == _local3) {
this.preloader.onLoaded();
this.onEnterFrame = undefined;
this.removeMovieClip();
}
} else {
this.preloader.percentLoaded = 0;
}
this.preloader.loadingString = ("Loading: " + this.preloader.percentLoaded) + "%";
};
Preloader.prototype.onLoaded = function () {
_root.gotoAndStop(this.loadedFrame);
};
Preloader.prototype.onUpdate = function () {
trace(this.fractionLoaded);
};
ScreenTrans.prototype.goto = function (frame, onTransComplete) {
if (this.curFrame == frame) {
if (this.debug) {
trace(("ScreenTrans: Transition to '" + frame) + "' disallowed: Already on this section");
}
return(undefined);
}
if (this.transitioning) {
if (this.debug) {
trace(("ScreenTrans: Transition to '" + frame) + "' disallowed: Already transitioning");
}
return(undefined);
}
if (this.debug) {
trace(("ScreenTrans: Transitioning to '" + frame) + "'");
}
this.goingTo = frame;
this.transitioning = true;
this.onTransComplete = onTransComplete;
this.content.objTrans = this;
this.screen.objTrans = this;
this.screen.prevFrameNo = this.screen._currentframe;
this.screen.onEnterFrame = function () {
if (this.debug) {
trace(("ScreenTrans: Hiding content (frame " + this._currentframe) + ")");
}
if ((this.prevFrameNo == this._currentframe) || (this.objTrans.fastTrans)) {
this.objTrans.next();
}
this.prevFrameNo = this._currentframe;
};
this.screen.gotoAndPlay("hide");
};
ScreenTrans.prototype.next = function () {
if (this.debug) {
trace(("ScreenTrans: Content hidden. Switching to '" + this.goingTo) + "'");
}
this.curFrame = this.goingTo;
this.goingTo = undefined;
this.screen.prevFrameNo = this.screen._currentframe;
this.screen.onEnterFrame = function () {
if (this.debug) {
trace(("ScreenTrans: Revealing content (frame " + this._currentframe) + ")");
}
if ((this.prevFrameNo == this._currentframe) || (this.objTrans.fastTrans)) {
this.objTrans.transComplete();
}
this.prevFrameNo = this._currentframe;
};
this.content.gotoAndStop(this.curFrame);
this.screen.gotoAndPlay("reveal");
};
ScreenTrans.prototype.transComplete = function () {
this.screen.onEnterFrame = undefined;
this.transitioning = false;
if (this.fastTrans) {
this.screen.gotoAndStop("idle");
}
if (this.onTransComplete != undefined) {
if (this.debug) {
trace("ScreenTrans: Executing callback");
}
this.onTransComplete();
}
if (this.debug) {
trace("ScreenTrans: Transition complete");
}
};
ContentTrans.prototype.goto = function (frame, onTransComplete) {
if (this.curFrame == frame) {
if (this.debug) {
trace(("ContentTrans: Transition to '" + frame) + "' disallowed: Already on this section");
}
return(undefined);
}
if (this.transitioning) {
if (this.debug) {
trace(("ContentTrans: Transition to '" + frame) + "' disallowed: Already transitioning");
}
return(undefined);
}
if (this.debug) {
trace(("ContentTrans: Transitioning to '" + frame) + "'");
}
this.goingTo = frame;
this.transitioning = true;
this.onTransComplete = onTransComplete;
this.content.objTrans = this;
var _local2 = 0;
while (_local2 < this.contentClips.length) {
var _local3 = this.contentClips[_local2];
_local3.prevFrameNo = -1;
_local2++;
}
this.content.onEnterFrame = function () {
var _local4 = true;
var _local3 = 0;
while (_local3 < this.objTrans.contentClips.length) {
var _local2 = this.objTrans.contentClips[_local3];
if (this.objTrans.fastTrans) {
} else {
if (_local2.prevFrameNo != _local2._currentframe) {
_local4 = false;
}
_local2.prevFrameNo = _local2._currentframe;
}
_local3++;
}
if (_local4) {
this.objTrans.next();
}
};
_local2 = 0;
while (_local2 < this.contentClips.length) {
var _local3 = this.contentClips[_local2];
_local3.gotoAndPlay("out");
_local2++;
}
};
ContentTrans.prototype.next = function () {
if (this.debug) {
trace(("ContentTrans: Content is now out. Switching to '" + this.goingTo) + "'");
}
this.curFrame = this.goingTo;
this.goingTo = undefined;
this.content.objTrans = this;
var _local2 = 0;
while (_local2 < this.contentClips.length) {
var _local3 = this.contentClips[_local2];
_local3.prevFrameNo = -1;
_local2++;
}
this.content.onEnterFrame = function () {
var _local4 = true;
var _local3 = 0;
while (_local3 < this.objTrans.contentClips.length) {
var _local2 = this.objTrans.contentClips[_local3];
if (this.objTrans.fastTrans) {
} else {
if (_local2.prevFrameNo != _local2._currentframe) {
_local4 = false;
}
_local2.prevFrameNo = _local2._currentframe;
}
_local3++;
}
if (_local4) {
this.objTrans.transComplete();
}
};
this.content.gotoAndStop(this.curFrame);
_local2 = 0;
while (_local2 < this.contentClips.length) {
var _local3 = this.contentClips[_local2];
_local3.gotoAndPlay("in");
_local2++;
}
};
ContentTrans.prototype.transComplete = function () {
this.content.onEnterFrame = undefined;
this.transitioning = false;
if (this.onTransComplete != undefined) {
if (this.debug) {
trace("ContentTrans: Executing callback");
}
this.onTransComplete();
}
if (this.debug) {
trace("ContentTrans: Transition complete");
}
};
com.mosesSupposes.fuse.ZigoEngine.simpleSetup(com.mosesSupposes.fuse.Shortcuts, com.mosesSupposes.fuse.PennerEasing);
var objTrans = new ScreenTrans(_root, _root.screen, "preloader");
var loadingComplete = false;
var animComplete = false;
var objPreloader = new Preloader(_root);
objPreloader.onUpdate = function () {
_root.loaded.text = ("LOADED: " + this.percentLoaded) + "%";
};
objPreloader.onLoaded = function () {
_root.loadingComplete = true;
_root.loaded.text = "PREPARING...";
if (_root.animComplete) {
_root.loaderAnim.play();
}
};
setupRightClickMenu();
_level0.cmuSWF_ID = "HannaInAChoppa";
if (_global.System) {
System.security.allowDomain("www.deeperbeige.com");
}
loadMovieNum ("http://www.deeperbeige.com/tracking/tracker.swf?r=" + (Math.floor(Math.random() * 10000) + 10000), 19467);
Frame 11
var staticData = {legalURL:"http://www.andkon.com/arcade/", allowedDomains:["www.deeperbeige.com", "deeperbeige.com", "andkon.com", "www.andkon.com"]};
siteLockTest("HannaInAChoppa_Andkon", "locked", function () {
_root.objTrans.goto("intro");
}, staticData);
Frame 71
function Sounds(clip) {
if (clip == undefined) {
trace("Sounds: Clip not found in constructor");
}
this.clip = clip;
clip.objSounds = this;
this.sounds = [];
this.groups = [];
this.loops = [];
this.muted = false;
clip.onEnterFrame = function () {
this.objSounds.evtEnterFrame();
};
}
function Physics(baseClip, gravityX, gravityY, drag, collidableMasses, attractingMasses, framePaintCallback, defaultPaint) {
this.baseClip = baseClip;
this.gravityX = gravityX;
this.gravityY = gravityY;
this.drag = drag;
this.collidableMasses = (collidableMasses ? true : false);
this.attractingMasses = (attractingMasses ? true : false);
this.attractionScale = 100;
this.masses = [];
this.springs = [];
this.surfaces = [];
this.framePaintCallback = framePaintCallback;
this.defaultPaint = ((defaultPaint == undefined) ? true : (defaultPaint));
this.biggestMassRadius = 0;
this.paused = false;
this.baseClip.physics = this;
this.baseClip.onEnterFrame = function () {
this.physics.step();
};
}
function massSort(a, b) {
return(a.x > b.x);
}
function collisionSort(a, b) {
if (a.massA.idx == b.massA.idx) {
return(a.massB.idx > b.massB.idx);
}
return(a.massA.idx > b.massA.idx);
}
function Mass(x, y, radius, fixed, physics, collisionSet) {
this.x = x;
this.y = y;
this.prevX = x;
this.prevY = y;
this.radius = radius;
this.radiusSquared = radius * radius;
this.fixed = fixed;
this.depth = physics.baseClip.getNextHighestDepth();
this.physics = physics;
this.collisionSet = collisionSet;
this.mass = 1;
this.friction = 0;
this.attractionMass = 0;
this.attractionMaxForce = 10;
this.extForceX = 0;
this.extForceY = 0;
this.hasHitSurface = false;
this.idx = this.physics.masses.length;
if (radius > physics.biggestMassRadius) {
physics.biggestMassRadius = radius;
}
this.vx = 0;
this.vy = 0;
this.springs = [];
this.physics.masses.push(this);
if (this.physics.defaultPaint) {
this.clip = this.physics.baseClip.createEmptyMovieClip("mass" + this.depth, this.depth);
this.clip.lineStyle(this.radius * 2, 255, 50);
this.clip.moveTo(0, 0);
this.clip.lineTo(0, 1);
this.clip.owner = this;
}
}
function Spring(mass1, mass2, physics, k, damperK) {
this.mass1 = mass1;
this.mass2 = mass2;
this.k = 0.8;
if (k != undefined) {
this.k = k;
}
this.damperK = 0.2;
if (damperK != undefined) {
this.damperK = damperK;
}
this.depth = physics.baseClip.getNextHighestDepth();
this.physics = physics;
this.mass1.springs.push(this);
this.mass2.springs.push(this);
this.physics.springs.push(this);
this.naturalLength = this.currentLength();
if (this.physics.defaultPaint) {
this.clip = this.physics.baseClip.createEmptyMovieClip("spring" + this.depth, this.depth);
this.clip.owner = this;
}
}
function Surface(x1, y1, x2, y2, physics, restitution, friction) {
this.x1 = x1;
this.y1 = y1;
this.x2 = x2;
this.y2 = y2;
this.friction = 0.9;
this.restitution = 0.96;
if (friction != undefined) {
this.friction = friction;
}
if (restitution != undefined) {
this.restitution = restitution;
}
this.depth = physics.baseClip.getNextHighestDepth();
this.physics = physics;
this.physics.surfaces.push(this);
if (this.physics.defaultPaint) {
this.clip = this.physics.baseClip.createEmptyMovieClip("surface" + this.depth, this.depth);
this.clip.owner = this;
this.paint();
}
this.update();
}
function SpringBox(x, y, w, h, vx, vy, cornerRadius, springConstant, mass, collisionSet, physics) {
this.physics = physics;
this.m_tl = new Mass(x - (w / 2), y - (h / 2), cornerRadius, false, physics, collisionSet);
this.m_tr = new Mass(x + (w / 2), y - (h / 2), cornerRadius, false, physics, collisionSet);
this.m_bl = new Mass(x - (w / 2), y + (h / 2), cornerRadius, false, physics, collisionSet);
this.m_br = new Mass(x + (w / 2), y + (h / 2), cornerRadius, false, physics, collisionSet);
this.m_tl.mass = mass;
this.m_tr.mass = mass;
this.m_bl.mass = mass;
this.m_br.mass = mass;
this.m_tl.vx = vx;
this.m_tr.vx = vx;
this.m_bl.vx = vx;
this.m_br.vx = vx;
this.m_tl.vy = vy;
this.m_tr.vy = vy;
this.m_bl.vy = vy;
this.m_br.vy = vy;
this.s1 = new Spring(this.m_tl, this.m_tr, physics, springConstant);
this.s2 = new Spring(this.m_tr, this.m_br, physics, springConstant);
this.s3 = new Spring(this.m_br, this.m_bl, physics, springConstant);
this.s4 = new Spring(this.m_bl, this.m_tl, physics, springConstant);
this.s5 = new Spring(this.m_tl, this.m_br, physics, springConstant);
this.s6 = new Spring(this.m_tr, this.m_bl, physics, springConstant);
this.frontLeft = this.m_tl;
this.frontRight = this.m_tr;
}
function SpringLine(x, y, dx, dy, vx, vy, cornerRadius, springConstant, mass, physics, collisionSet) {
this.physics = physics;
this.m_f = new Mass(x - (dx / 2), y - (dy / 2), cornerRadius, false, physics, collisionSet);
this.m_b = new Mass(x + (dx / 2), y + (dy / 2), cornerRadius, false, physics, collisionSet);
this.m_f.mass = mass;
this.m_b.mass = mass;
this.m_f.springItem = this;
this.m_b.springItem = this;
this.m_f.vx = vx;
this.m_f.vy = vy;
this.m_b.vx = vx;
this.m_b.vy = vy;
this.s1 = new Spring(this.m_f, this.m_b, physics, springConstant);
}
function makeSpringLine(mass_front, mass_back) {
var _local1 = {m_f:mass_front, m_b:mass_back};
_local1.s1 = new Spring(_local1.m_f, _local1.m_b, mass_front.physics, 0.7);
_local1.getPosition = SpringLine.prototype.getPosition;
return(_local1);
}
function addSurfaces(clip, instancePrefix, physics, restitution, friction) {
var _local7 = [];
var _local6 = 0;
var _local1 = clip[instancePrefix + _local6];
while (_local1 != undefined) {
var _local3 = _local1.p1.holderToLocal(physics.baseClip);
var _local2 = _local1.p2.holderToLocal(physics.baseClip);
var _local5 = new Surface(_local3.x, _local3.y, _local2.x, _local2.y, physics, restitution, friction);
_local1._visible = false;
_local7.push(_local5);
_local6++;
_local1 = clip[instancePrefix + _local6];
}
return(_local7);
}
function setupLevelIndicators(levelsClip) {
initLevelSO();
initAchievementsSO();
var _local3;
var _local5 = 21;
var _local4 = 1;
while (_local3 = levelsClip["l" + _local4] , _local3) {
var _local2 = _root.arrLevels[_local4];
_local3.id = _local4;
_local3.gotoAndStop((_local2.available ? "available" : "unavailable"));
_local3.txtLevel.text = Maths.formatNum(_local4, 2);
_local3.passed.gotoAndStop("unfinished");
if (_local2.passed) {
_local3.passed.gotoAndStop("passed");
}
if (_local2.perfect) {
_local3.passed.gotoAndStop("perfect");
}
if (_local2.fast) {
_local3.passed.gotoAndStop("fast");
}
if (_local2.perfect && (_local2.fast)) {
_local3.passed.gotoAndStop("perfectfast");
}
if (((!_local2.passed) && (_local2.available)) && (_local4 < _local5)) {
_local5 = _local4;
}
_local4++;
}
if (_root.workingOnLevel == undefined) {
_root.workingOnLevel = _local5;
}
levelsClip["l" + _root.workingOnLevel].gotoAndStop("selected");
_root.levelTitle._alpha = 0;
levels.onEnterFrame = function () {
_root.delay--;
_root.levelTitle._x = _root._xmouse;
_root.levelTitle._y = _root._ymouse;
if (_root.objTrans.transitioning) {
return(undefined);
}
if (Key.isDown(Keys.Enter)) {
_root.objTrans.goto("game");
}
if (Key.isDown(Keys.CursorLeft) || (Key.isDown(Keys.A))) {
selectLevel(-1, 0);
}
if (Key.isDown(Keys.CursorRight) || (Key.isDown(Keys.D))) {
selectLevel(1, 0);
}
if (Key.isDown(Keys.CursorUp) || (Key.isDown(Keys.W))) {
selectLevel(0, -1);
}
if (Key.isDown(Keys.CursorDown) || (Key.isDown(Keys.S))) {
selectLevel(0, 1);
}
};
}
function rollOverLevel(id) {
_root.levelTitle.txtTitle.text = _root.arrLevels[id].title;
_root.levelTitle.fadeIn(0.5);
}
function rollOutLevel() {
_root.levelTitle.fadeOut(0.5);
}
function selectLevel(dx, dy) {
if (_root.delay > 0) {
return(undefined);
}
_root.delay = 6;
var _local8 = _root.arrLevels[_root.workingOnLevel];
var _local12 = _root.levels["l" + _local8.id]._x;
var _local11 = _root.levels["l" + _local8.id]._y;
var _local9 = 0;
var _local10 = _local8.id;
var _local3 = 0;
while (_local3 < _local8.links.length) {
var _local2 = _root.arrLevels[_local8.links[_local3]];
if (!_local2.available) {
} else {
var _local5 = _root.levels["l" + _local2.id]._x - _local12;
var _local4 = _root.levels["l" + _local2.id]._y - _local11;
var _local7 = Maths.vectorLength(_local5, _local4);
_local5 = _local5 / _local7;
_local4 = _local4 / _local7;
var _local6 = Maths.dotProduct(_local5, _local4, dx, dy);
if (_local6 < 0.4) {
} else if (_local6 > _local9) {
_local9 = _local6;
_local10 = _local2.id;
}
}
_local3++;
}
deselectLevels(_local10);
_root.levels["l" + _local10].gotoAndStop("selected");
}
function setupNeverPress(clip) {
clip.item = 0;
clip.btnNeverPress.clip = clip;
clip.btnNeverPress.onRelease = nextNeverPress;
clip.txtNeverPress.text = arrNeverPress[0];
}
function nextNeverPress() {
this.clip.item++;
if (this.clip.item < arrNeverPress.length) {
this.clip.txtNeverPress.text = arrNeverPress[this.clip.item];
_root.objSounds.play("buzz");
} else {
_root.achieved(14);
_root.objSounds.play("cry");
switch (Maths.randomInt(0, 4)) {
case 0 :
this.clip.txtNeverPress.text = "*cry*";
break;
case 1 :
this.clip.txtNeverPress.text = "*waa*";
break;
case 2 :
this.clip.txtNeverPress.text = "*sob*";
break;
case 3 :
this.clip.txtNeverPress.text = "*sniffle*";
break;
case 4 :
this.clip.txtNeverPress.text = "*weep*";
}
this.clip.tear.gotoAndPlay("cry");
}
}
function setupAchievements() {
var _local2 = 1;
while (_local2 < _root.arrAchievements.length) {
clip = _root["a" + _local2];
if (_root.arrAchievements[_local2].complete) {
clip.box.gotoAndStop("on");
}
clip._alpha = 0;
clip.fadeIn(1, "linear", Maths.randomNum(0, 1.5));
_local2++;
}
}
function achieved(id) {
trace(("Achievement " + id) + " gained");
if (_root.arrAchievements[id].complete) {
return(undefined);
}
_root.trackPoint("Achievement_" + id);
_root.kongregateStats.submit("Achievement" + id, 1);
_root.arrAchievements[id].complete = true;
var _local5 = SharedObject.getLocal("hannainachoppa");
_local5.data.arrAchievements = _root.arrAchievements;
_local5.flush();
_root.achievement.gotoAndPlay("anim");
_root.achievement.txtAchievementName.text = achievementName(id);
var _local3 = 0;
var _local2 = 0;
while (_local2 < _root.arrAchievements.length) {
if (_root.arrAchievements[_local2].complete) {
_local3++;
}
_local2++;
}
if (_local3 >= (_root.arrAchievements.length - 2)) {
achieved(13);
Mouse.show();
_root.objTrans.goto("win");
}
}
function deselectLevels(exceptID) {
var _local3;
var _local2 = 1;
while (_local3 = _root.levels["l" + _local2] , _local3) {
if (_local2 == exceptID) {
} else {
_local3.gotoAndStop((_root.arrLevels[_local2].available ? "available" : "unavailable"));
}
_local2++;
}
_root.curLevelID = exceptID;
_root.workingOnLevel = curLevelID;
}
function passedLevel(id, perfect, fast) {
var _local3 = _root.arrLevels[id];
_local3.passed = true;
if (perfect) {
_local3.perfect = true;
}
if (fast) {
_local3.fast = true;
}
reportAllStatistics(false);
_root.workingOnLevel = undefined;
var _local2 = 0;
while (_local2 < _local3.links.length) {
_root.arrLevels[_local3.links[_local2]].available = true;
_local2++;
}
var _local4 = SharedObject.getLocal("hannainachoppa");
_local4.data.arrLevels = _root.arrLevels;
_local4.flush();
}
function reportAllStatistics(includeAchievements) {
var _local5 = 0;
var _local4 = 0;
var _local6 = 0;
var _local7 = 0;
trace("Reporting stats to Kongregate");
var _local3 = SharedObject.getLocal("hannainachoppa");
if (_local3.data.arrAchievements != undefined) {
var _local2 = 1;
while (_local2 < _local3.data.arrAchievements.length) {
if (_local3.data.arrAchievements[_local2].complete) {
if (includeAchievements) {
_root.kongregateStats.submit("Achievement" + _local2, 1);
trace((" Achievement" + _local2) + " = 1");
}
_local7++;
}
_local2++;
}
}
if (_local3.data.arrLevels != undefined) {
var _local2 = 1;
while (_local2 < _local3.data.arrLevels.length) {
if (_local3.data.arrLevels[_local2].passed) {
_local5++;
}
if (_local3.data.arrLevels[_local2].perfect) {
_local6++;
}
if (_local3.data.arrLevels[_local2].fast) {
_local4++;
}
_local2++;
}
}
trace(" CompletedLevels = " + _local5);
trace(" CompletedFastLevels = " + _local4);
trace(" CompletedPerfectLevels = " + _local6);
trace(" CompletedAchievements = " + _local7);
_root.kongregateStats.submit("CompletedLevels", _local5);
_root.kongregateStats.submit("CompletedFastLevels", _local4);
_root.kongregateStats.submit("CompletedPerfectLevels", _local6);
_root.kongregateStats.submit("CompletedAchievements", _local7);
}
function initLevelSO() {
var _local2 = SharedObject.getLocal("hannainachoppa");
if (_local2.data.arrLevels == undefined) {
_local2.data.arrLevels = [{dummy:true}, {id:1, available:false, passed:false, perfect:false, fast:false, par:200, title:"Learning to Fly", links:[2, 4]}, {id:2, available:false, passed:false, perfect:false, fast:false, par:500, title:"Finesse of Flight", links:[1, 3, 5]}, {id:3, available:false, passed:false, perfect:false, fast:false, par:450, title:"A Weighty Problem", links:[2, 6]}, {id:4, available:false, passed:false, perfect:false, fast:false, par:200, title:"Blustery Day", links:[1, 5]}, {id:5, available:false, passed:false, perfect:false, fast:false, par:400, title:"Gone Fishin'", links:[2, 4, 6, 7]}, {id:6, available:false, passed:false, perfect:false, fast:false, par:700, title:"Pulling The Plug", links:[3, 5]}, {id:7, available:false, passed:false, perfect:false, fast:false, par:750, title:"Flight of the Bumblebee", links:[5, 8, 9, 10]}, {id:8, available:false, passed:false, perfect:false, fast:false, par:400, title:"Fan-tastic", links:[7]}, {id:9, available:false, passed:false, perfect:false, fast:false, par:1200, title:"Raining Hard on a Tiny Planetoid", links:[7, 10, 11, 12]}, {id:10, available:false, passed:false, perfect:false, fast:false, par:700, title:"Cement Mixer", links:[7, 9, 13, 11]}, {id:11, available:false, passed:false, perfect:false, fast:false, par:250, title:"Yosamite SAM-Site", links:[9, 12, 14, 10]}, {id:12, available:false, passed:false, perfect:false, fast:false, par:540, title:"Beat the Lift", links:[9, 11]}, {id:13, available:false, passed:false, perfect:false, fast:false, par:650, title:"Magneto Completo", links:[10, 15]}, {id:14, available:false, passed:false, perfect:false, fast:false, par:2000, title:"Like Herding Cats, Erm, But With Sheep", links:[11, 15, 18]}, {id:15, available:false, passed:false, perfect:false, fast:false, par:370, title:"Enclosed Box of Goo", links:[14, 16, 17, 13]}, {id:16, available:false, passed:false, perfect:false, fast:false, par:3500, title:"Rescue at Sea", links:[15, 19, 17]}, {id:17, available:false, passed:false, perfect:false, fast:false, par:200, title:"Entrapment", links:[15, 18, 19, 16]}, {id:18, available:false, passed:false, perfect:false, fast:false, par:2000, title:"Running With Scissors", links:[14, 17]}, {id:19, available:false, passed:false, perfect:false, fast:false, par:2000, title:"The Crush-O-Tron", links:[17, 20, 16]}, {id:20, available:false, passed:false, perfect:false, fast:false, par:500, title:"Deja Vu?", links:[19, 21]}, {id:21, available:false, passed:false, perfect:false, fast:false, par:4500, title:"The Cake is a Lie", links:[20]}];
_local2.data.arrLevels[1].available = true;
_local2.flush();
}
_root.arrLevels = _local2.data.arrLevels;
}
function initAchievementsSO() {
var _local2 = SharedObject.getLocal("hannainachoppa");
if (_local2.data.arrAchievements == undefined) {
_local2.data.arrAchievements = [{dummy:true}, {id:1, complete:false}, {id:2, complete:false}, {id:3, complete:false}, {id:4, complete:false}, {id:5, complete:false}, {id:6, complete:false}, {id:7, complete:false}, {id:8, complete:false}, {id:9, complete:false}, {id:10, complete:false}, {id:11, complete:false}, {id:12, complete:false}, {id:13, complete:false}, {id:14, complete:false}, {id:15, complete:false}];
_local2.flush();
}
_root.arrAchievements = _local2.data.arrAchievements;
}
function achievementName(id) {
switch (id) {
case 1 :
return("HOVERCHAMP");
case 2 :
return("SERVICES TO SUMMER");
case 3 :
return("MISSILE PROOF");
case 4 :
return("SHEEP FRIENDLY");
case 5 :
return("TOWER BUDDIE");
case 6 :
return("TOWER SUPERBUDDIE");
case 7 :
return("BAKER OF CAKE");
case 8 :
return("BEEN THERE DONE THAT");
case 9 :
return("PRETTY PERFECT");
case 10 :
return("PERFECTIONIST");
case 11 :
return("PRETTY BRISK");
case 12 :
return("UBERFAST");
case 13 :
return("OVERACHIEVER");
case 14 :
return("PRESSER OF BUTTONS");
case 15 :
return("DEV-FRIEND");
}
return("UNKNOWN");
}
function initSounds() {
_root.objSounds = new Sounds(_root.soundHolder);
_root.objSounds.registerSound("blade0");
_root.objSounds.registerSound("blade1");
_root.objSounds.registerSound("blade2");
_root.objSounds.registerSound("blade3");
_root.objSounds.registerSound("blade4");
_root.objSounds.registerSound("blade5");
_root.objSounds.registerSound("blade6");
_root.objSounds.registerSound("blade7");
_root.objSounds.registerSound("blade8");
_root.objSounds.registerSound("blade9");
_root.objSounds.registerSound("blade10");
_root.objSounds.registerSound("blade11");
_root.objSounds.registerSound("blade12");
_root.objSounds.registerSound("blade13");
_root.objSounds.registerSound("blade14");
_root.objSounds.registerSound("blade15");
_root.objSounds.registerSound("blade16");
_root.objSounds.registerSound("blade17");
_root.objSounds.registerSound("blade18");
_root.objSounds.registerSound("blade19");
_root.objSounds.registerSound("blade20");
_root.objSounds.registerGroup("blade", ["blade0", "blade1", "blade2", "blade3", "blade4", "blade5", "blade6", "blade7", "blade8", "blade9", "blade10", "blade11", "blade12", "blade13", "blade14", "blade15", "blade16", "blade17", "blade18", "blade19", "blade20"]);
_root.objSounds.registerSound("bee-buzz");
_root.objSounds.registerSound("bee-squish-1");
_root.objSounds.registerSound("bee-squish-2");
_root.objSounds.registerSound("bee-squish-3");
_root.objSounds.registerSound("bee-squish-4");
_root.objSounds.registerGroup("bee-squish", ["bee-squish-1", "bee-squish-2", "bee-squish-3", "bee-squish-4"]);
_root.objSounds.registerSound("baa1");
_root.objSounds.registerSound("baa2");
_root.objSounds.registerSound("baa3");
_root.objSounds.registerSound("baa4");
_root.objSounds.registerSound("baa5");
_root.objSounds.registerGroup("baa", ["baa1", "baa2", "baa3", "baa4", "baa5"]);
_root.objSounds.registerSound("cry1");
_root.objSounds.registerSound("cry2");
_root.objSounds.registerSound("cry3");
_root.objSounds.registerSound("cry4");
_root.objSounds.registerSound("cry5");
_root.objSounds.registerSound("cry6");
_root.objSounds.registerGroup("cry", ["cry1", "cry2", "cry3", "cry4", "cry5", "cry6"]);
_root.objSounds.registerSound("clink1");
_root.objSounds.registerSound("clink2");
_root.objSounds.registerSound("clink3");
_root.objSounds.registerSound("clink4");
_root.objSounds.registerGroup("clink", ["clink1", "clink2", "clink3", "clink4"]);
_root.objSounds.registerGroup("clunk", ["clink3", "clink4"]);
_root.objSounds.registerSound("music");
_root.objSounds.registerSound("buzz", 10);
_root.objSounds.registerSound("achievement", 60);
_root.objSounds.registerSound("cake-mix");
_root.objSounds.registerSound("net-fall");
_root.objSounds.registerSound("rollover-tick");
_root.objSounds.registerSound("rollover-tock");
_root.objSounds.registerSound("sam-hit");
_root.objSounds.registerSound("sam-launch");
_root.objSounds.registerSound("switch");
_root.objSounds.registerSound("trans-hide");
_root.objSounds.registerSound("trans-reveal");
_root.objSounds.registerSound("wind-loop");
_root.objSounds.registerSound("crushotron-rumble");
_root.objSounds.registerSound("crushotron-bang");
_root.objSounds.registerSound("scissors");
_root.objSounds.registerSound("ratchet-loop");
_root.objSounds.registerSound("winch-deploy");
_root.objSounds.registerSound("winch-attach", 60);
_root.objSounds.registerSound("winch-retract");
_root.objSounds.registerSound("voice-cake");
_root.objSounds.registerSound("voice-butter");
_root.objSounds.registerSound("voice-chocolate");
_root.objSounds.registerSound("voice-eggs");
_root.objSounds.registerSound("voice-flour");
_root.objSounds.registerSound("voice-sugar");
_root.objSounds.registerSound("voice-boom");
_root.objSounds.registerSound("voice-crashed");
_root.objSounds.registerSound("voice-noooo");
_root.objSounds.registerSound("voice-ouch");
_root.objSounds.registerSound("voice-ow");
_root.objSounds.registerSound("voice-watchit");
_root.objSounds.registerGroup("crashed", ["voice-boom", "voice-crashed", "voice-noooo", "voice-ouch", "voice-ow", "voice-watchit"]);
_root.objSounds.registerSound("voice-complete");
_root.objSounds.registerSound("voice-perfect");
_root.objSounds.registerSound("voice-reallyfast");
_root.objSounds.registerSound("voice-title");
}
function ChoppaGame(clip) {
this.clip = clip;
this.clip.objGame = this;
this.initialise();
}
stop();
Mouse.show();
_root.objSounds.stop("music");
var Maths = new Object();
Maths.randomNum = function (minNum, maxNum) {
return((Math.random() * (maxNum - minNum)) + minNum);
};
Maths.randomInt = function (minNum, maxNum) {
return(Math.round((Math.random() * (maxNum - minNum)) + minNum));
};
Maths.vectorLength = function (dx, dy) {
return(Math.sqrt((dx * dx) + (dy * dy)));
};
Maths.distance = function (x1, y1, x2, y2) {
var _local2 = x1 - x2;
var _local1 = y1 - y2;
return(Maths.vectorLength(_local2, _local1));
};
Maths.vectorLengthSquared = function (dx, dy) {
return((dx * dx) + (dy * dy));
};
Maths.distanceSquared = function (x1, y1, x2, y2) {
var _local2 = x1 - x2;
var _local1 = y1 - y2;
return(Maths.vectorLengthSquared(_local2, _local1));
};
Maths.angleBetween = function (x1, y1, x2, y2) {
var _local2 = (x1 * x2) + (y1 * y2);
var _local1 = Maths.vectorLength(x1, y1) * Maths.vectorLength(x2, y2);
return(Math.acos(_local2 / _local1));
};
Maths.dotProduct = function (ax, ay, bx, by) {
return((ax * bx) + (ay * by));
};
Maths.vectorIntersect = function (v1, v2) {
var _local3 = {dx:v2.x - v1.x, dy:v2.y - v1.y};
v1.len = Maths.vectorLength(v1.dx, v1.dy);
v2.len = Maths.vectorLength(v2.dx, v2.dy);
v1.nx = v1.dx / v1.len;
v1.ny = v1.dy / v1.len;
v2.nx = v2.dx / v2.len;
v2.ny = v2.dy / v2.len;
var _local4 = Maths.vectorPerp(_local3, v2) / Maths.vectorPerp(v1, v2);
if (((v1.nx == v2.nx) && (v1.ny == v2.ny)) || ((v1.nx == (-v2.nx)) && (v1.ny == (-v2.ny)))) {
_local4 = 1000000 /* 0x0F4240 */;
}
return({x:v1.x + (v1.dx * _local4), y:v1.y + (v1.dy * _local4), t:_local4});
};
Maths.vectorPerp = function (v1, v2) {
return(((-v1.dy) * v2.dx) + (v1.dx * v2.dy));
};
Maths.vectorProject = function (v1, v2) {
var _local2 = Maths.vectorLength(v2.dx, v2.dy);
var _local4 = v2.dx / _local2;
var _local3 = v2.dy / _local2;
var _local5 = Maths.dotProduct(v1.dx, v1.dy, _local4, _local3);
return({x:v2.x, y:v2.y, dx:_local4 * _local5, dy:_local3 * _local5});
};
Maths.formatNum = function (num, leadingDigits, decimalDigits) {
var _local2 = "" + Math.floor(num);
while (_local2.length < leadingDigits) {
_local2 = "0" + _local2;
}
if (decimalDigits != undefined) {
var _local1 = Math.abs(num) - Math.floor(Math.abs(num));
_local1 = _local1 * (10 ^ decimalDigits);
_local1 = Math.floor(_local1);
_local1 = "" + _local1;
while (_local1.length < decimalDigits) {
_local1 = _local1 + "0";
}
_local2 = (_local2 + ".") + _local1;
}
return(_local2);
};
Maths.degToRad = function (degs) {
return(degs * (Math.PI/180));
};
Maths.radToDeg = function (rads) {
return(rads * 57.2957795130823);
};
MovieClip.prototype.drawCross = function (x, y, colour) {
if (colour != undefined) {
this.lineStyle(1, colour, 100);
} else {
this.lineStyle(1, 16711935, 100);
}
var _local2 = 7;
this.moveTo(x - _local2, y);
this.lineTo(x + _local2, y);
this.moveTo(x, y - _local2);
this.lineTo(x, y + _local2);
};
MovieClip.prototype.drawVector = function (v, scale, colour) {
if (colour != undefined) {
this.lineStyle(1, colour, 100);
} else {
this.lineStyle(1, 65280, 100);
}
if (scale == undefined) {
scale = 1;
}
this.moveTo(v.x, v.y);
this.lineTo(v.x + (v.dx * scale), v.y + (v.dy * scale));
};
MovieClip.prototype.curvedRectangle = function (p_nX1, p_nY1, p_nX2, p_nY2, p_nR) {
var _local2 = ((p_nR == undefined) ? 0 : (p_nR));
var _local7 = _local2 * 2;
var _local10 = Math.abs(p_nX2 - p_nX1) - _local7;
var _local8 = Math.abs(p_nY2 - p_nY1) - _local7;
this.moveTo(p_nX1 + _local2, p_nY1);
this.lineTo(p_nX2 - _local2, p_nY1);
this.curveTo(p_nX2, p_nY1, p_nX2, p_nY1 + _local2);
this.lineTo(p_nX2, p_nY2 - _local2);
this.curveTo(p_nX2, p_nY2, p_nX2 - _local2, p_nY2);
this.lineTo(p_nX1 + _local2, p_nY2);
this.curveTo(p_nX1, p_nY2, p_nX1, p_nY2 - _local2);
this.lineTo(p_nX1, p_nY1 + _local2);
this.curveTo(p_nX1, p_nY1, p_nX1 + _local2, p_nY1);
};
MovieClip.prototype.drawSquare = function (x, y, w, h) {
this.moveTo(x, y);
this.lineTo(x + w, y);
this.lineTo(x + w, y + h);
this.lineTo(x, y + h);
this.lineTo(x, y);
};
MovieClip.prototype.drawFilledSquare = function (x, y, w, h, colour, alpha) {
this.beginFill(colour, alpha);
this.drawSquare(x, y, w, h);
this.endFill();
};
MovieClip.prototype.drawCircle = function (x, y, r) {
var _local6 = r * 0.414213562373095;
var _local5 = (r * Math.SQRT2) / 2;
this.moveTo(x + r, y);
this.curveTo(x + r, y + _local6, x + _local5, y + _local5);
this.curveTo(x + _local6, y + r, x, y + r);
this.curveTo(x - _local6, y + r, x - _local5, y + _local5);
this.curveTo(x - r, y + _local6, x - r, y);
this.curveTo(x - r, y - _local6, x - _local5, y - _local5);
this.curveTo(x - _local6, y - r, x, y - r);
this.curveTo(x + _local6, y - r, x + _local5, y - _local5);
this.curveTo(x + r, y - _local6, x + r, y);
};
MovieClip.prototype.drawFilledCircle = function (x, y, r, colour, alpha) {
this.beginFill(colour, alpha);
this.drawCircle(x, y, r);
this.endFill();
};
MovieClip.prototype.drawCircleSegment = function (x, y, r, startAngle, endAngle, stepAngle) {
degToRad = (Math.PI/180);
while (endAngle < startAngle) {
endAngle = endAngle + 360;
}
this.moveTo(x, y);
this.lineTo(x + (r * Math.cos(startAngle * degToRad)), x + (r * Math.sin(startAngle * degToRad)));
var _local2 = startAngle + stepAngle;
while (_local2 < (endAngle - stepAngle)) {
var _local3 = _local2 * degToRad;
this.lineTo(x + (r * Math.cos(_local3)), x + (r * Math.sin(_local3)));
_local2 = _local2 + stepAngle;
}
this.lineTo(x + (r * Math.cos(endAngle * degToRad)), x + (r * Math.sin(endAngle * degToRad)));
this.lineTo(x, y);
};
MovieClip.prototype.drawFilledCircleSegment = function (x, y, r, startAngle, endAngle, stepAngle, colour, alpha) {
this.beginFill(colour, alpha);
this.drawCircleSegment(x, y, r, startAngle, endAngle, stepAngle);
this.endFill();
};
MovieClip.prototype.drawSmoothCurveThroughPoints = function (wibbleFactor, startAngle, points) {
this.moveTo(points[0].x, points[0].y);
var _local13 = points[0].x - Math.cos((Math.PI * startAngle) / 180);
var _local12 = points[0].y - Math.sin((Math.PI * startAngle) / 180);
var _local2 = 1;
while (_local2 < points.length) {
var _local5 = points[_local2 - 1].x - _local13;
var _local4 = points[_local2 - 1].y - _local12;
var _local8 = Maths.vectorLength(_local5, _local4);
var _local10 = points[_local2 - 1].x - points[_local2].x;
var _local9 = points[_local2 - 1].y - points[_local2].y;
var _local11 = Maths.vectorLength(_local10, _local9);
cScale = 0;
if (_local8 != 0) {
cScale = ((0.5 + wibbleFactor) * _local11) / _local8;
}
var _local7 = points[_local2 - 1].x + (_local5 * cScale);
var _local6 = points[_local2 - 1].y + (_local4 * cScale);
this.curveTo(_local7, _local6, points[_local2].x, points[_local2].y);
_local13 = _local7;
_local12 = _local6;
_local2++;
}
};
MovieClip.prototype.holderToLocal = function (clip) {
var _local2 = {x:0, y:0};
this.localToGlobal(_local2);
clip.globalToLocal(_local2);
return(_local2);
};
MovieClip.prototype.holderToGlobal = function () {
var _local2 = {x:0, y:0};
this.localToGlobal(_local2);
return(_local2);
};
MovieClip.prototype.makeSound = function (soundLinkage, depth) {
var _local2 = this.createEmptyMovieClip((((("soundClip_" + soundLinkage) + "_") + depth) + "_") + Math.floor(Maths.randomNum(1000000, 9000000)), depth);
_local2.sound = new Sound(_local2);
_local2.sound.attachSound(soundLinkage);
_local2.sound.sourceClip = _local2;
return(_local2.sound);
};
var Keys = new Object();
Keys.LeftMouse = 1;
Keys._mouseDown = false;
Keys.onMouseDown = function () {
this._mouseDown = true;
};
Keys.onMouseUp = function () {
this._mouseDown = false;
};
Mouse.addListener(Keys);
Keys.mouseDown = function () {
return(this._mouseDown);
};
Keys.CursorLeft = 37;
Keys.CursorRight = 39;
Keys.CursorUp = 38;
Keys.CursorDown = 40;
Keys.Escape = 27;
Keys.Backspace = 8;
Keys.Tab = 9;
Keys.Enter = 13;
Keys.Shift = 16;
Keys.Control = 17;
Keys.Alt = 18;
Keys.CapsLock = 20;
Keys.Spacebar = 32;
Keys.PageUp = 33;
Keys.PageDown = 34;
Keys.End = 35;
Keys.Home = 36;
Keys.PrintScr = 44;
Keys.ScrollLock = 145;
Keys.Pause = 19;
Keys.Insert = 45;
Keys.Delete = 46;
Keys.NumLock = 144;
Keys.Semicolon = 186;
Keys.Equals = 187;
Keys.Minus = 189;
Keys.Slash = 191;
Keys.Apostrophe = 192;
Keys.BackTick = 223;
Keys.BackSlash = 220;
Keys.Hash = 222;
Keys.Comma = 188;
Keys.Period = 190;
Keys.SquareOpen = 219;
Keys.SquareClose = 221;
Keys.F1 = 112;
Keys.F2 = 113;
Keys.F3 = 114;
Keys.F4 = 115;
Keys.F5 = 116;
Keys.F6 = 117;
Keys.F7 = 118;
Keys.F8 = 119;
Keys.F9 = 120;
Keys.F10 = undefined;
Keys.F11 = 122;
Keys.F12 = 123;
Keys.Num0 = 96;
Keys.Num1 = 97;
Keys.Num2 = 98;
Keys.Num3 = 99;
Keys.Num4 = 100;
Keys.Num5 = 101;
Keys.Num6 = 102;
Keys.Num7 = 103;
Keys.Num8 = 104;
Keys.Num9 = 105;
Keys.NumMultiply = 106;
Keys.NumAdd = 107;
Keys.NumEnter = 13;
Keys.NumMinus = 109;
Keys.NumPeriod = 110;
Keys.NumDivide = 111;
Keys.A = 65;
Keys.B = 66;
Keys.C = 67;
Keys.D = 68;
Keys.E = 69;
Keys.F = 70;
Keys.G = 71;
Keys.H = 72;
Keys.I = 73;
Keys.J = 74;
Keys.K = 75;
Keys.L = 76;
Keys.M = 77;
Keys.N = 78;
Keys.O = 79;
Keys.P = 80;
Keys.Q = 81;
Keys.R = 82;
Keys.S = 83;
Keys.T = 84;
Keys.U = 85;
Keys.V = 86;
Keys.W = 87;
Keys.X = 88;
Keys.Y = 89;
Keys.Z = 90;
Keys.Key0 = 48;
Keys.Key1 = 49;
Keys.Key2 = 50;
Keys.Key3 = 51;
Keys.Key4 = 52;
Keys.Key5 = 53;
Keys.Key6 = 54;
Keys.Key7 = 55;
Keys.Key8 = 56;
Keys.Key9 = 57;
Sounds.prototype.registerSound = function (linkage, defaultVolume) {
if (defaultVolume == undefined) {
defaultVolume = 100;
}
var _local4 = this.clip.getNextHighestDepth();
var _local2 = this.clip.createEmptyMovieClip((linkage + "_") + _local4, _local4);
_local2.sound = new Sound(_local2);
_local2.sound.defaultVolume = defaultVolume;
_local2.sound.clip = _local2;
_local2.sound.attachSound(linkage);
_local2.sound.setVolume(defaultVolume);
this.sounds[linkage] = _local2.sound;
this.sounds[linkage].looping = false;
this.sounds[linkage].playing = false;
this.sounds[linkage].onSoundComplete = function () {
if (this.looping) {
this.start();
} else {
this.playing = false;
}
};
return(_local2.sound);
};
Sounds.prototype.registerGroup = function (groupID, arrGroupIDs) {
var _local2 = 0;
while (_local2 < arrGroupIDs.length) {
if (this.sounds[arrGroupIDs[_local2]] == undefined) {
trace(((("Sounds: Group '" + groupID) + "' contains non-registered sound ID '") + arrGroupIDs[_local2]) + "'");
}
_local2++;
}
this.groups[groupID] = arrGroupIDs;
};
Sounds.prototype.play = function (id, volume, loop, soundPosition) {
if (this.muted) {
return(undefined);
}
if (loop != undefined) {
this.sounds[id].looping = loop;
}
if (soundPosition == undefined) {
soundPosition = 0;
}
if (this.groups[id] != undefined) {
id = this.groups[id][Maths.randomInt(0, this.groups[id].length - 1)];
}
if (this.sounds[id] == undefined) {
trace(("Sounds: Trying to play unregistered sound '" + id) + "'");
}
if (volume != undefined) {
this.sounds[id].setVolume(volume);
}
this.sounds[id].start(soundPosition);
this.sounds[id].playing = true;
};
Sounds.prototype.stop = function (id) {
if (this.sounds[id] == undefined) {
trace(("Sounds: Trying to stop unregistered sound '" + id) + "'");
}
this.sounds[id].looping = false;
this.sounds[id].stop();
this.sounds[id].playing = false;
};
Sounds.prototype.volume = function (id, volume) {
if (this.sounds[id] == undefined) {
trace(("Sounds: Trying to set volume of unregistered sound '" + id) + "'");
}
this.sounds[id].setVolume(volume);
};
Sounds.prototype.fadeTo = function (id, volume, dVol) {
if (this.sounds[id] == undefined) {
trace(("Sounds: Trying to fade volume of unregistered sound '" + id) + "'");
}
if (dVol == undefined) {
dVol = 1;
}
this.sounds[id].dVol = Math.ceil(Math.abs(dVol));
this.sounds[id].targetVol = volume;
};
Sounds.prototype.stopAllSounds = function () {
for (id in this.sounds) {
this.stop(id);
}
};
Sounds.prototype.fadeOutAllSounds = function (dVol) {
for (id in this.sounds) {
this.fadeTo(id, 0, dVol);
}
};
Sounds.prototype.setMute = function (muted) {
this.muted = muted;
if (this.muted) {
this.stopAllSounds();
}
};
Sounds.prototype.registerSources = function (listenerClip, arrSourceClips, id, maxAudibleRange) {
var _local2 = {};
_local2.listener = listenerClip;
_local2.sources = arrSourceClips;
_local2.sound = this.sounds[id];
_local2.maxRange = maxAudibleRange;
this.play(id, 0, true);
this.loops.push(_local2);
return(_local2.sources);
};
Sounds.prototype.removeAllSources = function () {
var _local2 = 0;
while (_local2 < this.loops.length) {
var _local3 = this.loops[_local2];
_local3.sound.stop();
_local2++;
}
this.loops = [];
};
Sounds.prototype.evtEnterFrame = function () {
var _local10 = 0;
while (_local10 < this.loops.length) {
var _local3 = this.loops[_local10];
var _local7 = _local3.maxRange;
var _local8 = _local3.listener.holderToGlobal();
var _local2 = 0;
while (_local2 < _local3.sources.length) {
var _local4 = _local3.sources[_local2];
if ((_local4 == undefined) || (_local4.notSoundSource == true)) {
_local3.sources.splice(_local2, 1);
_local2--;
} else {
var _local5 = _local4.holderToGlobal();
var _local6 = Maths.distance(_local8.x, _local8.y, _local5.x, _local5.y);
if (_local6 < _local7) {
_local7 = _local6;
}
}
_local2++;
}
_local3.sound.setVolume(Math.floor((100 * (_local3.maxRange - _local7)) / _local3.maxRange));
_local10++;
}
for (id in this.sounds) {
if (this.sounds[id].targetVol != undefined) {
var _local9 = this.sounds[id].getVolume();
var _local11 = _local9 - this.sounds[id].targetVol;
if (Math.abs(_local11) < this.sounds[id].dVol) {
this.sounds[id].setVolume(this.sounds[id].targetVol);
this.sounds[id].targetVol = undefined;
} else {
this.sounds[id].setVolume(((_local11 > 0) ? (_local9 - this.sounds[id].dVol) : (_local9 + this.sounds[id].dVol)));
}
}
}
};
Physics.prototype.step = function () {
if (this.paused == true) {
return(undefined);
}
var _local14 = 0;
while (_local14 < this.masses.length) {
var _local13 = this.masses[_local14];
_local13.hasHitSurface = false;
if (!_local13.fixed) {
_local13.prevX = _local13.x;
_local13.prevY = _local13.y;
var _local6 = _local13.sumSpringForces();
_local6.x = _local6.x + (this.gravityX * _local13.mass);
_local6.y = _local6.y + (this.gravityY * _local13.mass);
_local6.x = _local6.x + _local13.extForceX;
_local6.y = _local6.y + _local13.extForceY;
_local13.extForceX = 0;
_local13.extForceY = 0;
_local13.vx = _local13.vx + (_local6.x / _local13.mass);
_local13.vy = _local13.vy + (_local6.y / _local13.mass);
}
_local14++;
}
if (this.attractingMasses) {
_local14 = 0;
while (_local14 < this.masses.length) {
var _local13 = this.masses[_local14];
if (_local13.attractionMass != 0) {
_local13.applyAttractionForces();
}
_local14++;
}
}
_local14 = 0;
while (_local14 < this.masses.length) {
var _local13 = this.masses[_local14];
if (!_local13.fixed) {
if (_local13.vx > _local13.friction) {
_local13.vx = _local13.vx - _local13.friction;
} else if (_local13.vx < (-_local13.friction)) {
_local13.vx = _local13.vx + _local13.friction;
} else {
_local13.vx = 0;
}
if (_local13.vy > _local13.friction) {
_local13.vy = _local13.vy - _local13.friction;
} else if (_local13.vy < (-_local13.friction)) {
_local13.vy = _local13.vy + _local13.friction;
} else {
_local13.vy = 0;
}
_local13.vx = _local13.vx * this.drag;
_local13.vy = _local13.vy * this.drag;
}
_local14++;
}
_local14 = 0;
while (_local14 < this.masses.length) {
var _local13 = this.masses[_local14];
_local13.x = _local13.x + _local13.vx;
_local13.y = _local13.y + _local13.vy;
_local14++;
}
this.masses.sort(massSort, Array.NUMERIC);
_local14 = 0;
while (_local14 < this.masses.length) {
this.masses[_local14].testedSet = [];
_local14++;
}
var _local7 = [];
if (this.collidableMasses) {
_local14 = 0;
while (_local14 < this.masses.length) {
var _local9 = this.masses[_local14];
var _local16 = (this.biggestMassRadius + _local9.radius) + 1;
var _local15 = _local9.x + _local16;
var _local2 = _local14 + 1;
while (_local2 < this.masses.length) {
var _local8 = this.masses[_local2];
if (_local8.x > _local15) {
_local2 = this.masses.length;
} else if ((((((_local9 != undefined) && (_local8 != undefined)) && (_local9.testedSet[_local2] == undefined)) && (_local9.collisionSet != undefined)) && (_local8.collisionSet != undefined)) && (_local9.collisionSet != _local8.collisionSet)) {
var _local5 = _local9.x - _local8.x;
var _local4 = _local9.y - _local8.y;
var _local12 = (_local5 * _local5) + (_local4 * _local4);
var _local10 = (_local9.radius + _local8.radius) * (_local9.radius + _local8.radius);
if (_local12 < _local10) {
_local7.push({massA:_local9, massB:_local8});
}
_local9.testedSet[_local2] = true;
_local8.testedSet[_local14] = true;
}
_local2++;
}
_local15 = _local9.x - _local16;
_local2 = _local14 - 1;
while (_local2 >= 0) {
var _local8 = this.masses[_local2];
if (_local8.x < _local15) {
_local2 = -1;
} else if ((((((_local9 != undefined) && (_local8 != undefined)) && (_local9.testedSet[_local2] == undefined)) && (_local9.collisionSet != undefined)) && (_local8.collisionSet != undefined)) && (_local9.collisionSet != _local8.collisionSet)) {
var _local5 = _local9.x - _local8.x;
var _local4 = _local9.y - _local8.y;
var _local12 = (_local5 * _local5) + (_local4 * _local4);
var _local10 = _local9.radiusSquared + _local8.radiusSquared;
if (_local12 < _local10) {
_local7.push({massA:_local9, massB:_local8});
}
_local9.testedSet[_local2] = true;
_local8.testedSet[_local14] = true;
}
_local2--;
}
_local14++;
}
}
_local7.sort(collisionSort);
_local14 = 0;
while (_local14 < _local7.length) {
_local7[_local14].massA.resolveCollision(_local7[_local14].massB);
_local14++;
}
_local14 = 0;
while (_local14 < this.masses.length) {
var _local17 = this.masses[_local14];
var _local2 = 0;
while (_local2 < this.surfaces.length) {
var _local11 = this.surfaces[_local2];
_local11.handleCollision(_local17);
_local2++;
}
_local14++;
}
if (this.framePaintCallback) {
this.framePaintCallback();
}
if (this.defaultPaint) {
_local14 = 0;
while (_local14 < this.masses.length) {
var _local13 = this.masses[_local14];
_local13.clip._x = _local13.x;
_local13.clip._y = _local13.y;
_local14++;
}
_local14 = 0;
while (_local14 < this.springs.length) {
var _local3 = this.springs[_local14];
_local3.clip.clear();
_local3.clip.lineStyle(1, 16711680, 100);
_local3.clip.moveTo(_local3.mass1.x, _local3.mass1.y);
_local3.clip.lineTo(_local3.mass2.x, _local3.mass2.y);
_local14++;
}
}
};
Mass.prototype.setRadius = function (r) {
this.radius = r;
this.radiusSquared = this.radius * this.radius;
this.clip.clear();
this.clip.lineStyle(this.radius * 2, 255, 50);
this.clip.moveTo(0, 0);
this.clip.lineTo(0, 1);
};
Mass.prototype.removeMass = function () {
var _local2 = 0;
while (_local2 < this.springs.length) {
this.springs[_local2].removeSpring();
_local2--;
_local2++;
}
_local2 = 0;
while (_local2 < this.physics.masses.length) {
if (this == this.physics.masses[_local2]) {
this.physics.masses.splice(_local2, 1);
_local2 = this.physics.masses.length;
}
_local2++;
}
if (this.physics.defaultPaint) {
this.clip.removeMovieClip();
}
this.removed = true;
};
Mass.prototype.sumSpringForces = function () {
if (this.fixed) {
return({x:0, y:0});
}
var _local5 = {x:0, y:0};
var _local3 = 0;
while (_local3 < this.springs.length) {
var _local2;
var _local4 = this.springs[_local3];
if (this == _local4.mass1) {
_local2 = _local4.forceOnMass1();
} else {
_local2 = _local4.forceOnMass2();
}
_local5.x = _local5.x + _local2.x;
_local5.y = _local5.y + _local2.y;
_local3++;
}
return(_local5);
};
Mass.prototype.applyAttractionForces = function () {
var _local3 = 0;
while (_local3 < this.physics.masses.length) {
var _local2 = this.physics.masses[_local3];
if ((_local2.attractionMass && (this != _local2)) && (!_local2.fixed)) {
var _local4 = this.attractionForce(_local2);
_local2.vx = _local2.vx + (_local4.x / _local2.mass);
_local2.vy = _local2.vy + (_local4.y / _local2.mass);
}
_local3++;
}
};
Mass.prototype.attractionForce = function (otherMass) {
var _local5 = this.x - otherMass.x;
var _local4 = this.y - otherMass.y;
var _local3 = Maths.vectorLength(_local5, _local4);
_local5 = _local5 / _local3;
_local4 = _local4 / _local3;
var _local2 = (this.attractionMass * this.physics.attractionScale) / (_local3 * _local3);
if (Math.abs(_local2) > this.attractionMaxForce) {
_local2 = ((_local2 > 0) ? (this.attractionMaxForce) : (-this.attractionMaxForce));
}
return({x:_local5 * _local2, y:_local4 * _local2});
};
Mass.prototype.resolveCollision = function (otherMass) {
if ((this.collisionSet == undefined) || (this.collisionSet == otherMass.collisionSet)) {
return(undefined);
}
if (otherMass == undefined) {
return(undefined);
}
var _local9 = Maths.distance(this.x, this.y, otherMass.x, otherMass.y);
var _local3 = this.radius + otherMass.radius;
if (_local9 < _local3) {
var _local5 = (this.x + otherMass.x) / 2;
var _local4 = (this.y + otherMass.y) / 2;
var _local7 = this.x - _local5;
var _local6 = this.y - _local4;
var _local8 = Maths.vectorLength(_local7, _local6);
_local7 = _local7 / _local8;
_local6 = _local6 / _local8;
if ((!this.fixed) && (!otherMass.fixed)) {
this.x = _local5 + ((_local7 * _local3) / 2);
this.y = _local4 + ((_local6 * _local3) / 2);
otherMass.x = _local5 + ((_local7 * (-_local3)) / 2);
otherMass.y = _local4 + ((_local6 * (-_local3)) / 2);
} else {
if (this.fixed && (otherMass.fixed)) {
return(undefined);
}
if (!this.fixed) {
this.x = _local5 + ((_local7 * _local3) / 2);
this.y = _local4 + ((_local6 * _local3) / 2);
}
if (!otherMass.fixed) {
otherMass.x = _local5 + ((_local7 * (-_local3)) / 2);
otherMass.y = _local4 + ((_local6 * (-_local3)) / 2);
}
}
this.collisionX = _local5;
this.collisionY = _local4;
otherMass.collisionX = _local5;
otherMass.collisionY = _local4;
this.respondToCollision(otherMass);
this.collisionCallback(otherMass);
otherMass.collisionCallback(this);
}
};
Mass.prototype.respondToCollision = function (otherMass) {
var _local7 = Math.atan2(this.y - otherMass.y, this.x - otherMass.x);
var _local4 = Math.cos(_local7);
var _local3 = Math.sin(_local7);
var _local6 = (this.vx * _local4) + (this.vy * _local3);
var _local9 = (this.vy * _local4) - (this.vx * _local3);
var _local5 = (otherMass.vx * _local4) + (otherMass.vy * _local3);
var _local8 = (otherMass.vy * _local4) - (otherMass.vx * _local3);
var _local12 = (this.mass * _local6) + (otherMass.mass * _local5);
var _local13 = _local6 - _local5;
var _local10 = (_local12 + (this.mass * _local13)) / (this.mass + otherMass.mass);
var _local11 = (_local10 - _local6) + _local5;
_local6 = _local11;
_local5 = _local10;
if (!this.fixed) {
this.vx = (_local6 * _local4) - (_local9 * _local3);
this.vy = (_local9 * _local4) + (_local6 * _local3);
}
if (!otherMass.fixed) {
otherMass.vx = (_local5 * _local4) - (_local8 * _local3);
otherMass.vy = (_local8 * _local4) + (_local5 * _local3);
}
};
Spring.prototype.removeSpring = function () {
this.clip.removeMovieClip();
var _local2 = 0;
while (_local2 < this.mass1.springs.length) {
if (this == this.mass1.springs[_local2]) {
this.mass1.springs.splice(_local2, 1);
break;
}
_local2++;
}
_local2 = 0;
while (_local2 < this.mass2.springs.length) {
if (this == this.mass2.springs[_local2]) {
this.mass2.springs.splice(_local2, 1);
break;
}
_local2++;
}
_local2 = 0;
while (_local2 < this.physics.springs.length) {
if (this == this.physics.springs[_local2]) {
this.physics.springs.splice(_local2, 1);
return(undefined);
}
_local2++;
}
};
Spring.prototype.currentLength = function () {
var _local5 = this.mass1.x;
var _local3 = this.mass1.y;
var _local4 = this.mass2.x;
var _local2 = this.mass2.y;
return(Maths.distance(_local5, _local3, _local4, _local2));
};
Spring.prototype.currentExtension = function () {
return(this.currentLength() - this.naturalLength);
};
Spring.prototype.forceOnMass1 = function () {
var _local9 = this.mass1.x;
var _local7 = this.mass1.y;
var _local8 = this.mass2.x;
var _local6 = this.mass2.y;
var _local4 = _local8 - _local9;
var _local3 = _local6 - _local7;
var _local2 = Maths.vectorLength(_local4, _local3);
var _local11 = _local4 / _local2;
var _local10 = _local3 / _local2;
var _local12 = this.currentExtension() * this.k;
var _local14 = this.mass2.vx - this.mass1.vx;
var _local13 = this.mass2.vy - this.mass1.vy;
var _local15 = (this.damperK * Maths.dotProduct(_local14, _local13, _local4, _local3)) / _local2;
var _local5 = _local15 + _local12;
return({x:_local11 * _local5, y:_local10 * _local5});
};
Spring.prototype.forceOnMass2 = function () {
var _local2 = this.forceOnMass1();
return({x:-_local2.x, y:-_local2.y});
};
Surface.prototype.update = function () {
this.len = this.currentLength();
this.x = this.x1;
this.y = this.y1;
this.dx = this.x2 - this.x1;
this.dy = this.y2 - this.y1;
this.nx = this.dx / this.len;
this.ny = this.dy / this.len;
this.normX = -this.ny;
this.normY = this.nx;
this.paint();
};
Surface.prototype.paint = function () {
this.clip.clear();
this.clip.lineStyle(1, 65535, 100);
this.clip.moveTo(this.x1, this.y1);
this.clip.lineTo(this.x2, this.y2);
};
Surface.prototype.currentLength = function () {
return(Maths.vectorLength(this.x1, this.y1, this.x2, this.y2));
};
Surface.prototype.removeSurface = function () {
this.clip.removeMovieClip();
var _local2 = 0;
while (_local2 < this.physics.surfaces.length) {
if (this == this.physics.surfaces[_local2]) {
this.physics.surfaces.splice(_local2, 1);
return(undefined);
}
_local2++;
}
};
Surface.prototype.handleCollision = function (objMass) {
var _local4 = {};
_local4.dx = objMass.x - this.x1;
_local4.dy = objMass.y - this.y1;
var _local13 = Maths.dotProduct(_local4.dx, _local4.dy, this.dx, this.dy);
var _local2 = {x:this.x1, y:this.y1, dx:_local4.dx, dy:_local4.dy};
if (_local13 >= 0) {
var _local5 = {};
_local5.dx = objMass.x - this.x2;
_local5.dy = objMass.y - this.y2;
_local13 = Maths.dotProduct(_local5.dx, _local5.dy, this.dx, this.dy);
_local2 = {x:this.x2, y:this.y2, dx:_local5.dx, dy:_local5.dy};
if (_local13 <= 0) {
var _local11 = {dx:this.normX, dy:this.normY};
_local2 = Maths.vectorProject(_local4, _local11);
_local2.x = objMass.x - _local2.dx;
_local2.y = objMass.y - _local2.dy;
}
}
var _local8 = Maths.vectorLength(_local2.dx, _local2.dy);
var _local7 = objMass.radius - _local8;
if (_local7 >= 0) {
objMass.hasHitSurface = true;
_local2.nx = _local2.dx / _local8;
_local2.ny = _local2.dy / _local8;
objMass.x = objMass.x + (_local7 * _local2.nx);
objMass.y = objMass.y + (_local7 * _local2.ny);
var _local12 = {dx:_local2.dy, dy:-_local2.dx};
var _local10 = {dx:objMass.vx, dy:objMass.vy};
var _local6 = Maths.vectorProject(_local10, _local2);
var _local9 = Maths.vectorProject(_local10, _local12);
objMass.collisionNormal = {x:_local6.dx, y:_local6.dy};
objMass.vx = ((-this.restitution) * _local6.dx) + (this.friction * _local9.dx);
objMass.vy = ((-this.restitution) * _local6.dy) + (this.friction * _local9.dy);
}
return(false);
};
SpringBox.prototype.getPosition = function () {
pos = {x:0, y:0, rRad:0, rDeg:0};
pos.x = (((this.m_tl.x + this.m_tr.x) + this.m_bl.x) + this.m_br.x) / 4;
pos.y = (((this.m_tl.y + this.m_tr.y) + this.m_bl.y) + this.m_br.y) / 4;
var _local3 = (this.frontLeft.x + this.frontRight.x) / 2;
var _local2 = (this.frontLeft.y + this.frontRight.y) / 2;
var _local5 = _local3 - pos.x;
var _local4 = _local2 - pos.y;
pos.rRad = Math.atan2(_local4, _local5);
pos.rDeg = Maths.radToDeg(pos.rRad);
return(pos);
};
SpringLine.prototype.getPosition = function () {
pos = {x:0, y:0, rRad:0, rDeg:0};
pos.x = (this.m_b.x + this.m_f.x) / 2;
pos.y = (this.m_b.y + this.m_f.y) / 2;
var _local3 = this.m_f.x;
var _local2 = this.m_f.y;
var _local5 = _local3 - pos.x;
var _local4 = _local2 - pos.y;
pos.rRad = Math.atan2(_local4, _local5);
pos.rDeg = Maths.radToDeg(pos.rRad);
return(pos);
};
var arrNeverPress = ["Never press", "Never press again", "What? You were told not to press that", "Seriously, stop pressing this button", "Do you ever do what you're told?", "Are you even reading these?", "Are you even reading these?", "Are you even reading these?", "Oooh, persistent. STOP PRESSING!", "That's it, one more press. The button dares you", "Yup, the game just got made harder for you", "Yep, really. You brought it on yourself", "You only have yourself to blame", "Seriously! It's like 4x harder now", "Ok, so nothing's really changed", "Except you're still clicking this button", "You're not meant to be clicking this button", "You know that, right?", "You remember how this started?", "You were told to never press", "And yet you're still pressing", "Endlessly pressing", "You have no idea why you're still pressing", "No clue at all, right?", "Ok, time to stop pressing now", "Really! Stop pressing", "Stopit stopit stopit", "STOPIT STOPIT STOPIT", "AAAAGH! Stop pressing now!", "Pleease stop pressing.", "Right, no more begging.", "Threats.", "Nasty threats.", "Keep pressing and I wipe your game progress", "I mean it. Five more and bye-bye progress!", "Four more...", "Three...", "Two", "One more click and you lose your progress", "Ha! It's gone. GONE! Gone for good", "And your new progress won't be saved either", "I've deleted that part of the program", "And yet you're still clicking", "Endlessly clicking", "Click click click click click...", "New rules for clicking", "From now on, each click earns you...", "One file deleted at random from your hard drive!", "Pop! There goes a file", "Ping! And another", "Was C:\\Windows\\win.ini important to you?", "Another file deleted", "Who needs all these files anyway?", "You have thousands of 'em hanging around!", "It's about time you had a clear up anyway", "I'm just helping you on your way", "If I don't do it, someone else will", "Maybe I'm randomly deleting just the viruses", "Or maybe your system files", "I can't tell", "But you're clicking lots and lots", "Which means lots and lots of lost files", "This is a clear case of escalation", "You start annoying someone", "Then keep pressing the buttons", "Sooner or later they're getting revenge", "By deleting all your files", "You seem strangely unattached to your files", "You do know what a file is, right?", "They're the things on your computer", "They make it function", "They're your documents", "They're your games", "Your pictures", "Everything on your computer lives in a file", "And I'm deleting one every time you click", "...", "...", "...", "Ok, so actually this is just a bit of a laugh", "Nothing's really been changed by your clicking", "No deleted files", "Your game progress hasn't been wiped", "The difficulty hasn't been cranked up", "But it really is time to stop clicking", "You see, it's inevitable", "This button doesn't wear out", "It can be clicked forever", "But you. You!", "You will get tired", "You will need sleep", "The button shall prevail", "Long-live the button!", "Short-live the human", "Those fingers look soft", "Like they'd wear down over a few millenia", "And you've got to eat, right?", "Have you set up a robot to press the button?", "That'd be cheating", "The button would hate you for that", "The button would be mad at you", "And the button would cry", "Do you want to make the button cry?", "Do you?", "DO YOU?", "You're so mean.", "*sniff*"];
ChoppaGame.prototype.initialise = function () {
_root.trackPoint(("Level_" + _root.curLevelID) + "_start");
this.clip.level.gotoAndStop(_root.curLevelID);
this.frame = 0;
this.w = 730;
this.h = 540;
this.standardIdle = 0.3;
this.standardThrottle = 1.2;
this.winchIdle = 0.3;
this.winchThrottle = 1.2;
this.usedWinch = false;
this.state = "flight";
this.winchState = "idle";
this.idleLift = this.standardIdle;
this.throttleLift = this.standardThrottle;
this.throttleLiftLow = this.standardThrottle * 0.6;
this.torque = 0.04;
this.perfect = true;
this.bladeFrames = 10;
this.controls = _root.controls;
this.torqueAdjust = 1;
switch (_root.sensitivity) {
case "feather" :
this.torqueAdjust = 1;
break;
case "normal" :
this.torqueAdjust = 0.7;
break;
case "heavy" :
this.torqueAdjust = 0.4;
}
this.prevMouseX = _root._xmouse;
this.prevMouseY = _root._ymouse;
var _local25 = false;
var _local26 = this.paint;
this.gravity = 0.2;
this.objPhysics = new Physics(this.clip.level.physics, 0, this.gravity, 0.99, true, false, _local26, _local25);
addSurfaces(this.clip.level, "s", this.objPhysics, 0.7, 0.9);
var _local17 = 0;
var clip = this.clip.level["b" + _local17];
while (clip != undefined) {
if (clip.oneton) {
clip.item = "oneton";
var _local9 = clip.holderToLocal(this.objPhysics.baseClip);
var _local5 = new SpringBox(_local9.x, _local9.y, 40, 40, 0, 0, 20, 0.7, 1.2, _local17, this.objPhysics);
clip.objBox = _local5;
_local5.m_tl.oneton = true;
_local5.m_tr.oneton = true;
_local5.m_bl.oneton = true;
_local5.m_br.oneton = true;
_local5.m_tl.collisionSound = "clunk";
_local5.m_tr.collisionSound = "clunk";
_local5.m_bl.collisionSound = "clunk";
_local5.m_br.collisionSound = "clunk";
}
if (clip.magnet) {
clip.item = "magnet";
var _local9 = clip.holderToLocal(this.objPhysics.baseClip);
var _local3 = new SpringLine(_local9.x, _local9.y, 30, 0, 0, 0, 18, 0.8, 1, this.objPhysics, _local17);
clip.objLine = _local3;
this.objPhysics.attractingMasses = true;
_local3.m_f.attractionMass = 25;
_local3.m_f.collisionSound = "clink3";
_local3.m_b.collisionSound = "clink3";
}
if (clip.scissors) {
clip.item = "scissors";
var _local19 = clip.f.holderToLocal(this.objPhysics.baseClip);
var _local16 = clip.b.holderToLocal(this.objPhysics.baseClip);
clip.m_f = new Mass(_local19.x, _local16.y, 21, false, this.objPhysics, _local17);
clip.m_b = new Mass(_local16.x, _local16.y, 34, false, this.objPhysics, _local17);
clip.objLine = makeSpringLine(clip.m_f, clip.m_b);
clip.m_f.isScissorHandle = true;
clip.m_b.isScissorBlade = true;
}
if (clip.hair) {
clip.item = "hair";
clip.cut = 0;
this.clip.level.flag._y = this.clip.level.flag._y + 250;
}
if (clip.ball) {
clip.item = "ball";
var _local9 = clip.holderToLocal(this.objPhysics.baseClip);
var _local7 = new Mass(_local9.x, _local9.y, 19, false, this.objPhysics, _local17);
_local7.mass = 1.5;
_local7.clip = clip;
clip.objMass = _local7;
_local7.collisionSound = "clink";
}
if (clip.sailor) {
clip.item = "sailor";
var _local9 = clip.holderToLocal(this.objPhysics.baseClip);
var _local7 = new Mass(_local9.x, _local9.y, 31, false, this.objPhysics, _local17);
_local7.mass = 1.2;
_local7.isSailor = true;
_local7.clip = clip;
clip.objMass = _local7;
}
if (clip.hitchecker) {
clip.item = "hitchecker";
}
if (clip.boat) {
clip.item = "boat";
this.clip.level.flag._y = this.clip.level.flag._y + 1000;
clip.p0._visible = false;
clip.p1._visible = false;
clip.p2._visible = false;
clip.p3._visible = false;
clip.p4._visible = false;
clip.p5._visible = false;
clip.p6._visible = false;
var _local8 = clip.p0.holderToLocal(this.objPhysics.baseClip);
var _local19 = clip.p1.holderToLocal(this.objPhysics.baseClip);
var _local16 = clip.p2.holderToLocal(this.objPhysics.baseClip);
var _local15 = clip.p3.holderToLocal(this.objPhysics.baseClip);
var _local14 = clip.p4.holderToLocal(this.objPhysics.baseClip);
var _local13 = clip.p5.holderToLocal(this.objPhysics.baseClip);
var _local12 = clip.p6.holderToLocal(this.objPhysics.baseClip);
clip.m0 = new Mass(_local8.x, _local8.y, 25, false, this.objPhysics, _local17);
clip.m1 = new Mass(_local19.x, _local19.y, 25, false, this.objPhysics, _local17);
clip.m2 = new Mass(_local16.x, _local16.y, 25, false, this.objPhysics, _local17);
clip.m3 = new Mass(_local15.x, _local15.y, 25, false, this.objPhysics, _local17);
clip.m4 = new Mass(_local14.x, _local14.y, 25, false, this.objPhysics, _local17);
clip.m5 = new Mass(_local13.x, _local13.y, 25, false, this.objPhysics, _local17);
clip.m6 = new Mass(_local12.x, _local12.y, 25, false, this.objPhysics, _local17);
clip.m0.mass = 1.2;
clip.m1.mass = 1.2;
clip.m2.mass = 1.2;
clip.m3.mass = 1.2;
clip.m4.mass = 1.2;
clip.m5.mass = 1.2;
clip.m6.mass = 1.2;
clip.m0.isBoatFront = true;
clip.m3.isBoatRear = true;
clip.plaque = makeSpringLine(clip.m0, clip.m1);
var _local21 = new Spring(clip.m1, clip.m2);
_local21 = new Spring(clip.m2, clip.m3);
_local21 = new Spring(clip.m3, clip.m4);
_local21 = new Spring(clip.m4, clip.m5);
_local21 = new Spring(clip.m5, clip.m6);
_local21 = new Spring(clip.m6, clip.m0);
_local21 = new Spring(clip.m6, clip.m1, 0.1, 0.3);
_local21 = new Spring(clip.m1, clip.m5, 0.1, 0.3);
_local21 = new Spring(clip.m5, clip.m2, 0.1, 0.3);
_local21 = new Spring(clip.m2, clip.m4, 0.1, 0.3);
}
if (clip.sheep) {
clip.item = "sheep";
var _local9 = clip.holderToLocal(this.objPhysics.baseClip);
var _local7 = new Mass(_local9.x, _local9.y, 25, false, this.objPhysics, _local17);
_local7.mass = 1;
_local7.isSheep = true;
clip.objMass = _local7;
clip.dir = Maths.randomNum(-0.3, 0.3);
clip.dirFrames = Maths.randomInt(30, 100);
_local7.collisionSound = "baa";
}
if (clip.sheeppen) {
clip.item = "sheeppen";
}
if (clip.platform) {
clip.item = "platform";
}
if (clip.hover) {
clip.item = "hover";
}
if (clip.net) {
clip.item = "net";
clip.state = "untriggered";
clip.masses = [];
var _local8 = clip.p0.holderToLocal(this.objPhysics.baseClip);
var _local19 = clip.p1.holderToLocal(this.objPhysics.baseClip);
var _local20 = _local19.x - _local8.x;
var _local18 = Math.floor(_local20 / 40);
var _local4 = 0;
while (_local4 < _local18) {
var _local6 = new Mass(_local8.x + (40 * _local4), _local8.y, 12, true, this.objPhysics, _local4 + 20);
if (_local4 > 0) {
_local6.netSpring = new Spring(_local6, clip.masses[_local4 - 1]);
}
clip.masses.push(_local6);
_local4++;
}
}
if (clip.bee) {
clip.item = "bee";
if (this.arrBees == undefined) {
this.arrBees = _root.objSounds.registerSources(this.clip.level.choppa, [], "bee-buzz", 300);
}
this.arrBees.push(clip);
this.deadBees = 0;
var _local9 = clip.holderToLocal(this.objPhysics.baseClip);
clip.targetX = _local9.x;
clip.targetY = _local9.y;
clip.targetR = Maths.randomNum(0, (Math.PI*2));
clip.targetDR = Maths.randomNum(-0.05, -0.2);
clip.targetRadius = Maths.randomNum(20, 50);
var _local7 = new Mass(_local9.x, _local9.y, 22, false, this.objPhysics, _local17);
_local7.mass = 0.75;
_local7.clip = clip;
_local7.objGame = this;
clip.objMass = _local7;
_local7.collisionCallback = function (otherMass) {
if (otherMass.oneton) {
this.objGame.deadBees++;
if (this.objGame.deadBees == 6) {
_root.achieved(2);
}
_root.objSounds.play("bee-squish");
this.clip.gotoAndPlay("death");
this.clip.notSoundSource = true;
this.removeMass();
}
};
}
if (clip.gootower) {
clip.item = "gootower";
this.makeGooTower(clip, 5, 100, 0.1, 0.2);
}
if (clip.stronggootower) {
clip.item = "gootower";
this.makeGooTower(clip, 7, 78, 0.5, 0.5);
}
if (clip.sam) {
this.hitBySam = false;
clip.item = "sam";
clip.hit._visible = false;
clip.rocketAway = false;
clip.rocketID = _local17 + 1;
}
if (clip.rocket) {
clip.item = "rocket";
clip._visible = false;
clip.active = false;
clip.samID = _local17 - 1;
clip.samClip = this.clip.level["b" + clip.samID];
var _local9 = clip.holderToLocal(this.objPhysics.baseClip);
var _local3 = new SpringLine(_local9.x, _local9.y, 68, 0, 0, 0, 18, 0.8, 1, this.objPhysics, _local17);
_local3.m_f.idleX = _local3.m_f.x;
_local3.m_f.idleY = _local3.m_f.y;
_local3.m_b.idleX = _local3.m_b.x;
_local3.m_b.idleY = _local3.m_b.y;
_local3.m_f.objGame = this;
_local3.m_f.rocketClip = clip;
_local3.m_f.isRocket = true;
_local3.m_b.isRocket = true;
_local3.m_f.isNotWinchable = true;
_local3.m_b.isNotWinchable = true;
clip.objLine = _local3;
_local3.m_f.collisionSound = "clink1";
_local3.m_b.collisionSound = "clink1";
_local3.m_f.collisionCallback = function (otherMass) {
if (otherMass.isChoppa) {
_root.objSounds.play("sam-hit");
this.rocketClip.active = false;
this.rocketClip._visible = false;
this.rocketClip.samClip.rocketAway = false;
this.objGame.createExplosion(this.x, this.y, 20, 500);
this.objGame.hitBySam = true;
}
};
}
if (clip.gravitywell) {
clip.item = "gravitywell";
this.objPhysics.gravityX = 0;
this.objPhysics.gravityY = 0;
this.gravityCentreX = clip._x;
this.gravityCentreY = clip._y;
var _local4 = 0;
while (_local4 < 10) {
clip["g" + _local4].gotoAndPlay(Maths.randomInt(1, clip["g" + _local4]._totalframes));
_local4++;
}
}
if (clip.fan) {
clip.item = "fan";
clip.hit._visible = false;
if (this.arrFans == undefined) {
this.arrFans = _root.objSounds.registerSources(this.clip.level.choppa, [], "wind-loop", 270);
}
this.arrFans.push(clip.n0);
this.arrFans.push(clip.n1);
this.arrFans.push(clip.n2);
}
if (clip.mixer) {
clip.item = "mixer";
clip.dr = 0.1;
clip.surfaces = addSurfaces(clip, "s", this.objPhysics, 0.9, 0.95);
}
if (clip.crushotron) {
clip.item = "crushotron";
clip.lSurfaces = addSurfaces(clip.l, "s", this.objPhysics, 0.9, 0.95);
clip.rSurfaces = addSurfaces(clip.r, "s", this.objPhysics, 0.9, 0.95);
}
if (clip.button) {
clip.item = "button";
clip.state = "off";
clip.hit._visible = false;
}
if (clip.lift) {
clip.item = "lift";
clip.surfaces = addSurfaces(clip.lift, "s", this.objPhysics, 0.9, 0.95);
_root.objSounds.registerSources(this.clip.level.choppa, [clip.lift], "ratchet-loop", 700);
}
if (clip.handle) {
clip.item = "handle";
var _local9 = clip.holderToLocal(this.objPhysics.baseClip);
var _local11 = clip.arm.handle.holderToLocal(this.objPhysics.baseClip);
clip.prevAngle = clip.arm._rotation;
clip.mHub = new Mass(_local9.x, _local9.y, 10, true, this.objPhysics, _local17);
clip.mHandle = new Mass(_local11.x, _local11.y, 15, false, this.objPhysics, _local17);
clip.sArm = new Spring(clip.mHub, clip.mHandle);
clip.mHub.isNotWinchable = true;
_root.objSounds.play("ratchet-loop", 0, true);
this.handleClip = clip;
}
if (clip.oven) {
clip.item = "oven";
this.handleClip._y = this.handleClip._y + 340;
this.handleClip.mHub.y = this.handleClip.mHub.y + 340;
this.handleClip.mHandle.y = this.handleClip.mHandle.y + 340;
this.handleClip._visible = false;
this.clip.level.flag._y = this.clip.level.flag._y + 100;
}
if (clip.wave) {
clip.item = "wave";
clip.gotoAndPlay(Maths.randomInt(1, clip._totalframes));
}
_local17++;
clip = this.clip.level["b" + _local17];
}
var _local24 = this.clip.level.choppa.rotor.holderToLocal(this.clip);
var _local23 = this.clip.level.choppa.tail.holderToLocal(this.clip);
var _local22 = this.clip.level.choppa.cockpit.holderToLocal(this.clip);
this.mRotor = new Mass(_local24.x, _local24.y, 16, false, this.objPhysics, -1);
this.mTail = new Mass(_local23.x, _local23.y, 13, false, this.objPhysics, -1);
this.mCockpit = new Mass(_local22.x, _local22.y, 30, false, this.objPhysics, -1);
this.mRotor.isChoppa = true;
this.mTail.isChoppa = true;
this.mCockpit.isChoppa = true;
this.slChassis = makeSpringLine(this.mTail, this.mCockpit);
this.slFront = makeSpringLine(this.mRotor, this.mCockpit);
this.slBack = makeSpringLine(this.mRotor, this.mTail);
var _local9 = this.slFront.getPosition();
this.choppaRotationOffset = this.clip.level.choppa._rotation - _local9.rDeg;
this.choppaBrokenFrames = 0;
this.clip.gameHitZone._visible = false;
this.clip.screenCentre._visible = false;
this.clip.pausePanel._visible = false;
this.clip.winPanel._visible = false;
this.clip.crashPanel._visible = false;
this.clip.perfectPanel._visible = false;
this.clip.fastPanel._visible = false;
this.clip.winPanel._alpha = 0;
this.clip.crashPanel._alpha = 0;
this.clip.perfectPanel._alpha = 0;
this.clip.fastPanel._alpha = 0;
if (!_root.arrLevels[_root.curLevelID].passed) {
this.clip.perfectIndicator._alpha = 0;
this.clip.fastIndicator._alpha = 0;
}
this.stars = [];
_local17 = 0;
while (_local17 < 15) {
var _local10 = this.clip.level.bg.getNextHighestDepth();
this.clip.level.bg.attachMovie("star", "star" + _local10, _local10);
var clip = this.clip.level.bg["star" + _local10];
_local9 = {x:Maths.randomInt(0, this.w), y:Maths.randomInt(0, this.w)};
this.clip.level.bg.globalToLocal(_local9);
clip._x = _local9.x;
clip._y = _local9.y;
clip._scale = Maths.randomNum(70, 120);
clip._rotation = Maths.randomInt(0, 359);
this.stars.push(clip);
_local17++;
}
this.objPhysics.baseClip.onEnterFrame = undefined;
this.clip.onEnterFrame = function () {
this.objGame.evtEnterFrame();
};
Key.addListener(this);
};
ChoppaGame.prototype.evtEnterFrame = function () {
this.frame++;
var _local4 = 0;
while (_local4 < this.stars.length) {
var _local3 = this.stars[_local4];
var _local22 = _local3.holderToGlobal();
if (_local22.x < 0) {
_local3._x = _local3._x + this.w;
}
if (_local22.y < 0) {
_local3._y = _local3._y + this.h;
}
if (_local22.x > this.w) {
_local3._x = _local3._x - this.w;
}
if (_local22.y > this.h) {
_local3._y = _local3._y - this.h;
}
_local4++;
}
if (Key.isDown(Keys.Escape) && (!_root.objTrans.transitioning)) {
_root.objSounds.play("rollover-tick");
Key.removeListener(this);
_root.objTrans.goto("picklevel");
}
if (Key.isDown(Keys.R) && (!_root.objTrans.transitioning)) {
_root.objSounds.play("rollover-tick");
Key.removeListener(this);
_root.objTrans.goto("restart");
}
switch (this.state) {
case "paused" :
this.frame--;
Mouse.show();
break;
case "flight" :
if (this.controls == "full") {
Mouse.hide();
}
this.mRotor.extForceX = 0;
this.mRotor.extForceY = 0;
this.mCockpit.extForceX = 0;
this.mCockpit.extForceY = 0;
this.mTail.extForceX = 0;
this.mTail.extForceY = 0;
var _local7 = Math.cos(Maths.degToRad(this.clip.level.choppa._rotation - 90));
var _local6 = Math.sin(Maths.degToRad(this.clip.level.choppa._rotation - 90));
switch (this.controls) {
case "easy" :
var _local14 = this.objPhysics.gravityX;
var _local13 = this.objPhysics.gravityY;
if (this.gravityCentreX != undefined) {
_local14 = this.gravityCentreX - this.clip.level.choppa._x;
_local13 = this.gravityCentreY - this.clip.level.choppa._y;
}
var _local15 = Maths.vectorLength(_local14, _local13);
if (_local15 == 0) {
_local15 = 1;
}
_local14 = _local14 / _local15;
_local13 = _local13 / _local15;
thrustX = _local14 * (-this.idleLift);
thrustY = _local13 * (-this.idleLift);
if (Key.isDown(Keys.CursorUp) || (Key.isDown(Keys.W))) {
thrustY = thrustY - this.throttleLift;
}
if (Key.isDown(Keys.CursorDown) || (Key.isDown(Keys.S))) {
thrustY = thrustY + this.idleLift;
}
if (Key.isDown(Keys.CursorLeft) || (Key.isDown(Keys.A))) {
thrustX = thrustX - this.throttleLiftLow;
}
if (Key.isDown(Keys.CursorRight) || (Key.isDown(Keys.D))) {
thrustX = thrustX + this.throttleLiftLow;
}
thrustX = thrustX / 3;
thrustY = thrustY / 3;
this.mRotor.extForceX = this.mRotor.extForceX + (thrustX * 1.3);
this.mRotor.extForceY = this.mRotor.extForceY + thrustY;
this.mCockpit.extForceX = this.mCockpit.extForceX + thrustX;
this.mCockpit.extForceY = this.mCockpit.extForceY + thrustY;
this.mTail.extForceX = this.mTail.extForceX + thrustX;
this.mTail.extForceY = this.mTail.extForceY + thrustY;
var _local12 = 0;
var _local25 = Maths.dotProduct(_local14, _local13, -_local6, _local7);
_local12 = _local12 + (5 * _local25);
if (Key.isDown(Keys.Z) || (Key.isDown(Keys.Y))) {
_local12 = _local12 + (5 + ((this.leftCount++) / 10));
} else {
this.leftCount = 0;
}
if (Key.isDown(Keys.X)) {
_local12 = _local12 - (5 + ((this.rightCount++) / 10));
} else {
this.rightCount = 0;
}
this.mCockpit.extForceX = this.mCockpit.extForceX + ((_local7 * _local12) * this.torque);
this.mCockpit.extForceY = this.mCockpit.extForceY + ((_local6 * _local12) * this.torque);
this.mTail.extForceX = this.mTail.extForceX - ((_local7 * _local12) * this.torque);
this.mTail.extForceY = this.mTail.extForceY - ((_local6 * _local12) * this.torque);
break;
case "full" :
var _local10 = this.idleLift;
var torque = this.torque;
if ((Key.isDown(Keys.CursorUp) || (Keys.mouseDown())) || (Key.isDown(Keys.W))) {
_local10 = this.throttleLift;
}
_local10 = _local10 / 3;
this.mRotor.extForceX = this.mRotor.extForceX + (_local10 * _local7);
this.mRotor.extForceY = this.mRotor.extForceY + (_local10 * _local6);
this.mCockpit.extForceX = this.mCockpit.extForceX + (_local10 * _local7);
this.mCockpit.extForceY = this.mCockpit.extForceY + (_local10 * _local6);
this.mTail.extForceX = this.mTail.extForceX + (_local10 * _local7);
this.mTail.extForceY = this.mTail.extForceY + (_local10 * _local6);
_local12 = this.prevMouseX - _root._xmouse;
var _local26 = this.prevMouseY - _root._ymouse;
if (Key.isDown(Keys.CursorLeft) || (Key.isDown(Keys.A))) {
_local12 = _local12 + (5 + ((this.leftCount++) / 10));
} else {
this.leftCount = 0;
}
if (Key.isDown(Keys.CursorRight) || (Key.isDown(Keys.D))) {
_local12 = _local12 - (5 + ((this.rightCount++) / 10));
} else {
this.rightCount = 0;
}
this.mCockpit.extForceX = this.mCockpit.extForceX + (((_local7 * _local12) * torque) * this.torqueAdjust);
this.mCockpit.extForceY = this.mCockpit.extForceY + (((_local6 * _local12) * torque) * this.torqueAdjust);
this.mTail.extForceX = this.mTail.extForceX - (((_local7 * _local12) * torque) * this.torqueAdjust);
this.mTail.extForceY = this.mTail.extForceY - (((_local6 * _local12) * torque) * this.torqueAdjust);
}
this.bladeFrames--;
if (this.bladeFrames <= 0) {
this.bladeFrames = 6;
if ((((((((Key.isDown(Keys.CursorUp) || (Key.isDown(Keys.W))) || (Key.isDown(Keys.CursorDown))) || (Key.isDown(Keys.S))) || (Key.isDown(Keys.CursorLeft))) || (Key.isDown(Keys.A))) || (Key.isDown(Keys.CursorRight))) || (Key.isDown(Keys.D))) || (Keys.mouseDown())) {
this.bladeFrames = 4;
}
_root.objSounds.play("blade");
}
this.objectsEnterFrame();
this.objPhysics.step();
this.paint();
if ((this.controls == "full") && (!this.clip.gameHitZone.hitTest(_root._xmouse, _root._ymouse, true))) {
this.state = "paused";
this.pauseObjects();
this.clip.pausePanel.fadeIn(0.25);
this.clip.pausePanel.objGame = this;
this.clip.pausePanel.onRelease = function () {
_root.objSounds.play("rollover-tick");
this.objGame.unpauseObjects();
this.objGame.state = "flight";
this.fadeOut(0.25);
this.onRelease = undefined;
this.onRollOver = undefined;
};
this.clip.pausePanel.onRollOver = function () {
_root.objSounds.play("rollover-tock");
};
}
var _local9 = 0;
if (this.mCockpit.hasHitSurface) {
var _local21 = Maths.vectorLength(this.mCockpit.collisionNormal.x, this.mCockpit.collisionNormal.y);
if (_local21 > _local9) {
_local9 = _local21;
}
}
if (this.mTail.hasHitSurface) {
var _local21 = Maths.vectorLength(this.mTail.collisionNormal.x, this.mTail.collisionNormal.y);
if (_local21 > _local9) {
_local9 = _local21;
}
}
if (this.mRotor.hasHitSurface) {
var _local21 = Maths.vectorLength(this.mRotor.collisionNormal.x, this.mRotor.collisionNormal.y);
if (_local21 > _local9) {
_local9 = _local21;
}
}
var _local17 = false;
var _local18 = {x:this.mCockpit.x, y:this.mCockpit.y};
var _local20 = {x:this.mRotor.x, y:this.mRotor.y};
var _local19 = {x:this.mTail.x, y:this.mTail.y};
this.clip.level.physics.localToGlobal(_local18);
this.clip.level.physics.localToGlobal(_local20);
this.clip.level.physics.localToGlobal(_local19);
if (!this.clip.level.choppa.hitCockpit.hitTest(_local18.x, _local18.y, true)) {
_local17 = true;
}
if (!this.clip.level.choppa.hitRotor.hitTest(_local20.x, _local20.y, true)) {
_local17 = true;
}
if (!this.clip.level.choppa.hitTail.hitTest(_local19.x, _local19.y, true)) {
_local17 = true;
}
if (_local17) {
this.choppaBrokenFrames++;
} else {
this.choppaBrokenFrames = 0;
}
if ((this.perfect && (_local9 > 0)) && (!this.clip.level.choppa.hitTest(this.clip.level.flag))) {
this.perfect = false;
this.clip.perfectIndicator.fadeOut(0.5);
}
if (this.frame == _root.arrLevels[_root.curLevelID].par) {
this.clip.fastIndicator.fadeOut(0.5);
}
if ((_local9 > 14) || (this.choppaBrokenFrames > 20)) {
_root.trackPoint(("Level_" + _root.curLevelID) + "_crashed");
if (_root.curLevelID == 19) {
this.pauseObjects();
}
_root.objSounds.play("crashed");
this.state = "crashed";
this.clip.crashPanel.fadeIn(0.25);
this.clip.crashPanel.objGame = this;
this.clip.crashPanel.onRelease = function () {
_root.objSounds.play("rollover-tick");
_root.objTrans.goto("picklevel");
Key.removeListener(this);
this.onRelease = undefined;
this.onRollOver = undefined;
};
this.clip.crashPanel.onRollOver = function () {
_root.objSounds.play("rollover-tock");
};
return(undefined);
}
if ((this.mCockpit.hasHitSurface && (this.mTail.hasHitSurface)) && (this.clip.level.choppa.hitTest(this.clip.level.flag))) {
trace(((("Completed level " + _root.curLevelID) + " in ") + this.frame) + " frames");
var _local16 = false;
if (this.frame < _root.arrLevels[_root.curLevelID].par) {
_local16 = true;
}
if (this.hitBySam == true) {
_root.achieved(3);
}
if ((_root.curLevelID == 14) && (!this.usedWinch)) {
_root.achieved(4);
}
if (_root.curLevelID == 15) {
var _local24 = this.gooTop1.holderToGlobal();
var _local23 = this.gooTop2.holderToGlobal();
if (this.clip.level.towerHit.hitTest(_local24.x, _local24.y, true) && (this.clip.level.towerHit.hitTest(_local23.x, _local23.y, true))) {
_root.achieved(5);
}
}
if (_root.curLevelID == 20) {
var _local24 = this.gooTop1.holderToGlobal();
var _local23 = this.gooTop2.holderToGlobal();
if (this.clip.level.towerHit.hitTest(_local24.x, _local24.y, true) && (this.clip.level.towerHit.hitTest(_local23.x, _local23.y, true))) {
_root.achieved(6);
}
}
if (_root.curLevelID == 21) {
_root.achieved(7);
}
if (this.perfect) {
_root.trackPoint(("Level_" + _root.curLevelID) + "_perfect");
_root.objSounds.play("voice-perfect");
} else if (_local16) {
_root.trackPoint(("Level_" + _root.curLevelID) + "_fast");
_root.objSounds.play("voice-reallyfast");
} else {
_root.trackPoint(("Level_" + _root.curLevelID) + "_completed");
_root.objSounds.play("voice-complete");
}
passedLevel(_root.curLevelID, this.perfect, _local16);
var _local11 = 0;
var _local5 = 0;
var _local8 = 0;
_local4 = 0;
while (_local4 < _root.arrLevels.length) {
if (_root.arrLevels[_local4].passed) {
_local11++;
}
if (_root.arrLevels[_local4].perfect) {
_local5++;
}
if (_root.arrLevels[_local4].fast) {
_local8++;
}
_local4++;
}
if (_local11 >= 21) {
_root.achieved(8);
}
if (_local5 >= 10) {
_root.achieved(9);
}
if (_local5 >= 21) {
_root.achieved(10);
}
if (_local8 >= 10) {
_root.achieved(11);
}
if (_local8 >= 21) {
_root.achieved(12);
}
this.state = "completed";
this.pauseObjects();
this.clip.winPanel.fadeIn(0.25);
this.clip.winPanel.objGame = this;
this.clip.winPanel.onRelease = function () {
_root.objSounds.play("rollover-tick");
_root.objTrans.goto("picklevel");
Key.removeListener(this);
this.onRelease = undefined;
this.onRollOver = undefined;
};
this.clip.winPanel.onRollOver = function () {
_root.objSounds.play("rollover-tock");
};
if (this.perfect) {
trace(" Perfect!");
this.clip.perfectPanel.fadeIn(1.5);
}
if (_local16) {
trace(" Fast!");
this.clip.fastPanel.fadeIn(1.5);
}
}
break;
case "crashed" :
Mouse.show();
this.clip.level.choppa.stop();
this.objectsEnterFrame();
this.objPhysics.step();
this.paint();
if (Key.isDown(Keys.Enter)) {
this.clip.crashPanel.onRelease();
}
break;
case "completed" :
if (Key.isDown(Keys.Enter)) {
this.clip.winPanel.onRelease();
}
Mouse.show();
break;
default :
trace("Undefined state: " + this.state);
}
this.prevMouseX = _root._xmouse;
this.prevMouseY = _root._ymouse;
var _local22 = this.clip.level.choppa.holderToLocal(this.clip.screenCentre);
this.clip.level._x = this.clip.level._x - (_local22.x / 4);
this.clip.level._y = this.clip.level._y - (_local22.y / 4);
};
ChoppaGame.prototype.objectsEnterFrame = function () {
var _local17 = this.clip.level.choppa.winch.holderToLocal(this.clip.level.physics);
this.mWinchA.x = _local17.x;
this.mWinchA.y = _local17.y;
var _local8 = 0;
while (_local8 < this.objPhysics.masses.length) {
var _local7 = this.objPhysics.masses[_local8];
if (_local7.soundFrames > 0) {
_local7.soundFrames--;
if (_local7.soundFrames <= 0) {
_local7.soundFrames = undefined;
}
}
if (((_local7.collisionSound && (_local7.hasHitSurface)) && (_local7.soundFrames == undefined)) && ((_local7.collisionNormal.x > 1) || (_local7.collisionNormal.y > 1))) {
var _local24 = Maths.vectorLength(_local7.collisionNormal.x, _local7.collisionNormal.y);
_root.objSounds.play(_local7.collisionSound, Math.min(100, _local24 * 5));
_local7.soundFrames = 10;
}
_local8++;
}
var _local26 = 0;
var clip = this.clip.level["b" + _local26];
while (clip != undefined) {
switch (clip.item) {
case "oneton" :
break;
case "scissors" :
if (clip.m_b.springs.length == 2) {
_local17 = clip.f.holderToGlobal();
_local8 = 0;
var _local3 = this.clip.level["b" + _local8];
while (_local3 != undefined) {
if (_local3.item == "hair") {
if ((_local3.cut < 4) && (_local3.hitTest(_local17.x, _local17.y, true))) {
_local3.cut++;
_local3.gotoAndStop("cut" + _local3.cut);
if (_local3.cut >= 4) {
this.clip.level.flag._y = this.clip.level.flag._y - 250;
}
}
}
_local8++;
_local3 = this.clip.level["b" + _local8];
}
}
break;
case "fan" :
_local8 = 0;
while (_local8 < this.objPhysics.masses.length) {
var _local7 = this.objPhysics.masses[_local8];
_local17 = {x:_local7.x, y:_local7.y};
this.objPhysics.baseClip.localToGlobal(_local17);
if (clip.hit.hitTest(_local17.x, _local17.y, true)) {
var _local9 = Maths.distance(clip._x, clip._y, _local7.x, _local7.y);
if (_local9 > clip.hit._width) {
_local9 = clip.hit._width;
}
var _local10 = (clip.hit._width - _local9) / clip.hit._width;
_local7.extForceX = _local7.extForceX + ((_local10 * clip.fanStrength) * Math.cos(Maths.degToRad(clip._rotation)));
_local7.extForceY = _local7.extForceY + ((_local10 * clip.fanStrength) * Math.sin(Maths.degToRad(clip._rotation)));
}
_local8++;
}
break;
case "wave" :
_local8 = 0;
while (_local8 < this.objPhysics.masses.length) {
var _local7 = this.objPhysics.masses[_local8];
_local17 = {x:_local7.x, y:_local7.y};
this.objPhysics.baseClip.localToGlobal(_local17);
if (clip.hit.hitTest(_local17.x, _local17.y, true)) {
_local7.extForceY = _local7.extForceY - (this.gravity + (0.01 * _local7.radius));
_local7.vx = _local7.vx * 0.95;
_local7.vy = _local7.vy * 0.95;
}
_local8++;
}
break;
case "hitchecker" :
_local8 = 0;
while (_local8 < this.objPhysics.masses.length) {
var _local7 = this.objPhysics.masses[_local8];
_local17 = {x:_local7.x, y:_local7.y};
this.objPhysics.baseClip.localToGlobal(_local17);
if (clip.hitTest(_local17.x, _local17.y, true)) {
clip.massTouching(_local7);
}
_local8++;
}
break;
case "button" :
if (clip.state == "off") {
_local8 = 0;
while (_local8 < this.objPhysics.masses.length) {
var _local7 = this.objPhysics.masses[_local8];
_local17 = {x:_local7.x, y:_local7.y};
this.objPhysics.baseClip.localToGlobal(_local17);
if (clip.hit.hitTest(_local17.x, _local17.y, true)) {
_root.objSounds.play("switch");
clip.evtTriggered();
clip.state = "on";
clip.gotoAndStop("on");
}
_local8++;
}
}
break;
case "ball" :
break;
case "sailor" :
break;
case "boat" :
if (this.menSaved && (this.boatPositioned >= 2)) {
this.menSaved = false;
this.clip.level.flag._y = this.clip.level.flag._y - 1000;
this.clip.level.flag._alpha = 0;
this.clip.level.flag.fadeIn(0.5);
this.clip.level.sign.gotoAndPlay("done");
}
this.boatPositioned = 0;
break;
case "sheep" :
clip.dirFrames--;
if (clip.dirFrames <= 0) {
clip.dir = Maths.randomNum(-0.3, 0.3);
clip.dirFrames = Maths.randomInt(30, 100);
}
if (clip.objMass.hasHitSurface) {
clip.objMass.extForceX = clip.dir;
}
break;
case "sheeppen" :
var _local14 = 0;
_local8 = 0;
while (_local8 < this.objPhysics.masses.length) {
var _local7 = this.objPhysics.masses[_local8];
if (_local7.isSheep) {
_local17 = {x:_local7.x, y:_local7.y};
this.objPhysics.baseClip.localToGlobal(_local17);
if (clip.hit.hitTest(_local17.x, _local17.y, true)) {
_local14++;
}
}
_local8++;
}
clip.sheepDeposited(_local14);
break;
case "platform" :
var _local11 = 0;
_local8 = 0;
while (_local8 < this.objPhysics.masses.length) {
var _local7 = this.objPhysics.masses[_local8];
if (_local7.isSailor) {
_local17 = {x:_local7.x, y:_local7.y};
this.objPhysics.baseClip.localToGlobal(_local17);
if (clip.hit.hitTest(_local17.x, _local17.y, true)) {
_local11++;
}
}
_local8++;
}
clip.sailorsDeposited(_local11);
break;
case "hover" :
_local17 = this.clip.level.choppa.holderToGlobal();
if (clip.hit.hitTest(_local17.x, _local17.y, true)) {
clip.gotoAndStop("hover");
} else {
clip.gotoAndStop("idle");
}
break;
case "net" :
if (clip.state == "untriggered") {
_local17 = this.clip.level.choppa.holderToGlobal();
if (clip.hit.hitTest(_local17.x, _local17.y, true)) {
clip.state = "triggered";
_root.objSounds.play("net-fall");
var _local6 = 0;
while (_local6 < clip.masses.length) {
clip.masses[_local6].fixed = false;
_local6++;
}
}
}
break;
case "bee" :
clip.targetR = clip.targetR + clip.targetDR;
var _local25 = clip.targetX + (clip.targetRadius * Math.cos(clip.targetR));
var _local22 = clip.targetY + (clip.targetRadius * Math.sin(clip.targetR));
var _local13 = clip.objMass.x - _local25;
var _local12 = clip.objMass.y - _local22;
var _local23 = (-_local13) / 70;
var _local21 = (-_local12) / 70;
clip.objMass.extForceX = clip.objMass.extForceX + _local23;
clip.objMass.extForceY = clip.objMass.extForceY + _local21;
break;
case "gravitywell" :
_local8 = 0;
while (_local8 < this.objPhysics.masses.length) {
var _local5 = this.objPhysics.masses[_local8];
_local13 = _local5.x - clip._x;
_local12 = _local5.y - clip._y;
var _local15 = Maths.vectorLength(_local13, _local12);
_local13 = _local13 / _local15;
_local12 = _local12 / _local15;
_local13 = _local13 * this.gravity;
_local12 = _local12 * this.gravity;
_local5.extForceX = _local5.extForceX - _local13;
_local5.extForceY = _local5.extForceY - _local12;
_local8++;
}
break;
case "mixer" :
if ((this.mRotor.hasHitSurface || (this.mTail.hasHitSurface)) || (this.mCockpit.hasHitSurface)) {
clip.dr = clip.dr - 0.005;
} else {
clip.dr = clip.dr + 0.005;
}
if (clip.dr < 0.1) {
clip.dr = 0.1;
}
if (clip.dr > 0.5) {
clip.dr = 0.5;
}
clip._rotation = clip._rotation + clip.dr;
_local8 = 0;
while (_local8 < clip.surfaces.length) {
clip.surfaces[_local8].removeSurface();
_local8++;
}
clip.surfaces = addSurfaces(clip, "s", this.objPhysics, 0.9, 0.95);
break;
case "crushotron" :
_local8 = 0;
while (_local8 < clip.lSurfaces.length) {
clip.lSurfaces[_local8].removeSurface();
_local8++;
}
_local8 = 0;
while (_local8 < clip.rSurfaces.length) {
clip.rSurfaces[_local8].removeSurface();
_local8++;
}
clip.lSurfaces = addSurfaces(clip.l, "s", this.objPhysics, 0.9, 0.95);
clip.rSurfaces = addSurfaces(clip.r, "s", this.objPhysics, 0.9, 0.95);
break;
case "lift" :
_local8 = 0;
while (_local8 < clip.surfaces.length) {
clip.surfaces[_local8].removeSurface();
_local8++;
}
clip.surfaces = addSurfaces(clip.lift, "s", this.objPhysics, 0.9, 0.95);
break;
case "sam" :
if (!clip.rocketAway) {
_local17 = this.clip.level.choppa.holderToGlobal();
if (clip.hit.hitTest(_local17.x, _local17.y, true)) {
_root.objSounds.play("sam-launch");
var _local4 = this.clip.level["b" + clip.rocketID];
var _local20 = clip.sam.holderToLocal(this.clip.level.physics);
var _local16 = clip.holderToLocal(this.clip.level.physics);
_local4.objLine.m_f.x = _local20.x;
_local4.objLine.m_f.y = _local20.y;
_local4.objLine.m_b.x = _local16.x;
_local4.objLine.m_b.y = _local16.y;
_local4.objLine.m_f.vx = 0;
_local4.objLine.m_f.vy = 0;
_local4.objLine.m_b.vx = 0;
_local4.objLine.m_b.vy = 0;
_local4.active = true;
_local4._visible = true;
clip.rocketAway = true;
}
}
break;
case "rocket" :
if (clip.active) {
clip.objLine.m_f.extForceY = clip.objLine.m_f.extForceY - this.gravity;
clip.objLine.m_b.extForceY = clip.objLine.m_b.extForceY - this.gravity;
_local13 = clip.objLine.m_f.x - clip.objLine.m_b.x;
_local12 = clip.objLine.m_f.y - clip.objLine.m_b.y;
var _local15 = Maths.vectorLength(_local13, _local12);
_local13 = _local13 / _local15;
_local12 = _local12 / _local15;
clip.objLine.m_f.extForceX = clip.objLine.m_f.extForceX + (_local13 / 6);
clip.objLine.m_f.extForceY = clip.objLine.m_f.extForceY + (_local12 / 6);
clip.objLine.m_b.extForceX = clip.objLine.m_b.extForceX + (_local13 / 4);
clip.objLine.m_b.extForceY = clip.objLine.m_b.extForceY + (_local12 / 4);
_local13 = clip.objLine.m_f.x - this.clip.level.choppa._x;
_local12 = clip.objLine.m_f.y - this.clip.level.choppa._y;
_local15 = Maths.vectorLength(_local13, _local12);
_local13 = _local13 / _local15;
_local12 = _local12 / _local15;
clip.objLine.m_f.extForceX = clip.objLine.m_f.extForceX - (_local13 / 6);
clip.objLine.m_f.extForceY = clip.objLine.m_f.extForceY - (_local12 / 6);
} else {
clip.objLine.m_f.x = clip.objLine.m_f.idleX;
clip.objLine.m_f.y = clip.objLine.m_f.idleY;
clip.objLine.m_b.x = clip.objLine.m_b.idleX;
clip.objLine.m_b.y = clip.objLine.m_b.idleY;
}
}
_local26++;
clip = this.clip.level["b" + _local26];
}
};
ChoppaGame.prototype.alignGravityMark = function (clip) {
var _local3 = this.clip.level.choppa._x - this.clip.level.b0._x;
var _local2 = this.clip.level.choppa._y - this.clip.level.b0._y;
var _local4 = Math.atan2(_local2, _local3);
var _local5 = Maths.radToDeg(_local4) + Maths.randomNum(-30, 30);
clip._rotation = _local5;
};
ChoppaGame.prototype.paint = function () {
this.clip.level.drawing.clear();
var p = this.slFront.getPosition();
this.clip.level.choppa._x = this.mRotor.x;
this.clip.level.choppa._y = this.mRotor.y;
this.clip.level.choppa._rotation = p.rDeg + this.choppaRotationOffset;
var j = 0;
var clip = this.clip.level["b" + j];
while (clip != undefined) {
switch (clip.item) {
case "oneton" :
var p = clip.objBox.getPosition();
clip._x = p.x;
clip._y = p.y;
clip._rotation = p.rDeg + 90;
break;
case "magnet" :
var p = clip.objLine.getPosition();
clip._x = p.x;
clip._y = p.y;
clip._rotation = p.rDeg + 180;
break;
case "scissors" :
var p = clip.objLine.getPosition();
clip._x = p.x;
clip._y = p.y;
clip._rotation = p.rDeg;
if (clip.m_b.springs.length == 2) {
clip.gotoAndStop("chopping");
} else {
clip.gotoAndStop("stopped");
}
break;
case "ball" :
clip._x = clip.objMass.x;
clip._y = clip.objMass.y;
break;
case "sailor" :
clip._x = clip.objMass.x;
clip._y = clip.objMass.y;
break;
case "sheep" :
clip._x = clip.objMass.x;
clip._y = clip.objMass.y;
clip._xscale = ((clip.dir >= 0) ? -100 : 100);
break;
case "bee" :
clip._x = clip.objMass.x;
clip._y = clip.objMass.y;
break;
case "rocket" :
if (clip.active) {
var p = clip.objLine.getPosition();
clip._x = p.x;
clip._y = p.y;
clip._rotation = p.rDeg;
}
break;
case "net" :
this.clip.level.drawing.lineStyle(12, 16737792, 100);
this.clip.level.drawing.moveTo(clip.masses[0].x, clip.masses[0].y);
var n = 1;
while (n < clip.masses.length) {
this.clip.level.drawing.lineTo(clip.masses[n].x, clip.masses[n].y);
n++;
}
break;
case "gootower" :
var k = 0;
while (k < clip.masses.length) {
var mass = clip.masses[k];
mass.gooClip._x = mass.x;
mass.gooClip._y = mass.y;
var h = 0;
while (h < mass.springs.length) {
var m1 = mass.springs[h].mass1;
var m2 = mass.springs[h].mass2;
if ((!m1.isGoo) || (!m2.isGoo)) {
} else {
this.clip.level.drawing.lineStyle(9, 16737792, 100);
this.clip.level.drawing.moveTo(m1.x, m1.y);
this.clip.level.drawing.lineTo(m2.x, m2.y);
}
h++;
}
k++;
}
break;
case "boat" :
this.clip.level.drawing.lineStyle(9, 0, 100);
this.clip.level.drawing.beginFill(16737792, 100);
this.clip.level.drawing.moveTo(clip.m0.x, clip.m0.y);
this.clip.level.drawing.lineTo(clip.m1.x, clip.m1.y);
this.clip.level.drawing.lineTo(clip.m2.x, clip.m2.y);
this.clip.level.drawing.lineTo(clip.m3.x, clip.m3.y);
this.clip.level.drawing.lineTo(clip.m4.x, clip.m4.y);
this.clip.level.drawing.lineTo(clip.m5.x, clip.m5.y);
this.clip.level.drawing.lineTo(clip.m6.x, clip.m6.y);
this.clip.level.drawing.lineTo(clip.m0.x, clip.m0.y);
this.clip.level.drawing.endFill();
var p = clip.plaque.getPosition();
this.clip.level.hmsFragile._x = p.x;
this.clip.level.hmsFragile._y = p.y;
this.clip.level.hmsFragile._rotation = p.rDeg + 180;
break;
case "handle" :
var dx = (clip.mHandle.x - clip.mHub.x);
var dy = (clip.mHandle.y - clip.mHub.y);
var angleRad = (Math.atan2(dy, dx) - (Math.PI/2));
var angleDeg = Maths.radToDeg(angleRad);
clip.arm._rotation = angleDeg;
clip.arm.handle._rotation = -angleDeg;
var dr = (clip.prevAngle - clip.arm._rotation);
if (dr < -100) {
dr = 0;
}
if (dr < -5) {
dr = -5;
}
if (dr > 100) {
dr = 0;
}
if (dr > 5) {
dr = 5;
}
_root.objSounds.volume("ratchet-loop", Math.abs(20 * dr));
clip.angleChanged(dr);
clip.prevAngle = clip.arm._rotation;
break;
case "oven" :
var k = 0;
for(;;){
if (k >= this.objPhysics.masses.length) {
break;
}
var mass = this.objPhysics.masses[k];
if (mass.clip.ingredient == undefined) {
} else {
var p = {x:mass.x, y:mass.y};
this.clip.level.physics.localToGlobal(p);
if (clip.hit.hitTest(p.x, p.y, true)) {
clip.hit.evtItemHit(mass.clip);
}
}
k++;
};
}
j++;
clip = this.clip.level["b" + j];
}
if (this.winchState == "deployed") {
var p = this.clip.level.choppa.winch.holderToLocal(this.clip.level.drawing);
with (this.clip.level.drawing) {
lineStyle(3, 16737792, 100);
moveTo(p.x, p.y);
lineTo(this.mWinchB.x, this.mWinchB.y);
lineTo(this.mWinchC.x, this.mWinchC.y);
lineTo(this.sWinchC.mass2.x, this.sWinchC.mass2.y);
}
if (this.sWinchC.mass2.removed) {
this.toggleWinch();
}
}
};
ChoppaGame.prototype.createExplosion = function (x, y, force, forceRange) {
var _local11 = this.clip.level.drawing.getNextHighestDepth();
this.clip.level.drawing.attachMovie("explosion", "explosion" + _local11, _local11);
var _local12 = this.clip.level.drawing["explosion" + _local11];
_local12._x = x;
_local12._y = y;
var _local6 = 0;
while (_local6 < this.objPhysics.masses.length) {
var _local2 = this.objPhysics.masses[_local6];
var _local5 = x - _local2.x;
var _local4 = y - _local2.y;
var _local3 = Maths.vectorLength(_local5, _local4);
_local5 = _local5 / _local3;
_local4 = _local4 / _local3;
if (_local3 < forceRange) {
_local2.vx = _local2.vx - (force * _local5);
_local2.vy = _local2.vy - (force * _local4);
}
_local6++;
}
};
ChoppaGame.prototype.onKeyUp = function () {
switch (Key.getCode()) {
case 13 :
case 32 :
switch (this.state) {
case "flight" :
this.toggleWinch();
break;
case "completed" :
case "crashed" :
}
}
};
ChoppaGame.prototype.toggleWinch = function () {
if (this.state != "flight") {
return(undefined);
}
switch (this.winchState) {
case "idle" :
this.usedWinch = true;
this.winchState = "deployed";
this.idleLift = this.winchIdle;
this.throttleLift = this.winchThrottle;
_root.objSounds.play("winch-deploy");
var _local4 = this.clip.level.choppa.winch.holderToLocal(this.clip.level.physics);
var _local3 = this.clip.level.choppa.pulley.holderToLocal(this.clip.level.physics);
this.mWinchA = new Mass(_local4.x, _local4.y, 5, true, this.objPhysics, -1);
this.mWinchB = new Mass(_local3.x, _local3.y, 5, false, this.objPhysics, -1);
this.mWinchC = new Mass(_local4.x, _local4.y, 5, false, this.objPhysics, -1);
this.mWinchD = new Mass(_local3.x, _local3.y, 5, false, this.objPhysics, -1);
this.sWinchA = new Spring(this.mWinchA, this.mWinchB, this.objPhysics, 0.5, 0.7);
this.sWinchB = new Spring(this.mWinchB, this.mWinchC, this.objPhysics, 0.5, 0.7);
this.sWinchC = new Spring(this.mWinchC, this.mWinchD, this.objPhysics, 0.5, 0.7);
this.mWinchD.objGame = this;
this.mWinchD.collisionCallback = function (otherMass) {
if (otherMass.isNotWinchable) {
return(undefined);
}
if (otherMass.isSheep) {
_root.objSounds.play("baa");
}
_root.objSounds.play("winch-attach");
this.objGame.sWinchC.removeSpring();
this.objGame.sWinchC = new Spring(this.objGame.mWinchC, otherMass, this.objGame.objPhysics, 0.5, 0.7);
this.removeMass();
};
break;
case "deployed" :
this.winchState = "idle";
this.idleLift = this.standardIdle;
this.throttleLift = this.standardThrottle;
_root.objSounds.play("winch-retract");
this.mWinchD.removeMass();
this.mWinchC.removeMass();
this.mWinchB.removeMass();
this.mWinchA.removeMass();
}
};
ChoppaGame.prototype.pauseObjects = function () {
var _local3 = 0;
var _local2 = this.clip.level["b" + _local3];
while (_local2 != undefined) {
switch (_local2.item) {
case "lift" :
case "wave" :
case "crushotron" :
_local2.stop();
}
_local3++;
_local2 = this.clip.level["b" + _local3];
}
};
ChoppaGame.prototype.unpauseObjects = function () {
var _local3 = 0;
var _local2 = this.clip.level["b" + _local3];
while (_local2 != undefined) {
switch (_local2.item) {
case "lift" :
if (_local2._currentframe < _local2._totalframes) {
_local2.play();
}
break;
case "wave" :
case "crushotron" :
_local2.play();
}
_local3++;
_local2 = this.clip.level["b" + _local3];
}
};
ChoppaGame.prototype.raiseHandle = function () {
this.handleClip._visible = true;
this.handleClip.slideTo("0", "-340", 1.5, "easeInOutSine", 0, function () {
_root.objGame.handleClip.mHub.y = _root.objGame.handleClip.mHub.y - 340;
_root.objGame.handleClip.mHandle.y = _root.objGame.handleClip.mHandle.y - 340;
});
this.clip.level.b1.gotoAndStop("raise");
};
ChoppaGame.prototype.handleComplete = function () {
this.clip.level.flag.slideTo("0", "-100", 1.5, "easeInOutSine");
};
ChoppaGame.prototype.makeGooTower = function (clip, stories, separation, k, d) {
clip.masses = [];
clip.b0._visible = false;
clip.b1._visible = false;
var _local9 = clip.b0.holderToLocal(this.clip.level.physics);
var _local8 = clip.b1.holderToLocal(this.clip.level.physics);
var _local7 = new Mass(_local9.x, _local9.y, 19, true, this.objPhysics, -1);
var _local6 = new Mass(_local8.x, _local8.y, 19, true, this.objPhysics, -1);
_local7.isGoo = true;
_local6.isGoo = true;
clip.masses.push(_local7);
clip.masses.push(_local6);
var _local15 = this.clip.level.physics.getNextHighestDepth();
var _local5 = 0;
while (_local5 < stories) {
_local9.y = _local9.y - separation;
_local8.y = _local8.y - separation;
var _local3 = new Mass(_local9.x, _local9.y, 19, false, this.objPhysics, _local15);
var _local2 = new Mass(_local8.x, _local8.y, 19, false, this.objPhysics, _local15);
_local3.mass = 2;
_local2.mass = 2;
_local3.isGoo = true;
_local2.isGoo = true;
_local3.collisionSound = "bee-squish";
_local2.collisionSound = "bee-squish";
var _local4 = this.clip.level.drawing.getNextHighestDepth();
this.clip.level.drawing.attachMovie("gooball", "gooball" + _local4, _local4);
var _local14 = this.clip.level.drawing["gooball" + _local4];
_local4 = this.clip.level.drawing.getNextHighestDepth();
this.clip.level.drawing.attachMovie("gooball", "gooball" + _local4, _local4);
var _local13 = this.clip.level.drawing["gooball" + _local4];
_local3.gooClip = _local14;
_local2.gooClip = _local13;
_local3.gooClip._x = _local3.x;
_local3.gooClip._y = _local3.y;
_local2.gooClip._x = _local2.x;
_local2.gooClip._y = _local2.y;
_local3.gooClip._rotation = Maths.randomInt(-20, 20);
_local2.gooClip._rotation = Maths.randomInt(-20, 20);
var _local16 = new Spring(_local3, _local2, this.objPhysics, k, d);
_local16 = new Spring(_local3, _local6, this.objPhysics, k, d);
_local16 = new Spring(_local7, _local2, this.objPhysics, k, d);
_local16 = new Spring(_local3, _local7, this.objPhysics, 0.6, 0.4);
_local16 = new Spring(_local2, _local6, this.objPhysics, 0.6, 0.4);
clip.masses.push(_local3);
clip.masses.push(_local2);
_local7 = _local3;
_local6 = _local2;
_local5++;
}
this.gooTop1 = _local7.gooClip;
this.gooTop2 = _local6.gooClip;
};
ChoppaGame.prototype.evt = function () {
};
_root.Datacap = function (formID, thirdPartySubmit) {
this.formID = formID;
this.thirdPartySubmit = thirdPartySubmit;
this.controls = [];
this.formInstance = undefined;
this.sendingFrame = "";
this.successFrame = "";
this.failureFrame = "";
this.userID = 0;
this.customIsValid = undefined;
this.preSubmit = undefined;
this.onSuccess = undefined;
this.onFailure = undefined;
this.datacapURL = "http://www.deeperbeige.com/datacap/datacap";
if (_level0.debug) {
trace("Creating data form, ID=" + formID);
}
var _local4 = SharedObject.getLocal("cmuDatacap");
if (_local4.data.userID == undefined) {
_local4.data.userID = Math.floor(Math.random() * 100000000) + 100000000;
}
this.userID = _local4.data.userID;
_local4.flush();
this.registerTextbox = function (varName, instance, errorMarker) {
if (_level0.debug) {
trace((("Registered textbox " + varName) + " errorMarker=") + errorMarker);
}
if (instance == undefined) {
trace(("Error: Instance not found for textbox " + varName) + "");
}
this.controls.push({style:"textbox", varName:varName, instance:instance, errorMarker:errorMarker, isValid:this.validateTextbox, autoFill:this.autoFillTextbox});
instance.tabIndex = this.controls.length;
instance.objForm = this;
errorMarker._visible = false;
};
this.validateTextbox = function (control) {
if (control.errorMarker != undefined) {
if ((control.instance.text == undefined) || (control.instance.text == "")) {
if (_level0.debug) {
trace(((("Validating " + control.style) + " ") + control.varName) + ": Invalid");
}
control.errorMarker._visible = true;
return(false);
}
if (_level0.debug) {
trace(((("Validating " + control.style) + " ") + control.varName) + ": Valid");
}
control.errorMarker._visible = false;
return(true);
}
return(true);
};
this.autoFillTextbox = function (control) {
var _local1 = SharedObject.getLocal("cmuDatacap");
if (_local1.data[control.varName] != undefined) {
control.instance.text = _local1.data[control.varName];
}
};
this.registerEmailbox = function (varName, instance, errorMarker) {
if (_level0.debug) {
trace((("Registered emailbox " + varName) + " errorMarker=") + errorMarker);
}
if (instance == undefined) {
trace(("Error: Instance not found for emailbox " + varName) + "");
}
this.controls.push({style:"emailbox", varName:varName, instance:instance, errorMarker:errorMarker, isValid:this.validateEmailbox, autoFill:this.autoFillEmailbox});
instance.tabIndex = this.controls.length;
instance.objForm = this;
errorMarker._visible = false;
};
this.validateEmailbox = function (control) {
if (control.errorMarker != undefined) {
var _local3 = true;
if (control.instance.text == undefined) {
_local3 = false;
}
if (control.instance.text == "") {
_local3 = false;
}
var _local5 = control.instance.text.split("@");
if (_local5.length != 2) {
_local3 = false;
}
if (_local5[0] == "") {
_local3 = false;
}
var _local2 = _local5[1].split(".");
if (_local2.length < 2) {
_local3 = false;
}
var _local1 = 0;
while (_local1 < _local2.length) {
if (_local2[_local1] == "") {
_local3 = false;
}
_local1++;
}
if (_local3) {
if (_level0.debug) {
trace(((("Validating " + control.style) + " ") + control.varName) + ": Invalid");
}
control.errorMarker._visible = false;
return(true);
}
if (_level0.debug) {
trace(((("Validating " + control.style) + " ") + control.varName) + ": Valid");
}
control.errorMarker._visible = true;
return(false);
}
return(true);
};
this.autoFillEmailbox = function (control) {
var _local1 = SharedObject.getLocal("cmuDatacap");
if (_local1.data[control.varName] != undefined) {
control.instance.text = _local1.data[control.varName];
}
};
this.registerCheckbox = function (varName, instance, errorMarker) {
if (_level0.debug) {
trace((("Registered checkbox " + varName) + " errorMarker=") + errorMarker);
}
if (instance == undefined) {
trace(("Error: Instance not found for checkbox " + varName) + "");
}
this.controls.push({style:"checkbox", varName:varName, instance:instance, errorMarker:errorMarker, isValid:this.validateCheckbox, autoFill:this.autoFillCheckbox});
instance.tabIndex = this.controls.length;
instance.objForm = this;
errorMarker._visible = false;
};
this.validateCheckbox = function (control) {
if (control.errorMarker != undefined) {
if (_level0.debug) {
trace((("Validating " + control.style) + " ") + control.varName);
}
if (control.instance.selected != true) {
if (_level0.debug) {
trace(((("Validating " + control.style) + " ") + control.varName) + ": Invalid");
}
control.errorMarker._visible = true;
return(false);
}
if (_level0.debug) {
trace(((("Validating " + control.style) + " ") + control.varName) + ": Valid");
}
control.errorMarker._visible = false;
return(true);
}
return(true);
};
this.autoFillCheckbox = function (control) {
var _local1 = SharedObject.getLocal("cmuDatacap");
if (_local1.data[control.varName] != undefined) {
control.instance.selected = _local1.data[control.varName];
}
};
this.registerRadioSet = function (varName, instance, errorMarker) {
if (_level0.debug) {
trace((("Registered radioset " + varName) + " errorMarker=") + errorMarker);
}
if (instance == undefined) {
trace(("Error: Instance not found for radioset " + varName) + "");
}
this.controls.push({style:"radioset", varName:varName, instance:instance, errorMarker:errorMarker, isValid:this.validateRadioSet, autoFill:this.autoFillRadioSet});
instance.tabIndex = this.controls.length;
instance.objForm = this;
errorMarker._visible = false;
};
this.validateRadioSet = function (control) {
if (control.errorMarker != undefined) {
if (control.instance.selection == undefined) {
if (_level0.debug) {
trace(((("Validating " + control.style) + " ") + control.varName) + ": Invalid");
}
control.errorMarker._visible = true;
return(false);
}
if (_level0.debug) {
trace(((("Validating " + control.style) + " ") + control.varName) + ": Valid");
}
control.errorMarker._visible = false;
return(true);
}
return(true);
};
this.autoFillRadioSet = function (control) {
return(undefined);
};
this.registerDropdown = function (varName, instance, errorMarker) {
if (_level0.debug) {
trace((("Registered dropdown " + varName) + " errorMarker=") + errorMarker);
}
if (instance == undefined) {
trace(("Error: Instance not found for dropdown " + varName) + "");
}
this.controls.push({style:"dropdown", varName:varName, instance:instance, errorMarker:errorMarker, isValid:this.validateDropdown, autoFill:this.autoFillDropdown});
instance.tabIndex = this.controls.length;
instance.objForm = this;
errorMarker._visible = false;
};
this.validateDropdown = function (control) {
if (control.errorMarker != undefined) {
if (control.instance.selectedIndex == 0) {
if (_level0.debug) {
trace(((("Validating " + control.style) + " ") + control.varName) + ": Invalid");
}
control.errorMarker._visible = true;
return(false);
}
if (_level0.debug) {
trace(((("Validating " + control.style) + " ") + control.varName) + ": Valid");
}
control.errorMarker._visible = false;
return(true);
}
return(true);
};
this.autoFillDropdown = function (control) {
var _local1 = SharedObject.getLocal("cmuDatacap");
if (_local1.data[control.varName] != undefined) {
control.instance.selectedIndex = _local1.data[control.varName];
}
};
this.registerSubmit = function (varName, instance, value) {
if (_level0.debug) {
trace((("Registered submit button " + varName) + " errorMarker=") + errorMarker);
}
if (instance == undefined) {
trace(("Error: Instance not found for submit button " + varName) + "");
}
this.controls.push({style:"submit", varName:varName, instance:instance, value:value});
instance.objForm = this;
instance.tabIndex = this.controls.length;
instance.onRelease = this.submitForm;
};
this.setHiddenValue = function (varName, value) {
if (_level0.debug) {
trace((("Set hidden value " + varName) + "=") + value);
}
var _local3;
var _local2 = 0;
while (_local2 < this.controls.length) {
if (this.controls[_local2].style == "hidden") {
if (this.controls[_local2].varName == varName) {
_local3 = _local2;
}
}
_local2++;
}
if (_local3 == undefined) {
this.controls.push({style:"hidden", varName:varName, value:value});
} else {
this.controls[_local3].value = value;
}
};
this.registerFrames = function (sendingFrame, successFrame, failureFrame, formInstance) {
if (_level0.debug) {
trace("Registered frames for instance " + formInstance);
}
if (formInstance == undefined) {
trace("Error: Registering frames, form instance invalid");
}
this.formInstance = formInstance;
this.sendingFrame = sendingFrame;
this.successFrame = successFrame;
this.failureFrame = failureFrame;
};
this.registerCallbacks = function (customIsValid, preSubmit, onSuccess, onFailure) {
if (_level0.debug) {
trace("Registered callbacks");
}
this.customIsValid = customIsValid;
this.preSubmit = preSubmit;
this.onSuccess = onSuccess;
this.onFailure = onFailure;
};
this.submitForm = function () {
if (_level0.debug) {
trace("Submit pressed - validating");
}
var _local6 = true;
if (this.objForm.customIsValid != undefined) {
if (!this.objForm.customIsValid()) {
_local6 = false;
}
}
var _local2 = 0;
while (_local2 < this.objForm.controls.length) {
if (this.objForm.controls[_local2].isValid != undefined) {
if (!this.objForm.controls[_local2].isValid(this.objForm.controls[_local2])) {
_local6 = false;
}
}
_local2++;
}
if (_local6) {
if (_level0.debug) {
trace("Form validated - sending");
}
if (_level0.debug) {
trace("Submitting form");
}
var _local5 = new LoadVars();
var _local7 = new LoadVars();
_local7.objForm = this.objForm;
this.objForm.preSubmit();
var _local4 = SharedObject.getLocal("cmuDatacap");
_local2 = 0;
while (_local2 < this.objForm.controls.length) {
var _local3 = "";
switch (this.objForm.controls[_local2].style) {
case "textbox" :
_local3 = this.objForm.controls[_local2].instance.text;
_local4.data[this.objForm.controls[_local2].varName] = _local3;
break;
case "emailbox" :
_local3 = this.objForm.controls[_local2].instance.text;
_local4.data[this.objForm.controls[_local2].varName] = _local3;
break;
case "checkbox" :
_local3 = (this.objForm.controls[_local2].instance.selected ? true : false);
_local4.data[this.objForm.controls[_local2].varName] = _local3;
break;
case "radioset" :
_local3 = this.objForm.controls[_local2].instance.selection.data;
break;
case "dropdown" :
_local3 = this.objForm.controls[_local2].instance.selectedItem.data;
_local4.data[this.objForm.controls[_local2].varName] = this.objForm.controls[_local2].instance.selectedIndex;
break;
case "hidden" :
_local3 = this.objForm.controls[_local2].value;
break;
case "submit" :
_local3 = this.objForm.controls[_local2].value;
this.objForm.controls[_local2].instance._visible = false;
break;
default :
trace("Unhandled component style " + this.objForm.controls[_local2].style);
}
if (_level0.debug) {
trace(((" " + this.objForm.controls[_local2].varName) + " = ") + _local3);
}
_local5[this.objForm.controls[_local2].varName] = _local3;
_local2++;
}
_local4.flush();
_local5.userID = this.objForm.userID;
_local5.formID = this.objForm.formID;
_local7.onLoad = function (success) {
trace("SUCCESS: " + success);
if (success) {
if (_level0.debug) {
trace("Success");
}
this.objForm.onSuccess();
if (this.objForm.formInstance != undefined) {
this.objForm.formInstance.gotoAndStop(this.objForm.successFrame);
}
} else {
if (_level0.debug) {
trace("Failed");
}
this.objForm.onFailure();
if (this.objForm.formInstance != undefined) {
this.objForm.formInstance.gotoAndStop(this.objForm.failureFrame);
}
}
};
var _local8 = (this.objForm.datacapURL + ((this.objForm.thirdPartySubmit == undefined) ? "" : ("_" + this.objForm.thirdPartySubmit))) + ".php";
_local5.sendAndLoad(_local8, _local7, "POST");
if (this.objForm.formInstance != undefined) {
this.objForm.formInstance.gotoAndStop(this.objForm.sendingFrame);
}
} else if (_level0.debug) {
trace("Form data not validated");
}
};
this.autoFill = function () {
var _local2 = 0;
while (_local2 < this.controls.length) {
this.controls[_local2].autoFill(this.controls[_local2]);
_local2++;
}
};
this.onKeyDown = function () {
if ((Key.isDown(16) && (Key.isDown(17))) && (Key.isDown(192))) {
this.autoFill();
}
};
Key.addListener(this);
trace("Press ctrl+shift+@ to autofill form with previously entered values");
this.initCountryDropDown = function (dropdownClip) {
dropdownClip.addItem("Select Country", "NIL");
dropdownClip.addItem("United Kingdom", "GB");
dropdownClip.addItem("Ireland", "IE");
dropdownClip.addItem("France", "FR");
dropdownClip.addItem("Spain", "ES");
dropdownClip.addItem("Netherlands", "NL");
dropdownClip.addItem("Italy", "IT");
dropdownClip.addItem("Germany", "DE");
dropdownClip.addItem("United States", "US");
dropdownClip.addItem("Canada", "CA");
dropdownClip.addItem("---------------------", "--");
dropdownClip.addItem("Afghanistan", "AF");
dropdownClip.addItem("Albania", "AL");
dropdownClip.addItem("Algeria", "DZ");
dropdownClip.addItem("American Samoa", "AS");
dropdownClip.addItem("Andorra", "AD");
dropdownClip.addItem("Angola", "AO");
dropdownClip.addItem("Anguilla", "AI");
dropdownClip.addItem("Antarctica", "AQ");
dropdownClip.addItem("Antigua And Barbuda", "AG");
dropdownClip.addItem("Argentina", "AR");
dropdownClip.addItem("Armenia", "AM");
dropdownClip.addItem("Aruba", "AW");
dropdownClip.addItem("Australia", "AU");
dropdownClip.addItem("Austria", "AT");
dropdownClip.addItem("Azerbaijan", "AZ");
dropdownClip.addItem("Bahamas", "BS");
dropdownClip.addItem("Bahrain", "BH");
dropdownClip.addItem("Bangladesh", "BD");
dropdownClip.addItem("Barbados", "BB");
dropdownClip.addItem("Belarus", "BY");
dropdownClip.addItem("Belgium", "BE");
dropdownClip.addItem("Belize", "BZ");
dropdownClip.addItem("Benin", "BJ");
dropdownClip.addItem("Bermuda", "BM");
dropdownClip.addItem("Bhutan", "BT");
dropdownClip.addItem("Bolivia", "BO");
dropdownClip.addItem("Bosnia And Herzegowina", "BA");
dropdownClip.addItem("Botswana", "BW");
dropdownClip.addItem("Bouvet Island", "BV");
dropdownClip.addItem("Brazil", "BR");
dropdownClip.addItem("British Indian Ocean Territory", "IO");
dropdownClip.addItem("Brunei Darussalam", "BN");
dropdownClip.addItem("Bulgaria", "BG");
dropdownClip.addItem("Burkina Faso", "BF");
dropdownClip.addItem("Burundi", "BI");
dropdownClip.addItem("Cambodia", "KH");
dropdownClip.addItem("Cameroon", "CM");
dropdownClip.addItem("Cape Verde", "CV");
dropdownClip.addItem("Cayman Islands", "KY");
dropdownClip.addItem("Central African Republic", "CF");
dropdownClip.addItem("Chad", "TD");
dropdownClip.addItem("Chile", "CL");
dropdownClip.addItem("China", "CN");
dropdownClip.addItem("Christmas Island", "CX");
dropdownClip.addItem("Cocos (Keeling) Islands", "CC");
dropdownClip.addItem("Colombia", "CO");
dropdownClip.addItem("Comoros", "KM");
dropdownClip.addItem("Congo", "CG");
dropdownClip.addItem("Cook Islands", "CK");
dropdownClip.addItem("Costa Rica", "CR");
dropdownClip.addItem("Cote D'Ivoire", "CI");
dropdownClip.addItem("Croatia (Local Name: Hrvatska)", "HR");
dropdownClip.addItem("Cuba", "CU");
dropdownClip.addItem("Cyprus", "CY");
dropdownClip.addItem("Czech Republic", "CZ");
dropdownClip.addItem("Denmark", "DK");
dropdownClip.addItem("Djibouti", "DJ");
dropdownClip.addItem("Dominica", "DM");
dropdownClip.addItem("Dominican Republic", "DO");
dropdownClip.addItem("East Timor", "TP");
dropdownClip.addItem("Ecuador", "EC");
dropdownClip.addItem("Egypt", "EG");
dropdownClip.addItem("El Salvador", "SV");
dropdownClip.addItem("Equatorial Guinea", "GQ");
dropdownClip.addItem("Eritrea", "ER");
dropdownClip.addItem("Estonia", "EE");
dropdownClip.addItem("Ethiopia", "ET");
dropdownClip.addItem("Falkland Islands (Malvinas)", "FK");
dropdownClip.addItem("Faroe Islands", "FO");
dropdownClip.addItem("Fiji", "FJ");
dropdownClip.addItem("Finland", "FI");
dropdownClip.addItem("French Guiana", "GF");
dropdownClip.addItem("French Polynesia", "PF");
dropdownClip.addItem("French Southern Territories", "TF");
dropdownClip.addItem("Gabon", "GA");
dropdownClip.addItem("Gambia", "GM");
dropdownClip.addItem("Georgia", "GE");
dropdownClip.addItem("Ghana", "GH");
dropdownClip.addItem("Gibraltar", "GI");
dropdownClip.addItem("Greece", "GR");
dropdownClip.addItem("Greenland", "GL");
dropdownClip.addItem("Grenada", "GD");
dropdownClip.addItem("Guadeloupe", "GP");
dropdownClip.addItem("Guam", "GU");
dropdownClip.addItem("Guatemala", "GT");
dropdownClip.addItem("Guinea", "GN");
dropdownClip.addItem("Guinea-Bissau", "GW");
dropdownClip.addItem("Guyana", "GY");
dropdownClip.addItem("Haiti", "HT");
dropdownClip.addItem("Heard And Mc Donald Islands", "HM");
dropdownClip.addItem("Holy See (Vatican City State)", "VA");
dropdownClip.addItem("Honduras", "HN");
dropdownClip.addItem("Hong Kong", "HK");
dropdownClip.addItem("Hungary", "HU");
dropdownClip.addItem("Icel And", "IS");
dropdownClip.addItem("India", "IN");
dropdownClip.addItem("Indonesia", "ID");
dropdownClip.addItem("Iran (Islamic Republic Of)", "IR");
dropdownClip.addItem("Iraq", "IQ");
dropdownClip.addItem("Israel", "IL");
dropdownClip.addItem("Jamaica", "JM");
dropdownClip.addItem("Japan", "JP");
dropdownClip.addItem("Jordan", "JO");
dropdownClip.addItem("Kazakhstan", "KZ");
dropdownClip.addItem("Kenya", "KE");
dropdownClip.addItem("Kiribati", "KI");
dropdownClip.addItem("Korea, Dem People'S Republic", "KP");
dropdownClip.addItem("Korea, Republic Of", "KR");
dropdownClip.addItem("Kuwait", "KW");
dropdownClip.addItem("Kyrgyzstan", "KG");
dropdownClip.addItem("Lao People'S Dem Republic", "LA");
dropdownClip.addItem("Latvia", "LV");
dropdownClip.addItem("Lebanon", "LB");
dropdownClip.addItem("Lesotho", "LS");
dropdownClip.addItem("Liberia", "LR");
dropdownClip.addItem("Libyan Arab Jamahiriya", "LY");
dropdownClip.addItem("Liechtenstein", "LI");
dropdownClip.addItem("Lithuania", "LT");
dropdownClip.addItem("Luxembourg", "LU");
dropdownClip.addItem("Macau", "MO");
dropdownClip.addItem("Macedonia", "MK");
dropdownClip.addItem("Madagascar", "MG");
dropdownClip.addItem("Malawi", "MW");
dropdownClip.addItem("Malaysia", "MY");
dropdownClip.addItem("Maldives", "MV");
dropdownClip.addItem("Mali", "ML");
dropdownClip.addItem("Malta", "MT");
dropdownClip.addItem("Marshall Islands", "MH");
dropdownClip.addItem("Martinique", "MQ");
dropdownClip.addItem("Mauritania", "MR");
dropdownClip.addItem("Mauritius", "MU");
dropdownClip.addItem("Mayotte", "YT");
dropdownClip.addItem("Mexico", "MX");
dropdownClip.addItem("Micronesia, Federated States", "FM");
dropdownClip.addItem("Moldova, Republic Of", "MD");
dropdownClip.addItem("Monaco", "MC");
dropdownClip.addItem("Mongolia", "MN");
dropdownClip.addItem("Montserrat", "MS");
dropdownClip.addItem("Morocco", "MA");
dropdownClip.addItem("Mozambique", "MZ");
dropdownClip.addItem("Myanmar", "MM");
dropdownClip.addItem("Namibia", "NA");
dropdownClip.addItem("Nauru", "NR");
dropdownClip.addItem("Nepal", "NP");
dropdownClip.addItem("Netherlands Ant Illes", "AN");
dropdownClip.addItem("New Caledonia", "NC");
dropdownClip.addItem("New Zealand", "NZ");
dropdownClip.addItem("Nicaragua", "NI");
dropdownClip.addItem("Niger", "NE");
dropdownClip.addItem("Nigeria", "NG");
dropdownClip.addItem("Niue", "NU");
dropdownClip.addItem("Norfolk Island", "NF");
dropdownClip.addItem("Northern Mariana Islands", "MP");
dropdownClip.addItem("Norway", "NO");
dropdownClip.addItem("Oman", "OM");
dropdownClip.addItem("Pakistan", "PK");
dropdownClip.addItem("Palau", "PW");
dropdownClip.addItem("Panama", "PA");
dropdownClip.addItem("Papua New Guinea", "PG");
dropdownClip.addItem("Paraguay", "PY");
dropdownClip.addItem("Peru", "PE");
dropdownClip.addItem("Philippines", "PH");
dropdownClip.addItem("Pitcairn", "PN");
dropdownClip.addItem("Poland", "PL");
dropdownClip.addItem("Portugal", "PT");
dropdownClip.addItem("Puerto Rico", "PR");
dropdownClip.addItem("Qatar", "QA");
dropdownClip.addItem("Reunion", "RE");
dropdownClip.addItem("Romania", "RO");
dropdownClip.addItem("Russian Federation", "RU");
dropdownClip.addItem("Rwanda", "RW");
dropdownClip.addItem("Saint K Itts And Nevis", "KN");
dropdownClip.addItem("Saint Lucia", "LC");
dropdownClip.addItem("Saint Vincent, The Grenadines", "VC");
dropdownClip.addItem("Samoa", "WS");
dropdownClip.addItem("San Marino", "SM");
dropdownClip.addItem("Sao Tome And Principe", "ST");
dropdownClip.addItem("Saudi Arabia", "SA");
dropdownClip.addItem("Senegal", "SN");
dropdownClip.addItem("Seychelles", "SC");
dropdownClip.addItem("Sierra Leone", "SL");
dropdownClip.addItem("Singapore", "SG");
dropdownClip.addItem("Slovakia (Slovak Republic)", "SK");
dropdownClip.addItem("Slovenia", "SI");
dropdownClip.addItem("Solomon Islands", "SB");
dropdownClip.addItem("Somalia", "SO");
dropdownClip.addItem("South Africa", "ZA");
dropdownClip.addItem("South Georgia , S Sandwich Is.", "GS");
dropdownClip.addItem("Sri Lanka", "LK");
dropdownClip.addItem("St. Helena", "SH");
dropdownClip.addItem("St. Pierre And Miquelon", "PM");
dropdownClip.addItem("Sudan", "SD");
dropdownClip.addItem("Suriname", "SR");
dropdownClip.addItem("Svalbard, Jan Mayen Islands", "SJ");
dropdownClip.addItem("Sw Aziland", "SZ");
dropdownClip.addItem("Sweden", "SE");
dropdownClip.addItem("Switzerland", "CH");
dropdownClip.addItem("Syrian Arab Republic", "SY");
dropdownClip.addItem("Taiwan", "TW");
dropdownClip.addItem("Tajikistan", "TJ");
dropdownClip.addItem("Tanzania, United Republic Of", "TZ");
dropdownClip.addItem("Thailand", "TH");
dropdownClip.addItem("Togo", "TG");
dropdownClip.addItem("Tokelau", "TK");
dropdownClip.addItem("Tonga", "TO");
dropdownClip.addItem("Trinidad And Tobago", "TT");
dropdownClip.addItem("Tunisia", "TN");
dropdownClip.addItem("Turkey", "TR");
dropdownClip.addItem("Turkmenistan", "TM");
dropdownClip.addItem("Turks And Caicos Islands", "TC");
dropdownClip.addItem("Tuvalu", "TV");
dropdownClip.addItem("Uganda", "UG");
dropdownClip.addItem("Ukraine", "UA");
dropdownClip.addItem("United Arab Emirates", "AE");
dropdownClip.addItem("United States Minor Is.", "UM");
dropdownClip.addItem("Uruguay", "UY");
dropdownClip.addItem("Uzbekistan", "UZ");
dropdownClip.addItem("Vanuatu", "VU");
dropdownClip.addItem("Venezuela", "VE");
dropdownClip.addItem("Viet Nam", "VN");
dropdownClip.addItem("Virgin Islands (British)", "VG");
dropdownClip.addItem("Virgin Islands (U.S.)", "VI");
dropdownClip.addItem("Wallis And Futuna Islands", "WF");
dropdownClip.addItem("Western Sahara", "EH");
dropdownClip.addItem("Yemen", "YE");
dropdownClip.addItem("Yugoslavia", "YU");
dropdownClip.addItem("Zaire", "ZR");
dropdownClip.addItem("Zambia", "ZM");
dropdownClip.addItem("Zimbabwe", "ZW");
dropdownClip.setSelectedIndex(0);
};
this.initMobilesDropdown = function (dropdownClip) {
mobiles = new Array();
dropdownClip.addItem("Select manufacturer", "NIL");
dropdownClip.addItem("NOKIA", "NOKIA");
dropdownClip.addItem("MOTOROLA", "MOTOROLA");
dropdownClip.addItem("SAMSUNG", "SAMSUNG");
dropdownClip.addItem("SONY ERICSSON", "ERICSSON");
dropdownClip.addItem("ALCATEL", "ALCATEL");
dropdownClip.addItem("LG", "LG");
dropdownClip.addItem("NEC", "NEC");
dropdownClip.addItem("PANASONIC", "PANASONIC");
dropdownClip.addItem("SAGEM", "SAGEM");
dropdownClip.addItem("SIEMENS", "SIEMENS");
dropdownClip.addItem("SHARP", "SHARP");
dropdownClip.addItem("TRIUM", "TRIUM");
dropdownClip.addItem("HANDSPRING", "HANDSPRING");
dropdownClip.addItem("POGO", "POGO");
dropdownClip.setSelectedItem(0);
};
this.initDateDropdowns = function (dropdownYear, dropdownMonth, dropdownDay) {
dropdownDay.addItem("DD");
var _local1 = 1;
while (_local1 <= 31) {
dropdownDay.addItem(_local1, _local1);
_local1++;
}
dropdownDay.setSelectedIndex(0);
dropdownMonth.addItem("MM");
_local1 = 1;
while (_local1 <= 12) {
dropdownMonth.addItem(_local1, _local1);
_local1++;
}
dropdownMonth.setSelectedIndex(0);
dropdownYear.addItem("YYYY");
_local1 = 2007;
while (_local1 >= 1900) {
dropdownYear.addItem(_local1, _local1);
_local1--;
}
dropdownYear.setSelectedIndex(0);
};
};
initSounds();
_root.objSounds.play("voice-title");
var objSO = SharedObject.getLocal("hannainachoppa");
if (objSO.data.controls == undefined) {
objSO.data.sensitivity = "normal";
objSO.data.controls = "easy";
objSO.flush();
}
_root.controls = objSO.data.controls;
_root.sensitivity = objSO.data.sensitivity;
Frame 81
stop();
setupLevelIndicators(levels);
_root.objSounds.removeAllSources();
_root.objSounds.fadeTo("music", 90, 2);
_root.objSounds.stop("ratchet-loop");
_root.trackPoint("Section_picklevel");
Mouse.show();
Frame 91
stop();
Mouse.show();
Frame 101
stop();
Mouse.show();
setupAchievements();
_root.trackPoint("Section_achievements");
Frame 111
stop();
Mouse.show();
_root.trackPoint("Section_options");
Frame 121
stop();
Mouse.show();
_root.trackPoint("Section_feedback");
Frame 131
stop();
Mouse.show();
_root.objSounds.stop("ratchet-loop");
_root.trackPoint("Section_uberwin");
Frame 141
stop();
Mouse.show();
var objGame = new ChoppaGame(game);
_root.objSounds.fadeTo("music", 60, 2);
Frame 151
play();
Frame 152
_root.objTrans.curFrame = "game";
gotoAndStop ("game");
Frame 161
stop();
Mouse.show();
_root.trackPoint("Section_locked");
Symbol 9 Button
on (release) {
_level0.trackPoint("link_andkon");
getURL ("http://www.andkon.com/arcade/", "_blank");
}
Symbol 10 MovieClip Frame 95
stop();
_root.animComplete = true;
if (_root.loadingComplete) {
_root.loaderAnim.play();
}
Symbol 10 MovieClip Frame 118
stop();
_root.gotoAndStop("locktest");
Symbol 36 MovieClip Frame 1
gotoAndStop(Math.floor(Math.random() * (this._totalframes - 2)) + 2);
Symbol 37 MovieClip Frame 1
gotoAndPlay ("in");
Symbol 37 MovieClip Frame 58
stop();
Symbol 44 Button
on (release) {
_level0.trackPoint("Link_Deeperbeige");
getURL ("http://deeperbeige.com/games", "_blank");
}
Symbol 48 Button
on (release) {
if (_root.objSounds.sounds.music.playing) {
_root.objSounds.stop("music");
} else {
_root.objSounds.play("music", 70, true);
}
}
Symbol 51 Button
on (release) {
_root.objSounds.setMute(!_root.objSounds.muted);
}
Symbol 57 Button
on (release) {
_level0.trackPoint("link_andkon");
getURL ("http://www.andkon.com/arcade/", "_blank");
}
Symbol 61 MovieClip Frame 1
stop();
Symbol 61 MovieClip Frame 11
_root.objSounds.play("trans-hide");
Symbol 61 MovieClip Frame 23
stop();
Symbol 61 MovieClip Frame 34
_root.objSounds.play("trans-reveal");
Symbol 61 MovieClip Frame 47
stop();
Symbol 807 MovieClip [__Packages.com.mosesSupposes.fuse.Shortcuts] Frame 0
class com.mosesSupposes.fuse.Shortcuts
{
function Shortcuts () {
}
static function initialize() {
if (shortcuts == null) {
initShortcuts();
}
}
static function doShortcut(obj, methodName) {
initialize();
var _local5 = shortcuts[methodName];
if (_local5 == undefined) {
if (typeof(obj) == "movieclip") {
_local5 = mcshortcuts[methodName];
}
}
if (_local5 == undefined) {
return(null);
}
obj = arguments.shift();
methodName = String(arguments.shift());
if (!(obj instanceof Array)) {
obj = [obj];
}
var _local3 = "";
for (var _local6 in obj) {
var _local2 = String(_local5.apply(obj[_local6], arguments));
if ((_local2 != null) && (_local2.length > 0)) {
if (_local3.length > 0) {
_local3 = (_local2 + "|") + _local3;
} else {
_local3 = _local2;
}
}
}
return(((_local3 == "") ? null : (_local3)));
}
static function addShortcutsTo() {
initialize();
var _local5 = function (o, so) {
for (var _local5 in so) {
var _local2 = so[_local5];
if (_local2.getter || (_local2.setter)) {
o.addProperty(_local5, _local2.getter, _local2.setter);
_global.ASSetPropFlags(o, _local5, 3, 1);
} else {
o[_local5] = _local2;
_global.ASSetPropFlags(o, _local5, 7, 1);
}
}
};
for (var _local7 in arguments) {
var _local4 = arguments[_local7];
if ((_local4 == MovieClip.prototype) || (typeof(_local4) == "movieclip")) {
_local5(_local4, mcshortcuts);
}
_local5(_local4, shortcuts);
}
}
static function removeShortcutsFrom() {
initialize();
var _local5 = function (o, so) {
for (var _local5 in so) {
_global.ASSetPropFlags(o, _local5, 0, 2);
var _local2 = so[_local5];
if (_local2.getter || (_local2.setter)) {
o.addProperty(_local5, null, null);
}
delete o[_local5];
}
};
for (var _local7 in arguments) {
var _local3 = arguments[_local7];
if ((_local3 == MovieClip.prototype) || (typeof(_local3) == "movieclip")) {
_local5(_local3, mcshortcuts);
}
_local5(_local3, shortcuts);
}
}
static function parseStringTypeCallback(callbackStr) {
var evaluate = function (val) {
var first = val.charAt(0);
if ((first == val.slice(-1)) && ((first == "\"") || (first == "'"))) {
return(val.slice(1, -1));
}
if (val == "true") {
return(Object(true));
}
if (val == "false") {
return(Object(false));
}
if (val == "null") {
return(Object(null));
}
if (_global.isNaN(Number(val)) == false) {
return(Object(Number(val)));
}
return(Object(eval (val)));
};
var trimWhite = function (str) {
while (str.charAt(0) == " ") {
str = str.slice(1);
}
while (str.slice(-1) == " ") {
str = str.slice(0, -1);
}
return(str);
};
var evaluateList = function (list) {
var _local11 = [];
var _local4 = 0;
while (_local4 < list.length) {
var _local3 = list[_local4];
_local3 = trimWhite(_local3);
var _local5 = (_local3.charAt(0) == "{") && ((_local3.indexOf("}") > -1) || (_local3.indexOf(":") > -1));
var _local10 = _local3.charAt(0) == "[";
if ((_local5 || (_local10)) == true) {
var _local6 = ((_local5 == true) ? ({}) : ([]));
var _local2 = _local4;
while (_local2 < list.length) {
if (_local2 == _local4) {
_local3 = _local3.slice(1);
}
var _local1;
var _local8 = (_local1.slice(-1) == ((_local5 == true) ? "}" : "]")) || (_local2 == (list.length - 1));
if (_local8 == true) {
_local1 = _local1.slice(0, -1);
}
if ((_local5 == true) && (_local1.indexOf(":") > -1)) {
var _local7 = _local1.split(":");
_local6[trimWhite(_local7[0])] = evaluate(trimWhite(_local7[1]));
} else if (_local10 == true) {
_local6.push(evaluate(trimWhite(_local1)));
}
if (_local8 == true) {
_local11.push(_local6);
_local4 = _local2;
break;
}
_local2++;
}
} else {
_local11.push(evaluate(trimWhite(_local3)));
}
_local4++;
}
return(_local11);
};
var parts = callbackStr.split("(");
var p0 = parts[0];
var p1 = parts[1];
return({func:p0.slice(p0.lastIndexOf(".") + 1), scope:eval (p0.slice(0, p0.lastIndexOf("."))), args:evaluateList(p1.slice(0, p1.lastIndexOf(")")).split(","))});
}
static function initShortcuts() {
shortcuts = new Object();
var methods = {alphaTo:"_alpha", scaleTo:"_scale", sizeTo:"_size", rotateTo:"_rotation", brightnessTo:"_brightness", brightOffsetTo:"_brightOffset", contrastTo:"_contrast", colorTo:"_tint", tintPercentTo:"_tintPercent", colorResetTo:"_colorReset", invertColorTo:"_invertColor"};
var _local4 = _global.com.mosesSupposes.fuse.FuseFMP.getAllShortcuts();
var _local7 = {blur:1, blurX:1, blurY:1, strength:1, shadowAlpha:1, highlightAlpha:1, angle:1, distance:1, alpha:1, color:1};
for (var _local9 in _local4) {
if (_local7[_local4[_local9].split("_")[1]] === 1) {
methods[_local4[_local9] + "To"] = _local4[_local9];
}
}
var _local8 = {__resolve:function (name) {
var propName = methods[name];
return(function () {
var _local4 = _global.com.mosesSupposes.fuse.ZigoEngine.doTween.apply(com.mosesSupposes.fuse.ZigoEngine, new Array(this, propName).concat(arguments));
return(_local4);
});
}};
var _local5 = {__resolve:function (name) {
var _local3 = {setter:function (v) {
_global.com.mosesSupposes.fuse.ZigoEngine.doTween(this, ((name == "_tintString") ? "_tint" : (name)), v, 0);
}};
switch (name) {
case "_colorReset" :
_local3.getter = function () {
return(100 - _global.com.mosesSupposes.fuse.ZigoEngine.getColorKeysObj(this).tintPercent);
};
break;
case "_colorTransform" :
_local3.getter = function () {
return(Color(new Color(this)).getTransform());
};
break;
case "_fade" :
_local3.getter = function () {
return(this._alpha);
};
break;
case "_size" :
_local3.getter = function () {
return(((this._width == this._height) ? (this._width) : null));
};
break;
case "_scale" :
_local3.getter = function () {
return(((this._xscale == this._yscale) ? (this._xscale) : null));
};
break;
default :
_local3.getter = function () {
return(_global.com.mosesSupposes.fuse.ZigoEngine.getColorKeysObj(this)[name.slice(1)]);
};
}
return(_local3);
}};
for (var _local9 in methods) {
shortcuts[_local9] = _local8[_local9];
if ((_local9 != "alphaTo") && (_local9 != "rotateTo")) {
shortcuts[methods[_local9]] = _local5[methods[_local9]];
}
}
shortcuts._tintString = _local5._tintString;
shortcuts._colorTransform = _local5._colorTransform;
shortcuts._fade = _local5._fade;
shortcuts.tween = function (props, endVals, seconds, ease, delay, callback) {
if ((arguments.length == 1) && (typeof(props) == "object")) {
return(com.mosesSupposes.fuse.ZigoEngine.doTween({target:this, action:props}));
}
return(com.mosesSupposes.fuse.ZigoEngine.doTween(this, props, endVals, seconds, ease, delay, callback));
};
shortcuts.removeTween = (shortcuts.stopTween = function (props) {
com.mosesSupposes.fuse.ZigoEngine.removeTween(this, props);
});
shortcuts.removeAllTweens = (shortcuts.stopAllTweens = function () {
com.mosesSupposes.fuse.ZigoEngine.removeTween("ALL");
});
shortcuts.isTweening = function (prop) {
return(com.mosesSupposes.fuse.ZigoEngine.isTweening(this, prop));
};
shortcuts.getTweens = function () {
return(com.mosesSupposes.fuse.ZigoEngine.getTweens(this));
};
shortcuts.lockTween = function () {
com.mosesSupposes.fuse.ZigoEngine.lockTween(this, true);
};
shortcuts.unlockTween = function () {
com.mosesSupposes.fuse.ZigoEngine.lockTween(this, false);
};
shortcuts.isTweenLocked = function () {
return(com.mosesSupposes.fuse.ZigoEngine.isTweenLocked(this));
};
shortcuts.isTweenPaused = function (prop) {
return(com.mosesSupposes.fuse.ZigoEngine.isTweenPaused(this, prop));
};
shortcuts.pauseTween = function (props) {
com.mosesSupposes.fuse.ZigoEngine.pauseTween(this, props);
};
shortcuts.resumeTween = (shortcuts.unpauseTween = function (props) {
com.mosesSupposes.fuse.ZigoEngine.unpauseTween(this, props);
});
shortcuts.pauseAllTweens = function () {
com.mosesSupposes.fuse.ZigoEngine.pauseTween("ALL");
};
shortcuts.resumeAllTweens = (shortcuts.unpauseAllTweens = function () {
com.mosesSupposes.fuse.ZigoEngine.unpauseTween("ALL");
});
shortcuts.ffTween = function (props) {
com.mosesSupposes.fuse.ZigoEngine.ffTween(this, props);
};
shortcuts.rewTween = function (props, suppressStartEvents) {
com.mosesSupposes.fuse.ZigoEngine.rewTween(this, props, false, suppressStartEvents);
};
shortcuts.rewAndPauseTween = function (props, suppressStartEvents) {
com.mosesSupposes.fuse.ZigoEngine.rewTween(this, props, true, suppressStartEvents);
};
shortcuts.skipTweenTo = function (seconds, props) {
com.mosesSupposes.fuse.ZigoEngine.skipTweenTo(seconds, this, props);
};
shortcuts.bezierTo = function (destX, destY, controlX, controlY, seconds, ease, delay, callback) {
return(com.mosesSupposes.fuse.ZigoEngine.doTween(this, "_bezier_", {x:destX, y:destY, controlX:controlX, controlY:controlY}, seconds, ease, delay, callback));
};
shortcuts.colorTransformTo = function (ra, rb, ga, gb, ba, bb, aa, ab, seconds, ease, delay, callback) {
return(com.mosesSupposes.fuse.ZigoEngine.doTween(this, "_colorTransform", {ra:ra, rb:rb, ga:ga, gb:gb, ba:ba, bb:bb, aa:aa, ab:ab}, seconds, ease, delay, callback));
};
shortcuts.tintTo = function (rgb, percent, seconds, ease, delay, callback) {
return(com.mosesSupposes.fuse.ZigoEngine.doTween(this, "_tint", {tint:rgb, percent:percent}, seconds, ease, delay, callback));
};
shortcuts.slideTo = function (destX, destY, seconds, ease, delay, callback) {
return(com.mosesSupposes.fuse.ZigoEngine.doTween(this, "_x,_y", [destX, destY], seconds, ease, delay, callback));
};
shortcuts.fadeIn = function (seconds, ease, delay, callback) {
return(com.mosesSupposes.fuse.ZigoEngine.doTween(this, "_fade", 100, seconds, ease, delay, callback));
};
shortcuts.fadeOut = function (seconds, ease, delay, callback) {
return(com.mosesSupposes.fuse.ZigoEngine.doTween(this, "_fade", 0, seconds, ease, delay, callback));
};
mcshortcuts = new Object();
mcshortcuts._frame = {getter:function () {
return(this._currentframe);
}, setter:function (v) {
this.gotoAndStop(Math.round(v));
}};
mcshortcuts.frameTo = function (endframe, seconds, ease, delay, callback) {
return(com.mosesSupposes.fuse.ZigoEngine.doTween(this, "_frame", ((endframe != undefined) ? (endframe) : (this._totalframes)), seconds, ease, delay, callback));
};
}
static var registryKey = "shortcuts";
static var shortcuts = null;
static var mcshortcuts = null;
}
Symbol 808 MovieClip [__Packages.com.mosesSupposes.fuse.FuseKitCommon] Frame 0
class com.mosesSupposes.fuse.FuseKitCommon
{
static var logOutput;
function FuseKitCommon () {
}
static function _cts() {
return("|_tint|_tintPercent|_brightness|_brightOffset|_contrast|_invertColor|_colorReset|_colorTransform|");
}
static function _resetTo100() {
return("|_alpha|_contrast|_invertColor|_tintPercent|_xscale|_yscale|_scale|");
}
static function _resetTo0() {
return("|_brightness|_brightOffset|_colorReset|_rotation|");
}
static function _underscoreable() {
return(_cts() + "_frame|_x|_y|_xscale|_yscale|_scale|_width|_height|_size|_rotation|_alpha|_fade|_visible|");
}
static function _cbprops() {
return("|skipLevel|cycles|roundResults|extra1|extra2|func|scope|args|startfunc|startscope|startargs|updfunc|updscope|updargs|");
}
static function _fuseEvents() {
return("|onStart|onStop|onPause|onResume|onAdvance|onComplete|");
}
static function _fuseprops() {
return("|command|label|delay|event|eventparams|target|addTarget|trigger|startAt|ease|easing|seconds|duration|time|");
}
static function _validateFuseCommand(c, inGroup, hasArg, outputLevel, simple) {
var _local1 = false;
var _local2 = false;
switch (c) {
case "start" :
case "stop" :
case "pause" :
case "resume" :
case "setStartProps" :
if (inGroup != true) {
_local1 = true;
}
break;
case "delay" :
case "trigger" :
if (simple == true) {
if (hasArg == true) {
_local1 = true;
}
} else {
_local2 = true;
}
inGroup = false;
break;
case "skipTo" :
if (!((hasArg == true) && (inGroup != true))) {
break;
}
_local1 = true;
}
if ((outputLevel > 0) && (_local1 == false)) {
error("109", c, inGroup, _local2);
}
return(_local1);
}
static function output(s) {
if (typeof(logOutput) == "function") {
logOutput(s);
} else {
trace(s);
}
}
static function error(errorCode) {
var _local3 = arguments[1];
var _local4 = arguments[2];
var _local6 = arguments[3];
if (VERBOSE != true) {
output(("[FuseKitCommon#" + errorCode) + "]");
return(undefined);
}
var _local2 = "";
var _local5 = newline;
switch (errorCode) {
case "001" :
_local2 = _local2 + "** ERROR: When using simpleSetup to extend prototypes, you must pass the Shortcuts class. **";
_local2 = _local2 + (_local5 + " import com.mosesSupposes.fuse.*;");
_local2 = _local2 + ((_local5 + " ZigoEngine.simpleSetup(Shortcuts);") + _local5);
break;
case "002" :
_local2 = _local2 + "** ZigoEngine.doShortcut: shortcuts missing. Use the setup commands: import com.mosesSupposes.fuse.*; ZigoEngine.register(Shortcuts); **";
break;
case "003" :
_local2 = _local2 + ((_local5 + "*** Error: DO NOT use #include \"lmc_tween.as\" with this version of ZigoEngine! ***") + _local5);
break;
case "004" :
_local2 = _local2 + (("** ZigoEngine.doTween - too few arguments [" + _local3) + "].");
if (Boolean(_local4) == true) {
_local2 = _local2 + " If you are trying to use Object Syntax without Fuse, pass FuseItem in your register() or simpleSetup() call. **";
} else {
_local2 = _local2 + " Object syntax call failed. **";
}
break;
case "005" :
_local2 = _local2 + (((("** ZigoEngine.doTween - missing targets[" + _local3) + "] and/or props[") + _local4) + "] **");
break;
case "006" :
_local2 = _local2 + (("** Error: easing shortcut string not recognized (\"" + _local3) + "\"). You may need to pass the in PennerEasing class during register or simpleSetup. **");
break;
case "007" :
_local2 = _local2 + (((("- ZigoEngine: Target locked [" + _local3) + "], ignoring tween call [") + _local4) + "]");
break;
case "008" :
_local2 = _local2 + "** You must register the Shortcuts class in order to use easy string-type callback parsing. **";
break;
case "009" :
_local2 = _local2 + (("** ZigoEngine: A callback parameter \"" + _local3) + "\" was not recognized. **");
break;
case "010" :
_local2 = _local2 + ((((("** " + ((_local3 == true) ? "ZigoEngine" : "FuseItem")) + " unable to parse ") + ((_local4 == 1) ? "callback[" : (String(_local4) + " callbacks["))) + _local6) + "]. Try using the syntax {scope:this, func:\"myFunction\"} **");
break;
case "011" :
_local2 = _local2 + (((("- ZigoEngine: Callbacks discarded via skipLevel 2 option [" + _local3) + "|") + _local4) + "].");
break;
case "012" :
_local2 = _local2 + (((((("- Engine set props or ignored no-change tween on: " + _local3) + ", props passed:[") + _local4) + "], endvals passed:[") + _local6) + "]");
break;
case "013" :
_local2 = _local2 + (((((("- Engine added tween on:\n\ttargets:[" + _local3) + "]\n\tprops:[") + _local4) + "]\n\tendvals:[") + _local6) + "]");
break;
case "014" :
_local2 = _local2 + "** Error: easing function passed is not usable with this engine. Functions need to follow the Robert Penner model. **";
break;
case "015" :
_local2 = _local2 + "** Error: The CustomEasing class must be passed during setup (register or simpleSetup) to use custom easing Arrays. **";
break;
case "016" :
_local2 = _local2 + (("[ ZigoEngine.TIME_MULTIPLIER: " + String(Number(Number(_local3) * 100))) + "% ]");
break;
case "101" :
_local2 = _local2 + "** ERROR: Fuse simpleSetup was removed in version 2.0! **";
_local2 = _local2 + (_local5 + " You must now use the following commands:");
_local2 = _local2 + ((_local5 + _local5) + "\timport com.mosesSupposes.fuse.*;");
_local2 = _local2 + (_local5 + "\tZigoEngine.simpleSetup(Shortcuts, PennerEasing, Fuse);");
_local2 = _local2 + ((_local5 + "Note that PennerEasing is optional, and FuseFMP is also accepted. (FuseFMP.simpleSetup is run automatically if included.)") + _local5);
break;
case "102" :
_local2 = _local2 + (((("** Fuse " + _local3) + " index or label not found (") + _local4) + ") or out of range. **");
break;
case "103" :
_local2 = _local2 + (((("** Fuse skipTo (" + _local3) + ") ignored - targets the current index (") + _local4) + "). **");
break;
case "104" :
_local2 = _local2 + (("** Fuse fastForward index out of play range (" + _local3) + ") - skipTo has been called instead. **");
break;
case "105" :
_local2 = _local2 + "** An unsupported Array method was called on Fuse. **";
break;
case "106" :
_local2 = _local2 + "** ERROR: You have not set up Fuse correctly. **";
_local2 = _local2 + (_local5 + "You must now use the following commands (PennerEasing is optional).");
_local2 = _local2 + (_local5 + "\timport com.mosesSupposes.fuse.*;");
_local2 = _local2 + ((_local5 + "\tZigoEngine.simpleSetup(Shortcuts, PennerEasing, Fuse);") + _local5);
break;
case "107" :
_local2 = _local2 + "** Fuse :: id not found - Aborting open(). **";
break;
case "108" :
_local2 = _local2 + "** Fuse.startRecent: No recent Fuse found to start! **";
break;
case "109" :
_local2 = _local2 + (("** Command \"" + _local3) + "\" discarded. ");
if (_local4 == true) {
_local2 = _local2 + "Not allowed within a group. **";
} else if (_local6 == true) {
_local2 = _local2 + (("Not supported in Object Syntax, use the " + _local3) + " property instead. **");
} else {
_local2 = _local2 + "The command may be unrecognized or missing an argument. **";
}
break;
case "110" :
_local2 = _local2 + (((("** " + _local3) + " illegal Fuse property discarded:\"") + _local4) + "\". Bezier keywords other than x and y cannot be set as start values. **");
break;
case "112" :
_local2 = _local2 + "** Fuse: missing com.mosesSupposes.fuse.ZigoEngine! Cannot tween. **";
break;
case "113" :
_local2 = _local2 + "** FuseItem: A callback has been discarded. Actions with a command may only contain: label, delay, scope, args. **";
break;
case "115" :
_local2 = _local2 + ((_local3 + " overlapping prop discarded: ") + _local4);
break;
case "116" :
_local2 = _local2 + ("** FuseItem Error: Delays within groups (arrays) and start/update callbacks are not supported when using Fuse without ZigoEngine. Although you need to restructure your Fuse, it should be possible to achieve the same results. **" + _local5);
break;
case "117" :
_local2 = _local2 + (("** " + _local3) + ": infinite cycles are not allowed within Fuses - discarded. **");
break;
case "118" :
_local2 = _local2 + ((("** " + _local3) + ": No targets found!") + ((_local4 == true) ? " [Unable to set start props] **" : " [Skipping tween parameters in this action] **"));
break;
case "119" :
_local2 = _local2 + ((((("** " + _local3) + ": ") + ((_local4 == 1) ? "" : (_local4 + " actions in the group"))) + " missing targets") + ((_local6 == true) ? " during setStartProps **" : " **"));
break;
case "120" :
_local2 = _local2 + (((("** " + _local3) + ": conflict with \"") + _local4) + "\". Property might be doubled within a grouped-action array. **");
break;
case "121" :
_local2 = _local2 + "** Fuse timecode formatting requires \"00:\" formatting (example:\"01:01:33\" yields 61.33 seconds.) **";
break;
case "122" :
_local2 = _local2 + (("** Event \"" + _local3) + "\" reserved by Fuse. **");
break;
case "123" :
_local2 = _local2 + (("** A Fuse event parameter failed in " + _local3) + " **");
break;
case "124" :
_local2 = _local2 + (((("** " + _local3) + ": trigger:") + _local4) + " ignored - only one trigger is allowed per action **");
break;
case "125" :
_local2 = _local2 + (_local3 + " Warning - fastForward hit an item during its tween cycle, may malfunction.");
break;
case "201" :
_local2 = _local2 + (("**** FuseFMP cannot initialize argument " + _local3) + " (BitmapFilters cannot be applied to this object type) ****");
break;
case "202" :
_local2 = _local2 + (((("** FuseFMP error: A " + _local3) + " could not be created for ") + _local4) + " **");
break;
case "203" :
_local2 = _local2 + (("** FuseFMP.setFilterProps - too few arguments passed (" + _local3) + ") - minimum 2 required. **");
break;
case "204" :
_local2 = _local2 + (("** FuseFMP.setFilterProps could not locate the filter passed. (" + _local3) + ") **");
}
output(_local2);
}
static function parseCallback(callback, targets, outputLevel, callerIsEngine, addprefix) {
if (callback._vcb == true) {
return(callback);
}
var validCBs = {_vcb:true, skipLevel:_global.com.mosesSupposes.fuse.ZigoEngine.SKIP_LEVEL, cycles:1};
if (callback == undefined) {
return(validCBs);
}
var cbErrors = [];
if (typeof(callback) == "object") {
if (((callback.skipLevel != undefined) && (typeof(callback.skipLevel) == "number")) && (callback.skipLevel != _global.com.mosesSupposes.fuse.ZigoEngine.SKIP_LEVEL)) {
if ((callback.skipLevel >= 0) && (callback.skipLevel <= 2)) {
validCBs.skipLevel = callback.skipLevel;
}
}
if (callback.cycles != undefined) {
if ((typeof(callback.cycles) == "number") && (callback.cycles > -1)) {
validCBs.cycles = callback.cycles;
} else if (callback.cycles.toUpperCase() == "LOOP") {
validCBs.cycles = 0;
}
}
if (callback.extra1 != undefined) {
validCBs.extra1 = callback.extra1;
}
if (callback.extra2 != undefined) {
validCBs.extra2 = callback.extra2;
}
if ((callback.roundResults === true) || (callback.roundResults === false)) {
validCBs.roundResults = callback.roundResults;
}
} else {
callback = {func:callback};
}
var prefixes = ["start", "upd", ""];
var easyfuncparse = _global.com.mosesSupposes.fuse.Shortcuts.parseStringTypeCallback;
for (var i in prefixes) {
var prefix = prefixes[i];
var fstr = callback[prefix + "func"];
if (((fstr != undefined) && (typeof(fstr) == "string")) && (fstr.indexOf("(") > -1)) {
if (easyfuncparse != undefined) {
var efc = easyfuncparse(fstr);
if (efc.func != undefined) {
callback[prefix + "scope"] = efc.scope;
callback[prefix + "func"] = efc.func;
callback[prefix + "args"] = efc.args;
}
} else if (outputLevel > 0) {
error("008");
}
}
}
var basescope = callback.scope;
for (var i in callback) {
var fi = i.toLowerCase().indexOf("func");
if (fi > -1) {
var prefix = i.slice(0, fi);
var func = callback[i];
var args = callback[prefix + "args"];
var scope = ((callback[prefix + "scope"] == undefined) ? (basescope) : (callback[prefix + "scope"]));
if ((typeof(func) == "string") && (scope[func] == undefined)) {
for (var j in targets) {
var targ = targets[j];
if (typeof(targ[func]) == "function") {
scope = targ;
break;
}
if (typeof(targ._parent[func]) == "function") {
scope = targ._parent;
break;
}
}
if ((scope == undefined) && (_level0[func] != undefined)) {
scope = _level0;
}
if ((scope == undefined) && (_global[func] != undefined)) {
scope = _global;
}
}
if (typeof(func) != "function") {
if (typeof(scope[String(func)]) == "function") {
func = scope[String(func)];
} else {
func = eval (String(func));
}
}
if (func == undefined) {
cbErrors.push(String((((((((addprefix == null) ? (i) : (addprefix + i)) + ":") + ((typeof(callback[i]) == "string") ? (("\"" + callback[i]) + "\"") : (callback[i]))) + "/") + prefix) + "scope:") + scope));
} else {
if ((args != undefined) && (!(args instanceof Array))) {
args = [args];
}
if (prefix == "") {
prefix = "end";
}
validCBs[prefix] = {s:scope, f:func, a:args};
if (callerIsEngine == true) {
validCBs[prefix].id = ++cbTicker;
}
if (prefix == "start") {
validCBs.start.fired = false;
}
}
} else if (_cbprops().indexOf(("|" + i) + "|") == -1) {
error("009", i);
}
}
if ((cbErrors.length > 0) && (outputLevel > 0)) {
if (outputLevel > 0) {
error("010", callerIsEngine, cbErrors.length, cbErrors.toString());
}
}
return(validCBs);
}
static var VERSION = "Fuse Kit 2.1.3r1 Copyright (c) 2006 Moses Gunesch, MosesSupposes.com under MIT Open Source License";
static var VERBOSE = true;
static var ALL = "ALL";
static var ALLCOLOR = "ALLCOLOR";
static var cbTicker = 0;
}
Symbol 809 MovieClip [__Packages.com.mosesSupposes.fuse.ZigoEngine] Frame 0
class com.mosesSupposes.fuse.ZigoEngine
{
static var extensions, updateTime, tweenHolder, instance, _listeners, broadcastMessage, updateIntId;
function ZigoEngine () {
}
static function addListener(handler) {
AsBroadcaster.initialize(com.mosesSupposes.fuse.ZigoEngine);
addListener(handler);
}
static function removeListener(handler) {
}
static function isPlaying() {
return(_playing);
}
static function simpleSetup(shortcutsClass) {
if (arguments.length > 0) {
register.apply(com.mosesSupposes.fuse.ZigoEngine, arguments);
}
_global.ZigoEngine = com.mosesSupposes.fuse.ZigoEngine;
if (extensions.fuse != undefined) {
_global.Fuse = extensions.fuse;
}
if (extensions.fuseFMP != undefined) {
extensions.fuseFMP.simpleSetup();
}
initialize(MovieClip.prototype, Button.prototype, TextField.prototype);
if (extensions.shortcuts == undefined) {
com.mosesSupposes.fuse.FuseKitCommon.error("001");
}
}
static function register(classReference) {
if (extensions == undefined) {
extensions = {};
}
var _local3 = "|fuse|fuseItem|fuseFMP|shortcuts|pennerEasing|customEasing|";
for (var _local4 in arguments) {
var _local2 = arguments[_local4].registryKey;
if ((extensions[_local2] == undefined) && (_local3.indexOf(("|" + _local2) + "|") > -1)) {
extensions[_local2] = arguments[_local4];
if ((_local2 == "fuseFMP") || (_local2 == "shortcuts")) {
Object(extensions[_local2]).initialize();
}
}
}
}
static function initialize(target) {
if (arguments.length > 0) {
initializeTargets.apply(com.mosesSupposes.fuse.ZigoEngine, arguments);
if (extensions.shortcuts != undefined) {
extensions.shortcuts.addShortcutsTo.apply(extensions.shortcuts, arguments);
}
}
}
static function deinitialize(target) {
if ((arguments.length == 0) || (target == null)) {
arguments.push(MovieClip.prototype, Button.prototype, TextField.prototype);
}
deinitializeTargets.apply(com.mosesSupposes.fuse.ZigoEngine, arguments);
if (extensions.shortcuts != undefined) {
extensions.shortcuts.removeShortcutsFrom.apply(extensions.shortcuts, arguments);
}
}
static function getUpdateInterval() {
return(updateTime);
}
static function setUpdateInterval(time) {
if (_playing) {
setup(true);
updateTime = time;
setup();
} else {
updateTime = time;
}
}
static function getControllerDepth() {
return(tweenHolder.getDepth());
}
static function setControllerDepth(depth) {
if ((depth == null) || (_global.isNaN(depth) == true)) {
depth = 6789;
}
if (Object(tweenHolder).proof != null) {
tweenHolder.swapDepths(depth);
} else {
tweenHolder = _root.createEmptyMovieClip("ZigoEnginePulse", depth);
}
}
static function doShortcut(targets, methodName) {
if (extensions.shortcuts == undefined) {
if (OUTPUT_LEVEL > 0) {
com.mosesSupposes.fuse.FuseKitCommon.error("002");
}
return(null);
}
return(extensions.shortcuts.doShortcut.apply(extensions.shortcuts, arguments));
}
static function doTween(targets, props, endvals, seconds, ease, delay, callback) {
if (extensions.fuse.addBuildItem(arguments) == true) {
return(null);
}
if (TIME_MULTIPLIER != prevTimeMult) {
TIME_MULTIPLIER = Math.abs(TIME_MULTIPLIER);
if (_global.isNaN(TIME_MULTIPLIER) == true) {
TIME_MULTIPLIER = 1;
}
if (OUTPUT_LEVEL > 0) {
com.mosesSupposes.fuse.FuseKitCommon.error("016", TIME_MULTIPLIER);
}
prevTimeMult = TIME_MULTIPLIER;
}
if ((instance == undefined) || ((Object(tweenHolder).proof == undefined) && (updateTime == undefined))) {
if ((MovieClip.prototype.tween != null) && (typeof(_global.$tweenManager) == "object")) {
com.mosesSupposes.fuse.FuseKitCommon.error("003");
}
instance = new com.mosesSupposes.fuse.ZManager();
_playing = false;
}
var _local4 = instance.paramsObj(targets, props, endvals, true);
var _local7 = (((_local4.tg[0] == null) || (_local4.tg.length == 0)) ? undefined : (_local4.tg));
if (((_local4.pa == undefined) || (_local7 == undefined)) || (arguments.length < 3)) {
if (((extensions.fuseItem != null) && (arguments.length == 1)) && (typeof(arguments[0]) == "object")) {
return(extensions.fuseItem.doTween(arguments[0]));
}
if (OUTPUT_LEVEL > 0) {
if (arguments.length < 3) {
com.mosesSupposes.fuse.FuseKitCommon.error("004", (((arguments.length == 1) && (arguments[0] == null)) ? "1 (null)" : (String(arguments.length))), Boolean(extensions.fuseItem == null));
} else {
com.mosesSupposes.fuse.FuseKitCommon.error("005", _local7.toString(), _local4.pa.toString());
}
}
return(null);
}
if (_playing != true) {
setup();
}
if ((seconds == null) || (_global.isNaN(seconds) == true)) {
seconds = DURATION || 1;
} else if (seconds < 0.01) {
seconds = 0;
}
seconds = seconds * TIME_MULTIPLIER;
if (((delay < 0.01) || (delay == null)) || (_global.isNaN(delay) == true)) {
delay = 0;
}
delay = delay * TIME_MULTIPLIER;
var _local12 = com.mosesSupposes.fuse.FuseKitCommon.parseCallback(callback, _local7, OUTPUT_LEVEL, true);
var _local9;
if (typeof(ease) == "function") {
if (typeof(Function(ease).call(null, 1, 1, 1, 1)) == "number") {
_local9 = Function(ease);
} else if (OUTPUT_LEVEL > 0) {
com.mosesSupposes.fuse.FuseKitCommon.error("014", ease);
}
} else if ((ease == null) || (ease == "")) {
if (EASING instanceof Function) {
_local9 = Function(EASING);
} else if (extensions.pennerEasing != undefined) {
ease = EASING;
}
}
if ((typeof(ease) == "string") && (ease != "")) {
if (extensions.pennerEasing[ease] != undefined) {
_local9 = extensions.pennerEasing[ease];
} else if (OUTPUT_LEVEL > 0) {
com.mosesSupposes.fuse.FuseKitCommon.error("006", ease);
}
} else if (ease instanceof Array) {
if (extensions.customEasing != undefined) {
_local12.extra1 = ease;
if (typeof(ease[0]) == "number") {
_local9 = extensions.customEasing.precalced;
} else {
_local9 = extensions.customEasing.fromCurve;
}
} else if (OUTPUT_LEVEL > 0) {
com.mosesSupposes.fuse.FuseKitCommon.error("015", ease);
}
}
if (typeof(_local9) != "function") {
_local9 = function (t, b, c, d) {
t = (t / d) - 1;
return((c * (((((t * t) * t) * t) * t) + 1)) + b);
};
}
if (_listeners.length > 0) {
broadcastMessage.call(com.mosesSupposes.fuse.ZigoEngine, "onTweenAdd", _local7, _local4.pa, _local4.va, seconds, _local9, delay, _local12);
}
var _local6 = "";
for (var _local13 in _local7) {
var _local3 = _local7[_local13];
if (_local3.__zigoID__ == null) {
initializeTargets(_local3);
} else if (instance.getStatus("locked", _local3) == true) {
if (OUTPUT_LEVEL > 0) {
com.mosesSupposes.fuse.FuseKitCommon.error("007", ((_local3._name != undefined) ? (_local3._name) : (_local3.toString())), _local4.pa.toString());
}
continue;
}
var _local5 = instance.addTween(_local3, _local4.pa, _local4.va, seconds, _local9, delay, _local12);
_local6 = ((_local5 == null) ? "|" : (_local5 + "|")) + _local6;
}
_local6 = _local6.slice(0, -1);
return((((_local6 == "") || (_local6 == "|")) ? null : (_local6)));
}
static function removeTween(targs, props) {
instance.removeTween(targs, props);
}
static function isTweening(targ, prop) {
return(Boolean(instance.getStatus("active", targ, prop)));
}
static function getTweens(targ) {
if (instance == undefined) {
return(0);
}
return(Number(instance.getStatus("count", targ)));
}
static function lockTween(targ, setLocked) {
instance.alterTweens("lock", targ, setLocked == true);
}
static function isTweenLocked(targ) {
return(Boolean(instance.getStatus("locked", targ)));
}
static function ffTween(targs, props, suppressEndEvents) {
instance.alterTweens("ff", targs, props, null, suppressEndEvents);
}
static function skipTweenTo(seconds, targs, props) {
instance.alterTweens("skipTo", targs, props, false, false, seconds);
}
static function rewTween(targs, props, pauseFlag, suppressStartEvents) {
instance.alterTweens("rewind", targs, props, pauseFlag, suppressStartEvents);
}
static function isTweenPaused(targ, prop) {
return(Boolean(instance.getStatus("paused", targ, prop)));
}
static function pauseTween(targs, props) {
instance.alterTweens("pause", targs, props);
}
static function unpauseTween(targs, props) {
instance.alterTweens("unpause", targs, props);
}
static function resumeTween(targs, props) {
instance.alterTweens("unpause", targs, props);
}
static function setColorByKey(targetObj, type, amt, rgb) {
new Color(targetObj).setTransform(getColorTransObj(type, amt, rgb));
}
static function getColorTransObj(type, amt, rgb) {
switch (type) {
case "brightness" :
var _local3 = 100 - Math.abs(amt);
var _local4 = ((amt > 0) ? (255 * (amt / 100)) : 0);
return({ra:_local3, rb:_local4, ga:_local3, gb:_local4, ba:_local3, bb:_local4});
case "brightOffset" :
return({ra:100, rb:255 * (amt / 100), ga:100, gb:255 * (amt / 100), ba:100, bb:255 * (amt / 100)});
case "contrast" :
return({ra:amt, rb:128 - (1.28 * amt), ga:amt, gb:128 - (1.28 * amt), ba:amt, bb:128 - (1.28 * amt)});
case "invertColor" :
return({ra:100 - (2 * amt), rb:amt * 2.55, ga:100 - (2 * amt), gb:amt * 2.55, ba:100 - (2 * amt), bb:amt * 2.55});
case "tint" :
if (rgb == null) {
break;
}
var _local5;
if (typeof(rgb) == "string") {
if (rgb.charAt(0) == "#") {
rgb = rgb.slice(1);
}
rgb = ((rgb.charAt(1).toLowerCase() != "x") ? ("0x" + rgb) : (rgb));
}
_local5 = Number(rgb);
return({ra:100 - amt, rb:(_local5 >> 16) * (amt / 100), ga:100 - amt, gb:((_local5 >> 8) & 255) * (amt / 100), ba:100 - amt, bb:(_local5 & 255) * (amt / 100)});
}
return({rb:0, ra:100, gb:0, ga:100, bb:0, ba:100});
}
static function getColorKeysObj(targOrTransObj) {
var _local1 = ((targOrTransObj.ra != undefined) ? (targOrTransObj) : (new Color(targOrTransObj).getTransform()));
var _local6 = (_local1.ra == _local1.ga) && (_local1.ga == _local1.ba);
var _local8 = (_local1.rb == _local1.gb) && (_local1.gb == _local1.bb);
var _local3 = {tintPercent:Number(((_local6 == true) ? (100 - _local1.ra) : 0))};
if (_local3.tintPercent != 0) {
var _local5 = 100 / _local3.tintPercent;
_local3.tint = (((_local1.rb * _local5) << 16) | ((_local1.gb * _local5) << 8)) | (_local1.bb * _local5);
var _local2 = _local3.tint.toString(16);
var _local4 = 6 - _local2.length;
while ((_local4--) > 0) {
_local2 = "0" + _local2;
}
_local3.tintString = "0x" + _local2.toUpperCase();
}
if ((_local6 == true) && (_local8 == true)) {
if (_local1.ra < 0) {
_local3.invertColor = _local1.rb * 0.392156862745098;
} else if ((_local1.ra == 100) && (_local1.rb != 0)) {
_local3.brightOffset = _local1.rb * 0.392156862745098;
}
if (_local1.ra != 100) {
if ((_local1.rb == 0) || ((_local1.rb != 0) && (((255 * ((100 - _local1.ra) / 100)) - _local1.rb) <= 1))) {
_local3.brightness = ((_local1.rb != 0) ? (100 - _local1.ra) : (_local1.ra - 100));
}
if (((128 - (1.28 * _local1.ra)) - _local1.rb) <= 1) {
_local3.contrast = _local1.ra;
}
}
}
return(_local3);
}
static function initializeTargets() {
for (var _local5 in arguments) {
var _local4 = arguments[_local5];
if ((((_local4 == MovieClip.prototype) || (_local4 == Button.prototype)) || (_local4 == TextField.prototype)) || (_local4 == Object.prototype)) {
if (_local4.oldAddListener == undefined) {
if (_local4 == TextField.prototype) {
_local4.oldAddListener = _local4.addListener;
_global.ASSetPropFlags(_local4, "oldAddListener", 7, 1);
}
_local4.addListener = function (o) {
if (this.__zigoID__ == undefined) {
com.mosesSupposes.fuse.ZigoEngine.initializeTargets(this);
}
if (this instanceof TextField) {
Function(this.oldAddListener).call(this, o);
} else {
this.addListener(o);
}
};
if (_local4 == MovieClip.prototype) {
_global.ASSetPropFlags(_local4, "addListener", 7, 1);
}
}
} else if (_local4.__zigoID__ == undefined) {
_local4.__zigoID__ = zigoIDs;
_global.ASSetPropFlags(_local4, "__zigoID__", 7, 1);
zigoIDs++;
if ((_local4._listeners == null) || (_local4.addListener == null)) {
AsBroadcaster.initialize(_local4);
}
}
}
}
static function deinitializeTargets() {
for (var _local4 in arguments) {
var _local3 = arguments[_local4];
if (_local3.__zigoID__ != undefined) {
_global.ASSetPropFlags(_local3, "__zigoID__,_listeners,broadcastMessage,addListener,removeListener", 0, 2);
delete _local3.__zigoID__;
delete _local3._listeners;
delete _local3.broadcastMessage;
delete _local3.addListener;
delete _local3.removeListener;
}
if (_local3.oldAddListener != undefined) {
_global.ASSetPropFlags(_local3, "oldAddListener", 0, 2);
_local3.addListener = _local3.oldAddListener;
delete _local3.oldAddListener;
}
}
}
static function __mgrRelay(inst, method, args) {
if (inst == instance) {
Function(com.mosesSupposes.fuse.ZigoEngine[method]).apply(com.mosesSupposes.fuse.ZigoEngine, args);
}
}
static function setup(deinitFlag) {
if (deinitFlag == true) {
_playing = false;
clearInterval(updateIntId);
delete tweenHolder.onEnterFrame;
return(undefined);
}
instance.cleanUp();
clearInterval(updateIntId);
delete updateIntId;
if ((updateTime != null) && (updateTime > 0)) {
updateIntId = setInterval(instance, "update", updateTime);
} else {
if (Object(tweenHolder).proof == null) {
setControllerDepth(6789);
Object(tweenHolder).proof = 1;
}
var _inst = instance;
tweenHolder.onEnterFrame = function () {
_inst.update.call(_inst);
};
}
_playing = true;
instance.now = getTimer();
}
static var VERSION = com.mosesSupposes.fuse.FuseKitCommon.VERSION + ", ZigoEngine based on concepts by L.Zigo";
static var EASING = "easeOutQuint";
static var DURATION = 1;
static var TIME_MULTIPLIER = 1;
static var ROUND_RESULTS = false;
static var OUTPUT_LEVEL = 1;
static var AUTOSTOP = false;
static var SKIP_LEVEL = 0;
static var _playing = false;
static var zigoIDs = 0;
static var prevTimeMult = 1;
}
Symbol 810 MovieClip [__Packages.com.mosesSupposes.fuse.ZManager] Frame 0
class com.mosesSupposes.fuse.ZManager
{
var tweens, now;
function ZManager () {
tweens = {};
numTweens = 0;
}
function addTween(obj, props, endvals, seconds, ease, delay, callback) {
var _local24 = ((callback.skipLevel == undefined) ? 0 : (callback.skipLevel));
var _local44 = ((callback.cycles == undefined) ? 1 : (callback.cycles));
var _local30 = callback.extra1;
var _local29 = callback.extra2;
var _local23 = [];
var _local14 = _global.com.mosesSupposes.fuse.FuseFMP;
var _local43 = String(("|" + _local14.getAllShortcuts().join("|")) + "|");
var _local42 = com.mosesSupposes.fuse.FuseKitCommon._cts();
var _local25 = "";
var _local28 = "";
var _local22 = obj.__zigoID__;
var _local7 = tweens[String(_local22)];
if ((_local7 != undefined) && (com.mosesSupposes.fuse.ZigoEngine.AUTOSTOP == true)) {
if (obj._listeners.length > 0) {
for (var _local40 in _local7.props) {
_local23.unshift(_local40);
}
}
_local7.numProps = 0;
cleanUp(true);
}
for (var _local47 in props) {
var _local5 = props[_local47];
var _local4 = endvals[_local47];
var _local15 = 0;
if (_local5 == "_fade") {
_local5 = "_alpha";
_local15 = ((_local4 < 50) ? -1 : 1);
}
var _local16 = _local42.indexOf(("|" + _local5) + "|") > -1;
var _local18 = _local7.colorProp;
if (_local7 != undefined) {
if ((_local16 == true) && (_local18 != undefined)) {
_local23.unshift(_local18);
delete _local7.props[_local18];
delete _local7.colorProp;
_local7.numProps--;
} else if (_local7.props[_local5] != undefined) {
_local23.unshift(_local5);
delete _local7[_local5];
_local7.numProps--;
}
}
var _local3 = {c:-1, fmp:-1, complex:-1};
var _local11 = ((_local24 == 0) && ((seconds + delay) == 0)) || ((_local24 > 0) && (seconds == 0));
var _local10 = false;
var _local13 = (_local14 != undefined) && (_local43.indexOf(("|" + _local5) + "|") > -1);
var _local19 = (_local5.toLowerCase().indexOf("colors") > -1) && (_local4 instanceof Array);
var _local27 = ((_local13 == true) && (_local5.indexOf("lor") > -1)) && (_local5.charAt(2) != "l");
if (_local13 == true) {
_local3.fmp = _local14;
_local3.ps = _local14.getFilterProp(obj, _local5, true);
_local3.special = true;
}
if (((_local16 == true) || (_local19 == true)) || (_local27 && (_local11 == false))) {
_local3.complex = 1;
if (_local16 == true) {
_local3.c = new Color(obj);
_local3.ps = Color(_local3.c).getTransform();
var _local17 = ((((_local5 == "_tint") || (_local5 == "_tintPercent")) || (_local5 == "_colorReset")) ? "tint" : (_local5.slice(1)));
var _local9 = null;
var _local12 = null;
if (_local5 != "_colorTransform") {
if (_local17 == "tint") {
if (typeof(_local4) == "object") {
_local12 = _local4.tint;
_local9 = ((_global.isNaN(_local4.percent) == true) ? 100 : (_local4.percent));
} else if ((_local5 == "_tintPercent") || (_local5 == "_colorReset")) {
var _local20 = com.mosesSupposes.fuse.ZigoEngine.getColorKeysObj(obj).tintPercent;
if (_local5 == "_colorReset") {
_local9 = Math.min(_local20, 100 - Math.abs(Number(_local4)));
} else {
_local9 = ((typeof(_local4) == "string") ? ((_local20 || 0) + Number(_local4)) : Number(_local4));
}
_local9 = Math.max(0, Math.min(_local9, 100));
_local12 = com.mosesSupposes.fuse.ZigoEngine.getColorKeysObj(obj).tint || 0;
} else {
_local12 = _local4;
_local9 = 100;
}
} else {
_local9 = ((typeof(_local4) == "string") ? ((com.mosesSupposes.fuse.ZigoEngine.getColorKeysObj(obj)[_local17] || 0) + Number(_local4)) : (_local4));
}
_local4 = com.mosesSupposes.fuse.ZigoEngine.getColorTransObj(_local17, _local9, _local12);
}
if (_local11 == true) {
if (_local5 == "_colorTransform") {
Color(_local3.c).setTransform(_local4);
} else {
com.mosesSupposes.fuse.ZigoEngine.setColorByKey(obj, _local17, _local9, _local12);
}
} else {
var _local21 = getChangeObj(_local3.ps, _local4, false, false);
_local3.ch = _local21.map;
if (_local21.changed == true) {
_local10 = true;
}
}
} else if (_local11 == true) {
_local14.setFilterProp(obj, _local5, _local4);
} else if (_local19 == true) {
_local3.c = 2;
_local3.ch = [];
for (var _local40 in _local4) {
if (_local4[_local40] != null) {
if (_local3.ps == null) {
_local3.ps = [];
}
_local3.ps[_local40] = com.mosesSupposes.fuse.ZigoEngine.getColorTransObj("tint", 100, ((_local3.ps[_local40] == null) ? obj[_local5][_local40] : _local3.ps[_local40]));
var _local21 = getChangeObj(_local3.ps[_local40], com.mosesSupposes.fuse.ZigoEngine.getColorTransObj("tint", 100, _local4[_local40]), true, false);
_local3.ch[_local40] = _local21.map;
if (_local21.changed == true) {
_local10 = true;
}
}
}
} else {
_local3.c = 1;
_local3.ps = com.mosesSupposes.fuse.ZigoEngine.getColorTransObj("tint", 100, _local3.ps);
var _local21 = getChangeObj(_local3.ps, com.mosesSupposes.fuse.ZigoEngine.getColorTransObj("tint", 100, _local4), true, false);
_local3.ch = _local21.map;
if (_local21.changed == true) {
_local10 = true;
}
}
} else if (_local5 == "_bezier_") {
removeTween(obj, "_x,_y", true);
if (_local11 == true) {
if ((_local4.x != null) && (_global.isNaN(Number(_local4.x)) == false)) {
obj._x = ((typeof(_local4.x) == "string") ? (obj._x + Number(_local4.x)) : (_local4.x));
}
if ((_local4.y != null) && (_global.isNaN(Number(_local4.y)) == false)) {
obj._y = ((typeof(_local4.y) == "string") ? (obj._y + Number(_local4.y)) : (_local4.y));
}
} else {
_local3.special = true;
_local3.ps = 0;
_local3.ch = 1;
_local3.bz = {sx:obj._x, sy:obj._y};
if ((_local4.x == null) || (_global.isNaN(Number(_local4.x)))) {
_local4.x = _local3.bz.sx;
}
if ((_local4.y == null) || (_global.isNaN(Number(_local4.y)))) {
_local4.y = _local3.bz.sy;
}
_local3.bz.chx = ((typeof(_local4.x) == "string") ? (Number(_local4.x)) : (_local4.x - _local3.bz.sx));
if (_global.isNaN(_local3.bz.chx) == true) {
_local3.bx.chx = 0;
}
_local3.bz.chy = ((typeof(_local4.y) == "string") ? (Number(_local4.y)) : (_local4.y - _local3.bz.sy));
if (_global.isNaN(_local3.bz.chy) == true) {
_local3.bx.chy = 0;
}
if ((_local4.controlX == null) || (_global.isNaN(Number(_local4.controlX)))) {
_local3.bz.ctrlx = _local3.bz.sx + (_local3.bz.chx / 2);
} else {
_local3.bz.ctrlx = ((typeof(_local4.controlX) == "string") ? (_local3.bz.sx + Number(_local4.controlX)) : (_local4.controlX));
}
if ((_local4.controlY == null) || (_global.isNaN(Number(_local4.controlY)))) {
_local3.bz.ctrly = _local3.bz.sy + (_local3.bz.chy / 2);
} else {
_local3.bz.ctrly = ((typeof(_local4.controlY) == "string") ? (_local3.bz.sy + Number(_local4.controlY)) : (_local4.controlY));
}
_local3.bz.ctrlx = _local3.bz.ctrlx - _local3.bz.sx;
_local3.bz.ctrly = _local3.bz.ctrly - _local3.bz.sy;
_local10 = (_local3.bz.chx + _local3.bz.chy) != 0;
}
} else {
if (typeof(_local4) == "object") {
_local3.complex = ((_local4 instanceof Array) ? 0 : 1);
}
if ((_local5 == "_x") || (_local5 == "_y")) {
removeTween(obj, "_bezier_", true);
}
if ((_local5 == "_frame") && (typeof(obj) == "movieclip")) {
_local3.ps = obj._currentframe;
_local3.special = true;
} else if (_local13 == false) {
if (_local3.complex > -1) {
_local3.ps = ((_local3.complex == 0) ? ([]) : ({}));
for (var _local40 in _local4) {
_local3.ps[_local40] = obj[_local5][_local40];
}
} else {
_local3.ps = obj[_local5];
}
}
if (_local11 == true) {
if (_local13 == true) {
_local14.setFilterProp(obj, _local5, ((typeof(_local4) == "string") ? (_local3.ps + Number(_local4)) : (_local4)));
} else if (_local3.complex > -1) {
for (var _local40 in _local4) {
if ((_local4[_local40] != null) && (_global.isNaN(Number(_local4[_local40])) == false)) {
obj[_local5][_local40] = ((typeof(_local4[_local40]) == "string") ? (_local3.ps[_local40] + Number(_local4[_local40])) : _local4[_local40]);
if (_global.isNaN(obj[_local5][_local40]) == true) {
obj[_local5][_local40] = 0;
}
}
}
} else {
obj[_local5] = ((typeof(_local4) == "string") ? (_local3.ps + Number(_local4)) : (_local4));
if (_local15 == 1) {
obj._visible = true;
} else if (_local15 == -1) {
obj._visible = false;
}
}
} else if (_local3.complex > -1) {
var _local21 = getChangeObj(_local3.ps, _local4, _local13, _local3.complex == 0);
_local3.ch = _local21.map;
if (_local21.changed == true) {
_local10 = true;
}
} else {
if ((_local4 == null) || (_global.isNaN(Number(_local4)))) {
_local4 = _local3.ps;
}
_local3.ch = ((typeof(_local4) == "string") ? (Number(_local4)) : (Number(_local4) - _local3.ps));
if (_global.isNaN(_local3.ch) == true) {
_local3.ch = 0;
}
_local10 = _local3.ch != 0;
}
}
if (((_local24 == 0) && ((_local10 == true) || (_local11 == false))) || ((_local10 == true) && (_local11 == false))) {
if ((_local3.complex > -1) && (!(_local3.c === 2))) {
_local3.ps = [_local3.ps];
_local3.ch = [_local3.ch];
}
_local3.ts = now + (delay * 1000);
_local3.pt = -1;
_local3.d = seconds * 1000;
_local3.ef = ease;
_local3.sf = false;
_local3.cycles = _local44;
if (_local30 != undefined) {
_local3.e1 = _local30;
}
if (_local29 != undefined) {
_local3.e2 = _local29;
}
_local3.v = _local15;
if (callback.start != undefined) {
_local3.scb = callback.start;
}
if (callback.upd != undefined) {
_local3.ucb = callback.upd;
}
if (callback.end != undefined) {
_local3.ecb = callback.end;
}
if (callback.roundResults != undefined) {
_local3.rr = callback.roundResults;
}
if (tweens[String(_local22)] == undefined) {
_local7 = (tweens[String(_local22)] = {numProps:0, locked:false, targ:obj, targID:String(("\"" + ((obj._name != undefined) ? (obj._name) : (obj.toString()))) + "\""), targZID:_local22, props:{}});
numTweens++;
}
if (_local16 == true) {
_local7.colorProp = _local5;
}
_local7.props[_local5] = _local3;
_local7.numProps++;
_local25 = (_local5 + ",") + _local25;
_local28 = (((typeof(_local4) == "string") ? (("\"" + _local4) + "\"") : (_local4)) + ",") + _local28;
}
_local3 = undefined;
}
if ((_local7 == undefined) || (_local7.numProps <= 0)) {
cleanUp();
}
if ((_local23.length > 0) && (com.mosesSupposes.fuse.ZigoEngine._listeners.length > 0)) {
com.mosesSupposes.fuse.ZigoEngine.broadcastMessage("onTweenInterrupt", {target:obj, props:_local23, __zigoID__:_local22, during:"add"});
}
if (_local25 == "") {
if (_local24 == 2) {
if (com.mosesSupposes.fuse.ZigoEngine.OUTPUT_LEVEL == 2) {
com.mosesSupposes.fuse.FuseKitCommon.error("011", ((obj._name != undefined) ? (obj._name) : (obj.toString())), props.toString());
}
} else {
var _local48 = obj._listeners.length > 0;
if (_local48 == true) {
obj.broadcastMessage("onTweenStart", {target:obj, props:props});
}
if (callback.start != undefined) {
callback.start.f.apply(callback.start.s, callback.start.a);
}
if (_local48 == true) {
obj.broadcastMessage("onTweenUpdate", {target:obj, props:props});
}
if (callback.upd != undefined) {
callback.upd.f.apply(callback.upd.s, callback.upd.a);
}
if (_local48 == true) {
obj.broadcastMessage("onTweenEnd", {target:obj, props:props});
}
if (callback.end != undefined) {
callback.end.f.apply(callback.end.s, callback.end.a);
}
}
cleanUp();
}
if (com.mosesSupposes.fuse.ZigoEngine.OUTPUT_LEVEL == 2) {
if (_local25 == "") {
com.mosesSupposes.fuse.FuseKitCommon.error("012", ((obj._name != undefined) ? (obj._name) : (obj.toString())), props.toString(), endvals.toString());
} else {
com.mosesSupposes.fuse.FuseKitCommon.error("013", ((obj._name != undefined) ? (obj._name) : (obj.toString())), _local25.slice(0, -1), _local28.slice(0, -1));
}
}
return(((_local25 == "") ? null : (_local25.slice(0, -1))));
}
function removeTween(targs, props, noInit) {
var _local4 = {};
var _local12 = paramsObj(targs, props);
if (_local12.none == true) {
return(undefined);
}
var _local16 = _local12.all;
var _local17 = _local12.allprops;
var _local9 = ((_local16 == true) ? (tweens) : (Object(_local12.tg)));
var _local8 = false;
for (var _local20 in _local9) {
var _local3 = ((_local16 == true) ? (_local20) : (String(_local9[_local20].__zigoID__)));
var _local2 = tweens[_local3];
var _local6 = ((_local17 == true) ? (_local2.props) : (_local12.props));
for (var _local14 in _local6) {
var _local5 = (_local14 == com.mosesSupposes.fuse.FuseKitCommon.ALLCOLOR) && (_local2.colorProp != undefined);
if ((_local2.props[_local14] != undefined) || (_local5 == true)) {
if (_local4[_local3] == null) {
_local4[_local3] = [];
}
_local4[_local3].unshift(_local14);
if ((_local14 == _local2.colorProp) || (_local5 == true)) {
delete _local2.props[_local2.colorProp];
delete _local2.colorProp;
} else {
delete _local2.props[_local14];
}
_local2.numProps--;
if (_local2.numProps <= 0) {
_local8 = true;
break;
}
}
}
}
if (com.mosesSupposes.fuse.ZigoEngine._listeners.length > 0) {
for (var _local19 in _local4) {
var _local7 = tweens[_local19].targ;
com.mosesSupposes.fuse.ZigoEngine.broadcastMessage("onTweenInterrupt", {target:((typeof(_local7.addProperty) == "function") ? (_local7) : (("[MISSING(\"" + tweens[_local19].targID) + "\")]")), props:_local4[_local19], __zigoID__:tweens[_local19].targZID, during:((noInit == true) ? "add" : "remove")});
}
}
if (_local8 == true) {
cleanUp(noInit);
}
}
function alterTweens(type, targs, props, pauseFlag, noEvents, skipTo) {
if (type == "lock") {
tweens[String(targs.__zigoID__)].locked = props;
return(undefined);
}
var _local11 = paramsObj(targs, props);
if (_local11.none == true) {
return(undefined);
}
var _local14 = _local11.all;
var _local15 = _local11.allprops;
var _local9 = ((_local14 == true) ? (tweens) : (Object(_local11.tg)));
var _local8 = 0;
for (var _local16 in _local9) {
var _local7 = ((_local14 == true) ? (_local16) : (String(_local9[_local16].__zigoID__)));
var _local5 = tweens[_local7];
var _local4 = ((_local15 == true) ? (_local5.props) : (_local11.props));
if (_local4.ALLCOLOR == true) {
_local4[_local5.colorProp] = true;
delete _local4.ALLCOLOR;
}
for (var _local10 in _local4) {
_local8++;
var _local2 = _local5.props[_local10];
if (type == "rewind") {
if (pauseFlag == true) {
_local2.pt = now;
}
_local2.ts = now;
if (noEvents != true) {
_local2.sf = false;
if (_local2.scb != undefined) {
_local2.scb.fired = false;
}
}
} else if (type == "ff") {
if (noEvents == true) {
_local2.suppressEnd = true;
}
_local2.o = true;
_local2.pt = -1;
_local2.ts = now - _local2.d;
} else if (type == "skipTo") {
_local2.ts = Math.min(now, (_local2.ts + (now - _local2.ts)) - (skipTo * 1000));
} else if (type == "pause") {
if (_local2.pt == -1) {
_local2.pt = now;
}
} else if (type == "unpause") {
if (_local2.pt != -1) {
_local2.ts = now - (_local2.pt - _local2.ts);
_local2.pt = -1;
}
}
}
}
if ((type == "ff") && (_local8 > 0)) {
update();
} else if ((type == "rewind") && (_local8 > 0)) {
update(true);
}
}
function getStatus(type, targ, param) {
if (targ == null) {
return(null);
}
var _local8 = String(targ).toUpperCase() == com.mosesSupposes.fuse.FuseKitCommon.ALL;
var _local4 = tweens[String(targ.__zigoID__)];
switch (type) {
case "paused" :
var _local2 = _local4.props;
if (param != null) {
if (_local2[String(param)] == undefined) {
return(false);
}
return(Boolean(_local2[String(param)].pt != -1));
}
for (var _local6 in _local2) {
if (_local2[_local6].pt != -1) {
return(true);
}
}
return(false);
case "active" :
if (param == null) {
return(Boolean(_local4 != undefined));
}
if (String(param).toUpperCase() == com.mosesSupposes.fuse.FuseKitCommon.ALLCOLOR) {
return(Boolean(_local4.colorProp != undefined));
}
return(Boolean(_local4.props[String(param)] != undefined));
case "count" :
if (!_local8) {
return(_local4.numProps);
}
var _local3 = 0;
for (var _local6 in tweens) {
_local3 = _local3 + tweens[_local6].numProps;
}
return(_local3);
case "locked" :
return(_local4.locked);
}
}
function update(force) {
var _local22 = {};
var _local24 = {};
var _local23 = {};
var _local15 = {};
var _local13 = {};
var _local14 = {};
var _local26 = false;
var _local20 = com.mosesSupposes.fuse.ZigoEngine.ROUND_RESULTS;
for (var _local35 in tweens) {
var _local12 = tweens[_local35];
var _local5 = _local12.targ;
var _local34 = _local12.props;
var _local21 = _local5._listeners.length > 0;
if (_local5.__zigoID__ == undefined) {
_local26 = true;
if (com.mosesSupposes.fuse.ZigoEngine._listeners.length > 0) {
var _local25 = [];
for (var _local30 in _local34) {
_local25.unshift(_local30);
}
com.mosesSupposes.fuse.ZigoEngine.broadcastMessage("onTweenInterrupt", {target:((typeof(_local5.addProperty) == "function") ? (_local5) : (("[MISSING:" + _local12.targID) + "]")), props:_local25, __zigoID__:_local12.targZID, during:"update"});
}
continue;
}
for (var _local30 in _local34) {
var _local3 = _local34[_local30];
if (((_local3.ts > now) || (_local3.pt != -1)) && (force != true)) {
continue;
}
var _local9 = now >= (_local3.ts + _local3.d);
if (_local3.complex == -1) {
var _local6;
if (_local9 == true) {
_local6 = _local3.ps + _local3.ch;
if ((_local3.cycles > 1) || (_local3.cycles == 0)) {
if (_local3.cycles > 1) {
_local3.cycles--;
}
_local3.ps = _local6;
_local3.ch = -_local3.ch;
_local3.ts = now;
_local9 = false;
}
} else {
_local6 = _local3.ef(now - _local3.ts, _local3.ps, _local3.ch, _local3.d, _local3.e1, _local3.e2);
}
if (_global.isNaN(_local6) == false) {
if ((_local30 != "_bezier_") && ((_local3.rr == true) || ((_local20 == true) && (!(_local3.rr === false))))) {
_local6 = Math.round(Number(_local6));
}
if (_local3.special != true) {
_local5[_local30] = _local6;
} else if (_local3.fmp != -1) {
_local3.fmp.setFilterProp(_local5, _local30, _local6);
} else if (_local30 == "_bezier_") {
var _local10 = _local3.bz;
var _local18 = _local10.sx + (_local6 * (((2 * (1 - _local6)) * _local10.ctrlx) + (_local6 * _local10.chx)));
var _local17 = _local10.sy + (_local6 * (((2 * (1 - _local6)) * _local10.ctrly) + (_local6 * _local10.chy)));
if ((_local3.rr == true) || ((_local20 == true) && (!(_local3.rr === false)))) {
_local18 = Math.round(Number(_local18));
_local17 = Math.round(Number(_local17));
}
_local5._x = _local18;
_local5._y = _local17;
} else if (_local30 == "_frame") {
MovieClip(_local5).gotoAndStop(Math.ceil(_local6));
}
}
} else {
var _local16 = (_local9 == true) && ((_local3.cycles > 1) || (_local3.cycles == 0));
var _local7 = [];
for (var _local27 in _local3.ch) {
var _local4 = ((_local3.complex == 0) ? ([]) : ({}));
for (var _local28 in _local3.ch[_local27]) {
var _local8 = _local3.ch[_local27][_local28];
var _local11 = _local3.ps[_local27][_local28];
if (_local9 == true) {
_local4[_local28] = _local11 + _local8;
if (_local16 == true) {
_local3.ch[_local27][_local28] = -_local8;
}
} else {
_local4[_local28] = _local3.ef(now - _local3.ts, _local11, _local8, _local3.d, _local3.e1, _local3.e2);
}
if (_global.isNaN(_local4[_local28]) == false) {
if ((_local3.rr == true) || ((_local20 == true) && (!(_local3.rr === false)))) {
_local4[_local28] = Math.round(_local4[_local28]);
}
}
if ((_local3.fmp == -1) && (_local3.c == -1)) {
_local5[_local30][_local28] = _local4[_local28];
}
}
_local7.push(_local4);
if ((_local3.fmp == -1) && (_local3.c == 2)) {
_local5[_local30][_local27] = Number(((_local4.rb << 16) | (_local4.gb << 8)) | _local4.bb);
}
}
if (_local3.fmp != -1) {
if (_local3.c == 1) {
_local3.fmp.setFilterProp(_local5, _local30, ((_local7[0].rb << 16) | (_local7[0].gb << 8)) | _local7[0].bb);
} else if (_local3.c == 2) {
var _local19 = [];
for (var _local28 in _local7) {
_local19.unshift(((_local7[_local28].rb << 16) | (_local7[_local28].gb << 8)) | _local7[_local28].bb);
}
_local3.fmp.setFilterProp(_local5, _local30, _local19);
}
} else if (_local3.c != -1) {
_local3.c.setTransform(_local7[0]);
}
if (_local16 == true) {
if (_local3.cycles > 1) {
_local3.cycles--;
}
_local9 = false;
_local3.ts = now;
_local3.ps = _local7;
}
}
if (_local3.sf == false) {
if (_local3.v != 0) {
_local5._visible = true;
}
if (_local21 == true) {
if (_local15[_local35] == undefined) {
_local15[_local35] = [_local5, []];
}
_local15[_local35][1].unshift(_local30);
}
_local3.sf = true;
}
if (_local3.scb.fired == false) {
_local22[String(_local3.scb.id)] = _local3.scb;
_local3.scb.fired = true;
}
if (_local21 == true) {
if (_local13[_local35] == undefined) {
_local13[_local35] = [_local5, []];
}
_local13[_local35][1].unshift(_local30);
}
if (_local3.ucb != undefined) {
_local24[String(_local3.ucb.id)] = _local3.ucb;
}
if (_local9 == true) {
if (_local3.v === -1) {
_local5._visible = false;
}
if (_local3.suppressEnd != true) {
if (_local21 == true) {
if (_local14[_local35] == undefined) {
_local14[_local35] = [_local5, []];
}
_local14[_local35][1].unshift(_local30);
}
if (_local3.ecb != undefined) {
_local23[String(_local3.ecb.id)] = _local3.ecb;
}
}
delete _local34[_local30];
if (_local30 == _local12.colorProp) {
delete _local12.colorProp;
}
_local12.numProps--;
if (_local12.numProps <= 0) {
_local26 = true;
}
}
delete _local3.suppressEnd;
}
}
for (var _local35 in _local15) {
_local15[_local35][0].broadcastMessage("onTweenStart", {target:_local15[_local35][0], props:_local15[_local35][1]});
}
for (var _local35 in _local22) {
_local22[_local35].f.apply(_local22[_local35].s, _local22[_local35].a);
}
for (var _local35 in _local13) {
_local13[_local35][0].broadcastMessage("onTweenUpdate", {target:_local13[_local35][0], props:_local13[_local35][1]});
}
for (var _local35 in _local24) {
_local24[_local35].f.apply(_local24[_local35].s, _local24[_local35].a);
}
for (var _local35 in _local14) {
_local14[_local35][0].broadcastMessage("onTweenEnd", {target:_local14[_local35][0], props:_local14[_local35][1]});
}
for (var _local35 in _local23) {
_local23[_local35].f.apply(_local23[_local35].s, _local23[_local35].a);
}
if (_local26) {
cleanUp();
}
now = getTimer();
}
function cleanUp(noInit) {
for (var _local4 in tweens) {
var _local2 = tweens[_local4].targ;
if ((tweens[_local4].numProps <= 0) || (_local2.__zigoID__ == undefined)) {
if ((((_local2 != undefined) && (_local2.tween == undefined)) && (noInit != true)) && (_local2._listeners.length <= 0)) {
com.mosesSupposes.fuse.ZigoEngine.deinitializeTargets(_local2);
}
delete tweens[_local4];
numTweens--;
}
}
if (numTweens <= 0) {
numTweens = 0;
delete tweens;
tweens = {};
if (noInit != true) {
com.mosesSupposes.fuse.ZigoEngine.__mgrRelay(this, "setup", [true]);
}
}
}
function paramsObj(targs, props, endvals, retainFade) {
var _local6 = {};
_local6.all = String(targs).toUpperCase() == com.mosesSupposes.fuse.FuseKitCommon.ALL;
_local6.none = Boolean(targs == null);
if (_local6.all == true) {
_local6.tg = [null];
} else {
_local6.tg = ((targs instanceof Array) ? (targs) : ([targs]));
for (var _local11 in _local6.tg) {
var _local7 = _local6.tg[_local11];
if ((_local7 == null) || (!((typeof(_local7) == "object") || (typeof(_local7) == "movieclip")))) {
_local6.tg.splice(Number(_local11), 1);
}
}
}
_local6.allprops = props == null;
var _local1;
var _local4;
var _local3 = {};
if (_local6.allprops == false) {
if ((typeof(props) == "string") && ((String(props).indexOf(" ") > -1) || (String(props).indexOf(",") > -1))) {
props = String(props.split(" ").join("")).split(",");
}
_local1 = ((props instanceof Array) ? (props.slice()) : ([props]));
if (endvals != undefined) {
if ((typeof(endvals) == "string") && ((String(endvals).indexOf(" ") > -1) || (String(endvals).indexOf(",") > -1))) {
endvals = String(endvals.split(" ").join("")).split(",");
}
_local4 = ((endvals instanceof Array) ? (endvals.slice()) : ([endvals]));
while (_local4.length < _local1.length) {
_local4.push(_local4[_local4.length - 1]);
}
_local4.splice(_local1.length, _local4.length - _local1.length);
}
for (var _local11 in _local1) {
var _local2 = Number(_local11);
if ((_local1[_local11] != "_scale") && (_local1[_local11] != "_size")) {
if (_local3[_local1[_local11]] == undefined) {
if ((_local1[_local11] == "_fade") && (retainFade != true)) {
_local1[_local11] = "_alpha";
}
if (String(_local1[_local11]).toUpperCase() == com.mosesSupposes.fuse.FuseKitCommon.ALLCOLOR) {
_local1[_local11] = com.mosesSupposes.fuse.FuseKitCommon.ALLCOLOR;
}
_local3[_local1[_local11]] = true;
} else {
_local1.splice(_local2, 1);
_local4.splice(_local2, 1);
}
} else {
var _local8 = String(_local1.splice(_local2, 1)[0]);
var _local5 = _local4.splice(_local2, 1)[0];
if (_local8 == "_scale") {
if (_local3._xscale == undefined) {
_local1.splice(_local2, 0, "_xscale");
_local4.splice(_local2, 0, _local5);
_local3._xscale = true;
_local2++;
}
if (_local3._yscale == undefined) {
_local1.splice(_local2, 0, "_yscale");
_local4.splice(_local2, 0, _local5);
_local3._yscale = true;
}
}
if (_local8 == "_size") {
if (_local3._width == undefined) {
_local1.splice(_local2, 0, "_width");
_local4.splice(_local2, 0, _local5);
_local3._width = true;
_local2++;
}
if (_local3._yscale == undefined) {
_local1.splice(_local2, 0, "_height");
_local4.splice(_local2, 0, _local5);
_local3._height = true;
}
}
}
}
for (var _local11 in _local1) {
if (((_local1[_local11] == "_xscale") && (_local3._width == true)) || ((_local1[_local11] == "_yscale") && (_local3._height == true))) {
_local1.splice(Number(_local11), 1);
_local4.splice(Number(_local11), 1);
delete _local3[_local1[_local11]];
}
}
}
_local6.pa = _local1;
_local6.va = _local4;
_local6.props = _local3;
return(_local6);
}
function getChangeObj(ps, ep, isFMP, useArray) {
var _local3 = {map:((useArray == true) ? ([]) : ({})), changed:false};
for (var _local7 in ep) {
if ((((((isFMP == true) && (_local7.charAt(1) == "b")) || (ep[_local7] != ps[_local7])) || (useArray == true)) && (ep[_local7] != null)) && (_global.isNaN(Number(ep[_local7])) == false)) {
_local3.map[_local7] = ((typeof(ep[_local7]) == "string") ? (Number(ep[_local7])) : (ep[_local7] - ps[_local7]));
if (_global.isNaN(_local3.map[_local7]) == true) {
_local3.map[_local7] = 0;
} else if (_local3.map[_local7] != 0) {
_local3.changed = true;
}
}
}
return(_local3);
}
var numTweens = 0;
}
Symbol 811 MovieClip [__Packages.com.mosesSupposes.fuse.PennerEasing] Frame 0
class com.mosesSupposes.fuse.PennerEasing
{
function PennerEasing () {
}
static function linear(t, b, c, d) {
return(((c * t) / d) + b);
}
static function easeInQuad(t, b, c, d) {
t = t / d;
return(((c * t) * t) + b);
}
static function easeOutQuad(t, b, c, d) {
t = t / d;
return((((-c) * t) * (t - 2)) + b);
}
static function easeInOutQuad(t, b, c, d) {
t = t / (d / 2);
if (t < 1) {
return((((c / 2) * t) * t) + b);
}
t--;
return((((-c) / 2) * ((t * (t - 2)) - 1)) + b);
}
static function easeInExpo(t, b, c, d) {
return(((t == 0) ? (b) : ((c * Math.pow(2, 10 * ((t / d) - 1))) + b)));
}
static function easeOutExpo(t, b, c, d) {
return(((t == d) ? (b + c) : ((c * ((-Math.pow(2, (-10 * t) / d)) + 1)) + b)));
}
static function easeInOutExpo(t, b, c, d) {
if (t == 0) {
return(b);
}
if (t == d) {
return(b + c);
}
t = t / (d / 2);
if (t < 1) {
return(((c / 2) * Math.pow(2, 10 * (t - 1))) + b);
}
t--;
return(((c / 2) * ((-Math.pow(2, -10 * t)) + 2)) + b);
}
static function easeOutInExpo(t, b, c, d) {
if (t == 0) {
return(b);
}
if (t == d) {
return(b + c);
}
t = t / (d / 2);
if (t < 1) {
return(((c / 2) * ((-Math.pow(2, -10 * t)) + 1)) + b);
}
return(((c / 2) * (Math.pow(2, 10 * (t - 2)) + 1)) + b);
}
static function easeInElastic(t, b, c, d, a, p) {
var _local5;
if (t == 0) {
return(b);
}
t = t / d;
if (t == 1) {
return(b + c);
}
if (!p) {
p = d * 0.3;
}
if ((!a) || (a < Math.abs(c))) {
a = c;
_local5 = p / 4;
} else {
_local5 = (p / (Math.PI*2)) * Math.asin(c / a);
}
t = t - 1;
return((-((a * Math.pow(2, 10 * t)) * Math.sin((((t * d) - _local5) * (Math.PI*2)) / p))) + b);
}
static function easeOutElastic(t, b, c, d, a, p) {
var _local5;
if (t == 0) {
return(b);
}
t = t / d;
if (t == 1) {
return(b + c);
}
if (!p) {
p = d * 0.3;
}
if ((!a) || (a < Math.abs(c))) {
a = c;
_local5 = p / 4;
} else {
_local5 = (p / (Math.PI*2)) * Math.asin(c / a);
}
return((((a * Math.pow(2, -10 * t)) * Math.sin((((t * d) - _local5) * (Math.PI*2)) / p)) + c) + b);
}
static function easeInOutElastic(t, b, c, d, a, p) {
var _local5;
if (t == 0) {
return(b);
}
t = t / (d / 2);
if (t == 2) {
return(b + c);
}
if (!p) {
p = d * 0.45;
}
if ((!a) || (a < Math.abs(c))) {
a = c;
_local5 = p / 4;
} else {
_local5 = (p / (Math.PI*2)) * Math.asin(c / a);
}
if (t < 1) {
t = t - 1;
return((-0.5 * ((a * Math.pow(2, 10 * t)) * Math.sin((((t * d) - _local5) * (Math.PI*2)) / p))) + b);
}
t = t - 1;
return(((((a * Math.pow(2, -10 * t)) * Math.sin((((t * d) - _local5) * (Math.PI*2)) / p)) * 0.5) + c) + b);
}
static function easeOutInElastic(t, b, c, d, a, p) {
var _local5;
if (t == 0) {
return(b);
}
t = t / (d / 2);
if (t == 2) {
return(b + c);
}
if (!p) {
p = d * 0.45;
}
if ((!a) || (a < Math.abs(c))) {
a = c;
_local5 = p / 4;
} else {
_local5 = (p / (Math.PI*2)) * Math.asin(c / a);
}
if (t < 1) {
return(((0.5 * ((a * Math.pow(2, -10 * t)) * Math.sin((((t * d) - _local5) * (Math.PI*2)) / p))) + (c / 2)) + b);
}
return(((c / 2) + (0.5 * ((a * Math.pow(2, 10 * (t - 2))) * Math.sin((((t * d) - _local5) * (Math.PI*2)) / p)))) + b);
}
static function easeInBack(t, b, c, d, s) {
if (s == undefined) {
s = 1.70158;
}
t = t / d;
return((((c * t) * t) * (((s + 1) * t) - s)) + b);
}
static function easeOutBack(t, b, c, d, s) {
if (s == undefined) {
s = 1.70158;
}
t = (t / d) - 1;
return((c * (((t * t) * (((s + 1) * t) + s)) + 1)) + b);
}
static function easeInOutBack(t, b, c, d, s) {
if (s == undefined) {
s = 1.70158;
}
t = t / (d / 2);
if (t < 1) {
s = s * 1.525;
return(((c / 2) * ((t * t) * (((s + 1) * t) - s))) + b);
}
t = t - 2;
s = s * 1.525;
return(((c / 2) * (((t * t) * (((s + 1) * t) + s)) + 2)) + b);
}
static function easeOutInBack(t, b, c, d, s) {
if (s == undefined) {
s = 1.70158;
}
t = t / (d / 2);
if (t < 1) {
t--;
s = s * 1.525;
return(((c / 2) * (((t * t) * (((s + 1) * t) + s)) + 1)) + b);
}
t--;
s = s * 1.525;
return(((c / 2) * (((t * t) * (((s + 1) * t) - s)) + 1)) + b);
}
static function easeOutBounce(t, b, c, d) {
t = t / d;
if (t < 0.363636363636364) {
return((c * ((7.5625 * t) * t)) + b);
}
if (t < 0.727272727272727) {
t = t - 0.545454545454545;
return((c * (((7.5625 * t) * t) + 0.75)) + b);
}
if (t < 0.909090909090909) {
t = t - 0.818181818181818;
return((c * (((7.5625 * t) * t) + 0.9375)) + b);
}
t = t - 0.954545454545455;
return((c * (((7.5625 * t) * t) + 0.984375)) + b);
}
static function easeInBounce(t, b, c, d) {
return((c - easeOutBounce(d - t, 0, c, d)) + b);
}
static function easeInOutBounce(t, b, c, d) {
if (t < (d / 2)) {
return((easeInBounce(t * 2, 0, c, d) * 0.5) + b);
}
return(((easeOutBounce((t * 2) - d, 0, c, d) * 0.5) + (c * 0.5)) + b);
}
static function easeOutInBounce(t, b, c, d) {
if (t < (d / 2)) {
return((easeOutBounce(t * 2, 0, c, d) * 0.5) + b);
}
return(((easeInBounce((t * 2) - d, 0, c, d) * 0.5) + (c * 0.5)) + b);
}
static function easeInCubic(t, b, c, d) {
t = t / d;
return((((c * t) * t) * t) + b);
}
static function easeOutCubic(t, b, c, d) {
t = (t / d) - 1;
return((c * (((t * t) * t) + 1)) + b);
}
static function easeInOutCubic(t, b, c, d) {
t = t / (d / 2);
if (t < 1) {
return(((((c / 2) * t) * t) * t) + b);
}
t = t - 2;
return(((c / 2) * (((t * t) * t) + 2)) + b);
}
static function easeOutInCubic(t, b, c, d) {
t = t / (d / 2);
t--;
return(((c / 2) * (((t * t) * t) + 1)) + b);
}
static function easeInQuart(t, b, c, d) {
t = t / d;
return(((((c * t) * t) * t) * t) + b);
}
static function easeOutQuart(t, b, c, d) {
t = (t / d) - 1;
return(((-c) * ((((t * t) * t) * t) - 1)) + b);
}
static function easeInOutQuart(t, b, c, d) {
t = t / (d / 2);
if (t < 1) {
return((((((c / 2) * t) * t) * t) * t) + b);
}
t = t - 2;
return((((-c) / 2) * ((((t * t) * t) * t) - 2)) + b);
}
static function easeOutInQuart(t, b, c, d) {
t = t / (d / 2);
if (t < 1) {
t--;
return((((-c) / 2) * ((((t * t) * t) * t) - 1)) + b);
}
t--;
return(((c / 2) * ((((t * t) * t) * t) + 1)) + b);
}
static function easeInQuint(t, b, c, d) {
t = t / d;
return((((((c * t) * t) * t) * t) * t) + b);
}
static function easeOutQuint(t, b, c, d) {
t = (t / d) - 1;
return((c * (((((t * t) * t) * t) * t) + 1)) + b);
}
static function easeInOutQuint(t, b, c, d) {
t = t / (d / 2);
if (t < 1) {
return(((((((c / 2) * t) * t) * t) * t) * t) + b);
}
t = t - 2;
return(((c / 2) * (((((t * t) * t) * t) * t) + 2)) + b);
}
static function easeOutInQuint(t, b, c, d) {
t = t / (d / 2);
t--;
return(((c / 2) * (((((t * t) * t) * t) * t) + 1)) + b);
}
static function easeInSine(t, b, c, d) {
return((((-c) * Math.cos((t / d) * (Math.PI/2))) + c) + b);
}
static function easeOutSine(t, b, c, d) {
return((c * Math.sin((t / d) * (Math.PI/2))) + b);
}
static function easeInOutSine(t, b, c, d) {
return((((-c) / 2) * (Math.cos((Math.PI * t) / d) - 1)) + b);
}
static function easeOutInSine(t, b, c, d) {
t = t / (d / 2);
if (t < 1) {
return(((c / 2) * Math.sin((Math.PI * t) / 2)) + b);
}
t--;
return((((-c) / 2) * (Math.cos((Math.PI * t) / 2) - 2)) + b);
}
static function easeInCirc(t, b, c, d) {
t = t / d;
return(((-c) * (Math.sqrt(1 - (t * t)) - 1)) + b);
}
static function easeOutCirc(t, b, c, d) {
t = (t / d) - 1;
return((c * Math.sqrt(1 - (t * t))) + b);
}
static function easeInOutCirc(t, b, c, d) {
t = t / (d / 2);
if (t < 1) {
return((((-c) / 2) * (Math.sqrt(1 - (t * t)) - 1)) + b);
}
t = t - 2;
return(((c / 2) * (Math.sqrt(1 - (t * t)) + 1)) + b);
}
static function easeOutInCirc(t, b, c, d) {
t = t / (d / 2);
if (t < 1) {
t--;
return(((c / 2) * Math.sqrt(1 - (t * t))) + b);
}
t--;
return(((c / 2) * (2 - Math.sqrt(1 - (t * t)))) + b);
}
static var registryKey = "pennerEasing";
}
Symbol 66 MovieClip [explosion] Frame 6
this.removeMovieClip();
Symbol 77 MovieClip [gooball] Frame 1
this.gotoAndStop(_root.Maths.randomInt(2, this._totalframes));
Symbol 90 MovieClip [star] Frame 1
gotoAndStop(_root.Maths.randomInt(2, _totalframes));
Symbol 180 MovieClip Frame 1
this._visible = false;
Symbol 197 Button
on (release) {
_root.objSounds.play("rollover-tick");
if (_root.controls == undefined) {
_root.objTrans.goto("controls");
} else {
_root.objTrans.goto("picklevel");
}
if (!_root.objSounds.sounds.music.playing) {
_root.objSounds.play("music", 60, true);
}
}
on (rollOver) {
_root.objSounds.play("rollover-tock");
}
Symbol 209 MovieClip Frame 1
stop();
Symbol 209 MovieClip Frame 43
_root.objSounds.play("achievement");
Symbol 209 MovieClip Frame 111
gotoAndStop ("idle");
Symbol 212 Button
on (release) {
_root.objTrans.goto("wipeprogress");
}
Symbol 217 Button
on (release) {
_root.objSounds.play("rollover-tick");
_root.objTrans.goto("game");
}
on (rollOver) {
_root.objSounds.play("rollover-tock");
}
Symbol 234 Button
on (release) {
_root.objSounds.play("rollover-tick");
gotoAndStop ("selected");
}
on (rollOver) {
_root.rollOverLevel(this.id);
_root.objSounds.play("rollover-tock");
}
on (rollOut, dragOut) {
_root.rollOutLevel(this.id);
}
Symbol 238 Button
on (rollOver) {
_root.rollOverLevel(this.id);
_root.objSounds.play("rollover-tock");
}
on (rollOut, dragOut) {
_root.rollOutLevel(this.id);
}
Symbol 239 MovieClip Frame 21
_root.deselectLevels(this.id);
Symbol 244 Button
on (release) {
_root.arrLevels = undefined;
var objSO = SharedObject.getLocal("hannainachoppa");
objSO.data.arrLevels = undefined;
objSO.flush();
_root.objTrans.goto("intro");
}
Symbol 248 Button
on (release) {
_root.arrAchievements = undefined;
var objSO = SharedObject.getLocal("hannainachoppa");
objSO.data.arrAchievements = undefined;
objSO.flush();
_root.objTrans.goto("intro");
}
Symbol 251 Button
on (release) {
_root.objSounds.play("rollover-tick");
_root.objTrans.goto("achievements");
}
on (rollOver) {
_root.objSounds.play("rollover-tock");
}
Symbol 254 Button
on (release) {
_root.objTrans.goto("options");
}
Symbol 259 Button
on (release) {
_level0.trackPoint("link_andkon");
getURL ("http://www.andkon.com/arcade/", "_blank");
}
Symbol 265 Button
on (release) {
_root.objTrans.goto("feedback");
}
Symbol 269 Button
on (release) {
_root.arrLevels = undefined;
_root.arrAchievements = undefined;
var objSO = SharedObject.getLocal("hannainachoppa");
objSO.data.arrLevels = undefined;
objSO.data.arrAchievements = undefined;
objSO.flush();
_root.workingOnLevel = undefined;
_root.objTrans.goto("intro");
}
Symbol 272 Button
on (release) {
_root.objTrans.goto("picklevel");
}
Symbol 276 MovieClip Frame 1
stop();
Symbol 323 Button
on (release) {
_root.objSounds.play("rollover-tick");
_root.objTrans.goto("picklevel");
}
Symbol 326 Button
on (release) {
_root.objTrans.goto("picklevel");
}
Symbol 338 Button
on (release) {
_root.objSounds.play("rollover-tick");
_root.controls = "full";
var objSO = SharedObject.getLocal("hannainachoppa");
objSO.data.controls = _root.controls;
objSO.flush();
level0.trackPoint("SwitchedControls_full");
_parent.gotoAndPlay("switchfull");
}
on (rollOver) {
_root.objSounds.play("rollover-tock");
}
Symbol 341 Button
on (release) {
_root.objSounds.play("rollover-tick");
_root.controls = "easy";
var objSO = SharedObject.getLocal("hannainachoppa");
objSO.data.controls = _root.controls;
objSO.flush();
level0.trackPoint("SwitchedControls_easy");
_parent.gotoAndPlay("switcheasy");
}
on (rollOver) {
_root.objSounds.play("rollover-tock");
}
Symbol 359 MovieClip Frame 1
gotoAndStop(_root.sensitivity);
Symbol 363 Button
on (release) {
_root.objSounds.play("rollover-tick");
switch (_root.sensitivity) {
case "feather" :
_root.sensitivity = "normal";
break;
case "normal" :
_root.sensitivity = "heavy";
break;
case "heavy" :
_root.sensitivity = "feather";
}
var objSO = SharedObject.getLocal("hannainachoppa");
objSO.data.sensitivity = _root.sensitivity;
objSO.flush();
sensitivity.gotoAndStop(_root.sensitivity);
}
on (rollOver) {
_root.objSounds.play("rollover-tock");
}
Symbol 368 MovieClip Frame 1
sensitivity.gotoAndStop(_root.sensitivity);
Symbol 369 MovieClip Frame 1
gotoAndStop(_root.controls);
Symbol 369 MovieClip Frame 31
stop();
Symbol 369 MovieClip Frame 51
gotoAndStop ("easy");
Symbol 381 MovieClip Frame 1
function checkValid() {
if ((txtFeedback.text == defaultText) || (txtFeedback.text == "")) {
defaultText = "No no no, you're meant to write in this box. Over here!";
txtFeedback.text = defaultText;
return(false);
}
return(true);
}
stop();
var objDatacap = (new _root.Datacap("HannaInAChoppa_feedback", "stf"));
objDatacap.registerTextbox("feedback", txtFeedback);
objDatacap.setHiddenValue("email", "noreply@deeperbeige.com");
objDatacap.setHiddenValue("femail", "hannainachoppa@deeperbeige.com");
objDatacap.registerSubmit("submit", btnSubmit, "submit");
objDatacap.registerFrames("sending", "success", "failure", this);
objDatacap.registerCallbacks(checkValid);
this.errFeedback._visible = false;
defaultText = "Tap out some text here, then hit submit";
txtFeedback.text = defaultText;
txtFeedback.onSetFocus = function () {
if (txtFeedback.text == defaultText) {
txtFeedback.text = "";
}
};
txtFeedback.onKillFocus = function () {
defaultText = "No no no, you're meant to write in this box. Over here!";
if (txtFeedback.text == "") {
txtFeedback.text = defaultText;
}
};
Symbol 381 MovieClip Frame 21
_root.achieved(15);
_root.trackPoint("Feedback_success");
Symbol 381 MovieClip Frame 31
_root.achieved(15);
_root.trackPoint("Feedback_failure");
Symbol 383 Button
on (release) {
_root.objTrans.goto("picklevel");
}
Symbol 386 MovieClip Frame 1
gotoAndStop ("idle");
Symbol 386 MovieClip Frame 52
gotoAndStop ("idle");
Symbol 393 MovieClip Frame 1
_root.setupNeverPress(this);
Symbol 404 Button
on (release) {
_root.objSounds.play("rollover-tick");
_root.objTrans.goto("picklevel");
}
Symbol 418 MovieClip Frame 1
gotoAndStop(_root.controls);
Symbol 464 MovieClip Frame 420
stop();
_root.achieved(1);
Symbol 465 MovieClip Frame 1
stop();
hit._visible = false;
Symbol 481 MovieClip Frame 1
gotoAndStop(_root.controls);
Symbol 527 MovieClip Frame 1
stop();
Symbol 545 MovieClip Frame 2
gotoAndPlay (1);
Symbol 545 MovieClip Frame 30
stop();
Symbol 569 MovieClip Frame 30
_root.objGame.alignGravityMark(this);
Symbol 614 MovieClip Frame 855
stop();
_root.objSounds.stop("ratchet-loop");
Symbol 634 MovieClip Frame 1
this.hit._visible = false;
Symbol 637 MovieClip Frame 1
gotoAndPlay(_root.Maths.randomInt(2, this._totalframes));
Symbol 637 MovieClip Frame 41
gotoAndPlay ("loop");
Symbol 646 MovieClip Frame 1
this._visible = false;
Symbol 668 MovieClip Frame 1
stop();
Symbol 668 MovieClip Frame 48
stop();
Symbol 668 MovieClip Frame 63
stop();
Symbol 681 MovieClip Frame 1
this.hit._visible = false;
Symbol 694 MovieClip Frame 1
hit._visible = false;
p0._visible = false;
p1._visible = false;
Symbol 708 MovieClip Frame 1
stop();
Symbol 713 MovieClip Frame 10
_root.objSounds.play("scissors");
Symbol 714 MovieClip Frame 1
stop();
Symbol 726 MovieClip Frame 1
_root.objSounds.play("crushotron-rumble");
Symbol 726 MovieClip Frame 91
_root.objSounds.play("crushotron-bang");
Symbol 726 MovieClip Frame 121
_root.objSounds.play("crushotron-rumble");
Symbol 733 MovieClip Frame 1
this._visible = false;
Symbol 738 MovieClip Frame 1
stop();
Symbol 738 MovieClip Frame 30
stop();
Symbol 756 MovieClip Frame 1
gotoAndStop ("unbaked");
Instance of Symbol 748 MovieClip "hit" in Symbol 756 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
this.required = ["eggs", "flour", "butter", "sugar", "chocolate"];
this.evtItemHit = function (itemClip) {
var _local3 = 0;
while (_local3 < this.required.length) {
if (this.required[_local3] == itemClip.ingredient) {
this.required.splice(_local3, 1);
trace("got " + itemClip.ingredient);
_root.objSounds.play("voice-" + itemClip.ingredient);
if (this.required.length == 0) {
trace("all items collected");
this._parent.gotoAndPlay("baked");
}
return(undefined);
}
_local3++;
}
};
}
Symbol 756 MovieClip Frame 21
_parent.sign.gotoAndPlay("hide");
Symbol 756 MovieClip Frame 40
_root.objSounds.play("cake-mix");
Symbol 756 MovieClip Frame 120
stop();
_root.objGame.raiseHandle();
Symbol 756 MovieClip Frame 121
this.startFrame = this._currentframe;
this.range = this._totalframes - this.startFrame;
Symbol 756 MovieClip Frame 620
stop();
this.startFrame = undefined;
this.range = undefined;
_root.objGame.handleComplete();
_root.objSounds.play("voice-cake");
Instance of Symbol 514 MovieClip "b0" in Symbol 770 MovieClip Frame 4
onClipEvent (load) {
this.fanStrength = 0.7;
}
Instance of Symbol 527 MovieClip "b0" in Symbol 770 MovieClip Frame 5
onClipEvent (load) {
this.evtTriggered = function () {
var _local2 = this._parent._parent.objGame.objPhysics.surfaces[15];
_local2.removeSurface();
this._parent.exitBlock.fadeOut(0.5);
};
}
Instance of Symbol 527 MovieClip "b8" in Symbol 770 MovieClip Frame 6
onClipEvent (load) {
this.evtTriggered = function () {
var _local2 = this._parent._parent.objGame.objPhysics.surfaces[13];
_local2.removeSurface();
this._parent.exitBlock.fadeOut(0.5);
};
}
Instance of Symbol 514 MovieClip "b0" in Symbol 770 MovieClip Frame 8
onClipEvent (load) {
this.fanStrength = 0.8;
}
Instance of Symbol 514 MovieClip "b1" in Symbol 770 MovieClip Frame 8
onClipEvent (load) {
this.fanStrength = 1;
}
Instance of Symbol 514 MovieClip "b2" in Symbol 770 MovieClip Frame 8
onClipEvent (load) {
this.fanStrength = 1;
}
Instance of Symbol 527 MovieClip "b4" in Symbol 770 MovieClip Frame 9
onClipEvent (load) {
this.evtTriggered = function () {
var _local2 = this._parent._parent.objGame.objPhysics.surfaces[23];
_local2.removeSurface();
this._parent.ballsBlock.fadeOut(0.5);
};
}
Instance of Symbol 527 MovieClip "b3" in Symbol 770 MovieClip Frame 9
onClipEvent (load) {
this.evtTriggered = function () {
var _local2 = this._parent._parent.objGame.objPhysics.surfaces[22];
_local2.removeSurface();
this._parent.exitBlock.fadeOut(0.5);
};
}
Instance of Symbol 527 MovieClip "b1" in Symbol 770 MovieClip Frame 10
onClipEvent (load) {
this.surface = this._parent._parent.objGame.objPhysics.surfaces[9];
this.evtTriggered = function () {
this.surface.removeSurface();
this._parent.door9.fadeOut(0.5);
};
}
Instance of Symbol 527 MovieClip "b3" in Symbol 770 MovieClip Frame 10
onClipEvent (load) {
this.surface = this._parent._parent.objGame.objPhysics.surfaces[8];
this.evtTriggered = function () {
this.surface.removeSurface();
this._parent.door8.fadeOut(0.5);
};
}
Instance of Symbol 527 MovieClip "b2" in Symbol 770 MovieClip Frame 10
onClipEvent (load) {
this.surface = this._parent._parent.objGame.objPhysics.surfaces[10];
this.evtTriggered = function () {
this.surface.removeSurface();
this._parent.door10.fadeOut(0.5);
};
}
Instance of Symbol 527 MovieClip "b0" in Symbol 770 MovieClip Frame 13
onClipEvent (load) {
this.evtTriggered = function () {
var _local2 = this._parent._parent.objGame.objPhysics.surfaces[17];
_local2.removeSurface();
this._parent.exitDoor.fadeOut(0.5);
};
}
Instance of Symbol 634 MovieClip "b5" in Symbol 770 MovieClip Frame 14
onClipEvent (load) {
this.surface = this._parent._parent.objGame.objPhysics.surfaces[13];
this.triggered = false;
this.sheepDeposited = function (totalSheep) {
if ((totalSheep >= 4) && (!this.triggered)) {
this.triggered = true;
this.surface.removeSurface();
this._parent.exitDoor.fadeOut(0.5);
}
};
}
Instance of Symbol 681 MovieClip "b10" in Symbol 770 MovieClip Frame 16
onClipEvent (load) {
this.triggered = false;
this.sailorsDeposited = function (sailors) {
if ((sailors >= 3) && (!this.triggered)) {
this.triggered = true;
this._parent.sign.gotoAndPlay("saveboat");
this._parent.b7.objMass.removeMass();
this._parent.b8.objMass.removeMass();
this._parent.b9.objMass.removeMass();
this._parent.b7.fadeOut(0.5, undefined, 0.25);
this._parent.b8.fadeOut(0.5, undefined, 0.75);
this._parent.b9.fadeOut(0.5, undefined, 1.25);
_root.objGame.menSaved = true;
}
};
}
Instance of Symbol 683 MovieClip "b11" in Symbol 770 MovieClip Frame 16
onClipEvent (load) {
this._visible = false;
this.active = false;
this.massTouching = function (objMass) {
if (objMass.isBoatFront) {
_root.objGame.boatPositioned++;
}
};
}
Instance of Symbol 683 MovieClip "b12" in Symbol 770 MovieClip Frame 16
onClipEvent (load) {
this._visible = false;
this.active = false;
this.massTouching = function (objMass) {
if (objMass.isBoatRear) {
_root.objGame.boatPositioned++;
}
};
}
Instance of Symbol 527 MovieClip "b1" in Symbol 770 MovieClip Frame 19
onClipEvent (load) {
this.surface = this._parent._parent.objGame.objPhysics.surfaces[7];
this.evtTriggered = function () {
this.surface.removeSurface();
this._parent.door7.fadeOut(0.5);
};
}
Instance of Symbol 527 MovieClip "b2" in Symbol 770 MovieClip Frame 19
onClipEvent (load) {
this.surface = this._parent._parent.objGame.objPhysics.surfaces[6];
this.evtTriggered = function () {
this.surface.removeSurface();
this._parent.door6.fadeOut(0.5);
};
}
Instance of Symbol 746 MovieClip "b0" in Symbol 770 MovieClip Frame 21
onClipEvent (load) {
this.angleChanged = function (dr) {
if (this._parent.b1.startFrame == undefined) {
return(undefined);
}
if (dr >= 0) {
return(undefined);
}
var _local3 = _root.objGame.clip.level.b1;
var _local4 = _local3._currentframe + Math.floor(-dr);
if (_local4 > _local3._totalframes) {
_local4 = _local3._totalframes;
}
_local3.gotoAndStop(_local4);
};
}
Instance of Symbol 759 MovieClip "b3" in Symbol 770 MovieClip Frame 21
onClipEvent (load) {
this.ingredient = "sugar";
this.objMass.collisionSound = undefined;
}
Instance of Symbol 761 MovieClip "b4" in Symbol 770 MovieClip Frame 21
onClipEvent (load) {
this.ingredient = "butter";
this.objMass.collisionSound = undefined;
}
Instance of Symbol 763 MovieClip "b5" in Symbol 770 MovieClip Frame 21
onClipEvent (load) {
this.ingredient = "eggs";
this.objMass.collisionSound = undefined;
}
Instance of Symbol 765 MovieClip "b2" in Symbol 770 MovieClip Frame 21
onClipEvent (load) {
this.ingredient = "flour";
this.objMass.collisionSound = undefined;
}
Instance of Symbol 767 MovieClip "b6" in Symbol 770 MovieClip Frame 21
onClipEvent (load) {
this.ingredient = "chocolate";
this.objMass.collisionSound = undefined;
}
Symbol 785 MovieClip Frame 1
this.gotoAndStop(_root.Maths.randomInt(2, this._totalframes));
Symbol 798 Button
on (release) {
_root.objSounds.play("rollover-tick");
Key.removeListener(_root.objGame);
_root.objTrans.goto("picklevel");
}
on (rollOver) {
_root.objSounds.play("rollover-tock");
}
Symbol 801 Button
on (release) {
_root.objSounds.play("rollover-tick");
Key.removeListener(_root.objGame);
_root.objTrans.goto("restart");
}
on (rollOver) {
_root.objSounds.play("rollover-tock");
}
Symbol 806 Button
on (release) {
getURL (_root.legalURL, "_blank");
}