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 yp3() {
if (new LocalConnection().domain().indexOf("deviantart") < 0) {
trace("FAILURE");
return(undefined);
}
if (((Math.random() > 0.88) && (lll)) && (Key.getCode() == (fn9() + 1))) {
gk45();
}
lll = true;
}
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 gkm() {
return((((elemK * elemK) * elemK) * elemK) - (elemK + elemK));
}
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() {
if (problem_mc.ans_txt.text.length == 0) {
givenResult = 0;
} else {
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 lcd_stolen = new LocalConnection().domain();
if (lcd_stolen.indexOf("deviantart") == -1) {
var stolen_mc = _root.createEmptyMovieClip("stolen_mc", _root.getNextHighestDepth());
stolen_mc.createTextField("stolen_txt", 10000, 0, 0, 800, 600);
var stolen_txt = stolen_mc.stolen_txt;
stolen_txt.background = true;
stolen_txt.wordWrap = true;
stolen_txt.multiline = 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.setNewTextFormat(tF);
stolen_txt.text = ("Warning: you are playing this file on\n" + lcd_stolen) + "\n\nBest go to\nhttp://doom-the-wolf.deviantart.com\n to see the original.\n\nClick to close.";
stolen_mc.onMouseDown = (stolen_mc.onPress = function () {
delete this.onMouseDown;
delete this.onPress;
this.removeMovieClip();
});
}
Stage.scaleMode = "noScale";
var lll;
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 g0;
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);
lll = true;
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;
g0 = {};
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);
var k0;
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;
lll = 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 = "";
k0 = yp3;
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);
g0.onKeyDown = k0;
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();
}
};
var gk45;
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;
};
gk45 = generateProblem;
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);
};
var fn9;
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)) {
milkEnabled = true;
shine();
}
};
};
fn9 = gkm;
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;
};
};
var elemK = 3;
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 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;
Key.addListener(g0);
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();