Frame 1
function grow() {
if ((size1 < salamence.front._totalframes) || (size2 < salamence.front._totalframes)) {
if ((size1 < salamence.front._totalframes) && (breasts)) {
size1++;
salamence.breasts.gotoAndStop(size1);
}
if ((size2 < salamence.front._totalframes) && (belly)) {
size2++;
salamence.front.gotoAndStop(size2);
}
} else {
growth = 0;
}
}
function revert() {
if ((size1 > 1) || (size2 > 1)) {
if ((size1 > 1) && (breasts)) {
size1--;
salamence.breasts.gotoAndStop(size1);
}
if ((size2 > 1) && (belly)) {
size2--;
salamence.front.gotoAndStop(size2);
}
} 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];
}
salamence.head.gotoAndPlay(curState.mouth);
salamence.eye.gotoAndPlay(curState.eye);
if (((curState.frontarm == "down") && (salamence.frontarm._currentlabel != "down")) && (salamence.frontarm._currentlabel != "movedown")) {
salamence.frontarm.gotoAndPlay("movedown");
} else if ((curState.frontarm == "up") && ((salamence.frontarm._currentlabel == "down") || (salamence.frontarm._currentlabel == "movedown"))) {
salamence.frontarm.gotoAndPlay("moveup");
} else if ((curState.frontarm == "bellyrub") && ((salamence.frontarm._currentlabel == "up") || (salamence.frontarm._currentlabel == "moveup"))) {
salamence.frontarm.gotoAndPlay("bellyrub");
}
salamence.eye.pupil._x = pX + curState.pX;
salamence.eye.pupil._y = pY + curState.pY;
canBlink = curState.canBlink;
frequency = curState.frequency;
offset = curState.offset;
count = curState.count;
}
}
_level0.bgColor = 13260;
_level0.flashWidth = 800;
_level0.flashHeight = 600;
var state = "";
var condition = "";
var states = new Array();
var size1 = 1;
var size2 = 1;
var growth = 0;
var breasts = true;
var belly = true;
var curState = new Object();
var canBlink = false;
var blinking = false;
var pX = salamence.eye.pupil._x;
var pY = salamence.eye.pupil._y;
var breastPosX = salamence.breasts._x;
var breastPosY = salamence.breasts._y;
var frequency = 0;
var count = 0;
var offset = 0;
var timer = 0;
salamence.front.stop();
salamence.breasts.stop();
states.sleeping = {mouth:"closed", eye:"closed", frontarm:"down", frequency:0.0966643893412244, offset:5, count:(Math.PI/4), canBlink:false, pX:0, pY:0};
states.awaken = {mouth:"breathing", eye:"small", frontarm:"down", frequency:0.0966643893412244, offset:5, count:(Math.PI/4), canBlink:true, pX:0, pY:0};
states.enjoy = {mouth:"faster", eye:"open", frontarm:"down", frequency:0.349065850398866, offset:3, count:0.565486677646163, canBlink:true, pX:-10, pY:0};
states.happy = {mouth:"closed", eye:"small", frontarm:"up", frequency:0.0966643893412244, offset:5, count:(Math.PI/4), canBlink:true, pX:0, pY:3};
states.bigger = {mouth:"faster", eye:"small", frontarm:"bellyrub", frequency:0.349065850398866, offset:4, count:0.565486677646163, canBlink:true, pX:0, pY:3};
states.relaxed = {mouth:"faster", eye:"open", frontarm:"up", frequency:0.349065850398866, offset:3, count:0.565486677646163, canBlink:true, pX:5, pY:-8};
states.over = {mouth:"breathing", eye:"medium", frontarm:"down", frequency:0.0966643893412244, offset:5, count:(Math.PI/4), canBlink:false, pX:0, pY:3};
salamence.frontarm._currentlabel = "up";
states.revert1 = {mouth:"open", eye:"medium", frontarm:"bellyrub", frequency:0.314159265358979, offset:5, count:(Math.PI/4), canBlink:false, pX:-10, pY:3};
states.revert2 = {mouth:"open", eye:"medium", frontarm:"down", frequency:0.314159265358979, offset:5, count:(Math.PI/4), canBlink:true, pX:-10, pY:3};
states.almost = {mouth:"sad", eye:"small", frontarm:"down", frequency:0.20943951023932, offset:5, count:(Math.PI/4), canBlink:true, pX:0, pY:3};
setState("sleeping");
salamence.onEnterFrame = function () {
if (blinking && (salamence.eye._currentlabel == "endblink")) {
blinking = false;
salamence.eye.gotoAndPlay(curState.eye);
salamence.eye.pupil._x = pX + curState.pX;
salamence.eye.pupil._y = pY + curState.pY;
}
if (canBlink && (Math.random() > 0.99)) {
blinking = true;
salamence.eye.gotoAndPlay("blink");
salamence.eye.pupil._x = pX + curState.pX;
salamence.eye.pupil._y = pY + curState.pY;
}
if (growth == 1) {
grow();
switch (true) {
case (size2 < 20) && (size1 < 20) :
break;
case (size2 < 100) && (size1 < 100) :
setState("awaken");
break;
case (size2 < 200) && (size1 < 200) :
setState("enjoy");
break;
case (size2 == 200) && (size1 <= size2) :
setState("happy");
if (!belly) {
break;
}
case size1 == 200 :
growth = 0;
break;
case (size2 < 300) && (size1 <= size2) :
setState("bigger");
break;
case (size2 < 400) && (size1 <= size2) :
setState("relaxed");
break;
case (size2 == 400) || (size1 == 400) :
setState("over");
if (!((size1 == 400) && (size1 == 400))) {
break;
}
growth = 0;
}
} else if (growth == -1) {
revert();
switch (true) {
case (size1 == 1) && (size2 == 1) :
setState("sleeping");
break;
case (size2 < 200) && (size1 < 200) :
setState("almost");
break;
case (size2 < 400) && (size2 > 200) :
setState("revert1");
break;
case (size1 < 400) && (size1 > 200) :
setState("revert2");
}
}
var _local1 = (Math.min(Math.cos(count), 0.7) * offset) * 0.5;
salamence.breasts._y = breastPosY + _local1;
salamence.breasts._x = breastPosX + (_local1 * 0.5);
count = count + frequency;
};
var reset = false;
_panel._plus._txt.text = "+";
_panel._minus._txt.text = "-";
_panel._expand._txt.text = "Expand";
_panel._revert._txt.text = "Revert";
_panel._info.text = "Anthro Salamence expansion. Drawn and programmed by Doom the wolf (http://doom-the-wolf.deviantart.com). Click 'Expand' or 'Revert' to change the size of her belly. Selecting 'continuous' will make the size change automatically. 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 (size2 < 200) {
_panel._expand._txt.text = "Expand";
} else if (size2 < 400) {
_panel._expand._txt.text = "Bigger";
} else if ((size1 == 400) && (size2 == 400)) {
_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 () {
salamence._xscale = (salamence._yscale = salamence._xscale + 2);
};
};
_panel._minus.onPress = function () {
_panel._minus.onEnterFrame = function () {
if (salamence._xscale > 2) {
salamence._xscale = (salamence._yscale = salamence._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 (size1 >= salamence.front._totalframes) {
growth = 0;
reset = true;
} else {
growth = 1;
}
};
_panel._expand.onRelease = function () {
if (reset) {
growth = 0;
size1 = (size2 = 1);
salamence.front.gotoAndStop(1);
salamence.breasts.gotoAndStop(1);
condition = "";
delete _root.onEnterFrame;
setState("sleeping");
reset = false;
}
};
_panel._expand.onReleaseOutside = function () {
reset = false;
};
_panel._revert.onPress = function () {
growth = -1;
};
salamence.onMouseDown = function () {
if (_panel._y > 550) {
salamence.startDrag();
}
};
salamence.onMouseUp = function () {
salamence.stopDrag();
};
salamence.switch1.stop();
salamence.switch2.stop();
salamence.switch1.onRelease = function () {
growth = 0;
breasts = !breasts;
this.gotoAndStop(2 - Number(breasts));
};
salamence.switch2.onRelease = function () {
growth = 0;
belly = !belly;
this.gotoAndStop(2 - Number(belly));
};
salamence.front.onPress = function () {
if ((size2 >= 100) && (condition == "")) {
salamence.eye.gotoAndPlay("closed");
salamence.head.gotoAndPlay("closed");
frequency = 0.349065850398866;
offset = 5;
count = 0.565486677646163;
if ((salamence.frontarm._currentlabel == "up") || (salamence.frontarm._currentlabel == "moveup")) {
salamence.frontarm.gotoAndPlay("bellyrub");
} else if ((salamence.frontarm._currentlabel == "down") || (salamence.frontarm._currentlabel == "movedown")) {
salamence.frontarm.gotoAndPlay("moveup");
}
state = "special";
condition = "bellyrub";
canBlink = false;
timer = 40;
_root.onEnterFrame = timeout_fn;
}
};
salamence.breasts.onPress = function () {
if (condition == "") {
salamence.eye.gotoAndPlay("wide");
salamence.head.gotoAndPlay("fast");
salamence.backwing.play();
salamence.frontwing.play();
frequency = 0.483321946706122;
offset = 5;
count = 0.408407044966673;
state = "special";
condition = "breastpoke";
canBlink = false;
timer = 39;
_root.onEnterFrame = timeout_fn;
}
};
var lc = new LocalConnection();
lc.allowDomain = function () {
return(true);
};
var received = false;
lc.place = this;
lc.speak = function (n, sze) {
if ((n.toLowerCase() != "salamence") && (_root.lc_txt == undefined)) {
lc.place.createTextField("lc_txt", 0, 0, 0, 300, 500);
lc.place.lc_txt.html = true;
lc.place.lc_txt.selectable = false;
lc.place.lc_txt.wordWrap = true;
trace("Received(Salamence)");
if (!received) {
trace("Resend(Salamence)");
lc_count = 0;
if (lc_count == curChannel) {
lc_count++;
}
lc.send("_expansion" + lc_count, "speak", "Salamence", size1);
trace(("Sending to channel " + lc_count) + "(Salamence)");
lc.onStatus = function (src) {
if ((src != undefined) && (!received)) {
lc_count++;
if (lc_count == curChannel) {
lc_count++;
}
lc.send("_expansion" + lc_count, "speak", "Salamence", size1);
trace(("Sending to channel " + lc_count) + "(Salamence)");
} else {
received = true;
}
};
received = true;
}
if (size2 > 100) {
lc.place.lc_txt.htmlText = ("<font size='20' color='#FF0000'>Oh, hi " + n) + ". Hey, look at the size of my belly!</font>";
} else if (size1 > 100) {
lc.place.lc_txt.htmlText = ("<font size='20' color='#FF0000'>Hey, " + n) + ". My breasts are sooooo big!</font>";
} else if (sze > 100) {
lc.place.lc_txt.htmlText = ("<font size='20' color='#FF0000'>Oh, really? You're so big, " + n) + "?</font>";
} else {
lc.place.lc_txt.htmlText = ("<font size='20' color='#FF0000'>Hello, " + n) + ". How are you?</font>";
}
}
};
var lc_count = 0;
while (!lc.connect("_expansion" + lc_count)) {
lc_count++;
}
var curChannel = lc_count;
trace(lc_count + "(Salamence)");
lc_count = 0;
if (lc_count == curChannel) {
lc_count++;
}
lc.send("_expansion" + lc_count, "speak", "Salamence", size1);
lc.onStatus = function (src) {
if (src != undefined) {
lc_count++;
if (lc_count == curChannel) {
lc_count++;
}
lc.send("_expansion" + lc_count, "speak", "Salamence", size1);
}
};
Symbol 8 MovieClip Frame 1
stop();
Symbol 12 MovieClip Frame 1
stop();
Symbol 55 MovieClip Frame 1
_currentlabel = "closed";
Symbol 55 MovieClip Frame 2
gotoAndPlay(_currentlabel);
Symbol 55 MovieClip Frame 3
_currentlabel = "open";
Symbol 55 MovieClip Frame 4
gotoAndPlay(_currentlabel);
Symbol 55 MovieClip Frame 5
_currentlabel = "sad";
Symbol 55 MovieClip Frame 6
gotoAndPlay(_currentlabel);
Symbol 55 MovieClip Frame 10
_currentlabel = "breathing";
Symbol 55 MovieClip Frame 75
gotoAndPlay(_currentlabel);
Symbol 55 MovieClip Frame 80
_currentlabel = "faster";
Symbol 55 MovieClip Frame 98
gotoAndPlay(_currentlabel);
Symbol 55 MovieClip Frame 99
_currentlabel = "fast";
Symbol 55 MovieClip Frame 112
gotoAndPlay(_currentlabel);
Symbol 67 MovieClip Frame 1
_currentlabel = "open";
Symbol 67 MovieClip Frame 2
gotoAndPlay(_currentlabel);
Symbol 67 MovieClip Frame 3
_currentlabel = "closed";
Symbol 67 MovieClip Frame 4
gotoAndPlay(_currentlabel);
Symbol 67 MovieClip Frame 5
_currentlabel = "small";
Symbol 67 MovieClip Frame 6
gotoAndPlay(_currentlabel);
Symbol 67 MovieClip Frame 7
_currentlabel = "blink";
Symbol 67 MovieClip Frame 11
_currentlabel = "endblink";
Symbol 67 MovieClip Frame 12
gotoAndPlay(_currentlabel);
Symbol 67 MovieClip Frame 13
_currentlabel = "medium";
Symbol 67 MovieClip Frame 14
gotoAndPlay(_currentlabel);
Symbol 67 MovieClip Frame 15
_currentlabel = "wide";
Symbol 67 MovieClip Frame 16
gotoAndPlay(_currentlabel);
Symbol 100 MovieClip Frame 1
_currentlabel = "down";
Symbol 100 MovieClip Frame 2
gotoAndPlay(_currentlabel);
Symbol 100 MovieClip Frame 5
_currentlabel = "moveup";
Symbol 100 MovieClip Frame 11
_currentlabel = "up";
Symbol 100 MovieClip Frame 12
gotoAndPlay(_currentlabel);
Symbol 100 MovieClip Frame 14
_currentlabel = "movedown";
Symbol 100 MovieClip Frame 19
gotoAndPlay ("down");
Symbol 100 MovieClip Frame 25
_currentlabel = "bellyrub";
Symbol 100 MovieClip Frame 83
gotoAndPlay ("up");
Symbol 122 MovieClip Frame 1
stop();