Frame 1
function setSize() {
ninetales.belly.gotoAndStop(Math.floor(bellySize));
ninetales.breast1.gotoAndStop(Math.floor(breastSize));
ninetales.breast2.gotoAndStop(Math.floor(breastSize));
if (((breastSize - growthSpeed) <= 110) && (ninetales.top1._currentframe < 110)) {
ninetales.top1.gotoAndStop(Math.floor(breastSize));
ninetales.top2.gotoAndStop(Math.floor(breastSize));
}
}
function grow() {
if ((bellySize >= ninetales.belly._totalframes) && (breastSize >= ninetales.breast1._totalframes)) {
growth = 0;
} else {
var _local1 = false;
if ((_panel._belly._currentframe - 1) && (bellySize < ninetales.belly._totalframes)) {
bellySize = bellySize + growthSpeed;
bellySize = Math.min(bellySize, ninetales.belly._totalframes);
_local1 = true;
}
if ((_panel._breasts._currentframe - 1) && (breastSize < ninetales.breast1._totalframes)) {
breastSize = breastSize + growthSpeed;
breastSize = Math.min(breastSize, ninetales.breast1._totalframes);
_local1 = true;
}
if (!_local1) {
growth = 0;
}
setSize();
}
}
function revert() {
if ((breastSize == 1) && (bellySize == 1)) {
growth = 0;
} else {
var _local1 = false;
if ((_panel._belly._currentframe - 1) && (bellySize > 1)) {
bellySize = bellySize - growthSpeed;
bellySize = Math.max(bellySize, 1);
if ((ninetales.arm1._currentlabel == "belly") && (bellySize <= 200)) {
ninetales.arm1.gotoAndPlay("movedown");
}
_local1 = true;
}
if ((_panel._breasts._currentframe - 1) && (breastSize > 1)) {
breastSize = breastSize - growthSpeed;
breastSize = Math.max(breastSize, 1);
_local1 = true;
}
if (!_local1) {
growth = 0;
}
setSize();
}
}
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];
}
ninetales.head.mouth.gotoAndPlay(curState.mouth);
ninetales.head.eye.gotoAndPlay(curState.eye);
ninetales.head.eye.pupil._x = pX + curState.pX;
ninetales.head.eye.pupil._y = pY + curState.pY;
canBlink = curState.canBlink;
if (ninetales.arm1._currentlabel != curState.arm1) {
if ((curState.arm1 != "belly") || (bellySize >= 200)) {
ninetales.arm1.gotoAndPlay("move" + curState.arm1);
}
}
}
}
function setRunes() {
var _local2 = runes[0]._txt.getTextFormat();
_local2.bold = true;
var _local1 = 0;
while (_local1 < runes.length) {
runes[_local1]._txt.setTextFormat(_local2);
runes[_local1]._txt.setNewTextFormat(_local2);
runes[_local1]._txt.text = letters.charAt(Math.floor(Math.random() * letters.length));
runes[_local1].glow._alpha = 0;
runes[_local1].frequency = (Math.random() * 0.2) + 0.05;
runes[_local1].counter = (Math.random() * Math.PI) * 2;
runes[_local1].onEnterFrame = normalRune;
_local1++;
}
}
function normalRune() {
this.glow._alpha = Math.min(((Math.sin(this.counter) * 0.5) + 0.5) + growthPattern, 1) * 100;
this.glow._xscale = (this.glow._yscale = 100 + (growthPattern * 100));
this.counter = this.counter + this.frequency;
if (this.counter > (Math.PI*2)) {
this.counter = this.counter - (Math.PI*2);
}
}
function changeRune(n) {
runes[n].isChanged = false;
runes[n].onEnterFrame = function () {
if (!this.isChanged) {
if (this.glow._alpha < 400) {
this.glow._alpha = this.glow._alpha + (this.glow._alpha * 0.2);
} else {
this.glow._alpha = 400;
this.isChanged = true;
this._txt.text = letters.charAt(Math.floor(Math.random() * letters.length));
}
} else {
this.glow._alpha = this.glow._alpha - (1 + (this.glow._alpha * 0.3));
if (this.glow._alpha <= 100) {
this.glow._alpha = 100;
this.onEnterFrame = normalRune;
}
}
};
}
function speak(c) {
delete ninetales.speech.onEnterFrame;
ninetales.speech._txt.text = "";
ninetales.speech.currentText = phrases[c];
ninetales.speech.counter = ninetales.speech.currentText.length + 10;
ninetales.speech.letter = 0;
ninetales.speech._visible = true;
ninetales.speech.onEnterFrame = function () {
if (this.letter < this.currentText.length) {
this._txt.text = this._txt.text + this.currentText.charAt(this.letter++);
if (this.letter < this.currentText.length) {
this._txt.text = this._txt.text + this.currentText.charAt(this.letter++);
}
} else {
this.counter--;
if (this.counter <= 0) {
delete this.onEnterFrame;
this._visible = false;
this._txt.text = "";
delete this.currentText;
}
}
};
}
function react(s, t) {
if (isNaN(t)) {
t = 30;
}
condition = "";
var _local2 = curState.state;
setState(s);
condition = "react";
state = "special";
curState.state = _local2;
timer = t;
_root.onEnterFrame = timeout_fn;
}
var state = "";
var condition = "";
var states = new Array();
var breastSize = 1;
var bellySize = 1;
var growthSpeed = 1;
var growth = 0;
var curState = new Object();
var canBlink = false;
var blinking = false;
var timer = 0;
var pX = ninetales.head.eye.pupil._x;
var pY = ninetales.head.eye.pupil._y;
var runes = new Array();
var letters = "iexyABCPQXYZ\u03B1\u03B2\u03B8\u03BB\u0394\u2202\u03B4\u03C3\u2211\u222B=<+\u2212\u00B7\u2044\u00B1\u221A!\u2192\u221E\u222B=<+\u2212\u00B7\u2044\u00B1\u221A!\u2192\u221E";
var growthPattern = 0;
var panelOpened = false;
var lastSpoken = -1;
runes[0] = ninetales.belly.rune0;
runes[1] = ninetales.belly.rune1;
runes[2] = ninetales.belly.rune2;
runes[3] = ninetales.belly.rune3;
runes[4] = ninetales.belly.rune4;
var i = 0;
while (i < 14) {
runes.push(ninetales.arm1["rune" + i]);
i++;
}
runes.push(ninetales.runes.rune0);
runes.push(ninetales.runes.rune1);
runes.push(ninetales.runes.rune2);
i = 0;
while (i < 8) {
runes.push(ninetales.leg1["rune" + i]);
i++;
}
setSize();
setRunes();
states.resting = {mouth:"smile", eye:"medium", arm1:"down", pX:5, pY:0, canBlink:true};
states.surprised = {mouth:"fast", eye:"open", arm1:"down", pX:15, pY:-7, canBlink:true};
states.watch = {mouth:"open", eye:"open", arm1:"down", pX:15, pY:-7, canBlink:true};
states.calm = {mouth:"happy", eye:"small2", arm1:"down", pX:7, pY:5, canBlink:true};
states.relaxed = {mouth:"smile", eye:"small2", arm1:"down", pX:15, pY:-7, canBlink:true};
states.bigger = {mouth:"happy", eye:"medium", arm1:"belly", pX:15, pY:-7, canBlink:true};
states.nervous = {mouth:"fast", eye:"small2", arm1:"belly", pX:13, pY:-6, canBlink:true};
states.over = {mouth:"small", eye:"medium", arm1:"down", pX:13, pY:-6, canBlink:true};
states.panel = {mouth:"small", eye:"open", arm1:"down", pX:15, pY:-7, canBlink:true};
setState("resting");
ninetales.onEnterFrame = function () {
if (Math.random() > 0.98) {
var _local1 = Math.floor(Math.random() * runes.length);
changeRune(_local1);
}
if (growth == 1) {
if (growthPattern < 1) {
growthPattern = growthPattern + 0.1;
}
grow();
switch (true) {
case (bellySize == 1) && (breastSize == 1) :
break;
case (bellySize < 50) && (breastSize < 50) :
setState("surprised");
if (lastSpoken < 0) {
speak(0);
lastSpoken = 0;
}
break;
case (bellySize < 100) && (breastSize < 100) :
setState("watch");
if (lastSpoken < 3) {
if (bellySize == 1) {
speak(2);
} else if (breastSize == 1) {
speak(3);
} else {
speak(1);
}
lastSpoken = 3;
}
break;
case (bellySize < 200) && (breastSize < 200) :
setState("calm");
if (lastSpoken < 5) {
if (bellySize == 1) {
speak(5);
} else {
speak(4);
}
lastSpoken = 5;
}
break;
case (((bellySize >= 200) && ((bellySize - growthSpeed) < 200)) && (_panel._belly._currentframe - 1)) && (!(_panel._nonstop._currentframe - 1)) :
bellySize = 200;
case (((breastSize >= 200) && ((breastSize - growthSpeed) < 200)) && (_panel._breasts._currentframe - 1)) && (!(_panel._nonstop._currentframe - 1)) :
if (((breastSize >= 200) && ((breastSize - growthSpeed) < 200)) && (_panel._breasts._currentframe - 1)) {
breastSize = 200;
}
case Boolean(((breastSize == 200) && (_panel._breasts._currentframe - 1)) || ((bellySize == 200) && (_panel._belly._currentframe - 1))) && (!(_panel._nonstop._currentframe - 1)) :
growth = 0;
setState("relaxed");
if (lastSpoken < 6) {
lastSpoken = 6;
speak(6);
}
break;
case (bellySize <= 200) && (breastSize <= 200) :
break;
case (breastSize < 300) && (bellySize < 300) :
setState("bigger");
if (lastSpoken < 7) {
lastSpoken = 7;
speak(7);
}
break;
case (breastSize < 400) && (bellySize < 400) :
setState("nervous");
if (lastSpoken < 8) {
lastSpoken = 8;
speak(8);
}
break;
case (breastSize == 400) || (bellySize == 400) :
setState("over");
if (lastSpoken >= 9) {
break;
}
lastSpoken = 9;
speak(9);
}
} else if (growth == -1) {
if (growthPattern < 1) {
growthPattern = growthPattern + 0.1;
}
revert();
} else if (growthPattern >= 0.1) {
growthPattern = growthPattern - 0.1;
} else {
growthPattern = 0;
}
if (ninetales.top1._currentframe == ninetales.top1._totalframes) {
ninetales.top1.stop();
ninetales.top2.stop();
} else if ((ninetales.top1._currentframe >= 110) || (breastSize >= 110)) {
ninetales.top1.play();
ninetales.top2.play();
}
};
var reset = false;
_panel._plus._txt.text = "+";
_panel._minus._txt.text = "-";
_panel._expand._txt.text = "Expand";
_panel._revert._txt.text = "Revert";
_panel._nonstop_txt.text = "non-stop";
_panel._belly_txt.text = "Belly";
_panel._breasts_txt.text = "Breasts";
_panel._info.text = "Interactive pregnant anthro Ninetales. Drawn, animated and programmed by Doom the wolf (http://doom-the-wolf.deviantart.com). Click 'Expand' or 'Revert' to change her size. Selecting 'continuous' will make the size change automatically, selection 'non-stop' will remove the division of the expansion into stages. 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._speed_txt.text = "1";
_panel.onEnterFrame = function () {
if (_panel.hitTest(_root._xmouse, _root._ymouse)) {
if (!panelOpened) {
panelOpened = true;
speak("panel");
react("panel");
}
if (Math.abs(_panel._y - 450) > 1) {
_panel._y = _panel._y + ((450 - _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 (bellySize < 200) {
_panel._expand._txt.text = "Expand";
} else if (bellySize < 400) {
_panel._expand._txt.text = "Bigger";
} else if ((bellySize == ninetales.belly._totalframes) && (breastSize == ninetales.breast1._totalframes)) {
_panel._expand._txt.text = "Reset";
}
};
_panel._cont.onRelease = function () {
if (growth != 0) {
growth = 0;
}
_panel._cont.gotoAndStop(3 - _panel._cont._currentframe);
};
_panel._nonstop.onRelease = function () {
this.gotoAndStop(3 - this._currentframe);
};
_panel._belly.gotoAndStop(2);
_panel._belly.onRelease = _panel._nonstop.onRelease;
_panel._breasts.onRelease = _panel._nonstop.onRelease;
_panel._plus.onPress = function () {
_panel._plus.onEnterFrame = function () {
ninetales._xscale = (ninetales._yscale = ninetales._xscale + 2);
};
};
_panel._minus.onPress = function () {
_panel._minus.onEnterFrame = function () {
if (ninetales._xscale > 15) {
ninetales._xscale = (ninetales._yscale = ninetales._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 ((bellySize >= ninetales.belly._totalframes) && (breastSize >= ninetales.breast1._totalframes)) {
growth = 0;
reset = true;
} else {
growth = 1;
}
};
_panel._expand.onRelease = function () {
if (reset) {
growth = 0;
lastSpoken = -1;
panelOpened = false;
bellySize = 1;
breastSize = 1;
ninetales.top1.gotoAndStop(1);
ninetales.top2.gotoAndStop(1);
setSize();
condition = "";
delete _root.onEnterFrame;
setState("resting");
reset = false;
}
};
_panel._expand.onReleaseOutside = function () {
reset = false;
};
_panel._revert.onPress = function () {
growth = -1;
};
var kDown = new Object();
Key.addListener(kDown);
_panel._speed_txt.maxChars = 2;
_panel._speed_txt.restrict = "0123456789.";
_panel._speed_txt.background = true;
_panel._speed_txt.backgroundColor = 16777215 /* 0xFFFFFF */;
_panel._speed_txt.border = true;
kDown.onKeyDown = function (K) {
if ((Key.getCode() == 13) || (K != undefined)) {
if ((_panel._speed_txt.text.length == 0) || (_panel._speed_txt.text == "..")) {
_panel._speed_txt.text = "1";
} else if (_panel._speed_txt.text == "0") {
_panel._speed_txt.text = "1";
} else if (Number(_panel._speed_txt.text) > 50) {
_panel._speed_txt.text = "50";
}
growthSpeed = Number(_panel._speed_txt.text);
_panel._speed_txt.backgroundColor = 16777215 /* 0xFFFFFF */;
}
};
_panel._speed_txt.onChanged = function () {
_panel._speed_txt.backgroundColor = 16746632 /* 0xFF8888 */;
};
_panel._speed_txt.onSetFocus = function () {
_panel._speed_txt.backgroundColor = 16746632 /* 0xFF8888 */;
};
_panel._speed_txt.onKillFocus = function () {
kDown.onKeyDown(true);
};
var tF = new TextFormat();
tF.size = 12;
_panel._ok._txt.setNewTextFormat(tF);
_panel._ok._txt.text = "ok";
_panel._ok.onPress = function () {
kDown.onKeyDown(true);
};
ninetales.onMouseDown = function () {
if (_panel.hitTest(_root._xmouse, _root._ymouse)) {
return(undefined);
}
ninetales.startDrag();
};
ninetales.onMouseUp = function () {
ninetales.stopDrag();
};
var phrases = new Array();
phrases.panel = "I sense that...\n \n ...my ribbon is reacting to something...";
phrases.bellypoke = "Ah! Hahahaha! That tickles";
phrases.pregpoke = "Ow, that's not nice. I'm pregnant.";
phrases.breastpoke = "Hey, YOU'RE overly confident!";
phrases.bigbreastpoke = "Hee hee. Ah, I'm so attractive...";
phrases.breastrub = "...Were you looking for a date?\n\n...I'm free tonight.";
phrases.pregrub = "Mmmmm... that feels nice";
phrases[0] = "Ah! The runes, they're acting up again!";
phrases[1] = "Oh, my breasts, my belly. They're getting bigger.";
phrases[2] = "Oh, my breasts. They're getting bigger.";
phrases[3] = "Oh, my belly. It's getting bigger.";
phrases[4] = "I'm pregnant! I think this feels... rather nice.";
phrases[5] = "This could get me a free pass to the pub.";
phrases[6] = "I'm not afraid of the runes, I know they won't harm me. I just wish I could have more control over them.";
phrases[7] = "I'm getting even bigger. This could be fun.";
phrases[8] = "I think I'm getting a bit too big...";
phrases[9] = "OK, ribbon. That's the limit, I'm big enough now.";
ninetales.speech._visible = false;
var rub = 0;
states.bellypoke = {mouth:"happy", eye:"closed", arm1:"belly", pX:15, pY:-7, canBlink:false};
states.pregpoke = {mouth:"open", eye:"sad", arm1:"down", pX:15, pY:-7, canBlink:false};
states.breastpoke = {mouth:"small", eye:"mad", arm1:"down", pX:0, pY:0, canBlink:false};
states.bigbreastpoke = {mouth:"happy", eye:"open", arm1:"down", pX:0, pY:0, canBlink:false};
states.breastrub = {mouth:"smile2", eye:"small", arm1:"belly", pX:7, pY:6, canBlink:false};
states.pregrub = {mouth:"smile", eye:"closed", arm1:"belly", pX:0, pY:0, canBlink:false};
ninetales.belly.onPress = function () {
if (condition != "") {
return(undefined);
}
if (bellySize < 20) {
react("bellypoke");
speak("bellypoke");
ninetales.head.blush.gotoAndPlay(2);
} else if (bellySize > 50) {
react("pregpoke");
speak("pregpoke");
}
};
ninetales.breast1.onPress = function () {
if (condition != "") {
return(undefined);
}
if (breastSize < 110) {
react("breastpoke");
speak("breastpoke");
} else {
ninetales.head.blush.gotoAndPlay(2);
react("bigbreastpoke");
speak("bigbreastpoke");
}
};
ninetales.breast2.onPress = ninetales.breast1.onPress;
ninetales.breast1.onRollOver = function () {
if (((condition != "") || (breastSize < 110)) || (rub % 7)) {
rub++;
return(undefined);
}
rub++;
react("breastrub");
speak("breastrub");
ninetales.head.blush.gotoAndPlay(2);
};
ninetales.breast2.onRollOver = ninetales.breast1.onRollOver;
ninetales.belly.onRollOver = function () {
if (((condition != "") || (bellySize < 50)) || (rub % 5)) {
rub++;
return(undefined);
}
rub++;
react("pregrub");
speak("pregrub");
ninetales.head.blush.gotoAndPlay(2);
};
Symbol 56 MovieClip Frame 1
_currentlabel = "smile";
Symbol 56 MovieClip Frame 2
gotoAndStop(_currentlabel);
Symbol 56 MovieClip Frame 3
_currentlabel = "happy";
Symbol 56 MovieClip Frame 4
gotoAndStop(_currentlabel);
Symbol 56 MovieClip Frame 5
_currentlabel = "closed";
Symbol 56 MovieClip Frame 6
gotoAndStop(_currentlabel);
Symbol 56 MovieClip Frame 7
_currentlabel = "small";
Symbol 56 MovieClip Frame 8
gotoAndStop(_currentlabel);
Symbol 56 MovieClip Frame 9
_currentlabel = "open";
Symbol 56 MovieClip Frame 10
gotoAndStop(_currentlabel);
Symbol 56 MovieClip Frame 11
_currentlabel = "smile2";
Symbol 56 MovieClip Frame 12
gotoAndStop(_currentlabel);
Symbol 56 MovieClip Frame 17
_currentlabel = "fast";
Symbol 56 MovieClip Frame 35
gotoAndPlay(_currentlabel);
Symbol 70 MovieClip Frame 1
_currentlabel = "medium";
Symbol 70 MovieClip Frame 2
gotoAndStop(_currentlabel);
Symbol 70 MovieClip Frame 3
_currentlabel = "open";
Symbol 70 MovieClip Frame 4
gotoAndStop(_currentlabel);
Symbol 70 MovieClip Frame 5
_currentlabel = "closed";
Symbol 70 MovieClip Frame 6
gotoAndStop(_currentlabel);
Symbol 70 MovieClip Frame 7
_currentlabel = "small";
Symbol 70 MovieClip Frame 8
gotoAndStop(_currentlabel);
Symbol 70 MovieClip Frame 9
_currentlabel = "blink";
Symbol 70 MovieClip Frame 13
_currentlabel = "endblink";
Symbol 70 MovieClip Frame 14
gotoAndPlay(_currentlabel);
Symbol 70 MovieClip Frame 15
_currentlabel = "small2";
Symbol 70 MovieClip Frame 16
gotoAndStop(_currentlabel);
Symbol 70 MovieClip Frame 17
_currentlabel = "sad";
Symbol 70 MovieClip Frame 18
gotoAndStop(_currentlabel);
Symbol 70 MovieClip Frame 19
_currentlabel = "mad";
Symbol 70 MovieClip Frame 20
gotoAndStop(_currentlabel);
Symbol 75 MovieClip Frame 1
stop();
Symbol 111 MovieClip Frame 1
_currentlabel = "down";
Symbol 111 MovieClip Frame 2
gotoAndPlay(_currentlabel);
Symbol 111 MovieClip Frame 4
_currentlabel = "belly";
Symbol 111 MovieClip Frame 10
_currentlabel = "belly";
Symbol 111 MovieClip Frame 11
gotoAndPlay(_currentlabel);
Symbol 111 MovieClip Frame 13
_currentlabel = "down";
Symbol 111 MovieClip Frame 19
gotoAndPlay(_currentlabel);
Symbol 123 MovieClip Frame 1
stop();