Frame 1
function grow() {
if (size < 600) {
size++;
environ.vixen.breast.gotoAndStop(Math.min(size, 400));
environ.vixen.body.gotoAndStop(Math.max(size - 200, 1));
environ.vixen.bottom.gotoAndStop(Math.max(size - 200, 1));
environ.vixen.arm1.gotoAndStop(Math.max(size - 100, 1));
environ.vixen.arm2.gotoAndStop(Math.max(size - 110, 1));
environ.vixen.leg1.gotoAndStop(Math.max(size - 120, 1));
environ.vixen.aleg2.gotoAndStop(Math.max(size - 130, 1));
if (environ.vixen.weights._currentframe < 80) {
environ.vixen.weights.gotoAndStop(Math.max(size - 200, 1));
} else if (environ.vixen.weights._currentframe < 300) {
environ.vixen.weights.play();
} else {
environ.vixen.weights.gotoAndStop(300);
}
if (environ.vixen.top._currentframe < 150) {
environ.vixen.top.gotoAndStop(Math.min(size, 400));
} else if (environ.vixen.top._currentframe < 185) {
environ.vixen.top.play();
} else {
environ.vixen.top.stop();
}
} else {
growth = 0;
}
}
function revert() {
if (size > 1) {
size--;
environ.vixen.breast.gotoAndStop(Math.min(size, 400));
environ.vixen.body.gotoAndStop(Math.max(size - 200, 1));
environ.vixen.bottom.gotoAndStop(Math.max(size - 200, 1));
environ.vixen.arm1.gotoAndStop(Math.max(size - 100, 1));
environ.vixen.arm2.gotoAndStop(Math.max(size - 110, 1));
environ.vixen.leg1.gotoAndStop(Math.max(size - 120, 1));
environ.vixen.aleg2.gotoAndStop(Math.max(size - 130, 1));
if (environ.vixen.weights._currentframe < 80) {
environ.vixen.weights.gotoAndStop(Math.max(size - 200, 1));
} else if (environ.vixen.weights._currentframe < 300) {
environ.vixen.weights.play();
} else {
environ.vixen.weights.gotoAndStop(300);
}
if (environ.vixen.top._currentframe < 150) {
environ.vixen.top.gotoAndStop(Math.min(size, 400));
} else if (environ.vixen.top._currentframe < 185) {
environ.vixen.top.play();
} else {
environ.vixen.top.stop();
}
} else {
growth = 0;
}
}
function timeout_fn() {
if (!timer) {
condition = "";
setState(curState.state);
delete _root.onEnterFrame;
}
timer--;
}
function setState(str) {
if (condition != "") {
return(undefined);
}
if (state != str) {
curState.state = str;
state = str;
curState.state = state;
for (var _local2 in states[str]) {
curState[_local2] = states[str][_local2];
}
if (environ.vixen.arm1._rotation != curState.arm1) {
delete environ.vixen.arm1.onEnterFrame;
environ.vixen.arm1.onEnterFrame = function () {
if ((environ.vixen.arm1._rotation - curState.arm1) < -3) {
environ.vixen.arm1._rotation = environ.vixen.arm1._rotation + 3;
} else if ((environ.vixen.arm1._rotation - curState.arm1) > 3) {
environ.vixen.arm1._rotation = environ.vixen.arm1._rotation - 3;
} else {
environ.vixen.arm1._rotation = curState.arm1;
delete environ.vixen.arm1.onEnterFrame;
}
};
}
if (environ.vixen.leg1._rotation != curState.leg) {
delete environ.vixen.leg1.onEnterFrame;
environ.vixen.leg1.onEnterFrame = function () {
if ((environ.vixen.leg1._rotation + 2) < curState.leg) {
environ.vixen.leg1._rotation = environ.vixen.leg1._rotation + 2;
environ.vixen.leg2._rotation = environ.vixen.leg2._rotation - 2;
} else if ((environ.vixen.leg1._rotation - 2) > curState.leg) {
environ.vixen.leg1._rotation = environ.vixen.leg1._rotation - 2;
environ.vixen.leg2._rotation = environ.vixen.leg2._rotation + 2;
} else {
environ.vixen.leg1._rotation = curState.leg;
environ.vixen.leg2._rotation = -curState.leg;
delete environ.vixen.leg1.onEnterFrame;
}
};
}
environ.vixen.eye.gotoAndPlay(curState.eye);
environ.vixen.eye.pupil._x = pX + curState.pX;
environ.vixen.eye.pupil._y = pY + curState.pY;
canBlink = curState.canBlink;
}
}
_level0.bgColor = 39372;
_level0.flashWidth = 800;
_level0.flashHeight = 600;
var state = "";
var condition = "";
var states = new Array();
var size = 1;
var growth = 0;
var curState = new Object();
var canBlink = false;
var blinking = false;
var pX = environ.vixen.eye.pupil._x;
var pY = environ.vixen.eye.pupil._y;
var count = 0;
var frequency = 0.1;
var id = 0;
var initY = environ.vixen._y;
var initR = environ.vixen.arm2._rotation;
var offset = 10;
environ._xscale = (environ._yscale = 85);
environ.vixen.body.stop();
environ.vixen.breast.stop();
environ.vixen.top.stop();
environ.vixen.bottom.stop();
environ.vixen.weights.stop();
environ.vixen.arm1.stop();
environ.vixen.arm2.stop();
environ.vixen.leg1.stop();
environ.endweights._visible = false;
states.normal = {eye:"open", arm1:0, leg:0, canBlink:true, pX:0, pY:0};
states.inflate = {eye:"wide", arm1:-45, leg:0, canBlink:false, pX:0, pY:5};
states.float = {eye:"sad", arm1:-45, leg:-15, canBlink:false, pX:0, pY:5};
states.deflateG = {eye:"small", arm1:0, leg:0, canBlink:true, pX:0, pY:5};
states.deflate = {eye:"small", arm1:-15, leg:-5, canBlink:true, pX:0, pY:5};
setState("normal");
environ.vixen.onEnterFrame = function () {
if ((Math.cos(count) < 0) || (growth == 1)) {
var _local2 = 0;
while (_local2 < (growth ? 10 : 5)) {
environ.vixen.attachMovie("bubble", "bubble" + id, id, {_x:(environ.vixen.tank._x + (Math.random() * 20)) - 10, _y:(environ.vixen.tank._y + (Math.random() * 20)) - 10, _xscale:(Math.random() * 100) + 80, _yscale:(Math.random() * 100) + 80, speed:(Math.random() * 20) + 1, xSpeed:0});
environ.vixen["bubble" + id].onEnterFrame = function () {
this.xSpeed = this.xSpeed + ((Math.random() * 2) - 1);
this._y = this._y - this.speed;
this._x = this._x + this.xSpeed;
if (-100 > ((this._y + this._parent._y) + this._parent._parent._y)) {
delete this.onEnterFrame;
this.removeMovieClip();
}
};
id = ((id > 300) ? 0 : (id + 1));
_local2++;
}
}
count = count + frequency;
if (offset > 10) {
offset--;
}
if ((size > 100) && (growth < 1)) {
frequency = 0.3;
} else {
frequency = 0.1;
}
if (environ.vixen.weights._currentframe >= 120) {
environ.vixen._y = environ.vixen._y + ((((initY - (Math.cos(count) * 20)) - 50) - environ.vixen._y) * 0.01);
if (size > 100) {
environ.vixen._rotation = environ.vixen._rotation + (((10 + (Math.cos(count) * offset)) - environ.vixen._rotation) * 0.01);
} else {
environ.vixen._rotation = environ.vixen._rotation + ((-environ.vixen._rotation) * 0.05);
}
}
if (canBlink && (Math.random() > 0.99)) {
environ.vixen.eye.gotoAndPlay("blink");
environ.vixen.eye.pupil._x = pX + curState.pX;
environ.vixen.eye.pupil._y = pY + curState.pY;
blinking = true;
}
if (blinking && (environ.vixen.eye._currentlabel == "endblink")) {
environ.vixen.eye.gotoAndPlay(curState.eye);
environ.vixen.eye.pupil._x = pX + curState.pX;
environ.vixen.eye.pupil._y = pY + curState.pY;
blinking = false;
}
if (growth == 1) {
grow();
if (size > 1) {
if (environ.vixen.weights._currentframe >= 120) {
setState("float");
} else if (size == 600) {
setState("deflate");
} else {
setState("inflate");
}
}
} else if (growth == -1) {
revert();
if (size == 1) {
setState("normal");
} else if (environ.vixen.weights._currentframe >= 120) {
setState("deflate");
} else {
setState("deflateG");
}
}
if (growth > 0) {
environ.vixen.head.gotoAndPlay("inflate");
} else {
environ.vixen.head.gotoAndPlay("normal");
}
if (environ.vixen.weights._currentframe >= 120) {
environ.endweights._visible = true;
} else {
environ.endweights._visible = false;
}
};
var reset = false;
_panel._plus._txt.text = "+";
_panel._minus._txt.text = "-";
_panel._expand._txt.text = "Inflate";
_panel._revert._txt.text = "Deflate";
_panel._info.text = "Interactive vixen inflation. Drawn and programmed by Doom the wolf (http://doom-the-wolf.deviantart.com). Click 'Inflate' or 'Deflate' to change her size. Selecting 'continuous' will make the size change automatically. Move the camera by dragging the mouse across the screen. Zoom in or out by using the '+' and '-' buttons.";
_panel._cont_txt.text = "continuous";
_panel.onEnterFrame = function () {
if (_panel.hitTest(_root._xmouse, _root._ymouse)) {
if (Math.abs(_panel._y - 500) > 1) {
_panel._y = _panel._y + ((500 - _panel._y) * 0.4);
}
} else if (Math.abs(_panel._y - 600) > 1) {
_panel._y = _panel._y + ((600 - _panel._y) * 0.4);
}
if (growth && (_panel._cont._currentframe == 2)) {
_panel._cont_txt.text = "stop";
} else {
_panel._cont_txt.text = "continuous";
}
if (size < 600) {
_panel._expand._txt.text = "Inflate";
} else {
_panel._expand._txt.text = "Reset";
}
};
_panel._cont.onRelease = function () {
if (growth != 0) {
growth = 0;
}
_panel._cont.gotoAndStop(3 - _panel._cont._currentframe);
};
_panel._plus.onPress = function () {
_panel._plus.onEnterFrame = function () {
environ._xscale = (environ._yscale = environ._xscale + 2);
};
};
_panel._minus.onPress = function () {
_panel._minus.onEnterFrame = function () {
if (environ._xscale > 30) {
environ._xscale = (environ._yscale = environ._xscale - 2);
} else {
delete _panel._minus.onEnterFrame;
}
};
};
_panel.onMouseUp = function () {
delete _panel._plus.onEnterFrame;
delete _panel._minus.onEnterFrame;
if (_panel._cont._currentframe == 1) {
growth = 0;
}
};
_panel._expand.onPress = function () {
if (size >= 600) {
growth = 0;
reset = true;
} else {
growth = 1;
}
};
_panel._expand.onRelease = function () {
if (reset) {
growth = 0;
size = 1;
condition = "";
timer = 0;
environ.endweights._visible = false;
environ.vixen._y = initY;
environ.vixen._rotation = 0;
environ.vixen.arm1._rotation = 0;
environ.vixen.arm2._rotation = initR;
environ.vixen.leg1._rotation = 0;
environ.vixen.leg2._rotation = 0;
delete environ.vixen.arm1.onEnterFrame;
delete environ.vixen.leg1.onEnterFrame;
environ.vixen.breast.gotoAndStop(1);
environ.vixen.body.gotoAndStop(1);
environ.vixen.top.gotoAndStop(1);
environ.vixen.bottom.gotoAndStop(1);
environ.vixen.weights.gotoAndStop(1);
environ.vixen.arm1.gotoAndStop(1);
environ.vixen.leg1.gotoAndStop(1);
environ.vixen.arm2.gotoAndStop(1);
environ.vixen.leg2.gotoAndStop(1);
delete _root.onEnterFrame;
setState("normal");
reset = false;
}
};
_panel._expand.onReleaseOutside = function () {
reset = false;
};
_panel._revert.onPress = function () {
growth = -1;
};
environ.onMouseDown = function () {
if (_panel._y > 550) {
environ.startDrag();
}
};
environ.onMouseUp = function () {
environ.stopDrag();
};
environ.vixen.breast.onPress = (environ.vixen.body.onPress = (environ.vixen.arm1.onPress = function () {
offset = 40;
if ((condition == "") && (size > 100)) {
condition = "poke";
state = "special";
timer = 30;
environ.vixen.eye.gotoAndPlay("shut");
_root.onEnterFrame = timeout_fn;
}
}));
Symbol 28 MovieClip Frame 1
_currentlabel = "normal";
Symbol 28 MovieClip Frame 2
gotoAndPlay(_currentlabel);
Symbol 28 MovieClip Frame 3
_currentlabel = "inflate";
Symbol 28 MovieClip Frame 4
gotoAndPlay(_currentlabel);
Symbol 41 MovieClip Frame 1
_currentlabel = "open";
Symbol 41 MovieClip Frame 2
gotoAndPlay(_currentlabel);
Symbol 41 MovieClip Frame 3
_currentlabel = "small";
Symbol 41 MovieClip Frame 4
gotoAndPlay(_currentlabel);
Symbol 41 MovieClip Frame 5
_currentlabel = "small";
Symbol 41 MovieClip Frame 6
gotoAndPlay(_currentlabel);
Symbol 41 MovieClip Frame 7
_currentlabel = "blink";
Symbol 41 MovieClip Frame 11
_currentlabel = "endblink";
Symbol 41 MovieClip Frame 12
gotoAndPlay(_currentlabel);
Symbol 41 MovieClip Frame 15
_currentlabel = "wide";
Symbol 41 MovieClip Frame 16
gotoAndPlay(_currentlabel);
Symbol 41 MovieClip Frame 17
_currentlabel = "sad";
Symbol 41 MovieClip Frame 18
gotoAndPlay(_currentlabel);
Symbol 41 MovieClip Frame 19
_currentlabel = "shut";
Symbol 41 MovieClip Frame 20
gotoAndPlay(_currentlabel);
Symbol 83 MovieClip Frame 400
stop();
Symbol 106 MovieClip Frame 1
stop();