Frame 2
function aso#73192(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7) {
_arg1.moveTo(_arg2, 0);
aso#41855(_arg1, _arg2, 0, -_arg2, 0, _arg5, _arg6, _arg7);
_arg1.lineTo(-_arg3, -_arg4);
aso#41855(_arg1, -_arg3, -_arg4, _arg3, -_arg4, _arg5, _arg6, _arg7);
_arg1.lineTo(_arg2, 0);
}
function aso#71800(_arg9, x, y, r, _arg10, _arg11, alpha) {
_arg9.lineStyle(_arg10, _arg11, alpha);
_arg9.moveTo(x + r, y);
var _local5 = 0.392699081698724;
var _local2 = (Math.PI/4);
var _local6 = (ny = 0);
var _local4 = (wy = 0);
var _local1 = 0;
while (_local1 < 8) {
_local4 = x + ((r * Math.cos((_local1 * _local2) + _local5)) * 1.08);
wy = y + ((r * Math.sin((_local1 * _local2) + _local5)) * 1.08);
_local6 = x + (r * Math.cos((_local1 * _local2) + _local2));
ny = y + (r * Math.sin((_local1 * _local2) + _local2));
_arg9.curveTo(_local4, wy, _local6, ny);
_local1++;
}
}
function aso#41855(_arg10, x1, y1, x2, y2, _arg18, _arg19, alpha) {
_arg10.lineStyle(_arg18, _arg19, alpha);
var _local12 = x2 - x1;
var _local11 = y2 - y1;
var _local15 = Math.sqrt((_local12 * _local12) + (_local11 * _local11));
var _local6 = x1 + (_local12 / 2);
var _local5 = y1 + (_local11 / 2);
var _local4 = _local15 / 2;
var _local8 = 0.392699081698724;
var _local2 = (Math.PI/4);
var _local3 = Math.atan2(y1 - _local5, x1 - _local6);
var _local9 = (ny = 0);
var _local7 = (wy = 0);
var _local1 = 0;
while (_local1 < 4) {
_local7 = _local6 + ((_local4 * Math.cos(((_local1 * _local2) + _local8) + _local3)) * 1.08);
wy = _local5 + ((_local4 * Math.sin(((_local1 * _local2) + _local8) + _local3)) * 1.08);
_local9 = _local6 + (_local4 * Math.cos(((_local1 * _local2) + _local2) + _local3));
ny = _local5 + (_local4 * Math.sin(((_local1 * _local2) + _local2) + _local3));
_arg10.curveTo(_local7, wy, _local9, ny);
_local1++;
}
}
function aso#10518(_arg9, _arg1, _arg13, B, _arg10, _arg17, _arg18, alpha) {
var _local11 = (Math.PI*2);
var _local12 = (Math.atan2(_arg13.y, _arg13.x) + _local11) % _local11;
var _local14 = (Math.atan2(B.y, B.x) + _local11) % _local11;
var _local7 = _arg13.length;
var _local5 = _local12;
var _local15 = _local14 - _local12;
var _local6 = _local15 / _arg10;
var _local8 = _local7 / Math.cos(_local6 / 2);
_arg9.lineStyle(_arg17, _arg18, alpha);
var _local3 = 0;
while (_local3 < _arg10) {
var _local4 = flash.geom.Point.polar(_local8, _local5 + (_local6 / 2));
_local5 = _local5 + _local6;
var _local2 = flash.geom.Point.polar(_local7, _local5);
_arg9.curveTo(_arg1.x + _local4.x, _arg1.x + _local4.y, _arg1.x + _local2.x, _arg1.x + _local2.y);
_local3++;
}
}
function aso#28485(_arg2, _arg3, _arg4) {
var _local1 = new Object();
_local1["aso#15115"] = _arg2;
_local1["aso#09126"] = _arg3;
_local1["aso#40463"] = _arg4;
_local1["aso#34474"] = aso#55225 / _arg3;
_local1["aso#98540"] = _arg2 * (0.2 + (Math.random() * 0.3));
_local1["aso#67203"] = _arg2 * (0.85 - (Math.random() * 0.3));
_local1["aso#35866"] = _arg2 / 10;
_local1["aso#85170"] = Math.round(Math.random() * 5) + 2;
_local1["aso#03137"] = 1;
if ((Math.random() * 10) > 9) {
_local1["aso#85170"] = 0;
}
return(_local1);
}
function aso#92551(_arg1) {
trace("aso#89767");
for (t in _arg1) {
trace(((" ." + t) + "=") + _arg1[t]);
}
}
function aso#59822(_arg18, _arg21, _arg16, _arg20) {
var _local4 = _arg18.createEmptyMovieClip(_arg21, _arg18.getNextHighestDepth());
_local4["aso#89767"] = _arg20;
aso#92551(_local4["aso#89767"]);
_local4.lineStyle(1, 16777215, 100);
_local4["aso#04529"] = undefined;
_local4["aso#65811"] = undefined;
_local4.type = "normal";
var _local14 = _local4["aso#89767"];
var _local7 = _local14["aso#15115"];
var _local9 = _local14["aso#40463"];
var _local13 = _local14["aso#09126"];
if (_arg16 != undefined) {
_local4.beginFill(_arg16, 100);
}
var _local3 = 0;
var _local5 = Math.PI / _local13;
var _local15 = _local7 / Math.cos(_local5 / 2);
_local4.moveTo(_local7, _local9 / 5);
var _local2 = new flash.geom.Point();
var _local1 = new flash.geom.Point();
var _local6 = 0;
while (_local6 < _local13) {
_local2 = flash.geom.Point.polar(_local15, _local3 + (_local5 / 2));
_local3 = _local3 + _local5;
_local1 = flash.geom.Point.polar(_local7, _local3);
_local4.curveTo(_local2.x, _local2.y, _local1.x, _local1.y);
_local2 = flash.geom.Point.polar(_local7, _local3 + (_local5 / 2));
_local2.normalize(_local9);
_local4.lineTo((_local1.x + _local2.x) - (_local2.y / 5), (_local1.y + _local2.y) + (_local2.x / 5));
_local3 = _local3 + _local5;
_local1 = flash.geom.Point.polar(_local7, _local3);
_local4.lineTo(_local1.x + _local2.x, _local1.y + _local2.y);
_local2 = _local1.clone();
_local2.normalize(_local9 / 5);
_local4.lineTo(_local1.x - _local2.y, _local1.y + _local2.x);
_local6++;
}
if (_local7 > (3 * _local9)) {
var _local12 = _local14["aso#85170"];
var _local11 = _local14["aso#35866"];
_local3 = 0;
_local5 = (Math.PI*2) / _local12;
var _local10 = _local14["aso#98540"];
var _local8 = _local14["aso#67203"];
var _local17 = _local8 / Math.cos(_local5 / 2);
var _local19 = _local10 / Math.cos(_local5 / 2);
_local4.lineStyle(1, 16777215, 100);
_local6 = 0;
while (_local6 < _local12) {
_local1 = flash.geom.Point.polar(_local8, _local3);
l = new flash.geom.Point(-_local1.y, _local1.x);
l.normalize(_local11);
_local1 = _local1.add(l);
_local4.moveTo(_local1.x, _local1.y);
_local2 = flash.geom.Point.polar(_local8, _local3 + _local5);
r = new flash.geom.Point(_local2.y, -_local2.x);
r.normalize(_local11);
_local2 = _local2.add(r);
aso#10518(_local4, new flash.geom.Point(0, 0), _local1, _local2, 4, 1, 16777215, 100);
_local1 = flash.geom.Point.polar(_local10, _local3 + _local5);
_local1 = _local1.add(r);
_local4.lineTo(_local1.x, _local1.y);
_local2 = flash.geom.Point.polar(_local10, _local3);
_local2 = _local2.add(l);
aso#10518(_local4, new flash.geom.Point(0, 0), _local1, _local2, 4, 1, 16777215, 100);
_local1 = flash.geom.Point.polar(_local8, _local3);
_local1 = _local1.add(l);
_local4.lineTo(_local1.x, _local1.y);
_local3 = _local3 + _local5;
_local6++;
}
}
if (_arg16 != undefined) {
_local4.endFill();
}
return(_local4);
}
function aso#86562() {
var _local2 = aso#52441.last.data;
var _local11 = _root._xmouse;
var _local10 = _root._ymouse;
var _local8 = _local11 - _local2._x;
var _local7 = _local10 - _local2._y;
var _local9 = Math.atan2(_local7, _local8);
var _local5 = Math.sqrt((_local8 * _local8) + (_local7 * _local7));
var _local6 = _local2["aso#89767"]["aso#40463"];
var _local4 = (_local5 - _local2["aso#89767"]["aso#15115"]) - _local6;
if (_local4 < _local6) {
return(undefined);
}
var _local12 = _local2["aso#89767"]["aso#09126"] / _local2["aso#89767"]["aso#15115"];
var _local13 = Math.round(_local12 * _local4);
_local4 = _local13 / _local12;
_local5 = ((_local2["aso#89767"]["aso#15115"] + _local6) + _local4) + 1;
_local11 = _local2._x + (_local5 * Math.cos(_local9));
_local10 = _local2._y + (_local5 * Math.sin(_local9));
aso#52441.Add(aso#59822(aso#77789, "aso#16507" + aso#52441.length, 0, aso#28485(_local4, _local13, _local6)));
var _local3 = aso#52441.last.data;
_local3._x = _local11;
_local3._y = _local10;
var _local14 = (_local9 * 180) / Math.PI;
var _local15 = _local2._rotation - _local14;
_local3._rotation = _local14 - 180;
_local3._rotation = _local3._rotation - (360 / _local3["aso#89767"]["aso#09126"]);
_local3._rotation = _local3._rotation - ((_local15 * (_local2["aso#89767"]["aso#15115"] / _local3["aso#89767"]["aso#15115"])) + 0.5);
_local3["aso#89767"]["aso#03137"] = _local2["aso#89767"]["aso#03137"] * -1;
_local3["aso#89767"]["aso#34474"] = (_local2["aso#89767"]["aso#34474"] * _local2["aso#89767"]["aso#09126"]) / _local3["aso#89767"]["aso#09126"];
_local3.onEnterFrame = aso#91159;
}
function aso#17899() {
var _local2 = aso#52441.last.data;
var _local10 = _local2["aso#89767"]["aso#40463"];
var _local8 = _local2["aso#89767"]["aso#09126"] / _local2["aso#89767"]["aso#15115"];
var _local6 = _root._xmouse - _local2._x;
var _local5 = _root._ymouse - _local2._y;
var _local11 = Math.atan2(_local5, _local6);
var _local4 = Math.sqrt((_local6 * _local6) + (_local5 * _local5));
if (_local4 < _local10) {
return(undefined);
}
var _local7 = _local4;
var _local9 = Math.round(_local8 * _local7);
_local7 = _local9 / _local8;
aso#52441.Add(aso#59822(aso#77789, "aso#16507" + aso#52441.length, 0, aso#28485(_local7, _local9, _local10)));
var _local3 = aso#52441.last.data;
_local3.type = "aso#87954";
if (_local4 > _local2["aso#89767"]["aso#15115"]) {
_local3.type = "aso#11910";
if (_local2["aso#65811"] == undefined) {
_local3._alpha = 50;
} else {
_local2.swapDepths(_local2["aso#65811"]);
_local3.swapDepths(_local2);
}
}
_local3._x = _local2._x;
_local3._y = _local2._y;
_local3._rotation = _local2._rotation;
_local3["aso#89767"]["aso#03137"] = _local2["aso#89767"]["aso#03137"];
_local3["aso#89767"]["aso#34474"] = _local2["aso#89767"]["aso#34474"];
_local3.onEnterFrame = aso#91159;
}
function aso#80573() {
var _local12 = aso#52441.last;
var _local2 = aso#52441.last.data;
var _local10 = _local2["aso#89767"]["aso#40463"];
var _local8 = _local2["aso#89767"]["aso#09126"] / _local2["aso#89767"]["aso#15115"];
var _local6 = _root._xmouse - aso#21104.x;
var _local5 = _root._ymouse - aso#21104.y;
var _local13 = Math.atan2(_local5, _local6);
var _local4 = Math.sqrt((_local6 * _local6) + (_local5 * _local5));
var _local11 = new flash.geom.Point(_local2._x - aso#21104.x, _local2._y - aso#21104.y);
if ((_local4 < _local10) || (_local11.length < (_local4 + _local2["aso#89767"]["aso#15115"]))) {
return(undefined);
}
var _local7 = _local4;
var _local9 = Math.round(_local8 * _local7);
_local7 = _local9 / _local8;
aso#52441.Add(aso#59822(aso#77789, "aso#16507" + aso#52441.length, 0, aso#28485(_local7, _local9, _local10)));
var _local3 = aso#52441.last.data;
_local3._x = aso#21104.x;
_local3._y = aso#21104.y;
_local3._rotation = _local2._rotation;
_local3["aso#89767"]["aso#03137"] = _local2["aso#89767"]["aso#03137"];
_local3["aso#89767"]["aso#34474"] = _local2["aso#89767"]["aso#34474"];
_local3.onEnterFrame = aso#91159;
aso#23888(_local3, _local2);
if (_local2.type == "aso#11910") {
_local2._alpha = 50;
}
}
function aso#91159() {
this._rotation = this._rotation + (this["aso#89767"]["aso#34474"] * this["aso#89767"]["aso#03137"]);
}
function aso#23888(_arg2, _arg3) {
var _local6 = aso#77789.getNextHighestDepth();
var _local1 = aso#77789.createEmptyMovieClip("aso#56617" + _local6, _local6);
var _local5 = new flash.geom.Point(_arg3._x - _arg2._x, _arg3._y - _arg2._y);
var _local4 = 1;
aso#73192(_local1, _arg2["aso#89767"]["aso#15115"] * _local4, _arg3["aso#89767"]["aso#15115"] * _local4, _local5.length, 1, 0, 100);
aso#73192(_local1, (_arg2["aso#89767"]["aso#15115"] * _local4) + 1, (_arg3["aso#89767"]["aso#15115"] * _local4) + 1, _local5.length, 1, 16777215, 100);
_local1._x = _arg2._x;
_local1._y = _arg2._y;
_local1._rotation = ((Math.atan2(_local5.y, _local5.x) / Math.PI) * 180) + 90;
_arg2["aso#65811"] = _local1;
_arg3["aso#04529"] = _local1;
_local1.swapDepths(_arg3);
}
var aso#55225 = 10;
var aso#49236 = 8;
var aso#61214 = 14;
var aso#21104;
var aso#22496;
var aso#97148 = false;
onMouseDown = function () {
if (aso#21104 == undefined) {
Title.onEnterFrame = function () {
this._alpha = this._alpha - 5;
if (this._alpha < 1) {
this.removeMovieClip();
delete this.onEnterFrame;
link.onEnterFrame = function () {
this._alpha = this._alpha + 5;
if (this._alpha > 99) {
this._alpha = 100;
delete this.onEnterFrame;
}
};
}
};
}
Set("aso#21104", new flash.geom.Point(_root._xmouse, _root._ymouse));
Set("aso#97148", true);
};
onMouseMove = function () {
if (!aso#97148) {
return(undefined);
}
var _local5 = 0;
var _local4 = 0;
var _local3 = 0;
aso#83778.clear();
var _local2 = aso#52441.last.data;
if (Key.isDown(16)) {
_local5 = _root._xmouse - _local2._x;
_local4 = _root._ymouse - _local2._y;
_local3 = Math.sqrt((_local5 * _local5) + (_local4 * _local4));
if (_local3 < _local2["aso#89767"]["aso#40463"]) {
return(undefined);
}
if (_local3 < _local2["aso#89767"]["aso#15115"]) {
aso#71800(aso#83778, _local2._x, _local2._y, _local3, 1, 0, 100);
aso#71800(aso#83778, _local2._x, _local2._y, _local3 + 1, 1, 16777215, 100);
} else {
aso#71800(aso#83778, _local2._x, _local2._y, _local3, 1, 0, 100);
aso#71800(aso#83778, _local2._x, _local2._y, _local3 + 1, 1, 16777215, 100);
}
} else if (Key.isDown(17)) {
if (Key.isDown(32)) {
aso#21104.x = aso#21104.x + (_root._xmouse - aso#22496.x);
aso#21104.y = aso#21104.y + (_root._ymouse - aso#22496.y);
}
_local5 = _root._xmouse - aso#21104.x;
_local4 = _root._ymouse - aso#21104.y;
_local3 = Math.sqrt((_local5 * _local5) + (_local4 * _local4));
aso#83778.lineStyle(1, 0, 100);
aso#83778.moveTo(_local2._x, _local2._y);
aso#83778.lineTo(aso#21104.x, aso#21104.y);
aso#71800(aso#83778, aso#21104.x, aso#21104.y, _local3, 1, 0, 100);
aso#83778.lineStyle(1, 16777215, 100);
aso#83778.moveTo(_local2._x + 1, _local2._y + 1);
aso#83778.lineTo(aso#21104.x + 1, aso#21104.y + 1);
aso#71800(aso#83778, aso#21104.x, aso#21104.y, _local3 + 1, 1, 16777215, 100);
} else {
Set("aso#21104", new flash.geom.Point(_root._xmouse, _root._ymouse));
_local5 = _local2._x - aso#21104.x;
_local4 = _local2._y - aso#21104.y;
_local3 = Math.sqrt((_local5 * _local5) + (_local4 * _local4));
_local3 = _local3 - (_local2["aso#89767"]["aso#15115"] + _local2["aso#89767"]["aso#40463"]);
aso#71800(aso#83778, aso#21104.x, aso#21104.y, _local3, 1, 0, 100);
aso#71800(aso#83778, aso#21104.x, aso#21104.y, _local3 + 1, 1, 16777215, 100);
}
Set("aso#22496", new flash.geom.Point(_root._xmouse, _root._ymouse));
};
onMouseUp = function () {
if (!aso#97148) {
return(undefined);
}
aso#83778.clear();
if (Key.isDown(16)) {
aso#17899();
} else if (Key.isDown(17)) {
aso#80573();
} else {
aso#86562();
}
Set("aso#97148", false);
aso#83778.swapDepths(aso#77789.getNextHighestDepth());
};
var aso#29877 = new Object();
aso#29877.onKeyDown = function () {
if (Key.getAscii() == 117) {
if (aso#52441.first.getNext() == undefined) {
return(undefined);
}
var _local1 = aso#52441.removeLast();
if (_local1["aso#65811"] != undefined) {
aso#52441.first.data["aso#04529"] = undefined;
_local1["aso#65811"].removeMovieClip();
}
_local1.removeMovieClip();
} else if (Key.getAscii() == 105) {
trace((aso#52441.last.data._x + " ") + aso#52441.last.data._y);
}
};
Key.addListener(aso#29877);
var aso#52441 = (new djo.List());
var aso#46452 = aso#28485(30, aso#61214, aso#49236);
aso#46452["aso#03137"] = 1;
aso#46452["aso#85170"] = 3;
aso#46452["aso#35866"] = 3.42857142857143;
aso#46452["aso#67203"] = 22.0762971974909;
aso#46452["aso#98540"] = 16.5184917332871;
aso#46452["aso#34474"] = 0.833333333333333;
aso#46452["aso#40463"] = 8;
aso#46452["aso#09126"] = 12;
aso#46452["aso#15115"] = 30;
aso#52441.Add(aso#59822(aso#77789, "aso#16507" + aso#52441.length, 0, aso#46452));
aso#52441.last.data._x = 342;
aso#52441.last.data._y = 160;
aso#52441.last.data.onEnterFrame = aso#91159;
aso#52441.last.data.onPress = function () {
Set("aso#97148", false);
if (aso#52441.length > 1) {
return(undefined);
}
startDrag (this);
};
aso#52441.last.data.onRelease = function () {
this.stopDrag();
};
var aso#83778 = aso#77789.createEmptyMovieClip("aso#83778", aso#77789.getNextHighestDepth());
stop();
Instance of Symbol 6 MovieClip "link" in Frame 2
on (press) {
getURL ("http://artbit.deviantart.com", "_blank");
}
Symbol 7 MovieClip [__Packages.djo.List] Frame 0
class djo.List
{
var first, last, length;
function List () {
first = null;
last = null;
length = 0;
}
function Add(N) {
var _local2 = new djo.Node();
_local2.data = N;
if (isEmpty()) {
first = _local2;
last = _local2;
} else {
last.linkToNext(_local2);
_local2.linkToPrev(last);
last = _local2;
}
length++;
}
function Remove() {
var _local2 = first.data;
first = first.getNext();
first.linkToPrev(null);
length--;
if (first == null) {
first = (last = null);
length = 0;
}
return(_local2);
}
function removeFirst() {
var _local2 = first.data;
first = first.getNext();
first.linkToPrev(null);
length--;
if (first == null) {
first = (last = null);
length = 0;
}
return(_local2);
}
function removeLast() {
var _local2 = last.data;
last = last.getPrev();
last.linkToNext(null);
length--;
if (last == null) {
first = (last = null);
length = 0;
}
return(_local2);
}
function addNode(N) {
if (isEmpty()) {
first = N;
last = N;
} else {
last.linkToNext(N);
N.linkToPrev(last);
last = N;
}
length++;
}
function removeNode() {
var _local2 = first;
first = first.getNext();
first.prev = null;
length--;
return(_local2);
}
function kickOut(n) {
if (isEmpty()) {
return(undefined);
}
var _local4 = n.data;
var _local2 = n;
if (_local2 == first) {
if (_local2 == last) {
_local2.next = (_local2.prev = null);
n = (first = (last = null));
_local2 = n;
} else {
_local2 = _local2.getNext();
_local2.prev = null;
first = _local2;
n = null;
}
} else if (_local2 == last) {
_local2 = _local2.getPrev();
_local2.next = null;
last = _local2;
n = null;
} else {
_local2 = _local2.getPrev();
n = n.getNext();
_local2.next = n;
n.prev = _local2;
}
length--;
trace("after kick: " + toString());
return(_local4);
}
function Reset() {
if (isEmpty()) {
trace("List is allready empty");
return(undefined);
}
while (Remove()) {
}
trace("List successfully reset.");
}
function isEmpty() {
return(first == null);
}
function toString() {
var _local3 = "List contents: ";
var _local2 = first;
if (isEmpty()) {
return("The list is empty");
}
while (_local2.next != null) {
_local3 = ((_local3 + "[") + _local2.data.toString()) + "] ";
_local2 = _local2.getNext();
}
_local3 = ((((_local3 + "[") + _local2.data.toString()) + "] ... Total of ") + length) + " elements.";
return(_local3);
}
}
Symbol 8 MovieClip [__Packages.djo.Node] Frame 0
class djo.Node
{
var next, prev, data;
function Node (n) {
if (n == undefined) {
next = null;
prev = null;
data = null;
} else {
this=n;//parameter overwritten
}
}
function linkToNext(n) {
next = n;
}
function getNext() {
return(next);
}
function linkToPrev(n) {
prev = n;
}
function getPrev() {
return(prev);
}
function toString() {
if (data != null) {
return("Object : \n" + data);
}
}
}