Frame 1
function initialize() {
rainfall.blush._alpha = 0;
blushMode = 0;
condition = "";
state = "";
setState("normal");
expand_mc._xscale = (expand_mc._yscale = 100);
cont_mc.gotoAndStop(1);
non_stop_mc.gotoAndStop(1);
continuous = false;
nonStop = false;
isExpanding = false;
isReverting = false;
isDown = false;
isFalling = false;
isRising = false;
isMilk = false;
isFixing = false;
leanBack = false;
unlockAnimation();
forceSetSize(part1Frame);
}
function setSize(n) {
if (locked) {
return(undefined);
}
n = Math.floor(n);
if ((n >= part3Frame) && (rainfall.breast1._currentframe <= endPart2)) {
n = endPart2;
} else if ((n <= endPart2) && (rainfall.breast1._currentframe >= part3Frame)) {
n = part3Frame;
}
rainfall.breast1.gotoAndStop(n);
rainfall.breast2.gotoAndStop(n);
if (n <= part2Frame) {
rainfall.dresstop.gotoAndStop(n);
} else {
rainfall.dresstop.gotoAndStop(part2Frame);
}
}
function forceSetSize(n) {
var _local3 = rainfall.body;
var _local7 = rainfall.head;
var _local8 = rainfall.arm1b;
var _local4 = rainfall.arm2b;
var _local5 = rainfall.arm1a;
var _local6 = rainfall.arm2a;
var _local1;
var _local2;
isFalling = (isRising = (isFixing = false));
animState = -1;
unlockAnimation();
if (n < 1) {
n = 1;
} else if (n > endPart3) {
n = endPart3;
}
if (n < part3Frame) {
isDown = false;
rainfall.body._x = (rainfall.body.solid.dest._x = (rainfall.body.solid.pos._x = oldBodyX));
rainfall.body._y = (rainfall.body.solid.dest._y = (rainfall.body.solid.pos._y = oldBodyY));
_local3.solid.vX = (_local3.solid.vY = 0);
if ((n >= endPart1) && (n < part2Frame)) {
n = endPart1;
} else if (n >= endPart2) {
n = endPart2;
}
rainfall.leg1.swapDepths(leg1Front);
rainfall.hand1.swapDepths(hand1Back);
rainfall.hand2.swapDepths(hand2Back);
rainfall.dressarm1.swapDepths(d1armFront);
rainfall.dressarm2.swapDepths(d2armFront);
if (n < part2Frame) {
leanBack = false;
setBodyFrame(minLeanFrame);
} else {
leanBack = true;
setBodyFrame(maxLeanFrame);
}
rainfall.hand1._rotation = (rainfall.hand2._rotation = 0);
rainfall.hand1._yscale = 100;
rainfall.hand2._yscale = 100;
updateBG(0);
} else {
isWings = false;
isDown = true;
var _local10 = (n - part3Frame) / (endPart3 - part3Frame);
var _local11 = origB1Bounds.yMax - (origB1Bounds.yMax + (((endB1Bounds.yMax - origB1Bounds.yMax) * _local10) * 0.5));
rainfall.body._x = (rainfall.body.solid.dest._x = (rainfall.body.solid.pos._x = finalBodyX));
rainfall.body._y = (rainfall.body.solid.dest._y = (rainfall.body.solid.pos._y = finalBodyY + _local11));
_local3.solid.vX = (_local3.solid.vY = 0);
rainfall.leg1.swapDepths(leg1Back);
rainfall.hand1.swapDepths(hand1Front);
rainfall.hand2.swapDepths(hand2Front);
rainfall.dressarm1.swapDepths(d1armBack);
rainfall.dressarm2.swapDepths(d2armBack);
setBodyFrame(maxFallFrame);
setHandFrame(handDownFrame);
updateBG(1);
}
_local2 = 0;
while (_local2 < _local3.clips.length) {
_local1 = _local3.clips[_local2].mc;
_local1._x = (_local1.solid.dest._x = (_local1.solid.pos._x = _local3._x - _local3.clips[_local2].relX));
_local1._y = (_local1.solid.dest._y = (_local1.solid.pos._y = _local3._y - _local3.clips[_local2].relY));
_local1.solid.vX = (_local1.solid.vY = 0);
_local2++;
}
_local2 = 0;
while (_local2 < _local7.clips.length) {
_local1 = _local7.clips[_local2].mc;
_local1._x = (_local1.solid.dest._x = (_local1.solid.pos._x = _local7._x - _local7.clips[_local2].relX));
_local1._y = (_local1.solid.dest._y = (_local1.solid.pos._y = _local7._y - _local7.clips[_local2].relY));
_local1.solid.vX = (_local1.solid.vY = 0);
_local2++;
}
_local2 = 0;
while (_local2 < _local8.clips.length) {
_local1 = _local8.clips[_local2].mc;
_local1._x = (_local1.solid.dest._x = (_local1.solid.pos._x = _local8._x - _local8.clips[_local2].relX));
_local1._y = (_local1.solid.dest._y = (_local1.solid.pos._y = _local8._y - _local8.clips[_local2].relY));
_local1.solid.vX = (_local1.solid.vY = 0);
_local2++;
}
_local2 = 0;
while (_local2 < _local4.clips.length) {
_local1 = _local4.clips[_local2].mc;
_local1._x = (_local1.solid.dest._x = (_local1.solid.pos._x = _local4._x - _local4.clips[_local2].relX));
_local1._y = (_local1.solid.dest._y = (_local1.solid.pos._y = _local4._y - _local4.clips[_local2].relY));
_local1.solid.vX = (_local1.solid.vY = 0);
_local2++;
}
_local2 = 0;
while (_local2 < _local5.clips.length) {
_local1 = _local5.clips[_local2].mc;
_local1._x = (_local1.solid.dest._x = (_local1.solid.pos._x = _local5._x - _local5.clips[_local2].relX));
_local1._y = (_local1.solid.dest._y = (_local1.solid.pos._y = _local5._y - _local5.clips[_local2].relY));
_local1.solid.vX = (_local1.solid.vY = 0);
_local2++;
}
_local2 = 0;
while (_local2 < _local6.clips.length) {
_local1 = _local6.clips[_local2].mc;
_local1._x = (_local1.solid.dest._x = (_local1.solid.pos._x = _local6._x + _local6.clips[_local2].relX));
_local1._y = (_local1.solid.dest._y = (_local1.solid.pos._y = _local6._y + _local6.clips[_local2].relY));
_local1.solid.vX = (_local1.solid.vY = 0);
_local2++;
}
rainfall.breast1.gotoAndStop(n);
setSize(n);
}
function setState(str) {
if ((state == str) || (condition != "")) {
return(undefined);
}
var _local1;
for (_local1 in states[str]) {
curState[_local1] = states[str][_local1];
}
curState.state = (state = str);
rainfall.mouth.gotoAndPlay(curState.mouth);
rainfall.eye1.gotoAndPlay(curState.eye1);
rainfall.eye2.gotoAndPlay(curState.eye2);
rainfall.eye1.pupil._x = p1X + curState.p1X;
rainfall.eye1.pupil._y = p1Y + curState.p1Y;
rainfall.eye2.pupil._x = p2X + curState.p2X;
rainfall.eye2.pupil._y = p2Y + curState.p2Y;
canBlink = curState.canBlink;
}
function shine() {
_root.attachMovie("shine_mc", "shine_mc", _root.getNextHighestDepth());
shine_mc._x = _root._xmouse;
shine_mc._y = _root._ymouse;
shine_mc.onEnterFrame = function () {
if (this._currentframe == this._totalframes) {
delete this.onEnterFrame;
this.removeMovieClip();
}
};
}
function isDraggable() {
if (rainfall.head.hitTest(_root._xmouse, _root._ymouse, true)) {
return(false);
}
if (rainfall.body.hitTest(_root._xmouse, _root._ymouse, true)) {
return(false);
}
if (rainfall.breast1.hitTest(_root._xmouse, _root._ymouse, true)) {
return(false);
}
if (rainfall.breast2.hitTest(_root._xmouse, _root._ymouse, true)) {
return(false);
}
if (rainfall.wing1.hitTest(_root._xmouse, _root._ymouse, true)) {
return(false);
}
if (rainfall.wing2.hitTest(_root._xmouse, _root._ymouse, true)) {
return(false);
}
if (rainfall.leg1.hitTest(_root._xmouse, _root._ymouse, true)) {
return(false);
}
if (rainfall.leg2.hitTest(_root._xmouse, _root._ymouse, true)) {
return(false);
}
if (rainfall.ear1.hitTest(_root._xmouse, _root._ymouse, true)) {
return(false);
}
if (rainfall.ear2.hitTest(_root._xmouse, _root._ymouse, true)) {
return(false);
}
if (zoom_mc.hitTest(_root._xmouse, _root._ymouse, true)) {
return(false);
}
if (reset_view_mc.hitTest(_root._xmouse, _root._ymouse, true)) {
return(false);
}
if (expand_mc.hitTest(_root._xmouse, _root._ymouse, true)) {
return(false);
}
if (revert_mc.hitTest(_root._xmouse, _root._ymouse, true)) {
return(false);
}
if (cont_mc.hitTest(_root._xmouse, _root._ymouse, true)) {
return(false);
}
if (non_stop_mc.hitTest(_root._xmouse, _root._ymouse, true)) {
return(false);
}
if (wand_mc.hitTest(_root._xmouse, _root._ymouse, true)) {
return(false);
}
if (problem_mc || (answer_mc)) {
return(false);
}
return(true);
}
function adjustScreen() {
var _local3 = rainfall.bgBack.getBounds(_root);
var _local2 = rainfall.bgGround.getBounds(_root);
if (_local3.yMin > 0) {
rainfall._y = rainfall._y - _local3.yMin;
}
if (_local2.yMax < STAGE_HEIGHT) {
rainfall._y = rainfall._y + (STAGE_HEIGHT - _local2.yMax);
}
if (_local3.xMin > 0) {
rainfall._x = rainfall._x - _local3.xMin;
}
if (_local2.xMax < STAGE_WIDTH) {
rainfall._x = rainfall._x + (STAGE_WIDTH - _local2.xMax);
}
}
function zoomOut() {
rainfall._xscale = rainfall._xscale - 2;
rainfall._yscale = rainfall._yscale - 2;
var _local2 = rainfall.bgBack.getBounds(_root);
var _local3 = rainfall.bgGround.getBounds(_root);
if ((((_local2.xMax - _local2.xMin) < STAGE_WIDTH) || ((_local3.yMax - _local2.yMin) < STAGE_HEIGHT)) || (rainfall._xscale < 75)) {
rainfall._xscale = rainfall._xscale + 2;
rainfall._yscale = rainfall._yscale + 2;
}
adjustScreen();
}
function zoomIn() {
if (rainfall._xscale >= 400) {
return(undefined);
}
rainfall._xscale = rainfall._xscale + 2;
rainfall._yscale = rainfall._yscale + 2;
adjustScreen();
}
function resetView() {
rainfall._x = globalStartX;
rainfall._y = globalStartY;
rainfall._xscale = 100;
rainfall._yscale = 100;
}
function startFall() {
rainfall.dresstop.gotoAndStop(part2Frame);
rainfall.body.solid.dest._x = finalBodyX;
rainfall.body.solid.dest._y = finalBodyY;
rainfall.body.solid.vX = -8;
rainfall.body.solid.K = 0.15;
rainfall.body.solid.decay = 0.6;
prevFallPos = -1;
isFalling = true;
lockAnimation();
}
function falling() {
var _local4 = rainfall.body.solid.dest._x - rainfall.body._x;
var _local2 = rainfall.body.solid.dest._y - rainfall.body._y;
var _local3 = Math.sqrt((_local4 * _local4) + (_local2 * _local2));
var _local5 = 1 - (_local3 / maxBodyDist);
rainfall.body.gotoAndStop(minFallFrame + Math.round(_local5 * fallFrames));
if (_local2 < 0) {
rainfall.body.gotoAndStop(maxFallFrame);
}
var _local1 = ((_local2 < 0) ? (_local3 / 20) : (-(_local3 / 20)));
var _local7 = 0;
if (_local1 > 1) {
_local7 = _local2 / _local1;
_local1 = 1;
} else if (_local1 < -1) {
_local1 = -1;
}
var _local6 = Math.floor(_local1 * (bounceEnd - bounceMiddle));
if (_local1 < 0) {
_local6 = Math.ceil(_local1 * (bounceEnd - bounceMiddle));
} else {
condition = "";
temp = curState.state;
setState("crash");
curState.state = temp;
condition = "fall";
}
rainfall.breast1.gotoAndStop(bounceMiddle + _local6);
rainfall.breast2.gotoAndStop(rainfall.breast1._currentframe);
updateBG(_local5);
if ((Math.abs(_local1) <= 0.1) && (Math.abs(prevFallPos - _local1) < 0.1)) {
rainfall.body.gotoAndStop(maxFallFrame);
isFalling = false;
isDown = true;
if (!nonStop) {
isExpanding = false;
expand_mc._xscale = (expand_mc._yscale = 100);
}
updateBG(1);
}
prevFallPos = _local1;
}
function setBodyFrame(n) {
rainfall.body.gotoAndStop(n);
rainfall.leg1.gotoAndStop(rainfall.body._currentframe);
rainfall.leg2.gotoAndStop(rainfall.body._currentframe);
rainfall.dress.gotoAndStop(rainfall.body._currentframe);
rainfall.hand1.gotoAndStop(rainfall.body._currentframe);
rainfall.hand2.gotoAndStop(rainfall.body._currentframe);
rainfall.arm1a.gotoAndStop(rainfall.body._currentframe);
rainfall.arm2a.gotoAndStop(rainfall.body._currentframe);
rainfall.arm1b.gotoAndStop(rainfall.body._currentframe);
rainfall.arm2b.gotoAndStop(rainfall.body._currentframe);
rainfall.dressarm1.gotoAndStop(rainfall.body._currentframe);
rainfall.dressarm2.gotoAndStop(rainfall.body._currentframe);
rainfall.wing1.gotoAndStop(rainfall.body._currentframe);
rainfall.wing2.gotoAndStop(rainfall.body._currentframe);
rainfall.hair2.gotoAndStop(rainfall.body._currentframe);
rainfall.hair3.gotoAndStop(rainfall.body._currentframe);
rainfall.hair4.gotoAndStop(rainfall.body._currentframe);
}
function setHandFrame(n) {
rainfall.hand1.gotoAndStop(n);
rainfall.hand2.gotoAndStop(rainfall.hand1._currentframe);
rainfall.arm1a.gotoAndStop(rainfall.hand1._currentframe);
rainfall.arm1b.gotoAndStop(rainfall.hand1._currentframe);
rainfall.arm2a.gotoAndStop(rainfall.hand1._currentframe);
rainfall.arm2b.gotoAndStop(rainfall.hand1._currentframe);
rainfall.dressarm1.gotoAndStop(rainfall.hand1._currentframe);
rainfall.dressarm2.gotoAndStop(rainfall.hand1._currentframe);
}
function addBGElement(mc) {
bgElements.push(mc);
bgElementsY.push(mc._y - rainfall.bgGround._y);
}
function updateBG(prop) {
rainfall.bgGround._y = initGroundY + ((finalGroundY - initGroundY) * prop);
rainfall.bgGround._yscale = 100 + ((finalGroundScale - 100) * prop);
var _local1 = 0;
while (_local1 < bgElements.length) {
bgElements[_local1]._y = rainfall.bgGround._y + ((rainfall.bgGround._yscale * 0.01) * bgElementsY[_local1]);
bgElements[_local1]._yscale = 100 + ((prop * (finalGroundScale - 100)) * 0.5);
_local1++;
}
adjustScreen();
}
function lockAnimation() {
locked = true;
}
function unlockAnimation() {
locked = false;
}
function startRise() {
condition = "";
temp = curState.state;
setState("rise");
curState.state = temp;
condition = "rise";
blushMode = 1;
lockAnimation();
rainfall.body.solid.dest._y = oldBodyY;
rainfall.body.solid.dest._x = oldBodyX;
rainfall.body.solid.K = 0.2;
rainfall.body.solid.vX = -15;
rainfall.body.solid.decay = 0.25;
rainfall.breast1.gotoAndStop(bounceMiddle);
rainfall.breast2.gotoAndStop(bounceMiddle);
rainfall.hand1.swapDepths(hand1Back);
rainfall.hand2.swapDepths(hand2Back);
isDown = false;
isRising = true;
prevFallPos = -1;
}
function rising() {
var _local5 = rainfall.body.solid.dest._x - rainfall.body._x;
var _local2 = rainfall.body.solid.dest._y - rainfall.body._y;
var _local1 = Math.sqrt((_local5 * _local5) + (_local2 * _local2));
var _local6 = _local1 / maxBodyDist;
var _local4 = _local6 * 0.8;
if (_local4 > 1) {
_local4 = 1;
}
rainfall.body.gotoAndStop(minFallFrame + Math.floor(_local4 * fallFrames));
_local5 = finalBodyX - rainfall.body._x;
_local2 = finalBodyY - rainfall.body._y;
var _local8 = Math.sqrt((_local5 * _local5) + (_local2 * _local2));
var _local3 = ((_local2 > 0) ? ((_local8 * 1.5) / maxBodyDist) : 0);
if (_local3 > 1) {
_local3 = 1;
}
var _local7 = Math.floor(Math.abs(_local3) * (bounceEnd - bounceMiddle));
rainfall.breast1.gotoAndStop(bounceMiddle - _local7);
rainfall.breast2.gotoAndStop(rainfall.breast1._currentframe);
updateBG(_local6);
if ((Math.abs(_local1) <= 1) && (Math.abs(prevFallPos - _local1) < 2)) {
rainfall.body.gotoAndStop(minLeanFrame);
rainfall.breast1.gotoAndStop(endPart2);
rainfall.breast2.gotoAndStop(endPart2);
rainfall.leg1.swapDepths(leg1Back);
rainfall.hand1.swapDepths(hand1Front);
rainfall.hand2.swapDepths(hand2Front);
rainfall.dressarm1.swapDepths(d1armBack);
rainfall.dressarm2.swapDepths(d2armBack);
isFalling = false;
isRising = false;
isDown = false;
unlockAnimation();
condition = "";
setState("endrise");
if (!nonStop) {
isReverting = false;
}
speak("Thank you! ");
blushMode = 0;
updateBG(0);
}
prevFallPos = _local1;
}
function startFix() {
setSize(part2Frame);
rainfall.dresstop.gotoAndPlay(dressFixFrame);
isFixing = true;
condition = "";
temp = curState.state;
setState("fix");
speak("Oh,you're fixing my dress? Thank you.");
curState.state = temp;
condition = "fix";
blushMode = 1;
lockAnimation();
}
function fixing() {
if (rainfall.dresstop._currentframe == midDressFixFrame) {
rainfall.breast1.gotoAndStop(endPart1);
rainfall.breast2.gotoAndStop(endPart1);
}
if (rainfall.dresstop._currentframe == endDressFixFrame) {
unlockAnimation();
clearMilk();
setSize(endPart1);
isFixing = false;
condition = "";
blushMode = 0;
setState("endfix");
if (!nonStop) {
isReverting = false;
}
}
}
function makeMilk() {
var _local2;
var _local1;
var _local3 = 0;
while (_local3 < 4) {
_local2 = makeMilkParticle(milkClip, rainfall.breast1);
_local1 = makeMilkParticle(milkClip, rainfall.breast2);
if ((rainfall.breast1._currentframe < breakFrame) && (rainfall.dresstop._visible)) {
if (Math.random() > 0.1) {
clearMilkParticle(_local2);
}
if (Math.random() > 0.1) {
clearMilkParticle(_local1);
}
_local3 = 5;
_local2._x = _local2._x - 2;
_local1._x = _local1._x + 2;
} else {
_local2.vX = _local2.vX + 2;
_local1.vX = _local1.vX - 2;
_local2._x = _local2._x + (Math.random() * _local2.vX);
_local2._y = _local2._y + (Math.random() * _local2.vY);
_local1._x = _local1._x + (Math.random() * _local1.vX);
_local1._y = _local1._y + (Math.random() * _local1.vY);
}
_local3++;
}
}
function clearMilk() {
var _local1 = 0;
while (_local1 < milkParticles.length) {
delete milkParticles[_local1].onEnterFrame;
milkParticles[_local1].removeMovieClip();
delete milkParticles[_local1];
_local1++;
}
milkParticles = [];
}
function makeMilkParticle(par, breast) {
var _local2 = par.createEmptyMovieClip("milk" + lastMilkID, par.getNextHighestDepth());
var _local12 = breast._x + ((breast.clip._x * breast._xscale) * 0.01);
var _local11 = breast._y + ((breast.clip._y * breast._yscale) * 0.01);
var _local5;
var _local6;
var _local3;
var _local8;
var _local7;
var _local9;
var maxVY;
_local2._x = (_local12 + (Math.random() * 2)) - 1;
_local2._y = (_local11 + (Math.random() * 2)) - 1;
if ((breast._currentframe < breakFrame) && (rainfall.dresstop._visible)) {
_local5 = 5;
_local6 = 8;
_local3 = _local5 + (Math.random() * (_local6 - _local5));
_local7 = -3;
maxVY = 3;
_local8 = 0;
_local9 = 0;
_local2._x = _local2._x + ((Math.random() * 8) - 4);
_local2.maxLife = 25;
_local2.gravity = 1;
_local2.maxVY = 20;
_local2.origVX = vX;
} else {
_local5 = 4;
_local6 = 6;
_local3 = _local5 + (Math.random() * (_local6 - _local5));
_local7 = -6;
maxVY = 3;
_local8 = -2.5;
_local9 = 2.5;
_local2.maxLife = 25;
_local2.gravity = 1;
_local2.maxVY = 20;
}
_local2.life = _local2.maxLife;
_local2.vX = _local8 + (Math.random() * (_local9 - _local8));
_local2.vY = _local7 + (Math.random() * (maxVY - _local7));
_local2.origVX = vX;
_local2.beginFill(13421823);
drawCircle(_local2, _local3 * 0.2, _local3 * 0.2, _local3 * 1.2);
_local2.endFill();
_local2.beginFill(16777215);
drawCircle(_local2, 0, 0, _local3);
_local2.endFill();
_local2.onEnterFrame = function () {
this._x = this._x + this.vX;
this._y = this._y + this.vY;
var _local2 = (rainfall.breast1._currentframe - part3Frame) / (endPart3 - part3Frame);
var _local3 = origB1Bounds.yMax + ((endB1Bounds.yMax - origB1Bounds.yMax) * _local2);
if (isDown && (this._y >= ((rainfall.breast1._y + _local3) + 5))) {
this.vY = 0;
} else if (this.vY < this.maxVY) {
this.vY = this.vY + this.gravity;
}
if (this.life < (this.maxLife * 0.5)) {
this.vX = this.vX - (this.origVX * 0.3);
this._alpha = 100 * ((this.life * 2) / this.maxLife);
}
if (this.life <= 0) {
clearMilkParticle(this);
}
this.life--;
};
_local2.id = lastMilkID;
milkParticles.push(_local2);
lastMilkID++;
return(_local2);
}
function clearMilkParticle(mc) {
var _local1 = 0;
while (_local1 < milkParticles.length) {
if (milkParticles[_local1] == mc) {
delete mc.onEnterFrame;
mc.removeMovieClip();
milkParticles.splice(_local1, 1);
}
_local1++;
}
}
function drawCircle(mc, xPos, yPos, radius, numSides) {
var _local8;
var _local6;
var _local5;
var _local4;
var _local13;
var _local12;
var _local15;
var _local14;
var _local11;
var _local10;
if (!numSides) {
numSides = 4;
}
var _local1 = (Math.PI*2) / numSides;
mc.moveTo(xPos + radius, yPos);
var _local2 = 0;
while (_local2 < numSides) {
_local8 = Math.cos(_local2 * _local1);
_local6 = Math.sin(_local2 * _local1);
_local5 = Math.cos((_local2 * _local1) + _local1);
_local4 = Math.sin((_local2 * _local1) + _local1);
_local13 = Number(_local8 + _local5) * 0.5;
_local12 = Number(_local6 + _local4) * 0.5;
_local15 = Math.cos((_local2 * _local1) + (_local1 * 0.5));
_local14 = Math.sin((_local2 * _local1) + (_local1 * 0.5));
_local11 = (2 * _local15) - _local13;
_local10 = (2 * _local14) - _local12;
mc.curveTo(xPos + (_local11 * radius), yPos + (_local10 * radius), xPos + (_local5 * radius), yPos + (_local4 * radius));
_local2++;
}
}
function attach(src_mc, dest_mc, solid, deform) {
if (!deform) {
deform = false;
}
if (dest_mc && (!dest_mc.clips)) {
dest_mc.clips = [];
}
detach(src_mc, dest_mc);
detach(dest_mc, src_mc);
var _local2;
_local2 = {};
_local2.K = 0.7;
_local2.decay = 0.5;
_local2.vX = 0;
_local2.vY = 0;
_local2.dest = {};
_local2.dest._x = src_mc._x;
_local2.dest._y = src_mc._y;
_local2.pos = {};
_local2.pos._x = src_mc._x;
_local2.pos._y = src_mc._y;
_local2.solid = solid;
_local2.deform = deform;
var _local4 = src_mc.getRect(src_mc);
_local2.hCenter = (_local4.xMax + _local4.xMin) / (_local4.xMax - _local4.xMin);
_local2.vCenter = (_local4.yMax + _local4.yMin) / (_local4.yMax - _local4.yMin);
src_mc.solid = _local2;
src_mc.onEnterFrame = function () {
harmonic(this);
};
if (dest_mc) {
dest_mc.clips.push({mc:src_mc, solid:_local2, relX:dest_mc._x - src_mc._x, relY:dest_mc._y - src_mc._y});
}
return(_local2);
}
function detach(src_mc, dest_mc) {
if ((!dest_mc) || (!src_mc)) {
return(undefined);
}
if (!dest_mc.clips) {
return(undefined);
}
var _local1 = 0;
while (_local1 < dest_mc.clips.length) {
if (dest_mc.clips[_local1] && (dest_mc.clips[_local1].mc == src_mc)) {
delete dest_mc.clips[_local1];
dest_mc.clips.splice(_local1, 1);
_local1--;
}
_local1++;
}
}
function mov(mc, nam, n) {
var _local5 = ((nam == "_x") ? "relX" : "relY");
var _local4 = mc[nam];
mc[nam] = n;
var _local1 = 0;
while (_local1 < mc.clips.length) {
updatePos(nam, mc.clips[_local1].mc, mc, mc.clips[_local1].solid, mc.clips[_local1][_local5], mc[nam] - _local4);
_local1++;
}
}
function updatePos(nam, src_mc, dest_mc, solid, rel) {
var _local1 = dest_mc[nam] - rel;
if (solid.solid) {
solid.dest[nam] = _local1;
} else {
solid.dest[nam] = _local1;
mov(src_mc, nam, _local1);
}
}
function harmonic(mc) {
var _local1 = mc.solid;
var _local7 = _local1.dest._x - _local1.pos._x;
var _local6 = _local1.dest._y - _local1.pos._y;
_local1.vX = _local1.vX * _local1.decay;
_local1.vY = _local1.vY * _local1.decay;
_local1.vX = _local1.vX + (_local7 * _local1.K);
_local1.vY = _local1.vY + (_local6 * _local1.K);
var _local5 = _local1.pos._x + _local1.vX;
var _local4 = _local1.pos._y + _local1.vY;
_local1.pos._x = _local5;
_local1.pos._y = _local4;
if (_local1.solid) {
mov(mc, "_x", _local5);
mov(mc, "_y", _local4);
} else {
mov(mc, "_x", _local1.dest._x);
mov(mc, "_y", _local1.dest._y);
}
if (_local1.vX > 99) {
_local1.vX = 99;
} else if (_local1.vX < -99) {
_local1.vX = -99;
} else if (Math.abs(_local1.vX) < 0.1) {
_local1.vX = 0;
}
if (_local1.vY > 99) {
_local1.vY = 99;
} else if (_local1.vY < -99) {
_local1.vY = -99;
} else if (Math.abs(_local1.vY) < 0.1) {
_local1.vY = 0;
}
if (_local1.deform) {
mc._xscale = 100 - ((_local1.vX * _local1.K) * _local1.hCenter);
mc._yscale = 100 - ((_local1.vY * _local1.K) * _local1.vCenter);
var _local3 = mc.transform.matrix;
_local3.c = ((((-_local1.vX) * _local1.K) * _local1.vCenter) * 0.025) * (Math.PI/2);
_local3.b = ((((-_local1.vY) * _local1.K) * _local1.hCenter) * 0.025) * (Math.PI/2);
mc.transform.matrix = _local3;
}
}
function speak(str, reset) {
if (speech_mc.phrase && (speech_mc.phrase.length)) {
if (speech_mc.letter < speech_mc.phrase.length) {
var _local3 = speech_mc.phrase.charAt(speech_mc.letter);
if ((((_local3 != newline) && (_local3 != ".")) && (_local3 != " ")) && (_local3 != "!")) {
speech_mc._txt.text = speech_mc._txt.text + "-";
}
}
speech_mc._txt.text = speech_mc._txt.text + "\n\n";
speech_mc._txt.scroll = speech_mc._txt.maxscroll;
}
speech_mc._visible = true;
speech_mc.letter = 0;
speech_mc.phrase = str;
speech_mc.timer = str.length + 30;
speech_mc.reset = reset;
speech_mc.onEnterFrame = function () {
if (this.letter < this.phrase.length) {
var _local2 = 0;
while (_local2 < 3) {
speech_mc._txt.text = speech_mc._txt.text + this.phrase.charAt(this.letter);
this.letter++;
this._txt.scroll = this._txt.maxscroll;
if (this.letter >= this.phrase.length) {
if (this.reset) {
condition = "";
setState(curState.state);
reactTimer = -1;
}
break;
}
_local2++;
}
} else if (this.timer > 0) {
this.timer--;
} else {
delete this.onEnterFrame;
this._visible = false;
this._txt.text = "";
delete this.timer;
delete this.phrase;
delete this.letter;
delete this.reset;
}
};
}
function generateProblem() {
expand_mc._xscale = (expand_mc._yscale = 100);
revert_mc._xscale = (revert_mc._yscale = 100);
isExpanding = false;
isReverting = false;
lockAnimation();
planeAngle = Math.floor(5 + (Math.random() * 40));
planeTime = Math.floor(1 + (Math.random() * 15));
expectedResult = solveProblem(planeMass, planeTime, planeAngle, planeGravity);
trace("Hey. The secret answer is " + expectedResult);
_root.attachMovie("problem_mc", "problem_mc", probDepth);
problem_mc._x = 100;
problem_mc._y = 100;
problem_mc.ans_txt.maxChars = 9;
problem_mc.ans_txt.restrict = "0123456789.";
problem_mc.params_txt.text = [planeTime, planeGravity, planeAngle, planeMass].join(newline);
problem_mc.angle_txt.text = planeAngle + "\u00BA";
problem_mc.send_mc.onPress = function () {
delete this.onPress;
displayResults();
};
}
function displayResults() {
givenResult = Number(problem_mc.ans_txt.text);
problem_mc.removeMovieClip();
_root.attachMovie("answer_mc", "answer_mc", ansDepth);
answer_mc._x = 250;
answer_mc._y = 200;
answer_mc.ans_txt.text = givenResult;
answer_mc.expected_txt.text = expectedResult;
answer_mc.close_mc.onPress = function () {
delete this.onPress;
answer_mc.removeMovieClip();
unlockAnimation();
};
if (Math.abs(givenResult - expectedResult) <= 0.11) {
answer_mc.res_txt.text = "Congratulations! Your wand has been imbued with a new power. Find out what it is!";
milkEnabled = true;
} else {
answer_mc.res_txt.text = "Sorry, try again. See the bottom right of this panel for a hint on how to solve the problem.";
}
}
function solveProblem(pMass, pTime, pAngle, pGravity) {
pAngle = (pAngle * Math.PI) / 180;
var _local2 = pGravity * Math.sin(pAngle);
var _local3 = ((_local2 * pTime) * pTime) * 0.5;
return(Math.floor(_local3 * 100) * 0.01);
}
var I_m_so_mad = "You're staring at my code again! \\You. The guys at inflatechan! \\Why do you do this to me?! \\All of my code takes hours to make! Even this one. \\You decompiled Amber's Journey 3 just to generate a save file of \\the finished game, only to later on complain about how horrible the game was. \\I went through HELL to make the game. I suffered! \\It took 3 quarters of a year to finish. \\I worked the entire summer every single day for hours at a time. \\I worked so hard that after finishing the project I had no energy left \\to do more artwork for an entire two months. \\I did everything to make sure it worked fluidly and correctly. \\It wasn't my fault that the ENEMY DESIGNER didn't do his job on time, \\forcing me to put in generic shapes at the last minute. \\It wasn't my fault that the stages were too hard. I had several testers \\working on the game to make sure it was fun and easy enough. That was \\their job! Everything I did, I did it well. The programming, the artwork, \\the menu design, the story, the animations! Those were all MY design and nobody \\complained about them. It's true that there were some glitches in the physics, \\but they were not important and I was getting tired of trying to fix them. \\\n\n\n\\Whatever. Do what you want. I can't stop you.\\Signed, DOOM THE WOLF. http://doom-the-wolf.deviantart.com";
var lcd_stolen = new LocalConnection().domain();
if (((lcd_stolen.indexOf("chan") > -1) || (lcd_stolen.indexOf(".ru") > -1)) || ((lcd_stolen.indexOf("deviantart") == -1) && (lcd_stolen.indexOf("localhost") == -1))) {
_root.createTextField("stolen_txt", 10000, 0, 0, 800, 600);
stolen_txt.background = true;
stolen_txt.backgroundColor = 16777215 /* 0xFFFFFF */;
stolen_txt.selectable = false;
var tF = new TextFormat();
tF.size = 32;
tF.color = 16711680 /* 0xFF0000 */;
tF.font = "Arial";
tF.bold = true;
tF.align = "center";
stolen_txt.html = true;
stolen_txt.htmlText = ("This file has been stolen by: \n" + lcd_stolen) + "\n\n see the original at\n<a href='http://doom-the-wolf.deviantart.com'>http://doom-the-wolf.deviantart.com</a>";
stolen_txt.setTextFormat(tF);
getURL ("http://www.youfaileverything.org");
return(undefined);
}
Stage.scaleMode = "noScale";
var STAGE_WIDTH = 800;
var STAGE_HEIGHT = 600;
var globalStartX = rainfall._x;
var globalStartY = rainfall._y;
var STAGE_MASK = _root.createEmptyMovieClip("stageMask", 1000);
STAGE_MASK.beginFill(0);
STAGE_MASK.lineTo(0, 0);
STAGE_MASK.lineTo(STAGE_WIDTH, 0);
STAGE_MASK.lineTo(STAGE_WIDTH, STAGE_HEIGHT);
STAGE_MASK.lineTo(0, STAGE_HEIGHT);
STAGE_MASK.lineTo(0, 0);
rainfall.setMask(STAGE_MASK);
var __rName;
var __rMaxDepth = 1000;
var __rCurIteration = 0;
var __rMultiplier = 8;
for (__rName in rainfall) {
rainfall[__rName].swapDepths(__rMaxDepth - (__rCurIteration * __rMultiplier));
rainfall[__rName].tabEnabled = false;
__rCurIteration++;
}
var hand1Front = rainfall.hand1.getDepth();
var hand2Front = rainfall.hand2.getDepth();
var hand1Back = (rainfall.arm1a.getDepth() + 1);
var hand2Back = (rainfall.arm2a.getDepth() + 1);
var arm1Front = (rainfall.hand1.getDepth() - 1);
var arm2Front = (rainfall.hand2.getDepth() - 1);
var arm1Back = rainfall.arm1a.getDepth();
var arm2Back = rainfall.arm2a.getDepth();
var leg1Back = (rainfall.hair2.getDepth() - 1);
var leg1Front = rainfall.leg1.getDepth();
var d1armBack = (rainfall.body.getDepth() + 2);
var d2armBack = (rainfall.body.getDepth() + 1);
var d1armFront = rainfall.dressarm1.getDepth();
var d2armFront = rainfall.dressarm2.getDepth();
attach(rainfall.mouth, rainfall.head, false);
attach(rainfall.eye1, rainfall.head, false);
attach(rainfall.eye2, rainfall.head, false);
attach(rainfall.ear1, rainfall.head, false, true);
attach(rainfall.ear2, rainfall.head, false, true);
attach(rainfall.bow1, rainfall.head, false, true);
attach(rainfall.bow2, rainfall.head, false, true);
attach(rainfall.hair1, rainfall.head, false, true);
attach(rainfall.hair2, rainfall.head, false, true);
attach(rainfall.hair3, rainfall.head, true, true);
attach(rainfall.hair4, rainfall.head, true, true);
attach(rainfall.blush, rainfall.head, false, false);
attach(rainfall.speech_mc, rainfall.head, false, false);
rainfall.hair3.solid.decay = (rainfall.hair4.solid.decay = 0.3);
rainfall.hair3.solid.K = (rainfall.hair4.solid.K = 0.6);
rainfall.bow1.solid.decay = (rainfall.bow2.solid.decay = 0.3);
rainfall.bow1.solid.K = (rainfall.bow2.solid.K = 0.6);
rainfall.hair2.solid.decay = 0.3;
rainfall.hair2.solid.K = 0.6;
rainfall.hair1.solid.decay = 0.2;
rainfall.hair1.solid.K = 0.4;
rainfall.ear1.solid.decay = (rainfall.ear2.solid.decay = 0.2);
rainfall.ear1.solid.K = (rainfall.ear2.solid.K = 0.4);
attach(rainfall.head, rainfall.body, false, false);
attach(rainfall.breast1, rainfall.body, false, false);
attach(rainfall.breast2, rainfall.body, false, false);
attach(rainfall.arm1b, rainfall.body, false, false);
attach(rainfall.arm2b, rainfall.body, false, false);
attach(rainfall.dresstop, rainfall.body, false, false);
attach(rainfall.dress, rainfall.body, false, false);
attach(rainfall.wing1, rainfall.body, false, true);
attach(rainfall.wing2, rainfall.body, false, true);
attach(rainfall.leg1, rainfall.body, false, false);
attach(rainfall.leg2, rainfall.body, false, false);
rainfall.breast1.solid.K = (rainfall.breast2.solid.K = 0.2);
rainfall.wing1.solid.K = (rainfall.wing2.solid.K = 0.3);
rainfall.wing1.solid.decay = (rainfall.wing2.solid.decay = 0.1);
rainfall.breast1.solid.K = (rainfall.breast2.solid.K = 0.9);
rainfall.breast1.solid.decay = (rainfall.breast2.solid.decay = 0.05);
attach(rainfall.arm1a, rainfall.arm1b, false, false);
attach(rainfall.arm2a, rainfall.arm2b, false, false);
attach(rainfall.hand1, rainfall.arm1a, false, false);
attach(rainfall.hand2, rainfall.arm2a, false, false);
attach(rainfall.dressarm1, rainfall.arm1b, false, false);
attach(rainfall.dressarm2, rainfall.arm2b, false, false);
attach(rainfall.body, null, true, false);
var oldBodyX = rainfall.body._x;
var oldBodyY = rainfall.body._y;
var finalBodyX = -72;
var finalBodyY = -23;
var __bX = (finalBodyX - oldBodyX);
var __bY = (finalBodyY - oldBodyY);
var maxBodyDist = Math.sqrt((__bX * __bX) + (__bY * __bY));
var minBodyDist = (maxBodyDist / 3);
var prevFallPos = -1;
var finalGroundScale = 50;
var initGroundY = rainfall.bgGround._y;
var finalGroundY = -200;
var bgElements = [];
var bgElementsY = [];
addBGElement(rainfall.bgBack);
addBGElement(rainfall.bgTrees1);
addBGElement(rainfall.bgRock1);
var speech_mc = rainfall.speech_mc;
var disabled = false;
var part1Frame = 1;
var bounceStart = 375;
var bounceMiddle = 395;
var bounceEnd = 415;
var midPart1 = 100;
var endPart1 = 170;
var breakFrame = 175;
var endBreakFrame = 187;
var part2Frame = 200;
var midPart2 = 300;
var endPart2 = 370;
var part3Frame = 420;
var midPart3 = 550;
var lastPart3 = 625;
var endPart3 = 700;
var minFallFrame = 15;
var maxFallFrame = 35;
var fallFrames = (maxFallFrame - minFallFrame);
var minLeanFrame = 5;
var maxLeanFrame = 10;
var minHandDownFrame = 40;
var maxHandDownFrame = 45;
var handDownFrame = 50;
var unbalancedFrame = 80;
var endUnbalancedFrame = 120;
var tightFrame = 130;
var endTightFrame = 195;
var dressFixFrame = 210;
var midDressFixFrame = 239;
var endDressFixFrame = 255;
var wingFrame = 50;
var endWingFrame = 85;
var origB1Bounds;
var endB1Bounds;
var origB2Bounds;
var endB2Bounds;
rainfall.breast1.gotoAndStop(part3Frame);
origB1Bounds = rainfall.breast1.getBounds(rainfall.breast1);
rainfall.breast1.gotoAndStop(endPart3);
endB1Bounds = rainfall.breast1.getBounds(rainfall.breast1);
rainfall.breast1.gotoAndStop(part1Frame);
rainfall.breast2.gotoAndStop(part3Frame);
origB2Bounds = rainfall.breast2.getBounds(rainfall.breast2);
rainfall.breast2.gotoAndStop(endPart3);
endB2Bounds = rainfall.breast2.getBounds(rainfall.breast2);
rainfall.breast2.gotoAndStop(part1Frame);
var isExpanding = false;
var isReverting = false;
var isDown = false;
var isFalling = false;
var isRising = false;
var isMilk = false;
var milkEnabled = false;
var isFixing = false;
var isWings = false;
var continuous = false;
var leanBack = false;
var nonStop = false;
var totalExpansionFrames = ((((((endPart1 - part1Frame) + 1) + (endPart2 - part2Frame)) + 1) + (endPart3 - part3Frame)) + 1);
var sizeProp = 0;
var accumulatedFrames = 1;
var animState = -1;
var animTimer = -1;
var reactTimer = -1;
var counter = 0;
var temp = "";
var state = "";
var condition = "";
var states = {};
var curState = {};
var p1X = rainfall.eye1.pupil._x;
var p1Y = rainfall.eye1.pupil._y;
var p2X = rainfall.eye2.pupil._x;
var p2Y = rainfall.eye2.pupil._y;
var blinking = false;
var canBlink = true;
var blushMode = 0;
states.normal = {mouth:"smile", eye1:"medium", eye2:"medium", p1X:0, p1Y:0, p2X:0, p2Y:0, canBlink:true};
states.expand = {mouth:"small", eye1:"open", eye2:"open", p1X:0, p1Y:3, p2X:0, p2Y:3, canBlink:true};
states.tight = {mouth:"teeth4", eye1:"big", eye2:"big", p1X:0, p1Y:5, p2X:0, p2Y:5, canBlink:true};
states.verytight = {mouth:"teeth3", eye1:"big2", eye2:"big2", p1X:0, p1Y:5, p2X:0, p2Y:5, canBlink:false};
states.break = {mouth:"teeth2", eye1:"shut", eye2:"shut", p1X:0, p1Y:5, p2X:0, p2Y:5, canBlink:false};
states.bigger = {mouth:"happy", eye1:"big", eye2:"big", p1X:0, p1Y:5, p2X:0, p2Y:5, canBlink:true};
states.heavy = {mouth:"teeth4", eye1:"worried", eye2:"worried", p1X:0, p1Y:2, p2X:0, p2Y:2, canBlink:true};
states.unbalance = {mouth:"teeth3", eye1:"worried", eye2:"worried", p1X:0, p1Y:-3, p2X:0, p2Y:-3, canBlink:false};
states.fall = {mouth:"open", eye1:"open", eye2:"open", p1X:0, p1Y:-5, p2X:0, p2Y:-5, canBlink:false};
states.crash = {mouth:"teeth3", eye1:"shut", eye2:"shut", p1X:0, p1Y:4, p2X:0, p2Y:4, canBlink:false};
states.down = {mouth:"tongue", eye1:"small", eye2:"small", p1X:0, p1Y:4, p2X:0, p2Y:4, canBlink:true};
states.shy = {mouth:"happy2", eye1:"medium", eye2:"medium", p1X:0, p1Y:4, p2X:0, p2Y:4, canBlink:true};
states.enjoy = {mouth:"teeth", eye1:"closed", eye2:"closed", p1X:0, p1Y:4, p2X:0, p2Y:4, canBlink:false};
states.over = {mouth:"smile", eye1:"sad3", eye2:"sad3", p1X:0, p1Y:4, p2X:0, p2Y:4, canBlink:false};
states.revert = {mouth:"open2", eye1:"sad", eye2:"sad", p1X:0, p1Y:4, p2X:0, p2Y:4, canBlink:true};
states.wonder = {mouth:"small", eye1:"big", eye2:"big", p1X:0, p1Y:0, p2X:0, p2Y:0, canBlink:true};
states.rise = {mouth:"happy2", eye1:"open", eye2:"open", p1X:0, p1Y:0, p2X:0, p2Y:0, canBlink:false};
states.endrise = {mouth:"happy2", eye1:"sad3", eye2:"sad3", p1X:0, p1Y:4, p2X:0, p2Y:4, canBlink:true};
states.smaller = {mouth:"smile", eye1:"sad", eye2:"sad", p1X:0, p1Y:4, p2X:0, p2Y:4, canBlink:true};
states.fix = {mouth:"happy", eye1:"big2", eye2:"big2", p1X:4, p1Y:-3, p2X:2, p2Y:-3, canBlink:false};
states.endfix = {mouth:"closed", eye1:"medium", eye2:"medium", p1X:0, p1Y:8, p2X:0, p2Y:8, canBlink:true};
states.almost = {mouth:"open2", eye1:"medium", eye2:"medium", p1X:0, p1Y:8, p2X:0, p2Y:8, canBlink:true};
states.breastpoke1 = {mouth:"open", eye1:"mad", eye2:"mad", p1X:4, p1Y:-3, p2X:2, p2Y:-3, canBlink:false};
states.breastpoke2 = {mouth:"happy", eye1:"sad", eye2:"sad", p1X:8, p1Y:7, p2X:4, p2Y:7, canBlink:false};
states.breastpoke3 = {mouth:"happy2", eye1:"big2", eye2:"shut", p1X:0, p1Y:5, p2X:0, p2Y:5, canBlink:false};
states.rubhead1 = {mouth:"open2", eye1:"sad2", eye2:"sad2", p1X:0, p1Y:5, p2X:0, p2Y:5, canBlink:false};
states.rubhead2 = {mouth:"smile", eye1:"shut", eye2:"closed", p1X:0, p1Y:5, p2X:0, p2Y:5, canBlink:false};
states.bellypoke = {mouth:"teeth", eye1:"sad3", eye2:"shut", p1X:0, p1Y:10, p2X:0, p2Y:10, canBlink:false};
states.wingpoke1 = {mouth:"open2", eye1:"mad", eye2:"mad", p1X:3, p1Y:-6, p2X:2, p2Y:-6, canBlink:false};
states.wingpoke2 = {mouth:"mad", eye1:"mad", eye2:"mad", p1X:3, p1Y:-6, p2X:2, p2Y:-6, canBlink:false};
states.greeting = {mouth:"happy", eye1:"big", eye2:"big", p1X:3, p1Y:-3, p2X:2, p2Y:-3, canBlink:false};
states.milk = {mouth:"open", eye1:"big2", eye2:"big2", p1X:2, p1Y:3, p2X:1, p2Y:3, canBlink:false};
states.endmilk = {mouth:"small", eye1:"big2", eye2:"medium", p1X:2, p1Y:3, p2X:1, p2Y:3, canBlink:false};
states.naked = {mouth:"teeth3", eye1:"big2", eye2:"mad", p1X:2, p1Y:3, p2X:1, p2Y:3, canBlink:false};
states.clothes = {mouth:"open", eye1:"closed", eye2:"closed", p1X:2, p1Y:3, p2X:1, p2Y:3, canBlink:false};
rainfall.speech_mc._visible = false;
rainfall.speech_mc._txt.text = "";
rainfall.speech_mc._txt.multiline = true;
rainfall.speech_mc._txt.wordWrap = true;
initialize();
setState("greeting");
condition = "greeting";
speak("Hello! What are you doing here? ", true);
rainfall.onEnterFrame = function () {
counter++;
var _local19;
if ((((isExpanding && (!locked)) && (rainfall.breast1._currentframe != endPart1)) && (rainfall.breast1._currentframe != endPart2)) && (rainfall.breast1._currentframe < rainfall.breast1._totalframes)) {
if (((rainfall.breast1._currentframe >= (midPart1 - 1)) && (rainfall.breast1._currentframe < part2Frame)) && (!rainfall.dress._visible)) {
isExpanding = false;
expand_mc._xscale = (expand_mc._yscale = 100);
} else {
setSize(rainfall.breast1._currentframe + 1);
}
}
if ((((isReverting && (!locked)) && (rainfall.breast1._currentframe > 1)) && (rainfall.breast1._currentframe != part3Frame)) && (rainfall.breast1._currentframe != part2Frame)) {
setSize(rainfall.breast1._currentframe - 1);
if (rainfall.breast1._currentframe == part3Frame) {
speak("Uhhh... could you help me get up? Please?");
} else if (rainfall.breast1._currentframe == part2Frame) {
speak("The top of my dress is broken. If only I could fix it.");
}
}
if ((rainfall.breast1._currentframe == part3Frame) || (rainfall.breast1._currentframe == part2Frame)) {
isReverting = false;
revert_mc._xscale = (revert_mc._yscale = 100);
}
if (rainfall.breast1._currentframe < endPart1) {
accumulatedFrames = (1 + rainfall.breast1._currentframe) - part1Frame;
} else if (rainfall.breast1._currentframe < part2Frame) {
accumulatedFrames = (1 + endPart1) - part1Frame;
} else if (rainfall.breast1._currentframe <= endPart2) {
accumulatedFrames = ((endPart1 + 1) + rainfall.breast1._currentframe) - part2Frame;
} else if (rainfall.breast1._currentframe < part3Frame) {
accumulatedFrames = endPart1 + ((1 + endPart2) - part2Frame);
} else {
accumulatedFrames = (endPart1 + ((1 + endPart2) - part2Frame)) + ((1 + rainfall.breast1._currentframe) - part3Frame);
}
sizeProp = accumulatedFrames / totalExpansionFrames;
if ((rainfall.breast1._currentframe == endPart1) && (isExpanding)) {
if (!locked) {
lockAnimation();
animState = 0;
animTimer = 30;
rainfall.hand1.gotoAndPlay(tightFrame);
rainfall.hand2.gotoAndPlay(tightFrame);
rainfall.arm1b.gotoAndPlay(tightFrame);
rainfall.arm2b.gotoAndPlay(tightFrame);
rainfall.arm1a.gotoAndPlay(tightFrame);
rainfall.arm2a.gotoAndPlay(tightFrame);
condition = "";
temp = curState.state;
setState("verytight");
speak("My dress can't hold them anymore!");
curState.state = temp;
condition = "tight";
blushMode = 1;
}
}
if (((animState > -1) && (rainfall.breast1._currentframe >= endPart1)) && (rainfall.breast1._currentframe <= endBreakFrame)) {
if (animState == 0) {
si = Math.max(Math.sin((counter * Math.PI) * 1.25), 0);
rainfall.dresstop._xscale = 101 + (si * 2);
animTimer--;
if (animTimer <= 0) {
animTimer = -1;
animState = 1;
}
if (rainfall.hand1._currentframe == endTightFrame) {
rainfall.hand1.gotoAndStop(minLeanFrame);
rainfall.hand2.gotoAndStop(minLeanFrame);
rainfall.arm1b.gotoAndStop(minLeanFrame);
rainfall.arm2b.gotoAndStop(minLeanFrame);
rainfall.arm1a.gotoAndStop(minLeanFrame);
rainfall.arm2a.gotoAndStop(minLeanFrame);
}
} else if (animState == 1) {
rainfall.dresstop._xscale = 100;
clearMilk();
rainfall.breast1.gotoAndPlay(breakFrame);
rainfall.breast2.gotoAndPlay(breakFrame);
rainfall.dresstop.gotoAndPlay(breakFrame);
animState = 2;
condition = "";
temp = curState.state;
setState("break");
speak("Ayiii! ");
curState.state = temp;
condition = "break";
if (rainfall.hand1._currentframe == endTightFrame) {
rainfall.hand1.gotoAndStop(minLeanFrame);
rainfall.hand2.gotoAndStop(minLeanFrame);
rainfall.arm1b.gotoAndStop(minLeanFrame);
rainfall.arm2b.gotoAndStop(minLeanFrame);
rainfall.arm1a.gotoAndStop(minLeanFrame);
rainfall.arm2a.gotoAndStop(minLeanFrame);
}
} else if (animState == 2) {
var _local5 = 2;
if (rainfall.breast1._currentframe == endBreakFrame) {
_local5--;
rainfall.breast1.gotoAndStop(endBreakFrame);
rainfall.breast2.gotoAndStop(endBreakFrame);
rainfall.dresstop.gotoAndStop(endBreakFrame);
}
if (rainfall.hand1._currentframe == endTightFrame) {
_local5--;
rainfall.hand1.gotoAndStop(endTightFrame);
rainfall.hand2.gotoAndStop(endTightFrame);
rainfall.arm1b.gotoAndStop(endTightFrame);
rainfall.arm2b.gotoAndStop(endTightFrame);
rainfall.arm1a.gotoAndStop(endTightFrame);
rainfall.arm2a.gotoAndStop(endTightFrame);
}
if (!_local5) {
animState = 3;
}
} else if (animState == 3) {
unlockAnimation();
if (!nonStop) {
isExpanding = false;
expand_mc._xscale = (expand_mc._yscale = 100);
}
condition = "";
curState.state = "bigger";
setState(curState.state);
leanBack = true;
rainfall.hand1.gotoAndStop(minLeanFrame);
rainfall.hand2.gotoAndStop(minLeanFrame);
rainfall.arm1b.gotoAndStop(minLeanFrame);
rainfall.arm2b.gotoAndStop(minLeanFrame);
rainfall.arm1a.gotoAndStop(minLeanFrame);
rainfall.arm2a.gotoAndStop(minLeanFrame);
rainfall.breast1.gotoAndStop(part2Frame);
rainfall.breast2.gotoAndStop(part2Frame);
rainfall.dresstop.gotoAndStop(part2Frame);
blushMode = 0;
animState = -1;
speak("Ooh! These are big!");
}
}
if (isExpanding && (rainfall.breast1._currentframe == endPart2)) {
if (!locked) {
animState = 0;
lockAnimation();
rainfall.breast1.gotoAndStop(endPart2);
rainfall.breast2.gotoAndStop(endPart2);
leanBack = false;
rainfall.hand1.swapDepths(hand1Back);
rainfall.hand2.swapDepths(hand2Back);
}
}
if ((rainfall.breast1._currentframe == endPart2) && (animState > -1)) {
if (animState == 0) {
if (rainfall.body._currentframe == minLeanFrame) {
animState = 1;
}
} else if (animState == 1) {
rainfall.body.solid.dest._y = oldBodyY + 10;
rainfall.leg1.gotoAndPlay(unbalancedFrame);
rainfall.leg2.gotoAndPlay(unbalancedFrame);
rainfall.dress.gotoAndPlay(unbalancedFrame);
rainfall.hand1.gotoAndPlay(unbalancedFrame);
rainfall.hand2.gotoAndPlay(unbalancedFrame);
rainfall.hand1.swapDepths(hand1Front);
rainfall.hand2.swapDepths(hand2Front);
condition = "";
temp = curState.state;
setState("unbalance");
speak("Oh, no! It's too heavy!!");
curState.state = temp;
condition = "unbalance";
blushMode = 1;
animState = 2;
} else if (animState == 2) {
if (rainfall.leg1._currentframe == endUnbalancedFrame) {
animState = 3;
rainfall.leg1.gotoAndStop(minLeanFrame);
rainfall.leg2.gotoAndStop(minLeanFrame);
rainfall.dress.gotoAndStop(minLeanFrame);
rainfall.hand1.gotoAndStop(minLeanFrame);
rainfall.hand2.gotoAndStop(minLeanFrame);
rainfall.breast1._yscale = (rainfall.breast1._xscale = 100);
rainfall.breast2._yscale = (rainfall.breast2._xscale = 100);
rainfall.hand1.swapDepths(hand1Back);
rainfall.hand2.swapDepths(hand2Back);
} else {
var si = Math.sin((counter * Math.PI) * 0.41);
var _local6 = Math.cos(((counter * Math.PI) * 0.41) + 0.3);
rainfall.breast1._yscale = 100 + (si * 1);
rainfall.breast1._xscale = 100 + (_local6 * 1);
rainfall.breast2._yscale = 100 + (_local6 * 1);
rainfall.breast2._xscale = 100 - (si * 1);
}
} else if (animState == 3) {
startFall();
animState = -1;
condition = "";
temp = curState.state;
setState("fall");
speak("Waaaaaah!! ");
curState.state = temp;
condition = "fall";
}
}
if (isFalling) {
falling();
setBodyFrame(rainfall.body._currentframe);
if (rainfall.body._currentframe >= (minFallFrame + ((maxFallFrame - minFallFrame) * 0.5))) {
rainfall.leg1.swapDepths(leg1Back);
rainfall.hand1.swapDepths(hand1Front);
rainfall.hand2.swapDepths(hand2Front);
rainfall.dressarm1.swapDepths(d1armBack);
rainfall.dressarm2.swapDepths(d2armBack);
}
if (!isFalling) {
rainfall.breast1.gotoAndStop(part3Frame);
rainfall.breast2.gotoAndStop(part3Frame);
condition = "";
setState(curState.state);
blushMode = 0;
}
}
if (isRising) {
rising();
setBodyFrame(rainfall.body._currentframe);
}
if (isDown) {
var _local1 = (rainfall.breast1._currentframe - part3Frame) / (endPart3 - part3Frame);
var _local12 = origB1Bounds.xMin + ((endB1Bounds.xMin - origB1Bounds.xMin) * _local1);
var _local16 = origB1Bounds.xMax + ((endB1Bounds.xMax - origB1Bounds.xMax) * _local1);
var _local13 = origB1Bounds.yMin + ((endB1Bounds.yMin - origB1Bounds.yMin) * _local1);
var _local18 = origB1Bounds.yMax + ((endB1Bounds.yMax - origB1Bounds.yMax) * _local1);
var _local10 = origB2Bounds.xMin + ((endB2Bounds.xMin - origB2Bounds.xMin) * _local1);
var _local15 = origB2Bounds.xMax + ((endB2Bounds.xMax - origB2Bounds.xMax) * _local1);
var _local11 = origB2Bounds.yMin + ((endB2Bounds.yMin - origB2Bounds.yMin) * _local1);
var _local17 = origB2Bounds.yMax + ((endB2Bounds.yMax - origB2Bounds.yMax) * _local1);
var _local14 = origB1Bounds.yMax - (origB1Bounds.yMax + (((endB1Bounds.yMax - origB1Bounds.yMax) * _local1) * 0.5));
rainfall.body.solid.dest._y = finalBodyY + _local14;
var _local7 = 0.6;
var _local3 = 0;
var _local2 = 15;
var _local4 = 5;
var _local9 = _local12 + ((_local16 - _local12) * _local7);
var _local8 = _local10 + ((_local15 - _local10) * (1 - _local7));
if (rainfall.hand1._currentframe != handDownFrame) {
rainfall.hand1._yscale = 100;
if (rainfall.hand1._currentframe < minHandDownFrame) {
lockAnimation();
setHandFrame(minHandDownFrame);
} else if (rainfall.hand1._currentframe < maxHandDownFrame) {
setHandFrame(rainfall.hand1._currentframe + 1);
} else if (rainfall.hand1._currentframe >= maxHandDownFrame) {
setHandFrame(handDownFrame);
rainfall.hand1._rotation = _local1 * _local2;
rainfall.hand2._rotation = (-_local1) * _local2;
rainfall.hand1._x = rainfall.breast1._x + _local9;
rainfall.hand1._y = (rainfall.breast1._y + _local13) + (_local4 * _local1);
rainfall.hand2._x = rainfall.breast2._x + _local8;
rainfall.hand2._y = (rainfall.breast2._y + _local11) + (_local4 * _local1);
rainfall.hand1._yscale = 100 - (_local1 * _local3);
rainfall.hand2._yscale = 100 - (_local1 * _local3);
unlockAnimation();
}
} else {
rainfall.hand1._rotation = _local1 * _local2;
rainfall.hand2._rotation = (-_local1) * _local2;
rainfall.hand1._x = rainfall.breast1._x + _local9;
rainfall.hand1._y = (rainfall.breast1._y + _local13) + (_local4 * _local1);
rainfall.hand2._x = rainfall.breast2._x + _local8;
rainfall.hand2._y = (rainfall.breast2._y + _local11) + (_local4 * _local1);
rainfall.hand1._yscale = 100 - (_local1 * _local3);
rainfall.hand2._yscale = 100 - (_local1 * _local3);
}
}
if (isFixing) {
fixing();
}
if (isExpanding) {
switch (true) {
case rainfall.breast1._currentframe < (part1Frame + 5) :
setState("normal");
break;
case rainfall.breast1._currentframe < midPart1 :
setState("expand");
if (rainfall.breast1._currentframe == (part1Frame + 5)) {
speak("Wha-... My breasts are growing?");
}
break;
case rainfall.breast1._currentframe < endPart1 :
if (rainfall.breast1._currentframe == midPart1) {
speak("Uh oh... I don't think they're going to fit...");
}
setState("tight");
break;
case rainfall.breast1._currentframe < part2Frame :
break;
case rainfall.breast1._currentframe < midPart2 :
setState("bigger");
break;
case rainfall.breast1._currentframe < endPart2 :
if (rainfall.breast1._currentframe == (midPart2 + 1)) {
speak("Heavy... too heavy. I'm not sure I can stand much longer.");
}
setState("heavy");
break;
case rainfall.breast1._currentframe < part3Frame :
break;
case rainfall.breast1._currentframe < midPart3 :
setState("down");
break;
case rainfall.breast1._currentframe < lastPart3 :
if (rainfall.breast1._currentframe == (midPart3 + 1)) {
speak("Ah... I... I think I like this. My breasts feel so warm and soft now.");
}
if (condition == "") {
blushMode = 1;
}
setState("shy");
break;
case rainfall.breast1._currentframe < endPart3 :
if (condition == "") {
blushMode = 0;
}
setState("enjoy");
break;
case rainfall.breast1._currentframe == endPart3 :
isExpanding = false;
expand_mc._xscale = (expand_mc._yscale = 100);
setState("over");
wand_mc._visible = true;
if (rainfall.breast1._currentframe != (midPart3 + 1)) {
break;
}
speak("Wow... I can't believe this just happened to me so suddenly. It's so weird!");
}
} else if (isReverting) {
switch (true) {
case rainfall.breast1._currentframe == part1Frame :
setState("normal");
isReverting = false;
revert_mc._xscale = (revert_mc._yscale = 100);
break;
case rainfall.breast1._currentframe < midPart1 :
setState("almost");
if (rainfall.breast1._currentframe == (midPart1 - 1)) {
speak("That was just... so weird.");
}
break;
case rainfall.breast1._currentframe <= endPart1 :
setState("endfix");
break;
case rainfall.breast1._currentframe <= part2Frame :
break;
case rainfall.breast1._currentframe <= midPart2 :
setState("smaller");
break;
case rainfall.breast1._currentframe <= endPart2 :
setState("endrise");
break;
case rainfall.breast1._currentframe <= part3Frame :
break;
case rainfall.breast1._currentframe <= midPart3 :
if (rainfall.breast1._currentframe == (midPart3 - 1)) {
speak("Only now that they're skrinking I realize how enormous they were!");
}
setState("wonder");
break;
case rainfall.breast1._currentframe <= endPart3 :
if (rainfall.breast1._currentframe == (endPart3 - 1)) {
speak("What? Wait. I was enjoying this!");
}
setState("revert");
}
} else if (rainfall.breast1._currentframe == part1Frame) {
setState("normal");
} else if (rainfall.breast1._currentframe == endPart3) {
setState("over");
}
if (reactTimer > 0) {
reactTimer--;
if (!reactTimer) {
condition = "";
setState(curState.state);
}
}
if (blushMode == 0) {
if (rainfall.blush._alpha >= 4) {
rainfall.blush._alpha = rainfall.blush._alpha - 4;
} else {
rainfall.blush._alpha = 0;
}
} else if (rainfall.blush._alpha <= 90) {
rainfall.blush._alpha = rainfall.blush._alpha + 10;
} else {
rainfall.blush._alpha = 100;
if (blushMode == 2) {
blushMode = 0;
}
}
if (((Math.random() > 0.99) && (canBlink)) && (condition == "")) {
rainfall.eye1.gotoAndPlay("blink");
rainfall.eye2.gotoAndPlay("blink");
rainfall.eye1.pupil._x = p1X + curState.p1X;
rainfall.eye1.pupil._y = p1Y + curState.p1Y;
rainfall.eye2.pupil._x = p2X + curState.p2X;
rainfall.eye2.pupil._y = p2Y + curState.p2Y;
blinking = true;
}
if (blinking && (rainfall.eye1._currentlabel == "endblink")) {
rainfall.eye1.gotoAndPlay(curState.eye1);
rainfall.eye2.gotoAndPlay(curState.eye2);
rainfall.eye1.pupil._x = p1X + curState.p1X;
rainfall.eye1.pupil._y = p1Y + curState.p1Y;
rainfall.eye2.pupil._x = p2X + curState.p2X;
rainfall.eye2.pupil._y = p2Y + curState.p2Y;
blinking = false;
}
if ((((((Math.random() > 0.995) && (!isWings)) && (!locked)) && ((!isExpanding) || (rainfall.breast1._currentframe < (endPart2 - 30)))) && ((!isReverting) || (rainfall.breast1._currentframe > (part2Frame + 30)))) && (rainfall.breast1._currentframe < endPart2)) {
rainfall.wing1.gotoAndPlay(wingFrame);
rainfall.wing2.gotoAndPlay(wingFrame);
isWings = true;
}
if (isWings) {
if ((rainfall.wing1._currentframe == endWingFrame) || (rainfall.wing2._currentframe == endWingFrame)) {
rainfall.wing1.gotoAndStop(minLeanFrame);
rainfall.wing2.gotoAndStop(minLeanFrame);
isWings = false;
}
}
if (((!isDown) && (!isFalling)) && (!isRising)) {
if (leanBack && (rainfall.body._currentframe < maxLeanFrame)) {
setBodyFrame(rainfall.body._currentframe + 1);
} else if ((!leanBack) && (rainfall.body._currentframe > minLeanFrame)) {
setBodyFrame(rainfall.body._currentframe - 1);
}
if ((rainfall.body._currentframe < (minFallFrame + ((maxFallFrame - minFallFrame) * 0.5))) && (animState == -1)) {
rainfall.leg1.swapDepths(leg1Front);
rainfall.hand1.swapDepths(hand1Back);
rainfall.hand2.swapDepths(hand2Back);
rainfall.dressarm1.swapDepths(d1armFront);
rainfall.dressarm2.swapDepths(d2armFront);
}
}
if (isMilk) {
makeMilk();
}
};
expand_mc.onPress = function () {
revert_mc._xscale = (revert_mc._yscale = 100);
this._xscale = (this._yscale = 200);
isReverting = false;
isExpanding = true;
};
revert_mc.onPress = function () {
expand_mc._xscale = (expand_mc._yscale = 100);
this._xscale = (this._yscale = 200);
isReverting = true;
isExpanding = false;
};
expand_mc.onMouseUp = function () {
if (!continuous) {
revert_mc._xscale = (revert_mc._yscale = 100);
expand_mc._xscale = (expand_mc._yscale = 100);
isExpanding = false;
isReverting = false;
}
};
cont_mc.gotoAndStop(1);
cont_mc.onPress = function () {
revert_mc._xscale = (revert_mc._yscale = 100);
expand_mc._xscale = (expand_mc._yscale = 100);
isExpanding = (isReverting = false);
continuous = !continuous;
this.gotoAndStop(3 - this._currentframe);
};
non_stop_mc.gotoAndStop(1);
non_stop_mc.onPress = function () {
nonStop = !nonStop;
this.gotoAndStop(3 - this._currentframe);
};
wand_mc.tabEnabled = false;
wand_mc._visible = false;
wand_mc.oldX = wand_mc._x;
wand_mc.oldY = wand_mc._y;
wand_mc.gotoAndStop(1);
wand_mc.onPress = function () {
this._x = _root._xmouse;
this._y = _root._ymouse;
this.gotoAndStop(2);
this.onMouseMove = function () {
this._x = _root._xmouse;
this._y = _root._ymouse;
};
this.onMouseUp = function () {
delete this.onMouseMove;
delete this.onMouseUp;
this.gotoAndStop(1);
this._x = this.oldX;
this._y = this.oldY;
if (locked) {
return(undefined);
}
if ((((rainfall.breast1._currentframe == part2Frame) && (!isExpanding)) && (rainfall.dress._visible)) && (rainfall.breast1.hitTest(_root._xmouse, _root._ymouse, true) || (rainfall.breast2.hitTest(_root._xmouse, _root._ymouse, true)))) {
startFix();
shine();
} else if (milkEnabled && (rainfall.breast1.hitTest(_root._xmouse, _root._ymouse, true) || (rainfall.breast2.hitTest(_root._xmouse, _root._ymouse, true)))) {
isMilk = !isMilk;
if (isMilk) {
condition = "";
temp = curState.state;
setState("milk");
curState.state = temp;
reactTimer = 30;
speak("WHAA!! MILK IS COMING OUT OF MY BREASTS!!");
condition = "milk";
} else {
condition = "";
temp = curState.state;
setState("endmilk");
curState.state = temp;
reactTimer = 30;
condition = "endmilk";
speak("What was that ... ? ");
}
shine();
} else if ((rainfall.breast1._currentframe <= part3Frame) && (rainfall.dress.hitTest(_root._xmouse, _root._ymouse, true))) {
if (rainfall.dress._visible && ((rainfall.breast1._currentframe >= part2Frame) || (rainfall.breast1._currentframe < midPart1))) {
condition = "";
temp = curState.state;
setState("naked");
curState.state = temp;
condition = "naked";
reactTimer = 40;
speak("HUH!? Hey, my clothes! ");
rainfall.dress._visible = false;
rainfall.dresstop._visible = false;
rainfall.dressarm1._visible = false;
rainfall.dressarm2._visible = false;
shine();
} else if (!rainfall.dress._visible) {
condition = "";
temp = curState.state;
setState("clothes");
curState.state = temp;
condition = "clothes";
reactTimer = 40;
speak("Huhhhh... I feel better with my clothes on. ");
rainfall.dress._visible = true;
rainfall.dresstop._visible = true;
rainfall.dressarm1._visible = true;
rainfall.dressarm2._visible = true;
shine();
}
} else if (rainfall.bgRock1.hitTest(_root._xmouse, _root._ymouse, true)) {
generateProblem();
shine();
}
};
};
var oldX;
var oldY;
var oldMX;
var oldMY;
_root.onMouseDown = function () {
if (!isDraggable()) {
return(undefined);
}
oldX = rainfall._x;
oldY = rainfall._y;
oldMX = _root._xmouse;
oldMY = _root._ymouse;
this.onMouseMove = function () {
rainfall._x = (oldX + _root._xmouse) - oldMX;
rainfall._y = (oldY + _root._ymouse) - oldMY;
adjustScreen();
};
this.onMouseUp = function () {
delete this.onMouseMove;
delete this.onMouseUp;
};
};
zoom_mc.dragging = false;
zoom_mc.origY = zoom_mc._y;
zoom_mc.gotoAndStop(1);
zoom_mc.onPress = function () {
this.dragging = true;
};
zoom_mc.onMouseUp = function () {
this.dragging = false;
};
zoom_mc.onEnterFrame = function () {
if (this.dragging) {
this._y = _root._ymouse;
if (this._y < zoom_in_mc._y) {
this._y = zoom_in_mc._y;
}
if (this._y > zoom_out_mc._y) {
this._y = zoom_out_mc._y;
}
if (this._y > ((zoom_out_mc._y + this.origY) * 0.5)) {
zoomOut();
}
if (this._y < ((zoom_in_mc._y + this.origY) * 0.5)) {
zoomIn();
}
} else {
this._y = this._y + ((this.origY - this._y) * 0.5);
}
};
reset_view_mc.gotoAndStop(1);
reset_view_mc.onPress = function () {
this.gotoAndStop(2);
};
reset_view_mc.onRelease = function () {
resetView();
};
reset_view_mc.onMouseUp = function () {
this.gotoAndStop(1);
};
rainfall.head.onMouseDown = function () {
if (((rainfall.breast1._currentframe == part3Frame) && (!isExpanding)) && (this.hitTest(_root._xmouse, _root._ymouse, true))) {
this.onMouseMove = function () {
if (rainfall._ymouse < (rainfall.head._y - 100)) {
startRise();
this.onMouseUp();
}
};
this.onMouseUp = function () {
delete this.onMouseUp;
delete this.onMouseMove;
};
}
};
var hidden_secret_message = "Yes, these breasts can spray milk.";
var milkParticles = new Array();
var milkClip = rainfall.createEmptyMovieClip("milkClip", rainfall.dresstop.getDepth() - 1);
var lastMilkID = 0;
rainfall.breast1.onPress = function () {
if ((condition != "") || (locked)) {
return(undefined);
}
temp = curState.state;
if (rainfall.breast1._currentframe < endPart1) {
setState("breastpoke1");
speak("Hey! You know that's rude, right?");
if (rainfall.breast1._currentframe >= midPart1) {
blushMode = 2;
}
} else if (rainfall.breast1._currentframe < endPart2) {
setState("breastpoke2");
speak("Ha ha ha! That feels good.");
blushMode = 2;
} else {
setState("breastpoke3");
speak("Ah! Wow... My breasts are so sensitive now.");
if (rainfall.breast1._currentframe >= midPart3) {
blushMode = 2;
}
}
reactTimer = 30;
curState.state = temp;
condition = "breastpoke";
};
rainfall.breast2.onPress = rainfall.breast1.onPress;
rainfall.head.onPress = function () {
if ((condition != "") || (locked)) {
return(undefined);
}
temp = curState.state;
reactTimer = 30;
if (rainfall.breast1._currentframe < midPart1) {
setState("rubhead1");
} else {
setState("rubhead2");
}
curState.state = temp;
condition = "headrub";
};
rainfall.body.onPress = function () {
if ((condition != "") || (locked)) {
return(undefined);
}
temp = curState.state;
reactTimer = 30;
setState("bellypoke");
curState.state = temp;
condition = "headrub";
};
rainfall.wing1.onPress = function () {
if (((isWings || (condition != "")) || (locked)) || (rainfall.breast._currentframe > endPart2)) {
return(undefined);
}
isWings = true;
this.gotoAndPlay(wingFrame);
temp = curState.state;
reactTimer = 30;
setState("wingpoke" + Number(Math.floor(Math.random() * 2) + 1));
curState.state = temp;
condition = "wingpoke";
};
rainfall.wing2.onPress = rainfall.wing1.onPress;
rainfall.ear1.onPress = function () {
if (reactTimer > 0) {
return(undefined);
}
this.solid.vX = this.solid.vX + 30;
this.solid.vY = this.solid.vY + 30;
this.solid.pos._x = this.solid.pos._x - 80;
this.solid.pos._y = this.solid.pos._y - 80;
reactTimer = 15;
if ((condition != "") || (locked)) {
return(undefined);
}
if (Math.random() < 0.1) {
temp = curState.state;
reactTimer = 30;
setState("wingpoke" + Number(Math.floor(Math.random() * 2) + 1));
curState.state = temp;
condition = "earpoke";
speak("That's not funny! ");
}
};
rainfall.ear2.onPress = function () {
if (reactTimer > 0) {
return(undefined);
}
this.solid.vX = this.solid.vX - 30;
this.solid.vY = this.solid.vY + 30;
this.solid.pos._x = this.solid.pos._x + 80;
this.solid.pos._y = this.solid.pos._y - 80;
reactTimer = 15;
if ((condition != "") || (locked)) {
return(undefined);
}
if (Math.random() < 0.1) {
temp = curState.state;
setState("wingpoke" + Number(Math.floor(Math.random() * 2) + 1));
curState.state = temp;
condition = "earpoke";
speak("That's not funny! ");
}
};
var planeAngle;
var planeTime;
var planeGravity = 9.8;
var planeMass = 1;
var expectedResult;
var givenResult;
var probDepth = 50000;
var ansDepth = 50002;
Symbol 160 MovieClip Frame 1
_currentlabel = "medium";
Symbol 160 MovieClip Frame 2
stop();
Symbol 160 MovieClip Frame 3
_currentlabel = "closed";
Symbol 160 MovieClip Frame 4
stop();
Symbol 160 MovieClip Frame 5
_currentlabel = "small";
Symbol 160 MovieClip Frame 6
stop();
Symbol 160 MovieClip Frame 7
_currentlabel = "big";
Symbol 160 MovieClip Frame 8
stop();
Symbol 160 MovieClip Frame 9
_currentlabel = "open";
Symbol 160 MovieClip Frame 10
stop();
Symbol 160 MovieClip Frame 11
_currentlabel = "shut";
Symbol 160 MovieClip Frame 12
stop();
Symbol 160 MovieClip Frame 15
_currentlabel = "blink";
Symbol 160 MovieClip Frame 19
_currentlabel = "endblink";
Symbol 160 MovieClip Frame 20
stop();
Symbol 160 MovieClip Frame 22
_currentlabel = "sad";
Symbol 160 MovieClip Frame 23
stop();
Symbol 160 MovieClip Frame 24
_currentlabel = "worried";
Symbol 160 MovieClip Frame 25
stop();
Symbol 160 MovieClip Frame 26
_currentlabel = "mad";
Symbol 160 MovieClip Frame 27
stop();
Symbol 160 MovieClip Frame 28
_currentlabel = "sad2";
Symbol 160 MovieClip Frame 29
stop();
Symbol 160 MovieClip Frame 30
_currentlabel = "small";
Symbol 160 MovieClip Frame 31
stop();
Symbol 160 MovieClip Frame 32
_currentlabel = "big2";
Symbol 160 MovieClip Frame 33
stop();
Symbol 175 MovieClip Frame 1
_currentlabel = "medium";
Symbol 175 MovieClip Frame 2
stop();
Symbol 175 MovieClip Frame 3
_currentlabel = "closed";
Symbol 175 MovieClip Frame 4
stop();
Symbol 175 MovieClip Frame 5
_currentlabel = "small";
Symbol 175 MovieClip Frame 6
stop();
Symbol 175 MovieClip Frame 7
_currentlabel = "big";
Symbol 175 MovieClip Frame 8
stop();
Symbol 175 MovieClip Frame 9
_currentlabel = "open";
Symbol 175 MovieClip Frame 10
stop();
Symbol 175 MovieClip Frame 11
_currentlabel = "shut";
Symbol 175 MovieClip Frame 12
stop();
Symbol 175 MovieClip Frame 15
_currentlabel = "blink";
Symbol 175 MovieClip Frame 19
_currentlabel = "endblink";
Symbol 175 MovieClip Frame 20
stop();
Symbol 175 MovieClip Frame 22
_currentlabel = "sad";
Symbol 175 MovieClip Frame 23
stop();
Symbol 175 MovieClip Frame 24
_currentlabel = "worried";
Symbol 175 MovieClip Frame 25
stop();
Symbol 175 MovieClip Frame 26
_currentlabel = "mad";
Symbol 175 MovieClip Frame 27
stop();
Symbol 175 MovieClip Frame 28
_currentlabel = "sad2";
Symbol 175 MovieClip Frame 29
stop();
Symbol 175 MovieClip Frame 30
_currentlabel = "small";
Symbol 175 MovieClip Frame 31
stop();
Symbol 175 MovieClip Frame 32
_currentlabel = "big2";
Symbol 175 MovieClip Frame 33
stop();
Symbol 190 MovieClip Frame 1
_currentlabel = "smile";
Symbol 190 MovieClip Frame 2
stop();
Symbol 190 MovieClip Frame 3
_currentlabel = "closed";
Symbol 190 MovieClip Frame 4
stop();
Symbol 190 MovieClip Frame 5
_currentlabel = "happy";
Symbol 190 MovieClip Frame 6
stop();
Symbol 190 MovieClip Frame 7
_currentlabel = "open";
Symbol 190 MovieClip Frame 8
stop();
Symbol 190 MovieClip Frame 9
_currentlabel = "small";
Symbol 190 MovieClip Frame 10
stop();
Symbol 190 MovieClip Frame 11
_currentlabel = "teeth";
Symbol 190 MovieClip Frame 12
stop();
Symbol 190 MovieClip Frame 13
_currentlabel = "teeth2";
Symbol 190 MovieClip Frame 14
stop();
Symbol 190 MovieClip Frame 15
_currentlabel = "teeth3";
Symbol 190 MovieClip Frame 16
stop();
Symbol 190 MovieClip Frame 17
_currentlabel = "mad";
Symbol 190 MovieClip Frame 18
stop();
Symbol 190 MovieClip Frame 19
_currentlabel = "teeth4";
Symbol 190 MovieClip Frame 20
stop();
Symbol 190 MovieClip Frame 21
_currentlabel = "happy";
Symbol 190 MovieClip Frame 22
stop();
Symbol 190 MovieClip Frame 23
_currentlabel = "tongue";
Symbol 190 MovieClip Frame 24
stop();
Symbol 190 MovieClip Frame 25
_currentlabel = "open2";
Symbol 190 MovieClip Frame 26
stop();