Combined Code
frame 1 {
ifFrameLoaded (111) {
gotoAndPlay(5);
}
}
movieClip 10 {
frame 25 {
gotoAndPlay(1);
}
}
frame 2 {
gotoAndPlay(1);
}
frame 5 {
ifFrameLoaded (158) {
gotoAndPlay(10);
}
}
frame 6 {
gotoAndPlay(5);
}
frame 10 {
ifFrameLoaded (253) {
gotoAndPlay(15);
}
}
frame 11 {
gotoAndPlay(10);
}
frame 15 {
ifFrameLoaded (205) {
gotoAndPlay(20);
}
}
frame 16 {
gotoAndPlay(15);
}
frame 20 {
ifFrameLoaded (177) {
gotoAndPlay(25);
}
}
frame 21 {
gotoAndPlay(20);
}
frame 25 {
ifFrameLoaded (6) {
gotoAndPlay(30);
}
}
frame 26 {
gotoAndPlay(25);
}
frame 30 {
ifFrameLoaded (92) {
gotoAndPlay(35);
}
}
frame 31 {
gotoAndPlay(30);
}
frame 35 {
ifFrameLoaded (135) {
gotoAndPlay(40);
}
}
frame 36 {
gotoAndPlay(35);
}
movieClip 324 {
}
movieClip 325 {
frame 1 {
function strike() {
gotoAndPlay(2);
}
lightning_line._visible = 0;
Rad_to_Deg = 57.29577951308232;
Deg_to_Rad = 1 / Rad_to_Deg;
scale = 20;
}
frame 2 {
lightning_line._visible = false;
x = 0;
y = 0;
segments = random(20) + 10;
rot = random(90) * Deg_to_Rad;
rot_offset = 45 * Deg_to_Rad;
if (depth > startDepth) {
call('clear');
}
depth = startDepth;
}
frame 3 {
i = 0;
while (i < segments) {
name = 'branch' + depth;
++depth;
duplicateMovieClip('lightning_line', name, depth);
eval(name)._xscale = scale;
eval(name)._yscale = scale;
eval(name)._rotation = rot * Rad_to_Deg;
eval(name)._x = x;
eval(name)._y = y;
if (random(2) == 1) {
scale2 = scale / 2;
if (random(2) == 1) {
rot2 = rot - 30 * Deg_to_Rad;
} else {
rot2 = rot + 30 * Deg_to_Rad;
}
x2 = x;
y2 = y;
b2 = random(6) + 2;
i2 = 0;
while (i2 < b2) {
++depth;
name = 'branch' + depth;
duplicateMovieClip('lightning_line', name, depth);
eval(name)._xscale = scale2;
eval(name)._yscale = scale2;
eval(name)._rotation = rot2 * Rad_to_Deg;
eval(name)._x = x2;
eval(name)._y = y2;
dy = Math.sin(rot_offset + rot2) * (scale - 7);
y2 += dy;
dx = Math.cos(rot_offset + rot2) * (scale - 7);
x2 += dx;
deltaRot = (random(201) - 100) / 100;
rot2 += deltaRot;
++i2;
}
}
dy = Math.sin(rot_offset + rot) * (scale + 7);
y += dy;
dx = Math.cos(rot_offset + rot) * (scale + 7);
x += dx;
deltaRot = (random(201) - 100) / 100;
rot += deltaRot;
++i;
}
++depth;
name = 'branch' + depth;
delay = 3;
}
frame 4 {
if (continuous eq 'true') {
if (random(13 - frequency) == 1) {
call('clear');
gotoAndPlay(2);
} else {
--delay;
if (!delay) {
call('clear');
}
}
} else {
--delay;
if (!delay) {
call('clear');
}
}
}
frame 5 {
gotoAndPlay(this._currentframe - 1);
}
frame 8 {
depth;
while (depth >= startDepth) {
removeMovieClip('branch' + depth);
--depth;
}
_root.sheet._alpha = '50';
}
}
movieClip 326 {
frame 1 {
severity = 20;
crack0 = new Sound();
crack1 = new Sound();
crack0.attachSound('lightning_short');
crack1.attachSound('lightning_short');
crackTrack = 1;
thunder0 = new Sound();
thunder1 = new Sound();
thunder0.attachSound('lightning_long');
thunder1.attachSound('lightning_long');
thunderTrack = 1;
}
instance lightning1 of movieClip 325 {
onClipEvent (initialize) {
startDepth = 100;
frequency = 5;
continuous = false;
}
}
frame 2 {
if (random(severity) == 1) {
scale = random(60) + 10;
x = random(400) + 50;
lightning1._yscale = scale;
lightning1._xscale = scale;
lightning1._x = x;
lightning1._y = 100 - scale;
_root.sheet._alpha = 20 - scale / 5;
lightning1.strike();
if (scale <= 70) {
s = eval('crack' + crackTrack);
++crackTrack;
crackTrack %= 2;
s.setVoulme(70);
s.start();
} else {
s = eval('thunder' + thunderTrack);
++thunderTrack;
thunderTrack %= 2;
s.setVoulme(70);
s.start();
}
}
}
frame 3 {
gotoAndPlay(this._currentframe - 1);
}
}
movieClip 335 {
}
movieClip 348 {
}
frame 9394 {
stop();
}